@animalabs/agent-framework 0.32.0 → 0.34.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.
- package/README.md +340 -22
- package/dist/src/admission/admit.d.ts +18 -0
- package/dist/src/admission/admit.d.ts.map +1 -1
- package/dist/src/admission/admit.js +16 -3
- package/dist/src/admission/admit.js.map +1 -1
- package/dist/src/agent.d.ts +208 -80
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +345 -113
- package/dist/src/agent.js.map +1 -1
- package/dist/src/api/mcp-server-core.d.ts.map +1 -1
- package/dist/src/api/mcp-server-core.js +50 -12
- package/dist/src/api/mcp-server-core.js.map +1 -1
- package/dist/src/api/server.d.ts.map +1 -1
- package/dist/src/api/server.js +4 -20
- package/dist/src/api/server.js.map +1 -1
- package/dist/src/append-all.d.ts +5 -0
- package/dist/src/append-all.d.ts.map +1 -0
- package/dist/src/append-all.js +8 -0
- package/dist/src/append-all.js.map +1 -0
- package/dist/src/code-execution/isolate/scripts.d.ts +12 -8
- package/dist/src/code-execution/isolate/scripts.d.ts.map +1 -1
- package/dist/src/code-execution/isolate/scripts.js +24 -0
- package/dist/src/code-execution/isolate/scripts.js.map +1 -1
- package/dist/src/config-checks.d.ts +7 -0
- package/dist/src/config-checks.d.ts.map +1 -1
- package/dist/src/config-checks.js +14 -0
- package/dist/src/config-checks.js.map +1 -1
- package/dist/src/context-manager-errors.d.ts +25 -0
- package/dist/src/context-manager-errors.d.ts.map +1 -0
- package/dist/src/context-manager-errors.js +31 -0
- package/dist/src/context-manager-errors.js.map +1 -0
- package/dist/src/context-options.d.ts +70 -0
- package/dist/src/context-options.d.ts.map +1 -0
- package/dist/src/context-options.js +90 -0
- package/dist/src/context-options.js.map +1 -0
- package/dist/src/cut-off-round.js +4 -4
- package/dist/src/deferred-import.d.ts +93 -0
- package/dist/src/deferred-import.d.ts.map +1 -0
- package/dist/src/deferred-import.js +177 -0
- package/dist/src/deferred-import.js.map +1 -0
- package/dist/src/dendrite/audience.d.ts +223 -0
- package/dist/src/dendrite/audience.d.ts.map +1 -0
- package/dist/src/dendrite/audience.js +202 -0
- package/dist/src/dendrite/audience.js.map +1 -0
- package/dist/src/dendrite/index.d.ts +5 -3
- package/dist/src/dendrite/index.d.ts.map +1 -1
- package/dist/src/dendrite/index.js +2 -1
- package/dist/src/dendrite/index.js.map +1 -1
- package/dist/src/dendrite/presets.d.ts +10 -5
- package/dist/src/dendrite/presets.d.ts.map +1 -1
- package/dist/src/dendrite/presets.js +17 -5
- package/dist/src/dendrite/presets.js.map +1 -1
- package/dist/src/dendrite/registry.d.ts +62 -7
- package/dist/src/dendrite/registry.d.ts.map +1 -1
- package/dist/src/dendrite/registry.js +183 -12
- package/dist/src/dendrite/registry.js.map +1 -1
- package/dist/src/dendrite/types.d.ts +91 -8
- package/dist/src/dendrite/types.d.ts.map +1 -1
- package/dist/src/failure-text.d.ts +36 -0
- package/dist/src/failure-text.d.ts.map +1 -0
- package/dist/src/failure-text.js +89 -0
- package/dist/src/failure-text.js.map +1 -0
- package/dist/src/foreign-rounds.d.ts +69 -0
- package/dist/src/foreign-rounds.d.ts.map +1 -0
- package/dist/src/foreign-rounds.js +152 -0
- package/dist/src/foreign-rounds.js.map +1 -0
- package/dist/src/framework.d.ts +2064 -842
- package/dist/src/framework.d.ts.map +1 -1
- package/dist/src/framework.js +8586 -3739
- package/dist/src/framework.js.map +1 -1
- package/dist/src/gate/event-gate.d.ts +125 -21
- package/dist/src/gate/event-gate.d.ts.map +1 -1
- package/dist/src/gate/event-gate.js +487 -72
- package/dist/src/gate/event-gate.js.map +1 -1
- package/dist/src/gate/index.d.ts +1 -1
- package/dist/src/gate/index.d.ts.map +1 -1
- package/dist/src/gate/index.js.map +1 -1
- package/dist/src/gate/reply-judge.d.ts +4 -0
- package/dist/src/gate/reply-judge.d.ts.map +1 -1
- package/dist/src/gate/reply-judge.js +12 -3
- package/dist/src/gate/reply-judge.js.map +1 -1
- package/dist/src/gate/rule-scope.d.ts +30 -0
- package/dist/src/gate/rule-scope.d.ts.map +1 -0
- package/dist/src/gate/rule-scope.js +41 -0
- package/dist/src/gate/rule-scope.js.map +1 -0
- package/dist/src/gate/suppress-script-worker.d.ts +2 -0
- package/dist/src/gate/suppress-script-worker.d.ts.map +1 -0
- package/dist/src/gate/suppress-script-worker.js +103 -0
- package/dist/src/gate/suppress-script-worker.js.map +1 -0
- package/dist/src/gate/suppress-scripts.d.ts +105 -0
- package/dist/src/gate/suppress-scripts.d.ts.map +1 -0
- package/dist/src/gate/suppress-scripts.js +403 -0
- package/dist/src/gate/suppress-scripts.js.map +1 -0
- package/dist/src/gate/suppression-review.d.ts +143 -0
- package/dist/src/gate/suppression-review.d.ts.map +1 -0
- package/dist/src/gate/suppression-review.js +463 -0
- package/dist/src/gate/suppression-review.js.map +1 -0
- package/dist/src/gate/suppression-stats.d.ts +125 -0
- package/dist/src/gate/suppression-stats.d.ts.map +1 -0
- package/dist/src/gate/suppression-stats.js +214 -0
- package/dist/src/gate/suppression-stats.js.map +1 -0
- package/dist/src/gate/types.d.ts +142 -7
- package/dist/src/gate/types.d.ts.map +1 -1
- package/dist/src/gate/wake-onboarding.d.ts +119 -0
- package/dist/src/gate/wake-onboarding.d.ts.map +1 -0
- package/dist/src/gate/wake-onboarding.js +277 -0
- package/dist/src/gate/wake-onboarding.js.map +1 -0
- package/dist/src/heartbeat/heartbeat.js +1 -1
- package/dist/src/heartbeat/heartbeat.js.map +1 -1
- package/dist/src/held-writes.d.ts +31 -23
- package/dist/src/held-writes.d.ts.map +1 -1
- package/dist/src/held-writes.js +44 -59
- package/dist/src/held-writes.js.map +1 -1
- package/dist/src/index.d.ts +6 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/inference-bounds.d.ts +2 -1
- package/dist/src/inference-bounds.d.ts.map +1 -1
- package/dist/src/inference-bounds.js +9 -6
- package/dist/src/inference-bounds.js.map +1 -1
- package/dist/src/jsonrpc-envelope.d.ts +69 -0
- package/dist/src/jsonrpc-envelope.d.ts.map +1 -0
- package/dist/src/jsonrpc-envelope.js +66 -0
- package/dist/src/jsonrpc-envelope.js.map +1 -0
- package/dist/src/mcpl/channel-registry.d.ts +188 -28
- package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
- package/dist/src/mcpl/channel-registry.js +426 -70
- package/dist/src/mcpl/channel-registry.js.map +1 -1
- package/dist/src/mcpl/checkpoint-manager.d.ts +2 -4
- package/dist/src/mcpl/checkpoint-manager.d.ts.map +1 -1
- package/dist/src/mcpl/checkpoint-manager.js.map +1 -1
- package/dist/src/mcpl/feature-set-manager.d.ts +2 -4
- package/dist/src/mcpl/feature-set-manager.d.ts.map +1 -1
- package/dist/src/mcpl/feature-set-manager.js.map +1 -1
- package/dist/src/mcpl/inbound-source.d.ts +2 -1
- package/dist/src/mcpl/inbound-source.d.ts.map +1 -1
- package/dist/src/mcpl/inbound-source.js +2 -1
- package/dist/src/mcpl/inbound-source.js.map +1 -1
- package/dist/src/mcpl/inference-router.d.ts +6 -6
- package/dist/src/mcpl/inference-router.d.ts.map +1 -1
- package/dist/src/mcpl/inference-router.js.map +1 -1
- package/dist/src/mcpl/modern-connection.d.ts +109 -15
- package/dist/src/mcpl/modern-connection.d.ts.map +1 -1
- package/dist/src/mcpl/modern-connection.js +593 -86
- package/dist/src/mcpl/modern-connection.js.map +1 -1
- package/dist/src/mcpl/protocol-family.d.ts +3 -1
- package/dist/src/mcpl/protocol-family.d.ts.map +1 -1
- package/dist/src/mcpl/protocol-family.js +15 -9
- package/dist/src/mcpl/protocol-family.js.map +1 -1
- package/dist/src/mcpl/push-coalescer.d.ts +132 -22
- package/dist/src/mcpl/push-coalescer.d.ts.map +1 -1
- package/dist/src/mcpl/push-coalescer.js +105 -15
- package/dist/src/mcpl/push-coalescer.js.map +1 -1
- package/dist/src/mcpl/push-handler.d.ts +9 -7
- package/dist/src/mcpl/push-handler.d.ts.map +1 -1
- package/dist/src/mcpl/push-handler.js.map +1 -1
- package/dist/src/mcpl/server-connection.d.ts +50 -28
- package/dist/src/mcpl/server-connection.d.ts.map +1 -1
- package/dist/src/mcpl/server-connection.js +165 -72
- package/dist/src/mcpl/server-connection.js.map +1 -1
- package/dist/src/mcpl/tool-classes.d.ts.map +1 -1
- package/dist/src/mcpl/tool-classes.js +3 -0
- package/dist/src/mcpl/tool-classes.js.map +1 -1
- package/dist/src/mcpl/tool-presence.d.ts.map +1 -1
- package/dist/src/mcpl/tool-presence.js +10 -6
- package/dist/src/mcpl/tool-presence.js.map +1 -1
- package/dist/src/mcpl/toolset-host.d.ts.map +1 -1
- package/dist/src/mcpl/toolset-host.js +7 -6
- package/dist/src/mcpl/toolset-host.js.map +1 -1
- package/dist/src/mcpl/toolsets-module.d.ts.map +1 -1
- package/dist/src/mcpl/toolsets-module.js +2 -1
- package/dist/src/mcpl/toolsets-module.js.map +1 -1
- package/dist/src/mcpl/types.d.ts +33 -6
- package/dist/src/mcpl/types.d.ts.map +1 -1
- package/dist/src/mcpl/types.js.map +1 -1
- package/dist/src/module-registry.d.ts +24 -1
- package/dist/src/module-registry.d.ts.map +1 -1
- package/dist/src/module-registry.js +68 -18
- package/dist/src/module-registry.js.map +1 -1
- package/dist/src/modules/discord/index.d.ts +45 -8
- package/dist/src/modules/discord/index.d.ts.map +1 -1
- package/dist/src/modules/discord/index.js +238 -87
- package/dist/src/modules/discord/index.js.map +1 -1
- package/dist/src/modules/health/index.js +2 -2
- package/dist/src/modules/health/index.js.map +1 -1
- package/dist/src/modules/history/index.d.ts +59 -0
- package/dist/src/modules/history/index.d.ts.map +1 -1
- package/dist/src/modules/history/index.js +432 -67
- package/dist/src/modules/history/index.js.map +1 -1
- package/dist/src/modules/history/semantic.d.ts +6 -5
- package/dist/src/modules/history/semantic.d.ts.map +1 -1
- package/dist/src/modules/history/semantic.js +18 -25
- package/dist/src/modules/history/semantic.js.map +1 -1
- package/dist/src/modules/workspace/disk-agreement.d.ts +1 -1
- package/dist/src/modules/workspace/disk-agreement.js +1 -1
- package/dist/src/modules/workspace/index.d.ts +28 -7
- package/dist/src/modules/workspace/index.d.ts.map +1 -1
- package/dist/src/modules/workspace/index.js +80 -25
- package/dist/src/modules/workspace/index.js.map +1 -1
- package/dist/src/modules/workspace/observe.d.ts.map +1 -1
- package/dist/src/modules/workspace/observe.js +2 -1
- package/dist/src/modules/workspace/observe.js.map +1 -1
- package/dist/src/modules/workspace/reconcile.d.ts.map +1 -1
- package/dist/src/modules/workspace/reconcile.js +3 -2
- package/dist/src/modules/workspace/reconcile.js.map +1 -1
- package/dist/src/notice-tags.d.ts +20 -9
- package/dist/src/notice-tags.d.ts.map +1 -1
- package/dist/src/notice-tags.js +20 -9
- package/dist/src/notice-tags.js.map +1 -1
- package/dist/src/operator-log.d.ts +36 -3
- package/dist/src/operator-log.d.ts.map +1 -1
- package/dist/src/operator-log.js +2 -2
- package/dist/src/operator-log.js.map +1 -1
- package/dist/src/presentation.d.ts +747 -0
- package/dist/src/presentation.d.ts.map +1 -0
- package/dist/src/presentation.js +1437 -0
- package/dist/src/presentation.js.map +1 -0
- package/dist/src/prose-drafts.d.ts +15 -11
- package/dist/src/prose-drafts.d.ts.map +1 -1
- package/dist/src/prose-drafts.js +16 -12
- package/dist/src/prose-drafts.js.map +1 -1
- package/dist/src/read-marks.d.ts +192 -0
- package/dist/src/read-marks.d.ts.map +1 -0
- package/dist/src/read-marks.js +242 -0
- package/dist/src/read-marks.js.map +1 -0
- package/dist/src/reasoning-loss.d.ts +5 -0
- package/dist/src/reasoning-loss.d.ts.map +1 -0
- package/dist/src/reasoning-loss.js +8 -0
- package/dist/src/reasoning-loss.js.map +1 -0
- package/dist/src/recovery/offline-branch.d.ts +91 -6
- package/dist/src/recovery/offline-branch.d.ts.map +1 -1
- package/dist/src/recovery/offline-branch.js +277 -32
- package/dist/src/recovery/offline-branch.js.map +1 -1
- package/dist/src/recovery/recover-cli.js +24 -4
- package/dist/src/recovery/recover-cli.js.map +1 -1
- package/dist/src/send-tools.d.ts +5 -9
- package/dist/src/send-tools.d.ts.map +1 -1
- package/dist/src/send-tools.js +40 -7
- package/dist/src/send-tools.js.map +1 -1
- package/dist/src/sent-rows.js +1 -1
- package/dist/src/stored-injections.d.ts +2 -2
- package/dist/src/stored-injections.js +2 -2
- package/dist/src/stored-removal.d.ts +17 -4
- package/dist/src/stored-removal.d.ts.map +1 -1
- package/dist/src/stored-removal.js +29 -5
- package/dist/src/stored-removal.js.map +1 -1
- package/dist/src/supplied-text.d.ts +1 -1
- package/dist/src/supplied-text.js +3 -3
- package/dist/src/supplied-text.js.map +1 -1
- package/dist/src/thinking-drops.d.ts +2 -0
- package/dist/src/thinking-drops.d.ts.map +1 -1
- package/dist/src/thinking-drops.js.map +1 -1
- package/dist/src/tool-presentation.d.ts.map +1 -1
- package/dist/src/tool-presentation.js +38 -9
- package/dist/src/tool-presentation.js.map +1 -1
- package/dist/src/tool-result-guard.d.ts +12 -1
- package/dist/src/tool-result-guard.d.ts.map +1 -1
- package/dist/src/tool-result-guard.js +42 -8
- package/dist/src/tool-result-guard.js.map +1 -1
- package/dist/src/tune-out/coordinator.d.ts +1170 -81
- package/dist/src/tune-out/coordinator.d.ts.map +1 -1
- package/dist/src/tune-out/coordinator.js +3732 -369
- package/dist/src/tune-out/coordinator.js.map +1 -1
- package/dist/src/tune-out/tools.d.ts +114 -17
- package/dist/src/tune-out/tools.d.ts.map +1 -1
- package/dist/src/tune-out/tools.js +89 -28
- package/dist/src/tune-out/tools.js.map +1 -1
- package/dist/src/tune-out/window-anchor.d.ts +143 -0
- package/dist/src/tune-out/window-anchor.d.ts.map +1 -0
- package/dist/src/tune-out/window-anchor.js +202 -0
- package/dist/src/tune-out/window-anchor.js.map +1 -0
- package/dist/src/types/agent.d.ts +121 -25
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/events.d.ts +2 -0
- package/dist/src/types/events.d.ts.map +1 -1
- package/dist/src/types/framework.d.ts +72 -17
- package/dist/src/types/framework.d.ts.map +1 -1
- package/dist/src/types/inference-log.d.ts +1 -0
- package/dist/src/types/inference-log.d.ts.map +1 -1
- package/dist/src/types/module.d.ts +180 -69
- package/dist/src/types/module.d.ts.map +1 -1
- package/dist/src/types/trace.d.ts +573 -39
- package/dist/src/types/trace.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/admission/admit.ts +32 -3
- package/src/agent.ts +392 -132
- package/src/api/mcp-server-core.ts +54 -17
- package/src/api/server.ts +4 -23
- package/src/append-all.ts +6 -0
- package/src/code-execution/isolate/scripts.ts +28 -3
- package/src/config-checks.ts +14 -0
- package/src/context-manager-errors.ts +37 -0
- package/src/context-options.ts +106 -0
- package/src/cut-off-round.ts +4 -4
- package/src/deferred-import.ts +239 -0
- package/src/dendrite/audience.ts +315 -0
- package/src/dendrite/index.ts +14 -2
- package/src/dendrite/presets.ts +18 -6
- package/src/dendrite/registry.ts +213 -14
- package/src/dendrite/types.ts +92 -8
- package/src/failure-text.ts +88 -0
- package/src/foreign-rounds.ts +199 -0
- package/src/framework.ts +8796 -3813
- package/src/gate/event-gate.ts +518 -91
- package/src/gate/index.ts +3 -0
- package/src/gate/reply-judge.ts +12 -3
- package/src/gate/rule-scope.ts +45 -0
- package/src/gate/suppress-script-worker.ts +89 -0
- package/src/gate/suppress-scripts.ts +414 -0
- package/src/gate/suppression-review.ts +517 -0
- package/src/gate/suppression-stats.ts +314 -0
- package/src/gate/types.ts +148 -7
- package/src/gate/wake-onboarding.ts +309 -0
- package/src/heartbeat/heartbeat.ts +1 -1
- package/src/held-writes.ts +49 -60
- package/src/index.ts +10 -2
- package/src/inference-bounds.ts +11 -6
- package/src/jsonrpc-envelope.ts +81 -0
- package/src/mcpl/channel-registry.ts +513 -116
- package/src/mcpl/checkpoint-manager.ts +3 -2
- package/src/mcpl/feature-set-manager.ts +2 -1
- package/src/mcpl/inbound-source.ts +2 -1
- package/src/mcpl/inference-router.ts +7 -4
- package/src/mcpl/modern-connection.ts +629 -91
- package/src/mcpl/protocol-family.ts +15 -9
- package/src/mcpl/push-coalescer.ts +193 -34
- package/src/mcpl/push-handler.ts +10 -5
- package/src/mcpl/server-connection.ts +169 -75
- package/src/mcpl/tool-classes.ts +3 -0
- package/src/mcpl/tool-presence.ts +10 -5
- package/src/mcpl/toolset-host.ts +7 -6
- package/src/mcpl/toolsets-module.ts +2 -1
- package/src/mcpl/types.ts +33 -6
- package/src/module-registry.ts +73 -17
- package/src/modules/discord/index.ts +230 -82
- package/src/modules/health/index.ts +2 -2
- package/src/modules/history/index.ts +439 -70
- package/src/modules/history/semantic.ts +18 -24
- package/src/modules/workspace/disk-agreement.ts +1 -1
- package/src/modules/workspace/index.ts +89 -26
- package/src/modules/workspace/observe.ts +2 -1
- package/src/modules/workspace/reconcile.ts +3 -2
- package/src/notice-tags.ts +21 -9
- package/src/operator-log.ts +36 -3
- package/src/presentation.ts +1678 -0
- package/src/prose-drafts.ts +16 -12
- package/src/read-marks.ts +328 -0
- package/src/reasoning-loss.ts +7 -0
- package/src/recovery/offline-branch.ts +350 -35
- package/src/recovery/recover-cli.ts +23 -4
- package/src/send-tools.ts +40 -7
- package/src/sent-rows.ts +1 -1
- package/src/stored-injections.ts +2 -2
- package/src/stored-removal.ts +31 -7
- package/src/supplied-text.ts +3 -3
- package/src/thinking-drops.ts +2 -0
- package/src/tool-presentation.ts +34 -9
- package/src/tool-result-guard.ts +41 -7
- package/src/tune-out/coordinator.ts +4121 -472
- package/src/tune-out/tools.ts +162 -44
- package/src/tune-out/window-anchor.ts +277 -0
- package/src/types/agent.ts +122 -25
- package/src/types/events.ts +2 -0
- package/src/types/framework.ts +73 -17
- package/src/types/inference-log.ts +1 -0
- package/src/types/module.ts +181 -68
- package/src/types/trace.ts +607 -43
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wake onboarding: an MCPL server whose events the agent's wake rules never
|
|
3
|
+
* decided about.
|
|
4
|
+
*
|
|
5
|
+
* A server's events are often skipped by a rule written for something else —
|
|
6
|
+
* a catch-all with no `source` (a Discord-era `discord-ambient`) or the gate's
|
|
7
|
+
* default — so a game that waits on the agent's move, or a message addressed
|
|
8
|
+
* to it, stalls without anyone having chosen that. MCPL RFC-001 §5 lets a
|
|
9
|
+
* server suggest how its tagged events should be treated, and §5.2 forbids a
|
|
10
|
+
* host from applying suggestions it was not told to apply. This module is the
|
|
11
|
+
* missing step between the two: the host notices the first undecided event
|
|
12
|
+
* from a server, offers the agent that server's suggestions once, and records
|
|
13
|
+
* the agent's answer — accepted (all of them or some) or declined — keyed to
|
|
14
|
+
* the server's declared ontology, so it asks again only when the ontology
|
|
15
|
+
* changes.
|
|
16
|
+
*
|
|
17
|
+
* An event is *undecided* when the gate let it go by without waking
|
|
18
|
+
* (`defer`/`skip`) by its default, or by a rule that names neither the event's
|
|
19
|
+
* source nor its channel nor any of its tags. A rule that does — Linn's
|
|
20
|
+
* `touche-quiet`, a channel's debounce — is a decision, and this module leaves
|
|
21
|
+
* it alone. So does the gate's sleep, gate.js, and every rule that wakes later
|
|
22
|
+
* (debounce, judge, a rate limit or sampler).
|
|
23
|
+
*
|
|
24
|
+
* Pure functions here; the framework wires the notice, the wake and the tools.
|
|
25
|
+
*/
|
|
26
|
+
import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
|
|
27
|
+
import { dirname } from 'node:path';
|
|
28
|
+
import { stableHash } from '../stable-hash.js';
|
|
29
|
+
import { firstCatchAll, ruleDecides } from './rule-scope.js';
|
|
30
|
+
/**
|
|
31
|
+
* Tags that say an event is addressed to the agent or waiting on it (MCPL
|
|
32
|
+
* RFC-001 `chat:addressed`, RFC-014 `surface:turn`/`surface:alert`; not
|
|
33
|
+
* `surface:invite`, which only suggests). The first undecided event carrying
|
|
34
|
+
* one wakes the agent to decide; any other undecided event leaves its offer
|
|
35
|
+
* for the agent's next turn.
|
|
36
|
+
*/
|
|
37
|
+
export const ATTENTION_TAGS = ['chat:addressed', 'surface:turn', 'surface:alert'];
|
|
38
|
+
/** Accepted rules are named `suggested:<server>:<n>`: the name is the attribution. */
|
|
39
|
+
export const SUGGESTED_RULE_PREFIX = 'suggested:';
|
|
40
|
+
export const suggestedRuleName = (server, n) => `${SUGGESTED_RULE_PREFIX}${server}:${n}`;
|
|
41
|
+
/** Exactly `suggested:<server>:<n>`: a server id that another extends (`games`, `games:beta`) never claims the other's rules. */
|
|
42
|
+
export const isSuggestedRuleOf = (name, server) => name.startsWith(`${SUGGESTED_RULE_PREFIX}${server}:`) && /^\d+$/.test(name.slice(SUGGESTED_RULE_PREFIX.length + server.length + 1));
|
|
43
|
+
const DEBOUNCE_MIN_MS = 100;
|
|
44
|
+
const DEBOUNCE_MAX_MS = 300_000;
|
|
45
|
+
const THROTTLE_DEFAULT_MS = 60_000;
|
|
46
|
+
/**
|
|
47
|
+
* A suggested behavior (RFC-001 §6's vocabulary, or the gate's own names) as a
|
|
48
|
+
* gate behavior; null for one with no faithful translation.
|
|
49
|
+
*/
|
|
50
|
+
export function translateBehavior(said) {
|
|
51
|
+
if (said === 'immediate' || said === 'always')
|
|
52
|
+
return 'always';
|
|
53
|
+
if (said === 'mute' || said === 'defer' || said === 'skip')
|
|
54
|
+
return 'defer';
|
|
55
|
+
if (said === 'throttle')
|
|
56
|
+
return { rate_limit: { tokens: 1, refillIntervalMs: THROTTLE_DEFAULT_MS } };
|
|
57
|
+
if (said && typeof said === 'object' && !Array.isArray(said)) {
|
|
58
|
+
const o = said;
|
|
59
|
+
if (typeof o.debounce === 'number' && Number.isFinite(o.debounce)) {
|
|
60
|
+
return { debounce: Math.min(DEBOUNCE_MAX_MS, Math.max(DEBOUNCE_MIN_MS, Math.round(o.debounce))) };
|
|
61
|
+
}
|
|
62
|
+
const perMs = o.throttle?.perMs;
|
|
63
|
+
if (typeof perMs === 'number' && perMs > 0)
|
|
64
|
+
return { rate_limit: { tokens: 1, refillIntervalMs: Math.round(perMs) } };
|
|
65
|
+
const every = o.sample?.every;
|
|
66
|
+
if (typeof every === 'number' && Number.isInteger(every) && every > 0)
|
|
67
|
+
return { passive_sample: { every } };
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
const tagList = (v) => {
|
|
72
|
+
if (!Array.isArray(v))
|
|
73
|
+
return undefined;
|
|
74
|
+
const tags = v.filter((t) => typeof t === 'string' && t.length > 0);
|
|
75
|
+
return tags.length > 0 ? tags : undefined;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* A server's suggestions from its declared feature sets (null: none declared).
|
|
79
|
+
* Feature sets in name order; in each, its ordered rules as declared, then
|
|
80
|
+
* per-tag suggestions no ordered rule already makes, by tag. A server that suggests nothing the host can
|
|
81
|
+
* use gets one host-written rule: wake for its events tagged as addressed to
|
|
82
|
+
* the agent or waiting on it, nothing else.
|
|
83
|
+
*/
|
|
84
|
+
export function offerFor(server, declared) {
|
|
85
|
+
const rules = [];
|
|
86
|
+
const tagDescriptions = {};
|
|
87
|
+
const untranslated = [];
|
|
88
|
+
const ontologies = {};
|
|
89
|
+
const seen = new Set();
|
|
90
|
+
const add = (featureSet, match, said, rationale) => {
|
|
91
|
+
const behavior = translateBehavior(said);
|
|
92
|
+
if (!behavior) {
|
|
93
|
+
untranslated.push({ featureSet, ...match, behavior: said });
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const key = stableHash({ match, behavior });
|
|
97
|
+
if (seen.has(key))
|
|
98
|
+
return;
|
|
99
|
+
seen.add(key);
|
|
100
|
+
rules.push({
|
|
101
|
+
n: rules.length + 1, featureSet, match, behavior, said,
|
|
102
|
+
...(typeof rationale === 'string' && rationale.trim() ? { rationale: rationale.trim() } : {}),
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
for (const featureSet of Object.keys(declared ?? {}).sort()) {
|
|
106
|
+
const ontology = declared[featureSet]?.tagOntology;
|
|
107
|
+
if (!ontology || typeof ontology !== 'object')
|
|
108
|
+
continue;
|
|
109
|
+
ontologies[featureSet] = ontology;
|
|
110
|
+
const tags = ontology.tags && typeof ontology.tags === 'object' ? ontology.tags : {};
|
|
111
|
+
const ordered = Array.isArray(ontology.suggestedTreatment) ? ontology.suggestedTreatment
|
|
112
|
+
: Array.isArray(ontology.defaultTreatment) ? ontology.defaultTreatment : [];
|
|
113
|
+
for (const raw of ordered) {
|
|
114
|
+
if (!raw || typeof raw !== 'object')
|
|
115
|
+
continue;
|
|
116
|
+
const r = raw;
|
|
117
|
+
const match = {
|
|
118
|
+
...(tagList(r.tagsAny) ? { tagsAny: tagList(r.tagsAny) } : {}),
|
|
119
|
+
...(tagList(r.tagsAll) ? { tagsAll: tagList(r.tagsAll) } : {}),
|
|
120
|
+
...(tagList(r.tagsNone) ? { tagsNone: tagList(r.tagsNone) } : {}),
|
|
121
|
+
};
|
|
122
|
+
// A rule that names no tag would take every event the server sends: that is the agent's call to write, not an offer.
|
|
123
|
+
if (!match.tagsAny && !match.tagsAll) {
|
|
124
|
+
untranslated.push({ featureSet, ...r });
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
add(featureSet, match, r.behavior, r.rationale);
|
|
128
|
+
}
|
|
129
|
+
// Per-tag suggestions in tag order (UTF-8 bytes, as MCPL RFC-001 §5.2 and SPEC §16.5 order them):
|
|
130
|
+
// a JSON object's key order is no order at all.
|
|
131
|
+
const byTag = Object.keys(tags).sort((a, b) => Buffer.compare(Buffer.from(a), Buffer.from(b)));
|
|
132
|
+
for (const tag of byTag) {
|
|
133
|
+
const descriptor = tags[tag];
|
|
134
|
+
const d = descriptor;
|
|
135
|
+
if (!d || typeof d !== 'object')
|
|
136
|
+
continue;
|
|
137
|
+
if (typeof d.desc === 'string')
|
|
138
|
+
tagDescriptions[tag] = d.desc;
|
|
139
|
+
if (d.suggestedTreatment !== undefined)
|
|
140
|
+
add(featureSet, { tagsAny: [tag] }, d.suggestedTreatment, d.rationale);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (rules.length === 0) {
|
|
144
|
+
rules.push({
|
|
145
|
+
n: 1, featureSet: '', match: { tagsAny: [...ATTENTION_TAGS] }, behavior: 'always', said: 'immediate', fallback: true,
|
|
146
|
+
rationale: 'This server suggests nothing the host can use. This rule wakes you for its events marked as addressed to you or waiting on you, and leaves the rest as they are.',
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
const named = new Set(rules.flatMap((r) => [...(r.match.tagsAny ?? []), ...(r.match.tagsAll ?? [])]));
|
|
150
|
+
for (const tag of Object.keys(tagDescriptions))
|
|
151
|
+
if (!named.has(tag))
|
|
152
|
+
delete tagDescriptions[tag];
|
|
153
|
+
const digest = Object.keys(ontologies).length > 0 ? stableHash({ server, ontologies }) : 'none';
|
|
154
|
+
return { server, digest, rules, tagDescriptions, untranslated };
|
|
155
|
+
}
|
|
156
|
+
export { ruleDecides } from './rule-scope.js';
|
|
157
|
+
/**
|
|
158
|
+
* Whether the gate let an event go by without anyone having decided to: it did
|
|
159
|
+
* not wake and will not (`defer`/`skip`), by the default or by a rule that
|
|
160
|
+
* doesn't decide about it (ruleDecides). `policy` is the matched rule, as in
|
|
161
|
+
* force; undefined when the decision named none or it can't be found.
|
|
162
|
+
*/
|
|
163
|
+
export function isUndecided(decision, policy) {
|
|
164
|
+
if (decision.trigger)
|
|
165
|
+
return false;
|
|
166
|
+
if (decision.behavior !== 'skip' && decision.behavior !== 'defer')
|
|
167
|
+
return false;
|
|
168
|
+
if (decision.policyName === null)
|
|
169
|
+
return true;
|
|
170
|
+
if (decision.policyName === 'asleep' || decision.policyName === 'gate.js')
|
|
171
|
+
return false;
|
|
172
|
+
return policy !== undefined && !ruleDecides(policy);
|
|
173
|
+
}
|
|
174
|
+
export const carriesAttention = (tags) => (tags ?? []).some((t) => ATTENTION_TAGS.includes(t));
|
|
175
|
+
/**
|
|
176
|
+
* Where an accepted rule goes: ahead of the first rule that would let the
|
|
177
|
+
* server's events by without deciding about them (a catch-all that defers or
|
|
178
|
+
* skips), so the rules the agent wrote for this server, or for a channel or
|
|
179
|
+
* tags, keep their place before it, and so do catch-alls that wake (a mention
|
|
180
|
+
* rule on metadata): a muted suggestion can't swallow an explicit mention.
|
|
181
|
+
* Null: there is none; the rule goes last, ahead of the default. (Accepted
|
|
182
|
+
* rules name their source, so they are never the catch-all.)
|
|
183
|
+
*/
|
|
184
|
+
export const placementFor = (policies) => firstCatchAll(policies, { lettingBy: true });
|
|
185
|
+
/** The gate rules accepting `rules` of `offer` writes. */
|
|
186
|
+
export function rulesToWrite(offer, accepted) {
|
|
187
|
+
return accepted.map((r) => ({
|
|
188
|
+
name: suggestedRuleName(offer.server, r.n),
|
|
189
|
+
match: { source: offer.server, ...r.match },
|
|
190
|
+
behavior: r.behavior,
|
|
191
|
+
}));
|
|
192
|
+
}
|
|
193
|
+
// ---------------------------------------------------------------- decisions
|
|
194
|
+
/** The least time between two offers for one server (WakeDecisions.mayOffer). */
|
|
195
|
+
export const OFFER_FLOOR_MS = 24 * 60 * 60 * 1000;
|
|
196
|
+
/**
|
|
197
|
+
* The agent's decisions per server, beside gate.json (`wake-decisions.json`).
|
|
198
|
+
* Written whole, through a temporary file; one that can't be read is set aside
|
|
199
|
+
* and starts empty, so a damaged file costs a repeated offer, never a crash.
|
|
200
|
+
*/
|
|
201
|
+
export class WakeDecisions {
|
|
202
|
+
path;
|
|
203
|
+
log;
|
|
204
|
+
records = {};
|
|
205
|
+
constructor(path, log = () => undefined) {
|
|
206
|
+
this.path = path;
|
|
207
|
+
this.log = log;
|
|
208
|
+
if (!existsSync(path))
|
|
209
|
+
return;
|
|
210
|
+
try {
|
|
211
|
+
const parsed = JSON.parse(readFileSync(path, 'utf8'));
|
|
212
|
+
for (const [server, r] of Object.entries(parsed.servers ?? {})) {
|
|
213
|
+
if (r && typeof r.digest === 'string' && (r.state === 'offered' || r.state === 'accepted' || r.state === 'declined'))
|
|
214
|
+
this.records[server] = r;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
const aside = `${path}.unreadable-${Date.now()}`;
|
|
219
|
+
try {
|
|
220
|
+
renameSync(path, aside);
|
|
221
|
+
}
|
|
222
|
+
catch { /* leave it */ }
|
|
223
|
+
this.log(`wake decisions: ${path} could not be read (${error.message}); set aside as ${aside}, starting empty`);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
get(server) { return this.records[server]; }
|
|
227
|
+
/**
|
|
228
|
+
* Whether an offer for `server` may go out now: never twice for the same
|
|
229
|
+
* digest, answered or not, and not within OFFER_FLOOR_MS of the server's
|
|
230
|
+
* last offer or decision even when its ontology changed — a server can't
|
|
231
|
+
* buy itself a stream of questions by editing what it declares.
|
|
232
|
+
*/
|
|
233
|
+
/** Whether an offer for `server` could go out at all, before its digest is known: not within the floor of the last one. */
|
|
234
|
+
mayOfferSoon(server, now = Date.now()) {
|
|
235
|
+
const r = this.records[server];
|
|
236
|
+
if (!r)
|
|
237
|
+
return true;
|
|
238
|
+
const at = Date.parse(r.at);
|
|
239
|
+
return !Number.isFinite(at) || now - at >= OFFER_FLOOR_MS;
|
|
240
|
+
}
|
|
241
|
+
mayOffer(server, digest, now = Date.now()) {
|
|
242
|
+
const r = this.records[server];
|
|
243
|
+
if (!r)
|
|
244
|
+
return true;
|
|
245
|
+
if (r.digest === digest || r.shown === digest)
|
|
246
|
+
return false;
|
|
247
|
+
const at = Date.parse(r.at);
|
|
248
|
+
return !Number.isFinite(at) || now - at >= OFFER_FLOOR_MS;
|
|
249
|
+
}
|
|
250
|
+
set(server, record, now = Date.now()) {
|
|
251
|
+
const r = { ...record, at: new Date(now).toISOString() };
|
|
252
|
+
this.records[server] = r;
|
|
253
|
+
this.write();
|
|
254
|
+
return r;
|
|
255
|
+
}
|
|
256
|
+
/** Record that the agent was shown `digest`'s list, leaving the decision and its time as they are (the floor doesn't restart). */
|
|
257
|
+
markShown(server, digest) {
|
|
258
|
+
const r = this.records[server];
|
|
259
|
+
if (!r)
|
|
260
|
+
return;
|
|
261
|
+
this.records[server] = { ...r, shown: digest };
|
|
262
|
+
this.write();
|
|
263
|
+
}
|
|
264
|
+
all() { return this.records; }
|
|
265
|
+
write() {
|
|
266
|
+
try {
|
|
267
|
+
mkdirSync(dirname(this.path), { recursive: true });
|
|
268
|
+
const tmp = `${this.path}.tmp-${process.pid}`;
|
|
269
|
+
writeFileSync(tmp, JSON.stringify({ servers: this.records }, null, 2) + '\n');
|
|
270
|
+
renameSync(tmp, this.path);
|
|
271
|
+
}
|
|
272
|
+
catch (error) {
|
|
273
|
+
this.log(`wake decisions: could not write ${this.path}: ${error.message}`);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=wake-onboarding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wake-onboarding.js","sourceRoot":"","sources":["../../../src/gate/wake-onboarding.ts"],"names":[],"mappings":"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"}
|
|
@@ -529,7 +529,7 @@ export class Heartbeat {
|
|
|
529
529
|
this.cancelReminders = null;
|
|
530
530
|
if (!this.started || this.state.reminders.length === 0)
|
|
531
531
|
return;
|
|
532
|
-
const due =
|
|
532
|
+
const due = this.state.reminders.reduce((min, rem) => Math.min(min, dueAt(rem)), Infinity);
|
|
533
533
|
this.cancelReminders = callAt(Math.max(due, this.notBefore), this.now, () => {
|
|
534
534
|
this.cancelReminders = null;
|
|
535
535
|
this.fireDueReminders();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../../src/heartbeat/heartbeat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE7G,8CAA8C;AAC9C,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD;;kDAEkD;AAClD,MAAM,CAAC,MAAM,4BAA4B,GAAG,mBAAmB,CAAC;AAChE;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA2C;IAC/E,IAAI,MAAM,CAAC,EAAE,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,KAAK,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAC3H,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAA+C,CAAC;IAC1E,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACvF,CAAC;AAED;;8CAE8C;AAC9C,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC;QAAE,OAAO,GAAG,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC;IACvI,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;QAAE,OAAO,GAAG,4BAA4B,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;IAChI,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,MAAM,wBAAwB,GAAsB,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAY3I,MAAM,CAAC,MAAM,iBAAiB,GAAgC;IAC5D,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE;IAC5B,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,SAAS;IACvB,OAAO,EAAE,IAAI,UAAU,CAAC,SAAS,uJAAuJ;CACzL,CAAC;AAsDF,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,iHAAiH;AACjH,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,6DAA6D;AAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC;AACxB,oEAAoE;AACpE,MAAM,OAAO,GAAG,MAAM,CAAC;AACvB,gEAAgE;AAChE,MAAM,cAAc,GAAG,aAAa,CAAC;AAErC,MAAM,cAAc,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,CAAU,CAAC;AAC3G,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAU,CAAC;AACtF,MAAM,WAAW,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAU,CAAC;AAI/F,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,WAAmB,EAAE,UAAyC,EAAE,QAAmB,EAAkB,EAAE,CAAC,CAAC;IACnI,IAAI,EAAE,GAAG,qBAAqB,GAAG,IAAI,EAAE;IACvC,WAAW;IACX,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;CAC/E,CAAC,CAAC;AAEH,SAAS,eAAe,CAAC,QAAgB;IACvC,OAAO;QACL,IAAI,CAAC,kBAAkB,EACrB,8IAA8I,EAC9I,EAAE,CAAC;QACL,IAAI,CAAC,qBAAqB,EACxB,6YAA6Y,EAC7Y;YACE,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oGAAoG,EAAE;YACtJ,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sEAAsE,EAAE;YACxH,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sEAAsE,EAAE;YACtH,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,4CAA4C,EAAE;YACtF,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,oHAAoH,EAAE;YAChM,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;SAC1F,CAAC;QACJ,IAAI,CAAC,mBAAmB,EAAE,+DAA+D,EAAE,EAAE,CAAC;QAC9F,IAAI,CAAC,cAAc,EACjB,uYAAuY,EACvY;YACE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6LAA6L,EAAE;YACvO,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iEAAiE,EAAE;YAC7G,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iEAAiE,EAAE;YAC7G,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iEAAiE,EAAE;YAC3G,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sGAAsG,QAAQ,gPAAgP,EAAE;YACtY,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2FAA2F,EAAE;YAC1I,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8DAA8D,EAAE;YAC7G,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8DAA8D,EAAE;SAC5G,EACD,CAAC,SAAS,CAAC,CAAC;QACd,IAAI,CAAC,eAAe,EAAE,iFAAiF,EAAE,EAAE,CAAC;QAC5G,IAAI,CAAC,iBAAiB,EAAE,mEAAmE,EACzF,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kGAAkG,EAAE,EAAE,EAC3I,CAAC,IAAI,CAAC,CAAC;KACV,CAAC;AACJ,CAAC;AAED,+CAA+C;AAC/C,MAAM,OAAO,GAA2B;IACtC,gBAAgB,EAAE,mBAAmB;IACrC,mBAAmB,EAAE,qBAAqB;IAC1C,iBAAiB,EAAE,uBAAuB;IAC1C,YAAY,EAAE,qBAAqB;IACnC,aAAa,EAAE,oBAAoB;IACnC,eAAe,EAAE,uBAAuB;CACzC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,QAAgB;IACjE,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QAC7C,QAAQ;QACR,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS;QACjD,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;QACrD,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY;KAC7C,CAAC,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,CAAC,IAAkC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;IAC1G,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7E,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,MAAM,KAAK,QAAQ,GAAG,CAAC;AAChI,CAAC;AAED,iFAAiF;AACjF,SAAS,MAAM,CAAC,KAAa,EAAE,GAAiB,EAAE,KAAiB;IACjE,IAAI,KAAoC,CAAC;IACzC,MAAM,GAAG,GAAG,GAAS,EAAE;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;QAClE,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC,CAAC;IACF,GAAG,EAAE,CAAC;IACN,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,0DAA0D;AAC1D,SAAS,QAAQ,CAAC,GAAW,EAAE,OAAe,EAAE,QAAgB;IAC9D,OAAO,IAAI,UAAU,CAAC,WAAW,KAAK,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,OAAO,EAAE,CAAC;AACzF,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAAC,GAAa,EAAE,GAAW,EAAE,QAAgB;IACvE,IAAI,QAAQ,GAAG,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,SAAS,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;IAC5I,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,IAAI,OAAO;QAAE,QAAQ,IAAI,SAAS,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;IAClG,OAAO,IAAI,UAAU,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE,GAAG,QAAQ,oBAAoB,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;AAC9H,CAAC;AAED,iDAAiD;AACjD,SAAS,WAAW,CAAC,OAAe;IAClC,IAAI,OAAO,GAAG,GAAG;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACxC,IAAI,OAAO,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC/D,OAAO,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,OAAO,SAAS;IACH,SAAS,CAAS;IAClB,QAAQ,CAAoB;IAC5B,UAAU,CAAiC;IAC3C,QAAQ,CAAS;IACjB,OAAO,CAAgC;IACvC,GAAG,CAAe;IAClB,KAAK,CAAmB;IACjC,KAAK,CAAiB;IAC9B,wGAAwG;IAChG,UAAU,GAAkB,IAAI,CAAC;IACzC,2EAA2E;IACnE,aAAa,GAAkB,IAAI,CAAC;IACpC,UAAU,GAAwB,IAAI,CAAC;IACvC,eAAe,GAAwB,IAAI,CAAC;IACpD,iGAAiG;IACzF,SAAS,GAAG,CAAC,CAAC;IACd,OAAO,GAAG,KAAK,CAAC;IAExB,YAAY,IAOX;QACC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,iBAAiB,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACtI,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IACzF,CAAC;IAED,gEAAgE;IAChE,KAAK;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACtB,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YACnE,CAAC,CAAC,UAAU,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,GAAG,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,+CAA+C;IAC/C,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,6DAA6D;IAC7D,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,uFAAuF;IACvF,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,sGAAsG;IACtG,aAAa;QACX,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,KAAK,GAAmB,KAAK;QAC1C,MAAM,KAAK,GAA6B,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,KAAK,QAAQ,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,WAAW;gBACjB,EAAE;gBACF,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,GAAG,KAAK,eAAe,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,mBAAmB,WAAW,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG;gBAChI,MAAM;gBACN,+DAA+D;gBAC/D,wEAAwE;gBACxE,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO;aAC7F,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACnF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,UAAU;gBAChB,EAAE;gBACF,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,GAAG,KAAK,aAAa,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,mBAAmB,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvI,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC;aACzC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,UAAkB,EAAE,QAAiB;QAClD,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mCAAmC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5H,MAAM,OAAO,GAAG,UAAU,KAAK,QAAQ;YACrC,CAAC,CAAC,mCAAmC,qBAAqB,cAAc,QAAQ,KAAK,4BAA4B,wBAAwB;YACzI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,IAA6B,CAAC;QAClC,IAAI,CAAC;YACH,IAAI,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,UAAqC,EAAE,OAAO,CAAC,CAAC;QACtI,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC1E,CAAC;QACD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,MAAyC,CAAC;QAC9C,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,qBAAqB;gBAAE,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAAC,MAAM;YAC3E,KAAK,mBAAmB;gBAAE,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAAC,MAAM;YACzD,KAAK,cAAc;gBAAE,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAAC,MAAM;YACtE,KAAK,eAAe;gBAAE,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAAC,MAAM;YAChE,KAAK,iBAAiB;gBAAE,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAAC,MAAM;YAC5E,SAAS,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QAChD,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC;QACrG,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvG,CAAC;IAED,8EAA8E;IAC9E,QAAQ;IACR,8EAA8E;IAEtE,MAAM,CAAC,IAAY,EAAE,QAA2B;QACtD,OAAO,EAAE,IAAI,EAAE,GAAG,qBAAqB,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC3G,CAAC;IAEO,UAAU;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI;YACtD,CAAC,CAAC,eAAe,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG;YAClH,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,YAAY,eAAe,CAAC,CAAC,eAAe,MAAM,CAAC,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;cACtJ,GAAG,IAAI,gBAAgB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IAC3D,CAAC;IAEO,UAAU;QAChB,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,eAAe,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC7F,CAAC;IAEO,QAAQ;QACd,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,gBAAgB,IAAI,CAAC,UAAU,IAAI,CAAC;QAChE,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,wBAAwB,IAAI,CAAC,SAAS,YAAY,IAAI,CAAC,aAAa,IAAI,CAAC;QACxG,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,SAAS,CAAC,IAA6B,EAAE,QAAkB;QACjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC1D,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,GAAG,qBAAqB,EAAE,CAAC;YAC1D,QAAQ,CAAC,IAAI,CAAC,yBAAyB,QAAQ,6BAA6B,qBAAqB,uBAAuB,qBAAqB,+DAA+D,CAAC,CAAC;QAChN,CAAC;aAAM,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC;YAC3E,QAAQ,CAAC,IAAI,CAAC,6CAA6C,kBAAkB,mEAAmE,CAAC,CAAC;QACpJ,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClE,QAAQ,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACzG,QAAQ,CAAC,IAAI,CAAC,qBAAqB,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,0CAA0C,CAAC,CAAC;QAC9G,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC7F,QAAQ,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,sFAAsF,CAAC,CAAC;QAChJ,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;YAAC,CAAC,CAAC,eAAe,GAAG,QAAQ,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;YAAC,UAAU,GAAG,IAAI,CAAC;QAAC,CAAC;QAC7H,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;YAAC,UAAU,GAAG,IAAI,CAAC;QAAC,CAAC;QAChI,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC,YAAY,EAAE,CAAC;YAChH,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACnC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QACjH,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC;YAChF,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;IAClF,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,IAAI,EAAE,GAAG,qBAAqB,mFAAmF,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC/J,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,oBAAoB,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;IAC3D,CAAC;IAEO,WAAW,CAAC,IAA6B,EAAE,QAAkB;QACnE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;aACpI,IAAI,CAAC,OAAO;YAAE,QAAQ,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAChG,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;QACzC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG,oBAAoB,EAAE,CAAC;YACnD,QAAQ,CAAC,IAAI,CAAC,gCAAgC,KAAK,iBAAiB,oBAAoB,uBAAuB,oBAAoB,4EAA4E,CAAC,CAAC;QACnN,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,KAAK,IAAI;YAAE,QAAQ,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;QACpH,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,4JAA4J,CAAC,CAAC;QAC9K,CAAC;QACD,IAAI,EAAE,GAAkB,IAAI,CAAC;QAC7B,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAChG,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,QAAQ,CAAC,IAAI,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAClH,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC,qBAAqB,kBAAkB,6FAA6F,CAAC,CAAC;QACtJ,CAAC;aAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;YAClF,QAAQ,CAAC,IAAI,CAAC,iCAAiC,kBAAkB,+DAA+D,CAAC,CAAC;QACpI,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACxF,MAAM,GAAG,GAAa;YACpB,EAAE,EAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YACvE,OAAO;YACP,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,KAAK;SACpB,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,GAAG,CAAC,kBAAkB,GAAG,CAAC,EAAE,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,UAAU,GAAG,CAAC,YAAY,IAAI,MAAM,EAAE,CAAC,CAAC;QAC5G,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,CAAC,EAAE,SAAS,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC1F,CAAC;IAEO,QAAQ,CAAC,GAAa,EAAE,GAAW;QACzC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,KAAK,SAAS;YACpC,CAAC,CAAC,yCAAyC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG;YACjG,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACjF,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;QAC1F,OAAO,OAAO,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,GAAG,CAAC;IACvG,CAAC;IAEO,QAAQ;QACd,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QAChF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,oBAAoB,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACzE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,GAAG,SAAS,CAAC,MAAM,kBAAkB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IACxI,CAAC;IAEO,cAAc,CAAC,IAA6B,EAAE,QAAkB;QACtE,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE;YAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,sDAAsD,CAAC,CAAC;QAC5I,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,2BAA2B,EAAE,gJAAgJ,CAAC,CAAC,CAAC;QACzN,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,uBAAuB,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC3G,CAAC;IAED,8EAA8E;IAC9E,sBAAsB;IACtB,8EAA8E;IAEtE,OAAO;QACb,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO;QACvE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;YACpE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,kFAAkF;YAClF,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACzG,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mDAAmD;IAC3C,QAAQ,CAAC,MAA6B;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC;QAC3C,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC;gBACX,IAAI,EAAE,WAAW;gBACjB,MAAM;gBACN,MAAM;gBACN,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC;gBAC7C,OAAO,EAAE,aAAa,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;aACtE,CAAC,CAAC;YACH,GAAG,CAAC,oBAAoB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,cAAc,MAAM,4BAA6B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;YAC1E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAE,SAAS;YACvB,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,GAAG,CAAC,EAAE;oBAClB,SAAS,EAAE,GAAG,CAAC,YAAY,KAAK,IAAI;oBACpC,IAAI,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;oBAC3C,OAAO,EAAE,YAAY,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;iBACrE,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,sEAAsE;gBACtE,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,2BAA4B,GAAa,CAAC,OAAO,sBAAsB,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC;gBACjH,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,QAAQ,EAAE,CAAC;gBAC9D,SAAS;YACX,CAAC;YACD,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClC,GAAG,CAAC,kBAAkB,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;gBAC3C,SAAS;YACX,CAAC;YACD,yFAAyF;YACzF,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC;YAChD,IAAI,IAAI,IAAI,GAAG;gBAAE,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC;YACtD,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;gBAC3C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClC,GAAG,CAAC,4BAA4B,GAAG,CAAC,EAAE,2BAA2B,kBAAkB,EAAE,CAAC,CAAC;YACzF,CAAC;YACD,GAAG,CAAC,kBAAkB,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,8EAA8E;IAC9E,QAAQ;IACR,8EAA8E;IAEtE,IAAI,CAAC,GAAW;QACtB,kFAAkF;QAClF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,SAAS,sBAAuB,GAAa,CAAC,OAAO,yDAAyD,CAAC;gBACzI,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,qCAAqC,CAAC,CAAC;gBAC7D,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YACnF,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YACtB,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,SAAS,eAAe,GAAG,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAClC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,mDAAmD,KAAK,iCAAiC,CAAC,CAAC;YAClH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,SAAS,mEAAoE,GAAa,CAAC,OAAO,GAAG,CAAC;gBAChI,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,qCAAqC,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QACnF,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IACtG,CAAC;IAED,sFAAsF;IAC9E,SAAS,CAAC,IAAY;QAC5B,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAChH,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACjI,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7G,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAC9H,CAAC;IAED,4FAA4F;IACpF,QAAQ;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,UAAU,IAAI,CAAC,IAAI,EAAE,aAAa;YAAE,OAAO,SAAS,CAAC;QAChE,sEAAsE;QACtE,wEAAwE;QACxE,qEAAqE;QACrE,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,CAAC,IAAwB,EAAE,IAAY,EAAW,EAAE;YACnE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACzC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,OAAO,IAAI,sBAAuB,GAAa,CAAC,OAAO,GAAG,CAAC,CAAC;gBAChG,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,+EAA+E,CAAC;YAC1H,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACpD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACnH,CAAC;QACD,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;YACtC,2EAA2E;YAC3E,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAClC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,EAClF,IAAI,CAAC,QAAQ,EACb,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC,CACvD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjI,GAAG,CAAC,6BAA6B,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,iBAAiB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QACrP,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/D,CAAC;IAEO,IAAI;QACV,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,CAAC;YACH,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC;YACnD,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACxD,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,aAAa,GAAI,GAAa,CAAC,OAAO,CAAC;YAC5C,GAAG,CAAC,WAAW,IAAI,CAAC,SAAS,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;CACF;AAED,4HAA4H;AAC5H,SAAS,YAAY,CAAC,GAA4B,EAAE,QAA2B,EAAE,IAA4B;IAC3G,MAAM,GAAG,GAA+B,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC;IACrC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,mBAAmB,UAAU,CAAC,QAAQ,CAAC,qCAAqC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;QAC/G,CAAC;aAAM,IAAI,QAAQ,GAAG,qBAAqB,EAAE,CAAC;YAC5C,IAAI,CAAC,mBAAmB,QAAQ,iBAAiB,qBAAqB,wBAAwB,qBAAqB,EAAE,CAAC,CAAC;YACvH,GAAG,CAAC,eAAe,GAAG,qBAAqB,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,eAAe,GAAG,QAAQ,CAAC;QACjC,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,SAAS;YAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;;YACxD,IAAI,CAAC,UAAU,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,+BAA+B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,GAAG,CAAC,YAAY,KAAK,QAAQ;YAAE,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;;YACpG,IAAI,CAAC,gBAAgB,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,uCAAuC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;IACxH,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;YAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;;YAChF,IAAI,CAAC,WAAW,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kIAAkI;AAClI,SAAS,aAAa,CAAC,IAAe,EAAE,IAA4B;IAClE,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;eACnH,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;eAC1D,CAAC,CAAC,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YACjH,IAAI,CAAC,oBAAoB,UAAU,CAAC,GAAG,CAAC,4DAA4D,mBAAmB,OAAO,kBAAkB,EAAE,CAAC,CAAC;YACpJ,SAAS;QACX,CAAC;QACD,IAAI,KAAK,GAAG,GAAG,CAAC,YAA6B,CAAC;QAC9C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,cAAc,KAAK,iCAAiC,CAAC,CAAC;YAC7E,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;aAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG,oBAAoB,EAAE,CAAC;YAC1D,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,cAAc,KAAK,kBAAkB,oBAAoB,wBAAwB,oBAAoB,EAAE,CAAC,CAAC;YAChI,KAAK,GAAG,oBAAoB,CAAC;QAC/B,CAAC;QACD,GAAG,CAAC,IAAI,CAAC;YACP,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK;YACnG,GAAG,CAAC,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjG,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,4EAA4E;AAC5E,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC;QAClD,CAAC,CAAC,GAAG,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAE;QAC9E,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,+FAA+F;AAC/F,SAAS,KAAK,CAAC,GAAa;IAC1B,OAAO,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC;AACnC,CAAC;AAED,2GAA2G;AAC3G,SAAS,QAAQ,CAAC,IAA6B,EAAE,KAAY,EAAE,QAAkB;IAC/E,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,KAAK,GAAG,IAAI,CAAC;QACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACtE,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,UAAU,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACxF,SAAS;QACX,CAAC;QACD,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;AACvC,CAAC"}
|
|
1
|
+
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../../src/heartbeat/heartbeat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,37 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*
|
|
5
|
-
* and goes on to the store as it did before handles. */
|
|
1
|
+
import type { ContextManager, MessageId, StoredMessage } from '@animalabs/context-manager';
|
|
2
|
+
/** The queued write a `held:` handle names, or undefined for any other id. A
|
|
3
|
+
* value that isn't a string, which only an untyped caller passes, is no
|
|
4
|
+
* handle, and goes on to the store as it did before handles. */
|
|
6
5
|
export declare function heldWriteId(id: MessageId): string | undefined;
|
|
6
|
+
/** What asModuleRow reads of the window of the agent a read is for. */
|
|
7
|
+
export type ModuleRowWindow = Pick<ContextManager, 'windowMode' | 'ordinalOf'>;
|
|
7
8
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
9
|
+
* A row as a module's context answers it, for the agent whose store it was
|
|
10
|
+
* read from:
|
|
11
|
+
*
|
|
12
|
+
* - `heldFromResidents` when it carries the stamp a tune-out puts on a
|
|
13
|
+
* message it holds from the residents (`metadata.tuneOut`). Every
|
|
14
|
+
* resident's viewFilter leaves a stamped row out of its compiled view
|
|
15
|
+
* (framework.ts, createAgent), and a tool boundary never presents one to a
|
|
16
|
+
* resident, so a marked row is one the store keeps and no resident is
|
|
17
|
+
* shown (ModuleMessage.heldFromResidents says where its text can still
|
|
18
|
+
* reach one). So is a row a suppress rule hid (`metadata.suppressed`),
|
|
19
|
+
* which no view shows either, nor any window presents (one stored before
|
|
20
|
+
* audience stamps stays in a window written down from the record; the
|
|
21
|
+
* view still leaves it out).
|
|
22
|
+
* - `held` when that agent's window (`window`) presents rows and doesn't
|
|
23
|
+
* hold it (#291): stored and not yet presented to the agent, which its
|
|
24
|
+
* next presentation point does, or taken out of it as an undone turn's,
|
|
25
|
+
* or one it is never presented, as a held row is for a resident. Never in
|
|
26
|
+
* legacy mode, where the window is the record. A resident's window
|
|
27
|
+
* written down from the record holds the held rows an earlier release
|
|
28
|
+
* stored, unstamped, so those read without `held`: `heldFromResidents`
|
|
29
|
+
* marks every held row.
|
|
30
|
+
*
|
|
31
|
+
* Any other row comes back as it is.
|
|
14
32
|
*/
|
|
15
|
-
export declare function
|
|
16
|
-
/**
|
|
17
|
-
* A row as a module's context answers it: marked `heldFromResidents` when it
|
|
18
|
-
* carries the stamp a tune-out puts on a message it holds from the residents
|
|
19
|
-
* (`metadata.tuneOut`). Every resident's viewFilter leaves a stamped row out
|
|
20
|
-
* of its compiled view (framework.ts, createAgent), and a resident's tool
|
|
21
|
-
* boundary stores a stamped write without injecting it into the live turn, so
|
|
22
|
-
* a marked row is one the store keeps and no resident is shown
|
|
23
|
-
* (ModuleMessage.heldFromResidents says where its text can still reach
|
|
24
|
-
* one). Any other row comes back as it is.
|
|
25
|
-
*/
|
|
26
|
-
export declare function asModuleRow<T extends Pick<StoredMessage, 'metadata'>>(row: T): T & {
|
|
33
|
+
export declare function asModuleRow<T extends Pick<StoredMessage, 'id' | 'metadata'>>(row: T, window?: ModuleRowWindow): T & {
|
|
27
34
|
heldFromResidents?: true;
|
|
35
|
+
held?: true;
|
|
28
36
|
};
|
|
29
37
|
//# sourceMappingURL=held-writes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"held-writes.d.ts","sourceRoot":"","sources":["../../src/held-writes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"held-writes.d.ts","sourceRoot":"","sources":["../../src/held-writes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAgB3F;;iEAEiE;AACjE,wBAAgB,WAAW,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAE7D;AAED,uEAAuE;AACvE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,UAAU,CAAC,EAC1E,GAAG,EAAE,CAAC,EACN,MAAM,CAAC,EAAE,eAAe,GACvB,CAAC,GAAG;IAAE,iBAAiB,CAAC,EAAE,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE,CAM/C"}
|