vesper-memory 0.3.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 (206) hide show
  1. package/.env.example +28 -0
  2. package/CHANGELOG.md +137 -0
  3. package/LICENSE +21 -0
  4. package/README.md +665 -0
  5. package/config/sqlite-schema.sql +413 -0
  6. package/dist/benchmark/index.d.ts +18 -0
  7. package/dist/benchmark/index.d.ts.map +1 -0
  8. package/dist/benchmark/index.js +19 -0
  9. package/dist/benchmark/index.js.map +1 -0
  10. package/dist/benchmark/metrics-collector.d.ts +90 -0
  11. package/dist/benchmark/metrics-collector.d.ts.map +1 -0
  12. package/dist/benchmark/metrics-collector.js +196 -0
  13. package/dist/benchmark/metrics-collector.js.map +1 -0
  14. package/dist/benchmark/report-generator.d.ts +35 -0
  15. package/dist/benchmark/report-generator.d.ts.map +1 -0
  16. package/dist/benchmark/report-generator.js +221 -0
  17. package/dist/benchmark/report-generator.js.map +1 -0
  18. package/dist/benchmark/runner.d.ts +30 -0
  19. package/dist/benchmark/runner.d.ts.map +1 -0
  20. package/dist/benchmark/runner.js +308 -0
  21. package/dist/benchmark/runner.js.map +1 -0
  22. package/dist/benchmark/scenarios/context-recall.d.ts +65 -0
  23. package/dist/benchmark/scenarios/context-recall.d.ts.map +1 -0
  24. package/dist/benchmark/scenarios/context-recall.js +180 -0
  25. package/dist/benchmark/scenarios/context-recall.js.map +1 -0
  26. package/dist/benchmark/scenarios/index.d.ts +34 -0
  27. package/dist/benchmark/scenarios/index.d.ts.map +1 -0
  28. package/dist/benchmark/scenarios/index.js +230 -0
  29. package/dist/benchmark/scenarios/index.js.map +1 -0
  30. package/dist/benchmark/statistics.d.ts +125 -0
  31. package/dist/benchmark/statistics.d.ts.map +1 -0
  32. package/dist/benchmark/statistics.js +520 -0
  33. package/dist/benchmark/statistics.js.map +1 -0
  34. package/dist/benchmark/types.d.ts +458 -0
  35. package/dist/benchmark/types.d.ts.map +1 -0
  36. package/dist/benchmark/types.js +297 -0
  37. package/dist/benchmark/types.js.map +1 -0
  38. package/dist/cli 2.js +583 -0
  39. package/dist/cli.d 2.ts +8 -0
  40. package/dist/cli.d.ts +8 -0
  41. package/dist/cli.d.ts 2.map +1 -0
  42. package/dist/cli.d.ts.map +1 -0
  43. package/dist/cli.js +583 -0
  44. package/dist/cli.js 2.map +1 -0
  45. package/dist/cli.js.map +1 -0
  46. package/dist/config/rate-limits.d.ts +76 -0
  47. package/dist/config/rate-limits.d.ts.map +1 -0
  48. package/dist/config/rate-limits.js +161 -0
  49. package/dist/config/rate-limits.js.map +1 -0
  50. package/dist/config 2/rate-limits.d.ts +76 -0
  51. package/dist/config 2/rate-limits.d.ts.map +1 -0
  52. package/dist/config 2/rate-limits.js +161 -0
  53. package/dist/config 2/rate-limits.js.map +1 -0
  54. package/dist/consolidation/pipeline.d.ts +52 -0
  55. package/dist/consolidation/pipeline.d.ts.map +1 -0
  56. package/dist/consolidation/pipeline.js +193 -0
  57. package/dist/consolidation/pipeline.js.map +1 -0
  58. package/dist/consolidation 2/pipeline.d.ts +52 -0
  59. package/dist/consolidation 2/pipeline.d.ts.map +1 -0
  60. package/dist/consolidation 2/pipeline.js +193 -0
  61. package/dist/consolidation 2/pipeline.js.map +1 -0
  62. package/dist/embeddings/client.d.ts +95 -0
  63. package/dist/embeddings/client.d.ts.map +1 -0
  64. package/dist/embeddings/client.js +162 -0
  65. package/dist/embeddings/client.js.map +1 -0
  66. package/dist/embeddings 2/client.d.ts +94 -0
  67. package/dist/embeddings 2/client.d.ts.map +1 -0
  68. package/dist/embeddings 2/client.js +144 -0
  69. package/dist/embeddings 2/client.js.map +1 -0
  70. package/dist/memory-layers/semantic-memory.d.ts +76 -0
  71. package/dist/memory-layers/semantic-memory.d.ts.map +1 -0
  72. package/dist/memory-layers/semantic-memory.js +231 -0
  73. package/dist/memory-layers/semantic-memory.js.map +1 -0
  74. package/dist/memory-layers/skill-library.d.ts +25 -0
  75. package/dist/memory-layers/skill-library.d.ts.map +1 -0
  76. package/dist/memory-layers/skill-library.js +54 -0
  77. package/dist/memory-layers/skill-library.js.map +1 -0
  78. package/dist/memory-layers/working-memory.d.ts +57 -0
  79. package/dist/memory-layers/working-memory.d.ts.map +1 -0
  80. package/dist/memory-layers/working-memory.js +153 -0
  81. package/dist/memory-layers/working-memory.js.map +1 -0
  82. package/dist/memory-layers 2/semantic-memory.d.ts +33 -0
  83. package/dist/memory-layers 2/semantic-memory.d.ts.map +1 -0
  84. package/dist/memory-layers 2/semantic-memory.js +114 -0
  85. package/dist/memory-layers 2/semantic-memory.js.map +1 -0
  86. package/dist/memory-layers 2/skill-library.d.ts +25 -0
  87. package/dist/memory-layers 2/skill-library.d.ts.map +1 -0
  88. package/dist/memory-layers 2/skill-library.js +54 -0
  89. package/dist/memory-layers 2/skill-library.js.map +1 -0
  90. package/dist/memory-layers 2/working-memory.d.ts +57 -0
  91. package/dist/memory-layers 2/working-memory.d.ts.map +1 -0
  92. package/dist/memory-layers 2/working-memory.js +153 -0
  93. package/dist/memory-layers 2/working-memory.js.map +1 -0
  94. package/dist/middleware/auth.d.ts +287 -0
  95. package/dist/middleware/auth.d.ts.map +1 -0
  96. package/dist/middleware/auth.js +610 -0
  97. package/dist/middleware/auth.js.map +1 -0
  98. package/dist/middleware 2/auth.d.ts +287 -0
  99. package/dist/middleware 2/auth.d.ts.map +1 -0
  100. package/dist/middleware 2/auth.js +610 -0
  101. package/dist/middleware 2/auth.js.map +1 -0
  102. package/dist/monitoring/health.d.ts +241 -0
  103. package/dist/monitoring/health.d.ts.map +1 -0
  104. package/dist/monitoring/health.js +649 -0
  105. package/dist/monitoring/health.js.map +1 -0
  106. package/dist/monitoring/metrics.d.ts +153 -0
  107. package/dist/monitoring/metrics.d.ts.map +1 -0
  108. package/dist/monitoring/metrics.js +349 -0
  109. package/dist/monitoring/metrics.js.map +1 -0
  110. package/dist/monitoring 2/health.d.ts +241 -0
  111. package/dist/monitoring 2/health.d.ts.map +1 -0
  112. package/dist/monitoring 2/health.js +649 -0
  113. package/dist/monitoring 2/health.js.map +1 -0
  114. package/dist/monitoring 2/metrics.d.ts +153 -0
  115. package/dist/monitoring 2/metrics.d.ts.map +1 -0
  116. package/dist/monitoring 2/metrics.js +349 -0
  117. package/dist/monitoring 2/metrics.js.map +1 -0
  118. package/dist/retrieval/hybrid-search.d.ts +186 -0
  119. package/dist/retrieval/hybrid-search.d.ts.map +1 -0
  120. package/dist/retrieval/hybrid-search.js +330 -0
  121. package/dist/retrieval/hybrid-search.js.map +1 -0
  122. package/dist/retrieval 2/hybrid-search.d.ts +186 -0
  123. package/dist/retrieval 2/hybrid-search.d.ts.map +1 -0
  124. package/dist/retrieval 2/hybrid-search.js +327 -0
  125. package/dist/retrieval 2/hybrid-search.js.map +1 -0
  126. package/dist/router/smart-router.d.ts +157 -0
  127. package/dist/router/smart-router.d.ts.map +1 -0
  128. package/dist/router/smart-router.js +524 -0
  129. package/dist/router/smart-router.js.map +1 -0
  130. package/dist/router 2/smart-router.d.ts +111 -0
  131. package/dist/router 2/smart-router.d.ts.map +1 -0
  132. package/dist/router 2/smart-router.js +383 -0
  133. package/dist/router 2/smart-router.js.map +1 -0
  134. package/dist/security/rate-limit-middleware.d.ts +119 -0
  135. package/dist/security/rate-limit-middleware.d.ts.map +1 -0
  136. package/dist/security/rate-limit-middleware.js +193 -0
  137. package/dist/security/rate-limit-middleware.js.map +1 -0
  138. package/dist/security 2/rate-limit-middleware.d.ts +119 -0
  139. package/dist/security 2/rate-limit-middleware.d.ts.map +1 -0
  140. package/dist/security 2/rate-limit-middleware.js +193 -0
  141. package/dist/security 2/rate-limit-middleware.js.map +1 -0
  142. package/dist/server 2.js +861 -0
  143. package/dist/server-wrapper 2.js +170 -0
  144. package/dist/server-wrapper.d 2.ts +12 -0
  145. package/dist/server-wrapper.d.ts +12 -0
  146. package/dist/server-wrapper.d.ts 2.map +1 -0
  147. package/dist/server-wrapper.d.ts.map +1 -0
  148. package/dist/server-wrapper.js +170 -0
  149. package/dist/server-wrapper.js 2.map +1 -0
  150. package/dist/server-wrapper.js.map +1 -0
  151. package/dist/server.d 2.ts +14 -0
  152. package/dist/server.d.ts +14 -0
  153. package/dist/server.d.ts 2.map +1 -0
  154. package/dist/server.d.ts.map +1 -0
  155. package/dist/server.js +656 -0
  156. package/dist/server.js 2.map +1 -0
  157. package/dist/server.js.map +1 -0
  158. package/dist/synthesis/conflict-detector.d.ts +43 -0
  159. package/dist/synthesis/conflict-detector.d.ts.map +1 -0
  160. package/dist/synthesis/conflict-detector.js +125 -0
  161. package/dist/synthesis/conflict-detector.js.map +1 -0
  162. package/dist/synthesis 2/conflict-detector.d.ts +43 -0
  163. package/dist/synthesis 2/conflict-detector.d.ts.map +1 -0
  164. package/dist/synthesis 2/conflict-detector.js +125 -0
  165. package/dist/synthesis 2/conflict-detector.js.map +1 -0
  166. package/dist/utils/monitoring.d.ts +25 -0
  167. package/dist/utils/monitoring.d.ts.map +1 -0
  168. package/dist/utils/monitoring.js +41 -0
  169. package/dist/utils/monitoring.js.map +1 -0
  170. package/dist/utils/rate-limiter.d.ts +97 -0
  171. package/dist/utils/rate-limiter.d.ts.map +1 -0
  172. package/dist/utils/rate-limiter.js +166 -0
  173. package/dist/utils/rate-limiter.js.map +1 -0
  174. package/dist/utils/validation.d.ts +139 -0
  175. package/dist/utils/validation.d.ts.map +1 -0
  176. package/dist/utils/validation.js +195 -0
  177. package/dist/utils/validation.js.map +1 -0
  178. package/dist/utils 2/monitoring.d.ts +25 -0
  179. package/dist/utils 2/monitoring.d.ts.map +1 -0
  180. package/dist/utils 2/monitoring.js +41 -0
  181. package/dist/utils 2/monitoring.js.map +1 -0
  182. package/dist/utils 2/rate-limiter.d.ts +97 -0
  183. package/dist/utils 2/rate-limiter.d.ts.map +1 -0
  184. package/dist/utils 2/rate-limiter.js +166 -0
  185. package/dist/utils 2/rate-limiter.js.map +1 -0
  186. package/dist/utils 2/validation.d.ts +139 -0
  187. package/dist/utils 2/validation.d.ts.map +1 -0
  188. package/dist/utils 2/validation.js +195 -0
  189. package/dist/utils 2/validation.js.map +1 -0
  190. package/docker-compose.yml +65 -0
  191. package/embedding-service/Dockerfile +29 -0
  192. package/embedding-service/README.md +68 -0
  193. package/embedding-service/requirements.txt +6 -0
  194. package/embedding-service/server.py +110 -0
  195. package/package.json +92 -0
  196. package/scripts/FRESH_INSTALL.md +280 -0
  197. package/scripts/README.md +101 -0
  198. package/scripts/ensure-infrastructure.sh +38 -0
  199. package/scripts/fresh-install-auto.sh +96 -0
  200. package/scripts/fresh-install.sh +167 -0
  201. package/scripts/health-check.sh +72 -0
  202. package/scripts/init-qdrant.ts +201 -0
  203. package/scripts/postinstall.js +94 -0
  204. package/scripts/run-accuracy-benchmark.ts +1237 -0
  205. package/scripts/run-real-benchmark.ts +581 -0
  206. package/scripts/test-mcp-server.sh +38 -0
@@ -0,0 +1,458 @@
1
+ /**
2
+ * Type Definitions for Scientific Benchmarks
3
+ *
4
+ * Comprehensive type system with runtime validation using Zod.
5
+ * Ensures type safety at compile time and runtime.
6
+ */
7
+ import { z } from "zod";
8
+ /**
9
+ * Available benchmark scenario types
10
+ */
11
+ export declare const ScenarioTypeEnum: z.ZodEnum<{
12
+ "context-recall": "context-recall";
13
+ "cross-session": "cross-session";
14
+ "skill-retrieval": "skill-retrieval";
15
+ "token-efficiency": "token-efficiency";
16
+ "semantic-accuracy": "semantic-accuracy";
17
+ }>;
18
+ export type ScenarioType = z.infer<typeof ScenarioTypeEnum>;
19
+ /**
20
+ * Benchmark phases for A/B comparison
21
+ */
22
+ export declare const BenchmarkPhaseEnum: z.ZodEnum<{
23
+ "vesper-enabled": "vesper-enabled";
24
+ "vesper-disabled": "vesper-disabled";
25
+ }>;
26
+ export type BenchmarkPhase = z.infer<typeof BenchmarkPhaseEnum>;
27
+ /**
28
+ * Winner determination
29
+ */
30
+ export declare const WinnerEnum: z.ZodEnum<{
31
+ "vesper-enabled": "vesper-enabled";
32
+ "vesper-disabled": "vesper-disabled";
33
+ tie: "tie";
34
+ }>;
35
+ export type Winner = z.infer<typeof WinnerEnum>;
36
+ /**
37
+ * Configuration for running benchmarks
38
+ */
39
+ export declare const BenchmarkConfigSchema: z.ZodObject<{
40
+ warmupRuns: z.ZodDefault<z.ZodNumber>;
41
+ measurementRuns: z.ZodDefault<z.ZodNumber>;
42
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
43
+ scenarios: z.ZodArray<z.ZodEnum<{
44
+ "context-recall": "context-recall";
45
+ "cross-session": "cross-session";
46
+ "skill-retrieval": "skill-retrieval";
47
+ "token-efficiency": "token-efficiency";
48
+ "semantic-accuracy": "semantic-accuracy";
49
+ }>>;
50
+ outputDirectory: z.ZodDefault<z.ZodString>;
51
+ significanceLevel: z.ZodDefault<z.ZodNumber>;
52
+ }, z.core.$strip>;
53
+ export type BenchmarkConfig = z.infer<typeof BenchmarkConfigSchema>;
54
+ /**
55
+ * A single metrics measurement point
56
+ */
57
+ export declare const MetricsSnapshotSchema: z.ZodObject<{
58
+ timestamp: z.ZodNumber;
59
+ latencyMs: z.ZodNumber;
60
+ tokensUsed: z.ZodOptional<z.ZodNumber>;
61
+ retrievalAccuracy: z.ZodOptional<z.ZodNumber>;
62
+ memoryHit: z.ZodBoolean;
63
+ responseQuality: z.ZodOptional<z.ZodNumber>;
64
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
65
+ }, z.core.$strip>;
66
+ export type MetricsSnapshot = z.infer<typeof MetricsSnapshotSchema>;
67
+ /**
68
+ * Aggregated metrics from multiple runs
69
+ */
70
+ export declare const AggregateMetricsSchema: z.ZodObject<{
71
+ latencyP50: z.ZodNumber;
72
+ latencyP95: z.ZodNumber;
73
+ latencyP99: z.ZodNumber;
74
+ avgTokens: z.ZodOptional<z.ZodNumber>;
75
+ avgAccuracy: z.ZodOptional<z.ZodNumber>;
76
+ memoryHitRate: z.ZodOptional<z.ZodNumber>;
77
+ latencyMean: z.ZodOptional<z.ZodNumber>;
78
+ latencyStdDev: z.ZodOptional<z.ZodNumber>;
79
+ }, z.core.$strip>;
80
+ export type AggregateMetrics = z.infer<typeof AggregateMetricsSchema>;
81
+ /**
82
+ * Result from running a single scenario in one phase
83
+ */
84
+ export declare const ScenarioResultSchema: z.ZodObject<{
85
+ scenarioType: z.ZodEnum<{
86
+ "context-recall": "context-recall";
87
+ "cross-session": "cross-session";
88
+ "skill-retrieval": "skill-retrieval";
89
+ "token-efficiency": "token-efficiency";
90
+ "semantic-accuracy": "semantic-accuracy";
91
+ }>;
92
+ phase: z.ZodEnum<{
93
+ "vesper-enabled": "vesper-enabled";
94
+ "vesper-disabled": "vesper-disabled";
95
+ }>;
96
+ metrics: z.ZodArray<z.ZodObject<{
97
+ timestamp: z.ZodNumber;
98
+ latencyMs: z.ZodNumber;
99
+ tokensUsed: z.ZodOptional<z.ZodNumber>;
100
+ retrievalAccuracy: z.ZodOptional<z.ZodNumber>;
101
+ memoryHit: z.ZodBoolean;
102
+ responseQuality: z.ZodOptional<z.ZodNumber>;
103
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
104
+ }, z.core.$strip>>;
105
+ aggregates: z.ZodObject<{
106
+ latencyP50: z.ZodNumber;
107
+ latencyP95: z.ZodNumber;
108
+ latencyP99: z.ZodNumber;
109
+ avgTokens: z.ZodOptional<z.ZodNumber>;
110
+ avgAccuracy: z.ZodOptional<z.ZodNumber>;
111
+ memoryHitRate: z.ZodOptional<z.ZodNumber>;
112
+ latencyMean: z.ZodOptional<z.ZodNumber>;
113
+ latencyStdDev: z.ZodOptional<z.ZodNumber>;
114
+ }, z.core.$strip>;
115
+ rawResponses: z.ZodArray<z.ZodString>;
116
+ errors: z.ZodOptional<z.ZodArray<z.ZodString>>;
117
+ }, z.core.$strip>;
118
+ export type ScenarioResult = z.infer<typeof ScenarioResultSchema>;
119
+ /**
120
+ * T-test result structure
121
+ */
122
+ export declare const TTestResultSchema: z.ZodObject<{
123
+ tStatistic: z.ZodNumber;
124
+ pValue: z.ZodNumber;
125
+ degreesOfFreedom: z.ZodNumber;
126
+ significant: z.ZodBoolean;
127
+ alpha: z.ZodNumber;
128
+ meanDifference: z.ZodNumber;
129
+ }, z.core.$strip>;
130
+ export type TTestResult = z.infer<typeof TTestResultSchema>;
131
+ /**
132
+ * Effect size result
133
+ */
134
+ export declare const EffectSizeSchema: z.ZodObject<{
135
+ cohensD: z.ZodNumber;
136
+ interpretation: z.ZodEnum<{
137
+ small: "small";
138
+ negligible: "negligible";
139
+ medium: "medium";
140
+ large: "large";
141
+ }>;
142
+ }, z.core.$strip>;
143
+ export type EffectSize = z.infer<typeof EffectSizeSchema>;
144
+ /**
145
+ * Statistical comparison between enabled and disabled
146
+ */
147
+ export declare const StatisticalComparisonSchema: z.ZodObject<{
148
+ latencyImprovement: z.ZodNumber;
149
+ tokenSavings: z.ZodNumber;
150
+ accuracyDelta: z.ZodNumber;
151
+ tTestResult: z.ZodObject<{
152
+ tStatistic: z.ZodNumber;
153
+ pValue: z.ZodNumber;
154
+ degreesOfFreedom: z.ZodNumber;
155
+ significant: z.ZodBoolean;
156
+ alpha: z.ZodNumber;
157
+ meanDifference: z.ZodNumber;
158
+ }, z.core.$strip>;
159
+ effectSize: z.ZodObject<{
160
+ cohensD: z.ZodNumber;
161
+ interpretation: z.ZodEnum<{
162
+ small: "small";
163
+ negligible: "negligible";
164
+ medium: "medium";
165
+ large: "large";
166
+ }>;
167
+ }, z.core.$strip>;
168
+ }, z.core.$strip>;
169
+ export type StatisticalComparison = z.infer<typeof StatisticalComparisonSchema>;
170
+ /**
171
+ * Comparison between Vesper-enabled and Vesper-disabled for a scenario
172
+ */
173
+ export declare const ComparisonResultSchema: z.ZodObject<{
174
+ scenarioType: z.ZodEnum<{
175
+ "context-recall": "context-recall";
176
+ "cross-session": "cross-session";
177
+ "skill-retrieval": "skill-retrieval";
178
+ "token-efficiency": "token-efficiency";
179
+ "semantic-accuracy": "semantic-accuracy";
180
+ }>;
181
+ enabledResult: z.ZodObject<{
182
+ scenarioType: z.ZodEnum<{
183
+ "context-recall": "context-recall";
184
+ "cross-session": "cross-session";
185
+ "skill-retrieval": "skill-retrieval";
186
+ "token-efficiency": "token-efficiency";
187
+ "semantic-accuracy": "semantic-accuracy";
188
+ }>;
189
+ phase: z.ZodEnum<{
190
+ "vesper-enabled": "vesper-enabled";
191
+ "vesper-disabled": "vesper-disabled";
192
+ }>;
193
+ metrics: z.ZodArray<z.ZodObject<{
194
+ timestamp: z.ZodNumber;
195
+ latencyMs: z.ZodNumber;
196
+ tokensUsed: z.ZodOptional<z.ZodNumber>;
197
+ retrievalAccuracy: z.ZodOptional<z.ZodNumber>;
198
+ memoryHit: z.ZodBoolean;
199
+ responseQuality: z.ZodOptional<z.ZodNumber>;
200
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
201
+ }, z.core.$strip>>;
202
+ aggregates: z.ZodObject<{
203
+ latencyP50: z.ZodNumber;
204
+ latencyP95: z.ZodNumber;
205
+ latencyP99: z.ZodNumber;
206
+ avgTokens: z.ZodOptional<z.ZodNumber>;
207
+ avgAccuracy: z.ZodOptional<z.ZodNumber>;
208
+ memoryHitRate: z.ZodOptional<z.ZodNumber>;
209
+ latencyMean: z.ZodOptional<z.ZodNumber>;
210
+ latencyStdDev: z.ZodOptional<z.ZodNumber>;
211
+ }, z.core.$strip>;
212
+ rawResponses: z.ZodArray<z.ZodString>;
213
+ errors: z.ZodOptional<z.ZodArray<z.ZodString>>;
214
+ }, z.core.$strip>;
215
+ disabledResult: z.ZodObject<{
216
+ scenarioType: z.ZodEnum<{
217
+ "context-recall": "context-recall";
218
+ "cross-session": "cross-session";
219
+ "skill-retrieval": "skill-retrieval";
220
+ "token-efficiency": "token-efficiency";
221
+ "semantic-accuracy": "semantic-accuracy";
222
+ }>;
223
+ phase: z.ZodEnum<{
224
+ "vesper-enabled": "vesper-enabled";
225
+ "vesper-disabled": "vesper-disabled";
226
+ }>;
227
+ metrics: z.ZodArray<z.ZodObject<{
228
+ timestamp: z.ZodNumber;
229
+ latencyMs: z.ZodNumber;
230
+ tokensUsed: z.ZodOptional<z.ZodNumber>;
231
+ retrievalAccuracy: z.ZodOptional<z.ZodNumber>;
232
+ memoryHit: z.ZodBoolean;
233
+ responseQuality: z.ZodOptional<z.ZodNumber>;
234
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
235
+ }, z.core.$strip>>;
236
+ aggregates: z.ZodObject<{
237
+ latencyP50: z.ZodNumber;
238
+ latencyP95: z.ZodNumber;
239
+ latencyP99: z.ZodNumber;
240
+ avgTokens: z.ZodOptional<z.ZodNumber>;
241
+ avgAccuracy: z.ZodOptional<z.ZodNumber>;
242
+ memoryHitRate: z.ZodOptional<z.ZodNumber>;
243
+ latencyMean: z.ZodOptional<z.ZodNumber>;
244
+ latencyStdDev: z.ZodOptional<z.ZodNumber>;
245
+ }, z.core.$strip>;
246
+ rawResponses: z.ZodArray<z.ZodString>;
247
+ errors: z.ZodOptional<z.ZodArray<z.ZodString>>;
248
+ }, z.core.$strip>;
249
+ statistics: z.ZodObject<{
250
+ latencyImprovement: z.ZodNumber;
251
+ tokenSavings: z.ZodNumber;
252
+ accuracyDelta: z.ZodNumber;
253
+ tTestResult: z.ZodObject<{
254
+ tStatistic: z.ZodNumber;
255
+ pValue: z.ZodNumber;
256
+ degreesOfFreedom: z.ZodNumber;
257
+ significant: z.ZodBoolean;
258
+ alpha: z.ZodNumber;
259
+ meanDifference: z.ZodNumber;
260
+ }, z.core.$strip>;
261
+ effectSize: z.ZodObject<{
262
+ cohensD: z.ZodNumber;
263
+ interpretation: z.ZodEnum<{
264
+ small: "small";
265
+ negligible: "negligible";
266
+ medium: "medium";
267
+ large: "large";
268
+ }>;
269
+ }, z.core.$strip>;
270
+ }, z.core.$strip>;
271
+ winner: z.ZodEnum<{
272
+ "vesper-enabled": "vesper-enabled";
273
+ "vesper-disabled": "vesper-disabled";
274
+ tie: "tie";
275
+ }>;
276
+ }, z.core.$strip>;
277
+ export type ComparisonResult = z.infer<typeof ComparisonResultSchema>;
278
+ /**
279
+ * Summary of all benchmark results
280
+ */
281
+ export declare const BenchmarkSummarySchema: z.ZodObject<{
282
+ totalScenarios: z.ZodNumber;
283
+ vesperWins: z.ZodNumber;
284
+ disabledWins: z.ZodNumber;
285
+ ties: z.ZodNumber;
286
+ overallImprovement: z.ZodNumber;
287
+ statisticallySignificant: z.ZodBoolean;
288
+ }, z.core.$strip>;
289
+ export type BenchmarkSummary = z.infer<typeof BenchmarkSummarySchema>;
290
+ /**
291
+ * Complete benchmark result with all data
292
+ */
293
+ export declare const BenchmarkResultSchema: z.ZodObject<{
294
+ id: z.ZodString;
295
+ startTime: z.ZodNumber;
296
+ endTime: z.ZodNumber;
297
+ config: z.ZodObject<{
298
+ warmupRuns: z.ZodDefault<z.ZodNumber>;
299
+ measurementRuns: z.ZodDefault<z.ZodNumber>;
300
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
301
+ scenarios: z.ZodArray<z.ZodEnum<{
302
+ "context-recall": "context-recall";
303
+ "cross-session": "cross-session";
304
+ "skill-retrieval": "skill-retrieval";
305
+ "token-efficiency": "token-efficiency";
306
+ "semantic-accuracy": "semantic-accuracy";
307
+ }>>;
308
+ outputDirectory: z.ZodDefault<z.ZodString>;
309
+ significanceLevel: z.ZodDefault<z.ZodNumber>;
310
+ }, z.core.$strip>;
311
+ comparisons: z.ZodArray<z.ZodObject<{
312
+ scenarioType: z.ZodEnum<{
313
+ "context-recall": "context-recall";
314
+ "cross-session": "cross-session";
315
+ "skill-retrieval": "skill-retrieval";
316
+ "token-efficiency": "token-efficiency";
317
+ "semantic-accuracy": "semantic-accuracy";
318
+ }>;
319
+ enabledResult: z.ZodObject<{
320
+ scenarioType: z.ZodEnum<{
321
+ "context-recall": "context-recall";
322
+ "cross-session": "cross-session";
323
+ "skill-retrieval": "skill-retrieval";
324
+ "token-efficiency": "token-efficiency";
325
+ "semantic-accuracy": "semantic-accuracy";
326
+ }>;
327
+ phase: z.ZodEnum<{
328
+ "vesper-enabled": "vesper-enabled";
329
+ "vesper-disabled": "vesper-disabled";
330
+ }>;
331
+ metrics: z.ZodArray<z.ZodObject<{
332
+ timestamp: z.ZodNumber;
333
+ latencyMs: z.ZodNumber;
334
+ tokensUsed: z.ZodOptional<z.ZodNumber>;
335
+ retrievalAccuracy: z.ZodOptional<z.ZodNumber>;
336
+ memoryHit: z.ZodBoolean;
337
+ responseQuality: z.ZodOptional<z.ZodNumber>;
338
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
339
+ }, z.core.$strip>>;
340
+ aggregates: z.ZodObject<{
341
+ latencyP50: z.ZodNumber;
342
+ latencyP95: z.ZodNumber;
343
+ latencyP99: z.ZodNumber;
344
+ avgTokens: z.ZodOptional<z.ZodNumber>;
345
+ avgAccuracy: z.ZodOptional<z.ZodNumber>;
346
+ memoryHitRate: z.ZodOptional<z.ZodNumber>;
347
+ latencyMean: z.ZodOptional<z.ZodNumber>;
348
+ latencyStdDev: z.ZodOptional<z.ZodNumber>;
349
+ }, z.core.$strip>;
350
+ rawResponses: z.ZodArray<z.ZodString>;
351
+ errors: z.ZodOptional<z.ZodArray<z.ZodString>>;
352
+ }, z.core.$strip>;
353
+ disabledResult: z.ZodObject<{
354
+ scenarioType: z.ZodEnum<{
355
+ "context-recall": "context-recall";
356
+ "cross-session": "cross-session";
357
+ "skill-retrieval": "skill-retrieval";
358
+ "token-efficiency": "token-efficiency";
359
+ "semantic-accuracy": "semantic-accuracy";
360
+ }>;
361
+ phase: z.ZodEnum<{
362
+ "vesper-enabled": "vesper-enabled";
363
+ "vesper-disabled": "vesper-disabled";
364
+ }>;
365
+ metrics: z.ZodArray<z.ZodObject<{
366
+ timestamp: z.ZodNumber;
367
+ latencyMs: z.ZodNumber;
368
+ tokensUsed: z.ZodOptional<z.ZodNumber>;
369
+ retrievalAccuracy: z.ZodOptional<z.ZodNumber>;
370
+ memoryHit: z.ZodBoolean;
371
+ responseQuality: z.ZodOptional<z.ZodNumber>;
372
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
373
+ }, z.core.$strip>>;
374
+ aggregates: z.ZodObject<{
375
+ latencyP50: z.ZodNumber;
376
+ latencyP95: z.ZodNumber;
377
+ latencyP99: z.ZodNumber;
378
+ avgTokens: z.ZodOptional<z.ZodNumber>;
379
+ avgAccuracy: z.ZodOptional<z.ZodNumber>;
380
+ memoryHitRate: z.ZodOptional<z.ZodNumber>;
381
+ latencyMean: z.ZodOptional<z.ZodNumber>;
382
+ latencyStdDev: z.ZodOptional<z.ZodNumber>;
383
+ }, z.core.$strip>;
384
+ rawResponses: z.ZodArray<z.ZodString>;
385
+ errors: z.ZodOptional<z.ZodArray<z.ZodString>>;
386
+ }, z.core.$strip>;
387
+ statistics: z.ZodObject<{
388
+ latencyImprovement: z.ZodNumber;
389
+ tokenSavings: z.ZodNumber;
390
+ accuracyDelta: z.ZodNumber;
391
+ tTestResult: z.ZodObject<{
392
+ tStatistic: z.ZodNumber;
393
+ pValue: z.ZodNumber;
394
+ degreesOfFreedom: z.ZodNumber;
395
+ significant: z.ZodBoolean;
396
+ alpha: z.ZodNumber;
397
+ meanDifference: z.ZodNumber;
398
+ }, z.core.$strip>;
399
+ effectSize: z.ZodObject<{
400
+ cohensD: z.ZodNumber;
401
+ interpretation: z.ZodEnum<{
402
+ small: "small";
403
+ negligible: "negligible";
404
+ medium: "medium";
405
+ large: "large";
406
+ }>;
407
+ }, z.core.$strip>;
408
+ }, z.core.$strip>;
409
+ winner: z.ZodEnum<{
410
+ "vesper-enabled": "vesper-enabled";
411
+ "vesper-disabled": "vesper-disabled";
412
+ tie: "tie";
413
+ }>;
414
+ }, z.core.$strip>>;
415
+ summary: z.ZodObject<{
416
+ totalScenarios: z.ZodNumber;
417
+ vesperWins: z.ZodNumber;
418
+ disabledWins: z.ZodNumber;
419
+ ties: z.ZodNumber;
420
+ overallImprovement: z.ZodNumber;
421
+ statisticallySignificant: z.ZodBoolean;
422
+ }, z.core.$strip>;
423
+ metadata: z.ZodObject<{
424
+ version: z.ZodString;
425
+ environment: z.ZodString;
426
+ hostname: z.ZodOptional<z.ZodString>;
427
+ nodeVersion: z.ZodOptional<z.ZodString>;
428
+ }, z.core.$strip>;
429
+ }, z.core.$strip>;
430
+ export type BenchmarkResult = z.infer<typeof BenchmarkResultSchema>;
431
+ /**
432
+ * Create a default benchmark configuration
433
+ */
434
+ export declare function createDefaultConfig(overrides?: Partial<BenchmarkConfig>): BenchmarkConfig;
435
+ /**
436
+ * Validate and parse a benchmark configuration
437
+ * @throws ZodError if validation fails
438
+ */
439
+ export declare function validateBenchmarkConfig(input: unknown): BenchmarkConfig;
440
+ /**
441
+ * Validate and parse a benchmark result
442
+ * @throws ZodError if validation fails
443
+ */
444
+ export declare function validateBenchmarkResult(input: unknown): BenchmarkResult;
445
+ /**
446
+ * Validate and parse a metrics snapshot
447
+ * @throws ZodError if validation fails
448
+ */
449
+ export declare function validateMetricsSnapshot(input: unknown): MetricsSnapshot;
450
+ /**
451
+ * Human-readable descriptions of each scenario
452
+ */
453
+ export declare const SCENARIO_DESCRIPTIONS: Record<ScenarioType, string>;
454
+ /**
455
+ * Get description for a scenario
456
+ */
457
+ export declare function getScenarioDescription(scenario: ScenarioType): string;
458
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/benchmark/types.ts"],"names":[],"mappings":"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"}