@skillcdn/console 0.4.3 → 0.4.5
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 +6 -6
- package/dist/api.d.ts +4 -4
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +4 -4
- package/dist/api.js.map +1 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +255 -33
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/format.d.ts +20 -5
- package/dist/cli/format.d.ts.map +1 -1
- package/dist/cli/format.js +98 -26
- package/dist/cli/format.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +39 -15
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/plugin-check.d.ts +5 -1
- package/dist/cli/plugin-check.d.ts.map +1 -1
- package/dist/cli/plugin-check.js +23 -4
- package/dist/cli/plugin-check.js.map +1 -1
- package/dist/cli/plugin-cli.d.ts.map +1 -1
- package/dist/cli/plugin-cli.js +10 -1
- package/dist/cli/plugin-cli.js.map +1 -1
- package/dist/cli/plugin-init.d.ts +2 -0
- package/dist/cli/plugin-init.d.ts.map +1 -1
- package/dist/cli/plugin-init.js +6 -0
- package/dist/cli/plugin-init.js.map +1 -1
- package/dist/client.d.ts +32 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +14 -2
- package/dist/client.js.map +1 -1
- package/dist/compat.js +1 -1
- package/dist/components/board.d.ts +8 -0
- package/dist/components/board.d.ts.map +1 -1
- package/dist/components/board.js +49 -18
- package/dist/components/board.js.map +1 -1
- package/dist/components/decision-form.d.ts +6 -3
- package/dist/components/decision-form.d.ts.map +1 -1
- package/dist/components/decision-form.js +24 -18
- package/dist/components/decision-form.js.map +1 -1
- package/dist/components/decision-list.d.ts +5 -1
- package/dist/components/decision-list.d.ts.map +1 -1
- package/dist/components/decision-list.js +25 -5
- package/dist/components/decision-list.js.map +1 -1
- package/dist/components/event-feed.d.ts.map +1 -1
- package/dist/components/event-feed.js +34 -8
- package/dist/components/event-feed.js.map +1 -1
- package/dist/components/goals.d.ts.map +1 -1
- package/dist/components/goals.js +2 -2
- package/dist/components/goals.js.map +1 -1
- package/dist/components/home.d.ts +35 -0
- package/dist/components/home.d.ts.map +1 -0
- package/dist/components/home.js +326 -0
- package/dist/components/home.js.map +1 -0
- package/dist/components/my-decisions.d.ts +20 -3
- package/dist/components/my-decisions.d.ts.map +1 -1
- package/dist/components/my-decisions.js +14 -1
- package/dist/components/my-decisions.js.map +1 -1
- package/dist/components/pack-connect.d.ts.map +1 -1
- package/dist/components/pack-connect.js +5 -4
- package/dist/components/pack-connect.js.map +1 -1
- package/dist/components/people.d.ts +45 -1
- package/dist/components/people.d.ts.map +1 -1
- package/dist/components/people.js +125 -4
- package/dist/components/people.js.map +1 -1
- package/dist/components/picker.d.ts +8 -0
- package/dist/components/picker.d.ts.map +1 -1
- package/dist/components/picker.js +2 -2
- package/dist/components/picker.js.map +1 -1
- package/dist/components/plugin-frame.d.ts +3 -13
- package/dist/components/plugin-frame.d.ts.map +1 -1
- package/dist/components/plugin-frame.js +75 -21
- package/dist/components/plugin-frame.js.map +1 -1
- package/dist/components/plugin-settings.d.ts +5 -1
- package/dist/components/plugin-settings.d.ts.map +1 -1
- package/dist/components/plugin-settings.js +283 -45
- package/dist/components/plugin-settings.js.map +1 -1
- package/dist/components/projects.d.ts +0 -8
- package/dist/components/projects.d.ts.map +1 -1
- package/dist/components/projects.js +4 -14
- package/dist/components/projects.js.map +1 -1
- package/dist/components/searches.d.ts +11 -0
- package/dist/components/searches.d.ts.map +1 -0
- package/dist/components/searches.js +30 -0
- package/dist/components/searches.js.map +1 -0
- package/dist/components/task-form.d.ts.map +1 -1
- package/dist/components/task-form.js +6 -5
- package/dist/components/task-form.js.map +1 -1
- package/dist/components/task-view.d.ts.map +1 -1
- package/dist/components/task-view.js +2 -1
- package/dist/components/task-view.js.map +1 -1
- package/dist/components/ui.d.ts +16 -0
- package/dist/components/ui.d.ts.map +1 -1
- package/dist/components/ui.js +15 -2
- package/dist/components/ui.js.map +1 -1
- package/dist/connect-page.d.ts.map +1 -1
- package/dist/connect-page.js +5 -6
- package/dist/connect-page.js.map +1 -1
- package/dist/console.css +1123 -258
- package/dist/console.d.ts +12 -4
- package/dist/console.d.ts.map +1 -1
- package/dist/console.js +123 -27
- package/dist/console.js.map +1 -1
- package/dist/data.d.ts +18 -3
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +41 -1
- package/dist/data.js.map +1 -1
- package/dist/docs-page.d.ts.map +1 -1
- package/dist/docs-page.js +6 -5
- package/dist/docs-page.js.map +1 -1
- package/dist/home-tiles.d.ts +92 -0
- package/dist/home-tiles.d.ts.map +1 -0
- package/dist/home-tiles.js +294 -0
- package/dist/home-tiles.js.map +1 -0
- package/dist/i18n/en.d.ts +264 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +260 -1
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/index.d.ts +4 -2
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +10 -11
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/ko.d.ts.map +1 -1
- package/dist/i18n/ko.js +255 -4
- package/dist/i18n/ko.js.map +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -5
- package/dist/index.js.map +1 -1
- package/dist/limits.d.ts +12 -0
- package/dist/limits.d.ts.map +1 -1
- package/dist/limits.js +12 -0
- package/dist/limits.js.map +1 -1
- package/dist/plugin/args.d.ts +6 -1
- package/dist/plugin/args.d.ts.map +1 -1
- package/dist/plugin/args.js +16 -11
- package/dist/plugin/args.js.map +1 -1
- package/dist/plugin/bridge.d.ts +63 -3
- package/dist/plugin/bridge.d.ts.map +1 -1
- package/dist/plugin/bridge.js +54 -0
- package/dist/plugin/bridge.js.map +1 -1
- package/dist/plugin/capabilities.d.ts +7 -1
- package/dist/plugin/capabilities.d.ts.map +1 -1
- package/dist/plugin/capabilities.js +24 -1
- package/dist/plugin/capabilities.js.map +1 -1
- package/dist/plugin/context.d.ts +174 -12
- package/dist/plugin/context.d.ts.map +1 -1
- package/dist/plugin/define.d.ts +14 -1
- package/dist/plugin/define.d.ts.map +1 -1
- package/dist/plugin/define.js +18 -2
- package/dist/plugin/define.js.map +1 -1
- package/dist/plugin/limits.d.ts +9 -2
- package/dist/plugin/limits.d.ts.map +1 -1
- package/dist/plugin/limits.js +9 -2
- package/dist/plugin/limits.js.map +1 -1
- package/dist/plugin/manifest.d.ts +98 -6
- package/dist/plugin/manifest.d.ts.map +1 -1
- package/dist/plugin/manifest.js +171 -10
- package/dist/plugin/manifest.js.map +1 -1
- package/dist/plugin/rest-schemas.d.ts +120 -0
- package/dist/plugin/rest-schemas.d.ts.map +1 -1
- package/dist/plugin/rest-schemas.js +78 -5
- package/dist/plugin/rest-schemas.js.map +1 -1
- package/dist/plugin/sandbox.d.ts +4 -3
- package/dist/plugin/sandbox.d.ts.map +1 -1
- package/dist/plugin/sandbox.js +33 -6
- package/dist/plugin/sandbox.js.map +1 -1
- package/dist/plugin/semver.d.ts +26 -0
- package/dist/plugin/semver.d.ts.map +1 -0
- package/dist/plugin/semver.js +76 -0
- package/dist/plugin/semver.js.map +1 -0
- package/dist/plugin/testing.d.ts +15 -1
- package/dist/plugin/testing.d.ts.map +1 -1
- package/dist/plugin/testing.js +42 -5
- package/dist/plugin/testing.js.map +1 -1
- package/dist/plugin/web.d.ts +16 -1
- package/dist/plugin/web.d.ts.map +1 -1
- package/dist/plugin/web.js +44 -1
- package/dist/plugin/web.js.map +1 -1
- package/dist/plugin.d.ts +3 -2
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +3 -2
- package/dist/plugin.js.map +1 -1
- package/dist/router.d.ts +19 -0
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +18 -0
- package/dist/router.js.map +1 -1
- package/dist/routes.d.ts +11 -2
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +14 -1
- package/dist/routes.js.map +1 -1
- package/dist/rules.d.ts +2 -2
- package/dist/rules.js +3 -3
- package/dist/schemas.d.ts +864 -2
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +156 -9
- package/dist/schemas.js.map +1 -1
- package/dist/use-action.d.ts +8 -2
- package/dist/use-action.d.ts.map +1 -1
- package/dist/use-action.js +13 -6
- package/dist/use-action.js.map +1 -1
- package/dist/vocabulary.d.ts +3 -1
- package/dist/vocabulary.d.ts.map +1 -1
- package/dist/vocabulary.js +9 -0
- package/dist/vocabulary.js.map +1 -1
- package/docs/specs/cli.md +10 -6
- package/docs/specs/plugins.md +83 -62
- package/docs/specs/rest.md +34 -16
- package/package.json +1 -1
- package/skills/building-a-plugin/SKILL.md +15 -12
- package/skills/planning-the-board/references/setting-up.md +2 -1
- package/skills/working-the-board/SKILL.md +3 -3
- package/src/api.ts +23 -0
- package/src/cli/cli.ts +323 -30
- package/src/cli/format.ts +122 -26
- package/src/cli/help.ts +43 -14
- package/src/cli/plugin-check.ts +41 -2
- package/src/cli/plugin-cli.ts +10 -1
- package/src/cli/plugin-init.ts +8 -0
- package/src/client.ts +78 -0
- package/src/compat.ts +1 -1
- package/src/components/board.tsx +86 -45
- package/src/components/decision-form.tsx +73 -36
- package/src/components/decision-list.tsx +45 -13
- package/src/components/event-feed.tsx +40 -7
- package/src/components/goals.tsx +4 -1
- package/src/components/home.tsx +615 -0
- package/src/components/my-decisions.tsx +50 -5
- package/src/components/pack-connect.tsx +5 -4
- package/src/components/people.tsx +500 -61
- package/src/components/picker.tsx +11 -2
- package/src/components/plugin-frame.tsx +85 -63
- package/src/components/plugin-settings.tsx +735 -185
- package/src/components/projects.tsx +14 -69
- package/src/components/searches.ts +47 -0
- package/src/components/task-form.tsx +23 -28
- package/src/components/task-view.tsx +7 -0
- package/src/components/ui.tsx +42 -2
- package/src/connect-page.tsx +5 -6
- package/src/console.tsx +303 -64
- package/src/data.ts +62 -3
- package/src/docs-page.tsx +6 -5
- package/src/home-tiles.ts +438 -0
- package/src/i18n/en.ts +274 -0
- package/src/i18n/index.ts +17 -14
- package/src/i18n/ko.ts +267 -4
- package/src/index.ts +18 -5
- package/src/limits.ts +12 -0
- package/src/plugin/args.ts +16 -11
- package/src/plugin/bridge.ts +122 -1
- package/src/plugin/capabilities.ts +28 -1
- package/src/plugin/context.ts +186 -9
- package/src/plugin/define.ts +38 -1
- package/src/plugin/limits.ts +9 -2
- package/src/plugin/manifest.ts +228 -13
- package/src/plugin/rest-schemas.ts +89 -6
- package/src/plugin/sandbox.ts +36 -8
- package/src/plugin/semver.ts +89 -0
- package/src/plugin/testing.ts +63 -6
- package/src/plugin/web.ts +66 -0
- package/src/plugin.ts +19 -0
- package/src/router.ts +25 -0
- package/src/routes.ts +17 -2
- package/src/rules.ts +3 -3
- package/src/schemas.ts +197 -10
- package/src/styles/console.css +1123 -258
- package/src/use-action.ts +16 -7
- package/src/vocabulary.ts +10 -0
- package/template/plugin/console-plugin.json +3 -1
package/src/i18n/en.ts
CHANGED
|
@@ -137,6 +137,141 @@ export const en = {
|
|
|
137
137
|
},
|
|
138
138
|
},
|
|
139
139
|
|
|
140
|
+
/**
|
|
141
|
+
* What a failure says, by the code the server answers with. The server's own message is English
|
|
142
|
+
* and for programs; the pages read the code here, and a test holds every code the server can
|
|
143
|
+
* answer to having its words.
|
|
144
|
+
*/
|
|
145
|
+
errors: {
|
|
146
|
+
internal: "Something went wrong on the console. Try again later.",
|
|
147
|
+
invalid_response: "The console gave an answer that could not be read.",
|
|
148
|
+
network: "The console could not be reached.",
|
|
149
|
+
no_project: "This page is on no project.",
|
|
150
|
+
not_found: "There is nothing at this address.",
|
|
151
|
+
"auth.deactivated": "This account has been deactivated.",
|
|
152
|
+
"auth.forbidden": "You don't have permission to do this.",
|
|
153
|
+
"auth.forbidden_origin": "This request must come from the console's own pages.",
|
|
154
|
+
"auth.invalid_token": "The token is not valid. It may have expired or been removed.",
|
|
155
|
+
"auth.not_admitted": "This account has not been added to the console. Ask an administrator.",
|
|
156
|
+
"auth.required": "Sign in to continue.",
|
|
157
|
+
"auth.session_required": "This can only be done signed in on the console's own pages.",
|
|
158
|
+
"category.in_use": "Tasks or goals use this category. Move them to another one first.",
|
|
159
|
+
"category.key_taken": "A category with this key already exists.",
|
|
160
|
+
"category.not_found": "The category was not found.",
|
|
161
|
+
"category.too_many": "The workspace has as many categories as it can hold.",
|
|
162
|
+
"client.outdated": "This command is too old for the console. Update it.",
|
|
163
|
+
"client.too_new": "This command is too new for the console.",
|
|
164
|
+
"comment.empty": "Write something or attach a file.",
|
|
165
|
+
"comment.too_many": "The task has as many comments as it can hold.",
|
|
166
|
+
"comment.too_many_files": "The comment has too many files.",
|
|
167
|
+
"connect.approved": "This connection has already been approved.",
|
|
168
|
+
"connect.not_found": "No connection is waiting under this code.",
|
|
169
|
+
"connect.too_many": "Too many agents are asking to connect. Try again in a moment.",
|
|
170
|
+
"credentials.unavailable": "The console's credentials could not be read. Try again later.",
|
|
171
|
+
"decision.answered": "This decision has already been answered.",
|
|
172
|
+
"decision.invalid_decider": "The person named to decide can't work in this project.",
|
|
173
|
+
"decision.invalid_run": "The run is not the asker's, or it has ended.",
|
|
174
|
+
"decision.invalid_task": "The task is not in this project.",
|
|
175
|
+
"decision.no_such_option": "That option is not one of the decision's.",
|
|
176
|
+
"decision.not_found": "The decision was not found.",
|
|
177
|
+
"decision.too_many": "The project has as many decisions as it can hold.",
|
|
178
|
+
"decision.too_many_deciders": "Too many people were named to decide.",
|
|
179
|
+
"decision.too_many_files": "The decision has too many files.",
|
|
180
|
+
"document.archived": "This page is archived.",
|
|
181
|
+
"document.conflict":
|
|
182
|
+
"The page changed while you were writing. Load it again and redo your change.",
|
|
183
|
+
"document.invalid_path": "That is not a path a page can have.",
|
|
184
|
+
"document.not_found": "The page was not found.",
|
|
185
|
+
"document.too_many": "The project has as many pages as it can hold.",
|
|
186
|
+
"document.too_many_files": "The page has as many files as it can hold.",
|
|
187
|
+
"document.too_many_versions": "The page has as many versions as it can hold.",
|
|
188
|
+
"document.version_not_found": "The page has no such version.",
|
|
189
|
+
"feed.too_many": "Too many live views are open. Close a tab and try again.",
|
|
190
|
+
"file.not_found": "The file was not found.",
|
|
191
|
+
"file.not_served": "This file is not served.",
|
|
192
|
+
"file.not_text": "This file can't be read as text.",
|
|
193
|
+
"file.store_unavailable": "Files can't be reached right now. Try again later.",
|
|
194
|
+
"file.too_large": "The file is too large.",
|
|
195
|
+
"goal.invalid_category": "The category is not one of the workspace's.",
|
|
196
|
+
"goal.invalid_dates": "The target day is before the start.",
|
|
197
|
+
"goal.not_found": "The goal was not found.",
|
|
198
|
+
"goal.too_many": "The project has as many goals as it can hold.",
|
|
199
|
+
"index.failed": "The pack could not be read.",
|
|
200
|
+
"index.indexing": "The pack is still being read. Try again in a moment.",
|
|
201
|
+
"listing.exists": "This login has already been added, or is already a member.",
|
|
202
|
+
"listing.not_found": "This login is not on the list.",
|
|
203
|
+
"listing.unknown_host": "Nobody signs in through that provider here.",
|
|
204
|
+
"member.exists": "This person is already in the project.",
|
|
205
|
+
"member.invalid_person": "This person is not in the workspace.",
|
|
206
|
+
"member.not_found": "This person is not in the project.",
|
|
207
|
+
"member.open_project": "The project is open to the workspace, so everyone is already a member.",
|
|
208
|
+
"mount.ref_not_found": "That version of the pack was not found.",
|
|
209
|
+
"mount.repo_not_found": "The pack was not found.",
|
|
210
|
+
"person.email_taken": "That address is another person's in this workspace.",
|
|
211
|
+
"team.not_found": "The team was not found.",
|
|
212
|
+
"team.name_taken": "A team of that name is there already.",
|
|
213
|
+
"team.key_taken": "A team or a project of that key is there already.",
|
|
214
|
+
"team.invalid_name": "A team's name is one line of words.",
|
|
215
|
+
"team.too_many": "The workspace holds as many teams as one may.",
|
|
216
|
+
"team.invalid_member": "Only an active person of the workspace is put in a team.",
|
|
217
|
+
"team.not_a_member": "The person is not in the team.",
|
|
218
|
+
"person.invalid_manager":
|
|
219
|
+
"A manager must be another active person, and not one of this person's own team.",
|
|
220
|
+
"person.last_admin": "The workspace needs at least one administrator.",
|
|
221
|
+
"person.not_found": "The person was not found.",
|
|
222
|
+
"person.of_organization": "The organization decides who is in. This can't be changed here.",
|
|
223
|
+
"picture.refused": "This picture can't be shown.",
|
|
224
|
+
"picture.unavailable": "The picture could not be fetched. Try again later.",
|
|
225
|
+
"plugin.conflict": "This has already been done, or something changed in the meantime.",
|
|
226
|
+
"plugin.disabled": "The plugin is off.",
|
|
227
|
+
"plugin.failed": "The plugin ran into a problem.",
|
|
228
|
+
"plugin.forbidden": "The plugin can't do this.",
|
|
229
|
+
"plugin.invalid_args": "Check what you entered and try again.",
|
|
230
|
+
"plugin.needs_consent": "An administrator must first agree to what the plugin asks.",
|
|
231
|
+
"plugin.not_found": "The plugin was not found.",
|
|
232
|
+
"plugin.rate_limited": "The plugin is sending too many requests. Try again in a moment.",
|
|
233
|
+
"plugin.required_by": "Another plugin needs this one. Turn that one off first.",
|
|
234
|
+
"plugin.requires": "This plugin needs another plugin that is not on.",
|
|
235
|
+
"plugin.timeout": "The plugin took too long to answer.",
|
|
236
|
+
"plugin.too_many": "The plugin has reached a limit.",
|
|
237
|
+
"plugin.unavailable": "The plugin can't be reached right now.",
|
|
238
|
+
"project.invalid_address": "That is not the address of a pack.",
|
|
239
|
+
"project.invalid_icon": "That file can't be used as the project's image.",
|
|
240
|
+
"project.key_taken": "A project or a team with this key already exists.",
|
|
241
|
+
"project.no_icon": "The project has no image.",
|
|
242
|
+
"project.not_found": "The project was not found.",
|
|
243
|
+
"project.pack_connect_refused": "SkillCDN refused the connection.",
|
|
244
|
+
"project.pack_connect_unsupported": "This console can't connect a pack.",
|
|
245
|
+
"project.pack_token_refused": "SkillCDN doesn't serve the pack to this token.",
|
|
246
|
+
"project.pack_token_unsupported": "This console can't keep a pack token.",
|
|
247
|
+
"project.too_many": "The workspace has as many projects as it can hold.",
|
|
248
|
+
"project.too_many_bytes": "The project's files have used up the room it has.",
|
|
249
|
+
"request.invalid": "Check what you entered and try again.",
|
|
250
|
+
"request.too_large": "That is too large to send.",
|
|
251
|
+
"run.not_found": "The run was not found.",
|
|
252
|
+
"run.not_yours": "This run is another person's.",
|
|
253
|
+
"run.over": "This run has ended.",
|
|
254
|
+
"run.task_closed": "The task is done or dropped.",
|
|
255
|
+
"run.task_not_found": "The task is not in this project.",
|
|
256
|
+
"run.too_many": "The task has been taken as many times as it can be.",
|
|
257
|
+
"run.too_many_artifacts": "The run has as many results as it can hold.",
|
|
258
|
+
"run.too_many_reports": "The run has as many reports as it can hold.",
|
|
259
|
+
"skills.unavailable": "SkillCDN could not be reached. Try again later.",
|
|
260
|
+
"task.invalid_category": "The category is not one of the workspace's.",
|
|
261
|
+
"task.invalid_dates": "The due day is before the start.",
|
|
262
|
+
"task.invalid_goal": "The goal is not in this project.",
|
|
263
|
+
"task.invalid_parent": "The parent is not a task of this project, or would make a loop.",
|
|
264
|
+
"task.invalid_worker": "A worker must be someone who can work in the project.",
|
|
265
|
+
"task.not_found": "The task was not found.",
|
|
266
|
+
"task.too_many": "The project has as many tasks as it can hold.",
|
|
267
|
+
"token.expiry_at_most": "A token can't last that many days here.",
|
|
268
|
+
"token.not_found": "The token was not found.",
|
|
269
|
+
"token.too_many": "You have as many tokens as you can hold. Remove one first.",
|
|
270
|
+
"workspace.pack_connect_refused": "SkillCDN refused the connection.",
|
|
271
|
+
"workspace.pack_connect_unsupported": "This console can't connect a pack.",
|
|
272
|
+
"workspace.pack_token_refused": "SkillCDN doesn't serve the pack to this token.",
|
|
273
|
+
"workspace.pack_token_unsupported": "This console can't keep a pack token.",
|
|
274
|
+
},
|
|
140
275
|
nav: {
|
|
141
276
|
projects: "Projects",
|
|
142
277
|
work: "My work",
|
|
@@ -179,6 +314,11 @@ export const en = {
|
|
|
179
314
|
problems: "Why it cannot run",
|
|
180
315
|
nothing: "None",
|
|
181
316
|
capabilities: "Capabilities",
|
|
317
|
+
required: "Required",
|
|
318
|
+
requiredHint: "The plugin can't work without these, so they stay on.",
|
|
319
|
+
optional: "Optional",
|
|
320
|
+
optionalHint: "Turn on what you want it to use. You can change this later.",
|
|
321
|
+
newCapability: "New",
|
|
182
322
|
board: "Board project",
|
|
183
323
|
boardHint: "Where its decisions, tasks and pages go.",
|
|
184
324
|
boardNone: "None",
|
|
@@ -192,6 +332,10 @@ export const en = {
|
|
|
192
332
|
projectsSome: "Some projects",
|
|
193
333
|
settingsForm: "Settings",
|
|
194
334
|
secretSet: (when: string) => `Set ${when}`,
|
|
335
|
+
secretSealedFrom: (host: string, when: string) => `Received from ${host} ${when}`,
|
|
336
|
+
secretExpires: (when: string) => `expires ${when}`,
|
|
337
|
+
secretExpired: (when: string) => `expired ${when}`,
|
|
338
|
+
secretHosts: (hosts: string) => `Sent to ${hosts} only.`,
|
|
195
339
|
secretUnset: "Not set",
|
|
196
340
|
secretNew: "New value",
|
|
197
341
|
enable: "Enable",
|
|
@@ -200,11 +344,24 @@ export const en = {
|
|
|
200
344
|
rolesNone: "No roles: every member may use it.",
|
|
201
345
|
roleDefault: "Default",
|
|
202
346
|
everyMember: "Every member",
|
|
347
|
+
roleManagers: "Reporting line",
|
|
348
|
+
whoeverManages: "Whoever someone reports to",
|
|
203
349
|
grantEveryone: "Everyone",
|
|
204
350
|
grantMembersOf: (project: string) => `Members of ${project}`,
|
|
205
351
|
grantPeople: "People",
|
|
206
352
|
grantProjects: "Members of a project",
|
|
207
353
|
grantWhom: "Grant to…",
|
|
354
|
+
grantPlugins: "Plugins",
|
|
355
|
+
grantTeams: "Teams",
|
|
356
|
+
grantTeam: (team: string) => `The team ${team}`,
|
|
357
|
+
grantPlugin: (plugin: string) => `The plugin ${plugin}`,
|
|
358
|
+
asks: "Roles asked of other plugins",
|
|
359
|
+
asksHint:
|
|
360
|
+
"Roles of other plugins this plugin asks to hold, to act as itself in them; each is an administrator's to grant, here or when enabling.",
|
|
361
|
+
askGranted: "Granted",
|
|
362
|
+
askUngranted: "Not granted",
|
|
363
|
+
askUnavailable: (plugin: string) => `${plugin} is not enabled; grant it here once it is.`,
|
|
364
|
+
askGrantNow: "Grant it now",
|
|
208
365
|
grant: "Grant",
|
|
209
366
|
revoke: "Revoke",
|
|
210
367
|
events: "What happened",
|
|
@@ -221,7 +378,22 @@ export const en = {
|
|
|
221
378
|
purged: "Purged.",
|
|
222
379
|
agentNote: "For agents",
|
|
223
380
|
operations: "Commands and queries",
|
|
381
|
+
console: "Console versions",
|
|
382
|
+
consoleRange: (range: string) => `console ${range}`,
|
|
383
|
+
timeZoneHint: "In the workspace's time zone.",
|
|
384
|
+
keeps: "Kept for",
|
|
385
|
+
keepsFor: (collection: string, days: number) =>
|
|
386
|
+
`${collection}: ${days} ${days === 1 ? "day" : "days"}, then removed`,
|
|
387
|
+
needsTimeZone:
|
|
388
|
+
"The workspace has no time zone, so this plugin's times of day run on UTC until one is set.",
|
|
389
|
+
setTimeZone: "Set the time zone",
|
|
390
|
+
addItem: "Add",
|
|
391
|
+
itemPlaceholder: "Type, then add",
|
|
392
|
+
choose: "Choose…",
|
|
393
|
+
addOne: "Add…",
|
|
224
394
|
},
|
|
395
|
+
/** What stands in for a frame the console has nothing to show in. */
|
|
396
|
+
frameUnavailable: "This can't be shown right now.",
|
|
225
397
|
/** The capabilities (docs/specs/plugins.md, "Capabilities"), each by a name and the sentence of what it opens, as an administrator reads them before consenting. */
|
|
226
398
|
capability: {
|
|
227
399
|
files: {
|
|
@@ -233,6 +405,16 @@ export const en = {
|
|
|
233
405
|
name: "Everyone",
|
|
234
406
|
opens: "Reads everyone in the workspace, from its jobs and hooks too.",
|
|
235
407
|
},
|
|
408
|
+
"people:read:email": {
|
|
409
|
+
name: "Work email",
|
|
410
|
+
opens:
|
|
411
|
+
"Reads the work email of the people it may read, to match them to accounts elsewhere.",
|
|
412
|
+
},
|
|
413
|
+
"people:act": {
|
|
414
|
+
name: "Acting for a person",
|
|
415
|
+
opens:
|
|
416
|
+
"Runs a command and answers a decision for a person who did it elsewhere, within what they may do, recorded as theirs through the plugin.",
|
|
417
|
+
},
|
|
236
418
|
"projects:read": {
|
|
237
419
|
name: "Projects",
|
|
238
420
|
opens: "Reads the projects and members the person may see.",
|
|
@@ -275,6 +457,11 @@ export const en = {
|
|
|
275
457
|
name: "Own database schema",
|
|
276
458
|
opens: "Gets a schema and a login role of its own in the console's database.",
|
|
277
459
|
},
|
|
460
|
+
"outbound:webrtc": {
|
|
461
|
+
name: "WebRTC on its pages",
|
|
462
|
+
opens:
|
|
463
|
+
"Its pages connect from each person's browser to any address, past the console: what they show, and the person's network address, can go anywhere.",
|
|
464
|
+
},
|
|
278
465
|
outbound: (host: string) => ({
|
|
279
466
|
name: `Requests to ${host}`,
|
|
280
467
|
opens: `Sends https requests to ${host}.`,
|
|
@@ -464,6 +651,7 @@ export const en = {
|
|
|
464
651
|
},
|
|
465
652
|
partOf: "Part of",
|
|
466
653
|
owner: "Owner",
|
|
654
|
+
writtenThrough: "Written through",
|
|
467
655
|
workers: "Workers",
|
|
468
656
|
written: "Written",
|
|
469
657
|
changed: "Changed",
|
|
@@ -547,11 +735,14 @@ export const en = {
|
|
|
547
735
|
askedThrough: (agent: string) => `asked through ${agent}`,
|
|
548
736
|
about: "about",
|
|
549
737
|
answeredBy: "answered",
|
|
738
|
+
answeredThrough: (agent: string) => `answered through ${agent}`,
|
|
550
739
|
context: "Context",
|
|
551
740
|
files: "Files",
|
|
552
741
|
picture: (name: string) => `The picture ${name}`,
|
|
553
742
|
whatFollowed: "What followed",
|
|
554
743
|
nothingWritten: "Nothing written yet.",
|
|
744
|
+
wroteWhatFollowed: "wrote what followed",
|
|
745
|
+
wroteWhatFollowedThrough: (agent: string) => `wrote what followed through ${agent}`,
|
|
555
746
|
outcomePlaceholder: "What was done with the answer, and what came of it, in Markdown.",
|
|
556
747
|
writeWhatFollowed: "Write what followed",
|
|
557
748
|
changeIt: "Change it",
|
|
@@ -568,6 +759,8 @@ export const en = {
|
|
|
568
759
|
noTask: "No task in particular",
|
|
569
760
|
decider: "Who decides",
|
|
570
761
|
deciderPlaceholder: "You, unless you name someone",
|
|
762
|
+
addDecider: "Add a person",
|
|
763
|
+
decidersHint: "Any of them may answer; the first answer ends it.",
|
|
571
764
|
me: "(you)",
|
|
572
765
|
options: "Options",
|
|
573
766
|
option: (n: number) => `Option ${n}`,
|
|
@@ -658,6 +851,7 @@ export const en = {
|
|
|
658
851
|
target: "Target",
|
|
659
852
|
noTarget: "No target day",
|
|
660
853
|
setBy: "Set by",
|
|
854
|
+
setThrough: (agent: string) => `through ${agent}`,
|
|
661
855
|
state: "State",
|
|
662
856
|
nothingMore: "Nothing more was written about it.",
|
|
663
857
|
about: "What reaching it means",
|
|
@@ -789,8 +983,13 @@ export const en = {
|
|
|
789
983
|
console: "The console",
|
|
790
984
|
as: (agent: string) => `as ${agent}`,
|
|
791
985
|
asTitle: "The agent the person acted through",
|
|
986
|
+
via: (plugin: string) => `through ${plugin}`,
|
|
987
|
+
viaTitle: "The plugin that acted for the person",
|
|
988
|
+
thePlugin: (plugin: string) => `the plugin ${plugin}`,
|
|
792
989
|
aTask: "a task",
|
|
793
990
|
aPlugin: "a plugin",
|
|
991
|
+
aTeam: "a team",
|
|
992
|
+
theTeam: (team: string) => `the team ${team}`,
|
|
794
993
|
/** After the sentence of a board's event a plugin caused (ADR-0052). */
|
|
795
994
|
throughPlugin: (plugin: string) => `through the plugin ${plugin}`,
|
|
796
995
|
everyone: "everyone",
|
|
@@ -846,6 +1045,15 @@ export const en = {
|
|
|
846
1045
|
personUnlisted: (login: string) => `took ${login} off the list`,
|
|
847
1046
|
personDeactivated: (login: string) => `deactivated ${login}`,
|
|
848
1047
|
personReactivated: (login: string) => `reactivated ${login}`,
|
|
1048
|
+
managerChanged: (login: string, manager: string) => `set ${login}'s manager to ${manager}`,
|
|
1049
|
+
managerCleared: (login: string) => `cleared ${login}'s manager`,
|
|
1050
|
+
emailChanged: (login: string) => `changed ${login}'s work email`,
|
|
1051
|
+
emailCleared: (login: string) => `cleared ${login}'s work email`,
|
|
1052
|
+
teamCreated: (team: string) => `made the team ${team}`,
|
|
1053
|
+
teamRenamed: (from: string, team: string) => `renamed the team ${from} to ${team}`,
|
|
1054
|
+
teamRemoved: (team: string) => `deleted the team ${team}`,
|
|
1055
|
+
teamMemberAdded: (login: string, team: string) => `put ${login} in the team ${team}`,
|
|
1056
|
+
teamMemberRemoved: (login: string, team: string) => `took ${login} out of the team ${team}`,
|
|
849
1057
|
projectCreated: (project: string) => `made the project ${project}`,
|
|
850
1058
|
projectUpdated: (fields: string, project: string) =>
|
|
851
1059
|
`changed ${fields} of the project ${project}`,
|
|
@@ -888,8 +1096,11 @@ export const en = {
|
|
|
888
1096
|
fileAttached: (label: string, page: string) => `attached ${label} to ${page}`,
|
|
889
1097
|
pluginEnabled: (plugin: string) => `enabled the plugin ${plugin}`,
|
|
890
1098
|
pluginDisabled: (plugin: string) => `disabled the plugin ${plugin}`,
|
|
1099
|
+
pluginConsented: (plugin: string) => `changed the capabilities of the plugin ${plugin}`,
|
|
891
1100
|
pluginConfigured: (fields: string, plugin: string) =>
|
|
892
1101
|
`changed ${fields} of the plugin ${plugin}`,
|
|
1102
|
+
pluginSealed: (fields: string, plugin: string, host: string) =>
|
|
1103
|
+
`stored ${fields} of the plugin ${plugin}, received from ${host}`,
|
|
893
1104
|
pluginGranted: (role: string, who: string, plugin: string) =>
|
|
894
1105
|
`gave ${who} the role ${role} in the plugin ${plugin}`,
|
|
895
1106
|
pluginRevoked: (role: string, who: string, plugin: string) =>
|
|
@@ -1057,11 +1268,44 @@ export const en = {
|
|
|
1057
1268
|
},
|
|
1058
1269
|
},
|
|
1059
1270
|
|
|
1271
|
+
/** The front page as the person arranges it (ADR-0061). */
|
|
1272
|
+
home: {
|
|
1273
|
+
edit: "Edit layout",
|
|
1274
|
+
hint: "Drag to move. Pick a size at the top right; × takes a tile off this page.",
|
|
1275
|
+
done: "Done",
|
|
1276
|
+
add: "Add",
|
|
1277
|
+
remove: "Remove from this page",
|
|
1278
|
+
size: "Size",
|
|
1279
|
+
sizes: {
|
|
1280
|
+
icon: "Icon",
|
|
1281
|
+
small: "Small",
|
|
1282
|
+
medium: "Medium",
|
|
1283
|
+
large: "Large",
|
|
1284
|
+
wide: "Wide",
|
|
1285
|
+
full: "Full",
|
|
1286
|
+
},
|
|
1287
|
+
},
|
|
1288
|
+
|
|
1060
1289
|
people: {
|
|
1061
1290
|
title: "People",
|
|
1062
1291
|
list: "People",
|
|
1063
1292
|
narrowed: "The people you share a project with, and the administrators.",
|
|
1064
1293
|
roleOf: (name: string) => `Role of ${name}`,
|
|
1294
|
+
role: "Role",
|
|
1295
|
+
manager: "Manager",
|
|
1296
|
+
managerOf: (name: string) => `Manager of ${name}`,
|
|
1297
|
+
email: "Work email",
|
|
1298
|
+
emailOf: (name: string) => `Work email of ${name}`,
|
|
1299
|
+
emailHint:
|
|
1300
|
+
"Google's at sign-in; written here otherwise. Read by an administrator, the person, and a plugin allowed to.",
|
|
1301
|
+
team: "Direct reports",
|
|
1302
|
+
teams: "Teams",
|
|
1303
|
+
joinTeam: "Add to a team…",
|
|
1304
|
+
joinTeamOf: (name: string) => `Add ${name} to a team`,
|
|
1305
|
+
leaveTeam: (name: string, team: string) => `Take ${name} out of ${team}`,
|
|
1306
|
+
howMany: (count: number) => (count === 1 ? "1 person" : `${count} people`),
|
|
1307
|
+
views: { aria: "People and teams", people: "People", teams: "Teams" },
|
|
1308
|
+
nobody: "None",
|
|
1065
1309
|
letIn: "Add a person",
|
|
1066
1310
|
letInAria: "Add a person",
|
|
1067
1311
|
notSignedIn: "Added, not signed in yet",
|
|
@@ -1111,6 +1355,36 @@ export const en = {
|
|
|
1111
1355
|
},
|
|
1112
1356
|
},
|
|
1113
1357
|
|
|
1358
|
+
/** The teams of the workspace (ADR-0073), a view of the people page of their own. */
|
|
1359
|
+
teams: {
|
|
1360
|
+
list: "Teams",
|
|
1361
|
+
none: {
|
|
1362
|
+
title: "No teams yet",
|
|
1363
|
+
body: "A team puts people under one name: a plugin finds them by it, and a role of a plugin granted to the team is held by everyone in it.",
|
|
1364
|
+
},
|
|
1365
|
+
members: (count: number) => (count === 1 ? "1 member" : `${count} members`),
|
|
1366
|
+
nobody: "Nobody in it yet.",
|
|
1367
|
+
nameOf: (team: string) => `Name of the team ${team}`,
|
|
1368
|
+
keyTitle:
|
|
1369
|
+
"The team's key: what a grant, a plugin and the command call it by. It never changes.",
|
|
1370
|
+
addMember: "Add a person…",
|
|
1371
|
+
addMemberTo: (team: string) => `Add a person to ${team}`,
|
|
1372
|
+
removeMember: (name: string, team: string) => `Take ${name} out of ${team}`,
|
|
1373
|
+
remove: "Delete team",
|
|
1374
|
+
removeAsk: (team: string) =>
|
|
1375
|
+
`Delete the team ${team}? The roles of plugins granted to it go with it; its people stay.`,
|
|
1376
|
+
newTeam: "New team",
|
|
1377
|
+
newAria: "New team",
|
|
1378
|
+
form: {
|
|
1379
|
+
name: "Team name",
|
|
1380
|
+
key: "Key",
|
|
1381
|
+
keyHint:
|
|
1382
|
+
"Lowercase letters, digits and hyphens: what a grant, a plugin and the command call the team by. No other team and no project has it, and it never changes.",
|
|
1383
|
+
hint: "The name is what people read, and can change; the key stays. People are added on the team's card once it is made.",
|
|
1384
|
+
submit: "Make the team",
|
|
1385
|
+
},
|
|
1386
|
+
},
|
|
1387
|
+
|
|
1114
1388
|
agents: {
|
|
1115
1389
|
title: "Agents",
|
|
1116
1390
|
makeByHand: "Make a token by hand",
|
package/src/i18n/index.ts
CHANGED
|
@@ -52,25 +52,28 @@ export function packFor(
|
|
|
52
52
|
);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
/**
|
|
56
|
-
|
|
57
|
-
* browser's languages that does, else the first pack.
|
|
58
|
-
*/
|
|
59
|
-
export function chooseLanguage(
|
|
60
|
-
chosen: string | null | undefined,
|
|
55
|
+
/** The first of the browser's languages a pack speaks, or nothing. */
|
|
56
|
+
export function browserPack(
|
|
61
57
|
browser: readonly string[],
|
|
62
|
-
packs: readonly LanguagePack[]
|
|
63
|
-
): LanguagePack {
|
|
64
|
-
const first = packs[0] ?? ENGLISH;
|
|
65
|
-
const own = packFor(chosen, packs);
|
|
66
|
-
if (own !== undefined) {
|
|
67
|
-
return own;
|
|
68
|
-
}
|
|
58
|
+
packs: readonly LanguagePack[],
|
|
59
|
+
): LanguagePack | undefined {
|
|
69
60
|
for (const tag of browser) {
|
|
70
61
|
const found = packFor(tag, packs);
|
|
71
62
|
if (found !== undefined) {
|
|
72
63
|
return found;
|
|
73
64
|
}
|
|
74
65
|
}
|
|
75
|
-
return
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* The language to speak: the person's own when it names a pack, else the first of the browser's
|
|
71
|
+
* languages that does, else the first pack.
|
|
72
|
+
*/
|
|
73
|
+
export function chooseLanguage(
|
|
74
|
+
chosen: string | null | undefined,
|
|
75
|
+
browser: readonly string[],
|
|
76
|
+
packs: readonly LanguagePack[] = DEFAULT_LANGUAGES,
|
|
77
|
+
): LanguagePack {
|
|
78
|
+
return packFor(chosen, packs) ?? browserPack(browser, packs) ?? packs[0] ?? ENGLISH;
|
|
76
79
|
}
|