@tagma/sdk 0.7.3 → 0.7.5

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 (230) hide show
  1. package/README.md +85 -57
  2. package/dist/approval.d.ts +2 -12
  3. package/dist/approval.d.ts.map +1 -1
  4. package/dist/approval.js +1 -90
  5. package/dist/approval.js.map +1 -1
  6. package/dist/bootstrap.d.ts +1 -1
  7. package/dist/bootstrap.d.ts.map +1 -1
  8. package/dist/completions/file-exists.js +1 -1
  9. package/dist/completions/file-exists.js.map +1 -1
  10. package/dist/completions/output-check.d.ts.map +1 -1
  11. package/dist/completions/output-check.js +17 -4
  12. package/dist/completions/output-check.js.map +1 -1
  13. package/dist/config.d.ts +4 -4
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +2 -2
  16. package/dist/config.js.map +1 -1
  17. package/dist/dataflow.d.ts +3 -0
  18. package/dist/dataflow.d.ts.map +1 -0
  19. package/dist/dataflow.js +2 -0
  20. package/dist/dataflow.js.map +1 -0
  21. package/dist/drivers/opencode.d.ts.map +1 -1
  22. package/dist/drivers/opencode.js +23 -71
  23. package/dist/drivers/opencode.js.map +1 -1
  24. package/dist/engine.d.ts +5 -56
  25. package/dist/engine.d.ts.map +1 -1
  26. package/dist/engine.js +7 -297
  27. package/dist/engine.js.map +1 -1
  28. package/dist/index.d.ts +4 -6
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +2 -4
  31. package/dist/index.js.map +1 -1
  32. package/dist/logger.d.ts +2 -60
  33. package/dist/logger.d.ts.map +1 -1
  34. package/dist/logger.js +1 -153
  35. package/dist/logger.js.map +1 -1
  36. package/dist/middlewares/static-context.d.ts.map +1 -1
  37. package/dist/middlewares/static-context.js +1 -2
  38. package/dist/middlewares/static-context.js.map +1 -1
  39. package/dist/pipeline-runner.d.ts.map +1 -1
  40. package/dist/pipeline-runner.js +2 -2
  41. package/dist/pipeline-runner.js.map +1 -1
  42. package/dist/plugins.d.ts +2 -2
  43. package/dist/plugins.d.ts.map +1 -1
  44. package/dist/plugins.js +1 -1
  45. package/dist/plugins.js.map +1 -1
  46. package/dist/runner.d.ts +1 -35
  47. package/dist/runner.d.ts.map +1 -1
  48. package/dist/runner.js +1 -610
  49. package/dist/runner.js.map +1 -1
  50. package/dist/runtime/adapters/stdin-approval.d.ts +2 -0
  51. package/dist/runtime/adapters/stdin-approval.d.ts.map +1 -0
  52. package/dist/runtime/adapters/stdin-approval.js +2 -0
  53. package/dist/runtime/adapters/stdin-approval.js.map +1 -0
  54. package/dist/runtime/adapters/websocket-approval.d.ts +2 -0
  55. package/dist/runtime/adapters/websocket-approval.d.ts.map +1 -0
  56. package/dist/runtime/adapters/websocket-approval.js +2 -0
  57. package/dist/runtime/adapters/websocket-approval.js.map +1 -0
  58. package/dist/runtime/bun-process-runner.d.ts +2 -0
  59. package/dist/runtime/bun-process-runner.d.ts.map +1 -0
  60. package/dist/runtime/bun-process-runner.js +2 -0
  61. package/dist/runtime/bun-process-runner.js.map +1 -0
  62. package/dist/runtime.d.ts +2 -8
  63. package/dist/runtime.d.ts.map +1 -1
  64. package/dist/runtime.js +1 -7
  65. package/dist/runtime.js.map +1 -1
  66. package/dist/schema.d.ts.map +1 -1
  67. package/dist/schema.js +3 -4
  68. package/dist/schema.js.map +1 -1
  69. package/dist/tagma.d.ts +3 -4
  70. package/dist/tagma.d.ts.map +1 -1
  71. package/dist/tagma.js +2 -3
  72. package/dist/tagma.js.map +1 -1
  73. package/dist/triggers/file.d.ts.map +1 -1
  74. package/dist/triggers/file.js +74 -108
  75. package/dist/triggers/file.js.map +1 -1
  76. package/dist/triggers/manual.d.ts.map +1 -1
  77. package/dist/triggers/manual.js +1 -2
  78. package/dist/triggers/manual.js.map +1 -1
  79. package/dist/types.d.ts +1 -2
  80. package/dist/types.d.ts.map +1 -1
  81. package/dist/types.js +1 -12
  82. package/dist/types.js.map +1 -1
  83. package/dist/utils-api.d.ts +1 -1
  84. package/dist/utils-api.d.ts.map +1 -1
  85. package/dist/utils-api.js +1 -1
  86. package/dist/utils-api.js.map +1 -1
  87. package/dist/validate-raw.d.ts.map +1 -1
  88. package/dist/validate-raw.js +5 -12
  89. package/dist/validate-raw.js.map +1 -1
  90. package/package.json +20 -22
  91. package/dist/adapters/stdin-approval.d.ts +0 -6
  92. package/dist/adapters/stdin-approval.d.ts.map +0 -1
  93. package/dist/adapters/stdin-approval.js +0 -90
  94. package/dist/adapters/stdin-approval.js.map +0 -1
  95. package/dist/adapters/websocket-approval.d.ts +0 -28
  96. package/dist/adapters/websocket-approval.d.ts.map +0 -1
  97. package/dist/adapters/websocket-approval.js +0 -147
  98. package/dist/adapters/websocket-approval.js.map +0 -1
  99. package/dist/core/dataflow.d.ts +0 -23
  100. package/dist/core/dataflow.d.ts.map +0 -1
  101. package/dist/core/dataflow.js +0 -99
  102. package/dist/core/dataflow.js.map +0 -1
  103. package/dist/core/log-prune.d.ts +0 -16
  104. package/dist/core/log-prune.d.ts.map +0 -1
  105. package/dist/core/log-prune.js +0 -34
  106. package/dist/core/log-prune.js.map +0 -1
  107. package/dist/core/preflight.d.ts +0 -13
  108. package/dist/core/preflight.d.ts.map +0 -1
  109. package/dist/core/preflight.js +0 -61
  110. package/dist/core/preflight.js.map +0 -1
  111. package/dist/core/run-context.d.ts +0 -55
  112. package/dist/core/run-context.d.ts.map +0 -1
  113. package/dist/core/run-context.js +0 -158
  114. package/dist/core/run-context.js.map +0 -1
  115. package/dist/core/run-state.d.ts +0 -25
  116. package/dist/core/run-state.d.ts.map +0 -1
  117. package/dist/core/run-state.js +0 -93
  118. package/dist/core/run-state.js.map +0 -1
  119. package/dist/core/scheduler.d.ts +0 -13
  120. package/dist/core/scheduler.d.ts.map +0 -1
  121. package/dist/core/scheduler.js +0 -35
  122. package/dist/core/scheduler.js.map +0 -1
  123. package/dist/core/task-executor.d.ts +0 -13
  124. package/dist/core/task-executor.d.ts.map +0 -1
  125. package/dist/core/task-executor.js +0 -601
  126. package/dist/core/task-executor.js.map +0 -1
  127. package/dist/core/trigger-errors.d.ts +0 -9
  128. package/dist/core/trigger-errors.d.ts.map +0 -1
  129. package/dist/core/trigger-errors.js +0 -15
  130. package/dist/core/trigger-errors.js.map +0 -1
  131. package/dist/dag.d.ts +0 -45
  132. package/dist/dag.d.ts.map +0 -1
  133. package/dist/dag.js +0 -177
  134. package/dist/dag.js.map +0 -1
  135. package/dist/hooks.d.ts +0 -73
  136. package/dist/hooks.d.ts.map +0 -1
  137. package/dist/hooks.js +0 -106
  138. package/dist/hooks.js.map +0 -1
  139. package/dist/pipeline-definition.d.ts +0 -3
  140. package/dist/pipeline-definition.d.ts.map +0 -1
  141. package/dist/pipeline-definition.js +0 -4
  142. package/dist/pipeline-definition.js.map +0 -1
  143. package/dist/ports.d.ts +0 -196
  144. package/dist/ports.d.ts.map +0 -1
  145. package/dist/ports.js +0 -688
  146. package/dist/ports.js.map +0 -1
  147. package/dist/prompt-doc.d.ts +0 -70
  148. package/dist/prompt-doc.d.ts.map +0 -1
  149. package/dist/prompt-doc.js +0 -154
  150. package/dist/prompt-doc.js.map +0 -1
  151. package/dist/registry.d.ts +0 -67
  152. package/dist/registry.d.ts.map +0 -1
  153. package/dist/registry.js +0 -293
  154. package/dist/registry.js.map +0 -1
  155. package/dist/task-ref.d.ts +0 -55
  156. package/dist/task-ref.d.ts.map +0 -1
  157. package/dist/task-ref.js +0 -103
  158. package/dist/task-ref.js.map +0 -1
  159. package/dist/utils.d.ts +0 -13
  160. package/dist/utils.d.ts.map +0 -1
  161. package/dist/utils.js +0 -177
  162. package/dist/utils.js.map +0 -1
  163. package/src/adapters/stdin-approval.ts +0 -106
  164. package/src/adapters/websocket-approval.ts +0 -224
  165. package/src/approval.ts +0 -131
  166. package/src/bootstrap.ts +0 -55
  167. package/src/completions/exit-code.ts +0 -34
  168. package/src/completions/file-exists.ts +0 -66
  169. package/src/completions/output-check.test.ts +0 -50
  170. package/src/completions/output-check.ts +0 -92
  171. package/src/config-ops.test.ts +0 -70
  172. package/src/config-ops.ts +0 -328
  173. package/src/config.ts +0 -26
  174. package/src/core/dataflow.test.ts +0 -166
  175. package/src/core/dataflow.ts +0 -161
  176. package/src/core/log-prune.test.ts +0 -58
  177. package/src/core/log-prune.ts +0 -43
  178. package/src/core/preflight.test.ts +0 -49
  179. package/src/core/preflight.ts +0 -89
  180. package/src/core/run-context.test.ts +0 -256
  181. package/src/core/run-context.ts +0 -211
  182. package/src/core/run-state.test.ts +0 -98
  183. package/src/core/run-state.ts +0 -122
  184. package/src/core/scheduler.test.ts +0 -83
  185. package/src/core/scheduler.ts +0 -42
  186. package/src/core/task-executor.ts +0 -743
  187. package/src/core/trigger-errors.ts +0 -15
  188. package/src/dag.test.ts +0 -56
  189. package/src/dag.ts +0 -245
  190. package/src/drivers/opencode.ts +0 -410
  191. package/src/engine-ports-mixed.test.ts +0 -156
  192. package/src/engine-ports.test.ts +0 -166
  193. package/src/engine-task-type.test.ts +0 -56
  194. package/src/engine.ts +0 -458
  195. package/src/hooks.ts +0 -193
  196. package/src/index.ts +0 -33
  197. package/src/logger.ts +0 -182
  198. package/src/middlewares/static-context.ts +0 -49
  199. package/src/pipeline-definition.ts +0 -5
  200. package/src/pipeline-runner.test.ts +0 -91
  201. package/src/pipeline-runner.ts +0 -194
  202. package/src/plugin-registry.test.ts +0 -382
  203. package/src/plugins.ts +0 -21
  204. package/src/ports.test.ts +0 -678
  205. package/src/ports.ts +0 -925
  206. package/src/prompt-doc.test.ts +0 -174
  207. package/src/prompt-doc.ts +0 -169
  208. package/src/registry.ts +0 -353
  209. package/src/runner.test.ts +0 -142
  210. package/src/runner.ts +0 -666
  211. package/src/runtime.ts +0 -20
  212. package/src/schema-ports.test.ts +0 -172
  213. package/src/schema.test.ts +0 -213
  214. package/src/schema.ts +0 -379
  215. package/src/tagma.test.ts +0 -155
  216. package/src/tagma.ts +0 -62
  217. package/src/task-ref.test.ts +0 -401
  218. package/src/task-ref.ts +0 -121
  219. package/src/triggers/file.ts +0 -164
  220. package/src/triggers/manual.ts +0 -86
  221. package/src/types.ts +0 -18
  222. package/src/utils-api.ts +0 -8
  223. package/src/utils.test.ts +0 -28
  224. package/src/utils.ts +0 -203
  225. package/src/validate-raw-plugin-types.test.ts +0 -60
  226. package/src/validate-raw-ports.test.ts +0 -136
  227. package/src/validate-raw.ts +0 -852
  228. package/src/yaml-compiler.test.ts +0 -108
  229. package/src/yaml-compiler.ts +0 -110
  230. package/src/yaml.ts +0 -11
package/dist/ports.d.ts DELETED
@@ -1,196 +0,0 @@
1
- import type { PortDef, PortType, TaskConfig, TaskOutputBindings, TaskPorts } from './types';
2
- /**
3
- * Scan `text` for every `{{inputs.<name>}}` placeholder and return the
4
- * set of referenced input names. Useful at validation time: the editor
5
- * can cross-check that each placeholder has a corresponding declared
6
- * port and flag typos before a run ever starts.
7
- */
8
- export declare function extractInputReferences(text: string): string[];
9
- export interface SubstituteResult {
10
- readonly text: string;
11
- /** Port names that appeared in placeholders but weren't in `inputs`. */
12
- readonly unresolved: readonly string[];
13
- }
14
- /**
15
- * Replace `{{inputs.<name>}}` placeholders in `text` with values from
16
- * `inputs`. Coercion:
17
- * - string → as-is
18
- * - number / boolean → `String(value)`
19
- * - null / undefined → empty string (name is also reported as unresolved)
20
- * - anything else (object, array, json port) → `JSON.stringify(value)`
21
- *
22
- * Values are substituted *verbatim* — quoting is the user's
23
- * responsibility in the authored text. For command lines that interpolate
24
- * user-provided strings, authors should wrap the placeholder in quotes:
25
- *
26
- * weather.sh --city "{{inputs.city}}"
27
- *
28
- * That's a documented contract rather than a silent shell-escape, because
29
- * silent escaping would hide the difference between `--city Shanghai` and
30
- * `--flag $(echo pwned)` — both valid command fragments, one a bug, one a
31
- * feature. Users know which they want; the engine doesn't.
32
- */
33
- export declare function substituteInputs(text: string, inputs: Readonly<Record<string, unknown>>): SubstituteResult;
34
- export type InputResolution = {
35
- readonly kind: 'ready';
36
- readonly inputs: Readonly<Record<string, unknown>>;
37
- /**
38
- * Optional inputs that had no upstream producer and no default;
39
- * they are absent from `inputs` (so placeholders render empty).
40
- * Separate from `missingRequired` so the engine can log softly
41
- * without blocking the task.
42
- */
43
- readonly missingOptional: readonly string[];
44
- } | {
45
- readonly kind: 'blocked';
46
- /** Required port names that could not be satisfied. */
47
- readonly missingRequired: readonly string[];
48
- /** Port names with multiple ambiguous producers. */
49
- readonly ambiguous: readonly {
50
- port: string;
51
- producers: readonly string[];
52
- }[];
53
- /** Port names whose resolved value failed type coercion. */
54
- readonly typeErrors: readonly {
55
- port: string;
56
- reason: string;
57
- }[];
58
- /** Human-readable multi-line description for the engine to log. */
59
- readonly reason: string;
60
- };
61
- /**
62
- * Resolve the input values for `task` from the outputs its direct
63
- * upstreams produced.
64
- *
65
- * `upstreamOutputs` is keyed by fully-qualified task id and maps to the
66
- * outputs that task published (its `TaskResult.outputs`). `dependsOn` is
67
- * the already-qualified dependency list (from `DagNode.dependsOn`). When
68
- * an upstream has no outputs entry (e.g. it didn't declare any or it
69
- * failed), its entry may be missing — we just skip it during matching.
70
- *
71
- * Matching rules:
72
- * - If the input port has `from: "taskId.portName"` → look up that
73
- * specific upstream / port. Missing = unsatisfied.
74
- * - If it has `from: "portName"` (bare) → treat as explicit port name
75
- * but allow any upstream to provide it (useful when the user wants
76
- * to match by name but still be explicit about the intent).
77
- * - If no `from` → scan every upstream's outputs for a key matching
78
- * the input name. Zero hits = unsatisfied; 2+ hits across different
79
- * upstreams = ambiguous.
80
- *
81
- * The function never throws on config errors — every failure mode maps
82
- * to a field of the `blocked` result so the engine can log a unified
83
- * message and mark the task blocked.
84
- */
85
- export declare function resolveTaskInputs(task: TaskConfig, upstreamOutputs: ReadonlyMap<string, Readonly<Record<string, unknown>>>, dependsOn: readonly string[]): InputResolution;
86
- export interface UpstreamBindingData {
87
- readonly outputs?: Readonly<Record<string, unknown>> | null;
88
- readonly stdout?: string;
89
- readonly stderr?: string;
90
- readonly normalizedOutput?: string | null;
91
- readonly exitCode?: number | null;
92
- }
93
- export type BindingInputResolution = {
94
- readonly kind: 'ready';
95
- readonly inputs: Readonly<Record<string, unknown>>;
96
- readonly missingOptional: readonly string[];
97
- } | {
98
- readonly kind: 'blocked';
99
- readonly missingRequired: readonly string[];
100
- readonly ambiguous: readonly {
101
- input: string;
102
- producers: readonly string[];
103
- }[];
104
- readonly typeErrors: readonly {
105
- input: string;
106
- reason: string;
107
- }[];
108
- readonly reason: string;
109
- };
110
- export declare function resolveTaskBindingInputs(task: Pick<TaskConfig, 'inputs'>, upstreamData: ReadonlyMap<string, UpstreamBindingData>, dependsOn: readonly string[]): BindingInputResolution;
111
- export interface ExtractResult {
112
- /** Coerced values keyed by port name. Ports that failed to resolve are absent. */
113
- readonly outputs: Readonly<Record<string, unknown>>;
114
- /**
115
- * Human-readable diagnostic describing what went wrong, if anything.
116
- * `null` when every declared output was resolved cleanly. The engine
117
- * appends this to stderr so the pipeline log explains why downstream
118
- * inputs are missing.
119
- */
120
- readonly diagnostic: string | null;
121
- }
122
- /**
123
- * Extract declared outputs from a terminated task's output streams.
124
- *
125
- * Strategy (v1 — intentionally dumb but predictable):
126
- * 1. Prefer `normalizedOutput` when provided (AI drivers populate this
127
- * with the canonical assistant message; it's much cleaner than raw
128
- * stdout, which often has JSONL event dumps). Fall back to stdout
129
- * otherwise.
130
- * 2. Scan from the end for the first non-empty line. If it parses as a
131
- * JSON object, use that as the source record.
132
- * 3. If (2) fails, try parsing the entire source as JSON (supports
133
- * commands that pretty-print with line breaks).
134
- * 4. For each declared output port, read the matching key and coerce
135
- * to the declared type. Coercion failures produce a diagnostic and
136
- * the port is absent from `outputs` (treated as missing downstream).
137
- *
138
- * When no declared outputs are present this returns an empty `outputs`
139
- * map and null diagnostic — the engine interprets that as "task has no
140
- * port contract".
141
- */
142
- export declare function extractTaskOutputs(ports: TaskPorts | undefined, stdout: string, normalizedOutput: string | null): ExtractResult;
143
- export declare function extractTaskBindingOutputs(bindings: TaskOutputBindings | undefined, stdout: string, stderr: string, normalizedOutput: string | null): ExtractResult;
144
- export interface PromptUpstreamNeighbor {
145
- readonly taskId: string;
146
- /**
147
- * Declared outputs of the upstream task. `undefined` signals that the
148
- * neighbor is a Prompt Task (no structured contribution) or otherwise
149
- * has no outputs to offer. The inference logic treats `undefined` and
150
- * an empty array the same way — neither contributes ports.
151
- */
152
- readonly outputs: readonly PortDef[] | undefined;
153
- }
154
- export interface PromptDownstreamNeighbor {
155
- readonly taskId: string;
156
- /**
157
- * Declared inputs of the downstream task. `undefined` signals a
158
- * Prompt-Task neighbor or a Command Task without declared inputs.
159
- * Either way it contributes no ports to the inferred output contract.
160
- */
161
- readonly inputs: readonly PortDef[] | undefined;
162
- }
163
- export interface PromptPortConflict {
164
- readonly portName: string;
165
- readonly producers: readonly {
166
- readonly taskId: string;
167
- readonly type: PortType;
168
- }[];
169
- /** Pre-formatted human-readable reason for logs / stderr. */
170
- readonly reason: string;
171
- }
172
- export interface PromptPortInference {
173
- /**
174
- * Synthetic `TaskPorts` the engine feeds into the resolve / substitute /
175
- * render / extract helpers, exactly as if the Prompt had declared these
176
- * ports itself. Empty arrays are preserved as absent so downstream code
177
- * paths treat "no ports" uniformly (see engine.ts's existing
178
- * `task.ports?.outputs && task.ports.outputs.length > 0` guard).
179
- */
180
- readonly ports: TaskPorts;
181
- readonly inputConflicts: readonly PromptPortConflict[];
182
- readonly outputConflicts: readonly PromptPortConflict[];
183
- }
184
- /**
185
- * Derive the effective `TaskPorts` for a Prompt Task from its direct
186
- * neighbors. See the module-level "Prompt-task port inference" comment
187
- * for the full contract.
188
- *
189
- * Pure function — no side effects, safe to call from the CLI, editor
190
- * preview, and engine hot path alike.
191
- */
192
- export declare function inferPromptPorts(input: {
193
- readonly upstreams: readonly PromptUpstreamNeighbor[];
194
- readonly downstreams: readonly PromptDownstreamNeighbor[];
195
- }): PromptPortInference;
196
- //# sourceMappingURL=ports.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"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"}