@plurnk/plurnk-service 1.16.5 → 1.18.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 +140 -246
- package/INSTALL.md +84 -138
- package/README.md +10 -6
- package/SPEC.md +2468 -1694
- package/dist/Paths.d.ts +2 -0
- package/dist/Paths.d.ts.map +1 -1
- package/dist/Paths.js +2 -0
- package/dist/Paths.js.map +1 -1
- package/dist/build-info.d.ts.map +1 -1
- package/dist/build-info.js +7 -1
- package/dist/build-info.js.map +1 -1
- package/dist/build-info.json +1 -1
- package/dist/content/body-preview.d.ts +8 -0
- package/dist/content/body-preview.d.ts.map +1 -0
- package/dist/content/body-preview.js +39 -0
- package/dist/content/body-preview.js.map +1 -0
- package/dist/content/byte-view.d.ts +1 -4
- package/dist/content/byte-view.d.ts.map +1 -1
- package/dist/content/byte-view.js.map +1 -1
- package/dist/content/edit-collision.d.ts.map +1 -1
- package/dist/content/edit-collision.js +3 -4
- package/dist/content/edit-collision.js.map +1 -1
- package/dist/content/line-anchors.d.ts +2 -2
- package/dist/content/line-anchors.d.ts.map +1 -1
- package/dist/content/line-anchors.js +4 -3
- package/dist/content/line-anchors.js.map +1 -1
- package/dist/content/line-selection.d.ts +9 -0
- package/dist/content/line-selection.d.ts.map +1 -0
- package/dist/content/line-selection.js +29 -0
- package/dist/content/line-selection.js.map +1 -0
- package/dist/content/matcher.d.ts +0 -1
- package/dist/content/matcher.d.ts.map +1 -1
- package/dist/content/matcher.js +2 -3
- package/dist/content/matcher.js.map +1 -1
- package/dist/content/pattern-edits.d.ts +39 -0
- package/dist/content/pattern-edits.d.ts.map +1 -0
- package/dist/content/pattern-edits.js +121 -0
- package/dist/content/pattern-edits.js.map +1 -0
- package/dist/content/read-projector.d.ts +18 -9
- package/dist/content/read-projector.d.ts.map +1 -1
- package/dist/content/read-projector.js +132 -35
- package/dist/content/read-projector.js.map +1 -1
- package/dist/content/read-resolve.d.ts +4 -1
- package/dist/content/read-resolve.d.ts.map +1 -1
- package/dist/content/read-resolve.js +42 -7
- package/dist/content/read-resolve.js.map +1 -1
- package/dist/core/AdmittedTurnExecutor.d.ts +2 -5
- package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
- package/dist/core/AdmittedTurnExecutor.js +96 -88
- package/dist/core/AdmittedTurnExecutor.js.map +1 -1
- package/dist/core/BareBatchRunner.d.ts +6 -1
- package/dist/core/BareBatchRunner.d.ts.map +1 -1
- package/dist/core/BareBatchRunner.js +20 -5
- package/dist/core/BareBatchRunner.js.map +1 -1
- package/dist/core/BudgetReadout.d.ts +2 -3
- package/dist/core/BudgetReadout.d.ts.map +1 -1
- package/dist/core/BudgetReadout.js +23 -32
- package/dist/core/BudgetReadout.js.map +1 -1
- package/dist/core/CapabilityPolicies.d.ts +3 -8
- package/dist/core/CapabilityPolicies.d.ts.map +1 -1
- package/dist/core/CapabilityPolicies.js +2 -28
- package/dist/core/CapabilityPolicies.js.map +1 -1
- package/dist/core/CapabilityResolver.d.ts +10 -10
- package/dist/core/CapabilityResolver.d.ts.map +1 -1
- package/dist/core/CapabilityResolver.js +122 -93
- package/dist/core/CapabilityResolver.js.map +1 -1
- package/dist/core/ChannelWrite.d.ts +15 -11
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +12 -13
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +99 -9
- package/dist/core/ClientInteractions.d.ts.map +1 -1
- package/dist/core/ClientInteractions.js +7 -0
- package/dist/core/ClientInteractions.js.map +1 -1
- package/dist/core/CoreSchemeServices.d.ts +13 -10
- package/dist/core/CoreSchemeServices.d.ts.map +1 -1
- package/dist/core/CoreSchemeServices.js +13 -5
- package/dist/core/CoreSchemeServices.js.map +1 -1
- package/dist/core/DataStatementRunner.d.ts +2 -2
- package/dist/core/DataStatementRunner.d.ts.map +1 -1
- package/dist/core/DataStatementRunner.js +208 -161
- package/dist/core/DataStatementRunner.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +24 -26
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +381 -232
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/Dispatcher.sql +66 -0
- package/dist/core/DurableStatement.d.ts.map +1 -1
- package/dist/core/DurableStatement.js +2 -1
- package/dist/core/DurableStatement.js.map +1 -1
- package/dist/core/EditMutations.d.ts +14 -18
- package/dist/core/EditMutations.d.ts.map +1 -1
- package/dist/core/EditMutations.js +211 -280
- package/dist/core/EditMutations.js.map +1 -1
- package/dist/core/EditMutations.sql +15 -0
- package/dist/core/EditSequence.d.ts +13 -0
- package/dist/core/EditSequence.d.ts.map +1 -0
- package/dist/core/EditSequence.js +73 -0
- package/dist/core/EditSequence.js.map +1 -0
- package/dist/core/Engine.d.ts +17 -23
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +74 -164
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +0 -724
- package/dist/core/EntryAddressBinding.d.ts +7 -17
- package/dist/core/EntryAddressBinding.d.ts.map +1 -1
- package/dist/core/EntryAddressBinding.js +12 -72
- package/dist/core/EntryAddressBinding.js.map +1 -1
- package/dist/core/ExecutionOutputs.d.ts +9 -0
- package/dist/core/ExecutionOutputs.d.ts.map +1 -0
- package/dist/core/ExecutionOutputs.js +36 -0
- package/dist/core/ExecutionOutputs.js.map +1 -0
- package/dist/core/ExecutionOutputs.sql +21 -0
- package/dist/core/ExecutorRegistry.d.ts +11 -5
- package/dist/core/ExecutorRegistry.d.ts.map +1 -1
- package/dist/core/ExecutorRegistry.js +37 -32
- package/dist/core/ExecutorRegistry.js.map +1 -1
- package/dist/core/HostPaths.d.ts +1 -0
- package/dist/core/HostPaths.d.ts.map +1 -1
- package/dist/core/HostPaths.js +4 -0
- package/dist/core/HostPaths.js.map +1 -1
- package/dist/core/InferenceCall.d.ts.map +1 -1
- package/dist/core/InferenceCall.js +1 -2
- package/dist/core/InferenceCall.js.map +1 -1
- package/dist/core/InferenceCall.sql +29 -0
- package/dist/core/KillHandler.d.ts +1 -0
- package/dist/core/KillHandler.d.ts.map +1 -1
- package/dist/core/KillHandler.js +24 -21
- package/dist/core/KillHandler.js.map +1 -1
- package/dist/core/LogBody.d.ts +8 -1
- package/dist/core/LogBody.d.ts.map +1 -1
- package/dist/core/LogBody.js +44 -12
- 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 +12 -10
- package/dist/core/LogEntryProjection.js.map +1 -1
- package/dist/core/LogVisibility.d.ts +1 -0
- package/dist/core/LogVisibility.d.ts.map +1 -1
- package/dist/core/LogVisibility.js +3 -0
- package/dist/core/LogVisibility.js.map +1 -1
- package/dist/core/LogWriter.d.ts +2 -3
- package/dist/core/LogWriter.d.ts.map +1 -1
- package/dist/core/LogWriter.js +31 -36
- package/dist/core/LogWriter.js.map +1 -1
- package/dist/core/LogWriter.sql +23 -0
- package/dist/core/LoopDriver.d.ts +11 -8
- package/dist/core/LoopDriver.d.ts.map +1 -1
- package/dist/core/LoopDriver.js +161 -189
- package/dist/core/LoopDriver.js.map +1 -1
- package/dist/core/LoopDriver.sql +11 -0
- package/dist/core/LoopLifecycle.d.ts +32 -2
- package/dist/core/LoopLifecycle.d.ts.map +1 -1
- package/dist/core/LoopLifecycle.js +88 -4
- package/dist/core/LoopLifecycle.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +145 -28
- package/dist/core/LoopPolicyReader.sql +6 -0
- package/dist/core/MembershipMaterialization.d.ts.map +1 -1
- package/dist/core/MembershipMaterialization.js +6 -28
- package/dist/core/MembershipMaterialization.js.map +1 -1
- package/dist/core/ModelCall.d.ts.map +1 -1
- package/dist/core/ModelCall.js +2 -6
- package/dist/core/ModelCall.js.map +1 -1
- package/dist/core/ModelCall.sql +41 -0
- package/dist/core/MutationEffects.d.ts +5 -3
- package/dist/core/MutationEffects.d.ts.map +1 -1
- package/dist/core/MutationEffects.js +10 -28
- package/dist/core/MutationEffects.js.map +1 -1
- package/dist/core/NativeContent.d.ts +6 -0
- package/dist/core/NativeContent.d.ts.map +1 -0
- package/dist/core/NativeContent.js +16 -0
- package/dist/core/NativeContent.js.map +1 -0
- package/dist/core/NativeContent.sql +6 -0
- package/dist/core/NoticeChannel.js +1 -1
- package/dist/core/NoticeChannel.js.map +1 -1
- package/dist/core/OperatorConfig.js +5 -5
- package/dist/core/OperatorConfig.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts +8 -5
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +117 -81
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/PacketBuilder.sql +146 -0
- package/dist/core/PatternSelection.d.ts +28 -0
- package/dist/core/PatternSelection.d.ts.map +1 -0
- package/dist/core/PatternSelection.js +42 -0
- package/dist/core/PatternSelection.js.map +1 -0
- package/dist/core/ProblemLog.d.ts.map +1 -1
- package/dist/core/ProblemLog.js +0 -1
- package/dist/core/ProblemLog.js.map +1 -1
- package/dist/core/PromptFrames.d.ts +12 -0
- package/dist/core/PromptFrames.d.ts.map +1 -0
- package/dist/core/PromptFrames.js +28 -0
- package/dist/core/PromptFrames.js.map +1 -0
- package/dist/core/ProposalLifecycle.d.ts +0 -1
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +26 -23
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProposalLifecycle.sql +33 -0
- package/dist/core/ProviderInstantiate.d.ts +1 -1
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +7 -14
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/ReasoningView.d.ts +9 -0
- package/dist/core/ReasoningView.d.ts.map +1 -0
- package/dist/core/ReasoningView.js +47 -0
- package/dist/core/ReasoningView.js.map +1 -0
- package/dist/core/ResourceBindings.d.ts +16 -0
- package/dist/core/ResourceBindings.d.ts.map +1 -0
- package/dist/core/ResourceBindings.js +45 -0
- package/dist/core/ResourceBindings.js.map +1 -0
- package/dist/core/ResourceMutations.d.ts +5 -8
- package/dist/core/ResourceMutations.d.ts.map +1 -1
- package/dist/core/ResourceMutations.js +6 -7
- 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 +122 -62
- package/dist/core/ResourceSelector.js.map +1 -1
- package/dist/core/ResourceTransfers.d.ts +4 -2
- package/dist/core/ResourceTransfers.d.ts.map +1 -1
- package/dist/core/ResourceTransfers.js +95 -26
- package/dist/core/ResourceTransfers.js.map +1 -1
- package/dist/core/RuntimeWorker.d.ts +5 -0
- package/dist/core/RuntimeWorker.d.ts.map +1 -0
- package/dist/core/RuntimeWorker.js +15 -0
- package/dist/core/RuntimeWorker.js.map +1 -0
- package/dist/core/RuntimeWorker.sql +11 -0
- package/dist/core/SchemeRegistry.d.ts +12 -16
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +59 -85
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/StoredPacket.d.ts +6 -1
- package/dist/core/StoredPacket.d.ts.map +1 -1
- package/dist/core/StoredPacket.js +30 -10
- package/dist/core/StoredPacket.js.map +1 -1
- package/dist/core/StrikeRail.d.ts +11 -8
- package/dist/core/StrikeRail.d.ts.map +1 -1
- package/dist/core/StrikeRail.js +63 -114
- package/dist/core/StrikeRail.js.map +1 -1
- package/dist/core/StrikeRail.sql +12 -0
- package/dist/core/TerminalResult.d.ts +1 -1
- package/dist/core/TerminalResult.d.ts.map +1 -1
- package/dist/core/TerminalResult.js +2 -2
- package/dist/core/TerminalResult.js.map +1 -1
- package/dist/core/TokenCalibration.d.ts +1 -6
- package/dist/core/TokenCalibration.d.ts.map +1 -1
- package/dist/core/TokenCalibration.js +13 -9
- package/dist/core/TokenCalibration.js.map +1 -1
- package/dist/core/TokenCalibration.sql +15 -0
- package/dist/core/ToolInputSchema.d.ts +6 -0
- package/dist/core/ToolInputSchema.d.ts.map +1 -0
- package/dist/core/ToolInputSchema.js +43 -0
- package/dist/core/ToolInputSchema.js.map +1 -0
- package/dist/core/ToolResources.d.ts.map +1 -1
- package/dist/core/ToolResources.js +77 -51
- package/dist/core/ToolResources.js.map +1 -1
- package/dist/core/Turn.d.ts +5 -2
- package/dist/core/Turn.d.ts.map +1 -1
- package/dist/core/Turn.js +13 -11
- package/dist/core/Turn.js.map +1 -1
- package/dist/core/Turn.sql +25 -39
- package/dist/core/{SendBroadcastHandler.d.ts → TurnDispositionHandler.d.ts} +24 -18
- package/dist/core/TurnDispositionHandler.d.ts.map +1 -0
- package/dist/core/TurnDispositionHandler.js +206 -0
- package/dist/core/TurnDispositionHandler.js.map +1 -0
- package/dist/core/TurnMaterialization.d.ts +2 -3
- package/dist/core/TurnMaterialization.d.ts.map +1 -1
- package/dist/core/TurnMaterialization.js +47 -24
- package/dist/core/TurnMaterialization.js.map +1 -1
- package/dist/core/TurnMaterialization.sql +44 -0
- package/dist/core/TurnOps.d.ts.map +1 -1
- package/dist/core/TurnOps.js +8 -64
- package/dist/core/TurnOps.js.map +1 -1
- package/dist/core/TurnRunner.d.ts +8 -15
- package/dist/core/TurnRunner.d.ts.map +1 -1
- package/dist/core/TurnRunner.js +1175 -1317
- package/dist/core/TurnRunner.js.map +1 -1
- package/dist/core/TurnRunner.sql +74 -0
- package/dist/core/TurnSources.sql +39 -0
- package/dist/core/WorkerControlAddress.d.ts +1 -0
- package/dist/core/WorkerControlAddress.d.ts.map +1 -1
- package/dist/core/WorkerControlAddress.js +5 -0
- package/dist/core/WorkerControlAddress.js.map +1 -1
- package/dist/core/WorkerControlHandler.d.ts +1 -3
- package/dist/core/WorkerControlHandler.d.ts.map +1 -1
- package/dist/core/WorkerControlHandler.js +64 -48
- package/dist/core/WorkerControlHandler.js.map +1 -1
- package/dist/core/WorkerName.d.ts +11 -12
- package/dist/core/WorkerName.d.ts.map +1 -1
- package/dist/core/WorkerName.js +40 -47
- package/dist/core/WorkerName.js.map +1 -1
- package/dist/core/WorkerName.sql +7 -10
- package/dist/core/WorkspaceGate.d.ts +1 -1
- package/dist/core/WorkspaceGate.d.ts.map +1 -1
- package/dist/core/WorkspaceGate.js +33 -10
- package/dist/core/WorkspaceGate.js.map +1 -1
- package/dist/core/ambient.sql +236 -0
- package/dist/core/attachments.d.ts +2 -1
- package/dist/core/attachments.d.ts.map +1 -1
- package/dist/core/attachments.js +5 -4
- package/dist/core/attachments.js.map +1 -1
- package/dist/core/caps/CapsResolve.d.ts +2 -3
- package/dist/core/caps/CapsResolve.d.ts.map +1 -1
- package/dist/core/caps/CapsResolve.js +5 -5
- package/dist/core/caps/CapsResolve.js.map +1 -1
- package/dist/core/caps/DbChannelCaps.d.ts +1 -1
- package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
- package/dist/core/caps/DbChannelCaps.js +4 -6
- package/dist/core/caps/DbChannelCaps.js.map +1 -1
- package/dist/core/caps/DbEntryCaps.d.ts +2 -1
- package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
- package/dist/core/caps/DbEntryCaps.js +11 -17
- package/dist/core/caps/DbEntryCaps.js.map +1 -1
- package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
- package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
- package/dist/core/caps/DbNotifyCaps.js +3 -5
- package/dist/core/caps/DbNotifyCaps.js.map +1 -1
- package/dist/core/caps/DbProjectionCaps.js +1 -1
- package/dist/core/caps/DbProjectionCaps.js.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.d.ts +1 -1
- package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.js +5 -7
- package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.d.ts +0 -2
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +4 -20
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
- package/dist/core/env-catalog.d.ts +28 -0
- package/dist/core/env-catalog.d.ts.map +1 -0
- package/dist/core/env-catalog.js +99 -0
- package/dist/core/env-catalog.js.map +1 -0
- package/dist/core/env-defaults.d.ts.map +1 -1
- package/dist/core/env-defaults.js +4 -2
- package/dist/core/env-defaults.js.map +1 -1
- package/dist/core/file-materialization.d.ts +4 -1
- package/dist/core/file-materialization.d.ts.map +1 -1
- package/dist/core/file-materialization.js +15 -1
- package/dist/core/file-materialization.js.map +1 -1
- package/dist/core/fork.d.ts +1 -6
- package/dist/core/fork.d.ts.map +1 -1
- package/dist/core/fork.js +9 -153
- package/dist/core/fork.js.map +1 -1
- package/dist/core/fork.sql +162 -185
- package/dist/core/git-env.d.ts +1 -0
- package/dist/core/git-env.d.ts.map +1 -1
- package/dist/core/git-env.js +39 -2
- 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 +64 -48
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/git-state.d.ts.map +1 -1
- package/dist/core/git-state.js +26 -20
- package/dist/core/git-state.js.map +1 -1
- package/dist/core/glob_match.d.ts +4 -0
- package/dist/core/glob_match.d.ts.map +1 -0
- package/dist/core/glob_match.js +7 -0
- package/dist/core/glob_match.js.map +1 -0
- package/dist/core/maintenance.sql +6 -0
- package/dist/core/mutation-types.d.ts +7 -28
- package/dist/core/mutation-types.d.ts.map +1 -1
- package/dist/core/operation-target-groups.d.ts.map +1 -1
- package/dist/core/operation-target-groups.js +2 -1
- package/dist/core/operation-target-groups.js.map +1 -1
- package/dist/core/packet-inject.d.ts.map +1 -1
- package/dist/core/packet-inject.js +2 -3
- package/dist/core/packet-inject.js.map +1 -1
- package/dist/core/packet-wire.d.ts +8 -6
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +381 -388
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +1 -1
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +5 -12
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/scheme-types.d.ts +3 -3
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/scheme-types.js.map +1 -1
- package/dist/core/sha256.d.ts +4 -0
- package/dist/core/sha256.d.ts.map +1 -0
- package/dist/core/sha256.js +6 -0
- package/dist/core/sha256.js.map +1 -0
- package/dist/core/teaching.js +1 -1
- package/dist/core/teaching.js.map +1 -1
- package/dist/core/turn-scheduler.d.ts.map +1 -1
- package/dist/core/turn-scheduler.js +5 -18
- package/dist/core/turn-scheduler.js.map +1 -1
- package/dist/core/turn-signals.d.ts +0 -6
- package/dist/core/turn-signals.d.ts.map +1 -1
- package/dist/core/turn-signals.js +1 -7
- package/dist/core/turn-signals.js.map +1 -1
- package/dist/core/worker-ops.sql +15 -22
- package/dist/core/workspace-settings.d.ts.map +1 -1
- package/dist/core/workspace-settings.js +18 -2
- package/dist/core/workspace-settings.js.map +1 -1
- package/dist/core/workspace-settings.sql +6 -0
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +30 -91
- package/dist/digest/Digest.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 +58 -62
- package/dist/digest/DigestRender.js.map +1 -1
- package/dist/digest/digest-rows.d.ts +16 -32
- package/dist/digest/digest-rows.d.ts.map +1 -1
- package/dist/digest/digest.sql +54 -20
- package/dist/schemes/Exec.d.ts +6 -12
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +318 -215
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.d.ts +8 -6
- package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +33 -61
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/ExecScheduler.js +2 -2
- package/dist/schemes/ExecScheduler.js.map +1 -1
- package/dist/schemes/ExecutionInput.d.ts +12 -0
- package/dist/schemes/ExecutionInput.d.ts.map +1 -0
- package/dist/schemes/ExecutionInput.js +94 -0
- package/dist/schemes/ExecutionInput.js.map +1 -0
- package/dist/schemes/File.d.ts +5 -2
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +62 -91
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +84 -79
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +183 -15
- package/dist/schemes/Prompt.d.ts.map +1 -1
- package/dist/schemes/Prompt.js +3 -12
- package/dist/schemes/Prompt.js.map +1 -1
- package/dist/schemes/QuestionTool.d.ts +5 -0
- package/dist/schemes/QuestionTool.d.ts.map +1 -1
- package/dist/schemes/QuestionTool.js +7 -15
- package/dist/schemes/QuestionTool.js.map +1 -1
- package/dist/schemes/Skill.d.ts +12 -7
- package/dist/schemes/Skill.d.ts.map +1 -1
- package/dist/schemes/Skill.js +149 -21
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/TurnSource.d.ts +12 -0
- package/dist/schemes/TurnSource.d.ts.map +1 -0
- package/dist/schemes/TurnSource.js +117 -0
- package/dist/schemes/TurnSource.js.map +1 -0
- package/dist/schemes/Worker.d.ts +3 -3
- package/dist/schemes/Worker.d.ts.map +1 -1
- package/dist/schemes/Worker.js +61 -208
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +12 -15
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +63 -63
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +159 -45
- package/dist/schemes/_entry-find.d.ts +1 -3
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +111 -112
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-find.sql +22 -14
- package/dist/schemes/_entry-fts.d.ts +14 -0
- package/dist/schemes/_entry-fts.d.ts.map +1 -0
- package/dist/schemes/_entry-fts.js +82 -0
- package/dist/schemes/_entry-fts.js.map +1 -0
- package/dist/schemes/_entry-fts.sql +31 -0
- package/dist/schemes/_entry-graph.d.ts.map +1 -1
- package/dist/schemes/_entry-graph.js +6 -14
- package/dist/schemes/_entry-graph.js.map +1 -1
- package/dist/schemes/_entry-graph.sql +29 -44
- package/dist/schemes/_entry-manifest.d.ts +2 -1
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +20 -26
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-manifest.sql +26 -0
- package/dist/schemes/_entry-ops.d.ts +3 -5
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +30 -43
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-ops.sql +5 -6
- package/dist/schemes/_entry-readable.d.ts +8 -0
- package/dist/schemes/_entry-readable.d.ts.map +1 -0
- package/dist/schemes/_entry-readable.js +38 -0
- package/dist/schemes/_entry-readable.js.map +1 -0
- package/dist/schemes/_entry-send.d.ts +1 -1
- package/dist/schemes/_entry-send.d.ts.map +1 -1
- package/dist/schemes/_entry-send.js +3 -3
- package/dist/schemes/_entry-send.js.map +1 -1
- package/dist/schemes/_search-index.d.ts +5 -3
- package/dist/schemes/_search-index.d.ts.map +1 -1
- package/dist/schemes/_search-index.js +169 -160
- package/dist/schemes/_search-index.js.map +1 -1
- package/dist/schemes/_search-index.sql +47 -0
- package/dist/schemes/exec-abort.js +1 -1
- package/dist/schemes/exec-abort.js.map +1 -1
- package/dist/schemes/exec-env.d.ts +3 -0
- package/dist/schemes/exec-env.d.ts.map +1 -1
- package/dist/schemes/exec-env.js +66 -15
- package/dist/schemes/exec-env.js.map +1 -1
- package/dist/schemes/exec-runtime.d.ts +1 -1
- package/dist/schemes/exec-runtime.d.ts.map +1 -1
- package/dist/schemes/exec-runtime.js +1 -1
- package/dist/schemes/exec-runtime.js.map +1 -1
- package/dist/server/ClientReads.d.ts +2 -2
- package/dist/server/ClientReads.d.ts.map +1 -1
- package/dist/server/ClientReads.js +7 -9
- package/dist/server/ClientReads.js.map +1 -1
- package/dist/server/Daemon.d.ts +15 -21
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +165 -168
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DaemonModule.d.ts +29 -22
- package/dist/server/DaemonModule.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.d.ts +8 -21
- package/dist/server/DrainSupervisor.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.js +278 -306
- package/dist/server/DrainSupervisor.js.map +1 -1
- package/dist/server/EnvFunctionality.d.ts +43 -0
- package/dist/server/EnvFunctionality.d.ts.map +1 -0
- package/dist/server/EnvFunctionality.js +194 -0
- package/dist/server/EnvFunctionality.js.map +1 -0
- package/dist/server/Functionality.d.ts +12 -11
- package/dist/server/Functionality.d.ts.map +1 -1
- package/dist/server/Functionality.js +279 -142
- package/dist/server/Functionality.js.map +1 -1
- package/dist/server/FunctionalityManager.d.ts +5 -5
- package/dist/server/FunctionalityManager.d.ts.map +1 -1
- package/dist/server/FunctionalityManager.js +29 -57
- package/dist/server/FunctionalityManager.js.map +1 -1
- package/dist/server/MembersFunctionality.d.ts +5 -4
- package/dist/server/MembersFunctionality.d.ts.map +1 -1
- package/dist/server/MembersFunctionality.js +24 -38
- package/dist/server/MembersFunctionality.js.map +1 -1
- package/dist/server/PlurnkSkill.d.ts +11 -0
- package/dist/server/PlurnkSkill.d.ts.map +1 -0
- package/dist/server/PlurnkSkill.js +41 -0
- package/dist/server/PlurnkSkill.js.map +1 -0
- package/dist/server/Retention.d.ts +25 -0
- package/dist/server/Retention.d.ts.map +1 -0
- package/dist/server/Retention.js +57 -0
- package/dist/server/Retention.js.map +1 -0
- package/dist/server/Retention.sql +59 -0
- package/dist/server/ServiceModules.d.ts +5 -0
- package/dist/server/ServiceModules.d.ts.map +1 -0
- package/dist/server/ServiceModules.js +10 -0
- package/dist/server/ServiceModules.js.map +1 -0
- package/dist/server/SkillsFunctionality.d.ts +14 -19
- package/dist/server/SkillsFunctionality.d.ts.map +1 -1
- package/dist/server/SkillsFunctionality.js +102 -106
- package/dist/server/SkillsFunctionality.js.map +1 -1
- package/dist/server/WorkerModelResolver.d.ts +4 -0
- package/dist/server/WorkerModelResolver.d.ts.map +1 -1
- package/dist/server/WorkerModelResolver.js +72 -39
- package/dist/server/WorkerModelResolver.js.map +1 -1
- package/dist/server/WorkspaceCapabilities.d.ts +21 -0
- package/dist/server/WorkspaceCapabilities.d.ts.map +1 -0
- package/dist/server/{WorkerCapabilities.js → WorkspaceCapabilities.js} +40 -40
- package/dist/server/WorkspaceCapabilities.js.map +1 -0
- package/dist/server/WorkspaceResidency.d.ts +38 -0
- package/dist/server/WorkspaceResidency.d.ts.map +1 -0
- package/dist/server/WorkspaceResidency.js +226 -0
- package/dist/server/WorkspaceResidency.js.map +1 -0
- package/dist/server/client-input.d.ts +1 -4
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +5 -46
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
- package/dist/server/dispatch-as-plurnk.js +4 -22
- package/dist/server/dispatch-as-plurnk.js.map +1 -1
- package/dist/server/drain.sql +66 -43
- package/dist/server/envelope.d.ts +8 -1
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +9 -19
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/envelope.sql +49 -13
- package/dist/server/lifecycle-recovery.sql +18 -20
- package/dist/server/logEntry.d.ts +1 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +4 -1
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/logEntry.sql +25 -1
- package/dist/server/loopDocs.d.ts +2 -2
- package/dist/server/loopDocs.d.ts.map +1 -1
- package/dist/server/loopDocs.js +38 -31
- package/dist/server/loopDocs.js.map +1 -1
- package/dist/server/loopDocs.sql +1 -3
- package/dist/server/model-catalog.d.ts.map +1 -1
- package/dist/server/model-catalog.js +2 -1
- package/dist/server/model-catalog.js.map +1 -1
- package/dist/server/model-route.d.ts +1 -1
- package/dist/server/model-route.d.ts.map +1 -1
- package/dist/server/model-route.js +4 -2
- package/dist/server/model-route.js.map +1 -1
- package/dist/server/seam-entry-read.sql +3 -4
- package/dist/server/seam-loop.sql +2 -9
- package/dist/server/workspace-capabilities.sql +64 -0
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +21 -18
- package/dist/service.js.map +1 -1
- package/docs/env.md +55 -0
- package/docs/members.md +83 -0
- package/docs/skills.md +50 -0
- package/migrations/001_workspaces.sql +53 -0
- package/migrations/002_workers.sql +198 -0
- package/migrations/003_loops.sql +326 -0
- package/migrations/004_inference.sql +401 -0
- package/migrations/005_entries.sql +215 -0
- package/migrations/006_log.sql +581 -0
- package/migrations/007_subscriptions.sql +175 -0
- package/migrations/008_interactions.sql +29 -0
- package/package.json +44 -41
- package/digest-sql/channel-dispositions/dispositions.sql +0 -15
- package/digest-sql/channel-state/state.sql +0 -6
- package/digest-sql/curation/curation.sql +0 -6
- package/digest-sql/derivations/derivations.sql +0 -4
- package/digest-sql/embeddings/embeddings.sql +0 -4
- package/digest-sql/entry-dispositions/dispositions.sql +0 -15
- package/digest-sql/entry-state/state.sql +0 -6
- package/digest-sql/token-counts/token-counts.sql +0 -2
- package/dist/core/EmbeddingCall.d.ts +0 -23
- package/dist/core/EmbeddingCall.d.ts.map +0 -1
- package/dist/core/EmbeddingCall.js +0 -149
- package/dist/core/EmbeddingCall.js.map +0 -1
- package/dist/core/OverflowTurn.d.ts +0 -11
- package/dist/core/OverflowTurn.d.ts.map +0 -1
- package/dist/core/OverflowTurn.js +0 -80
- package/dist/core/OverflowTurn.js.map +0 -1
- package/dist/core/Owner.d.ts +0 -8
- package/dist/core/Owner.d.ts.map +0 -1
- package/dist/core/Owner.js +0 -46
- package/dist/core/Owner.js.map +0 -1
- package/dist/core/SendBroadcastHandler.d.ts.map +0 -1
- package/dist/core/SendBroadcastHandler.js +0 -159
- package/dist/core/SendBroadcastHandler.js.map +0 -1
- package/dist/core/VectorPump.d.ts +0 -28
- package/dist/core/VectorPump.d.ts.map +0 -1
- package/dist/core/VectorPump.js +0 -130
- package/dist/core/VectorPump.js.map +0 -1
- package/dist/core/owner.sql +0 -11
- package/dist/core/worker-settings.d.ts +0 -10
- package/dist/core/worker-settings.d.ts.map +0 -1
- package/dist/core/worker-settings.js +0 -53
- package/dist/core/worker-settings.js.map +0 -1
- package/dist/schemes/_entry-chunk.d.ts +0 -14
- package/dist/schemes/_entry-chunk.d.ts.map +0 -1
- package/dist/schemes/_entry-chunk.js +0 -165
- package/dist/schemes/_entry-chunk.js.map +0 -1
- package/dist/schemes/_entry-semantic.d.ts +0 -63
- package/dist/schemes/_entry-semantic.d.ts.map +0 -1
- package/dist/schemes/_entry-semantic.js +0 -299
- package/dist/schemes/_entry-semantic.js.map +0 -1
- package/dist/schemes/_entry-semantic.sql +0 -99
- package/dist/schemes/cosine.d.ts +0 -4
- package/dist/schemes/cosine.d.ts.map +0 -1
- package/dist/schemes/cosine.js +0 -9
- package/dist/schemes/cosine.js.map +0 -1
- package/dist/server/WorkerCapabilities.d.ts +0 -21
- package/dist/server/WorkerCapabilities.d.ts.map +0 -1
- package/dist/server/WorkerCapabilities.js.map +0 -1
- package/dist/server/WorkerResidency.d.ts +0 -40
- package/dist/server/WorkerResidency.d.ts.map +0 -1
- package/dist/server/WorkerResidency.js +0 -283
- package/dist/server/WorkerResidency.js.map +0 -1
- package/dist/server/seam-log-read.sql +0 -21
- package/dist/server/worker-capabilities.sql +0 -28
- package/migrations/001_schema.sql +0 -2207
|
@@ -11,6 +11,50 @@ export default class WorkerModelResolver {
|
|
|
11
11
|
this.#db = db;
|
|
12
12
|
this.#provider = provider;
|
|
13
13
|
}
|
|
14
|
+
async persistGenerationPolicy(workerId, policy) {
|
|
15
|
+
const params = { id: workerId, ...policy };
|
|
16
|
+
// {§worker-reasoning-source} — the source is provenance, not generation policy: it takes no
|
|
17
|
+
// part in the mid-loop change check, so the selectable probe sees only the policy columns.
|
|
18
|
+
const { reasoning_source: _source, ...generation } = params;
|
|
19
|
+
if (await this.#db.worker_generation_policy_selectable.get(generation) === undefined) {
|
|
20
|
+
return this.#refuseGenerationChange(workerId, policy);
|
|
21
|
+
}
|
|
22
|
+
const supportedPolicies = await this.supportedPolicies(policy);
|
|
23
|
+
if (await this.#db.worker_generation_policy_update.get(params) === undefined) {
|
|
24
|
+
return this.#refuseGenerationChange(workerId, policy);
|
|
25
|
+
}
|
|
26
|
+
return supportedPolicies;
|
|
27
|
+
}
|
|
28
|
+
async supportedPolicies(policy) {
|
|
29
|
+
let supportedPolicies;
|
|
30
|
+
for (const routeId of [policy.model_route_id, policy.spawn_model_route_id]) {
|
|
31
|
+
if (routeId === null)
|
|
32
|
+
continue;
|
|
33
|
+
const spec = await specForRoute(this.#db, routeId);
|
|
34
|
+
if (spec === null)
|
|
35
|
+
throw new Error(`model route ${routeId} is missing`);
|
|
36
|
+
const provider = await this.providerForPolicy(spec, policy.reasoning_policy ?? undefined);
|
|
37
|
+
supportedPolicies = supportedPolicies === undefined
|
|
38
|
+
? provider.supportedReasoningPolicies
|
|
39
|
+
: supportedPolicies.filter((candidate) => provider.supportedReasoningPolicies.includes(candidate));
|
|
40
|
+
}
|
|
41
|
+
return supportedPolicies ?? [];
|
|
42
|
+
}
|
|
43
|
+
async #refuseGenerationChange(workerId, requested) {
|
|
44
|
+
const selected = await this.#db.worker_generation_policy_read.get({ id: workerId });
|
|
45
|
+
if (selected === undefined)
|
|
46
|
+
throw new Error(`worker ${workerId}: generation policy row missing`);
|
|
47
|
+
const selectedModel = await specForRoute(this.#db, selected.model_route_id);
|
|
48
|
+
const requestedModel = await specForRoute(this.#db, requested.model_route_id);
|
|
49
|
+
throw daemonFailure("daemon:worker", "worker-loop-active", 409, `Worker ${workerId} has unfinished tasks; its model and reasoning settings cannot change yet.`, {
|
|
50
|
+
workerId,
|
|
51
|
+
...(selectedModel?.alias === undefined ? {} : { selectedAlias: selectedModel.alias }),
|
|
52
|
+
...(requestedModel?.alias === undefined ? {} : { requestedAlias: requestedModel.alias }),
|
|
53
|
+
stage: "model-selection",
|
|
54
|
+
recovery: "Conclude or cancel its unfinished tasks before changing these settings.",
|
|
55
|
+
retryable: false,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
14
58
|
// {§worker-model-selection} — a model worker owns one durable model. An explicit
|
|
15
59
|
// selector persists onto the worker; an omitted selector resolves the worker's
|
|
16
60
|
// durable model, seeded once from the daemon default. A deliberately modelless
|
|
@@ -20,24 +64,23 @@ export default class WorkerModelResolver {
|
|
|
20
64
|
if (worker === undefined)
|
|
21
65
|
throw new Error(`worker ${workerId}: model route row missing`);
|
|
22
66
|
if (selector !== undefined) {
|
|
23
|
-
const spec =
|
|
67
|
+
const spec = this.#resolveLoopProvider(selector);
|
|
24
68
|
if (spec === null)
|
|
25
69
|
return null;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
await this.#db.worker_generation_policy_update.run({
|
|
35
|
-
id: workerId,
|
|
70
|
+
// {§worker-reasoning-source} — a chosen policy follows the worker across models; a
|
|
71
|
+
// seeded one re-derives from the new alias, so a default never outlives its alias.
|
|
72
|
+
const explicit = worker.reasoning_source === "explicit" && worker.reasoning_policy !== null;
|
|
73
|
+
const reasoningPolicy = explicit
|
|
74
|
+
? worker.reasoning_policy
|
|
75
|
+
: ProviderInstantiate.configuredReasoningPolicy(spec);
|
|
76
|
+
const reasoningSource = explicit ? "explicit" : "default";
|
|
77
|
+
await this.persistGenerationPolicy(workerId, {
|
|
36
78
|
model_route_id: await routeForSpec(this.#db, spec),
|
|
37
79
|
spawn_model_route_id: worker.spawn_model_route_id,
|
|
38
|
-
reasoning_policy: reasoningPolicy
|
|
80
|
+
reasoning_policy: reasoningPolicy,
|
|
81
|
+
reasoning_source: reasoningSource
|
|
39
82
|
});
|
|
40
|
-
return { providerSpec: spec, reasoningPolicy };
|
|
83
|
+
return { providerSpec: spec, reasoningPolicy, reasoningSource };
|
|
41
84
|
}
|
|
42
85
|
if (worker.model_route_id !== null) {
|
|
43
86
|
if (worker.reasoning_policy === null) {
|
|
@@ -47,27 +90,20 @@ export default class WorkerModelResolver {
|
|
|
47
90
|
if (spec === null)
|
|
48
91
|
throw new Error(`worker ${workerId}: model route is missing`);
|
|
49
92
|
await this.providerForPolicy(spec, worker.reasoning_policy);
|
|
50
|
-
return { providerSpec: spec, reasoningPolicy: worker.reasoning_policy };
|
|
93
|
+
return { providerSpec: spec, reasoningPolicy: worker.reasoning_policy, reasoningSource: worker.reasoning_source };
|
|
51
94
|
}
|
|
52
95
|
if (this.#provider === null)
|
|
53
96
|
return null;
|
|
54
97
|
const spec = resolveActiveRoute();
|
|
55
98
|
if (spec !== null) {
|
|
56
99
|
const reasoningPolicy = ProviderInstantiate.configuredReasoningPolicy(spec);
|
|
57
|
-
await this.
|
|
58
|
-
if (worker.spawn_model_route_id !== null) {
|
|
59
|
-
const spawnSpec = await specForRoute(this.#db, worker.spawn_model_route_id);
|
|
60
|
-
if (spawnSpec === null)
|
|
61
|
-
throw new Error(`worker ${workerId}: spawn model route is missing`);
|
|
62
|
-
await this.providerForPolicy(spawnSpec, reasoningPolicy);
|
|
63
|
-
}
|
|
64
|
-
await this.#db.worker_generation_policy_update.run({
|
|
65
|
-
id: workerId,
|
|
100
|
+
await this.persistGenerationPolicy(workerId, {
|
|
66
101
|
model_route_id: await routeForSpec(this.#db, spec),
|
|
67
102
|
spawn_model_route_id: worker.spawn_model_route_id,
|
|
68
|
-
reasoning_policy: reasoningPolicy
|
|
103
|
+
reasoning_policy: reasoningPolicy,
|
|
104
|
+
reasoning_source: "default"
|
|
69
105
|
});
|
|
70
|
-
return { providerSpec: spec, reasoningPolicy };
|
|
106
|
+
return { providerSpec: spec, reasoningPolicy, reasoningSource: "default" };
|
|
71
107
|
}
|
|
72
108
|
return null;
|
|
73
109
|
}
|
|
@@ -82,12 +118,12 @@ export default class WorkerModelResolver {
|
|
|
82
118
|
if (childSelector !== undefined) {
|
|
83
119
|
const spec = childSelector === null
|
|
84
120
|
? null
|
|
85
|
-
:
|
|
86
|
-
await this
|
|
87
|
-
id: workerId,
|
|
121
|
+
: this.#resolveLoopProvider(childSelector);
|
|
122
|
+
await this.persistGenerationPolicy(workerId, {
|
|
88
123
|
model_route_id: worker.model_route_id,
|
|
89
124
|
spawn_model_route_id: spec === null ? null : await routeForSpec(this.#db, spec),
|
|
90
|
-
reasoning_policy: worker.reasoning_policy
|
|
125
|
+
reasoning_policy: worker.reasoning_policy,
|
|
126
|
+
reasoning_source: worker.reasoning_source
|
|
91
127
|
});
|
|
92
128
|
return spec;
|
|
93
129
|
}
|
|
@@ -103,13 +139,13 @@ export default class WorkerModelResolver {
|
|
|
103
139
|
const configured = process.env.PLURNK_MODEL_CHILD;
|
|
104
140
|
if (configured === undefined || configured.length === 0)
|
|
105
141
|
return null;
|
|
106
|
-
const spec =
|
|
142
|
+
const spec = this.#resolveLoopProvider(configured);
|
|
107
143
|
if (spec !== null) {
|
|
108
|
-
await this
|
|
109
|
-
id: workerId,
|
|
144
|
+
await this.persistGenerationPolicy(workerId, {
|
|
110
145
|
model_route_id: worker.model_route_id,
|
|
111
146
|
spawn_model_route_id: await routeForSpec(this.#db, spec),
|
|
112
|
-
reasoning_policy: worker.reasoning_policy
|
|
147
|
+
reasoning_policy: worker.reasoning_policy,
|
|
148
|
+
reasoning_source: worker.reasoning_source
|
|
113
149
|
});
|
|
114
150
|
}
|
|
115
151
|
return spec;
|
|
@@ -120,7 +156,7 @@ export default class WorkerModelResolver {
|
|
|
120
156
|
async providerForPolicy(spec, reasoningPolicy) {
|
|
121
157
|
try {
|
|
122
158
|
const provider = await ProviderInstantiate.instantiateProvider(spec, process.env, reasoningPolicy);
|
|
123
|
-
ProviderInstantiate.validateGrammarConfiguration(provider, process.env
|
|
159
|
+
ProviderInstantiate.validateGrammarConfiguration(provider, process.env);
|
|
124
160
|
return provider;
|
|
125
161
|
}
|
|
126
162
|
catch (cause) {
|
|
@@ -148,10 +184,8 @@ export default class WorkerModelResolver {
|
|
|
148
184
|
});
|
|
149
185
|
}
|
|
150
186
|
}
|
|
151
|
-
// {§methods-loop-run-model}
|
|
152
|
-
|
|
153
|
-
// route throws legibly rather than silently running the wrong model.
|
|
154
|
-
async #resolveLoopProvider(selector, reasoningPolicy) {
|
|
187
|
+
// {§methods-loop-run-model}: resolve identity without provider setup.
|
|
188
|
+
#resolveLoopProvider(selector) {
|
|
155
189
|
const requested = resolveLoopRoute(selector, parseAliasesFromEnv());
|
|
156
190
|
if (requested === null && this.#provider === null)
|
|
157
191
|
return null;
|
|
@@ -159,7 +193,6 @@ export default class WorkerModelResolver {
|
|
|
159
193
|
if (spec === null) {
|
|
160
194
|
throw daemonFailure("daemon:provider", "active-model-unresolved", 500, "The active provider has no resolvable model route.", { stage: "provider-selection", retryable: false });
|
|
161
195
|
}
|
|
162
|
-
await this.providerForPolicy(spec, reasoningPolicy);
|
|
163
196
|
return spec;
|
|
164
197
|
}
|
|
165
198
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerModelResolver.js","sourceRoot":"","sources":["../../src/server/WorkerModelResolver.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AACpH,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGrE,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAC3B,GAAG,CAAK;IACR,SAAS,CAAkB;IAEpC,YAAY,EAAE,EAAE,EAAE,QAAQ,EAGzB;QACG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"WorkerModelResolver.js","sourceRoot":"","sources":["../../src/server/WorkerModelResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type WorkspaceCapabilityRelease = () => void;
|
|
2
|
+
export interface WorkspaceCapabilityPolicy {
|
|
3
|
+
readonly warmMs: number;
|
|
4
|
+
readonly warmMax: number;
|
|
5
|
+
}
|
|
6
|
+
export interface WorkspaceCapabilityCallbacks {
|
|
7
|
+
readonly activate: (workspaceId: number) => Promise<void>;
|
|
8
|
+
readonly deactivate: (workspaceId: number) => Promise<boolean>;
|
|
9
|
+
readonly report: (workspaceId: number, error: unknown) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const workspaceCapabilityPolicy: (env?: NodeJS.ProcessEnv) => WorkspaceCapabilityPolicy;
|
|
12
|
+
export default class WorkspaceCapabilities {
|
|
13
|
+
#private;
|
|
14
|
+
constructor(policy: WorkspaceCapabilityPolicy, callbacks: WorkspaceCapabilityCallbacks);
|
|
15
|
+
acquire(workspaceId: number): Promise<WorkspaceCapabilityRelease>;
|
|
16
|
+
retain(workspaceId: number): WorkspaceCapabilityRelease;
|
|
17
|
+
activeWorkspaceIds(): number[];
|
|
18
|
+
isActive(workspaceId: number): boolean;
|
|
19
|
+
beginStop(): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=WorkspaceCapabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkspaceCapabilities.d.ts","sourceRoot":"","sources":["../../src/server/WorkspaceCapabilities.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,0BAA0B,GAAG,MAAM,IAAI,CAAC;AAEpD,MAAM,WAAW,yBAAyB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,QAAQ,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAClE;AAwBD,eAAO,MAAM,yBAAyB,SAC7B,MAAM,CAAC,UAAU,KACvB,yBAGD,CAAC;AAKH,MAAM,CAAC,OAAO,OAAO,qBAAqB;;IAStC,YACI,MAAM,EAAE,yBAAyB,EACjC,SAAS,EAAE,4BAA4B,EAM1C;IAEK,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CA2BtE;IAED,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,0BAA0B,CAUtD;IAED,kBAAkB,IAAI,MAAM,EAAE,CAK7B;IAED,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAErC;IAED,SAAS,IAAI,IAAI,CAIhB;CAgIJ"}
|
|
@@ -7,14 +7,14 @@ const readBound = (env, name) => {
|
|
|
7
7
|
}
|
|
8
8
|
return value;
|
|
9
9
|
};
|
|
10
|
-
export const
|
|
11
|
-
warmMs: readBound(env, "
|
|
12
|
-
warmMax: readBound(env, "
|
|
10
|
+
export const workspaceCapabilityPolicy = (env = process.env) => ({
|
|
11
|
+
warmMs: readBound(env, "PLURNK_SERVICE_WORKSPACE_WARM_MS"),
|
|
12
|
+
warmMax: readBound(env, "PLURNK_SERVICE_WORKSPACE_WARM_MAX"),
|
|
13
13
|
});
|
|
14
|
-
// {§module-
|
|
15
|
-
//
|
|
14
|
+
// {§module-workspace-residency} — one process-local owner separates durable
|
|
15
|
+
// workspace identity from optional Functionality residency. Leases represent
|
|
16
16
|
// actual work; timers and the idle LRU are availability policy, not identity.
|
|
17
|
-
export default class
|
|
17
|
+
export default class WorkspaceCapabilities {
|
|
18
18
|
#policy;
|
|
19
19
|
#activate;
|
|
20
20
|
#deactivate;
|
|
@@ -28,19 +28,19 @@ export default class WorkerCapabilities {
|
|
|
28
28
|
this.#deactivate = callbacks.deactivate;
|
|
29
29
|
this.#report = callbacks.report;
|
|
30
30
|
}
|
|
31
|
-
async acquire(
|
|
32
|
-
|
|
31
|
+
async acquire(workspaceId) {
|
|
32
|
+
WorkspaceCapabilities.#assertWorkspaceId(workspaceId);
|
|
33
33
|
if (this.#stopping)
|
|
34
|
-
throw new Error("
|
|
34
|
+
throw new Error("Workspace Functionality is stopping.");
|
|
35
35
|
for (;;) {
|
|
36
|
-
const current = this.#states.get(
|
|
36
|
+
const current = this.#states.get(workspaceId);
|
|
37
37
|
if (current?.phase === "cooling") {
|
|
38
38
|
await current.transition;
|
|
39
39
|
if (this.#stopping)
|
|
40
|
-
throw new Error("
|
|
40
|
+
throw new Error("Workspace Functionality is stopping.");
|
|
41
41
|
continue;
|
|
42
42
|
}
|
|
43
|
-
const state = current ?? this.#beginActivation(
|
|
43
|
+
const state = current ?? this.#beginActivation(workspaceId);
|
|
44
44
|
this.#cancelIdle(state);
|
|
45
45
|
state.leases++;
|
|
46
46
|
try {
|
|
@@ -52,31 +52,31 @@ export default class WorkerCapabilities {
|
|
|
52
52
|
}
|
|
53
53
|
if (this.#stopping) {
|
|
54
54
|
this.#release(state);
|
|
55
|
-
throw new Error("
|
|
55
|
+
throw new Error("Workspace Functionality is stopping.");
|
|
56
56
|
}
|
|
57
57
|
return this.#releaseOnce(state);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
retain(
|
|
61
|
-
|
|
60
|
+
retain(workspaceId) {
|
|
61
|
+
WorkspaceCapabilities.#assertWorkspaceId(workspaceId);
|
|
62
62
|
if (this.#stopping)
|
|
63
|
-
throw new Error("
|
|
64
|
-
const state = this.#states.get(
|
|
63
|
+
throw new Error("Workspace Functionality is stopping.");
|
|
64
|
+
const state = this.#states.get(workspaceId);
|
|
65
65
|
if (state === undefined || state.phase === "cooling") {
|
|
66
|
-
throw new Error(`
|
|
66
|
+
throw new Error(`Workspace ${workspaceId} Functionality is not resident.`);
|
|
67
67
|
}
|
|
68
68
|
this.#cancelIdle(state);
|
|
69
69
|
state.leases++;
|
|
70
70
|
return this.#releaseOnce(state);
|
|
71
71
|
}
|
|
72
|
-
|
|
72
|
+
activeWorkspaceIds() {
|
|
73
73
|
return [...this.#states.values()]
|
|
74
74
|
.filter(({ phase }) => phase === "active")
|
|
75
|
-
.map(({
|
|
75
|
+
.map(({ workspaceId }) => workspaceId)
|
|
76
76
|
.toSorted((left, right) => left - right);
|
|
77
77
|
}
|
|
78
|
-
isActive(
|
|
79
|
-
return this.#states.get(
|
|
78
|
+
isActive(workspaceId) {
|
|
79
|
+
return this.#states.get(workspaceId)?.phase === "active";
|
|
80
80
|
}
|
|
81
81
|
beginStop() {
|
|
82
82
|
if (this.#stopping)
|
|
@@ -85,25 +85,25 @@ export default class WorkerCapabilities {
|
|
|
85
85
|
for (const state of this.#states.values())
|
|
86
86
|
this.#cancelIdle(state);
|
|
87
87
|
}
|
|
88
|
-
static #
|
|
89
|
-
if (!Number.isSafeInteger(
|
|
90
|
-
throw new Error("
|
|
88
|
+
static #assertWorkspaceId(workspaceId) {
|
|
89
|
+
if (!Number.isSafeInteger(workspaceId) || workspaceId < 1) {
|
|
90
|
+
throw new Error("Workspace Functionality residency requires a positive workspace id.");
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
-
#beginActivation(
|
|
93
|
+
#beginActivation(workspaceId) {
|
|
94
94
|
const state = {
|
|
95
|
-
|
|
95
|
+
workspaceId,
|
|
96
96
|
phase: "activating",
|
|
97
97
|
leases: 0,
|
|
98
98
|
transition: null,
|
|
99
99
|
idleOrder: null,
|
|
100
100
|
timer: null,
|
|
101
101
|
};
|
|
102
|
-
this.#states.set(
|
|
102
|
+
this.#states.set(workspaceId, state);
|
|
103
103
|
state.transition = Promise.resolve()
|
|
104
|
-
.then(() => this.#activate(
|
|
104
|
+
.then(() => this.#activate(workspaceId))
|
|
105
105
|
.then(() => {
|
|
106
|
-
if (this.#states.get(
|
|
106
|
+
if (this.#states.get(workspaceId) !== state)
|
|
107
107
|
return;
|
|
108
108
|
state.phase = "active";
|
|
109
109
|
state.transition = null;
|
|
@@ -111,9 +111,9 @@ export default class WorkerCapabilities {
|
|
|
111
111
|
this.#markIdle(state);
|
|
112
112
|
})
|
|
113
113
|
.catch((cause) => {
|
|
114
|
-
if (this.#states.get(
|
|
114
|
+
if (this.#states.get(workspaceId) === state) {
|
|
115
115
|
this.#cancelIdle(state);
|
|
116
|
-
this.#states.delete(
|
|
116
|
+
this.#states.delete(workspaceId);
|
|
117
117
|
}
|
|
118
118
|
throw cause;
|
|
119
119
|
});
|
|
@@ -134,7 +134,7 @@ export default class WorkerCapabilities {
|
|
|
134
134
|
state.leases--;
|
|
135
135
|
if (state.leases === 0
|
|
136
136
|
&& state.phase === "active"
|
|
137
|
-
&& this.#states.get(state.
|
|
137
|
+
&& this.#states.get(state.workspaceId) === state
|
|
138
138
|
&& !this.#stopping) {
|
|
139
139
|
this.#markIdle(state);
|
|
140
140
|
}
|
|
@@ -174,17 +174,17 @@ export default class WorkerCapabilities {
|
|
|
174
174
|
if (this.#stopping
|
|
175
175
|
|| state.phase !== "active"
|
|
176
176
|
|| state.leases !== 0
|
|
177
|
-
|| this.#states.get(state.
|
|
177
|
+
|| this.#states.get(state.workspaceId) !== state)
|
|
178
178
|
return;
|
|
179
179
|
this.#cancelIdle(state);
|
|
180
180
|
state.phase = "cooling";
|
|
181
181
|
const transition = Promise.resolve()
|
|
182
|
-
.then(() => this.#deactivate(state.
|
|
182
|
+
.then(() => this.#deactivate(state.workspaceId))
|
|
183
183
|
.then((cooled) => {
|
|
184
|
-
if (this.#states.get(state.
|
|
184
|
+
if (this.#states.get(state.workspaceId) !== state)
|
|
185
185
|
return;
|
|
186
186
|
if (cooled) {
|
|
187
|
-
this.#states.delete(state.
|
|
187
|
+
this.#states.delete(state.workspaceId);
|
|
188
188
|
return;
|
|
189
189
|
}
|
|
190
190
|
state.phase = "active";
|
|
@@ -193,12 +193,12 @@ export default class WorkerCapabilities {
|
|
|
193
193
|
this.#scheduleCooling(state, COOLING_RETRY_MS);
|
|
194
194
|
})
|
|
195
195
|
.catch((cause) => {
|
|
196
|
-
if (this.#states.get(state.
|
|
196
|
+
if (this.#states.get(state.workspaceId) !== state)
|
|
197
197
|
return;
|
|
198
198
|
state.phase = "active";
|
|
199
199
|
state.transition = null;
|
|
200
200
|
state.idleOrder = ++this.#idleSequence;
|
|
201
|
-
this.#report(state.
|
|
201
|
+
this.#report(state.workspaceId, cause);
|
|
202
202
|
this.#scheduleCooling(state, COOLING_RETRY_MS);
|
|
203
203
|
});
|
|
204
204
|
state.transition = transition;
|
|
@@ -211,4 +211,4 @@ export default class WorkerCapabilities {
|
|
|
211
211
|
state.idleOrder = null;
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
|
-
//# sourceMappingURL=
|
|
214
|
+
//# sourceMappingURL=WorkspaceCapabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkspaceCapabilities.js","sourceRoot":"","sources":["../../src/server/WorkspaceCapabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type Engine from "../core/Engine.ts";
|
|
2
|
+
import type WorkspaceGate from "../core/WorkspaceGate.ts";
|
|
3
|
+
import type { Db } from "../core/Db.ts";
|
|
4
|
+
import type { RegistryEntry } from "../core/ExecutorRegistry.ts";
|
|
5
|
+
import { type WorkspaceCapabilityRelease } from "./WorkspaceCapabilities.ts";
|
|
6
|
+
import type { RuntimeRegistration, WorkspaceCapabilityPublication, WorkspaceCapabilityIdentity, WorkspaceCapabilityGate, WorkspaceCapabilityProvider, WorkspaceCapabilityReplacement } from "./DaemonModule.ts";
|
|
7
|
+
type NormalizedRuntime = {
|
|
8
|
+
tag: string;
|
|
9
|
+
entry: RegistryEntry;
|
|
10
|
+
scheme: RuntimeRegistration["scheme"];
|
|
11
|
+
};
|
|
12
|
+
export default class WorkspaceResidency {
|
|
13
|
+
#private;
|
|
14
|
+
constructor({ db, engine, workspaceGate, normalizeRuntime }: {
|
|
15
|
+
db: Db;
|
|
16
|
+
engine: () => Engine;
|
|
17
|
+
workspaceGate: WorkspaceGate;
|
|
18
|
+
normalizeRuntime: (registration: RuntimeRegistration) => NormalizedRuntime;
|
|
19
|
+
});
|
|
20
|
+
get published(): boolean;
|
|
21
|
+
publish(): void;
|
|
22
|
+
beginStop(): void;
|
|
23
|
+
activeWorkspaceIds(): number[];
|
|
24
|
+
isActive(workspaceId: number): boolean;
|
|
25
|
+
retain(workspaceId: number): WorkspaceCapabilityRelease;
|
|
26
|
+
registerProvider(namespaceOwner: string, provider: WorkspaceCapabilityProvider): void;
|
|
27
|
+
identity(workspaceId: number): Promise<WorkspaceCapabilityIdentity>;
|
|
28
|
+
acquire(workspaceId: number): Promise<WorkspaceCapabilityRelease>;
|
|
29
|
+
readModuleState(workspaceId: number, namespaceOwner: string): Promise<unknown | null>;
|
|
30
|
+
readWorkerModuleState(workerId: number, namespaceOwner: string): Promise<unknown | null>;
|
|
31
|
+
replaceWorkerModuleState(workerId: number, namespaceOwner: string, state: unknown | null): Promise<void>;
|
|
32
|
+
reconcile(workspaceId: number): Promise<void>;
|
|
33
|
+
rematerializeActive(): Promise<void>;
|
|
34
|
+
replace({ workspaceId, namespaceOwner, state, runtimes, }: WorkspaceCapabilityReplacement, options?: WorkspaceCapabilityPublication): Promise<void>;
|
|
35
|
+
exclusively<T>(workspaceId: number, namespaceOwner: string, mode: WorkspaceCapabilityGate, run: () => Promise<T>): Promise<T>;
|
|
36
|
+
}
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=WorkspaceResidency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkspaceResidency.d.ts","sourceRoot":"","sources":["../../src/server/WorkspaceResidency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAA8B,EAE1B,KAAK,0BAA0B,EAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACR,mBAAmB,EACnB,8BAA8B,EAC9B,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,8BAA8B,EACjC,MAAM,mBAAmB,CAAC;AAS3B,KAAK,iBAAiB,GAAG;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;CACzC,CAAC;AAGF,MAAM,CAAC,OAAO,OAAO,kBAAkB;;IASnC,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE;QACzD,EAAE,EAAE,EAAE,CAAC;QACP,MAAM,EAAE,MAAM,MAAM,CAAC;QACrB,aAAa,EAAE,aAAa,CAAC;QAC7B,gBAAgB,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,iBAAiB,CAAC;KAC9E,EAYA;IAED,IAAI,SAAS,IAAI,OAAO,CAA4B;IACpD,OAAO,IAAI,IAAI,CAA4B;IAC3C,SAAS,IAAI,IAAI,CAAoC;IACrD,kBAAkB,IAAI,MAAM,EAAE,CAAoD;IAClF,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAqD;IAC3F,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,0BAA0B,CAAmD;IAE1G,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAOpF;IAEK,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAQxE;IAEK,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAGtE;IA8CK,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAO1F;IAKK,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAM7F;IAKK,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAa7G;IAEK,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElD;IAOK,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEzC;IAEK,OAAO,CAAC,EACV,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,GAC/C,EAAE,8BAA8B,EAAE,OAAO,GAAE,8BAAmC,GAAG,OAAO,CAAC,IAAI,CAAC,CAgD9F;IAEK,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAgBlI;CACJ"}
|