@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
|
@@ -13,29 +13,27 @@
|
|
|
13
13
|
-- $scope_prefix: the literal pathname prefix before any glob syntax, or NULL
|
|
14
14
|
-- for no prefix. TypeScript applies the authoritative shell-glob match; this
|
|
15
15
|
-- query supplies only a safe candidate superset.
|
|
16
|
-
SELECT e.id AS entry_id, e.authority, e.pathname, ec.deep_hash, ec.content, ec.mimetype
|
|
16
|
+
SELECT e.id AS entry_id, e.authority, e.pathname, ec.name AS channel, ec.deep_hash, ec.content, ec.mimetype
|
|
17
17
|
FROM entries e
|
|
18
|
-
JOIN entry_channels ec ON ec.entry_id = e.id AND ec.name = $channel
|
|
19
|
-
|
|
20
|
-
WHERE owner.workspace_id = $workspace_id AND e.owner_id = $owner_id
|
|
18
|
+
JOIN entry_channels ec ON ec.entry_id = e.id AND ec.name = COALESCE($channel, e.default_channel)
|
|
19
|
+
WHERE e.workspace_id = $workspace_id
|
|
21
20
|
AND e.scheme = $scheme
|
|
22
|
-
AND e.authority = $authority
|
|
21
|
+
AND ($authority IS NULL OR e.authority = $authority)
|
|
23
22
|
AND ($scope_prefix IS NULL OR substr(e.pathname, 1, length($scope_prefix)) = $scope_prefix)
|
|
24
|
-
ORDER BY e.pathname;
|
|
23
|
+
ORDER BY e.authority, e.pathname;
|
|
25
24
|
|
|
26
25
|
-- PREP: find_workspace_entry_candidate_ids
|
|
27
26
|
-- Relation matchers need the same target candidate set without loading every
|
|
28
27
|
-- candidate body across the SQL boundary. The ranker joins these identities to
|
|
29
28
|
-- derivations and performs exhaustive ranking within the selected set.
|
|
30
|
-
SELECT e.id AS entry_id, e.authority, e.pathname, ec.deep_hash
|
|
29
|
+
SELECT e.id AS entry_id, e.authority, e.pathname, ec.name AS channel, ec.deep_hash
|
|
31
30
|
FROM entries e
|
|
32
|
-
JOIN entry_channels ec ON ec.entry_id = e.id AND ec.name = $channel
|
|
33
|
-
|
|
34
|
-
WHERE owner.workspace_id = $workspace_id AND e.owner_id = $owner_id
|
|
31
|
+
JOIN entry_channels ec ON ec.entry_id = e.id AND ec.name = COALESCE($channel, e.default_channel)
|
|
32
|
+
WHERE e.workspace_id = $workspace_id
|
|
35
33
|
AND e.scheme = $scheme
|
|
36
|
-
AND e.authority = $authority
|
|
34
|
+
AND ($authority IS NULL OR e.authority = $authority)
|
|
37
35
|
AND ($scope_prefix IS NULL OR substr(e.pathname, 1, length($scope_prefix)) = $scope_prefix)
|
|
38
|
-
ORDER BY e.pathname;
|
|
36
|
+
ORDER BY e.authority, e.pathname;
|
|
39
37
|
|
|
40
38
|
-- PREP: find_workspace_derivation_candidates
|
|
41
39
|
-- Graph relations resolve their source definitions across the complete
|
|
@@ -45,6 +43,16 @@ ORDER BY e.pathname;
|
|
|
45
43
|
SELECT (e.scheme || ':' || e.id || '#' || ec.name) AS key, ec.deep_hash
|
|
46
44
|
FROM entries e
|
|
47
45
|
JOIN entry_channels ec ON ec.entry_id = e.id
|
|
48
|
-
|
|
49
|
-
WHERE owner.workspace_id = $workspace_id
|
|
46
|
+
WHERE e.workspace_id = $workspace_id
|
|
50
47
|
ORDER BY e.id, ec.name;
|
|
48
|
+
|
|
49
|
+
-- PREP: find_selected_channels
|
|
50
|
+
-- {§find-result-projection}: the selected channel of every matched entry in one statement —
|
|
51
|
+
-- $selections is a JSON array of {key, authority, pathname, channel}; a missing channel is a
|
|
52
|
+
-- missing row the caller names.
|
|
53
|
+
SELECT json_extract(sel.value, '$.key') AS key, ec.content, ec.mimetype
|
|
54
|
+
FROM json_each($selections) AS sel
|
|
55
|
+
JOIN entries e ON e.workspace_id = $workspace_id AND e.scheme = $scheme
|
|
56
|
+
AND e.authority = json_extract(sel.value, '$.authority')
|
|
57
|
+
AND e.pathname = json_extract(sel.value, '$.pathname')
|
|
58
|
+
JOIN entry_channels ec ON ec.entry_id = e.id AND ec.name = json_extract(sel.value, '$.channel');
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Db } from "../core/Db.ts";
|
|
2
|
+
import type { ProblemDetails } from "@plurnk/plurnk-schemes";
|
|
3
|
+
import type { CandidateMatch } from "../content/matcher.ts";
|
|
4
|
+
import type { SearchCandidate } from "./_search-candidate.ts";
|
|
5
|
+
export default class EntryFts {
|
|
6
|
+
#private;
|
|
7
|
+
static index(db: Db, derivationId: number, content: string): Promise<void>;
|
|
8
|
+
static rankCandidates(db: Db, candidates: readonly SearchCandidate[], query: string, signal?: AbortSignal): Promise<{
|
|
9
|
+
status: number;
|
|
10
|
+
matches: CandidateMatch[];
|
|
11
|
+
problem?: ProblemDetails;
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=_entry-fts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_entry-fts.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-fts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,MAAM,CAAC,OAAO,OAAO,QAAQ;;IACzB,OAAa,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/E;IAGD,OAAa,cAAc,CACvB,EAAE,EAAE,EAAE,EACN,UAAU,EAAE,SAAS,eAAe,EAAE,EACtC,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAA;KAAE,CAAC,CAsClF;CA4BJ"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { TextCoordinates } from "@plurnk/plurnk-mimetypes";
|
|
2
|
+
import Results from "../core/results.js";
|
|
3
|
+
export default class EntryFts {
|
|
4
|
+
static async index(db, derivationId, content) {
|
|
5
|
+
await db.fts_delete.run({ derivation_id: derivationId });
|
|
6
|
+
if (content.length > 0)
|
|
7
|
+
await db.fts_insert.run({ derivation_id: derivationId, content });
|
|
8
|
+
}
|
|
9
|
+
// SQLite owns parsing, tokenization and matching; highlight only locates its matches.
|
|
10
|
+
static async rankCandidates(db, candidates, query, signal) {
|
|
11
|
+
signal?.throwIfAborted();
|
|
12
|
+
if (candidates.length === 0)
|
|
13
|
+
return { status: 200, matches: [] };
|
|
14
|
+
const encoded = JSON.stringify(candidates);
|
|
15
|
+
let marker = "\u001f";
|
|
16
|
+
for (;;) {
|
|
17
|
+
signal?.throwIfAborted();
|
|
18
|
+
const open = `${marker}[`, close = `${marker}]`;
|
|
19
|
+
let rows;
|
|
20
|
+
try {
|
|
21
|
+
rows = await db.fts_rank_candidates.all({ candidates: encoded, query, open, close });
|
|
22
|
+
}
|
|
23
|
+
catch (cause) {
|
|
24
|
+
// SQL is prepared at database startup. These are FTS5 MATCH-parser errors
|
|
25
|
+
// at execution, not arbitrary SQLite failures or guesses about intent.
|
|
26
|
+
if (!(cause instanceof Error) || !/^(?:fts5: syntax error|unterminated string$|no such column:|expected integer, got )/.test(cause.message))
|
|
27
|
+
throw cause;
|
|
28
|
+
const failure = Results.failure("schemes:matcher", "invalid-expression", 400, "The full-text matcher expression is invalid.", {}, { stage: "matcher", dialect: "fts", diagnostic: cause.message, recovery: "Use a valid FTS5 query expression.", retryable: false });
|
|
29
|
+
return { ...failure, matches: [] };
|
|
30
|
+
}
|
|
31
|
+
signal?.throwIfAborted();
|
|
32
|
+
if (rows.some(({ content }) => content.includes(open) || content.includes(close))) {
|
|
33
|
+
// A source may contain the presentation markers. Grow once against all
|
|
34
|
+
// immutable matched bodies, then ask SQLite to mark them without ambiguity.
|
|
35
|
+
do {
|
|
36
|
+
marker += marker;
|
|
37
|
+
} while (rows.some(({ content }) => content.includes(marker)));
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
status: 200,
|
|
42
|
+
matches: rows.map(({ key, content, highlighted }) => ({
|
|
43
|
+
key,
|
|
44
|
+
matches: EntryFts.#evidence(content, highlighted, open, close),
|
|
45
|
+
})),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
static #evidence(content, highlighted, open, close) {
|
|
50
|
+
const coordinates = new TextCoordinates(content);
|
|
51
|
+
const matches = [];
|
|
52
|
+
let sourceOffset = 0, markedOffset = 0;
|
|
53
|
+
for (;;) {
|
|
54
|
+
const start = highlighted.indexOf(open, markedOffset);
|
|
55
|
+
if (start < 0) {
|
|
56
|
+
if (highlighted.slice(markedOffset) !== content.slice(sourceOffset))
|
|
57
|
+
throw new Error("FTS5 highlight changed the source text");
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
const gap = highlighted.slice(markedOffset, start);
|
|
61
|
+
if (gap !== content.slice(sourceOffset, sourceOffset + gap.length))
|
|
62
|
+
throw new Error("FTS5 highlight changed the source text");
|
|
63
|
+
sourceOffset += gap.length;
|
|
64
|
+
const end = highlighted.indexOf(close, start + open.length);
|
|
65
|
+
if (end < 0)
|
|
66
|
+
throw new Error("FTS5 highlight has an unterminated match");
|
|
67
|
+
const matched = highlighted.slice(start + open.length, end);
|
|
68
|
+
if (matched !== content.slice(sourceOffset, sourceOffset + matched.length))
|
|
69
|
+
throw new Error("FTS5 highlight changed the matched text");
|
|
70
|
+
const region = coordinates.regionFromOffsets(sourceOffset, sourceOffset + matched.length);
|
|
71
|
+
if (region === null)
|
|
72
|
+
throw new Error("FTS5 match is outside the readable coordinate space");
|
|
73
|
+
matches.push({ region, matched });
|
|
74
|
+
sourceOffset += matched.length;
|
|
75
|
+
markedOffset = end + close.length;
|
|
76
|
+
}
|
|
77
|
+
if (matches.length === 0)
|
|
78
|
+
throw new Error("FTS5 selected a resource without matched evidence");
|
|
79
|
+
return matches;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=_entry-fts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_entry-fts.js","sourceRoot":"","sources":["../../src/schemes/_entry-fts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
-- {§find-fulltext-selection} Native FTS5 query and ranking over visible candidates.
|
|
2
|
+
|
|
3
|
+
-- PREP: fts_delete
|
|
4
|
+
DELETE FROM derivation_fts WHERE rowid = $derivation_id;
|
|
5
|
+
|
|
6
|
+
-- PREP: fts_insert
|
|
7
|
+
INSERT INTO derivation_fts (rowid, content) VALUES ($derivation_id, $content);
|
|
8
|
+
|
|
9
|
+
-- PREP: fts_rank_candidates
|
|
10
|
+
WITH candidates AS (
|
|
11
|
+
SELECT json_extract(value, '$.key') AS key,
|
|
12
|
+
json_extract(value, '$.deepHash') AS deep_hash
|
|
13
|
+
FROM json_each($candidates)
|
|
14
|
+
)
|
|
15
|
+
SELECT c.key, f.content,
|
|
16
|
+
highlight(derivation_fts, 0, $open, $close) AS highlighted
|
|
17
|
+
FROM derivation_fts f
|
|
18
|
+
JOIN derivations d ON d.id = f.rowid AND d.state = 'complete'
|
|
19
|
+
JOIN candidates c ON c.deep_hash = d.deep_hash
|
|
20
|
+
WHERE f.content MATCH $query
|
|
21
|
+
ORDER BY bm25(derivation_fts), c.key COLLATE BINARY;
|
|
22
|
+
|
|
23
|
+
-- INIT: derivations_delete_fts
|
|
24
|
+
-- {§retention-policy}: the full-text row is the derivation's shadow (rowid = derivation id) and
|
|
25
|
+
-- leaves with it on every delete path, so no collector has to remember it.
|
|
26
|
+
DROP TRIGGER IF EXISTS derivations_delete_fts;
|
|
27
|
+
CREATE TRIGGER derivations_delete_fts
|
|
28
|
+
AFTER DELETE ON derivations
|
|
29
|
+
BEGIN
|
|
30
|
+
DELETE FROM derivation_fts WHERE rowid = OLD.id;
|
|
31
|
+
END;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-graph.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-graph.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,UAAU;;IAC3B,MAAM,CAAC,UAAU,IAAI,MAAM,CAO1B;IAKD,OAAa,YAAY,CACrB,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAC5B,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,UAAU,EAAE,SAAS,OAAO,EAAE,GAC/D,OAAO,CAAC,IAAI,CAAC,CAqBf;IAOD,OAAa,eAAe,CACxB,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,UAAU,EAAE,SAAS,eAAe,EAAE,EACtC,GAAG,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAmBpD;
|
|
1
|
+
{"version":3,"file":"_entry-graph.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-graph.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,UAAU;;IAC3B,MAAM,CAAC,UAAU,IAAI,MAAM,CAO1B;IAKD,OAAa,YAAY,CACrB,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAC5B,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,UAAU,EAAE,SAAS,OAAO,EAAE,GAC/D,OAAO,CAAC,IAAI,CAAC,CAqBf;IAOD,OAAa,eAAe,CACxB,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,UAAU,EAAE,SAAS,eAAe,EAAE,EACtC,GAAG,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAmBpD;CA6CJ;AAKD,MAAM,WAAW,UAAU;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAAE"}
|
|
@@ -26,7 +26,7 @@ export default class EntryGraph {
|
|
|
26
26
|
// Structured data may legitimately define an empty key. The symbols
|
|
27
27
|
// channel preserves it, but the &graph language cannot address an empty
|
|
28
28
|
// name, so it has no graph identity. Omit only that unaddressable
|
|
29
|
-
// definition; FTS
|
|
29
|
+
// definition; FTS still derives from the complete content.
|
|
30
30
|
const addressableSymbols = symbols.filter(({ name }) => name.length > 0);
|
|
31
31
|
const storeBatch = EntryGraph.storeBatch();
|
|
32
32
|
for (let offset = 0; offset < addressableSymbols.length; offset += storeBatch) {
|
|
@@ -99,21 +99,13 @@ export default class EntryGraph {
|
|
|
99
99
|
// defining entries (with their def spans). The definition's fully qualified
|
|
100
100
|
// container identity is the &> join key. {§graph-relations}
|
|
101
101
|
static async #referents(db, universe, candidates, name) {
|
|
102
|
-
|
|
103
|
-
|
|
102
|
+
// One statement walks definitions → referenced targets → their defining candidates.
|
|
103
|
+
const rows = await db.graph_referents.all({
|
|
104
|
+
universe: JSON.stringify(universe),
|
|
105
|
+
candidates: JSON.stringify(candidates),
|
|
104
106
|
name,
|
|
105
107
|
});
|
|
106
|
-
|
|
107
|
-
for (const d of defs) {
|
|
108
|
-
const qualified = d.container === null ? name : `${d.container}.${name}`;
|
|
109
|
-
const refs = await db.graph_refs_from_source.all({ derivation_id: d.derivation_id, container: qualified });
|
|
110
|
-
for (const r of refs)
|
|
111
|
-
targets.add(r.name);
|
|
112
|
-
}
|
|
113
|
-
const out = [];
|
|
114
|
-
for (const t of targets)
|
|
115
|
-
out.push(...await EntryGraph.#defs(db, candidates, t));
|
|
116
|
-
return EntryGraph.#dedupe(out);
|
|
108
|
+
return EntryGraph.#dedupe(rows.map((r) => ({ key: r.key, lineStart: r.line, lineEnd: r.end_line })));
|
|
117
109
|
}
|
|
118
110
|
}
|
|
119
111
|
//# sourceMappingURL=_entry-graph.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-graph.js","sourceRoot":"","sources":["../../src/schemes/_entry-graph.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,iFAAiF;AACjF,sFAAsF;AACtF,6EAA6E;AAC7E,0DAA0D;AAC1D,EAAE;AACF,mFAAmF;AACnF,wFAAwF;AACxF,+DAA+D;AAC/D,oEAAoE;AAMpE,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,MAAM,CAAC,UAAU;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,UAAU,CAAC,0EAA0E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1H,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,4EAA4E;IAC5E,+EAA+E;IAC/E,2EAA2E;IAC3E,MAAM,CAAC,KAAK,CAAC,YAAY,CACrB,EAAM,EAAE,YAAoB,EAC5B,OAA8B,EAAE,UAA8B;QAE9D,MAAM,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;QAChE,MAAM,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;QAChE,oEAAoE;QACpE,wEAAwE;QACxE,kEAAkE;QAClE,
|
|
1
|
+
{"version":3,"file":"_entry-graph.js","sourceRoot":"","sources":["../../src/schemes/_entry-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,14 +10,6 @@ DELETE FROM symbol_defs WHERE derivation_id = $derivation_id;
|
|
|
10
10
|
-- PREP: graph_delete_refs
|
|
11
11
|
DELETE FROM symbol_refs WHERE derivation_id = $derivation_id;
|
|
12
12
|
|
|
13
|
-
-- PREP: graph_insert_def
|
|
14
|
-
INSERT INTO symbol_defs (derivation_id, name, kind, container, line, end_line)
|
|
15
|
-
VALUES ($derivation_id, $name, $kind, $container, $line, $end_line);
|
|
16
|
-
|
|
17
|
-
-- PREP: graph_insert_ref
|
|
18
|
-
INSERT INTO symbol_refs (derivation_id, name, kind, container, line, col)
|
|
19
|
-
VALUES ($derivation_id, $name, $kind, $container, $line, $col);
|
|
20
|
-
|
|
21
13
|
-- PREP: graph_insert_defs_bulk
|
|
22
14
|
INSERT INTO symbol_defs (derivation_id, name, kind, container, line, end_line)
|
|
23
15
|
SELECT $derivation_id,
|
|
@@ -27,36 +19,15 @@ SELECT $derivation_id,
|
|
|
27
19
|
FROM json_each($rows);
|
|
28
20
|
|
|
29
21
|
-- PREP: graph_insert_refs_bulk
|
|
30
|
-
INSERT INTO symbol_refs (derivation_id, name, kind, container, line
|
|
22
|
+
INSERT INTO symbol_refs (derivation_id, name, kind, container, line)
|
|
31
23
|
SELECT $derivation_id,
|
|
32
24
|
json_extract(value, '$.name'), json_extract(value, '$.kind'),
|
|
33
|
-
json_extract(value, '$.container'), json_extract(value, '$.line')
|
|
34
|
-
json_extract(value, '$.column')
|
|
25
|
+
json_extract(value, '$.container'), json_extract(value, '$.line')
|
|
35
26
|
FROM json_each($rows);
|
|
36
27
|
|
|
37
28
|
-- PREP: derivation_get
|
|
38
29
|
SELECT id, state, disposition, reason FROM derivations WHERE deep_hash = $deep_hash;
|
|
39
30
|
|
|
40
|
-
-- PREP: derivation_vectors_landed
|
|
41
|
-
-- {§derivation-vectors-background} — the pump lands an attached artifact's vectors: only a
|
|
42
|
-
-- complete artifact still owing them upgrades.
|
|
43
|
-
UPDATE derivations
|
|
44
|
-
SET disposition = $disposition, reason = $reason
|
|
45
|
-
WHERE id = $derivation_id AND state = 'complete'
|
|
46
|
-
AND disposition = 'lexical' AND reason = 'vectors_pending';
|
|
47
|
-
|
|
48
|
-
-- PREP: derivation_vectors_pending
|
|
49
|
-
-- How many of these artifacts still owe vectors — the semantic query's join condition.
|
|
50
|
-
SELECT COUNT(*) AS pending
|
|
51
|
-
FROM derivations
|
|
52
|
-
WHERE disposition = 'lexical' AND reason = 'vectors_pending'
|
|
53
|
-
AND deep_hash IN (SELECT value FROM json_each($deep_hashes));
|
|
54
|
-
|
|
55
|
-
-- PREP: graph_defs_extents
|
|
56
|
-
-- An artifact's stored symbol extents, the tiler's preferred cut points when its vectors
|
|
57
|
-
-- derive after the pass that populated the graph.
|
|
58
|
-
SELECT line, end_line FROM symbol_defs WHERE derivation_id = $derivation_id ORDER BY line;
|
|
59
|
-
|
|
60
31
|
-- PREP: derivation_create
|
|
61
32
|
INSERT INTO derivations (deep_hash, state)
|
|
62
33
|
VALUES ($deep_hash, 'building')
|
|
@@ -99,21 +70,35 @@ JOIN candidates c ON c.deep_hash = x.deep_hash
|
|
|
99
70
|
WHERE d.name = $name
|
|
100
71
|
ORDER BY c.key, d.line;
|
|
101
72
|
|
|
102
|
-
-- PREP:
|
|
103
|
-
-- sym
|
|
104
|
-
|
|
73
|
+
-- PREP: graph_referents
|
|
74
|
+
-- &>sym in one statement — sym's definitions in the relationship universe, the target names
|
|
75
|
+
-- their reference rows carry (keyed on each definition's fully qualified container), and the
|
|
76
|
+
-- defining candidate keys + def spans of those targets. {§graph-relations}
|
|
77
|
+
WITH universe AS (
|
|
105
78
|
SELECT json_extract(value, '$.deepHash') AS deep_hash
|
|
79
|
+
FROM json_each($universe)
|
|
80
|
+
),
|
|
81
|
+
candidates AS (
|
|
82
|
+
SELECT json_extract(value, '$.key') AS key,
|
|
83
|
+
json_extract(value, '$.deepHash') AS deep_hash
|
|
106
84
|
FROM json_each($candidates)
|
|
85
|
+
),
|
|
86
|
+
sources AS (
|
|
87
|
+
SELECT DISTINCT d.derivation_id,
|
|
88
|
+
CASE WHEN d.container IS NULL THEN $name ELSE d.container || '.' || $name END AS qualified
|
|
89
|
+
FROM symbol_defs d
|
|
90
|
+
JOIN derivations x ON x.id = d.derivation_id
|
|
91
|
+
JOIN universe u ON u.deep_hash = x.deep_hash
|
|
92
|
+
WHERE d.name = $name
|
|
93
|
+
),
|
|
94
|
+
targets AS (
|
|
95
|
+
SELECT DISTINCT r.name
|
|
96
|
+
FROM symbol_refs r
|
|
97
|
+
JOIN sources s ON s.derivation_id = r.derivation_id AND r.container IS s.qualified
|
|
107
98
|
)
|
|
108
|
-
SELECT DISTINCT d.
|
|
109
|
-
FROM
|
|
99
|
+
SELECT DISTINCT c.key, d.line AS line, COALESCE(d.end_line, d.line) AS end_line
|
|
100
|
+
FROM targets t
|
|
101
|
+
JOIN symbol_defs d ON d.name = t.name
|
|
110
102
|
JOIN derivations x ON x.id = d.derivation_id
|
|
111
103
|
JOIN candidates c ON c.deep_hash = x.deep_hash
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
-- PREP: graph_refs_from_source
|
|
115
|
-
-- &>sym step — the target names referenced by sym's definition, whose own
|
|
116
|
-
-- reference rows key on the source definition's fully qualified container.
|
|
117
|
-
-- {§graph-relations}
|
|
118
|
-
SELECT DISTINCT name FROM symbol_refs
|
|
119
|
-
WHERE derivation_id = $derivation_id AND container IS $container;
|
|
104
|
+
ORDER BY c.key, d.line;
|
|
@@ -4,7 +4,8 @@ export type CatalogChannel = EntryCatalogChannel;
|
|
|
4
4
|
export type CatalogDefaultChannel = EntryCatalogDefaultChannel;
|
|
5
5
|
export type CatalogEntry = [CatalogDefaultChannel, ...CatalogChannel[]];
|
|
6
6
|
export default class EntryManifest {
|
|
7
|
+
static readonly SUMMARY_CODE_POINTS = 256;
|
|
7
8
|
static toPath(scheme: string, authority: string, pathname: string): string;
|
|
8
|
-
static catalogRowsFor(ctx: PlurnkSchemeContext, schemeFilter?: string,
|
|
9
|
+
static catalogRowsFor(ctx: PlurnkSchemeContext, schemeFilter?: string, authorityFilter?: string): Promise<CatalogEntry[]>;
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=_entry-manifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-manifest.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-manifest.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,KAAK,EACR,mBAAmB,EACnB,0BAA0B,EAE7B,MAAM,wBAAwB,CAAC;AAuBhC,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC;AACjD,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG,CAAC,qBAAqB,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"_entry-manifest.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-manifest.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,KAAK,EACR,mBAAmB,EACnB,0BAA0B,EAE7B,MAAM,wBAAwB,CAAC;AAuBhC,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC;AACjD,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG,CAAC,qBAAqB,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;AAqBxE,MAAM,CAAC,OAAO,OAAO,aAAa;IAE9B,MAAM,CAAC,QAAQ,CAAC,mBAAmB,OAAO;IAE1C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGzE;IAED,OAAa,cAAc,CACvB,GAAG,EAAE,mBAAmB,EACxB,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,YAAY,EAAE,CAAC,CAqEzB;CACJ"}
|
|
@@ -5,32 +5,33 @@
|
|
|
5
5
|
// Search indexing is owned separately by SearchIndex.
|
|
6
6
|
import { PathSyntax } from "@plurnk/plurnk-contracts";
|
|
7
7
|
import { renderAddress } from "../core/plurnk-uri.js";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
// {§scheme-catalog-aside} — prose is clipped so a row stays one line of orientation; an
|
|
9
|
+
// invocation-form witness (a fenced one-liner, the shape a tool family's summary takes) is shown
|
|
10
|
+
// whole, because a menu that is cut is no menu: the row exists so the model can invoke without a READ.
|
|
11
|
+
const catalogAside = (value) => {
|
|
11
12
|
if (value === null)
|
|
12
13
|
return undefined;
|
|
14
|
+
if (value.startsWith("```"))
|
|
15
|
+
return value;
|
|
13
16
|
const points = [...value];
|
|
14
|
-
return points.length <=
|
|
17
|
+
return points.length <= EntryManifest.SUMMARY_CODE_POINTS
|
|
15
18
|
? value
|
|
16
|
-
: `${points.slice(0,
|
|
19
|
+
: `${points.slice(0, EntryManifest.SUMMARY_CODE_POINTS - 1).join("")}…`;
|
|
17
20
|
};
|
|
18
21
|
export default class EntryManifest {
|
|
22
|
+
// {§scheme-catalog-aside} — the catalog shows a prose summary whole up to this many code points.
|
|
23
|
+
static SUMMARY_CODE_POINTS = 256;
|
|
19
24
|
static toPath(scheme, authority, pathname) {
|
|
20
25
|
if (scheme === "file")
|
|
21
26
|
return PathSyntax.escapeTarget(PathSyntax.encodeParens(pathname));
|
|
22
27
|
return renderAddress({ scheme, authority, pathname });
|
|
23
28
|
}
|
|
24
|
-
static async catalogRowsFor(ctx, schemeFilter,
|
|
25
|
-
const { db, workspaceId
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
throw new Error("catalogRowsFor: ctx.weigh is required — model-independent curation weight, re-counted at render");
|
|
30
|
-
const resolvedOwnerId = ownerId ?? await Owner.commonsId(db, workspaceId);
|
|
31
|
-
const all = await db.engine_list_owner_entries.all({
|
|
29
|
+
static async catalogRowsFor(ctx, schemeFilter, authorityFilter) {
|
|
30
|
+
const { db, workspaceId } = ctx;
|
|
31
|
+
// Weight and extent are stored beside the content ({§tokenomics-weight-stored-at-write}):
|
|
32
|
+
// the listing never hydrates a body.
|
|
33
|
+
const all = await db.engine_list_catalog_entries.all({
|
|
32
34
|
workspace_id: workspaceId,
|
|
33
|
-
owner_id: resolvedOwnerId,
|
|
34
35
|
});
|
|
35
36
|
const rows = all.filter((row) => (schemeFilter === undefined || row.scheme === schemeFilter)
|
|
36
37
|
&& (authorityFilter === undefined || row.authority === authorityFilter));
|
|
@@ -41,7 +42,7 @@ export default class EntryManifest {
|
|
|
41
42
|
if (entry === undefined) {
|
|
42
43
|
entry = {
|
|
43
44
|
path,
|
|
44
|
-
defaultChannel:
|
|
45
|
+
defaultChannel: row.default_channel,
|
|
45
46
|
channels: [],
|
|
46
47
|
};
|
|
47
48
|
byEntry.set(path, entry);
|
|
@@ -61,17 +62,10 @@ export default class EntryManifest {
|
|
|
61
62
|
};
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
|
-
let totalLines;
|
|
65
|
-
try {
|
|
66
|
-
totalLines = (await mimetypes.process({ content: row.content, hint: row.mimetype }, { channels: [] })).totalLines;
|
|
67
|
-
}
|
|
68
|
-
catch {
|
|
69
|
-
totalLines = row.content.length === 0 ? 0 : row.content.split("\n").length;
|
|
70
|
-
}
|
|
71
65
|
const channelPath = row.channel === entry.defaultChannel
|
|
72
66
|
? entry.path
|
|
73
67
|
: `${entry.path}#${PathSyntax.escapeTarget(row.channel)}`;
|
|
74
|
-
const
|
|
68
|
+
const aside = catalogAside(row.summary);
|
|
75
69
|
const sourceMimetype = row.channel === entry.defaultChannel
|
|
76
70
|
&& row.source_mimetype !== null
|
|
77
71
|
&& row.source_mimetype !== row.mimetype
|
|
@@ -81,9 +75,9 @@ export default class EntryManifest {
|
|
|
81
75
|
path: channelPath,
|
|
82
76
|
mimetype: row.mimetype,
|
|
83
77
|
...(sourceMimetype === undefined ? {} : { sourceMimetype }),
|
|
84
|
-
weight:
|
|
85
|
-
lines:
|
|
86
|
-
...(
|
|
78
|
+
weight: row.weight,
|
|
79
|
+
lines: row.lines,
|
|
80
|
+
...(aside === undefined ? {} : { aside }),
|
|
87
81
|
...(row.parse_issues !== null
|
|
88
82
|
? { parseIssues: row.parse_issues }
|
|
89
83
|
: {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-manifest.js","sourceRoot":"","sources":["../../src/schemes/_entry-manifest.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,yFAAyF;AACzF,+EAA+E;AAC/E,yEAAyE;AACzE,sDAAsD;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAMtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"_entry-manifest.js","sourceRoot":"","sources":["../../src/schemes/_entry-manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
-- EntryManifest: the catalog listing a turn 0 FIND presents.
|
|
2
|
+
|
|
3
|
+
-- PREP: engine_list_catalog_entries
|
|
4
|
+
-- {§entry-owner}: canonical entries in one workspace.
|
|
5
|
+
-- the commons, a worker's own space, or a named space — exactly one owner's rows, its perspective.
|
|
6
|
+
SELECT e.id AS entry_id, e.scheme, e.authority, e.pathname, e.default_channel, ec.name AS channel, ec.lines, ec.mimetype, ec.weight AS weight, ec.deep_hash,
|
|
7
|
+
json_extract(e.attributes, '$.sourceProjection.mimetype') AS source_mimetype,
|
|
8
|
+
d.parse_issues, d.summary,
|
|
9
|
+
s.id AS subscription_id,
|
|
10
|
+
CASE WHEN s.closed_at IS NULL
|
|
11
|
+
THEN CAST(unixepoch('now') - unixepoch(s.opened_at) AS INTEGER)
|
|
12
|
+
ELSE NULL
|
|
13
|
+
END AS seconds,
|
|
14
|
+
s.close_status
|
|
15
|
+
FROM entries e
|
|
16
|
+
JOIN entry_channels ec ON ec.entry_id = e.id
|
|
17
|
+
LEFT JOIN derivations d ON d.deep_hash = ec.deep_hash
|
|
18
|
+
LEFT JOIN subscriptions s ON s.id = (
|
|
19
|
+
SELECT latest.id
|
|
20
|
+
FROM subscriptions latest
|
|
21
|
+
WHERE latest.entry_id = e.id
|
|
22
|
+
ORDER BY latest.id DESC
|
|
23
|
+
LIMIT 1
|
|
24
|
+
)
|
|
25
|
+
WHERE e.workspace_id = $workspace_id
|
|
26
|
+
ORDER BY e.updated_at ASC, e.id ASC, ec.name;
|
|
@@ -17,21 +17,19 @@ export type ReadResult = SchemeResultBase & {
|
|
|
17
17
|
region?: TextRegion;
|
|
18
18
|
range?: RangeExtent;
|
|
19
19
|
reason?: string;
|
|
20
|
-
awaitWorker?: string;
|
|
21
20
|
};
|
|
22
21
|
export type OpenFoldResult = SchemeResultBase;
|
|
23
22
|
interface ReadAddress {
|
|
24
|
-
readonly ownerId: number;
|
|
25
23
|
readonly authority?: string;
|
|
26
24
|
readonly pathname?: string;
|
|
27
25
|
}
|
|
28
26
|
export default class EntryOps {
|
|
29
27
|
#private;
|
|
30
|
-
static editWorkspaceEntryBatch(statements: readonly ResolvedEditStatement[], ctx: PlurnkSchemeContext, manifest: SchemeManifest,
|
|
28
|
+
static editWorkspaceEntryBatch(statements: readonly ResolvedEditStatement[], ctx: PlurnkSchemeContext, manifest: SchemeManifest, precondition?: LineAnchorPrecondition | null): Promise<EditResult>;
|
|
31
29
|
static deleteWorkspaceEntry(statement: {
|
|
32
30
|
target: ResolvedEditStatement["target"];
|
|
33
|
-
}, ctx: PlurnkSchemeContext, manifest: SchemeManifest
|
|
34
|
-
static readWorkspaceEntry(statement: ReadStatement, ctx: PlurnkSchemeContext, manifest: SchemeManifest, address: ReadAddress | null, bytes?: ByteSource): Promise<ReadResult>;
|
|
31
|
+
}, ctx: PlurnkSchemeContext, manifest: SchemeManifest): Promise<SchemeResultBase>;
|
|
32
|
+
static readWorkspaceEntry(statement: ReadStatement, ctx: PlurnkSchemeContext, manifest: SchemeManifest, address: ReadAddress | null, publishesLineAnchors: boolean, bytes?: ByteSource): Promise<ReadResult>;
|
|
35
33
|
}
|
|
36
34
|
export {};
|
|
37
35
|
//# sourceMappingURL=_entry-ops.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-ops.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-ops.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_entry-ops.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-ops.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE7G,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAsB,MAAM,wBAAwB,CAAC;AAaxF,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAAE,CAAC;AAKtI,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG;IACxC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAE9C,UAAU,WAAW;IACjB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;;IAgDzB,OAAa,uBAAuB,CAChC,UAAU,EAAE,SAAS,qBAAqB,EAAE,EAC5C,GAAG,EAAE,mBAAmB,EACxB,QAAQ,EAAE,cAAc,EACxB,YAAY,GAAE,sBAAsB,GAAG,IAAW,GACnD,OAAO,CAAC,UAAU,CAAC,CA4PrB;IAGD,OAAa,oBAAoB,CAAC,SAAS,EAAE;QAAE,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAA;KAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6CvK;IAED,OAAa,kBAAkB,CAC3B,SAAS,EAAE,aAAa,EACxB,GAAG,EAAE,mBAAmB,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,oBAAoB,EAAE,OAAO,EAC7B,KAAK,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC,UAAU,CAAC,CAiErB;CACJ"}
|