@plurnk/plurnk-service 4.2.1 → 4.3.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/INSTALL.md +7 -2
- package/README.md +3 -1
- package/SPEC.md +1977 -1397
- package/dist/build-info.d.ts.map +1 -1
- package/dist/build-info.js +25 -3
- package/dist/build-info.js.map +1 -1
- package/dist/build-info.json +1 -1
- package/dist/completions/_plurnk-service +1 -1
- package/dist/completions/plurnk-service.bash +1 -1
- package/dist/completions/plurnk-service.fish +1 -0
- package/dist/content/body-preview.js.map +1 -1
- package/dist/content/byte-view.d.ts.map +1 -1
- package/dist/content/byte-view.js +3 -2
- package/dist/content/byte-view.js.map +1 -1
- package/dist/content/edit-collision.d.ts +2 -1
- package/dist/content/edit-collision.d.ts.map +1 -1
- package/dist/content/edit-collision.js.map +1 -1
- package/dist/content/edit-receipt.d.ts.map +1 -1
- package/dist/content/edit-receipt.js +28 -23
- package/dist/content/edit-receipt.js.map +1 -1
- package/dist/content/edited-span.js +1 -1
- package/dist/content/edited-span.js.map +1 -1
- package/dist/content/line-anchors.d.ts +3 -2
- package/dist/content/line-anchors.d.ts.map +1 -1
- package/dist/content/line-anchors.js +33 -19
- package/dist/content/line-anchors.js.map +1 -1
- package/dist/content/line-selection.js.map +1 -1
- package/dist/content/pattern-edits.js +1 -1
- package/dist/content/pattern-edits.js.map +1 -1
- package/dist/content/read-projector.d.ts +1 -1
- package/dist/content/read-projector.d.ts.map +1 -1
- package/dist/content/read-projector.js +10 -8
- 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 +6 -5
- package/dist/content/read-resolve.js.map +1 -1
- package/dist/core/AdmittedTurnExecutor.d.ts +4 -4
- package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
- package/dist/core/AdmittedTurnExecutor.js +20 -18
- package/dist/core/AdmittedTurnExecutor.js.map +1 -1
- package/dist/core/AmbientMembers.d.ts +1 -1
- package/dist/core/AmbientMembers.d.ts.map +1 -1
- package/dist/core/AmbientMembers.js +5 -2
- package/dist/core/AmbientMembers.js.map +1 -1
- package/dist/core/BareBatchRunner.d.ts +1 -1
- package/dist/core/BareBatchRunner.d.ts.map +1 -1
- package/dist/core/BareBatchRunner.js +2 -2
- package/dist/core/BareBatchRunner.js.map +1 -1
- package/dist/core/CapabilityPolicies.js.map +1 -1
- package/dist/core/CapabilityResolver.d.ts +1 -2
- package/dist/core/CapabilityResolver.d.ts.map +1 -1
- package/dist/core/CapabilityResolver.js +11 -7
- package/dist/core/CapabilityResolver.js.map +1 -1
- package/dist/core/ChannelWrite.d.ts +2 -2
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +27 -0
- package/dist/core/ClientInteractions.js.map +1 -1
- package/dist/core/ContextFit.js +1 -1
- package/dist/core/ContextFit.js.map +1 -1
- package/dist/core/CoreSchemeServices.d.ts.map +1 -1
- package/dist/core/CoreSchemeServices.js +4 -4
- package/dist/core/CoreSchemeServices.js.map +1 -1
- package/dist/core/DataStatementRunner.d.ts.map +1 -1
- package/dist/core/DataStatementRunner.js +15 -15
- package/dist/core/DataStatementRunner.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +29 -5
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +210 -130
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/EditMutations.d.ts.map +1 -1
- package/dist/core/EditMutations.js +12 -6
- package/dist/core/EditMutations.js.map +1 -1
- package/dist/core/EditSequence.js.map +1 -1
- package/dist/core/Engine.d.ts +12 -6
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +29 -7
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/ExecutionOutputs.js.map +1 -1
- package/dist/core/ExecutorRegistry.d.ts +1 -2
- package/dist/core/ExecutorRegistry.d.ts.map +1 -1
- package/dist/core/ExecutorRegistry.js +2 -2
- package/dist/core/ExecutorRegistry.js.map +1 -1
- package/dist/core/FileAddress.js.map +1 -1
- package/dist/core/FilePublication.d.ts.map +1 -1
- package/dist/core/FilePublication.js +6 -3
- package/dist/core/FilePublication.js.map +1 -1
- package/dist/core/FileSnapshot.d.ts.map +1 -1
- package/dist/core/FileSnapshot.js +8 -5
- package/dist/core/FileSnapshot.js.map +1 -1
- package/dist/core/KillHandler.d.ts.map +1 -1
- package/dist/core/KillHandler.js +7 -0
- package/dist/core/KillHandler.js.map +1 -1
- package/dist/core/LiveSubscription.d.ts +1 -0
- package/dist/core/LiveSubscription.d.ts.map +1 -1
- package/dist/core/LiveSubscription.js +3 -2
- package/dist/core/LiveSubscription.js.map +1 -1
- package/dist/core/LiveSubscriptions.d.ts +4 -1
- package/dist/core/LiveSubscriptions.d.ts.map +1 -1
- package/dist/core/LiveSubscriptions.js +42 -1
- package/dist/core/LiveSubscriptions.js.map +1 -1
- package/dist/core/LogBody.d.ts.map +1 -1
- package/dist/core/LogBody.js +22 -19
- package/dist/core/LogBody.js.map +1 -1
- package/dist/core/LogVisibility.d.ts +1 -1
- package/dist/core/LogVisibility.d.ts.map +1 -1
- package/dist/core/LogVisibility.js +4 -6
- package/dist/core/LogVisibility.js.map +1 -1
- package/dist/core/LogWriter.d.ts.map +1 -1
- package/dist/core/LogWriter.js +6 -9
- package/dist/core/LogWriter.js.map +1 -1
- package/dist/core/LoopDriver.d.ts +4 -4
- package/dist/core/LoopDriver.d.ts.map +1 -1
- package/dist/core/LoopDriver.js +4 -5
- package/dist/core/LoopDriver.js.map +1 -1
- package/dist/core/LoopLifecycle.d.ts +2 -0
- package/dist/core/LoopLifecycle.d.ts.map +1 -1
- package/dist/core/LoopLifecycle.js +13 -3
- package/dist/core/LoopLifecycle.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +4 -4
- package/dist/core/LoopOutcome.d.ts.map +1 -1
- package/dist/core/LoopOutcome.js +2 -2
- package/dist/core/LoopOutcome.js.map +1 -1
- package/dist/core/MembershipMaterialization.d.ts.map +1 -1
- package/dist/core/MembershipMaterialization.js +29 -29
- package/dist/core/MembershipMaterialization.js.map +1 -1
- package/dist/core/MessageResources.d.ts +5 -1
- package/dist/core/MessageResources.d.ts.map +1 -1
- package/dist/core/MessageResources.js +12 -0
- package/dist/core/MessageResources.js.map +1 -1
- package/dist/core/MessageResources.sql +8 -0
- package/dist/core/MutationEffects.d.ts +1 -0
- package/dist/core/MutationEffects.d.ts.map +1 -1
- package/dist/core/MutationEffects.js +14 -10
- package/dist/core/MutationEffects.js.map +1 -1
- package/dist/core/OperationHistory.d.ts.map +1 -1
- package/dist/core/OperationHistory.js +4 -3
- package/dist/core/OperationHistory.js.map +1 -1
- package/dist/core/OperatorConfig.d.ts.map +1 -1
- package/dist/core/OperatorConfig.js +3 -2
- package/dist/core/OperatorConfig.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts +1 -1
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +7 -5
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/ProblemLog.d.ts +2 -5
- package/dist/core/ProblemLog.d.ts.map +1 -1
- package/dist/core/ProblemLog.js +2 -3
- package/dist/core/ProblemLog.js.map +1 -1
- package/dist/core/ProposalLifecycle.d.ts +12 -11
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +92 -84
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ReasoningEvent.d.ts +2 -0
- package/dist/core/ReasoningEvent.d.ts.map +1 -1
- package/dist/core/ReplyMetadata.d.ts.map +1 -1
- package/dist/core/ReplyMetadata.js +4 -3
- package/dist/core/ReplyMetadata.js.map +1 -1
- package/dist/core/ResourceBindings.d.ts +2 -2
- package/dist/core/ResourceBindings.d.ts.map +1 -1
- package/dist/core/ResourceBindings.js.map +1 -1
- package/dist/core/ResourceMutations.d.ts +1 -1
- package/dist/core/ResourceMutations.d.ts.map +1 -1
- package/dist/core/ResourceMutations.js +1 -2
- package/dist/core/ResourceMutations.js.map +1 -1
- package/dist/core/ResourceSelector.js +2 -2
- package/dist/core/ResourceSelector.js.map +1 -1
- package/dist/core/ResourceTransfers.d.ts.map +1 -1
- package/dist/core/ResourceTransfers.js +162 -120
- package/dist/core/ResourceTransfers.js.map +1 -1
- package/dist/core/SchemeRegistry.d.ts +6 -5
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +32 -26
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/ServiceHelp.d.ts.map +1 -1
- package/dist/core/ServiceHelp.js +2 -1
- package/dist/core/ServiceHelp.js.map +1 -1
- package/dist/core/StoredPacket.d.ts.map +1 -1
- package/dist/core/StoredPacket.js +26 -19
- package/dist/core/StoredPacket.js.map +1 -1
- package/dist/core/StrikeRail.d.ts +1 -2
- package/dist/core/StrikeRail.d.ts.map +1 -1
- package/dist/core/StrikeRail.js +4 -4
- package/dist/core/StrikeRail.js.map +1 -1
- package/dist/core/TerminalResult.d.ts +0 -2
- package/dist/core/TerminalResult.d.ts.map +1 -1
- package/dist/core/TerminalResult.js +0 -18
- package/dist/core/TerminalResult.js.map +1 -1
- package/dist/core/ToolInputSchema.d.ts.map +1 -1
- package/dist/core/ToolInputSchema.js +2 -2
- package/dist/core/ToolInputSchema.js.map +1 -1
- package/dist/core/ToolResources.d.ts +1 -0
- package/dist/core/ToolResources.d.ts.map +1 -1
- package/dist/core/ToolResources.js +7 -6
- package/dist/core/ToolResources.js.map +1 -1
- package/dist/core/TurnDispositionHandler.d.ts +1 -1
- package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
- package/dist/core/TurnDispositionHandler.js +0 -1
- package/dist/core/TurnDispositionHandler.js.map +1 -1
- package/dist/core/TurnMaterialization.d.ts.map +1 -1
- package/dist/core/TurnMaterialization.js +3 -2
- package/dist/core/TurnMaterialization.js.map +1 -1
- package/dist/core/TurnRunner.d.ts +13 -12
- package/dist/core/TurnRunner.d.ts.map +1 -1
- package/dist/core/TurnRunner.js +174 -164
- package/dist/core/TurnRunner.js.map +1 -1
- package/dist/core/TurnRunner.sql +3 -3
- package/dist/core/WorkerOwners.js.map +1 -1
- package/dist/core/caps/DbEntryCaps.js.map +1 -1
- package/dist/core/caps/DbMessageCaps.d.ts +3 -3
- package/dist/core/caps/DbMessageCaps.d.ts.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.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.js +1 -0
- package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +4 -1
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
- package/dist/core/env-catalog.js.map +1 -1
- package/dist/core/env-defaults.d.ts.map +1 -1
- package/dist/core/env-defaults.js +5 -3
- package/dist/core/env-defaults.js.map +1 -1
- package/dist/core/file-creation-policy.d.ts.map +1 -1
- package/dist/core/file-creation-policy.js +2 -1
- package/dist/core/file-creation-policy.js.map +1 -1
- package/dist/core/file-materialization.d.ts.map +1 -1
- package/dist/core/file-materialization.js +9 -11
- package/dist/core/file-materialization.js.map +1 -1
- 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 +34 -3
- package/dist/core/git-env.js.map +1 -1
- package/dist/core/git-membership.d.ts +5 -0
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +55 -21
- 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 +1 -0
- package/dist/core/git-state.js.map +1 -1
- package/dist/core/packet-wire.d.ts +26 -21
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +150 -112
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/results.d.ts +9 -4
- package/dist/core/results.d.ts.map +1 -1
- package/dist/core/results.js +14 -1
- package/dist/core/results.js.map +1 -1
- package/dist/core/runtime-floor.d.ts +8 -0
- package/dist/core/runtime-floor.d.ts.map +1 -0
- package/dist/core/runtime-floor.js +40 -0
- package/dist/core/runtime-floor.js.map +1 -0
- package/dist/core/runtime-guard.d.ts +2 -0
- package/dist/core/runtime-guard.d.ts.map +1 -0
- package/dist/core/runtime-guard.js +5 -0
- package/dist/core/runtime-guard.js.map +1 -0
- package/dist/core/sqlite-synchronous.d.ts +1 -1
- package/dist/core/sqlite-synchronous.d.ts.map +1 -1
- package/dist/core/sqlite-synchronous.js.map +1 -1
- package/dist/core/statement-primary.d.ts +2 -2
- package/dist/core/statement-primary.d.ts.map +1 -1
- package/dist/core/statement-primary.js.map +1 -1
- package/dist/core/workspace-settings.js +1 -1
- package/dist/core/workspace-settings.js.map +1 -1
- package/dist/evidence/EvidenceReader.d.ts.map +1 -1
- package/dist/evidence/EvidenceReader.js +20 -6
- package/dist/evidence/EvidenceReader.js.map +1 -1
- package/dist/launch/Launch.d.ts +1 -0
- package/dist/launch/Launch.d.ts.map +1 -1
- package/dist/launch/Launch.js +28 -12
- package/dist/launch/Launch.js.map +1 -1
- package/dist/man/plurnk-service.1 +6 -2
- package/dist/schemes/EffectPolicy.js +1 -1
- package/dist/schemes/EffectPolicy.js.map +1 -1
- package/dist/schemes/Env.d.ts +1 -1
- package/dist/schemes/Env.d.ts.map +1 -1
- package/dist/schemes/Env.js +7 -1
- package/dist/schemes/Env.js.map +1 -1
- package/dist/schemes/Exec.d.ts +10 -12
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +337 -437
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.d.ts +4 -6
- package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +17 -17
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/ExecScheduler.d.ts.map +1 -1
- package/dist/schemes/ExecScheduler.js +1 -2
- package/dist/schemes/ExecScheduler.js.map +1 -1
- package/dist/schemes/ExecutionInput.js +3 -3
- package/dist/schemes/ExecutionInput.js.map +1 -1
- package/dist/schemes/File.d.ts +3 -18
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +136 -79
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +193 -161
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/QuestionTool.d.ts.map +1 -1
- package/dist/schemes/QuestionTool.js +6 -8
- package/dist/schemes/QuestionTool.js.map +1 -1
- package/dist/schemes/ResourceTreeScheme.d.ts.map +1 -1
- package/dist/schemes/ResourceTreeScheme.js +2 -2
- package/dist/schemes/ResourceTreeScheme.js.map +1 -1
- package/dist/schemes/TurnSource.js +3 -3
- package/dist/schemes/TurnSource.js.map +1 -1
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +4 -2
- 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 +187 -139
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-manifest.js +1 -1
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_search-index.js.map +1 -1
- package/dist/schemes/exec-entry-sink.d.ts +30 -0
- package/dist/schemes/exec-entry-sink.d.ts.map +1 -0
- package/dist/schemes/exec-entry-sink.js +238 -0
- package/dist/schemes/exec-entry-sink.js.map +1 -0
- package/dist/schemes/exec-lifetime.d.ts.map +1 -1
- package/dist/schemes/exec-lifetime.js +5 -2
- package/dist/schemes/exec-lifetime.js.map +1 -1
- package/dist/server/ClientOperations.d.ts +45 -0
- package/dist/server/ClientOperations.d.ts.map +1 -0
- package/dist/server/ClientOperations.js +192 -0
- package/dist/server/ClientOperations.js.map +1 -0
- package/dist/server/ClientReads.d.ts +13 -5
- package/dist/server/ClientReads.d.ts.map +1 -1
- package/dist/server/ClientReads.js +108 -21
- package/dist/server/ClientReads.js.map +1 -1
- package/dist/server/Credentials.js +2 -2
- package/dist/server/Credentials.js.map +1 -1
- package/dist/server/Daemon.d.ts +40 -28
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +250 -839
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DaemonLock.d.ts +2 -0
- package/dist/server/DaemonLock.d.ts.map +1 -1
- package/dist/server/DaemonLock.js +10 -1
- package/dist/server/DaemonLock.js.map +1 -1
- package/dist/server/DaemonModules.d.ts +39 -0
- package/dist/server/DaemonModules.d.ts.map +1 -0
- package/dist/server/DaemonModules.js +219 -0
- package/dist/server/DaemonModules.js.map +1 -0
- package/dist/server/DrainSupervisor.d.ts +4 -2
- package/dist/server/DrainSupervisor.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.js +318 -290
- package/dist/server/DrainSupervisor.js.map +1 -1
- package/dist/server/EnvFunctionality.d.ts +10 -7
- package/dist/server/EnvFunctionality.d.ts.map +1 -1
- package/dist/server/EnvFunctionality.js +6 -5
- package/dist/server/EnvFunctionality.js.map +1 -1
- package/dist/server/Functionality.d.ts +4 -5
- package/dist/server/Functionality.d.ts.map +1 -1
- package/dist/server/Functionality.js +19 -15
- package/dist/server/Functionality.js.map +1 -1
- package/dist/server/HttpListener.d.ts.map +1 -1
- package/dist/server/HttpListener.js +28 -8
- package/dist/server/HttpListener.js.map +1 -1
- package/dist/server/MembersFunctionality.d.ts +19 -7
- package/dist/server/MembersFunctionality.d.ts.map +1 -1
- package/dist/server/MembersFunctionality.js +30 -16
- package/dist/server/MembersFunctionality.js.map +1 -1
- package/dist/server/MessageDelivery.d.ts +43 -0
- package/dist/server/MessageDelivery.d.ts.map +1 -0
- package/dist/server/MessageDelivery.js +186 -0
- package/dist/server/MessageDelivery.js.map +1 -0
- package/dist/server/ModuleHost.d.ts +3 -3
- package/dist/server/ModuleHost.d.ts.map +1 -1
- package/dist/server/Places.d.ts +19 -0
- package/dist/server/Places.d.ts.map +1 -0
- package/dist/server/Places.js +76 -0
- package/dist/server/Places.js.map +1 -0
- package/dist/server/PluginSources.d.ts.map +1 -1
- package/dist/server/PluginSources.js +2 -1
- package/dist/server/PluginSources.js.map +1 -1
- package/dist/server/PlurnkSkill.d.ts.map +1 -1
- package/dist/server/PlurnkSkill.js +5 -4
- package/dist/server/PlurnkSkill.js.map +1 -1
- package/dist/server/Rollback.d.ts.map +1 -1
- package/dist/server/Rollback.js +2 -1
- package/dist/server/Rollback.js.map +1 -1
- package/dist/server/WorkerModels.d.ts +83 -0
- package/dist/server/WorkerModels.d.ts.map +1 -0
- package/dist/server/WorkerModels.js +500 -0
- package/dist/server/WorkerModels.js.map +1 -0
- package/dist/server/WorkerOverview.d.ts +22 -0
- package/dist/server/WorkerOverview.d.ts.map +1 -0
- package/dist/server/WorkerOverview.js +42 -0
- package/dist/server/WorkerOverview.js.map +1 -0
- package/dist/server/WorkspacePlugins.d.ts +1 -1
- package/dist/server/WorkspacePlugins.d.ts.map +1 -1
- package/dist/server/WorkspacePlugins.js +0 -1
- package/dist/server/WorkspacePlugins.js.map +1 -1
- package/dist/server/WorkspaceResidency.d.ts +3 -3
- package/dist/server/WorkspaceResidency.d.ts.map +1 -1
- package/dist/server/WorkspaceResidency.js.map +1 -1
- package/dist/server/client-input.d.ts +2 -2
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +19 -12
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/envelope.d.ts +4 -1
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +7 -3
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/envelope.sql +10 -6
- package/dist/server/logEntry.d.ts +38 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +9 -9
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/logEntry.sql +4 -2
- package/dist/server/loopDocs.d.ts.map +1 -1
- package/dist/server/loopDocs.js +11 -2
- package/dist/server/loopDocs.js.map +1 -1
- package/dist/server/module-discovery.d.ts +2 -3
- package/dist/server/module-discovery.d.ts.map +1 -1
- package/dist/server/module-discovery.js +6 -6
- package/dist/server/module-discovery.js.map +1 -1
- package/dist/server/places.sql +83 -0
- package/dist/server/seam-loop.sql +8 -0
- package/dist/server/worker-overview.sql +50 -0
- package/dist/service.d.ts +1 -0
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +35 -9
- package/dist/service.js.map +1 -1
- package/docs/members.md +11 -21
- package/migrations/033_hidden_places.sql +10 -0
- package/package.json +48 -57
- package/dist/observe/init.d.ts +0 -8
- package/dist/observe/init.d.ts.map +0 -1
- package/dist/observe/init.js +0 -163
- package/dist/observe/init.js.map +0 -1
- package/dist/server/WorkerModelResolver.d.ts +0 -20
- package/dist/server/WorkerModelResolver.d.ts.map +0 -1
- package/dist/server/WorkerModelResolver.js +0 -200
- package/dist/server/WorkerModelResolver.js.map +0 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type MessageResource } from "@plurnk/plurnk-contracts";
|
|
2
|
+
import type { Mimetypes } from "@plurnk/plurnk-mimetypes";
|
|
3
|
+
import type { Db } from "../core/Db.ts";
|
|
4
|
+
import type Engine from "../core/Engine.ts";
|
|
5
|
+
import type { SchemeResult } from "../core/results.ts";
|
|
6
|
+
import type { DrainInjectionArgs, DrainInjectionResult } from "./DrainSupervisor.ts";
|
|
7
|
+
import type Functionality from "./Functionality.ts";
|
|
8
|
+
import { type default as WorkerModels } from "./WorkerModels.ts";
|
|
9
|
+
type EngineCallbacks = ConstructorParameters<typeof Engine>[0];
|
|
10
|
+
type InjectWorker = NonNullable<EngineCallbacks["injectWorker"]>;
|
|
11
|
+
type InjectWorkerArgs = Parameters<InjectWorker>[0];
|
|
12
|
+
type InjectWorkerResult = Awaited<ReturnType<InjectWorker>>;
|
|
13
|
+
export default class MessageDelivery {
|
|
14
|
+
#private;
|
|
15
|
+
constructor({ db, workerModels, functionality, mimetypes, inject }: {
|
|
16
|
+
db: Db;
|
|
17
|
+
workerModels: WorkerModels;
|
|
18
|
+
functionality: Functionality;
|
|
19
|
+
mimetypes: Mimetypes;
|
|
20
|
+
inject: (args: DrainInjectionArgs) => Promise<DrainInjectionResult>;
|
|
21
|
+
});
|
|
22
|
+
runLoop(args: {
|
|
23
|
+
workspaceId: number;
|
|
24
|
+
workerId: number;
|
|
25
|
+
loopId?: number;
|
|
26
|
+
prompt: string;
|
|
27
|
+
source?: string;
|
|
28
|
+
messageAddress?: string;
|
|
29
|
+
attachments?: readonly MessageResource[];
|
|
30
|
+
envelope?: Readonly<Record<string, unknown>>;
|
|
31
|
+
maxTurns?: number;
|
|
32
|
+
openPaths?: string[];
|
|
33
|
+
selector?: string;
|
|
34
|
+
childSelector?: string | null;
|
|
35
|
+
}): Promise<SchemeResult & {
|
|
36
|
+
action: "injected_next_turn" | "enqueued_new_loop";
|
|
37
|
+
loopId: number;
|
|
38
|
+
turnSeq?: number;
|
|
39
|
+
}>;
|
|
40
|
+
injectWorker({ workspaceId, workerId, sourceLoopId, prompt, spawn, environment, attachments, opener }: InjectWorkerArgs): Promise<InjectWorkerResult>;
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=MessageDelivery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageDelivery.d.ts","sourceRoot":"","sources":["../../src/server/MessageDelivery.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqC,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEnG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAK1D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAwB,MAAM,sBAAsB,CAAC;AAC3G,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,KAAK,OAAO,IAAI,YAAY,EAAyB,MAAM,mBAAmB,CAAC;AAExF,KAAK,eAAe,GAAG,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,KAAK,YAAY,GAAG,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC;AACjE,KAAK,gBAAgB,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,KAAK,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;AAE5D,MAAM,CAAC,OAAO,OAAO,eAAe;;IAQhC,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;QAChE,EAAE,EAAE,EAAE,CAAC;QACP,YAAY,EAAE,YAAY,CAAC;QAC3B,aAAa,EAAE,aAAa,CAAC;QAC7B,SAAS,EAAE,SAAS,CAAC;QACrB,MAAM,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;KACvE,EAMA;IAMK,OAAO,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,GAAG;QAAE,MAAM,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAmD7a;IAMK,YAAY,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA+D1J;CAmCJ"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
// A message's delivery to a worker: the seam's runLoop and the worker scheme's injectWorker both resolve the worker's
|
|
2
|
+
// model and effort, read the card, prepare the message with its attachments, attribute its source, and inject it into
|
|
3
|
+
// the worker's drain, which starts a loop or folds into the active one. Split out of Daemon, which keeps the drain's
|
|
4
|
+
// run callback and the delegating port entry point.
|
|
5
|
+
import { readFile } from "node:fs/promises";
|
|
6
|
+
import {} from "@plurnk/plurnk-contracts";
|
|
7
|
+
import { Knob } from "@plurnk/plurnk-meta";
|
|
8
|
+
import Paths from "../Paths.js";
|
|
9
|
+
import { contentWeight } from "../core/content-weight.js";
|
|
10
|
+
import ContentUse from "../core/ContentUse.js";
|
|
11
|
+
import MessageResources from "../core/MessageResources.js";
|
|
12
|
+
import WorkerControlAddress from "../core/WorkerControlAddress.js";
|
|
13
|
+
import ClientInput from "./client-input.js";
|
|
14
|
+
import { routeForSpec } from "./model-route.js";
|
|
15
|
+
import { providerNotConfigured } from "./WorkerModels.js";
|
|
16
|
+
export default class MessageDelivery {
|
|
17
|
+
#db;
|
|
18
|
+
#workerModels;
|
|
19
|
+
#functionality;
|
|
20
|
+
#mimetypes;
|
|
21
|
+
// The drain's unified inject: active sister → fold; idle → enqueue + drain ({§machine-processes}).
|
|
22
|
+
#inject;
|
|
23
|
+
constructor({ db, workerModels, functionality, mimetypes, inject }) {
|
|
24
|
+
this.#db = db;
|
|
25
|
+
this.#workerModels = workerModels;
|
|
26
|
+
this.#functionality = functionality;
|
|
27
|
+
this.#mimetypes = mimetypes;
|
|
28
|
+
this.#inject = inject;
|
|
29
|
+
}
|
|
30
|
+
// {§methods-loop-run} — drive/steer a loop. The module supplies only workspace/worker/prompt;
|
|
31
|
+
// the provider and the law-file system prompt are core's and stay inside. Returns immediately — the
|
|
32
|
+
// loop runs async and its outcome arrives on the event source (loop/terminated). `cancelDrain` (public)
|
|
33
|
+
// is the cancel hook. Both funnel through the unified `inject`, which owns the drain lifecycle.
|
|
34
|
+
async runLoop(args) {
|
|
35
|
+
const workspaceId = ClientInput.assertId("runLoop", "workspaceId", args.workspaceId);
|
|
36
|
+
const workerId = ClientInput.assertId("runLoop", "workerId", args.workerId);
|
|
37
|
+
const recipientLoopId = args.loopId === undefined ? undefined : ClientInput.assertId("runLoop", "loopId", args.loopId);
|
|
38
|
+
await this.#workerModels.assertModelWorker(workspaceId, workerId);
|
|
39
|
+
const attachments = ClientInput.assertMessageResources("runLoop", args.attachments);
|
|
40
|
+
const body = ClientInput.assertPrompt("runLoop", args.prompt, attachments.length > 0);
|
|
41
|
+
const source = ClientInput.assertOptionalSource("runLoop", args.source);
|
|
42
|
+
const messageAddress = ClientInput.assertOptionalSource("runLoop", args.messageAddress);
|
|
43
|
+
const requestedMaxTurns = ClientInput.assertMaxTurns("runLoop", args.maxTurns);
|
|
44
|
+
const openPaths = ClientInput.assertOpenPaths("runLoop", args.openPaths);
|
|
45
|
+
const selector = ClientInput.assertOptionalSelector("runLoop", "selector", args.selector);
|
|
46
|
+
const childSelector = ClientInput.assertOptionalChildSelector("runLoop", args.childSelector);
|
|
47
|
+
// {§worker-model-selection} — the worker owns the model. An explicit selector
|
|
48
|
+
// persists onto the worker; an omitted selector resolves the worker's durable model
|
|
49
|
+
// (seeded once from the daemon default). The loop then snapshots the resolved route.
|
|
50
|
+
// A continuation's omitted selector must still keep the loop's durable provider.
|
|
51
|
+
const selectorExplicit = selector !== undefined;
|
|
52
|
+
const generationPolicy = await this.#workerModels.resolveWorkerModel(workerId, selector);
|
|
53
|
+
if (generationPolicy === null)
|
|
54
|
+
throw providerNotConfigured();
|
|
55
|
+
const { providerSpec: selection, effort } = generationPolicy;
|
|
56
|
+
// {§methods-loop-run-child-provider} — the worker's persistent spawn override.
|
|
57
|
+
const childSelection = await this.#workerModels.resolveWorkerSpawnModel(workerId, childSelector);
|
|
58
|
+
const systemPrompt = await readFile(Paths.instructionsSystem, "utf8"); // {§card-read-per-wake}
|
|
59
|
+
// {§operator-config-max-turns-ceiling} — the operator ceiling clamps a per-call maxTurns; a
|
|
60
|
+
// seam caller must not bypass operator policy (inject only DEFAULTS from env, never clamps).
|
|
61
|
+
const ceiling = Knob.integer("PLURNK_SERVICE_MAX_TURNS", -1);
|
|
62
|
+
const requested = requestedMaxTurns ?? ceiling;
|
|
63
|
+
const maxTurns = ceiling < 0 ? requested : (requested < 0 ? ceiling : Math.min(requested, ceiling));
|
|
64
|
+
const turnCeiling = {
|
|
65
|
+
effective: maxTurns,
|
|
66
|
+
source: requestedMaxTurns === undefined ? "implicit" : "explicit"
|
|
67
|
+
};
|
|
68
|
+
const { action, loopId, turnSeq } = await ContentUse.read(this.#db, async () => {
|
|
69
|
+
const delivered = await this.#prepareMessage(workspaceId, workerId, body, attachments, args.envelope);
|
|
70
|
+
return this.#inject({
|
|
71
|
+
workspaceId,
|
|
72
|
+
workerId,
|
|
73
|
+
prompt: delivered.body,
|
|
74
|
+
...(recipientLoopId === undefined ? {} : { loopId: recipientLoopId }),
|
|
75
|
+
evidence: delivered.evidence,
|
|
76
|
+
...(messageAddress === undefined ? {} : { messageAddress }),
|
|
77
|
+
...(source === undefined ? {} : { source }),
|
|
78
|
+
...(openPaths !== undefined ? { openPaths } : {}),
|
|
79
|
+
turnCeiling,
|
|
80
|
+
providerSpec: selection,
|
|
81
|
+
providerSpecExplicit: selectorExplicit,
|
|
82
|
+
effort,
|
|
83
|
+
childProviderSpec: childSelection,
|
|
84
|
+
systemPrompt
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
return { status: 100, action, loopId, ...(turnSeq !== undefined ? { turnSeq } : {}) };
|
|
88
|
+
}
|
|
89
|
+
// worker:// loop-start primitive — spawn/fork/irc deliver through the drain's inject (active sister → fold; idle →
|
|
90
|
+
// enqueue + drain). The daemon owns provider + the law-file system prompt; the worker scheme handler carries
|
|
91
|
+
// neither. Fire-and-forget: the returned drain runs independently (the sister is its own worker).
|
|
92
|
+
// {§machine-processes}
|
|
93
|
+
async injectWorker({ workspaceId, workerId, sourceLoopId, prompt, spawn, environment, attachments, opener }) {
|
|
94
|
+
await this.#workerModels.assertModelWorker(workspaceId, workerId);
|
|
95
|
+
const sender = await this.#db.drain_message_source.get({ loop_id: sourceLoopId });
|
|
96
|
+
if (sender === undefined || sender.workspace_id !== workspaceId) {
|
|
97
|
+
throw new Error(`injectWorker: source loop ${sourceLoopId} does not belong to workspace ${workspaceId}`);
|
|
98
|
+
}
|
|
99
|
+
const source = await this.#messageSource(workspaceId, sourceLoopId, sender.worker_id, workerId);
|
|
100
|
+
const systemPrompt = await readFile(Paths.instructionsSystem, "utf8"); // {§card-read-per-wake}
|
|
101
|
+
let providerSpec;
|
|
102
|
+
let childProviderSpec;
|
|
103
|
+
let effort;
|
|
104
|
+
if (spawn !== true) {
|
|
105
|
+
// {§worker-model-selection} — the voice door addresses an
|
|
106
|
+
// existing worker. Its own durable generation policy is the
|
|
107
|
+
// receiver's identity; the daemon default and sender do not
|
|
108
|
+
// overwrite it merely because a new loop must be minted.
|
|
109
|
+
const targetPolicy = await this.#workerModels.resolveWorkerModel(workerId, undefined);
|
|
110
|
+
if (targetPolicy === null) {
|
|
111
|
+
throw new Error(`injectWorker: worker ${workerId} has no resolvable model route`);
|
|
112
|
+
}
|
|
113
|
+
providerSpec = targetPolicy.providerSpec;
|
|
114
|
+
effort = targetPolicy.effort;
|
|
115
|
+
childProviderSpec = await this.#workerModels.resolveWorkerSpawnModel(workerId, undefined);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
const parentPolicy = await this.#workerModels.loopPolicy(sourceLoopId);
|
|
119
|
+
providerSpec = parentPolicy.childProviderSpec ?? parentPolicy.providerSpec;
|
|
120
|
+
effort = parentPolicy.effort;
|
|
121
|
+
// {§worker-model-selection} — lineage inheritance by value:
|
|
122
|
+
// the child begins with the spawning loop's effective spawn
|
|
123
|
+
// model and no separate override of its own.
|
|
124
|
+
childProviderSpec = null;
|
|
125
|
+
// {§worker-effort-source} — inherited by value, chosen by nobody on this worker.
|
|
126
|
+
await this.#workerModels.persistGenerationPolicy(workerId, {
|
|
127
|
+
model_route_id: await routeForSpec(this.#db, providerSpec),
|
|
128
|
+
spawn_model_route_id: null,
|
|
129
|
+
effort: effort,
|
|
130
|
+
effort_source: "default"
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
// {§env-option} — a created worker's explicit overrides replace copied values and enable them.
|
|
134
|
+
// Names were admitted at the operation; a refusal here is a defect and throws.
|
|
135
|
+
for (const [alias, value] of Object.entries(environment ?? {})) {
|
|
136
|
+
await this.#functionality.invoke("env", "replace", { alias, definition: { value } }, { workspaceId, workerId }, "operation");
|
|
137
|
+
await this.#functionality.invoke("env", "enable", { alias }, { workspaceId, workerId }, "operation");
|
|
138
|
+
}
|
|
139
|
+
const { action, loopId, messageId } = await ContentUse.read(this.#db, async () => {
|
|
140
|
+
const delivered = await this.#prepareMessage(workspaceId, workerId, prompt, attachments);
|
|
141
|
+
return this.#inject({
|
|
142
|
+
workspaceId,
|
|
143
|
+
workerId,
|
|
144
|
+
prompt: delivered.body,
|
|
145
|
+
evidence: delivered.evidence,
|
|
146
|
+
sourceLoopId,
|
|
147
|
+
...(source === undefined ? {} : { source }),
|
|
148
|
+
...(opener === undefined ? {} : { opener }),
|
|
149
|
+
providerSpec,
|
|
150
|
+
effort,
|
|
151
|
+
childProviderSpec,
|
|
152
|
+
systemPrompt
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
// {§worker-obligations} — the message's durable address, as Open Work names it.
|
|
156
|
+
const message = await this.#db.drain_message_path.get({ id: messageId });
|
|
157
|
+
if (message === undefined)
|
|
158
|
+
throw new Error(`injectWorker: message ${messageId} has no address`);
|
|
159
|
+
return { action, loopId, message: message.path };
|
|
160
|
+
}
|
|
161
|
+
async #prepareMessage(workspaceId, workerId, body, attachments = [], envelope) {
|
|
162
|
+
const published = await MessageResources.publish(body, attachments, {
|
|
163
|
+
db: this.#db, workspaceId, workerId, loopId: 0, turnId: 0, writer: "_plurnk", signal: undefined,
|
|
164
|
+
weigh: contentWeight, mimetypes: this.#mimetypes,
|
|
165
|
+
});
|
|
166
|
+
return { body: published.body, evidence: {
|
|
167
|
+
...(envelope === undefined ? {} : { envelope: structuredClone(envelope) }),
|
|
168
|
+
...(published.attachments.length === 0 ? {} : { attachments: published.attachments }),
|
|
169
|
+
} };
|
|
170
|
+
}
|
|
171
|
+
// {§actor-boundary-client-operations} A message speaks for its loop's actor: a person's operation for that
|
|
172
|
+
// person, as a thread message does; any other loop for its worker.
|
|
173
|
+
async #messageSource(workspaceId, sourceLoopId, sourceWorkerId, targetWorkerId) {
|
|
174
|
+
const person = await this.#db.envelope_client_operation_person.get({ loop_id: sourceLoopId });
|
|
175
|
+
if (person !== undefined)
|
|
176
|
+
return person.person;
|
|
177
|
+
if (sourceWorkerId === targetWorkerId)
|
|
178
|
+
return undefined;
|
|
179
|
+
const source = await this.#db.envelope_get_worker_by_id.get({ id: sourceWorkerId });
|
|
180
|
+
if (source === undefined || source.workspace_id !== workspaceId) {
|
|
181
|
+
throw new Error(`Worker prompt source ${sourceWorkerId} does not belong to workspace ${workspaceId}.`);
|
|
182
|
+
}
|
|
183
|
+
return WorkerControlAddress.render(source.name);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=MessageDelivery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageDelivery.js","sourceRoot":"","sources":["../../src/server/MessageDelivery.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import type { RuntimeSchemeFacet, SchemeRegistrationSeam, ResourceTreeRegistrati
|
|
|
8
8
|
import type { AgentRootScope } from "./AgentRoots.ts";
|
|
9
9
|
export type HostFunctionalityAdapter = FunctionalityAdapter<RuntimeRegistration, RuntimeSchemeFacet>;
|
|
10
10
|
interface WorkspaceCapabilityContext extends WorkspaceCapabilityIdentity {
|
|
11
|
-
retain()
|
|
11
|
+
readonly retain: () => () => void;
|
|
12
12
|
}
|
|
13
13
|
export interface WorkspaceCapabilityProvider {
|
|
14
14
|
activate(context: WorkspaceCapabilityContext): void | Promise<void>;
|
|
@@ -16,7 +16,7 @@ export interface WorkspaceCapabilityProvider {
|
|
|
16
16
|
}
|
|
17
17
|
export interface WorkspaceCapabilityReplacement extends WorkspaceCapabilityIdentity {
|
|
18
18
|
readonly namespaceOwner: string;
|
|
19
|
-
readonly state: unknown
|
|
19
|
+
readonly state: unknown;
|
|
20
20
|
readonly runtimes: readonly RuntimeRegistration[];
|
|
21
21
|
}
|
|
22
22
|
export interface WorkspaceCapabilityPublication {
|
|
@@ -26,7 +26,7 @@ export interface WorkspaceCapabilityPublication {
|
|
|
26
26
|
export interface CapabilityProviderSeam {
|
|
27
27
|
registerRuntimes(registrations: readonly RuntimeRegistration[]): Promise<void>;
|
|
28
28
|
registerWorkspaceCapabilityProvider(namespaceOwner: string, provider: WorkspaceCapabilityProvider): void;
|
|
29
|
-
readWorkspaceModuleState(workspaceId: number, namespaceOwner: string): Promise<unknown
|
|
29
|
+
readWorkspaceModuleState(workspaceId: number, namespaceOwner: string): Promise<unknown>;
|
|
30
30
|
replaceWorkspaceCapabilities(replacement: WorkspaceCapabilityReplacement): Promise<void>;
|
|
31
31
|
}
|
|
32
32
|
export type HostSetupSeam = ModuleSetupSeam & Pick<ApplicationPort, "credentials" | "httpAddress"> & FunctionalitySeam<RuntimeRegistration, RuntimeSchemeFacet> & SchemeRegistrationSeam & ResourceTreeRegistrationSeam & WorkspacePluginsSeam<AgentRootScope> & ProvidedSkillsSeam & CapabilityProviderSeam;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleHost.d.ts","sourceRoot":"","sources":["../../src/server/ModuleHost.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACrG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACvG,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACvH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAItD,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;AAErG,UAAU,0BAA2B,SAAQ,2BAA2B;IACpE,MAAM,
|
|
1
|
+
{"version":3,"file":"ModuleHost.d.ts","sourceRoot":"","sources":["../../src/server/ModuleHost.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACrG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACvG,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACvH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAItD,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;AAErG,UAAU,0BAA2B,SAAQ,2BAA2B;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,IAAI,CAAC;CACrC;AAGD,MAAM,WAAW,2BAA2B;IACxC,QAAQ,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,UAAU,CAAC,QAAQ,EAAE,2BAA2B,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E;AAGD,MAAM,WAAW,8BAA+B,SAAQ,2BAA2B;IAC/E,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,8BAA8B;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC;IAGxC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,MAAM,IAAI,CAAC;CACvC;AAGD,MAAM,WAAW,sBAAsB;IACnC,gBAAgB,CAAC,aAAa,EAAE,SAAS,mBAAmB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,mCAAmC,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAAC;IACzG,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxF,4BAA4B,CAAC,WAAW,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5F;AAGD,MAAM,MAAM,aAAa,GAAG,eAAe,GAGrC,IAAI,CAAC,eAAe,EAAE,aAAa,GAAG,aAAa,CAAC,GACpD,iBAAiB,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,GAC1D,sBAAsB,GACtB,4BAA4B,GAC5B,oBAAoB,CAAC,cAAc,CAAC,GACpC,kBAAkB,GAClB,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ApplicationWorkerHiding, ApplicationWorkspaceHiding } from "@plurnk/plurnk-contracts";
|
|
2
|
+
import type { Db } from "../core/Db.ts";
|
|
3
|
+
export type PlaceGates = (workspaceId: number) => Promise<{
|
|
4
|
+
readonly proposals: ReadonlyArray<{
|
|
5
|
+
readonly workerId: number;
|
|
6
|
+
}>;
|
|
7
|
+
readonly questions: ReadonlyArray<{
|
|
8
|
+
readonly workerId: number;
|
|
9
|
+
}>;
|
|
10
|
+
}>;
|
|
11
|
+
export default class Places {
|
|
12
|
+
#private;
|
|
13
|
+
static setWorkspaceHidden(db: Db, gates: PlaceGates, workspaceId: number, hidden: boolean): Promise<{
|
|
14
|
+
readonly hiding: ApplicationWorkspaceHiding;
|
|
15
|
+
readonly changed: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
static setWorkerHidden(db: Db, gates: PlaceGates, workspaceId: number, workerId: number, hidden: boolean): Promise<ApplicationWorkerHiding>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=Places.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Places.d.ts","sourceRoot":"","sources":["../../src/server/Places.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACpG,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAIxC,MAAM,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpE,CAAC,CAAC;AAmBH,MAAM,CAAC,OAAO,OAAO,MAAM;;IAqBvB,OAAa,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAmBpL;IAED,OAAa,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAoBhJ;CACJ"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { daemonFailure } from "./daemon-results.js";
|
|
2
|
+
const WORK = [
|
|
3
|
+
["loops", "live loop"], ["streams", "open stream"], ["proposals", "pending proposal"], ["questions", "pending question"],
|
|
4
|
+
];
|
|
5
|
+
// The workers a call marked or cleared, in id order.
|
|
6
|
+
const ids = (rows) => rows.map(({ id }) => id).toSorted((a, b) => a - b);
|
|
7
|
+
const described = (live) => WORK.filter(([key]) => live[key] > 0)
|
|
8
|
+
.map(([key, what]) => `${live[key]} ${what}${live[key] === 1 ? "" : "s"}`).join(", ");
|
|
9
|
+
export default class Places {
|
|
10
|
+
// What the scope holds, a worker and every worker beneath it, or every worker of the workspace.
|
|
11
|
+
static async #liveWork(db, gates, workspaceId, workerId) {
|
|
12
|
+
const scope = await db.place_scope.all({ workspace_id: workspaceId, worker_id: workerId });
|
|
13
|
+
const covered = new Set(scope.map((row) => row.workerId));
|
|
14
|
+
const pending = await gates(workspaceId);
|
|
15
|
+
return {
|
|
16
|
+
loops: scope.reduce((sum, row) => sum + row.loops, 0),
|
|
17
|
+
streams: scope.reduce((sum, row) => sum + row.streams, 0),
|
|
18
|
+
proposals: pending.proposals.filter((gate) => covered.has(gate.workerId)).length,
|
|
19
|
+
questions: pending.questions.filter((gate) => covered.has(gate.workerId)).length,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
static #refuse(owner, live, detail, extensions) {
|
|
23
|
+
if (WORK.every(([key]) => live[key] === 0))
|
|
24
|
+
return;
|
|
25
|
+
throw daemonFailure(owner, "live-work", 409, `${detail} ${described(live)}.`, {
|
|
26
|
+
...extensions, ...live, recovery: "Conclude or cancel the work, then hide it.", retryable: false,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
static async setWorkspaceHidden(db, gates, workspaceId, hidden) {
|
|
30
|
+
const mark = async () => {
|
|
31
|
+
const row = await db.place_workspace_mark.get({ workspace_id: workspaceId });
|
|
32
|
+
if (row === undefined)
|
|
33
|
+
throw daemonFailure("daemon:workspace", "workspace-not-found", 404, `Workspace ${workspaceId} does not exist.`, { workspaceId });
|
|
34
|
+
return row.hidden_at;
|
|
35
|
+
};
|
|
36
|
+
if (!hidden) {
|
|
37
|
+
const shown = await db.place_workspace_show.get({ workspace_id: workspaceId });
|
|
38
|
+
if (shown === undefined)
|
|
39
|
+
await mark();
|
|
40
|
+
return { hiding: { id: workspaceId, hidden_at: null }, changed: shown !== undefined };
|
|
41
|
+
}
|
|
42
|
+
// The hide's own statement refuses a loop or a stream that started after the read; the read then names it.
|
|
43
|
+
for (;;) {
|
|
44
|
+
const before = await mark();
|
|
45
|
+
if (before !== null)
|
|
46
|
+
return { hiding: { id: workspaceId, hidden_at: before }, changed: false };
|
|
47
|
+
Places.#refuse("daemon:workspace", await Places.#liveWork(db, gates, workspaceId, null), `Workspace ${workspaceId} holds`, { workspaceId });
|
|
48
|
+
const row = await db.place_workspace_hide.get({ workspace_id: workspaceId });
|
|
49
|
+
if (row !== undefined)
|
|
50
|
+
return { hiding: { id: workspaceId, hidden_at: row.hidden_at }, changed: true };
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
static async setWorkerHidden(db, gates, workspaceId, workerId, hidden) {
|
|
54
|
+
const mark = async () => {
|
|
55
|
+
const row = await db.place_worker_mark.get({ workspace_id: workspaceId, worker_id: workerId });
|
|
56
|
+
if (row === undefined)
|
|
57
|
+
throw daemonFailure("daemon:worker", "worker-not-found", 404, `Worker ${workerId} does not belong to workspace ${workspaceId}.`, { workspaceId, workerId });
|
|
58
|
+
return row.hidden_at;
|
|
59
|
+
};
|
|
60
|
+
if (!hidden) {
|
|
61
|
+
await mark();
|
|
62
|
+
const shown = await db.place_worker_show.all({ workspace_id: workspaceId, worker_id: workerId });
|
|
63
|
+
return { id: workerId, hidden_at: null, workerIds: ids(shown) };
|
|
64
|
+
}
|
|
65
|
+
for (;;) {
|
|
66
|
+
const before = await mark();
|
|
67
|
+
if (before !== null)
|
|
68
|
+
return { id: workerId, hidden_at: before, workerIds: [] };
|
|
69
|
+
Places.#refuse("daemon:worker", await Places.#liveWork(db, gates, workspaceId, workerId), `Worker ${workerId} and the workers beneath it hold`, { workspaceId, workerId });
|
|
70
|
+
const rows = await db.place_worker_hide.all({ workspace_id: workspaceId, worker_id: workerId });
|
|
71
|
+
if (rows.length > 0)
|
|
72
|
+
return { id: workerId, hidden_at: rows[0].hidden_at, workerIds: ids(rows) };
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=Places.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Places.js","sourceRoot":"","sources":["../../src/server/Places.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginSources.d.ts","sourceRoot":"","sources":["../../src/server/PluginSources.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PluginSources.d.ts","sourceRoot":"","sources":["../../src/server/PluginSources.ts"],"names":[],"mappings":"AAGA,OAAa,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAsC,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE1F,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACpD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAChE,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,mBAAmB,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC/D;AAGD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,OAAa,IAAI,CAAC,EAAE,SAA2B,EAAE,WAAkB,EAAE,WAAW,EAAE,WAAW,EACzF,WAAyB,EAAE,EAAE;QAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;QAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;QACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;KAC5C,GAAG,OAAO,CAAC,eAAe,CAAC,CAsC3B;CACJ"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { errnoCode } from "@plurnk/plurnk-contracts";
|
|
1
2
|
import { lstat } from "node:fs/promises";
|
|
2
3
|
import { join } from "node:path";
|
|
3
4
|
import Meta, { ConfigurationError } from "@plurnk/plurnk-meta";
|
|
@@ -35,7 +36,7 @@ export default class PluginSources {
|
|
|
35
36
|
readablePlugins.push(dir);
|
|
36
37
|
}
|
|
37
38
|
catch (cause) {
|
|
38
|
-
const code = cause
|
|
39
|
+
const code = errnoCode(cause);
|
|
39
40
|
if (code !== "ENOENT" && code !== "ENOTDIR") {
|
|
40
41
|
configurationErrors.push(new ConfigurationError(location, `${location}: plugin manifest could not be inspected.`, { cause }));
|
|
41
42
|
pluginPackages.add(dir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginSources.js","sourceRoot":"","sources":["../../src/server/PluginSources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,IAAI,EAAE,EAAE,kBAAkB,EAAyB,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAwB,MAAM,8BAA8B,CAAC;AACjF,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAuB,MAAM,iBAAiB,CAAC;AAS1F,2FAA2F;AAC3F,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,SAAS,EAAE,EAAE,WAAW,GAAG,IAAI,EAAE,WAAW,EAAE,WAAW,EACzF,WAAW,GAAG,OAAO,CAAC,GAAG,EAM5B;QACG,IAAI,QAA4C,CAAC;QACjD,MAAM,mBAAmB,GAAyB,EAAE,CAAC;QACrD,IAAI,CAAC;YACD,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,KAAK,YAAY,kBAAkB,CAAC;gBAAE,MAAM,KAAK,CAAC;YACxD,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,CAAC;QACD,MAAM,KAAK,GAAG;YACV,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;YAC1G,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI;YAClE,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI;SACrE,CAAC;QACF,MAAM,QAAQ,GAAG,CAAC,WAAW,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;aAChE,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7F,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YAC1C,IAAI,CAAC;gBACD,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACtB,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"PluginSources.js","sourceRoot":"","sources":["../../src/server/PluginSources.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlurnkSkill.d.ts","sourceRoot":"","sources":["../../src/server/PlurnkSkill.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlurnkSkill.d.ts","sourceRoot":"","sources":["../../src/server/PlurnkSkill.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7F,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAO9F,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,SAAS;;IACjD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IAUjC,OAAO,eAGN;IAED,OAAa,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAG3D;IAEK,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAE9B;IAED,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CASrC;CAuCJ"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { errnoCode } from "@plurnk/plurnk-contracts";
|
|
1
2
|
import { readdir, readFile, stat } from "node:fs/promises";
|
|
2
3
|
import { dirname, join, relative, resolve } from "node:path";
|
|
3
4
|
import { fileURLToPath } from "node:url";
|
|
@@ -27,7 +28,7 @@ export default class PlurnkSkill {
|
|
|
27
28
|
return new PlurnkSkill(parseSkill(file, "plurnk", await readFile(file, "utf8")), nodeModules);
|
|
28
29
|
}
|
|
29
30
|
async list() {
|
|
30
|
-
return [...this.#files.keys(), ".env.defaults", ...(await this.#contracts()).keys()].
|
|
31
|
+
return [...this.#files.keys(), ".env.defaults", ...(await this.#contracts()).keys()].toSorted();
|
|
31
32
|
}
|
|
32
33
|
resource(pathname) {
|
|
33
34
|
const file = this.#files.get(pathname);
|
|
@@ -48,7 +49,7 @@ export default class PlurnkSkill {
|
|
|
48
49
|
async #contracts() {
|
|
49
50
|
const members = await EnvDefaults.members(await Meta.packageDirs(this.#nodeModules));
|
|
50
51
|
const contracts = new Map();
|
|
51
|
-
for (const { name, dir } of [{ name: SERVICE, dir: Paths.packageRoot }, ...members.filter((
|
|
52
|
+
for (const { name, dir } of [{ name: SERVICE, dir: Paths.packageRoot }, ...members.filter((member) => member.name !== SERVICE)]) {
|
|
52
53
|
if (!await PlurnkSkill.#isFile(join(dir, "SPEC.md")))
|
|
53
54
|
continue;
|
|
54
55
|
contracts.set(`packages/${name}/SPEC.md`, join(dir, "SPEC.md"));
|
|
@@ -65,7 +66,7 @@ export default class PlurnkSkill {
|
|
|
65
66
|
return (await stat(file)).isFile();
|
|
66
67
|
}
|
|
67
68
|
catch (cause) {
|
|
68
|
-
if (cause
|
|
69
|
+
if (errnoCode(cause) === "ENOENT")
|
|
69
70
|
return false;
|
|
70
71
|
throw cause;
|
|
71
72
|
}
|
|
@@ -78,7 +79,7 @@ export default class PlurnkSkill {
|
|
|
78
79
|
.map((entry) => join(entry.parentPath, entry.name));
|
|
79
80
|
}
|
|
80
81
|
catch (cause) {
|
|
81
|
-
if (cause
|
|
82
|
+
if (errnoCode(cause) === "ENOENT")
|
|
82
83
|
return [];
|
|
83
84
|
throw cause;
|
|
84
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlurnkSkill.js","sourceRoot":"","sources":["../../src/server/PlurnkSkill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAsC,MAAM,6BAA6B,CAAC;AAC7F,OAAO,IAAI,EAAE,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAmB,MAAM,wBAAwB,CAAC;AAC9F,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAElD,MAAM,OAAO,GAAG,wBAAwB,CAAC;AAEzC,8EAA8E;AAC9E,MAAM,CAAC,OAAO,OAAO,WAAW;IACnB,QAAQ,CAAgB;IACxB,YAAY,CAAS;IACrB,MAAM,GAAG,IAAI,GAAG,CAAC;QACtB,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC,6BAA6B,EAAE,KAAK,CAAC,aAAa,CAAC;QACpD,CAAC,yBAAyB,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACvF,CAAC,6BAA6B,EAAE,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAClG,CAAC,sBAAsB,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;KAC5I,CAAC,CAAC;IAEH,YAAoB,QAAuB,EAAE,WAAmB;QAC5D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAmB;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,IAAI;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"PlurnkSkill.js","sourceRoot":"","sources":["../../src/server/PlurnkSkill.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rollback.d.ts","sourceRoot":"","sources":["../../src/server/Rollback.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Rollback.d.ts","sourceRoot":"","sources":["../../src/server/Rollback.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEhF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAQxC,KAAK,UAAU,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAIzE,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAChB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEzD,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAErD,KAAK,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;CACjG;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;;IAEzB,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAK/C;IAED,OAAa,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAuCzH;CA6CJ"}
|
package/dist/server/Rollback.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// patch ({§log-mutation-patch}) is reversed against the file as it is now and written back as an
|
|
3
3
|
// ordinary operation of the acting client, so every step is a proposal, a row and a patch of its
|
|
4
4
|
// own; the first file that no longer holds what its mutation wrote stops the rollback where it is.
|
|
5
|
+
import { errnoCode } from "@plurnk/plurnk-contracts";
|
|
5
6
|
import { readFile } from "node:fs/promises";
|
|
6
7
|
import { join } from "node:path";
|
|
7
8
|
import { applyPatch, parsePatch, reversePatch } from "diff";
|
|
@@ -71,7 +72,7 @@ export default class Rollback {
|
|
|
71
72
|
current = await readFile(join(root, path), "utf8");
|
|
72
73
|
}
|
|
73
74
|
catch (cause) {
|
|
74
|
-
if (cause
|
|
75
|
+
if (errnoCode(cause) !== "ENOENT")
|
|
75
76
|
throw cause;
|
|
76
77
|
current = null;
|
|
77
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rollback.js","sourceRoot":"","sources":["../../src/server/Rollback.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,iGAAiG;AACjG,iGAAiG;AACjG,mGAAmG;AACnG,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAwB,MAAM,MAAM,CAAC;AAElF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAmBpD,MAAM,CAAC,OAAO,OAAO,QAAQ;IACzB,uFAAuF;IACvF,MAAM,CAAC,UAAU,CAAC,EAAU;QACxB,MAAM,KAAK,GAAG,uDAAuD,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACtF,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"Rollback.js","sourceRoot":"","sources":["../../src/server/Rollback.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,iGAAiG;AACjG,iGAAiG;AACjG,mGAAmG;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAwB,MAAM,MAAM,CAAC;AAElF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAmBpD,MAAM,CAAC,OAAO,OAAO,QAAQ;IACzB,uFAAuF;IACvF,MAAM,CAAC,UAAU,CAAC,EAAU;QACxB,MAAM,KAAK,GAAG,uDAAuD,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACtF,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1H,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAkB,EAAE,IAA2D;QAC5F,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,aAAa,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,4BAA4B,EAAE;gBACvG,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,mEAAmE;aAC7F,CAAC,CAAC;QACP,CAAC;QACD,MAAM,EAAE,GAAG,GAAG,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QAChF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAiB;YAClE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ;SACtH,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,aAAa,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,GAAG,EAAE,iCAAiC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5H,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,aAAa,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,GAAG,EAAE,kEAAkE,EAAE,EAAE,CAAC,CAAC;QACjJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAc;YACjE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ;SACtH,CAAC,CAAC;QACH,MAAM,QAAQ,GAAe,EAAE,CAAC;QAChC,MAAM,OAAO,GAAwC,EAAE,CAAC;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,aAAa,GAAG,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxE,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBACrB,0FAA0F;gBAC1F,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBAClH,SAAS;YACb,CAAC;YACD,8DAA8D;YAC9D,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC;gBACpD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC9G,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAC1H,IAAI,OAAO,KAAK,IAAI;oBAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YACjF,CAAC;QACL,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CACjB,IAAkB,EAClB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAA6F,EAChI,QAAoB;QAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,oCAAoC,CAAC,CAAC;QAC7H,IAAI,OAAsB,CAAC;QAC3B,IAAI,CAAC;YACD,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;YAC/C,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;QAC5E,6FAA6F;QAC7F,iFAAiF;QACjF,MAAM,eAAe,GAAG,GAAY,EAAE,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,KAAK,CAAC;QACjF,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAChD,IAAI,eAAe,EAAE;gBAAE,OAAO,kBAAkB,CAAC;YACjD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,IAAI,KAAK,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,YAAY,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,MAAM,EAAE,CAAC;QAC3L,CAAC;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACrB,IAAI,eAAe,EAAE;gBAAE,OAAO,kBAAkB,CAAC;YACjD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,IAAI,iCAAiC,UAAU,SAAS,EAAE,CAAC;QACvH,CAAC;QACD,MAAM,MAAM,GAAuB,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,KAAK,QAAQ;YAC9B,CAAC,CAAC,iBAAiB,MAAM,WAAW;YACpC,CAAC,CAAC,iBAAiB,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,YAAY,CAAC;QAC/F,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QACtF,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,UAAU,2CAA2C,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACzK,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACvB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,oCAAoC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QAC3I,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
|