@principles/core 1.122.0 → 1.124.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.
Files changed (126) hide show
  1. package/dist/runtime-v2/__tests__/architecture-regression.test.js +37 -73
  2. package/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
  3. package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts.map +1 -1
  4. package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js +4 -0
  5. package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js.map +1 -1
  6. package/dist/runtime-v2/config/__tests__/pd-config-contract.test.js +37 -0
  7. package/dist/runtime-v2/config/__tests__/pd-config-contract.test.js.map +1 -1
  8. package/dist/runtime-v2/config/pd-config-defaults.d.ts.map +1 -1
  9. package/dist/runtime-v2/config/pd-config-defaults.js +2 -0
  10. package/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
  11. package/dist/runtime-v2/config/pd-config-types.d.ts +2 -0
  12. package/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
  13. package/dist/runtime-v2/config/pd-config-types.js.map +1 -1
  14. package/dist/runtime-v2/diagnostician/__tests__/diag-distiller-output.test.d.ts +2 -0
  15. package/dist/runtime-v2/diagnostician/__tests__/diag-distiller-output.test.d.ts.map +1 -0
  16. package/dist/runtime-v2/diagnostician/__tests__/diag-distiller-output.test.js +45 -0
  17. package/dist/runtime-v2/diagnostician/__tests__/diag-distiller-output.test.js.map +1 -0
  18. package/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.d.ts +2 -0
  19. package/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.d.ts.map +1 -0
  20. package/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.js +57 -0
  21. package/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.js.map +1 -0
  22. package/dist/runtime-v2/diagnostician/__tests__/distiller-prompt-builder.test.d.ts +2 -0
  23. package/dist/runtime-v2/diagnostician/__tests__/distiller-prompt-builder.test.d.ts.map +1 -0
  24. package/dist/runtime-v2/diagnostician/__tests__/distiller-prompt-builder.test.js +39 -0
  25. package/dist/runtime-v2/diagnostician/__tests__/distiller-prompt-builder.test.js.map +1 -0
  26. package/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.d.ts +2 -0
  27. package/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.d.ts.map +1 -0
  28. package/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js +34 -0
  29. package/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js.map +1 -0
  30. package/dist/runtime-v2/diagnostician/__tests__/router-prompt-builder.test.d.ts +2 -0
  31. package/dist/runtime-v2/diagnostician/__tests__/router-prompt-builder.test.d.ts.map +1 -0
  32. package/dist/runtime-v2/diagnostician/__tests__/router-prompt-builder.test.js +57 -0
  33. package/dist/runtime-v2/diagnostician/__tests__/router-prompt-builder.test.js.map +1 -0
  34. package/dist/runtime-v2/diagnostician/diag-distiller-output.d.ts +80 -0
  35. package/dist/runtime-v2/diagnostician/diag-distiller-output.d.ts.map +1 -0
  36. package/dist/runtime-v2/diagnostician/diag-distiller-output.js +103 -0
  37. package/dist/runtime-v2/diagnostician/diag-distiller-output.js.map +1 -0
  38. package/dist/runtime-v2/diagnostician/diag-rootcause-output.d.ts +115 -0
  39. package/dist/runtime-v2/diagnostician/diag-rootcause-output.d.ts.map +1 -0
  40. package/dist/runtime-v2/diagnostician/diag-rootcause-output.js +166 -0
  41. package/dist/runtime-v2/diagnostician/diag-rootcause-output.js.map +1 -0
  42. package/dist/runtime-v2/diagnostician/distiller-prompt-builder.d.ts +134 -0
  43. package/dist/runtime-v2/diagnostician/distiller-prompt-builder.d.ts.map +1 -0
  44. package/dist/runtime-v2/diagnostician/distiller-prompt-builder.js +156 -0
  45. package/dist/runtime-v2/diagnostician/distiller-prompt-builder.js.map +1 -0
  46. package/dist/runtime-v2/diagnostician/rootcause-prompt-builder.d.ts +96 -0
  47. package/dist/runtime-v2/diagnostician/rootcause-prompt-builder.d.ts.map +1 -0
  48. package/dist/runtime-v2/diagnostician/rootcause-prompt-builder.js +216 -0
  49. package/dist/runtime-v2/diagnostician/rootcause-prompt-builder.js.map +1 -0
  50. package/dist/runtime-v2/diagnostician/router-prompt-builder.d.ts +127 -0
  51. package/dist/runtime-v2/diagnostician/router-prompt-builder.d.ts.map +1 -0
  52. package/dist/runtime-v2/diagnostician/router-prompt-builder.js +131 -0
  53. package/dist/runtime-v2/diagnostician/router-prompt-builder.js.map +1 -0
  54. package/dist/runtime-v2/index.d.ts +6 -3
  55. package/dist/runtime-v2/index.d.ts.map +1 -1
  56. package/dist/runtime-v2/index.js +1 -1
  57. package/dist/runtime-v2/index.js.map +1 -1
  58. package/dist/runtime-v2/internalization/__tests__/__fixtures__/split-pipeline-mock-outputs.d.ts +25 -0
  59. package/dist/runtime-v2/internalization/__tests__/__fixtures__/split-pipeline-mock-outputs.d.ts.map +1 -0
  60. package/dist/runtime-v2/internalization/__tests__/__fixtures__/split-pipeline-mock-outputs.js +123 -0
  61. package/dist/runtime-v2/internalization/__tests__/__fixtures__/split-pipeline-mock-outputs.js.map +1 -0
  62. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.d.ts +2 -0
  63. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.d.ts.map +1 -0
  64. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +731 -0
  65. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +1 -0
  66. package/dist/runtime-v2/internalization/__tests__/diag-distiller-runner.test.d.ts +2 -0
  67. package/dist/runtime-v2/internalization/__tests__/diag-distiller-runner.test.d.ts.map +1 -0
  68. package/dist/runtime-v2/internalization/__tests__/diag-distiller-runner.test.js +437 -0
  69. package/dist/runtime-v2/internalization/__tests__/diag-distiller-runner.test.js.map +1 -0
  70. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.d.ts +2 -0
  71. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.d.ts.map +1 -0
  72. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.js +336 -0
  73. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.js.map +1 -0
  74. package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.d.ts +2 -0
  75. package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.d.ts.map +1 -0
  76. package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js +437 -0
  77. package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js.map +1 -0
  78. package/dist/runtime-v2/internalization/diag-distiller-runner.d.ts +83 -0
  79. package/dist/runtime-v2/internalization/diag-distiller-runner.d.ts.map +1 -0
  80. package/dist/runtime-v2/internalization/diag-distiller-runner.js +274 -0
  81. package/dist/runtime-v2/internalization/diag-distiller-runner.js.map +1 -0
  82. package/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts +73 -0
  83. package/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts.map +1 -0
  84. package/dist/runtime-v2/internalization/diag-rootcause-runner.js +229 -0
  85. package/dist/runtime-v2/internalization/diag-rootcause-runner.js.map +1 -0
  86. package/dist/runtime-v2/internalization/diag-router-runner.d.ts +85 -0
  87. package/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -0
  88. package/dist/runtime-v2/internalization/diag-router-runner.js +353 -0
  89. package/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -0
  90. package/dist/runtime-v2/internalization/evaluator-runner.d.ts +1 -1
  91. package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
  92. package/dist/runtime-v2/internalization/evaluator-runner.js +1 -1
  93. package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
  94. package/dist/runtime-v2/internalization/split-diagnostician-runner.d.ts +66 -0
  95. package/dist/runtime-v2/internalization/split-diagnostician-runner.d.ts.map +1 -0
  96. package/dist/runtime-v2/internalization/split-diagnostician-runner.js +172 -0
  97. package/dist/runtime-v2/internalization/split-diagnostician-runner.js.map +1 -0
  98. package/dist/runtime-v2/pain-signal-bridge.d.ts +22 -3
  99. package/dist/runtime-v2/pain-signal-bridge.d.ts.map +1 -1
  100. package/dist/runtime-v2/pain-signal-bridge.js +16 -7
  101. package/dist/runtime-v2/pain-signal-bridge.js.map +1 -1
  102. package/dist/runtime-v2/pain-signal-runtime-factory.d.ts +3 -0
  103. package/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
  104. package/dist/runtime-v2/pain-signal-runtime-factory.js +52 -24
  105. package/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
  106. package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js +2 -2
  107. package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js.map +1 -1
  108. package/dist/runtime-v2/runner/base-peer-runner.d.ts +3 -3
  109. package/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
  110. package/dist/runtime-v2/runner/base-peer-runner.js +6 -6
  111. package/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
  112. package/dist/runtime-v2/runner/peer-runner-types.d.ts +3 -3
  113. package/dist/runtime-v2/runner/peer-runner-types.d.ts.map +1 -1
  114. package/dist/runtime-v2/store/candidate/sqlite-candidate-store.js +2 -2
  115. package/dist/runtime-v2/store/candidate/sqlite-candidate-store.js.map +1 -1
  116. package/dist/runtime-v2/types/principle-enums.d.ts +2 -2
  117. package/dist/runtime-v2/types/principle-enums.d.ts.map +1 -1
  118. package/dist/runtime-v2/types/principle-enums.js +1 -0
  119. package/dist/runtime-v2/types/principle-enums.js.map +1 -1
  120. package/dist/runtime-v2/types/principle-schema.d.ts +1 -1
  121. package/dist/runtime-v2/types/principle-tree-store.d.ts +1 -1
  122. package/dist/telemetry-event.d.ts +2 -2
  123. package/dist/telemetry-event.d.ts.map +1 -1
  124. package/dist/telemetry-event.js +1 -0
  125. package/dist/telemetry-event.js.map +1 -1
  126. package/package.json +1 -1
@@ -162,9 +162,18 @@ const REQUIRED_SOURCE_FILES = [
162
162
  'feedback/render-markdown.ts',
163
163
  'feedback/render-github-url.ts',
164
164
  'feedback/privacy-preview.ts',
165
- 'feedback/create-report.ts',
166
165
  'feedback/safe-stringify.ts',
166
+ 'feedback/create-report.ts',
167
167
  'feedback/index.ts',
168
+ // PRI-372 (T-G)
169
+ 'diagnostician/diag-rootcause-output.ts',
170
+ 'diagnostician/diag-distiller-output.ts',
171
+ 'diagnostician/rootcause-prompt-builder.ts',
172
+ 'diagnostician/distiller-prompt-builder.ts',
173
+ 'diagnostician/router-prompt-builder.ts',
174
+ 'internalization/diag-rootcause-runner.ts',
175
+ 'internalization/diag-distiller-runner.ts',
176
+ 'internalization/diag-router-runner.ts',
168
177
  ];
169
178
  // ── PRI-212: Plugin core anti-growth guard ────────────────────────────────────
170
179
  //
@@ -401,6 +410,16 @@ const REQUIRED_TEST_FILES = [
401
410
  '../feature-flags/__tests__/feature-flag-contract.test.ts',
402
411
  // PRI-295
403
412
  '../activation/__tests__/prompt-activation-reader-contract.test.ts',
413
+ // PRI-372 (T-G)
414
+ '../diagnostician/__tests__/diag-rootcause-output.test.ts',
415
+ '../diagnostician/__tests__/diag-distiller-output.test.ts',
416
+ '../diagnostician/__tests__/rootcause-prompt-builder.test.ts',
417
+ '../diagnostician/__tests__/distiller-prompt-builder.test.ts',
418
+ '../diagnostician/__tests__/router-prompt-builder.test.ts',
419
+ '../internalization/__tests__/diag-rootcause-runner.test.ts',
420
+ '../internalization/__tests__/diag-distiller-runner.test.ts',
421
+ '../internalization/__tests__/diag-router-runner.test.ts',
422
+ '../internalization/__tests__/diag-chain-e2e.test.ts',
404
423
  ];
405
424
  const REQUIRED_DOC_FILES = [];
406
425
  for (const file of REQUIRED_SOURCE_FILES) {
@@ -1310,72 +1329,6 @@ describe('PRI-62 Internalization State Machine Guards', () => {
1310
1329
  expect(result === null || typeof result === 'object').toBe(true);
1311
1330
  });
1312
1331
  });
1313
- // ── PRI-63: Internalization Dumb Trigger Adapter ─────────────────────────────
1314
- describe('PRI-63 Internalization Dumb Trigger Adapter', () => {
1315
- const PRI63_REQUIRED_FILES = [
1316
- 'internalization-trigger-adapter.ts',
1317
- ];
1318
- it('adapter source file exists in plugin service directory', async () => {
1319
- const { existsSync } = await import('node:fs');
1320
- const { resolve } = await import('node:path');
1321
- const pluginRoot = resolve(__dirname, '..', '..', '..', '..', 'openclaw-plugin', 'src', 'service');
1322
- for (const file of PRI63_REQUIRED_FILES) {
1323
- expect(existsSync(resolve(pluginRoot, file))).toBe(true);
1324
- }
1325
- });
1326
- it('adapter does not import nocturnal-trinity', async () => {
1327
- const { readFileSync } = await import('node:fs');
1328
- const { resolve } = await import('node:path');
1329
- const src = readFileSync(resolve(__dirname, '..', '..', '..', '..', 'openclaw-plugin', 'src', 'service', 'internalization-trigger-adapter.ts'), 'utf-8');
1330
- expect(src).not.toContain('nocturnal-trinity');
1331
- });
1332
- it('adapter does not import runTrinity or runTrinityAsync', async () => {
1333
- const { readFileSync } = await import('node:fs');
1334
- const { resolve } = await import('node:path');
1335
- const src = readFileSync(resolve(__dirname, '..', '..', '..', '..', 'openclaw-plugin', 'src', 'service', 'internalization-trigger-adapter.ts'), 'utf-8');
1336
- expect(src).not.toContain('runTrinity');
1337
- expect(src).not.toContain('runTrinityAsync');
1338
- });
1339
- it('adapter does not import Dreamer/Philosopher/Scribe executors', async () => {
1340
- const { readFileSync } = await import('node:fs');
1341
- const { resolve } = await import('node:path');
1342
- const src = readFileSync(resolve(__dirname, '..', '..', '..', '..', 'openclaw-plugin', 'src', 'service', 'internalization-trigger-adapter.ts'), 'utf-8');
1343
- expect(src).not.toContain("from 'dreamer'");
1344
- expect(src).not.toContain("from 'philosopher'");
1345
- expect(src).not.toContain("from 'scribe'");
1346
- });
1347
- it('adapter does not use PDRuntimeAdapter', async () => {
1348
- const { readFileSync } = await import('node:fs');
1349
- const { resolve } = await import('node:path');
1350
- const src = readFileSync(resolve(__dirname, '..', '..', '..', '..', 'openclaw-plugin', 'src', 'service', 'internalization-trigger-adapter.ts'), 'utf-8');
1351
- expect(src).not.toContain('PDRuntimeAdapter');
1352
- });
1353
- it('adapter imports TaskRecord from @principles/core/runtime-v2', async () => {
1354
- const { readFileSync } = await import('node:fs');
1355
- const { resolve } = await import('node:path');
1356
- const src = readFileSync(resolve(__dirname, '..', '..', '..', '..', 'openclaw-plugin', 'src', 'service', 'internalization-trigger-adapter.ts'), 'utf-8');
1357
- expect(src).toContain('TaskRecord');
1358
- expect(src).toContain('@principles/core/runtime-v2');
1359
- });
1360
- it('PLUGIN_NO_INLINE_EXECUTION: adapter does not call mutating store methods (read-only probe)', async () => {
1361
- const { readFileSync } = await import('node:fs');
1362
- const { resolve } = await import('node:path');
1363
- const src = readFileSync(resolve(__dirname, '..', '..', '..', '..', 'openclaw-plugin', 'src', 'service', 'internalization-trigger-adapter.ts'), 'utf-8');
1364
- // wake() should only read, not update/create/delete tasks
1365
- expect(src).not.toContain('updateTask');
1366
- expect(src).not.toContain('createTask');
1367
- expect(src).not.toContain('deleteTask');
1368
- expect(src).not.toContain('leaseTask');
1369
- });
1370
- it('PLUGIN_NO_INLINE_EXECUTION: adapter does not use setInterval/setTimeout for scheduling (core responsibility)', async () => {
1371
- const { readFileSync } = await import('node:fs');
1372
- const { resolve } = await import('node:path');
1373
- const src = readFileSync(resolve(__dirname, '..', '..', '..', '..', 'openclaw-plugin', 'src', 'service', 'internalization-trigger-adapter.ts'), 'utf-8');
1374
- // setInterval is used in start() to trigger wake() periodically — this is plugin responsibility
1375
- // Core state machine should NOT use setInterval (CORE_NO_SCHEDULING)
1376
- expect(src).not.toContain('node:cron');
1377
- });
1378
- });
1379
1332
  describe('PRI-68 InternalizationOrchestrator', () => {
1380
1333
  it('orchestrator source file exists in internalization directory', async () => {
1381
1334
  const { existsSync } = await import('node:fs');
@@ -2422,12 +2375,6 @@ describe('Phase 2.4 types directory migration', () => {
2422
2375
  const src = readFileSync(resolve(__dirname, '../../../../openclaw-plugin/src/types/event-types.ts'), 'utf-8');
2423
2376
  expect(src).toContain("@principles/core/runtime-v2");
2424
2377
  });
2425
- it('plugin types/event-payload.ts re-exports from core', async () => {
2426
- const { readFileSync } = await import('node:fs');
2427
- const { resolve } = await import('node:path');
2428
- const src = readFileSync(resolve(__dirname, '../../../../openclaw-plugin/src/types/event-payload.ts'), 'utf-8');
2429
- expect(src).toContain("@principles/core/runtime-v2");
2430
- });
2431
2378
  });
2432
2379
  // ── Phase 2 Migration: Principle-Tree Data Structures ─────────────────────────
2433
2380
  describe('Phase 2.6 principle-tree data structures migration', () => {
@@ -3071,4 +3018,21 @@ describe('PRI-304: PD-Owned Config Contract barrel exports and purity', () => {
3071
3018
  }
3072
3019
  });
3073
3020
  });
3021
+ describe('PRI-372: split diagnostician runners extend BasePeerRunner', () => {
3022
+ it('DiagRootCauseRunner extends BasePeerRunner', async () => {
3023
+ const { DiagRootCauseRunner } = await import('../internalization/diag-rootcause-runner.js');
3024
+ const { BasePeerRunner } = await import('../runner/base-peer-runner.js');
3025
+ expect(DiagRootCauseRunner.prototype).toBeInstanceOf(BasePeerRunner);
3026
+ });
3027
+ it('DiagDistillerRunner extends BasePeerRunner', async () => {
3028
+ const { DiagDistillerRunner } = await import('../internalization/diag-distiller-runner.js');
3029
+ const { BasePeerRunner } = await import('../runner/base-peer-runner.js');
3030
+ expect(DiagDistillerRunner.prototype).toBeInstanceOf(BasePeerRunner);
3031
+ });
3032
+ it('DiagRouterRunner extends BasePeerRunner', async () => {
3033
+ const { DiagRouterRunner } = await import('../internalization/diag-router-runner.js');
3034
+ const { BasePeerRunner } = await import('../runner/base-peer-runner.js');
3035
+ expect(DiagRouterRunner.prototype).toBeInstanceOf(BasePeerRunner);
3036
+ });
3037
+ });
3074
3038
  //# sourceMappingURL=architecture-regression.test.js.map