agent-nuvira 3.3.1 → 3.3.4
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 +18 -13
- package/dist/agent-sdk/src/agent.d.ts +2 -0
- package/dist/agent-sdk/src/agent.d.ts.map +1 -1
- package/dist/agent-sdk/src/define.d.ts +64 -0
- package/dist/agent-sdk/src/define.d.ts.map +1 -0
- package/dist/agent-sdk/src/define.js +76 -0
- package/dist/agent-sdk/src/define.js.map +1 -0
- package/dist/agent-sdk/src/index.d.ts +9 -0
- package/dist/agent-sdk/src/index.d.ts.map +1 -1
- package/dist/agent-sdk/src/index.js +9 -0
- package/dist/agent-sdk/src/index.js.map +1 -1
- package/dist/agent-sdk/src/scaffold.d.ts +11 -0
- package/dist/agent-sdk/src/scaffold.d.ts.map +1 -1
- package/dist/agent-sdk/src/scaffold.js +16 -6
- package/dist/agent-sdk/src/scaffold.js.map +1 -1
- package/dist/agents/agents/runner.d.ts +9 -0
- package/dist/agents/agents/runner.d.ts.map +1 -1
- package/dist/agents/agents/runner.js +34 -12
- package/dist/agents/agents/runner.js.map +1 -1
- package/dist/agents/agents/writer-tool-calling.d.ts.map +1 -1
- package/dist/agents/agents/writer-tool-calling.js +7 -2
- package/dist/agents/agents/writer-tool-calling.js.map +1 -1
- package/dist/agents/agents/writer.d.ts.map +1 -1
- package/dist/agents/agents/writer.js +7 -1
- package/dist/agents/agents/writer.js.map +1 -1
- package/dist/agents/artifact-verification.d.ts +102 -0
- package/dist/agents/artifact-verification.d.ts.map +1 -0
- package/dist/agents/artifact-verification.js +216 -0
- package/dist/agents/artifact-verification.js.map +1 -0
- package/dist/agents/checkpoint-store.d.ts +73 -0
- package/dist/agents/checkpoint-store.d.ts.map +1 -1
- package/dist/agents/checkpoint-store.js +161 -0
- package/dist/agents/checkpoint-store.js.map +1 -1
- package/dist/agents/credential-store.d.ts +120 -0
- package/dist/agents/credential-store.d.ts.map +1 -1
- package/dist/agents/credential-store.js +358 -19
- package/dist/agents/credential-store.js.map +1 -1
- package/dist/agents/long-form-plan.d.ts.map +1 -1
- package/dist/agents/long-form-plan.js +2 -1
- package/dist/agents/long-form-plan.js.map +1 -1
- package/dist/agents/orchestrator.d.ts +10 -1
- package/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +239 -79
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/agents/phase-engine.d.ts +61 -0
- package/dist/agents/phase-engine.d.ts.map +1 -1
- package/dist/agents/phase-engine.js +68 -2
- package/dist/agents/phase-engine.js.map +1 -1
- package/dist/agents/prompt-assembly.d.ts +11 -0
- package/dist/agents/prompt-assembly.d.ts.map +1 -1
- package/dist/agents/prompt-assembly.js +17 -0
- package/dist/agents/prompt-assembly.js.map +1 -1
- package/dist/agents/release-preflight.d.ts +121 -0
- package/dist/agents/release-preflight.d.ts.map +1 -0
- package/dist/agents/release-preflight.js +259 -0
- package/dist/agents/release-preflight.js.map +1 -0
- package/dist/agents/release-runner.d.ts +157 -0
- package/dist/agents/release-runner.d.ts.map +1 -0
- package/dist/agents/release-runner.js +719 -0
- package/dist/agents/release-runner.js.map +1 -0
- package/dist/agents/step-handoff.d.ts +190 -0
- package/dist/agents/step-handoff.d.ts.map +1 -0
- package/dist/agents/step-handoff.js +443 -0
- package/dist/agents/step-handoff.js.map +1 -0
- package/dist/cli/agent.d.ts +2 -2
- package/dist/cli/agent.js +10 -10
- package/dist/cli/benchmark.d.ts.map +1 -1
- package/dist/cli/benchmark.js +11 -4
- package/dist/cli/benchmark.js.map +1 -1
- package/dist/cli/chat.d.ts +94 -0
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +379 -24
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/cli-program.d.ts.map +1 -1
- package/dist/cli/cli-program.js +8 -0
- package/dist/cli/cli-program.js.map +1 -1
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +9 -1
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/credentials.d.ts +28 -0
- package/dist/cli/credentials.d.ts.map +1 -0
- package/dist/cli/credentials.js +213 -0
- package/dist/cli/credentials.js.map +1 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +3 -2
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/edit.js +2 -2
- package/dist/cli/eval.d.ts +17 -0
- package/dist/cli/eval.d.ts.map +1 -1
- package/dist/cli/eval.js +105 -2
- package/dist/cli/eval.js.map +1 -1
- package/dist/cli/execute.d.ts +16 -1
- package/dist/cli/execute.d.ts.map +1 -1
- package/dist/cli/execute.js +192 -22
- package/dist/cli/execute.js.map +1 -1
- package/dist/cli/failover-runner.d.ts.map +1 -1
- package/dist/cli/failover-runner.js +9 -3
- package/dist/cli/failover-runner.js.map +1 -1
- package/dist/cli/loop-executor.d.ts +55 -0
- package/dist/cli/loop-executor.d.ts.map +1 -1
- package/dist/cli/loop-executor.js +285 -19
- package/dist/cli/loop-executor.js.map +1 -1
- package/dist/cli/model.d.ts.map +1 -1
- package/dist/cli/model.js +9 -8
- package/dist/cli/model.js.map +1 -1
- package/dist/cli/models.d.ts +1 -1
- package/dist/cli/models.js +4 -4
- package/dist/cli/nlu.d.ts.map +1 -1
- package/dist/cli/nlu.js +8 -2
- package/dist/cli/nlu.js.map +1 -1
- package/dist/cli/parity.d.ts +85 -0
- package/dist/cli/parity.d.ts.map +1 -0
- package/dist/cli/parity.js +506 -0
- package/dist/cli/parity.js.map +1 -0
- package/dist/cli/plan.d.ts.map +1 -1
- package/dist/cli/plan.js +2 -1
- package/dist/cli/plan.js.map +1 -1
- package/dist/cli/publish.d.ts +22 -0
- package/dist/cli/publish.d.ts.map +1 -1
- package/dist/cli/publish.js +109 -13
- package/dist/cli/publish.js.map +1 -1
- package/dist/cli/retrieval.d.ts.map +1 -1
- package/dist/cli/retrieval.js +5 -4
- package/dist/cli/retrieval.js.map +1 -1
- package/dist/cli/sdk.js +4 -4
- package/dist/cli/sdk.js.map +1 -1
- package/dist/cli/trace.d.ts.map +1 -1
- package/dist/cli/trace.js +2 -1
- package/dist/cli/trace.js.map +1 -1
- package/dist/cli/workflow.js +2 -2
- package/dist/cli/workflow.js.map +1 -1
- package/dist/config/live-credentials.d.ts +57 -0
- package/dist/config/live-credentials.d.ts.map +1 -0
- package/dist/config/live-credentials.js +126 -0
- package/dist/config/live-credentials.js.map +1 -0
- package/dist/config/paths.d.ts +18 -0
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +25 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/config/types.d.ts +44 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/federation/a2a-types.js +1 -1
- package/dist/federation/a2a-types.js.map +1 -1
- package/dist/findings/verdicts.d.ts +241 -0
- package/dist/findings/verdicts.d.ts.map +1 -0
- package/dist/findings/verdicts.js +284 -0
- package/dist/findings/verdicts.js.map +1 -0
- package/dist/gateway/adapters.d.ts +65 -0
- package/dist/gateway/adapters.d.ts.map +1 -1
- package/dist/gateway/adapters.js +216 -10
- package/dist/gateway/adapters.js.map +1 -1
- package/dist/gateway/channel-directory.d.ts +31 -0
- package/dist/gateway/channel-directory.d.ts.map +1 -1
- package/dist/gateway/channel-directory.js +40 -0
- package/dist/gateway/channel-directory.js.map +1 -1
- package/dist/gateway/gateway-log.d.ts +1 -1
- package/dist/gateway/gateway-log.d.ts.map +1 -1
- package/dist/gateway/gateway-log.js.map +1 -1
- package/dist/gateway/hooks.d.ts +87 -19
- package/dist/gateway/hooks.d.ts.map +1 -1
- package/dist/gateway/hooks.js +62 -23
- package/dist/gateway/hooks.js.map +1 -1
- package/dist/gateway/inbound-media.d.ts +147 -0
- package/dist/gateway/inbound-media.d.ts.map +1 -0
- package/dist/gateway/inbound-media.js +317 -0
- package/dist/gateway/inbound-media.js.map +1 -0
- package/dist/gateway/inbox.d.ts +8 -1
- package/dist/gateway/inbox.d.ts.map +1 -1
- package/dist/gateway/inbox.js.map +1 -1
- package/dist/gateway/platform-config.d.ts +14 -0
- package/dist/gateway/platform-config.d.ts.map +1 -1
- package/dist/gateway/platform-config.js +26 -8
- package/dist/gateway/platform-config.js.map +1 -1
- package/dist/gateway/realtime.d.ts +114 -0
- package/dist/gateway/realtime.d.ts.map +1 -0
- package/dist/gateway/realtime.js +402 -0
- package/dist/gateway/realtime.js.map +1 -0
- package/dist/gateway/registry.d.ts +31 -0
- package/dist/gateway/registry.d.ts.map +1 -1
- package/dist/gateway/registry.js +224 -4
- package/dist/gateway/registry.js.map +1 -1
- package/dist/gateway/whatsapp/baileys-bridge.d.ts +11 -1
- package/dist/gateway/whatsapp/baileys-bridge.d.ts.map +1 -1
- package/dist/gateway/whatsapp/baileys-bridge.js +123 -4
- package/dist/gateway/whatsapp/baileys-bridge.js.map +1 -1
- package/dist/gateway/whatsapp/bridge.d.ts +6 -2
- package/dist/gateway/whatsapp/bridge.d.ts.map +1 -1
- package/dist/gateway/whatsapp/bridge.js.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/inference/factory.d.ts +14 -0
- package/dist/inference/factory.d.ts.map +1 -1
- package/dist/inference/factory.js +17 -0
- package/dist/inference/factory.js.map +1 -1
- package/dist/inference/groq-adapter.d.ts +2 -0
- package/dist/inference/groq-adapter.d.ts.map +1 -1
- package/dist/inference/groq-adapter.js +16 -6
- package/dist/inference/groq-adapter.js.map +1 -1
- package/dist/inference/model-validator.d.ts +6 -1
- package/dist/inference/model-validator.d.ts.map +1 -1
- package/dist/inference/model-validator.js +7 -2
- package/dist/inference/model-validator.js.map +1 -1
- package/dist/inference/route-resolver.d.ts +116 -0
- package/dist/inference/route-resolver.d.ts.map +1 -0
- package/dist/inference/route-resolver.js +159 -0
- package/dist/inference/route-resolver.js.map +1 -0
- package/dist/inference/tools.d.ts.map +1 -1
- package/dist/inference/tools.js +29 -0
- package/dist/inference/tools.js.map +1 -1
- package/dist/learning/autonomy-policy.d.ts +18 -0
- package/dist/learning/autonomy-policy.d.ts.map +1 -1
- package/dist/learning/autonomy-policy.js +35 -0
- package/dist/learning/autonomy-policy.js.map +1 -1
- package/dist/learning/benchmark.d.ts.map +1 -1
- package/dist/learning/benchmark.js +3 -2
- package/dist/learning/benchmark.js.map +1 -1
- package/dist/learning/continuation.d.ts.map +1 -1
- package/dist/learning/continuation.js +2 -1
- package/dist/learning/continuation.js.map +1 -1
- package/dist/learning/cost-tracker.d.ts.map +1 -1
- package/dist/learning/cost-tracker.js +2 -1
- package/dist/learning/cost-tracker.js.map +1 -1
- package/dist/learning/deferred-task.d.ts.map +1 -1
- package/dist/learning/deferred-task.js +13 -4
- package/dist/learning/deferred-task.js.map +1 -1
- package/dist/learning/eval-framework.d.ts.map +1 -1
- package/dist/learning/eval-framework.js +2 -1
- package/dist/learning/eval-framework.js.map +1 -1
- package/dist/learning/long-form.d.ts.map +1 -1
- package/dist/learning/long-form.js +2 -1
- package/dist/learning/long-form.js.map +1 -1
- package/dist/learning/model-registry.d.ts.map +1 -1
- package/dist/learning/model-registry.js +2 -1
- package/dist/learning/model-registry.js.map +1 -1
- package/dist/learning/reasoning-cache.d.ts.map +1 -1
- package/dist/learning/reasoning-cache.js +2 -1
- package/dist/learning/reasoning-cache.js.map +1 -1
- package/dist/learning/reasoning-trace.d.ts +38 -2
- package/dist/learning/reasoning-trace.d.ts.map +1 -1
- package/dist/learning/reasoning-trace.js +91 -1
- package/dist/learning/reasoning-trace.js.map +1 -1
- package/dist/learning/resilient-call.d.ts.map +1 -1
- package/dist/learning/resilient-call.js +31 -18
- package/dist/learning/resilient-call.js.map +1 -1
- package/dist/learning/retrieval.d.ts.map +1 -1
- package/dist/learning/retrieval.js +2 -1
- package/dist/learning/retrieval.js.map +1 -1
- package/dist/learning/seeded-benchmark.d.ts +160 -0
- package/dist/learning/seeded-benchmark.d.ts.map +1 -0
- package/dist/learning/seeded-benchmark.js +321 -0
- package/dist/learning/seeded-benchmark.js.map +1 -0
- package/dist/learning/seeded-bugs.d.ts +142 -0
- package/dist/learning/seeded-bugs.d.ts.map +1 -0
- package/dist/learning/seeded-bugs.js +535 -0
- package/dist/learning/seeded-bugs.js.map +1 -0
- package/dist/learning/skill-store.d.ts.map +1 -1
- package/dist/learning/skill-store.js +30 -9
- package/dist/learning/skill-store.js.map +1 -1
- package/dist/learning/step-checkpoint.d.ts +127 -0
- package/dist/learning/step-checkpoint.d.ts.map +1 -0
- package/dist/learning/step-checkpoint.js +244 -0
- package/dist/learning/step-checkpoint.js.map +1 -0
- package/dist/mcp/catalog.js +2 -3
- package/dist/mcp/catalog.js.map +1 -1
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +5 -3
- package/dist/mcp/manager.js.map +1 -1
- package/dist/nlu/intent-confirm.d.ts +23 -1
- package/dist/nlu/intent-confirm.d.ts.map +1 -1
- package/dist/nlu/intent-confirm.js +85 -2
- package/dist/nlu/intent-confirm.js.map +1 -1
- package/dist/nlu/learnings.d.ts +7 -0
- package/dist/nlu/learnings.d.ts.map +1 -1
- package/dist/nlu/learnings.js +7 -0
- package/dist/nlu/learnings.js.map +1 -1
- package/dist/observability/debug-log.d.ts +250 -0
- package/dist/observability/debug-log.d.ts.map +1 -0
- package/dist/observability/debug-log.js +500 -0
- package/dist/observability/debug-log.js.map +1 -0
- package/dist/observability/event-bus.d.ts.map +1 -1
- package/dist/observability/event-bus.js +4 -1
- package/dist/observability/event-bus.js.map +1 -1
- package/dist/observability/otel.d.ts +278 -0
- package/dist/observability/otel.d.ts.map +1 -0
- package/dist/observability/otel.js +590 -0
- package/dist/observability/otel.js.map +1 -0
- package/dist/parity/drivers.d.ts +99 -0
- package/dist/parity/drivers.d.ts.map +1 -0
- package/dist/parity/drivers.js +1362 -0
- package/dist/parity/drivers.js.map +1 -0
- package/dist/parity/graph.d.ts +73 -0
- package/dist/parity/graph.d.ts.map +1 -0
- package/dist/parity/graph.js +162 -0
- package/dist/parity/graph.js.map +1 -0
- package/dist/parity/matrix.d.ts +105 -0
- package/dist/parity/matrix.d.ts.map +1 -0
- package/dist/parity/matrix.js +352 -0
- package/dist/parity/matrix.js.map +1 -0
- package/dist/parity/observation.d.ts +444 -0
- package/dist/parity/observation.d.ts.map +1 -0
- package/dist/parity/observation.js +333 -0
- package/dist/parity/observation.js.map +1 -0
- package/dist/parity/scenarios.d.ts +229 -0
- package/dist/parity/scenarios.d.ts.map +1 -0
- package/dist/parity/scenarios.js +175 -0
- package/dist/parity/scenarios.js.map +1 -0
- package/dist/parity/surfaces.d.ts +122 -0
- package/dist/parity/surfaces.d.ts.map +1 -0
- package/dist/parity/surfaces.js +190 -0
- package/dist/parity/surfaces.js.map +1 -0
- package/dist/runtime/fault-injection.d.ts +173 -0
- package/dist/runtime/fault-injection.d.ts.map +1 -0
- package/dist/runtime/fault-injection.js +281 -0
- package/dist/runtime/fault-injection.js.map +1 -0
- package/dist/skills/secret-capture.d.ts.map +1 -1
- package/dist/skills/secret-capture.js +9 -4
- package/dist/skills/secret-capture.js.map +1 -1
- package/dist/tools/child-agent-entry.d.ts +23 -0
- package/dist/tools/child-agent-entry.d.ts.map +1 -0
- package/dist/tools/child-agent-entry.js +129 -0
- package/dist/tools/child-agent-entry.js.map +1 -0
- package/dist/tools/child-agent-runtime.d.ts +124 -0
- package/dist/tools/child-agent-runtime.d.ts.map +1 -0
- package/dist/tools/child-agent-runtime.js +704 -0
- package/dist/tools/child-agent-runtime.js.map +1 -0
- package/dist/tools/coding-tools.d.ts.map +1 -1
- package/dist/tools/coding-tools.js +82 -10
- package/dist/tools/coding-tools.js.map +1 -1
- package/dist/tools/credentials-tool.d.ts +24 -0
- package/dist/tools/credentials-tool.d.ts.map +1 -0
- package/dist/tools/credentials-tool.js +125 -0
- package/dist/tools/credentials-tool.js.map +1 -0
- package/dist/tools/delegation-system.d.ts +31 -0
- package/dist/tools/delegation-system.d.ts.map +1 -1
- package/dist/tools/delegation-system.js +70 -9
- package/dist/tools/delegation-system.js.map +1 -1
- package/dist/tools/extract/docx.d.ts +27 -0
- package/dist/tools/extract/docx.d.ts.map +1 -0
- package/dist/tools/extract/docx.js +48 -0
- package/dist/tools/extract/docx.js.map +1 -0
- package/dist/tools/extract/html-text.d.ts +27 -0
- package/dist/tools/extract/html-text.d.ts.map +1 -0
- package/dist/tools/extract/html-text.js +86 -0
- package/dist/tools/extract/html-text.js.map +1 -0
- package/dist/tools/extract/pdf-ocr.d.ts +58 -0
- package/dist/tools/extract/pdf-ocr.d.ts.map +1 -0
- package/dist/tools/extract/pdf-ocr.js +116 -0
- package/dist/tools/extract/pdf-ocr.js.map +1 -0
- package/dist/tools/extract/pdf.d.ts +65 -0
- package/dist/tools/extract/pdf.d.ts.map +1 -0
- package/dist/tools/extract/pdf.js +197 -0
- package/dist/tools/extract/pdf.js.map +1 -0
- package/dist/tools/extract/pptx.d.ts +32 -0
- package/dist/tools/extract/pptx.d.ts.map +1 -0
- package/dist/tools/extract/pptx.js +77 -0
- package/dist/tools/extract/pptx.js.map +1 -0
- package/dist/tools/extract/xlsx.d.ts +47 -0
- package/dist/tools/extract/xlsx.d.ts.map +1 -0
- package/dist/tools/extract/xlsx.js +111 -0
- package/dist/tools/extract/xlsx.js.map +1 -0
- package/dist/tools/finding-tool.d.ts +76 -0
- package/dist/tools/finding-tool.d.ts.map +1 -0
- package/dist/tools/finding-tool.js +125 -0
- package/dist/tools/finding-tool.js.map +1 -0
- package/dist/tools/git-tool.d.ts +25 -7
- package/dist/tools/git-tool.d.ts.map +1 -1
- package/dist/tools/git-tool.js +155 -15
- package/dist/tools/git-tool.js.map +1 -1
- package/dist/tools/loop-project-context.d.ts.map +1 -1
- package/dist/tools/loop-project-context.js +16 -0
- package/dist/tools/loop-project-context.js.map +1 -1
- package/dist/tools/loop-route-feed.d.ts +57 -0
- package/dist/tools/loop-route-feed.d.ts.map +1 -0
- package/dist/tools/loop-route-feed.js +101 -0
- package/dist/tools/loop-route-feed.js.map +1 -0
- package/dist/tools/messaging-tools.d.ts +41 -11
- package/dist/tools/messaging-tools.d.ts.map +1 -1
- package/dist/tools/messaging-tools.js +104 -55
- package/dist/tools/messaging-tools.js.map +1 -1
- package/dist/tools/neutts-synth.d.ts +27 -3
- package/dist/tools/neutts-synth.d.ts.map +1 -1
- package/dist/tools/neutts-synth.js +57 -13
- package/dist/tools/neutts-synth.js.map +1 -1
- package/dist/tools/pipeline-tool.d.ts +43 -1
- package/dist/tools/pipeline-tool.d.ts.map +1 -1
- package/dist/tools/pipeline-tool.js +21 -4
- package/dist/tools/pipeline-tool.js.map +1 -1
- package/dist/tools/publish-tool.d.ts.map +1 -1
- package/dist/tools/publish-tool.js +76 -10
- package/dist/tools/publish-tool.js.map +1 -1
- package/dist/tools/read-extract.d.ts +116 -45
- package/dist/tools/read-extract.d.ts.map +1 -1
- package/dist/tools/read-extract.js +494 -158
- package/dist/tools/read-extract.js.map +1 -1
- package/dist/tools/registry.d.ts +23 -3
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +196 -29
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/run-terminal.d.ts +9 -0
- package/dist/tools/run-terminal.d.ts.map +1 -1
- package/dist/tools/run-terminal.js +80 -2
- package/dist/tools/run-terminal.js.map +1 -1
- package/dist/tools/subagent-refusal.d.ts +15 -0
- package/dist/tools/subagent-refusal.d.ts.map +1 -0
- package/dist/tools/subagent-refusal.js +18 -0
- package/dist/tools/subagent-refusal.js.map +1 -0
- package/dist/tools/subagent-spawner.d.ts +122 -0
- package/dist/tools/subagent-spawner.d.ts.map +1 -1
- package/dist/tools/subagent-spawner.js +249 -28
- package/dist/tools/subagent-spawner.js.map +1 -1
- package/dist/tools/tool-hooks.d.ts +177 -0
- package/dist/tools/tool-hooks.d.ts.map +1 -0
- package/dist/tools/tool-hooks.js +427 -0
- package/dist/tools/tool-hooks.js.map +1 -0
- package/dist/tools/tool-loop.d.ts +94 -5
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +315 -9
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/tools/tool-refusal.d.ts +68 -0
- package/dist/tools/tool-refusal.d.ts.map +1 -0
- package/dist/tools/tool-refusal.js +78 -0
- package/dist/tools/tool-refusal.js.map +1 -0
- package/dist/tools/toolsets.d.ts +8 -0
- package/dist/tools/toolsets.d.ts.map +1 -1
- package/dist/tools/toolsets.js +14 -4
- package/dist/tools/toolsets.js.map +1 -1
- package/dist/tools/vision-tools.d.ts +88 -83
- package/dist/tools/vision-tools.d.ts.map +1 -1
- package/dist/tools/vision-tools.js +134 -103
- package/dist/tools/vision-tools.js.map +1 -1
- package/dist/tools/worktree.d.ts +210 -0
- package/dist/tools/worktree.d.ts.map +1 -0
- package/dist/tools/worktree.js +374 -0
- package/dist/tools/worktree.js.map +1 -0
- package/dist/utils/format.d.ts +3 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +32 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/web-dashboard/attachment-extract.d.ts +64 -0
- package/dist/web-dashboard/attachment-extract.d.ts.map +1 -0
- package/dist/web-dashboard/attachment-extract.js +154 -0
- package/dist/web-dashboard/attachment-extract.js.map +1 -0
- package/dist/web-dashboard/chat-console.d.ts +108 -1
- package/dist/web-dashboard/chat-console.d.ts.map +1 -1
- package/dist/web-dashboard/chat-console.js +36 -0
- package/dist/web-dashboard/chat-console.js.map +1 -1
- package/dist/web-dashboard/hub-data.d.ts +37 -0
- package/dist/web-dashboard/hub-data.d.ts.map +1 -1
- package/dist/web-dashboard/hub-data.js +61 -1
- package/dist/web-dashboard/hub-data.js.map +1 -1
- package/dist/web-dashboard/server.d.ts +14 -0
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +247 -13
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +196 -48
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/dist/workflow/registry.js +1 -1
- package/dist/workflow/registry.js.map +1 -1
- package/package.json +22 -6
- package/src/web-dashboard/public/assets/{index-Cyd6tIew.css → index-XJjj2cBX.css} +1 -1
- package/src/web-dashboard/public/assets/index-YWF9FpwQ.js +207 -0
- package/src/web-dashboard/public/assets/index-YWF9FpwQ.js.map +1 -0
- package/src/web-dashboard/public/index.html +2 -2
- package/dist/tools/child-agent-worker.js +0 -212
- package/src/web-dashboard/public/assets/index-CjvoBhlz.js +0 -207
- package/src/web-dashboard/public/assets/index-CjvoBhlz.js.map +0 -1
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Release preflight — check the things a release cannot undo BEFORE it starts.
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS. A live release run bumped the version, committed, tagged and
|
|
5
|
+
* pushed `v3.3.2` — and only THEN discovered it could not publish, because the
|
|
6
|
+
* version-pinned CLI cast still recorded 3.3.1 and `prepublishOnly`'s test run
|
|
7
|
+
* refuses a stale artifact. Everything irreversible had already happened. A
|
|
8
|
+
* release has exactly one cheap moment: before the first phase.
|
|
9
|
+
*
|
|
10
|
+
* The checks are chosen by the same rule `credentials verify` follows — report
|
|
11
|
+
* what was MEASURED, and never fail on a check that could not be made:
|
|
12
|
+
*
|
|
13
|
+
* 1. `npm view <name>@<version>` — is this version already published? (The one
|
|
14
|
+
* condition under which the whole run is pointless; npm is immutable, so a
|
|
15
|
+
* second publish of 3.3.2 can only fail.)
|
|
16
|
+
* 2. The working tree — is it a git repo, is there a remote, is the branch
|
|
17
|
+
* ahead/behind, does the target tag already exist locally or on the remote?
|
|
18
|
+
* 3. The provider×model pair — ONLY when a phase will actually call a model.
|
|
19
|
+
* Since the release phases became deterministic that is normally zero
|
|
20
|
+
* phases, and claiming to have verified a route nothing will use would be
|
|
21
|
+
* exactly the kind of decorative check this repo keeps deleting.
|
|
22
|
+
*
|
|
23
|
+
* A `definitive` failure (the registry answered, the version exists, the tag is
|
|
24
|
+
* taken) blocks the run unless `--force`. An `unknown` (offline, no npm token,
|
|
25
|
+
* no network) warns and continues — a closed network must not make releases
|
|
26
|
+
* impossible, and pretending those checks passed would be worse than admitting
|
|
27
|
+
* they did not run.
|
|
28
|
+
*/
|
|
29
|
+
import { execSync } from 'node:child_process';
|
|
30
|
+
import { readFileSync } from 'node:fs';
|
|
31
|
+
import { join } from 'node:path';
|
|
32
|
+
import { resolveProvider } from '../cli/router.js';
|
|
33
|
+
import { resolveRoute } from '../inference/route-resolver.js';
|
|
34
|
+
import { logger } from '../utils/logger.js';
|
|
35
|
+
const defaultRunner = (command, timeoutMs = 60_000) => {
|
|
36
|
+
try {
|
|
37
|
+
const output = execSync(`${command} 2>&1`, { timeout: timeoutMs, encoding: 'utf-8', stdio: 'pipe' });
|
|
38
|
+
return { ok: true, output: (output || '').trim() };
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
const error = err;
|
|
42
|
+
return { ok: false, output: (error.stdout || error.stderr || error.message || '').trim() };
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Read the package name/version the release concerns.
|
|
47
|
+
* Exported for tests and for the caller that computes the target version.
|
|
48
|
+
*/
|
|
49
|
+
export function readReleaseTarget(cwd = process.cwd()) {
|
|
50
|
+
try {
|
|
51
|
+
const raw = readFileSync(join(cwd, 'package.json'), 'utf-8');
|
|
52
|
+
const pkg = JSON.parse(raw);
|
|
53
|
+
return { name: pkg.name || '', version: pkg.version || '', private: pkg.private };
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/** Is `name@version` already on the registry? */
|
|
60
|
+
export function checkVersionPublished(name, version, runner = defaultRunner) {
|
|
61
|
+
const name_ = 'npm version available';
|
|
62
|
+
if (!name || !version) {
|
|
63
|
+
return { name: name_, status: 'warn', detail: 'no package name/version to check', definitive: false };
|
|
64
|
+
}
|
|
65
|
+
const result = runner(`npm view "${name}@${version}" version`, 60_000);
|
|
66
|
+
if (result.ok && result.output.includes(version)) {
|
|
67
|
+
return {
|
|
68
|
+
name: name_,
|
|
69
|
+
status: 'block',
|
|
70
|
+
detail: `${name}@${version} is ALREADY published — a second publish of the same version cannot succeed. Bump further or fix the version.`,
|
|
71
|
+
definitive: true,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
if (!result.ok && /E404|not found|No match found/i.test(result.output)) {
|
|
75
|
+
// The definitive "this version does not exist yet" answer.
|
|
76
|
+
return { name: name_, status: 'ok', detail: `${name}@${version} is not published yet`, definitive: true };
|
|
77
|
+
}
|
|
78
|
+
// Offline, registry error, no token — an unanswerable question.
|
|
79
|
+
return {
|
|
80
|
+
name: name_,
|
|
81
|
+
status: 'warn',
|
|
82
|
+
detail: `could not check the registry (${result.output.split('\n')[0]?.slice(0, 120) || 'no output'})`,
|
|
83
|
+
definitive: false,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/** Repo/remote/tag state — the facts that make a push succeed or collide. */
|
|
87
|
+
export function checkGitState(targetVersion, cwd = process.cwd(), runner = defaultRunner) {
|
|
88
|
+
const run = runner;
|
|
89
|
+
const checks = [];
|
|
90
|
+
const inside = run('git rev-parse --is-inside-work-tree', 15_000);
|
|
91
|
+
if (!inside.ok || !inside.output.includes('true')) {
|
|
92
|
+
return [{ name: 'git repository', status: 'block', detail: `${cwd} is not a git repository`, definitive: true }];
|
|
93
|
+
}
|
|
94
|
+
const remotes = run('git remote', 15_000);
|
|
95
|
+
checks.push(remotes.ok && remotes.output.trim()
|
|
96
|
+
? { name: 'git remote', status: 'ok', detail: remotes.output.split('\n')[0].trim(), definitive: true }
|
|
97
|
+
: { name: 'git remote', status: 'block', detail: 'no git remote configured — the commit could not be pushed', definitive: true });
|
|
98
|
+
const tag = `v${targetVersion}`;
|
|
99
|
+
const localTag = run(`git tag -l "${tag}"`, 15_000);
|
|
100
|
+
const tagExistsLocally = localTag.ok && localTag.output.trim() === tag;
|
|
101
|
+
// The remote answer needs the network; a failure here is 'unknown', not 'fine'.
|
|
102
|
+
const remoteTag = run(`git ls-remote --tags origin "refs/tags/${tag}"`, 60_000);
|
|
103
|
+
const tagExistsRemotely = remoteTag.ok && remoteTag.output.trim().length > 0;
|
|
104
|
+
if (tagExistsLocally || tagExistsRemotely) {
|
|
105
|
+
checks.push({
|
|
106
|
+
name: 'release tag',
|
|
107
|
+
status: 'block',
|
|
108
|
+
detail: `${tag} already exists ${tagExistsRemotely ? 'on the remote' : 'locally'} — ` +
|
|
109
|
+
'publishing this version again is not possible; bump further or delete the tag deliberately.',
|
|
110
|
+
definitive: true,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
else if (!remoteTag.ok) {
|
|
114
|
+
checks.push({
|
|
115
|
+
name: 'release tag',
|
|
116
|
+
status: 'warn',
|
|
117
|
+
detail: `could not check the remote for ${tag} (${remoteTag.output.split('\n')[0]?.slice(0, 100) || 'no output'})`,
|
|
118
|
+
definitive: false,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
checks.push({ name: 'release tag', status: 'ok', detail: `${tag} is free locally and on the remote`, definitive: true });
|
|
123
|
+
}
|
|
124
|
+
const dirty = run('git status --porcelain', 30_000);
|
|
125
|
+
if (dirty.ok) {
|
|
126
|
+
const count = dirty.output.split('\n').filter(Boolean).length;
|
|
127
|
+
checks.push({
|
|
128
|
+
name: 'working tree',
|
|
129
|
+
status: count === 0 ? 'ok' : 'warn',
|
|
130
|
+
detail: count === 0 ? 'clean' : `${count} uncommitted change(s) will be included in the release commit`,
|
|
131
|
+
definitive: true,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
return checks;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Run every check. Never throws; a check that cannot run reports `warn`.
|
|
138
|
+
*/
|
|
139
|
+
export async function runReleasePreflight(input) {
|
|
140
|
+
const cwd = input.cwd || process.cwd();
|
|
141
|
+
const target = readReleaseTarget(cwd);
|
|
142
|
+
const checks = [];
|
|
143
|
+
if (!target) {
|
|
144
|
+
checks.push({ name: 'package.json', status: 'block', detail: `no readable package.json in ${cwd}`, definitive: true });
|
|
145
|
+
}
|
|
146
|
+
else if (target.private) {
|
|
147
|
+
checks.push({
|
|
148
|
+
name: 'package privacy',
|
|
149
|
+
status: 'block',
|
|
150
|
+
detail: 'package.json is `private: true` — npm refuses to publish it',
|
|
151
|
+
definitive: true,
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
checks.push(...checkGitState(input.targetVersion, cwd, input.runner));
|
|
156
|
+
checks.push(checkVersionPublished(target.name, input.targetVersion, input.runner));
|
|
157
|
+
}
|
|
158
|
+
// The model pair, ONLY when a phase will call a model. Reporting a verified
|
|
159
|
+
// route nothing uses would be a decorative check.
|
|
160
|
+
if (input.needsModel) {
|
|
161
|
+
if (!input.probeModel) {
|
|
162
|
+
checks.push({
|
|
163
|
+
name: 'provider×model',
|
|
164
|
+
status: 'warn',
|
|
165
|
+
detail: 'a phase will call a model, but no probe was supplied — the route is unverified',
|
|
166
|
+
definitive: false,
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
try {
|
|
171
|
+
const probe = await input.probeModel();
|
|
172
|
+
checks.push({
|
|
173
|
+
name: 'provider×model',
|
|
174
|
+
status: probe.ok ? 'ok' : probe.checked ? 'block' : 'warn',
|
|
175
|
+
detail: probe.detail,
|
|
176
|
+
definitive: probe.checked,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
catch (err) {
|
|
180
|
+
checks.push({
|
|
181
|
+
name: 'provider×model',
|
|
182
|
+
status: 'warn',
|
|
183
|
+
detail: `probe failed: ${err instanceof Error ? err.message : String(err)}`.slice(0, 200),
|
|
184
|
+
definitive: false,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
const blocked = checks.some((c) => c.status === 'block' && c.definitive);
|
|
190
|
+
return { checks, blocked, summary: formatPreflight({ checks, blocked }) };
|
|
191
|
+
}
|
|
192
|
+
/** One screen: what was verified, what could not be, and what stops the run. */
|
|
193
|
+
export function formatPreflight(result) {
|
|
194
|
+
const icon = (c) => c.status === 'ok' ? '✅' : c.status === 'warn' ? '⚠️ ' : '❌';
|
|
195
|
+
const lines = ['📋 Release preflight'];
|
|
196
|
+
for (const c of result.checks) {
|
|
197
|
+
lines.push(` ${icon(c)} ${c.name}: ${c.detail}`);
|
|
198
|
+
}
|
|
199
|
+
if (result.blocked) {
|
|
200
|
+
lines.push(' → These are definitive: the release is stopped before anything irreversible happens.');
|
|
201
|
+
}
|
|
202
|
+
else if (result.checks.some((c) => c.status === 'warn')) {
|
|
203
|
+
lines.push(' → Warnings could not be verified (offline / no token). The release will run; they are not claims that it passed.');
|
|
204
|
+
}
|
|
205
|
+
return lines.join('\n');
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Verify the route a model-calling phase would use — WITHOUT spending a
|
|
209
|
+
* generation.
|
|
210
|
+
*
|
|
211
|
+
* What this genuinely proves: the provider is constructible and reachable, and
|
|
212
|
+
* the model exists on it (the resolver validates against the provider's LIVE
|
|
213
|
+
* model list, which is a real API call). What it does NOT prove: that a
|
|
214
|
+
* generation succeeds for this prompt. The detail string says exactly that, so
|
|
215
|
+
* the report cannot be read as more than it is.
|
|
216
|
+
*/
|
|
217
|
+
export async function probeProviderModel(configManager, providerOption, modelOption) {
|
|
218
|
+
try {
|
|
219
|
+
const resolved = resolveProvider(configManager, providerOption);
|
|
220
|
+
if (typeof resolved.provider.isAvailable === 'function' && !(await resolved.provider.isAvailable())) {
|
|
221
|
+
return { ok: false, checked: true, detail: `${resolved.type} reports itself unavailable (missing key or unreachable)` };
|
|
222
|
+
}
|
|
223
|
+
const route = await resolveRoute({
|
|
224
|
+
providerType: resolved.type,
|
|
225
|
+
provider: resolved.provider,
|
|
226
|
+
model: modelOption,
|
|
227
|
+
source: 'publish',
|
|
228
|
+
task: 'release preflight',
|
|
229
|
+
});
|
|
230
|
+
const substituted = route.substituted ? ` (requested '${route.requested}' was substituted)` : '';
|
|
231
|
+
return {
|
|
232
|
+
ok: true,
|
|
233
|
+
checked: true,
|
|
234
|
+
detail: `${resolved.type}/${route.model} exists on the provider's live model list${substituted}; ` +
|
|
235
|
+
'a generation was NOT attempted — this verifies the pair, not a successful call',
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
catch (err) {
|
|
239
|
+
return {
|
|
240
|
+
ok: false,
|
|
241
|
+
checked: false,
|
|
242
|
+
detail: `could not resolve the pair: ${err instanceof Error ? err.message : String(err)}`.slice(0, 200),
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
/** Log a preflight result at the right level for each status. */
|
|
247
|
+
export function reportPreflight(result) {
|
|
248
|
+
for (const check of result.checks) {
|
|
249
|
+
const line = ` ${check.status === 'ok' ? '✅' : check.status === 'warn' ? '⚠️ ' : '❌'} preflight · ${check.name}: ${check.detail}`;
|
|
250
|
+
if (check.status === 'ok')
|
|
251
|
+
logger.info(line);
|
|
252
|
+
else
|
|
253
|
+
logger.warn(line);
|
|
254
|
+
}
|
|
255
|
+
if (result.blocked) {
|
|
256
|
+
logger.error(' ❌ preflight found a definitive blocker — the release did not start (use --force to override)');
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
//# sourceMappingURL=release-preflight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release-preflight.js","sourceRoot":"","sources":["../../src/agents/release-preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmC5C,MAAM,aAAa,GAAkB,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,EAAE,EAAE;IACnE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,OAAO,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACrG,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAA6D,CAAC;QAC5E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IAC7F,CAAC;AACH,CAAC,CAAC;AAkBF;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACnD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA2D,CAAC;QACtF,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,OAAe,EACf,SAAwB,aAAa;IAErC,MAAM,KAAK,GAAG,uBAAuB,CAAC;IACtC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACxG,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,IAAI,IAAI,OAAO,WAAW,EAAE,MAAM,CAAC,CAAC;IACvE,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,OAAO;YACL,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,GAAG,IAAI,IAAI,OAAO,+GAA+G;YACzI,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACvE,2DAA2D;QAC3D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,IAAI,OAAO,uBAAuB,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC5G,CAAC;IACD,gEAAgE;IAChE,OAAO;QACL,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,iCAAiC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,WAAW,GAAG;QACtG,UAAU,EAAE,KAAK;KAClB,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAC3B,aAAqB,EACrB,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EACnB,SAAwB,aAAa;IAErC,MAAM,GAAG,GAAG,MAAM,CAAC;IACnB,MAAM,MAAM,GAAqB,EAAE,CAAC;IAEpC,MAAM,MAAM,GAAG,GAAG,CAAC,qCAAqC,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,0BAA0B,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACnH,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,CACT,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;QACjC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;QACtG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,2DAA2D,EAAE,UAAU,EAAE,IAAI,EAAE,CACnI,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,aAAa,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC;IAEvE,gFAAgF;IAChF,MAAM,SAAS,GAAG,GAAG,CAAC,0CAA0C,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC;IAChF,MAAM,iBAAiB,GAAG,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAE7E,IAAI,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,OAAO;YACf,MAAM,EACJ,GAAG,GAAG,mBAAmB,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,KAAK;gBAC7E,6FAA6F;YAC/F,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,kCAAkC,GAAG,KAAK,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,WAAW,GAAG;YAClH,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,oCAAoC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3H,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YACnC,MAAM,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,+DAA+D;YACvG,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAqB;IAC7D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,MAAM,GAAqB,EAAE,CAAC;IAEpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,+BAA+B,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACzH,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,6DAA6D;YACrE,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,4EAA4E;IAC5E,kDAAkD;IAClD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,gFAAgF;gBACxF,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;oBAC1D,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,UAAU,EAAE,KAAK,CAAC,OAAO;iBAC1B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,iBAAiB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBACzF,UAAU,EAAE,KAAK;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;IACzE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,eAAe,CAAC,MAAsD;IACpF,MAAM,IAAI,GAAG,CAAC,CAAiB,EAAU,EAAE,CACzC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;IAE9D,MAAM,KAAK,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;IACvG,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,oHAAoH,CAAC,CAAC;IACnI,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,aAA4B,EAC5B,cAAuB,EACvB,WAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAChE,IAAI,OAAO,QAAQ,CAAC,QAAQ,CAAC,WAAW,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACpG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,0DAA0D,EAAE,CAAC;QAC1H,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;YAC/B,YAAY,EAAE,QAAQ,CAAC,IAAI;YAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,mBAAmB;SAC1B,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,KAAK,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;QACjG,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,IAAI;YACb,MAAM,EACJ,GAAG,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,4CAA4C,WAAW,IAAI;gBAC1F,gFAAgF;SACnF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;SACxG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,eAAe,CAAC,MAAuB;IACrD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,gBAAgB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACnI,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,gGAAgG,CAAC,CAAC;IACjH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Release runners — the DETERMINISTIC half of the publish pipeline.
|
|
3
|
+
*
|
|
4
|
+
* `nuvira publish` defines its phases as goals ("Bump version (patch), update
|
|
5
|
+
* CHANGELOG.md with release notes") and used to hand every one of them to the
|
|
6
|
+
* LLM orchestrator. That made a mechanical release depend on plan quality and
|
|
7
|
+
* provider health: a live 3.3.2 run planned an unrelated job (add
|
|
8
|
+
* `standard-version`, write a new `scripts/release.ts`) instead of bumping the
|
|
9
|
+
* version, and the write steps then failed under a rate-limited provider. A
|
|
10
|
+
* release is not a creative task — every step here is a command with a known
|
|
11
|
+
* correct outcome — so each phase now carries a RUNNER, and the orchestrator is
|
|
12
|
+
* only used for phases that have none (e.g. the free-text `evaluate` phase of
|
|
13
|
+
* `nuvira phase add`).
|
|
14
|
+
*
|
|
15
|
+
* Properties that matter:
|
|
16
|
+
* - A runner reads the world at RUN time (version, changelog, branch, remote)
|
|
17
|
+
* rather than closing over state, so a phase resumed later in a new process
|
|
18
|
+
* sees the same facts the filesystem does.
|
|
19
|
+
* - Nothing is invented: the changelog entry is built from `git log`, and the
|
|
20
|
+
* commit headline is the changelog heading when one exists.
|
|
21
|
+
* - An author-written `## vX.Y.Z` section in CHANGELOG.md is LEFT ALONE. The
|
|
22
|
+
* generated entry is a fallback for the case where nobody wrote one, never an
|
|
23
|
+
* overwrite of prose a human wrote.
|
|
24
|
+
* - Failures carry the command's own output as the error, so the summary line
|
|
25
|
+
* the user reads says what npm/git actually said.
|
|
26
|
+
* - A phase refuses the work it must not do, rather than doing it and reporting
|
|
27
|
+
* afterwards: the git phase will not tag a release that changes the dependency
|
|
28
|
+
* set, and the version phase will not commit a version whose pinned artifacts
|
|
29
|
+
* are stale.
|
|
30
|
+
*/
|
|
31
|
+
export type BumpType = 'patch' | 'minor' | 'major';
|
|
32
|
+
export interface PhaseRunOutcome {
|
|
33
|
+
success: boolean;
|
|
34
|
+
summary: string;
|
|
35
|
+
error?: string;
|
|
36
|
+
details?: string;
|
|
37
|
+
}
|
|
38
|
+
/** A phase's deterministic implementation. No arguments: it reads the world. */
|
|
39
|
+
export type ReleasePhaseRunner = () => Promise<PhaseRunOutcome>;
|
|
40
|
+
/** Phase ids produced by `buildPublishPhases` — the runner table's keys. */
|
|
41
|
+
export declare const RELEASE_PHASE_IDS: {
|
|
42
|
+
readonly tests: "phase-1-tests";
|
|
43
|
+
readonly version: "phase-2-version";
|
|
44
|
+
readonly git: "phase-3-git";
|
|
45
|
+
readonly npm: "phase-4-npm";
|
|
46
|
+
readonly github: "phase-5-github";
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* What actually failed, in the form an operator can act on.
|
|
50
|
+
*
|
|
51
|
+
* WHY. A failed Test Verification used to report `tail(output, 400)`, which on a
|
|
52
|
+
* real vitest run is a few characters of the LAST line — the reader learns the
|
|
53
|
+
* suite failed but not which file, which test, or why, and has to re-run the
|
|
54
|
+
* suite by hand to find out. That is the difference between a pipeline that can
|
|
55
|
+
* only refuse and one that can be repaired: the diagnosis is the deliverable.
|
|
56
|
+
* Measured on the release that surfaced this: 7 files and 25 timeouts, none of
|
|
57
|
+
* them named by the pipeline.
|
|
58
|
+
*/
|
|
59
|
+
export interface TestFailureShape {
|
|
60
|
+
/** The failing test files vitest reported, deduped. */
|
|
61
|
+
files: string[];
|
|
62
|
+
/** The failure signatures found, e.g. `Test timed out in 15000ms`. */
|
|
63
|
+
kinds: string[];
|
|
64
|
+
/**
|
|
65
|
+
* EVERY failure was a timeout. Worth its own flag because a timeout is a claim
|
|
66
|
+
* about scheduling or a live network path, not about the code — it is the
|
|
67
|
+
* difference between "the work is broken" and "the machine or the environment
|
|
68
|
+
* was". A release must not be graded on the second by accident.
|
|
69
|
+
*/
|
|
70
|
+
timeoutsOnly: boolean;
|
|
71
|
+
}
|
|
72
|
+
/** Read what failed out of a vitest run, in a form a caller can act on. */
|
|
73
|
+
export declare function testFailureShape(output: string): TestFailureShape;
|
|
74
|
+
/**
|
|
75
|
+
* The digest a failed Test Verification reports: which files, what kind, and
|
|
76
|
+
* whether the shape is the one that means "re-run before blaming the code".
|
|
77
|
+
*/
|
|
78
|
+
export declare function testFailureDigest(output: string, context?: string): string;
|
|
79
|
+
interface PackageManifest {
|
|
80
|
+
version?: string;
|
|
81
|
+
scripts?: Record<string, string>;
|
|
82
|
+
[key: string]: unknown;
|
|
83
|
+
}
|
|
84
|
+
export declare function readManifest(cwd?: string): PackageManifest | null;
|
|
85
|
+
export declare function readVersion(cwd?: string): string;
|
|
86
|
+
/** Pure version arithmetic — exported so it can be pinned by test. */
|
|
87
|
+
export declare function bumpVersionString(current: string, bumpType: BumpType): string;
|
|
88
|
+
/** The tag this release is measured from — version tags only (`v3.3.1`). */
|
|
89
|
+
export declare function lastReleaseTag(): string;
|
|
90
|
+
export declare function commitsSince(base: string): string[];
|
|
91
|
+
/** Does CHANGELOG.md already have a section for this version? Section = `## vX.Y.Z`. */
|
|
92
|
+
export declare function hasChangelogSection(version: string, changelog: string): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* The headline of `## vX.Y.Z — headline`, used as the commit subject.
|
|
95
|
+
* Returns '' when the section carries no headline.
|
|
96
|
+
*/
|
|
97
|
+
export declare function changelogHeadline(version: string, changelog: string): string;
|
|
98
|
+
/** The full text of the `## vX.Y.Z` section, for GitHub release notes. */
|
|
99
|
+
export declare function changelogSection(version: string, changelog: string): string;
|
|
100
|
+
export declare function runTestsPhase(): Promise<PhaseRunOutcome>;
|
|
101
|
+
export declare function runVersionBumpPhase(bumpType?: BumpType): Promise<PhaseRunOutcome>;
|
|
102
|
+
export declare function dependencyDelta(cwd?: string): string[];
|
|
103
|
+
/**
|
|
104
|
+
* Which dependencies moved in a NESTED manifest — staged content vs HEAD's.
|
|
105
|
+
*
|
|
106
|
+
* `null` means NO CLAIM CAN BE MADE: the staged content cannot be read, the file
|
|
107
|
+
* is new (there is no HEAD side), or it is not JSON. A caller must treat `null`
|
|
108
|
+
* as unverifiable rather than as "nothing moved" — this guard exists so a
|
|
109
|
+
* dependency cannot enter a tagged release unseen, and "I could not read it" is
|
|
110
|
+
* not "it is fine".
|
|
111
|
+
*/
|
|
112
|
+
export declare function nestedDependencyDelta(path: string, cwd?: string): string[] | null;
|
|
113
|
+
export interface NestedManifestVerdict {
|
|
114
|
+
/** Dependency edits the guard can name, as `<path>: +pkg (section)`. */
|
|
115
|
+
moved: string[];
|
|
116
|
+
/** Manifests it can make no claim about: new, deleted, unreadable, or a lockfile. */
|
|
117
|
+
unverifiable: string[];
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Decide what a release commit should do about the nested manifests it carries.
|
|
121
|
+
*
|
|
122
|
+
* WHY IT IS NOT "refuse every nested manifest edit". That was the first version,
|
|
123
|
+
* and it produced a FALSE POSITIVE the first time it ran for real: three
|
|
124
|
+
* sub-package manifests (`packages/sdk`, `src/agent-sdk`, `vscode-extension`)
|
|
125
|
+
* whose entire diff was a `repository` / `homepage` URL pointing at the new docs
|
|
126
|
+
* repo. No dependencies moved, yet the release could not be completed without
|
|
127
|
+
* `NUVIRA_ALLOW_DEP_CHANGES=1` — and an override that gets used on a false alarm
|
|
128
|
+
* is an override that stops meaning anything. A URL edit and a dependency edit
|
|
129
|
+
* are distinguishable, so the guard distinguishes them and keeps its teeth for
|
|
130
|
+
* the case it was built for.
|
|
131
|
+
*
|
|
132
|
+
* Lockfiles stay unverifiable on purpose: `yarn.lock`, `pnpm-lock.yaml` and
|
|
133
|
+
* `bun.lock` are not JSON, and a nested lockfile only moves when its sibling's
|
|
134
|
+
* dependencies do.
|
|
135
|
+
*/
|
|
136
|
+
export declare function evaluateNestedManifests(paths: string[], deltaOf: (path: string) => string[] | null): NestedManifestVerdict;
|
|
137
|
+
/**
|
|
138
|
+
* Run the project's own hook for artifacts that embed the version.
|
|
139
|
+
*
|
|
140
|
+
* The hook is an explicit npm script rather than a guess at which directories
|
|
141
|
+
* are generated: a project that needs one declares `release:artifacts`, and a
|
|
142
|
+
* project without it skips this cleanly. Guessing by path ("rebuild if `public/`
|
|
143
|
+
* is tracked") would be wrong in both directions, and wrong silently.
|
|
144
|
+
*/
|
|
145
|
+
export declare function regenerateVersionPinnedArtifacts(): Promise<PhaseRunOutcome>;
|
|
146
|
+
export declare function runGitPhase(): Promise<PhaseRunOutcome>;
|
|
147
|
+
/** Turn npm's exit text into the sentence the user needs. */
|
|
148
|
+
export declare function describeNpmError(output: string): string;
|
|
149
|
+
export declare function runNpmPhase(): Promise<PhaseRunOutcome>;
|
|
150
|
+
export declare function runGitHubReleasePhase(): Promise<PhaseRunOutcome>;
|
|
151
|
+
/**
|
|
152
|
+
* The deterministic implementation for every phase `buildPublishPhases`
|
|
153
|
+
* produces. A phase whose id is absent here keeps the orchestrator.
|
|
154
|
+
*/
|
|
155
|
+
export declare function createReleaseRunners(bumpType: BumpType): Record<string, ReleasePhaseRunner>;
|
|
156
|
+
export {};
|
|
157
|
+
//# sourceMappingURL=release-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release-runner.d.ts","sourceRoot":"","sources":["../../src/agents/release-runner.ts"],"names":[],"mappings":"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"}
|