initiative-plugin-sdk 10.0.0 → 10.1.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/README.md +102 -10
- package/dist/client.d.ts +13 -0
- package/dist/client.js +28 -7
- package/dist/client.js.map +1 -1
- package/dist/contract.d.ts +143 -49
- package/dist/contract.js +9 -7
- package/dist/contract.js.map +1 -1
- package/dist/define.d.ts +38 -5
- package/dist/define.js +2 -0
- package/dist/define.js.map +1 -1
- package/dist/plugin-api.generated.d.ts +138 -44
- package/dist/plugin-api.generated.js +3 -3
- package/dist/plugin-api.generated.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +13 -2
- package/dist/server.js.map +1 -1
- package/dist/sign-in.d.ts +89 -0
- package/dist/sign-in.js +148 -0
- package/dist/sign-in.js.map +1 -0
- package/dist/tokens.d.ts +28 -0
- package/dist/tokens.js +27 -4
- package/dist/tokens.js.map +1 -1
- package/dist/validate.d.ts +3 -2
- package/dist/validate.js +94 -26
- package/dist/validate.js.map +1 -1
- package/manifest.contract.json +102 -20
- package/package.json +1 -1
- package/schemas/plugin-api.json +923 -365
- package/schemas/plugin-manifest.json +104 -20
package/dist/contract.d.ts
CHANGED
|
@@ -94,6 +94,7 @@ export declare const CAPS: {
|
|
|
94
94
|
readonly fields: 32;
|
|
95
95
|
readonly parts: 16;
|
|
96
96
|
readonly actions: 16;
|
|
97
|
+
readonly permissions: 16;
|
|
97
98
|
readonly partNodes: 50;
|
|
98
99
|
readonly partDepth: 4;
|
|
99
100
|
readonly facetsPerField: 4;
|
|
@@ -196,17 +197,17 @@ export declare const FIELDS: {
|
|
|
196
197
|
readonly githubAppManifest: readonly ["name", "url", "public", "default_permissions", "default_events"];
|
|
197
198
|
readonly endpointParam: readonly ["key", "type", "required", "label", "options", "options_from", "list"];
|
|
198
199
|
readonly endpointReturn: readonly ["key", "type", "label", "list", "of"];
|
|
199
|
-
readonly connection: readonly ["id", "scope", "label", "fields", "flow", "token", "access_hint", "health"];
|
|
200
|
+
readonly connection: readonly ["id", "scope", "label", "fields", "flow", "after_connect", "token", "access_hint", "health"];
|
|
200
201
|
readonly connectionFlow: readonly ["type", "authorize_url", "token_url", "client_id", "client_secret", "scopes", "pkce", "authorize_params", "install_url", "after_connect", "revoke", "revoke_url"];
|
|
201
202
|
readonly connectionToken: readonly ["type", "exchange_url", "exchange_body", "iss", "key", "alg", "lifetime"];
|
|
202
203
|
readonly webhooks: readonly ["verify", "dedup", "route", "events", "status"];
|
|
203
204
|
readonly webhookVerify: readonly ["scheme", "header", "prefix", "encoding", "secret"];
|
|
204
205
|
readonly webhookRoute: readonly ["path", "header", "connection", "field"];
|
|
205
206
|
readonly schedule: readonly ["id", "every", "endpoint", "params", "write"];
|
|
206
|
-
readonly endpoint: readonly ["id", "label", "description", "returns", "group", "needs_subject", "direction", "params", "actors", "
|
|
207
|
+
readonly endpoint: readonly ["id", "label", "description", "returns", "group", "needs_subject", "direction", "params", "actors", "permission", "public", "requires", "cache_ttl_seconds", "identity", "unavailable", "request", "steps", "map", "errors"];
|
|
207
208
|
readonly widget: readonly ["id", "meta", "module_source", "endpoints", "sample_data", "requires"];
|
|
208
|
-
readonly page: readonly ["id", "path", "name", "scopes", "
|
|
209
|
-
readonly field: readonly ["key", "name", "kind", "list", "on", "description", "tone", "currency", "options", "states", "actions", "requires"];
|
|
209
|
+
readonly page: readonly ["id", "path", "name", "scopes", "permission", "capabilities", "requires"];
|
|
210
|
+
readonly field: readonly ["key", "name", "kind", "list", "on", "description", "tone", "currency", "options", "states", "actions", "permission", "requires"];
|
|
210
211
|
readonly fieldOption: readonly ["value", "label", "color"];
|
|
211
212
|
readonly stateFacet: readonly ["name", "values"];
|
|
212
213
|
readonly stateValue: readonly ["label", "tone"];
|
|
@@ -216,8 +217,9 @@ export declare const FIELDS: {
|
|
|
216
217
|
readonly valueNode: readonly ["type", "props"];
|
|
217
218
|
readonly textNode: readonly ["type", "props"];
|
|
218
219
|
readonly buttonNode: readonly ["type", "props"];
|
|
219
|
-
readonly part: readonly ["id", "name", "on", "tree", "description", "requires"];
|
|
220
|
-
readonly action: readonly ["id", "name", "endpoint", "params", "write", "on", "confirm", "menu", "
|
|
220
|
+
readonly part: readonly ["id", "name", "on", "tree", "description", "permission", "requires"];
|
|
221
|
+
readonly action: readonly ["id", "name", "endpoint", "params", "write", "on", "confirm", "menu", "permission", "requires"];
|
|
222
|
+
readonly permission: readonly ["id", "name", "level", "members"];
|
|
221
223
|
readonly change: readonly ["set", "upsert", "remove"];
|
|
222
224
|
readonly targetedChange: readonly ["target", "set", "upsert", "remove"];
|
|
223
225
|
readonly listElement: readonly ["ref", "value", "url", "text", "tone", "max", "state"];
|
|
@@ -239,7 +241,7 @@ export declare const FIELDS: {
|
|
|
239
241
|
readonly healthState: readonly ["status", "when", "state"];
|
|
240
242
|
readonly webhookEvent: readonly ["when", "emit", "map", "write"];
|
|
241
243
|
readonly webhookStatus: readonly ["when", "connection", "state"];
|
|
242
|
-
readonly manifest: readonly ["plugin_kind", "service", "features", "default_name", "minimum_age", "min_plugin_api", "hosts", "auth", "scopes", "vendor", "connections", "webhooks", "schedules", "endpoints", "community_summary", "widgets", "pages", "dashboards", "fields", "parts", "actions", "settings", "help"];
|
|
244
|
+
readonly manifest: readonly ["plugin_kind", "service", "features", "default_name", "minimum_age", "min_plugin_api", "hosts", "auth", "scopes", "vendor", "connections", "webhooks", "schedules", "endpoints", "community_summary", "widgets", "pages", "sign_in", "dashboards", "fields", "parts", "actions", "settings", "permissions", "help"];
|
|
243
245
|
};
|
|
244
246
|
export type Identifier = string;
|
|
245
247
|
/**
|
|
@@ -283,8 +285,9 @@ export interface ConnectionField {
|
|
|
283
285
|
*/
|
|
284
286
|
options?: string[];
|
|
285
287
|
/**
|
|
286
|
-
* Returned by the plug-in's after_connect hook when a flow finishes
|
|
287
|
-
*
|
|
288
|
+
* Returned by the plug-in's after_connect hook, when a flow finishes or when
|
|
289
|
+
* an admin saves a connection that declares 'after_connect'; it is not typed
|
|
290
|
+
* into the settings form.
|
|
288
291
|
*/
|
|
289
292
|
managed?: boolean;
|
|
290
293
|
}
|
|
@@ -473,10 +476,11 @@ export interface Connection {
|
|
|
473
476
|
scope: ConnectionScope;
|
|
474
477
|
label: LocalizedText;
|
|
475
478
|
/**
|
|
476
|
-
* Without a 'flow', what an admin types
|
|
477
|
-
*
|
|
478
|
-
*
|
|
479
|
-
* plug-in never
|
|
479
|
+
* Without a 'flow', what an admin types, and the managed values its
|
|
480
|
+
* 'after_connect' returns. With one, only the values the plug-in's
|
|
481
|
+
* after_connect hook returns, and every field is 'managed'. The tokens a flow
|
|
482
|
+
* obtains are held apart from these, under reserved keys the plug-in never
|
|
483
|
+
* declares.
|
|
480
484
|
*/
|
|
481
485
|
fields: ConnectionField[];
|
|
482
486
|
/**
|
|
@@ -485,6 +489,16 @@ export interface Connection {
|
|
|
485
489
|
* client's secret or a refresh token.
|
|
486
490
|
*/
|
|
487
491
|
flow?: ConnectionFlow;
|
|
492
|
+
/**
|
|
493
|
+
* Static connections without a 'flow', container plug-ins only. True: when an
|
|
494
|
+
* admin saves the connection, Initiative sends what they typed to the
|
|
495
|
+
* plug-in's after_connect hook before storing anything, and stores it with
|
|
496
|
+
* the managed values and account label the hook answers; when the hook
|
|
497
|
+
* refuses, nothing is stored. When the connection is cleared or replaced,
|
|
498
|
+
* Initiative sends the plug-in's revoke hook with the values it held, so it
|
|
499
|
+
* can remove what it made at the vendor.
|
|
500
|
+
*/
|
|
501
|
+
after_connect?: boolean;
|
|
488
502
|
/**
|
|
489
503
|
* How a usable access token is got for this connection. Absent: the tokens
|
|
490
504
|
* the flow stored, refreshed as needed. Static connections only.
|
|
@@ -615,18 +629,18 @@ export interface ConnectionToken {
|
|
|
615
629
|
/**
|
|
616
630
|
* The vendor's webhooks, received by Initiative at one address per plug-in on
|
|
617
631
|
* the deployment, '/api/v1/plugin-hooks/<public_id>'. Initiative checks each
|
|
618
|
-
* delivery's signature, drops one it has already delivered,
|
|
619
|
-
* communities it belongs to by a value in its body, and
|
|
620
|
-
* plug-in's webhook hook once for each. A container
|
|
621
|
-
* each delivery; a declarative plug-in maps it with
|
|
622
|
-
* instead.
|
|
632
|
+
* delivery's signature, drops one it has already delivered, by its id or its
|
|
633
|
+
* body, finds the communities it belongs to by a value in its body, and
|
|
634
|
+
* forwards it to the plug-in's webhook hook once for each. A container
|
|
635
|
+
* plug-in's hook receives each delivery; a declarative plug-in maps it with
|
|
636
|
+
* 'events' and 'status' instead.
|
|
623
637
|
*/
|
|
624
638
|
export interface Webhooks {
|
|
625
639
|
verify: WebhookVerify;
|
|
626
640
|
/**
|
|
627
641
|
* The header carrying the vendor's id for one delivery, such as
|
|
628
|
-
* 'X-GitHub-Delivery'. A delivery with an id already forwarded to a
|
|
629
|
-
* is not forwarded to it again.
|
|
642
|
+
* 'X-GitHub-Delivery'. A delivery with an id already forwarded to a
|
|
643
|
+
* community, or with the body of one, is not forwarded to it again.
|
|
630
644
|
*/
|
|
631
645
|
dedup: string;
|
|
632
646
|
route: WebhookRoute;
|
|
@@ -644,8 +658,8 @@ export interface Webhooks {
|
|
|
644
658
|
status?: WebhookStatus[];
|
|
645
659
|
}
|
|
646
660
|
/**
|
|
647
|
-
* How a delivery's signature is checked: an HMAC over the raw body under a
|
|
648
|
-
* vendor value.
|
|
661
|
+
* How a delivery's signature is checked: an HMAC over the raw body, under a
|
|
662
|
+
* vendor value or under the routed connection's own secret.
|
|
649
663
|
*/
|
|
650
664
|
export interface WebhookVerify {
|
|
651
665
|
scheme: WebhookScheme;
|
|
@@ -663,7 +677,12 @@ export interface WebhookVerify {
|
|
|
663
677
|
*/
|
|
664
678
|
encoding: WebhookEncoding;
|
|
665
679
|
/**
|
|
666
|
-
* The signing secret
|
|
680
|
+
* The signing secret: one vendor value, written '{vendor.<key>}', which signs
|
|
681
|
+
* every community's deliveries; or a managed 'secret' field of the connection
|
|
682
|
+
* 'route' names, written '{<key>}', which that connection's after_connect
|
|
683
|
+
* hook returned. With a connection's secret, a delivery is routed first and
|
|
684
|
+
* checked under the secret of each connection its route value names; one that
|
|
685
|
+
* none of them verifies is refused.
|
|
667
686
|
*/
|
|
668
687
|
secret: string;
|
|
669
688
|
}
|
|
@@ -797,11 +816,16 @@ export interface Endpoint {
|
|
|
797
816
|
*/
|
|
798
817
|
actors?: ActorKind[];
|
|
799
818
|
/**
|
|
800
|
-
*
|
|
801
|
-
*
|
|
802
|
-
*
|
|
819
|
+
* Read and write only. The initiative permission a reader holds, in the
|
|
820
|
+
* initiative it is read in, to read or call this through a widget, an action
|
|
821
|
+
* or a form: one this manifest declares at the initiative level, or 'use'.
|
|
822
|
+
* Absent: whoever can see where it is used. Another plug-in calling it for a
|
|
823
|
+
* member is held to that member's permission, the one named or 'use', where
|
|
824
|
+
* its token is confined to an initiative or else in one this plug-in is
|
|
825
|
+
* placed in; one calling it as the community, to what the community granted
|
|
826
|
+
* it.
|
|
803
827
|
*/
|
|
804
|
-
|
|
828
|
+
permission?: Identifier;
|
|
805
829
|
/**
|
|
806
830
|
* Read and write only. Other plug-ins may call this endpoint through the
|
|
807
831
|
* deployment, when the community has let them use this plug-in
|
|
@@ -891,11 +915,11 @@ export interface Page {
|
|
|
891
915
|
*/
|
|
892
916
|
scopes?: SurfaceScope[];
|
|
893
917
|
/**
|
|
894
|
-
*
|
|
895
|
-
*
|
|
896
|
-
* community
|
|
918
|
+
* The permission that opens it, at each level it renders in: one this
|
|
919
|
+
* manifest declares at that level, or 'use'. Absent: 'use'. Who holds it is
|
|
920
|
+
* the community's to decide, never the plug-in's.
|
|
897
921
|
*/
|
|
898
|
-
|
|
922
|
+
permission?: Identifier;
|
|
899
923
|
/**
|
|
900
924
|
* Browser features the frame is granted. A page that names nothing is framed
|
|
901
925
|
* with all of them denied.
|
|
@@ -992,6 +1016,11 @@ export interface Field {
|
|
|
992
1016
|
* action run from an element reads that element's 'ref' as 'element'.
|
|
993
1017
|
*/
|
|
994
1018
|
actions?: Identifier[];
|
|
1019
|
+
/**
|
|
1020
|
+
* The initiative permission a reader holds to see it: one this manifest
|
|
1021
|
+
* declares at the initiative level, or 'use'. Absent: 'use'.
|
|
1022
|
+
*/
|
|
1023
|
+
permission?: Identifier;
|
|
995
1024
|
requires?: Requires;
|
|
996
1025
|
}
|
|
997
1026
|
/**
|
|
@@ -1162,6 +1191,11 @@ export interface Part {
|
|
|
1162
1191
|
* The one line the view editor's Add picker shows beside the name.
|
|
1163
1192
|
*/
|
|
1164
1193
|
description?: LocalizedText;
|
|
1194
|
+
/**
|
|
1195
|
+
* The initiative permission a reader holds to see it: one this manifest
|
|
1196
|
+
* declares at the initiative level, or 'use'. Absent: 'use'.
|
|
1197
|
+
*/
|
|
1198
|
+
permission?: Identifier;
|
|
1165
1199
|
requires?: Requires;
|
|
1166
1200
|
}
|
|
1167
1201
|
/**
|
|
@@ -1226,13 +1260,43 @@ export interface Action {
|
|
|
1226
1260
|
*/
|
|
1227
1261
|
menu?: boolean;
|
|
1228
1262
|
/**
|
|
1229
|
-
*
|
|
1230
|
-
*
|
|
1231
|
-
* per role, not declared here.
|
|
1263
|
+
* The initiative permission a reader holds to run it: one this manifest
|
|
1264
|
+
* declares at the initiative level, or 'use'. Absent: 'use'.
|
|
1232
1265
|
*/
|
|
1233
|
-
|
|
1266
|
+
permission?: Identifier;
|
|
1234
1267
|
requires?: Requires;
|
|
1235
1268
|
}
|
|
1269
|
+
/**
|
|
1270
|
+
* Something the community decides who may do with the plug-in, at one level.
|
|
1271
|
+
* Inside an initiative, its roles hold it as they hold a tool's permissions,
|
|
1272
|
+
* and its managers and the community's admins always do. At the community
|
|
1273
|
+
* level, its admins hold it as they hold the parts of administering the
|
|
1274
|
+
* community, and a custom role on the admin rung keeps some of them. The
|
|
1275
|
+
* plug-in names a permission and says whether members start with it; who holds
|
|
1276
|
+
* it is the community's to decide.
|
|
1277
|
+
*/
|
|
1278
|
+
export interface Permission {
|
|
1279
|
+
/**
|
|
1280
|
+
* Unique among this manifest's permissions of its level. 'use' is every
|
|
1281
|
+
* plug-in's at each level, declared or not: declaring it names it, and inside
|
|
1282
|
+
* an initiative says whether members start with it.
|
|
1283
|
+
*/
|
|
1284
|
+
id: Identifier;
|
|
1285
|
+
/**
|
|
1286
|
+
* What the community's role pages call it.
|
|
1287
|
+
*/
|
|
1288
|
+
name: LocalizedText;
|
|
1289
|
+
/**
|
|
1290
|
+
* Where it is held: 'initiative' by an initiative's roles, 'community' by the
|
|
1291
|
+
* community's admins.
|
|
1292
|
+
*/
|
|
1293
|
+
level: SurfaceScope;
|
|
1294
|
+
/**
|
|
1295
|
+
* An initiative permission's only: whether a role holds it where nobody in
|
|
1296
|
+
* the community said otherwise. Absent: only the roles the community chooses.
|
|
1297
|
+
*/
|
|
1298
|
+
members?: boolean;
|
|
1299
|
+
}
|
|
1236
1300
|
/**
|
|
1237
1301
|
* A change to the plug-in's values on one item or on its install, as a
|
|
1238
1302
|
* declarative plug-in's 'write' answers it. 'set' writes values by key, as a
|
|
@@ -1531,15 +1595,15 @@ export interface VendorRequest {
|
|
|
1531
1595
|
graphql?: GraphqlRequest;
|
|
1532
1596
|
/**
|
|
1533
1597
|
* Which connection's credential the request carries: one connection for every
|
|
1534
|
-
* call, or,
|
|
1535
|
-
*
|
|
1536
|
-
*
|
|
1537
|
-
*
|
|
1538
|
-
*
|
|
1539
|
-
*
|
|
1540
|
-
*
|
|
1541
|
-
*
|
|
1542
|
-
*
|
|
1598
|
+
* call, or one per actor ('actorConnections'), so a call made as the member
|
|
1599
|
+
* carries the member's own credential and one made as the installation the
|
|
1600
|
+
* community's. A static connection's credential is the community's, an
|
|
1601
|
+
* interactive one's the acting member's, which a call made as the
|
|
1602
|
+
* installation does not have. A call made as a member carries a static
|
|
1603
|
+
* connection's credential only when the endpoint's 'requires' names that
|
|
1604
|
+
* connection, and is refused otherwise. Required on an endpoint's requests.
|
|
1605
|
+
* Absent on 'after_connect' and 'health', which carry the credential of the
|
|
1606
|
+
* connection they belong to.
|
|
1543
1607
|
*/
|
|
1544
1608
|
connection?: Identifier | ActorConnections;
|
|
1545
1609
|
paging?: Paging;
|
|
@@ -1558,11 +1622,11 @@ export interface GraphqlRequest {
|
|
|
1558
1622
|
variables?: Expression;
|
|
1559
1623
|
}
|
|
1560
1624
|
/**
|
|
1561
|
-
* One connection per actor, on a write endpoint's requests: a call
|
|
1562
|
-
* credential of the connection named for the actor it is made as.
|
|
1563
|
-
* the actors the endpoint's 'actors' declare. The member's
|
|
1564
|
-
* be named in 'requires': a call made as the member
|
|
1565
|
-
* requests name for the member.
|
|
1625
|
+
* One connection per actor, on a read or write endpoint's requests: a call
|
|
1626
|
+
* carries the credential of the connection named for the actor it is made as.
|
|
1627
|
+
* Names exactly the actors the endpoint's 'actors' declare. The member's
|
|
1628
|
+
* connection need not be named in 'requires': a call made as the member
|
|
1629
|
+
* requires the connection its requests name for the member.
|
|
1566
1630
|
*/
|
|
1567
1631
|
export interface ActorConnections {
|
|
1568
1632
|
/**
|
|
@@ -1910,6 +1974,29 @@ export interface Manifest {
|
|
|
1910
1974
|
community_summary?: NamespacedId;
|
|
1911
1975
|
widgets?: Widget[];
|
|
1912
1976
|
pages?: Page[];
|
|
1977
|
+
/**
|
|
1978
|
+
* Sign in with Initiative: people may also open the plug-in at its own
|
|
1979
|
+
* address, full-window, signing in with their Initiative account through
|
|
1980
|
+
* OpenID Connect's authorization code flow. The ID token carries what the
|
|
1981
|
+
* page handoff carries for the place they chose, and renews against
|
|
1982
|
+
* Initiative. Needs 'pages'. Absent: the plug-in's pages open only inside
|
|
1983
|
+
* Initiative.
|
|
1984
|
+
*/
|
|
1985
|
+
sign_in?: {
|
|
1986
|
+
/**
|
|
1987
|
+
* The id of one of this plug-in's pages: the page somebody lands in after
|
|
1988
|
+
* signing in at the plug-in's own address. Who may open it is decided as
|
|
1989
|
+
* for that page inside Initiative, so somebody signs in only to a place
|
|
1990
|
+
* where they could open it there.
|
|
1991
|
+
*/
|
|
1992
|
+
page: Identifier;
|
|
1993
|
+
/**
|
|
1994
|
+
* Where Initiative sends somebody back with an authorization code: this
|
|
1995
|
+
* path on the origin the deployment serves the plug-in's pages from.
|
|
1996
|
+
* Matched exactly.
|
|
1997
|
+
*/
|
|
1998
|
+
return_path: Path;
|
|
1999
|
+
};
|
|
1913
2000
|
/**
|
|
1914
2001
|
* Ready-made arrangements of this plug-in's own widgets. Publishing the
|
|
1915
2002
|
* plug-in publishes one ordinary dashboard listing per entry, offered to
|
|
@@ -1939,6 +2026,13 @@ export interface Manifest {
|
|
|
1939
2026
|
* expressions and its parts' text read. At most 16.
|
|
1940
2027
|
*/
|
|
1941
2028
|
settings?: Setting[];
|
|
2029
|
+
/**
|
|
2030
|
+
* What the community decides who may do with this plug-in, at most 16. Every
|
|
2031
|
+
* page, field, part, action and endpoint answers to one: the one it names, or
|
|
2032
|
+
* 'use' at its level. Absent: 'use' alone, at each level, which inside an
|
|
2033
|
+
* initiative members start without.
|
|
2034
|
+
*/
|
|
2035
|
+
permissions?: Permission[];
|
|
1942
2036
|
/**
|
|
1943
2037
|
* Help with the plug-in, keyed by language tag: markdown of at most 2000
|
|
1944
2038
|
* characters in each language. Initiative shows it behind a '?' on the
|
package/dist/contract.js
CHANGED
|
@@ -63,6 +63,7 @@ export const CAPS = {
|
|
|
63
63
|
fields: 32,
|
|
64
64
|
parts: 16,
|
|
65
65
|
actions: 16,
|
|
66
|
+
permissions: 16,
|
|
66
67
|
partNodes: 50,
|
|
67
68
|
partDepth: 4,
|
|
68
69
|
facetsPerField: 4,
|
|
@@ -165,17 +166,17 @@ export const FIELDS = {
|
|
|
165
166
|
githubAppManifest: ["name", "url", "public", "default_permissions", "default_events"],
|
|
166
167
|
endpointParam: ["key", "type", "required", "label", "options", "options_from", "list"],
|
|
167
168
|
endpointReturn: ["key", "type", "label", "list", "of"],
|
|
168
|
-
connection: ["id", "scope", "label", "fields", "flow", "token", "access_hint", "health"],
|
|
169
|
+
connection: ["id", "scope", "label", "fields", "flow", "after_connect", "token", "access_hint", "health"],
|
|
169
170
|
connectionFlow: ["type", "authorize_url", "token_url", "client_id", "client_secret", "scopes", "pkce", "authorize_params", "install_url", "after_connect", "revoke", "revoke_url"],
|
|
170
171
|
connectionToken: ["type", "exchange_url", "exchange_body", "iss", "key", "alg", "lifetime"],
|
|
171
172
|
webhooks: ["verify", "dedup", "route", "events", "status"],
|
|
172
173
|
webhookVerify: ["scheme", "header", "prefix", "encoding", "secret"],
|
|
173
174
|
webhookRoute: ["path", "header", "connection", "field"],
|
|
174
175
|
schedule: ["id", "every", "endpoint", "params", "write"],
|
|
175
|
-
endpoint: ["id", "label", "description", "returns", "group", "needs_subject", "direction", "params", "actors", "
|
|
176
|
+
endpoint: ["id", "label", "description", "returns", "group", "needs_subject", "direction", "params", "actors", "permission", "public", "requires", "cache_ttl_seconds", "identity", "unavailable", "request", "steps", "map", "errors"],
|
|
176
177
|
widget: ["id", "meta", "module_source", "endpoints", "sample_data", "requires"],
|
|
177
|
-
page: ["id", "path", "name", "scopes", "
|
|
178
|
-
field: ["key", "name", "kind", "list", "on", "description", "tone", "currency", "options", "states", "actions", "requires"],
|
|
178
|
+
page: ["id", "path", "name", "scopes", "permission", "capabilities", "requires"],
|
|
179
|
+
field: ["key", "name", "kind", "list", "on", "description", "tone", "currency", "options", "states", "actions", "permission", "requires"],
|
|
179
180
|
fieldOption: ["value", "label", "color"],
|
|
180
181
|
stateFacet: ["name", "values"],
|
|
181
182
|
stateValue: ["label", "tone"],
|
|
@@ -185,8 +186,9 @@ export const FIELDS = {
|
|
|
185
186
|
valueNode: ["type", "props"],
|
|
186
187
|
textNode: ["type", "props"],
|
|
187
188
|
buttonNode: ["type", "props"],
|
|
188
|
-
part: ["id", "name", "on", "tree", "description", "requires"],
|
|
189
|
-
action: ["id", "name", "endpoint", "params", "write", "on", "confirm", "menu", "
|
|
189
|
+
part: ["id", "name", "on", "tree", "description", "permission", "requires"],
|
|
190
|
+
action: ["id", "name", "endpoint", "params", "write", "on", "confirm", "menu", "permission", "requires"],
|
|
191
|
+
permission: ["id", "name", "level", "members"],
|
|
190
192
|
change: ["set", "upsert", "remove"],
|
|
191
193
|
targetedChange: ["target", "set", "upsert", "remove"],
|
|
192
194
|
listElement: ["ref", "value", "url", "text", "tone", "max", "state"],
|
|
@@ -208,6 +210,6 @@ export const FIELDS = {
|
|
|
208
210
|
healthState: ["status", "when", "state"],
|
|
209
211
|
webhookEvent: ["when", "emit", "map", "write"],
|
|
210
212
|
webhookStatus: ["when", "connection", "state"],
|
|
211
|
-
manifest: ["plugin_kind", "service", "features", "default_name", "minimum_age", "min_plugin_api", "hosts", "auth", "scopes", "vendor", "connections", "webhooks", "schedules", "endpoints", "community_summary", "widgets", "pages", "dashboards", "fields", "parts", "actions", "settings", "help"],
|
|
213
|
+
manifest: ["plugin_kind", "service", "features", "default_name", "minimum_age", "min_plugin_api", "hosts", "auth", "scopes", "vendor", "connections", "webhooks", "schedules", "endpoints", "community_summary", "widgets", "pages", "sign_in", "dashboards", "fields", "parts", "actions", "settings", "permissions", "help"],
|
|
212
214
|
};
|
|
213
215
|
//# sourceMappingURL=contract.js.map
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,MAAM,CAAC,MAAM,QAAQ,GAAuB,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AAG1H,MAAM,CAAC,MAAM,SAAS,GAAwB,CAAC,CAAC,CAAC,CAAC;AAGlD,MAAM,CAAC,MAAM,iBAAiB,GAA+B,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAGvF,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,QAAQ,CAAC,CAAC;AAG1D,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,YAAY,CAAC,CAAC;AAGhE,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAG3F,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAG1E,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAGtG,MAAM,CAAC,MAAM,kBAAkB,GAA+B,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAG1F,MAAM,CAAC,MAAM,wBAAwB,GAAqC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAG5F,MAAM,CAAC,MAAM,iBAAiB,GAA8B,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAGlI,MAAM,CAAC,MAAM,eAAe,GAA6B,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAGtF,MAAM,CAAC,MAAM,iBAAiB,GAA+B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAG/E,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAGxG,MAAM,CAAC,MAAM,kBAAkB,GAA+B,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAG3G,MAAM,CAAC,MAAM,UAAU,GAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAG1E,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AAG5E,MAAM,CAAC,MAAM,MAAM,GAAqB,CAAC,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,iBAAiB,CAAC,CAAC;AAGnkB,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAGnF,MAAM,CAAC,MAAM,iBAAiB,GAA8B,CAAC,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AAG1K,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAG7F,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAG7L,MAAM,CAAC,MAAM,KAAK,GAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAGxG,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,QAAQ,CAAC,CAAC;AAGhE,MAAM,CAAC,MAAM,mBAAmB,GAAiC,CAAC,gBAAgB,CAAC,CAAC;AAGpF,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAG7E,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAG7F,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAGxE,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAGlF,MAAM,CAAC,MAAM,iBAAiB,GAA+B,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AAG3G,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;AAEvI,0EAA0E;AAC1E,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,WAAW,EAAE,EAAE;IACf,mBAAmB,EAAE,EAAE;IACvB,YAAY,EAAE,EAAE;IAChB,oBAAoB,EAAE,GAAG;IACzB,eAAe,EAAE,GAAG;IACpB,UAAU,EAAE,EAAE;IACd,eAAe,EAAE,EAAE;IACnB,oBAAoB,EAAE,GAAG;IACzB,aAAa,EAAE,EAAE;IACjB,iBAAiB,EAAE,EAAE;IACrB,gBAAgB,EAAE,EAAE;IACpB,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,EAAE;IACX,eAAe,EAAE,CAAC;IAClB,SAAS,EAAE,EAAE;IACb,iBAAiB,EAAE,EAAE;IACrB,kBAAkB,EAAE,EAAE;IACtB,KAAK,EAAE,EAAE;IACT,gBAAgB,EAAE,CAAC;IACnB,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,CAAC;IACZ,cAAc,EAAE,CAAC;IACjB,cAAc,EAAE,EAAE;IAClB,iBAAiB,EAAE,EAAE;IACrB,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,GAAG;IACzB,qBAAqB,EAAE,EAAE;IACzB,sBAAsB,EAAE,KAAK;IAC7B,mBAAmB,EAAE,GAAG;IACxB,oBAAoB,EAAE,OAAO;IAC7B,YAAY,EAAE,GAAG;IACjB,kBAAkB,EAAE,CAAC;IACrB,QAAQ,EAAE,EAAE;IACZ,wBAAwB,EAAE,EAAE;IAC5B,UAAU,EAAE,IAAI;IAChB,iBAAiB,EAAE,CAAC;IACpB,gBAAgB,EAAE,EAAE;IACpB,oBAAoB,EAAE,EAAE;IACxB,sBAAsB,EAAE,EAAE;IAC1B,gBAAgB,EAAE,EAAE;IACpB,cAAc,EAAE,GAAG;IACnB,UAAU,EAAE,GAAG;IACf,gBAAgB,EAAE,GAAG;IACrB,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,UAAU,EAAE,GAAG;IACf,iBAAiB,EAAE,GAAG;IACtB,gBAAgB,EAAE,IAAI;IACtB,SAAS,EAAE,EAAE;IACb,UAAU,EAAE,GAAG;IACf,OAAO,EAAE,EAAE;IACX,eAAe,EAAE,KAAK;IACtB,iBAAiB,EAAE,KAAK;IACxB,eAAe,EAAE,KAAK;IACtB,sBAAsB,EAAE,MAAM;IAC9B,aAAa,EAAE,EAAE;IACjB,mBAAmB,EAAE,GAAG;IACxB,SAAS,EAAE,GAAG;IACd,eAAe,EAAE,EAAE;IACnB,uBAAuB,EAAE,GAAG;IAC5B,aAAa,EAAE,EAAE;IACjB,eAAe,EAAE,EAAE;IACnB,gBAAgB,EAAE,CAAC;IACnB,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,CAAC;IACZ,kBAAkB,EAAE,CAAC;IACrB,kBAAkB,EAAE,IAAI;IACxB,mBAAmB,EAAE,CAAC;IACtB,KAAK,EAAE,CAAC;IACR,UAAU,EAAE,GAAG;IACf,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,GAAG;IACZ,YAAY,EAAE,EAAE;IAChB,cAAc,EAAE,EAAE;IAClB,UAAU,EAAE,EAAE;IACd,gBAAgB,EAAE,EAAE;IACpB,aAAa,EAAE,EAAE;IACjB,eAAe,EAAE,EAAE;IACnB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,GAAG;IACf,gBAAgB,EAAE,KAAK;IACvB,aAAa,EAAE,KAAK;IACpB,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,GAAG;IACpB,qBAAqB,EAAE,OAAO;IAC9B,iBAAiB,EAAE,EAAE;IACrB,eAAe,EAAE,EAAE;CACX,CAAC;AAEX,uDAAuD;AACvD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,UAAU,EAAE,wCAAwC;IACpD,YAAY,EAAE,yCAAyC;IACvD,QAAQ,EAAE,yCAAyC;IACnD,GAAG,EAAE,kCAAkC;IACvC,IAAI,EAAE,oEAAoE;IAC1E,UAAU,EAAE,iEAAiE;IAC7E,SAAS,EAAE,mEAAmE;IAC9E,SAAS,EAAE,uDAAuD;IAClE,OAAO,EAAE,yCAAyC;IAClD,OAAO,EAAE,oEAAoE;IAC7E,SAAS,EAAE,sEAAsE;IACjF,WAAW,EAAE,wCAAwC;IACrD,kBAAkB,EAAE,sCAAsC;CAClD,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC9B,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;IAC7B,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;IAC3E,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;IACpC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;IACjD,sBAAsB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC;IACjD,iBAAiB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,gBAAgB,CAAC;IACrF,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC;IACtF,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC;IACtD,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC;IACzG,cAAc,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,CAAC;IAClL,eAAe,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC;IAC3F,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAC1D,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC;IACnE,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC;IACvD,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC;IACxD,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;IACvO,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC;IAC/E,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,CAAC;IAChF,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC;IACzI,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACxC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC9B,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC;IAC1C,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC;IACxC,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,CAAC;IAC3E,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC;IACxG,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC;IAC9C,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;IACnC,cAAc,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;IACrD,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;IACpE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,CAAC;IACtE,gBAAgB,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;IAClF,sBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC;IAClE,gBAAgB,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;IACjC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAChC,aAAa,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC;IAC/F,cAAc,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;IACtC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC5C,WAAW,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;IAChC,gBAAgB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC;IACxG,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC;IAC5D,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC;IAC7F,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;IACrC,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC;IAChE,gBAAgB,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;IAChD,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;IACxC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;IAC9C,aAAa,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC;IAC9C,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC;CACtT,CAAC"}
|
package/dist/define.d.ts
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* action, a schedule) it uses the key.
|
|
23
23
|
*/
|
|
24
24
|
import type { CommunityStatus } from "./tokens.js";
|
|
25
|
-
import type { Action, ActorKind, PluginScope, BundledDashboard, BundledDashboardWidget, Connection, Page, Endpoint, EndpointParam, EndpointReturn, ErrorRule, Expression, Field, ItemKind, Manifest, Part, RequestStep, ReturnValueType, Scope, Setting, Vendor, VendorAuth, VendorRequest, WebhookEvent, Webhooks, Widget } from "./contract.js";
|
|
25
|
+
import type { Action, ActorKind, PluginScope, BundledDashboard, BundledDashboardWidget, Connection, Page, Endpoint, EndpointParam, EndpointReturn, ErrorRule, Expression, Field, ItemKind, Manifest, Part, Permission, RequestStep, ReturnValueType, Scope, Setting, Vendor, VendorAuth, VendorRequest, WebhookEvent, Webhooks, Widget } from "./contract.js";
|
|
26
26
|
import type { Client } from "./client.js";
|
|
27
27
|
/**
|
|
28
28
|
* What every handler is handed as `context`: the value given to `createPlugin`.
|
|
@@ -150,14 +150,22 @@ export type EndpointDeclaration = CallableEndpoint<any, any> | DeclarativeEndpoi
|
|
|
150
150
|
export declare function defineEndpoint<const R extends Record<string, ReturnSpec> = {}>(endpoint: EmittedEndpoint<R>): EmittedEndpoint<R>;
|
|
151
151
|
export declare function defineEndpoint<D extends "read" | "write", const P extends Record<string, ParamSpec> = {}, const R extends Record<string, ReturnSpec> = {}>(endpoint: CallableEndpoint<P, R, D>): CallableEndpoint<P, R, D>;
|
|
152
152
|
export declare function defineEndpoint<D extends "read" | "write", const P extends Record<string, ParamSpec> = {}, const R extends Record<string, ReturnSpec> = {}>(endpoint: DeclarativeEndpoint<P, R, D>): DeclarativeEndpoint<P, R, D>;
|
|
153
|
-
/**
|
|
153
|
+
/** A connection field's value, as an admin typed it or `after_connect` answered it. */
|
|
154
|
+
export type ConnectionValue = string | number | boolean;
|
|
155
|
+
/**
|
|
156
|
+
* What `after_connect` is sent: once a connection's flow has exchanged its
|
|
157
|
+
* code, or when an admin saves a connection without a flow that declares
|
|
158
|
+
* `after_connect`, before anything they typed is stored.
|
|
159
|
+
*/
|
|
154
160
|
export interface AfterConnectCall extends Call {
|
|
155
161
|
/** The connection's manifest id. */
|
|
156
162
|
connection: string;
|
|
157
163
|
/** `member` for a member's own account, `installation` for the community's. */
|
|
158
164
|
actor: ActorKind;
|
|
159
|
-
/** The access token the flow just obtained, to look the account up with. */
|
|
160
|
-
access_token: string;
|
|
165
|
+
/** The access token the flow just obtained, to look the account up with; null for a connection without a flow. */
|
|
166
|
+
access_token: string | null;
|
|
167
|
+
/** What the admin typed into a connection without a flow, secrets included; empty after a flow. */
|
|
168
|
+
values: Record<string, ConnectionValue>;
|
|
161
169
|
/** The flow's parameters, such as the `installation_id` an install page returned. */
|
|
162
170
|
params: Record<string, string>;
|
|
163
171
|
}
|
|
@@ -168,11 +176,17 @@ export type AfterConnectAnswer = {
|
|
|
168
176
|
} | {
|
|
169
177
|
refuse: true;
|
|
170
178
|
};
|
|
171
|
-
/**
|
|
179
|
+
/**
|
|
180
|
+
* What `revoke` is sent when a connection ends: one whose flow says
|
|
181
|
+
* `revoke: "hook"`, with its tokens, or one without a flow that declares
|
|
182
|
+
* `after_connect`, cleared or replaced, with the values it held.
|
|
183
|
+
*/
|
|
172
184
|
export interface RevokeCall extends Call {
|
|
173
185
|
connection: string;
|
|
174
186
|
access_token: string | null;
|
|
175
187
|
refresh_token: string | null;
|
|
188
|
+
/** A connection without a flow: the values it held, typed and managed, secrets included. Empty for a flow's. */
|
|
189
|
+
values: Record<string, ConnectionValue>;
|
|
176
190
|
}
|
|
177
191
|
/** One vendor webhook delivery, which Initiative checked and routed to this installation. */
|
|
178
192
|
export interface WebhookCall extends Call {
|
|
@@ -269,6 +283,8 @@ export interface Handoff extends Call {
|
|
|
269
283
|
admin: boolean;
|
|
270
284
|
/** The initiative the page was opened in, or null for the whole community. */
|
|
271
285
|
initiative: number | null;
|
|
286
|
+
/** The ids of the plug-in's permissions the viewer holds where the page was opened, `use` among them. */
|
|
287
|
+
permissions: string[];
|
|
272
288
|
}
|
|
273
289
|
export interface PageCall {
|
|
274
290
|
request: Request;
|
|
@@ -532,6 +548,17 @@ export interface PluginDefinition<E, W> {
|
|
|
532
548
|
widgets?: W;
|
|
533
549
|
/** Pages and panels, keyed by page id. */
|
|
534
550
|
pages?: Record<string, PageDeclaration>;
|
|
551
|
+
/**
|
|
552
|
+
* Sign in with Initiative: people may also open the plug-in at its own
|
|
553
|
+
* address, signing in with their Initiative account. `page` is the page they
|
|
554
|
+
* land in (a key of `pages`); `returnPath` is where Initiative sends them back
|
|
555
|
+
* with a code, on the origin the plug-in's pages are served from. The client
|
|
556
|
+
* half is `Initiative.signIn`.
|
|
557
|
+
*/
|
|
558
|
+
signIn?: {
|
|
559
|
+
page: string;
|
|
560
|
+
returnPath: string;
|
|
561
|
+
};
|
|
535
562
|
dashboards?: DashboardDeclaration<E, W>[];
|
|
536
563
|
/** How the plug-in's metadata is shown on items, keyed by metadata key. */
|
|
537
564
|
fields?: Record<string, Omit<Field, "key">>;
|
|
@@ -541,6 +568,12 @@ export interface PluginDefinition<E, W> {
|
|
|
541
568
|
actions?: Record<string, ActionDeclaration<E>>;
|
|
542
569
|
/** Values the community's admins set on the install, keyed by setting key. */
|
|
543
570
|
settings?: Record<string, Omit<Setting, "key">>;
|
|
571
|
+
/**
|
|
572
|
+
* What the community decides who may do with the plug-in. A page, field,
|
|
573
|
+
* part, action or endpoint names one as its `permission`; one that names none
|
|
574
|
+
* answers to `use`, which every plug-in has at each level.
|
|
575
|
+
*/
|
|
576
|
+
permissions?: Permission[];
|
|
544
577
|
/** Help with the plug-in's parts and settings: markdown, keyed by language tag. */
|
|
545
578
|
help?: Manifest["help"];
|
|
546
579
|
listing?: ListingDeclaration;
|
package/dist/define.js
CHANGED
|
@@ -61,6 +61,7 @@ export function manifestOf(plugin, modules = {}) {
|
|
|
61
61
|
const { handler: _handler, ...declared } = page;
|
|
62
62
|
return { id: key, ...declared };
|
|
63
63
|
}),
|
|
64
|
+
sign_in: plugin.signIn && { page: plugin.signIn.page, return_path: plugin.signIn.returnPath },
|
|
64
65
|
dashboards: plugin.dashboards?.map((dashboard) => ({
|
|
65
66
|
...dashboard,
|
|
66
67
|
widgets: dashboard.widgets.map((widget) => ({
|
|
@@ -76,6 +77,7 @@ export function manifestOf(plugin, modules = {}) {
|
|
|
76
77
|
...(action.endpoint === undefined ? {} : { endpoint: id(action.endpoint) }),
|
|
77
78
|
})),
|
|
78
79
|
settings: listOf(plugin.settings, (key, setting) => ({ key, ...setting })),
|
|
80
|
+
permissions: plugin.permissions?.length ? plugin.permissions.map((permission) => ({ ...permission })) : undefined,
|
|
79
81
|
help: plugin.help,
|
|
80
82
|
};
|
|
81
83
|
const present = Object.fromEntries(Object.entries(blocks).filter(([, value]) => value !== undefined));
|
package/dist/define.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"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"}
|