@sublang/slc 0.9.0 → 0.11.0
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 +44 -15
- package/dist/app.d.ts +2 -2
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +6 -4
- package/dist/app.js.map +1 -1
- package/dist/artifacts.d.ts +5 -1
- package/dist/artifacts.d.ts.map +1 -1
- package/dist/artifacts.js +19 -3
- package/dist/artifacts.js.map +1 -1
- package/dist/clarification.d.ts +32 -0
- package/dist/clarification.d.ts.map +1 -0
- package/dist/clarification.js +93 -0
- package/dist/clarification.js.map +1 -0
- package/dist/compiled-execution.js +1 -1
- package/dist/compiled-execution.js.map +1 -1
- package/dist/compiled-executor.d.ts.map +1 -1
- package/dist/compiled-executor.js +58 -22
- package/dist/compiled-executor.js.map +1 -1
- package/dist/config-file.d.ts.map +1 -1
- package/dist/config-file.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/entry-module.d.ts.map +1 -1
- package/dist/entry-module.js +16 -7
- package/dist/entry-module.js.map +1 -1
- package/dist/entry-options.d.ts +13 -0
- package/dist/entry-options.d.ts.map +1 -0
- package/dist/entry-options.js +116 -0
- package/dist/entry-options.js.map +1 -0
- package/dist/execution.d.ts +21 -4
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +58 -19
- package/dist/execution.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interpreter.d.ts.map +1 -1
- package/dist/interpreter.js +20 -1
- package/dist/interpreter.js.map +1 -1
- package/dist/invocation.d.ts.map +1 -1
- package/dist/link.d.ts.map +1 -1
- package/dist/phase-runner.d.ts +1 -4
- package/dist/phase-runner.d.ts.map +1 -1
- package/dist/phase-runner.js +4 -1
- package/dist/phase-runner.js.map +1 -1
- package/dist/phase.d.ts.map +1 -1
- package/dist/phase.js.map +1 -1
- package/dist/pin-currency.js.map +1 -1
- package/dist/pin-generate.js.map +1 -1
- package/dist/pin-inputs.js.map +1 -1
- package/dist/pins.d.ts.map +1 -1
- package/dist/pins.js.map +1 -1
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/playbook-contract.d.ts.map +1 -1
- package/dist/playbook-contract.js.map +1 -1
- package/dist/playbook-ports.d.ts +9 -1
- package/dist/playbook-ports.d.ts.map +1 -1
- package/dist/playbook-ports.js +24 -6
- package/dist/playbook-ports.js.map +1 -1
- package/dist/progress.js.map +1 -1
- package/dist/resolver.js.map +1 -1
- package/dist/reviewing-agent.d.ts +2 -2
- package/dist/reviewing-agent.d.ts.map +1 -1
- package/dist/reviewing-agent.js +34 -12
- package/dist/reviewing-agent.js.map +1 -1
- package/dist/runner.d.ts +4 -2
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +361 -45
- package/dist/runner.js.map +1 -1
- package/dist/slc.config.template.yaml +1 -1
- package/dist/verify-coverage.d.ts +7 -0
- package/dist/verify-coverage.d.ts.map +1 -1
- package/dist/verify-coverage.js +805 -254
- package/dist/verify-coverage.js.map +1 -1
- package/dist/verify-source.d.ts +2 -0
- package/dist/verify-source.d.ts.map +1 -1
- package/dist/verify-source.js +370 -24
- package/dist/verify-source.js.map +1 -1
- package/dist/verify-support.js.map +1 -1
- package/dist/verify-typescript.d.ts +3 -0
- package/dist/verify-typescript.d.ts.map +1 -0
- package/dist/verify-typescript.js +87 -0
- package/dist/verify-typescript.js.map +1 -0
- package/dist/verify.d.ts +28 -10
- package/dist/verify.d.ts.map +1 -1
- package/dist/verify.js +604 -133
- package/dist/verify.js.map +1 -1
- package/package.json +17 -16
package/README.md
CHANGED
|
@@ -83,7 +83,7 @@ it itself, and a global SDK is invisible to a project's nested
|
|
|
83
83
|
## Quick start
|
|
84
84
|
|
|
85
85
|
Write a prose workflow as a `.md` or `.txt` file —
|
|
86
|
-
[`demo/workflow.txt`](demo/workflow.txt) is a
|
|
86
|
+
[`demo/workflow.txt`](demo/workflow.txt) is a one-paragraph
|
|
87
87
|
example — and compile it from any directory:
|
|
88
88
|
|
|
89
89
|
```bash
|
|
@@ -99,20 +99,32 @@ tests — and `my-workflow.ts` is the runnable entry. Run it:
|
|
|
99
99
|
playbook run ./my-workflow.ts "<your task>"
|
|
100
100
|
```
|
|
101
101
|
|
|
102
|
-
Compilation
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
102
|
+
Compilation runs your configured coding agent at each phase. Elapsed time
|
|
103
|
+
depends on the workflow, model, effort and required corrections; the
|
|
104
|
+
[performance report](docs/compilation-performance.md) records measured
|
|
105
|
+
settings, failures and validation separately. The [reproduction guide](docs/compilation-reproduction.md)
|
|
106
|
+
recreates the locally measured 3:17 minimal compilation with explicit compiler,
|
|
107
|
+
definition and model versions. `slc` reports each phase,
|
|
106
108
|
each artifact with its elapsed time, and a heartbeat at least every 30
|
|
107
|
-
seconds on stderr
|
|
108
|
-
seconds fails that phase
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
seconds on stderr. An agent call that goes silent for `stallTimeout`
|
|
110
|
+
seconds fails that phase. Success prints the artifact paths and exits 0;
|
|
111
|
+
a failure prints diagnostics naming the failing phase and exits non-zero.
|
|
112
|
+
|
|
113
|
+
If a phase discovers missing, contradictory, or materially ambiguous behavior,
|
|
114
|
+
`slc` stops with actionable questions and exits **2**. The report names the
|
|
115
|
+
original source to edit, the phase, and the artifact being compiled. Edit that
|
|
116
|
+
source and run the same command again. Questions can arise during normalization,
|
|
117
|
+
compilation, or linking; `slc` never reads interactive answers or saves a pending
|
|
118
|
+
session. Any draft from the stopped phase stays unaccepted and no successful
|
|
119
|
+
build history is published. Standard error also includes one
|
|
120
|
+
`SLC_CLARIFICATION: {…}` line containing schema
|
|
121
|
+
`sublang.slc.clarification.v1`, `phase`, `target`, `sources`, and `questions` for
|
|
122
|
+
tools consuming the diagnostics.
|
|
111
123
|
|
|
112
124
|
Intermediates are first-class: edit one, re-run a single phase
|
|
113
125
|
(`slc playbook.gears2fsm …`), and it lands in the same place.
|
|
114
126
|
`slc --help` shows all invocation forms and flags, including
|
|
115
|
-
`--no-optimize` to skip the optimization
|
|
127
|
+
`--no-optimize` to skip the optimization passes.
|
|
116
128
|
|
|
117
129
|
### Incremental recompiles
|
|
118
130
|
|
|
@@ -152,7 +164,7 @@ reviewerAgent: codex # optional; enables reviewed compilation
|
|
|
152
164
|
reviewerModel: gpt-5.3-codex # optional reviewer model
|
|
153
165
|
reviewerEffort: xhigh # optional reviewer reasoning effort
|
|
154
166
|
reviewerFastMode: true # optional reviewer fast mode
|
|
155
|
-
stallTimeout:
|
|
167
|
+
stallTimeout: 2400 # seconds of agent silence before a stalled call fails
|
|
156
168
|
pipelinePath: # search roots for <pipeline> references; defaults to the cwd
|
|
157
169
|
- ./pipelines
|
|
158
170
|
```
|
|
@@ -163,17 +175,28 @@ refuses the run before any agent call. Discovery order, `--config`, and
|
|
|
163
175
|
validation rules live in the [CLI spec](specs/packages/cli.md);
|
|
164
176
|
`slc --help` prints the summary.
|
|
165
177
|
|
|
178
|
+
Mechanical checks run by default at GEARS-producing phases, the GEARS-to-FSM
|
|
179
|
+
boundary, and Playbook linking. A failing check returns its findings to the
|
|
180
|
+
same Coder for at most two repairs; a clean unreviewed transformation uses
|
|
181
|
+
one agent call. Malformed supplied GEARS stops before its consumer runs,
|
|
182
|
+
and an invalid FSM stops before linking. Unresolved findings
|
|
183
|
+
fail the phase, and source questions still stop for clarification
|
|
184
|
+
([DR-033](specs/decisions/033-early-conformance-and-mechanical-repair.md),
|
|
185
|
+
[DR-035](specs/decisions/035-gears-contract-at-producer.md)).
|
|
186
|
+
|
|
166
187
|
### Reviewed compilation (two agents)
|
|
167
188
|
|
|
168
189
|
Set `reviewerAgent` to compile with two independent agents. Your `agent`
|
|
169
|
-
selection is the Coder that writes each artifact;
|
|
170
|
-
inspects that work read-only and reports only material correctness or
|
|
190
|
+
selection is the Coder that writes each artifact; once mechanical checks
|
|
191
|
+
pass, the Reviewer inspects that work read-only and reports only material correctness or
|
|
171
192
|
spec defects, and the Coder answers every finding with evidence and a
|
|
172
|
-
minimal fix.
|
|
193
|
+
minimal fix. Mechanical and independent review share three rounds — if the
|
|
194
|
+
third still reports
|
|
173
195
|
findings, the phase fails closed and names them rather than shipping a
|
|
174
196
|
questionable artifact.
|
|
175
197
|
|
|
176
|
-
|
|
198
|
+
An independent review adds an agent call for each mechanically valid
|
|
199
|
+
transformation it inspects.
|
|
177
200
|
Reuse performs no transformation and so makes no calls; Update,
|
|
178
201
|
Ordinary, and `--rebuild` use the loop automatically
|
|
179
202
|
([DR-022](specs/decisions/022-two-agent-reviewed-compilation.md)).
|
|
@@ -227,6 +250,12 @@ npm test
|
|
|
227
250
|
npm run lint
|
|
228
251
|
```
|
|
229
252
|
|
|
253
|
+
The repository build explicitly uses the native TypeScript 7 compiler.
|
|
254
|
+
SLC retains TypeScript 6 as a runtime dependency for its programmatic AST,
|
|
255
|
+
emission, and strict artifact checks; TypeScript 7 has no stable compiler
|
|
256
|
+
API yet. The explicit build path avoids relying on which `tsc` executable
|
|
257
|
+
npm links.
|
|
258
|
+
|
|
230
259
|
A checkout's own [`slc.config.yaml`](slc.config.yaml) routes the
|
|
231
260
|
`playbook` pipeline to the bundled copy under `pipelines/`, so repo
|
|
232
261
|
compiles exercise the pinned artifacts. CI additionally re-verifies the
|
package/dist/app.d.ts
CHANGED
|
@@ -58,8 +58,8 @@ export interface RunConfig {
|
|
|
58
58
|
/** Agent-stall watchdog window in milliseconds; `0` disables (DR-019, cli-34). */
|
|
59
59
|
stallTimeoutMs: number;
|
|
60
60
|
}
|
|
61
|
-
/** Default agent-stall watchdog window in seconds (DR-019, cli-34). */
|
|
62
|
-
export declare const DEFAULT_STALL_TIMEOUT_SECONDS =
|
|
61
|
+
/** Default agent-stall watchdog window in seconds (DR-019, DR-043, cli-34). */
|
|
62
|
+
export declare const DEFAULT_STALL_TIMEOUT_SECONDS = 2400;
|
|
63
63
|
/**
|
|
64
64
|
* Merges the environment over config-file values per key (DR-006, cli-20): for
|
|
65
65
|
* each key a non-blank environment variable wins, otherwise the file value,
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,EAExB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAM1E,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAUnD,wBAAwB;AACxB,eAAO,MAAM,IAAI,QAAQ,CAAC;AAE1B,sCAAsC;AACtC,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED,4EAA4E;AAC5E,MAAM,MAAM,WAAW,GAAG,CAAC,EAAE,EAAE;IAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEjC,0FAA0F;AAC1F,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,yDAAyD;IACzD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,mEAAmE;IACnE,SAAS,CAAC,EAAE,WAAW,CAAC;CACzB;AAED,yEAAyE;AACzE,MAAM,MAAM,eAAe,GAAG,OAAO,wBAAwB,CAAC;AAE9D,2FAA2F;AAC3F,MAAM,MAAM,sBAAsB,GAAG,OAAO,+BAA+B,CAAC;AAE5E;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,YAAY,CAChC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAK5E,cAAc,GAAE,eAA0C,EAC1D,cAAc,GAAE,sBAAwD,GACvE,OAAO,CAAC,OAAO,CAAC,CAmClB;AAED,qFAAqF;AACrF,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,cAAc,CAAC;IAC1B,4FAA4F;IAC5F,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C,kFAAkF;IAClF,cAAc,EAAE,MAAM,CAAC;CACxB;AAED
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/app.js
CHANGED
|
@@ -82,8 +82,8 @@ createExecutor = createConfiguredExecutor, createCompiled = createConfiguredComp
|
|
|
82
82
|
});
|
|
83
83
|
return { resolver, executor, compiled, cwd, signal, progress };
|
|
84
84
|
}
|
|
85
|
-
/** Default agent-stall watchdog window in seconds (DR-019, cli-34). */
|
|
86
|
-
export const DEFAULT_STALL_TIMEOUT_SECONDS =
|
|
85
|
+
/** Default agent-stall watchdog window in seconds (DR-019, DR-043, cli-34). */
|
|
86
|
+
export const DEFAULT_STALL_TIMEOUT_SECONDS = 2400;
|
|
87
87
|
/**
|
|
88
88
|
* Merges the environment over config-file values per key (DR-006, cli-20): for
|
|
89
89
|
* each key a non-blank environment variable wins, otherwise the file value,
|
|
@@ -150,6 +150,8 @@ export function usageText() {
|
|
|
150
150
|
'an entry source with a foreign extension is normalized first, and the',
|
|
151
151
|
'playbook pipeline links against the installed @sublang/playbook runtime',
|
|
152
152
|
'when --link is omitted, also emitting the runnable <basename>.ts entry.',
|
|
153
|
+
'Unresolved source behavior exits 2 with questions on stderr; edit the',
|
|
154
|
+
'original source and run the same command again. No interactive answers.',
|
|
153
155
|
'',
|
|
154
156
|
'Options:',
|
|
155
157
|
' -o <path> final output path override',
|
|
@@ -182,7 +184,7 @@ export function usageText() {
|
|
|
182
184
|
' SLC_REVIEWER_FAST_MODE optional adapter-scoped reviewer fast mode: true | false',
|
|
183
185
|
' SLC_PIPELINE_PATH search roots for <pipeline> references (default: cwd)',
|
|
184
186
|
' SLC_STALL_TIMEOUT seconds of agent inactivity before a stalled call',
|
|
185
|
-
' fails the run (default:
|
|
187
|
+
' fails the run (default: 2400; 0 disables)',
|
|
186
188
|
'',
|
|
187
189
|
].join('\n');
|
|
188
190
|
}
|
|
@@ -275,7 +277,7 @@ export async function run(argv, options = {}) {
|
|
|
275
277
|
}
|
|
276
278
|
if (result.diagnostics.length > 0)
|
|
277
279
|
stderr(`${result.diagnostics.join('\n')}\n`);
|
|
278
|
-
return 1;
|
|
280
|
+
return result.outcome === 'clarification-required' ? 2 : 1;
|
|
279
281
|
}
|
|
280
282
|
/**
|
|
281
283
|
* Wires `SIGINT`/`SIGTERM` on `emitter` to abort a fresh controller, returning
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,0EAA0E;AAE1E;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,EACxB,qBAAqB,GAEtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,yBAAyB,GAE1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAqB,MAAM,eAAe,CAAC;AAC1E,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAgB,MAAM,aAAa,CAAC;AAEnD,MAAM,QAAQ,GAAG,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/artifacts.d.ts
CHANGED
|
@@ -23,7 +23,9 @@ export interface ParsedSource {
|
|
|
23
23
|
* The non-entry form requires `<basename>.<source-format>.<ext>`; the entry form
|
|
24
24
|
* also accepts the plain `<basename>.<ext>`, and an entry source with any other
|
|
25
25
|
* extension is a raw input whose `<basename>` is the name minus its actual
|
|
26
|
-
* extension (DR-014).
|
|
26
|
+
* extension (DR-014). A pass reads the staged artifact its scheduled
|
|
27
|
+
* predecessor wrote, so `staged` additionally accepts the `.raw` and `.opt<k>`
|
|
28
|
+
* stages pipeline-32 and pipeline-33 name.
|
|
27
29
|
*
|
|
28
30
|
* @throws {SourceError} when the name matches no applicable form.
|
|
29
31
|
*/
|
|
@@ -32,6 +34,8 @@ export declare function parseSource(opts: {
|
|
|
32
34
|
sourceFormat: string;
|
|
33
35
|
ext: string;
|
|
34
36
|
entry: boolean;
|
|
37
|
+
/** True for a pass phase, whose source may carry a scheduled stage suffix. */
|
|
38
|
+
staged?: boolean;
|
|
35
39
|
}): ParsedSource;
|
|
36
40
|
/**
|
|
37
41
|
* Computes the artifact directory under the invocation working directory,
|
package/dist/artifacts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAOxC,yDAAyD;AACzD,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAEpD,6EAA6E;AAC7E,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAE/B,YAAY,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAIjD;CACF;AAED,iFAAiF;AACjF,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,GAAG,EAAE,OAAO,CAAC;CACd;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,YAAY,CAsDf;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,MAAM,CAMR;AAED,0FAA0F;AAC1F,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACV,MAAM,CAER;AAED,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,cAAc,GAAG,QAAQ,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,YAAY,EAAE,CAgBjB"}
|
package/dist/artifacts.js
CHANGED
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
* specs/packages/pipeline.md.
|
|
11
11
|
*/
|
|
12
12
|
import { basename as pathBasename, extname, join } from 'node:path';
|
|
13
|
+
// The stages a scheduled pass chain writes between the producing phase and the
|
|
14
|
+
// format's canonical artifact (pipeline-32), plus the unnumbered stage a
|
|
15
|
+
// standalone pass writes (pipeline-33).
|
|
16
|
+
const PASS_STAGE = /\.(?:raw|opt\d*)$/;
|
|
13
17
|
/** Raised when a source filename matches no applicable form (pipeline-6). */
|
|
14
18
|
export class SourceError extends Error {
|
|
15
19
|
code;
|
|
@@ -26,12 +30,14 @@ export class SourceError extends Error {
|
|
|
26
30
|
* The non-entry form requires `<basename>.<source-format>.<ext>`; the entry form
|
|
27
31
|
* also accepts the plain `<basename>.<ext>`, and an entry source with any other
|
|
28
32
|
* extension is a raw input whose `<basename>` is the name minus its actual
|
|
29
|
-
* extension (DR-014).
|
|
33
|
+
* extension (DR-014). A pass reads the staged artifact its scheduled
|
|
34
|
+
* predecessor wrote, so `staged` additionally accepts the `.raw` and `.opt<k>`
|
|
35
|
+
* stages pipeline-32 and pipeline-33 name.
|
|
30
36
|
*
|
|
31
37
|
* @throws {SourceError} when the name matches no applicable form.
|
|
32
38
|
*/
|
|
33
39
|
export function parseSource(opts) {
|
|
34
|
-
const { path, sourceFormat, ext, entry } = opts;
|
|
40
|
+
const { path, sourceFormat, ext, entry, staged } = opts;
|
|
35
41
|
const name = pathBasename(path);
|
|
36
42
|
if (!name.endsWith(ext)) {
|
|
37
43
|
if (entry) {
|
|
@@ -46,15 +52,25 @@ export function parseSource(opts) {
|
|
|
46
52
|
}
|
|
47
53
|
const stem = name.slice(0, name.length - ext.length);
|
|
48
54
|
const qualifier = `.${sourceFormat}`;
|
|
55
|
+
// A stage is recognized only after the declared format, never instead of it:
|
|
56
|
+
// a format named `raw` or `opt<k>` owns its own qualifier, so the canonical
|
|
57
|
+
// reading wins wherever both would match (pipeline-6).
|
|
58
|
+
const stage = staged === true ? PASS_STAGE.exec(stem) : null;
|
|
59
|
+
const stagedStem = stage === null ? undefined : stem.slice(0, stem.length - stage[0].length);
|
|
49
60
|
let basename;
|
|
50
61
|
if (stem.endsWith(qualifier)) {
|
|
51
62
|
basename = stem.slice(0, stem.length - qualifier.length);
|
|
52
63
|
}
|
|
64
|
+
else if (stagedStem?.endsWith(qualifier) === true) {
|
|
65
|
+
basename = stagedStem.slice(0, stagedStem.length - qualifier.length);
|
|
66
|
+
}
|
|
53
67
|
else if (entry) {
|
|
54
68
|
basename = stem;
|
|
55
69
|
}
|
|
56
70
|
else {
|
|
57
|
-
throw new SourceError('invalid-source-name',
|
|
71
|
+
throw new SourceError('invalid-source-name', staged === true
|
|
72
|
+
? `source "${name}" must be named "<basename>.${sourceFormat}[.raw|.opt<k>]${ext}"`
|
|
73
|
+
: `source "${name}" must be named "<basename>.${sourceFormat}${ext}"`);
|
|
58
74
|
}
|
|
59
75
|
if (basename.length === 0) {
|
|
60
76
|
throw new SourceError('invalid-source-name', `source "${name}" has an empty basename`);
|
package/dist/artifacts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,0EAA0E;AAE1E;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/** Stateless source questions shared by every phase and host (DR-032). */
|
|
2
|
+
export interface ClarificationQuestion {
|
|
3
|
+
id: string;
|
|
4
|
+
question: string;
|
|
5
|
+
reason: string;
|
|
6
|
+
evidence: string;
|
|
7
|
+
choices?: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface ClarificationReport {
|
|
10
|
+
schema: 'sublang.slc.clarification.v1';
|
|
11
|
+
phase: string;
|
|
12
|
+
target: string;
|
|
13
|
+
/** Original invocation inputs, not a later phase's generated intermediate. */
|
|
14
|
+
sources: string[];
|
|
15
|
+
questions: ClarificationQuestion[];
|
|
16
|
+
}
|
|
17
|
+
export type DecodedClarification = {
|
|
18
|
+
kind: 'none';
|
|
19
|
+
} | {
|
|
20
|
+
kind: 'invalid';
|
|
21
|
+
reason: string;
|
|
22
|
+
} | {
|
|
23
|
+
kind: 'clarification';
|
|
24
|
+
questions: ClarificationQuestion[];
|
|
25
|
+
};
|
|
26
|
+
export declare function hasClarificationMarker(text: string): boolean;
|
|
27
|
+
/** Only the marked final response is JSON; preceding progress prose is ignored. */
|
|
28
|
+
export declare function decodeClarification(text: string): DecodedClarification;
|
|
29
|
+
/** Output protocol only; semantic decisions remain with the phase definition. */
|
|
30
|
+
export declare function clarificationContract(): string;
|
|
31
|
+
export declare function formatClarificationReport(report: ClarificationReport): string;
|
|
32
|
+
//# sourceMappingURL=clarification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clarification.d.ts","sourceRoot":"","sources":["../src/clarification.ts"],"names":[],"mappings":"AAGA,0EAA0E;AAC1E,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,8BAA8B,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,qBAAqB,EAAE,CAAC;CACpC;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,SAAS,EAAE,qBAAqB,EAAE,CAAA;CAAE,CAAC;AAIlE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAmDtE;AAUD,iFAAiF;AACjF,wBAAgB,qBAAqB,IAAI,MAAM,CAY9C;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAe7E"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// SPDX-FileCopyrightText: 2026 SubLang International <https://sublang.ai>
|
|
3
|
+
const marker = /^\s*CLARIFICATION:/im;
|
|
4
|
+
export function hasClarificationMarker(text) {
|
|
5
|
+
return marker.test(text);
|
|
6
|
+
}
|
|
7
|
+
/** Only the marked final response is JSON; preceding progress prose is ignored. */
|
|
8
|
+
export function decodeClarification(text) {
|
|
9
|
+
const match = marker.exec(text);
|
|
10
|
+
if (match === null)
|
|
11
|
+
return { kind: 'none' };
|
|
12
|
+
const invalid = () => ({
|
|
13
|
+
kind: 'invalid',
|
|
14
|
+
reason: 'malformed CLARIFICATION report: expected one final JSON object with a nonempty questions array of unique id, question, reason, evidence, and optional choices',
|
|
15
|
+
});
|
|
16
|
+
const body = text.slice(match.index + match[0].length);
|
|
17
|
+
if (marker.test(body))
|
|
18
|
+
return invalid();
|
|
19
|
+
let value;
|
|
20
|
+
try {
|
|
21
|
+
value = JSON.parse(body);
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return invalid();
|
|
25
|
+
}
|
|
26
|
+
if (!record(value) || Object.keys(value).join() !== 'questions')
|
|
27
|
+
return invalid();
|
|
28
|
+
const questions = value.questions;
|
|
29
|
+
if (!Array.isArray(questions) || questions.length === 0)
|
|
30
|
+
return invalid();
|
|
31
|
+
const ids = new Set();
|
|
32
|
+
for (const question of questions) {
|
|
33
|
+
if (!record(question))
|
|
34
|
+
return invalid();
|
|
35
|
+
if (Object.keys(question).some((key) => !['id', 'question', 'reason', 'evidence', 'choices'].includes(key)) ||
|
|
36
|
+
!nonblank(question.id) ||
|
|
37
|
+
!nonblank(question.question) ||
|
|
38
|
+
!nonblank(question.reason) ||
|
|
39
|
+
!nonblank(question.evidence) ||
|
|
40
|
+
ids.has(question.id)) {
|
|
41
|
+
return invalid();
|
|
42
|
+
}
|
|
43
|
+
ids.add(question.id);
|
|
44
|
+
if ('choices' in question &&
|
|
45
|
+
(!Array.isArray(question.choices) ||
|
|
46
|
+
question.choices.length < 2 ||
|
|
47
|
+
!question.choices.every(nonblank) ||
|
|
48
|
+
new Set(question.choices).size !== question.choices.length)) {
|
|
49
|
+
return invalid();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
kind: 'clarification',
|
|
54
|
+
questions: questions,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function record(value) {
|
|
58
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
59
|
+
}
|
|
60
|
+
function nonblank(value) {
|
|
61
|
+
return typeof value === 'string' && value.trim().length > 0;
|
|
62
|
+
}
|
|
63
|
+
/** Output protocol only; semantic decisions remain with the phase definition. */
|
|
64
|
+
export function clarificationContract() {
|
|
65
|
+
return [
|
|
66
|
+
'Source clarification (noninteractive compiler protocol):',
|
|
67
|
+
'- If a complete artifact would require choosing missing, contradictory, or materially ambiguous domain behavior, stop producing the artifact; do not invent the choice or ask through an interactive tool. Any work already written remains unaccepted.',
|
|
68
|
+
'- Report concrete questions the user can resolve by editing the original source and rerunning the same command. Do not request clarification for benign ambiguity that does not change domain semantics.',
|
|
69
|
+
'- Only when unresolved source behavior requires clarification, end your reply with CLARIFICATION: followed by one JSON object and no trailing prose or Markdown fence:',
|
|
70
|
+
'CLARIFICATION: {"questions":[{"id":"q1","question":"What behavior should the source specify?","reason":"Why this choice is necessary to compile.","evidence":"Exact source excerpt or location of missing information."}]}',
|
|
71
|
+
'- Use exactly the shown fields, with nonblank strings and unique question ids; each question may additionally include "choices", an array of at least two distinct nonblank alternatives. Never select an answer.',
|
|
72
|
+
'- Before sending, verify that the report is complete, syntactically valid JSON: escape strings and close every array and object, including the final top-level object. A truncated report is an execution error and cannot deliver your questions.',
|
|
73
|
+
'- When the source is sufficient, complete the artifact normally and omit the CLARIFICATION marker entirely. Never emit an empty questions array or a no-clarification report.',
|
|
74
|
+
'- This host report protocol also applies when the definition describes unresolved behavior as BLOCKED; use BLOCKED for other malformed or incompatible inputs.',
|
|
75
|
+
].join('\n');
|
|
76
|
+
}
|
|
77
|
+
export function formatClarificationReport(report) {
|
|
78
|
+
return [
|
|
79
|
+
`slc: clarification required in phase "${report.phase}" at "${report.target}"`,
|
|
80
|
+
...report.questions.flatMap((question) => [
|
|
81
|
+
` [${question.id}] ${question.question}`,
|
|
82
|
+
` Reason: ${question.reason}`,
|
|
83
|
+
` Evidence: ${question.evidence}`,
|
|
84
|
+
...(question.choices === undefined
|
|
85
|
+
? []
|
|
86
|
+
: [` Choices: ${question.choices.join(' | ')}`]),
|
|
87
|
+
]),
|
|
88
|
+
`Edit the original input${report.sources.length === 1 ? '' : 's'}: ${report.sources.join(', ')}`,
|
|
89
|
+
'Then run the same command again.',
|
|
90
|
+
`SLC_CLARIFICATION: ${JSON.stringify(report)}`,
|
|
91
|
+
].join('\n');
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=clarification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clarification.js","sourceRoot":"","sources":["../src/clarification.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,7 +50,7 @@ export function unescapeMarkdown(line) {
|
|
|
50
50
|
* Returns `undefined` when the definition declares no such section.
|
|
51
51
|
*/
|
|
52
52
|
export function parseCompiledExecutionContract(definition) {
|
|
53
|
-
const lines = definition.split(
|
|
53
|
+
const lines = definition.split(/\r?\n/);
|
|
54
54
|
const headings = lines
|
|
55
55
|
.map((line, index) => (SECTION_HEADING.test(line) ? index : -1))
|
|
56
56
|
.filter((index) => index >= 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiled-execution.js","sourceRoot":"","sources":["../src/compiled-execution.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,0EAA0E;AAE1E;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,eAAe,EAAkB,MAAM,aAAa,CAAC;AAE9D,yEAAyE;AACzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,oBAAoB,CAAC;AAE/D,MAAM,eAAe,GAAG,8BAA8B,CAAC;AACvD,MAAM,mBAAmB,GAAG,WAAW,CAAC;AACxC,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,aAAa,GAAG,wDAAwD,CAAC;AAC/E,uFAAuF;AACvF,MAAM,eAAe,GAAG,4CAA4C,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAC5C,UAAkB;IAElB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"compiled-execution.js","sourceRoot":"","sources":["../src/compiled-execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiled-executor.d.ts","sourceRoot":"","sources":["../src/compiled-executor.ts"],"names":[],"mappings":"AAmDA,OAAO,
|
|
1
|
+
{"version":3,"file":"compiled-executor.d.ts","sourceRoot":"","sources":["../src/compiled-executor.ts"],"names":[],"mappings":"AAmDA,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQpD,OAAO,EAIL,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAG3B,KAAK,gCAAgC,EAIrC,KAAK,sBAAsB,EAE5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEhF;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,gCAAgC,CAAC,CAW3C;AA4GD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,GAAE,2BAAgC,GAClD,sBAAsB,CAKxB;AAUD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,MAAM,EAAE,eAAe,CAAC;IACxB,oEAAoE;IACpE,KAAK,EAAE,WAAW,CAAC;IACnB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC;IAC/B,8EAA8E;IAC9E,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,CACZ,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,gCAAgC,CAAC,CAAC;CAChD,GAAG,aAAa,CAsJhB"}
|