@shivaedev/work-board 0.17.0 → 0.18.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/CHANGELOG.md +27 -0
- package/README.md +27 -25
- package/assets/react.css +1 -1
- package/assets/react.js +37 -36
- package/dist/browser/responses/cardContext.d.ts +8 -1
- package/dist/browser/responses/cardContext.d.ts.map +1 -1
- package/dist/browser/responses/cardContext.js +12 -7
- package/dist/browser/responses/cardContext.js.map +1 -1
- package/dist/browser/views/now.d.ts +5 -0
- package/dist/browser/views/now.d.ts.map +1 -1
- package/dist/browser/views/now.js +38 -2
- package/dist/browser/views/now.js.map +1 -1
- package/dist/browser/views/schema.d.ts +11 -0
- package/dist/browser/views/schema.d.ts.map +1 -1
- package/dist/browser/views/schema.js +1 -0
- package/dist/browser/views/schema.js.map +1 -1
- package/dist/client/document/View.js +1 -1
- package/dist/client/document/View.js.map +1 -1
- package/dist/client/formStatus.d.ts +2 -2
- package/dist/client/formStatus.d.ts.map +1 -1
- package/dist/client/formStatus.js +2 -2
- package/dist/client/formStatus.js.map +1 -1
- package/dist/client/react/AnswerContext.d.ts.map +1 -1
- package/dist/client/react/AnswerContext.js +5 -2
- package/dist/client/react/AnswerContext.js.map +1 -1
- package/dist/client/react/AnswerForm.d.ts.map +1 -1
- package/dist/client/react/AnswerForm.js +6 -2
- package/dist/client/react/AnswerForm.js.map +1 -1
- package/dist/client/react/AnswerMarkdown.d.ts +6 -0
- package/dist/client/react/AnswerMarkdown.d.ts.map +1 -0
- package/dist/client/react/AnswerMarkdown.js +7 -0
- package/dist/client/react/AnswerMarkdown.js.map +1 -0
- package/dist/client/react/AnswerMore.d.ts.map +1 -1
- package/dist/client/react/AnswerMore.js +2 -1
- package/dist/client/react/AnswerMore.js.map +1 -1
- package/dist/client/react/AnswerPanel.d.ts.map +1 -1
- package/dist/client/react/AnswerPanel.js +3 -2
- package/dist/client/react/AnswerPanel.js.map +1 -1
- package/dist/client/react/AnswerPrompts.d.ts.map +1 -1
- package/dist/client/react/AnswerPrompts.js +16 -10
- package/dist/client/react/AnswerPrompts.js.map +1 -1
- package/dist/client/react/BoardShell.js +2 -2
- package/dist/client/react/BoardShell.js.map +1 -1
- package/dist/client/react/DocumentMain.d.ts.map +1 -1
- package/dist/client/react/DocumentMain.js +2 -2
- package/dist/client/react/DocumentMain.js.map +1 -1
- package/dist/client/react/FleetMain.js +1 -1
- package/dist/client/react/FleetMain.js.map +1 -1
- package/dist/client/react/FormField.js +1 -1
- package/dist/client/react/FormField.js.map +1 -1
- package/dist/client/react/GoalPage.js +2 -2
- package/dist/client/react/GoalPage.js.map +1 -1
- package/dist/client/react/GoalProgressHeader.js +2 -2
- package/dist/client/react/GoalProgressHeader.js.map +1 -1
- package/dist/client/react/Header.d.ts.map +1 -1
- package/dist/client/react/Header.js +3 -2
- package/dist/client/react/Header.js.map +1 -1
- package/dist/client/react/LibraryContents.js +1 -1
- package/dist/client/react/LibraryContents.js.map +1 -1
- package/dist/client/react/LibraryMain.d.ts.map +1 -1
- package/dist/client/react/LibraryMain.js +1 -1
- package/dist/client/react/LibraryMain.js.map +1 -1
- package/dist/client/react/LibraryPage.js +2 -2
- package/dist/client/react/LibraryPage.js.map +1 -1
- package/dist/client/react/LiveControls.js +1 -1
- package/dist/client/react/LiveControls.js.map +1 -1
- package/dist/client/react/ProjectionMain.d.ts.map +1 -1
- package/dist/client/react/ProjectionMain.js +1 -1
- package/dist/client/react/ProjectionMain.js.map +1 -1
- package/dist/client/react/PromptOption.d.ts.map +1 -1
- package/dist/client/react/PromptOption.js +7 -5
- package/dist/client/react/PromptOption.js.map +1 -1
- package/dist/client/react/ReadingHistory.js +1 -1
- package/dist/client/react/ReadingHistory.js.map +1 -1
- package/dist/client/react/RemainingMain.d.ts.map +1 -1
- package/dist/client/react/RemainingMain.js +1 -1
- package/dist/client/react/RemainingMain.js.map +1 -1
- package/dist/client/react/ResponseHistory.d.ts.map +1 -1
- package/dist/client/react/ResponseHistory.js +11 -5
- package/dist/client/react/ResponseHistory.js.map +1 -1
- package/dist/client/react/SearchPalette.js +1 -1
- package/dist/client/react/SearchPalette.js.map +1 -1
- package/dist/client/react/Sidebar.d.ts.map +1 -1
- package/dist/client/react/Sidebar.js +9 -2
- package/dist/client/react/Sidebar.js.map +1 -1
- package/dist/client/react/SystemFleetLane.d.ts.map +1 -1
- package/dist/client/react/SystemFleetLane.js +2 -1
- package/dist/client/react/SystemFleetLane.js.map +1 -1
- package/dist/client/react/SystemHealth.d.ts +2 -1
- package/dist/client/react/SystemHealth.d.ts.map +1 -1
- package/dist/client/react/SystemHealth.js +3 -2
- package/dist/client/react/SystemHealth.js.map +1 -1
- package/dist/client/react/SystemMain.d.ts.map +1 -1
- package/dist/client/react/SystemMain.js +6 -2
- package/dist/client/react/SystemMain.js.map +1 -1
- package/dist/client/react/SystemPage.d.ts +2 -1
- package/dist/client/react/SystemPage.d.ts.map +1 -1
- package/dist/client/react/SystemPage.js +2 -2
- package/dist/client/react/SystemPage.js.map +1 -1
- package/dist/client/react/TodayNeeds.d.ts +5 -0
- package/dist/client/react/TodayNeeds.d.ts.map +1 -1
- package/dist/client/react/TodayNeeds.js +6 -3
- package/dist/client/react/TodayNeeds.js.map +1 -1
- package/dist/client/react/TodayOptionButton.d.ts +14 -0
- package/dist/client/react/TodayOptionButton.d.ts.map +1 -0
- package/dist/client/react/TodayOptionButton.js +10 -0
- package/dist/client/react/TodayOptionButton.js.map +1 -0
- package/dist/client/react/TodayOptions.d.ts.map +1 -1
- package/dist/client/react/TodayOptions.js +18 -14
- package/dist/client/react/TodayOptions.js.map +1 -1
- package/dist/client/react/TodayPage.d.ts.map +1 -1
- package/dist/client/react/TodayPage.js +20 -5
- package/dist/client/react/TodayPage.js.map +1 -1
- package/dist/client/react/WorkCard.d.ts.map +1 -1
- package/dist/client/react/WorkCard.js +7 -2
- package/dist/client/react/WorkCard.js.map +1 -1
- package/dist/client/react/WorkLane.d.ts.map +1 -1
- package/dist/client/react/WorkLane.js +1 -1
- package/dist/client/react/WorkLane.js.map +1 -1
- package/dist/client/react/WorkNow.js +1 -1
- package/dist/client/react/WorkNow.js.map +1 -1
- package/dist/client/react/activeRead.js +1 -1
- package/dist/client/react/activeRead.js.map +1 -1
- package/dist/client/react/destinationName.d.ts +2 -0
- package/dist/client/react/destinationName.d.ts.map +1 -0
- package/dist/client/react/destinationName.js +4 -0
- package/dist/client/react/destinationName.js.map +1 -0
- package/dist/client/react/loadBoardPage.d.ts.map +1 -1
- package/dist/client/react/loadBoardPage.js +2 -2
- package/dist/client/react/loadBoardPage.js.map +1 -1
- package/dist/client/react/loadProjection.d.ts +135 -135
- package/dist/client/react/loadProjection.d.ts.map +1 -1
- package/dist/client/react/loadProjection.js +2 -2
- package/dist/client/react/loadProjection.js.map +1 -1
- package/dist/client/react/loadRemaining.d.ts +184 -184
- package/dist/client/react/loadRemaining.d.ts.map +1 -1
- package/dist/client/react/loadRemaining.js +2 -2
- package/dist/client/react/loadRemaining.js.map +1 -1
- package/dist/client/react/pageQueries.js +1 -1
- package/dist/client/react/pageQueries.js.map +1 -1
- package/dist/client/react/resolvedDocumentFailure.d.ts.map +1 -0
- package/dist/client/react/resolvedDocumentFailure.js.map +1 -0
- package/dist/client/react/routeQuery.d.ts.map +1 -0
- package/dist/client/react/routeQuery.js.map +1 -0
- package/dist/client/react/useHandoffForm.js +1 -1
- package/dist/client/react/useHandoffForm.js.map +1 -1
- package/dist/client/react/useProjectionData.d.ts +1 -1
- package/dist/client/react/useProjectionData.js +1 -1
- package/dist/client/react/useProjectionData.js.map +1 -1
- package/dist/client/react/useResponseForm.d.ts.map +1 -1
- package/dist/client/react/useResponseForm.js +3 -3
- package/dist/client/react/useResponseForm.js.map +1 -1
- package/dist/client/responses/summary.d.ts +1 -0
- package/dist/client/responses/summary.d.ts.map +1 -1
- package/dist/client/responses/summary.js +12 -1
- package/dist/client/responses/summary.js.map +1 -1
- package/dist/diagnostics/source.js +1 -1
- package/dist/diagnostics/source.js.map +1 -1
- package/dist/rpc/contract.d.ts +1951 -1918
- package/dist/rpc/contract.d.ts.map +1 -1
- package/dist/server/Responses.js +2 -2
- package/dist/server/Responses.js.map +1 -1
- package/dist/server/attention/inbox.d.ts +13 -2
- package/dist/server/attention/inbox.d.ts.map +1 -1
- package/dist/server/attention/inbox.js +44 -27
- package/dist/server/attention/inbox.js.map +1 -1
- package/dist/server/attention/managedRequestReceipt.d.ts +10 -0
- package/dist/server/attention/managedRequestReceipt.d.ts.map +1 -1
- package/dist/server/attention/managedRequestReceipt.js +29 -10
- package/dist/server/attention/managedRequestReceipt.js.map +1 -1
- package/dist/server/attention/projection.d.ts.map +1 -1
- package/dist/server/attention/projection.js +2 -1
- package/dist/server/attention/projection.js.map +1 -1
- package/dist/server/attention/requestInbox.d.ts +3 -3
- package/dist/server/attention/requestInbox.js +2 -2
- package/dist/server/attention/requestInbox.js.map +1 -1
- package/dist/server/attention/requests.d.ts +1 -0
- package/dist/server/attention/requests.d.ts.map +1 -1
- package/dist/server/attention/requests.js +7 -3
- package/dist/server/attention/requests.js.map +1 -1
- package/dist/server/board.js +1 -1
- package/dist/server/board.js.map +1 -1
- package/dist/server/document/answerBody.d.ts.map +1 -1
- package/dist/server/document/answerBody.js +9 -1
- package/dist/server/document/answerBody.js.map +1 -1
- package/dist/server/document/reviewedWork.d.ts +3 -0
- package/dist/server/document/reviewedWork.d.ts.map +1 -0
- package/dist/server/document/reviewedWork.js +23 -0
- package/dist/server/document/reviewedWork.js.map +1 -0
- package/dist/server/files/changes.d.ts.map +1 -1
- package/dist/server/files/changes.js +1 -1
- package/dist/server/files/changes.js.map +1 -1
- package/dist/server/files/watchDirectories.d.ts +1 -1
- package/dist/server/files/watchDirectories.d.ts.map +1 -1
- package/dist/server/files/watchDirectories.js +71 -12
- package/dist/server/files/watchDirectories.js.map +1 -1
- package/dist/server/handoffs/Service.js +2 -2
- package/dist/server/handoffs/Service.js.map +1 -1
- package/dist/server/handoffs/source.js +1 -1
- package/dist/server/handoffs/source.js.map +1 -1
- package/dist/server/http/boardRoutes.js +1 -1
- package/dist/server/http/boardRoutes.js.map +1 -1
- package/dist/server/mcp/client.d.ts +11 -0
- package/dist/server/mcp/client.d.ts.map +1 -1
- package/dist/server/mcp/queries.d.ts +2851 -2818
- package/dist/server/mcp/queries.d.ts.map +1 -1
- package/dist/server/packageInfo.d.ts +1 -1
- package/dist/server/packageInfo.js +1 -1
- package/dist/server/render/Highlighter.js +1 -1
- package/dist/server/render/Highlighter.js.map +1 -1
- package/dist/server/responses/locate.js +1 -1
- package/dist/server/responses/locate.js.map +1 -1
- package/dist/server/rpc/handlers.js +2 -2
- package/dist/server/rpc/handlers.js.map +1 -1
- package/dist/server/serve.js +1 -1
- package/dist/server/serve.js.map +1 -1
- package/dist/server/views/projectionQueries.d.ts +11 -0
- package/dist/server/views/projectionQueries.d.ts.map +1 -1
- package/dist/server/workspace.js +1 -1
- package/dist/server/workspace.js.map +1 -1
- package/docs/delivery/README.md +2 -2
- package/package.json +18 -362
- package/src/browser/responses/cardContext.ts +13 -7
- package/src/browser/views/now.ts +42 -2
- package/src/browser/views/schema.ts +1 -0
- package/src/client/document/View.ts +1 -1
- package/src/client/formStatus.ts +3 -3
- package/src/client/react/AnswerContext.tsx +9 -4
- package/src/client/react/AnswerForm.tsx +25 -6
- package/src/client/react/AnswerMarkdown.tsx +15 -0
- package/src/client/react/AnswerMore.tsx +58 -46
- package/src/client/react/AnswerPanel.tsx +14 -8
- package/src/client/react/AnswerPrompts.tsx +33 -18
- package/src/client/react/BoardShell.tsx +2 -2
- package/src/client/react/DocumentMain.tsx +2 -2
- package/src/client/react/FleetMain.tsx +1 -1
- package/src/client/react/FormField.tsx +1 -1
- package/src/client/react/GoalPage.tsx +2 -2
- package/src/client/react/GoalProgressHeader.tsx +2 -2
- package/src/client/react/Header.tsx +3 -2
- package/src/client/react/LibraryContents.tsx +1 -1
- package/src/client/react/LibraryMain.tsx +1 -1
- package/src/client/react/LibraryPage.tsx +2 -2
- package/src/client/react/LiveControls.tsx +1 -1
- package/src/client/react/ProjectionMain.tsx +1 -1
- package/src/client/react/PromptOption.tsx +39 -24
- package/src/client/react/ReadingHistory.tsx +1 -1
- package/src/client/react/RemainingMain.tsx +1 -1
- package/src/client/react/ResponseHistory.tsx +53 -14
- package/src/client/react/SearchPalette.tsx +1 -1
- package/src/client/react/Sidebar.tsx +10 -2
- package/src/client/react/SystemFleetLane.tsx +2 -1
- package/src/client/react/SystemHealth.tsx +24 -4
- package/src/client/react/SystemMain.tsx +6 -2
- package/src/client/react/SystemPage.tsx +8 -2
- package/src/client/react/TodayNeeds.tsx +21 -6
- package/src/client/react/TodayOptionButton.tsx +35 -0
- package/src/client/react/TodayOptions.tsx +42 -33
- package/src/client/react/TodayPage.tsx +36 -7
- package/src/client/react/WorkCard.tsx +16 -8
- package/src/client/react/WorkLane.tsx +8 -2
- package/src/client/react/WorkNow.tsx +1 -1
- package/src/client/react/activeRead.ts +1 -1
- package/src/client/react/destinationName.ts +3 -0
- package/src/client/react/entry.css +0 -6
- package/src/client/react/loadBoardPage.ts +2 -2
- package/src/client/react/loadProjection.ts +2 -2
- package/src/client/react/loadRemaining.ts +2 -2
- package/src/client/react/pageQueries.ts +1 -1
- package/src/client/react/useHandoffForm.ts +1 -1
- package/src/client/react/useProjectionData.ts +1 -1
- package/src/client/react/useResponseForm.ts +5 -3
- package/src/client/responses/summary.ts +13 -1
- package/src/diagnostics/source.ts +1 -1
- package/src/server/Responses.ts +2 -2
- package/src/server/attention/inbox.ts +51 -27
- package/src/server/attention/managedRequestReceipt.ts +41 -10
- package/src/server/attention/projection.ts +5 -2
- package/src/server/attention/requestInbox.ts +2 -2
- package/src/server/attention/requests.ts +7 -2
- package/src/server/board.ts +1 -1
- package/src/server/document/answerBody.ts +10 -1
- package/src/server/document/reviewedWork.ts +24 -0
- package/src/server/files/changes.ts +1 -0
- package/src/server/files/watchDirectories.ts +90 -27
- package/src/server/handoffs/Service.ts +2 -2
- package/src/server/handoffs/source.ts +1 -1
- package/src/server/http/boardRoutes.ts +1 -1
- package/src/server/packageInfo.ts +1 -1
- package/src/server/render/Highlighter.ts +1 -1
- package/src/server/responses/locate.ts +1 -1
- package/src/server/rpc/handlers.ts +2 -2
- package/src/server/serve.ts +1 -1
- package/src/server/workspace.ts +1 -1
- package/dist/client/page/resolvedDocumentFailure.d.ts.map +0 -1
- package/dist/client/page/resolvedDocumentFailure.js.map +0 -1
- package/dist/client/page/routeQuery.d.ts.map +0 -1
- package/dist/client/page/routeQuery.js.map +0 -1
- /package/dist/client/{page → react}/resolvedDocumentFailure.d.ts +0 -0
- /package/dist/client/{page → react}/resolvedDocumentFailure.js +0 -0
- /package/dist/client/{page → react}/routeQuery.d.ts +0 -0
- /package/dist/client/{page → react}/routeQuery.js +0 -0
- /package/src/client/{page → react}/resolvedDocumentFailure.ts +0 -0
- /package/src/client/{page → react}/routeQuery.ts +0 -0
|
@@ -6,5 +6,12 @@ export declare function cardContext(source: string): {
|
|
|
6
6
|
}[];
|
|
7
7
|
recommendation: string;
|
|
8
8
|
};
|
|
9
|
-
export declare function
|
|
9
|
+
export declare function optionText(id: string, source: string): {
|
|
10
|
+
description: string;
|
|
11
|
+
label: string;
|
|
12
|
+
};
|
|
13
|
+
export declare function promptHeading(source: string): {
|
|
14
|
+
rest: string;
|
|
15
|
+
title: string | undefined;
|
|
16
|
+
};
|
|
10
17
|
//# sourceMappingURL=cardContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cardContext.d.ts","sourceRoot":"","sources":["../../../src/browser/responses/cardContext.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM;;;;;;;EAQzC;AAED,wBAAgB,
|
|
1
|
+
{"version":3,"file":"cardContext.d.ts","sourceRoot":"","sources":["../../../src/browser/responses/cardContext.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM;;;;;;;EAQzC;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;EAUpD;AA8BD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM;IAElC,IAAI;IAAmE,KAAK;EACrF"}
|
|
@@ -8,15 +8,16 @@ export function cardContext(source) {
|
|
|
8
8
|
});
|
|
9
9
|
return { links, recommendation };
|
|
10
10
|
}
|
|
11
|
-
export function
|
|
12
|
-
const heading =
|
|
13
|
-
if (heading) {
|
|
14
|
-
return heading;
|
|
11
|
+
export function optionText(id, source) {
|
|
12
|
+
const heading = promptHeading(source);
|
|
13
|
+
if (heading.title) {
|
|
14
|
+
return { description: heading.rest, label: heading.title };
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const lead = /^\*\*(?<label>[^*]+)\*\*\s*(?:[—–:-]\s*)?/u.exec(source.trim());
|
|
17
|
+
if (lead?.groups?.label) {
|
|
18
|
+
return { description: source.trim().slice(lead[0].length).trim(), label: lead.groups.label.trim() };
|
|
18
19
|
}
|
|
19
|
-
return id.charAt(0).toUpperCase() + id.slice(1).replaceAll("-", " ");
|
|
20
|
+
return { description: source.trim(), label: id.charAt(0).toUpperCase() + id.slice(1).replaceAll("-", " ") };
|
|
20
21
|
}
|
|
21
22
|
function section(source, title) {
|
|
22
23
|
const lines = source.split("\n");
|
|
@@ -44,4 +45,8 @@ function section(source, title) {
|
|
|
44
45
|
function nextFence(current, marker) {
|
|
45
46
|
return current?.startsWith(marker.charAt(0)) && marker.length >= current.length ? undefined : marker;
|
|
46
47
|
}
|
|
48
|
+
export function promptHeading(source) {
|
|
49
|
+
const heading = /^#{1,6}\s+(?<title>.+)$/mu.exec(source);
|
|
50
|
+
return { rest: heading ? source.replace(heading[0], "").trim() : source.trim(), title: heading?.groups?.title?.trim() };
|
|
51
|
+
}
|
|
47
52
|
//# sourceMappingURL=cardContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cardContext.js","sourceRoot":"","sources":["../../../src/browser/responses/cardContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,UAAU,WAAW,CAAC,MAAc;IACzC,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE;QAChF,MAAM,EAAE,GAAG,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC;QAC/D,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;IAC3F,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"cardContext.js","sourceRoot":"","sources":["../../../src/browser/responses/cardContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,12 @@ export type FleetWork = Extract<FleetItemsProjection, {
|
|
|
7
7
|
}>["items"][number];
|
|
8
8
|
export declare function isWork(metadata: Metadata): boolean;
|
|
9
9
|
export declare function laneOf(metadata: Metadata, fleet: FleetWork | undefined, approved?: boolean): NowLane | undefined;
|
|
10
|
+
export declare function fleetHolder(fleet: FleetWork): string;
|
|
10
11
|
export declare function holderOf(metadata: Metadata, fleet: FleetWork | undefined): string | undefined;
|
|
12
|
+
export declare function stageTime(stage: FleetWork["stage"]): {
|
|
13
|
+
readonly ended: boolean;
|
|
14
|
+
readonly label: string;
|
|
15
|
+
};
|
|
11
16
|
export declare function cardStatus(metadata: Metadata, fleet: FleetWork | undefined, waiting: string | undefined): string | undefined;
|
|
12
17
|
export declare function compareStatuses(left: string | undefined, right: string | undefined): number;
|
|
13
18
|
//# sourceMappingURL=now.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"now.d.ts","sourceRoot":"","sources":["../../../src/browser/views/now.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,eAAO,MAAM,QAAQ,YAAI,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB,EAAE,yBAAyB,CAAU,CAAC;AACtI,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAe3F,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAElD;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,QAAQ,UAAQ,GAAG,OAAO,GAAG,SAAS,CAW9G;
|
|
1
|
+
{"version":3,"file":"now.d.ts","sourceRoot":"","sources":["../../../src/browser/views/now.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,eAAO,MAAM,QAAQ,YAAI,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB,EAAE,yBAAyB,CAAU,CAAC;AACtI,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAe3F,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAElD;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,QAAQ,UAAQ,GAAG,OAAO,GAAG,SAAS,CAW9G;AA+BD,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAKpD;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAQ7F;AAeD,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAExG;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAQ5H;AAkBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAM3F"}
|
|
@@ -41,11 +41,47 @@ function authoredLane(status, approved) {
|
|
|
41
41
|
}
|
|
42
42
|
return Object.entries(stages).find(([stage]) => stage === status)?.[1];
|
|
43
43
|
}
|
|
44
|
+
const fleetHolders = {
|
|
45
|
+
adopting: "Fleet is working on this",
|
|
46
|
+
completed: "Fleet finished this",
|
|
47
|
+
delivering: "Fleet is working on this",
|
|
48
|
+
executing: "Fleet is working on this",
|
|
49
|
+
"needs-human": "Waiting on a person",
|
|
50
|
+
prepared: "Queued for Fleet",
|
|
51
|
+
released: "Fleet handed this back",
|
|
52
|
+
repairing: "Fleet is working on this",
|
|
53
|
+
reviewing: "Fleet is working on this",
|
|
54
|
+
validating: "Fleet is working on this",
|
|
55
|
+
};
|
|
56
|
+
export function fleetHolder(fleet) {
|
|
57
|
+
if (fleet.attentionOwner === "maintainer") {
|
|
58
|
+
return "Needs you";
|
|
59
|
+
}
|
|
60
|
+
return fleet.attentionOwner === "orchestrator" ? "Waiting on the orchestrator" : fleetHolders[fleet.stage];
|
|
61
|
+
}
|
|
44
62
|
export function holderOf(metadata, fleet) {
|
|
45
63
|
if (fleet) {
|
|
46
|
-
return fleet
|
|
64
|
+
return fleetHolder(fleet);
|
|
65
|
+
}
|
|
66
|
+
if (metadata.owner === "maintainer") {
|
|
67
|
+
return "Assigned to you";
|
|
47
68
|
}
|
|
48
|
-
return
|
|
69
|
+
return metadata.owner === "orchestrator" ? "Assigned to the orchestrator" : undefined;
|
|
70
|
+
}
|
|
71
|
+
const stageNames = {
|
|
72
|
+
adopting: "Adopting",
|
|
73
|
+
completed: "Done",
|
|
74
|
+
delivering: "Delivering",
|
|
75
|
+
executing: "Executing",
|
|
76
|
+
"needs-human": "Waiting",
|
|
77
|
+
prepared: "Queued",
|
|
78
|
+
released: "Handed back",
|
|
79
|
+
repairing: "Repairing",
|
|
80
|
+
reviewing: "Reviewing",
|
|
81
|
+
validating: "Validating",
|
|
82
|
+
};
|
|
83
|
+
export function stageTime(stage) {
|
|
84
|
+
return { ended: stage === "completed" || stage === "released", label: stageNames[stage] };
|
|
49
85
|
}
|
|
50
86
|
export function cardStatus(metadata, fleet, waiting) {
|
|
51
87
|
if (fleet) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"now.js","sourceRoot":"","sources":["../../../src/browser/views/now.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB,EAAE,yBAAyB,CAAU,CAAC;AAItI,MAAM,MAAM,GAAoD;IAC/D,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,yBAAyB;IACpC,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,qBAAqB;IACpC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,WAAW;CACvB,CAAC;AAEF,MAAM,UAAU,MAAM,CAAC,QAAkB;IACxC,OAAO,CAAC,CAAC,QAAQ,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5H,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,QAAkB,EAAE,KAA4B,EAAE,QAAQ,GAAG,KAAK;IACxF,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QACzD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9G,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,YAAY,CAAC,MAA0B,EAAE,QAAiB;IAClE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3G,OAAO,WAAW,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QACzF,OAAO,qBAAqB,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC;IACpB,CAAC;IACD,IAAI,MAAM,KAAK,UAAU,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAChG,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,QAAQ,
|
|
1
|
+
{"version":3,"file":"now.js","sourceRoot":"","sources":["../../../src/browser/views/now.ts"],"names":[],"mappings":"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"}
|
|
@@ -634,6 +634,17 @@ export declare const InboxProjection: Schema.Struct<{
|
|
|
634
634
|
readonly responseFrom: Schema.optional<Schema.$Array<Schema.String>>;
|
|
635
635
|
readonly title: Schema.String;
|
|
636
636
|
}>>;
|
|
637
|
+
readonly later: Schema.$Array<Schema.Struct<{
|
|
638
|
+
readonly earlierAsks: Schema.optional<Schema.Number>;
|
|
639
|
+
readonly file: Schema.String;
|
|
640
|
+
readonly href: Schema.String;
|
|
641
|
+
readonly id: Schema.String;
|
|
642
|
+
readonly modified: Schema.optional<Schema.Number>;
|
|
643
|
+
readonly problem: Schema.optional<Schema.String>;
|
|
644
|
+
readonly reason: Schema.String;
|
|
645
|
+
readonly responseFrom: Schema.optional<Schema.$Array<Schema.String>>;
|
|
646
|
+
readonly title: Schema.String;
|
|
647
|
+
}>>;
|
|
637
648
|
readonly parked: Schema.$Array<Schema.Struct<{
|
|
638
649
|
readonly earlierAsks: Schema.optional<Schema.Number>;
|
|
639
650
|
readonly file: Schema.String;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/browser/views/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOnB,CAAC;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAYxD,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/browser/views/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOnB,CAAC;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAYxD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC;AAC1D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC"}
|
|
@@ -38,6 +38,7 @@ export const InboxProjection = Schema.Struct({
|
|
|
38
38
|
complete: Schema.Boolean,
|
|
39
39
|
issues: Schema.Array(Schema.Struct({ file: Schema.String, line: Schema.Number, message: Schema.String })),
|
|
40
40
|
items: Schema.Array(InboxItem),
|
|
41
|
+
later: Schema.Array(InboxItem),
|
|
41
42
|
parked: Schema.Array(InboxItem),
|
|
42
43
|
resolved: Schema.Array(InboxItem),
|
|
43
44
|
sourceIssues: Schema.Boolean,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/browser/views/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IAC9C,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACvC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC,OAAO;IAC/B,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAChD,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,UAAU,EAAE,MAAM,CAAC,OAAO;CAC1B,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1D,KAAK,EAAE,MAAM,CAAC,MAAM;CACpB,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC,OAAO;IACxB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACzG,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC,OAAO;IAC5B,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACnF,QAAQ,EAAE,QAAQ;CAClB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/browser/views/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IAC9C,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACvC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC,OAAO;IAC/B,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAChD,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,UAAU,EAAE,MAAM,CAAC,OAAO;CAC1B,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1D,KAAK,EAAE,MAAM,CAAC,MAAM;CACpB,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC,OAAO;IACxB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACzG,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC,OAAO;IAC5B,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACnF,QAAQ,EAAE,QAAQ;CAClB,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Children, createContext, createElement, Fragment, useContext, useMemo } from "react";
|
|
2
2
|
import { MarkdownHooks } from "react-markdown";
|
|
3
3
|
import rehypeRaw from "rehype-raw";
|
|
4
|
-
import { Age } from "#client/react/Age";
|
|
4
|
+
import { Age } from "#client/react/Age.tsx";
|
|
5
5
|
import { documentHeadings } from "#render/documentHeadings.ts";
|
|
6
6
|
import { documentLinks } from "#render/documentLinks.ts";
|
|
7
7
|
import { documentPlugins } from "#render/documentPlugins.ts";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"View.js","sourceRoot":"","sources":["../../../src/client/document/View.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAkB,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC9G,OAAO,EAAmB,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,SAAS,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"View.js","sourceRoot":"","sources":["../../../src/client/document/View.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Option } from "effect";
|
|
2
|
-
import type { SaveState } from "@shivaedev/effect-react/
|
|
2
|
+
import type { SaveState } from "@shivaedev/effect-react/client/saveState.ts";
|
|
3
3
|
import { type SaveFailure } from "./saveFailure.ts";
|
|
4
4
|
export type DraftInteraction = "draft" | "cleared" | "submitted";
|
|
5
5
|
export declare function formStatus<A>(state: Pick<SaveState<SaveFailure>, "saving" | "failure"> & {
|
|
@@ -8,5 +8,5 @@ export declare function formStatus<A>(state: Pick<SaveState<SaveFailure>, "savin
|
|
|
8
8
|
readonly outcome: string | undefined;
|
|
9
9
|
readonly text: string;
|
|
10
10
|
};
|
|
11
|
-
export declare function responseSaved(id: string, dirty: boolean): string;
|
|
11
|
+
export declare function responseSaved(id: string, dirty: boolean, choice?: string): string;
|
|
12
12
|
//# sourceMappingURL=formStatus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formStatus.d.ts","sourceRoot":"","sources":["../../src/client/formStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"formStatus.d.ts","sourceRoot":"","sources":["../../src/client/formStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,kBAAkB,CAAC;AAEjE,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;AACjE,wBAAgB,UAAU,CAAC,CAAC,EAC3B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CAAE,EAClG,WAAW,EAAE,gBAAgB,EAC7B,IAAI,EAAE,UAAU,GAAG,SAAS,EAC5B,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GACzB;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAoBjE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAK,UAEpE"}
|
|
@@ -21,7 +21,7 @@ export function formStatus(state, interaction, kind, saved) {
|
|
|
21
21
|
text: interaction === "cleared" ? `Draft cleared. Saved ${kind === "response" ? "responses" : "handoffs"} are unchanged.` : ready,
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
export function responseSaved(id, dirty) {
|
|
25
|
-
return `Saved: responses/${id}.md. This records
|
|
24
|
+
export function responseSaved(id, dirty, choice = "") {
|
|
25
|
+
return `Saved: your answer${choice ? ` “${choice}”` : ""} is recorded. The agent reads it from responses/${id}.md the next time it checks. This records your answer, not acceptance of the work.${dirty ? " Your current draft remains unsaved." : ""}`;
|
|
26
26
|
}
|
|
27
27
|
//# sourceMappingURL=formStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formStatus.js","sourceRoot":"","sources":["../../src/client/formStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAoB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGjE,MAAM,UAAU,UAAU,CACzB,KAAkG,EAClG,WAA6B,EAC7B,IAA4B,EAC5B,KAA2B;IAE3B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO;YACN,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,iEAAiE,CAAC,CAAC,CAAC,4CAA4C;SAC5I,CAAC;IACH,CAAC;IACD,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,CAAC;IACF,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,4DAA4D,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,OAAO;QACN,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,wBAAwB,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,iBAAiB,CAAC,CAAC,CAAC,KAAK;KACjI,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAU,EAAE,KAAc;
|
|
1
|
+
{"version":3,"file":"formStatus.js","sourceRoot":"","sources":["../../src/client/formStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAoB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGjE,MAAM,UAAU,UAAU,CACzB,KAAkG,EAClG,WAA6B,EAC7B,IAA4B,EAC5B,KAA2B;IAE3B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO;YACN,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,iEAAiE,CAAC,CAAC,CAAC,4CAA4C;SAC5I,CAAC;IACH,CAAC;IACD,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,CAAC;IACF,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,4DAA4D,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,OAAO;QACN,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,wBAAwB,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,iBAAiB,CAAC,CAAC,CAAC,KAAK;KACjI,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAU,EAAE,KAAc,EAAE,MAAM,GAAG,EAAE;IACpE,OAAO,qBAAqB,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,mDAAmD,EAAE,qFAAqF,KAAK,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACzP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnswerContext.d.ts","sourceRoot":"","sources":["../../../src/client/react/AnswerContext.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AnswerContext.d.ts","sourceRoot":"","sources":["../../../src/client/react/AnswerContext.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAKpE,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;CAAE,+BA0B/E"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ExternalLink } from "lucide-react";
|
|
2
3
|
import { cardContext } from "#browser/responses/cardContext.ts";
|
|
3
|
-
import {
|
|
4
|
+
import { buttonVariants } from "#client/react/components/ui/buttonVariants.ts";
|
|
5
|
+
import { cn } from "#client/react/lib/cn.ts";
|
|
6
|
+
import { AnswerMarkdown } from "./AnswerMarkdown.js";
|
|
4
7
|
export function AnswerContext({ preview }) {
|
|
5
8
|
const context = cardContext(preview.context);
|
|
6
|
-
return (_jsxs(_Fragment, { children: [Boolean(context.recommendation) && (
|
|
9
|
+
return (_jsxs(_Fragment, { children: [Boolean(context.recommendation) && (_jsxs("div", { className: "rounded-lg bg-muted/60 px-4 py-3 text-sm", children: [_jsx("p", { className: "mb-1 font-medium text-muted-foreground text-xs uppercase tracking-wide", children: "Recommendation" }), _jsx(AnswerMarkdown, { className: "answer-recommendation", file: preview.source, source: context.recommendation })] })), context.links.length > 0 && (_jsx("div", { className: "answer-links flex flex-wrap gap-2", children: context.links.map((link) => (_jsxs("a", { className: cn(buttonVariants({ size: "sm", variant: link.primary ? "default" : "outline" }), "answer-link"), href: link.url, children: [link.label, _jsx(ExternalLink, { "aria-hidden": "true" })] }, link.url))) }))] }));
|
|
7
10
|
}
|
|
8
11
|
//# sourceMappingURL=AnswerContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnswerContext.js","sourceRoot":"","sources":["../../../src/client/react/AnswerContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"AnswerContext.js","sourceRoot":"","sources":["../../../src/client/react/AnswerContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAsB,CAAC;AAEtD,MAAM,UAAU,aAAa,CAAC,EAAE,OAAO,EAAyC;IAC/E,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,CACN,8BACE,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CACnC,eAAK,SAAS,EAAC,0CAA0C,aACxD,YAAG,SAAS,EAAC,wEAAwE,+BAAmB,EACxG,KAAC,cAAc,IAAC,SAAS,EAAC,uBAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,cAAc,GAAI,IACrG,CACN,EACA,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAC5B,cAAK,SAAS,EAAC,mCAAmC,YAChD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC5B,aACC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,aAAa,CAAC,EAC3G,IAAI,EAAE,IAAI,CAAC,GAAG,aAGb,IAAI,CAAC,KAAK,EACX,KAAC,YAAY,mBAAa,MAAM,GAAG,KAH9B,IAAI,CAAC,GAAG,CAIV,CACJ,CAAC,GACG,CACN,IACC,CACH,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnswerForm.d.ts","sourceRoot":"","sources":["../../../src/client/react/AnswerForm.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AnswerForm.d.ts","sourceRoot":"","sources":["../../../src/client/react/AnswerForm.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAYpE,UAAU,WAAW;IACpB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CAClC;AACD,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,+BAE5C"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { CheckCircle2 } from "lucide-react";
|
|
3
|
+
import { Button } from "#client/react/components/ui/Button.tsx";
|
|
4
|
+
import { cn } from "#client/react/lib/cn.ts";
|
|
2
5
|
import { AnswerMore } from "./AnswerMore.js";
|
|
3
6
|
import { AnswerPrompts } from "./AnswerPrompts.js";
|
|
4
7
|
import { FormField } from "./FormField.js";
|
|
5
8
|
import { shellIds } from "./shellIds.js";
|
|
6
9
|
import { useFormFocus } from "./useFormFocus.js";
|
|
7
10
|
import { useResponseForm } from "./useResponseForm.js";
|
|
11
|
+
const READ_ONLY = "This Board is read-only. Start it with --responses to record answers.";
|
|
8
12
|
export function AnswerForm(props) {
|
|
9
13
|
return _jsx(AnswerSession, { ...props }, JSON.stringify([props.preview.item, props.preview.request, Boolean(props.request.prompts?.length)]));
|
|
10
14
|
}
|
|
@@ -18,7 +22,7 @@ function AnswerSession({ document: data, request, preview }) {
|
|
|
18
22
|
const form = state.form;
|
|
19
23
|
const body = (_jsx(FormField, { form: form, label: prompts.length > 0 ? "Overall response / next action (optional)" : "Your response", maxLength: 32_768, name: "body", required: prompts.length === 0, rows: 4, showErrors: state.attempted }));
|
|
20
24
|
const writableStatus = typeof window === "undefined" ? "JavaScript is required to record a response." : state.status;
|
|
21
|
-
return (_jsxs("form", { ...focus, "data-item": preview.item, "data-question": preview.id, "data-request": preview.request, "data-response-form": true, "data-revision": preview.reviewedRevision, "data-writable": data.writable, id: id(shellIds.responseForm), noValidate: true, onChange: state.edit, onInput: state.edit, onSubmit: (event) => {
|
|
25
|
+
return (_jsxs("form", { ...focus, className: "space-y-4", "data-item": preview.item, "data-question": preview.id, "data-request": preview.request, "data-response-form": true, "data-revision": preview.reviewedRevision, "data-writable": data.writable, id: id(shellIds.responseForm), noValidate: true, onChange: state.edit, onInput: state.edit, onSubmit: (event) => {
|
|
22
26
|
event.preventDefault();
|
|
23
27
|
const valid = state.attempt();
|
|
24
28
|
if (!valid) {
|
|
@@ -35,6 +39,6 @@ function AnswerSession({ document: data, request, preview }) {
|
|
|
35
39
|
if (data.writable && valid && !state.created.saving) {
|
|
36
40
|
state.created.save();
|
|
37
41
|
}
|
|
38
|
-
}, children: [_jsx(AnswerPrompts, { answers: state.answers ?? [], document: data, form: form, onEdit: state.editAnswers, prompts: prompts, showErrors: state.attempted }), prompts.length === 0 && body, _jsx("
|
|
42
|
+
}, children: [_jsx(AnswerPrompts, { answers: state.answers ?? [], document: data, form: form, onEdit: state.editAnswers, prompts: prompts, showErrors: state.attempted }), prompts.length === 0 && body, _jsx("div", { className: "flex flex-wrap items-center gap-3", children: _jsx(Button, { disabled: !data.writable || state.created.saving, id: id(shellIds.responseSubmit), type: "submit", children: "Record answer" }) }), _jsxs("p", { className: cn("flex items-start gap-2 text-sm empty:hidden", !data.writable && "text-muted-foreground", state.outcome === "saved" && "rounded-md border border-done/40 bg-done/10 px-3 py-2", (state.outcome === "rejected" || state.outcome === "uncertain") && "rounded-md border border-destructive/40 px-3 py-2 text-destructive"), "data-outcome": state.outcome, id: id(shellIds.responseStatus), role: "status", children: [state.outcome === "saved" && _jsx(CheckCircle2, { "aria-hidden": "true", className: "mt-0.5 size-4 shrink-0 text-done" }), data.writable ? writableStatus : `${state.status} ${READ_ONLY}`.trim()] }), _jsx(AnswerMore, { body: prompts.length > 0 ? body : undefined, id: id, request: request, state: state })] }));
|
|
39
43
|
}
|
|
40
44
|
//# sourceMappingURL=AnswerForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnswerForm.js","sourceRoot":"","sources":["../../../src/client/react/AnswerForm.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"AnswerForm.js","sourceRoot":"","sources":["../../../src/client/react/AnswerForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnswerMarkdown.d.ts","sourceRoot":"","sources":["../../../src/client/react/AnswerMarkdown.tsx"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,+BAW1I"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "#client/react/lib/cn.ts";
|
|
3
|
+
import { ResponseMarkdown } from "./ResponseMarkdown.js";
|
|
4
|
+
export function AnswerMarkdown({ className, file, source }) {
|
|
5
|
+
return (_jsx("div", { className: cn("[&_a]:underline [&_a]:underline-offset-4 [&_code]:font-mono [&_code]:text-[0.9em] [&_li]:my-1 [&_ol]:list-decimal [&_ol]:pl-5 [&_p+p]:mt-2 [&_ul]:list-disc [&_ul]:pl-5", className), children: _jsx(ResponseMarkdown, { file: file, source: source }) }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=AnswerMarkdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnswerMarkdown.js","sourceRoot":"","sources":["../../../src/client/react/AnswerMarkdown.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAwB,CAAC;AAE1D,MAAM,UAAU,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAmF;IAC1I,OAAO,CACN,cACC,SAAS,EAAE,EAAE,CACZ,yKAAyK,EACzK,SAAS,CACT,YAED,KAAC,gBAAgB,IAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAI,GAC3C,CACN,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnswerMore.d.ts","sourceRoot":"","sources":["../../../src/client/react/AnswerMore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"AnswerMore.d.ts","sourceRoot":"","sources":["../../../src/client/react/AnswerMore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAInE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,wBAAgB,UAAU,CAAC,EAC1B,IAAI,EACJ,EAAE,EACF,OAAO,EACP,KAAK,GACL,EAAE;IACF,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;CACnD,+BA6DA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button } from "#client/react/components/ui/Button.tsx";
|
|
2
3
|
import { FormField } from "./FormField.js";
|
|
3
4
|
import { shellIds } from "./shellIds.js";
|
|
4
5
|
export function AnswerMore({ body, id, request, state, }) {
|
|
5
|
-
return (_jsxs("details", { "data-key": "response-details", children: [_jsx("summary", { children: "More" }), _jsx(FormField, { autoComplete: "nickname", form: state.form, label: "Local author label", maxLength: 200, name: "author", required: true, showErrors: state.attempted }), _jsxs(FormField, { form: state.form, label: "Response kind", name: "type", children: [_jsx("option", { value: "answer", children: "Answer (including no)" }), _jsx("option", { value: "clarify", children: "Ask back / clarify" }), _jsx("option", { value: "not_now", children: "Not now" })] }), body, _jsxs(FormField, { form: state.form, label: "Supersedes an earlier response (optional)", name: "supersedes", children: [_jsx("option", { value: "", children: "Adds feedback; does not supersede" }), request.responses?.map((record) => (_jsxs("option", { value: record.id, children: [record.id, " \u00B7 ", record.response.author, " \u00B7 ", record.response.reviewedRevision.slice(0, 12)] }, record.id)))] }), _jsx("pre", { hidden: !state.recovery, id: id(shellIds.responseDraftRecovery), children: state.recovery }), _jsx("p", { children: "Drafts stay in this browser for seven days after the last edit, with a 256 KiB limit per draft. Saved responses are Markdown files in responses/." }),
|
|
6
|
+
return (_jsxs("details", { className: "group rounded-lg border px-4 py-2 text-sm [&[open]]:pb-4", "data-key": "response-details", children: [_jsx("summary", { className: "cursor-pointer select-none py-1 text-muted-foreground hover:text-foreground", children: "More options" }), _jsxs("div", { className: "mt-3 grid gap-4", children: [_jsx(FormField, { autoComplete: "nickname", form: state.form, label: "Local author label", maxLength: 200, name: "author", required: true, showErrors: state.attempted }), _jsxs(FormField, { form: state.form, label: "Response kind", name: "type", children: [_jsx("option", { value: "answer", children: "Answer (including no)" }), _jsx("option", { value: "clarify", children: "Ask back / clarify" }), _jsx("option", { value: "not_now", children: "Not now" })] }), body, _jsxs(FormField, { form: state.form, label: "Supersedes an earlier response (optional)", name: "supersedes", children: [_jsx("option", { value: "", children: "Adds feedback; does not supersede" }), request.responses?.map((record) => (_jsxs("option", { value: record.id, children: [record.id, " \u00B7 ", record.response.author, " \u00B7 ", record.response.reviewedRevision.slice(0, 12)] }, record.id)))] }), _jsx("pre", { className: "whitespace-pre-wrap rounded-md bg-muted p-3 text-xs", hidden: !state.recovery, id: id(shellIds.responseDraftRecovery), children: state.recovery }), _jsx("p", { className: "text-muted-foreground text-xs", children: "Drafts stay in this browser for seven days after the last edit, with a 256 KiB limit per draft. Saved responses are Markdown files in responses/." }), _jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsx(Button, { disabled: typeof window === "undefined" || state.created.saving, id: id(shellIds.responsePreview), onClick: state.showPreview, size: "sm", variant: "outline", children: "Preview Markdown" }), _jsx(Button, { disabled: typeof window === "undefined" || state.created.saving, id: id(shellIds.responseClear), onClick: state.clear, size: "sm", variant: "ghost", children: "Clear draft" })] }), _jsx("pre", { className: "whitespace-pre-wrap rounded-md bg-muted p-3 text-xs", hidden: !state.preview, id: id(shellIds.responsePreviewContent), children: state.preview })] })] }));
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=AnswerMore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnswerMore.js","sourceRoot":"","sources":["../../../src/client/react/AnswerMore.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,UAAU,UAAU,CAAC,EAC1B,IAAI,EACJ,EAAE,EACF,OAAO,EACP,KAAK,GAML;IACA,OAAO,CACN
|
|
1
|
+
{"version":3,"file":"AnswerMore.js","sourceRoot":"","sources":["../../../src/client/react/AnswerMore.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,wCAAwC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,UAAU,UAAU,CAAC,EAC1B,IAAI,EACJ,EAAE,EACF,OAAO,EACP,KAAK,GAML;IACA,OAAO,CACN,mBAAS,SAAS,EAAC,0DAA0D,cAAU,kBAAkB,aACxG,kBAAS,SAAS,EAAC,6EAA6E,6BAAuB,EACvH,eAAK,SAAS,EAAC,iBAAiB,aAC/B,KAAC,SAAS,IACT,YAAY,EAAC,UAAU,EACvB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAC,oBAAoB,EAC1B,SAAS,EAAE,GAAG,EACd,IAAI,EAAC,QAAQ,EACb,QAAQ,QACR,UAAU,EAAE,KAAK,CAAC,SAAS,GAC1B,EACF,MAAC,SAAS,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,aAC7D,iBAAQ,KAAK,EAAC,QAAQ,sCAA+B,EACrD,iBAAQ,KAAK,EAAC,SAAS,mCAA4B,EACnD,iBAAQ,KAAK,EAAC,SAAS,wBAAiB,IAC7B,EACX,IAAI,EACL,MAAC,SAAS,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAC,2CAA2C,EAAC,IAAI,EAAC,YAAY,aAC/F,iBAAQ,KAAK,EAAC,EAAE,kDAA2C,EAC1D,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACnC,kBAAwB,KAAK,EAAE,MAAM,CAAC,EAAE,aACtC,MAAM,CAAC,EAAE,cAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,cAAK,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAD3E,MAAM,CAAC,EAAE,CAEb,CACT,CAAC,IACS,EACZ,cAAK,SAAS,EAAC,qDAAqD,EAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,YAClI,KAAK,CAAC,QAAQ,GACV,EACN,YAAG,SAAS,EAAC,+BAA+B,kKAGxC,EACJ,eAAK,SAAS,EAAC,sBAAsB,aACpC,KAAC,MAAM,IACN,QAAQ,EAAE,OAAO,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAC/D,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAChC,OAAO,EAAE,KAAK,CAAC,WAAW,EAC1B,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,SAAS,iCAGT,EACT,KAAC,MAAM,IACN,QAAQ,EAAE,OAAO,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAC/D,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAC9B,OAAO,EAAE,KAAK,CAAC,KAAK,EACpB,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,OAAO,4BAGP,IACJ,EACN,cAAK,SAAS,EAAC,qDAAqD,EAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,YAClI,KAAK,CAAC,OAAO,GACT,IACD,IACG,CACV,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnswerPanel.d.ts","sourceRoot":"","sources":["../../../src/client/react/AnswerPanel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AnswerPanel.d.ts","sourceRoot":"","sources":["../../../src/client/react/AnswerPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,6BAA6B,CAAC;AAO7E,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,sCAY9E"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { MessageCircleQuestion } from "lucide-react";
|
|
2
3
|
import { reasonMarkdown } from "#browser/responses/reasonMarkdown.ts";
|
|
3
4
|
import { AnswerContext } from "./AnswerContext.js";
|
|
4
5
|
import { AnswerForm } from "./AnswerForm.js";
|
|
6
|
+
import { AnswerMarkdown } from "./AnswerMarkdown.js";
|
|
5
7
|
import { ResponseHistory } from "./ResponseHistory.js";
|
|
6
|
-
import { ResponseMarkdown } from "./ResponseMarkdown.js";
|
|
7
8
|
export function AnswerPanel({ document: data }) {
|
|
8
9
|
const requests = data.requests.filter((request) => request.open || (request.id === "answer" && request.sourceOpen && data.metadata.kind === "question" && data.metadata.question === undefined));
|
|
9
10
|
return requests.length > 0 ? (_jsx("div", { className: "answer-cards col-span-full space-y-4", children: requests.map((request) => (_jsx(AnswerCard, { document: data, request: request }, request.id))) })) : null;
|
|
@@ -17,7 +18,7 @@ function AnswerCard({ document: data, request }) {
|
|
|
17
18
|
};
|
|
18
19
|
const unavailable = request.unavailable ?? request.promptUnavailable;
|
|
19
20
|
const closed = request.sourceOpen === false;
|
|
20
|
-
return (_jsxs("section", { "aria-labelledby": `answer-title-${request.id}`, className: "response-panel
|
|
21
|
+
return (_jsxs("section", { "aria-labelledby": `answer-title-${request.id}`, className: "response-panel max-w-[72ch] space-y-5 rounded-xl border bg-card p-5 text-card-foreground shadow-sm", id: `answer-card-${request.id}`, tabIndex: -1, children: [_jsxs("h2", { className: "flex items-center gap-2 font-medium text-muted-foreground text-sm", id: `answer-title-${request.id}`, children: [request.open ? _jsx(MessageCircleQuestion, { "aria-hidden": "true", className: "size-4 text-needs-you" }) : null, cardTitle(request, closed)] }), !(request.open || unavailable) && (_jsx("p", { className: "text-muted-foreground text-sm", role: "status", children: closed ? "This question is closed. Recorded answers remain below." : "Answer unavailable. Check the source diagnostics." })), Boolean(unavailable) && (_jsx("p", { className: "rounded-md border border-destructive/40 px-3 py-2 text-sm", role: "status", children: unavailable })), request.open && preview !== undefined && (_jsxs(_Fragment, { children: [_jsx(AnswerMarkdown, { className: "answer-reason font-medium text-base", file: source.file, source: reasonMarkdown(preview.reason) }), _jsx(AnswerContext, { preview: preview })] })), request.open && preview && !unavailable && _jsx(AnswerForm, { document: source, preview: preview, request: request }), !request.unavailable && (_jsx(ResponseHistory, { id: data.requests.filter((entry) => entry.open).length > 1 ? `response-history-${request.id}` : undefined, request: request }))] }));
|
|
21
22
|
}
|
|
22
23
|
function cardTitle(request, closed) {
|
|
23
24
|
if (request.open) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnswerPanel.js","sourceRoot":"","sources":["../../../src/client/react/AnswerPanel.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"AnswerPanel.js","sourceRoot":"","sources":["../../../src/client/react/AnswerPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnswerPrompts.d.ts","sourceRoot":"","sources":["../../../src/client/react/AnswerPrompts.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"AnswerPrompts.d.ts","sourceRoot":"","sources":["../../../src/client/react/AnswerPrompts.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAGjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AACxD,UAAU,WAAW;IACpB,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC7B;AACD,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,iCAE/C"}
|
|
@@ -2,8 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { createElement as _createElement } from "react";
|
|
3
3
|
import { useAtomValue } from "@effect/atom-react";
|
|
4
4
|
import { useId, useLayoutEffect, useRef } from "react";
|
|
5
|
+
import { promptHeading } from "#browser/responses/cardContext.ts";
|
|
6
|
+
import { AnswerMarkdown } from "./AnswerMarkdown.js";
|
|
5
7
|
import { PromptOption } from "./PromptOption.js";
|
|
6
|
-
import { ResponseMarkdown } from "./ResponseMarkdown.js";
|
|
7
8
|
export function AnswerPrompts(props) {
|
|
8
9
|
return props.prompts.map((prompt, index) => _createElement(PromptField, { ...props, index: index, key: prompt.id, prompt: prompt }));
|
|
9
10
|
}
|
|
@@ -15,13 +16,9 @@ function PromptField({ document, prompt, index, answers, form, onEdit, showError
|
|
|
15
16
|
const ref = useRef(null);
|
|
16
17
|
useLayoutEffect(() => ref.current?.setCustomValidity(error ?? ""), [error]);
|
|
17
18
|
const choices = document.metadata.options;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
else if (prompt.mode !== "text") {
|
|
23
|
-
guidance = `${prompt.mode === "one" ? "Choose one option" : "Choose any combination"}, or answer in your own words.`;
|
|
24
|
-
}
|
|
19
|
+
const guidance = promptGuidance(prompt.mode, choices !== undefined);
|
|
20
|
+
const heading = promptHeading(prompt.source);
|
|
21
|
+
const title = heading.title ?? `Question ${index + 1}`;
|
|
25
22
|
function change(next) {
|
|
26
23
|
onEdit(index, next);
|
|
27
24
|
}
|
|
@@ -37,8 +34,17 @@ function PromptField({ document, prompt, index, answers, form, onEdit, showError
|
|
|
37
34
|
}
|
|
38
35
|
let message = error;
|
|
39
36
|
if (error && answer.selected.length === 0 && !answer.text.trim()) {
|
|
40
|
-
message = `Unanswered:
|
|
37
|
+
message = `Unanswered: “${title}”. Choose an option or answer in your own words.`;
|
|
38
|
+
}
|
|
39
|
+
return (_jsxs("fieldset", { className: "m-0 min-w-0 space-y-3 border-0 p-0", "data-mode": prompt.mode, "data-prompt": prompt.id, "data-source": prompt.source, children: [_jsx("legend", { className: "mb-1 p-0 font-semibold text-base", children: choices === undefined ? title : "Your answer" }), choices === undefined && heading.rest ? _jsx(AnswerMarkdown, { className: "text-sm", file: document.file, source: heading.rest }) : null, _jsx("p", { className: "text-muted-foreground text-sm", children: guidance }), _jsx("div", { className: `grid gap-2 ${choices ? "question-choices" : ""}`, children: prompt.options.map((option, choice) => (_jsx(PromptOption, { checked: answer.selected.includes(option.id), choice: choice, choose: choose, document: document, option: option, prompt: prompt }, option.id))) }), prompt.mode !== "text" && (_jsx("button", { className: "text-muted-foreground text-xs underline-offset-4 hover:underline disabled:opacity-50", "data-clear-choices": true, disabled: answer.selected.length === 0, onClick: () => change({ ...answer, selected: [] }), type: "button", children: "Clear selections" })), _jsxs("label", { className: "grid gap-2 text-sm", children: [_jsx("span", { children: prompt.mode === "text" ? "Your answer" : "Add a note or answer in your own words (optional)" }), _jsx("textarea", { "aria-describedby": `${errorId}-error`, "aria-invalid": Boolean(error), className: "w-full rounded-md border bg-background px-3 py-2 text-sm aria-invalid:border-destructive", "data-answer-text": true, maxLength: 8192, onInput: (event) => change({ ...answer, text: event.currentTarget.value }), ref: ref, rows: choices || prompt.mode === "text" ? 4 : 2, value: answer.text }), _jsx("span", { className: "response-field-error text-destructive text-xs", hidden: !error, id: `${errorId}-error`, children: message })] })] }));
|
|
40
|
+
}
|
|
41
|
+
function promptGuidance(mode, authored) {
|
|
42
|
+
if (authored) {
|
|
43
|
+
return "Choose an option or write another answer. Nothing is selected for you.";
|
|
44
|
+
}
|
|
45
|
+
if (mode === "text") {
|
|
46
|
+
return "Answer in your own words.";
|
|
41
47
|
}
|
|
42
|
-
return
|
|
48
|
+
return `${mode === "one" ? "Choose one option" : "Choose any combination"}, or answer in your own words. Nothing is selected for you.`;
|
|
43
49
|
}
|
|
44
50
|
//# sourceMappingURL=AnswerPrompts.js.map
|