@animalabs/agent-framework 0.31.0 → 0.33.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 (298) hide show
  1. package/README.md +204 -14
  2. package/dist/src/admission/admit.d.ts +18 -0
  3. package/dist/src/admission/admit.d.ts.map +1 -1
  4. package/dist/src/admission/admit.js +16 -3
  5. package/dist/src/admission/admit.js.map +1 -1
  6. package/dist/src/agent.d.ts +185 -78
  7. package/dist/src/agent.d.ts.map +1 -1
  8. package/dist/src/agent.js +279 -102
  9. package/dist/src/agent.js.map +1 -1
  10. package/dist/src/api/mcp-server-core.d.ts.map +1 -1
  11. package/dist/src/api/mcp-server-core.js +50 -12
  12. package/dist/src/api/mcp-server-core.js.map +1 -1
  13. package/dist/src/api/server.d.ts.map +1 -1
  14. package/dist/src/api/server.js +4 -20
  15. package/dist/src/api/server.js.map +1 -1
  16. package/dist/src/code-execution/isolate/scripts.d.ts +12 -8
  17. package/dist/src/code-execution/isolate/scripts.d.ts.map +1 -1
  18. package/dist/src/code-execution/isolate/scripts.js +24 -0
  19. package/dist/src/code-execution/isolate/scripts.js.map +1 -1
  20. package/dist/src/config-checks.d.ts +7 -0
  21. package/dist/src/config-checks.d.ts.map +1 -1
  22. package/dist/src/config-checks.js +14 -0
  23. package/dist/src/config-checks.js.map +1 -1
  24. package/dist/src/context-manager-errors.d.ts +25 -0
  25. package/dist/src/context-manager-errors.d.ts.map +1 -0
  26. package/dist/src/context-manager-errors.js +31 -0
  27. package/dist/src/context-manager-errors.js.map +1 -0
  28. package/dist/src/context-options.d.ts +67 -0
  29. package/dist/src/context-options.d.ts.map +1 -0
  30. package/dist/src/context-options.js +85 -0
  31. package/dist/src/context-options.js.map +1 -0
  32. package/dist/src/deferred-import.d.ts +93 -0
  33. package/dist/src/deferred-import.d.ts.map +1 -0
  34. package/dist/src/deferred-import.js +177 -0
  35. package/dist/src/deferred-import.js.map +1 -0
  36. package/dist/src/dendrite/audience.d.ts +223 -0
  37. package/dist/src/dendrite/audience.d.ts.map +1 -0
  38. package/dist/src/dendrite/audience.js +202 -0
  39. package/dist/src/dendrite/audience.js.map +1 -0
  40. package/dist/src/dendrite/index.d.ts +5 -3
  41. package/dist/src/dendrite/index.d.ts.map +1 -1
  42. package/dist/src/dendrite/index.js +2 -1
  43. package/dist/src/dendrite/index.js.map +1 -1
  44. package/dist/src/dendrite/presets.d.ts +10 -5
  45. package/dist/src/dendrite/presets.d.ts.map +1 -1
  46. package/dist/src/dendrite/presets.js +17 -5
  47. package/dist/src/dendrite/presets.js.map +1 -1
  48. package/dist/src/dendrite/registry.d.ts +62 -7
  49. package/dist/src/dendrite/registry.d.ts.map +1 -1
  50. package/dist/src/dendrite/registry.js +179 -10
  51. package/dist/src/dendrite/registry.js.map +1 -1
  52. package/dist/src/dendrite/types.d.ts +91 -8
  53. package/dist/src/dendrite/types.d.ts.map +1 -1
  54. package/dist/src/foreign-rounds.d.ts +69 -0
  55. package/dist/src/foreign-rounds.d.ts.map +1 -0
  56. package/dist/src/foreign-rounds.js +152 -0
  57. package/dist/src/foreign-rounds.js.map +1 -0
  58. package/dist/src/framework.d.ts +1977 -820
  59. package/dist/src/framework.d.ts.map +1 -1
  60. package/dist/src/framework.js +7571 -3457
  61. package/dist/src/framework.js.map +1 -1
  62. package/dist/src/gate/event-gate.d.ts +85 -15
  63. package/dist/src/gate/event-gate.d.ts.map +1 -1
  64. package/dist/src/gate/event-gate.js +421 -47
  65. package/dist/src/gate/event-gate.js.map +1 -1
  66. package/dist/src/gate/index.d.ts +1 -1
  67. package/dist/src/gate/index.d.ts.map +1 -1
  68. package/dist/src/gate/index.js.map +1 -1
  69. package/dist/src/gate/rule-scope.d.ts +30 -0
  70. package/dist/src/gate/rule-scope.d.ts.map +1 -0
  71. package/dist/src/gate/rule-scope.js +41 -0
  72. package/dist/src/gate/rule-scope.js.map +1 -0
  73. package/dist/src/gate/suppress-script-worker.d.ts +2 -0
  74. package/dist/src/gate/suppress-script-worker.d.ts.map +1 -0
  75. package/dist/src/gate/suppress-script-worker.js +103 -0
  76. package/dist/src/gate/suppress-script-worker.js.map +1 -0
  77. package/dist/src/gate/suppress-scripts.d.ts +105 -0
  78. package/dist/src/gate/suppress-scripts.d.ts.map +1 -0
  79. package/dist/src/gate/suppress-scripts.js +403 -0
  80. package/dist/src/gate/suppress-scripts.js.map +1 -0
  81. package/dist/src/gate/suppression-review.d.ts +143 -0
  82. package/dist/src/gate/suppression-review.d.ts.map +1 -0
  83. package/dist/src/gate/suppression-review.js +463 -0
  84. package/dist/src/gate/suppression-review.js.map +1 -0
  85. package/dist/src/gate/suppression-stats.d.ts +125 -0
  86. package/dist/src/gate/suppression-stats.d.ts.map +1 -0
  87. package/dist/src/gate/suppression-stats.js +214 -0
  88. package/dist/src/gate/suppression-stats.js.map +1 -0
  89. package/dist/src/gate/types.d.ts +135 -7
  90. package/dist/src/gate/types.d.ts.map +1 -1
  91. package/dist/src/gate/wake-onboarding.d.ts +119 -0
  92. package/dist/src/gate/wake-onboarding.d.ts.map +1 -0
  93. package/dist/src/gate/wake-onboarding.js +277 -0
  94. package/dist/src/gate/wake-onboarding.js.map +1 -0
  95. package/dist/src/held-writes.d.ts +31 -23
  96. package/dist/src/held-writes.d.ts.map +1 -1
  97. package/dist/src/held-writes.js +44 -59
  98. package/dist/src/held-writes.js.map +1 -1
  99. package/dist/src/index.d.ts +5 -2
  100. package/dist/src/index.d.ts.map +1 -1
  101. package/dist/src/index.js +3 -0
  102. package/dist/src/index.js.map +1 -1
  103. package/dist/src/jsonrpc-envelope.d.ts +69 -0
  104. package/dist/src/jsonrpc-envelope.d.ts.map +1 -0
  105. package/dist/src/jsonrpc-envelope.js +66 -0
  106. package/dist/src/jsonrpc-envelope.js.map +1 -0
  107. package/dist/src/mcpl/channel-registry.d.ts +131 -15
  108. package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
  109. package/dist/src/mcpl/channel-registry.js +290 -46
  110. package/dist/src/mcpl/channel-registry.js.map +1 -1
  111. package/dist/src/mcpl/checkpoint-manager.d.ts +2 -4
  112. package/dist/src/mcpl/checkpoint-manager.d.ts.map +1 -1
  113. package/dist/src/mcpl/checkpoint-manager.js.map +1 -1
  114. package/dist/src/mcpl/feature-set-manager.d.ts +2 -4
  115. package/dist/src/mcpl/feature-set-manager.d.ts.map +1 -1
  116. package/dist/src/mcpl/feature-set-manager.js.map +1 -1
  117. package/dist/src/mcpl/inbound-source.d.ts +2 -1
  118. package/dist/src/mcpl/inbound-source.d.ts.map +1 -1
  119. package/dist/src/mcpl/inbound-source.js +2 -1
  120. package/dist/src/mcpl/inbound-source.js.map +1 -1
  121. package/dist/src/mcpl/inference-router.d.ts +6 -6
  122. package/dist/src/mcpl/inference-router.d.ts.map +1 -1
  123. package/dist/src/mcpl/inference-router.js.map +1 -1
  124. package/dist/src/mcpl/push-coalescer.d.ts +132 -22
  125. package/dist/src/mcpl/push-coalescer.d.ts.map +1 -1
  126. package/dist/src/mcpl/push-coalescer.js +105 -15
  127. package/dist/src/mcpl/push-coalescer.js.map +1 -1
  128. package/dist/src/mcpl/push-handler.d.ts +9 -7
  129. package/dist/src/mcpl/push-handler.d.ts.map +1 -1
  130. package/dist/src/mcpl/push-handler.js.map +1 -1
  131. package/dist/src/mcpl/server-connection.d.ts +13 -10
  132. package/dist/src/mcpl/server-connection.d.ts.map +1 -1
  133. package/dist/src/mcpl/server-connection.js +134 -56
  134. package/dist/src/mcpl/server-connection.js.map +1 -1
  135. package/dist/src/mcpl/tool-classes.d.ts.map +1 -1
  136. package/dist/src/mcpl/tool-classes.js +3 -0
  137. package/dist/src/mcpl/tool-classes.js.map +1 -1
  138. package/dist/src/mcpl/types.d.ts +8 -2
  139. package/dist/src/mcpl/types.d.ts.map +1 -1
  140. package/dist/src/mcpl/types.js.map +1 -1
  141. package/dist/src/module-registry.d.ts +24 -1
  142. package/dist/src/module-registry.d.ts.map +1 -1
  143. package/dist/src/module-registry.js +68 -18
  144. package/dist/src/module-registry.js.map +1 -1
  145. package/dist/src/modules/discord/index.d.ts +45 -8
  146. package/dist/src/modules/discord/index.d.ts.map +1 -1
  147. package/dist/src/modules/discord/index.js +237 -86
  148. package/dist/src/modules/discord/index.js.map +1 -1
  149. package/dist/src/modules/history/index.d.ts +59 -0
  150. package/dist/src/modules/history/index.d.ts.map +1 -1
  151. package/dist/src/modules/history/index.js +432 -67
  152. package/dist/src/modules/history/index.js.map +1 -1
  153. package/dist/src/modules/history/semantic.d.ts +6 -5
  154. package/dist/src/modules/history/semantic.d.ts.map +1 -1
  155. package/dist/src/modules/history/semantic.js +15 -22
  156. package/dist/src/modules/history/semantic.js.map +1 -1
  157. package/dist/src/modules/workspace/disk-agreement.d.ts +1 -1
  158. package/dist/src/modules/workspace/disk-agreement.js +1 -1
  159. package/dist/src/modules/workspace/index.d.ts +28 -7
  160. package/dist/src/modules/workspace/index.d.ts.map +1 -1
  161. package/dist/src/modules/workspace/index.js +76 -22
  162. package/dist/src/modules/workspace/index.js.map +1 -1
  163. package/dist/src/notice-tags.d.ts +10 -1
  164. package/dist/src/notice-tags.d.ts.map +1 -1
  165. package/dist/src/notice-tags.js +10 -1
  166. package/dist/src/notice-tags.js.map +1 -1
  167. package/dist/src/operator-log.d.ts +36 -3
  168. package/dist/src/operator-log.d.ts.map +1 -1
  169. package/dist/src/operator-log.js +2 -2
  170. package/dist/src/operator-log.js.map +1 -1
  171. package/dist/src/presentation.d.ts +746 -0
  172. package/dist/src/presentation.d.ts.map +1 -0
  173. package/dist/src/presentation.js +1435 -0
  174. package/dist/src/presentation.js.map +1 -0
  175. package/dist/src/prose-drafts.d.ts +15 -11
  176. package/dist/src/prose-drafts.d.ts.map +1 -1
  177. package/dist/src/prose-drafts.js +16 -12
  178. package/dist/src/prose-drafts.js.map +1 -1
  179. package/dist/src/read-marks.d.ts +192 -0
  180. package/dist/src/read-marks.d.ts.map +1 -0
  181. package/dist/src/read-marks.js +242 -0
  182. package/dist/src/read-marks.js.map +1 -0
  183. package/dist/src/recovery/offline-branch.d.ts +91 -6
  184. package/dist/src/recovery/offline-branch.d.ts.map +1 -1
  185. package/dist/src/recovery/offline-branch.js +273 -29
  186. package/dist/src/recovery/offline-branch.js.map +1 -1
  187. package/dist/src/recovery/recover-cli.js +22 -3
  188. package/dist/src/recovery/recover-cli.js.map +1 -1
  189. package/dist/src/send-tools.d.ts +5 -9
  190. package/dist/src/send-tools.d.ts.map +1 -1
  191. package/dist/src/send-tools.js +40 -7
  192. package/dist/src/send-tools.js.map +1 -1
  193. package/dist/src/stored-injections.d.ts +2 -2
  194. package/dist/src/stored-injections.js +2 -2
  195. package/dist/src/stored-removal.d.ts +17 -4
  196. package/dist/src/stored-removal.d.ts.map +1 -1
  197. package/dist/src/stored-removal.js +29 -5
  198. package/dist/src/stored-removal.js.map +1 -1
  199. package/dist/src/tool-result-guard.d.ts +12 -1
  200. package/dist/src/tool-result-guard.d.ts.map +1 -1
  201. package/dist/src/tool-result-guard.js +42 -8
  202. package/dist/src/tool-result-guard.js.map +1 -1
  203. package/dist/src/tune-out/coordinator.d.ts +1159 -79
  204. package/dist/src/tune-out/coordinator.d.ts.map +1 -1
  205. package/dist/src/tune-out/coordinator.js +3709 -363
  206. package/dist/src/tune-out/coordinator.js.map +1 -1
  207. package/dist/src/tune-out/tools.d.ts +114 -17
  208. package/dist/src/tune-out/tools.d.ts.map +1 -1
  209. package/dist/src/tune-out/tools.js +87 -27
  210. package/dist/src/tune-out/tools.js.map +1 -1
  211. package/dist/src/tune-out/window-anchor.d.ts +143 -0
  212. package/dist/src/tune-out/window-anchor.d.ts.map +1 -0
  213. package/dist/src/tune-out/window-anchor.js +202 -0
  214. package/dist/src/tune-out/window-anchor.js.map +1 -0
  215. package/dist/src/types/agent.d.ts +86 -31
  216. package/dist/src/types/agent.d.ts.map +1 -1
  217. package/dist/src/types/events.d.ts +2 -0
  218. package/dist/src/types/events.d.ts.map +1 -1
  219. package/dist/src/types/framework.d.ts +43 -21
  220. package/dist/src/types/framework.d.ts.map +1 -1
  221. package/dist/src/types/module.d.ts +180 -69
  222. package/dist/src/types/module.d.ts.map +1 -1
  223. package/dist/src/types/trace.d.ts +510 -36
  224. package/dist/src/types/trace.d.ts.map +1 -1
  225. package/package.json +3 -3
  226. package/src/admission/admit.ts +32 -3
  227. package/src/agent.ts +323 -120
  228. package/src/api/mcp-server-core.ts +54 -17
  229. package/src/api/server.ts +4 -23
  230. package/src/code-execution/isolate/scripts.ts +28 -3
  231. package/src/config-checks.ts +14 -0
  232. package/src/context-manager-errors.ts +37 -0
  233. package/src/context-options.ts +96 -0
  234. package/src/deferred-import.ts +239 -0
  235. package/src/dendrite/audience.ts +315 -0
  236. package/src/dendrite/index.ts +14 -2
  237. package/src/dendrite/presets.ts +18 -6
  238. package/src/dendrite/registry.ts +209 -12
  239. package/src/dendrite/types.ts +92 -8
  240. package/src/foreign-rounds.ts +199 -0
  241. package/src/framework.ts +7814 -3585
  242. package/src/gate/event-gate.ts +428 -65
  243. package/src/gate/index.ts +3 -0
  244. package/src/gate/rule-scope.ts +45 -0
  245. package/src/gate/suppress-script-worker.ts +89 -0
  246. package/src/gate/suppress-scripts.ts +414 -0
  247. package/src/gate/suppression-review.ts +517 -0
  248. package/src/gate/suppression-stats.ts +314 -0
  249. package/src/gate/types.ts +141 -7
  250. package/src/gate/wake-onboarding.ts +309 -0
  251. package/src/held-writes.ts +49 -60
  252. package/src/index.ts +9 -2
  253. package/src/jsonrpc-envelope.ts +81 -0
  254. package/src/mcpl/channel-registry.ts +353 -85
  255. package/src/mcpl/checkpoint-manager.ts +3 -2
  256. package/src/mcpl/feature-set-manager.ts +2 -1
  257. package/src/mcpl/inbound-source.ts +2 -1
  258. package/src/mcpl/inference-router.ts +7 -4
  259. package/src/mcpl/push-coalescer.ts +193 -34
  260. package/src/mcpl/push-handler.ts +10 -5
  261. package/src/mcpl/server-connection.ts +141 -60
  262. package/src/mcpl/tool-classes.ts +3 -0
  263. package/src/mcpl/types.ts +8 -2
  264. package/src/module-registry.ts +73 -17
  265. package/src/modules/discord/index.ts +229 -81
  266. package/src/modules/history/index.ts +439 -70
  267. package/src/modules/history/semantic.ts +15 -21
  268. package/src/modules/workspace/disk-agreement.ts +1 -1
  269. package/src/modules/workspace/index.ts +85 -23
  270. package/src/notice-tags.ts +10 -1
  271. package/src/operator-log.ts +36 -3
  272. package/src/presentation.ts +1676 -0
  273. package/src/prose-drafts.ts +16 -12
  274. package/src/read-marks.ts +328 -0
  275. package/src/recovery/offline-branch.ts +346 -32
  276. package/src/recovery/recover-cli.ts +21 -3
  277. package/src/send-tools.ts +40 -7
  278. package/src/stored-injections.ts +2 -2
  279. package/src/stored-removal.ts +31 -7
  280. package/src/tool-result-guard.ts +41 -7
  281. package/src/tune-out/coordinator.ts +4089 -457
  282. package/src/tune-out/tools.ts +160 -43
  283. package/src/tune-out/window-anchor.ts +277 -0
  284. package/src/types/agent.ts +90 -31
  285. package/src/types/events.ts +2 -0
  286. package/src/types/framework.ts +43 -21
  287. package/src/types/module.ts +181 -68
  288. package/src/types/trace.ts +542 -40
  289. package/dist/src/reasoning-loss-notice.d.ts +0 -23
  290. package/dist/src/reasoning-loss-notice.d.ts.map +0 -1
  291. package/dist/src/reasoning-loss-notice.js +0 -52
  292. package/dist/src/reasoning-loss-notice.js.map +0 -1
  293. package/dist/src/reasoning-loss.d.ts +0 -24
  294. package/dist/src/reasoning-loss.d.ts.map +0 -1
  295. package/dist/src/reasoning-loss.js +0 -102
  296. package/dist/src/reasoning-loss.js.map +0 -1
  297. package/src/reasoning-loss-notice.ts +0 -64
  298. package/src/reasoning-loss.ts +0 -120
@@ -1,12 +1,8 @@
1
- /**
2
- * Tools whose call delivers the resident's message to a channel or person,
3
- * by bare name (an MCPL server's `<prefix>--` stripped). The framework reads
4
- * a call of one as an explicit send that silences the round's auto-routed
5
- * prose where it may have posted; the history module's semantic index reads
6
- * its message argument as what the resident wrote to someone, whether or not
7
- * it was delivered.
8
- */
9
- export declare const SEND_TOOLS: Set<string>;
1
+ export declare const SILENCING_SENDS: Set<string>;
10
2
  /** Strip the `server--` MCPL prefix from a tool name. */
11
3
  export declare const bareToolName: (n: string) => string;
4
+ export declare function speechOf(name: unknown, input: unknown): {
5
+ tool: string;
6
+ words: string;
7
+ } | undefined;
12
8
  //# sourceMappingURL=send-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"send-tools.d.ts","sourceRoot":"","sources":["../../src/send-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,aAA2E,CAAC;AAEnG,yDAAyD;AACzD,eAAO,MAAM,YAAY,MAAO,MAAM,KAAG,MAA8B,CAAC"}
1
+ {"version":3,"file":"send-tools.d.ts","sourceRoot":"","sources":["../../src/send-tools.ts"],"names":[],"mappings":"AA+BA,eAAO,MAAM,eAAe,aAAuF,CAAC;AAEpH,yDAAyD;AACzD,eAAO,MAAM,YAAY,MAAO,MAAM,KAAG,MAA8B,CAAC;AAExE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAQnG"}
@@ -1,12 +1,45 @@
1
1
  /**
2
- * Tools whose call delivers the resident's message to a channel or person,
3
- * by bare name (an MCPL server's `<prefix>--` stripped). The framework reads
4
- * a call of one as an explicit send that silences the round's auto-routed
5
- * prose where it may have posted; the history module's semantic index reads
6
- * its message argument as what the resident wrote to someone, whether or not
7
- * it was delivered.
2
+ * Tools whose call carries the resident's words, by bare name (an MCPL
3
+ * server's `<prefix>--` stripped); edit_message's words are the new text of a
4
+ * message it sent. The framework reads a call of a `silences` one as an
5
+ * explicit send that silences the round's auto-routed prose where it may have
6
+ * posted; the history module reads the words of any of them as what the
7
+ * resident wrote to someone, whether or not it was delivered. With prose
8
+ * routing disabled the resident speaks through these.
8
9
  */
9
- export const SEND_TOOLS = new Set(['channel_publish', 'send_message', 'reply_message', 'send_dm']);
10
+ const SPEECH_TOOLS = new Map([
11
+ // channel_publish still takes `text` from older callers.
12
+ ['channel_publish', { words: ['content', 'text'], silences: true }],
13
+ // telegram-mcpl's send_message takes `message`.
14
+ ['send_message', { words: ['content', 'message', 'text'], silences: true }],
15
+ ['reply_message', { words: ['content', 'text'], silences: true }],
16
+ ['send_dm', { words: ['content', 'text'], silences: true }],
17
+ // telegram-mcpl's reply, file send, scheduled send and poll.
18
+ ['reply_to_message', { words: ['text'], silences: true }],
19
+ ['send_file', { words: ['caption'], silences: false }],
20
+ ['send_scheduled_message', { words: ['message'], silences: false }],
21
+ ['create_poll', { words: ['question'], silences: false }],
22
+ // telegram-mcpl's edit_message takes `new_text`.
23
+ ['edit_message', { words: ['content', 'new_text', 'text'], silences: false }],
24
+ // slack-mcpl's upload_file posts `comment` with the file; its `content` is
25
+ // the file.
26
+ ['upload_file', { words: ['comment'], silences: false }],
27
+ // Eidoverse's say and whisper take `text`.
28
+ ['say', { words: ['text'], silences: true }],
29
+ ['whisper', { words: ['text'], silences: true }],
30
+ ]);
31
+ export const SILENCING_SENDS = new Set([...SPEECH_TOOLS].filter(([, tool]) => tool.silences).map(([name]) => name));
10
32
  /** Strip the `server--` MCPL prefix from a tool name. */
11
33
  export const bareToolName = (n) => n.split('--').pop();
34
+ export function speechOf(name, input) {
35
+ if (typeof name !== 'string' || typeof input !== 'object' || input === null)
36
+ return undefined;
37
+ const tool = bareToolName(name);
38
+ const row = SPEECH_TOOLS.get(tool);
39
+ if (!row)
40
+ return undefined;
41
+ const args = input;
42
+ const words = row.words.map((arg) => args[arg]).find((value) => value !== undefined && value !== null);
43
+ return typeof words === 'string' && words.trim().length > 0 ? { tool, words } : undefined;
44
+ }
12
45
  //# sourceMappingURL=send-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"send-tools.js","sourceRoot":"","sources":["../../src/send-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;AAEnG,yDAAyD;AACzD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAG,CAAC"}
1
+ {"version":3,"file":"send-tools.js","sourceRoot":"","sources":["../../src/send-tools.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,8 @@
14
14
  * a start stored whose compile then didn't record) has the same content,
15
15
  * every part of it, and the compile
16
16
  * then renders
17
- * it from the store like any message, where it stays. While the window is
18
- * held (AgentFramework's slotHeldFrom), `compile()` places it instead. Being a
17
+ * it from the store like any message, where it stays. While the host is
18
+ * quiesced, `compile()` places it instead. Being a
19
19
  * message, it's history to the strategy: capped by its per-message bound,
20
20
  * sharded, selected by the budget and folded like any other.
21
21
  *
@@ -14,8 +14,8 @@
14
14
  * a start stored whose compile then didn't record) has the same content,
15
15
  * every part of it, and the compile
16
16
  * then renders
17
- * it from the store like any message, where it stays. While the window is
18
- * held (AgentFramework's slotHeldFrom), `compile()` places it instead. Being a
17
+ * it from the store like any message, where it stays. While the host is
18
+ * quiesced, `compile()` places it instead. Being a
19
19
  * message, it's history to the strategy: capped by its per-message bound,
20
20
  * sharded, selected by the budget and folded like any other.
21
21
  *
@@ -30,8 +30,9 @@ export declare function locateMessageIndices(cm: SurgeryReadableCm, ids: Set<str
30
30
  }>;
31
31
  /**
32
32
  * Inclusive slot range of the body-group run containing `index` (the slot
33
- * itself when it is not sharded). Delegates to the store's own
34
- * `alignToBodyGroups` edge walk — one contiguity assumption, not two.
33
+ * itself when it is not sharded), and the ids of its rows in store order.
34
+ * Delegates to the store's own `alignToBodyGroups` edge walk — one
35
+ * contiguity assumption, not two.
35
36
  */
36
37
  export declare function bodyGroupRun(cm: SurgeryReadableCm, index: number): {
37
38
  from: number;
@@ -39,6 +40,7 @@ export declare function bodyGroupRun(cm: SurgeryReadableCm, index: number): {
39
40
  fromId: string;
40
41
  toId: string;
41
42
  group: boolean;
43
+ ids: MessageId[];
42
44
  };
43
45
  /**
44
46
  * Remove the stored messages `first`..`last` (inclusive, in store order).
@@ -54,9 +56,20 @@ export declare function removeStoredMessages(cm: Removals, first: StoredLike, la
54
56
  * Remove one stored message by its id, with the rest of its body when it's
55
57
  * in one: a module or a coalescer removes a message it added by the id
56
58
  * `addMessage` returned, which for a long message stored in shards is its
57
- * first shard's.
59
+ * first shard's. Returns the ids of every row it removed, in store order:
60
+ * the id given for a message outside any body, each shard's for a body, so
61
+ * a caller can take them out of the windows of the other agents that held
62
+ * them (#291).
58
63
  */
59
- export declare function removeStoredMessage(cm: ContextManager, id: MessageId): void;
64
+ export declare function removeStoredMessage(cm: ContextManager, id: MessageId): MessageId[];
65
+ /**
66
+ * The ids of the stored messages `firstId`..`lastId` (inclusive, in store
67
+ * order, every shard of a body), read before a removal of that interval so
68
+ * the caller knows what it took. Both ends are found tail-first and the
69
+ * rows between them read in one blob-free window. Empty when either end is
70
+ * not on the active branch; the ends may be given in either order.
71
+ */
72
+ export declare function storedIdsBetween(cm: SurgeryReadableCm, firstId: string, lastId: string): MessageId[];
60
73
  /** removeStoredMessages for an interval known by its ids. */
61
74
  export declare function removeStoredInterval(cm: ContextManager, fromId: MessageId, toId: MessageId): void;
62
75
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"stored-removal.d.ts","sourceRoot":"","sources":["../../src/stored-removal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE/G,KAAK,UAAU,GAAG,SAAS,GAAG;IAAE,EAAE,EAAE,SAAS,CAAA;CAAE,CAAC;AAChD,KAAK,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,gBAAgB,CAAC,CAAC;AAEzE,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAChC,eAAe,IAAI,MAAM,CAAC;IAC1B,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7D;QAAE,QAAQ,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACnF;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGnF;AAED,kFAAkF;AAClF,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,iBAAiB,EACrB,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GACf,GAAG,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBtD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,iBAAiB,EACrB,KAAK,EAAE,MAAM,GACZ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAW5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAM5F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI,CAe3E;AAED,6DAA6D;AAC7D,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAGjG;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAErG"}
1
+ {"version":3,"file":"stored-removal.d.ts","sourceRoot":"","sources":["../../src/stored-removal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE/G,KAAK,UAAU,GAAG,SAAS,GAAG;IAAE,EAAE,EAAE,SAAS,CAAA;CAAE,CAAC;AAChD,KAAK,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,gBAAgB,CAAC,CAAC;AAEzE,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAChC,eAAe,IAAI,MAAM,CAAC;IAC1B,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7D;QAAE,QAAQ,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACnF;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGnF;AAED,kFAAkF;AAClF,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,iBAAiB,EACrB,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GACf,GAAG,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBtD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,iBAAiB,EACrB,KAAK,EAAE,MAAM,GACZ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,SAAS,EAAE,CAAA;CAAE,CAY9F;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAM5F;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,GAAG,SAAS,EAAE,CAgBlF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CASpG;AAED,6DAA6D;AAC7D,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAGjG;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAErG"}
@@ -30,8 +30,9 @@ export function locateMessageIndices(cm, ids) {
30
30
  }
31
31
  /**
32
32
  * Inclusive slot range of the body-group run containing `index` (the slot
33
- * itself when it is not sharded). Delegates to the store's own
34
- * `alignToBodyGroups` edge walk — one contiguity assumption, not two.
33
+ * itself when it is not sharded), and the ids of its rows in store order.
34
+ * Delegates to the store's own `alignToBodyGroups` edge walk — one
35
+ * contiguity assumption, not two.
35
36
  */
36
37
  export function bodyGroupRun(cm, index) {
37
38
  const win = cm.getMessageWindow(index, 1, { alignToBodyGroups: true, resolveBlobs: false });
@@ -43,6 +44,7 @@ export function bodyGroupRun(cm, index) {
43
44
  fromId: String(win.messages[0].id),
44
45
  toId: String(win.messages[win.messages.length - 1].id),
45
46
  group: win.messages[0].bodyGroupId !== undefined,
47
+ ids: win.messages.map((m) => String(m.id)),
46
48
  };
47
49
  }
48
50
  /**
@@ -65,23 +67,45 @@ export function removeStoredMessages(cm, first, last) {
65
67
  * Remove one stored message by its id, with the rest of its body when it's
66
68
  * in one: a module or a coalescer removes a message it added by the id
67
69
  * `addMessage` returned, which for a long message stored in shards is its
68
- * first shard's.
70
+ * first shard's. Returns the ids of every row it removed, in store order:
71
+ * the id given for a message outside any body, each shard's for a body, so
72
+ * a caller can take them out of the windows of the other agents that held
73
+ * them (#291).
69
74
  */
70
75
  export function removeStoredMessage(cm, id) {
71
76
  const message = cm.getMessage(id);
72
77
  if (!message?.bodyGroupId) {
73
78
  cm.removeMessage(id);
74
- return;
79
+ return [id];
75
80
  }
76
81
  // Found in blob-free windows: a full read of the branch would inflate every
77
82
  // attachment on it, once for each message a sweep removes.
78
83
  const index = locateMessageIndex(cm, String(id));
79
84
  if (index < 0) {
80
85
  cm.removeMessage(id);
81
- return;
86
+ return [id];
82
87
  }
83
88
  const run = bodyGroupRun(cm, index);
84
89
  cm.removeMessages(run.fromId, run.toId);
90
+ return run.ids;
91
+ }
92
+ /**
93
+ * The ids of the stored messages `firstId`..`lastId` (inclusive, in store
94
+ * order, every shard of a body), read before a removal of that interval so
95
+ * the caller knows what it took. Both ends are found tail-first and the
96
+ * rows between them read in one blob-free window. Empty when either end is
97
+ * not on the active branch; the ends may be given in either order.
98
+ */
99
+ export function storedIdsBetween(cm, firstId, lastId) {
100
+ const found = locateMessageIndices(cm, new Set([firstId, lastId]));
101
+ const first = found.get(firstId);
102
+ const last = found.get(lastId);
103
+ if (!first || !last)
104
+ return [];
105
+ const from = Math.min(first.index, last.index);
106
+ const to = Math.max(first.index, last.index);
107
+ const { messages } = cm.getMessageWindow(from, to - from + 1, { resolveBlobs: false });
108
+ return messages.map((m) => String(m.id));
85
109
  }
86
110
  /** removeStoredMessages for an interval known by its ids. */
87
111
  export function removeStoredInterval(cm, fromId, toId) {
@@ -1 +1 @@
1
- {"version":3,"file":"stored-removal.js","sourceRoot":"","sources":["../../src/stored-removal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stored-removal.js","sourceRoot":"","sources":["../../src/stored-removal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuD,MAAM,4BAA4B,CAAC;AAe/G,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAqB,EAAE,SAAiB;IACzE,MAAM,GAAG,GAAG,oBAAoB,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1E,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,oBAAoB,CAClC,EAAqB,EACrB,GAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmD,CAAC;IACzE,MAAM,KAAK,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC;IACnC,KAAK,IAAI,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,mBAAmB,CAAC,CAAC;QACrD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QAClG,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE;oBACZ,KAAK,EAAE,UAAU,GAAG,CAAC;oBACrB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,EAAqB,EACrB,KAAa;IAEb,MAAM,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5F,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC;IAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpD,OAAO;QACL,IAAI;QACJ,EAAE;QACF,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS;QAChD,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAc,CAAC;KACxD,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAY,EAAE,KAAiB,EAAE,IAAgB;IACpF,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/C,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IACD,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAkB,EAAE,EAAa;IACnE,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAsB,CAAC;IACvD,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;QAC1B,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACrB,OAAO,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IACD,4EAA4E;IAC5E,2DAA2D;IAC3D,MAAM,KAAK,GAAG,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACrB,OAAO,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACpC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,MAAmB,EAAE,GAAG,CAAC,IAAiB,CAAC,CAAC;IAClE,OAAO,GAAG,CAAC,GAAG,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAqB,EAAE,OAAe,EAAE,MAAc;IACrF,MAAM,KAAK,GAAG,oBAAoB,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IACvF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAc,CAAC,CAAC;AACxD,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,oBAAoB,CAAC,EAAkB,EAAE,MAAiB,EAAE,IAAe;IACzF,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAsB,CAAC;IACzD,oBAAoB,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAClE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,QAA4B,EAAE,KAAa;IACrE,OAAO,YAAY,CAAC,QAAqD,EAAE,KAAK,CAAC,CAAC;AACpF,CAAC"}
@@ -106,6 +106,15 @@ export declare class ToolResultGuard {
106
106
  constructor(agentName: string, cm: ContextManager, configured?: boolean);
107
107
  get enabled(): boolean;
108
108
  setHost(host: WithheldHost | undefined): void;
109
+ /** Where the results message is told of once stored (the agent's own-row sink, Agent.setOwnRowSink). */
110
+ private ownRowSink?;
111
+ /**
112
+ * Install where storeResults tells of the results message it stores, once
113
+ * the add has returned (the presentation index presents it in the agent's
114
+ * window then, #291), or take it off with undefined. An idempotent retry
115
+ * of a batch already staged stores nothing and tells nothing.
116
+ */
117
+ setOwnRowSink(sink: ((ids: readonly MessageId[]) => void) | undefined): void;
109
118
  /** Settles once every annotation started so far has finished: each of
110
119
  * those stubs has been edited to say where its original is, or its edit
111
120
  * failed and waits in the storage queue, retried in order until it lands
@@ -164,7 +173,9 @@ export declare class ToolResultGuard {
164
173
  private archive;
165
174
  /** `keptCap` is where what a stub keeps of a withheld result is cut: the
166
175
  * cap the caller stored `content` under, less the stub's notice room where
167
- * its message's bound sets it (toolResultShare, tool-image-ledger.ts). */
176
+ * its message's bound sets it (toolResultShare, tool-image-ledger.ts).
177
+ * The results are the agent's own row, stamped so (asOwnRow) on top of
178
+ * the caller's `metadata`, guarded or not. */
168
179
  storeResults(content: ContentBlock[], wireResults: ToolResult[], originals: CompletedToolCall[], metadata: MessageMetadata | undefined,
169
180
  /** Where what a stub keeps is cut. */
170
181
  keptCap: number | undefined): MessageId;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-result-guard.d.ts","sourceRoot":"","sources":["../../src/tool-result-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-result-guard.d.ts","sourceRoot":"","sources":["../../src/tool-result-guard.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { ensureStateRegistered } from './module-registry.js';
4
4
  import { classifyBlock } from './mcpl/references.js';
5
5
  import { resultClaimsOf, rfc005TextOf, toolResultDataToHistoryString } from './tool-result-history.js';
6
6
  import { safeSlice } from './safe-slice.js';
7
+ import { asOwnRow, presentLandedThenRethrow } from './dendrite/audience.js';
7
8
  export const TOOL_RESULT_GUARD_NOTICE = 'Tool result withheld by the guard. The tool has already executed.';
8
9
  const GUARD_NOTICES = {
9
10
  ran: TOOL_RESULT_GUARD_NOTICE,
@@ -125,6 +126,15 @@ export class ToolResultGuard {
125
126
  }
126
127
  get enabled() { return this.override ?? this.configured; }
127
128
  setHost(host) { this.host = host; }
129
+ /** Where the results message is told of once stored (the agent's own-row sink, Agent.setOwnRowSink). */
130
+ ownRowSink;
131
+ /**
132
+ * Install where storeResults tells of the results message it stores, once
133
+ * the add has returned (the presentation index presents it in the agent's
134
+ * window then, #291), or take it off with undefined. An idempotent retry
135
+ * of a batch already staged stores nothing and tells nothing.
136
+ */
137
+ setOwnRowSink(sink) { this.ownRowSink = sink; }
128
138
  /** Settles once every annotation started so far has finished: each of
129
139
  * those stubs has been edited to say where its original is, or its edit
130
140
  * failed and waits in the storage queue, retried in order until it lands
@@ -276,12 +286,24 @@ export class ToolResultGuard {
276
286
  }
277
287
  /** `keptCap` is where what a stub keeps of a withheld result is cut: the
278
288
  * cap the caller stored `content` under, less the stub's notice room where
279
- * its message's bound sets it (toolResultShare, tool-image-ledger.ts). */
289
+ * its message's bound sets it (toolResultShare, tool-image-ledger.ts).
290
+ * The results are the agent's own row, stamped so (asOwnRow) on top of
291
+ * the caller's `metadata`, guarded or not. */
280
292
  storeResults(content, wireResults, originals, metadata,
281
293
  /** Where what a stub keeps is cut. */
282
294
  keptCap) {
283
- if (!this.enabled)
284
- return this.cm.addMessage('user', content, metadata);
295
+ metadata = asOwnRow(metadata, this.agentName);
296
+ if (!this.enabled) {
297
+ let id;
298
+ try {
299
+ id = this.cm.addMessage('user', content, metadata);
300
+ }
301
+ catch (error) {
302
+ presentLandedThenRethrow(error, this.agentName, this.ownRowSink, (row) => this.cm.getMessage(row) !== null);
303
+ }
304
+ this.ownRowSink?.([id]);
305
+ return id;
306
+ }
285
307
  if (this.pending) {
286
308
  // Idempotent for the same not-yet-submitted batch: a caller that
287
309
  // retries after a failure between staging and submission (e.g. a
@@ -324,9 +346,20 @@ export class ToolResultGuard {
324
346
  // chunk is ever summarized from the placeholder; released after the
325
347
  // settlement edit. Holds are in-memory only — a reopened manager has none,
326
348
  // which is correct since a reopened guard has no pending batch.
327
- const messageId = this.cm.addMessage('user', withheld, metadata, undefined, { holdCompression: true });
349
+ // A write that throws with rows of it stored presents them, as one that
350
+ // returned would be, and throws on with no batch pending, as before.
351
+ let messageId;
352
+ try {
353
+ messageId = this.cm.addMessage('user', withheld, metadata, undefined, { holdCompression: true });
354
+ }
355
+ catch (error) {
356
+ presentLandedThenRethrow(error, this.agentName, this.ownRowSink, (row) => this.cm.getMessage(row) !== null);
357
+ }
328
358
  this.pending = { id, messageId, content, withheld, wireResults,
329
359
  branch: this.cm.currentBranch().name, submitted: false, durable: false, kept, notices };
360
+ // Told before the durability barrier below, so the sync that makes the
361
+ // audit durable carries the row's presentation too.
362
+ this.ownRowSink?.([messageId]);
330
363
  // Durability barrier: the audit must reach Chronicle's chain heads before
331
364
  // the originals can go to a provider. On a failed sync the batch fails
332
365
  // CLOSED: the placeholders go on the wire instead (the turn continues,
@@ -518,8 +551,9 @@ export class ToolResultGuard {
518
551
  for (const [index, block] of pending.content.entries()) {
519
552
  if (block.type !== 'tool_result')
520
553
  continue;
521
- // Once the store has left the batch's branch (a rollback, an undo, a
522
- // host's switch), write no more. This result and every later one is
554
+ // Once the store has left the batch's branch (a rollback, a
555
+ // suppression, a host's switch; an undo moves no branch), write no
556
+ // more. This result and every later one is
523
557
  // skipped, and its original stays in the audit record. Nothing
524
558
  // yields from here to the edit's own branch check, so while the
525
559
  // store is away the stub stays as it is. A write already under way
@@ -550,8 +584,8 @@ export class ToolResultGuard {
550
584
  // Declined where it would have committed, since the workspace had
551
585
  // left the batch's branch. Nothing was written, and no more are, as
552
586
  // for the results the branch check above stops. If the branch is
553
- // back by the edit, as after an undo and a redo, the stubs of this
554
- // result and the later ones name the audit record.
587
+ // back by the edit, as after a host's switch away and back, the stubs
588
+ // of this result and the later ones name the audit record.
555
589
  if (spill && 'skipped' in spill && spill.skipped === 'branch_changed')
556
590
  branchLeft = true;
557
591
  // A batch that used its deadline is said once, here, where the
@@ -1 +1 @@
1
- {"version":3,"file":"tool-result-guard.js","sourceRoot":"","sources":["../../src/tool-result-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-result-guard.js","sourceRoot":"","sources":["../../src/tool-result-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAI9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,MAAM,CAAC,MAAM,wBAAwB,GAAG,mEAAmE,CAAC;AAE5G,MAAM,aAAa,GAAuC;IACxD,GAAG,EAAE,wBAAwB;IAC7B,OAAO,EAAE,yDAAyD;IAClE,KAAK,EAAE,gHAAgH;CACxH,CAAC;AACF,MAAM,UAAU,GAAG,CAAC,MAA+C,EAAsB,EAAE,CACzF,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACpF,MAAM,CAAC,MAAM,6BAA6B,GAAG,6BAA6B,CAAC;AA4C3E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAoB,EAAE,YAAqB,EAAE,IAAa,EAAE,IAAI,GAAuB,KAAK;IAC/H,MAAM,KAAK,GAAG,6BAA6B,6BAA6B,oBAAoB,CAAC;IAC7F,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,YAAY;QAC3C,CAAC,CAAC,WAAW,IAAI,MAAM,KAAK,EAAE;QAC9B,CAAC,CAAC,QAAQ,IAAI,MAAM,KAAK,gEAAgE,CAAC;IAC5F,MAAM,KAAK,GAAG,CAAC,KAAK,IAAI,SAAS,IAAI,KAAK;QACxC,CAAC,CAAC,cAAc,MAAM,CAAC,EAAE,CAAC,GAAG;QAC7B,CAAC,CAAC,KAAK,CAAC,UAAU;YAChB,CAAC,CAAC,wDAAwD,KAAK,CAAC,IAAI,4BAA4B;gBAC9F,+BAA+B,MAAM,CAAC,EAAE,CAAC,GAAG;YAC9C,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;gBACzB,CAAC,CAAC,mCAAmC,KAAK,CAAC,IAAI,GAAG;gBAClD,CAAC,CAAC,wCAAwC,KAAK,CAAC,IAAI,kBAAkB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;IAC/F,MAAM,QAAQ,GAAG,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IAClH,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,IAAI,EAAE,CAAC;IAC1E,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAmC,EAAE,QAA4B;IAChG,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACnH,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,wEAAwE;IACxE,iEAAiE;IACjE,+DAA+D;IAC/D,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAC9D,MAAM,MAAM,GAAG,IAA+B,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACrD,0EAA0E;IAC1E,yEAAyE;IACzE,2DAA2D;IAC3D,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,sEAAsE;IACtE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,6BAA6B,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACjG,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxD,yEAAyE;IACzE,iDAAiD;IACjD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3C,OAAO,GAAG,IAAI,UAAU,IAAI,CAAC,MAAM,qBAAqB,KAAK,CAAC,MAAM,GAAG;QACrE,uDAAuD,CAAC;AAC5D,CAAC;AA0BD;;;;;;;;GAQG;AACH,MAAM,OAAO,eAAe;IAeP,SAAS;IACT,EAAE;IACF,UAAU;IAhBrB,OAAO,CAA2B;IAClC,UAAU,GAAG,KAAK,CAAC;IACnB,QAAQ,CAAsB;IACtC,sEAAsE;IACtE,UAAU,GAAG,KAAK,CAAC;IACnB;8CAC0C;IAClC,IAAI,CAA2B;IACvC,kEAAkE;IAC1D,UAAU,CAA4B;IAC9C,0EAA0E;IAClE,kBAAkB,GAAG,CAAC,CAAC;IAE/B,YACmB,SAAiB,EACjB,EAAkB,EAClB,UAAU,GAAG,KAAK;yBAFlB,SAAS;kBACT,EAAE;0BACF,UAAU;IAC1B,CAAC;IAEJ,IAAI,OAAO,KAAc,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,IAA8B,IAAU,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;IAEnE,wGAAwG;IAChG,UAAU,CAAuC;IACzD;;;;;OAKG;IACH,aAAa,CAAC,IAAuD,IAAU,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;IACxG;;;;;;;oFAOgF;IAChF,aAAa,KAAoB,OAAO,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAE/E;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,gBAAgB,CAAI,IAAsB;QAC9C,SAAS,CAAC;YACR,uEAAuE;YACvE,gCAAgC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACxC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,kBAAkB,KAAK,OAAO;gBAAE,SAAS;YAClD,IAAI,CAAC;gBACH,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,yCAAyC,EAAE,KAAK,CAAC,CAAC;YAC7G,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,kBAAkB,KAAK,OAAO;gBAAE,OAAO,MAAM,CAAC;QACzD,CAAC;IACH,CAAC;IAED;wDACoD;IACpD,IAAI,IAAI,KAAc,OAAO,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7F,WAAW,CAAC,KAA0B,IAAU,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;IACxE,IAAI,eAAe,KAA0B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpE,IAAI,UAAU,KAAc,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC;IAChE;;iFAE6E;IAC7E,IAAI,mBAAmB,KAAc,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC;IAE/E;;;2EAGuE;IACvE,IAAI,wBAAwB;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC;QACvB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;gBAAE,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;;gBAClE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAyB,EAAE,CAAC;oBAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;wBAAE,MAAM,IAAI,CAAC,CAAC;;wBACnC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;gBAC7C,CAAC;YACD,KAAK,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC;QAChF,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;;;8DAI0D;IAClD,UAAU,GAAqB,EAAE,CAAC;IAE1C;;kEAE8D;IAC9D,eAAe;QACb,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC;oBACH,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC1B,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,SAAS,CAAC,SAAS;wBAAE,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;sCAEkC;IAC1B,SAAS,CAAC,SAAyB;QACzC,IAAI,CAAC,SAAS,CAAC,SAAS;YAAE,OAAO;QACjC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;QACrE,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC;QAC3D,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,mEAAmE;QACnE,kEAAkE;QAClE,gEAAgE;QAChE,oCAAoC;QACpC,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO;YACzB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;mBACrE,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,SAAS,CAAC,MAAM,CAAC,aAAa,GAAG,YAAY,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;QACD,sEAAsE;QACtE,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;IAClC,CAAC;IAEO,MAAM,CAAC,MAA+B;QAC5C,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC;QAChF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,MAA+B;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,qBAAqB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,6BAA6B,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;YAC5F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,iBAAiB,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAEO,OAAO,CAAC,KAAc;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,qEAAqE;QACrE,uEAAuE;QACvE,OAAO,IAAI,CAAC,MAAM,GAAG,MAAM;YACzB,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,EAAE;YACjF,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED;;;;mDAI+C;IAC/C,YAAY,CACV,OAAuB,EACvB,WAAyB,EACzB,SAA8B,EAC9B,QAAqC;IACrC,sCAAsC;IACtC,OAA2B;QAE3B,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,EAAa,CAAC;YAClB,IAAI,CAAC;gBACH,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;YAC9G,CAAC;YACD,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,iEAAiE;YACjE,iEAAiE;YACjE,mEAAmE;YACnE,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS;mBAC/B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;wBACxD,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,uEAAuE;QACvE,wEAAwE;QACxE,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;YAC1C,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/G,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uEAAuE;YACvE,+DAA+D;YAC/D,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACjG,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAmB,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa;YAClF,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;YAC5I,CAAC,CAAC,KAAK,CAAC,CAAC;QACX,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACvF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,IAAI,IAAI,KAAK,SAAS;gBAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;QACD,yEAAyE;QACzE,oEAAoE;QACpE,2EAA2E;QAC3E,gEAAgE;QAChE,wEAAwE;QACxE,qEAAqE;QACrE,IAAI,SAAoB,CAAC;QACzB,IAAI,CAAC;YACH,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QACnG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;QAC9G,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW;YAC5D,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC1F,uEAAuE;QACvE,oDAAoD;QACpD,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/B,0EAA0E;QAC1E,uEAAuE;QACvE,uEAAuE;QACvE,oEAAoE;QACpE,IAAI,CAAC;YACH,sEAAsE;YACtE,uEAAuE;YACvE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,6BAA6B;gBACpF,+CAA+C,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;0EAEsE;IACtE,iBAAiB,CAAC,OAAqB;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC;QAC7B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;YAAC,OAAO,OAAO,CAAC;QAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3E,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;YACtD,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACtG,CAAC;IAED;;;iEAG6D;IAC7D,OAAO,CAAC,MAAc;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1F,CAAC;IAGD;sEACkE;IAClE,cAAc,CAAC,QAA6B,EAAE,gBAAgB,GAAG,KAAK;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO;aAClE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;aAC5E,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAE,KAA8C,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/E,sEAAsE;QACtE,uEAAuE;QACvE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;QAC7C,IAAI,gBAAgB;YAAE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QACpD,IAAI,CAAC,SAAS;YAAE,OAAO,QAAQ,CAAC;QAChC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACpF,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACjI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACT,CAAC;IAED;;;yEAGqE;IACrE,eAAe;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO;YAClC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE;YAC5C,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED;;;oDAGgD;IAChD,iBAAiB,CAAC,QAAgB;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAC5E,MAAM;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS;YACpC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7F,CAAC;IAED,0EAA0E;IAC1E,QAAQ,CAAC,QAAgB;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,SAAS;YAAE,OAAO,IAAI,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClE,wEAAwE;QACxE,oEAAoE;QACpE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7E,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;kCAI8B;IACtB,MAAM,CAAC,OAAqB,EAAE,MAA+B,EAAE,KAAc;QACnF,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,MAAM,SAAS,GAAmB;YAChC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM;gBACnE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE;YACnF,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO;oBAC/E,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;SACrD,CAAC;QACF,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC;YACH,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACnG,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,CAAC,SAAS;gBAAE,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACK,QAAQ,CAAC,OAAqB;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtD,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC;QAC7B,qEAAqE;QACrE,yEAAyE;QACzE,4DAA4D;QAC5D,IAAI,QAAQ,GAAG,QAAQ,CAAC;QACxB,IAAI,CAAC;YAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,QAAQ,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,0EAA0E,CAAC,CAAC;QAC1I,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACnC,uEAAuE;YACvE,2CAA2C;YAC3C,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnD,oEAAoE;gBACpE,kEAAkE;gBAClE,sEAAsE;gBACtE,sEAAsE;gBACtE,mCAAmC;gBACnC,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxD,mEAAmE;gBACnE,kBAAkB;gBAClB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;gBAChD,2DAA2D;gBAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;gBACzC,uDAAuD;gBACvD,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,aAAa,GAAG,KAAK,CAAC;gBAC1B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;oBACvD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;wBAAE,SAAS;oBAC3C,4DAA4D;oBAC5D,mEAAmE;oBACnE,2CAA2C;oBAC3C,+DAA+D;oBAC/D,gEAAgE;oBAChE,mEAAmE;oBACnE,mEAAmE;oBACnE,mEAAmE;oBACnE,+DAA+D;oBAC/D,IAAI,UAAU,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;wBAClE,UAAU,GAAG,IAAI,CAAC;wBAClB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;wBACjD,SAAS;oBACX,CAAC;oBACD,kEAAkE;oBAClE,qEAAqE;oBACrE,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACnG,IAAI,KAAK,GAAkB,IAAI,CAAC;oBAChC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACd,IAAI,CAAC;4BACH,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,aAAa,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;wBAC7H,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,gEAAgE;4BAChE,4CAA4C;4BAC5C,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;4BAC1F,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,mCAAmC;gCAC1F,GAAG,KAAK,CAAC,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;wBAClC,CAAC;oBACH,CAAC;oBACD,kEAAkE;oBAClE,oEAAoE;oBACpE,iEAAiE;oBACjE,sEAAsE;oBACtE,2DAA2D;oBAC3D,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,gBAAgB;wBAAE,UAAU,GAAG,IAAI,CAAC;oBACzF,+DAA+D;oBAC/D,4DAA4D;oBAC5D,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,gBAAgB,IAAI,CAAC,aAAa,EAAE,CAAC;wBACxF,aAAa,GAAG,IAAI,CAAC;wBACrB,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,UAAU,OAAO,CAAC,EAAE,2GAA2G,CAAC,CAAC;oBAC5L,CAAC;oBACD,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC3B,CAAC;gBACD,MAAM,SAAS,GAAmB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa;oBACnG,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE;oBACxJ,CAAC,CAAC,KAAK,CAAC,CAAC;gBACX,IAAI,CAAC;oBACH,IAAI,CAAC,MAAM,CAAC;wBACV,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM;wBAClG,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAwC,EAAE;4BACtF,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;gCAAE,OAAO,EAAE,CAAC;4BAC5C,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;gCAAE,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,EAAE,CAAC,CAAC;4BAC1F,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;4BACxC,4DAA4D;4BAC5D,+DAA+D;4BAC/D,IAAI,KAAK,KAAK,IAAI;gCAAE,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;4BAC1F,IAAI,SAAS,IAAI,KAAK;gCAAE,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;4BACxF,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI;oCACpD,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oCAC5D,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBAClE,CAAC,CAAC;qBACH,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,gEAAgE;oBAChE,sDAAsD;oBACtD,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,UAAU,OAAO,CAAC,EAAE,sCAAsC,EAAE,KAAK,CAAC,CAAC;gBAC9H,CAAC;gBACD,MAAM,IAAI,GAAmB;oBAC3B,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,cAAc;wBAC9E,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE;oBACnF,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;oBACnH,aAAa,EAAE,OAAO,CAAC,SAAS;iBACjC,CAAC;gBACF,IAAI,CAAC;oBACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,UAAU,OAAO,CAAC,EAAE,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACtH,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3B,UAAU,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC;oBACH,8DAA8D;oBAC9D,8BAA8B;oBAC9B,IAAI,CAAC,IAAI,CAAC,SAAS;wBAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;oBACrD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,UAAU,OAAO,CAAC,EAAE,wCAAwC,EAAE,KAAK,CAAC,CAAC;gBAChI,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,UAAU,OAAO,CAAC,EAAE,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAC/H,CAAC;oBAAS,CAAC;gBACT,kEAAkE;gBAClE,kDAAkD;gBAClD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,IAAI,CAAC;wBACH,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACtC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,6CAA6C,EAAE,KAAK,CAAC,CAAC;oBACjH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE;YACpB,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG;gBAAE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YACzD,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAEO,oBAAoB,CAAC,SAAyB;QACpD,IAAI,SAAS,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAC1C,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,SAAoB;QACtC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF"}