@plurnk/plurnk-service 4.1.0 → 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/.env.defaults +3 -0
- package/INSTALL.md +7 -2
- package/README.md +3 -1
- package/SPEC.md +1996 -1370
- 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 +2 -2
- package/dist/completions/plurnk-service.bash +2 -2
- package/dist/completions/plurnk-service.fish +2 -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 +18 -0
- package/dist/core/AmbientMembers.d.ts.map +1 -0
- package/dist/core/AmbientMembers.js +84 -0
- package/dist/core/AmbientMembers.js.map +1 -0
- 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 +6 -4
- package/dist/core/CoreSchemeServices.js.map +1 -1
- package/dist/core/DataStatementRunner.d.ts.map +1 -1
- package/dist/core/DataStatementRunner.js +24 -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 +242 -132
- 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.d.ts +1 -0
- package/dist/core/FileAddress.d.ts.map +1 -1
- package/dist/core/FileAddress.js +8 -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 +197 -173
- 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 +1 -0
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +10 -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 +8 -0
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +107 -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/notifications.d.ts +5 -0
- package/dist/core/notifications.d.ts.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/plurnk-uri.d.ts +1 -1
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +6 -5
- package/dist/core/plurnk-uri.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/scheme-types.d.ts +20 -0
- package/dist/core/scheme-types.d.ts.map +1 -1
- 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 +12 -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 +148 -84
- 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 +2 -1
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +241 -130
- 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 +263 -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 +7 -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 +24 -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 +37 -17
- 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 +31 -33
- 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,219 @@
|
|
|
1
|
+
import { Validator } from "@plurnk/plurnk-contracts";
|
|
2
|
+
import { ConfigurationError } from "@plurnk/plurnk-meta";
|
|
3
|
+
import ClientInput from "./client-input.js";
|
|
4
|
+
import { daemonFailure } from "./daemon-results.js";
|
|
5
|
+
import HttpListener from "./HttpListener.js";
|
|
6
|
+
import { discoverDaemonModules } from "./module-discovery.js";
|
|
7
|
+
export default class DaemonModules {
|
|
8
|
+
#db;
|
|
9
|
+
#http;
|
|
10
|
+
#configuration;
|
|
11
|
+
#residency;
|
|
12
|
+
#workspaceGate;
|
|
13
|
+
#modules = [];
|
|
14
|
+
// {§module-http-mounts} — each claimed prefix's owner, and the claims mounted at start.
|
|
15
|
+
#mountClaims = new Map();
|
|
16
|
+
#mounted = new Set();
|
|
17
|
+
#lifetimes = [];
|
|
18
|
+
#actions = new Map();
|
|
19
|
+
constructor({ db, http, configuration, residency, workspaceGate }) {
|
|
20
|
+
this.#db = db;
|
|
21
|
+
this.#http = http;
|
|
22
|
+
this.#configuration = configuration;
|
|
23
|
+
this.#residency = residency;
|
|
24
|
+
this.#workspaceGate = workspaceGate;
|
|
25
|
+
}
|
|
26
|
+
// {§module-discovery} — `owner` is the module's package name; diagnostics name it.
|
|
27
|
+
register(module, owner) {
|
|
28
|
+
this.#modules.push({ module, owner });
|
|
29
|
+
}
|
|
30
|
+
// {§module-discovery} {§module-lifecycle} Discovery composes beside the explicit modules; a daemon without a
|
|
31
|
+
// listener leaves out every module that mounts and says so; what a module contained is its diagnostic; every
|
|
32
|
+
// prefix is claimed; then each module sets up against the seam.
|
|
33
|
+
async setup(seam, discovery) {
|
|
34
|
+
// {§module-discovery} — third-party daemon-module composition: trusted
|
|
35
|
+
// packages declaring `plurnk.kind: "module"` register beside the
|
|
36
|
+
// service's explicit composition before any module setup runs.
|
|
37
|
+
const discoveredModules = await discoverDaemonModules({
|
|
38
|
+
cwd: discovery.cwd, hostPaths: discovery.hostPaths, registered: new Set(this.#modules.map(({ owner }) => owner)),
|
|
39
|
+
});
|
|
40
|
+
for (const { owner, cause } of discoveredModules.configurationErrors)
|
|
41
|
+
this.#configuration.record(owner, cause);
|
|
42
|
+
this.#configuration.pluginReports(discoveredModules.reports);
|
|
43
|
+
for (const packageName of discoveredModules.skipped) {
|
|
44
|
+
console.warn(`module discovery: '${packageName}' is discovered but untrusted (PLURNK_EXTENSIONS_TRUSTED_ONLY); not registered`);
|
|
45
|
+
}
|
|
46
|
+
for (const { module, owner } of discoveredModules.modules) {
|
|
47
|
+
this.#modules.push({ module, owner });
|
|
48
|
+
}
|
|
49
|
+
// {§module-http-mounts} — a daemon without a listener has nothing to serve a mount on: it
|
|
50
|
+
// leaves out every module that declares one, and says so.
|
|
51
|
+
if (this.#http === null) {
|
|
52
|
+
this.#modules = this.#modules.filter(({ module, owner }) => {
|
|
53
|
+
const mounts = module.mounts ?? [];
|
|
54
|
+
if (mounts.length === 0)
|
|
55
|
+
return true;
|
|
56
|
+
this.#configuration.leftOut(`module:${owner}`, `module '${owner}' mounts ${mounts.map((prefix) => `'${prefix}'`).join(", ")} and this daemon has no HTTP listener: left out`);
|
|
57
|
+
return false;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
// {§module-contained-configuration} — what a module contained is its own configuration diagnostic.
|
|
61
|
+
for (const { module, owner } of this.#modules) {
|
|
62
|
+
for (const { key, message } of module.contained ?? [])
|
|
63
|
+
this.#configuration.record(`module:${owner}`, new ConfigurationError(key, message));
|
|
64
|
+
}
|
|
65
|
+
this.#claimMounts();
|
|
66
|
+
for (const { module } of this.#modules) {
|
|
67
|
+
if (module.stop !== undefined || module.close !== undefined)
|
|
68
|
+
this.#lifetimes.push(module);
|
|
69
|
+
await module.setup?.(seam);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// {§module-lifecycle} — modules start only after capability publication and durable lifecycle recovery; a
|
|
73
|
+
// start that returns a lifetime joins the ones setup recorded.
|
|
74
|
+
async start(seam) {
|
|
75
|
+
for (const { module } of this.#modules) {
|
|
76
|
+
const started = await module.start?.(seam);
|
|
77
|
+
if (started !== undefined && !this.#lifetimes.includes(started)) {
|
|
78
|
+
this.#lifetimes.push(started);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// {§module-http-mounts} — every prefix is claimed before any module sets up: one owner per
|
|
83
|
+
// prefix, including the optional root mount.
|
|
84
|
+
#claimMounts() {
|
|
85
|
+
for (const { module, owner } of this.#modules) {
|
|
86
|
+
for (const prefix of module.mounts ?? []) {
|
|
87
|
+
if (!HttpListener.isPrefix(prefix)) {
|
|
88
|
+
throw new Error(`module '${owner}' declares HTTP mount '${prefix}', which is not an absolute pathname prefix`);
|
|
89
|
+
}
|
|
90
|
+
const holder = this.#mountClaims.get(prefix);
|
|
91
|
+
if (holder !== undefined)
|
|
92
|
+
throw new Error(`HTTP mount '${prefix}' is claimed by both '${holder}' and '${owner}'`);
|
|
93
|
+
this.#mountClaims.set(prefix, owner);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// {§module-http-mounts} — the listener is admitted once every module has started and every
|
|
98
|
+
// claim is mounted, so readiness never depends on registration order.
|
|
99
|
+
admitMounts() {
|
|
100
|
+
if (this.#http === null)
|
|
101
|
+
return;
|
|
102
|
+
for (const [prefix, owner] of this.#mountClaims) {
|
|
103
|
+
if (!this.#mounted.has(prefix))
|
|
104
|
+
throw new Error(`module '${owner}' claimed HTTP mount '${prefix}' but did not mount it at start`);
|
|
105
|
+
}
|
|
106
|
+
this.#http.admit();
|
|
107
|
+
}
|
|
108
|
+
// {§http-host} — exterior adapters mount on the daemon's one listener at start(); the
|
|
109
|
+
// daemon never opens a second transport, and a daemon without a listener says so.
|
|
110
|
+
registerHttpRoute(prefix, handler) {
|
|
111
|
+
if (this.#http === null)
|
|
112
|
+
throw new Error(`registerHttpRoute: this daemon has no HTTP listener to mount '${prefix}' on`);
|
|
113
|
+
// {§module-http-mounts} — a module mounts exactly what it claimed.
|
|
114
|
+
if (!this.#mountClaims.has(prefix))
|
|
115
|
+
throw new Error(`registerHttpRoute: no module declared '${prefix}' among its mounts`);
|
|
116
|
+
this.#http.registerHttpRoute(prefix, handler);
|
|
117
|
+
this.#mounted.add(prefix);
|
|
118
|
+
}
|
|
119
|
+
httpAddress() {
|
|
120
|
+
if (this.#http === null)
|
|
121
|
+
throw new Error("httpAddress: this daemon has no HTTP listener");
|
|
122
|
+
return this.#http.httpAddress();
|
|
123
|
+
}
|
|
124
|
+
registerAction(registration) {
|
|
125
|
+
const { name, scope, inputSchema, outputSchema, handler } = registration;
|
|
126
|
+
if (name.length === 0)
|
|
127
|
+
throw new Error("registerModuleAction: action name must not be empty");
|
|
128
|
+
if (scope !== "daemon" && scope !== "workspace" && scope !== "worker") {
|
|
129
|
+
throw new Error(`module action '${name}' has invalid scope '${String(scope)}'`);
|
|
130
|
+
}
|
|
131
|
+
if (inputSchema === null || typeof inputSchema !== "object" || Array.isArray(inputSchema)) {
|
|
132
|
+
throw new Error(`module action '${name}' has no input schema`);
|
|
133
|
+
}
|
|
134
|
+
if (outputSchema === null || typeof outputSchema !== "object" || Array.isArray(outputSchema)) {
|
|
135
|
+
throw new Error(`module action '${name}' has no output schema`);
|
|
136
|
+
}
|
|
137
|
+
for (const [role, schema] of [["input", inputSchema], ["output", outputSchema]]) {
|
|
138
|
+
try {
|
|
139
|
+
Validator.validateJsonSchemaInstance(schema, {});
|
|
140
|
+
}
|
|
141
|
+
catch (cause) {
|
|
142
|
+
throw new Error(`module action '${name}' has an invalid ${role} schema`, { cause });
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (typeof handler !== "function")
|
|
146
|
+
throw new Error(`module action '${name}' has no handler`);
|
|
147
|
+
if (registration.residency !== "required" && registration.residency !== "none") {
|
|
148
|
+
throw new Error(`module action '${name}' must declare its residency requirement`);
|
|
149
|
+
}
|
|
150
|
+
if (scope === "daemon" && registration.residency !== "none") {
|
|
151
|
+
throw new Error(`daemon module action '${name}' cannot require workspace residency`);
|
|
152
|
+
}
|
|
153
|
+
if (this.#actions.has(name))
|
|
154
|
+
throw new Error(`module action '${name}' is already registered`);
|
|
155
|
+
this.#actions.set(name, registration);
|
|
156
|
+
}
|
|
157
|
+
listActions() {
|
|
158
|
+
return [...this.#actions.values()]
|
|
159
|
+
.map(({ name, scope, inputSchema, outputSchema }) => ({
|
|
160
|
+
name,
|
|
161
|
+
scope,
|
|
162
|
+
inputSchema,
|
|
163
|
+
outputSchema
|
|
164
|
+
}))
|
|
165
|
+
.toSorted((left, right) => left.name.localeCompare(right.name));
|
|
166
|
+
}
|
|
167
|
+
async invokeAction(name, params, context) {
|
|
168
|
+
const registration = this.#actions.get(name);
|
|
169
|
+
if (registration === undefined)
|
|
170
|
+
throw new Error(`module action '${name}' is not registered`);
|
|
171
|
+
if (registration.scope !== context.scope) {
|
|
172
|
+
throw new Error(`module action '${name}' requires ${registration.scope} context, not ${context.scope}`);
|
|
173
|
+
}
|
|
174
|
+
let releaseCapabilities;
|
|
175
|
+
if (context.scope === "worker") {
|
|
176
|
+
const workspaceId = ClientInput.assertId(`module action '${name}'`, "workspaceId", context.workspaceId);
|
|
177
|
+
const workerId = ClientInput.assertId(`module action '${name}'`, "workerId", context.workerId);
|
|
178
|
+
const worker = await this.#db.envelope_get_worker_by_id.get({ id: workerId });
|
|
179
|
+
if (worker === undefined || worker.workspace_id !== workspaceId) {
|
|
180
|
+
throw daemonFailure("daemon:module-action", "worker-not-found", 404, `Worker ${workerId} does not exist in workspace ${workspaceId}.`, { workspaceId, workerId, retryable: false });
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
if (registration.residency === "required" && context.scope !== "daemon") {
|
|
184
|
+
releaseCapabilities = await this.#residency.acquire(context.workspaceId);
|
|
185
|
+
}
|
|
186
|
+
else if (context.scope === "workspace") {
|
|
187
|
+
await this.#residency.identity(context.workspaceId);
|
|
188
|
+
}
|
|
189
|
+
try {
|
|
190
|
+
if (registration.residency === "required" && context.scope === "worker") {
|
|
191
|
+
const release = await this.#workspaceGate.acquireTurn(context.workspaceId, context.workerId);
|
|
192
|
+
try {
|
|
193
|
+
await this.#residency.reconcile(context.workspaceId);
|
|
194
|
+
}
|
|
195
|
+
finally {
|
|
196
|
+
release();
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return await registration.handler(params, context);
|
|
200
|
+
}
|
|
201
|
+
finally {
|
|
202
|
+
releaseCapabilities?.();
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
// {§module-shutdown-order} The lifetimes in reverse order, taken once: each phase runs them all and reports every
|
|
206
|
+
// failure together.
|
|
207
|
+
beginStop() {
|
|
208
|
+
const modules = this.#lifetimes.toReversed();
|
|
209
|
+
this.#lifetimes = [];
|
|
210
|
+
const phase = async (name) => {
|
|
211
|
+
const results = await Promise.allSettled(modules.map((module) => Promise.resolve().then(() => module[name]?.())));
|
|
212
|
+
const errors = results.filter((result) => result.status === "rejected").map(({ reason }) => reason);
|
|
213
|
+
if (errors.length > 0)
|
|
214
|
+
throw new AggregateError(errors, `module ${name} failed`);
|
|
215
|
+
};
|
|
216
|
+
return { stop: () => phase("stop"), close: () => phase("close") };
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=DaemonModules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DaemonModules.js","sourceRoot":"","sources":["../../src/server/DaemonModules.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import type { MessageEvidence, Effort } from "@plurnk/plurnk-contracts";
|
|
|
3
3
|
import type { MessageOpener, WakeWorkerPayload } from "../core/ChannelWrite.ts";
|
|
4
4
|
import type { Db } from "../core/Db.ts";
|
|
5
5
|
import type { LoopUsage } from "../core/Engine.ts";
|
|
6
|
-
import LoopLifecycle from "../core/LoopLifecycle.ts";
|
|
6
|
+
import type LoopLifecycle from "../core/LoopLifecycle.ts";
|
|
7
7
|
import { type SchemeResult } from "../core/results.ts";
|
|
8
8
|
interface DrainLoopResult {
|
|
9
9
|
loopId: number;
|
|
@@ -77,7 +77,7 @@ type CompleteAbandonedMessages = (workspaceId: number, workerId: number, loopId:
|
|
|
77
77
|
type EmitEvent = (workspaceId: number, method: string, params: unknown) => void;
|
|
78
78
|
export default class DrainSupervisor {
|
|
79
79
|
#private;
|
|
80
|
-
constructor({ db, lifecycle, injectPrompt, assertInjectionCompatibility, runLoop, loopUsage, loopAttributions, discardLoopNotices, cancelSubscription, hasActiveStreams, readSystemPrompt, emitLogEntry, emit, completeAbandonedMessages, }: {
|
|
80
|
+
constructor({ db, lifecycle, injectPrompt, assertInjectionCompatibility, runLoop, loopUsage, loopAttributions, discardLoopNotices, cancelSubscription, subscriptionConcluded, reapLoopStreams, hasActiveStreams, readSystemPrompt, emitLogEntry, emit, completeAbandonedMessages, }: {
|
|
81
81
|
db: Db;
|
|
82
82
|
lifecycle: LoopLifecycle;
|
|
83
83
|
injectPrompt: InjectPrompt;
|
|
@@ -87,6 +87,8 @@ export default class DrainSupervisor {
|
|
|
87
87
|
loopAttributions: (loopId: number) => Promise<string[]>;
|
|
88
88
|
discardLoopNotices: (loopId: number) => void;
|
|
89
89
|
cancelSubscription: (subscriptionId: number) => Promise<boolean>;
|
|
90
|
+
subscriptionConcluded: (subscriptionId: number) => Promise<void>;
|
|
91
|
+
reapLoopStreams: (loopId: number) => Promise<readonly number[]>;
|
|
90
92
|
hasActiveStreams: (workerId: number) => boolean;
|
|
91
93
|
readSystemPrompt: () => Promise<string>;
|
|
92
94
|
emitLogEntry: (workspaceId: number, logEntryId: number) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrainSupervisor.d.ts","sourceRoot":"","sources":["../../src/server/DrainSupervisor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGxE,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,aAAa,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"DrainSupervisor.d.ts","sourceRoot":"","sources":["../../src/server/DrainSupervisor.ts"],"names":[],"mappings":"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"}
|