@principles/core 1.251.0 → 1.253.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 (29) hide show
  1. package/dist/host/__tests__/host-adapter.test.js +12 -0
  2. package/dist/host/__tests__/host-adapter.test.js.map +1 -1
  3. package/dist/host/host-adapter.d.ts +4 -0
  4. package/dist/host/host-adapter.d.ts.map +1 -1
  5. package/dist/host/host-adapter.js +7 -0
  6. package/dist/host/host-adapter.js.map +1 -1
  7. package/dist/runtime-v2/__tests__/architecture-regression.test.js +6 -1
  8. package/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
  9. package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js +28 -0
  10. package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js.map +1 -1
  11. package/dist/runtime-v2/__tests__/sqlite-connection-readonly.test.js +18 -0
  12. package/dist/runtime-v2/__tests__/sqlite-connection-readonly.test.js.map +1 -1
  13. package/dist/runtime-v2/evidence-sanitizer.d.ts.map +1 -1
  14. package/dist/runtime-v2/evidence-sanitizer.js +17 -1
  15. package/dist/runtime-v2/evidence-sanitizer.js.map +1 -1
  16. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +15 -0
  17. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
  18. package/dist/runtime-v2/feature-flags/__tests__/principle-receipt-block-copy-flag.test.d.ts +2 -0
  19. package/dist/runtime-v2/feature-flags/__tests__/principle-receipt-block-copy-flag.test.d.ts.map +1 -0
  20. package/dist/runtime-v2/feature-flags/__tests__/principle-receipt-block-copy-flag.test.js +42 -0
  21. package/dist/runtime-v2/feature-flags/__tests__/principle-receipt-block-copy-flag.test.js.map +1 -0
  22. package/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
  23. package/dist/runtime-v2/feature-flags/feature-flag-contract.js +8 -1
  24. package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
  25. package/dist/runtime-v2/store/sqlite-connection.d.ts +3 -0
  26. package/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
  27. package/dist/runtime-v2/store/sqlite-connection.js +6 -3
  28. package/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
  29. package/package.json +1 -1
@@ -91,6 +91,18 @@ describe('HostAdapter type guards (ADR-0020)', () => {
91
91
  ])('rejects %p', (value) => {
92
92
  expect(isHostEventResult(value)).toBe(false);
93
93
  });
94
+ it('accepts valid warnings and metadata', () => {
95
+ expect(isHostEventResult({ decision: 'allow', source: 'x', warnings: ['w1'], metadata: { k: 1 } })).toBe(true);
96
+ });
97
+ it.each([
98
+ [{ decision: 'allow', source: 'x', warnings: 'not-array' }],
99
+ [{ decision: 'allow', source: 'x', warnings: [123] }],
100
+ [{ decision: 'allow', source: 'x', metadata: 'not-object' }],
101
+ [{ decision: 'allow', source: 'x', metadata: null }],
102
+ [{ decision: 'allow', source: 'x', metadata: [] }],
103
+ ])('rejects malformed optional fields %p', (value) => {
104
+ expect(isHostEventResult(value)).toBe(false);
105
+ });
94
106
  });
95
107
  });
96
108
  //# sourceMappingURL=host-adapter.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"host-adapter.test.js","sourceRoot":"","sources":["../../../src/host/__tests__/host-adapter.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-adapter.test.js","sourceRoot":"","sources":["../../../src/host/__tests__/host-adapter.test.ts"],"names":[],"mappings":"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"}
@@ -113,6 +113,10 @@ export interface HostEventResult {
113
113
  readonly additionalContext?: string;
114
114
  /** Telemetry source, lineaged with the originating HostEvent.source (rc-6). */
115
115
  readonly source: string;
116
+ /** Host-neutral, bounded degradation notices; adapters decide how to surface them. */
117
+ readonly warnings?: readonly string[];
118
+ /** Host-neutral evaluation facts; adapters must not forward these into strict host schemas. */
119
+ readonly metadata?: Readonly<Record<string, unknown>>;
116
120
  }
117
121
  /**
118
122
  * Abstraction over a host platform's hook extension model.
@@ -1 +1 @@
1
- {"version":3,"file":"host-adapter.d.ts","sourceRoot":"","sources":["../../src/host/host-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GACrB,kBAAkB,GAClB,iBAAiB,GACjB,qBAAqB,GACrB,eAAe,GACf,aAAa,CAAC;AAElB,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EAM3C,CAAC;AAGX;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,8DAA8D;IAC9D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,6DAA6D;IAC7D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAGD;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAGD;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAGnE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,uFAAuF;IACvF,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAGD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,YAAY,CAAC;IAE9C,2DAA2D;IAC3D,gBAAgB,IAAI,SAAS,aAAa,EAAE,CAAC;IAE7C;;;;;;;OAOG;IACH,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC;IAErC;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;CACrE;AAGD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAGtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAO5E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAS9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAO1E"}
1
+ {"version":3,"file":"host-adapter.d.ts","sourceRoot":"","sources":["../../src/host/host-adapter.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,13 @@ export function isHostEventResult(value) {
75
75
  if (typeof value !== 'object' || value === null || Array.isArray(value))
76
76
  return false;
77
77
  const obj = value;
78
+ if (Object.hasOwn(obj, 'warnings')) {
79
+ if (!Array.isArray(obj.warnings) || !obj.warnings.every((warning) => typeof warning === 'string'))
80
+ return false;
81
+ }
82
+ if (Object.hasOwn(obj, 'metadata') && (typeof obj.metadata !== 'object' || obj.metadata === null || Array.isArray(obj.metadata))) {
83
+ return false;
84
+ }
78
85
  return (isHostDecision(obj.decision) &&
79
86
  typeof obj.source === 'string');
80
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"host-adapter.js","sourceRoot":"","sources":["../../src/host/host-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAiBH,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,kBAAkB;IAClB,iBAAiB;IACjB,qBAAqB;IACrB,eAAe;IACf,aAAa;CACL,CAAC;AAiJX,gFAAgF;AAChF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAQ,gBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ;QACpC,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAClC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;QACzB,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/B,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CACjC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC5B,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAC/B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"host-adapter.js","sourceRoot":"","sources":["../../src/host/host-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAiBH,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,kBAAkB;IAClB,iBAAiB;IACjB,qBAAqB;IACrB,eAAe;IACf,aAAa;CACL,CAAC;AAqJX,gFAAgF;AAChF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAQ,gBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ;QACpC,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAClC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;QACzB,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/B,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CACjC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;IAClH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACjI,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC5B,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAC/B,CAAC;AACJ,CAAC"}
@@ -328,6 +328,9 @@ const KNOWN_PLUGIN_CORE_FILES = new Set([
328
328
  // I/O shell: reads .pd/config.yaml, constructs PiAiRuntimeAdapter, writes trajectory.
329
329
  // Pure detection logic lives in @principles/core/runtime-v2/signal-collector/.
330
330
  'signal-collector-host.ts',
331
+ // PRI-530: Plugin I/O boundary — sync readonly state.db reads resolving principle
332
+ // receipt attribution (title fallback chain / approval date / source summary).
333
+ 'principle-receipt-metadata.ts',
331
334
  'pain-lifecycle.ts',
332
335
  'session-tracker.ts',
333
336
  // PRI-459: now a thin re-export adapter over @principles/core/principle-tree-ledger.
@@ -429,7 +432,9 @@ describe('PRI-212 plugin core anti-growth guard', () => {
429
432
  // collection I/O host (correction + empathy upstream merge). Reads
430
433
  // .pd/config.yaml, constructs PiAiRuntimeAdapter, writes trajectory. Pure
431
434
  // detection logic lives in @principles/core/runtime-v2/signal-collector/.
432
- expect(KNOWN_PLUGIN_CORE_FILES.size).toBe(94);
435
+ // PRI-530: Added principle-receipt-metadata.ts (94 → 95) — plugin I/O boundary
436
+ // for principle receipt attribution reads (readonly state.db joins).
437
+ expect(KNOWN_PLUGIN_CORE_FILES.size).toBe(95);
433
438
  });
434
439
  });
435
440
  const REQUIRED_TEST_FILES = [