@plurnk/plurnk-service 1.14.2 → 1.16.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 (308) hide show
  1. package/.env.defaults +2 -2
  2. package/SPEC.md +243 -173
  3. package/digest-sql/curation/curation.sql +1 -1
  4. package/dist/build-info.json +1 -1
  5. package/dist/content/byte-view.d.ts +14 -0
  6. package/dist/content/byte-view.d.ts.map +1 -0
  7. package/dist/content/byte-view.js +33 -0
  8. package/dist/content/byte-view.js.map +1 -0
  9. package/dist/content/edit-receipt.d.ts.map +1 -1
  10. package/dist/content/edit-receipt.js +12 -1
  11. package/dist/content/edit-receipt.js.map +1 -1
  12. package/dist/content/line-marker.d.ts +2 -1
  13. package/dist/content/line-marker.d.ts.map +1 -1
  14. package/dist/content/line-marker.js +1 -0
  15. package/dist/content/line-marker.js.map +1 -1
  16. package/dist/content/matcher.d.ts +1 -0
  17. package/dist/content/matcher.d.ts.map +1 -1
  18. package/dist/content/matcher.js +1 -0
  19. package/dist/content/matcher.js.map +1 -1
  20. package/dist/content/read-projector.d.ts +4 -1
  21. package/dist/content/read-projector.d.ts.map +1 -1
  22. package/dist/content/read-projector.js +80 -3
  23. package/dist/content/read-projector.js.map +1 -1
  24. package/dist/core/AdmittedTurnExecutor.d.ts +43 -0
  25. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -0
  26. package/dist/core/AdmittedTurnExecutor.js +245 -0
  27. package/dist/core/AdmittedTurnExecutor.js.map +1 -0
  28. package/dist/core/BareBatchRunner.d.ts +26 -0
  29. package/dist/core/BareBatchRunner.d.ts.map +1 -0
  30. package/dist/core/BareBatchRunner.js +104 -0
  31. package/dist/core/BareBatchRunner.js.map +1 -0
  32. package/dist/core/BudgetReadout.d.ts +1 -1
  33. package/dist/core/BudgetReadout.d.ts.map +1 -1
  34. package/dist/core/BudgetReadout.js +42 -47
  35. package/dist/core/BudgetReadout.js.map +1 -1
  36. package/dist/core/CapabilityResolver.d.ts +2 -1
  37. package/dist/core/CapabilityResolver.d.ts.map +1 -1
  38. package/dist/core/CapabilityResolver.js +8 -9
  39. package/dist/core/CapabilityResolver.js.map +1 -1
  40. package/dist/core/ChannelWrite.d.ts +1 -1
  41. package/dist/core/ChannelWrite.d.ts.map +1 -1
  42. package/dist/core/DataStatementRunner.d.ts +35 -0
  43. package/dist/core/DataStatementRunner.d.ts.map +1 -0
  44. package/dist/core/DataStatementRunner.js +252 -0
  45. package/dist/core/DataStatementRunner.js.map +1 -0
  46. package/dist/core/Dispatcher.d.ts +8 -3
  47. package/dist/core/Dispatcher.d.ts.map +1 -1
  48. package/dist/core/Dispatcher.js +88 -738
  49. package/dist/core/Dispatcher.js.map +1 -1
  50. package/dist/core/EditMutations.d.ts +39 -0
  51. package/dist/core/EditMutations.d.ts.map +1 -0
  52. package/dist/core/EditMutations.js +418 -0
  53. package/dist/core/EditMutations.js.map +1 -0
  54. package/dist/core/Engine.d.ts +2 -23
  55. package/dist/core/Engine.d.ts.map +1 -1
  56. package/dist/core/Engine.js +18 -240
  57. package/dist/core/Engine.js.map +1 -1
  58. package/dist/core/Engine.sql +24 -23
  59. package/dist/core/KillHandler.d.ts +32 -0
  60. package/dist/core/KillHandler.d.ts.map +1 -0
  61. package/dist/core/KillHandler.js +179 -0
  62. package/dist/core/KillHandler.js.map +1 -0
  63. package/dist/core/LogVisibility.d.ts +1 -1
  64. package/dist/core/LogVisibility.d.ts.map +1 -1
  65. package/dist/core/LogVisibility.js +3 -4
  66. package/dist/core/LogVisibility.js.map +1 -1
  67. package/dist/core/LogWriter.d.ts +42 -0
  68. package/dist/core/LogWriter.d.ts.map +1 -0
  69. package/dist/core/LogWriter.js +136 -0
  70. package/dist/core/LogWriter.js.map +1 -0
  71. package/dist/core/LoopDriver.d.ts +46 -0
  72. package/dist/core/LoopDriver.d.ts.map +1 -0
  73. package/dist/core/LoopDriver.js +263 -0
  74. package/dist/core/LoopDriver.js.map +1 -0
  75. package/dist/core/LoopLifecycle.d.ts +2 -1
  76. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  77. package/dist/core/MembershipMaterialization.d.ts +7 -0
  78. package/dist/core/MembershipMaterialization.d.ts.map +1 -0
  79. package/dist/core/MembershipMaterialization.js +283 -0
  80. package/dist/core/MembershipMaterialization.js.map +1 -0
  81. package/dist/core/MutationEffects.d.ts +29 -0
  82. package/dist/core/MutationEffects.d.ts.map +1 -0
  83. package/dist/core/MutationEffects.js +318 -0
  84. package/dist/core/MutationEffects.js.map +1 -0
  85. package/dist/core/OverflowTurn.d.ts +4 -4
  86. package/dist/core/OverflowTurn.d.ts.map +1 -1
  87. package/dist/core/OverflowTurn.js +6 -7
  88. package/dist/core/OverflowTurn.js.map +1 -1
  89. package/dist/core/PacketBuilder.d.ts.map +1 -1
  90. package/dist/core/PacketBuilder.js +31 -9
  91. package/dist/core/PacketBuilder.js.map +1 -1
  92. package/dist/core/ResourceMutations.d.ts +12 -36
  93. package/dist/core/ResourceMutations.d.ts.map +1 -1
  94. package/dist/core/ResourceMutations.js +27 -1351
  95. package/dist/core/ResourceMutations.js.map +1 -1
  96. package/dist/core/ResourceSelector.d.ts +21 -0
  97. package/dist/core/ResourceSelector.d.ts.map +1 -0
  98. package/dist/core/ResourceSelector.js +233 -0
  99. package/dist/core/ResourceSelector.js.map +1 -0
  100. package/dist/core/ResourceTransfers.d.ts +55 -0
  101. package/dist/core/ResourceTransfers.d.ts.map +1 -0
  102. package/dist/core/ResourceTransfers.js +525 -0
  103. package/dist/core/ResourceTransfers.js.map +1 -0
  104. package/dist/core/SchemeRegistry.js +2 -2
  105. package/dist/core/SchemeRegistry.js.map +1 -1
  106. package/dist/core/SendBroadcastHandler.d.ts +40 -0
  107. package/dist/core/SendBroadcastHandler.d.ts.map +1 -0
  108. package/dist/core/SendBroadcastHandler.js +159 -0
  109. package/dist/core/SendBroadcastHandler.js.map +1 -0
  110. package/dist/core/StoredPacket.d.ts +11 -0
  111. package/dist/core/StoredPacket.d.ts.map +1 -1
  112. package/dist/core/StoredPacket.js +22 -1
  113. package/dist/core/StoredPacket.js.map +1 -1
  114. package/dist/core/StrikeRail.d.ts.map +1 -1
  115. package/dist/core/StrikeRail.js +19 -9
  116. package/dist/core/StrikeRail.js.map +1 -1
  117. package/dist/core/TokenCalibration.d.ts +16 -0
  118. package/dist/core/TokenCalibration.d.ts.map +1 -0
  119. package/dist/core/TokenCalibration.js +35 -0
  120. package/dist/core/TokenCalibration.js.map +1 -0
  121. package/dist/core/ToolResources.d.ts.map +1 -1
  122. package/dist/core/ToolResources.js +15 -12
  123. package/dist/core/ToolResources.js.map +1 -1
  124. package/dist/core/TurnMaterialization.d.ts +37 -0
  125. package/dist/core/TurnMaterialization.d.ts.map +1 -0
  126. package/dist/core/TurnMaterialization.js +296 -0
  127. package/dist/core/TurnMaterialization.js.map +1 -0
  128. package/dist/core/TurnOps.d.ts.map +1 -1
  129. package/dist/core/TurnOps.js +6 -8
  130. package/dist/core/TurnOps.js.map +1 -1
  131. package/dist/core/TurnRunner.d.ts +15 -27
  132. package/dist/core/TurnRunner.d.ts.map +1 -1
  133. package/dist/core/TurnRunner.js +76 -670
  134. package/dist/core/TurnRunner.js.map +1 -1
  135. package/dist/core/WorkerControlHandler.d.ts +15 -0
  136. package/dist/core/WorkerControlHandler.d.ts.map +1 -0
  137. package/dist/core/WorkerControlHandler.js +89 -0
  138. package/dist/core/WorkerControlHandler.js.map +1 -0
  139. package/dist/core/attachments.d.ts +14 -0
  140. package/dist/core/attachments.d.ts.map +1 -0
  141. package/dist/core/attachments.js +18 -0
  142. package/dist/core/attachments.js.map +1 -0
  143. package/dist/core/fork.d.ts.map +1 -1
  144. package/dist/core/fork.js +0 -4
  145. package/dist/core/fork.js.map +1 -1
  146. package/dist/core/fork.sql +5 -16
  147. package/dist/core/git-membership.d.ts +15 -0
  148. package/dist/core/git-membership.d.ts.map +1 -1
  149. package/dist/core/git-membership.js +4 -273
  150. package/dist/core/git-membership.js.map +1 -1
  151. package/dist/core/git-state.d.ts +2 -1
  152. package/dist/core/git-state.d.ts.map +1 -1
  153. package/dist/core/mutation-types.d.ts +102 -0
  154. package/dist/core/mutation-types.d.ts.map +1 -0
  155. package/dist/core/mutation-types.js +2 -0
  156. package/dist/core/mutation-types.js.map +1 -0
  157. package/dist/core/operation-target-groups.js +1 -1
  158. package/dist/core/operation-target-groups.js.map +1 -1
  159. package/dist/core/packet-wire.d.ts +7 -6
  160. package/dist/core/packet-wire.d.ts.map +1 -1
  161. package/dist/core/packet-wire.js +96 -68
  162. package/dist/core/packet-wire.js.map +1 -1
  163. package/dist/core/plurnk-uri.d.ts +0 -1
  164. package/dist/core/plurnk-uri.d.ts.map +1 -1
  165. package/dist/core/plurnk-uri.js +1 -1
  166. package/dist/core/plurnk-uri.js.map +1 -1
  167. package/dist/core/statement-primary.d.ts +4 -0
  168. package/dist/core/statement-primary.d.ts.map +1 -0
  169. package/dist/core/statement-primary.js +3 -0
  170. package/dist/core/statement-primary.js.map +1 -0
  171. package/dist/core/teaching-corpus.d.ts +0 -1
  172. package/dist/core/teaching-corpus.d.ts.map +1 -1
  173. package/dist/core/teaching-corpus.js +0 -9
  174. package/dist/core/teaching-corpus.js.map +1 -1
  175. package/dist/core/turn-scheduler.js +3 -3
  176. package/dist/core/turn-scheduler.js.map +1 -1
  177. package/dist/core/turn-signals.d.ts +15 -0
  178. package/dist/core/turn-signals.d.ts.map +1 -0
  179. package/dist/core/turn-signals.js +19 -0
  180. package/dist/core/turn-signals.js.map +1 -0
  181. package/dist/core/worker-settings.d.ts +0 -1
  182. package/dist/core/worker-settings.d.ts.map +1 -1
  183. package/dist/core/worker-settings.js +1 -1
  184. package/dist/core/worker-settings.js.map +1 -1
  185. package/dist/digest/Digest.d.ts +3 -16
  186. package/dist/digest/Digest.d.ts.map +1 -1
  187. package/dist/digest/Digest.js +10 -958
  188. package/dist/digest/Digest.js.map +1 -1
  189. package/dist/digest/DigestRender.d.ts +12 -0
  190. package/dist/digest/DigestRender.d.ts.map +1 -0
  191. package/dist/digest/DigestRender.js +641 -0
  192. package/dist/digest/DigestRender.js.map +1 -0
  193. package/dist/digest/DigestRequiem.d.ts +13 -0
  194. package/dist/digest/DigestRequiem.d.ts.map +1 -0
  195. package/dist/digest/DigestRequiem.js +332 -0
  196. package/dist/digest/DigestRequiem.js.map +1 -0
  197. package/dist/digest/digest-rows.d.ts +303 -0
  198. package/dist/digest/digest-rows.d.ts.map +1 -0
  199. package/dist/digest/digest-rows.js +2 -0
  200. package/dist/digest/digest-rows.js.map +1 -0
  201. package/dist/digest/digest.sql +1 -7
  202. package/dist/observe/api.d.ts +0 -2
  203. package/dist/observe/api.d.ts.map +1 -1
  204. package/dist/observe/api.js +2 -2
  205. package/dist/observe/api.js.map +1 -1
  206. package/dist/observe/metrics.d.ts +0 -1
  207. package/dist/observe/metrics.d.ts.map +1 -1
  208. package/dist/observe/metrics.js +0 -1
  209. package/dist/observe/metrics.js.map +1 -1
  210. package/dist/schemes/Exec.d.ts +4 -1
  211. package/dist/schemes/Exec.d.ts.map +1 -1
  212. package/dist/schemes/Exec.js +89 -48
  213. package/dist/schemes/Exec.js.map +1 -1
  214. package/dist/schemes/ExecOutputScheme.d.ts +2 -1
  215. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  216. package/dist/schemes/ExecOutputScheme.js +3 -3
  217. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  218. package/dist/schemes/File.d.ts +4 -1
  219. package/dist/schemes/File.d.ts.map +1 -1
  220. package/dist/schemes/File.js +100 -13
  221. package/dist/schemes/File.js.map +1 -1
  222. package/dist/schemes/Log.d.ts +4 -5
  223. package/dist/schemes/Log.d.ts.map +1 -1
  224. package/dist/schemes/Log.js +26 -118
  225. package/dist/schemes/Log.js.map +1 -1
  226. package/dist/schemes/Log.sql +1 -66
  227. package/dist/schemes/Prompt.js +1 -1
  228. package/dist/schemes/Prompt.js.map +1 -1
  229. package/dist/schemes/Worker.d.ts.map +1 -1
  230. package/dist/schemes/Worker.js +1 -13
  231. package/dist/schemes/Worker.js.map +1 -1
  232. package/dist/schemes/_entry-crud.d.ts +3 -1
  233. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  234. package/dist/schemes/_entry-crud.js +18 -3
  235. package/dist/schemes/_entry-crud.js.map +1 -1
  236. package/dist/schemes/_entry-find.d.ts +4 -2
  237. package/dist/schemes/_entry-find.d.ts.map +1 -1
  238. package/dist/schemes/_entry-find.js +79 -10
  239. package/dist/schemes/_entry-find.js.map +1 -1
  240. package/dist/schemes/_entry-manifest.d.ts +1 -2
  241. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  242. package/dist/schemes/_entry-ops.d.ts +2 -1
  243. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  244. package/dist/schemes/_entry-ops.js +20 -2
  245. package/dist/schemes/_entry-ops.js.map +1 -1
  246. package/dist/schemes/_entry-semantic.d.ts +1 -0
  247. package/dist/schemes/_entry-semantic.d.ts.map +1 -1
  248. package/dist/schemes/_entry-semantic.js +3 -0
  249. package/dist/schemes/_entry-semantic.js.map +1 -1
  250. package/dist/schemes/_entry-semantic.sql +2 -2
  251. package/dist/schemes/_entry-send.d.ts +0 -1
  252. package/dist/schemes/_entry-send.d.ts.map +1 -1
  253. package/dist/schemes/_entry-send.js +5 -80
  254. package/dist/schemes/_entry-send.js.map +1 -1
  255. package/dist/schemes/exec-runtime.d.ts +7 -0
  256. package/dist/schemes/exec-runtime.d.ts.map +1 -0
  257. package/dist/schemes/exec-runtime.js +2 -0
  258. package/dist/schemes/exec-runtime.js.map +1 -0
  259. package/dist/server/ClientReads.d.ts +34 -0
  260. package/dist/server/ClientReads.d.ts.map +1 -0
  261. package/dist/server/ClientReads.js +210 -0
  262. package/dist/server/ClientReads.js.map +1 -0
  263. package/dist/server/Daemon.d.ts +12 -22
  264. package/dist/server/Daemon.d.ts.map +1 -1
  265. package/dist/server/Daemon.js +31 -362
  266. package/dist/server/Daemon.js.map +1 -1
  267. package/dist/server/DaemonModule.d.ts +6 -5
  268. package/dist/server/DaemonModule.d.ts.map +1 -1
  269. package/dist/server/DrainSupervisor.d.ts +3 -2
  270. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  271. package/dist/server/DrainSupervisor.js +7 -3
  272. package/dist/server/DrainSupervisor.js.map +1 -1
  273. package/dist/server/Functionality.d.ts +0 -12
  274. package/dist/server/Functionality.d.ts.map +1 -1
  275. package/dist/server/Functionality.js.map +1 -1
  276. package/dist/server/FunctionalityManager.d.ts +0 -1
  277. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  278. package/dist/server/FunctionalityManager.js +3 -3
  279. package/dist/server/FunctionalityManager.js.map +1 -1
  280. package/dist/server/MembersFunctionality.d.ts +2 -13
  281. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  282. package/dist/server/MembersFunctionality.js +4 -4
  283. package/dist/server/MembersFunctionality.js.map +1 -1
  284. package/dist/server/SkillsFunctionality.d.ts +1 -7
  285. package/dist/server/SkillsFunctionality.d.ts.map +1 -1
  286. package/dist/server/SkillsFunctionality.js +3 -3
  287. package/dist/server/SkillsFunctionality.js.map +1 -1
  288. package/dist/server/WorkerModelResolver.d.ts +17 -0
  289. package/dist/server/WorkerModelResolver.d.ts.map +1 -0
  290. package/dist/server/WorkerModelResolver.js +166 -0
  291. package/dist/server/WorkerModelResolver.js.map +1 -0
  292. package/dist/server/daemon-results.d.ts +5 -0
  293. package/dist/server/daemon-results.d.ts.map +1 -0
  294. package/dist/server/daemon-results.js +7 -0
  295. package/dist/server/daemon-results.js.map +1 -0
  296. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  297. package/dist/server/dispatch-as-plurnk.js +4 -6
  298. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  299. package/dist/server/logEntry.d.ts +0 -1
  300. package/dist/server/logEntry.d.ts.map +1 -1
  301. package/dist/server/logEntry.js +1 -13
  302. package/dist/server/logEntry.js.map +1 -1
  303. package/dist/server/logEntry.sql +1 -5
  304. package/dist/server/loopDocs.d.ts.map +1 -1
  305. package/dist/server/loopDocs.js +11 -2
  306. package/dist/server/loopDocs.js.map +1 -1
  307. package/migrations/001_schema.sql +30 -347
  308. package/package.json +30 -30
@@ -9,8 +9,6 @@ import { promptPathname, promptLoopPrefix } from "./plurnk-uri.js";
9
9
  import { contentWeight } from "./content-weight.js";
10
10
  import LiveSubscriptions from "./LiveSubscriptions.js";
11
11
  import LoopLifecycle from "./LoopLifecycle.js";
12
- import { setTimeout as delay } from "node:timers/promises";
13
- import Results from "./results.js";
14
12
  // The engine's collaborators — each owns one machine; Engine owns the loop/turn
15
13
  // lifecycle and wires them together as the public facade.
16
14
  import NoticeChannel from "./NoticeChannel.js";
@@ -21,34 +19,11 @@ import ProposalLifecycle from "./ProposalLifecycle.js";
21
19
  import ClientInteractions from "./ClientInteractions.js";
22
20
  import Dispatcher from "./Dispatcher.js";
23
21
  import EntryAddressBinding from "./EntryAddressBinding.js";
24
- import TurnRunner, { LOOP_TIMEOUT_REASON } from "./TurnRunner.js";
22
+ import TurnRunner from "./TurnRunner.js";
25
23
  import { observed } from "../observe/spans.js";
26
24
  import { providerRequestFromStorageRow } from "./provider-accounting.js";
27
- const DEFAULT_MAX_STRIKES = 3;
28
- const readMaxStrikes = () => {
29
- const raw = process.env.PLURNK_SERVICE_MAX_STRIKES;
30
- if (raw === undefined || raw.length === 0)
31
- return DEFAULT_MAX_STRIKES;
32
- const n = Number.parseInt(raw, 10);
33
- if (!Number.isFinite(n) || n < 0)
34
- return DEFAULT_MAX_STRIKES;
35
- return n;
36
- };
37
25
  import { aggregateProviderAccounting } from "@plurnk/plurnk-providers";
38
- const DEFAULT_MIN_CYCLES = 3;
39
- const DEFAULT_MAX_CYCLE_PERIOD = 4;
40
- const readPositiveInt = (envVar, fallback) => {
41
- const raw = process.env[envVar];
42
- if (raw === undefined || raw.length === 0)
43
- return fallback;
44
- const n = Number.parseInt(raw, 10);
45
- if (!Number.isFinite(n) || n < 1)
46
- return fallback;
47
- return n;
48
- };
49
- // {§operator-config-loop-timeout} — the loop's wall-clock budget (PLURNK_SERVICE_LOOP_TIMEOUT).
50
- const DEFAULT_LOOP_TIMEOUT_MS = 86400000;
51
- const readLoopTimeoutMs = () => readPositiveInt("PLURNK_SERVICE_LOOP_TIMEOUT", DEFAULT_LOOP_TIMEOUT_MS);
26
+ import LoopDriver from "./LoopDriver.js";
52
27
  // The wall's abort reason — runLoop branches a mid-turn teardown to the 504 terminal on it.
53
28
  export default class Engine {
54
29
  static fingerprintTurn(ops) {
@@ -291,6 +266,7 @@ export default class Engine {
291
266
  #wakeWorkerNotify;
292
267
  #acquireWorkspaceTurn;
293
268
  #workspaceTurnStarting;
269
+ #loopDriver;
294
270
  constructor({ db, schemes, mimetypes, streamEventNotify, reasoningEventNotify, loopPacketNotify, wakeWorkerNotify, injectWorker, cancelWorker, cancelDescendants, acquireWorkspaceTurn, workspaceTurnStarting, noticeNotify, weigh }) {
295
271
  this.#db = db;
296
272
  this.#lifecycle = new LoopLifecycle(db);
@@ -383,6 +359,7 @@ export default class Engine {
383
359
  requestInteraction: (request, ids, signal) => this.#interactions.request(request, ids, signal),
384
360
  liveSubscriptions: this.#liveSubscriptions
385
361
  });
362
+ this.#loopDriver = new LoopDriver({ loopAborts: this.#loopAborts, db: this.#db, lifecycle: this.#lifecycle, schemes: this.#schemes, notices: this.#notices, strikes: this.#strikes, acquireWorkspaceTurn: this.#acquireWorkspaceTurn, workspaceTurnStarting: this.#workspaceTurnStarting, runTurn: this.runTurn.bind(this) });
386
363
  }
387
364
  // Late injection: the executor registry is async-built at daemon start()
388
365
  // (discover + probe), after Engine construction.
@@ -514,218 +491,6 @@ export default class Engine {
514
491
  meta: JSON.parse(row.meta ?? "{}")
515
492
  };
516
493
  }
517
- async runLoop({ provider, childProvider = provider, messages, recap = "", workspaceId, workerId, loopId, maxTurns = 50, maxStrikes = readMaxStrikes(), minCycles = readPositiveInt("PLURNK_SERVICE_MIN_CYCLES", DEFAULT_MIN_CYCLES), maxCyclePeriod = readPositiveInt("PLURNK_SERVICE_MAX_CYCLE_PERIOD", DEFAULT_MAX_CYCLE_PERIOD), signal, onDispatch, onSettled }) {
518
- // A 202 park suspends this durable loop and a later wake re-enters runLoop.
519
- // Its ceiling therefore counts every prior turn, not merely this process-local
520
- // execution segment.
521
- const turnIds = await this.#lifecycle.turnIds(loopId);
522
- let modelTurnCount = await this.#lifecycle.modelTurnCount(loopId);
523
- let invalidEmissionRecoveryEntryId = null;
524
- // Per-loop AbortController for scheme-side cancellation propagation.
525
- // Chained from the caller's `signal` so an external abort cascades.
526
- const loopAbort = new AbortController();
527
- if (signal !== undefined) {
528
- if (signal.aborted)
529
- loopAbort.abort(signal.reason);
530
- else
531
- signal.addEventListener("abort", () => loopAbort.abort(signal.reason), { once: true });
532
- }
533
- this.#loopAborts.set(loopId, loopAbort);
534
- // {§operator-config-loop-timeout} — the wall-clock budget. Expiry aborts the loop signal, so a
535
- // mid-flight provider call (generate rides this signal) and in-flight spawns tear down; the
536
- // loop terminates 504 (kin to the exec <T> reap's 504, {§exec-timeout}) — a legible engine
537
- // terminal, never an outside kill. unref'd: the wall never holds the process open.
538
- const wall = setTimeout(() => loopAbort.abort(LOOP_TIMEOUT_REASON), readLoopTimeoutMs());
539
- wall.unref();
540
- const timedOut = () => loopAbort.signal.aborted && loopAbort.signal.reason === LOOP_TIMEOUT_REASON;
541
- const ruleTimeout = async () => {
542
- const failure = Results.failure("engine:rails", "loop-timeout", 504, `The loop exceeded its wall-clock deadline after ${modelTurnCount} model turns.`, {}, {
543
- turns: modelTurnCount,
544
- stage: "loop",
545
- retryable: false
546
- });
547
- const result = await this.#lifecycle.finish(loopId, failure);
548
- if (result === null)
549
- throw new Error(`loop ${loopId} became terminal before timeout settlement`);
550
- cleanup("forceful", "loop_timeout");
551
- return { turnIds, result, hitMaxTurns: false, reason: "loop_timeout" };
552
- };
553
- // Cleanup splits by termination kind:
554
- // - "graceful" (SEND signal 202 Accepted): in-flight streaming-scheme spawns
555
- // are ALLOWED to outlive the loop — they complete naturally, write final
556
- // channel state, and wake-on-completion (E.4) opens a fresh loop. 202 is
557
- // the only terminal that means "keep my async work."
558
- // - "forceful" (SEND signal 200 done, max_turns, strike, cancel, context-envelope rejection, 4xx/5xx):
559
- // fire the loop-level abort so leftover spawns tear down. "Done" reaps.
560
- const cleanup = (kind, reason) => {
561
- clearTimeout(wall);
562
- if (kind === "forceful" && !loopAbort.signal.aborted) {
563
- loopAbort.abort(reason ?? "loop_forceful_termination");
564
- }
565
- this.#loopAborts.delete(loopId);
566
- this.#strikes.delete(loopId);
567
- this.#notices.delete(loopId);
568
- };
569
- while (true) {
570
- const row = await this.#db.engine_loop_status.get({ loop_id: loopId });
571
- if (row === undefined)
572
- throw new Error(`Engine.runLoop: loop ${loopId} not found`);
573
- if (row.status === 100) {
574
- // NOT a terminal — a wake re-queued this loop while its own live drain was
575
- // between turns (a child concluded in the gap between our 202 write and this
576
- // check, {§worker-lifecycle-wake-requeue-not-terminal}). The wake's intent is KEEP
577
- // RUNNING: re-claim atomically and continue — the injected prompt is already
578
- // this loop's next turn. Returning it as "external" broadcast a QUEUED loop
579
- // as a terminal result with status 100 — the delegation-policy race.
580
- await this.#db.engine_reclaim_queued_loop.run({ loop_id: loopId });
581
- continue; // claimed (or a racer flipped it first — the re-read decides)
582
- }
583
- if (row.status !== 102) {
584
- // Only 202 (Accepted) lets spawns outlive — it IS the async wake
585
- // contract (E.4). Every other terminal, 200 included, reaps: "done"
586
- // must not leak running execs. Trust the code's declared intent.
587
- cleanup(row.status === 202 ? "graceful" : "forceful", `loop_terminal_${row.status}`);
588
- if (row.status === 202) {
589
- return { turnIds, result: { status: 202 }, hitMaxTurns: false, reason: "external" };
590
- }
591
- const result = await this.#lifecycle.result(loopId);
592
- if (result === null) {
593
- throw new Error(`terminal loop ${loopId} status ${row.status} has no operation result`);
594
- }
595
- return { turnIds, result, hitMaxTurns: false, reason: "external" };
596
- }
597
- // Durable disposition outranks a later process-local cancellation observation.
598
- // SEND may commit 202 immediately before daemon shutdown aborts this drain; reading
599
- // the abort first launders that lawful park into 499 under load. Only a still-running
600
- // 102 loop can be cancelled or time out at this boundary.
601
- if (timedOut())
602
- return await ruleTimeout();
603
- signal?.throwIfAborted();
604
- if (maxTurns >= 0 && modelTurnCount >= maxTurns) {
605
- const failure = Results.failure("engine:rails", "max-turns", 429, `The configured turn ceiling (${maxTurns}) is exhausted.`, {}, {
606
- maximumTurns: maxTurns,
607
- stage: "loop",
608
- retryable: false
609
- });
610
- const result = await this.#lifecycle.finish(loopId, failure);
611
- if (result === null)
612
- throw new Error(`loop ${loopId} became terminal before max-turn settlement`);
613
- cleanup("forceful", "max_turns");
614
- return { turnIds, result, hitMaxTurns: true, reason: "max_turns" };
615
- }
616
- const execHandler = this.#schemes.get("exec");
617
- // {§exec-hold-until-concluded} — hold matching runtime/effect
618
- // streams until conclusion or the fail-open cap, then resume the
619
- // ordinary cycle without altering stream state.
620
- const holdSet = new Set((process.env.PLURNK_SERVICE_EXEC_HOLD ?? "").split(",").map((x) => x.trim()).filter((x) => x.length > 0));
621
- const holdCapMs = Number(process.env.PLURNK_SERVICE_EXEC_HOLD_MS ?? "300000");
622
- if (holdSet.size > 0 && holdCapMs > 0 && execHandler?.hasActiveHoldSpawns !== undefined) {
623
- const holdStart = Date.now();
624
- while (execHandler.hasActiveHoldSpawns(workerId, holdSet) && Date.now() - holdStart < holdCapMs) {
625
- await delay(150, undefined, { signal });
626
- }
627
- }
628
- let turn;
629
- const releaseWorkspace = await this.#acquireWorkspaceTurn(workspaceId, workerId);
630
- try {
631
- await this.#workspaceTurnStarting?.({ workspaceId, workerId, loopId });
632
- turn = await observed(// {§observability-boundary}
633
- "loop.turn", { workerId, "loop.id": loopId }, async (span) => {
634
- const t = await this.runTurn({
635
- provider, childProvider, messages, recap, workspaceId, workerId, loopId, signal, onDispatch, onSettled,
636
- turnNumber: modelTurnCount + 1, maxTurns,
637
- invalidEmissionRecoveryEntryId
638
- });
639
- span.setAttribute("turn.id", t.turnId);
640
- span.setAttribute("turn.producer", t.producer);
641
- span.setAttribute("turn.kind", t.kind);
642
- return t;
643
- });
644
- }
645
- catch (err) {
646
- // The wall fired mid-turn — the abort tore the turn down (generate rides the loop
647
- // signal); rule the legible 504, never a generic drain error.
648
- if (timedOut())
649
- return await ruleTimeout();
650
- throw err;
651
- }
652
- finally {
653
- releaseWorkspace();
654
- }
655
- turnIds.push(...turn.createdTurnIds);
656
- // {§overflow-turn-only} — packetless kernel chronology is not a
657
- // model attempt and never enters emission or strike accounting.
658
- if (turn.kind === "overflow") {
659
- if (turn.curationFailure !== undefined) {
660
- const result = await this.#lifecycle.finish(loopId, turn.curationFailure);
661
- if (result === null)
662
- throw new Error(`loop ${loopId} became terminal before token-overflow settlement`);
663
- cleanup("forceful", "token_budget_overflow");
664
- return { turnIds, result, hitMaxTurns: false, reason: "token_budget" };
665
- }
666
- continue;
667
- }
668
- modelTurnCount++;
669
- // {§engine-rails} Contract Strikes: every emission exhaustion is one
670
- // frame-contract violation. The next turn is always informed (it carries
671
- // the rejected emission), and the strike rail — not a bespoke terminal —
672
- // decides how many consecutive violations the loop survives.
673
- if (turn.emissionExhausted) {
674
- if (turn.rejectedModelEntryId === undefined) {
675
- throw new Error("an invalid-emission recovery requires its rejected emissionAttempt identity");
676
- }
677
- invalidEmissionRecoveryEntryId = turn.rejectedModelEntryId;
678
- }
679
- else {
680
- invalidEmissionRecoveryEntryId = null;
681
- }
682
- // {§provider-surface-capacity}: the provider rejected the changed request for capacity.
683
- if (turn.capacityHardStop) {
684
- if (turn.capacityFailure === undefined) {
685
- throw new Error("a provider-capacity stop requires its exact failure");
686
- }
687
- const result = await this.#lifecycle.finish(loopId, turn.capacityFailure);
688
- if (result === null)
689
- throw new Error(`loop ${loopId} became terminal before provider-capacity settlement`);
690
- cleanup("forceful", "provider_capacity");
691
- return { turnIds, result, hitMaxTurns: false, reason: "provider_capacity" };
692
- }
693
- if (turn.providerParked) {
694
- // {§provider-recovery} — the provider stayed unavailable past the recovery budget:
695
- // the loop parks like a [202] wait, spawns outlive it, and the ordinary wake resumes it.
696
- if (!await this.#lifecycle.park(loopId))
697
- throw new Error(`loop ${loopId} could not park after provider recovery`);
698
- cleanup("graceful", "provider_unavailable");
699
- return { turnIds, result: { status: 202 }, hitMaxTurns: false, reason: "provider_unavailable" };
700
- }
701
- // {§engine-rails} — per-turn strike accounting (cycle detection,
702
- // steer coupling, hard operation outcomes). StrikeRail owns the
703
- // bookkeeping; runLoop owns abandonment.
704
- const verdict = this.#strikes.assess(loopId, {
705
- fingerprint: turn.fingerprint,
706
- outcomes: turn.outcomes,
707
- steerStruck: turn.steerStruck,
708
- minCycles, maxCyclePeriod, maxStrikes
709
- });
710
- if (verdict.thresholdCrossed) {
711
- // {§engine-rails} — the source on the crossing turn classifies
712
- // the engine verdict: cycle-driven is 508; every other strike is 500.
713
- const status = verdict.cycleDetected ? 508 : 500;
714
- const failure = Results.failure("engine:rails", "strike-threshold", status, verdict.cycleDetected
715
- ? `The loop reached its strike threshold after ${modelTurnCount} model turns because its operation pattern repeated.`
716
- : `The loop reached its strike threshold after ${modelTurnCount} model turns because consecutive turns failed.`, {}, {
717
- turns: modelTurnCount,
718
- stage: "loop",
719
- retryable: false
720
- });
721
- const result = await this.#lifecycle.finish(loopId, failure);
722
- if (result === null)
723
- throw new Error(`loop ${loopId} became terminal before strike settlement`);
724
- cleanup("forceful", "strike_threshold");
725
- return { turnIds, result, hitMaxTurns: false, reason: "strike_threshold" };
726
- }
727
- }
728
- }
729
494
  runTurn(args) {
730
495
  return this.#turnRunner.runTurn(args);
731
496
  }
@@ -749,7 +514,7 @@ export default class Engine {
749
514
  async dispatch(context) {
750
515
  return observed(// {§observability-boundary}
751
516
  "op.dispatch", { op: context.statement.op }, async (span) => {
752
- if (context.statement.op === "EDIT") {
517
+ if (context.statement.op === "EDIT" || (context.statement.op === "KILL" && context.statement.lineMarker !== null)) {
753
518
  const { statement, sequence: _sequence, ...batchContext } = context;
754
519
  await this.#dispatcher.prepareEditBatches([statement], batchContext);
755
520
  }
@@ -881,5 +646,18 @@ export default class Engine {
881
646
  await EntryCrud.writeEntry({ authority: "", pathname }, entry, ctx, "prompt", workerId);
882
647
  return { loopId, turnSeq };
883
648
  }
649
+ // — can this op open a wake edge mid-turn? The grounding scan for a
650
+ // same-turn spawn-then-hibernate: an EXEC (stream conclusion / poll cadence wakes), a COPY to
651
+ // worker:// (child-conclusion wake, {§worker-lifecycle-child-wake}), a directed SEND to worker:// (irc — the
652
+ // addressee can act and conclude back), or an http READ (a web fetch streams into a subscription).
653
+ // Conservative on purpose: a false PERMIT risks a dead park only in the spawn-failed corner; a
654
+ // false REFUSE breaks legitimate hibernation.
655
+ // A worker "holds a live thing" iff it has an open stream/spawn (subscription registry or an
656
+ // exec spawn) OR a non-terminal child worker — the structured-concurrency invariant a terminal
657
+ // SEND must respect ({§send-premature-terminate}, {§worker-loop-lifecycle}:
658
+ // children and streams are the same kind of live thing a worker holds).
659
+ async runLoop(...args) {
660
+ return this.#loopDriver.runLoop(...args);
661
+ }
884
662
  }
885
663
  //# sourceMappingURL=Engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"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"}
@@ -374,7 +374,7 @@ SELECT o.cursor, o.boundary,
374
374
  ae.scheme, ae.username, ae.password, ae.hostname, ae.port,
375
375
  ae.pathname, ae.query, ae.fragment, ae.line_marker,
376
376
  ae.tx, ae.mimetype_tx, ae.rx, ae.mimetype_rx,
377
- ae.state, ae.outcome, ae.attrs, ae.tags,
377
+ ae.state, ae.outcome, ae.attrs,
378
378
  ae.status_rx, ae.terminated_by
379
379
  FROM observation o
380
380
  LEFT JOIN ambient_events ae
@@ -579,14 +579,6 @@ causal_rows(id) AS (
579
579
  FROM active_log_entries row
580
580
  WHERE row.turn_id = $turn_id
581
581
  OR row.turn_id = (SELECT id FROM previous_turn)
582
- UNION
583
- SELECT effect.target_log_entry_id
584
- FROM log_curation_effects effect
585
- JOIN log_entries operation ON operation.id = effect.operation_log_entry_id
586
- WHERE operation.turn_id = (SELECT id FROM previous_turn)
587
- AND operation.op = 'OPEN'
588
- AND operation.status_rx < 400
589
- AND effect.folded_before != effect.folded_after
590
582
  )
591
583
  SELECT row.id,
592
584
  (loop.sequence || '/' || turn.sequence || '/' || row.sequence) AS coordinate,
@@ -606,7 +598,7 @@ ORDER BY loop.sequence, turn.sequence, row.sequence;
606
598
  -- current loop. Coordinates append /<op> only for rows that represent an operation.
607
599
  -- Status 202 entries in state='proposed' are model-invisible until resolved.
608
600
  -- Folded intervals are projected against the canonical body by packet-wire;
609
- -- wholly folded rows remain listed and re-OPENable. {§open-fold}
601
+ -- wholly folded rows remain listed and re-OPENable. {§log-kill-scope}
610
602
  SELECT
611
603
  le.id,
612
604
  l.sequence AS loop_seq,
@@ -620,13 +612,7 @@ SELECT
620
612
  le.query, le.fragment,
621
613
  le.status_rx, le.rx, le.mimetype_rx,
622
614
  le.tx, le.mimetype_tx,
623
- le.state, le.outcome, le.folded, le.source, le.weight, le.attrs,
624
- COALESCE((
625
- SELECT json_group_array(ordered.tag)
626
- FROM (
627
- SELECT tag FROM log_tags WHERE log_entry_id = le.id ORDER BY tag
628
- ) ordered
629
- ), '[]') AS tags
615
+ le.state, le.outcome, le.folded, le.source, le.weight, le.attrs
630
616
  FROM active_log_entries le
631
617
  JOIN turns t ON t.id = le.turn_id
632
618
  JOIN loops l ON l.id = le.loop_id
@@ -634,13 +620,13 @@ JOIN loops l ON l.id = le.loop_id
634
620
  -- the AND NOT clauses keep proposed (202) rows hidden until resolved ({§proposal-proposed-hidden})
635
621
  -- and dissolve successful log-curation receipts: a model-authored OPEN/FOLD or log-target KILL
636
622
  -- row renders in exactly the packet after its turn — the actor sees its 200 or 204 once — and
637
- -- leaves the projection as soon as a later model turn has rows ({§fold-open-meta-operations},
623
+ -- leaves the projection as soon as a later model turn has rows ({§log-kill-meta-operation},
638
624
  -- {§curation-receipt-dissolves}). Every failed operation remains visible through
639
625
  -- {§operation-result-uniform-error-channel}.
640
626
  WHERE le.worker_id = $worker_id
641
627
  AND NOT (le.status_rx = 202 AND le.state = 'proposed')
642
628
  AND NOT (
643
- (COALESCE(le.op, '') IN ('OPEN', 'FOLD') OR (COALESCE(le.op, '') = 'KILL' AND le.scheme = 'log'))
629
+ (COALESCE(le.op, '') = 'KILL' AND le.scheme = 'log')
644
630
  AND le.status_rx < 400
645
631
  AND le.source IS NULL
646
632
  AND le.turn_id <> (
@@ -716,13 +702,14 @@ SELECT l.sequence AS loop_seq,
716
702
  -- {§send-premature-terminate}/{§wait-obligation-matrix} — operations whose useful effect crosses
717
703
  -- into the next packet: READ/FIND/OPEN/BARE results, successful EDIT/COPY/MOVE receipts (the model
718
704
  -- sees what it changed before it claims done — deterministic railing, one cached turn), plus
719
- -- successful FOLD context curation. Receipts block an explicit [200]; FOLD blocks only the
720
- -- empty-[202] inference because explicit final housekeeping remains valid.
705
+ -- successful log curation. Receipts block an explicit (TERM); a log KILL blocks only the
706
+ -- empty-(WAIT) inference because explicit final housekeeping remains valid.
721
707
  SELECT id, op FROM active_log_entries
722
708
  WHERE turn_id = $turn_id
723
709
  AND origin = 'model'
724
- AND (op IN ('READ', 'FIND', 'OPEN', 'BARE')
725
- OR (op IN ('EDIT', 'COPY', 'MOVE', 'FOLD') AND status_rx < 400));
710
+ AND (op IN ('READ', 'FIND', 'BARE')
711
+ OR (op IN ('EDIT', 'COPY', 'MOVE') AND status_rx < 400)
712
+ OR (op = 'KILL' AND scheme = 'log' AND status_rx < 400));
726
713
 
727
714
  -- PREP: engine_worker_has_undelivered_stream_term
728
715
  -- A stream may finish between its EXEC and a same-turn SEND. It is then no longer
@@ -813,3 +800,17 @@ WHERE ae.workspace_id = parent.workspace_id
813
800
  AND ae.target_parent_worker_id = parent.id
814
801
  AND ae.id > COALESCE(parent.ambient_event_cursor, 0)
815
802
  LIMIT 1;
803
+
804
+ -- PREP: engine_calibration_samples
805
+ -- {§tokenomics-calibrated-readout} — one model's last five settled emission responses, each pairing
806
+ -- the request's measured packet weight with the provider's reported prompt count.
807
+ -- Newest first; only rows where both figures are positive.
808
+ SELECT json_extract(t.packet, '$.weight') AS weight, pr.usage_input AS reported
809
+ FROM provider_requests pr
810
+ JOIN inference_calls ic ON ic.id = pr.inference_call_id
811
+ JOIN turns t ON t.id = ic.turn_id
812
+ WHERE pr.model = $model AND pr.state = 'settled' AND pr.outcome = 'response'
813
+ AND ic.kind = 'emission' AND pr.usage_input > 0
814
+ AND t.packet IS NOT NULL AND json_extract(t.packet, '$.weight') > 0
815
+ ORDER BY pr.id DESC
816
+ LIMIT 5;
@@ -0,0 +1,32 @@
1
+ import type { ParsedPath, PlurnkStatement } from "@plurnk/plurnk-contracts";
2
+ import type { Db } from "./Db.ts";
3
+ import type SchemeRegistry from "./SchemeRegistry.ts";
4
+ import type { DeleteEntryResult } from "../schemes/_entry-crud.ts";
5
+ import type { SchemeManifest, PlurnkSchemeContext } from "./scheme-types.ts";
6
+ import { type CancelWorkerNotify } from "./ChannelWrite.ts";
7
+ import SchemeCtxImpl from "./caps/SchemeCtxImpl.ts";
8
+ import { type BoundEntryAddress as ResolvedDataEntryAddress, type EntryAddressResolution as PreparedRepresentation } from "./EntryAddressBinding.ts";
9
+ import type { DispatchResult, SchemeWithEntryAddress } from "./Dispatcher.ts";
10
+ import type LiveSubscriptions from "./LiveSubscriptions.ts";
11
+ export default class KillHandler {
12
+ #private;
13
+ constructor({ db, schemes, liveSubscriptions, cancelWorker, resolveDataEntryAddress, boundEntryContext, handlerContext, deleteEntry, failure }: {
14
+ db: Db;
15
+ schemes: SchemeRegistry;
16
+ liveSubscriptions: LiveSubscriptions;
17
+ cancelWorker: CancelWorkerNotify | undefined;
18
+ resolveDataEntryAddress: (arg0: {
19
+ target: ParsedPath;
20
+ routedScheme: string;
21
+ handler: SchemeWithEntryAddress;
22
+ manifest: SchemeManifest;
23
+ ctx: PlurnkSchemeContext;
24
+ }) => Promise<PreparedRepresentation>;
25
+ boundEntryContext: (routedScheme: string, address: ResolvedDataEntryAddress, ctx: PlurnkSchemeContext) => SchemeCtxImpl | null;
26
+ handlerContext: (scheme: string, ctx: PlurnkSchemeContext, authority?: string) => Promise<SchemeCtxImpl | null>;
27
+ deleteEntry: (scheme: string, address: ResolvedDataEntryAddress, ctx: PlurnkSchemeContext) => Promise<DeleteEntryResult>;
28
+ failure: (code: string, status: number, detail: string, fields?: Readonly<Record<string, unknown>>, extensions?: Readonly<Record<string, unknown>>) => DispatchResult;
29
+ });
30
+ handleKill(statement: PlurnkStatement, ctx: PlurnkSchemeContext): Promise<DispatchResult>;
31
+ }
32
+ //# sourceMappingURL=KillHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KillHandler.d.ts","sourceRoot":"","sources":["../../src/core/KillHandler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,aAAa,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,KAAK,iBAAiB,IAAI,wBAAwB,EAAE,KAAK,sBAAsB,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACrJ,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAG9E,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAE5D,MAAM,CAAC,OAAO,OAAO,WAAW;;IAY5B,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;QAC5I,EAAE,EAAE,EAAE,CAAC;QACP,OAAO,EAAE,cAAc,CAAC;QACxB,iBAAiB,EAAE,iBAAiB,CAAC;QACrC,YAAY,EAAE,kBAAkB,GAAG,SAAS,CAAC;QAC7C,uBAAuB,EAAE,CAAC,IAAI,EAAE;YAAE,MAAM,EAAE,UAAU,CAAC;YAAC,YAAY,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,sBAAsB,CAAC;YAAC,QAAQ,EAAE,cAAc,CAAC;YAAC,GAAG,EAAE,mBAAmB,CAAC;SAAE,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACvM,iBAAiB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,EAAE,GAAG,EAAE,mBAAmB,KAAK,aAAa,GAAG,IAAI,CAAC;QAC/H,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;QAChH,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,EAAE,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACzH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,cAAc,CAAC;KACzK,EAUA;IAIK,UAAU,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAyJ9F;CAsBJ"}