@skillcdn/console 0.4.1 → 0.4.3
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 +19 -2
- package/SKILLCDN.md +7 -5
- package/dist/api.d.ts +5 -4
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +5 -4
- package/dist/api.js.map +1 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +569 -48
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/format.d.ts +34 -3
- package/dist/cli/format.d.ts.map +1 -1
- package/dist/cli/format.js +283 -7
- package/dist/cli/format.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +44 -7
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/plugin-check.d.ts +26 -0
- package/dist/cli/plugin-check.d.ts.map +1 -0
- package/dist/cli/plugin-check.js +396 -0
- package/dist/cli/plugin-check.js.map +1 -0
- package/dist/cli/plugin-cli.d.ts +20 -0
- package/dist/cli/plugin-cli.d.ts.map +1 -0
- package/dist/cli/plugin-cli.js +189 -0
- package/dist/cli/plugin-cli.js.map +1 -0
- package/dist/cli/plugin-init.d.ts +37 -0
- package/dist/cli/plugin-init.d.ts.map +1 -0
- package/dist/cli/plugin-init.js +206 -0
- package/dist/cli/plugin-init.js.map +1 -0
- package/dist/cli/plugin-main.d.ts +3 -0
- package/dist/cli/plugin-main.d.ts.map +1 -0
- package/dist/cli/plugin-main.js +28 -0
- package/dist/cli/plugin-main.js.map +1 -0
- package/dist/client.d.ts +100 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +79 -7
- package/dist/client.js.map +1 -1
- package/dist/compat.d.ts +1 -1
- package/dist/compat.js +2 -2
- package/dist/components/board.d.ts +8 -0
- package/dist/components/board.d.ts.map +1 -1
- package/dist/components/board.js +59 -15
- package/dist/components/board.js.map +1 -1
- package/dist/components/comments.d.ts.map +1 -1
- package/dist/components/comments.js +1 -1
- package/dist/components/comments.js.map +1 -1
- package/dist/components/decision-form.d.ts +2 -1
- package/dist/components/decision-form.d.ts.map +1 -1
- package/dist/components/decision-form.js +36 -4
- package/dist/components/decision-form.js.map +1 -1
- package/dist/components/decision-list.d.ts +4 -0
- package/dist/components/decision-list.d.ts.map +1 -1
- package/dist/components/decision-list.js +29 -3
- package/dist/components/decision-list.js.map +1 -1
- package/dist/components/event-feed.d.ts +1 -1
- package/dist/components/event-feed.d.ts.map +1 -1
- package/dist/components/event-feed.js +33 -1
- package/dist/components/event-feed.js.map +1 -1
- package/dist/components/my-decisions.d.ts +2 -0
- package/dist/components/my-decisions.d.ts.map +1 -1
- package/dist/components/my-decisions.js +2 -2
- package/dist/components/my-decisions.js.map +1 -1
- package/dist/components/plugin-frame.d.ts +52 -0
- package/dist/components/plugin-frame.d.ts.map +1 -0
- package/dist/components/plugin-frame.js +314 -0
- package/dist/components/plugin-frame.js.map +1 -0
- package/dist/components/plugin-settings.d.ts +38 -0
- package/dist/components/plugin-settings.d.ts.map +1 -0
- package/dist/components/plugin-settings.js +348 -0
- package/dist/components/plugin-settings.js.map +1 -0
- package/dist/components/shell.d.ts +2 -0
- package/dist/components/shell.d.ts.map +1 -1
- package/dist/components/shell.js +26 -1
- package/dist/components/shell.js.map +1 -1
- package/dist/components/task-view.d.ts +2 -1
- package/dist/components/task-view.d.ts.map +1 -1
- package/dist/components/task-view.js.map +1 -1
- package/dist/components/workspace.d.ts +7 -1
- package/dist/components/workspace.d.ts.map +1 -1
- package/dist/components/workspace.js +1 -1
- package/dist/components/workspace.js.map +1 -1
- package/dist/console.css +330 -1
- package/dist/console.d.ts.map +1 -1
- package/dist/console.js +152 -41
- package/dist/console.js.map +1 -1
- package/dist/data.d.ts +9 -2
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +45 -9
- package/dist/data.js.map +1 -1
- package/dist/i18n/en.d.ts +155 -0
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +166 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/ko.d.ts.map +1 -1
- package/dist/i18n/ko.js +150 -0
- package/dist/i18n/ko.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/limits.d.ts +2 -0
- package/dist/limits.d.ts.map +1 -1
- package/dist/limits.js +2 -0
- package/dist/limits.js.map +1 -1
- package/dist/plugin/args.d.ts +148 -0
- package/dist/plugin/args.d.ts.map +1 -0
- package/dist/plugin/args.js +369 -0
- package/dist/plugin/args.js.map +1 -0
- package/dist/plugin/bridge.d.ts +146 -0
- package/dist/plugin/bridge.d.ts.map +1 -0
- package/dist/plugin/bridge.js +125 -0
- package/dist/plugin/bridge.js.map +1 -0
- package/dist/plugin/capabilities.d.ts +20 -0
- package/dist/plugin/capabilities.d.ts.map +1 -0
- package/dist/plugin/capabilities.js +133 -0
- package/dist/plugin/capabilities.js.map +1 -0
- package/dist/plugin/context.d.ts +380 -0
- package/dist/plugin/context.d.ts.map +1 -0
- package/dist/plugin/context.js +2 -0
- package/dist/plugin/context.js.map +1 -0
- package/dist/plugin/define.d.ts +208 -0
- package/dist/plugin/define.d.ts.map +1 -0
- package/dist/plugin/define.js +482 -0
- package/dist/plugin/define.js.map +1 -0
- package/dist/plugin/definition-error.d.ts +11 -0
- package/dist/plugin/definition-error.d.ts.map +1 -0
- package/dist/plugin/definition-error.js +17 -0
- package/dist/plugin/definition-error.js.map +1 -0
- package/dist/plugin/limits.d.ts +67 -0
- package/dist/plugin/limits.d.ts.map +1 -0
- package/dist/plugin/limits.js +70 -0
- package/dist/plugin/limits.js.map +1 -0
- package/dist/plugin/load-worker.d.ts +7 -0
- package/dist/plugin/load-worker.d.ts.map +1 -0
- package/dist/plugin/load-worker.js +41 -0
- package/dist/plugin/load-worker.js.map +1 -0
- package/dist/plugin/load.d.ts +18 -0
- package/dist/plugin/load.d.ts.map +1 -0
- package/dist/plugin/load.js +62 -0
- package/dist/plugin/load.js.map +1 -0
- package/dist/plugin/manifest.d.ts +237 -0
- package/dist/plugin/manifest.d.ts.map +1 -0
- package/dist/plugin/manifest.js +411 -0
- package/dist/plugin/manifest.js.map +1 -0
- package/dist/plugin/refusals.d.ts +49 -0
- package/dist/plugin/refusals.d.ts.map +1 -0
- package/dist/plugin/refusals.js +79 -0
- package/dist/plugin/refusals.js.map +1 -0
- package/dist/plugin/rest-schemas.d.ts +556 -0
- package/dist/plugin/rest-schemas.d.ts.map +1 -0
- package/dist/plugin/rest-schemas.js +262 -0
- package/dist/plugin/rest-schemas.js.map +1 -0
- package/dist/plugin/sandbox.d.ts +23 -0
- package/dist/plugin/sandbox.d.ts.map +1 -0
- package/dist/plugin/sandbox.js +99 -0
- package/dist/plugin/sandbox.js.map +1 -0
- package/dist/plugin/testing.d.ts +45 -0
- package/dist/plugin/testing.d.ts.map +1 -0
- package/dist/plugin/testing.js +420 -0
- package/dist/plugin/testing.js.map +1 -0
- package/dist/plugin/web-react.d.ts +11 -0
- package/dist/plugin/web-react.d.ts.map +1 -0
- package/dist/plugin/web-react.js +34 -0
- package/dist/plugin/web-react.js.map +1 -0
- package/dist/plugin/web.d.ts +95 -0
- package/dist/plugin/web.d.ts.map +1 -0
- package/dist/plugin/web.js +245 -0
- package/dist/plugin/web.js.map +1 -0
- package/dist/plugin-nav.d.ts +29 -0
- package/dist/plugin-nav.d.ts.map +1 -0
- package/dist/plugin-nav.js +92 -0
- package/dist/plugin-nav.js.map +1 -0
- package/dist/plugin-testing.d.ts +2 -0
- package/dist/plugin-testing.d.ts.map +1 -0
- package/dist/plugin-testing.js +4 -0
- package/dist/plugin-testing.js.map +1 -0
- package/dist/plugin-web-react.d.ts +3 -0
- package/dist/plugin-web-react.d.ts.map +1 -0
- package/dist/plugin-web-react.js +3 -0
- package/dist/plugin-web-react.js.map +1 -0
- package/dist/plugin-web.d.ts +4 -0
- package/dist/plugin-web.d.ts.map +1 -0
- package/dist/plugin-web.js +5 -0
- package/dist/plugin-web.js.map +1 -0
- package/dist/plugin.d.ts +11 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +15 -0
- package/dist/plugin.js.map +1 -0
- package/dist/router.d.ts +28 -0
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +47 -0
- package/dist/router.js.map +1 -1
- package/dist/routes.d.ts +4 -0
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +6 -0
- package/dist/routes.js.map +1 -1
- package/dist/schemas.d.ts +194 -9
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +98 -17
- package/dist/schemas.js.map +1 -1
- package/dist/tokens.d.ts +2 -0
- package/dist/tokens.d.ts.map +1 -0
- package/dist/tokens.js +101 -0
- package/dist/tokens.js.map +1 -0
- package/dist/vocabulary.d.ts +11 -1
- package/dist/vocabulary.d.ts.map +1 -1
- package/dist/vocabulary.js +24 -0
- package/dist/vocabulary.js.map +1 -1
- package/dist/web.d.ts.map +1 -1
- package/dist/web.js +2 -0
- package/dist/web.js.map +1 -1
- package/docs/specs/cli.md +12 -5
- package/docs/specs/plugins.md +488 -0
- package/docs/specs/rest.md +11 -9
- package/package.json +26 -8
- package/skills/building-a-console/SKILL.md +25 -26
- package/skills/building-a-console/references/configuring.md +40 -0
- package/skills/building-a-console/references/the-default-console.md +1 -1
- package/skills/building-a-console/references/the-look-from-a-website.md +5 -5
- package/skills/building-a-plugin/SKILL.md +137 -0
- package/skills/deploying-a-console/SKILL.md +24 -26
- package/skills/deploying-a-console/references/access.md +13 -9
- package/skills/deploying-a-console/references/resources.md +25 -10
- package/skills/deploying-a-console/references/running-it-again.md +15 -0
- package/skills/deploying-a-console/references/sizing.md +2 -0
- package/skills/planning-the-board/SKILL.md +96 -0
- package/skills/planning-the-board/references/a-task.md +36 -0
- package/skills/planning-the-board/references/setting-up.md +44 -0
- package/skills/working-the-board/SKILL.md +43 -34
- package/skills/working-the-board/references/the-pack.md +19 -0
- package/src/api.ts +12 -0
- package/src/cli/cli.ts +737 -55
- package/src/cli/format.ts +368 -10
- package/src/cli/help.ts +50 -6
- package/src/cli/plugin-check.ts +497 -0
- package/src/cli/plugin-cli.ts +237 -0
- package/src/cli/plugin-init.ts +257 -0
- package/src/cli/plugin-main.ts +30 -0
- package/src/client.ts +322 -9
- package/src/compat.ts +2 -2
- package/src/components/board.tsx +62 -14
- package/src/components/comments.tsx +1 -0
- package/src/components/decision-form.tsx +92 -11
- package/src/components/decision-list.tsx +71 -2
- package/src/components/event-feed.tsx +42 -1
- package/src/components/my-decisions.tsx +4 -1
- package/src/components/plugin-frame.tsx +437 -0
- package/src/components/plugin-settings.tsx +1111 -0
- package/src/components/shell.tsx +82 -14
- package/src/components/task-view.tsx +2 -1
- package/src/components/workspace.tsx +18 -0
- package/src/console.tsx +304 -31
- package/src/data.ts +59 -11
- package/src/i18n/en.ts +175 -0
- package/src/i18n/ko.ts +155 -0
- package/src/index.ts +12 -0
- package/src/limits.ts +2 -0
- package/src/plugin/args.ts +526 -0
- package/src/plugin/bridge.ts +314 -0
- package/src/plugin/capabilities.ts +150 -0
- package/src/plugin/context.ts +421 -0
- package/src/plugin/define.ts +792 -0
- package/src/plugin/definition-error.ts +19 -0
- package/src/plugin/limits.ts +70 -0
- package/src/plugin/load-worker.ts +50 -0
- package/src/plugin/load.ts +82 -0
- package/src/plugin/manifest.ts +561 -0
- package/src/plugin/refusals.ts +94 -0
- package/src/plugin/rest-schemas.ts +354 -0
- package/src/plugin/sandbox.ts +123 -0
- package/src/plugin/testing.ts +612 -0
- package/src/plugin/web-react.ts +45 -0
- package/src/plugin/web.ts +403 -0
- package/src/plugin-nav.ts +132 -0
- package/src/plugin-testing.ts +10 -0
- package/src/plugin-web-react.ts +4 -0
- package/src/plugin-web.ts +35 -0
- package/src/plugin.ts +126 -0
- package/src/router.ts +73 -0
- package/src/routes.ts +7 -0
- package/src/schemas.ts +115 -18
- package/src/styles/console.css +330 -1
- package/src/tokens.ts +101 -0
- package/src/vocabulary.ts +30 -0
- package/src/web.ts +2 -0
- package/template/plugin/.gitignore +2 -0
- package/template/plugin/README.md +26 -0
- package/template/plugin/SKILLCDN.md +13 -0
- package/template/plugin/build.mjs +40 -0
- package/template/plugin/console-plugin.json +50 -0
- package/template/plugin/package.json +27 -0
- package/template/plugin/skills/__key__/SKILL.md +23 -0
- package/template/plugin/src/check.test.ts +34 -0
- package/template/plugin/src/server/index.test.ts +41 -0
- package/template/plugin/src/server/index.ts +72 -0
- package/template/plugin/src/web/index.css +51 -0
- package/template/plugin/src/web/index.ts +115 -0
- package/template/plugin/tsconfig.json +17 -0
- package/skills/working-the-board/references/setting-up.md +0 -3
- /package/skills/{working-the-board → planning-the-board}/references/project-rules.md +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
2
|
import { type RestEvent } from "../api.js";
|
|
3
3
|
import { type Messages } from "../i18n/en.js";
|
|
4
|
-
/** What an event says, without its actor: the words after the name, in the words given. */
|
|
4
|
+
/** What an event says, without its actor: the words after the name, in the words given; a board's event a plugin caused says so (ADR-0052). */
|
|
5
5
|
export declare function describeEvent(event: RestEvent, words?: Messages): string;
|
|
6
6
|
export interface EventFeedProps {
|
|
7
7
|
/** Oldest first, as the API hands them over; the feed shows them newest first. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-feed.d.ts","sourceRoot":"","sources":["../../src/components/event-feed.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEvD,OAAO,EAAM,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AASlD
|
|
1
|
+
{"version":3,"file":"event-feed.d.ts","sourceRoot":"","sources":["../../src/components/event-feed.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEvD,OAAO,EAAM,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AASlD,+IAA+I;AAC/I,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,GAAE,QAAa,GAAG,MAAM,CAK5E;AA+ID,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAC5B;AA0DD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,+BAmE9C"}
|
|
@@ -8,8 +8,14 @@ import { formatInstant, PersonChip } from "./ui.js";
|
|
|
8
8
|
// The feed: one line per event, newest first, as a sentence a person reads at a glance: who,
|
|
9
9
|
// as which agent when through one, and what. It takes its data as props and nothing from the
|
|
10
10
|
// network; the sentence is the language's (ADR-0012).
|
|
11
|
-
/** What an event says, without its actor: the words after the name, in the words given. */
|
|
11
|
+
/** What an event says, without its actor: the words after the name, in the words given; a board's event a plugin caused says so (ADR-0052). */
|
|
12
12
|
export function describeEvent(event, words = en) {
|
|
13
|
+
const sentence = sentenceOf(event, words);
|
|
14
|
+
return event.plugin !== null && !event.kind.startsWith("plugin.")
|
|
15
|
+
? `${sentence} ${words.feed.throughPlugin(event.plugin)}`
|
|
16
|
+
: sentence;
|
|
17
|
+
}
|
|
18
|
+
function sentenceOf(event, words) {
|
|
13
19
|
const { data } = event;
|
|
14
20
|
const { feed, vocabulary } = words;
|
|
15
21
|
const task = data.number === undefined
|
|
@@ -30,6 +36,14 @@ export function describeEvent(event, words = en) {
|
|
|
30
36
|
const question = data.question ?? feed.aQuestion;
|
|
31
37
|
const goal = data.title ?? feed.aGoal;
|
|
32
38
|
const category = data.name ?? data.key ?? feed.aCategory;
|
|
39
|
+
const plugin = event.plugin ?? feed.aPlugin;
|
|
40
|
+
const grantee = data.everyone === true
|
|
41
|
+
? feed.everyone
|
|
42
|
+
: data.login !== undefined
|
|
43
|
+
? data.login
|
|
44
|
+
: data.key !== undefined
|
|
45
|
+
? feed.membersOf(data.name ?? data.key)
|
|
46
|
+
: feed.someone;
|
|
33
47
|
switch (event.kind) {
|
|
34
48
|
case "person.joined":
|
|
35
49
|
return feed.event.personJoined();
|
|
@@ -107,6 +121,24 @@ export function describeEvent(event, words = en) {
|
|
|
107
121
|
return feed.event.documentRestored(page);
|
|
108
122
|
case "document.file_attached":
|
|
109
123
|
return feed.event.fileAttached(data.label ?? feed.aFile, page);
|
|
124
|
+
case "plugin.enabled":
|
|
125
|
+
return feed.event.pluginEnabled(plugin);
|
|
126
|
+
case "plugin.disabled":
|
|
127
|
+
return feed.event.pluginDisabled(plugin);
|
|
128
|
+
case "plugin.configured":
|
|
129
|
+
return feed.event.pluginConfigured(fields, plugin);
|
|
130
|
+
case "plugin.granted":
|
|
131
|
+
return feed.event.pluginGranted(data.role ?? feed.role.other, grantee, plugin);
|
|
132
|
+
case "plugin.revoked":
|
|
133
|
+
return feed.event.pluginRevoked(data.role ?? feed.role.other, grantee, plugin);
|
|
134
|
+
case "plugin.upgraded":
|
|
135
|
+
return feed.event.pluginUpgraded(plugin, data.version === undefined ? feed.something : String(data.version));
|
|
136
|
+
case "plugin.command":
|
|
137
|
+
return feed.event.pluginCommand(data.command ?? feed.something, plugin, feed.outcome[data.outcome ?? ""] ?? data.outcome ?? feed.something);
|
|
138
|
+
case "plugin.purged":
|
|
139
|
+
return feed.event.pluginPurged(plugin);
|
|
140
|
+
case "plugin.failed":
|
|
141
|
+
return feed.event.pluginFailed(plugin, data.problem ?? feed.something);
|
|
110
142
|
}
|
|
111
143
|
}
|
|
112
144
|
/** The day an event fell on, by this machine's clock, as the calendar spells a day. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-feed.js","sourceRoot":"","sources":["../../src/components/event-feed.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"event-feed.js","sourceRoot":"","sources":["../../src/components/event-feed.tsx"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,8 @@ export interface MyDecisionsProps {
|
|
|
12
12
|
/** The decisions the person asked of someone else: waiting and answered. */
|
|
13
13
|
readonly raised: DecisionsPage;
|
|
14
14
|
readonly decisionHref: (projectKey: string, decisionId: string) => string;
|
|
15
|
+
/** Where a file put on a decision is read, by its project's key and its id (ADR-0055). */
|
|
16
|
+
readonly fileHref?: ((projectKey: string, fileId: string) => string) | undefined;
|
|
15
17
|
/** Called with the person's answer on a decision of theirs, in its project. Left out, a waiting decision is answered on its own page. */
|
|
16
18
|
readonly onAnswer?: ((projectKey: string, decision: RestDecision, input: RestAnswerInput) => void) | undefined;
|
|
17
19
|
readonly busy?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"my-decisions.d.ts","sourceRoot":"","sources":["../../src/components/my-decisions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAchF,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IACzC,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAgB;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1E,yIAAyI;IACzI,QAAQ,CAAC,QAAQ,CAAC,EACd,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC,GAC9E,SAAS,CAAC;IACd,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC;AAgCD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+
|
|
1
|
+
{"version":3,"file":"my-decisions.d.ts","sourceRoot":"","sources":["../../src/components/my-decisions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAchF,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IACzC,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAgB;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1E,0FAA0F;IAC1F,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IACjF,yIAAyI;IACzI,QAAQ,CAAC,QAAQ,CAAC,EACd,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC,GAC9E,SAAS,CAAC;IACd,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC;AAgCD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAwElD"}
|
|
@@ -18,14 +18,14 @@ function More(props) {
|
|
|
18
18
|
export function MyDecisions(props) {
|
|
19
19
|
const words = useWords();
|
|
20
20
|
const own = words.myDecisions;
|
|
21
|
-
const { onAnswer } = props;
|
|
21
|
+
const { onAnswer, fileHref } = props;
|
|
22
22
|
const waiting = props.addressed.items.filter(({ decision }) => decision.answer === null);
|
|
23
23
|
const asked = props.raised.items.filter(({ decision }) => decision.answer === null);
|
|
24
24
|
const record = [...props.addressed.items, ...props.raised.items]
|
|
25
25
|
.filter(({ decision }) => decision.answer !== null)
|
|
26
26
|
.sort((a, b) => (b.decision.answer?.at ?? "").localeCompare(a.decision.answer?.at ?? ""));
|
|
27
27
|
const projectOf = new Map(record.map((item) => [item.decision.id, item.project]));
|
|
28
|
-
const card = (item, answerable) => (_jsx(DecisionCard, { decision: item.decision, href: props.decisionHref(item.project.key, item.decision.id), project: _jsx(InProject, { project: item.project }), onAnswer: answerable && onAnswer !== undefined
|
|
28
|
+
const card = (item, answerable) => (_jsx(DecisionCard, { decision: item.decision, href: props.decisionHref(item.project.key, item.decision.id), project: _jsx(InProject, { project: item.project }), fileHref: fileHref === undefined ? undefined : (fileId) => fileHref(item.project.key, fileId), onAnswer: answerable && onAnswer !== undefined
|
|
29
29
|
? (decision, input) => onAnswer(item.project.key, decision, input)
|
|
30
30
|
: undefined, busy: props.busy }, item.decision.id));
|
|
31
31
|
return (_jsxs("div", { className: "sc-decisions", children: [_jsxs("div", { className: "sc-decisions-waiting", children: [_jsxs("section", { "aria-label": own.waiting, children: [_jsxs("h2", { className: "sc-section-title", children: [own.waiting, " ", _jsx("span", { className: "sc-column-count", children: waiting.length })] }), waiting.length === 0 ? (_jsx("p", { className: "sc-muted", children: own.noneWaiting })) : (waiting.map((item) => card(item, true))), _jsx(More, { page: props.addressed, label: own.more, busy: props.busy })] }), _jsxs("section", { "aria-label": own.raised, children: [_jsxs("h2", { className: "sc-section-title", children: [own.raised, " ", _jsx("span", { className: "sc-column-count", children: asked.length })] }), asked.length === 0 ? (_jsx("p", { className: "sc-muted", children: own.noneRaised })) : (asked.map((item) => card(item, false))), _jsx(More, { page: props.raised, label: own.more, busy: props.busy })] })] }), _jsxs("section", { "aria-label": words.decisions.record, children: [_jsxs("h2", { className: "sc-section-title", children: [words.decisions.record, " ", _jsx("span", { className: "sc-column-count", children: record.length })] }), record.length === 0 ? (_jsx("p", { className: "sc-muted", children: own.noneAnswered })) : (_jsx(DecisionLog, { decisions: record.map((item) => item.decision), decisionHref: (decision) => props.decisionHref(projectOf.get(decision.id)?.key ?? "", decision.id), projectOf: (decision) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"my-decisions.js","sourceRoot":"","sources":["../../src/components/my-decisions.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"my-decisions.js","sourceRoot":"","sources":["../../src/components/my-decisions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { ConsoleClient, PluginClient } from "../client.js";
|
|
2
|
+
import { type BridgeCall } from "../plugin/bridge.js";
|
|
3
|
+
import type { Navigation } from "../router.js";
|
|
4
|
+
import type { RestEvent, RestMe, RestPlugin, RestProject } from "../schemas.js";
|
|
5
|
+
export interface PluginFrameProps {
|
|
6
|
+
readonly plugin: RestPlugin;
|
|
7
|
+
/** The page shown, or the widget; one of the two. */
|
|
8
|
+
readonly page?: string | undefined;
|
|
9
|
+
readonly widget?: string | undefined;
|
|
10
|
+
/** The project the page is on, or nothing on the workspace. */
|
|
11
|
+
readonly project?: RestProject | undefined;
|
|
12
|
+
/** What follows the page in the address, handed to the frame. */
|
|
13
|
+
readonly path?: string | undefined;
|
|
14
|
+
readonly me: RestMe;
|
|
15
|
+
readonly language: string;
|
|
16
|
+
readonly client: ConsoleClient;
|
|
17
|
+
readonly navigation: Navigation;
|
|
18
|
+
/** The project's feed, for the frame to hear of the plugin's commands; none on the workspace. */
|
|
19
|
+
readonly events?: readonly RestEvent[] | undefined;
|
|
20
|
+
/** What the frame is called, for assistive technology. */
|
|
21
|
+
readonly title: string;
|
|
22
|
+
}
|
|
23
|
+
/** A refusal of the bridge, as the frame receives it: the console's code and a message. */
|
|
24
|
+
export declare class BridgeRefusal extends Error {
|
|
25
|
+
readonly code: string;
|
|
26
|
+
constructor(code: string, message: string);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Performs one `call` of the frame through the plugin's own routes and nothing else: a command,
|
|
30
|
+
* a query, the records, the files. The answer, and what to transfer with it; a method the bridge
|
|
31
|
+
* does not know, or a request outside the plugin, is refused before anything is sent.
|
|
32
|
+
*/
|
|
33
|
+
export declare function performBridgeCall(plugin: PluginClient, projectKey: string | undefined, call: BridgeCall): Promise<{
|
|
34
|
+
readonly value: unknown;
|
|
35
|
+
readonly transfer?: Transferable[];
|
|
36
|
+
}>;
|
|
37
|
+
/** The console's computed design tokens, as the page's root has them: what a frame is told to look like. */
|
|
38
|
+
export declare function readTheme(): Record<string, string>;
|
|
39
|
+
export declare function PluginFrame(props: PluginFrameProps): import("react").JSX.Element;
|
|
40
|
+
export interface PluginWidgetsProps {
|
|
41
|
+
readonly plugins: readonly RestPlugin[];
|
|
42
|
+
readonly place: "home:top" | "home:bottom";
|
|
43
|
+
readonly me: RestMe;
|
|
44
|
+
readonly language: string;
|
|
45
|
+
readonly client: ConsoleClient;
|
|
46
|
+
readonly navigation: Navigation;
|
|
47
|
+
/** The widget's name in the person's language. */
|
|
48
|
+
readonly nameOf: (name: Readonly<Record<string, string>>) => string;
|
|
49
|
+
}
|
|
50
|
+
/** The widgets at a place of the front page, in a grid of six columns: a third takes two, a half three, the full six. */
|
|
51
|
+
export declare function PluginWidgets(props: PluginWidgetsProps): import("react").JSX.Element | null;
|
|
52
|
+
//# sourceMappingURL=plugin-frame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-frame.d.ts","sourceRoot":"","sources":["../../src/components/plugin-frame.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACL,KAAK,UAAU,EAMhB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAchF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,qDAAqD;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC3C,iEAAiE;IACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,iGAAiG;IACjG,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,CAAC;IACnD,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,2FAA2F;AAC3F,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAIxC;CACF;AAcD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,IAAI,EAAE,UAAU,GACf,OAAO,CAAC;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAoE1E;AAED,4GAA4G;AAC5G,wBAAgB,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAalD;AAoBD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAiNlD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa,CAAC;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC;CACrE;AAED,yHAAyH;AACzH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,sCAgCtD"}
|
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
3
|
+
import { isBridgePath, isBridgeToPage, PLUGIN_BRIDGE_VERSION, } from "../plugin/bridge.js";
|
|
4
|
+
import { MAX_PLUGIN_WIDGET_HEIGHT } from "../plugin/limits.js";
|
|
5
|
+
import { CONSOLE_TOKENS } from "../tokens.js";
|
|
6
|
+
// A plugin's page or widget on the console's page (ADR-0054, docs/specs/plugins.md, "Pages"):
|
|
7
|
+
// a sandboxed frame whose document the console serves, and the console's side of the bridge.
|
|
8
|
+
// The frame speaks over postMessage alone; this component accepts the frame's window alone,
|
|
9
|
+
// performs every call under the plugin's own routes with the person's session, and refuses the
|
|
10
|
+
// rest before any request. Nothing the frame says is rendered as HTML.
|
|
11
|
+
/** How tall a page's frame may grow: far above any page, below what would break the layout. */
|
|
12
|
+
const MAX_PAGE_HEIGHT = 20_000;
|
|
13
|
+
/** How often the plugin's own events are asked for while a frame listens for them. */
|
|
14
|
+
const EVENTS_POLL_MS = 5_000;
|
|
15
|
+
/** A refusal of the bridge, as the frame receives it: the console's code and a message. */
|
|
16
|
+
export class BridgeRefusal extends Error {
|
|
17
|
+
code;
|
|
18
|
+
constructor(code, message) {
|
|
19
|
+
super(message);
|
|
20
|
+
this.name = "BridgeRefusal";
|
|
21
|
+
this.code = code;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const text = (value, what) => {
|
|
25
|
+
if (typeof value !== "string" || value.length === 0) {
|
|
26
|
+
throw new BridgeRefusal("plugin.invalid_args", `${what} is text`);
|
|
27
|
+
}
|
|
28
|
+
return value;
|
|
29
|
+
};
|
|
30
|
+
const record = (value) => typeof value === "object" && value !== null && !Array.isArray(value)
|
|
31
|
+
? value
|
|
32
|
+
: {};
|
|
33
|
+
/**
|
|
34
|
+
* Performs one `call` of the frame through the plugin's own routes and nothing else: a command,
|
|
35
|
+
* a query, the records, the files. The answer, and what to transfer with it; a method the bridge
|
|
36
|
+
* does not know, or a request outside the plugin, is refused before anything is sent.
|
|
37
|
+
*/
|
|
38
|
+
export async function performBridgeCall(plugin, projectKey, call) {
|
|
39
|
+
const params = record(call.params);
|
|
40
|
+
const project = projectKey === undefined ? {} : { project: projectKey };
|
|
41
|
+
switch (call.method) {
|
|
42
|
+
case "command": {
|
|
43
|
+
const name = text(params.name, "name");
|
|
44
|
+
return {
|
|
45
|
+
value: await plugin.command(name, { args: record(params.args), ...project }),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
case "query": {
|
|
49
|
+
const name = text(params.name, "name");
|
|
50
|
+
return { value: await plugin.query(name, record(params.args), project) };
|
|
51
|
+
}
|
|
52
|
+
case "records.list": {
|
|
53
|
+
const collection = text(params.collection, "collection");
|
|
54
|
+
return {
|
|
55
|
+
value: await plugin.records(collection, {
|
|
56
|
+
where: params.where === undefined ? undefined : record(params.where),
|
|
57
|
+
order: typeof params.order === "string" ? params.order : undefined,
|
|
58
|
+
limit: typeof params.limit === "number" ? params.limit : undefined,
|
|
59
|
+
after: typeof params.after === "string" ? params.after : undefined,
|
|
60
|
+
q: typeof params.q === "string" ? params.q : undefined,
|
|
61
|
+
project: typeof params.project === "string" ? params.project : undefined,
|
|
62
|
+
}),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
case "records.get": {
|
|
66
|
+
const collection = text(params.collection, "collection");
|
|
67
|
+
const id = text(params.id, "id");
|
|
68
|
+
return {
|
|
69
|
+
value: await plugin.record(collection, id, typeof params.version === "number" ? params.version : undefined),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
case "records.versions": {
|
|
73
|
+
const collection = text(params.collection, "collection");
|
|
74
|
+
const id = text(params.id, "id");
|
|
75
|
+
return { value: (await plugin.recordVersions(collection, id)).items };
|
|
76
|
+
}
|
|
77
|
+
case "files.get": {
|
|
78
|
+
const id = text(params.id, "id");
|
|
79
|
+
const file = await plugin.readFile(id);
|
|
80
|
+
const bytes = new Uint8Array(file.bytes).buffer;
|
|
81
|
+
return {
|
|
82
|
+
value: { name: file.name, type: file.contentType, bytes },
|
|
83
|
+
transfer: [bytes],
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
case "files.put": {
|
|
87
|
+
const name = text(params.name, "name");
|
|
88
|
+
const type = text(params.type, "type");
|
|
89
|
+
const bytes = params.bytes;
|
|
90
|
+
if (!(bytes instanceof ArrayBuffer)) {
|
|
91
|
+
throw new BridgeRefusal("plugin.invalid_args", "bytes is an ArrayBuffer");
|
|
92
|
+
}
|
|
93
|
+
const handle = await plugin.upload({ name, bytes: new Uint8Array(bytes), contentType: type });
|
|
94
|
+
return { value: { handle: handle.handle } };
|
|
95
|
+
}
|
|
96
|
+
default:
|
|
97
|
+
throw new BridgeRefusal("plugin.forbidden", `${String(call.method)} is not a method of the bridge`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/** The console's computed design tokens, as the page's root has them: what a frame is told to look like. */
|
|
101
|
+
export function readTheme() {
|
|
102
|
+
if (typeof document === "undefined" || typeof getComputedStyle === "undefined") {
|
|
103
|
+
return {};
|
|
104
|
+
}
|
|
105
|
+
const style = getComputedStyle(document.documentElement);
|
|
106
|
+
const theme = {};
|
|
107
|
+
for (const token of CONSOLE_TOKENS) {
|
|
108
|
+
const value = style.getPropertyValue(token).trim();
|
|
109
|
+
if (value.length > 0) {
|
|
110
|
+
theme[token] = value.slice(0, 200);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return theme;
|
|
114
|
+
}
|
|
115
|
+
/** What a failure of a call says to the frame: the console's code and words, or the console's own failure. */
|
|
116
|
+
function errorOf(error) {
|
|
117
|
+
if (error instanceof BridgeRefusal) {
|
|
118
|
+
return { code: error.code, message: error.message };
|
|
119
|
+
}
|
|
120
|
+
if (typeof error === "object" &&
|
|
121
|
+
error !== null &&
|
|
122
|
+
"code" in error &&
|
|
123
|
+
typeof error.code === "string" &&
|
|
124
|
+
"message" in error &&
|
|
125
|
+
typeof error.message === "string") {
|
|
126
|
+
return { code: error.code, message: error.message };
|
|
127
|
+
}
|
|
128
|
+
return { code: "plugin.failed", message: "the call failed" };
|
|
129
|
+
}
|
|
130
|
+
export function PluginFrame(props) {
|
|
131
|
+
const { plugin, page, widget, project, me, language, client, navigation, events } = props;
|
|
132
|
+
const frame = useRef(null);
|
|
133
|
+
const isWidget = widget !== undefined;
|
|
134
|
+
const [height, setHeight] = useState(isWidget ? 160 : 480);
|
|
135
|
+
const subscribed = useRef(new Set());
|
|
136
|
+
const ready = useRef(false);
|
|
137
|
+
const lastPluginEvent = useRef(0);
|
|
138
|
+
const seenEvents = useRef(0);
|
|
139
|
+
const path = props.path ?? "";
|
|
140
|
+
const scoped = useMemo(() => client.plugin(plugin.key), [client, plugin.key]);
|
|
141
|
+
const src = useMemo(() => scoped.frameUrl({
|
|
142
|
+
...(page === undefined ? {} : { page }),
|
|
143
|
+
...(widget === undefined ? {} : { widget }),
|
|
144
|
+
...(project === undefined ? {} : { project: project.key }),
|
|
145
|
+
}), [scoped, page, widget, project]);
|
|
146
|
+
const post = useCallback((message, transfer) => {
|
|
147
|
+
// The frame's origin is opaque, so the target is any: the frame itself checks the sender.
|
|
148
|
+
frame.current?.contentWindow?.postMessage(message, "*", transfer ?? []);
|
|
149
|
+
}, []);
|
|
150
|
+
// The frame's messages: from its own window alone, each as the bridge spells it.
|
|
151
|
+
useEffect(() => {
|
|
152
|
+
if (typeof window === "undefined") {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
const onMessage = (event) => {
|
|
156
|
+
const target = frame.current?.contentWindow;
|
|
157
|
+
if (target === null || target === undefined || event.source !== target) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
if (!isBridgeToPage(event.data)) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
const message = event.data;
|
|
164
|
+
switch (message.t) {
|
|
165
|
+
case "ready":
|
|
166
|
+
ready.current = true;
|
|
167
|
+
post({
|
|
168
|
+
v: PLUGIN_BRIDGE_VERSION,
|
|
169
|
+
t: "init",
|
|
170
|
+
plugin: { key: plugin.key, version: plugin.version },
|
|
171
|
+
...(page === undefined ? {} : { page }),
|
|
172
|
+
...(widget === undefined ? {} : { widget }),
|
|
173
|
+
project: project === undefined ? null : { key: project.key, name: project.name },
|
|
174
|
+
person: {
|
|
175
|
+
id: me.person?.id ?? "",
|
|
176
|
+
login: me.person?.login ?? "",
|
|
177
|
+
name: me.person?.name ?? null,
|
|
178
|
+
language,
|
|
179
|
+
admin: me.person?.role === "admin",
|
|
180
|
+
},
|
|
181
|
+
roles: plugin.roles,
|
|
182
|
+
path,
|
|
183
|
+
language,
|
|
184
|
+
theme: readTheme(),
|
|
185
|
+
});
|
|
186
|
+
return;
|
|
187
|
+
case "call":
|
|
188
|
+
void performBridgeCall(scoped, project?.key, message)
|
|
189
|
+
.then(({ value, transfer }) => post({ v: PLUGIN_BRIDGE_VERSION, t: "result", id: message.id, ok: true, value }, transfer))
|
|
190
|
+
.catch((error) => post({
|
|
191
|
+
v: PLUGIN_BRIDGE_VERSION,
|
|
192
|
+
t: "result",
|
|
193
|
+
id: message.id,
|
|
194
|
+
ok: false,
|
|
195
|
+
error: errorOf(error),
|
|
196
|
+
}));
|
|
197
|
+
return;
|
|
198
|
+
case "navigate":
|
|
199
|
+
if (isBridgePath(message.path)) {
|
|
200
|
+
navigation.go(message.path);
|
|
201
|
+
}
|
|
202
|
+
return;
|
|
203
|
+
case "resize":
|
|
204
|
+
setHeight(Math.max(40, Math.min(Math.ceil(message.height), isWidget ? MAX_PLUGIN_WIDGET_HEIGHT : MAX_PAGE_HEIGHT)));
|
|
205
|
+
return;
|
|
206
|
+
case "title":
|
|
207
|
+
if (!isWidget && typeof document !== "undefined") {
|
|
208
|
+
document.title = message.text;
|
|
209
|
+
}
|
|
210
|
+
return;
|
|
211
|
+
case "download": {
|
|
212
|
+
const anchor = document.createElement("a");
|
|
213
|
+
anchor.href = scoped.fileUrl(message.id);
|
|
214
|
+
anchor.download = "";
|
|
215
|
+
anchor.rel = "noopener";
|
|
216
|
+
anchor.click();
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
case "subscribe":
|
|
220
|
+
subscribed.current = new Set(message.kinds);
|
|
221
|
+
return;
|
|
222
|
+
default:
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
window.addEventListener("message", onMessage);
|
|
227
|
+
return () => window.removeEventListener("message", onMessage);
|
|
228
|
+
});
|
|
229
|
+
// The console's look and language reach the frame as they change.
|
|
230
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: the language is the trigger; the tokens change with it
|
|
231
|
+
useEffect(() => {
|
|
232
|
+
if (ready.current) {
|
|
233
|
+
post({ v: PLUGIN_BRIDGE_VERSION, t: "theme", theme: readTheme() });
|
|
234
|
+
}
|
|
235
|
+
}, [language, post]);
|
|
236
|
+
// The address moved within the page: the frame is told what follows the page now.
|
|
237
|
+
useEffect(() => {
|
|
238
|
+
if (ready.current) {
|
|
239
|
+
post({ v: PLUGIN_BRIDGE_VERSION, t: "path", path });
|
|
240
|
+
}
|
|
241
|
+
}, [path, post]);
|
|
242
|
+
// The plugin's commands, as the project's feed tells of them: a frame that listens hears of each.
|
|
243
|
+
useEffect(() => {
|
|
244
|
+
if (events === undefined) {
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
const fresh = events.slice(seenEvents.current);
|
|
248
|
+
seenEvents.current = events.length;
|
|
249
|
+
if (!ready.current) {
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
for (const event of fresh) {
|
|
253
|
+
if (event.kind === "plugin.command" && event.plugin === plugin.key) {
|
|
254
|
+
if (subscribed.current.has("command")) {
|
|
255
|
+
post({ v: PLUGIN_BRIDGE_VERSION, t: "event", kind: "command", data: event.data });
|
|
256
|
+
}
|
|
257
|
+
if (subscribed.current.has("records")) {
|
|
258
|
+
post({ v: PLUGIN_BRIDGE_VERSION, t: "event", kind: "records", data: event.data });
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}, [events, plugin.key, post]);
|
|
263
|
+
// The plugin's own events, asked for while a frame listens for them.
|
|
264
|
+
useEffect(() => {
|
|
265
|
+
if (typeof window === "undefined") {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
const timer = setInterval(() => {
|
|
269
|
+
if (!ready.current || !subscribed.current.has("plugin")) {
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
scoped
|
|
273
|
+
.pluginEvents({ after: lastPluginEvent.current, limit: 50 })
|
|
274
|
+
.then((page) => {
|
|
275
|
+
for (const event of page.items) {
|
|
276
|
+
lastPluginEvent.current = Math.max(lastPluginEvent.current, event.id);
|
|
277
|
+
post({ v: PLUGIN_BRIDGE_VERSION, t: "event", kind: "plugin", data: event });
|
|
278
|
+
}
|
|
279
|
+
})
|
|
280
|
+
.catch(() => undefined);
|
|
281
|
+
}, EVENTS_POLL_MS);
|
|
282
|
+
return () => clearInterval(timer);
|
|
283
|
+
}, [scoped, post]);
|
|
284
|
+
// What the plugin emitted before the frame came is not replayed: the stream is read from now.
|
|
285
|
+
useEffect(() => {
|
|
286
|
+
scoped
|
|
287
|
+
.pluginEvents({ after: 0, limit: 1 })
|
|
288
|
+
.then((page) => {
|
|
289
|
+
if (page.more || page.items.length > 0) {
|
|
290
|
+
// The newest number is past the first page; a frame hears of what comes after it listens.
|
|
291
|
+
return scoped.pluginEvents({ after: 0, limit: 200 }).then((all) => {
|
|
292
|
+
lastPluginEvent.current = all.items.at(-1)?.id ?? 0;
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
return undefined;
|
|
296
|
+
})
|
|
297
|
+
.catch(() => undefined);
|
|
298
|
+
}, [scoped]);
|
|
299
|
+
return (_jsx("iframe", { ref: frame, className: isWidget ? "sc-plugin-frame sc-plugin-frame-widget" : "sc-plugin-frame", src: src, title: props.title,
|
|
300
|
+
// As the document's own policy says: scripts, and forms firing their submit event, which
|
|
301
|
+
// the policy's form-action 'none' keeps from going anywhere.
|
|
302
|
+
sandbox: "allow-scripts allow-forms", referrerPolicy: "origin", style: { height: `${height}px` } }));
|
|
303
|
+
}
|
|
304
|
+
/** The widgets at a place of the front page, in a grid of six columns: a third takes two, a half three, the full six. */
|
|
305
|
+
export function PluginWidgets(props) {
|
|
306
|
+
const shown = props.plugins.flatMap((plugin) => plugin.widgets
|
|
307
|
+
.filter((widget) => widget.place === props.place)
|
|
308
|
+
.map((widget) => ({ plugin, widget })));
|
|
309
|
+
if (shown.length === 0) {
|
|
310
|
+
return null;
|
|
311
|
+
}
|
|
312
|
+
return (_jsx("section", { className: `sc-widgets ${props.place === "home:top" ? "sc-widgets-top" : "sc-widgets-bottom"}`, children: shown.map(({ plugin, widget }) => (_jsxs("article", { className: `sc-widget sc-widget-${widget.size}`, children: [_jsx("h2", { className: "sc-widget-title", children: props.nameOf(widget.name) }), _jsx(PluginFrame, { plugin: plugin, widget: widget.key, me: props.me, language: props.language, client: props.client, navigation: props.navigation, title: props.nameOf(widget.name) })] }, `${plugin.key}:${widget.key}`))) }));
|
|
313
|
+
}
|
|
314
|
+
//# sourceMappingURL=plugin-frame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-frame.js","sourceRoot":"","sources":["../../src/components/plugin-frame.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ConsoleClient } from "../client.js";
|
|
2
|
+
import type { Messages } from "../i18n/en.js";
|
|
3
|
+
import type { RestPerson, RestPlugin, RestPluginDetail, RestProject } from "../schemas.js";
|
|
4
|
+
/** A text in the person's language, else in English, else the first the manifest has. */
|
|
5
|
+
export declare function pluginWord(texts: Readonly<Record<string, string>> | null | undefined, language: string): string;
|
|
6
|
+
export interface CapabilityText {
|
|
7
|
+
/** What the capability is called on the pages. */
|
|
8
|
+
readonly name: string;
|
|
9
|
+
/** The sentence of what it opens, as the administrator reads it before consenting. */
|
|
10
|
+
readonly opens: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* A capability by the name the pages give it and the sentence of what it opens, in the person's
|
|
14
|
+
* language; one the packs do not know, by its key alone.
|
|
15
|
+
*/
|
|
16
|
+
export declare function capabilityText(words: Messages, capability: string): CapabilityText;
|
|
17
|
+
export interface PluginSettingsListProps {
|
|
18
|
+
readonly plugins: readonly RestPlugin[];
|
|
19
|
+
readonly language: string;
|
|
20
|
+
readonly href: (plugin: RestPlugin) => string;
|
|
21
|
+
}
|
|
22
|
+
/** Every plugin in a row: its name, its key, its version, how it stands. */
|
|
23
|
+
export declare function PluginSettingsList(props: PluginSettingsListProps): import("react").JSX.Element;
|
|
24
|
+
export interface PluginSettingsViewProps {
|
|
25
|
+
readonly detail: RestPluginDetail;
|
|
26
|
+
readonly projects: readonly RestProject[];
|
|
27
|
+
/** The people of the workspace, to grant a role to; an administrator sees everyone. */
|
|
28
|
+
readonly people: readonly RestPerson[];
|
|
29
|
+
readonly language: string;
|
|
30
|
+
readonly client: ConsoleClient;
|
|
31
|
+
/** Called after a change, so that the page reads the plugin again. */
|
|
32
|
+
readonly onChanged: () => Promise<void>;
|
|
33
|
+
/** Where the list is, for after a purge. */
|
|
34
|
+
readonly onPurged: () => void;
|
|
35
|
+
}
|
|
36
|
+
/** One plugin, whole, for an administrator. */
|
|
37
|
+
export declare function PluginSettingsView(props: PluginSettingsViewProps): import("react").JSX.Element;
|
|
38
|
+
//# sourceMappingURL=plugin-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-settings.d.ts","sourceRoot":"","sources":["../../src/components/plugin-settings.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,OAAO,KAAK,EAEV,UAAU,EACV,UAAU,EACV,gBAAgB,EAKhB,WAAW,EACZ,MAAM,eAAe,CAAC;AAsBvB,yFAAyF;AACzF,wBAAgB,UAAU,CACxB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,EAC1D,QAAQ,EAAE,MAAM,GACf,MAAM,CAWR;AAED,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CAalF;AAaD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,MAAM,CAAC;CAC/C;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,+BAyBhE;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,sEAAsE;IACtE,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC/B;AA8xBD,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,+BA+KhE"}
|