@atolis-hq/wake 0.2.97 → 0.3.1
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 +5 -5
- package/dist/src/activities/agent/agent-activity-definition.js +26 -0
- package/dist/src/activities/agent/agent-activity.js +171 -0
- package/dist/src/activities/agent/agent-result.js +149 -0
- package/dist/src/activities/contracts/activity.js +10 -0
- package/dist/src/activities/contracts/config.js +2 -0
- package/dist/src/activities/contracts/event-schema.js +302 -0
- package/dist/src/activities/contracts/events.js +42 -0
- package/dist/src/activities/contracts/identifiers.js +29 -0
- package/dist/src/activities/contracts/registry.js +71 -0
- package/dist/src/activities/contracts/streams.js +17 -0
- package/dist/src/activities/contracts/vocabulary.js +58 -0
- package/dist/src/activities/index.js +21 -0
- package/dist/src/activities/pr/activity-support.js +111 -0
- package/dist/src/activities/pr/application.js +158 -0
- package/dist/src/activities/pr/approve.js +85 -0
- package/dist/src/activities/pr/capability.js +11 -0
- package/dist/src/activities/pr/decision-claim.js +76 -0
- package/dist/src/activities/pr/event-drafts.js +66 -0
- package/dist/src/activities/pr/intent.js +37 -0
- package/dist/src/activities/pr/merge-authority-gate.js +14 -0
- package/dist/src/activities/pr/merge.js +110 -0
- package/dist/src/activities/pr/policy.js +135 -0
- package/dist/src/activities/pr/projection.js +130 -0
- package/dist/src/activities/pr/vocabulary.js +30 -0
- package/dist/src/activities/review/authorization.js +22 -0
- package/dist/src/activities/review/contracts.js +22 -0
- package/dist/src/activities/review/signals.js +3 -0
- package/dist/src/bootstrap/analytics-projection.js +26 -0
- package/dist/src/bootstrap/board-projection.js +337 -0
- package/dist/src/bootstrap/composition-root.js +382 -0
- package/dist/src/bootstrap/config/load-config.js +51 -0
- package/dist/src/bootstrap/config/root-schema.js +134 -0
- package/dist/src/bootstrap/external-ref.js +12 -0
- package/dist/src/bootstrap/fake-provider-files.js +44 -0
- package/dist/src/bootstrap/fake-scenarios.js +22 -0
- package/dist/src/bootstrap/index.js +48 -0
- package/dist/src/bootstrap/initialise.js +436 -0
- package/dist/src/bootstrap/paths.js +15 -0
- package/dist/src/bootstrap/projection-runtime.js +27 -0
- package/dist/src/bootstrap/runner-quota-reporter.js +21 -0
- package/dist/src/bootstrap/runner-registry.js +30 -0
- package/dist/src/bootstrap/schedule-checkpoint-store.js +49 -0
- package/dist/src/bootstrap/self-update-application.js +195 -0
- package/dist/src/bootstrap/self-update-failure-log.js +33 -0
- package/dist/src/bootstrap/source-update-port.js +47 -0
- package/dist/src/bootstrap/status-publish-activity.js +42 -0
- package/dist/src/bootstrap/surface-api-applications.js +325 -0
- package/dist/src/bootstrap/surface-api-execution-applications.js +95 -0
- package/dist/src/bootstrap/surface-api-metadata.js +12 -0
- package/dist/src/bootstrap/surface-api-projection-pages.js +22 -0
- package/dist/src/bootstrap/surface-api-run-context.js +5 -0
- package/dist/src/bootstrap/surface-api-transcripts.js +57 -0
- package/dist/src/bootstrap/surface-api-work-applications.js +199 -0
- package/dist/src/bootstrap/surface-applications.js +7 -0
- package/dist/src/bootstrap/surface-cli-applications.js +701 -0
- package/dist/src/bootstrap/update-ledger.js +61 -0
- package/dist/src/bootstrap/update-maintenance-lease.js +176 -0
- package/dist/src/{version.js → bootstrap/version.js} +35 -51
- package/dist/src/control-plane/application/advance-once.js +184 -0
- package/dist/src/control-plane/application/control-plane-projection.js +42 -0
- package/dist/src/control-plane/application/control-plane-service.js +42 -0
- package/dist/src/control-plane/application/intake-pipeline.js +29 -0
- package/dist/src/control-plane/application/runner-control-service.js +66 -0
- package/dist/src/control-plane/application/runner-pipeline.js +57 -0
- package/dist/src/control-plane/application/schedule-service.js +47 -0
- package/dist/src/control-plane/application/work-cancellation-policy.js +31 -0
- package/dist/src/control-plane/contracts/commands.js +10 -0
- package/dist/src/control-plane/contracts/config.js +22 -0
- package/dist/src/control-plane/contracts/events.js +81 -0
- package/dist/src/control-plane/contracts/streams.js +5 -0
- package/dist/src/control-plane/domain/dispatch-policy.js +15 -0
- package/dist/src/control-plane/domain/quota-policy.js +26 -0
- package/dist/src/control-plane/domain/runner-quota.js +35 -0
- package/dist/src/control-plane/domain/schedule-policy.js +46 -0
- package/dist/src/control-plane/index.js +20 -0
- package/dist/src/control-plane/infrastructure/intake-host.js +24 -0
- package/dist/src/control-plane/infrastructure/resident-host.js +45 -0
- package/dist/src/control-plane/infrastructure/tick-host.js +35 -0
- package/dist/src/execution/application/activation-claim.js +50 -0
- package/dist/src/execution/application/active-run-cancellation.js +14 -0
- package/dist/src/execution/application/execution-activity.js +97 -0
- package/dist/src/execution/application/execution-projection.js +17 -0
- package/dist/src/execution/application/execution-service.js +372 -0
- package/dist/src/execution/application/execution-validation.js +26 -0
- package/dist/src/execution/application/recovery-service.js +212 -0
- package/dist/src/execution/application/run-lifecycle.js +115 -0
- package/dist/src/execution/application/run-liveness-service.js +80 -0
- package/dist/src/execution/application/run-repository.js +27 -0
- package/dist/src/execution/contracts/commands.js +1 -0
- package/dist/src/execution/contracts/config.js +35 -0
- package/dist/src/execution/contracts/control-plane.js +1 -0
- package/dist/src/execution/contracts/event-factory.js +53 -0
- package/dist/src/execution/contracts/events.js +274 -0
- package/dist/src/execution/contracts/identifiers.js +5 -0
- package/dist/src/execution/contracts/liveness.js +1 -0
- package/dist/src/execution/contracts/results.js +1 -0
- package/dist/src/execution/contracts/runner.js +15 -0
- package/dist/src/execution/contracts/streams.js +10 -0
- package/dist/src/execution/contracts/views.js +1 -0
- package/dist/src/execution/contracts/vocabulary.js +43 -0
- package/dist/src/execution/contracts/workspace.js +1 -0
- package/dist/src/execution/domain/run-result.js +34 -0
- package/dist/src/execution/domain/run.js +142 -0
- package/dist/src/execution/index.js +31 -0
- package/dist/src/execution/infrastructure/agent-runner-adapter.js +114 -0
- package/dist/src/execution/infrastructure/process-execution.js +29 -0
- package/dist/src/execution/infrastructure/prompt-templates.js +42 -0
- package/dist/src/execution/infrastructure/runners/claude.js +120 -0
- package/dist/src/execution/infrastructure/runners/codex.js +143 -0
- package/dist/src/execution/infrastructure/runners/command.js +4 -0
- package/dist/src/execution/infrastructure/runners/cursor.js +69 -0
- package/dist/src/execution/infrastructure/runners/fake-scenarios.js +99 -0
- package/dist/src/execution/infrastructure/runners/fake.js +65 -0
- package/dist/src/execution/infrastructure/runners/registry.js +26 -0
- package/dist/src/execution/infrastructure/transcript-store.js +223 -0
- package/dist/src/execution/infrastructure/transcripts.js +11 -0
- package/dist/src/execution/infrastructure/workspace/fake-workspace.js +19 -0
- package/dist/src/execution/infrastructure/workspace/git-workspace.js +241 -0
- package/dist/src/integrations/application/agent-run-publication-reactor.js +111 -0
- package/dist/src/integrations/application/artifact-registration-reactor.js +159 -0
- package/dist/src/integrations/application/poll-service.js +25 -0
- package/dist/src/integrations/application/terminal-agent-run-report.js +40 -0
- package/dist/src/integrations/application/work-admission.js +31 -0
- package/dist/src/integrations/application/work-conclusion.js +19 -0
- package/dist/src/integrations/contracts/artifact-events.js +60 -0
- package/dist/src/integrations/contracts/artifact-vocabulary.js +9 -0
- package/dist/src/integrations/contracts/config.js +14 -0
- package/dist/src/integrations/contracts/identifiers.js +5 -0
- package/dist/src/integrations/contracts/intake-rules.js +14 -0
- package/dist/src/integrations/contracts/intake.js +1 -0
- package/dist/src/integrations/contracts/outcome-vocabulary.js +7 -0
- package/dist/src/integrations/contracts/provider.js +37 -0
- package/dist/src/integrations/contracts/streams.js +10 -0
- package/dist/src/integrations/delivery/application/delivery-outcome-reactor.js +75 -0
- package/dist/src/integrations/delivery/application/delivery-projector.js +165 -0
- package/dist/src/integrations/delivery/application/delivery-service.js +173 -0
- package/dist/src/integrations/delivery/contracts/commands.js +1 -0
- package/dist/src/integrations/delivery/contracts/config.js +1 -0
- package/dist/src/integrations/delivery/contracts/event-factory.js +18 -0
- package/dist/src/integrations/delivery/contracts/events.js +86 -0
- package/dist/src/integrations/delivery/contracts/intents.js +89 -0
- package/dist/src/integrations/delivery/contracts/views.js +1 -0
- package/dist/src/integrations/delivery/contracts/vocabulary.js +22 -0
- package/dist/src/integrations/fake/durable-delivery-provider.js +48 -0
- package/dist/src/integrations/fake/external-sink.js +9 -0
- package/dist/src/integrations/fake/external-source.js +44 -0
- package/dist/src/integrations/fake/inbound-translator.js +130 -0
- package/dist/src/integrations/fake/provider.js +95 -0
- package/dist/src/integrations/github/application/agent-context-reader.js +54 -0
- package/dist/src/integrations/github/application/agent-run-comment.js +94 -0
- package/dist/src/integrations/github/application/comment-history-reader.js +43 -0
- package/dist/src/integrations/github/application/inbound-context.js +10 -0
- package/dist/src/integrations/github/application/inbound-review-signals.js +159 -0
- package/dist/src/integrations/github/application/inbound-translator.js +231 -0
- package/dist/src/integrations/github/application/inbound-watch-gate-signals.js +84 -0
- package/dist/src/integrations/github/application/intake-policy.js +23 -0
- package/dist/src/integrations/github/application/outbound-translator.js +47 -0
- package/dist/src/integrations/github/application/poll-service.js +29 -0
- package/dist/src/integrations/github/application/pull-request-translation.js +10 -0
- package/dist/src/integrations/github/application/resource-links.js +8 -0
- package/dist/src/integrations/github/application/review-command-translator.js +16 -0
- package/dist/src/integrations/github/application/wake-labels.js +95 -0
- package/dist/src/integrations/github/contracts/config.js +47 -0
- package/dist/src/integrations/github/contracts/events.js +127 -0
- package/dist/src/integrations/github/contracts/external-key.js +19 -0
- package/dist/src/integrations/github/contracts/payloads.js +9 -0
- package/dist/src/integrations/github/contracts/vocabulary.js +55 -0
- package/dist/src/integrations/github/index.js +31 -0
- package/dist/src/integrations/github/infrastructure/client-reads.js +214 -0
- package/dist/src/integrations/github/infrastructure/client.js +132 -0
- package/dist/src/integrations/github/infrastructure/content-fingerprint.js +10 -0
- package/dist/src/integrations/github/infrastructure/delivery.js +31 -0
- package/dist/src/integrations/github/infrastructure/etag-cache.js +56 -0
- package/dist/src/integrations/github/infrastructure/gh-auth.js +19 -0
- package/dist/src/integrations/github/infrastructure/issue-source.js +109 -0
- package/dist/src/integrations/github/infrastructure/pr-source.js +186 -0
- package/dist/src/integrations/github/infrastructure/review-source.js +70 -0
- package/dist/src/integrations/github/infrastructure/source.js +108 -0
- package/dist/src/integrations/github/provider.js +96 -0
- package/dist/src/integrations/index.js +30 -0
- package/dist/src/kernel/contracts/checkpoint-store.js +1 -0
- package/dist/src/kernel/contracts/clock.js +1 -0
- package/dist/src/kernel/contracts/commands.js +1 -0
- package/dist/src/kernel/contracts/event-journal.js +2 -0
- package/dist/src/kernel/contracts/event-schema.js +54 -0
- package/dist/src/kernel/contracts/events.js +11 -0
- package/dist/src/kernel/contracts/id-generator.js +1 -0
- package/dist/src/kernel/contracts/identifiers.js +8 -0
- package/dist/src/kernel/contracts/projection-store.js +1 -0
- package/dist/src/kernel/contracts/relations.js +1 -0
- package/dist/src/kernel/contracts/schema.js +17 -0
- package/dist/src/kernel/contracts/vocabulary.js +6 -0
- package/dist/src/kernel/domain/event-envelope.js +29 -0
- package/dist/src/kernel/domain/match-mode.js +11 -0
- package/dist/src/kernel/domain/relation.js +10 -0
- package/dist/src/kernel/index.js +17 -0
- package/dist/src/{lib/clock.js → kernel/infrastructure/system-clock.js} +3 -3
- package/dist/src/kernel/infrastructure/ulid-id-generator.js +9 -0
- package/dist/src/main.js +137 -1030
- package/dist/src/orchestration/application/accept-activity-outcome.js +25 -0
- package/dist/src/orchestration/application/accept-signal.js +35 -0
- package/dist/src/orchestration/application/advance-workflow.js +160 -0
- package/dist/src/orchestration/application/coordination-claims.js +107 -0
- package/dist/src/orchestration/application/group-budget-recorder.js +43 -0
- package/dist/src/orchestration/application/orchestration-projection.js +20 -0
- package/dist/src/orchestration/application/orchestration-repository.js +36 -0
- package/dist/src/orchestration/application/orchestration-service.js +82 -0
- package/dist/src/orchestration/application/request-child.js +118 -0
- package/dist/src/orchestration/application/signal-reactor.js +17 -0
- package/dist/src/orchestration/application/start-workflow.js +51 -0
- package/dist/src/orchestration/application/watch-reactor.js +82 -0
- package/dist/src/orchestration/contracts/activity-outcome.js +18 -0
- package/dist/src/orchestration/contracts/commands.js +1 -0
- package/dist/src/orchestration/contracts/config.js +128 -0
- package/dist/src/orchestration/contracts/event-decoder.js +263 -0
- package/dist/src/orchestration/contracts/events.js +41 -0
- package/dist/src/orchestration/contracts/identifiers.js +35 -0
- package/dist/src/orchestration/contracts/streams.js +38 -0
- package/dist/src/orchestration/contracts/views.js +1 -0
- package/dist/src/orchestration/contracts/vocabulary.js +30 -0
- package/dist/src/orchestration/domain/activation-policy.js +55 -0
- package/dist/src/orchestration/domain/approval-defaults.js +17 -0
- package/dist/src/orchestration/domain/child-policy.js +63 -0
- package/dist/src/orchestration/domain/compiler.js +162 -0
- package/dist/src/orchestration/domain/coordination-events.js +25 -0
- package/dist/src/orchestration/domain/decision-events.js +47 -0
- package/dist/src/orchestration/domain/interpreter.js +49 -0
- package/dist/src/orchestration/domain/operator-retry-policy.js +34 -0
- package/dist/src/orchestration/domain/retry-policy.js +26 -0
- package/dist/src/orchestration/domain/signal-policy.js +120 -0
- package/dist/src/orchestration/domain/supplemental-policy.js +61 -0
- package/dist/src/orchestration/domain/transition.js +55 -0
- package/dist/src/orchestration/domain/workflow-graph.js +41 -0
- package/dist/src/orchestration/domain/workflow-instance-events.js +236 -0
- package/dist/src/orchestration/domain/workflow-instance.js +41 -0
- package/dist/src/orchestration/domain/workflow-selector.js +21 -0
- package/dist/src/orchestration/index.js +19 -0
- package/dist/src/persistence/application/projection-runner.js +79 -0
- package/dist/src/persistence/filesystem/file-checkpoint-store.js +35 -0
- package/dist/src/persistence/filesystem/file-event-journal.js +143 -0
- package/dist/src/persistence/filesystem/file-lock.js +91 -0
- package/dist/src/persistence/filesystem/file-projection-store.js +64 -0
- package/dist/src/persistence/index.js +8 -0
- package/dist/src/persistence/memory/in-memory-checkpoint-store.js +14 -0
- package/dist/src/persistence/memory/in-memory-event-journal.js +88 -0
- package/dist/src/persistence/memory/in-memory-projection-store.js +17 -0
- package/dist/src/resources/application/lookup-projections.js +48 -0
- package/dist/src/resources/application/resource-lookup.js +16 -0
- package/dist/src/resources/application/resource-projections.js +81 -0
- package/dist/src/resources/application/resource-repository.js +18 -0
- package/dist/src/resources/application/resource-service.js +83 -0
- package/dist/src/resources/contracts/commands.js +1 -0
- package/dist/src/resources/contracts/config.js +2 -0
- package/dist/src/resources/contracts/events.js +83 -0
- package/dist/src/resources/contracts/identifiers.js +15 -0
- package/dist/src/resources/contracts/streams.js +6 -0
- package/dist/src/resources/contracts/views.js +1 -0
- package/dist/src/resources/contracts/vocabulary.js +67 -0
- package/dist/src/resources/domain/correlation.js +8 -0
- package/dist/src/resources/domain/resource.js +58 -0
- package/dist/src/resources/index.js +14 -0
- package/dist/src/surfaces/api/contracts/activities.js +1 -0
- package/dist/src/surfaces/api/contracts/board.js +2 -0
- package/dist/src/surfaces/api/contracts/common.js +46 -0
- package/dist/src/surfaces/api/contracts/control-plane.js +5 -0
- package/dist/src/surfaces/api/contracts/events.js +1 -0
- package/dist/src/surfaces/api/contracts/execution.js +1 -0
- package/dist/src/surfaces/api/contracts/index.js +13 -0
- package/dist/src/surfaces/api/contracts/observability.js +1 -0
- package/dist/src/surfaces/api/contracts/orchestration.js +1 -0
- package/dist/src/surfaces/api/contracts/resources.js +1 -0
- package/dist/src/surfaces/api/contracts/status.js +1 -0
- package/dist/src/surfaces/api/contracts/system.js +1 -0
- package/dist/src/surfaces/api/contracts/transport-values.js +39 -0
- package/dist/src/surfaces/api/contracts/work.js +17 -0
- package/dist/src/surfaces/api/http-server.js +121 -0
- package/dist/src/surfaces/api/presenters/activities.js +1 -0
- package/dist/src/surfaces/api/presenters/board.js +3 -0
- package/dist/src/surfaces/api/presenters/control-plane.js +1 -0
- package/dist/src/surfaces/api/presenters/events.js +1 -0
- package/dist/src/surfaces/api/presenters/execution.js +59 -0
- package/dist/src/surfaces/api/presenters/observability.js +1 -0
- package/dist/src/surfaces/api/presenters/orchestration.js +19 -0
- package/dist/src/surfaces/api/presenters/resources.js +15 -0
- package/dist/src/surfaces/api/presenters/status.js +3 -0
- package/dist/src/surfaces/api/presenters/system.js +14 -0
- package/dist/src/surfaces/api/presenters/work.js +16 -0
- package/dist/src/surfaces/api/problem-details.js +9 -0
- package/dist/src/surfaces/api/router.js +13 -0
- package/dist/src/surfaces/api/routes/activities.js +1 -0
- package/dist/src/surfaces/api/routes/applications.js +1 -0
- package/dist/src/surfaces/api/routes/commands.js +82 -0
- package/dist/src/surfaces/api/routes/control-plane.js +6 -0
- package/dist/src/surfaces/api/routes/events.js +1 -0
- package/dist/src/surfaces/api/routes/execution.js +8 -0
- package/dist/src/surfaces/api/routes/index.js +18 -0
- package/dist/src/surfaces/api/routes/observability.js +1 -0
- package/dist/src/surfaces/api/routes/orchestration.js +1 -0
- package/dist/src/surfaces/api/routes/pagination.js +78 -0
- package/dist/src/surfaces/api/routes/read.js +135 -0
- package/dist/src/surfaces/api/routes/resources.js +1 -0
- package/dist/src/surfaces/api/routes/responses.js +67 -0
- package/dist/src/surfaces/api/routes/system.js +1 -0
- package/dist/src/surfaces/api/routes/work.js +9 -0
- package/dist/src/surfaces/cli/commands/api.js +1 -0
- package/dist/src/surfaces/cli/commands/audit.js +10 -0
- package/dist/src/surfaces/cli/commands/correlate.js +2 -0
- package/dist/src/surfaces/cli/commands/doctor.js +6 -0
- package/dist/src/surfaces/cli/commands/init.js +39 -0
- package/dist/src/surfaces/cli/commands/sandbox-entrypoint.js +33 -0
- package/dist/src/surfaces/cli/commands/sandbox-setup.js +29 -0
- package/dist/src/surfaces/cli/commands/sandbox.js +105 -0
- package/dist/src/surfaces/cli/commands/self-update.js +38 -0
- package/dist/src/surfaces/cli/commands/smoke.js +16 -0
- package/dist/src/surfaces/cli/commands/start.js +1 -0
- package/dist/src/surfaces/cli/commands/stop.js +13 -0
- package/dist/src/surfaces/cli/commands/tick.js +1 -0
- package/dist/src/surfaces/cli/commands/ui.js +2 -0
- package/dist/src/surfaces/cli/commands/validate-state.js +5 -0
- package/dist/src/surfaces/cli/infrastructure/docker-cli.js +221 -0
- package/dist/src/surfaces/cli/infrastructure/process-log.js +86 -0
- package/dist/src/surfaces/cli/main.js +140 -0
- package/dist/src/surfaces/cli/usage.js +33 -0
- package/dist/src/surfaces/contracts/config.js +34 -0
- package/dist/src/surfaces/index.js +47 -0
- package/dist/src/surfaces/web-assets/assets/index-Bfn4FwZG.css +1 -0
- package/dist/src/surfaces/web-assets/assets/index-ipB6JPGU.js +1090 -0
- package/dist/src/surfaces/web-assets/index.html +13 -0
- package/dist/src/surfaces/web-host/asset-source.js +1 -0
- package/dist/src/surfaces/web-host/packaged-assets.js +44 -0
- package/dist/src/work/application/work-projection.js +59 -0
- package/dist/src/work/application/work-repository.js +18 -0
- package/dist/src/work/application/work-service.js +117 -0
- package/dist/src/work/contracts/commands.js +1 -0
- package/dist/src/work/contracts/config.js +2 -0
- package/dist/src/work/contracts/events.js +103 -0
- package/dist/src/work/contracts/identifiers.js +5 -0
- package/dist/src/work/contracts/streams.js +6 -0
- package/dist/src/work/contracts/views.js +1 -0
- package/dist/src/work/contracts/vocabulary.js +6 -0
- package/dist/src/work/domain/work-item.js +89 -0
- package/dist/src/work/index.js +11 -0
- package/docker/Dockerfile +10 -6
- package/docker/Dockerfile.packaged +3 -3
- package/package.json +29 -4
- package/prompts/implement.md +2 -2
- package/dist/src/adapters/claude/claude-runner.js +0 -529
- package/dist/src/adapters/codex/codex-runner.js +0 -503
- package/dist/src/adapters/cursor/cursor-runner.js +0 -418
- package/dist/src/adapters/docker/docker-cli.js +0 -150
- package/dist/src/adapters/fake/fake-artifact-verifier.js +0 -14
- package/dist/src/adapters/fake/fake-github-pull-request-activity-source.js +0 -77
- package/dist/src/adapters/fake/fake-resource-index.js +0 -21
- package/dist/src/adapters/fake/fake-runner.js +0 -77
- package/dist/src/adapters/fake/fake-ticketing-system.js +0 -185
- package/dist/src/adapters/fake/fake-workspace-manager.js +0 -81
- package/dist/src/adapters/fs/resource-index.js +0 -126
- package/dist/src/adapters/fs/self-update-ledger.js +0 -17
- package/dist/src/adapters/fs/state-store.js +0 -775
- package/dist/src/adapters/git/git-workspace-manager.js +0 -289
- package/dist/src/adapters/github/github-artifact-verifier.js +0 -38
- package/dist/src/adapters/github/github-auth.js +0 -16
- package/dist/src/adapters/github/github-client.js +0 -249
- package/dist/src/adapters/github/github-etag-cache.js +0 -57
- package/dist/src/adapters/github/github-issues-work-source.js +0 -692
- package/dist/src/adapters/github/github-pull-request-activity-source.js +0 -584
- package/dist/src/adapters/github/github-pull-request-merge-actor.js +0 -45
- package/dist/src/adapters/http/ui-assets.js +0 -1188
- package/dist/src/adapters/http/ui-data.js +0 -1107
- package/dist/src/adapters/http/ui-server.js +0 -458
- package/dist/src/adapters/runner/cli-command.js +0 -73
- package/dist/src/adapters/runner/prompt-templates.js +0 -76
- package/dist/src/adapters/runner/runner-cli-adapter.js +0 -112
- package/dist/src/adapters/runner/runner-registry.js +0 -139
- package/dist/src/adapters/runner/runtime-events.js +0 -32
- package/dist/src/adapters/runner/stage-prompt.js +0 -268
- package/dist/src/adapters/runner/transcripts.js +0 -25
- package/dist/src/cli/audit-command.js +0 -36
- package/dist/src/cli/correlate-command.js +0 -62
- package/dist/src/cli/doctor-command.js +0 -48
- package/dist/src/cli/init-command.js +0 -18
- package/dist/src/cli/sandbox-command.js +0 -258
- package/dist/src/cli/sandbox-entrypoint-command.js +0 -88
- package/dist/src/cli/sandbox-exec-logging.js +0 -7
- package/dist/src/cli/sandbox-resume.js +0 -79
- package/dist/src/cli/sandbox-setup-command.js +0 -31
- package/dist/src/cli/scaffold-assets.js +0 -100
- package/dist/src/cli/self-update-command.js +0 -198
- package/dist/src/cli/startup-preflight.js +0 -134
- package/dist/src/cli/stop-command.js +0 -46
- package/dist/src/cli/ui-command.js +0 -27
- package/dist/src/config/defaults.js +0 -10
- package/dist/src/config/discover-config-files.js +0 -11
- package/dist/src/config/load-config.js +0 -69
- package/dist/src/config/split-config.js +0 -14
- package/dist/src/core/active-run-recovery.js +0 -44
- package/dist/src/core/approval-intents.js +0 -16
- package/dist/src/core/audit-events.js +0 -82
- package/dist/src/core/control-plane.js +0 -192
- package/dist/src/core/event-builders.js +0 -153
- package/dist/src/core/event-resolver.js +0 -249
- package/dist/src/core/lifecycle-service.js +0 -8
- package/dist/src/core/live-execution.js +0 -81
- package/dist/src/core/outbox.js +0 -198
- package/dist/src/core/policy-engine.js +0 -389
- package/dist/src/core/projection-updater.js +0 -693
- package/dist/src/core/quota-backoff.js +0 -69
- package/dist/src/core/run-lease.js +0 -38
- package/dist/src/core/scheduled-workflow-source.js +0 -199
- package/dist/src/core/sink-router.js +0 -107
- package/dist/src/core/stale-run-reconciler.js +0 -352
- package/dist/src/core/tick-runner.js +0 -2442
- package/dist/src/core/workspace-cleanup.js +0 -117
- package/dist/src/domain/branch-naming.js +0 -14
- package/dist/src/domain/custom-commands.js +0 -58
- package/dist/src/domain/event-types.js +0 -158
- package/dist/src/domain/manual-labels.js +0 -1
- package/dist/src/domain/resource-uri.js +0 -38
- package/dist/src/domain/runner-routing.js +0 -127
- package/dist/src/domain/runtime-events.js +0 -36
- package/dist/src/domain/schema.js +0 -1233
- package/dist/src/domain/sources.js +0 -16
- package/dist/src/domain/stages.js +0 -36
- package/dist/src/domain/work-item-labels.js +0 -48
- package/dist/src/domain/work-item-lifecycle.js +0 -10
- package/dist/src/domain/work-item-status.js +0 -33
- package/dist/src/domain/workflows.js +0 -159
- package/dist/src/lib/deep-merge.js +0 -14
- package/dist/src/lib/detached-process-logging.js +0 -46
- package/dist/src/lib/event-log.js +0 -21
- package/dist/src/lib/format.js +0 -41
- package/dist/src/lib/json-file.js +0 -23
- package/dist/src/lib/lock.js +0 -181
- package/dist/src/lib/log-rotation.js +0 -42
- package/dist/src/lib/paths.js +0 -52
- package/dist/src/lib/process-identity.js +0 -54
- package/dist/src/lib/state-health.js +0 -30
- package/dist/src/lib/work-id.js +0 -19
- package/dist/src/lib/yaml-file.js +0 -20
- package/templates/SETUP.md +0 -115
- /package/dist/src/{core → activities/pr}/contracts.js +0 -0
- /package/dist/src/{domain/types.js → control-plane/contracts/views.js} +0 -0
package/dist/src/lib/paths.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { join } from 'node:path';
|
|
2
|
-
export function sanitizeRepo(repo) {
|
|
3
|
-
return repo.replace(/[\\/]/g, '__');
|
|
4
|
-
}
|
|
5
|
-
export function sanitizePathKey(value) {
|
|
6
|
-
return value.replace(/[^A-Za-z0-9._-]/g, '__');
|
|
7
|
-
}
|
|
8
|
-
export function createWakePaths(wakeRoot) {
|
|
9
|
-
const dataRoot = join(wakeRoot, '.wake');
|
|
10
|
-
return {
|
|
11
|
-
wakeRoot,
|
|
12
|
-
dataRoot,
|
|
13
|
-
containerHomeRoot: join(dataRoot, 'container-home'),
|
|
14
|
-
configFile: join(wakeRoot, 'config.yaml'),
|
|
15
|
-
workflowsConfigFile: join(wakeRoot, 'config.workflows.yaml'),
|
|
16
|
-
ledgerFile: join(dataRoot, 'ledger.json'),
|
|
17
|
-
pauseFile: join(dataRoot, 'PAUSE'),
|
|
18
|
-
tickRequestFile: join(dataRoot, 'control', 'tick-request.json'),
|
|
19
|
-
tickLockFile: join(dataRoot, 'locks', 'tick.lock'),
|
|
20
|
-
runnerLockFile: join(dataRoot, 'locks', 'runner.lock'),
|
|
21
|
-
issueFixtureFile: join(dataRoot, 'fixtures', 'issues.json'),
|
|
22
|
-
workspaceRoot: join(wakeRoot, 'workspaces'),
|
|
23
|
-
transcriptsRoot: join(dataRoot, 'transcripts'),
|
|
24
|
-
reposRoot: join(dataRoot, 'repos'),
|
|
25
|
-
repoRoot: (repo) => join(dataRoot, 'repos', sanitizeRepo(repo)),
|
|
26
|
-
sourceStateRoot: join(dataRoot, 'sources'),
|
|
27
|
-
// Keyed on the minted work id, which is filename-safe by construction
|
|
28
|
-
// (src/lib/work-id.ts) — hence no sanitizePathKey here. No durable path
|
|
29
|
-
// embeds a provider, repo, or issue segment (spec §3).
|
|
30
|
-
workItemStateFile: (workId) => join(dataRoot, 'state', `${workId}.json`),
|
|
31
|
-
archivedWorkItemStateFile: (workId) => join(dataRoot, 'state', 'archive', `${workId}.json`),
|
|
32
|
-
sourceStateFile: (source, key) => join(dataRoot, 'sources', sanitizePathKey(source), `${sanitizePathKey(key)}.json`),
|
|
33
|
-
runFile: (runId) => join(dataRoot, 'runs', `${runId}.json`),
|
|
34
|
-
runDateFile: (date, runId) => join(dataRoot, 'runs', 'by-date', date, `${runId}.json`),
|
|
35
|
-
runInputSnapshotFile: (snapshotId) => join(dataRoot, 'runs', 'input-snapshots', `${sanitizePathKey(snapshotId)}.json`),
|
|
36
|
-
runDateIndexFile: (date) => join(dataRoot, 'runs', 'by-date', date, 'index.json'),
|
|
37
|
-
runDateIndexLockFile: (date) => join(dataRoot, 'locks', `run-index-${date}.lock`),
|
|
38
|
-
eventFile: (date) => join(dataRoot, 'events', `${date}.jsonl`),
|
|
39
|
-
eventEnvelopeFile: (eventId) => join(dataRoot, 'events-by-id', `${sanitizePathKey(eventId)}.json`),
|
|
40
|
-
logFile: (date) => join(dataRoot, 'logs', `${date}.log`),
|
|
41
|
-
// Workspaces and transcripts are ephemeral scratch rather than durable
|
|
42
|
-
// state, but they re-key to the work id anyway: they are 1:1 with a work
|
|
43
|
-
// item, not a ticket, and a ticket-shaped path here would preserve the
|
|
44
|
-
// second ticket-shaped identity this change exists to remove (spec §3).
|
|
45
|
-
workspaceDir: (workId) => join(wakeRoot, 'workspaces', workId),
|
|
46
|
-
transcriptWorkDir: (workId) => join(dataRoot, 'transcripts', workId),
|
|
47
|
-
transcriptSessionDir: (workId, sessionKey) => join(dataRoot, 'transcripts', workId, sanitizePathKey(sessionKey)),
|
|
48
|
-
resourceIndexRoot: join(dataRoot, 'state', 'index'),
|
|
49
|
-
resourceIndexShardFile: (shard) => join(dataRoot, 'state', 'index', `${shard}.json`),
|
|
50
|
-
controlPlaneUiUrlFile: join(dataRoot, 'control-plane-ui-url'),
|
|
51
|
-
};
|
|
52
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { readFileSync } from 'node:fs';
|
|
2
|
-
const currentProcessStartedAt = new Date(Date.now() - process.uptime() * 1000).toISOString();
|
|
3
|
-
function readLinuxProcessStartTicks(pid) {
|
|
4
|
-
try {
|
|
5
|
-
const stat = readFileSync(`/proc/${pid}/stat`, 'utf8');
|
|
6
|
-
const endCommand = stat.lastIndexOf(')');
|
|
7
|
-
if (endCommand === -1) {
|
|
8
|
-
return undefined;
|
|
9
|
-
}
|
|
10
|
-
const fields = stat
|
|
11
|
-
.slice(endCommand + 2)
|
|
12
|
-
.trim()
|
|
13
|
-
.split(/\s+/);
|
|
14
|
-
const startTicks = fields[19];
|
|
15
|
-
return startTicks === undefined ? undefined : `linux-start-ticks:${startTicks}`;
|
|
16
|
-
}
|
|
17
|
-
catch {
|
|
18
|
-
return undefined;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export function readProcessIdentity(pid) {
|
|
22
|
-
if (!Number.isInteger(pid) || pid <= 0) {
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
try {
|
|
26
|
-
process.kill(pid, 0);
|
|
27
|
-
}
|
|
28
|
-
catch (error) {
|
|
29
|
-
if (error.code === 'ESRCH') {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
const linuxStartedAt = readLinuxProcessStartTicks(pid);
|
|
34
|
-
if (linuxStartedAt !== undefined) {
|
|
35
|
-
return { pid, processStartedAt: linuxStartedAt };
|
|
36
|
-
}
|
|
37
|
-
if (pid === process.pid) {
|
|
38
|
-
return { pid, processStartedAt: currentProcessStartedAt };
|
|
39
|
-
}
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
export function currentProcessIdentity() {
|
|
43
|
-
return (readProcessIdentity(process.pid) ?? {
|
|
44
|
-
pid: process.pid,
|
|
45
|
-
processStartedAt: currentProcessStartedAt,
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
export function processIdentityMatches(input) {
|
|
49
|
-
if (input.pid === undefined || input.processStartedAt === undefined) {
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
const current = readProcessIdentity(input.pid);
|
|
53
|
-
return current?.processStartedAt === input.processStartedAt;
|
|
54
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export class StateHealthError extends Error {
|
|
2
|
-
issues;
|
|
3
|
-
constructor(issues) {
|
|
4
|
-
super(formatStateHealthErrorMessage(issues));
|
|
5
|
-
this.name = 'StateHealthError';
|
|
6
|
-
this.issues = issues;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export function isNodeErrnoException(error) {
|
|
10
|
-
return error instanceof Error && 'code' in error;
|
|
11
|
-
}
|
|
12
|
-
export function isMissingPathError(error) {
|
|
13
|
-
return isNodeErrnoException(error) && error.code === 'ENOENT';
|
|
14
|
-
}
|
|
15
|
-
export function stateHealthIssue(input) {
|
|
16
|
-
return input;
|
|
17
|
-
}
|
|
18
|
-
export function throwIfUnhealthy(issues) {
|
|
19
|
-
if (issues.length > 0) {
|
|
20
|
-
throw new StateHealthError(issues);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
export function formatStateHealthErrorMessage(issues) {
|
|
24
|
-
if (issues.length === 0) {
|
|
25
|
-
return 'Wake control-plane state is healthy';
|
|
26
|
-
}
|
|
27
|
-
const first = issues[0];
|
|
28
|
-
const suffix = issues.length === 1 ? '' : ` and ${issues.length - 1} more issue(s)`;
|
|
29
|
-
return `Wake control-plane state is unhealthy: ${first.surface} ${first.kind} at ${first.path}: ${first.message}${suffix}`;
|
|
30
|
-
}
|
package/dist/src/lib/work-id.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ulid } from 'ulid';
|
|
2
|
-
/** Crockford base32 alphabet, as used by ULID: no I, L, O, or U. */
|
|
3
|
-
const WORK_ID_PATTERN = /^work-[0-9A-HJKMNP-TV-Z]{26}$/;
|
|
4
|
-
/**
|
|
5
|
-
* Mints a provider-independent work item identifier.
|
|
6
|
-
*
|
|
7
|
-
* Work ids name the work, never any surface that represents it: a ticket key
|
|
8
|
-
* is not a stable name for work (issue transfer renumbers it, and work can
|
|
9
|
-
* split or merge). See docs/superpowers/specs/2026-07-16-work-identity-correlation-design.md (D3).
|
|
10
|
-
*
|
|
11
|
-
* ULIDs sort chronologically as strings, so state/ listings are naturally
|
|
12
|
-
* ordered by mint time, and are filename-safe with no escaping.
|
|
13
|
-
*/
|
|
14
|
-
export function createWorkId() {
|
|
15
|
-
return `work-${ulid()}`;
|
|
16
|
-
}
|
|
17
|
-
export function isWorkId(value) {
|
|
18
|
-
return WORK_ID_PATTERN.test(value);
|
|
19
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { mkdir, readFile, rename, rm, writeFile } from 'node:fs/promises';
|
|
2
|
-
import { randomUUID } from 'node:crypto';
|
|
3
|
-
import { dirname } from 'node:path';
|
|
4
|
-
import { parse, stringify } from 'yaml';
|
|
5
|
-
export async function writeYamlFile(path, value) {
|
|
6
|
-
await mkdir(dirname(path), { recursive: true });
|
|
7
|
-
const tempPath = `${path}.${randomUUID()}.tmp`;
|
|
8
|
-
try {
|
|
9
|
-
await writeFile(tempPath, stringify(value), 'utf8');
|
|
10
|
-
await rename(tempPath, path);
|
|
11
|
-
}
|
|
12
|
-
catch (error) {
|
|
13
|
-
await rm(tempPath, { force: true }).catch(() => { });
|
|
14
|
-
throw error;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
export async function readYamlFile(path) {
|
|
18
|
-
const raw = await readFile(path, 'utf8');
|
|
19
|
-
return parse(raw);
|
|
20
|
-
}
|
package/templates/SETUP.md
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
# Wake Setup Guide (for the assisting agent)
|
|
2
|
-
|
|
3
|
-
You are reading this because a human just ran `wake init` and asked you to
|
|
4
|
-
help finish configuring this Wake home. This file is written as instructions
|
|
5
|
-
to you, the assisting agent — not as prose for a human to read top to bottom.
|
|
6
|
-
|
|
7
|
-
Read `config.yaml` and `config.workflows.yaml` in this directory now — both
|
|
8
|
-
already exist with working defaults from `wake init`. Everything below tells
|
|
9
|
-
you which fields in those two files to change. Edit them directly; don't
|
|
10
|
-
create a new `config.<label>.yaml` split unless the user asks for one.
|
|
11
|
-
|
|
12
|
-
Work through the three sections below in order, asking the user only what's
|
|
13
|
-
asked in each section. Each section links the relevant part of the hosted
|
|
14
|
-
`docs/configuration.md` for full field-by-field reference beyond what's
|
|
15
|
-
summarized here.
|
|
16
|
-
|
|
17
|
-
## 1. GitHub source
|
|
18
|
-
|
|
19
|
-
Ask the user:
|
|
20
|
-
|
|
21
|
-
- Which GitHub repo(s) should Wake monitor for issues? (`owner/repo` format)
|
|
22
|
-
- Should polling start immediately, or stay off until they're ready?
|
|
23
|
-
|
|
24
|
-
Edit in `config.yaml`:
|
|
25
|
-
|
|
26
|
-
```yaml
|
|
27
|
-
sources:
|
|
28
|
-
github:
|
|
29
|
-
enabled: true # or leave false to configure now, enable later
|
|
30
|
-
repos: [owner/repo] # one or more, owner/repo format
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Tell the user: once enabled, Wake adds/removes a
|
|
34
|
-
`wake:status.pending|working|failed|completed` label on issues it works, and
|
|
35
|
-
preserves any other labels already on the issue.
|
|
36
|
-
|
|
37
|
-
Full reference:
|
|
38
|
-
https://github.com/atolis-hq/wake/blob/main/docs/configuration.md#sourcesgithub
|
|
39
|
-
|
|
40
|
-
## 2. Runner and tier
|
|
41
|
-
|
|
42
|
-
Ask the user which agent CLI(s) they have authenticated on this host:
|
|
43
|
-
Claude, Codex, and/or Cursor.
|
|
44
|
-
|
|
45
|
-
`config.workflows.yaml` already has example `runners` entries for
|
|
46
|
-
`claude-haiku`, `claude-opus`, `codex-mini`, `codex-flagship`, and
|
|
47
|
-
`cursor-composer`, but every tier (`light`/`standard`/`deep`, with
|
|
48
|
-
`defaultTier: standard`) still points at the placeholder `fake` runner — none
|
|
49
|
-
of them route to a real runner yet. Don't rewrite this from scratch — pick
|
|
50
|
-
which runner(s) the user actually has access to, and either:
|
|
51
|
-
|
|
52
|
-
- repoint `tiers` so each tier lists the real named runner(s) the user can
|
|
53
|
-
actually use instead of `fake`, or
|
|
54
|
-
- if the user has a runner not already listed (a different model, a
|
|
55
|
-
different CLI), add a new named entry under `runners` following the
|
|
56
|
-
existing pattern, then reference it from `tiers`.
|
|
57
|
-
- remove entries which are not needed.
|
|
58
|
-
|
|
59
|
-
Full reference:
|
|
60
|
-
https://github.com/atolis-hq/wake/blob/main/docs/configuration.md#runners
|
|
61
|
-
and
|
|
62
|
-
https://github.com/atolis-hq/wake/blob/main/docs/configuration.md#tiers
|
|
63
|
-
|
|
64
|
-
## 3. Credential mounts (check before asking)
|
|
65
|
-
|
|
66
|
-
Do not start by asking the user where their credentials are. First check the
|
|
67
|
-
host filesystem yourself for the files below, matching whichever runner(s)
|
|
68
|
-
were chosen in step 2:
|
|
69
|
-
|
|
70
|
-
- Claude: `~/.claude/.credentials.json` and `~/.claude/settings.json`
|
|
71
|
-
- Codex: `~/.codex/config.toml` and `~/.codex/auth.json`
|
|
72
|
-
- Cursor: `~/.config/cursor/auth.json`
|
|
73
|
-
|
|
74
|
-
For each file that exists, propose adding it to `sandbox.extraMounts` in
|
|
75
|
-
`config.yaml`, for example:
|
|
76
|
-
|
|
77
|
-
```yaml
|
|
78
|
-
sandbox:
|
|
79
|
-
extraMounts:
|
|
80
|
-
- source: /home/alice/.claude/.credentials.json
|
|
81
|
-
target: /home/wake/.claude/.credentials.json
|
|
82
|
-
readOnly: true
|
|
83
|
-
- source: /home/alice/.claude/settings.json
|
|
84
|
-
target: /home/wake/.claude/settings.json
|
|
85
|
-
readOnly: false
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
`.credentials.json`/`auth.json` should be `readOnly: true` unless the user
|
|
89
|
-
wants the sandbox able to refresh tokens on the host's behalf. `settings.json`
|
|
90
|
-
must stay `readOnly: false` — Claude plugin commands write to it. Use the
|
|
91
|
-
actual host home directory path (resolve `~` yourself; don't write a literal
|
|
92
|
-
tilde into YAML).
|
|
93
|
-
|
|
94
|
-
Never mount the whole `~/.claude`, `~/.codex`, or `~/.cursor` directory —
|
|
95
|
-
only the specific files listed above. Mounting the whole directory leaks
|
|
96
|
-
OS-specific absolute paths (e.g. Windows plugin cache paths) into the Linux
|
|
97
|
-
sandbox and can cause the sandbox to overwrite the host's plugin bookkeeping.
|
|
98
|
-
|
|
99
|
-
Only if none of the expected files exist for the runner the user chose, ask
|
|
100
|
-
them directly where their credentials live (e.g. a custom `CODEX_HOME`).
|
|
101
|
-
|
|
102
|
-
Full reference:
|
|
103
|
-
https://github.com/atolis-hq/wake/blob/main/docs/configuration.md#sandbox
|
|
104
|
-
|
|
105
|
-
## After config looks right
|
|
106
|
-
|
|
107
|
-
Don't try to explain the sandbox lifecycle yourself — point the user at (or
|
|
108
|
-
fetch, if you have web access):
|
|
109
|
-
|
|
110
|
-
- https://github.com/atolis-hq/wake/blob/main/docs/getting-started.md —
|
|
111
|
-
`wake sandbox build` / `up` / `setup` / `exec` / `down`
|
|
112
|
-
- https://github.com/atolis-hq/wake/blob/main/docs/runner-comparison.md —
|
|
113
|
-
deeper comparison of runner tradeoffs if the user asks which to pick
|
|
114
|
-
- https://github.com/atolis-hq/wake/blob/main/docs/configuration.md — every
|
|
115
|
-
config field, if something here doesn't cover their situation
|
|
File without changes
|
|
File without changes
|