@tagma/sdk 0.7.4 → 0.7.6

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 (191) hide show
  1. package/README.md +60 -53
  2. package/dist/completions/file-exists.js +1 -1
  3. package/dist/completions/file-exists.js.map +1 -1
  4. package/dist/completions/output-check.d.ts.map +1 -1
  5. package/dist/completions/output-check.js +17 -4
  6. package/dist/completions/output-check.js.map +1 -1
  7. package/dist/config.d.ts +4 -4
  8. package/dist/config.d.ts.map +1 -1
  9. package/dist/config.js +2 -2
  10. package/dist/config.js.map +1 -1
  11. package/dist/dataflow.d.ts +3 -0
  12. package/dist/dataflow.d.ts.map +1 -0
  13. package/dist/dataflow.js +2 -0
  14. package/dist/dataflow.js.map +1 -0
  15. package/dist/drivers/opencode.d.ts.map +1 -1
  16. package/dist/drivers/opencode.js +23 -71
  17. package/dist/drivers/opencode.js.map +1 -1
  18. package/dist/middlewares/static-context.d.ts.map +1 -1
  19. package/dist/middlewares/static-context.js +1 -2
  20. package/dist/middlewares/static-context.js.map +1 -1
  21. package/dist/pipeline-runner.d.ts.map +1 -1
  22. package/dist/pipeline-runner.js +2 -2
  23. package/dist/pipeline-runner.js.map +1 -1
  24. package/dist/schema.d.ts.map +1 -1
  25. package/dist/schema.js +3 -4
  26. package/dist/schema.js.map +1 -1
  27. package/dist/triggers/file.d.ts.map +1 -1
  28. package/dist/triggers/file.js +1 -2
  29. package/dist/triggers/file.js.map +1 -1
  30. package/dist/triggers/manual.d.ts.map +1 -1
  31. package/dist/triggers/manual.js +1 -2
  32. package/dist/triggers/manual.js.map +1 -1
  33. package/dist/types.d.ts +1 -2
  34. package/dist/types.d.ts.map +1 -1
  35. package/dist/types.js +1 -12
  36. package/dist/types.js.map +1 -1
  37. package/dist/utils-api.d.ts +1 -1
  38. package/dist/utils-api.d.ts.map +1 -1
  39. package/dist/utils-api.js +1 -1
  40. package/dist/utils-api.js.map +1 -1
  41. package/dist/validate-raw.d.ts +4 -4
  42. package/dist/validate-raw.d.ts.map +1 -1
  43. package/dist/validate-raw.js +45 -52
  44. package/dist/validate-raw.js.map +1 -1
  45. package/package.json +11 -24
  46. package/dist/adapters/stdin-approval.d.ts +0 -2
  47. package/dist/adapters/stdin-approval.d.ts.map +0 -1
  48. package/dist/adapters/stdin-approval.js +0 -2
  49. package/dist/adapters/stdin-approval.js.map +0 -1
  50. package/dist/adapters/websocket-approval.d.ts +0 -2
  51. package/dist/adapters/websocket-approval.d.ts.map +0 -1
  52. package/dist/adapters/websocket-approval.js +0 -2
  53. package/dist/adapters/websocket-approval.js.map +0 -1
  54. package/dist/core/dataflow.d.ts +0 -23
  55. package/dist/core/dataflow.d.ts.map +0 -1
  56. package/dist/core/dataflow.js +0 -99
  57. package/dist/core/dataflow.js.map +0 -1
  58. package/dist/core/log-prune.d.ts +0 -16
  59. package/dist/core/log-prune.d.ts.map +0 -1
  60. package/dist/core/log-prune.js +0 -34
  61. package/dist/core/log-prune.js.map +0 -1
  62. package/dist/core/preflight.d.ts +0 -13
  63. package/dist/core/preflight.d.ts.map +0 -1
  64. package/dist/core/preflight.js +0 -61
  65. package/dist/core/preflight.js.map +0 -1
  66. package/dist/core/run-context.d.ts +0 -55
  67. package/dist/core/run-context.d.ts.map +0 -1
  68. package/dist/core/run-context.js +0 -158
  69. package/dist/core/run-context.js.map +0 -1
  70. package/dist/core/run-state.d.ts +0 -25
  71. package/dist/core/run-state.d.ts.map +0 -1
  72. package/dist/core/run-state.js +0 -93
  73. package/dist/core/run-state.js.map +0 -1
  74. package/dist/core/scheduler.d.ts +0 -13
  75. package/dist/core/scheduler.d.ts.map +0 -1
  76. package/dist/core/scheduler.js +0 -35
  77. package/dist/core/scheduler.js.map +0 -1
  78. package/dist/core/task-executor.d.ts +0 -13
  79. package/dist/core/task-executor.d.ts.map +0 -1
  80. package/dist/core/task-executor.js +0 -610
  81. package/dist/core/task-executor.js.map +0 -1
  82. package/dist/core/trigger-errors.d.ts +0 -9
  83. package/dist/core/trigger-errors.d.ts.map +0 -1
  84. package/dist/core/trigger-errors.js +0 -15
  85. package/dist/core/trigger-errors.js.map +0 -1
  86. package/dist/dag.d.ts +0 -45
  87. package/dist/dag.d.ts.map +0 -1
  88. package/dist/dag.js +0 -177
  89. package/dist/dag.js.map +0 -1
  90. package/dist/hooks.d.ts +0 -73
  91. package/dist/hooks.d.ts.map +0 -1
  92. package/dist/hooks.js +0 -106
  93. package/dist/hooks.js.map +0 -1
  94. package/dist/pipeline-definition.d.ts +0 -3
  95. package/dist/pipeline-definition.d.ts.map +0 -1
  96. package/dist/pipeline-definition.js +0 -4
  97. package/dist/pipeline-definition.js.map +0 -1
  98. package/dist/ports.d.ts +0 -196
  99. package/dist/ports.d.ts.map +0 -1
  100. package/dist/ports.js +0 -688
  101. package/dist/ports.js.map +0 -1
  102. package/dist/prompt-doc.d.ts +0 -70
  103. package/dist/prompt-doc.d.ts.map +0 -1
  104. package/dist/prompt-doc.js +0 -154
  105. package/dist/prompt-doc.js.map +0 -1
  106. package/dist/registry.d.ts +0 -3
  107. package/dist/registry.d.ts.map +0 -1
  108. package/dist/registry.js +0 -2
  109. package/dist/registry.js.map +0 -1
  110. package/dist/task-ref.d.ts +0 -55
  111. package/dist/task-ref.d.ts.map +0 -1
  112. package/dist/task-ref.js +0 -103
  113. package/dist/task-ref.js.map +0 -1
  114. package/dist/utils.d.ts +0 -13
  115. package/dist/utils.d.ts.map +0 -1
  116. package/dist/utils.js +0 -177
  117. package/dist/utils.js.map +0 -1
  118. package/src/adapters/stdin-approval.ts +0 -1
  119. package/src/adapters/websocket-approval.ts +0 -1
  120. package/src/approval.ts +0 -9
  121. package/src/bootstrap.ts +0 -55
  122. package/src/completions/exit-code.ts +0 -34
  123. package/src/completions/file-exists.ts +0 -66
  124. package/src/completions/output-check.test.ts +0 -50
  125. package/src/completions/output-check.ts +0 -92
  126. package/src/config-ops.test.ts +0 -70
  127. package/src/config-ops.ts +0 -328
  128. package/src/config.ts +0 -26
  129. package/src/core/dataflow.test.ts +0 -166
  130. package/src/core/dataflow.ts +0 -161
  131. package/src/core/log-prune.test.ts +0 -58
  132. package/src/core/log-prune.ts +0 -43
  133. package/src/core/preflight.test.ts +0 -49
  134. package/src/core/preflight.ts +0 -89
  135. package/src/core/run-context.test.ts +0 -291
  136. package/src/core/run-context.ts +0 -211
  137. package/src/core/run-state.test.ts +0 -98
  138. package/src/core/run-state.ts +0 -122
  139. package/src/core/scheduler.test.ts +0 -83
  140. package/src/core/scheduler.ts +0 -42
  141. package/src/core/task-executor.ts +0 -752
  142. package/src/core/trigger-errors.ts +0 -15
  143. package/src/dag.test.ts +0 -56
  144. package/src/dag.ts +0 -245
  145. package/src/drivers/opencode.ts +0 -410
  146. package/src/engine-ports-mixed.test.ts +0 -182
  147. package/src/engine-ports.test.ts +0 -210
  148. package/src/engine-task-type.test.ts +0 -56
  149. package/src/engine.ts +0 -32
  150. package/src/hooks.ts +0 -193
  151. package/src/index.ts +0 -31
  152. package/src/logger.ts +0 -2
  153. package/src/middlewares/static-context.ts +0 -49
  154. package/src/package-split.test.ts +0 -15
  155. package/src/pipeline-definition.ts +0 -5
  156. package/src/pipeline-runner.test.ts +0 -144
  157. package/src/pipeline-runner.ts +0 -194
  158. package/src/plugin-registry.test.ts +0 -448
  159. package/src/plugins.ts +0 -21
  160. package/src/ports.test.ts +0 -678
  161. package/src/ports.ts +0 -925
  162. package/src/prompt-doc.test.ts +0 -174
  163. package/src/prompt-doc.ts +0 -169
  164. package/src/registry.ts +0 -7
  165. package/src/runner.test.ts +0 -142
  166. package/src/runner.ts +0 -1
  167. package/src/runtime/adapters/stdin-approval.ts +0 -1
  168. package/src/runtime/adapters/websocket-approval.ts +0 -1
  169. package/src/runtime/bun-process-runner.ts +0 -1
  170. package/src/runtime-adapters.test.ts +0 -10
  171. package/src/runtime.ts +0 -12
  172. package/src/schema-ports.test.ts +0 -172
  173. package/src/schema.test.ts +0 -213
  174. package/src/schema.ts +0 -379
  175. package/src/tagma.test.ts +0 -317
  176. package/src/tagma.ts +0 -67
  177. package/src/task-ref.test.ts +0 -401
  178. package/src/task-ref.ts +0 -121
  179. package/src/triggers/file.test.ts +0 -79
  180. package/src/triggers/file.ts +0 -131
  181. package/src/triggers/manual.ts +0 -86
  182. package/src/types.ts +0 -18
  183. package/src/utils-api.ts +0 -8
  184. package/src/utils.test.ts +0 -28
  185. package/src/utils.ts +0 -203
  186. package/src/validate-raw-plugin-types.test.ts +0 -60
  187. package/src/validate-raw-ports.test.ts +0 -136
  188. package/src/validate-raw.ts +0 -852
  189. package/src/yaml-compiler.test.ts +0 -108
  190. package/src/yaml-compiler.ts +0 -110
  191. package/src/yaml.ts +0 -11
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-executor.js","sourceRoot":"","sources":["../../src/core/task-executor.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export declare class TriggerBlockedError extends Error {
2
- readonly code: "TRIGGER_BLOCKED";
3
- constructor(message: string);
4
- }
5
- export declare class TriggerTimeoutError extends Error {
6
- readonly code: "TRIGGER_TIMEOUT";
7
- constructor(message: string);
8
- }
9
- //# sourceMappingURL=trigger-errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trigger-errors.d.ts","sourceRoot":"","sources":["../../src/core/trigger-errors.ts"],"names":[],"mappings":"AAAA,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"}
@@ -1,15 +0,0 @@
1
- export class TriggerBlockedError extends Error {
2
- code = 'TRIGGER_BLOCKED';
3
- constructor(message) {
4
- super(message);
5
- this.name = 'TriggerBlockedError';
6
- }
7
- }
8
- export class TriggerTimeoutError extends Error {
9
- code = 'TRIGGER_TIMEOUT';
10
- constructor(message) {
11
- super(message);
12
- this.name = 'TriggerTimeoutError';
13
- }
14
- }
15
- //# sourceMappingURL=trigger-errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trigger-errors.js","sourceRoot":"","sources":["../../src/core/trigger-errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACnC,IAAI,GAAG,iBAA0B,CAAC;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACnC,IAAI,GAAG,iBAA0B,CAAC;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF"}
package/dist/dag.d.ts DELETED
@@ -1,45 +0,0 @@
1
- import type { PipelineConfig, RawPipelineConfig, RawTaskConfig, TaskConfig, TrackConfig } from './types';
2
- export interface DagNode {
3
- readonly taskId: string;
4
- readonly task: TaskConfig;
5
- readonly track: TrackConfig;
6
- readonly dependsOn: readonly string[];
7
- /**
8
- * H1: `task.continue_from` may be written by users as a bare task id
9
- * (e.g. `review`) or a same-track shorthand. The driver needs the
10
- * fully-qualified upstream id to look up output/session/normalized maps
11
- * deterministically — bare lookups race when two tracks happen to share
12
- * a task name. dag.ts performs the qualification once, here, so the
13
- * engine never has to.
14
- */
15
- readonly resolvedContinueFrom?: string;
16
- }
17
- export interface Dag {
18
- readonly nodes: ReadonlyMap<string, DagNode>;
19
- readonly sorted: readonly string[];
20
- }
21
- export declare function buildDag(config: PipelineConfig): Dag;
22
- export interface RawDagNode {
23
- readonly taskId: string;
24
- readonly trackId: string;
25
- readonly rawTask: RawTaskConfig;
26
- readonly dependsOn: readonly string[];
27
- }
28
- export interface RawDag {
29
- readonly nodes: ReadonlyMap<string, RawDagNode>;
30
- /** Directed edges: from → to means "from must complete before to starts" */
31
- readonly edges: readonly {
32
- readonly from: string;
33
- readonly to: string;
34
- }[];
35
- }
36
- /**
37
- * Build a lightweight DAG from a raw (unresolved) pipeline config.
38
- * Unlike buildDag, this function:
39
- * - Does not require a workDir or resolved PipelineConfig
40
- * - Is lenient: missing or ambiguous refs are silently skipped
41
- *
42
- * Intended for the visual editor to render the flow graph before a pipeline is run.
43
- */
44
- export declare function buildRawDag(config: RawPipelineConfig): RawDag;
45
- //# sourceMappingURL=dag.d.ts.map
package/dist/dag.d.ts.map DELETED
@@ -1 +0,0 @@
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,CA4IpD;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 DELETED
@@ -1,177 +0,0 @@
1
- import { buildTaskIndex, qualifyTaskId, resolveTaskRef } from './task-ref';
2
- export function buildDag(config) {
3
- const nodes = new Map();
4
- // 1. Register all nodes. Duplicates throw — same-track task-id collisions
5
- // would otherwise silently overwrite one another in the DAG.
6
- for (const track of config.tracks) {
7
- for (const task of track.tasks) {
8
- const qid = qualifyTaskId(track.id, task.id);
9
- if (nodes.has(qid)) {
10
- throw new Error(`Duplicate task ID: "${qid}"`);
11
- }
12
- nodes.set(qid, {
13
- taskId: qid,
14
- task,
15
- track,
16
- dependsOn: [], // filled below
17
- });
18
- }
19
- }
20
- // Shared index for ref resolution — same code path validate-raw uses.
21
- const index = buildTaskIndex(config);
22
- function resolveRef(ref, fromTrackId) {
23
- const result = resolveTaskRef(ref, fromTrackId, index);
24
- if (result.kind === 'ambiguous') {
25
- throw new Error(`Ambiguous task reference "${ref}" exists in multiple tracks. ` +
26
- `Use "track_id.task_id" format.`);
27
- }
28
- if (result.kind === 'not_found') {
29
- throw new Error(`Task reference "${ref}" not found`);
30
- }
31
- return result.qid;
32
- }
33
- // 2. Resolve depends_on and continue_from to qualified IDs
34
- for (const track of config.tracks) {
35
- for (const task of track.tasks) {
36
- const qid = qualifyTaskId(track.id, task.id);
37
- const deps = [];
38
- let resolvedContinueFrom;
39
- if (task.depends_on) {
40
- for (const dep of task.depends_on) {
41
- deps.push(resolveRef(dep, track.id));
42
- }
43
- }
44
- if (task.continue_from) {
45
- // Preserve the ambiguous-vs-not-found distinction in the user-facing
46
- // error: rewording "ambiguous" as "no such task found" (the previous
47
- // behavior) hid the real problem and sent users searching for a
48
- // missing task that actually existed in two places.
49
- const result = resolveTaskRef(task.continue_from, track.id, index);
50
- if (result.kind === 'ambiguous') {
51
- throw new Error(`Task "${qid}": continue_from "${task.continue_from}" is ambiguous — ` +
52
- `multiple tracks have a task with this id. Use the fully-qualified ` +
53
- `form "trackId.${task.continue_from}".`);
54
- }
55
- if (result.kind === 'not_found') {
56
- throw new Error(`Task "${qid}": continue_from "${task.continue_from}" — no such task found. ` +
57
- `Use a fully-qualified reference (trackId.taskId) or ensure the target task exists.`);
58
- }
59
- resolvedContinueFrom = result.qid;
60
- if (!deps.includes(result.qid)) {
61
- deps.push(result.qid); // continue_from implies dependency
62
- }
63
- }
64
- // Replace node with resolved deps + qualified continue_from.
65
- const node = nodes.get(qid);
66
- nodes.set(qid, { ...node, dependsOn: deps, resolvedContinueFrom });
67
- }
68
- }
69
- // 3. Topological sort + cycle detection (Kahn's algorithm)
70
- const inDegree = new Map();
71
- const adjacency = new Map(); // parent → children
72
- for (const [id] of nodes) {
73
- inDegree.set(id, 0);
74
- adjacency.set(id, []);
75
- }
76
- for (const [id, node] of nodes) {
77
- for (const dep of node.dependsOn) {
78
- adjacency.get(dep).push(id);
79
- inDegree.set(id, (inDegree.get(id) ?? 0) + 1);
80
- }
81
- }
82
- // D20: deterministic topo order. Kahn's algorithm dequeues in insertion
83
- // order by default, which depends on map iteration order — itself a
84
- // function of the (track, task) order in the YAML. Two pipelines that
85
- // are DAG-equivalent but written in a different order produced different
86
- // `sorted` arrays, leading to subtle run-to-run non-determinism for
87
- // parallel tasks with side effects (writing the same file, touching the
88
- // same repo). Break the tie by qualified id so identical DAG shapes
89
- // always yield identical schedules across machines and across YAML
90
- // round-trips.
91
- const ready = [];
92
- for (const [id, degree] of inDegree) {
93
- if (degree === 0)
94
- ready.push(id);
95
- }
96
- ready.sort();
97
- const sorted = [];
98
- let qi = 0;
99
- while (qi < ready.length) {
100
- const current = ready[qi++];
101
- sorted.push(current);
102
- // Collect children whose in-degree hits zero in this step, then push
103
- // them into the ready bucket in sorted order — keeps each "wave" of
104
- // parallel-eligible tasks ordered by qid.
105
- const newlyReady = [];
106
- for (const child of adjacency.get(current)) {
107
- const newDegree = inDegree.get(child) - 1;
108
- inDegree.set(child, newDegree);
109
- if (newDegree === 0)
110
- newlyReady.push(child);
111
- }
112
- if (newlyReady.length > 1)
113
- newlyReady.sort();
114
- for (const child of newlyReady)
115
- ready.push(child);
116
- }
117
- if (sorted.length !== nodes.size) {
118
- // Only report nodes that are actually part of cycles (in-degree > 0
119
- // after Kahn's algorithm), not their downstream dependents.
120
- const sortedSet = new Set(sorted);
121
- const cycleMembers = [...nodes.keys()].filter((id) => !sortedSet.has(id) && (inDegree.get(id) ?? 0) > 0);
122
- throw new Error(`Circular dependency detected involving tasks: ${cycleMembers.join(', ')}`);
123
- }
124
- return { nodes, sorted };
125
- }
126
- /**
127
- * Build a lightweight DAG from a raw (unresolved) pipeline config.
128
- * Unlike buildDag, this function:
129
- * - Does not require a workDir or resolved PipelineConfig
130
- * - Is lenient: missing or ambiguous refs are silently skipped
131
- *
132
- * Intended for the visual editor to render the flow graph before a pipeline is run.
133
- */
134
- export function buildRawDag(config) {
135
- const nodes = new Map();
136
- // 1. Register all concrete tasks. Duplicates are skipped (not thrown) so
137
- // partially-typed editor state doesn't produce a hard error.
138
- for (const track of config.tracks) {
139
- for (const task of track.tasks) {
140
- const qid = qualifyTaskId(track.id, task.id);
141
- if (nodes.has(qid))
142
- continue;
143
- nodes.set(qid, { taskId: qid, trackId: track.id, rawTask: task, dependsOn: [] });
144
- }
145
- }
146
- const index = buildTaskIndex(config);
147
- function tryResolve(ref, fromTrackId) {
148
- const result = resolveTaskRef(ref, fromTrackId, index);
149
- return result.kind === 'resolved' ? result.qid : null;
150
- }
151
- // 2. Resolve dependency refs leniently (missing / ambiguous refs are skipped)
152
- const edges = [];
153
- for (const track of config.tracks) {
154
- for (const task of track.tasks) {
155
- const qid = qualifyTaskId(track.id, task.id);
156
- const deps = [];
157
- for (const ref of task.depends_on ?? []) {
158
- const resolved = tryResolve(ref, track.id);
159
- if (resolved && !deps.includes(resolved)) {
160
- deps.push(resolved);
161
- edges.push({ from: resolved, to: qid });
162
- }
163
- }
164
- if (task.continue_from) {
165
- const resolved = tryResolve(task.continue_from, track.id);
166
- if (resolved && !deps.includes(resolved)) {
167
- deps.push(resolved);
168
- edges.push({ from: resolved, to: qid });
169
- }
170
- }
171
- const node = nodes.get(qid);
172
- nodes.set(qid, { ...node, dependsOn: deps });
173
- }
174
- }
175
- return { nodes, edges };
176
- }
177
- //# sourceMappingURL=dag.js.map
package/dist/dag.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"dag.js","sourceRoot":"","sources":["../src/dag.ts"],"names":[],"mappings":"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"}
package/dist/hooks.d.ts DELETED
@@ -1,73 +0,0 @@
1
- import type { HooksConfig, AbortReason } from './types';
2
- type HookEvent = 'pipeline_start' | 'task_start' | 'task_success' | 'task_failure' | 'pipeline_complete' | 'pipeline_error';
3
- export interface HookResult {
4
- readonly allowed: boolean;
5
- readonly exitCode: number;
6
- }
7
- export declare function executeHook(hooks: HooksConfig | undefined, event: HookEvent, context: unknown, workDir?: string, signal?: AbortSignal): Promise<HookResult>;
8
- export interface PipelineInfo {
9
- readonly name: string;
10
- readonly run_id: string;
11
- readonly started_at: string;
12
- readonly finished_at?: string;
13
- readonly duration_ms?: number;
14
- }
15
- export interface TrackInfo {
16
- readonly id: string;
17
- readonly name: string;
18
- }
19
- export interface TaskInfo {
20
- readonly id: string;
21
- readonly name: string;
22
- readonly type: 'ai' | 'command';
23
- readonly status: string;
24
- readonly exit_code: number | null;
25
- readonly duration_ms: number | null;
26
- readonly stderr_path: string | null;
27
- readonly session_id: string | null;
28
- readonly started_at: string | null;
29
- readonly finished_at: string | null;
30
- }
31
- export declare function buildPipelineStartContext(pipeline: PipelineInfo): {
32
- event: string;
33
- pipeline: PipelineInfo;
34
- };
35
- export declare function buildTaskContext(event: 'task_start' | 'task_success' | 'task_failure', pipeline: PipelineInfo, track: TrackInfo, task: TaskInfo): {
36
- event: "task_start" | "task_success" | "task_failure";
37
- pipeline: PipelineInfo;
38
- track: TrackInfo;
39
- task: TaskInfo;
40
- };
41
- export declare function buildPipelineCompleteContext(pipeline: PipelineInfo & {
42
- finished_at: string;
43
- duration_ms: number;
44
- }, summary: {
45
- total: number;
46
- success: number;
47
- failed: number;
48
- skipped: number;
49
- timeout: number;
50
- blocked: number;
51
- }): {
52
- event: string;
53
- pipeline: PipelineInfo & {
54
- finished_at: string;
55
- duration_ms: number;
56
- };
57
- summary: {
58
- total: number;
59
- success: number;
60
- failed: number;
61
- skipped: number;
62
- timeout: number;
63
- blocked: number;
64
- };
65
- };
66
- export declare function buildPipelineErrorContext(pipeline: PipelineInfo, error: string, eventType?: string, abortReason?: AbortReason): {
67
- abort_reason?: AbortReason | undefined;
68
- event: string;
69
- pipeline: PipelineInfo;
70
- error: string;
71
- };
72
- export {};
73
- //# sourceMappingURL=hooks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,WAAW,EAAE,MAAM,SAAS,CAAC;AAGrE,KAAK,SAAS,GACV,gBAAgB,GAChB,YAAY,GACZ,cAAc,GACd,cAAc,GACd,mBAAmB,GACnB,gBAAgB,CAAC;AAIrB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AA8ED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,WAAW,GAAG,SAAS,EAC9B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAuBrB;AAID,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,YAAY;;;EAE/D;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,GAAG,cAAc,GAAG,cAAc,EACrD,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,QAAQ;;;;;EAGf;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,YAAY,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EACrE,OAAO,EAAE;IACP,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;;;qBARuC,MAAM;qBAAe,MAAM;;;eAE1D,MAAM;iBACJ,MAAM;gBACP,MAAM;iBACL,MAAM;iBACN,MAAM;iBACN,MAAM;;EAIlB;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,WAAW;;;;;EAQ1B"}
package/dist/hooks.js DELETED
@@ -1,106 +0,0 @@
1
- import { shellArgs } from './utils';
2
- const GATE_HOOKS = new Set(['pipeline_start', 'task_start']);
3
- function normalizeCommands(cmd) {
4
- if (!cmd)
5
- return [];
6
- if (typeof cmd === 'string')
7
- return [cmd];
8
- return cmd;
9
- }
10
- const DEFAULT_HOOK_TIMEOUT_MS = 30_000;
11
- async function runSingleHook(command, context, cwd, signal, timeoutMs = DEFAULT_HOOK_TIMEOUT_MS) {
12
- const jsonInput = JSON.stringify(context, null, 2);
13
- const controller = new AbortController();
14
- const timer = timeoutMs > 0 ? setTimeout(() => controller.abort(), timeoutMs) : null;
15
- // Wire pipeline abort signal into hook process
16
- const onAbort = () => controller.abort();
17
- if (signal) {
18
- if (signal.aborted) {
19
- controller.abort();
20
- }
21
- else {
22
- signal.addEventListener('abort', onAbort, { once: true });
23
- }
24
- }
25
- try {
26
- const proc = Bun.spawn(shellArgs(command), {
27
- stdin: 'pipe',
28
- stdout: 'pipe',
29
- stderr: 'pipe',
30
- signal: controller.signal,
31
- ...(cwd ? { cwd } : {}),
32
- });
33
- if (proc.stdin) {
34
- try {
35
- proc.stdin.write(jsonInput);
36
- proc.stdin.end();
37
- }
38
- catch {
39
- // Process may exit before reading stdin (e.g. `exit 1`), ignore EPIPE
40
- }
41
- }
42
- // Consume stdout and stderr concurrently with waiting for exit.
43
- // Sequential reads after proc.exited risk a pipe-buffer deadlock when
44
- // hook output exceeds the ~64 KB kernel buffer.
45
- const [exitCode, stdout, stderr] = await Promise.all([
46
- proc.exited,
47
- new Response(proc.stdout).text(),
48
- new Response(proc.stderr).text(),
49
- ]);
50
- if (stdout.trim()) {
51
- console.warn(`[hook: ${command}] stdout: ${stdout.trim()}`);
52
- }
53
- if (stderr.trim()) {
54
- console.error(`[hook: ${command}] stderr: ${stderr.trim()}`);
55
- }
56
- return exitCode;
57
- }
58
- catch (err) {
59
- console.error(`[hook: ${command}] spawn error: ${err instanceof Error ? err.message : String(err)}`);
60
- return -1;
61
- }
62
- finally {
63
- if (timer)
64
- clearTimeout(timer);
65
- if (signal)
66
- signal.removeEventListener('abort', onAbort);
67
- }
68
- }
69
- export async function executeHook(hooks, event, context, workDir, signal) {
70
- if (!hooks)
71
- return { allowed: true, exitCode: 0 };
72
- const commands = normalizeCommands(hooks[event]);
73
- if (commands.length === 0)
74
- return { allowed: true, exitCode: 0 };
75
- const isGate = GATE_HOOKS.has(event);
76
- for (const cmd of commands) {
77
- const exitCode = await runSingleHook(cmd, context, workDir, signal);
78
- if (isGate && exitCode === 1) {
79
- // Only exit code 1 has gate semantics (block execution)
80
- return { allowed: false, exitCode };
81
- }
82
- if (exitCode !== 0) {
83
- // Non-zero but not 1: hook itself had an error, log but don't block
84
- console.warn(`[hook: ${event}] "${cmd}" exited with code ${exitCode}`);
85
- }
86
- }
87
- return { allowed: true, exitCode: 0 };
88
- }
89
- export function buildPipelineStartContext(pipeline) {
90
- return { event: 'pipeline_start', pipeline };
91
- }
92
- export function buildTaskContext(event, pipeline, track, task) {
93
- return { event, pipeline, track, task };
94
- }
95
- export function buildPipelineCompleteContext(pipeline, summary) {
96
- return { event: 'pipeline_complete', pipeline, summary };
97
- }
98
- export function buildPipelineErrorContext(pipeline, error, eventType, abortReason) {
99
- return {
100
- event: eventType ?? 'pipeline_error',
101
- pipeline,
102
- error,
103
- ...(abortReason !== undefined ? { abort_reason: abortReason } : {}),
104
- };
105
- }
106
- //# sourceMappingURL=hooks.js.map
package/dist/hooks.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { RawPipelineConfig } from './types';
2
- export declare function definePipeline<T extends RawPipelineConfig>(pipeline: T): T;
3
- //# sourceMappingURL=pipeline-definition.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipeline-definition.d.ts","sourceRoot":"","sources":["../src/pipeline-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,wBAAgB,cAAc,CAAC,CAAC,SAAS,iBAAiB,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAE1E"}
@@ -1,4 +0,0 @@
1
- export function definePipeline(pipeline) {
2
- return pipeline;
3
- }
4
- //# sourceMappingURL=pipeline-definition.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipeline-definition.js","sourceRoot":"","sources":["../src/pipeline-definition.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAA8B,QAAW;IACrE,OAAO,QAAQ,CAAC;AAClB,CAAC"}