@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/dist/verify-source.js
CHANGED
|
@@ -10,16 +10,26 @@
|
|
|
10
10
|
* mechanically decidable, so it is decided here rather than left to a Reviewer's
|
|
11
11
|
* judgment (phase-execution-51).
|
|
12
12
|
*
|
|
13
|
+
* An item other than a script item may instead carry the prefix-first layout
|
|
14
|
+
* Playbook's prefix pass produces — its relayed values after its instructions —
|
|
15
|
+
* read from the prompt itself, mirroring Playbook's checker rule for rule
|
|
16
|
+
* (DR-052).
|
|
17
|
+
*
|
|
13
18
|
* Every function is pure over the two texts: no filesystem, no definition, no
|
|
14
19
|
* installed engine, and no prior artifact. Semantic item partitioning, condition
|
|
15
20
|
* wording, and result descriptions remain the Reviewer's concern.
|
|
16
21
|
*/
|
|
22
|
+
// JavaScript's `.` excludes `\r` and `$` anchors only at end of input, so a
|
|
23
|
+
// `\r` left on a split line defeats every anchored pattern below. Split on the
|
|
24
|
+
// full CRLF or LF boundary once, here, rather than tolerating `\r` in each.
|
|
25
|
+
const LINE_BOUNDARY = /\r?\n/;
|
|
17
26
|
const ITEM_HEADING = /^###\s+(\S+)\s*$/;
|
|
18
27
|
const MARKDOWN_FENCE = /^```markdown\s*$/i;
|
|
19
28
|
const FENCE_END = /^```\s*$/;
|
|
20
29
|
const BLOCKQUOTE = /^>\s?(.*)$/;
|
|
21
30
|
const PLACEHOLDER = /<([A-Za-z_$#][A-Za-z0-9_$#-]*)>/g;
|
|
22
31
|
const RELAY_PLACEHOLDER_LINE = /^>\s+<[A-Za-z_$#][A-Za-z0-9_$#-]*>$/;
|
|
32
|
+
const RAW_PLACEHOLDER_LINE = /^<[A-Za-z_$#][A-Za-z0-9_$#-]*>$/;
|
|
23
33
|
const RESULT_BULLET = /^-\s+`([A-Za-z_$][A-Za-z0-9_$]*)`:\s+(.+)$/;
|
|
24
34
|
// A result-field entry names one output property, optionally annotating its
|
|
25
35
|
// ownership; the name is captured as authored so a non-identifier is reported
|
|
@@ -27,6 +37,10 @@ const RESULT_BULLET = /^-\s+`([A-Za-z_$][A-Za-z0-9_$]*)`:\s+(.+)$/;
|
|
|
27
37
|
const ANNOTATED_FIELD = /^([^\s:]+)\s*:\s*<([^>]*)>$/;
|
|
28
38
|
const BARE_FIELD = /^\S+$/;
|
|
29
39
|
const FIELD_IDENTIFIER = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
|
|
40
|
+
const RELAY_LINE = /^>/;
|
|
41
|
+
// An item's alternative prefix-first tilings are kept as the fragment texts
|
|
42
|
+
// they carry; an item admitting more than this many is reported, never guessed.
|
|
43
|
+
const TILING_LIMIT = 4096;
|
|
30
44
|
const ENGLISH_PLAYER = '[A-Z][A-Za-z0-9_-]*';
|
|
31
45
|
/** Resolves Markdown escaping that is Source syntax rather than prompt content. */
|
|
32
46
|
function normalizePromptLine(line) {
|
|
@@ -52,7 +66,7 @@ function introducesQuotedRelay(lines, start) {
|
|
|
52
66
|
* @throws {Error} when an instruction fence is never closed.
|
|
53
67
|
*/
|
|
54
68
|
export function sourcePromptFragments(sourceText) {
|
|
55
|
-
const lines = sourceText.split(
|
|
69
|
+
const lines = sourceText.split(LINE_BOUNDARY);
|
|
56
70
|
const fragments = [];
|
|
57
71
|
for (let index = 0; index < lines.length; index++) {
|
|
58
72
|
if (MARKDOWN_FENCE.test(lines[index])) {
|
|
@@ -120,7 +134,7 @@ function actingPlayer(acting) {
|
|
|
120
134
|
}
|
|
121
135
|
/** Parses the minimal GEARS item surface the Source-fidelity rules read. */
|
|
122
136
|
export function parseGearsContract(gearsText) {
|
|
123
|
-
const lines = gearsText.split(
|
|
137
|
+
const lines = gearsText.split(LINE_BOUNDARY);
|
|
124
138
|
const starts = [];
|
|
125
139
|
for (let index = 0; index < lines.length; index++) {
|
|
126
140
|
const heading = ITEM_HEADING.exec(lines[index]);
|
|
@@ -142,6 +156,9 @@ export function parseGearsContract(gearsText) {
|
|
|
142
156
|
}
|
|
143
157
|
const acting = section.slice(0, Math.max(firstQuote, 0)).join(' ');
|
|
144
158
|
const delegated = /\bCaptain shall (?:prompt\b|relay\b)/.test(acting);
|
|
159
|
+
// text2gears.md "Script behaviors": fixed machine syntax in every Source
|
|
160
|
+
// language, so the clause is matched in this exact English form.
|
|
161
|
+
const script = /\bCaptain shall run:/.test(acting);
|
|
145
162
|
const player = actingPlayer(acting);
|
|
146
163
|
const results = [];
|
|
147
164
|
for (const line of section.slice(Math.max(cursor, 0))) {
|
|
@@ -158,6 +175,7 @@ export function parseGearsContract(gearsText) {
|
|
|
158
175
|
id: start.id,
|
|
159
176
|
ordinal,
|
|
160
177
|
delegated,
|
|
178
|
+
script,
|
|
161
179
|
...(player === undefined ? {} : { player }),
|
|
162
180
|
prompt,
|
|
163
181
|
results,
|
|
@@ -170,18 +188,292 @@ function placeholderField(token) {
|
|
|
170
188
|
return 'irNumber';
|
|
171
189
|
return token.replace(/-([A-Za-z0-9_$])/g, (_match, next) => next.toUpperCase());
|
|
172
190
|
}
|
|
173
|
-
/**
|
|
174
|
-
function
|
|
191
|
+
/** Every exact contiguous occurrence of `needle` in `haystack`. */
|
|
192
|
+
function fragmentIndices(haystack, needle) {
|
|
193
|
+
const indices = [];
|
|
175
194
|
if (needle.length === 0 || needle.length > haystack.length)
|
|
176
|
-
return
|
|
195
|
+
return indices;
|
|
177
196
|
outer: for (let index = 0; index <= haystack.length - needle.length; index++) {
|
|
178
197
|
for (let offset = 0; offset < needle.length; offset++) {
|
|
179
198
|
if (haystack[index + offset] !== needle[offset])
|
|
180
199
|
continue outer;
|
|
181
200
|
}
|
|
182
|
-
|
|
201
|
+
indices.push(index);
|
|
202
|
+
}
|
|
203
|
+
return indices;
|
|
204
|
+
}
|
|
205
|
+
/** A fragment's units, in Source order. */
|
|
206
|
+
function fragmentUnits(fragment) {
|
|
207
|
+
if (fragment.kind === 'relay') {
|
|
208
|
+
return [{ kind: 'relay', start: fragment.start, lines: fragment.lines }];
|
|
209
|
+
}
|
|
210
|
+
const units = [];
|
|
211
|
+
let from = -1;
|
|
212
|
+
let to = -1;
|
|
213
|
+
const flush = () => {
|
|
214
|
+
if (from === -1)
|
|
215
|
+
return;
|
|
216
|
+
units.push({
|
|
217
|
+
kind: 'instruction',
|
|
218
|
+
start: fragment.start + from,
|
|
219
|
+
lines: fragment.lines.slice(from, to),
|
|
220
|
+
});
|
|
221
|
+
from = -1;
|
|
222
|
+
};
|
|
223
|
+
for (let index = 0; index < fragment.lines.length;) {
|
|
224
|
+
let end = index;
|
|
225
|
+
while (end < fragment.lines.length && fragment.lines[end] !== '')
|
|
226
|
+
end++;
|
|
227
|
+
const paragraph = fragment.lines.slice(index, end);
|
|
228
|
+
if (paragraph.length > 0 &&
|
|
229
|
+
paragraph.every((line) => RELAY_LINE.test(line))) {
|
|
230
|
+
flush();
|
|
231
|
+
units.push({
|
|
232
|
+
kind: 'relay',
|
|
233
|
+
start: fragment.start + index,
|
|
234
|
+
lines: paragraph,
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
else if (paragraph.length > 0) {
|
|
238
|
+
if (from === -1)
|
|
239
|
+
from = index;
|
|
240
|
+
to = end;
|
|
241
|
+
}
|
|
242
|
+
index = end + 1;
|
|
243
|
+
}
|
|
244
|
+
flush();
|
|
245
|
+
return units;
|
|
246
|
+
}
|
|
247
|
+
/** Whether two line arrays are equal. */
|
|
248
|
+
function sameLines(left, right) {
|
|
249
|
+
return (left.length === right.length &&
|
|
250
|
+
left.every((line, index) => line === right[index]));
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* The prefix-first tilings of an item's prompt. The prompt must be tiled by
|
|
254
|
+
* whole fragments taken in Source order: their instruction units in the region
|
|
255
|
+
* before the trailing relay blocks and their relay units among the trailing
|
|
256
|
+
* blocks, or in place where the raw layout kept a relay beside instruction
|
|
257
|
+
* text, each unit occurrence used once, with blank lines and bare quoted
|
|
258
|
+
* placeholder lines free among the trailing blocks. Before a unit stand exactly
|
|
259
|
+
* the one blank line the pass leaves where a moved relay unit stood, exactly
|
|
260
|
+
* the authored blank lines between it and a unit of its fragment that kept its
|
|
261
|
+
* place, or the boundary Source composed before a fragment. Every tiling is
|
|
262
|
+
* kept as the multiset of fragment texts it carries, for conservation; a prompt
|
|
263
|
+
* with a relay block before an instruction line admits none.
|
|
264
|
+
*/
|
|
265
|
+
function prefixFirstTilings(item, fragments, textIds) {
|
|
266
|
+
const { prompt } = item;
|
|
267
|
+
// The relay blocks the pass moves: blank-bounded runs of quoted lines.
|
|
268
|
+
const inBlock = prompt.map(() => false);
|
|
269
|
+
for (let start = 0; start < prompt.length; start++) {
|
|
270
|
+
let end = start;
|
|
271
|
+
while (end < prompt.length && RELAY_LINE.test(prompt[end]))
|
|
272
|
+
end++;
|
|
273
|
+
if (end > start &&
|
|
274
|
+
(start === 0 || prompt[start - 1] === '') &&
|
|
275
|
+
(end === prompt.length || prompt[end] === '')) {
|
|
276
|
+
inBlock.fill(true, start, end);
|
|
277
|
+
}
|
|
278
|
+
start = Math.max(start, end);
|
|
279
|
+
}
|
|
280
|
+
let lastStatic = -1;
|
|
281
|
+
prompt.forEach((line, index) => {
|
|
282
|
+
if (line !== '' && !inBlock[index])
|
|
283
|
+
lastStatic = index;
|
|
284
|
+
});
|
|
285
|
+
if (inBlock.some((inside, index) => inside && index < lastStatic)) {
|
|
286
|
+
return { tilings: [], overflow: false };
|
|
287
|
+
}
|
|
288
|
+
const statics = prompt.slice(0, lastStatic + 1);
|
|
289
|
+
const tail = prompt.slice(lastStatic + 1);
|
|
290
|
+
const free = (line) => line === '' || RELAY_PLACEHOLDER_LINE.test(line);
|
|
291
|
+
// The static line after `unit` matched at the cursor across exactly `gap`
|
|
292
|
+
// blank lines, or across any number where Source composed the boundary.
|
|
293
|
+
const staticMatch = (line, unit, gap) => {
|
|
294
|
+
let at = line;
|
|
295
|
+
if (line > 0) {
|
|
296
|
+
if (gap === null) {
|
|
297
|
+
while (at < statics.length && statics[at] === '')
|
|
298
|
+
at++;
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
for (let count = 0; count < gap; count++, at++) {
|
|
302
|
+
if (statics[at] !== '')
|
|
303
|
+
return -1;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
return sameLines(statics.slice(at, at + unit.lines.length), unit.lines)
|
|
308
|
+
? at + unit.lines.length
|
|
309
|
+
: -1;
|
|
310
|
+
};
|
|
311
|
+
// The tail line after `unit` matched at or after the cursor, past free lines.
|
|
312
|
+
const tailMatch = (at, unit) => {
|
|
313
|
+
for (let index = at; index + unit.lines.length <= tail.length; index++) {
|
|
314
|
+
if (sameLines(tail.slice(index, index + unit.lines.length), unit.lines)) {
|
|
315
|
+
return index + unit.lines.length;
|
|
316
|
+
}
|
|
317
|
+
if (!free(tail[index]))
|
|
318
|
+
return -1;
|
|
319
|
+
}
|
|
320
|
+
return -1;
|
|
321
|
+
};
|
|
322
|
+
// Each reachable position — static line, tail line, whether the last unit
|
|
323
|
+
// moved — with every multiset of fragment texts some path to it carries, as
|
|
324
|
+
// sorted text ids.
|
|
325
|
+
const keyOf = (state) => `${state.line} ${state.tail} ${Number(state.lastMoved)}`;
|
|
326
|
+
let overflow = false;
|
|
327
|
+
const merge = (states, state) => {
|
|
328
|
+
const existing = states.get(keyOf(state));
|
|
329
|
+
if (existing === undefined) {
|
|
330
|
+
states.set(keyOf(state), state);
|
|
331
|
+
return;
|
|
332
|
+
}
|
|
333
|
+
for (const list of state.lists) {
|
|
334
|
+
if (existing.lists.size >= TILING_LIMIT && !existing.lists.has(list)) {
|
|
335
|
+
overflow = true;
|
|
336
|
+
break;
|
|
337
|
+
}
|
|
338
|
+
existing.lists.add(list);
|
|
339
|
+
}
|
|
340
|
+
};
|
|
341
|
+
const withText = (list, id) => (list === '' ? [id] : [...list.split(',').map(Number), id])
|
|
342
|
+
.sort((left, right) => left - right)
|
|
343
|
+
.join(',');
|
|
344
|
+
let reached = new Map();
|
|
345
|
+
merge(reached, { line: 0, tail: 0, lastMoved: false, lists: new Set(['']) });
|
|
346
|
+
fragments.forEach((fragment, index) => {
|
|
347
|
+
const units = fragmentUnits(fragment);
|
|
348
|
+
const next = new Map();
|
|
349
|
+
for (const state of reached.values()) {
|
|
350
|
+
merge(next, { ...state, lists: new Set(state.lists) });
|
|
351
|
+
}
|
|
352
|
+
let frontier = [...reached.values()];
|
|
353
|
+
units.forEach((unit, position) => {
|
|
354
|
+
const previous = units[position - 1];
|
|
355
|
+
const advanced = [];
|
|
356
|
+
for (const state of frontier) {
|
|
357
|
+
// The blank lines before this unit: the pass's one after a moved unit,
|
|
358
|
+
// the authored count after a unit of this fragment that stayed, and
|
|
359
|
+
// Source's own composition before a fragment's first unit.
|
|
360
|
+
const gap = state.lastMoved
|
|
361
|
+
? 1
|
|
362
|
+
: position === 0
|
|
363
|
+
? null
|
|
364
|
+
: unit.start - (previous.start + previous.lines.length);
|
|
365
|
+
const line = staticMatch(state.line, unit, gap);
|
|
366
|
+
if (unit.kind === 'instruction') {
|
|
367
|
+
if (line >= 0)
|
|
368
|
+
advanced.push({ ...state, line, lastMoved: false });
|
|
369
|
+
continue;
|
|
370
|
+
}
|
|
371
|
+
const end = tailMatch(state.tail, unit);
|
|
372
|
+
if (end >= 0)
|
|
373
|
+
advanced.push({ ...state, tail: end, lastMoved: true });
|
|
374
|
+
if (line >= 0)
|
|
375
|
+
advanced.push({ ...state, line, lastMoved: false });
|
|
376
|
+
}
|
|
377
|
+
frontier = advanced;
|
|
378
|
+
});
|
|
379
|
+
for (const state of frontier) {
|
|
380
|
+
const lists = new Set([...state.lists].map((list) => withText(list, textIds[index])));
|
|
381
|
+
merge(next, { ...state, lists });
|
|
382
|
+
}
|
|
383
|
+
reached = next;
|
|
384
|
+
});
|
|
385
|
+
const ends = [...reached.values()].filter((state) => state.line === statics.length && tail.slice(state.tail).every(free));
|
|
386
|
+
return {
|
|
387
|
+
tilings: [...new Set(ends.flatMap((state) => [...state.lists]))].map((list) => (list === '' ? [] : list.split(',').map(Number))),
|
|
388
|
+
overflow,
|
|
389
|
+
};
|
|
390
|
+
}
|
|
391
|
+
/** Non-overlapping contiguous occurrences of `needle` in `haystack`. */
|
|
392
|
+
function countFragment(haystack, needle) {
|
|
393
|
+
let count = 0;
|
|
394
|
+
if (needle.length === 0)
|
|
395
|
+
return count;
|
|
396
|
+
outer: for (let index = 0; index + needle.length <= haystack.length;) {
|
|
397
|
+
for (let offset = 0; offset < needle.length; offset++) {
|
|
398
|
+
if (haystack[index + offset] !== needle[offset]) {
|
|
399
|
+
index++;
|
|
400
|
+
continue outer;
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
count++;
|
|
404
|
+
index += needle.length;
|
|
405
|
+
}
|
|
406
|
+
return count;
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* The deficit left by the best choice of one carriage per item offering
|
|
410
|
+
* several: for each fragment text, how many authored fragments no chosen
|
|
411
|
+
* carriage supplies. The search is exact, memoized over the deficit still to
|
|
412
|
+
* cover.
|
|
413
|
+
*/
|
|
414
|
+
function residualDeficit(deficit, choices) {
|
|
415
|
+
const total = (vector) => vector.reduce((sum, value) => sum + value, 0);
|
|
416
|
+
const memo = new Map();
|
|
417
|
+
const search = (depth, vector) => {
|
|
418
|
+
if (depth === choices.length || total(vector) === 0)
|
|
419
|
+
return vector;
|
|
420
|
+
const key = `${depth}|${vector.join(',')}`;
|
|
421
|
+
const seen = memo.get(key);
|
|
422
|
+
if (seen !== undefined)
|
|
423
|
+
return seen;
|
|
424
|
+
let best = vector;
|
|
425
|
+
for (const alternative of choices[depth]) {
|
|
426
|
+
const result = search(depth + 1, vector.map((value, id) => Math.max(0, value - alternative[id])));
|
|
427
|
+
if (total(result) < total(best))
|
|
428
|
+
best = result;
|
|
429
|
+
if (total(best) === 0)
|
|
430
|
+
break;
|
|
431
|
+
}
|
|
432
|
+
memo.set(key, best);
|
|
433
|
+
return best;
|
|
434
|
+
};
|
|
435
|
+
return search(0, [...deficit]);
|
|
436
|
+
}
|
|
437
|
+
/** Whether complete, nonoverlapping matches admit an ordered attribution. */
|
|
438
|
+
function fragmentsAreInSourceOrder(prompt, fragments) {
|
|
439
|
+
const spans = new Map();
|
|
440
|
+
for (const fragment of fragments) {
|
|
441
|
+
for (const start of fragmentIndices(prompt, fragment.lines)) {
|
|
442
|
+
const end = start + fragment.lines.length;
|
|
443
|
+
const key = `${start}:${end}`;
|
|
444
|
+
const span = spans.get(key) ?? { start, end, sourceStarts: [] };
|
|
445
|
+
// Fragments arrive in Source order. Identical matches are alternatives,
|
|
446
|
+
// not independent fragments competing for the same prompt position.
|
|
447
|
+
span.sourceStarts.push(fragment.start);
|
|
448
|
+
spans.set(key, span);
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
const ordered = [...spans.values()].sort((left, right) => left.start - right.start || right.end - left.end);
|
|
452
|
+
let furthestEnd = -1;
|
|
453
|
+
let sourceFloor = -1;
|
|
454
|
+
let completed = 0;
|
|
455
|
+
const attributed = [];
|
|
456
|
+
for (const span of ordered) {
|
|
457
|
+
// A shorter full match inside another full fragment is incidental content
|
|
458
|
+
// of that larger fragment, not a second independently ordered occurrence.
|
|
459
|
+
if (span.end <= furthestEnd)
|
|
460
|
+
continue;
|
|
461
|
+
furthestEnd = span.end;
|
|
462
|
+
// Remaining ends increase strictly. Only disjoint prior spans establish
|
|
463
|
+
// order; crossing overlaps do not invent an ordering of shared lines.
|
|
464
|
+
while (completed < attributed.length &&
|
|
465
|
+
attributed[completed].end <= span.start) {
|
|
466
|
+
sourceFloor = Math.max(sourceFloor, attributed[completed].sourceStart);
|
|
467
|
+
completed++;
|
|
468
|
+
}
|
|
469
|
+
// The earliest compatible attribution leaves every later choice available,
|
|
470
|
+
// so failure here means no order-preserving attribution exists.
|
|
471
|
+
const sourceStart = span.sourceStarts.find((start) => start >= sourceFloor);
|
|
472
|
+
if (sourceStart === undefined)
|
|
473
|
+
return false;
|
|
474
|
+
attributed.push({ end: span.end, sourceStart });
|
|
183
475
|
}
|
|
184
|
-
return
|
|
476
|
+
return true;
|
|
185
477
|
}
|
|
186
478
|
/**
|
|
187
479
|
* The conservation findings at the Source→GEARS seam (verification-25).
|
|
@@ -194,31 +486,71 @@ function fragmentIndex(haystack, needle) {
|
|
|
194
486
|
* @throws {Error} when the Source's instruction fence is never closed.
|
|
195
487
|
*/
|
|
196
488
|
export function checkSourceGearsContract(sourceText, gearsText) {
|
|
197
|
-
const findings = [];
|
|
198
489
|
const fragments = sourcePromptFragments(sourceText);
|
|
199
490
|
const items = parseGearsContract(gearsText);
|
|
491
|
+
const findings = [];
|
|
492
|
+
// A fragment's text id is the index of the first fragment authored with it.
|
|
493
|
+
const texts = fragments.map((fragment) => JSON.stringify(fragment.lines));
|
|
494
|
+
const textIds = texts.map((text) => texts.indexOf(text));
|
|
495
|
+
const ids = [...new Set(textIds)];
|
|
496
|
+
// Each item is accepted in Source order or, unless it is a script item —
|
|
497
|
+
// shell text the prefix pass never moves — in a prefix-first tiling. Its
|
|
498
|
+
// carriage of each fragment text follows one layout it is accepted in: its
|
|
499
|
+
// contiguous occurrences when in Source order, or one tiling's fragments; an
|
|
500
|
+
// item accepted in neither, already reported, carries its contiguous ones.
|
|
501
|
+
// The chosen carriages together supply each authored text as many times as
|
|
502
|
+
// Source authors it, so one occurrence never stands for two authored
|
|
503
|
+
// fragments (DR-052).
|
|
504
|
+
const verdicts = items.map((item) => {
|
|
505
|
+
const sourceOrder = fragmentsAreInSourceOrder(item.prompt, fragments);
|
|
506
|
+
const prefixFirst = item.script
|
|
507
|
+
? { tilings: [], overflow: false }
|
|
508
|
+
: prefixFirstTilings(item, fragments, textIds);
|
|
509
|
+
const count = (tiling) => ids.map((id) => tiling.filter((textId) => textId === id).length);
|
|
510
|
+
const carriages = prefixFirst.tilings.map(count);
|
|
511
|
+
if (sourceOrder || carriages.length === 0) {
|
|
512
|
+
carriages.unshift(ids.map((id) => countFragment(item.prompt, fragments[id].lines)));
|
|
513
|
+
}
|
|
514
|
+
return {
|
|
515
|
+
sourceOrder,
|
|
516
|
+
prefixFirst: prefixFirst.tilings.length > 0,
|
|
517
|
+
overflow: prefixFirst.overflow,
|
|
518
|
+
carriages: [
|
|
519
|
+
...new Map(carriages.map((carriage) => [carriage.join(','), carriage])).values(),
|
|
520
|
+
],
|
|
521
|
+
};
|
|
522
|
+
});
|
|
523
|
+
const deficit = ids.map((id, position) => Math.max(0, textIds.filter((textId) => textId === id).length -
|
|
524
|
+
verdicts
|
|
525
|
+
.filter((verdict) => verdict.carriages.length === 1)
|
|
526
|
+
.reduce((sum, verdict) => sum + verdict.carriages[0][position], 0)));
|
|
527
|
+
const choices = verdicts
|
|
528
|
+
.map((verdict) => verdict.carriages)
|
|
529
|
+
.filter((carriages) => carriages.length > 1);
|
|
530
|
+
const residual = residualDeficit(deficit, choices);
|
|
200
531
|
const relayedFields = new Set(fragments
|
|
201
532
|
.filter((fragment) => fragment.kind === 'relay')
|
|
202
533
|
.flatMap((fragment) => fragment.lines.flatMap((line) => [...line.matchAll(PLACEHOLDER)].map((match) => placeholderField(match[1])))));
|
|
203
534
|
const authoredLines = new Set(fragments.flatMap((fragment) => fragment.lines.filter((line) => line !== '')));
|
|
204
|
-
|
|
205
|
-
|
|
535
|
+
ids.forEach((id, position) => {
|
|
536
|
+
const missing = residual[position];
|
|
537
|
+
if (missing === 0)
|
|
538
|
+
return;
|
|
539
|
+
const indexes = textIds.flatMap((textId, index) => textId === id ? [index] : []);
|
|
540
|
+
for (const index of indexes.slice(-missing)) {
|
|
541
|
+
const fragment = fragments[index];
|
|
206
542
|
findings.push(`source ${fragment.kind} fragment at line ${fragment.start + 1} was dropped or changed`);
|
|
207
543
|
}
|
|
208
|
-
}
|
|
209
|
-
for (const item of items) {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
if (matches[index - 1].fragment.start > matches[index].fragment.start) {
|
|
219
|
-
findings.push(`${item.id}: authored prompt fragments are out of Source order`);
|
|
220
|
-
break;
|
|
221
|
-
}
|
|
544
|
+
});
|
|
545
|
+
for (const [index, item] of items.entries()) {
|
|
546
|
+
// An item in Source order keeps its contiguous carriage whatever its
|
|
547
|
+
// tilings; any other stands on them, so an enumeration cut short is named.
|
|
548
|
+
const verdict = verdicts[index];
|
|
549
|
+
if (!verdict.sourceOrder && verdict.overflow) {
|
|
550
|
+
findings.push(`${item.id}: prompt admits more tilings than the checker verifies`);
|
|
551
|
+
}
|
|
552
|
+
if (!verdict.sourceOrder && !verdict.prefixFirst) {
|
|
553
|
+
findings.push(`${item.id}: authored prompt fragments are out of Source order`);
|
|
222
554
|
}
|
|
223
555
|
// A Source that authors no fragment leaves prompt wording to the compiler
|
|
224
556
|
// (DR-029), so the invented-line rule applies only once one exists.
|
|
@@ -229,6 +561,10 @@ export function checkSourceGearsContract(sourceText, gearsText) {
|
|
|
229
561
|
continue;
|
|
230
562
|
if (RELAY_PLACEHOLDER_LINE.test(line))
|
|
231
563
|
continue;
|
|
564
|
+
if (RAW_PLACEHOLDER_LINE.test(line)) {
|
|
565
|
+
findings.push(`${item.id}: additional placeholder line ${JSON.stringify(line)} lacks a literal quote marker in the prompt; use ${JSON.stringify(`> > ${line}`)} in GEARS to retain ${JSON.stringify(`> ${line}`)} as prompt content`);
|
|
566
|
+
continue;
|
|
567
|
+
}
|
|
232
568
|
findings.push(`${item.id}: prompt line is not an authored fragment: ${JSON.stringify(line)}`);
|
|
233
569
|
}
|
|
234
570
|
}
|
|
@@ -262,7 +598,17 @@ export function checkSourceGearsContract(sourceText, gearsText) {
|
|
|
262
598
|
}
|
|
263
599
|
const reported = new Set();
|
|
264
600
|
for (const item of items) {
|
|
601
|
+
// A script blockquote is shell text no agent reads, so a placeholder
|
|
602
|
+
// there binds the command to its target rather than relaying player text
|
|
603
|
+
// into a prompt; the literal quote marker does not apply to it.
|
|
604
|
+
if (item.script)
|
|
605
|
+
continue;
|
|
265
606
|
for (const line of item.prompt) {
|
|
607
|
+
// A line the Source authored keeps the Source's own form — a command
|
|
608
|
+
// that compares the value as a single-quoted shell word, for instance —
|
|
609
|
+
// so the marker is owed only by a line the compiler composed.
|
|
610
|
+
if (authoredLines.has(line))
|
|
611
|
+
continue;
|
|
266
612
|
for (const match of line.matchAll(PLACEHOLDER)) {
|
|
267
613
|
const field = placeholderField(match[1]);
|
|
268
614
|
if (!relayedFields.has(field))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-source.js","sourceRoot":"","sources":["../src/verify-source.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verify-source.js","sourceRoot":"","sources":["../src/verify-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-support.js","sourceRoot":"","sources":["../src/verify-support.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,0EAA0E;AAE1E;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,oBAAoB,YAAY,CAAC;AAE7E,MAAM,aAAa,GAAG;IACpB,SAAS;IACT,WAAW;IACX,WAAW;IACX,aAAa;IACb,oBAAoB;IACpB,sBAAsB;CACd,CAAC;AAQX,SAAS,iBAAiB;IACxB,MAAM,UAAU,GAAG,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"verify-support.js","sourceRoot":"","sources":["../src/verify-support.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,0EAA0E;AAE1E;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,oBAAoB,YAAY,CAAC;AAE7E,MAAM,aAAa,GAAG;IACpB,SAAS;IACT,WAAW;IACX,WAAW;IACX,aAAa;IACb,oBAAoB;IACpB,sBAAsB;CACd,CAAC;AAQX,SAAS,iBAAiB;IACxB,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,KAAK;QAClC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,oBAAoB,CAClC,WAAmB;IAEnB,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IAC1D,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;QAC7B,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;KAC9B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe;IAChD,OAAO,OAAO,CAAC,OAAO,CAAC,sCAAsC,EAAE,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAAmB;IAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IAC1D,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,GAAG,CAChB,oBAAoB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;QACjE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,SAAS,CAAC,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Strict standalone FSM check without changing source or dependency resolution. */
|
|
2
|
+
export declare function checkFsmTypeScript(target: string, signal?: AbortSignal, additionalEsmRoots?: readonly string[]): Promise<readonly string[]>;
|
|
3
|
+
//# sourceMappingURL=verify-typescript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-typescript.d.ts","sourceRoot":"","sources":["../src/verify-typescript.ts"],"names":[],"mappings":"AASA,oFAAoF;AACpF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,EACpB,kBAAkB,GAAE,SAAS,MAAM,EAAO,GACzC,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAc5B"}
|