@plurnk/plurnk-service 1.16.4 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.defaults +122 -246
- package/INSTALL.md +84 -138
- package/README.md +9 -5
- package/SPEC.md +1710 -1015
- package/dist/Paths.d.ts +2 -0
- package/dist/Paths.d.ts.map +1 -1
- package/dist/Paths.js +2 -0
- package/dist/Paths.js.map +1 -1
- package/dist/build-info.d.ts.map +1 -1
- package/dist/build-info.js +7 -1
- package/dist/build-info.js.map +1 -1
- package/dist/build-info.json +1 -1
- package/dist/content/body-preview.d.ts +8 -0
- package/dist/content/body-preview.d.ts.map +1 -0
- package/dist/content/body-preview.js +39 -0
- package/dist/content/body-preview.js.map +1 -0
- package/dist/content/byte-view.d.ts +1 -4
- package/dist/content/byte-view.d.ts.map +1 -1
- package/dist/content/byte-view.js.map +1 -1
- package/dist/content/edit-collision.d.ts.map +1 -1
- package/dist/content/edit-collision.js +3 -4
- package/dist/content/edit-collision.js.map +1 -1
- package/dist/content/line-anchors.d.ts +2 -2
- package/dist/content/line-anchors.d.ts.map +1 -1
- package/dist/content/line-anchors.js +4 -3
- package/dist/content/line-anchors.js.map +1 -1
- package/dist/content/line-selection.d.ts +9 -0
- package/dist/content/line-selection.d.ts.map +1 -0
- package/dist/content/line-selection.js +29 -0
- package/dist/content/line-selection.js.map +1 -0
- package/dist/content/matcher.d.ts +0 -1
- package/dist/content/matcher.d.ts.map +1 -1
- package/dist/content/matcher.js +2 -3
- package/dist/content/matcher.js.map +1 -1
- package/dist/content/pattern-edits.d.ts +39 -0
- package/dist/content/pattern-edits.d.ts.map +1 -0
- package/dist/content/pattern-edits.js +121 -0
- package/dist/content/pattern-edits.js.map +1 -0
- package/dist/content/read-projector.d.ts +18 -9
- package/dist/content/read-projector.d.ts.map +1 -1
- package/dist/content/read-projector.js +132 -35
- package/dist/content/read-projector.js.map +1 -1
- package/dist/content/read-resolve.d.ts +3 -1
- package/dist/content/read-resolve.d.ts.map +1 -1
- package/dist/content/read-resolve.js +39 -7
- package/dist/content/read-resolve.js.map +1 -1
- package/dist/core/AdmittedTurnExecutor.d.ts +3 -5
- package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
- package/dist/core/AdmittedTurnExecutor.js +91 -83
- package/dist/core/AdmittedTurnExecutor.js.map +1 -1
- package/dist/core/BareBatchRunner.d.ts +6 -1
- package/dist/core/BareBatchRunner.d.ts.map +1 -1
- package/dist/core/BareBatchRunner.js +20 -5
- package/dist/core/BareBatchRunner.js.map +1 -1
- package/dist/core/BudgetReadout.d.ts +2 -3
- package/dist/core/BudgetReadout.d.ts.map +1 -1
- package/dist/core/BudgetReadout.js +23 -32
- package/dist/core/BudgetReadout.js.map +1 -1
- package/dist/core/CapabilityPolicies.d.ts +3 -8
- package/dist/core/CapabilityPolicies.d.ts.map +1 -1
- package/dist/core/CapabilityPolicies.js +2 -28
- package/dist/core/CapabilityPolicies.js.map +1 -1
- package/dist/core/CapabilityResolver.d.ts +10 -10
- package/dist/core/CapabilityResolver.d.ts.map +1 -1
- package/dist/core/CapabilityResolver.js +87 -65
- package/dist/core/CapabilityResolver.js.map +1 -1
- package/dist/core/ChannelWrite.d.ts +14 -11
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +11 -12
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +99 -9
- package/dist/core/ClientInteractions.d.ts.map +1 -1
- package/dist/core/ClientInteractions.js +7 -0
- package/dist/core/ClientInteractions.js.map +1 -1
- package/dist/core/CoreSchemeServices.d.ts +13 -10
- package/dist/core/CoreSchemeServices.d.ts.map +1 -1
- package/dist/core/CoreSchemeServices.js +13 -5
- package/dist/core/CoreSchemeServices.js.map +1 -1
- package/dist/core/DataStatementRunner.d.ts +2 -2
- package/dist/core/DataStatementRunner.d.ts.map +1 -1
- package/dist/core/DataStatementRunner.js +36 -39
- package/dist/core/DataStatementRunner.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +19 -26
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +369 -219
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/Dispatcher.sql +66 -0
- package/dist/core/DurableStatement.d.ts.map +1 -1
- package/dist/core/DurableStatement.js +2 -1
- package/dist/core/DurableStatement.js.map +1 -1
- package/dist/core/EditMutations.d.ts +14 -18
- package/dist/core/EditMutations.d.ts.map +1 -1
- package/dist/core/EditMutations.js +211 -280
- package/dist/core/EditMutations.js.map +1 -1
- package/dist/core/EditMutations.sql +15 -0
- package/dist/core/EditSequence.d.ts +13 -0
- package/dist/core/EditSequence.d.ts.map +1 -0
- package/dist/core/EditSequence.js +73 -0
- package/dist/core/EditSequence.js.map +1 -0
- package/dist/core/Engine.d.ts +17 -23
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +73 -163
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +0 -724
- package/dist/core/EntryAddressBinding.d.ts +7 -17
- package/dist/core/EntryAddressBinding.d.ts.map +1 -1
- package/dist/core/EntryAddressBinding.js +12 -72
- package/dist/core/EntryAddressBinding.js.map +1 -1
- package/dist/core/ExecutionOutputs.d.ts +9 -0
- package/dist/core/ExecutionOutputs.d.ts.map +1 -0
- package/dist/core/ExecutionOutputs.js +36 -0
- package/dist/core/ExecutionOutputs.js.map +1 -0
- package/dist/core/ExecutionOutputs.sql +13 -0
- package/dist/core/ExecutorRegistry.d.ts +7 -5
- package/dist/core/ExecutorRegistry.d.ts.map +1 -1
- package/dist/core/ExecutorRegistry.js +36 -32
- package/dist/core/ExecutorRegistry.js.map +1 -1
- package/dist/core/HostPaths.d.ts +1 -0
- package/dist/core/HostPaths.d.ts.map +1 -1
- package/dist/core/HostPaths.js +4 -0
- package/dist/core/HostPaths.js.map +1 -1
- package/dist/core/InferenceCall.d.ts.map +1 -1
- package/dist/core/InferenceCall.js +1 -2
- package/dist/core/InferenceCall.js.map +1 -1
- package/dist/core/InferenceCall.sql +29 -0
- package/dist/core/KillHandler.d.ts +1 -0
- package/dist/core/KillHandler.d.ts.map +1 -1
- package/dist/core/KillHandler.js +24 -21
- package/dist/core/KillHandler.js.map +1 -1
- package/dist/core/LogBody.d.ts +8 -1
- package/dist/core/LogBody.d.ts.map +1 -1
- package/dist/core/LogBody.js +42 -11
- package/dist/core/LogBody.js.map +1 -1
- package/dist/core/LogEntryProjection.d.ts +1 -0
- package/dist/core/LogEntryProjection.d.ts.map +1 -1
- package/dist/core/LogEntryProjection.js +18 -10
- package/dist/core/LogEntryProjection.js.map +1 -1
- package/dist/core/LogVisibility.d.ts +1 -0
- package/dist/core/LogVisibility.d.ts.map +1 -1
- package/dist/core/LogVisibility.js +3 -0
- package/dist/core/LogVisibility.js.map +1 -1
- package/dist/core/LogWriter.d.ts +2 -3
- package/dist/core/LogWriter.d.ts.map +1 -1
- package/dist/core/LogWriter.js +25 -32
- package/dist/core/LogWriter.js.map +1 -1
- package/dist/core/LogWriter.sql +23 -0
- package/dist/core/LoopDriver.d.ts +11 -8
- package/dist/core/LoopDriver.d.ts.map +1 -1
- package/dist/core/LoopDriver.js +163 -189
- package/dist/core/LoopDriver.js.map +1 -1
- package/dist/core/LoopDriver.sql +11 -0
- package/dist/core/LoopLifecycle.d.ts +32 -2
- package/dist/core/LoopLifecycle.d.ts.map +1 -1
- package/dist/core/LoopLifecycle.js +88 -4
- package/dist/core/LoopLifecycle.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +145 -28
- package/dist/core/LoopPolicyReader.sql +6 -0
- package/dist/core/MembershipMaterialization.d.ts.map +1 -1
- package/dist/core/MembershipMaterialization.js +6 -28
- package/dist/core/MembershipMaterialization.js.map +1 -1
- package/dist/core/ModelCall.sql +70 -0
- package/dist/core/MutationEffects.d.ts +5 -3
- package/dist/core/MutationEffects.d.ts.map +1 -1
- package/dist/core/MutationEffects.js +10 -28
- package/dist/core/MutationEffects.js.map +1 -1
- package/dist/core/NativeContent.d.ts +6 -0
- package/dist/core/NativeContent.d.ts.map +1 -0
- package/dist/core/NativeContent.js +16 -0
- package/dist/core/NativeContent.js.map +1 -0
- package/dist/core/NativeContent.sql +6 -0
- package/dist/core/NoticeChannel.js +1 -1
- package/dist/core/NoticeChannel.js.map +1 -1
- package/dist/core/OperatorConfig.js +5 -5
- package/dist/core/OperatorConfig.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts +8 -5
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +117 -81
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/PacketBuilder.sql +146 -0
- package/dist/core/PatternSelection.d.ts +28 -0
- package/dist/core/PatternSelection.d.ts.map +1 -0
- package/dist/core/PatternSelection.js +42 -0
- package/dist/core/PatternSelection.js.map +1 -0
- package/dist/core/ProblemLog.d.ts.map +1 -1
- package/dist/core/ProblemLog.js +0 -1
- package/dist/core/ProblemLog.js.map +1 -1
- package/dist/core/PromptFrames.d.ts +12 -0
- package/dist/core/PromptFrames.d.ts.map +1 -0
- package/dist/core/PromptFrames.js +28 -0
- package/dist/core/PromptFrames.js.map +1 -0
- package/dist/core/ProposalLifecycle.d.ts +0 -1
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +20 -19
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProposalLifecycle.sql +33 -0
- package/dist/core/ProviderInstantiate.d.ts +1 -1
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +7 -14
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/ReasoningView.d.ts +9 -0
- package/dist/core/ReasoningView.d.ts.map +1 -0
- package/dist/core/ReasoningView.js +47 -0
- package/dist/core/ReasoningView.js.map +1 -0
- package/dist/core/ResourceBindings.d.ts +16 -0
- package/dist/core/ResourceBindings.d.ts.map +1 -0
- package/dist/core/ResourceBindings.js +45 -0
- package/dist/core/ResourceBindings.js.map +1 -0
- package/dist/core/ResourceMutations.d.ts +5 -8
- package/dist/core/ResourceMutations.d.ts.map +1 -1
- package/dist/core/ResourceMutations.js +6 -7
- package/dist/core/ResourceMutations.js.map +1 -1
- package/dist/core/ResourceSelector.d.ts +2 -2
- package/dist/core/ResourceSelector.d.ts.map +1 -1
- package/dist/core/ResourceSelector.js +122 -62
- package/dist/core/ResourceSelector.js.map +1 -1
- package/dist/core/ResourceTransfers.d.ts +4 -2
- package/dist/core/ResourceTransfers.d.ts.map +1 -1
- package/dist/core/ResourceTransfers.js +95 -26
- package/dist/core/ResourceTransfers.js.map +1 -1
- package/dist/core/RuntimeWorker.d.ts +5 -0
- package/dist/core/RuntimeWorker.d.ts.map +1 -0
- package/dist/core/RuntimeWorker.js +10 -0
- package/dist/core/RuntimeWorker.js.map +1 -0
- package/dist/core/RuntimeWorker.sql +5 -0
- package/dist/core/SchemeRegistry.d.ts +12 -16
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +58 -84
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/StoredPacket.d.ts +6 -1
- package/dist/core/StoredPacket.d.ts.map +1 -1
- package/dist/core/StoredPacket.js +30 -10
- package/dist/core/StoredPacket.js.map +1 -1
- package/dist/core/StrikeRail.d.ts +9 -6
- package/dist/core/StrikeRail.d.ts.map +1 -1
- package/dist/core/StrikeRail.js +60 -113
- package/dist/core/StrikeRail.js.map +1 -1
- package/dist/core/StrikeRail.sql +12 -0
- package/dist/core/TerminalResult.d.ts +1 -1
- package/dist/core/TerminalResult.d.ts.map +1 -1
- package/dist/core/TerminalResult.js +2 -2
- package/dist/core/TerminalResult.js.map +1 -1
- package/dist/core/TokenCalibration.d.ts +1 -6
- package/dist/core/TokenCalibration.d.ts.map +1 -1
- package/dist/core/TokenCalibration.js +13 -9
- package/dist/core/TokenCalibration.js.map +1 -1
- package/dist/core/TokenCalibration.sql +15 -0
- package/dist/core/ToolInputSchema.d.ts +6 -0
- package/dist/core/ToolInputSchema.d.ts.map +1 -0
- package/dist/core/ToolInputSchema.js +43 -0
- package/dist/core/ToolInputSchema.js.map +1 -0
- package/dist/core/ToolResources.d.ts.map +1 -1
- package/dist/core/ToolResources.js +76 -52
- package/dist/core/ToolResources.js.map +1 -1
- package/dist/core/Turn.d.ts +5 -2
- package/dist/core/Turn.d.ts.map +1 -1
- package/dist/core/Turn.js +13 -11
- package/dist/core/Turn.js.map +1 -1
- package/dist/core/Turn.sql +25 -39
- package/dist/core/{SendBroadcastHandler.d.ts → TurnDispositionHandler.d.ts} +25 -17
- package/dist/core/TurnDispositionHandler.d.ts.map +1 -0
- package/dist/core/TurnDispositionHandler.js +198 -0
- package/dist/core/TurnDispositionHandler.js.map +1 -0
- package/dist/core/TurnMaterialization.d.ts +2 -3
- package/dist/core/TurnMaterialization.d.ts.map +1 -1
- package/dist/core/TurnMaterialization.js +40 -15
- package/dist/core/TurnMaterialization.js.map +1 -1
- package/dist/core/TurnMaterialization.sql +44 -0
- package/dist/core/TurnOps.d.ts.map +1 -1
- package/dist/core/TurnOps.js +8 -64
- package/dist/core/TurnOps.js.map +1 -1
- package/dist/core/TurnRunner.d.ts +9 -12
- package/dist/core/TurnRunner.d.ts.map +1 -1
- package/dist/core/TurnRunner.js +232 -408
- package/dist/core/TurnRunner.js.map +1 -1
- package/dist/core/TurnRunner.sql +74 -0
- package/dist/core/TurnSources.sql +39 -0
- package/dist/core/WorkerControlAddress.d.ts +1 -0
- package/dist/core/WorkerControlAddress.d.ts.map +1 -1
- package/dist/core/WorkerControlAddress.js +5 -0
- package/dist/core/WorkerControlAddress.js.map +1 -1
- package/dist/core/WorkerControlHandler.d.ts +1 -3
- package/dist/core/WorkerControlHandler.d.ts.map +1 -1
- package/dist/core/WorkerControlHandler.js +41 -48
- package/dist/core/WorkerControlHandler.js.map +1 -1
- package/dist/core/WorkerName.d.ts +8 -6
- package/dist/core/WorkerName.d.ts.map +1 -1
- package/dist/core/WorkerName.js +33 -24
- package/dist/core/WorkerName.js.map +1 -1
- package/dist/core/WorkerName.sql +7 -10
- package/dist/core/WorkspaceGate.d.ts +1 -1
- package/dist/core/WorkspaceGate.d.ts.map +1 -1
- package/dist/core/WorkspaceGate.js +29 -6
- package/dist/core/WorkspaceGate.js.map +1 -1
- package/dist/core/ambient.sql +236 -0
- package/dist/core/attachments.d.ts +2 -1
- package/dist/core/attachments.d.ts.map +1 -1
- package/dist/core/attachments.js +5 -4
- package/dist/core/attachments.js.map +1 -1
- package/dist/core/caps/CapsResolve.d.ts +2 -3
- package/dist/core/caps/CapsResolve.d.ts.map +1 -1
- package/dist/core/caps/CapsResolve.js +5 -5
- package/dist/core/caps/CapsResolve.js.map +1 -1
- package/dist/core/caps/DbChannelCaps.d.ts +1 -1
- package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
- package/dist/core/caps/DbChannelCaps.js +4 -6
- package/dist/core/caps/DbChannelCaps.js.map +1 -1
- package/dist/core/caps/DbEntryCaps.d.ts +2 -1
- package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
- package/dist/core/caps/DbEntryCaps.js +11 -17
- package/dist/core/caps/DbEntryCaps.js.map +1 -1
- package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
- package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
- package/dist/core/caps/DbNotifyCaps.js +3 -5
- package/dist/core/caps/DbNotifyCaps.js.map +1 -1
- package/dist/core/caps/DbProjectionCaps.js +1 -1
- package/dist/core/caps/DbProjectionCaps.js.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.d.ts +1 -1
- package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.js +5 -7
- package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.d.ts +0 -2
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +4 -20
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
- package/dist/core/env-defaults.d.ts.map +1 -1
- package/dist/core/env-defaults.js +4 -2
- package/dist/core/env-defaults.js.map +1 -1
- package/dist/core/file-materialization.d.ts +4 -1
- package/dist/core/file-materialization.d.ts.map +1 -1
- package/dist/core/file-materialization.js +14 -0
- package/dist/core/file-materialization.js.map +1 -1
- package/dist/core/fork.d.ts +1 -6
- package/dist/core/fork.d.ts.map +1 -1
- package/dist/core/fork.js +9 -153
- package/dist/core/fork.js.map +1 -1
- package/dist/core/fork.sql +162 -185
- package/dist/core/git-env.d.ts +1 -0
- package/dist/core/git-env.d.ts.map +1 -1
- package/dist/core/git-env.js +39 -2
- package/dist/core/git-env.js.map +1 -1
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +64 -48
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/git-state.d.ts.map +1 -1
- package/dist/core/git-state.js +25 -19
- package/dist/core/git-state.js.map +1 -1
- package/dist/core/glob_match.d.ts +4 -0
- package/dist/core/glob_match.d.ts.map +1 -0
- package/dist/core/glob_match.js +7 -0
- package/dist/core/glob_match.js.map +1 -0
- package/dist/core/maintenance.sql +6 -0
- package/dist/core/mutation-types.d.ts +7 -28
- package/dist/core/mutation-types.d.ts.map +1 -1
- package/dist/core/packet-inject.d.ts.map +1 -1
- package/dist/core/packet-inject.js +2 -3
- package/dist/core/packet-inject.js.map +1 -1
- package/dist/core/packet-wire.d.ts +8 -6
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +131 -163
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +1 -1
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +5 -12
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/scheme-types.d.ts +3 -3
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/scheme-types.js.map +1 -1
- package/dist/core/sha256.d.ts +4 -0
- package/dist/core/sha256.d.ts.map +1 -0
- package/dist/core/sha256.js +6 -0
- package/dist/core/sha256.js.map +1 -0
- package/dist/core/teaching.js +1 -1
- package/dist/core/teaching.js.map +1 -1
- package/dist/core/turn-scheduler.d.ts.map +1 -1
- package/dist/core/turn-scheduler.js +5 -18
- package/dist/core/turn-scheduler.js.map +1 -1
- package/dist/core/turn-signals.d.ts +0 -6
- package/dist/core/turn-signals.d.ts.map +1 -1
- package/dist/core/turn-signals.js +1 -7
- package/dist/core/turn-signals.js.map +1 -1
- package/dist/core/worker-ops.sql +15 -22
- package/dist/core/workspace-settings.d.ts.map +1 -1
- package/dist/core/workspace-settings.js +18 -2
- package/dist/core/workspace-settings.js.map +1 -1
- package/dist/core/workspace-settings.sql +6 -0
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +27 -90
- package/dist/digest/Digest.js.map +1 -1
- package/dist/digest/DigestRender.d.ts.map +1 -1
- package/dist/digest/DigestRender.js +14 -54
- package/dist/digest/DigestRender.js.map +1 -1
- package/dist/digest/digest-rows.d.ts +10 -32
- package/dist/digest/digest-rows.d.ts.map +1 -1
- package/dist/digest/digest.sql +43 -18
- package/dist/schemes/Exec.d.ts +6 -12
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +256 -188
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.d.ts +8 -6
- package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +33 -61
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/ExecutionInput.d.ts +12 -0
- package/dist/schemes/ExecutionInput.d.ts.map +1 -0
- package/dist/schemes/ExecutionInput.js +94 -0
- package/dist/schemes/ExecutionInput.js.map +1 -0
- package/dist/schemes/File.d.ts +5 -2
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +62 -92
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +84 -79
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +183 -15
- package/dist/schemes/Prompt.d.ts.map +1 -1
- package/dist/schemes/Prompt.js +3 -12
- package/dist/schemes/Prompt.js.map +1 -1
- package/dist/schemes/QuestionTool.d.ts +5 -0
- package/dist/schemes/QuestionTool.d.ts.map +1 -1
- package/dist/schemes/QuestionTool.js +6 -14
- package/dist/schemes/QuestionTool.js.map +1 -1
- package/dist/schemes/Skill.d.ts +12 -7
- package/dist/schemes/Skill.d.ts.map +1 -1
- package/dist/schemes/Skill.js +149 -21
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/TurnSource.d.ts +12 -0
- package/dist/schemes/TurnSource.d.ts.map +1 -0
- package/dist/schemes/TurnSource.js +116 -0
- package/dist/schemes/TurnSource.js.map +1 -0
- package/dist/schemes/Worker.d.ts +3 -3
- package/dist/schemes/Worker.d.ts.map +1 -1
- package/dist/schemes/Worker.js +61 -208
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +12 -15
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +63 -63
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +142 -46
- package/dist/schemes/_entry-find.d.ts +1 -3
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +111 -112
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-find.sql +22 -14
- package/dist/schemes/_entry-fts.d.ts +14 -0
- package/dist/schemes/_entry-fts.d.ts.map +1 -0
- package/dist/schemes/_entry-fts.js +82 -0
- package/dist/schemes/_entry-fts.js.map +1 -0
- package/dist/schemes/_entry-fts.sql +31 -0
- package/dist/schemes/_entry-graph.d.ts.map +1 -1
- package/dist/schemes/_entry-graph.js +6 -14
- package/dist/schemes/_entry-graph.js.map +1 -1
- package/dist/schemes/_entry-graph.sql +29 -44
- package/dist/schemes/_entry-manifest.d.ts +2 -1
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +15 -12
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-manifest.sql +26 -0
- package/dist/schemes/_entry-ops.d.ts +3 -5
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +30 -43
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-ops.sql +5 -6
- package/dist/schemes/_entry-readable.d.ts +8 -0
- package/dist/schemes/_entry-readable.d.ts.map +1 -0
- package/dist/schemes/_entry-readable.js +38 -0
- package/dist/schemes/_entry-readable.js.map +1 -0
- package/dist/schemes/_entry-send.d.ts +1 -1
- package/dist/schemes/_entry-send.d.ts.map +1 -1
- package/dist/schemes/_entry-send.js +3 -3
- package/dist/schemes/_entry-send.js.map +1 -1
- package/dist/schemes/_search-index.d.ts +1 -3
- package/dist/schemes/_search-index.d.ts.map +1 -1
- package/dist/schemes/_search-index.js +79 -110
- package/dist/schemes/_search-index.js.map +1 -1
- package/dist/schemes/_search-index.sql +30 -0
- package/dist/schemes/exec-runtime.d.ts +1 -1
- package/dist/schemes/exec-runtime.d.ts.map +1 -1
- package/dist/schemes/exec-runtime.js.map +1 -1
- package/dist/server/ClientReads.d.ts +2 -2
- package/dist/server/ClientReads.d.ts.map +1 -1
- package/dist/server/ClientReads.js +5 -8
- package/dist/server/ClientReads.js.map +1 -1
- package/dist/server/Daemon.d.ts +14 -21
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +135 -156
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DaemonModule.d.ts +23 -21
- package/dist/server/DaemonModule.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.d.ts +8 -21
- package/dist/server/DrainSupervisor.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.js +278 -306
- package/dist/server/DrainSupervisor.js.map +1 -1
- package/dist/server/Functionality.d.ts +11 -12
- package/dist/server/Functionality.d.ts.map +1 -1
- package/dist/server/Functionality.js +129 -101
- package/dist/server/Functionality.js.map +1 -1
- package/dist/server/FunctionalityManager.d.ts +3 -5
- package/dist/server/FunctionalityManager.d.ts.map +1 -1
- package/dist/server/FunctionalityManager.js +20 -58
- package/dist/server/FunctionalityManager.js.map +1 -1
- package/dist/server/MembersFunctionality.d.ts +5 -4
- package/dist/server/MembersFunctionality.d.ts.map +1 -1
- package/dist/server/MembersFunctionality.js +24 -37
- package/dist/server/MembersFunctionality.js.map +1 -1
- package/dist/server/PlurnkSkill.d.ts +11 -0
- package/dist/server/PlurnkSkill.d.ts.map +1 -0
- package/dist/server/PlurnkSkill.js +41 -0
- package/dist/server/PlurnkSkill.js.map +1 -0
- package/dist/server/Retention.d.ts +22 -0
- package/dist/server/Retention.d.ts.map +1 -0
- package/dist/server/Retention.js +54 -0
- package/dist/server/Retention.js.map +1 -0
- package/dist/server/Retention.sql +36 -0
- package/dist/server/ServiceModules.d.ts +5 -0
- package/dist/server/ServiceModules.d.ts.map +1 -0
- package/dist/server/ServiceModules.js +10 -0
- package/dist/server/ServiceModules.js.map +1 -0
- package/dist/server/SkillsFunctionality.d.ts +14 -19
- package/dist/server/SkillsFunctionality.d.ts.map +1 -1
- package/dist/server/SkillsFunctionality.js +97 -104
- package/dist/server/SkillsFunctionality.js.map +1 -1
- package/dist/server/WorkerModelResolver.d.ts +4 -0
- package/dist/server/WorkerModelResolver.d.ts.map +1 -1
- package/dist/server/WorkerModelResolver.js +72 -39
- package/dist/server/WorkerModelResolver.js.map +1 -1
- package/dist/server/WorkspaceCapabilities.d.ts +21 -0
- package/dist/server/WorkspaceCapabilities.d.ts.map +1 -0
- package/dist/server/{WorkerCapabilities.js → WorkspaceCapabilities.js} +40 -40
- package/dist/server/WorkspaceCapabilities.js.map +1 -0
- package/dist/server/WorkspaceResidency.d.ts +36 -0
- package/dist/server/WorkspaceResidency.d.ts.map +1 -0
- package/dist/server/WorkspaceResidency.js +199 -0
- package/dist/server/WorkspaceResidency.js.map +1 -0
- package/dist/server/client-input.d.ts +1 -4
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +4 -45
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
- package/dist/server/dispatch-as-plurnk.js +4 -22
- package/dist/server/dispatch-as-plurnk.js.map +1 -1
- package/dist/server/drain.sql +65 -42
- package/dist/server/envelope.d.ts +8 -0
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +9 -7
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/envelope.sql +49 -13
- package/dist/server/lifecycle-recovery.sql +14 -17
- package/dist/server/logEntry.d.ts +1 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +4 -1
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/logEntry.sql +25 -1
- package/dist/server/loopDocs.d.ts +2 -2
- package/dist/server/loopDocs.d.ts.map +1 -1
- package/dist/server/loopDocs.js +38 -31
- package/dist/server/loopDocs.js.map +1 -1
- package/dist/server/loopDocs.sql +1 -3
- package/dist/server/model-catalog.d.ts.map +1 -1
- package/dist/server/model-catalog.js +2 -1
- package/dist/server/model-catalog.js.map +1 -1
- package/dist/server/model-route.d.ts +1 -1
- package/dist/server/model-route.d.ts.map +1 -1
- package/dist/server/model-route.js +4 -2
- package/dist/server/model-route.js.map +1 -1
- package/dist/server/seam-entry-read.sql +3 -4
- package/dist/server/seam-loop.sql +2 -9
- package/dist/server/workspace-capabilities.sql +19 -0
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +5 -17
- package/dist/service.js.map +1 -1
- package/docs/members.md +83 -0
- package/docs/skills.md +50 -0
- package/migrations/001_workspaces.sql +53 -0
- package/migrations/002_workers.sql +183 -0
- package/migrations/003_loops.sql +326 -0
- package/migrations/004_inference.sql +360 -0
- package/migrations/005_entries.sql +207 -0
- package/migrations/006_log.sql +578 -0
- package/migrations/007_subscriptions.sql +175 -0
- package/migrations/008_interactions.sql +29 -0
- package/package.json +33 -40
- package/digest-sql/channel-dispositions/dispositions.sql +0 -15
- package/digest-sql/channel-state/state.sql +0 -6
- package/digest-sql/curation/curation.sql +0 -6
- package/digest-sql/derivations/derivations.sql +0 -4
- package/digest-sql/embeddings/embeddings.sql +0 -4
- package/digest-sql/entry-dispositions/dispositions.sql +0 -15
- package/digest-sql/entry-state/state.sql +0 -6
- package/digest-sql/token-counts/token-counts.sql +0 -2
- package/dist/core/EmbeddingCall.d.ts +0 -23
- package/dist/core/EmbeddingCall.d.ts.map +0 -1
- package/dist/core/EmbeddingCall.js +0 -149
- package/dist/core/EmbeddingCall.js.map +0 -1
- package/dist/core/OverflowTurn.d.ts +0 -11
- package/dist/core/OverflowTurn.d.ts.map +0 -1
- package/dist/core/OverflowTurn.js +0 -80
- package/dist/core/OverflowTurn.js.map +0 -1
- package/dist/core/Owner.d.ts +0 -8
- package/dist/core/Owner.d.ts.map +0 -1
- package/dist/core/Owner.js +0 -46
- package/dist/core/Owner.js.map +0 -1
- package/dist/core/SendBroadcastHandler.d.ts.map +0 -1
- package/dist/core/SendBroadcastHandler.js +0 -159
- package/dist/core/SendBroadcastHandler.js.map +0 -1
- package/dist/core/VectorPump.d.ts +0 -28
- package/dist/core/VectorPump.d.ts.map +0 -1
- package/dist/core/VectorPump.js +0 -130
- package/dist/core/VectorPump.js.map +0 -1
- package/dist/core/owner.sql +0 -11
- package/dist/core/worker-settings.d.ts +0 -10
- package/dist/core/worker-settings.d.ts.map +0 -1
- package/dist/core/worker-settings.js +0 -53
- package/dist/core/worker-settings.js.map +0 -1
- package/dist/schemes/_entry-chunk.d.ts +0 -14
- package/dist/schemes/_entry-chunk.d.ts.map +0 -1
- package/dist/schemes/_entry-chunk.js +0 -165
- package/dist/schemes/_entry-chunk.js.map +0 -1
- package/dist/schemes/_entry-semantic.d.ts +0 -63
- package/dist/schemes/_entry-semantic.d.ts.map +0 -1
- package/dist/schemes/_entry-semantic.js +0 -299
- package/dist/schemes/_entry-semantic.js.map +0 -1
- package/dist/schemes/_entry-semantic.sql +0 -99
- package/dist/schemes/cosine.d.ts +0 -4
- package/dist/schemes/cosine.d.ts.map +0 -1
- package/dist/schemes/cosine.js +0 -9
- package/dist/schemes/cosine.js.map +0 -1
- package/dist/server/WorkerCapabilities.d.ts +0 -21
- package/dist/server/WorkerCapabilities.d.ts.map +0 -1
- package/dist/server/WorkerCapabilities.js.map +0 -1
- package/dist/server/WorkerResidency.d.ts +0 -40
- package/dist/server/WorkerResidency.d.ts.map +0 -1
- package/dist/server/WorkerResidency.js +0 -283
- package/dist/server/WorkerResidency.js.map +0 -1
- package/dist/server/seam-log-read.sql +0 -21
- package/dist/server/worker-capabilities.sql +0 -28
- package/migrations/001_schema.sql +0 -2207
package/dist/core/fork.js
CHANGED
|
@@ -1,162 +1,18 @@
|
|
|
1
1
|
// Fork a worker — branch the log, share the workspace (SPEC {§machine-processes}).
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
// holding a deep copy of the parent's log: loops → turns → entries, with their
|
|
5
|
-
// durable log evidence and current projection with attribution (`origin`/`source`) intact. It copies
|
|
6
|
-
// nothing of the shared WORLD — commons-owned entries and the overlay are shared, never
|
|
7
|
-
// copied, because the worker never owned them. Worker-owned entries follow the
|
|
8
|
-
// registered scheme's explicit inheritance disposition; only quiescent snapshots
|
|
9
|
-
// are owner-remapped parent → branch. Its ambient observation cursor is copied
|
|
10
|
-
// with inherited history, then diverges independently.
|
|
2
|
+
// The branch's claimed row is the fork: workers_fork_copies_history copies the parent's
|
|
3
|
+
// history inside that INSERT ({§worker-fork-trigger}, fork.sql).
|
|
11
4
|
import WorkerName from "./WorkerName.js";
|
|
12
|
-
import { isGeneratedPathname } from "./plurnk-uri.js";
|
|
13
5
|
export default class Fork {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
static async fork(db, parentWorkerId, name, capabilityBound, entryInheritance) {
|
|
17
|
-
const parent = await db.fork_get_worker.get({ id: parentWorkerId });
|
|
6
|
+
static async fork(db, parentWorkerId, name) {
|
|
7
|
+
const parent = await db.worker_get.get({ id: parentWorkerId });
|
|
18
8
|
if (parent === undefined)
|
|
19
9
|
throw new Error(`fork: worker ${parentWorkerId} not found`);
|
|
20
|
-
// {§worker-
|
|
21
|
-
|
|
22
|
-
// is the next free `<parent>-fork-<N>` admitted by {§worker-name-minting}.
|
|
10
|
+
// {§worker-auto-name} The same allocator serves addressless WORK and FORK.
|
|
11
|
+
const options = { workspaceId: parent.workspace_id, parentWorkerId, origin: parent.origin, forkSnapshot: true };
|
|
23
12
|
const branch = name === undefined
|
|
24
|
-
? await WorkerName.claimAuto(db,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
qualifier: "fork",
|
|
28
|
-
parentWorkerId,
|
|
29
|
-
origin: parent.origin,
|
|
30
|
-
forkSnapshot: true,
|
|
31
|
-
capabilityBound,
|
|
32
|
-
})
|
|
33
|
-
: await db.fork_insert_worker.get({
|
|
34
|
-
workspace_id: parent.workspace_id,
|
|
35
|
-
name: WorkerName.assert(name),
|
|
36
|
-
parent_worker_id: parentWorkerId,
|
|
37
|
-
origin: parent.origin,
|
|
38
|
-
fork_snapshot: 1,
|
|
39
|
-
capability_bound: JSON.stringify(capabilityBound),
|
|
40
|
-
});
|
|
41
|
-
if (branch === undefined)
|
|
42
|
-
throw new Error("fork: explicit branch worker insert returned no row");
|
|
43
|
-
const branchWorkerId = branch.id;
|
|
44
|
-
await db.fork_set_generation_policy.run({
|
|
45
|
-
worker_id: branchWorkerId,
|
|
46
|
-
model_route_id: parent.model_route_id,
|
|
47
|
-
spawn_model_route_id: parent.spawn_model_route_id,
|
|
48
|
-
reasoning_policy: parent.reasoning_policy,
|
|
49
|
-
});
|
|
50
|
-
// loops → new loops, mapping old id → new id. A copied loop is INHERITED HISTORY, never the
|
|
51
|
-
// branch's live work (its own loop is enqueued fresh by injectWorker) — so a non-terminal status
|
|
52
|
-
// is clamped to terminal (200). Otherwise a fork taken while the parent's loop is mid-flight (102)
|
|
53
|
-
// would carry a frozen-live loop no drain ever advances, falsely marking the branch forever-live
|
|
54
|
-
// to any liveness check ({§worker-scheme-fork}, the premature-terminate gate {§send-premature-terminate}).
|
|
55
|
-
const loops = await db.fork_get_loops.all({ worker_id: parentWorkerId });
|
|
56
|
-
const loopMap = new Map();
|
|
57
|
-
for (const l of loops) {
|
|
58
|
-
const status = Fork.#TERMINAL_LOOP.has(l.status) ? l.status : 200;
|
|
59
|
-
const terminalResult = Fork.#TERMINAL_LOOP.has(l.status)
|
|
60
|
-
? l.terminal_result
|
|
61
|
-
: JSON.stringify({ status: 200 });
|
|
62
|
-
if (terminalResult === null) {
|
|
63
|
-
throw new Error(`fork: terminal source loop ${l.id} has no durable result`);
|
|
64
|
-
}
|
|
65
|
-
const nl = await db.fork_insert_loop.get({
|
|
66
|
-
worker_id: branchWorkerId,
|
|
67
|
-
sequence: l.sequence,
|
|
68
|
-
status,
|
|
69
|
-
prompt: l.prompt,
|
|
70
|
-
policy: l.policy,
|
|
71
|
-
model_route_id: l.model_route_id,
|
|
72
|
-
spawn_model_route_id: l.spawn_model_route_id,
|
|
73
|
-
reasoning_policy: l.reasoning_policy,
|
|
74
|
-
max_turns: l.max_turns,
|
|
75
|
-
terminal_result: terminalResult,
|
|
76
|
-
});
|
|
77
|
-
if (nl === undefined)
|
|
78
|
-
throw new Error("fork: loop insert returned no row");
|
|
79
|
-
await db.fork_reidentify_loop_result.run({ loop_id: nl.id });
|
|
80
|
-
loopMap.set(l.id, nl.id);
|
|
81
|
-
}
|
|
82
|
-
// turns → new turns, loop_id remapped, mapping old id → new id.
|
|
83
|
-
const turns = await db.fork_get_turns.all({ worker_id: parentWorkerId });
|
|
84
|
-
const turnMap = new Map();
|
|
85
|
-
for (const { id, loop_id, ...rest } of turns) {
|
|
86
|
-
// {§machine-processes-fork-cost} — copied turns retain conversational
|
|
87
|
-
// history, while model calls, admission rows, and physical requests
|
|
88
|
-
// remain owned by the source worker. Branch accounting therefore
|
|
89
|
-
// begins with only calls it actually issues.
|
|
90
|
-
const nt = await db.fork_insert_turn.get({
|
|
91
|
-
...rest,
|
|
92
|
-
loop_id: loopMap.get(loop_id),
|
|
93
|
-
});
|
|
94
|
-
if (nt === undefined)
|
|
95
|
-
throw new Error("fork: turn insert returned no row");
|
|
96
|
-
turnMap.set(id, nt.id);
|
|
97
|
-
}
|
|
98
|
-
// entries → new entries: worker/loop/turn ids remapped; visibility and
|
|
99
|
-
// attribution and content all preserved.
|
|
100
|
-
const entries = await db.fork_get_log_entries.all({ worker_id: parentWorkerId });
|
|
101
|
-
const logMap = new Map();
|
|
102
|
-
for (const e of entries) {
|
|
103
|
-
const { id: oldLogId, projection_active, projection_folded, native_delivered_at, ...row } = e;
|
|
104
|
-
const ne = await db.fork_insert_log_entry.get({ ...row, worker_id: branchWorkerId, loop_id: loopMap.get(e.loop_id), turn_id: turnMap.get(e.turn_id) });
|
|
105
|
-
if (ne === undefined)
|
|
106
|
-
throw new Error("fork: log entry copy returned no row");
|
|
107
|
-
await db.fork_set_log_entry_projection.run({
|
|
108
|
-
log_entry_id: ne.id,
|
|
109
|
-
active: projection_active,
|
|
110
|
-
folded: projection_folded,
|
|
111
|
-
});
|
|
112
|
-
if (native_delivered_at !== null) {
|
|
113
|
-
await db.fork_insert_native_content_delivery.run({
|
|
114
|
-
log_entry_id: ne.id,
|
|
115
|
-
delivered_at: native_delivered_at,
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
logMap.set(oldLogId, ne.id);
|
|
119
|
-
}
|
|
120
|
-
const curationEffects = await db.fork_get_log_curation_effects.all({ worker_id: parentWorkerId });
|
|
121
|
-
for (const effect of curationEffects) {
|
|
122
|
-
const operationLogEntryId = logMap.get(effect.operation_log_entry_id);
|
|
123
|
-
const targetLogEntryId = logMap.get(effect.target_log_entry_id);
|
|
124
|
-
if (operationLogEntryId === undefined || targetLogEntryId === undefined) {
|
|
125
|
-
throw new Error("fork: curation effect references a log row outside copied history");
|
|
126
|
-
}
|
|
127
|
-
await db.fork_insert_log_curation_effect.run({
|
|
128
|
-
operation_log_entry_id: operationLogEntryId,
|
|
129
|
-
target_log_entry_id: targetLogEntryId,
|
|
130
|
-
active_before: effect.active_before,
|
|
131
|
-
active_after: effect.active_after,
|
|
132
|
-
folded_before: effect.folded_before,
|
|
133
|
-
folded_after: effect.folded_after,
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
// {§machine-processes-entry-inheritance} — only a scheme-declared,
|
|
137
|
-
// quiescent snapshot crosses the fork. Live resources retain no phantom
|
|
138
|
-
// callback, and rederived/omitted entries carry no accidental bytes.
|
|
139
|
-
const ownedEntries = await db.fork_get_private_entries.all({ owner_id: parentWorkerId });
|
|
140
|
-
for (const s of ownedEntries) {
|
|
141
|
-
if (s.active === 1 || entryInheritance(s.scheme) !== "snapshot")
|
|
142
|
-
continue;
|
|
143
|
-
// {§worker-generated-subtree} — the child rederives Plurnk-generated
|
|
144
|
-
// documents from its inherited Functionality instead of inheriting bytes.
|
|
145
|
-
if (s.scheme === "worker" && isGeneratedPathname(s.pathname))
|
|
146
|
-
continue;
|
|
147
|
-
const ne = await db.fork_insert_private_entry.get({
|
|
148
|
-
workspace_id: parent.workspace_id,
|
|
149
|
-
owner_id: branchWorkerId,
|
|
150
|
-
scheme: s.scheme,
|
|
151
|
-
authority: s.authority,
|
|
152
|
-
pathname: s.pathname,
|
|
153
|
-
attributes: s.attributes,
|
|
154
|
-
});
|
|
155
|
-
if (ne === undefined)
|
|
156
|
-
throw new Error("fork: private entry copy returned no row");
|
|
157
|
-
await db.fork_copy_entry_channels.run({ old_entry_id: s.id, new_entry_id: ne.id });
|
|
158
|
-
}
|
|
159
|
-
return branchWorkerId;
|
|
13
|
+
? await WorkerName.claimAuto(db, options)
|
|
14
|
+
: await WorkerName.claimNamed(db, name, options);
|
|
15
|
+
return branch.id;
|
|
160
16
|
}
|
|
161
17
|
}
|
|
162
18
|
//# sourceMappingURL=fork.js.map
|
package/dist/core/fork.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/core/fork.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,
|
|
1
|
+
{"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/core/fork.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,wFAAwF;AACxF,iEAAiE;AAGjE,OAAO,UAAiC,MAAM,iBAAiB,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,IAAI;IACrB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAM,EAAE,cAAsB,EAAE,IAAwB;QACtE,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAiD,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QAC/G,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,cAAc,YAAY,CAAC,CAAC;QACtF,2EAA2E;QAC3E,MAAM,OAAO,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAW,CAAC;QACzH,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS;YAC7B,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC;YACzC,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC,EAAE,CAAC;IACrB,CAAC;CACJ"}
|
package/dist/core/fork.sql
CHANGED
|
@@ -1,185 +1,162 @@
|
|
|
1
|
-
-- Fork a worker:
|
|
2
|
-
--
|
|
3
|
-
--
|
|
4
|
-
-- turn ids are remapped
|
|
5
|
-
-- (
|
|
6
|
-
--
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
--
|
|
15
|
-
--
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
)
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
WHERE
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
)
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
JOIN
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
operation_log_entry_id,
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
SELECT e.id, e.scheme, e.authority, e.pathname, e.attributes,
|
|
164
|
-
EXISTS (
|
|
165
|
-
SELECT 1 FROM entry_channels c
|
|
166
|
-
WHERE c.entry_id = e.id AND c.state = 'active'
|
|
167
|
-
) AS active
|
|
168
|
-
FROM entries e
|
|
169
|
-
WHERE e.owner_id = $owner_id
|
|
170
|
-
ORDER BY e.id;
|
|
171
|
-
|
|
172
|
-
-- PREP: fork_insert_private_entry
|
|
173
|
-
-- A private entry copy with the branch as owner. synced_sig/membership_origin are NULL
|
|
174
|
-
-- (scratch is never disk-synced nor a file member); version defaults 0.
|
|
175
|
-
INSERT INTO entries (owner_id, scheme, authority, pathname, attributes)
|
|
176
|
-
SELECT $owner_id, $scheme, $authority, $pathname, $attributes
|
|
177
|
-
FROM workers WHERE id = $owner_id AND workspace_id = $workspace_id
|
|
178
|
-
RETURNING id;
|
|
179
|
-
|
|
180
|
-
-- PREP: fork_copy_entry_channels
|
|
181
|
-
-- Copy every source channel from the source entry to the copy. Deep projections
|
|
182
|
-
-- live on the shared artifact, not on either entry.
|
|
183
|
-
INSERT INTO entry_channels (entry_id, name, content, mimetype, weight, content_hash, deep_hash, state, producer_result)
|
|
184
|
-
SELECT $new_entry_id, name, content, mimetype, weight, content_hash, deep_hash, state, producer_result
|
|
185
|
-
FROM entry_channels WHERE entry_id = $old_entry_id;
|
|
1
|
+
-- Fork a worker: branch the log, share the world (SPEC {§machine-processes}). The branch's row
|
|
2
|
+
-- is claimed by worker_name_claim with fork_snapshot = 1, and that INSERT is the fork: the trigger
|
|
3
|
+
-- below copies the parent's history into the branch inside the same statement
|
|
4
|
+
-- ({§worker-fork-trigger}). Only worker, loop, turn and log ids are remapped, by natural key —
|
|
5
|
+
-- (worker, sequence) for a loop, (loop, sequence) for a turn, (turn, sequence) for a log row.
|
|
6
|
+
-- Nothing of the world is copied ({§machine-processes-fork-shares-the-world}).
|
|
7
|
+
|
|
8
|
+
-- INIT: workers_fork_copies_history
|
|
9
|
+
DROP TRIGGER IF EXISTS workers_fork_copies_history;
|
|
10
|
+
CREATE TRIGGER workers_fork_copies_history
|
|
11
|
+
AFTER INSERT ON workers
|
|
12
|
+
WHEN NEW.fork_event_boundary IS NOT NULL
|
|
13
|
+
BEGIN
|
|
14
|
+
-- Loops: inherited history, never live work — a non-terminal status is clamped to 200 and
|
|
15
|
+
-- given a plain success result ({§machine-processes-fork-copies-the-log}).
|
|
16
|
+
INSERT INTO loops (
|
|
17
|
+
worker_id, sequence, status, prompt, policy, model_route_id,
|
|
18
|
+
spawn_model_route_id, reasoning_policy, max_turns, terminal_result
|
|
19
|
+
)
|
|
20
|
+
SELECT NEW.id, l.sequence,
|
|
21
|
+
CASE WHEN l.status IN (200, 413, 429, 499, 500, 504, 508) THEN l.status ELSE 200 END,
|
|
22
|
+
l.prompt, l.policy, l.model_route_id, l.spawn_model_route_id, l.reasoning_policy, l.max_turns,
|
|
23
|
+
CASE WHEN l.status IN (200, 413, 429, 499, 500, 504, 508) THEN l.terminal_result ELSE '{"status":200}' END
|
|
24
|
+
FROM loops l
|
|
25
|
+
WHERE l.worker_id = NEW.parent_worker_id
|
|
26
|
+
ORDER BY l.id;
|
|
27
|
+
|
|
28
|
+
-- A forked loop is a new durable resource: a failure result identifies the branch loop.
|
|
29
|
+
UPDATE loops
|
|
30
|
+
SET terminal_result = json_set(terminal_result, '$.problem.instance', 'loop:///' || id)
|
|
31
|
+
WHERE worker_id = NEW.id
|
|
32
|
+
AND json_type(terminal_result, '$.problem') = 'object';
|
|
33
|
+
|
|
34
|
+
-- Turns, loop remapped. Model calls, admission rows and provider requests stay with the
|
|
35
|
+
-- source ({§machine-processes-fork-cost}).
|
|
36
|
+
INSERT INTO turns (
|
|
37
|
+
loop_id, sequence, timestamp, producer, kind, status, completed_at,
|
|
38
|
+
usage_curation_budget, packet, finish_reason, model, meta
|
|
39
|
+
)
|
|
40
|
+
SELECT nl.id, t.sequence, t.timestamp, t.producer, t.kind, t.status,
|
|
41
|
+
COALESCE(t.completed_at, strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
|
|
42
|
+
t.usage_curation_budget, t.packet, t.finish_reason, t.model, t.meta
|
|
43
|
+
FROM turns t
|
|
44
|
+
JOIN loops ol ON ol.id = t.loop_id
|
|
45
|
+
JOIN loops nl ON nl.worker_id = NEW.id AND nl.sequence = ol.sequence
|
|
46
|
+
WHERE ol.worker_id = NEW.parent_worker_id
|
|
47
|
+
ORDER BY t.id;
|
|
48
|
+
|
|
49
|
+
-- {§packet-items}: a turn's composition is copied; the items are shared by hash.
|
|
50
|
+
INSERT INTO turn_sections (turn_id, position, name, slot, header, weight)
|
|
51
|
+
SELECT nt.id, ts.position, ts.name, ts.slot, ts.header, ts.weight
|
|
52
|
+
FROM turn_sections ts
|
|
53
|
+
JOIN turns ot ON ot.id = ts.turn_id
|
|
54
|
+
JOIN loops ol ON ol.id = ot.loop_id
|
|
55
|
+
JOIN loops nl ON nl.worker_id = NEW.id AND nl.sequence = ol.sequence
|
|
56
|
+
JOIN turns nt ON nt.loop_id = nl.id AND nt.sequence = ot.sequence
|
|
57
|
+
WHERE ol.worker_id = NEW.parent_worker_id;
|
|
58
|
+
|
|
59
|
+
INSERT INTO turn_section_items (turn_id, section, position, item_hash)
|
|
60
|
+
SELECT nt.id, tsi.section, tsi.position, tsi.item_hash
|
|
61
|
+
FROM turn_section_items tsi
|
|
62
|
+
JOIN turns ot ON ot.id = tsi.turn_id
|
|
63
|
+
JOIN loops ol ON ol.id = ot.loop_id
|
|
64
|
+
JOIN loops nl ON nl.worker_id = NEW.id AND nl.sequence = ol.sequence
|
|
65
|
+
JOIN turns nt ON nt.loop_id = nl.id AND nt.sequence = ot.sequence
|
|
66
|
+
WHERE ol.worker_id = NEW.parent_worker_id;
|
|
67
|
+
|
|
68
|
+
INSERT INTO turn_sources (turn_id, kind, content, deep_hash)
|
|
69
|
+
SELECT nt.id, s.kind, s.content, s.deep_hash
|
|
70
|
+
FROM turn_sources s
|
|
71
|
+
JOIN turns ot ON ot.id = s.turn_id
|
|
72
|
+
JOIN loops ol ON ol.id = ot.loop_id
|
|
73
|
+
JOIN loops nl ON nl.worker_id = NEW.id AND nl.sequence = ol.sequence
|
|
74
|
+
JOIN turns nt ON nt.loop_id = nl.id AND nt.sequence = ot.sequence
|
|
75
|
+
WHERE ol.worker_id = NEW.parent_worker_id;
|
|
76
|
+
|
|
77
|
+
-- Log rows: durable events with their attribution, as inherited history. Each copied row
|
|
78
|
+
-- passes through the log's own triggers exactly as the original did.
|
|
79
|
+
INSERT INTO log_entries (
|
|
80
|
+
worker_id, loop_id, turn_id, sequence, at, origin, source, ambient_event_id, inherited_history,
|
|
81
|
+
op, signal, scheme, username, password, hostname, port, pathname, query, fragment,
|
|
82
|
+
lineMarker, tx, mimetype_tx, rx, mimetype_rx, status_rx, weight, state, outcome, attrs, initial_folded
|
|
83
|
+
)
|
|
84
|
+
SELECT NEW.id, nl.id, nt.id, e.sequence, e.at, e.origin, e.source, e.ambient_event_id, 1,
|
|
85
|
+
e.op, e.signal, e.scheme, e.username, e.password, e.hostname, e.port, e.pathname, e.query, e.fragment,
|
|
86
|
+
e.lineMarker, e.tx, e.mimetype_tx, e.rx, e.mimetype_rx, e.status_rx, e.weight, e.state, e.outcome, e.attrs, e.initial_folded
|
|
87
|
+
FROM log_entries e
|
|
88
|
+
JOIN turns ot ON ot.id = e.turn_id
|
|
89
|
+
JOIN loops ol ON ol.id = e.loop_id
|
|
90
|
+
JOIN loops nl ON nl.worker_id = NEW.id AND nl.sequence = ol.sequence
|
|
91
|
+
JOIN turns nt ON nt.loop_id = nl.id AND nt.sequence = ot.sequence
|
|
92
|
+
WHERE e.worker_id = NEW.parent_worker_id
|
|
93
|
+
ORDER BY e.id;
|
|
94
|
+
|
|
95
|
+
-- Current projection: membership, folded intervals, and the admission turn, remapped.
|
|
96
|
+
UPDATE log_entry_projections
|
|
97
|
+
SET active = source.active,
|
|
98
|
+
folded = source.folded,
|
|
99
|
+
output_admission_turn_id = source.admission_turn_id,
|
|
100
|
+
output_withheld = source.output_withheld
|
|
101
|
+
FROM (
|
|
102
|
+
SELECT ne.id AS log_entry_id, op.active, op.folded, op.output_withheld,
|
|
103
|
+
(SELECT at2.id FROM turns at1
|
|
104
|
+
JOIN loops al1 ON al1.id = at1.loop_id
|
|
105
|
+
JOIN loops al2 ON al2.worker_id = NEW.id AND al2.sequence = al1.sequence
|
|
106
|
+
JOIN turns at2 ON at2.loop_id = al2.id AND at2.sequence = at1.sequence
|
|
107
|
+
WHERE at1.id = op.output_admission_turn_id) AS admission_turn_id
|
|
108
|
+
FROM log_entries oe
|
|
109
|
+
JOIN log_entry_projections op ON op.log_entry_id = oe.id
|
|
110
|
+
JOIN turns ot ON ot.id = oe.turn_id
|
|
111
|
+
JOIN loops ol ON ol.id = oe.loop_id
|
|
112
|
+
JOIN loops nl ON nl.worker_id = NEW.id AND nl.sequence = ol.sequence
|
|
113
|
+
JOIN turns nt ON nt.loop_id = nl.id AND nt.sequence = ot.sequence
|
|
114
|
+
JOIN log_entries ne ON ne.turn_id = nt.id AND ne.sequence = oe.sequence
|
|
115
|
+
WHERE oe.worker_id = NEW.parent_worker_id
|
|
116
|
+
) AS source
|
|
117
|
+
WHERE log_entry_projections.log_entry_id = source.log_entry_id;
|
|
118
|
+
|
|
119
|
+
-- Curation effects: both identities belong to the copied history, by construction of the join.
|
|
120
|
+
INSERT INTO log_curation_effects (
|
|
121
|
+
operation_log_entry_id, target_log_entry_id,
|
|
122
|
+
active_before, active_after, folded_before, folded_after
|
|
123
|
+
)
|
|
124
|
+
SELECT nop.id, ntg.id, ef.active_before, ef.active_after, ef.folded_before, ef.folded_after
|
|
125
|
+
FROM log_curation_effects ef
|
|
126
|
+
JOIN log_entries oop ON oop.id = ef.operation_log_entry_id
|
|
127
|
+
JOIN turns oopt ON oopt.id = oop.turn_id
|
|
128
|
+
JOIN loops oopl ON oopl.id = oop.loop_id
|
|
129
|
+
JOIN loops nopl ON nopl.worker_id = NEW.id AND nopl.sequence = oopl.sequence
|
|
130
|
+
JOIN turns nopt ON nopt.loop_id = nopl.id AND nopt.sequence = oopt.sequence
|
|
131
|
+
JOIN log_entries nop ON nop.turn_id = nopt.id AND nop.sequence = oop.sequence
|
|
132
|
+
JOIN log_entries otg ON otg.id = ef.target_log_entry_id
|
|
133
|
+
JOIN turns otgt ON otgt.id = otg.turn_id
|
|
134
|
+
JOIN loops otgl ON otgl.id = otg.loop_id
|
|
135
|
+
JOIN loops ntgl ON ntgl.worker_id = NEW.id AND ntgl.sequence = otgl.sequence
|
|
136
|
+
JOIN turns ntgt ON ntgt.loop_id = ntgl.id AND ntgt.sequence = otgt.sequence
|
|
137
|
+
JOIN log_entries ntg ON ntg.turn_id = ntgt.id AND ntg.sequence = otg.sequence
|
|
138
|
+
WHERE oop.worker_id = NEW.parent_worker_id
|
|
139
|
+
ORDER BY ef.operation_log_entry_id, ef.target_log_entry_id;
|
|
140
|
+
|
|
141
|
+
-- Named scratch under the source's authority becomes the branch's; a live producer cannot be
|
|
142
|
+
-- cloned ({§machine-processes-entry-inheritance}). Version defaults to 0.
|
|
143
|
+
INSERT INTO entries (workspace_id, scheme, authority, pathname, attributes)
|
|
144
|
+
SELECT NEW.workspace_id, e.scheme, NEW.name, e.pathname, e.attributes
|
|
145
|
+
FROM entries e
|
|
146
|
+
WHERE e.workspace_id = NEW.workspace_id
|
|
147
|
+
AND e.authority = (SELECT name FROM workers WHERE id = NEW.parent_worker_id)
|
|
148
|
+
AND e.scheme IN ('worker', 'prompt')
|
|
149
|
+
AND NOT EXISTS (SELECT 1 FROM entry_channels c WHERE c.entry_id = e.id AND c.state = 'active')
|
|
150
|
+
ORDER BY e.id;
|
|
151
|
+
|
|
152
|
+
INSERT INTO entry_channels (entry_id, name, content, mimetype, weight, content_hash, deep_hash, state, producer_result)
|
|
153
|
+
SELECT ne.id, c.name, c.content, c.mimetype, c.weight, c.content_hash, c.deep_hash, c.state, c.producer_result
|
|
154
|
+
FROM entry_channels c
|
|
155
|
+
JOIN entries oe ON oe.id = c.entry_id
|
|
156
|
+
JOIN entries ne ON ne.workspace_id = oe.workspace_id AND ne.scheme = oe.scheme
|
|
157
|
+
AND ne.pathname = oe.pathname AND ne.authority = NEW.name
|
|
158
|
+
WHERE oe.workspace_id = NEW.workspace_id
|
|
159
|
+
AND oe.authority = (SELECT name FROM workers WHERE id = NEW.parent_worker_id)
|
|
160
|
+
AND oe.scheme IN ('worker', 'prompt')
|
|
161
|
+
AND NOT EXISTS (SELECT 1 FROM entry_channels a WHERE a.entry_id = oe.id AND a.state = 'active');
|
|
162
|
+
END;
|
package/dist/core/git-env.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-env.d.ts","sourceRoot":"","sources":["../../src/core/git-env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"git-env.d.ts","sourceRoot":"","sources":["../../src/core/git-env.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,cAAc,QAAO,MAAM,CAAC,UAUvC,CAAC;AAQH,eAAO,MAAM,qBAAqB,eAAsB,MAAM,WAAW,WAAW,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAW3G,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,MAMpC,CAAC"}
|
package/dist/core/git-env.js
CHANGED
|
@@ -1,11 +1,48 @@
|
|
|
1
|
+
import { execFile } from "node:child_process";
|
|
2
|
+
import { promisify } from "node:util";
|
|
3
|
+
const execFileP = promisify(execFile);
|
|
1
4
|
// {§membership-git-hermetic} — native Git receives no ambient GIT_* or
|
|
2
|
-
// global/system configuration
|
|
3
|
-
//
|
|
5
|
+
// global/system configuration, and the repository's own program-running keys are
|
|
6
|
+
// pinned off at the highest precedence: `core.fsmonitor` (a helper a supplied
|
|
7
|
+
// repository can name in `.git/config`, executed by index refresh) and
|
|
8
|
+
// `core.hooksPath`. Repository identity follows the explicit cwd. Other
|
|
9
|
+
// repository-local configuration is still read; inspecting a supplied
|
|
10
|
+
// repository never runs its configured programs as the daemon (#568).
|
|
11
|
+
const PINNED_CONFIG = Object.freeze([
|
|
12
|
+
["core.fsmonitor", "false"],
|
|
13
|
+
["core.hooksPath", "/dev/null"],
|
|
14
|
+
]);
|
|
4
15
|
export const hermeticGitEnv = () => ({
|
|
5
16
|
...Object.fromEntries(Object.entries(process.env).filter(([k]) => !k.startsWith("GIT_"))),
|
|
6
17
|
GIT_CONFIG_GLOBAL: "/dev/null",
|
|
7
18
|
GIT_CONFIG_SYSTEM: "/dev/null",
|
|
19
|
+
// GIT_CONFIG_COUNT/KEY_n/VALUE_n rank with `-c`: above every configuration file.
|
|
20
|
+
GIT_CONFIG_COUNT: String(PINNED_CONFIG.length),
|
|
21
|
+
...Object.fromEntries(PINNED_CONFIG.flatMap(([key, value], index) => [
|
|
22
|
+
[`GIT_CONFIG_KEY_${index}`, key],
|
|
23
|
+
[`GIT_CONFIG_VALUE_${index}`, value],
|
|
24
|
+
])),
|
|
8
25
|
});
|
|
26
|
+
// {§membership-git-hermetic} (#568): the pins above cannot cover a supplied
|
|
27
|
+
// repository's `filter.<name>.clean` / `filter.<name>.process` drivers — the
|
|
28
|
+
// name is arbitrary, and `git status` index refresh may run one as the daemon.
|
|
29
|
+
// Automatic inspection asks the repository's own config first and refuses when
|
|
30
|
+
// any such program is declared; user- and model-requested Git commands are on
|
|
31
|
+
// their explicit path and never consult this.
|
|
32
|
+
export const declaredFilterProgram = async (repository, signal) => {
|
|
33
|
+
try {
|
|
34
|
+
const { stdout } = await execFileP("git", ["config", "--get-regexp", "^filter\\..+\\.(clean|process)$"], {
|
|
35
|
+
cwd: repository, signal, maxBuffer: gitOutputMaxBytes(), env: hermeticGitEnv(),
|
|
36
|
+
});
|
|
37
|
+
const first = stdout.split("\n").find((line) => line.length > 0);
|
|
38
|
+
return first === undefined ? null : first.split(" ", 1)[0];
|
|
39
|
+
}
|
|
40
|
+
catch (cause) {
|
|
41
|
+
if (cause.code === 1)
|
|
42
|
+
return null; // no such key
|
|
43
|
+
throw new Error(`Git configuration inspection failed for '${repository}'.`, { cause });
|
|
44
|
+
}
|
|
45
|
+
};
|
|
9
46
|
export const gitOutputMaxBytes = () => {
|
|
10
47
|
const value = Number(process.env.PLURNK_SERVICE_GIT_OUTPUT_MAX_BYTES);
|
|
11
48
|
if (!Number.isSafeInteger(value) || value < 1) {
|
package/dist/core/git-env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-env.js","sourceRoot":"","sources":["../../src/core/git-env.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,
|
|
1
|
+
{"version":3,"file":"git-env.js","sourceRoot":"","sources":["../../src/core/git-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEtC,uEAAuE;AACvE,iFAAiF;AACjF,8EAA8E;AAC9E,uEAAuE;AACvE,wEAAwE;AACxE,sEAAsE;AACtE,sEAAsE;AACtE,MAAM,aAAa,GAA6C,MAAM,CAAC,MAAM,CAAC;IAC1E,CAAC,gBAAgB,EAAE,OAAO,CAAC;IAC3B,CAAC,gBAAgB,EAAE,WAAW,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAsB,EAAE,CAAC,CAAC;IACpD,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACzF,iBAAiB,EAAE,WAAW;IAC9B,iBAAiB,EAAE,WAAW;IAC9B,iFAAiF;IACjF,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;IAC9C,GAAG,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACjE,CAAC,kBAAkB,KAAK,EAAE,EAAE,GAAG,CAAC;QAChC,CAAC,oBAAoB,KAAK,EAAE,EAAE,KAAK,CAAC;KACvC,CAAC,CAAC;CACN,CAAC,CAAC;AAEH,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAC9E,8CAA8C;AAC9C,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,UAAkB,EAAE,MAAoB,EAA0B,EAAE;IAC5G,IAAI,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,iCAAiC,CAAC,EAAE;YACrG,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE;SACjF,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjE,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAK,KAA4B,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,cAAc;QACzE,MAAM,IAAI,KAAK,CAAC,4CAA4C,UAAU,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3F,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAW,EAAE;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACtE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC"}
|