@tagma/sdk 0.4.13 → 0.4.15
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/LICENSE +21 -21
- package/README.md +569 -572
- package/dist/dag.d.ts.map +1 -1
- package/dist/dag.js +22 -56
- package/dist/dag.js.map +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +63 -37
- package/dist/engine.js.map +1 -1
- package/dist/middlewares/static-context.d.ts.map +1 -1
- package/dist/middlewares/static-context.js +7 -3
- package/dist/middlewares/static-context.js.map +1 -1
- package/dist/prompt-doc.d.ts +36 -0
- package/dist/prompt-doc.d.ts.map +1 -0
- package/dist/prompt-doc.js +44 -0
- package/dist/prompt-doc.js.map +1 -0
- package/dist/sdk.d.ts +3 -0
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +4 -0
- package/dist/sdk.js.map +1 -1
- package/dist/task-ref.d.ts +55 -0
- package/dist/task-ref.d.ts.map +1 -0
- package/dist/task-ref.js +101 -0
- package/dist/task-ref.js.map +1 -0
- package/dist/templates.d.ts +20 -0
- package/dist/templates.d.ts.map +1 -0
- package/dist/templates.js +93 -0
- package/dist/templates.js.map +1 -0
- package/dist/validate-raw.d.ts.map +1 -1
- package/dist/validate-raw.js +27 -53
- package/dist/validate-raw.js.map +1 -1
- package/package.json +2 -2
- package/scripts/preinstall.js +31 -31
- package/src/adapters/stdin-approval.ts +106 -106
- package/src/adapters/websocket-approval.ts +224 -224
- package/src/approval.ts +131 -131
- package/src/bootstrap.ts +37 -37
- package/src/completions/exit-code.ts +34 -34
- package/src/completions/file-exists.ts +66 -66
- package/src/completions/output-check.ts +86 -86
- package/src/config-ops.ts +307 -307
- package/src/dag.ts +24 -54
- package/src/drivers/claude-code.ts +250 -250
- package/src/engine.ts +1137 -1098
- package/src/hooks.ts +187 -187
- package/src/logger.ts +182 -182
- package/src/middlewares/static-context.ts +49 -45
- package/src/pipeline-runner.ts +156 -156
- package/src/prompt-doc.ts +49 -0
- package/src/registry.ts +242 -242
- package/src/runner.ts +395 -395
- package/src/schema.test.ts +101 -101
- package/src/schema.ts +338 -338
- package/src/sdk.ts +111 -92
- package/src/task-ref.ts +120 -0
- package/src/triggers/file.ts +164 -164
- package/src/triggers/manual.ts +86 -86
- package/src/types.ts +18 -18
- package/src/utils.ts +203 -203
- package/src/validate-raw.ts +412 -442
package/dist/dag.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dag.d.ts","sourceRoot":"","sources":["../src/dag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,WAAW,EACZ,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"dag.d.ts","sourceRoot":"","sources":["../src/dag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,WAAW,EACZ,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;;;;;;;OAOG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,GAAG;IAClB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,GAAG,CAoHpD;AAID,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAChD,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC3E;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAiD7D"}
|
package/dist/dag.js
CHANGED
|
@@ -1,26 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
// Within a track, bare "task_id" is also valid
|
|
3
|
-
function qualifyId(trackId, taskId) {
|
|
4
|
-
return `${trackId}.${taskId}`;
|
|
5
|
-
}
|
|
1
|
+
import { buildTaskIndex, qualifyTaskId, resolveTaskRef } from './task-ref';
|
|
6
2
|
export function buildDag(config) {
|
|
7
3
|
const nodes = new Map();
|
|
8
|
-
//
|
|
9
|
-
|
|
10
|
-
// 1. Register all nodes
|
|
4
|
+
// 1. Register all nodes. Duplicates throw — same-track task-id collisions
|
|
5
|
+
// would otherwise silently overwrite one another in the DAG.
|
|
11
6
|
for (const track of config.tracks) {
|
|
12
7
|
for (const task of track.tasks) {
|
|
13
|
-
const qid =
|
|
8
|
+
const qid = qualifyTaskId(track.id, task.id);
|
|
14
9
|
if (nodes.has(qid)) {
|
|
15
10
|
throw new Error(`Duplicate task ID: "${qid}"`);
|
|
16
11
|
}
|
|
17
|
-
// Track bare ID → qualified. If same bare ID in multiple tracks, mark ambiguous
|
|
18
|
-
if (bareToQualified.has(task.id)) {
|
|
19
|
-
bareToQualified.set(task.id, '__ambiguous__');
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
bareToQualified.set(task.id, qid);
|
|
23
|
-
}
|
|
24
12
|
nodes.set(qid, {
|
|
25
13
|
taskId: qid,
|
|
26
14
|
task,
|
|
@@ -29,33 +17,23 @@ export function buildDag(config) {
|
|
|
29
17
|
});
|
|
30
18
|
}
|
|
31
19
|
}
|
|
32
|
-
//
|
|
20
|
+
// Shared index for ref resolution — same code path validate-raw uses.
|
|
21
|
+
const index = buildTaskIndex(config);
|
|
33
22
|
function resolveRef(ref, fromTrackId) {
|
|
34
|
-
|
|
35
|
-
if (
|
|
36
|
-
if (!nodes.has(ref)) {
|
|
37
|
-
throw new Error(`Task reference "${ref}" not found`);
|
|
38
|
-
}
|
|
39
|
-
return ref;
|
|
40
|
-
}
|
|
41
|
-
// Try within same track first
|
|
42
|
-
const sameTrack = qualifyId(fromTrackId, ref);
|
|
43
|
-
if (nodes.has(sameTrack))
|
|
44
|
-
return sameTrack;
|
|
45
|
-
// Try global bare lookup
|
|
46
|
-
const global = bareToQualified.get(ref);
|
|
47
|
-
if (global && global !== '__ambiguous__')
|
|
48
|
-
return global;
|
|
49
|
-
if (global === '__ambiguous__') {
|
|
23
|
+
const result = resolveTaskRef(ref, fromTrackId, index);
|
|
24
|
+
if (result.kind === 'ambiguous') {
|
|
50
25
|
throw new Error(`Ambiguous task reference "${ref}" exists in multiple tracks. ` +
|
|
51
26
|
`Use "track_id.task_id" format.`);
|
|
52
27
|
}
|
|
53
|
-
|
|
28
|
+
if (result.kind === 'not_found') {
|
|
29
|
+
throw new Error(`Task reference "${ref}" not found`);
|
|
30
|
+
}
|
|
31
|
+
return result.qid;
|
|
54
32
|
}
|
|
55
33
|
// 2. Resolve depends_on and continue_from to qualified IDs
|
|
56
34
|
for (const track of config.tracks) {
|
|
57
35
|
for (const task of track.tasks) {
|
|
58
|
-
const qid =
|
|
36
|
+
const qid = qualifyTaskId(track.id, task.id);
|
|
59
37
|
const deps = [];
|
|
60
38
|
let resolvedContinueFrom;
|
|
61
39
|
if (task.depends_on) {
|
|
@@ -132,38 +110,26 @@ export function buildDag(config) {
|
|
|
132
110
|
*/
|
|
133
111
|
export function buildRawDag(config) {
|
|
134
112
|
const nodes = new Map();
|
|
135
|
-
|
|
136
|
-
//
|
|
113
|
+
// 1. Register all concrete tasks. Duplicates are skipped (not thrown) so
|
|
114
|
+
// partially-typed editor state doesn't produce a hard error.
|
|
137
115
|
for (const track of config.tracks) {
|
|
138
116
|
for (const task of track.tasks) {
|
|
139
|
-
const qid =
|
|
117
|
+
const qid = qualifyTaskId(track.id, task.id);
|
|
140
118
|
if (nodes.has(qid))
|
|
141
|
-
continue;
|
|
142
|
-
if (bareToQualified.has(task.id)) {
|
|
143
|
-
bareToQualified.set(task.id, '__ambiguous__');
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
bareToQualified.set(task.id, qid);
|
|
147
|
-
}
|
|
119
|
+
continue;
|
|
148
120
|
nodes.set(qid, { taskId: qid, trackId: track.id, rawTask: task, dependsOn: [] });
|
|
149
121
|
}
|
|
150
122
|
}
|
|
151
|
-
|
|
123
|
+
const index = buildTaskIndex(config);
|
|
152
124
|
function tryResolve(ref, fromTrackId) {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
const sameTrack = `${fromTrackId}.${ref}`;
|
|
156
|
-
if (nodes.has(sameTrack))
|
|
157
|
-
return sameTrack;
|
|
158
|
-
const global = bareToQualified.get(ref);
|
|
159
|
-
if (global && global !== '__ambiguous__')
|
|
160
|
-
return global;
|
|
161
|
-
return null;
|
|
125
|
+
const result = resolveTaskRef(ref, fromTrackId, index);
|
|
126
|
+
return result.kind === 'resolved' ? result.qid : null;
|
|
162
127
|
}
|
|
128
|
+
// 2. Resolve dependency refs leniently (missing / ambiguous refs are skipped)
|
|
163
129
|
const edges = [];
|
|
164
130
|
for (const track of config.tracks) {
|
|
165
131
|
for (const task of track.tasks) {
|
|
166
|
-
const qid =
|
|
132
|
+
const qid = qualifyTaskId(track.id, task.id);
|
|
167
133
|
const deps = [];
|
|
168
134
|
for (const ref of task.depends_on ?? []) {
|
|
169
135
|
const resolved = tryResolve(ref, track.id);
|
package/dist/dag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dag.js","sourceRoot":"","sources":["../src/dag.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dag.js","sourceRoot":"","sources":["../src/dag.ts"],"names":[],"mappings":"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"}
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAEd,SAAS,EACT,UAAU,
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAEd,SAAS,EACT,UAAU,EAUX,MAAM,SAAS,CAAC;AAgBjB,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAM3E,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,EAAG,iBAAiB,CAAU;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,EAAG,iBAAiB,CAAU;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AA6ED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACjD;AAID,MAAM,MAAM,aAAa,GACrB;IACE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACjD,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE;AACtF;;;;;;GAMG;GACD;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEN,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAClD;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAWD,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,YAAY,CAAC,CAm1BvB"}
|
package/dist/engine.js
CHANGED
|
@@ -4,6 +4,7 @@ import { buildDag } from './dag';
|
|
|
4
4
|
import { getHandler, hasHandler, loadPlugins } from './registry';
|
|
5
5
|
import { runSpawn, runCommand } from './runner';
|
|
6
6
|
import { parseDuration, nowISO, generateRunId } from './utils';
|
|
7
|
+
import { promptDocumentFromString, serializePromptDocument } from './prompt-doc';
|
|
7
8
|
import { executeHook, buildPipelineStartContext, buildTaskContext, buildPipelineCompleteContext, buildPipelineErrorContext, } from './hooks';
|
|
8
9
|
import { Logger, tailLines, clip } from './logger';
|
|
9
10
|
import { InMemoryApprovalGateway } from './approval';
|
|
@@ -51,7 +52,10 @@ function preflight(config, dag) {
|
|
|
51
52
|
if (task.continue_from && hasHandler('drivers', driverName)) {
|
|
52
53
|
const driver = getHandler('drivers', driverName);
|
|
53
54
|
if (!driver.capabilities.sessionResume) {
|
|
54
|
-
|
|
55
|
+
// buildDag has already qualified `continue_from` and stored the result
|
|
56
|
+
// on the node; preflight runs after buildDag, so the upstream id is
|
|
57
|
+
// always available here without re-resolving.
|
|
58
|
+
const upstreamId = node.resolvedContinueFrom;
|
|
55
59
|
if (upstreamId) {
|
|
56
60
|
const upstream = dag.nodes.get(upstreamId);
|
|
57
61
|
if (upstream) {
|
|
@@ -78,27 +82,6 @@ function preflight(config, dag) {
|
|
|
78
82
|
throw new Error(`Preflight validation failed:\n - ${errors.join('\n - ')}`);
|
|
79
83
|
}
|
|
80
84
|
}
|
|
81
|
-
function resolveRefInDag(dag, ref, fromTrackId) {
|
|
82
|
-
// Already fully qualified
|
|
83
|
-
if (dag.nodes.has(ref))
|
|
84
|
-
return ref;
|
|
85
|
-
// Same-track match (preferred)
|
|
86
|
-
const sameTrack = `${fromTrackId}.${ref}`;
|
|
87
|
-
if (dag.nodes.has(sameTrack))
|
|
88
|
-
return sameTrack;
|
|
89
|
-
// Cross-track bare name lookup — must be unambiguous (aligned with buildDag's resolveRef)
|
|
90
|
-
let match = null;
|
|
91
|
-
for (const [id] of dag.nodes) {
|
|
92
|
-
if (id.endsWith(`.${ref}`)) {
|
|
93
|
-
if (match !== null) {
|
|
94
|
-
// Ambiguous: multiple tasks share the bare name across tracks
|
|
95
|
-
return null;
|
|
96
|
-
}
|
|
97
|
-
match = id;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
return match;
|
|
101
|
-
}
|
|
102
85
|
// Poll interval when no tasks are in-flight but non-terminal tasks remain
|
|
103
86
|
// (e.g. tasks waiting on a file or manual trigger).
|
|
104
87
|
const POLL_INTERVAL_MS = 50;
|
|
@@ -470,11 +453,11 @@ export async function runPipeline(config, workDir, options = {}) {
|
|
|
470
453
|
result = await runCommand(task.command, task.cwd ?? workDir, runOpts);
|
|
471
454
|
}
|
|
472
455
|
else {
|
|
473
|
-
// AI task: apply middleware chain
|
|
456
|
+
// AI task: apply middleware chain against a structured PromptDocument.
|
|
474
457
|
const driverName = task.driver ?? track.driver ?? config.driver ?? 'claude-code';
|
|
475
458
|
const driver = getHandler('drivers', driverName);
|
|
476
|
-
|
|
477
|
-
|
|
459
|
+
const originalLen = task.prompt.length;
|
|
460
|
+
let doc = promptDocumentFromString(task.prompt);
|
|
478
461
|
const mws = task.middlewares !== undefined ? task.middlewares : track.middlewares;
|
|
479
462
|
if (mws && mws.length > 0) {
|
|
480
463
|
log.debug(`[task:${taskId}]`, `middleware chain: ${mws.map((m) => m.type).join(' → ')}`);
|
|
@@ -484,21 +467,51 @@ export async function runPipeline(config, workDir, options = {}) {
|
|
|
484
467
|
workDir: task.cwd ?? workDir,
|
|
485
468
|
};
|
|
486
469
|
for (const mwConfig of mws) {
|
|
487
|
-
const before = prompt.length;
|
|
488
470
|
const mwPlugin = getHandler('middlewares', mwConfig.type);
|
|
489
|
-
const
|
|
490
|
-
|
|
491
|
-
//
|
|
492
|
-
//
|
|
493
|
-
//
|
|
494
|
-
|
|
495
|
-
|
|
471
|
+
const beforeBlocks = doc.contexts.length;
|
|
472
|
+
const beforeLen = serializePromptDocument(doc).length;
|
|
473
|
+
// Prefer the structured API. Fall back to the legacy
|
|
474
|
+
// `enhance(string) → string` path so v0.x plugins keep
|
|
475
|
+
// working — that fallback loses context structure (the
|
|
476
|
+
// middleware's output becomes the new task body) but never
|
|
477
|
+
// silently drops content.
|
|
478
|
+
if (typeof mwPlugin.enhanceDoc === 'function') {
|
|
479
|
+
const next = await mwPlugin.enhanceDoc(doc, mwConfig, mwCtx);
|
|
480
|
+
if (!next ||
|
|
481
|
+
typeof next !== 'object' ||
|
|
482
|
+
!Array.isArray(next.contexts) ||
|
|
483
|
+
typeof next.task !== 'string') {
|
|
484
|
+
throw new Error(`middleware "${mwConfig.type}".enhanceDoc() returned a malformed PromptDocument`);
|
|
485
|
+
}
|
|
486
|
+
doc = next;
|
|
496
487
|
}
|
|
497
|
-
|
|
498
|
-
|
|
488
|
+
else if (typeof mwPlugin.enhance === 'function') {
|
|
489
|
+
const asString = serializePromptDocument(doc);
|
|
490
|
+
const next = await mwPlugin.enhance(asString, mwConfig, mwCtx);
|
|
491
|
+
// R3: a middleware that returns undefined / null / a non-string
|
|
492
|
+
// would silently corrupt the prompt. Fail loud.
|
|
493
|
+
if (typeof next !== 'string') {
|
|
494
|
+
throw new Error(`middleware "${mwConfig.type}".enhance() returned ${next === null ? 'null' : typeof next}, expected string`);
|
|
495
|
+
}
|
|
496
|
+
// Legacy fallback: collapse the returned string into a
|
|
497
|
+
// fresh doc. Earlier structure is folded into the string
|
|
498
|
+
// (serializePromptDocument just ran), so bytes the driver
|
|
499
|
+
// sees match the old string pipeline.
|
|
500
|
+
doc = { contexts: [], task: next };
|
|
501
|
+
}
|
|
502
|
+
else {
|
|
503
|
+
throw new Error(`middleware "${mwConfig.type}" provides neither enhanceDoc nor enhance`);
|
|
504
|
+
}
|
|
505
|
+
const afterLen = serializePromptDocument(doc).length;
|
|
506
|
+
const addedBlocks = doc.contexts.length - beforeBlocks;
|
|
507
|
+
log.debug(`[task:${taskId}]`, ` ${mwConfig.type}: ${beforeLen} → ${afterLen} chars` +
|
|
508
|
+
(addedBlocks > 0
|
|
509
|
+
? ` (+${addedBlocks} context block${addedBlocks > 1 ? 's' : ''})`
|
|
510
|
+
: ''));
|
|
499
511
|
}
|
|
500
512
|
}
|
|
501
|
-
|
|
513
|
+
const prompt = serializePromptDocument(doc);
|
|
514
|
+
log.debug(`[task:${taskId}]`, `prompt: ${originalLen} chars (final: ${prompt.length} chars, ${doc.contexts.length} block${doc.contexts.length === 1 ? '' : 's'})`);
|
|
502
515
|
log.quiet(`--- prompt (final) ---\n${clip(prompt)}\n--- end prompt ---`, taskId);
|
|
503
516
|
// H1: hand the driver a continue_from that has already been
|
|
504
517
|
// qualified by dag.ts. Without this, drivers like codex/opencode/
|
|
@@ -506,15 +519,28 @@ export async function runPipeline(config, workDir, options = {}) {
|
|
|
506
519
|
// the user's raw (possibly bare) string, which races whenever two
|
|
507
520
|
// tracks share a task name. dag.ts has the only authoritative
|
|
508
521
|
// resolver, so we use its precomputed answer here.
|
|
522
|
+
// Drivers key sessionMap/normalizedMap by fully-qualified id. buildDag
|
|
523
|
+
// guarantees `resolvedContinueFrom` is set for every task that has a
|
|
524
|
+
// `continue_from`, so if we see the bare form here something upstream
|
|
525
|
+
// is broken — fail loud instead of silently miskeying the lookup.
|
|
526
|
+
if (task.continue_from && !node.resolvedContinueFrom) {
|
|
527
|
+
throw new Error(`Internal: task "${taskId}" has continue_from "${task.continue_from}" ` +
|
|
528
|
+
`but no resolvedContinueFrom. buildDag should have qualified it.`);
|
|
529
|
+
}
|
|
509
530
|
const enrichedTask = {
|
|
510
531
|
...task,
|
|
511
532
|
prompt,
|
|
512
|
-
continue_from: node.resolvedContinueFrom
|
|
533
|
+
continue_from: node.resolvedContinueFrom,
|
|
513
534
|
};
|
|
514
535
|
const driverCtx = {
|
|
515
536
|
sessionMap,
|
|
516
537
|
normalizedMap,
|
|
517
538
|
workDir: task.cwd ?? workDir,
|
|
539
|
+
// Structured view for drivers that want fine-grained control
|
|
540
|
+
// over serialization (e.g. inserting [Previous Output] between
|
|
541
|
+
// contexts and task). Drivers that read task.prompt see the
|
|
542
|
+
// default serialization and need no changes.
|
|
543
|
+
promptDoc: doc,
|
|
518
544
|
};
|
|
519
545
|
const spec = await driver.buildCommand(enrichedTask, track, driverCtx);
|
|
520
546
|
log.debug(`[task:${taskId}]`, `driver=${driverName}`);
|
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-context.d.ts","sourceRoot":"","sources":["../../src/middlewares/static-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"static-context.d.ts","sourceRoot":"","sources":["../../src/middlewares/static-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAqC,MAAM,UAAU,CAAC;AAIpF,eAAO,MAAM,uBAAuB,EAAE,gBA2CrC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { basename } from 'path';
|
|
2
2
|
import { validatePath } from '../utils';
|
|
3
|
+
import { appendContext } from '../prompt-doc';
|
|
3
4
|
export const StaticContextMiddleware = {
|
|
4
5
|
name: 'static_context',
|
|
5
6
|
schema: {
|
|
@@ -18,7 +19,7 @@ export const StaticContextMiddleware = {
|
|
|
18
19
|
},
|
|
19
20
|
},
|
|
20
21
|
},
|
|
21
|
-
async
|
|
22
|
+
async enhanceDoc(doc, config, ctx) {
|
|
22
23
|
const filePath = config.file;
|
|
23
24
|
if (!filePath)
|
|
24
25
|
throw new Error('static_context middleware: "file" is required');
|
|
@@ -26,11 +27,14 @@ export const StaticContextMiddleware = {
|
|
|
26
27
|
const file = Bun.file(safePath);
|
|
27
28
|
if (!(await file.exists())) {
|
|
28
29
|
console.warn(`static_context: file ${filePath} not found, skipping`);
|
|
29
|
-
return
|
|
30
|
+
return doc;
|
|
30
31
|
}
|
|
31
32
|
const content = await file.text();
|
|
32
33
|
const label = config.label ?? `Reference: ${basename(filePath)}`;
|
|
33
|
-
|
|
34
|
+
// Append a labeled context block; the engine's serializer joins blocks
|
|
35
|
+
// with blank lines and places the task last. No [Task] header here —
|
|
36
|
+
// that framing is the driver's concern (e.g. opencode's agent_profile).
|
|
37
|
+
return appendContext(doc, { label, content });
|
|
34
38
|
},
|
|
35
39
|
};
|
|
36
40
|
//# sourceMappingURL=static-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-context.js","sourceRoot":"","sources":["../../src/middlewares/static-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"static-context.js","sourceRoot":"","sources":["../../src/middlewares/static-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,CAAC,MAAM,uBAAuB,GAAqB;IACvD,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE;QACN,WAAW,EAAE,2DAA2D;QACxE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,+DAA+D;gBAC5E,WAAW,EAAE,cAAc;aAC5B;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uEAAuE;gBACpF,WAAW,EAAE,oBAAoB;aAClC;SACF;KACF;IAED,KAAK,CAAC,UAAU,CACd,GAAmB,EACnB,MAA+B,EAC/B,GAAsB;QAEtB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAc,CAAC;QACvC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAEhF,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEhC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,wBAAwB,QAAQ,sBAAsB,CAAC,CAAC;YACrE,OAAO,GAAG,CAAC;QACb,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,KAAK,GAAI,MAAM,CAAC,KAAgB,IAAI,cAAc,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAE7E,uEAAuE;QACvE,qEAAqE;QACrE,wEAAwE;QACxE,OAAO,aAAa,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { PromptDocument, PromptContextBlock } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Build a fresh `PromptDocument` from a raw task string.
|
|
4
|
+
* Middlewares receive this from the engine and push context blocks onto
|
|
5
|
+
* `contexts`. `task` is the user's original prompt and should not be
|
|
6
|
+
* rewritten by middlewares (translation middlewares are the rare exception).
|
|
7
|
+
*/
|
|
8
|
+
export declare function promptDocumentFromString(task: string): PromptDocument;
|
|
9
|
+
/**
|
|
10
|
+
* Serialize a `PromptDocument` to the default string form consumed by
|
|
11
|
+
* drivers that read `task.prompt` instead of `ctx.promptDoc`.
|
|
12
|
+
*
|
|
13
|
+
* Format:
|
|
14
|
+
*
|
|
15
|
+
* [<label1>]
|
|
16
|
+
* <content1>
|
|
17
|
+
*
|
|
18
|
+
* [<label2>]
|
|
19
|
+
* <content2>
|
|
20
|
+
*
|
|
21
|
+
* <task>
|
|
22
|
+
*
|
|
23
|
+
* Each context block is separated from the next (and from `task`) by a
|
|
24
|
+
* single blank line. No implicit `[Task]` header is emitted — that framing
|
|
25
|
+
* is the driver's responsibility (e.g. opencode's `agent_profile` wrapping).
|
|
26
|
+
* Emitting one here would compose incorrectly with any driver that also
|
|
27
|
+
* adds a `[Task]` header, producing a double header that some models
|
|
28
|
+
* (observed with `opencode/big-pickle`) misread as a cut-off message.
|
|
29
|
+
*/
|
|
30
|
+
export declare function serializePromptDocument(doc: PromptDocument): string;
|
|
31
|
+
/**
|
|
32
|
+
* Helper for middlewares: return a new document with the given block
|
|
33
|
+
* appended to `contexts`, preserving immutability of `doc`.
|
|
34
|
+
*/
|
|
35
|
+
export declare function appendContext(doc: PromptDocument, block: PromptContextBlock): PromptDocument;
|
|
36
|
+
//# sourceMappingURL=prompt-doc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-doc.d.ts","sourceRoot":"","sources":["../src/prompt-doc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAErE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAInE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,kBAAkB,GACxB,cAAc,CAEhB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build a fresh `PromptDocument` from a raw task string.
|
|
3
|
+
* Middlewares receive this from the engine and push context blocks onto
|
|
4
|
+
* `contexts`. `task` is the user's original prompt and should not be
|
|
5
|
+
* rewritten by middlewares (translation middlewares are the rare exception).
|
|
6
|
+
*/
|
|
7
|
+
export function promptDocumentFromString(task) {
|
|
8
|
+
return { contexts: [], task };
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Serialize a `PromptDocument` to the default string form consumed by
|
|
12
|
+
* drivers that read `task.prompt` instead of `ctx.promptDoc`.
|
|
13
|
+
*
|
|
14
|
+
* Format:
|
|
15
|
+
*
|
|
16
|
+
* [<label1>]
|
|
17
|
+
* <content1>
|
|
18
|
+
*
|
|
19
|
+
* [<label2>]
|
|
20
|
+
* <content2>
|
|
21
|
+
*
|
|
22
|
+
* <task>
|
|
23
|
+
*
|
|
24
|
+
* Each context block is separated from the next (and from `task`) by a
|
|
25
|
+
* single blank line. No implicit `[Task]` header is emitted — that framing
|
|
26
|
+
* is the driver's responsibility (e.g. opencode's `agent_profile` wrapping).
|
|
27
|
+
* Emitting one here would compose incorrectly with any driver that also
|
|
28
|
+
* adds a `[Task]` header, producing a double header that some models
|
|
29
|
+
* (observed with `opencode/big-pickle`) misread as a cut-off message.
|
|
30
|
+
*/
|
|
31
|
+
export function serializePromptDocument(doc) {
|
|
32
|
+
if (doc.contexts.length === 0)
|
|
33
|
+
return doc.task;
|
|
34
|
+
const blocks = doc.contexts.map((c) => `[${c.label}]\n${c.content}`);
|
|
35
|
+
return `${blocks.join('\n\n')}\n\n${doc.task}`;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Helper for middlewares: return a new document with the given block
|
|
39
|
+
* appended to `contexts`, preserving immutability of `doc`.
|
|
40
|
+
*/
|
|
41
|
+
export function appendContext(doc, block) {
|
|
42
|
+
return { contexts: [...doc.contexts, block], task: doc.task };
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=prompt-doc.js.map
|