@revisium/orchestrator 0.1.0 → 0.2.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +78 -0
- package/control-plane/bootstrap.config.json +43 -1
- package/control-plane/default-playbook/catalog/pipelines.json +941 -3
- package/control-plane/default-playbook/catalog/roles.json +54 -0
- package/dist/api/graphql-api/graphql-ws/pubsub.module.js +0 -1
- package/dist/api/graphql-api/graphql-ws/pubsub.module.js.map +1 -1
- package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js +0 -1
- package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js.map +1 -1
- package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js +0 -1
- package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js.map +1 -1
- package/dist/api/graphql-api/pr/model/pr-readiness.model.js +0 -4
- package/dist/api/graphql-api/pr/model/pr-readiness.model.js.map +1 -1
- package/dist/cli/commands/doctor-report.js +0 -18
- package/dist/cli/commands/doctor-report.js.map +1 -1
- package/dist/cli/commands/lifecycle.js +3 -71
- package/dist/cli/commands/lifecycle.js.map +1 -1
- package/dist/cli/commands/mcp.js +0 -14
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/process-tree.js +4 -26
- package/dist/cli/commands/process-tree.js.map +1 -1
- package/dist/cli/commands/revisium-helpers.js +0 -6
- package/dist/cli/commands/revisium-helpers.js.map +1 -1
- package/dist/cli/commands/rogue-reaper.js +0 -34
- package/dist/cli/commands/rogue-reaper.js.map +1 -1
- package/dist/cli/index.js +0 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/program.js +0 -5
- package/dist/cli/program.js.map +1 -1
- package/dist/config.js +0 -25
- package/dist/config.js.map +1 -1
- package/dist/control-plane/bootstrap.js +0 -28
- package/dist/control-plane/bootstrap.js.map +1 -1
- package/dist/control-plane/change-notifications.js +0 -1
- package/dist/control-plane/change-notifications.js.map +1 -1
- package/dist/control-plane/client-transport.js +0 -11
- package/dist/control-plane/client-transport.js.map +1 -1
- package/dist/control-plane/definitions.js +8 -17
- package/dist/control-plane/definitions.js.map +1 -1
- package/dist/control-plane/inbox.js +2 -120
- package/dist/control-plane/inbox.js.map +1 -1
- package/dist/control-plane/resolve-cwd.js +0 -61
- package/dist/control-plane/resolve-cwd.js.map +1 -1
- package/dist/control-plane/schema-migration.js +0 -9
- package/dist/control-plane/schema-migration.js.map +1 -1
- package/dist/control-plane/seed-default-playbook.js +5 -70
- package/dist/control-plane/seed-default-playbook.js.map +1 -1
- package/dist/control-plane/steps.js +0 -15
- package/dist/control-plane/steps.js.map +1 -1
- package/dist/e2e/kit/assertions.js +1 -1
- package/dist/e2e/kit/assertions.js.map +1 -1
- package/dist/engine/dbos.service.js +9 -179
- package/dist/engine/dbos.service.js.map +1 -1
- package/dist/engine/ensure-postgres.js +0 -48
- package/dist/engine/ensure-postgres.js.map +1 -1
- package/dist/host/daemon.js +2 -21
- package/dist/host/daemon.js.map +1 -1
- package/dist/host/dbos-identity.js +0 -31
- package/dist/host/dbos-identity.js.map +1 -1
- package/dist/host/ensure-host.js +1 -37
- package/dist/host/ensure-host.js.map +1 -1
- package/dist/host/ensure-revisium.js +1 -135
- package/dist/host/ensure-revisium.js.map +1 -1
- package/dist/host/host-runtime.js +0 -28
- package/dist/host/host-runtime.js.map +1 -1
- package/dist/host/host.lifecycle.js +0 -27
- package/dist/host/host.lifecycle.js.map +1 -1
- package/dist/host/queue-ownership.js +0 -42
- package/dist/host/queue-ownership.js.map +1 -1
- package/dist/host/queue-poller-census.js +1 -28
- package/dist/host/queue-poller-census.js.map +1 -1
- package/dist/http/graphql-host.module.js +0 -3
- package/dist/http/graphql-host.module.js.map +1 -1
- package/dist/mcp/mcp-capabilities.js +19 -14
- package/dist/mcp/mcp-capabilities.js.map +1 -1
- package/dist/mcp/mcp-facade.service.js +41 -23
- package/dist/mcp/mcp-facade.service.js.map +1 -1
- package/dist/mcp/mcp-http.service.js +0 -18
- package/dist/mcp/mcp-http.service.js.map +1 -1
- package/dist/mcp/mcp-tools.js +18 -40
- package/dist/mcp/mcp-tools.js.map +1 -1
- package/dist/observability/activity-signal.js +0 -4
- package/dist/observability/activity-signal.js.map +1 -1
- package/dist/observability/agent-activity-reporter.js +0 -4
- package/dist/observability/agent-activity-reporter.js.map +1 -1
- package/dist/pipeline/await-human.js +0 -40
- package/dist/pipeline/await-human.js.map +1 -1
- package/dist/pipeline/data-driven-task.workflow.js +106 -236
- package/dist/pipeline/data-driven-task.workflow.js.map +1 -1
- package/dist/pipeline/data-driven-template.js +0 -25
- package/dist/pipeline/data-driven-template.js.map +1 -1
- package/dist/pipeline/pipeline.module.js +0 -12
- package/dist/pipeline/pipeline.module.js.map +1 -1
- package/dist/pipeline/pipeline.service.js +10 -99
- package/dist/pipeline/pipeline.service.js.map +1 -1
- package/dist/pipeline-core/index.js +1 -13
- package/dist/pipeline-core/index.js.map +1 -1
- package/dist/pipeline-core/interpret.js +21 -94
- package/dist/pipeline-core/interpret.js.map +1 -1
- package/dist/pipeline-core/kit/assertions.js +0 -19
- package/dist/pipeline-core/kit/assertions.js.map +1 -1
- package/dist/pipeline-core/kit/builders.js +1 -21
- package/dist/pipeline-core/kit/builders.js.map +1 -1
- package/dist/pipeline-core/kit/drive.js +1 -31
- package/dist/pipeline-core/kit/drive.js.map +1 -1
- package/dist/pipeline-core/kit/fixtures.js +8 -82
- package/dist/pipeline-core/kit/fixtures.js.map +1 -1
- package/dist/pipeline-core/kit/index.js +0 -8
- package/dist/pipeline-core/kit/index.js.map +1 -1
- package/dist/pipeline-core/types.js +13 -52
- package/dist/pipeline-core/types.js.map +1 -1
- package/dist/pipeline-core/validate-capability.js +0 -3
- package/dist/pipeline-core/validate-capability.js.map +1 -1
- package/dist/pipeline-core/validate-conflicts.js +0 -9
- package/dist/pipeline-core/validate-conflicts.js.map +1 -1
- package/dist/pipeline-core/validate-dataflow.js +0 -17
- package/dist/pipeline-core/validate-dataflow.js.map +1 -1
- package/dist/pipeline-core/validate-diff.js +3 -36
- package/dist/pipeline-core/validate-diff.js.map +1 -1
- package/dist/pipeline-core/validate-edges.js +0 -6
- package/dist/pipeline-core/validate-edges.js.map +1 -1
- package/dist/pipeline-core/validate-graph.js +0 -11
- package/dist/pipeline-core/validate-graph.js.map +1 -1
- package/dist/pipeline-core/validate-loops.js +37 -44
- package/dist/pipeline-core/validate-loops.js.map +1 -1
- package/dist/pipeline-core/validate-parallel.js +9 -15
- package/dist/pipeline-core/validate-parallel.js.map +1 -1
- package/dist/pipeline-core/validate-sink.js +0 -7
- package/dist/pipeline-core/validate-sink.js.map +1 -1
- package/dist/pipeline-core/validate-topology.js +1 -20
- package/dist/pipeline-core/validate-topology.js.map +1 -1
- package/dist/pipeline-core/validate-verdict.js +52 -7
- package/dist/pipeline-core/validate-verdict.js.map +1 -1
- package/dist/pipeline-core/validate.js +5 -29
- package/dist/pipeline-core/validate.js.map +1 -1
- package/dist/playbook/catalog-loader.js +8 -3
- package/dist/playbook/catalog-loader.js.map +1 -1
- package/dist/playbook/import-mapper.js +1 -9
- package/dist/playbook/import-mapper.js.map +1 -1
- package/dist/poller/pr-readiness-core.js +0 -74
- package/dist/poller/pr-readiness-core.js.map +1 -1
- package/dist/revisium/inbox.service.js +0 -24
- package/dist/revisium/inbox.service.js.map +1 -1
- package/dist/revisium/playbooks.service.js +2 -4
- package/dist/revisium/playbooks.service.js.map +1 -1
- package/dist/revisium/revisium.module.js +0 -12
- package/dist/revisium/revisium.module.js.map +1 -1
- package/dist/revisium/roles.service.js +0 -6
- package/dist/revisium/roles.service.js.map +1 -1
- package/dist/revisium/run.service.js +1 -75
- package/dist/revisium/run.service.js.map +1 -1
- package/dist/revisium/tokens.js +0 -4
- package/dist/revisium/tokens.js.map +1 -1
- package/dist/run/append-event.js +0 -34
- package/dist/run/append-event.js.map +1 -1
- package/dist/run/block-run.js.map +1 -1
- package/dist/run/cancel-run.js +0 -33
- package/dist/run/cancel-run.js.map +1 -1
- package/dist/run/complete-run.js.map +1 -1
- package/dist/run/create-run.js +0 -7
- package/dist/run/create-run.js.map +1 -1
- package/dist/run/fail-run.js +0 -3
- package/dist/run/fail-run.js.map +1 -1
- package/dist/run/inspect-run.js +0 -26
- package/dist/run/inspect-run.js.map +1 -1
- package/dist/run/run-outputs.js +0 -19
- package/dist/run/run-outputs.js.map +1 -1
- package/dist/run/terminal-run-status.js +0 -12
- package/dist/run/terminal-run-status.js.map +1 -1
- package/dist/runners/claude-code.service.js +0 -11
- package/dist/runners/claude-code.service.js.map +1 -1
- package/dist/runners/codex.service.js +0 -9
- package/dist/runners/codex.service.js.map +1 -1
- package/dist/runners/gh-identity.js +0 -52
- package/dist/runners/gh-identity.js.map +1 -1
- package/dist/runners/integrator-branch-naming.js +3 -11
- package/dist/runners/integrator-branch-naming.js.map +1 -1
- package/dist/runners/integrator-git.js +0 -25
- package/dist/runners/integrator-git.js.map +1 -1
- package/dist/runners/integrator-remote.js +0 -2
- package/dist/runners/integrator-remote.js.map +1 -1
- package/dist/runners/integrator-types.js +0 -7
- package/dist/runners/integrator-types.js.map +1 -1
- package/dist/runners/integrator.js +3 -167
- package/dist/runners/integrator.js.map +1 -1
- package/dist/runners/runner.module.js +0 -6
- package/dist/runners/runner.module.js.map +1 -1
- package/dist/runners/tokens.js +0 -4
- package/dist/runners/tokens.js.map +1 -1
- package/dist/runners/worktree.service.js +1 -17
- package/dist/runners/worktree.service.js.map +1 -1
- package/dist/task-control-plane/run-watch.service.js +49 -173
- package/dist/task-control-plane/run-watch.service.js.map +1 -1
- package/dist/task-control-plane/task-control-plane-api.service.js +15 -17
- package/dist/task-control-plane/task-control-plane-api.service.js.map +1 -1
- package/dist/worker/build-context.js +0 -16
- package/dist/worker/build-context.js.map +1 -1
- package/dist/worker/claude-code-runner.js +9 -42
- package/dist/worker/claude-code-runner.js.map +1 -1
- package/dist/worker/codex-runner.js +88 -22
- package/dist/worker/codex-runner.js.map +1 -1
- package/dist/worker/git-worktree-manager.js +20 -67
- package/dist/worker/git-worktree-manager.js.map +1 -1
- package/dist/worker/process-executor.js +0 -12
- package/dist/worker/process-executor.js.map +1 -1
- package/dist/worker/result-envelope.js +33 -49
- package/dist/worker/result-envelope.js.map +1 -1
- package/dist/worker/runner-dispatch.js +0 -3
- package/dist/worker/runner-dispatch.js.map +1 -1
- package/dist/worker/runner.js.map +1 -1
- package/dist/worker/stub-runner.js +0 -7
- package/dist/worker/stub-runner.js.map +1 -1
- package/package.json +2 -2
|
@@ -10,21 +10,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
12
|
};
|
|
13
|
-
/**
|
|
14
|
-
* integrator.ts — deterministic, replay-safe code integrator.
|
|
15
|
-
*
|
|
16
|
-
* DBOS-SEALED: zero @dbos-inc imports. Registration happens in PipelineService ctor.
|
|
17
|
-
*
|
|
18
|
-
* Exposes:
|
|
19
|
-
* - integrate(input, deps) — REAL integrator (live only); git/gh side effects; resumable.
|
|
20
|
-
* - stubIntegrate(input) — STUB (script only); ZERO external effects; pure + deterministic.
|
|
21
|
-
* - preflightLive(taskId, base, deps) — LIVE PREFLIGHT; clean check + base availability; one-shot.
|
|
22
|
-
* - IntegratorService — @Injectable wrapper with bound arrow properties.
|
|
23
|
-
*
|
|
24
|
-
* The pure primitives (resolveExecutable, branchName, parseOwnerRepo) and shared types live in
|
|
25
|
-
* sibling modules (integrator-git / -branch-naming / -remote / -types) and are re-exported here so
|
|
26
|
-
* the public import path ('./integrator.js') is unchanged.
|
|
27
|
-
*/
|
|
28
13
|
import { Inject, Injectable } from '@nestjs/common';
|
|
29
14
|
import { execFileSync } from 'node:child_process';
|
|
30
15
|
import { collectPrReadiness, fetchRequiredCheckNames, } from '../poller/pr-readiness-core.js';
|
|
@@ -34,8 +19,6 @@ import { resolveGhAccount, resolvePinnedGh } from './gh-identity.js';
|
|
|
34
19
|
import { gitAbsPath, branchExists, countAhead } from './integrator-git.js';
|
|
35
20
|
import { resolveOwnerRepo } from './integrator-remote.js';
|
|
36
21
|
import { branchName } from './integrator-branch-naming.js';
|
|
37
|
-
// Public-API re-exports — the implementations now live in focused sibling modules, but callers
|
|
38
|
-
// (worktree.service, git-worktree-manager, the test kit) keep importing from './integrator.js'.
|
|
39
22
|
export { resolveExecutable } from './integrator-git.js';
|
|
40
23
|
export { branchName };
|
|
41
24
|
export { parseOwnerRepo } from './integrator-remote.js';
|
|
@@ -100,9 +83,7 @@ function createPr(ownerRepo, branch, base, title, issueRef, execGh) {
|
|
|
100
83
|
'--body',
|
|
101
84
|
'',
|
|
102
85
|
]);
|
|
103
|
-
// gh pr create prints the PR url on stdout
|
|
104
86
|
const createdUrl = createOut.trim();
|
|
105
|
-
// Fetch back number from the URL
|
|
106
87
|
const viewRaw = execGh([
|
|
107
88
|
'pr',
|
|
108
89
|
'view',
|
|
@@ -117,8 +98,6 @@ function createPr(ownerRepo, branch, base, title, issueRef, execGh) {
|
|
|
117
98
|
viewData = JSON.parse(viewRaw);
|
|
118
99
|
}
|
|
119
100
|
catch {
|
|
120
|
-
// gh pr view returned non-JSON after create — cannot determine real PR url/number.
|
|
121
|
-
// A live integrator must NEVER emit a stub:// url; surface as needsHuman for human review.
|
|
122
101
|
return {
|
|
123
102
|
needsHuman: true,
|
|
124
103
|
lesson: `gh pr view returned non-JSON after create (url=${createdUrl || 'empty'}); ` +
|
|
@@ -139,23 +118,9 @@ function findOrCreatePr(ownerRepo, branch, base, title, issueRef, execGh) {
|
|
|
139
118
|
function findExistingPrWithHead(ownerRepo, branch, base, execGh) {
|
|
140
119
|
return matchingOpenPr(ownerRepo, branch, base, execGh, 'number,url,baseRefName,headRefOid');
|
|
141
120
|
}
|
|
142
|
-
// ─── Preflight (B5+B7) ────────────────────────────────────────────────────────
|
|
143
|
-
/**
|
|
144
|
-
* preflightLive — clean check + base availability, evaluated ONCE as a memoized DBOS step.
|
|
145
|
-
* Only called on live runs; script/stub runs skip this entirely.
|
|
146
|
-
*
|
|
147
|
-
* 1. git fetch origin <base> (idempotent — the only mutation)
|
|
148
|
-
* 2. git status --porcelain → non-empty → block (repo not clean)
|
|
149
|
-
* 3. Verify origin/<base> resolves. Non-base caller branches are allowed because the run worktree
|
|
150
|
-
* is cut from origin/<base>; the caller checkout is never switched or rebased.
|
|
151
|
-
*
|
|
152
|
-
* Returns { ok: true } when the caller repo is clean and origin/<base> is available.
|
|
153
|
-
* Returns IntegratorBlocked on ANY failure — no throw, so DBOS does NOT retry.
|
|
154
|
-
*/
|
|
155
121
|
export async function preflightLive(taskId, base, deps) {
|
|
156
122
|
const { execGit, resolveTaskCwd } = deps;
|
|
157
123
|
const cwd = await resolveTaskCwd(taskId);
|
|
158
|
-
// 1. Fetch (only mutation; idempotent; ignore errors — fetch failure handled as mismatch)
|
|
159
124
|
try {
|
|
160
125
|
execGit(['fetch', 'origin', base], cwd);
|
|
161
126
|
}
|
|
@@ -165,7 +130,6 @@ export async function preflightLive(taskId, base, deps) {
|
|
|
165
130
|
lesson: `live preflight: git fetch origin ${base} failed — base branch may not exist on remote: ${String(err)}`,
|
|
166
131
|
};
|
|
167
132
|
}
|
|
168
|
-
// 2. Clean check
|
|
169
133
|
const porcelain = execGit(['status', '--porcelain'], cwd).trim();
|
|
170
134
|
if (porcelain !== '') {
|
|
171
135
|
const lineCount = porcelain.split('\n').length;
|
|
@@ -174,9 +138,6 @@ export async function preflightLive(taskId, base, deps) {
|
|
|
174
138
|
lesson: `target repo ${cwd} is not clean (${lineCount} uncommitted change${lineCount === 1 ? '' : 's'}); commit/stash and retry --live`,
|
|
175
139
|
};
|
|
176
140
|
}
|
|
177
|
-
// 3. Base availability. The isolated run worktree is created later from origin/<base>, so feature
|
|
178
|
-
// branches in the caller checkout do not need to be based on the fresh base. The only caller-branch
|
|
179
|
-
// policy we preserve here is fail-loud protection for local-only commits on the base branch itself.
|
|
180
141
|
let headBranch;
|
|
181
142
|
let headSha;
|
|
182
143
|
let originSha;
|
|
@@ -198,7 +159,7 @@ export async function preflightLive(taskId, base, deps) {
|
|
|
198
159
|
behind = true;
|
|
199
160
|
}
|
|
200
161
|
catch {
|
|
201
|
-
behind = false;
|
|
162
|
+
behind = false;
|
|
202
163
|
}
|
|
203
164
|
if (!behind) {
|
|
204
165
|
return {
|
|
@@ -211,11 +172,6 @@ export async function preflightLive(taskId, base, deps) {
|
|
|
211
172
|
}
|
|
212
173
|
return { ok: true };
|
|
213
174
|
}
|
|
214
|
-
// ─── STUB integrator (script only) ───────────────────────────────────────────
|
|
215
|
-
/**
|
|
216
|
-
* stubIntegrate — PURE, zero side effects; returns a placeholder result.
|
|
217
|
-
* Used by `script` mode (default + --stub). Makes NO execGit/execGh calls.
|
|
218
|
-
*/
|
|
219
175
|
export function stubIntegrate(input) {
|
|
220
176
|
return {
|
|
221
177
|
prUrl: 'stub://pr/placeholder',
|
|
@@ -258,50 +214,31 @@ function stagedDiffPresent(git, cwd) {
|
|
|
258
214
|
return true;
|
|
259
215
|
}
|
|
260
216
|
}
|
|
261
|
-
// ─── REAL integrator (live only) ─────────────────────────────────────────────
|
|
262
|
-
/**
|
|
263
|
-
* integrate — REAL integrator (live only).
|
|
264
|
-
* Replay-safe: branch create-if-absent (no clobber); commit only if staged diff;
|
|
265
|
-
* push + find-or-create PR even if commit already happened (ahead guard).
|
|
266
|
-
*/
|
|
267
217
|
export async function integrate(input, deps) {
|
|
268
218
|
if (input.change)
|
|
269
219
|
return integrateProducedChange(input, deps, input.change);
|
|
270
220
|
const { execGit: git, execGh: gh, resolveRunCwd } = deps;
|
|
271
|
-
// Resolve the run's ISOLATED worktree (plan 0017) — it is already checked out on `branch`, so the
|
|
272
|
-
// branchExists→switch path below is a no-op and the dirty-tree `switch -c origin/<base>` (which
|
|
273
|
-
// failed when the base checkout carried prior-run changes) is never taken.
|
|
274
221
|
const cwd = await resolveRunCwd(input.runId, input.taskId);
|
|
275
222
|
const branch = branchName(input.taskId, input.title, input.issueRef);
|
|
276
|
-
// 1. Derive owner/repo
|
|
277
223
|
const ownerRepoResult = resolveOwnerRepo(git, cwd);
|
|
278
224
|
if ('needsHuman' in ownerRepoResult)
|
|
279
225
|
return ownerRepoResult;
|
|
280
226
|
const { ownerRepo } = ownerRepoResult;
|
|
281
|
-
// 2. Fetch base
|
|
282
227
|
git(['fetch', 'origin', input.base], cwd);
|
|
283
|
-
// 3. Branch create-if-absent; never clobber a prior commit
|
|
284
228
|
if (branchExists(git, cwd, branch)) {
|
|
285
229
|
git(['switch', branch], cwd);
|
|
286
230
|
}
|
|
287
231
|
else {
|
|
288
232
|
git(['switch', '-c', branch, `origin/${input.base}`], cwd);
|
|
289
233
|
}
|
|
290
|
-
// 4. Stage all changes (safe: clean-repo precondition from preflight)
|
|
291
234
|
git(['add', '-A'], cwd);
|
|
292
|
-
// 5. Commit decision (B4 replay safety)
|
|
293
235
|
if (stagedDiffPresent(git, cwd)) {
|
|
294
|
-
// Commit — NO Co-Authored-By, NO summary footer (MEMORY)
|
|
295
236
|
const commitMsg = commitMessage(input.title, input.issueRef, ownerRepo);
|
|
296
237
|
git(['commit', '-m', commitMsg], cwd);
|
|
297
238
|
}
|
|
298
239
|
else {
|
|
299
|
-
// No staged diff — check if branch is ahead of origin/<base>
|
|
300
240
|
const ahead = countAhead(git, cwd, branch, input.base);
|
|
301
241
|
if (ahead === 0) {
|
|
302
|
-
// Probe the BASE checkout for uncommitted changes: if it is dirty the developer wrote OUTSIDE
|
|
303
|
-
// the run's worktree (the slice-143 / #130 symptom). Only changes the diagnostic lesson; no
|
|
304
|
-
// destructive action, so a rare mis-attribution is still a useful signal.
|
|
305
242
|
let lesson = 'nothing to integrate — no staged changes and branch is not ahead of origin/' + input.base;
|
|
306
243
|
try {
|
|
307
244
|
const baseCwd = await deps.resolveTaskCwd(input.taskId);
|
|
@@ -314,15 +251,11 @@ export async function integrate(input, deps) {
|
|
|
314
251
|
}
|
|
315
252
|
}
|
|
316
253
|
catch {
|
|
317
|
-
// git error on the base — keep the generic lesson
|
|
318
254
|
}
|
|
319
255
|
return { needsHuman: true, lesson };
|
|
320
256
|
}
|
|
321
|
-
// Ahead but no staged diff → commit happened on a prior attempt; fall through to push
|
|
322
257
|
}
|
|
323
|
-
// 6. Push (idempotent — no force)
|
|
324
258
|
git(['push', '-u', 'origin', branch], cwd);
|
|
325
|
-
// 7. Find-or-create PR
|
|
326
259
|
const prResult = findOrCreatePr(ownerRepo, branch, input.base, input.title, input.issueRef, gh);
|
|
327
260
|
if ('needsHuman' in prResult)
|
|
328
261
|
return prResult;
|
|
@@ -382,20 +315,6 @@ async function integrateProducedChange(input, deps, change) {
|
|
|
382
315
|
status: 'pushed',
|
|
383
316
|
};
|
|
384
317
|
}
|
|
385
|
-
/**
|
|
386
|
-
* confirmMerge — REAL (live only). Ensures the run's PR is actually merged before the run reaches its
|
|
387
|
-
* success terminal (so the worktree, released on `succeeded`, is cleaned only once the branch is in the
|
|
388
|
-
* base — truly disposable). Idempotent + replay-safe:
|
|
389
|
-
*
|
|
390
|
-
* 1. `gh pr view` the run's branch. Already `merged` (a human merged it) → succeed.
|
|
391
|
-
* 2. Not merged + OPEN + `mergeStateStatus === CLEAN` (CI green, no conflicts) + a fresh readiness head
|
|
392
|
-
* → `gh pr merge --squash --delete-branch --match-head-commit <sha>`, then re-view to CONFIRM merged.
|
|
393
|
-
* 3. Not mergeable (not OPEN, or not CLEAN — red CI / conflicts / blocked) → block (needsHuman), which
|
|
394
|
-
* routes to a `blocked` terminal and KEEPS the worktree for rework.
|
|
395
|
-
*
|
|
396
|
-
* Merge method is `--squash` by default; node-level parameterization (method/policy) is a deferred
|
|
397
|
-
* follow-up (run-time node params).
|
|
398
|
-
*/
|
|
399
318
|
export async function confirmMerge(input, deps) {
|
|
400
319
|
const { execGit: git, execGh: gh, resolveRunCwd } = deps;
|
|
401
320
|
const cwd = await resolveRunCwd(input.runId, input.taskId);
|
|
@@ -419,8 +338,6 @@ export async function confirmMerge(input, deps) {
|
|
|
419
338
|
if (pr.state !== 'OPEN') {
|
|
420
339
|
return { needsHuman: true, lesson: `PR #${pr.number} is ${pr.state} (not OPEN) and not merged — resolve manually` };
|
|
421
340
|
}
|
|
422
|
-
// Only auto-merge a CLEAN PR (CI green, no conflicts). Other states (BLOCKED/DIRTY/UNSTABLE/BEHIND…)
|
|
423
|
-
// require a human — block and keep the worktree for rework.
|
|
424
341
|
if (pr.mergeStateStatus !== 'CLEAN') {
|
|
425
342
|
return {
|
|
426
343
|
needsHuman: true,
|
|
@@ -435,12 +352,9 @@ export async function confirmMerge(input, deps) {
|
|
|
435
352
|
lesson: `PR #${pr.number} merge requires a fresh merge readiness headSha guard — re-run readiness before approving merge`,
|
|
436
353
|
};
|
|
437
354
|
}
|
|
438
|
-
// The integrator opens the PR as a DRAFT (human review at the merge gate); `gh pr merge` refuses a
|
|
439
|
-
// draft, so mark it ready first (the approved merge gate IS that review). Idempotent: a no-op once ready.
|
|
440
355
|
if (pr.isDraft) {
|
|
441
356
|
gh(['pr', 'ready', branch, '--repo', ownerRepo]);
|
|
442
357
|
}
|
|
443
|
-
// Merge (squash) — idempotent: a replay re-views first (step 1) and short-circuits on state MERGED.
|
|
444
358
|
try {
|
|
445
359
|
gh(['pr', 'merge', branch, '--repo', ownerRepo, '--squash', '--delete-branch', '--match-head-commit', expectedHeadSha]);
|
|
446
360
|
}
|
|
@@ -457,17 +371,11 @@ export async function confirmMerge(input, deps) {
|
|
|
457
371
|
return { merged: true, prNumber: after.number, prUrl: after.url, ...(input.issueRef ? { issueRef: input.issueRef } : {}) };
|
|
458
372
|
return { needsHuman: true, lesson: `PR #${after.number} merge did not take effect (state=${after.state}) — verify manually` };
|
|
459
373
|
}
|
|
460
|
-
/** Default polling bounds — pr-readiness parity (20 polls × 30s), overridable via env so the e2e suite
|
|
461
|
-
* doesn't real-sleep; also injectable (deps.maxPolls/pollIntervalMs) so unit tests run instantly. */
|
|
462
374
|
function envInt(name, fallback) {
|
|
463
375
|
const n = Number.parseInt(process.env[name] ?? '', 10);
|
|
464
376
|
return Number.isFinite(n) && n > 0 ? n : fallback;
|
|
465
377
|
}
|
|
466
378
|
function defaultCollect(repo, branch, base, execGh, issueRef) {
|
|
467
|
-
// pollPr classifies by CI checks + unresolved review THREADS only — it does not read the PR comment
|
|
468
|
-
// feed, so suppress the `api repos/.../{reviews,comments}` calls (`includeComments: false`). Those
|
|
469
|
-
// extra calls are pure overhead here and the review-thread query already carries the actionable
|
|
470
|
-
// feedback the loop acts on.
|
|
471
379
|
return collectPrReadiness({ repo, headBranch: branch, baseBranch: base, issueRef, includeReviewThreads: true, includeComments: false }, execGh).then((r) => ({
|
|
472
380
|
pr: { number: r.pr.number, headSha: r.pr.headSha },
|
|
473
381
|
checks: { pending: r.checks.pending, fail: r.checks.fail, list: r.checks.list },
|
|
@@ -485,10 +393,9 @@ function ciFailuresFrom(readiness) {
|
|
|
485
393
|
}
|
|
486
394
|
function readinessRequiresReview(readiness) {
|
|
487
395
|
return readiness.readinessVerdict === 'needs_human'
|
|
488
|
-
|| readiness.readinessVerdict === 'needs_work'
|
|
489
396
|
|| readiness.nextAction === 'human_decision'
|
|
490
397
|
|| readiness.nextAction === 'reviewer_triage'
|
|
491
|
-
|| readiness.nextAction === 'developer_fix';
|
|
398
|
+
|| (readiness.nextAction === 'developer_fix' && readiness.checks.fail.length === 0);
|
|
492
399
|
}
|
|
493
400
|
function readinessEvidence(readiness) {
|
|
494
401
|
return [
|
|
@@ -496,19 +403,11 @@ function readinessEvidence(readiness) {
|
|
|
496
403
|
readiness.nextAction ? `readiness nextAction=${readiness.nextAction}` : undefined,
|
|
497
404
|
].filter((item) => item !== undefined);
|
|
498
405
|
}
|
|
499
|
-
/**
|
|
500
|
-
* pollPr — REAL (live only). Polls `collectPrReadiness` until CI is terminal (no pending checks) or a
|
|
501
|
-
* timeout, then classifies the feedback by TYPE (plan 0018): unresolved review threads → review_changes;
|
|
502
|
-
* else failing checks → ci_changes; else clean. A timeout with checks still pending → block (human).
|
|
503
|
-
* Replay-safe at the DBOS-step boundary (memoized result), idempotent (read-only gh).
|
|
504
|
-
*/
|
|
505
406
|
export async function pollPr(input, deps) {
|
|
506
407
|
const { execGit: git, execGh: gh, resolveRunCwd } = deps;
|
|
507
408
|
const collect = deps.collect ?? defaultCollect;
|
|
508
409
|
const sleep = deps.sleep ?? defaultSleep;
|
|
509
410
|
const requiredChecks = deps.requiredChecks ?? fetchRequiredCheckNames;
|
|
510
|
-
// Read env at CALL time (not module load) so the e2e harness can shrink the poll budget regardless
|
|
511
|
-
// of import order; prod default stays 20 × 30s.
|
|
512
411
|
const maxPolls = deps.maxPolls ?? envInt('REVO_POLL_PR_MAX_POLLS', 20);
|
|
513
412
|
const intervalMs = deps.pollIntervalMs ?? envInt('REVO_POLL_PR_INTERVAL_MS', 30_000);
|
|
514
413
|
const cwd = await resolveRunCwd(input.runId, input.taskId);
|
|
@@ -520,7 +419,6 @@ export async function pollPr(input, deps) {
|
|
|
520
419
|
let readiness;
|
|
521
420
|
for (let i = 0; i < maxPolls; i++) {
|
|
522
421
|
readiness = await collect(ownerRepo, branch, input.base, gh, input.issueRef);
|
|
523
|
-
// Terminal once nothing is pending and at least one check has registered (matches pr-readiness).
|
|
524
422
|
if (readiness.checks.pending.length === 0 && readiness.checks.list.length > 0)
|
|
525
423
|
break;
|
|
526
424
|
readiness = undefined;
|
|
@@ -533,22 +431,13 @@ export async function pollPr(input, deps) {
|
|
|
533
431
|
lesson: `pollPr timed out after ${maxPolls} polls — CI checks still pending or none registered for ${branch}`,
|
|
534
432
|
};
|
|
535
433
|
}
|
|
536
|
-
// `settled` is the CI-terminal readiness (defined past the guard); the review-grace loop may refresh it.
|
|
537
434
|
let settled = readiness;
|
|
538
435
|
const initialCiFailures = ciFailuresFrom(settled);
|
|
539
|
-
// CI green → flip the PR draft→ready so CodeRabbit / human reviewers actually engage. They SKIP
|
|
540
|
-
// draft PRs, which silently bypassed the entire review loop (the PR was readied only at confirmMerge,
|
|
541
|
-
// i.e. after the merge gate) — slice 142. Then wait a BOUNDED grace for review threads to surface
|
|
542
|
-
// before declaring clean, so we don't merge-gate a millisecond before CodeRabbit posts. We never
|
|
543
|
-
// BLOCK on a review arriving: the human merge gate is the backstop, so an absent / rate-limited
|
|
544
|
-
// reviewer falls through to it rather than deadlocking the run. CI-red stays draft (don't request
|
|
545
|
-
// review of broken code) and routes to ci_changes for a fix first.
|
|
546
436
|
if (initialCiFailures.length === 0) {
|
|
547
437
|
try {
|
|
548
438
|
gh(['pr', 'ready', branch, '--repo', ownerRepo]);
|
|
549
439
|
}
|
|
550
440
|
catch {
|
|
551
|
-
// already ready / nothing to ready — idempotent best-effort
|
|
552
441
|
}
|
|
553
442
|
const reviewGracePolls = deps.reviewGracePolls ?? envInt('REVO_POLL_PR_REVIEW_GRACE_POLLS', 4);
|
|
554
443
|
for (let i = 0; i < reviewGracePolls && settled.reviewThreads.items.length === 0; i++) {
|
|
@@ -574,13 +463,6 @@ export async function pollPr(input, deps) {
|
|
|
574
463
|
body: t.body,
|
|
575
464
|
}));
|
|
576
465
|
const ciFailures = ciFailuresFrom(settled);
|
|
577
|
-
// Only REQUIRED-check failures drive the `ci_changes` verdict (PR #135 fix): on this repo only
|
|
578
|
-
// "Verify"/"E2E"/"Required checks" gate the merge — Sonar/CodeRabbit are advisory, and a failing
|
|
579
|
-
// advisory check used to wrongly trigger a pointless ciRework loop. `gh pr view` does not carry
|
|
580
|
-
// isRequired, so we ask GitHub directly. ciFailures keeps the FULL failing list for downstream
|
|
581
|
-
// context; the verdict keys off the required-only subset.
|
|
582
|
-
// FAIL-SAFE: if the required set can't be determined (gh error or empty), fall back to counting
|
|
583
|
-
// ALL failures (current behavior) — never silently treat an unknown required-set as clean.
|
|
584
466
|
let ciVerdictFailures = ciFailures;
|
|
585
467
|
if (ciFailures.length > 0 && settled.pr.number !== null) {
|
|
586
468
|
try {
|
|
@@ -589,10 +471,8 @@ export async function pollPr(input, deps) {
|
|
|
589
471
|
ciVerdictFailures = ciFailures.filter((f) => required.has(f.name));
|
|
590
472
|
}
|
|
591
473
|
catch {
|
|
592
|
-
// gh failed → keep the full failing list (fail-safe: unknown required-set ≠ clean).
|
|
593
474
|
}
|
|
594
475
|
}
|
|
595
|
-
// Decision order (plan 0018): review threads first, then CI (required-only), else clean.
|
|
596
476
|
const verdict = reviewThreads.length > 0 || readinessRequiresReview(settled)
|
|
597
477
|
? 'review_changes'
|
|
598
478
|
: ciVerdictFailures.length > 0 ? 'ci_changes' : 'clean';
|
|
@@ -607,8 +487,6 @@ export async function pollPr(input, deps) {
|
|
|
607
487
|
};
|
|
608
488
|
}
|
|
609
489
|
const TRIAGE_DECISIONS = new Set(['fix', 'wontfix', 'question']);
|
|
610
|
-
/** Coerce the analyst's (LLM-produced, untrusted-shape) triage output to a Triage, dropping malformed
|
|
611
|
-
* items so respondThreads never throws on a null/garbled entry (CodeRabbit). */
|
|
612
490
|
export function asTriage(value) {
|
|
613
491
|
if (value === null || typeof value !== 'object')
|
|
614
492
|
return { items: [] };
|
|
@@ -621,20 +499,13 @@ export function asTriage(value) {
|
|
|
621
499
|
: [];
|
|
622
500
|
return { items };
|
|
623
501
|
}
|
|
624
|
-
/**
|
|
625
|
-
* respondThreads — REAL (live only). For each triaged thread we acted on (decision fix OR wontfix —
|
|
626
|
-
* plan 0018 decision #2), reply in the thread then resolve it, via the gh-pinned GraphQL API
|
|
627
|
-
* (`addPullRequestReviewThreadReply` then `resolveReviewThread`). Question items are skipped (they go to
|
|
628
|
-
* the question gate, not auto-resolved). Idempotent: resolving an already-resolved thread is a no-op for
|
|
629
|
-
* the loop (a reopened/new comment is caught by the next pollPr).
|
|
630
|
-
*/
|
|
631
502
|
export async function respondThreads(triage, deps) {
|
|
632
503
|
const { execGh: gh } = deps;
|
|
633
504
|
let replied = 0;
|
|
634
505
|
let resolved = 0;
|
|
635
506
|
for (const item of triage.items) {
|
|
636
507
|
if (item.decision !== 'fix' && item.decision !== 'wontfix')
|
|
637
|
-
continue;
|
|
508
|
+
continue;
|
|
638
509
|
const body = item.replyText ?? (item.decision === 'wontfix' ? 'Acknowledged; not changing.' : 'Addressed.');
|
|
639
510
|
gh([
|
|
640
511
|
'api', 'graphql',
|
|
@@ -652,37 +523,20 @@ export async function respondThreads(triage, deps) {
|
|
|
652
523
|
}
|
|
653
524
|
return { replied, resolved };
|
|
654
525
|
}
|
|
655
|
-
// ─── IntegratorService ─────────────────────────────────────────────────────────
|
|
656
|
-
/** Default execGit implementation wrapping execFileSync with a resolved absolute path. */
|
|
657
526
|
function defaultExecGit(args, cwd) {
|
|
658
527
|
return execFileSync(gitAbsPath(), args, { encoding: 'utf8', cwd, timeout: 60_000 });
|
|
659
528
|
}
|
|
660
|
-
/**
|
|
661
|
-
* IntegratorService — @Injectable wrapper over integrate / stubIntegrate / preflightLive.
|
|
662
|
-
* Exposes bound arrow properties so they survive being passed to registerStep unbound.
|
|
663
|
-
* DBOS-SEALED: zero @dbos-inc imports; PipelineService registers these as steps.
|
|
664
|
-
*/
|
|
665
529
|
let IntegratorService = class IntegratorService {
|
|
666
530
|
runService;
|
|
667
531
|
deps;
|
|
668
532
|
constructor(runService) {
|
|
669
533
|
this.runService = runService;
|
|
670
|
-
// execGh is resolved per-run inside runIntegrate (fail-loud on an unresolved pinned identity),
|
|
671
|
-
// so it is NOT built here — only the git + cwd deps are stable at construction.
|
|
672
534
|
this.deps = {
|
|
673
535
|
execGit: defaultExecGit,
|
|
674
536
|
resolveTaskCwd: this.runService.makeResolveTaskCwd(),
|
|
675
537
|
resolveRunCwd: this.runService.makeResolveRunCwd(),
|
|
676
538
|
};
|
|
677
539
|
}
|
|
678
|
-
/**
|
|
679
|
-
* Real integrator — live path. Arrow property: safe to pass unbound to registerStep.
|
|
680
|
-
*
|
|
681
|
-
* 0008 #1 (fail-loud, 2026-06-12 dogfood): resolve the PINNED gh identity first. If its token
|
|
682
|
-
* cannot be resolved we REFUSE to fall back to the ambient gh account (which would open the PR
|
|
683
|
-
* as the wrong user) and block as needsHuman instead. Only on success do we run the integrator
|
|
684
|
-
* with the pinned execGh.
|
|
685
|
-
*/
|
|
686
540
|
runIntegrate = (input) => {
|
|
687
541
|
const pinned = resolvePinnedGh();
|
|
688
542
|
if ('needsHuman' in pinned) {
|
|
@@ -692,14 +546,9 @@ let IntegratorService = class IntegratorService {
|
|
|
692
546
|
console.log(`[integrator] gh pinned to account '${resolveGhAccount()}' (GH_TOKEN, not ambient)`);
|
|
693
547
|
return integrate(input, { ...this.deps, execGh: pinned.execGh });
|
|
694
548
|
};
|
|
695
|
-
/** Stub integrator — script path; zero external effects. */
|
|
696
549
|
runStub = (input) => {
|
|
697
550
|
return stubIntegrate(input);
|
|
698
551
|
};
|
|
699
|
-
/**
|
|
700
|
-
* Real confirm-merge — live path. Same fail-loud pinned-gh handling as runIntegrate: refuse the
|
|
701
|
-
* ambient account, block if the pinned identity cannot be resolved.
|
|
702
|
-
*/
|
|
703
552
|
runConfirmMerge = (input) => {
|
|
704
553
|
const pinned = resolvePinnedGh();
|
|
705
554
|
if ('needsHuman' in pinned) {
|
|
@@ -708,22 +557,15 @@ let IntegratorService = class IntegratorService {
|
|
|
708
557
|
}
|
|
709
558
|
return confirmMerge(input, { ...this.deps, execGh: pinned.execGh });
|
|
710
559
|
};
|
|
711
|
-
/** Stub confirm-merge — script path; zero external effects (treats the stub PR as merged). */
|
|
712
560
|
runConfirmStub = (input) => {
|
|
713
561
|
return { merged: true, prNumber: 0, prUrl: `stub://pr/${input.taskId}/merged` };
|
|
714
562
|
};
|
|
715
|
-
/** Live preflight — clean check + base invariant. Arrow property for safe unbound registration. */
|
|
716
563
|
runPreflight = (taskId, base) => {
|
|
717
564
|
return preflightLive(taskId, base, this.deps);
|
|
718
565
|
};
|
|
719
|
-
/** Capture a change-producing developer step as a git head artifact before reviewer/integrator handoff. */
|
|
720
566
|
runCaptureProducedChange = (input) => {
|
|
721
567
|
return captureProducedChange(input, this.deps);
|
|
722
568
|
};
|
|
723
|
-
/**
|
|
724
|
-
* Real pollPr — live path. Same fail-loud pinned-gh handling as runIntegrate (the review/CI poll reads
|
|
725
|
-
* the PR via the pinned account, never the ambient one). Blocks if the pinned identity is unresolved.
|
|
726
|
-
*/
|
|
727
569
|
runPollPr = (input) => {
|
|
728
570
|
const pinned = resolvePinnedGh();
|
|
729
571
|
if ('needsHuman' in pinned) {
|
|
@@ -732,14 +574,9 @@ let IntegratorService = class IntegratorService {
|
|
|
732
574
|
}
|
|
733
575
|
return pollPr(input, { ...this.deps, execGh: pinned.execGh });
|
|
734
576
|
};
|
|
735
|
-
/** Stub pollPr — script path; zero external effects (reports a clean PR so the loop converges to merge). */
|
|
736
577
|
runPollStub = (_input) => {
|
|
737
578
|
return { prNumber: null, headSha: 'stub', evidence: ['stub pollPr readiness: clean'], verdict: 'clean', ciFailures: [], reviewThreads: [] };
|
|
738
579
|
};
|
|
739
|
-
/**
|
|
740
|
-
* Real respondThreads — live path. Same fail-loud pinned-gh handling: refuse the ambient account.
|
|
741
|
-
* The consumed `triage` rides in IntegratorInput.triage (hydrated by the adapter from run_outputs).
|
|
742
|
-
*/
|
|
743
580
|
runRespondThreads = (input) => {
|
|
744
581
|
const pinned = resolvePinnedGh();
|
|
745
582
|
if ('needsHuman' in pinned) {
|
|
@@ -748,7 +585,6 @@ let IntegratorService = class IntegratorService {
|
|
|
748
585
|
}
|
|
749
586
|
return respondThreads(asTriage(input.triage), { execGh: pinned.execGh });
|
|
750
587
|
};
|
|
751
|
-
/** Stub respondThreads — script path; zero external effects (no threads to reply/resolve). */
|
|
752
588
|
runRespondStub = (_input) => {
|
|
753
589
|
return { replied: 0, resolved: 0 };
|
|
754
590
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrator.js","sourceRoot":"","sources":["../../src/runners/integrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"integrator.js","sourceRoot":"","sources":["../../src/runners/integrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
/**
|
|
8
|
-
* RunnerModule — provides RUN_AGENT and IntegratorService.
|
|
9
|
-
*
|
|
10
|
-
* Default PROCESS_EXECUTOR = spawnExecutor (real). Tests override with a fake.
|
|
11
|
-
* DBOS-SEALED: zero @dbos-inc imports.
|
|
12
|
-
*/
|
|
13
7
|
import { Module } from '@nestjs/common';
|
|
14
8
|
import { RevisiumModule } from '../revisium/revisium.module.js';
|
|
15
9
|
import { ClaudeCodeService } from './claude-code.service.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.module.js","sourceRoot":"","sources":["../../src/runners/runner.module.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"runner.module.js","sourceRoot":"","sources":["../../src/runners/runner.module.ts"],"names":[],"mappings":";;;;;;AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAmBvD,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,YAAY;IAjBxB,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,cAAc,CAAC;QACzB,SAAS,EAAE;YACT,iBAAiB;YACjB,YAAY;YACZ,iBAAiB;YACjB,eAAe;YACf,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE;YACtD;gBACE,OAAO,EAAE,SAAS;gBAClB,UAAU,EAAE,CAAC,EAAqB,EAAE,KAAmB,EAAE,EAAE,CACzD,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;gBAChF,MAAM,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;aAC1C;SACF;QACD,OAAO,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,eAAe,CAAC;KACzD,CAAC;GACW,YAAY,CAAG"}
|
package/dist/runners/tokens.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/runners/tokens.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/runners/tokens.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -10,18 +10,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
12
|
};
|
|
13
|
-
/**
|
|
14
|
-
* worktree.service.ts — @Injectable wrapper over the per-run git worktree manager (plan 0017).
|
|
15
|
-
*
|
|
16
|
-
* DBOS-SEALED: zero @dbos-inc imports. PipelineService registers `ensure`/`release` as memoized DBOS
|
|
17
|
-
* steps and wires them into the data-driven adapter's run lifecycle (create after live preflight,
|
|
18
|
-
* release at terminal via the workflow `finally`).
|
|
19
|
-
*
|
|
20
|
-
* Resolves the BASE target-repo checkout (where `git worktree add/remove` run) and the feature branch
|
|
21
|
-
* (the SAME `branchName` the integrator commits/pushes on) so the worktree is created already on that
|
|
22
|
-
* branch — making the integrator's branchExists→switch path a no-op and avoiding its dirty-tree
|
|
23
|
-
* `switch -c origin/<base>` failure.
|
|
24
|
-
*/
|
|
25
13
|
import { Inject, Injectable } from '@nestjs/common';
|
|
26
14
|
import { RunService } from '../revisium/run.service.js';
|
|
27
15
|
import { getConfig } from '../config.js';
|
|
@@ -34,24 +22,20 @@ let WorktreeService = class WorktreeService {
|
|
|
34
22
|
this.runService = runService;
|
|
35
23
|
this.resolveBaseCwd = this.runService.makeResolveTaskCwd();
|
|
36
24
|
}
|
|
37
|
-
/** Create-if-absent the run's isolated worktree. Arrow property: safe to pass unbound to registerStep. */
|
|
38
25
|
ensure = async (runId, taskId, title, base, issueRef) => {
|
|
39
26
|
const baseRepoCwd = await this.resolveBaseCwd(taskId);
|
|
40
27
|
const branch = branchName(taskId, title, issueRef);
|
|
41
28
|
return createRunWorktree({ runId, baseRepoCwd, base, branch, dataDir: getConfig().dataDir });
|
|
42
29
|
};
|
|
43
|
-
/** Release the run's worktree (best-effort, idempotent). Arrow property for safe unbound registration. */
|
|
44
30
|
release = async (runId, taskId) => {
|
|
45
31
|
let baseRepoCwd;
|
|
46
32
|
try {
|
|
47
33
|
baseRepoCwd = await this.resolveBaseCwd(taskId);
|
|
48
34
|
}
|
|
49
35
|
catch {
|
|
50
|
-
// Task/repo no longer resolvable — nothing to remove from; the worktree dir (if any) is orphaned
|
|
51
|
-
// and will be swept by `git worktree prune` on a later run against the same base repo.
|
|
52
36
|
return;
|
|
53
37
|
}
|
|
54
|
-
releaseRunWorktree({ runId, baseRepoCwd, dataDir: getConfig().dataDir });
|
|
38
|
+
void releaseRunWorktree({ runId, baseRepoCwd, dataDir: getConfig().dataDir });
|
|
55
39
|
};
|
|
56
40
|
};
|
|
57
41
|
WorktreeService = __decorate([
|