@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.
Files changed (304) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +27 -25
  3. package/assets/react.css +1 -1
  4. package/assets/react.js +37 -36
  5. package/dist/browser/responses/cardContext.d.ts +8 -1
  6. package/dist/browser/responses/cardContext.d.ts.map +1 -1
  7. package/dist/browser/responses/cardContext.js +12 -7
  8. package/dist/browser/responses/cardContext.js.map +1 -1
  9. package/dist/browser/views/now.d.ts +5 -0
  10. package/dist/browser/views/now.d.ts.map +1 -1
  11. package/dist/browser/views/now.js +38 -2
  12. package/dist/browser/views/now.js.map +1 -1
  13. package/dist/browser/views/schema.d.ts +11 -0
  14. package/dist/browser/views/schema.d.ts.map +1 -1
  15. package/dist/browser/views/schema.js +1 -0
  16. package/dist/browser/views/schema.js.map +1 -1
  17. package/dist/client/document/View.js +1 -1
  18. package/dist/client/document/View.js.map +1 -1
  19. package/dist/client/formStatus.d.ts +2 -2
  20. package/dist/client/formStatus.d.ts.map +1 -1
  21. package/dist/client/formStatus.js +2 -2
  22. package/dist/client/formStatus.js.map +1 -1
  23. package/dist/client/react/AnswerContext.d.ts.map +1 -1
  24. package/dist/client/react/AnswerContext.js +5 -2
  25. package/dist/client/react/AnswerContext.js.map +1 -1
  26. package/dist/client/react/AnswerForm.d.ts.map +1 -1
  27. package/dist/client/react/AnswerForm.js +6 -2
  28. package/dist/client/react/AnswerForm.js.map +1 -1
  29. package/dist/client/react/AnswerMarkdown.d.ts +6 -0
  30. package/dist/client/react/AnswerMarkdown.d.ts.map +1 -0
  31. package/dist/client/react/AnswerMarkdown.js +7 -0
  32. package/dist/client/react/AnswerMarkdown.js.map +1 -0
  33. package/dist/client/react/AnswerMore.d.ts.map +1 -1
  34. package/dist/client/react/AnswerMore.js +2 -1
  35. package/dist/client/react/AnswerMore.js.map +1 -1
  36. package/dist/client/react/AnswerPanel.d.ts.map +1 -1
  37. package/dist/client/react/AnswerPanel.js +3 -2
  38. package/dist/client/react/AnswerPanel.js.map +1 -1
  39. package/dist/client/react/AnswerPrompts.d.ts.map +1 -1
  40. package/dist/client/react/AnswerPrompts.js +16 -10
  41. package/dist/client/react/AnswerPrompts.js.map +1 -1
  42. package/dist/client/react/BoardShell.js +2 -2
  43. package/dist/client/react/BoardShell.js.map +1 -1
  44. package/dist/client/react/DocumentMain.d.ts.map +1 -1
  45. package/dist/client/react/DocumentMain.js +2 -2
  46. package/dist/client/react/DocumentMain.js.map +1 -1
  47. package/dist/client/react/FleetMain.js +1 -1
  48. package/dist/client/react/FleetMain.js.map +1 -1
  49. package/dist/client/react/FormField.js +1 -1
  50. package/dist/client/react/FormField.js.map +1 -1
  51. package/dist/client/react/GoalPage.js +2 -2
  52. package/dist/client/react/GoalPage.js.map +1 -1
  53. package/dist/client/react/GoalProgressHeader.js +2 -2
  54. package/dist/client/react/GoalProgressHeader.js.map +1 -1
  55. package/dist/client/react/Header.d.ts.map +1 -1
  56. package/dist/client/react/Header.js +3 -2
  57. package/dist/client/react/Header.js.map +1 -1
  58. package/dist/client/react/LibraryContents.js +1 -1
  59. package/dist/client/react/LibraryContents.js.map +1 -1
  60. package/dist/client/react/LibraryMain.d.ts.map +1 -1
  61. package/dist/client/react/LibraryMain.js +1 -1
  62. package/dist/client/react/LibraryMain.js.map +1 -1
  63. package/dist/client/react/LibraryPage.js +2 -2
  64. package/dist/client/react/LibraryPage.js.map +1 -1
  65. package/dist/client/react/LiveControls.js +1 -1
  66. package/dist/client/react/LiveControls.js.map +1 -1
  67. package/dist/client/react/ProjectionMain.d.ts.map +1 -1
  68. package/dist/client/react/ProjectionMain.js +1 -1
  69. package/dist/client/react/ProjectionMain.js.map +1 -1
  70. package/dist/client/react/PromptOption.d.ts.map +1 -1
  71. package/dist/client/react/PromptOption.js +7 -5
  72. package/dist/client/react/PromptOption.js.map +1 -1
  73. package/dist/client/react/ReadingHistory.js +1 -1
  74. package/dist/client/react/ReadingHistory.js.map +1 -1
  75. package/dist/client/react/RemainingMain.d.ts.map +1 -1
  76. package/dist/client/react/RemainingMain.js +1 -1
  77. package/dist/client/react/RemainingMain.js.map +1 -1
  78. package/dist/client/react/ResponseHistory.d.ts.map +1 -1
  79. package/dist/client/react/ResponseHistory.js +11 -5
  80. package/dist/client/react/ResponseHistory.js.map +1 -1
  81. package/dist/client/react/SearchPalette.js +1 -1
  82. package/dist/client/react/SearchPalette.js.map +1 -1
  83. package/dist/client/react/Sidebar.d.ts.map +1 -1
  84. package/dist/client/react/Sidebar.js +9 -2
  85. package/dist/client/react/Sidebar.js.map +1 -1
  86. package/dist/client/react/SystemFleetLane.d.ts.map +1 -1
  87. package/dist/client/react/SystemFleetLane.js +2 -1
  88. package/dist/client/react/SystemFleetLane.js.map +1 -1
  89. package/dist/client/react/SystemHealth.d.ts +2 -1
  90. package/dist/client/react/SystemHealth.d.ts.map +1 -1
  91. package/dist/client/react/SystemHealth.js +3 -2
  92. package/dist/client/react/SystemHealth.js.map +1 -1
  93. package/dist/client/react/SystemMain.d.ts.map +1 -1
  94. package/dist/client/react/SystemMain.js +6 -2
  95. package/dist/client/react/SystemMain.js.map +1 -1
  96. package/dist/client/react/SystemPage.d.ts +2 -1
  97. package/dist/client/react/SystemPage.d.ts.map +1 -1
  98. package/dist/client/react/SystemPage.js +2 -2
  99. package/dist/client/react/SystemPage.js.map +1 -1
  100. package/dist/client/react/TodayNeeds.d.ts +5 -0
  101. package/dist/client/react/TodayNeeds.d.ts.map +1 -1
  102. package/dist/client/react/TodayNeeds.js +6 -3
  103. package/dist/client/react/TodayNeeds.js.map +1 -1
  104. package/dist/client/react/TodayOptionButton.d.ts +14 -0
  105. package/dist/client/react/TodayOptionButton.d.ts.map +1 -0
  106. package/dist/client/react/TodayOptionButton.js +10 -0
  107. package/dist/client/react/TodayOptionButton.js.map +1 -0
  108. package/dist/client/react/TodayOptions.d.ts.map +1 -1
  109. package/dist/client/react/TodayOptions.js +18 -14
  110. package/dist/client/react/TodayOptions.js.map +1 -1
  111. package/dist/client/react/TodayPage.d.ts.map +1 -1
  112. package/dist/client/react/TodayPage.js +20 -5
  113. package/dist/client/react/TodayPage.js.map +1 -1
  114. package/dist/client/react/WorkCard.d.ts.map +1 -1
  115. package/dist/client/react/WorkCard.js +7 -2
  116. package/dist/client/react/WorkCard.js.map +1 -1
  117. package/dist/client/react/WorkLane.d.ts.map +1 -1
  118. package/dist/client/react/WorkLane.js +1 -1
  119. package/dist/client/react/WorkLane.js.map +1 -1
  120. package/dist/client/react/WorkNow.js +1 -1
  121. package/dist/client/react/WorkNow.js.map +1 -1
  122. package/dist/client/react/activeRead.js +1 -1
  123. package/dist/client/react/activeRead.js.map +1 -1
  124. package/dist/client/react/destinationName.d.ts +2 -0
  125. package/dist/client/react/destinationName.d.ts.map +1 -0
  126. package/dist/client/react/destinationName.js +4 -0
  127. package/dist/client/react/destinationName.js.map +1 -0
  128. package/dist/client/react/loadBoardPage.d.ts.map +1 -1
  129. package/dist/client/react/loadBoardPage.js +2 -2
  130. package/dist/client/react/loadBoardPage.js.map +1 -1
  131. package/dist/client/react/loadProjection.d.ts +135 -135
  132. package/dist/client/react/loadProjection.d.ts.map +1 -1
  133. package/dist/client/react/loadProjection.js +2 -2
  134. package/dist/client/react/loadProjection.js.map +1 -1
  135. package/dist/client/react/loadRemaining.d.ts +184 -184
  136. package/dist/client/react/loadRemaining.d.ts.map +1 -1
  137. package/dist/client/react/loadRemaining.js +2 -2
  138. package/dist/client/react/loadRemaining.js.map +1 -1
  139. package/dist/client/react/pageQueries.js +1 -1
  140. package/dist/client/react/pageQueries.js.map +1 -1
  141. package/dist/client/react/resolvedDocumentFailure.d.ts.map +1 -0
  142. package/dist/client/react/resolvedDocumentFailure.js.map +1 -0
  143. package/dist/client/react/routeQuery.d.ts.map +1 -0
  144. package/dist/client/react/routeQuery.js.map +1 -0
  145. package/dist/client/react/useHandoffForm.js +1 -1
  146. package/dist/client/react/useHandoffForm.js.map +1 -1
  147. package/dist/client/react/useProjectionData.d.ts +1 -1
  148. package/dist/client/react/useProjectionData.js +1 -1
  149. package/dist/client/react/useProjectionData.js.map +1 -1
  150. package/dist/client/react/useResponseForm.d.ts.map +1 -1
  151. package/dist/client/react/useResponseForm.js +3 -3
  152. package/dist/client/react/useResponseForm.js.map +1 -1
  153. package/dist/client/responses/summary.d.ts +1 -0
  154. package/dist/client/responses/summary.d.ts.map +1 -1
  155. package/dist/client/responses/summary.js +12 -1
  156. package/dist/client/responses/summary.js.map +1 -1
  157. package/dist/diagnostics/source.js +1 -1
  158. package/dist/diagnostics/source.js.map +1 -1
  159. package/dist/rpc/contract.d.ts +1951 -1918
  160. package/dist/rpc/contract.d.ts.map +1 -1
  161. package/dist/server/Responses.js +2 -2
  162. package/dist/server/Responses.js.map +1 -1
  163. package/dist/server/attention/inbox.d.ts +13 -2
  164. package/dist/server/attention/inbox.d.ts.map +1 -1
  165. package/dist/server/attention/inbox.js +44 -27
  166. package/dist/server/attention/inbox.js.map +1 -1
  167. package/dist/server/attention/managedRequestReceipt.d.ts +10 -0
  168. package/dist/server/attention/managedRequestReceipt.d.ts.map +1 -1
  169. package/dist/server/attention/managedRequestReceipt.js +29 -10
  170. package/dist/server/attention/managedRequestReceipt.js.map +1 -1
  171. package/dist/server/attention/projection.d.ts.map +1 -1
  172. package/dist/server/attention/projection.js +2 -1
  173. package/dist/server/attention/projection.js.map +1 -1
  174. package/dist/server/attention/requestInbox.d.ts +3 -3
  175. package/dist/server/attention/requestInbox.js +2 -2
  176. package/dist/server/attention/requestInbox.js.map +1 -1
  177. package/dist/server/attention/requests.d.ts +1 -0
  178. package/dist/server/attention/requests.d.ts.map +1 -1
  179. package/dist/server/attention/requests.js +7 -3
  180. package/dist/server/attention/requests.js.map +1 -1
  181. package/dist/server/board.js +1 -1
  182. package/dist/server/board.js.map +1 -1
  183. package/dist/server/document/answerBody.d.ts.map +1 -1
  184. package/dist/server/document/answerBody.js +9 -1
  185. package/dist/server/document/answerBody.js.map +1 -1
  186. package/dist/server/document/reviewedWork.d.ts +3 -0
  187. package/dist/server/document/reviewedWork.d.ts.map +1 -0
  188. package/dist/server/document/reviewedWork.js +23 -0
  189. package/dist/server/document/reviewedWork.js.map +1 -0
  190. package/dist/server/files/changes.d.ts.map +1 -1
  191. package/dist/server/files/changes.js +1 -1
  192. package/dist/server/files/changes.js.map +1 -1
  193. package/dist/server/files/watchDirectories.d.ts +1 -1
  194. package/dist/server/files/watchDirectories.d.ts.map +1 -1
  195. package/dist/server/files/watchDirectories.js +71 -12
  196. package/dist/server/files/watchDirectories.js.map +1 -1
  197. package/dist/server/handoffs/Service.js +2 -2
  198. package/dist/server/handoffs/Service.js.map +1 -1
  199. package/dist/server/handoffs/source.js +1 -1
  200. package/dist/server/handoffs/source.js.map +1 -1
  201. package/dist/server/http/boardRoutes.js +1 -1
  202. package/dist/server/http/boardRoutes.js.map +1 -1
  203. package/dist/server/mcp/client.d.ts +11 -0
  204. package/dist/server/mcp/client.d.ts.map +1 -1
  205. package/dist/server/mcp/queries.d.ts +2851 -2818
  206. package/dist/server/mcp/queries.d.ts.map +1 -1
  207. package/dist/server/packageInfo.d.ts +1 -1
  208. package/dist/server/packageInfo.js +1 -1
  209. package/dist/server/render/Highlighter.js +1 -1
  210. package/dist/server/render/Highlighter.js.map +1 -1
  211. package/dist/server/responses/locate.js +1 -1
  212. package/dist/server/responses/locate.js.map +1 -1
  213. package/dist/server/rpc/handlers.js +2 -2
  214. package/dist/server/rpc/handlers.js.map +1 -1
  215. package/dist/server/serve.js +1 -1
  216. package/dist/server/serve.js.map +1 -1
  217. package/dist/server/views/projectionQueries.d.ts +11 -0
  218. package/dist/server/views/projectionQueries.d.ts.map +1 -1
  219. package/dist/server/workspace.js +1 -1
  220. package/dist/server/workspace.js.map +1 -1
  221. package/docs/delivery/README.md +2 -2
  222. package/package.json +18 -362
  223. package/src/browser/responses/cardContext.ts +13 -7
  224. package/src/browser/views/now.ts +42 -2
  225. package/src/browser/views/schema.ts +1 -0
  226. package/src/client/document/View.ts +1 -1
  227. package/src/client/formStatus.ts +3 -3
  228. package/src/client/react/AnswerContext.tsx +9 -4
  229. package/src/client/react/AnswerForm.tsx +25 -6
  230. package/src/client/react/AnswerMarkdown.tsx +15 -0
  231. package/src/client/react/AnswerMore.tsx +58 -46
  232. package/src/client/react/AnswerPanel.tsx +14 -8
  233. package/src/client/react/AnswerPrompts.tsx +33 -18
  234. package/src/client/react/BoardShell.tsx +2 -2
  235. package/src/client/react/DocumentMain.tsx +2 -2
  236. package/src/client/react/FleetMain.tsx +1 -1
  237. package/src/client/react/FormField.tsx +1 -1
  238. package/src/client/react/GoalPage.tsx +2 -2
  239. package/src/client/react/GoalProgressHeader.tsx +2 -2
  240. package/src/client/react/Header.tsx +3 -2
  241. package/src/client/react/LibraryContents.tsx +1 -1
  242. package/src/client/react/LibraryMain.tsx +1 -1
  243. package/src/client/react/LibraryPage.tsx +2 -2
  244. package/src/client/react/LiveControls.tsx +1 -1
  245. package/src/client/react/ProjectionMain.tsx +1 -1
  246. package/src/client/react/PromptOption.tsx +39 -24
  247. package/src/client/react/ReadingHistory.tsx +1 -1
  248. package/src/client/react/RemainingMain.tsx +1 -1
  249. package/src/client/react/ResponseHistory.tsx +53 -14
  250. package/src/client/react/SearchPalette.tsx +1 -1
  251. package/src/client/react/Sidebar.tsx +10 -2
  252. package/src/client/react/SystemFleetLane.tsx +2 -1
  253. package/src/client/react/SystemHealth.tsx +24 -4
  254. package/src/client/react/SystemMain.tsx +6 -2
  255. package/src/client/react/SystemPage.tsx +8 -2
  256. package/src/client/react/TodayNeeds.tsx +21 -6
  257. package/src/client/react/TodayOptionButton.tsx +35 -0
  258. package/src/client/react/TodayOptions.tsx +42 -33
  259. package/src/client/react/TodayPage.tsx +36 -7
  260. package/src/client/react/WorkCard.tsx +16 -8
  261. package/src/client/react/WorkLane.tsx +8 -2
  262. package/src/client/react/WorkNow.tsx +1 -1
  263. package/src/client/react/activeRead.ts +1 -1
  264. package/src/client/react/destinationName.ts +3 -0
  265. package/src/client/react/entry.css +0 -6
  266. package/src/client/react/loadBoardPage.ts +2 -2
  267. package/src/client/react/loadProjection.ts +2 -2
  268. package/src/client/react/loadRemaining.ts +2 -2
  269. package/src/client/react/pageQueries.ts +1 -1
  270. package/src/client/react/useHandoffForm.ts +1 -1
  271. package/src/client/react/useProjectionData.ts +1 -1
  272. package/src/client/react/useResponseForm.ts +5 -3
  273. package/src/client/responses/summary.ts +13 -1
  274. package/src/diagnostics/source.ts +1 -1
  275. package/src/server/Responses.ts +2 -2
  276. package/src/server/attention/inbox.ts +51 -27
  277. package/src/server/attention/managedRequestReceipt.ts +41 -10
  278. package/src/server/attention/projection.ts +5 -2
  279. package/src/server/attention/requestInbox.ts +2 -2
  280. package/src/server/attention/requests.ts +7 -2
  281. package/src/server/board.ts +1 -1
  282. package/src/server/document/answerBody.ts +10 -1
  283. package/src/server/document/reviewedWork.ts +24 -0
  284. package/src/server/files/changes.ts +1 -0
  285. package/src/server/files/watchDirectories.ts +90 -27
  286. package/src/server/handoffs/Service.ts +2 -2
  287. package/src/server/handoffs/source.ts +1 -1
  288. package/src/server/http/boardRoutes.ts +1 -1
  289. package/src/server/packageInfo.ts +1 -1
  290. package/src/server/render/Highlighter.ts +1 -1
  291. package/src/server/responses/locate.ts +1 -1
  292. package/src/server/rpc/handlers.ts +2 -2
  293. package/src/server/serve.ts +1 -1
  294. package/src/server/workspace.ts +1 -1
  295. package/dist/client/page/resolvedDocumentFailure.d.ts.map +0 -1
  296. package/dist/client/page/resolvedDocumentFailure.js.map +0 -1
  297. package/dist/client/page/routeQuery.d.ts.map +0 -1
  298. package/dist/client/page/routeQuery.js.map +0 -1
  299. /package/dist/client/{page → react}/resolvedDocumentFailure.d.ts +0 -0
  300. /package/dist/client/{page → react}/resolvedDocumentFailure.js +0 -0
  301. /package/dist/client/{page → react}/routeQuery.d.ts +0 -0
  302. /package/dist/client/{page → react}/routeQuery.js +0 -0
  303. /package/src/client/{page → react}/resolvedDocumentFailure.ts +0 -0
  304. /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 optionLabel(id: string, source: string, reason: string): string;
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,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UASrE"}
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 optionLabel(id, source, reason) {
12
- const heading = /^#{1,6}\s+(?<title>.+)$/mu.exec(source)?.groups?.title;
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
- if (id === "retry" && /reviewed pr is ready to merge/iu.test(reason)) {
17
- return "Request changes (retry)";
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":"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"}
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;AAkBD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAK7F;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"}
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.attentionOwner && fleet.attentionOwner !== "automation" ? fleet.attentionOwner : "Fleet";
64
+ return fleetHolder(fleet);
65
+ }
66
+ if (metadata.owner === "maintainer") {
67
+ return "Assigned to you";
47
68
  }
48
- return ["maintainer", "orchestrator"].includes(metadata.owner ?? "") ? metadata.owner : undefined;
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":"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"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS1B,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"}
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":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/browser/views/schema.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
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/save-state.ts";
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,uCAAuC,CAAC;AACvE,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,UAEvD"}
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 feedback, not acceptance.${dirty ? " Your current draft remains unsaved." : ""}`;
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;IACvD,OAAO,oBAAoB,EAAE,8CAA8C,KAAK,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAClI,CAAC"}
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":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;CAAE,+BAwB/E"}
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 { ResponseMarkdown } from "./ResponseMarkdown.js";
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) && (_jsx("div", { className: "answer-recommendation", children: _jsx(ResponseMarkdown, { 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) => (_jsx("a", { className: `answer-link ${link.primary ? "bg-primary text-primary-foreground" : "border border-border"} inline-flex items-center rounded-md px-4 py-2 font-medium`, href: link.url, children: link.label }, link.url))) }))] }));
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,gBAAgB,EAAE,MAAM,uBAAwB,CAAC;AAE1D,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,cAAK,SAAS,EAAC,uBAAuB,YACrC,KAAC,gBAAgB,IAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,cAAc,GAAI,GACrE,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,YACC,SAAS,EAAE,eAAe,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,sBAAsB,4DAA4D,EAClK,IAAI,EAAE,IAAI,CAAC,GAAG,YAGb,IAAI,CAAC,KAAK,IAFN,IAAI,CAAC,GAAG,CAGV,CACJ,CAAC,GACG,CACN,IACC,CACH,CAAC;AACH,CAAC"}
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":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAQpE,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
+ {"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("button", { disabled: !data.writable || state.created.saving, id: id(shellIds.responseSubmit), type: "submit", children: "Record" }), _jsx(AnswerMore, { body: prompts.length > 0 ? body : undefined, id: id, request: request, state: state }), _jsx("p", { "data-outcome": state.outcome, id: id(shellIds.responseStatus), role: "status", children: data.writable ? writableStatus : `${state.status} Read-only. Restart with --responses to enable answers.`.trim() })] }));
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":"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"}
1
+ {"version":3,"file":"AnswerForm.js","sourceRoot":"","sources":["../../../src/client/react/AnswerForm.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function AnswerMarkdown({ className, file, source }: {
2
+ readonly className?: string;
3
+ readonly file: string;
4
+ readonly source: string;
5
+ }): import("react").JSX.Element;
6
+ //# sourceMappingURL=AnswerMarkdown.d.ts.map
@@ -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;AAGnE,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,+BAkDA"}
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/." }), _jsx("button", { disabled: typeof window === "undefined" || state.created.saving, id: id(shellIds.responsePreview), onClick: state.showPreview, type: "button", children: "Preview Markdown" }), _jsx("pre", { hidden: !state.preview, id: id(shellIds.responsePreviewContent), children: state.preview }), _jsx("button", { disabled: typeof window === "undefined" || state.created.saving, id: id(shellIds.responseClear), onClick: state.clear, type: "button", children: "Clear draft" })] }));
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,+BAAkB,kBAAkB,aACnC,qCAAuB,EACvB,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,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,YAClE,KAAK,CAAC,QAAQ,GACV,EACN,4KAGI,EACJ,iBACC,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,QAAQ,iCAGL,EACT,cAAK,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,YAClE,KAAK,CAAC,OAAO,GACT,EACN,iBAAQ,QAAQ,EAAE,OAAO,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAC,QAAQ,4BAEnI,IACA,CACV,CAAC;AACH,CAAC"}
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":"AAAA,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
+ {"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 rounded-lg border border-border bg-card p-4", id: `answer-card-${request.id}`, tabIndex: -1, children: [_jsx("h2", { id: `answer-title-${request.id}`, children: cardTitle(request, closed) }), !(request.open || unavailable) && (_jsx("p", { role: "status", children: closed ? "This question is closed. Recorded answers remain below." : "Answer unavailable. Check the source diagnostics." })), Boolean(unavailable) && _jsx("p", { role: "status", children: unavailable }), request.open && preview !== undefined && (_jsxs(_Fragment, { children: [_jsx(AnswerContext, { preview: preview }), _jsx("div", { className: "answer-reason", children: _jsx(ResponseMarkdown, { file: source.file, source: reasonMarkdown(preview.reason) }) })] })), 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
+ 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":"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"}
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;AAC5D,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"}
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
- let guidance = "Answer in your own words.";
19
- if (choices) {
20
- guidance = "Choose an option or write another answer.";
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: Question ${index + 1} · ${prompt.id}. Choose an option or answer in your own words.`;
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 (_jsxs("fieldset", { "data-mode": prompt.mode, "data-prompt": prompt.id, "data-source": prompt.source, children: [_jsx("legend", { children: choices ? "Your answer" : `Question ${index + 1} · ${prompt.id}` }), choices === undefined && _jsx(ResponseMarkdown, { file: document.file, source: prompt.source }), _jsxs("p", { children: [guidance, " Nothing is selected for you."] }), _jsx("div", { className: choices ? "question-choices" : undefined, 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", { "data-clear-choices": true, onClick: () => change({ ...answer, selected: [] }), type: "button", children: "Clear selections" })), _jsxs("label", { children: [choices ? "Another answer / additional text" : "Additional text / another answer", _jsx("textarea", { "aria-describedby": `${errorId}-error`, "aria-invalid": Boolean(error), "data-answer-text": true, maxLength: 8192, onInput: (event) => change({ ...answer, text: event.currentTarget.value }), ref: ref, rows: choices ? 4 : 3, value: answer.text }), _jsx("span", { className: "response-field-error", hidden: !error, id: `${errorId}-error`, children: message })] })] }));
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