@skillcdn/console 0.1.17 → 0.1.18
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 +3 -3
- package/dist/api.d.ts +2 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +1 -0
- package/dist/api.js.map +1 -1
- package/dist/cli/cli.d.ts +10 -0
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +145 -14
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/format.d.ts +1 -1
- package/dist/cli/format.d.ts.map +1 -1
- package/dist/cli/format.js +8 -3
- package/dist/cli/format.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +7 -5
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/install.d.ts +21 -0
- package/dist/cli/install.d.ts.map +1 -0
- package/dist/cli/install.js +87 -0
- package/dist/cli/install.js.map +1 -0
- package/dist/cli/main.js +22 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/notices.d.ts +13 -0
- package/dist/cli/notices.d.ts.map +1 -0
- package/dist/cli/notices.js +31 -0
- package/dist/cli/notices.js.map +1 -0
- package/dist/client.d.ts +15 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +8 -3
- package/dist/client.js.map +1 -1
- package/dist/compat.d.ts +66 -0
- package/dist/compat.d.ts.map +1 -0
- package/dist/compat.js +115 -0
- package/dist/compat.js.map +1 -0
- package/dist/components/calendar.d.ts +3 -1
- package/dist/components/calendar.d.ts.map +1 -1
- package/dist/components/calendar.js +21 -2
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/goals.d.ts +3 -1
- package/dist/components/goals.d.ts.map +1 -1
- package/dist/components/goals.js +23 -11
- package/dist/components/goals.js.map +1 -1
- package/dist/components/roadmap.d.ts +37 -0
- package/dist/components/roadmap.d.ts.map +1 -0
- package/dist/components/roadmap.js +76 -0
- package/dist/components/roadmap.js.map +1 -0
- package/dist/components/tokens.d.ts +2 -0
- package/dist/components/tokens.d.ts.map +1 -1
- package/dist/components/tokens.js +13 -3
- package/dist/components/tokens.js.map +1 -1
- package/dist/console.css +204 -0
- package/dist/console.d.ts.map +1 -1
- package/dist/console.js +8 -7
- package/dist/console.js.map +1 -1
- package/dist/data.js +1 -1
- package/dist/data.js.map +1 -1
- package/dist/i18n/en.d.ts +24 -0
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +24 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/ko.d.ts.map +1 -1
- package/dist/i18n/ko.js +24 -0
- package/dist/i18n/ko.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/router.d.ts +6 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +10 -1
- package/dist/router.js.map +1 -1
- package/dist/schemas.d.ts +42 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +18 -0
- package/dist/schemas.js.map +1 -1
- package/docs/specs/cli.md +9 -6
- package/docs/specs/rest.md +9 -5
- package/package.json +3 -2
- package/skills/working-the-board/SKILL.md +4 -3
- package/src/api.ts +23 -0
- package/src/cli/cli.ts +178 -15
- package/src/cli/format.ts +8 -3
- package/src/cli/help.ts +7 -5
- package/src/cli/install.ts +111 -0
- package/src/cli/main.ts +23 -3
- package/src/cli/notices.ts +48 -0
- package/src/client.ts +31 -6
- package/src/compat.ts +173 -0
- package/src/components/calendar.tsx +41 -1
- package/src/components/goals.tsx +86 -7
- package/src/components/roadmap.tsx +242 -0
- package/src/components/tokens.tsx +38 -1
- package/src/console.tsx +19 -0
- package/src/data.ts +1 -1
- package/src/i18n/en.ts +24 -0
- package/src/i18n/ko.ts +24 -0
- package/src/index.ts +8 -0
- package/src/router.ts +13 -2
- package/src/schemas.ts +20 -0
- package/src/styles/console.css +204 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roadmap.js","sourceRoot":"","sources":["../../src/components/roadmap.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ export interface TokenListProps {
|
|
|
11
11
|
readonly onRevoke?: ((token: RestToken) => void) | undefined;
|
|
12
12
|
readonly busy?: boolean | undefined;
|
|
13
13
|
readonly empty?: ReactNode;
|
|
14
|
+
/** The console's version (ADR-0025), so that the version of the command an agent runs is said to be behind or ahead; left out, the version alone is shown. */
|
|
15
|
+
readonly consoleVersion?: string | undefined;
|
|
14
16
|
}
|
|
15
17
|
export declare function TokenList(props: TokenListProps): import("react").JSX.Element;
|
|
16
18
|
export interface TokenFormProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/components/tokens.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/components/tokens.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AACjE,OAAO,EAML,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AAcnB;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,CAMnF;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,8JAA8J;IAC9J,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C;AAgBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,+BAmE9C;AAED,MAAM,WAAW,cAAc;IAC7B,+FAA+F;IAC/F,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,oFAAoF;IACpF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC9C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,+BAgE9C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,mFAAmF;AACnF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,+BA+B5C"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from "react";
|
|
3
|
-
import { DEFAULT_TOKEN_DAYS, MAX_TOKEN_NAME_LENGTH, } from "../api.js";
|
|
3
|
+
import { DEFAULT_TOKEN_DAYS, judgeClient, MAX_TOKEN_NAME_LENGTH, parseVersion, } from "../api.js";
|
|
4
4
|
import { useWords } from "../i18n/index.js";
|
|
5
|
-
import { Button, Callout, CopyButton, Time } from "./ui.js";
|
|
5
|
+
import { Badge, Button, Callout, CopyButton, Time } from "./ui.js";
|
|
6
6
|
// The tokens a person holds for their agents, scripts and consoles of their own, shown as the
|
|
7
7
|
// agents that hold them: the list, the way to make one by hand, and the one just made, whose
|
|
8
8
|
// secret is shown this once. Each takes its data as props and nothing from the network.
|
|
@@ -20,12 +20,22 @@ export function dayChoices(daysAtMost) {
|
|
|
20
20
|
const within = DAY_CHOICES.filter((choice) => choice !== "never" && Number(choice) < daysAtMost);
|
|
21
21
|
return [...within, String(daysAtMost)];
|
|
22
22
|
}
|
|
23
|
+
/** What a command's version is to the console's: nothing to say when they go together, else which way they differ. */
|
|
24
|
+
function verdictOf(client, consoleVersion) {
|
|
25
|
+
const command = parseVersion(client);
|
|
26
|
+
const server = parseVersion(consoleVersion);
|
|
27
|
+
if (command === undefined || server === undefined) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
const { verdict } = judgeClient(command, server);
|
|
31
|
+
return verdict === "current" ? undefined : verdict;
|
|
32
|
+
}
|
|
23
33
|
export function TokenList(props) {
|
|
24
34
|
const words = useWords().agents;
|
|
25
35
|
if (props.tokens.length === 0) {
|
|
26
36
|
return _jsx(_Fragment, { children: props.empty ?? null });
|
|
27
37
|
}
|
|
28
|
-
return (_jsx("ul", { className: "sc-token-list", "aria-label": words.list, children: props.tokens.map((token) => (_jsxs("li", { className: "sc-token", children: [_jsxs("div", { children: [_jsx("p", { className: "sc-token-name", children: token.name }), _jsxs("p", { className: "sc-token-meta", children: [_jsxs("span", { children: [words.connected, " ", _jsx(Time, { iso: token.createdAt })] }), _jsx("span", { children: token.expiresAt === null ? (words.doesNotExpire) : (_jsxs(_Fragment, { children: [words.goodUntil, " ", _jsx(Time, { iso: token.expiresAt })] })) }), _jsx("span", { children: token.lastUsedAt === null ? (words.notActive) : (_jsxs(_Fragment, { children: [words.lastActive, " ", _jsx(Time, { iso: token.lastUsedAt })] })) })] })] }), props.onRevoke !== undefined && (_jsx(Button, { variant: "danger", size: "sm", disabled: props.busy === true, onClick: () => props.onRevoke?.(token), children: words.disconnect }))] }, token.id))) }));
|
|
38
|
+
return (_jsx("ul", { className: "sc-token-list", "aria-label": words.list, children: props.tokens.map((token) => (_jsxs("li", { className: "sc-token", children: [_jsxs("div", { children: [_jsx("p", { className: "sc-token-name", children: token.name }), _jsxs("p", { className: "sc-token-meta", children: [_jsxs("span", { children: [words.connected, " ", _jsx(Time, { iso: token.createdAt })] }), token.client !== null && (_jsxs("span", { children: [words.command(token.client), ((verdict) => verdict === undefined ? null : (_jsxs(_Fragment, { children: [" ", _jsx(Badge, { tone: verdict === "outdated" || verdict === "too_new" ? "danger" : "warning", children: words.commandVerdict[verdict] })] })))(verdictOf(token.client, props.consoleVersion))] })), _jsx("span", { children: token.expiresAt === null ? (words.doesNotExpire) : (_jsxs(_Fragment, { children: [words.goodUntil, " ", _jsx(Time, { iso: token.expiresAt })] })) }), _jsx("span", { children: token.lastUsedAt === null ? (words.notActive) : (_jsxs(_Fragment, { children: [words.lastActive, " ", _jsx(Time, { iso: token.lastUsedAt })] })) })] })] }), props.onRevoke !== undefined && (_jsx(Button, { variant: "danger", size: "sm", disabled: props.busy === true, onClick: () => props.onRevoke?.(token), children: words.disconnect }))] }, token.id))) }));
|
|
29
39
|
}
|
|
30
40
|
export function TokenForm(props) {
|
|
31
41
|
const words = useWords();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/components/tokens.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkC,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/components/tokens.tsx"],"names":[],"mappings":"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"}
|
package/dist/console.css
CHANGED
|
@@ -3476,3 +3476,207 @@ table {
|
|
|
3476
3476
|
.sc-rules-fold[open] > summary {
|
|
3477
3477
|
margin-bottom: var(--sc-space-3);
|
|
3478
3478
|
}
|
|
3479
|
+
|
|
3480
|
+
/* The roadmap as months (ADR-0026): the months as columns, each goal a bar from its start to its target. */
|
|
3481
|
+
.sc-timeline {
|
|
3482
|
+
display: grid;
|
|
3483
|
+
gap: var(--sc-space-3);
|
|
3484
|
+
margin-bottom: var(--sc-space-6);
|
|
3485
|
+
}
|
|
3486
|
+
|
|
3487
|
+
.sc-timeline-head {
|
|
3488
|
+
display: flex;
|
|
3489
|
+
flex-wrap: wrap;
|
|
3490
|
+
align-items: center;
|
|
3491
|
+
justify-content: space-between;
|
|
3492
|
+
gap: var(--sc-space-2);
|
|
3493
|
+
}
|
|
3494
|
+
|
|
3495
|
+
.sc-timeline-title {
|
|
3496
|
+
margin: 0;
|
|
3497
|
+
font-size: var(--sc-text-base);
|
|
3498
|
+
font-weight: var(--sc-weight-medium);
|
|
3499
|
+
}
|
|
3500
|
+
|
|
3501
|
+
.sc-timeline-grid {
|
|
3502
|
+
display: grid;
|
|
3503
|
+
gap: 2px;
|
|
3504
|
+
overflow-x: auto;
|
|
3505
|
+
}
|
|
3506
|
+
|
|
3507
|
+
.sc-timeline-row {
|
|
3508
|
+
display: grid;
|
|
3509
|
+
grid-template-columns: minmax(8rem, 14rem) minmax(20rem, 1fr);
|
|
3510
|
+
align-items: center;
|
|
3511
|
+
gap: var(--sc-space-2);
|
|
3512
|
+
}
|
|
3513
|
+
|
|
3514
|
+
.sc-timeline-label {
|
|
3515
|
+
display: flex;
|
|
3516
|
+
flex-wrap: wrap;
|
|
3517
|
+
align-items: center;
|
|
3518
|
+
gap: var(--sc-space-2);
|
|
3519
|
+
min-width: 0;
|
|
3520
|
+
}
|
|
3521
|
+
|
|
3522
|
+
.sc-timeline-goal {
|
|
3523
|
+
color: var(--sc-color-text);
|
|
3524
|
+
font-size: var(--sc-text-sm);
|
|
3525
|
+
text-decoration: none;
|
|
3526
|
+
overflow-wrap: anywhere;
|
|
3527
|
+
}
|
|
3528
|
+
|
|
3529
|
+
.sc-timeline-goal:hover {
|
|
3530
|
+
color: var(--sc-color-accent);
|
|
3531
|
+
}
|
|
3532
|
+
|
|
3533
|
+
.sc-timeline-track {
|
|
3534
|
+
position: relative;
|
|
3535
|
+
display: flex;
|
|
3536
|
+
height: 1.75rem;
|
|
3537
|
+
}
|
|
3538
|
+
|
|
3539
|
+
.sc-timeline-months .sc-timeline-track {
|
|
3540
|
+
height: auto;
|
|
3541
|
+
}
|
|
3542
|
+
|
|
3543
|
+
.sc-timeline-month {
|
|
3544
|
+
flex: none;
|
|
3545
|
+
padding: var(--sc-space-1) var(--sc-space-2);
|
|
3546
|
+
border-left: var(--sc-border);
|
|
3547
|
+
color: var(--sc-color-text-muted);
|
|
3548
|
+
font-size: var(--sc-text-xs);
|
|
3549
|
+
white-space: nowrap;
|
|
3550
|
+
overflow: hidden;
|
|
3551
|
+
text-overflow: ellipsis;
|
|
3552
|
+
}
|
|
3553
|
+
|
|
3554
|
+
.sc-timeline-column {
|
|
3555
|
+
flex: none;
|
|
3556
|
+
height: 100%;
|
|
3557
|
+
border-left: var(--sc-border);
|
|
3558
|
+
background: var(--sc-color-sheet);
|
|
3559
|
+
}
|
|
3560
|
+
|
|
3561
|
+
.sc-timeline-today {
|
|
3562
|
+
position: absolute;
|
|
3563
|
+
top: 0;
|
|
3564
|
+
bottom: 0;
|
|
3565
|
+
width: 2px;
|
|
3566
|
+
margin-left: -1px;
|
|
3567
|
+
background: var(--sc-color-accent);
|
|
3568
|
+
opacity: 0.7;
|
|
3569
|
+
}
|
|
3570
|
+
|
|
3571
|
+
.sc-timeline-today-mark {
|
|
3572
|
+
top: auto;
|
|
3573
|
+
bottom: 0;
|
|
3574
|
+
height: var(--sc-space-2);
|
|
3575
|
+
}
|
|
3576
|
+
|
|
3577
|
+
.sc-timeline-bar {
|
|
3578
|
+
position: absolute;
|
|
3579
|
+
top: 0.25rem;
|
|
3580
|
+
bottom: 0.25rem;
|
|
3581
|
+
display: flex;
|
|
3582
|
+
align-items: center;
|
|
3583
|
+
overflow: hidden;
|
|
3584
|
+
border-block: 1px solid color-mix(in srgb, var(--sc-category-line) 45%, transparent);
|
|
3585
|
+
background: var(--sc-category-fill);
|
|
3586
|
+
color: var(--sc-category-line);
|
|
3587
|
+
font-size: var(--sc-text-xs);
|
|
3588
|
+
text-decoration: none;
|
|
3589
|
+
white-space: nowrap;
|
|
3590
|
+
}
|
|
3591
|
+
|
|
3592
|
+
.sc-timeline-bar:hover {
|
|
3593
|
+
background: color-mix(in srgb, var(--sc-category-fill), white 12%);
|
|
3594
|
+
}
|
|
3595
|
+
|
|
3596
|
+
.sc-timeline-bar.sc-timeline-bar-begins {
|
|
3597
|
+
border-left: 1px solid color-mix(in srgb, var(--sc-category-line) 45%, transparent);
|
|
3598
|
+
border-start-start-radius: var(--sc-radius-full);
|
|
3599
|
+
border-end-start-radius: var(--sc-radius-full);
|
|
3600
|
+
}
|
|
3601
|
+
|
|
3602
|
+
.sc-timeline-bar.sc-timeline-bar-ends {
|
|
3603
|
+
border-right: 1px solid color-mix(in srgb, var(--sc-category-line) 45%, transparent);
|
|
3604
|
+
border-start-end-radius: var(--sc-radius-full);
|
|
3605
|
+
border-end-end-radius: var(--sc-radius-full);
|
|
3606
|
+
}
|
|
3607
|
+
|
|
3608
|
+
.sc-timeline-fill {
|
|
3609
|
+
position: absolute;
|
|
3610
|
+
top: 0;
|
|
3611
|
+
bottom: 0;
|
|
3612
|
+
left: 0;
|
|
3613
|
+
background: color-mix(in srgb, var(--sc-category-line) 35%, transparent);
|
|
3614
|
+
}
|
|
3615
|
+
|
|
3616
|
+
.sc-timeline-words {
|
|
3617
|
+
position: relative;
|
|
3618
|
+
padding-inline: var(--sc-space-2);
|
|
3619
|
+
}
|
|
3620
|
+
|
|
3621
|
+
.sc-timeline-point {
|
|
3622
|
+
position: absolute;
|
|
3623
|
+
top: 50%;
|
|
3624
|
+
width: 0.75rem;
|
|
3625
|
+
height: 0.75rem;
|
|
3626
|
+
margin-left: -0.375rem;
|
|
3627
|
+
transform: translateY(-50%) rotate(45deg);
|
|
3628
|
+
border: 1px solid color-mix(in srgb, var(--sc-category-line) 60%, transparent);
|
|
3629
|
+
background: var(--sc-category-fill);
|
|
3630
|
+
}
|
|
3631
|
+
|
|
3632
|
+
.sc-goal-done .sc-timeline-bar,
|
|
3633
|
+
.sc-goal-done .sc-timeline-point {
|
|
3634
|
+
opacity: 0.6;
|
|
3635
|
+
}
|
|
3636
|
+
|
|
3637
|
+
.sc-goal-dropped .sc-timeline-bar,
|
|
3638
|
+
.sc-goal-dropped .sc-timeline-point {
|
|
3639
|
+
opacity: 0.4;
|
|
3640
|
+
}
|
|
3641
|
+
|
|
3642
|
+
.sc-timeline-undated {
|
|
3643
|
+
margin: 0;
|
|
3644
|
+
font-size: var(--sc-text-sm);
|
|
3645
|
+
}
|
|
3646
|
+
|
|
3647
|
+
.sc-goal-days {
|
|
3648
|
+
color: var(--sc-color-text-muted);
|
|
3649
|
+
font-size: var(--sc-text-xs);
|
|
3650
|
+
}
|
|
3651
|
+
|
|
3652
|
+
/* A goal marks its target day on the month: a flag before its title, in the colour of its category. */
|
|
3653
|
+
.sc-calendar-goal {
|
|
3654
|
+
display: flex;
|
|
3655
|
+
align-items: center;
|
|
3656
|
+
gap: var(--sc-space-1);
|
|
3657
|
+
margin-top: 2px;
|
|
3658
|
+
color: var(--sc-category-line, var(--sc-color-text));
|
|
3659
|
+
font-size: var(--sc-text-xs);
|
|
3660
|
+
font-weight: var(--sc-weight-medium);
|
|
3661
|
+
line-height: 1.2;
|
|
3662
|
+
text-decoration: none;
|
|
3663
|
+
}
|
|
3664
|
+
|
|
3665
|
+
.sc-calendar-goal:hover {
|
|
3666
|
+
color: var(--sc-color-accent);
|
|
3667
|
+
}
|
|
3668
|
+
|
|
3669
|
+
.sc-calendar-flag {
|
|
3670
|
+
display: inline-block;
|
|
3671
|
+
flex: none;
|
|
3672
|
+
width: 0.5rem;
|
|
3673
|
+
height: 0.5rem;
|
|
3674
|
+
transform: rotate(45deg);
|
|
3675
|
+
background: var(--sc-category-line, var(--sc-color-text-faint));
|
|
3676
|
+
}
|
|
3677
|
+
|
|
3678
|
+
@media (max-width: 40rem) {
|
|
3679
|
+
.sc-timeline-row {
|
|
3680
|
+
grid-template-columns: minmax(6rem, 8rem) minmax(16rem, 1fr);
|
|
3681
|
+
}
|
|
3682
|
+
}
|
package/dist/console.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../src/console.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,KAAK,aAAa,EAYlB,KAAK,WAAW,EAajB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAuB,KAAK,UAAU,EAAsB,MAAM,uBAAuB,CAAC;AACjG,OAAO,EAAY,KAAK,aAAa,EAAY,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAGlF,OAAO,EAA8B,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACnG,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAsB,KAAK,aAAa,EAAY,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAEL,KAAK,eAAe,EAGpB,KAAK,gBAAgB,EAEtB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../src/console.tsx"],"names":[],"mappings":"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"}
|
package/dist/console.js
CHANGED
|
@@ -12,6 +12,7 @@ import { EventFeed } from "./components/event-feed.js";
|
|
|
12
12
|
import { GoalForm, GoalList, GoalView } from "./components/goals.js";
|
|
13
13
|
import { ListingForm, PeopleList } from "./components/people.js";
|
|
14
14
|
import { MemberList, ProjectForm, ProjectList, ProjectMark, } from "./components/projects.js";
|
|
15
|
+
import { GoalTimeline } from "./components/roadmap.js";
|
|
15
16
|
import { RulesForm, RulesView } from "./components/rules.js";
|
|
16
17
|
import { isPlainClick, Shell, } from "./components/shell.js";
|
|
17
18
|
import { SignIn } from "./components/sign-in.js";
|
|
@@ -27,7 +28,7 @@ import { useConsoleData } from "./data.js";
|
|
|
27
28
|
import { monthOf, today } from "./dates.js";
|
|
28
29
|
import { DocsPage } from "./docs-page.js";
|
|
29
30
|
import { chooseLanguage, DEFAULT_LANGUAGES, LanguageContext, useWords, } from "./i18n/index.js";
|
|
30
|
-
import { boardHref, calendarHref, customPageHref, decisionHref, docHref, goalHref, matchRoute, newDecisionHref, newGoalHref, newTaskHref, PATHS, personAgentsHref, personWorkHref, projectHref, projectSettingsHref, settingsHref, signInFailureOf, taskHref, withoutSignInParam, workHref, } from "./router.js";
|
|
31
|
+
import { boardHref, calendarHref, customPageHref, decisionHref, docHref, goalHref, matchRoute, newDecisionHref, newGoalHref, newTaskHref, PATHS, personAgentsHref, personWorkHref, projectHref, projectSettingsHref, roadmapHref, settingsHref, signInFailureOf, taskHref, withoutSignInParam, workHref, } from "./router.js";
|
|
31
32
|
import { projectPath } from "./routes.js";
|
|
32
33
|
import { errorWords, useAction } from "./use-action.js";
|
|
33
34
|
export const DEFAULT_COMPONENTS = {
|
|
@@ -297,7 +298,7 @@ function ProjectPage(props) {
|
|
|
297
298
|
const overdue = open.filter((task) => task.dueOn !== null && task.dueOn < now).sort(byDue);
|
|
298
299
|
const unscheduled = open.filter((task) => task.dueOn === null).sort(byDue);
|
|
299
300
|
const calendar = words.calendar;
|
|
300
|
-
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "sc-page-head", children: [_jsx("h1", { className: "sc-page-title", children: calendar.title }), _jsx(LinkButton, { href: newTaskHref(key), variant: "primary", children: words.board.writeTask })] }), data.tasks.length > 0 && (_jsx(BoardFilters, { filter: route.filter, categories: data.categories, goals: data.goals, people: data.people.filter(inWorkspace), me: me, shown: shown.length, total: data.tasks.length, onChange: (filter) => navigation.replace(calendarHref(key, route.month, filter)) })), _jsx(components.Calendar, { tasks: shown, month: month, today: now, categories: data.categories, goals: data.goals, taskHref: href, monthHref: (wanted) => calendarHref(key, wanted, route.filter) }), _jsxs("div", { className: "sc-calendar-below", children: [_jsxs("section", { className: "sc-task-section", "aria-label": calendar.overdue, children: [_jsxs("h2", { className: "sc-section-title", children: [calendar.overdue, " ", _jsx("span", { className: "sc-column-count", children: overdue.length })] }), _jsx(TaskList, { tasks: overdue, taskHref: href, today: now, showState: true, empty: _jsx("p", { className: "sc-muted", children: calendar.nothingOverdue }) })] }), _jsxs("section", { className: "sc-task-section", "aria-label": calendar.unscheduled, children: [_jsxs("h2", { className: "sc-section-title", children: [calendar.unscheduled, " ", _jsx("span", { className: "sc-column-count", children: unscheduled.length })] }), _jsx(TaskList, { tasks: unscheduled, taskHref: href, today: now, showState: true, empty: _jsx("p", { className: "sc-muted", children: calendar.allScheduled }) })] })] }), open.length > 0 && (_jsxs("section", { className: "sc-task-section", "aria-label": calendar.workload.title, children: [_jsx("h2", { className: "sc-section-title", children: calendar.workload.title }), _jsx(Workload, { tasks: shown, today: now, personHref: (person) => boardHref(key, person === undefined ? {} : { person: person.id }) })] }))] }));
|
|
301
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "sc-page-head", children: [_jsx("h1", { className: "sc-page-title", children: calendar.title }), _jsx(LinkButton, { href: newTaskHref(key), variant: "primary", children: words.board.writeTask })] }), data.tasks.length > 0 && (_jsx(BoardFilters, { filter: route.filter, categories: data.categories, goals: data.goals, people: data.people.filter(inWorkspace), me: me, shown: shown.length, total: data.tasks.length, onChange: (filter) => navigation.replace(calendarHref(key, route.month, filter)) })), _jsx(components.Calendar, { tasks: shown, month: month, today: now, categories: data.categories, goals: data.goals, taskHref: href, goalHref: (goal) => goalHref(key, goal.id), monthHref: (wanted) => calendarHref(key, wanted, route.filter) }), _jsxs("div", { className: "sc-calendar-below", children: [_jsxs("section", { className: "sc-task-section", "aria-label": calendar.overdue, children: [_jsxs("h2", { className: "sc-section-title", children: [calendar.overdue, " ", _jsx("span", { className: "sc-column-count", children: overdue.length })] }), _jsx(TaskList, { tasks: overdue, taskHref: href, today: now, showState: true, empty: _jsx("p", { className: "sc-muted", children: calendar.nothingOverdue }) })] }), _jsxs("section", { className: "sc-task-section", "aria-label": calendar.unscheduled, children: [_jsxs("h2", { className: "sc-section-title", children: [calendar.unscheduled, " ", _jsx("span", { className: "sc-column-count", children: unscheduled.length })] }), _jsx(TaskList, { tasks: unscheduled, taskHref: href, today: now, showState: true, empty: _jsx("p", { className: "sc-muted", children: calendar.allScheduled }) })] })] }), open.length > 0 && (_jsxs("section", { className: "sc-task-section", "aria-label": calendar.workload.title, children: [_jsx("h2", { className: "sc-section-title", children: calendar.workload.title }), _jsx(Workload, { tasks: shown, today: now, personHref: (person) => boardHref(key, person === undefined ? {} : { person: person.id }) })] }))] }));
|
|
301
302
|
}
|
|
302
303
|
if (route.name === "roadmap" || route.name === "new-goal") {
|
|
303
304
|
const roadmap = words.roadmap;
|
|
@@ -305,10 +306,10 @@ function ProjectPage(props) {
|
|
|
305
306
|
if (making && !owner) {
|
|
306
307
|
return _jsx(EmptyState, { title: roadmap.onlyOwner.title, body: roadmap.onlyOwner.body });
|
|
307
308
|
}
|
|
308
|
-
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "sc-page-head", children: [_jsx("h1", { className: "sc-page-title", children: roadmap.title }), !making && owner && (_jsx(LinkButton, { href: newGoalHref(key), variant: "primary", children: roadmap.setGoal }))] }), error !== undefined && _jsx(Callout, { tone: "danger", children: error }), making && (_jsx("section", { className: "sc-panel sc-panel-form", "aria-label": roadmap.setGoalAria, children: _jsx(GoalForm, { busy: busy, onSubmit: (input) => void act(async () => {
|
|
309
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "sc-page-head", children: [_jsx("h1", { className: "sc-page-title", children: roadmap.title }), !making && owner && (_jsx(LinkButton, { href: newGoalHref(key), variant: "primary", children: roadmap.setGoal }))] }), error !== undefined && _jsx(Callout, { tone: "danger", children: error }), making && (_jsx("section", { className: "sc-panel sc-panel-form", "aria-label": roadmap.setGoalAria, children: _jsx(GoalForm, { categories: data.categories, busy: busy, onSubmit: (input) => void act(async () => {
|
|
309
310
|
const made = await data.actions.createGoal(input);
|
|
310
311
|
navigation.replace(goalHref(key, made.id));
|
|
311
|
-
}), onCancel: () => navigation.back(projectHref(key, "roadmap")) }) })), _jsx(components.GoalList, { goals: data.goals, goalHref: (goal) => goalHref(key, goal.id), empty: _jsx(EmptyState, { title: roadmap.empty.title, body: roadmap.empty.body, action: owner ? (_jsx(LinkButton, { href: newGoalHref(key), children: roadmap.setGoal })) : undefined }) })] }));
|
|
312
|
+
}), onCancel: () => navigation.back(projectHref(key, "roadmap")) }) })), data.goals.length > 0 && (_jsx(GoalTimeline, { goals: data.goals, from: route.name === "roadmap" && route.from !== undefined ? route.from : monthOf(today()), today: today(), categories: data.categories, goalHref: (goal) => goalHref(key, goal.id), fromHref: (month) => roadmapHref(key, month) })), _jsx(components.GoalList, { goals: data.goals, goalHref: (goal) => goalHref(key, goal.id), empty: _jsx(EmptyState, { title: roadmap.empty.title, body: roadmap.empty.body, action: owner ? (_jsx(LinkButton, { href: newGoalHref(key), children: roadmap.setGoal })) : undefined }) })] }));
|
|
312
313
|
}
|
|
313
314
|
if (route.name === "goal") {
|
|
314
315
|
const roadmap = words.roadmap;
|
|
@@ -321,7 +322,7 @@ function ProjectPage(props) {
|
|
|
321
322
|
if (!owner) {
|
|
322
323
|
return _jsx(EmptyState, { title: roadmap.onlyOwner.title, body: roadmap.onlyOwner.body });
|
|
323
324
|
}
|
|
324
|
-
return (_jsxs(_Fragment, { children: [_jsx("div", { className: "sc-page-head", children: _jsx("h1", { className: "sc-page-title", children: goal.title }) }), error !== undefined && _jsx(Callout, { tone: "danger", children: error }), _jsx("section", { className: "sc-panel sc-panel-form", "aria-label": roadmap.editAria, children: _jsx(GoalForm, { goal: goal, busy: busy, onSubmit: (input) => void act(async () => {
|
|
325
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { className: "sc-page-head", children: _jsx("h1", { className: "sc-page-title", children: goal.title }) }), error !== undefined && _jsx(Callout, { tone: "danger", children: error }), _jsx("section", { className: "sc-panel sc-panel-form", "aria-label": roadmap.editAria, children: _jsx(GoalForm, { goal: goal, categories: data.categories, busy: busy, onSubmit: (input) => void act(async () => {
|
|
325
326
|
await data.actions.updateGoal(goal.id, input);
|
|
326
327
|
navigation.replace(here);
|
|
327
328
|
}), onCancel: () => navigation.back(here) }) })] }));
|
|
@@ -538,7 +539,7 @@ function PersonAgentsPage(props) {
|
|
|
538
539
|
if (!administrator) {
|
|
539
540
|
return (_jsx(EmptyState, { title: words.people.onlyAdmin.title, body: words.people.onlyAdmin.body, action: _jsx(LinkButton, { href: PATHS.agents, children: words.nav.agents }) }));
|
|
540
541
|
}
|
|
541
|
-
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "sc-page-head", children: [_jsx("h1", { className: "sc-page-title", children: words.people.agentsOf(person === undefined ? "?" : personName(person)) }), _jsx(LinkButton, { href: PATHS.people, children: words.nav.people })] }), error !== undefined && _jsx(Callout, { tone: "danger", children: error }), tokens === undefined ? (_jsx("div", { className: "sc-loading", children: _jsx(Spinner, { label: words.people.loadingAgents }) })) : (_jsx(components.TokenList, { tokens: tokens, busy: busy, onRevoke: (token) => void act(async () => {
|
|
542
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "sc-page-head", children: [_jsx("h1", { className: "sc-page-title", children: words.people.agentsOf(person === undefined ? "?" : personName(person)) }), _jsx(LinkButton, { href: PATHS.people, children: words.nav.people })] }), error !== undefined && _jsx(Callout, { tone: "danger", children: error }), tokens === undefined ? (_jsx("div", { className: "sc-loading", children: _jsx(Spinner, { label: words.people.loadingAgents }) })) : (_jsx(components.TokenList, { tokens: tokens, busy: busy, consoleVersion: data.me?.console?.version, onRevoke: (token) => void act(async () => {
|
|
542
543
|
await data.actions.revokePersonToken(id, token.id);
|
|
543
544
|
setGeneration((current) => current + 1);
|
|
544
545
|
}), empty: _jsx(EmptyState, { title: words.people.noAgent }) }))] }));
|
|
@@ -653,7 +654,7 @@ function WorkspacePage(props) {
|
|
|
653
654
|
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "sc-page-head", children: [_jsx("h1", { className: "sc-page-title", children: agents.title }), !making && (_jsx(LinkButton, { href: PATHS.newToken, variant: "primary", children: agents.makeByHand }))] }), error !== undefined && _jsx(Callout, { tone: "danger", children: error }), fresh !== undefined && (_jsx(NewToken, { token: fresh.token, secret: fresh.secret, onDone: () => setFresh(undefined) })), making && (_jsx("section", { className: "sc-panel sc-panel-form", "aria-label": agents.makeAria, children: _jsx(TokenForm, { daysAtMost: data.me?.workspace.tokenDaysAtMost, busy: busy, onSubmit: (input) => void act(async () => {
|
|
654
655
|
setFresh(await data.actions.createToken(input));
|
|
655
656
|
navigation.replace(PATHS.agents);
|
|
656
|
-
}), onCancel: () => navigation.back(PATHS.agents) }) })), _jsx(components.TokenList, { tokens: data.tokens, busy: busy, onRevoke: (token) => void act(() => data.actions.revokeToken(token.id)), empty: _jsx(EmptyState, { title: agents.empty.title, body: agents.empty.body }) }), _jsx(ConnectWords, { origin: origin })] }));
|
|
657
|
+
}), onCancel: () => navigation.back(PATHS.agents) }) })), _jsx(components.TokenList, { tokens: data.tokens, busy: busy, consoleVersion: data.me?.console?.version, onRevoke: (token) => void act(() => data.actions.revokeToken(token.id)), empty: _jsx(EmptyState, { title: agents.empty.title, body: agents.empty.body }) }), _jsx(ConnectWords, { origin: origin })] }));
|
|
657
658
|
}
|
|
658
659
|
return _jsx(NothingHere, {});
|
|
659
660
|
}
|