@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.
Files changed (59) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +569 -572
  3. package/dist/dag.d.ts.map +1 -1
  4. package/dist/dag.js +22 -56
  5. package/dist/dag.js.map +1 -1
  6. package/dist/engine.d.ts.map +1 -1
  7. package/dist/engine.js +63 -37
  8. package/dist/engine.js.map +1 -1
  9. package/dist/middlewares/static-context.d.ts.map +1 -1
  10. package/dist/middlewares/static-context.js +7 -3
  11. package/dist/middlewares/static-context.js.map +1 -1
  12. package/dist/prompt-doc.d.ts +36 -0
  13. package/dist/prompt-doc.d.ts.map +1 -0
  14. package/dist/prompt-doc.js +44 -0
  15. package/dist/prompt-doc.js.map +1 -0
  16. package/dist/sdk.d.ts +3 -0
  17. package/dist/sdk.d.ts.map +1 -1
  18. package/dist/sdk.js +4 -0
  19. package/dist/sdk.js.map +1 -1
  20. package/dist/task-ref.d.ts +55 -0
  21. package/dist/task-ref.d.ts.map +1 -0
  22. package/dist/task-ref.js +101 -0
  23. package/dist/task-ref.js.map +1 -0
  24. package/dist/templates.d.ts +20 -0
  25. package/dist/templates.d.ts.map +1 -0
  26. package/dist/templates.js +93 -0
  27. package/dist/templates.js.map +1 -0
  28. package/dist/validate-raw.d.ts.map +1 -1
  29. package/dist/validate-raw.js +27 -53
  30. package/dist/validate-raw.js.map +1 -1
  31. package/package.json +2 -2
  32. package/scripts/preinstall.js +31 -31
  33. package/src/adapters/stdin-approval.ts +106 -106
  34. package/src/adapters/websocket-approval.ts +224 -224
  35. package/src/approval.ts +131 -131
  36. package/src/bootstrap.ts +37 -37
  37. package/src/completions/exit-code.ts +34 -34
  38. package/src/completions/file-exists.ts +66 -66
  39. package/src/completions/output-check.ts +86 -86
  40. package/src/config-ops.ts +307 -307
  41. package/src/dag.ts +24 -54
  42. package/src/drivers/claude-code.ts +250 -250
  43. package/src/engine.ts +1137 -1098
  44. package/src/hooks.ts +187 -187
  45. package/src/logger.ts +182 -182
  46. package/src/middlewares/static-context.ts +49 -45
  47. package/src/pipeline-runner.ts +156 -156
  48. package/src/prompt-doc.ts +49 -0
  49. package/src/registry.ts +242 -242
  50. package/src/runner.ts +395 -395
  51. package/src/schema.test.ts +101 -101
  52. package/src/schema.ts +338 -338
  53. package/src/sdk.ts +111 -92
  54. package/src/task-ref.ts +120 -0
  55. package/src/triggers/file.ts +164 -164
  56. package/src/triggers/manual.ts +86 -86
  57. package/src/types.ts +18 -18
  58. package/src/utils.ts +203 -203
  59. 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;AAEjB,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;AAQD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,GAAG,CAqIpD;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,CAyD7D"}
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
- // Build a global task ID: for cross-track refs we use "track_id.task_id"
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
- // Map bare task IDs to qualified IDs (for resolving unqualified refs)
9
- const bareToQualified = new Map();
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 = qualifyId(track.id, task.id);
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
- // Helper to resolve a dependency ref to a qualified ID
20
+ // Shared index for ref resolution same code path validate-raw uses.
21
+ const index = buildTaskIndex(config);
33
22
  function resolveRef(ref, fromTrackId) {
34
- // Already qualified (contains dot)
35
- if (ref.includes('.')) {
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
- throw new Error(`Task reference "${ref}" not found`);
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 = qualifyId(track.id, task.id);
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
- const bareToQualified = new Map();
136
- // 1. Register all concrete tasks
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 = `${track.id}.${task.id}`;
117
+ const qid = qualifyTaskId(track.id, task.id);
140
118
  if (nodes.has(qid))
141
- continue; // skip duplicates silently
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
- // 2. Resolve dependency refs leniently (missing / ambiguous refs are skipped)
123
+ const index = buildTaskIndex(config);
152
124
  function tryResolve(ref, fromTrackId) {
153
- if (ref.includes('.'))
154
- return nodes.has(ref) ? ref : null;
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 = `${track.id}.${task.id}`;
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":"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"}
1
+ {"version":3,"file":"dag.js","sourceRoot":"","sources":["../src/dag.ts"],"names":[],"mappings":"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"}
@@ -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,EASX,MAAM,SAAS,CAAC;AAejB,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;AA8FD,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,CA6xBvB"}
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
- const upstreamId = resolveRefInDag(dag, task.continue_from, track.id);
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
- let prompt = task.prompt;
477
- const originalLen = prompt.length;
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 next = await mwPlugin.enhance(prompt, mwConfig, mwCtx);
490
- // R3: a middleware that returns undefined / null / a non-string
491
- // would silently corrupt the prompt sent to the driver. Fail loud
492
- // here so the user sees "middleware X.enhance returned ..." in the
493
- // task log instead of "[object Object]" arriving at the model.
494
- if (typeof next !== 'string') {
495
- throw new Error(`middleware "${mwConfig.type}".enhance() returned ${next === null ? 'null' : typeof next}, expected string`);
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
- prompt = next;
498
- log.debug(`[task:${taskId}]`, ` ${mwConfig.type}: ${before} → ${prompt.length} chars`);
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
- log.debug(`[task:${taskId}]`, `prompt: ${originalLen} chars (final: ${prompt.length} chars)`);
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 ?? task.continue_from,
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}`);
@@ -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,EAAqB,MAAM,UAAU,CAAC;AAGpE,eAAO,MAAM,uBAAuB,EAAE,gBAwCrC,CAAC"}
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 enhance(prompt, config, ctx) {
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 prompt;
30
+ return doc;
30
31
  }
31
32
  const content = await file.text();
32
33
  const label = config.label ?? `Reference: ${basename(filePath)}`;
33
- return `[${label}]\n${content}\n\n[Task]\n${prompt}`;
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;AAExC,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,OAAO,CACX,MAAc,EACd,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,MAAM,CAAC;QAChB,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,OAAO,IAAI,KAAK,MAAM,OAAO,eAAe,MAAM,EAAE,CAAC;IACvD,CAAC;CACF,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