@plurnk/plurnk-service 1.16.4 → 1.17.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 +122 -246
- package/INSTALL.md +84 -138
- package/README.md +9 -5
- package/SPEC.md +1710 -1015
- package/dist/Paths.d.ts +2 -0
- package/dist/Paths.d.ts.map +1 -1
- package/dist/Paths.js +2 -0
- package/dist/Paths.js.map +1 -1
- package/dist/build-info.d.ts.map +1 -1
- package/dist/build-info.js +7 -1
- package/dist/build-info.js.map +1 -1
- package/dist/build-info.json +1 -1
- package/dist/content/body-preview.d.ts +8 -0
- package/dist/content/body-preview.d.ts.map +1 -0
- package/dist/content/body-preview.js +39 -0
- package/dist/content/body-preview.js.map +1 -0
- package/dist/content/byte-view.d.ts +1 -4
- package/dist/content/byte-view.d.ts.map +1 -1
- package/dist/content/byte-view.js.map +1 -1
- package/dist/content/edit-collision.d.ts.map +1 -1
- package/dist/content/edit-collision.js +3 -4
- package/dist/content/edit-collision.js.map +1 -1
- package/dist/content/line-anchors.d.ts +2 -2
- package/dist/content/line-anchors.d.ts.map +1 -1
- package/dist/content/line-anchors.js +4 -3
- package/dist/content/line-anchors.js.map +1 -1
- package/dist/content/line-selection.d.ts +9 -0
- package/dist/content/line-selection.d.ts.map +1 -0
- package/dist/content/line-selection.js +29 -0
- package/dist/content/line-selection.js.map +1 -0
- package/dist/content/matcher.d.ts +0 -1
- package/dist/content/matcher.d.ts.map +1 -1
- package/dist/content/matcher.js +2 -3
- package/dist/content/matcher.js.map +1 -1
- package/dist/content/pattern-edits.d.ts +39 -0
- package/dist/content/pattern-edits.d.ts.map +1 -0
- package/dist/content/pattern-edits.js +121 -0
- package/dist/content/pattern-edits.js.map +1 -0
- package/dist/content/read-projector.d.ts +18 -9
- package/dist/content/read-projector.d.ts.map +1 -1
- package/dist/content/read-projector.js +132 -35
- package/dist/content/read-projector.js.map +1 -1
- package/dist/content/read-resolve.d.ts +3 -1
- package/dist/content/read-resolve.d.ts.map +1 -1
- package/dist/content/read-resolve.js +39 -7
- package/dist/content/read-resolve.js.map +1 -1
- package/dist/core/AdmittedTurnExecutor.d.ts +3 -5
- package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
- package/dist/core/AdmittedTurnExecutor.js +91 -83
- package/dist/core/AdmittedTurnExecutor.js.map +1 -1
- package/dist/core/BareBatchRunner.d.ts +6 -1
- package/dist/core/BareBatchRunner.d.ts.map +1 -1
- package/dist/core/BareBatchRunner.js +20 -5
- package/dist/core/BareBatchRunner.js.map +1 -1
- package/dist/core/BudgetReadout.d.ts +2 -3
- package/dist/core/BudgetReadout.d.ts.map +1 -1
- package/dist/core/BudgetReadout.js +23 -32
- package/dist/core/BudgetReadout.js.map +1 -1
- package/dist/core/CapabilityPolicies.d.ts +3 -8
- package/dist/core/CapabilityPolicies.d.ts.map +1 -1
- package/dist/core/CapabilityPolicies.js +2 -28
- package/dist/core/CapabilityPolicies.js.map +1 -1
- package/dist/core/CapabilityResolver.d.ts +10 -10
- package/dist/core/CapabilityResolver.d.ts.map +1 -1
- package/dist/core/CapabilityResolver.js +87 -65
- package/dist/core/CapabilityResolver.js.map +1 -1
- package/dist/core/ChannelWrite.d.ts +14 -11
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +11 -12
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +99 -9
- package/dist/core/ClientInteractions.d.ts.map +1 -1
- package/dist/core/ClientInteractions.js +7 -0
- package/dist/core/ClientInteractions.js.map +1 -1
- package/dist/core/CoreSchemeServices.d.ts +13 -10
- package/dist/core/CoreSchemeServices.d.ts.map +1 -1
- package/dist/core/CoreSchemeServices.js +13 -5
- package/dist/core/CoreSchemeServices.js.map +1 -1
- package/dist/core/DataStatementRunner.d.ts +2 -2
- package/dist/core/DataStatementRunner.d.ts.map +1 -1
- package/dist/core/DataStatementRunner.js +36 -39
- package/dist/core/DataStatementRunner.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +19 -26
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +369 -219
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/Dispatcher.sql +66 -0
- package/dist/core/DurableStatement.d.ts.map +1 -1
- package/dist/core/DurableStatement.js +2 -1
- package/dist/core/DurableStatement.js.map +1 -1
- package/dist/core/EditMutations.d.ts +14 -18
- package/dist/core/EditMutations.d.ts.map +1 -1
- package/dist/core/EditMutations.js +211 -280
- package/dist/core/EditMutations.js.map +1 -1
- package/dist/core/EditMutations.sql +15 -0
- package/dist/core/EditSequence.d.ts +13 -0
- package/dist/core/EditSequence.d.ts.map +1 -0
- package/dist/core/EditSequence.js +73 -0
- package/dist/core/EditSequence.js.map +1 -0
- package/dist/core/Engine.d.ts +17 -23
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +73 -163
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +0 -724
- package/dist/core/EntryAddressBinding.d.ts +7 -17
- package/dist/core/EntryAddressBinding.d.ts.map +1 -1
- package/dist/core/EntryAddressBinding.js +12 -72
- package/dist/core/EntryAddressBinding.js.map +1 -1
- package/dist/core/ExecutionOutputs.d.ts +9 -0
- package/dist/core/ExecutionOutputs.d.ts.map +1 -0
- package/dist/core/ExecutionOutputs.js +36 -0
- package/dist/core/ExecutionOutputs.js.map +1 -0
- package/dist/core/ExecutionOutputs.sql +13 -0
- package/dist/core/ExecutorRegistry.d.ts +7 -5
- package/dist/core/ExecutorRegistry.d.ts.map +1 -1
- package/dist/core/ExecutorRegistry.js +36 -32
- package/dist/core/ExecutorRegistry.js.map +1 -1
- package/dist/core/HostPaths.d.ts +1 -0
- package/dist/core/HostPaths.d.ts.map +1 -1
- package/dist/core/HostPaths.js +4 -0
- package/dist/core/HostPaths.js.map +1 -1
- package/dist/core/InferenceCall.d.ts.map +1 -1
- package/dist/core/InferenceCall.js +1 -2
- package/dist/core/InferenceCall.js.map +1 -1
- package/dist/core/InferenceCall.sql +29 -0
- package/dist/core/KillHandler.d.ts +1 -0
- package/dist/core/KillHandler.d.ts.map +1 -1
- package/dist/core/KillHandler.js +24 -21
- package/dist/core/KillHandler.js.map +1 -1
- package/dist/core/LogBody.d.ts +8 -1
- package/dist/core/LogBody.d.ts.map +1 -1
- package/dist/core/LogBody.js +42 -11
- package/dist/core/LogBody.js.map +1 -1
- package/dist/core/LogEntryProjection.d.ts +1 -0
- package/dist/core/LogEntryProjection.d.ts.map +1 -1
- package/dist/core/LogEntryProjection.js +18 -10
- package/dist/core/LogEntryProjection.js.map +1 -1
- package/dist/core/LogVisibility.d.ts +1 -0
- package/dist/core/LogVisibility.d.ts.map +1 -1
- package/dist/core/LogVisibility.js +3 -0
- package/dist/core/LogVisibility.js.map +1 -1
- package/dist/core/LogWriter.d.ts +2 -3
- package/dist/core/LogWriter.d.ts.map +1 -1
- package/dist/core/LogWriter.js +25 -32
- package/dist/core/LogWriter.js.map +1 -1
- package/dist/core/LogWriter.sql +23 -0
- package/dist/core/LoopDriver.d.ts +11 -8
- package/dist/core/LoopDriver.d.ts.map +1 -1
- package/dist/core/LoopDriver.js +163 -189
- package/dist/core/LoopDriver.js.map +1 -1
- package/dist/core/LoopDriver.sql +11 -0
- package/dist/core/LoopLifecycle.d.ts +32 -2
- package/dist/core/LoopLifecycle.d.ts.map +1 -1
- package/dist/core/LoopLifecycle.js +88 -4
- package/dist/core/LoopLifecycle.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +145 -28
- package/dist/core/LoopPolicyReader.sql +6 -0
- package/dist/core/MembershipMaterialization.d.ts.map +1 -1
- package/dist/core/MembershipMaterialization.js +6 -28
- package/dist/core/MembershipMaterialization.js.map +1 -1
- package/dist/core/ModelCall.sql +70 -0
- package/dist/core/MutationEffects.d.ts +5 -3
- package/dist/core/MutationEffects.d.ts.map +1 -1
- package/dist/core/MutationEffects.js +10 -28
- package/dist/core/MutationEffects.js.map +1 -1
- package/dist/core/NativeContent.d.ts +6 -0
- package/dist/core/NativeContent.d.ts.map +1 -0
- package/dist/core/NativeContent.js +16 -0
- package/dist/core/NativeContent.js.map +1 -0
- package/dist/core/NativeContent.sql +6 -0
- package/dist/core/NoticeChannel.js +1 -1
- package/dist/core/NoticeChannel.js.map +1 -1
- package/dist/core/OperatorConfig.js +5 -5
- package/dist/core/OperatorConfig.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts +8 -5
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +117 -81
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/PacketBuilder.sql +146 -0
- package/dist/core/PatternSelection.d.ts +28 -0
- package/dist/core/PatternSelection.d.ts.map +1 -0
- package/dist/core/PatternSelection.js +42 -0
- package/dist/core/PatternSelection.js.map +1 -0
- package/dist/core/ProblemLog.d.ts.map +1 -1
- package/dist/core/ProblemLog.js +0 -1
- package/dist/core/ProblemLog.js.map +1 -1
- package/dist/core/PromptFrames.d.ts +12 -0
- package/dist/core/PromptFrames.d.ts.map +1 -0
- package/dist/core/PromptFrames.js +28 -0
- package/dist/core/PromptFrames.js.map +1 -0
- package/dist/core/ProposalLifecycle.d.ts +0 -1
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +20 -19
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProposalLifecycle.sql +33 -0
- package/dist/core/ProviderInstantiate.d.ts +1 -1
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +7 -14
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/ReasoningView.d.ts +9 -0
- package/dist/core/ReasoningView.d.ts.map +1 -0
- package/dist/core/ReasoningView.js +47 -0
- package/dist/core/ReasoningView.js.map +1 -0
- package/dist/core/ResourceBindings.d.ts +16 -0
- package/dist/core/ResourceBindings.d.ts.map +1 -0
- package/dist/core/ResourceBindings.js +45 -0
- package/dist/core/ResourceBindings.js.map +1 -0
- package/dist/core/ResourceMutations.d.ts +5 -8
- package/dist/core/ResourceMutations.d.ts.map +1 -1
- package/dist/core/ResourceMutations.js +6 -7
- package/dist/core/ResourceMutations.js.map +1 -1
- package/dist/core/ResourceSelector.d.ts +2 -2
- package/dist/core/ResourceSelector.d.ts.map +1 -1
- package/dist/core/ResourceSelector.js +122 -62
- package/dist/core/ResourceSelector.js.map +1 -1
- package/dist/core/ResourceTransfers.d.ts +4 -2
- package/dist/core/ResourceTransfers.d.ts.map +1 -1
- package/dist/core/ResourceTransfers.js +95 -26
- package/dist/core/ResourceTransfers.js.map +1 -1
- package/dist/core/RuntimeWorker.d.ts +5 -0
- package/dist/core/RuntimeWorker.d.ts.map +1 -0
- package/dist/core/RuntimeWorker.js +10 -0
- package/dist/core/RuntimeWorker.js.map +1 -0
- package/dist/core/RuntimeWorker.sql +5 -0
- package/dist/core/SchemeRegistry.d.ts +12 -16
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +58 -84
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/StoredPacket.d.ts +6 -1
- package/dist/core/StoredPacket.d.ts.map +1 -1
- package/dist/core/StoredPacket.js +30 -10
- package/dist/core/StoredPacket.js.map +1 -1
- package/dist/core/StrikeRail.d.ts +9 -6
- package/dist/core/StrikeRail.d.ts.map +1 -1
- package/dist/core/StrikeRail.js +60 -113
- package/dist/core/StrikeRail.js.map +1 -1
- package/dist/core/StrikeRail.sql +12 -0
- package/dist/core/TerminalResult.d.ts +1 -1
- package/dist/core/TerminalResult.d.ts.map +1 -1
- package/dist/core/TerminalResult.js +2 -2
- package/dist/core/TerminalResult.js.map +1 -1
- package/dist/core/TokenCalibration.d.ts +1 -6
- package/dist/core/TokenCalibration.d.ts.map +1 -1
- package/dist/core/TokenCalibration.js +13 -9
- package/dist/core/TokenCalibration.js.map +1 -1
- package/dist/core/TokenCalibration.sql +15 -0
- package/dist/core/ToolInputSchema.d.ts +6 -0
- package/dist/core/ToolInputSchema.d.ts.map +1 -0
- package/dist/core/ToolInputSchema.js +43 -0
- package/dist/core/ToolInputSchema.js.map +1 -0
- package/dist/core/ToolResources.d.ts.map +1 -1
- package/dist/core/ToolResources.js +76 -52
- package/dist/core/ToolResources.js.map +1 -1
- package/dist/core/Turn.d.ts +5 -2
- package/dist/core/Turn.d.ts.map +1 -1
- package/dist/core/Turn.js +13 -11
- package/dist/core/Turn.js.map +1 -1
- package/dist/core/Turn.sql +25 -39
- package/dist/core/{SendBroadcastHandler.d.ts → TurnDispositionHandler.d.ts} +25 -17
- package/dist/core/TurnDispositionHandler.d.ts.map +1 -0
- package/dist/core/TurnDispositionHandler.js +198 -0
- package/dist/core/TurnDispositionHandler.js.map +1 -0
- package/dist/core/TurnMaterialization.d.ts +2 -3
- package/dist/core/TurnMaterialization.d.ts.map +1 -1
- package/dist/core/TurnMaterialization.js +40 -15
- package/dist/core/TurnMaterialization.js.map +1 -1
- package/dist/core/TurnMaterialization.sql +44 -0
- package/dist/core/TurnOps.d.ts.map +1 -1
- package/dist/core/TurnOps.js +8 -64
- package/dist/core/TurnOps.js.map +1 -1
- package/dist/core/TurnRunner.d.ts +9 -12
- package/dist/core/TurnRunner.d.ts.map +1 -1
- package/dist/core/TurnRunner.js +232 -408
- package/dist/core/TurnRunner.js.map +1 -1
- package/dist/core/TurnRunner.sql +74 -0
- package/dist/core/TurnSources.sql +39 -0
- package/dist/core/WorkerControlAddress.d.ts +1 -0
- package/dist/core/WorkerControlAddress.d.ts.map +1 -1
- package/dist/core/WorkerControlAddress.js +5 -0
- package/dist/core/WorkerControlAddress.js.map +1 -1
- package/dist/core/WorkerControlHandler.d.ts +1 -3
- package/dist/core/WorkerControlHandler.d.ts.map +1 -1
- package/dist/core/WorkerControlHandler.js +41 -48
- package/dist/core/WorkerControlHandler.js.map +1 -1
- package/dist/core/WorkerName.d.ts +8 -6
- package/dist/core/WorkerName.d.ts.map +1 -1
- package/dist/core/WorkerName.js +33 -24
- package/dist/core/WorkerName.js.map +1 -1
- package/dist/core/WorkerName.sql +7 -10
- package/dist/core/WorkspaceGate.d.ts +1 -1
- package/dist/core/WorkspaceGate.d.ts.map +1 -1
- package/dist/core/WorkspaceGate.js +29 -6
- package/dist/core/WorkspaceGate.js.map +1 -1
- package/dist/core/ambient.sql +236 -0
- package/dist/core/attachments.d.ts +2 -1
- package/dist/core/attachments.d.ts.map +1 -1
- package/dist/core/attachments.js +5 -4
- package/dist/core/attachments.js.map +1 -1
- package/dist/core/caps/CapsResolve.d.ts +2 -3
- package/dist/core/caps/CapsResolve.d.ts.map +1 -1
- package/dist/core/caps/CapsResolve.js +5 -5
- package/dist/core/caps/CapsResolve.js.map +1 -1
- package/dist/core/caps/DbChannelCaps.d.ts +1 -1
- package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
- package/dist/core/caps/DbChannelCaps.js +4 -6
- package/dist/core/caps/DbChannelCaps.js.map +1 -1
- package/dist/core/caps/DbEntryCaps.d.ts +2 -1
- package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
- package/dist/core/caps/DbEntryCaps.js +11 -17
- package/dist/core/caps/DbEntryCaps.js.map +1 -1
- package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
- package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
- package/dist/core/caps/DbNotifyCaps.js +3 -5
- package/dist/core/caps/DbNotifyCaps.js.map +1 -1
- package/dist/core/caps/DbProjectionCaps.js +1 -1
- package/dist/core/caps/DbProjectionCaps.js.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.d.ts +1 -1
- package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.js +5 -7
- package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.d.ts +0 -2
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +4 -20
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
- package/dist/core/env-defaults.d.ts.map +1 -1
- package/dist/core/env-defaults.js +4 -2
- package/dist/core/env-defaults.js.map +1 -1
- package/dist/core/file-materialization.d.ts +4 -1
- package/dist/core/file-materialization.d.ts.map +1 -1
- package/dist/core/file-materialization.js +14 -0
- package/dist/core/file-materialization.js.map +1 -1
- package/dist/core/fork.d.ts +1 -6
- package/dist/core/fork.d.ts.map +1 -1
- package/dist/core/fork.js +9 -153
- package/dist/core/fork.js.map +1 -1
- package/dist/core/fork.sql +162 -185
- package/dist/core/git-env.d.ts +1 -0
- package/dist/core/git-env.d.ts.map +1 -1
- package/dist/core/git-env.js +39 -2
- package/dist/core/git-env.js.map +1 -1
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +64 -48
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/git-state.d.ts.map +1 -1
- package/dist/core/git-state.js +25 -19
- package/dist/core/git-state.js.map +1 -1
- package/dist/core/glob_match.d.ts +4 -0
- package/dist/core/glob_match.d.ts.map +1 -0
- package/dist/core/glob_match.js +7 -0
- package/dist/core/glob_match.js.map +1 -0
- package/dist/core/maintenance.sql +6 -0
- package/dist/core/mutation-types.d.ts +7 -28
- package/dist/core/mutation-types.d.ts.map +1 -1
- package/dist/core/packet-inject.d.ts.map +1 -1
- package/dist/core/packet-inject.js +2 -3
- package/dist/core/packet-inject.js.map +1 -1
- package/dist/core/packet-wire.d.ts +8 -6
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +131 -163
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +1 -1
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +5 -12
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/scheme-types.d.ts +3 -3
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/scheme-types.js.map +1 -1
- package/dist/core/sha256.d.ts +4 -0
- package/dist/core/sha256.d.ts.map +1 -0
- package/dist/core/sha256.js +6 -0
- package/dist/core/sha256.js.map +1 -0
- package/dist/core/teaching.js +1 -1
- package/dist/core/teaching.js.map +1 -1
- package/dist/core/turn-scheduler.d.ts.map +1 -1
- package/dist/core/turn-scheduler.js +5 -18
- package/dist/core/turn-scheduler.js.map +1 -1
- package/dist/core/turn-signals.d.ts +0 -6
- package/dist/core/turn-signals.d.ts.map +1 -1
- package/dist/core/turn-signals.js +1 -7
- package/dist/core/turn-signals.js.map +1 -1
- package/dist/core/worker-ops.sql +15 -22
- package/dist/core/workspace-settings.d.ts.map +1 -1
- package/dist/core/workspace-settings.js +18 -2
- package/dist/core/workspace-settings.js.map +1 -1
- package/dist/core/workspace-settings.sql +6 -0
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +27 -90
- package/dist/digest/Digest.js.map +1 -1
- package/dist/digest/DigestRender.d.ts.map +1 -1
- package/dist/digest/DigestRender.js +14 -54
- package/dist/digest/DigestRender.js.map +1 -1
- package/dist/digest/digest-rows.d.ts +10 -32
- package/dist/digest/digest-rows.d.ts.map +1 -1
- package/dist/digest/digest.sql +43 -18
- package/dist/schemes/Exec.d.ts +6 -12
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +256 -188
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.d.ts +8 -6
- package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +33 -61
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/ExecutionInput.d.ts +12 -0
- package/dist/schemes/ExecutionInput.d.ts.map +1 -0
- package/dist/schemes/ExecutionInput.js +94 -0
- package/dist/schemes/ExecutionInput.js.map +1 -0
- package/dist/schemes/File.d.ts +5 -2
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +62 -92
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +84 -79
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +183 -15
- package/dist/schemes/Prompt.d.ts.map +1 -1
- package/dist/schemes/Prompt.js +3 -12
- package/dist/schemes/Prompt.js.map +1 -1
- package/dist/schemes/QuestionTool.d.ts +5 -0
- package/dist/schemes/QuestionTool.d.ts.map +1 -1
- package/dist/schemes/QuestionTool.js +6 -14
- package/dist/schemes/QuestionTool.js.map +1 -1
- package/dist/schemes/Skill.d.ts +12 -7
- package/dist/schemes/Skill.d.ts.map +1 -1
- package/dist/schemes/Skill.js +149 -21
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/TurnSource.d.ts +12 -0
- package/dist/schemes/TurnSource.d.ts.map +1 -0
- package/dist/schemes/TurnSource.js +116 -0
- package/dist/schemes/TurnSource.js.map +1 -0
- package/dist/schemes/Worker.d.ts +3 -3
- package/dist/schemes/Worker.d.ts.map +1 -1
- package/dist/schemes/Worker.js +61 -208
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +12 -15
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +63 -63
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +142 -46
- package/dist/schemes/_entry-find.d.ts +1 -3
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +111 -112
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-find.sql +22 -14
- package/dist/schemes/_entry-fts.d.ts +14 -0
- package/dist/schemes/_entry-fts.d.ts.map +1 -0
- package/dist/schemes/_entry-fts.js +82 -0
- package/dist/schemes/_entry-fts.js.map +1 -0
- package/dist/schemes/_entry-fts.sql +31 -0
- package/dist/schemes/_entry-graph.d.ts.map +1 -1
- package/dist/schemes/_entry-graph.js +6 -14
- package/dist/schemes/_entry-graph.js.map +1 -1
- package/dist/schemes/_entry-graph.sql +29 -44
- package/dist/schemes/_entry-manifest.d.ts +2 -1
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +15 -12
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-manifest.sql +26 -0
- package/dist/schemes/_entry-ops.d.ts +3 -5
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +30 -43
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-ops.sql +5 -6
- package/dist/schemes/_entry-readable.d.ts +8 -0
- package/dist/schemes/_entry-readable.d.ts.map +1 -0
- package/dist/schemes/_entry-readable.js +38 -0
- package/dist/schemes/_entry-readable.js.map +1 -0
- package/dist/schemes/_entry-send.d.ts +1 -1
- package/dist/schemes/_entry-send.d.ts.map +1 -1
- package/dist/schemes/_entry-send.js +3 -3
- package/dist/schemes/_entry-send.js.map +1 -1
- package/dist/schemes/_search-index.d.ts +1 -3
- package/dist/schemes/_search-index.d.ts.map +1 -1
- package/dist/schemes/_search-index.js +79 -110
- package/dist/schemes/_search-index.js.map +1 -1
- package/dist/schemes/_search-index.sql +30 -0
- package/dist/schemes/exec-runtime.d.ts +1 -1
- package/dist/schemes/exec-runtime.d.ts.map +1 -1
- package/dist/schemes/exec-runtime.js.map +1 -1
- package/dist/server/ClientReads.d.ts +2 -2
- package/dist/server/ClientReads.d.ts.map +1 -1
- package/dist/server/ClientReads.js +5 -8
- package/dist/server/ClientReads.js.map +1 -1
- package/dist/server/Daemon.d.ts +14 -21
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +135 -156
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DaemonModule.d.ts +23 -21
- package/dist/server/DaemonModule.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.d.ts +8 -21
- package/dist/server/DrainSupervisor.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.js +278 -306
- package/dist/server/DrainSupervisor.js.map +1 -1
- package/dist/server/Functionality.d.ts +11 -12
- package/dist/server/Functionality.d.ts.map +1 -1
- package/dist/server/Functionality.js +129 -101
- package/dist/server/Functionality.js.map +1 -1
- package/dist/server/FunctionalityManager.d.ts +3 -5
- package/dist/server/FunctionalityManager.d.ts.map +1 -1
- package/dist/server/FunctionalityManager.js +20 -58
- package/dist/server/FunctionalityManager.js.map +1 -1
- package/dist/server/MembersFunctionality.d.ts +5 -4
- package/dist/server/MembersFunctionality.d.ts.map +1 -1
- package/dist/server/MembersFunctionality.js +24 -37
- package/dist/server/MembersFunctionality.js.map +1 -1
- package/dist/server/PlurnkSkill.d.ts +11 -0
- package/dist/server/PlurnkSkill.d.ts.map +1 -0
- package/dist/server/PlurnkSkill.js +41 -0
- package/dist/server/PlurnkSkill.js.map +1 -0
- package/dist/server/Retention.d.ts +22 -0
- package/dist/server/Retention.d.ts.map +1 -0
- package/dist/server/Retention.js +54 -0
- package/dist/server/Retention.js.map +1 -0
- package/dist/server/Retention.sql +36 -0
- package/dist/server/ServiceModules.d.ts +5 -0
- package/dist/server/ServiceModules.d.ts.map +1 -0
- package/dist/server/ServiceModules.js +10 -0
- package/dist/server/ServiceModules.js.map +1 -0
- package/dist/server/SkillsFunctionality.d.ts +14 -19
- package/dist/server/SkillsFunctionality.d.ts.map +1 -1
- package/dist/server/SkillsFunctionality.js +97 -104
- package/dist/server/SkillsFunctionality.js.map +1 -1
- package/dist/server/WorkerModelResolver.d.ts +4 -0
- package/dist/server/WorkerModelResolver.d.ts.map +1 -1
- package/dist/server/WorkerModelResolver.js +72 -39
- package/dist/server/WorkerModelResolver.js.map +1 -1
- package/dist/server/WorkspaceCapabilities.d.ts +21 -0
- package/dist/server/WorkspaceCapabilities.d.ts.map +1 -0
- package/dist/server/{WorkerCapabilities.js → WorkspaceCapabilities.js} +40 -40
- package/dist/server/WorkspaceCapabilities.js.map +1 -0
- package/dist/server/WorkspaceResidency.d.ts +36 -0
- package/dist/server/WorkspaceResidency.d.ts.map +1 -0
- package/dist/server/WorkspaceResidency.js +199 -0
- package/dist/server/WorkspaceResidency.js.map +1 -0
- package/dist/server/client-input.d.ts +1 -4
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +4 -45
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
- package/dist/server/dispatch-as-plurnk.js +4 -22
- package/dist/server/dispatch-as-plurnk.js.map +1 -1
- package/dist/server/drain.sql +65 -42
- package/dist/server/envelope.d.ts +8 -0
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +9 -7
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/envelope.sql +49 -13
- package/dist/server/lifecycle-recovery.sql +14 -17
- package/dist/server/logEntry.d.ts +1 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +4 -1
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/logEntry.sql +25 -1
- package/dist/server/loopDocs.d.ts +2 -2
- package/dist/server/loopDocs.d.ts.map +1 -1
- package/dist/server/loopDocs.js +38 -31
- package/dist/server/loopDocs.js.map +1 -1
- package/dist/server/loopDocs.sql +1 -3
- package/dist/server/model-catalog.d.ts.map +1 -1
- package/dist/server/model-catalog.js +2 -1
- package/dist/server/model-catalog.js.map +1 -1
- package/dist/server/model-route.d.ts +1 -1
- package/dist/server/model-route.d.ts.map +1 -1
- package/dist/server/model-route.js +4 -2
- package/dist/server/model-route.js.map +1 -1
- package/dist/server/seam-entry-read.sql +3 -4
- package/dist/server/seam-loop.sql +2 -9
- package/dist/server/workspace-capabilities.sql +19 -0
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +5 -17
- package/dist/service.js.map +1 -1
- package/docs/members.md +83 -0
- package/docs/skills.md +50 -0
- package/migrations/001_workspaces.sql +53 -0
- package/migrations/002_workers.sql +183 -0
- package/migrations/003_loops.sql +326 -0
- package/migrations/004_inference.sql +360 -0
- package/migrations/005_entries.sql +207 -0
- package/migrations/006_log.sql +578 -0
- package/migrations/007_subscriptions.sql +175 -0
- package/migrations/008_interactions.sql +29 -0
- package/package.json +33 -40
- package/digest-sql/channel-dispositions/dispositions.sql +0 -15
- package/digest-sql/channel-state/state.sql +0 -6
- package/digest-sql/curation/curation.sql +0 -6
- package/digest-sql/derivations/derivations.sql +0 -4
- package/digest-sql/embeddings/embeddings.sql +0 -4
- package/digest-sql/entry-dispositions/dispositions.sql +0 -15
- package/digest-sql/entry-state/state.sql +0 -6
- package/digest-sql/token-counts/token-counts.sql +0 -2
- package/dist/core/EmbeddingCall.d.ts +0 -23
- package/dist/core/EmbeddingCall.d.ts.map +0 -1
- package/dist/core/EmbeddingCall.js +0 -149
- package/dist/core/EmbeddingCall.js.map +0 -1
- package/dist/core/OverflowTurn.d.ts +0 -11
- package/dist/core/OverflowTurn.d.ts.map +0 -1
- package/dist/core/OverflowTurn.js +0 -80
- package/dist/core/OverflowTurn.js.map +0 -1
- package/dist/core/Owner.d.ts +0 -8
- package/dist/core/Owner.d.ts.map +0 -1
- package/dist/core/Owner.js +0 -46
- package/dist/core/Owner.js.map +0 -1
- package/dist/core/SendBroadcastHandler.d.ts.map +0 -1
- package/dist/core/SendBroadcastHandler.js +0 -159
- package/dist/core/SendBroadcastHandler.js.map +0 -1
- package/dist/core/VectorPump.d.ts +0 -28
- package/dist/core/VectorPump.d.ts.map +0 -1
- package/dist/core/VectorPump.js +0 -130
- package/dist/core/VectorPump.js.map +0 -1
- package/dist/core/owner.sql +0 -11
- package/dist/core/worker-settings.d.ts +0 -10
- package/dist/core/worker-settings.d.ts.map +0 -1
- package/dist/core/worker-settings.js +0 -53
- package/dist/core/worker-settings.js.map +0 -1
- package/dist/schemes/_entry-chunk.d.ts +0 -14
- package/dist/schemes/_entry-chunk.d.ts.map +0 -1
- package/dist/schemes/_entry-chunk.js +0 -165
- package/dist/schemes/_entry-chunk.js.map +0 -1
- package/dist/schemes/_entry-semantic.d.ts +0 -63
- package/dist/schemes/_entry-semantic.d.ts.map +0 -1
- package/dist/schemes/_entry-semantic.js +0 -299
- package/dist/schemes/_entry-semantic.js.map +0 -1
- package/dist/schemes/_entry-semantic.sql +0 -99
- package/dist/schemes/cosine.d.ts +0 -4
- package/dist/schemes/cosine.d.ts.map +0 -1
- package/dist/schemes/cosine.js +0 -9
- package/dist/schemes/cosine.js.map +0 -1
- package/dist/server/WorkerCapabilities.d.ts +0 -21
- package/dist/server/WorkerCapabilities.d.ts.map +0 -1
- package/dist/server/WorkerCapabilities.js.map +0 -1
- package/dist/server/WorkerResidency.d.ts +0 -40
- package/dist/server/WorkerResidency.d.ts.map +0 -1
- package/dist/server/WorkerResidency.js +0 -283
- package/dist/server/WorkerResidency.js.map +0 -1
- package/dist/server/seam-log-read.sql +0 -21
- package/dist/server/worker-capabilities.sql +0 -28
- package/migrations/001_schema.sql +0 -2207
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { FindStatement, ParsedPath } from "@plurnk/plurnk-contracts";
|
|
2
|
+
import type { SchemeManifest } from "@plurnk/plurnk-schemes";
|
|
3
|
+
import { CoreSchemeAdapterBase, type CoreRepresentationProvider, type CoreRepresentationResolution, type CoreSchemeCallContext } from "../core/CoreSchemeServices.ts";
|
|
4
|
+
import { type FindResult } from "./_entry-find.ts";
|
|
5
|
+
export default class TurnSource extends CoreSchemeAdapterBase implements CoreRepresentationProvider {
|
|
6
|
+
#private;
|
|
7
|
+
readonly manifest: SchemeManifest;
|
|
8
|
+
constructor(kind: "ops" | "reasoning");
|
|
9
|
+
resolveCoreRepresentation(target: ParsedPath | null, context: CoreSchemeCallContext): Promise<CoreRepresentationResolution>;
|
|
10
|
+
find(statement: FindStatement, context: CoreSchemeCallContext): Promise<FindResult>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=TurnSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TurnSource.d.ts","sourceRoot":"","sources":["../../src/schemes/TurnSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,KAAK,0BAA0B,EAAE,KAAK,4BAA4B,EAAE,KAAK,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAOtK,OAAO,EAAsC,KAAK,UAAU,EAA+B,MAAM,kBAAkB,CAAC;AAOpH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,qBAAsB,YAAW,0BAA0B;;IAC/F,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAIlC,YAAY,IAAI,EAAE,KAAK,GAAG,WAAW,EASpC;IAUK,yBAAyB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAiBhI;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CAsDxF;CACJ"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { CoreSchemeAdapterBase } from "../core/CoreSchemeServices.js";
|
|
2
|
+
import Results from "../core/results.js";
|
|
3
|
+
import { contentWeight } from "../core/content-weight.js";
|
|
4
|
+
import LogVisibility from "../core/LogVisibility.js";
|
|
5
|
+
import Matcher from "../content/matcher.js";
|
|
6
|
+
import EntryFts from "./_entry-fts.js";
|
|
7
|
+
import EntryGraph from "./_entry-graph.js";
|
|
8
|
+
import { emptyFindFields, projectFindResult } from "./_entry-find.js";
|
|
9
|
+
import { pathScope, pathScopeMatches, pathFolderSummaries } from "./_path-scope.js";
|
|
10
|
+
import { resolveSearchCandidates } from "./_search-candidate.js";
|
|
11
|
+
// {§turn-source-resources}: two read-only views of the current worker's history.
|
|
12
|
+
export default class TurnSource extends CoreSchemeAdapterBase {
|
|
13
|
+
manifest;
|
|
14
|
+
#kind;
|
|
15
|
+
#mimetype;
|
|
16
|
+
constructor(kind) {
|
|
17
|
+
super();
|
|
18
|
+
this.#kind = kind;
|
|
19
|
+
this.#mimetype = kind === "ops" ? "text/vnd.plurnk" : "text/plain";
|
|
20
|
+
this.manifest = {
|
|
21
|
+
name: kind, channels: { body: this.#mimetype }, defaultChannel: "body",
|
|
22
|
+
category: "logging", writableBy: [], volatile: false, modelVisible: true,
|
|
23
|
+
folderScopes: true, textEditScopes: true,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
#failure(status, code, detail) {
|
|
27
|
+
return Results.failure(`scheme:${this.#kind}`, code, status, detail, { content: null, mimetype: null, channel: null });
|
|
28
|
+
}
|
|
29
|
+
#local(target) {
|
|
30
|
+
return target !== null && (target.kind !== "url" || [target.hostname, target.username, target.password, target.port].every((value) => value === null));
|
|
31
|
+
}
|
|
32
|
+
async resolveCoreRepresentation(target, context) {
|
|
33
|
+
const { db, workerId } = this.coreContext(context);
|
|
34
|
+
const pathname = target?.kind === "url" ? target.pathname : target?.raw;
|
|
35
|
+
const coordinate = /^\/(\d+)\/(\d+)\/?$/.exec(pathname ?? "");
|
|
36
|
+
if (!this.#local(target) || coordinate === null)
|
|
37
|
+
return { result: this.#failure(400, "coordinate-malformed", `Use ${this.#kind}:///<loop>/<turn>.`) };
|
|
38
|
+
const row = await db.turn_source_read.get({
|
|
39
|
+
worker_id: workerId, loop_seq: Number(coordinate[1]), turn_seq: Number(coordinate[2]), kind: this.#kind,
|
|
40
|
+
});
|
|
41
|
+
if (row === undefined)
|
|
42
|
+
return { result: this.#failure(404, "entry-not-found", `No turn exists at ${target.raw}.`) };
|
|
43
|
+
// An existing turn without a source of this kind is empty, not missing: the coordinate is
|
|
44
|
+
// real, the provider simply returned nothing there.
|
|
45
|
+
return {
|
|
46
|
+
identity: `${this.#kind}:///${coordinate[1]}/${coordinate[2]}`,
|
|
47
|
+
representation: { channels: { body: { content: row.content ?? "", mimetype: this.#mimetype, state: "static" } } },
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
async find(statement, context) {
|
|
51
|
+
const core = this.coreContext(context);
|
|
52
|
+
const { db, workerId, mimetypes } = core;
|
|
53
|
+
if (mimetypes === undefined)
|
|
54
|
+
throw new Error("TurnSource.find requires mimetypes.");
|
|
55
|
+
const target = statement.target;
|
|
56
|
+
const failed = (status, code, detail) => ({ ...this.#failure(status, code, detail), ...emptyFindFields() });
|
|
57
|
+
if (!this.#local(target))
|
|
58
|
+
return failed(400, "coordinate-malformed", `Use ${this.#kind}:/// with loop/turn coordinates or a path pattern.`);
|
|
59
|
+
const pathname = target.kind === "url" ? target.pathname : target.raw;
|
|
60
|
+
const scope = pathScope(/^\/\d+$/.test(pathname) ? `${pathname}/` : pathname, true);
|
|
61
|
+
const load = () => db.turn_source_candidates.all({ worker_id: workerId, kind: this.#kind });
|
|
62
|
+
let all = await load();
|
|
63
|
+
const relation = statement.matcher?.dialect === "fts" || statement.matcher?.dialect === "graph";
|
|
64
|
+
if (relation && all.some(({ deep_hash }) => deep_hash === null) && core.settleDerivations !== undefined) {
|
|
65
|
+
await core.settleDerivations();
|
|
66
|
+
all = await load();
|
|
67
|
+
}
|
|
68
|
+
const selected = all.filter((row) => pathScopeMatches(scope, row.pathname));
|
|
69
|
+
if (scope.kind === "exact" && selected.length === 0)
|
|
70
|
+
return failed(404, "entry-not-found", `No ${this.#kind} source exists at ${target.raw}.`);
|
|
71
|
+
const projections = selected.map(({ pathname: key, content }) => ({ key, content, mimetype: this.#mimetype }));
|
|
72
|
+
let matches;
|
|
73
|
+
if (relation) {
|
|
74
|
+
const candidates = resolveSearchCandidates(selected.map(({ pathname: key, deep_hash: deepHash }) => ({ key, deepHash })));
|
|
75
|
+
const universe = resolveSearchCandidates(all.map(({ pathname: key, deep_hash: deepHash }) => ({ key, deepHash })));
|
|
76
|
+
if (candidates.state !== "ready" || universe.state !== "ready")
|
|
77
|
+
return failed(503, "search-index-incomplete", "The persistent search index does not yet cover the selected history.");
|
|
78
|
+
if (statement.matcher.dialect === "fts") {
|
|
79
|
+
const result = await EntryFts.rankCandidates(db, candidates.candidates, statement.matcher.raw.slice(1), core.signal);
|
|
80
|
+
if (result.status !== 200)
|
|
81
|
+
return { ...result, ...emptyFindFields() };
|
|
82
|
+
matches = result.matches;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
const result = await EntryGraph.matchCandidates(db, universe.candidates, candidates.candidates, statement.matcher.raw);
|
|
86
|
+
if (result.status !== 200)
|
|
87
|
+
return failed(result.status, "invalid-expression", "Malformed graph matcher; expected &symbol, &<symbol, or &>symbol.");
|
|
88
|
+
matches = Matcher.addTextRegions(result.matches.map(({ key, lineStart, lineEnd }) => ({ key, span: { lineStart, lineEnd } })), projections);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else if (statement.matcher !== null) {
|
|
92
|
+
const result = await Matcher.matchCandidates(statement.matcher, projections, mimetypes);
|
|
93
|
+
if (result.status !== 200)
|
|
94
|
+
return { ...result, ...emptyFindFields() };
|
|
95
|
+
matches = result.matches;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
matches = selected.map(({ pathname: key }) => ({ key, matches: [] }));
|
|
99
|
+
}
|
|
100
|
+
const weigh = core.weigh ?? contentWeight;
|
|
101
|
+
const byPath = new Map(all.map((row) => [row.pathname, row]));
|
|
102
|
+
const resources = matches.map(({ key, matches: evidence }) => {
|
|
103
|
+
const row = byPath.get(key);
|
|
104
|
+
return {
|
|
105
|
+
item: [{ path: `${this.#kind}://${key}`, mimetype: this.#mimetype, weight: weigh(row.content), lines: LogVisibility.lineCount(row.content) }],
|
|
106
|
+
match: { pathname: key, matches: evidence },
|
|
107
|
+
};
|
|
108
|
+
});
|
|
109
|
+
const folders = statement.matcher === null ? pathFolderSummaries(scope, all.map(({ pathname }) => pathname)).map(({ selector, pathnames }) => ({
|
|
110
|
+
path: `${this.#kind}://${selector}`, items: pathnames.length,
|
|
111
|
+
weight: pathnames.reduce((sum, key) => sum + weigh(byPath.get(key).content), 0),
|
|
112
|
+
})) : [];
|
|
113
|
+
return projectFindResult(statement, scope, resources, folders);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=TurnSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TurnSource.js","sourceRoot":"","sources":["../../src/schemes/TurnSource.ts"],"names":[],"mappings":"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"}
|
package/dist/schemes/Worker.d.ts
CHANGED
|
@@ -3,14 +3,14 @@ import type { EditResult } from "./_entry-ops.ts";
|
|
|
3
3
|
import type { EntryData, ReadEntryResult, WriteEntryResult, DeleteEntryResult } from "./_entry-crud.ts";
|
|
4
4
|
import type { FindResult } from "./_entry-find.ts";
|
|
5
5
|
import type { SendStatement, FindStatement, KillStatement, ParsedPath } from "@plurnk/plurnk-contracts";
|
|
6
|
-
import type { ResolvedEditStatement, RepresentationPreparationRequest, RepresentationPreparationResult, SchemeCtx } from "@plurnk/plurnk-schemes";
|
|
6
|
+
import type { EntryAddress, ResolvedEditStatement, RepresentationPreparationRequest, RepresentationPreparationResult, SchemeCtx } from "@plurnk/plurnk-schemes";
|
|
7
7
|
import { CoreSchemeAdapterBase } from "../core/CoreSchemeServices.ts";
|
|
8
|
-
import type {
|
|
8
|
+
import type { CoreSchemeCallContext } from "../core/CoreSchemeServices.ts";
|
|
9
9
|
import { type SchemeResultBase } from "../core/results.ts";
|
|
10
10
|
export default class Worker extends CoreSchemeAdapterBase {
|
|
11
11
|
#private;
|
|
12
12
|
static manifest: SchemeManifest;
|
|
13
|
-
resolveEntryAddress(target: ParsedPath,
|
|
13
|
+
resolveEntryAddress(target: ParsedPath, _ctx: CoreSchemeCallContext, access?: "read" | "write"): Promise<EntryAddress | SchemeResultBase | null>;
|
|
14
14
|
prepareRepresentation(request: RepresentationPreparationRequest, ctx: SchemeCtx): Promise<RepresentationPreparationResult>;
|
|
15
15
|
editBatch(statements: readonly ResolvedEditStatement[], ctx: CoreSchemeCallContext): Promise<EditResult>;
|
|
16
16
|
edit(statement: ResolvedEditStatement, ctx: CoreSchemeCallContext): Promise<EditResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../../src/schemes/Worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../../src/schemes/Worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAI9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACxG,OAAO,KAAK,EAER,YAAY,EACZ,qBAAqB,EACrB,gCAAgC,EAChC,+BAA+B,EAC/B,SAAS,EACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAOpE,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,qBAAqB;;IACrD,MAAM,CAAC,QAAQ,EAAE,cAAc,CAY7B;IA0BI,mBAAmB,CACrB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,qBAAqB,EAC3B,MAAM,GAAE,MAAM,GAAG,OAAgB,GAClC,OAAO,CAAC,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAAC,CAIjD;IAEK,qBAAqB,CACvB,OAAO,EAAE,gCAAgC,EACzC,GAAG,EAAE,SAAS,GACf,OAAO,CAAC,+BAA+B,CAAC,CAmH1C;IAEK,SAAS,CAAC,UAAU,EAAE,SAAS,qBAAqB,EAAE,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CA6D7G;IAEK,IAAI,CAAC,SAAS,EAAE,qBAAqB,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CAE5F;IAGK,SAAS,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmB/F;IAMK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CAapF;IAGK,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAKtF;IAEK,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAS1G;IAEK,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAQ1F;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqE1F;CACJ"}
|
package/dist/schemes/Worker.js
CHANGED
|
@@ -1,40 +1,29 @@
|
|
|
1
1
|
import LoopPolicyReader from "../core/LoopPolicyReader.js";
|
|
2
|
-
import
|
|
3
|
-
import { isGeneratedPathname } from "../core/plurnk-uri.js";
|
|
2
|
+
import { taskTiming } from "../core/LoopLifecycle.js";
|
|
4
3
|
import EntryOps from "./_entry-ops.js";
|
|
5
4
|
import EntryFind from "./_entry-find.js";
|
|
6
5
|
import EntryCrud from "./_entry-crud.js";
|
|
7
6
|
import EntrySend from "./_entry-send.js";
|
|
8
|
-
import Owner from "../core/Owner.js";
|
|
9
7
|
import { CoreSchemeAdapterBase } from "../core/CoreSchemeServices.js";
|
|
10
8
|
import Results from "../core/results.js";
|
|
11
9
|
import TerminalResult from "../core/TerminalResult.js";
|
|
12
10
|
import WorkerControlAddress from "../core/WorkerControlAddress.js";
|
|
13
11
|
import SchemeCtxImpl from "../core/caps/SchemeCtxImpl.js";
|
|
14
|
-
// {§worker-scheme}
|
|
15
|
-
//
|
|
16
|
-
// worker:///notes.md — the COMMONS, a shared blackboard
|
|
17
|
-
// worker://~/draft.md — the calling worker's own private space
|
|
18
|
-
// worker://<name>/result.md — a named worker's space, readable by any worker of the workspace (#394)
|
|
19
|
-
// Writes are own-space-and-commons only ({§worker-write-scoping}): a named authority is read-only to
|
|
20
|
-
// the model, so nothing worker-authored can ever land under another principal.
|
|
21
|
-
// Path-absent forms are control on the worker-as-actor: READ collects the deliverable, SEND ircs;
|
|
22
|
-
// WORK spawns / FORK forks (Dispatcher); EDIT on the bare entity is rejected.
|
|
12
|
+
// {§worker-scheme} Named and shared scratch are workspace resources; pathless
|
|
13
|
+
// addresses target actors through the ordinary delegation and messaging lifecycle.
|
|
23
14
|
export default class Worker extends CoreSchemeAdapterBase {
|
|
24
15
|
static manifest = {
|
|
25
16
|
name: "worker",
|
|
26
|
-
authority: "
|
|
27
|
-
|
|
17
|
+
authority: "resource",
|
|
18
|
+
// {§readable-channel} — `readable` is the source's derived projection, never written.
|
|
19
|
+
channels: { body: "text/markdown", readable: "text/markdown" },
|
|
28
20
|
defaultChannel: "body",
|
|
29
21
|
category: "data",
|
|
30
|
-
|
|
31
|
-
inherit: "snapshot",
|
|
32
|
-
writableBy: ["model", "client", "_plurnk"],
|
|
22
|
+
writableBy: ["model", "client", "_plurnk", "plugin"],
|
|
33
23
|
volatile: false,
|
|
34
24
|
modelVisible: true,
|
|
35
25
|
folderScopes: true,
|
|
36
26
|
textEditScopes: true,
|
|
37
|
-
example: "### EDIT0 (worker:///notes.md)\nInvestigation notes.",
|
|
38
27
|
};
|
|
39
28
|
// The authority from a worker:// target — "" for the empty (commons) form; null when the
|
|
40
29
|
// target isn't a worker:// url at all.
|
|
@@ -51,74 +40,15 @@ export default class Worker extends CoreSchemeAdapterBase {
|
|
|
51
40
|
const p = target.pathname ?? "";
|
|
52
41
|
return p === "/" ? "" : p;
|
|
53
42
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
// 404. Writability is the {§worker-write-scoping}
|
|
59
|
-
// law: only `~` and the commons take model writes; owner_id is engine-stamped, never model-set.
|
|
60
|
-
static async #resolveAuthority(authority, ctx) {
|
|
61
|
-
if (authority === "")
|
|
62
|
-
return { ownerId: await Owner.commonsId(ctx.db, ctx.workspaceId), writable: true };
|
|
63
|
-
if (authority === "~")
|
|
64
|
-
return { ownerId: ctx.workerId, writable: true };
|
|
65
|
-
const named = await ctx.db.worker_resolve_by_name.get({ workspace_id: ctx.workspaceId, name: authority });
|
|
66
|
-
if (named === undefined)
|
|
67
|
-
return null;
|
|
68
|
-
if (named.id === ctx.workerId)
|
|
69
|
-
return { ownerId: named.id, writable: false }; // `~` is the sole writable self-reference
|
|
70
|
-
const permitted = await ctx.db.owner_shares_workspace.get({ owner_id: named.id, reader_id: ctx.workerId });
|
|
71
|
-
return permitted === undefined ? null : { ownerId: named.id, writable: false };
|
|
72
|
-
}
|
|
73
|
-
// {§worker-generated-subtree} — `/_plurnk/` is Plurnk's generated subtree in every
|
|
74
|
-
// worker space: readable like the rest of the space, writable only by `_plurnk`.
|
|
75
|
-
static #generatedRefusal(pathname, writer) {
|
|
76
|
-
if (writer === "_plurnk" || !isGeneratedPathname(pathname))
|
|
77
|
-
return null;
|
|
78
|
-
return {
|
|
79
|
-
code: "worker-generated-read-only",
|
|
80
|
-
status: 403,
|
|
81
|
-
message: `${pathname} is in Plurnk's generated subtree; only Plurnk writes worker://~/_plurnk/.`,
|
|
82
|
-
extensions: {
|
|
83
|
-
recovery: "READ generated documents under worker://~/_plurnk/; write elsewhere in your own space or the commons.",
|
|
84
|
-
retryable: false,
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
// Hand the statement to the shared entry helpers authority-stripped: the owner rides the
|
|
89
|
-
// resolved owner_id, the storage pathname is the bare entry path — never authority-folded.
|
|
90
|
-
static #stripAuthority(statement) {
|
|
91
|
-
const t = statement.target;
|
|
92
|
-
if (t === null || t.kind !== "url")
|
|
93
|
-
return statement;
|
|
94
|
-
return { ...statement, target: { ...t, hostname: null } };
|
|
43
|
+
static #entryAddress(authority, pathname, access) {
|
|
44
|
+
if (access === "write" && pathname === "")
|
|
45
|
+
return Results.failure("scheme:worker", "worker-entity-not-editable", 400, "A worker entity is not an editable entry.", {}, { recovery: "EDIT requires an entry path, such as worker:///notes.md.", retryable: false });
|
|
46
|
+
return { authority, pathname };
|
|
95
47
|
}
|
|
96
|
-
async resolveEntryAddress(target,
|
|
48
|
+
async resolveEntryAddress(target, _ctx, access = "read") {
|
|
97
49
|
const authority = Worker.#authority(target);
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
const pathname = Worker.#entryPath(target);
|
|
101
|
-
// The authority-only form addresses the Worker actor, not its private
|
|
102
|
-
// entries. Bind its principal without applying entry-read ancestry;
|
|
103
|
-
// each control operation owns its own visibility and authorization.
|
|
104
|
-
if (pathname === "") {
|
|
105
|
-
if (authority === "") {
|
|
106
|
-
return { authority: "", pathname, ownerId: await Owner.commonsId(this.coreContext(ctx).db, ctx.workspaceId) };
|
|
107
|
-
}
|
|
108
|
-
if (authority === "~")
|
|
109
|
-
return { authority: "", pathname, ownerId: ctx.workerId };
|
|
110
|
-
const named = await this.coreContext(ctx).db.worker_resolve_by_name.get({
|
|
111
|
-
workspace_id: ctx.workspaceId,
|
|
112
|
-
name: authority,
|
|
113
|
-
});
|
|
114
|
-
return named === undefined
|
|
115
|
-
? Results.failure("scheme:worker", "worker-not-found", 404, `Worker '${authority}' does not exist in this workspace.`, {}, { worker: authority, retryable: false })
|
|
116
|
-
: { authority: "", pathname, ownerId: named.id };
|
|
117
|
-
}
|
|
118
|
-
const resolved = await Worker.#resolveAuthority(authority, this.coreContext(ctx));
|
|
119
|
-
return resolved === null
|
|
120
|
-
? Results.failure("scheme:worker", "worker-not-found", 404, `Worker '${authority}' does not exist in this workspace.`, {}, { worker: authority, retryable: false })
|
|
121
|
-
: { authority: "", pathname, ownerId: resolved.ownerId };
|
|
50
|
+
return authority === null ? null
|
|
51
|
+
: Worker.#entryAddress(authority, Worker.#entryPath(target), access);
|
|
122
52
|
}
|
|
123
53
|
async prepareRepresentation(request, ctx) {
|
|
124
54
|
if (request.metadata !== null) {
|
|
@@ -128,7 +58,7 @@ export default class Worker extends CoreSchemeAdapterBase {
|
|
|
128
58
|
return { status: 200 };
|
|
129
59
|
}
|
|
130
60
|
const authority = Worker.#authority(request.target);
|
|
131
|
-
if (authority === null || authority === ""
|
|
61
|
+
if (authority === null || authority === "") {
|
|
132
62
|
return Results.failure("scheme:worker", "named-worker-required", 400, "A worker deliverable READ requires a named worker.", {}, {
|
|
133
63
|
recovery: "Address the worker by name.",
|
|
134
64
|
retryable: false,
|
|
@@ -150,10 +80,9 @@ export default class Worker extends CoreSchemeAdapterBase {
|
|
|
150
80
|
return Results.failure("scheme:worker", "worker-not-found", 404, `Worker '${authority}' does not exist in this workspace.`, {}, { worker: authority, retryable: false });
|
|
151
81
|
}
|
|
152
82
|
if (!Worker.#TERMINAL_LOOP.has(row.status)) {
|
|
153
|
-
const detail = `Worker '${authority}'
|
|
154
|
-
return Results.failure("scheme:worker", "worker-
|
|
83
|
+
const detail = `Worker '${authority}' has unfinished work (status ${row.status}).`;
|
|
84
|
+
return Results.failure("scheme:worker", "worker-unfinished", 425, detail, { loopId: row.id, ...taskTiming(row) }, {
|
|
155
85
|
worker: authority,
|
|
156
|
-
recovery: "Continue once; the engine will wait for the worker's deliverable.",
|
|
157
86
|
retryable: false,
|
|
158
87
|
});
|
|
159
88
|
}
|
|
@@ -205,46 +134,21 @@ export default class Worker extends CoreSchemeAdapterBase {
|
|
|
205
134
|
});
|
|
206
135
|
}
|
|
207
136
|
const entryPath = Worker.#entryPath(statement.target);
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
return failure("worker-entity-not-editable", 400, "A worker entity is not an editable entry.", {
|
|
212
|
-
recovery: "Use WORK or FORK to create a worker.",
|
|
213
|
-
retryable: false,
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
const resolved = await Worker.#resolveAuthority(authority, core);
|
|
217
|
-
if (resolved === null) {
|
|
218
|
-
return failure("worker-not-found", 404, `Worker '${authority}' does not exist in this workspace.`, {
|
|
219
|
-
worker: authority,
|
|
220
|
-
retryable: false,
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
if (!resolved.writable) {
|
|
224
|
-
return failure("worker-space-read-only", 403, `Worker '${authority}' has a read-only space.`, {
|
|
225
|
-
worker: authority,
|
|
226
|
-
recovery: "Write to the commons or the current worker's own space.",
|
|
227
|
-
retryable: false,
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
for (const candidate of statements) {
|
|
231
|
-
const refusal = Worker.#generatedRefusal(Worker.#entryPath(candidate.target), core.writer);
|
|
232
|
-
if (refusal !== null)
|
|
233
|
-
return failure(refusal.code, refusal.status, refusal.message, refusal.extensions);
|
|
234
|
-
}
|
|
137
|
+
const resolved = Worker.#entryAddress(authority, entryPath, "write");
|
|
138
|
+
if ("status" in resolved)
|
|
139
|
+
return { ...resolved, entryId: null, channel: null };
|
|
235
140
|
if (statements.some((candidate) => Worker.#authority(candidate.target) !== authority)) {
|
|
236
141
|
return failure("edit-batch-mismatch", 400, "One EDIT batch cannot span multiple worker spaces.", {
|
|
237
142
|
recovery: "Use a separate EDIT batch for each worker space.",
|
|
238
143
|
retryable: false,
|
|
239
144
|
});
|
|
240
145
|
}
|
|
241
|
-
return EntryOps.editWorkspaceEntryBatch(statements
|
|
146
|
+
return EntryOps.editWorkspaceEntryBatch(statements, core, Worker.manifest, precondition);
|
|
242
147
|
}
|
|
243
148
|
async edit(statement, ctx) {
|
|
244
149
|
return this.editBatch([statement], ctx);
|
|
245
150
|
}
|
|
246
|
-
// KILL
|
|
247
|
-
// path-ABSENT KILL form is worker cancellation, handled in Dispatcher.#handleKill.
|
|
151
|
+
// Pathless KILL is worker cancellation; an entry path is ordinary scratch deletion.
|
|
248
152
|
async killEntry(statement, ctx) {
|
|
249
153
|
const core = this.coreContext(ctx);
|
|
250
154
|
const authority = Worker.#authority(statement.target);
|
|
@@ -254,30 +158,14 @@ export default class Worker extends CoreSchemeAdapterBase {
|
|
|
254
158
|
retryable: false,
|
|
255
159
|
});
|
|
256
160
|
}
|
|
257
|
-
const resolved =
|
|
258
|
-
if (
|
|
259
|
-
return
|
|
260
|
-
|
|
261
|
-
retryable: false,
|
|
262
|
-
});
|
|
263
|
-
}
|
|
264
|
-
if (!resolved.writable) {
|
|
265
|
-
return Results.failure("scheme:worker", "worker-space-read-only", 403, `Worker '${authority}' has a read-only space.`, {}, {
|
|
266
|
-
worker: authority,
|
|
267
|
-
recovery: "KILL entries in the commons or the current worker's own space.",
|
|
268
|
-
retryable: false,
|
|
269
|
-
});
|
|
270
|
-
}
|
|
271
|
-
const refusal = Worker.#generatedRefusal(Worker.#entryPath(statement.target), core.writer);
|
|
272
|
-
if (refusal !== null) {
|
|
273
|
-
return Results.failure("scheme:worker", refusal.code, refusal.status, refusal.message, {}, refusal.extensions);
|
|
274
|
-
}
|
|
275
|
-
return EntryOps.deleteWorkspaceEntry(Worker.#stripAuthority(statement), core, Worker.manifest, resolved.ownerId);
|
|
161
|
+
const resolved = Worker.#entryAddress(authority, Worker.#entryPath(statement.target), "write");
|
|
162
|
+
if ("status" in resolved)
|
|
163
|
+
return resolved;
|
|
164
|
+
return EntryOps.deleteWorkspaceEntry(statement, core, Worker.manifest);
|
|
276
165
|
}
|
|
277
|
-
// Terminal loop statuses ({§lifecycle-terms})
|
|
166
|
+
// Terminal loop statuses ({§lifecycle-terms}); all other tasks remain unfinished.
|
|
278
167
|
static #TERMINAL_LOOP = new Set([200, 413, 429, 499, 500, 504, 508]);
|
|
279
|
-
//
|
|
280
|
-
// worker://~/** your own, worker://<name>/** a named space (ancestry-gated like READ).
|
|
168
|
+
// {§worker-read-scope} The requested namespace scopes discovery, not access.
|
|
281
169
|
async find(statement, ctx) {
|
|
282
170
|
const core = this.coreContext(ctx);
|
|
283
171
|
const authority = Worker.#authority(statement.target);
|
|
@@ -290,56 +178,24 @@ export default class Worker extends CoreSchemeAdapterBase {
|
|
|
290
178
|
retryable: false,
|
|
291
179
|
});
|
|
292
180
|
}
|
|
293
|
-
|
|
294
|
-
if (resolved === null) {
|
|
295
|
-
return Results.failure("scheme:worker", "worker-not-found", 404, `Worker '${authority}' does not exist in this workspace.`, {
|
|
296
|
-
content: null, mimetype: null, results: [], itemsWeightTotal: 0, returnedItemsWeightTotal: 0,
|
|
297
|
-
matchingPathCount: 0, matchLocationCount: 0,
|
|
298
|
-
}, {
|
|
299
|
-
worker: authority,
|
|
300
|
-
retryable: false,
|
|
301
|
-
});
|
|
302
|
-
}
|
|
303
|
-
const found = await EntryFind.findWorkspaceEntries(Worker.#stripAuthority(statement), core, Worker.manifest, {
|
|
304
|
-
ownerId: resolved.ownerId,
|
|
305
|
-
});
|
|
306
|
-
// The catalog renders the empty-authority form; a non-empty queried authority re-applies —
|
|
307
|
-
// in results AND the serialized content the packet renders — so every path the model sees
|
|
308
|
-
// is the address it typed (worker://~/x, worker://beta/x).
|
|
309
|
-
if (authority === "")
|
|
310
|
-
return found;
|
|
311
|
-
const reface = (p) => p.replace(/^worker:\/\/\//, `worker://${authority}/`);
|
|
312
|
-
const results = found.results.map((result) => Array.isArray(result)
|
|
313
|
-
? result.map((item) => ({ ...item, path: reface(item.path) }))
|
|
314
|
-
: result);
|
|
315
|
-
const content = found.content === null ? null : found.content.replaceAll("worker:///", `worker://${authority}/`);
|
|
316
|
-
return { ...found, results, content };
|
|
181
|
+
return EntryFind.findWorkspaceEntries(statement, core, Worker.manifest, { authority });
|
|
317
182
|
}
|
|
318
|
-
//
|
|
319
|
-
// dispatcher refuses a non-empty authority upstream, so these faces only ever see worker:///….
|
|
183
|
+
// Bound contexts carry the exact resource authority through transfers.
|
|
320
184
|
async readEntry(pathname, ctx) {
|
|
321
185
|
const core = this.coreContext(ctx);
|
|
322
186
|
return "entries" in ctx
|
|
323
187
|
? ctx.entries.read(pathname)
|
|
324
|
-
: EntryCrud.readEntry({ authority: "", pathname }, core, Worker.manifest.name
|
|
188
|
+
: EntryCrud.readEntry({ authority: "", pathname }, core, Worker.manifest.name);
|
|
325
189
|
}
|
|
326
190
|
async writeEntry(pathname, entry, ctx) {
|
|
327
|
-
const refusal = Worker.#generatedRefusal(pathname, this.coreContext(ctx).writer);
|
|
328
|
-
if (refusal !== null) {
|
|
329
|
-
return Results.failure("scheme:worker", refusal.code, refusal.status, refusal.message, { created: false, entryId: null }, refusal.extensions);
|
|
330
|
-
}
|
|
331
191
|
return "entries" in ctx
|
|
332
192
|
? ctx.entries.write(pathname, entry)
|
|
333
|
-
: EntryCrud.writeEntry({ authority: "", pathname }, entry, this.coreContext(ctx), Worker.manifest.name
|
|
193
|
+
: EntryCrud.writeEntry({ authority: "", pathname }, entry, this.coreContext(ctx), Worker.manifest.name);
|
|
334
194
|
}
|
|
335
195
|
async deleteEntry(pathname, ctx) {
|
|
336
|
-
const refusal = Worker.#generatedRefusal(pathname, this.coreContext(ctx).writer);
|
|
337
|
-
if (refusal !== null) {
|
|
338
|
-
return Results.failure("scheme:worker", refusal.code, refusal.status, refusal.message, {}, refusal.extensions);
|
|
339
|
-
}
|
|
340
196
|
return "entries" in ctx
|
|
341
197
|
? ctx.entries.delete(pathname)
|
|
342
|
-
: EntryCrud.deleteEntry({ authority: "", pathname }, this.coreContext(ctx), Worker.manifest.name
|
|
198
|
+
: EntryCrud.deleteEntry({ authority: "", pathname }, this.coreContext(ctx), Worker.manifest.name);
|
|
343
199
|
}
|
|
344
200
|
async send(statement, ctx) {
|
|
345
201
|
const core = this.coreContext(ctx);
|
|
@@ -350,53 +206,50 @@ export default class Worker extends CoreSchemeAdapterBase {
|
|
|
350
206
|
retryable: false,
|
|
351
207
|
});
|
|
352
208
|
}
|
|
353
|
-
// An
|
|
354
|
-
// resolved principal; write-scoping holds — a named space takes no 410.
|
|
209
|
+
// An entry is not a message recipient ({§send-dispatch-entry-schemes-501}).
|
|
355
210
|
if (Worker.#entryPath(statement.target) !== "") {
|
|
356
|
-
|
|
357
|
-
if (resolved === null) {
|
|
358
|
-
return Results.failure("scheme:worker", "worker-not-found", 404, `Worker '${authority}' does not exist in this workspace.`, {}, {
|
|
359
|
-
worker: authority,
|
|
360
|
-
retryable: false,
|
|
361
|
-
});
|
|
362
|
-
}
|
|
363
|
-
return EntrySend.sendToWorkspaceEntry(Worker.#stripAuthority(statement), core, Worker.manifest, resolved.ownerId);
|
|
211
|
+
return EntrySend.sendToWorkspaceEntry(statement, core, Worker.manifest);
|
|
364
212
|
}
|
|
365
213
|
const address = WorkerControlAddress.resolve(statement.target, "SEND");
|
|
366
214
|
if (!address.ok)
|
|
367
215
|
return address.result;
|
|
216
|
+
const marks = statement.lineMarker?.marks;
|
|
217
|
+
const [delay, interval] = marks ?? [];
|
|
218
|
+
const maxMinutes = Math.floor((8.64e15 - Date.now()) / 60_000);
|
|
219
|
+
if (marks !== undefined && (marks.length < 1 || marks.length > 2
|
|
220
|
+
|| delay === undefined || !Number.isSafeInteger(delay) || delay < 0
|
|
221
|
+
|| (interval !== undefined && (!Number.isSafeInteger(interval) || interval <= 0))
|
|
222
|
+
|| delay + (interval ?? 0) > maxMinutes)) {
|
|
223
|
+
return Results.failure("scheme:worker", "invalid-schedule", 400, "Worker SEND timing is <delay[,interval]> in whole minutes: delay >= 0, interval > 0, within the supported date range.", {}, { retryable: false });
|
|
224
|
+
}
|
|
368
225
|
const controlAuthority = address.authority;
|
|
369
226
|
if (core.injectWorker === undefined)
|
|
370
227
|
throw new Error("worker.send: injectWorker capability absent");
|
|
371
|
-
|
|
372
|
-
if (
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
retryable: false,
|
|
378
|
-
});
|
|
379
|
-
}
|
|
380
|
-
workerId = row.id;
|
|
228
|
+
const row = await core.db.worker_resolve_by_name.get({ workspace_id: core.workspaceId, name: controlAuthority });
|
|
229
|
+
if (row === undefined) {
|
|
230
|
+
return Results.failure("scheme:worker", "worker-not-found", 404, `Worker '${controlAuthority}' does not exist in this workspace.`, {}, {
|
|
231
|
+
worker: controlAuthority,
|
|
232
|
+
retryable: false,
|
|
233
|
+
});
|
|
381
234
|
}
|
|
235
|
+
const workerId = row.id;
|
|
382
236
|
const body = statement.body;
|
|
383
237
|
const prompt = body === null ? "" : typeof body === "string" ? body : body.raw;
|
|
384
|
-
// {§worker-delegation-inherits-policy}
|
|
385
|
-
//
|
|
386
|
-
|
|
387
|
-
const
|
|
388
|
-
const freshLoopPolicy = {
|
|
389
|
-
...policy,
|
|
390
|
-
capabilities: await CapabilityPolicies.delegationBound(core.db, core.workspaceId, core.workerId, policy),
|
|
391
|
-
};
|
|
392
|
-
await core.injectWorker({
|
|
238
|
+
// {§worker-delegation-inherits-policy} Only fresh loops inherit proposal
|
|
239
|
+
// disposition; resumed loops retain their immutable policy.
|
|
240
|
+
const freshLoopPolicy = await LoopPolicyReader.read(core.db, core.loopId);
|
|
241
|
+
const accepted = await core.injectWorker({
|
|
393
242
|
workspaceId: core.workspaceId,
|
|
394
243
|
workerId,
|
|
395
|
-
|
|
244
|
+
sourceLoopId: core.loopId,
|
|
396
245
|
prompt,
|
|
397
246
|
freshLoopPolicy,
|
|
247
|
+
...(delay === undefined ? {} : { schedule: {
|
|
248
|
+
delayMs: delay * 60_000,
|
|
249
|
+
...(interval === undefined ? {} : { intervalMs: interval * 60_000 }),
|
|
250
|
+
} }),
|
|
398
251
|
});
|
|
399
|
-
return { status: 200 };
|
|
252
|
+
return { status: 200, ...(delay === undefined ? {} : accepted) };
|
|
400
253
|
}
|
|
401
254
|
}
|
|
402
255
|
//# sourceMappingURL=Worker.js.map
|