initiative-plugin-sdk 6.0.0 → 7.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 +90 -5
- package/dist/build.d.ts +5 -5
- package/dist/build.js +140 -10
- package/dist/build.js.map +1 -1
- package/dist/cli.d.ts +2 -2
- package/dist/cli.js +6 -11
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +38 -1
- package/dist/client.js +37 -0
- package/dist/client.js.map +1 -1
- package/dist/define.d.ts +149 -3
- package/dist/define.js +2 -0
- package/dist/define.js.map +1 -1
- package/dist/keys.d.ts +22 -35
- package/dist/keys.js +27 -61
- package/dist/keys.js.map +1 -1
- package/dist/manifest.d.ts +1 -1
- package/dist/manifest.js +1 -1
- package/dist/manifest.js.map +1 -1
- package/dist/pack.js +1 -2
- package/dist/pack.js.map +1 -1
- package/dist/server.js +42 -10
- package/dist/server.js.map +1 -1
- package/dist/tokens.d.ts +22 -8
- package/dist/tokens.js +19 -12
- package/dist/tokens.js.map +1 -1
- package/package.json +2 -2
- package/schemas/plugin-api.json +1 -1
package/README.md
CHANGED
|
@@ -92,7 +92,8 @@ export default definePlugin({
|
|
|
92
92
|
| | |
|
|
93
93
|
|---|---|
|
|
94
94
|
| `params` | What the caller sent, by the declared names. Initiative sends strings; an automation may send numbers and booleans as they are. |
|
|
95
|
-
| `installation` | The community, by the reference this plug-in
|
|
95
|
+
| `installation` | The community, by the reference this plug-in knows it by. It stays the same across uninstall and reinstall, until the community erases the plug-in's data, so it is what your own rows key on. Member references hold the same way. |
|
|
96
|
+
| `community_status` | Where the community stands: `active`, `read_only`, `suspended`, `on_hold` or `deleted`. Anything but `active` means hold back work done on its behalf. |
|
|
96
97
|
| `actor` | `{ kind: "installation" }`, or `{ kind: "member", member }` when another plug-in called as one of the community's members. |
|
|
97
98
|
| `caller` | The plug-in that made the call through Initiative, or null for Initiative's own. |
|
|
98
99
|
| `initiative` | The initiative the call is confined to, or null. |
|
|
@@ -142,6 +143,40 @@ hooks: {
|
|
|
142
143
|
A hook that throws is answered 500: a connection is then not recorded, and a
|
|
143
144
|
delivery or a schedule is tried again.
|
|
144
145
|
|
|
146
|
+
### The community's own hooks
|
|
147
|
+
|
|
148
|
+
Five hooks are about the community's install rather than a connection. Each
|
|
149
|
+
is optional; a plug-in that defines none is answered 404, and Initiative stops
|
|
150
|
+
sending that hook.
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
hooks: {
|
|
154
|
+
installed: async ({ installation }) => { /* a first install, or a return */ },
|
|
155
|
+
uninstalled: async ({ installation }) => { /* keep what you hold: it may come back */ },
|
|
156
|
+
erase: async ({ installation }) => { /* delete everything about this community */ },
|
|
157
|
+
community_status: async ({ installation, status }) => { /* pause unless active */ },
|
|
158
|
+
entitlement: async ({ installation, version, values }) => { /* keep the newest */ },
|
|
159
|
+
},
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
- `installed` runs when the community installs the plug-in, and again if it
|
|
163
|
+
returns after an uninstall. It comes back under the same `installation`
|
|
164
|
+
and the same member references, so whatever you kept for it still fits.
|
|
165
|
+
- `uninstalled` runs when it removes the plug-in. Its references stand.
|
|
166
|
+
- `erase` runs when the community asks for the plug-in's data to be deleted,
|
|
167
|
+
or is itself purged. Delete everything you hold for it. Once the hook
|
|
168
|
+
answers, Initiative forgets the references, and a later install starts
|
|
169
|
+
afresh under new ones. A hook that throws is asked again.
|
|
170
|
+
- `community_status` runs whenever the community's standing changes. The same
|
|
171
|
+
value rides every call as `community_status`, so a missed hook is caught up
|
|
172
|
+
on the next call.
|
|
173
|
+
- `entitlement` carries the deployment's statement of what this community
|
|
174
|
+
holds of the plug-in: `values`, whose keys are agreed between the plug-in
|
|
175
|
+
and the deployment's issuer, and a `version` that rises with each
|
|
176
|
+
statement. Statements can repeat or arrive out of order, so keep the
|
|
177
|
+
highest version you have seen and ignore a lower one. A deployment with no
|
|
178
|
+
issuer never sends one.
|
|
179
|
+
|
|
145
180
|
### The vendor's own setup
|
|
146
181
|
|
|
147
182
|
`vendor.fields` are the values an operator gives once per deployment for the
|
|
@@ -385,8 +420,10 @@ speaks `Request` and `Response`. `serve` runs it on `node:http`, on `PORT`
|
|
|
385
420
|
| `POST /v1/hooks/{name}` | Initiative's hook calls, on a lifecycle token for that hook. |
|
|
386
421
|
| a page's path | The page's handler. |
|
|
387
422
|
|
|
388
|
-
Every call's token is verified against the deployment's JWKS,
|
|
389
|
-
and refetched once for a key it does not know.
|
|
423
|
+
Every call's token is an EdDSA JWT, verified against the deployment's JWKS,
|
|
424
|
+
which is cached and refetched once for a key it does not know. Only the set's
|
|
425
|
+
Ed25519 keys are read, and a token signed any other way (RS256, ES256, `none`) is
|
|
426
|
+
refused. Each kind carries its own `typ`
|
|
390
427
|
(`initiative-context+jwt` on endpoint and hook calls, `initiative-handoff+jwt` on
|
|
391
428
|
a page handoff), and each path takes only its own kind. Bodies are capped at 5 MiB. A
|
|
392
429
|
refusal answers `{ "error": code, "detail": sentence }`.
|
|
@@ -400,7 +437,7 @@ refusal answers `{ "error": code, "detail": sentence }`.
|
|
|
400
437
|
| `context` | | Handed to every handler as `context`. |
|
|
401
438
|
| `fetch`, `now`, `log`, `env` | | For tests and other runtimes. |
|
|
402
439
|
|
|
403
|
-
**The plug-in's key.** With no key given, the plug-in generates an
|
|
440
|
+
**The plug-in's key.** With no key given, the plug-in generates an Ed25519 key the first
|
|
404
441
|
time it starts, keeps it, and serves its public half at
|
|
405
442
|
`/.well-known/jwks.json`. The deployment running it registers that JWKS with
|
|
406
443
|
Initiative, beside where the plug-in runs, in its `PLUGIN_SERVICES_CONFIG` entry or
|
|
@@ -417,13 +454,18 @@ two can be compared. `jwkThumbprint` from `initiative-plugin-sdk/client` compute
|
|
|
417
454
|
it for a JWKS entry. To bring your own key:
|
|
418
455
|
|
|
419
456
|
```sh
|
|
420
|
-
npx initiative-plugin keygen --
|
|
457
|
+
npx initiative-plugin keygen --out ./secrets
|
|
421
458
|
```
|
|
422
459
|
|
|
423
460
|
`private-key.pem` (mode 0600) stays with the plug-in; `jwks.json` is its public
|
|
424
461
|
half. To rotate, publish a JWKS holding both keys, switch the plug-in to the new
|
|
425
462
|
one, then drop the old entry.
|
|
426
463
|
|
|
464
|
+
Every plug-in key is Ed25519, signing EdDSA, as is the deployment's own key. Its signatures are deterministic,
|
|
465
|
+
so there is no per-signature nonce whose reuse or bias would give the key away.
|
|
466
|
+
`loadPrivateKey` refuses any other kind of key. A deployment that runs the
|
|
467
|
+
plug-in from its package mints the key for it.
|
|
468
|
+
|
|
427
469
|
**Context.** Your own services reach handlers as `context`. Say what it holds
|
|
428
470
|
once:
|
|
429
471
|
|
|
@@ -497,6 +539,12 @@ for (const { installation, active } of await initiative.installations()) {
|
|
|
497
539
|
`client.connections()`, `client.connectionToken(ref)` for a usable vendor
|
|
498
540
|
token, `client.reportConfigStatus({ state, detail })`, and
|
|
499
541
|
`client.emitEvent({ eventType, payload, initiativeId })`.
|
|
542
|
+
- What the community holds of the plug-in: `client.entitlement()` reads the
|
|
543
|
+
statement the `entitlement` hook delivers, or null when there is none, and
|
|
544
|
+
`client.reportUsage({ meter, period, quantity })` reports a meter's total
|
|
545
|
+
for one `YYYY-MM` period. The total is the whole period's, never an
|
|
546
|
+
increment, so repeating a report is harmless. Only meters the deployment
|
|
547
|
+
allows the plug-in are accepted.
|
|
500
548
|
|
|
501
549
|
The plug-in authenticates with its key (`private_key_jwt`, RFC 7523). Tokens are
|
|
502
550
|
opaque; the client caches each until shortly before it expires, shares one
|
|
@@ -517,6 +565,7 @@ listing: {
|
|
|
517
565
|
summary: "Your tracker's tickets on a dashboard and in your automations.",
|
|
518
566
|
description: "…",
|
|
519
567
|
avatar: "assets/avatar.png",
|
|
568
|
+
images: [{ path: "assets/board.png", alt: "Open tickets on a dashboard" }],
|
|
520
569
|
version: "1.2.0",
|
|
521
570
|
minAppVersion: "0.72.0",
|
|
522
571
|
releaseNotes: "…",
|
|
@@ -532,6 +581,13 @@ listing: {
|
|
|
532
581
|
},
|
|
533
582
|
```
|
|
534
583
|
|
|
584
|
+
`images` is optional: the screenshots on the listing page, in order, at most
|
|
585
|
+
12. Each is a PNG, JPEG, WebP, GIF, AVIF or SVG file with `alt` text of 1 to
|
|
586
|
+
300 characters for someone who cannot see it, and a file name of its own (the
|
|
587
|
+
avatar sits beside them in the registry source). The registry signs each one
|
|
588
|
+
by its digest, as it does the avatar. `pack` leaves them out: a deployment's
|
|
589
|
+
own listing upload takes only the avatar.
|
|
590
|
+
|
|
535
591
|
`compose` is optional: the Docker Compose service an operator copies to run
|
|
536
592
|
your image beside Initiative, which Initiative shows on the plug-in's settings
|
|
537
593
|
page. `service` is the fragment, YAML text of at most 4096 characters, with two
|
|
@@ -541,6 +597,35 @@ the build, so a misspelt placeholder cannot ship. `baseUrl` is where the
|
|
|
541
597
|
service answers on the Compose network, an http or https URL of at most 512
|
|
542
598
|
characters; Initiative pre-fills the deployment's base URL with it.
|
|
543
599
|
|
|
600
|
+
`runtime` is optional too, and is for a plug-in a deployment runs for its
|
|
601
|
+
operator from a reviewed package. It says what the container needs, so the
|
|
602
|
+
deployment can run it with no code of its own:
|
|
603
|
+
|
|
604
|
+
```ts
|
|
605
|
+
runtime: {
|
|
606
|
+
name: "tracker",
|
|
607
|
+
port: 8080,
|
|
608
|
+
health: { ready: "/readyz", live: "/healthz" },
|
|
609
|
+
facts: { INITIATIVE_API_URL: "app_api_internal" },
|
|
610
|
+
settings: [{ env: "TRACKER_MODE", required: true }],
|
|
611
|
+
signingKey: { env: "TRACKER_PRIVATE_KEY_PEM" },
|
|
612
|
+
database: {
|
|
613
|
+
roles: [{ id: "owner", login: "tracker_owner", env: "DATABASE_URL" }],
|
|
614
|
+
provisionSql: "/app/provision.sql",
|
|
615
|
+
},
|
|
616
|
+
},
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
It holds nothing that raises a privilege. Resources, network rules, hostnames
|
|
620
|
+
and every key and password stay the deployment's:
|
|
621
|
+
|
|
622
|
+
- `facts` come from a fixed list: `app_url`, `app_origin`, `app_api_public`,
|
|
623
|
+
`app_api_internal`, `page_origin` and `port`.
|
|
624
|
+
- `settings` are names the operator fills.
|
|
625
|
+
- `secrets` are generated by the deployment and kept.
|
|
626
|
+
|
|
627
|
+
The public registry refuses a listing that carries a runtime.
|
|
628
|
+
|
|
544
629
|
`minAppVersion` is the oldest Initiative release a version runs on. Beside it,
|
|
545
630
|
the definition's `minPluginApi` (the manifest's `min_plugin_api`) is the
|
|
546
631
|
oldest [plug-in API contract](#the-plug-in-api-contract) the plug-in calls, as
|
package/dist/build.d.ts
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
* parse fails the build at its place in the manifest.
|
|
8
8
|
* - With `--registry <dir>`, the plug-in's registry source under
|
|
9
9
|
* `<dir>/<publisher>/<uid>/`: `listing.json`, this version's
|
|
10
|
-
* `<version>/manifest.json
|
|
11
|
-
* listing names the package's own version: between releases
|
|
12
|
-
* runs ahead of its listing, and what the listing already
|
|
13
|
-
* as it was.
|
|
10
|
+
* `<version>/manifest.json`, the avatar and any images. It is written
|
|
11
|
+
* only while the listing names the package's own version: between releases
|
|
12
|
+
* the package runs ahead of its listing, and what the listing already
|
|
13
|
+
* publishes is left as it was.
|
|
14
14
|
*
|
|
15
15
|
* With `--check` nothing is written, and any file that differs from what would
|
|
16
16
|
* be written is a failure.
|
|
@@ -77,6 +77,6 @@ export declare function load(command: string, root: string, options: {
|
|
|
77
77
|
export declare function compile(esbuild: Esbuild, root: string, entry: string): Promise<Compiled>;
|
|
78
78
|
/** Build, or check, the plug-in's files. Answers the process's exit code. */
|
|
79
79
|
export declare function build(options: BuildOptions): Promise<number>;
|
|
80
|
-
/** A listing's registration: the plug-in's kind, and a container's image
|
|
80
|
+
/** A listing's registration: the plug-in's kind, and a container's image, Compose service and runtime. */
|
|
81
81
|
export declare function registrationOf(plugin: ListedPlugin): Record<string, unknown>;
|
|
82
82
|
export {};
|
package/dist/build.js
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
* parse fails the build at its place in the manifest.
|
|
8
8
|
* - With `--registry <dir>`, the plug-in's registry source under
|
|
9
9
|
* `<dir>/<publisher>/<uid>/`: `listing.json`, this version's
|
|
10
|
-
* `<version>/manifest.json
|
|
11
|
-
* listing names the package's own version: between releases
|
|
12
|
-
* runs ahead of its listing, and what the listing already
|
|
13
|
-
* as it was.
|
|
10
|
+
* `<version>/manifest.json`, the avatar and any images. It is written
|
|
11
|
+
* only while the listing names the package's own version: between releases
|
|
12
|
+
* the package runs ahead of its listing, and what the listing already
|
|
13
|
+
* publishes is left as it was.
|
|
14
14
|
*
|
|
15
15
|
* With `--check` nothing is written, and any file that differs from what would
|
|
16
16
|
* be written is a failure.
|
|
@@ -86,12 +86,28 @@ export async function compile(esbuild, root, entry) {
|
|
|
86
86
|
}
|
|
87
87
|
return checked(plugin, manifestOf(plugin, modules), problems);
|
|
88
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Listing terms this contract no longer has, named rather than dropped: a
|
|
91
|
+
* built plug-in is JSON, and a key it still carries would otherwise vanish
|
|
92
|
+
* without a word.
|
|
93
|
+
*/
|
|
94
|
+
function retiredProblems(plugin) {
|
|
95
|
+
const listing = (plugin.listing ?? {});
|
|
96
|
+
return "referenceSectors" in listing
|
|
97
|
+
? ["listing.referenceSectors was removed in 7.0: whether a plug-in is billable is a package's to state, not its listing's"]
|
|
98
|
+
: [];
|
|
99
|
+
}
|
|
89
100
|
/** The plug-in and its manifest, or every problem with them beside `problems`. */
|
|
90
101
|
function checked(plugin, manifest, problems) {
|
|
91
102
|
problems.push(...validateManifest(manifest, { publicId: plugin.publicId }).map((problem) => `manifest${problem.where}: ${problem.message}`));
|
|
92
103
|
problems.push(...kindProblems(plugin));
|
|
104
|
+
problems.push(...retiredProblems(plugin));
|
|
93
105
|
if (plugin.listing?.compose)
|
|
94
106
|
problems.push(...composeProblems(plugin.listing.compose));
|
|
107
|
+
if (plugin.listing?.runtime)
|
|
108
|
+
problems.push(...runtimeProblems(plugin.listing.runtime));
|
|
109
|
+
if (plugin.listing?.images)
|
|
110
|
+
problems.push(...imageProblems(plugin.listing));
|
|
95
111
|
return problems.length ? { problems } : { plugin, manifest };
|
|
96
112
|
}
|
|
97
113
|
/** Build, or check, the plug-in's files. Answers the process's exit code. */
|
|
@@ -119,8 +135,9 @@ export async function build(options) {
|
|
|
119
135
|
: listing.version;
|
|
120
136
|
if (version === listing.version) {
|
|
121
137
|
const avatar = readFileSync(resolve(root, listing.avatar));
|
|
138
|
+
const images = (listing.images ?? []).map((image) => readFileSync(resolve(root, image.path)));
|
|
122
139
|
const source = resolve(root, options.registry, listing.publisher, plugin.uid);
|
|
123
|
-
outputs.push([join(source, "listing.json"), `${JSON.stringify(listingSource(plugin, avatar), null, 2)}\n`], [join(source, listing.version, "manifest.json"), manifestText], [join(source, "assets", basename(listing.avatar)), avatar]);
|
|
140
|
+
outputs.push([join(source, "listing.json"), `${JSON.stringify(listingSource(plugin, avatar, images), null, 2)}\n`], [join(source, listing.version, "manifest.json"), manifestText], [join(source, "assets", basename(listing.avatar)), avatar], ...(listing.images ?? []).map((image, index) => [join(source, "assets", basename(image.path)), images[index]]));
|
|
124
141
|
}
|
|
125
142
|
else {
|
|
126
143
|
process.stdout.write(`the registry source lists ${listing.version}; ${version} is listed at its release\n`);
|
|
@@ -204,8 +221,9 @@ function kindProblems(plugin) {
|
|
|
204
221
|
problems.push("hooks: a declarative plug-in runs no hooks");
|
|
205
222
|
if (plugin.scopes)
|
|
206
223
|
problems.push("scopes: a declarative plug-in asks for none, since it does not call Initiative");
|
|
207
|
-
if (plugin.listing?.image || plugin.listing?.compose)
|
|
208
|
-
problems.push("listing: a declarative plug-in has no image
|
|
224
|
+
if (plugin.listing?.image || plugin.listing?.compose || plugin.listing?.runtime) {
|
|
225
|
+
problems.push("listing: a declarative plug-in has no image, compose service or runtime");
|
|
226
|
+
}
|
|
209
227
|
}
|
|
210
228
|
else if (plugin.listing && !plugin.listing.image) {
|
|
211
229
|
problems.push("listing: a container plug-in names its image");
|
|
@@ -226,8 +244,75 @@ function composeProblems({ service, baseUrl }) {
|
|
|
226
244
|
}
|
|
227
245
|
return problems;
|
|
228
246
|
}
|
|
247
|
+
const PICTURE = /\.(png|jpe?g|webp|gif|avif|svg)$/i;
|
|
248
|
+
const MAX_IMAGES = 12;
|
|
249
|
+
/**
|
|
250
|
+
* The registry's rules for a listing's screenshots: how many, their alt text,
|
|
251
|
+
* their file types, and a name of their own in the listing's `assets/`, where
|
|
252
|
+
* the avatar sits beside them.
|
|
253
|
+
*/
|
|
254
|
+
function imageProblems({ avatar, images = [] }) {
|
|
255
|
+
const problems = [];
|
|
256
|
+
if (images.length > MAX_IMAGES)
|
|
257
|
+
problems.push(`listing images: at most ${MAX_IMAGES}, not ${images.length}`);
|
|
258
|
+
const names = new Set([basename(avatar)]);
|
|
259
|
+
for (const { path, alt } of images) {
|
|
260
|
+
if (!PICTURE.test(path))
|
|
261
|
+
problems.push(`listing images: ${path} is not a PNG, JPEG, WebP, GIF, AVIF or SVG file`);
|
|
262
|
+
if (typeof alt !== "string" || !alt.trim() || alt.length > 300) {
|
|
263
|
+
problems.push(`listing images: ${path} needs alt text of 1 to 300 characters`);
|
|
264
|
+
}
|
|
265
|
+
const name = basename(path);
|
|
266
|
+
if (names.has(name))
|
|
267
|
+
problems.push(`listing images: ${path} has the same file name as another picture`);
|
|
268
|
+
names.add(name);
|
|
269
|
+
}
|
|
270
|
+
return problems;
|
|
271
|
+
}
|
|
272
|
+
const ENV = /^[A-Z][A-Z0-9_]{0,63}$/;
|
|
273
|
+
const PATH = /^\/[A-Za-z0-9._~/-]*$/;
|
|
274
|
+
/**
|
|
275
|
+
* The registry's rules for a runtime that a build can see by itself: names,
|
|
276
|
+
* the port, paths and variable names. The registry checks the rest.
|
|
277
|
+
*/
|
|
278
|
+
function runtimeProblems(runtime) {
|
|
279
|
+
const problems = [];
|
|
280
|
+
const say = (problem) => problems.push(`listing runtime: ${problem}`);
|
|
281
|
+
if (!/^[a-z]([a-z0-9-]{0,18}[a-z0-9])?$/.test(runtime.name))
|
|
282
|
+
say("name is a DNS label of at most 20 characters");
|
|
283
|
+
if (!Number.isInteger(runtime.port) || runtime.port < 1024 || runtime.port > 65535)
|
|
284
|
+
say("port is 1024 to 65535");
|
|
285
|
+
for (const path of [runtime.health.ready, runtime.health.live, ...(runtime.publicPaths ?? []), ...(runtime.metrics ? [runtime.metrics.path] : [])]) {
|
|
286
|
+
if (!PATH.test(path) || path.length > 200)
|
|
287
|
+
say(`${path} is not an absolute path`);
|
|
288
|
+
}
|
|
289
|
+
const envs = [
|
|
290
|
+
...Object.keys(runtime.facts ?? {}),
|
|
291
|
+
...(runtime.settings ?? []).map((setting) => setting.env),
|
|
292
|
+
...(runtime.signingKey ? [runtime.signingKey.env] : []),
|
|
293
|
+
...(runtime.database?.roles ?? []).map((role) => role.env),
|
|
294
|
+
...(runtime.secrets ?? []).map((secret) => secret.env),
|
|
295
|
+
...(runtime.metrics ? [runtime.metrics.tokenEnv] : []),
|
|
296
|
+
];
|
|
297
|
+
for (const env of envs)
|
|
298
|
+
if (!ENV.test(env))
|
|
299
|
+
say(`${env} is not an environment variable name`);
|
|
300
|
+
const seen = new Set();
|
|
301
|
+
for (const env of envs) {
|
|
302
|
+
if (seen.has(env))
|
|
303
|
+
say(`${env} is filled twice`);
|
|
304
|
+
seen.add(env);
|
|
305
|
+
}
|
|
306
|
+
if (runtime.facts && Object.values(runtime.facts).includes("page_origin") && !runtime.pages) {
|
|
307
|
+
say("page_origin is a plug-in's own origin, which only one that serves pages has");
|
|
308
|
+
}
|
|
309
|
+
if (runtime.database && !/^\/[A-Za-z0-9._/-]+\.sql$/.test(runtime.database.provisionSql)) {
|
|
310
|
+
say("database provisionSql is an absolute path to a .sql file in the image");
|
|
311
|
+
}
|
|
312
|
+
return problems;
|
|
313
|
+
}
|
|
229
314
|
/** The registry source listing: what the catalogue shows, this version, and the registration, a container's or a declarative plug-in's. */
|
|
230
|
-
function listingSource(plugin, avatar) {
|
|
315
|
+
function listingSource(plugin, avatar, images) {
|
|
231
316
|
const listing = plugin.listing;
|
|
232
317
|
return {
|
|
233
318
|
schema: 1,
|
|
@@ -242,6 +327,15 @@ function listingSource(plugin, avatar) {
|
|
|
242
327
|
path: `assets/${basename(listing.avatar)}`,
|
|
243
328
|
sha256: createHash("sha256").update(avatar).digest("hex"),
|
|
244
329
|
},
|
|
330
|
+
...(listing.images?.length
|
|
331
|
+
? {
|
|
332
|
+
images: listing.images.map((image, index) => ({
|
|
333
|
+
path: `assets/${basename(image.path)}`,
|
|
334
|
+
sha256: createHash("sha256").update(images[index]).digest("hex"),
|
|
335
|
+
alt: image.alt,
|
|
336
|
+
})),
|
|
337
|
+
}
|
|
338
|
+
: {}),
|
|
245
339
|
versions: [
|
|
246
340
|
{
|
|
247
341
|
version: listing.version,
|
|
@@ -253,14 +347,50 @@ function listingSource(plugin, avatar) {
|
|
|
253
347
|
registration: registrationOf(plugin),
|
|
254
348
|
};
|
|
255
349
|
}
|
|
256
|
-
/** A listing's registration: the plug-in's kind, and a container's image
|
|
350
|
+
/** A listing's registration: the plug-in's kind, and a container's image, Compose service and runtime. */
|
|
257
351
|
export function registrationOf(plugin) {
|
|
258
352
|
const listing = plugin.listing;
|
|
259
353
|
return {
|
|
260
354
|
...(plugin.hosts ? { kind: "declarative" } : { kind: "container", image: listing.image }),
|
|
261
355
|
scope_ceiling: [...(listing.scopeCeiling ?? plugin.scopes ?? [])],
|
|
262
|
-
reference_sectors: [...(listing.referenceSectors ?? [])],
|
|
263
356
|
...(listing.compose ? { compose: { service: listing.compose.service, base_url: listing.compose.baseUrl } } : {}),
|
|
357
|
+
...(listing.runtime ? { runtime: runtimeOf(listing.runtime) } : {}),
|
|
264
358
|
};
|
|
265
359
|
}
|
|
360
|
+
/** A runtime as the registry spells it. Variable names stay as they are; only field names change. */
|
|
361
|
+
function runtimeOf(runtime) {
|
|
362
|
+
const defined = (entries) => Object.fromEntries(Object.entries(entries).filter(([, value]) => value !== undefined));
|
|
363
|
+
const { health, database, metrics, integrations } = runtime;
|
|
364
|
+
return defined({
|
|
365
|
+
name: runtime.name,
|
|
366
|
+
port: runtime.port,
|
|
367
|
+
health: defined({ ready: health.ready, live: health.live, startup_seconds: health.startupSeconds }),
|
|
368
|
+
stop_grace_seconds: runtime.stopGraceSeconds,
|
|
369
|
+
migrates_on_start: runtime.migratesOnStart,
|
|
370
|
+
pages: runtime.pages,
|
|
371
|
+
public_paths: runtime.publicPaths && [...runtime.publicPaths],
|
|
372
|
+
facts: runtime.facts && { ...runtime.facts },
|
|
373
|
+
settings: runtime.settings?.map((setting) => defined({ env: setting.env, required: setting.required })),
|
|
374
|
+
signing_key: runtime.signingKey && { env: runtime.signingKey.env },
|
|
375
|
+
database: database &&
|
|
376
|
+
defined({
|
|
377
|
+
min_major: database.minMajor,
|
|
378
|
+
dsn_scheme: database.dsnScheme,
|
|
379
|
+
roles: database.roles.map((role) => ({ id: role.id, login: role.login, env: role.env })),
|
|
380
|
+
provision_sql: database.provisionSql,
|
|
381
|
+
}),
|
|
382
|
+
secrets: runtime.secrets?.map((secret) => ({ id: secret.id, kind: secret.kind, env: secret.env })),
|
|
383
|
+
metrics: metrics && { path: metrics.path, token_env: metrics.tokenEnv },
|
|
384
|
+
integrations: integrations &&
|
|
385
|
+
defined({
|
|
386
|
+
billing: integrations.billing &&
|
|
387
|
+
defined({
|
|
388
|
+
hmac_env: integrations.billing.hmacEnv,
|
|
389
|
+
hmac_previous_env: integrations.billing.hmacPreviousEnv,
|
|
390
|
+
public_key_env: integrations.billing.publicKeyEnv,
|
|
391
|
+
}),
|
|
392
|
+
bundled_channel: integrations.bundledChannel && { env: integrations.bundledChannel.env },
|
|
393
|
+
}),
|
|
394
|
+
});
|
|
395
|
+
}
|
|
266
396
|
//# sourceMappingURL=build.js.map
|
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/cli.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* initiative-plugin build [--plugin <file> | --manifest <file>] [--registry <dir>] [--check]
|
|
8
8
|
* initiative-plugin pack [--plugin <file> | --manifest <file>] [--out <file>]
|
|
9
9
|
* initiative-plugin dev --initiative <url> [--api-key <key>] [--plugin <file>]
|
|
10
|
-
* initiative-plugin keygen [--
|
|
10
|
+
* initiative-plugin keygen [--kid <id>] [--out <dir>]
|
|
11
11
|
* initiative-plugin validate <file.json> a manifest, or a served manifest document
|
|
12
12
|
* initiative-plugin schema print the schema a manifest is checked against
|
|
13
13
|
* initiative-plugin uid mint a catalog uid
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* deployment publishes as its own plug-in (`pack.ts`), and `dev` uploads it to one
|
|
20
20
|
* and again on each change (`dev.ts`); its key may be given as
|
|
21
21
|
* `INITIATIVE_API_KEY` instead. `init` copies an example (`init.ts`).
|
|
22
|
-
* `keygen` writes `private-key.pem` (mode 0600) and `jwks.json`
|
|
22
|
+
* `keygen` writes an Ed25519 `private-key.pem` (mode 0600) and `jwks.json`
|
|
23
23
|
* into `--out` and refuses to overwrite either.
|
|
24
24
|
*/
|
|
25
25
|
export {};
|
package/dist/cli.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* initiative-plugin build [--plugin <file> | --manifest <file>] [--registry <dir>] [--check]
|
|
8
8
|
* initiative-plugin pack [--plugin <file> | --manifest <file>] [--out <file>]
|
|
9
9
|
* initiative-plugin dev --initiative <url> [--api-key <key>] [--plugin <file>]
|
|
10
|
-
* initiative-plugin keygen [--
|
|
10
|
+
* initiative-plugin keygen [--kid <id>] [--out <dir>]
|
|
11
11
|
* initiative-plugin validate <file.json> a manifest, or a served manifest document
|
|
12
12
|
* initiative-plugin schema print the schema a manifest is checked against
|
|
13
13
|
* initiative-plugin uid mint a catalog uid
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* deployment publishes as its own plug-in (`pack.ts`), and `dev` uploads it to one
|
|
20
20
|
* and again on each change (`dev.ts`); its key may be given as
|
|
21
21
|
* `INITIATIVE_API_KEY` instead. `init` copies an example (`init.ts`).
|
|
22
|
-
* `keygen` writes `private-key.pem` (mode 0600) and `jwks.json`
|
|
22
|
+
* `keygen` writes an Ed25519 `private-key.pem` (mode 0600) and `jwks.json`
|
|
23
23
|
* into `--out` and refuses to overwrite either.
|
|
24
24
|
*/
|
|
25
25
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
@@ -37,7 +37,7 @@ function usage() {
|
|
|
37
37
|
" initiative-plugin build [--plugin <file> | --manifest <file>] [--registry <dir>] [--check]",
|
|
38
38
|
" initiative-plugin pack [--plugin <file> | --manifest <file>] [--out <file>]",
|
|
39
39
|
" initiative-plugin dev --initiative <url> [--api-key <key>] [--plugin <file>]",
|
|
40
|
-
" initiative-plugin keygen [--
|
|
40
|
+
" initiative-plugin keygen [--kid <id>] [--out <dir>]",
|
|
41
41
|
" initiative-plugin validate <file.json>",
|
|
42
42
|
" initiative-plugin schema",
|
|
43
43
|
" initiative-plugin uid",
|
|
@@ -63,12 +63,7 @@ function flags(args, values, switches = []) {
|
|
|
63
63
|
return out;
|
|
64
64
|
}
|
|
65
65
|
function keygen(args) {
|
|
66
|
-
const options = flags(args, ["
|
|
67
|
-
const alg = (options.alg ?? "RS256");
|
|
68
|
-
if (alg !== "RS256" && alg !== "ES256") {
|
|
69
|
-
process.stderr.write(`unsupported --alg ${alg}: use RS256 or ES256\n`);
|
|
70
|
-
return 2;
|
|
71
|
-
}
|
|
66
|
+
const options = flags(args, ["kid", "out"]);
|
|
72
67
|
const dir = options.out ?? ".";
|
|
73
68
|
const keyPath = join(dir, "private-key.pem");
|
|
74
69
|
const jwksPath = join(dir, "jwks.json");
|
|
@@ -78,7 +73,7 @@ function keygen(args) {
|
|
|
78
73
|
return 1;
|
|
79
74
|
}
|
|
80
75
|
}
|
|
81
|
-
const keys = generatePluginKeys(
|
|
76
|
+
const keys = generatePluginKeys(options.kid ? { kid: options.kid } : {});
|
|
82
77
|
mkdirSync(dir, { recursive: true });
|
|
83
78
|
writeFileSync(keyPath, keys.privateKeyPem, { mode: 0o600, flag: "wx" });
|
|
84
79
|
writeFileSync(jwksPath, `${JSON.stringify(keys.jwks, null, 2)}\n`, { flag: "wx" });
|
|
@@ -86,7 +81,7 @@ function keygen(args) {
|
|
|
86
81
|
`wrote ${keyPath} (keep it secret)`,
|
|
87
82
|
`wrote ${jwksPath} (the public half, for the plug-in's listing or a deployment's operator)`,
|
|
88
83
|
`kid: ${keys.kid}`,
|
|
89
|
-
|
|
84
|
+
"alg: EdDSA (Ed25519)",
|
|
90
85
|
"",
|
|
91
86
|
].join("\n"));
|
|
92
87
|
return 0;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ import { PluginApi } from "./plugin-api.generated.js";
|
|
|
27
27
|
import type { ActorKind, ItemKind, PluginScope, Scope } from "./contract.js";
|
|
28
28
|
import type { Actor, ItemRef } from "./define.js";
|
|
29
29
|
import { type PluginSigningKey } from "./keys.js";
|
|
30
|
-
export { generatePluginKeys, jwkThumbprint, loadPrivateKey, publicJwks, type
|
|
30
|
+
export { generatePluginKeys, jwkThumbprint, loadPrivateKey, publicJwks, type PluginSigningKey, type GeneratedPluginKeys, type Jwks, type PublicJwk, } from "./keys.js";
|
|
31
31
|
export type { PluginApi, PluginApiSchemas } from "./plugin-api.generated.js";
|
|
32
32
|
export interface InitiativeOptions {
|
|
33
33
|
/** The deployment's API base, such as `https://initiative.example.com/api/v1`. */
|
|
@@ -135,6 +135,30 @@ export interface InstallationEvent {
|
|
|
135
135
|
/** The initiative the event is about, when it is about one. */
|
|
136
136
|
initiativeId?: number;
|
|
137
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* What the deployment's entitlement issuer says this community holds of the
|
|
140
|
+
* plug-in: the statement the `entitlement` hook carries, read on demand.
|
|
141
|
+
*/
|
|
142
|
+
export interface Entitlement {
|
|
143
|
+
/** Rises with every new statement for the community. */
|
|
144
|
+
version: number;
|
|
145
|
+
/** The statement, whole. Its keys are agreed between the plug-in and the issuer. */
|
|
146
|
+
values: Record<string, unknown>;
|
|
147
|
+
}
|
|
148
|
+
export interface UsageReport {
|
|
149
|
+
/** A meter the deployment allows this plug-in to report. */
|
|
150
|
+
meter: string;
|
|
151
|
+
/** The calendar month the usage falls in, `YYYY-MM` in UTC. */
|
|
152
|
+
period: string;
|
|
153
|
+
/**
|
|
154
|
+
* The total for the whole period so far, never an increment. Initiative
|
|
155
|
+
* keeps the highest total it is sent and refuses a lower one, so a report
|
|
156
|
+
* repeated or delayed changes nothing.
|
|
157
|
+
*/
|
|
158
|
+
quantity: number;
|
|
159
|
+
/** When the total was counted. Defaults to now. */
|
|
160
|
+
asOf?: Date;
|
|
161
|
+
}
|
|
138
162
|
export interface ConsentRequest {
|
|
139
163
|
member: string;
|
|
140
164
|
/** The plug-in's own id for what the member is consenting to. Absent: the whole plug-in. */
|
|
@@ -305,6 +329,19 @@ export declare class Client {
|
|
|
305
329
|
reportConfigStatus(report: ConfigStatusReport): Promise<ConfigStatus>;
|
|
306
330
|
/** Emit one of the plug-in's declared events, for Initiative to keep and deliver. */
|
|
307
331
|
emitEvent(event: InstallationEvent): Promise<void>;
|
|
332
|
+
/**
|
|
333
|
+
* The current entitlement statement for this community, or null when the
|
|
334
|
+
* deployment's issuer has made none. The same statement the `entitlement`
|
|
335
|
+
* hook delivers: read it to catch up after a restart, or when the hook has
|
|
336
|
+
* not come.
|
|
337
|
+
*/
|
|
338
|
+
entitlement(): Promise<Entitlement | null>;
|
|
339
|
+
/**
|
|
340
|
+
* Report a meter's total for one period. Only a meter the deployment allows
|
|
341
|
+
* this plug-in to report is accepted; any other is refused with 403, which is
|
|
342
|
+
* every meter on a deployment that bills nothing.
|
|
343
|
+
*/
|
|
344
|
+
reportUsage(report: UsageReport): Promise<void>;
|
|
308
345
|
/** Ask a member to let the plug-in act for them, on Initiative's own consent screen. */
|
|
309
346
|
requestConsent(request: ConsentRequest): Promise<Record<string, unknown>>;
|
|
310
347
|
/** One operation of the plug-in API, its scope resolved from the operations table. */
|