lastlight 0.16.0 → 0.16.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 +71 -692
- package/dist/cli-config.js.map +1 -0
- package/dist/cli-format.js.map +1 -0
- package/dist/{cli/cli-server.d.ts → cli-server.d.ts} +26 -1
- package/dist/{cli/cli-server.js → cli-server.js} +40 -5
- package/dist/cli-server.js.map +1 -0
- package/dist/cli-timeline.js.map +1 -0
- package/dist/{cli/cli.js → cli.js} +4 -3
- package/dist/cli.js.map +1 -0
- package/dist/{cli/fork-cli.d.ts → fork-cli.d.ts} +3 -3
- package/dist/{cli/fork-cli.js → fork-cli.js} +28 -27
- package/dist/fork-cli.js.map +1 -0
- package/dist/{cli/oauth-cli.js → oauth-cli.js} +1 -1
- package/dist/oauth-cli.js.map +1 -0
- package/dist/{cli/setup.js → setup.js} +10 -4
- package/dist/setup.js.map +1 -0
- package/dist/{cli/skills-install.d.ts → skills-install.d.ts} +6 -0
- package/dist/{cli/skills-install.js → skills-install.js} +6 -2
- package/dist/skills-install.js.map +1 -0
- package/package.json +20 -65
- package/plugins/lastlight/.claude-plugin/plugin.json +1 -1
- package/agent-context/rules.md +0 -80
- package/agent-context/security.md +0 -69
- package/agent-context/soul.md +0 -21
- package/config/default.yaml +0 -119
- package/deploy/.env.production.example +0 -100
- package/deploy/entrypoint.sh +0 -82
- package/deploy/native/README.md +0 -160
- package/deploy/native/install.sh +0 -110
- package/deploy/native/lastlight.env.example +0 -95
- package/deploy/native/lastlight.service +0 -50
- package/deploy/sandbox-entrypoint.sh +0 -93
- package/dist/admin/auth.d.ts +0 -51
- package/dist/admin/auth.js +0 -121
- package/dist/admin/auth.js.map +0 -1
- package/dist/admin/chat-session-reader.d.ts +0 -39
- package/dist/admin/chat-session-reader.js +0 -84
- package/dist/admin/chat-session-reader.js.map +0 -1
- package/dist/admin/docker.d.ts +0 -61
- package/dist/admin/docker.js +0 -187
- package/dist/admin/docker.js.map +0 -1
- package/dist/admin/index.d.ts +0 -9
- package/dist/admin/index.js +0 -59
- package/dist/admin/index.js.map +0 -1
- package/dist/admin/routes.d.ts +0 -81
- package/dist/admin/routes.js +0 -1381
- package/dist/admin/routes.js.map +0 -1
- package/dist/admin/sessions.d.ts +0 -89
- package/dist/admin/sessions.js +0 -204
- package/dist/admin/sessions.js.map +0 -1
- package/dist/admin/tail.d.ts +0 -12
- package/dist/admin/tail.js +0 -145
- package/dist/admin/tail.js.map +0 -1
- package/dist/admin/version.d.ts +0 -22
- package/dist/admin/version.js +0 -92
- package/dist/admin/version.js.map +0 -1
- package/dist/cli/cli-config.js.map +0 -1
- package/dist/cli/cli-format.js.map +0 -1
- package/dist/cli/cli-server.js.map +0 -1
- package/dist/cli/cli-timeline.js.map +0 -1
- package/dist/cli/cli.js.map +0 -1
- package/dist/cli/fork-cli.js.map +0 -1
- package/dist/cli/oauth-cli.js.map +0 -1
- package/dist/cli/setup.js.map +0 -1
- package/dist/cli/skills-install.js.map +0 -1
- package/dist/config/config-resolve.d.ts +0 -28
- package/dist/config/config-resolve.js +0 -47
- package/dist/config/config-resolve.js.map +0 -1
- package/dist/config/config.d.ts +0 -157
- package/dist/config/config.js +0 -581
- package/dist/config/config.js.map +0 -1
- package/dist/config/core-pin.d.ts +0 -16
- package/dist/config/core-pin.js +0 -85
- package/dist/config/core-pin.js.map +0 -1
- package/dist/config/overlay-assets.d.ts +0 -20
- package/dist/config/overlay-assets.js +0 -114
- package/dist/config/overlay-assets.js.map +0 -1
- package/dist/config/overlay-bootstrap.d.ts +0 -44
- package/dist/config/overlay-bootstrap.js +0 -304
- package/dist/config/overlay-bootstrap.js.map +0 -1
- package/dist/connectors/github-webhook.d.ts +0 -45
- package/dist/connectors/github-webhook.js +0 -321
- package/dist/connectors/github-webhook.js.map +0 -1
- package/dist/connectors/index.d.ts +0 -18
- package/dist/connectors/index.js +0 -41
- package/dist/connectors/index.js.map +0 -1
- package/dist/connectors/messaging/base.d.ts +0 -42
- package/dist/connectors/messaging/base.js +0 -139
- package/dist/connectors/messaging/base.js.map +0 -1
- package/dist/connectors/messaging/delivery.d.ts +0 -14
- package/dist/connectors/messaging/delivery.js +0 -38
- package/dist/connectors/messaging/delivery.js.map +0 -1
- package/dist/connectors/messaging/index.d.ts +0 -4
- package/dist/connectors/messaging/index.js +0 -4
- package/dist/connectors/messaging/index.js.map +0 -1
- package/dist/connectors/messaging/session-manager.d.ts +0 -53
- package/dist/connectors/messaging/session-manager.js +0 -255
- package/dist/connectors/messaging/session-manager.js.map +0 -1
- package/dist/connectors/messaging/types.d.ts +0 -58
- package/dist/connectors/messaging/types.js +0 -7
- package/dist/connectors/messaging/types.js.map +0 -1
- package/dist/connectors/slack/connector.d.ts +0 -142
- package/dist/connectors/slack/connector.js +0 -494
- package/dist/connectors/slack/connector.js.map +0 -1
- package/dist/connectors/slack/index.d.ts +0 -2
- package/dist/connectors/slack/index.js +0 -3
- package/dist/connectors/slack/index.js.map +0 -1
- package/dist/connectors/slack/mrkdwn.d.ts +0 -19
- package/dist/connectors/slack/mrkdwn.js +0 -240
- package/dist/connectors/slack/mrkdwn.js.map +0 -1
- package/dist/connectors/types.d.ts +0 -61
- package/dist/connectors/types.js +0 -2
- package/dist/connectors/types.js.map +0 -1
- package/dist/cron/fanout.d.ts +0 -33
- package/dist/cron/fanout.js +0 -55
- package/dist/cron/fanout.js.map +0 -1
- package/dist/cron/jobs.d.ts +0 -18
- package/dist/cron/jobs.js +0 -37
- package/dist/cron/jobs.js.map +0 -1
- package/dist/cron/scheduler.d.ts +0 -45
- package/dist/cron/scheduler.js +0 -105
- package/dist/cron/scheduler.js.map +0 -1
- package/dist/engine/agent-executor.d.ts +0 -34
- package/dist/engine/agent-executor.js +0 -246
- package/dist/engine/agent-executor.js.map +0 -1
- package/dist/engine/chat/chat-runner.d.ts +0 -132
- package/dist/engine/chat/chat-runner.js +0 -424
- package/dist/engine/chat/chat-runner.js.map +0 -1
- package/dist/engine/chat/chat-skills.d.ts +0 -45
- package/dist/engine/chat/chat-skills.js +0 -184
- package/dist/engine/chat/chat-skills.js.map +0 -1
- package/dist/engine/chat/chat.d.ts +0 -54
- package/dist/engine/chat/chat.js +0 -316
- package/dist/engine/chat/chat.js.map +0 -1
- package/dist/engine/chat/message-batcher.d.ts +0 -32
- package/dist/engine/chat/message-batcher.js +0 -109
- package/dist/engine/chat/message-batcher.js.map +0 -1
- package/dist/engine/dispatcher.d.ts +0 -73
- package/dist/engine/dispatcher.js +0 -663
- package/dist/engine/dispatcher.js.map +0 -1
- package/dist/engine/event-shim.d.ts +0 -117
- package/dist/engine/event-shim.js +0 -435
- package/dist/engine/event-shim.js.map +0 -1
- package/dist/engine/executors/orchestrator.d.ts +0 -81
- package/dist/engine/executors/orchestrator.js +0 -365
- package/dist/engine/executors/orchestrator.js.map +0 -1
- package/dist/engine/executors/shared.d.ts +0 -189
- package/dist/engine/executors/shared.js +0 -616
- package/dist/engine/executors/shared.js.map +0 -1
- package/dist/engine/github/git-auth.d.ts +0 -62
- package/dist/engine/github/git-auth.js +0 -161
- package/dist/engine/github/git-auth.js.map +0 -1
- package/dist/engine/github/github-app-client.d.ts +0 -23
- package/dist/engine/github/github-app-client.js +0 -33
- package/dist/engine/github/github-app-client.js.map +0 -1
- package/dist/engine/github/github-tools.d.ts +0 -18
- package/dist/engine/github/github-tools.js +0 -263
- package/dist/engine/github/github-tools.js.map +0 -1
- package/dist/engine/github/github.d.ts +0 -1193
- package/dist/engine/github/github.js +0 -357
- package/dist/engine/github/github.js.map +0 -1
- package/dist/engine/github/profiles.d.ts +0 -279
- package/dist/engine/github/profiles.js +0 -42
- package/dist/engine/github/profiles.js.map +0 -1
- package/dist/engine/github/review-poster.d.ts +0 -98
- package/dist/engine/github/review-poster.js +0 -177
- package/dist/engine/github/review-poster.js.map +0 -1
- package/dist/engine/llm.d.ts +0 -79
- package/dist/engine/llm.js +0 -269
- package/dist/engine/llm.js.map +0 -1
- package/dist/engine/oauth.d.ts +0 -43
- package/dist/engine/oauth.js +0 -103
- package/dist/engine/oauth.js.map +0 -1
- package/dist/engine/router.d.ts +0 -29
- package/dist/engine/router.js +0 -680
- package/dist/engine/router.js.map +0 -1
- package/dist/engine/screen/classifier.d.ts +0 -93
- package/dist/engine/screen/classifier.js +0 -215
- package/dist/engine/screen/classifier.js.map +0 -1
- package/dist/engine/screen/screen.d.ts +0 -41
- package/dist/engine/screen/screen.js +0 -93
- package/dist/engine/screen/screen.js.map +0 -1
- package/dist/evals-api.d.ts +0 -24
- package/dist/evals-api.js +0 -22
- package/dist/evals-api.js.map +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -940
- package/dist/index.js.map +0 -1
- package/dist/managed-repos.d.ts +0 -30
- package/dist/managed-repos.js +0 -72
- package/dist/managed-repos.js.map +0 -1
- package/dist/notify/blocks.d.ts +0 -23
- package/dist/notify/blocks.js +0 -118
- package/dist/notify/blocks.js.map +0 -1
- package/dist/notify/index.d.ts +0 -17
- package/dist/notify/index.js +0 -7
- package/dist/notify/index.js.map +0 -1
- package/dist/notify/model.d.ts +0 -57
- package/dist/notify/model.js +0 -89
- package/dist/notify/model.js.map +0 -1
- package/dist/notify/notifier.d.ts +0 -18
- package/dist/notify/notifier.js +0 -100
- package/dist/notify/notifier.js.map +0 -1
- package/dist/notify/render.d.ts +0 -21
- package/dist/notify/render.js +0 -59
- package/dist/notify/render.js.map +0 -1
- package/dist/notify/transports/github.d.ts +0 -26
- package/dist/notify/transports/github.js +0 -27
- package/dist/notify/transports/github.js.map +0 -1
- package/dist/notify/transports/slack.d.ts +0 -27
- package/dist/notify/transports/slack.js +0 -37
- package/dist/notify/transports/slack.js.map +0 -1
- package/dist/notify/types.d.ts +0 -119
- package/dist/notify/types.js +0 -16
- package/dist/notify/types.js.map +0 -1
- package/dist/providers.d.ts +0 -125
- package/dist/providers.js +0 -279
- package/dist/providers.js.map +0 -1
- package/dist/sandbox/docker.d.ts +0 -180
- package/dist/sandbox/docker.js +0 -517
- package/dist/sandbox/docker.js.map +0 -1
- package/dist/sandbox/egress-allowlist.d.ts +0 -74
- package/dist/sandbox/egress-allowlist.js +0 -164
- package/dist/sandbox/egress-allowlist.js.map +0 -1
- package/dist/sandbox/egress-firewall-config.d.ts +0 -127
- package/dist/sandbox/egress-firewall-config.js +0 -434
- package/dist/sandbox/egress-firewall-config.js.map +0 -1
- package/dist/sandbox/images.d.ts +0 -23
- package/dist/sandbox/images.js +0 -55
- package/dist/sandbox/images.js.map +0 -1
- package/dist/sandbox/index.d.ts +0 -112
- package/dist/sandbox/index.js +0 -332
- package/dist/sandbox/index.js.map +0 -1
- package/dist/sandbox/sandbox.d.ts +0 -214
- package/dist/sandbox/sandbox.js +0 -453
- package/dist/sandbox/sandbox.js.map +0 -1
- package/dist/sandbox/smol.d.ts +0 -162
- package/dist/sandbox/smol.js +0 -485
- package/dist/sandbox/smol.js.map +0 -1
- package/dist/session-log.d.ts +0 -63
- package/dist/session-log.js +0 -290
- package/dist/session-log.js.map +0 -1
- package/dist/state/approval-store.d.ts +0 -88
- package/dist/state/approval-store.js +0 -149
- package/dist/state/approval-store.js.map +0 -1
- package/dist/state/build-assets.d.ts +0 -50
- package/dist/state/build-assets.js +0 -154
- package/dist/state/build-assets.js.map +0 -1
- package/dist/state/db.d.ts +0 -81
- package/dist/state/db.js +0 -155
- package/dist/state/db.js.map +0 -1
- package/dist/state/execution-store.d.ts +0 -257
- package/dist/state/execution-store.js +0 -527
- package/dist/state/execution-store.js.map +0 -1
- package/dist/state/migrate.d.ts +0 -15
- package/dist/state/migrate.js +0 -175
- package/dist/state/migrate.js.map +0 -1
- package/dist/state/workflow-run-store.d.ts +0 -216
- package/dist/state/workflow-run-store.js +0 -403
- package/dist/state/workflow-run-store.js.map +0 -1
- package/dist/telemetry/index.d.ts +0 -38
- package/dist/telemetry/index.js +0 -253
- package/dist/telemetry/index.js.map +0 -1
- package/dist/telemetry/pi-events.d.ts +0 -12
- package/dist/telemetry/pi-events.js +0 -134
- package/dist/telemetry/pi-events.js.map +0 -1
- package/dist/workflows/dag.d.ts +0 -37
- package/dist/workflows/dag.js +0 -118
- package/dist/workflows/dag.js.map +0 -1
- package/dist/workflows/loader.d.ts +0 -53
- package/dist/workflows/loader.js +0 -421
- package/dist/workflows/loader.js.map +0 -1
- package/dist/workflows/loop-eval.d.ts +0 -28
- package/dist/workflows/loop-eval.js +0 -74
- package/dist/workflows/loop-eval.js.map +0 -1
- package/dist/workflows/phase-executor.d.ts +0 -222
- package/dist/workflows/phase-executor.js +0 -1153
- package/dist/workflows/phase-executor.js.map +0 -1
- package/dist/workflows/phase-ref.d.ts +0 -50
- package/dist/workflows/phase-ref.js +0 -91
- package/dist/workflows/phase-ref.js.map +0 -1
- package/dist/workflows/resume.d.ts +0 -58
- package/dist/workflows/resume.js +0 -313
- package/dist/workflows/resume.js.map +0 -1
- package/dist/workflows/runner.d.ts +0 -63
- package/dist/workflows/runner.js +0 -381
- package/dist/workflows/runner.js.map +0 -1
- package/dist/workflows/schema.d.ts +0 -344
- package/dist/workflows/schema.js +0 -460
- package/dist/workflows/schema.js.map +0 -1
- package/dist/workflows/simple.d.ts +0 -90
- package/dist/workflows/simple.js +0 -393
- package/dist/workflows/simple.js.map +0 -1
- package/dist/workflows/target-policy.d.ts +0 -74
- package/dist/workflows/target-policy.js +0 -80
- package/dist/workflows/target-policy.js.map +0 -1
- package/dist/workflows/templates.d.ts +0 -88
- package/dist/workflows/templates.js +0 -127
- package/dist/workflows/templates.js.map +0 -1
- package/dist/workflows/triggers.d.ts +0 -21
- package/dist/workflows/triggers.js +0 -45
- package/dist/workflows/triggers.js.map +0 -1
- package/dist/workflows/verdict.d.ts +0 -19
- package/dist/workflows/verdict.js +0 -30
- package/dist/workflows/verdict.js.map +0 -1
- package/dist/worktree/manager.d.ts +0 -43
- package/dist/worktree/manager.js +0 -127
- package/dist/worktree/manager.js.map +0 -1
- package/docker-compose.yml +0 -274
- package/sandbox.Dockerfile +0 -68
- package/skills/README.md +0 -42
- package/skills/browser-qa/SKILL.md +0 -208
- package/skills/browser-qa/scripts/agent-browser.mjs +0 -531
- package/skills/building/SKILL.md +0 -95
- package/skills/chat/SKILL.md +0 -36
- package/skills/code-review/SKILL.md +0 -82
- package/skills/debug-production/SKILL.md +0 -108
- package/skills/demo/SKILL.md +0 -228
- package/skills/demo/scripts/compose-demo.sh +0 -243
- package/skills/issue-answer/SKILL.md +0 -91
- package/skills/issue-comment/SKILL.md +0 -49
- package/skills/issue-triage/SKILL.md +0 -149
- package/skills/issue-triage/references/AGENT-BRIEF.md +0 -65
- package/skills/pr-comment/SKILL.md +0 -64
- package/skills/pr-review/SKILL.md +0 -148
- package/skills/pr-review/references/findings-schema.md +0 -89
- package/skills/qa-test/SKILL.md +0 -97
- package/skills/repo-health/SKILL.md +0 -67
- package/skills/security-feedback/SKILL.md +0 -173
- package/skills/security-feedback/references/templates.md +0 -77
- package/skills/security-review/SKILL.md +0 -215
- package/skills/security-review/references/issue-format.md +0 -302
- package/skills/verify/SKILL.md +0 -118
- package/workflows/answer.yaml +0 -44
- package/workflows/build.yaml +0 -129
- package/workflows/cron-health.yaml +0 -6
- package/workflows/cron-review.yaml +0 -8
- package/workflows/cron-security.yaml +0 -6
- package/workflows/cron-triage.yaml +0 -8
- package/workflows/demo.yaml +0 -62
- package/workflows/examples/bash-smoke.yaml +0 -41
- package/workflows/examples/parallel-review.yaml +0 -36
- package/workflows/examples/tdd-loop.yaml +0 -17
- package/workflows/explore.yaml +0 -80
- package/workflows/issue-comment.yaml +0 -15
- package/workflows/issue-triage.yaml +0 -22
- package/workflows/pr-comment.yaml +0 -16
- package/workflows/pr-fix.yaml +0 -17
- package/workflows/pr-review.yaml +0 -50
- package/workflows/prompts/answer.md +0 -68
- package/workflows/prompts/architect.md +0 -44
- package/workflows/prompts/classifier.md +0 -60
- package/workflows/prompts/classify-adds-info.md +0 -17
- package/workflows/prompts/demo.md +0 -125
- package/workflows/prompts/executor.md +0 -42
- package/workflows/prompts/explore-ask.md +0 -99
- package/workflows/prompts/explore-publish.md +0 -31
- package/workflows/prompts/explore-read.md +0 -120
- package/workflows/prompts/explore-synthesize.md +0 -88
- package/workflows/prompts/fix.md +0 -18
- package/workflows/prompts/guardrails.md +0 -96
- package/workflows/prompts/pr-fix.md +0 -26
- package/workflows/prompts/pr.md +0 -39
- package/workflows/prompts/qa-browser.md +0 -95
- package/workflows/prompts/qa-synth.md +0 -44
- package/workflows/prompts/qa-test.md +0 -60
- package/workflows/prompts/re-reviewer.md +0 -33
- package/workflows/prompts/reviewer.md +0 -60
- package/workflows/prompts/verify-browser.md +0 -93
- package/workflows/prompts/verify-synth.md +0 -44
- package/workflows/prompts/verify.md +0 -63
- package/workflows/qa-test.yaml +0 -94
- package/workflows/repo-health.yaml +0 -15
- package/workflows/security-feedback.yaml +0 -25
- package/workflows/security-review.yaml +0 -37
- package/workflows/verify.yaml +0 -93
- /package/dist/{cli/cli-config.d.ts → cli-config.d.ts} +0 -0
- /package/dist/{cli/cli-config.js → cli-config.js} +0 -0
- /package/dist/{cli/cli-format.d.ts → cli-format.d.ts} +0 -0
- /package/dist/{cli/cli-format.js → cli-format.js} +0 -0
- /package/dist/{cli/cli-timeline.d.ts → cli-timeline.d.ts} +0 -0
- /package/dist/{cli/cli-timeline.js → cli-timeline.js} +0 -0
- /package/dist/{cli/cli.d.ts → cli.d.ts} +0 -0
- /package/dist/{cli/oauth-cli.d.ts → oauth-cli.d.ts} +0 -0
- /package/dist/{cli/setup.d.ts → setup.d.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"phase-executor.js","sourceRoot":"","sources":["../../src/workflows/phase-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The single authority for building and resolving the phase labels the runner
|
|
3
|
-
* generates for loop iterations.
|
|
4
|
-
*
|
|
5
|
-
* A workflow phase named in the YAML (e.g. `reviewer`) keeps that bare name for
|
|
6
|
-
* its initial run. When a reviewer loop fixes-and-rechecks, or a generic loop
|
|
7
|
-
* iterates, the runner mints a derived label. `PhaseRef.format()` is the ONLY
|
|
8
|
-
* place those derived strings are constructed, and `PhaseRef.parse()` resolves
|
|
9
|
-
* them back to their base phase + kind.
|
|
10
|
-
*
|
|
11
|
-
* Scheme (post-#93):
|
|
12
|
-
*
|
|
13
|
-
* initial review → reviewer
|
|
14
|
-
* cycle n fix → reviewer_fix_n
|
|
15
|
-
* cycle n re-review → reviewer_recheck_n
|
|
16
|
-
* generic-loop iteration n → reviewer_iter_n
|
|
17
|
-
* generic-loop retry of n → reviewer_iter_n_retry
|
|
18
|
-
*
|
|
19
|
-
* `n` is the 1-based cycle; `fix_k` and `recheck_k` pair within a cycle. The
|
|
20
|
-
* `_retry` suffix is the one-shot re-run of a generic-loop iteration whose first
|
|
21
|
-
* attempt came back empty (a "soft" outcome); it gets its own ledger row so
|
|
22
|
-
* resume/dedup doesn't skip it, and the dashboard's longest-prefix grouping
|
|
23
|
-
* still nests it under the same parent. The legacy bare-numeric re-review form
|
|
24
|
-
* (`reviewer_2`) is dropped entirely — it is neither produced nor recognized.
|
|
25
|
-
*/
|
|
26
|
-
export type PhaseKind = "phase" | "fix" | "recheck" | "iter" | "retry";
|
|
27
|
-
export declare class PhaseRef {
|
|
28
|
-
readonly base: string;
|
|
29
|
-
readonly kind: PhaseKind;
|
|
30
|
-
readonly index?: number | undefined;
|
|
31
|
-
constructor(base: string, kind?: PhaseKind, index?: number | undefined);
|
|
32
|
-
/** The declared phase, run as-is (no derived suffix). */
|
|
33
|
-
static review(base: string): PhaseRef;
|
|
34
|
-
/** The executor fix run for cycle `n`. */
|
|
35
|
-
static fix(base: string, n: number): PhaseRef;
|
|
36
|
-
/** The reviewer re-review run for cycle `n`. */
|
|
37
|
-
static recheck(base: string, n: number): PhaseRef;
|
|
38
|
-
/** The generic-loop iteration `n`. */
|
|
39
|
-
static iter(base: string, n: number): PhaseRef;
|
|
40
|
-
/** The one-shot retry of generic-loop iteration `n` after a soft outcome. */
|
|
41
|
-
static iterRetry(base: string, n: number): PhaseRef;
|
|
42
|
-
format(): string;
|
|
43
|
-
/**
|
|
44
|
-
* Parse a label back into a PhaseRef. Recognizes only the generated
|
|
45
|
-
* `_fix_N` / `_recheck_N` / `_iter_N` suffixes; anything else (including a
|
|
46
|
-
* bare declared name or the dropped legacy `_N` form) parses as a plain
|
|
47
|
-
* `phase` whose base is the whole string.
|
|
48
|
-
*/
|
|
49
|
-
static parse(label: string): PhaseRef;
|
|
50
|
-
}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The single authority for building and resolving the phase labels the runner
|
|
3
|
-
* generates for loop iterations.
|
|
4
|
-
*
|
|
5
|
-
* A workflow phase named in the YAML (e.g. `reviewer`) keeps that bare name for
|
|
6
|
-
* its initial run. When a reviewer loop fixes-and-rechecks, or a generic loop
|
|
7
|
-
* iterates, the runner mints a derived label. `PhaseRef.format()` is the ONLY
|
|
8
|
-
* place those derived strings are constructed, and `PhaseRef.parse()` resolves
|
|
9
|
-
* them back to their base phase + kind.
|
|
10
|
-
*
|
|
11
|
-
* Scheme (post-#93):
|
|
12
|
-
*
|
|
13
|
-
* initial review → reviewer
|
|
14
|
-
* cycle n fix → reviewer_fix_n
|
|
15
|
-
* cycle n re-review → reviewer_recheck_n
|
|
16
|
-
* generic-loop iteration n → reviewer_iter_n
|
|
17
|
-
* generic-loop retry of n → reviewer_iter_n_retry
|
|
18
|
-
*
|
|
19
|
-
* `n` is the 1-based cycle; `fix_k` and `recheck_k` pair within a cycle. The
|
|
20
|
-
* `_retry` suffix is the one-shot re-run of a generic-loop iteration whose first
|
|
21
|
-
* attempt came back empty (a "soft" outcome); it gets its own ledger row so
|
|
22
|
-
* resume/dedup doesn't skip it, and the dashboard's longest-prefix grouping
|
|
23
|
-
* still nests it under the same parent. The legacy bare-numeric re-review form
|
|
24
|
-
* (`reviewer_2`) is dropped entirely — it is neither produced nor recognized.
|
|
25
|
-
*/
|
|
26
|
-
export class PhaseRef {
|
|
27
|
-
base;
|
|
28
|
-
kind;
|
|
29
|
-
index;
|
|
30
|
-
constructor(base, kind = "phase", index) {
|
|
31
|
-
this.base = base;
|
|
32
|
-
this.kind = kind;
|
|
33
|
-
this.index = index;
|
|
34
|
-
}
|
|
35
|
-
/** The declared phase, run as-is (no derived suffix). */
|
|
36
|
-
static review(base) {
|
|
37
|
-
return new PhaseRef(base, "phase");
|
|
38
|
-
}
|
|
39
|
-
/** The executor fix run for cycle `n`. */
|
|
40
|
-
static fix(base, n) {
|
|
41
|
-
return new PhaseRef(base, "fix", n);
|
|
42
|
-
}
|
|
43
|
-
/** The reviewer re-review run for cycle `n`. */
|
|
44
|
-
static recheck(base, n) {
|
|
45
|
-
return new PhaseRef(base, "recheck", n);
|
|
46
|
-
}
|
|
47
|
-
/** The generic-loop iteration `n`. */
|
|
48
|
-
static iter(base, n) {
|
|
49
|
-
return new PhaseRef(base, "iter", n);
|
|
50
|
-
}
|
|
51
|
-
/** The one-shot retry of generic-loop iteration `n` after a soft outcome. */
|
|
52
|
-
static iterRetry(base, n) {
|
|
53
|
-
return new PhaseRef(base, "retry", n);
|
|
54
|
-
}
|
|
55
|
-
format() {
|
|
56
|
-
switch (this.kind) {
|
|
57
|
-
case "phase":
|
|
58
|
-
return this.base;
|
|
59
|
-
case "fix":
|
|
60
|
-
return `${this.base}_fix_${this.index}`;
|
|
61
|
-
case "recheck":
|
|
62
|
-
return `${this.base}_recheck_${this.index}`;
|
|
63
|
-
case "iter":
|
|
64
|
-
return `${this.base}_iter_${this.index}`;
|
|
65
|
-
case "retry":
|
|
66
|
-
return `${this.base}_iter_${this.index}_retry`;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Parse a label back into a PhaseRef. Recognizes only the generated
|
|
71
|
-
* `_fix_N` / `_recheck_N` / `_iter_N` suffixes; anything else (including a
|
|
72
|
-
* bare declared name or the dropped legacy `_N` form) parses as a plain
|
|
73
|
-
* `phase` whose base is the whole string.
|
|
74
|
-
*/
|
|
75
|
-
static parse(label) {
|
|
76
|
-
let m = label.match(/^(.*)_iter_(\d+)_retry$/);
|
|
77
|
-
if (m)
|
|
78
|
-
return new PhaseRef(m[1], "retry", Number(m[2]));
|
|
79
|
-
m = label.match(/^(.*)_fix_(\d+)$/);
|
|
80
|
-
if (m)
|
|
81
|
-
return new PhaseRef(m[1], "fix", Number(m[2]));
|
|
82
|
-
m = label.match(/^(.*)_recheck_(\d+)$/);
|
|
83
|
-
if (m)
|
|
84
|
-
return new PhaseRef(m[1], "recheck", Number(m[2]));
|
|
85
|
-
m = label.match(/^(.*)_iter_(\d+)$/);
|
|
86
|
-
if (m)
|
|
87
|
-
return new PhaseRef(m[1], "iter", Number(m[2]));
|
|
88
|
-
return new PhaseRef(label, "phase");
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=phase-ref.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"phase-ref.js","sourceRoot":"","sources":["../../src/workflows/phase-ref.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import type { StateDb, WorkflowRun } from "../state/db.js";
|
|
2
|
-
import type { ExecutorConfig } from "../engine/github/profiles.js";
|
|
3
|
-
import type { GitHubClient } from "../engine/github/github.js";
|
|
4
|
-
import type { ModelConfig, VariantConfig } from "../config/config.js";
|
|
5
|
-
import { type ApprovalGateConfig } from "./runner.js";
|
|
6
|
-
export interface ResumeOptions {
|
|
7
|
-
db: StateDb;
|
|
8
|
-
github: GitHubClient | null;
|
|
9
|
-
config: ExecutorConfig;
|
|
10
|
-
models?: ModelConfig;
|
|
11
|
-
variants?: VariantConfig;
|
|
12
|
-
approvalConfig?: ApprovalGateConfig;
|
|
13
|
-
bootstrapLabel?: string;
|
|
14
|
-
/** Post a message to a Slack channel/thread. Used to resume Slack-originated workflows. */
|
|
15
|
-
slackPoster?: (channelId: string, threadId: string, msg: string) => Promise<void>;
|
|
16
|
-
/** Public base URL of the admin dashboard — for the checklist's live-run link. */
|
|
17
|
-
publicUrl?: string;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Parse `cliftonc/drizby#18` (or `cliftonc/drizby::workflow-name`) into
|
|
21
|
-
* its components. Returns null for Slack/chat-originated trigger ids —
|
|
22
|
-
* those runs resume via the messaging connector, not GitHub refetch.
|
|
23
|
-
*/
|
|
24
|
-
export declare function parseTriggerId(triggerId: string): {
|
|
25
|
-
owner: string;
|
|
26
|
-
repo: string;
|
|
27
|
-
} | null;
|
|
28
|
-
/**
|
|
29
|
-
* Parse a Slack trigger id of the form `slack:{teamId}:{channel}:{thread}`.
|
|
30
|
-
* Returns null for anything else. Used by the runner bridge to reconstruct
|
|
31
|
-
* channel/thread coordinates when resuming a Slack-initiated explore run.
|
|
32
|
-
*/
|
|
33
|
-
export declare function parseSlackTriggerId(triggerId: string): {
|
|
34
|
-
teamId: string;
|
|
35
|
-
channelId: string;
|
|
36
|
-
threadTs: string;
|
|
37
|
-
} | null;
|
|
38
|
-
/**
|
|
39
|
-
* Resume a workflow run by calling runWorkflow directly with the existing
|
|
40
|
-
* workflowId. We bypass runSimpleWorkflow because that wrapper always creates a
|
|
41
|
-
* fresh workflow_runs row — we want to keep the existing one and let the
|
|
42
|
-
* runner's per-phase dedup (`shouldRunPhase`) handle "what's already done".
|
|
43
|
-
*
|
|
44
|
-
* Two callers, same machinery:
|
|
45
|
-
* - `resumeOrphanedWorkflows` — boot recovery of `running` runs after a crash.
|
|
46
|
-
* - the admin/CLI **retry** path (`config.retryWorkflow` in `src/index.ts`) —
|
|
47
|
-
* a user retrying a `failed` run. The failed phase's ledger row is
|
|
48
|
-
* `success=0`, so it re-runs while already-succeeded phases skip; context is
|
|
49
|
-
* reconstructed here from the stored `run.context` + `run.scratch`, which is
|
|
50
|
-
* why retry works for Slack-thread-scoped runs the lossy `resumeWorkflow`
|
|
51
|
-
* (owner/repo/issueNumber) path can't handle.
|
|
52
|
-
*
|
|
53
|
-
* The caller MUST have already flipped the row to `running` (`setRunning` /
|
|
54
|
-
* `restartRun`) — this function does not change the pre-run status, only the
|
|
55
|
-
* terminal `finishRun` at the end.
|
|
56
|
-
*/
|
|
57
|
-
export declare function resumeSimpleRun(run: WorkflowRun, opts: ResumeOptions): Promise<void>;
|
|
58
|
-
export declare function resumeOrphanedWorkflows(opts: ResumeOptions): Promise<void>;
|
package/dist/workflows/resume.js
DELETED
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
import { runWorkflow } from "./runner.js";
|
|
2
|
-
import { getWorkflow } from "./loader.js";
|
|
3
|
-
import { workflowScopedTaskId } from "./simple.js";
|
|
4
|
-
import { slugify } from "./templates.js";
|
|
5
|
-
import { ProgressNotifier, GitHubTransport, buildProgressModel, runDashboardUrl, } from "../notify/index.js";
|
|
6
|
-
/**
|
|
7
|
-
* Parse `cliftonc/drizby#18` (or `cliftonc/drizby::workflow-name`) into
|
|
8
|
-
* its components. Returns null for Slack/chat-originated trigger ids —
|
|
9
|
-
* those runs resume via the messaging connector, not GitHub refetch.
|
|
10
|
-
*/
|
|
11
|
-
export function parseTriggerId(triggerId) {
|
|
12
|
-
if (triggerId.startsWith("slack:"))
|
|
13
|
-
return null;
|
|
14
|
-
const slashIdx = triggerId.indexOf("/");
|
|
15
|
-
if (slashIdx < 0)
|
|
16
|
-
return null;
|
|
17
|
-
const hashIdx = triggerId.indexOf("#");
|
|
18
|
-
const colonIdx = triggerId.indexOf("::");
|
|
19
|
-
const end = hashIdx >= 0 ? hashIdx : colonIdx >= 0 ? colonIdx : triggerId.length;
|
|
20
|
-
const owner = triggerId.slice(0, slashIdx);
|
|
21
|
-
const repo = triggerId.slice(slashIdx + 1, end);
|
|
22
|
-
if (!owner || !repo)
|
|
23
|
-
return null;
|
|
24
|
-
return { owner, repo };
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Parse a Slack trigger id of the form `slack:{teamId}:{channel}:{thread}`.
|
|
28
|
-
* Returns null for anything else. Used by the runner bridge to reconstruct
|
|
29
|
-
* channel/thread coordinates when resuming a Slack-initiated explore run.
|
|
30
|
-
*/
|
|
31
|
-
export function parseSlackTriggerId(triggerId) {
|
|
32
|
-
if (!triggerId.startsWith("slack:"))
|
|
33
|
-
return null;
|
|
34
|
-
const parts = triggerId.slice("slack:".length).split(":");
|
|
35
|
-
if (parts.length !== 3)
|
|
36
|
-
return null;
|
|
37
|
-
const [teamId, channelId, threadTs] = parts;
|
|
38
|
-
if (!teamId || !channelId || !threadTs)
|
|
39
|
-
return null;
|
|
40
|
-
return { teamId, channelId, threadTs };
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Refetch the issue title/body/labels from GitHub so the resumed workflow
|
|
44
|
-
* has fresh context (the user may have edited the issue while the harness
|
|
45
|
-
* was down). Falls back to placeholder values if the fetch fails or no
|
|
46
|
-
* GitHub client is available.
|
|
47
|
-
*/
|
|
48
|
-
async function refetchIssue(github, owner, repo, issueNumber) {
|
|
49
|
-
const fallback = {
|
|
50
|
-
title: `Issue #${issueNumber}`,
|
|
51
|
-
body: "",
|
|
52
|
-
labels: [],
|
|
53
|
-
};
|
|
54
|
-
if (!github)
|
|
55
|
-
return fallback;
|
|
56
|
-
try {
|
|
57
|
-
const issue = await github.getIssue(owner, repo, issueNumber);
|
|
58
|
-
return {
|
|
59
|
-
title: issue.title || fallback.title,
|
|
60
|
-
body: issue.body || "",
|
|
61
|
-
labels: (issue.labels || []).map((l) => typeof l === "string" ? l : l.name ?? "").filter(Boolean),
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
catch (err) {
|
|
65
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
66
|
-
console.warn(`[resume] Could not refetch ${owner}/${repo}#${issueNumber}: ${msg}`);
|
|
67
|
-
return fallback;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Build the standard postComment callback for a resumed workflow. Comments
|
|
72
|
-
* land on the originating GitHub issue so the maintainer sees the resume
|
|
73
|
-
* progress alongside the original run.
|
|
74
|
-
*/
|
|
75
|
-
function makeCallbacks(github, owner, repo, issueNumber, workflowName) {
|
|
76
|
-
return {
|
|
77
|
-
postComment: github && issueNumber
|
|
78
|
-
? async (msg) => {
|
|
79
|
-
try {
|
|
80
|
-
await github.postComment(owner, repo, issueNumber, msg);
|
|
81
|
-
}
|
|
82
|
-
catch (err) {
|
|
83
|
-
const m = err instanceof Error ? err.message : String(err);
|
|
84
|
-
console.warn(`[resume] Failed to post comment: ${m}`);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
: undefined,
|
|
88
|
-
onPhaseStart: async (phase) => console.log(`[resume] ▶ ${workflowName}/${phase}`),
|
|
89
|
-
onPhaseEnd: async (phase, result) => console.log(`[resume] ◀ ${workflowName}/${phase}: ${result.success ? "OK" : "FAILED"}`),
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Resume a workflow run by calling runWorkflow directly with the existing
|
|
94
|
-
* workflowId. We bypass runSimpleWorkflow because that wrapper always creates a
|
|
95
|
-
* fresh workflow_runs row — we want to keep the existing one and let the
|
|
96
|
-
* runner's per-phase dedup (`shouldRunPhase`) handle "what's already done".
|
|
97
|
-
*
|
|
98
|
-
* Two callers, same machinery:
|
|
99
|
-
* - `resumeOrphanedWorkflows` — boot recovery of `running` runs after a crash.
|
|
100
|
-
* - the admin/CLI **retry** path (`config.retryWorkflow` in `src/index.ts`) —
|
|
101
|
-
* a user retrying a `failed` run. The failed phase's ledger row is
|
|
102
|
-
* `success=0`, so it re-runs while already-succeeded phases skip; context is
|
|
103
|
-
* reconstructed here from the stored `run.context` + `run.scratch`, which is
|
|
104
|
-
* why retry works for Slack-thread-scoped runs the lossy `resumeWorkflow`
|
|
105
|
-
* (owner/repo/issueNumber) path can't handle.
|
|
106
|
-
*
|
|
107
|
-
* The caller MUST have already flipped the row to `running` (`setRunning` /
|
|
108
|
-
* `restartRun`) — this function does not change the pre-run status, only the
|
|
109
|
-
* terminal `finishRun` at the end.
|
|
110
|
-
*/
|
|
111
|
-
export async function resumeSimpleRun(run, opts) {
|
|
112
|
-
const stored = (run.context || {});
|
|
113
|
-
// Derive owner/repo: GitHub trigger ids encode it as owner/repo#N;
|
|
114
|
-
// Slack-originated runs store owner in context and repo on the row.
|
|
115
|
-
const parsed = parseTriggerId(run.triggerId);
|
|
116
|
-
const owner = parsed?.owner ?? stored.owner ?? "";
|
|
117
|
-
const repo = parsed?.repo ?? run.repo ?? "";
|
|
118
|
-
const issueNumber = run.issueNumber;
|
|
119
|
-
const isSlack = run.triggerId.startsWith("slack:");
|
|
120
|
-
if (!owner && !repo && !isSlack) {
|
|
121
|
-
console.warn(`[resume] Skipping ${run.id}: cannot derive owner/repo from triggerId ${run.triggerId}`);
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
let definition;
|
|
125
|
-
try {
|
|
126
|
-
definition = getWorkflow(run.workflowName);
|
|
127
|
-
}
|
|
128
|
-
catch (err) {
|
|
129
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
130
|
-
console.warn(`[resume] Skipping ${run.id}: workflow definition "${run.workflowName}" not found: ${msg}`);
|
|
131
|
-
opts.db.runs.finishRun(run.id, "failed", { error: `harness restarted; workflow definition not found` });
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
const issue = issueNumber && owner && repo
|
|
135
|
-
? await refetchIssue(opts.github, owner, repo, issueNumber)
|
|
136
|
-
: { title: "", body: "", labels: [] };
|
|
137
|
-
// Reconstruct the template context using the bits we stored on creation +
|
|
138
|
-
// refreshed issue data. taskId/branch/issueDir were saved on the original
|
|
139
|
-
// row, fall back to deterministic defaults if the row is older.
|
|
140
|
-
const taskId = stored.taskId ??
|
|
141
|
-
workflowScopedTaskId(repo, issueNumber, run.workflowName, run.id);
|
|
142
|
-
const branch = stored.branch ??
|
|
143
|
-
(issueNumber
|
|
144
|
-
? `lastlight/${issueNumber}-${slugify(issue.title || `issue-${issueNumber}`)}`
|
|
145
|
-
: `lastlight/${run.workflowName}`);
|
|
146
|
-
const issueDir = stored.issueDir
|
|
147
|
-
?? (issueNumber ? `.lastlight/issue-${issueNumber}` : `.lastlight/${run.workflowName}`);
|
|
148
|
-
const ctx = {
|
|
149
|
-
owner,
|
|
150
|
-
repo,
|
|
151
|
-
issueNumber: issueNumber ?? 0,
|
|
152
|
-
issueTitle: issue.title,
|
|
153
|
-
issueBody: issue.body,
|
|
154
|
-
issueLabels: issue.labels,
|
|
155
|
-
commentBody: "",
|
|
156
|
-
sender: "system:resume",
|
|
157
|
-
branch,
|
|
158
|
-
taskId,
|
|
159
|
-
issueDir,
|
|
160
|
-
// Mirror the fresh-dispatch context so a resumed server-mode run keeps
|
|
161
|
-
// externalizing (and linking docs to the dashboard) instead of silently
|
|
162
|
-
// reverting to committing them on the branch.
|
|
163
|
-
externalizeArtifacts: opts.config.buildAssets === "server",
|
|
164
|
-
publicUrl: opts.publicUrl,
|
|
165
|
-
bootstrapLabel: opts.bootstrapLabel || "lastlight:bootstrap",
|
|
166
|
-
contextSnapshot: "",
|
|
167
|
-
// Preserve the original prePopulateBranch so a resumed run still
|
|
168
|
-
// gets its workspace pre-cloned (matters for pr-fix re-entry after
|
|
169
|
-
// an approval gate, where the branch was resolved at first dispatch).
|
|
170
|
-
prePopulateBranch: typeof stored.prePopulateBranch === "string"
|
|
171
|
-
? stored.prePopulateBranch
|
|
172
|
-
: undefined,
|
|
173
|
-
models: opts.models,
|
|
174
|
-
triggerIdOverride: isSlack ? run.triggerId : undefined,
|
|
175
|
-
};
|
|
176
|
-
console.log(`[resume] Re-dispatching ${run.workflowName} for ${run.triggerId} (was on phase=${run.currentPhase})`);
|
|
177
|
-
// For Slack-originated runs, post progress to the Slack thread instead
|
|
178
|
-
// of GitHub. The channelId/threadId were stored in context by the
|
|
179
|
-
// original dispatch.
|
|
180
|
-
let slackCallbacks = null;
|
|
181
|
-
if (isSlack && opts.slackPoster) {
|
|
182
|
-
const ch = stored.channelId;
|
|
183
|
-
const th = stored.threadId;
|
|
184
|
-
if (ch && th) {
|
|
185
|
-
const poster = opts.slackPoster;
|
|
186
|
-
slackCallbacks = {
|
|
187
|
-
postComment: async (msg) => {
|
|
188
|
-
try {
|
|
189
|
-
await poster(ch, th, msg);
|
|
190
|
-
}
|
|
191
|
-
catch (err) {
|
|
192
|
-
const m = err instanceof Error ? err.message : String(err);
|
|
193
|
-
console.warn(`[resume] Failed to post to Slack thread: ${m}`);
|
|
194
|
-
}
|
|
195
|
-
},
|
|
196
|
-
onPhaseStart: async (phase) => console.log(`[resume] ▶ ${run.workflowName}/${phase}`),
|
|
197
|
-
onPhaseEnd: async (phase, result) => console.log(`[resume] ◀ ${run.workflowName}/${phase}: ${result.success ? "OK" : "FAILED"}`),
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
let callbacks = slackCallbacks || makeCallbacks(opts.github, owner, repo, issueNumber, run.workflowName);
|
|
202
|
-
// Re-attach the in-place checklist on GitHub boot-recovery so a run that was
|
|
203
|
-
// mid-flight when the harness died keeps editing its original status comment
|
|
204
|
-
// instead of posting a fresh one. The stored comment id lives in
|
|
205
|
-
// scratch.notifier; completed phases are re-seeded from phase_history.
|
|
206
|
-
// (The Slack boot-recovery path only has a post function here — no
|
|
207
|
-
// chat.update — so it stays on legacy comments.)
|
|
208
|
-
if (!slackCallbacks && definition.status_checklist && opts.github && issueNumber) {
|
|
209
|
-
try {
|
|
210
|
-
const saved = ((run.scratch?.notifier) ?? {});
|
|
211
|
-
const github = opts.github;
|
|
212
|
-
const persist = (patch) => {
|
|
213
|
-
const cur = ((opts.db.runs.getRun(run.id)?.scratch?.notifier) ?? {});
|
|
214
|
-
opts.db.runs.mergeScratch(run.id, { notifier: { ...cur, ...patch } });
|
|
215
|
-
};
|
|
216
|
-
const transport = new GitHubTransport({
|
|
217
|
-
github,
|
|
218
|
-
owner,
|
|
219
|
-
repo,
|
|
220
|
-
issueNumber,
|
|
221
|
-
commentId: saved.githubCommentId,
|
|
222
|
-
save: (id) => persist({ githubCommentId: id }),
|
|
223
|
-
});
|
|
224
|
-
const notifier = new ProgressNotifier([transport]);
|
|
225
|
-
const completed = new Set(run.phaseHistory.map((h) => h.phase));
|
|
226
|
-
await notifier.start(buildProgressModel(definition, {
|
|
227
|
-
workflowName: run.workflowName,
|
|
228
|
-
number: issueNumber,
|
|
229
|
-
issueTitle: issue.title,
|
|
230
|
-
owner,
|
|
231
|
-
repo,
|
|
232
|
-
branch,
|
|
233
|
-
completed,
|
|
234
|
-
runUrl: runDashboardUrl(opts.publicUrl, run.id, run.workflowName),
|
|
235
|
-
}));
|
|
236
|
-
callbacks = { ...callbacks, reporter: notifier };
|
|
237
|
-
}
|
|
238
|
-
catch (err) {
|
|
239
|
-
const m = err instanceof Error ? err.message : String(err);
|
|
240
|
-
console.warn(`[resume] notifier setup failed: ${m}`);
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
// Server mode: tag the config with this run's artifact identity so the
|
|
244
|
-
// executor's stage-in/harvest seam targets the same store path the original
|
|
245
|
-
// dispatch used (issueKey = issueDir minus the `.lastlight/` prefix).
|
|
246
|
-
const runConfig = opts.config.buildAssets === "server"
|
|
247
|
-
? { ...opts.config, buildAssetsKey: { owner, repo, issueKey: issueDir.replace(/^\.lastlight\//, "") } }
|
|
248
|
-
: opts.config;
|
|
249
|
-
try {
|
|
250
|
-
const result = await runWorkflow(definition, ctx, runConfig, callbacks, opts.db, opts.models, opts.approvalConfig, run.id, // <-- key bit: reuse the existing workflow run id
|
|
251
|
-
opts.variants);
|
|
252
|
-
if (result.success) {
|
|
253
|
-
opts.db.runs.finishRun(run.id, "succeeded");
|
|
254
|
-
}
|
|
255
|
-
else if (!result.paused) {
|
|
256
|
-
opts.db.runs.finishRun(run.id, "failed", {
|
|
257
|
-
error: result.phases.find((p) => !p.success)?.error || "workflow failed during resume",
|
|
258
|
-
});
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
catch (err) {
|
|
262
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
263
|
-
console.error(`[resume] ${run.workflowName} resume for ${run.id} threw: ${msg}`);
|
|
264
|
-
opts.db.runs.finishRun(run.id, "failed", { error: `resume threw: ${msg}` });
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
/**
|
|
268
|
-
* Boot-time sweep: find every workflow run that was 'running' when the
|
|
269
|
-
* harness last shut down, mark its in-flight execution rows as stale (the
|
|
270
|
-
* Docker containers were already killed by cleanupOrphanedSandboxes), then
|
|
271
|
-
* re-dispatch each run so the runner can pick up where it left off.
|
|
272
|
-
*
|
|
273
|
-
* 'paused' runs are intentionally left alone — they're waiting for human
|
|
274
|
-
* approval and the dashboard / GitHub comment flow will resume them.
|
|
275
|
-
*/
|
|
276
|
-
/**
|
|
277
|
-
* Maximum number of times a single workflow run can be resumed after a
|
|
278
|
-
* harness restart. Past this we mark the run failed and stop re-dispatching
|
|
279
|
-
* it, on the theory that a run that crashes the host three times in a row
|
|
280
|
-
* (agent OOM, infinite loop, etc.) needs a human, not another attempt.
|
|
281
|
-
*/
|
|
282
|
-
const MAX_RESTART_RESUMES = 3;
|
|
283
|
-
export async function resumeOrphanedWorkflows(opts) {
|
|
284
|
-
const active = opts.db.runs.listActive();
|
|
285
|
-
const orphans = active.filter((r) => r.status === "running");
|
|
286
|
-
if (orphans.length === 0) {
|
|
287
|
-
console.log("[resume] No orphaned workflow runs to recover");
|
|
288
|
-
return;
|
|
289
|
-
}
|
|
290
|
-
console.log(`[resume] Found ${orphans.length} orphaned workflow run(s) — recovering`);
|
|
291
|
-
for (const run of orphans) {
|
|
292
|
-
// Clear any "still running" execution rows so dedup works on resume.
|
|
293
|
-
const cleared = opts.db.executions.markAllStaleForTrigger(run.triggerId, "stale: harness restarted");
|
|
294
|
-
if (cleared > 0) {
|
|
295
|
-
console.log(`[resume] Cleared ${cleared} stale execution(s) for ${run.triggerId}`);
|
|
296
|
-
}
|
|
297
|
-
// Circuit breaker: bump the per-run restart counter, and if we've now
|
|
298
|
-
// resumed it more than MAX_RESTART_RESUMES times, mark it failed and
|
|
299
|
-
// move on. This is what stops an OOM-on-restart loop from churning
|
|
300
|
-
// forever.
|
|
301
|
-
const attempts = opts.db.runs.incrementRestartCount(run.id);
|
|
302
|
-
if (attempts > MAX_RESTART_RESUMES) {
|
|
303
|
-
const msg = `harness restarted ${attempts - 1}x while this run was active — giving up after ${MAX_RESTART_RESUMES} resume attempts`;
|
|
304
|
-
console.warn(`[resume] ${run.workflowName} run ${run.id}: ${msg}`);
|
|
305
|
-
opts.db.runs.finishRun(run.id, "failed", { error: msg });
|
|
306
|
-
continue;
|
|
307
|
-
}
|
|
308
|
-
// Dispatch in the background — we don't want one slow resume to block
|
|
309
|
-
// the others (or the rest of the boot sequence).
|
|
310
|
-
resumeSimpleRun(run, opts).catch((err) => console.error(`[resume] ${run.workflowName} run ${run.id} crashed:`, err));
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
//# sourceMappingURL=resume.js.map
|