@principles/core 1.189.0 → 1.191.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 (70) hide show
  1. package/dist/runtime-v2/__tests__/pain-signal-observability.test.js +1 -1
  2. package/dist/runtime-v2/__tests__/pi-artifact-store.test.js +11 -0
  3. package/dist/runtime-v2/__tests__/pi-artifact-store.test.js.map +1 -1
  4. package/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js +15 -1
  5. package/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js.map +1 -1
  6. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.d.ts +2 -0
  7. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.d.ts.map +1 -0
  8. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.js +62 -0
  9. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.js.map +1 -0
  10. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js +12 -2
  11. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js.map +1 -1
  12. package/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.d.ts +2 -0
  13. package/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.d.ts.map +1 -0
  14. package/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.js +56 -0
  15. package/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.js.map +1 -0
  16. package/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js +8 -0
  17. package/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js.map +1 -1
  18. package/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js +20 -0
  19. package/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js.map +1 -1
  20. package/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts.map +1 -1
  21. package/dist/runtime-v2/activation/sqlite-activation-state-store.js +6 -0
  22. package/dist/runtime-v2/activation/sqlite-activation-state-store.js.map +1 -1
  23. package/dist/runtime-v2/activation/sqlite-approval-store.d.ts.map +1 -1
  24. package/dist/runtime-v2/activation/sqlite-approval-store.js +86 -32
  25. package/dist/runtime-v2/activation/sqlite-approval-store.js.map +1 -1
  26. package/dist/runtime-v2/index.d.ts +2 -2
  27. package/dist/runtime-v2/index.d.ts.map +1 -1
  28. package/dist/runtime-v2/index.js +1 -1
  29. package/dist/runtime-v2/index.js.map +1 -1
  30. package/dist/runtime-v2/intent/__tests__/intent-decision-record.test.js +3 -1
  31. package/dist/runtime-v2/intent/__tests__/intent-decision-record.test.js.map +1 -1
  32. package/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.d.ts +2 -0
  33. package/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.d.ts.map +1 -0
  34. package/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.js +121 -0
  35. package/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.js.map +1 -0
  36. package/dist/runtime-v2/intent/index.d.ts +1 -0
  37. package/dist/runtime-v2/intent/index.d.ts.map +1 -1
  38. package/dist/runtime-v2/intent/index.js +1 -0
  39. package/dist/runtime-v2/intent/index.js.map +1 -1
  40. package/dist/runtime-v2/intent/intent-decision-record.d.ts +20 -0
  41. package/dist/runtime-v2/intent/intent-decision-record.d.ts.map +1 -1
  42. package/dist/runtime-v2/intent/intent-patch-proposal.d.ts +42 -0
  43. package/dist/runtime-v2/intent/intent-patch-proposal.d.ts.map +1 -0
  44. package/dist/runtime-v2/intent/intent-patch-proposal.js +81 -0
  45. package/dist/runtime-v2/intent/intent-patch-proposal.js.map +1 -0
  46. package/dist/runtime-v2/pain-signal-observability.d.ts.map +1 -1
  47. package/dist/runtime-v2/pain-signal-observability.js +3 -2
  48. package/dist/runtime-v2/pain-signal-observability.js.map +1 -1
  49. package/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.d.ts +2 -0
  50. package/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.d.ts.map +1 -0
  51. package/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.js +55 -0
  52. package/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.js.map +1 -0
  53. package/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.d.ts.map +1 -1
  54. package/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.js +6 -0
  55. package/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.js.map +1 -1
  56. package/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.js +65 -0
  57. package/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.js.map +1 -1
  58. package/dist/runtime-v2/store/intent/sqlite-intent-decision-store.d.ts +16 -1
  59. package/dist/runtime-v2/store/intent/sqlite-intent-decision-store.d.ts.map +1 -1
  60. package/dist/runtime-v2/store/intent/sqlite-intent-decision-store.js +47 -0
  61. package/dist/runtime-v2/store/intent/sqlite-intent-decision-store.js.map +1 -1
  62. package/dist/runtime-v2/store/sqlite-connection-schema-version.test.d.ts +2 -0
  63. package/dist/runtime-v2/store/sqlite-connection-schema-version.test.d.ts.map +1 -0
  64. package/dist/runtime-v2/store/sqlite-connection-schema-version.test.js +72 -0
  65. package/dist/runtime-v2/store/sqlite-connection-schema-version.test.js.map +1 -0
  66. package/dist/runtime-v2/store/sqlite-connection.d.ts +11 -0
  67. package/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
  68. package/dist/runtime-v2/store/sqlite-connection.js +41 -11
  69. package/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
  70. package/package.json +1 -1
@@ -146,7 +146,7 @@ describe('IntentDecisionSummary type contract', () => {
146
146
  });
147
147
  });
148
148
  describe('IntentDecisionStore interface contract', () => {
149
- it('exposes the five SPEC §21.7 methods', () => {
149
+ it('exposes the six SPEC §21.7 methods (record + 4 reads + updateFollowUp)', () => {
150
150
  const store = {
151
151
  record: async () => ({ record: {}, created: true }),
152
152
  getById: async () => null,
@@ -159,12 +159,14 @@ describe('IntentDecisionStore interface contract', () => {
159
159
  },
160
160
  lastDecisionAt: null,
161
161
  }),
162
+ updateFollowUp: async () => null,
162
163
  };
163
164
  expect(typeof store.record).toBe('function');
164
165
  expect(typeof store.getById).toBe('function');
165
166
  expect(typeof store.listByPainId).toBe('function');
166
167
  expect(typeof store.listByTaskId).toBe('function');
167
168
  expect(typeof store.getSummary).toBe('function');
169
+ expect(typeof store.updateFollowUp).toBe('function');
168
170
  });
169
171
  it('record returns IntentDecisionRecordResult', () => {
170
172
  expectTypeOf().returns.toEqualTypeOf();
@@ -1 +1 @@
1
- {"version":3,"file":"intent-decision-record.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/intent/__tests__/intent-decision-record.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent-decision-record.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/intent/__tests__/intent-decision-record.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=intent-patch-proposal.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-patch-proposal.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/intent/__tests__/intent-patch-proposal.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * IntentPatchProposal tests (PRI-471, SPEC §10).
3
+ *
4
+ * Verifies the read-only patch proposal generator:
5
+ * - Deterministic id derived from decisionId
6
+ * - SPEC §10 markdown format (Reason, Related INTENT Fields, Evidence, Proposed Diff, Risk)
7
+ * - "Display only" warning present (cannot be auto-applied)
8
+ * - Evidence truncated to max 3 items
9
+ * - Handles empty fields gracefully
10
+ *
11
+ * ERR checklist:
12
+ * - EP-01: pure function over already-validated IntentDecisionRecord — no untrusted input
13
+ * - EP-09: pure function, independently testable
14
+ */
15
+ import { describe, it, expect } from 'vitest';
16
+ import { generateIntentPatchProposal } from '../intent-patch-proposal.js';
17
+ function makeRecord(overrides = {}) {
18
+ return {
19
+ id: 'rec-test-1',
20
+ source: 'action_drift',
21
+ evidenceStrength: 'moderate',
22
+ relatedIntentFields: ['why', 'desired_outcome'],
23
+ ownerAction: 'revise_intent',
24
+ evidenceRefs: ['ev-1', 'ev-2'],
25
+ createdAt: '2026-06-25T00:00:00.000Z',
26
+ ...overrides,
27
+ };
28
+ }
29
+ describe('generateIntentPatchProposal', () => {
30
+ it('returns a proposal with a deterministic id derived from decisionId', () => {
31
+ const decision = makeRecord({ id: 'rec-abc' });
32
+ const proposal = generateIntentPatchProposal(decision);
33
+ expect(proposal.id).toBe('patch-rec-abc');
34
+ expect(proposal.decisionId).toBe('rec-abc');
35
+ });
36
+ it('markdown contains the SPEC §10 section headers', () => {
37
+ const proposal = generateIntentPatchProposal(makeRecord());
38
+ expect(proposal.markdown).toContain('## Intent Patch Proposal');
39
+ expect(proposal.markdown).toContain('### Reason');
40
+ expect(proposal.markdown).toContain('### Related INTENT Fields');
41
+ expect(proposal.markdown).toContain('### Evidence');
42
+ expect(proposal.markdown).toContain('### Proposed Diff');
43
+ expect(proposal.markdown).toContain('### Risk');
44
+ });
45
+ it('markdown contains the "Display only" warning (SPEC §22.1.4)', () => {
46
+ const proposal = generateIntentPatchProposal(makeRecord());
47
+ expect(proposal.markdown).toContain('Display only');
48
+ expect(proposal.markdown).toContain('cannot be auto-applied');
49
+ expect(proposal.markdown).toContain('.principles/INTENT.md');
50
+ });
51
+ it('reason summarizes ownerAction, source, and evidenceStrength', () => {
52
+ const decision = makeRecord({
53
+ ownerAction: 'revise_intent',
54
+ source: 'intent_suspect',
55
+ evidenceStrength: 'strong',
56
+ });
57
+ const proposal = generateIntentPatchProposal(decision);
58
+ expect(proposal.markdown).toContain('Owner decision: revise_intent');
59
+ expect(proposal.markdown).toContain('Source: intent_suspect');
60
+ expect(proposal.markdown).toContain('Evidence strength: strong');
61
+ });
62
+ it('lists human-readable labels for related INTENT fields', () => {
63
+ const decision = makeRecord({
64
+ relatedIntentFields: ['why', 'desired_outcome', 'current_strategic_focus'],
65
+ });
66
+ const proposal = generateIntentPatchProposal(decision);
67
+ expect(proposal.markdown).toContain('Why');
68
+ expect(proposal.markdown).toContain('Desired Outcome');
69
+ expect(proposal.markdown).toContain('Current Strategic Focus');
70
+ });
71
+ it('falls back to the raw field name for unknown IntentRelatedField values', () => {
72
+ // Defensive: if a new IntentRelatedField is added to the enum but not to
73
+ // FIELD_LABELS, the raw value should appear (not undefined or [object Object]).
74
+ const decision = makeRecord({
75
+ relatedIntentFields: ['why', 'unknown_field'],
76
+ });
77
+ const proposal = generateIntentPatchProposal(decision);
78
+ expect(proposal.markdown).toContain('Why');
79
+ expect(proposal.markdown).toContain('unknown_field');
80
+ });
81
+ it('truncates evidence to 3 items', () => {
82
+ const decision = makeRecord({
83
+ evidenceRefs: ['ev-1', 'ev-2', 'ev-3', 'ev-4', 'ev-5'],
84
+ });
85
+ const proposal = generateIntentPatchProposal(decision);
86
+ expect(proposal.markdown).toContain('Evidence 1: ev-1');
87
+ expect(proposal.markdown).toContain('Evidence 2: ev-2');
88
+ expect(proposal.markdown).toContain('Evidence 3: ev-3');
89
+ expect(proposal.markdown).not.toContain('ev-4');
90
+ expect(proposal.markdown).not.toContain('ev-5');
91
+ });
92
+ it('shows "No evidence recorded" when evidenceRefs is empty', () => {
93
+ const decision = makeRecord({ evidenceRefs: [] });
94
+ const proposal = generateIntentPatchProposal(decision);
95
+ expect(proposal.markdown).toContain('No evidence recorded.');
96
+ });
97
+ it('shows "No specific fields identified" when relatedIntentFields is empty', () => {
98
+ const decision = makeRecord({ relatedIntentFields: [] });
99
+ const proposal = generateIntentPatchProposal(decision);
100
+ expect(proposal.markdown).toContain('No specific fields identified.');
101
+ });
102
+ it('proposed diff is a placeholder — PD does not auto-generate diff content', () => {
103
+ const proposal = generateIntentPatchProposal(makeRecord());
104
+ expect(proposal.markdown).toContain('```diff');
105
+ expect(proposal.markdown).toContain('placeholder');
106
+ expect(proposal.markdown).toContain('PD does not auto-generate diff content');
107
+ });
108
+ it('risk section explains both "if modified" and "if not modified" outcomes', () => {
109
+ const proposal = generateIntentPatchProposal(makeRecord());
110
+ expect(proposal.markdown).toContain('If modified:');
111
+ expect(proposal.markdown).toContain('If not modified:');
112
+ });
113
+ it('is a pure function — same input yields identical output', () => {
114
+ const decision = makeRecord();
115
+ const a = generateIntentPatchProposal(decision);
116
+ const b = generateIntentPatchProposal(decision);
117
+ expect(a.id).toBe(b.id);
118
+ expect(a.markdown).toBe(b.markdown);
119
+ });
120
+ });
121
+ //# sourceMappingURL=intent-patch-proposal.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-patch-proposal.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/intent/__tests__/intent-patch-proposal.test.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@ export * from './intent-doc.js';
2
2
  export * from './intent-friction-block.js';
3
3
  export * from './intent-doc-reader-port.js';
4
4
  export * from './intent-decision-record.js';
5
+ export * from './intent-patch-proposal.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/intent/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/intent/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC"}
@@ -2,4 +2,5 @@ export * from './intent-doc.js';
2
2
  export * from './intent-friction-block.js';
3
3
  export * from './intent-doc-reader-port.js';
4
4
  export * from './intent-decision-record.js';
5
+ export * from './intent-patch-proposal.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime-v2/intent/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime-v2/intent/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC"}
@@ -82,6 +82,20 @@ export interface IntentDecisionSummary {
82
82
  counts: Record<SuggestedOwnerAction, number>;
83
83
  lastDecisionAt: string | null;
84
84
  }
85
+ /**
86
+ * Patch for updating follow-up action fields on an existing IntentDecisionRecord.
87
+ * Used by PRI-471 to record which follow-up action was dispatched after the
88
+ * Owner decision was persisted (SPEC §22.1.4).
89
+ *
90
+ * Only one field should be set per call — each follow-up type is independent.
91
+ * Setting a field to `undefined` leaves it unchanged; the store only updates
92
+ * fields that are explicitly provided.
93
+ */
94
+ export interface FollowUpPatch {
95
+ resultingCandidateId?: string;
96
+ resultingRuleCandidateId?: string;
97
+ patchProposalId?: string;
98
+ }
85
99
  /**
86
100
  * Durable store contract for IntentDecisionRecord (SPEC §21.7 persistence).
87
101
  *
@@ -101,5 +115,11 @@ export interface IntentDecisionStore {
101
115
  listByPainId(painId: string): Promise<IntentDecisionRecord[]>;
102
116
  listByTaskId(taskId: string): Promise<IntentDecisionRecord[]>;
103
117
  getSummary(): Promise<IntentDecisionSummary>;
118
+ /**
119
+ * Update follow-up action fields on an existing record (PRI-471, SPEC §22.1.4).
120
+ * Returns the updated record, or null if the record does not exist.
121
+ * Only fields present in `patch` are updated; others remain unchanged.
122
+ */
123
+ updateFollowUp(id: string, patch: FollowUpPatch): Promise<IntentDecisionRecord | null>;
104
124
  }
105
125
  //# sourceMappingURL=intent-decision-record.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"intent-decision-record.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/intent/intent-decision-record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,2CAA2C,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,WAAW,EAAE,oBAAoB,CAAC;IAClC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,WAAW,EAAE,oBAAoB,CAAC;IAClC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAC7C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAC1D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC9D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC9D,UAAU,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC9C"}
1
+ {"version":3,"file":"intent-decision-record.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/intent/intent-decision-record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,2CAA2C,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,WAAW,EAAE,oBAAoB,CAAC;IAClC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,WAAW,EAAE,oBAAoB,CAAC;IAClC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAC7C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAC1D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC9D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC9D,UAAU,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC7C;;;;OAIG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;CACxF"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * IntentPatchProposal — read-only patch proposal generator (PRI-471, SPEC §10).
3
+ *
4
+ * When an Owner chooses `revise_intent`, the system generates a read-only
5
+ * patch proposal that the Owner can review and manually apply. The proposal
6
+ * is NEVER auto-applied to `.principles/INTENT.md`.
7
+ *
8
+ * SPEC §10 format:
9
+ * ```md
10
+ * ## Intent Patch Proposal
11
+ * ### Reason
12
+ * ### Evidence (max 3)
13
+ * ### Proposed Diff
14
+ * ### Risk
15
+ * ```
16
+ *
17
+ * ERR checklist:
18
+ * - EP-01: no untrusted input — operates on already-validated IntentDecisionRecord
19
+ * - EP-09: pure function, independently testable
20
+ */
21
+ import type { IntentDecisionRecord } from './intent-decision-record.js';
22
+ /**
23
+ * A read-only Intent Patch Proposal generated from an Owner decision.
24
+ * `id` is deterministic: `patch-<decisionId>` so it can be referenced without
25
+ * a separate storage table. `markdown` is the SPEC §10 formatted text.
26
+ */
27
+ export interface IntentPatchProposal {
28
+ id: string;
29
+ decisionId: string;
30
+ markdown: string;
31
+ }
32
+ /**
33
+ * Generate a read-only Intent Patch Proposal from an Owner decision.
34
+ *
35
+ * The proposal summarizes why INTENT may need revision, lists the evidence
36
+ * (max 3 items from the decision's evidenceRefs), identifies the related
37
+ * INTENT fields, and includes a placeholder diff for the Owner to fill in.
38
+ *
39
+ * The proposal is marked "Display only, cannot be auto-applied" per SPEC §22.1.4.
40
+ */
41
+ export declare function generateIntentPatchProposal(decision: IntentDecisionRecord): IntentPatchProposal;
42
+ //# sourceMappingURL=intent-patch-proposal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-patch-proposal.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/intent/intent-patch-proposal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGxE;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAUD;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB,CA+C/F"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * IntentPatchProposal — read-only patch proposal generator (PRI-471, SPEC §10).
3
+ *
4
+ * When an Owner chooses `revise_intent`, the system generates a read-only
5
+ * patch proposal that the Owner can review and manually apply. The proposal
6
+ * is NEVER auto-applied to `.principles/INTENT.md`.
7
+ *
8
+ * SPEC §10 format:
9
+ * ```md
10
+ * ## Intent Patch Proposal
11
+ * ### Reason
12
+ * ### Evidence (max 3)
13
+ * ### Proposed Diff
14
+ * ### Risk
15
+ * ```
16
+ *
17
+ * ERR checklist:
18
+ * - EP-01: no untrusted input — operates on already-validated IntentDecisionRecord
19
+ * - EP-09: pure function, independently testable
20
+ */
21
+ const FIELD_LABELS = {
22
+ why: 'Why',
23
+ desired_outcome: 'Desired Outcome',
24
+ non_negotiables: 'Non-negotiables',
25
+ stop_escalation: 'Stop / Escalation',
26
+ current_strategic_focus: 'Current Strategic Focus',
27
+ };
28
+ /**
29
+ * Generate a read-only Intent Patch Proposal from an Owner decision.
30
+ *
31
+ * The proposal summarizes why INTENT may need revision, lists the evidence
32
+ * (max 3 items from the decision's evidenceRefs), identifies the related
33
+ * INTENT fields, and includes a placeholder diff for the Owner to fill in.
34
+ *
35
+ * The proposal is marked "Display only, cannot be auto-applied" per SPEC §22.1.4.
36
+ */
37
+ export function generateIntentPatchProposal(decision) {
38
+ const fieldNames = decision.relatedIntentFields
39
+ .map((f) => FIELD_LABELS[f] ?? f)
40
+ .join(', ');
41
+ const evidenceList = decision.evidenceRefs
42
+ .slice(0, 3)
43
+ .map((ref, i) => `- Evidence ${i + 1}: ${ref}`)
44
+ .join('\n');
45
+ const reason = `Owner decision: ${decision.ownerAction}. Source: ${decision.source}, Evidence strength: ${decision.evidenceStrength}.`;
46
+ const markdown = `## Intent Patch Proposal
47
+
48
+ > **Display only — cannot be auto-applied.**
49
+ > The Owner must manually edit \`.principles/INTENT.md\` if they accept this proposal.
50
+
51
+ ### Reason
52
+
53
+ ${reason}
54
+
55
+ ### Related INTENT Fields
56
+
57
+ ${fieldNames || 'No specific fields identified.'}
58
+
59
+ ### Evidence
60
+
61
+ ${evidenceList || 'No evidence recorded.'}
62
+
63
+ ### Proposed Diff
64
+
65
+ \`\`\`diff
66
+ # Owner: fill in the desired INTENT.md changes here.
67
+ # This is a placeholder — PD does not auto-generate diff content.
68
+ \`\`\`
69
+
70
+ ### Risk
71
+
72
+ - **If modified:** INTENT changes may affect future intentTension diagnosis. Review carefully.
73
+ - **If not modified:** The identified tension may recur in similar scenarios.
74
+ `;
75
+ return {
76
+ id: `patch-${decision.id}`,
77
+ decisionId: decision.id,
78
+ markdown,
79
+ };
80
+ }
81
+ //# sourceMappingURL=intent-patch-proposal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-patch-proposal.js","sourceRoot":"","sources":["../../../src/runtime-v2/intent/intent-patch-proposal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAgBH,MAAM,YAAY,GAAuC;IACvD,GAAG,EAAE,KAAK;IACV,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,mBAAmB;IACpC,uBAAuB,EAAE,yBAAyB;CACnD,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CAAC,QAA8B;IACxE,MAAM,UAAU,GAAG,QAAQ,CAAC,mBAAmB;SAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAChC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY;SACvC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;SAC9C,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,MAAM,GAAG,mBAAmB,QAAQ,CAAC,WAAW,aAAa,QAAQ,CAAC,MAAM,wBAAwB,QAAQ,CAAC,gBAAgB,GAAG,CAAC;IAEvI,MAAM,QAAQ,GAAG;;;;;;;EAOjB,MAAM;;;;EAIN,UAAU,IAAI,gCAAgC;;;;EAI9C,YAAY,IAAI,uBAAuB;;;;;;;;;;;;;CAaxC,CAAC;IAEA,OAAO;QACL,EAAE,EAAE,SAAS,QAAQ,CAAC,EAAE,EAAE;QAC1B,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pain-signal-observability.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-observability.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,MAAM,WAAW,6BAA6B;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,oCAAoC;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,gBAAgB,CAAC;IACvB,oFAAoF;IACpF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAkLD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,oCAAoC,GACzC,6BAA6B,CAiE/B"}
1
+ {"version":3,"file":"pain-signal-observability.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-observability.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,MAAM,WAAW,6BAA6B;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,oCAAoC;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,gBAAgB,CAAC;IACvB,oFAAoF;IACpF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAmLD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,oCAAoC,GACzC,6BAA6B,CAiE/B"}
@@ -49,7 +49,7 @@ function ensurePainEventsSchema(db) {
49
49
  id INTEGER PRIMARY KEY AUTOINCREMENT,
50
50
  session_id TEXT NOT NULL,
51
51
  source TEXT NOT NULL,
52
- score INTEGER NOT NULL,
52
+ score REAL NOT NULL,
53
53
  reason TEXT,
54
54
  severity TEXT,
55
55
  origin TEXT,
@@ -72,7 +72,8 @@ function ensurePainEventsSchema(db) {
72
72
  );
73
73
  `);
74
74
  }
75
- // NO migration, NO ALTER, NO DROP —两种 schema 都能工作
75
+ // Schema MUST stay in sync with packages/openclaw-plugin/src/core/schema/schema-definitions.ts pain_events.
76
+ // core cannot import plugin schema (dependency direction), so DDL is duplicated intentionally.
76
77
  db.exec('COMMIT');
77
78
  }
78
79
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"pain-signal-observability.js","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-observability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pain-signal-observability.js","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-observability.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sqlite-pi-artifact-store-fk.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-pi-artifact-store-fk.test.d.ts","sourceRoot":"","sources":["../../../../../src/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,55 @@
1
+ import { mkdtempSync, rmSync } from 'fs';
2
+ import { tmpdir } from 'os';
3
+ import { join } from 'path';
4
+ import { describe, expect, it, afterEach } from 'vitest';
5
+ import { SqliteConnection } from '../../sqlite-connection.js';
6
+ import { SqlitePIArtifactStore } from '../sqlite-pi-artifact-store.js';
7
+ const tempDirs = [];
8
+ afterEach(() => {
9
+ for (const dir of tempDirs.splice(0)) {
10
+ try {
11
+ rmSync(dir, { recursive: true, force: true });
12
+ }
13
+ catch { /* best-effort */ }
14
+ }
15
+ });
16
+ function makeConnection() {
17
+ const dir = mkdtempSync(join(tmpdir(), 'pd-pi-artifact-fk-'));
18
+ tempDirs.push(dir);
19
+ return new SqliteConnection(dir);
20
+ }
21
+ function insertTask(db, taskId) {
22
+ db.prepare("INSERT INTO tasks (task_id, task_kind, status, created_at, updated_at) VALUES (?, 'diagnosis', 'pending', ?, ?)").run(taskId, '2026-01-01T00:00:00Z', '2026-01-01T00:00:00Z');
23
+ }
24
+ function makeArtifactRecord(sourceTaskId) {
25
+ return {
26
+ artifactId: 'art_test_001',
27
+ artifactKind: 'principle',
28
+ sourceTaskId,
29
+ lineageArtifactIds: [],
30
+ validationStatus: 'pending',
31
+ contentJson: '{}',
32
+ createdAt: '2026-01-01T00:00:00Z',
33
+ updatedAt: '2026-01-01T00:00:00Z',
34
+ };
35
+ }
36
+ describe('SqlitePIArtifactStore FK validation (P1-3)', () => {
37
+ it('throws when createArtifact references non-existent task', async () => {
38
+ const conn = makeConnection();
39
+ conn.getDb(); // trigger initSchema
40
+ const store = new SqlitePIArtifactStore(conn);
41
+ const record = makeArtifactRecord('non_existent_task');
42
+ await expect(store.createArtifact(record)).rejects.toThrow(/pi_artifacts\.source_task_id references non-existent task/);
43
+ });
44
+ it('succeeds when parent task exists', async () => {
45
+ const conn = makeConnection();
46
+ const db = conn.getDb();
47
+ insertTask(db, 'task_001');
48
+ const store = new SqlitePIArtifactStore(conn);
49
+ const record = makeArtifactRecord('task_001');
50
+ const result = await store.createArtifact(record);
51
+ expect(result.artifactId).toBe('art_test_001');
52
+ expect(result.sourceTaskId).toBe('task_001');
53
+ });
54
+ });
55
+ //# sourceMappingURL=sqlite-pi-artifact-store-fk.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-pi-artifact-store-fk.test.js","sourceRoot":"","sources":["../../../../../src/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-pi-artifact-store.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/store/artifact/sqlite-pi-artifact-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AA8B9F,qBAAa,qBAAsB,YAAW,eAAe;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,gBAAgB;IAEnD,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgCnE,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6BnE,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAUrE,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAUrE,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAe5D,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAS3H"}
1
+ {"version":3,"file":"sqlite-pi-artifact-store.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/store/artifact/sqlite-pi-artifact-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AA8B9F,qBAAa,qBAAsB,YAAW,eAAe;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,gBAAgB;IAEnD,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwCnE,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6BnE,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAUrE,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAUrE,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAe5D,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAS3H"}
@@ -19,6 +19,12 @@ export class SqlitePIArtifactStore {
19
19
  }
20
20
  async createArtifact(record) {
21
21
  const db = this.connection.getDb();
22
+ // P1-3: Application-layer FK check (DB-layer FK deferred to post-MVP table rebuild).
23
+ // Fail loud if source_task_id references non-existent task (ERR-009/ERR-010/ERR-002).
24
+ const taskExists = db.prepare('SELECT 1 FROM tasks WHERE task_id = ?').get(record.sourceTaskId);
25
+ if (!taskExists) {
26
+ throw new Error(`pi_artifacts.source_task_id references non-existent task: ${record.sourceTaskId}`);
27
+ }
22
28
  const lineageJson = JSON.stringify(record.lineageArtifactIds);
23
29
  try {
24
30
  db.prepare(`
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-pi-artifact-store.js","sourceRoot":"","sources":["../../../../src/runtime-v2/store/artifact/sqlite-pi-artifact-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-pi-artifact-store.js","sourceRoot":"","sources":["../../../../src/runtime-v2/store/artifact/sqlite-pi-artifact-store.ts"],"names":[],"mappings":"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"}