@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
package/docs/env.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# env
|
|
2
|
+
|
|
3
|
+
Every command you run receives a composed environment, never the host's. The
|
|
4
|
+
ambient names are what the operator's ceiling admits; your own entries sit above
|
|
5
|
+
them, and both are yours to shape. `list` shows exactly what your next command
|
|
6
|
+
will see, each value with its origin.
|
|
7
|
+
|
|
8
|
+
## Your entries
|
|
9
|
+
|
|
10
|
+
`add` sets one variable for every command you run from now on. The name is the
|
|
11
|
+
alias, `{ "value": "…" }` the definition, used verbatim: no interpolation, no
|
|
12
|
+
escapes. It persists until you `remove` it. This is a registry, not a prefix —
|
|
13
|
+
`CARGO_TARGET_DIR=/tmp/x cargo build` sets a value for one command; `add` sets
|
|
14
|
+
it for all of them.
|
|
15
|
+
|
|
16
|
+
`disable` withdraws a name from your commands while keeping the entry listed;
|
|
17
|
+
`enable` restores it. For an ambient name that is how `CI=1` goes away for you
|
|
18
|
+
alone, without the operator changing anything. `remove` forgets your own entry;
|
|
19
|
+
an ambient name of the same alias reappears, disabled, so removal never quietly
|
|
20
|
+
changes what your next command sees.
|
|
21
|
+
|
|
22
|
+
Your entries are yours: another worker's commands do not see them. A worker
|
|
23
|
+
you spawn starts with a copy of them — `list` shows those as inherited from
|
|
24
|
+
you — and its changes never reach yours.
|
|
25
|
+
|
|
26
|
+
## For one command, or for one child
|
|
27
|
+
|
|
28
|
+
The heading's `[metadata]` takes `env`. On a command fence it is that run's
|
|
29
|
+
environment, over your entries, and it is gone when the run ends:
|
|
30
|
+
|
|
31
|
+
````sh [{"env": {"RUST_LOG": "debug"}}]
|
|
32
|
+
cargo test
|
|
33
|
+
````
|
|
34
|
+
|
|
35
|
+
On `WORK` and `FORK` it is the child's starting environment: the child gets a
|
|
36
|
+
copy of your entries first, then each name here becomes its own, so you hand
|
|
37
|
+
down your registry and override what one child needs in the same line:
|
|
38
|
+
|
|
39
|
+
````WORK (worker://builder) [{"env": {"CARGO_TARGET_DIR": "/tmp/builder"}}]
|
|
40
|
+
Build the crate and report the warnings.
|
|
41
|
+
````
|
|
42
|
+
|
|
43
|
+
## Names you cannot set
|
|
44
|
+
|
|
45
|
+
`PLURNK_*` and provider credential names are plurnk's own and never reach a
|
|
46
|
+
command, so `add` refuses them and tells you why.
|
|
47
|
+
|
|
48
|
+
## Finding a name
|
|
49
|
+
|
|
50
|
+
`discover` is this installation's configuration catalog: every knob an installed
|
|
51
|
+
package declares, with the declaring package as its provenance and its own
|
|
52
|
+
comment as the summary. It is not a permissions list — you may set any name —
|
|
53
|
+
it tells you which names have a consumer, and it is how you learn the name of a
|
|
54
|
+
value only the operator can supply. Refer to such a value by its name; you never
|
|
55
|
+
need to see it.
|
package/docs/members.md
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# members
|
|
2
|
+
|
|
3
|
+
Membership is the only door to the project's files. A project file is exactly
|
|
4
|
+
one of three things to this workspace: **tracked by git**, **added** by a
|
|
5
|
+
definition, or **invisible**. Nothing is a member because it exists on disk or
|
|
6
|
+
because git happens not to ignore it. What you can `READ`, `FIND`, and `EDIT`
|
|
7
|
+
is `(tracked ∪ include) − exclude`, and the catalog at turn 0 shows exactly
|
|
8
|
+
that set.
|
|
9
|
+
|
|
10
|
+
## What makes a file visible
|
|
11
|
+
|
|
12
|
+
| A file is a member because | How it got there |
|
|
13
|
+
| --- | --- |
|
|
14
|
+
| git tracks it | it was committed or staged (`git ls-files`), refreshed every turn |
|
|
15
|
+
| a definition includes it | an enabled `members` definition — a gitignore-style glob such as `docs/**` |
|
|
16
|
+
| plurnk created it | a file your accepted `EDIT`, `COPY`, or `MOVE` wrote gets an exact creation record; it is a member without any `git add` |
|
|
17
|
+
|
|
18
|
+
An exclusion (`!glob`) wins over every inclusion. A model definition never
|
|
19
|
+
includes a path the repository ignores.
|
|
20
|
+
|
|
21
|
+
## What you may change here
|
|
22
|
+
|
|
23
|
+
Your `add` is admitted against the operator's ceiling
|
|
24
|
+
`PLURNK_SERVICE_MEMBERS_MODEL_SCOPE`, narrowed by the workspace:
|
|
25
|
+
|
|
26
|
+
| Scope | A model definition may include |
|
|
27
|
+
| --- | --- |
|
|
28
|
+
| `none` | nothing — every `add` from the model is refused `403 model-scope` |
|
|
29
|
+
| `root` | paths inside the project root |
|
|
30
|
+
| `namespace` (shipped default) | those plus canonical `../` paths outside the root |
|
|
31
|
+
|
|
32
|
+
The scope refuses an `add` you author from a turn; a client's `/members add`
|
|
33
|
+
and the operator's `PLURNK_MEMBERS_<ALIAS>=<glob>` definitions are not bound
|
|
34
|
+
by it. `discover` always works: a path answers why it is or is not visible; a
|
|
35
|
+
glob previews what `add` would resolve to.
|
|
36
|
+
|
|
37
|
+
## When a file you need is not a member
|
|
38
|
+
|
|
39
|
+
Ask first: `members (discover)` with `{"query": "build/report.json"}`
|
|
40
|
+
says `tracked`, `included by …`, `a creation record`, `excluded by …`,
|
|
41
|
+
`ignored`, `untracked`, or `absent`.
|
|
42
|
+
|
|
43
|
+
- **Untracked and you are allowed to add** (`root` or `namespace`): add a
|
|
44
|
+
definition and it is a member from the next turn.
|
|
45
|
+
|
|
46
|
+
````members (add) <!-- include the generated reports -->
|
|
47
|
+
{"alias": "reports", "definition": {"glob": "build/*.json"}}
|
|
48
|
+
````
|
|
49
|
+
|
|
50
|
+
- **Untracked and the scope is `none`** (an operator narrowed it): the refusal
|
|
51
|
+
names the recovery, and it is not a trick — make git track the file. Staging
|
|
52
|
+
is enough; no commit is needed, and membership refreshes at your next turn.
|
|
53
|
+
|
|
54
|
+
````sh <!-- git tracks it, so it becomes a member -->
|
|
55
|
+
git add build/report.json
|
|
56
|
+
````
|
|
57
|
+
|
|
58
|
+
Or ask the user to add it (`/members add`) or to raise the scope. Do not
|
|
59
|
+
loop on `add`; the scope will not change mid-turn.
|
|
60
|
+
|
|
61
|
+
- **Ignored by the repository**: no model definition can include it, and
|
|
62
|
+
`git add` refuses it too. Only a client or operator definition covers an
|
|
63
|
+
ignored path; say so and ask.
|
|
64
|
+
|
|
65
|
+
- **Excluded by `!glob`**: an exclusion is deliberate; ask the user before
|
|
66
|
+
working around it.
|
|
67
|
+
|
|
68
|
+
## Files you create
|
|
69
|
+
|
|
70
|
+
An `EDIT` to a path that does not exist creates it when the file-creation
|
|
71
|
+
scope admits it (`PLURNK_SERVICE_FILE_CREATE_SCOPE`, shipped `root`: inside
|
|
72
|
+
the project root only). The new file is a member immediately through its
|
|
73
|
+
creation record — you never need `git add` for your own creations. Deleting
|
|
74
|
+
it (`KILL`) retires the record.
|
|
75
|
+
|
|
76
|
+
## Definitions belong to the workspace
|
|
77
|
+
|
|
78
|
+
`list` shows every definition with its origin (`service` from the operator's
|
|
79
|
+
environment, `workspace` from an `add`) and whether it is enabled. `enable` and
|
|
80
|
+
`disable` flip one shared alias; `remove` deletes a workspace-added definition
|
|
81
|
+
(service definitions can only be disabled). Changes apply to every worker.
|
|
82
|
+
Each enabled definition is projected as
|
|
83
|
+
`worker:///_plurnk/members/<alias>.md` showing what its glob resolved to.
|
package/docs/skills.md
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# skills
|
|
2
|
+
|
|
3
|
+
An Agent Skill is a directory holding a `SKILL.md` (standard `name` and
|
|
4
|
+
`description` frontmatter, then instructions) and optionally references,
|
|
5
|
+
scripts, and assets beside it. Skills are how a project or a user hands you
|
|
6
|
+
procedures and tools without pasting them into every conversation. Enabled
|
|
7
|
+
skills appear in the turn-0 catalog as `skill://<name>/SKILL.md`; nothing is
|
|
8
|
+
injected until you `READ` it.
|
|
9
|
+
|
|
10
|
+
## Where skills come from
|
|
11
|
+
|
|
12
|
+
| Scope | Root | Who put it there |
|
|
13
|
+
| --- | --- | --- |
|
|
14
|
+
| `project` | `<project root>/.agents/skills/<name>/` | the repository (often committed) |
|
|
15
|
+
| `global` | `~/.agents/skills/<name>/` | the user, for every project |
|
|
16
|
+
| `service` | a tree the service itself provides | plurnk (for example the `plurnk` skill: its own configuration and model reference) |
|
|
17
|
+
|
|
18
|
+
A `project` skill shadows a `global` one of the same name, which shadows a
|
|
19
|
+
`service` one. Every installed skill is a service-origin definition, enabled
|
|
20
|
+
by default; a disabled skill is invisible to you but still listed for the
|
|
21
|
+
client.
|
|
22
|
+
|
|
23
|
+
## Read before you install
|
|
24
|
+
|
|
25
|
+
The instructions are the skill: `READ (skill://<name>/SKILL.md)` for the
|
|
26
|
+
procedure, `FIND (skill://<name>/**)` for its files, and
|
|
27
|
+
`runtime (skill://<name>/scripts/<program>)` to run one of its scripts
|
|
28
|
+
under the ordinary proposal policy. Skill resources are read-only; you do not
|
|
29
|
+
`EDIT` an installed skill.
|
|
30
|
+
|
|
31
|
+
Reach for `discover` when the task names a capability no enabled skill
|
|
32
|
+
provides: `{"query": "..."}` searches the standard registry and returns one
|
|
33
|
+
candidate per hit with its exact `owner/repo` source; `{"source": "owner/repo"}`
|
|
34
|
+
lists the skills one package contains. Discovery never installs anything.
|
|
35
|
+
|
|
36
|
+
## Installing
|
|
37
|
+
|
|
38
|
+
`add` installs a skill through the standard installer and enables it:
|
|
39
|
+
|
|
40
|
+
````skills (add) <!-- from a discover candidate -->
|
|
41
|
+
{"alias": "sql-formatter", "definition": {"name": "sql-formatter", "scope": "project", "source": "example/skills"}}
|
|
42
|
+
````
|
|
43
|
+
|
|
44
|
+
The alias must equal the skill's `name`; `source` is required unless the
|
|
45
|
+
directory already exists; `scope: "project"` needs a project root and writes
|
|
46
|
+
under `.agents/skills`. Installation is a host effect, so it proposes and runs
|
|
47
|
+
only on acceptance. A skill that fails to install or has invalid frontmatter is
|
|
48
|
+
listed `unavailable` with its exact Problem — one bad skill never disables the
|
|
49
|
+
family. `remove` uninstalls the workspace-added skill; service skills can only
|
|
50
|
+
be disabled.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
-- MIGRATE: 1 workspaces
|
|
2
|
+
-- Chapter 1 of the schema baseline ({§db-schema-baseline}): The workspace: identity, module state, membership constraints.
|
|
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
|
+
-- workspaces
|
|
7
|
+
-- project_root: workspace pointer. NULL = headless (no disk side-effects);
|
|
8
|
+
-- non-null = absolute path to the client's source tree, supplied at
|
|
9
|
+
-- workspace.create or workspace.set_root.
|
|
10
|
+
CREATE TABLE IF NOT EXISTS workspaces (
|
|
11
|
+
id INTEGER NOT NULL PRIMARY KEY,
|
|
12
|
+
version INTEGER NOT NULL DEFAULT 0 CHECK (version >= 0),
|
|
13
|
+
name TEXT NOT NULL UNIQUE CHECK (length(name) > 0),
|
|
14
|
+
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
|
|
15
|
+
project_root TEXT,
|
|
16
|
+
-- {§operator-config} validated client workspace settings; each field composes
|
|
17
|
+
-- with operator configuration at its owning use site.
|
|
18
|
+
settings TEXT NOT NULL DEFAULT '{}' CHECK (json_valid(settings))
|
|
19
|
+
) STRICT;
|
|
20
|
+
|
|
21
|
+
CREATE INDEX IF NOT EXISTS workspaces_created_at ON workspaces (created_at);
|
|
22
|
+
|
|
23
|
+
-- {§module-workspace-state}: one provider-validated snapshot per workspace.
|
|
24
|
+
CREATE TABLE IF NOT EXISTS workspace_module_state (
|
|
25
|
+
workspace_id INTEGER NOT NULL,
|
|
26
|
+
namespace_owner TEXT NOT NULL CHECK (length(namespace_owner) > 0),
|
|
27
|
+
state TEXT NOT NULL CHECK (json_valid(state)),
|
|
28
|
+
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
|
|
29
|
+
PRIMARY KEY (workspace_id, namespace_owner),
|
|
30
|
+
FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE CASCADE
|
|
31
|
+
) STRICT;
|
|
32
|
+
|
|
33
|
+
-- workspace_constraints
|
|
34
|
+
-- SPEC {§membership} constraint overlay — explicit policy and the inspectable
|
|
35
|
+
-- exact pick produced by accepted file creation share one representation.
|
|
36
|
+
-- Per (workspace, effect, glob/target): `pick` (members git misses, resolved by a
|
|
37
|
+
-- targeted client-dictated scan), `hide` (drop git-tracked matches), `view` (member
|
|
38
|
+
-- for read; File.edit rejects the write). git-absent, `pick` rows are the sole substrate
|
|
39
|
+
-- source. Composed at membership resolution; node:path.matchesGlob.
|
|
40
|
+
CREATE TABLE IF NOT EXISTS workspace_constraints (
|
|
41
|
+
workspace_id INTEGER NOT NULL,
|
|
42
|
+
-- include admits files git misses; exclude removes members — the members family's lexicon
|
|
43
|
+
-- ({§members-projection}). An inclusion is a pattern scan; a creation record is one exact path.
|
|
44
|
+
effect TEXT NOT NULL CHECK (effect IN ('include', 'exclude')),
|
|
45
|
+
glob TEXT NOT NULL,
|
|
46
|
+
-- create: the exact record of a file Plurnk wrote ({§fs-create-record}); members: a
|
|
47
|
+
-- human-authored definition projected by the members family; model: a definition the model
|
|
48
|
+
-- proposed under the members scope — never admitted past the repository's ignore rules.
|
|
49
|
+
source TEXT NOT NULL CHECK (source IN ('create', 'members', 'model')),
|
|
50
|
+
CHECK (source IN ('members', 'model') OR effect = 'include'),
|
|
51
|
+
PRIMARY KEY (workspace_id, effect, glob),
|
|
52
|
+
FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE CASCADE
|
|
53
|
+
) STRICT, WITHOUT ROWID;
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
-- MIGRATE: 2 workers
|
|
2
|
+
-- Chapter 2 of the schema baseline ({§db-schema-baseline}): Workers over a workspace, their model routes, and the ambient event feed their siblings observe.
|
|
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
|
+
-- model_routes — the immutable resolved model route ({§worker-model-selection}). One row per
|
|
7
|
+
-- complete resolved tuple; append-only. Alias is provenance plus a tuning scope,
|
|
8
|
+
-- not route identity, and is absent on a direct provider/model selection.
|
|
9
|
+
CREATE TABLE IF NOT EXISTS model_routes (
|
|
10
|
+
id INTEGER NOT NULL PRIMARY KEY,
|
|
11
|
+
alias TEXT CHECK (alias IS NULL OR length(alias) > 0),
|
|
12
|
+
provider TEXT NOT NULL CHECK (length(provider) > 0),
|
|
13
|
+
model TEXT NOT NULL CHECK (length(model) > 0),
|
|
14
|
+
base_url TEXT CHECK (base_url IS NULL OR length(base_url) > 0),
|
|
15
|
+
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))
|
|
16
|
+
) STRICT;
|
|
17
|
+
|
|
18
|
+
CREATE UNIQUE INDEX IF NOT EXISTS model_routes_identity
|
|
19
|
+
ON model_routes (coalesce(alias, ''), provider, model, coalesce(base_url, ''));
|
|
20
|
+
|
|
21
|
+
-- workers
|
|
22
|
+
CREATE TABLE IF NOT EXISTS workers (
|
|
23
|
+
id INTEGER NOT NULL PRIMARY KEY,
|
|
24
|
+
version INTEGER NOT NULL DEFAULT 0 CHECK (version >= 0),
|
|
25
|
+
workspace_id INTEGER NOT NULL,
|
|
26
|
+
-- {§loop-wake-identity}: completion events, not packet/log curation state.
|
|
27
|
+
wake_revision INTEGER NOT NULL DEFAULT 0 CHECK (wake_revision >= 0),
|
|
28
|
+
name TEXT NOT NULL CHECK (length(name) > 0),
|
|
29
|
+
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
|
|
30
|
+
-- {§worker-provider-identity}: provider affinity must not collide when
|
|
31
|
+
-- independent databases reuse local integer ids.
|
|
32
|
+
provider_identity TEXT NOT NULL DEFAULT (lower(hex(randomblob(16))))
|
|
33
|
+
CHECK (length(provider_identity) = 32 AND provider_identity NOT GLOB '*[^0-9a-f]*'),
|
|
34
|
+
-- {§worker-model-selection}: the worker's durable resolved model, NULL for non-model
|
|
35
|
+
-- workers or a deliberately modelless unresolved worker. spawn_model_route_id is the
|
|
36
|
+
-- persistent spawn override; NULL means "use my model."
|
|
37
|
+
model_route_id INTEGER REFERENCES model_routes(id),
|
|
38
|
+
spawn_model_route_id INTEGER REFERENCES model_routes(id),
|
|
39
|
+
-- {§worker-reasoning-policy}: nullable only while the worker has no model;
|
|
40
|
+
-- once selected, model and reasoning policy form one durable generation policy.
|
|
41
|
+
reasoning_policy TEXT CHECK (reasoning_policy IS NULL OR length(reasoning_policy) > 0),
|
|
42
|
+
-- {§worker-reasoning-source}: whether reasoning_policy was chosen (worker.reasoning.set)
|
|
43
|
+
-- or seeded from the alias configuration; a default never masquerades as a choice.
|
|
44
|
+
reasoning_source TEXT NOT NULL DEFAULT 'default' CHECK (reasoning_source IN ('default', 'explicit')),
|
|
45
|
+
-- workers fork via parent_worker_id; workspaces carry no parent — {§machine-processes-no-fork-workspace}
|
|
46
|
+
parent_worker_id INTEGER CHECK (parent_worker_id IS NULL OR parent_worker_id != id),
|
|
47
|
+
origin TEXT NOT NULL DEFAULT 'client' CHECK (origin IN ('model', 'client', '_plurnk')),
|
|
48
|
+
-- {§methods-model-worker}: durable identity for the workspace's stable
|
|
49
|
+
-- default conversation; separate from its literal name.
|
|
50
|
+
default_conversation INTEGER NOT NULL DEFAULT 0 CHECK (default_conversation IN (0, 1)),
|
|
51
|
+
-- {§worker-causal-admission}: cancellation retires unread arrivals without rewriting history.
|
|
52
|
+
cancelled_through_sequence INTEGER NOT NULL DEFAULT 0 CHECK (cancelled_through_sequence >= 0),
|
|
53
|
+
-- The Problem the latest cancellation delivered to this worker's live loops; writing it is
|
|
54
|
+
-- the cancellation ({§worker-cancel-trigger}). NULL until the worker's scope is first cancelled.
|
|
55
|
+
cancellation TEXT CHECK (cancellation IS NULL OR (json_valid(cancellation) AND json_extract(cancellation, '$.status') = 499)),
|
|
56
|
+
-- {§env-delta-log-pull}: monotonic observation progress, not a private world snapshot.
|
|
57
|
+
-- Creation captures the workspace high-water; a fork instead copies its
|
|
58
|
+
-- parent's cursor and records the closed event boundary of its snapshot.
|
|
59
|
+
ambient_event_cursor INTEGER CHECK (ambient_event_cursor IS NULL OR ambient_event_cursor >= 0),
|
|
60
|
+
fork_event_boundary INTEGER CHECK (fork_event_boundary IS NULL OR fork_event_boundary >= 0),
|
|
61
|
+
CHECK (fork_event_boundary IS NULL OR parent_worker_id IS NOT NULL),
|
|
62
|
+
CHECK (default_conversation = 0 OR (origin = 'model' AND parent_worker_id IS NULL)),
|
|
63
|
+
CHECK ((model_route_id IS NULL) = (reasoning_policy IS NULL)),
|
|
64
|
+
FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE CASCADE,
|
|
65
|
+
FOREIGN KEY (parent_worker_id) REFERENCES workers(id) ON DELETE CASCADE
|
|
66
|
+
) STRICT;
|
|
67
|
+
|
|
68
|
+
CREATE INDEX IF NOT EXISTS workers_workspace_id_created_at ON workers (workspace_id, created_at);
|
|
69
|
+
|
|
70
|
+
CREATE INDEX IF NOT EXISTS workers_parent_worker_id ON workers (parent_worker_id);
|
|
71
|
+
|
|
72
|
+
CREATE UNIQUE INDEX IF NOT EXISTS workers_provider_identity ON workers (provider_identity);
|
|
73
|
+
|
|
74
|
+
CREATE UNIQUE INDEX IF NOT EXISTS workers_workspace_default_conversation
|
|
75
|
+
ON workers (workspace_id) WHERE default_conversation = 1;
|
|
76
|
+
|
|
77
|
+
-- {§worker-scheme-spawn}: a retained name cannot be rebound to another actor.
|
|
78
|
+
CREATE UNIQUE INDEX IF NOT EXISTS workers_workspace_name ON workers (workspace_id, name);
|
|
79
|
+
|
|
80
|
+
-- {§db-fk-indexes} Foreign-key check paths: without these, updating or replacing a route scans every worker.
|
|
81
|
+
CREATE INDEX IF NOT EXISTS workers_model_route_id ON workers (model_route_id) WHERE model_route_id IS NOT NULL;
|
|
82
|
+
|
|
83
|
+
CREATE INDEX IF NOT EXISTS workers_spawn_model_route_id ON workers (spawn_model_route_id) WHERE spawn_model_route_id IS NOT NULL;
|
|
84
|
+
|
|
85
|
+
CREATE TRIGGER IF NOT EXISTS workers_provider_identity_immutable
|
|
86
|
+
BEFORE UPDATE OF provider_identity ON workers
|
|
87
|
+
WHEN NEW.provider_identity != OLD.provider_identity
|
|
88
|
+
BEGIN
|
|
89
|
+
SELECT RAISE(ABORT, 'workers.provider_identity is immutable');
|
|
90
|
+
END;
|
|
91
|
+
|
|
92
|
+
CREATE TRIGGER IF NOT EXISTS workers_fork_event_boundary_immutable
|
|
93
|
+
BEFORE UPDATE OF fork_event_boundary ON workers
|
|
94
|
+
WHEN NEW.fork_event_boundary IS NOT OLD.fork_event_boundary
|
|
95
|
+
BEGIN
|
|
96
|
+
SELECT RAISE(ABORT, 'workers.fork_event_boundary is immutable');
|
|
97
|
+
END;
|
|
98
|
+
|
|
99
|
+
-- {§env-delta-log-pull}: one append-only occurrence journal gives every
|
|
100
|
+
-- producer a shared monotonic order. Audience is structural: direct parent,
|
|
101
|
+
-- explicit workspace broadcast, or their union. The event snapshots exactly
|
|
102
|
+
-- what an observer row needs because source-log curation cannot erase history.
|
|
103
|
+
-- source_record_id is forensic identity for the originating log/loop row, not a
|
|
104
|
+
-- foreign key: model log curation must not erase an already-recorded occurrence.
|
|
105
|
+
CREATE TABLE IF NOT EXISTS ambient_events (
|
|
106
|
+
id INTEGER NOT NULL PRIMARY KEY,
|
|
107
|
+
workspace_id INTEGER NOT NULL,
|
|
108
|
+
producer_worker_id INTEGER NOT NULL,
|
|
109
|
+
target_parent_worker_id INTEGER,
|
|
110
|
+
workspace_broadcast INTEGER NOT NULL DEFAULT 0 CHECK (workspace_broadcast IN (0, 1)),
|
|
111
|
+
kind TEXT NOT NULL CHECK (kind IN ('activity', 'loop_termination')),
|
|
112
|
+
source_record_id INTEGER NOT NULL CHECK (source_record_id >= 1),
|
|
113
|
+
at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
|
|
114
|
+
source TEXT,
|
|
115
|
+
op TEXT NOT NULL,
|
|
116
|
+
signal TEXT CHECK (signal IS NULL OR json_valid(signal)),
|
|
117
|
+
scheme TEXT,
|
|
118
|
+
username TEXT,
|
|
119
|
+
password TEXT,
|
|
120
|
+
hostname TEXT,
|
|
121
|
+
port INTEGER CHECK (port IS NULL OR (port BETWEEN 0 AND 65535)),
|
|
122
|
+
pathname TEXT,
|
|
123
|
+
query TEXT,
|
|
124
|
+
fragment TEXT,
|
|
125
|
+
line_marker TEXT CHECK (line_marker IS NULL OR json_valid(line_marker)),
|
|
126
|
+
tx TEXT NOT NULL,
|
|
127
|
+
mimetype_tx TEXT NOT NULL CHECK (length(mimetype_tx) > 0),
|
|
128
|
+
rx TEXT NOT NULL,
|
|
129
|
+
mimetype_rx TEXT NOT NULL CHECK (length(mimetype_rx) > 0),
|
|
130
|
+
status_rx INTEGER NOT NULL CHECK (status_rx BETWEEN 100 AND 599),
|
|
131
|
+
state TEXT NOT NULL CHECK (state IN ('resolved', 'failed', 'cancelled')),
|
|
132
|
+
outcome TEXT,
|
|
133
|
+
attrs TEXT NOT NULL DEFAULT '{}' CHECK (json_valid(attrs)),
|
|
134
|
+
terminated_by TEXT CHECK (terminated_by IS NULL OR terminated_by = 'cancel'),
|
|
135
|
+
CHECK (target_parent_worker_id IS NOT NULL OR workspace_broadcast = 1),
|
|
136
|
+
CHECK (
|
|
137
|
+
(kind = 'activity' AND terminated_by IS NULL)
|
|
138
|
+
OR
|
|
139
|
+
(kind = 'loop_termination'
|
|
140
|
+
AND op = 'SEND'
|
|
141
|
+
-- {§env-delta-child-termination}: a message from the concluded child;
|
|
142
|
+
-- `source` names the actor and its READ address (#567, operator 2026-09-07).
|
|
143
|
+
AND scheme IS NULL
|
|
144
|
+
AND pathname IS NULL
|
|
145
|
+
AND json_valid(rx)
|
|
146
|
+
AND json_type(rx) = 'object'
|
|
147
|
+
AND json_type(rx, '$.status') = 'integer'
|
|
148
|
+
AND json_extract(rx, '$.status') = status_rx)
|
|
149
|
+
),
|
|
150
|
+
FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE CASCADE,
|
|
151
|
+
FOREIGN KEY (producer_worker_id) REFERENCES workers(id) ON DELETE CASCADE,
|
|
152
|
+
FOREIGN KEY (target_parent_worker_id) REFERENCES workers(id) ON DELETE CASCADE
|
|
153
|
+
) STRICT;
|
|
154
|
+
|
|
155
|
+
CREATE INDEX IF NOT EXISTS ambient_events_workspace_id_id
|
|
156
|
+
ON ambient_events (workspace_id, id);
|
|
157
|
+
|
|
158
|
+
-- {§db-index-owners} Producer deletion's foreign-key check walks its events by producer; no registry statement selects by it.
|
|
159
|
+
CREATE INDEX IF NOT EXISTS ambient_events_producer_kind_id
|
|
160
|
+
ON ambient_events (producer_worker_id, kind, id);
|
|
161
|
+
|
|
162
|
+
CREATE INDEX IF NOT EXISTS ambient_events_parent_id
|
|
163
|
+
ON ambient_events (target_parent_worker_id, id)
|
|
164
|
+
WHERE target_parent_worker_id IS NOT NULL;
|
|
165
|
+
|
|
166
|
+
CREATE UNIQUE INDEX IF NOT EXISTS ambient_events_source_identity
|
|
167
|
+
ON ambient_events (producer_worker_id, kind, source_record_id);
|
|
168
|
+
|
|
169
|
+
CREATE TRIGGER IF NOT EXISTS ambient_events_structural_audience
|
|
170
|
+
BEFORE INSERT ON ambient_events
|
|
171
|
+
WHEN NOT EXISTS (
|
|
172
|
+
SELECT 1
|
|
173
|
+
FROM workers producer
|
|
174
|
+
WHERE producer.id = NEW.producer_worker_id
|
|
175
|
+
AND producer.workspace_id = NEW.workspace_id
|
|
176
|
+
AND (
|
|
177
|
+
NEW.target_parent_worker_id IS NULL
|
|
178
|
+
OR NEW.target_parent_worker_id = producer.parent_worker_id
|
|
179
|
+
)
|
|
180
|
+
)
|
|
181
|
+
BEGIN
|
|
182
|
+
SELECT RAISE(ABORT, 'ambient event audience must be the producer direct parent in the same workspace');
|
|
183
|
+
END;
|
|
184
|
+
|
|
185
|
+
-- {§module-workspace-state}: the same provider-validated snapshot, owned by a WORKER rather
|
|
186
|
+
-- than a workspace. A family declares which scope its definitions belong to; `env` is the first
|
|
187
|
+
-- worker-scoped one, because an environment is context (how this worker works) rather than
|
|
188
|
+
-- capability (what exists in this workspace). A sibling table rather than a nullable column on
|
|
189
|
+
-- workspace_module_state: the foreign key is real, so a worker's definitions die with it, and
|
|
190
|
+
-- every identity component stays NOT NULL ({§entry-identity-no-null}).
|
|
191
|
+
CREATE TABLE IF NOT EXISTS worker_module_state (
|
|
192
|
+
worker_id INTEGER NOT NULL,
|
|
193
|
+
namespace_owner TEXT NOT NULL CHECK (length(namespace_owner) > 0),
|
|
194
|
+
state TEXT NOT NULL CHECK (json_valid(state)),
|
|
195
|
+
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
|
|
196
|
+
PRIMARY KEY (worker_id, namespace_owner),
|
|
197
|
+
FOREIGN KEY (worker_id) REFERENCES workers(id) ON DELETE CASCADE
|
|
198
|
+
) STRICT;
|