@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
|
@@ -15,19 +15,29 @@ export function validateAkumaName(value) {
|
|
|
15
15
|
}
|
|
16
16
|
return value;
|
|
17
17
|
}
|
|
18
|
+
// A pending separator run is a dot only while every grapheme in it is one;
|
|
19
|
+
// any other separator grapheme demotes the whole run to a dash.
|
|
20
|
+
function extendSeparatorRun(run, segment) {
|
|
21
|
+
if (segment !== ".")
|
|
22
|
+
return "dash";
|
|
23
|
+
return run === "none" ? "dot" : run;
|
|
24
|
+
}
|
|
18
25
|
export function normalizeIdentityStem(input) {
|
|
19
26
|
const source = input.source.normalize("NFKC").toLowerCase().normalize("NFKC");
|
|
20
27
|
let result = "";
|
|
21
|
-
let separator =
|
|
28
|
+
let separator = "none";
|
|
22
29
|
for (const segment of graphemes(source)) {
|
|
23
30
|
if (!WORD_GRAPHEME.test(segment) && !EMOJI_GRAPHEME.test(segment)) {
|
|
24
|
-
|
|
31
|
+
if (result.length > 0)
|
|
32
|
+
separator = extendSeparatorRun(separator, segment);
|
|
25
33
|
continue;
|
|
26
34
|
}
|
|
27
|
-
if (separator)
|
|
35
|
+
if (separator === "dot")
|
|
36
|
+
result += ".";
|
|
37
|
+
else if (separator === "dash")
|
|
28
38
|
result += "-";
|
|
29
39
|
result += segment;
|
|
30
|
-
separator =
|
|
40
|
+
separator = "none";
|
|
31
41
|
}
|
|
32
42
|
return result;
|
|
33
43
|
}
|
|
@@ -36,7 +46,9 @@ export function fitIdentityStemWords(input) {
|
|
|
36
46
|
throw new Error("identity stem code point budget must be a positive safe integer");
|
|
37
47
|
}
|
|
38
48
|
const words = input.stem.split("-");
|
|
39
|
-
|
|
49
|
+
// Strip before counting: a truncated head must not glue its dangling dot to
|
|
50
|
+
// the next word's dash.
|
|
51
|
+
let fitted = truncateGraphemes(words[0], input.maxCodePoints).replace(/[-.]+$/u, "");
|
|
40
52
|
let count = [...fitted].length;
|
|
41
53
|
for (const word of words.slice(1)) {
|
|
42
54
|
const candidate = count + 1 + [...word].length;
|
|
@@ -45,6 +57,7 @@ export function fitIdentityStemWords(input) {
|
|
|
45
57
|
fitted += `-${word}`;
|
|
46
58
|
count = candidate;
|
|
47
59
|
}
|
|
60
|
+
fitted = fitted.replace(/[-.]+$/u, "");
|
|
48
61
|
if (fitted.length === 0)
|
|
49
62
|
throw new Error("identity stem is empty after fitting");
|
|
50
63
|
return fitted;
|
|
@@ -78,7 +91,7 @@ export function fitIdentityStem(input) {
|
|
|
78
91
|
break;
|
|
79
92
|
stem += segment;
|
|
80
93
|
}
|
|
81
|
-
stem = stem.replace(
|
|
94
|
+
stem = stem.replace(/[-.]+$/u, "");
|
|
82
95
|
if (stem.length === 0)
|
|
83
96
|
throw new Error("identity stem is empty after fitting");
|
|
84
97
|
return stem + suffix;
|
package/build/src/index.d.ts
CHANGED
|
@@ -1,10 +1,81 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
|
|
3
|
+
* Settings, and Plugin surfaces. Internal composition, execution, and
|
|
4
|
+
* configuration helpers stay off this entry; only CLI and Body import them.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
|
|
8
|
+
* Settings, and Plugin surfaces. Internal composition, execution, and
|
|
9
|
+
* configuration helpers stay off this entry; only CLI and Body import them.
|
|
10
|
+
*/
|
|
11
|
+
export { AuthorityCorruptionError } from "./core/facts/errors.js";
|
|
12
|
+
/**
|
|
13
|
+
* The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
|
|
14
|
+
* Settings, and Plugin surfaces. Internal composition, execution, and
|
|
15
|
+
* configuration helpers stay off this entry; only CLI and Body import them.
|
|
16
|
+
*/
|
|
17
|
+
export { Delivery } from "./library/delivery.js";
|
|
18
|
+
/**
|
|
19
|
+
* The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
|
|
20
|
+
* Settings, and Plugin surfaces. Internal composition, execution, and
|
|
21
|
+
* configuration helpers stay off this entry; only CLI and Body import them.
|
|
22
|
+
*/
|
|
23
|
+
export { Keiyaku } from "./library/keiyaku.js";
|
|
24
|
+
/**
|
|
25
|
+
* The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
|
|
26
|
+
* Settings, and Plugin surfaces. Internal composition, execution, and
|
|
27
|
+
* configuration helpers stay off this entry; only CLI and Body import them.
|
|
28
|
+
*/
|
|
29
|
+
export { KeiyakuError } from "./library/outcome.js";
|
|
30
|
+
/**
|
|
31
|
+
* The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
|
|
32
|
+
* Settings, and Plugin surfaces. Internal composition, execution, and
|
|
33
|
+
* configuration helpers stay off this entry; only CLI and Body import them.
|
|
34
|
+
*/
|
|
35
|
+
export { NoGitWorldError, Repo } from "./library/repo.js";
|
|
36
|
+
/**
|
|
37
|
+
* The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
|
|
38
|
+
* Settings, and Plugin surfaces. Internal composition, execution, and
|
|
39
|
+
* configuration helpers stay off this entry; only CLI and Body import them.
|
|
40
|
+
*/
|
|
41
|
+
export { actorId } from "./core/facts/types.js";
|
|
42
|
+
/**
|
|
43
|
+
* The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
|
|
44
|
+
* Settings, and Plugin surfaces. Internal composition, execution, and
|
|
45
|
+
* configuration helpers stay off this entry; only CLI and Body import them.
|
|
46
|
+
*/
|
|
6
47
|
export { z } from "zod";
|
|
48
|
+
export { ALLOWED_ACTIONS, Akuma, AkumaBusyError, AkumaDecodeError, AkumaNotBornError, AkumaProviderError, Schema, } from "./akuma/index.js";
|
|
49
|
+
export type { ActivityHistory, ActivityRow, AkuId, AkumaAskObservation, AkumaAskOptions, AkumaAskResult, AkumaBirthInput, AkumaHistoryOptions, AkumaIdleOptions, AkumaIdleResult, AkumaSignalOptions, AkumaStatus, AkumaTellOptions, AkumaTellResult, AllowedAction, AllowedActions, InterruptReceipt, JsonSchema, JsonSchemaDocument, KillEvidence, SchemaLike, StandardSchemaV1, } from "./akuma/index.js";
|
|
50
|
+
export type { ActorId, ChangeId, ContractHead, ContractId, ContractState, JournalEntry as Fact, FactKind, SnapshotId, } from "./core/facts/types.js";
|
|
51
|
+
export { kanshi, observeKanshi, selectKanshi, selectRegion } from "./kanshi/index.js";
|
|
52
|
+
export type { AkumaKanshiRow, AkumaKanshiWorld, ContractEndpointObservation, ContractHolderObservation, ContractKanshiBoard, ContractKanshiRow, KanshiInput, KanshiRegionSelection, KanshiReport, KanshiSelection, RegionDeclaration, RegionRead, Section, TaskKanshiRow, TaskKanshiWorld, } from "./kanshi/index.js";
|
|
53
|
+
export { AkumaAddressError, AkumaWorldScopeError, Akumas } from "./library/akumas.js";
|
|
54
|
+
export type { AkumaAddressInput, AkumaAskInput, AkumaHistoryInput, AkumaHistoryResult, AkumaKillInput, AkumaKillResult, AkumaList, AkumaListInput, AkumaObservation, AkumaObservationStage, AkumaTellInput, AkumaWaitInput, AkumaWaitResult, AkumaWorldScopeRefusal, CallInput, CallResult, CallWaitHead, CreatedTaskObservation, DispatchAssociation, DispatchStage, ForkInput, ForkResult, TellResult, TellWake, WaitObservedAkuma, WaitObserver, WaitSelectedAkuma, } from "./library/akumas.js";
|
|
55
|
+
export type { ContinuationReport } from "./library/continuation.js";
|
|
56
|
+
export type { KeiyakuLibrary, ReconcileInput } from "./library/contract-composition.js";
|
|
57
|
+
export type { AbandonOutcome, AmendOutcome, ArcOutcome, AuditOutcome, BindOutcome, BindResult, DeliverOutcome, ReviewOutcome, } from "./library/contract-outcomes.js";
|
|
58
|
+
export type { AbandonInput, AmendInput, ArcInput, BindInput, ContractHistory, ContractHistoryEvent, ContractList, ContractListInput, ContractObservationInput, DeliverInput, KeiyakuSelectInput, LocalContractComposition, ReviewInput, } from "./library/contract-types.js";
|
|
59
|
+
export { nukeKeiyaku as nuke } from "./library/nuke.js";
|
|
60
|
+
export type { NukeInput, NukeResult } from "./library/nuke.js";
|
|
61
|
+
export type { InvocationEffect, KeiyakuErrorCategory, PartialOutcomeEnvelope, PendingSurface, ReconciliationLag, Review, } from "./library/outcome.js";
|
|
62
|
+
export type { ReconcileCompletion, RepoContractReconcileReport, RepoReconcileReport } from "./library/reconcile.js";
|
|
63
|
+
export type { KeiyakuRefusal, KeiyakuRetryReason, NukeConfirmationRefusal, NukeConfirmationRequiredRefusal, OperationRetries, } from "./library/refusal.js";
|
|
64
|
+
export type { RegionOverlap } from "./library/region.js";
|
|
65
|
+
export type { RepoAtInput } from "./library/repo.js";
|
|
66
|
+
export type { KeiyakuPlugin, PluginBodyEnd, PluginContext, PluginHooks, PluginInstance, PluginManifest, PluginOutcome, PluginSignal, PluginSignalMap, } from "./plugin/public.js";
|
|
67
|
+
export type { AuditReport } from "./protocol/audit.js";
|
|
68
|
+
export type { IntegrationConflictMaterialized, VerificationReuse } from "./protocol/deliver.js";
|
|
69
|
+
export type { ExecutionObservation, ExecutionObserver } from "./protocol/execution-observation.js";
|
|
70
|
+
export type { PlacementStop, VerificationStop } from "./protocol/operations.js";
|
|
71
|
+
export type { ExecutionCleanup, ExecutionStop } from "./protocol/progress.js";
|
|
72
|
+
export type { ContractAfterEdge, ContractBoard, ContractCatalogue, ContractDependent, ContractDisposition, ContractGateCurrent, ContractGateReport, ContractObservation, ContractPhase, ContractRow, ContractWorkspaceObservation, } from "./protocol/read/status.js";
|
|
73
|
+
export { SettingsError, settings } from "./settings.js";
|
|
74
|
+
export type { Gate } from "./library/contract-types.js";
|
|
75
|
+
export type { Settings, SettingsEntry, SettingsInput, SettingsNamespaceFailure, SettingsNamespaceView, SettingsScope, SettingsScopeState, } from "./settings.js";
|
|
76
|
+
export type { SettlementAction, SettlementLag, SettlementReport } from "./settlement/settle.js";
|
|
77
|
+
export type * from "./task/index.js";
|
|
78
|
+
export { TASK_RELATION_PREDICATE_FIELDS, TaskAuthorityCorruptionError, Tasks } from "./task/index.js";
|
|
7
79
|
export { World, WorldError } from "./world.js";
|
|
8
80
|
export type { WorldResolution, WorldResolutionInput, WorldRoot } from "./world.js";
|
|
9
|
-
export type {
|
|
10
|
-
export type { Settings, SettingsEntry, SettingsInput, SettingsNamespaceFailure, SettingsNamespaceView, SettingsScope, SettingsScopeState, } from "./settings.js";
|
|
81
|
+
export type { ReconcileReport, TopologyEffect } from "./library/reconcile.js";
|
package/build/src/index.js
CHANGED
|
@@ -1,6 +1,54 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
|
|
3
|
+
* Settings, and Plugin surfaces. Internal composition, execution, and
|
|
4
|
+
* configuration helpers stay off this entry; only CLI and Body import them.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
|
|
8
|
+
* Settings, and Plugin surfaces. Internal composition, execution, and
|
|
9
|
+
* configuration helpers stay off this entry; only CLI and Body import them.
|
|
10
|
+
*/
|
|
11
|
+
export { AuthorityCorruptionError } from "./core/facts/errors.js";
|
|
12
|
+
/**
|
|
13
|
+
* The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
|
|
14
|
+
* Settings, and Plugin surfaces. Internal composition, execution, and
|
|
15
|
+
* configuration helpers stay off this entry; only CLI and Body import them.
|
|
16
|
+
*/
|
|
17
|
+
export { Delivery } from "./library/delivery.js";
|
|
18
|
+
/**
|
|
19
|
+
* The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
|
|
20
|
+
* Settings, and Plugin surfaces. Internal composition, execution, and
|
|
21
|
+
* configuration helpers stay off this entry; only CLI and Body import them.
|
|
22
|
+
*/
|
|
23
|
+
export { Keiyaku } from "./library/keiyaku.js";
|
|
24
|
+
/**
|
|
25
|
+
* The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
|
|
26
|
+
* Settings, and Plugin surfaces. Internal composition, execution, and
|
|
27
|
+
* configuration helpers stay off this entry; only CLI and Body import them.
|
|
28
|
+
*/
|
|
29
|
+
export { KeiyakuError } from "./library/outcome.js";
|
|
30
|
+
/**
|
|
31
|
+
* The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
|
|
32
|
+
* Settings, and Plugin surfaces. Internal composition, execution, and
|
|
33
|
+
* configuration helpers stay off this entry; only CLI and Body import them.
|
|
34
|
+
*/
|
|
35
|
+
export { NoGitWorldError, Repo } from "./library/repo.js";
|
|
36
|
+
/**
|
|
37
|
+
* The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
|
|
38
|
+
* Settings, and Plugin surfaces. Internal composition, execution, and
|
|
39
|
+
* configuration helpers stay off this entry; only CLI and Body import them.
|
|
40
|
+
*/
|
|
41
|
+
export { actorId } from "./core/facts/types.js";
|
|
42
|
+
/**
|
|
43
|
+
* The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
|
|
44
|
+
* Settings, and Plugin surfaces. Internal composition, execution, and
|
|
45
|
+
* configuration helpers stay off this entry; only CLI and Body import them.
|
|
46
|
+
*/
|
|
5
47
|
export { z } from "zod";
|
|
48
|
+
export { ALLOWED_ACTIONS, Akuma, AkumaBusyError, AkumaDecodeError, AkumaNotBornError, AkumaProviderError, Schema, } from "./akuma/index.js";
|
|
49
|
+
export { kanshi, observeKanshi, selectKanshi, selectRegion } from "./kanshi/index.js";
|
|
50
|
+
export { AkumaAddressError, AkumaWorldScopeError, Akumas } from "./library/akumas.js";
|
|
51
|
+
export { nukeKeiyaku as nuke } from "./library/nuke.js";
|
|
52
|
+
export { SettingsError, settings } from "./settings.js";
|
|
53
|
+
export { TASK_RELATION_PREDICATE_FIELDS, TaskAuthorityCorruptionError, Tasks } from "./task/index.js";
|
|
6
54
|
export { World, WorldError } from "./world.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Repo } from "../library/repo.js";
|
|
2
|
-
import type { ContractBoard } from "../library/contract.js";
|
|
3
1
|
import { type AliasBinding } from "../alias/index.js";
|
|
4
|
-
import
|
|
2
|
+
import { Repo } from "../library/repo.js";
|
|
3
|
+
import type { ContractBoard } from "../protocol/read/status.js";
|
|
5
4
|
import type { WorldRoot } from "../world.js";
|
|
5
|
+
import type { KanshiRegionSelection, KanshiReport, Section } from "./report.js";
|
|
6
6
|
export type KanshiInput = Readonly<{
|
|
7
7
|
world: WorldRoot | null;
|
|
8
8
|
repo?: Repo;
|
package/build/src/kanshi/read.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { observeTaskBoard } from "../task/operations.js";
|
|
4
|
-
import { contractNamespace } from "../task/identity.js";
|
|
5
|
-
import { readAkumaCatalog, readAkumaTimeline, withoutReportedChanges } from "../akuma/akuma.js";
|
|
1
|
+
import { withoutReportedChanges } from "../akuma/projection.js";
|
|
2
|
+
import { readAkumaRoster, readAkumaTimeline } from "../akuma/akuma.js";
|
|
6
3
|
import { readAliases } from "../alias/index.js";
|
|
7
|
-
import { readDispatchesAt } from "../dispatch/index.js";
|
|
8
|
-
import { readTaskHolderProjectionAt } from "../settlement/holder.js";
|
|
9
|
-
import { observeCurrentPhysicalIssue } from "../protocol/read/observation.js";
|
|
10
|
-
import { readContractBoard, readContractCatalogue, readContractPhase } from "../protocol/read/status.js";
|
|
11
|
-
import { withGitDecodeChannel, withGitReadObservation } from "../git/read-observation.js";
|
|
12
4
|
import { decodeContractDocument } from "../body/decode.js";
|
|
13
5
|
import { assertRegionPattern } from "../body/region.js";
|
|
14
|
-
import { readDocuments } from "../protocol/read/documents.js";
|
|
15
6
|
import { contractId } from "../core/facts/types.js";
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
7
|
+
import { readDispatchesAt } from "../dispatch/index.js";
|
|
8
|
+
import { withGitDecodeChannel, withGitReadObservation } from "../git/read-observation.js";
|
|
9
|
+
import { Repo, scopeForRepo } from "../library/repo.js";
|
|
10
|
+
import { readDocuments } from "../protocol/read/documents.js";
|
|
11
|
+
import { observeCurrentPhysicalIssue } from "../protocol/read/observation.js";
|
|
12
|
+
import { readContractBoard, readContractCatalogue, readContractPhase } from "../protocol/read/status.js";
|
|
13
|
+
import { readTaskHolderProjectionAt } from "../settlement/holder.js";
|
|
14
|
+
import { contractNamespace } from "../task/identity.js";
|
|
18
15
|
import { observeRecentTaskStatus, TaskAuthorityCorruptionError } from "../task/index.js";
|
|
16
|
+
import { observeTaskBoard } from "../task/operations.js";
|
|
17
|
+
import { ROSTER_SNAPSHOT_ROWS, ROSTER_VISIBLE_ROWS } from "./roster.js";
|
|
18
|
+
import { selectKanshi, selectRegion } from "./select.js";
|
|
19
19
|
function diagnostic(error) {
|
|
20
20
|
let source;
|
|
21
21
|
if (error instanceof Error)
|
|
@@ -149,7 +149,7 @@ async function readHolders(observation) {
|
|
|
149
149
|
return { kind: "failed", failure: { message: diagnostic(error) } };
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
|
-
function
|
|
152
|
+
function attachRoster(contracts, akuma) {
|
|
153
153
|
if (contracts.kind !== "present")
|
|
154
154
|
return contracts;
|
|
155
155
|
const attachments = new Map();
|
|
@@ -166,7 +166,7 @@ function attachFleet(contracts, akuma) {
|
|
|
166
166
|
kind: "present",
|
|
167
167
|
value: {
|
|
168
168
|
...contracts.value,
|
|
169
|
-
rows: contracts.value.rows.map((row) => ({ ...row,
|
|
169
|
+
rows: contracts.value.rows.map((row) => ({ ...row, roster: attachments.get(row.id) ?? [] })),
|
|
170
170
|
},
|
|
171
171
|
};
|
|
172
172
|
}
|
|
@@ -183,14 +183,14 @@ function decorateContracts(contracts, holders, namespaceTasks) {
|
|
|
183
183
|
return {
|
|
184
184
|
...row,
|
|
185
185
|
holder: { kind: "unavailable" },
|
|
186
|
-
|
|
186
|
+
roster: [],
|
|
187
187
|
...(selected === undefined ? {} : { namespaceTasks: selected }),
|
|
188
188
|
};
|
|
189
189
|
}
|
|
190
190
|
const holder = holders.kind === "present" ? holders.value.get(row.id) : undefined;
|
|
191
191
|
return {
|
|
192
192
|
...row,
|
|
193
|
-
|
|
193
|
+
roster: [],
|
|
194
194
|
...(selected === undefined ? {} : { namespaceTasks: selected }),
|
|
195
195
|
holder: holder?.disposition === "held"
|
|
196
196
|
? { kind: "held", taskId: holder.taskId }
|
|
@@ -263,7 +263,7 @@ async function readTasks(path, holders, observeContract) {
|
|
|
263
263
|
}), (error) => ({ kind: "failed", failure: taskFailure(error) }));
|
|
264
264
|
}
|
|
265
265
|
/**
|
|
266
|
-
* Placement discharge for the observed
|
|
266
|
+
* Placement discharge for the observed roster snapshots: an associated Contract
|
|
267
267
|
* whose own observation proves it claimed has placed the candidate those
|
|
268
268
|
* reported changes describe, so the composite report no longer presents them
|
|
269
269
|
* as pending. An unproven or failed Contract read keeps the changes.
|
|
@@ -286,7 +286,7 @@ async function joinAkuma(path, observeContract, isContractClaimed, dispatches, a
|
|
|
286
286
|
if (aliases.kind !== "present")
|
|
287
287
|
return aliases;
|
|
288
288
|
try {
|
|
289
|
-
const source = await
|
|
289
|
+
const source = await readAkumaRoster(path, { limit: ROSTER_VISIBLE_ROWS });
|
|
290
290
|
const aliasById = new Map();
|
|
291
291
|
for (const binding of aliases.value)
|
|
292
292
|
aliasById.set(binding.akuId, [...(aliasById.get(binding.akuId) ?? []), binding]);
|
|
@@ -306,7 +306,7 @@ async function joinAkuma(path, observeContract, isContractClaimed, dispatches, a
|
|
|
306
306
|
}),
|
|
307
307
|
};
|
|
308
308
|
});
|
|
309
|
-
const snapshotRows = rows.slice(0,
|
|
309
|
+
const snapshotRows = rows.slice(0, ROSTER_SNAPSHOT_ROWS);
|
|
310
310
|
const snapshots = new Map(await Promise.all(snapshotRows.map(async (row) => {
|
|
311
311
|
try {
|
|
312
312
|
return [row.id, await readAkumaTimeline(path, row.id)];
|
|
@@ -399,7 +399,7 @@ async function observeRepo(input) {
|
|
|
399
399
|
root: world,
|
|
400
400
|
observedAt,
|
|
401
401
|
branch,
|
|
402
|
-
contracts:
|
|
402
|
+
contracts: attachRoster(contracts, akuma),
|
|
403
403
|
tasks,
|
|
404
404
|
akuma,
|
|
405
405
|
...(regionSection === undefined ? {} : { region: regionSection }),
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
1
|
+
import type { AkumaList, AkumaListRow, UnbornAkumaListRow } from "../akuma/akuma.js";
|
|
2
|
+
import type { ActivitySnapshot } from "../akuma/projection.js";
|
|
3
|
+
import type { BoundedList } from "../bounded-list.js";
|
|
4
4
|
import type { AkumaAlias } from "../identity/selector.js";
|
|
5
|
-
import type {
|
|
6
|
-
import type { ContractId } from "../library/contract.js";
|
|
5
|
+
import type { ContractId } from "../index.js";
|
|
7
6
|
import type { RegionOverlap } from "../library/region.js";
|
|
8
7
|
import type { CurrentPhysicalIssue } from "../protocol/read/observation.js";
|
|
9
|
-
import type {
|
|
8
|
+
import type { ContractBoard, ContractDisposition, ContractPhase } from "../protocol/read/status.js";
|
|
9
|
+
import type { TaskId, TaskRef, TaskRow } from "../task/index.js";
|
|
10
|
+
import type { WorldRoot } from "../world.js";
|
|
10
11
|
export type { RegionOverlap };
|
|
11
12
|
export type Section<Value> = Readonly<{
|
|
12
13
|
kind: "present";
|
|
@@ -29,14 +30,14 @@ export type ContractHolderObservation = Readonly<{
|
|
|
29
30
|
}> | Readonly<{
|
|
30
31
|
kind: "unavailable";
|
|
31
32
|
}>;
|
|
32
|
-
export type
|
|
33
|
+
export type ContractRosterAttachment = Readonly<{
|
|
33
34
|
id: string;
|
|
34
35
|
aliases: readonly AkumaAlias[];
|
|
35
36
|
}>;
|
|
36
37
|
export type ContractKanshiRow = ContractBoard["rows"][number] & Readonly<{
|
|
37
38
|
phase: ContractPhase;
|
|
38
39
|
holder: ContractHolderObservation;
|
|
39
|
-
|
|
40
|
+
roster: readonly ContractRosterAttachment[];
|
|
40
41
|
namespaceTasks?: Section<readonly TaskRow[]>;
|
|
41
42
|
issue?: CurrentPhysicalIssue;
|
|
42
43
|
}>;
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { regionsOverlapWithRelation } from "../body/region.js";
|
|
2
2
|
function regionOverlaps(mine, declarations) {
|
|
3
3
|
const overlaps = [];
|
|
4
4
|
for (const declaration of declarations) {
|
|
5
|
-
const pairs =
|
|
5
|
+
const pairs = regionsOverlapWithRelation(mine, declaration.patterns);
|
|
6
6
|
if (pairs.length === 0)
|
|
7
7
|
continue;
|
|
8
8
|
overlaps.push({
|
|
9
9
|
contract: declaration.contract,
|
|
10
|
-
patterns: pairs.map(([minePattern, theirsPattern]) => ({
|
|
10
|
+
patterns: pairs.map(([minePattern, theirsPattern, relation]) => ({
|
|
11
|
+
mine: minePattern,
|
|
12
|
+
theirs: theirsPattern,
|
|
13
|
+
relation,
|
|
14
|
+
})),
|
|
11
15
|
});
|
|
12
16
|
}
|
|
13
17
|
return overlaps;
|
|
@@ -2,19 +2,15 @@
|
|
|
2
2
|
import { type AliasBinding } from "../alias/index.js";
|
|
3
3
|
import { type AkuId } from "../akuma/identity.js";
|
|
4
4
|
import { contractId } from "../core/facts/types.js";
|
|
5
|
-
import { type AkumaAlias
|
|
5
|
+
import { type AkumaAlias } from "../identity/selector.js";
|
|
6
6
|
import { type WorldRoot } from "../world.js";
|
|
7
7
|
import type { KanshiReport, Section } from "../kanshi/index.js";
|
|
8
8
|
import { type Repo } from "./repo.js";
|
|
9
|
-
export type DirectAkumaSelector = AkuId | AkumaAlias;
|
|
10
|
-
export type SetAkumaSelector = DirectAkumaSelector | AkumaGlob | `kei/${string}`;
|
|
11
9
|
export type AkumaAddressInput = Readonly<{
|
|
12
|
-
path: WorldRoot;
|
|
13
10
|
akuma: string;
|
|
14
11
|
repo?: Repo;
|
|
15
12
|
}>;
|
|
16
13
|
export type AkumaSetAddressInput = Readonly<{
|
|
17
|
-
path: WorldRoot;
|
|
18
14
|
akuma: readonly string[];
|
|
19
15
|
repo?: Repo;
|
|
20
16
|
}>;
|
|
@@ -62,7 +58,7 @@ type AddressedAkuma = Readonly<{
|
|
|
62
58
|
}>;
|
|
63
59
|
/**
|
|
64
60
|
* Resolves one selector to a complete identity without proving it born. The
|
|
65
|
-
* caller is a forwarding boundary: the parent
|
|
61
|
+
* caller is a forwarding boundary: the parent Selection answers for the target, so
|
|
66
62
|
* this process must not read its own Heart files to decide.
|
|
67
63
|
*/
|
|
68
64
|
export declare function resolveAkuma(input: UncheckedAkumaAddressInput): Promise<AddressedAkuma>;
|
|
@@ -73,7 +69,7 @@ export declare function resolveAkuma(input: UncheckedAkumaAddressInput): Promise
|
|
|
73
69
|
export declare function addressAkuma(input: UncheckedAkumaAddressInput): Promise<AddressedAkuma>;
|
|
74
70
|
/**
|
|
75
71
|
* Resolves a selector set to complete identities without proving any born. The
|
|
76
|
-
* caller is a forwarding boundary, the parent
|
|
72
|
+
* caller is a forwarding boundary, the parent Selection owns the answer, and no
|
|
77
73
|
* member's Heart is read here.
|
|
78
74
|
*/
|
|
79
75
|
export declare function resolveAkumaSet(input: UncheckedAkumaAddressInput): Promise<Readonly<{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** @architectureCompositionRoot */
|
|
2
2
|
import { readAliases } from "../alias/index.js";
|
|
3
|
-
import {
|
|
3
|
+
import { readAkumaCompleteRoster } from "../akuma/akuma.js";
|
|
4
4
|
import { akumaAddressability, requireBornAkuma } from "../akuma/akuma-probe.js";
|
|
5
5
|
import { parseAkuId } from "../akuma/identity.js";
|
|
6
6
|
import { contractId } from "../core/facts/types.js";
|
|
@@ -96,7 +96,7 @@ export function resolveNamedAddress(input) {
|
|
|
96
96
|
}
|
|
97
97
|
/**
|
|
98
98
|
* Resolves one selector to a complete identity without proving it born. The
|
|
99
|
-
* caller is a forwarding boundary: the parent
|
|
99
|
+
* caller is a forwarding boundary: the parent Selection answers for the target, so
|
|
100
100
|
* this process must not read its own Heart files to decide.
|
|
101
101
|
*/
|
|
102
102
|
export async function resolveAkuma(input) {
|
|
@@ -145,7 +145,7 @@ function addSelectorIds(selector, sources, selected, contractMembers, explicit)
|
|
|
145
145
|
return;
|
|
146
146
|
}
|
|
147
147
|
if (selector.kind === "glob") {
|
|
148
|
-
for (const id of sources.
|
|
148
|
+
for (const id of sources.rosterIds)
|
|
149
149
|
if (matchesAkumaGlob(selector.value, id))
|
|
150
150
|
selected.add(id);
|
|
151
151
|
return;
|
|
@@ -195,8 +195,8 @@ async function readAkumaSet(input) {
|
|
|
195
195
|
if (hasSelectorKind(selectors, "contract") && values.repo === undefined) {
|
|
196
196
|
throw new TypeError("Contract Akuma selector requires repo");
|
|
197
197
|
}
|
|
198
|
-
const
|
|
199
|
-
? (await
|
|
198
|
+
const rosterIds = hasSelectorKind(selectors, "glob")
|
|
199
|
+
? (await readAkumaCompleteRoster(path)).rows.map((row) => row.id)
|
|
200
200
|
: [];
|
|
201
201
|
const aliases = hasSelectorKind(selectors, "alias")
|
|
202
202
|
? new Map((await readAliases(path)).map((binding) => [binding.alias, binding.akuId]))
|
|
@@ -207,14 +207,14 @@ async function readAkumaSet(input) {
|
|
|
207
207
|
const selected = new Set();
|
|
208
208
|
const contractMembers = new Set();
|
|
209
209
|
const explicit = new Set();
|
|
210
|
-
const sources = {
|
|
210
|
+
const sources = { rosterIds, aliases, dispatches };
|
|
211
211
|
for (const selector of selectors)
|
|
212
212
|
addSelectorIds(selector, sources, selected, contractMembers, explicit);
|
|
213
213
|
return { path, orderedIds: [...selected], ids: canonicalAkumaOrder(selected), contractMembers, explicit };
|
|
214
214
|
}
|
|
215
215
|
/**
|
|
216
216
|
* Resolves a selector set to complete identities without proving any born. The
|
|
217
|
-
* caller is a forwarding boundary, the parent
|
|
217
|
+
* caller is a forwarding boundary, the parent Selection owns the answer, and no
|
|
218
218
|
* member's Heart is read here.
|
|
219
219
|
*/
|
|
220
220
|
export async function resolveAkumaSet(input) {
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import { type
|
|
3
|
-
import
|
|
1
|
+
import { type ForkReceipt } from "../akuma/akuma-owner.js";
|
|
2
|
+
import { type AskObserver } from "../akuma/akuma-selection-execution.js";
|
|
3
|
+
import type { AkumaStatus } from "../akuma/akuma.js";
|
|
4
|
+
import type { AllowedAction } from "../akuma/allowed.js";
|
|
5
|
+
import type { TellResult } from "../akuma/body.js";
|
|
4
6
|
import { type AkuId } from "../akuma/identity.js";
|
|
7
|
+
import { type ExecutionContext } from "../akuma/requests.js";
|
|
8
|
+
import { type Schema } from "../akuma/schema.js";
|
|
9
|
+
import type { AkumaAskResult } from "../akuma/selection-observation.js";
|
|
10
|
+
import { type AliasBinding } from "../alias/index.js";
|
|
5
11
|
import { type Dispatch, type DispatchFailure } from "../dispatch/index.js";
|
|
6
12
|
import type { PrivateStateSeatCloseLag } from "../git/private-state-seat.js";
|
|
7
13
|
import { type AkumaAlias } from "../identity/selector.js";
|
|
8
14
|
import type { Settings } from "../settings.js";
|
|
9
15
|
import { type WorldRoot } from "../world.js";
|
|
10
|
-
import type {
|
|
11
|
-
import { type Schema } from "../akuma/schema.js";
|
|
12
|
-
import { type TellWaitObserver } from "../akuma/fleet-execution.js";
|
|
13
|
-
import type { AkumaTellWaitResult } from "../akuma/fleet-observation.js";
|
|
14
|
-
import type { TellResult } from "../akuma/body.js";
|
|
15
|
-
import { type ExecutionContext } from "../akuma/requests.js";
|
|
16
|
-
import type { Keiyaku } from "./contract-handle.js";
|
|
16
|
+
import type { Keiyaku } from "./keiyaku.js";
|
|
17
17
|
import { type Repo } from "./repo.js";
|
|
18
18
|
export type { AkumaStatus } from "../akuma/akuma.js";
|
|
19
19
|
export type IntegrationFailure = Readonly<{
|
|
@@ -49,12 +49,11 @@ export type CallWaitHead = Readonly<{
|
|
|
49
49
|
}>;
|
|
50
50
|
export type CallWaitObserver = Readonly<{
|
|
51
51
|
admitted?: (tell: TellResult, id: AkumaStatus["id"], head: CallWaitHead) => void | Promise<void>;
|
|
52
|
-
observe?:
|
|
52
|
+
observe?: AskObserver["observe"];
|
|
53
53
|
}>;
|
|
54
54
|
export type CallInput = Readonly<{
|
|
55
|
-
path: WorldRoot;
|
|
56
55
|
archetype: string;
|
|
57
|
-
body
|
|
56
|
+
body?: string;
|
|
58
57
|
cwd?: string;
|
|
59
58
|
mode?: "wait" | "detach";
|
|
60
59
|
timeoutMs?: number;
|
|
@@ -69,12 +68,14 @@ export type CallInput = Readonly<{
|
|
|
69
68
|
observe?: CallWaitObserver;
|
|
70
69
|
}>;
|
|
71
70
|
export type CallObservation = Readonly<{
|
|
71
|
+
kind: "born";
|
|
72
|
+
}> | Readonly<{
|
|
72
73
|
kind: "detached";
|
|
73
74
|
tell: TellResult;
|
|
74
75
|
}> | Readonly<{
|
|
75
76
|
kind: "observed";
|
|
76
77
|
tell: TellResult;
|
|
77
|
-
observation:
|
|
78
|
+
observation: AkumaAskResult["observation"];
|
|
78
79
|
completedAt?: string | null;
|
|
79
80
|
}> | Readonly<{
|
|
80
81
|
kind: "failed";
|
|
@@ -94,23 +95,7 @@ export type CallResult = Readonly<{
|
|
|
94
95
|
structured?: true;
|
|
95
96
|
observation: CallObservation;
|
|
96
97
|
}>;
|
|
97
|
-
type CallExecution = CallResult["execution"];
|
|
98
|
-
export type BornCall = Readonly<{
|
|
99
|
-
path: WorldRoot;
|
|
100
|
-
born: AkumaBornCall;
|
|
101
|
-
execution: CallExecution;
|
|
102
|
-
mode: "wait" | "detach";
|
|
103
|
-
timeoutMs: number;
|
|
104
|
-
signal?: AbortSignal;
|
|
105
|
-
dispatch: DispatchStage;
|
|
106
|
-
alias: AliasStage;
|
|
107
|
-
initialTell: InitialCallTell & Readonly<{
|
|
108
|
-
schema?: Schema<unknown>;
|
|
109
|
-
}>;
|
|
110
|
-
observe?: CallWaitObserver;
|
|
111
|
-
}>;
|
|
112
98
|
export type ForkInput = Readonly<{
|
|
113
|
-
path: WorldRoot;
|
|
114
99
|
akuma: string;
|
|
115
100
|
at: string;
|
|
116
101
|
repo?: Repo;
|
|
@@ -126,5 +111,9 @@ export type ForkResult = Readonly<{
|
|
|
126
111
|
}>> & Readonly<{
|
|
127
112
|
parent: AkuId;
|
|
128
113
|
}>);
|
|
129
|
-
export declare function callAkumas(input: CallInput
|
|
130
|
-
|
|
114
|
+
export declare function callAkumas(input: CallInput & Readonly<{
|
|
115
|
+
path: WorldRoot;
|
|
116
|
+
}>, execution?: ExecutionContext): Promise<CallResult>;
|
|
117
|
+
export declare function forkAkumas(input: ForkInput & Readonly<{
|
|
118
|
+
path: WorldRoot;
|
|
119
|
+
}>): Promise<ForkResult>;
|