@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,326 @@
|
|
|
1
|
+
-- MIGRATE: 3 loops
|
|
2
|
+
-- Chapter 3 of the schema baseline ({§db-schema-baseline}): Loops, their turns, and the immutable sources a turn was built from.
|
|
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
|
+
-- loops
|
|
7
|
+
-- policy: immutable per-loop proposal disposition ({§loop-policy-effective-read}).
|
|
8
|
+
CREATE TABLE IF NOT EXISTS loops (
|
|
9
|
+
id INTEGER NOT NULL PRIMARY KEY,
|
|
10
|
+
version INTEGER NOT NULL DEFAULT 0 CHECK (version >= 0),
|
|
11
|
+
worker_id INTEGER NOT NULL,
|
|
12
|
+
sequence INTEGER NOT NULL CHECK (sequence >= 1),
|
|
13
|
+
status INTEGER NOT NULL DEFAULT 102 CHECK (status IN (100, 102, 200, 202, 413, 429, 499, 500, 504, 508)),
|
|
14
|
+
prompt TEXT NOT NULL,
|
|
15
|
+
-- {§prompt-causal-source}: canonical actor address for the initial prompt;
|
|
16
|
+
-- NULL means the owning worker itself.
|
|
17
|
+
prompt_source TEXT CHECK (prompt_source IS NULL OR length(prompt_source) > 0),
|
|
18
|
+
policy TEXT NOT NULL DEFAULT '{"proposals":"review"}' CHECK (json_valid(policy)),
|
|
19
|
+
-- {§worker-model-selection}: immutable loop snapshots of the resolved model route and the
|
|
20
|
+
-- effective spawn route (was provider_spec/child_provider_spec JSON).
|
|
21
|
+
model_route_id INTEGER REFERENCES model_routes(id),
|
|
22
|
+
spawn_model_route_id INTEGER REFERENCES model_routes(id),
|
|
23
|
+
reasoning_policy TEXT CHECK (reasoning_policy IS NULL OR length(reasoning_policy) > 0),
|
|
24
|
+
max_turns INTEGER NOT NULL DEFAULT 50 CHECK (max_turns >= -1),
|
|
25
|
+
-- {§worker-scheduled-send}: the selected cadence slot, coalesced at claim.
|
|
26
|
+
scheduled_at INTEGER CHECK (scheduled_at IS NULL OR scheduled_at BETWEEN 0 AND 8640000000000000),
|
|
27
|
+
repeat_interval_ms INTEGER CHECK (repeat_interval_ms IS NULL OR repeat_interval_ms > 0),
|
|
28
|
+
recurrence_root_loop_id INTEGER REFERENCES loops(id),
|
|
29
|
+
-- {§loop-execution-allowance}: initialized on first execution, charged with disposition.
|
|
30
|
+
execution_budget_ms INTEGER CHECK (execution_budget_ms IS NULL OR execution_budget_ms > 0),
|
|
31
|
+
execution_elapsed_ms REAL NOT NULL DEFAULT 0 CHECK (execution_elapsed_ms >= 0),
|
|
32
|
+
-- {§worker-wait-timing}: epoch milliseconds; NULL polling inherits streams.
|
|
33
|
+
wait_revision INTEGER NOT NULL DEFAULT 0 CHECK (wait_revision >= 0),
|
|
34
|
+
-- {§loop-rail-continuity}: one loop-owned streak and bounded repetition window.
|
|
35
|
+
strike_streak INTEGER NOT NULL DEFAULT 0 CHECK (strike_streak >= 0),
|
|
36
|
+
cycle_history TEXT NOT NULL DEFAULT '[]' CHECK (json_valid(cycle_history) AND json_type(cycle_history) = 'array'),
|
|
37
|
+
cycle_wait_revision INTEGER NOT NULL DEFAULT 0 CHECK (cycle_wait_revision >= 0 AND cycle_wait_revision <= wait_revision),
|
|
38
|
+
observed_wake_revision INTEGER NOT NULL DEFAULT 0 CHECK (observed_wake_revision >= 0),
|
|
39
|
+
wait_deadline_at INTEGER,
|
|
40
|
+
wait_poll_interval INTEGER CHECK (wait_poll_interval IS NULL OR wait_poll_interval >= 0),
|
|
41
|
+
wait_poll_at INTEGER,
|
|
42
|
+
-- {§methods-loop-run-open-paths}: the initial prompt frame's selected paths,
|
|
43
|
+
-- held here until turn 1 materializes that frame (string[] JSON).
|
|
44
|
+
open_paths TEXT NOT NULL DEFAULT '[]' CHECK (json_valid(open_paths)),
|
|
45
|
+
-- {§prompt-loop-containment}: one queued recovery loop may carry the
|
|
46
|
+
-- complete orphan frame set of one concluded source loop.
|
|
47
|
+
orphan_source_loop_id INTEGER,
|
|
48
|
+
-- {§worker-scheme} loop-termination delta: terminated_at is stamped by the trigger
|
|
49
|
+
-- below when status crosses into terminal (every death-path, uniformly).
|
|
50
|
+
terminated_at TEXT,
|
|
51
|
+
terminal_result TEXT,
|
|
52
|
+
-- {§loop-terminal-authorship}: 'cancel' names an external loop.cancel;
|
|
53
|
+
-- NULL covers model terminals and engine verdicts whose result carries the story.
|
|
54
|
+
terminated_by TEXT CHECK (terminated_by IS NULL OR terminated_by = 'cancel'),
|
|
55
|
+
CONSTRAINT loops_generation_policy_contract CHECK (
|
|
56
|
+
(model_route_id IS NULL) = (reasoning_policy IS NULL)
|
|
57
|
+
),
|
|
58
|
+
CONSTRAINT loops_schedule_contract CHECK (
|
|
59
|
+
(repeat_interval_ms IS NULL OR scheduled_at IS NOT NULL)
|
|
60
|
+
AND (recurrence_root_loop_id IS NULL OR repeat_interval_ms IS NOT NULL)
|
|
61
|
+
),
|
|
62
|
+
CONSTRAINT loops_terminal_result_contract CHECK (
|
|
63
|
+
CASE
|
|
64
|
+
WHEN status IN (100, 102, 202) THEN terminal_result IS NULL
|
|
65
|
+
WHEN terminal_result IS NULL OR NOT json_valid(terminal_result) THEN 0
|
|
66
|
+
ELSE
|
|
67
|
+
json_type(terminal_result) IS 'object'
|
|
68
|
+
AND json_type(terminal_result, '$.status') IS 'integer'
|
|
69
|
+
AND (
|
|
70
|
+
json_extract(terminal_result, '$.status') = status
|
|
71
|
+
OR (
|
|
72
|
+
status = 200
|
|
73
|
+
AND json_extract(terminal_result, '$.status') BETWEEN 200 AND 399
|
|
74
|
+
AND json_extract(terminal_result, '$.status') != 202
|
|
75
|
+
)
|
|
76
|
+
OR (
|
|
77
|
+
status = 500
|
|
78
|
+
AND json_extract(terminal_result, '$.status') BETWEEN 400 AND 599
|
|
79
|
+
)
|
|
80
|
+
)
|
|
81
|
+
AND CASE
|
|
82
|
+
WHEN json_extract(terminal_result, '$.status') < 400 THEN
|
|
83
|
+
json_type(terminal_result, '$.problem') IS NULL
|
|
84
|
+
ELSE
|
|
85
|
+
json_type(terminal_result, '$.problem') IS 'object'
|
|
86
|
+
AND json_type(terminal_result, '$.problem.status') IS 'integer'
|
|
87
|
+
AND json_extract(terminal_result, '$.problem.status')
|
|
88
|
+
= json_extract(terminal_result, '$.status')
|
|
89
|
+
AND json_type(terminal_result, '$.problem.type') IS 'text'
|
|
90
|
+
AND length(json_extract(terminal_result, '$.problem.type')) > 0
|
|
91
|
+
AND json_type(terminal_result, '$.problem.title') IS 'text'
|
|
92
|
+
AND length(json_extract(terminal_result, '$.problem.title')) > 0
|
|
93
|
+
AND json_type(terminal_result, '$.problem.detail') IS 'text'
|
|
94
|
+
AND length(json_extract(terminal_result, '$.problem.detail')) > 0
|
|
95
|
+
AND json_type(terminal_result, '$.problem.instance') IS 'text'
|
|
96
|
+
AND length(json_extract(terminal_result, '$.problem.instance')) > 0
|
|
97
|
+
END
|
|
98
|
+
END
|
|
99
|
+
),
|
|
100
|
+
FOREIGN KEY (worker_id) REFERENCES workers(id) ON DELETE CASCADE,
|
|
101
|
+
FOREIGN KEY (orphan_source_loop_id) REFERENCES loops(id)
|
|
102
|
+
) STRICT;
|
|
103
|
+
|
|
104
|
+
CREATE UNIQUE INDEX IF NOT EXISTS loops_worker_id_sequence ON loops (worker_id, sequence);
|
|
105
|
+
|
|
106
|
+
CREATE UNIQUE INDEX IF NOT EXISTS loops_orphan_source_loop_id ON loops (orphan_source_loop_id);
|
|
107
|
+
|
|
108
|
+
-- {§db-fk-indexes} Foreign-key check paths (route replacement, recurrence-root cascade) stop scanning loops.
|
|
109
|
+
CREATE INDEX IF NOT EXISTS loops_model_route_id ON loops (model_route_id) WHERE model_route_id IS NOT NULL;
|
|
110
|
+
|
|
111
|
+
CREATE INDEX IF NOT EXISTS loops_spawn_model_route_id ON loops (spawn_model_route_id) WHERE spawn_model_route_id IS NOT NULL;
|
|
112
|
+
|
|
113
|
+
CREATE INDEX IF NOT EXISTS loops_recurrence_root_loop_id ON loops (recurrence_root_loop_id) WHERE recurrence_root_loop_id IS NOT NULL;
|
|
114
|
+
|
|
115
|
+
CREATE UNIQUE INDEX IF NOT EXISTS loops_live_recurrence
|
|
116
|
+
ON loops (COALESCE(recurrence_root_loop_id, id))
|
|
117
|
+
WHERE repeat_interval_ms IS NOT NULL AND status IN (100, 102, 202);
|
|
118
|
+
|
|
119
|
+
-- turns
|
|
120
|
+
-- finish_reason / model: accepted provider-call metadata from the provider
|
|
121
|
+
-- response contract. Physical request accounting is normalized beneath the
|
|
122
|
+
-- logical emission attempt that caused it.
|
|
123
|
+
CREATE TABLE IF NOT EXISTS turns (
|
|
124
|
+
id INTEGER NOT NULL PRIMARY KEY,
|
|
125
|
+
version INTEGER NOT NULL DEFAULT 0 CHECK (version >= 0),
|
|
126
|
+
loop_id INTEGER NOT NULL,
|
|
127
|
+
sequence INTEGER NOT NULL CHECK (sequence >= 1),
|
|
128
|
+
timestamp TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
|
|
129
|
+
-- {§turn-record}: producer and purpose define the turn. Packet/provider
|
|
130
|
+
-- evidence below is an optional inference specialization.
|
|
131
|
+
producer TEXT NOT NULL CHECK (producer IN ('model', 'client', '_plurnk', 'plugin')),
|
|
132
|
+
kind TEXT NOT NULL CHECK (kind IN ('inference', 'initialization', 'operation', 'maintenance')),
|
|
133
|
+
status INTEGER NOT NULL CHECK (status BETWEEN 100 AND 599),
|
|
134
|
+
-- NULL while the producer still owns this turn. Status 102 is both the
|
|
135
|
+
-- provisional running value and the exact completed continue disposition;
|
|
136
|
+
-- completed_at distinguishes those states without inventing another status.
|
|
137
|
+
completed_at TEXT DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
|
|
138
|
+
-- Provider-derived curation calibration for this turn; NULL when input
|
|
139
|
+
-- capacity is unknown. {§tokenomics-client-gauge}
|
|
140
|
+
usage_curation_budget INTEGER CHECK (usage_curation_budget IS NULL OR usage_curation_budget >= 1),
|
|
141
|
+
-- {§packet-stored-shape}: NULL means no model request was assembled. A
|
|
142
|
+
-- present packet is either the measured request or that request extended
|
|
143
|
+
-- by the paired admitted-response fields. Its sections are rows
|
|
144
|
+
-- ({§packet-items}), never in this bag: the bag holds weight, attributions,
|
|
145
|
+
-- attachments, and the admitted response.
|
|
146
|
+
packet TEXT CHECK (
|
|
147
|
+
CASE
|
|
148
|
+
WHEN packet IS NULL THEN 1
|
|
149
|
+
WHEN json_valid(packet) = 0 THEN 0
|
|
150
|
+
ELSE COALESCE(
|
|
151
|
+
json_type(packet) = 'object'
|
|
152
|
+
AND json_type(packet, '$.weight') = 'integer'
|
|
153
|
+
AND json_extract(packet, '$.weight') >= 0
|
|
154
|
+
AND json_type(packet, '$.sections') IS NULL
|
|
155
|
+
AND json_type(packet, '$.attributions') = 'array'
|
|
156
|
+
AND (
|
|
157
|
+
(
|
|
158
|
+
json_type(packet, '$.assistant') IS NULL
|
|
159
|
+
AND json_type(packet, '$.assistantRaw') IS NULL
|
|
160
|
+
)
|
|
161
|
+
OR (
|
|
162
|
+
json_type(packet, '$.assistant') = 'object'
|
|
163
|
+
AND json_type(packet, '$.assistant.content') = 'text'
|
|
164
|
+
AND json_type(packet, '$.assistant.ops') = 'array'
|
|
165
|
+
AND json_type(packet, '$.assistant.reasoning') IN ('text', 'null')
|
|
166
|
+
AND json_type(packet, '$.assistantRaw') IS NOT NULL
|
|
167
|
+
)
|
|
168
|
+
),
|
|
169
|
+
0
|
|
170
|
+
)
|
|
171
|
+
END
|
|
172
|
+
),
|
|
173
|
+
finish_reason TEXT,
|
|
174
|
+
model TEXT CHECK (model IS NULL OR length(model) >= 1),
|
|
175
|
+
-- Opaque provider→client metadata plus the grammar transport key; absent outside
|
|
176
|
+
-- recorded inference evidence. {§meta-passthrough}, {§operator-grammar}
|
|
177
|
+
meta TEXT CHECK (meta IS NULL OR json_valid(meta)),
|
|
178
|
+
CHECK (completed_at IS NOT NULL OR status = 102),
|
|
179
|
+
CHECK ((producer = 'model') = (kind = 'inference')),
|
|
180
|
+
CHECK (kind NOT IN ('initialization', 'maintenance') OR producer = '_plurnk'),
|
|
181
|
+
CHECK (
|
|
182
|
+
kind = 'inference'
|
|
183
|
+
OR (
|
|
184
|
+
usage_curation_budget IS NULL
|
|
185
|
+
AND packet IS NULL
|
|
186
|
+
AND finish_reason IS NULL
|
|
187
|
+
AND model IS NULL
|
|
188
|
+
AND meta IS NULL
|
|
189
|
+
)
|
|
190
|
+
),
|
|
191
|
+
FOREIGN KEY (loop_id) REFERENCES loops(id) ON DELETE CASCADE
|
|
192
|
+
) STRICT;
|
|
193
|
+
|
|
194
|
+
CREATE UNIQUE INDEX IF NOT EXISTS turns_loop_id_sequence ON turns (loop_id, sequence);
|
|
195
|
+
|
|
196
|
+
-- {§actor-boundary-doc-injection}: derived observation only; no durable row is rewritten.
|
|
197
|
+
CREATE VIEW IF NOT EXISTS work_loops AS
|
|
198
|
+
SELECT l.* FROM loops l
|
|
199
|
+
WHERE NOT EXISTS (SELECT 1 FROM turns t WHERE t.loop_id = l.id AND t.kind = 'maintenance')
|
|
200
|
+
OR EXISTS (SELECT 1 FROM turns t WHERE t.loop_id = l.id AND t.kind <> 'maintenance');
|
|
201
|
+
|
|
202
|
+
-- {§packet-items}: a packet's sections are rows over content-addressed items. Every rendered
|
|
203
|
+
-- block — one log row's record, one non-log section's content — is stored once by its hash;
|
|
204
|
+
-- a turn stores the ordered composition. A row whose rendering did not change between turns
|
|
205
|
+
-- hashes to the same item, so a turn's durable cost is its new and changed items.
|
|
206
|
+
CREATE TABLE IF NOT EXISTS packet_items (
|
|
207
|
+
hash TEXT NOT NULL PRIMARY KEY CHECK (length(hash) = 64),
|
|
208
|
+
text TEXT NOT NULL
|
|
209
|
+
) STRICT, WITHOUT ROWID;
|
|
210
|
+
|
|
211
|
+
CREATE TABLE IF NOT EXISTS turn_sections (
|
|
212
|
+
turn_id INTEGER NOT NULL REFERENCES turns(id) ON DELETE CASCADE,
|
|
213
|
+
position INTEGER NOT NULL CHECK (position >= 0),
|
|
214
|
+
name TEXT NOT NULL CHECK (length(name) > 0),
|
|
215
|
+
slot TEXT NOT NULL CHECK (slot IN ('system', 'user')),
|
|
216
|
+
header TEXT,
|
|
217
|
+
weight INTEGER NOT NULL CHECK (weight >= 0),
|
|
218
|
+
PRIMARY KEY (turn_id, position),
|
|
219
|
+
UNIQUE (turn_id, name)
|
|
220
|
+
) STRICT, WITHOUT ROWID;
|
|
221
|
+
|
|
222
|
+
CREATE TABLE IF NOT EXISTS turn_section_items (
|
|
223
|
+
turn_id INTEGER NOT NULL,
|
|
224
|
+
section INTEGER NOT NULL,
|
|
225
|
+
position INTEGER NOT NULL CHECK (position >= 0),
|
|
226
|
+
item_hash TEXT NOT NULL REFERENCES packet_items(hash),
|
|
227
|
+
PRIMARY KEY (turn_id, section, position),
|
|
228
|
+
FOREIGN KEY (turn_id, section) REFERENCES turn_sections(turn_id, position) ON DELETE CASCADE
|
|
229
|
+
) STRICT, WITHOUT ROWID;
|
|
230
|
+
|
|
231
|
+
-- {§db-fk-indexes}: item collection and the packet_items foreign-key check path.
|
|
232
|
+
CREATE INDEX IF NOT EXISTS turn_section_items_item_hash ON turn_section_items (item_hash);
|
|
233
|
+
|
|
234
|
+
-- {§packet-items}: the one write of inference evidence — the packet bag, its sections as items,
|
|
235
|
+
-- and the provider metadata land in one statement through this view.
|
|
236
|
+
CREATE VIEW IF NOT EXISTS turn_inference_evidence AS
|
|
237
|
+
SELECT NULL AS turn_id, NULL AS packet, NULL AS sections,
|
|
238
|
+
NULL AS usage_curation_budget, NULL AS finish_reason, NULL AS model, NULL AS meta
|
|
239
|
+
WHERE 0;
|
|
240
|
+
|
|
241
|
+
CREATE TRIGGER IF NOT EXISTS turn_inference_evidence_insert
|
|
242
|
+
INSTEAD OF INSERT ON turn_inference_evidence
|
|
243
|
+
BEGIN
|
|
244
|
+
SELECT RAISE(ABORT, 'turn is not an open model inference turn')
|
|
245
|
+
WHERE NOT EXISTS (
|
|
246
|
+
SELECT 1 FROM turns
|
|
247
|
+
WHERE id = NEW.turn_id AND producer = 'model' AND kind = 'inference'
|
|
248
|
+
AND completed_at IS NULL AND packet IS NULL
|
|
249
|
+
);
|
|
250
|
+
SELECT RAISE(ABORT, 'packet sections must be a JSON array of {name, slot, header, weight, items}')
|
|
251
|
+
WHERE json_type(NEW.sections) IS NOT 'array';
|
|
252
|
+
INSERT OR IGNORE INTO packet_items (hash, text)
|
|
253
|
+
SELECT sha256(item.value), item.value
|
|
254
|
+
FROM json_each(NEW.sections) AS section, json_each(section.value, '$.items') AS item;
|
|
255
|
+
INSERT INTO turn_sections (turn_id, position, name, slot, header, weight)
|
|
256
|
+
SELECT NEW.turn_id, section.key,
|
|
257
|
+
json_extract(section.value, '$.name'), json_extract(section.value, '$.slot'),
|
|
258
|
+
json_extract(section.value, '$.header'), json_extract(section.value, '$.weight')
|
|
259
|
+
FROM json_each(NEW.sections) AS section;
|
|
260
|
+
INSERT INTO turn_section_items (turn_id, section, position, item_hash)
|
|
261
|
+
SELECT NEW.turn_id, section.key, item.key, sha256(item.value)
|
|
262
|
+
FROM json_each(NEW.sections) AS section, json_each(section.value, '$.items') AS item;
|
|
263
|
+
UPDATE turns
|
|
264
|
+
SET packet = NEW.packet,
|
|
265
|
+
usage_curation_budget = NEW.usage_curation_budget,
|
|
266
|
+
finish_reason = NEW.finish_reason,
|
|
267
|
+
model = NEW.model,
|
|
268
|
+
meta = NEW.meta
|
|
269
|
+
WHERE id = NEW.turn_id;
|
|
270
|
+
END;
|
|
271
|
+
|
|
272
|
+
-- {§packet-items}: a turn as its readers know it — the packet bag with its sections assembled
|
|
273
|
+
-- back into it, byte for byte: a section's content is its items joined by one blank line.
|
|
274
|
+
CREATE VIEW IF NOT EXISTS turn_packets AS
|
|
275
|
+
SELECT t.id, t.loop_id, t.sequence, t.timestamp, t.producer, t.kind, t.status, t.completed_at,
|
|
276
|
+
t.usage_curation_budget, t.finish_reason, t.model, t.meta, t.version,
|
|
277
|
+
CASE WHEN t.packet IS NULL THEN NULL ELSE json_set(t.packet, '$.sections', json((
|
|
278
|
+
SELECT COALESCE(json_group_array(json_object(
|
|
279
|
+
'name', ts.name, 'slot', ts.slot, 'header', ts.header, 'weight', ts.weight,
|
|
280
|
+
'content', COALESCE((
|
|
281
|
+
SELECT group_concat(pi.text, char(10) || char(10) ORDER BY tsi.position)
|
|
282
|
+
FROM turn_section_items tsi JOIN packet_items pi ON pi.hash = tsi.item_hash
|
|
283
|
+
WHERE tsi.turn_id = ts.turn_id AND tsi.section = ts.position
|
|
284
|
+
), '')
|
|
285
|
+
) ORDER BY ts.position), '[]')
|
|
286
|
+
FROM turn_sections ts WHERE ts.turn_id = t.id
|
|
287
|
+
))) END AS packet
|
|
288
|
+
FROM turns t;
|
|
289
|
+
|
|
290
|
+
-- {§turn-source-resources}: immutable source facts belong to their turn, not
|
|
291
|
+
-- its curatable log. Derivation attachments are replaceable, source bytes are not.
|
|
292
|
+
CREATE TABLE IF NOT EXISTS turn_sources (
|
|
293
|
+
turn_id INTEGER NOT NULL REFERENCES turns(id) ON DELETE CASCADE,
|
|
294
|
+
kind TEXT NOT NULL CHECK (kind IN ('ops', 'reasoning')),
|
|
295
|
+
content TEXT NOT NULL,
|
|
296
|
+
model_call_id INTEGER REFERENCES model_calls(id),
|
|
297
|
+
deep_hash TEXT REFERENCES derivations(deep_hash),
|
|
298
|
+
PRIMARY KEY (turn_id, kind)
|
|
299
|
+
) STRICT;
|
|
300
|
+
|
|
301
|
+
-- {§db-fk-indexes} A derivation replacement checks its referrers; the hash is indexed where it is a foreign key.
|
|
302
|
+
CREATE INDEX IF NOT EXISTS turn_sources_deep_hash ON turn_sources (deep_hash) WHERE deep_hash IS NOT NULL;
|
|
303
|
+
|
|
304
|
+
CREATE TRIGGER IF NOT EXISTS turn_sources_immutable
|
|
305
|
+
BEFORE UPDATE OF turn_id, kind, content, model_call_id ON turn_sources
|
|
306
|
+
BEGIN
|
|
307
|
+
SELECT RAISE(ABORT, 'turn source evidence is immutable');
|
|
308
|
+
END;
|
|
309
|
+
|
|
310
|
+
CREATE TRIGGER IF NOT EXISTS turn_sources_delete_with_turn_only
|
|
311
|
+
BEFORE DELETE ON turn_sources
|
|
312
|
+
WHEN EXISTS (SELECT 1 FROM turns WHERE id = OLD.turn_id)
|
|
313
|
+
BEGIN
|
|
314
|
+
SELECT RAISE(ABORT, 'turn source evidence belongs to its retained turn');
|
|
315
|
+
END;
|
|
316
|
+
|
|
317
|
+
-- {§turn-record} Producer and purpose never change beneath execution history.
|
|
318
|
+
CREATE TRIGGER IF NOT EXISTS turns_identity_forward_only
|
|
319
|
+
BEFORE UPDATE OF producer, kind ON turns
|
|
320
|
+
WHEN NOT (
|
|
321
|
+
OLD.producer = NEW.producer
|
|
322
|
+
AND OLD.kind = NEW.kind
|
|
323
|
+
)
|
|
324
|
+
BEGIN
|
|
325
|
+
SELECT RAISE(ABORT, 'turn producer and kind are immutable');
|
|
326
|
+
END;
|