@plurnk/plurnk-service 1.3.12 → 1.4.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 (469) hide show
  1. package/.env.defaults +84 -77
  2. package/INSTALL.md +50 -25
  3. package/README.md +24 -10
  4. package/SPEC.md +2311 -928
  5. package/dist/Paths.d.ts +4 -1
  6. package/dist/Paths.d.ts.map +1 -1
  7. package/dist/Paths.js +23 -21
  8. package/dist/Paths.js.map +1 -1
  9. package/dist/build-info.json +1 -1
  10. package/dist/content/edit-receipt.d.ts +13 -28
  11. package/dist/content/edit-receipt.d.ts.map +1 -1
  12. package/dist/content/edit-receipt.js +285 -104
  13. package/dist/content/edit-receipt.js.map +1 -1
  14. package/dist/content/edited-span.d.ts.map +1 -1
  15. package/dist/content/edited-span.js +2 -5
  16. package/dist/content/edited-span.js.map +1 -1
  17. package/dist/content/index.d.ts +3 -3
  18. package/dist/content/index.d.ts.map +1 -1
  19. package/dist/content/index.js +1 -1
  20. package/dist/content/index.js.map +1 -1
  21. package/dist/content/line-marker.d.ts +6 -9
  22. package/dist/content/line-marker.d.ts.map +1 -1
  23. package/dist/content/line-marker.js +7 -11
  24. package/dist/content/line-marker.js.map +1 -1
  25. package/dist/content/matcher.d.ts +14 -25
  26. package/dist/content/matcher.d.ts.map +1 -1
  27. package/dist/content/matcher.js +77 -107
  28. package/dist/content/matcher.js.map +1 -1
  29. package/dist/content/mimetype-binary.d.ts +2 -2
  30. package/dist/content/mimetype-binary.d.ts.map +1 -1
  31. package/dist/content/mimetype-binary.js +10 -10
  32. package/dist/content/mimetype-binary.js.map +1 -1
  33. package/dist/content/path-mimetype.js +3 -3
  34. package/dist/content/path-mimetype.js.map +1 -1
  35. package/dist/content/read-resolve.d.ts +8 -4
  36. package/dist/content/read-resolve.d.ts.map +1 -1
  37. package/dist/content/read-resolve.js +101 -49
  38. package/dist/content/read-resolve.js.map +1 -1
  39. package/dist/core/BranchReceipt.d.ts +7 -0
  40. package/dist/core/BranchReceipt.d.ts.map +1 -0
  41. package/dist/core/BranchReceipt.js +27 -0
  42. package/dist/core/BranchReceipt.js.map +1 -0
  43. package/dist/core/BudgetOverflow.d.ts +23 -0
  44. package/dist/core/BudgetOverflow.d.ts.map +1 -0
  45. package/dist/core/BudgetOverflow.js +61 -0
  46. package/dist/core/BudgetOverflow.js.map +1 -0
  47. package/dist/core/BudgetReadout.d.ts +8 -0
  48. package/dist/core/BudgetReadout.d.ts.map +1 -0
  49. package/dist/core/BudgetReadout.js +79 -0
  50. package/dist/core/BudgetReadout.js.map +1 -0
  51. package/dist/core/ChannelWrite.d.ts +28 -9
  52. package/dist/core/ChannelWrite.d.ts.map +1 -1
  53. package/dist/core/ChannelWrite.js +28 -21
  54. package/dist/core/ChannelWrite.js.map +1 -1
  55. package/dist/core/ChannelWrite.sql +11 -10
  56. package/dist/core/CoreSchemeServices.d.ts +10 -4
  57. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  58. package/dist/core/CoreSchemeServices.js +7 -1
  59. package/dist/core/CoreSchemeServices.js.map +1 -1
  60. package/dist/core/Dispatcher.d.ts +29 -20
  61. package/dist/core/Dispatcher.d.ts.map +1 -1
  62. package/dist/core/Dispatcher.js +1488 -599
  63. package/dist/core/Dispatcher.js.map +1 -1
  64. package/dist/core/DurableStatement.d.ts +6 -0
  65. package/dist/core/DurableStatement.d.ts.map +1 -0
  66. package/dist/core/DurableStatement.js +51 -0
  67. package/dist/core/DurableStatement.js.map +1 -0
  68. package/dist/core/Engine.d.ts +48 -20
  69. package/dist/core/Engine.d.ts.map +1 -1
  70. package/dist/core/Engine.js +1208 -789
  71. package/dist/core/Engine.js.map +1 -1
  72. package/dist/core/Engine.sql +309 -217
  73. package/dist/core/EnvFlags.js +1 -1
  74. package/dist/core/EnvFlags.js.map +1 -1
  75. package/dist/core/ErrorDetail.d.ts +6 -0
  76. package/dist/core/ErrorDetail.d.ts.map +1 -0
  77. package/dist/core/ErrorDetail.js +20 -0
  78. package/dist/core/ErrorDetail.js.map +1 -0
  79. package/dist/core/ExecutorRegistry.d.ts +14 -3
  80. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  81. package/dist/core/ExecutorRegistry.js +56 -30
  82. package/dist/core/ExecutorRegistry.js.map +1 -1
  83. package/dist/core/GitBranch.d.ts +20 -0
  84. package/dist/core/GitBranch.d.ts.map +1 -0
  85. package/dist/core/GitBranch.js +110 -0
  86. package/dist/core/GitBranch.js.map +1 -0
  87. package/dist/core/JournalTurn.d.ts +9 -0
  88. package/dist/core/JournalTurn.d.ts.map +1 -0
  89. package/dist/core/JournalTurn.js +14 -0
  90. package/dist/core/JournalTurn.js.map +1 -0
  91. package/dist/core/JournalTurn.sql +10 -0
  92. package/dist/core/LogBody.d.ts +17 -0
  93. package/dist/core/LogBody.d.ts.map +1 -0
  94. package/dist/core/LogBody.js +148 -0
  95. package/dist/core/LogBody.js.map +1 -0
  96. package/dist/core/LoopFlagsReader.d.ts +7 -0
  97. package/dist/core/LoopFlagsReader.d.ts.map +1 -0
  98. package/dist/core/LoopFlagsReader.js +33 -0
  99. package/dist/core/LoopFlagsReader.js.map +1 -0
  100. package/dist/core/LoopLifecycle.d.ts +8 -1
  101. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  102. package/dist/core/LoopLifecycle.js +55 -9
  103. package/dist/core/LoopLifecycle.js.map +1 -1
  104. package/dist/core/LoopLifecycle.sql +9 -3
  105. package/dist/core/NoticeChannel.d.ts +13 -0
  106. package/dist/core/NoticeChannel.d.ts.map +1 -0
  107. package/dist/core/NoticeChannel.js +40 -0
  108. package/dist/core/NoticeChannel.js.map +1 -0
  109. package/dist/core/Owner.d.ts +0 -1
  110. package/dist/core/Owner.d.ts.map +1 -1
  111. package/dist/core/Owner.js +2 -5
  112. package/dist/core/Owner.js.map +1 -1
  113. package/dist/core/PacketBuilder.d.ts +25 -24
  114. package/dist/core/PacketBuilder.d.ts.map +1 -1
  115. package/dist/core/PacketBuilder.js +313 -375
  116. package/dist/core/PacketBuilder.js.map +1 -1
  117. package/dist/core/ProblemLog.d.ts +26 -0
  118. package/dist/core/ProblemLog.d.ts.map +1 -0
  119. package/dist/core/ProblemLog.js +58 -0
  120. package/dist/core/ProblemLog.js.map +1 -0
  121. package/dist/core/ProposalLifecycle.d.ts +15 -21
  122. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  123. package/dist/core/ProposalLifecycle.js +291 -78
  124. package/dist/core/ProposalLifecycle.js.map +1 -1
  125. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  126. package/dist/core/ProviderInstantiate.js +51 -48
  127. package/dist/core/ProviderInstantiate.js.map +1 -1
  128. package/dist/core/SchemeRegistry.d.ts +14 -8
  129. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  130. package/dist/core/SchemeRegistry.js +189 -114
  131. package/dist/core/SchemeRegistry.js.map +1 -1
  132. package/dist/core/ServiceTeardown.d.ts +11 -0
  133. package/dist/core/ServiceTeardown.d.ts.map +1 -0
  134. package/dist/core/ServiceTeardown.js +70 -0
  135. package/dist/core/ServiceTeardown.js.map +1 -0
  136. package/dist/core/StoredPacket.d.ts +29 -0
  137. package/dist/core/StoredPacket.d.ts.map +1 -0
  138. package/dist/core/StoredPacket.js +147 -0
  139. package/dist/core/StoredPacket.js.map +1 -0
  140. package/dist/core/StrikeRail.d.ts +1 -2
  141. package/dist/core/StrikeRail.d.ts.map +1 -1
  142. package/dist/core/StrikeRail.js +25 -55
  143. package/dist/core/StrikeRail.js.map +1 -1
  144. package/dist/core/WorkerControlAddress.d.ts +17 -0
  145. package/dist/core/WorkerControlAddress.d.ts.map +1 -0
  146. package/dist/core/WorkerControlAddress.js +44 -0
  147. package/dist/core/WorkerControlAddress.js.map +1 -0
  148. package/dist/core/WorkerName.d.ts +31 -0
  149. package/dist/core/WorkerName.d.ts.map +1 -0
  150. package/dist/core/WorkerName.js +95 -0
  151. package/dist/core/WorkerName.js.map +1 -0
  152. package/dist/core/WorkerName.sql +36 -0
  153. package/dist/core/WorkspaceGate.d.ts +14 -0
  154. package/dist/core/WorkspaceGate.d.ts.map +1 -0
  155. package/dist/core/WorkspaceGate.js +155 -0
  156. package/dist/core/WorkspaceGate.js.map +1 -0
  157. package/dist/core/caps/CapsResolve.d.ts +1 -1
  158. package/dist/core/caps/CapsResolve.d.ts.map +1 -1
  159. package/dist/core/caps/CapsResolve.js.map +1 -1
  160. package/dist/core/caps/DbChannelCaps.d.ts +5 -11
  161. package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
  162. package/dist/core/caps/DbChannelCaps.js +24 -8
  163. package/dist/core/caps/DbChannelCaps.js.map +1 -1
  164. package/dist/core/caps/DbEntryCaps.d.ts +4 -13
  165. package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
  166. package/dist/core/caps/DbEntryCaps.js +15 -6
  167. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  168. package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
  169. package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
  170. package/dist/core/caps/DbNotifyCaps.js +12 -11
  171. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  172. package/dist/core/caps/DbProjectionCaps.d.ts +5 -5
  173. package/dist/core/caps/DbProjectionCaps.d.ts.map +1 -1
  174. package/dist/core/caps/DbProjectionCaps.js +21 -4
  175. package/dist/core/caps/DbProjectionCaps.js.map +1 -1
  176. package/dist/core/caps/DbSubscriptionCaps.d.ts +4 -4
  177. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  178. package/dist/core/caps/DbSubscriptionCaps.js +57 -62
  179. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  180. package/dist/core/caps/DbTagCaps.d.ts +5 -12
  181. package/dist/core/caps/DbTagCaps.d.ts.map +1 -1
  182. package/dist/core/caps/DbTagCaps.js +14 -7
  183. package/dist/core/caps/DbTagCaps.js.map +1 -1
  184. package/dist/core/content-hash.js +1 -1
  185. package/dist/core/content-hash.js.map +1 -1
  186. package/dist/core/env-defaults.d.ts.map +1 -1
  187. package/dist/core/env-defaults.js.map +1 -1
  188. package/dist/core/fork.d.ts.map +1 -1
  189. package/dist/core/fork.js +55 -30
  190. package/dist/core/fork.js.map +1 -1
  191. package/dist/core/fork.sql +41 -27
  192. package/dist/core/git-env.d.ts +2 -0
  193. package/dist/core/git-env.d.ts.map +1 -1
  194. package/dist/core/git-env.js +13 -18
  195. package/dist/core/git-env.js.map +1 -1
  196. package/dist/core/git-iso.d.ts.map +1 -1
  197. package/dist/core/git-iso.js +9 -15
  198. package/dist/core/git-iso.js.map +1 -1
  199. package/dist/core/git-membership.d.ts +1 -1
  200. package/dist/core/git-membership.d.ts.map +1 -1
  201. package/dist/core/git-membership.js +198 -146
  202. package/dist/core/git-membership.js.map +1 -1
  203. package/dist/core/git-state.d.ts.map +1 -1
  204. package/dist/core/git-state.js +10 -11
  205. package/dist/core/git-state.js.map +1 -1
  206. package/dist/core/owner.sql +1 -1
  207. package/dist/core/packet-inject.d.ts.map +1 -1
  208. package/dist/core/packet-inject.js +7 -11
  209. package/dist/core/packet-inject.js.map +1 -1
  210. package/dist/core/packet-wire.d.ts +2 -20
  211. package/dist/core/packet-wire.d.ts.map +1 -1
  212. package/dist/core/packet-wire.js +242 -368
  213. package/dist/core/packet-wire.js.map +1 -1
  214. package/dist/core/plurnk-uri.d.ts +12 -1
  215. package/dist/core/plurnk-uri.d.ts.map +1 -1
  216. package/dist/core/plurnk-uri.js +49 -29
  217. package/dist/core/plurnk-uri.js.map +1 -1
  218. package/dist/core/results.d.ts +16 -5
  219. package/dist/core/results.d.ts.map +1 -1
  220. package/dist/core/results.js +27 -18
  221. package/dist/core/results.js.map +1 -1
  222. package/dist/core/ruler_count.d.ts +4 -0
  223. package/dist/core/ruler_count.d.ts.map +1 -0
  224. package/dist/core/ruler_count.js +7 -0
  225. package/dist/core/ruler_count.js.map +1 -0
  226. package/dist/core/scheme-types.d.ts +9 -11
  227. package/dist/core/scheme-types.d.ts.map +1 -1
  228. package/dist/core/scheme-types.js.map +1 -1
  229. package/dist/core/search-gate.d.ts.map +1 -1
  230. package/dist/core/search-gate.js +3 -11
  231. package/dist/core/search-gate.js.map +1 -1
  232. package/dist/core/teaching-corpus.d.ts +6 -0
  233. package/dist/core/teaching-corpus.d.ts.map +1 -0
  234. package/dist/core/teaching-corpus.js +23 -0
  235. package/dist/core/teaching-corpus.js.map +1 -0
  236. package/dist/core/teaching.d.ts +0 -1
  237. package/dist/core/teaching.d.ts.map +1 -1
  238. package/dist/core/teaching.js +2 -8
  239. package/dist/core/teaching.js.map +1 -1
  240. package/dist/core/token-ruler.d.ts.map +1 -1
  241. package/dist/core/token-ruler.js +3 -16
  242. package/dist/core/token-ruler.js.map +1 -1
  243. package/dist/core/turn-scheduler.d.ts +1 -1
  244. package/dist/core/turn-scheduler.d.ts.map +1 -1
  245. package/dist/core/turn-scheduler.js +1 -1
  246. package/dist/core/turn-scheduler.js.map +1 -1
  247. package/dist/core/worker-cap.d.ts +2 -4
  248. package/dist/core/worker-cap.d.ts.map +1 -1
  249. package/dist/core/worker-cap.js +13 -4
  250. package/dist/core/worker-cap.js.map +1 -1
  251. package/dist/core/{run-ops.sql → worker-ops.sql} +11 -11
  252. package/dist/core/workspace-settings.d.ts.map +1 -1
  253. package/dist/core/workspace-settings.js +17 -9
  254. package/dist/core/workspace-settings.js.map +1 -1
  255. package/dist/digest/Digest.d.ts +2 -1
  256. package/dist/digest/Digest.d.ts.map +1 -1
  257. package/dist/digest/Digest.js +337 -138
  258. package/dist/digest/Digest.js.map +1 -1
  259. package/dist/digest/digest.sql +19 -10
  260. package/dist/index.d.ts.map +1 -1
  261. package/dist/index.js +3 -5
  262. package/dist/index.js.map +1 -1
  263. package/dist/matrix/live-specimen.d.ts +9 -0
  264. package/dist/matrix/live-specimen.d.ts.map +1 -0
  265. package/dist/matrix/live-specimen.js +37 -0
  266. package/dist/matrix/live-specimen.js.map +1 -0
  267. package/dist/observe/api.d.ts +6 -0
  268. package/dist/observe/api.d.ts.map +1 -0
  269. package/dist/observe/api.js +11 -0
  270. package/dist/observe/api.js.map +1 -0
  271. package/dist/observe/init.d.ts +7 -0
  272. package/dist/observe/init.d.ts.map +1 -0
  273. package/dist/observe/init.js +159 -0
  274. package/dist/observe/init.js.map +1 -0
  275. package/dist/observe/metrics.d.ts +6 -0
  276. package/dist/observe/metrics.d.ts.map +1 -0
  277. package/dist/observe/metrics.js +15 -0
  278. package/dist/observe/metrics.js.map +1 -0
  279. package/dist/observe/spans.d.ts +4 -0
  280. package/dist/observe/spans.d.ts.map +1 -0
  281. package/dist/observe/spans.js +51 -0
  282. package/dist/observe/spans.js.map +1 -0
  283. package/dist/schemes/EffectPolicy.d.ts +1 -0
  284. package/dist/schemes/EffectPolicy.d.ts.map +1 -1
  285. package/dist/schemes/EffectPolicy.js +5 -2
  286. package/dist/schemes/EffectPolicy.js.map +1 -1
  287. package/dist/schemes/Exec.d.ts +6 -11
  288. package/dist/schemes/Exec.d.ts.map +1 -1
  289. package/dist/schemes/Exec.js +364 -247
  290. package/dist/schemes/Exec.js.map +1 -1
  291. package/dist/schemes/ExecOutputScheme.d.ts +8 -7
  292. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  293. package/dist/schemes/ExecOutputScheme.js +48 -9
  294. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  295. package/dist/schemes/File.d.ts +7 -11
  296. package/dist/schemes/File.d.ts.map +1 -1
  297. package/dist/schemes/File.js +279 -142
  298. package/dist/schemes/File.js.map +1 -1
  299. package/dist/schemes/Log.d.ts +4 -8
  300. package/dist/schemes/Log.d.ts.map +1 -1
  301. package/dist/schemes/Log.js +475 -208
  302. package/dist/schemes/Log.js.map +1 -1
  303. package/dist/schemes/Log.sql +62 -30
  304. package/dist/schemes/Prompt.d.ts +3 -2
  305. package/dist/schemes/Prompt.d.ts.map +1 -1
  306. package/dist/schemes/Prompt.js +9 -6
  307. package/dist/schemes/Prompt.js.map +1 -1
  308. package/dist/schemes/Skill.d.ts +1 -1
  309. package/dist/schemes/Skill.d.ts.map +1 -1
  310. package/dist/schemes/Skill.js +2 -3
  311. package/dist/schemes/Skill.js.map +1 -1
  312. package/dist/schemes/Worker.d.ts +8 -16
  313. package/dist/schemes/Worker.d.ts.map +1 -1
  314. package/dist/schemes/Worker.js +179 -69
  315. package/dist/schemes/Worker.js.map +1 -1
  316. package/dist/schemes/_entry-chunk.d.ts.map +1 -1
  317. package/dist/schemes/_entry-chunk.js +12 -5
  318. package/dist/schemes/_entry-chunk.js.map +1 -1
  319. package/dist/schemes/_entry-crud.d.ts +10 -9
  320. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  321. package/dist/schemes/_entry-crud.js +59 -13
  322. package/dist/schemes/_entry-crud.js.map +1 -1
  323. package/dist/schemes/_entry-crud.sql +20 -8
  324. package/dist/schemes/_entry-find.d.ts +20 -15
  325. package/dist/schemes/_entry-find.d.ts.map +1 -1
  326. package/dist/schemes/_entry-find.js +339 -174
  327. package/dist/schemes/_entry-find.js.map +1 -1
  328. package/dist/schemes/_entry-find.sql +20 -8
  329. package/dist/schemes/_entry-graph.d.ts +4 -2
  330. package/dist/schemes/_entry-graph.d.ts.map +1 -1
  331. package/dist/schemes/_entry-graph.js +55 -31
  332. package/dist/schemes/_entry-graph.js.map +1 -1
  333. package/dist/schemes/_entry-graph.sql +37 -22
  334. package/dist/schemes/_entry-manifest.d.ts +10 -15
  335. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  336. package/dist/schemes/_entry-manifest.js +50 -268
  337. package/dist/schemes/_entry-manifest.js.map +1 -1
  338. package/dist/schemes/_entry-ops.d.ts +9 -14
  339. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  340. package/dist/schemes/_entry-ops.js +149 -77
  341. package/dist/schemes/_entry-ops.js.map +1 -1
  342. package/dist/schemes/_entry-ops.sql +1 -1
  343. package/dist/schemes/_entry-semantic.d.ts +23 -8
  344. package/dist/schemes/_entry-semantic.d.ts.map +1 -1
  345. package/dist/schemes/_entry-semantic.js +141 -60
  346. package/dist/schemes/_entry-semantic.js.map +1 -1
  347. package/dist/schemes/_entry-semantic.sql +63 -45
  348. package/dist/schemes/_entry-send.d.ts +3 -4
  349. package/dist/schemes/_entry-send.d.ts.map +1 -1
  350. package/dist/schemes/_entry-send.js +48 -23
  351. package/dist/schemes/_entry-send.js.map +1 -1
  352. package/dist/schemes/_path-scope.d.ts +23 -0
  353. package/dist/schemes/_path-scope.d.ts.map +1 -0
  354. package/dist/schemes/_path-scope.js +61 -0
  355. package/dist/schemes/_path-scope.js.map +1 -0
  356. package/dist/schemes/_search-candidate.d.ts +20 -0
  357. package/dist/schemes/_search-candidate.d.ts.map +1 -0
  358. package/dist/schemes/_search-candidate.js +19 -0
  359. package/dist/schemes/_search-candidate.js.map +1 -0
  360. package/dist/schemes/_search-exclusion.d.ts +7 -0
  361. package/dist/schemes/_search-exclusion.d.ts.map +1 -0
  362. package/dist/schemes/_search-exclusion.js +23 -0
  363. package/dist/schemes/_search-exclusion.js.map +1 -0
  364. package/dist/schemes/_search-index.d.ts +6 -0
  365. package/dist/schemes/_search-index.d.ts.map +1 -0
  366. package/dist/schemes/_search-index.js +326 -0
  367. package/dist/schemes/_search-index.js.map +1 -0
  368. package/dist/schemes/cosine.js +1 -1
  369. package/dist/schemes/cosine.js.map +1 -1
  370. package/dist/schemes/exec-abort.js +3 -3
  371. package/dist/schemes/exec-abort.js.map +1 -1
  372. package/dist/schemes/exec-env.js +3 -3
  373. package/dist/schemes/exec-env.js.map +1 -1
  374. package/dist/server/BranchBatches.d.ts +48 -0
  375. package/dist/server/BranchBatches.d.ts.map +1 -0
  376. package/dist/server/BranchBatches.js +591 -0
  377. package/dist/server/BranchBatches.js.map +1 -0
  378. package/dist/server/Daemon.d.ts +36 -66
  379. package/dist/server/Daemon.d.ts.map +1 -1
  380. package/dist/server/Daemon.js +920 -446
  381. package/dist/server/Daemon.js.map +1 -1
  382. package/dist/server/DaemonModule.d.ts +31 -0
  383. package/dist/server/DaemonModule.d.ts.map +1 -0
  384. package/dist/server/DaemonModule.js +2 -0
  385. package/dist/server/DaemonModule.js.map +1 -0
  386. package/dist/server/branch-batch.sql +152 -0
  387. package/dist/server/client-input.d.ts +12 -0
  388. package/dist/server/client-input.d.ts.map +1 -1
  389. package/dist/server/client-input.js +262 -57
  390. package/dist/server/client-input.js.map +1 -1
  391. package/dist/server/dispatch-as-plurnk.d.ts +1 -1
  392. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  393. package/dist/server/dispatch-as-plurnk.js +15 -7
  394. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  395. package/dist/server/drain.sql +92 -62
  396. package/dist/server/envelope.d.ts +2 -5
  397. package/dist/server/envelope.d.ts.map +1 -1
  398. package/dist/server/envelope.js +119 -95
  399. package/dist/server/envelope.js.map +1 -1
  400. package/dist/server/envelope.sql +19 -23
  401. package/dist/server/exec-poll-backoff.js +1 -1
  402. package/dist/server/exec-poll-backoff.js.map +1 -1
  403. package/dist/server/lifecycle-recovery.sql +79 -2
  404. package/dist/server/logEntry.d.ts +3 -1
  405. package/dist/server/logEntry.d.ts.map +1 -1
  406. package/dist/server/logEntry.js +4 -2
  407. package/dist/server/logEntry.js.map +1 -1
  408. package/dist/server/logEntry.sql +1 -1
  409. package/dist/server/loop-model.d.ts.map +1 -1
  410. package/dist/server/loop-model.js +22 -9
  411. package/dist/server/loop-model.js.map +1 -1
  412. package/dist/server/loopDocs.d.ts.map +1 -1
  413. package/dist/server/loopDocs.js +5 -4
  414. package/dist/server/loopDocs.js.map +1 -1
  415. package/dist/server/seam-entry-read.sql +15 -10
  416. package/dist/server/seam-log-read.sql +2 -2
  417. package/dist/server/seam-loop.sql +1 -1
  418. package/dist/server/seam-proposal-list.sql +17 -7
  419. package/dist/service.d.ts.map +1 -1
  420. package/dist/service.js +66 -60
  421. package/dist/service.js.map +1 -1
  422. package/migrations/001_schema.sql +897 -0
  423. package/package.json +57 -26
  424. package/dist/core/PluginLoader.d.ts +0 -20
  425. package/dist/core/PluginLoader.d.ts.map +0 -1
  426. package/dist/core/PluginLoader.js +0 -142
  427. package/dist/core/PluginLoader.js.map +0 -1
  428. package/dist/core/TelemetryChannel.d.ts +0 -37
  429. package/dist/core/TelemetryChannel.d.ts.map +0 -1
  430. package/dist/core/TelemetryChannel.js +0 -80
  431. package/dist/core/TelemetryChannel.js.map +0 -1
  432. package/dist/core/path-decode.d.ts +0 -3
  433. package/dist/core/path-decode.d.ts.map +0 -1
  434. package/dist/core/path-decode.js +0 -9
  435. package/dist/core/path-decode.js.map +0 -1
  436. package/dist/core/plugin-attribution.d.ts +0 -5
  437. package/dist/core/plugin-attribution.d.ts.map +0 -1
  438. package/dist/core/plugin-attribution.js +0 -39
  439. package/dist/core/plugin-attribution.js.map +0 -1
  440. package/dist/core/world-state.d.ts +0 -10
  441. package/dist/core/world-state.d.ts.map +0 -1
  442. package/dist/core/world-state.js +0 -35
  443. package/dist/core/world-state.js.map +0 -1
  444. package/dist/core/world-state.sql +0 -35
  445. package/dist/core/zero-pin.d.ts +0 -3
  446. package/dist/core/zero-pin.d.ts.map +0 -1
  447. package/dist/core/zero-pin.js +0 -16
  448. package/dist/core/zero-pin.js.map +0 -1
  449. package/dist/server/auto.d.ts +0 -6
  450. package/dist/server/auto.d.ts.map +0 -1
  451. package/dist/server/auto.js +0 -63
  452. package/dist/server/auto.js.map +0 -1
  453. package/dist/server/clientTurn.d.ts +0 -6
  454. package/dist/server/clientTurn.d.ts.map +0 -1
  455. package/dist/server/clientTurn.js +0 -22
  456. package/dist/server/clientTurn.js.map +0 -1
  457. package/dist/server/clientTurn.sql +0 -10
  458. package/dist/server/noProposals.d.ts +0 -6
  459. package/dist/server/noProposals.d.ts.map +0 -1
  460. package/dist/server/noProposals.js +0 -37
  461. package/dist/server/noProposals.js.map +0 -1
  462. package/dist/server/version-info.d.ts +0 -14
  463. package/dist/server/version-info.d.ts.map +0 -1
  464. package/dist/server/version-info.js +0 -69
  465. package/dist/server/version-info.js.map +0 -1
  466. package/migrations/0000-00-00.01_schema.sql +0 -536
  467. package/migrations/0004_loop-provider.sql +0 -3
  468. package/migrations/0005_subscription-published-channel.sql +0 -3
  469. package/migrations/0006_loop-max-turns.sql +0 -3
@@ -1,303 +1,85 @@
1
- // The entry catalog (§packet-catalog) — the complete, unranked directory of every
2
- // entry the workspace holds, served by FIND(scheme:///**), one per-scheme array (there is no
3
- // plurnk:///manifest.json entry). catalogRowsFor renders engine_list_workspace_entries' rows,
4
- // uniformly READable, in no relevance order; the model ranks/filters it itself by querying it
5
- // (task-aware) — the catalog never ranks for it, or it would be an index again.
6
- // Each item: { path, seconds?, tags?, channels: { <uri>: { mimetype, tokens, lines } } } — each
7
- // channel keyed by its addressable URI (default channel → the bare path, non-default → path#channel).
8
- // `tokens` is the model-agnostic ruler (§tokenomics-agnostic-ruler, chars/2), re-counted at
9
- // render — one number per content regardless of which of the workspace's concurrent models reads
10
- // it; `lines` is the content's extent from mimetypes' process() totalLines.
11
- //
12
- // maintainDerivations (the per-turn pump) refreshes the deep channels the rows report; both live
13
- // in the schemes/entry layer, not the engine — building a scheme's catalog is the schemes' job.
14
- import { encodePathParens } from "../core/path-decode.js";
1
+ // The entry catalog ({§packet-catalog}) — the complete, unranked directory for
2
+ // one addressed owner. FIND(**) serves it recursively; FIND(*) projects it as
3
+ // a one-level map in _entry-find. An omitted owner selects the shared commons.
4
+ // Each item carries its address, optional stream lifecycle and tags, and addressable
5
+ // channels. Search indexing is owned separately by SearchIndex.
6
+ import { PathSyntax } from "@plurnk/plurnk-contracts";
15
7
  import { renderAddress } from "../core/plurnk-uri.js";
16
- import { matchSearchExclusion } from "@plurnk/plurnk-mimetypes";
17
- import { createHash } from "node:crypto";
18
- import { availableParallelism } from "node:os";
19
- import { MimetypeBinary } from "../content/index.js";
20
- import EntryGraph from "./_entry-graph.js";
21
- import EntrySemantic from "./_entry-semantic.js";
8
+ import Owner from "../core/Owner.js";
22
9
  export default class EntryManifest {
23
- // Public — the catalog's path-rendering is the single source of truth for the
24
- // addressable key, shared by FIND (EntryFind aligns matched pathnames to catalog rows).
25
10
  static toPath(scheme, pathname) {
26
- // File keys are stored in wire canon already ({§fs-canonical-name}, storage ≡ wire —
27
- // bare git-pathspec keys): render is identity, exactly what `git ls-files` prints.
28
11
  if (scheme === "file")
29
- return encodePathParens(pathname);
30
- if (scheme === null)
31
- throw new Error(`entry '${pathname}' carries a NULL scheme — pre-v2 row survived the heal ({§entry-identity-no-null})`);
32
- // {§entry-owner} — the owner rides the owner_id column, never the pathname; render the
33
- // empty-authority form. A face that queried a non-empty authority re-applies it to the
34
- // result paths (Worker.find) so the model sees the address it typed.
12
+ return PathSyntax.escapeTarget(PathSyntax.encodeParens(pathname));
35
13
  return renderAddress(scheme, pathname);
36
14
  }
37
- // Read-only catalog rows for a scheme (or all entries when undefined) — the CatalogEntry[]
38
- // a per-scheme FIND(scheme:///**) renders as its JSON result, WITHOUT the derivation pump
39
- // (maintainDerivations runs that once per turn; FIND reads the channels it leaves).
40
- // {§entry-owner} — `ownerId` sources ONE principal's rows (a FIND's alignment matches its
41
- // owner-scoped candidates — never a coordinate-twin sibling's metadata). Omitted → the whole
42
- // workspace across owners (the packet catalog's view).
43
15
  static async catalogRowsFor(ctx, schemeFilter, ownerId) {
44
16
  const { db, workspaceId, mimetypes, tokenize } = ctx;
45
17
  if (mimetypes === undefined)
46
18
  throw new Error("catalogRowsFor: ctx.mimetypes is required for the lines (extent) field");
47
19
  if (tokenize === undefined)
48
20
  throw new Error("catalogRowsFor: ctx.tokenize is required — the model-agnostic ruler, re-counted at render");
49
- const all = ownerId === undefined
50
- ? await db.engine_list_workspace_entries.all({ workspace_id: workspaceId })
51
- : await db.engine_list_worker_entries.all({ workspace_id: workspaceId, owner_id: ownerId });
52
- const rows = schemeFilter === undefined ? all : all.filter((r) => r.scheme === schemeFilter);
21
+ const resolvedOwnerId = ownerId ?? await Owner.commonsId(db, workspaceId);
22
+ const all = await db.engine_list_owner_entries.all({
23
+ workspace_id: workspaceId,
24
+ owner_id: resolvedOwnerId,
25
+ });
26
+ const rows = schemeFilter === undefined ? all : all.filter((row) => row.scheme === schemeFilter);
53
27
  const tagsById = new Map();
54
- const tagRows = ownerId === undefined
55
- ? await db.engine_list_workspace_entry_tags.all({ workspace_id: workspaceId })
56
- : await db.engine_list_worker_entry_tags.all({ workspace_id: workspaceId, owner_id: ownerId });
28
+ const tagRows = await db.engine_list_owner_entry_tags.all({
29
+ workspace_id: workspaceId,
30
+ owner_id: resolvedOwnerId,
31
+ });
57
32
  for (const { entry_id, tag } of tagRows) {
58
- const list = tagsById.get(entry_id);
59
- if (list === undefined)
33
+ const tags = tagsById.get(entry_id);
34
+ if (tags === undefined)
60
35
  tagsById.set(entry_id, [tag]);
61
36
  else
62
- list.push(tag);
37
+ tags.push(tag);
63
38
  }
64
39
  const byEntry = new Map();
65
- for (const r of rows) {
66
- const path = EntryManifest.toPath(r.scheme, r.pathname);
40
+ for (const row of rows) {
41
+ const path = EntryManifest.toPath(row.scheme, row.pathname);
67
42
  let entry = byEntry.get(path);
68
43
  if (entry === undefined) {
69
44
  entry = { path, channels: {} };
70
- const tags = tagsById.get(r.entry_id);
45
+ const tags = tagsById.get(row.entry_id);
71
46
  if (tags !== undefined && tags.length > 0)
72
47
  entry.tags = tags;
73
48
  byEntry.set(path, entry);
74
49
  }
75
- if (r.seconds !== null && entry.seconds === undefined)
76
- entry.seconds = r.seconds;
77
- // Lines via a read-only process() (no deep channels → no derivation). A malformed
78
- // entry degrades to a bare line count, parity with buildManifestBody's containment.
50
+ if (row.subscription_id !== null && entry.stream === undefined) {
51
+ if (row.close_status === null) {
52
+ if (row.seconds === null)
53
+ throw new Error(`active subscription ${row.subscription_id} has no age`);
54
+ entry.stream = { state: "active", seconds: row.seconds };
55
+ }
56
+ else {
57
+ entry.stream = {
58
+ state: row.close_status === 499
59
+ ? "killed"
60
+ : row.close_status >= 400 ? "failed" : "closed",
61
+ status: row.close_status,
62
+ };
63
+ }
64
+ }
79
65
  let totalLines;
80
66
  try {
81
- totalLines = (await mimetypes.process({ content: r.content, hint: r.mimetype }, { channels: [] })).totalLines;
67
+ totalLines = (await mimetypes.process({ content: row.content, hint: row.mimetype }, { channels: [] })).totalLines;
82
68
  }
83
69
  catch {
84
- totalLines = r.content.length === 0 ? 0 : r.content.split("\n").length;
70
+ totalLines = row.content.length === 0 ? 0 : row.content.split("\n").length;
85
71
  }
86
- const defaultCh = ctx.defaultChannelFor?.(r.scheme) ?? "body";
87
- const channelKey = r.channel === defaultCh ? entry.path : `${entry.path}#${r.channel}`;
88
- entry.channels[channelKey] = { mimetype: r.mimetype, tokens: tokenize(r.content), lines: totalLines };
72
+ const defaultChannel = ctx.defaultChannelFor?.(row.scheme) ?? "body";
73
+ const channelKey = row.channel === defaultChannel
74
+ ? entry.path
75
+ : `${entry.path}#${PathSyntax.escapeTarget(row.channel)}`;
76
+ entry.channels[channelKey] = {
77
+ mimetype: row.mimetype,
78
+ tokens: tokenize(row.content),
79
+ lines: totalLines,
80
+ };
89
81
  }
90
82
  return [...byEntry.values()];
91
83
  }
92
- // The derivation pump (§mimetype) materializes one immutable artifact per
93
- // content+mimetype+reader+embedder identity, then atomically attaches entries to
94
- // it. The artifact contains graph, reader-projected FTS, and vectors; identical
95
- // entries share it without copying. Cancellation leaves a building artifact
96
- // unattached for retry; an entry-local failure is terminal and observable so
97
- // one malformed specimen cannot hold workspace readiness hostage.
98
- // Hash-keyed chains serialize concurrent workspace warm requests for the same
99
- // artifact while distinct artifacts remain parallel.
100
- static #deriveChains = new Map();
101
- static async deriveOne(ctx, r, hash, embedActive, searchExcluded, onProgress) {
102
- const prior = EntryManifest.#deriveChains.get(hash) ?? Promise.resolve();
103
- const run = prior.then(() => EntryManifest.#deriveOneUnlocked(ctx, r, hash, embedActive, searchExcluded, onProgress));
104
- const tail = run.catch(() => { }); // the chain survives a failed link; deriveOne's caller sees the rejection
105
- EntryManifest.#deriveChains.set(hash, tail);
106
- void tail.finally(() => {
107
- if (EntryManifest.#deriveChains.get(hash) === tail)
108
- EntryManifest.#deriveChains.delete(hash);
109
- });
110
- return run;
111
- }
112
- static async #deriveOneUnlocked(ctx, r, hash, embedActive, searchExcluded, onProgress) {
113
- const { db, mimetypes } = ctx;
114
- if (mimetypes === undefined)
115
- throw new Error("deriveOne: ctx.mimetypes is required");
116
- let artifact = await db.derivation_get.get({ deep_hash: hash });
117
- if (artifact?.state === "complete") {
118
- await db.graph_set_deep_hash.run({ entry_id: r.entry_id, deep_hash: hash });
119
- return;
120
- }
121
- if (artifact === undefined) {
122
- artifact = await db.derivation_create.get({ deep_hash: hash });
123
- }
124
- if (artifact === undefined)
125
- throw new Error(`failed to create derivation artifact ${hash}`);
126
- const derivationId = artifact.id;
127
- const attachComplete = async (disposition, reason = null) => {
128
- await db.derivation_complete.run({ derivation_id: derivationId, disposition, reason });
129
- await db.graph_set_deep_hash.run({ entry_id: r.entry_id, deep_hash: hash });
130
- };
131
- const wantGraph = r.content.length > 0 && !MimetypeBinary.isBinaryMimetype(r.mimetype);
132
- if (searchExcluded !== undefined) {
133
- await EntryGraph.populateFrom(db, derivationId, [], []);
134
- await EntrySemantic.indexFts(db, derivationId, "");
135
- await EntrySemantic.indexEmbedding(db, derivationId, [], undefined);
136
- await attachComplete("excluded", searchExcluded);
137
- return;
138
- }
139
- if (!wantGraph) {
140
- await EntryGraph.populateFrom(db, derivationId, [], []);
141
- await EntrySemantic.indexFts(db, derivationId, "");
142
- await EntrySemantic.indexEmbedding(db, derivationId, [], undefined);
143
- await attachComplete("nonsemantic", r.content.length === 0 ? "empty" : "binary");
144
- return;
145
- }
146
- try {
147
- let result;
148
- try {
149
- result = await mimetypes.process({ content: r.content, hint: r.mimetype, path: r.pathname }, { channels: ["symbols", "references", "content"] }); // §mimetype-methods-process-entry-point — "content" = the readable projection (mimetypes#48): FTS/embeddings consume it when the handler offers one. Embeddings have one path below: tiled embedBatch, never a discarded whole-file pre-pass.
150
- await EntryGraph.populateFrom(db, derivationId, result.symbols ?? [], result.references ?? []);
151
- }
152
- catch {
153
- // A handler predating the references channel throws → metadata-only, clear graph.
154
- result = await mimetypes.process({ content: r.content, hint: r.mimetype, path: r.pathname }, { channels: [] });
155
- await EntryGraph.populateFrom(db, derivationId, [], []);
156
- }
157
- // Store the processed lexical projection and vectors in the derivation
158
- // artifact. Empty/binary content clears rather than stores projections.
159
- // The SEMANTIC SOURCE: when the handler returns a readable projection
160
- // (ProcessResult.content — e.g. text/html's Readability→markdown), FTS and the
161
- // embedder consume THAT, not the raw body. A 424k-token raw page becomes a few-k
162
- // article; the vectors and keywords index what a reader (and the model, per the
163
- // epic's READ-slices-of-reading end-state) actually consumes. Handlers that return
164
- // no projection keep today's raw-body behavior exactly.
165
- const semanticSource = result.content ?? r.content;
166
- await EntrySemantic.indexFts(db, derivationId, semanticSource);
167
- // Size rejection is vector-only: membership, READ, graph, and FTS remain exhaustive.
168
- if (EntrySemantic.embedSizeRejection(semanticSource) !== null) {
169
- await EntrySemantic.indexEmbedding(db, derivationId, [], undefined);
170
- await attachComplete("lexical", "max_embed_size");
171
- return;
172
- }
173
- if (!embedActive) {
174
- await EntrySemantic.indexEmbedding(db, derivationId, [], undefined);
175
- await attachComplete("lexical", "embedder_unavailable");
176
- return;
177
- }
178
- const { chunks, model } = await EntrySemantic.deriveEmbeddings(mimetypes, semanticSource, result.symbols ?? [], undefined, undefined, ctx.signal, onProgress);
179
- await EntrySemantic.indexEmbedding(db, derivationId, chunks, model);
180
- await attachComplete(chunks.length > 0 ? "vector" : "nonsemantic", chunks.length > 0 ? null : "no_embedding_content");
181
- }
182
- catch (error) {
183
- if (ctx.signal?.aborted === true)
184
- throw error;
185
- await EntryGraph.populateFrom(db, derivationId, [], []);
186
- await EntrySemantic.indexFts(db, derivationId, "");
187
- await EntrySemantic.indexEmbedding(db, derivationId, [], undefined);
188
- await attachComplete("failed", error instanceof Error ? error.message : String(error));
189
- }
190
- }
191
- static async maintainDerivations(ctx) {
192
- const { db, workspaceId, mimetypes } = ctx;
193
- if (mimetypes === undefined)
194
- throw new Error("maintainDerivations: ctx.mimetypes is required to derive entry deep channels");
195
- const rows = await db.engine_list_workspace_entries.all({ workspace_id: workspaceId });
196
- // The embedding config signature is identical for every entry this pass — compute it
197
- // once and fold it into each deep_hash (re-derive on model/knob change).
198
- const deepCfgSig = await EntrySemantic.deepConfigSignature(mimetypes);
199
- // No embedder (absent OR PLURNK_SERVICE_EMBED_DISABLE) → don't request the embedding channel: it loads/
200
- // runs the model independent of the capability probe, and deriveEmbeddings would only discard the
201
- // vector. The signature already collapses to "embed:none" in that case, so reuse it (no new flag read).
202
- const embedActive = deepCfgSig !== "embed:none";
203
- // The changed-entry worklist (body channel, deep_hash stale), computed up front so the
204
- // corpus total is known — a multi-entry pass (the initial ingest, which otherwise looks
205
- // frozen) emits a throttled progress signal; a normal turn (0-1 entries) stays silent. #272
206
- const pending = [];
207
- for (const r of rows) {
208
- if (r.channel !== "body")
209
- continue; // derivation fires on the body channel only
210
- // SEARCH_EXCLUDE classifies generated project members. URI paths in
211
- // other schemes are resource identities, not repository layout:
212
- // https://host/dist/index.json is not a generated local artifact.
213
- const searchExcluded = r.scheme === "file"
214
- ? matchSearchExclusion(r.pathname)
215
- : undefined;
216
- const dispositionIdentity = searchExcluded === undefined ? "included" : `excluded:${searchExcluded}`;
217
- const hash = createHash("sha256").update(r.content).update("\0").update(r.mimetype).update("\0").update(deepCfgSig).update("\0").update(dispositionIdentity).digest("hex");
218
- if (hash !== r.deep_hash)
219
- pending.push({ r, hash, searchExcluded }); // unchanged since last derivation → deep rows persist
220
- }
221
- // Smallest-first (owner ruling, service#337 follow-up): a fat outlier (a minified bundle,
222
- // a lockfile that slipped classification) derives LAST, so the corpus is mostly-warm early
223
- // and the hot path never queues behind the whale. Pure scheduling — nothing is skipped,
224
- // nothing is lazy; the whale still derives to full depth, just at the back of the line.
225
- pending.sort((a, b) => a.r.content.length - b.r.content.length);
226
- const total = pending.length;
227
- const step = total > 1 ? Math.max(1, Math.floor(total / 10)) : 0; // ~10 milestones, or silent for 0-1
228
- let completed = 0;
229
- const tick = () => {
230
- completed++;
231
- if (step > 0 && (completed === total || completed % step === 0)) {
232
- const percent = Math.floor((completed / total) * 100);
233
- ctx.pushTelemetry?.({ source: "engine:derivation", kind: "embed_progress", message: `Indexing repository semantics: ${percent}% (${completed}/${total})`, completed, total, percent, level: "info" });
234
- }
235
- };
236
- // §derivation-dedup-parallel (#416) — each content+mimetype+configuration identity builds
237
- // one shared artifact while distinct artifacts run with bounded concurrency.
238
- const groups = new Map();
239
- for (const p of pending) {
240
- const g = groups.get(p.hash);
241
- if (g === undefined)
242
- groups.set(p.hash, [p]);
243
- else
244
- g.push(p);
245
- }
246
- const rawConcurrency = process.env.PLURNK_SERVICE_DERIVE_CONCURRENCY;
247
- const cores = availableParallelism();
248
- const configuredConcurrency = rawConcurrency === undefined || rawConcurrency.trim() === ""
249
- // Entry derivation is a producer tier above the all-core embedding pool.
250
- // A square-root fan-out keeps that pool fed without simultaneously
251
- // materializing one enormous symbol/chunk graph per host core.
252
- ? Math.max(1, Math.floor(Math.sqrt(cores)))
253
- : Number(rawConcurrency);
254
- if (!Number.isInteger(configuredConcurrency) || configuredConcurrency === 0 || configuredConcurrency < -1) {
255
- throw new RangeError(`PLURNK_SERVICE_DERIVE_CONCURRENCY must be -1 (match cores) or a positive integer; got ${JSON.stringify(rawConcurrency)}`);
256
- }
257
- const concurrency = configuredConcurrency === -1 ? availableParallelism() : configuredConcurrency;
258
- let lastHeartbeatAt = 0;
259
- const workerPool = async (work) => {
260
- let next = 0;
261
- const worker = async () => {
262
- while (next < work.length) {
263
- if (ctx.signal?.aborted === true)
264
- return;
265
- const group = work[next++];
266
- for (const { r, hash, searchExcluded } of group) {
267
- if (Boolean(ctx.signal?.aborted))
268
- return;
269
- await EntryManifest.deriveOne(ctx, r, hash, embedActive, searchExcluded, (progress) => {
270
- if (step === 0 || progress.total <= 1)
271
- return;
272
- const milestone = progress.completed === progress.total
273
- || progress.completed % Math.max(1, Math.floor(progress.total / 10)) === 0;
274
- if (!milestone)
275
- return;
276
- const now = Date.now();
277
- if (now - lastHeartbeatAt < 5_000)
278
- return;
279
- lastHeartbeatAt = now;
280
- const percent = Math.floor((completed / total) * 100);
281
- ctx.pushTelemetry?.({
282
- source: "engine:derivation",
283
- kind: "embed_progress",
284
- message: `Indexing repository semantics: ${percent}% (${completed}/${total})`,
285
- completed,
286
- total,
287
- percent,
288
- phase: progress.phase,
289
- level: "info",
290
- });
291
- });
292
- tick();
293
- }
294
- }
295
- };
296
- await Promise.all(Array.from({ length: Math.min(concurrency, work.length || 1) }, () => worker()));
297
- };
298
- // Each group stays on one worker: its representative completes the artifact, then every
299
- // sibling attaches that same immutable result.
300
- await workerPool([...groups.values()]);
301
- }
302
84
  }
303
85
  //# sourceMappingURL=_entry-manifest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_entry-manifest.js","sourceRoot":"","sources":["../../src/schemes/_entry-manifest.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,6FAA6F;AAC7F,8FAA8F;AAC9F,8FAA8F;AAC9F,gFAAgF;AAChF,gGAAgG;AAChG,sGAAsG;AACtG,4FAA4F;AAC5F,iGAAiG;AACjG,4EAA4E;AAC5E,EAAE;AACF,iGAAiG;AACjG,gGAAgG;AAGhG,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAsB,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,aAAa,MAAM,sBAAsB,CAAC;AAQjD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,8EAA8E;IAC9E,wFAAwF;IACxF,MAAM,CAAC,MAAM,CAAC,MAAqB,EAAE,QAAgB;QACjD,qFAAqF;QACrF,mFAAmF;QACnF,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,oFAAoF,CAAC,CAAC;QAC7I,uFAAuF;QACvF,uFAAuF;QACvF,qEAAqE;QACrE,OAAO,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,2FAA2F;IAC3F,0FAA0F;IAC1F,oFAAoF;IACpF,0FAA0F;IAC1F,6FAA6F;IAC7F,uDAAuD;IACvD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,GAAwB,EAAE,YAA4B,EAAE,OAAgB;QAChG,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;QACrD,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACvH,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;QACzI,MAAM,GAAG,GAAG,OAAO,KAAK,SAAS;YAC7B,CAAC,CAAC,MAAM,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAc,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;YACxF,CAAC,CAAC,MAAM,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAc,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7G,MAAM,IAAI,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;QAC7F,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC7C,MAAM,OAAO,GAAG,OAAO,KAAK,SAAS;YACjC,CAAC,CAAC,MAAM,EAAE,CAAC,gCAAgC,CAAC,GAAG,CAAoC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;YACjH,CAAC,CAAC,MAAM,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAoC,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACtI,KAAK,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,OAAO,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,IAAI,KAAK,SAAS;gBAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;;gBAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,KAAK,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;gBAAE,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YACjF,kFAAkF;YAClF,oFAAoF;YACpF,IAAI,UAAkB,CAAC;YACvB,IAAI,CAAC;gBAAC,UAAU,GAAG,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YAAC,CAAC;YACtH,MAAM,CAAC;gBAAC,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAAC,CAAC;YACjF,MAAM,SAAS,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;YAC9D,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACvF,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAC1G,CAAC;QACD,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,0EAA0E;IAC1E,iFAAiF;IACjF,gFAAgF;IAChF,4EAA4E;IAC5E,6EAA6E;IAC7E,kEAAkE;IAClE,8EAA8E;IAC9E,qDAAqD;IACrD,MAAM,CAAC,aAAa,GAAG,IAAI,GAAG,EAAyB,CAAC;IAExD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAwB,EAAE,CAA4E,EAAE,IAAY,EAAE,WAAoB,EAAE,cAAkC,EAAE,UAAsG;QACzS,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACzE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;QACtH,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,0EAA0E;QAC5G,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5C,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACnB,IAAI,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI;gBAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAwB,EAAE,CAA4E,EAAE,IAAY,EAAE,WAAoB,EAAE,cAAkC,EAAE,UAAsG;QAClT,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;QAC9B,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACrF,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,GAAG,CAAiD,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChH,IAAI,QAAQ,EAAE,KAAK,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,OAAO;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAoC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;QAC5F,MAAM,YAAY,GAAG,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,KAAK,EAAE,WAAyE,EAAE,MAAM,GAAkB,IAAI,EAAiB,EAAE;YACpJ,MAAM,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YACvF,MAAM,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YACnD,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YACpE,MAAM,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YACjD,OAAO;QACX,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YACnD,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YACpE,MAAM,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACjF,OAAO;QACX,CAAC;QACD,IAAI,CAAC;YACD,IAAI,MAAqB,CAAC;YAC1B,IAAI,CAAC;gBACD,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,8OAA8O;gBAChY,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YACnG,CAAC;YAAC,MAAM,CAAC;gBACL,kFAAkF;gBAClF,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/G,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,uEAAuE;YACvE,wEAAwE;YACxE,sEAAsE;YACtE,+EAA+E;YAC/E,iFAAiF;YACjF,gFAAgF;YAChF,mFAAmF;YACnF,wDAAwD;YACxD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;YACnD,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;YAC/D,qFAAqF;YACrF,IAAI,aAAa,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC5D,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;gBACpE,MAAM,cAAc,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAClD,OAAO;YACX,CAAC;YACD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;gBACpE,MAAM,cAAc,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;gBACxD,OAAO;YACX,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC9J,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACpE,MAAM,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;QAC1H,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI;gBAAE,MAAM,KAAK,CAAC;YAC9C,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YACnD,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YACpE,MAAM,cAAc,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAwB;QACrD,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;QAC3C,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;QAC7H,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAc,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QACpG,qFAAqF;QACrF,yEAAyE;QACzE,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACtE,wGAAwG;QACxG,kGAAkG;QAClG,wGAAwG;QACxG,MAAM,WAAW,GAAG,UAAU,KAAK,YAAY,CAAC;QAChD,uFAAuF;QACvF,wFAAwF;QACxF,4FAA4F;QAC5F,MAAM,OAAO,GAAgF,EAAE,CAAC;QAChG,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM;gBAAE,SAAS,CAAC,4CAA4C;YAChF,oEAAoE;YACpE,gEAAgE;YAChE,kEAAkE;YAClE,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM;gBACtC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAClC,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,mBAAmB,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,cAAc,EAAE,CAAC;YACrG,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3K,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,sDAAsD;QAC/H,CAAC;QACD,0FAA0F;QAC1F,2FAA2F;QAC3F,wFAAwF;QACxF,wFAAwF;QACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAoC;QACtG,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,IAAI,GAAG,GAAS,EAAE;YACpB,SAAS,EAAE,CAAC;YACZ,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,IAAI,SAAS,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;gBACtD,GAAG,CAAC,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,kCAAkC,OAAO,MAAM,SAAS,IAAI,KAAK,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1M,CAAC;QACL,CAAC,CAAC;QAEF,0FAA0F;QAC1F,6EAA6E;QAC7E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuF,CAAC;QAC9G,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC;QACrE,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;QACrC,MAAM,qBAAqB,GAAG,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE;YACtF,yEAAyE;YACzE,mEAAmE;YACnE,+DAA+D;YAC/D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,qBAAqB,KAAK,CAAC,IAAI,qBAAqB,GAAG,CAAC,CAAC,EAAE,CAAC;YACxG,MAAM,IAAI,UAAU,CAAC,yFAAyF,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACpJ,CAAC;QACD,MAAM,WAAW,GAAG,qBAAqB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAClG,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,MAAM,UAAU,GAAG,KAAK,EAAE,IAAwF,EAAiB,EAAE;YACjI,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;gBACrC,OAAO,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;oBACxB,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI;wBAAE,OAAO;oBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC3B,KAAK,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,KAAK,EAAE,CAAC;wBAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;4BAAE,OAAO;wBACzC,MAAM,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE;4BAClF,IAAI,IAAI,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC;gCAAE,OAAO;4BAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,KAAK;mCAChD,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;4BAC/E,IAAI,CAAC,SAAS;gCAAE,OAAO;4BACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;4BACvB,IAAI,GAAG,GAAG,eAAe,GAAG,KAAK;gCAAE,OAAO;4BAC1C,eAAe,GAAG,GAAG,CAAC;4BACtB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;4BACtD,GAAG,CAAC,aAAa,EAAE,CAAC;gCAChB,MAAM,EAAE,mBAAmB;gCAC3B,IAAI,EAAE,gBAAgB;gCACtB,OAAO,EAAE,kCAAkC,OAAO,MAAM,SAAS,IAAI,KAAK,GAAG;gCAC7E,SAAS;gCACT,KAAK;gCACL,OAAO;gCACP,KAAK,EAAE,QAAQ,CAAC,KAAK;gCACrB,KAAK,EAAE,MAAM;6BAChB,CAAC,CAAC;wBACP,CAAC,CAAC,CAAC;wBACH,IAAI,EAAE,CAAC;oBACX,CAAC;gBACL,CAAC;YACL,CAAC,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvG,CAAC,CAAC;QACF,wFAAwF;QACxF,+CAA+C;QAC/C,MAAM,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;CAEJ"}
1
+ {"version":3,"file":"_entry-manifest.js","sourceRoot":"","sources":["../../src/schemes/_entry-manifest.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,qFAAqF;AACrF,gEAAgE;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,MAAM,kBAAkB,CAAC;AA2BrC,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,MAAM,CAAC,MAAc,EAAE,QAAgB;QAC1C,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzF,OAAO,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,GAAwB,EAAE,YAAqB,EAAE,OAAgB;QACzF,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;QACrD,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACvH,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;QACzI,MAAM,eAAe,GAAG,OAAO,IAAI,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC1E,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAc;YAC5D,YAAY,EAAE,WAAW;YACzB,QAAQ,EAAE,eAAe;SAC5B,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;QACjG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,4BAA4B,CAAC,GAAG,CAAoC;YACzF,YAAY,EAAE,WAAW;YACzB,QAAQ,EAAE,eAAe;SAC5B,CAAC,CAAC;QACH,KAAK,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,OAAO,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,IAAI,KAAK,SAAS;gBAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;;gBACjD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;QAChD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5D,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,KAAK,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7D,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;oBAC5B,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI;wBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,eAAe,aAAa,CAAC,CAAC;oBACnG,KAAK,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,MAAM,GAAG;wBACX,KAAK,EAAE,GAAG,CAAC,YAAY,KAAK,GAAG;4BAC3B,CAAC,CAAC,QAAQ;4BACV,CAAC,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;wBACnD,MAAM,EAAE,GAAG,CAAC,YAAY;qBAC3B,CAAC;gBACN,CAAC;YACL,CAAC;YACD,IAAI,UAAkB,CAAC;YACvB,IAAI,CAAC;gBACD,UAAU,GAAG,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YACtH,CAAC;YAAC,MAAM,CAAC;gBACL,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAC/E,CAAC;YACD,MAAM,cAAc,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;YACrE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,KAAK,cAAc;gBAC7C,CAAC,CAAC,KAAK,CAAC,IAAI;gBACZ,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG;gBACzB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC7B,KAAK,EAAE,UAAU;aACpB,CAAC;QACN,CAAC;QACD,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;CACJ"}
@@ -1,35 +1,30 @@
1
- import type { EditStatement, ReadStatement } from "@plurnk/plurnk-grammar";
1
+ import type { EditStatement, ReadStatement } from "@plurnk/plurnk-contracts";
2
2
  import type { PlurnkSchemeContext, SchemeManifest } from "../core/scheme-types.ts";
3
3
  import type { EditBatchReceipt } from "../content/index.ts";
4
- export type EditResult = {
5
- status: number;
4
+ import type { TextRegion } from "@plurnk/plurnk-contracts";
5
+ import { type MatchEvidence, type SchemeResultBase } from "../core/results.ts";
6
+ export type EditResult = SchemeResultBase & {
6
7
  entryId: number | null;
7
8
  channel: string | null;
8
9
  editReceipt?: EditBatchReceipt | null;
9
- error?: string;
10
10
  };
11
- export type ReadResult = {
12
- status: number;
11
+ export type ReadResult = SchemeResultBase & {
13
12
  content: string | null;
14
13
  mimetype: string | null;
15
14
  channel: string | null;
16
15
  startLine?: number | null;
17
- matches?: number | null;
16
+ region?: TextRegion;
17
+ matches?: ReadonlyArray<MatchEvidence>;
18
18
  reason?: string;
19
- error?: string;
20
19
  awaitWorker?: string;
21
20
  };
22
- export type OpenFoldResult = {
23
- status: number;
24
- };
21
+ export type OpenFoldResult = SchemeResultBase;
25
22
  export default class EntryOps {
26
23
  #private;
27
24
  static editWorkspaceEntryBatch(statements: readonly EditStatement[], ctx: PlurnkSchemeContext, manifest: SchemeManifest, explicitOwnerId?: number): Promise<EditResult>;
28
25
  static deleteWorkspaceEntry(statement: {
29
26
  target: EditStatement["target"];
30
- }, ctx: PlurnkSchemeContext, manifest: SchemeManifest, explicitOwnerId?: number): Promise<{
31
- status: number;
32
- }>;
27
+ }, ctx: PlurnkSchemeContext, manifest: SchemeManifest, explicitOwnerId?: number): Promise<SchemeResultBase>;
33
28
  static readWorkspaceEntry(statement: ReadStatement, ctx: PlurnkSchemeContext, manifest: SchemeManifest, explicitOwnerId?: number): Promise<ReadResult>;
34
29
  }
35
30
  //# sourceMappingURL=_entry-ops.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"_entry-ops.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-ops.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAInF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAS5D,MAAM,MAAM,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAUnJ,MAAM,MAAM,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAChO,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,QAAQ;;IA8CzB,OAAa,uBAAuB,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAuI5K;IAKD,OAAa,oBAAoB,CAAC,SAAS,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;KAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAS3L;IAED,OAAa,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAmD3J;CACJ"}
1
+ {"version":3,"file":"_entry-ops.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-ops.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAInF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAWxF,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAAE,CAAC;AAStI,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG;IACxC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,QAAQ;;IA2DzB,OAAa,uBAAuB,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA0M5K;IAID,OAAa,oBAAoB,CAAC,SAAS,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;KAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8BzL;IAED,OAAa,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA2G3J;CACJ"}