@plurnk/plurnk-service 1.26.0 → 1.28.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/.env.defaults +16 -25
- package/SPEC.md +338 -263
- package/dist/build-info.json +1 -1
- package/dist/content/body-preview.d.ts +1 -0
- package/dist/content/body-preview.d.ts.map +1 -1
- package/dist/content/body-preview.js +7 -0
- package/dist/content/body-preview.js.map +1 -1
- package/dist/content/byte-view.d.ts +19 -2
- package/dist/content/byte-view.d.ts.map +1 -1
- package/dist/content/byte-view.js +67 -14
- package/dist/content/byte-view.js.map +1 -1
- package/dist/content/edit-receipt.js +1 -1
- package/dist/content/edit-receipt.js.map +1 -1
- package/dist/content/line-marker.d.ts +1 -0
- package/dist/content/line-marker.d.ts.map +1 -1
- package/dist/content/line-marker.js +6 -1
- package/dist/content/line-marker.js.map +1 -1
- package/dist/content/line-selection.d.ts +3 -1
- package/dist/content/line-selection.d.ts.map +1 -1
- package/dist/content/line-selection.js +27 -3
- package/dist/content/line-selection.js.map +1 -1
- package/dist/content/matcher.d.ts +9 -14
- package/dist/content/matcher.d.ts.map +1 -1
- package/dist/content/matcher.js +51 -45
- package/dist/content/matcher.js.map +1 -1
- package/dist/content/pattern-edits.d.ts +7 -26
- package/dist/content/pattern-edits.d.ts.map +1 -1
- package/dist/content/pattern-edits.js +54 -91
- package/dist/content/pattern-edits.js.map +1 -1
- package/dist/content/read-projector.d.ts +2 -1
- package/dist/content/read-projector.d.ts.map +1 -1
- package/dist/content/read-projector.js +42 -10
- package/dist/content/read-projector.js.map +1 -1
- package/dist/content/read-resolve.d.ts.map +1 -1
- package/dist/content/read-resolve.js +7 -4
- package/dist/content/read-resolve.js.map +1 -1
- package/dist/core/AdmittedTurnExecutor.d.ts +3 -1
- package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
- package/dist/core/AdmittedTurnExecutor.js +22 -7
- package/dist/core/AdmittedTurnExecutor.js.map +1 -1
- package/dist/core/BudgetReadout.d.ts +4 -4
- package/dist/core/BudgetReadout.d.ts.map +1 -1
- package/dist/core/BudgetReadout.js +26 -41
- package/dist/core/BudgetReadout.js.map +1 -1
- package/dist/core/ChannelWrite.d.ts +2 -3
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +21 -22
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +26 -0
- package/dist/core/ContextFit.d.ts +26 -0
- package/dist/core/ContextFit.d.ts.map +1 -0
- package/dist/core/ContextFit.js +56 -0
- package/dist/core/ContextFit.js.map +1 -0
- package/dist/core/DataStatementRunner.d.ts.map +1 -1
- package/dist/core/DataStatementRunner.js +1 -0
- package/dist/core/DataStatementRunner.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +15 -2
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +148 -16
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/EditMutations.d.ts +5 -5
- package/dist/core/EditMutations.d.ts.map +1 -1
- package/dist/core/EditMutations.js +44 -50
- package/dist/core/EditMutations.js.map +1 -1
- package/dist/core/EditSequence.js +2 -2
- package/dist/core/EditSequence.js.map +1 -1
- package/dist/core/EmissionHead.d.ts +8 -0
- package/dist/core/EmissionHead.d.ts.map +1 -0
- package/dist/core/EmissionHead.js +29 -0
- package/dist/core/EmissionHead.js.map +1 -0
- package/dist/core/Engine.d.ts +1 -0
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +3 -0
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/InferenceCall.js +2 -2
- package/dist/core/InferenceCall.js.map +1 -1
- package/dist/core/InferenceCall.sql +1 -0
- package/dist/core/LiveSubscription.d.ts +20 -0
- package/dist/core/LiveSubscription.d.ts.map +1 -0
- package/dist/core/LiveSubscription.js +68 -0
- package/dist/core/LiveSubscription.js.map +1 -0
- package/dist/core/LiveSubscriptions.d.ts +1 -0
- package/dist/core/LiveSubscriptions.d.ts.map +1 -1
- package/dist/core/LiveSubscriptions.js +8 -0
- package/dist/core/LiveSubscriptions.js.map +1 -1
- package/dist/core/LogBody.js +1 -1
- package/dist/core/LogBody.js.map +1 -1
- package/dist/core/LogEntryProjection.d.ts +1 -0
- package/dist/core/LogEntryProjection.d.ts.map +1 -1
- package/dist/core/LogEntryProjection.js +9 -0
- package/dist/core/LogEntryProjection.js.map +1 -1
- package/dist/core/LogWriter.d.ts +42 -0
- package/dist/core/LogWriter.d.ts.map +1 -1
- package/dist/core/LogWriter.js +11 -5
- package/dist/core/LogWriter.js.map +1 -1
- package/dist/core/LoopDriver.js +2 -1
- package/dist/core/LoopDriver.js.map +1 -1
- package/dist/core/LoopLifecycle.d.ts +2 -2
- package/dist/core/LoopLifecycle.d.ts.map +1 -1
- package/dist/core/LoopLifecycle.js +2 -4
- package/dist/core/LoopLifecycle.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +1 -6
- package/dist/core/MutationEffects.d.ts +1 -3
- package/dist/core/MutationEffects.d.ts.map +1 -1
- package/dist/core/MutationEffects.js +2 -1
- package/dist/core/MutationEffects.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts +17 -4
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +80 -120
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/PacketBuilder.sql +4 -12
- package/dist/core/PatternSelection.d.ts +5 -10
- package/dist/core/PatternSelection.d.ts.map +1 -1
- package/dist/core/PatternSelection.js +9 -16
- package/dist/core/PatternSelection.js.map +1 -1
- package/dist/core/ResourceMutations.d.ts +2 -4
- package/dist/core/ResourceMutations.d.ts.map +1 -1
- package/dist/core/ResourceMutations.js +2 -5
- package/dist/core/ResourceMutations.js.map +1 -1
- package/dist/core/ResourceSelector.d.ts +2 -2
- package/dist/core/ResourceSelector.d.ts.map +1 -1
- package/dist/core/ResourceSelector.js +64 -33
- package/dist/core/ResourceSelector.js.map +1 -1
- package/dist/core/ResourceTransfers.d.ts +2 -4
- package/dist/core/ResourceTransfers.d.ts.map +1 -1
- package/dist/core/ResourceTransfers.js +74 -50
- package/dist/core/ResourceTransfers.js.map +1 -1
- package/dist/core/SchemeRegistry.d.ts +1 -0
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +11 -9
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/ServiceTeardown.d.ts +3 -2
- package/dist/core/ServiceTeardown.d.ts.map +1 -1
- package/dist/core/ServiceTeardown.js +17 -8
- package/dist/core/ServiceTeardown.js.map +1 -1
- package/dist/core/StopDeadline.d.ts +5 -0
- package/dist/core/StopDeadline.d.ts.map +1 -0
- package/dist/core/StopDeadline.js +20 -0
- package/dist/core/StopDeadline.js.map +1 -0
- package/dist/core/StrikeRail.d.ts.map +1 -1
- package/dist/core/StrikeRail.js +5 -1
- package/dist/core/StrikeRail.js.map +1 -1
- package/dist/core/ToolResources.d.ts.map +1 -1
- package/dist/core/ToolResources.js +11 -2
- package/dist/core/ToolResources.js.map +1 -1
- package/dist/core/TurnDispositionHandler.d.ts +4 -2
- package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
- package/dist/core/TurnDispositionHandler.js +24 -6
- package/dist/core/TurnDispositionHandler.js.map +1 -1
- package/dist/core/TurnMaterialization.d.ts +6 -2
- package/dist/core/TurnMaterialization.d.ts.map +1 -1
- package/dist/core/TurnMaterialization.js +64 -16
- package/dist/core/TurnMaterialization.js.map +1 -1
- package/dist/core/TurnOps.js +7 -7
- package/dist/core/TurnOps.js.map +1 -1
- package/dist/core/TurnRunner.d.ts +1 -0
- package/dist/core/TurnRunner.d.ts.map +1 -1
- package/dist/core/TurnRunner.js +155 -160
- package/dist/core/TurnRunner.js.map +1 -1
- package/dist/core/TurnRunner.sql +2 -2
- package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.js +13 -19
- package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
- package/dist/core/content-hash.d.ts +1 -1
- package/dist/core/content-hash.d.ts.map +1 -1
- package/dist/core/content-hash.js.map +1 -1
- package/dist/core/env-catalog.js +2 -2
- package/dist/core/env-catalog.js.map +1 -1
- package/dist/core/fork.sql +4 -10
- package/dist/core/git-env.d.ts +1 -1
- package/dist/core/git-env.d.ts.map +1 -1
- package/dist/core/git-env.js +19 -12
- package/dist/core/git-env.js.map +1 -1
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +11 -5
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/git-state.js +1 -1
- package/dist/core/git-state.js.map +1 -1
- package/dist/core/mutation-types.d.ts +6 -4
- package/dist/core/mutation-types.d.ts.map +1 -1
- package/dist/core/operation-target-groups.d.ts +1 -1
- package/dist/core/operation-target-groups.d.ts.map +1 -1
- package/dist/core/operation-target-groups.js +27 -5
- package/dist/core/operation-target-groups.js.map +1 -1
- package/dist/core/packet-wire.d.ts +80 -10
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +211 -227
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/provider-accounting.d.ts +1 -1
- package/dist/core/provider-accounting.d.ts.map +1 -1
- package/dist/core/provider-accounting.js +2 -1
- package/dist/core/provider-accounting.js.map +1 -1
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +3 -2
- package/dist/digest/Digest.js.map +1 -1
- package/dist/digest/DigestEvidence.d.ts +1 -0
- package/dist/digest/DigestEvidence.d.ts.map +1 -1
- package/dist/digest/DigestEvidence.js +6 -0
- package/dist/digest/DigestEvidence.js.map +1 -1
- package/dist/digest/DigestRender.d.ts +1 -0
- package/dist/digest/DigestRender.d.ts.map +1 -1
- package/dist/digest/DigestRender.js +107 -48
- package/dist/digest/DigestRender.js.map +1 -1
- package/dist/digest/DigestRequiem.js +4 -4
- package/dist/digest/DigestRequiem.js.map +1 -1
- package/dist/digest/digest-rows.d.ts +8 -0
- package/dist/digest/digest-rows.d.ts.map +1 -1
- package/dist/digest/digest-rows.js.map +1 -1
- package/dist/digest/digest.sql +20 -2
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +28 -27
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +1 -2
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +4 -17
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/TurnSource.js +2 -2
- package/dist/schemes/TurnSource.js.map +1 -1
- package/dist/schemes/_derivation-use.d.ts +7 -0
- package/dist/schemes/_derivation-use.d.ts.map +1 -0
- package/dist/schemes/_derivation-use.js +40 -0
- package/dist/schemes/_derivation-use.js.map +1 -0
- package/dist/schemes/_entry-crud.d.ts +6 -1
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +15 -49
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-find.sql +0 -11
- package/dist/schemes/_entry-fts.d.ts.map +1 -1
- package/dist/schemes/_entry-fts.js +9 -3
- package/dist/schemes/_entry-fts.js.map +1 -1
- package/dist/schemes/_entry-fts.sql +14 -8
- package/dist/schemes/_entry-graph.d.ts +5 -8
- package/dist/schemes/_entry-graph.d.ts.map +1 -1
- package/dist/schemes/_entry-graph.js +33 -72
- package/dist/schemes/_entry-graph.js.map +1 -1
- package/dist/schemes/_entry-graph.sql +30 -48
- package/dist/schemes/_entry-manifest.d.ts +5 -0
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +5 -0
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts +1 -1
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +4 -11
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_search-index.d.ts +10 -0
- package/dist/schemes/_search-index.d.ts.map +1 -1
- package/dist/schemes/_search-index.js +33 -1
- package/dist/schemes/_search-index.js.map +1 -1
- package/dist/schemes/exec-lifetime.d.ts.map +1 -1
- package/dist/schemes/exec-lifetime.js +1 -2
- package/dist/schemes/exec-lifetime.js.map +1 -1
- package/dist/server/Daemon.d.ts +2 -1
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +31 -35
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DrainSupervisor.d.ts +2 -1
- package/dist/server/DrainSupervisor.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.js +37 -56
- package/dist/server/DrainSupervisor.js.map +1 -1
- package/dist/server/Functionality.d.ts +1 -1
- package/dist/server/Functionality.d.ts.map +1 -1
- package/dist/server/Functionality.js +24 -11
- package/dist/server/Functionality.js.map +1 -1
- package/dist/server/FunctionalityManager.js +2 -2
- package/dist/server/FunctionalityManager.js.map +1 -1
- package/dist/server/Retention.d.ts.map +1 -1
- package/dist/server/Retention.js +7 -3
- package/dist/server/Retention.js.map +1 -1
- package/dist/server/drain.sql +0 -6
- package/dist/server/seam-loop.sql +1 -1
- package/dist/service.js +1 -1
- package/dist/service.js.map +1 -1
- package/docs/env.md +4 -3
- package/migrations/013_graph_regions.sql +32 -0
- package/migrations/014_stream_timing.sql +4 -0
- package/migrations/015_request_evidence.sql +4 -0
- package/package.json +34 -34
- package/dist/core/KnownToxins.d.ts +0 -4
- package/dist/core/KnownToxins.d.ts.map +0 -1
- package/dist/core/KnownToxins.js +0 -22
- package/dist/core/KnownToxins.js.map +0 -1
- package/dist/core/ReasoningView.d.ts +0 -12
- package/dist/core/ReasoningView.d.ts.map +0 -1
- package/dist/core/ReasoningView.js +0 -40
- package/dist/core/ReasoningView.js.map +0 -1
- package/dist/server/exec-poll-backoff.d.ts +0 -2
- package/dist/server/exec-poll-backoff.d.ts.map +0 -1
- package/dist/server/exec-poll-backoff.js +0 -6
- package/dist/server/exec-poll-backoff.js.map +0 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Knob } from "@plurnk/plurnk-meta";
|
|
2
|
+
// {§crash-only-stop}: one absolute budget across daemon drains and enclosing resource cleanup.
|
|
3
|
+
export default class StopDeadline {
|
|
4
|
+
#expires = Date.now() + Knob.integer("PLURNK_SERVICE_STOP_TIMEOUT_MS", 1);
|
|
5
|
+
settle(label, wait) {
|
|
6
|
+
return new Promise((resolve) => {
|
|
7
|
+
let settled = false;
|
|
8
|
+
const finish = (result) => {
|
|
9
|
+
if (settled)
|
|
10
|
+
return;
|
|
11
|
+
settled = true;
|
|
12
|
+
clearTimeout(timer);
|
|
13
|
+
resolve(result);
|
|
14
|
+
};
|
|
15
|
+
const timer = setTimeout(() => finish({ status: "rejected", reason: new Error(`stop deadline exceeded waiting for ${label}`) }), Math.max(0, this.#expires - Date.now()));
|
|
16
|
+
Promise.resolve().then(wait).then((value) => finish({ status: "fulfilled", value }), (reason) => finish({ status: "rejected", reason }));
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=StopDeadline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StopDeadline.js","sourceRoot":"","sources":["../../src/core/StopDeadline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,+FAA+F;AAC/F,MAAM,CAAC,OAAO,OAAO,YAAY;IACpB,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;IAEnF,MAAM,CAAI,KAAa,EAAE,IAAsB;QAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,MAAM,GAAG,CAAC,MAA+B,EAAQ,EAAE;gBACrD,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,UAAU,CACpB,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,EAAE,CAAC,EACtG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAC1C,CAAC;YACF,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAC7B,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EACjD,CAAC,MAAe,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAC9D,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StrikeRail.d.ts","sourceRoot":"","sources":["../../src/core/StrikeRail.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"StrikeRail.d.ts","sourceRoot":"","sources":["../../src/core/StrikeRail.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAW3D,MAAM,MAAM,aAAa,GAAG;IAExB,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC,CAAC;AAKF,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,CAAC;AAQvE,eAAO,MAAM,UAAU,cAAe,eAAe,UAAU,MAAM,KAAG,OAGmB,CAAC;AAW5F,MAAM,CAAC,OAAO,OAAO,UAAU;;IAI3B,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,MAAM,CAoB5G;IAOD,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;IAKD,MAAM,CAAC,WAAW,CACd,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,EAC9B,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACvB;QAAE,QAAQ,EAAE,KAAK,CAAA;KAAE,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAe1E;IAID,YAAY,EAAE,EAAE,EAAE,EAEjB;IASK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE5C;IAIK,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAC/B,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;QAEvC,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAA;KAAE,CAAC,CAsCjG;CACJ"}
|
package/dist/core/StrikeRail.js
CHANGED
|
@@ -6,7 +6,10 @@ import { isExecutionOp } from "@plurnk/plurnk-contracts";
|
|
|
6
6
|
// including a completion READ ({§exec-stream}).
|
|
7
7
|
const SOFT_FAILURE_STATUSES = new Set([404, 409, 416, 425, 501]);
|
|
8
8
|
const EXECUTOR_EVIDENCE_PREFIX = "https://problems.plurnk.xyz/executor/";
|
|
9
|
+
// {§matcher-refusal} — a fumbled pattern refuses its one operation and is never a contract strike.
|
|
10
|
+
const UNREADABLE_PATTERN = "https://problems.plurnk.xyz/grammar/matcher/unreadable-pattern";
|
|
9
11
|
const isExecutorEvidence = ({ problemType }) => typeof problemType === "string" && problemType.startsWith(EXECUTOR_EVIDENCE_PREFIX);
|
|
12
|
+
const isUnreadablePattern = ({ problemType }) => problemType === UNREADABLE_PATTERN;
|
|
10
13
|
// {§strike-progress-immunity} — only an operation that acts on the task and succeeds is progress;
|
|
11
14
|
// NOTE, WAIT, a parameterless KILL and a targetless SEND steer the loop instead.
|
|
12
15
|
export const isProgress = (statement, status) => status < 400
|
|
@@ -108,7 +111,8 @@ export default class StrikeRail {
|
|
|
108
111
|
const recordedFailed = !turn.progressed && turn.outcomes.some((outcome) => !isExecutionOp(outcome.op)
|
|
109
112
|
&& outcome.status >= 400
|
|
110
113
|
&& !SOFT_FAILURE_STATUSES.has(outcome.status)
|
|
111
|
-
&& !isExecutorEvidence(outcome)
|
|
114
|
+
&& !isExecutorEvidence(outcome)
|
|
115
|
+
&& !isUnreadablePattern(outcome));
|
|
112
116
|
// {§empty-turn} — a turn with no operation is one progress-contract strike.
|
|
113
117
|
const struck = recordedFailed || cycle.detected || turn.emptyTurn === true;
|
|
114
118
|
const streak = struck ? state.strike_streak + 1 : 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StrikeRail.js","sourceRoot":"","sources":["../../src/core/StrikeRail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,gHAAgH;AAChH,6FAA6F;AAC7F,4FAA4F;AAC5F,gDAAgD;AAChD,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACtF,MAAM,wBAAwB,GAAG,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"StrikeRail.js","sourceRoot":"","sources":["../../src/core/StrikeRail.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolResources.d.ts","sourceRoot":"","sources":["../../src/core/ToolResources.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACtB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,UAAU;IAChB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE9C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACnC;AAmKD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnE;IAED,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG3C;IAED,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"ToolResources.d.ts","sourceRoot":"","sources":["../../src/core/ToolResources.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACtB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,UAAU;IAChB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE9C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACnC;AAmKD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnE;IAED,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG3C;IAED,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,EAAE,CAgFhD;CACJ"}
|
|
@@ -153,6 +153,11 @@ export default class ToolResources {
|
|
|
153
153
|
return [];
|
|
154
154
|
// Declaration order is the taught order (a family's lifecycle verbs, a server's tools).
|
|
155
155
|
const tools = source.registry.tools;
|
|
156
|
+
// {§executor-tool-catalog} — registry validation guarantees all definitions or none.
|
|
157
|
+
const catalog = tools[0].definition === undefined ? [] : [{
|
|
158
|
+
pathname: `${childrenRoot}.json`,
|
|
159
|
+
content: JSON.stringify({ tools: tools.map(({ definition }) => definition) }, null, 2),
|
|
160
|
+
}];
|
|
156
161
|
const schemaPath = (target) => `${childrenRoot}/${ToolResources.targetSegment(target)}.json`;
|
|
157
162
|
// {§scheme-catalog-aside} — the family's summary is its complete menu: every tool inside
|
|
158
163
|
// the invocation form, shown whole by the catalog, so the discovery row invokes without a READ.
|
|
@@ -177,8 +182,12 @@ export default class ToolResources {
|
|
|
177
182
|
const detailsBlock = [source.details.trimEnd(), ...sections]
|
|
178
183
|
.filter((part) => part.length > 0)
|
|
179
184
|
.join("\n\n");
|
|
180
|
-
const family = renderDocument(source.runtime, summary, [
|
|
181
|
-
|
|
185
|
+
const family = renderDocument(source.runtime, summary, [
|
|
186
|
+
"## Tools", "",
|
|
187
|
+
...catalog.map(({ pathname }) => `Complete tool definitions: ${inlineCode(`worker://${pathname}`)}.\n`),
|
|
188
|
+
familyInvocations.join("\n\n"),
|
|
189
|
+
], detailsBlock);
|
|
190
|
+
return [{ pathname, content: family }, ...tools.flatMap((tool) => tool.invocation.inputSchema === undefined ? [] : [schemaDocument(schemaPath(tool.target), `${source.runtime}: ${tool.target}`, tool.invocation.inputSchema, tool.details ?? "")]), ...catalog];
|
|
182
191
|
}
|
|
183
192
|
}
|
|
184
193
|
//# sourceMappingURL=ToolResources.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolResources.js","sourceRoot":"","sources":["../../src/core/ToolResources.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToolResources.js","sourceRoot":"","sources":["../../src/core/ToolResources.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { Db } from "./Db.ts";
|
|
|
2
2
|
import type { WriterTier } from "./scheme-types.ts";
|
|
3
3
|
import LoopLifecycle from "./LoopLifecycle.ts";
|
|
4
4
|
import type { DispatchResult } from "./Dispatcher.ts";
|
|
5
|
+
import type { DispositionStatement } from "@plurnk/plurnk-contracts";
|
|
5
6
|
export interface PacketBoundaries {
|
|
6
7
|
operations: Array<{
|
|
7
8
|
op: string;
|
|
@@ -24,6 +25,7 @@ type TurnContext = {
|
|
|
24
25
|
};
|
|
25
26
|
export default class TurnDispositionHandler {
|
|
26
27
|
#private;
|
|
28
|
+
static configuredWaitSeconds(): number;
|
|
27
29
|
constructor({ db, lifecycle, unobservedFailureCount, pendingSet, hasLiveWork }: {
|
|
28
30
|
db: Db;
|
|
29
31
|
lifecycle: LoopLifecycle;
|
|
@@ -31,9 +33,9 @@ export default class TurnDispositionHandler {
|
|
|
31
33
|
pendingSet: (workerId: number, turnId: number, loopId: number) => Promise<CompletionEvidence>;
|
|
32
34
|
hasLiveWork: (loopId: number) => Promise<boolean>;
|
|
33
35
|
});
|
|
34
|
-
handle(ctx: TurnContext): Promise<DispatchResult>;
|
|
36
|
+
handle(ctx: TurnContext, statement: DispositionStatement): Promise<DispatchResult>;
|
|
35
37
|
completion(ctx: TurnContext, eligible: boolean): Promise<DispatchResult>;
|
|
36
|
-
settle(ctx: TurnContext,
|
|
38
|
+
settle(ctx: TurnContext, waits: readonly DispositionStatement[], finalResponse: boolean): Promise<number>;
|
|
37
39
|
}
|
|
38
40
|
export {};
|
|
39
41
|
//# sourceMappingURL=TurnDispositionHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TurnDispositionHandler.d.ts","sourceRoot":"","sources":["../../src/core/TurnDispositionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"TurnDispositionHandler.d.ts","sourceRoot":"","sources":["../../src/core/TurnDispositionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGrE,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACrD,kBAAkB,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,iBAAiB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,uBAAuB,GAAG,gBAAgB,CAAC,CAAC;IAChG,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,KAAK,WAAW,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE5F,MAAM,CAAC,OAAO,OAAO,sBAAsB;;IACvC,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAQrC;IAQD,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE;QAC5E,EAAE,EAAE,EAAE,CAAC;QACP,SAAS,EAAE,aAAa,CAAC;QACzB,sBAAsB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC9F,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KACrD,EAMA;IAEK,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAOvF;IAEK,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAG7E;IAEK,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,oBAAoB,EAAE,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB9G;CAuBJ"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import TerminalResult from "./TerminalResult.js";
|
|
2
|
+
import { ConfigurationError, Knob } from "@plurnk/plurnk-meta";
|
|
2
3
|
export default class TurnDispositionHandler {
|
|
4
|
+
static configuredWaitSeconds() {
|
|
5
|
+
const retired = { PLURNK_SERVICE_EXEC_POLL_SEC: true, PLURNK_SERVICE_EXEC_POLL_TURNS: true };
|
|
6
|
+
for (const key of Object.keys(retired)) {
|
|
7
|
+
if (process.env[key]) {
|
|
8
|
+
throw new ConfigurationError(key, `${key} is retired: use PLURNK_SERVICE_WAIT_SEC for the maximum park duration.`);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return Knob.integer("PLURNK_SERVICE_WAIT_SEC", 1);
|
|
12
|
+
}
|
|
3
13
|
#db;
|
|
4
14
|
#lifecycle;
|
|
5
15
|
#unobservedFailureCount;
|
|
@@ -12,10 +22,12 @@ export default class TurnDispositionHandler {
|
|
|
12
22
|
this.#pendingSet = pendingSet;
|
|
13
23
|
this.#hasLiveWork = hasLiveWork;
|
|
14
24
|
}
|
|
15
|
-
async handle(ctx) {
|
|
25
|
+
async handle(ctx, statement) {
|
|
16
26
|
// {§wait-obligation-matrix}: record intent now; settle the complete program before parking.
|
|
17
|
-
if (await this.#hasLiveWork(ctx.loopId))
|
|
18
|
-
|
|
27
|
+
if (await this.#hasLiveWork(ctx.loopId)) {
|
|
28
|
+
const seconds = statement.lineMarker?.marks[0] ?? TurnDispositionHandler.configuredWaitSeconds();
|
|
29
|
+
return { status: seconds === 0 ? 102 : 202, attrs: { waiting: seconds } };
|
|
30
|
+
}
|
|
19
31
|
return { status: 102, detail: "Nothing is in flight. Continuing." };
|
|
20
32
|
}
|
|
21
33
|
async completion(ctx, eligible) {
|
|
@@ -23,13 +35,19 @@ export default class TurnDispositionHandler {
|
|
|
23
35
|
return { status: 102, detail: "Completion deferred. Conclude with KILL alone." };
|
|
24
36
|
return this.#assess(ctx, false, true);
|
|
25
37
|
}
|
|
26
|
-
async settle(ctx,
|
|
38
|
+
async settle(ctx, waits, finalResponse) {
|
|
27
39
|
const status = await this.#lifecycle.status(ctx.loopId);
|
|
28
40
|
if (![100, 102, 202].includes(status))
|
|
29
41
|
return status;
|
|
30
|
-
const decision = await this.#assess(ctx,
|
|
42
|
+
const decision = await this.#assess(ctx, waits.length > 0, finalResponse);
|
|
31
43
|
if (decision.status === 202) {
|
|
32
|
-
|
|
44
|
+
const configured = TurnDispositionHandler.configuredWaitSeconds();
|
|
45
|
+
const seconds = waits.length === 0 ? configured
|
|
46
|
+
: Math.min(...waits.map((statement) => statement.lineMarker?.marks[0] ?? configured));
|
|
47
|
+
if (seconds === 0)
|
|
48
|
+
return 102;
|
|
49
|
+
const pollAt = Math.ceil(Date.now() + seconds * 1000);
|
|
50
|
+
return await this.#lifecycle.park(ctx.loopId, { wakenBy: "obligations", pollAt }) ? 202 : this.#lifecycle.status(ctx.loopId);
|
|
33
51
|
}
|
|
34
52
|
if (decision.status !== 200 || ctx.origin !== "model")
|
|
35
53
|
return decision.status;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TurnDispositionHandler.js","sourceRoot":"","sources":["../../src/core/TurnDispositionHandler.ts"],"names":[],"mappings":"AAGA,OAAO,cAAc,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"TurnDispositionHandler.js","sourceRoot":"","sources":["../../src/core/TurnDispositionHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Db } from "./Db.ts";
|
|
2
2
|
import { type FsDivergence } from "./git-membership.ts";
|
|
3
3
|
import { type GitStatusSnapshot } from "./git-state.ts";
|
|
4
|
-
import type
|
|
4
|
+
import { type Mimetypes } from "@plurnk/plurnk-mimetypes";
|
|
5
|
+
import { type ContextFit } from "./ContextFit.ts";
|
|
5
6
|
export default class TurnMaterialization {
|
|
6
7
|
#private;
|
|
7
8
|
constructor({ db, weighContent, mimetypes }: {
|
|
@@ -22,9 +23,11 @@ export default class TurnMaterialization {
|
|
|
22
23
|
loopId: number;
|
|
23
24
|
turnId: number;
|
|
24
25
|
fromSequence: number;
|
|
26
|
+
fit?: ContextFit;
|
|
25
27
|
}): Promise<number[]>;
|
|
26
28
|
logFsFictions(workspaceId: number, divergences: FsDivergence[], gitStatus: GitStatusSnapshot | null): Promise<void>;
|
|
27
|
-
writeArrivalLog({ workerId, loopId, turnId, sequence, body, source, resource, selfAddressed, }: {
|
|
29
|
+
writeArrivalLog({ workspaceId, workerId, loopId, turnId, sequence, body, source, resource, selfAddressed, fit, }: {
|
|
30
|
+
workspaceId: number;
|
|
28
31
|
workerId: number;
|
|
29
32
|
loopId: number;
|
|
30
33
|
turnId: number;
|
|
@@ -33,6 +36,7 @@ export default class TurnMaterialization {
|
|
|
33
36
|
source: string | null;
|
|
34
37
|
resource: string;
|
|
35
38
|
selfAddressed?: boolean;
|
|
39
|
+
fit?: ContextFit;
|
|
36
40
|
}): Promise<number>;
|
|
37
41
|
}
|
|
38
42
|
//# sourceMappingURL=TurnMaterialization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TurnMaterialization.d.ts","sourceRoot":"","sources":["../../src/core/TurnMaterialization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAgBxD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"TurnMaterialization.d.ts","sourceRoot":"","sources":["../../src/core/TurnMaterialization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAgBxD,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE3E,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAErF,MAAM,CAAC,OAAO,OAAO,mBAAmB;;IAKpC,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE;QACzC,EAAE,EAAE,EAAE,CAAC;QACP,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;QACvC,SAAS,EAAE,SAAS,CAAC;KACxB,EAIA;IAEK,4BAA4B,CAAC,IAAI,EAAE;QACrC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;KAC/F,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwHpB;IAGK,uBAAuB,CAAC,IAAI,EAAE;QAChC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAE5F,GAAG,CAAC,EAAE,UAAU,CAAC;KACpB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwHpB;IA+BK,aAAa,CACf,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,YAAY,EAAE,EAC3B,SAAS,EAAE,iBAAiB,GAAG,IAAI,GACpC,OAAO,CAAC,IAAI,CAAC,CAgEf;IAQK,eAAe,CAAC,EAClB,WAAW,EACX,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,aAAqB,EACrB,GAAG,GACN,EAAE;QACC,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QAGjB,aAAa,CAAC,EAAE,OAAO,CAAC;QAGxB,GAAG,CAAC,EAAE,UAAU,CAAC;KACpB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmDlB;CAKJ"}
|
|
@@ -13,6 +13,9 @@ import AdministrativeLoop from "./AdministrativeLoop.js";
|
|
|
13
13
|
import RuntimeWorker from "./RuntimeWorker.js";
|
|
14
14
|
import LogBody from "./LogBody.js";
|
|
15
15
|
import LogVisibility from "./LogVisibility.js";
|
|
16
|
+
import { TextCoordinates } from "@plurnk/plurnk-mimetypes";
|
|
17
|
+
import PacketWire from "./packet-wire.js";
|
|
18
|
+
import { reserved, resultSize, unfitResult } from "./ContextFit.js";
|
|
16
19
|
export default class TurnMaterialization {
|
|
17
20
|
#db;
|
|
18
21
|
#weighContent;
|
|
@@ -119,7 +122,7 @@ export default class TurnMaterialization {
|
|
|
119
122
|
return entryIds;
|
|
120
123
|
}
|
|
121
124
|
async materializeStreamDeltas(args) {
|
|
122
|
-
const { workerId, loopId, turnId, fromSequence } = args;
|
|
125
|
+
const { workspaceId, workerId, loopId, turnId, fromSequence, fit } = args;
|
|
123
126
|
const channels = await this.#db.engine_worker_stream_channels.all({ worker_id: workerId });
|
|
124
127
|
const entryIds = [];
|
|
125
128
|
// {§exec-stream} — a concluded stream lands one row per channel that has content; an empty
|
|
@@ -150,7 +153,10 @@ export default class TurnMaterialization {
|
|
|
150
153
|
for (const ch of kept)
|
|
151
154
|
siblings.set(ch.publication_id, empties);
|
|
152
155
|
}
|
|
153
|
-
|
|
156
|
+
// {§context-fit} — the rows this pass lands, known before the first one is measured.
|
|
157
|
+
const landing = channels.filter((ch) => (ch.state === "closed" || ch.state === "errored")
|
|
158
|
+
&& ch.producer_result !== null && !skipped.has(ch.publication_id));
|
|
159
|
+
for (const [index, ch] of landing.entries()) {
|
|
154
160
|
// Default channels are an implementation detail. Preserve the
|
|
155
161
|
// channel internally on the entry/subscription, but present the
|
|
156
162
|
// ordinary address to the model; only an explicitly non-default
|
|
@@ -162,22 +168,18 @@ export default class TurnMaterialization {
|
|
|
162
168
|
const targetParts = authorityParts(ch.authority);
|
|
163
169
|
// {§exec-stream} — nothing publishes while a stream is active: the Delegation streams
|
|
164
170
|
// section reports its size and growth ({§child-orientation}); the model READs any
|
|
165
|
-
// range it wants. At close, ONE foisted READ that is exactly a markerless READ —
|
|
166
|
-
//
|
|
167
|
-
|
|
168
|
-
|
|
171
|
+
// range it wants. At close, ONE foisted READ that is exactly a markerless READ — the first
|
|
172
|
+
// page ({§markerless-first-page}, {§exec-stream-page}), whole when it fits the budget and
|
|
173
|
+
// otherwise its size ({§context-fit}) — with the extent, the terminal status and Problem,
|
|
174
|
+
// initially visible.
|
|
169
175
|
// {§stream-observation-result} — the terminal result lands in a separate write after
|
|
170
|
-
// the executor closes the channel (#818).
|
|
171
|
-
if (ch.producer_result === null)
|
|
172
|
-
continue;
|
|
173
|
-
if (skipped.has(ch.publication_id))
|
|
174
|
-
continue;
|
|
176
|
+
// the executor closes the channel (#818); `landing` holds only channels that have one.
|
|
175
177
|
// {§validation-topology}: a stored result is chapter 5's; it is parsed, not re-asserted.
|
|
176
178
|
const terminal = JSON.parse(ch.producer_result);
|
|
177
179
|
const sequence = fromSequence + entryIds.length;
|
|
178
180
|
const page = await ReadResolve.resolve({ content: ch.content, mimetype: ch.mimetype, lineMarker: null });
|
|
179
181
|
const emptySiblings = siblings.get(ch.publication_id) ?? {};
|
|
180
|
-
const
|
|
182
|
+
const whole = Results.assert({
|
|
181
183
|
...terminal,
|
|
182
184
|
terminal: true,
|
|
183
185
|
...(terminal.problem === undefined ? {} : { problem: { ...terminal.problem } }),
|
|
@@ -188,6 +190,25 @@ export default class TurnMaterialization {
|
|
|
188
190
|
...(page.range === undefined ? {} : { range: page.range }),
|
|
189
191
|
...(page.range !== undefined || page.region === undefined ? {} : { region: page.region }),
|
|
190
192
|
});
|
|
193
|
+
const streamRow = (rendered) => ({
|
|
194
|
+
id: null, loop_seq: 0, turn_seq: 0, sequence, origin: "_plurnk", op: "READ", signal: null,
|
|
195
|
+
scheme: ch.runtime, username: null, password: null, hostname: targetParts.hostname, port: targetParts.port,
|
|
196
|
+
pathname: ch.coord, query: null, fragment: visibleFragment,
|
|
197
|
+
status_rx: rendered.status, rx: JSON.stringify(rendered), mimetype_rx: "application/json",
|
|
198
|
+
tx: "", mimetype_tx: "text/plain",
|
|
199
|
+
initial_folded: LogVisibility.serialize(LogVisibility.OPEN), folded: LogVisibility.serialize(LogVisibility.OPEN),
|
|
200
|
+
source: null, attrs: JSON.stringify({ streamEnd: ch.content.length }), producer: "_plurnk",
|
|
201
|
+
});
|
|
202
|
+
const unfit = await this.#unfit(workspaceId, loopId, turnId, fit === undefined ? undefined : reserved(fit, landing.length - index - 1), whole.content, () => streamRow(whole));
|
|
203
|
+
// {§context-fit} — too large for the remaining budget: the terminal's own status and Problem stay
|
|
204
|
+
// when the stream failed; a clean close becomes the 413 receipt. The output remains at the stream.
|
|
205
|
+
const result = unfit === null ? whole : Results.assert(terminal.status >= 400 && terminal.problem !== undefined
|
|
206
|
+
? { ...whole, content: "", problem: { ...terminal.problem, ...unfit.facts } }
|
|
207
|
+
: unfitResult({
|
|
208
|
+
terminal: true, mimetype: page.mimetype,
|
|
209
|
+
...(Object.keys(emptySiblings).length === 0 ? {} : { channels: emptySiblings }),
|
|
210
|
+
...(page.range === undefined ? {} : { range: page.range }),
|
|
211
|
+
}, resultSize(page), unfit.tokens, unfit.remaining));
|
|
191
212
|
if (result.problem !== undefined && result.problem.instance === undefined) {
|
|
192
213
|
const seqs = await this.#db.engine_loop_turn_seqs.get({
|
|
193
214
|
loop_id: loopId,
|
|
@@ -222,6 +243,24 @@ export default class TurnMaterialization {
|
|
|
222
243
|
}
|
|
223
244
|
return entryIds;
|
|
224
245
|
}
|
|
246
|
+
// {§context-fit} — whether one row to be landed fits the remaining budget: null when it fits or no
|
|
247
|
+
// budget exists; otherwise its tokens, the remaining budget, and the facts a receipt names.
|
|
248
|
+
async #unfit(workspaceId, loopId, turnId, fit, content, row) {
|
|
249
|
+
if (fit === undefined || typeof content !== "string" || content.length === 0)
|
|
250
|
+
return null;
|
|
251
|
+
const remaining = await fit.remaining();
|
|
252
|
+
if (remaining === null)
|
|
253
|
+
return null;
|
|
254
|
+
const seqs = await this.#db.engine_loop_turn_seqs.get({ loop_id: loopId, turn_id: turnId });
|
|
255
|
+
if (seqs === undefined)
|
|
256
|
+
throw new Error(`TurnMaterialization: loop_turn_seqs returned no row for loop=${loopId} turn=${turnId}`);
|
|
257
|
+
const workspace = await this.#db.envelope_get_workspace.get({ id: workspaceId });
|
|
258
|
+
const built = row(seqs);
|
|
259
|
+
const tokens = PacketWire.rowTokens(PacketWire.entryView({ ...built, loop_seq: seqs.loop_seq, turn_seq: seqs.turn_seq }), this.#weighContent, { projectRoot: workspace?.project_root ?? null });
|
|
260
|
+
if (tokens <= remaining)
|
|
261
|
+
return null;
|
|
262
|
+
return { tokens, remaining, facts: { lines: TextCoordinates.logicalLines(content).length, tokens, remaining } };
|
|
263
|
+
}
|
|
225
264
|
// {§env-delta-filesystem-narration} {§membership-emi-divergence-signal}
|
|
226
265
|
// — record project-file divergence once through the reserved actor.
|
|
227
266
|
async logFsFictions(workspaceId, divergences, gitStatus) {
|
|
@@ -297,9 +336,18 @@ export default class TurnMaterialization {
|
|
|
297
336
|
// sent side, published by the harness (origin `_plurnk`) with the causal `source` when another
|
|
298
337
|
// actor caused it ({§message-causal-source}). `attrs.kind = "message"` tells it from the
|
|
299
338
|
// engine's other harness-published SEND rows: observed activity and addressed replies.
|
|
300
|
-
async writeArrivalLog({ workerId, loopId, turnId, sequence, body, source, resource, selfAddressed = false, }) {
|
|
339
|
+
async writeArrivalLog({ workspaceId, workerId, loopId, turnId, sequence, body, source, resource, selfAddressed = false, fit, }) {
|
|
301
340
|
const tx = JSON.stringify({ op: "SEND", aside: null, target: null, metadata: null, lineMarker: null, matcher: null, body: { raw: body } });
|
|
302
341
|
const rx = JSON.stringify({ status: 200, resource });
|
|
342
|
+
const baseAttrs = selfAddressed ? { kind: "message", selfAddressed: true } : { kind: "message" };
|
|
343
|
+
const unfit = await this.#unfit(workspaceId, loopId, turnId, fit, body, (seqs) => ({
|
|
344
|
+
id: null, loop_seq: seqs.loop_seq, turn_seq: seqs.turn_seq, sequence, origin: "_plurnk", op: "SEND", signal: null,
|
|
345
|
+
scheme: null, username: null, password: null, hostname: null, port: null, pathname: null, query: null, fragment: null,
|
|
346
|
+
status_rx: 200, rx, mimetype_rx: "application/json", tx, mimetype_tx: "application/json",
|
|
347
|
+
initial_folded: LogVisibility.serialize(LogVisibility.OPEN), folded: LogVisibility.serialize(LogVisibility.OPEN),
|
|
348
|
+
source, attrs: JSON.stringify(baseAttrs), producer: "model",
|
|
349
|
+
}));
|
|
350
|
+
const attrs = unfit === null ? baseAttrs : { ...baseAttrs, unfit: { lines: unfit.facts.lines, tokens: unfit.tokens } };
|
|
303
351
|
const row = await this.#db.engine_insert_log_entry.get({
|
|
304
352
|
worker_id: workerId,
|
|
305
353
|
loop_id: loopId,
|
|
@@ -326,7 +374,7 @@ export default class TurnMaterialization {
|
|
|
326
374
|
status_rx: 200,
|
|
327
375
|
weight: LogBody.weight({
|
|
328
376
|
op: "SEND",
|
|
329
|
-
attrs
|
|
377
|
+
attrs,
|
|
330
378
|
tx,
|
|
331
379
|
rx,
|
|
332
380
|
mimetypeTx: "application/json",
|
|
@@ -334,8 +382,8 @@ export default class TurnMaterialization {
|
|
|
334
382
|
}, this.#weighContent),
|
|
335
383
|
state: "resolved",
|
|
336
384
|
outcome: null,
|
|
337
|
-
attrs: JSON.stringify(
|
|
338
|
-
initial_folded: LogVisibility.serialize(LogVisibility.OPEN),
|
|
385
|
+
attrs: JSON.stringify(attrs),
|
|
386
|
+
initial_folded: LogVisibility.serialize(unfit === null ? LogVisibility.OPEN : LogVisibility.FOLDED),
|
|
339
387
|
});
|
|
340
388
|
if (row === undefined)
|
|
341
389
|
throw new Error("TurnMaterialization.writeArrivalLog: INSERT ... RETURNING produced no row");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TurnMaterialization.js","sourceRoot":"","sources":["../../src/core/TurnMaterialization.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,OAA8B,MAAM,cAAc,CAAC;AAC1D,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAC3B,GAAG,CAAK;IACR,aAAa,CAA2B;IACxC,UAAU,CAAY;IAE/B,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAIxC;QACG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,IAElC;QACG,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QACrE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,GAAG,CA6BvD,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,4BAA4B,CAAC,CAAC;QACxG,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,kBAAkB,KAAK,IAAI,IAAI,CAAC,CAAC,oBAAoB,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI;mBACvG,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI;mBACzE,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI;gBAAE,SAAS;YACrG,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC;YAClD,MAAM,QAAQ,GAAG,WAAW;gBACxB,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,kCAAkC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC5E,CAAC,CAAC,IAAI,CAAC;YACX,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,SAAS,8CAA8C,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACvJ,CAAC;YACD,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;YAC5B,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YACd,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAC;gBAC/C,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oBAClF,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC,QAAQ,0BAA0B,CAAC,CAAC;gBAChG,CAAC;gBACD,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;oBACnB,GAAG,SAAS;oBACZ,IAAI,EAAE,kBAAkB;oBACxB,GAAG,CAAC,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;iBACzE,CAAC,CAAC;gBACH,kFAAkF;gBAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;gBACrD,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;oBAClE,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACrE,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,SAAS,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACzE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC;oBAC5C,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;wBAClF,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC/D,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,oBAAoB,EAAE,KAAK;oBACpE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU;oBAChE,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC;iBACxG,CAAC,CAAC,CAAC;YACR,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,CAAiB;gBAC5E,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,QAAQ,CAAC,MAAM;gBAC/F,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBAC3D,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,EAAE;gBACF,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,MAAM,EAAE,CAAC,CAAC,SAAS;gBACnB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;oBACnB,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,KAAK;oBACL,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,EAAE;oBACF,UAAU,EAAE,CAAC,CAAC,WAAW;oBACzB,UAAU,EAAE,CAAC,CAAC,WAAW;iBAC5B,EAAE,IAAI,CAAC,aAAa,CAAC;gBACtB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;gBACpH,KAAK;aACR,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,QAAQ,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAiB;gBACxF,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACvB,CAAC,CAAC;YACH,IAAI,YAAY,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,gDAAgD,CAAC,CAAC;YAC7H,IAAI,QAAQ,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,CAAC;YAC7C,YAAY,EAAE,WAAW;YACzB,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC5B,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IACpB,CAAC;IAGD,KAAK,CAAC,uBAAuB,CAAC,IAE7B;QACG,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,CAK9D,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,2FAA2F;QAC3F,yFAAyF;QACzF,oFAAoF;QACpF,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA2B,CAAC;QAChE,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YACxB,IAAI,EAAE,CAAC,KAAK,KAAK,QAAQ,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS;gBAAE,SAAS;YAC9D,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACxH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YAC5C,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAAE,SAAS;gBAChC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;gBAC/B,MAAM,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACjI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAChH,KAAK,MAAM,EAAE,IAAI,IAAI;gBAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YACxB,8DAA8D;YAC9D,gEAAgE;YAChE,gEAAgE;YAChE,uCAAuC;YACvC,MAAM,eAAe,GAAG,EAAE,CAAC,iBAAiB,KAAK,IAAI;mBAC9C,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,eAAe;gBACpC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC;YACjB,MAAM,WAAW,GAAG,cAAc,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;YACjD,sFAAsF;YACtF,kFAAkF;YAClF,iFAAiF;YACjF,uGAAuG;YACvG,IAAI,EAAE,CAAC,KAAK,KAAK,QAAQ,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS;gBAAE,SAAS;YAC9D,qFAAqF;YACrF,0CAA0C;YAC1C,IAAI,EAAE,CAAC,eAAe,KAAK,IAAI;gBAAE,SAAS;YAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC;gBAAE,SAAS;YAC7C,yFAAyF;YACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAiB,CAAC;YAChE,MAAM,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC;YAChD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YACzG,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC1B,GAAG,QAAQ;gBACX,QAAQ,EAAE,IAAI;gBACd,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/E,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;gBAC/E,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjG,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1D,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;aAC5F,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACxE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAyC;oBAC1F,OAAO,EAAE,MAAM;oBACf,OAAO,EAAE,MAAM;iBAClB,CAAC,CAAC;gBACH,IAAI,IAAI,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,MAAM,SAAS,MAAM,EAAE,CAAC,CAAC;gBAChH,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAQ,OAAO,CAAC,CAAC;YAChG,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,GAAG,CAAiB;gBAC3E,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ;gBAC/D,2BAA2B,EAAE,EAAE,CAAC,cAAc;gBAC9C,MAAM,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI;gBAC1E,QAAQ,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe;gBAC7C,EAAE;gBACF,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;oBACnB,EAAE,EAAE,MAAM;oBACV,KAAK,EAAE,EAAE;oBACT,EAAE,EAAE,EAAE;oBACN,EAAE;oBACF,UAAU,EAAE,YAAY;oBACxB,UAAU,EAAE,kBAAkB;iBACjC,EAAE,IAAI,CAAC,aAAa,CAAC;gBACtB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvD,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,uDAAuD;aAC/G,CAAC,CAAC;YACH,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,EAAE,CAAC,cAAc,sBAAsB,CAAC,CAAC;YAC3G,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAGD,wEAAwE;IACxE,oEAAoE;IACpE,KAAK,CAAC,aAAa,CACf,WAAmB,EACnB,WAA2B,EAC3B,SAAmC;QAEnC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACrC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACrG,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACpG,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC;YACD,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzF,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACnC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpD,CAAC,CAAC,IAAI,CAAC;gBACX,MAAM,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC;oBACvC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;oBAC7E,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI;oBACtD,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI;oBACxB,uEAAuE;oBACvE,kEAAkE;oBAClE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;oBACxE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;oBACnE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,YAAY;oBACjC,EAAE,EAAE,WAAW,EAAE,kBAAkB;oBACnC,SAAS,EAAE,GAAG;oBACd,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;wBACnB,EAAE,EAAE,MAAM;wBACV,KAAK;wBACL,EAAE,EAAE,EAAE;wBACN,EAAE;wBACF,UAAU,EAAE,YAAY;wBACxB,UAAU,EAAE,kBAAkB;qBACjC,EAAE,IAAI,CAAC,aAAa,CAAC;oBACtB,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI;oBAChC,KAAK;oBACL,cAAc,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC;iBAC9D,CAAC,CAAC;YACP,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC5C,QAAQ,GAAG,KAAK,CAAC;YACjB,MAAM,MAAM,GAAG,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAClF,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,EAAE,6BAA6B,CAAC,CAAC;QAChH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,kBAAkB,GAAc,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAC3B,6BAA6B,EAC7B,kBAAkB,EAClB,GAAG,EACH,2EAA2E,EAC3E,EAAE,EACF,EAAE,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,CACtD,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,CAAC;oBAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAAC,CAAC;gBAC/D,OAAO,SAAS,EAAE,CAAC;oBAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAAC,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC;gBAAC,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAAC,CAAC;YACnE,OAAO,SAAS,EAAE,CAAC;gBAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YACzD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,cAAc,CAAC,CAAC,KAAK,EAAE,GAAG,kBAAkB,CAAC,EAAE,wBAAwB,IAAI,CAAC,EAAE,mBAAmB,CAAC,CAAC;YACjH,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAID,8FAA8F;IAC9F,+FAA+F;IAC/F,yFAAyF;IACzF,uFAAuF;IACvF,KAAK,CAAC,eAAe,CAAC,EAClB,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,aAAa,GAAG,KAAK,GAYxB;QACG,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3I,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAiB;YACnE,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,MAAM;YACf,QAAQ;YACR,MAAM,EAAE,SAAS;YACjB,MAAM;YACN,aAAa,EAAE,IAAI;YACnB,EAAE,EAAE,MAAM;YACV,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,EAAE;YACF,WAAW,EAAE,kBAAkB;YAC/B,EAAE;YACF,WAAW,EAAE,kBAAkB;YAC/B,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;gBACnB,EAAE,EAAE,MAAM;gBACV,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;gBACrF,EAAE;gBACF,EAAE;gBACF,UAAU,EAAE,kBAAkB;gBAC9B,UAAU,EAAE,kBAAkB;aACjC,EAAE,IAAI,CAAC,aAAa,CAAC;YACtB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YACrG,cAAc,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC;SAC9D,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;QACpH,OAAO,GAAG,CAAC,EAAE,CAAC;IAClB,CAAC;CAKJ"}
|
|
1
|
+
{"version":3,"file":"TurnMaterialization.js","sourceRoot":"","sources":["../../src/core/TurnMaterialization.ts"],"names":[],"mappings":"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"}
|
package/dist/core/TurnOps.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { TurnDisposition } from "@plurnk/plurnk-contracts";
|
|
2
2
|
import { PlurnkParser } from "@plurnk/plurnk-parser";
|
|
3
|
-
import
|
|
3
|
+
import EmissionHead from "./EmissionHead.js";
|
|
4
4
|
// {§statement-rendering} — core programs use the same serializer and admission parser.
|
|
5
5
|
export default class TurnOps {
|
|
6
|
-
// {§emission-row} — each body
|
|
7
|
-
//
|
|
6
|
+
// {§emission-row} — each body as its head, an ellipsis marking the cut; a longer body's closer names the source. Dispatch and
|
|
7
|
+
// source evidence keep the original statements.
|
|
8
8
|
static renderEmission(statements, source) {
|
|
9
9
|
return statements.map((statement) => {
|
|
10
10
|
const heading = PlurnkParser.heading(statement);
|
|
@@ -13,11 +13,11 @@ export default class TurnOps {
|
|
|
13
13
|
: "";
|
|
14
14
|
if (body.length === 0)
|
|
15
15
|
return PlurnkParser.frame(heading, null);
|
|
16
|
-
const {
|
|
17
|
-
if (
|
|
16
|
+
const { head: kept, cut } = EmissionHead.cut(body);
|
|
17
|
+
if (!cut)
|
|
18
18
|
return PlurnkParser.frame(heading, body);
|
|
19
|
-
const head =
|
|
20
|
-
return `${PlurnkParser.frame(heading, head)} <!--
|
|
19
|
+
const head = `${kept.replace(/\r?\n$/u, "")}…`;
|
|
20
|
+
return `${PlurnkParser.frame(heading, head)} <!-- … READ (${source}) -->`;
|
|
21
21
|
}).join("\n\n");
|
|
22
22
|
}
|
|
23
23
|
static renderInternal(statements) {
|