@principles/core 1.83.0 → 1.85.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/dist/runtime-v2/index.d.ts +2 -0
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +2 -0
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.js +398 -0
- package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.js.map +1 -0
- package/dist/runtime-v2/internalization/dreamer-output.d.ts +4 -3
- package/dist/runtime-v2/internalization/dreamer-output.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/dreamer-output.js +11 -9
- package/dist/runtime-v2/internalization/dreamer-output.js.map +1 -1
- package/dist/runtime-v2/internalization/dreamer-runner.d.ts +31 -92
- package/dist/runtime-v2/internalization/dreamer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/dreamer-runner.js +79 -495
- package/dist/runtime-v2/internalization/dreamer-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-output.d.ts +8 -2
- package/dist/runtime-v2/internalization/philosopher-output.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-output.js +16 -11
- package/dist/runtime-v2/internalization/philosopher-output.js.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-runner.d.ts +36 -55
- package/dist/runtime-v2/internalization/philosopher-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-runner.js +117 -401
- package/dist/runtime-v2/internalization/philosopher-runner.js.map +1 -1
- package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.d.ts +2 -0
- package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.d.ts.map +1 -0
- package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js +260 -0
- package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js.map +1 -0
- package/dist/runtime-v2/runner/base-peer-runner.d.ts +122 -0
- package/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -0
- package/dist/runtime-v2/runner/base-peer-runner.js +520 -0
- package/dist/runtime-v2/runner/base-peer-runner.js.map +1 -0
- package/dist/runtime-v2/runner/peer-runner-types.d.ts +107 -0
- package/dist/runtime-v2/runner/peer-runner-types.d.ts.map +1 -0
- package/dist/runtime-v2/runner/peer-runner-types.js +13 -0
- package/dist/runtime-v2/runner/peer-runner-types.js.map +1 -0
- package/dist/telemetry-event.d.ts +2 -2
- package/dist/telemetry-event.d.ts.map +1 -1
- package/dist/telemetry-event.js +23 -0
- package/dist/telemetry-event.js.map +1 -1
- package/package.json +1 -1
|
@@ -101,10 +101,11 @@ export interface DreamerValidationResult {
|
|
|
101
101
|
* PassThroughDreamerValidator is test-only and must not be used in production paths.
|
|
102
102
|
*/
|
|
103
103
|
export interface DreamerValidator {
|
|
104
|
-
|
|
104
|
+
/** Validate untrusted output. Accepts `unknown` — must perform runtime checks (ERR-001). */
|
|
105
|
+
validate(output: unknown, taskId: string): Promise<DreamerValidationResult>;
|
|
105
106
|
}
|
|
106
107
|
export declare class DefaultDreamerValidator implements DreamerValidator {
|
|
107
|
-
validate(output:
|
|
108
|
+
validate(output: unknown, taskId: string): Promise<DreamerValidationResult>;
|
|
108
109
|
}
|
|
109
110
|
/**
|
|
110
111
|
* Pass-through validator — accepts all output.
|
|
@@ -115,6 +116,6 @@ export declare class DefaultDreamerValidator implements DreamerValidator {
|
|
|
115
116
|
* @internal
|
|
116
117
|
*/
|
|
117
118
|
export declare class PassThroughDreamerValidator implements DreamerValidator {
|
|
118
|
-
validate(_output:
|
|
119
|
+
validate(_output: unknown, _taskId: string): Promise<DreamerValidationResult>;
|
|
119
120
|
}
|
|
120
121
|
//# sourceMappingURL=dreamer-output.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dreamer-output.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/dreamer-output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAItD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,oDAAoD;IACpD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8BAA8B;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9C,gEAAgE;IAChE,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,UAAU,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACjD,wDAAwD;IACxD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,2DAA2D;IAC3D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,oDAAoD;IACpD,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,mDAAmD;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID,eAAO,MAAM,sBAAsB;;;;;;;;EAQjC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;EAShC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAInE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC;CAC1C;AAID;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"dreamer-output.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/dreamer-output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAItD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,oDAAoD;IACpD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8BAA8B;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9C,gEAAgE;IAChE,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,UAAU,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACjD,wDAAwD;IACxD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,2DAA2D;IAC3D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,oDAAoD;IACpD,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,mDAAmD;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID,eAAO,MAAM,sBAAsB;;;;;;;;EAQjC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;EAShC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAInE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC;CAC1C;AAID;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4FAA4F;IAC5F,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC7E;AAID,qBAAa,uBAAwB,YAAW,gBAAgB;IAExD,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAqDlF;AAED;;;;;;;GAOG;AACH,qBAAa,2BAA4B,YAAW,gBAAgB;IAE5D,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAGpF"}
|
|
@@ -27,21 +27,23 @@ export class DefaultDreamerValidator {
|
|
|
27
27
|
if (typeof output !== 'object' || output === null) {
|
|
28
28
|
return { valid: false, errors: ['Output is not an object'], errorCategory: 'output_invalid' };
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
// Narrow to Record for property access — all fields still treated as untrusted.
|
|
31
|
+
const record = output;
|
|
32
|
+
if (record.taskId !== taskId) {
|
|
33
|
+
errors.push(`taskId mismatch: expected ${taskId}, got ${String(record.taskId)}`);
|
|
32
34
|
}
|
|
33
|
-
if (
|
|
35
|
+
if (record.valid !== true) {
|
|
34
36
|
errors.push('output.valid must be true');
|
|
35
37
|
}
|
|
36
|
-
if (!Array.isArray(
|
|
38
|
+
if (!Array.isArray(record.candidates)) {
|
|
37
39
|
errors.push('candidates must be an array');
|
|
38
40
|
}
|
|
39
41
|
else {
|
|
40
|
-
if (
|
|
42
|
+
if (record.candidates.length < 1 || record.candidates.length > 5) {
|
|
41
43
|
errors.push('candidates must have 1-5 items');
|
|
42
44
|
}
|
|
43
|
-
for (let i = 0; i <
|
|
44
|
-
const c =
|
|
45
|
+
for (let i = 0; i < record.candidates.length; i++) {
|
|
46
|
+
const c = record.candidates[i];
|
|
45
47
|
if (!c) {
|
|
46
48
|
errors.push(`candidates[${i}] is null/undefined`);
|
|
47
49
|
continue;
|
|
@@ -64,10 +66,10 @@ export class DefaultDreamerValidator {
|
|
|
64
66
|
errors.push(`candidates[${i}].strategicPerspective must be non-empty string`);
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
|
-
if (!Array.isArray(
|
|
69
|
+
if (!Array.isArray(record.contextRefs)) {
|
|
68
70
|
errors.push('contextRefs must be an array');
|
|
69
71
|
}
|
|
70
|
-
if (typeof
|
|
72
|
+
if (typeof record.generatedAt !== 'string' || (record.generatedAt).trim() === '') {
|
|
71
73
|
errors.push('generatedAt must be non-empty string');
|
|
72
74
|
}
|
|
73
75
|
return errors.length > 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dreamer-output.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/dreamer-output.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,IAAI,EAAe,MAAM,mBAAmB,CAAC;AAqDtD,+EAA+E;AAE/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;IAChD,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE;IAC7B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC1C,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC7C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACxC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACnD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;CACpD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE;IACrB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACrC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC5E,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC/C,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC1C,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACtC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC1C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;CACrC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"dreamer-output.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/dreamer-output.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,IAAI,EAAe,MAAM,mBAAmB,CAAC;AAqDtD,+EAA+E;AAE/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;IAChD,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE;IAC7B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC1C,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC7C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACxC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACnD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;CACpD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE;IACrB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACrC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC5E,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC/C,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC1C,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACtC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC1C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;CACrC,CAAC,CAAC;AA4BH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAE7D,MAAM,OAAO,uBAAuB;IAClC,qEAAqE;IACrE,KAAK,CAAC,QAAQ,CAAC,MAAe,EAAE,MAAc;QAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,yBAAyB,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC;QAChG,CAAC;QAED,gFAAgF;QAChF,MAAM,MAAM,GAAG,MAAiC,CAAC;QAEjD,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,6BAA6B,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjE,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAChD,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAwC,CAAC;gBACtE,IAAI,CAAC,CAAC,EAAE,CAAC;oBACP,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;oBAClD,SAAS;gBACX,CAAC;gBACD,IAAI,OAAO,CAAC,CAAC,cAAc,KAAK,QAAQ;oBAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,iCAAiC,CAAC,CAAC;gBACxG,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;oBAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,wCAAwC,CAAC,CAAC;gBAC7I,IAAI,OAAO,CAAC,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;oBAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,2CAA2C,CAAC,CAAC;gBACtJ,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;oBAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,sCAAsC,CAAC,CAAC;gBACvI,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ;oBAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC;qBAC3F,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,gCAAgC,CAAC,CAAC;gBAC5G,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,qCAAqC,CAAC,CAAC;gBAC9I,IAAI,OAAO,CAAC,CAAC,oBAAoB,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;oBAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,iDAAiD,CAAC,CAAC;YAC1K,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACjF,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE;YAC3D,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAClC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,2BAA2B;IACtC,qEAAqE;IACrE,KAAK,CAAC,QAAQ,CAAC,OAAgB,EAAE,OAAe;QAC9C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACrC,CAAC;CACF"}
|
|
@@ -1,36 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* DreamerRunner — First real peer runner for the Internalization Engine (PRI-67).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* validate → succeed/fail pipeline
|
|
4
|
+
* Migrated to extend BasePeerRunner (PRI-302). The shared lease → buildContext →
|
|
5
|
+
* invoke → poll → fetch → validate → succeed/fail pipeline is now in the base
|
|
6
|
+
* class. This file only contains Dreamer-specific logic.
|
|
6
7
|
*
|
|
7
8
|
* Key constraints (ADR-0003):
|
|
8
9
|
* - Uses PDRuntimeAdapter for all LLM execution (no direct SDK calls)
|
|
9
10
|
* - Does NOT directly invoke Philosopher/Scribe (host layer enqueues next task)
|
|
10
11
|
* - No plugin-layer imports (core is infrastructure-agnostic)
|
|
11
|
-
* - No timer-based scheduling (sleep via setTimeout is polling-only, not cron-like)
|
|
12
12
|
* - Uses RuntimeStateManager for all state operations
|
|
13
13
|
*
|
|
14
|
-
* Pipeline (same as DiagnosticianRunner):
|
|
15
|
-
* 1. acquireLease — isolated try/catch, lease_conflict is non-mutating
|
|
16
|
-
* 2. resolve store runId via getRunsByTask
|
|
17
|
-
* 3. resolve predecessor context from dependencyTaskIds (no ContextAssembler)
|
|
18
|
-
* 4. startRun with outputSchemaRef: 'dreamer-output-v1'
|
|
19
|
-
* 5. pollUntilTerminal
|
|
20
|
-
* 6. fetchOutput → parse as DreamerOutput
|
|
21
|
-
* 7. validate via DreamerValidator
|
|
22
|
-
* 8. updateRunOutput → persist serialized output
|
|
23
|
-
* 9. markTaskSucceeded with 'dreamer://' + storeRunId
|
|
24
|
-
*
|
|
25
14
|
* @see docs/adr/0003-peer-agent-state-machine-orchestration.md
|
|
15
|
+
* @see BasePeerRunner in runner/base-peer-runner.ts
|
|
26
16
|
*/
|
|
27
|
-
import type {
|
|
28
|
-
import type { PDRuntimeAdapter } from '../runtime-protocol.js';
|
|
29
|
-
import type { StoreEventEmitter } from '../store/event-emitter.js';
|
|
17
|
+
import type { RunHandle } from '../runtime-protocol.js';
|
|
30
18
|
import type { DreamerOutput, DreamerValidator } from './dreamer-output.js';
|
|
31
|
-
import type {
|
|
19
|
+
import type { TaskRecord } from '../task-status.js';
|
|
32
20
|
import { type PDErrorCategory } from '../error-categories.js';
|
|
33
|
-
import {
|
|
21
|
+
import { BasePeerRunner } from '../runner/base-peer-runner.js';
|
|
22
|
+
import type { PeerRunnerOptions, PeerRunnerDeps, PeerRunnerResult, PeerRunnerValidationResult } from '../runner/peer-runner-types.js';
|
|
23
|
+
/** Context built by DreamerRunner.buildContext() and consumed by invokeRuntime(). */
|
|
24
|
+
interface DreamerContext {
|
|
25
|
+
readonly contextHash: string;
|
|
26
|
+
readonly contextRefs: string[];
|
|
27
|
+
readonly predecessorOutput: unknown;
|
|
28
|
+
}
|
|
34
29
|
export type DreamerRunnerResultStatus = 'succeeded' | 'failed' | 'retried';
|
|
35
30
|
export interface DreamerRunnerResult {
|
|
36
31
|
readonly status: DreamerRunnerResultStatus;
|
|
@@ -44,14 +39,7 @@ export interface DreamerRunnerResult {
|
|
|
44
39
|
readonly failureReason?: string;
|
|
45
40
|
readonly attemptCount: number;
|
|
46
41
|
}
|
|
47
|
-
export
|
|
48
|
-
readonly pollIntervalMs?: number;
|
|
49
|
-
readonly timeoutMs?: number;
|
|
50
|
-
readonly defaultMaxAttempts?: number;
|
|
51
|
-
readonly owner: string;
|
|
52
|
-
readonly runtimeKind: string;
|
|
53
|
-
readonly agentId?: string;
|
|
54
|
-
}
|
|
42
|
+
export type DreamerRunnerOptions = PeerRunnerOptions;
|
|
55
43
|
export interface ResolvedDreamerRunnerOptions {
|
|
56
44
|
readonly pollIntervalMs: number;
|
|
57
45
|
readonly timeoutMs: number;
|
|
@@ -60,75 +48,26 @@ export interface ResolvedDreamerRunnerOptions {
|
|
|
60
48
|
readonly runtimeKind: string;
|
|
61
49
|
readonly agentId: string;
|
|
62
50
|
}
|
|
63
|
-
declare const DEFAULT_DREAMER_RUNNER_OPTIONS: Readonly<Omit<ResolvedDreamerRunnerOptions, 'owner' | 'runtimeKind'>>;
|
|
64
|
-
declare function resolveDreamerRunnerOptions(options: DreamerRunnerOptions): ResolvedDreamerRunnerOptions;
|
|
65
|
-
export interface DreamerRunnerDeps {
|
|
66
|
-
readonly stateManager: RuntimeStateManager;
|
|
67
|
-
readonly runtimeAdapter: PDRuntimeAdapter;
|
|
68
|
-
readonly eventEmitter: StoreEventEmitter;
|
|
51
|
+
export declare const DEFAULT_DREAMER_RUNNER_OPTIONS: Readonly<Omit<ResolvedDreamerRunnerOptions, 'owner' | 'runtimeKind'>>;
|
|
52
|
+
export declare function resolveDreamerRunnerOptions(options: DreamerRunnerOptions): ResolvedDreamerRunnerOptions;
|
|
53
|
+
export interface DreamerRunnerDeps extends PeerRunnerDeps {
|
|
69
54
|
readonly validator: DreamerValidator;
|
|
70
|
-
readonly artifactStore: PIArtifactStore;
|
|
71
55
|
}
|
|
72
|
-
export declare class DreamerRunner {
|
|
73
|
-
private phase;
|
|
74
|
-
private readonly resolvedOptions;
|
|
75
|
-
private readonly stateManager;
|
|
76
|
-
private readonly runtimeAdapter;
|
|
77
|
-
private readonly eventEmitter;
|
|
56
|
+
export declare class DreamerRunner extends BasePeerRunner<DreamerContext, DreamerOutput> {
|
|
78
57
|
private readonly validator;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
* Execute the full Dreamer lifecycle for a task.
|
|
86
|
-
*
|
|
87
|
-
* The runner does NOT hold mutable state between run() calls.
|
|
88
|
-
* Each invocation is independent.
|
|
89
|
-
*/
|
|
90
|
-
run(taskId: string): Promise<DreamerRunnerResult>;
|
|
91
|
-
/**
|
|
92
|
-
* Build context from predecessor task outputs.
|
|
93
|
-
*
|
|
94
|
-
* Dreamer doesn't use ContextAssembler — it resolves predecessor context
|
|
95
|
-
* from dependencyTaskIds via stateManager.getTask(). The predecessor's
|
|
96
|
-
* resultRef/outputArtifactRefs become the Dreamer's input context.
|
|
97
|
-
*
|
|
98
|
-
* Degradation semantics (intentional partial failure):
|
|
99
|
-
* - If ALL dependencies fail → builds empty context (continues, not fail-closed)
|
|
100
|
-
* - If SOME dependencies fail → builds partial context + emits dreamer_context_partial
|
|
101
|
-
* - Only fulfilled results contribute contextRefs
|
|
102
|
-
*
|
|
103
|
-
* This is a deliberate design choice: Dreamer can produce output with partial
|
|
104
|
-
* context, whereas the host layer's task-ready validation is fail-closed.
|
|
105
|
-
* Partial context is reported via telemetry.
|
|
106
|
-
*
|
|
107
|
-
* @see hydratePITaskRecord (PRI-65) for fail-closed PI metadata access
|
|
108
|
-
*/
|
|
109
|
-
private buildContext;
|
|
58
|
+
constructor(deps: DreamerRunnerDeps, options: PeerRunnerOptions);
|
|
59
|
+
get permanentErrorCategories(): ReadonlySet<PDErrorCategory>;
|
|
60
|
+
buildContext(taskId: string): Promise<DreamerContext>;
|
|
61
|
+
invokeRuntime(taskId: string, context: DreamerContext): Promise<RunHandle>;
|
|
62
|
+
validateOutput(output: unknown, taskId: string): Promise<PeerRunnerValidationResult>;
|
|
63
|
+
succeedTask(taskId: string, runId: string, output: DreamerOutput, task: TaskRecord, contextHash: string, _context: DreamerContext): Promise<PeerRunnerResult<DreamerOutput>>;
|
|
110
64
|
/**
|
|
111
|
-
*
|
|
112
|
-
*
|
|
65
|
+
* Re-inject taskId if stripped by stripLineageFields (PRI-272 / ERR-008).
|
|
66
|
+
* Only fill when absent via Object.hasOwn — present-but-falsy values
|
|
67
|
+
* must reach validation and fail loud (Runtime Contract Rule 3).
|
|
113
68
|
*/
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
private resolveLineageArtifactIds;
|
|
117
|
-
private invokeRuntime;
|
|
118
|
-
private pollUntilTerminal;
|
|
119
|
-
private fetchAndParseOutput;
|
|
120
|
-
private fetchOutputWithTelemetry;
|
|
121
|
-
private succeedTask;
|
|
122
|
-
private handleRuntimeFailure;
|
|
123
|
-
private handleValidationError;
|
|
124
|
-
private handleLeaseOrPhaseError;
|
|
125
|
-
private handlePostLeaseError;
|
|
126
|
-
private retryOrFail;
|
|
127
|
-
private readonly PERMANENT_ERROR_CATEGORIES;
|
|
128
|
-
private isPermanentError;
|
|
129
|
-
private classifyError;
|
|
130
|
-
private mapRunStatusToErrorCategory;
|
|
131
|
-
private sleep;
|
|
69
|
+
protected postFetchTransform(taskId: string, untrustedOutput: unknown): void;
|
|
70
|
+
protected emitSuccessTelemetry(taskId: string, output: DreamerOutput): void;
|
|
132
71
|
}
|
|
133
|
-
export {
|
|
72
|
+
export {};
|
|
134
73
|
//# sourceMappingURL=dreamer-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dreamer-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/dreamer-runner.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dreamer-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/dreamer-runner.ts"],"names":[],"mappings":"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"}
|