@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.
- package/README.md +85 -57
- package/dist/approval.d.ts +2 -12
- package/dist/approval.d.ts.map +1 -1
- package/dist/approval.js +1 -90
- package/dist/approval.js.map +1 -1
- package/dist/bootstrap.d.ts +1 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/completions/file-exists.js +1 -1
- package/dist/completions/file-exists.js.map +1 -1
- package/dist/completions/output-check.d.ts.map +1 -1
- package/dist/completions/output-check.js +17 -4
- package/dist/completions/output-check.js.map +1 -1
- package/dist/config.d.ts +4 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/dataflow.d.ts +3 -0
- package/dist/dataflow.d.ts.map +1 -0
- package/dist/dataflow.js +2 -0
- package/dist/dataflow.js.map +1 -0
- package/dist/drivers/opencode.d.ts.map +1 -1
- package/dist/drivers/opencode.js +23 -71
- package/dist/drivers/opencode.js.map +1 -1
- package/dist/engine.d.ts +5 -56
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +7 -297
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +4 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -4
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +2 -60
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +1 -153
- package/dist/logger.js.map +1 -1
- package/dist/middlewares/static-context.d.ts.map +1 -1
- package/dist/middlewares/static-context.js +1 -2
- package/dist/middlewares/static-context.js.map +1 -1
- package/dist/pipeline-runner.d.ts.map +1 -1
- package/dist/pipeline-runner.js +2 -2
- package/dist/pipeline-runner.js.map +1 -1
- package/dist/plugins.d.ts +2 -2
- package/dist/plugins.d.ts.map +1 -1
- package/dist/plugins.js +1 -1
- package/dist/plugins.js.map +1 -1
- package/dist/runner.d.ts +1 -35
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +1 -610
- package/dist/runner.js.map +1 -1
- package/dist/runtime/adapters/stdin-approval.d.ts +2 -0
- package/dist/runtime/adapters/stdin-approval.d.ts.map +1 -0
- package/dist/runtime/adapters/stdin-approval.js +2 -0
- package/dist/runtime/adapters/stdin-approval.js.map +1 -0
- package/dist/runtime/adapters/websocket-approval.d.ts +2 -0
- package/dist/runtime/adapters/websocket-approval.d.ts.map +1 -0
- package/dist/runtime/adapters/websocket-approval.js +2 -0
- package/dist/runtime/adapters/websocket-approval.js.map +1 -0
- package/dist/runtime/bun-process-runner.d.ts +2 -0
- package/dist/runtime/bun-process-runner.d.ts.map +1 -0
- package/dist/runtime/bun-process-runner.js +2 -0
- package/dist/runtime/bun-process-runner.js.map +1 -0
- package/dist/runtime.d.ts +2 -8
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +1 -7
- package/dist/runtime.js.map +1 -1
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +3 -4
- package/dist/schema.js.map +1 -1
- package/dist/tagma.d.ts +3 -4
- package/dist/tagma.d.ts.map +1 -1
- package/dist/tagma.js +2 -3
- package/dist/tagma.js.map +1 -1
- package/dist/triggers/file.d.ts.map +1 -1
- package/dist/triggers/file.js +74 -108
- package/dist/triggers/file.js.map +1 -1
- package/dist/triggers/manual.d.ts.map +1 -1
- package/dist/triggers/manual.js +1 -2
- package/dist/triggers/manual.js.map +1 -1
- package/dist/types.d.ts +1 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -12
- package/dist/types.js.map +1 -1
- package/dist/utils-api.d.ts +1 -1
- package/dist/utils-api.d.ts.map +1 -1
- package/dist/utils-api.js +1 -1
- package/dist/utils-api.js.map +1 -1
- package/dist/validate-raw.d.ts.map +1 -1
- package/dist/validate-raw.js +5 -12
- package/dist/validate-raw.js.map +1 -1
- package/package.json +20 -22
- package/dist/adapters/stdin-approval.d.ts +0 -6
- package/dist/adapters/stdin-approval.d.ts.map +0 -1
- package/dist/adapters/stdin-approval.js +0 -90
- package/dist/adapters/stdin-approval.js.map +0 -1
- package/dist/adapters/websocket-approval.d.ts +0 -28
- package/dist/adapters/websocket-approval.d.ts.map +0 -1
- package/dist/adapters/websocket-approval.js +0 -147
- package/dist/adapters/websocket-approval.js.map +0 -1
- package/dist/core/dataflow.d.ts +0 -23
- package/dist/core/dataflow.d.ts.map +0 -1
- package/dist/core/dataflow.js +0 -99
- package/dist/core/dataflow.js.map +0 -1
- package/dist/core/log-prune.d.ts +0 -16
- package/dist/core/log-prune.d.ts.map +0 -1
- package/dist/core/log-prune.js +0 -34
- package/dist/core/log-prune.js.map +0 -1
- package/dist/core/preflight.d.ts +0 -13
- package/dist/core/preflight.d.ts.map +0 -1
- package/dist/core/preflight.js +0 -61
- package/dist/core/preflight.js.map +0 -1
- package/dist/core/run-context.d.ts +0 -55
- package/dist/core/run-context.d.ts.map +0 -1
- package/dist/core/run-context.js +0 -158
- package/dist/core/run-context.js.map +0 -1
- package/dist/core/run-state.d.ts +0 -25
- package/dist/core/run-state.d.ts.map +0 -1
- package/dist/core/run-state.js +0 -93
- package/dist/core/run-state.js.map +0 -1
- package/dist/core/scheduler.d.ts +0 -13
- package/dist/core/scheduler.d.ts.map +0 -1
- package/dist/core/scheduler.js +0 -35
- package/dist/core/scheduler.js.map +0 -1
- package/dist/core/task-executor.d.ts +0 -13
- package/dist/core/task-executor.d.ts.map +0 -1
- package/dist/core/task-executor.js +0 -601
- package/dist/core/task-executor.js.map +0 -1
- package/dist/core/trigger-errors.d.ts +0 -9
- package/dist/core/trigger-errors.d.ts.map +0 -1
- package/dist/core/trigger-errors.js +0 -15
- package/dist/core/trigger-errors.js.map +0 -1
- package/dist/dag.d.ts +0 -45
- package/dist/dag.d.ts.map +0 -1
- package/dist/dag.js +0 -177
- package/dist/dag.js.map +0 -1
- package/dist/hooks.d.ts +0 -73
- package/dist/hooks.d.ts.map +0 -1
- package/dist/hooks.js +0 -106
- package/dist/hooks.js.map +0 -1
- package/dist/pipeline-definition.d.ts +0 -3
- package/dist/pipeline-definition.d.ts.map +0 -1
- package/dist/pipeline-definition.js +0 -4
- package/dist/pipeline-definition.js.map +0 -1
- package/dist/ports.d.ts +0 -196
- package/dist/ports.d.ts.map +0 -1
- package/dist/ports.js +0 -688
- package/dist/ports.js.map +0 -1
- package/dist/prompt-doc.d.ts +0 -70
- package/dist/prompt-doc.d.ts.map +0 -1
- package/dist/prompt-doc.js +0 -154
- package/dist/prompt-doc.js.map +0 -1
- package/dist/registry.d.ts +0 -67
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js +0 -293
- package/dist/registry.js.map +0 -1
- package/dist/task-ref.d.ts +0 -55
- package/dist/task-ref.d.ts.map +0 -1
- package/dist/task-ref.js +0 -103
- package/dist/task-ref.js.map +0 -1
- package/dist/utils.d.ts +0 -13
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -177
- package/dist/utils.js.map +0 -1
- package/src/adapters/stdin-approval.ts +0 -106
- package/src/adapters/websocket-approval.ts +0 -224
- package/src/approval.ts +0 -131
- package/src/bootstrap.ts +0 -55
- package/src/completions/exit-code.ts +0 -34
- package/src/completions/file-exists.ts +0 -66
- package/src/completions/output-check.test.ts +0 -50
- package/src/completions/output-check.ts +0 -92
- package/src/config-ops.test.ts +0 -70
- package/src/config-ops.ts +0 -328
- package/src/config.ts +0 -26
- package/src/core/dataflow.test.ts +0 -166
- package/src/core/dataflow.ts +0 -161
- package/src/core/log-prune.test.ts +0 -58
- package/src/core/log-prune.ts +0 -43
- package/src/core/preflight.test.ts +0 -49
- package/src/core/preflight.ts +0 -89
- package/src/core/run-context.test.ts +0 -256
- package/src/core/run-context.ts +0 -211
- package/src/core/run-state.test.ts +0 -98
- package/src/core/run-state.ts +0 -122
- package/src/core/scheduler.test.ts +0 -83
- package/src/core/scheduler.ts +0 -42
- package/src/core/task-executor.ts +0 -743
- package/src/core/trigger-errors.ts +0 -15
- package/src/dag.test.ts +0 -56
- package/src/dag.ts +0 -245
- package/src/drivers/opencode.ts +0 -410
- package/src/engine-ports-mixed.test.ts +0 -156
- package/src/engine-ports.test.ts +0 -166
- package/src/engine-task-type.test.ts +0 -56
- package/src/engine.ts +0 -458
- package/src/hooks.ts +0 -193
- package/src/index.ts +0 -33
- package/src/logger.ts +0 -182
- package/src/middlewares/static-context.ts +0 -49
- package/src/pipeline-definition.ts +0 -5
- package/src/pipeline-runner.test.ts +0 -91
- package/src/pipeline-runner.ts +0 -194
- package/src/plugin-registry.test.ts +0 -382
- package/src/plugins.ts +0 -21
- package/src/ports.test.ts +0 -678
- package/src/ports.ts +0 -925
- package/src/prompt-doc.test.ts +0 -174
- package/src/prompt-doc.ts +0 -169
- package/src/registry.ts +0 -353
- package/src/runner.test.ts +0 -142
- package/src/runner.ts +0 -666
- package/src/runtime.ts +0 -20
- package/src/schema-ports.test.ts +0 -172
- package/src/schema.test.ts +0 -213
- package/src/schema.ts +0 -379
- package/src/tagma.test.ts +0 -155
- package/src/tagma.ts +0 -62
- package/src/task-ref.test.ts +0 -401
- package/src/task-ref.ts +0 -121
- package/src/triggers/file.ts +0 -164
- package/src/triggers/manual.ts +0 -86
- package/src/types.ts +0 -18
- package/src/utils-api.ts +0 -8
- package/src/utils.test.ts +0 -28
- package/src/utils.ts +0 -203
- package/src/validate-raw-plugin-types.test.ts +0 -60
- package/src/validate-raw-ports.test.ts +0 -136
- package/src/validate-raw.ts +0 -852
- package/src/yaml-compiler.test.ts +0 -108
- package/src/yaml-compiler.ts +0 -110
- 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
|
package/dist/ports.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"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"}
|