@astrosheep/keiyaku 4.5.29 → 4.6.2
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/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku/SKILL.md +0 -13
- package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-akuma/SKILL.md +47 -78
- package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-akuma/references/automation.md +54 -41
- package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-babysit/SKILL.md +10 -0
- package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-bind/SKILL.md +27 -9
- package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-workflow/SKILL.md +68 -71
- package/build/src/akuma/akuma-call.d.ts +53 -0
- package/build/src/akuma/akuma-call.js +113 -0
- package/build/src/akuma/akuma-instance.d.ts +20 -18
- package/build/src/akuma/akuma-instance.js +65 -175
- package/build/src/akuma/akuma-observe.d.ts +3 -21
- package/build/src/akuma/akuma-observe.js +7 -24
- package/build/src/akuma/{akuma-handle.d.ts → akuma-owner.d.ts} +55 -27
- package/build/src/akuma/{akuma-handle.js → akuma-owner.js} +24 -23
- package/build/src/akuma/akuma-selection-execution.d.ts +51 -0
- package/build/src/akuma/akuma-selection-execution.js +134 -0
- package/build/src/akuma/{fleet-execution.d.ts → akuma-wait.d.ts} +24 -44
- package/build/src/akuma/akuma-wait.js +113 -0
- package/build/src/akuma/akuma.d.ts +35 -89
- package/build/src/akuma/akuma.js +148 -30
- package/build/src/akuma/archetype.d.ts +12 -0
- package/build/src/akuma/archetype.js +47 -19
- package/build/src/akuma/body.d.ts +76 -36
- package/build/src/akuma/body.js +84 -49
- package/build/src/akuma/call-initial-tell.d.ts +131 -22
- package/build/src/akuma/call-initial-tell.js +31 -1
- package/build/src/akuma/call-request.d.ts +237 -31
- package/build/src/akuma/call-request.js +67 -94
- package/build/src/akuma/coordinate.d.ts +15 -5
- package/build/src/akuma/coordinate.js +12 -22
- package/build/src/akuma/dispatch-association.d.ts +1 -1
- package/build/src/akuma/dispatch-association.js +1 -10
- package/build/src/akuma/heart/activity-schema.d.ts +325 -0
- package/build/src/akuma/heart/activity-schema.js +53 -0
- package/build/src/akuma/heart/facts.d.ts +1 -6
- package/build/src/akuma/heart/index.d.ts +3 -1
- package/build/src/akuma/heart/index.js +4 -1
- package/build/src/akuma/heart/rows.d.ts +49 -2
- package/build/src/akuma/heart/rows.js +16 -2
- package/build/src/akuma/heart/soul.d.ts +1 -0
- package/build/src/akuma/heart/soul.js +6 -4
- package/build/src/akuma/heart/tells.d.ts +1 -0
- package/build/src/akuma/heart/tells.js +18 -0
- package/build/src/akuma/identity.d.ts +10 -7
- package/build/src/akuma/identity.js +23 -0
- package/build/src/akuma/index.d.ts +10 -8
- package/build/src/akuma/index.js +2 -2
- package/build/src/akuma/nuke.d.ts +3 -0
- package/build/src/akuma/nuke.js +13 -7
- package/build/src/akuma/projection.d.ts +0 -5
- package/build/src/akuma/projection.js +22 -43
- package/build/src/akuma/provider-recipe.d.ts +58 -13
- package/build/src/akuma/provider-recipe.js +62 -80
- package/build/src/akuma/provider.d.ts +6 -76
- package/build/src/akuma/provider.js +11 -219
- package/build/src/akuma/providers/acp/config.d.ts +2 -0
- package/build/src/akuma/providers/acp/config.js +26 -1
- package/build/src/akuma/providers/acp/core.d.ts +7 -0
- package/build/src/akuma/providers/acp/core.js +49 -18
- package/build/src/akuma/providers/acp/index.js +14 -6
- package/build/src/akuma/providers/grok-build/index.js +44 -13
- package/build/src/akuma/providers/index.d.ts +3 -3
- package/build/src/akuma/providers/index.js +2 -13
- package/build/src/akuma/providers/opencode-sdk/event-stream.d.ts +28 -0
- package/build/src/akuma/providers/opencode-sdk/event-stream.js +92 -0
- package/build/src/akuma/providers/opencode-sdk/events.d.ts +0 -1
- package/build/src/akuma/providers/opencode-sdk/index.js +200 -64
- package/build/src/akuma/providers/opencode-sdk/session.d.ts +41 -1
- package/build/src/akuma/providers/opencode-sdk/session.js +69 -2
- package/build/src/akuma/providers/pi/events.js +5 -2
- package/build/src/akuma/providers/pi/index.d.ts +3 -4
- package/build/src/akuma/providers/pi/index.js +99 -45
- package/build/src/akuma/publication.d.ts +84 -3
- package/build/src/akuma/publication.js +145 -2
- package/build/src/akuma/read-pool.d.ts +2 -0
- package/build/src/akuma/read-pool.js +15 -0
- package/build/src/akuma/request-rendezvous.js +10 -0
- package/build/src/akuma/request-serve.js +7 -0
- package/build/src/akuma/request-wire.d.ts +14 -26
- package/build/src/akuma/request-wire.js +4 -0
- package/build/src/akuma/requests.d.ts +0 -2
- package/build/src/akuma/requests.js +0 -17
- package/build/src/akuma/{fleet-observation.d.ts → selection-observation.d.ts} +37 -36
- package/build/src/akuma/selection-observation.js +65 -0
- package/build/src/akuma/{fleet-owner-port.d.ts → selection-owner-port.d.ts} +3 -3
- package/build/src/akuma/{fleet-owner-port.js → selection-owner-port.js} +11 -17
- package/build/src/akuma/{fleet-request.d.ts → selection-request.d.ts} +42 -82
- package/build/src/akuma/{fleet-request.js → selection-request.js} +92 -136
- package/build/src/akuma/turn-drive.js +73 -14
- package/build/src/akuma-body.js +91 -56
- package/build/src/body/amend.d.ts +5 -0
- package/build/src/body/amend.js +26 -50
- package/build/src/body/arc.d.ts +4 -2
- package/build/src/body/arc.js +19 -26
- package/build/src/body/criteria.d.ts +6 -0
- package/build/src/body/criteria.js +37 -0
- package/build/src/body/decode.js +5 -42
- package/build/src/body/region.d.ts +5 -0
- package/build/src/body/region.js +45 -2
- package/build/src/body/render.js +2 -4
- package/build/src/cli/activity.d.ts +26 -0
- package/build/src/cli/activity.js +75 -0
- package/build/src/cli/actor.d.ts +3 -1
- package/build/src/cli/actor.js +15 -2
- package/build/src/cli/commands/akuma-grammar.d.ts +75 -0
- package/build/src/cli/commands/akuma-grammar.js +414 -0
- package/build/src/cli/commands/akuma.d.ts +5 -69
- package/build/src/cli/commands/akuma.js +352 -319
- package/build/src/cli/commands/amend.d.ts +4 -5
- package/build/src/cli/commands/amend.js +1 -2
- package/build/src/cli/commands/bind.d.ts +4 -5
- package/build/src/cli/commands/bind.js +7 -10
- package/build/src/cli/commands/contract-grammar.d.ts +112 -0
- package/build/src/cli/commands/contract-grammar.js +282 -0
- package/build/src/cli/commands/contract-help.d.ts +17 -22
- package/build/src/cli/commands/contract-help.js +37 -24
- package/build/src/cli/commands/contract.d.ts +18 -97
- package/build/src/cli/commands/contract.js +621 -233
- package/build/src/cli/commands/install.d.ts +1 -1
- package/build/src/cli/commands/install.js +2 -2
- package/build/src/cli/commands/task-grammar.d.ts +19 -0
- package/build/src/cli/commands/task-grammar.js +438 -0
- package/build/src/cli/commands/task-query.js +23 -104
- package/build/src/cli/commands/task.d.ts +5 -20
- package/build/src/cli/commands/task.js +414 -364
- package/build/src/cli/coordinates.d.ts +10 -0
- package/build/src/cli/coordinates.js +20 -0
- package/build/src/cli/draft.d.ts +7 -1
- package/build/src/cli/main.js +10 -1
- package/build/src/cli/parse.d.ts +8 -9
- package/build/src/cli/parse.js +62 -62
- package/build/src/cli/render/akuma-activity.d.ts +54 -36
- package/build/src/cli/render/akuma-activity.js +262 -242
- package/build/src/cli/render/akuma-tool.d.ts +8 -4
- package/build/src/cli/render/akuma-tool.js +6 -5
- package/build/src/cli/render/akuma.d.ts +36 -16
- package/build/src/cli/render/akuma.js +65 -132
- package/build/src/cli/render/audit.d.ts +6 -2
- package/build/src/cli/render/audit.js +59 -28
- package/build/src/cli/render/catalog.d.ts +11 -2
- package/build/src/cli/render/catalog.js +75 -95
- package/build/src/cli/render/contract-history.d.ts +3 -1
- package/build/src/cli/render/contract-history.js +215 -22
- package/build/src/cli/render/contract-observation.d.ts +10 -5
- package/build/src/cli/render/contract-observation.js +29 -46
- package/build/src/cli/render/contract.d.ts +10 -3
- package/build/src/cli/render/contract.js +252 -103
- package/build/src/cli/render/effects.d.ts +26 -0
- package/build/src/cli/render/effects.js +41 -0
- package/build/src/cli/render/execution-progress.d.ts +18 -6
- package/build/src/cli/render/execution-progress.js +34 -31
- package/build/src/cli/render/kanshi-akuma.d.ts +1 -2
- package/build/src/cli/render/kanshi-akuma.js +5 -26
- package/build/src/cli/render/kanshi.js +107 -128
- package/build/src/cli/render/marks.d.ts +13 -0
- package/build/src/cli/render/marks.js +74 -0
- package/build/src/cli/render/nuke.js +18 -7
- package/build/src/cli/render/receipt.d.ts +10 -4
- package/build/src/cli/render/receipt.js +124 -44
- package/build/src/cli/render/reconcile.d.ts +5 -0
- package/build/src/cli/render/reconcile.js +152 -0
- package/build/src/cli/render/refusal.d.ts +21 -4
- package/build/src/cli/render/refusal.js +60 -33
- package/build/src/cli/render/region.js +3 -2
- package/build/src/cli/render/settings.js +2 -12
- package/build/src/cli/render/task.d.ts +37 -6
- package/build/src/cli/render/task.js +161 -157
- package/build/src/cli/render/terminal.d.ts +20 -1
- package/build/src/cli/render/terminal.js +92 -18
- package/build/src/cli/runtime.d.ts +32 -8
- package/build/src/cli/runtime.js +157 -165
- package/build/src/cli/selectors.d.ts +5 -2
- package/build/src/cli/selectors.js +11 -3
- package/build/src/cli/streams.d.ts +11 -0
- package/build/src/cli/streams.js +32 -0
- package/build/src/cli/usage.d.ts +2 -0
- package/build/src/cli/usage.js +12 -8
- package/build/src/contract-guidance.js +3 -7
- package/build/src/contract-worktree.d.ts +20 -28
- package/build/src/contract-worktree.js +18 -70
- package/build/src/coordination/durable-file.d.ts +2 -2
- package/build/src/coordination/durable-file.js +0 -27
- package/build/src/core/facts/codec.d.ts +1 -2
- package/build/src/core/facts/codec.js +6 -7
- package/build/src/core/facts/gate.d.ts +0 -1
- package/build/src/core/facts/gate.js +0 -82
- package/build/src/core/facts/types.d.ts +1 -2
- package/build/src/core/verbs/abandon.d.ts +2 -6
- package/build/src/core/verbs/abandon.js +0 -16
- package/build/src/core/verbs/amend.d.ts +0 -1
- package/build/src/core/verbs/amend.js +0 -20
- package/build/src/core/verbs/arc.d.ts +7 -8
- package/build/src/core/verbs/arc.js +2 -19
- package/build/src/core/verbs/attestation.d.ts +2 -6
- package/build/src/core/verbs/attestation.js +0 -16
- package/build/src/core/verbs/bind.d.ts +0 -1
- package/build/src/core/verbs/bind.js +0 -16
- package/build/src/core/verbs/deliver.d.ts +0 -1
- package/build/src/core/verbs/deliver.js +0 -16
- package/build/src/core/verbs/placement.d.ts +2 -1
- package/build/src/core/verbs/placement.js +10 -59
- package/build/src/git/admission.d.ts +6 -4
- package/build/src/git/admission.js +4 -0
- package/build/src/git/hooks.d.ts +55 -30
- package/build/src/git/hooks.js +30 -3
- package/build/src/git/identity.d.ts +6 -0
- package/build/src/git/identity.js +47 -0
- package/build/src/git/integration.d.ts +31 -13
- package/build/src/git/integration.js +32 -1
- package/build/src/git/nuke.d.ts +10 -1
- package/build/src/git/nuke.js +31 -11
- package/build/src/git/observe.js +2 -15
- package/build/src/git/private-state-seat.d.ts +6 -7
- package/build/src/git/private-state-seat.js +8 -6
- package/build/src/git/read-observation.d.ts +6 -1
- package/build/src/git/read-observation.js +81 -46
- package/build/src/git/reconcile.d.ts +117 -40
- package/build/src/git/reconcile.js +169 -40
- package/build/src/git/scratch.d.ts +7 -4
- package/build/src/git/scratch.js +28 -6
- package/build/src/git/target-placement.d.ts +53 -38
- package/build/src/git/target-placement.js +69 -54
- package/build/src/git/tender.d.ts +37 -28
- package/build/src/git/tender.js +39 -0
- package/build/src/git/terminal-reconcile.js +21 -23
- package/build/src/git/terminal-seal.d.ts +8 -6
- package/build/src/git/terminal-seal.js +10 -0
- package/build/src/git/workspace.d.ts +29 -15
- package/build/src/git/workspace.js +28 -2
- package/build/src/identity/normalize.js +19 -6
- package/build/src/index.d.ts +78 -7
- package/build/src/index.js +52 -4
- package/build/src/kanshi/read.d.ts +3 -3
- package/build/src/kanshi/read.js +21 -21
- package/build/src/kanshi/report.d.ts +9 -8
- package/build/src/kanshi/roster.d.ts +2 -0
- package/build/src/kanshi/roster.js +2 -0
- package/build/src/kanshi/select.js +7 -3
- package/build/src/library/address.d.ts +3 -7
- package/build/src/library/address.js +7 -7
- package/build/src/library/akuma-creation.d.ts +21 -32
- package/build/src/library/akuma-creation.js +148 -165
- package/build/src/library/akumas.d.ts +20 -22
- package/build/src/library/akumas.js +43 -20
- package/build/src/library/bind.d.ts +107 -13
- package/build/src/library/bind.js +29 -23
- package/build/src/library/continuation.d.ts +556 -28
- package/build/src/library/continuation.js +29 -54
- package/build/src/library/contract-composition.d.ts +40 -0
- package/build/src/library/contract-composition.js +105 -0
- package/build/src/library/contract-creation.d.ts +7 -0
- package/build/src/library/contract-creation.js +192 -0
- package/build/src/library/contract-execution.d.ts +29 -40
- package/build/src/library/contract-execution.js +503 -128
- package/build/src/library/contract-operations.d.ts +275 -134
- package/build/src/library/contract-operations.js +83 -92
- package/build/src/library/contract-outcomes.d.ts +71 -0
- package/build/src/library/contract-outcomes.js +32 -0
- package/build/src/library/contract-settings.d.ts +25 -0
- package/build/src/library/contract-settings.js +135 -0
- package/build/src/library/contract-types.d.ts +17 -38
- package/build/src/library/delivery.d.ts +530 -10
- package/build/src/library/delivery.js +20 -45
- package/build/src/library/input.d.ts +3 -1
- package/build/src/library/input.js +11 -16
- package/build/src/library/invocation.d.ts +87 -0
- package/build/src/library/invocation.js +290 -0
- package/build/src/library/keiyaku.d.ts +45 -22
- package/build/src/library/keiyaku.js +134 -8
- package/build/src/library/nuke.d.ts +2 -11
- package/build/src/library/nuke.js +70 -57
- package/build/src/library/outcome.d.ts +13196 -0
- package/build/src/library/outcome.js +487 -0
- package/build/src/library/reconcile.d.ts +96 -24
- package/build/src/library/reconcile.js +102 -42
- package/build/src/library/refusal.d.ts +470 -42
- package/build/src/library/refusal.js +55 -143
- package/build/src/library/region.d.ts +15 -7
- package/build/src/library/region.js +23 -3
- package/build/src/library/repo.d.ts +2 -12
- package/build/src/library/repo.js +1 -22
- package/build/src/library/selection.d.ts +121 -0
- package/build/src/library/{fleet.js → selection.js} +169 -152
- package/build/src/plugin/public.d.ts +2 -0
- package/build/src/protocol/abandon.d.ts +2 -2
- package/build/src/protocol/abandon.js +1 -0
- package/build/src/protocol/amend.js +1 -0
- package/build/src/protocol/arc.d.ts +6 -4
- package/build/src/protocol/attempt.d.ts +4 -2
- package/build/src/protocol/attempt.js +10 -0
- package/build/src/protocol/audit.d.ts +255 -52
- package/build/src/protocol/audit.js +63 -5
- package/build/src/protocol/bind.d.ts +18 -17
- package/build/src/protocol/bind.js +9 -28
- package/build/src/protocol/completion.d.ts +256 -22
- package/build/src/protocol/completion.js +100 -12
- package/build/src/protocol/deliver.d.ts +34 -23
- package/build/src/protocol/deliver.js +39 -25
- package/build/src/protocol/execution-observation.d.ts +36 -37
- package/build/src/protocol/execution-observation.js +7 -9
- package/build/src/protocol/intent.d.ts +101 -30
- package/build/src/protocol/intent.js +74 -1
- package/build/src/protocol/operations.d.ts +570 -64
- package/build/src/protocol/operations.js +189 -9
- package/build/src/protocol/outcome.d.ts +2 -1
- package/build/src/protocol/placement.d.ts +2 -2
- package/build/src/protocol/placement.js +3 -1
- package/build/src/protocol/progress.d.ts +108 -65
- package/build/src/protocol/progress.js +82 -132
- package/build/src/protocol/read/status.d.ts +4 -3
- package/build/src/protocol/read/status.js +6 -5
- package/build/src/protocol/reconcile.d.ts +3 -3
- package/build/src/protocol/reconcile.js +4 -0
- package/build/src/protocol/reintegrate.d.ts +2 -2
- package/build/src/protocol/review.d.ts +30 -12
- package/build/src/protocol/review.js +15 -24
- package/build/src/protocol/run.d.ts +34 -5
- package/build/src/protocol/run.js +24 -12
- package/build/src/runtime/proc/windows-launch.exe +0 -0
- package/build/src/settings.d.ts +0 -10
- package/build/src/settings.js +0 -76
- package/build/src/settlement/holder.d.ts +1 -1
- package/build/src/settlement/settle.d.ts +25 -16
- package/build/src/settlement/settle.js +80 -20
- package/build/src/task/board.d.ts +3 -1
- package/build/src/task/board.js +13 -17
- package/build/src/task/catalog.d.ts +0 -4
- package/build/src/task/catalog.js +0 -15
- package/build/src/task/compose-language.d.ts +19 -9
- package/build/src/task/compose-language.js +30 -20
- package/build/src/task/compose.d.ts +7 -37
- package/build/src/task/compose.js +20 -2
- package/build/src/task/created-observation.d.ts +0 -1
- package/build/src/task/created-observation.js +1 -4
- package/build/src/task/document.d.ts +12 -2
- package/build/src/task/document.js +4 -0
- package/build/src/task/identity.d.ts +4 -1
- package/build/src/task/identity.js +21 -17
- package/build/src/task/index.d.ts +36 -16
- package/build/src/task/index.js +103 -96
- package/build/src/task/lifecycle-operations.d.ts +1 -1
- package/build/src/task/mutation-result.d.ts +647 -586
- package/build/src/task/mutation-result.js +79 -46
- package/build/src/task/mutation.d.ts +298 -270
- package/build/src/task/mutation.js +93 -110
- package/build/src/task/operation-types.d.ts +6 -49
- package/build/src/task/operations.d.ts +2 -1
- package/build/src/task/operations.js +35 -12
- package/build/src/task/query.d.ts +9 -3
- package/build/src/task/query.js +42 -16
- package/build/src/task/store.d.ts +2 -1
- package/build/src/task/store.js +10 -14
- package/build/src/verification/declaration.d.ts +0 -1
- package/build/src/verification/declaration.js +1 -18
- package/build/src/verification/execution.d.ts +6 -2
- package/build/src/verification/observation.d.ts +1 -1
- package/package.json +2 -18
- package/build/src/akuma/akuma-product.d.ts +0 -58
- package/build/src/akuma/akuma-product.js +0 -276
- package/build/src/akuma/fleet-execution.js +0 -234
- package/build/src/akuma/fleet-observation.js +0 -97
- package/build/src/cli/accepted.d.ts +0 -24
- package/build/src/cli/accepted.js +0 -167
- package/build/src/cli/catalog.d.ts +0 -45
- package/build/src/cli/catalog.js +0 -1
- package/build/src/cli/commands/akuma-invoke.d.ts +0 -114
- package/build/src/cli/commands/akuma-invoke.js +0 -375
- package/build/src/cli/commands/contract-invoke.d.ts +0 -34
- package/build/src/cli/commands/contract-invoke.js +0 -259
- package/build/src/cli/commands/nuke.d.ts +0 -10
- package/build/src/cli/commands/nuke.js +0 -20
- package/build/src/cli/commands/status-set.d.ts +0 -4
- package/build/src/cli/commands/status-set.js +0 -52
- package/build/src/cli/commands/task-invoke.d.ts +0 -49
- package/build/src/cli/commands/task-invoke.js +0 -306
- package/build/src/cli/invoke.d.ts +0 -27
- package/build/src/cli/invoke.js +0 -521
- package/build/src/cli/render/board.d.ts +0 -3
- package/build/src/cli/render/board.js +0 -25
- package/build/src/cli/render/status-set.d.ts +0 -5
- package/build/src/cli/render/status-set.js +0 -19
- package/build/src/cli/render/text.d.ts +0 -3
- package/build/src/cli/render/text.js +0 -33
- package/build/src/cli/result.d.ts +0 -240
- package/build/src/cli/result.js +0 -1
- package/build/src/git/result-codec.d.ts +0 -29
- package/build/src/git/result-codec.js +0 -309
- package/build/src/kanshi/fleet.d.ts +0 -6
- package/build/src/kanshi/fleet.js +0 -27
- package/build/src/library/audit.d.ts +0 -29
- package/build/src/library/audit.js +0 -41
- package/build/src/library/composition.d.ts +0 -15
- package/build/src/library/composition.js +0 -28
- package/build/src/library/configuration.d.ts +0 -4
- package/build/src/library/configuration.js +0 -2
- package/build/src/library/contract-bind.d.ts +0 -31
- package/build/src/library/contract-bind.js +0 -140
- package/build/src/library/contract-forwarding.d.ts +0 -55
- package/build/src/library/contract-forwarding.js +0 -67
- package/build/src/library/contract-handle.d.ts +0 -50
- package/build/src/library/contract-handle.js +0 -385
- package/build/src/library/contract.d.ts +0 -46
- package/build/src/library/contract.js +0 -73
- package/build/src/library/execution-result.d.ts +0 -243
- package/build/src/library/execution-result.js +0 -101
- package/build/src/library/execution.d.ts +0 -8
- package/build/src/library/execution.js +0 -102
- package/build/src/library/fleet.d.ts +0 -83
- package/build/src/library/mutation.d.ts +0 -501
- package/build/src/library/mutation.js +0 -248
- package/build/src/library/result-codec.d.ts +0 -2
- package/build/src/library/result-codec.js +0 -12
- package/build/src/protocol/result-codec.d.ts +0 -23
- package/build/src/protocol/result-codec.js +0 -488
- package/build/src/settlement/result-codec.d.ts +0 -2
- package/build/src/settlement/result-codec.js +0 -56
- package/build/src/task/public.d.ts +0 -2
- package/build/src/task/public.js +0 -1
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
import { ExecutionProgress, executionStop } from "../protocol/progress.js";
|
|
2
|
-
import { executionCleanupSchema, executionStopSchema, mutationOperationSchema, receiptFromProgress, withExecutionReceipt, } from "./execution-result.js";
|
|
3
|
-
import { decodeJournalEntry } from "../core/facts/codec.js";
|
|
4
|
-
import { contractHead, snapshotId, } from "../core/facts/types.js";
|
|
5
|
-
import { decodeSettlementLag } from "../settlement/result-codec.js";
|
|
6
|
-
import { completeReconcile, decodeReconciliationLag, reconcileLagScope, } from "./reconcile.js";
|
|
7
|
-
import { decodeAuditReport } from "../protocol/audit.js";
|
|
8
|
-
import { decodeMaterializedConflict } from "../protocol/deliver.js";
|
|
9
|
-
import { decodeReviewValue } from "../protocol/review.js";
|
|
10
|
-
import { decodeContinuationReport } from "./continuation.js";
|
|
11
|
-
import { deliveryValueSchema } from "./delivery.js";
|
|
12
|
-
import { ownerSchema } from "./result-codec.js";
|
|
13
|
-
import { z } from "zod";
|
|
14
|
-
function pendingSurface(surface, required) {
|
|
15
|
-
return { surface, required };
|
|
16
|
-
}
|
|
17
|
-
export function decodeMutationPendingSurface(value) {
|
|
18
|
-
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
19
|
-
throw new Error("malformed pending surface");
|
|
20
|
-
const object = value;
|
|
21
|
-
if (Object.keys(object).some((key) => key !== "surface" && key !== "required"))
|
|
22
|
-
throw new Error("malformed pending surface");
|
|
23
|
-
if (object.surface !== "verification" &&
|
|
24
|
-
object.surface !== "placement" &&
|
|
25
|
-
object.surface !== "continuation" &&
|
|
26
|
-
object.surface !== "reconciliation" &&
|
|
27
|
-
object.surface !== "settlement" &&
|
|
28
|
-
object.surface !== "cleanup" &&
|
|
29
|
-
object.surface !== "execution")
|
|
30
|
-
throw new Error("malformed pending surface");
|
|
31
|
-
if (typeof object.required !== "boolean")
|
|
32
|
-
throw new Error("malformed pending surface");
|
|
33
|
-
return { surface: object.surface, required: object.required };
|
|
34
|
-
}
|
|
35
|
-
export const mutationPendingSurfaceSchema = ownerSchema(decodeMutationPendingSurface, "expected pending surface");
|
|
36
|
-
function decodeMutationLag(value) {
|
|
37
|
-
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
38
|
-
throw new Error("malformed mutation lag");
|
|
39
|
-
const { affects, ...withoutScope } = value;
|
|
40
|
-
const lag = decodeReconciliationLag(withoutScope);
|
|
41
|
-
const expected = reconcileLagScope(lag);
|
|
42
|
-
if (affects !== expected)
|
|
43
|
-
throw new Error("malformed mutation lag");
|
|
44
|
-
return { ...lag, affects: expected };
|
|
45
|
-
}
|
|
46
|
-
export function decodeReview(value) {
|
|
47
|
-
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
48
|
-
throw new Error("malformed review");
|
|
49
|
-
const { continuation, ...protocol } = value;
|
|
50
|
-
const review = decodeReviewValue(protocol);
|
|
51
|
-
return continuation === undefined ? review : { ...review, continuation: decodeContinuationReport(continuation) };
|
|
52
|
-
}
|
|
53
|
-
export const auditReportSchema = ownerSchema(decodeAuditReport, "expected audit report");
|
|
54
|
-
const reviewSchema = ownerSchema(decodeReview, "expected review");
|
|
55
|
-
const materializedConflictSchema = ownerSchema(decodeMaterializedConflict, "expected materialized conflict");
|
|
56
|
-
export const mutationResultSchema = (operation, value) => ownerSchema((input) => {
|
|
57
|
-
if (input === null || typeof input !== "object" || Array.isArray(input))
|
|
58
|
-
throw new Error("malformed mutation result");
|
|
59
|
-
const object = input;
|
|
60
|
-
if (object.kind !== "accepted" || object.operation !== operation)
|
|
61
|
-
throw new Error("malformed mutation result");
|
|
62
|
-
if (typeof object.head !== "string")
|
|
63
|
-
throw new Error("malformed mutation result");
|
|
64
|
-
const parsedValue = value.safeParse(object.value);
|
|
65
|
-
if (!parsedValue.success)
|
|
66
|
-
throw new Error("malformed mutation result");
|
|
67
|
-
if (!Array.isArray(object.facts) ||
|
|
68
|
-
!Array.isArray(object.lags) ||
|
|
69
|
-
!Array.isArray(object.settlementLags) ||
|
|
70
|
-
!Array.isArray(object.cleanup) ||
|
|
71
|
-
!Array.isArray(object.executionStops) ||
|
|
72
|
-
!Array.isArray(object.pending))
|
|
73
|
-
throw new Error("malformed mutation result");
|
|
74
|
-
const allowed = new Set([
|
|
75
|
-
"kind",
|
|
76
|
-
"operation",
|
|
77
|
-
"facts",
|
|
78
|
-
"head",
|
|
79
|
-
"value",
|
|
80
|
-
"lags",
|
|
81
|
-
"settlementLags",
|
|
82
|
-
"pending",
|
|
83
|
-
"recoverySnapshot",
|
|
84
|
-
"cleanup",
|
|
85
|
-
"executionStops",
|
|
86
|
-
]);
|
|
87
|
-
for (const key of Object.keys(object))
|
|
88
|
-
if (!allowed.has(key))
|
|
89
|
-
throw new Error("malformed mutation result");
|
|
90
|
-
return {
|
|
91
|
-
kind: "accepted",
|
|
92
|
-
operation,
|
|
93
|
-
cleanup: object.cleanup.map((item) => executionCleanupSchema.parse(item)),
|
|
94
|
-
executionStops: object.executionStops.map((item) => executionStopSchema.parse(item)),
|
|
95
|
-
facts: object.facts.map(decodeJournalEntry),
|
|
96
|
-
head: contractHead(object.head),
|
|
97
|
-
value: parsedValue.data,
|
|
98
|
-
lags: object.lags.map(decodeMutationLag),
|
|
99
|
-
settlementLags: object.settlementLags.map(decodeSettlementLag),
|
|
100
|
-
pending: object.pending.map(decodeMutationPendingSurface),
|
|
101
|
-
...(object.recoverySnapshot === undefined
|
|
102
|
-
? {}
|
|
103
|
-
: { recoverySnapshot: snapshotId(String(object.recoverySnapshot)) }),
|
|
104
|
-
};
|
|
105
|
-
}, "expected mutation result");
|
|
106
|
-
export const deliveryResultSchema = z.union([
|
|
107
|
-
mutationResultSchema("deliver", deliveryValueSchema),
|
|
108
|
-
materializedConflictSchema,
|
|
109
|
-
]);
|
|
110
|
-
export const reviewResultSchema = mutationResultSchema("review", reviewSchema);
|
|
111
|
-
export const auditResultSchema = mutationResultSchema("audit", auditReportSchema);
|
|
112
|
-
export function noValuePending(_value) {
|
|
113
|
-
return [];
|
|
114
|
-
}
|
|
115
|
-
export function auditPending(value) {
|
|
116
|
-
return value.verification.kind === "stopped" ? [pendingSurface("verification", true)] : [];
|
|
117
|
-
}
|
|
118
|
-
export function completionPending(value) {
|
|
119
|
-
if (value === undefined)
|
|
120
|
-
return [];
|
|
121
|
-
const pending = [];
|
|
122
|
-
if (value.verification !== undefined)
|
|
123
|
-
pending.push(pendingSurface("verification", true));
|
|
124
|
-
if (value.placement !== undefined)
|
|
125
|
-
pending.push(pendingSurface("placement", true));
|
|
126
|
-
if (value.continuation !== undefined && value.continuation.stopped.length > 0) {
|
|
127
|
-
pending.push(pendingSurface("continuation", true));
|
|
128
|
-
}
|
|
129
|
-
return pending;
|
|
130
|
-
}
|
|
131
|
-
export function obligationPending(input) {
|
|
132
|
-
const pending = [];
|
|
133
|
-
for (const lag of input.lags) {
|
|
134
|
-
const affects = "affects" in lag ? lag.affects : reconcileLagScope(lag);
|
|
135
|
-
if (affects !== "none" && !pending.some(({ surface }) => surface === affects)) {
|
|
136
|
-
pending.push(pendingSurface(affects, true));
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
if (input.settlementLags.length > 0)
|
|
140
|
-
pending.push(pendingSurface("settlement", true));
|
|
141
|
-
if (input.cleanup.length > 0) {
|
|
142
|
-
pending.push(pendingSurface("cleanup", false));
|
|
143
|
-
}
|
|
144
|
-
for (const stop of input.executionStops) {
|
|
145
|
-
const surface = stop.stage === "admission" ? "execution" : stop.stage === "reintegration" ? "placement" : stop.stage;
|
|
146
|
-
pending.push(pendingSurface(surface, true));
|
|
147
|
-
}
|
|
148
|
-
return pending;
|
|
149
|
-
}
|
|
150
|
-
export function collectAcceptedPending(valuePending, obligations) {
|
|
151
|
-
const result = new Map();
|
|
152
|
-
for (const pending of [...valuePending, ...obligationPending(obligations)])
|
|
153
|
-
result.set(pending.surface, pending.required || result.get(pending.surface) === true);
|
|
154
|
-
return [...result].map(([surface, required]) => ({ surface, required }));
|
|
155
|
-
}
|
|
156
|
-
function phasePendingFromValue(operation, value) {
|
|
157
|
-
if (operation === "audit")
|
|
158
|
-
return auditPending(value);
|
|
159
|
-
if (operation === "review" || operation === "deliver")
|
|
160
|
-
return completionPending(value);
|
|
161
|
-
return [];
|
|
162
|
-
}
|
|
163
|
-
/** Purely projects the leading mutation's finality without changing its details. */
|
|
164
|
-
export function projectMutationFinality(input) {
|
|
165
|
-
if (input.kind !== "accepted" || !mutationOperationSchema.safeParse(input.operation).success)
|
|
166
|
-
return { kind: "not-admitted" };
|
|
167
|
-
const pending = collectAcceptedPending(phasePendingFromValue(input.operation, input.value), input);
|
|
168
|
-
return pending.length === 0 ? { kind: "complete" } : { kind: "accepted-pending", pending };
|
|
169
|
-
}
|
|
170
|
-
export function completionInput(input) {
|
|
171
|
-
return input;
|
|
172
|
-
}
|
|
173
|
-
function rememberLeading(input, progress) {
|
|
174
|
-
const { accepted, contractId } = input;
|
|
175
|
-
// An accepted audit may be observational and deliberately contain no new fact.
|
|
176
|
-
progress.recordPublication(contractId, accepted.head, accepted.facts);
|
|
177
|
-
progress.recordResidue(contractId, accepted);
|
|
178
|
-
if (input.progress === undefined)
|
|
179
|
-
progress.recordVerification(contractId, undefined, accepted);
|
|
180
|
-
}
|
|
181
|
-
async function reconcileExecution(input, progress) {
|
|
182
|
-
const contracts = [...new Set([input.contractId, ...progress.snapshot().affected])];
|
|
183
|
-
const reports = [];
|
|
184
|
-
for (const contractId of contracts) {
|
|
185
|
-
try {
|
|
186
|
-
input.scope.signal?.throwIfAborted();
|
|
187
|
-
progress.observe({ kind: "stage", contractId, stage: "reconciliation", state: "started" });
|
|
188
|
-
const report = await (async () => {
|
|
189
|
-
try {
|
|
190
|
-
return await completeReconcile({
|
|
191
|
-
scope: input.scope,
|
|
192
|
-
channel: input.channel,
|
|
193
|
-
contractId,
|
|
194
|
-
hooks: input.hooks,
|
|
195
|
-
retryHooks: false,
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
finally {
|
|
199
|
-
progress.observe({ kind: "stage", contractId, stage: "reconciliation", state: "finished" });
|
|
200
|
-
}
|
|
201
|
-
})();
|
|
202
|
-
reports.push(report);
|
|
203
|
-
progress.recordResidue(contractId, report.settlement);
|
|
204
|
-
}
|
|
205
|
-
catch (error) {
|
|
206
|
-
progress.recordStop(executionStop(contractId, "reconciliation", error, input.scope.signal));
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
return reports;
|
|
210
|
-
}
|
|
211
|
-
export async function completeMutation(input) {
|
|
212
|
-
const progress = input.progress ?? new ExecutionProgress();
|
|
213
|
-
rememberLeading(input, progress);
|
|
214
|
-
try {
|
|
215
|
-
const reports = await reconcileExecution(input, progress);
|
|
216
|
-
const snapshot = progress.snapshot();
|
|
217
|
-
const effects = [...snapshot.physical.effects, ...reports.flatMap((report) => report.effects)];
|
|
218
|
-
const recoverySnapshot = effects.findLast((effect) => effect.kind === "recovery-snapshot")?.snapshot;
|
|
219
|
-
const publicValue = input.value(input.accepted.value);
|
|
220
|
-
const lags = [...snapshot.physical.lag, ...reports.flatMap((report) => report.lag)].map((lag) => ({
|
|
221
|
-
...lag,
|
|
222
|
-
affects: reconcileLagScope(lag),
|
|
223
|
-
}));
|
|
224
|
-
const settlementLags = reports.flatMap((report) => report.settlement.lags);
|
|
225
|
-
const obligations = { lags, settlementLags, cleanup: snapshot.cleanup, executionStops: snapshot.stops };
|
|
226
|
-
return {
|
|
227
|
-
kind: "accepted",
|
|
228
|
-
operation: input.operation,
|
|
229
|
-
facts: snapshot.facts,
|
|
230
|
-
head: progress.head(input.contractId) ?? input.accepted.head,
|
|
231
|
-
value: publicValue,
|
|
232
|
-
...obligations,
|
|
233
|
-
pending: collectAcceptedPending(phasePendingFromValue(input.operation, publicValue), obligations),
|
|
234
|
-
...(recoverySnapshot === undefined ? {} : { recoverySnapshot }),
|
|
235
|
-
};
|
|
236
|
-
}
|
|
237
|
-
catch (error) {
|
|
238
|
-
const receipt = receiptFromProgress(input.operation, input.contractId, progress);
|
|
239
|
-
throw receipt === undefined ? error : withExecutionReceipt(error, receipt);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
export async function completeHolderMutation(input) {
|
|
243
|
-
const accepted = input.requireAccepted(input.admission.result);
|
|
244
|
-
// Fence teardown after confirmed admission is custodial residue. Settlement in
|
|
245
|
-
// completeMutation already reports any still-owed holder publication; do not
|
|
246
|
-
// invent a second owed-holder lag from fence close alone.
|
|
247
|
-
return await completeMutation({ ...input.completion, accepted });
|
|
248
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { AuditReport } from "./audit.js";
|
|
2
|
-
import type { CandidateCompletion, CompletionEvidence } from "./completion.js";
|
|
3
|
-
import type { DeliverLeading, IntegrationConflictMaterialized } from "./deliver.js";
|
|
4
|
-
import type { CurrentVerifiedAttestation, VerificationCleanupFailure, VerificationRuntimeStop } from "./intent.js";
|
|
5
|
-
import type { DeliverConflictRefusal, DeliveryPreparationRefusal, IntentRefusal, MergeStatePresentRefusal, PlacementStop, VerificationStop } from "./operations.js";
|
|
6
|
-
import type { ReviewValue } from "./review.js";
|
|
7
|
-
import type { ProtocolTerminal } from "./run.js";
|
|
8
|
-
export declare function decodeProtocolTerminal(value: unknown): ProtocolTerminal;
|
|
9
|
-
export declare function decodeMergeStatePresentRefusal(value: unknown): MergeStatePresentRefusal;
|
|
10
|
-
export declare function decodeDeliverConflictRefusal(value: unknown): DeliverConflictRefusal;
|
|
11
|
-
export declare function decodeDeliveryPreparationRefusal(value: unknown): DeliveryPreparationRefusal;
|
|
12
|
-
export declare function decodeIntentRefusal(value: unknown): IntentRefusal;
|
|
13
|
-
export declare function decodeVerificationRuntimeStop(value: unknown): VerificationRuntimeStop;
|
|
14
|
-
export declare function decodeVerificationStop(value: unknown): VerificationStop;
|
|
15
|
-
export declare function decodeVerificationReuse(value: unknown): CurrentVerifiedAttestation;
|
|
16
|
-
export declare function decodePlacementStop(value: unknown): PlacementStop;
|
|
17
|
-
export declare function decodeVerificationCleanupFailure(value: unknown): VerificationCleanupFailure;
|
|
18
|
-
export declare function decodeCandidateCompletion(value: unknown): CandidateCompletion;
|
|
19
|
-
export declare function decodeCompletionEvidence(value: unknown): CompletionEvidence;
|
|
20
|
-
export declare function decodeDeliverLeading(value: unknown): DeliverLeading;
|
|
21
|
-
export declare function decodeMaterializedConflict(value: unknown): IntegrationConflictMaterialized;
|
|
22
|
-
export declare function decodeAuditReport(value: unknown): AuditReport;
|
|
23
|
-
export declare function decodeReviewValue(value: unknown): ReviewValue;
|