@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
package/build/flow-error.js
DELETED
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
import { ACTOR_IDENTITY, SETTINGS_PATH_SEGMENTS } from "./keiyaku-constants.js";
|
|
2
|
-
import { formatArtifactDirectories, KEIYAKU_ARTIFACT_DIRS } from "./artifact-directories.js";
|
|
3
|
-
const SETTINGS_DISPLAY_PATH = SETTINGS_PATH_SEGMENTS.join("/");
|
|
4
|
-
const DEFAULT_HINT_CONTEXT = {
|
|
5
|
-
bindToolName: "bind",
|
|
6
|
-
arcToolName: "arc",
|
|
7
|
-
renewToolName: "renew",
|
|
8
|
-
closeToolName: "petition",
|
|
9
|
-
actorIdentity: ACTOR_IDENTITY,
|
|
10
|
-
availableActorNames: [],
|
|
11
|
-
};
|
|
12
|
-
const DEFAULT_ERROR_HINT = "Error details identify what must be corrected before retrying.";
|
|
13
|
-
export function renderTemplate(template, values) {
|
|
14
|
-
return template.replace(/\$\{(?<key>[A-Za-z0-9_]+)\}/g, (match, _captured, _offset, _text, groups) => {
|
|
15
|
-
const key = groups?.key;
|
|
16
|
-
if (!key)
|
|
17
|
-
return match;
|
|
18
|
-
return Object.prototype.hasOwnProperty.call(values, key) ? values[key] : match;
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
function formatInvalidSettingsDiseaseHints(diseases) {
|
|
22
|
-
return diseases.map((disease) => {
|
|
23
|
-
const where = disease.knob ? `${disease.coordinate}:${disease.knob}` : `${disease.coordinate}:(root)`;
|
|
24
|
-
return `${where}: ${disease.reason}`;
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
/** CLI-owned typed hint table. Domain code supplies code + facts only. */
|
|
28
|
-
export function resolveFlowErrorHints(code, context, facts) {
|
|
29
|
-
if (facts?.kind === "invalid_settings") {
|
|
30
|
-
return formatInvalidSettingsDiseaseHints(facts.diseases);
|
|
31
|
-
}
|
|
32
|
-
if (facts?.kind === "verification_failure") {
|
|
33
|
-
return [
|
|
34
|
-
`Fix failures from '${facts.label}', then retry CLAIM.`,
|
|
35
|
-
`stdout:\n${facts.stdout}`,
|
|
36
|
-
`stderr:\n${facts.stderr}`,
|
|
37
|
-
];
|
|
38
|
-
}
|
|
39
|
-
if (facts?.kind === "dirty_worktree") {
|
|
40
|
-
return [
|
|
41
|
-
`Files under \`.keiyaku/\` are blocking the operation. Add ${formatArtifactDirectories(KEIYAKU_ARTIFACT_DIRS)} to \`.gitignore\` if you do not want those artifacts tracked.`,
|
|
42
|
-
];
|
|
43
|
-
}
|
|
44
|
-
if (facts?.kind === "loose_commits") {
|
|
45
|
-
return [
|
|
46
|
-
`keiyaku @${facts.contractId} arc — opens a new arc to receipt them, then ${facts.nextVerb}`,
|
|
47
|
-
];
|
|
48
|
-
}
|
|
49
|
-
if (facts?.kind === "needs_renew") {
|
|
50
|
-
return [`keiyaku @${facts.contractId} renew — renews delivery before petition`];
|
|
51
|
-
}
|
|
52
|
-
if (facts?.kind === "projection_in_flight") {
|
|
53
|
-
return ["keiyaku status — watch for the akuma to land, then renew"];
|
|
54
|
-
}
|
|
55
|
-
if (facts?.kind === "projection_wake_failure") {
|
|
56
|
-
return [];
|
|
57
|
-
}
|
|
58
|
-
if (facts?.kind === "task_contract_workspace") {
|
|
59
|
-
return ["Select an active contract with a materialized workspace, or retry from the desired checkout with -C."];
|
|
60
|
-
}
|
|
61
|
-
if (facts?.kind === "carrier_dispatch_refusal") {
|
|
62
|
-
return [facts.recoveryCommand];
|
|
63
|
-
}
|
|
64
|
-
switch (code) {
|
|
65
|
-
case "NOT_GIT_REPO":
|
|
66
|
-
return ["The provided `cwd` is not a git repository."];
|
|
67
|
-
case "GIT_UNAVAILABLE":
|
|
68
|
-
return ["Install Git, or use an explicitly bare command that does not require repository authority."];
|
|
69
|
-
case "ACTIVE_KEIYAKU_EXISTS":
|
|
70
|
-
return [`Next: open an arc with \`${context.arcToolName}\`, then use \`${context.renewToolName}\` when delivery must follow the current base, or \`${context.closeToolName}\` to settle it.`];
|
|
71
|
-
case "CONTRACT_AMBIGUOUS":
|
|
72
|
-
return ["Address a specific contract workspace, or use `call --bare` to run without contract attachment."];
|
|
73
|
-
case "CONTRACT_WORKSPACE_UNAVAILABLE":
|
|
74
|
-
return [];
|
|
75
|
-
case "TASK_AMBIGUOUS":
|
|
76
|
-
return ["Pass one complete task coordinate from the listed candidates."];
|
|
77
|
-
case "UNKNOWN_COMMAND":
|
|
78
|
-
return ["Run `keiyaku --help` to inspect available commands."];
|
|
79
|
-
case "UNKNOWN_OPTION":
|
|
80
|
-
case "UNKNOWN_ADDRESS":
|
|
81
|
-
case "INVALID_USAGE":
|
|
82
|
-
case "STDIN_EMPTY":
|
|
83
|
-
return [];
|
|
84
|
-
case "EMPTY_PARAM":
|
|
85
|
-
return ["One or more required parameters are empty."];
|
|
86
|
-
case "DIRTY_WORKTREE":
|
|
87
|
-
return ["The working tree has uncommitted changes."];
|
|
88
|
-
case "NOT_ACTIVE_KEIYAKU_BRANCH":
|
|
89
|
-
return ["keiyaku bind — opens a new contract"];
|
|
90
|
-
case "MISSING_KEIYAKU_BASE":
|
|
91
|
-
return ["Current branch is not associated with an active contract ledger."];
|
|
92
|
-
case "MISSING_PROTOCOL_FILES":
|
|
93
|
-
return ["Required protocol file is missing (`KEIYAKU.md`)."];
|
|
94
|
-
case "CLOSE_MERGE_CONFLICT":
|
|
95
|
-
return [];
|
|
96
|
-
case "RENEW_COORDINATE_DRIFT":
|
|
97
|
-
return [`Restore the delivery to its ledger-recorded history with Git reflog, then retry \`keiyaku ${context.renewToolName}\`.`];
|
|
98
|
-
case "RENEW_SCRATCH_NOT_FOUND":
|
|
99
|
-
return [`No renew conflict scratch is open; run \`keiyaku ${context.renewToolName}\` normally.`];
|
|
100
|
-
case "CLOSE_QUALITY_GATE_FAILED":
|
|
101
|
-
return [`CLAIM denied: a configured verification command failed. Use \`${context.arcToolName}\` after addressing the failure before petitioning again.`];
|
|
102
|
-
case "INVALID_BRANCH_TITLE":
|
|
103
|
-
return ["Title cannot be converted to a valid branch token for `keiyaku/<title>`."];
|
|
104
|
-
case "UNKNOWN_SUBAGENT": {
|
|
105
|
-
const names = context.availableActorNames.join(", ");
|
|
106
|
-
return [`Unknown ${context.actorIdentity.toLowerCase()} name. Valid options: ${names}.`];
|
|
107
|
-
}
|
|
108
|
-
case "FROM_DRAFT_NOT_FOUND":
|
|
109
|
-
return ["The path in `from_draft` does not exist. `from_draft` must reference an existing file path (absolute or relative to `cwd`)."];
|
|
110
|
-
case "INVALID_KEIYAKU_DRAFT":
|
|
111
|
-
return ["Invalid draft/input. Use a `# <title>` heading with non-empty `## Context`, `## Objective`, `## Design & Approach`, `## Scope`, `## Criteria`, and `## Verification` sections (or the equivalent shape in `from_draft`)."];
|
|
112
|
-
case "BIND_TASK_INCOMPLETE":
|
|
113
|
-
return ["Task supplies title/objective defaults; pipe only the missing sections as partial contract Markdown on stdin."];
|
|
114
|
-
case "KEIYAKU_FILE_EXISTS":
|
|
115
|
-
return [`\`${context.bindToolName}\` requires a clean slate. \`KEIYAKU.md\` must be removed before starting.`];
|
|
116
|
-
case "DETACHED_HEAD":
|
|
117
|
-
return ["Repository is in detached HEAD state. Address an active contract workspace before retrying."];
|
|
118
|
-
case "INVALID_RESPONSE_PATH":
|
|
119
|
-
return ["`keiyaku fork ARTIFACT_ID` needs a valid previous Keiyaku response artifact that includes complete provenance plus `session` and `subagent_name`."];
|
|
120
|
-
case "INVALID_CLOSE_INTENT":
|
|
121
|
-
return ["Invalid close intent. Valid values are `CLAIM` and `FORFEIT`."];
|
|
122
|
-
case "INVALID_SETTINGS":
|
|
123
|
-
return [`Fix invalid configuration in \`${SETTINGS_DISPLAY_PATH}\` and retry.`];
|
|
124
|
-
case "INVALID_EFFORT_OVERRIDE":
|
|
125
|
-
return ["Choose an effort value declared by the selected Akuma's effortOptions."];
|
|
126
|
-
case "CONCURRENT_MODIFICATION":
|
|
127
|
-
return [`Concurrent repository changes were detected during \`${context.arcToolName}\` or \`${context.renewToolName}\`. Retry on the latest branch state.`];
|
|
128
|
-
case "TASK_LOCK_ADMISSION_TIMEOUT":
|
|
129
|
-
return ["Task coordination did not become available before the bounded deadline. Retry the command; repeated timeouts indicate a stuck or damaged repository lock."];
|
|
130
|
-
case "INTERNAL_STATE":
|
|
131
|
-
return ["An internal state error occurred. Please verify your repository status."];
|
|
132
|
-
case "SCOPE_VIOLATION":
|
|
133
|
-
return ["Files outside the contract's declared scope were modified. Append ordered scope terms with `--append-scope`, amend the contract, or move the changes back."];
|
|
134
|
-
case "NO_OPEN_ARC":
|
|
135
|
-
return ["Open an arc to receipt delivery commits after the fence, then retry."];
|
|
136
|
-
case "REVIEW_REJECTED":
|
|
137
|
-
return [`CLAIM denied by the reviewer. Address the findings and retry \`${context.arcToolName}\` before petitioning again.`];
|
|
138
|
-
case "VERDICT_DENIED":
|
|
139
|
-
case "OATH_MISSING":
|
|
140
|
-
return [DEFAULT_ERROR_HINT];
|
|
141
|
-
default:
|
|
142
|
-
return [DEFAULT_ERROR_HINT];
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
function getDefaultErrorHint() {
|
|
146
|
-
return DEFAULT_ERROR_HINT;
|
|
147
|
-
}
|
|
148
|
-
export class FlowError extends Error {
|
|
149
|
-
code;
|
|
150
|
-
review;
|
|
151
|
-
facts;
|
|
152
|
-
constructor(code, message, options) {
|
|
153
|
-
super(message, options?.cause === undefined ? undefined : { cause: options.cause });
|
|
154
|
-
this.name = "FlowError";
|
|
155
|
-
this.code = code;
|
|
156
|
-
this.review = options?.review;
|
|
157
|
-
this.facts = options?.facts;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
export function isFlowError(err) {
|
|
161
|
-
return err instanceof FlowError;
|
|
162
|
-
}
|
|
163
|
-
export function requireText(name, value) {
|
|
164
|
-
const normalized = value.trim();
|
|
165
|
-
if (!normalized) {
|
|
166
|
-
throw new FlowError("EMPTY_PARAM", `parameter '${name}' cannot be empty`);
|
|
167
|
-
}
|
|
168
|
-
return normalized;
|
|
169
|
-
}
|
|
170
|
-
export function asMessage(err) {
|
|
171
|
-
return err instanceof Error ? err.message : String(err);
|
|
172
|
-
}
|
|
173
|
-
export function wrapFlowError(action, err) {
|
|
174
|
-
if (err instanceof Error && err.name === "AbortError") {
|
|
175
|
-
return err;
|
|
176
|
-
}
|
|
177
|
-
if (isFlowError(err)) {
|
|
178
|
-
return new FlowError(err.code, `${action} failed: ${err.message}`, {
|
|
179
|
-
cause: err,
|
|
180
|
-
review: err.review,
|
|
181
|
-
facts: err.facts,
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
return new Error(`${action} failed: ${asMessage(err)}`);
|
|
185
|
-
}
|
|
186
|
-
export function pickHintsFromError(err, hintContext = DEFAULT_HINT_CONTEXT) {
|
|
187
|
-
if (isFlowError(err)) {
|
|
188
|
-
return resolveFlowErrorHints(err.code, hintContext, err.facts);
|
|
189
|
-
}
|
|
190
|
-
return [getDefaultErrorHint()];
|
|
191
|
-
}
|
package/build/fs/durability.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import * as fs from "node:fs";
|
|
2
|
-
import * as fsPromises from "node:fs/promises";
|
|
3
|
-
export function supportsDirectorySync(platform = process.platform) {
|
|
4
|
-
return platform !== "win32";
|
|
5
|
-
}
|
|
6
|
-
export function syncDirectorySync(directory, platform = process.platform) {
|
|
7
|
-
if (!supportsDirectorySync(platform))
|
|
8
|
-
return;
|
|
9
|
-
const descriptor = fs.openSync(directory, fs.constants.O_RDONLY);
|
|
10
|
-
try {
|
|
11
|
-
fs.fsyncSync(descriptor);
|
|
12
|
-
}
|
|
13
|
-
finally {
|
|
14
|
-
fs.closeSync(descriptor);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
export async function syncDirectory(directory, platform = process.platform) {
|
|
18
|
-
if (!supportsDirectorySync(platform))
|
|
19
|
-
return;
|
|
20
|
-
const handle = await fsPromises.open(directory, "r");
|
|
21
|
-
try {
|
|
22
|
-
await handle.sync();
|
|
23
|
-
}
|
|
24
|
-
finally {
|
|
25
|
-
await handle.close();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as path from "node:path";
|
|
2
|
-
/**
|
|
3
|
-
* Keep one host-native spelling before using a coordinate as a filesystem cwd.
|
|
4
|
-
* Git for Windows may emit or receive native, slash-normalized, or MSYS drive
|
|
5
|
-
* paths for the same location.
|
|
6
|
-
*/
|
|
7
|
-
export function normalizeFilesystemCoordinate(raw, platform = process.platform) {
|
|
8
|
-
const value = raw.trim();
|
|
9
|
-
if (platform !== "win32")
|
|
10
|
-
return path.normalize(value);
|
|
11
|
-
const msysDrive = value.match(/^\/([A-Za-z])(?:\/|$)(.*)$/);
|
|
12
|
-
if (msysDrive)
|
|
13
|
-
return path.win32.normalize(`${msysDrive[1].toUpperCase()}:/${msysDrive[2]}`);
|
|
14
|
-
const normalized = path.win32.normalize(value);
|
|
15
|
-
return normalized.replace(/^([a-z]):/, (_, drive) => `${drive.toUpperCase()}:`);
|
|
16
|
-
}
|
package/build/git/branches.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { FlowError } from "../flow-error.js";
|
|
2
|
-
import { errorContainsAnyPattern, isGitExecutableUnavailable, NOT_GIT_REPOSITORY_PATTERNS, wrapGitError, } from "./core.js";
|
|
3
|
-
import { runGitOrThrow, runGitProcess } from "./process.js";
|
|
4
|
-
async function gitOutput(cwd, args, label) {
|
|
5
|
-
try {
|
|
6
|
-
return (await runGitOrThrow(cwd, args)).stdout;
|
|
7
|
-
}
|
|
8
|
-
catch (error) {
|
|
9
|
-
throw wrapGitError(label, error, cwd);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
function processFailure(result) {
|
|
13
|
-
return result.error ?? Object.assign(new Error(`git exited with status ${result.status ?? "unknown"}`), {
|
|
14
|
-
stdout: result.stdout,
|
|
15
|
-
stderr: result.stderr,
|
|
16
|
-
status: result.status,
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
export async function observeGitRepository(cwd) {
|
|
20
|
-
try {
|
|
21
|
-
const output = await runGitOrThrow(cwd, ["rev-parse", "--is-inside-work-tree", "--is-bare-repository"]);
|
|
22
|
-
const [insideWorktree, bare] = output.stdout.trim().split(/\r?\n/);
|
|
23
|
-
return {
|
|
24
|
-
capability: "available",
|
|
25
|
-
coordinate: insideWorktree === "true" && bare !== "true" ? "repository" : "non-repository",
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
catch (error) {
|
|
29
|
-
if (isGitExecutableUnavailable(error))
|
|
30
|
-
return { capability: "unavailable" };
|
|
31
|
-
if (errorContainsAnyPattern(error, NOT_GIT_REPOSITORY_PATTERNS)) {
|
|
32
|
-
return { capability: "available", coordinate: "non-repository" };
|
|
33
|
-
}
|
|
34
|
-
return { capability: "unknown", error: wrapGitError("check-is-repo", error, cwd) };
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
export function assertGitObservation(observation, operation) {
|
|
38
|
-
if (observation.capability === "unavailable") {
|
|
39
|
-
throw new FlowError("GIT_UNAVAILABLE", `Git executable is unavailable; ${operation} requires repository authority.`);
|
|
40
|
-
}
|
|
41
|
-
if (observation.capability === "unknown")
|
|
42
|
-
throw observation.error;
|
|
43
|
-
return observation.coordinate;
|
|
44
|
-
}
|
|
45
|
-
export async function requireGitRepository(cwd, operation) {
|
|
46
|
-
if (assertGitObservation(await observeGitRepository(cwd), operation) === "non-repository") {
|
|
47
|
-
throw new FlowError("NOT_GIT_REPO", `${cwd} is not a git repository`);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
export async function getCurrentBranch(cwd) {
|
|
51
|
-
const symbolic = await runGitProcess(cwd, ["symbolic-ref", "--quiet", "--short", "HEAD"]);
|
|
52
|
-
if (symbolic.error || (symbolic.status !== 0 && symbolic.status !== 1)) {
|
|
53
|
-
throw wrapGitError("symbolic-ref --quiet --short HEAD", processFailure(symbolic), cwd);
|
|
54
|
-
}
|
|
55
|
-
if (symbolic.status === 1 || !symbolic.stdout.trim()) {
|
|
56
|
-
throw new FlowError("DETACHED_HEAD", "Detached HEAD or no branch found");
|
|
57
|
-
}
|
|
58
|
-
const head = await runGitProcess(cwd, ["rev-parse", "--verify", "--quiet", "HEAD"]);
|
|
59
|
-
if (head.error || (head.status !== 0 && head.status !== 1)) {
|
|
60
|
-
throw wrapGitError("rev-parse --verify HEAD", processFailure(head), cwd);
|
|
61
|
-
}
|
|
62
|
-
if (head.status === 0)
|
|
63
|
-
return symbolic.stdout.trim();
|
|
64
|
-
throw new FlowError("DETACHED_HEAD", "Detached HEAD or no branch found");
|
|
65
|
-
}
|
|
66
|
-
export async function listLocalBranches(cwd) {
|
|
67
|
-
const output = await gitOutput(cwd, ["for-each-ref", "--format=%(refname:short)", "refs/heads"], "branch --list");
|
|
68
|
-
return output.split(/\r?\n/).filter((branch) => branch.length > 0);
|
|
69
|
-
}
|
|
70
|
-
export async function createAndSwitchBranch(cwd, branchName) {
|
|
71
|
-
await gitOutput(cwd, ["switch", "-c", branchName], `switch -c ${branchName}`);
|
|
72
|
-
}
|
|
73
|
-
export async function switchBranch(cwd, branchName) {
|
|
74
|
-
await gitOutput(cwd, ["switch", branchName], `switch ${branchName}`);
|
|
75
|
-
}
|
|
76
|
-
export async function deleteBranch(cwd, branchName, force = false) {
|
|
77
|
-
await gitOutput(cwd, ["branch", force ? "-D" : "-d", branchName], `branch -d${force ? " -D" : ""} ${branchName}`);
|
|
78
|
-
}
|
|
79
|
-
export async function hasLocalBranch(cwd, branchName) {
|
|
80
|
-
return (await listLocalBranches(cwd)).includes(branchName);
|
|
81
|
-
}
|
|
82
|
-
export async function assertValidBranchName(cwd, branchName) {
|
|
83
|
-
await gitOutput(cwd, ["check-ref-format", "--branch", branchName], `check-ref-format --branch ${branchName}`);
|
|
84
|
-
}
|
package/build/git/commits.js
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import { FlowError } from "../flow-error.js";
|
|
2
|
-
import { isFullGitObjectId, runGitProcess, wrapGitError, } from "./core.js";
|
|
3
|
-
import { runGitOrThrow } from "./process.js";
|
|
4
|
-
const COMMIT_COORDINATE_FORMAT = "format:%H%x00%T%x00%P";
|
|
5
|
-
/**
|
|
6
|
-
* Resolve one revision to a peeled commit coordinate through a single argv-safe,
|
|
7
|
-
* non-walking Git query. Ordinary commits and annotated tags share the peeled tip.
|
|
8
|
-
* Missing revisions, non-commit terminal objects, malformed output, and process
|
|
9
|
-
* failures stay distinguishable without matching localized presentation text.
|
|
10
|
-
*/
|
|
11
|
-
export async function readCommitCoordinate(cwd, revision) {
|
|
12
|
-
const result = await runGitProcess(cwd, [
|
|
13
|
-
"log",
|
|
14
|
-
"--no-walk",
|
|
15
|
-
"-1",
|
|
16
|
-
`--format=${COMMIT_COORDINATE_FORMAT}`,
|
|
17
|
-
"--end-of-options",
|
|
18
|
-
revision,
|
|
19
|
-
"--",
|
|
20
|
-
]);
|
|
21
|
-
if (result.error) {
|
|
22
|
-
return { status: "failed", revision, error: result.error, result };
|
|
23
|
-
}
|
|
24
|
-
if (result.status !== 0) {
|
|
25
|
-
return { status: "missing", revision };
|
|
26
|
-
}
|
|
27
|
-
const raw = result.stdout.replace(/(?:\r?\n)+$/, "");
|
|
28
|
-
if (raw.length === 0) {
|
|
29
|
-
return { status: "non-commit", revision };
|
|
30
|
-
}
|
|
31
|
-
const fields = raw.split("\0");
|
|
32
|
-
if (fields.length !== 3) {
|
|
33
|
-
return {
|
|
34
|
-
status: "malformed",
|
|
35
|
-
revision,
|
|
36
|
-
detail: `expected 3 NUL fields, received ${fields.length}`,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
const [commit, tree, parentsField] = fields;
|
|
40
|
-
if (!isFullGitObjectId(commit) || !isFullGitObjectId(tree)) {
|
|
41
|
-
return {
|
|
42
|
-
status: "malformed",
|
|
43
|
-
revision,
|
|
44
|
-
detail: "commit or tree field is not a full object id",
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
const parents = parentsField.trim().length === 0
|
|
48
|
-
? []
|
|
49
|
-
: parentsField.trim().split(/\s+/).filter((part) => part.length > 0);
|
|
50
|
-
if (parents.some((parent) => !isFullGitObjectId(parent))) {
|
|
51
|
-
return {
|
|
52
|
-
status: "malformed",
|
|
53
|
-
revision,
|
|
54
|
-
detail: "parent field contains a non-object id",
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
return { status: "ok", coordinate: { commit, tree, parents } };
|
|
58
|
-
}
|
|
59
|
-
/** Map a failed coordinate read into a wrapped Git error for throw-style callers. */
|
|
60
|
-
export function commitCoordinateFailureError(read, cwd) {
|
|
61
|
-
if (read.status === "failed") {
|
|
62
|
-
const failure = read.error ?? Object.assign(new Error(read.result.stderr || `git log --no-walk exited ${read.result.status}`), {
|
|
63
|
-
stderr: read.result.stderr,
|
|
64
|
-
stdout: read.result.stdout,
|
|
65
|
-
});
|
|
66
|
-
return wrapGitError(`log --no-walk coordinate ${read.revision}`, failure, cwd);
|
|
67
|
-
}
|
|
68
|
-
if (read.status === "missing") {
|
|
69
|
-
return wrapGitError(`log --no-walk coordinate ${read.revision}`, Object.assign(new Error(`revision '${read.revision}' does not resolve`), { stderr: "" }), cwd);
|
|
70
|
-
}
|
|
71
|
-
if (read.status === "non-commit") {
|
|
72
|
-
return wrapGitError(`log --no-walk coordinate ${read.revision}`, Object.assign(new Error(`revision '${read.revision}' does not resolve to a commit`), { stderr: "" }), cwd);
|
|
73
|
-
}
|
|
74
|
-
return wrapGitError(`log --no-walk coordinate ${read.revision}`, Object.assign(new Error(`malformed commit coordinate for '${read.revision}': ${read.detail}`), { stderr: "" }), cwd);
|
|
75
|
-
}
|
|
76
|
-
/** Require a resolved coordinate or throw a wrapped Git error. */
|
|
77
|
-
export async function requireCommitCoordinate(cwd, revision) {
|
|
78
|
-
const read = await readCommitCoordinate(cwd, revision);
|
|
79
|
-
if (read.status === "ok")
|
|
80
|
-
return read.coordinate;
|
|
81
|
-
throw commitCoordinateFailureError(read, cwd);
|
|
82
|
-
}
|
|
83
|
-
export function shortCommitHash(hash) {
|
|
84
|
-
return hash.slice(0, 12);
|
|
85
|
-
}
|
|
86
|
-
export async function resolveCommitRef(cwd, ref) {
|
|
87
|
-
const read = await readCommitCoordinate(cwd, ref);
|
|
88
|
-
if (read.status !== "ok") {
|
|
89
|
-
throw new FlowError("INVALID_COMMIT", `commit '${ref}' does not resolve to a commit`, {
|
|
90
|
-
cause: read.status === "failed" ? read.error : undefined,
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
return read.coordinate.commit;
|
|
94
|
-
}
|
|
95
|
-
export async function isCommitReachableFromHead(cwd, commit) {
|
|
96
|
-
return isCommitAncestor(cwd, commit, "HEAD");
|
|
97
|
-
}
|
|
98
|
-
export async function isCommitAncestor(cwd, ancestor, descendant) {
|
|
99
|
-
const result = await runGitProcess(cwd, ["merge-base", "--is-ancestor", ancestor, descendant]);
|
|
100
|
-
return result.status === 0 && result.error === undefined;
|
|
101
|
-
}
|
|
102
|
-
export async function getHeadCommitHash(cwd) {
|
|
103
|
-
try {
|
|
104
|
-
const output = (await runGitOrThrow(cwd, ["rev-parse", "HEAD"])).stdout;
|
|
105
|
-
return output.trim();
|
|
106
|
-
}
|
|
107
|
-
catch (error) {
|
|
108
|
-
throw wrapGitError("rev-parse HEAD", error, cwd);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
export async function resolveCommitRefs(cwd, refs) {
|
|
112
|
-
if (refs.length === 0) {
|
|
113
|
-
throw new FlowError("INVALID_COMMIT", "commits must include at least one commit ref");
|
|
114
|
-
}
|
|
115
|
-
const resolved = [];
|
|
116
|
-
const seen = new Set();
|
|
117
|
-
for (const ref of refs) {
|
|
118
|
-
const trimmedRef = ref.trim();
|
|
119
|
-
if (!trimmedRef) {
|
|
120
|
-
throw new FlowError("INVALID_COMMIT", "commit refs cannot be empty");
|
|
121
|
-
}
|
|
122
|
-
const commit = await resolveCommitRef(cwd, trimmedRef);
|
|
123
|
-
if (seen.has(commit)) {
|
|
124
|
-
throw new FlowError("INVALID_COMMIT", `duplicate commit ref '${trimmedRef}' resolves to ${commit}`);
|
|
125
|
-
}
|
|
126
|
-
if (!(await isCommitReachableFromHead(cwd, commit))) {
|
|
127
|
-
throw new FlowError("INVALID_COMMIT", `commit '${trimmedRef}' (${commit}) is not reachable from HEAD`);
|
|
128
|
-
}
|
|
129
|
-
seen.add(commit);
|
|
130
|
-
resolved.push(commit);
|
|
131
|
-
}
|
|
132
|
-
return resolved;
|
|
133
|
-
}
|
|
134
|
-
export async function renderCommitStatPreview(cwd, commits) {
|
|
135
|
-
if (commits.length === 0)
|
|
136
|
-
return "No delivery commits recorded.";
|
|
137
|
-
try {
|
|
138
|
-
const chunks = await Promise.all(commits.map(async (commit) => (await runGitOrThrow(cwd, [
|
|
139
|
-
"show",
|
|
140
|
-
"--stat",
|
|
141
|
-
"--summary",
|
|
142
|
-
"--format=commit %H%n%s",
|
|
143
|
-
"--no-renames",
|
|
144
|
-
commit,
|
|
145
|
-
])).stdout.trim()));
|
|
146
|
-
return chunks.filter((chunk) => chunk.length > 0).join("\n\n");
|
|
147
|
-
}
|
|
148
|
-
catch (error) {
|
|
149
|
-
throw wrapGitError("show --stat delivery commits", error, cwd);
|
|
150
|
-
}
|
|
151
|
-
}
|
package/build/git/core.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { simpleGit } from "simple-git";
|
|
2
|
-
import { existsSync } from "node:fs";
|
|
3
|
-
import { normalizeFilesystemCoordinate } from "../fs/path-coordinate.js";
|
|
4
|
-
import { appendDebugBlock } from "../telemetry/debug-log.js";
|
|
5
|
-
import { gitProcessEnv, resolveGitExecutable, resolveGitTimeoutMs } from "./process.js";
|
|
6
|
-
export { GIT_ABORT_FORCE_KILL_MS, gitProcessEnv, openGitProcess, resolveGitExecutable, resolveGitTimeoutMs, runGitOrThrow, runGitProcess, runGitProcessBytes, terminateGitChild, } from "./process.js";
|
|
7
|
-
const GIT_ERROR_COMPACT_MAX_CHARS = 4000;
|
|
8
|
-
export const MISSING_GIT_CONFIG_PATTERNS = ["No such section or key"];
|
|
9
|
-
export const NOT_GIT_REPOSITORY_PATTERNS = ["not a git repository"];
|
|
10
|
-
export const MISSING_HEAD_PATTERNS = [
|
|
11
|
-
"Needed a single revision",
|
|
12
|
-
"ambiguous argument 'HEAD'",
|
|
13
|
-
"unknown revision or path not in the working tree",
|
|
14
|
-
"bad revision 'HEAD'",
|
|
15
|
-
];
|
|
16
|
-
/** Accept only a complete object id from either supported Git object format. */
|
|
17
|
-
export function isFullGitObjectId(value) {
|
|
18
|
-
return /^(?:[0-9a-f]{40}|[0-9a-f]{64})$/i.test(value);
|
|
19
|
-
}
|
|
20
|
-
/** Git is an optional adapter for directory-local product surfaces. */
|
|
21
|
-
export function isGitExecutableUnavailable(error) {
|
|
22
|
-
const source = (error ?? {});
|
|
23
|
-
if (source.code === "ENOENT") {
|
|
24
|
-
return typeof source.gitCwd !== "string" || existsSync(source.gitCwd);
|
|
25
|
-
}
|
|
26
|
-
const message = typeof source.message === "string" ? source.message : String(error);
|
|
27
|
-
return /spawn\s+git\s+ENOENT|git(?:\.exe)?["']?\s*:\s*(?:not found|no such file)/i.test(message);
|
|
28
|
-
}
|
|
29
|
-
export function compactText(input, maxChars = GIT_ERROR_COMPACT_MAX_CHARS) {
|
|
30
|
-
const text = input.trim();
|
|
31
|
-
if (!text)
|
|
32
|
-
return "";
|
|
33
|
-
if (text.length <= maxChars)
|
|
34
|
-
return text;
|
|
35
|
-
const marker = `\n...[truncated ${text.length - maxChars} chars]...\n`;
|
|
36
|
-
const side = Math.floor((maxChars - marker.length) / 2);
|
|
37
|
-
return `${text.slice(0, side)}${marker}${text.slice(text.length - side)}`;
|
|
38
|
-
}
|
|
39
|
-
export function collectGitErrorText(err) {
|
|
40
|
-
const source = (err ?? {});
|
|
41
|
-
return [source.message, source.stderr, source.stdErr, source.stdout, source.stdOut]
|
|
42
|
-
.filter((value) => typeof value === "string" && value.length > 0)
|
|
43
|
-
.join("\n");
|
|
44
|
-
}
|
|
45
|
-
export function errorContainsAnyPattern(err, patterns) {
|
|
46
|
-
const text = collectGitErrorText(err);
|
|
47
|
-
return patterns.some((pattern) => text.includes(pattern));
|
|
48
|
-
}
|
|
49
|
-
/** Parse `git rev-list` stdout into ordered object ids. Sole shared line parser. */
|
|
50
|
-
export function parseRevListOutput(output) {
|
|
51
|
-
return output
|
|
52
|
-
.trim()
|
|
53
|
-
.split(/\r?\n/)
|
|
54
|
-
.map((line) => line.trim())
|
|
55
|
-
.filter((line) => line.length > 0);
|
|
56
|
-
}
|
|
57
|
-
export function wrapGitError(commandLabel, err, cwd) {
|
|
58
|
-
const source = (err ?? {});
|
|
59
|
-
const message = source.message ?? String(err);
|
|
60
|
-
const stderr = compactText(source.stderr ?? source.stdErr ?? "");
|
|
61
|
-
const stdout = compactText(source.stdout ?? source.stdOut ?? "");
|
|
62
|
-
let detailedMessage = `[git ${commandLabel}] ${message}`;
|
|
63
|
-
if (stderr)
|
|
64
|
-
detailedMessage += `\n\n--- GIT STDERR ---\n${stderr}\n------------------`;
|
|
65
|
-
if (stdout)
|
|
66
|
-
detailedMessage += `\n\n--- GIT STDOUT ---\n${stdout}\n------------------`;
|
|
67
|
-
if (stderr || stdout) {
|
|
68
|
-
appendDebugBlock(`git ${commandLabel} failure details`, `${detailedMessage}`, { cwd, section: "git-error" });
|
|
69
|
-
}
|
|
70
|
-
const wrapped = new Error(detailedMessage, err === undefined ? undefined : { cause: err });
|
|
71
|
-
if (source.git !== undefined) {
|
|
72
|
-
Object.assign(wrapped, { git: source.git });
|
|
73
|
-
}
|
|
74
|
-
return wrapped;
|
|
75
|
-
}
|
|
76
|
-
export function createGit(cwd) {
|
|
77
|
-
const timeoutMs = resolveGitTimeoutMs();
|
|
78
|
-
const git = simpleGit(normalizeFilesystemCoordinate(cwd), {
|
|
79
|
-
binary: resolveGitExecutable(),
|
|
80
|
-
timeout: { block: timeoutMs, stdErr: true, stdOut: true },
|
|
81
|
-
unsafe: { allowUnsafeCustomBinary: true },
|
|
82
|
-
});
|
|
83
|
-
// simple-git replaces its child environment when configured through env().
|
|
84
|
-
git.env(gitProcessEnv());
|
|
85
|
-
return git;
|
|
86
|
-
}
|