@shivaedev/work-board 0.9.1 → 0.11.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 (186) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +49 -1
  3. package/assets/native.js +35 -29
  4. package/dist/board.d.ts.map +1 -1
  5. package/dist/board.js +20 -1
  6. package/dist/board.js.map +1 -1
  7. package/dist/browser/client.d.ts +2 -0
  8. package/dist/browser/client.d.ts.map +1 -1
  9. package/dist/browser/client.js +2 -1
  10. package/dist/browser/client.js.map +1 -1
  11. package/dist/browser/entry.d.ts.map +1 -1
  12. package/dist/browser/entry.js +2 -0
  13. package/dist/browser/entry.js.map +1 -1
  14. package/dist/browser/handoffs/copy.d.ts +3 -0
  15. package/dist/browser/handoffs/copy.d.ts.map +1 -0
  16. package/dist/browser/handoffs/copy.js +47 -0
  17. package/dist/browser/handoffs/copy.js.map +1 -0
  18. package/dist/browser/handoffs/fields.d.ts +11 -0
  19. package/dist/browser/handoffs/fields.d.ts.map +1 -0
  20. package/dist/browser/handoffs/fields.js +45 -0
  21. package/dist/browser/handoffs/fields.js.map +1 -0
  22. package/dist/browser/handoffs/schema.d.ts +89 -0
  23. package/dist/browser/handoffs/schema.d.ts.map +1 -0
  24. package/dist/browser/handoffs/schema.js +38 -0
  25. package/dist/browser/handoffs/schema.js.map +1 -0
  26. package/dist/browser/handoffs/setup.d.ts +2 -0
  27. package/dist/browser/handoffs/setup.d.ts.map +1 -0
  28. package/dist/browser/handoffs/setup.js +108 -0
  29. package/dist/browser/handoffs/setup.js.map +1 -0
  30. package/dist/browser/responses/draftSession.d.ts +1 -1
  31. package/dist/browser/responses/draftSession.d.ts.map +1 -1
  32. package/dist/browser/responses/draftSession.js +4 -4
  33. package/dist/browser/responses/draftSession.js.map +1 -1
  34. package/dist/browser/responses/preview.js.map +1 -1
  35. package/dist/cli.js.map +1 -1
  36. package/dist/files/list.d.ts.map +1 -1
  37. package/dist/handoffs/html.d.ts +37 -0
  38. package/dist/handoffs/html.d.ts.map +1 -0
  39. package/dist/handoffs/html.js +31 -0
  40. package/dist/handoffs/html.js.map +1 -0
  41. package/dist/handoffs/page.d.ts +7 -0
  42. package/dist/handoffs/page.d.ts.map +1 -0
  43. package/dist/handoffs/page.js +31 -0
  44. package/dist/handoffs/page.js.map +1 -0
  45. package/dist/handoffs/records.d.ts +7 -0
  46. package/dist/handoffs/records.d.ts.map +1 -0
  47. package/dist/handoffs/records.js +30 -0
  48. package/dist/handoffs/records.js.map +1 -0
  49. package/dist/handoffs/service.d.ts +55 -0
  50. package/dist/handoffs/service.d.ts.map +1 -0
  51. package/dist/handoffs/service.js +82 -0
  52. package/dist/handoffs/service.js.map +1 -0
  53. package/dist/handoffs/source.d.ts +11 -0
  54. package/dist/handoffs/source.d.ts.map +1 -0
  55. package/dist/handoffs/source.js +31 -0
  56. package/dist/handoffs/source.js.map +1 -0
  57. package/dist/http/assets.d.ts.map +1 -1
  58. package/dist/http/assets.js.map +1 -1
  59. package/dist/http/events.d.ts.map +1 -1
  60. package/dist/http/loopback.d.ts.map +1 -1
  61. package/dist/http/page.d.ts.map +1 -1
  62. package/dist/http/respond.d.ts.map +1 -1
  63. package/dist/metadata/backlinks.d.ts.map +1 -1
  64. package/dist/metadata/backlinks.js +1 -0
  65. package/dist/metadata/backlinks.js.map +1 -1
  66. package/dist/metadata/fields.d.ts +14 -1
  67. package/dist/metadata/fields.d.ts.map +1 -1
  68. package/dist/metadata/model.js.map +1 -1
  69. package/dist/metadata/problems.d.ts.map +1 -1
  70. package/dist/metadata/problems.js +1 -0
  71. package/dist/metadata/problems.js.map +1 -1
  72. package/dist/metadata/schema.d.ts +18 -1
  73. package/dist/metadata/schema.d.ts.map +1 -1
  74. package/dist/metadata/schema.js +3 -1
  75. package/dist/metadata/schema.js.map +1 -1
  76. package/dist/page/escape.d.ts.map +1 -1
  77. package/dist/page/metadata.d.ts.map +1 -1
  78. package/dist/page/metadata.js +12 -4
  79. package/dist/page/metadata.js.map +1 -1
  80. package/dist/page/metadataDetails.d.ts.map +1 -1
  81. package/dist/page/metadataDetails.js +3 -0
  82. package/dist/page/metadataDetails.js.map +1 -1
  83. package/dist/page/nav.d.ts.map +1 -1
  84. package/dist/page/navigationScript.js +1 -1
  85. package/dist/page/shell.d.ts +1 -1
  86. package/dist/page/shell.d.ts.map +1 -1
  87. package/dist/page/shell.js.map +1 -1
  88. package/dist/page/startTemplates.d.ts +109 -3
  89. package/dist/page/startTemplates.d.ts.map +1 -1
  90. package/dist/page/startTemplates.js +20 -0
  91. package/dist/page/startTemplates.js.map +1 -1
  92. package/dist/page/style.d.ts.map +1 -1
  93. package/dist/page/style.js +6 -5
  94. package/dist/page/style.js.map +1 -1
  95. package/dist/page/swap.d.ts +1 -1
  96. package/dist/page/swap.d.ts.map +1 -1
  97. package/dist/page/swap.js +2 -2
  98. package/dist/page/updated.d.ts.map +1 -1
  99. package/dist/render/board.d.ts.map +1 -1
  100. package/dist/render/callouts.d.ts.map +1 -1
  101. package/dist/render/code.d.ts.map +1 -1
  102. package/dist/render/documentHeadings.d.ts.map +1 -1
  103. package/dist/render/documentLinks.d.ts.map +1 -1
  104. package/dist/render/footnotes.d.ts.map +1 -1
  105. package/dist/render/highlighter.d.ts.map +1 -1
  106. package/dist/render/highlighter.js.map +1 -1
  107. package/dist/render/markdown.js.map +1 -1
  108. package/dist/render/questionnaireDocuments.d.ts.map +1 -1
  109. package/dist/render/visualDocuments.d.ts.map +1 -1
  110. package/dist/responses/agent.d.ts +8 -8
  111. package/dist/responses/agent.js.map +1 -1
  112. package/dist/responses/flags.d.ts.map +1 -1
  113. package/dist/responses/outcome.d.ts.map +1 -1
  114. package/dist/responses/publish.d.ts +1 -1
  115. package/dist/responses/publish.d.ts.map +1 -1
  116. package/dist/responses/publish.js +7 -7
  117. package/dist/responses/publish.js.map +1 -1
  118. package/dist/responses/publishIn.d.ts +1 -1
  119. package/dist/responses/publishIn.d.ts.map +1 -1
  120. package/dist/responses/publishIn.js +3 -3
  121. package/dist/responses/publishIn.js.map +1 -1
  122. package/dist/responses/waitFor.d.ts.map +1 -1
  123. package/dist/results/criteria.d.ts +3 -0
  124. package/dist/results/criteria.d.ts.map +1 -0
  125. package/dist/results/criteria.js +34 -0
  126. package/dist/results/criteria.js.map +1 -0
  127. package/dist/results/feedback.d.ts +7 -0
  128. package/dist/results/feedback.d.ts.map +1 -0
  129. package/dist/results/feedback.js +32 -0
  130. package/dist/results/feedback.js.map +1 -0
  131. package/dist/results/page.d.ts +7 -0
  132. package/dist/results/page.d.ts.map +1 -0
  133. package/dist/results/page.js +40 -0
  134. package/dist/results/page.js.map +1 -0
  135. package/dist/rpc/contract.d.ts +67 -1
  136. package/dist/rpc/contract.d.ts.map +1 -1
  137. package/dist/rpc/contract.js +3 -2
  138. package/dist/rpc/contract.js.map +1 -1
  139. package/dist/rpc/handoffContract.d.ts +142 -0
  140. package/dist/rpc/handoffContract.d.ts.map +1 -0
  141. package/dist/rpc/handoffContract.js +26 -0
  142. package/dist/rpc/handoffContract.js.map +1 -0
  143. package/dist/rpc/server.d.ts +2 -0
  144. package/dist/rpc/server.d.ts.map +1 -1
  145. package/dist/rpc/server.js +4 -1
  146. package/dist/rpc/server.js.map +1 -1
  147. package/dist/search/collector.d.ts.map +1 -1
  148. package/dist/search/entries.js.map +1 -1
  149. package/dist/search/linkCollector.d.ts.map +1 -1
  150. package/dist/serve-cli.js +2 -2
  151. package/dist/serve-cli.js.map +1 -1
  152. package/dist/serve.d.ts.map +1 -1
  153. package/dist/views/state.js.map +1 -1
  154. package/package.json +3 -3
  155. package/src/board.ts +20 -1
  156. package/src/browser/client.ts +3 -1
  157. package/src/browser/entry.ts +2 -0
  158. package/src/browser/handoffs/copy.ts +45 -0
  159. package/src/browser/handoffs/fields.ts +50 -0
  160. package/src/browser/handoffs/schema.ts +44 -0
  161. package/src/browser/handoffs/setup.ts +113 -0
  162. package/src/browser/responses/draftSession.ts +11 -4
  163. package/src/handoffs/html.ts +42 -0
  164. package/src/handoffs/page.ts +45 -0
  165. package/src/handoffs/records.ts +34 -0
  166. package/src/handoffs/service.ts +103 -0
  167. package/src/handoffs/source.ts +35 -0
  168. package/src/metadata/backlinks.ts +1 -0
  169. package/src/metadata/problems.ts +1 -0
  170. package/src/metadata/schema.ts +3 -1
  171. package/src/page/metadata.ts +14 -4
  172. package/src/page/metadataDetails.ts +3 -0
  173. package/src/page/navigationScript.ts +1 -1
  174. package/src/page/shell.ts +1 -1
  175. package/src/page/startTemplates.ts +20 -0
  176. package/src/page/style.ts +6 -5
  177. package/src/page/swap.ts +2 -2
  178. package/src/responses/publish.ts +7 -7
  179. package/src/responses/publishIn.ts +10 -3
  180. package/src/results/criteria.ts +37 -0
  181. package/src/results/feedback.ts +44 -0
  182. package/src/results/page.ts +58 -0
  183. package/src/rpc/contract.ts +5 -2
  184. package/src/rpc/handoffContract.ts +26 -0
  185. package/src/rpc/server.ts +6 -1
  186. package/src/serve-cli.ts +2 -2
@@ -6,14 +6,6 @@ export interface AgentOptions {
6
6
  readonly url: string;
7
7
  }
8
8
  export declare function agentRequest(action: "question" | "response" | "wait", options: AgentOptions, diagnostic?: (text: string) => void): Effect.Effect<{
9
- readonly context: string;
10
- readonly id: string;
11
- readonly item: string;
12
- readonly reason: string;
13
- readonly request: string;
14
- readonly reviewedRevision: string;
15
- readonly source: string;
16
- } | {
17
9
  readonly question: {
18
10
  readonly context: string;
19
11
  readonly id: string;
@@ -44,6 +36,14 @@ export declare function agentRequest(action: "question" | "response" | "wait", o
44
36
  readonly type: "answer" | "clarify" | "not_now";
45
37
  };
46
38
  }[];
39
+ } | {
40
+ readonly context: string;
41
+ readonly id: string;
42
+ readonly item: string;
43
+ readonly reason: string;
44
+ readonly request: string;
45
+ readonly reviewedRevision: string;
46
+ readonly source: string;
47
47
  } | {
48
48
  readonly kind: "response";
49
49
  readonly question: {
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/responses/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/responses/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sCAAsC,CAAC;AACvE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,gBAAgB,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAQ/C,SAAS,QAAQ,CAAC,GAAW;IAC5B,OAAO,SAAS,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,aAAa,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACpJ,CAAC;AACD,SAAS,QAAQ,CAAC,GAAW;IAC5B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,IACC,MAAM,CAAC,QAAQ,KAAK,OAAO;WACxB,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;WAC9D,MAAM,CAAC,QAAQ;WACf,MAAM,CAAC,QAAQ;WACf,MAAM,CAAC,QAAQ,KAAK,GAAG;WACvB,MAAM,CAAC,MAAM;WACb,MAAM,CAAC,IAAI,EACb,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACtB,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,MAAwC,EAAE,OAAqB,EAAE,UAAU,GAA2B,GAAG,EAAE,CAAC,SAAS;IACjJ,OAAO,MAAM,CAAC,MAAM,CACnB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;YACxE,CAAC;YACD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QACzB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC1E,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC,CAAC;YACpI,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,6BAA6B,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7G,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACjB,UAAU,CAAC,cAAc,EAAE,mCAAmC,EAAE,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACtI,CAAC;QACD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7H,CAAC,CAAC,CACF,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../src/responses/flags.ts"],"names":[],"mappings":"AAAA,wBAAgB,KAAK,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE;;;;EAqB5C"}
1
+ {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../src/responses/flags.ts"],"names":[],"mappings":"AAAA,wBAAgB,KAAK,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE;IAoBnC,KAAK;IAAyB,QAAQ;IAA4B,GAAG;EAC9E"}
@@ -1 +1 @@
1
- {"version":3,"file":"outcome.d.ts","sourceRoot":"","sources":["../../src/responses/outcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAE5D,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY/E"}
1
+ {"version":3,"file":"outcome.d.ts","sourceRoot":"","sources":["../../src/responses/outcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAE5D,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM;mBAG/D,gBAAgB;;;;mBAIhB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAGd,YAAY;;;;;;;;;;;;;;;;mBACZ,SAAS;;;;;;;;;;;;;;EACrB"}
@@ -1,4 +1,4 @@
1
1
  import { Effect } from "effect";
2
2
  import { ResponseFailed } from "#browser/responses/schema.ts";
3
- export declare function publish(root: string, realRoot: string, id: string, content: string): Effect.Effect<void, ResponseFailed, never>;
3
+ export declare function publish(root: string, realRoot: string, id: string, content: string, namespace?: "responses" | "handoffs"): Effect.Effect<void, ResponseFailed, never>;
4
4
  //# sourceMappingURL=publish.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/responses/publish.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAW9D,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,8CAsClF"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/responses/publish.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAW9D,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,WAAW,GAAG,UAAwB,8CAsCrI"}
@@ -8,20 +8,20 @@ function failure(cause) {
8
8
  ? cause
9
9
  : new ResponseFailed({
10
10
  code: "Unavailable",
11
- message: "The response could not be recorded. Keep the draft and retry after checking local filesystem access.",
11
+ message: "The local record could not be recorded. Keep the draft and retry after checking local filesystem access.",
12
12
  });
13
13
  }
14
- export function publish(root, realRoot, id, content) {
14
+ export function publish(root, realRoot, id, content, namespace = "responses") {
15
15
  return Effect.tryPromise({
16
16
  catch: failure,
17
17
  try: async () => {
18
18
  if (/^[a-zA-Z\d][a-zA-Z\d._-]*$/u.exec(id) === null) {
19
- throw new ResponseFailed({ code: "Conflict", message: "Invalid response identity." });
19
+ throw new ResponseFailed({ code: "Conflict", message: "Invalid record identity." });
20
20
  }
21
21
  if (process.platform !== "linux") {
22
22
  throw new ResponseFailed({
23
23
  code: "Unsupported",
24
- message: "Safe response publication currently requires Linux directory descriptors. Reading remains available.",
24
+ message: "Local record publication currently requires Linux directory descriptors. Reading remains available.",
25
25
  });
26
26
  }
27
27
  const directory = await open(root, constants.O_RDONLY | constants.O_DIRECTORY | constants.O_NOFOLLOW);
@@ -31,7 +31,7 @@ export function publish(root, realRoot, id, content) {
31
31
  throw new ResponseFailed({ code: "Conflict", message: "The workspace root changed. Restart against the intended root." });
32
32
  }
33
33
  try {
34
- await mkdir(`${base}/responses`);
34
+ await mkdir(`${base}/${namespace}`);
35
35
  }
36
36
  catch (cause) {
37
37
  if (!(cause instanceof Error && "code" in cause && cause.code === "EEXIST")) {
@@ -39,9 +39,9 @@ export function publish(root, realRoot, id, content) {
39
39
  }
40
40
  }
41
41
  await directory.sync();
42
- const target = await open(`${base}/responses`, constants.O_RDONLY | constants.O_DIRECTORY | constants.O_NOFOLLOW);
42
+ const target = await open(`${base}/${namespace}`, constants.O_RDONLY | constants.O_DIRECTORY | constants.O_NOFOLLOW);
43
43
  try {
44
- await publishIn(target, root, realRoot, id, content);
44
+ await publishIn(target, root, realRoot, id, content, namespace);
45
45
  }
46
46
  finally {
47
47
  await target.close();
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/responses/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,SAAS,OAAO,CAAC,KAAc;IAC9B,OAAO,KAAK,YAAY,cAAc;QACrC,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,cAAc,CAAC;YACnB,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,sGAAsG;SAC/G,CAAC,CAAC;AACN,CAAC;AACD,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAU,EAAE,OAAe;IAClF,OAAO,MAAM,CAAC,UAAU,CAAC;QACxB,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,KAAK,IAAI,EAAE;YACf,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;gBACrD,MAAM,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;YACvF,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAClC,MAAM,IAAI,cAAc,CAAC;oBACxB,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,sGAAsG;iBAC/G,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;YACtG,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,iBAAiB,SAAS,CAAC,EAAE,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAChF,MAAM,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,gEAAgE,EAAE,CAAC,CAAC;gBAC3H,CAAC;gBACD,IAAI,CAAC;oBACJ,MAAM,KAAK,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;wBAC7E,MAAM,KAAK,CAAC;oBACb,CAAC;gBACF,CAAC;gBACD,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,YAAY,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;gBAClH,IAAI,CAAC;oBACJ,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;gBACtD,CAAC;wBAAS,CAAC;oBACV,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACtB,CAAC;YACF,CAAC;oBAAS,CAAC;gBACV,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;QACF,CAAC;KACD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/responses/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,SAAS,OAAO,CAAC,KAAc;IAC9B,OAAO,KAAK,YAAY,cAAc;QACrC,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,cAAc,CAAC;YACnB,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,0GAA0G;SACnH,CAAC,CAAC;AACN,CAAC;AACD,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAU,EAAE,OAAe,EAAE,SAAS,GAA6B,WAAW;IACrI,OAAO,MAAM,CAAC,UAAU,CAAC;QACxB,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,KAAK,IAAI,EAAE;YACf,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;gBACrD,MAAM,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAClC,MAAM,IAAI,cAAc,CAAC;oBACxB,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,qGAAqG;iBAC9G,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;YACtG,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,iBAAiB,SAAS,CAAC,EAAE,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAChF,MAAM,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,gEAAgE,EAAE,CAAC,CAAC;gBAC3H,CAAC;gBACD,IAAI,CAAC;oBACJ,MAAM,KAAK,CAAC,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC;gBACrC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;wBAC7E,MAAM,KAAK,CAAC;oBACb,CAAC;gBACF,CAAC;gBACD,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,IAAI,SAAS,EAAE,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;gBACrH,IAAI,CAAC;oBACJ,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;gBACjE,CAAC;wBAAS,CAAC;oBACV,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACtB,CAAC;YACF,CAAC;oBAAS,CAAC;gBACV,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;QACF,CAAC;KACD,CAAC,CAAC;AACJ,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { type FileHandle } from "node:fs/promises";
2
- export declare function publishIn(target: FileHandle, root: string, realRoot: string, id: string, content: string): Promise<void>;
2
+ export declare function publishIn(target: FileHandle, root: string, realRoot: string, id: string, content: string, namespace?: "responses" | "handoffs"): Promise<void>;
3
3
  //# sourceMappingURL=publishIn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"publishIn.d.ts","sourceRoot":"","sources":["../../src/responses/publishIn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAA0C,MAAM,kBAAkB,CAAC;AA4B3F,wBAAsB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAiC9G"}
1
+ {"version":3,"file":"publishIn.d.ts","sourceRoot":"","sources":["../../src/responses/publishIn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAA0C,MAAM,kBAAkB,CAAC;AA4B3F,wBAAsB,SAAS,CAC9B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,WAAW,GAAG,UAAwB,iBAkCjD"}
@@ -3,7 +3,7 @@ import { constants } from "node:fs";
3
3
  import { link, open, readFile, realpath, unlink } from "node:fs/promises";
4
4
  import { ResponseFailed } from "#browser/responses/schema.ts";
5
5
  function uncertain(cause) {
6
- return new ResponseFailed({ cause, code: "Uncertain", message: "Publication may have completed. Re-read the response identity before retrying." });
6
+ return new ResponseFailed({ cause, code: "Uncertain", message: "Publication may have completed. Re-read the record identity before retrying." });
7
7
  }
8
8
  function exists(cause) {
9
9
  return cause instanceof Error && "code" in cause && cause.code === "EEXIST";
@@ -29,9 +29,9 @@ async function linkOrReconcile(temporary, name, content) {
29
29
  }
30
30
  return false;
31
31
  }
32
- export async function publishIn(target, root, realRoot, id, content) {
32
+ export async function publishIn(target, root, realRoot, id, content, namespace = "responses") {
33
33
  const folder = `/proc/self/fd/${target.fd}`;
34
- const expected = `${realRoot}/responses`;
34
+ const expected = `${realRoot}/${namespace}`;
35
35
  async function validate() {
36
36
  if ((await realpath(folder)) !== expected || (await realpath(root)) !== realRoot) {
37
37
  throw new ResponseFailed({ code: "Conflict", message: "The write boundary changed." });
@@ -1 +1 @@
1
- {"version":3,"file":"publishIn.js","sourceRoot":"","sources":["../../src/responses/publishIn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publishIn.js","sourceRoot":"","sources":["../../src/responses/publishIn.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"waitFor.d.ts","sourceRoot":"","sources":["../../src/responses/waitFor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAsBhF,eAAO,MAAM,eAAe,eACf,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,GAAG,cAAc,CAAC,qBACpD,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA8BjC,CAAC"}
1
+ {"version":3,"file":"waitFor.d.ts","sourceRoot":"","sources":["../../src/responses/waitFor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAsBhF,eAAO,MAAM,eAAe,eACf,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,GAAG,cAAc,CAAC,qBACpD,MAAM,KAAK,IAAI;mBApBH,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAkDxC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { MetadataDocument, MetadataModel } from "#metadata/model.ts";
2
+ export declare function resultCriteria(result: MetadataDocument, model: MetadataModel): string;
3
+ //# sourceMappingURL=criteria.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../src/results/criteria.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA4B1E,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,CAOrF"}
@@ -0,0 +1,34 @@
1
+ import { referenceTarget } from "#metadata/links.ts";
2
+ import { escapeHtml } from "#page/escape.ts";
3
+ import { referenceHtml, sourceHtml, valueHtml } from "#page/metadataLinks.ts";
4
+ function criterionRow(reference, text, result, model) {
5
+ if (!referenceTarget(reference, model)) {
6
+ return `<li>${escapeHtml(text)} — criterion identity is ambiguous; evidence association unavailable.</li>`;
7
+ }
8
+ const claims = result.parsed.fields.evidence?.filter((claim) => claim.criterion === reference) ?? [];
9
+ const evidence = claims.length > 0
10
+ ? `<p>${claims.length} recorded claim(s) in this result; not verified acceptance.</p><ul>${claims.map((claim) => `<li>${sourceHtml(claim.source, result.file, model)}<dl><dt>Checked Git revision (reported)</dt><dd>${valueHtml(claim.checkedRevision)}</dd><dt>Method</dt><dd>${valueHtml(claim.method)}</dd><dt>Outcome (reported)</dt><dd>${valueHtml(claim.outcome)}</dd><dt>Observed time</dt><dd>${valueHtml(claim.observedAt)}</dd></dl></li>`).join("")}</ul>`
11
+ : "<p>No recorded evidence in this result naming this criterion. Acceptance is not established.</p>";
12
+ return `<li>${referenceHtml(text, reference, model)}${evidence}</li>`;
13
+ }
14
+ function targetRow(target, result, model) {
15
+ const [id, criterion] = target.split("#");
16
+ const document = model.ids.get(id ?? "")?.[0];
17
+ if (!(document && referenceTarget(target, model))) {
18
+ return `<li>${referenceHtml(target, target, model)} — criteria unavailable.</li>`;
19
+ }
20
+ const criteria = (document.parsed.fields.criteria ?? []).filter((item) => !criterion || item.id === criterion);
21
+ const rows = criteria.length > 0
22
+ ? `<ul>${criteria.map((item) => criterionRow(`${id}#${item.id}`, item.text, result, model)).join("")}</ul>`
23
+ : "<p>No criteria declared in this source.</p>";
24
+ return `<li>${referenceHtml(target, target, model)} · source status: ${valueHtml(document.parsed.fields.status)}${rows}</li>`;
25
+ }
26
+ export function resultCriteria(result, model) {
27
+ const targets = new Set(result.parsed.fields.relationships?.map((link) => link.target));
28
+ if (result.parsed.fields.id) {
29
+ targets.add(result.parsed.fields.id);
30
+ }
31
+ const rows = [...targets].map((target) => targetRow(target, result, model));
32
+ return `<section id="result-criteria"><h2>Criteria and this result’s claims</h2><p>Only explicit relationships and criterion references are associated. Missing provenance stays missing. Git revisions are authored records; Work Board does not compare them with the current checkout. Evidence freshness is unknown.</p>${rows.length > 0 ? `<ul>${rows.join("")}</ul>` : "<p>No explicitly linked work or criteria.</p>"}<p>${escapeHtml(result.file)} does not change the linked work’s status.</p></section>`;
33
+ }
34
+ //# sourceMappingURL=criteria.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"criteria.js","sourceRoot":"","sources":["../../src/results/criteria.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Effect } from "effect";
2
+ import type { MetadataDocument } from "#metadata/model.ts";
3
+ import type { RenderFailed } from "#render/failed.ts";
4
+ import type { Highlighter } from "#render/highlighter.ts";
5
+ import type { Snapshot } from "#search/snapshot.ts";
6
+ export declare const resultFeedback: (result: MetadataDocument, data: Snapshot) => Effect.Effect<string, RenderFailed, Highlighter>;
7
+ //# sourceMappingURL=feedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/results/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAI1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,eAAO,MAAM,cAAc,gGAgCzB,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { Effect } from "effect";
2
+ import { fileUrl } from "#files/url.ts";
3
+ import { escapeHtml } from "#page/escape.ts";
4
+ import { renderMarkdown } from "#render/markdown.ts";
5
+ import { readResponses } from "#responses/read.ts";
6
+ import { malformedResponse, questionFrom, revisionOf } from "#responses/records.ts";
7
+ export const resultFeedback = Effect.fn("WorkBoard.resultFeedback")(function* (result, data) {
8
+ const unknown = data.unavailable.length > 0
9
+ || data.documents.some((document) => malformedResponse(document) || (document.parsed.fields.kind === "question" && !questionFrom(document)));
10
+ const questions = data.documents.flatMap((document) => {
11
+ const question = questionFrom(document);
12
+ return question && question.question.item === result.parsed.fields.id ? [question] : [];
13
+ });
14
+ const read = readResponses(Effect.succeed(data));
15
+ const readings = yield* Effect.forEach(questions, (question) => Effect.result(read(question.id)));
16
+ if (unknown || readings.some((reading) => reading._tag === "Failure")) {
17
+ return '<section id="result-feedback"><h2>Recorded human feedback</h2><p role="status">Response history is unknown or ambiguous. Unreadable records do not establish that no feedback exists. Read the source files before relying on it.</p></section>';
18
+ }
19
+ const current = revisionOf((result.parsed.raw ?? "") + result.parsed.body);
20
+ const records = readings.flatMap((reading) => reading._tag === "Success" ? reading.success.responses.map((response) => ({ question: reading.success.question, response })) : []);
21
+ records.sort((a, b) => b.response.response.recordedAt - a.response.response.recordedAt || a.response.id.localeCompare(b.response.id));
22
+ const bodies = yield* Effect.forEach(records, ({ question, response }) => Effect.gen(function* () {
23
+ const matching = question.question.reviewedRevision === current && question.question.source === result.file;
24
+ const responseFile = data.model.ids.get(response.id)?.[0]?.file ?? `responses/${response.id}.md`;
25
+ const questionFile = data.model.ids.get(question.id)?.[0]?.file ?? `responses/${question.id}.md`;
26
+ const body = yield* renderMarkdown(response.body, { file: responseFile, safe: true });
27
+ const selected = response.response.answers?.map((answer) => `${answer.prompt}: ${answer.selected.join(", ") || "text only"}`).join("; ");
28
+ return `<article id="${escapeHtml(response.id)}"><h3>${escapeHtml(response.response.author)} · ${escapeHtml(response.response.type)}</h3><p><b>${matching ? "Feedback on this exact result revision" : "Earlier or moved result context — does not apply automatically to this revision"}</b></p><p>Reviewed source: ${escapeHtml(question.question.source)} · SHA-256 <code>${question.question.reviewedRevision}</code></p>${selected ? `<p>Recorded option IDs: ${escapeHtml(selected)}. Labels and reasoning are recorded below.</p>` : ""}${response.response.supersedes ? `<p>Explicitly supersedes <a href="${fileUrl(data.model.ids.get(response.response.supersedes)?.[0]?.file ?? `responses/${response.response.supersedes}.md`)}">${escapeHtml(response.response.supersedes)}</a>.</p>` : ""}${body}<p><a href="${fileUrl(responseFile)}">Response source</a> · <a href="${fileUrl(questionFile)}">Registered reviewed context</a></p><details><summary>Exact reviewed result source</summary><pre>${escapeHtml(question.context)}</pre></details></article>`;
29
+ }));
30
+ return `<section id="result-feedback"><h2>Recorded human feedback</h2><p>Human direction is pinned to its reviewed report. Option IDs and authored acceptance text are not a computed verified-acceptance state. Completing a run or receiving feedback does not change work status.</p>${bodies.join("") || "<p>No readable response is recorded for this result.</p>"}</section>`;
31
+ });
32
+ //# sourceMappingURL=feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/results/feedback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Effect, type FileSystem, type Path, type PlatformError } from "effect";
2
+ import type { HttpServerRequest, HttpServerResponse } from "effect/unstable/http";
3
+ import type { Changes } from "#files/changes.ts";
4
+ import type { Highlighter } from "#render/highlighter.ts";
5
+ import type { Snapshot } from "#search/snapshot.ts";
6
+ export declare function resultPage(index: Effect.Effect<Snapshot, unknown, FileSystem.FileSystem | Path.Path>, changes: Changes, home: string | undefined): (request: HttpServerRequest.HttpServerRequest) => Effect.Effect<HttpServerResponse.HttpServerResponse, PlatformError.PlatformError, FileSystem.FileSystem | Highlighter | Path.Path>;
7
+ //# sourceMappingURL=page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/results/page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAK1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAepD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,wLA2BhJ"}
@@ -0,0 +1,40 @@
1
+ import { Effect } from "effect";
2
+ import { fileUrl } from "#files/url.ts";
3
+ import { respond } from "#http/respond.ts";
4
+ import { escapeHtml } from "#page/escape.ts";
5
+ import { metadataHtml } from "#page/metadata.ts";
6
+ import { navHtml } from "#page/nav.ts";
7
+ import { shell } from "#page/shell.ts";
8
+ import { renderMarkdown } from "#render/markdown.ts";
9
+ import { revisionOf } from "#responses/records.ts";
10
+ import { resultCriteria } from "#results/criteria.ts";
11
+ import { resultFeedback } from "#results/feedback.ts";
12
+ function reviewActions(result) {
13
+ const requests = result.parsed.fields.attention ?? [];
14
+ const actions = requests
15
+ .filter((attention) => attention.kind === "review" && attention.state === "open" && requests.filter((other) => other.id === attention.id).length === 1)
16
+ .map((attention) => `<li><a href="/_board/respond?item=${encodeURIComponent(result.parsed.fields.id ?? "")}&amp;request=${encodeURIComponent(attention.id)}">Review ${escapeHtml(attention.id)}</a> — ${escapeHtml(attention.reason)}</li>`);
17
+ return `<section id="result-actions"><h2>Respond to this report</h2>${actions.length > 0 ? `<ul>${actions.join("")}</ul>` : "<p>No unique open review request is declared. The agent can add an explicit attention review and Markdown question packet with ordinary file editing. Work Board does not infer one from status.</p>"}</section>`;
18
+ }
19
+ export function resultPage(index, changes, home) {
20
+ return Effect.fn("WorkBoard.resultPage")(function* (request) {
21
+ const item = new URL(request.url, "http://127.0.0.1").searchParams.get("item") ?? "";
22
+ const files = yield* changes.files;
23
+ function layout(body, status = 200) {
24
+ return respond(shell("Result review", navHtml(files, "", home), body, changes.realRoot, false, undefined, "result"), "text/html", status);
25
+ }
26
+ return yield* Effect.gen(function* () {
27
+ const data = yield* index;
28
+ const matches = data.model.ids.get(item);
29
+ const result = matches?.length === 1 ? matches[0] : undefined;
30
+ if (result?.parsed.fields.kind !== "result" || data.unavailable.length > 0) {
31
+ return layout('<h1>Result unavailable</h1><p role="status">Choose one uniquely identified, readable result. Missing or ambiguous work is not accepted.</p>', 409);
32
+ }
33
+ const report = yield* renderMarkdown(result.parsed.body, { file: result.file, safe: true });
34
+ const feedback = yield* resultFeedback(result, data);
35
+ const revision = revisionOf((result.parsed.raw ?? "") + result.parsed.body);
36
+ return layout(`<section class="response-panel"><h1>Review returned result · ${escapeHtml(item)}</h1><p>Result status (source): <b>${escapeHtml(result.parsed.fields.status ?? "Not recorded")}</b>. This is a supplied claim, not an execution receipt or work acceptance.</p><p>Current report SHA-256: <code>${revision}</code> · <a href="${fileUrl(result.file)}">Read source</a></p>${metadataHtml(result.parsed, result.file, data.model)}${reviewActions(result)}${resultCriteria(result, data.model)}<section id="result-report"><h2>Report, evidence and limitations</h2>${report}</section>${feedback}</section>`);
37
+ }).pipe(Effect.catch((error) => Effect.succeed(layout(`<h1>Result review unavailable</h1><p>${escapeHtml(String(error))}</p>`, 409))));
38
+ });
39
+ }
40
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/results/page.ts"],"names":[],"mappings":"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"}
@@ -88,7 +88,38 @@ export declare const Subscribe: Rpc.Rpc<"work-board.subscribe", Schema.Void, imp
88
88
  }>, Schema.Struct<{
89
89
  readonly _tag: Schema.Literal<"Resync">;
90
90
  }>]>, typeof ReadFailed>, Schema.Never, never, never>;
91
- export declare const workRpcs: import("effect/unstable/rpc/RpcGroup").RpcGroup<Rpc.Rpc<"work-board.recordResponse", Schema.Struct<{
91
+ export declare const workRpcs: import("effect/unstable/rpc/RpcGroup").RpcGroup<Rpc.Rpc<"work-board.prepareHandoff", Schema.Struct<{
92
+ readonly constraints: Schema.String;
93
+ readonly goal: Schema.String;
94
+ readonly id: Schema.String;
95
+ readonly item: Schema.String;
96
+ readonly nextAction: Schema.String;
97
+ readonly recipient: Schema.String;
98
+ readonly revision: Schema.String;
99
+ readonly source: Schema.String;
100
+ }>, Schema.Struct<{
101
+ readonly context: Schema.String;
102
+ readonly file: Schema.String;
103
+ readonly handoff: Schema.encodeKeys<Schema.Struct<{
104
+ readonly by: Schema.optional<Schema.String>;
105
+ readonly constraints: Schema.String;
106
+ readonly goal: Schema.String;
107
+ readonly item: Schema.String;
108
+ readonly nextAction: Schema.String;
109
+ readonly note: Schema.optional<Schema.String>;
110
+ readonly preparedAt: Schema.Number;
111
+ readonly recipient: Schema.String;
112
+ readonly reviewedRevision: Schema.String;
113
+ readonly source: Schema.String;
114
+ readonly state: Schema.Literals<readonly ["requested", "acknowledged", "rejected", "unavailable"]>;
115
+ }>, {
116
+ readonly nextAction: "next_action";
117
+ readonly preparedAt: "prepared_at";
118
+ readonly reviewedRevision: "reviewed_revision";
119
+ }>;
120
+ readonly id: Schema.String;
121
+ readonly prompt: Schema.String;
122
+ }>, Schema.Union<readonly typeof import("../browser/responses/schema.ts").ResponseFailed[]>, never, never> | Rpc.Rpc<"work-board.recordResponse", Schema.Struct<{
92
123
  readonly answers: Schema.optional<Schema.$Array<Schema.Struct<{
93
124
  readonly prompt: Schema.String;
94
125
  readonly selected: Schema.$Array<Schema.String>;
@@ -167,6 +198,41 @@ export declare const workRpcs: import("effect/unstable/rpc/RpcGroup").RpcGroup<R
167
198
  readonly type: Schema.Literals<readonly ["answer", "clarify", "not_now"]>;
168
199
  }>;
169
200
  }>>;
201
+ }>, Schema.Union<readonly typeof import("../browser/responses/schema.ts").ResponseFailed[]>, never, never> | Rpc.Rpc<"work-board.handoffSource", Schema.Struct<{
202
+ item: Schema.String;
203
+ }>, Schema.Struct<{
204
+ readonly context: Schema.String;
205
+ readonly id: Schema.String;
206
+ readonly item: Schema.String;
207
+ readonly reviewedRevision: Schema.String;
208
+ readonly source: Schema.String;
209
+ }>, Schema.Union<readonly typeof import("../browser/responses/schema.ts").ResponseFailed[]>, never, never> | Rpc.Rpc<"work-board.handoffs", Schema.Struct<{
210
+ item: Schema.String;
211
+ }>, Schema.Struct<{
212
+ readonly records: Schema.$Array<Schema.Struct<{
213
+ readonly context: Schema.String;
214
+ readonly file: Schema.String;
215
+ readonly handoff: Schema.encodeKeys<Schema.Struct<{
216
+ readonly by: Schema.optional<Schema.String>;
217
+ readonly constraints: Schema.String;
218
+ readonly goal: Schema.String;
219
+ readonly item: Schema.String;
220
+ readonly nextAction: Schema.String;
221
+ readonly note: Schema.optional<Schema.String>;
222
+ readonly preparedAt: Schema.Number;
223
+ readonly recipient: Schema.String;
224
+ readonly reviewedRevision: Schema.String;
225
+ readonly source: Schema.String;
226
+ readonly state: Schema.Literals<readonly ["requested", "acknowledged", "rejected", "unavailable"]>;
227
+ }>, {
228
+ readonly nextAction: "next_action";
229
+ readonly preparedAt: "prepared_at";
230
+ readonly reviewedRevision: "reviewed_revision";
231
+ }>;
232
+ readonly id: Schema.String;
233
+ readonly prompt: Schema.String;
234
+ }>>;
235
+ readonly unknown: Schema.$Array<Schema.String>;
170
236
  }>, Schema.Union<readonly typeof import("../browser/responses/schema.ts").ResponseFailed[]>, never, never> | Rpc.Rpc<"work-board.history", Schema.Struct<{
171
237
  readonly action: Schema.Literals<readonly ["check", "compare", "observe"]>;
172
238
  readonly baseline: Schema.NullOr<Schema.String>;
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/rpc/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;;;;;AAS1C,qBAAa,UAAW,SAAQ,eAAmG;CAAG;AAkDtI,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEAAwG,CAAC;AAClI,eAAO,MAAM,SAAS;;;;;;;;;;;;qDAA2F,CAAC;AAClH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAsD,CAAC"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/rpc/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;;;;;AAU1C,qBAAa,UAAW,SAAQ,eAAmG;CAAG;AAoDtI,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEAAwG,CAAC;AAClI,eAAO,MAAM,SAAS;;;;;;;;;;;;qDAA2F,CAAC;AAClH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAA6E,CAAC"}
@@ -4,6 +4,7 @@ import { contract } from "@shivaedev/effect-contract/contract.ts";
4
4
  import { LiveHint } from "@shivaedev/effect-contract/live.ts";
5
5
  import { query } from "@shivaedev/effect-contract/operation.ts";
6
6
  import { HistoryInput, HistoryOutput } from "#history/schema.ts";
7
+ import { handoffContract } from "#rpc/handoffContract.ts";
7
8
  import { responseContract } from "#rpc/responseContract.ts";
8
9
  import { index, navigation, watcher, workspace } from "./keys.js";
9
10
  import { pageKeys } from "./pageKeys.js";
@@ -16,7 +17,7 @@ const PageUrl = Schema.String.check(Schema.isMaxLength(8192), Schema.makeFilter(
16
17
  try {
17
18
  const path = new URL(value, "http://127.0.0.1").pathname;
18
19
  return (path === "/"
19
- || ["/_board/work", "/_board/overview", "/_board/changes", "/_board/start", "/_board/respond"].includes(path)
20
+ || ["/_board/work", "/_board/overview", "/_board/changes", "/_board/start", "/_board/respond", "/_board/handoff", "/_board/result"].includes(path)
20
21
  || /^\/_board\/item\/[^/]+\/$/u.exec(path) !== null
21
22
  || /\.md$/iu.exec(path) !== null
22
23
  || "Expected a local reading URL");
@@ -56,5 +57,5 @@ const ReadWatcher = query("watcher", {
56
57
  });
57
58
  export const workContract = contract("work-board", { queries: [ReadPage, ReadNavigation, ReadSearch, ReadHistory, ReadWatcher] });
58
59
  export const Subscribe = Rpc.make("work-board.subscribe", { error: ReadFailed, stream: true, success: LiveHint });
59
- export const workRpcs = workContract.add(Subscribe).merge(responseContract);
60
+ export const workRpcs = workContract.add(Subscribe).merge(responseContract).merge(handoffContract);
60
61
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/rpc/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/rpc/contract.ts"],"names":[],"mappings":"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"}