@sublang/slc 0.4.0 → 0.6.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 +100 -131
- package/dist/app.d.ts +20 -20
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +37 -30
- package/dist/app.js.map +1 -1
- package/dist/artifacts.d.ts +6 -6
- package/dist/artifacts.d.ts.map +1 -1
- package/dist/artifacts.js +9 -9
- package/dist/artifacts.js.map +1 -1
- package/dist/cli.js +3 -3
- package/dist/cligent-agent.d.ts +1 -1
- package/dist/cligent-agent.js +5 -5
- package/dist/compiled-executor.d.ts +14 -6
- package/dist/compiled-executor.d.ts.map +1 -1
- package/dist/compiled-executor.js +133 -31
- package/dist/compiled-executor.js.map +1 -1
- package/dist/config-file.d.ts +10 -6
- package/dist/config-file.d.ts.map +1 -1
- package/dist/config-file.js +23 -10
- package/dist/config-file.js.map +1 -1
- package/dist/config.d.ts +22 -18
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +90 -27
- package/dist/config.js.map +1 -1
- package/dist/emitted-imports.d.ts +14 -0
- package/dist/emitted-imports.d.ts.map +1 -1
- package/dist/emitted-imports.js +63 -7
- package/dist/emitted-imports.js.map +1 -1
- package/dist/entry-module.d.ts +5 -3
- package/dist/entry-module.d.ts.map +1 -1
- package/dist/entry-module.js +41 -13
- package/dist/entry-module.js.map +1 -1
- package/dist/execution.d.ts +10 -10
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +13 -13
- package/dist/execution.js.map +1 -1
- package/dist/hash.js +2 -2
- package/dist/host-capabilities.d.ts +115 -0
- package/dist/host-capabilities.d.ts.map +1 -0
- package/dist/host-capabilities.js +507 -0
- package/dist/host-capabilities.js.map +1 -0
- 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 +2 -2
- package/dist/interpreter.d.ts.map +1 -1
- package/dist/interpreter.js +7 -7
- package/dist/invocation.d.ts +6 -6
- package/dist/invocation.d.ts.map +1 -1
- package/dist/invocation.js +1 -1
- package/dist/link.d.ts +4 -4
- package/dist/link.d.ts.map +1 -1
- package/dist/link.js +11 -11
- package/dist/link.js.map +1 -1
- package/dist/phase-runner.d.ts +4 -4
- package/dist/phase-runner.js +9 -9
- package/dist/phase.d.ts +4 -4
- package/dist/phase.d.ts.map +1 -1
- package/dist/phase.js +7 -7
- package/dist/phase.js.map +1 -1
- package/dist/pin-closure.d.ts +35 -7
- package/dist/pin-closure.d.ts.map +1 -1
- package/dist/pin-closure.js +135 -21
- package/dist/pin-closure.js.map +1 -1
- package/dist/pin-currency.d.ts +9 -4
- package/dist/pin-currency.d.ts.map +1 -1
- package/dist/pin-currency.js +57 -20
- package/dist/pin-currency.js.map +1 -1
- package/dist/pin-generate.d.ts +7 -7
- package/dist/pin-generate.d.ts.map +1 -1
- package/dist/pin-generate.js +14 -8
- package/dist/pin-generate.js.map +1 -1
- package/dist/pin-inputs.d.ts +41 -0
- package/dist/pin-inputs.d.ts.map +1 -0
- package/dist/pin-inputs.js +179 -0
- package/dist/pin-inputs.js.map +1 -0
- package/dist/pin-paths.d.ts +1 -1
- package/dist/pin-paths.js +4 -4
- package/dist/pin-paths.js.map +1 -1
- package/dist/pins.d.ts +4 -4
- package/dist/pins.d.ts.map +1 -1
- package/dist/pins.js +5 -5
- package/dist/pins.js.map +1 -1
- package/dist/pipeline.d.ts +5 -5
- package/dist/pipeline.js +10 -10
- package/dist/playbook-contract.d.ts +53 -5
- package/dist/playbook-contract.d.ts.map +1 -1
- package/dist/playbook-contract.js +70 -21
- package/dist/playbook-contract.js.map +1 -1
- package/dist/playbook-ports.d.ts +9 -9
- package/dist/playbook-ports.d.ts.map +1 -1
- package/dist/playbook-ports.js +6 -4
- package/dist/playbook-ports.js.map +1 -1
- package/dist/progress.d.ts +8 -9
- package/dist/progress.d.ts.map +1 -1
- package/dist/progress.js +3 -3
- package/dist/progress.js.map +1 -1
- package/dist/resolver.d.ts +9 -9
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +12 -12
- package/dist/resolver.js.map +1 -1
- package/dist/reviewing-agent.d.ts +18 -0
- package/dist/reviewing-agent.d.ts.map +1 -0
- package/dist/reviewing-agent.js +295 -0
- package/dist/reviewing-agent.js.map +1 -0
- package/dist/runner.d.ts +1 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +195 -80
- package/dist/runner.js.map +1 -1
- package/dist/slc.config.template.yaml +6 -2
- package/dist/verify-coverage.d.ts +4 -3
- package/dist/verify-coverage.d.ts.map +1 -1
- package/dist/verify-coverage.js +509 -71
- package/dist/verify-coverage.js.map +1 -1
- package/dist/verify.d.ts +111 -15
- package/dist/verify.d.ts.map +1 -1
- package/dist/verify.js +656 -59
- package/dist/verify.js.map +1 -1
- package/package.json +3 -3
package/dist/emitted-imports.js
CHANGED
|
@@ -1,19 +1,75 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
// SPDX-FileCopyrightText: 2026 SubLang International <https://sublang.ai>
|
|
3
3
|
/**
|
|
4
|
-
* Deterministic load-integrity
|
|
4
|
+
* Deterministic link-object import settlement and load-integrity checks for
|
|
5
|
+
* emitted modules (pipeline-40, verification-18).
|
|
5
6
|
*
|
|
6
7
|
* A linked artifact is code whose relative imports Node resolves with exact
|
|
7
8
|
* specifiers — `./workflow.fsm.js` does not find `workflow.fsm.ts`. An
|
|
8
|
-
* agent-performed link can emit the wrong extension
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* agent-performed link can emit the wrong extension for its object import. The
|
|
10
|
+
* host settles that exact edge mechanically against a `.js` or `.ts` sibling
|
|
11
|
+
* that currently exists, then requires every relative specifier to name an
|
|
12
|
+
* existing file beside it. A genuinely unloadable module still fails before
|
|
13
|
+
* the first `playbook run`.
|
|
12
14
|
*/
|
|
13
|
-
import { existsSync } from 'node:fs';
|
|
14
|
-
import { readFile } from 'node:fs/promises';
|
|
15
|
+
import { existsSync, statSync } from 'node:fs';
|
|
16
|
+
import { readFile, writeFile } from 'node:fs/promises';
|
|
15
17
|
import { dirname, resolve } from 'node:path';
|
|
16
18
|
const IMPORT_SPECIFIER = /\bfrom\s+(['"])([^'"\n]+)\1|\bimport\s*\(\s*(['"])([^'"\n]+)\3\s*\)|\bimport\s+(['"])([^'"\n]+)\5/g;
|
|
19
|
+
const isRegularFile = (path) => statSync(path, { throwIfNoEntry: false })?.isFile() ?? false;
|
|
20
|
+
/**
|
|
21
|
+
* Settles relative `.js`/`.ts` imports of the link's object artifacts from the
|
|
22
|
+
* files that actually exist beside an emitted module. A materialized
|
|
23
|
+
* JavaScript sibling wins; otherwise the declared TypeScript object's sibling
|
|
24
|
+
* is used when present. Unrelated imports and object specifiers with neither
|
|
25
|
+
* sibling are left for
|
|
26
|
+
* {@link unresolvableRelativeImports} to reject.
|
|
27
|
+
*/
|
|
28
|
+
export async function reconcileLinkObjectImportSpecifiers(modulePath, objectPaths) {
|
|
29
|
+
const source = await readFile(modulePath, 'utf8');
|
|
30
|
+
const dir = dirname(modulePath);
|
|
31
|
+
const emittedPath = resolve(modulePath);
|
|
32
|
+
const objectStems = new Set(objectPaths
|
|
33
|
+
.map((path) => resolve(path))
|
|
34
|
+
.filter((path) => path.endsWith('.js') || path.endsWith('.ts'))
|
|
35
|
+
.map((path) => path.slice(0, -3)));
|
|
36
|
+
const rewrites = [];
|
|
37
|
+
let cursor = 0;
|
|
38
|
+
let reconciled = '';
|
|
39
|
+
for (const match of source.matchAll(IMPORT_SPECIFIER)) {
|
|
40
|
+
const specifier = match[2] ?? match[4] ?? match[6];
|
|
41
|
+
if (specifier === undefined || match.index === undefined)
|
|
42
|
+
continue;
|
|
43
|
+
if (!specifier.startsWith('./') && !specifier.startsWith('../'))
|
|
44
|
+
continue;
|
|
45
|
+
if (!specifier.endsWith('.js') && !specifier.endsWith('.ts'))
|
|
46
|
+
continue;
|
|
47
|
+
const stem = specifier.slice(0, -3);
|
|
48
|
+
if (!objectStems.has(resolve(dir, stem)))
|
|
49
|
+
continue;
|
|
50
|
+
const jsSpecifier = `${stem}.js`;
|
|
51
|
+
const tsSpecifier = `${stem}.ts`;
|
|
52
|
+
const jsPath = resolve(dir, jsSpecifier);
|
|
53
|
+
const tsPath = resolve(dir, tsSpecifier);
|
|
54
|
+
const preferred = jsPath !== emittedPath && isRegularFile(jsPath)
|
|
55
|
+
? jsSpecifier
|
|
56
|
+
: tsPath !== emittedPath && isRegularFile(tsPath)
|
|
57
|
+
? tsSpecifier
|
|
58
|
+
: specifier;
|
|
59
|
+
if (preferred === specifier)
|
|
60
|
+
continue;
|
|
61
|
+
const specifierIndex = match[0].indexOf(specifier);
|
|
62
|
+
const start = match.index + specifierIndex;
|
|
63
|
+
reconciled += source.slice(cursor, start) + preferred;
|
|
64
|
+
cursor = start + specifier.length;
|
|
65
|
+
rewrites.push({ from: specifier, to: preferred });
|
|
66
|
+
}
|
|
67
|
+
if (rewrites.length > 0) {
|
|
68
|
+
reconciled += source.slice(cursor);
|
|
69
|
+
await writeFile(modulePath, reconciled, 'utf8');
|
|
70
|
+
}
|
|
71
|
+
return rewrites;
|
|
72
|
+
}
|
|
17
73
|
/**
|
|
18
74
|
* The relative import specifiers of a `.ts`/`.js` module that do not resolve
|
|
19
75
|
* to an existing file from the module's own directory, in source order.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitted-imports.js","sourceRoot":"","sources":["../src/emitted-imports.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,0EAA0E;AAE1E
|
|
1
|
+
{"version":3,"file":"emitted-imports.js","sourceRoot":"","sources":["../src/emitted-imports.ts"],"names":[],"mappings":"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"}
|
package/dist/entry-module.d.ts
CHANGED
|
@@ -14,9 +14,11 @@ export interface EmitEntryModuleOptions {
|
|
|
14
14
|
/** Emits the entry module and returns its path. */
|
|
15
15
|
export declare function emitEntryModule(opts: EmitEntryModuleOptions): Promise<string>;
|
|
16
16
|
/**
|
|
17
|
-
* The gears
|
|
18
|
-
*
|
|
19
|
-
*
|
|
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.
|
|
20
22
|
*/
|
|
21
23
|
export declare function declaredPlayers(gears: string): string[];
|
|
22
24
|
//# sourceMappingURL=entry-module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-module.d.ts","sourceRoot":"","sources":["../src/entry-module.ts"],"names":[],"mappings":"AAwBA,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,
|
|
1
|
+
{"version":3,"file":"entry-module.d.ts","sourceRoot":"","sources":["../src/entry-module.ts"],"names":[],"mappings":"AAwBA,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,CAwCjB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAwBvD"}
|
package/dist/entry-module.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
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, self-hosting-15).
|
|
5
5
|
*
|
|
6
6
|
* After a successful full-link of the `playbook` pipeline, {@link
|
|
7
7
|
* emitEntryModule} writes `<cwd>/<basename>.ts`: an erasable-TypeScript module
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
* factory behind the DR-017 role-binding boundary, which maps the linked
|
|
14
14
|
* runtime's lowercased player ids back to the declared role ids at the
|
|
15
15
|
* session's `callPlayer` port. `playbook run ./<basename>.ts "<task>"`
|
|
16
|
-
* consumes it unchanged (
|
|
16
|
+
* consumes it unchanged (self-hosting-14). See specs/packages/self-hosting.md.
|
|
17
17
|
*/
|
|
18
18
|
import { readFile, writeFile } from 'node:fs/promises';
|
|
19
19
|
import { join } from 'node:path';
|
|
20
|
-
import { parseGearsItems } from './verify.js';
|
|
20
|
+
import { inspectGearsRoleContract, parseGearsItems } from './verify.js';
|
|
21
21
|
/** Emits the entry module and returns its path. */
|
|
22
22
|
export async function emitEntryModule(opts) {
|
|
23
23
|
const gears = await readFile(opts.gearsPath, 'utf8');
|
|
@@ -35,6 +35,11 @@ export async function emitEntryModule(opts) {
|
|
|
35
35
|
}
|
|
36
36
|
const hasScript = parseGearsItems(gears).some((item) => item.actor === 'script');
|
|
37
37
|
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';
|
|
38
43
|
const path = join(opts.cwd, `${opts.basename}.ts`);
|
|
39
44
|
await writeFile(path, renderEntryModule({
|
|
40
45
|
basename: opts.basename,
|
|
@@ -42,21 +47,25 @@ export async function emitEntryModule(opts) {
|
|
|
42
47
|
players,
|
|
43
48
|
hasScript,
|
|
44
49
|
intent,
|
|
50
|
+
schema3,
|
|
51
|
+
concurrentRoleSets: schema3 ? roleContract.concurrentRoleSets : [],
|
|
45
52
|
}), 'utf8');
|
|
46
53
|
return path;
|
|
47
54
|
}
|
|
48
55
|
/**
|
|
49
|
-
* The gears
|
|
50
|
-
*
|
|
51
|
-
*
|
|
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.
|
|
52
61
|
*/
|
|
53
62
|
export function declaredPlayers(gears) {
|
|
54
63
|
const players = [];
|
|
55
64
|
let inBlock = false;
|
|
56
65
|
for (const line of gears.split('\n')) {
|
|
57
|
-
// Gears render the declaration either as a `Players:` line or as
|
|
58
|
-
// markdown
|
|
59
|
-
if (/^(?:#{1,6}\s+Players|Players:)\s*$/.test(line.trim())) {
|
|
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())) {
|
|
60
69
|
inBlock = true;
|
|
61
70
|
continue;
|
|
62
71
|
}
|
|
@@ -109,6 +118,24 @@ function renderEntryModule(spec) {
|
|
|
109
118
|
const cwdWiring = spec.hasScript
|
|
110
119
|
? `{\n ...validated,\n cwd: validated.cwd ?? process.cwd(),\n }`
|
|
111
120
|
: `validated`;
|
|
121
|
+
// A schema-3 linked factory takes exactly `configuredOptions` and live
|
|
122
|
+
// `hostCapabilities`; a schema-1 factory keeps its single options argument
|
|
123
|
+
// under its own historical dependency closure (DR-024).
|
|
124
|
+
// Both aliases come from the artifact's own factory signature, so the entry
|
|
125
|
+
// imports no host-owned type: a schema-3 input carries `configuredOptions`
|
|
126
|
+
// and `hostCapabilities`, a schema-1 input is the options object itself.
|
|
127
|
+
const runtimeOptionsAlias = spec.schema3
|
|
128
|
+
? `type RuntimeOptions = FactoryInput['configuredOptions'];\ntype HostCapabilities = FactoryInput['hostCapabilities'];`
|
|
129
|
+
: `type RuntimeOptions = FactoryInput;`;
|
|
130
|
+
const schema3Param = spec.schema3
|
|
131
|
+
? `,\n hostCapabilities: HostCapabilities`
|
|
132
|
+
: '';
|
|
133
|
+
const factoryArgument = spec.schema3
|
|
134
|
+
? `{\n configuredOptions: ${cwdWiring},\n hostCapabilities,\n }`
|
|
135
|
+
: cwdWiring;
|
|
136
|
+
const schemaMembers = spec.schema3
|
|
137
|
+
? `\n artifactSchema: 3,\n runtimeProfile: 'composed-v3',\n concurrentRoleSets: ${JSON.stringify(spec.concurrentRoleSets)} as readonly (readonly string[])[],`
|
|
138
|
+
: '';
|
|
112
139
|
return `// SPDX-License-Identifier: Apache-2.0
|
|
113
140
|
// SPDX-FileCopyrightText: 2026 SubLang International <https://sublang.ai>
|
|
114
141
|
//
|
|
@@ -119,7 +146,8 @@ function renderEntryModule(spec) {
|
|
|
119
146
|
|
|
120
147
|
import createPlaybookRuntime from './${spec.bundleLeaf}/${spec.basename}.playbook.ts';
|
|
121
148
|
|
|
122
|
-
type
|
|
149
|
+
type FactoryInput = NonNullable<Parameters<typeof createPlaybookRuntime>[0]>;
|
|
150
|
+
${runtimeOptionsAlias}
|
|
123
151
|
|
|
124
152
|
const ALLOWED_OPTION_KEYS: readonly string[] = ${allowed};
|
|
125
153
|
|
|
@@ -194,12 +222,12 @@ function validateOptions(value: unknown): RuntimeOptions {
|
|
|
194
222
|
const entry = {
|
|
195
223
|
id: ${sourceString(spec.basename)},
|
|
196
224
|
command: ${sourceString(spec.basename)},
|
|
197
|
-
intent: ${sourceString(spec.intent)}
|
|
225
|
+
intent: ${sourceString(spec.intent)},${schemaMembers}
|
|
198
226
|
requiredRoleIds: [...REQUIRED_ROLE_IDS],
|
|
199
227
|
validateOptions,
|
|
200
|
-
createRuntime(options: { captainOptions?: unknown }) {
|
|
228
|
+
createRuntime(options: { captainOptions?: unknown }${schema3Param}) {
|
|
201
229
|
const validated = validateOptions(options.captainOptions);
|
|
202
|
-
return withRoleBinding(createPlaybookRuntime(${
|
|
230
|
+
return withRoleBinding(createPlaybookRuntime(${factoryArgument}));
|
|
203
231
|
},
|
|
204
232
|
};
|
|
205
233
|
|
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;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"entry-module.js","sourceRoot":"","sources":["../src/entry-module.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,0EAA0E;AAE1E;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAgBxE,mDAAmD;AACnD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAA4B;IAE5B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACvC,0EAA0E;IAC1E,wEAAwE;IACxE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACrD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CACb,4CAA4C,QAAQ,UAAU,MAAM,8BAA8B,CACnG,CAAC;QACJ,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAC3C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAClC,CAAC;IACF,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC;IACnD,yEAAyE;IACzE,4EAA4E;IAC5E,8CAA8C;IAC9C,MAAM,YAAY,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,KAAK,UAAU,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;IACnD,MAAM,SAAS,CACb,IAAI,EACJ,iBAAiB,CAAC;QAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;QAC/C,OAAO;QACP,SAAS;QACT,MAAM;QACN,OAAO;QACP,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;KACnE,CAAC,EACF,MAAM,CACP,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,0EAA0E;QAC1E,wEAAwE;QACxE,IACE,wDAAwD,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAC1E,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;gBAAE,SAAS;YACjC,MAAM;QACR,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QACxC,MAAM,IAAI,GAAG,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACpE,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,0EAA0E;AAC1E,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,KAAyB,CAAC;IAC9B,IAAI,IAAwB,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,SAAS;QAC3D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;QACH,CAAC;QACD,IACE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YACvB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YACvB,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAC7B,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,GAAG,OAAO,CAAC;QACf,MAAM;IACR,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,GAAG,KAAK,MAAM,IAAI,EAAE,CAAC;IAC3E,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAQ1B;IACC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS;QAC9B,CAAC,CAAC,2EAA2E;QAC7E,CAAC,CAAC,WAAW,CAAC;IAChB,uEAAuE;IACvE,2EAA2E;IAC3E,wDAAwD;IACxD,4EAA4E;IAC5E,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO;QACtC,CAAC,CAAC,qHAAqH;QACvH,CAAC,CAAC,qCAAqC,CAAC;IAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO;QAC/B,CAAC,CAAC,2CAA2C;QAC7C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO;QAClC,CAAC,CAAC,+BAA+B,SAAS,mCAAmC;QAC7E,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO;QAChC,CAAC,CAAC,mFAAmF,IAAI,CAAC,SAAS,CAC/F,IAAI,CAAC,kBAAkB,CACxB,qCAAqC;QACxC,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;;;;;;;;uCAQ8B,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ;;;EAGrE,mBAAmB;;iDAE4B,OAAO;;gDAER,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqEjF,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;aACtB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,aAAa;;;uDAGC,YAAY;;mDAEhB,eAAe;;;;;CAKjE,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,0EAA0E;IAC1E,kDAAkD;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC/B,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;SAC7B,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1E,OAAO,IAAI,KAAK,GAAG,CAAC;AACtB,CAAC"}
|
package/dist/execution.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/** An opaque link option pair (
|
|
1
|
+
/** An opaque link option pair (pipeline-14), structurally compatible with the CLI's LinkOption. */
|
|
2
2
|
export interface LinkOptionPair {
|
|
3
3
|
name: string;
|
|
4
4
|
value: string;
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
|
-
* Host-supplied update-mode context for a compile step (DR-021,
|
|
7
|
+
* Host-supplied update-mode context for a compile step (DR-021, incremental-compilation-15).
|
|
8
8
|
*
|
|
9
9
|
* The existing target file is the previously accepted output; the executor is
|
|
10
10
|
* asked to update it rather than regenerate from scratch. Purely an
|
|
@@ -22,13 +22,13 @@ export interface UpdateContext {
|
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* Renders the host-owned update instruction shared by interpreted prompts and
|
|
25
|
-
* compiled performing prompts (
|
|
25
|
+
* compiled performing prompts (incremental-compilation-16).
|
|
26
26
|
*/
|
|
27
27
|
export declare function updateContextLines(update: UpdateContext, target: string): string[];
|
|
28
28
|
/** What a phase execution is asked to produce: a compile target or a linked artifact. */
|
|
29
29
|
export type ExecuteRequest = {
|
|
30
30
|
kind: 'compile';
|
|
31
|
-
/** Path to the phase definition, the semantic source of truth (
|
|
31
|
+
/** Path to the phase definition, the semantic source of truth (phase-execution-2). */
|
|
32
32
|
definitionPath: string;
|
|
33
33
|
source: string;
|
|
34
34
|
target: string;
|
|
@@ -38,11 +38,11 @@ export type ExecuteRequest = {
|
|
|
38
38
|
* rewrites the source toward (DR-013). Protected like definitions.
|
|
39
39
|
*/
|
|
40
40
|
references?: readonly string[];
|
|
41
|
-
/** Update-mode context; absent for a fresh compile (DR-021,
|
|
41
|
+
/** Update-mode context; absent for a fresh compile (DR-021, incremental-compilation-15). */
|
|
42
42
|
update?: UpdateContext;
|
|
43
43
|
} | {
|
|
44
44
|
kind: 'link';
|
|
45
|
-
/** Path to the `link.md` definition, the semantic source of truth (
|
|
45
|
+
/** Path to the `link.md` definition, the semantic source of truth (phase-execution-2). */
|
|
46
46
|
definitionPath: string;
|
|
47
47
|
objects: string[];
|
|
48
48
|
linkTarget: string;
|
|
@@ -60,7 +60,7 @@ export interface ExecutorResult {
|
|
|
60
60
|
export interface PhaseExecutor {
|
|
61
61
|
run(request: ExecuteRequest, signal: AbortSignal): Promise<ExecutorResult>;
|
|
62
62
|
}
|
|
63
|
-
/** A failure naming the phase, target path, and reasons (
|
|
63
|
+
/** A failure naming the phase, target path, and reasons (phase-execution-9). */
|
|
64
64
|
export interface FailureReport {
|
|
65
65
|
phase: string;
|
|
66
66
|
target: string;
|
|
@@ -89,7 +89,7 @@ export declare function assertSafeTarget(target: string, protectedPaths: readonl
|
|
|
89
89
|
export declare function pathsAlias(left: string, right: string): Promise<boolean>;
|
|
90
90
|
/**
|
|
91
91
|
* Runs a single phase through the execution boundary: generic mechanics only,
|
|
92
|
-
* plus the DR-003 generic checks and blocked protocol (
|
|
92
|
+
* plus the DR-003 generic checks and blocked protocol (phase-execution-1, phase-execution-4..9).
|
|
93
93
|
*/
|
|
94
94
|
export declare function runPhase(opts: {
|
|
95
95
|
request: ExecuteRequest;
|
|
@@ -104,10 +104,10 @@ export declare function runPhase(opts: {
|
|
|
104
104
|
aliasInputs?: readonly string[];
|
|
105
105
|
/** Host state transition that must succeed immediately before executor work. */
|
|
106
106
|
beforeExecute?: () => void | Promise<void>;
|
|
107
|
-
/** Re-checks that the pipeline chain still infers; throws when it no longer does (
|
|
107
|
+
/** Re-checks that the pipeline chain still infers; throws when it no longer does (phase-execution-5). */
|
|
108
108
|
revalidate?: () => void | Promise<void>;
|
|
109
109
|
signal?: AbortSignal;
|
|
110
110
|
}): Promise<PhaseResult>;
|
|
111
|
-
/** Renders a failure report as a multi-line diagnostic string (
|
|
111
|
+
/** Renders a failure report as a multi-line diagnostic string (phase-execution-9). */
|
|
112
112
|
export declare function formatFailureReport(report: FailureReport): string;
|
|
113
113
|
//# sourceMappingURL=execution.d.ts.map
|
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
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"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"}
|
package/dist/execution.js
CHANGED
|
@@ -3,22 +3,22 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* Execution boundary orchestrator and generic checks (DR-003).
|
|
5
5
|
*
|
|
6
|
-
* `runPhase` performs only generic mechanics (
|
|
7
|
-
* protected inputs, runs an injected {@link PhaseExecutor} (interpreted
|
|
8
|
-
*
|
|
9
|
-
* exists and its extension matches the declared one (
|
|
6
|
+
* `runPhase` performs only generic mechanics (phase-execution-1): it snapshots the
|
|
7
|
+
* protected inputs, runs an injected {@link PhaseExecutor} (interpreted or
|
|
8
|
+
* compiled), then applies the generic checks — the target
|
|
9
|
+
* exists and its extension matches the declared one (phase-execution-4); the source,
|
|
10
10
|
* objects, link target, and the chain's definition files are unchanged; and an
|
|
11
11
|
* optional `revalidate` hook confirms the pipeline chain still infers, catching
|
|
12
|
-
* added/removed phase files (
|
|
13
|
-
* are caught after any executor outcome (
|
|
12
|
+
* added/removed phase files (phase-execution-5). Input-mutating write-scope violations
|
|
13
|
+
* are caught after any executor outcome (phase-execution-3, phase-execution-6). A `blocked` or
|
|
14
14
|
* `error` result, a thrown executor, or any failed check becomes a failure
|
|
15
|
-
* report naming the phase, target, and reasons (
|
|
15
|
+
* report naming the phase, target, and reasons (phase-execution-7, phase-execution-9).
|
|
16
16
|
*
|
|
17
|
-
* The executor honors
|
|
17
|
+
* The executor honors phase-execution-2 by treating the passed definition as the
|
|
18
18
|
* semantic source of truth. The host refuses target/input aliases and verifies
|
|
19
19
|
* protected inputs afterward; sandboxing arbitrary unrelated writes remains a
|
|
20
20
|
* host capability outside this boundary.
|
|
21
|
-
* See specs/
|
|
21
|
+
* See specs/packages/phase-execution.md.
|
|
22
22
|
*/
|
|
23
23
|
import { createHash } from 'node:crypto';
|
|
24
24
|
import { lstat, readFile, readdir, readlink, realpath, stat, } from 'node:fs/promises';
|
|
@@ -26,7 +26,7 @@ import { basename, dirname, extname, isAbsolute, join, relative, resolve, sep, }
|
|
|
26
26
|
import { errorCode, isAbsentPathError, messageOf } from './errors.js';
|
|
27
27
|
/**
|
|
28
28
|
* Renders the host-owned update instruction shared by interpreted prompts and
|
|
29
|
-
* compiled performing prompts (
|
|
29
|
+
* compiled performing prompts (incremental-compilation-16).
|
|
30
30
|
*/
|
|
31
31
|
export function updateContextLines(update, target) {
|
|
32
32
|
const diff = update.diff === null
|
|
@@ -77,7 +77,7 @@ export async function pathsAlias(left, right) {
|
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
79
79
|
* Runs a single phase through the execution boundary: generic mechanics only,
|
|
80
|
-
* plus the DR-003 generic checks and blocked protocol (
|
|
80
|
+
* plus the DR-003 generic checks and blocked protocol (phase-execution-1, phase-execution-4..9).
|
|
81
81
|
*/
|
|
82
82
|
export async function runPhase(opts) {
|
|
83
83
|
const { request, phase, targetExt, executor } = opts;
|
|
@@ -145,7 +145,7 @@ export async function runPhase(opts) {
|
|
|
145
145
|
}
|
|
146
146
|
// Protected inputs and chain definitions are re-checked after any outcome, so
|
|
147
147
|
// a mutation is caught even when the executor blocks, errors, or throws
|
|
148
|
-
// (
|
|
148
|
+
// (phase-execution-5, phase-execution-6).
|
|
149
149
|
const after = await snapshot(protectedPaths);
|
|
150
150
|
for (const path of protectedPaths) {
|
|
151
151
|
if (before.get(path) !== after.get(path)) {
|
|
@@ -165,7 +165,7 @@ export async function runPhase(opts) {
|
|
|
165
165
|
}
|
|
166
166
|
return { ok: true, target, diagnostics: result?.diagnostics ?? [] };
|
|
167
167
|
}
|
|
168
|
-
/** Renders a failure report as a multi-line diagnostic string (
|
|
168
|
+
/** Renders a failure report as a multi-line diagnostic string (phase-execution-9). */
|
|
169
169
|
export function formatFailureReport(report) {
|
|
170
170
|
const lines = [`slc: phase "${report.phase}" failed at "${report.target}"`];
|
|
171
171
|
for (const reason of report.reasons) {
|
package/dist/execution.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"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"}
|
package/dist/hash.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
// SPDX-FileCopyrightText: 2026 SubLang International <https://sublang.ai>
|
|
3
3
|
/**
|
|
4
|
-
* Exact-byte SHA-256 hashing for pin currency (
|
|
4
|
+
* Exact-byte SHA-256 hashing for pin currency (pinning-2, pinning-3; DR-007).
|
|
5
5
|
*
|
|
6
6
|
* Hashes are SHA-256 over the exact file bytes — with no line-ending or other
|
|
7
7
|
* text normalization — written as `sha256:` followed by 64 lowercase hexadecimal
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* recorded hashes against, so any byte difference (including a line-ending
|
|
10
10
|
* change) yields a different hash. The DR-003 write-scope snapshot in
|
|
11
11
|
* `execution.ts` keeps its own raw-hex helper; this module owns the pin format.
|
|
12
|
-
* See specs/
|
|
12
|
+
* See specs/packages/pinning.md.
|
|
13
13
|
*/
|
|
14
14
|
import { createHash } from 'node:crypto';
|
|
15
15
|
import { readFile } from 'node:fs/promises';
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/** Minimal structural view of the engine-owned boundary seed. */
|
|
2
|
+
export interface EffectBoundarySeed {
|
|
3
|
+
readonly boundaryId: string;
|
|
4
|
+
readonly runtimeSessionId: string;
|
|
5
|
+
readonly sourceStateId: string;
|
|
6
|
+
readonly sourceOutcomeSchema: unknown;
|
|
7
|
+
/** Repository dispositions declared by the boundary's outcome arms. */
|
|
8
|
+
readonly dispositions?: readonly string[];
|
|
9
|
+
readonly [key: string]: unknown;
|
|
10
|
+
}
|
|
11
|
+
export type RepositoryReceiptClassification = 'unchanged' | 'one-descendant-commit' | 'multiple-commits' | 'rewritten-or-non-descendant' | 'worktree-only-change' | 'concurrent-or-foreign-change' | 'observation-ambiguous';
|
|
12
|
+
export interface RepositoryObservation {
|
|
13
|
+
readonly worktree: string;
|
|
14
|
+
readonly gitDir: string;
|
|
15
|
+
readonly head: string;
|
|
16
|
+
readonly projection: Readonly<Record<string, unknown>>;
|
|
17
|
+
readonly projectionDigest: string;
|
|
18
|
+
}
|
|
19
|
+
export interface RepositoryReceipt {
|
|
20
|
+
readonly classification: RepositoryReceiptClassification;
|
|
21
|
+
readonly baseline: RepositoryObservation;
|
|
22
|
+
readonly after?: RepositoryObservation;
|
|
23
|
+
readonly commitOid?: string;
|
|
24
|
+
}
|
|
25
|
+
/** The engine's ordered effect ledger; revision is zero exactly when empty. */
|
|
26
|
+
export interface EffectLedgerSnapshot {
|
|
27
|
+
readonly schemaVersion: 1;
|
|
28
|
+
readonly revision: number;
|
|
29
|
+
readonly boundaries: readonly unknown[];
|
|
30
|
+
readonly logicalOperations: readonly unknown[];
|
|
31
|
+
}
|
|
32
|
+
export interface HostCapabilities {
|
|
33
|
+
readonly repository: unknown;
|
|
34
|
+
readonly effectLedger: unknown;
|
|
35
|
+
}
|
|
36
|
+
/** Runs one Git command and returns its stdout; throws on nonzero exit. */
|
|
37
|
+
export type GitRunner = (args: readonly string[]) => string;
|
|
38
|
+
/** The null Git OID, reported before a repository has its first commit. */
|
|
39
|
+
export declare const NULL_GIT_OID: string;
|
|
40
|
+
/**
|
|
41
|
+
* Builds a repository observation whose digest matches the engine's rule
|
|
42
|
+
* exactly: `sha256:` over `JSON.stringify(projection)`. Callers supply the
|
|
43
|
+
* worktree paths, HEAD, and the dirty-state projection; a repository with no
|
|
44
|
+
* commit yet reports the null OID, which is what the engine's canonical-OID
|
|
45
|
+
* check expects. The projection is required: an empty projection asserts a
|
|
46
|
+
* clean worktree, so it must come from a real status observation such as
|
|
47
|
+
* {@link observeGitWorktree}, never from a default.
|
|
48
|
+
*/
|
|
49
|
+
export declare function observeWorktree(opts: {
|
|
50
|
+
readonly worktree: string;
|
|
51
|
+
readonly gitDir: string;
|
|
52
|
+
readonly head: string;
|
|
53
|
+
readonly projection: Readonly<Record<string, unknown>>;
|
|
54
|
+
}): RepositoryObservation;
|
|
55
|
+
/**
|
|
56
|
+
* Observes one Git worktree: HEAD plus a path-keyed projection of every
|
|
57
|
+
* dirty or untracked entry, derived from `git status --porcelain` with
|
|
58
|
+
* content identities so a change is visible even when the status code alone
|
|
59
|
+
* would not move. Mirrors the reference host's status-derived projection in
|
|
60
|
+
* reduced form: one sample, index identities from `ls-files -s`, worktree
|
|
61
|
+
* identities from `hash-object`.
|
|
62
|
+
*/
|
|
63
|
+
export declare function observeGitWorktree(opts: {
|
|
64
|
+
readonly worktree: string;
|
|
65
|
+
readonly gitDir: string;
|
|
66
|
+
readonly run: GitRunner;
|
|
67
|
+
}): RepositoryObservation;
|
|
68
|
+
/**
|
|
69
|
+
* Classifies what one governed operation did to a repository, which is the
|
|
70
|
+
* judgement the engine matches against the state's declared
|
|
71
|
+
* `repositoryDisposition`. Mirrors the engine reference's
|
|
72
|
+
* `classifyRepositoryReceipt` decision order: an identical observation is
|
|
73
|
+
* `unchanged`; any change under all-`unchanged` dispositions is
|
|
74
|
+
* `concurrent-or-foreign-change`; a same-HEAD change is `worktree-only-change`
|
|
75
|
+
* only when it preserves every baseline entry and a commit arm is declared;
|
|
76
|
+
* a moved HEAD is one descendant commit only when ancestry proves exactly one
|
|
77
|
+
* new commit and the dirty projection is preserved; everything the observation
|
|
78
|
+
* cannot prove is `observation-ambiguous`.
|
|
79
|
+
*/
|
|
80
|
+
export declare function classifyGitChange(opts: {
|
|
81
|
+
readonly baseline: RepositoryObservation;
|
|
82
|
+
readonly after: RepositoryObservation;
|
|
83
|
+
/** The boundary's declared dispositions; assume every arm when omitted. */
|
|
84
|
+
readonly dispositions?: readonly string[];
|
|
85
|
+
readonly run: GitRunner;
|
|
86
|
+
}): RepositoryReceiptClassification;
|
|
87
|
+
/** An empty ledger: revision zero exactly when both ordered ledgers are empty. */
|
|
88
|
+
export declare function emptyEffectLedger(): EffectLedgerSnapshot;
|
|
89
|
+
/**
|
|
90
|
+
* Capabilities whose repository and effect-mutation seams reject. Correct
|
|
91
|
+
* wherever the artifact declares no governed player state (DR-024).
|
|
92
|
+
*/
|
|
93
|
+
export declare function failClosedHostCapabilities(): HostCapabilities;
|
|
94
|
+
/**
|
|
95
|
+
* Capabilities that run governed operations against a real worktree, observing
|
|
96
|
+
* it before and after so the engine receives a classified receipt. The engine
|
|
97
|
+
* owns each boundary's identity — it re-checks the source state and outcome
|
|
98
|
+
* schema on completion — so the seed it supplies is completed, never replaced.
|
|
99
|
+
*
|
|
100
|
+
* The boundary is recorded in the ledger when the operation starts, before the
|
|
101
|
+
* completion callback runs, so the engine's semantic correction budget can
|
|
102
|
+
* find and spend it through `writeAhead` mid-completion (DR-025, DR-028); the
|
|
103
|
+
* settlement then replaces the started record with the receipt and exactly the
|
|
104
|
+
* evidence the completion callback returned. A completion carrying a deferred
|
|
105
|
+
* Boss-question binding appends the reciprocal logical operation and settles
|
|
106
|
+
* `deferredStatus: 'bound'` (DR-005, DR-040).
|
|
107
|
+
*/
|
|
108
|
+
export declare function worktreeHostCapabilities(opts: {
|
|
109
|
+
readonly playbookId: string;
|
|
110
|
+
readonly observe: () => RepositoryObservation;
|
|
111
|
+
readonly classify?: (baseline: RepositoryObservation, after: RepositoryObservation, context: {
|
|
112
|
+
readonly dispositions?: readonly string[];
|
|
113
|
+
}) => RepositoryReceiptClassification;
|
|
114
|
+
}): HostCapabilities;
|
|
115
|
+
//# sourceMappingURL=host-capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-capabilities.d.ts","sourceRoot":"","sources":["../src/host-capabilities.ts"],"names":[],"mappings":"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"}
|