@plurnk/plurnk-service 1.7.0 → 1.9.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 (381) hide show
  1. package/.env.defaults +49 -42
  2. package/INSTALL.md +48 -11
  3. package/README.md +12 -2
  4. package/SPEC.md +1166 -475
  5. package/digest-sql/channel-dispositions/dispositions.sql +15 -0
  6. package/digest-sql/channel-state/state.sql +6 -0
  7. package/digest-sql/curation/curation.sql +5 -0
  8. package/digest-sql/derivations/derivations.sql +4 -0
  9. package/digest-sql/embeddings/embeddings.sql +4 -0
  10. package/digest-sql/entry-dispositions/dispositions.sql +15 -0
  11. package/digest-sql/entry-state/state.sql +6 -0
  12. package/digest-sql/token-counts/token-counts.sql +2 -0
  13. package/dist/Paths.d.ts +0 -4
  14. package/dist/Paths.d.ts.map +1 -1
  15. package/dist/Paths.js +1 -21
  16. package/dist/Paths.js.map +1 -1
  17. package/dist/build-info.json +1 -1
  18. package/dist/content/read-projector.d.ts.map +1 -1
  19. package/dist/content/read-projector.js +4 -3
  20. package/dist/content/read-projector.js.map +1 -1
  21. package/dist/core/BudgetReadout.d.ts.map +1 -1
  22. package/dist/core/BudgetReadout.js +12 -22
  23. package/dist/core/BudgetReadout.js.map +1 -1
  24. package/dist/core/ChannelWrite.d.ts +8 -3
  25. package/dist/core/ChannelWrite.d.ts.map +1 -1
  26. package/dist/core/ChannelWrite.js +40 -8
  27. package/dist/core/ChannelWrite.js.map +1 -1
  28. package/dist/core/ChannelWrite.sql +19 -5
  29. package/dist/core/CoreSchemeServices.d.ts +7 -3
  30. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  31. package/dist/core/CoreSchemeServices.js +8 -1
  32. package/dist/core/CoreSchemeServices.js.map +1 -1
  33. package/dist/core/Dispatcher.d.ts +15 -6
  34. package/dist/core/Dispatcher.d.ts.map +1 -1
  35. package/dist/core/Dispatcher.js +352 -306
  36. package/dist/core/Dispatcher.js.map +1 -1
  37. package/dist/core/Engine.d.ts +22 -10
  38. package/dist/core/Engine.d.ts.map +1 -1
  39. package/dist/core/Engine.js +86 -46
  40. package/dist/core/Engine.js.map +1 -1
  41. package/dist/core/Engine.sql +202 -177
  42. package/dist/core/EntryAddressBinding.d.ts +32 -0
  43. package/dist/core/EntryAddressBinding.d.ts.map +1 -0
  44. package/dist/core/EntryAddressBinding.js +93 -0
  45. package/dist/core/EntryAddressBinding.js.map +1 -0
  46. package/dist/core/ExecutorRegistry.d.ts +12 -6
  47. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  48. package/dist/core/ExecutorRegistry.js +34 -31
  49. package/dist/core/ExecutorRegistry.js.map +1 -1
  50. package/dist/core/HostPaths.d.ts +29 -0
  51. package/dist/core/HostPaths.d.ts.map +1 -0
  52. package/dist/core/HostPaths.js +74 -0
  53. package/dist/core/HostPaths.js.map +1 -0
  54. package/dist/core/LegacyHome.d.ts +10 -0
  55. package/dist/core/LegacyHome.d.ts.map +1 -0
  56. package/dist/core/LegacyHome.js +170 -0
  57. package/dist/core/LegacyHome.js.map +1 -0
  58. package/dist/core/LogBody.d.ts +1 -1
  59. package/dist/core/LogBody.d.ts.map +1 -1
  60. package/dist/core/LogBody.js +21 -3
  61. package/dist/core/LogBody.js.map +1 -1
  62. package/dist/core/LogEntryProjection.js +1 -1
  63. package/dist/core/LogEntryProjection.js.map +1 -1
  64. package/dist/core/LogVisibility.d.ts +28 -0
  65. package/dist/core/LogVisibility.d.ts.map +1 -0
  66. package/dist/core/LogVisibility.js +215 -0
  67. package/dist/core/LogVisibility.js.map +1 -0
  68. package/dist/core/LoopLifecycle.d.ts +1 -0
  69. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  70. package/dist/core/LoopLifecycle.js +8 -0
  71. package/dist/core/LoopLifecycle.js.map +1 -1
  72. package/dist/core/LoopLifecycle.sql +10 -0
  73. package/dist/core/OperatorConfig.d.ts +6 -0
  74. package/dist/core/OperatorConfig.d.ts.map +1 -0
  75. package/dist/core/OperatorConfig.js +95 -0
  76. package/dist/core/OperatorConfig.js.map +1 -0
  77. package/dist/core/OverflowTurn.d.ts +11 -0
  78. package/dist/core/OverflowTurn.d.ts.map +1 -0
  79. package/dist/core/OverflowTurn.js +81 -0
  80. package/dist/core/OverflowTurn.js.map +1 -0
  81. package/dist/core/Owner.js +3 -3
  82. package/dist/core/Owner.js.map +1 -1
  83. package/dist/core/PacketBuilder.d.ts +7 -15
  84. package/dist/core/PacketBuilder.d.ts.map +1 -1
  85. package/dist/core/PacketBuilder.js +64 -127
  86. package/dist/core/PacketBuilder.js.map +1 -1
  87. package/dist/core/ProblemLog.js +1 -1
  88. package/dist/core/ProblemLog.js.map +1 -1
  89. package/dist/core/ProposalLifecycle.d.ts +4 -1
  90. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  91. package/dist/core/ProposalLifecycle.js +86 -47
  92. package/dist/core/ProposalLifecycle.js.map +1 -1
  93. package/dist/core/ProviderInstantiate.d.ts +9 -5
  94. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  95. package/dist/core/ProviderInstantiate.js +99 -104
  96. package/dist/core/ProviderInstantiate.js.map +1 -1
  97. package/dist/core/ReasoningEvent.d.ts +13 -0
  98. package/dist/core/ReasoningEvent.d.ts.map +1 -0
  99. package/dist/core/ReasoningEvent.js +6 -0
  100. package/dist/core/ReasoningEvent.js.map +1 -0
  101. package/dist/core/ResourceMutations.d.ts +15 -19
  102. package/dist/core/ResourceMutations.d.ts.map +1 -1
  103. package/dist/core/ResourceMutations.js +118 -41
  104. package/dist/core/ResourceMutations.js.map +1 -1
  105. package/dist/core/SchemeRegistry.d.ts +12 -12
  106. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  107. package/dist/core/SchemeRegistry.js +58 -57
  108. package/dist/core/SchemeRegistry.js.map +1 -1
  109. package/dist/core/ToolResources.d.ts +19 -0
  110. package/dist/core/ToolResources.d.ts.map +1 -0
  111. package/dist/core/ToolResources.js +123 -0
  112. package/dist/core/ToolResources.js.map +1 -0
  113. package/dist/core/Turn.d.ts +27 -0
  114. package/dist/core/Turn.d.ts.map +1 -0
  115. package/dist/core/Turn.js +43 -0
  116. package/dist/core/Turn.js.map +1 -0
  117. package/dist/core/Turn.sql +72 -0
  118. package/dist/core/TurnOps.d.ts +7 -0
  119. package/dist/core/TurnOps.d.ts.map +1 -0
  120. package/dist/core/TurnOps.js +73 -0
  121. package/dist/core/TurnOps.js.map +1 -0
  122. package/dist/core/TurnRunner.d.ts +56 -5
  123. package/dist/core/TurnRunner.d.ts.map +1 -1
  124. package/dist/core/TurnRunner.js +1163 -929
  125. package/dist/core/TurnRunner.js.map +1 -1
  126. package/dist/core/WorkerName.d.ts +2 -1
  127. package/dist/core/WorkerName.d.ts.map +1 -1
  128. package/dist/core/WorkerName.js +2 -1
  129. package/dist/core/WorkerName.js.map +1 -1
  130. package/dist/core/WorkerName.sql +17 -2
  131. package/dist/core/WorkspaceGate.js +1 -1
  132. package/dist/core/WorkspaceGate.js.map +1 -1
  133. package/dist/core/caps/CapsResolve.d.ts +2 -2
  134. package/dist/core/caps/CapsResolve.d.ts.map +1 -1
  135. package/dist/core/caps/CapsResolve.js +5 -7
  136. package/dist/core/caps/CapsResolve.js.map +1 -1
  137. package/dist/core/caps/DbChannelCaps.d.ts +1 -1
  138. package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
  139. package/dist/core/caps/DbChannelCaps.js +13 -11
  140. package/dist/core/caps/DbChannelCaps.js.map +1 -1
  141. package/dist/core/caps/DbEntryCaps.d.ts +5 -5
  142. package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
  143. package/dist/core/caps/DbEntryCaps.js +27 -30
  144. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  145. package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
  146. package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
  147. package/dist/core/caps/DbNotifyCaps.js +5 -3
  148. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  149. package/dist/core/caps/DbSubscriptionCaps.d.ts +3 -3
  150. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  151. package/dist/core/caps/DbSubscriptionCaps.js +16 -26
  152. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  153. package/dist/core/caps/SchemeCtxImpl.d.ts +6 -4
  154. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  155. package/dist/core/caps/SchemeCtxImpl.js +37 -5
  156. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  157. package/dist/core/env-defaults.d.ts.map +1 -1
  158. package/dist/core/env-defaults.js +7 -5
  159. package/dist/core/env-defaults.js.map +1 -1
  160. package/dist/core/file-creation-policy.d.ts +9 -0
  161. package/dist/core/file-creation-policy.d.ts.map +1 -0
  162. package/dist/core/file-creation-policy.js +25 -0
  163. package/dist/core/file-creation-policy.js.map +1 -0
  164. package/dist/core/fork.d.ts +4 -1
  165. package/dist/core/fork.d.ts.map +1 -1
  166. package/dist/core/fork.js +39 -16
  167. package/dist/core/fork.js.map +1 -1
  168. package/dist/core/fork.sql +83 -40
  169. package/dist/core/git-env.d.ts +0 -1
  170. package/dist/core/git-env.d.ts.map +1 -1
  171. package/dist/core/git-env.js +0 -3
  172. package/dist/core/git-env.js.map +1 -1
  173. package/dist/core/git-membership.d.ts +19 -1
  174. package/dist/core/git-membership.d.ts.map +1 -1
  175. package/dist/core/git-membership.js +233 -74
  176. package/dist/core/git-membership.js.map +1 -1
  177. package/dist/core/git-state.d.ts.map +1 -1
  178. package/dist/core/git-state.js +13 -14
  179. package/dist/core/git-state.js.map +1 -1
  180. package/dist/core/operation-target-groups.d.ts +3 -0
  181. package/dist/core/operation-target-groups.d.ts.map +1 -0
  182. package/dist/core/operation-target-groups.js +53 -0
  183. package/dist/core/operation-target-groups.js.map +1 -0
  184. package/dist/core/packet-inject.d.ts +0 -1
  185. package/dist/core/packet-inject.d.ts.map +1 -1
  186. package/dist/core/packet-inject.js +6 -13
  187. package/dist/core/packet-inject.js.map +1 -1
  188. package/dist/core/packet-wire.d.ts +4 -0
  189. package/dist/core/packet-wire.d.ts.map +1 -1
  190. package/dist/core/packet-wire.js +226 -53
  191. package/dist/core/packet-wire.js.map +1 -1
  192. package/dist/core/plurnk-uri.d.ts +14 -3
  193. package/dist/core/plurnk-uri.d.ts.map +1 -1
  194. package/dist/core/plurnk-uri.js +62 -24
  195. package/dist/core/plurnk-uri.js.map +1 -1
  196. package/dist/core/scheme-types.d.ts +1 -0
  197. package/dist/core/scheme-types.d.ts.map +1 -1
  198. package/dist/core/teaching.d.ts.map +1 -1
  199. package/dist/core/teaching.js +4 -5
  200. package/dist/core/teaching.js.map +1 -1
  201. package/dist/core/worker-ops.sql +10 -6
  202. package/dist/core/worker-settings.d.ts +10 -0
  203. package/dist/core/worker-settings.d.ts.map +1 -0
  204. package/dist/core/worker-settings.js +32 -0
  205. package/dist/core/worker-settings.js.map +1 -0
  206. package/dist/core/workspace-settings.d.ts +2 -11
  207. package/dist/core/workspace-settings.d.ts.map +1 -1
  208. package/dist/core/workspace-settings.js +7 -47
  209. package/dist/core/workspace-settings.js.map +1 -1
  210. package/dist/digest/Digest.d.ts.map +1 -1
  211. package/dist/digest/Digest.js +164 -92
  212. package/dist/digest/Digest.js.map +1 -1
  213. package/dist/digest/digest.sql +9 -3
  214. package/dist/observe/genai.d.ts +9 -0
  215. package/dist/observe/genai.d.ts.map +1 -0
  216. package/dist/observe/genai.js +31 -0
  217. package/dist/observe/genai.js.map +1 -0
  218. package/dist/observe/spans.d.ts +3 -3
  219. package/dist/observe/spans.d.ts.map +1 -1
  220. package/dist/observe/spans.js +20 -5
  221. package/dist/observe/spans.js.map +1 -1
  222. package/dist/schemes/EffectPolicy.d.ts +3 -0
  223. package/dist/schemes/EffectPolicy.d.ts.map +1 -1
  224. package/dist/schemes/EffectPolicy.js +38 -6
  225. package/dist/schemes/EffectPolicy.js.map +1 -1
  226. package/dist/schemes/Exec.d.ts +3 -2
  227. package/dist/schemes/Exec.d.ts.map +1 -1
  228. package/dist/schemes/Exec.js +109 -34
  229. package/dist/schemes/Exec.js.map +1 -1
  230. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  231. package/dist/schemes/ExecOutputScheme.js +5 -4
  232. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  233. package/dist/schemes/File.d.ts.map +1 -1
  234. package/dist/schemes/File.js +170 -80
  235. package/dist/schemes/File.js.map +1 -1
  236. package/dist/schemes/Log.d.ts +6 -2
  237. package/dist/schemes/Log.d.ts.map +1 -1
  238. package/dist/schemes/Log.js +73 -22
  239. package/dist/schemes/Log.js.map +1 -1
  240. package/dist/schemes/Log.sql +25 -7
  241. package/dist/schemes/Prompt.d.ts +2 -3
  242. package/dist/schemes/Prompt.d.ts.map +1 -1
  243. package/dist/schemes/Prompt.js +5 -9
  244. package/dist/schemes/Prompt.js.map +1 -1
  245. package/dist/schemes/QuestionTool.d.ts +10 -0
  246. package/dist/schemes/QuestionTool.d.ts.map +1 -0
  247. package/dist/schemes/QuestionTool.js +81 -0
  248. package/dist/schemes/QuestionTool.js.map +1 -0
  249. package/dist/schemes/Skill.d.ts.map +1 -1
  250. package/dist/schemes/Skill.js +6 -1
  251. package/dist/schemes/Skill.js.map +1 -1
  252. package/dist/schemes/Worker.d.ts.map +1 -1
  253. package/dist/schemes/Worker.js +97 -34
  254. package/dist/schemes/Worker.js.map +1 -1
  255. package/dist/schemes/_entry-crud.d.ts +5 -5
  256. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  257. package/dist/schemes/_entry-crud.js +22 -17
  258. package/dist/schemes/_entry-crud.js.map +1 -1
  259. package/dist/schemes/_entry-crud.sql +77 -24
  260. package/dist/schemes/_entry-find.d.ts +8 -5
  261. package/dist/schemes/_entry-find.d.ts.map +1 -1
  262. package/dist/schemes/_entry-find.js +121 -40
  263. package/dist/schemes/_entry-find.js.map +1 -1
  264. package/dist/schemes/_entry-find.sql +16 -11
  265. package/dist/schemes/_entry-graph.sql +2 -6
  266. package/dist/schemes/_entry-manifest.d.ts +2 -2
  267. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  268. package/dist/schemes/_entry-manifest.js +18 -6
  269. package/dist/schemes/_entry-manifest.js.map +1 -1
  270. package/dist/schemes/_entry-ops.d.ts +6 -5
  271. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  272. package/dist/schemes/_entry-ops.js +39 -46
  273. package/dist/schemes/_entry-ops.js.map +1 -1
  274. package/dist/schemes/_entry-ops.sql +9 -6
  275. package/dist/schemes/_entry-send.d.ts +2 -2
  276. package/dist/schemes/_entry-send.d.ts.map +1 -1
  277. package/dist/schemes/_entry-send.js +16 -14
  278. package/dist/schemes/_entry-send.js.map +1 -1
  279. package/dist/schemes/_search-index.d.ts.map +1 -1
  280. package/dist/schemes/_search-index.js +39 -25
  281. package/dist/schemes/_search-index.js.map +1 -1
  282. package/dist/server/Daemon.d.ts +98 -15
  283. package/dist/server/Daemon.d.ts.map +1 -1
  284. package/dist/server/Daemon.js +864 -348
  285. package/dist/server/Daemon.js.map +1 -1
  286. package/dist/server/DaemonModule.d.ts +84 -19
  287. package/dist/server/DaemonModule.d.ts.map +1 -1
  288. package/dist/server/DrainSupervisor.d.ts +15 -10
  289. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  290. package/dist/server/DrainSupervisor.js +70 -19
  291. package/dist/server/DrainSupervisor.js.map +1 -1
  292. package/dist/server/Functionality.d.ts +44 -0
  293. package/dist/server/Functionality.d.ts.map +1 -0
  294. package/dist/server/Functionality.js +422 -0
  295. package/dist/server/Functionality.js.map +1 -0
  296. package/dist/server/FunctionalityManager.d.ts +22 -0
  297. package/dist/server/FunctionalityManager.d.ts.map +1 -0
  298. package/dist/server/FunctionalityManager.js +121 -0
  299. package/dist/server/FunctionalityManager.js.map +1 -0
  300. package/dist/server/SkillsFunctionality.d.ts +61 -0
  301. package/dist/server/SkillsFunctionality.d.ts.map +1 -0
  302. package/dist/server/SkillsFunctionality.js +449 -0
  303. package/dist/server/SkillsFunctionality.js.map +1 -0
  304. package/dist/server/WorkerCapabilities.d.ts +21 -0
  305. package/dist/server/WorkerCapabilities.d.ts.map +1 -0
  306. package/dist/server/WorkerCapabilities.js +214 -0
  307. package/dist/server/WorkerCapabilities.js.map +1 -0
  308. package/dist/server/WorkerResidency.d.ts +40 -0
  309. package/dist/server/WorkerResidency.d.ts.map +1 -0
  310. package/dist/server/WorkerResidency.js +283 -0
  311. package/dist/server/WorkerResidency.js.map +1 -0
  312. package/dist/server/client-input.d.ts +6 -2
  313. package/dist/server/client-input.d.ts.map +1 -1
  314. package/dist/server/client-input.js +72 -32
  315. package/dist/server/client-input.js.map +1 -1
  316. package/dist/server/dispatch-as-plurnk.d.ts +2 -2
  317. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  318. package/dist/server/dispatch-as-plurnk.js +109 -23
  319. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  320. package/dist/server/drain.sql +33 -13
  321. package/dist/server/envelope.d.ts +7 -2
  322. package/dist/server/envelope.d.ts.map +1 -1
  323. package/dist/server/envelope.js +12 -6
  324. package/dist/server/envelope.js.map +1 -1
  325. package/dist/server/envelope.sql +36 -4
  326. package/dist/server/lifecycle-recovery.sql +24 -17
  327. package/dist/server/logEntry.d.ts +2 -1
  328. package/dist/server/logEntry.d.ts.map +1 -1
  329. package/dist/server/logEntry.js +3 -2
  330. package/dist/server/logEntry.js.map +1 -1
  331. package/dist/server/logEntry.sql +7 -0
  332. package/dist/server/loop-model.d.ts +2 -2
  333. package/dist/server/loop-model.d.ts.map +1 -1
  334. package/dist/server/loop-model.js +23 -33
  335. package/dist/server/loop-model.js.map +1 -1
  336. package/dist/server/loopDocs.d.ts +2 -1
  337. package/dist/server/loopDocs.d.ts.map +1 -1
  338. package/dist/server/loopDocs.js +88 -21
  339. package/dist/server/loopDocs.js.map +1 -1
  340. package/dist/server/loopDocs.sql +14 -8
  341. package/dist/server/model-catalog.d.ts +3 -0
  342. package/dist/server/model-catalog.d.ts.map +1 -0
  343. package/dist/server/model-catalog.js +83 -0
  344. package/dist/server/model-catalog.js.map +1 -0
  345. package/dist/server/model-route.d.ts +7 -0
  346. package/dist/server/model-route.d.ts.map +1 -0
  347. package/dist/server/model-route.js +47 -0
  348. package/dist/server/model-route.js.map +1 -0
  349. package/dist/server/module-discovery.d.ts +13 -0
  350. package/dist/server/module-discovery.d.ts.map +1 -0
  351. package/dist/server/module-discovery.js +103 -0
  352. package/dist/server/module-discovery.js.map +1 -0
  353. package/dist/server/seam-entry-read.sql +9 -7
  354. package/dist/server/seam-log-read.sql +1 -1
  355. package/dist/server/seam-loop.sql +10 -1
  356. package/dist/server/seam-proposal-list.sql +4 -2
  357. package/dist/server/worker-capabilities.sql +19 -0
  358. package/dist/service.d.ts.map +1 -1
  359. package/dist/service.js +193 -124
  360. package/dist/service.js.map +1 -1
  361. package/migrations/001_schema.sql +905 -196
  362. package/package.json +40 -38
  363. package/dist/core/ExecutableTools.d.ts +0 -11
  364. package/dist/core/ExecutableTools.d.ts.map +0 -1
  365. package/dist/core/ExecutableTools.js +0 -49
  366. package/dist/core/ExecutableTools.js.map +0 -1
  367. package/dist/core/JournalTurn.d.ts +0 -9
  368. package/dist/core/JournalTurn.d.ts.map +0 -1
  369. package/dist/core/JournalTurn.js +0 -14
  370. package/dist/core/JournalTurn.js.map +0 -1
  371. package/dist/core/JournalTurn.sql +0 -10
  372. package/dist/core/git-iso.d.ts +0 -13
  373. package/dist/core/git-iso.d.ts.map +0 -1
  374. package/dist/core/git-iso.js +0 -267
  375. package/dist/core/git-iso.js.map +0 -1
  376. package/dist/core/search-gate.d.ts +0 -17
  377. package/dist/core/search-gate.d.ts.map +0 -1
  378. package/dist/core/search-gate.js +0 -77
  379. package/dist/core/search-gate.js.map +0 -1
  380. package/dist/digest/Digest.sql +0 -1
  381. package/dist/server/workspace-capabilities.sql +0 -19
@@ -2,7 +2,7 @@ var _a;
2
2
  import { InvalidOperationResultError, PLURNK_OPS, Validator, } from "@plurnk/plurnk-contracts";
3
3
  import { observedSync } from "../observe/spans.js";
4
4
  import LoopFlagsReader from "./LoopFlagsReader.js";
5
- import { schemeNameOf } from "./plurnk-uri.js";
5
+ import { entryCoordinateOf, foldAuthorityIntoPath, schemeNameOf } from "./plurnk-uri.js";
6
6
  import SchemeCtxImpl from "./caps/SchemeCtxImpl.js";
7
7
  import Results, { OperationFailureError } from "./results.js";
8
8
  import LogBody from "./LogBody.js";
@@ -38,6 +38,7 @@ class ProposalLifecycle {
38
38
  #loopSignal;
39
39
  #liveSubscriptions;
40
40
  #interactions;
41
+ #entryAddresses;
41
42
  // Proposal lifecycle: pending dispatch pauses waiting for resolution.
42
43
  // Dispatch awaits the promise when a scheme returns status 202;
43
44
  // Engine.resolveProposal feeds the resolution back in. Map is per-log-
@@ -47,7 +48,7 @@ class ProposalLifecycle {
47
48
  // deliberately absent: loop-owned settlement happens in this owner before
48
49
  // observers run, so an observer cannot become a hidden policy fallback.
49
50
  #listeners = [];
50
- constructor({ db, schemes, notices, streamEventNotify, wakeWorkerNotify, weigh, mimetypes, executors, loopSignal, liveSubscriptions, interactions }) {
51
+ constructor({ db, schemes, notices, streamEventNotify, wakeWorkerNotify, weigh, mimetypes, executors, loopSignal, liveSubscriptions, interactions, entryAddresses }) {
51
52
  this.#db = db;
52
53
  this.#schemes = schemes;
53
54
  this.#notices = notices;
@@ -59,9 +60,10 @@ class ProposalLifecycle {
59
60
  this.#loopSignal = loopSignal;
60
61
  this.#liveSubscriptions = liveSubscriptions;
61
62
  this.#interactions = interactions;
63
+ this.#entryAddresses = entryAddresses;
62
64
  }
63
65
  // External API to feed a resolution into a pending proposal. Called by
64
- // the CoreSeam resolution call, core-owned disposition, or the timeout
66
+ // the ApplicationPort resolution call, core-owned disposition, or the timeout
65
67
  // watcher. Throws when the logEntryId has no
66
68
  // pending waiter — duplicate resolutions, IDs for non-proposed entries,
67
69
  // or entries already-resolved are caller errors.
@@ -170,15 +172,7 @@ class ProposalLifecycle {
170
172
  const attrs = _a.#objectJson(row.logEntryId, "attrs", row.attrs);
171
173
  const result = _a.#result(row.logEntryId, row.rx);
172
174
  const flags = LoopFlagsReader.parse(row.loop_flags, row.loopId);
173
- const target = _a.#target(row, op, attrs);
174
- const operatorQuestion = _a.#operatorQuestion(row, op, attrs);
175
- const diverged = await this.#db.engine_target_diverged_this_turn.get({
176
- worker_id: row.workerId,
177
- turn_id: row.turnId,
178
- scheme: target.scheme,
179
- pathname: target.pathname,
180
- });
181
- const staleClobberRisk = diverged !== undefined;
175
+ const target = this.#target(row, op, attrs);
182
176
  const proposal = Validator.assertProposalProjection({
183
177
  logEntryId: row.logEntryId,
184
178
  workerId: row.workerId,
@@ -189,8 +183,7 @@ class ProposalLifecycle {
189
183
  body: typeof result.body === "string" ? result.body : "",
190
184
  attrs,
191
185
  flags,
192
- staleClobberRisk,
193
- disposition: _a.#disposition(operatorQuestion, flags, staleClobberRisk),
186
+ disposition: _a.#disposition(flags),
194
187
  });
195
188
  return { ...proposal, workspaceId: row.workspaceId };
196
189
  }
@@ -224,18 +217,41 @@ class ProposalLifecycle {
224
217
  throw new Error(`Pending proposal ${logEntryId} has invalid proposed result JSON.`, { cause });
225
218
  }
226
219
  }
227
- static #target(row, op, attrs) {
220
+ #target(row, op, attrs) {
228
221
  const routed = attrs.proposalTarget;
229
222
  if (routed === undefined) {
230
223
  if (op === "COPY" || op === "MOVE") {
231
224
  throw new Error(`Pending proposal ${row.logEntryId} has no canonical ${op} proposal target.`);
232
225
  }
233
- return { scheme: row.scheme, pathname: row.pathname };
226
+ if (row.pathname === null) {
227
+ return { scheme: row.scheme, authority: null, pathname: null };
228
+ }
229
+ const authorityMode = row.scheme === null
230
+ ? "namespace"
231
+ : this.#schemes.manifestFor(row.scheme, row.workerId)?.authority ?? "namespace";
232
+ if (authorityMode === "resource") {
233
+ const authority = row.hostname === null
234
+ ? ""
235
+ : `${row.hostname}${row.port === null ? "" : `:${row.port}`}`;
236
+ return {
237
+ scheme: row.scheme,
238
+ authority,
239
+ pathname: `${row.pathname}${row.query === null ? "" : `?${row.query}`}`,
240
+ };
241
+ }
242
+ return {
243
+ scheme: row.scheme,
244
+ authority: "",
245
+ pathname: authorityMode === "owner"
246
+ ? row.pathname
247
+ : foldAuthorityIntoPath(row.hostname, row.pathname),
248
+ };
234
249
  }
235
250
  if (routed === null
236
251
  || typeof routed !== "object"
237
252
  || Array.isArray(routed)
238
253
  || typeof routed.scheme !== "string"
254
+ || typeof routed.authority !== "string"
239
255
  || typeof routed.pathname !== "string") {
240
256
  throw new Error(`Pending proposal ${row.logEntryId} has an invalid canonical proposal target.`);
241
257
  }
@@ -243,34 +259,13 @@ class ProposalLifecycle {
243
259
  scheme: routed.scheme === "file"
244
260
  ? null
245
261
  : routed.scheme,
262
+ authority: routed.authority,
246
263
  pathname: routed.pathname,
247
264
  };
248
265
  }
249
- static #operatorQuestion(row, op, attrs) {
250
- if (op !== "SEND" || row.signal === null)
251
- return false;
252
- let signal;
253
- try {
254
- signal = JSON.parse(row.signal);
255
- }
256
- catch (cause) {
257
- throw new Error(`Pending proposal ${row.logEntryId} has invalid signal JSON.`, { cause });
258
- }
259
- if (signal !== 300)
260
- return false;
261
- if (typeof attrs.question !== "string") {
262
- throw new Error(`Pending SEND signal 300 proposal ${row.logEntryId} has no question.`);
263
- }
264
- return true;
265
- }
266
- static #disposition(operatorQuestion, flags, staleClobberRisk) {
267
- if (flags.auto) {
268
- if (operatorQuestion)
269
- return { owner: "client" };
270
- return staleClobberRisk
271
- ? { owner: "loop", decision: "reject", outcome: "stale_read_clobber" }
272
- : { owner: "loop", decision: "accept" };
273
- }
266
+ static #disposition(flags) {
267
+ if (flags.auto)
268
+ return { owner: "loop", decision: "accept" };
274
269
  if (flags.noProposals) {
275
270
  return { owner: "loop", decision: "reject", outcome: "no_review_channel" };
276
271
  }
@@ -292,7 +287,7 @@ class ProposalLifecycle {
292
287
  }
293
288
  // On accept, run the scheme's applyResolution — File writes disk, Exec spawns. {§proposal-accept-applies}
294
289
  async workerApply(statement, originalResult, resolution, ids) {
295
- const { workspaceId, workerId, loopId, turnId } = ids;
290
+ const { workspaceId, workerId, functionalityWorkerId, loopId, turnId } = ids;
296
291
  if (resolution.decision !== "accept")
297
292
  return { resolution };
298
293
  // EXEC routes to the exec scheme regardless of its runtime-owned target.
@@ -309,7 +304,7 @@ class ProposalLifecycle {
309
304
  : schemeNameOf(statement.target);
310
305
  if (schemeName === null)
311
306
  return { resolution };
312
- const handler = this.#schemes.get(schemeName, workspaceId);
307
+ const handler = this.#schemes.get(schemeName, functionalityWorkerId);
313
308
  if (handler === undefined || typeof handler.applyResolution !== "function")
314
309
  return { resolution };
315
310
  try {
@@ -318,7 +313,7 @@ class ProposalLifecycle {
318
313
  // the scheme uses ctx to write the entry that makes the
319
314
  // operation's artifact visible in the next packet's index.
320
315
  const applyCtx = {
321
- db: this.#db, workspaceId, workerId, loopId, turnId,
316
+ db: this.#db, workspaceId, workerId, functionalityWorkerId, loopId, turnId,
322
317
  writer: "model", signal: this.#loopSignal(loopId),
323
318
  streamEventNotify: this.#streamEventNotify,
324
319
  wakeWorkerNotify: this.#wakeWorkerNotify,
@@ -332,10 +327,54 @@ class ProposalLifecycle {
332
327
  attrs: (originalResult.attrs ?? {}),
333
328
  body: resolution.body,
334
329
  };
335
- const manifest = this.#schemes.manifestFor(schemeName, workspaceId);
330
+ const manifest = this.#schemes.manifestFor(schemeName, functionalityWorkerId);
336
331
  if (manifest === undefined)
337
332
  throw new Error(`scheme '${schemeName}' has no manifest`);
338
- const applyResult = Results.assert(await handler.applyResolution(request, new SchemeCtxImpl(applyCtx, schemeName, manifest, this.#liveSubscriptions)));
333
+ const proposalTarget = originalResult.attrs?.proposalTarget;
334
+ const authoredTarget = statement.op === "COPY" || statement.op === "MOVE"
335
+ ? statement.body?.target ?? null
336
+ : statement.target;
337
+ let authority = proposalTarget === undefined
338
+ ? authoredTarget === null
339
+ ? ""
340
+ : entryCoordinateOf(authoredTarget, manifest.authority ?? "namespace").authority
341
+ : proposalTarget.authority;
342
+ let ownerId = await this.#entryAddresses.fixedOwnerId(manifest, applyCtx);
343
+ if (manifest.category === "data"
344
+ && statement.op !== "EXEC"
345
+ && authoredTarget !== null) {
346
+ const binding = await this.#entryAddresses.resolve({
347
+ target: authoredTarget,
348
+ routedScheme: schemeName,
349
+ handler,
350
+ manifest,
351
+ ctx: applyCtx,
352
+ });
353
+ if (binding.result !== null) {
354
+ return {
355
+ resolution: {
356
+ ...resolution,
357
+ outcome: typeof binding.result.outcome === "string"
358
+ ? binding.result.outcome
359
+ : "apply_failed",
360
+ },
361
+ applied: binding.result,
362
+ };
363
+ }
364
+ if (binding.address === null) {
365
+ const applied = Results.failure("proposal:application", "entry-not-found", 404, "The proposed entry target no longer resolves.", {}, { stage: "proposal-application", retryable: false });
366
+ return {
367
+ resolution: { ...resolution, outcome: "apply_failed" },
368
+ applied,
369
+ };
370
+ }
371
+ ownerId = binding.address.ownerId;
372
+ authority = binding.address.authority;
373
+ }
374
+ if (manifest.category === "data" && ownerId === null) {
375
+ throw new Error(`scheme '${schemeName}' proposal has no bound entry owner`);
376
+ }
377
+ const applyResult = Results.assert(await handler.applyResolution(request, new SchemeCtxImpl(applyCtx, schemeName, manifest, this.#liveSubscriptions, { authority, ownerId })));
339
378
  if (applyResult.status >= 400) {
340
379
  return {
341
380
  resolution: {
@@ -347,7 +386,7 @@ class ProposalLifecycle {
347
386
  }
348
387
  // Propagate applyResolution.outcome onto the accepted resolution
349
388
  // (operational metadata, e.g. exec's "started") AND its body — the applied result the
350
- // model must see THIS turn: a file EDIT's line-numbered diff, a [300] answer. EXEC
389
+ // model must see THIS turn: a file EDIT's line-numbered diff. EXEC
351
390
  // never uses the body rail — its output streams uniformly ({§exec-stream}, NO same-turn
352
391
  // in-body exception; automatic admission only skips the review pause) and is READ next turn.
353
392
  const withOutcome = applyResult.outcome !== undefined && resolution.outcome === undefined
@@ -1 +1 @@
1
- {"version":3,"file":"ProposalLifecycle.js","sourceRoot":"","sources":["../../src/core/ProposalLifecycle.ts"],"names":[],"mappings":";AAAA,OAAO,EACH,2BAA2B,EAC3B,UAAU,EACV,SAAS,GAMZ,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,aAAa,MAAM,yBAAyB,CAAC;AAGpD,OAAO,OAAO,EAAE,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,OAAO,MAAM,cAAc,CAAC;AAwDnC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,UAAU,CAAC,CAAC;AAEjD,2EAA2E;AAC3E,6EAA6E;AAC7E,uEAAuE;AACvE,MAAM,qBAAqB,GAAG,GAAkB,EAAE;IAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC;IAC3D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,UAAU,CAChB,qGAAqG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAC7H,CAAC;IACN,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,oFAAoF;AACpF,2EAA2E;AAC3E,2EAA2E;AAC3E,uEAAuE;AACvE,MAAqB,iBAAiB;IAClC,GAAG,CAAK;IACR,QAAQ,CAAiB;IACzB,QAAQ,CAAgB;IACxB,kBAAkB,CAAgC;IAClD,iBAAiB,CAA+B;IAChD,aAAa,CAA2B;IACxC,UAAU,CAAwB;IAClC,wEAAwE;IACxE,UAAU,CAAqC;IAC/C,4DAA4D;IAC5D,WAAW,CAA8C;IACzD,kBAAkB,CAAoB;IACtC,aAAa,CAAqB;IAClC,sEAAsE;IACtE,gEAAgE;IAChE,uEAAuE;IACvE,gGAAgG;IAChG,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC7C,yEAAyE;IACzE,0EAA0E;IAC1E,wEAAwE;IACxE,UAAU,GAAmD,EAAE,CAAC;IAEhE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAYhJ;QACG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACtC,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,6CAA6C;IAC7C,wEAAwE;IACxE,iDAAiD;IACjD,OAAO,CAAC,UAAkB,EAAE,UAA8B;QACtD,YAAY,CAAE,4BAA4B;QACtC,kBAAkB,EAClB,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,EACzD,GAAG,EAAE;YACD,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACjD,CAAC,CACJ,CAAC;IACN,CAAC;IAED,eAAe,CAAC,UAAkB,EAAE,UAA8B;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAC3C,qBAAqB,EACrB,sBAAsB,EACtB,GAAG,EACH,YAAY,UAAU,kBAAkB,EACxC,EAAE,EACF;gBACI,UAAU;gBACV,KAAK,EAAE,qBAAqB;gBAC5B,QAAQ,EAAE,iDAAiD;gBAC3D,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC,CAAC;QACP,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI;YAAE,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED,wEAAwE;IACxE,mDAAmD;IACnD,UAAU;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAAkB;QAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAc,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/F,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,+BAA+B,CAAC,CAAC;QACtG,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAmB;QAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAc,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QAClG,oEAAoE;QACpE,uEAAuE;QACvE,sEAAsE;QACtE,8BAA8B;QAC9B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAC3F,CAAC;QACF,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACnF,CAAC;IAED,WAAW,CAAC,QAA8B;QACtC,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO;QAClD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC9B,QAAQ;YACR,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;SAChD,CAAC,CAAC;IACP,CAAC;IAED,QAAQ,CAAC,UAAkB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI;YAAE,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,KAAc;QACpD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAC3B,iBAAiB,EACjB,wBAAwB,EACxB,GAAG,EACH,4DAA4D,EAC5D,EAAE,EACF;YACI,UAAU;YACV,KAAK,EAAE,iBAAiB;YACxB,SAAS,EAAE,KAAK;SACnB,CACJ,CAAC;QACF,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;gBACnC,UAAU,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE;gBAC5D,OAAO,EAAE,OAAO;aACnB,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,aAAa,EAAE,CAAC;YACrB,MAAM,IAAI,cAAc,CACpB,CAAC,KAAK,EAAE,aAAa,CAAC,EACtB,YAAY,UAAU,+DAA+D,CACxF,CAAC;QACN,CAAC;IACL,CAAC;IAED,wFAAwF;IACxF,SAAS,CAAC,OAAe;QACrB,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC9D,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI;gBAAE,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACjC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED,wEAAwE;IACxE,2EAA2E;IAC3E,kCAAkC;IAClC,SAAS,CAAC,QAA+C;QACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,aAAa,CAAC,KAA2B;QACrC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,IAAI,CAAC;gBAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;YACxB,OAAO,KAAK,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC;QAChF,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAgB;QAC3B,MAAM,EAAE,GAAG,EAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,EAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,EAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,EAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QACzD,MAAM,gBAAgB,GAAG,EAAiB,CAAC,iBAAiB,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,GAAG,CAAkB;YAClF,SAAS,EAAE,GAAG,CAAC,QAAQ;YACvB,OAAO,EAAE,GAAG,CAAC,MAAM;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC5B,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,QAAQ,KAAK,SAAS,CAAC;QAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,wBAAwB,CAAC;YAChD,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,EAAE;YACF,MAAM;YACN,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACxD,KAAK;YACL,KAAK;YACL,gBAAgB;YAChB,WAAW,EAAE,EAAiB,CAAC,YAAY,CAAC,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,CAAC;SACzF,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAgB;QACvB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,UAAU,0BAA0B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3G,CAAC;QACD,OAAO,GAAG,CAAC,EAAc,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,UAAkB,EAAE,KAAa,EAAE,GAAW;QAC7D,IAAI,CAAC;YACD,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,mBAAmB,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,KAAgC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,gBAAgB,KAAK,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5F,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,UAAkB,EAAE,GAAW;QAC1C,IAAI,CAAC;YACD,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,SAAS,CAAC,qBAAqB,CAAC,KAAwB,CAAC,CAAC;YACzE,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;gBAAE,MAAM,IAAI,SAAS,CAAC,aAAa,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;YACtF,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,oCAAoC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACnG,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAAO,CACV,GAAgB,EAChB,EAAY,EACZ,KAA8B;QAE9B,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC;QACpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,UAAU,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;YAClG,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC1D,CAAC;QACD,IACI,MAAM,KAAK,IAAI;eACZ,OAAO,MAAM,KAAK,QAAQ;eAC1B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;eACrB,OAAQ,MAA+B,CAAC,MAAM,KAAK,QAAQ;eAC3D,OAAQ,MAAiC,CAAC,QAAQ,KAAK,QAAQ,EACpE,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,UAAU,4CAA4C,CAAC,CAAC;QACpG,CAAC;QACD,OAAO;YACH,MAAM,EAAG,MAA6B,CAAC,MAAM,KAAK,MAAM;gBACpD,CAAC,CAAC,IAAI;gBACN,CAAC,CAAE,MAA6B,CAAC,MAAM;YAC3C,QAAQ,EAAG,MAA+B,CAAC,QAAQ;SACtD,CAAC;IACN,CAAC;IAED,MAAM,CAAC,iBAAiB,CACpB,GAAgB,EAChB,EAAY,EACZ,KAA8B;QAE9B,IAAI,EAAE,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACvD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,UAAU,2BAA2B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QACjC,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,CAAC,UAAU,mBAAmB,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,YAAY,CACf,gBAAyB,EACzB,KAAgB,EAChB,gBAAyB;QAEzB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,IAAI,gBAAgB;gBAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACjD,OAAO,gBAAgB;gBACnB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE;gBACtE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACpB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;QAC/E,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,eAAe,CAAC,UAAkB;QAC9B,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;QAC1C,OAAO,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,EAAE;YAC/C,MAAM,aAAa,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC9D,8EAA8E;gBAC9E,4EAA4E;gBAC5E,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACjC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,8BAA8B;gBACvF,CAAC;YACL,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACP,CAAC;IAED,0GAA0G;IAC1G,KAAK,CAAC,WAAW,CACb,SAA0B,EAC1B,cAA8B,EAC9B,UAA8B,EAC9B,GAA8E;QAE9E,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;QACtD,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QAC5D,yEAAyE;QACzE,sEAAsE;QACtE,0EAA0E;QAC1E,0EAA0E;QAC1E,MAAM,YAAY,GAAI,cAAc,CAAC,KAAkD,EAAE,cAAc,CAAC;QACxG,MAAM,UAAU,GAAG,OAAO,YAAY,KAAK,QAAQ;YAC/C,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM;gBACrB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,IAAI,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC;oBAClD,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC;oBAC9C,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAE1C,CAAC;QAChB,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,UAAU;YAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QAClG,IAAI,CAAC;YACD,6DAA6D;YAC7D,gEAAgE;YAChE,wDAAwD;YACxD,2DAA2D;YAC3D,MAAM,QAAQ,GAAwB;gBAClC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;gBACnD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACjD,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;gBAC1C,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;gBACxC,KAAK,EAAE,IAAI,CAAC,aAAa;gBACzB,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC;gBACvE,kBAAkB,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAC3D,WAAW,EACX,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EACzC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAC3B;gBACD,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE;aAC/B,CAAC;YACF,MAAM,OAAO,GAAG;gBACZ,KAAK,EAAE,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAW;gBAC7C,IAAI,EAAE,UAAU,CAAC,IAAI;aACxB,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACpE,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,mBAAmB,CAAC,CAAC;YACtF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACvJ,IAAI,WAAW,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;gBAC5B,OAAO;oBACH,UAAU,EAAE;wBACR,GAAG,UAAU;wBACb,OAAO,EAAE,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc;qBAC1F;oBACD,OAAO,EAAE,WAAW;iBACvB,CAAC;YACN,CAAC;YACD,iEAAiE;YACjE,sFAAsF;YACtF,mFAAmF;YACnF,wFAAwF;YACxF,6FAA6F;YAC7F,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,KAAK,SAAS,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS;gBACrF,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE;gBACjD,CAAC,CAAC,UAAU,CAAC;YACjB,OAAO;gBACH,UAAU,EAAE;oBACR,GAAG,WAAW;oBACd,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/E,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxF;gBACD,OAAO,EAAE,WAAW;aACvB,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,2CAA2C,UAAU,IAAI,EAAE,GAAG,CAAC,CAAC;YAC9E,OAAO;gBACH,UAAU,EAAE,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;gBACrD,OAAO,EAAE,OAAO,CAAC,OAAO,CACpB,UAAU,UAAU,EAAE,EACtB,sBAAsB,EACtB,GAAG,EACH,WAAW,UAAU,qDAAqD,EAC1E,EAAE,OAAO,EAAE,aAAa,EAAE,EAC1B;oBACI,KAAK,EAAE,sBAAsB;oBAC7B,SAAS,EAAE,KAAK;iBACnB,CACJ;aACJ,CAAC;QACN,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,UAA8B;QACpE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;QAC3C,uDAAuD;QACvD,2CAA2C;QAC3C,kGAAkG;QAClG,uGAAuG;QACvG,sEAAsE;QACtE,iEAAiE;QACjE,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACrC,MAAM,aAAa,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;QACrE,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ;YAClC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU;gBACpC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ;oBAClC,CAAC,CAAC,WAAW,CAAC;QAClB,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;YACzC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG;gBAC7B,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG;oBAC7B,CAAC,CAAC,GAAG,CAAC;QACV,MAAM,cAAc,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI;YAC/C,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU;gBACpC,CAAC,CAAC,cAAc,CAAC;QACrB,MAAM,cAAc,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7G,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,cAAc,IAAI,cAAc,CAAC;QACvE,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;QAC1C,KAAK,MAAM,QAAQ,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;YACpD,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,2BAA2B,CACjC,2EAA2E,QAAQ,IAAI,CAC1F,CAAC;YACN,CAAC;QACL,CAAC;QACD,IAAI,MAAsB,CAAC;QAC3B,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,GAAG,OAAO,CAAC;QACrB,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBACpB,MAAM;gBACN,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,GAAG,SAAS;gBACZ,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3C,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;YAC9D,MAAM,MAAM,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;YAChE,MAAM,MAAM,GAAG,oBAAoB,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,EAAE,CAAC;YACxF,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;gBACvD,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3C,EAAE;gBACC,KAAK,EAAE,qBAAqB;gBAC5B,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;QACP,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,CAS9D,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACvB,IAAI,UAAU,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,UAAU,oBAAoB,CAAC,CAAC;QAC9H,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/H,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC1B,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,EAAE;YACF,UAAU,EAAE,UAAU,CAAC,WAAW;YAClC,UAAU,EAAE,UAAU,CAAC,WAAW;SACrC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACvB,MAAM,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,GAAG,CAAC;YACxC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;SAChE,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
1
+ {"version":3,"file":"ProposalLifecycle.js","sourceRoot":"","sources":["../../src/core/ProposalLifecycle.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,15 @@
1
- import type { Provider, ProviderAlias } from "@plurnk/plurnk-providers";
1
+ import type { Provider, ProviderSpec, ReasoningPolicy } from "@plurnk/plurnk-providers";
2
2
  export default class ProviderInstantiate {
3
3
  #private;
4
4
  static aliasOf(provider: Provider): string | undefined;
5
- static registerAlias(provider: Provider, alias: string): void;
6
- static registerInstance(provider: Provider, spec: ProviderAlias): void;
7
- static instantiateProvider(alias: ProviderAlias, env?: NodeJS.ProcessEnv): Promise<Provider>;
5
+ static configurationAliasOf(provider: Provider, env?: NodeJS.ProcessEnv): string | undefined;
6
+ static hasConfigurationScope(provider: Provider, env?: NodeJS.ProcessEnv): boolean;
7
+ static assertGrammarConfigurationScope(provider: Provider, env?: NodeJS.ProcessEnv): void;
8
+ static registerConfigurationScope(provider: Provider, alias: string | null): void;
9
+ static registerInstance(provider: Provider, spec: ProviderSpec, env?: NodeJS.ProcessEnv, reasoningPolicy?: ReasoningPolicy): void;
10
+ static instantiateProvider(route: ProviderSpec, env?: NodeJS.ProcessEnv, reasoningPolicy?: ReasoningPolicy): Promise<Provider>;
11
+ static configuredReasoningPolicy(route: ProviderSpec, env?: NodeJS.ProcessEnv): ReasoningPolicy;
8
12
  static loadActiveProvider(env?: NodeJS.ProcessEnv): Promise<Provider | null>;
9
- static verifyGrammarEnforcement(provider: Provider, env?: NodeJS.ProcessEnv): Promise<void>;
13
+ static validateGrammarConfiguration(provider: Provider, env?: NodeJS.ProcessEnv, reasoningPolicy?: ReasoningPolicy): void;
10
14
  }
11
15
  //# sourceMappingURL=ProviderInstantiate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderInstantiate.d.ts","sourceRoot":"","sources":["../../src/core/ProviderInstantiate.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAExE,MAAM,CAAC,OAAO,OAAO,mBAAmB;;IAgBpC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAErD;IAMD,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAE5D;IAMD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAGrE;IAED,OAAa,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAc9G;IA0CD,OAAa,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAM9F;IAgBD,OAAa,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+D7G;CACJ"}
1
+ {"version":3,"file":"ProviderInstantiate.d.ts","sourceRoot":"","sources":["../../src/core/ProviderInstantiate.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAExF,MAAM,CAAC,OAAO,OAAO,mBAAmB;;IAoBpC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAErD;IAED,MAAM,CAAC,oBAAoB,CACvB,QAAQ,EAAE,QAAQ,EAClB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACrC,MAAM,GAAG,SAAS,CAIpB;IAED,MAAM,CAAC,qBAAqB,CACxB,QAAQ,EAAE,QAAQ,EAClB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACrC,OAAO,CAGT;IAED,MAAM,CAAC,+BAA+B,CAClC,QAAQ,EAAE,QAAQ,EAClB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACrC,IAAI,CAON;IAMD,MAAM,CAAC,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEhF;IAKD,MAAM,CAAC,gBAAgB,CACnB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,YAAY,EAClB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,eAAe,CAAC,EAAE,eAAe,GAClC,IAAI,CAMN;IAED,OAAa,mBAAmB,CAC5B,KAAK,EAAE,YAAY,EACnB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,eAAe,CAAC,EAAE,eAAe,GAClC,OAAO,CAAC,QAAQ,CAAC,CA0BnB;IAuBD,MAAM,CAAC,yBAAyB,CAC5B,KAAK,EAAE,YAAY,EACnB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACrC,eAAe,CAMjB;IAwCD,OAAa,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAM9F;IAKD,MAAM,CAAC,4BAA4B,CAC/B,QAAQ,EAAE,QAAQ,EAClB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,eAAe,CAAC,EAAE,eAAe,GAClC,IAAI,CAwBN;CACJ"}
@@ -3,163 +3,158 @@
3
3
  // calling module's location; this is the package that actually has the
4
4
  // `@plurnk/plurnk-providers-*` siblings installed in its node_modules.
5
5
  //
6
- // The pure helpers (parseAliasesFromEnv, resolveActiveAlias) live in
6
+ // The pure selector helpers live in
7
7
  // @plurnk/plurnk-providers as framework-grade env parsing.
8
- import { instantiateProvider as instantiateFrameworkProvider, PROVIDERS_KNOBS, resolveActiveAlias, scopeEnvToAlias } from "@plurnk/plurnk-providers";
8
+ import { instantiateProvider as instantiateFrameworkProvider, parseReasoningPolicy, PROVIDERS_KNOBS, resolveActiveRoute, scopeEnvToAlias, UnsupportedReasoningPolicyError } from "@plurnk/plurnk-providers";
9
9
  export default class ProviderInstantiate {
10
- // One provider per (provider, model, baseUrl) for the process lifetime: a provider is
10
+ // One provider per complete route+tuning projection for the process lifetime: a provider is
11
11
  // stateless per the contract, and runLoop instantiating fresh per aliased call re-probed
12
12
  // the backend (latency) and re-fired providers' construction warnings on every loop (the
13
- // owner's boot log: one heuristic warning per runLoop request). Cache keyed on the wire identity;
14
- // env is process-stable for these fields.
13
+ // owner's boot log: one heuristic warning per runLoop request). Cache identity includes every
14
+ // provider-owned knob because operator tuning can change while a process remains alive.
15
15
  static #instances = new Map();
16
16
  static #registeredInstances = new Map();
17
17
  // {§provider-instantiation-alias-resolution} — provider handle → the alias name that produced it,
18
18
  // so the service scopes its own
19
19
  // per-alias packet-policy knobs by the provider it's building a packet
20
20
  // for. Service-owned metadata about handles WE created; never a provider-contract field.
21
- static #aliasByProvider = new WeakMap();
22
- // The alias name a provider was built under, or undefined (a test Mock, a hand-built handle).
23
- // PacketBuilder falls back to resolveActiveAlias for the boot-global case.
21
+ // `null` is meaningful: this handle was constructed for an alias-free exact
22
+ // route and therefore uses global tuning. An absent entry is a foreign or
23
+ // hand-built handle for which the boot route remains the compatibility
24
+ // source of configuration scope.
25
+ static #configurationAliasByProvider = new WeakMap();
26
+ // The alias name a provider was built under, or undefined for an exact
27
+ // route, a test Mock, or another hand-built handle.
24
28
  static aliasOf(provider) {
25
- return ProviderInstantiate.#aliasByProvider.get(provider);
26
- }
27
- // {§grammar-enforcement-verified-at-boot} — register a hand-built provider (a recording Mock)
28
- // under an alias, so tests can
29
- // drive the per-alias grammar-rail resolution through the REAL chain instead of the
30
- // boot-global fallback the silent-severance guard now refuses.
31
- static registerAlias(provider, alias) {
32
- ProviderInstantiate.#aliasByProvider.set(provider, alias);
33
- }
34
- // Register a preconstructed handle under its full durable identity. Production
35
- // providers arrive through instantiateProvider and are already cached; this seam
36
- // gives injected providers (notably deterministic test providers) the identical
37
- // lookup behavior when a persisted loop resumes.
38
- static registerInstance(provider, spec) {
39
- ProviderInstantiate.#aliasByProvider.set(provider, spec.alias);
40
- ProviderInstantiate.#registeredInstances.set(ProviderInstantiate.#identityKey(spec), provider);
41
- }
42
- static async instantiateProvider(alias, env = process.env) {
29
+ return ProviderInstantiate.#configurationAliasByProvider.get(provider) ?? undefined;
30
+ }
31
+ static configurationAliasOf(provider, env = process.env) {
32
+ const registered = ProviderInstantiate.#configurationAliasByProvider.get(provider);
33
+ if (registered !== undefined)
34
+ return registered ?? undefined;
35
+ return resolveActiveRoute(env)?.alias;
36
+ }
37
+ static hasConfigurationScope(provider, env = process.env) {
38
+ return ProviderInstantiate.#configurationAliasByProvider.has(provider)
39
+ || resolveActiveRoute(env) !== null;
40
+ }
41
+ static assertGrammarConfigurationScope(provider, env = process.env) {
42
+ if (ProviderInstantiate.hasConfigurationScope(provider, env))
43
+ return;
44
+ const scoped = Object.keys(env).some((key) => key.startsWith("PLURNK_PROVIDERS_GBNF_")
45
+ && key !== "PLURNK_PROVIDERS_GBNF_DEBUG");
46
+ if (scoped) {
47
+ throw new Error("GBNF constraint: provider has no registered route and no active model route resolves, while route-scoped PLURNK_PROVIDERS_GBNF_* constraints are configured");
48
+ }
49
+ }
50
+ // {§grammar-configuration-admission} — identify a hand-built provider's
51
+ // configuration scope so direct Engine specimens exercise the same grammar
52
+ // resolution as daemon-constructed handles. null is an exact route using
53
+ // global tuning; a string is an alias-scoped route.
54
+ static registerConfigurationScope(provider, alias) {
55
+ ProviderInstantiate.#configurationAliasByProvider.set(provider, alias);
56
+ }
57
+ // Register a preconstructed handle under the same route+tuning identity as
58
+ // constructed providers. An injected handle must not shadow a later operator
59
+ // tuning projection merely because its wire route is unchanged.
60
+ static registerInstance(provider, spec, env = process.env, reasoningPolicy) {
61
+ ProviderInstantiate.#configurationAliasByProvider.set(provider, spec.alias ?? null);
62
+ ProviderInstantiate.#registeredInstances.set(ProviderInstantiate.#cacheKey(spec, env, reasoningPolicy), provider);
63
+ }
64
+ static async instantiateProvider(route, env = process.env, reasoningPolicy) {
43
65
  if (env === process.env) {
44
- const registered = ProviderInstantiate.#registeredInstances.get(ProviderInstantiate.#identityKey(alias));
45
- if (registered !== undefined)
66
+ const registered = ProviderInstantiate.#registeredInstances.get(ProviderInstantiate.#cacheKey(route, env, reasoningPolicy));
67
+ if (registered !== undefined) {
68
+ if (reasoningPolicy !== undefined
69
+ && !registered.supportedReasoningPolicies.includes(reasoningPolicy)) {
70
+ throw new UnsupportedReasoningPolicyError(`provider:${route.provider}`, reasoningPolicy, registered.supportedReasoningPolicies);
71
+ }
46
72
  return registered;
47
- const key = ProviderInstantiate.#cacheKey(alias, env);
73
+ }
74
+ const key = ProviderInstantiate.#cacheKey(route, env, reasoningPolicy);
48
75
  let cached = ProviderInstantiate.#instances.get(key);
49
76
  if (cached === undefined) {
50
- cached = ProviderInstantiate.#instantiate(alias, env);
77
+ cached = ProviderInstantiate.#instantiate(route, env, reasoningPolicy);
51
78
  ProviderInstantiate.#instances.set(key, cached);
52
79
  cached.catch(() => ProviderInstantiate.#instances.delete(key)); // a failed construct never poisons the cache
53
80
  }
54
81
  return cached;
55
82
  }
56
- return ProviderInstantiate.#instantiate(alias, env); // custom env (tests) — never cached
83
+ return ProviderInstantiate.#instantiate(route, env, reasoningPolicy); // custom env (tests) — never cached
57
84
  }
58
- static #identityKey(alias) {
59
- return `${alias.alias}|${alias.provider}|${alias.model}|${alias.baseUrl ?? ""}`;
85
+ static #identityKey(route) {
86
+ return `${route.alias ?? ""}|${route.provider}|${route.model}|${route.baseUrl ?? ""}`;
60
87
  }
61
- static #cacheKey(alias, env) {
62
- const scoped = scopeEnvToAlias(env, alias.alias);
88
+ static #cacheKey(route, env, reasoningPolicy) {
89
+ const scoped = ProviderInstantiate.#scopedEnv(route, env, reasoningPolicy);
63
90
  const tuning = PROVIDERS_KNOBS.map((name) => [name, scoped[name] ?? ""]);
64
- return `${ProviderInstantiate.#identityKey(alias)}|${JSON.stringify(tuning)}`;
91
+ return `${ProviderInstantiate.#identityKey(route)}|${JSON.stringify(tuning)}`;
65
92
  }
66
- static async #instantiate(alias, env) {
67
- const provider = await ProviderInstantiate.#construct(alias, env);
68
- ProviderInstantiate.#aliasByProvider.set(provider, alias.alias);
93
+ static #scopedEnv(route, env, reasoningPolicy) {
94
+ const scoped = route.alias === undefined ? env : scopeEnvToAlias(env, route.alias);
95
+ return reasoningPolicy === undefined
96
+ ? scoped
97
+ : { ...scoped, PLURNK_PROVIDERS_REASONING: reasoningPolicy };
98
+ }
99
+ static configuredReasoningPolicy(route, env = process.env) {
100
+ const value = ProviderInstantiate.#scopedEnv(route, env).PLURNK_PROVIDERS_REASONING;
101
+ const selection = route.alias === undefined
102
+ ? `Model route '${route.provider}/${route.model}'`
103
+ : `Provider alias '${route.alias}'`;
104
+ return parseReasoningPolicy(value, `${selection} reasoning policy`);
105
+ }
106
+ static async #instantiate(route, env, reasoningPolicy) {
107
+ const provider = await ProviderInstantiate.#construct(route, env, reasoningPolicy);
108
+ ProviderInstantiate.#configurationAliasByProvider.set(provider, route.alias ?? null);
69
109
  return provider;
70
110
  }
71
- static async #construct(alias, env) {
111
+ static async #construct(route, env, reasoningPolicy) {
72
112
  // {§operator-config-precedence} — promote the alias-scoped provider-knob family
73
113
  // (PLURNK_PROVIDERS_*_<alias>) to
74
114
  // bare BEFORE construction, so per-alias tuning and generation-envelope pins bind. Without this
75
115
  // the whole per-alias provider surface was silently dropped at construction.
76
- env = scopeEnvToAlias(env, alias.alias);
77
- return ProviderInstantiate.#constructWith(alias, env);
116
+ env = ProviderInstantiate.#scopedEnv(route, env, reasoningPolicy);
117
+ return ProviderInstantiate.#constructWith(route, env);
78
118
  }
79
- static async #constructWith(alias, env) {
80
- return instantiateFrameworkProvider(alias.provider, env, alias.model, undefined, undefined, alias.baseUrl,
119
+ static async #constructWith(route, env) {
120
+ return instantiateFrameworkProvider(route.provider, env, route.model, undefined, undefined, route.baseUrl,
81
121
  // #construct already materialized the alias-scoped environment.
82
122
  undefined);
83
123
  }
84
124
  // Convenience: resolve + instantiate in one call. Returns null when no
85
125
  // PLURNK_MODEL is set (caller decides what 'no provider' means).
86
126
  static async loadActiveProvider(env = process.env) {
87
- const alias = resolveActiveAlias(env); // the active provider alias resolves from PLURNK_MODEL — {§provider-instantiation-alias-resolution}
88
- if (alias === null)
127
+ const route = resolveActiveRoute(env); // PLURNK_MODEL resolves one alias or direct route — {§provider-instantiation-alias-resolution}
128
+ if (route === null)
89
129
  return null;
90
- const provider = await ProviderInstantiate.instantiateProvider(alias, env);
91
- await ProviderInstantiate.verifyGrammarEnforcement(provider, env);
130
+ const provider = await ProviderInstantiate.instantiateProvider(route, env);
131
+ ProviderInstantiate.validateGrammarConfiguration(provider, env);
92
132
  return provider;
93
133
  }
94
- // A configured GBNF is an explicit local constrained-sampling contract. Verify
95
- // that the provider both claims the capability and enforces a forcing grammar.
96
- // Endpoint-owned settings are outside this knob and outside this verification.
97
- static #VERIFY_TOKEN = "PLURNK-RAILS-LIVE";
98
- static #VERIFY_REASONING = "verify";
99
- static #verificationSentence(gbnf) {
100
- const normalized = gbnf.replaceAll("\\", "/");
101
- if (normalized.endsWith("/plurnk.qwen.gbnf") || normalized === "plurnk.qwen.gbnf") {
102
- const sampled = `${ProviderInstantiate.#VERIFY_REASONING}</think>${ProviderInstantiate.#VERIFY_TOKEN}`;
103
- return { sampled, response: `<think>\n${sampled}` };
104
- }
105
- const sampled = `<|channel>thought\n${ProviderInstantiate.#VERIFY_REASONING}<channel|>${ProviderInstantiate.#VERIFY_TOKEN}`;
106
- return { sampled, response: sampled };
107
- }
108
- static async verifyGrammarEnforcement(provider, env = process.env) {
109
- // {§grammar-enforcement-verified-at-boot}: resolve through the provider's registered alias,
110
- // with the active alias
134
+ // A configured GBNF is an explicit local constrained-sampling contract. Admit
135
+ // only a provider configuration capable of carrying it. Actual enforcement is
136
+ // proven by each user-authorized generation; startup never generates tokens.
137
+ static validateGrammarConfiguration(provider, env = process.env, reasoningPolicy) {
138
+ // {§grammar-configuration-admission}: resolve through the provider's registered alias,
139
+ // with the active real alias; exact routes remain globally scoped
111
140
  // retained only for the boot-global fallback.
112
- const alias = ProviderInstantiate.aliasOf(provider) ?? resolveActiveAlias(env)?.alias ?? "";
113
- const scoped = scopeEnvToAlias(env, alias, [
141
+ ProviderInstantiate.assertGrammarConfigurationScope(provider, env);
142
+ const alias = ProviderInstantiate.configurationAliasOf(provider, env);
143
+ const scoped = alias === undefined ? env : scopeEnvToAlias(env, alias, [
114
144
  "PLURNK_PROVIDERS_GBNF",
115
- "PLURNK_PROVIDERS_GBNF_DEBUG",
116
145
  "PLURNK_PROVIDERS_REASONING",
117
146
  ]);
118
147
  const gbnf = scoped.PLURNK_PROVIDERS_GBNF;
119
148
  if (gbnf === undefined || gbnf === "" || gbnf === "0")
120
149
  return; // rails not requested — nothing to verify
121
- if (scoped.PLURNK_PROVIDERS_REASONING === "off") {
122
- throw new Error(`PLURNK_PROVIDERS_GBNF=${gbnf} is invalid with PLURNK_PROVIDERS_REASONING=off: the PLURNK GBNF requires reasoning to be adaptive or on ({§gbnf-requires-reasoning}).`);
150
+ if ((reasoningPolicy ?? scoped.PLURNK_PROVIDERS_REASONING) === "off") {
151
+ throw new Error(`PLURNK_PROVIDERS_GBNF=${gbnf} is invalid with reasoning policy off: the PLURNK GBNF requires adaptive or fixed reasoning ({§gbnf-requires-reasoning}).`);
123
152
  }
124
153
  if (provider.constrainsOutput !== true) {
125
154
  throw new Error(`PLURNK_PROVIDERS_GBNF=${gbnf} configures local constrained sampling, but '${provider.model}' does not advertise GBNF transport. `
126
155
  + `Configure this knob only for a supported local llama-server; endpoint-managed constraints require no service-side GBNF setting. `
127
156
  + `If this is a llama-server, set PLURNK_PROVIDERS_LLAMA_SERVER_<alias>=1 when automatic detection is unavailable.`);
128
157
  }
129
- const debug = scoped.PLURNK_PROVIDERS_GBNF_DEBUG !== undefined
130
- && scoped.PLURNK_PROVIDERS_GBNF_DEBUG !== ""
131
- && scoped.PLURNK_PROVIDERS_GBNF_DEBUG !== "0";
132
- if (debug)
133
- return; // transport is deliberately withheld; real turns own validation and verdict evidence
134
- const verifySentence = ProviderInstantiate.#verificationSentence(gbnf);
135
- const forcing = `root ::= ${JSON.stringify(verifySentence.sampled)}`;
136
- let response;
137
- try {
138
- response = await provider.generate({
139
- messages: [{ role: "user", content: "ok" }],
140
- workerId: "gbnf-enforcement-verify", grammar: forcing, maxOutputTokens: 32,
141
- });
142
- }
143
- catch (cause) {
144
- // A rejected probe request is distinct from a completed unconstrained response.
145
- const detail = cause instanceof Error ? cause.message : String(cause);
146
- throw new Error(`grammar enforcement verification could not COMPLETE its probe against '${provider.model}' (PLURNK_PROVIDERS_GBNF=${gbnf}) — the model REJECTED the probe request. `
147
- + `This is a request/config incompatibility, NOT proof the rails are dark (and it would fail every real turn too). `
148
- + `The configured rail requires a reasoning-capable model and a compatible adaptive/on reasoning posture. `
149
- + `Refusing to boot until the request the daemon sends is one the model accepts. Probe error: ${detail}`, { cause });
150
- }
151
- const evidence = response.grammarEvidence;
152
- if (evidence === undefined) {
153
- throw new Error(`GBNF enforcement failed: '${provider.model}' did not return grammar evidence for the forcing probe. `
154
- + `The service cannot verify the pre-projection sentence and refuses to boot.`);
155
- }
156
- const input = evidence.input.replace(/(<eos>|<\/s>|<\|eot_id\|>|<\|endoftext\|>|<end_of_turn>)$/, "");
157
- if (!evidence.transported || input !== verifySentence.response) {
158
- throw new Error(`GBNF enforcement failed: PLURNK_PROVIDERS_GBNF=${gbnf} requests constrained sampling, but '${provider.model}' returned unconstrained output to a forcing grammar `
159
- + `(expected ${JSON.stringify(verifySentence.response)}, got ${JSON.stringify(input.slice(0, 80))}; transported=${evidence.transported}). `
160
- + `Refusing to boot because the configured local constraint was not enforced. `
161
- + `Check the llama-server capability or remove the PLURNK_PROVIDERS_GBNF setting.`);
162
- }
163
158
  }
164
159
  }
165
160
  //# sourceMappingURL=ProviderInstantiate.js.map