@plurnk/plurnk-service 3.0.0 → 3.2.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 +38 -21
- package/INSTALL.md +38 -1
- package/README.md +3 -0
- package/SPEC.md +681 -268
- package/dist/build-info.json +1 -1
- package/dist/completions/_plurnk-service +13 -0
- package/dist/completions/plurnk-service.bash +19 -0
- package/dist/completions/plurnk-service.fish +94 -0
- package/dist/content/path-mimetype.d.ts.map +1 -1
- package/dist/content/path-mimetype.js +2 -8
- package/dist/content/path-mimetype.js.map +1 -1
- package/dist/core/AdmittedTurnExecutor.d.ts +2 -2
- package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
- package/dist/core/AdmittedTurnExecutor.js +36 -32
- package/dist/core/AdmittedTurnExecutor.js.map +1 -1
- package/dist/core/BudgetReadout.d.ts +7 -2
- package/dist/core/BudgetReadout.d.ts.map +1 -1
- package/dist/core/BudgetReadout.js +36 -5
- package/dist/core/BudgetReadout.js.map +1 -1
- package/dist/{schemes/_derivation-use.d.ts → core/ContentUse.d.ts} +3 -3
- package/dist/core/ContentUse.d.ts.map +1 -0
- package/dist/{schemes/_derivation-use.js → core/ContentUse.js} +8 -7
- package/dist/core/ContentUse.js.map +1 -0
- package/dist/core/DataStatementRunner.d.ts.map +1 -1
- package/dist/core/DataStatementRunner.js +8 -20
- package/dist/core/DataStatementRunner.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +11 -3
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +186 -109
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/EditMutations.js +1 -1
- package/dist/core/EditMutations.js.map +1 -1
- package/dist/core/Engine.d.ts +1 -1
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +4 -7
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/EnvFlags.js +1 -1
- package/dist/core/EnvFlags.js.map +1 -1
- package/dist/core/FabricatedLog.d.ts +1 -0
- package/dist/core/FabricatedLog.d.ts.map +1 -1
- package/dist/core/FabricatedLog.js +8 -0
- package/dist/core/FabricatedLog.js.map +1 -1
- package/dist/core/FileAddress.d.ts +12 -0
- package/dist/core/FileAddress.d.ts.map +1 -0
- package/dist/core/FileAddress.js +73 -0
- package/dist/core/FileAddress.js.map +1 -0
- package/dist/core/FilePublication.d.ts +15 -0
- package/dist/core/FilePublication.d.ts.map +1 -0
- package/dist/core/FilePublication.js +143 -0
- package/dist/core/FilePublication.js.map +1 -0
- package/dist/core/FileSnapshot.d.ts +26 -0
- package/dist/core/FileSnapshot.d.ts.map +1 -0
- package/dist/core/FileSnapshot.js +179 -0
- package/dist/core/FileSnapshot.js.map +1 -0
- package/dist/core/KillHandler.d.ts.map +1 -1
- package/dist/core/KillHandler.js +4 -1
- package/dist/core/KillHandler.js.map +1 -1
- package/dist/core/LiveSubscription.d.ts.map +1 -1
- package/dist/core/LiveSubscription.js +14 -2
- package/dist/core/LiveSubscription.js.map +1 -1
- package/dist/core/LiveSubscriptions.d.ts +3 -1
- package/dist/core/LiveSubscriptions.d.ts.map +1 -1
- package/dist/core/LiveSubscriptions.js +16 -1
- package/dist/core/LiveSubscriptions.js.map +1 -1
- package/dist/core/LogBody.d.ts.map +1 -1
- package/dist/core/LogBody.js +3 -1
- package/dist/core/LogBody.js.map +1 -1
- package/dist/core/LoopDriver.d.ts.map +1 -1
- package/dist/core/LoopDriver.js +3 -0
- package/dist/core/LoopDriver.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +1 -0
- package/dist/core/MembershipMaterialization.d.ts.map +1 -1
- package/dist/core/MembershipMaterialization.js +87 -143
- package/dist/core/MembershipMaterialization.js.map +1 -1
- package/dist/core/MessageResources.sql +31 -0
- package/dist/core/MutationEffects.d.ts +2 -1
- package/dist/core/MutationEffects.d.ts.map +1 -1
- package/dist/core/MutationEffects.js +14 -1
- package/dist/core/MutationEffects.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts +2 -2
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +123 -51
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/PacketBuilder.sql +21 -14
- package/dist/core/PathGlob.d.ts +6 -0
- package/dist/core/PathGlob.d.ts.map +1 -0
- package/dist/core/PathGlob.js +24 -0
- package/dist/core/PathGlob.js.map +1 -0
- package/dist/core/ProposalLifecycle.d.ts +2 -1
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +45 -33
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProposalLifecycle.sql +4 -0
- package/dist/core/ReplyMetadata.d.ts +10 -0
- package/dist/core/ReplyMetadata.d.ts.map +1 -0
- package/dist/core/ReplyMetadata.js +20 -0
- package/dist/core/ReplyMetadata.js.map +1 -0
- package/dist/core/ResourceBindings.d.ts.map +1 -1
- package/dist/core/ResourceBindings.js +4 -3
- package/dist/core/ResourceBindings.js.map +1 -1
- package/dist/core/ResourceSelector.d.ts +1 -2
- package/dist/core/ResourceSelector.d.ts.map +1 -1
- package/dist/core/ResourceSelector.js +30 -9
- package/dist/core/ResourceSelector.js.map +1 -1
- package/dist/core/ResourceTransfers.d.ts +1 -1
- package/dist/core/ResourceTransfers.d.ts.map +1 -1
- package/dist/core/ResourceTransfers.js +26 -11
- package/dist/core/ResourceTransfers.js.map +1 -1
- package/dist/core/ServiceHelp.d.ts +6 -0
- package/dist/core/ServiceHelp.d.ts.map +1 -0
- package/dist/core/ServiceHelp.js +35 -0
- package/dist/core/ServiceHelp.js.map +1 -0
- package/dist/core/StoredPacket.d.ts +1 -0
- package/dist/core/StoredPacket.d.ts.map +1 -1
- package/dist/core/StoredPacket.js +4 -1
- package/dist/core/StoredPacket.js.map +1 -1
- package/dist/core/StrikeRail.d.ts.map +1 -1
- package/dist/core/StrikeRail.js +2 -2
- package/dist/core/StrikeRail.js.map +1 -1
- package/dist/core/TokenCalibration.d.ts +2 -2
- package/dist/core/TokenCalibration.d.ts.map +1 -1
- package/dist/core/TokenCalibration.js +12 -16
- package/dist/core/TokenCalibration.js.map +1 -1
- package/dist/core/TokenCalibration.sql +29 -6
- package/dist/core/TurnDispositionHandler.d.ts +1 -2
- package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
- package/dist/core/TurnDispositionHandler.js +30 -26
- package/dist/core/TurnDispositionHandler.js.map +1 -1
- package/dist/core/TurnMaterialization.d.ts.map +1 -1
- package/dist/core/TurnMaterialization.js +11 -1
- package/dist/core/TurnMaterialization.js.map +1 -1
- package/dist/core/TurnOps.d.ts +5 -1
- package/dist/core/TurnOps.d.ts.map +1 -1
- package/dist/core/TurnOps.js +29 -2
- package/dist/core/TurnOps.js.map +1 -1
- package/dist/core/TurnRunner.d.ts.map +1 -1
- package/dist/core/TurnRunner.js +122 -56
- package/dist/core/TurnRunner.js.map +1 -1
- package/dist/core/TurnSources.sql +2 -2
- package/dist/core/caps/SchemeCtxImpl.d.ts +1 -0
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +5 -0
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
- package/dist/core/git-membership.d.ts +1 -0
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +9 -11
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/glob_match.js +3 -3
- package/dist/core/glob_match.js.map +1 -1
- package/dist/core/mutation-types.d.ts +3 -0
- package/dist/core/mutation-types.d.ts.map +1 -1
- package/dist/core/namespace.d.ts +4 -1
- package/dist/core/namespace.d.ts.map +1 -1
- package/dist/core/namespace.js +14 -3
- package/dist/core/namespace.js.map +1 -1
- package/dist/core/packet-wire.d.ts +7 -1
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +98 -36
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +3 -2
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +23 -11
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/recap-lines.d.ts +4 -0
- package/dist/core/recap-lines.d.ts.map +1 -0
- package/dist/core/recap-lines.js +11 -0
- package/dist/core/recap-lines.js.map +1 -0
- package/dist/core/scheme-types.d.ts +1 -0
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/sql-functions.d.ts +2 -0
- package/dist/core/sql-functions.d.ts.map +1 -0
- package/dist/core/sql-functions.js +5 -0
- package/dist/core/sql-functions.js.map +1 -0
- package/dist/core/sqlite-synchronous.d.ts +2 -0
- package/dist/core/sqlite-synchronous.d.ts.map +1 -0
- package/dist/core/sqlite-synchronous.js +4 -0
- package/dist/core/sqlite-synchronous.js.map +1 -0
- package/dist/core/turn-scheduler.d.ts.map +1 -1
- package/dist/core/turn-scheduler.js +1 -1
- package/dist/core/turn-scheduler.js.map +1 -1
- package/dist/evidence/EvidenceReader.d.ts.map +1 -1
- package/dist/evidence/EvidenceReader.js +23 -3
- package/dist/evidence/EvidenceReader.js.map +1 -1
- package/dist/evidence/digest.sql +7 -1
- package/dist/man/plurnk-service.1 +499 -0
- package/dist/schemes/Env.d.ts +26 -0
- package/dist/schemes/Env.d.ts.map +1 -0
- package/dist/schemes/Env.js +133 -0
- package/dist/schemes/Env.js.map +1 -0
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +15 -15
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.d.ts +3 -2
- package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +9 -0
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/File.d.ts +1 -0
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +233 -268
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +97 -17
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +9 -0
- package/dist/schemes/Worker.js +1 -1
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +2 -0
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +8 -5
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +15 -15
- package/dist/schemes/_entry-find.d.ts +2 -1
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +31 -19
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-manifest.d.ts +2 -2
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +10 -8
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +9 -7
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_path-scope.d.ts.map +1 -1
- package/dist/schemes/_path-scope.js +12 -4
- package/dist/schemes/_path-scope.js.map +1 -1
- package/dist/schemes/_search-index.js +3 -3
- package/dist/schemes/_search-index.js.map +1 -1
- package/dist/schemes/exec-abort.js +2 -2
- package/dist/schemes/exec-abort.js.map +1 -1
- package/dist/schemes/exec-env.d.ts.map +1 -1
- package/dist/schemes/exec-env.js +7 -22
- package/dist/schemes/exec-env.js.map +1 -1
- package/dist/server/Daemon.d.ts +1 -0
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +45 -68
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DrainSupervisor.d.ts +2 -3
- package/dist/server/DrainSupervisor.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.js +34 -6
- package/dist/server/DrainSupervisor.js.map +1 -1
- package/dist/server/EnvFunctionality.d.ts +4 -2
- package/dist/server/EnvFunctionality.d.ts.map +1 -1
- package/dist/server/EnvFunctionality.js +23 -12
- package/dist/server/EnvFunctionality.js.map +1 -1
- package/dist/server/Functionality.d.ts.map +1 -1
- package/dist/server/Functionality.js +15 -8
- package/dist/server/Functionality.js.map +1 -1
- package/dist/server/FunctionalityManager.d.ts +1 -1
- package/dist/server/FunctionalityManager.d.ts.map +1 -1
- package/dist/server/FunctionalityManager.js +5 -1
- package/dist/server/FunctionalityManager.js.map +1 -1
- package/dist/server/MembersFunctionality.d.ts.map +1 -1
- package/dist/server/MembersFunctionality.js +12 -12
- package/dist/server/MembersFunctionality.js.map +1 -1
- package/dist/server/Retention.d.ts.map +1 -1
- package/dist/server/Retention.js +5 -5
- package/dist/server/Retention.js.map +1 -1
- package/dist/server/Retention.sql +49 -23
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +12 -3
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/drain.sql +10 -9
- package/dist/server/lifecycle-recovery.sql +4 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +9 -31
- package/dist/service.js.map +1 -1
- package/docs/copy-move.md +3 -0
- package/docs/env.md +32 -4
- package/docs/members.md +16 -1
- package/migrations/018_worker_owners.sql +1 -0
- package/migrations/019_interactive_owners.sql +1 -0
- package/migrations/020_log_projection.sql +1 -0
- package/migrations/021_packet_roles.sql +86 -0
- package/migrations/022_message_completion.sql +24 -0
- package/migrations/023_file_revisions.sql +54 -0
- package/migrations/024_proposal_decisions.sql +34 -0
- package/migrations/025_response_retention.sql +30 -0
- package/package.json +38 -34
- package/dist/schemes/_derivation-use.d.ts.map +0 -1
- package/dist/schemes/_derivation-use.js.map +0 -1
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"package":"@plurnk/plurnk-service","version":"3.
|
|
1
|
+
{"package":"@plurnk/plurnk-service","version":"3.2.0","revision":"f96502a26d62a6f87b22950a9e2006348ac8a6bc","dirty":false}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#compdef plurnk-service
|
|
2
|
+
# Zsh completion generated from executable help.
|
|
3
|
+
local -a flags subs
|
|
4
|
+
flags=(--service-db-path --service-state-root --service-share-folder --service-sqlite-synchronous --service-sqlite-readers --service-capabilities --service-proposals --service-file-create-scope --service-members-model-scope --members-enabled --service-members-sample --service-git-allowed --service-git-auto --service-git-output-max-bytes --service-file-materialize-max-bytes --service-max-turns --service-max-commands --service-workspace-workers-max-active --service-loop-timeout --service-live-timeout --service-stop-timeout-ms --service-provider-recovery --service-provider-recovery-backoff --service-provider-recovery-backoff-max --service-max-strikes --service-emission-attempts --service-min-cycles --service-max-cycle-period --service-error-detail-limit --service-workspace-warm-ms --service-workspace-warm-max --service-proposal-timeout-ms --service-exec-hold --service-exec-hold-ms --service-exec-concurrency --service-exec-input-timeout-ms --service-exec-probe-timeout-ms --service-exec-scratch --service-effect-host --service-effect-read --service-effect-pure --service-optimistic-wait-ms --service-wait-sec --service-exec-env-inherit --service-exec-env-exclude --service-exec-kill-grace-ms --service-line-anchor-context-lines --service-edit-receipt-context-lines --service-edit-receipt-removed-lines --service-git-status-paths --service-budget-pressure --service-budget-largest-items --service-preview-lines --service-preview-chars --service-emission-history --service-reasoning-rows --service-catalog-summary-chars --service-log-read-page --service-log-read-max --service-prompts-page --service-model-catalog-page --service-files-items --service-docs-exclude --service-roots --service-search-exclude --service-search-max-bytes --service-derive-concurrency --service-derive-store-batch --service-derive-progress-heartbeat-ms --service-retain-packet-turns --service-retain-packet-ms --service-retain-response-turns --service-retain-response-ms --service-collect-packet-items --service-collect-derivations --service-collect-contents --service-retention-interval-ms --service-auto-vacuum --service-reclaim-min-free-bytes --host --port --env-file --env-file-if-exists --config --workspace --requiem --version --help)
|
|
5
|
+
subs=(start migrate config share requiem)
|
|
6
|
+
if [[ $words[CURRENT] == -* ]]; then
|
|
7
|
+
compadd -- $flags
|
|
8
|
+
elif (( CURRENT == 2 )); then
|
|
9
|
+
compadd -- $subs
|
|
10
|
+
_files
|
|
11
|
+
else
|
|
12
|
+
_files
|
|
13
|
+
fi
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Bash completion for plurnk-service; generated from executable help.
|
|
2
|
+
_plurnk_service() {
|
|
3
|
+
local cur=${COMP_WORDS[COMP_CWORD]}
|
|
4
|
+
local candidate
|
|
5
|
+
COMPREPLY=()
|
|
6
|
+
while IFS= read -r candidate; do
|
|
7
|
+
COMPREPLY+=("$candidate")
|
|
8
|
+
done < <(
|
|
9
|
+
if [[ $cur == -* ]]; then
|
|
10
|
+
compgen -W "--service-db-path --service-state-root --service-share-folder --service-sqlite-synchronous --service-sqlite-readers --service-capabilities --service-proposals --service-file-create-scope --service-members-model-scope --members-enabled --service-members-sample --service-git-allowed --service-git-auto --service-git-output-max-bytes --service-file-materialize-max-bytes --service-max-turns --service-max-commands --service-workspace-workers-max-active --service-loop-timeout --service-live-timeout --service-stop-timeout-ms --service-provider-recovery --service-provider-recovery-backoff --service-provider-recovery-backoff-max --service-max-strikes --service-emission-attempts --service-min-cycles --service-max-cycle-period --service-error-detail-limit --service-workspace-warm-ms --service-workspace-warm-max --service-proposal-timeout-ms --service-exec-hold --service-exec-hold-ms --service-exec-concurrency --service-exec-input-timeout-ms --service-exec-probe-timeout-ms --service-exec-scratch --service-effect-host --service-effect-read --service-effect-pure --service-optimistic-wait-ms --service-wait-sec --service-exec-env-inherit --service-exec-env-exclude --service-exec-kill-grace-ms --service-line-anchor-context-lines --service-edit-receipt-context-lines --service-edit-receipt-removed-lines --service-git-status-paths --service-budget-pressure --service-budget-largest-items --service-preview-lines --service-preview-chars --service-emission-history --service-reasoning-rows --service-catalog-summary-chars --service-log-read-page --service-log-read-max --service-prompts-page --service-model-catalog-page --service-files-items --service-docs-exclude --service-roots --service-search-exclude --service-search-max-bytes --service-derive-concurrency --service-derive-store-batch --service-derive-progress-heartbeat-ms --service-retain-packet-turns --service-retain-packet-ms --service-retain-response-turns --service-retain-response-ms --service-collect-packet-items --service-collect-derivations --service-collect-contents --service-retention-interval-ms --service-auto-vacuum --service-reclaim-min-free-bytes --host --port --env-file --env-file-if-exists --config --workspace --requiem --version --help" -- "$cur"
|
|
11
|
+
elif [[ $COMP_CWORD -eq 1 ]]; then
|
|
12
|
+
compgen -W "start migrate config share requiem" -- "$cur"
|
|
13
|
+
compgen -f -- "$cur"
|
|
14
|
+
else
|
|
15
|
+
compgen -f -- "$cur"
|
|
16
|
+
fi
|
|
17
|
+
)
|
|
18
|
+
}
|
|
19
|
+
complete -o filenames -F _plurnk_service plurnk-service
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Fish completion generated from executable help.
|
|
2
|
+
complete -c plurnk-service -n __fish_use_subcommand -a start
|
|
3
|
+
complete -c plurnk-service -n __fish_use_subcommand -a migrate
|
|
4
|
+
complete -c plurnk-service -n __fish_use_subcommand -a config
|
|
5
|
+
complete -c plurnk-service -n __fish_use_subcommand -a share
|
|
6
|
+
complete -c plurnk-service -n __fish_use_subcommand -a requiem
|
|
7
|
+
complete -c plurnk-service -l service-db-path
|
|
8
|
+
complete -c plurnk-service -l service-state-root
|
|
9
|
+
complete -c plurnk-service -l service-share-folder
|
|
10
|
+
complete -c plurnk-service -l service-sqlite-synchronous
|
|
11
|
+
complete -c plurnk-service -l service-sqlite-readers
|
|
12
|
+
complete -c plurnk-service -l service-capabilities
|
|
13
|
+
complete -c plurnk-service -l service-proposals
|
|
14
|
+
complete -c plurnk-service -l service-file-create-scope
|
|
15
|
+
complete -c plurnk-service -l service-members-model-scope
|
|
16
|
+
complete -c plurnk-service -l members-enabled
|
|
17
|
+
complete -c plurnk-service -l service-members-sample
|
|
18
|
+
complete -c plurnk-service -l service-git-allowed
|
|
19
|
+
complete -c plurnk-service -l service-git-auto
|
|
20
|
+
complete -c plurnk-service -l service-git-output-max-bytes
|
|
21
|
+
complete -c plurnk-service -l service-file-materialize-max-bytes
|
|
22
|
+
complete -c plurnk-service -l service-max-turns
|
|
23
|
+
complete -c plurnk-service -l service-max-commands
|
|
24
|
+
complete -c plurnk-service -l service-workspace-workers-max-active
|
|
25
|
+
complete -c plurnk-service -l service-loop-timeout
|
|
26
|
+
complete -c plurnk-service -l service-live-timeout
|
|
27
|
+
complete -c plurnk-service -l service-stop-timeout-ms
|
|
28
|
+
complete -c plurnk-service -l service-provider-recovery
|
|
29
|
+
complete -c plurnk-service -l service-provider-recovery-backoff
|
|
30
|
+
complete -c plurnk-service -l service-provider-recovery-backoff-max
|
|
31
|
+
complete -c plurnk-service -l service-max-strikes
|
|
32
|
+
complete -c plurnk-service -l service-emission-attempts
|
|
33
|
+
complete -c plurnk-service -l service-min-cycles
|
|
34
|
+
complete -c plurnk-service -l service-max-cycle-period
|
|
35
|
+
complete -c plurnk-service -l service-error-detail-limit
|
|
36
|
+
complete -c plurnk-service -l service-workspace-warm-ms
|
|
37
|
+
complete -c plurnk-service -l service-workspace-warm-max
|
|
38
|
+
complete -c plurnk-service -l service-proposal-timeout-ms
|
|
39
|
+
complete -c plurnk-service -l service-exec-hold
|
|
40
|
+
complete -c plurnk-service -l service-exec-hold-ms
|
|
41
|
+
complete -c plurnk-service -l service-exec-concurrency
|
|
42
|
+
complete -c plurnk-service -l service-exec-input-timeout-ms
|
|
43
|
+
complete -c plurnk-service -l service-exec-probe-timeout-ms
|
|
44
|
+
complete -c plurnk-service -l service-exec-scratch
|
|
45
|
+
complete -c plurnk-service -l service-effect-host
|
|
46
|
+
complete -c plurnk-service -l service-effect-read
|
|
47
|
+
complete -c plurnk-service -l service-effect-pure
|
|
48
|
+
complete -c plurnk-service -l service-optimistic-wait-ms
|
|
49
|
+
complete -c plurnk-service -l service-wait-sec
|
|
50
|
+
complete -c plurnk-service -l service-exec-env-inherit
|
|
51
|
+
complete -c plurnk-service -l service-exec-env-exclude
|
|
52
|
+
complete -c plurnk-service -l service-exec-kill-grace-ms
|
|
53
|
+
complete -c plurnk-service -l service-line-anchor-context-lines
|
|
54
|
+
complete -c plurnk-service -l service-edit-receipt-context-lines
|
|
55
|
+
complete -c plurnk-service -l service-edit-receipt-removed-lines
|
|
56
|
+
complete -c plurnk-service -l service-git-status-paths
|
|
57
|
+
complete -c plurnk-service -l service-budget-pressure
|
|
58
|
+
complete -c plurnk-service -l service-budget-largest-items
|
|
59
|
+
complete -c plurnk-service -l service-preview-lines
|
|
60
|
+
complete -c plurnk-service -l service-preview-chars
|
|
61
|
+
complete -c plurnk-service -l service-emission-history
|
|
62
|
+
complete -c plurnk-service -l service-reasoning-rows
|
|
63
|
+
complete -c plurnk-service -l service-catalog-summary-chars
|
|
64
|
+
complete -c plurnk-service -l service-log-read-page
|
|
65
|
+
complete -c plurnk-service -l service-log-read-max
|
|
66
|
+
complete -c plurnk-service -l service-prompts-page
|
|
67
|
+
complete -c plurnk-service -l service-model-catalog-page
|
|
68
|
+
complete -c plurnk-service -l service-files-items
|
|
69
|
+
complete -c plurnk-service -l service-docs-exclude
|
|
70
|
+
complete -c plurnk-service -l service-roots
|
|
71
|
+
complete -c plurnk-service -l service-search-exclude
|
|
72
|
+
complete -c plurnk-service -l service-search-max-bytes
|
|
73
|
+
complete -c plurnk-service -l service-derive-concurrency
|
|
74
|
+
complete -c plurnk-service -l service-derive-store-batch
|
|
75
|
+
complete -c plurnk-service -l service-derive-progress-heartbeat-ms
|
|
76
|
+
complete -c plurnk-service -l service-retain-packet-turns
|
|
77
|
+
complete -c plurnk-service -l service-retain-packet-ms
|
|
78
|
+
complete -c plurnk-service -l service-retain-response-turns
|
|
79
|
+
complete -c plurnk-service -l service-retain-response-ms
|
|
80
|
+
complete -c plurnk-service -l service-collect-packet-items
|
|
81
|
+
complete -c plurnk-service -l service-collect-derivations
|
|
82
|
+
complete -c plurnk-service -l service-collect-contents
|
|
83
|
+
complete -c plurnk-service -l service-retention-interval-ms
|
|
84
|
+
complete -c plurnk-service -l service-auto-vacuum
|
|
85
|
+
complete -c plurnk-service -l service-reclaim-min-free-bytes
|
|
86
|
+
complete -c plurnk-service -l host
|
|
87
|
+
complete -c plurnk-service -l port
|
|
88
|
+
complete -c plurnk-service -l env-file
|
|
89
|
+
complete -c plurnk-service -l env-file-if-exists
|
|
90
|
+
complete -c plurnk-service -l config
|
|
91
|
+
complete -c plurnk-service -l workspace
|
|
92
|
+
complete -c plurnk-service -l requiem
|
|
93
|
+
complete -c plurnk-service -l version
|
|
94
|
+
complete -c plurnk-service -l help
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-mimetype.d.ts","sourceRoot":"","sources":["../../src/content/path-mimetype.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"path-mimetype.d.ts","sourceRoot":"","sources":["../../src/content/path-mimetype.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtH;CACJ"}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
3
|
-
// framework's function; call sites stay `PathMimetype.resolveEntryMimetype(...)`.
|
|
4
|
-
//
|
|
5
|
-
// A pathname's extension drives the effective mimetype ({§ext-mimetype-extension-mimetype}; via the sibling
|
|
6
|
-
// Mimetypes detect service); the scheme manifest's channel default is the
|
|
7
|
-
// fallback when no extension is present. `worker:///users.json` →
|
|
8
|
-
// application/json; `worker:///notes` → scheme default.
|
|
1
|
+
// Core facade over the shared resolver; callers supply their creation type
|
|
2
|
+
// under {§ext-mimetype-extension-mimetype} and {§copy-destination-mimetype}.
|
|
9
3
|
import { PathMimetype as _PathMimetype } from "@plurnk/plurnk-schemes";
|
|
10
4
|
export default class PathMimetype {
|
|
11
5
|
static resolveEntryMimetype(pathname, schemeDefault, mimetypes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-mimetype.js","sourceRoot":"","sources":["../../src/content/path-mimetype.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"path-mimetype.js","sourceRoot":"","sources":["../../src/content/path-mimetype.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,6EAA6E;AAC7E,OAAO,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvE,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,MAAM,CAAC,oBAAoB,CAAC,QAAgB,EAAE,aAAqB,EAAE,SAAgC;QACjG,OAAO,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;CACJ"}
|
|
@@ -18,7 +18,7 @@ export default class AdmittedTurnExecutor {
|
|
|
18
18
|
dispatcher: Dispatcher;
|
|
19
19
|
bareBatch: BareBatchRunner;
|
|
20
20
|
});
|
|
21
|
-
executeAdmittedTurn({ statements, source, emission, reasoning, sourceModelCallId, origin, workspaceId, workerId, loopId, turnId, fromSequence, maxCommands, failOnOperationError, recoverableParseErrors, emptyTurn,
|
|
21
|
+
executeAdmittedTurn({ statements, source, emission, reasoning, sourceModelCallId, origin, workspaceId, workerId, loopId, turnId, fromSequence, maxCommands, failOnOperationError, recoverableParseErrors, emptyTurn, completionAllowed, bare, fit, signal, onDispatch, onSettled, }: {
|
|
22
22
|
statements: readonly PlurnkStatement[];
|
|
23
23
|
source: string | null;
|
|
24
24
|
emission: AdmittedTextSource | null;
|
|
@@ -34,7 +34,7 @@ export default class AdmittedTurnExecutor {
|
|
|
34
34
|
failOnOperationError?: boolean;
|
|
35
35
|
recoverableParseErrors?: readonly ParseErrorInfo[];
|
|
36
36
|
emptyTurn?: boolean;
|
|
37
|
-
|
|
37
|
+
completionAllowed?: boolean;
|
|
38
38
|
bare?: BareExecution;
|
|
39
39
|
fit?: ContextFit;
|
|
40
40
|
signal?: AbortSignal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdmittedTurnExecutor.d.ts","sourceRoot":"","sources":["../../src/core/AdmittedTurnExecutor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAuC,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACrG,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAMzC,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG9E,OAAO,KAAK,EAAE,cAAc,EAAsC,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAOjJ,MAAM,CAAC,OAAO,OAAO,oBAAoB;;IAQrC,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE;QACnE,EAAE,EAAE,EAAE,CAAC;QACP,OAAO,EAAE,cAAc,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,UAAU,CAAC;QACrB,UAAU,EAAE,UAAU,CAAC;QACvB,SAAS,EAAE,eAAe,CAAC;KAC9B,EAOA;IAMK,mBAAmB,CAAC,EACtB,UAAU,EACV,MAAM,EACN,QAAQ,EACR,SAAgB,EAChB,iBAAwB,EACxB,MAAM,EACN,WAAW,EACX,QAAQ,EACR,MAAM,EACN,MAAM,EACN,YAAY,EACZ,WAAsC,EACtC,oBAA4B,EAC5B,sBAA2B,EAC3B,SAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"AdmittedTurnExecutor.d.ts","sourceRoot":"","sources":["../../src/core/AdmittedTurnExecutor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAuC,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACrG,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAMzC,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG9E,OAAO,KAAK,EAAE,cAAc,EAAsC,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAOjJ,MAAM,CAAC,OAAO,OAAO,oBAAoB;;IAQrC,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE;QACnE,EAAE,EAAE,EAAE,CAAC;QACP,OAAO,EAAE,cAAc,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,UAAU,CAAC;QACrB,UAAU,EAAE,UAAU,CAAC;QACvB,SAAS,EAAE,eAAe,CAAC;KAC9B,EAOA;IAMK,mBAAmB,CAAC,EACtB,UAAU,EACV,MAAM,EACN,QAAQ,EACR,SAAgB,EAChB,iBAAwB,EACxB,MAAM,EACN,WAAW,EACX,QAAQ,EACR,MAAM,EACN,MAAM,EACN,YAAY,EACZ,WAAsC,EACtC,oBAA4B,EAC5B,sBAA2B,EAC3B,SAAiB,EACjB,iBAAwB,EACxB,IAAI,EACJ,GAAG,EACH,MAAM,EACN,UAAU,EACV,SAAS,GACZ,EAAE;QACC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;QACvC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAGtB,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;QACpC,SAAS,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;QACtC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,MAAM,EAAE,UAAU,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,sBAAsB,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;QACnD,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,aAAa,CAAC;QAErB,GAAG,CAAC,EAAE,UAAU,CAAC;QACjB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;QAC1C,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5D,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAqR9B;CAGJ"}
|
|
@@ -10,7 +10,7 @@ import { readOptimisticSettlementMs } from "./optimistic-settlement.js";
|
|
|
10
10
|
import EditSequence from "./EditSequence.js";
|
|
11
11
|
import { isContextReceipt, reserved } from "./ContextFit.js";
|
|
12
12
|
import LineAnchors from "../content/line-anchors.js";
|
|
13
|
-
import { ENGINE_PROBLEMS
|
|
13
|
+
import { ENGINE_PROBLEMS } from "./turn-signals.js";
|
|
14
14
|
import { isExecution } from "@plurnk/plurnk-contracts";
|
|
15
15
|
import { writtenOp } from "@plurnk/plurnk-contracts";
|
|
16
16
|
// SEND recipients and delegation own their input; resource operations use the manifest.
|
|
@@ -34,11 +34,11 @@ export default class AdmittedTurnExecutor {
|
|
|
34
34
|
// Every admitted producer program is scheduled, dispatched, recorded, and
|
|
35
35
|
// completed here; inference is only the model-specific way one program is
|
|
36
36
|
// acquired and supplied with BARE capability.
|
|
37
|
-
async executeAdmittedTurn({ statements, source, emission, reasoning = null, sourceModelCallId = null, origin, workspaceId, workerId, loopId, turnId, fromSequence, maxCommands = Number.POSITIVE_INFINITY, failOnOperationError = false, recoverableParseErrors = [], emptyTurn = false,
|
|
38
|
-
// {§
|
|
37
|
+
async executeAdmittedTurn({ statements, source, emission, reasoning = null, sourceModelCallId = null, origin, workspaceId, workerId, loopId, turnId, fromSequence, maxCommands = Number.POSITIVE_INFINITY, failOnOperationError = false, recoverableParseErrors = [], emptyTurn = false, completionAllowed = true, bare, fit, signal, onDispatch, onSettled, }) {
|
|
38
|
+
// {§loop-completion}: settlement follows durable message and observation obligations.
|
|
39
39
|
// {§turn-disposition} — every WAIT is admitted and dispatched; together they are one park,
|
|
40
40
|
// and the last of them settles the turn.
|
|
41
|
-
const dispositions = statements.filter(
|
|
41
|
+
const dispositions = statements.filter(TurnDisposition.is);
|
|
42
42
|
const finalOp = dispositions.at(-1);
|
|
43
43
|
if (statements.length === 0 && !emptyTurn) {
|
|
44
44
|
throw new Error("an admitted operation batch must contain operations");
|
|
@@ -61,9 +61,7 @@ export default class AdmittedTurnExecutor {
|
|
|
61
61
|
await onSettled?.(id);
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
|
-
// {§empty-turn}
|
|
65
|
-
// reasoning are kept, the strike rail counts it once, and its one error row is how the
|
|
66
|
-
// model hears the strike ({§operation-result-uniform-error-channel}).
|
|
64
|
+
// {§empty-turn}: preserve evidence even when no operation was admitted.
|
|
67
65
|
const recordEngineProblem = async (kind, sequence, extensions) => {
|
|
68
66
|
const problem = ENGINE_PROBLEMS[kind];
|
|
69
67
|
await this.#problems.record({
|
|
@@ -77,22 +75,12 @@ export default class AdmittedTurnExecutor {
|
|
|
77
75
|
});
|
|
78
76
|
};
|
|
79
77
|
const emptyTurnExtensions = { stage: "dispatch-admission", recovery: "Emit at least one fenced operation.", retryable: true };
|
|
80
|
-
if (statements.length === 0 && recoverableParseErrors.length === 0) {
|
|
81
|
-
if (emission !== null)
|
|
82
|
-
throw new Error("a turn that admitted nothing announces no emission");
|
|
83
|
-
if (source !== null)
|
|
84
|
-
await Turn.recordSource(this.#db, turnId, "ops", source, { modelCallId: sourceModelCallId });
|
|
85
|
-
await recordEngineProblem("no_operation", rowSequence, emptyTurnExtensions);
|
|
86
|
-
await recordReasoning();
|
|
87
|
-
await Turn.complete(this.#db, turnId, TURN_STATUS_IMPLICIT_CONTINUE);
|
|
88
|
-
return { status: TURN_STATUS_IMPLICIT_CONTINUE, outcomes: [], progressed: false, fingerprint: StrikeRail.fingerprintEmptyTurn(source ?? ""), emptyTurn: true };
|
|
89
|
-
}
|
|
90
78
|
const waits = [];
|
|
91
79
|
const pendingEngineErrors = [];
|
|
92
80
|
let realCommands = 0;
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
const
|
|
81
|
+
let droppedCount = 0;
|
|
82
|
+
const scheduled = scheduleTurnOps(statements);
|
|
83
|
+
const executed = [];
|
|
96
84
|
const logSelectionMaxId = (await this.#db.engine_log_selection_high_water.get({
|
|
97
85
|
worker_id: workerId,
|
|
98
86
|
}))?.max_id;
|
|
@@ -101,8 +89,6 @@ export default class AdmittedTurnExecutor {
|
|
|
101
89
|
}
|
|
102
90
|
const editSequence = scheduled.some((statement) => (statement.op === "EDIT" || statement.op === "KILL") && LineAnchors.hasAnchor(statement.lineMarker))
|
|
103
91
|
? new EditSequence() : undefined;
|
|
104
|
-
const droppedCount = statements.length - admitted.length;
|
|
105
|
-
const completionEligible = finalResponse && droppedCount === 0;
|
|
106
92
|
let bareResults = new Map();
|
|
107
93
|
const outcomes = [];
|
|
108
94
|
let progressed = false;
|
|
@@ -154,6 +140,10 @@ export default class AdmittedTurnExecutor {
|
|
|
154
140
|
await execHandler?.settleTurnSpawns?.(workerId, turnId, readOptimisticSettlementMs(), signal);
|
|
155
141
|
};
|
|
156
142
|
for (const [index, scheduledStatement] of scheduled.entries()) {
|
|
143
|
+
if (!TurnDisposition.is(scheduledStatement) && realCommands >= maxCommands) {
|
|
144
|
+
droppedCount++;
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
157
147
|
// {§metadata-ignored} — an unsupported resource option is dropped,
|
|
158
148
|
// and the model gets one notice, never a refusal. SEND recipients and invocation owners
|
|
159
149
|
// receive their own input whole ({§send-resource-attachments}, {§env-option}).
|
|
@@ -167,6 +157,7 @@ export default class AdmittedTurnExecutor {
|
|
|
167
157
|
source: "engine:dispatcher",
|
|
168
158
|
kind: "metadata_ignored",
|
|
169
159
|
level: "warn",
|
|
160
|
+
directive: "YOU SHOULD NOT write [metadata] on an operation that takes none.",
|
|
170
161
|
message: `${statement.op} on '${schemeName}' takes no [metadata]; the ${statement.op} ran without it.`,
|
|
171
162
|
});
|
|
172
163
|
statement = { ...statement, metadata: null };
|
|
@@ -174,8 +165,10 @@ export default class AdmittedTurnExecutor {
|
|
|
174
165
|
}
|
|
175
166
|
if (scheduledStatement === finalOp)
|
|
176
167
|
await settleTurn();
|
|
177
|
-
const result = await observed("op.dispatch", { op: writtenOp(statement) }, async (span) => {
|
|
168
|
+
const { result, commandsExecuted, commandsOmitted } = await observed("op.dispatch", { op: writtenOp(statement) }, async (span) => {
|
|
178
169
|
let dispatchResult;
|
|
170
|
+
let commandsExecuted = 1;
|
|
171
|
+
let commandsOmitted = 0;
|
|
179
172
|
if (statement.op === "BARE") {
|
|
180
173
|
if (bare === undefined) {
|
|
181
174
|
throw new Error(`${origin} turnOps cannot execute BARE without provider acquisition context`);
|
|
@@ -183,7 +176,7 @@ export default class AdmittedTurnExecutor {
|
|
|
183
176
|
if (!bareResults.has(statement)) {
|
|
184
177
|
const bareStatements = [];
|
|
185
178
|
for (const candidate of scheduled.slice(index)) {
|
|
186
|
-
if (candidate.op !== "BARE")
|
|
179
|
+
if (candidate.op !== "BARE" || bareStatements.length >= maxCommands - realCommands)
|
|
187
180
|
break;
|
|
188
181
|
bareStatements.push(candidate);
|
|
189
182
|
}
|
|
@@ -222,7 +215,7 @@ export default class AdmittedTurnExecutor {
|
|
|
222
215
|
}, bareResult.result, bareResult.modelCallId);
|
|
223
216
|
}
|
|
224
217
|
else {
|
|
225
|
-
|
|
218
|
+
const execution = await this.#dispatcher.dispatch({
|
|
226
219
|
statement,
|
|
227
220
|
workspaceId,
|
|
228
221
|
workerId,
|
|
@@ -232,19 +225,25 @@ export default class AdmittedTurnExecutor {
|
|
|
232
225
|
origin,
|
|
233
226
|
logSelectionMaxId,
|
|
234
227
|
editSequence,
|
|
235
|
-
|
|
228
|
+
remainingCommands: maxCommands - realCommands,
|
|
229
|
+
failOnOperationError,
|
|
236
230
|
...(fit === undefined ? {} : { fit: reserved(fit, scheduled.length - index - 1) }),
|
|
237
231
|
onDispatch,
|
|
238
232
|
onSettled,
|
|
239
233
|
});
|
|
234
|
+
({ result: dispatchResult, commandsExecuted, commandsOmitted } = execution);
|
|
240
235
|
}
|
|
241
236
|
span.setAttribute("status", dispatchResult.status);
|
|
242
237
|
recordCounter(OPS_DISPATCHED, { op: writtenOp(statement), status: dispatchResult.status });
|
|
243
|
-
return dispatchResult;
|
|
238
|
+
return { result: dispatchResult, commandsExecuted, commandsOmitted };
|
|
244
239
|
});
|
|
245
240
|
outcomes.push({ op: writtenOp(statement), status: result.status, problemType: result.problem?.type ?? null });
|
|
246
241
|
progressed ||= isProgress(statement, result.status);
|
|
242
|
+
executed.push(statement);
|
|
247
243
|
results.push(result);
|
|
244
|
+
if (!TurnDisposition.is(statement))
|
|
245
|
+
realCommands += commandsExecuted;
|
|
246
|
+
droppedCount += commandsOmitted;
|
|
248
247
|
rowSequence += result.rowsWritten ?? 1;
|
|
249
248
|
if (failOnOperationError && result.status >= 400 && !isContextReceipt(result)) {
|
|
250
249
|
throw new OperationFailureError(result);
|
|
@@ -254,6 +253,7 @@ export default class AdmittedTurnExecutor {
|
|
|
254
253
|
source: "engine:slicer",
|
|
255
254
|
kind: "scope_normalized",
|
|
256
255
|
level: "warn",
|
|
256
|
+
directive: "YOU SHOULD write the normalized scope.",
|
|
257
257
|
message: `Scope <${normalization.requested.join(",")}> was normalized to <${normalization.canonical.join(",")}>.`,
|
|
258
258
|
});
|
|
259
259
|
}
|
|
@@ -264,7 +264,8 @@ export default class AdmittedTurnExecutor {
|
|
|
264
264
|
source: "engine:slicer",
|
|
265
265
|
kind: "edit_merged",
|
|
266
266
|
level: "warn",
|
|
267
|
-
|
|
267
|
+
directive: "YOU SHOULD verify the merged EDIT before building on it.",
|
|
268
|
+
message: `EDIT resolution applied: ${merge.rule}; the row's merged fact has the coordinates.`,
|
|
268
269
|
});
|
|
269
270
|
}
|
|
270
271
|
if (TurnDisposition.is(scheduledStatement) && result.status < 400)
|
|
@@ -274,7 +275,10 @@ export default class AdmittedTurnExecutor {
|
|
|
274
275
|
await settleTurn();
|
|
275
276
|
if (droppedCount > 0)
|
|
276
277
|
pendingEngineErrors.push("max_commands_exceeded");
|
|
277
|
-
|
|
278
|
+
const completionEligible = completionAllowed && droppedCount === 0 && recoverableParseErrors.length === 0;
|
|
279
|
+
const unresolved = await this.#db.message_unanswered_count.get({ loop_id: loopId });
|
|
280
|
+
const emptyRecovery = emptyTurn && (!completionEligible || unresolved.count > 0);
|
|
281
|
+
if (emptyRecovery)
|
|
278
282
|
pendingEngineErrors.push("no_operation");
|
|
279
283
|
for (const kind of pendingEngineErrors) {
|
|
280
284
|
const extensions = kind === "no_operation" ? emptyTurnExtensions : {
|
|
@@ -286,15 +290,15 @@ export default class AdmittedTurnExecutor {
|
|
|
286
290
|
};
|
|
287
291
|
await recordEngineProblem(kind, rowSequence++, extensions);
|
|
288
292
|
}
|
|
289
|
-
const turnStatus = await this.#dispatcher.settleProgram({ workerId, loopId, turnId, origin }, waits, completionEligible);
|
|
293
|
+
const turnStatus = await this.#dispatcher.settleProgram({ workspaceId, workerId, loopId, turnId, origin }, waits, completionEligible);
|
|
290
294
|
await recordReasoning();
|
|
291
295
|
await Turn.complete(this.#db, turnId, turnStatus);
|
|
292
296
|
return {
|
|
293
297
|
status: turnStatus,
|
|
294
298
|
outcomes,
|
|
295
299
|
progressed,
|
|
296
|
-
fingerprint: emptyTurn ? StrikeRail.fingerprintEmptyTurn(source ?? "") : StrikeRail.fingerprintTurn(
|
|
297
|
-
emptyTurn,
|
|
300
|
+
fingerprint: emptyTurn ? StrikeRail.fingerprintEmptyTurn(source ?? "") : StrikeRail.fingerprintTurn(executed, results),
|
|
301
|
+
emptyTurn: emptyRecovery,
|
|
298
302
|
};
|
|
299
303
|
}
|
|
300
304
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdmittedTurnExecutor.js","sourceRoot":"","sources":["../../src/core/AdmittedTurnExecutor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AdmittedTurnExecutor.js","sourceRoot":"","sources":["../../src/core/AdmittedTurnExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
type
|
|
1
|
+
import type { Notice } from "@plurnk/plurnk-contracts";
|
|
2
|
+
type MeasurePacket = (gauge: string, notice: Notice | null) => number;
|
|
2
3
|
export interface LargestLogItem {
|
|
3
4
|
readonly path: string;
|
|
4
5
|
readonly tokens: number;
|
|
5
6
|
}
|
|
7
|
+
export interface Readout {
|
|
8
|
+
readonly gauge: string;
|
|
9
|
+
readonly notice: Notice | null;
|
|
10
|
+
}
|
|
6
11
|
export default class BudgetReadout {
|
|
7
12
|
#private;
|
|
8
13
|
static draft(budget: number | null): string;
|
|
9
14
|
static budgetOf(content: string): number | null;
|
|
10
|
-
static resolve(template: string, measurePacket: MeasurePacket, largestLogItems?: readonly LargestLogItem[]):
|
|
15
|
+
static resolve(template: string, measurePacket: MeasurePacket, largestLogItems?: readonly LargestLogItem[]): Readout;
|
|
11
16
|
}
|
|
12
17
|
export {};
|
|
13
18
|
//# sourceMappingURL=BudgetReadout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BudgetReadout.d.ts","sourceRoot":"","sources":["../../src/core/BudgetReadout.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BudgetReadout.d.ts","sourceRoot":"","sources":["../../src/core/BudgetReadout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAKvD,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,OAAO;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAcD,MAAM,CAAC,OAAO,OAAO,aAAa;;IAC9B,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAI1C;IAGD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS9C;IAID,MAAM,CAAC,OAAO,CACV,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,aAAa,EAC5B,eAAe,GAAE,SAAS,cAAc,EAAO,GAChD,OAAO,CAgBT;CAqFJ"}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { Knob } from "@plurnk/plurnk-meta";
|
|
2
2
|
const TOKENS_PLACEHOLDER = "{{tokens}}";
|
|
3
3
|
const MAX_WIDTH_PASSES = 64;
|
|
4
|
-
// {§context-
|
|
5
|
-
|
|
4
|
+
// {§context-pressure-notice} — the share and the constraint it nears; the gauge keeps the counts.
|
|
5
|
+
const pressureNotice = (share) => ({
|
|
6
|
+
source: "engine:context",
|
|
7
|
+
kind: "budget_pressure",
|
|
8
|
+
level: "warn",
|
|
9
|
+
directive: "YOU MUST NOT exceed budget.",
|
|
10
|
+
message: `Context is at ${share}% of budget.`,
|
|
11
|
+
});
|
|
12
|
+
// {§context-gauge} — one measured JSON object; the curation inventory and the pressure notice
|
|
13
|
+
// ({§context-pressure-notice}) appear only under pressure.
|
|
14
|
+
// Never a response allowance ({§output-allowance-notice}).
|
|
6
15
|
export default class BudgetReadout {
|
|
7
16
|
static draft(budget) {
|
|
8
17
|
if (budget === null)
|
|
@@ -24,8 +33,6 @@ export default class BudgetReadout {
|
|
|
24
33
|
}
|
|
25
34
|
// {§tokenomics-render-weight-budget} — the width only expands, so the final
|
|
26
35
|
// numeric substitution cannot change the measured packet length or oscillate.
|
|
27
|
-
// {§context-gauge} — the inventory is complete whatever the packet weighs: over budget it is the
|
|
28
|
-
// curation handles the row asks the model to use ({§context-over-budget-row}).
|
|
29
36
|
static resolve(template, measurePacket, largestLogItems = []) {
|
|
30
37
|
BudgetReadout.#assertTemplate(template);
|
|
31
38
|
const ranked = largestLogItems
|
|
@@ -34,7 +41,31 @@ export default class BudgetReadout {
|
|
|
34
41
|
? a.path < b.path ? -1 : a.path > b.path ? 1 : 0
|
|
35
42
|
: a.tokens > b.tokens ? -1 : 1)
|
|
36
43
|
.slice(0, Knob.integer("PLURNK_SERVICE_BUDGET_LARGEST_ITEMS", 0));
|
|
37
|
-
|
|
44
|
+
const neutral = BudgetReadout.#resolveTemplate(template, (gauge) => measurePacket(gauge, null));
|
|
45
|
+
const budget = BudgetReadout.budgetOf(neutral.content);
|
|
46
|
+
const pressure = Knob.percent("PLURNK_SERVICE_BUDGET_PRESSURE");
|
|
47
|
+
// Neither the inventory nor the notice can trigger its own appearance; their weight is included only after admission.
|
|
48
|
+
if (budget === null || neutral.usage <= budget * pressure)
|
|
49
|
+
return { gauge: neutral.content, notice: null };
|
|
50
|
+
const pressured = BudgetReadout.#withInventory(template, ranked);
|
|
51
|
+
const noticed = neutral.usage > budget ? null : BudgetReadout.#withNotice(pressured, budget, neutral.usage, measurePacket);
|
|
52
|
+
return noticed ?? { gauge: BudgetReadout.#resolveTemplate(pressured, (gauge) => measurePacket(gauge, null)).content, notice: null };
|
|
53
|
+
}
|
|
54
|
+
// {§context-pressure-notice} — the share is the gauge's own final tokens over its budget, the notice
|
|
55
|
+
// included; a packet the notice would carry over its budget carries none.
|
|
56
|
+
static #withNotice(template, budget, usage, measurePacket) {
|
|
57
|
+
let share = Math.floor(usage * 100 / budget);
|
|
58
|
+
for (let pass = 0; pass < MAX_WIDTH_PASSES; pass += 1) {
|
|
59
|
+
const notice = pressureNotice(share);
|
|
60
|
+
const resolved = BudgetReadout.#resolveTemplate(template, (gauge) => measurePacket(gauge, notice));
|
|
61
|
+
if (resolved.usage > budget)
|
|
62
|
+
return null;
|
|
63
|
+
const measured = Math.floor(resolved.usage * 100 / budget);
|
|
64
|
+
if (measured === share)
|
|
65
|
+
return { gauge: resolved.content, notice };
|
|
66
|
+
share = measured;
|
|
67
|
+
}
|
|
68
|
+
throw new Error(`Budget pressure share did not converge after ${MAX_WIDTH_PASSES} passes`);
|
|
38
69
|
}
|
|
39
70
|
static #resolveTemplate(template, measurePacket) {
|
|
40
71
|
let width = 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BudgetReadout.js","sourceRoot":"","sources":["../../src/core/BudgetReadout.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BudgetReadout.js","sourceRoot":"","sources":["../../src/core/BudgetReadout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { Db } from "
|
|
2
|
-
export default class
|
|
1
|
+
import type { Db } from "./Db.ts";
|
|
2
|
+
export default class ContentUse {
|
|
3
3
|
#private;
|
|
4
4
|
static read<T>(db: Db, action: () => Promise<T>): Promise<T>;
|
|
5
5
|
static collect<T>(db: Db, action: () => Promise<T>): Promise<T | null>;
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=
|
|
7
|
+
//# sourceMappingURL=ContentUse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentUse.d.ts","sourceRoot":"","sources":["../../src/core/ContentUse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAOlC,MAAM,CAAC,OAAO,OAAO,UAAU;;IAY3B,OAAa,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAMjE;IAED,OAAa,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAU3E;CACJ"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
// {§derivation-in-flight}: collection cannot remove
|
|
1
|
+
// {§derivation-in-flight}, {§native-content-lifetime}: collection cannot remove
|
|
2
|
+
// a not-yet-published artifact or its source. This grants no resource ownership.
|
|
2
3
|
// Uses remain parallel; a busy collector skips this pass, and new uses await an active collector.
|
|
3
|
-
export default class
|
|
4
|
+
export default class ContentUse {
|
|
4
5
|
static #databases = new WeakMap();
|
|
5
6
|
static #usage(db) {
|
|
6
|
-
let usage =
|
|
7
|
+
let usage = ContentUse.#databases.get(db);
|
|
7
8
|
if (usage === undefined) {
|
|
8
9
|
usage = { readers: 0, collection: null };
|
|
9
|
-
|
|
10
|
+
ContentUse.#databases.set(db, usage);
|
|
10
11
|
}
|
|
11
12
|
return usage;
|
|
12
13
|
}
|
|
13
14
|
static async read(db, action) {
|
|
14
|
-
const usage =
|
|
15
|
+
const usage = ContentUse.#usage(db);
|
|
15
16
|
while (usage.collection !== null)
|
|
16
17
|
await usage.collection;
|
|
17
18
|
usage.readers++;
|
|
@@ -23,7 +24,7 @@ export default class DerivationUse {
|
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
static async collect(db, action) {
|
|
26
|
-
const usage =
|
|
27
|
+
const usage = ContentUse.#usage(db);
|
|
27
28
|
if (usage.readers > 0 || usage.collection !== null)
|
|
28
29
|
return null;
|
|
29
30
|
const barrier = Promise.withResolvers();
|
|
@@ -37,4 +38,4 @@ export default class DerivationUse {
|
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
|
-
//# sourceMappingURL=
|
|
41
|
+
//# sourceMappingURL=ContentUse.js.map
|