@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,385 +0,0 @@
|
|
|
1
|
-
/** @architectureCompositionRoot */
|
|
2
|
-
import { documentDiff } from "../markdown/diff.js";
|
|
3
|
-
import { startContractExecution } from "./execution.js";
|
|
4
|
-
import { applyAmendDocument } from "../body/amend.js";
|
|
5
|
-
import { decodeArcDocument } from "../body/arc.js";
|
|
6
|
-
import { decodeContractDocument } from "../body/decode.js";
|
|
7
|
-
import { renderContractGuidance } from "../contract-guidance.js";
|
|
8
|
-
import { actorOption, contractTerms, documentDerivation, normalizedGates, normalizedList, optionalBoolean, optionalNonblank, optionalSignal, invalidInput, requireInput, requireMarkdown, } from "./input.js";
|
|
9
|
-
import { observeChangedRegion } from "./region.js";
|
|
10
|
-
import { worktreeHooksOption } from "./configuration.js";
|
|
11
|
-
import { contractId } from "../core/facts/types.js";
|
|
12
|
-
import { contractObservationOperation, deliveryDiffOperation, deliveryOperation, stateOperation, } from "../protocol/operations.js";
|
|
13
|
-
import { abandonOperation } from "../protocol/abandon.js";
|
|
14
|
-
import { amendOperation } from "../protocol/amend.js";
|
|
15
|
-
import { arcOperation } from "../protocol/arc.js";
|
|
16
|
-
import { readDispatchesAt } from "../dispatch/index.js";
|
|
17
|
-
import { mintSnapshotId } from "../git/identity.js";
|
|
18
|
-
import { observeContractsForAdmissionInObservationAt } from "../git/observe.js";
|
|
19
|
-
import { withGitDecodeChannel, withGitReadObservation } from "../git/read-observation.js";
|
|
20
|
-
import { releaseTaskHolder, releaseTaskHolderWithFence, taskHolderObservationSelection } from "../settlement/holder.js";
|
|
21
|
-
import { reconcileInput } from "./repo.js";
|
|
22
|
-
import { executionChannel, localExecutionContext } from "../akuma/requests.js";
|
|
23
|
-
import { auditContract } from "./audit.js";
|
|
24
|
-
import { deliveryHandle } from "./delivery.js";
|
|
25
|
-
import { completionInput, completeHolderMutation, completeMutation } from "./mutation.js";
|
|
26
|
-
import { completeReconcile } from "./reconcile.js";
|
|
27
|
-
import { executeLocalDelivery, executeLocalReview, requestForwardedContractLive, } from "./contract-operations.js";
|
|
28
|
-
import { KeiyakuRefused, requireAccepted } from "./refusal.js";
|
|
29
|
-
import { composeContractLibrary } from "./composition.js";
|
|
30
|
-
const KEIYAKU_HANDLE = Symbol("Keiyaku handle");
|
|
31
|
-
export class Keiyaku {
|
|
32
|
-
id;
|
|
33
|
-
scope;
|
|
34
|
-
execution;
|
|
35
|
-
composition;
|
|
36
|
-
static with(input) {
|
|
37
|
-
return composeContractLibrary(input, createKeiyakuHandle);
|
|
38
|
-
}
|
|
39
|
-
constructor(token, id, scope, execution = localExecutionContext(), composition) {
|
|
40
|
-
this.id = id;
|
|
41
|
-
this.scope = scope;
|
|
42
|
-
this.execution = execution;
|
|
43
|
-
this.composition = composition;
|
|
44
|
-
if (token !== KEIYAKU_HANDLE)
|
|
45
|
-
throw new TypeError("Keiyaku handles are created by Keiyaku.with");
|
|
46
|
-
KEIYAKU_SEATS.set(this, { id, scope });
|
|
47
|
-
Object.freeze(this);
|
|
48
|
-
}
|
|
49
|
-
async state() {
|
|
50
|
-
return withGitDecodeChannel(this.scope, (channel) => stateOperation({
|
|
51
|
-
scope: this.scope,
|
|
52
|
-
channel,
|
|
53
|
-
contractId: this.id,
|
|
54
|
-
}));
|
|
55
|
-
}
|
|
56
|
-
async history() {
|
|
57
|
-
return withGitDecodeChannel(this.scope, (channel) => withGitReadObservation(this.scope, channel, async (observation) => {
|
|
58
|
-
const [journals, dispatches] = await Promise.all([
|
|
59
|
-
observeContractsForAdmissionInObservationAt(observation, [this.id]),
|
|
60
|
-
readDispatchesAt(observation),
|
|
61
|
-
]);
|
|
62
|
-
const record = journals.journals.get(this.id);
|
|
63
|
-
if (record === undefined)
|
|
64
|
-
throw new Error(`missing requested contract observation: ${this.id}`);
|
|
65
|
-
if (record.state === null)
|
|
66
|
-
throw new KeiyakuRefused({ kind: "contract-missing", contractId: this.id });
|
|
67
|
-
const commit = observation.snapshot.commit;
|
|
68
|
-
if (commit === null)
|
|
69
|
-
throw new Error("contract history requires a keiyaku-state snapshot");
|
|
70
|
-
const recordedAt = (event) => event.source === "journal" ? event.fact.at : event.dispatch.dispatchedAt;
|
|
71
|
-
const events = [
|
|
72
|
-
...record.entries.map((fact) => ({ source: "journal", fact })),
|
|
73
|
-
...dispatches
|
|
74
|
-
.filter((dispatch) => dispatch.contractId === this.id)
|
|
75
|
-
.map((dispatch) => ({ source: "dispatch", dispatch })),
|
|
76
|
-
].sort((left, right) => {
|
|
77
|
-
const leftAt = recordedAt(left);
|
|
78
|
-
const rightAt = recordedAt(right);
|
|
79
|
-
if (leftAt !== rightAt)
|
|
80
|
-
return leftAt < rightAt ? -1 : 1;
|
|
81
|
-
if (left.source !== right.source)
|
|
82
|
-
return left.source === "journal" ? -1 : 1;
|
|
83
|
-
return 0;
|
|
84
|
-
});
|
|
85
|
-
return { id: this.id, state: mintSnapshotId(commit), events };
|
|
86
|
-
}));
|
|
87
|
-
}
|
|
88
|
-
async guidance() {
|
|
89
|
-
return withGitDecodeChannel(this.scope, async (channel) => {
|
|
90
|
-
const observed = await contractObservationOperation({ scope: this.scope, channel, contractId: this.id });
|
|
91
|
-
if (observed.kind === "missing")
|
|
92
|
-
throw new KeiyakuRefused({ kind: "contract-missing", contractId: this.id });
|
|
93
|
-
return renderContractGuidance(await stateOperation({ scope: this.scope, channel, contractId: this.id }));
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
async delivery() {
|
|
97
|
-
const delivery = await withGitDecodeChannel(this.scope, (channel) => deliveryOperation({
|
|
98
|
-
scope: this.scope,
|
|
99
|
-
channel,
|
|
100
|
-
contractId: this.id,
|
|
101
|
-
}));
|
|
102
|
-
return delivery === null ? null : this.deliveryHandle(delivery);
|
|
103
|
-
}
|
|
104
|
-
async amend(input) {
|
|
105
|
-
const values = requireInput(input, "amend input");
|
|
106
|
-
const hooks = worktreeHooksOption(values.hooks);
|
|
107
|
-
const markdown = values.markdown === undefined ? undefined : requireMarkdown(values.markdown);
|
|
108
|
-
const actor = actorOption(values.actor);
|
|
109
|
-
const gates = values.gates === undefined ? undefined : normalizedGates(values.gates);
|
|
110
|
-
const prerequisites = values.after === undefined ? undefined : normalizedList(values.after, "after", contractId);
|
|
111
|
-
if (markdown === undefined && gates === undefined && prerequisites === undefined) {
|
|
112
|
-
return invalidInput("amend requires markdown, after, or gates");
|
|
113
|
-
}
|
|
114
|
-
const amendment = await withGitDecodeChannel(this.scope, async (channel) => {
|
|
115
|
-
let changedSections;
|
|
116
|
-
const accepted = requireAccepted(await amendOperation({
|
|
117
|
-
scope: this.scope,
|
|
118
|
-
channel,
|
|
119
|
-
contractId: this.id,
|
|
120
|
-
...actor,
|
|
121
|
-
deriveAmendment: (source) => {
|
|
122
|
-
const amendment = markdown === undefined
|
|
123
|
-
? undefined
|
|
124
|
-
: applyAmendDocument(markdown, decodeContractDocument(source.document.bytes));
|
|
125
|
-
changedSections = amendment?.changedSections;
|
|
126
|
-
const document = amendment === undefined
|
|
127
|
-
? decodeContractDocument(source.document.bytes)
|
|
128
|
-
: decodeContractDocument(amendment.document);
|
|
129
|
-
const terms = markdown === undefined
|
|
130
|
-
? {
|
|
131
|
-
document: source.document,
|
|
132
|
-
segments: source.segments,
|
|
133
|
-
gates: gates ?? source.gates,
|
|
134
|
-
after: prerequisites ?? source.after,
|
|
135
|
-
}
|
|
136
|
-
: contractTerms(document, gates ?? source.gates, prerequisites ?? source.after);
|
|
137
|
-
return {
|
|
138
|
-
terms,
|
|
139
|
-
verification: documentDerivation(document, terms.gates, this.id).verification,
|
|
140
|
-
};
|
|
141
|
-
},
|
|
142
|
-
}));
|
|
143
|
-
const completed = await completeMutation({
|
|
144
|
-
...completionInput({
|
|
145
|
-
operation: "amend",
|
|
146
|
-
scope: this.scope,
|
|
147
|
-
channel,
|
|
148
|
-
contractId: this.id,
|
|
149
|
-
value: () => undefined,
|
|
150
|
-
hooks,
|
|
151
|
-
}),
|
|
152
|
-
accepted,
|
|
153
|
-
});
|
|
154
|
-
return {
|
|
155
|
-
completed,
|
|
156
|
-
document: decodeContractDocument(accepted.value.terms.document.bytes),
|
|
157
|
-
changedSections,
|
|
158
|
-
documentDiff: documentDiff("before", "after", accepted.value.source.document.bytes, accepted.value.terms.document.bytes),
|
|
159
|
-
};
|
|
160
|
-
});
|
|
161
|
-
const regionObservation = await observeChangedRegion(this.scope, this.id, amendment.changedSections, amendment.document.region);
|
|
162
|
-
return {
|
|
163
|
-
...amendment.completed,
|
|
164
|
-
documentDiff: amendment.documentDiff,
|
|
165
|
-
...regionObservation,
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
startDelivery(input) {
|
|
169
|
-
return startContractExecution((observe) => this.runDelivery(input, observe));
|
|
170
|
-
}
|
|
171
|
-
async deliver(input) {
|
|
172
|
-
return this.startDelivery(input).result;
|
|
173
|
-
}
|
|
174
|
-
async runDelivery(input, observe) {
|
|
175
|
-
const values = input === undefined
|
|
176
|
-
? undefined
|
|
177
|
-
: requireInput(input, "deliver input", [
|
|
178
|
-
"message",
|
|
179
|
-
"includeDirty",
|
|
180
|
-
"materializeConflict",
|
|
181
|
-
"overwrite",
|
|
182
|
-
"signal",
|
|
183
|
-
]);
|
|
184
|
-
const message = optionalNonblank(values?.message, "deliver message");
|
|
185
|
-
const includeDirty = optionalBoolean(values?.includeDirty, "includeDirty") ?? false;
|
|
186
|
-
const materializeConflict = optionalBoolean(values?.materializeConflict, "materializeConflict") ?? false;
|
|
187
|
-
const overwrite = optionalBoolean(values?.overwrite, "overwrite") ?? false;
|
|
188
|
-
const signal = optionalSignal(values?.signal);
|
|
189
|
-
const channel = executionChannel(this.execution);
|
|
190
|
-
const result = channel.kind === "local"
|
|
191
|
-
? await executeLocalDelivery({
|
|
192
|
-
scope: this.scope,
|
|
193
|
-
contractId: this.id,
|
|
194
|
-
...(this.composition.actor === undefined ? {} : { actor: this.composition.actor }),
|
|
195
|
-
...(message === undefined ? {} : { message }),
|
|
196
|
-
requireBranchesToBeUpToDate: this.composition.requireBranchesToBeUpToDate,
|
|
197
|
-
includeDirty,
|
|
198
|
-
materializeConflict,
|
|
199
|
-
overwrite,
|
|
200
|
-
...(signal === undefined ? {} : { signal }),
|
|
201
|
-
hooks: this.composition.hooks,
|
|
202
|
-
observe,
|
|
203
|
-
})
|
|
204
|
-
: await requestForwardedContractLive({
|
|
205
|
-
directory: channel.directory,
|
|
206
|
-
action: "contract.deliver",
|
|
207
|
-
observe,
|
|
208
|
-
request: {
|
|
209
|
-
action: "contract.deliver",
|
|
210
|
-
repoRoot: this.scope.primaryWorktree,
|
|
211
|
-
contractId: this.id,
|
|
212
|
-
...(message === undefined ? {} : { message }),
|
|
213
|
-
includeDirty,
|
|
214
|
-
materializeConflict,
|
|
215
|
-
overwrite,
|
|
216
|
-
},
|
|
217
|
-
...(signal === undefined ? {} : { signal }),
|
|
218
|
-
});
|
|
219
|
-
return "facts" in result ? { ...result, value: this.deliveryHandle(result.value) } : result;
|
|
220
|
-
}
|
|
221
|
-
startReview(input) {
|
|
222
|
-
return startContractExecution((observe) => this.runReview(input, observe));
|
|
223
|
-
}
|
|
224
|
-
async review(input) {
|
|
225
|
-
return this.startReview(input).result;
|
|
226
|
-
}
|
|
227
|
-
async runReview(input, observe) {
|
|
228
|
-
const values = requireInput(input, "review input", ["verdict", "summary", "signal"]);
|
|
229
|
-
const verdict = values.verdict;
|
|
230
|
-
if (verdict !== "satisfied" && verdict !== "unsatisfied") {
|
|
231
|
-
return invalidInput("verdict must be satisfied or unsatisfied");
|
|
232
|
-
}
|
|
233
|
-
const summary = optionalNonblank(values.summary, "review summary");
|
|
234
|
-
const signal = optionalSignal(values.signal);
|
|
235
|
-
const channel = executionChannel(this.execution);
|
|
236
|
-
if (channel.kind === "body-request") {
|
|
237
|
-
return await requestForwardedContractLive({
|
|
238
|
-
directory: channel.directory,
|
|
239
|
-
action: "contract.review",
|
|
240
|
-
observe,
|
|
241
|
-
...(signal === undefined ? {} : { signal }),
|
|
242
|
-
request: {
|
|
243
|
-
action: "contract.review",
|
|
244
|
-
repoRoot: this.scope.primaryWorktree,
|
|
245
|
-
contractId: this.id,
|
|
246
|
-
verdict,
|
|
247
|
-
...(summary === undefined ? {} : { summary }),
|
|
248
|
-
},
|
|
249
|
-
});
|
|
250
|
-
}
|
|
251
|
-
return await executeLocalReview({
|
|
252
|
-
scope: this.scope,
|
|
253
|
-
contractId: this.id,
|
|
254
|
-
...(this.composition.actor === undefined ? {} : { actor: this.composition.actor }),
|
|
255
|
-
verdict,
|
|
256
|
-
...(summary === undefined ? {} : { summary }),
|
|
257
|
-
hooks: this.composition.hooks,
|
|
258
|
-
observe,
|
|
259
|
-
...(signal === undefined ? {} : { signal }),
|
|
260
|
-
});
|
|
261
|
-
}
|
|
262
|
-
async abandon(input) {
|
|
263
|
-
const values = input === undefined ? undefined : requireInput(input, "abandon input");
|
|
264
|
-
const hooks = worktreeHooksOption(values?.hooks);
|
|
265
|
-
const note = optionalNonblank(values?.note, "abandon note");
|
|
266
|
-
return withGitDecodeChannel(this.scope, async (channel) => {
|
|
267
|
-
const admission = await releaseTaskHolderWithFence(this.scope, channel, this.id, () => abandonOperation({
|
|
268
|
-
scope: this.scope,
|
|
269
|
-
channel,
|
|
270
|
-
contractId: this.id,
|
|
271
|
-
...actorOption(values?.actor),
|
|
272
|
-
...(note === undefined ? {} : { note }),
|
|
273
|
-
observationSelection: taskHolderObservationSelection(),
|
|
274
|
-
decorateOffer: async ({ observation, contractId: owner }) => {
|
|
275
|
-
const companion = await releaseTaskHolder(channel, observation, owner);
|
|
276
|
-
return companion === null ? [] : [companion];
|
|
277
|
-
},
|
|
278
|
-
}));
|
|
279
|
-
return completeHolderMutation({
|
|
280
|
-
completion: completionInput({
|
|
281
|
-
operation: "abandon",
|
|
282
|
-
scope: this.scope,
|
|
283
|
-
channel,
|
|
284
|
-
contractId: this.id,
|
|
285
|
-
value: () => undefined,
|
|
286
|
-
hooks,
|
|
287
|
-
}),
|
|
288
|
-
admission,
|
|
289
|
-
requireAccepted,
|
|
290
|
-
});
|
|
291
|
-
});
|
|
292
|
-
}
|
|
293
|
-
async arc(input) {
|
|
294
|
-
const values = requireInput(input, "arc input");
|
|
295
|
-
const hooks = worktreeHooksOption(values.hooks);
|
|
296
|
-
const chapter = decodeArcDocument(requireMarkdown(values.markdown));
|
|
297
|
-
return withGitDecodeChannel(this.scope, async (channel) => {
|
|
298
|
-
const accepted = requireAccepted(await arcOperation({
|
|
299
|
-
scope: this.scope,
|
|
300
|
-
channel,
|
|
301
|
-
contractId: this.id,
|
|
302
|
-
...actorOption(values.actor),
|
|
303
|
-
chapter,
|
|
304
|
-
}));
|
|
305
|
-
return completeMutation({
|
|
306
|
-
...completionInput({
|
|
307
|
-
operation: "arc",
|
|
308
|
-
scope: this.scope,
|
|
309
|
-
channel,
|
|
310
|
-
contractId: this.id,
|
|
311
|
-
value: () => undefined,
|
|
312
|
-
hooks,
|
|
313
|
-
}),
|
|
314
|
-
accepted,
|
|
315
|
-
});
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
startAudit(input) {
|
|
319
|
-
return startContractExecution((observe) => this.runAudit(input, observe));
|
|
320
|
-
}
|
|
321
|
-
async audit(input) {
|
|
322
|
-
return this.startAudit(input).result;
|
|
323
|
-
}
|
|
324
|
-
async runAudit(input, observe) {
|
|
325
|
-
const values = input === undefined ? undefined : requireInput(input, "audit input", ["includeDirty", "showDiff", "signal"]);
|
|
326
|
-
const includeDirty = optionalBoolean(values?.includeDirty, "includeDirty") ?? false;
|
|
327
|
-
const showDiff = optionalBoolean(values?.showDiff, "showDiff") ?? false;
|
|
328
|
-
const signal = optionalSignal(values?.signal);
|
|
329
|
-
const auditInput = {
|
|
330
|
-
includeDirty,
|
|
331
|
-
showDiff,
|
|
332
|
-
...(signal === undefined ? {} : { signal }),
|
|
333
|
-
};
|
|
334
|
-
const channel = executionChannel(this.execution);
|
|
335
|
-
if (channel.kind === "body-request") {
|
|
336
|
-
return await requestForwardedContractLive({
|
|
337
|
-
directory: channel.directory,
|
|
338
|
-
action: "contract.audit",
|
|
339
|
-
observe,
|
|
340
|
-
request: {
|
|
341
|
-
action: "contract.audit",
|
|
342
|
-
repoRoot: this.scope.primaryWorktree,
|
|
343
|
-
contractId: this.id,
|
|
344
|
-
includeDirty,
|
|
345
|
-
showDiff,
|
|
346
|
-
},
|
|
347
|
-
...(signal === undefined ? {} : { signal }),
|
|
348
|
-
});
|
|
349
|
-
}
|
|
350
|
-
return auditContract({
|
|
351
|
-
scope: this.scope,
|
|
352
|
-
contractId: this.id,
|
|
353
|
-
input: auditInput,
|
|
354
|
-
composition: this.composition,
|
|
355
|
-
observe,
|
|
356
|
-
});
|
|
357
|
-
}
|
|
358
|
-
async reconcile(input) {
|
|
359
|
-
const options = reconcileInput(input);
|
|
360
|
-
return withGitDecodeChannel(this.scope, (channel) => completeReconcile({
|
|
361
|
-
scope: this.scope,
|
|
362
|
-
channel,
|
|
363
|
-
contractId: this.id,
|
|
364
|
-
...options,
|
|
365
|
-
}));
|
|
366
|
-
}
|
|
367
|
-
deliveryHandle(delivery) {
|
|
368
|
-
return deliveryHandle(delivery, () => deliveryDiffOperation({
|
|
369
|
-
scope: this.scope,
|
|
370
|
-
integrationPredecessor: delivery.integration.predecessor,
|
|
371
|
-
integrationSnapshot: delivery.integration.snapshot,
|
|
372
|
-
}));
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
const KEIYAKU_SEATS = new WeakMap();
|
|
376
|
-
/** Internal constructor capability; callers select a Contract through Keiyaku.with. */
|
|
377
|
-
export function createKeiyakuHandle(id, scope, execution, composition) {
|
|
378
|
-
return new Keiyaku(KEIYAKU_HANDLE, id, scope, execution, composition);
|
|
379
|
-
}
|
|
380
|
-
/** Internal package composition capability; not exported from the package root. */
|
|
381
|
-
export function seatForKeiyaku(value) {
|
|
382
|
-
return value !== null && (typeof value === "object" || typeof value === "function")
|
|
383
|
-
? (KEIYAKU_SEATS.get(value) ?? null)
|
|
384
|
-
: null;
|
|
385
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { actorOption } from "./input.js";
|
|
2
|
-
import { worktreeHooksOption } from "./configuration.js";
|
|
3
|
-
import type { RegionOverlap } from "./region.js";
|
|
4
|
-
import { type ChangeId, type FactKind, type ContractId, type ContractState, type SnapshotId } from "../core/facts/types.js";
|
|
5
|
-
export { AuthorityCorruptionError } from "../core/facts/errors.js";
|
|
6
|
-
import { type PlacementStop, type VerificationStop, type DeliveryPreparationRefusal } from "../protocol/operations.js";
|
|
7
|
-
import type { ContractBoard, ContractCatalogue, ContractDisposition, ContractGateCurrent, ContractGateReport, ContractObservation, ContractPhase, ContractRow, AfterEndpointObservation, ContractAfterEdge, ContractDependent, ContractWorkspaceObservation } from "../protocol/read/status.js";
|
|
8
|
-
import type { AuditReport } from "../protocol/audit.js";
|
|
9
|
-
import type { IntegrationConflictMaterialized, VerificationReuse } from "../protocol/deliver.js";
|
|
10
|
-
import type { TaskId } from "../task/identity.js";
|
|
11
|
-
import { type Repo } from "./repo.js";
|
|
12
|
-
import { type ExecutionContext } from "../akuma/requests.js";
|
|
13
|
-
import type { AuditInput } from "./audit.js";
|
|
14
|
-
import { Delivery } from "./delivery.js";
|
|
15
|
-
import { type ContinuationReport } from "./continuation.js";
|
|
16
|
-
import type { MutationResult } from "./mutation.js";
|
|
17
|
-
export { projectMutationFinality } from "./mutation.js";
|
|
18
|
-
export type { MutationFinality, MutationFinalityInput, MutationFinalitySurface, MutationPendingSurface, } from "./mutation.js";
|
|
19
|
-
import type { Keiyaku, createKeiyakuHandle } from "./contract-handle.js";
|
|
20
|
-
import type { AbandonInput, AmendInput, AmendResult, ArcInput, BindInput, BindResult, ContractList, ContractListInput, ContractObservationInput, DeliverInput, ForkBindInput, KeiyakuSelectInput, LocalContractComposition, MarkdownBindInput, ReconcileReport, ReviewInput, ContractHistory, ContractHistoryEvent, Fact, Lag, TopologyEffect } from "./contract-types.js";
|
|
21
|
-
import type { AttestationVerdict as OperationAttestationVerdict, Review as OperationReview } from "./contract-operations.js";
|
|
22
|
-
import { KeiyakuRetry, type KeiyakuRefusal, type KeiyakuRetryReason } from "./refusal.js";
|
|
23
|
-
export { KeiyakuRefused } from "./refusal.js";
|
|
24
|
-
export { KeiyakuRetry, type KeiyakuRefusal, type KeiyakuRetryReason };
|
|
25
|
-
export { gatesFrom, requireBranchesToBeUpToDateFrom, SettingsError } from "./configuration.js";
|
|
26
|
-
export type { Gate, GatesFromInput, HookCommand, RequireBranchesToBeUpToDateFromInput, WorktreeHooks, } from "./configuration.js";
|
|
27
|
-
export type { AbandonInput, AmendInput, AmendResult, ArcInput, AuditInput, AuditReport, ChangeId, ContinuationReport, ContractBoard, ContractCatalogue, ContractDisposition, ContractGateCurrent, ContractGateReport, ContractAfterEdge, ContractId, ContractHistory, ContractHistoryEvent, ContractDependent, ContractObservation, ContractPhase, ContractRow, ContractState, ContractWorkspaceObservation, BindInput, BindResult, ContractList, ContractListInput, ContractObservationInput, DeliverInput, ForkBindInput, KeiyakuSelectInput, MarkdownBindInput, ReconcileReport, ReviewInput, DeliveryPreparationRefusal, Fact, FactKind, IntegrationConflictMaterialized, Lag, LocalContractComposition, MutationResult, PlacementStop, RegionOverlap, SnapshotId, TaskId, TopologyEffect, VerificationReuse, VerificationStop, };
|
|
28
|
-
export type { AfterEndpointObservation };
|
|
29
|
-
export type ActorId = string;
|
|
30
|
-
export type AttestationVerdict = OperationAttestationVerdict;
|
|
31
|
-
export type Review = OperationReview;
|
|
32
|
-
export { Delivery };
|
|
33
|
-
export type { SettlementAction, SettlementLag, SettlementReport } from "../settlement/settle.js";
|
|
34
|
-
export type LocalContractCompositionCapture = Readonly<{
|
|
35
|
-
actor?: NonNullable<ReturnType<typeof actorOption>["actor"]>;
|
|
36
|
-
hooks: ReturnType<typeof worktreeHooksOption>;
|
|
37
|
-
requireBranchesToBeUpToDate: boolean;
|
|
38
|
-
}>;
|
|
39
|
-
type KeiyakuHandleFactory = typeof createKeiyakuHandle;
|
|
40
|
-
export declare function captureLocalContractComposition(input?: LocalContractComposition): LocalContractCompositionCapture;
|
|
41
|
-
export declare function selectKeiyaku(input: KeiyakuSelectInput, createHandle: KeiyakuHandleFactory, execution?: ExecutionContext, composition?: LocalContractCompositionCapture): Keiyaku;
|
|
42
|
-
export declare function listCompleteContractBoard(repo: Repo): Promise<ContractBoard>;
|
|
43
|
-
export declare function listKeiyaku(input: ContractListInput): Promise<ContractList>;
|
|
44
|
-
export declare function observeKeiyaku(input: ContractObservationInput): Promise<ContractObservation>;
|
|
45
|
-
export declare function bindKeiyaku(input: BindInput, createHandle: KeiyakuHandleFactory, execution?: ExecutionContext, composition?: LocalContractCompositionCapture): Promise<BindResult>;
|
|
46
|
-
export { parseMarkdownBindDocument } from "./contract-bind.js";
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
// Contract composition depends only on construction and observation.
|
|
2
|
-
import { actorOption, optionalBoolean, requireInput } from "./input.js";
|
|
3
|
-
import { worktreeHooksOption } from "./configuration.js";
|
|
4
|
-
import { contractId, } from "../core/facts/types.js";
|
|
5
|
-
export { AuthorityCorruptionError } from "../core/facts/errors.js";
|
|
6
|
-
import { contractCatalogueOperation, contractObservationOperation, contractsOperation, } from "../protocol/operations.js";
|
|
7
|
-
import { withGitDecodeChannel } from "../git/read-observation.js";
|
|
8
|
-
import { scopeForRepo } from "./repo.js";
|
|
9
|
-
import { localExecutionContext } from "../akuma/requests.js";
|
|
10
|
-
import { Delivery } from "./delivery.js";
|
|
11
|
-
export { projectMutationFinality } from "./mutation.js";
|
|
12
|
-
import { bindKeiyaku as bindKeiyakuImplementation } from "./contract-bind.js";
|
|
13
|
-
import { KeiyakuRetry } from "./refusal.js";
|
|
14
|
-
export { KeiyakuRefused } from "./refusal.js";
|
|
15
|
-
export { KeiyakuRetry };
|
|
16
|
-
export { gatesFrom, requireBranchesToBeUpToDateFrom, SettingsError } from "./configuration.js";
|
|
17
|
-
export { Delivery };
|
|
18
|
-
export function captureLocalContractComposition(input) {
|
|
19
|
-
const values = requireInput(input ?? {}, "Keiyaku.with input", ["actor", "hooks", "requireBranchesToBeUpToDate"]);
|
|
20
|
-
const actor = actorOption(values.actor).actor;
|
|
21
|
-
return Object.freeze({
|
|
22
|
-
...(actor === undefined ? {} : { actor }),
|
|
23
|
-
hooks: worktreeHooksOption(values.hooks),
|
|
24
|
-
requireBranchesToBeUpToDate: optionalBoolean(values.requireBranchesToBeUpToDate, "Keiyaku.with requireBranchesToBeUpToDate") ?? false,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
export function selectKeiyaku(input, createHandle, execution = localExecutionContext(), composition = captureLocalContractComposition()) {
|
|
28
|
-
const values = requireInput(input, "Keiyaku.with().select input");
|
|
29
|
-
const scope = scopeForRepo(values.repo);
|
|
30
|
-
if (typeof values.id !== "string")
|
|
31
|
-
throw new TypeError("contract ID must be a string");
|
|
32
|
-
return createHandle(contractId(values.id), scope, execution, composition);
|
|
33
|
-
}
|
|
34
|
-
export async function listCompleteContractBoard(repo) {
|
|
35
|
-
const scope = scopeForRepo(repo);
|
|
36
|
-
return withGitDecodeChannel(scope, (channel) => contractsOperation({ scope, channel }));
|
|
37
|
-
}
|
|
38
|
-
export async function listKeiyaku(input) {
|
|
39
|
-
const values = requireInput(input, "Keiyaku.with().list input");
|
|
40
|
-
for (const key of Object.keys(values)) {
|
|
41
|
-
if (key !== "repo" && key !== "limit")
|
|
42
|
-
throw new TypeError(`Keiyaku.with().list input has unknown field: ${key}`);
|
|
43
|
-
}
|
|
44
|
-
const scope = scopeForRepo(values.repo);
|
|
45
|
-
if (values.limit === undefined) {
|
|
46
|
-
const board = await withGitDecodeChannel(scope, (channel) => contractsOperation({ scope, channel }));
|
|
47
|
-
return { ...board, hasMore: false };
|
|
48
|
-
}
|
|
49
|
-
if (typeof values.limit !== "number")
|
|
50
|
-
throw new TypeError("Contract list limit must be a number");
|
|
51
|
-
return withGitDecodeChannel(scope, (channel) => contractCatalogueOperation({ scope, channel, limit: values.limit }));
|
|
52
|
-
}
|
|
53
|
-
export async function observeKeiyaku(input) {
|
|
54
|
-
const values = requireInput(input, "Keiyaku.observe input");
|
|
55
|
-
for (const key of Object.keys(values))
|
|
56
|
-
if (key !== "repo" && key !== "id")
|
|
57
|
-
throw new TypeError(`Keiyaku.observe input has unknown field: ${key}`);
|
|
58
|
-
const scope = scopeForRepo(values.repo);
|
|
59
|
-
if (typeof values.id !== "string")
|
|
60
|
-
throw new TypeError("contract ID must be a string");
|
|
61
|
-
let id;
|
|
62
|
-
try {
|
|
63
|
-
id = contractId(values.id);
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
throw new TypeError(error instanceof Error ? error.message : "contract ID is invalid");
|
|
67
|
-
}
|
|
68
|
-
return withGitDecodeChannel(scope, (channel) => contractObservationOperation({ scope, channel, contractId: id }));
|
|
69
|
-
}
|
|
70
|
-
export async function bindKeiyaku(input, createHandle, execution = localExecutionContext(), composition = captureLocalContractComposition()) {
|
|
71
|
-
return bindKeiyakuImplementation(input, (id, scope) => createHandle(id, scope, execution, composition));
|
|
72
|
-
}
|
|
73
|
-
export { parseMarkdownBindDocument } from "./contract-bind.js";
|