@plurnk/plurnk-service 1.16.5 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (661) hide show
  1. package/.env.defaults +140 -246
  2. package/INSTALL.md +84 -138
  3. package/README.md +10 -6
  4. package/SPEC.md +2468 -1694
  5. package/dist/Paths.d.ts +2 -0
  6. package/dist/Paths.d.ts.map +1 -1
  7. package/dist/Paths.js +2 -0
  8. package/dist/Paths.js.map +1 -1
  9. package/dist/build-info.d.ts.map +1 -1
  10. package/dist/build-info.js +7 -1
  11. package/dist/build-info.js.map +1 -1
  12. package/dist/build-info.json +1 -1
  13. package/dist/content/body-preview.d.ts +8 -0
  14. package/dist/content/body-preview.d.ts.map +1 -0
  15. package/dist/content/body-preview.js +39 -0
  16. package/dist/content/body-preview.js.map +1 -0
  17. package/dist/content/byte-view.d.ts +1 -4
  18. package/dist/content/byte-view.d.ts.map +1 -1
  19. package/dist/content/byte-view.js.map +1 -1
  20. package/dist/content/edit-collision.d.ts.map +1 -1
  21. package/dist/content/edit-collision.js +3 -4
  22. package/dist/content/edit-collision.js.map +1 -1
  23. package/dist/content/line-anchors.d.ts +2 -2
  24. package/dist/content/line-anchors.d.ts.map +1 -1
  25. package/dist/content/line-anchors.js +4 -3
  26. package/dist/content/line-anchors.js.map +1 -1
  27. package/dist/content/line-selection.d.ts +9 -0
  28. package/dist/content/line-selection.d.ts.map +1 -0
  29. package/dist/content/line-selection.js +29 -0
  30. package/dist/content/line-selection.js.map +1 -0
  31. package/dist/content/matcher.d.ts +0 -1
  32. package/dist/content/matcher.d.ts.map +1 -1
  33. package/dist/content/matcher.js +2 -3
  34. package/dist/content/matcher.js.map +1 -1
  35. package/dist/content/pattern-edits.d.ts +39 -0
  36. package/dist/content/pattern-edits.d.ts.map +1 -0
  37. package/dist/content/pattern-edits.js +121 -0
  38. package/dist/content/pattern-edits.js.map +1 -0
  39. package/dist/content/read-projector.d.ts +18 -9
  40. package/dist/content/read-projector.d.ts.map +1 -1
  41. package/dist/content/read-projector.js +132 -35
  42. package/dist/content/read-projector.js.map +1 -1
  43. package/dist/content/read-resolve.d.ts +4 -1
  44. package/dist/content/read-resolve.d.ts.map +1 -1
  45. package/dist/content/read-resolve.js +42 -7
  46. package/dist/content/read-resolve.js.map +1 -1
  47. package/dist/core/AdmittedTurnExecutor.d.ts +2 -5
  48. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  49. package/dist/core/AdmittedTurnExecutor.js +96 -88
  50. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  51. package/dist/core/BareBatchRunner.d.ts +6 -1
  52. package/dist/core/BareBatchRunner.d.ts.map +1 -1
  53. package/dist/core/BareBatchRunner.js +20 -5
  54. package/dist/core/BareBatchRunner.js.map +1 -1
  55. package/dist/core/BudgetReadout.d.ts +2 -3
  56. package/dist/core/BudgetReadout.d.ts.map +1 -1
  57. package/dist/core/BudgetReadout.js +23 -32
  58. package/dist/core/BudgetReadout.js.map +1 -1
  59. package/dist/core/CapabilityPolicies.d.ts +3 -8
  60. package/dist/core/CapabilityPolicies.d.ts.map +1 -1
  61. package/dist/core/CapabilityPolicies.js +2 -28
  62. package/dist/core/CapabilityPolicies.js.map +1 -1
  63. package/dist/core/CapabilityResolver.d.ts +10 -10
  64. package/dist/core/CapabilityResolver.d.ts.map +1 -1
  65. package/dist/core/CapabilityResolver.js +122 -93
  66. package/dist/core/CapabilityResolver.js.map +1 -1
  67. package/dist/core/ChannelWrite.d.ts +15 -11
  68. package/dist/core/ChannelWrite.d.ts.map +1 -1
  69. package/dist/core/ChannelWrite.js +12 -13
  70. package/dist/core/ChannelWrite.js.map +1 -1
  71. package/dist/core/ChannelWrite.sql +99 -9
  72. package/dist/core/ClientInteractions.d.ts.map +1 -1
  73. package/dist/core/ClientInteractions.js +7 -0
  74. package/dist/core/ClientInteractions.js.map +1 -1
  75. package/dist/core/CoreSchemeServices.d.ts +13 -10
  76. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  77. package/dist/core/CoreSchemeServices.js +13 -5
  78. package/dist/core/CoreSchemeServices.js.map +1 -1
  79. package/dist/core/DataStatementRunner.d.ts +2 -2
  80. package/dist/core/DataStatementRunner.d.ts.map +1 -1
  81. package/dist/core/DataStatementRunner.js +208 -161
  82. package/dist/core/DataStatementRunner.js.map +1 -1
  83. package/dist/core/Dispatcher.d.ts +24 -26
  84. package/dist/core/Dispatcher.d.ts.map +1 -1
  85. package/dist/core/Dispatcher.js +381 -232
  86. package/dist/core/Dispatcher.js.map +1 -1
  87. package/dist/core/Dispatcher.sql +66 -0
  88. package/dist/core/DurableStatement.d.ts.map +1 -1
  89. package/dist/core/DurableStatement.js +2 -1
  90. package/dist/core/DurableStatement.js.map +1 -1
  91. package/dist/core/EditMutations.d.ts +14 -18
  92. package/dist/core/EditMutations.d.ts.map +1 -1
  93. package/dist/core/EditMutations.js +211 -280
  94. package/dist/core/EditMutations.js.map +1 -1
  95. package/dist/core/EditMutations.sql +15 -0
  96. package/dist/core/EditSequence.d.ts +13 -0
  97. package/dist/core/EditSequence.d.ts.map +1 -0
  98. package/dist/core/EditSequence.js +73 -0
  99. package/dist/core/EditSequence.js.map +1 -0
  100. package/dist/core/Engine.d.ts +17 -23
  101. package/dist/core/Engine.d.ts.map +1 -1
  102. package/dist/core/Engine.js +74 -164
  103. package/dist/core/Engine.js.map +1 -1
  104. package/dist/core/Engine.sql +0 -724
  105. package/dist/core/EntryAddressBinding.d.ts +7 -17
  106. package/dist/core/EntryAddressBinding.d.ts.map +1 -1
  107. package/dist/core/EntryAddressBinding.js +12 -72
  108. package/dist/core/EntryAddressBinding.js.map +1 -1
  109. package/dist/core/ExecutionOutputs.d.ts +9 -0
  110. package/dist/core/ExecutionOutputs.d.ts.map +1 -0
  111. package/dist/core/ExecutionOutputs.js +36 -0
  112. package/dist/core/ExecutionOutputs.js.map +1 -0
  113. package/dist/core/ExecutionOutputs.sql +21 -0
  114. package/dist/core/ExecutorRegistry.d.ts +11 -5
  115. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  116. package/dist/core/ExecutorRegistry.js +37 -32
  117. package/dist/core/ExecutorRegistry.js.map +1 -1
  118. package/dist/core/HostPaths.d.ts +1 -0
  119. package/dist/core/HostPaths.d.ts.map +1 -1
  120. package/dist/core/HostPaths.js +4 -0
  121. package/dist/core/HostPaths.js.map +1 -1
  122. package/dist/core/InferenceCall.d.ts.map +1 -1
  123. package/dist/core/InferenceCall.js +1 -2
  124. package/dist/core/InferenceCall.js.map +1 -1
  125. package/dist/core/InferenceCall.sql +29 -0
  126. package/dist/core/KillHandler.d.ts +1 -0
  127. package/dist/core/KillHandler.d.ts.map +1 -1
  128. package/dist/core/KillHandler.js +24 -21
  129. package/dist/core/KillHandler.js.map +1 -1
  130. package/dist/core/LogBody.d.ts +8 -1
  131. package/dist/core/LogBody.d.ts.map +1 -1
  132. package/dist/core/LogBody.js +44 -12
  133. package/dist/core/LogBody.js.map +1 -1
  134. package/dist/core/LogEntryProjection.d.ts +1 -0
  135. package/dist/core/LogEntryProjection.d.ts.map +1 -1
  136. package/dist/core/LogEntryProjection.js +12 -10
  137. package/dist/core/LogEntryProjection.js.map +1 -1
  138. package/dist/core/LogVisibility.d.ts +1 -0
  139. package/dist/core/LogVisibility.d.ts.map +1 -1
  140. package/dist/core/LogVisibility.js +3 -0
  141. package/dist/core/LogVisibility.js.map +1 -1
  142. package/dist/core/LogWriter.d.ts +2 -3
  143. package/dist/core/LogWriter.d.ts.map +1 -1
  144. package/dist/core/LogWriter.js +31 -36
  145. package/dist/core/LogWriter.js.map +1 -1
  146. package/dist/core/LogWriter.sql +23 -0
  147. package/dist/core/LoopDriver.d.ts +11 -8
  148. package/dist/core/LoopDriver.d.ts.map +1 -1
  149. package/dist/core/LoopDriver.js +161 -189
  150. package/dist/core/LoopDriver.js.map +1 -1
  151. package/dist/core/LoopDriver.sql +11 -0
  152. package/dist/core/LoopLifecycle.d.ts +32 -2
  153. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  154. package/dist/core/LoopLifecycle.js +88 -4
  155. package/dist/core/LoopLifecycle.js.map +1 -1
  156. package/dist/core/LoopLifecycle.sql +145 -28
  157. package/dist/core/LoopPolicyReader.sql +6 -0
  158. package/dist/core/MembershipMaterialization.d.ts.map +1 -1
  159. package/dist/core/MembershipMaterialization.js +6 -28
  160. package/dist/core/MembershipMaterialization.js.map +1 -1
  161. package/dist/core/ModelCall.d.ts.map +1 -1
  162. package/dist/core/ModelCall.js +2 -6
  163. package/dist/core/ModelCall.js.map +1 -1
  164. package/dist/core/ModelCall.sql +41 -0
  165. package/dist/core/MutationEffects.d.ts +5 -3
  166. package/dist/core/MutationEffects.d.ts.map +1 -1
  167. package/dist/core/MutationEffects.js +10 -28
  168. package/dist/core/MutationEffects.js.map +1 -1
  169. package/dist/core/NativeContent.d.ts +6 -0
  170. package/dist/core/NativeContent.d.ts.map +1 -0
  171. package/dist/core/NativeContent.js +16 -0
  172. package/dist/core/NativeContent.js.map +1 -0
  173. package/dist/core/NativeContent.sql +6 -0
  174. package/dist/core/NoticeChannel.js +1 -1
  175. package/dist/core/NoticeChannel.js.map +1 -1
  176. package/dist/core/OperatorConfig.js +5 -5
  177. package/dist/core/OperatorConfig.js.map +1 -1
  178. package/dist/core/PacketBuilder.d.ts +8 -5
  179. package/dist/core/PacketBuilder.d.ts.map +1 -1
  180. package/dist/core/PacketBuilder.js +117 -81
  181. package/dist/core/PacketBuilder.js.map +1 -1
  182. package/dist/core/PacketBuilder.sql +146 -0
  183. package/dist/core/PatternSelection.d.ts +28 -0
  184. package/dist/core/PatternSelection.d.ts.map +1 -0
  185. package/dist/core/PatternSelection.js +42 -0
  186. package/dist/core/PatternSelection.js.map +1 -0
  187. package/dist/core/ProblemLog.d.ts.map +1 -1
  188. package/dist/core/ProblemLog.js +0 -1
  189. package/dist/core/ProblemLog.js.map +1 -1
  190. package/dist/core/PromptFrames.d.ts +12 -0
  191. package/dist/core/PromptFrames.d.ts.map +1 -0
  192. package/dist/core/PromptFrames.js +28 -0
  193. package/dist/core/PromptFrames.js.map +1 -0
  194. package/dist/core/ProposalLifecycle.d.ts +0 -1
  195. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  196. package/dist/core/ProposalLifecycle.js +26 -23
  197. package/dist/core/ProposalLifecycle.js.map +1 -1
  198. package/dist/core/ProposalLifecycle.sql +33 -0
  199. package/dist/core/ProviderInstantiate.d.ts +1 -1
  200. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  201. package/dist/core/ProviderInstantiate.js +7 -14
  202. package/dist/core/ProviderInstantiate.js.map +1 -1
  203. package/dist/core/ReasoningView.d.ts +9 -0
  204. package/dist/core/ReasoningView.d.ts.map +1 -0
  205. package/dist/core/ReasoningView.js +47 -0
  206. package/dist/core/ReasoningView.js.map +1 -0
  207. package/dist/core/ResourceBindings.d.ts +16 -0
  208. package/dist/core/ResourceBindings.d.ts.map +1 -0
  209. package/dist/core/ResourceBindings.js +45 -0
  210. package/dist/core/ResourceBindings.js.map +1 -0
  211. package/dist/core/ResourceMutations.d.ts +5 -8
  212. package/dist/core/ResourceMutations.d.ts.map +1 -1
  213. package/dist/core/ResourceMutations.js +6 -7
  214. package/dist/core/ResourceMutations.js.map +1 -1
  215. package/dist/core/ResourceSelector.d.ts +2 -2
  216. package/dist/core/ResourceSelector.d.ts.map +1 -1
  217. package/dist/core/ResourceSelector.js +122 -62
  218. package/dist/core/ResourceSelector.js.map +1 -1
  219. package/dist/core/ResourceTransfers.d.ts +4 -2
  220. package/dist/core/ResourceTransfers.d.ts.map +1 -1
  221. package/dist/core/ResourceTransfers.js +95 -26
  222. package/dist/core/ResourceTransfers.js.map +1 -1
  223. package/dist/core/RuntimeWorker.d.ts +5 -0
  224. package/dist/core/RuntimeWorker.d.ts.map +1 -0
  225. package/dist/core/RuntimeWorker.js +15 -0
  226. package/dist/core/RuntimeWorker.js.map +1 -0
  227. package/dist/core/RuntimeWorker.sql +11 -0
  228. package/dist/core/SchemeRegistry.d.ts +12 -16
  229. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  230. package/dist/core/SchemeRegistry.js +59 -85
  231. package/dist/core/SchemeRegistry.js.map +1 -1
  232. package/dist/core/StoredPacket.d.ts +6 -1
  233. package/dist/core/StoredPacket.d.ts.map +1 -1
  234. package/dist/core/StoredPacket.js +30 -10
  235. package/dist/core/StoredPacket.js.map +1 -1
  236. package/dist/core/StrikeRail.d.ts +11 -8
  237. package/dist/core/StrikeRail.d.ts.map +1 -1
  238. package/dist/core/StrikeRail.js +63 -114
  239. package/dist/core/StrikeRail.js.map +1 -1
  240. package/dist/core/StrikeRail.sql +12 -0
  241. package/dist/core/TerminalResult.d.ts +1 -1
  242. package/dist/core/TerminalResult.d.ts.map +1 -1
  243. package/dist/core/TerminalResult.js +2 -2
  244. package/dist/core/TerminalResult.js.map +1 -1
  245. package/dist/core/TokenCalibration.d.ts +1 -6
  246. package/dist/core/TokenCalibration.d.ts.map +1 -1
  247. package/dist/core/TokenCalibration.js +13 -9
  248. package/dist/core/TokenCalibration.js.map +1 -1
  249. package/dist/core/TokenCalibration.sql +15 -0
  250. package/dist/core/ToolInputSchema.d.ts +6 -0
  251. package/dist/core/ToolInputSchema.d.ts.map +1 -0
  252. package/dist/core/ToolInputSchema.js +43 -0
  253. package/dist/core/ToolInputSchema.js.map +1 -0
  254. package/dist/core/ToolResources.d.ts.map +1 -1
  255. package/dist/core/ToolResources.js +77 -51
  256. package/dist/core/ToolResources.js.map +1 -1
  257. package/dist/core/Turn.d.ts +5 -2
  258. package/dist/core/Turn.d.ts.map +1 -1
  259. package/dist/core/Turn.js +13 -11
  260. package/dist/core/Turn.js.map +1 -1
  261. package/dist/core/Turn.sql +25 -39
  262. package/dist/core/{SendBroadcastHandler.d.ts → TurnDispositionHandler.d.ts} +24 -18
  263. package/dist/core/TurnDispositionHandler.d.ts.map +1 -0
  264. package/dist/core/TurnDispositionHandler.js +206 -0
  265. package/dist/core/TurnDispositionHandler.js.map +1 -0
  266. package/dist/core/TurnMaterialization.d.ts +2 -3
  267. package/dist/core/TurnMaterialization.d.ts.map +1 -1
  268. package/dist/core/TurnMaterialization.js +47 -24
  269. package/dist/core/TurnMaterialization.js.map +1 -1
  270. package/dist/core/TurnMaterialization.sql +44 -0
  271. package/dist/core/TurnOps.d.ts.map +1 -1
  272. package/dist/core/TurnOps.js +8 -64
  273. package/dist/core/TurnOps.js.map +1 -1
  274. package/dist/core/TurnRunner.d.ts +8 -15
  275. package/dist/core/TurnRunner.d.ts.map +1 -1
  276. package/dist/core/TurnRunner.js +1175 -1317
  277. package/dist/core/TurnRunner.js.map +1 -1
  278. package/dist/core/TurnRunner.sql +74 -0
  279. package/dist/core/TurnSources.sql +39 -0
  280. package/dist/core/WorkerControlAddress.d.ts +1 -0
  281. package/dist/core/WorkerControlAddress.d.ts.map +1 -1
  282. package/dist/core/WorkerControlAddress.js +5 -0
  283. package/dist/core/WorkerControlAddress.js.map +1 -1
  284. package/dist/core/WorkerControlHandler.d.ts +1 -3
  285. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  286. package/dist/core/WorkerControlHandler.js +64 -48
  287. package/dist/core/WorkerControlHandler.js.map +1 -1
  288. package/dist/core/WorkerName.d.ts +11 -12
  289. package/dist/core/WorkerName.d.ts.map +1 -1
  290. package/dist/core/WorkerName.js +40 -47
  291. package/dist/core/WorkerName.js.map +1 -1
  292. package/dist/core/WorkerName.sql +7 -10
  293. package/dist/core/WorkspaceGate.d.ts +1 -1
  294. package/dist/core/WorkspaceGate.d.ts.map +1 -1
  295. package/dist/core/WorkspaceGate.js +33 -10
  296. package/dist/core/WorkspaceGate.js.map +1 -1
  297. package/dist/core/ambient.sql +236 -0
  298. package/dist/core/attachments.d.ts +2 -1
  299. package/dist/core/attachments.d.ts.map +1 -1
  300. package/dist/core/attachments.js +5 -4
  301. package/dist/core/attachments.js.map +1 -1
  302. package/dist/core/caps/CapsResolve.d.ts +2 -3
  303. package/dist/core/caps/CapsResolve.d.ts.map +1 -1
  304. package/dist/core/caps/CapsResolve.js +5 -5
  305. package/dist/core/caps/CapsResolve.js.map +1 -1
  306. package/dist/core/caps/DbChannelCaps.d.ts +1 -1
  307. package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
  308. package/dist/core/caps/DbChannelCaps.js +4 -6
  309. package/dist/core/caps/DbChannelCaps.js.map +1 -1
  310. package/dist/core/caps/DbEntryCaps.d.ts +2 -1
  311. package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
  312. package/dist/core/caps/DbEntryCaps.js +11 -17
  313. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  314. package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
  315. package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
  316. package/dist/core/caps/DbNotifyCaps.js +3 -5
  317. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  318. package/dist/core/caps/DbProjectionCaps.js +1 -1
  319. package/dist/core/caps/DbProjectionCaps.js.map +1 -1
  320. package/dist/core/caps/DbSubscriptionCaps.d.ts +1 -1
  321. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  322. package/dist/core/caps/DbSubscriptionCaps.js +5 -7
  323. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  324. package/dist/core/caps/SchemeCtxImpl.d.ts +0 -2
  325. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  326. package/dist/core/caps/SchemeCtxImpl.js +4 -20
  327. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  328. package/dist/core/env-catalog.d.ts +28 -0
  329. package/dist/core/env-catalog.d.ts.map +1 -0
  330. package/dist/core/env-catalog.js +99 -0
  331. package/dist/core/env-catalog.js.map +1 -0
  332. package/dist/core/env-defaults.d.ts.map +1 -1
  333. package/dist/core/env-defaults.js +4 -2
  334. package/dist/core/env-defaults.js.map +1 -1
  335. package/dist/core/file-materialization.d.ts +4 -1
  336. package/dist/core/file-materialization.d.ts.map +1 -1
  337. package/dist/core/file-materialization.js +15 -1
  338. package/dist/core/file-materialization.js.map +1 -1
  339. package/dist/core/fork.d.ts +1 -6
  340. package/dist/core/fork.d.ts.map +1 -1
  341. package/dist/core/fork.js +9 -153
  342. package/dist/core/fork.js.map +1 -1
  343. package/dist/core/fork.sql +162 -185
  344. package/dist/core/git-env.d.ts +1 -0
  345. package/dist/core/git-env.d.ts.map +1 -1
  346. package/dist/core/git-env.js +39 -2
  347. package/dist/core/git-env.js.map +1 -1
  348. package/dist/core/git-membership.d.ts.map +1 -1
  349. package/dist/core/git-membership.js +64 -48
  350. package/dist/core/git-membership.js.map +1 -1
  351. package/dist/core/git-state.d.ts.map +1 -1
  352. package/dist/core/git-state.js +26 -20
  353. package/dist/core/git-state.js.map +1 -1
  354. package/dist/core/glob_match.d.ts +4 -0
  355. package/dist/core/glob_match.d.ts.map +1 -0
  356. package/dist/core/glob_match.js +7 -0
  357. package/dist/core/glob_match.js.map +1 -0
  358. package/dist/core/maintenance.sql +6 -0
  359. package/dist/core/mutation-types.d.ts +7 -28
  360. package/dist/core/mutation-types.d.ts.map +1 -1
  361. package/dist/core/operation-target-groups.d.ts.map +1 -1
  362. package/dist/core/operation-target-groups.js +2 -1
  363. package/dist/core/operation-target-groups.js.map +1 -1
  364. package/dist/core/packet-inject.d.ts.map +1 -1
  365. package/dist/core/packet-inject.js +2 -3
  366. package/dist/core/packet-inject.js.map +1 -1
  367. package/dist/core/packet-wire.d.ts +8 -6
  368. package/dist/core/packet-wire.d.ts.map +1 -1
  369. package/dist/core/packet-wire.js +381 -388
  370. package/dist/core/packet-wire.js.map +1 -1
  371. package/dist/core/plurnk-uri.d.ts +1 -1
  372. package/dist/core/plurnk-uri.d.ts.map +1 -1
  373. package/dist/core/plurnk-uri.js +5 -12
  374. package/dist/core/plurnk-uri.js.map +1 -1
  375. package/dist/core/scheme-types.d.ts +3 -3
  376. package/dist/core/scheme-types.d.ts.map +1 -1
  377. package/dist/core/scheme-types.js.map +1 -1
  378. package/dist/core/sha256.d.ts +4 -0
  379. package/dist/core/sha256.d.ts.map +1 -0
  380. package/dist/core/sha256.js +6 -0
  381. package/dist/core/sha256.js.map +1 -0
  382. package/dist/core/teaching.js +1 -1
  383. package/dist/core/teaching.js.map +1 -1
  384. package/dist/core/turn-scheduler.d.ts.map +1 -1
  385. package/dist/core/turn-scheduler.js +5 -18
  386. package/dist/core/turn-scheduler.js.map +1 -1
  387. package/dist/core/turn-signals.d.ts +0 -6
  388. package/dist/core/turn-signals.d.ts.map +1 -1
  389. package/dist/core/turn-signals.js +1 -7
  390. package/dist/core/turn-signals.js.map +1 -1
  391. package/dist/core/worker-ops.sql +15 -22
  392. package/dist/core/workspace-settings.d.ts.map +1 -1
  393. package/dist/core/workspace-settings.js +18 -2
  394. package/dist/core/workspace-settings.js.map +1 -1
  395. package/dist/core/workspace-settings.sql +6 -0
  396. package/dist/digest/Digest.d.ts.map +1 -1
  397. package/dist/digest/Digest.js +30 -91
  398. package/dist/digest/Digest.js.map +1 -1
  399. package/dist/digest/DigestRender.d.ts +1 -0
  400. package/dist/digest/DigestRender.d.ts.map +1 -1
  401. package/dist/digest/DigestRender.js +58 -62
  402. package/dist/digest/DigestRender.js.map +1 -1
  403. package/dist/digest/digest-rows.d.ts +16 -32
  404. package/dist/digest/digest-rows.d.ts.map +1 -1
  405. package/dist/digest/digest.sql +54 -20
  406. package/dist/schemes/Exec.d.ts +6 -12
  407. package/dist/schemes/Exec.d.ts.map +1 -1
  408. package/dist/schemes/Exec.js +318 -215
  409. package/dist/schemes/Exec.js.map +1 -1
  410. package/dist/schemes/ExecOutputScheme.d.ts +8 -6
  411. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  412. package/dist/schemes/ExecOutputScheme.js +33 -61
  413. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  414. package/dist/schemes/ExecScheduler.js +2 -2
  415. package/dist/schemes/ExecScheduler.js.map +1 -1
  416. package/dist/schemes/ExecutionInput.d.ts +12 -0
  417. package/dist/schemes/ExecutionInput.d.ts.map +1 -0
  418. package/dist/schemes/ExecutionInput.js +94 -0
  419. package/dist/schemes/ExecutionInput.js.map +1 -0
  420. package/dist/schemes/File.d.ts +5 -2
  421. package/dist/schemes/File.d.ts.map +1 -1
  422. package/dist/schemes/File.js +62 -91
  423. package/dist/schemes/File.js.map +1 -1
  424. package/dist/schemes/Log.d.ts.map +1 -1
  425. package/dist/schemes/Log.js +84 -79
  426. package/dist/schemes/Log.js.map +1 -1
  427. package/dist/schemes/Log.sql +183 -15
  428. package/dist/schemes/Prompt.d.ts.map +1 -1
  429. package/dist/schemes/Prompt.js +3 -12
  430. package/dist/schemes/Prompt.js.map +1 -1
  431. package/dist/schemes/QuestionTool.d.ts +5 -0
  432. package/dist/schemes/QuestionTool.d.ts.map +1 -1
  433. package/dist/schemes/QuestionTool.js +7 -15
  434. package/dist/schemes/QuestionTool.js.map +1 -1
  435. package/dist/schemes/Skill.d.ts +12 -7
  436. package/dist/schemes/Skill.d.ts.map +1 -1
  437. package/dist/schemes/Skill.js +149 -21
  438. package/dist/schemes/Skill.js.map +1 -1
  439. package/dist/schemes/TurnSource.d.ts +12 -0
  440. package/dist/schemes/TurnSource.d.ts.map +1 -0
  441. package/dist/schemes/TurnSource.js +117 -0
  442. package/dist/schemes/TurnSource.js.map +1 -0
  443. package/dist/schemes/Worker.d.ts +3 -3
  444. package/dist/schemes/Worker.d.ts.map +1 -1
  445. package/dist/schemes/Worker.js +61 -208
  446. package/dist/schemes/Worker.js.map +1 -1
  447. package/dist/schemes/_entry-crud.d.ts +12 -15
  448. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  449. package/dist/schemes/_entry-crud.js +63 -63
  450. package/dist/schemes/_entry-crud.js.map +1 -1
  451. package/dist/schemes/_entry-crud.sql +159 -45
  452. package/dist/schemes/_entry-find.d.ts +1 -3
  453. package/dist/schemes/_entry-find.d.ts.map +1 -1
  454. package/dist/schemes/_entry-find.js +111 -112
  455. package/dist/schemes/_entry-find.js.map +1 -1
  456. package/dist/schemes/_entry-find.sql +22 -14
  457. package/dist/schemes/_entry-fts.d.ts +14 -0
  458. package/dist/schemes/_entry-fts.d.ts.map +1 -0
  459. package/dist/schemes/_entry-fts.js +82 -0
  460. package/dist/schemes/_entry-fts.js.map +1 -0
  461. package/dist/schemes/_entry-fts.sql +31 -0
  462. package/dist/schemes/_entry-graph.d.ts.map +1 -1
  463. package/dist/schemes/_entry-graph.js +6 -14
  464. package/dist/schemes/_entry-graph.js.map +1 -1
  465. package/dist/schemes/_entry-graph.sql +29 -44
  466. package/dist/schemes/_entry-manifest.d.ts +2 -1
  467. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  468. package/dist/schemes/_entry-manifest.js +20 -26
  469. package/dist/schemes/_entry-manifest.js.map +1 -1
  470. package/dist/schemes/_entry-manifest.sql +26 -0
  471. package/dist/schemes/_entry-ops.d.ts +3 -5
  472. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  473. package/dist/schemes/_entry-ops.js +30 -43
  474. package/dist/schemes/_entry-ops.js.map +1 -1
  475. package/dist/schemes/_entry-ops.sql +5 -6
  476. package/dist/schemes/_entry-readable.d.ts +8 -0
  477. package/dist/schemes/_entry-readable.d.ts.map +1 -0
  478. package/dist/schemes/_entry-readable.js +38 -0
  479. package/dist/schemes/_entry-readable.js.map +1 -0
  480. package/dist/schemes/_entry-send.d.ts +1 -1
  481. package/dist/schemes/_entry-send.d.ts.map +1 -1
  482. package/dist/schemes/_entry-send.js +3 -3
  483. package/dist/schemes/_entry-send.js.map +1 -1
  484. package/dist/schemes/_search-index.d.ts +5 -3
  485. package/dist/schemes/_search-index.d.ts.map +1 -1
  486. package/dist/schemes/_search-index.js +169 -160
  487. package/dist/schemes/_search-index.js.map +1 -1
  488. package/dist/schemes/_search-index.sql +47 -0
  489. package/dist/schemes/exec-abort.js +1 -1
  490. package/dist/schemes/exec-abort.js.map +1 -1
  491. package/dist/schemes/exec-env.d.ts +3 -0
  492. package/dist/schemes/exec-env.d.ts.map +1 -1
  493. package/dist/schemes/exec-env.js +66 -15
  494. package/dist/schemes/exec-env.js.map +1 -1
  495. package/dist/schemes/exec-runtime.d.ts +1 -1
  496. package/dist/schemes/exec-runtime.d.ts.map +1 -1
  497. package/dist/schemes/exec-runtime.js +1 -1
  498. package/dist/schemes/exec-runtime.js.map +1 -1
  499. package/dist/server/ClientReads.d.ts +2 -2
  500. package/dist/server/ClientReads.d.ts.map +1 -1
  501. package/dist/server/ClientReads.js +7 -9
  502. package/dist/server/ClientReads.js.map +1 -1
  503. package/dist/server/Daemon.d.ts +15 -21
  504. package/dist/server/Daemon.d.ts.map +1 -1
  505. package/dist/server/Daemon.js +165 -168
  506. package/dist/server/Daemon.js.map +1 -1
  507. package/dist/server/DaemonModule.d.ts +29 -22
  508. package/dist/server/DaemonModule.d.ts.map +1 -1
  509. package/dist/server/DrainSupervisor.d.ts +8 -21
  510. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  511. package/dist/server/DrainSupervisor.js +278 -306
  512. package/dist/server/DrainSupervisor.js.map +1 -1
  513. package/dist/server/EnvFunctionality.d.ts +43 -0
  514. package/dist/server/EnvFunctionality.d.ts.map +1 -0
  515. package/dist/server/EnvFunctionality.js +194 -0
  516. package/dist/server/EnvFunctionality.js.map +1 -0
  517. package/dist/server/Functionality.d.ts +12 -11
  518. package/dist/server/Functionality.d.ts.map +1 -1
  519. package/dist/server/Functionality.js +279 -142
  520. package/dist/server/Functionality.js.map +1 -1
  521. package/dist/server/FunctionalityManager.d.ts +5 -5
  522. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  523. package/dist/server/FunctionalityManager.js +29 -57
  524. package/dist/server/FunctionalityManager.js.map +1 -1
  525. package/dist/server/MembersFunctionality.d.ts +5 -4
  526. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  527. package/dist/server/MembersFunctionality.js +24 -38
  528. package/dist/server/MembersFunctionality.js.map +1 -1
  529. package/dist/server/PlurnkSkill.d.ts +11 -0
  530. package/dist/server/PlurnkSkill.d.ts.map +1 -0
  531. package/dist/server/PlurnkSkill.js +41 -0
  532. package/dist/server/PlurnkSkill.js.map +1 -0
  533. package/dist/server/Retention.d.ts +25 -0
  534. package/dist/server/Retention.d.ts.map +1 -0
  535. package/dist/server/Retention.js +57 -0
  536. package/dist/server/Retention.js.map +1 -0
  537. package/dist/server/Retention.sql +59 -0
  538. package/dist/server/ServiceModules.d.ts +5 -0
  539. package/dist/server/ServiceModules.d.ts.map +1 -0
  540. package/dist/server/ServiceModules.js +10 -0
  541. package/dist/server/ServiceModules.js.map +1 -0
  542. package/dist/server/SkillsFunctionality.d.ts +14 -19
  543. package/dist/server/SkillsFunctionality.d.ts.map +1 -1
  544. package/dist/server/SkillsFunctionality.js +102 -106
  545. package/dist/server/SkillsFunctionality.js.map +1 -1
  546. package/dist/server/WorkerModelResolver.d.ts +4 -0
  547. package/dist/server/WorkerModelResolver.d.ts.map +1 -1
  548. package/dist/server/WorkerModelResolver.js +72 -39
  549. package/dist/server/WorkerModelResolver.js.map +1 -1
  550. package/dist/server/WorkspaceCapabilities.d.ts +21 -0
  551. package/dist/server/WorkspaceCapabilities.d.ts.map +1 -0
  552. package/dist/server/{WorkerCapabilities.js → WorkspaceCapabilities.js} +40 -40
  553. package/dist/server/WorkspaceCapabilities.js.map +1 -0
  554. package/dist/server/WorkspaceResidency.d.ts +38 -0
  555. package/dist/server/WorkspaceResidency.d.ts.map +1 -0
  556. package/dist/server/WorkspaceResidency.js +226 -0
  557. package/dist/server/WorkspaceResidency.js.map +1 -0
  558. package/dist/server/client-input.d.ts +1 -4
  559. package/dist/server/client-input.d.ts.map +1 -1
  560. package/dist/server/client-input.js +5 -46
  561. package/dist/server/client-input.js.map +1 -1
  562. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  563. package/dist/server/dispatch-as-plurnk.js +4 -22
  564. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  565. package/dist/server/drain.sql +66 -43
  566. package/dist/server/envelope.d.ts +8 -1
  567. package/dist/server/envelope.d.ts.map +1 -1
  568. package/dist/server/envelope.js +9 -19
  569. package/dist/server/envelope.js.map +1 -1
  570. package/dist/server/envelope.sql +49 -13
  571. package/dist/server/lifecycle-recovery.sql +18 -20
  572. package/dist/server/logEntry.d.ts +1 -1
  573. package/dist/server/logEntry.d.ts.map +1 -1
  574. package/dist/server/logEntry.js +4 -1
  575. package/dist/server/logEntry.js.map +1 -1
  576. package/dist/server/logEntry.sql +25 -1
  577. package/dist/server/loopDocs.d.ts +2 -2
  578. package/dist/server/loopDocs.d.ts.map +1 -1
  579. package/dist/server/loopDocs.js +38 -31
  580. package/dist/server/loopDocs.js.map +1 -1
  581. package/dist/server/loopDocs.sql +1 -3
  582. package/dist/server/model-catalog.d.ts.map +1 -1
  583. package/dist/server/model-catalog.js +2 -1
  584. package/dist/server/model-catalog.js.map +1 -1
  585. package/dist/server/model-route.d.ts +1 -1
  586. package/dist/server/model-route.d.ts.map +1 -1
  587. package/dist/server/model-route.js +4 -2
  588. package/dist/server/model-route.js.map +1 -1
  589. package/dist/server/seam-entry-read.sql +3 -4
  590. package/dist/server/seam-loop.sql +2 -9
  591. package/dist/server/workspace-capabilities.sql +64 -0
  592. package/dist/service.d.ts.map +1 -1
  593. package/dist/service.js +21 -18
  594. package/dist/service.js.map +1 -1
  595. package/docs/env.md +55 -0
  596. package/docs/members.md +83 -0
  597. package/docs/skills.md +50 -0
  598. package/migrations/001_workspaces.sql +53 -0
  599. package/migrations/002_workers.sql +198 -0
  600. package/migrations/003_loops.sql +326 -0
  601. package/migrations/004_inference.sql +401 -0
  602. package/migrations/005_entries.sql +215 -0
  603. package/migrations/006_log.sql +581 -0
  604. package/migrations/007_subscriptions.sql +175 -0
  605. package/migrations/008_interactions.sql +29 -0
  606. package/package.json +44 -41
  607. package/digest-sql/channel-dispositions/dispositions.sql +0 -15
  608. package/digest-sql/channel-state/state.sql +0 -6
  609. package/digest-sql/curation/curation.sql +0 -6
  610. package/digest-sql/derivations/derivations.sql +0 -4
  611. package/digest-sql/embeddings/embeddings.sql +0 -4
  612. package/digest-sql/entry-dispositions/dispositions.sql +0 -15
  613. package/digest-sql/entry-state/state.sql +0 -6
  614. package/digest-sql/token-counts/token-counts.sql +0 -2
  615. package/dist/core/EmbeddingCall.d.ts +0 -23
  616. package/dist/core/EmbeddingCall.d.ts.map +0 -1
  617. package/dist/core/EmbeddingCall.js +0 -149
  618. package/dist/core/EmbeddingCall.js.map +0 -1
  619. package/dist/core/OverflowTurn.d.ts +0 -11
  620. package/dist/core/OverflowTurn.d.ts.map +0 -1
  621. package/dist/core/OverflowTurn.js +0 -80
  622. package/dist/core/OverflowTurn.js.map +0 -1
  623. package/dist/core/Owner.d.ts +0 -8
  624. package/dist/core/Owner.d.ts.map +0 -1
  625. package/dist/core/Owner.js +0 -46
  626. package/dist/core/Owner.js.map +0 -1
  627. package/dist/core/SendBroadcastHandler.d.ts.map +0 -1
  628. package/dist/core/SendBroadcastHandler.js +0 -159
  629. package/dist/core/SendBroadcastHandler.js.map +0 -1
  630. package/dist/core/VectorPump.d.ts +0 -28
  631. package/dist/core/VectorPump.d.ts.map +0 -1
  632. package/dist/core/VectorPump.js +0 -130
  633. package/dist/core/VectorPump.js.map +0 -1
  634. package/dist/core/owner.sql +0 -11
  635. package/dist/core/worker-settings.d.ts +0 -10
  636. package/dist/core/worker-settings.d.ts.map +0 -1
  637. package/dist/core/worker-settings.js +0 -53
  638. package/dist/core/worker-settings.js.map +0 -1
  639. package/dist/schemes/_entry-chunk.d.ts +0 -14
  640. package/dist/schemes/_entry-chunk.d.ts.map +0 -1
  641. package/dist/schemes/_entry-chunk.js +0 -165
  642. package/dist/schemes/_entry-chunk.js.map +0 -1
  643. package/dist/schemes/_entry-semantic.d.ts +0 -63
  644. package/dist/schemes/_entry-semantic.d.ts.map +0 -1
  645. package/dist/schemes/_entry-semantic.js +0 -299
  646. package/dist/schemes/_entry-semantic.js.map +0 -1
  647. package/dist/schemes/_entry-semantic.sql +0 -99
  648. package/dist/schemes/cosine.d.ts +0 -4
  649. package/dist/schemes/cosine.d.ts.map +0 -1
  650. package/dist/schemes/cosine.js +0 -9
  651. package/dist/schemes/cosine.js.map +0 -1
  652. package/dist/server/WorkerCapabilities.d.ts +0 -21
  653. package/dist/server/WorkerCapabilities.d.ts.map +0 -1
  654. package/dist/server/WorkerCapabilities.js.map +0 -1
  655. package/dist/server/WorkerResidency.d.ts +0 -40
  656. package/dist/server/WorkerResidency.d.ts.map +0 -1
  657. package/dist/server/WorkerResidency.js +0 -283
  658. package/dist/server/WorkerResidency.js.map +0 -1
  659. package/dist/server/seam-log-read.sql +0 -21
  660. package/dist/server/worker-capabilities.sql +0 -28
  661. package/migrations/001_schema.sql +0 -2207
@@ -1,30 +1,29 @@
1
1
  // Search-index materialization for every readable workspace channel. Entry
2
2
  // channels and logs attach to the same immutable, content-addressed derivation
3
- // artifacts; FTS, vectors, and graph relationships consume them uniformly.
4
- import EmbeddingCall from "../core/EmbeddingCall.js";
5
- import { isMimetypeInputError } from "@plurnk/plurnk-mimetypes";
3
+ // artifacts; FTS and graph relationships consume them uniformly.
4
+ import { MimetypeDerivationError, isMimetypeInputError } from "@plurnk/plurnk-mimetypes";
6
5
  import { createHash } from "node:crypto";
7
6
  import { availableParallelism } from "node:os";
8
7
  import EntryGraph from "./_entry-graph.js";
9
- import EntrySemantic from "./_entry-semantic.js";
8
+ import EntryFts from "./_entry-fts.js";
10
9
  import LogBody from "../core/LogBody.js";
11
10
  import LogEntryProjection from "../core/LogEntryProjection.js";
11
+ import LogVisibility from "../core/LogVisibility.js";
12
12
  import matchSearchExclusion from "./_search-exclusion.js";
13
- import { VECTORS_PENDING_REASON } from "../core/VectorPump.js";
13
+ import { contentHash } from "../core/content-hash.js";
14
14
  const NO_PROJECTION_IDENTITY = "projection:none";
15
15
  export default class SearchIndex {
16
16
  // The index materializes one immutable artifact per exact READ representation and
17
17
  // configuration identity, then atomically attaches resource addresses to it.
18
- // Cancellation leaves a building artifact unattached for retry (an artifact attached
19
- // ahead of its vectors stays lexical/vectors_pending and re-enters the pump); a typed
18
+ // Cancellation leaves a building artifact unattached for retry; a typed
20
19
  // invalid-source failure is terminal and observable so
21
20
  // one malformed specimen cannot hold workspace readiness hostage.
22
21
  // Hash-keyed chains serialize concurrent workspace warm requests for the same
23
22
  // artifact while distinct artifacts remain parallel.
24
23
  static #deriveChains = new Map();
25
- static async #deriveOne(ctx, r, hash, semanticPlan, searchExcluded, binary, pump, callbacks = {}) {
24
+ static async #deriveOne(ctx, r, hash, searchExcluded, binary, callbacks = {}) {
26
25
  const prior = SearchIndex.#deriveChains.get(hash) ?? Promise.resolve();
27
- const run = prior.then(() => SearchIndex.#deriveOneUnlocked(ctx, r, hash, semanticPlan, searchExcluded, binary, pump, callbacks));
26
+ const run = prior.then(() => SearchIndex.#deriveOneUnlocked(ctx, r, hash, searchExcluded, binary, callbacks));
28
27
  const tail = run.catch(() => { }); // the chain survives a failed link; deriveOne's caller sees the rejection
29
28
  SearchIndex.#deriveChains.set(hash, tail);
30
29
  void tail.finally(() => {
@@ -33,41 +32,34 @@ export default class SearchIndex {
33
32
  });
34
33
  return run;
35
34
  }
36
- static async #deriveOneUnlocked(ctx, r, hash, semanticPlan, searchExcluded, binary, pump, callbacks) {
35
+ static async #deriveOneUnlocked(ctx, r, hash, searchExcluded, binary, callbacks) {
37
36
  const { db, mimetypes } = ctx;
38
37
  if (mimetypes === undefined)
39
38
  throw new Error("deriveOne: ctx.mimetypes is required");
40
- const attach = async () => {
39
+ // Attach while the channel still denotes the derived representation: by its stored identity
40
+ // when it has one, by the exact body otherwise ({§derivation-dedup-parallel}).
41
+ const attach = async (content) => {
41
42
  if (r.attachment === "entry-channel") {
42
- await db.crud_attach_channel_derivation.run({
43
- entry_id: r.id,
44
- scheme: r.scheme,
45
- authority: r.authority,
46
- pathname: r.pathname,
47
- channel: r.channel,
48
- content: r.content,
49
- mimetype: r.mimetype,
50
- deep_hash: hash,
51
- });
43
+ const identity = { entry_id: r.id, scheme: r.scheme, authority: r.authority, pathname: r.pathname, channel: r.channel, mimetype: r.mimetype, deep_hash: hash };
44
+ if (r.hashed) {
45
+ await db.crud_attach_channel_derivation_by_hash.run({ ...identity, content_hash: r.contentHash });
46
+ return;
47
+ }
48
+ const body = content ?? await r.body();
49
+ if (body === null)
50
+ return;
51
+ await db.crud_attach_channel_derivation.run({ ...identity, content: body });
52
+ }
53
+ else if (r.attachment === "log") {
54
+ await db.log_set_deep_hash.run({ log_entry_id: r.id, deep_hash: hash, folded: r.folded });
52
55
  }
53
56
  else {
54
- await db.log_set_deep_hash.run({ log_entry_id: r.id, deep_hash: hash });
57
+ await db.turn_source_attach_derivation.run({ turn_id: r.id, kind: r.kind, deep_hash: hash });
55
58
  }
56
59
  };
57
60
  let artifact = await db.derivation_get.get({ deep_hash: hash });
58
61
  if (artifact?.state === "complete") {
59
- await attach();
60
- // {§derivation-vectors-background} — an artifact an earlier pass (or process) left
61
- // owing vectors re-enters the pump with the extents its graph already holds.
62
- if (pump !== undefined && owesVectors(artifact)) {
63
- const extents = await db.graph_defs_extents.all({ derivation_id: artifact.id });
64
- pump.enqueue(semanticPlan, [{
65
- derivationId: artifact.id,
66
- hash,
67
- content: r.content,
68
- symbols: extents.map(({ line, end_line }) => ({ line, endLine: end_line ?? undefined })),
69
- }]);
70
- }
62
+ await attach(null);
71
63
  return;
72
64
  }
73
65
  if (artifact === undefined) {
@@ -76,6 +68,11 @@ export default class SearchIndex {
76
68
  if (artifact === undefined)
77
69
  throw new Error(`failed to create derivation artifact ${hash}`);
78
70
  const derivationId = artifact.id;
71
+ // The body crosses into the process here and nowhere earlier; a representation that moved
72
+ // on since it was judged leaves the artifact building for the next pass to judge afresh.
73
+ const content = await r.body();
74
+ if (content === null)
75
+ return;
79
76
  let parseIssues = null;
80
77
  let summary = null;
81
78
  const attachComplete = async (disposition, reason = null) => {
@@ -86,30 +83,38 @@ export default class SearchIndex {
86
83
  parse_issues: parseIssues,
87
84
  summary,
88
85
  });
89
- await attach();
86
+ await attach(content);
90
87
  };
91
- const wantGraph = r.content.length > 0 && !binary;
88
+ const wantGraph = content.length > 0 && !binary;
92
89
  if (!wantGraph) {
93
90
  await EntryGraph.populateFrom(db, derivationId, [], []);
94
- await EntrySemantic.indexFts(db, derivationId, "");
95
- await EntrySemantic.indexEmbedding(db, derivationId, [], undefined);
96
- await attachComplete(searchExcluded === undefined ? "nonsemantic" : "excluded", searchExcluded ?? (r.content.length === 0 ? "empty" : "binary"));
91
+ await EntryFts.index(db, derivationId, "");
92
+ await attachComplete(searchExcluded === undefined ? "unsearchable" : "excluded", searchExcluded ?? (content.length === 0 ? "empty" : "binary"));
97
93
  return;
98
94
  }
99
95
  let result;
100
96
  try {
101
- result = await mimetypes.process({ content: r.content, hint: r.mimetype, path: r.pathname }, {
97
+ result = await mimetypes.process({ content, hint: r.mimetype, path: r.pathname }, {
102
98
  channels: searchExcluded === undefined ? ["symbols", "references"] : [],
103
99
  summary: true,
104
100
  });
105
101
  }
106
102
  catch (error) {
107
- if (ctx.signal?.aborted === true || !isMimetypeInputError(error))
103
+ if (ctx.signal?.aborted === true)
104
+ throw error;
105
+ // {§derivation-member-failure}: a typed invalid-source rejection and a handler's own
106
+ // defect on this one member ({§mimetype-derivation-evidence}) are both that member's
107
+ // terminal disposition, never the pass's. Anything else thrown here — a grammar not
108
+ // installed, a contract violation outside the handler — stays fatal.
109
+ const handlerDefect = error instanceof MimetypeDerivationError;
110
+ if (!handlerDefect && !isMimetypeInputError(error))
108
111
  throw error;
109
112
  await EntryGraph.populateFrom(db, derivationId, [], []);
110
- await EntrySemantic.indexFts(db, derivationId, "");
111
- await EntrySemantic.indexEmbedding(db, derivationId, [], undefined);
112
- await attachComplete(searchExcluded === undefined ? "failed" : "excluded", searchExcluded ?? (error instanceof Error ? error.message : String(error)));
113
+ await EntryFts.index(db, derivationId, "");
114
+ const reason = searchExcluded ?? SearchIndex.#failureReason(error);
115
+ await attachComplete(searchExcluded === undefined ? "failed" : "excluded", reason);
116
+ if (handlerDefect && searchExcluded === undefined)
117
+ callbacks.onMemberFailure?.({ path: r.pathname, reason });
113
118
  return;
114
119
  }
115
120
  ctx.signal?.throwIfAborted();
@@ -119,45 +124,18 @@ export default class SearchIndex {
119
124
  callbacks.onNotice?.(notice);
120
125
  if (searchExcluded !== undefined) {
121
126
  await EntryGraph.populateFrom(db, derivationId, [], []);
122
- await EntrySemantic.indexFts(db, derivationId, "");
123
- await EntrySemantic.indexEmbedding(db, derivationId, [], undefined);
127
+ await EntryFts.index(db, derivationId, "");
124
128
  await attachComplete("excluded", searchExcluded);
125
129
  return;
126
130
  }
127
- // Persistence and embedding operations are outside typed input-failure
131
+ // Persistence operations are outside typed input-failure
128
132
  // containment. An internal/operational failure leaves the artifact
129
133
  // building and propagates so a later warm can retry; it is never
130
134
  // mislabeled as one malformed resource.
131
135
  await EntryGraph.populateFrom(db, derivationId, result.symbols ?? [], result.references ?? []);
132
- // The selected stored channel is the exact text an addressed READ exposes
133
- // and therefore the honest coordinate space for FTS and vectors.
134
- const semanticSource = r.content;
135
- await EntrySemantic.indexFts(db, derivationId, semanticSource);
136
- // Size rejection is vector-only: membership, READ, graph, and FTS remain exhaustive.
137
- if (EntrySemantic.embedSizeRejection(semanticSource) !== null) {
138
- await EntrySemantic.indexEmbedding(db, derivationId, [], undefined);
139
- await attachComplete("lexical", "max_embed_size");
140
- return;
141
- }
142
- if (semanticPlan.info === null) {
143
- await EntrySemantic.indexEmbedding(db, derivationId, [], undefined);
144
- await attachComplete("lexical", "embedder_unavailable");
145
- return;
146
- }
147
- // {§derivation-vectors-background} — attach now, vectors behind: the artifact is lexical
148
- // until the pump lands its chunks and upgrades the disposition.
149
- if (pump !== undefined) {
150
- await EntrySemantic.indexEmbedding(db, derivationId, [], undefined);
151
- await attachComplete("lexical", VECTORS_PENDING_REASON);
152
- pump.enqueue(semanticPlan, [{ derivationId, hash, content: semanticSource, symbols: result.symbols ?? [] }]);
153
- return;
154
- }
155
- const { chunks, model } = await EntrySemantic.deriveEmbeddings(semanticPlan, (texts, options) => EmbeddingCall.documents(ctx.db, {
156
- workspaceId: ctx.workspaceId,
157
- turnId: ctx.turnId > 0 ? ctx.turnId : null,
158
- }, semanticPlan.mimetypes, semanticPlan.info.model, texts, options), semanticSource, result.symbols ?? [], undefined, undefined, ctx.signal, callbacks.onProgress);
159
- await EntrySemantic.indexEmbedding(db, derivationId, chunks, model);
160
- await attachComplete(chunks.length > 0 ? "vector" : "nonsemantic", chunks.length > 0 ? null : "no_embedding_content");
136
+ // Index exactly the addressed READ representation.
137
+ await EntryFts.index(db, derivationId, content);
138
+ await attachComplete("indexed");
161
139
  }
162
140
  static progressHeartbeatMs() {
163
141
  const progressHeartbeatMs = Number(process.env.PLURNK_SERVICE_DERIVE_PROGRESS_HEARTBEAT_MS);
@@ -170,9 +148,7 @@ export default class SearchIndex {
170
148
  const rawConcurrency = process.env.PLURNK_SERVICE_DERIVE_CONCURRENCY;
171
149
  const cores = availableParallelism();
172
150
  const configuredConcurrency = rawConcurrency === undefined || rawConcurrency.trim() === ""
173
- // Entry derivation is a producer tier above the all-core embedding pool.
174
- // A square-root fan-out keeps that pool fed without simultaneously
175
- // materializing one enormous symbol/chunk graph per host core.
151
+ // Bound concurrently materialized parser graphs independently of SQL readers.
176
152
  ? Math.max(1, Math.floor(Math.sqrt(cores)))
177
153
  : Number(rawConcurrency);
178
154
  if (!Number.isInteger(configuredConcurrency) || configuredConcurrency === 0 || configuredConcurrency < -1) {
@@ -180,18 +156,16 @@ export default class SearchIndex {
180
156
  }
181
157
  return configuredConcurrency === -1 ? cores : configuredConcurrency;
182
158
  }
183
- // {§derivation-vectors-background}
184
- static vectorsMode() {
185
- const raw = process.env.PLURNK_SERVICE_DERIVE_VECTORS;
186
- if (raw === undefined || raw.trim() === "" || raw === "background")
187
- return "background";
188
- if (raw === "eager")
189
- return "eager";
190
- throw new RangeError(`PLURNK_SERVICE_DERIVE_VECTORS must be background or eager; got ${JSON.stringify(raw)}`);
159
+ // The exact reason for a member's `failed` row: the handler's invocation context plus its
160
+ // original cause, or the typed rejection's own message.
161
+ static #failureReason(error) {
162
+ if (!(error instanceof MimetypeDerivationError))
163
+ return error instanceof Error ? error.message : String(error);
164
+ const cause = error.cause;
165
+ const detail = cause instanceof Error ? `${cause.name}: ${cause.message}` : String(cause);
166
+ return `${error.message} ${detail}`;
191
167
  }
192
- // With a pump, every artifact that owes vectors attaches first and hands the
193
- // embedding to it; without one the pass derives vectors inline.
194
- static async maintain(ctx, pump) {
168
+ static async maintain(ctx) {
195
169
  const { db, workspaceId, mimetypes } = ctx;
196
170
  if (mimetypes === undefined)
197
171
  throw new Error("SearchIndex.maintain: ctx.mimetypes is required");
@@ -200,15 +174,25 @@ export default class SearchIndex {
200
174
  // Validate global graph persistence tuning before resource-local
201
175
  // derivation containment can classify a handler failure.
202
176
  EntryGraph.storeBatch();
203
- const entryRows = await db.engine_list_workspace_entries.all({ workspace_id: workspaceId });
177
+ // {§derivation-dedup-parallel} — entry channels are judged from stored identity: the
178
+ // candidate statement carries no body, and a body crosses into the process only for a
179
+ // derivation that runs, or for a channel with no stored identity (a stream), which must be
180
+ // read to be judged. Log rows and turn sources still arrive whole.
181
+ let acquiredBytes = 0;
182
+ const candidates = await db.search_index_entry_candidates.all({ workspace_id: workspaceId });
183
+ const acquire = async (entryId, channel, storedHash) => {
184
+ const row = await db.search_index_entry_body.get({ entry_id: entryId, channel, content_hash: storedHash });
185
+ if (row === undefined)
186
+ return null;
187
+ acquiredBytes += row.content.length;
188
+ return row.content;
189
+ };
204
190
  const logRows = await db.log_derivation_rows.all({ workspace_id: workspaceId });
205
- // One resolved plan supplies both chunking and the configuration identity
206
- // for every representation in this pass ({§semantic-embed-dedup}).
207
- const semanticPlan = await EntrySemantic.prepareEmbeddings(mimetypes);
208
- const deepCfgSig = semanticPlan.signature;
191
+ for (const row of logRows)
192
+ acquiredBytes += row.tx.length + row.rx.length;
209
193
  const projectionIdentities = new Map();
210
- const projectionIdentityFor = (mimetype, content, binary, searchExcluded) => {
211
- if (searchExcluded !== undefined || content.length === 0 || binary) {
194
+ const projectionIdentityFor = (mimetype, contentLength, binary, searchExcluded) => {
195
+ if (searchExcluded !== undefined || contentLength === 0 || binary) {
212
196
  return Promise.resolve(NO_PROJECTION_IDENTITY);
213
197
  }
214
198
  const cached = projectionIdentities.get(mimetype);
@@ -218,88 +202,109 @@ export default class SearchIndex {
218
202
  projectionIdentities.set(mimetype, identity);
219
203
  return identity;
220
204
  };
221
- // No embedder (absent OR PLURNK_SERVICE_EMBED_DISABLE) is represented by
222
- // the same plan and `embed:none` signature; derivation keeps only graph/FTS.
223
205
  // Compute the changed-representation worklist before scheduling so aggregate
224
206
  // progress has a stable total. {§derivation-dedup-parallel}
225
207
  const pending = [];
226
- for (const r of entryRows) {
227
- const searchExcluded = matchSearchExclusion(r);
208
+ for (const c of candidates) {
209
+ const searchExcluded = matchSearchExclusion(c);
228
210
  const dispositionIdentity = searchExcluded === undefined ? "included" : `excluded:${searchExcluded}`;
229
- const binary = (await mimetypes.classify(r.mimetype)).binary;
230
- const projectionIdentity = await projectionIdentityFor(r.mimetype, r.content, binary, searchExcluded);
231
- const hash = derivationHash({
232
- content: r.content,
233
- mimetype: r.mimetype,
211
+ const binary = (await mimetypes.classify(c.mimetype)).binary;
212
+ const projectionIdentity = await projectionIdentityFor(c.mimetype, c.content_length, binary, searchExcluded);
213
+ // A channel without a stored identity (an open or streamed channel) is the one body the
214
+ // metadata cannot judge; it is read now and hashed.
215
+ let preloaded = null;
216
+ let identity = c.content_hash;
217
+ if (identity === null) {
218
+ preloaded = await acquire(c.entry_id, c.channel, null);
219
+ if (preloaded === null)
220
+ continue;
221
+ identity = contentHash(preloaded);
222
+ }
223
+ const hash = derivationHash({ contentHash: identity, mimetype: c.mimetype, binary, projectionIdentity, dispositionIdentity });
224
+ if (hash === c.deep_hash)
225
+ continue; // unchanged since last derivation → deep rows persist
226
+ const body = preloaded;
227
+ pending.push({
228
+ r: {
229
+ id: c.entry_id,
230
+ attachment: "entry-channel",
231
+ scheme: c.scheme,
232
+ authority: c.authority,
233
+ channel: c.channel,
234
+ pathname: c.pathname,
235
+ mimetype: c.mimetype,
236
+ contentLength: c.content_length,
237
+ contentHash: identity,
238
+ hashed: c.content_hash !== null,
239
+ body: body === null ? () => acquire(c.entry_id, c.channel, c.content_hash) : () => Promise.resolve(body),
240
+ },
241
+ hash,
242
+ searchExcluded,
234
243
  binary,
235
- projectionIdentity,
236
- semanticIdentity: deepCfgSig,
237
- dispositionIdentity,
238
244
  });
239
- if (hash !== r.deep_hash || (pump !== undefined && owesVectors({ disposition: r.deep_disposition, reason: r.deep_reason })))
240
- pending.push({
241
- r: {
242
- id: r.entry_id,
243
- attachment: "entry-channel",
244
- scheme: r.scheme,
245
- authority: r.authority,
246
- channel: r.channel,
247
- pathname: r.pathname,
248
- content: r.content,
249
- mimetype: r.mimetype,
250
- },
251
- hash,
252
- searchExcluded,
253
- binary,
254
- }); // unchanged since last derivation → deep rows persist
255
245
  }
256
246
  for (const row of logRows) {
257
- const projection = LogBody.resolve({
247
+ const projection = LogBody.readable({
258
248
  op: row.op,
259
249
  attrs: row.attrs,
260
250
  tx: row.tx,
261
251
  rx: row.rx,
262
252
  mimetypeTx: row.mimetype_tx,
263
253
  mimetypeRx: row.mimetype_rx,
264
- });
254
+ }, LogVisibility.parse(row.folded));
265
255
  const binary = (await mimetypes.classify(projection.mimetype)).binary;
266
- const projectionIdentity = await projectionIdentityFor(projection.mimetype, projection.content, binary, undefined);
256
+ const projectionIdentity = await projectionIdentityFor(projection.mimetype, projection.content.length, binary, undefined);
267
257
  const hash = derivationHash({
268
- content: projection.content,
258
+ contentHash: contentHash(projection.content),
269
259
  mimetype: projection.mimetype,
270
260
  binary,
271
261
  projectionIdentity,
272
- semanticIdentity: deepCfgSig,
273
262
  dispositionIdentity: "included",
274
263
  });
275
- if (hash !== row.deep_hash || (pump !== undefined && owesVectors({ disposition: row.deep_disposition, reason: row.deep_reason })))
264
+ if (hash !== row.deep_hash)
276
265
  pending.push({
277
266
  r: {
278
267
  id: row.id,
279
268
  attachment: "log",
269
+ folded: row.folded,
280
270
  pathname: LogEntryProjection.coordinate(row.coordinate, row),
281
- content: projection.content,
282
271
  mimetype: projection.mimetype,
272
+ contentLength: projection.content.length,
273
+ contentHash: contentHash(projection.content),
274
+ body: () => Promise.resolve(projection.content),
283
275
  },
284
276
  hash,
285
277
  searchExcluded: undefined,
286
278
  binary,
287
279
  });
288
280
  }
289
- const hasVectorCandidate = semanticPlan.info !== null && pending.some(({ r, searchExcluded, binary }) => searchExcluded === undefined
290
- && r.content.length > 0
291
- && !binary
292
- && EntrySemantic.embedSizeRejection(r.content) === null);
293
- if (hasVectorCandidate)
294
- EntrySemantic.assertExactChunking(semanticPlan, ctx.pushNotice);
281
+ const sources = await db.turn_source_derivations.all({ workspace_id: workspaceId });
282
+ for (const source of sources) {
283
+ acquiredBytes += source.content.length;
284
+ const mimetype = source.kind === "ops" ? "text/vnd.plurnk" : "text/plain";
285
+ const projectionIdentity = await projectionIdentityFor(mimetype, source.content.length, false, undefined);
286
+ const identity = contentHash(source.content);
287
+ const hash = derivationHash({ contentHash: identity, mimetype, binary: false, projectionIdentity, dispositionIdentity: "included" });
288
+ if (hash !== source.deep_hash)
289
+ pending.push({
290
+ r: {
291
+ id: source.turn_id, attachment: "turn-source", kind: source.kind,
292
+ pathname: source.pathname, mimetype,
293
+ contentLength: source.content.length, contentHash: identity,
294
+ body: () => Promise.resolve(source.content),
295
+ },
296
+ hash, searchExcluded: undefined, binary: false,
297
+ });
298
+ }
295
299
  // {§derivation-dedup-parallel} — warm smaller projections before an
296
- // expensive outlier; ordering never changes exhaustive derivation.
297
- pending.sort((a, b) => a.r.content.length - b.r.content.length);
300
+ // expensive outlier; ordering never changes exhaustive derivation. The
301
+ // stored length orders without a body.
302
+ pending.sort((a, b) => a.r.contentLength - b.r.contentLength);
298
303
  const total = pending.length;
299
304
  if (total === 0)
300
- return 0;
305
+ return { derived: 0, acquiredBytes };
301
306
  let completed = 0;
302
- let stage;
307
+ const memberFailures = [];
303
308
  const projectionNotices = new Set();
304
309
  const forwardProjectionNotice = (notice) => {
305
310
  const key = JSON.stringify(notice);
@@ -314,17 +319,16 @@ export default class SearchIndex {
314
319
  const percent = terminal ? 100 : Math.floor((current / total) * 100);
315
320
  ctx.pushNotice?.({
316
321
  source: "engine:derivation",
317
- kind: "embed_progress",
322
+ kind: "search_progress",
318
323
  phase,
319
324
  message,
320
325
  completed: current,
321
326
  total,
322
327
  percent,
323
- ...(stage === undefined ? {} : { stage }),
324
328
  level,
325
329
  });
326
330
  };
327
- publish("preparing", "Preparing repository content for semantic indexing");
331
+ publish("preparing", "Preparing repository content for search indexing");
328
332
  // Each derivation identity builds one shared artifact while distinct
329
333
  // artifacts run with bounded concurrency. {§derivation-dedup-parallel}
330
334
  const groups = new Map();
@@ -344,11 +348,9 @@ export default class SearchIndex {
344
348
  const group = work[next++];
345
349
  for (const { r, hash, searchExcluded, binary } of group) {
346
350
  ctx.signal?.throwIfAborted();
347
- await SearchIndex.#deriveOne(ctx, r, hash, semanticPlan, searchExcluded, binary, pump, {
351
+ await SearchIndex.#deriveOne(ctx, r, hash, searchExcluded, binary, {
348
352
  onNotice: forwardProjectionNotice,
349
- onProgress: (progress) => {
350
- stage = progress.phase;
351
- },
353
+ onMemberFailure: (failure) => { memberFailures.push(failure); },
352
354
  });
353
355
  completed++;
354
356
  }
@@ -361,7 +363,7 @@ export default class SearchIndex {
361
363
  if (failures.length === 1)
362
364
  throw failures[0];
363
365
  if (failures.length > 1) {
364
- throw new AggregateError(failures, `${failures.length} semantic derivation workers failed`);
366
+ throw new AggregateError(failures, `${failures.length} search derivation workers failed`);
365
367
  }
366
368
  };
367
369
  // Each group stays on one worker: its representative completes the artifact, then every
@@ -369,17 +371,26 @@ export default class SearchIndex {
369
371
  ctx.signal?.throwIfAborted();
370
372
  const heartbeat = setInterval(() => {
371
373
  if (completed < total) {
372
- publish("indexing", `Indexing repository semantics: ${Math.floor((completed / total) * 100)}% (${completed}/${total})`);
374
+ publish("indexing", `Indexing repository search: ${Math.floor((completed / total) * 100)}% (${completed}/${total})`);
373
375
  }
374
376
  }, progressHeartbeatMs);
375
377
  heartbeat.unref();
376
378
  try {
377
379
  await workerPool([...groups.values()]);
378
- publish("complete", "Repository semantic index is ready");
379
- return total;
380
+ if (memberFailures.length === 0) {
381
+ publish("complete", "Repository search index is ready");
382
+ }
383
+ else {
384
+ // {§derivation-member-failure}: the pass completes; the terminal notice names the
385
+ // first failed member and carries the count.
386
+ const [first] = memberFailures;
387
+ const rest = memberFailures.length - 1;
388
+ publish("complete", `Repository search index is ready; ${memberFailures.length} of ${total} derivations failed: ${JSON.stringify(first.path)} — ${first.reason}${rest === 0 ? "" : ` (and ${rest} more)`}`, "warn");
389
+ }
390
+ return { derived: total, acquiredBytes };
380
391
  }
381
392
  catch (error) {
382
- publish("failed", `Semantic indexing failed: ${error instanceof Error ? error.message : String(error)}`, "error");
393
+ publish("failed", `Search indexing failed: ${error instanceof Error ? error.message : String(error)}`, "error");
383
394
  throw error;
384
395
  }
385
396
  finally {
@@ -387,12 +398,12 @@ export default class SearchIndex {
387
398
  }
388
399
  }
389
400
  }
390
- function owesVectors({ disposition, reason }) {
391
- return disposition === "lexical" && reason === VECTORS_PENDING_REASON;
392
- }
401
+ // {§derivation-dedup-parallel} — the identity is a hash over the representation's own SHA-256
402
+ // ({§tokenomics-content-hash-identity}), never over its body, so a stored channel identity
403
+ // decides dirtiness without the body crossing into the process.
393
404
  function derivationHash(input) {
394
405
  return createHash("sha256")
395
- .update(input.content)
406
+ .update(input.contentHash)
396
407
  .update("\0")
397
408
  .update(input.mimetype)
398
409
  .update("\0")
@@ -400,8 +411,6 @@ function derivationHash(input) {
400
411
  .update("\0")
401
412
  .update(input.projectionIdentity)
402
413
  .update("\0")
403
- .update(input.semanticIdentity)
404
- .update("\0")
405
414
  .update(input.dispositionIdentity)
406
415
  .digest("hex");
407
416
  }
@@ -1 +1 @@
1
- {"version":3,"file":"_search-index.js","sourceRoot":"","sources":["../../src/schemes/_search-index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,+EAA+E;AAC/E,2EAA2E;AAG3E,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,aAAoC,MAAM,sBAAsB,CAAC;AACxE,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,kBAAkB,MAAM,+BAA+B,CAAC;AAC/D,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAmB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AA2C3E,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,WAAW;IAC5B,kFAAkF;IAClF,6EAA6E;IAC7E,qFAAqF;IACrF,sFAAsF;IACtF,uDAAuD;IACvD,kEAAkE;IAClE,8EAA8E;IAC9E,qDAAqD;IACrD,MAAM,CAAC,aAAa,GAAG,IAAI,GAAG,EAAyB,CAAC;IAExD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAwB,EAAE,CAAgB,EAAE,IAAY,EAAE,YAA0B,EAAE,cAAkC,EAAE,MAAe,EAAE,IAA4B,EAAE,SAAS,GAAwB,EAAE;QAChO,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACvE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAClI,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,0EAA0E;QAC5G,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACnB,IAAI,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI;gBAAE,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAwB,EAAE,CAAgB,EAAE,IAAY,EAAE,YAA0B,EAAE,cAAkC,EAAE,MAAe,EAAE,IAA4B,EAAE,SAA8B;QACnO,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;QAC9B,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACrF,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;YACrC,IAAI,CAAC,CAAC,UAAU,KAAK,eAAe,EAAE,CAAC;gBACnC,MAAM,EAAE,CAAC,8BAA8B,CAAC,GAAG,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,EAAE;oBACd,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,SAAS,EAAE,IAAI;iBAClB,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,CAAC;QACL,CAAC,CAAC;QACF,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,GAAG,CAAqB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,IAAI,QAAQ,EAAE,KAAK,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,MAAM,EAAE,CAAC;YACf,mFAAmF;YACnF,6EAA6E;YAC7E,IAAI,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAA4C,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3H,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;wBACxB,YAAY,EAAE,QAAQ,CAAC,EAAE;wBACzB,IAAI;wBACJ,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;qBAC3F,CAAC,CAAC,CAAC;YACR,CAAC;YACD,OAAO;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAqB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvF,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,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,MAAM,cAAc,GAAG,KAAK,EAAE,WAAyE,EAAE,MAAM,GAAkB,IAAI,EAAiB,EAAE;YACpJ,MAAM,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC;gBAC7B,aAAa,EAAE,YAAY;gBAC3B,WAAW;gBACX,MAAM;gBACN,YAAY,EAAE,WAAW;gBACzB,OAAO;aACV,CAAC,CAAC;YACH,MAAM,MAAM,EAAE,CAAC;QACnB,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAClD,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,CAChB,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EACzD,cAAc,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAClE,CAAC;YACF,OAAO;QACX,CAAC;QACD,IAAI,MAAqB,CAAC;QAC1B,IAAI,CAAC;YACD,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAC5B,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAC1D;gBACI,QAAQ,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;gBACvE,OAAO,EAAE,IAAI;aAChB,CACJ,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YAC9E,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,CAChB,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EACpD,cAAc,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC7E,CAAC;YACF,OAAO;QACX,CAAC;QACD,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QAC7B,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC;QACzC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;QACjC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE;YAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;QACxE,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,uEAAuE;QACvE,mEAAmE;QACnE,iEAAiE;QACjE,wCAAwC;QACxC,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAC/F,0EAA0E;QAC1E,iEAAiE;QACjE,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC;QACjC,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QAC/D,qFAAqF;QACrF,IAAI,aAAa,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5D,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YACpE,MAAM,cAAc,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClD,OAAO;QACX,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YACpE,MAAM,cAAc,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;YACxD,OAAO;QACX,CAAC;QACD,yFAAyF;QACzF,gEAAgE;QAChE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YACpE,MAAM,cAAc,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;YACxD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7G,OAAO;QACX,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAC1D,YAAY,EACZ,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,CACvC,GAAG,CAAC,EAAE,EACN;YACI,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;SAC7C,EACD,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,IAAK,CAAC,KAAK,EACxB,KAAK,EACL,OAAO,CACV,EACD,cAAc,EACd,MAAM,CAAC,OAAO,IAAI,EAAE,EACpB,SAAS,EACT,SAAS,EACT,GAAG,CAAC,MAAM,EACV,SAAS,CAAC,UAAU,CACvB,CAAC;QACF,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACpE,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;IAC1H,CAAC;IAED,MAAM,CAAC,mBAAmB;QACtB,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAC5F,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,IAAI,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,UAAU,CAAC,+EAA+E,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,EAAE,CAAC,CAAC;QACnL,CAAC;QACD,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,mBAAmB;QACtB,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,OAAO,qBAAqB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACxE,CAAC;IAED,mCAAmC;IACnC,MAAM,CAAC,WAAW;QACd,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;QACtD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,KAAK,YAAY;YAAE,OAAO,YAAY,CAAC;QACxF,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC;QACpC,MAAM,IAAI,UAAU,CAAC,kEAAkE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClH,CAAC;IAED,6EAA6E;IAC7E,gEAAgE;IAChE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAwB,EAAE,IAAiB;QAC7D,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;QAC3C,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAChG,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QAC7B,MAAM,mBAAmB,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAC9D,iEAAiE;QACjE,yDAAyD;QACzD,UAAU,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAW,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QACtG,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAa7C,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QAClC,0EAA0E;QAC1E,mEAAmE;QACnE,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC;QAC1C,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA2B,CAAC;QAChE,MAAM,qBAAqB,GAAG,CAC1B,QAAgB,EAChB,OAAe,EACf,MAAe,EACf,cAAkC,EACnB,EAAE;YACjB,IAAI,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;gBACjE,OAAO,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;YACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACxD,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC7C,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC;QACF,yEAAyE;QACzE,6EAA6E;QAC7E,6EAA6E;QAC7E,4DAA4D;QAC5D,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YACxB,MAAM,cAAc,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,mBAAmB,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,cAAc,EAAE,CAAC;YACrG,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7D,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAClD,CAAC,CAAC,QAAQ,EACV,CAAC,CAAC,OAAO,EACT,MAAM,EACN,cAAc,CACjB,CAAC;YACF,MAAM,IAAI,GAAG,cAAc,CAAC;gBACxB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,MAAM;gBACN,kBAAkB;gBAClB,gBAAgB,EAAE,UAAU;gBAC5B,mBAAmB;aACtB,CAAC,CAAC;YACH,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC;oBACtI,CAAC,EAAE;wBACC,EAAE,EAAE,CAAC,CAAC,QAAQ;wBACd,UAAU,EAAE,eAAe;wBAC3B,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;qBACvB;oBACD,IAAI;oBACJ,cAAc;oBACd,MAAM;iBACT,CAAC,CAAC,CAAC,sDAAsD;QAC9D,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;gBAC/B,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,UAAU,EAAE,GAAG,CAAC,WAAW;gBAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;aAC9B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YACtE,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAClD,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,OAAO,EAClB,MAAM,EACN,SAAS,CACZ,CAAC;YACF,MAAM,IAAI,GAAG,cAAc,CAAC;gBACxB,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,MAAM;gBACN,kBAAkB;gBAClB,gBAAgB,EAAE,UAAU;gBAC5B,mBAAmB,EAAE,UAAU;aAClC,CAAC,CAAC;YACH,IAAI,IAAI,KAAK,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC;oBAC5I,CAAC,EAAE;wBACC,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,UAAU,EAAE,KAAK;wBACjB,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC;wBAC5D,OAAO,EAAE,UAAU,CAAC,OAAO;wBAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;qBAChC;oBACD,IAAI;oBACJ,cAAc,EAAE,SAAS;oBACzB,MAAM;iBACT,CAAC,CAAC;QACP,CAAC;QACD,MAAM,kBAAkB,GAAG,YAAY,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,CACpG,cAAc,KAAK,SAAS;eACzB,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;eACpB,CAAC,MAAM;eACP,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAC1D,CAAC;QACF,IAAI,kBAAkB;YAAE,aAAa,CAAC,mBAAmB,CAAC,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACxF,oEAAoE;QACpE,mEAAmE;QACnE,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,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAC1B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,KAA2C,CAAC;QAChD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC5C,MAAM,uBAAuB,GAAG,CAAC,MAAc,EAAQ,EAAE;YACrD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO;YACvC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3B,GAAG,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,KAAuD,EAAE,OAAe,EAAE,KAAK,GAAqB,MAAM,EAAQ,EAAE;YACjI,MAAM,QAAQ,GAAG,KAAK,KAAK,UAAU,CAAC;YACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;YACrE,GAAG,CAAC,UAAU,EAAE,CAAC;gBACb,MAAM,EAAE,mBAAmB;gBAC3B,IAAI,EAAE,gBAAgB;gBACtB,KAAK;gBACL,OAAO;gBACP,SAAS,EAAE,OAAO;gBAClB,KAAK;gBACL,OAAO;gBACP,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;gBACzC,KAAK;aACR,CAAC,CAAC;QACP,CAAC,CAAC;QACF,OAAO,CAAC,WAAW,EAAE,oDAAoD,CAAC,CAAC;QAE3E,qEAAqE;QACrE,uEAAuE;QACvE,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;QACtD,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,WAAW,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG,KAAK,EAAE,IAA2B,EAAiB,EAAE;YACpE,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;gBACrC,OAAO,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;oBACxB,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;oBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC3B,KAAK,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;wBACtD,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;wBAC7B,MAAM,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE;4BACnF,QAAQ,EAAE,uBAAuB;4BACjC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;gCACrB,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;4BAC3B,CAAC;yBACJ,CAAC,CAAC;wBACH,SAAS,EAAE,CAAC;oBAChB,CAAC;gBACL,CAAC;YACL,CAAC,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CACrC,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,CAClF,CAAC;YACF,MAAM,QAAQ,GAAG,QAAQ;iBACpB,MAAM,CAAC,CAAC,OAAO,EAAoC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC;iBACpF,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,cAAc,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,MAAM,qCAAqC,CAAC,CAAC;YAChG,CAAC;QACL,CAAC,CAAC;QACF,wFAAwF;QACxF,+CAA+C;QAC/C,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,IAAI,SAAS,GAAG,KAAK,EAAE,CAAC;gBACpB,OAAO,CAAC,UAAU,EAAE,kCAAkC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC;YAC5H,CAAC;QACL,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACxB,SAAS,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC;YACD,MAAM,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,UAAU,EAAE,oCAAoC,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,QAAQ,EAAE,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAClH,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,aAAa,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;CAEJ;AAED,SAAS,WAAW,CAAC,EAAE,WAAW,EAAE,MAAM,EAAyD;IAC/F,OAAO,WAAW,KAAK,SAAS,IAAI,MAAM,KAAK,sBAAsB,CAAC;AAC1E,CAAC;AAED,SAAS,cAAc,CAAC,KAOvB;IACG,OAAO,UAAU,CAAC,QAAQ,CAAC;SACtB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;SACrB,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;SACtB,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;SACxC,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC;SAChC,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;SAC9B,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC;SACjC,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"_search-index.js","sourceRoot":"","sources":["../../src/schemes/_search-index.ts"],"names":[],"mappings":"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"}