@knpkv/herdr-work 0.7.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/model.d.ts +26 -0
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +19 -0
- package/dist/model.js.map +1 -1
- package/dist/request-decision.d.ts +70 -0
- package/dist/request-decision.d.ts.map +1 -0
- package/dist/request-decision.js +29 -0
- package/dist/request-decision.js.map +1 -0
- package/dist/service.d.ts +30 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +2 -0
- package/dist/service.js.map +1 -1
- package/dist/store.d.ts +37 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +71 -14
- package/dist/store.js.map +1 -1
- package/dist/view.d.ts +10 -1
- package/dist/view.d.ts.map +1 -1
- package/dist/view.js +205 -27
- package/dist/view.js.map +1 -1
- package/dist/work-triage.d.ts +15 -9
- package/dist/work-triage.d.ts.map +1 -1
- package/dist/work-triage.js +39 -11
- package/dist/work-triage.js.map +1 -1
- package/package.json +3 -3
- package/src/styles.css +35 -0
package/dist/view.d.ts
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import { type ReactElement } from "react";
|
|
2
2
|
import type { WorkSnapshots, WorkSnapshotWindow } from "./model.js";
|
|
3
|
-
|
|
3
|
+
import { type WorkRequestDecisions } from "./request-decision.js";
|
|
4
|
+
export type { WorkRequestAnswer, WorkRequestDecision, WorkRequestDecisions } from "./request-decision.js";
|
|
5
|
+
/** The request clock's wording ("52s", "4m 12s", "11m", "expiring"), shared with hosts that show the same clocks. */
|
|
6
|
+
export { workRequestClockText } from "./request-decision.js";
|
|
7
|
+
export declare const WorkBoard: ({ decisions, externalLinks, initialGoalId, initialWindow, navigation, snapshots }: {
|
|
4
8
|
readonly snapshots: WorkSnapshots;
|
|
9
|
+
/**
|
|
10
|
+
* Lets the reader decide approval requests in place, with their clock. Omit it (the LAN view, a
|
|
11
|
+
* host that is not the hub) and every request links to the hub instead.
|
|
12
|
+
*/
|
|
13
|
+
readonly decisions?: WorkRequestDecisions;
|
|
5
14
|
readonly externalLinks?: "disabled" | "enabled";
|
|
6
15
|
readonly initialGoalId?: string | null;
|
|
7
16
|
readonly initialWindow?: WorkSnapshotWindow;
|
package/dist/view.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.tsx"],"names":[],"mappings":"AAWA,OAAO,EAA+B,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AACtE,OAAO,KAAK,EAaV,aAAa,EACb,kBAAkB,EAEnB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAiD,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAWhH,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACzG,qHAAqH;AACrH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAwnB5D,eAAO,MAAM,SAAS,sFAOnB;IACD,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAA;IACjC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAA;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAA;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;KAAE,KAAK,MAAM,CAAA;CACrH,KAAG,YAqWH,CAAA"}
|
package/dist/view.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Button, StateLabel, Text } from "@knpkv/rly/primitives";
|
|
3
|
-
import { Hero, Region, StageRail, TimelineRow } from "@knpkv/rly/patterns";
|
|
3
|
+
import { DecisionBar, Hero, Region, StageRail, TimelineRow } from "@knpkv/rly/patterns";
|
|
4
4
|
import { useEffect, useRef, useState } from "react";
|
|
5
5
|
import { decodeWorkBoardNavigationGoal, encodeWorkBoardNavigationGoal } from "./navigation.js";
|
|
6
|
+
import { workRequestClockText, workRequestDecidability } from "./request-decision.js";
|
|
7
|
+
import { displayStateOf, observedFor } from "./display-state.js";
|
|
6
8
|
import { workTriage, workTriageGroups, workTriageGroupTitle, workTriageSentence } from "./work-triage.js";
|
|
9
|
+
/** The request clock's wording ("52s", "4m 12s", "11m", "expiring"), shared with hosts that show the same clocks. */
|
|
10
|
+
export { workRequestClockText } from "./request-decision.js";
|
|
7
11
|
const windows = ["now", "day", "week", "month"];
|
|
8
12
|
const stageOrder = ["local", "review", "pull_request", "merged", "deployed"];
|
|
9
13
|
const initialVisibleGoalCount = 10;
|
|
@@ -33,6 +37,34 @@ const statePresentation = {
|
|
|
33
37
|
completed: { label: "Completed", tone: "positive" },
|
|
34
38
|
abandoned: { label: "Abandoned", tone: "neutral" }
|
|
35
39
|
};
|
|
40
|
+
/** Every state the tab can show: the recorded ones, plus `abandoned`, which only an observation can show today. */
|
|
41
|
+
const displayPresentation = {
|
|
42
|
+
...statePresentation,
|
|
43
|
+
abandoned: { label: "Abandoned", tone: "neutral" }
|
|
44
|
+
};
|
|
45
|
+
const sourceLabel = {
|
|
46
|
+
github: "GitHub",
|
|
47
|
+
herdr: "herdr",
|
|
48
|
+
git: "git"
|
|
49
|
+
};
|
|
50
|
+
const pullRequestStateLabel = {
|
|
51
|
+
open: "open",
|
|
52
|
+
merged: "merged",
|
|
53
|
+
closed: "closed without merging"
|
|
54
|
+
};
|
|
55
|
+
const checksLabel = {
|
|
56
|
+
none: "no checks",
|
|
57
|
+
pending: "checks running",
|
|
58
|
+
passing: "checks passing",
|
|
59
|
+
failing: "checks failing"
|
|
60
|
+
};
|
|
61
|
+
const agentStatusLabel = {
|
|
62
|
+
idle: "idle",
|
|
63
|
+
working: "working",
|
|
64
|
+
blocked: "blocked",
|
|
65
|
+
done: "done",
|
|
66
|
+
gone: "gone"
|
|
67
|
+
};
|
|
36
68
|
const deliveryLabel = {
|
|
37
69
|
local: "Local",
|
|
38
70
|
review: "Review",
|
|
@@ -86,26 +118,55 @@ const reviewLabel = (review) => {
|
|
|
86
118
|
return (_jsx(StateLabel, { label: reviewPresentation[review.state].label, size: "compact", tone: reviewPresentation[review.state].tone }));
|
|
87
119
|
};
|
|
88
120
|
/** Delivery as words: past stages are done, the current one is "now" in the goal's state ink. */
|
|
89
|
-
const stagesFor = (goal) => {
|
|
121
|
+
const stagesFor = (goal, shown) => {
|
|
90
122
|
const current = stageOrder.indexOf(goal.delivery);
|
|
91
123
|
return stageOrder.map((stage, index) => ({
|
|
92
124
|
id: `${goal.id}-${stage}`,
|
|
93
125
|
name: deliveryLabel[stage],
|
|
94
126
|
state: index < current ? "done" : index === current ? "now" : "not yet",
|
|
95
|
-
tone: index === current ?
|
|
127
|
+
tone: index === current ? displayPresentation[shown].tone : "neutral"
|
|
96
128
|
}));
|
|
97
129
|
};
|
|
98
|
-
|
|
130
|
+
/**
|
|
131
|
+
* The repository as a row names it: its last path segment ("npm" for a checkout at
|
|
132
|
+
* /home/…/knpkv.dev/npm, or for "knpkv/npm"). The detail keeps the full value.
|
|
133
|
+
*/
|
|
134
|
+
const repositoryName = (repository) => repository
|
|
135
|
+
.split("/")
|
|
136
|
+
.filter((segment) => segment.length > 0)
|
|
137
|
+
.at(-1) ?? repository;
|
|
138
|
+
const rowCaption = (goal, observed, decisions) => {
|
|
99
139
|
const open = requestsFor(goal).filter(({ state }) => state === "open");
|
|
100
140
|
if (open.length > 0) {
|
|
141
|
+
// The soonest clock among requests this page can decide, beside the request it belongs to.
|
|
142
|
+
const soonest = open
|
|
143
|
+
.map((request) => ({ decidability: workRequestDecidability(request, decisions), request }))
|
|
144
|
+
.flatMap(({ decidability, request }) => decidability._tag === "Here" && decidability.expiresAt !== null
|
|
145
|
+
? [{ expiresAt: decidability.expiresAt, request }]
|
|
146
|
+
: [])
|
|
147
|
+
.toSorted((left, right) => left.expiresAt - right.expiresAt)[0];
|
|
148
|
+
const clock = soonest === undefined || decisions === undefined
|
|
149
|
+
? ""
|
|
150
|
+
: `, ${workRequestClockText(soonest.expiresAt, decisions.now)}${soonest.expiresAt > decisions.now ? " left" : ""}`;
|
|
101
151
|
return {
|
|
102
152
|
blocking: false,
|
|
103
|
-
text: open.length === 1
|
|
153
|
+
text: open.length === 1
|
|
154
|
+
? `Needs approval: ${open[0]?.summary ?? ""}${clock}`
|
|
155
|
+
: `${open.length} requests need approval${clock}`
|
|
104
156
|
};
|
|
105
157
|
}
|
|
106
158
|
const blockers = blockersFor(goal);
|
|
107
159
|
if (blockers.length > 0)
|
|
108
160
|
return { blocking: true, text: blockers[0]?.summary ?? "Blocked" };
|
|
161
|
+
if (observed?.stale === true && observed.agent !== null) {
|
|
162
|
+
return { blocking: false, text: `Owner gone since ${formatTimestamp(observed.agent.observedAt)}` };
|
|
163
|
+
}
|
|
164
|
+
if (observed?.unknown != null) {
|
|
165
|
+
return {
|
|
166
|
+
blocking: false,
|
|
167
|
+
text: `Couldn't read ${sourceLabel[observed.unknown.source]} since ${formatTimestamp(observed.unknown.since)}`
|
|
168
|
+
};
|
|
169
|
+
}
|
|
109
170
|
const latest = activityFor(goal).toSorted((a, b) => b.occurredAt - a.occurredAt)[0];
|
|
110
171
|
if (latest !== undefined)
|
|
111
172
|
return { blocking: false, text: `${latest.summary}, ${formatTimestamp(latest.occurredAt)}` };
|
|
@@ -123,13 +184,118 @@ const summaryCaption = (summary, tense) => {
|
|
|
123
184
|
? undefined
|
|
124
185
|
: `${summary.moving} moving. Last change: ${summary.latest.title}, ${formatTimestamp(summary.latest.updatedAt)}.`;
|
|
125
186
|
case "Empty":
|
|
126
|
-
return "
|
|
187
|
+
return "Delegate work to an agent and its goal appears here once the hub admits it.";
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* What the timeline shows for one goal, newest first: the owner's recorded activity, plus what the
|
|
192
|
+
* reconciler observed (a pull request, the owner's agent) and any source it could not read. Observed
|
|
193
|
+
* events carry their provenance as a shape and words; an unreadable source is drawn hatched.
|
|
194
|
+
*/
|
|
195
|
+
const timelineFor = (goal, observed) => {
|
|
196
|
+
const recorded = activityFor(goal).map((entry) => ({
|
|
197
|
+
actorKind: "system",
|
|
198
|
+
dateTime: new Date(entry.occurredAt).toISOString(),
|
|
199
|
+
detail: activityKindLabel[entry.kind],
|
|
200
|
+
id: entry.id,
|
|
201
|
+
time: formatTimestamp(entry.occurredAt),
|
|
202
|
+
title: entry.summary
|
|
203
|
+
}));
|
|
204
|
+
const seen = [];
|
|
205
|
+
if (observed?.pullRequest != null) {
|
|
206
|
+
const { confirmedAt, fact, observedAt } = observed.pullRequest;
|
|
207
|
+
const at = fact.closedAt ?? observedAt;
|
|
208
|
+
seen.push({
|
|
209
|
+
actorKind: "system",
|
|
210
|
+
dateTime: new Date(at).toISOString(),
|
|
211
|
+
detail: `${checksLabel[fact.checks]}, last read ${formatTimestamp(confirmedAt)}`,
|
|
212
|
+
id: `observed-pull-request-${fact.repository}-${fact.pullRequest}`,
|
|
213
|
+
provenance: { kind: "auto", label: "Observed on GitHub" },
|
|
214
|
+
time: formatTimestamp(at),
|
|
215
|
+
title: `Pull request #${fact.pullRequest} ${pullRequestStateLabel[fact.state]}`
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
if (observed?.agent != null) {
|
|
219
|
+
const { confirmedAt, fact, observedAt } = observed.agent;
|
|
220
|
+
seen.push({
|
|
221
|
+
actorKind: "agent",
|
|
222
|
+
dateTime: new Date(observedAt).toISOString(),
|
|
223
|
+
detail: `${fact.host}, last read ${formatTimestamp(confirmedAt)}`,
|
|
224
|
+
id: `observed-agent-${fact.host}-${fact.agentId}`,
|
|
225
|
+
provenance: { kind: "auto", label: "Observed in herdr" },
|
|
226
|
+
time: formatTimestamp(observedAt),
|
|
227
|
+
title: `Agent ${agentStatusLabel[fact.status]}`
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
if (observed?.unknown != null) {
|
|
231
|
+
const { lastGoodAt, reason, since, source } = observed.unknown;
|
|
232
|
+
seen.push({
|
|
233
|
+
actorKind: "system",
|
|
234
|
+
dateTime: new Date(since).toISOString(),
|
|
235
|
+
detail: reason,
|
|
236
|
+
id: `observed-unknown-${source}`,
|
|
237
|
+
provenance: {
|
|
238
|
+
kind: "unknown",
|
|
239
|
+
label: lastGoodAt === null ? "Never read" : `Last good read ${formatTimestamp(lastGoodAt)}`
|
|
240
|
+
},
|
|
241
|
+
time: formatTimestamp(since),
|
|
242
|
+
title: `Couldn't read ${sourceLabel[source]}`
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
return [...recorded, ...seen].toSorted((left, right) => Date.parse(right.dateTime) - Date.parse(left.dateTime));
|
|
246
|
+
};
|
|
247
|
+
const requestDecisionFor = (request, decisions) => {
|
|
248
|
+
const decidability = workRequestDecidability(request, decisions);
|
|
249
|
+
if (decidability._tag === "Elsewhere" || decisions === undefined)
|
|
250
|
+
return { _tag: "Elsewhere" };
|
|
251
|
+
const { expiresAt, jobId } = decidability;
|
|
252
|
+
const answer = decisions.answer?.jobId === jobId ? decisions.answer : null;
|
|
253
|
+
// Once the request has left the hub's queue, the snapshot's outcome is the proven one.
|
|
254
|
+
if (request.state !== "open") {
|
|
255
|
+
return {
|
|
256
|
+
_tag: "Settled",
|
|
257
|
+
announcement: `${request.summary}: ${requestPresentation[request.state].label}.`,
|
|
258
|
+
refusal: answer?.outcome === "refused" ? answer.text : null
|
|
259
|
+
};
|
|
127
260
|
}
|
|
261
|
+
const pending = decisions.expiresAt(jobId) !== undefined;
|
|
262
|
+
const state = decisions.sending?.jobId === jobId
|
|
263
|
+
? { _tag: "sending", action: decisions.sending.decision }
|
|
264
|
+
: decisions.sending !== null
|
|
265
|
+
? { _tag: "off", reason: "Another decision is waiting for the hub." }
|
|
266
|
+
: // The hub took a decision; the host's pending list has not caught up yet, so nothing else may be sent.
|
|
267
|
+
answer?.outcome === "accepted" && pending
|
|
268
|
+
? { _tag: "off", reason: "Waiting for the hub's queue to update." }
|
|
269
|
+
: pending
|
|
270
|
+
? { _tag: "ready" }
|
|
271
|
+
: { _tag: "off", reason: "Left the hub's queue." };
|
|
272
|
+
const decide = (decision) => () => {
|
|
273
|
+
if (state._tag === "ready")
|
|
274
|
+
decisions.onDecision({ decision, jobId });
|
|
275
|
+
};
|
|
276
|
+
return {
|
|
277
|
+
_tag: "Bar",
|
|
278
|
+
bar: (_jsx(DecisionBar, { ...(expiresAt === null || !pending
|
|
279
|
+
? {}
|
|
280
|
+
: {
|
|
281
|
+
clock: `${workRequestClockText(expiresAt, decisions.now)}${expiresAt > decisions.now ? " left" : ""}`
|
|
282
|
+
}), onApprove: decide("approve"), onReject: decide("reject"), state: state, ...(answer === null ? {} : { status: answer.text }), target: request.summary }))
|
|
283
|
+
};
|
|
284
|
+
};
|
|
285
|
+
/** One request in a goal's detail: its title once, then the bar, the hub link or the outcome. */
|
|
286
|
+
const RequestItem = ({ decisions, externalLinks, request }) => {
|
|
287
|
+
const decision = requestDecisionFor(request, externalLinks === "enabled" ? decisions : undefined);
|
|
288
|
+
const presentation = requestPresentation[request.state];
|
|
289
|
+
return (_jsxs("li", { children: [decision._tag === "Bar" ? null : (_jsxs("span", { className: "work-request-heading", children: [_jsx(Text, { children: request.summary }), _jsx("span", { className: "work-row-state", "data-tone": presentation.tone, children: presentation.label })] })), decision._tag === "Bar" ? (decision.bar) : decision._tag === "Settled" ? (decision.refusal === null ? null : (_jsx(Text, { tone: "secondary", variant: "meta", children: decision.refusal }))) : request.state !== "open" ? null : request.approvalTarget === null ? (_jsx(Text, { tone: "secondary", variant: "meta", children: "No approval link recorded." })) : externalLinks === "disabled" ? (_jsxs(Text, { tone: "secondary", variant: "meta", children: ["Approve this on the hub (", request.approvalTarget.host, ")."] })) : (exactLink(request.approvalTarget, `Approve on ${request.approvalTarget.host}`)), decision._tag === "Elsewhere" ? null : (_jsx("p", { "aria-atomic": "true", className: "work-request-announcement", role: "status", children: decision._tag === "Settled" ? decision.announcement : "" }))] }));
|
|
128
290
|
};
|
|
129
291
|
/** Everything about one goal, in reading order: what it is, where it is, what blocks it, what happened. */
|
|
130
|
-
const GoalDetail = ({ externalLinks, goal, snapshot }) => {
|
|
292
|
+
const GoalDetail = ({ decisions, externalLinks, goal, snapshot }) => {
|
|
131
293
|
const family = familyForGoal(snapshot, goal.id);
|
|
132
|
-
const
|
|
294
|
+
const observed = observedFor(snapshot, goal.id);
|
|
295
|
+
const shown = observed?.displayState ?? goal.state;
|
|
296
|
+
const activity = timelineFor(goal, observed);
|
|
297
|
+
// Only the live window carries the overlay; there "nothing observed" is itself a reading.
|
|
298
|
+
const overlay = snapshot.observed !== undefined;
|
|
133
299
|
// A goal-level approval target (older checkpoints carry one without requests); skipped when a
|
|
134
300
|
// request already links the same approval.
|
|
135
301
|
const goalApproval = goal.approvalTarget === undefined ||
|
|
@@ -137,17 +303,16 @@ const GoalDetail = ({ externalLinks, goal, snapshot }) => {
|
|
|
137
303
|
requestsFor(goal).some(({ approvalTarget }) => approvalTarget?.url === goal.approvalTarget?.url)
|
|
138
304
|
? null
|
|
139
305
|
: goal.approvalTarget;
|
|
140
|
-
return (_jsxs("div", { className: "work-detail", children: [_jsx(Text, { tone: "secondary", children: goal.detail }), _jsx(StageRail, { heading: `Delivery of ${goal.title}`, size: "words", stages: stagesFor(goal) }), _jsxs("dl", { className: "work-facts", children: [_jsxs("div", { children: [_jsx("dt", { children: "State" }),
|
|
306
|
+
return (_jsxs("div", { className: "work-detail", children: [_jsx(Text, { tone: "secondary", children: goal.detail }), _jsx(StageRail, { heading: `Delivery of ${goal.title}`, size: "words", stages: stagesFor(goal, shown) }), _jsxs("dl", { className: "work-facts", children: [_jsxs("div", { children: [_jsx("dt", { children: "State" }), _jsxs("dd", { children: [displayPresentation[shown].label, shown === goal.state ? null : (_jsxs(Text, { as: "p", className: "work-fact-note", tone: "secondary", variant: "meta", children: ["Observed; recorded as ", statePresentation[goal.state].label.toLowerCase()] }))] })] }), overlay ? (_jsxs("div", { children: [_jsx("dt", { children: "Pull request" }), _jsx("dd", { children: observed?.pullRequest == null
|
|
307
|
+
? observed === null && snapshot.observedOmitted !== undefined
|
|
308
|
+
? "Not in this read: live state was trimmed to the most recently updated goals"
|
|
309
|
+
: "None known"
|
|
310
|
+
: `#${observed.pullRequest.fact.pullRequest} ${pullRequestStateLabel[observed.pullRequest.fact.state]}, ${checksLabel[observed.pullRequest.fact.checks]}` })] })) : null, _jsxs("div", { children: [_jsx("dt", { children: "Owner" }), _jsx("dd", { children: goal.owner.name })] }), _jsxs("div", { children: [_jsx("dt", { children: "Agent" }), _jsxs("dd", { children: [hierarchyLabel(goal), goal.agentHierarchy?.agent.relationship === undefined || goal.agentHierarchy === null
|
|
141
311
|
? null
|
|
142
312
|
: `, ${goal.agentHierarchy.agent.relationship.relation} from ${goal.agentHierarchy.agent.relationship.parentAgentId}`] })] }), _jsxs("div", { children: [_jsx("dt", { children: "Repository" }), _jsxs("dd", { children: [goal.repository.repository, ", ", _jsx("code", { children: goal.repository.branch })] })] }), _jsxs("div", { children: [_jsx("dt", { children: "Review" }), _jsxs("dd", { children: [reviewLabel(goal.review), goal.review?.url === null || goal.review?.url === undefined ? null : externalLinks ===
|
|
143
|
-
"disabled" ? null : (_jsxs(_Fragment, { children: [" ", reviewLink(goal.review.url)] })), goal.review?.summary === null || goal.review?.summary === undefined ? null : (_jsx(Text, { tone: "secondary", variant: "meta", children: goal.review.summary }))] })] }), _jsxs("div", { children: [_jsx("dt", { children: "Spend" }), _jsx("dd", { children: formatSpend(goal) })] })] }),
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
detail: activityKindLabel[entry.kind],
|
|
147
|
-
id: entry.id,
|
|
148
|
-
time: formatTimestamp(entry.occurredAt),
|
|
149
|
-
title: entry.summary
|
|
150
|
-
} }, entry.id))) }))] }), family === null ? null : (_jsxs("section", { "aria-labelledby": "work-family-title", className: "work-detail-section", children: [_jsx("h3", { className: "work-group-title", id: "work-family-title", children: "Superseded history" }), _jsxs("details", { className: "work-family-history", children: [_jsxs("summary", { children: ["Show ", family.superseded.length, " superseded"] }), _jsx("ul", { className: "work-detail-list", children: family.superseded.map((entry) => (_jsxs("li", { children: [_jsxs("span", { className: "work-request-heading", children: [_jsx(Text, { children: entry.title }), _jsx("span", { className: "work-row-state", "data-tone": statePresentation[entry.state].tone, children: statePresentation[entry.state].label })] }), _jsxs(Text, { tone: "secondary", variant: "meta", children: [entry.summary, ", ", formatTimestamp(entry.updatedAt)] }), blockersFor(entry).map((blocker) => (_jsxs(Text, { tone: "secondary", variant: "meta", children: ["Blocked since ", formatTimestamp(blocker.since), ": ", blocker.summary] }, `${blocker.since}-${blocker.summary}`))), entry.review === undefined || entry.review === null ? null : (_jsxs(Text, { tone: "secondary", variant: "meta", children: ["Review ", reviewPresentation[entry.review.state].label.toLowerCase(), entry.review.summary === null ? "" : `: ${entry.review.summary}`] }))] }, entry.id))) })] })] })), _jsxs("div", { className: "work-links", children: [goal.connectTarget === null ? (_jsx(Text, { tone: "secondary", children: "No exact Connect target recorded." })) : externalLinks === "disabled" ? (_jsx(Text, { tone: "secondary", variant: "meta", children: "Connect target recorded." })) : (_jsx("a", { className: "work-connect-link", href: goal.connectTarget.url, children: "Open the agent in Connect" })), goalApproval === null ? null : externalLinks === "disabled" ? (_jsxs(Text, { tone: "secondary", variant: "meta", children: ["Approval target recorded on ", goalApproval.host, "."] })) : (exactLink(goalApproval, `Open ${goalApproval.host} approval`))] })] }));
|
|
313
|
+
"disabled" ? null : (_jsxs(_Fragment, { children: [" ", reviewLink(goal.review.url)] })), goal.review?.summary === null || goal.review?.summary === undefined ? null : (_jsx(Text, { tone: "secondary", variant: "meta", children: goal.review.summary }))] })] }), _jsxs("div", { children: [_jsx("dt", { children: "Spend" }), _jsx("dd", { children: formatSpend(goal) })] })] }), observed?.stale === true && observed.agent !== null ? (_jsxs("p", { className: "work-note", "data-tone": "held", children: [_jsx("b", { children: "Owner gone" }), " since ", formatTimestamp(observed.agent.observedAt), ": this unfinished goal has no live agent."] })) : null, observed?.unknown == null ? null : (_jsxs("p", { className: "work-note", "data-tone": "unknown", children: [_jsxs("b", { children: ["Couldn't read ", sourceLabel[observed.unknown.source]] }), " since ", formatTimestamp(observed.unknown.since), ":", " ", observed.unknown.reason, ".", " ", observed.unknown.lastGoodAt === null
|
|
314
|
+
? "It has never been read, so nothing here comes from it."
|
|
315
|
+
: `Facts from it are as of ${formatTimestamp(observed.unknown.lastGoodAt)}.`] })), blockersFor(goal).map((blocker) => (_jsxs("p", { className: "work-note", "data-tone": "blocked", children: [_jsx("b", { children: "Blocked" }), " since ", formatTimestamp(blocker.since), ": ", blocker.summary] }, `${blocker.since}-${blocker.summary}`))), _jsxs("section", { "aria-labelledby": "work-requests-title", className: "work-detail-section", children: [_jsx("h3", { className: "work-group-title", id: "work-requests-title", children: "Requests" }), requestsFor(goal).length === 0 ? (_jsx(Text, { tone: "secondary", children: goal.requests === undefined ? "No requests recorded." : "No outstanding requests." })) : (_jsx("ul", { className: "work-detail-list", children: requestsFor(goal).map((request) => (_jsx(RequestItem, { decisions: decisions, externalLinks: externalLinks, request: request }, request.id))) }))] }), _jsxs("section", { "aria-labelledby": "work-activity-title", className: "work-detail-section", children: [_jsx("h3", { className: "work-group-title", id: "work-activity-title", children: "Activity" }), activity.length === 0 ? (_jsx(Text, { tone: "secondary", children: goal.activity === undefined ? "No activity recorded." : "Activity is clear." })) : (_jsx("ol", { "aria-label": `Activity on ${goal.title}`, className: "work-activity", children: activity.map((event, index) => (_jsx(TimelineRow, { continued: index < activity.length - 1, event: event }, event.id))) }))] }), family === null ? null : (_jsxs("section", { "aria-labelledby": "work-family-title", className: "work-detail-section", children: [_jsx("h3", { className: "work-group-title", id: "work-family-title", children: "Superseded history" }), _jsxs("details", { className: "work-family-history", children: [_jsxs("summary", { children: ["Show ", family.superseded.length, " superseded"] }), _jsx("ul", { className: "work-detail-list", children: family.superseded.map((entry) => (_jsxs("li", { children: [_jsxs("span", { className: "work-request-heading", children: [_jsx(Text, { children: entry.title }), _jsx("span", { className: "work-row-state", "data-tone": statePresentation[entry.state].tone, children: statePresentation[entry.state].label })] }), _jsxs(Text, { tone: "secondary", variant: "meta", children: [entry.summary, ", ", formatTimestamp(entry.updatedAt)] }), blockersFor(entry).map((blocker) => (_jsxs(Text, { tone: "secondary", variant: "meta", children: ["Blocked since ", formatTimestamp(blocker.since), ": ", blocker.summary] }, `${blocker.since}-${blocker.summary}`))), entry.review === undefined || entry.review === null ? null : (_jsxs(Text, { tone: "secondary", variant: "meta", children: ["Review ", reviewPresentation[entry.review.state].label.toLowerCase(), entry.review.summary === null ? "" : `: ${entry.review.summary}`] }))] }, entry.id))) })] })] })), _jsxs("div", { className: "work-links", children: [goal.connectTarget === null ? (_jsx(Text, { tone: "secondary", children: "No exact Connect target recorded." })) : externalLinks === "disabled" ? (_jsx(Text, { tone: "secondary", variant: "meta", children: "Connect target recorded." })) : (_jsx("a", { className: "work-connect-link", href: goal.connectTarget.url, children: "Open the agent in Connect" })), goalApproval === null ? null : externalLinks === "disabled" ? (_jsxs(Text, { tone: "secondary", variant: "meta", children: ["Approval target recorded on ", goalApproval.host, "."] })) : (exactLink(goalApproval, `Open ${goalApproval.host} approval`))] })] }));
|
|
151
316
|
};
|
|
152
317
|
const activityKindLabel = {
|
|
153
318
|
note: "Note",
|
|
@@ -170,7 +335,7 @@ const withFragment = (href, fragment) => {
|
|
|
170
335
|
const fragmentIndex = href.indexOf("#");
|
|
171
336
|
return `${fragmentIndex === -1 ? href : href.slice(0, fragmentIndex)}#${fragment}`;
|
|
172
337
|
};
|
|
173
|
-
export const WorkBoard = ({ externalLinks = "enabled", initialGoalId, initialWindow = "now", navigation, snapshots }) => {
|
|
338
|
+
export const WorkBoard = ({ decisions, externalLinks = "enabled", initialGoalId, initialWindow = "now", navigation, snapshots }) => {
|
|
174
339
|
const [window, setWindow] = useState(initialWindow);
|
|
175
340
|
const snapshot = snapshotFor(snapshots, window);
|
|
176
341
|
const directInitialGoal = snapshot.goals.find(({ id }) => id === initialGoalId);
|
|
@@ -178,14 +343,14 @@ export const WorkBoard = ({ externalLinks = "enabled", initialGoalId, initialWin
|
|
|
178
343
|
const requestedInitialSelectedId = boardNavigation === null ? (initialGoalId ?? null) : boardNavigation.goalId;
|
|
179
344
|
const initialStatusFilter = boardNavigation?.statusFilter ?? "all";
|
|
180
345
|
const requestedInitialSelectedGoal = snapshot.goals.find(({ id }) => id === requestedInitialSelectedId);
|
|
346
|
+
// A link's filter names the state its row showed, so restore it against the same displayed state.
|
|
181
347
|
const initialSelectedGoal = requestedInitialSelectedGoal !== undefined &&
|
|
182
|
-
(initialStatusFilter === "all" || requestedInitialSelectedGoal
|
|
348
|
+
(initialStatusFilter === "all" || displayStateOf(snapshot, requestedInitialSelectedGoal) === initialStatusFilter)
|
|
183
349
|
? requestedInitialSelectedGoal
|
|
184
350
|
: undefined;
|
|
185
351
|
const initialSelectedId = initialSelectedGoal?.id ?? null;
|
|
186
352
|
const [selectedId, setSelectedId] = useState(initialSelectedId);
|
|
187
353
|
const [detailsOpen, setDetailsOpen] = useState(initialSelectedGoal !== undefined &&
|
|
188
|
-
(initialStatusFilter === "all" || initialSelectedGoal.state === initialStatusFilter) &&
|
|
189
354
|
(boardNavigation?.detailsOpen ?? (initialGoalId !== undefined && initialGoalId !== null)));
|
|
190
355
|
const [statusFilter, setStatusFilter] = useState(initialStatusFilter);
|
|
191
356
|
const [visibleGoalCount, setVisibleGoalCount] = useState(boardNavigation?.visibleGoalCount ?? initialVisibleGoalCount);
|
|
@@ -193,6 +358,10 @@ export const WorkBoard = ({ externalLinks = "enabled", initialGoalId, initialWin
|
|
|
193
358
|
const selectedLinkRowRef = useRef(null);
|
|
194
359
|
const selectedRowRef = useRef(null);
|
|
195
360
|
const triage = workTriage(snapshot);
|
|
361
|
+
// The overlay by goal, built once per snapshot: rows, captions and filters all read it.
|
|
362
|
+
const overlay = new Map((snapshot.observed ?? []).map((entry) => [entry.goalId, entry]));
|
|
363
|
+
const observedOf = (goal) => overlay.get(goal.id) ?? null;
|
|
364
|
+
const shownOf = (goal) => observedOf(goal)?.displayState ?? goal.state;
|
|
196
365
|
// A historical window is the state as of its time; say so, never in the present tense.
|
|
197
366
|
const tense = window === "now" ? "present" : "past";
|
|
198
367
|
const sentence = workTriageSentence(triage.summary, tense);
|
|
@@ -201,7 +370,8 @@ export const WorkBoard = ({ externalLinks = "enabled", initialGoalId, initialWin
|
|
|
201
370
|
: `As of ${formatTimestamp(snapshot.asOf)}, ${sentence.charAt(0).toLowerCase()}${sentence.slice(1)}`;
|
|
202
371
|
const groupById = new Map(triage.rows.map((row) => [row.goal.id, row.group]));
|
|
203
372
|
const ordered = triage.rows.map((row) => row.goal);
|
|
204
|
-
|
|
373
|
+
// Filters match what each row shows: the observed state where there is one.
|
|
374
|
+
const filteredGoals = statusFilter === "all" ? ordered : ordered.filter((goal) => shownOf(goal) === statusFilter);
|
|
205
375
|
const selectedFilteredGoalIndex = filteredGoals.findIndex(({ id }) => id === selectedId);
|
|
206
376
|
const selected = filteredGoals.find(({ id }) => id === selectedId) ?? null;
|
|
207
377
|
const visibleGoalStart = selectedFilteredGoalIndex < visibleGoalCount ? 0 : selectedFilteredGoalIndex - visibleGoalCount + 1;
|
|
@@ -230,8 +400,8 @@ export const WorkBoard = ({ externalLinks = "enabled", initialGoalId, initialWin
|
|
|
230
400
|
setVisibleGoalCount(initialVisibleGoalCount);
|
|
231
401
|
}, [selectedFilteredGoalIndex, selectedId]);
|
|
232
402
|
const goalRow = (goal) => {
|
|
233
|
-
const caption = rowCaption(goal);
|
|
234
|
-
const content = (_jsxs(_Fragment, { children: [_jsxs("span", { className: "work-row-title", children: [_jsxs("span", { className: "work-row-meta", children: [goal.repository.repository, ", ", _jsx("code", { children: goal.repository.branch })] }), goal.title] }), _jsx("span", { className: "work-row-state", "data-tone":
|
|
403
|
+
const caption = rowCaption(goal, observedOf(goal), externalLinks === "enabled" ? decisions : undefined);
|
|
404
|
+
const content = (_jsxs(_Fragment, { children: [_jsxs("span", { className: "work-row-title", children: [_jsxs("span", { className: "work-row-meta", children: [repositoryName(goal.repository.repository), ", ", _jsx("code", { children: goal.repository.branch })] }), goal.title] }), _jsx("span", { className: "work-row-state", "data-tone": displayPresentation[shownOf(goal)].tone, children: displayPresentation[shownOf(goal)].label }), _jsxs("span", { className: "work-row-caption", "data-blocking": caption.blocking, children: [caption.text, familyLabelForGoal(snapshot, goal) === null ? null : `, ${familyLabelForGoal(snapshot, goal)}`] })] }));
|
|
235
405
|
return navigation === undefined ? (_jsx("button", { "aria-controls": detailsOpen && selected?.id === goal.id ? "work-goal-details" : undefined, "aria-expanded": detailsOpen && selected?.id === goal.id, "aria-pressed": selected?.id === goal.id, className: "work-board-row", id: selected?.id === goal.id ? selectedGoalFragment : undefined, onClick: () => {
|
|
236
406
|
setDetailsOpen(true);
|
|
237
407
|
setSelectedId(goal.id);
|
|
@@ -252,7 +422,8 @@ export const WorkBoard = ({ externalLinks = "enabled", initialGoalId, initialWin
|
|
|
252
422
|
return (_jsx("button", { "aria-pressed": window === option, className: "work-time-option", onClick: () => {
|
|
253
423
|
const selectedAtOption = snapshotFor(snapshots, option).goals.find(({ id }) => id === selectedId);
|
|
254
424
|
if (selectedAtOption === undefined ||
|
|
255
|
-
(statusFilter !== "all" &&
|
|
425
|
+
(statusFilter !== "all" &&
|
|
426
|
+
displayStateOf(snapshotFor(snapshots, option), selectedAtOption) !== statusFilter)) {
|
|
256
427
|
setDetailsOpen(false);
|
|
257
428
|
}
|
|
258
429
|
setVisibleGoalCount(initialVisibleGoalCount);
|
|
@@ -266,7 +437,8 @@ export const WorkBoard = ({ externalLinks = "enabled", initialGoalId, initialWin
|
|
|
266
437
|
? encodeWorkBoardNavigationGoal({
|
|
267
438
|
detailsOpen: detailsOpen &&
|
|
268
439
|
selectedAtOption !== undefined &&
|
|
269
|
-
(statusFilter === "all" ||
|
|
440
|
+
(statusFilter === "all" ||
|
|
441
|
+
displayStateOf(snapshotFor(snapshots, option), selectedAtOption) === statusFilter),
|
|
270
442
|
goalId: selectedId,
|
|
271
443
|
statusFilter,
|
|
272
444
|
visibleGoalCount: initialVisibleGoalCount
|
|
@@ -292,7 +464,13 @@ export const WorkBoard = ({ externalLinks = "enabled", initialGoalId, initialWin
|
|
|
292
464
|
window
|
|
293
465
|
}), children: label }, state));
|
|
294
466
|
}) }));
|
|
295
|
-
return (_jsxs("section", { className: "work-page", "aria-labelledby": "work-board-title", children: [_jsxs("header", { className: "work-page-intro", children: [_jsx(Text, { as: "h1", id: "work-board-title", variant: "card-title", children: "Work" }), _jsxs(Text, { tone: "secondary", variant: "meta", children: [window === "now" ? "Live" : windowLabel[window], ", as of ", formatTimestamp(snapshot.asOf)
|
|
467
|
+
return (_jsxs("section", { className: "work-page", "aria-labelledby": "work-board-title", children: [_jsxs("header", { className: "work-page-intro", children: [_jsx(Text, { as: "h1", id: "work-board-title", variant: "card-title", children: "Work" }), _jsxs(Text, { tone: "secondary", variant: "meta", children: [window === "now" ? "Live" : windowLabel[window], ", as of ", formatTimestamp(snapshot.asOf), window !== "now"
|
|
468
|
+
? null
|
|
469
|
+
: snapshot.observed === undefined
|
|
470
|
+
? ". Live state not available: this hub sends no observed facts (its herdr-work predates the reconciler, or the overlay did not fit the response), so states are as recorded. Update herdr-work on the hub to see them."
|
|
471
|
+
: snapshot.observedOmitted === undefined
|
|
472
|
+
? null
|
|
473
|
+
: `. Live state shown for the most recently updated goals; ${snapshot.observedOmitted} left out.`] })] }), _jsx(Hero, { caption: summaryCaption(triage.summary, tense), fact: heroFact, label: "Work summary" }), timeTravel, snapshot.goals.length === 0 ? (_jsx(Region, { title: "Goals", children: _jsx(Text, { tone: "secondary", children: window === "now" ? (_jsxs(_Fragment, { children: ["No goals yet. Delegate work to an agent with", " ", _jsx("code", { children: "fleetctl submit HOST agent.delegate work REPOSITORY PROMPT" }), " (HOST is a name from", " ", _jsx("code", { children: "fleetctl hosts" }), "); its goal appears here once the hub admits it."] })) : ("No goals at this checkpoint.") }) })) : (_jsxs("div", { className: "work-board-layout", "data-has-detail": selected !== null && detailsOpen, children: [_jsxs(Region, { actions: statusFilterControls, className: "work-board-list", count: filteredGoals.length, title: "Goals", children: [_jsxs(Text, { "aria-live": "polite", tone: "secondary", variant: "meta", children: ["Showing ", visibleGoals.length, " of ", filteredGoals.length, " goals"] }), filteredGoals.length === 0 ? _jsx(Text, { tone: "secondary", children: "No goals match this status." }) : null, visibleGroups.map(({ goals, group }) => (_jsxs("section", { "aria-labelledby": `work-group-${group}`, className: "work-group", children: [_jsxs("h3", { className: "work-group-title", id: `work-group-${group}`, children: [workTriageGroupTitle[group], " ", _jsxs("span", { className: "work-group-count", children: ["(", goals.length, ")"] })] }), _jsx("ul", { className: "work-rows", children: goals.map((goal) => (_jsx("li", { children: goalRow(goal) }, goal.id))) })] }, group))), visibleGoals.length < filteredGoals.length ? (navigation === undefined ? (_jsx(Button, { onClick: () => setVisibleGoalCount((count) => Math.min(count + initialVisibleGoalCount, filteredGoals.length)), children: "Load 10 more" })) : (_jsx("a", { className: "work-load-more-link", href: navigation({
|
|
296
474
|
goalId: encodeWorkBoardNavigationGoal({
|
|
297
475
|
detailsOpen,
|
|
298
476
|
goalId: selectedId,
|
|
@@ -312,6 +490,6 @@ export const WorkBoard = ({ externalLinks = "enabled", initialGoalId, initialWin
|
|
|
312
490
|
visibleGoalCount
|
|
313
491
|
}),
|
|
314
492
|
window
|
|
315
|
-
}), selectedGoalFragment), children: "Close details" })), "aria-label": "Goal details", className: "work-inspector", headingId: "work-goal-details-title", id: "work-goal-details", ref: detailsRef, title: selected.title, children: _jsx(GoalDetail, { externalLinks: externalLinks, goal: selected, snapshot: snapshot }) }))] }))] }));
|
|
493
|
+
}), selectedGoalFragment), children: "Close details" })), "aria-label": "Goal details", className: "work-inspector", headingId: "work-goal-details-title", id: "work-goal-details", ref: detailsRef, title: selected.title, children: _jsx(GoalDetail, { decisions: decisions, externalLinks: externalLinks, goal: selected, snapshot: snapshot }) }))] }))] }));
|
|
316
494
|
};
|
|
317
495
|
//# sourceMappingURL=view.js.map
|
package/dist/view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../src/view.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../src/view.tsx"],"names":[],"mappings":"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"}
|
package/dist/work-triage.d.ts
CHANGED
|
@@ -1,23 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The Work tab's triage: which goals need the viewer, which are blocked, which are moving,
|
|
3
|
-
* which finished in the last 24 hours, plus the one-sentence summary above them.
|
|
2
|
+
* The Work tab's triage: which goals need the viewer, which are blocked, which are moving, which
|
|
3
|
+
* have not started, and which finished in the last 24 hours, plus the one-sentence summary above them.
|
|
4
4
|
*
|
|
5
5
|
* Pure: callers pass one snapshot. View-only derivation lives here; the goal model, its
|
|
6
6
|
* projection and observed facts stay in `model.ts`/`projection.ts`.
|
|
7
7
|
*
|
|
8
8
|
* A goal needs the viewer when it has an open request: someone asked for an approval only a
|
|
9
|
-
* person can give. Blocked
|
|
10
|
-
*
|
|
11
|
-
* goals
|
|
9
|
+
* person can give. Blocked and finished follow the displayed state: the observed overlay's when it
|
|
10
|
+
* has one (a merged pull request is done, a closed one abandoned), else the recorded state. Done
|
|
11
|
+
* counts goals that finished within 24 hours of the snapshot (the pull request's close time when
|
|
12
|
+
* that is what finished them, else the goal's last update), labelled as such, never as "since
|
|
13
|
+
* you looked"; older finished goals stay listed last, as "Finished earlier", so a status filter
|
|
14
|
+
* still finds them.
|
|
12
15
|
*/
|
|
13
|
-
import type { WorkGoal, WorkRequest, WorkSnapshot } from "./model.js";
|
|
14
|
-
/** How long a finished goal stays in the "
|
|
16
|
+
import type { WorkDisplayState, WorkGoal, WorkRequest, WorkSnapshot } from "./model.js";
|
|
17
|
+
/** How long a finished goal stays in the "Finished in the last 24 hours" group. */
|
|
15
18
|
export declare const workTriageDoneWindowMs = 86400000;
|
|
16
19
|
/** The groups, in reading order. */
|
|
17
|
-
export type WorkTriageGroup = "needs-you" | "blocked" | "moving" | "done" | "earlier";
|
|
20
|
+
export type WorkTriageGroup = "needs-you" | "blocked" | "moving" | "planned" | "done" | "earlier";
|
|
18
21
|
export declare const workTriageGroups: ReadonlyArray<WorkTriageGroup>;
|
|
19
22
|
export interface WorkTriageRow {
|
|
20
23
|
readonly goal: WorkGoal;
|
|
24
|
+
/** The state the tab shows: observed when the overlay has one, else recorded. */
|
|
25
|
+
readonly displayState: WorkDisplayState;
|
|
21
26
|
readonly group: WorkTriageGroup;
|
|
22
27
|
/** Position in the snapshot, the projection's own order; ties fall back to it. */
|
|
23
28
|
readonly index: number;
|
|
@@ -50,7 +55,7 @@ export interface WorkTriage {
|
|
|
50
55
|
* every goal (the model rejects a snapshot over `workSnapshotMaxGoals` rather than truncating it),
|
|
51
56
|
* so a zero here is a real zero.
|
|
52
57
|
*/
|
|
53
|
-
export declare const workTriage: (snapshot: Pick<WorkSnapshot, "asOf" | "goals">) => WorkTriage;
|
|
58
|
+
export declare const workTriage: (snapshot: Pick<WorkSnapshot, "asOf" | "goals" | "observed">) => WorkTriage;
|
|
54
59
|
/**
|
|
55
60
|
* `present` for the live snapshot; `past` for a historical window, which is the state as of its
|
|
56
61
|
* time, not now: requests answered since still count there, and newer ones are missing.
|
|
@@ -66,6 +71,7 @@ export declare const workTriageGroupTitle: {
|
|
|
66
71
|
"needs-you": string;
|
|
67
72
|
blocked: string;
|
|
68
73
|
moving: string;
|
|
74
|
+
planned: string;
|
|
69
75
|
done: string;
|
|
70
76
|
earlier: string;
|
|
71
77
|
};
|