@principles/core 1.235.0 → 1.237.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 (99) hide show
  1. package/dist/principle-tree-ledger.d.ts.map +1 -1
  2. package/dist/principle-tree-ledger.js +55 -30
  3. package/dist/principle-tree-ledger.js.map +1 -1
  4. package/dist/runtime-v2/__tests__/feedback/create-report.test.js +51 -0
  5. package/dist/runtime-v2/__tests__/feedback/create-report.test.js.map +1 -1
  6. package/dist/runtime-v2/__tests__/feedback/privacy-preview.test.js +1 -1
  7. package/dist/runtime-v2/__tests__/feedback/privacy-preview.test.js.map +1 -1
  8. package/dist/runtime-v2/__tests__/feedback/render-markdown.test.js +1 -1
  9. package/dist/runtime-v2/__tests__/feedback/render-markdown.test.js.map +1 -1
  10. package/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js +109 -0
  11. package/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js.map +1 -1
  12. package/dist/runtime-v2/activation/activation-dispatcher.d.ts +11 -0
  13. package/dist/runtime-v2/activation/activation-dispatcher.d.ts.map +1 -1
  14. package/dist/runtime-v2/activation/activation-dispatcher.js +60 -6
  15. package/dist/runtime-v2/activation/activation-dispatcher.js.map +1 -1
  16. package/dist/runtime-v2/activation/activation-types.d.ts +4 -0
  17. package/dist/runtime-v2/activation/activation-types.d.ts.map +1 -1
  18. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +34 -0
  19. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
  20. package/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
  21. package/dist/runtime-v2/feature-flags/feature-flag-contract.js +5 -0
  22. package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
  23. package/dist/runtime-v2/feedback/__tests__/create-report-agent-draft.test.d.ts +2 -0
  24. package/dist/runtime-v2/feedback/__tests__/create-report-agent-draft.test.d.ts.map +1 -0
  25. package/dist/runtime-v2/feedback/__tests__/create-report-agent-draft.test.js +221 -0
  26. package/dist/runtime-v2/feedback/__tests__/create-report-agent-draft.test.js.map +1 -0
  27. package/dist/runtime-v2/feedback/__tests__/mailto-url.test.d.ts +11 -0
  28. package/dist/runtime-v2/feedback/__tests__/mailto-url.test.d.ts.map +1 -0
  29. package/dist/runtime-v2/feedback/__tests__/mailto-url.test.js +160 -0
  30. package/dist/runtime-v2/feedback/__tests__/mailto-url.test.js.map +1 -0
  31. package/dist/runtime-v2/feedback/__tests__/pending-agent-draft-store.test.d.ts +2 -0
  32. package/dist/runtime-v2/feedback/__tests__/pending-agent-draft-store.test.d.ts.map +1 -0
  33. package/dist/runtime-v2/feedback/__tests__/pending-agent-draft-store.test.js +342 -0
  34. package/dist/runtime-v2/feedback/__tests__/pending-agent-draft-store.test.js.map +1 -0
  35. package/dist/runtime-v2/feedback/create-report.d.ts +7 -1
  36. package/dist/runtime-v2/feedback/create-report.d.ts.map +1 -1
  37. package/dist/runtime-v2/feedback/create-report.js +65 -7
  38. package/dist/runtime-v2/feedback/create-report.js.map +1 -1
  39. package/dist/runtime-v2/feedback/feedback-types.d.ts +18 -1
  40. package/dist/runtime-v2/feedback/feedback-types.d.ts.map +1 -1
  41. package/dist/runtime-v2/feedback/feedback-types.js +19 -12
  42. package/dist/runtime-v2/feedback/feedback-types.js.map +1 -1
  43. package/dist/runtime-v2/feedback/index.d.ts +3 -1
  44. package/dist/runtime-v2/feedback/index.d.ts.map +1 -1
  45. package/dist/runtime-v2/feedback/index.js +7 -1
  46. package/dist/runtime-v2/feedback/index.js.map +1 -1
  47. package/dist/runtime-v2/feedback/pending-agent-draft-store.d.ts +106 -0
  48. package/dist/runtime-v2/feedback/pending-agent-draft-store.d.ts.map +1 -0
  49. package/dist/runtime-v2/feedback/pending-agent-draft-store.js +220 -0
  50. package/dist/runtime-v2/feedback/pending-agent-draft-store.js.map +1 -0
  51. package/dist/runtime-v2/feedback/privacy-preview.d.ts +16 -0
  52. package/dist/runtime-v2/feedback/privacy-preview.d.ts.map +1 -1
  53. package/dist/runtime-v2/feedback/privacy-preview.js +54 -0
  54. package/dist/runtime-v2/feedback/privacy-preview.js.map +1 -1
  55. package/dist/runtime-v2/index.d.ts +5 -0
  56. package/dist/runtime-v2/index.d.ts.map +1 -1
  57. package/dist/runtime-v2/index.js +9 -0
  58. package/dist/runtime-v2/index.js.map +1 -1
  59. package/dist/runtime-v2/runner/__tests__/base-peer-runner-agent-draft.test.d.ts +2 -0
  60. package/dist/runtime-v2/runner/__tests__/base-peer-runner-agent-draft.test.d.ts.map +1 -0
  61. package/dist/runtime-v2/runner/__tests__/base-peer-runner-agent-draft.test.js +459 -0
  62. package/dist/runtime-v2/runner/__tests__/base-peer-runner-agent-draft.test.js.map +1 -0
  63. package/dist/runtime-v2/runner/base-peer-runner.d.ts +27 -0
  64. package/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
  65. package/dist/runtime-v2/runner/base-peer-runner.js +138 -0
  66. package/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
  67. package/dist/runtime-v2/runner/peer-runner-types.d.ts +9 -0
  68. package/dist/runtime-v2/runner/peer-runner-types.d.ts.map +1 -1
  69. package/dist/runtime-v2/store/pain/__tests__/sqlite-dead-letter-store.test.d.ts +2 -0
  70. package/dist/runtime-v2/store/pain/__tests__/sqlite-dead-letter-store.test.d.ts.map +1 -0
  71. package/dist/runtime-v2/store/pain/__tests__/sqlite-dead-letter-store.test.js +225 -0
  72. package/dist/runtime-v2/store/pain/__tests__/sqlite-dead-letter-store.test.js.map +1 -0
  73. package/dist/runtime-v2/store/pain/index.d.ts +3 -0
  74. package/dist/runtime-v2/store/pain/index.d.ts.map +1 -0
  75. package/dist/runtime-v2/store/pain/index.js +2 -0
  76. package/dist/runtime-v2/store/pain/index.js.map +1 -0
  77. package/dist/runtime-v2/store/pain/sqlite-dead-letter-store.d.ts +70 -0
  78. package/dist/runtime-v2/store/pain/sqlite-dead-letter-store.d.ts.map +1 -0
  79. package/dist/runtime-v2/store/pain/sqlite-dead-letter-store.js +154 -0
  80. package/dist/runtime-v2/store/pain/sqlite-dead-letter-store.js.map +1 -0
  81. package/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
  82. package/dist/runtime-v2/store/sqlite-connection.js +41 -0
  83. package/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
  84. package/dist/runtime-v2/store/task/__tests__/sqlite-task-store.failed-tasks.test.d.ts +2 -0
  85. package/dist/runtime-v2/store/task/__tests__/sqlite-task-store.failed-tasks.test.d.ts.map +1 -0
  86. package/dist/runtime-v2/store/task/__tests__/sqlite-task-store.failed-tasks.test.js +442 -0
  87. package/dist/runtime-v2/store/task/__tests__/sqlite-task-store.failed-tasks.test.js.map +1 -0
  88. package/dist/runtime-v2/store/task/index.d.ts +1 -0
  89. package/dist/runtime-v2/store/task/index.d.ts.map +1 -1
  90. package/dist/runtime-v2/store/task/index.js.map +1 -1
  91. package/dist/runtime-v2/store/task/sqlite-task-store.d.ts +45 -0
  92. package/dist/runtime-v2/store/task/sqlite-task-store.d.ts.map +1 -1
  93. package/dist/runtime-v2/store/task/sqlite-task-store.js +205 -0
  94. package/dist/runtime-v2/store/task/sqlite-task-store.js.map +1 -1
  95. package/dist/runtime-v2/store/task/task-types.d.ts +60 -0
  96. package/dist/runtime-v2/store/task/task-types.d.ts.map +1 -0
  97. package/dist/runtime-v2/store/task/task-types.js +2 -0
  98. package/dist/runtime-v2/store/task/task-types.js.map +1 -0
  99. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flag-contract.js","sourceRoot":"","sources":["../../../src/runtime-v2/feature-flags/feature-flag-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-flag-contract.js","sourceRoot":"","sources":["../../../src/runtime-v2/feature-flags/feature-flag-contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=create-report-agent-draft.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-report-agent-draft.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/feedback/__tests__/create-report-agent-draft.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,221 @@
1
+ /**
2
+ * Task 13 tests: createFeedbackReport agentDraft merge from PendingAgentDraftStore.
3
+ *
4
+ * Verifies:
5
+ * - taskId without store → normal report, no agentDraft
6
+ * - taskId with store but no pending draft → normal report, no agentDraft
7
+ * - taskId with store + pending draft → report merges agentDraft, marks consumed
8
+ * - user-provided agentDraft takes priority over store draft, but store draft still consumed
9
+ * - store.getUnconsumedByTaskId throws → rc-9: report still created, error in redactionNotes
10
+ * - store.markConsumed throws → rc-9: report still created, error in redactionNotes
11
+ * - no taskId with store provided → store is not queried
12
+ *
13
+ * ERR checklist:
14
+ * - EP-01 / ERR-001, ERR-005: no `as` casts on untrusted input. Test inputs are
15
+ * plain objects passed as `unknown` to createFeedbackReport.
16
+ * - EP-03 / ERR-002, rc-9: store operation failures do not silently swallow —
17
+ * errors are recorded in report.privacy.redactionNotes.
18
+ * - EP-03 / ERR-009, ERR-010: corrupt agent_draft JSON in the store fails loud
19
+ * inside getUnconsumedByTaskId (throws), caught by createFeedbackReport.
20
+ */
21
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
22
+ import * as path from 'node:path';
23
+ import * as os from 'node:os';
24
+ import * as fs from 'node:fs';
25
+ import { SqliteConnection } from '../../store/sqlite-connection.js';
26
+ import { PendingAgentDraftStore, } from '../pending-agent-draft-store.js';
27
+ import { createFeedbackReport } from '../create-report.js';
28
+ const baseInput = {
29
+ type: 'bug',
30
+ title: 'Test feedback',
31
+ description: 'Something went wrong during task execution',
32
+ };
33
+ const diagnostics = {};
34
+ /**
35
+ * Test-only subclass of PendingAgentDraftStore whose markConsumed always
36
+ * throws. Used to verify the rc-9 defensive path in createFeedbackReport.
37
+ * getUnconsumedByTaskId is inherited unchanged (works against the real DB).
38
+ */
39
+ class ThrowingMarkConsumedStore extends PendingAgentDraftStore {
40
+ // eslint-disable-next-line @typescript-eslint/class-methods-use-this
41
+ markConsumed(_id) {
42
+ throw new Error('mock markConsumed failure');
43
+ }
44
+ }
45
+ describe('createFeedbackReport — Task 13 agentDraft merge', () => {
46
+ let connection;
47
+ let store;
48
+ let tmpDir;
49
+ beforeEach(() => {
50
+ tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'pd-test-create-report-'));
51
+ connection = new SqliteConnection(tmpDir);
52
+ connection.getDb(); // triggers initSchema (creates pending_agent_drafts table)
53
+ store = new PendingAgentDraftStore(connection);
54
+ });
55
+ afterEach(() => {
56
+ try {
57
+ connection?.close();
58
+ }
59
+ catch {
60
+ // best-effort close
61
+ }
62
+ });
63
+ describe('taskId without store', () => {
64
+ it('creates a normal report without agentDraft when store is not provided', () => {
65
+ const input = { ...baseInput, taskId: 'task-123' };
66
+ const result = createFeedbackReport(input, diagnostics, undefined, undefined);
67
+ expect(result.ok).toBe(true);
68
+ if (result.ok) {
69
+ expect(result.report.agentDraft).toBeUndefined();
70
+ }
71
+ });
72
+ });
73
+ describe('taskId with store but no pending draft', () => {
74
+ it('creates a normal report without agentDraft and does not call markConsumed', () => {
75
+ const input = { ...baseInput, taskId: 'task-no-draft' };
76
+ const result = createFeedbackReport(input, diagnostics, undefined, store);
77
+ expect(result.ok).toBe(true);
78
+ if (result.ok) {
79
+ expect(result.report.agentDraft).toBeUndefined();
80
+ }
81
+ // No draft existed, so none should be consumed
82
+ expect(store.getUnconsumedByTaskId('task-no-draft')).toBeNull();
83
+ });
84
+ });
85
+ describe('taskId with store and pending draft', () => {
86
+ it('merges the pending agent draft into the report and marks it consumed', () => {
87
+ const taskId = 'task-with-draft';
88
+ const draft = {
89
+ summary: 'Agent observed a timeout',
90
+ observedFailure: 'Error: connection timeout after 30s',
91
+ commandSummary: 'last command: pd runtime exec --task task-with-draft',
92
+ };
93
+ const insertResult = store.insertPendingDraft({ taskId, agentDraft: draft });
94
+ expect(insertResult.ok).toBe(true);
95
+ const input = { ...baseInput, taskId };
96
+ const result = createFeedbackReport(input, diagnostics, undefined, store);
97
+ expect(result.ok).toBe(true);
98
+ if (result.ok) {
99
+ expect(result.report.agentDraft).toBeDefined();
100
+ if (!result.report.agentDraft)
101
+ throw new Error('agentDraft is null');
102
+ expect(result.report.agentDraft.summary).toBe('Agent observed a timeout');
103
+ expect(result.report.agentDraft.observedFailure).toBe('Error: connection timeout after 30s');
104
+ expect(result.report.agentDraft.commandSummary).toBe('last command: pd runtime exec --task task-with-draft');
105
+ }
106
+ // The draft should be consumed (consumedAt set)
107
+ expect(store.getUnconsumedByTaskId(taskId)).toBeNull();
108
+ });
109
+ it('merges a minimal draft (summary only) correctly', () => {
110
+ const taskId = 'task-minimal-draft';
111
+ store.insertPendingDraft({
112
+ taskId,
113
+ agentDraft: { summary: 'Minimal agent summary' },
114
+ });
115
+ const input = { ...baseInput, taskId };
116
+ const result = createFeedbackReport(input, diagnostics, undefined, store);
117
+ expect(result.ok).toBe(true);
118
+ if (result.ok) {
119
+ expect(result.report.agentDraft).toBeDefined();
120
+ if (!result.report.agentDraft)
121
+ throw new Error('agentDraft is null');
122
+ expect(result.report.agentDraft.summary).toBe('Minimal agent summary');
123
+ expect(result.report.agentDraft.observedFailure).toBeUndefined();
124
+ expect(result.report.agentDraft.commandSummary).toBeUndefined();
125
+ }
126
+ expect(store.getUnconsumedByTaskId(taskId)).toBeNull();
127
+ });
128
+ });
129
+ describe('user-provided agentDraft takes priority', () => {
130
+ it('uses the user-provided agentDraft but still marks the store draft as consumed', () => {
131
+ const taskId = 'task-priority';
132
+ const storeDraft = {
133
+ summary: 'Agent summary (should not be used)',
134
+ };
135
+ store.insertPendingDraft({ taskId, agentDraft: storeDraft });
136
+ const input = {
137
+ ...baseInput,
138
+ taskId,
139
+ agentDraft: {
140
+ summary: 'User-provided summary',
141
+ observedFailure: 'User-provided failure',
142
+ },
143
+ };
144
+ const result = createFeedbackReport(input, diagnostics, undefined, store);
145
+ expect(result.ok).toBe(true);
146
+ if (result.ok) {
147
+ expect(result.report.agentDraft).toBeDefined();
148
+ if (!result.report.agentDraft)
149
+ throw new Error('agentDraft is null');
150
+ expect(result.report.agentDraft.summary).toBe('User-provided summary');
151
+ expect(result.report.agentDraft.observedFailure).toBe('User-provided failure');
152
+ }
153
+ // The store draft should still be consumed (user's report supersedes it)
154
+ expect(store.getUnconsumedByTaskId(taskId)).toBeNull();
155
+ });
156
+ });
157
+ describe('no taskId with store provided', () => {
158
+ it('does not query the store when taskId is not provided', () => {
159
+ // Insert a draft for some task — it should NOT be touched
160
+ store.insertPendingDraft({
161
+ taskId: 'task-untouched',
162
+ agentDraft: { summary: 'should not be consumed' },
163
+ });
164
+ const input = { ...baseInput }; // no taskId
165
+ const result = createFeedbackReport(input, diagnostics, undefined, store);
166
+ expect(result.ok).toBe(true);
167
+ if (result.ok) {
168
+ expect(result.report.agentDraft).toBeUndefined();
169
+ }
170
+ // The draft should still be unconsumed
171
+ const row = store.getUnconsumedByTaskId('task-untouched');
172
+ expect(row).not.toBeNull();
173
+ if (!row)
174
+ throw new Error('row is null');
175
+ expect(row.agentDraft.summary).toBe('should not be consumed');
176
+ });
177
+ });
178
+ describe('store.getUnconsumedByTaskId throws (rc-9: no silent fallback)', () => {
179
+ it('creates the report without agentDraft and records the error in redactionNotes', () => {
180
+ const taskId = 'task-corrupt';
181
+ // Insert a row with corrupt JSON directly via raw SQL — the store's
182
+ // getUnconsumedByTaskId will throw when parsing the corrupt agent_draft.
183
+ const db = connection.getDb();
184
+ db.prepare('INSERT INTO pending_agent_drafts (id, task_id, pain_id, agent_draft, created_at, consumed_at) VALUES (?, ?, ?, ?, ?, ?)').run('pad-corrupt', taskId, null, '{not valid json', '2026-07-04T00:00:00Z', null);
185
+ const input = { ...baseInput, taskId };
186
+ const result = createFeedbackReport(input, diagnostics, undefined, store);
187
+ expect(result.ok).toBe(true);
188
+ if (result.ok) {
189
+ // No agentDraft merged — the store threw before returning a draft
190
+ expect(result.report.agentDraft).toBeUndefined();
191
+ // rc-9: error must be recorded in redactionNotes (not silently swallowed)
192
+ const notes = result.report.privacy.redactionNotes;
193
+ expect(notes.some((n) => n.includes('agent draft lookup failed'))).toBe(true);
194
+ }
195
+ });
196
+ });
197
+ describe('store.markConsumed throws (rc-9: no silent fallback)', () => {
198
+ it('creates the report with agentDraft and records the markConsumed error in redactionNotes', () => {
199
+ const throwingStore = new ThrowingMarkConsumedStore(connection);
200
+ const taskId = 'task-mark-throws';
201
+ const draft = {
202
+ summary: 'Agent summary for markConsumed test',
203
+ };
204
+ throwingStore.insertPendingDraft({ taskId, agentDraft: draft });
205
+ const input = { ...baseInput, taskId };
206
+ const result = createFeedbackReport(input, diagnostics, undefined, throwingStore);
207
+ expect(result.ok).toBe(true);
208
+ if (result.ok) {
209
+ // agentDraft was merged BEFORE markConsumed was called
210
+ expect(result.report.agentDraft).toBeDefined();
211
+ if (!result.report.agentDraft)
212
+ throw new Error('agentDraft is null');
213
+ expect(result.report.agentDraft.summary).toBe('Agent summary for markConsumed test');
214
+ // rc-9: markConsumed error must be recorded in redactionNotes
215
+ const notes = result.report.privacy.redactionNotes;
216
+ expect(notes.some((n) => n.includes('agent draft markConsumed failed'))).toBe(true);
217
+ }
218
+ });
219
+ });
220
+ });
221
+ //# sourceMappingURL=create-report-agent-draft.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-report-agent-draft.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/feedback/__tests__/create-report-agent-draft.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EACL,sBAAsB,GAEvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,KAAc;IACpB,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,4CAA4C;CAC1D,CAAC;AAEF,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB;;;;GAIG;AACH,MAAM,yBAA0B,SAAQ,sBAAsB;IAC5D,qEAAqE;IAC5D,YAAY,CAAC,GAAW;QAC/B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;IAC/D,IAAI,UAA4B,CAAC;IACjC,IAAI,KAA6B,CAAC;IAClC,IAAI,MAAc,CAAC;IAEnB,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAC,CAAC;QAC1E,UAAU,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC1C,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,2DAA2D;QAC/E,KAAK,GAAG,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC;YACH,UAAU,EAAE,KAAK,EAAE,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC/E,MAAM,KAAK,GAAG,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC9E,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC;YACnD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE;QACtD,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;YACnF,MAAM,KAAK,GAAG,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;YACxD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC;YACnD,CAAC;YACD,+CAA+C;YAC/C,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;QACnD,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC9E,MAAM,MAAM,GAAG,iBAAiB,CAAC;YACjC,MAAM,KAAK,GAAsB;gBAC/B,OAAO,EAAE,0BAA0B;gBACnC,eAAe,EAAE,qCAAqC;gBACtD,cAAc,EAAE,sDAAsD;aACvE,CAAC;YACF,MAAM,YAAY,GAAG,KAAK,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7E,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEnC,MAAM,KAAK,GAAG,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU;oBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBACrE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBAC1E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBAC7F,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YAC/G,CAAC;YACD,gDAAgD;YAChD,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,MAAM,GAAG,oBAAoB,CAAC;YACpC,KAAK,CAAC,kBAAkB,CAAC;gBACvB,MAAM;gBACN,UAAU,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE;aACjD,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU;oBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBACrE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACvE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE,CAAC;gBACjE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,aAAa,EAAE,CAAC;YAClE,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACvD,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;YACvF,MAAM,MAAM,GAAG,eAAe,CAAC;YAC/B,MAAM,UAAU,GAAsB;gBACpC,OAAO,EAAE,oCAAoC;aAC9C,CAAC;YACF,KAAK,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;YAE7D,MAAM,KAAK,GAAG;gBACZ,GAAG,SAAS;gBACZ,MAAM;gBACN,UAAU,EAAE;oBACV,OAAO,EAAE,uBAAuB;oBAChC,eAAe,EAAE,uBAAuB;iBACzC;aACF,CAAC;YACF,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU;oBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBACrE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACvE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACjF,CAAC;YACD,yEAAyE;YACzE,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,0DAA0D;YAC1D,KAAK,CAAC,kBAAkB,CAAC;gBACvB,MAAM,EAAE,gBAAgB;gBACxB,UAAU,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;aAClD,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,YAAY;YAC5C,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC;YACnD,CAAC;YACD,uCAAuC;YACvC,MAAM,GAAG,GAAG,KAAK,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;YAC1D,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+DAA+D,EAAE,GAAG,EAAE;QAC7E,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;YACvF,MAAM,MAAM,GAAG,cAAc,CAAC;YAC9B,oEAAoE;YACpE,yEAAyE;YACzE,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;YAC9B,EAAE,CAAC,OAAO,CACR,yHAAyH,CAC1H,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;YAEpF,MAAM,KAAK,GAAG,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,kEAAkE;gBAClE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC;gBACjD,0EAA0E;gBAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;gBACnD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChF,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sDAAsD,EAAE,GAAG,EAAE;QACpE,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;YACjG,MAAM,aAAa,GAAG,IAAI,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAEhE,MAAM,MAAM,GAAG,kBAAkB,CAAC;YAClC,MAAM,KAAK,GAAsB;gBAC/B,OAAO,EAAE,qCAAqC;aAC/C,CAAC;YACF,aAAa,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAEhE,MAAM,KAAK,GAAG,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;YAClF,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,uDAAuD;gBACvD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU;oBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBACrE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACrF,8DAA8D;gBAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;gBACnD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtF,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * buildMailtoUrl Tests — Feedback mailto: URL Builder
3
+ *
4
+ * Tests the mailto: URL builder for feedback reports.
5
+ *
6
+ * ERR checklist:
7
+ * - ERR-001/005: no `as` casts; FeedbackReport constructed explicitly
8
+ * - ERR-014/016: encoded body bounded to MAX_MAILTO_ENCODED_BODY_LENGTH (1800) + suffix
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=mailto-url.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailto-url.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/feedback/__tests__/mailto-url.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * buildMailtoUrl Tests — Feedback mailto: URL Builder
3
+ *
4
+ * Tests the mailto: URL builder for feedback reports.
5
+ *
6
+ * ERR checklist:
7
+ * - ERR-001/005: no `as` casts; FeedbackReport constructed explicitly
8
+ * - ERR-014/016: encoded body bounded to MAX_MAILTO_ENCODED_BODY_LENGTH (1800) + suffix
9
+ */
10
+ import { describe, it, expect } from 'vitest';
11
+ import { buildMailtoUrl, buildEmailText, DEFAULT_INCLUDED_SECTIONS, DEFAULT_EXCLUDED_CATEGORIES, } from '../privacy-preview.js';
12
+ const MAINTAINER_EMAIL = 'csuzngjh@hotmail.com';
13
+ // Must mirror the constant in privacy-preview.ts. We assert the encoded body
14
+ // (not the raw body) stays within this budget — see ERR-014/016.
15
+ const MAX_MAILTO_ENCODED_BODY_LENGTH = 1800;
16
+ const TRUNCATED_SUFFIX = '\n\n…(truncated — use "Copy Email" in PD Console for the full report)';
17
+ function makeReport(overrides = {}) {
18
+ return {
19
+ id: 'fb-test-1',
20
+ createdAt: '2026-06-01T00:00:00.000Z',
21
+ type: 'bug',
22
+ title: 'Cannot open pain page',
23
+ userText: {
24
+ description: 'Clicking the pain link throws TypeError',
25
+ userSeverity: 'high',
26
+ },
27
+ diagnosticSummary: {
28
+ versions: { '@principles/core': '1.0.0' },
29
+ platform: { os: 'darwin' },
30
+ featureFlags: {},
31
+ canary: { status: 'available' },
32
+ recentEvents: [],
33
+ },
34
+ contextRefs: [],
35
+ privacy: {
36
+ includedSections: [...DEFAULT_INCLUDED_SECTIONS],
37
+ excludedByDefault: [...DEFAULT_EXCLUDED_CATEGORIES],
38
+ redactionNotes: [],
39
+ },
40
+ outputs: { markdown: '', emailText: '', githubIssueUrl: '', mailtoUrl: '' },
41
+ ...overrides,
42
+ };
43
+ }
44
+ describe('buildMailtoUrl', () => {
45
+ it('returns empty string when maintainerEmail is empty', () => {
46
+ const report = makeReport();
47
+ expect(buildMailtoUrl(report, '')).toBe('');
48
+ });
49
+ it('returns empty string when maintainerEmail is not a string', () => {
50
+ const report = makeReport();
51
+ // @ts-expect-error — testing non-string input at runtime
52
+ expect(buildMailtoUrl(report, undefined)).toBe('');
53
+ // @ts-expect-error — testing non-string input at runtime
54
+ expect(buildMailtoUrl(report, null)).toBe('');
55
+ });
56
+ it('builds mailto URL with the maintainer email', () => {
57
+ const report = makeReport();
58
+ const url = buildMailtoUrl(report, MAINTAINER_EMAIL);
59
+ expect(url.startsWith(`mailto:${MAINTAINER_EMAIL}?`)).toBe(true);
60
+ expect(url).toContain('subject=');
61
+ expect(url).toContain('body=');
62
+ });
63
+ it('subject contains [PD feedback] [bug] prefix', () => {
64
+ const report = makeReport({ type: 'bug', title: 'Something broke' });
65
+ const url = buildMailtoUrl(report, MAINTAINER_EMAIL);
66
+ const subjectPart = url.split('subject=')[1]?.split('&body=')[0] ?? '';
67
+ const decoded = decodeURIComponent(subjectPart);
68
+ expect(decoded).toBe('[PD feedback] [bug] Something broke');
69
+ });
70
+ it('subject contains [PD feedback] prefix for each feedback type', () => {
71
+ const types = ['bug', 'confusing', 'privacy_concern', 'feature_request', 'other'];
72
+ for (const type of types) {
73
+ const report = makeReport({ type, title: 'Test title' });
74
+ const url = buildMailtoUrl(report, MAINTAINER_EMAIL);
75
+ const subjectPart = url.split('subject=')[1]?.split('&body=')[0] ?? '';
76
+ const decoded = decodeURIComponent(subjectPart);
77
+ expect(decoded).toBe(`[PD feedback] [${type}] Test title`);
78
+ }
79
+ });
80
+ it('URL-encodes special characters in subject (& ? newlines)', () => {
81
+ const report = makeReport({ title: 'Bug: a & b ? c\nd' });
82
+ const url = buildMailtoUrl(report, MAINTAINER_EMAIL);
83
+ const subjectPart = url.split('subject=')[1]?.split('&body=')[0] ?? '';
84
+ const decoded = decodeURIComponent(subjectPart);
85
+ // Decoded subject preserves the original special chars
86
+ expect(decoded).toContain('&');
87
+ expect(decoded).toContain('?');
88
+ expect(decoded).toContain('\n');
89
+ // Encoded subject must not contain raw & (query separator) or ? (fragment)
90
+ expect(subjectPart).not.toContain('&');
91
+ expect(subjectPart).toContain('%3F'); // ?
92
+ expect(subjectPart).toContain('%0A'); // newline
93
+ });
94
+ it('URL-encodes special characters in body', () => {
95
+ const report = makeReport({
96
+ userText: { description: 'Line 1\nLine 2 & more ? yes' },
97
+ });
98
+ const url = buildMailtoUrl(report, MAINTAINER_EMAIL);
99
+ const bodyPart = url.split('body=')[1] ?? '';
100
+ const decoded = decodeURIComponent(bodyPart);
101
+ expect(decoded).toContain('Line 1\nLine 2 & more ? yes');
102
+ // Encoded body should contain %0A for newlines and %26 for &
103
+ expect(bodyPart).toContain('%0A');
104
+ expect(bodyPart).toContain('%26');
105
+ });
106
+ it('truncates body so the encoded form stays within budget and appends …(truncated) when exceeded', () => {
107
+ // Use multiple long fields so the email text definitely exceeds the
108
+ // encoded-body budget. buildEmailText bounds each field to 1500 chars,
109
+ // so we need several long fields to push the encoded body past 1800.
110
+ const longText = 'x'.repeat(5000);
111
+ const report = makeReport({
112
+ userText: {
113
+ description: longText,
114
+ stepsToReproduce: longText,
115
+ expectedBehavior: longText,
116
+ actualBehavior: longText,
117
+ },
118
+ });
119
+ const url = buildMailtoUrl(report, MAINTAINER_EMAIL);
120
+ const bodyPart = url.split('body=')[1] ?? '';
121
+ const decoded = decodeURIComponent(bodyPart);
122
+ // Suffix must be present (truncation path was taken)
123
+ expect(decoded.endsWith(TRUNCATED_SUFFIX)).toBe(true);
124
+ // The ENCODED body (with suffix) must respect the budget — this is the
125
+ // invariant that protects Outlook desktop's ~2000-char mailto: limit.
126
+ expect(bodyPart.length).toBeLessThanOrEqual(MAX_MAILTO_ENCODED_BODY_LENGTH);
127
+ });
128
+ it('does not truncate body when encoded form is within budget', () => {
129
+ const report = makeReport();
130
+ const url = buildMailtoUrl(report, MAINTAINER_EMAIL);
131
+ const bodyPart = url.split('body=')[1] ?? '';
132
+ const decoded = decodeURIComponent(bodyPart);
133
+ expect(decoded.endsWith(TRUNCATED_SUFFIX)).toBe(false);
134
+ });
135
+ it('body equals buildEmailText output when not truncated', () => {
136
+ const report = makeReport();
137
+ const url = buildMailtoUrl(report, MAINTAINER_EMAIL);
138
+ const bodyPart = url.split('body=')[1] ?? '';
139
+ const decoded = decodeURIComponent(bodyPart);
140
+ expect(decoded).toBe(buildEmailText(report));
141
+ });
142
+ it('redacts absolute paths in the subject (matches buildEmailText)', () => {
143
+ const report = makeReport({ title: 'Bug at /home/alice/secret' });
144
+ const url = buildMailtoUrl(report, MAINTAINER_EMAIL);
145
+ const subjectPart = url.split('subject=')[1]?.split('&body=')[0] ?? '';
146
+ const decoded = decodeURIComponent(subjectPart);
147
+ expect(decoded).toContain('<redacted-path>');
148
+ expect(decoded).not.toContain('/home/alice');
149
+ });
150
+ it('preserves query order: subject= before body=', () => {
151
+ const report = makeReport();
152
+ const url = buildMailtoUrl(report, MAINTAINER_EMAIL);
153
+ const subjectIdx = url.indexOf('subject=');
154
+ const bodyIdx = url.indexOf('body=');
155
+ expect(subjectIdx).toBeGreaterThan(-1);
156
+ expect(bodyIdx).toBeGreaterThan(-1);
157
+ expect(subjectIdx).toBeLessThan(bodyIdx);
158
+ });
159
+ });
160
+ //# sourceMappingURL=mailto-url.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailto-url.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/feedback/__tests__/mailto-url.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pending-agent-draft-store.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending-agent-draft-store.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/feedback/__tests__/pending-agent-draft-store.test.ts"],"names":[],"mappings":""}