@skillstate/core 3.0.0 → 3.0.1
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 +1 -2
- package/dist/events.d.ts +8 -2
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js.map +1 -1
- package/dist/runtime.d.ts +43 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +80 -1
- package/dist/runtime.js.map +1 -1
- package/dist/schemas/generic-procedure.d.ts.map +1 -1
- package/dist/schemas/generic-procedure.js +10 -2
- package/dist/schemas/generic-procedure.js.map +1 -1
- package/dist/state-manager.d.ts.map +1 -1
- package/dist/state-manager.js +16 -1
- package/dist/state-manager.js.map +1 -1
- package/dist/types.d.ts +11 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/@skillstate/core)
|
|
8
8
|
[](https://www.npmjs.com/package/@skillstate/core)
|
|
9
|
-
[](https://github.com/vitalykuzyaev/skillstate/blob/main/LICENSE)
|
|
9
|
+
[](https://github.com/vitkuz573/skillstate/blob/main/LICENSE)
|
|
11
10
|
|
|
12
11
|
</div>
|
|
13
12
|
|
package/dist/events.d.ts
CHANGED
|
@@ -10,14 +10,16 @@
|
|
|
10
10
|
* - `step:error` — validation-exhausted or transport-thrown steps
|
|
11
11
|
* (`{ step, error }`);
|
|
12
12
|
* - `budget:exceeded` — `run()` char-budget trip
|
|
13
|
-
* (`{ step, totalChars, maxChars }`)
|
|
13
|
+
* (`{ step, totalChars, maxChars }`);
|
|
14
|
+
* - `run:exhausted` — `run()` left its loop by running out of steps rather
|
|
15
|
+
* than by `isDone` (`{ steps, maxSteps }`).
|
|
14
16
|
*
|
|
15
17
|
* Zero dependencies, Node >= 20, ESM. Deliberately NOT `node:events`:
|
|
16
18
|
* a 30-line typed emitter keeps payloads type-safe without any import.
|
|
17
19
|
*/
|
|
18
20
|
import type { Observation } from './types.js';
|
|
19
21
|
/** @non-paper runtime event names. */
|
|
20
|
-
export type RuntimeEventName = 'step:start' | 'step:end' | 'step:error' | 'budget:exceeded';
|
|
22
|
+
export type RuntimeEventName = 'step:start' | 'step:end' | 'step:error' | 'budget:exceeded' | 'run:exhausted';
|
|
21
23
|
/** @non-paper payloads per runtime event. */
|
|
22
24
|
export interface RuntimeEventPayloads {
|
|
23
25
|
'step:start': {
|
|
@@ -38,6 +40,10 @@ export interface RuntimeEventPayloads {
|
|
|
38
40
|
totalChars: number;
|
|
39
41
|
maxChars: number;
|
|
40
42
|
};
|
|
43
|
+
'run:exhausted': {
|
|
44
|
+
steps: number;
|
|
45
|
+
maxSteps: number;
|
|
46
|
+
};
|
|
41
47
|
}
|
|
42
48
|
/** @non-paper listener for one runtime event. */
|
|
43
49
|
export type RuntimeEventListener<E extends RuntimeEventName> = (payload: RuntimeEventPayloads[E]) => void;
|
package/dist/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,sCAAsC;AACtC,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,iBAAiB,GACjB,eAAe,CAAC;AAEpB,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,CAAC;IACzD,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IACnE,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,iBAAiB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1E,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AAED,iDAAiD;AACjD,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,gBAAgB,IAAI,CAC7D,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAC7B,IAAI,CAAC;AAEV;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAGtB;IAEJ,kDAAkD;IAClD,EAAE,CAAC,CAAC,SAAS,gBAAgB,EAC3B,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAChC,MAAM,IAAI,CAUZ;IAED,sDAAsD;IACtD,GAAG,CAAC,CAAC,SAAS,gBAAgB,EAC5B,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAChC,IAAI,CAEN;IAED,gEAAgE;IAChE,IAAI,CAAC,CAAC,SAAS,gBAAgB,EAC7B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC/B,IAAI,CAQN;CACF;AAED,+EAA+E;AAC/E,eAAO,MAAM,aAAa,qBAA4B,CAAC"}
|
package/dist/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AA2CA;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IACb,SAAS,GAAG,IAAI,GAAG,EAGjC,CAAC;IAEJ,kDAAkD;IAClD,EAAE,CACA,KAAQ,EACR,QAAiC;QAEjC,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,QAAsC,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC;IAED,sDAAsD;IACtD,GAAG,CACD,KAAQ,EACR,QAAiC;QAEjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,QAAsC,CAAC,CAAC;IAC5E,CAAC;IAED,gEAAgE;IAChE,IAAI,CACF,KAAQ,EACR,OAAgC;QAEhC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YAC/B,QAAoC,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CACF;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,mBAAmB,EAAE,CAAC"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -101,6 +101,14 @@ export interface RunOptions {
|
|
|
101
101
|
tokenBudget?: CharsBudget;
|
|
102
102
|
charsBudget?: CharsBudget;
|
|
103
103
|
maxChars?: number;
|
|
104
|
+
/**
|
|
105
|
+
* @non-paper §10.1's `break` on an invalidated step, replaced by its own
|
|
106
|
+
* trailing comment — "or continue, per policy". Off by default, which is the
|
|
107
|
+
* pseudocode's behaviour; on, a rejected patch costs one step instead of
|
|
108
|
+
* ending the run, and the caller is responsible for the retry storm that
|
|
109
|
+
* implies.
|
|
110
|
+
*/
|
|
111
|
+
continueOnInvalidated?: boolean;
|
|
104
112
|
}
|
|
105
113
|
/**
|
|
106
114
|
* @non-paper rejection reason when `run()` trips a char budget. Carries
|
|
@@ -115,6 +123,14 @@ export declare class BudgetExceededError extends Error {
|
|
|
115
123
|
constructor(maxChars: number, totalChars: number, partialResults: StepResult[]);
|
|
116
124
|
}
|
|
117
125
|
/** Result of a single Algorithm 1 step. */
|
|
126
|
+
/**
|
|
127
|
+
* How a {@link SkillStateRuntime.run} ended.
|
|
128
|
+
*
|
|
129
|
+
* Three exits, one return value — the paper's pseudocode returns `StepResult[]`
|
|
130
|
+
* from all of them, so the caller cannot tell a finished run from a stopped one.
|
|
131
|
+
* Only the first is completion.
|
|
132
|
+
*/
|
|
133
|
+
export type RunStop = 'done' | 'invalidated' | 'max_steps';
|
|
118
134
|
export interface StepResult {
|
|
119
135
|
step: number;
|
|
120
136
|
observation: Observation;
|
|
@@ -149,6 +165,7 @@ export interface StepResult {
|
|
|
149
165
|
* objects, so a rejected patch can never leak into state (rollback is free).
|
|
150
166
|
*/
|
|
151
167
|
export declare class SkillStateRuntime {
|
|
168
|
+
#private;
|
|
152
169
|
private readonly spec;
|
|
153
170
|
private readonly llm;
|
|
154
171
|
private readonly execute;
|
|
@@ -219,5 +236,31 @@ export declare class SkillStateRuntime {
|
|
|
219
236
|
* untouched.
|
|
220
237
|
*/
|
|
221
238
|
run(first: Observation, isDone: (r: StepResult) => boolean, maxSteps?: number, runOpts?: RunOptions): Promise<StepResult[]>;
|
|
239
|
+
/**
|
|
240
|
+
* Why the last {@link SkillStateRuntime.run} stopped.
|
|
241
|
+
*
|
|
242
|
+
* `'done'` — `isDone` returned true. `'invalidated'` — §10.1's `break` on a
|
|
243
|
+
* step whose patch was rejected after every attempt. `'max_steps'` — the loop
|
|
244
|
+
* ran out of budget, which is NOT completion.
|
|
245
|
+
*
|
|
246
|
+
* `undefined` before the first `run()`. Reset by every `run()` call, so it
|
|
247
|
+
* always describes the most recent one and never a previous run's ending.
|
|
248
|
+
*/
|
|
249
|
+
get lastRunStop(): RunStop | undefined;
|
|
222
250
|
}
|
|
251
|
+
/**
|
|
252
|
+
* §6.4's synthetic observation. One definition, used by the runtime and the
|
|
253
|
+
* host adapter alike — the two used to build this string separately, and they
|
|
254
|
+
* did not agree: `k = 0` is a legal configuration, and the copy in this file
|
|
255
|
+
* wrote "1 attempts".
|
|
256
|
+
*
|
|
257
|
+
* A DELIBERATE divergence from §10.1, which writes the literal
|
|
258
|
+
* `"... after " + str(attempt) + " attempts: "` and so produces "1 attempts"
|
|
259
|
+
* when k = 0. The plural is corrected here. A.4 is declared byte-normative in
|
|
260
|
+
* §5.2 and this is not: §10.1 is illustrative pseudocode, and a grammar error
|
|
261
|
+
* in a literal that is handed to a model to read is a defect, not a
|
|
262
|
+
* conformance item. Flagged rather than quietly taken, because the rule for
|
|
263
|
+
* diverging from the paper is that the divergence is written down.
|
|
264
|
+
*/
|
|
265
|
+
export declare function invalidPatchObservation(attempts: number, lastError: string | undefined): string;
|
|
223
266
|
//# sourceMappingURL=runtime.d.ts.map
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,WAAW,EACX,UAAU,EACX,MAAM,YAAY,CAAC;AAIpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAY,MAAM,eAAe,CAAC;AAE3D,6CAA6C;AAC7C,MAAM,WAAW,KAAK;IACpB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACnC;AAED,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC3D;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B;;;;OAIG;IACH,GAAG,EAAE,KAAK,GAAG,WAAW,CAAC;IACzB,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;;OAIG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,4DAA4D;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,yEAAyE;AACzE,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AAEtC;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.js
CHANGED
|
@@ -79,6 +79,7 @@ export class SkillStateRuntime {
|
|
|
79
79
|
transformer = new PromptTransformer();
|
|
80
80
|
currentState;
|
|
81
81
|
stepCounter = 0;
|
|
82
|
+
#lastRunStop;
|
|
82
83
|
constructor(options) {
|
|
83
84
|
this.spec = options.spec;
|
|
84
85
|
this.llm = options.llm;
|
|
@@ -236,7 +237,7 @@ export class SkillStateRuntime {
|
|
|
236
237
|
// exhaustion; the sentinel action is never executed).
|
|
237
238
|
const newObservation = accepted === null
|
|
238
239
|
? {
|
|
239
|
-
content:
|
|
240
|
+
content: invalidPatchObservation(attempts, lastError),
|
|
240
241
|
timestamp: this.now(),
|
|
241
242
|
source: 'skillstate',
|
|
242
243
|
}
|
|
@@ -308,6 +309,22 @@ export class SkillStateRuntime {
|
|
|
308
309
|
async run(first, isDone, maxSteps = DEFAULT_MAX_STEPS, runOpts) {
|
|
309
310
|
const results = [];
|
|
310
311
|
const maxChars = this.resolveMaxChars(runOpts);
|
|
312
|
+
// §10.1, verbatim:
|
|
313
|
+
//
|
|
314
|
+
// if stepResult.invalidated:
|
|
315
|
+
// break // or continue, per policy
|
|
316
|
+
//
|
|
317
|
+
// The `break` is what the pseudocode does; the trailing comment is the
|
|
318
|
+
// paper permitting the other. This loop implemented the comment and ignored
|
|
319
|
+
// the code, so a step whose patch was rejected after every attempt kept
|
|
320
|
+
// spending steps — each one re-reading an unchanged state and re-asking for
|
|
321
|
+
// a patch that the previous k+1 attempts had already failed to produce.
|
|
322
|
+
//
|
|
323
|
+
// §6.4's observation is still returned, unchanged, in `newObservation`. The
|
|
324
|
+
// paper builds it and then breaks; it is the caller's to use afterwards. The
|
|
325
|
+
// loop is not the place to keep going.
|
|
326
|
+
const continueOnInvalidated = runOpts
|
|
327
|
+
?.continueOnInvalidated === true;
|
|
311
328
|
let localTotal = 0;
|
|
312
329
|
let observation = first;
|
|
313
330
|
for (let i = 0; i < maxSteps; i += 1) {
|
|
@@ -351,12 +368,74 @@ export class SkillStateRuntime {
|
|
|
351
368
|
localTotal += result.promptChars + result.responseChars;
|
|
352
369
|
}
|
|
353
370
|
results.push(result);
|
|
371
|
+
if (result.invalidated && !continueOnInvalidated) {
|
|
372
|
+
this.#lastRunStop = 'invalidated';
|
|
373
|
+
break;
|
|
374
|
+
}
|
|
354
375
|
if (isDone(result)) {
|
|
376
|
+
this.#lastRunStop = 'done';
|
|
355
377
|
break;
|
|
356
378
|
}
|
|
357
379
|
observation = result.newObservation;
|
|
358
380
|
}
|
|
381
|
+
// Three exits, one return value. `break` on `isDone`, `break` on an
|
|
382
|
+
// invalidated step, and falling out of the `for` are indistinguishable to the
|
|
383
|
+
// caller, and the third is the one that lies: a run that stopped at
|
|
384
|
+
// `maxSteps` looks exactly like a run that finished.
|
|
385
|
+
//
|
|
386
|
+
// That is not hypothetical. A 90-file measurement was read as "the model
|
|
387
|
+
// lost track of its running sum at file 78" when the truth was that
|
|
388
|
+
// §10.1's default ceiling of 100 steps arrived first, at ~1.67 patches per
|
|
389
|
+
// file, and the transcript ended mid-file-79 with the work still going. The
|
|
390
|
+
// correction came from counting patches by hand, not from anything the
|
|
391
|
+
// library said.
|
|
392
|
+
//
|
|
393
|
+
// §10.1's pseudocode is `for step in range(maxSteps)`, so it too just stops
|
|
394
|
+
// — the paper does not specify a report, and this is not a rule from the
|
|
395
|
+
// paper. It is the same report the budget trip already makes: `run()` says
|
|
396
|
+
// it stopped, and by what.
|
|
397
|
+
if (this.#lastRunStop === undefined) {
|
|
398
|
+
this.#lastRunStop = 'max_steps';
|
|
399
|
+
this.events?.emit('run:exhausted', { steps: results.length, maxSteps });
|
|
400
|
+
this.logger?.warn('run:exhausted', { steps: results.length, maxSteps });
|
|
401
|
+
}
|
|
359
402
|
return results;
|
|
360
403
|
}
|
|
404
|
+
/**
|
|
405
|
+
* Why the last {@link SkillStateRuntime.run} stopped.
|
|
406
|
+
*
|
|
407
|
+
* `'done'` — `isDone` returned true. `'invalidated'` — §10.1's `break` on a
|
|
408
|
+
* step whose patch was rejected after every attempt. `'max_steps'` — the loop
|
|
409
|
+
* ran out of budget, which is NOT completion.
|
|
410
|
+
*
|
|
411
|
+
* `undefined` before the first `run()`. Reset by every `run()` call, so it
|
|
412
|
+
* always describes the most recent one and never a previous run's ending.
|
|
413
|
+
*/
|
|
414
|
+
get lastRunStop() {
|
|
415
|
+
return this.#lastRunStop;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* §6.4's synthetic observation. One definition, used by the runtime and the
|
|
420
|
+
* host adapter alike — the two used to build this string separately, and they
|
|
421
|
+
* did not agree: `k = 0` is a legal configuration, and the copy in this file
|
|
422
|
+
* wrote "1 attempts".
|
|
423
|
+
*
|
|
424
|
+
* A DELIBERATE divergence from §10.1, which writes the literal
|
|
425
|
+
* `"... after " + str(attempt) + " attempts: "` and so produces "1 attempts"
|
|
426
|
+
* when k = 0. The plural is corrected here. A.4 is declared byte-normative in
|
|
427
|
+
* §5.2 and this is not: §10.1 is illustrative pseudocode, and a grammar error
|
|
428
|
+
* in a literal that is handed to a model to read is a defect, not a
|
|
429
|
+
* conformance item. Flagged rather than quietly taken, because the rule for
|
|
430
|
+
* diverging from the paper is that the divergence is written down.
|
|
431
|
+
*/
|
|
432
|
+
export function invalidPatchObservation(attempts, lastError) {
|
|
433
|
+
// Empty for zero attempts, not a sentence about zero attempts. The caller
|
|
434
|
+
// falls back to the running correction when this is empty, so returning a
|
|
435
|
+
// string here would silence a real reason with a report of nothing.
|
|
436
|
+
if (attempts < 1)
|
|
437
|
+
return '';
|
|
438
|
+
const reason = lastError === undefined || lastError.length === 0 ? 'no valid patch was produced' : lastError;
|
|
439
|
+
return `Invalid state patch after ${attempts} attempt${attempts === 1 ? '' : 's'}: ${reason}`;
|
|
361
440
|
}
|
|
362
441
|
//# sourceMappingURL=runtime.js.map
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-procedure.d.ts","sourceRoot":"","sources":["../../src/schemas/generic-procedure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"generic-procedure.d.ts","sourceRoot":"","sources":["../../src/schemas/generic-procedure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,sBAAsB,EAAE,cAyEpC,CAAC"}
|
|
@@ -24,12 +24,20 @@ export const GENERIC_PROCEDURE_SPEC = {
|
|
|
24
24
|
'- state.checkpoint save a snapshot that state.rollback restores',
|
|
25
25
|
'',
|
|
26
26
|
'A patch merges into the state: a null value deletes that key, and nested',
|
|
27
|
-
'objects merge recursively.
|
|
28
|
-
'
|
|
27
|
+
'objects merge recursively. A patch is sparse — a field it does not mention',
|
|
28
|
+
'is left exactly as it is, so a patch naming one field touches only that',
|
|
29
|
+
'field and the rest of the state carries over untouched. An array is',
|
|
30
|
+
'replaced whole rather than appended to, so a list you want to grow has to',
|
|
31
|
+
'be sent as the complete list you want to end up with — the whole list,',
|
|
32
|
+
'including everything it already held. Patches are validated against this',
|
|
33
|
+
'schema before anything is written; an invalid patch is rejected with the',
|
|
29
34
|
'offending field and changes nothing.',
|
|
30
35
|
'',
|
|
31
36
|
'Use these tools for facts that must survive a context reset, and skip',
|
|
32
37
|
'them otherwise. Keep doing what the user asked.',
|
|
38
|
+
'',
|
|
39
|
+
'The state is a record, not a scratchpad: it is meant to still be there',
|
|
40
|
+
'and readable once the work is finished, by whoever comes next.',
|
|
33
41
|
].join('\n'),
|
|
34
42
|
schema: {
|
|
35
43
|
goal: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-procedure.js","sourceRoot":"","sources":["../../src/schemas/generic-procedure.ts"],"names":[],"mappings":"AA+BA,MAAM,CAAC,MAAM,sBAAsB,GAAmB;IACpD,EAAE,EAAE,mBAAmB;IACvB,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,YAAY,EAAE;QACZ,yEAAyE;QACzE,wEAAwE;QACxE,gEAAgE;QAChE,EAAE;QACF,2BAA2B;QAC3B,oDAAoD;QACpD,sDAAsD;QACtD,sCAAsC;QACtC,qDAAqD;QACrD,4CAA4C;QAC5C,6CAA6C;QAC7C,EAAE;QACF,+BAA+B;QAC/B,qDAAqD;QACrD,kDAAkD;QAClD,2EAA2E;QAC3E,+DAA+D;QAC/D,oEAAoE;QACpE,2EAA2E;QAC3E,EAAE;QACF,0EAA0E;QAC1E,
|
|
1
|
+
{"version":3,"file":"generic-procedure.js","sourceRoot":"","sources":["../../src/schemas/generic-procedure.ts"],"names":[],"mappings":"AA+BA,MAAM,CAAC,MAAM,sBAAsB,GAAmB;IACpD,EAAE,EAAE,mBAAmB;IACvB,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,YAAY,EAAE;QACZ,yEAAyE;QACzE,wEAAwE;QACxE,gEAAgE;QAChE,EAAE;QACF,2BAA2B;QAC3B,oDAAoD;QACpD,sDAAsD;QACtD,sCAAsC;QACtC,qDAAqD;QACrD,4CAA4C;QAC5C,6CAA6C;QAC7C,EAAE;QACF,+BAA+B;QAC/B,qDAAqD;QACrD,kDAAkD;QAClD,2EAA2E;QAC3E,+DAA+D;QAC/D,oEAAoE;QACpE,2EAA2E;QAC3E,EAAE;QACF,0EAA0E;QAC1E,4EAA4E;QAC5E,yEAAyE;QACzE,qEAAqE;QACrE,2EAA2E;QAC3E,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,sCAAsC;QACtC,EAAE;QACF,uEAAuE;QACvE,iDAAiD;QACjD,EAAE;QACF,wEAAwE;QACxE,gEAAgE;KACjE,CAAC,IAAI,CAAC,IAAI,CAAC;IACZ,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,iDAAiD;SAC/D;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,+BAA+B;SAC7C;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,sBAAsB;SACpC;QACD,SAAS,EAAE;YACT,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,4CAA4C;SAC1D;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,+BAA+B;SAC7C;QACD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,iDAAiD;SAC/D;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-manager.d.ts","sourceRoot":"","sources":["../src/state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,WAAW,EAEX,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAOpB,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAC9B,UAAU,CAWZ;AAkBD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,UAAU,CAE3E;
|
|
1
|
+
{"version":3,"file":"state-manager.d.ts","sourceRoot":"","sources":["../src/state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,WAAW,EAEX,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAOpB,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAC9B,UAAU,CAWZ;AAkBD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,UAAU,CAE3E;AAwCD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,UAAU,GAChB,gBAAgB,CAkBlB;AAMD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7B,MAAM,CAKR;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAEzD;AAMD,qBAAa,YAAY;IACvB,MAAM,CAAC,kBAAkB,4BAAsB;IAC/C,MAAM,CAAC,UAAU,oBAAc;IAC/B,MAAM,CAAC,aAAa,uBAAiB;IACrC,MAAM,CAAC,cAAc,wBAAkB;IACvC,MAAM,CAAC,gBAAgB,0BAAoB;CAC5C;AAMD,wBAAgB,kBAAkB;;;;;;EAQjC"}
|
package/dist/state-manager.js
CHANGED
|
@@ -41,7 +41,22 @@ function checkType(value, field) {
|
|
|
41
41
|
case 'string':
|
|
42
42
|
return typeof value === 'string';
|
|
43
43
|
case 'number':
|
|
44
|
-
|
|
44
|
+
// `typeof NaN === 'number'`, so that test alone lets a number the
|
|
45
|
+
// interchange format cannot carry through validation.
|
|
46
|
+
//
|
|
47
|
+
// §4.2 gives the reason it matters: types are limited to a closed set "so
|
|
48
|
+
// that a conforming validator in any language can check patches
|
|
49
|
+
// identically". JSON has no NaN and no Infinity — `JSON.stringify({n: NaN})`
|
|
50
|
+
// is `{"n":null}` — so a validator in another language reading the same
|
|
51
|
+
// patch cannot even see one, and would read the model's number as a
|
|
52
|
+
// deletion instead.
|
|
53
|
+
//
|
|
54
|
+
// The observable damage is worse than a portability gap. A patch of
|
|
55
|
+
// `{total: NaN}` passes, merges, and the state file is written with
|
|
56
|
+
// `total: null` — so §4.2's "a key that exists holds a value of its
|
|
57
|
+
// declared type" is broken by a patch §6.2 accepted, and the field the
|
|
58
|
+
// model asked to write a number into has silently become a deletion.
|
|
59
|
+
return typeof value === 'number' && Number.isFinite(value);
|
|
45
60
|
case 'boolean':
|
|
46
61
|
return typeof value === 'boolean';
|
|
47
62
|
case 'array':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-manager.js","sourceRoot":"","sources":["../src/state-manager.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,8EAA8E;AAC9E,uEAAuE;AACvE,8EAA8E;AAE9E,MAAM,UAAU,kBAAkB,CAChC,MAAmB,EACnB,SAA+B;IAE/B,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;IAC7B,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,oDAAoD;AACpD,iCAAiC;AACjC,2CAA2C;AAC3C,2CAA2C;AAC3C,qCAAqC;AACrC,EAAE;AACF,qEAAqE;AACrE,mEAAmE;AACnE,uDAAuD;AACvD,8EAA8E;AAE9E,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAiB,EAAE,KAAiB;IAC7D,OAAO,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAE9E,SAAS,SAAS,CAAC,KAAc,EAAE,KAAkB;IACnD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,kCAAkC;IAEnE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;QACnC,KAAK,QAAQ;YACX,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"state-manager.js","sourceRoot":"","sources":["../src/state-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -26,12 +26,22 @@ export interface StateTransition {
|
|
|
26
26
|
action: string;
|
|
27
27
|
timestamp: number;
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* §6.2: "`validatePatch` returns `{ valid: true }` or
|
|
31
|
+
* `{ valid: false, error, field }`."
|
|
32
|
+
*
|
|
33
|
+
* `field` is NOT optional. Every reason the paper names — unknown key, type
|
|
34
|
+
* mismatch — is about one named key, and every constructor in this package sets
|
|
35
|
+
* it. Making it optional bought a `field === undefined` branch in every caller
|
|
36
|
+
* that no test could reach, which is a branch nobody will ever exercise and
|
|
37
|
+
* therefore one that will quietly rot.
|
|
38
|
+
*/
|
|
29
39
|
export type ValidationResult = {
|
|
30
40
|
valid: true;
|
|
31
41
|
} | {
|
|
32
42
|
valid: false;
|
|
33
43
|
error: string;
|
|
34
|
-
field
|
|
44
|
+
field: string;
|
|
35
45
|
};
|
|
36
46
|
export interface ExecutionStep {
|
|
37
47
|
step: number;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAGjD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;AAGxD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAGtD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,UAAU,CAAC;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,MAAM,gBAAgB,GACxB;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GACf;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAGjD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;AAGxD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAGtD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,UAAU,CAAC;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GACf;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAKnD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAGlB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAGD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC;IAC7D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAClD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/C,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC;CACzF;AAGD,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CAC7C"}
|