observability-toolkit 1.8.2 → 1.8.5

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 (259) hide show
  1. package/README.md +60 -0
  2. package/dist/backends/index.d.ts +43 -0
  3. package/dist/backends/index.d.ts.map +1 -1
  4. package/dist/backends/index.js +41 -0
  5. package/dist/backends/index.js.map +1 -1
  6. package/dist/backends/index.test.d.ts +5 -0
  7. package/dist/backends/index.test.d.ts.map +1 -0
  8. package/dist/backends/index.test.js +156 -0
  9. package/dist/backends/index.test.js.map +1 -0
  10. package/dist/backends/local-jsonl-boolean-search.test.js +15 -12
  11. package/dist/backends/local-jsonl-boolean-search.test.js.map +1 -1
  12. package/dist/backends/local-jsonl-cache.test.d.ts +2 -0
  13. package/dist/backends/local-jsonl-cache.test.d.ts.map +1 -0
  14. package/dist/backends/local-jsonl-cache.test.js +295 -0
  15. package/dist/backends/local-jsonl-cache.test.js.map +1 -0
  16. package/dist/backends/local-jsonl-circuit-breaker.test.d.ts +2 -0
  17. package/dist/backends/local-jsonl-circuit-breaker.test.d.ts.map +1 -0
  18. package/dist/backends/local-jsonl-circuit-breaker.test.js +180 -0
  19. package/dist/backends/local-jsonl-circuit-breaker.test.js.map +1 -0
  20. package/dist/backends/local-jsonl-export.test.d.ts +2 -0
  21. package/dist/backends/local-jsonl-export.test.d.ts.map +1 -0
  22. package/dist/backends/local-jsonl-export.test.js +704 -0
  23. package/dist/backends/local-jsonl-export.test.js.map +1 -0
  24. package/dist/backends/local-jsonl-index.test.d.ts +2 -0
  25. package/dist/backends/local-jsonl-index.test.d.ts.map +1 -0
  26. package/dist/backends/local-jsonl-index.test.js +554 -0
  27. package/dist/backends/local-jsonl-index.test.js.map +1 -0
  28. package/dist/backends/local-jsonl-logs.test.d.ts +2 -0
  29. package/dist/backends/local-jsonl-logs.test.d.ts.map +1 -0
  30. package/dist/backends/local-jsonl-logs.test.js +612 -0
  31. package/dist/backends/local-jsonl-logs.test.js.map +1 -0
  32. package/dist/backends/local-jsonl-metrics.test.d.ts +2 -0
  33. package/dist/backends/local-jsonl-metrics.test.d.ts.map +1 -0
  34. package/dist/backends/local-jsonl-metrics.test.js +876 -0
  35. package/dist/backends/local-jsonl-metrics.test.js.map +1 -0
  36. package/dist/backends/local-jsonl-traces.test.d.ts +2 -0
  37. package/dist/backends/local-jsonl-traces.test.d.ts.map +1 -0
  38. package/dist/backends/local-jsonl-traces.test.js +1729 -0
  39. package/dist/backends/local-jsonl-traces.test.js.map +1 -0
  40. package/dist/backends/local-jsonl.d.ts +9 -0
  41. package/dist/backends/local-jsonl.d.ts.map +1 -1
  42. package/dist/backends/local-jsonl.js +348 -227
  43. package/dist/backends/local-jsonl.js.map +1 -1
  44. package/dist/backends/local-jsonl.test.js +290 -21
  45. package/dist/backends/local-jsonl.test.js.map +1 -1
  46. package/dist/backends/signoz-api-circuit-breaker.test.d.ts +6 -0
  47. package/dist/backends/signoz-api-circuit-breaker.test.d.ts.map +1 -0
  48. package/dist/backends/signoz-api-circuit-breaker.test.js +548 -0
  49. package/dist/backends/signoz-api-circuit-breaker.test.js.map +1 -0
  50. package/dist/backends/signoz-api-rate-limiter.test.d.ts +6 -0
  51. package/dist/backends/signoz-api-rate-limiter.test.d.ts.map +1 -0
  52. package/dist/backends/signoz-api-rate-limiter.test.js +389 -0
  53. package/dist/backends/signoz-api-rate-limiter.test.js.map +1 -0
  54. package/dist/backends/signoz-api-ssrf.test.d.ts +6 -0
  55. package/dist/backends/signoz-api-ssrf.test.d.ts.map +1 -0
  56. package/dist/backends/signoz-api-ssrf.test.js +216 -0
  57. package/dist/backends/signoz-api-ssrf.test.js.map +1 -0
  58. package/dist/backends/signoz-api-test-helpers.d.ts +80 -0
  59. package/dist/backends/signoz-api-test-helpers.d.ts.map +1 -0
  60. package/dist/backends/signoz-api-test-helpers.js +79 -0
  61. package/dist/backends/signoz-api-test-helpers.js.map +1 -0
  62. package/dist/backends/signoz-api.d.ts +16 -0
  63. package/dist/backends/signoz-api.d.ts.map +1 -1
  64. package/dist/backends/signoz-api.js +71 -9
  65. package/dist/backends/signoz-api.js.map +1 -1
  66. package/dist/backends/signoz-api.test.d.ts +9 -0
  67. package/dist/backends/signoz-api.test.d.ts.map +1 -1
  68. package/dist/backends/signoz-api.test.js +14 -1027
  69. package/dist/backends/signoz-api.test.js.map +1 -1
  70. package/dist/lib/cache.d.ts +47 -1
  71. package/dist/lib/cache.d.ts.map +1 -1
  72. package/dist/lib/cache.js +40 -3
  73. package/dist/lib/cache.js.map +1 -1
  74. package/dist/lib/circuit-breaker.d.ts +83 -0
  75. package/dist/lib/circuit-breaker.d.ts.map +1 -0
  76. package/dist/lib/circuit-breaker.js +125 -0
  77. package/dist/lib/circuit-breaker.js.map +1 -0
  78. package/dist/lib/circuit-breaker.test.d.ts +2 -0
  79. package/dist/lib/circuit-breaker.test.d.ts.map +1 -0
  80. package/dist/lib/circuit-breaker.test.js +263 -0
  81. package/dist/lib/circuit-breaker.test.js.map +1 -0
  82. package/dist/lib/constants-symlink.test.d.ts +12 -0
  83. package/dist/lib/constants-symlink.test.d.ts.map +1 -0
  84. package/dist/lib/constants-symlink.test.js +357 -0
  85. package/dist/lib/constants-symlink.test.js.map +1 -0
  86. package/dist/lib/constants.d.ts +43 -0
  87. package/dist/lib/constants.d.ts.map +1 -1
  88. package/dist/lib/constants.js +154 -24
  89. package/dist/lib/constants.js.map +1 -1
  90. package/dist/lib/constants.test.js +156 -7
  91. package/dist/lib/constants.test.js.map +1 -1
  92. package/dist/lib/edge-cases.test.d.ts +11 -0
  93. package/dist/lib/edge-cases.test.d.ts.map +1 -0
  94. package/dist/lib/edge-cases.test.js +634 -0
  95. package/dist/lib/edge-cases.test.js.map +1 -0
  96. package/dist/lib/error-sanitizer.d.ts.map +1 -1
  97. package/dist/lib/error-sanitizer.js +62 -26
  98. package/dist/lib/error-sanitizer.js.map +1 -1
  99. package/dist/lib/error-sanitizer.test.js +186 -0
  100. package/dist/lib/error-sanitizer.test.js.map +1 -1
  101. package/dist/lib/error-types.d.ts +54 -0
  102. package/dist/lib/error-types.d.ts.map +1 -0
  103. package/dist/lib/error-types.js +154 -0
  104. package/dist/lib/error-types.js.map +1 -0
  105. package/dist/lib/error-types.test.d.ts +2 -0
  106. package/dist/lib/error-types.test.d.ts.map +1 -0
  107. package/dist/lib/error-types.test.js +196 -0
  108. package/dist/lib/error-types.test.js.map +1 -0
  109. package/dist/lib/file-utils.test.js +3 -3
  110. package/dist/lib/file-utils.test.js.map +1 -1
  111. package/dist/lib/indexer.test.js +157 -24
  112. package/dist/lib/indexer.test.js.map +1 -1
  113. package/dist/lib/input-validator.d.ts +17 -0
  114. package/dist/lib/input-validator.d.ts.map +1 -1
  115. package/dist/lib/input-validator.fuzz.test.d.ts +12 -0
  116. package/dist/lib/input-validator.fuzz.test.d.ts.map +1 -0
  117. package/dist/lib/input-validator.fuzz.test.js +290 -0
  118. package/dist/lib/input-validator.fuzz.test.js.map +1 -0
  119. package/dist/lib/input-validator.js +62 -3
  120. package/dist/lib/input-validator.js.map +1 -1
  121. package/dist/lib/input-validator.test.js +129 -1
  122. package/dist/lib/input-validator.test.js.map +1 -1
  123. package/dist/lib/logger.d.ts +46 -0
  124. package/dist/lib/logger.d.ts.map +1 -0
  125. package/dist/lib/logger.js +81 -0
  126. package/dist/lib/logger.js.map +1 -0
  127. package/dist/lib/logger.test.d.ts +2 -0
  128. package/dist/lib/logger.test.d.ts.map +1 -0
  129. package/dist/lib/logger.test.js +122 -0
  130. package/dist/lib/logger.test.js.map +1 -0
  131. package/dist/lib/query-sanitizer.d.ts +51 -3
  132. package/dist/lib/query-sanitizer.d.ts.map +1 -1
  133. package/dist/lib/query-sanitizer.js +105 -31
  134. package/dist/lib/query-sanitizer.js.map +1 -1
  135. package/dist/lib/query-sanitizer.test.js +102 -1
  136. package/dist/lib/query-sanitizer.test.js.map +1 -1
  137. package/dist/lib/server-utils.d.ts +88 -0
  138. package/dist/lib/server-utils.d.ts.map +1 -0
  139. package/dist/lib/server-utils.js +173 -0
  140. package/dist/lib/server-utils.js.map +1 -0
  141. package/dist/lib/shared-schemas.d.ts +81 -0
  142. package/dist/lib/shared-schemas.d.ts.map +1 -0
  143. package/dist/lib/shared-schemas.js +80 -0
  144. package/dist/lib/shared-schemas.js.map +1 -0
  145. package/dist/lib/shared-schemas.test.d.ts +5 -0
  146. package/dist/lib/shared-schemas.test.d.ts.map +1 -0
  147. package/dist/lib/shared-schemas.test.js +106 -0
  148. package/dist/lib/shared-schemas.test.js.map +1 -0
  149. package/dist/lib/toon-encoder.d.ts +26 -0
  150. package/dist/lib/toon-encoder.d.ts.map +1 -0
  151. package/dist/lib/toon-encoder.js +61 -0
  152. package/dist/lib/toon-encoder.js.map +1 -0
  153. package/dist/lib/toon-encoder.test.d.ts +5 -0
  154. package/dist/lib/toon-encoder.test.d.ts.map +1 -0
  155. package/dist/lib/toon-encoder.test.js +85 -0
  156. package/dist/lib/toon-encoder.test.js.map +1 -0
  157. package/dist/server.d.ts +1 -49
  158. package/dist/server.d.ts.map +1 -1
  159. package/dist/server.js +154 -162
  160. package/dist/server.js.map +1 -1
  161. package/dist/server.test.js +198 -7
  162. package/dist/server.test.js.map +1 -1
  163. package/dist/test-helpers/env-utils.d.ts +87 -0
  164. package/dist/test-helpers/env-utils.d.ts.map +1 -0
  165. package/dist/test-helpers/env-utils.js +132 -0
  166. package/dist/test-helpers/env-utils.js.map +1 -0
  167. package/dist/test-helpers/file-utils.d.ts +67 -0
  168. package/dist/test-helpers/file-utils.d.ts.map +1 -1
  169. package/dist/test-helpers/file-utils.js +165 -2
  170. package/dist/test-helpers/file-utils.js.map +1 -1
  171. package/dist/test-helpers/fuzz-generators.d.ts +58 -0
  172. package/dist/test-helpers/fuzz-generators.d.ts.map +1 -0
  173. package/dist/test-helpers/fuzz-generators.js +216 -0
  174. package/dist/test-helpers/fuzz-generators.js.map +1 -0
  175. package/dist/test-helpers/index.d.ts +11 -0
  176. package/dist/test-helpers/index.d.ts.map +1 -0
  177. package/dist/test-helpers/index.js +30 -0
  178. package/dist/test-helpers/index.js.map +1 -0
  179. package/dist/test-helpers/memfs-utils.d.ts +181 -0
  180. package/dist/test-helpers/memfs-utils.d.ts.map +1 -0
  181. package/dist/test-helpers/memfs-utils.js +292 -0
  182. package/dist/test-helpers/memfs-utils.js.map +1 -0
  183. package/dist/test-helpers/memfs-utils.test.d.ts +5 -0
  184. package/dist/test-helpers/memfs-utils.test.d.ts.map +1 -0
  185. package/dist/test-helpers/memfs-utils.test.js +338 -0
  186. package/dist/test-helpers/memfs-utils.test.js.map +1 -0
  187. package/dist/test-helpers/mock-backends.d.ts +113 -2
  188. package/dist/test-helpers/mock-backends.d.ts.map +1 -1
  189. package/dist/test-helpers/mock-backends.js +199 -3
  190. package/dist/test-helpers/mock-backends.js.map +1 -1
  191. package/dist/test-helpers/mock-backends.test.d.ts +5 -0
  192. package/dist/test-helpers/mock-backends.test.d.ts.map +1 -0
  193. package/dist/test-helpers/mock-backends.test.js +368 -0
  194. package/dist/test-helpers/mock-backends.test.js.map +1 -0
  195. package/dist/test-helpers/race-condition-helpers.d.ts +85 -0
  196. package/dist/test-helpers/race-condition-helpers.d.ts.map +1 -0
  197. package/dist/test-helpers/race-condition-helpers.js +279 -0
  198. package/dist/test-helpers/race-condition-helpers.js.map +1 -0
  199. package/dist/test-helpers/schema-validators.d.ts +32 -0
  200. package/dist/test-helpers/schema-validators.d.ts.map +1 -0
  201. package/dist/test-helpers/schema-validators.js +125 -0
  202. package/dist/test-helpers/schema-validators.js.map +1 -0
  203. package/dist/test-helpers/test-data-builders.d.ts +260 -0
  204. package/dist/test-helpers/test-data-builders.d.ts.map +1 -0
  205. package/dist/test-helpers/test-data-builders.js +337 -0
  206. package/dist/test-helpers/test-data-builders.js.map +1 -0
  207. package/dist/test-helpers/test-data-builders.test.d.ts +2 -0
  208. package/dist/test-helpers/test-data-builders.test.d.ts.map +1 -0
  209. package/dist/test-helpers/test-data-builders.test.js +306 -0
  210. package/dist/test-helpers/test-data-builders.test.js.map +1 -0
  211. package/dist/test-helpers/tool-validators.d.ts +28 -0
  212. package/dist/test-helpers/tool-validators.d.ts.map +1 -0
  213. package/dist/test-helpers/tool-validators.js +71 -0
  214. package/dist/test-helpers/tool-validators.js.map +1 -0
  215. package/dist/tools/context-stats.d.ts +1 -0
  216. package/dist/tools/context-stats.d.ts.map +1 -1
  217. package/dist/tools/context-stats.js +9 -5
  218. package/dist/tools/context-stats.js.map +1 -1
  219. package/dist/tools/context-stats.test.js +24 -10
  220. package/dist/tools/context-stats.test.js.map +1 -1
  221. package/dist/tools/get-trace-url.js +2 -2
  222. package/dist/tools/get-trace-url.js.map +1 -1
  223. package/dist/tools/health-check.js +2 -2
  224. package/dist/tools/health-check.js.map +1 -1
  225. package/dist/tools/query-evaluations.d.ts +21 -18
  226. package/dist/tools/query-evaluations.d.ts.map +1 -1
  227. package/dist/tools/query-evaluations.js +33 -19
  228. package/dist/tools/query-evaluations.js.map +1 -1
  229. package/dist/tools/query-evaluations.test.js +60 -63
  230. package/dist/tools/query-evaluations.test.js.map +1 -1
  231. package/dist/tools/query-llm-events.d.ts +19 -15
  232. package/dist/tools/query-llm-events.d.ts.map +1 -1
  233. package/dist/tools/query-llm-events.js +31 -15
  234. package/dist/tools/query-llm-events.js.map +1 -1
  235. package/dist/tools/query-llm-events.test.js +277 -12
  236. package/dist/tools/query-llm-events.test.js.map +1 -1
  237. package/dist/tools/query-logs.d.ts +22 -22
  238. package/dist/tools/query-logs.d.ts.map +1 -1
  239. package/dist/tools/query-logs.js +9 -9
  240. package/dist/tools/query-logs.js.map +1 -1
  241. package/dist/tools/query-logs.test.js +19 -72
  242. package/dist/tools/query-logs.test.js.map +1 -1
  243. package/dist/tools/query-metrics.d.ts +14 -14
  244. package/dist/tools/query-metrics.d.ts.map +1 -1
  245. package/dist/tools/query-metrics.js +9 -9
  246. package/dist/tools/query-metrics.js.map +1 -1
  247. package/dist/tools/query-metrics.test.js +12 -25
  248. package/dist/tools/query-metrics.test.js.map +1 -1
  249. package/dist/tools/query-traces.d.ts +28 -28
  250. package/dist/tools/query-traces.d.ts.map +1 -1
  251. package/dist/tools/query-traces.js +18 -18
  252. package/dist/tools/query-traces.js.map +1 -1
  253. package/dist/tools/query-traces.test.js +58 -54
  254. package/dist/tools/query-traces.test.js.map +1 -1
  255. package/dist/tools/setup-claudeignore.js +7 -7
  256. package/dist/tools/setup-claudeignore.js.map +1 -1
  257. package/dist/tools/setup-claudeignore.test.js +4 -25
  258. package/dist/tools/setup-claudeignore.test.js.map +1 -1
  259. package/package.json +4 -2
@@ -0,0 +1,338 @@
1
+ /**
2
+ * Tests for in-memory file system utilities
3
+ */
4
+ import { describe, it, after, beforeEach } from 'node:test';
5
+ import * as assert from 'node:assert';
6
+ import { createMemFs, writeJsonlMem, writeFileMem, readFileMem, readJsonlMem, readJsonlMemWithStats, streamJsonlMem, existsMem, mkdirMem, readdirMem, listFilesMem, listFilesInRangeMem, getTestDateMem, getSharedMemFs, resetSharedMemFs, removeSharedMemFs, cleanupAllSharedMemFs, } from './memfs-utils.js';
7
+ describe('memfs-utils', () => {
8
+ describe('createMemFs', () => {
9
+ it('should create isolated memfs instance', () => {
10
+ const mfs1 = createMemFs();
11
+ const mfs2 = createMemFs();
12
+ assert.ok(mfs1.dir !== mfs2.dir, 'Each instance should have unique directory');
13
+ assert.ok(mfs1.fs !== mfs2.fs, 'Each instance should have unique fs');
14
+ });
15
+ it('should create base directory on initialization', () => {
16
+ const mfs = createMemFs();
17
+ assert.ok(mfs.vol.existsSync(mfs.dir), 'Base directory should exist');
18
+ });
19
+ it('should support custom prefix', () => {
20
+ const mfs = createMemFs('custom');
21
+ assert.ok(mfs.dir.includes('custom'), 'Directory should include prefix');
22
+ });
23
+ });
24
+ describe('writeJsonlMem and readJsonlMem', () => {
25
+ let mfs;
26
+ beforeEach(() => {
27
+ mfs = createMemFs('jsonl');
28
+ });
29
+ it('should write and read JSONL data', () => {
30
+ const data = [
31
+ { id: 1, name: 'first' },
32
+ { id: 2, name: 'second' },
33
+ ];
34
+ writeJsonlMem(mfs, 'test.jsonl', data);
35
+ const result = readJsonlMem(mfs, 'test.jsonl');
36
+ assert.strictEqual(result.length, 2);
37
+ assert.deepStrictEqual(result[0], { id: 1, name: 'first' });
38
+ assert.deepStrictEqual(result[1], { id: 2, name: 'second' });
39
+ });
40
+ it('should handle empty array', () => {
41
+ writeJsonlMem(mfs, 'empty.jsonl', []);
42
+ const result = readJsonlMem(mfs, 'empty.jsonl');
43
+ assert.strictEqual(result.length, 0);
44
+ });
45
+ it('should skip invalid JSON lines', () => {
46
+ writeFileMem(mfs, 'mixed.jsonl', '{"id":1}\ninvalid json\n{"id":2}');
47
+ const result = readJsonlMem(mfs, 'mixed.jsonl');
48
+ assert.strictEqual(result.length, 2);
49
+ assert.strictEqual(result[0].id, 1);
50
+ assert.strictEqual(result[1].id, 2);
51
+ });
52
+ });
53
+ describe('readJsonlMemWithStats', () => {
54
+ let mfs;
55
+ beforeEach(() => {
56
+ mfs = createMemFs('stats');
57
+ });
58
+ it('should track line statistics', () => {
59
+ writeFileMem(mfs, 'test.jsonl', '{"id":1}\n\ninvalid\n{"id":2}');
60
+ const { data, stats } = readJsonlMemWithStats(mfs, 'test.jsonl');
61
+ assert.strictEqual(data.length, 2);
62
+ assert.strictEqual(stats.totalLines, 4);
63
+ assert.strictEqual(stats.emptyLines, 1);
64
+ assert.strictEqual(stats.skippedLines, 1);
65
+ });
66
+ });
67
+ describe('streamJsonlMem', () => {
68
+ let mfs;
69
+ beforeEach(() => {
70
+ mfs = createMemFs('stream');
71
+ });
72
+ it('should stream JSONL data', async () => {
73
+ const data = [
74
+ { id: 1, value: 'a' },
75
+ { id: 2, value: 'b' },
76
+ { id: 3, value: 'c' },
77
+ ];
78
+ writeJsonlMem(mfs, 'stream.jsonl', data);
79
+ const results = [];
80
+ for await (const item of streamJsonlMem(mfs, 'stream.jsonl')) {
81
+ results.push(item);
82
+ }
83
+ assert.strictEqual(results.length, 3);
84
+ assert.deepStrictEqual(results, data);
85
+ });
86
+ it('should skip invalid lines when streaming', async () => {
87
+ writeFileMem(mfs, 'mixed.jsonl', '{"id":1}\nbad line\n{"id":2}');
88
+ const results = [];
89
+ for await (const item of streamJsonlMem(mfs, 'mixed.jsonl')) {
90
+ results.push(item);
91
+ }
92
+ assert.strictEqual(results.length, 2);
93
+ });
94
+ });
95
+ describe('file operations', () => {
96
+ let mfs;
97
+ beforeEach(() => {
98
+ mfs = createMemFs('fileops');
99
+ });
100
+ it('should check file existence', () => {
101
+ assert.strictEqual(existsMem(mfs, 'nonexistent.txt'), false);
102
+ writeFileMem(mfs, 'exists.txt', 'content');
103
+ assert.strictEqual(existsMem(mfs, 'exists.txt'), true);
104
+ });
105
+ it('should create subdirectories', () => {
106
+ mkdirMem(mfs, 'subdir/nested');
107
+ writeFileMem(mfs, 'subdir/nested/file.txt', 'nested content');
108
+ const content = readFileMem(mfs, 'subdir/nested/file.txt');
109
+ assert.strictEqual(content, 'nested content');
110
+ });
111
+ it('should list directory contents', () => {
112
+ writeFileMem(mfs, 'file1.txt', 'a');
113
+ writeFileMem(mfs, 'file2.txt', 'b');
114
+ mkdirMem(mfs, 'subdir');
115
+ const files = readdirMem(mfs);
116
+ assert.ok(files.includes('file1.txt'));
117
+ assert.ok(files.includes('file2.txt'));
118
+ assert.ok(files.includes('subdir'));
119
+ });
120
+ });
121
+ describe('listFilesMem', () => {
122
+ let mfs;
123
+ beforeEach(() => {
124
+ mfs = createMemFs('listfiles');
125
+ });
126
+ it('should list files matching prefix', () => {
127
+ writeFileMem(mfs, 'traces-2026-01-28.jsonl', '{}');
128
+ writeFileMem(mfs, 'traces-2026-01-29.jsonl', '{}');
129
+ writeFileMem(mfs, 'logs-2026-01-28.jsonl', '{}');
130
+ const traces = listFilesMem(mfs, 'traces-');
131
+ assert.strictEqual(traces.length, 2);
132
+ assert.ok(traces.includes('traces-2026-01-28.jsonl'));
133
+ assert.ok(traces.includes('traces-2026-01-29.jsonl'));
134
+ const logs = listFilesMem(mfs, 'logs-');
135
+ assert.strictEqual(logs.length, 1);
136
+ });
137
+ it('should return sorted files', () => {
138
+ writeFileMem(mfs, 'traces-2026-01-31.jsonl', '{}');
139
+ writeFileMem(mfs, 'traces-2026-01-28.jsonl', '{}');
140
+ writeFileMem(mfs, 'traces-2026-01-30.jsonl', '{}');
141
+ const traces = listFilesMem(mfs, 'traces-');
142
+ assert.deepStrictEqual(traces, [
143
+ 'traces-2026-01-28.jsonl',
144
+ 'traces-2026-01-30.jsonl',
145
+ 'traces-2026-01-31.jsonl',
146
+ ]);
147
+ });
148
+ });
149
+ describe('listFilesInRangeMem', () => {
150
+ let mfs;
151
+ beforeEach(() => {
152
+ mfs = createMemFs('daterange');
153
+ writeFileMem(mfs, 'traces-2026-01-28.jsonl', '{}');
154
+ writeFileMem(mfs, 'traces-2026-01-29.jsonl', '{}');
155
+ writeFileMem(mfs, 'traces-2026-01-30.jsonl', '{}');
156
+ writeFileMem(mfs, 'traces-2026-01-31.jsonl', '{}');
157
+ });
158
+ it('should filter by date range', () => {
159
+ const files = listFilesInRangeMem(mfs, 'traces', '2026-01-29', '2026-01-30');
160
+ assert.strictEqual(files.length, 2);
161
+ assert.ok(files[0].includes('2026-01-29'));
162
+ assert.ok(files[1].includes('2026-01-30'));
163
+ });
164
+ it('should return all files when no date range', () => {
165
+ const files = listFilesInRangeMem(mfs, 'traces');
166
+ assert.strictEqual(files.length, 4);
167
+ });
168
+ it('should filter by start date only', () => {
169
+ const files = listFilesInRangeMem(mfs, 'traces', '2026-01-30');
170
+ assert.strictEqual(files.length, 2);
171
+ });
172
+ it('should filter by end date only', () => {
173
+ const files = listFilesInRangeMem(mfs, 'traces', undefined, '2026-01-29');
174
+ assert.strictEqual(files.length, 2);
175
+ });
176
+ });
177
+ describe('reset', () => {
178
+ it('should clear all files on reset', () => {
179
+ const mfs = createMemFs('reset');
180
+ writeFileMem(mfs, 'file1.txt', 'a');
181
+ writeFileMem(mfs, 'file2.txt', 'b');
182
+ assert.strictEqual(readdirMem(mfs).length, 2);
183
+ mfs.reset();
184
+ assert.strictEqual(readdirMem(mfs).length, 0);
185
+ assert.ok(mfs.vol.existsSync(mfs.dir), 'Base directory should still exist');
186
+ });
187
+ });
188
+ describe('shared memfs instances', () => {
189
+ const SUITE_ID = 'test-shared-suite';
190
+ after(() => {
191
+ removeSharedMemFs(SUITE_ID);
192
+ });
193
+ it('should return same instance for same suite ID', () => {
194
+ const mfs1 = getSharedMemFs(SUITE_ID);
195
+ const mfs2 = getSharedMemFs(SUITE_ID);
196
+ assert.strictEqual(mfs1, mfs2);
197
+ });
198
+ it('should reset shared instance files', () => {
199
+ const mfs = getSharedMemFs(SUITE_ID);
200
+ writeFileMem(mfs, 'shared.txt', 'content');
201
+ assert.ok(existsMem(mfs, 'shared.txt'));
202
+ resetSharedMemFs(SUITE_ID);
203
+ assert.strictEqual(existsMem(mfs, 'shared.txt'), false);
204
+ });
205
+ });
206
+ describe('getTestDateMem', () => {
207
+ it('should return date in YYYY-MM-DD format', () => {
208
+ const date = getTestDateMem();
209
+ assert.match(date, /^\d{4}-\d{2}-\d{2}$/);
210
+ });
211
+ });
212
+ describe('cleanupAllSharedMemFs', () => {
213
+ it('should clear all shared instances', () => {
214
+ getSharedMemFs('suite1');
215
+ getSharedMemFs('suite2');
216
+ cleanupAllSharedMemFs();
217
+ // After cleanup, getting same IDs should create new instances
218
+ const newMfs = getSharedMemFs('suite1');
219
+ assert.ok(newMfs, 'Should be able to create new instance after cleanup');
220
+ });
221
+ });
222
+ });
223
+ describe('memfs-utils: realistic test patterns', () => {
224
+ describe('trace data pattern', () => {
225
+ let mfs;
226
+ beforeEach(() => {
227
+ mfs = createMemFs('traces');
228
+ });
229
+ it('should handle trace span data', () => {
230
+ const today = getTestDateMem();
231
+ const spans = [
232
+ {
233
+ traceId: 'trace1',
234
+ spanId: 'span1',
235
+ name: 'http-request',
236
+ startTime: [1700000000, 0],
237
+ attributes: { 'http.method': 'GET' },
238
+ },
239
+ {
240
+ traceId: 'trace1',
241
+ spanId: 'span2',
242
+ name: 'db-query',
243
+ startTime: [1700000001, 0],
244
+ attributes: { 'db.system': 'postgres' },
245
+ },
246
+ ];
247
+ writeJsonlMem(mfs, `traces-${today}.jsonl`, spans);
248
+ const loaded = readJsonlMem(mfs, `traces-${today}.jsonl`);
249
+ assert.strictEqual(loaded.length, 2);
250
+ assert.strictEqual(loaded[0].traceId, 'trace1');
251
+ assert.strictEqual(loaded[1].name, 'db-query');
252
+ });
253
+ it('should handle trace data filtering pattern', async () => {
254
+ const spans = Array.from({ length: 100 }, (_, i) => ({
255
+ traceId: `trace-${i % 10}`,
256
+ spanId: `span-${i}`,
257
+ name: i % 2 === 0 ? 'http-request' : 'db-query',
258
+ startTime: [1700000000 + i, 0],
259
+ }));
260
+ writeJsonlMem(mfs, 'traces-2026-01-31.jsonl', spans);
261
+ // Simulate filtering by traceId using streaming
262
+ const filteredSpans = [];
263
+ for await (const span of streamJsonlMem(mfs, 'traces-2026-01-31.jsonl')) {
264
+ if (span.traceId === 'trace-5') {
265
+ filteredSpans.push(span);
266
+ }
267
+ }
268
+ assert.strictEqual(filteredSpans.length, 10);
269
+ assert.ok(filteredSpans.every(s => s.traceId === 'trace-5'));
270
+ });
271
+ });
272
+ describe('log data pattern', () => {
273
+ let mfs;
274
+ beforeEach(() => {
275
+ mfs = createMemFs('logs');
276
+ });
277
+ it('should handle log record data', () => {
278
+ const logs = [
279
+ { timestamp: '2026-01-31T10:00:00Z', severityText: 'INFO', body: 'Application started' },
280
+ { timestamp: '2026-01-31T10:00:01Z', severityText: 'ERROR', body: 'Connection failed' },
281
+ ];
282
+ writeJsonlMem(mfs, 'logs-2026-01-31.jsonl', logs);
283
+ const loaded = readJsonlMem(mfs, 'logs-2026-01-31.jsonl');
284
+ assert.strictEqual(loaded.length, 2);
285
+ assert.strictEqual(loaded[1].severityText, 'ERROR');
286
+ });
287
+ });
288
+ describe('index data pattern', () => {
289
+ let mfs;
290
+ beforeEach(() => {
291
+ mfs = createMemFs('index');
292
+ });
293
+ it('should handle index file storage', () => {
294
+ // Simulate index structure
295
+ const index = {
296
+ version: 1,
297
+ sourceFile: '/path/to/traces.jsonl',
298
+ sourceMtime: Date.now(),
299
+ entries: [
300
+ { lineNumber: 1, timestamp: 1700000000000, traceId: 'trace1', spanName: 'op1' },
301
+ { lineNumber: 2, timestamp: 1700000001000, traceId: 'trace2', spanName: 'op2' },
302
+ ],
303
+ };
304
+ writeFileMem(mfs, 'traces.jsonl.idx', JSON.stringify(index));
305
+ const loaded = JSON.parse(readFileMem(mfs, 'traces.jsonl.idx'));
306
+ assert.strictEqual(loaded.version, 1);
307
+ assert.strictEqual(loaded.entries.length, 2);
308
+ });
309
+ });
310
+ describe('multi-file query pattern', () => {
311
+ let mfs;
312
+ beforeEach(() => {
313
+ mfs = createMemFs('multifile');
314
+ // Create files for multiple dates
315
+ for (let day = 28; day <= 31; day++) {
316
+ const date = `2026-01-${day}`;
317
+ const spans = [{ traceId: `trace-${day}`, spanId: 's1', name: 'op', startTime: [1700000000, 0] }];
318
+ writeJsonlMem(mfs, `traces-${date}.jsonl`, spans);
319
+ }
320
+ });
321
+ it('should query across date range', async () => {
322
+ const files = listFilesInRangeMem(mfs, 'traces', '2026-01-29', '2026-01-30');
323
+ assert.strictEqual(files.length, 2);
324
+ // Aggregate results from all files
325
+ const allSpans = [];
326
+ for (const file of files) {
327
+ const filename = file.split('/').pop();
328
+ for await (const span of streamJsonlMem(mfs, filename)) {
329
+ allSpans.push(span);
330
+ }
331
+ }
332
+ assert.strictEqual(allSpans.length, 2);
333
+ assert.ok(allSpans.some(s => s.traceId === 'trace-29'));
334
+ assert.ok(allSpans.some(s => s.traceId === 'trace-30'));
335
+ });
336
+ });
337
+ });
338
+ //# sourceMappingURL=memfs-utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memfs-utils.test.js","sourceRoot":"","sources":["../../src/test-helpers/memfs-utils.test.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,136 @@
1
1
  /**
2
2
  * Shared mock backend factories for testing
3
+ *
4
+ * Provides type-safe factory functions for creating mock TelemetryBackend instances.
5
+ * Uses discriminated unions and type-specific stores to avoid unsafe type assertions.
3
6
  */
4
- import type { TelemetryBackend } from '../backends/index.js';
7
+ import type { TelemetryBackend, TraceSpan, LogRecord, MetricDataPoint, LLMEvent, EvaluationResult } from '../backends/index.js';
5
8
  /**
6
- * Mock data store for local and signoz backends
9
+ * Type-safe store for trace spans
10
+ */
11
+ export interface TraceDataStore {
12
+ local: TraceSpan[];
13
+ signoz: TraceSpan[];
14
+ }
15
+ /**
16
+ * Type-safe store for log records
17
+ */
18
+ export interface LogDataStore {
19
+ local: LogRecord[];
20
+ signoz: LogRecord[];
21
+ }
22
+ /**
23
+ * Type-safe store for metric data points
24
+ */
25
+ export interface MetricDataStore {
26
+ local: MetricDataPoint[];
27
+ signoz: MetricDataPoint[];
28
+ }
29
+ /**
30
+ * Type-safe store for LLM events
31
+ */
32
+ export interface LLMEventDataStore {
33
+ local: LLMEvent[];
34
+ signoz: LLMEvent[];
35
+ }
36
+ /**
37
+ * Type-safe store for evaluation results
38
+ */
39
+ export interface EvaluationDataStore {
40
+ local: EvaluationResult[];
41
+ signoz: EvaluationResult[];
42
+ }
43
+ /**
44
+ * Generic mock data store for local and signoz backends
45
+ * @deprecated Use type-specific stores (TraceDataStore, LogDataStore, MetricDataStore) for better type safety
7
46
  */
8
47
  export interface MockDataStore<T> {
9
48
  local: T[];
10
49
  signoz: T[];
11
50
  }
51
+ /**
52
+ * Create a type-safe mock backend for trace data
53
+ * @param store - Type-safe trace data store
54
+ * @param source - Which source to read from ('local' or 'signoz')
55
+ */
56
+ export declare function createTraceBackend(store: TraceDataStore, source: 'local' | 'signoz'): TelemetryBackend;
57
+ /**
58
+ * Create a type-safe mock backend for log data
59
+ * @param store - Type-safe log data store
60
+ * @param source - Which source to read from ('local' or 'signoz')
61
+ */
62
+ export declare function createLogBackend(store: LogDataStore, source: 'local' | 'signoz'): TelemetryBackend;
63
+ /**
64
+ * Create a type-safe mock backend for metric data
65
+ * @param store - Type-safe metric data store
66
+ * @param source - Which source to read from ('local' or 'signoz')
67
+ */
68
+ export declare function createMetricBackend(store: MetricDataStore, source: 'local' | 'signoz'): TelemetryBackend;
69
+ /**
70
+ * Get type-safe mock options for trace backends
71
+ * @param store - Type-safe trace data store
72
+ */
73
+ export declare function getTraceBackendOptions(store: TraceDataStore): {
74
+ localBackend: TelemetryBackend;
75
+ signozBackend: TelemetryBackend;
76
+ };
77
+ /**
78
+ * Get type-safe mock options for log backends
79
+ * @param store - Type-safe log data store
80
+ */
81
+ export declare function getLogBackendOptions(store: LogDataStore): {
82
+ localBackend: TelemetryBackend;
83
+ signozBackend: TelemetryBackend;
84
+ };
85
+ /**
86
+ * Get type-safe mock options for metric backends
87
+ * @param store - Type-safe metric data store
88
+ */
89
+ export declare function getMetricBackendOptions(store: MetricDataStore): {
90
+ localBackend: TelemetryBackend;
91
+ signozBackend: TelemetryBackend;
92
+ };
93
+ /**
94
+ * Create a type-safe mock backend for LLM event data
95
+ * @param store - Type-safe LLM event data store
96
+ * @param source - Which source to read from ('local' or 'signoz')
97
+ */
98
+ export declare function createLLMEventBackend(store: LLMEventDataStore, source: 'local' | 'signoz'): TelemetryBackend;
99
+ /**
100
+ * Create a type-safe mock backend for evaluation data
101
+ * @param store - Type-safe evaluation data store
102
+ * @param source - Which source to read from ('local' or 'signoz')
103
+ */
104
+ export declare function createEvaluationBackend(store: EvaluationDataStore, source: 'local' | 'signoz'): TelemetryBackend;
105
+ /**
106
+ * Get type-safe mock options for LLM event backends
107
+ * @param store - Type-safe LLM event data store
108
+ */
109
+ export declare function getLLMEventBackendOptions(store: LLMEventDataStore): {
110
+ localBackend: TelemetryBackend;
111
+ };
112
+ /**
113
+ * Get type-safe mock options for evaluation backends
114
+ * @param store - Type-safe evaluation data store
115
+ */
116
+ export declare function getEvaluationBackendOptions(store: EvaluationDataStore): {
117
+ localBackend: TelemetryBackend;
118
+ };
12
119
  /**
13
120
  * Create a mock TelemetryBackend that returns data from a mock store
121
+ * Uses runtime type guards to safely convert generic data to specific types.
122
+ *
14
123
  * @param store - Mock data store with local and signoz arrays
15
124
  * @param dataType - Type of data this backend returns
16
125
  * @param source - Which source to read from ('local' or 'signoz')
126
+ * @deprecated Use type-specific factories (createTraceBackend, createLogBackend, createMetricBackend) for compile-time type safety
17
127
  */
18
128
  export declare function createMockBackend<T>(store: MockDataStore<T>, dataType: 'traces' | 'logs' | 'metrics', source: 'local' | 'signoz'): TelemetryBackend;
19
129
  /**
20
130
  * Get mock options with both local and signoz backends
21
131
  * @param store - Mock data store with local and signoz arrays
22
132
  * @param dataType - Type of data these backends return
133
+ * @deprecated Use type-specific options (getTraceBackendOptions, getLogBackendOptions, getMetricBackendOptions) for compile-time type safety
23
134
  */
24
135
  export declare function getMockOptions<T>(store: MockDataStore<T>, dataType: 'traces' | 'logs' | 'metrics'): {
25
136
  localBackend: TelemetryBackend;
@@ -1 +1 @@
1
- {"version":3,"file":"mock-backends.d.ts","sourceRoot":"","sources":["../../src/test-helpers/mock-backends.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAIjB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,MAAM,EAAE,CAAC,EAAE,CAAC;CACb;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,EACvC,MAAM,EAAE,OAAO,GAAG,QAAQ,GACzB,gBAAgB,CAYlB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,GACtC;IAAE,YAAY,EAAE,gBAAgB,CAAC;IAAC,aAAa,EAAE,gBAAgB,CAAA;CAAE,CAKrE"}
1
+ {"version":3,"file":"mock-backends.d.ts","sourceRoot":"","sources":["../../src/test-helpers/mock-backends.ts"],"names":[],"mappings":"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"}