lastlight-workflow-engine 0.3.5 → 0.5.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/dist/core/phase-executor.d.ts +53 -6
- package/dist/core/phase-executor.js +65 -50
- package/dist/core/phase-executor.js.map +1 -1
- package/dist/core/phase-ref.d.ts +26 -2
- package/dist/core/phase-ref.js +51 -2
- package/dist/core/phase-ref.js.map +1 -1
- package/dist/core/scheduler.js +6 -6
- package/dist/core/scheduler.js.map +1 -1
- package/dist/core/schema.d.ts +78 -0
- package/dist/core/schema.js +171 -2
- package/dist/core/schema.js.map +1 -1
- package/dist/core/types.d.ts +18 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/ports/ports.d.ts +37 -21
- package/dist/ports/ports.js +2 -1
- package/dist/ports/ports.js.map +1 -1
- package/dist/test-support/fakes.d.ts +3 -3
- package/dist/test-support/fakes.js +18 -18
- package/dist/test-support/fakes.js.map +1 -1
- package/package.json +3 -4
package/dist/core/schema.js
CHANGED
|
@@ -115,6 +115,77 @@ const GenericLoopSchema = z
|
|
|
115
115
|
.refine((v) => v.until !== undefined || v.until_bash !== undefined, {
|
|
116
116
|
message: "generic_loop requires at least one of: until, until_bash",
|
|
117
117
|
});
|
|
118
|
+
// ── Fan-out branches (`type: fanout`) ─────────────────────────────────
|
|
119
|
+
/**
|
|
120
|
+
* One branch of a `type: fanout` phase — a single agent session run
|
|
121
|
+
* CONCURRENTLY with its siblings inside the phase's one provisioned workspace.
|
|
122
|
+
*
|
|
123
|
+
* `name` is deliberately restricted to `[A-Za-z0-9-]` (no underscores). Every
|
|
124
|
+
* branch gets its own `executions` row keyed `<phase>_branch_<name>`, plus
|
|
125
|
+
* `_retry` / `_check` variants, and {@link PhaseRef.parse} has to split those
|
|
126
|
+
* back apart against a BASE phase name that may itself contain underscores
|
|
127
|
+
* (`survey_contract`). Forbidding `_` in the branch half is what makes the split
|
|
128
|
+
* unambiguous rather than heuristic.
|
|
129
|
+
*/
|
|
130
|
+
const FanoutBranchSchema = z
|
|
131
|
+
.object({
|
|
132
|
+
/** Branch identity — the ledger key, the skill-bundle key, and the label. */
|
|
133
|
+
name: z
|
|
134
|
+
.string()
|
|
135
|
+
.regex(/^[A-Za-z0-9][A-Za-z0-9-]*$/, "a fanout branch name must be alphanumeric with hyphens (no underscores — see PhaseRef)")
|
|
136
|
+
.refine((n) => !/-(retry|check)$/.test(n), {
|
|
137
|
+
message: "a fanout branch name may not end in `-retry` or `-check` (reserved ledger suffixes)",
|
|
138
|
+
}),
|
|
139
|
+
/** Prompt template for this branch. Falls back to the phase's own `prompt`. */
|
|
140
|
+
prompt: z.string().optional(),
|
|
141
|
+
/** Skill override for this branch. Falls back to the phase's `skill`/`skills`. */
|
|
142
|
+
skill: z.string().optional(),
|
|
143
|
+
skills: z.array(z.string()).min(1).optional(),
|
|
144
|
+
/** Model / reasoning-effort override. Falls back to the phase's. */
|
|
145
|
+
model: z.string().optional(),
|
|
146
|
+
variant: z.string().optional(),
|
|
147
|
+
/**
|
|
148
|
+
* Post-branch condition, run in the SAME workspace after every branch has
|
|
149
|
+
* joined. Observational, exactly like a `generic_loop.until_bash` on a loop
|
|
150
|
+
* with `max_iterations: 1`: it records a `<phase>_branch_<name>_check`
|
|
151
|
+
* ledger row with `condition_met` / `condition_not_met` and can never fail
|
|
152
|
+
* the phase. Literal shell only — `{{` is rejected, same as everywhere else.
|
|
153
|
+
*/
|
|
154
|
+
until_bash: z.string().optional(),
|
|
155
|
+
/** Per-branch timeout for `until_bash` (seconds). */
|
|
156
|
+
timeout_seconds: TemplatedNumberSchema.optional(),
|
|
157
|
+
/**
|
|
158
|
+
* A workspace file whose CONTENTS are appended to this branch's rendered
|
|
159
|
+
* prompt — resolved **relative to the agent's own working directory** and
|
|
160
|
+
* read by the harness, never by the model.
|
|
161
|
+
*
|
|
162
|
+
* **This exists because a path in a prompt is not a path.** Measured across
|
|
163
|
+
* three stored pr-review runs (2026-08-22): of 120 non-spec survey branches,
|
|
164
|
+
* 27 first-turn reads of the per-family obligations file went to
|
|
165
|
+
* `<workspaceRoot>/.lastlight/…` instead of `<checkout>/.lastlight/…` and
|
|
166
|
+
* hit ENOENT; 23 of those branches never recovered. Every single failure
|
|
167
|
+
* was the workspace-root ABSOLUTE form and every one of the 98 relative
|
|
168
|
+
* reads succeeded — the model was joining the prompt's relative path onto
|
|
169
|
+
* the only absolute base it had been handed at that point, the skill bundle
|
|
170
|
+
* (`<workspaceRoot>/.lastlight-skills/<phase>/<skill>/SKILL.md`), which sits
|
|
171
|
+
* one level ABOVE the checkout. Those branches then took the prompt's
|
|
172
|
+
* "if the file does not exist, work the diff directly" escape hatch, so a
|
|
173
|
+
* SEEDED pass silently became an unseeded one and which questions got asked
|
|
174
|
+
* varied per run.
|
|
175
|
+
*
|
|
176
|
+
* Appending the bytes removes the resolution from the model entirely: the
|
|
177
|
+
* harness reads the file at the same base the deterministic phases wrote it
|
|
178
|
+
* (`ProvisionResult.hostAgentCwd`, the host view of the very `cwd` a
|
|
179
|
+
* `type: bash` phase runs in), so the producer and the consumer cannot
|
|
180
|
+
* disagree about where the file is. A file the harness cannot read appends a
|
|
181
|
+
* LOUD notice naming the path instead — "nobody looked" never renders as
|
|
182
|
+
* "looked and found none".
|
|
183
|
+
*/
|
|
184
|
+
context_file: z.string().optional(),
|
|
185
|
+
})
|
|
186
|
+
.refine((b) => !(b.skill && b.skills), {
|
|
187
|
+
message: "a fanout branch cannot specify both `skill` and `skills`",
|
|
188
|
+
});
|
|
118
189
|
// ── Phase definition ──────────────────────────────────────────────────
|
|
119
190
|
const PhaseDefinitionSchema = z
|
|
120
191
|
.object({
|
|
@@ -141,14 +212,28 @@ const PhaseDefinitionSchema = z
|
|
|
141
212
|
* `GitHubClient`. Runs on the harness (no sandbox); a genuine failure
|
|
142
213
|
* fails the phase, a legitimate `skip` succeeds without posting. See
|
|
143
214
|
* `PhaseExecutor.runPostReview`.
|
|
215
|
+
* - `fanout`: run N agent sessions CONCURRENTLY inside ONE provisioned
|
|
216
|
+
* workspace. Requires `branches:`. See {@link FanoutBranchSchema} and the
|
|
217
|
+
* note below.
|
|
144
218
|
*
|
|
145
219
|
* `bash`/`script` phases run in the SAME sandbox/workspace as agent
|
|
146
220
|
* phases (the host workDir persists across phases keyed by taskId), honour
|
|
147
221
|
* `unrestricted_egress`/`sandbox_image`/`timeout_seconds`, and expose
|
|
148
222
|
* their stdout downstream exactly like an agent phase (`output_var` →
|
|
149
223
|
* `{{phaseOutputs.<name>.output}}`). A non-zero exit fails the phase.
|
|
224
|
+
*
|
|
225
|
+
* **Why `fanout` is one node rather than N parallel phases.** Real DAG
|
|
226
|
+
* concurrency is parked (`docs/plans/deterministic-pr-levers.md` §WP5)
|
|
227
|
+
* behind four hard blockers and seven design changes, and that doc records
|
|
228
|
+
* why: *"every hard blocker exists because each phase provisions its own
|
|
229
|
+
* sandbox against a shared workspace"*. A fan-out INSIDE one phase has none
|
|
230
|
+
* of them — one node, one provision, one `current_phase`, one artifact
|
|
231
|
+
* harvest, one dispose. What it gives up is a DAG node per branch; what it
|
|
232
|
+
* keeps (because each branch still goes through the dedup ledger under its
|
|
233
|
+
* own `<phase>_branch_<name>` key) is resume, dedup, per-branch cost
|
|
234
|
+
* attribution and the dashboard's longest-prefix grouping.
|
|
150
235
|
*/
|
|
151
|
-
type: z.enum(["context", "agent", "bash", "script", "post-review"]).default("agent"),
|
|
236
|
+
type: z.enum(["context", "agent", "bash", "script", "post-review", "fanout"]).default("agent"),
|
|
152
237
|
/**
|
|
153
238
|
* Shell command for `type: bash`. Rendered through the template engine
|
|
154
239
|
* first (so it may reference `{{phaseOutputs.*}}`, `{{branch}}`, etc.),
|
|
@@ -356,6 +441,48 @@ const PhaseDefinitionSchema = z
|
|
|
356
441
|
loop: PhaseLoopSchema.optional(),
|
|
357
442
|
/** Generic loop configuration — expression/bash-based completion conditions */
|
|
358
443
|
generic_loop: GenericLoopSchema.optional(),
|
|
444
|
+
/**
|
|
445
|
+
* The branches of a `type: fanout` phase. Required for that type, rejected
|
|
446
|
+
* on every other. Order is declaration order and is what the results are
|
|
447
|
+
* reported in; it does NOT constrain execution order.
|
|
448
|
+
*/
|
|
449
|
+
branches: z.array(FanoutBranchSchema).min(1).optional(),
|
|
450
|
+
/**
|
|
451
|
+
* How many fan-out branches may be in flight at once. Accepts the
|
|
452
|
+
* `{ from: <ctx path>, default: N }` form so an operator dials it from
|
|
453
|
+
* config without forking the workflow.
|
|
454
|
+
*
|
|
455
|
+
* **This is a ceiling the run then clamps further, per backend.** The host
|
|
456
|
+
* has the last word: `gondolin` boots a QEMU micro-VM per agent session in
|
|
457
|
+
* the harness process (WP5's D7 — the nearform host has no swap and has
|
|
458
|
+
* wedged under memory pressure), and `smol`/`kubernetes` are unverified, so
|
|
459
|
+
* all three clamp to 1 and run the branches sequentially. `none` and
|
|
460
|
+
* `docker` take the declared value. A clamp to 1 is byte-identical to
|
|
461
|
+
* running the branches as a chain, which is what makes this safe to ship
|
|
462
|
+
* before the backends are measured.
|
|
463
|
+
*/
|
|
464
|
+
max_concurrent: TemplatedNumberSchema.optional(),
|
|
465
|
+
/**
|
|
466
|
+
* What a SOFT branch outcome costs — a clean exit that produced no usable
|
|
467
|
+
* output (`stopReason` `unknown` / `error_truncated`), as opposed to a real
|
|
468
|
+
* crash. Mirrors `generic_loop.on_soft_failure`, and exists as its own
|
|
469
|
+
* phase-level key rather than reusing that name for a reason worth stating:
|
|
470
|
+
* `on_soft_failure` at PHASE level is stripped by zod (it belongs to
|
|
471
|
+
* `generic_loop`), which is exactly how all six survey phases silently ran
|
|
472
|
+
* with `{retries: 0, then: fail}` until 2026-08-22. A distinct key cannot be
|
|
473
|
+
* confused with it, and `fanout-policy.test.ts` pins the EFFECTIVE resolved
|
|
474
|
+
* value off the shipped YAML rather than the key's presence.
|
|
475
|
+
*
|
|
476
|
+
* Absent ⇒ `{ retries: 0, then: "complete" }`. Note the default `then`
|
|
477
|
+
* differs from `generic_loop`'s: a fan-out exists to gather independent
|
|
478
|
+
* evidence, so one degenerate branch must not discard the other five.
|
|
479
|
+
*/
|
|
480
|
+
on_branch_soft_failure: z
|
|
481
|
+
.object({
|
|
482
|
+
retries: z.number().int().min(0).default(0),
|
|
483
|
+
then: z.enum(["fail", "complete"]).default("complete"),
|
|
484
|
+
})
|
|
485
|
+
.optional(),
|
|
359
486
|
/** Rules applied to agent output */
|
|
360
487
|
on_output: PhaseOnOutputSchema.optional(),
|
|
361
488
|
/** Actions taken on successful completion */
|
|
@@ -393,7 +520,7 @@ const PhaseDefinitionSchema = z
|
|
|
393
520
|
}
|
|
394
521
|
}
|
|
395
522
|
else {
|
|
396
|
-
// context / agent
|
|
523
|
+
// context / agent / post-review / fanout
|
|
397
524
|
if (p.command !== undefined) {
|
|
398
525
|
ctx.addIssue({ code: z.ZodIssueCode.custom, message: "`command:` is only valid on type `bash`" });
|
|
399
526
|
}
|
|
@@ -404,6 +531,48 @@ const PhaseDefinitionSchema = z
|
|
|
404
531
|
ctx.addIssue({ code: z.ZodIssueCode.custom, message: "`runtime:` is only valid on type `script`" });
|
|
405
532
|
}
|
|
406
533
|
}
|
|
534
|
+
// ── Fan-out ──────────────────────────────────────────────────────────────
|
|
535
|
+
if (type === "fanout") {
|
|
536
|
+
if (!p.branches?.length) {
|
|
537
|
+
ctx.addIssue({ code: z.ZodIssueCode.custom, message: "phase type `fanout` requires a non-empty `branches:`" });
|
|
538
|
+
}
|
|
539
|
+
// A fan-out cannot pause. `pauseForApproval` persists the run as `paused`
|
|
540
|
+
// and RETURNS — under N in-flight sessions there is nothing to return to,
|
|
541
|
+
// and a sibling finishing afterwards would flip the run to `succeeded`
|
|
542
|
+
// over the top of `paused` and orphan the approval row. That is WP5's B2,
|
|
543
|
+
// the one item its own doc calls "silent corruption — the worst in this
|
|
544
|
+
// list", and refusing the combination is how a fan-out never meets it.
|
|
545
|
+
for (const key of ["approval_gate", "approval_artifact", "approval_gate_message"]) {
|
|
546
|
+
if (p[key] !== undefined) {
|
|
547
|
+
ctx.addIssue({ code: z.ZodIssueCode.custom, message: `\`${key}:\` is not supported on type \`fanout\` (a fan-out cannot pause mid-flight)` });
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
// The branches ARE the iteration shape; a second one on top of them would
|
|
551
|
+
// multiply concurrent sessions by the loop count with nothing bounding it.
|
|
552
|
+
if (p.loop !== undefined || p.generic_loop !== undefined) {
|
|
553
|
+
ctx.addIssue({ code: z.ZodIssueCode.custom, message: "`loop:`/`generic_loop:` are not supported on type `fanout` — use `branches[].until_bash`" });
|
|
554
|
+
}
|
|
555
|
+
const names = p.branches?.map((b) => b.name) ?? [];
|
|
556
|
+
if (new Set(names).size !== names.length) {
|
|
557
|
+
ctx.addIssue({ code: z.ZodIssueCode.custom, message: "fanout branch names must be unique (they are ledger keys)" });
|
|
558
|
+
}
|
|
559
|
+
// Every branch must be able to build a prompt — `buildPhasePrompt` throws
|
|
560
|
+
// otherwise, and it would throw INSIDE the fan-out where the failure reads
|
|
561
|
+
// as a branch crash rather than as a malformed workflow.
|
|
562
|
+
for (const b of p.branches ?? []) {
|
|
563
|
+
const hasSkills = !!(b.skill || b.skills?.length || p.skill || p.skills?.length);
|
|
564
|
+
if (!b.prompt && !p.prompt && !hasSkills) {
|
|
565
|
+
ctx.addIssue({ code: z.ZodIssueCode.custom, message: `fanout branch \`${b.name}\` has neither \`prompt:\` nor \`skills:\` (and the phase supplies neither)` });
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
else {
|
|
570
|
+
for (const key of ["branches", "max_concurrent", "on_branch_soft_failure"]) {
|
|
571
|
+
if (p[key] !== undefined) {
|
|
572
|
+
ctx.addIssue({ code: z.ZodIssueCode.custom, message: `\`${key}:\` is only valid on type \`fanout\`` });
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
}
|
|
407
576
|
});
|
|
408
577
|
/**
|
|
409
578
|
* Normalize a phase's skill declaration to a single list of names.
|
package/dist/core/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -142,6 +142,24 @@ export interface ExecutorConfig {
|
|
|
142
142
|
* phase that searches third-party documentation).
|
|
143
143
|
*/
|
|
144
144
|
unrestrictedEgress?: boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Dependency services this phase runs against — the RAW declarations from the target
|
|
147
|
+
* repo's `.lastlight/lastlight.yml`, keyed by service name
|
|
148
|
+
* (`docs/plans/sandbox-services`).
|
|
149
|
+
*
|
|
150
|
+
* Deliberately opaque `unknown` rather than a parsed `ServiceSpec[]`: the parsed type
|
|
151
|
+
* lives in `lastlight-shared`, and this package is a LEAF that shared depends on —
|
|
152
|
+
* importing it here would invert the dependency graph the dep-cruiser gate enforces.
|
|
153
|
+
* Core parses these through `parseServiceSpec` at the orchestrator boundary. The
|
|
154
|
+
* values are plain data for the same reason the merged repo config stores them that
|
|
155
|
+
* way: this config is persisted as JSON and rehydrated on resume.
|
|
156
|
+
*/
|
|
157
|
+
services?: Record<string, unknown>;
|
|
158
|
+
/** Operator bounds the run resolved for {@link services}. Plain data, same reasoning. */
|
|
159
|
+
serviceBounds?: {
|
|
160
|
+
allowedImages: string[] | null;
|
|
161
|
+
maxServices: number;
|
|
162
|
+
};
|
|
145
163
|
/**
|
|
146
164
|
* Enable agentic-pi's web-search extension (`web_search` / `web_fetch`
|
|
147
165
|
* tools). Default false. agentic-pi auto-enables web search whenever a
|
package/dist/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export * from "./core/verdict.js";
|
|
|
16
16
|
export * from "./core/phase-ref.js";
|
|
17
17
|
export * from "./core/loop-eval.js";
|
|
18
18
|
export * from "./ports/ports.js";
|
|
19
|
-
export { PhaseExecutor, isTerminated, isSoftOutcome, buildPhasePrompt, phaseConfigFor, runPhase, runCommandPhase, } from "./core/phase-executor.js";
|
|
20
|
-
export type { PhaseRunContext } from "./core/phase-executor.js";
|
|
19
|
+
export { PhaseExecutor, isTerminated, isSoftOutcome, buildPhasePrompt, phaseConfigFor, runPhase, runCommandPhase, runLedgeredPhase, validateShellCommand, } from "./core/phase-executor.js";
|
|
20
|
+
export type { PhaseRunContext, LedgerDeps, RunPhaseResult } from "./core/phase-executor.js";
|
|
21
21
|
export { runWorkflowCore } from "./core/scheduler.js";
|
|
22
22
|
export type { SchedulerDeps, HostCapabilities } from "./core/scheduler.js";
|
package/dist/index.js
CHANGED
|
@@ -20,6 +20,9 @@ export * from "./core/loop-eval.js";
|
|
|
20
20
|
export * from "./ports/ports.js";
|
|
21
21
|
// The executor + scheduler — explicit named exports so their re-exported port
|
|
22
22
|
// types don't collide with the `./ports/ports.js` star export above.
|
|
23
|
-
export { PhaseExecutor, isTerminated, isSoftOutcome, buildPhasePrompt, phaseConfigFor, runPhase, runCommandPhase,
|
|
23
|
+
export { PhaseExecutor, isTerminated, isSoftOutcome, buildPhasePrompt, phaseConfigFor, runPhase, runCommandPhase,
|
|
24
|
+
// The dedup ledger itself, for app-registered phase-type handlers that drive
|
|
25
|
+
// their own work (see `type: fanout`) and must still land an executions row.
|
|
26
|
+
runLedgeredPhase, validateShellCommand, } from "./core/phase-executor.js";
|
|
24
27
|
export { runWorkflowCore } from "./core/scheduler.js";
|
|
25
28
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,mEAAmE;AACnE,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAEpC,iDAAiD;AACjD,cAAc,kBAAkB,CAAC;AAEjC,8EAA8E;AAC9E,qEAAqE;AACrE,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,mEAAmE;AACnE,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAEpC,iDAAiD;AACjD,cAAc,kBAAkB,CAAC;AAEjC,8EAA8E;AAC9E,qEAAqE;AACrE,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,eAAe;AACf,6EAA6E;AAC7E,6EAA6E;AAC7E,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/ports/ports.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The workflow engine's injected ports — the concrete couplings the app layer
|
|
3
3
|
* supplies so the engine stays domain-agnostic (no imports of `../engine`,
|
|
4
|
-
* `../state`, `../notify`, `../admin`, `../config`, GitHub, or
|
|
4
|
+
* `../state`, `../notify`, `../admin`, `../config`, GitHub, or a database
|
|
5
|
+
* driver).
|
|
5
6
|
*
|
|
6
7
|
* The app's existing concrete types already satisfy these structurally, so
|
|
7
8
|
* introducing each port is a type-only change: the default adapters (built in
|
|
8
9
|
* `src/workflows/runner.ts`) are thin delegations to the real functions.
|
|
9
10
|
*/
|
|
10
|
-
import type { ExecutorConfig, ExecutionResult, GitSandboxAccess, CommandSpec } from "../core/types.js";
|
|
11
|
+
import type { ExecutorConfig, ExecutionResult, ExtensionStatusMap, GitSandboxAccess, SkillsStatus, CommandSpec } from "../core/types.js";
|
|
11
12
|
import type { PhaseDefinition } from "../core/schema.js";
|
|
12
13
|
import type { DagNode } from "../core/dag.js";
|
|
13
14
|
import type { TemplateContext } from "../core/templates.js";
|
|
@@ -129,33 +130,48 @@ export interface ExecutionFinish {
|
|
|
129
130
|
outputTokens?: number;
|
|
130
131
|
apiDurationMs?: number;
|
|
131
132
|
stopReason?: string;
|
|
132
|
-
|
|
133
|
-
|
|
133
|
+
/**
|
|
134
|
+
* Handed over as OBJECTS, not JSON text: the embedder's columns are real
|
|
135
|
+
* JSON columns, so it owns the serialization. Stringifying here would
|
|
136
|
+
* double-encode and fail silently on read.
|
|
137
|
+
*/
|
|
138
|
+
extensionStatus?: ExtensionStatusMap;
|
|
139
|
+
skillsStatus?: SkillsStatus;
|
|
134
140
|
}
|
|
135
141
|
export interface FinishOpts {
|
|
136
142
|
error?: string;
|
|
137
143
|
terminalMarker?: PhaseMarker;
|
|
138
144
|
}
|
|
139
145
|
export interface RunStore {
|
|
140
|
-
getRun(id: string): WorkflowRunView | null
|
|
141
|
-
appendPhase(id: string, phase: string, entry: PhaseHistoryEntry): void
|
|
142
|
-
finishRun(id: string, status: "succeeded" | "failed" | "cancelled", opts?: FinishOpts): void
|
|
143
|
-
mergeScratch(id: string, patch: Record<string, unknown>): void
|
|
144
|
-
pauseForApproval(runId: string, approval: NewApproval, marker: PhaseMarker, scratchPatch?: Record<string, unknown>): void
|
|
146
|
+
getRun(id: string): Promise<WorkflowRunView | null>;
|
|
147
|
+
appendPhase(id: string, phase: string, entry: PhaseHistoryEntry): Promise<void>;
|
|
148
|
+
finishRun(id: string, status: "succeeded" | "failed" | "cancelled", opts?: FinishOpts): Promise<void>;
|
|
149
|
+
mergeScratch(id: string, patch: Record<string, unknown>): Promise<void>;
|
|
150
|
+
pauseForApproval(runId: string, approval: NewApproval, marker: PhaseMarker, scratchPatch?: Record<string, unknown>): Promise<void>;
|
|
145
151
|
}
|
|
146
152
|
export interface ExecutionLedger {
|
|
147
|
-
shouldRunPhase(dedupKey: string, triggerId: string, workflowRunId?: string): "run" | "running" | "done"
|
|
148
|
-
markStaleAsFailed(dedupKey: string, triggerId: string, workflowRunId?: string): number
|
|
149
|
-
markLatestAsFailed(dedupKey: string, triggerId: string, reason: string, workflowRunId?: string): number
|
|
150
|
-
recordStart(row: NewExecution): void
|
|
151
|
-
recordFinish(id: string, result: ExecutionFinish): void
|
|
152
|
-
recordSessionId(id: string, sessionId: string): void
|
|
153
|
-
recordOutputText(id: string, text: string): void
|
|
153
|
+
shouldRunPhase(dedupKey: string, triggerId: string, workflowRunId?: string): Promise<"run" | "running" | "done">;
|
|
154
|
+
markStaleAsFailed(dedupKey: string, triggerId: string, workflowRunId?: string): Promise<number>;
|
|
155
|
+
markLatestAsFailed(dedupKey: string, triggerId: string, reason: string, workflowRunId?: string): Promise<number>;
|
|
156
|
+
recordStart(row: NewExecution): Promise<void>;
|
|
157
|
+
recordFinish(id: string, result: ExecutionFinish): Promise<void>;
|
|
158
|
+
recordSessionId(id: string, sessionId: string): Promise<void>;
|
|
159
|
+
recordOutputText(id: string, text: string): Promise<void>;
|
|
154
160
|
/** `repo` is the BARE name and `owner` its account — see {@link NewExecution}. */
|
|
155
|
-
recordSkippedPhase(dedupKey: string, triggerId: string, workflowRunId?: string, repo?: string, owner?: string): void
|
|
156
|
-
getPhaseOutput(dedupKey: string, triggerId: string, workflowRunId?: string): string | null
|
|
157
|
-
getExecutionOutput(id: string): string | null
|
|
161
|
+
recordSkippedPhase(dedupKey: string, triggerId: string, workflowRunId?: string, repo?: string, owner?: string): Promise<void>;
|
|
162
|
+
getPhaseOutput(dedupKey: string, triggerId: string, workflowRunId?: string): Promise<string | null>;
|
|
163
|
+
getExecutionOutput(id: string): Promise<string | null>;
|
|
158
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* The state store the engine drives.
|
|
167
|
+
*
|
|
168
|
+
* Every method is `Promise`-returning. This package is published but consumed
|
|
169
|
+
* only inside this repo, so when lastlight-core's state layer moved to an async
|
|
170
|
+
* driver we took the clean break rather than carrying an
|
|
171
|
+
* `Awaitable<T> = T | Promise<T>` compatibility shim — which would have made
|
|
172
|
+
* every engine call site defensively awaitable forever to serve no real
|
|
173
|
+
* external consumer.
|
|
174
|
+
*/
|
|
159
175
|
export interface WorkflowStateStore {
|
|
160
176
|
runs: RunStore;
|
|
161
177
|
executions: ExecutionLedger;
|
|
@@ -209,9 +225,9 @@ export interface PhaseReporter {
|
|
|
209
225
|
/** Post a pre-rendered standalone message. */
|
|
210
226
|
postNote(text: string): Promise<void>;
|
|
211
227
|
/** Persist a phase-history entry on the workflow run. */
|
|
212
|
-
persistPhase(phase: string, summary?: string): void
|
|
228
|
+
persistPhase(phase: string, summary?: string): Promise<void>;
|
|
213
229
|
/** Mark the workflow run failed. */
|
|
214
|
-
failWorkflow(errorMsg?: string): void
|
|
230
|
+
failWorkflow(errorMsg?: string): Promise<void>;
|
|
215
231
|
/** Set (or clear) the trailing footer of the single status surface. */
|
|
216
232
|
footer(markdown: string): Promise<void>;
|
|
217
233
|
/** Post the run's completion message (terminal-ping surfaces only). */
|
package/dist/ports/ports.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The workflow engine's injected ports — the concrete couplings the app layer
|
|
3
3
|
* supplies so the engine stays domain-agnostic (no imports of `../engine`,
|
|
4
|
-
* `../state`, `../notify`, `../admin`, `../config`, GitHub, or
|
|
4
|
+
* `../state`, `../notify`, `../admin`, `../config`, GitHub, or a database
|
|
5
|
+
* driver).
|
|
5
6
|
*
|
|
6
7
|
* The app's existing concrete types already satisfy these structurally, so
|
|
7
8
|
* introducing each port is a type-only change: the default adapters (built in
|
package/dist/ports/ports.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ports.js","sourceRoot":"","sources":["../../src/ports/ports.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ports.js","sourceRoot":"","sources":["../../src/ports/ports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA0QH,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,KAAK,KAAI,CAAC;IACV,IAAI,KAAI,CAAC;IACT,IAAI,KAAI,CAAC;IACT,KAAK,KAAI,CAAC;IACV,KAAK,KAAI,CAAC;IACV,KAAK;QACH,OAAO,UAAU,CAAC;IACpB,CAAC;CACF,CAAC"}
|
|
@@ -66,7 +66,7 @@ export interface FakeExecutionRow {
|
|
|
66
66
|
}
|
|
67
67
|
/**
|
|
68
68
|
* Map-backed {@link WorkflowStateStore} — the resume/dedup ledger + run store,
|
|
69
|
-
* with no
|
|
69
|
+
* with no database at all. Reproduces the production resume caveat: a phase whose
|
|
70
70
|
* ledger row is already `success=1` returns `"done"` from
|
|
71
71
|
* {@link ExecutionLedger.shouldRunPhase}, so the engine skips it (and it
|
|
72
72
|
* contributes nothing to the in-memory `outputs` map).
|
|
@@ -117,8 +117,8 @@ export declare class RecordingReporter implements PhaseReporter {
|
|
|
117
117
|
message(template: string | undefined): Promise<void>;
|
|
118
118
|
approvalNote(template: string | undefined): Promise<void>;
|
|
119
119
|
postNote(text: string): Promise<void>;
|
|
120
|
-
persistPhase(phase: string, summary?: string): void
|
|
121
|
-
failWorkflow(errorMsg?: string): void
|
|
120
|
+
persistPhase(phase: string, summary?: string): Promise<void>;
|
|
121
|
+
failWorkflow(errorMsg?: string): Promise<void>;
|
|
122
122
|
footer(markdown: string): Promise<void>;
|
|
123
123
|
noteTerminal(markdown: string): Promise<void>;
|
|
124
124
|
}
|
|
@@ -43,7 +43,7 @@ export class FakeAgentPort {
|
|
|
43
43
|
const ledgerKey = (dedupKey, triggerId, workflowRunId) => JSON.stringify([dedupKey, triggerId, workflowRunId ?? ""]);
|
|
44
44
|
/**
|
|
45
45
|
* Map-backed {@link WorkflowStateStore} — the resume/dedup ledger + run store,
|
|
46
|
-
* with no
|
|
46
|
+
* with no database at all. Reproduces the production resume caveat: a phase whose
|
|
47
47
|
* ledger row is already `success=1` returns `"done"` from
|
|
48
48
|
* {@link ExecutionLedger.shouldRunPhase}, so the engine skips it (and it
|
|
49
49
|
* contributes nothing to the in-memory `outputs` map).
|
|
@@ -88,24 +88,24 @@ export class InMemoryStateStore {
|
|
|
88
88
|
return this.runsById.get(runId)?.history ?? [];
|
|
89
89
|
}
|
|
90
90
|
runs = {
|
|
91
|
-
getRun: (id) => {
|
|
91
|
+
getRun: async (id) => {
|
|
92
92
|
const row = this.runsById.get(id);
|
|
93
93
|
return row ? { status: row.status, scratch: row.scratch } : null;
|
|
94
94
|
},
|
|
95
|
-
appendPhase: (id, _phase, entry) => {
|
|
95
|
+
appendPhase: async (id, _phase, entry) => {
|
|
96
96
|
this.ensureRun(id).history.push(entry);
|
|
97
97
|
},
|
|
98
|
-
finishRun: (id, status, opts) => {
|
|
98
|
+
finishRun: async (id, status, opts) => {
|
|
99
99
|
const row = this.ensureRun(id);
|
|
100
100
|
if (opts?.terminalMarker)
|
|
101
101
|
row.history.push({ ...opts.terminalMarker, timestamp: new Date().toISOString(), success: true });
|
|
102
102
|
row.status = status;
|
|
103
103
|
},
|
|
104
|
-
mergeScratch: (id, patch) => {
|
|
104
|
+
mergeScratch: async (id, patch) => {
|
|
105
105
|
const row = this.ensureRun(id);
|
|
106
106
|
row.scratch = { ...row.scratch, ...patch };
|
|
107
107
|
},
|
|
108
|
-
pauseForApproval: (runId, approval, marker, scratchPatch) => {
|
|
108
|
+
pauseForApproval: async (runId, approval, marker, scratchPatch) => {
|
|
109
109
|
const row = this.ensureRun(runId);
|
|
110
110
|
row.history.push({ phase: marker.phase, summary: marker.summary, timestamp: new Date().toISOString(), success: true });
|
|
111
111
|
if (scratchPatch)
|
|
@@ -115,7 +115,7 @@ export class InMemoryStateStore {
|
|
|
115
115
|
},
|
|
116
116
|
};
|
|
117
117
|
executions = {
|
|
118
|
-
shouldRunPhase: (dedupKey, triggerId, workflowRunId) => {
|
|
118
|
+
shouldRunPhase: async (dedupKey, triggerId, workflowRunId) => {
|
|
119
119
|
const row = this.ledger.get(ledgerKey(dedupKey, triggerId, workflowRunId));
|
|
120
120
|
if (!row)
|
|
121
121
|
return "run";
|
|
@@ -123,7 +123,7 @@ export class InMemoryStateStore {
|
|
|
123
123
|
return "running";
|
|
124
124
|
return row.success ? "done" : "run";
|
|
125
125
|
},
|
|
126
|
-
markStaleAsFailed: (dedupKey, triggerId, workflowRunId) => {
|
|
126
|
+
markStaleAsFailed: async (dedupKey, triggerId, workflowRunId) => {
|
|
127
127
|
const row = this.ledger.get(ledgerKey(dedupKey, triggerId, workflowRunId));
|
|
128
128
|
if (row && !row.finished) {
|
|
129
129
|
row.finished = true;
|
|
@@ -132,7 +132,7 @@ export class InMemoryStateStore {
|
|
|
132
132
|
}
|
|
133
133
|
return 0;
|
|
134
134
|
},
|
|
135
|
-
markLatestAsFailed: (dedupKey, triggerId, _reason, workflowRunId) => {
|
|
135
|
+
markLatestAsFailed: async (dedupKey, triggerId, _reason, workflowRunId) => {
|
|
136
136
|
const row = this.ledger.get(ledgerKey(dedupKey, triggerId, workflowRunId));
|
|
137
137
|
if (row) {
|
|
138
138
|
row.finished = true;
|
|
@@ -141,7 +141,7 @@ export class InMemoryStateStore {
|
|
|
141
141
|
}
|
|
142
142
|
return 0;
|
|
143
143
|
},
|
|
144
|
-
recordStart: (rec) => {
|
|
144
|
+
recordStart: async (rec) => {
|
|
145
145
|
const row = {
|
|
146
146
|
id: rec.id,
|
|
147
147
|
dedupKey: rec.skill,
|
|
@@ -156,7 +156,7 @@ export class InMemoryStateStore {
|
|
|
156
156
|
this.byExecId.set(rec.id, row);
|
|
157
157
|
this.rows.push(row);
|
|
158
158
|
},
|
|
159
|
-
recordFinish: (id, result) => {
|
|
159
|
+
recordFinish: async (id, result) => {
|
|
160
160
|
const row = this.byExecId.get(id);
|
|
161
161
|
if (row) {
|
|
162
162
|
row.finished = true;
|
|
@@ -166,13 +166,13 @@ export class InMemoryStateStore {
|
|
|
166
166
|
row.error = result.error;
|
|
167
167
|
}
|
|
168
168
|
},
|
|
169
|
-
recordSessionId: () => { },
|
|
170
|
-
recordOutputText: (id, text) => {
|
|
169
|
+
recordSessionId: async () => { },
|
|
170
|
+
recordOutputText: async (id, text) => {
|
|
171
171
|
const row = this.byExecId.get(id);
|
|
172
172
|
if (row)
|
|
173
173
|
row.output = text;
|
|
174
174
|
},
|
|
175
|
-
recordSkippedPhase: (dedupKey, triggerId, workflowRunId, repo, owner) => {
|
|
175
|
+
recordSkippedPhase: async (dedupKey, triggerId, workflowRunId, repo, owner) => {
|
|
176
176
|
const row = {
|
|
177
177
|
id: `skipped:${dedupKey}`,
|
|
178
178
|
dedupKey,
|
|
@@ -188,8 +188,8 @@ export class InMemoryStateStore {
|
|
|
188
188
|
this.ledger.set(ledgerKey(dedupKey, triggerId, workflowRunId), row);
|
|
189
189
|
this.rows.push(row);
|
|
190
190
|
},
|
|
191
|
-
getPhaseOutput: (dedupKey, triggerId, workflowRunId) => this.ledger.get(ledgerKey(dedupKey, triggerId, workflowRunId))?.output ?? null,
|
|
192
|
-
getExecutionOutput: (id) => this.byExecId.get(id)?.output ?? null,
|
|
191
|
+
getPhaseOutput: async (dedupKey, triggerId, workflowRunId) => this.ledger.get(ledgerKey(dedupKey, triggerId, workflowRunId))?.output ?? null,
|
|
192
|
+
getExecutionOutput: async (id) => this.byExecId.get(id)?.output ?? null,
|
|
193
193
|
};
|
|
194
194
|
}
|
|
195
195
|
/** A {@link PhaseReporter} that records everything and posts nowhere. */
|
|
@@ -217,10 +217,10 @@ export class RecordingReporter {
|
|
|
217
217
|
async postNote(text) {
|
|
218
218
|
this.notes.push(text);
|
|
219
219
|
}
|
|
220
|
-
persistPhase(phase, summary) {
|
|
220
|
+
async persistPhase(phase, summary) {
|
|
221
221
|
this.persisted.push({ phase, summary });
|
|
222
222
|
}
|
|
223
|
-
failWorkflow(errorMsg) {
|
|
223
|
+
async failWorkflow(errorMsg) {
|
|
224
224
|
this.failures.push(errorMsg ?? "");
|
|
225
225
|
}
|
|
226
226
|
async footer(markdown) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fakes.js","sourceRoot":"","sources":["../../src/test-support/fakes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fakes.js","sourceRoot":"","sources":["../../src/test-support/fakes.ts"],"names":[],"mappings":"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"}
|