initiative-plugin-sdk 10.0.1 → 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.
@@ -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", "admin_only", "public", "requires", "cache_ttl_seconds", "identity", "unavailable", "request", "steps", "map", "errors"];
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", "admin_only", "capabilities", "requires"];
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", "admin_only", "requires"];
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; it is
287
- * not typed into the settings form.
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. With one, only the values the
477
- * plug-in's after_connect hook returns, and every field is 'managed'. The
478
- * tokens a flow obtains are held apart from these, under reserved keys the
479
- * plug-in never declares.
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, finds the
619
- * communities it belongs to by a value in its body, and forwards it to the
620
- * plug-in's webhook hook once for each. A container plug-in's hook receives
621
- * each delivery; a declarative plug-in maps it with 'events' and 'status'
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 community
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, as one vendor value: '{vendor.<key>}'.
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
- * Only the community's admins read or call this endpoint — a figure for the
801
- * community's settings page, say. Anyone who can see where it is used may
802
- * otherwise.
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
- admin_only?: boolean;
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
- * Only the community's admins open this page, whatever roles a placement
895
- * allows — a settings page, say. Who else may open a page is chosen in the
896
- * community, per initiative and per role, not declared here.
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
- admin_only?: boolean;
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
- * Only the community's admins run this action, whatever roles a placement
1230
- * allows. Who else may run it is chosen in the community, per initiative and
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
- admin_only?: boolean;
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
@@ -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", "admin_only", "public", "requires", "cache_ttl_seconds", "identity", "unavailable", "request", "steps", "map", "errors"],
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", "admin_only", "capabilities", "requires"],
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", "admin_only", "requires"],
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
@@ -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
- /** What `after_connect` is sent, once a connection's flow has exchanged its code. */
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
- /** What `revoke` is sent when a connection whose flow says `revoke: "hook"` ends. */
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));
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"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"}