@plurnk/plurnk-service 1.14.2 → 1.15.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 (292) hide show
  1. package/SPEC.md +177 -135
  2. package/dist/build-info.json +1 -1
  3. package/dist/content/byte-view.d.ts +14 -0
  4. package/dist/content/byte-view.d.ts.map +1 -0
  5. package/dist/content/byte-view.js +33 -0
  6. package/dist/content/byte-view.js.map +1 -0
  7. package/dist/content/edit-receipt.d.ts.map +1 -1
  8. package/dist/content/edit-receipt.js +12 -1
  9. package/dist/content/edit-receipt.js.map +1 -1
  10. package/dist/content/line-marker.d.ts +2 -1
  11. package/dist/content/line-marker.d.ts.map +1 -1
  12. package/dist/content/line-marker.js +1 -0
  13. package/dist/content/line-marker.js.map +1 -1
  14. package/dist/content/matcher.d.ts +1 -0
  15. package/dist/content/matcher.d.ts.map +1 -1
  16. package/dist/content/matcher.js +1 -0
  17. package/dist/content/matcher.js.map +1 -1
  18. package/dist/content/read-projector.d.ts +4 -1
  19. package/dist/content/read-projector.d.ts.map +1 -1
  20. package/dist/content/read-projector.js +80 -3
  21. package/dist/content/read-projector.js.map +1 -1
  22. package/dist/core/AdmittedTurnExecutor.d.ts +43 -0
  23. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -0
  24. package/dist/core/AdmittedTurnExecutor.js +245 -0
  25. package/dist/core/AdmittedTurnExecutor.js.map +1 -0
  26. package/dist/core/BareBatchRunner.d.ts +26 -0
  27. package/dist/core/BareBatchRunner.d.ts.map +1 -0
  28. package/dist/core/BareBatchRunner.js +104 -0
  29. package/dist/core/BareBatchRunner.js.map +1 -0
  30. package/dist/core/BudgetReadout.d.ts +1 -1
  31. package/dist/core/BudgetReadout.d.ts.map +1 -1
  32. package/dist/core/BudgetReadout.js +19 -10
  33. package/dist/core/BudgetReadout.js.map +1 -1
  34. package/dist/core/CapabilityResolver.d.ts +2 -1
  35. package/dist/core/CapabilityResolver.d.ts.map +1 -1
  36. package/dist/core/CapabilityResolver.js +8 -9
  37. package/dist/core/CapabilityResolver.js.map +1 -1
  38. package/dist/core/ChannelWrite.d.ts +1 -1
  39. package/dist/core/ChannelWrite.d.ts.map +1 -1
  40. package/dist/core/DataStatementRunner.d.ts +35 -0
  41. package/dist/core/DataStatementRunner.d.ts.map +1 -0
  42. package/dist/core/DataStatementRunner.js +252 -0
  43. package/dist/core/DataStatementRunner.js.map +1 -0
  44. package/dist/core/Dispatcher.d.ts +8 -3
  45. package/dist/core/Dispatcher.d.ts.map +1 -1
  46. package/dist/core/Dispatcher.js +88 -738
  47. package/dist/core/Dispatcher.js.map +1 -1
  48. package/dist/core/EditMutations.d.ts +39 -0
  49. package/dist/core/EditMutations.d.ts.map +1 -0
  50. package/dist/core/EditMutations.js +418 -0
  51. package/dist/core/EditMutations.js.map +1 -0
  52. package/dist/core/Engine.d.ts +2 -23
  53. package/dist/core/Engine.d.ts.map +1 -1
  54. package/dist/core/Engine.js +18 -240
  55. package/dist/core/Engine.js.map +1 -1
  56. package/dist/core/Engine.sql +22 -15
  57. package/dist/core/KillHandler.d.ts +32 -0
  58. package/dist/core/KillHandler.d.ts.map +1 -0
  59. package/dist/core/KillHandler.js +179 -0
  60. package/dist/core/KillHandler.js.map +1 -0
  61. package/dist/core/LogVisibility.d.ts +1 -1
  62. package/dist/core/LogVisibility.d.ts.map +1 -1
  63. package/dist/core/LogVisibility.js +3 -4
  64. package/dist/core/LogVisibility.js.map +1 -1
  65. package/dist/core/LogWriter.d.ts +42 -0
  66. package/dist/core/LogWriter.d.ts.map +1 -0
  67. package/dist/core/LogWriter.js +136 -0
  68. package/dist/core/LogWriter.js.map +1 -0
  69. package/dist/core/LoopDriver.d.ts +46 -0
  70. package/dist/core/LoopDriver.d.ts.map +1 -0
  71. package/dist/core/LoopDriver.js +263 -0
  72. package/dist/core/LoopDriver.js.map +1 -0
  73. package/dist/core/LoopLifecycle.d.ts +2 -1
  74. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  75. package/dist/core/MembershipMaterialization.d.ts +7 -0
  76. package/dist/core/MembershipMaterialization.d.ts.map +1 -0
  77. package/dist/core/MembershipMaterialization.js +283 -0
  78. package/dist/core/MembershipMaterialization.js.map +1 -0
  79. package/dist/core/MutationEffects.d.ts +29 -0
  80. package/dist/core/MutationEffects.d.ts.map +1 -0
  81. package/dist/core/MutationEffects.js +318 -0
  82. package/dist/core/MutationEffects.js.map +1 -0
  83. package/dist/core/OverflowTurn.d.ts +4 -4
  84. package/dist/core/OverflowTurn.d.ts.map +1 -1
  85. package/dist/core/OverflowTurn.js +6 -7
  86. package/dist/core/OverflowTurn.js.map +1 -1
  87. package/dist/core/PacketBuilder.d.ts.map +1 -1
  88. package/dist/core/PacketBuilder.js +28 -5
  89. package/dist/core/PacketBuilder.js.map +1 -1
  90. package/dist/core/ResourceMutations.d.ts +12 -36
  91. package/dist/core/ResourceMutations.d.ts.map +1 -1
  92. package/dist/core/ResourceMutations.js +27 -1351
  93. package/dist/core/ResourceMutations.js.map +1 -1
  94. package/dist/core/ResourceSelector.d.ts +21 -0
  95. package/dist/core/ResourceSelector.d.ts.map +1 -0
  96. package/dist/core/ResourceSelector.js +204 -0
  97. package/dist/core/ResourceSelector.js.map +1 -0
  98. package/dist/core/ResourceTransfers.d.ts +55 -0
  99. package/dist/core/ResourceTransfers.d.ts.map +1 -0
  100. package/dist/core/ResourceTransfers.js +460 -0
  101. package/dist/core/ResourceTransfers.js.map +1 -0
  102. package/dist/core/SchemeRegistry.js +2 -2
  103. package/dist/core/SchemeRegistry.js.map +1 -1
  104. package/dist/core/SendBroadcastHandler.d.ts +40 -0
  105. package/dist/core/SendBroadcastHandler.d.ts.map +1 -0
  106. package/dist/core/SendBroadcastHandler.js +159 -0
  107. package/dist/core/SendBroadcastHandler.js.map +1 -0
  108. package/dist/core/StoredPacket.d.ts +11 -0
  109. package/dist/core/StoredPacket.d.ts.map +1 -1
  110. package/dist/core/StoredPacket.js +22 -1
  111. package/dist/core/StoredPacket.js.map +1 -1
  112. package/dist/core/StrikeRail.d.ts.map +1 -1
  113. package/dist/core/StrikeRail.js +19 -9
  114. package/dist/core/StrikeRail.js.map +1 -1
  115. package/dist/core/TokenCalibration.d.ts +16 -0
  116. package/dist/core/TokenCalibration.d.ts.map +1 -0
  117. package/dist/core/TokenCalibration.js +35 -0
  118. package/dist/core/TokenCalibration.js.map +1 -0
  119. package/dist/core/ToolResources.d.ts.map +1 -1
  120. package/dist/core/ToolResources.js +15 -12
  121. package/dist/core/ToolResources.js.map +1 -1
  122. package/dist/core/TurnMaterialization.d.ts +37 -0
  123. package/dist/core/TurnMaterialization.d.ts.map +1 -0
  124. package/dist/core/TurnMaterialization.js +307 -0
  125. package/dist/core/TurnMaterialization.js.map +1 -0
  126. package/dist/core/TurnOps.d.ts.map +1 -1
  127. package/dist/core/TurnOps.js +4 -6
  128. package/dist/core/TurnOps.js.map +1 -1
  129. package/dist/core/TurnRunner.d.ts +15 -27
  130. package/dist/core/TurnRunner.d.ts.map +1 -1
  131. package/dist/core/TurnRunner.js +73 -667
  132. package/dist/core/TurnRunner.js.map +1 -1
  133. package/dist/core/WorkerControlHandler.d.ts +15 -0
  134. package/dist/core/WorkerControlHandler.d.ts.map +1 -0
  135. package/dist/core/WorkerControlHandler.js +89 -0
  136. package/dist/core/WorkerControlHandler.js.map +1 -0
  137. package/dist/core/attachments.d.ts +14 -0
  138. package/dist/core/attachments.d.ts.map +1 -0
  139. package/dist/core/attachments.js +18 -0
  140. package/dist/core/attachments.js.map +1 -0
  141. package/dist/core/git-membership.d.ts +15 -0
  142. package/dist/core/git-membership.d.ts.map +1 -1
  143. package/dist/core/git-membership.js +4 -273
  144. package/dist/core/git-membership.js.map +1 -1
  145. package/dist/core/git-state.d.ts +2 -1
  146. package/dist/core/git-state.d.ts.map +1 -1
  147. package/dist/core/mutation-types.d.ts +101 -0
  148. package/dist/core/mutation-types.d.ts.map +1 -0
  149. package/dist/core/mutation-types.js +2 -0
  150. package/dist/core/mutation-types.js.map +1 -0
  151. package/dist/core/operation-target-groups.js +1 -1
  152. package/dist/core/operation-target-groups.js.map +1 -1
  153. package/dist/core/packet-wire.d.ts +7 -6
  154. package/dist/core/packet-wire.d.ts.map +1 -1
  155. package/dist/core/packet-wire.js +57 -6
  156. package/dist/core/packet-wire.js.map +1 -1
  157. package/dist/core/plurnk-uri.d.ts +0 -1
  158. package/dist/core/plurnk-uri.d.ts.map +1 -1
  159. package/dist/core/plurnk-uri.js +1 -1
  160. package/dist/core/plurnk-uri.js.map +1 -1
  161. package/dist/core/statement-primary.d.ts +4 -0
  162. package/dist/core/statement-primary.d.ts.map +1 -0
  163. package/dist/core/statement-primary.js +3 -0
  164. package/dist/core/statement-primary.js.map +1 -0
  165. package/dist/core/teaching-corpus.d.ts +0 -1
  166. package/dist/core/teaching-corpus.d.ts.map +1 -1
  167. package/dist/core/teaching-corpus.js +0 -9
  168. package/dist/core/teaching-corpus.js.map +1 -1
  169. package/dist/core/turn-scheduler.js +3 -3
  170. package/dist/core/turn-scheduler.js.map +1 -1
  171. package/dist/core/turn-signals.d.ts +15 -0
  172. package/dist/core/turn-signals.d.ts.map +1 -0
  173. package/dist/core/turn-signals.js +19 -0
  174. package/dist/core/turn-signals.js.map +1 -0
  175. package/dist/core/worker-settings.d.ts +0 -1
  176. package/dist/core/worker-settings.d.ts.map +1 -1
  177. package/dist/core/worker-settings.js +1 -1
  178. package/dist/core/worker-settings.js.map +1 -1
  179. package/dist/digest/Digest.d.ts +3 -16
  180. package/dist/digest/Digest.d.ts.map +1 -1
  181. package/dist/digest/Digest.js +10 -958
  182. package/dist/digest/Digest.js.map +1 -1
  183. package/dist/digest/DigestRender.d.ts +12 -0
  184. package/dist/digest/DigestRender.d.ts.map +1 -0
  185. package/dist/digest/DigestRender.js +644 -0
  186. package/dist/digest/DigestRender.js.map +1 -0
  187. package/dist/digest/DigestRequiem.d.ts +13 -0
  188. package/dist/digest/DigestRequiem.d.ts.map +1 -0
  189. package/dist/digest/DigestRequiem.js +332 -0
  190. package/dist/digest/DigestRequiem.js.map +1 -0
  191. package/dist/digest/digest-rows.d.ts +306 -0
  192. package/dist/digest/digest-rows.d.ts.map +1 -0
  193. package/dist/digest/digest-rows.js +2 -0
  194. package/dist/digest/digest-rows.js.map +1 -0
  195. package/dist/observe/api.d.ts +0 -2
  196. package/dist/observe/api.d.ts.map +1 -1
  197. package/dist/observe/api.js +2 -2
  198. package/dist/observe/api.js.map +1 -1
  199. package/dist/observe/metrics.d.ts +0 -1
  200. package/dist/observe/metrics.d.ts.map +1 -1
  201. package/dist/observe/metrics.js +0 -1
  202. package/dist/observe/metrics.js.map +1 -1
  203. package/dist/schemes/Exec.d.ts +4 -1
  204. package/dist/schemes/Exec.d.ts.map +1 -1
  205. package/dist/schemes/Exec.js +90 -45
  206. package/dist/schemes/Exec.js.map +1 -1
  207. package/dist/schemes/ExecOutputScheme.d.ts +2 -1
  208. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  209. package/dist/schemes/ExecOutputScheme.js +3 -3
  210. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  211. package/dist/schemes/File.d.ts +4 -1
  212. package/dist/schemes/File.d.ts.map +1 -1
  213. package/dist/schemes/File.js +70 -4
  214. package/dist/schemes/File.js.map +1 -1
  215. package/dist/schemes/Log.d.ts +4 -5
  216. package/dist/schemes/Log.d.ts.map +1 -1
  217. package/dist/schemes/Log.js +20 -98
  218. package/dist/schemes/Log.js.map +1 -1
  219. package/dist/schemes/Worker.d.ts.map +1 -1
  220. package/dist/schemes/Worker.js +0 -12
  221. package/dist/schemes/Worker.js.map +1 -1
  222. package/dist/schemes/_entry-crud.d.ts +0 -1
  223. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  224. package/dist/schemes/_entry-crud.js.map +1 -1
  225. package/dist/schemes/_entry-find.d.ts +4 -2
  226. package/dist/schemes/_entry-find.d.ts.map +1 -1
  227. package/dist/schemes/_entry-find.js +68 -10
  228. package/dist/schemes/_entry-find.js.map +1 -1
  229. package/dist/schemes/_entry-manifest.d.ts +1 -2
  230. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  231. package/dist/schemes/_entry-ops.d.ts +2 -1
  232. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  233. package/dist/schemes/_entry-ops.js +12 -2
  234. package/dist/schemes/_entry-ops.js.map +1 -1
  235. package/dist/schemes/_entry-semantic.d.ts +1 -0
  236. package/dist/schemes/_entry-semantic.d.ts.map +1 -1
  237. package/dist/schemes/_entry-semantic.js +3 -0
  238. package/dist/schemes/_entry-semantic.js.map +1 -1
  239. package/dist/schemes/_entry-semantic.sql +2 -2
  240. package/dist/schemes/_entry-send.d.ts +0 -1
  241. package/dist/schemes/_entry-send.d.ts.map +1 -1
  242. package/dist/schemes/_entry-send.js +5 -80
  243. package/dist/schemes/_entry-send.js.map +1 -1
  244. package/dist/schemes/exec-runtime.d.ts +7 -0
  245. package/dist/schemes/exec-runtime.d.ts.map +1 -0
  246. package/dist/schemes/exec-runtime.js +2 -0
  247. package/dist/schemes/exec-runtime.js.map +1 -0
  248. package/dist/server/ClientReads.d.ts +34 -0
  249. package/dist/server/ClientReads.d.ts.map +1 -0
  250. package/dist/server/ClientReads.js +210 -0
  251. package/dist/server/ClientReads.js.map +1 -0
  252. package/dist/server/Daemon.d.ts +12 -22
  253. package/dist/server/Daemon.d.ts.map +1 -1
  254. package/dist/server/Daemon.js +31 -362
  255. package/dist/server/Daemon.js.map +1 -1
  256. package/dist/server/DaemonModule.d.ts +6 -5
  257. package/dist/server/DaemonModule.d.ts.map +1 -1
  258. package/dist/server/DrainSupervisor.d.ts +3 -2
  259. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  260. package/dist/server/DrainSupervisor.js +7 -3
  261. package/dist/server/DrainSupervisor.js.map +1 -1
  262. package/dist/server/Functionality.d.ts +0 -12
  263. package/dist/server/Functionality.d.ts.map +1 -1
  264. package/dist/server/Functionality.js.map +1 -1
  265. package/dist/server/FunctionalityManager.d.ts +0 -1
  266. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  267. package/dist/server/FunctionalityManager.js +2 -2
  268. package/dist/server/FunctionalityManager.js.map +1 -1
  269. package/dist/server/MembersFunctionality.d.ts +2 -13
  270. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  271. package/dist/server/MembersFunctionality.js +4 -4
  272. package/dist/server/MembersFunctionality.js.map +1 -1
  273. package/dist/server/SkillsFunctionality.d.ts +1 -7
  274. package/dist/server/SkillsFunctionality.d.ts.map +1 -1
  275. package/dist/server/SkillsFunctionality.js +3 -3
  276. package/dist/server/SkillsFunctionality.js.map +1 -1
  277. package/dist/server/WorkerModelResolver.d.ts +17 -0
  278. package/dist/server/WorkerModelResolver.d.ts.map +1 -0
  279. package/dist/server/WorkerModelResolver.js +166 -0
  280. package/dist/server/WorkerModelResolver.js.map +1 -0
  281. package/dist/server/daemon-results.d.ts +5 -0
  282. package/dist/server/daemon-results.d.ts.map +1 -0
  283. package/dist/server/daemon-results.js +7 -0
  284. package/dist/server/daemon-results.js.map +1 -0
  285. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  286. package/dist/server/dispatch-as-plurnk.js +4 -6
  287. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  288. package/dist/server/loopDocs.d.ts.map +1 -1
  289. package/dist/server/loopDocs.js +11 -2
  290. package/dist/server/loopDocs.js.map +1 -1
  291. package/migrations/001_schema.sql +21 -92
  292. package/package.json +30 -30
@@ -1 +1 @@
1
- {"package":"@plurnk/plurnk-service","version":"1.14.2","revision":"b5ace46714d198715a6bfd7d5a0929b9117c4370","dirty":false}
1
+ {"package":"@plurnk/plurnk-service","version":"1.15.0","revision":"407fd97b5b4087172e0fd449888d632d1add864d","dirty":false}
@@ -0,0 +1,14 @@
1
+ import type { MatchEvidence } from "@plurnk/plurnk-schemes";
2
+ export interface ByteSource {
3
+ size(): Promise<number | null>;
4
+ read(start: number, end: number): Promise<Uint8Array>;
5
+ }
6
+ export default class ByteView {
7
+ static readonly CHANNEL = "bytes";
8
+ static readonly PROJECTION = "hex";
9
+ static hex(bytes: Uint8Array): string;
10
+ static hexLines(bytes: Uint8Array): string;
11
+ static latin1(bytes: Uint8Array): string;
12
+ static byteEvidence(latin1: string, bytes: Uint8Array, evidence: readonly MatchEvidence[]): MatchEvidence[];
13
+ }
14
+ //# sourceMappingURL=byte-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"byte-view.d.ts","sourceRoot":"","sources":["../../src/content/byte-view.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI5D,MAAM,WAAW,UAAU;IACvB,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACzD;AAID,MAAM,CAAC,OAAO,OAAO,QAAQ;IACzB,MAAM,CAAC,QAAQ,CAAC,OAAO,WAAW;IAClC,MAAM,CAAC,QAAQ,CAAC,UAAU,SAAS;IAEnC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEpC;IAED,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEzC;IAID,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEvC;IAKD,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,aAAa,EAAE,GAAG,aAAa,EAAE,CAS1G;CACJ"}
@@ -0,0 +1,33 @@
1
+ import { TextCoordinates } from "@plurnk/plurnk-mimetypes";
2
+ // The byte view of a resource: one hexadecimal octet per line, so coordinate = line = byte and
3
+ // the text READ/FIND algebra applies unchanged ({§read-bytes}, {§find-bytes}).
4
+ export default class ByteView {
5
+ static CHANNEL = "bytes";
6
+ static PROJECTION = "hex";
7
+ static hex(bytes) {
8
+ return Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("");
9
+ }
10
+ static hexLines(bytes) {
11
+ return Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("\n");
12
+ }
13
+ // Bytes as one character each, so a text pattern matches a byte sequence and every character
14
+ // offset is a byte offset.
15
+ static latin1(bytes) {
16
+ return Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength).toString("latin1");
17
+ }
18
+ // Evidence located in the Latin-1 view, re-expressed in byte coordinates: bytes a..b are lines
19
+ // a..b of the hexadecimal projection (each line is one two-digit octet), and `matched` is the
20
+ // matched bytes in hex.
21
+ static byteEvidence(latin1, bytes, evidence) {
22
+ return evidence.map((item) => {
23
+ if (item.region === undefined)
24
+ return item;
25
+ const start = TextCoordinates.offsetAtPosition(latin1, item.region.startLine, item.region.startColumn);
26
+ const end = TextCoordinates.offsetAtPosition(latin1, item.region.endLine, item.region.endColumn);
27
+ const last = Math.max(end, start + 1);
28
+ const region = { startLine: start + 1, startColumn: 1, endLine: last, endColumn: 3 };
29
+ return { ...item, region, matched: ByteView.hex(bytes.subarray(start, last)) };
30
+ });
31
+ }
32
+ }
33
+ //# sourceMappingURL=byte-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"byte-view.js","sourceRoot":"","sources":["../../src/content/byte-view.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAU3D,+FAA+F;AAC/F,+EAA+E;AAC/E,MAAM,CAAC,OAAO,OAAO,QAAQ;IACzB,MAAM,CAAU,OAAO,GAAG,OAAO,CAAC;IAClC,MAAM,CAAU,UAAU,GAAG,KAAK,CAAC;IAEnC,MAAM,CAAC,GAAG,CAAC,KAAiB;QACxB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,KAAiB;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC;IAED,6FAA6F;IAC7F,2BAA2B;IAC3B,MAAM,CAAC,MAAM,CAAC,KAAiB;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5F,CAAC;IAED,+FAA+F;IAC/F,8FAA8F;IAC9F,wBAAwB;IACxB,MAAM,CAAC,YAAY,CAAC,MAAc,EAAE,KAAiB,EAAE,QAAkC;QACrF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC3C,MAAM,KAAK,GAAG,eAAe,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACvG,MAAM,GAAG,GAAG,eAAe,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACjG,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACtC,MAAM,MAAM,GAAe,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YACjG,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QACnF,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"edit-receipt.d.ts","sourceRoot":"","sources":["../../src/content/edit-receipt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EACR,uBAAuB,EACvB,gBAAgB,EAEhB,WAAW,EAEX,oBAAoB,EACpB,mCAAmC,EACtC,MAAM,wBAAwB,CAAC;AAGhC,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAED,YAAY,EACR,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,mCAAmC,GACtC,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;CAClC;AA+DD,eAAO,MAAM,gBAAgB,8FAA8F,CAAC;AAgD5H,eAAO,MAAM,iBAAiB,UAAW,OAAO,KAAG,WAuBlD,CAAC;AAEF,eAAO,MAAM,sBAAsB,UAAW,OAAO,KAAG,gBA4BvD,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAAW,OAAO,KAAG,SAAS,cAAc,EAqC7E,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,gBAAgB,SAAS,MAAM,KAAG,WA0B7E,CAAC;AAwNF,eAAO,MAAM,WAAW,aACV,MAAM,WACP,MAAM,SACR,SAAS,WAAW,EAAE,gBACf,oBAAoB,aACvB,MAAM,KAClB,uBAoBF,CAAC;AAEF,eAAO,MAAM,0BAA0B,YAC1B,gBAAgB,eACZ,oBAAoB,GAAG,SAAS,KAC9C,gBAQF,CAAC;AAEF,eAAO,MAAM,0BAA0B,aACzB,MAAM,WACP,MAAM,YACL,gBAAgB,gBACZ,oBAAoB,aACvB,MAAM,KAClB,mCA4BF,CAAC"}
1
+ {"version":3,"file":"edit-receipt.d.ts","sourceRoot":"","sources":["../../src/content/edit-receipt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EACR,uBAAuB,EACvB,gBAAgB,EAEhB,WAAW,EAEX,oBAAoB,EACpB,mCAAmC,EACtC,MAAM,wBAAwB,CAAC;AAGhC,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAED,YAAY,EACR,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,mCAAmC,GACtC,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;CAClC;AA+DD,eAAO,MAAM,gBAAgB,8FAA8F,CAAC;AAqD5H,eAAO,MAAM,iBAAiB,UAAW,OAAO,KAAG,WAuBlD,CAAC;AAEF,eAAO,MAAM,sBAAsB,UAAW,OAAO,KAAG,gBA4BvD,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAAW,OAAO,KAAG,SAAS,cAAc,EAqC7E,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,gBAAgB,SAAS,MAAM,KAAG,WA0B7E,CAAC;AA+NF,eAAO,MAAM,WAAW,aACV,MAAM,WACP,MAAM,SACR,SAAS,WAAW,EAAE,gBACf,oBAAoB,aACvB,MAAM,KAClB,uBAoBF,CAAC;AAEF,eAAO,MAAM,0BAA0B,YAC1B,gBAAgB,eACZ,oBAAoB,GAAG,SAAS,KAC9C,gBAQF,CAAC;AAEF,eAAO,MAAM,0BAA0B,aACzB,MAAM,WACP,MAAM,YACL,gBAAgB,gBACZ,oBAAoB,aACvB,MAAM,KAClB,mCA4BF,CAAC"}
@@ -50,7 +50,12 @@ const receiptFields = (receipt, tail) => [
50
50
  ];
51
51
  const assertEffectReceipt = (value) => {
52
52
  const effect = receiptRecord(value, "EDIT effect receipt");
53
- exactFields(effect, ["requested", "source", "result", "removed", "inserted", "context"], "EDIT effect receipt");
53
+ // {§edit-receipt-removed-text} — optional: present only on a pure deletion.
54
+ const { removedText, ...exact } = effect;
55
+ exactFields(exact, ["requested", "source", "result", "removed", "inserted", "context"], "EDIT effect receipt");
56
+ if (removedText !== undefined && typeof removedText !== "string") {
57
+ throw new InvalidOperationResultError("EDIT effect receipt removedText must be a string.");
58
+ }
54
59
  for (const field of ["requested", "source", "result", "context"]) {
55
60
  if (typeof effect[field] !== "string") {
56
61
  throw new InvalidOperationResultError(`EDIT effect receipt ${field} must be a string.`);
@@ -230,6 +235,7 @@ const lineEffects = (original, edits) => {
230
235
  removed: source.removed,
231
236
  inserted,
232
237
  context: "",
238
+ ...(inserted === 0 && source.removed > 0 ? { removedText: removedTextOf(before.slice(source.start - 1, source.end)) } : {}),
233
239
  resultStartLine: resultStart,
234
240
  resultEndLine: Math.max(resultStart, resultEnd),
235
241
  };
@@ -240,6 +246,10 @@ const lineEffects = (original, edits) => {
240
246
  return effect;
241
247
  });
242
248
  };
249
+ // {§edit-receipt-removed-text} — a pure deletion's removed lines ride its receipt so it can be
250
+ // undone from what the model already sees; long spans are cut, not dropped.
251
+ const REMOVED_TEXT_LINES = 40;
252
+ const removedTextOf = (lines) => lines.length <= REMOVED_TEXT_LINES ? lines.join("\n") : `${lines.slice(0, REMOVED_TEXT_LINES).join("\n")}\n… ${lines.length - REMOVED_TEXT_LINES} more lines`;
243
253
  const codePointCount = (content) => [...content].length;
244
254
  const codePointOffset = (content, jsOffset) => codePointCount(content.slice(0, jsOffset));
245
255
  const jsOffsetFromCodePoints = (content, offset) => [...content].slice(0, offset).join("").length;
@@ -291,6 +301,7 @@ const codePointEffects = (original, updated, edits) => {
291
301
  removed,
292
302
  inserted: effect.inserted,
293
303
  context: "",
304
+ ...(effect.inserted === 0 && removed > 0 ? { removedText: removedTextOf([...original].slice(effect.sourceStart, effect.sourceEnd).join("").split("\n")) } : {}),
294
305
  resultStartLine: updatedStart.line,
295
306
  resultEndLine: updatedEnd.line,
296
307
  };
@@ -1 +1 @@
1
- {"version":3,"file":"edit-receipt.js","sourceRoot":"","sources":["../../src/content/edit-receipt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit-receipt.js","sourceRoot":"","sources":["../../src/content/edit-receipt.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { SliceResult, LineEditResult as EditResult, BatchEdit, PageResult, RangeUnit, TextReplacement } from "@plurnk/plurnk-schemes";
1
+ import type { SliceResult, LineEditResult as EditResult, BatchEdit, PageResult, RangeUnit, TextReplacement, WindowResult } from "@plurnk/plurnk-schemes";
2
2
  import type { LineMarker, RangeExtent } from "@plurnk/plurnk-contracts";
3
3
  export type { SliceResult, EditResult };
4
4
  export default class LineMarkerOps {
@@ -13,5 +13,6 @@ export default class LineMarkerOps {
13
13
  readonly unit?: RangeUnit;
14
14
  }): PageResult<T>;
15
15
  static coversAvailable(range: RangeExtent): boolean;
16
+ static window(marker: LineMarker, total: number, unit: RangeUnit): WindowResult;
16
17
  }
17
18
  //# sourceMappingURL=line-marker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"line-marker.d.ts","sourceRoot":"","sources":["../../src/content/line-marker.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACR,WAAW,EACX,cAAc,IAAI,UAAU,EAC5B,SAAS,EACT,UAAU,EACV,SAAS,EACT,eAAe,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAExE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAExC,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,WAAW,CAA0C;IAC7G,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,WAAW,CAA6C;IACnH,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAyD;IAClJ,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,UAAU,CAAuD;IAChJ,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAE7G;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,EACT,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;KAAO,GAC5C,UAAU,CAAC,CAAC,CAAC,CAAgD;IAEhE,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAA0C;CAEhG"}
1
+ {"version":3,"file":"line-marker.d.ts","sourceRoot":"","sources":["../../src/content/line-marker.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACR,WAAW,EACX,cAAc,IAAI,UAAU,EAC5B,SAAS,EACT,UAAU,EACV,SAAS,EACT,eAAe,EACf,YAAY,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAExE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAExC,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,WAAW,CAA0C;IAC7G,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,WAAW,CAA6C;IACnH,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAyD;IAClJ,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,UAAU,CAAuD;IAChJ,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAE7G;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,EACT,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;KAAO,GAC5C,UAAU,CAAC,CAAC,CAAC,CAAgD;IAEhE,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAA0C;IAC7F,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,YAAY,CAA+C;CAEjI"}
@@ -16,5 +16,6 @@ export default class LineMarkerOps {
16
16
  }
17
17
  static page(items, marker, options = {}) { return Slicer.page(items, marker, options); }
18
18
  static coversAvailable(range) { return Slicer.coversAvailable(range); }
19
+ static window(marker, total, unit) { return Slicer.window(marker, total, unit); }
19
20
  }
20
21
  //# sourceMappingURL=line-marker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"line-marker.js","sourceRoot":"","sources":["../../src/content/line-marker.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,4EAA4E;AAC5E,iFAAiF;AACjF,EAAE;AACF,kEAAkE;AAClE,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAahD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,UAAU,CAAC,OAAe,EAAE,MAAkB,IAAiB,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7G,MAAM,CAAC,aAAa,CAAC,OAAe,EAAE,MAAkB,IAAiB,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACnH,MAAM,CAAC,mBAAmB,CAAC,OAAe,EAAE,MAAkB,EAAE,IAAY,IAAgB,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAClJ,MAAM,CAAC,wBAAwB,CAAC,OAAe,EAAE,KAA2B,IAAgB,OAAO,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChJ,MAAM,CAAC,eAAe,CAAC,OAAe,EAAE,MAAkB,EAAE,IAAY;QACpE,OAAO,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,CAAC,IAAI,CACP,KAAmB,EACnB,MAAkB,EAClB,OAAO,GAAkC,EAAE,IAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAEhE,MAAM,CAAC,eAAe,CAAC,KAAkB,IAAa,OAAO,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAEhG"}
1
+ {"version":3,"file":"line-marker.js","sourceRoot":"","sources":["../../src/content/line-marker.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,4EAA4E;AAC5E,iFAAiF;AACjF,EAAE;AACF,kEAAkE;AAClE,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAchD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,UAAU,CAAC,OAAe,EAAE,MAAkB,IAAiB,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7G,MAAM,CAAC,aAAa,CAAC,OAAe,EAAE,MAAkB,IAAiB,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACnH,MAAM,CAAC,mBAAmB,CAAC,OAAe,EAAE,MAAkB,EAAE,IAAY,IAAgB,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAClJ,MAAM,CAAC,wBAAwB,CAAC,OAAe,EAAE,KAA2B,IAAgB,OAAO,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChJ,MAAM,CAAC,eAAe,CAAC,OAAe,EAAE,MAAkB,EAAE,IAAY;QACpE,OAAO,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,CAAC,IAAI,CACP,KAAmB,EACnB,MAAkB,EAClB,OAAO,GAAkC,EAAE,IAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAEhE,MAAM,CAAC,eAAe,CAAC,KAAkB,IAAa,OAAO,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7F,MAAM,CAAC,MAAM,CAAC,MAAkB,EAAE,KAAa,EAAE,IAAe,IAAkB,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CAEjI"}
@@ -29,5 +29,6 @@ export interface SourceCandidateMatch {
29
29
  lineEnd: number;
30
30
  } | null;
31
31
  locator?: string;
32
+ score?: number;
32
33
  }
33
34
  //# sourceMappingURL=matcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../src/content/matcher.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACtB,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,OAAa,mBAAmB,CAC5B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,GACrB,OAAO,CAAC,WAAW,CAAC,CAMtB;IAUD,OAAa,eAAe,CACxB,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,aAAa,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,EAC7E,SAAS,EAAE,SAAS,GACrB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAA;KAAE,CAAC,CA8ClF;IAID,MAAM,CAAC,cAAc,CACjB,OAAO,EAAE,SAAS,oBAAoB,EAAE,EACxC,UAAU,EAAE,aAAa,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,GAC5D,cAAc,EAAE,CAuClB;CACJ;AAID,MAAM,WAAW,cAAc;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAC;CAAE;AAG1E,MAAM,WAAW,oBAAoB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../src/content/matcher.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACtB,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,OAAa,mBAAmB,CAC5B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,GACrB,OAAO,CAAC,WAAW,CAAC,CAMtB;IAUD,OAAa,eAAe,CACxB,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,aAAa,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,EAC7E,SAAS,EAAE,SAAS,GACrB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAA;KAAE,CAAC,CA8ClF;IAID,MAAM,CAAC,cAAc,CACjB,OAAO,EAAE,SAAS,oBAAoB,EAAE,EACxC,UAAU,EAAE,aAAa,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,GAC5D,cAAc,EAAE,CAwClB;CACJ;AAID,MAAM,WAAW,cAAc;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAC;CAAE;AAG1E,MAAM,WAAW,oBAAoB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -107,6 +107,7 @@ export default class Matcher {
107
107
  return [{
108
108
  ...(match.locator === undefined ? {} : { locator: match.locator }),
109
109
  region,
110
+ ...(match.score === undefined ? {} : { score: match.score }),
110
111
  }];
111
112
  }),
112
113
  });
@@ -1 +1 @@
1
- {"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/content/matcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/content/matcher.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
- import type { ReadStatement } from "@plurnk/plurnk-contracts";
1
+ import { type ReadStatement } from "@plurnk/plurnk-contracts";
2
2
  import type { Mimetypes } from "@plurnk/plurnk-mimetypes";
3
3
  import type { EntryReadResult, StoredEntryData } from "@plurnk/plurnk-schemes";
4
4
  import type { SchemeManifest } from "../core/scheme-types.ts";
5
+ import { type ByteSource } from "./byte-view.ts";
5
6
  export interface AnchoredReadResult extends EntryReadResult {
6
7
  readonly lineAnchorIdentity?: string;
7
8
  readonly lineAnchors?: readonly string[];
8
9
  readonly lineNumberWidth?: number;
9
10
  }
10
11
  export default class ReadProjector {
12
+ #private;
11
13
  static project(opts: {
12
14
  readonly statement: ReadStatement;
13
15
  readonly manifest: SchemeManifest;
@@ -15,6 +17,7 @@ export default class ReadProjector {
15
17
  readonly identity: string;
16
18
  readonly representation: StoredEntryData;
17
19
  readonly mimetypes: Mimetypes | undefined;
20
+ readonly bytes?: ByteSource;
18
21
  }): Promise<AnchoredReadResult>;
19
22
  }
20
23
  //# sourceMappingURL=read-projector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-projector.d.ts","sourceRoot":"","sources":["../../src/content/read-projector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EACR,eAAe,EACf,eAAe,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM9D,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACvD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACrC;AAMD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,OAAa,OAAO,CAAC,IAAI,EAAE;QACvB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;QAClC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;QAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC;QACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;KAC7C,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAmL9B;CACJ"}
1
+ {"version":3,"file":"read-projector.d.ts","sourceRoot":"","sources":["../../src/content/read-projector.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EACR,eAAe,EACf,eAAe,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAI9D,OAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAwB3D,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACvD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACrC;AAMD,MAAM,CAAC,OAAO,OAAO,aAAa;;IAgD9B,OAAa,OAAO,CAAC,IAAI,EAAE;QACvB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;QAClC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;QAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC;QACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;QAE1C,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;KAC/B,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2M9B;CACJ"}
@@ -1,14 +1,73 @@
1
+ import { DEFAULT_RETRIEVAL_LIMIT } from "@plurnk/plurnk-contracts";
1
2
  import Results from "../core/results.js";
2
3
  import LineAnchors from "./line-anchors.js";
4
+ import LineMarkerOps from "./line-marker.js";
5
+ import ByteView from "./byte-view.js";
3
6
  import MimetypeBinary from "./mimetype-binary.js";
4
7
  import ReadResolve from "./read-resolve.js";
8
+ // {§packet-attachment-parts} — a projected image member names its picture: source mimetype and
9
+ // the handler's dimensions, read from the member's projection facts, never from the bytes.
10
+ const imageOf = (attributes) => {
11
+ const projection = attributes?.sourceProjection;
12
+ if (projection === undefined || typeof projection.mimetype !== "string" || !projection.mimetype.startsWith("image/"))
13
+ return null;
14
+ const facts = projection.facts;
15
+ if (facts === undefined || !Number.isSafeInteger(facts.width) || !Number.isSafeInteger(facts.height) || !Number.isSafeInteger(facts.bytes))
16
+ return null;
17
+ return { mimetype: projection.mimetype, width: facts.width, height: facts.height, bytes: facts.bytes };
18
+ };
19
+ // {§packet-attachment-parts} — a projected PDF member names its document: source mimetype and the
20
+ // handler's page count ({§mimetype-pdf-facts}); a document whose pages are unknown names nothing.
21
+ const documentOf = (attributes) => {
22
+ const projection = attributes?.sourceProjection;
23
+ if (projection === undefined || projection.mimetype !== "application/pdf")
24
+ return null;
25
+ const facts = projection.facts;
26
+ if (facts === undefined || !Number.isSafeInteger(facts.pages) || !Number.isSafeInteger(facts.bytes))
27
+ return null;
28
+ return { mimetype: projection.mimetype, pages: facts.pages, bytes: facts.bytes };
29
+ };
5
30
  // {§universal-read-composition} Core's one exact-resource projection over a complete canonical
6
31
  // representation. Storage adapters supply channels; this layer owns channel
7
32
  // selection, binary admission, text coordinates, line-anchor projection, and
8
33
  // composition of the selected producer's durable result.
9
34
  export default class ReadProjector {
35
+ // {§read-bytes} — one hexadecimal octet per line under the text coordinate algebra: the
36
+ // markerless default is the same `<1,16>`, `<a,b>` selects bytes, `<1,-1>` is everything.
37
+ // The source is sized, then only the window is read; the source mimetype is never relabelled.
38
+ static async #projectBytes(statement, target, source, sourceMimetype, channel, failure) {
39
+ if (LineAnchors.hasAnchor(statement.lineMarker)) {
40
+ return failure("line-anchor-unsupported", 400, `The byte view of ${target} publishes no anchors.`, {}, { target, recovery: "Use byte coordinates: `<first,last>`.", retryable: false });
41
+ }
42
+ const total = await source.size();
43
+ if (total === null)
44
+ return failure("entry-not-found", 404, `No bytes exist at ${target}.`);
45
+ const marker = statement.lineMarker ?? { marks: [1, DEFAULT_RETRIEVAL_LIMIT] };
46
+ const window = LineMarkerOps.window(marker, total, "byte");
47
+ if (window.status !== 200) {
48
+ return {
49
+ ...window,
50
+ content: null,
51
+ mimetype: sourceMimetype,
52
+ channel,
53
+ };
54
+ }
55
+ if (window.start === null || window.start === undefined || window.end === null || window.end === undefined) {
56
+ return { status: 204, content: "", mimetype: sourceMimetype, channel, range: window.range };
57
+ }
58
+ const content = ByteView.hexLines(await source.read(window.start, window.end));
59
+ return {
60
+ status: content === "" ? 204 : 200,
61
+ content,
62
+ mimetype: sourceMimetype,
63
+ channel,
64
+ startLine: window.start,
65
+ range: window.range,
66
+ projection: ByteView.PROJECTION,
67
+ };
68
+ }
10
69
  static async project(opts) {
11
- const { statement, manifest, target, identity, representation, mimetypes } = opts;
70
+ const { statement, manifest, target, identity, representation, mimetypes, bytes } = opts;
12
71
  const fragment = statement.target?.kind === "url"
13
72
  ? statement.target.fragment
14
73
  : null;
@@ -19,6 +78,14 @@ export default class ReadProjector {
19
78
  ...Object.keys(manifest.channels),
20
79
  ])].filter((candidate) => candidate.length > 0);
21
80
  const failure = (code, status, detail, fields = {}, extensions = {}) => Results.failure(`scheme:${manifest.name}`, code, status, detail, { content: null, mimetype: null, channel, ...fields }, extensions);
81
+ // {§read-bytes} — `#bytes` is the raw view of any resource whose scheme supplies bytes.
82
+ if (selected === ByteView.CHANNEL && !(selected in manifest.channels)) {
83
+ if (bytes === undefined) {
84
+ return failure("bytes-unavailable", 501, `The representation at ${target} supplies no bytes.`, {}, { target, retryable: false });
85
+ }
86
+ const sourceMimetype = representation.channels[manifest.defaultChannel]?.mimetype ?? "application/octet-stream";
87
+ return ReadProjector.#projectBytes(statement, target, bytes, sourceMimetype, ByteView.CHANNEL, failure);
88
+ }
22
89
  if (selected !== manifest.defaultChannel && !(selected in manifest.channels)) {
23
90
  return failure("channel-not-found", 400, `Channel #${selected} does not exist at ${target}.`, { channel: null }, {
24
91
  requestedChannel: selected,
@@ -38,6 +105,10 @@ export default class ReadProjector {
38
105
  return failure("entry-not-found", 404, `No entry exists at ${target}.`);
39
106
  }
40
107
  if (await MimetypeBinary.isBinaryMimetype(selectedRepresentation.mimetype, mimetypes)) {
108
+ // {§read-bytes} — a binary channel with no readable projection reads as its bytes.
109
+ if (bytes !== undefined) {
110
+ return ReadProjector.#projectBytes(statement, target, bytes, selectedRepresentation.mimetype, channel, failure);
111
+ }
41
112
  return failure("binary-read-unsupported", 415, channel === null
42
113
  ? `The representation at ${target} is binary and cannot be rendered.`
43
114
  : `The #${channel} channel is binary and cannot be rendered.`, { mimetype: selectedRepresentation.mimetype });
@@ -97,9 +168,15 @@ export default class ReadProjector {
97
168
  : { range: resolved.range, stage: "projection" }),
98
169
  });
99
170
  }
100
- const projected = { ...resolved, channel };
171
+ const image = imageOf(representation.attributes);
172
+ const document = documentOf(representation.attributes);
173
+ const projected = { ...resolved, channel, ...(image === null ? {} : { image }), ...(document === null ? {} : { document }) };
101
174
  const producerResult = selectedRepresentation.producerResult;
102
- const result = producerResult === undefined
175
+ // {§read-content-wins} — a channel that delivered content reads as that content; the
176
+ // producer's failure projects onto a READ only when there is nothing to read.
177
+ const contentDelivered = channel !== null && manifest.channels[channel] === "text/stream"
178
+ && typeof projected.content === "string" && projected.content.length > 0;
179
+ const result = producerResult === undefined || (producerResult.status >= 400 && contentDelivered)
103
180
  ? projected
104
181
  : Results.assertReadResult({
105
182
  ...producerResult,
@@ -1 +1 @@
1
- {"version":3,"file":"read-projector.js","sourceRoot":"","sources":["../../src/content/read-projector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-projector.js","sourceRoot":"","sources":["../../src/content/read-projector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { PlurnkStatement } from "@plurnk/plurnk-contracts";
2
+ import type SchemeRegistry from "./SchemeRegistry.ts";
3
+ import type { Db } from "./Db.ts";
4
+ import type { WriterTier } from "./scheme-types.ts";
5
+ import NoticeChannel from "./NoticeChannel.ts";
6
+ import ProblemLog from "./ProblemLog.ts";
7
+ import Dispatcher from "./Dispatcher.ts";
8
+ import type { ProviderEncryptedReasoningItem } from "@plurnk/plurnk-providers";
9
+ import BareBatchRunner from "./BareBatchRunner.ts";
10
+ import type { ParseErrorInfo, BareExecution, AdmittedTurnResult } from "./TurnRunner.ts";
11
+ export default class AdmittedTurnExecutor {
12
+ #private;
13
+ constructor({ db, schemes, notices, problems, dispatcher, bareBatch }: {
14
+ db: Db;
15
+ schemes: SchemeRegistry;
16
+ notices: NoticeChannel;
17
+ problems: ProblemLog;
18
+ dispatcher: Dispatcher;
19
+ bareBatch: BareBatchRunner;
20
+ });
21
+ executeAdmittedTurn({ statements, source, sourceFolded, sourceModelCallId, sourceReasoningItems, origin, workspaceId, workerId, loopId, turnId, fromSequence, maxCommands, enforceIdle, failOnOperationError, recoverableParseErrors, bare, signal, onDispatch, onSettled, }: {
22
+ statements: readonly PlurnkStatement[];
23
+ source: string | null;
24
+ sourceFolded: boolean;
25
+ sourceModelCallId?: number | null;
26
+ sourceReasoningItems?: ReadonlyArray<ProviderEncryptedReasoningItem>;
27
+ origin: WriterTier;
28
+ workspaceId: number;
29
+ workerId: number;
30
+ loopId: number;
31
+ turnId: number;
32
+ fromSequence: number;
33
+ maxCommands?: number;
34
+ enforceIdle?: boolean;
35
+ failOnOperationError?: boolean;
36
+ recoverableParseErrors?: readonly ParseErrorInfo[];
37
+ bare?: BareExecution;
38
+ signal?: AbortSignal;
39
+ onDispatch?: (logEntryId: number) => void;
40
+ onSettled?: (logEntryId: number) => void | Promise<void>;
41
+ }): Promise<AdmittedTurnResult>;
42
+ }
43
+ //# sourceMappingURL=AdmittedTurnExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdmittedTurnExecutor.d.ts","sourceRoot":"","sources":["../../src/core/AdmittedTurnExecutor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAOzC,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAsC,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE7H,MAAM,CAAC,OAAO,OAAO,oBAAoB;;IAQrC,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE;QACnE,EAAE,EAAE,EAAE,CAAC;QACP,OAAO,EAAE,cAAc,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,UAAU,CAAC;QACrB,UAAU,EAAE,UAAU,CAAC;QACvB,SAAS,EAAE,eAAe,CAAC;KAC9B,EAOA;IAMK,mBAAmB,CAAC,EACtB,UAAU,EACV,MAAM,EACN,YAAY,EACZ,iBAAwB,EACxB,oBAAoB,EACpB,MAAM,EACN,WAAW,EACX,QAAQ,EACR,MAAM,EACN,MAAM,EACN,YAAY,EACZ,WAAsC,EACtC,WAAmB,EACnB,oBAA4B,EAC5B,sBAA2B,EAC3B,IAAI,EACJ,MAAM,EACN,UAAU,EACV,SAAS,GACZ,EAAE;QACC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;QACvC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,oBAAoB,CAAC,EAAE,aAAa,CAAC,8BAA8B,CAAC,CAAC;QACrE,MAAM,EAAE,UAAU,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,sBAAsB,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;QACnD,IAAI,CAAC,EAAE,aAAa,CAAC;QACrB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;QAC1C,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5D,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsP9B;CAGJ"}