@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
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
import Results from "./results.js";
|
|
2
2
|
import ErrorDetail from "./ErrorDetail.js";
|
|
3
|
+
export function taskTiming(row) {
|
|
4
|
+
if (row.scheduled_at === null)
|
|
5
|
+
return {};
|
|
6
|
+
return {
|
|
7
|
+
scheduledAt: new Date(row.scheduled_at).toISOString(),
|
|
8
|
+
...(row.repeat_interval_ms === null ? {} : {
|
|
9
|
+
intervalMinutes: row.repeat_interval_ms / 60_000,
|
|
10
|
+
recurrenceId: row.recurrence_root_loop_id ?? row.id,
|
|
11
|
+
}),
|
|
12
|
+
};
|
|
13
|
+
}
|
|
3
14
|
export default class LoopLifecycle {
|
|
4
15
|
#db;
|
|
16
|
+
#executions = new Map();
|
|
5
17
|
constructor(db) {
|
|
6
18
|
this.#db = db;
|
|
7
19
|
}
|
|
@@ -21,24 +33,87 @@ export default class LoopLifecycle {
|
|
|
21
33
|
return 500;
|
|
22
34
|
throw new TypeError(`loop terminal result must have status 200 through 599; got ${status}`);
|
|
23
35
|
}
|
|
24
|
-
async
|
|
36
|
+
async startExecution(loopId, budgetMs, onTimeout) {
|
|
37
|
+
if (this.#executions.has(loopId))
|
|
38
|
+
return true;
|
|
39
|
+
if (!Number.isSafeInteger(budgetMs) || budgetMs <= 0) {
|
|
40
|
+
throw new TypeError("loop execution allowance must be positive safe integer milliseconds");
|
|
41
|
+
}
|
|
42
|
+
const budget = await this.#db.lifecycle_execution_budget.get({ loop_id: loopId, budget_ms: budgetMs });
|
|
43
|
+
if (budget === undefined)
|
|
44
|
+
return false;
|
|
45
|
+
const started = performance.now();
|
|
46
|
+
const elapsed = () => budget.execution_elapsed_ms + performance.now() - started;
|
|
47
|
+
let timer;
|
|
48
|
+
const arm = () => {
|
|
49
|
+
const remaining = budget.execution_budget_ms - elapsed();
|
|
50
|
+
if (remaining <= 0)
|
|
51
|
+
onTimeout();
|
|
52
|
+
else
|
|
53
|
+
timer = setTimeout(arm, Math.min(2_147_483_647, Math.ceil(remaining))).unref();
|
|
54
|
+
};
|
|
55
|
+
this.#executions.set(loopId, {
|
|
56
|
+
workerId: budget.worker_id,
|
|
57
|
+
stop: () => {
|
|
58
|
+
clearTimeout(timer);
|
|
59
|
+
return elapsed();
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
arm();
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
#stopExecution(loopId) {
|
|
66
|
+
const execution = this.#executions.get(loopId);
|
|
67
|
+
if (execution === undefined)
|
|
68
|
+
return null;
|
|
69
|
+
this.#executions.delete(loopId);
|
|
70
|
+
return execution.stop();
|
|
71
|
+
}
|
|
72
|
+
async endExecution(loopId) {
|
|
73
|
+
const elapsed = this.#stopExecution(loopId);
|
|
74
|
+
if (elapsed !== null) {
|
|
75
|
+
await this.#db.lifecycle_checkpoint_execution.run({ loop_id: loopId, elapsed_ms: elapsed });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async park(loopId, timing = {}) {
|
|
79
|
+
const now = Date.now();
|
|
80
|
+
for (const value of [timing.timeoutMs, timing.pollMs]) {
|
|
81
|
+
if (value !== undefined && (!Number.isSafeInteger(value) || value < 0 || now + value > 8.64e15)) {
|
|
82
|
+
throw new TypeError("wait durations must be nonnegative safe integer milliseconds within the supported date range");
|
|
83
|
+
}
|
|
84
|
+
}
|
|
25
85
|
return (await this.#db.lifecycle_park_loop.get({
|
|
26
86
|
loop_id: loopId,
|
|
87
|
+
elapsed_ms: this.#stopExecution(loopId),
|
|
88
|
+
deadline_at: timing.timeoutMs === undefined ? null : now + timing.timeoutMs,
|
|
89
|
+
poll_interval: timing.pollMs ?? null,
|
|
90
|
+
poll_at: timing.pollMs === undefined || timing.pollMs === 0 ? null : now + timing.pollMs,
|
|
27
91
|
})) !== undefined;
|
|
28
92
|
}
|
|
29
|
-
async wake(loopId) {
|
|
93
|
+
async wake(loopId, condition = {}) {
|
|
30
94
|
return (await this.#db.lifecycle_wake_loop.get({
|
|
31
95
|
loop_id: loopId,
|
|
96
|
+
revision: condition.revision ?? null,
|
|
97
|
+
due_at: condition.dueAt ?? null,
|
|
98
|
+
event_only: condition.eventOnly === true ? 1 : 0,
|
|
32
99
|
})) !== undefined;
|
|
33
100
|
}
|
|
101
|
+
parked(workerId) {
|
|
102
|
+
return this.#db.lifecycle_parked_loops.all({ worker_id: workerId });
|
|
103
|
+
}
|
|
104
|
+
async inheritPoll(loopId, revision, pollAt) {
|
|
105
|
+
await this.#db.lifecycle_set_inherited_poll.run({ loop_id: loopId, revision, poll_at: pollAt });
|
|
106
|
+
}
|
|
34
107
|
async finish(loopId, result, options = {}) {
|
|
35
108
|
const exact = structuredClone(Results.assert(result));
|
|
36
109
|
if (exact.problem !== undefined && exact.problem.instance === undefined) {
|
|
37
110
|
Results.attachInstance(exact, `loop:///${loopId}`);
|
|
38
111
|
}
|
|
112
|
+
const status = LoopLifecycle.projectStatus(exact.status);
|
|
39
113
|
const row = await this.#db.lifecycle_finish_loop.get({
|
|
40
114
|
loop_id: loopId,
|
|
41
|
-
|
|
115
|
+
elapsed_ms: this.#stopExecution(loopId),
|
|
116
|
+
status,
|
|
42
117
|
result: JSON.stringify(exact),
|
|
43
118
|
terminated_by: options.terminatedBy ?? null,
|
|
44
119
|
});
|
|
@@ -93,7 +168,16 @@ export default class LoopLifecycle {
|
|
|
93
168
|
stage: "loop",
|
|
94
169
|
retryable: false,
|
|
95
170
|
});
|
|
96
|
-
const
|
|
171
|
+
const workerIds = new Set(workers.map(({ worker_id }) => worker_id));
|
|
172
|
+
const worker_ids = JSON.stringify([...workerIds]);
|
|
173
|
+
const executions = [...this.#executions].flatMap(([loopId, execution]) => workerIds.has(execution.workerId)
|
|
174
|
+
? [{ loop_id: loopId, elapsed_ms: this.#stopExecution(loopId) }]
|
|
175
|
+
: []);
|
|
176
|
+
if (executions.length > 0)
|
|
177
|
+
await this.#db.lifecycle_checkpoint_executions.run({ executions: JSON.stringify(executions) });
|
|
178
|
+
// {§worker-cancel-trigger} — one bound statement; the trigger retires the live loops inside it.
|
|
179
|
+
await this.#db.lifecycle_cancel_workers.run({ worker_ids, result: JSON.stringify(cancellation) });
|
|
180
|
+
const loops = await this.#db.lifecycle_cancelled_loops.all({ worker_cutoffs: JSON.stringify(workers) });
|
|
97
181
|
return {
|
|
98
182
|
workerIds: workers.map(({ worker_id }) => worker_id),
|
|
99
183
|
loops: loops.map(({ loop_id, worker_id, terminal_result }) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoopLifecycle.js","sourceRoot":"","sources":["../../src/core/LoopLifecycle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LoopLifecycle.js","sourceRoot":"","sources":["../../src/core/LoopLifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,60 @@
|
|
|
1
1
|
-- Durable loop lifecycle transitions. LoopLifecycle is the only TypeScript owner
|
|
2
|
-
-- of
|
|
2
|
+
-- of the transitions; callers request them rather than writing status. The loop's
|
|
3
|
+
-- identity read (engine_loop_sequence) is shared by every coordinate renderer.
|
|
4
|
+
|
|
5
|
+
-- PREP: lifecycle_execution_budget
|
|
6
|
+
UPDATE loops SET execution_budget_ms = COALESCE(execution_budget_ms, $budget_ms)
|
|
7
|
+
WHERE id = $loop_id AND status = 102
|
|
8
|
+
RETURNING worker_id, execution_budget_ms, execution_elapsed_ms;
|
|
9
|
+
|
|
10
|
+
-- PREP: lifecycle_checkpoint_execution
|
|
11
|
+
UPDATE loops SET execution_elapsed_ms = $elapsed_ms WHERE id = $loop_id;
|
|
3
12
|
|
|
4
13
|
-- PREP: lifecycle_park_loop
|
|
5
14
|
UPDATE loops
|
|
6
|
-
SET status = 202
|
|
15
|
+
SET status = 202,
|
|
16
|
+
execution_elapsed_ms = COALESCE($elapsed_ms, execution_elapsed_ms),
|
|
17
|
+
wait_revision = wait_revision + 1,
|
|
18
|
+
wait_deadline_at = $deadline_at,
|
|
19
|
+
wait_poll_interval = $poll_interval,
|
|
20
|
+
wait_poll_at = $poll_at
|
|
7
21
|
WHERE id = $loop_id AND status = 102
|
|
8
22
|
RETURNING id;
|
|
9
23
|
|
|
10
24
|
-- PREP: lifecycle_wake_loop
|
|
11
25
|
UPDATE loops
|
|
12
|
-
SET status = 100
|
|
26
|
+
SET status = 100,
|
|
27
|
+
wait_deadline_at = NULL,
|
|
28
|
+
wait_poll_interval = NULL,
|
|
29
|
+
wait_poll_at = NULL
|
|
13
30
|
WHERE id = $loop_id AND status = 202
|
|
31
|
+
AND ($revision IS NULL OR wait_revision = $revision)
|
|
32
|
+
AND ($due_at IS NULL OR wait_deadline_at <= $due_at OR wait_poll_at <= $due_at)
|
|
33
|
+
AND ($event_only = 0 OR observed_wake_revision < (SELECT wake_revision FROM workers WHERE id = loops.worker_id))
|
|
14
34
|
RETURNING id;
|
|
15
35
|
|
|
36
|
+
-- PREP: lifecycle_parked_loops
|
|
37
|
+
SELECT id, wait_revision, wait_deadline_at, wait_poll_interval, wait_poll_at
|
|
38
|
+
FROM loops WHERE worker_id = $worker_id AND status = 202
|
|
39
|
+
ORDER BY sequence;
|
|
40
|
+
|
|
41
|
+
-- PREP: lifecycle_set_inherited_poll
|
|
42
|
+
UPDATE loops SET wait_poll_at = $poll_at
|
|
43
|
+
WHERE id = $loop_id AND status = 202 AND wait_revision = $revision
|
|
44
|
+
AND wait_poll_interval IS NULL AND wait_poll_at IS NULL;
|
|
45
|
+
|
|
16
46
|
-- PREP: lifecycle_finish_loop
|
|
17
47
|
UPDATE loops
|
|
18
48
|
SET status = $status,
|
|
19
|
-
|
|
49
|
+
execution_elapsed_ms = COALESCE($elapsed_ms, execution_elapsed_ms),
|
|
50
|
+
wait_deadline_at = NULL,
|
|
51
|
+
wait_poll_interval = NULL,
|
|
52
|
+
wait_poll_at = NULL,
|
|
53
|
+
terminal_result = CASE WHEN EXISTS (SELECT 1 FROM loop_responses WHERE loop_id = loops.id)
|
|
54
|
+
THEN json_set($result,
|
|
55
|
+
'$.content', (SELECT content FROM loop_responses WHERE loop_id = loops.id),
|
|
56
|
+
'$.mimetype', 'text/markdown')
|
|
57
|
+
ELSE $result END,
|
|
20
58
|
terminated_by = $terminated_by
|
|
21
59
|
WHERE id = $loop_id AND status IN (100, 102, 202)
|
|
22
60
|
RETURNING terminal_result;
|
|
@@ -45,29 +83,108 @@ WITH RECURSIVE tree(id, depth) AS (
|
|
|
45
83
|
FROM workers child
|
|
46
84
|
JOIN tree ON child.parent_worker_id = tree.id
|
|
47
85
|
)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
FROM workers child
|
|
59
|
-
JOIN tree ON child.parent_worker_id = tree.id
|
|
60
|
-
)
|
|
86
|
+
-- CROSS JOIN fixes the nesting: the walked tree is the outer loop and each worker is a
|
|
87
|
+
-- primary-key probe, instead of a scan of every worker probing the tree ({§db-fk-indexes}).
|
|
88
|
+
SELECT tree.id AS worker_id, tree.depth, workers.cancelled_through_sequence
|
|
89
|
+
FROM tree CROSS JOIN workers ON workers.id = tree.id
|
|
90
|
+
WHERE $include_root = 1 OR tree.id <> $worker_id
|
|
91
|
+
ORDER BY tree.depth DESC, tree.id;
|
|
92
|
+
|
|
93
|
+
-- PREP: lifecycle_checkpoint_executions
|
|
94
|
+
-- Consumption measured by the process-local monotonic timers ({§loop-execution-allowance}) lands
|
|
95
|
+
-- before the cutoff, so the cancellation trigger finds every live loop's charge already durable.
|
|
61
96
|
UPDATE loops
|
|
62
|
-
SET
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
'$.problem.instance',
|
|
66
|
-
'loop:///' || id
|
|
67
|
-
),
|
|
68
|
-
terminated_by = 'cancel'
|
|
69
|
-
WHERE worker_id IN (
|
|
70
|
-
SELECT id FROM tree WHERE $include_root = 1 OR id <> $worker_id
|
|
97
|
+
SET execution_elapsed_ms = (
|
|
98
|
+
SELECT json_extract(value, '$.elapsed_ms') FROM json_each($executions)
|
|
99
|
+
WHERE json_extract(value, '$.loop_id') = loops.id
|
|
71
100
|
)
|
|
72
|
-
|
|
73
|
-
|
|
101
|
+
WHERE id IN (SELECT json_extract(value, '$.loop_id') FROM json_each($executions));
|
|
102
|
+
|
|
103
|
+
-- PREP: lifecycle_cancel_workers
|
|
104
|
+
-- {§worker-causal-admission}: the cutoff and the cancellation are one durable decision — this
|
|
105
|
+
-- statement writes both onto the worker, and workers_cancel_live_loops retires the loops inside it.
|
|
106
|
+
UPDATE workers
|
|
107
|
+
SET cancelled_through_sequence = MAX(cancelled_through_sequence, COALESCE(
|
|
108
|
+
(SELECT MAX(sequence) FROM loops WHERE worker_id = workers.id), 0
|
|
109
|
+
)),
|
|
110
|
+
cancellation = $result
|
|
111
|
+
WHERE id IN (SELECT value FROM json_each($worker_ids));
|
|
112
|
+
|
|
113
|
+
-- PREP: lifecycle_cancelled_loops
|
|
114
|
+
SELECT loops.id AS loop_id, loops.worker_id, loops.terminal_result FROM loops
|
|
115
|
+
JOIN json_each($worker_cutoffs) cutoff ON loops.worker_id = json_extract(cutoff.value, '$.worker_id')
|
|
116
|
+
WHERE loops.sequence > json_extract(cutoff.value, '$.cancelled_through_sequence')
|
|
117
|
+
AND loops.status = 499 AND loops.terminated_by = 'cancel'
|
|
118
|
+
ORDER BY loops.id;
|
|
119
|
+
|
|
120
|
+
-- INIT: loops_schedule_successor
|
|
121
|
+
-- {§worker-scheduled-send}: settlement and successor admission are one mutation.
|
|
122
|
+
-- Claims coalesce elapsed cadence slots; neither prompts nor effects are replayed.
|
|
123
|
+
DROP TRIGGER IF EXISTS loops_schedule_successor;
|
|
124
|
+
CREATE TRIGGER loops_schedule_successor
|
|
125
|
+
AFTER UPDATE OF status ON loops
|
|
126
|
+
WHEN NEW.status = 200 AND OLD.status IN (100, 102, 202)
|
|
127
|
+
AND NEW.repeat_interval_ms IS NOT NULL
|
|
128
|
+
BEGIN
|
|
129
|
+
INSERT INTO loops (
|
|
130
|
+
worker_id, sequence, status, prompt, prompt_source, policy,
|
|
131
|
+
model_route_id, spawn_model_route_id, reasoning_policy, max_turns,
|
|
132
|
+
execution_budget_ms, open_paths, scheduled_at, repeat_interval_ms, recurrence_root_loop_id
|
|
133
|
+
)
|
|
134
|
+
SELECT NEW.worker_id,
|
|
135
|
+
(SELECT COALESCE(MAX(sequence), 0) + 1 FROM loops WHERE worker_id = NEW.worker_id),
|
|
136
|
+
100, seed.prompt, seed.prompt_source, seed.policy,
|
|
137
|
+
seed.model_route_id, seed.spawn_model_route_id, seed.reasoning_policy, seed.max_turns,
|
|
138
|
+
seed.execution_budget_ms, seed.open_paths,
|
|
139
|
+
NEW.scheduled_at + NEW.repeat_interval_ms, NEW.repeat_interval_ms, seed.id
|
|
140
|
+
FROM loops seed
|
|
141
|
+
WHERE seed.id = COALESCE(NEW.recurrence_root_loop_id, NEW.id);
|
|
142
|
+
END;
|
|
143
|
+
|
|
144
|
+
-- INIT: loops_stamp_terminated_at
|
|
145
|
+
-- {§worker-scheme}: a loop crossing into a terminal status stamps terminated_at, so sibling
|
|
146
|
+
-- workers pull the termination as a folded ambient delta — caught uniformly across every
|
|
147
|
+
-- death-path (SEND, overflow recovery, max-turns, strike, KILL). The stamp updates terminated_at,
|
|
148
|
+
-- never status, so it cannot re-fire this trigger. Terminals: 200 done · 413 budget ·
|
|
149
|
+
-- 429 turn-ceiling · 499 cancel · 500 fail · 504 execution timeout · 508 runaway. (202 = parked/sleeping, NOT terminal.)
|
|
150
|
+
DROP TRIGGER IF EXISTS loops_stamp_terminated_at;
|
|
151
|
+
CREATE TRIGGER loops_stamp_terminated_at
|
|
152
|
+
AFTER UPDATE OF status ON loops
|
|
153
|
+
WHEN NEW.status IN (200, 413, 429, 499, 500, 504, 508) AND OLD.status NOT IN (200, 413, 429, 499, 500, 504, 508)
|
|
154
|
+
BEGIN
|
|
155
|
+
UPDATE loops SET terminated_at = strftime('%Y-%m-%dT%H:%M:%fZ', 'now') WHERE id = NEW.id;
|
|
156
|
+
END;
|
|
157
|
+
|
|
158
|
+
-- INIT: workers_cancel_live_loops
|
|
159
|
+
-- {§worker-cancel-trigger}: writing a worker's cancellation retires its live loops in the same
|
|
160
|
+
-- statement — 499, waits cleared, the delivered response kept as the result's content, the
|
|
161
|
+
-- Problem instanced per loop. Loops already terminal keep their own outcome.
|
|
162
|
+
DROP TRIGGER IF EXISTS workers_cancel_live_loops;
|
|
163
|
+
CREATE TRIGGER workers_cancel_live_loops
|
|
164
|
+
AFTER UPDATE OF cancellation ON workers
|
|
165
|
+
WHEN NEW.cancellation IS NOT NULL
|
|
166
|
+
BEGIN
|
|
167
|
+
UPDATE loops
|
|
168
|
+
SET status = 499,
|
|
169
|
+
wait_deadline_at = NULL,
|
|
170
|
+
wait_poll_interval = NULL,
|
|
171
|
+
wait_poll_at = NULL,
|
|
172
|
+
terminal_result = json_set(
|
|
173
|
+
CASE WHEN EXISTS (SELECT 1 FROM loop_responses WHERE loop_id = loops.id)
|
|
174
|
+
THEN json_set(NEW.cancellation,
|
|
175
|
+
'$.content', (SELECT content FROM loop_responses WHERE loop_id = loops.id),
|
|
176
|
+
'$.mimetype', 'text/markdown')
|
|
177
|
+
ELSE NEW.cancellation END,
|
|
178
|
+
'$.problem.instance',
|
|
179
|
+
'loop:///' || id
|
|
180
|
+
),
|
|
181
|
+
terminated_by = 'cancel'
|
|
182
|
+
WHERE worker_id = NEW.id
|
|
183
|
+
AND status IN (100, 102, 202);
|
|
184
|
+
END;
|
|
185
|
+
|
|
186
|
+
-- PREP: engine_loop_sequence
|
|
187
|
+
-- The loop's per-worker sequence — the model-facing coordinate (prompt/<worker>/<loop-seq>/<turn-seq>,
|
|
188
|
+
-- matching the log's loop-relative numbering). The raw db id leaked into prompt paths and the
|
|
189
|
+
-- model's first loop read as prompt/2/1 (the docs loop holds id 1). Owner: minor but annoying.
|
|
190
|
+
SELECT sequence FROM loops WHERE id = $loop_id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MembershipMaterialization.d.ts","sourceRoot":"","sources":["../../src/core/MembershipMaterialization.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"MembershipMaterialization.d.ts","sourceRoot":"","sources":["../../src/core/MembershipMaterialization.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,OAAO,KAAK,EAAE,YAAY,EAA4C,MAAM,qBAAqB,CAAC;AAqClG,MAAM,CAAC,OAAO,OAAO,yBAAyB;;IAU1C,OAAa,iBAAiB,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,mBAAmB,EACxB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GACzC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAmH9B;CAuJJ"}
|
|
@@ -3,7 +3,6 @@ import { readFile, stat } from "node:fs/promises";
|
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { MimetypeInputLimitError } from "@plurnk/plurnk-mimetypes";
|
|
5
5
|
import { MimetypeBinary } from "../content/index.js";
|
|
6
|
-
import Owner from "./Owner.js";
|
|
7
6
|
import EntryCrud from "../schemes/_entry-crud.js";
|
|
8
7
|
import FileMaterialization from "./file-materialization.js";
|
|
9
8
|
const ABSENT_SIG = "absent";
|
|
@@ -50,9 +49,8 @@ export default class MembershipMaterialization {
|
|
|
50
49
|
// reappearance another observable divergence.
|
|
51
50
|
static async materializeMember(pathname, root, ctx, identities) {
|
|
52
51
|
const canonical = join(root, pathname); // pathname is namespace-absolute (`/src/foo.ts`); join roots it at the workspace
|
|
53
|
-
const commonsId = await Owner.commonsId(ctx.db, ctx.workspaceId);
|
|
54
52
|
const known = await ctx.db.crud_get_member_sig.get({
|
|
55
|
-
workspace_id: ctx.workspaceId,
|
|
53
|
+
workspace_id: ctx.workspaceId, scheme: "file", authority: "", pathname,
|
|
56
54
|
});
|
|
57
55
|
// SPEC {§membership-change-gated-sync} — the cheap detect is a stat (mtime:size),
|
|
58
56
|
// never a content read: a member whose signature matches its last sync is a
|
|
@@ -76,7 +74,6 @@ export default class MembershipMaterialization {
|
|
|
76
74
|
return null;
|
|
77
75
|
const prior = await ctx.db.ops_read_channel.get({
|
|
78
76
|
workspace_id: ctx.workspaceId,
|
|
79
|
-
owner_id: commonsId,
|
|
80
77
|
scheme: "file",
|
|
81
78
|
authority: "",
|
|
82
79
|
pathname,
|
|
@@ -109,7 +106,7 @@ export default class MembershipMaterialization {
|
|
|
109
106
|
}
|
|
110
107
|
}
|
|
111
108
|
}
|
|
112
|
-
const mimetype = await
|
|
109
|
+
const mimetype = await FileMaterialization.detectMimetype(canonical, ctx.mimetypes);
|
|
113
110
|
const sourceMaterialization = FileMaterialization.classify(sourceBytes);
|
|
114
111
|
if (sourceMaterialization.disposition === "input-limit") {
|
|
115
112
|
return MembershipMaterialization.#materializeLimited(pathname, mimetype, sig, known?.synced_sig !== sig, known?.synced_sig === ABSENT_SIG, sourceMaterialization, ctx);
|
|
@@ -126,26 +123,19 @@ export default class MembershipMaterialization {
|
|
|
126
123
|
return null;
|
|
127
124
|
throw err;
|
|
128
125
|
}
|
|
129
|
-
// {§membership-binary-sniff} — the extension map can lie (.wasm fell through to
|
|
130
|
-
// the markdown DEFAULT and a 3.3MB blob entered the corpus as prose, three copies,
|
|
131
|
-
// ~10M tokens). NUL bytes in the head are binary truth regardless of the label:
|
|
132
|
-
// re-stamp octet-stream and take the same bounded projection-or-marker arm.
|
|
133
|
-
if (buf.subarray(0, 8192).includes(0)) {
|
|
134
|
-
return MembershipMaterialization.#materializeBinary(pathname, { content: buf, hint: "application/octet-stream" }, "application/octet-stream", sig, known?.synced_sig !== sig, known?.synced_sig === ABSENT_SIG, ctx, identities);
|
|
135
|
-
}
|
|
136
126
|
const content = buf.toString("utf8");
|
|
137
127
|
// {§env-delta-filesystem-narration} — capture the prior snapshot before
|
|
138
128
|
// materialization replaces it, then journal the resulting net span.
|
|
139
129
|
const diskChanged = known?.synced_sig !== sig;
|
|
140
130
|
const prior = diskChanged
|
|
141
131
|
? await ctx.db.ops_read_channel.get({
|
|
142
|
-
workspace_id: ctx.workspaceId,
|
|
132
|
+
workspace_id: ctx.workspaceId, scheme: "file", authority: "", pathname, channel: "body",
|
|
143
133
|
})
|
|
144
134
|
: undefined;
|
|
145
135
|
const result = await EntryCrud.writeEntry({ authority: "", pathname }, {
|
|
146
136
|
channels: { body: { content, mimetype } },
|
|
147
137
|
attributes: FileMaterialization.attributes(sourceMaterialization),
|
|
148
|
-
}, ctx, "file"
|
|
138
|
+
}, ctx, "file");
|
|
149
139
|
if (result.entryId !== null)
|
|
150
140
|
await ctx.db.crud_set_synced_sig.run({ entry_id: result.entryId, synced_sig: sig });
|
|
151
141
|
const changed = prior !== undefined && prior.content !== content;
|
|
@@ -197,7 +187,6 @@ export default class MembershipMaterialization {
|
|
|
197
187
|
const prior = diskChanged && metadata.disposition === "projected"
|
|
198
188
|
? await ctx.db.ops_read_channel.get({
|
|
199
189
|
workspace_id: ctx.workspaceId,
|
|
200
|
-
owner_id: await Owner.commonsId(ctx.db, ctx.workspaceId),
|
|
201
190
|
scheme: "file",
|
|
202
191
|
authority: "",
|
|
203
192
|
pathname,
|
|
@@ -207,7 +196,7 @@ export default class MembershipMaterialization {
|
|
|
207
196
|
const result = await EntryCrud.writeEntry({ authority: "", pathname }, {
|
|
208
197
|
channels: { body: { content, mimetype: outputMimetype } },
|
|
209
198
|
attributes: { sourceProjection: metadata },
|
|
210
|
-
}, ctx, "file"
|
|
199
|
+
}, ctx, "file");
|
|
211
200
|
if (result.entryId !== null) {
|
|
212
201
|
await ctx.db.crud_set_synced_sig.run({ entry_id: result.entryId, synced_sig: sig });
|
|
213
202
|
}
|
|
@@ -233,21 +222,10 @@ export default class MembershipMaterialization {
|
|
|
233
222
|
}
|
|
234
223
|
return identity;
|
|
235
224
|
}
|
|
236
|
-
// Detect a tracked file's mimetype (mirrors File.detectFileMimetype) through
|
|
237
|
-
// the configured registry, normalizing auto-derived text/plain to the text
|
|
238
|
-
// primitive.
|
|
239
|
-
static async #detectMimetype(canonical, mimetypes) {
|
|
240
|
-
if (mimetypes === undefined)
|
|
241
|
-
throw new Error("GitMembership: configured mimetype registry is required");
|
|
242
|
-
const detected = await mimetypes.detect({ path: canonical });
|
|
243
|
-
return MimetypeBinary.normalizeAutoTextMimetype(detected);
|
|
244
|
-
}
|
|
245
225
|
static async #materializeLimited(pathname, mimetype, sig, diskChanged, previouslyAbsent, metadata, ctx) {
|
|
246
|
-
const commonsId = await Owner.commonsId(ctx.db, ctx.workspaceId);
|
|
247
226
|
const prior = diskChanged
|
|
248
227
|
? await ctx.db.ops_read_channel.get({
|
|
249
228
|
workspace_id: ctx.workspaceId,
|
|
250
|
-
owner_id: commonsId,
|
|
251
229
|
scheme: "file",
|
|
252
230
|
authority: "",
|
|
253
231
|
pathname,
|
|
@@ -263,7 +241,7 @@ export default class MembershipMaterialization {
|
|
|
263
241
|
},
|
|
264
242
|
},
|
|
265
243
|
attributes: FileMaterialization.attributes(metadata),
|
|
266
|
-
}, ctx, "file"
|
|
244
|
+
}, ctx, "file");
|
|
267
245
|
if (result.entryId !== null) {
|
|
268
246
|
await ctx.db.crud_set_synced_sig.run({ entry_id: result.entryId, synced_sig: sig });
|
|
269
247
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MembershipMaterialization.js","sourceRoot":"","sources":["../../src/core/MembershipMaterialization.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MembershipMaterialization.js","sourceRoot":"","sources":["../../src/core/MembershipMaterialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
-- ModelCall: the logical model call beneath a turn attempt, and its closing triggers.
|
|
2
|
+
|
|
3
|
+
-- PREP: engine_open_model_call
|
|
4
|
+
-- Logical identity and request attribution become durable before provider I/O.
|
|
5
|
+
INSERT INTO inference_calls (
|
|
6
|
+
workspace_id, turn_id, sequence, kind, attributions, request_model
|
|
7
|
+
)
|
|
8
|
+
SELECT
|
|
9
|
+
w.workspace_id,
|
|
10
|
+
t.id,
|
|
11
|
+
COALESCE((SELECT MAX(sequence) FROM inference_calls WHERE turn_id = $turn_id), 0) + 1,
|
|
12
|
+
$kind,
|
|
13
|
+
$attributions,
|
|
14
|
+
$model
|
|
15
|
+
FROM turns t
|
|
16
|
+
JOIN loops l ON l.id = t.loop_id
|
|
17
|
+
JOIN workers w ON w.id = l.worker_id
|
|
18
|
+
WHERE t.id = $turn_id
|
|
19
|
+
RETURNING id, sequence;
|
|
20
|
+
|
|
21
|
+
-- PREP: engine_observe_model_call_response
|
|
22
|
+
-- Preserve the logical response before call-specific interpretation. Physical
|
|
23
|
+
-- request accounting has already settled through its cardinal observer path.
|
|
24
|
+
UPDATE model_calls SET
|
|
25
|
+
native_inputs = $native_inputs,
|
|
26
|
+
response = $response,
|
|
27
|
+
failure = $failure,
|
|
28
|
+
capacity = $capacity,
|
|
29
|
+
finish_reason = $finish_reason,
|
|
30
|
+
response_model = $model
|
|
31
|
+
WHERE id = $id
|
|
32
|
+
AND (SELECT state FROM inference_calls WHERE id = model_calls.id) = 'pending';
|
|
33
|
+
|
|
34
|
+
-- PREP: engine_fail_model_call
|
|
35
|
+
UPDATE model_calls SET
|
|
36
|
+
failure = $failure,
|
|
37
|
+
capacity = $capacity
|
|
38
|
+
WHERE id = $id
|
|
39
|
+
AND (SELECT state FROM inference_calls WHERE id = model_calls.id) = 'pending';
|
|
40
|
+
|
|
41
|
+
-- INIT: inference_calls_create_model_specialization
|
|
42
|
+
DROP TRIGGER IF EXISTS inference_calls_create_model_specialization;
|
|
43
|
+
CREATE TRIGGER inference_calls_create_model_specialization
|
|
44
|
+
AFTER INSERT ON inference_calls
|
|
45
|
+
WHEN NEW.kind IN ('emission', 'bare')
|
|
46
|
+
BEGIN
|
|
47
|
+
INSERT INTO model_calls (id) VALUES (NEW.id);
|
|
48
|
+
END;
|
|
49
|
+
|
|
50
|
+
-- INIT: model_calls_close_response
|
|
51
|
+
DROP TRIGGER IF EXISTS model_calls_close_response;
|
|
52
|
+
CREATE TRIGGER model_calls_close_response
|
|
53
|
+
AFTER UPDATE OF response ON model_calls
|
|
54
|
+
WHEN NEW.response IS NOT NULL
|
|
55
|
+
BEGIN
|
|
56
|
+
UPDATE inference_calls
|
|
57
|
+
SET state = 'response', completed_at = strftime('%Y-%m-%dT%H:%M:%fZ', 'now')
|
|
58
|
+
WHERE id = NEW.id AND state = 'pending';
|
|
59
|
+
END;
|
|
60
|
+
|
|
61
|
+
-- INIT: model_calls_close_error
|
|
62
|
+
DROP TRIGGER IF EXISTS model_calls_close_error;
|
|
63
|
+
CREATE TRIGGER model_calls_close_error
|
|
64
|
+
AFTER UPDATE OF failure ON model_calls
|
|
65
|
+
WHEN NEW.failure IS NOT NULL AND NEW.response IS NULL
|
|
66
|
+
BEGIN
|
|
67
|
+
UPDATE inference_calls
|
|
68
|
+
SET state = 'error', completed_at = strftime('%Y-%m-%dT%H:%M:%fZ', 'now')
|
|
69
|
+
WHERE id = NEW.id AND state = 'pending';
|
|
70
|
+
END;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ScopeNormalization } from "@plurnk/plurnk-schemes";
|
|
2
2
|
import type { ProposalSettlement } from "./ProposalLifecycle.ts";
|
|
3
3
|
import { type EditBatchReceipt, type LineAnchorPrecondition, type ResourceEffect, type ResourceEffectAction } from "../content/index.ts";
|
|
4
|
-
import type { DispatchResult,
|
|
4
|
+
import type { DispatchResult, ResourceAddress, AddressedResourceSelection, ResolvedResourceSelection, SelectedSource, DeferredMoveSource, PendingResourceEffect } from "./mutation-types.ts";
|
|
5
5
|
export default class MutationEffects {
|
|
6
6
|
static failure(code: string, status: number, detail: string, fields?: Readonly<Record<string, unknown>>, extensions?: Readonly<Record<string, unknown>>): DispatchResult;
|
|
7
7
|
static isDispatchResult(value: AddressedResourceSelection | SelectedSource | DispatchResult): value is DispatchResult;
|
|
@@ -17,10 +17,12 @@ export default class MutationEffects {
|
|
|
17
17
|
static resourceAddress(selection: ResourceAddress): string;
|
|
18
18
|
static pendingEffect(selection: ResourceAddress, action: ResourceEffectAction): PendingResourceEffect;
|
|
19
19
|
static withProposalRoute(result: DispatchResult, selection: ResourceAddress): DispatchResult;
|
|
20
|
-
static
|
|
20
|
+
static projectEdit(result: DispatchResult): DispatchResult;
|
|
21
21
|
static finalizeEffects(result: DispatchResult, selection: ResourceAddress, pending: readonly PendingResourceEffect[]): DispatchResult;
|
|
22
22
|
static sameChannel(left: ResourceAddress, right: ResourceAddress): boolean;
|
|
23
23
|
static moveFailureAfterDestination(result: DispatchResult, destination: string, destinationEffects: readonly ResourceEffect[]): DispatchResult;
|
|
24
|
-
static deferredMoveSource(source: ResolvedResourceSelection
|
|
24
|
+
static deferredMoveSource(source: ResolvedResourceSelection & {
|
|
25
|
+
readonly matchedLines?: readonly number[];
|
|
26
|
+
}, destination: ResourceAddress, lineAnchorPrecondition: LineAnchorPrecondition | null): DeferredMoveSource;
|
|
25
27
|
}
|
|
26
28
|
//# sourceMappingURL=MutationEffects.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MutationEffects.d.ts","sourceRoot":"","sources":["../../src/core/MutationEffects.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+B,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAwF,KAAK,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,KAAK,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE/N,OAAO,KAAK,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"MutationEffects.d.ts","sourceRoot":"","sources":["../../src/core/MutationEffects.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+B,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAwF,KAAK,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,KAAK,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE/N,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,cAAc,EAAE,kBAAkB,EAAE,qBAAqB,EAA8B,MAAM,qBAAqB,CAAC;AAEzN,MAAM,CAAC,OAAO,OAAO,eAAe;IAChC,MAAM,CAAC,OAAO,CACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM,EAC9C,UAAU,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM,GACnD,cAAc,CAEhB;IAED,MAAM,CAAC,gBAAgB,CACnB,KAAK,EAAE,0BAA0B,GAAG,cAAc,GAAG,cAAc,GACpE,KAAK,IAAI,cAAc,CAEzB;IAGD,MAAM,CAAC,0BAA0B,CAC7B,MAAM,EAAE,cAAc,EACtB,mBAAmB,EAAE,aAAa,CAAC,kBAAkB,CAAC,GAAG,SAAS,GACnE,cAAc,CAShB;IAGD,MAAM,CAAC,4BAA4B,CAC/B,GAAG,MAAM,EAAE,aAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC,GACxD,sBAAsB,GAAG,IAAI,CAY/B;IAGD,MAAM,CAAC,cAAc,CACjB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,SAAS,qBAAqB,EAAE,GAC1C,cAAc,CAsEhB;IAOD,MAAM,CAAC,uBAAuB,CAC1B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,gBAAgB,GAC1B,cAAc,CAkBhB;IAGD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,cAAc,EAAE,CAIlE;IAGD,MAAM,CAAC,mBAAmB,CACtB,MAAM,EAAE,cAAc,EACtB,GAAG,UAAU,EAAE,aAAa,CAAC,SAAS,cAAc,EAAE,CAAC,GACxD,cAAc,CAOhB;IAGD,MAAM,CAAC,qBAAqB,CACxB,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,kBAAkB,GAC/B,kBAAkB,CAqCpB;IAGD,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,kBAAkB,GAAG,SAAS,cAAc,EAAE,CAIlF;IAGD,MAAM,CAAC,qBAAqB,CACxB,UAAU,EAAE,kBAAkB,EAC9B,OAAO,EAAE,SAAS,cAAc,EAAE,GACnC,kBAAkB,CAgBpB;IAGD,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAmBzD;IAGD,MAAM,CAAC,aAAa,CAChB,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,oBAAoB,GAC7B,qBAAqB,CAKvB;IAGD,MAAM,CAAC,iBAAiB,CACpB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,eAAe,GAC3B,cAAc,CAchB;IAGD,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAQzD;IAED,MAAM,CAAC,eAAe,CAClB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,SAAS,qBAAqB,EAAE,GAC1C,cAAc,CAUhB;IAGD,MAAM,CAAC,WAAW,CACd,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,eAAe,GACvB,OAAO,CAKT;IAGD,MAAM,CAAC,2BAA2B,CAC9B,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,SAAS,cAAc,EAAE,GAC9C,cAAc,CAsBhB;IAGD,MAAM,CAAC,kBAAkB,CACrB,MAAM,EAAE,yBAAyB,GAAG;QAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EACjF,WAAW,EAAE,eAAe,EAC5B,sBAAsB,EAAE,sBAAsB,GAAG,IAAI,GACtD,kBAAkB,CAapB;CAEJ"}
|