initiative-plugin-sdk 7.2.0 → 8.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 +299 -44
- package/dist/build.d.ts +1 -1
- package/dist/build.js +10 -5
- package/dist/build.js.map +1 -1
- package/dist/client.d.ts +4 -0
- package/dist/client.js.map +1 -1
- package/dist/contract.d.ts +452 -80
- package/dist/contract.js +22 -6
- package/dist/contract.js.map +1 -1
- package/dist/define.d.ts +68 -15
- package/dist/define.js +27 -9
- package/dist/define.js.map +1 -1
- package/dist/manifest.d.ts +1 -1
- package/dist/manifest.js.map +1 -1
- package/dist/plugin-api.generated.d.ts +260 -9
- package/dist/plugin-api.generated.js +44 -2
- package/dist/plugin-api.generated.js.map +1 -1
- package/dist/server.js +5 -3
- package/dist/server.js.map +1 -1
- package/dist/statements.d.ts +11 -1
- package/dist/statements.js +10 -2
- package/dist/statements.js.map +1 -1
- package/dist/testing.d.ts +132 -21
- package/dist/testing.js +273 -51
- package/dist/testing.js.map +1 -1
- package/dist/validate.d.ts +13 -4
- package/dist/validate.js +240 -48
- package/dist/validate.js.map +1 -1
- package/manifest.contract.json +514 -23
- package/package.json +1 -1
- package/schemas/plugin-api.json +1268 -144
- package/schemas/plugin-manifest.json +553 -22
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ holds its tokens, and builds its manifest.
|
|
|
16
16
|
| `initiative-plugin-sdk/widget` | What a widget is handed, and the scenes it returns |
|
|
17
17
|
| `initiative-plugin-sdk/parts` | The components a part's tree is built from: `Section`, `Stack`, `Field`, `Value`, `Text`, `Button` |
|
|
18
18
|
| `initiative-plugin-sdk/jsx-runtime` | JSX for a part's tree, with no React |
|
|
19
|
-
| `initiative-plugin-sdk/testing` | A declarative plug-in's requests and
|
|
19
|
+
| `initiative-plugin-sdk/testing` | A declarative plug-in's requests, maps and writes, run against recorded vendor answers |
|
|
20
20
|
| `initiative-plugin-sdk/plugin-api.json` | The plug-in API contract: the OpenAPI document of every route a plug-in may call |
|
|
21
21
|
| bin `initiative-plugin` | `init`, `build`, `pack`, `dev`, `validate`, `keygen`, `uid`, `schema` |
|
|
22
22
|
|
|
@@ -82,8 +82,9 @@ export default definePlugin({
|
|
|
82
82
|
[`manifest.contract.json`](manifest.contract.json): `vendor`, `connections`
|
|
83
83
|
(keyed by id), `webhooks`, `pages` (keyed by id),
|
|
84
84
|
`dashboards`, `fields` (keyed by metadata key), `parts` and `actions` (keyed
|
|
85
|
-
by id)
|
|
86
|
-
contract declares has a type
|
|
85
|
+
by id), `settings` (keyed by setting key) and `help`. The types are
|
|
86
|
+
generated from the contract, so every term the contract declares has a type
|
|
87
|
+
here.
|
|
87
88
|
- **Features follow from what is filled in.** A plug-in with widgets declares
|
|
88
89
|
`widgets`, and so on.
|
|
89
90
|
|
|
@@ -283,6 +284,43 @@ vendor: {
|
|
|
283
284
|
key must be a vendor field, each answer is written at most once, and
|
|
284
285
|
`client_secret`, `pem` and `webhook_secret` go to `secret` fields.
|
|
285
286
|
|
|
287
|
+
### A token minted on demand
|
|
288
|
+
|
|
289
|
+
A static connection's `token` has Initiative mint its access token rather than
|
|
290
|
+
store one: it signs a JWT with a vendor key, posts it to the vendor's
|
|
291
|
+
`exchange_url`, and caches the answer until shortly before it expires.
|
|
292
|
+
`exchange_body` is a JSON body posted with it, such as the narrower
|
|
293
|
+
permissions a token is asked for:
|
|
294
|
+
|
|
295
|
+
```ts
|
|
296
|
+
token: {
|
|
297
|
+
type: "jwt_bearer",
|
|
298
|
+
exchange_url: "https://api.tracker.example/installations/{installation_id}/tokens",
|
|
299
|
+
exchange_body: { permissions: { issues: "write", contents: "read" } },
|
|
300
|
+
iss: "{vendor.app_id}",
|
|
301
|
+
key: "{vendor.private_key}",
|
|
302
|
+
},
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
`exchange_url`, `iss` and every string in `exchange_body` may name a vendor
|
|
306
|
+
value as `{vendor.<key>}` and one of the connection's own fields as `{<key>}`;
|
|
307
|
+
`validateManifest` refuses a name that neither declares.
|
|
308
|
+
|
|
309
|
+
`exchange_body` may instead be an expression answering the body from
|
|
310
|
+
`connection` alone, the connection's own non-secret fields, managed ones
|
|
311
|
+
included, so the body can differ by connection: a vendor may refuse a token
|
|
312
|
+
request naming a permission the installation does not hold. A body that names a
|
|
313
|
+
vendor value stays an object. An answer that is not an object fails the token
|
|
314
|
+
request, so the connection cannot be used until the expression answers one.
|
|
315
|
+
`runExchangeBody` from `initiative-plugin-sdk/testing` answers the body
|
|
316
|
+
Initiative posts for a connection's `fields` and `vendor` values.
|
|
317
|
+
|
|
318
|
+
```ts
|
|
319
|
+
// account_type is a managed field; only an organization's installation holds "members"
|
|
320
|
+
exchange_body:
|
|
321
|
+
'{"permissions": $merge([{"issues": "write"}, connection.account_type = "organization" ? {"members": "read"} : {}])}',
|
|
322
|
+
```
|
|
323
|
+
|
|
286
324
|
### Pages
|
|
287
325
|
|
|
288
326
|
A page is one of your plug-in's screens, framed by Initiative:
|
|
@@ -336,14 +374,15 @@ What a plug-in adds to the views and pages of Initiative's items: tasks,
|
|
|
336
374
|
calendar events, queue items, counters, gallery images and posts
|
|
337
375
|
(`ITEM_KINDS`). Initiative draws all of it with its own components, so no
|
|
338
376
|
plug-in code runs in a reader's browser, and the community's managers place
|
|
339
|
-
it; a plug-in never places itself.
|
|
340
|
-
|
|
341
|
-
run an action.
|
|
377
|
+
it; a plug-in never places itself. Any plug-in may declare them, container or
|
|
378
|
+
declarative.
|
|
342
379
|
|
|
343
380
|
**Metadata** is what the plug-in keeps on an item or on its own install: values
|
|
344
381
|
by key (a lowercase letter, then lowercase letters, digits, `_` and `.`), held
|
|
345
|
-
by Initiative
|
|
346
|
-
below)
|
|
382
|
+
by Initiative. A container writes them with its installation token
|
|
383
|
+
(`client.metadata`, below); for a declarative plug-in, Initiative writes them
|
|
384
|
+
from the plug-in's expressions ([Declarative integrations](#declarative-integrations)).
|
|
385
|
+
Initiative enforces its sizes: a value of at most 8192 bytes as JSON,
|
|
347
386
|
32 keys and 64 KiB on one item, and 256 keys and 1 MiB on the install. A
|
|
348
387
|
string of at most 255 characters can be found by.
|
|
349
388
|
|
|
@@ -373,16 +412,64 @@ fields: {
|
|
|
373
412
|
editor's Add picker shows; `tone` is a badge's tone when its value names none
|
|
374
413
|
(`accent`, `positive`, `negative`, `warning`, `neutral`, `muted`).
|
|
375
414
|
|
|
376
|
-
**
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
415
|
+
**A list field**, `list: true`, holds several values: its value is a list of
|
|
416
|
+
elements, each one value of the field's `kind` with a `ref` of 1 to 255
|
|
417
|
+
characters that tells it from the others. A `text`, `number`, `date`,
|
|
418
|
+
`datetime` or `checkbox` element is `{ ref, value }`; a `link`, `badge` or
|
|
419
|
+
`progress` element is the kind's own object with its `ref`, such as
|
|
420
|
+
`{ ref, url, text? }`. Initiative keeps each element as a value of its own,
|
|
421
|
+
held to the size of one value, and finds an element by its `ref`.
|
|
422
|
+
|
|
423
|
+
**States** say what state a value is in, in the plug-in's own words: up to 4
|
|
424
|
+
facets, each with up to 12 keys. A value names a key of each facet it is in as
|
|
425
|
+
`state`, and Initiative draws one badge per facet, labelled in the reader's
|
|
426
|
+
language. A list element, and a `link`, `badge` or `progress` value, carries
|
|
427
|
+
`state` beside its other properties; a `text`, `number`, `date`, `datetime` or
|
|
428
|
+
`checkbox` value that carries one is written as an element is, without the
|
|
429
|
+
`ref`: `{ value, state }`.
|
|
430
|
+
|
|
431
|
+
```ts
|
|
432
|
+
fields: {
|
|
433
|
+
"tracker.issues": {
|
|
434
|
+
name: { en: "Issues" },
|
|
435
|
+
kind: "link",
|
|
436
|
+
list: true,
|
|
437
|
+
on: ["task"],
|
|
438
|
+
states: {
|
|
439
|
+
status: {
|
|
440
|
+
name: { en: "Status" },
|
|
441
|
+
values: { open: { label: { en: "Open" }, tone: "positive" }, closed: { label: { en: "Closed" }, tone: "muted" } },
|
|
442
|
+
},
|
|
443
|
+
},
|
|
444
|
+
actions: ["unlink"],
|
|
445
|
+
},
|
|
446
|
+
},
|
|
447
|
+
// an element: { ref: "12", url: "https://tracker.example/issues/12", text: "#12", state: { status: "open" } }
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
A list field's `actions` are offered on each of its elements, and each is
|
|
451
|
+
offered on every item kind the field is. They are a declarative plug-in's: an
|
|
452
|
+
action run from an element reads the element's `ref` as `element`, and a
|
|
453
|
+
container's handler is told the item alone.
|
|
454
|
+
|
|
455
|
+
**An action** runs on one item, from a part's button, from the item's own menu
|
|
456
|
+
with `menu: true`, or from an element of a list field that offers it. A
|
|
457
|
+
container plug-in's action names one of its write endpoints: Initiative calls
|
|
458
|
+
it as the installation, with `viewer` and `subject` set, and the handler does
|
|
459
|
+
the work, usually writing metadata. A declarative plug-in's names an endpoint,
|
|
460
|
+
a `write`, or both, and Initiative does the work itself. Either way Initiative
|
|
461
|
+
then answers the reader with the item's metadata as it stands. With `confirm`,
|
|
462
|
+
Initiative asks first; with `admin_only: true`, only the community's admins may
|
|
463
|
+
run it.
|
|
464
|
+
|
|
465
|
+
`params` names the endpoint's params Initiative asks the reader for before it
|
|
466
|
+
runs the action, in a form drawn from their own declarations: each one's type,
|
|
467
|
+
label, and `options` or `options_from`. The endpoint is sent the reader's
|
|
468
|
+
answers and nothing else, so every param it requires is among them.
|
|
382
469
|
|
|
383
470
|
```ts
|
|
384
471
|
actions: {
|
|
385
|
-
"new-link": { name: { en: "New link" }, endpoint: "create-link", on: ["task"], menu: true },
|
|
472
|
+
"new-link": { name: { en: "New link" }, endpoint: "create-link", params: ["url"], on: ["task"], menu: true },
|
|
386
473
|
},
|
|
387
474
|
```
|
|
388
475
|
|
|
@@ -400,8 +487,11 @@ plug-in's parts on one item.
|
|
|
400
487
|
| `button` | `action`: an action's id; `variant?` (`primary`, `secondary`, `ghost`) | no |
|
|
401
488
|
|
|
402
489
|
Every field and action a part names must be offered on each kind in the
|
|
403
|
-
part's `on`. A
|
|
404
|
-
the
|
|
490
|
+
part's `on`. A `text` node's text may name `{item.id}`, the item's id, and
|
|
491
|
+
`{settings.<key>}`, one of the plug-in's [settings](#settings-and-help), which
|
|
492
|
+
Initiative fills in when it draws the part; `validateManifest` refuses any
|
|
493
|
+
other `{…}`. A tree is plain data, `{ type, props?, children? }`, or JSX
|
|
494
|
+
through the SDK's runtime, which the build turns into the same data:
|
|
405
495
|
|
|
406
496
|
```tsx
|
|
407
497
|
/** @jsxImportSource initiative-plugin-sdk */
|
|
@@ -431,6 +521,37 @@ children join the node that holds it, and `null` and `false` children are left
|
|
|
431
521
|
out. `key` is JSX's own and is not passed on, which is why a field is named by
|
|
432
522
|
`field`.
|
|
433
523
|
|
|
524
|
+
### Settings and help
|
|
525
|
+
|
|
526
|
+
**Settings** are values the community's admins see and may change on the
|
|
527
|
+
install, keyed by setting key, at most 16. A part's text names one as
|
|
528
|
+
`{settings.<key>}`, and a declarative plug-in's expressions read them as
|
|
529
|
+
`settings.<key>`.
|
|
530
|
+
|
|
531
|
+
```ts
|
|
532
|
+
settings: {
|
|
533
|
+
prefix: { type: "string", label: { en: "Reference prefix" }, unique: true, assigned: "community_name" },
|
|
534
|
+
},
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
A `unique` setting's value is held by no other community on the deployment for
|
|
538
|
+
this plug-in, and is a lowercase letter, then lowercase letters and digits, 2
|
|
539
|
+
to 16 characters in all (`^[a-z][a-z0-9]{1,15}$`), so a reference such as
|
|
540
|
+
`acme-7` reads one way. With `assigned: "community_name"`, Initiative gives it a
|
|
541
|
+
value when the community installs the plug-in: the letters and digits of the
|
|
542
|
+
community's name, in lowercase, with a short random suffix when another
|
|
543
|
+
community holds that value. An admin may rename it. The earlier values stay the
|
|
544
|
+
community's, and expressions read them as `aliases.<key>`, so a reference made
|
|
545
|
+
under one still resolves.
|
|
546
|
+
|
|
547
|
+
**Help** is markdown, by language tag, at most 2000 characters in each.
|
|
548
|
+
Initiative shows it behind a "?" on the headers of the plug-in's parts and on
|
|
549
|
+
its settings:
|
|
550
|
+
|
|
551
|
+
```ts
|
|
552
|
+
help: { en: "Links issues to tasks. Name a task's reference, such as **acme-7**, in an issue's title to link it." },
|
|
553
|
+
```
|
|
554
|
+
|
|
434
555
|
## 2. Widgets
|
|
435
556
|
|
|
436
557
|
A widget is a module exporting `render`, typed from the endpoint it draws:
|
|
@@ -601,7 +722,11 @@ listingUid: plugin.uid })`, which reads billing's key from
|
|
|
601
722
|
path after `/c/{community}`) by hand, with the same scope check.
|
|
602
723
|
- `client.callPlugin(publicId, endpointId, params)` calls another plug-in's public
|
|
603
724
|
endpoint through Initiative. It needs `plugins:<publicId>` among the plug-in's
|
|
604
|
-
scopes, granted by the community.
|
|
725
|
+
scopes, granted by the community. A plug-in that uses whichever plug-ins a
|
|
726
|
+
community lets it sets `callsPlugins: true` (the manifest's
|
|
727
|
+
`service.calls_plugins`) instead of naming each: a community that installs
|
|
728
|
+
another plug-in is asked there whether this one may use it, which grants the
|
|
729
|
+
scope.
|
|
605
730
|
- `client.metadata`, the plug-in's metadata, always on the installation's
|
|
606
731
|
token: `get(itemKind, ids)` answers each item's values by id;
|
|
607
732
|
`set(itemKind, id, values)` writes some of one item's values, a null
|
|
@@ -747,7 +872,9 @@ A plug-in that only calls a vendor's API and reshapes the answer needs no
|
|
|
747
872
|
container. Name the `hosts` it calls and give each endpoint a `request` and a
|
|
748
873
|
`map` in place of a handler: Initiative makes the call with the connection's
|
|
749
874
|
credential, and maps the answer itself. The plug-in has no `service` block, no
|
|
750
|
-
image and nothing to run, and its listing registers it as `declarative`.
|
|
875
|
+
image and nothing to run, and its listing registers it as `declarative`. It
|
|
876
|
+
may still keep values on Initiative's items, which its webhook events,
|
|
877
|
+
schedules and actions write and its fields and parts show.
|
|
751
878
|
|
|
752
879
|
```ts
|
|
753
880
|
// src/plugin.ts
|
|
@@ -823,8 +950,10 @@ it("lists a repository's open issues", async () => {
|
|
|
823
950
|
`connection` (the non-secret fields of the connection its request names),
|
|
824
951
|
`connections` (on an endpoint, each connection its `requires` names that the
|
|
825
952
|
call has, by id: `connections.workspace.owner`), `now`, and once a call has
|
|
826
|
-
been answered `response` (`status`, `headers`, `body`).
|
|
827
|
-
|
|
953
|
+
been answered `response` (`status`, `headers`, `body`). Every expression
|
|
954
|
+
also reads `settings`, the install's [settings](#settings-and-help) by key,
|
|
955
|
+
and `aliases`, each unique setting's earlier values. `build` parses every
|
|
956
|
+
one and fails with its place in the manifest when one does not parse.
|
|
828
957
|
- **Each evaluation is bounded** by the contract's `CAPS.expressionTimeMs`,
|
|
829
958
|
`CAPS.expressionDepth` and `CAPS.expressionOutputBytes`; past one, or on an
|
|
830
959
|
error, the call answers `unavailable: mapping-failed`. `evaluate` from
|
|
@@ -833,10 +962,40 @@ it("lists a repository's open issues", async () => {
|
|
|
833
962
|
request's `connection` names, as `auth` says: `Authorization: Bearer
|
|
834
963
|
<token>` unless `auth: { header, prefix }` says otherwise. Every address
|
|
835
964
|
must be https on one of `hosts`, exact or with one leading `*.` label. A
|
|
836
|
-
request or step
|
|
837
|
-
`requires` too,
|
|
838
|
-
`
|
|
839
|
-
|
|
965
|
+
request or step naming an `interactive` connection for every call names it
|
|
966
|
+
in the endpoint's `requires` too, and is on no endpoint whose `actors`
|
|
967
|
+
include `installation`, or `build` fails: a call made as the installation
|
|
968
|
+
has no member's credential. A call made as a member carries a `static`
|
|
969
|
+
connection's credential only when `requires` names it, and is refused
|
|
970
|
+
otherwise.
|
|
971
|
+
- **A connection per actor.** A write's request or step may name one
|
|
972
|
+
connection for each of the endpoint's `actors` in place of one for every
|
|
973
|
+
call, so a call made as the member carries the member's own credential and
|
|
974
|
+
one made as the installation the community's:
|
|
975
|
+
|
|
976
|
+
```ts
|
|
977
|
+
export const comment = defineEndpoint({
|
|
978
|
+
direction: "write",
|
|
979
|
+
actors: ["member", "installation"],
|
|
980
|
+
params: {
|
|
981
|
+
number: { type: "int", label: { en: "Issue" }, required: true },
|
|
982
|
+
text: { type: "string", label: { en: "Comment" }, required: true },
|
|
983
|
+
},
|
|
984
|
+
returns: { id: "int" },
|
|
985
|
+
request: {
|
|
986
|
+
method: "POST",
|
|
987
|
+
url: '"https://api.tracker.example/issues/" & params.number & "/comments"',
|
|
988
|
+
body: '{"body": params.text}',
|
|
989
|
+
connection: { member: "account", installation: "workspace" },
|
|
990
|
+
},
|
|
991
|
+
map: '{"id": response.body.id}',
|
|
992
|
+
});
|
|
993
|
+
```
|
|
994
|
+
|
|
995
|
+
`member` names an `interactive` connection and `installation` a `static`
|
|
996
|
+
one, for exactly the actors the endpoint declares. The member's needs no
|
|
997
|
+
`requires`: a call made as the member requires it. An expression's
|
|
998
|
+
`connection` holds the fields of the one the call carries.
|
|
840
999
|
- **`steps`** in place of `request` makes up to three calls in order; each
|
|
841
1000
|
reads the earlier ones as `steps.<name>`, and so does the map.
|
|
842
1001
|
- **`paging`** on a request reads more pages before the map runs:
|
|
@@ -852,21 +1011,109 @@ it("lists a repository's open issues", async () => {
|
|
|
852
1011
|
three `steps`, a map to `{values, account_label}`, and `refuse_when` with
|
|
853
1012
|
its `code`, which read each step as `steps.<name>`) and a
|
|
854
1013
|
`health` check run on an interval. **Webhooks** take `events`, each mapping
|
|
855
|
-
a delivery to one of the plug-in's emissions,
|
|
856
|
-
connection's state; a delivery may be
|
|
857
|
-
body `path`.
|
|
858
|
-
- **
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
`
|
|
863
|
-
|
|
864
|
-
|
|
1014
|
+
a delivery to one of the plug-in's emissions, changes to its values, or
|
|
1015
|
+
both, and `status` rows that set a connection's state; a delivery may be
|
|
1016
|
+
routed by a `header` instead of a body `path`.
|
|
1017
|
+
- **Scopes** are read scopes alone, at the manifest's top level, and
|
|
1018
|
+
`validateManifest` refuses any other: a declarative plug-in keeps its own
|
|
1019
|
+
values on items it can read, and does not call Initiative. Initiative keeps
|
|
1020
|
+
its values only on items those scopes read, such as tasks with
|
|
1021
|
+
`projects:read`.
|
|
1022
|
+
- **Values** are written from a `write` expression: Initiative makes the
|
|
1023
|
+
changes it answers, as the install. A **change** sets values by key,
|
|
1024
|
+
`{"set": {"<key>": <value>}}`, the shape of `client.metadata.set`: a null
|
|
1025
|
+
removes its key, and every value is held to the metadata caps. A list
|
|
1026
|
+
field's value is its whole list of elements; its elements change by their
|
|
1027
|
+
`ref` with `{"upsert": {"<key>": [<element>]}}`, which adds each element or
|
|
1028
|
+
merges it into the one with its `ref` (the properties it gives replace that
|
|
1029
|
+
element's, the rest stay, and its `state` merges by facet, so a write that
|
|
1030
|
+
knows one fact changes that fact alone), and `{"remove": {"<key>": ["<ref>"]}}`. A
|
|
1031
|
+
change gives at least one of `set`, `upsert` and `remove`, and changes each
|
|
1032
|
+
key with only one. A **targeted change** adds its `target`:
|
|
1033
|
+
`{"kind": "task", "id": 7}` for one item, `{"install": true}` for the
|
|
1034
|
+
install, or `{"holding": {"key": "<key>", "value": "<text>"}}` for every item
|
|
1035
|
+
on which the install holds that value under that key (a number or a boolean
|
|
1036
|
+
as JSON writes it, a list element by its `ref`). A target the install cannot
|
|
1037
|
+
read is skipped, one `write` answers at most 100 targeted changes
|
|
1038
|
+
(`CAPS.writeTargets`), and a `write` answering nothing changes nothing.
|
|
1039
|
+
- An **event** row's `write`, beside its `emit` and `map` or in their place,
|
|
1040
|
+
answers targeted changes from `headers`, `payload`, `connection`, `now`,
|
|
1041
|
+
`settings` and `aliases`. The first row whose `when` holds applies, its
|
|
1042
|
+
emission and its write both.
|
|
1043
|
+
- An **action** names an `endpoint`, a `write`, or both. The endpoint may be
|
|
1044
|
+
a read, fetching what the `write` keeps, or a write that changes something
|
|
1045
|
+
at the vendor. Initiative makes the endpoint's call with the `params` the
|
|
1046
|
+
reader answered, on the credential its `actors` say, its expressions also
|
|
1047
|
+
reading `item` (`{kind, id, title}`) and `element` (the `ref` of the list
|
|
1048
|
+
element it was run from, if any), then the one change `write` answers from
|
|
1049
|
+
`item`, `held` (the install's values on the item), `result` (the
|
|
1050
|
+
endpoint's mapped answer), `params`, `element`, `settings`, `aliases` and
|
|
1051
|
+
`now`.
|
|
1052
|
+
- A **schedule** makes a read as the installation on an interval: `endpoint`
|
|
1053
|
+
names a read endpoint whose `actors` include `installation`, `params`
|
|
1054
|
+
answers its params from `since` (when the schedule last succeeded, or
|
|
1055
|
+
null), `now`, `connection`, `settings` and `aliases`, and `write` answers
|
|
1056
|
+
targeted changes from `result`, `since`, `now`, `settings` and `aliases`.
|
|
1057
|
+
Its id is none of the plug-in's connections': Initiative keys connection
|
|
1058
|
+
health checks by connection id.
|
|
1059
|
+
|
|
1060
|
+
```ts
|
|
1061
|
+
schedules: {
|
|
1062
|
+
sync: {
|
|
1063
|
+
every: "1h",
|
|
1064
|
+
endpoint: "updated-issues", // returns numbers: int list, states: string list
|
|
1065
|
+
params: '{"since": since}',
|
|
1066
|
+
write:
|
|
1067
|
+
'[$map(result.numbers, function($n, $i) { {"target": {"holding": {"key": "issue.number", "value": $string($n)}}, "set": {"issue.state": result.states[$i]}} })]',
|
|
1068
|
+
},
|
|
1069
|
+
},
|
|
1070
|
+
actions: {
|
|
1071
|
+
create: {
|
|
1072
|
+
name: { en: "Create an issue" },
|
|
1073
|
+
endpoint: "create-issue", // returns number: int, url: string
|
|
1074
|
+
on: ["task"],
|
|
1075
|
+
write: '{"set": {"issue.number": result.number, "issue.link": {"url": result.url, "text": "#" & result.number}}}',
|
|
1076
|
+
},
|
|
1077
|
+
link: {
|
|
1078
|
+
name: { en: "Link an issue" },
|
|
1079
|
+
endpoint: "link-issue", // takes number: int; returns number: int, url: string, state: string
|
|
1080
|
+
params: ["number"],
|
|
1081
|
+
on: ["task"],
|
|
1082
|
+
write: '{"upsert": {"issues.linked": [{"ref": $string(result.number), "url": result.url, "state": {"status": result.state}}]}}',
|
|
1083
|
+
},
|
|
1084
|
+
unlink: { name: { en: "Unlink" }, on: ["task"], write: '{"remove": {"issues.linked": [element]}}' }, // a list field's element action
|
|
1085
|
+
},
|
|
1086
|
+
```
|
|
1087
|
+
|
|
1088
|
+
Wrap a list a `write` answers in `[ ]`: a JSONata path matching one item
|
|
1089
|
+
answers it alone, and a run refuses a lone change where a list belongs.
|
|
1090
|
+
- **One plug-in is one kind.** A declarative plug-in is a manifest Initiative
|
|
1091
|
+
runs, with no plug-in code: it has no handlers, hooks or pages. A container
|
|
1092
|
+
plug-in ships code, which Initiative calls, and uses none of the declarative
|
|
1093
|
+
terms. Any plug-in may keep values on items in Initiative: a container
|
|
1094
|
+
writes them with its installation token, and for a declarative plug-in
|
|
1095
|
+
Initiative writes them from the plug-in's expressions. `validateManifest`
|
|
1096
|
+
and `build` refuse a mix.
|
|
1097
|
+
|
|
1098
|
+
`runEndpoint`, `runAfterConnect`, `runHealth`, `runAction` and `runSchedule`
|
|
1099
|
+
render each request as Initiative sends it, less the credential, answer it from
|
|
1100
|
+
the recorded `responses` in order, and return the requests beside the result or
|
|
865
1101
|
the code the run answered. `runEndpoint` takes each connection's fields by id
|
|
866
|
-
in `connections
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
1102
|
+
in `connections`, and the `actor` the call is made as, by default the
|
|
1103
|
+
endpoint's first: a request naming a connection per actor carries that
|
|
1104
|
+
actor's. It does not refuse a call the way Initiative would for who is making
|
|
1105
|
+
it. `runAction` takes the `item`, what the install `held` on it, the `params`
|
|
1106
|
+
the reader answered, the `element` it was run from and its endpoint's `actor`,
|
|
1107
|
+
and answers the endpoint's `result` and the `change`; `runSchedule` takes
|
|
1108
|
+
`since`, makes its read as the installation, and answers the endpoint's
|
|
1109
|
+
`result` and the `writes`;
|
|
1110
|
+
`runWebhook` answers a delivery's `event`, `writes` and `status`. Every runner
|
|
1111
|
+
but `runExchangeBody` takes the install's `settings` and `aliases`. A run fails
|
|
1112
|
+
when a request has no recorded answer left, when an answer is left over, when
|
|
1113
|
+
the map's answer does not fit the declared returns, or when a `write` answers
|
|
1114
|
+
what is not a change: one that changes a key twice, gives a list field anything
|
|
1115
|
+
but a list of elements, or upserts or removes elements of a field that is not a
|
|
1116
|
+
list.
|
|
870
1117
|
|
|
871
1118
|
## A private plug-in
|
|
872
1119
|
|
|
@@ -924,9 +1171,10 @@ npx initiative-plugin schema # the JSON Schema it checks again
|
|
|
924
1171
|
`validateManifest` runs the bundled JSON Schema, then the checks a schema
|
|
925
1172
|
cannot express: features against the blocks present, ids that must name
|
|
926
1173
|
something the manifest declares, connection, vendor setup and schedule rules,
|
|
927
|
-
what a part's nodes
|
|
928
|
-
|
|
929
|
-
|
|
1174
|
+
what a part's nodes, a list field's element actions and an action's `params`
|
|
1175
|
+
name, the placeholders in a part's text, a part's size and depth, and every
|
|
1176
|
+
term the contract does not declare (a deployment discards those without saying
|
|
1177
|
+
so). The deployment also enforces byte-size caps.
|
|
930
1178
|
|
|
931
1179
|
## The contract
|
|
932
1180
|
|
|
@@ -990,7 +1238,7 @@ either the file's version or the client is stale.
|
|
|
990
1238
|
|
|
991
1239
|
| Scope | Grants |
|
|
992
1240
|
|---|---|
|
|
993
|
-
| `projects:read`, `projects:write` | Projects and what belongs to them: tasks, statuses, checklists. |
|
|
1241
|
+
| `projects:read`, `projects:write` | Projects and what belongs to them: tasks, statuses, task types, checklists. |
|
|
994
1242
|
| `files:read`, `files:write` | Files: text documents, whiteboards, spreadsheets, links and uploads. |
|
|
995
1243
|
| `queues:read`, `queues:write` | Queues, their items and commands. |
|
|
996
1244
|
| `counter_groups:read`, `counter_groups:write` | Counter groups, their counters and commands. |
|
|
@@ -1008,7 +1256,14 @@ either the file's version or the client is stale.
|
|
|
1008
1256
|
| `initiatives:read` | The initiatives the plug-in is placed in. |
|
|
1009
1257
|
| `initiatives:moderate` | Acting as a moderator in an initiative it is placed in: everything there, within the plug-in's other scopes. Only on a token that asks for it (`level=moderator`) and is narrowed to that initiative. |
|
|
1010
1258
|
| `community:admin` | Acting with a community admin's standing across the community, within the plug-in's other scopes. Only on a token that asks for it (`level=community_admin`) and is not narrowed to an initiative. |
|
|
1011
|
-
| `plugins:<public id>` | Calling that plug-in's public endpoints through Initiative. One per plug-in. |
|
|
1259
|
+
| `plugins:<public id>` | Calling that plug-in's public endpoints through Initiative, and reading the values it shows on items the plug-in can read. One per plug-in. |
|
|
1260
|
+
|
|
1261
|
+
A container plug-in's `scopes` go in its manifest's `service` block. A
|
|
1262
|
+
declarative plug-in asks for read scopes alone, at the manifest's top level: it
|
|
1263
|
+
keeps its own values on items those scopes read, and does not call Initiative.
|
|
1264
|
+
A container plug-in with `callsPlugins: true` needs no `plugins:` scope in its
|
|
1265
|
+
manifest: a community that installs another plug-in is asked there whether
|
|
1266
|
+
this one may use it, and that grants `plugins:<public id>` for it.
|
|
1012
1267
|
|
|
1013
1268
|
Writing implies reading. Within its scopes a plug-in still sees only what is open
|
|
1014
1269
|
to the initiative, shared with the plug-in, or created by it — unless a token asks
|
package/dist/build.d.ts
CHANGED
|
@@ -52,7 +52,7 @@ export interface BuiltPlugin {
|
|
|
52
52
|
listing?: ListingDeclaration;
|
|
53
53
|
}
|
|
54
54
|
/** What the listing writers read of a plug-in: its definition, or a {@link BuiltPlugin}'s. */
|
|
55
|
-
export type ListedPlugin = Pick<AnyPlugin, "publicId" | "uid" | "name" | "scopes" | "hosts" | "hooks" | "listing">;
|
|
55
|
+
export type ListedPlugin = Pick<AnyPlugin, "publicId" | "uid" | "name" | "scopes" | "callsPlugins" | "hosts" | "hooks" | "listing">;
|
|
56
56
|
/** What a definition builds: the plug-in and its manifest, or every problem that stops it. */
|
|
57
57
|
export type Compiled = {
|
|
58
58
|
plugin: ListedPlugin;
|
package/dist/build.js
CHANGED
|
@@ -67,7 +67,7 @@ function compileBuilt(root, file) {
|
|
|
67
67
|
return { problems: [`${file}: a built plug-in names its ${[...missing, "manifest"].join(", ")}`] };
|
|
68
68
|
}
|
|
69
69
|
const { manifest, ...named } = built;
|
|
70
|
-
return checked({ ...named, scopes: manifest.service?.scopes, hosts: manifest.hosts }, manifest, []);
|
|
70
|
+
return checked({ ...named, scopes: manifest.service?.scopes ?? manifest.scopes, hosts: manifest.hosts }, manifest, []);
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
73
73
|
* Load the plug-in's definition, bundle its widgets and check the manifest they
|
|
@@ -212,16 +212,21 @@ async function bundleWidget(esbuild, root, module) {
|
|
|
212
212
|
}
|
|
213
213
|
/**
|
|
214
214
|
* What a definition says that its manifest does not show: a declarative plug-in
|
|
215
|
-
* runs no hooks
|
|
216
|
-
* names an image.
|
|
215
|
+
* runs no hooks, is granted read scopes at most and uses no other plug-in, and
|
|
216
|
+
* only a container plug-in's listing names an image.
|
|
217
217
|
*/
|
|
218
218
|
function kindProblems(plugin) {
|
|
219
219
|
const problems = [];
|
|
220
220
|
if (plugin.hosts) {
|
|
221
221
|
if (Object.keys(plugin.hooks ?? {}).length)
|
|
222
222
|
problems.push("hooks: a declarative plug-in runs no hooks");
|
|
223
|
-
if (plugin.
|
|
224
|
-
problems.push("
|
|
223
|
+
if (plugin.callsPlugins)
|
|
224
|
+
problems.push("callsPlugins: a declarative plug-in does not call Initiative, so it uses no other plug-in");
|
|
225
|
+
const unread = (plugin.listing?.scopeCeiling ?? []).filter((scope) => !scope.endsWith(":read"));
|
|
226
|
+
if (unread.length) {
|
|
227
|
+
problems.push(`listing: a declarative plug-in is granted read scopes at most, not ${unread.join(", ")}: ` +
|
|
228
|
+
"it keeps its own values on items it can read, and does not call Initiative");
|
|
229
|
+
}
|
|
225
230
|
if (plugin.listing?.image || plugin.listing?.compose || plugin.listing?.runtime) {
|
|
226
231
|
problems.push("listing: a declarative plug-in has no image, compose service or runtime");
|
|
227
232
|
}
|
package/dist/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -153,6 +153,10 @@ export interface Entitlement {
|
|
|
153
153
|
version: number;
|
|
154
154
|
/** The statement, whole. Its keys are agreed between the plug-in and the issuer. */
|
|
155
155
|
values: Record<string, unknown>;
|
|
156
|
+
/** False when billing says the community holds nothing of the plug-in now. */
|
|
157
|
+
active: boolean;
|
|
158
|
+
/** Why, when billing says: `term_full` is a community billing gives no seat. */
|
|
159
|
+
reason: string | null;
|
|
156
160
|
}
|
|
157
161
|
export interface UsageReport {
|
|
158
162
|
/** A meter the deployment allows this plug-in to report. */
|