@astrosheep/keiyaku 2.9.13 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -130
- package/build/integrations/marketplace/.agents/plugins/marketplace.json +12 -0
- package/build/integrations/marketplace/.claude-plugin/marketplace.json +5 -0
- package/build/integrations/marketplace/plugins/keiyaku/.claude-plugin/plugin.json +7 -0
- package/build/integrations/marketplace/plugins/keiyaku/.codex-plugin/plugin.json +18 -0
- package/build/integrations/marketplace/plugins/keiyaku/opencode.js +16 -0
- package/build/integrations/marketplace/plugins/keiyaku/package.json +8 -0
- package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku/SKILL.md +34 -0
- package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-akuma/SKILL.md +50 -0
- package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-task/SKILL.md +62 -0
- package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-workflow/SKILL.md +72 -0
- package/build/src/akuma/activity.d.ts +66 -0
- package/build/src/akuma/activity.js +139 -0
- package/build/src/akuma/akuma.d.ts +116 -0
- package/build/src/akuma/akuma.js +382 -0
- package/build/src/akuma/archetype.d.ts +31 -0
- package/build/src/akuma/archetype.js +188 -0
- package/build/src/akuma/body.d.ts +20 -0
- package/build/src/akuma/body.js +305 -0
- package/build/src/akuma/heart/facts.d.ts +150 -0
- package/build/src/akuma/heart/facts.js +9 -0
- package/build/src/akuma/heart/index.d.ts +78 -0
- package/build/src/akuma/heart/index.js +361 -0
- package/build/src/akuma/heart/rows.d.ts +189 -0
- package/build/src/akuma/heart/rows.js +319 -0
- package/build/src/akuma/heart/schema.d.ts +5 -0
- package/build/src/akuma/heart/schema.js +113 -0
- package/build/src/akuma/identity.d.ts +46 -0
- package/build/src/akuma/identity.js +89 -0
- package/build/src/akuma/index.d.ts +7 -0
- package/build/src/akuma/index.js +3 -0
- package/build/src/akuma/provider.d.ts +123 -0
- package/build/src/akuma/provider.js +235 -0
- package/build/src/akuma/providers/claude.d.ts +84 -0
- package/build/src/akuma/providers/claude.js +305 -0
- package/build/src/akuma/providers/codex-app-server/events.d.ts +110 -0
- package/build/src/akuma/providers/codex-app-server/events.js +337 -0
- package/build/src/akuma/providers/codex-app-server/index.d.ts +27 -0
- package/build/src/akuma/providers/codex-app-server/index.js +162 -0
- package/build/src/akuma/providers/index.d.ts +4 -0
- package/build/src/akuma/providers/index.js +71 -0
- package/build/src/akuma/publication.d.ts +10 -0
- package/build/src/akuma/publication.js +107 -0
- package/build/src/akuma/requests.d.ts +46 -0
- package/build/src/akuma/requests.js +388 -0
- package/build/src/alias/index.d.ts +17 -0
- package/build/src/alias/index.js +104 -0
- package/build/src/body/amend.d.ts +2 -0
- package/build/src/body/amend.js +289 -0
- package/build/src/body/arc.d.ts +2 -0
- package/build/src/body/arc.js +54 -0
- package/build/src/body/decode.d.ts +4 -0
- package/build/src/body/decode.js +146 -0
- package/build/src/body/keys.d.ts +4 -0
- package/build/src/body/keys.js +11 -0
- package/build/src/body/region.d.ts +6 -0
- package/build/src/body/region.js +139 -0
- package/build/src/body/render.d.ts +4 -0
- package/build/src/body/render.js +73 -0
- package/build/src/body/shape.d.ts +29 -0
- package/build/src/body/shape.js +16 -0
- package/build/src/body/types.d.ts +28 -0
- package/build/src/body/verification.d.ts +7 -0
- package/build/src/body/verification.js +25 -0
- package/build/src/cli/accepted.d.ts +16 -0
- package/build/src/cli/accepted.js +65 -0
- package/build/src/cli/actor.d.ts +8 -0
- package/build/src/cli/actor.js +11 -0
- package/build/src/cli/commands/akuma-invoke.d.ts +53 -0
- package/build/src/cli/commands/akuma-invoke.js +68 -0
- package/build/src/cli/commands/akuma.d.ts +42 -0
- package/build/src/cli/commands/akuma.js +224 -0
- package/build/src/cli/commands/amend.d.ts +13 -0
- package/build/src/cli/commands/amend.js +13 -0
- package/build/src/cli/commands/bind.d.ts +12 -0
- package/build/src/cli/commands/bind.js +17 -0
- package/build/src/cli/commands/install.d.ts +25 -0
- package/build/src/cli/commands/install.js +103 -0
- package/build/src/cli/commands/task-invoke.d.ts +9 -0
- package/build/src/cli/commands/task-invoke.js +92 -0
- package/build/src/cli/commands/task.d.ts +16 -0
- package/build/src/cli/commands/task.js +144 -0
- package/build/src/cli/index.d.ts +2 -0
- package/build/src/cli/index.js +3 -0
- package/build/src/cli/invoke.d.ts +17 -0
- package/build/src/cli/invoke.js +265 -0
- package/build/src/cli/main.d.ts +1 -0
- package/build/src/cli/main.js +79 -0
- package/build/src/cli/parse.d.ts +210 -0
- package/build/src/cli/parse.js +375 -0
- package/build/src/cli/render/akuma-tool.d.ts +11 -0
- package/build/src/cli/render/akuma-tool.js +68 -0
- package/build/src/cli/render/akuma.d.ts +6 -0
- package/build/src/cli/render/akuma.js +254 -0
- package/build/src/cli/render/board.d.ts +2 -0
- package/build/src/cli/render/board.js +4 -0
- package/build/src/cli/render/contract.d.ts +4 -0
- package/build/src/cli/render/contract.js +69 -0
- package/build/src/cli/render/kanshi.d.ts +3 -0
- package/build/src/cli/render/kanshi.js +204 -0
- package/build/src/cli/render/refusal.d.ts +2 -0
- package/build/src/cli/render/refusal.js +4 -0
- package/build/src/cli/render/settings.d.ts +3 -0
- package/build/src/cli/render/settings.js +30 -0
- package/build/src/cli/render/task.d.ts +6 -0
- package/build/src/cli/render/task.js +105 -0
- package/build/src/cli/render/terminal.d.ts +10 -0
- package/build/src/cli/render/terminal.js +76 -0
- package/build/src/cli/render/text.d.ts +3 -0
- package/build/src/cli/render/text.js +15 -0
- package/build/src/cli/result.d.ts +55 -0
- package/build/src/cli/selectors.d.ts +9 -0
- package/build/src/cli/selectors.js +66 -0
- package/build/src/cli/usage.d.ts +6 -0
- package/build/src/cli/usage.js +19 -0
- package/build/src/context-root.d.ts +4 -0
- package/build/src/context-root.js +15 -0
- package/build/src/coordination/durable-file.d.ts +1 -0
- package/build/src/coordination/durable-file.js +36 -0
- package/build/src/coordination/sqlite-transaction-lock.d.ts +14 -0
- package/build/src/coordination/sqlite-transaction-lock.js +119 -0
- package/build/src/core/decide.d.ts +45 -0
- package/build/src/core/facts/codec.d.ts +3 -0
- package/build/src/core/facts/codec.js +258 -0
- package/build/src/core/facts/eligibility.d.ts +16 -0
- package/build/src/core/facts/eligibility.js +75 -0
- package/build/src/core/facts/errors.d.ts +3 -0
- package/build/src/core/facts/errors.js +6 -0
- package/build/src/core/facts/fold.d.ts +2 -0
- package/build/src/core/facts/fold.js +97 -0
- package/build/src/core/facts/gate.d.ts +24 -0
- package/build/src/core/facts/gate.js +52 -0
- package/build/src/core/facts/observation.d.ts +12 -0
- package/build/src/core/facts/observation.js +23 -0
- package/build/src/core/facts/offer.d.ts +21 -0
- package/build/src/core/facts/types.d.ts +130 -0
- package/build/src/core/facts/types.js +66 -0
- package/build/src/core/subject.d.ts +21 -0
- package/build/src/core/subject.js +89 -0
- package/build/src/core/verbs/abandon.d.ts +13 -0
- package/build/src/core/verbs/abandon.js +17 -0
- package/build/src/core/verbs/amend.d.ts +14 -0
- package/build/src/core/verbs/amend.js +56 -0
- package/build/src/core/verbs/arc.d.ts +13 -0
- package/build/src/core/verbs/arc.js +25 -0
- package/build/src/core/verbs/attestation.d.ts +13 -0
- package/build/src/core/verbs/attestation.js +21 -0
- package/build/src/core/verbs/bind.d.ts +13 -0
- package/build/src/core/verbs/bind.js +40 -0
- package/build/src/core/verbs/deliver.d.ts +13 -0
- package/build/src/core/verbs/deliver.js +26 -0
- package/build/src/core/verbs/placement.d.ts +13 -0
- package/build/src/core/verbs/placement.js +42 -0
- package/build/src/dispatch/index.d.ts +31 -0
- package/build/src/dispatch/index.js +159 -0
- package/build/src/git/admission.d.ts +18 -0
- package/build/src/git/admission.js +116 -0
- package/build/src/git/delivery.d.ts +20 -0
- package/build/src/git/delivery.js +109 -0
- package/build/src/git/hooks.d.ts +34 -0
- package/build/src/git/hooks.js +258 -0
- package/build/src/git/identity.d.ts +13 -0
- package/build/src/git/identity.js +28 -0
- package/build/src/git/observe.d.ts +38 -0
- package/build/src/git/observe.js +227 -0
- package/build/src/git/reconcile.d.ts +49 -0
- package/build/src/git/reconcile.js +223 -0
- package/build/src/git/repository.d.ts +80 -0
- package/build/src/git/repository.js +456 -0
- package/build/src/git/tree.d.ts +34 -0
- package/build/src/git/tree.js +112 -0
- package/build/src/git/verification.d.ts +14 -0
- package/build/src/git/verification.js +56 -0
- package/build/src/identity/coordinates.d.ts +9 -0
- package/build/src/identity/coordinates.js +20 -0
- package/build/src/identity/normalize.d.ts +8 -0
- package/build/src/identity/normalize.js +45 -0
- package/build/src/identity/selector.d.ts +6 -0
- package/build/src/identity/selector.js +7 -0
- package/build/src/index.d.ts +4 -0
- package/build/src/index.js +2 -0
- package/build/src/kanshi/index.d.ts +5 -0
- package/build/src/kanshi/index.js +2 -0
- package/build/src/kanshi/read.d.ts +5 -0
- package/build/src/kanshi/read.js +100 -0
- package/build/src/kanshi/report.d.ts +35 -0
- package/build/src/kanshi/select.d.ts +8 -0
- package/build/src/kanshi/select.js +21 -0
- package/build/src/library/akuma-creation.d.ts +79 -0
- package/build/src/library/akuma-creation.js +151 -0
- package/build/src/library/configuration.d.ts +26 -0
- package/build/src/library/configuration.js +100 -0
- package/build/src/library/contract.d.ts +145 -0
- package/build/src/library/contract.js +325 -0
- package/build/src/library/input.d.ts +13 -0
- package/build/src/library/input.js +82 -0
- package/build/src/library/keiyaku.d.ts +28 -0
- package/build/src/library/keiyaku.js +16 -0
- package/build/src/library/region.d.ts +17 -0
- package/build/src/library/region.js +30 -0
- package/build/src/library/repo.d.ts +33 -0
- package/build/src/library/repo.js +61 -0
- package/build/src/markdown/diff.d.ts +1 -0
- package/build/src/markdown/diff.js +4 -0
- package/build/src/markdown/lex.d.ts +3 -0
- package/build/src/markdown/lex.js +221 -0
- package/build/src/markdown/parse.d.ts +2 -0
- package/build/src/markdown/parse.js +221 -0
- package/build/src/markdown/query.d.ts +21 -0
- package/build/src/markdown/query.js +51 -0
- package/build/src/markdown/types.d.ts +118 -0
- package/build/src/markdown/types.js +6 -0
- package/build/src/protocol/attempt.d.ts +36 -0
- package/build/src/protocol/attempt.js +119 -0
- package/build/src/protocol/bind.d.ts +25 -0
- package/build/src/protocol/bind.js +62 -0
- package/build/src/protocol/intent.d.ts +52 -0
- package/build/src/protocol/intent.js +129 -0
- package/build/src/protocol/operations.d.ts +140 -0
- package/build/src/protocol/operations.js +373 -0
- package/build/src/protocol/outcome.d.ts +18 -0
- package/build/src/protocol/outcome.js +15 -0
- package/build/src/protocol/read/audit.d.ts +25 -0
- package/build/src/protocol/read/audit.js +39 -0
- package/build/src/protocol/read/documents.d.ts +8 -0
- package/build/src/protocol/read/documents.js +16 -0
- package/build/src/protocol/read/status.d.ts +38 -0
- package/build/src/protocol/read/status.js +47 -0
- package/build/src/protocol/run.d.ts +39 -0
- package/build/src/protocol/run.js +36 -0
- package/build/src/runtime/proc/line-rpc.d.ts +37 -0
- package/build/src/runtime/proc/line-rpc.js +124 -0
- package/build/src/runtime/proc/run.d.ts +54 -0
- package/build/src/runtime/proc/run.js +200 -0
- package/build/src/settings.d.ts +45 -0
- package/build/src/settings.js +99 -0
- package/build/src/settlement/holder.d.ts +15 -0
- package/build/src/settlement/holder.js +113 -0
- package/build/src/settlement/settle.d.ts +36 -0
- package/build/src/settlement/settle.js +91 -0
- package/build/src/task/board.d.ts +65 -0
- package/build/src/task/board.js +155 -0
- package/build/src/task/compose.d.ts +25 -0
- package/build/src/task/compose.js +232 -0
- package/build/src/task/context.d.ts +4 -0
- package/build/src/task/context.js +56 -0
- package/build/src/task/document.d.ts +24 -0
- package/build/src/task/document.js +118 -0
- package/build/src/task/identity.d.ts +12 -0
- package/build/src/task/identity.js +47 -0
- package/build/src/task/index.d.ts +90 -0
- package/build/src/task/index.js +179 -0
- package/build/src/task/operations.d.ts +115 -0
- package/build/src/task/operations.js +194 -0
- package/build/src/task/store.d.ts +22 -0
- package/build/src/task/store.js +114 -0
- package/build/src/verification/declaration.d.ts +22 -0
- package/build/src/verification/declaration.js +14 -0
- package/build/src/verification/producer.d.ts +23 -0
- package/build/src/verification/producer.js +54 -0
- package/package.json +62 -44
- package/build/.tsbuildinfo +0 -1
- package/build/agents/call-terms.js +0 -32
- package/build/agents/harness/activity-values.js +0 -70
- package/build/agents/harness/control-types.js +0 -18
- package/build/agents/harness/event-channel.js +0 -213
- package/build/agents/harness/event-persistence.js +0 -220
- package/build/agents/harness/events.js +0 -48
- package/build/agents/harness/execution-handle.js +0 -172
- package/build/agents/harness/index.js +0 -11
- package/build/agents/harness/outcome-error.js +0 -81
- package/build/agents/harness/outcome.js +0 -220
- package/build/agents/harness/projection.js +0 -369
- package/build/agents/harness/provider-adapter.js +0 -58
- package/build/agents/harness/router.js +0 -30
- package/build/agents/harness/runtime.js +0 -85
- package/build/agents/harness/session.js +0 -15
- package/build/agents/launch-snapshot/model.js +0 -127
- package/build/agents/launch-snapshot/parse-helpers.js +0 -114
- package/build/agents/launch-snapshot/resolve.js +0 -46
- package/build/agents/opencode-sdk.js +0 -159
- package/build/agents/providers/claude-agent-sdk/adapter.js +0 -396
- package/build/agents/providers/claude-agent-sdk/events.js +0 -218
- package/build/agents/providers/claude-agent-sdk/registration.js +0 -225
- package/build/agents/providers/claude-agent-sdk/session-schema.js +0 -2
- package/build/agents/providers/claude-agent-sdk/session.js +0 -172
- package/build/agents/providers/codex-app-server/adapter.js +0 -387
- package/build/agents/providers/codex-app-server/events.js +0 -492
- package/build/agents/providers/codex-app-server/identity.js +0 -1
- package/build/agents/providers/codex-app-server/policy.js +0 -29
- package/build/agents/providers/codex-app-server/registration.js +0 -259
- package/build/agents/providers/codex-app-server/session-schema.js +0 -6
- package/build/agents/providers/codex-app-server/session.js +0 -273
- package/build/agents/providers/event-type-tail.js +0 -16
- package/build/agents/providers/opencode-sdk/adapter.js +0 -402
- package/build/agents/providers/opencode-sdk/events.js +0 -380
- package/build/agents/providers/opencode-sdk/registration.js +0 -146
- package/build/agents/providers/opencode-sdk/session-schema.js +0 -2
- package/build/agents/providers/opencode-sdk/session.js +0 -187
- package/build/agents/providers/pi/adapter.js +0 -285
- package/build/agents/providers/pi/checkpoint.js +0 -49
- package/build/agents/providers/pi/events.js +0 -285
- package/build/agents/providers/pi/registration.js +0 -160
- package/build/agents/providers/pi/session-schema.js +0 -6
- package/build/agents/providers/registration.js +0 -7
- package/build/agents/providers/registry.js +0 -76
- package/build/agents/selector.js +0 -120
- package/build/agents/session.js +0 -29
- package/build/agents/string-tail-buffer.js +0 -44
- package/build/agents/types.js +0 -30
- package/build/artifact-directories.js +0 -22
- package/build/cli/commands/akuma/akuma/handler.js +0 -5
- package/build/cli/commands/akuma/akuma/meta.js +0 -17
- package/build/cli/commands/akuma/catalog.js +0 -10
- package/build/cli/commands/akuma/list/handler.js +0 -15
- package/build/cli/commands/akuma/list/meta-list.js +0 -12
- package/build/cli/commands/akuma/list/meta-ls.js +0 -9
- package/build/cli/commands/akuma/show/handler.js +0 -27
- package/build/cli/commands/akuma/show/meta.js +0 -8
- package/build/cli/commands/akuma.js +0 -186
- package/build/cli/commands/contract/amend/handler.js +0 -17
- package/build/cli/commands/contract/amend/meta.js +0 -13
- package/build/cli/commands/contract/arc/handler.js +0 -16
- package/build/cli/commands/contract/arc/meta.js +0 -28
- package/build/cli/commands/contract/audit/handler.js +0 -42
- package/build/cli/commands/contract/audit/meta.js +0 -17
- package/build/cli/commands/contract/bind/handler.js +0 -39
- package/build/cli/commands/contract/bind/meta.js +0 -96
- package/build/cli/commands/contract/catalog.js +0 -18
- package/build/cli/commands/contract/forfeit/handler.js +0 -17
- package/build/cli/commands/contract/forfeit/meta.js +0 -12
- package/build/cli/commands/contract/log/handler.js +0 -12
- package/build/cli/commands/contract/log/meta.js +0 -12
- package/build/cli/commands/contract/petition/handler.js +0 -64
- package/build/cli/commands/contract/petition/meta.js +0 -23
- package/build/cli/commands/contract/renew/handler.js +0 -65
- package/build/cli/commands/contract/renew/meta.js +0 -19
- package/build/cli/commands/metadata.js +0 -68
- package/build/cli/commands/projection/call/handler.js +0 -43
- package/build/cli/commands/projection/call/meta.js +0 -12
- package/build/cli/commands/projection/catalog.js +0 -16
- package/build/cli/commands/projection/fork/handler.js +0 -61
- package/build/cli/commands/projection/fork/meta.js +0 -12
- package/build/cli/commands/projection/history/handler.js +0 -65
- package/build/cli/commands/projection/history/meta.js +0 -9
- package/build/cli/commands/projection/kill/handler.js +0 -20
- package/build/cli/commands/projection/kill/meta.js +0 -11
- package/build/cli/commands/projection/shared.js +0 -27
- package/build/cli/commands/projection/status/handler.js +0 -42
- package/build/cli/commands/projection/status/meta.js +0 -20
- package/build/cli/commands/projection/tell/handler.js +0 -32
- package/build/cli/commands/projection/tell/meta.js +0 -12
- package/build/cli/commands/projection/wait/handler.js +0 -80
- package/build/cli/commands/projection/wait/meta.js +0 -16
- package/build/cli/commands/registry.js +0 -48
- package/build/cli/commands/shared.js +0 -74
- package/build/cli/commands/skills/catalog.js +0 -6
- package/build/cli/commands/skills/install/handler.js +0 -7
- package/build/cli/commands/skills/install/meta.js +0 -9
- package/build/cli/commands/skills/skills/handler.js +0 -4
- package/build/cli/commands/skills/skills/meta.js +0 -10
- package/build/cli/commands/system/catalog.js +0 -10
- package/build/cli/commands/system/completion/handler.js +0 -10
- package/build/cli/commands/system/completion/meta.js +0 -9
- package/build/cli/commands/system/dump-env/handler.js +0 -3
- package/build/cli/commands/system/dump-env/meta.js +0 -10
- package/build/cli/commands/system/guide/handler.js +0 -4
- package/build/cli/commands/system/guide/meta.js +0 -9
- package/build/cli/commands/task/add/handler.js +0 -38
- package/build/cli/commands/task/add/meta.js +0 -31
- package/build/cli/commands/task/catalog.js +0 -32
- package/build/cli/commands/task/compose/handler.js +0 -18
- package/build/cli/commands/task/compose/meta.js +0 -10
- package/build/cli/commands/task/doctor/handler.js +0 -3
- package/build/cli/commands/task/doctor/meta.js +0 -8
- package/build/cli/commands/task/done/handler.js +0 -10
- package/build/cli/commands/task/done/meta.js +0 -8
- package/build/cli/commands/task/drop/handler.js +0 -8
- package/build/cli/commands/task/drop/meta.js +0 -11
- package/build/cli/commands/task/hold/handler.js +0 -3
- package/build/cli/commands/task/hold/meta.js +0 -8
- package/build/cli/commands/task/log/handler.js +0 -12
- package/build/cli/commands/task/log/meta.js +0 -8
- package/build/cli/commands/task/ls/handler.js +0 -17
- package/build/cli/commands/task/ls/meta.js +0 -8
- package/build/cli/commands/task/note/handler.js +0 -6
- package/build/cli/commands/task/note/meta.js +0 -11
- package/build/cli/commands/task/resume/handler.js +0 -3
- package/build/cli/commands/task/resume/meta.js +0 -8
- package/build/cli/commands/task/shared.js +0 -181
- package/build/cli/commands/task/show/handler.js +0 -13
- package/build/cli/commands/task/show/meta.js +0 -8
- package/build/cli/commands/task/start/handler.js +0 -3
- package/build/cli/commands/task/start/meta.js +0 -8
- package/build/cli/commands/task/stop/handler.js +0 -10
- package/build/cli/commands/task/stop/meta.js +0 -8
- package/build/cli/commands/task/task/handler.js +0 -5
- package/build/cli/commands/task/task/meta.js +0 -11
- package/build/cli/commands/task/update/handler.js +0 -21
- package/build/cli/commands/task/update/meta.js +0 -12
- package/build/cli/commands/verification/handler.js +0 -43
- package/build/cli/commands/verification/meta.js +0 -13
- package/build/cli/completion.js +0 -91
- package/build/cli/draft-artifact.js +0 -50
- package/build/cli/flags.js +0 -321
- package/build/cli/help.js +0 -99
- package/build/cli/index.js +0 -333
- package/build/cli/missing-subcommand.js +0 -7
- package/build/cli/output-stream-error-policy.js +0 -31
- package/build/cli/parse-flags.js +0 -301
- package/build/cli/parse-metadata.js +0 -132
- package/build/cli/parse-selectors.js +0 -83
- package/build/cli/parse.js +0 -250
- package/build/cli/projection-address.js +0 -105
- package/build/cli/render/address.js +0 -101
- package/build/cli/render/amendment-warning.js +0 -8
- package/build/cli/render/arc.js +0 -88
- package/build/cli/render/audit.js +0 -440
- package/build/cli/render/call.js +0 -70
- package/build/cli/render/compact-text.js +0 -3
- package/build/cli/render/errors.js +0 -101
- package/build/cli/render/format.js +0 -226
- package/build/cli/render/kanshi.js +0 -300
- package/build/cli/render/kill.js +0 -9
- package/build/cli/render/lifecycle.js +0 -56
- package/build/cli/render/line-width.js +0 -103
- package/build/cli/render/misc.js +0 -84
- package/build/cli/render/path-prefix-compaction.js +0 -131
- package/build/cli/render/petition.js +0 -85
- package/build/cli/render/projection-activity.js +0 -332
- package/build/cli/render/projection-history.js +0 -77
- package/build/cli/render/response-style.js +0 -27
- package/build/cli/render/shared.js +0 -232
- package/build/cli/render/skills.js +0 -10
- package/build/cli/render/status-indicator.js +0 -47
- package/build/cli/render/status.js +0 -243
- package/build/cli/render/success-response.js +0 -95
- package/build/cli/render/task.js +0 -175
- package/build/cli/render/tell.js +0 -11
- package/build/cli/render/terminal-failure.js +0 -65
- package/build/cli/render/tool-command-normalization.js +0 -137
- package/build/cli/render/tool-ledger-rollup.js +0 -74
- package/build/cli/render/tool-presentation.js +0 -98
- package/build/cli/render/types.js +0 -2
- package/build/cli/render/verification.js +0 -23
- package/build/cli/render/wait.js +0 -343
- package/build/cli/skills-install.js +0 -348
- package/build/cli/subagent-guard.js +0 -25
- package/build/cli/types.js +0 -2
- package/build/config/akuma-loader.js +0 -240
- package/build/config/env-keys.js +0 -57
- package/build/config/env.js +0 -304
- package/build/config/provider-policy-ownership.js +0 -10
- package/build/config/settings/disease.js +0 -33
- package/build/config/settings/knobs.js +0 -14
- package/build/config/settings/loader.js +0 -275
- package/build/config/settings/provider-instance-fields.js +0 -51
- package/build/config/settings/schema.js +0 -113
- package/build/core/address-carrier.js +0 -89
- package/build/core/addressing.js +0 -407
- package/build/core/amend.js +0 -321
- package/build/core/amendment-criteria.js +0 -17
- package/build/core/amendment-warning.js +0 -10
- package/build/core/arc.js +0 -293
- package/build/core/atomic-publish.js +0 -64
- package/build/core/audit/candidate.js +0 -141
- package/build/core/audit/coordinates.js +0 -230
- package/build/core/audit/evidence.js +0 -156
- package/build/core/audit/facade.js +0 -65
- package/build/core/audit/readiness.js +0 -4
- package/build/core/audit/report.js +0 -38
- package/build/core/audit.js +0 -1
- package/build/core/bind-reconciliation.js +0 -409
- package/build/core/bind-workspace.js +0 -115
- package/build/core/bind.js +0 -503
- package/build/core/call/call.js +0 -235
- package/build/core/call/context.js +0 -210
- package/build/core/call/execution.js +0 -255
- package/build/core/call/prompt.js +0 -27
- package/build/core/call/reference.js +0 -24
- package/build/core/call-persist.js +0 -76
- package/build/core/command-markdown.js +0 -45
- package/build/core/context.js +0 -104
- package/build/core/contract-carrier-runtime.js +0 -512
- package/build/core/contract-carrier.js +0 -353
- package/build/core/contract-view.js +0 -319
- package/build/core/contract.js +0 -19
- package/build/core/derived-replay.js +0 -340
- package/build/core/draft.js +0 -400
- package/build/core/execution-coordinate.js +0 -46
- package/build/core/execution-pact.js +0 -126
- package/build/core/forfeit.js +0 -132
- package/build/core/hints.js +0 -34
- package/build/core/identifier-slug.js +0 -116
- package/build/core/ids.js +0 -90
- package/build/core/lifecycle-history.js +0 -48
- package/build/core/lifecycle-recovery.js +0 -122
- package/build/core/lifecycle-runner.js +0 -377
- package/build/core/log.js +0 -50
- package/build/core/markdown/lex.js +0 -274
- package/build/core/markdown/parser.js +0 -260
- package/build/core/markdown/render.js +0 -68
- package/build/core/markdown/sections.js +0 -80
- package/build/core/markdown/titles.js +0 -9
- package/build/core/markdown/types.js +0 -6
- package/build/core/outcome-base.js +0 -185
- package/build/core/places.js +0 -175
- package/build/core/projection/akuma-name.js +0 -43
- package/build/core/projection/generation/database.js +0 -473
- package/build/core/projection/generation/identity.js +0 -84
- package/build/core/projection/generation/ledger.js +0 -91
- package/build/core/projection/generation/model.js +0 -261
- package/build/core/projection/generation/projection-generation-continuation.js +0 -84
- package/build/core/projection/generation/projection-generation-doorbell.js +0 -88
- package/build/core/projection/generation/projection-generation-execution.js +0 -241
- package/build/core/projection/generation/projection-generation-identity.js +0 -21
- package/build/core/projection/generation/projection-generation-launcher.js +0 -154
- package/build/core/projection/generation/projection-generation-process.js +0 -47
- package/build/core/projection/generation/projection-generation-runner.js +0 -489
- package/build/core/projection/generation/projection-generation-runtime.js +0 -46
- package/build/core/projection/generation/protocol.js +0 -68
- package/build/core/projection/generation/store.js +0 -108
- package/build/core/projection/generation/transitions.js +0 -463
- package/build/core/projection/heart.js +0 -9
- package/build/core/projection/index.js +0 -28
- package/build/core/projection/projection-activity.js +0 -273
- package/build/core/projection/projection-alias.js +0 -131
- package/build/core/projection/projection-coordinate.js +0 -61
- package/build/core/projection/projection-core.js +0 -127
- package/build/core/projection/projection-execution-observer.js +0 -270
- package/build/core/projection/projection-history.js +0 -474
- package/build/core/projection/projection-identity.js +0 -11
- package/build/core/projection/projection-kill.js +0 -112
- package/build/core/projection/projection-life-observer.js +0 -101
- package/build/core/projection/projection-mint.js +0 -170
- package/build/core/projection/projection-status-observation.js +0 -434
- package/build/core/projection/projection-status.js +0 -442
- package/build/core/projection/projection-terminal-failure.js +0 -111
- package/build/core/projection/projection-wait.js +0 -337
- package/build/core/projection/projection-wake.js +0 -298
- package/build/core/projection/tell/launch-store.js +0 -244
- package/build/core/projection/tell/model.js +0 -98
- package/build/core/projection/tell/store.js +0 -245
- package/build/core/provider-loader-ports.js +0 -4
- package/build/core/registry.js +0 -100
- package/build/core/renew-build.js +0 -554
- package/build/core/renew-plan.js +0 -264
- package/build/core/renew-rewrite.js +0 -118
- package/build/core/renew.js +0 -345
- package/build/core/repository-ledger/accepted-fold-read.js +0 -22
- package/build/core/repository-ledger/accepted-tail.js +0 -116
- package/build/core/repository-ledger/admission.js +0 -38
- package/build/core/repository-ledger/authoritative-transaction.js +0 -1
- package/build/core/repository-ledger/claim-evidence.js +0 -147
- package/build/core/repository-ledger/codec.js +0 -303
- package/build/core/repository-ledger/current-state-store.js +0 -968
- package/build/core/repository-ledger/fold-repository.js +0 -374
- package/build/core/repository-ledger/fold.js +0 -248
- package/build/core/repository-ledger/git-object-store.js +0 -243
- package/build/core/repository-ledger/history-read.js +0 -15
- package/build/core/repository-ledger/identity.js +0 -60
- package/build/core/repository-ledger/incremental-read.js +0 -153
- package/build/core/repository-ledger/index.js +0 -15
- package/build/core/repository-ledger/inventory-plan.js +0 -75
- package/build/core/repository-ledger/inventory.js +0 -310
- package/build/core/repository-ledger/publication-admission.js +0 -125
- package/build/core/repository-ledger/publication.js +0 -353
- package/build/core/repository-ledger/read-model.js +0 -517
- package/build/core/repository-ledger/transaction-membership.js +0 -78
- package/build/core/repository-ledger/traversal.js +0 -404
- package/build/core/repository-ledger/write-transaction.js +0 -346
- package/build/core/response-artifact-catalog-sqlite.js +0 -112
- package/build/core/response-artifact-catalog.js +0 -7
- package/build/core/response-artifact-id.js +0 -5
- package/build/core/run-control/connection-bound-close.js +0 -41
- package/build/core/run-control/detached-lease-bootstrap.js +0 -208
- package/build/core/run-control/detached-process.js +0 -14
- package/build/core/run-control/index.js +0 -6
- package/build/core/run-control/process-tree.js +0 -139
- package/build/core/run-control/runner-lease.js +0 -172
- package/build/core/run-control/sqlite-process-lifetime-lock.js +0 -174
- package/build/core/scope.js +0 -416
- package/build/core/seal.js +0 -364
- package/build/core/settlement/claim-delivery.js +0 -82
- package/build/core/settlement/claim.js +0 -258
- package/build/core/settlement/index.js +0 -19
- package/build/core/settlement/petition-claim-gates.js +0 -247
- package/build/core/settlement/petition-forfeit.js +0 -46
- package/build/core/settlement/petition-head-guard.js +0 -12
- package/build/core/settlement/petition-io.js +0 -1
- package/build/core/settlement/petition-preview.js +0 -125
- package/build/core/settlement/petition-window.js +0 -50
- package/build/core/settlement/petition.js +0 -315
- package/build/core/settlement/queue-read-model.js +0 -120
- package/build/core/settlement/queue-seat-allocation.js +0 -65
- package/build/core/settlement/queue.js +0 -6
- package/build/core/settlement/settlement.js +0 -385
- package/build/core/settlement/verdict.js +0 -126
- package/build/core/settlement/verification.js +0 -554
- package/build/core/status/board.js +0 -455
- package/build/core/status/drift.js +0 -113
- package/build/core/status/lifecycle.js +0 -11
- package/build/core/stored-agent-event.js +0 -129
- package/build/core/structured-query.js +0 -23
- package/build/core/target-ref.js +0 -10
- package/build/core/task/board.js +0 -248
- package/build/core/task/commands.js +0 -401
- package/build/core/task/compose.js +0 -328
- package/build/core/task/coordinate.js +0 -56
- package/build/core/task/document.js +0 -273
- package/build/core/task/index.js +0 -16
- package/build/core/task/model.js +0 -8
- package/build/core/task/query.js +0 -204
- package/build/core/task/settlement-git.js +0 -423
- package/build/core/task/settlement-policy.js +0 -137
- package/build/core/task/source-board.js +0 -104
- package/build/core/task/source-model.js +0 -1
- package/build/core/task/task-bind-preparation.js +0 -243
- package/build/core/task/task-contract.js +0 -371
- package/build/core/task/task-doctor.js +0 -14
- package/build/core/task/task-file-transaction.js +0 -171
- package/build/core/task/task-git-actor.js +0 -33
- package/build/core/task/task-git-runtime.js +0 -97
- package/build/core/task/task-git-store.js +0 -400
- package/build/core/task/task-repository.js +0 -1
- package/build/core/task/task-store-repository.js +0 -97
- package/build/core/task/task-store.js +0 -1
- package/build/core/task/task-worktree.js +0 -25
- package/build/core/task/task.js +0 -7
- package/build/core/task/tree.js +0 -37
- package/build/core/task/validation.js +0 -48
- package/build/core/transcripts.js +0 -485
- package/build/core/validation.js +0 -17
- package/build/core/verification-declaration.js +0 -95
- package/build/core/worktree-bootstrap.js +0 -195
- package/build/core/worktree-path.js +0 -371
- package/build/errno.js +0 -3
- package/build/flow-error.js +0 -191
- package/build/fs/durability.js +0 -27
- package/build/fs/path-coordinate.js +0 -16
- package/build/generated/version.js +0 -3
- package/build/git/branches.js +0 -84
- package/build/git/commits.js +0 -151
- package/build/git/core.js +0 -86
- package/build/git/diff/parsers.js +0 -181
- package/build/git/diff/pathspec.js +0 -3
- package/build/git/diff/preview.js +0 -38
- package/build/git/diff/read.js +0 -105
- package/build/git/diff/structured.js +0 -127
- package/build/git/diff/types.js +0 -1
- package/build/git/path-coordinate.js +0 -17
- package/build/git/process.js +0 -229
- package/build/git/refs.js +0 -250
- package/build/git/staging.js +0 -79
- package/build/git/streaming-batch.js +0 -354
- package/build/git/worktree.js +0 -175
- package/build/index.js +0 -67
- package/build/keiyaku-constants.js +0 -2
- package/build/keiyaku.js +0 -30
- package/build/telemetry/debug-log.js +0 -40
- package/build/telemetry/logger.js +0 -48
- package/skills/keiyaku/SKILL.md +0 -46
- package/skills/keiyaku-akuma/SKILL.md +0 -97
- package/skills/keiyaku-task/SKILL.md +0 -118
- package/skills/keiyaku-workflow/SKILL.md +0 -191
- /package/build/{agents/launch-snapshot → src/body}/types.js +0 -0
- /package/build/{agents/providers/claude-agent-sdk/terms.js → src/cli/result.js} +0 -0
- /package/build/{agents/providers/codex-app-server/terms.js → src/core/decide.js} +0 -0
- /package/build/{agents/providers/opencode-sdk/terms.js → src/core/facts/offer.js} +0 -0
- /package/build/{agents/providers/pi/terms.js → src/kanshi/report.js} +0 -0
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
import { buildCallTerms } from "../../agents/call-terms.js";
|
|
2
|
-
import { createAbortError, restoreOutcome, SubagentFailure, } from "../../agents/harness/index.js";
|
|
3
|
-
import { resolveAkumaLaunchSnapshot } from "../../agents/launch-snapshot/resolve.js";
|
|
4
|
-
import { selectSubagent } from "../../agents/selector.js";
|
|
5
|
-
import { assertSettingsKnobUsable } from "../../config/settings/disease.js";
|
|
6
|
-
import { loadKeiyakuSettings } from "../../config/settings/loader.js";
|
|
7
|
-
import { resolveProjectionAdoptionTimeoutMs } from "../../config/settings/knobs.js";
|
|
8
|
-
import { FlowError } from "../../flow-error.js";
|
|
9
|
-
import { assertProjectionAlias, moveProjectionAlias } from "../projection/index.js";
|
|
10
|
-
import { projectionDir } from "../projection/index.js";
|
|
11
|
-
import { createProjectionExecutionId, projectionRunnerLeasePath } from "../projection/index.js";
|
|
12
|
-
import { startProjectionGeneration } from "../projection/index.js";
|
|
13
|
-
import { openProjectionGenerationStore, openProjectionGenerationStoreReadOnly, } from "../projection/index.js";
|
|
14
|
-
import { acquireRunnerLease } from "../run-control/runner-lease.js";
|
|
15
|
-
import { observeProjectionLife } from "../projection/index.js";
|
|
16
|
-
import { mintProjection, mintRepositoryProjection } from "../projection/index.js";
|
|
17
|
-
import { waitForProjection } from "../projection/index.js";
|
|
18
|
-
async function readProjectionAdoptionTimeoutMs(cwd) {
|
|
19
|
-
const settings = await loadKeiyakuSettings(cwd);
|
|
20
|
-
assertSettingsKnobUsable(settings, "projectionAdoptionTimeoutMs");
|
|
21
|
-
return resolveProjectionAdoptionTimeoutMs(settings.knobs);
|
|
22
|
-
}
|
|
23
|
-
export function readCurrentGenerationOrThrow(projectionDirectory) {
|
|
24
|
-
const store = openProjectionGenerationStoreReadOnly(projectionDirectory);
|
|
25
|
-
try {
|
|
26
|
-
const current = store.readCurrentGeneration();
|
|
27
|
-
if (!current)
|
|
28
|
-
throw new FlowError("INTERNAL_STATE", "projection has no current generation");
|
|
29
|
-
return current;
|
|
30
|
-
}
|
|
31
|
-
finally {
|
|
32
|
-
store.close();
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
export function outcomeFromGeneration(current) {
|
|
36
|
-
const verdict = current.verdict;
|
|
37
|
-
if (!verdict)
|
|
38
|
-
throw new FlowError("INTERNAL_STATE", "projection generation has no terminal verdict");
|
|
39
|
-
const facts = verdict.facts;
|
|
40
|
-
const finalMessage = typeof facts.finalMessage === "string"
|
|
41
|
-
? facts.finalMessage
|
|
42
|
-
: typeof facts.detail === "string"
|
|
43
|
-
? facts.detail
|
|
44
|
-
: "";
|
|
45
|
-
if (facts.state === "failed" && typeof facts.detail === "string") {
|
|
46
|
-
throw new FlowError("SUBAGENT_EXEC_ERROR", facts.detail);
|
|
47
|
-
}
|
|
48
|
-
const session = facts.session;
|
|
49
|
-
if (session === null || typeof session !== "object" || Array.isArray(session)) {
|
|
50
|
-
throw new FlowError("INTERNAL_STATE", "projection verdict is missing its session envelope");
|
|
51
|
-
}
|
|
52
|
-
const record = {
|
|
53
|
-
status: facts.state === "completed"
|
|
54
|
-
? "completed"
|
|
55
|
-
: facts.state === "dismissed"
|
|
56
|
-
? "dismissed"
|
|
57
|
-
: "failed",
|
|
58
|
-
finalMessage,
|
|
59
|
-
output: typeof facts.output === "string" ? facts.output : "",
|
|
60
|
-
diagnostics: typeof facts.diagnostics === "string" ? facts.diagnostics : "",
|
|
61
|
-
session: session,
|
|
62
|
-
warnings: Array.isArray(facts.warnings)
|
|
63
|
-
? facts.warnings
|
|
64
|
-
: [],
|
|
65
|
-
...(facts.error && typeof facts.error === "object" && !Array.isArray(facts.error)
|
|
66
|
-
? { error: facts.error }
|
|
67
|
-
: {}),
|
|
68
|
-
};
|
|
69
|
-
return restoreOutcome(record);
|
|
70
|
-
}
|
|
71
|
-
export async function executeSubagent(agentName, prompt, cwd, options) {
|
|
72
|
-
const adoptionTimeoutMs = await readProjectionAdoptionTimeoutMs(cwd);
|
|
73
|
-
const { projection: projectionCoordinate, launchSnapshot, launchFacts } = await buildCallConfig(agentName, prompt, cwd, options);
|
|
74
|
-
if (!projectionCoordinate) {
|
|
75
|
-
throw new FlowError("INTERNAL_STATE", "durable execution requires a projection coordinate");
|
|
76
|
-
}
|
|
77
|
-
const launchOwnership = acquireRunnerLease(projectionRunnerLeasePath(projectionCoordinate.dir));
|
|
78
|
-
const launched = await startProjectionGeneration(projectionCoordinate.dir, projectionCoordinate.executionId, {
|
|
79
|
-
commitLaunch: () => {
|
|
80
|
-
const store = openProjectionGenerationStore(projectionCoordinate.dir);
|
|
81
|
-
try {
|
|
82
|
-
return store.launchIfSettled({ executionId: projectionCoordinate.executionId, facts: launchFacts }).status === "committed";
|
|
83
|
-
}
|
|
84
|
-
finally {
|
|
85
|
-
store.close();
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
launchOwnership,
|
|
89
|
-
adoptionTimeoutMs,
|
|
90
|
-
});
|
|
91
|
-
launchOwnership.close();
|
|
92
|
-
if (launched.status !== "adopted") {
|
|
93
|
-
const detail = launched.status === "pending"
|
|
94
|
-
? "runner retained startup ownership without adopting before the bounded launch wait"
|
|
95
|
-
: launched.detail;
|
|
96
|
-
throw new FlowError("SUBAGENT_EXEC_ERROR", detail);
|
|
97
|
-
}
|
|
98
|
-
const joined = await waitForProjection({
|
|
99
|
-
projectionDirectory: projectionCoordinate.dir,
|
|
100
|
-
signal: options.signal,
|
|
101
|
-
});
|
|
102
|
-
if (joined.state !== "terminal") {
|
|
103
|
-
throw new FlowError("INTERNAL_STATE", "durable execution ended without a terminal generation");
|
|
104
|
-
}
|
|
105
|
-
const current = readCurrentGenerationOrThrow(projectionCoordinate.dir);
|
|
106
|
-
const providerOutcome = outcomeFromGeneration(current);
|
|
107
|
-
const outcome = {
|
|
108
|
-
status: providerOutcome.status,
|
|
109
|
-
finalMessage: providerOutcome.finalMessage,
|
|
110
|
-
output: providerOutcome.output,
|
|
111
|
-
diagnostics: providerOutcome.diagnostics,
|
|
112
|
-
session: providerOutcome.session,
|
|
113
|
-
warnings: providerOutcome.warnings,
|
|
114
|
-
...(providerOutcome.error ? { error: providerOutcome.error } : {}),
|
|
115
|
-
launchSnapshot,
|
|
116
|
-
};
|
|
117
|
-
const completionFacts = current.verdict?.facts;
|
|
118
|
-
switch (outcome.status) {
|
|
119
|
-
case "completed":
|
|
120
|
-
return { outcome, projection: projectionCoordinate, ...(completionFacts ? { completionFacts } : {}) };
|
|
121
|
-
case "dismissed":
|
|
122
|
-
throw createAbortError("subagent exec cancelled by client");
|
|
123
|
-
case "failed": {
|
|
124
|
-
const error = outcome.error;
|
|
125
|
-
if (!error) {
|
|
126
|
-
throw new FlowError("SUBAGENT_EXEC_ERROR", "Subagent exec failed without an error payload.");
|
|
127
|
-
}
|
|
128
|
-
throw new FlowError(error.code, error.message, {
|
|
129
|
-
cause: new SubagentFailure(error.code, error.message, {
|
|
130
|
-
timeoutMs: error.timeoutMs,
|
|
131
|
-
exitCode: error.exitCode,
|
|
132
|
-
output: outcome.output,
|
|
133
|
-
diagnostics: outcome.diagnostics,
|
|
134
|
-
}),
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
throw new FlowError("INTERNAL_STATE", "Unhandled subagent outcome state.");
|
|
139
|
-
}
|
|
140
|
-
export async function launchSubagentGeneration(agentName, prompt, cwd, options) {
|
|
141
|
-
const adoptionTimeoutMs = await readProjectionAdoptionTimeoutMs(cwd);
|
|
142
|
-
const { projection, launchSnapshot, launchFacts } = await buildCallConfig(agentName, prompt, cwd, options);
|
|
143
|
-
if (!projection) {
|
|
144
|
-
throw new FlowError("INTERNAL_STATE", "durable launch requires a projection coordinate");
|
|
145
|
-
}
|
|
146
|
-
const launchOwnership = acquireRunnerLease(projectionRunnerLeasePath(projection.dir));
|
|
147
|
-
const launched = await startProjectionGeneration(projection.dir, projection.executionId, {
|
|
148
|
-
commitLaunch: () => {
|
|
149
|
-
const store = openProjectionGenerationStore(projection.dir);
|
|
150
|
-
try {
|
|
151
|
-
return store.launchIfSettled({ executionId: projection.executionId, facts: launchFacts }).status === "committed";
|
|
152
|
-
}
|
|
153
|
-
finally {
|
|
154
|
-
store.close();
|
|
155
|
-
}
|
|
156
|
-
},
|
|
157
|
-
launchOwnership,
|
|
158
|
-
adoptionTimeoutMs,
|
|
159
|
-
});
|
|
160
|
-
launchOwnership.close();
|
|
161
|
-
if (launched.status !== "adopted") {
|
|
162
|
-
throw new FlowError("SUBAGENT_EXEC_ERROR", launched.status === "pending"
|
|
163
|
-
? "runner retained startup ownership without adopting before the bounded launch wait"
|
|
164
|
-
: launched.detail);
|
|
165
|
-
}
|
|
166
|
-
return { projection, launchSnapshot };
|
|
167
|
-
}
|
|
168
|
-
export async function buildCallConfig(agentName, prompt, cwd, options) {
|
|
169
|
-
const launchSnapshot = options.launchSnapshot ?? resolveAkumaLaunchSnapshot(await selectSubagent(agentName, cwd), {
|
|
170
|
-
executionCwd: cwd,
|
|
171
|
-
projectRoot: cwd,
|
|
172
|
-
...(options.model !== undefined ? { model: options.model } : {}),
|
|
173
|
-
...(options.effort !== undefined ? { effort: options.effort } : {}),
|
|
174
|
-
});
|
|
175
|
-
const resolvedTerms = buildCallTerms(launchSnapshot, prompt, cwd, {
|
|
176
|
-
signal: options.signal,
|
|
177
|
-
idleTimeoutMs: options.idleTimeoutMs,
|
|
178
|
-
carrier: options.carrier,
|
|
179
|
-
});
|
|
180
|
-
// Mint projection directory for supervisor pump.
|
|
181
|
-
const slug = launchSnapshot.akuma.name;
|
|
182
|
-
const publishProjection = async () => {
|
|
183
|
-
const mintInput = {
|
|
184
|
-
cwd: options.projectionCwd ?? cwd,
|
|
185
|
-
workspaceRoot: cwd,
|
|
186
|
-
slug,
|
|
187
|
-
pid: process.pid,
|
|
188
|
-
akuma: launchSnapshot.akuma.name,
|
|
189
|
-
provider: launchSnapshot.provider.kind,
|
|
190
|
-
binding: options.binding,
|
|
191
|
-
effectivePolicy: launchSnapshot.akuma.policy,
|
|
192
|
-
nowMs: Date.now(),
|
|
193
|
-
};
|
|
194
|
-
const minted = options.authority.kind === "repository"
|
|
195
|
-
? await mintRepositoryProjection({ ...mintInput, authority: { kind: "repository" } })
|
|
196
|
-
: await mintProjection({ ...mintInput, authority: { kind: "user" } });
|
|
197
|
-
const executionId = createProjectionExecutionId();
|
|
198
|
-
const launchFacts = JSON.parse(JSON.stringify({
|
|
199
|
-
executionId,
|
|
200
|
-
createdAt: new Date().toISOString(),
|
|
201
|
-
launchedBy: "call",
|
|
202
|
-
inputs: {
|
|
203
|
-
prompt,
|
|
204
|
-
task: options.task ?? prompt,
|
|
205
|
-
launchSnapshot,
|
|
206
|
-
idleTimeoutMs: resolvedTerms.idleTimeoutMs,
|
|
207
|
-
executionTimeoutMs: resolvedTerms.executionTimeoutMs,
|
|
208
|
-
cwd,
|
|
209
|
-
historyCwd: options.historyStorageCwd ?? cwd,
|
|
210
|
-
...(options.evidenceCwd !== undefined ? { evidenceCwd: options.evidenceCwd } : {}),
|
|
211
|
-
...(options.title !== undefined ? { title: options.title } : {}),
|
|
212
|
-
...(options.context !== undefined ? { context: options.context } : {}),
|
|
213
|
-
...(options.carrier !== undefined ? { carrier: options.carrier } : {}),
|
|
214
|
-
persistProjectionResponse: options.persistProjectionResponse ?? false,
|
|
215
|
-
...(options.continuation ? {
|
|
216
|
-
session: options.continuation.session,
|
|
217
|
-
resumePath: options.continuation.resumePath,
|
|
218
|
-
sourceArtifactId: options.continuation.sourceArtifactId,
|
|
219
|
-
} : {}),
|
|
220
|
-
},
|
|
221
|
-
}));
|
|
222
|
-
const previousAliasTarget = options.alias === undefined
|
|
223
|
-
? undefined
|
|
224
|
-
: await moveProjectionAlias(options.projectionCwd ?? cwd, assertProjectionAlias(options.alias), minted.id);
|
|
225
|
-
let previousAliasTargetStillRunning;
|
|
226
|
-
if (previousAliasTarget !== undefined) {
|
|
227
|
-
try {
|
|
228
|
-
const phase = observeProjectionLife(await projectionDir(options.projectionCwd ?? cwd, previousAliasTarget), { nowMs: Date.now() }).phase;
|
|
229
|
-
if (phase === "minting" || phase === "active" || phase === "quiescent") {
|
|
230
|
-
previousAliasTargetStillRunning = previousAliasTarget;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
catch {
|
|
234
|
-
previousAliasTargetStillRunning = undefined;
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
return {
|
|
238
|
-
id: minted.id,
|
|
239
|
-
dir: minted.dir,
|
|
240
|
-
executionId,
|
|
241
|
-
launchFacts,
|
|
242
|
-
...(options.alias ? { alias: options.alias } : {}),
|
|
243
|
-
...(previousAliasTargetStillRunning ? { previousAliasTarget: previousAliasTargetStillRunning } : {}),
|
|
244
|
-
};
|
|
245
|
-
};
|
|
246
|
-
// Every public launch has one durable projection object. Repository-free
|
|
247
|
-
// authority changes the storage owner, not whether the object exists; mint
|
|
248
|
-
// failure is therefore a launch failure rather than an in-process fallback.
|
|
249
|
-
const { launchFacts, ...projectionCoordinate } = await publishProjection();
|
|
250
|
-
return {
|
|
251
|
-
projection: projectionCoordinate,
|
|
252
|
-
launchSnapshot,
|
|
253
|
-
launchFacts,
|
|
254
|
-
};
|
|
255
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { ACTOR_IDENTITY } from "../../keiyaku.js";
|
|
2
|
-
const COMMISSIONED_DELIVERY_BOUNDARY = [
|
|
3
|
-
"Delivery boundary: edit and test only inside this linked contract worktree.",
|
|
4
|
-
"Leave source changes uncommitted as a dirty working tree, then report changed files and verification run results.",
|
|
5
|
-
"Do not run git add, git commit, or any command that writes Git metadata. A refused Git metadata write is not a failed delivery.",
|
|
6
|
-
"The host coordinator reviews and commits accepted bytes, then continues arc, renew, or petition settlement.",
|
|
7
|
-
].join(" ");
|
|
8
|
-
export function buildCallPrompt(input) {
|
|
9
|
-
const references = [...new Set((input.referenceFiles ?? []).map((file) => file.trim()).filter(Boolean))];
|
|
10
|
-
if (!input.commissioned) {
|
|
11
|
-
return [
|
|
12
|
-
input.task,
|
|
13
|
-
input.context?.trim() ?? "",
|
|
14
|
-
references.length > 0 ? `Reference files:\n${references.map((file) => `- ${file}`).join("\n")}` : "",
|
|
15
|
-
].filter(Boolean).join("\n\n");
|
|
16
|
-
}
|
|
17
|
-
return [
|
|
18
|
-
`You are a called ${ACTOR_IDENTITY} working in the commissioned contract worktree.`,
|
|
19
|
-
input.worktree ? `Worktree: ${input.worktree}` : "",
|
|
20
|
-
"Before work, read .keiyaku/KEIYAKU.md. It is the sole contract body for this dispatch.",
|
|
21
|
-
COMMISSIONED_DELIVERY_BOUNDARY,
|
|
22
|
-
`Task:\n${input.task}`,
|
|
23
|
-
input.context?.trim() ? `Context:\n${input.context.trim()}` : "",
|
|
24
|
-
references.length > 0 ? `Reference files:\n${references.map((file) => `- ${file}`).join("\n")}` : "",
|
|
25
|
-
"Provide the final result for the caller/main agent.",
|
|
26
|
-
].filter(Boolean).join("\n\n");
|
|
27
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import * as fs from "fs/promises";
|
|
2
|
-
import * as path from "path";
|
|
3
|
-
import { isErrnoException } from "../../errno.js";
|
|
4
|
-
import { BASE_RULES_FILE, KEIYAKU_FILE } from "../../keiyaku.js";
|
|
5
|
-
async function fileExists(cwd, relativePath) {
|
|
6
|
-
try {
|
|
7
|
-
await fs.access(path.join(cwd, relativePath));
|
|
8
|
-
return true;
|
|
9
|
-
}
|
|
10
|
-
catch (error) {
|
|
11
|
-
if (isErrnoException(error) && error.code === "ENOENT") {
|
|
12
|
-
return false;
|
|
13
|
-
}
|
|
14
|
-
throw error;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
export async function collectCallReferenceFiles(cwd, input) {
|
|
18
|
-
const candidates = [
|
|
19
|
-
...(input.activeKeiyaku ? [KEIYAKU_FILE] : []),
|
|
20
|
-
BASE_RULES_FILE,
|
|
21
|
-
];
|
|
22
|
-
const existing = await Promise.all(candidates.map(async (file) => ({ file, exists: await fileExists(cwd, file) })));
|
|
23
|
-
return existing.filter((entry) => entry.exists).map((entry) => entry.file);
|
|
24
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { appendDebugLog } from "../telemetry/debug-log.js";
|
|
2
|
-
import { logWarn } from "../telemetry/logger.js";
|
|
3
|
-
import { runCall } from "./call/call.js";
|
|
4
|
-
import { persistResponseHistory } from "./transcripts.js";
|
|
5
|
-
import { assertGitObservation, observeGitRepository } from "../git/branches.js";
|
|
6
|
-
import { FlowError } from "../flow-error.js";
|
|
7
|
-
import * as path from "node:path";
|
|
8
|
-
import * as fs from "node:fs/promises";
|
|
9
|
-
import { stableRepoRoot } from "./worktree-path.js";
|
|
10
|
-
function responsePathFromPrintingCwd(historyStorageCwd, responsePath) {
|
|
11
|
-
const printingCwd = process.cwd();
|
|
12
|
-
const absoluteHistoryCwd = path.resolve(printingCwd, historyStorageCwd);
|
|
13
|
-
return path.relative(printingCwd, path.resolve(absoluteHistoryCwd, responsePath));
|
|
14
|
-
}
|
|
15
|
-
export async function runCallAndPersist(input) {
|
|
16
|
-
const historyCandidate = input.repo ?? input.cwd;
|
|
17
|
-
const canonicalHistoryCandidate = await fs.realpath(historyCandidate);
|
|
18
|
-
const historyObservation = await observeGitRepository(historyCandidate);
|
|
19
|
-
if (input.repo && assertGitObservation(historyObservation, `${input.mode ?? "call"} --repo`) === "non-repository") {
|
|
20
|
-
throw new FlowError("NOT_GIT_REPO", `${historyCandidate} is not a git repository`);
|
|
21
|
-
}
|
|
22
|
-
if (historyObservation.capability === "unknown")
|
|
23
|
-
throw historyObservation.error;
|
|
24
|
-
const historyStorageCwd = (historyObservation.capability === "available" && historyObservation.coordinate === "repository")
|
|
25
|
-
? await stableRepoRoot(historyCandidate)
|
|
26
|
-
: canonicalHistoryCandidate;
|
|
27
|
-
const historyDisplayCwd = path.resolve(historyCandidate, path.relative(canonicalHistoryCandidate, historyStorageCwd));
|
|
28
|
-
const result = await runCall(input);
|
|
29
|
-
if (input.incognito) {
|
|
30
|
-
return { result };
|
|
31
|
-
}
|
|
32
|
-
if (result.projectionOwnsResponsePersistence === true) {
|
|
33
|
-
return {
|
|
34
|
-
result,
|
|
35
|
-
...(result.responsePath ? { responsePath: responsePathFromPrintingCwd(historyDisplayCwd, result.responsePath) } : {}),
|
|
36
|
-
...(result.artifactId ? { artifactId: result.artifactId } : {}),
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
let responsePath;
|
|
40
|
-
let artifactId;
|
|
41
|
-
try {
|
|
42
|
-
if (!result.evidenceCwd)
|
|
43
|
-
throw new Error("call response persistence is missing evidenceCwd");
|
|
44
|
-
const authority = result.address.repo.kind === "repository"
|
|
45
|
-
? { kind: "repository" }
|
|
46
|
-
: { kind: "user" };
|
|
47
|
-
const persisted = await persistResponseHistory({
|
|
48
|
-
cwd: historyStorageCwd,
|
|
49
|
-
tool: "call",
|
|
50
|
-
provenance: { authority, binding: result.address.binding, evidenceCwd: result.evidenceCwd },
|
|
51
|
-
title: input.title,
|
|
52
|
-
task: input.task,
|
|
53
|
-
context: input.context,
|
|
54
|
-
response: result.summary,
|
|
55
|
-
session: result.session,
|
|
56
|
-
subagentName: result.agent,
|
|
57
|
-
launchSnapshot: result.launchSnapshot,
|
|
58
|
-
effectivePolicy: result.meta?.effectivePolicy,
|
|
59
|
-
});
|
|
60
|
-
responsePath = persisted.responsePath;
|
|
61
|
-
artifactId = persisted.artifactId;
|
|
62
|
-
}
|
|
63
|
-
catch (historyError) {
|
|
64
|
-
const historyErrorMessage = historyError instanceof Error ? historyError.message : String(historyError);
|
|
65
|
-
logWarn(`Failed to persist call response: ${historyErrorMessage}`, { cwd: historyStorageCwd, section: "script" });
|
|
66
|
-
appendDebugLog(`tool call response persistence failed: ${historyErrorMessage}`, {
|
|
67
|
-
cwd: historyStorageCwd,
|
|
68
|
-
section: "script",
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
return {
|
|
72
|
-
result: artifactId ? { ...result, artifactId } : result,
|
|
73
|
-
...(responsePath ? { responsePath: responsePathFromPrintingCwd(historyDisplayCwd, responsePath) } : {}),
|
|
74
|
-
...(artifactId ? { artifactId } : {}),
|
|
75
|
-
};
|
|
76
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { FlowError } from "../flow-error.js";
|
|
2
|
-
import { parseMarkdownListSection, parseMarkdownStructure } from "./markdown/sections.js";
|
|
3
|
-
import { KeiyakuParseError } from "./markdown/types.js";
|
|
4
|
-
import { normalizeSectionTitle } from "./markdown/titles.js";
|
|
5
|
-
export function parseCommandMarkdown(content) {
|
|
6
|
-
try {
|
|
7
|
-
const parsed = parseMarkdownStructure(content);
|
|
8
|
-
const sections = new Map();
|
|
9
|
-
for (const [key, lines] of parsed.sections.entries()) {
|
|
10
|
-
sections.set(key, lines.join("\n").trim());
|
|
11
|
-
}
|
|
12
|
-
return { title: parsed.title, sections };
|
|
13
|
-
}
|
|
14
|
-
catch (error) {
|
|
15
|
-
if (error instanceof KeiyakuParseError) {
|
|
16
|
-
throw new FlowError("INVALID_KEIYAKU_DRAFT", error.message, { cause: error });
|
|
17
|
-
}
|
|
18
|
-
throw error;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export function requireMarkdownTextSection(parts, name) {
|
|
22
|
-
const normalized = normalizeSectionTitle(name);
|
|
23
|
-
const value = parts.sections.get(normalized)?.trim();
|
|
24
|
-
if (!value) {
|
|
25
|
-
throw new FlowError("INVALID_KEIYAKU_DRAFT", `missing required section: ## ${name}`);
|
|
26
|
-
}
|
|
27
|
-
return value;
|
|
28
|
-
}
|
|
29
|
-
export function requireMarkdownListSection(parts, name) {
|
|
30
|
-
const text = requireMarkdownTextSection(parts, name);
|
|
31
|
-
const items = parseMarkdownListSection(text)
|
|
32
|
-
.map((item) => item.trim())
|
|
33
|
-
.filter((item) => item.length > 0);
|
|
34
|
-
if (items.length === 0) {
|
|
35
|
-
throw new FlowError("INVALID_KEIYAKU_DRAFT", `missing required section: ## ${name}`);
|
|
36
|
-
}
|
|
37
|
-
return items;
|
|
38
|
-
}
|
|
39
|
-
export function requireMarkdownTitle(parts) {
|
|
40
|
-
const title = parts.title?.trim();
|
|
41
|
-
if (!title) {
|
|
42
|
-
throw new FlowError("INVALID_KEIYAKU_DRAFT", "missing required title: # Title");
|
|
43
|
-
}
|
|
44
|
-
return title;
|
|
45
|
-
}
|
package/build/core/context.js
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { KEIYAKU_BRANCH_PREFIX } from "../keiyaku.js";
|
|
2
|
-
import { FlowError } from "../flow-error.js";
|
|
3
|
-
import { createGit, errorContainsAnyPattern, MISSING_HEAD_PATTERNS, NOT_GIT_REPOSITORY_PATTERNS, wrapGitError } from "../git/core.js";
|
|
4
|
-
import { getCurrentBranch, listLocalBranches } from "../git/branches.js";
|
|
5
|
-
import { lookupCurrentContract, readRepositoryLifecycle, } from "./repository-ledger/read-model.js";
|
|
6
|
-
import { currentContractBoundByWorktreeWitness, stableRepoRoot } from "./worktree-path.js";
|
|
7
|
-
import { contractReadOutcomeError } from "./addressing.js";
|
|
8
|
-
import { admitRepositoryLifecycleContract } from "./repository-ledger/admission.js";
|
|
9
|
-
function isOperableContract(model) {
|
|
10
|
-
return model.phase !== "claimed" && model.phase !== "forfeited";
|
|
11
|
-
}
|
|
12
|
-
function operableContracts(read) {
|
|
13
|
-
return read.contracts.filter((model) => lookupCurrentContract(read, model.contract).status === "healthy" && isOperableContract(model));
|
|
14
|
-
}
|
|
15
|
-
function potentiallyOperableContracts(read) {
|
|
16
|
-
return read.contracts.filter(isOperableContract);
|
|
17
|
-
}
|
|
18
|
-
function admitOperableContractId(read, contractId) {
|
|
19
|
-
const outcome = admitRepositoryLifecycleContract(read, contractId);
|
|
20
|
-
if (outcome.status === "healthy")
|
|
21
|
-
return isOperableContract(outcome.model);
|
|
22
|
-
if (outcome.status === "absent")
|
|
23
|
-
return false;
|
|
24
|
-
throw contractReadOutcomeError(contractId, outcome);
|
|
25
|
-
}
|
|
26
|
-
export async function operableContractIds(cwd) {
|
|
27
|
-
const read = await readRepositoryLifecycle(cwd);
|
|
28
|
-
return operableContracts(read).map((model) => model.contract);
|
|
29
|
-
}
|
|
30
|
-
async function resolveImplicitCurrentContractIdFromRead(cwd, read) {
|
|
31
|
-
// Prefer the verified engine-worktree binding (same tier as existing-commission verbs).
|
|
32
|
-
try {
|
|
33
|
-
const stableRoot = await stableRepoRoot(cwd);
|
|
34
|
-
const bound = await currentContractBoundByWorktreeWitness({
|
|
35
|
-
cwd,
|
|
36
|
-
stableRoot,
|
|
37
|
-
contracts: potentiallyOperableContracts(read),
|
|
38
|
-
});
|
|
39
|
-
if (bound && admitOperableContractId(read, bound))
|
|
40
|
-
return bound;
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
if (!errorContainsAnyPattern(error, NOT_GIT_REPOSITORY_PATTERNS))
|
|
44
|
-
throw error;
|
|
45
|
-
}
|
|
46
|
-
// Branch remains a residual signal for workspace:here checkouts without an engine worktree.
|
|
47
|
-
const git = createGit(cwd);
|
|
48
|
-
try {
|
|
49
|
-
const branch = (await git.raw(["branch", "--show-current"])).trim();
|
|
50
|
-
if (branch.startsWith("keiyaku/")) {
|
|
51
|
-
const id = branch.slice("keiyaku/".length);
|
|
52
|
-
const outcome = lookupCurrentContract(read, id);
|
|
53
|
-
if ((outcome.status === "healthy" || outcome.status === "diseased") &&
|
|
54
|
-
outcome.model.resources.worktree === null &&
|
|
55
|
-
admitOperableContractId(read, id))
|
|
56
|
-
return id;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
catch (error) {
|
|
60
|
-
if (!errorContainsAnyPattern(error, MISSING_HEAD_PATTERNS)) {
|
|
61
|
-
throw wrapGitError("branch --show-current", error, cwd);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return undefined;
|
|
65
|
-
}
|
|
66
|
-
export async function resolveImplicitCurrentContractId(cwd) {
|
|
67
|
-
return resolveImplicitCurrentContractIdFromRead(cwd, await readRepositoryLifecycle(cwd));
|
|
68
|
-
}
|
|
69
|
-
async function resolveCurrentContractIdFromRead(cwd, read) {
|
|
70
|
-
const current = await resolveImplicitCurrentContractIdFromRead(cwd, read);
|
|
71
|
-
if (current)
|
|
72
|
-
return { status: "one", contractId: current };
|
|
73
|
-
const operable = operableContracts(read).map((model) => model.contract).sort();
|
|
74
|
-
if (operable.length === 0)
|
|
75
|
-
return { status: "none" };
|
|
76
|
-
if (operable.length === 1)
|
|
77
|
-
return { status: "one", contractId: operable[0] };
|
|
78
|
-
throw new FlowError("CONTRACT_AMBIGUOUS", `multiple active contracts found: ${operable.join(", ")}`);
|
|
79
|
-
}
|
|
80
|
-
export async function resolveCurrentContractId(cwd) {
|
|
81
|
-
return resolveCurrentContractIdFromRead(cwd, await readRepositoryLifecycle(cwd));
|
|
82
|
-
}
|
|
83
|
-
export async function listLocalKeiyakuBranches(cwd) {
|
|
84
|
-
return (await listLocalBranches(cwd)).filter((name) => name.startsWith(KEIYAKU_BRANCH_PREFIX));
|
|
85
|
-
}
|
|
86
|
-
export async function readCurrentContractContext(cwd) {
|
|
87
|
-
const read = await readRepositoryLifecycle(cwd);
|
|
88
|
-
const resolution = await resolveCurrentContractIdFromRead(cwd, read);
|
|
89
|
-
if (resolution.status === "none")
|
|
90
|
-
throw new FlowError("EMPTY_PARAM", "no active contract found");
|
|
91
|
-
const contractId = resolution.contractId;
|
|
92
|
-
const outcome = lookupCurrentContract(read, contractId);
|
|
93
|
-
if (outcome.status !== "healthy" || !isOperableContract(outcome.model)) {
|
|
94
|
-
throw new FlowError("INTERNAL_STATE", `contract ${contractId} not found or not active`);
|
|
95
|
-
}
|
|
96
|
-
const currentBranch = await getCurrentBranch(cwd);
|
|
97
|
-
const baseBranch = outcome.model.pins.target.ref.slice("refs/heads/".length);
|
|
98
|
-
return {
|
|
99
|
-
contractId,
|
|
100
|
-
currentBranch,
|
|
101
|
-
baseBranch,
|
|
102
|
-
base: outcome.model.pins.base,
|
|
103
|
-
};
|
|
104
|
-
}
|