@sublang/slc 0.6.0 → 0.8.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 +7 -2
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +15 -2
- package/dist/app.js.map +1 -1
- package/dist/cligent-agent.d.ts +8 -1
- package/dist/cligent-agent.d.ts.map +1 -1
- package/dist/cligent-agent.js +45 -4
- package/dist/cligent-agent.js.map +1 -1
- package/dist/compiled-execution.d.ts +44 -0
- package/dist/compiled-execution.d.ts.map +1 -0
- package/dist/compiled-execution.js +184 -0
- package/dist/compiled-execution.js.map +1 -0
- package/dist/compiled-executor.d.ts +9 -7
- package/dist/compiled-executor.d.ts.map +1 -1
- package/dist/compiled-executor.js +143 -44
- package/dist/compiled-executor.js.map +1 -1
- package/dist/config-file.d.ts +3 -0
- package/dist/config-file.d.ts.map +1 -1
- package/dist/config-file.js +22 -4
- package/dist/config-file.js.map +1 -1
- package/dist/config.d.ts +66 -15
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +115 -49
- package/dist/config.js.map +1 -1
- package/dist/entry-module.d.ts +0 -8
- package/dist/entry-module.d.ts.map +1 -1
- package/dist/entry-module.js +75 -77
- package/dist/entry-module.js.map +1 -1
- package/dist/execution.d.ts +19 -0
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js.map +1 -1
- package/dist/interpreter.d.ts +18 -2
- package/dist/interpreter.d.ts.map +1 -1
- package/dist/interpreter.js +6 -0
- package/dist/interpreter.js.map +1 -1
- package/dist/link.d.ts +7 -0
- package/dist/link.d.ts.map +1 -1
- package/dist/link.js +4 -2
- package/dist/link.js.map +1 -1
- package/dist/phase-runner.d.ts +9 -2
- package/dist/phase-runner.d.ts.map +1 -1
- package/dist/phase-runner.js +3 -1
- package/dist/phase-runner.js.map +1 -1
- package/dist/pin-generate.d.ts.map +1 -1
- package/dist/pin-generate.js +10 -2
- package/dist/pin-generate.js.map +1 -1
- package/dist/playbook-contract.d.ts +18 -22
- package/dist/playbook-contract.d.ts.map +1 -1
- package/dist/playbook-contract.js.map +1 -1
- package/dist/playbook-ports.d.ts +11 -1
- package/dist/playbook-ports.d.ts.map +1 -1
- package/dist/playbook-ports.js +8 -1
- package/dist/playbook-ports.js.map +1 -1
- package/dist/reviewing-agent.d.ts +9 -2
- package/dist/reviewing-agent.d.ts.map +1 -1
- package/dist/reviewing-agent.js +232 -38
- package/dist/reviewing-agent.js.map +1 -1
- package/dist/runner.d.ts +1 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +200 -39
- package/dist/runner.js.map +1 -1
- package/dist/runtime-contract.d.ts +17 -0
- package/dist/runtime-contract.d.ts.map +1 -0
- package/dist/runtime-contract.js +114 -0
- package/dist/runtime-contract.js.map +1 -0
- package/dist/slc.config.template.yaml +7 -2
- package/dist/verify-source.d.ts +61 -0
- package/dist/verify-source.d.ts.map +1 -0
- package/dist/verify-source.js +280 -0
- package/dist/verify-source.js.map +1 -0
- package/dist/verify.d.ts +70 -3
- package/dist/verify.d.ts.map +1 -1
- package/dist/verify.js +375 -86
- package/dist/verify.js.map +1 -1
- package/package.json +3 -3
- package/dist/host-capabilities.d.ts +0 -115
- package/dist/host-capabilities.d.ts.map +0 -1
- package/dist/host-capabilities.js +0 -507
- package/dist/host-capabilities.js.map +0 -1
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -20,11 +20,13 @@ import { ClaudeCodeAdapter } from '@sublang/cligent/adapters/claude-code';
|
|
|
20
20
|
import { CodexAdapter } from '@sublang/cligent/adapters/codex';
|
|
21
21
|
import { GeminiAdapter } from '@sublang/cligent/adapters/gemini';
|
|
22
22
|
import { OpenCodeAdapter } from '@sublang/cligent/adapters/opencode';
|
|
23
|
-
import { isEffortSupported, supportedEffortValues } from '@sublang/cligent';
|
|
23
|
+
import { assertFastModeSupported, isEffortSupported, supportedEffortValues, } from '@sublang/cligent';
|
|
24
24
|
import { createCligentAgent } from './cligent-agent.js';
|
|
25
25
|
import { createCompiledExecutor } from './compiled-executor.js';
|
|
26
|
+
import { messageOf } from './errors.js';
|
|
26
27
|
import { createInterpretedExecutor } from './interpreter.js';
|
|
27
28
|
import { createReviewingAgent } from './reviewing-agent.js';
|
|
29
|
+
import { declaresComposedV3, describeRuntimeDeclaration, PLAYBOOK_PACKAGE, readPlaybookRuntimeDeclaration, } from './runtime-contract.js';
|
|
28
30
|
/** Agent CLI ids the executable registers (cli-7). */
|
|
29
31
|
export const SUPPORTED_AGENTS = [
|
|
30
32
|
'claude-code',
|
|
@@ -61,23 +63,31 @@ export function isSupportedAgent(agent) {
|
|
|
61
63
|
/**
|
|
62
64
|
* Resolves the Coder and optional Reviewer selections from environment configuration
|
|
63
65
|
* (cli-7, cli-12): `SLC_AGENT` names a registered agent CLI, `SLC_MODEL`
|
|
64
|
-
* optionally names a model,
|
|
66
|
+
* optionally names a model, `SLC_EFFORT` optionally selects an
|
|
65
67
|
* adapter-scoped reasoning effort validated against Cligent's support
|
|
66
|
-
* metadata
|
|
68
|
+
* metadata, and `SLC_FAST_MODE` — exactly `true` or `false` — optionally
|
|
69
|
+
* requests adapter-scoped fast mode, accepted or refused by Cligent's
|
|
70
|
+
* fast-mode capability contract before any agent call.
|
|
67
71
|
*
|
|
68
72
|
* @throws {ConfigError} when `SLC_AGENT` is unset/blank (`agent-unset`) or
|
|
69
|
-
* outside the registered set (`agent-unsupported`),
|
|
73
|
+
* outside the registered set (`agent-unsupported`), when `SLC_EFFORT`
|
|
70
74
|
* names a value the selected agent does not support
|
|
71
|
-
* (`effort-unsupported`)
|
|
75
|
+
* (`effort-unsupported`), when `SLC_FAST_MODE` is neither `true` nor
|
|
76
|
+
* `false` (`fast-mode-invalid`), or when it is set for an agent Cligent
|
|
77
|
+
* reports without fast-mode request support (`fast-mode-unsupported`); no
|
|
78
|
+
* implicit default agent is applied.
|
|
72
79
|
*/
|
|
73
80
|
export function resolveAgentSelection(env) {
|
|
74
81
|
const selection = resolveOneSelection(env, {
|
|
75
82
|
agent: 'SLC_AGENT',
|
|
76
83
|
model: 'SLC_MODEL',
|
|
77
84
|
effort: 'SLC_EFFORT',
|
|
85
|
+
fastMode: 'SLC_FAST_MODE',
|
|
78
86
|
unsetCode: 'agent-unset',
|
|
79
87
|
unsupportedCode: 'agent-unsupported',
|
|
80
88
|
effortCode: 'effort-unsupported',
|
|
89
|
+
fastModeInvalidCode: 'fast-mode-invalid',
|
|
90
|
+
fastModeCode: 'fast-mode-unsupported',
|
|
81
91
|
required: true,
|
|
82
92
|
});
|
|
83
93
|
if (selection === undefined) {
|
|
@@ -87,9 +97,12 @@ export function resolveAgentSelection(env) {
|
|
|
87
97
|
agent: 'SLC_REVIEWER_AGENT',
|
|
88
98
|
model: 'SLC_REVIEWER_MODEL',
|
|
89
99
|
effort: 'SLC_REVIEWER_EFFORT',
|
|
100
|
+
fastMode: 'SLC_REVIEWER_FAST_MODE',
|
|
90
101
|
unsetCode: 'reviewer-agent-unset',
|
|
91
102
|
unsupportedCode: 'reviewer-agent-unsupported',
|
|
92
103
|
effortCode: 'reviewer-effort-unsupported',
|
|
104
|
+
fastModeInvalidCode: 'reviewer-fast-mode-invalid',
|
|
105
|
+
fastModeCode: 'reviewer-fast-mode-unsupported',
|
|
93
106
|
required: false,
|
|
94
107
|
});
|
|
95
108
|
return reviewer === undefined ? selection : { ...selection, reviewer };
|
|
@@ -98,12 +111,14 @@ function resolveOneSelection(env, names) {
|
|
|
98
111
|
const agent = (env[names.agent] ?? '').trim();
|
|
99
112
|
const model = (env[names.model] ?? '').trim();
|
|
100
113
|
const effort = (env[names.effort] ?? '').trim();
|
|
114
|
+
const fastMode = (env[names.fastMode] ?? '').trim();
|
|
101
115
|
if (agent === '') {
|
|
102
|
-
if (!names.required && model === '' && effort === '')
|
|
116
|
+
if (!names.required && model === '' && effort === '' && fastMode === '') {
|
|
103
117
|
return undefined;
|
|
118
|
+
}
|
|
104
119
|
throw new ConfigError(names.unsetCode, names.required
|
|
105
120
|
? `${names.agent} is not set; set it to one of: ${SUPPORTED_AGENTS.join(', ')}`
|
|
106
|
-
: `${names.agent} is not set; ${names.model} and ${names.
|
|
121
|
+
: `${names.agent} is not set; ${names.model}, ${names.effort}, and ${names.fastMode} require a reviewer agent; set ${names.agent} to one of: ${SUPPORTED_AGENTS.join(', ')}`);
|
|
107
122
|
}
|
|
108
123
|
if (!isSupportedAgent(agent)) {
|
|
109
124
|
throw new ConfigError(names.unsupportedCode, `${names.agent} "${agent}" is not a supported agent CLI; choose one of: ${SUPPORTED_AGENTS.join(', ')}`);
|
|
@@ -111,10 +126,24 @@ function resolveOneSelection(env, names) {
|
|
|
111
126
|
if (effort !== '' && !isEffortSupported(agent, effort)) {
|
|
112
127
|
throw new ConfigError(names.effortCode, `${names.effort} "${effort}" is not supported by ${agent}; choose one of: ${(supportedEffortValues(agent) ?? []).join(', ')}`);
|
|
113
128
|
}
|
|
129
|
+
if (fastMode !== '' && fastMode !== 'true' && fastMode !== 'false') {
|
|
130
|
+
throw new ConfigError(names.fastModeInvalidCode, `${names.fastMode} "${fastMode}" must be exactly true or false`);
|
|
131
|
+
}
|
|
132
|
+
if (fastMode !== '') {
|
|
133
|
+
// Cligent owns adapter capability: a literal request — `false` included —
|
|
134
|
+
// is accepted or refused by its contract, naming the adapter (cli-7).
|
|
135
|
+
try {
|
|
136
|
+
assertFastModeSupported(agent, names.fastMode);
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
throw new ConfigError(names.fastModeCode, messageOf(error));
|
|
140
|
+
}
|
|
141
|
+
}
|
|
114
142
|
return {
|
|
115
143
|
agent,
|
|
116
144
|
model: model === '' ? undefined : model,
|
|
117
145
|
effort: effort === '' ? undefined : effort,
|
|
146
|
+
fastMode: fastMode === '' ? undefined : fastMode === 'true',
|
|
118
147
|
};
|
|
119
148
|
}
|
|
120
149
|
/**
|
|
@@ -146,35 +175,42 @@ export function createConfiguredAgentClient(selection, opts = {}) {
|
|
|
146
175
|
maxTurns: opts.maxTurns,
|
|
147
176
|
permissions: opts.permissions,
|
|
148
177
|
effort: selection.effort,
|
|
178
|
+
fastMode: selection.fastMode,
|
|
149
179
|
stallTimeoutMs: opts.stallTimeoutMs,
|
|
150
180
|
});
|
|
151
181
|
}
|
|
152
182
|
/**
|
|
153
183
|
* Builds the compiled-execution factory the bin injects as `SlcDeps.compiled`
|
|
154
|
-
* (cli-8, phase-execution-27): for a current pinned phase it
|
|
155
|
-
*
|
|
156
|
-
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
* transport
|
|
160
|
-
*
|
|
184
|
+
* (cli-8, phase-execution-27): for a current pinned phase it selects the
|
|
185
|
+
* runtime contract profile ({@link runtimeContractForPin}) and drives the
|
|
186
|
+
* pinned `playbook` artifact — resolved against its pipeline directory —
|
|
187
|
+
* through the compiled executor, backing the runtime's player ports with one
|
|
188
|
+
* agent transport per player id and its Captain/judge ports with one shared
|
|
189
|
+
* transport; the roleless composed-v3 path rejects its player port before that
|
|
190
|
+
* lazy player transport is constructed (phase-execution-25). The factory
|
|
191
|
+
* applies the selected model as the default per-player model
|
|
192
|
+
* (phase-execution-13). A rejected selection rejects the returned promise
|
|
193
|
+
* before any artifact loads or transport is built (phase-execution-30).
|
|
161
194
|
*/
|
|
162
195
|
export function createConfiguredCompiledFactory(selection, opts = {}) {
|
|
163
196
|
const client = () => {
|
|
164
197
|
const coder = createConfiguredAgentClient(selection, opts);
|
|
165
198
|
return configuredReviewingClient(selection, coder, opts);
|
|
166
199
|
};
|
|
167
|
-
return (choice) =>
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
200
|
+
return async (choice) => {
|
|
201
|
+
const runtimeContract = await runtimeContractForPin(choice);
|
|
202
|
+
return createCompiledExecutor({
|
|
203
|
+
artifactPath: resolve(choice.pipelineDir, choice.record.artifact.path),
|
|
204
|
+
runRoot: opts.cwd ?? process.cwd(),
|
|
205
|
+
playbookId: choice.phase,
|
|
206
|
+
runtimeContract,
|
|
207
|
+
player: () => client(),
|
|
208
|
+
judge: client(),
|
|
209
|
+
defaultModel: selection.model,
|
|
210
|
+
cwd: opts.cwd,
|
|
211
|
+
onStatus: opts.onStatus,
|
|
212
|
+
});
|
|
213
|
+
};
|
|
178
214
|
}
|
|
179
215
|
function configuredReviewingClient(selection, coder, opts) {
|
|
180
216
|
const reviewer = selection.reviewer;
|
|
@@ -195,30 +231,26 @@ function configuredReviewingClient(selection, coder, opts) {
|
|
|
195
231
|
reviewerModel: reviewer.model,
|
|
196
232
|
});
|
|
197
233
|
}
|
|
198
|
-
|
|
199
|
-
|
|
234
|
+
/**
|
|
235
|
+
* The exact historical provenance maps, retained as recorded (DR-028):
|
|
236
|
+
* absent or Playbook 0.9.0 provenance is the `legacy` contract, and the
|
|
237
|
+
* reviewed six-port generation is `composed-v2`. Every other provenance is
|
|
238
|
+
* decided by the installed engine's declaration instead.
|
|
239
|
+
*
|
|
240
|
+
* Playbook 0.10 ships the composed six-port contract (DR-011); 1.0.0 is the
|
|
241
|
+
* published release of that same generation — 0.10.0 was cut locally and
|
|
242
|
+
* superseded before it reached the registry. 2.0.0 keeps the six-port
|
|
243
|
+
* boundary and structured results while moving Captain host failures onto
|
|
244
|
+
* the resolved `failed` path and emitting thin linked modules (DR-017).
|
|
245
|
+
* 3.1.0 ships runtime.ts byte-identical to 2.0.0 and only adds the additive
|
|
246
|
+
* DR-022 compat self-report (DR-018), and 4.0.0 keeps runtime.ts and the
|
|
247
|
+
* engine byte-identical to 3.1.0's — its major marks the SDK-topology break,
|
|
248
|
+
* not a contract change (DR-020) — so all five select `composed-v2`.
|
|
249
|
+
*/
|
|
250
|
+
export function historicalRuntimeContract(provenance) {
|
|
200
251
|
if (provenance === undefined || provenance === '@sublang/playbook@0.9.0') {
|
|
201
252
|
return 'legacy';
|
|
202
253
|
}
|
|
203
|
-
// Playbook 0.10 ships the composed six-port contract (DR-011); artifacts
|
|
204
|
-
// linked against it run through the composed session profile. 1.0.0 is the
|
|
205
|
-
// published release of that same contract generation — 0.10.0 was cut
|
|
206
|
-
// locally and superseded before it ever reached the registry. 2.0.0 keeps
|
|
207
|
-
// the six-port boundary and structured results while moving Captain host
|
|
208
|
-
// failures onto the resolved `failed` path and emitting thin linked
|
|
209
|
-
// modules (DR-017), so all three provenances select the composed profile.
|
|
210
|
-
// 3.1.0 ships runtime.ts byte-identical to 2.0.0 and only adds the
|
|
211
|
-
// additive DR-022 compat self-report on the shared engine, so it selects
|
|
212
|
-
// the same profile (DR-018). 4.0.0 keeps runtime.ts and the engine
|
|
213
|
-
// byte-identical to 3.1.0's — its major marks the SDK-topology break,
|
|
214
|
-
// with cligent owning runtime versions, not a contract change — so it
|
|
215
|
-
// selects the same profile (DR-020). 1.3.0 and 3.0.0 were never
|
|
216
|
-
// installed or reviewed here and stay fail-closed. Exact Playbook 10.0.0
|
|
217
|
-
// ships schema-3 linked artifacts whose Captain-hosted factory takes
|
|
218
|
-
// configured options plus live host capabilities, so it selects the
|
|
219
|
-
// composed-v3 profile (DR-024). 5.0.0 through 9.0.0 were never reviewed
|
|
220
|
-
// here and stay fail-closed: reviewing 10.0.0 establishes no contract
|
|
221
|
-
// identity for an intermediate release.
|
|
222
254
|
if (provenance === '@sublang/playbook@0.10.0' ||
|
|
223
255
|
provenance === '@sublang/playbook@1.0.0' ||
|
|
224
256
|
provenance === '@sublang/playbook@2.0.0' ||
|
|
@@ -226,9 +258,43 @@ function runtimeContractForPin(choice) {
|
|
|
226
258
|
provenance === '@sublang/playbook@4.0.0') {
|
|
227
259
|
return 'composed-v2';
|
|
228
260
|
}
|
|
229
|
-
|
|
230
|
-
|
|
261
|
+
return undefined;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Selects the runtime contract profile a current pin runs under
|
|
265
|
+
* (phase-execution-30; DR-010, DR-028). The historical exact maps decide
|
|
266
|
+
* `legacy` and `composed-v2`; every other provenance selects `composed-v3`
|
|
267
|
+
* exactly when the pin's link target resolves inside an installed
|
|
268
|
+
* `@sublang/playbook` whose engine declares `RUNTIME_ABI` `1` and
|
|
269
|
+
* `SUPPORTED_ARTIFACT_SCHEMAS` containing `3`, whatever its release version.
|
|
270
|
+
*
|
|
271
|
+
* @throws naming the declaration — or its absence — when the link target
|
|
272
|
+
* lies outside such a package, its engine cannot be read, or it declares
|
|
273
|
+
* another ABI or no schema 3; no profile is inferred from callable members
|
|
274
|
+
* and no other profile is retried.
|
|
275
|
+
*/
|
|
276
|
+
export async function runtimeContractForPin(choice) {
|
|
277
|
+
const provenance = choice.record.linkTarget.provenance;
|
|
278
|
+
const historical = historicalRuntimeContract(provenance);
|
|
279
|
+
if (historical !== undefined)
|
|
280
|
+
return historical;
|
|
281
|
+
const locator = choice.record.linkTarget.locator;
|
|
282
|
+
const reject = (reason) => {
|
|
283
|
+
throw new Error(`unsupported pinned Playbook runtime contract: ${provenance} (${reason})`);
|
|
284
|
+
};
|
|
285
|
+
let declaration;
|
|
286
|
+
try {
|
|
287
|
+
declaration = await readPlaybookRuntimeDeclaration(resolve(choice.pipelineDir, locator));
|
|
288
|
+
}
|
|
289
|
+
catch (error) {
|
|
290
|
+
return reject(messageOf(error));
|
|
291
|
+
}
|
|
292
|
+
if (declaration === undefined) {
|
|
293
|
+
return reject(`link target ${locator} is not inside an installed ${PLAYBOOK_PACKAGE} package`);
|
|
294
|
+
}
|
|
295
|
+
if (!declaresComposedV3(declaration)) {
|
|
296
|
+
return reject(`${describeRuntimeDeclaration(declaration)}; composed-v3 requires RUNTIME_ABI 1 and artifact schema 3`);
|
|
231
297
|
}
|
|
232
|
-
|
|
298
|
+
return 'composed-v3';
|
|
233
299
|
}
|
|
234
300
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,0EAA0E;AAE1E;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/entry-module.d.ts
CHANGED
|
@@ -13,12 +13,4 @@ export interface EmitEntryModuleOptions {
|
|
|
13
13
|
}
|
|
14
14
|
/** Emits the entry module and returns its path. */
|
|
15
15
|
export declare function emitEntryModule(opts: EmitEntryModuleOptions): Promise<string>;
|
|
16
|
-
/**
|
|
17
|
-
* The gears role declaration, verbatim in source order (self-hosting-15).
|
|
18
|
-
* Playbook 10 renames the section `Players:` to `Roles:` and removes aliasing;
|
|
19
|
-
* both headings are read so schema-1 and schema-3 sources emit the same way.
|
|
20
|
-
* A schema-1 alias declaration (`` `A` = `B` | `C` ``) is a launcher option,
|
|
21
|
-
* not a required role, and is excluded.
|
|
22
|
-
*/
|
|
23
|
-
export declare function declaredPlayers(gears: string): string[];
|
|
24
16
|
//# sourceMappingURL=entry-module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-module.d.ts","sourceRoot":"","sources":["../src/entry-module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entry-module.d.ts","sourceRoot":"","sources":["../src/entry-module.ts"],"names":[],"mappings":"AA6BA,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,GAAG,EAAE,MAAM,CAAC;IACZ,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,mDAAmD;AACnD,wBAAsB,eAAe,CACnC,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,MAAM,CAAC,CA4CjB"}
|
package/dist/entry-module.js
CHANGED
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
// SPDX-FileCopyrightText: 2026 SubLang International <https://sublang.ai>
|
|
3
3
|
/**
|
|
4
|
-
* Deterministic entry-module emission (DR-014, DR-017,
|
|
4
|
+
* Deterministic entry-module emission (DR-014, DR-017, DR-024,
|
|
5
|
+
* self-hosting-15).
|
|
5
6
|
*
|
|
6
7
|
* After a successful full-link of the `playbook` pipeline, {@link
|
|
7
8
|
* emitEntryModule} writes `<cwd>/<basename>.ts`: an erasable-TypeScript module
|
|
8
9
|
* default-exporting a Playbook registry entry derived entirely from the
|
|
9
10
|
* compiled bundle — `id`/`command` from the basename, `requiredRoleIds` from
|
|
10
|
-
* the gears `Players:` declaration, `intent` from the normalized
|
|
11
|
-
* title and lead line, an option allowlist carrying `cwd` exactly
|
|
12
|
-
* source compiled a script item, and `createRuntime` wiring the
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* session's `callPlayer` port
|
|
16
|
-
*
|
|
11
|
+
* the gears `Roles:`/`Players:` declaration, `intent` from the normalized
|
|
12
|
+
* source's title and lead line, an option allowlist carrying `cwd` exactly
|
|
13
|
+
* when the source compiled a script item, and `createRuntime` wiring the
|
|
14
|
+
* linked default factory. A current `Roles:` source declares the canonical
|
|
15
|
+
* lowercase local role ids its compiled machine's delegated states name, so
|
|
16
|
+
* the host binds exactly those ids and the session's `callPlayer` port needs
|
|
17
|
+
* no translation (DR-024); a historical `Players:` source keeps its verbatim
|
|
18
|
+
* declared names behind the DR-017 role-binding boundary, which maps the
|
|
19
|
+
* linked runtime's lowercased player ids back to them. Its generation's host
|
|
20
|
+
* consumes the module unchanged (self-hosting-14). See
|
|
21
|
+
* specs/packages/self-hosting.md.
|
|
17
22
|
*/
|
|
18
23
|
import { readFile, writeFile } from 'node:fs/promises';
|
|
19
24
|
import { join } from 'node:path';
|
|
@@ -22,29 +27,33 @@ import { inspectGearsRoleContract, parseGearsItems } from './verify.js';
|
|
|
22
27
|
export async function emitEntryModule(opts) {
|
|
23
28
|
const gears = await readFile(opts.gearsPath, 'utf8');
|
|
24
29
|
const text = await readFile(opts.textPath, 'utf8');
|
|
25
|
-
|
|
26
|
-
//
|
|
27
|
-
//
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
// One derivation serves both generations: the declared names, verbatim in
|
|
31
|
+
// source order, and the canonical lowercase local role ids the compiled
|
|
32
|
+
// machine's delegated states carry. A `Roles:` source compiles to a schema-3
|
|
33
|
+
// artifact whose linked factory takes configured options plus live host
|
|
34
|
+
// capabilities; a `Players:` source keeps the schema-1 entry contract
|
|
35
|
+
// (DR-024).
|
|
36
|
+
const roleContract = inspectGearsRoleContract(gears);
|
|
37
|
+
const schema3 = roleContract.generation === 'schema-3';
|
|
38
|
+
// Two declared names differing only by case derive one canonical role id, so
|
|
39
|
+
// neither the schema-3 host binding nor the schema-1 role-binding boundary
|
|
40
|
+
// could tell them apart (DR-017, DR-024).
|
|
41
|
+
const byRoleId = new Map();
|
|
42
|
+
roleContract.names.forEach((name, index) => {
|
|
43
|
+
const roleId = roleContract.roleIds[index];
|
|
44
|
+
const existing = byRoleId.get(roleId);
|
|
45
|
+
if (existing !== undefined && existing !== name) {
|
|
46
|
+
throw new Error(`entry emission failed: declared players "${existing}" and "${name}" collide case-insensitively`);
|
|
33
47
|
}
|
|
34
|
-
|
|
35
|
-
}
|
|
48
|
+
byRoleId.set(roleId, name);
|
|
49
|
+
});
|
|
36
50
|
const hasScript = parseGearsItems(gears).some((item) => item.actor === 'script');
|
|
37
51
|
const intent = deriveIntent(text) ?? opts.basename;
|
|
38
|
-
// A `Roles:` source compiles to a schema-3 artifact whose linked factory
|
|
39
|
-
// takes configured options plus live host capabilities; a `Players:` source
|
|
40
|
-
// keeps the schema-1 entry contract (DR-024).
|
|
41
|
-
const roleContract = inspectGearsRoleContract(gears);
|
|
42
|
-
const schema3 = roleContract.generation === 'schema-3';
|
|
43
52
|
const path = join(opts.cwd, `${opts.basename}.ts`);
|
|
44
53
|
await writeFile(path, renderEntryModule({
|
|
45
54
|
basename: opts.basename,
|
|
46
55
|
bundleLeaf: `${opts.basename}.${opts.pipeline}`,
|
|
47
|
-
|
|
56
|
+
roleIds: schema3 ? roleContract.roleIds : roleContract.names,
|
|
48
57
|
hasScript,
|
|
49
58
|
intent,
|
|
50
59
|
schema3,
|
|
@@ -52,40 +61,6 @@ export async function emitEntryModule(opts) {
|
|
|
52
61
|
}), 'utf8');
|
|
53
62
|
return path;
|
|
54
63
|
}
|
|
55
|
-
/**
|
|
56
|
-
* The gears role declaration, verbatim in source order (self-hosting-15).
|
|
57
|
-
* Playbook 10 renames the section `Players:` to `Roles:` and removes aliasing;
|
|
58
|
-
* both headings are read so schema-1 and schema-3 sources emit the same way.
|
|
59
|
-
* A schema-1 alias declaration (`` `A` = `B` | `C` ``) is a launcher option,
|
|
60
|
-
* not a required role, and is excluded.
|
|
61
|
-
*/
|
|
62
|
-
export function declaredPlayers(gears) {
|
|
63
|
-
const players = [];
|
|
64
|
-
let inBlock = false;
|
|
65
|
-
for (const line of gears.split('\n')) {
|
|
66
|
-
// Gears render the declaration either as a `Players:`/`Roles:` line or as
|
|
67
|
-
// the matching markdown heading; all carry the same source declaration.
|
|
68
|
-
if (/^(?:#{1,6}\s+(?:Players|Roles)|(?:Players|Roles):)\s*$/.test(line.trim())) {
|
|
69
|
-
inBlock = true;
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
if (!inBlock)
|
|
73
|
-
continue;
|
|
74
|
-
const bullet = /^-\s+(.*)$/.exec(line.trim());
|
|
75
|
-
if (bullet === null) {
|
|
76
|
-
if (line.trim() === '')
|
|
77
|
-
continue;
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
const declaration = bullet[1];
|
|
81
|
-
if (declaration.includes('='))
|
|
82
|
-
continue;
|
|
83
|
-
const name = /^[`"“]?([^`"”]+?)[`"”]?\s*$/.exec(declaration.trim());
|
|
84
|
-
if (name !== null && name[1].length > 0)
|
|
85
|
-
players.push(name[1]);
|
|
86
|
-
}
|
|
87
|
-
return players;
|
|
88
|
-
}
|
|
89
64
|
/** Title and lead line of the normalized source, joined as the intent. */
|
|
90
65
|
function deriveIntent(text) {
|
|
91
66
|
let title;
|
|
@@ -133,26 +108,24 @@ function renderEntryModule(spec) {
|
|
|
133
108
|
const factoryArgument = spec.schema3
|
|
134
109
|
? `{\n configuredOptions: ${cwdWiring},\n hostCapabilities,\n }`
|
|
135
110
|
: cwdWiring;
|
|
111
|
+
// The manifest's `runtimeProfile` is the host's implementation declaration,
|
|
112
|
+
// not slc's internal contract marker: a shared-factory artifact declares
|
|
113
|
+
// `{ kind: 'shared-factory', compat }` whose `compat` is the very immutable
|
|
114
|
+
// record the linked factory captured from its validated `spec.compat` — the
|
|
115
|
+
// artifact's own `{ artifactSchema, runtimeAbi }` declaration — so the host
|
|
116
|
+
// reads the emitted module's compatibility rather than a marker string it
|
|
117
|
+
// cannot interpret (DR-024, DR-028).
|
|
136
118
|
const schemaMembers = spec.schema3
|
|
137
|
-
? `\n artifactSchema: 3,\n runtimeProfile: '
|
|
119
|
+
? `\n artifactSchema: 3,\n runtimeProfile: Object.freeze({\n kind: 'shared-factory',\n compat: createPlaybookRuntime.compat,\n }),\n concurrentRoleSets: ${JSON.stringify(spec.concurrentRoleSets)} as readonly (readonly string[])[],`
|
|
138
120
|
: '';
|
|
139
|
-
|
|
140
|
-
//
|
|
141
|
-
//
|
|
142
|
-
//
|
|
143
|
-
//
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
import createPlaybookRuntime from './${spec.bundleLeaf}/${spec.basename}.playbook.ts';
|
|
148
|
-
|
|
149
|
-
type FactoryInput = NonNullable<Parameters<typeof createPlaybookRuntime>[0]>;
|
|
150
|
-
${runtimeOptionsAlias}
|
|
151
|
-
|
|
152
|
-
const ALLOWED_OPTION_KEYS: readonly string[] = ${allowed};
|
|
153
|
-
|
|
154
|
-
const REQUIRED_ROLE_IDS: readonly string[] = [${spec.players.map(sourceString).join(', ')}];
|
|
155
|
-
|
|
121
|
+
// A schema-3 entry declares the very ids the machine's delegated states
|
|
122
|
+
// name, so the host's `callPlayer` port needs no translation and the entry
|
|
123
|
+
// returns the linked factory's runtime directly (DR-024). Only a historical
|
|
124
|
+
// schema-1 entry keeps the DR-017 role-binding boundary, which maps the
|
|
125
|
+
// runtime's lowercased player ids back to the verbatim declared names.
|
|
126
|
+
const roleBinding = spec.schema3
|
|
127
|
+
? ''
|
|
128
|
+
: `
|
|
156
129
|
const ROLE_ID_BY_RESOLVED: ReadonlyMap<string, string> = new Map(
|
|
157
130
|
REQUIRED_ROLE_IDS.map((id): [string, string] => [id.toLowerCase(), id]),
|
|
158
131
|
);
|
|
@@ -198,7 +171,32 @@ function withRoleBinding<T extends object>(runtime: T): T {
|
|
|
198
171
|
},
|
|
199
172
|
});
|
|
200
173
|
}
|
|
174
|
+
`;
|
|
175
|
+
const runtimeExpression = spec.schema3
|
|
176
|
+
? `createPlaybookRuntime(${factoryArgument})`
|
|
177
|
+
: `withRoleBinding(createPlaybookRuntime(${factoryArgument}))`;
|
|
178
|
+
const roleNote = spec.schema3
|
|
179
|
+
? `// bundle; recompiling regenerates it. \`requiredRoleIds\` are the canonical
|
|
180
|
+
// lowercase local role ids the compiled machine's delegated states name
|
|
181
|
+
// (DR-024).`
|
|
182
|
+
: `// bundle; recompiling regenerates it. The role-binding boundary (DR-017)
|
|
183
|
+
// hands the host's \`callPlayer\` port only declared role ids.`;
|
|
184
|
+
return `// SPDX-License-Identifier: Apache-2.0
|
|
185
|
+
// SPDX-FileCopyrightText: 2026 SubLang International <https://sublang.ai>
|
|
186
|
+
//
|
|
187
|
+
// Generated by slc (DR-014): the registry entry exposing the compiled
|
|
188
|
+
// playbook to \`playbook run\`. Derived deterministically from the compiled
|
|
189
|
+
${roleNote}
|
|
190
|
+
|
|
191
|
+
import createPlaybookRuntime from './${spec.bundleLeaf}/${spec.basename}.playbook.ts';
|
|
192
|
+
|
|
193
|
+
type FactoryInput = NonNullable<Parameters<typeof createPlaybookRuntime>[0]>;
|
|
194
|
+
${runtimeOptionsAlias}
|
|
195
|
+
|
|
196
|
+
const ALLOWED_OPTION_KEYS: readonly string[] = ${allowed};
|
|
201
197
|
|
|
198
|
+
const REQUIRED_ROLE_IDS: readonly string[] = [${spec.roleIds.map(sourceString).join(', ')}];
|
|
199
|
+
${roleBinding}
|
|
202
200
|
function validateOptions(value: unknown): RuntimeOptions {
|
|
203
201
|
if (value === undefined) return {};
|
|
204
202
|
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
@@ -227,7 +225,7 @@ const entry = {
|
|
|
227
225
|
validateOptions,
|
|
228
226
|
createRuntime(options: { captainOptions?: unknown }${schema3Param}) {
|
|
229
227
|
const validated = validateOptions(options.captainOptions);
|
|
230
|
-
return
|
|
228
|
+
return ${runtimeExpression};
|
|
231
229
|
},
|
|
232
230
|
};
|
|
233
231
|
|
package/dist/entry-module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-module.js","sourceRoot":"","sources":["../src/entry-module.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,0EAA0E;AAE1E
|
|
1
|
+
{"version":3,"file":"entry-module.js","sourceRoot":"","sources":["../src/entry-module.ts"],"names":[],"mappings":"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"}
|
package/dist/execution.d.ts
CHANGED
|
@@ -25,6 +25,13 @@ export interface UpdateContext {
|
|
|
25
25
|
* compiled performing prompts (incremental-compilation-16).
|
|
26
26
|
*/
|
|
27
27
|
export declare function updateContextLines(update: UpdateContext, target: string): string[];
|
|
28
|
+
/**
|
|
29
|
+
* A host-owned deterministic review of the work a performing agent just did,
|
|
30
|
+
* returning one finding per violation and the empty array when it conserves its
|
|
31
|
+
* input (phase-execution-51). The host reads the live artifact itself, so the
|
|
32
|
+
* hook is re-run before each Reviewer call rather than snapshotted.
|
|
33
|
+
*/
|
|
34
|
+
export type MechanicalReview = () => Promise<readonly string[]>;
|
|
28
35
|
/** What a phase execution is asked to produce: a compile target or a linked artifact. */
|
|
29
36
|
export type ExecuteRequest = {
|
|
30
37
|
kind: 'compile';
|
|
@@ -32,6 +39,12 @@ export type ExecuteRequest = {
|
|
|
32
39
|
definitionPath: string;
|
|
33
40
|
source: string;
|
|
34
41
|
target: string;
|
|
42
|
+
/**
|
|
43
|
+
* Deterministic gate on the produced target, supplied by the host for the
|
|
44
|
+
* compile phases that have one — currently text-to-GEARS (DR-029,
|
|
45
|
+
* phase-execution-51). Absent for every other compile phase.
|
|
46
|
+
*/
|
|
47
|
+
mechanicalReview?: MechanicalReview;
|
|
35
48
|
/**
|
|
36
49
|
* Read-only reference documents the definition tells the executor to
|
|
37
50
|
* consult — e.g. the entry-phase definition a generic normalize step
|
|
@@ -48,6 +61,12 @@ export type ExecuteRequest = {
|
|
|
48
61
|
linkTarget: string;
|
|
49
62
|
options: LinkOptionPair[];
|
|
50
63
|
linked: string;
|
|
64
|
+
/**
|
|
65
|
+
* Deterministic gate on the produced linked module, supplied by the host
|
|
66
|
+
* for a `playbook` link over an FSM object (DR-030,
|
|
67
|
+
* phase-execution-53). Absent for every other link.
|
|
68
|
+
*/
|
|
69
|
+
mechanicalReview?: MechanicalReview;
|
|
51
70
|
};
|
|
52
71
|
/** Terminal status an executor reports for a phase run. */
|
|
53
72
|
export type ExecutorStatus = 'ok' | 'blocked' | 'error';
|
package/dist/execution.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"AA+CA,mGAAmG;AACnG,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAwBV;AAED,yFAAyF;AACzF,MAAM,MAAM,cAAc,GACtB;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,sFAAsF;IACtF,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,4FAA4F;IAC5F,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,0FAA0F;IAC1F,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"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"}
|