@plurnk/plurnk-service 1.16.5 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.defaults +140 -246
- package/INSTALL.md +84 -138
- package/README.md +10 -6
- package/SPEC.md +2468 -1694
- package/dist/Paths.d.ts +2 -0
- package/dist/Paths.d.ts.map +1 -1
- package/dist/Paths.js +2 -0
- package/dist/Paths.js.map +1 -1
- package/dist/build-info.d.ts.map +1 -1
- package/dist/build-info.js +7 -1
- package/dist/build-info.js.map +1 -1
- package/dist/build-info.json +1 -1
- package/dist/content/body-preview.d.ts +8 -0
- package/dist/content/body-preview.d.ts.map +1 -0
- package/dist/content/body-preview.js +39 -0
- package/dist/content/body-preview.js.map +1 -0
- package/dist/content/byte-view.d.ts +1 -4
- package/dist/content/byte-view.d.ts.map +1 -1
- package/dist/content/byte-view.js.map +1 -1
- package/dist/content/edit-collision.d.ts.map +1 -1
- package/dist/content/edit-collision.js +3 -4
- package/dist/content/edit-collision.js.map +1 -1
- package/dist/content/line-anchors.d.ts +2 -2
- package/dist/content/line-anchors.d.ts.map +1 -1
- package/dist/content/line-anchors.js +4 -3
- package/dist/content/line-anchors.js.map +1 -1
- package/dist/content/line-selection.d.ts +9 -0
- package/dist/content/line-selection.d.ts.map +1 -0
- package/dist/content/line-selection.js +29 -0
- package/dist/content/line-selection.js.map +1 -0
- package/dist/content/matcher.d.ts +0 -1
- package/dist/content/matcher.d.ts.map +1 -1
- package/dist/content/matcher.js +2 -3
- package/dist/content/matcher.js.map +1 -1
- package/dist/content/pattern-edits.d.ts +39 -0
- package/dist/content/pattern-edits.d.ts.map +1 -0
- package/dist/content/pattern-edits.js +121 -0
- package/dist/content/pattern-edits.js.map +1 -0
- package/dist/content/read-projector.d.ts +18 -9
- package/dist/content/read-projector.d.ts.map +1 -1
- package/dist/content/read-projector.js +132 -35
- package/dist/content/read-projector.js.map +1 -1
- package/dist/content/read-resolve.d.ts +4 -1
- package/dist/content/read-resolve.d.ts.map +1 -1
- package/dist/content/read-resolve.js +42 -7
- package/dist/content/read-resolve.js.map +1 -1
- package/dist/core/AdmittedTurnExecutor.d.ts +2 -5
- package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
- package/dist/core/AdmittedTurnExecutor.js +96 -88
- package/dist/core/AdmittedTurnExecutor.js.map +1 -1
- package/dist/core/BareBatchRunner.d.ts +6 -1
- package/dist/core/BareBatchRunner.d.ts.map +1 -1
- package/dist/core/BareBatchRunner.js +20 -5
- package/dist/core/BareBatchRunner.js.map +1 -1
- package/dist/core/BudgetReadout.d.ts +2 -3
- package/dist/core/BudgetReadout.d.ts.map +1 -1
- package/dist/core/BudgetReadout.js +23 -32
- package/dist/core/BudgetReadout.js.map +1 -1
- package/dist/core/CapabilityPolicies.d.ts +3 -8
- package/dist/core/CapabilityPolicies.d.ts.map +1 -1
- package/dist/core/CapabilityPolicies.js +2 -28
- package/dist/core/CapabilityPolicies.js.map +1 -1
- package/dist/core/CapabilityResolver.d.ts +10 -10
- package/dist/core/CapabilityResolver.d.ts.map +1 -1
- package/dist/core/CapabilityResolver.js +122 -93
- package/dist/core/CapabilityResolver.js.map +1 -1
- package/dist/core/ChannelWrite.d.ts +15 -11
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +12 -13
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +99 -9
- package/dist/core/ClientInteractions.d.ts.map +1 -1
- package/dist/core/ClientInteractions.js +7 -0
- package/dist/core/ClientInteractions.js.map +1 -1
- package/dist/core/CoreSchemeServices.d.ts +13 -10
- package/dist/core/CoreSchemeServices.d.ts.map +1 -1
- package/dist/core/CoreSchemeServices.js +13 -5
- package/dist/core/CoreSchemeServices.js.map +1 -1
- package/dist/core/DataStatementRunner.d.ts +2 -2
- package/dist/core/DataStatementRunner.d.ts.map +1 -1
- package/dist/core/DataStatementRunner.js +208 -161
- package/dist/core/DataStatementRunner.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +24 -26
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +381 -232
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/Dispatcher.sql +66 -0
- package/dist/core/DurableStatement.d.ts.map +1 -1
- package/dist/core/DurableStatement.js +2 -1
- package/dist/core/DurableStatement.js.map +1 -1
- package/dist/core/EditMutations.d.ts +14 -18
- package/dist/core/EditMutations.d.ts.map +1 -1
- package/dist/core/EditMutations.js +211 -280
- package/dist/core/EditMutations.js.map +1 -1
- package/dist/core/EditMutations.sql +15 -0
- package/dist/core/EditSequence.d.ts +13 -0
- package/dist/core/EditSequence.d.ts.map +1 -0
- package/dist/core/EditSequence.js +73 -0
- package/dist/core/EditSequence.js.map +1 -0
- package/dist/core/Engine.d.ts +17 -23
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +74 -164
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +0 -724
- package/dist/core/EntryAddressBinding.d.ts +7 -17
- package/dist/core/EntryAddressBinding.d.ts.map +1 -1
- package/dist/core/EntryAddressBinding.js +12 -72
- package/dist/core/EntryAddressBinding.js.map +1 -1
- package/dist/core/ExecutionOutputs.d.ts +9 -0
- package/dist/core/ExecutionOutputs.d.ts.map +1 -0
- package/dist/core/ExecutionOutputs.js +36 -0
- package/dist/core/ExecutionOutputs.js.map +1 -0
- package/dist/core/ExecutionOutputs.sql +21 -0
- package/dist/core/ExecutorRegistry.d.ts +11 -5
- package/dist/core/ExecutorRegistry.d.ts.map +1 -1
- package/dist/core/ExecutorRegistry.js +37 -32
- package/dist/core/ExecutorRegistry.js.map +1 -1
- package/dist/core/HostPaths.d.ts +1 -0
- package/dist/core/HostPaths.d.ts.map +1 -1
- package/dist/core/HostPaths.js +4 -0
- package/dist/core/HostPaths.js.map +1 -1
- package/dist/core/InferenceCall.d.ts.map +1 -1
- package/dist/core/InferenceCall.js +1 -2
- package/dist/core/InferenceCall.js.map +1 -1
- package/dist/core/InferenceCall.sql +29 -0
- package/dist/core/KillHandler.d.ts +1 -0
- package/dist/core/KillHandler.d.ts.map +1 -1
- package/dist/core/KillHandler.js +24 -21
- package/dist/core/KillHandler.js.map +1 -1
- package/dist/core/LogBody.d.ts +8 -1
- package/dist/core/LogBody.d.ts.map +1 -1
- package/dist/core/LogBody.js +44 -12
- package/dist/core/LogBody.js.map +1 -1
- package/dist/core/LogEntryProjection.d.ts +1 -0
- package/dist/core/LogEntryProjection.d.ts.map +1 -1
- package/dist/core/LogEntryProjection.js +12 -10
- package/dist/core/LogEntryProjection.js.map +1 -1
- package/dist/core/LogVisibility.d.ts +1 -0
- package/dist/core/LogVisibility.d.ts.map +1 -1
- package/dist/core/LogVisibility.js +3 -0
- package/dist/core/LogVisibility.js.map +1 -1
- package/dist/core/LogWriter.d.ts +2 -3
- package/dist/core/LogWriter.d.ts.map +1 -1
- package/dist/core/LogWriter.js +31 -36
- package/dist/core/LogWriter.js.map +1 -1
- package/dist/core/LogWriter.sql +23 -0
- package/dist/core/LoopDriver.d.ts +11 -8
- package/dist/core/LoopDriver.d.ts.map +1 -1
- package/dist/core/LoopDriver.js +161 -189
- package/dist/core/LoopDriver.js.map +1 -1
- package/dist/core/LoopDriver.sql +11 -0
- package/dist/core/LoopLifecycle.d.ts +32 -2
- package/dist/core/LoopLifecycle.d.ts.map +1 -1
- package/dist/core/LoopLifecycle.js +88 -4
- package/dist/core/LoopLifecycle.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +145 -28
- package/dist/core/LoopPolicyReader.sql +6 -0
- package/dist/core/MembershipMaterialization.d.ts.map +1 -1
- package/dist/core/MembershipMaterialization.js +6 -28
- package/dist/core/MembershipMaterialization.js.map +1 -1
- package/dist/core/ModelCall.d.ts.map +1 -1
- package/dist/core/ModelCall.js +2 -6
- package/dist/core/ModelCall.js.map +1 -1
- package/dist/core/ModelCall.sql +41 -0
- package/dist/core/MutationEffects.d.ts +5 -3
- package/dist/core/MutationEffects.d.ts.map +1 -1
- package/dist/core/MutationEffects.js +10 -28
- package/dist/core/MutationEffects.js.map +1 -1
- package/dist/core/NativeContent.d.ts +6 -0
- package/dist/core/NativeContent.d.ts.map +1 -0
- package/dist/core/NativeContent.js +16 -0
- package/dist/core/NativeContent.js.map +1 -0
- package/dist/core/NativeContent.sql +6 -0
- package/dist/core/NoticeChannel.js +1 -1
- package/dist/core/NoticeChannel.js.map +1 -1
- package/dist/core/OperatorConfig.js +5 -5
- package/dist/core/OperatorConfig.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts +8 -5
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +117 -81
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/PacketBuilder.sql +146 -0
- package/dist/core/PatternSelection.d.ts +28 -0
- package/dist/core/PatternSelection.d.ts.map +1 -0
- package/dist/core/PatternSelection.js +42 -0
- package/dist/core/PatternSelection.js.map +1 -0
- package/dist/core/ProblemLog.d.ts.map +1 -1
- package/dist/core/ProblemLog.js +0 -1
- package/dist/core/ProblemLog.js.map +1 -1
- package/dist/core/PromptFrames.d.ts +12 -0
- package/dist/core/PromptFrames.d.ts.map +1 -0
- package/dist/core/PromptFrames.js +28 -0
- package/dist/core/PromptFrames.js.map +1 -0
- package/dist/core/ProposalLifecycle.d.ts +0 -1
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +26 -23
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProposalLifecycle.sql +33 -0
- package/dist/core/ProviderInstantiate.d.ts +1 -1
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +7 -14
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/ReasoningView.d.ts +9 -0
- package/dist/core/ReasoningView.d.ts.map +1 -0
- package/dist/core/ReasoningView.js +47 -0
- package/dist/core/ReasoningView.js.map +1 -0
- package/dist/core/ResourceBindings.d.ts +16 -0
- package/dist/core/ResourceBindings.d.ts.map +1 -0
- package/dist/core/ResourceBindings.js +45 -0
- package/dist/core/ResourceBindings.js.map +1 -0
- package/dist/core/ResourceMutations.d.ts +5 -8
- package/dist/core/ResourceMutations.d.ts.map +1 -1
- package/dist/core/ResourceMutations.js +6 -7
- package/dist/core/ResourceMutations.js.map +1 -1
- package/dist/core/ResourceSelector.d.ts +2 -2
- package/dist/core/ResourceSelector.d.ts.map +1 -1
- package/dist/core/ResourceSelector.js +122 -62
- package/dist/core/ResourceSelector.js.map +1 -1
- package/dist/core/ResourceTransfers.d.ts +4 -2
- package/dist/core/ResourceTransfers.d.ts.map +1 -1
- package/dist/core/ResourceTransfers.js +95 -26
- package/dist/core/ResourceTransfers.js.map +1 -1
- package/dist/core/RuntimeWorker.d.ts +5 -0
- package/dist/core/RuntimeWorker.d.ts.map +1 -0
- package/dist/core/RuntimeWorker.js +15 -0
- package/dist/core/RuntimeWorker.js.map +1 -0
- package/dist/core/RuntimeWorker.sql +11 -0
- package/dist/core/SchemeRegistry.d.ts +12 -16
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +59 -85
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/StoredPacket.d.ts +6 -1
- package/dist/core/StoredPacket.d.ts.map +1 -1
- package/dist/core/StoredPacket.js +30 -10
- package/dist/core/StoredPacket.js.map +1 -1
- package/dist/core/StrikeRail.d.ts +11 -8
- package/dist/core/StrikeRail.d.ts.map +1 -1
- package/dist/core/StrikeRail.js +63 -114
- package/dist/core/StrikeRail.js.map +1 -1
- package/dist/core/StrikeRail.sql +12 -0
- package/dist/core/TerminalResult.d.ts +1 -1
- package/dist/core/TerminalResult.d.ts.map +1 -1
- package/dist/core/TerminalResult.js +2 -2
- package/dist/core/TerminalResult.js.map +1 -1
- package/dist/core/TokenCalibration.d.ts +1 -6
- package/dist/core/TokenCalibration.d.ts.map +1 -1
- package/dist/core/TokenCalibration.js +13 -9
- package/dist/core/TokenCalibration.js.map +1 -1
- package/dist/core/TokenCalibration.sql +15 -0
- package/dist/core/ToolInputSchema.d.ts +6 -0
- package/dist/core/ToolInputSchema.d.ts.map +1 -0
- package/dist/core/ToolInputSchema.js +43 -0
- package/dist/core/ToolInputSchema.js.map +1 -0
- package/dist/core/ToolResources.d.ts.map +1 -1
- package/dist/core/ToolResources.js +77 -51
- package/dist/core/ToolResources.js.map +1 -1
- package/dist/core/Turn.d.ts +5 -2
- package/dist/core/Turn.d.ts.map +1 -1
- package/dist/core/Turn.js +13 -11
- package/dist/core/Turn.js.map +1 -1
- package/dist/core/Turn.sql +25 -39
- package/dist/core/{SendBroadcastHandler.d.ts → TurnDispositionHandler.d.ts} +24 -18
- package/dist/core/TurnDispositionHandler.d.ts.map +1 -0
- package/dist/core/TurnDispositionHandler.js +206 -0
- package/dist/core/TurnDispositionHandler.js.map +1 -0
- package/dist/core/TurnMaterialization.d.ts +2 -3
- package/dist/core/TurnMaterialization.d.ts.map +1 -1
- package/dist/core/TurnMaterialization.js +47 -24
- package/dist/core/TurnMaterialization.js.map +1 -1
- package/dist/core/TurnMaterialization.sql +44 -0
- package/dist/core/TurnOps.d.ts.map +1 -1
- package/dist/core/TurnOps.js +8 -64
- package/dist/core/TurnOps.js.map +1 -1
- package/dist/core/TurnRunner.d.ts +8 -15
- package/dist/core/TurnRunner.d.ts.map +1 -1
- package/dist/core/TurnRunner.js +1175 -1317
- package/dist/core/TurnRunner.js.map +1 -1
- package/dist/core/TurnRunner.sql +74 -0
- package/dist/core/TurnSources.sql +39 -0
- package/dist/core/WorkerControlAddress.d.ts +1 -0
- package/dist/core/WorkerControlAddress.d.ts.map +1 -1
- package/dist/core/WorkerControlAddress.js +5 -0
- package/dist/core/WorkerControlAddress.js.map +1 -1
- package/dist/core/WorkerControlHandler.d.ts +1 -3
- package/dist/core/WorkerControlHandler.d.ts.map +1 -1
- package/dist/core/WorkerControlHandler.js +64 -48
- package/dist/core/WorkerControlHandler.js.map +1 -1
- package/dist/core/WorkerName.d.ts +11 -12
- package/dist/core/WorkerName.d.ts.map +1 -1
- package/dist/core/WorkerName.js +40 -47
- package/dist/core/WorkerName.js.map +1 -1
- package/dist/core/WorkerName.sql +7 -10
- package/dist/core/WorkspaceGate.d.ts +1 -1
- package/dist/core/WorkspaceGate.d.ts.map +1 -1
- package/dist/core/WorkspaceGate.js +33 -10
- package/dist/core/WorkspaceGate.js.map +1 -1
- package/dist/core/ambient.sql +236 -0
- package/dist/core/attachments.d.ts +2 -1
- package/dist/core/attachments.d.ts.map +1 -1
- package/dist/core/attachments.js +5 -4
- package/dist/core/attachments.js.map +1 -1
- package/dist/core/caps/CapsResolve.d.ts +2 -3
- package/dist/core/caps/CapsResolve.d.ts.map +1 -1
- package/dist/core/caps/CapsResolve.js +5 -5
- package/dist/core/caps/CapsResolve.js.map +1 -1
- package/dist/core/caps/DbChannelCaps.d.ts +1 -1
- package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
- package/dist/core/caps/DbChannelCaps.js +4 -6
- package/dist/core/caps/DbChannelCaps.js.map +1 -1
- package/dist/core/caps/DbEntryCaps.d.ts +2 -1
- package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
- package/dist/core/caps/DbEntryCaps.js +11 -17
- package/dist/core/caps/DbEntryCaps.js.map +1 -1
- package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
- package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
- package/dist/core/caps/DbNotifyCaps.js +3 -5
- package/dist/core/caps/DbNotifyCaps.js.map +1 -1
- package/dist/core/caps/DbProjectionCaps.js +1 -1
- package/dist/core/caps/DbProjectionCaps.js.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.d.ts +1 -1
- package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.js +5 -7
- package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.d.ts +0 -2
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +4 -20
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
- package/dist/core/env-catalog.d.ts +28 -0
- package/dist/core/env-catalog.d.ts.map +1 -0
- package/dist/core/env-catalog.js +99 -0
- package/dist/core/env-catalog.js.map +1 -0
- package/dist/core/env-defaults.d.ts.map +1 -1
- package/dist/core/env-defaults.js +4 -2
- package/dist/core/env-defaults.js.map +1 -1
- package/dist/core/file-materialization.d.ts +4 -1
- package/dist/core/file-materialization.d.ts.map +1 -1
- package/dist/core/file-materialization.js +15 -1
- package/dist/core/file-materialization.js.map +1 -1
- package/dist/core/fork.d.ts +1 -6
- package/dist/core/fork.d.ts.map +1 -1
- package/dist/core/fork.js +9 -153
- package/dist/core/fork.js.map +1 -1
- package/dist/core/fork.sql +162 -185
- package/dist/core/git-env.d.ts +1 -0
- package/dist/core/git-env.d.ts.map +1 -1
- package/dist/core/git-env.js +39 -2
- package/dist/core/git-env.js.map +1 -1
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +64 -48
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/git-state.d.ts.map +1 -1
- package/dist/core/git-state.js +26 -20
- package/dist/core/git-state.js.map +1 -1
- package/dist/core/glob_match.d.ts +4 -0
- package/dist/core/glob_match.d.ts.map +1 -0
- package/dist/core/glob_match.js +7 -0
- package/dist/core/glob_match.js.map +1 -0
- package/dist/core/maintenance.sql +6 -0
- package/dist/core/mutation-types.d.ts +7 -28
- package/dist/core/mutation-types.d.ts.map +1 -1
- package/dist/core/operation-target-groups.d.ts.map +1 -1
- package/dist/core/operation-target-groups.js +2 -1
- package/dist/core/operation-target-groups.js.map +1 -1
- package/dist/core/packet-inject.d.ts.map +1 -1
- package/dist/core/packet-inject.js +2 -3
- package/dist/core/packet-inject.js.map +1 -1
- package/dist/core/packet-wire.d.ts +8 -6
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +381 -388
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +1 -1
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +5 -12
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/scheme-types.d.ts +3 -3
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/scheme-types.js.map +1 -1
- package/dist/core/sha256.d.ts +4 -0
- package/dist/core/sha256.d.ts.map +1 -0
- package/dist/core/sha256.js +6 -0
- package/dist/core/sha256.js.map +1 -0
- package/dist/core/teaching.js +1 -1
- package/dist/core/teaching.js.map +1 -1
- package/dist/core/turn-scheduler.d.ts.map +1 -1
- package/dist/core/turn-scheduler.js +5 -18
- package/dist/core/turn-scheduler.js.map +1 -1
- package/dist/core/turn-signals.d.ts +0 -6
- package/dist/core/turn-signals.d.ts.map +1 -1
- package/dist/core/turn-signals.js +1 -7
- package/dist/core/turn-signals.js.map +1 -1
- package/dist/core/worker-ops.sql +15 -22
- package/dist/core/workspace-settings.d.ts.map +1 -1
- package/dist/core/workspace-settings.js +18 -2
- package/dist/core/workspace-settings.js.map +1 -1
- package/dist/core/workspace-settings.sql +6 -0
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +30 -91
- package/dist/digest/Digest.js.map +1 -1
- package/dist/digest/DigestRender.d.ts +1 -0
- package/dist/digest/DigestRender.d.ts.map +1 -1
- package/dist/digest/DigestRender.js +58 -62
- package/dist/digest/DigestRender.js.map +1 -1
- package/dist/digest/digest-rows.d.ts +16 -32
- package/dist/digest/digest-rows.d.ts.map +1 -1
- package/dist/digest/digest.sql +54 -20
- package/dist/schemes/Exec.d.ts +6 -12
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +318 -215
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.d.ts +8 -6
- package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +33 -61
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/ExecScheduler.js +2 -2
- package/dist/schemes/ExecScheduler.js.map +1 -1
- package/dist/schemes/ExecutionInput.d.ts +12 -0
- package/dist/schemes/ExecutionInput.d.ts.map +1 -0
- package/dist/schemes/ExecutionInput.js +94 -0
- package/dist/schemes/ExecutionInput.js.map +1 -0
- package/dist/schemes/File.d.ts +5 -2
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +62 -91
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +84 -79
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +183 -15
- package/dist/schemes/Prompt.d.ts.map +1 -1
- package/dist/schemes/Prompt.js +3 -12
- package/dist/schemes/Prompt.js.map +1 -1
- package/dist/schemes/QuestionTool.d.ts +5 -0
- package/dist/schemes/QuestionTool.d.ts.map +1 -1
- package/dist/schemes/QuestionTool.js +7 -15
- package/dist/schemes/QuestionTool.js.map +1 -1
- package/dist/schemes/Skill.d.ts +12 -7
- package/dist/schemes/Skill.d.ts.map +1 -1
- package/dist/schemes/Skill.js +149 -21
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/TurnSource.d.ts +12 -0
- package/dist/schemes/TurnSource.d.ts.map +1 -0
- package/dist/schemes/TurnSource.js +117 -0
- package/dist/schemes/TurnSource.js.map +1 -0
- package/dist/schemes/Worker.d.ts +3 -3
- package/dist/schemes/Worker.d.ts.map +1 -1
- package/dist/schemes/Worker.js +61 -208
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +12 -15
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +63 -63
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +159 -45
- package/dist/schemes/_entry-find.d.ts +1 -3
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +111 -112
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-find.sql +22 -14
- package/dist/schemes/_entry-fts.d.ts +14 -0
- package/dist/schemes/_entry-fts.d.ts.map +1 -0
- package/dist/schemes/_entry-fts.js +82 -0
- package/dist/schemes/_entry-fts.js.map +1 -0
- package/dist/schemes/_entry-fts.sql +31 -0
- package/dist/schemes/_entry-graph.d.ts.map +1 -1
- package/dist/schemes/_entry-graph.js +6 -14
- package/dist/schemes/_entry-graph.js.map +1 -1
- package/dist/schemes/_entry-graph.sql +29 -44
- package/dist/schemes/_entry-manifest.d.ts +2 -1
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +20 -26
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-manifest.sql +26 -0
- package/dist/schemes/_entry-ops.d.ts +3 -5
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +30 -43
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-ops.sql +5 -6
- package/dist/schemes/_entry-readable.d.ts +8 -0
- package/dist/schemes/_entry-readable.d.ts.map +1 -0
- package/dist/schemes/_entry-readable.js +38 -0
- package/dist/schemes/_entry-readable.js.map +1 -0
- package/dist/schemes/_entry-send.d.ts +1 -1
- package/dist/schemes/_entry-send.d.ts.map +1 -1
- package/dist/schemes/_entry-send.js +3 -3
- package/dist/schemes/_entry-send.js.map +1 -1
- package/dist/schemes/_search-index.d.ts +5 -3
- package/dist/schemes/_search-index.d.ts.map +1 -1
- package/dist/schemes/_search-index.js +169 -160
- package/dist/schemes/_search-index.js.map +1 -1
- package/dist/schemes/_search-index.sql +47 -0
- package/dist/schemes/exec-abort.js +1 -1
- package/dist/schemes/exec-abort.js.map +1 -1
- package/dist/schemes/exec-env.d.ts +3 -0
- package/dist/schemes/exec-env.d.ts.map +1 -1
- package/dist/schemes/exec-env.js +66 -15
- package/dist/schemes/exec-env.js.map +1 -1
- package/dist/schemes/exec-runtime.d.ts +1 -1
- package/dist/schemes/exec-runtime.d.ts.map +1 -1
- package/dist/schemes/exec-runtime.js +1 -1
- package/dist/schemes/exec-runtime.js.map +1 -1
- package/dist/server/ClientReads.d.ts +2 -2
- package/dist/server/ClientReads.d.ts.map +1 -1
- package/dist/server/ClientReads.js +7 -9
- package/dist/server/ClientReads.js.map +1 -1
- package/dist/server/Daemon.d.ts +15 -21
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +165 -168
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DaemonModule.d.ts +29 -22
- package/dist/server/DaemonModule.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.d.ts +8 -21
- package/dist/server/DrainSupervisor.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.js +278 -306
- package/dist/server/DrainSupervisor.js.map +1 -1
- package/dist/server/EnvFunctionality.d.ts +43 -0
- package/dist/server/EnvFunctionality.d.ts.map +1 -0
- package/dist/server/EnvFunctionality.js +194 -0
- package/dist/server/EnvFunctionality.js.map +1 -0
- package/dist/server/Functionality.d.ts +12 -11
- package/dist/server/Functionality.d.ts.map +1 -1
- package/dist/server/Functionality.js +279 -142
- package/dist/server/Functionality.js.map +1 -1
- package/dist/server/FunctionalityManager.d.ts +5 -5
- package/dist/server/FunctionalityManager.d.ts.map +1 -1
- package/dist/server/FunctionalityManager.js +29 -57
- package/dist/server/FunctionalityManager.js.map +1 -1
- package/dist/server/MembersFunctionality.d.ts +5 -4
- package/dist/server/MembersFunctionality.d.ts.map +1 -1
- package/dist/server/MembersFunctionality.js +24 -38
- package/dist/server/MembersFunctionality.js.map +1 -1
- package/dist/server/PlurnkSkill.d.ts +11 -0
- package/dist/server/PlurnkSkill.d.ts.map +1 -0
- package/dist/server/PlurnkSkill.js +41 -0
- package/dist/server/PlurnkSkill.js.map +1 -0
- package/dist/server/Retention.d.ts +25 -0
- package/dist/server/Retention.d.ts.map +1 -0
- package/dist/server/Retention.js +57 -0
- package/dist/server/Retention.js.map +1 -0
- package/dist/server/Retention.sql +59 -0
- package/dist/server/ServiceModules.d.ts +5 -0
- package/dist/server/ServiceModules.d.ts.map +1 -0
- package/dist/server/ServiceModules.js +10 -0
- package/dist/server/ServiceModules.js.map +1 -0
- package/dist/server/SkillsFunctionality.d.ts +14 -19
- package/dist/server/SkillsFunctionality.d.ts.map +1 -1
- package/dist/server/SkillsFunctionality.js +102 -106
- package/dist/server/SkillsFunctionality.js.map +1 -1
- package/dist/server/WorkerModelResolver.d.ts +4 -0
- package/dist/server/WorkerModelResolver.d.ts.map +1 -1
- package/dist/server/WorkerModelResolver.js +72 -39
- package/dist/server/WorkerModelResolver.js.map +1 -1
- package/dist/server/WorkspaceCapabilities.d.ts +21 -0
- package/dist/server/WorkspaceCapabilities.d.ts.map +1 -0
- package/dist/server/{WorkerCapabilities.js → WorkspaceCapabilities.js} +40 -40
- package/dist/server/WorkspaceCapabilities.js.map +1 -0
- package/dist/server/WorkspaceResidency.d.ts +38 -0
- package/dist/server/WorkspaceResidency.d.ts.map +1 -0
- package/dist/server/WorkspaceResidency.js +226 -0
- package/dist/server/WorkspaceResidency.js.map +1 -0
- package/dist/server/client-input.d.ts +1 -4
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +5 -46
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
- package/dist/server/dispatch-as-plurnk.js +4 -22
- package/dist/server/dispatch-as-plurnk.js.map +1 -1
- package/dist/server/drain.sql +66 -43
- package/dist/server/envelope.d.ts +8 -1
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +9 -19
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/envelope.sql +49 -13
- package/dist/server/lifecycle-recovery.sql +18 -20
- package/dist/server/logEntry.d.ts +1 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +4 -1
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/logEntry.sql +25 -1
- package/dist/server/loopDocs.d.ts +2 -2
- package/dist/server/loopDocs.d.ts.map +1 -1
- package/dist/server/loopDocs.js +38 -31
- package/dist/server/loopDocs.js.map +1 -1
- package/dist/server/loopDocs.sql +1 -3
- package/dist/server/model-catalog.d.ts.map +1 -1
- package/dist/server/model-catalog.js +2 -1
- package/dist/server/model-catalog.js.map +1 -1
- package/dist/server/model-route.d.ts +1 -1
- package/dist/server/model-route.d.ts.map +1 -1
- package/dist/server/model-route.js +4 -2
- package/dist/server/model-route.js.map +1 -1
- package/dist/server/seam-entry-read.sql +3 -4
- package/dist/server/seam-loop.sql +2 -9
- package/dist/server/workspace-capabilities.sql +64 -0
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +21 -18
- package/dist/service.js.map +1 -1
- package/docs/env.md +55 -0
- package/docs/members.md +83 -0
- package/docs/skills.md +50 -0
- package/migrations/001_workspaces.sql +53 -0
- package/migrations/002_workers.sql +198 -0
- package/migrations/003_loops.sql +326 -0
- package/migrations/004_inference.sql +401 -0
- package/migrations/005_entries.sql +215 -0
- package/migrations/006_log.sql +581 -0
- package/migrations/007_subscriptions.sql +175 -0
- package/migrations/008_interactions.sql +29 -0
- package/package.json +44 -41
- package/digest-sql/channel-dispositions/dispositions.sql +0 -15
- package/digest-sql/channel-state/state.sql +0 -6
- package/digest-sql/curation/curation.sql +0 -6
- package/digest-sql/derivations/derivations.sql +0 -4
- package/digest-sql/embeddings/embeddings.sql +0 -4
- package/digest-sql/entry-dispositions/dispositions.sql +0 -15
- package/digest-sql/entry-state/state.sql +0 -6
- package/digest-sql/token-counts/token-counts.sql +0 -2
- package/dist/core/EmbeddingCall.d.ts +0 -23
- package/dist/core/EmbeddingCall.d.ts.map +0 -1
- package/dist/core/EmbeddingCall.js +0 -149
- package/dist/core/EmbeddingCall.js.map +0 -1
- package/dist/core/OverflowTurn.d.ts +0 -11
- package/dist/core/OverflowTurn.d.ts.map +0 -1
- package/dist/core/OverflowTurn.js +0 -80
- package/dist/core/OverflowTurn.js.map +0 -1
- package/dist/core/Owner.d.ts +0 -8
- package/dist/core/Owner.d.ts.map +0 -1
- package/dist/core/Owner.js +0 -46
- package/dist/core/Owner.js.map +0 -1
- package/dist/core/SendBroadcastHandler.d.ts.map +0 -1
- package/dist/core/SendBroadcastHandler.js +0 -159
- package/dist/core/SendBroadcastHandler.js.map +0 -1
- package/dist/core/VectorPump.d.ts +0 -28
- package/dist/core/VectorPump.d.ts.map +0 -1
- package/dist/core/VectorPump.js +0 -130
- package/dist/core/VectorPump.js.map +0 -1
- package/dist/core/owner.sql +0 -11
- package/dist/core/worker-settings.d.ts +0 -10
- package/dist/core/worker-settings.d.ts.map +0 -1
- package/dist/core/worker-settings.js +0 -53
- package/dist/core/worker-settings.js.map +0 -1
- package/dist/schemes/_entry-chunk.d.ts +0 -14
- package/dist/schemes/_entry-chunk.d.ts.map +0 -1
- package/dist/schemes/_entry-chunk.js +0 -165
- package/dist/schemes/_entry-chunk.js.map +0 -1
- package/dist/schemes/_entry-semantic.d.ts +0 -63
- package/dist/schemes/_entry-semantic.d.ts.map +0 -1
- package/dist/schemes/_entry-semantic.js +0 -299
- package/dist/schemes/_entry-semantic.js.map +0 -1
- package/dist/schemes/_entry-semantic.sql +0 -99
- package/dist/schemes/cosine.d.ts +0 -4
- package/dist/schemes/cosine.d.ts.map +0 -1
- package/dist/schemes/cosine.js +0 -9
- package/dist/schemes/cosine.js.map +0 -1
- package/dist/server/WorkerCapabilities.d.ts +0 -21
- package/dist/server/WorkerCapabilities.d.ts.map +0 -1
- package/dist/server/WorkerCapabilities.js.map +0 -1
- package/dist/server/WorkerResidency.d.ts +0 -40
- package/dist/server/WorkerResidency.d.ts.map +0 -1
- package/dist/server/WorkerResidency.js +0 -283
- package/dist/server/WorkerResidency.js.map +0 -1
- package/dist/server/seam-log-read.sql +0 -21
- package/dist/server/worker-capabilities.sql +0 -28
- package/migrations/001_schema.sql +0 -2207
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
-- MIGRATE: 7 subscriptions
|
|
2
|
+
-- Chapter 7 of the schema baseline ({§db-schema-baseline}): Subscriptions to streams and their publication cursors.
|
|
3
|
+
-- Version numbers order the chapters on a fresh database; they are not history. A shape
|
|
4
|
+
-- change edits the chapter in place; existing development databases are recreated.
|
|
5
|
+
|
|
6
|
+
-- subscriptions
|
|
7
|
+
-- Durable subscription lifecycle per SPEC {§subscriptions}. The row records what
|
|
8
|
+
-- the worker holds and routes cancellation to a separate process-local callable;
|
|
9
|
+
-- it never serializes that callable. Closed rows persist for forensics; partial
|
|
10
|
+
-- unique index enforces one active subscription per entry. Causal worker and
|
|
11
|
+
-- resource owner may differ within the same workspace ({§runtime-resource-binding}).
|
|
12
|
+
CREATE TABLE IF NOT EXISTS subscriptions (
|
|
13
|
+
id INTEGER NOT NULL PRIMARY KEY,
|
|
14
|
+
version INTEGER NOT NULL DEFAULT 0 CHECK (version >= 0),
|
|
15
|
+
worker_id INTEGER,
|
|
16
|
+
entry_id INTEGER NOT NULL,
|
|
17
|
+
scheme TEXT NOT NULL CHECK (length(scheme) > 0),
|
|
18
|
+
handle TEXT NOT NULL CHECK (length(handle) > 0),
|
|
19
|
+
published_channel TEXT CHECK (published_channel IS NULL OR length(published_channel) > 0),
|
|
20
|
+
source TEXT CHECK (source IS NULL OR length(source) > 0),
|
|
21
|
+
opened_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
|
|
22
|
+
-- Execution `<T,P>` poll policy: NULL = default backoff, 0 = disabled, positive = fixed cadence.
|
|
23
|
+
-- While the owning loop hibernates (202), an armed policy wakes it to inspect the stream ({§exec-poll}).
|
|
24
|
+
poll_seconds INTEGER CHECK (poll_seconds IS NULL OR poll_seconds >= 0),
|
|
25
|
+
-- Execution `<0>` — turn-scoped: the stream is reaped at the worker's next pre-turn so it never survives
|
|
26
|
+
-- into the subsequent turn; its terminal output surfaces initially visible like any conclusion. {§exec-poll}
|
|
27
|
+
turn_scoped INTEGER NOT NULL DEFAULT 0 CHECK (turn_scoped IN (0, 1)),
|
|
28
|
+
-- {§worker-obligations}: a `<-1>` spawn outlives its loop and is nobody's obligation ({§exec-timeout}).
|
|
29
|
+
detached INTEGER NOT NULL DEFAULT 0 CHECK (detached IN (0, 1)),
|
|
30
|
+
closed_at TEXT,
|
|
31
|
+
close_status INTEGER CHECK (close_status IS NULL OR (close_status BETWEEN 100 AND 599)),
|
|
32
|
+
close_result TEXT CHECK (close_result IS NULL OR json_valid(close_result)),
|
|
33
|
+
channel_results TEXT CHECK (channel_results IS NULL OR json_valid(channel_results)),
|
|
34
|
+
CHECK ((closed_at IS NULL AND close_status IS NULL AND close_result IS NULL AND channel_results IS NULL)
|
|
35
|
+
OR (closed_at IS NOT NULL AND close_status IS NOT NULL AND close_result IS NOT NULL AND channel_results IS NOT NULL)),
|
|
36
|
+
CHECK (worker_id IS NOT NULL OR closed_at IS NOT NULL),
|
|
37
|
+
FOREIGN KEY (worker_id) REFERENCES workers(id) ON DELETE SET NULL,
|
|
38
|
+
FOREIGN KEY (entry_id) REFERENCES entries(id) ON DELETE CASCADE
|
|
39
|
+
) STRICT;
|
|
40
|
+
|
|
41
|
+
CREATE TRIGGER IF NOT EXISTS subscriptions_workspace_insert
|
|
42
|
+
BEFORE INSERT ON subscriptions
|
|
43
|
+
WHEN NOT EXISTS (
|
|
44
|
+
SELECT 1 FROM entries e
|
|
45
|
+
JOIN workers caller ON caller.id = NEW.worker_id
|
|
46
|
+
WHERE e.id = NEW.entry_id AND e.workspace_id = caller.workspace_id
|
|
47
|
+
)
|
|
48
|
+
BEGIN
|
|
49
|
+
SELECT RAISE(ABORT, 'subscription and resource must share a workspace');
|
|
50
|
+
END;
|
|
51
|
+
|
|
52
|
+
CREATE TRIGGER IF NOT EXISTS subscriptions_identity_update
|
|
53
|
+
BEFORE UPDATE OF worker_id, entry_id, scheme, source ON subscriptions
|
|
54
|
+
WHEN NEW.entry_id != OLD.entry_id OR NEW.scheme != OLD.scheme OR NEW.source IS NOT OLD.source
|
|
55
|
+
OR (NEW.worker_id IS NOT OLD.worker_id AND NOT (NEW.worker_id IS NULL AND NEW.closed_at IS NOT NULL))
|
|
56
|
+
BEGIN
|
|
57
|
+
SELECT RAISE(ABORT, 'subscription identity is immutable');
|
|
58
|
+
END;
|
|
59
|
+
|
|
60
|
+
CREATE UNIQUE INDEX IF NOT EXISTS subscriptions_active_one_per_entry
|
|
61
|
+
ON subscriptions (entry_id)
|
|
62
|
+
WHERE closed_at IS NULL;
|
|
63
|
+
|
|
64
|
+
-- {§db-fk-indexes} Worker and entry deletion, and every by-worker stream lookup, otherwise scan all subscriptions,
|
|
65
|
+
-- closed ones included; the active-only partial indexes above do not cover foreign-key checks.
|
|
66
|
+
CREATE INDEX IF NOT EXISTS subscriptions_worker_id ON subscriptions (worker_id) WHERE worker_id IS NOT NULL;
|
|
67
|
+
|
|
68
|
+
CREATE INDEX IF NOT EXISTS subscriptions_entry_id ON subscriptions (entry_id);
|
|
69
|
+
|
|
70
|
+
CREATE TRIGGER IF NOT EXISTS subscriptions_result_contract_insert
|
|
71
|
+
BEFORE INSERT ON subscriptions
|
|
72
|
+
WHEN NEW.closed_at IS NOT NULL
|
|
73
|
+
OR NEW.close_status IS NOT NULL
|
|
74
|
+
OR NEW.close_result IS NOT NULL
|
|
75
|
+
OR NEW.channel_results IS NOT NULL
|
|
76
|
+
BEGIN
|
|
77
|
+
SELECT RAISE(ABORT, 'subscription must open before it can settle');
|
|
78
|
+
END;
|
|
79
|
+
|
|
80
|
+
CREATE TRIGGER IF NOT EXISTS subscriptions_result_contract_update
|
|
81
|
+
BEFORE UPDATE OF closed_at, close_status, close_result, channel_results ON subscriptions
|
|
82
|
+
WHEN NOT (
|
|
83
|
+
(NEW.closed_at IS NULL AND NEW.close_status IS NULL AND NEW.close_result IS NULL AND NEW.channel_results IS NULL)
|
|
84
|
+
OR (
|
|
85
|
+
NEW.closed_at IS NOT NULL
|
|
86
|
+
AND NEW.close_status IS NOT NULL
|
|
87
|
+
AND NEW.close_result IS NOT NULL
|
|
88
|
+
AND NEW.channel_results IS NOT NULL
|
|
89
|
+
AND json_valid(NEW.close_result)
|
|
90
|
+
AND json_valid(NEW.channel_results)
|
|
91
|
+
AND json_type(NEW.channel_results) = 'object'
|
|
92
|
+
AND json_type(NEW.close_result, '$.status') = 'integer'
|
|
93
|
+
AND json_extract(NEW.close_result, '$.status') = NEW.close_status
|
|
94
|
+
AND (
|
|
95
|
+
(NEW.close_status < 400 AND json_type(NEW.close_result, '$.problem') IS NULL)
|
|
96
|
+
OR (
|
|
97
|
+
NEW.close_status >= 400
|
|
98
|
+
AND json_type(NEW.close_result, '$.problem') = 'object'
|
|
99
|
+
AND json_extract(NEW.close_result, '$.problem.status') = NEW.close_status
|
|
100
|
+
)
|
|
101
|
+
)
|
|
102
|
+
)
|
|
103
|
+
)
|
|
104
|
+
BEGIN
|
|
105
|
+
SELECT RAISE(ABORT, 'subscription terminal result violates the operation-result contract');
|
|
106
|
+
END;
|
|
107
|
+
|
|
108
|
+
-- A settlement may override the universal result for exact named channels.
|
|
109
|
+
-- Unknown channels and malformed results fail before the subscription or any
|
|
110
|
+
-- representation changes. The JS boundary additionally rejects projection
|
|
111
|
+
-- fields that are structurally unavailable in ChannelProducerResult.
|
|
112
|
+
CREATE TRIGGER IF NOT EXISTS subscriptions_channel_results_contract
|
|
113
|
+
BEFORE UPDATE OF closed_at, close_status, close_result, channel_results ON subscriptions
|
|
114
|
+
WHEN NEW.closed_at IS NOT NULL AND (
|
|
115
|
+
EXISTS (
|
|
116
|
+
SELECT 1
|
|
117
|
+
FROM json_each(NEW.channel_results) AS channel_result
|
|
118
|
+
LEFT JOIN entry_channels ec
|
|
119
|
+
ON ec.entry_id = NEW.entry_id AND ec.name = channel_result.key
|
|
120
|
+
WHERE ec.name IS NULL
|
|
121
|
+
OR json_type(channel_result.value) != 'object'
|
|
122
|
+
OR json_type(channel_result.value, '$.status') != 'integer'
|
|
123
|
+
OR json_extract(channel_result.value, '$.status') NOT BETWEEN 200 AND 599
|
|
124
|
+
OR json_extract(channel_result.value, '$.status') = 202
|
|
125
|
+
OR (
|
|
126
|
+
json_extract(channel_result.value, '$.status') < 400
|
|
127
|
+
AND json_type(channel_result.value, '$.problem') IS NOT NULL
|
|
128
|
+
)
|
|
129
|
+
OR (
|
|
130
|
+
json_extract(channel_result.value, '$.status') >= 400
|
|
131
|
+
AND (
|
|
132
|
+
json_type(channel_result.value, '$.problem') != 'object'
|
|
133
|
+
OR json_extract(channel_result.value, '$.problem.status')
|
|
134
|
+
!= json_extract(channel_result.value, '$.status')
|
|
135
|
+
)
|
|
136
|
+
)
|
|
137
|
+
)
|
|
138
|
+
)
|
|
139
|
+
BEGIN
|
|
140
|
+
SELECT RAISE(ABORT, 'subscription channel result violates the channel producer contract');
|
|
141
|
+
END;
|
|
142
|
+
|
|
143
|
+
-- One durable publication cursor per selected subscription channel. Log rows
|
|
144
|
+
-- are curated model context and therefore cannot own this lifecycle fact.
|
|
145
|
+
-- The row survives KILLing any generated observation and disappears only with
|
|
146
|
+
-- its subscription. {§exec-stream}
|
|
147
|
+
-- {§worker-obligations}: what a worker still holds — an open stream that is not detached, or a
|
|
148
|
+
-- child with an unresolved loop (the same liveness the Delegation section shows, so the 409 gate
|
|
149
|
+
-- and the section the model reads never disagree, {§child-orientation}). The one definition the
|
|
150
|
+
-- completion gate, the wait matrix, and the drain's wake settlement all read.
|
|
151
|
+
CREATE VIEW IF NOT EXISTS worker_obligations AS
|
|
152
|
+
SELECT w.id AS worker_id,
|
|
153
|
+
EXISTS (
|
|
154
|
+
SELECT 1 FROM subscriptions s
|
|
155
|
+
WHERE s.worker_id = w.id AND s.closed_at IS NULL AND s.detached = 0
|
|
156
|
+
) AS streams,
|
|
157
|
+
EXISTS (
|
|
158
|
+
SELECT 1 FROM workers c JOIN loops l ON l.worker_id = c.id
|
|
159
|
+
WHERE c.parent_worker_id = w.id AND l.status IN (100, 102, 202)
|
|
160
|
+
) AS workers
|
|
161
|
+
FROM workers w;
|
|
162
|
+
|
|
163
|
+
CREATE TABLE IF NOT EXISTS subscription_publications (
|
|
164
|
+
id INTEGER NOT NULL PRIMARY KEY,
|
|
165
|
+
version INTEGER NOT NULL DEFAULT 0 CHECK (version >= 0),
|
|
166
|
+
subscription_id INTEGER NOT NULL,
|
|
167
|
+
channel TEXT NOT NULL CHECK (length(channel) > 0),
|
|
168
|
+
published_end INTEGER NOT NULL DEFAULT 0 CHECK (published_end >= 0),
|
|
169
|
+
terminal_published INTEGER NOT NULL DEFAULT 0 CHECK (terminal_published IN (0, 1)),
|
|
170
|
+
UNIQUE (subscription_id, channel),
|
|
171
|
+
FOREIGN KEY (subscription_id) REFERENCES subscriptions(id) ON DELETE CASCADE
|
|
172
|
+
) STRICT;
|
|
173
|
+
|
|
174
|
+
CREATE INDEX IF NOT EXISTS subscription_publications_pending
|
|
175
|
+
ON subscription_publications (subscription_id, terminal_published);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
-- MIGRATE: 8 interactions
|
|
2
|
+
-- Chapter 8 of the schema baseline ({§db-schema-baseline}): Client interactions raised by a turn.
|
|
3
|
+
-- Version numbers order the chapters on a fresh database; they are not history. A shape
|
|
4
|
+
-- change edits the chapter in place; existing development databases are recreated.
|
|
5
|
+
|
|
6
|
+
-- {§client-interactions}: the durable discoverable half of a client-owned
|
|
7
|
+
-- interaction. The process-local lifecycle owner holds the awaiting callable;
|
|
8
|
+
-- this row holds only presentation and routing facts. Settlement deletes the
|
|
9
|
+
-- row, so client response payloads and owner-private continuation state are
|
|
10
|
+
-- never copied into persistence.
|
|
11
|
+
CREATE TABLE IF NOT EXISTS client_interactions (
|
|
12
|
+
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
13
|
+
worker_id INTEGER NOT NULL,
|
|
14
|
+
loop_id INTEGER NOT NULL,
|
|
15
|
+
turn_id INTEGER NOT NULL,
|
|
16
|
+
request TEXT NOT NULL CHECK (json_valid(request) AND json_type(request) = 'object'),
|
|
17
|
+
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
|
|
18
|
+
FOREIGN KEY (worker_id) REFERENCES workers(id) ON DELETE CASCADE,
|
|
19
|
+
FOREIGN KEY (loop_id) REFERENCES loops(id) ON DELETE CASCADE,
|
|
20
|
+
FOREIGN KEY (turn_id) REFERENCES turns(id) ON DELETE CASCADE
|
|
21
|
+
) STRICT;
|
|
22
|
+
|
|
23
|
+
CREATE INDEX IF NOT EXISTS client_interactions_worker_id_id
|
|
24
|
+
ON client_interactions (worker_id, id);
|
|
25
|
+
|
|
26
|
+
-- {§db-fk-indexes} Turn and loop inserts check interactions by their loop and turn.
|
|
27
|
+
CREATE INDEX IF NOT EXISTS client_interactions_loop_id ON client_interactions (loop_id);
|
|
28
|
+
|
|
29
|
+
CREATE INDEX IF NOT EXISTS client_interactions_turn_id ON client_interactions (turn_id);
|
package/package.json
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-service",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.0",
|
|
4
4
|
"description": "Plurnk agent runtime — the server / engine / core. Implements the @plurnk/plurnk-contracts contract.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"plurnk",
|
|
7
|
+
"agent",
|
|
8
|
+
"llm",
|
|
9
|
+
"daemon",
|
|
10
|
+
"agui",
|
|
11
|
+
"sqlite",
|
|
12
|
+
"harness"
|
|
13
|
+
],
|
|
5
14
|
"type": "module",
|
|
6
15
|
"license": "MIT",
|
|
7
16
|
"engines": {
|
|
@@ -26,7 +35,7 @@
|
|
|
26
35
|
"files": [
|
|
27
36
|
".env.defaults",
|
|
28
37
|
"dist/**/*",
|
|
29
|
-
"
|
|
38
|
+
"docs/**/*",
|
|
30
39
|
"migrations/**/*.sql",
|
|
31
40
|
"README.md",
|
|
32
41
|
"INSTALL.md",
|
|
@@ -45,17 +54,11 @@
|
|
|
45
54
|
"test:unit": "node --conditions=plurnk-dev --import=./test/setup.ts --env-file-if-exists=.env.defaults --test --test-timeout=30000 scripts/*.test.mjs src/**/*.test.ts",
|
|
46
55
|
"test:intg": "PLURNK_SERVICE_FILES_ITEMS=0 node --conditions=plurnk-dev --import=./test/setup.ts --env-file-if-exists=.env.defaults --test --test-concurrency=8 --test-timeout=30000 test/intg/*.test.ts",
|
|
47
56
|
"test:mcp:dogfood": "PLURNK_MCP_DOGFOOD=1 node --conditions=plurnk-dev --import=./test/setup.ts --env-file-if-exists=.env.defaults --test --test-concurrency=1 --test-timeout=120000 test/intg/mcp-agui-composition.test.ts",
|
|
48
|
-
"build:rail": "npm run build:gbnf -w @plurnk/plurnk-contracts",
|
|
49
|
-
"pretest:live": "npm run build:rail",
|
|
50
57
|
"test:live": "bash ../scripts/operator-environment.sh node --conditions=plurnk-dev scripts/live.mjs",
|
|
51
|
-
"pretest:live:specimen": "npm run build:rail",
|
|
52
58
|
"test:live:specimen": "bash ../scripts/operator-environment.sh node --conditions=plurnk-dev scripts/live.mjs --specimen",
|
|
53
59
|
"test:live:zeropin": "PLURNK_ZERO_PIN=1 npm run test:live",
|
|
54
|
-
"pretest:demo": "npm run build:rail",
|
|
55
60
|
"test:demo": "bash ../scripts/operator-environment.sh node --conditions=plurnk-dev scripts/demo.mjs",
|
|
56
|
-
"pretest:demo:specimen": "npm run build:rail",
|
|
57
61
|
"test:demo:specimen": "bash ../scripts/operator-environment.sh node --conditions=plurnk-dev scripts/demo.mjs --specimen",
|
|
58
|
-
"pretest:demo:zeropin": "npm run build:rail",
|
|
59
62
|
"test:demo:zeropin": "PLURNK_ZERO_PIN=1 npm run test:demo",
|
|
60
63
|
"test:benchlet": "bash ../scripts/operator-environment.sh node scripts/benchlet.mjs",
|
|
61
64
|
"fixture:demo": "node --conditions=plurnk-dev test/demo/_fixture.ts",
|
|
@@ -87,31 +90,29 @@
|
|
|
87
90
|
"@opentelemetry/resources": "^2.11.0",
|
|
88
91
|
"@opentelemetry/sdk-metrics": "^2.11.0",
|
|
89
92
|
"@opentelemetry/sdk-trace-base": "^2.11.0",
|
|
90
|
-
"@plurnk/
|
|
91
|
-
"@plurnk/plurnk-
|
|
92
|
-
"@plurnk/plurnk-
|
|
93
|
-
"@plurnk/plurnk-
|
|
94
|
-
"@plurnk/plurnk-execs": "1.
|
|
95
|
-
"@plurnk/plurnk-execs-common": "1.
|
|
96
|
-
"@plurnk/plurnk-execs-jq": "1.
|
|
97
|
-
"@plurnk/plurnk-execs-sqlite": "1.
|
|
98
|
-
"@plurnk/plurnk-hooks": "1.
|
|
99
|
-
"@plurnk/plurnk-mcp": "1.
|
|
100
|
-
"@plurnk/plurnk-meta": "1.
|
|
101
|
-
"@plurnk/plurnk-
|
|
102
|
-
"@plurnk/plurnk-mimetypes
|
|
103
|
-
"@plurnk/plurnk-mimetypes-application-
|
|
104
|
-
"@plurnk/plurnk-mimetypes-application-
|
|
105
|
-
"@plurnk/plurnk-mimetypes-application-
|
|
106
|
-
"@plurnk/plurnk-mimetypes-
|
|
93
|
+
"@plurnk/plurnk-a2a": "1.18.0",
|
|
94
|
+
"@plurnk/plurnk-agui": "1.18.0",
|
|
95
|
+
"@plurnk/plurnk-contracts": "1.18.0",
|
|
96
|
+
"@plurnk/plurnk-parser": "1.18.0",
|
|
97
|
+
"@plurnk/plurnk-execs": "1.18.0",
|
|
98
|
+
"@plurnk/plurnk-execs-common": "1.18.0",
|
|
99
|
+
"@plurnk/plurnk-execs-jq": "1.18.0",
|
|
100
|
+
"@plurnk/plurnk-execs-sqlite": "1.18.0",
|
|
101
|
+
"@plurnk/plurnk-hooks": "1.18.0",
|
|
102
|
+
"@plurnk/plurnk-mcp": "1.18.0",
|
|
103
|
+
"@plurnk/plurnk-meta": "1.18.0",
|
|
104
|
+
"@plurnk/plurnk-agent-skills": "1.18.0",
|
|
105
|
+
"@plurnk/plurnk-mimetypes": "1.18.0",
|
|
106
|
+
"@plurnk/plurnk-mimetypes-application-ipynb": "1.18.0",
|
|
107
|
+
"@plurnk/plurnk-mimetypes-application-json": "1.18.0",
|
|
108
|
+
"@plurnk/plurnk-mimetypes-application-jsonl": "1.18.0",
|
|
109
|
+
"@plurnk/plurnk-mimetypes-application-xml": "1.18.0",
|
|
107
110
|
"@plurnk/plurnk-mimetypes-grammar-bash": "1.16.1",
|
|
108
111
|
"@plurnk/plurnk-mimetypes-grammar-c": "1.16.1",
|
|
109
112
|
"@plurnk/plurnk-mimetypes-grammar-cpp": "1.16.1",
|
|
110
113
|
"@plurnk/plurnk-mimetypes-grammar-css": "1.16.1",
|
|
111
114
|
"@plurnk/plurnk-mimetypes-grammar-dart": "1.16.1",
|
|
112
115
|
"@plurnk/plurnk-mimetypes-grammar-elixir": "1.16.1",
|
|
113
|
-
"@plurnk/plurnk-mimetypes-grammar-fsharp": "1.16.1",
|
|
114
|
-
"@plurnk/plurnk-mimetypes-grammar-fsharp-signature": "1.16.1",
|
|
115
116
|
"@plurnk/plurnk-mimetypes-grammar-go": "1.16.1",
|
|
116
117
|
"@plurnk/plurnk-mimetypes-grammar-haskell": "1.16.1",
|
|
117
118
|
"@plurnk/plurnk-mimetypes-grammar-java": "1.16.1",
|
|
@@ -132,25 +133,27 @@
|
|
|
132
133
|
"@plurnk/plurnk-mimetypes-grammar-typescript": "1.16.1",
|
|
133
134
|
"@plurnk/plurnk-mimetypes-grammar-yaml": "1.16.1",
|
|
134
135
|
"@plurnk/plurnk-mimetypes-grammar-zig": "1.16.1",
|
|
135
|
-
"@plurnk/plurnk-mimetypes-
|
|
136
|
-
"@plurnk/plurnk-mimetypes-
|
|
137
|
-
"@plurnk/plurnk-mimetypes-text-
|
|
138
|
-
"@plurnk/plurnk-mimetypes-text-
|
|
139
|
-
"@plurnk/plurnk-mimetypes-text-
|
|
140
|
-
"@plurnk/plurnk-mimetypes-text-
|
|
141
|
-
"@plurnk/plurnk-mimetypes-text-
|
|
142
|
-
"@plurnk/plurnk-mimetypes-text-
|
|
143
|
-
"@plurnk/plurnk-
|
|
144
|
-
"@plurnk/plurnk-
|
|
145
|
-
"@plurnk/plurnk-
|
|
146
|
-
"@plurnk/plurnk-schemes
|
|
147
|
-
"@
|
|
136
|
+
"@plurnk/plurnk-mimetypes-application-pdf": "1.18.0",
|
|
137
|
+
"@plurnk/plurnk-mimetypes-image": "1.18.0",
|
|
138
|
+
"@plurnk/plurnk-mimetypes-text-csv": "1.18.0",
|
|
139
|
+
"@plurnk/plurnk-mimetypes-text-diff": "1.18.0",
|
|
140
|
+
"@plurnk/plurnk-mimetypes-text-dotenv": "1.18.0",
|
|
141
|
+
"@plurnk/plurnk-mimetypes-text-html": "1.18.0",
|
|
142
|
+
"@plurnk/plurnk-mimetypes-text-ini": "1.18.0",
|
|
143
|
+
"@plurnk/plurnk-mimetypes-text-markdown": "1.18.0",
|
|
144
|
+
"@plurnk/plurnk-mimetypes-text-plain": "1.18.0",
|
|
145
|
+
"@plurnk/plurnk-models": "1.18.0",
|
|
146
|
+
"@plurnk/plurnk-providers": "1.18.0",
|
|
147
|
+
"@plurnk/plurnk-schemes": "1.18.0",
|
|
148
|
+
"@plurnk/plurnk-schemes-http": "1.18.0",
|
|
149
|
+
"@plurnk/plurnk-schemes-http-tavily": "^1.8.0",
|
|
150
|
+
"@possumtech/sqlrite": "^6.5.3",
|
|
148
151
|
"diff": "^9.0.0",
|
|
149
152
|
"yaml": "^2.9.0"
|
|
150
153
|
},
|
|
151
154
|
"devDependencies": {
|
|
152
155
|
"@opentelemetry/core": "^2.11.0",
|
|
153
|
-
"@plurnk/plurnk-mimetypes-tokenizers": "1.
|
|
156
|
+
"@plurnk/plurnk-mimetypes-tokenizers": "1.18.0",
|
|
154
157
|
"@types/diff": "^7.0.2"
|
|
155
158
|
},
|
|
156
159
|
"homepage": "https://github.com/plurnk/plurnk-service/tree/main/plurnk-core#readme",
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
-- PREP: digest_channel_disposition_counts
|
|
2
|
-
SELECT d.disposition, COUNT(*) AS n
|
|
3
|
-
FROM entries e
|
|
4
|
-
JOIN entry_channels ec ON ec.entry_id = e.id
|
|
5
|
-
JOIN derivations d ON d.deep_hash = ec.deep_hash
|
|
6
|
-
GROUP BY d.disposition
|
|
7
|
-
ORDER BY d.disposition;
|
|
8
|
-
|
|
9
|
-
-- PREP: digest_channel_dispositions
|
|
10
|
-
SELECT e.scheme, e.authority, e.pathname, ec.name AS channel, d.disposition, d.reason
|
|
11
|
-
FROM entries e
|
|
12
|
-
JOIN entry_channels ec ON ec.entry_id = e.id
|
|
13
|
-
JOIN derivations d ON d.deep_hash = ec.deep_hash
|
|
14
|
-
WHERE d.disposition <> 'vector'
|
|
15
|
-
ORDER BY d.disposition, e.scheme, e.authority, e.pathname, channel;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
-- PREP: digest_entry_disposition_counts
|
|
2
|
-
SELECT d.disposition, COUNT(*) AS n
|
|
3
|
-
FROM entries e
|
|
4
|
-
JOIN entry_channels ec ON ec.entry_id = e.id AND ec.name = 'body'
|
|
5
|
-
JOIN derivations d ON d.deep_hash = e.deep_hash
|
|
6
|
-
GROUP BY d.disposition
|
|
7
|
-
ORDER BY d.disposition;
|
|
8
|
-
|
|
9
|
-
-- PREP: digest_entry_dispositions
|
|
10
|
-
SELECT e.scheme, e.authority, e.pathname, 'body' AS channel, d.disposition, d.reason
|
|
11
|
-
FROM entries e
|
|
12
|
-
JOIN entry_channels ec ON ec.entry_id = e.id AND ec.name = 'body'
|
|
13
|
-
JOIN derivations d ON d.deep_hash = e.deep_hash
|
|
14
|
-
WHERE d.disposition <> 'vector'
|
|
15
|
-
ORDER BY d.disposition, e.scheme, e.authority, e.pathname, channel;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { EmbedDocumentsOptions, EmbedDocumentsResult, EmbedQueryOptions, EmbedQueryResult, EmbeddingCallMetadata, Mimetypes } from "@plurnk/plurnk-mimetypes";
|
|
2
|
-
import type { Db } from "./Db.ts";
|
|
3
|
-
import InferenceCall from "./InferenceCall.ts";
|
|
4
|
-
export type EmbeddingCallKind = "embedding_query" | "embedding_documents";
|
|
5
|
-
type InferenceContext = {
|
|
6
|
-
readonly workspaceId: number;
|
|
7
|
-
readonly turnId: number | null;
|
|
8
|
-
};
|
|
9
|
-
export default class EmbeddingCall extends InferenceCall {
|
|
10
|
-
#private;
|
|
11
|
-
private constructor();
|
|
12
|
-
static open(db: Db, input: InferenceContext & {
|
|
13
|
-
kind: EmbeddingCallKind;
|
|
14
|
-
model: string;
|
|
15
|
-
inputCount: number;
|
|
16
|
-
}): Promise<EmbeddingCall>;
|
|
17
|
-
observeResponse(outputCount: number, metadata: EmbeddingCallMetadata): Promise<void>;
|
|
18
|
-
fail(cause: unknown): Promise<void>;
|
|
19
|
-
static query(db: Db, context: InferenceContext, mimetypes: Mimetypes, model: string, text: string, options?: Omit<EmbedQueryOptions, "observeRequest">): Promise<EmbedQueryResult>;
|
|
20
|
-
static documents(db: Db, context: InferenceContext, mimetypes: Mimetypes, model: string, texts: readonly string[], options?: Omit<EmbedDocumentsOptions, "observeRequest">): Promise<EmbedDocumentsResult>;
|
|
21
|
-
}
|
|
22
|
-
export {};
|
|
23
|
-
//# sourceMappingURL=EmbeddingCall.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddingCall.d.ts","sourceRoot":"","sources":["../../src/core/EmbeddingCall.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,SAAS,EACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,aAGN,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,qBAAqB,CAAC;AAE1E,KAAK,gBAAgB,GAAG;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AA6BF,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,aAAa;;IAGpD,OAAO,eAGN;IAED,OAAa,IAAI,CACb,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,gBAAgB,GAAG;QACtB,IAAI,EAAE,iBAAiB,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACtB,GACF,OAAO,CAAC,aAAa,CAAC,CAsBxB;IAEK,eAAe,CACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,qBAAqB,GAChC,OAAO,CAAC,IAAI,CAAC,CAkBf;IAEK,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAexC;IAED,OAAa,KAAK,CACd,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,CAAM,GACxD,OAAO,CAAC,gBAAgB,CAAC,CAkB3B;IAED,OAAa,SAAS,CAClB,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,CAAM,GAC5D,OAAO,CAAC,oBAAoB,CAAC,CAkB/B;CAoBJ"}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import InferenceCall, { InferenceCallPersistenceError, ProviderAccountingIntegrityError, } from "./InferenceCall.js";
|
|
2
|
-
const failureEvidence = (cause) => cause instanceof Error
|
|
3
|
-
? {
|
|
4
|
-
name: cause.name,
|
|
5
|
-
message: cause.message,
|
|
6
|
-
...(cause.cause === undefined ? {} : { cause: String(cause.cause) }),
|
|
7
|
-
}
|
|
8
|
-
: { name: "Error", message: String(cause) };
|
|
9
|
-
const errorAccounting = (cause) => {
|
|
10
|
-
if (typeof cause !== "object" || cause === null || !("accounting" in cause))
|
|
11
|
-
return null;
|
|
12
|
-
const accounting = cause.accounting;
|
|
13
|
-
return Array.isArray(accounting) ? accounting : null;
|
|
14
|
-
};
|
|
15
|
-
const persistenceFailure = (cause) => {
|
|
16
|
-
const seen = new Set();
|
|
17
|
-
let current = cause;
|
|
18
|
-
while (typeof current === "object" && current !== null && !seen.has(current)) {
|
|
19
|
-
if (current instanceof InferenceCallPersistenceError)
|
|
20
|
-
return current;
|
|
21
|
-
seen.add(current);
|
|
22
|
-
current = "cause" in current ? current.cause : undefined;
|
|
23
|
-
}
|
|
24
|
-
return null;
|
|
25
|
-
};
|
|
26
|
-
// Core-owned logical embedding inference. The artifact performs vector work;
|
|
27
|
-
// this class owns durable lifecycle and cardinal physical request evidence.
|
|
28
|
-
export default class EmbeddingCall extends InferenceCall {
|
|
29
|
-
#db;
|
|
30
|
-
constructor(db, id, sequence) {
|
|
31
|
-
super(db, id, sequence);
|
|
32
|
-
this.#db = db;
|
|
33
|
-
}
|
|
34
|
-
static async open(db, input) {
|
|
35
|
-
let row;
|
|
36
|
-
try {
|
|
37
|
-
row = await db.engine_open_embedding_call.get({
|
|
38
|
-
workspace_id: input.workspaceId,
|
|
39
|
-
turn_id: input.turnId,
|
|
40
|
-
kind: input.kind,
|
|
41
|
-
model: input.model,
|
|
42
|
-
});
|
|
43
|
-
if (row === undefined)
|
|
44
|
-
throw new Error("INSERT RETURNING produced no row");
|
|
45
|
-
const prepared = await db.engine_prepare_embedding_call.run({
|
|
46
|
-
id: row.id,
|
|
47
|
-
input_count: input.inputCount,
|
|
48
|
-
});
|
|
49
|
-
if (prepared.changes !== 1)
|
|
50
|
-
throw new Error(`embedding call ${row.id} was not prepared`);
|
|
51
|
-
}
|
|
52
|
-
catch (cause) {
|
|
53
|
-
throw new InferenceCallPersistenceError(`could not open ${input.kind} inference for workspace ${input.workspaceId}`, cause);
|
|
54
|
-
}
|
|
55
|
-
return new EmbeddingCall(db, row.id, row.sequence);
|
|
56
|
-
}
|
|
57
|
-
async observeResponse(outputCount, metadata) {
|
|
58
|
-
const { accounting, ...artifactMetadata } = metadata;
|
|
59
|
-
this.assertAccounting(accounting);
|
|
60
|
-
try {
|
|
61
|
-
const result = await this.#db.engine_observe_embedding_call_response.run({
|
|
62
|
-
id: this.id,
|
|
63
|
-
output_count: outputCount,
|
|
64
|
-
metadata: JSON.stringify(artifactMetadata),
|
|
65
|
-
});
|
|
66
|
-
if (result.changes !== 1) {
|
|
67
|
-
throw new Error(`embedding call ${this.id} was not pending`);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
catch (cause) {
|
|
71
|
-
throw new InferenceCallPersistenceError(`could not preserve response for embedding call ${this.id}`, cause);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
async fail(cause) {
|
|
75
|
-
try {
|
|
76
|
-
const result = await this.#db.engine_fail_embedding_call.run({
|
|
77
|
-
id: this.id,
|
|
78
|
-
failure: JSON.stringify(failureEvidence(cause)),
|
|
79
|
-
});
|
|
80
|
-
if (result.changes !== 1) {
|
|
81
|
-
throw new Error(`embedding call ${this.id} was not pending`);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
catch (persistenceCause) {
|
|
85
|
-
throw new InferenceCallPersistenceError(`could not preserve failure for embedding call ${this.id}`, persistenceCause);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
static async query(db, context, mimetypes, model, text, options = {}) {
|
|
89
|
-
const call = await EmbeddingCall.open(db, {
|
|
90
|
-
...context,
|
|
91
|
-
kind: "embedding_query",
|
|
92
|
-
model,
|
|
93
|
-
inputCount: 1,
|
|
94
|
-
});
|
|
95
|
-
try {
|
|
96
|
-
const result = await mimetypes.embedQuery(text, {
|
|
97
|
-
...options,
|
|
98
|
-
observeRequest: call.observeRequest,
|
|
99
|
-
});
|
|
100
|
-
await call.observeResponse(1, result.metadata);
|
|
101
|
-
return result;
|
|
102
|
-
}
|
|
103
|
-
catch (cause) {
|
|
104
|
-
await call.#closeFailure(cause);
|
|
105
|
-
throw cause;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
static async documents(db, context, mimetypes, model, texts, options = {}) {
|
|
109
|
-
const call = await EmbeddingCall.open(db, {
|
|
110
|
-
...context,
|
|
111
|
-
kind: "embedding_documents",
|
|
112
|
-
model,
|
|
113
|
-
inputCount: texts.length,
|
|
114
|
-
});
|
|
115
|
-
try {
|
|
116
|
-
const result = await mimetypes.embedDocuments(texts, {
|
|
117
|
-
...options,
|
|
118
|
-
observeRequest: call.observeRequest,
|
|
119
|
-
});
|
|
120
|
-
await call.observeResponse(result.vectors.length, result.metadata);
|
|
121
|
-
return result;
|
|
122
|
-
}
|
|
123
|
-
catch (cause) {
|
|
124
|
-
await call.#closeFailure(cause);
|
|
125
|
-
throw cause;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
async #closeFailure(cause) {
|
|
129
|
-
// The observer is the durability boundary. If it failed to open or
|
|
130
|
-
// settle a physical row, neither accounting comparison nor a second
|
|
131
|
-
// write may claim that the logical call closed. Restart recovery owns
|
|
132
|
-
// the remaining unknown boundary, exactly as it does for generation.
|
|
133
|
-
if (persistenceFailure(cause) !== null) {
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
const accounting = errorAccounting(cause);
|
|
137
|
-
try {
|
|
138
|
-
this.assertAccounting(accounting ?? []);
|
|
139
|
-
}
|
|
140
|
-
catch (integrityCause) {
|
|
141
|
-
await this.fail(integrityCause);
|
|
142
|
-
if (integrityCause instanceof ProviderAccountingIntegrityError)
|
|
143
|
-
throw integrityCause;
|
|
144
|
-
throw new ProviderAccountingIntegrityError(String(integrityCause));
|
|
145
|
-
}
|
|
146
|
-
await this.fail(cause);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
//# sourceMappingURL=EmbeddingCall.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddingCall.js","sourceRoot":"","sources":["../../src/core/EmbeddingCall.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type KillStatement, type PlanStatement, type SendStatement } from "@plurnk/plurnk-contracts";
|
|
2
|
-
import type { Db } from "./Db.ts";
|
|
3
|
-
export type OverflowKill = {
|
|
4
|
-
readonly statement: KillStatement;
|
|
5
|
-
};
|
|
6
|
-
export default class OverflowTurn {
|
|
7
|
-
static plan(db: Db, loopId: number, turnId: number): Promise<OverflowKill[]>;
|
|
8
|
-
static planStatement(): PlanStatement;
|
|
9
|
-
static sendStatement(): SendStatement;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=OverflowTurn.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OverflowTurn.d.ts","sourceRoot":"","sources":["../../src/core/OverflowTurn.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAErB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAkBlC,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CACrC,CAAC;AAoCF,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,OAAa,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmBjF;IAED,MAAM,CAAC,aAAa,IAAI,aAAa,CAUpC;IAED,MAAM,CAAC,aAAa,IAAI,aAAa,CAUpC;CACJ"}
|