oh-my-claude-sisyphus 2.5.0 → 2.6.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 (80) hide show
  1. package/dist/__tests__/hooks.test.js +255 -1
  2. package/dist/__tests__/hooks.test.js.map +1 -1
  3. package/dist/__tests__/installer.test.js +1 -1
  4. package/dist/__tests__/notepad.test.d.ts +2 -0
  5. package/dist/__tests__/notepad.test.d.ts.map +1 -0
  6. package/dist/__tests__/notepad.test.js +374 -0
  7. package/dist/__tests__/notepad.test.js.map +1 -0
  8. package/dist/__tests__/ralph-prd.test.d.ts +2 -0
  9. package/dist/__tests__/ralph-prd.test.d.ts.map +1 -0
  10. package/dist/__tests__/ralph-prd.test.js +308 -0
  11. package/dist/__tests__/ralph-prd.test.js.map +1 -0
  12. package/dist/__tests__/ralph-progress.test.d.ts +2 -0
  13. package/dist/__tests__/ralph-progress.test.d.ts.map +1 -0
  14. package/dist/__tests__/ralph-progress.test.js +312 -0
  15. package/dist/__tests__/ralph-progress.test.js.map +1 -0
  16. package/dist/__tests__/skills.test.js +5 -3
  17. package/dist/__tests__/skills.test.js.map +1 -1
  18. package/dist/agents/definitions.d.ts +4 -0
  19. package/dist/agents/definitions.d.ts.map +1 -1
  20. package/dist/agents/definitions.js +147 -3
  21. package/dist/agents/definitions.js.map +1 -1
  22. package/dist/agents/index.d.ts +1 -0
  23. package/dist/agents/index.d.ts.map +1 -1
  24. package/dist/agents/index.js +2 -0
  25. package/dist/agents/index.js.map +1 -1
  26. package/dist/agents/prometheus.js +2 -2
  27. package/dist/agents/prometheus.js.map +1 -1
  28. package/dist/cli/index.js +0 -0
  29. package/dist/features/builtin-skills/skills.d.ts.map +1 -1
  30. package/dist/features/builtin-skills/skills.js +61 -0
  31. package/dist/features/builtin-skills/skills.js.map +1 -1
  32. package/dist/features/magic-keywords.js +1 -1
  33. package/dist/hooks/index.d.ts +5 -1
  34. package/dist/hooks/index.d.ts.map +1 -1
  35. package/dist/hooks/index.js +15 -1
  36. package/dist/hooks/index.js.map +1 -1
  37. package/dist/hooks/notepad/index.d.ts +114 -0
  38. package/dist/hooks/notepad/index.d.ts.map +1 -0
  39. package/dist/hooks/notepad/index.js +372 -0
  40. package/dist/hooks/notepad/index.js.map +1 -0
  41. package/dist/hooks/persistent-mode/index.d.ts +5 -0
  42. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  43. package/dist/hooks/persistent-mode/index.js +71 -5
  44. package/dist/hooks/persistent-mode/index.js.map +1 -1
  45. package/dist/hooks/ralph-loop/index.d.ts +48 -0
  46. package/dist/hooks/ralph-loop/index.d.ts.map +1 -1
  47. package/dist/hooks/ralph-loop/index.js +127 -0
  48. package/dist/hooks/ralph-loop/index.js.map +1 -1
  49. package/dist/hooks/ralph-prd/index.d.ts +130 -0
  50. package/dist/hooks/ralph-prd/index.d.ts.map +1 -0
  51. package/dist/hooks/ralph-prd/index.js +310 -0
  52. package/dist/hooks/ralph-prd/index.js.map +1 -0
  53. package/dist/hooks/ralph-progress/index.d.ts +102 -0
  54. package/dist/hooks/ralph-progress/index.d.ts.map +1 -0
  55. package/dist/hooks/ralph-progress/index.js +408 -0
  56. package/dist/hooks/ralph-progress/index.js.map +1 -0
  57. package/dist/hooks/sisyphus-orchestrator/index.d.ts.map +1 -1
  58. package/dist/hooks/sisyphus-orchestrator/index.js +26 -0
  59. package/dist/hooks/sisyphus-orchestrator/index.js.map +1 -1
  60. package/dist/hooks/ultraqa-loop/index.d.ts +94 -0
  61. package/dist/hooks/ultraqa-loop/index.d.ts.map +1 -0
  62. package/dist/hooks/ultraqa-loop/index.js +216 -0
  63. package/dist/hooks/ultraqa-loop/index.js.map +1 -0
  64. package/dist/installer/hooks.d.ts +28 -0
  65. package/dist/installer/hooks.d.ts.map +1 -1
  66. package/dist/installer/hooks.js +262 -2
  67. package/dist/installer/hooks.js.map +1 -1
  68. package/dist/installer/index.d.ts +1 -1
  69. package/dist/installer/index.d.ts.map +1 -1
  70. package/dist/installer/index.js +426 -12
  71. package/dist/installer/index.js.map +1 -1
  72. package/package.json +1 -1
  73. package/scripts/persistent-mode.mjs +167 -6
  74. package/scripts/post-tool-verifier.mjs +62 -1
  75. package/scripts/session-start.mjs +22 -0
  76. package/scripts/test-max-attempts.ts +94 -0
  77. package/scripts/test-mutual-exclusion.ts +152 -0
  78. package/scripts/test-notepad-integration.ts +495 -0
  79. package/scripts/test-remember-tags.ts +121 -0
  80. package/scripts/test-session-injection.ts +41 -0
@@ -0,0 +1,374 @@
1
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
+ import { mkdirSync, rmSync, existsSync, readFileSync, writeFileSync } from 'fs';
3
+ import { join } from 'path';
4
+ import { tmpdir } from 'os';
5
+ import { initNotepad, readNotepad, getPriorityContext, getWorkingMemory, addWorkingMemoryEntry, setPriorityContext, addManualEntry, pruneOldEntries, getNotepadStats, formatNotepadContext, DEFAULT_CONFIG, PRIORITY_HEADER, WORKING_MEMORY_HEADER, MANUAL_HEADER, getManualSection, getNotepadPath } from '../hooks/notepad/index.js';
6
+ describe('Notepad Module', () => {
7
+ let testDir;
8
+ beforeEach(() => {
9
+ // Create a unique temp directory for each test
10
+ testDir = join(tmpdir(), `notepad-test-${Date.now()}-${Math.random().toString(36).slice(2)}`);
11
+ mkdirSync(testDir, { recursive: true });
12
+ });
13
+ afterEach(() => {
14
+ // Clean up test directory
15
+ if (existsSync(testDir)) {
16
+ rmSync(testDir, { recursive: true, force: true });
17
+ }
18
+ });
19
+ describe('initNotepad', () => {
20
+ it('should create notepad.md with correct structure', () => {
21
+ const result = initNotepad(testDir);
22
+ expect(result).toBe(true);
23
+ const notepadPath = getNotepadPath(testDir);
24
+ expect(existsSync(notepadPath)).toBe(true);
25
+ const content = readFileSync(notepadPath, 'utf-8');
26
+ expect(content).toContain('# Notepad');
27
+ expect(content).toContain(PRIORITY_HEADER);
28
+ expect(content).toContain(WORKING_MEMORY_HEADER);
29
+ expect(content).toContain(MANUAL_HEADER);
30
+ expect(content).toContain('Auto-managed by Sisyphus');
31
+ });
32
+ it('should create .sisyphus directory if not exists', () => {
33
+ const sisyphusDir = join(testDir, '.sisyphus');
34
+ expect(existsSync(sisyphusDir)).toBe(false);
35
+ initNotepad(testDir);
36
+ expect(existsSync(sisyphusDir)).toBe(true);
37
+ });
38
+ it('should not overwrite existing notepad', () => {
39
+ const sisyphusDir = join(testDir, '.sisyphus');
40
+ mkdirSync(sisyphusDir, { recursive: true });
41
+ const notepadPath = getNotepadPath(testDir);
42
+ const existingContent = '# Existing content\nTest data';
43
+ writeFileSync(notepadPath, existingContent);
44
+ const result = initNotepad(testDir);
45
+ expect(result).toBe(true);
46
+ const content = readFileSync(notepadPath, 'utf-8');
47
+ expect(content).toBe(existingContent);
48
+ });
49
+ });
50
+ describe('readNotepad', () => {
51
+ it('should return null if notepad does not exist', () => {
52
+ const result = readNotepad(testDir);
53
+ expect(result).toBeNull();
54
+ });
55
+ it('should return content if notepad exists', () => {
56
+ initNotepad(testDir);
57
+ const result = readNotepad(testDir);
58
+ expect(result).not.toBeNull();
59
+ expect(result).toContain('# Notepad');
60
+ expect(result).toContain(PRIORITY_HEADER);
61
+ });
62
+ });
63
+ describe('getPriorityContext', () => {
64
+ it('should return null if no notepad', () => {
65
+ const result = getPriorityContext(testDir);
66
+ expect(result).toBeNull();
67
+ });
68
+ it('should extract Priority Context section', () => {
69
+ initNotepad(testDir);
70
+ setPriorityContext(testDir, 'Critical info about the project');
71
+ const result = getPriorityContext(testDir);
72
+ expect(result).toBe('Critical info about the project');
73
+ });
74
+ it('should return null if section is empty/comments only', () => {
75
+ initNotepad(testDir);
76
+ const result = getPriorityContext(testDir);
77
+ expect(result).toBeNull();
78
+ });
79
+ it('should exclude HTML comments from content', () => {
80
+ initNotepad(testDir);
81
+ const notepadPath = getNotepadPath(testDir);
82
+ let content = readFileSync(notepadPath, 'utf-8');
83
+ // Manually add content with comment
84
+ content = content.replace(`${PRIORITY_HEADER}\n<!-- ALWAYS loaded. Keep under 500 chars. Critical discoveries only. -->`, `${PRIORITY_HEADER}\n<!-- ALWAYS loaded. Keep under 500 chars. Critical discoveries only. -->\nActual content`);
85
+ writeFileSync(notepadPath, content);
86
+ const result = getPriorityContext(testDir);
87
+ expect(result).toBe('Actual content');
88
+ expect(result).not.toContain('<!--');
89
+ });
90
+ });
91
+ describe('setPriorityContext', () => {
92
+ it('should set priority context', () => {
93
+ const result = setPriorityContext(testDir, 'Important discovery');
94
+ expect(result.success).toBe(true);
95
+ expect(result.warning).toBeUndefined();
96
+ const context = getPriorityContext(testDir);
97
+ expect(context).toBe('Important discovery');
98
+ });
99
+ it('should warn if over 500 chars', () => {
100
+ const longContent = 'a'.repeat(501);
101
+ const result = setPriorityContext(testDir, longContent);
102
+ expect(result.success).toBe(true);
103
+ expect(result.warning).toBeDefined();
104
+ expect(result.warning).toContain('exceeds');
105
+ expect(result.warning).toContain('500 chars');
106
+ expect(result.warning).toContain('501 chars');
107
+ });
108
+ it('should initialize notepad if not exists', () => {
109
+ const notepadPath = getNotepadPath(testDir);
110
+ expect(existsSync(notepadPath)).toBe(false);
111
+ setPriorityContext(testDir, 'Test content');
112
+ expect(existsSync(notepadPath)).toBe(true);
113
+ });
114
+ it('should replace existing priority context', () => {
115
+ setPriorityContext(testDir, 'First content');
116
+ setPriorityContext(testDir, 'Second content');
117
+ const context = getPriorityContext(testDir);
118
+ expect(context).toBe('Second content');
119
+ expect(context).not.toContain('First content');
120
+ });
121
+ it('should use custom config for max chars', () => {
122
+ const customConfig = { ...DEFAULT_CONFIG, priorityMaxChars: 100 };
123
+ const longContent = 'a'.repeat(101);
124
+ const result = setPriorityContext(testDir, longContent, customConfig);
125
+ expect(result.success).toBe(true);
126
+ expect(result.warning).toBeDefined();
127
+ expect(result.warning).toContain('100 chars');
128
+ });
129
+ });
130
+ describe('addWorkingMemoryEntry', () => {
131
+ it('should add timestamped entry', () => {
132
+ const result = addWorkingMemoryEntry(testDir, 'First note');
133
+ expect(result).toBe(true);
134
+ const memory = getWorkingMemory(testDir);
135
+ expect(memory).not.toBeNull();
136
+ expect(memory).toContain('First note');
137
+ expect(memory).toMatch(/### \d{4}-\d{2}-\d{2} \d{2}:\d{2}/);
138
+ });
139
+ it('should initialize notepad if not exists', () => {
140
+ const notepadPath = getNotepadPath(testDir);
141
+ expect(existsSync(notepadPath)).toBe(false);
142
+ addWorkingMemoryEntry(testDir, 'Test entry');
143
+ expect(existsSync(notepadPath)).toBe(true);
144
+ });
145
+ it('should append to existing entries', () => {
146
+ addWorkingMemoryEntry(testDir, 'First entry');
147
+ addWorkingMemoryEntry(testDir, 'Second entry');
148
+ addWorkingMemoryEntry(testDir, 'Third entry');
149
+ const memory = getWorkingMemory(testDir);
150
+ expect(memory).toContain('First entry');
151
+ expect(memory).toContain('Second entry');
152
+ expect(memory).toContain('Third entry');
153
+ // Count timestamps
154
+ const matches = memory?.match(/### \d{4}-\d{2}-\d{2} \d{2}:\d{2}/g);
155
+ expect(matches?.length).toBe(3);
156
+ });
157
+ });
158
+ describe('addManualEntry', () => {
159
+ it('should add to MANUAL section', () => {
160
+ const result = addManualEntry(testDir, 'User note');
161
+ expect(result).toBe(true);
162
+ const manual = getManualSection(testDir);
163
+ expect(manual).not.toBeNull();
164
+ expect(manual).toContain('User note');
165
+ expect(manual).toMatch(/### \d{4}-\d{2}-\d{2} \d{2}:\d{2}/);
166
+ });
167
+ it('should initialize notepad if not exists', () => {
168
+ const notepadPath = getNotepadPath(testDir);
169
+ expect(existsSync(notepadPath)).toBe(false);
170
+ addManualEntry(testDir, 'Test manual entry');
171
+ expect(existsSync(notepadPath)).toBe(true);
172
+ });
173
+ it('should append multiple manual entries', () => {
174
+ addManualEntry(testDir, 'Manual entry 1');
175
+ addManualEntry(testDir, 'Manual entry 2');
176
+ const manual = getManualSection(testDir);
177
+ expect(manual).toContain('Manual entry 1');
178
+ expect(manual).toContain('Manual entry 2');
179
+ });
180
+ });
181
+ describe('pruneOldEntries', () => {
182
+ it('should remove entries older than N days', () => {
183
+ initNotepad(testDir);
184
+ const notepadPath = getNotepadPath(testDir);
185
+ // Manually create old and new entries
186
+ const oldDate = new Date();
187
+ oldDate.setDate(oldDate.getDate() - 10);
188
+ const oldTimestamp = oldDate.toISOString().slice(0, 16).replace('T', ' ');
189
+ const recentDate = new Date();
190
+ const recentTimestamp = recentDate.toISOString().slice(0, 16).replace('T', ' ');
191
+ let content = readFileSync(notepadPath, 'utf-8');
192
+ const workingMemoryContent = `### ${oldTimestamp}\nOld entry\n\n### ${recentTimestamp}\nRecent entry`;
193
+ content = content.replace(`${WORKING_MEMORY_HEADER}\n<!-- Session notes. Auto-pruned after 7 days. -->`, `${WORKING_MEMORY_HEADER}\n<!-- Session notes. Auto-pruned after 7 days. -->\n${workingMemoryContent}`);
194
+ writeFileSync(notepadPath, content);
195
+ // Prune entries older than 7 days
196
+ const result = pruneOldEntries(testDir, 7);
197
+ expect(result.pruned).toBe(1);
198
+ expect(result.remaining).toBe(1);
199
+ const memory = getWorkingMemory(testDir);
200
+ expect(memory).not.toContain('Old entry');
201
+ expect(memory).toContain('Recent entry');
202
+ });
203
+ it('should keep recent entries', () => {
204
+ addWorkingMemoryEntry(testDir, 'Recent entry 1');
205
+ addWorkingMemoryEntry(testDir, 'Recent entry 2');
206
+ const result = pruneOldEntries(testDir, 7);
207
+ expect(result.pruned).toBe(0);
208
+ expect(result.remaining).toBe(2);
209
+ const memory = getWorkingMemory(testDir);
210
+ expect(memory).toContain('Recent entry 1');
211
+ expect(memory).toContain('Recent entry 2');
212
+ });
213
+ it('should not affect Priority Context or MANUAL', () => {
214
+ setPriorityContext(testDir, 'Important info');
215
+ addManualEntry(testDir, 'User note');
216
+ initNotepad(testDir);
217
+ const notepadPath = getNotepadPath(testDir);
218
+ // Add old working memory entry
219
+ const oldDate = new Date();
220
+ oldDate.setDate(oldDate.getDate() - 10);
221
+ const oldTimestamp = oldDate.toISOString().slice(0, 16).replace('T', ' ');
222
+ let content = readFileSync(notepadPath, 'utf-8');
223
+ content = content.replace(`${WORKING_MEMORY_HEADER}\n<!-- Session notes. Auto-pruned after 7 days. -->`, `${WORKING_MEMORY_HEADER}\n<!-- Session notes. Auto-pruned after 7 days. -->\n### ${oldTimestamp}\nOld working memory`);
224
+ writeFileSync(notepadPath, content);
225
+ pruneOldEntries(testDir, 7);
226
+ // Priority Context and MANUAL should be unchanged
227
+ const priority = getPriorityContext(testDir);
228
+ const manual = getManualSection(testDir);
229
+ expect(priority).toBe('Important info');
230
+ expect(manual).toContain('User note');
231
+ });
232
+ it('should return zeros if no notepad exists', () => {
233
+ const result = pruneOldEntries(testDir, 7);
234
+ expect(result.pruned).toBe(0);
235
+ expect(result.remaining).toBe(0);
236
+ });
237
+ });
238
+ describe('getNotepadStats', () => {
239
+ it('should return exists: false when no notepad', () => {
240
+ const stats = getNotepadStats(testDir);
241
+ expect(stats.exists).toBe(false);
242
+ expect(stats.totalSize).toBe(0);
243
+ expect(stats.prioritySize).toBe(0);
244
+ expect(stats.workingMemoryEntries).toBe(0);
245
+ expect(stats.oldestEntry).toBeNull();
246
+ });
247
+ it('should return correct stats', () => {
248
+ setPriorityContext(testDir, 'Priority content');
249
+ addWorkingMemoryEntry(testDir, 'Entry 1');
250
+ addWorkingMemoryEntry(testDir, 'Entry 2');
251
+ addManualEntry(testDir, 'Manual note');
252
+ const stats = getNotepadStats(testDir);
253
+ expect(stats.exists).toBe(true);
254
+ expect(stats.totalSize).toBeGreaterThan(0);
255
+ expect(stats.prioritySize).toBeGreaterThan(0);
256
+ expect(stats.workingMemoryEntries).toBe(2);
257
+ expect(stats.oldestEntry).not.toBeNull();
258
+ expect(stats.oldestEntry).toMatch(/\d{4}-\d{2}-\d{2} \d{2}:\d{2}/);
259
+ });
260
+ it('should correctly count multiple working memory entries', () => {
261
+ addWorkingMemoryEntry(testDir, 'Entry 1');
262
+ addWorkingMemoryEntry(testDir, 'Entry 2');
263
+ addWorkingMemoryEntry(testDir, 'Entry 3');
264
+ addWorkingMemoryEntry(testDir, 'Entry 4');
265
+ const stats = getNotepadStats(testDir);
266
+ expect(stats.workingMemoryEntries).toBe(4);
267
+ });
268
+ it('should identify oldest entry correctly', () => {
269
+ initNotepad(testDir);
270
+ const notepadPath = getNotepadPath(testDir);
271
+ // Create entries with specific timestamps
272
+ const date1 = new Date('2025-01-01T10:00:00Z');
273
+ const date2 = new Date('2025-01-02T10:00:00Z');
274
+ const date3 = new Date('2025-01-03T10:00:00Z');
275
+ const timestamp1 = date1.toISOString().slice(0, 16).replace('T', ' ');
276
+ const timestamp2 = date2.toISOString().slice(0, 16).replace('T', ' ');
277
+ const timestamp3 = date3.toISOString().slice(0, 16).replace('T', ' ');
278
+ let content = readFileSync(notepadPath, 'utf-8');
279
+ const workingMemoryContent = `### ${timestamp2}\nMiddle\n\n### ${timestamp1}\nOldest\n\n### ${timestamp3}\nNewest`;
280
+ content = content.replace(`${WORKING_MEMORY_HEADER}\n<!-- Session notes. Auto-pruned after 7 days. -->`, `${WORKING_MEMORY_HEADER}\n<!-- Session notes. Auto-pruned after 7 days. -->\n${workingMemoryContent}`);
281
+ writeFileSync(notepadPath, content);
282
+ const stats = getNotepadStats(testDir);
283
+ expect(stats.oldestEntry).toBe(timestamp1);
284
+ });
285
+ });
286
+ describe('formatNotepadContext', () => {
287
+ it('should return null if no priority context', () => {
288
+ initNotepad(testDir);
289
+ const result = formatNotepadContext(testDir);
290
+ expect(result).toBeNull();
291
+ });
292
+ it('should format context for injection', () => {
293
+ setPriorityContext(testDir, 'Critical information');
294
+ const result = formatNotepadContext(testDir);
295
+ expect(result).not.toBeNull();
296
+ expect(result).toContain('<notepad-priority>');
297
+ expect(result).toContain('</notepad-priority>');
298
+ expect(result).toContain('## Priority Context');
299
+ expect(result).toContain('Critical information');
300
+ });
301
+ it('should return null if notepad does not exist', () => {
302
+ const result = formatNotepadContext(testDir);
303
+ expect(result).toBeNull();
304
+ });
305
+ });
306
+ describe('getWorkingMemory', () => {
307
+ it('should return null if no notepad', () => {
308
+ const result = getWorkingMemory(testDir);
309
+ expect(result).toBeNull();
310
+ });
311
+ it('should extract working memory section', () => {
312
+ addWorkingMemoryEntry(testDir, 'Work note');
313
+ const result = getWorkingMemory(testDir);
314
+ expect(result).not.toBeNull();
315
+ expect(result).toContain('Work note');
316
+ });
317
+ it('should return null if section is empty', () => {
318
+ initNotepad(testDir);
319
+ const result = getWorkingMemory(testDir);
320
+ expect(result).toBeNull();
321
+ });
322
+ });
323
+ describe('getManualSection', () => {
324
+ it('should return null if no notepad', () => {
325
+ const result = getManualSection(testDir);
326
+ expect(result).toBeNull();
327
+ });
328
+ it('should extract manual section', () => {
329
+ addManualEntry(testDir, 'Manual note');
330
+ const result = getManualSection(testDir);
331
+ expect(result).not.toBeNull();
332
+ expect(result).toContain('Manual note');
333
+ });
334
+ it('should return null if section is empty', () => {
335
+ initNotepad(testDir);
336
+ const result = getManualSection(testDir);
337
+ expect(result).toBeNull();
338
+ });
339
+ });
340
+ describe('edge cases', () => {
341
+ it('should handle concurrent writes gracefully', () => {
342
+ initNotepad(testDir);
343
+ // Simulate concurrent writes
344
+ const result1 = addWorkingMemoryEntry(testDir, 'Entry 1');
345
+ const result2 = addManualEntry(testDir, 'Manual 1');
346
+ const result3 = setPriorityContext(testDir, 'Priority 1');
347
+ expect(result1).toBe(true);
348
+ expect(result2).toBe(true);
349
+ expect(result3.success).toBe(true);
350
+ // Verify all sections exist
351
+ const memory = getWorkingMemory(testDir);
352
+ const manual = getManualSection(testDir);
353
+ const priority = getPriorityContext(testDir);
354
+ expect(memory).toContain('Entry 1');
355
+ expect(manual).toContain('Manual 1');
356
+ expect(priority).toBe('Priority 1');
357
+ });
358
+ it('should handle special characters in content', () => {
359
+ const specialContent = 'Content with **markdown** and `code` and <tags>';
360
+ setPriorityContext(testDir, specialContent);
361
+ const result = getPriorityContext(testDir);
362
+ expect(result).toBe(specialContent);
363
+ });
364
+ it('should handle multiline content', () => {
365
+ const multilineContent = `Line 1
366
+ Line 2
367
+ Line 3`;
368
+ setPriorityContext(testDir, multilineContent);
369
+ const result = getPriorityContext(testDir);
370
+ expect(result).toBe(multilineContent);
371
+ });
372
+ });
373
+ });
374
+ //# sourceMappingURL=notepad.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notepad.test.js","sourceRoot":"","sources":["../../src/__tests__/notepad.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ralph-prd.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ralph-prd.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/ralph-prd.test.ts"],"names":[],"mappings":""}