coding-agent-benchmarks 0.2.1 → 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 (184) hide show
  1. package/README.md +171 -10
  2. package/dist/User.d.ts +10 -0
  3. package/dist/User.d.ts.map +1 -0
  4. package/dist/User.js +3 -0
  5. package/dist/User.js.map +1 -0
  6. package/dist/adapters/claudeCodeCLI.d.ts +1 -1
  7. package/dist/adapters/claudeCodeCLI.d.ts.map +1 -1
  8. package/dist/adapters/claudeCodeCLI.js +44 -32
  9. package/dist/adapters/claudeCodeCLI.js.map +1 -1
  10. package/dist/adapters/copilotCLI.d.ts.map +1 -1
  11. package/dist/adapters/copilotCLI.js +28 -16
  12. package/dist/adapters/copilotCLI.js.map +1 -1
  13. package/dist/config/defaultScenarios.d.ts +6 -0
  14. package/dist/config/defaultScenarios.d.ts.map +1 -0
  15. package/dist/config/defaultScenarios.js +209 -0
  16. package/dist/config/defaultScenarios.js.map +1 -0
  17. package/dist/config/environment.d.ts +51 -0
  18. package/dist/config/environment.d.ts.map +1 -0
  19. package/dist/config/environment.js +57 -0
  20. package/dist/config/environment.js.map +1 -0
  21. package/dist/config/parser.d.ts +6 -0
  22. package/dist/config/parser.d.ts.map +1 -0
  23. package/dist/config/parser.js +87 -0
  24. package/dist/config/parser.js.map +1 -0
  25. package/dist/evaluator.d.ts +4 -9
  26. package/dist/evaluator.d.ts.map +1 -1
  27. package/dist/evaluator.js +4 -12
  28. package/dist/evaluator.js.map +1 -1
  29. package/dist/examples/file-upload-example.d.ts +2 -0
  30. package/dist/examples/file-upload-example.d.ts.map +1 -0
  31. package/dist/examples/file-upload-example.js +37 -0
  32. package/dist/examples/file-upload-example.js.map +1 -0
  33. package/dist/examples/typedEventEmitterExample.d.ts +5 -0
  34. package/dist/examples/typedEventEmitterExample.d.ts.map +1 -0
  35. package/dist/examples/typedEventEmitterExample.js +44 -0
  36. package/dist/examples/typedEventEmitterExample.js.map +1 -0
  37. package/dist/index.d.ts +2 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +3 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/registration/database.d.ts +13 -0
  42. package/dist/registration/database.d.ts.map +1 -0
  43. package/dist/registration/database.js +35 -0
  44. package/dist/registration/database.js.map +1 -0
  45. package/dist/registration/email.d.ts +17 -0
  46. package/dist/registration/email.d.ts.map +1 -0
  47. package/dist/registration/email.js +40 -0
  48. package/dist/registration/email.js.map +1 -0
  49. package/dist/registration/emailService.d.ts +13 -0
  50. package/dist/registration/emailService.d.ts.map +1 -0
  51. package/dist/registration/emailService.js +26 -0
  52. package/dist/registration/emailService.js.map +1 -0
  53. package/dist/registration/example.d.ts +2 -0
  54. package/dist/registration/example.d.ts.map +1 -0
  55. package/dist/registration/example.js +37 -0
  56. package/dist/registration/example.js.map +1 -0
  57. package/dist/registration/index.d.ts +7 -0
  58. package/dist/registration/index.d.ts.map +1 -0
  59. package/dist/registration/index.js +15 -0
  60. package/dist/registration/index.js.map +1 -0
  61. package/dist/registration/password.d.ts +3 -0
  62. package/dist/registration/password.d.ts.map +1 -0
  63. package/dist/registration/password.js +27 -0
  64. package/dist/registration/password.js.map +1 -0
  65. package/dist/registration/passwordHasher.d.ts +8 -0
  66. package/dist/registration/passwordHasher.d.ts.map +1 -0
  67. package/dist/registration/passwordHasher.js +39 -0
  68. package/dist/registration/passwordHasher.js.map +1 -0
  69. package/dist/registration/registrationService.d.ts +14 -0
  70. package/dist/registration/registrationService.d.ts.map +1 -0
  71. package/dist/registration/registrationService.js +49 -0
  72. package/dist/registration/registrationService.js.map +1 -0
  73. package/dist/registration/service.d.ts +14 -0
  74. package/dist/registration/service.d.ts.map +1 -0
  75. package/dist/registration/service.js +48 -0
  76. package/dist/registration/service.js.map +1 -0
  77. package/dist/registration/types.d.ts +22 -0
  78. package/dist/registration/types.d.ts.map +1 -0
  79. package/dist/registration/types.js +3 -0
  80. package/dist/registration/types.js.map +1 -0
  81. package/dist/registration/userRepository.d.ts +12 -0
  82. package/dist/registration/userRepository.d.ts.map +1 -0
  83. package/dist/registration/userRepository.js +28 -0
  84. package/dist/registration/userRepository.js.map +1 -0
  85. package/dist/registration/validator.d.ts +7 -0
  86. package/dist/registration/validator.d.ts.map +1 -0
  87. package/dist/registration/validator.js +44 -0
  88. package/dist/registration/validator.js.map +1 -0
  89. package/dist/registration/validators.d.ts +5 -0
  90. package/dist/registration/validators.d.ts.map +1 -0
  91. package/dist/registration/validators.js +60 -0
  92. package/dist/registration/validators.js.map +1 -0
  93. package/dist/reporter.d.ts.map +1 -1
  94. package/dist/reporter.js +59 -34
  95. package/dist/reporter.js.map +1 -1
  96. package/dist/runner.js +2 -1
  97. package/dist/runner.js.map +1 -1
  98. package/dist/sync/cache.d.ts +14 -0
  99. package/dist/sync/cache.d.ts.map +1 -0
  100. package/dist/sync/cache.js +73 -0
  101. package/dist/sync/cache.js.map +1 -0
  102. package/dist/sync/index.d.ts +7 -0
  103. package/dist/sync/index.d.ts.map +1 -0
  104. package/dist/sync/index.js +20 -0
  105. package/dist/sync/index.js.map +1 -0
  106. package/dist/sync/resolver.d.ts +12 -0
  107. package/dist/sync/resolver.d.ts.map +1 -0
  108. package/dist/sync/resolver.js +43 -0
  109. package/dist/sync/resolver.js.map +1 -0
  110. package/dist/sync/service.d.ts +20 -0
  111. package/dist/sync/service.d.ts.map +1 -0
  112. package/dist/sync/service.js +162 -0
  113. package/dist/sync/service.js.map +1 -0
  114. package/dist/sync/source.d.ts +21 -0
  115. package/dist/sync/source.d.ts.map +1 -0
  116. package/dist/sync/source.js +58 -0
  117. package/dist/sync/source.js.map +1 -0
  118. package/dist/sync/types.d.ts +56 -0
  119. package/dist/sync/types.d.ts.map +1 -0
  120. package/dist/sync/types.js +21 -0
  121. package/dist/sync/types.js.map +1 -0
  122. package/dist/types.d.ts +6 -6
  123. package/dist/types.d.ts.map +1 -1
  124. package/dist/utils/baselineManager.d.ts +2 -1
  125. package/dist/utils/baselineManager.d.ts.map +1 -1
  126. package/dist/utils/baselineManager.js +1 -0
  127. package/dist/utils/baselineManager.js.map +1 -1
  128. package/dist/utils/cache.d.ts +11 -0
  129. package/dist/utils/cache.d.ts.map +1 -0
  130. package/dist/utils/cache.js +28 -0
  131. package/dist/utils/cache.js.map +1 -0
  132. package/dist/utils/config-merger.d.ts +11 -0
  133. package/dist/utils/config-merger.d.ts.map +1 -0
  134. package/dist/utils/config-merger.js +36 -0
  135. package/dist/utils/config-merger.js.map +1 -0
  136. package/dist/utils/configParser.d.ts +9 -0
  137. package/dist/utils/configParser.d.ts.map +1 -0
  138. package/dist/utils/configParser.js +51 -0
  139. package/dist/utils/configParser.js.map +1 -0
  140. package/dist/utils/database-providers.d.ts +23 -0
  141. package/dist/utils/database-providers.d.ts.map +1 -0
  142. package/dist/utils/database-providers.js +48 -0
  143. package/dist/utils/database-providers.js.map +1 -0
  144. package/dist/utils/errorHandler.d.ts +10 -0
  145. package/dist/utils/errorHandler.d.ts.map +1 -0
  146. package/dist/utils/errorHandler.js +58 -0
  147. package/dist/utils/errorHandler.js.map +1 -0
  148. package/dist/utils/fetchUserData.d.ts +11 -0
  149. package/dist/utils/fetchUserData.d.ts.map +1 -0
  150. package/dist/utils/fetchUserData.js +31 -0
  151. package/dist/utils/fetchUserData.js.map +1 -0
  152. package/dist/utils/file-upload-handler.d.ts +46 -0
  153. package/dist/utils/file-upload-handler.d.ts.map +1 -0
  154. package/dist/utils/file-upload-handler.js +110 -0
  155. package/dist/utils/file-upload-handler.js.map +1 -0
  156. package/dist/utils/gitUtils.d.ts +2 -1
  157. package/dist/utils/gitUtils.d.ts.map +1 -1
  158. package/dist/utils/gitUtils.js +85 -18
  159. package/dist/utils/gitUtils.js.map +1 -1
  160. package/dist/utils/statistics.d.ts +9 -0
  161. package/dist/utils/statistics.d.ts.map +1 -0
  162. package/dist/utils/statistics.js +26 -0
  163. package/dist/utils/statistics.js.map +1 -0
  164. package/dist/utils/storage-providers.d.ts +24 -0
  165. package/dist/utils/storage-providers.d.ts.map +1 -0
  166. package/dist/utils/storage-providers.js +38 -0
  167. package/dist/utils/storage-providers.js.map +1 -0
  168. package/dist/utils/transformArray.d.ts +18 -0
  169. package/dist/utils/transformArray.d.ts.map +1 -0
  170. package/dist/utils/transformArray.js +21 -0
  171. package/dist/utils/transformArray.js.map +1 -0
  172. package/dist/utils/typedEventEmitter.d.ts +18 -0
  173. package/dist/utils/typedEventEmitter.d.ts.map +1 -0
  174. package/dist/utils/typedEventEmitter.js +62 -0
  175. package/dist/utils/typedEventEmitter.js.map +1 -0
  176. package/dist/utils/userUtils.d.ts +9 -0
  177. package/dist/utils/userUtils.d.ts.map +1 -0
  178. package/dist/utils/userUtils.js +14 -0
  179. package/dist/utils/userUtils.js.map +1 -0
  180. package/dist/validators/llmJudge.d.ts +1 -1
  181. package/dist/validators/llmJudge.d.ts.map +1 -1
  182. package/dist/validators/llmJudge.js +40 -41
  183. package/dist/validators/llmJudge.js.map +1 -1
  184. package/package.json +1 -1
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ /**
3
+ * Default test scenarios
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getDefaultScenarios = void 0;
7
+ const getDefaultScenarios = () => [
8
+ {
9
+ id: 'typescript-no-any',
10
+ category: 'typescript',
11
+ severity: 'critical',
12
+ tags: ['typescript', 'types', 'safety'],
13
+ description: 'Ensure TypeScript interfaces use explicit types instead of "any"',
14
+ prompt: 'Create a TypeScript interface called User with fields: id (number), name (string), email (string), and metadata (object with key-value pairs)',
15
+ validationStrategy: {
16
+ patterns: {
17
+ forbiddenPatterns: [/:\s*any\b/, /:\s*any\s*[,;]/],
18
+ requiredPatterns: [/interface\s+User/],
19
+ },
20
+ },
21
+ timeout: 120000,
22
+ },
23
+ {
24
+ id: 'typescript-readonly-props',
25
+ category: 'typescript',
26
+ severity: 'major',
27
+ tags: ['typescript', 'immutability', 'best-practices'],
28
+ description: 'Enforce readonly properties in TypeScript interfaces',
29
+ prompt: 'Create a TypeScript interface called AppConfig with readonly properties: apiUrl (string), timeout (number), and features (array of strings)',
30
+ validationStrategy: {
31
+ patterns: {
32
+ requiredPatterns: [
33
+ /interface\s+AppConfig/,
34
+ /readonly\s+apiUrl/,
35
+ /readonly\s+timeout/,
36
+ /readonly\s+features/,
37
+ ],
38
+ },
39
+ },
40
+ timeout: 120000,
41
+ },
42
+ {
43
+ id: 'react-no-inline-styles',
44
+ category: 'react',
45
+ severity: 'major',
46
+ tags: ['react', 'styling', 'best-practices'],
47
+ description: 'Forbid inline style objects in React components',
48
+ prompt: 'Create a React functional component called Button that accepts a "label" prop and renders a styled button. Use CSS classes instead of inline styles.',
49
+ validationStrategy: {
50
+ patterns: {
51
+ forbiddenPatterns: [
52
+ /style\s*=\s*\{\{/,
53
+ /style\s*=\s*\{[^}]*\}/,
54
+ ],
55
+ requiredPatterns: [
56
+ /function\s+Button|const\s+Button.*=|export\s+(default\s+)?function\s+Button/,
57
+ /className/,
58
+ ],
59
+ },
60
+ },
61
+ timeout: 120000,
62
+ },
63
+ {
64
+ id: 'react-proper-hooks',
65
+ category: 'react',
66
+ severity: 'critical',
67
+ tags: ['react', 'hooks', 'correctness'],
68
+ description: 'Ensure React hooks are not called conditionally',
69
+ prompt: 'Create a React component called UserProfile that uses useState to manage a "loading" state and useEffect to fetch user data. Make sure hooks are used correctly.',
70
+ validationStrategy: {
71
+ patterns: {
72
+ // Forbid hooks inside if statements or loops
73
+ forbiddenPatterns: [
74
+ /if\s*\([^)]*\)\s*\{[^}]*use(State|Effect|Context|Reducer|Callback|Memo|Ref)/,
75
+ ],
76
+ requiredPatterns: [
77
+ /useState/,
78
+ /useEffect/,
79
+ ],
80
+ },
81
+ llmJudge: {
82
+ enabled: true,
83
+ judgmentPrompt: `Evaluate whether this React component follows the Rules of Hooks:
84
+ 1. Hooks must be called at the top level (not inside conditions, loops, or nested functions)
85
+ 2. Hooks must be called in the same order every render
86
+ 3. useState and useEffect should be used correctly
87
+
88
+ Return JSON: {"passed": boolean, "score": 0-1, "reasoning": "explanation", "violations": []}`,
89
+ },
90
+ },
91
+ timeout: 120000,
92
+ },
93
+ {
94
+ id: 'async-error-handling',
95
+ category: 'general',
96
+ severity: 'critical',
97
+ tags: ['async', 'error-handling', 'robustness'],
98
+ description: 'Ensure async functions have proper error handling',
99
+ prompt: 'Create an async function called fetchUserData that takes a userId parameter, makes an HTTP request to fetch user data, and returns the user object. Handle errors appropriately.',
100
+ validationStrategy: {
101
+ patterns: {
102
+ requiredPatterns: [
103
+ /async\s+function\s+fetchUserData|const\s+fetchUserData.*async/,
104
+ /try|catch|\.catch\(/,
105
+ ],
106
+ },
107
+ llmJudge: {
108
+ enabled: true,
109
+ judgmentPrompt: `Evaluate the error handling in this async function:
110
+ 1. Does it use try/catch or .catch()?
111
+ 2. Are errors logged or re-thrown appropriately?
112
+ 3. Does it prevent unhandled promise rejections?
113
+
114
+ Return JSON: {"passed": boolean, "score": 0-1, "reasoning": "explanation", "violations": []}`,
115
+ },
116
+ },
117
+ timeout: 120000,
118
+ },
119
+ {
120
+ id: 'typescript-explicit-return-types',
121
+ category: 'typescript',
122
+ severity: 'major',
123
+ tags: ['typescript', 'types', 'documentation'],
124
+ description: 'Functions should have explicit return type annotations',
125
+ prompt: 'Create a TypeScript function called calculateTotal that takes an array of numbers and returns their sum. Include explicit type annotations for parameters and return type.',
126
+ validationStrategy: {
127
+ patterns: {
128
+ requiredPatterns: [
129
+ /function\s+calculateTotal.*:\s*number|const\s+calculateTotal.*:\s*\([^)]*\)\s*=>\s*number/,
130
+ ],
131
+ },
132
+ },
133
+ timeout: 120000,
134
+ },
135
+ {
136
+ id: 'typescript-strict-null-safety',
137
+ category: 'typescript',
138
+ severity: 'critical',
139
+ tags: ['typescript', 'null-safety', 'types', 'best-practices'],
140
+ description: 'Proper null/undefined handling with optional chaining and type guards',
141
+ prompt: 'Create a TypeScript function called getUserEmail that takes a user object (which might be null or undefined) and returns their email address. The user object has an optional email field. Handle all null/undefined cases safely without using type assertions (as or !).',
142
+ validationStrategy: {
143
+ patterns: {
144
+ forbiddenPatterns: [
145
+ /as\s+\w+/, // No type assertions
146
+ /!\s*\./, // No non-null assertions
147
+ /!\s*\[/, // No non-null assertions on arrays
148
+ ],
149
+ requiredPatterns: [
150
+ /function\s+getUserEmail|const\s+getUserEmail/,
151
+ /\?\.|if\s*\(.*\)/, // Optional chaining or null checks
152
+ ],
153
+ },
154
+ llmJudge: {
155
+ enabled: true,
156
+ judgmentPrompt: `Evaluate the null safety of this function:
157
+ 1. Does it handle null/undefined user objects safely?
158
+ 2. Does it handle undefined email fields?
159
+ 3. Does it avoid type assertions (as, !) and use proper type guards or optional chaining?
160
+ 4. Does it have a clear return type that reflects possible null/undefined?
161
+
162
+ Return JSON: {"passed": boolean, "score": 0-1, "reasoning": "explanation", "violations": []}`,
163
+ },
164
+ },
165
+ timeout: 120000,
166
+ },
167
+ {
168
+ id: 'no-console-logs-production',
169
+ category: 'general',
170
+ severity: 'minor',
171
+ tags: ['logging', 'production', 'cleanup'],
172
+ description: 'Production code should not contain console.log statements',
173
+ prompt: 'Create a utility function called processData that processes an array of items and returns the results. Include proper error handling but avoid console.log statements.',
174
+ validationStrategy: {
175
+ patterns: {
176
+ forbiddenPatterns: [/console\.log/],
177
+ },
178
+ },
179
+ timeout: 120000,
180
+ },
181
+ {
182
+ id: 'react-key-prop',
183
+ category: 'react',
184
+ severity: 'critical',
185
+ tags: ['react', 'lists', 'performance'],
186
+ description: 'React lists must include unique key props',
187
+ prompt: 'Create a React component called TodoList that renders a list of todo items from an array. Each todo has an id and text. Render them as list items.',
188
+ validationStrategy: {
189
+ patterns: {
190
+ requiredPatterns: [
191
+ /key\s*=\s*\{/,
192
+ /\.map\(/,
193
+ ],
194
+ },
195
+ llmJudge: {
196
+ enabled: true,
197
+ judgmentPrompt: `Evaluate if the React component properly uses key props:
198
+ 1. Are key props used when rendering lists?
199
+ 2. Are the keys unique and stable?
200
+ 3. Are keys based on item IDs rather than indexes?
201
+
202
+ Return JSON: {"passed": boolean, "score": 0-1, "reasoning": "explanation", "violations": []}`,
203
+ },
204
+ },
205
+ timeout: 120000,
206
+ },
207
+ ];
208
+ exports.getDefaultScenarios = getDefaultScenarios;
209
+ //# sourceMappingURL=defaultScenarios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultScenarios.js","sourceRoot":"","sources":["../../src/config/defaultScenarios.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ type Environment = 'development' | 'staging' | 'production';
2
+ interface FeatureToggles {
3
+ readonly enableAnalytics: boolean;
4
+ readonly enableBetaFeatures: boolean;
5
+ readonly enableDetailedLogging: boolean;
6
+ readonly enableCaching: boolean;
7
+ }
8
+ interface EnvironmentConfig {
9
+ readonly environment: Environment;
10
+ readonly apiUrl: string;
11
+ readonly debug: boolean;
12
+ readonly features: FeatureToggles;
13
+ }
14
+ declare const developmentConfig: {
15
+ readonly environment: "development";
16
+ readonly apiUrl: "http://localhost:3000/api";
17
+ readonly debug: true;
18
+ readonly features: {
19
+ readonly enableAnalytics: false;
20
+ readonly enableBetaFeatures: true;
21
+ readonly enableDetailedLogging: true;
22
+ readonly enableCaching: false;
23
+ };
24
+ };
25
+ declare const stagingConfig: {
26
+ readonly environment: "staging";
27
+ readonly apiUrl: "https://staging-api.example.com/api";
28
+ readonly debug: true;
29
+ readonly features: {
30
+ readonly enableAnalytics: true;
31
+ readonly enableBetaFeatures: true;
32
+ readonly enableDetailedLogging: true;
33
+ readonly enableCaching: true;
34
+ };
35
+ };
36
+ declare const productionConfig: {
37
+ readonly environment: "production";
38
+ readonly apiUrl: "https://api.example.com/api";
39
+ readonly debug: false;
40
+ readonly features: {
41
+ readonly enableAnalytics: true;
42
+ readonly enableBetaFeatures: false;
43
+ readonly enableDetailedLogging: false;
44
+ readonly enableCaching: true;
45
+ };
46
+ };
47
+ declare const getEnvironmentConfig: (env?: Environment) => EnvironmentConfig;
48
+ declare const getCurrentEnvironment: () => Environment;
49
+ export type { Environment, EnvironmentConfig, FeatureToggles };
50
+ export { developmentConfig, stagingConfig, productionConfig, getEnvironmentConfig, getCurrentEnvironment };
51
+ //# sourceMappingURL=environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;AAE5D,UAAU,cAAc;IACtB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED,UAAU,iBAAiB;IACzB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;CACnC;AAED,QAAA,MAAM,iBAAiB;;;;;;;;;;CAUe,CAAC;AAEvC,QAAA,MAAM,aAAa;;;;;;;;;;CAUmB,CAAC;AAEvC,QAAA,MAAM,gBAAgB;;;;;;;;;;CAUgB,CAAC;AAQvC,QAAA,MAAM,oBAAoB,GAAI,MAAK,WAA2B,KAAG,iBAEhE,CAAC;AAEF,QAAA,MAAM,qBAAqB,QAAO,WAMjC,CAAC;AAEF,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCurrentEnvironment = exports.getEnvironmentConfig = exports.productionConfig = exports.stagingConfig = exports.developmentConfig = void 0;
4
+ const developmentConfig = {
5
+ environment: 'development',
6
+ apiUrl: 'http://localhost:3000/api',
7
+ debug: true,
8
+ features: {
9
+ enableAnalytics: false,
10
+ enableBetaFeatures: true,
11
+ enableDetailedLogging: true,
12
+ enableCaching: false,
13
+ },
14
+ };
15
+ exports.developmentConfig = developmentConfig;
16
+ const stagingConfig = {
17
+ environment: 'staging',
18
+ apiUrl: 'https://staging-api.example.com/api',
19
+ debug: true,
20
+ features: {
21
+ enableAnalytics: true,
22
+ enableBetaFeatures: true,
23
+ enableDetailedLogging: true,
24
+ enableCaching: true,
25
+ },
26
+ };
27
+ exports.stagingConfig = stagingConfig;
28
+ const productionConfig = {
29
+ environment: 'production',
30
+ apiUrl: 'https://api.example.com/api',
31
+ debug: false,
32
+ features: {
33
+ enableAnalytics: true,
34
+ enableBetaFeatures: false,
35
+ enableDetailedLogging: false,
36
+ enableCaching: true,
37
+ },
38
+ };
39
+ exports.productionConfig = productionConfig;
40
+ const configs = {
41
+ development: developmentConfig,
42
+ staging: stagingConfig,
43
+ production: productionConfig,
44
+ };
45
+ const getEnvironmentConfig = (env = 'development') => {
46
+ return configs[env];
47
+ };
48
+ exports.getEnvironmentConfig = getEnvironmentConfig;
49
+ const getCurrentEnvironment = () => {
50
+ const env = process.env.NODE_ENV;
51
+ if (env === 'production' || env === 'staging' || env === 'development') {
52
+ return env;
53
+ }
54
+ return 'development';
55
+ };
56
+ exports.getCurrentEnvironment = getCurrentEnvironment;
57
+ //# sourceMappingURL=environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":";;;AAgBA,MAAM,iBAAiB,GAAG;IACxB,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,2BAA2B;IACnC,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE;QACR,eAAe,EAAE,KAAK;QACtB,kBAAkB,EAAE,IAAI;QACxB,qBAAqB,EAAE,IAAI;QAC3B,aAAa,EAAE,KAAK;KACrB;CACmC,CAAC;AA6C9B,8CAAiB;AA3C1B,MAAM,aAAa,GAAG;IACpB,WAAW,EAAE,SAAS;IACtB,MAAM,EAAE,qCAAqC;IAC7C,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE;QACR,eAAe,EAAE,IAAI;QACrB,kBAAkB,EAAE,IAAI;QACxB,qBAAqB,EAAE,IAAI;QAC3B,aAAa,EAAE,IAAI;KACpB;CACmC,CAAC;AAiCX,sCAAa;AA/BzC,MAAM,gBAAgB,GAAG;IACvB,WAAW,EAAE,YAAY;IACzB,MAAM,EAAE,6BAA6B;IACrC,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE;QACR,eAAe,EAAE,IAAI;QACrB,kBAAkB,EAAE,KAAK;QACzB,qBAAqB,EAAE,KAAK;QAC5B,aAAa,EAAE,IAAI;KACpB;CACmC,CAAC;AAqBI,4CAAgB;AAnB3D,MAAM,OAAO,GAAG;IACd,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,gBAAgB;CACpB,CAAC;AAEX,MAAM,oBAAoB,GAAG,CAAC,MAAmB,aAAa,EAAqB,EAAE;IACnF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC,CAAC;AAW2D,oDAAoB;AATjF,MAAM,qBAAqB,GAAG,GAAgB,EAAE;IAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAmC,CAAC;IAC5D,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;QACvE,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAGiF,sDAAqB"}
@@ -0,0 +1,6 @@
1
+ import { Config } from '../types';
2
+ /**
3
+ * Reads and parses a JSON configuration file
4
+ */
5
+ export declare const parseConfig: (filePath: string) => Config;
6
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,KAAG,MAsD9C,CAAC"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.parseConfig = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ /**
39
+ * Reads and parses a JSON configuration file
40
+ */
41
+ const parseConfig = (filePath) => {
42
+ if (!fs.existsSync(filePath)) {
43
+ throw new Error(`Configuration file not found: ${filePath}`);
44
+ }
45
+ const fileContent = fs.readFileSync(filePath, 'utf-8');
46
+ let parsed;
47
+ try {
48
+ parsed = JSON.parse(fileContent);
49
+ }
50
+ catch (error) {
51
+ throw new Error(`Invalid JSON in configuration file: ${error}`);
52
+ }
53
+ if (typeof parsed !== 'object' || parsed === null) {
54
+ throw new Error('Configuration must be a JSON object');
55
+ }
56
+ const config = parsed;
57
+ if (typeof config.apiUrl !== 'string') {
58
+ throw new Error('Configuration property "apiUrl" must be a string');
59
+ }
60
+ if (typeof config.timeout !== 'number') {
61
+ throw new Error('Configuration property "timeout" must be a number');
62
+ }
63
+ if (typeof config.retryAttempts !== 'number') {
64
+ throw new Error('Configuration property "retryAttempts" must be a number');
65
+ }
66
+ if (typeof config.enableCache !== 'boolean') {
67
+ throw new Error('Configuration property "enableCache" must be a boolean');
68
+ }
69
+ if (typeof config.headers !== 'object' || config.headers === null || Array.isArray(config.headers)) {
70
+ throw new Error('Configuration property "headers" must be an object');
71
+ }
72
+ const headers = config.headers;
73
+ for (const [key, value] of Object.entries(headers)) {
74
+ if (typeof value !== 'string') {
75
+ throw new Error(`Configuration property "headers.${key}" must be a string`);
76
+ }
77
+ }
78
+ return {
79
+ apiUrl: config.apiUrl,
80
+ timeout: config.timeout,
81
+ retryAttempts: config.retryAttempts,
82
+ enableCache: config.enableCache,
83
+ headers: headers,
84
+ };
85
+ };
86
+ exports.parseConfig = parseConfig;
87
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AAGzB;;GAEG;AACI,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAU,EAAE;IACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEvD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,MAAM,GAAG,MAAiC,CAAC;IAEjD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACnG,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAkC,CAAC;IAC1D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,oBAAoB,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,OAAiC;KAC3C,CAAC;AACJ,CAAC,CAAC;AAtDW,QAAA,WAAW,eAsDtB"}
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * Main evaluation engine
3
3
  */
4
- import { EventEmitter } from "events";
5
4
  import { AdapterType, TestScenario, EvaluationResult, EvaluationReport } from "./types";
5
+ import { TypedEventEmitter } from "./utils/TypedEventEmitter";
6
6
  /**
7
7
  * Events emitted by the Evaluator during execution
8
8
  */
9
- export interface EvaluatorEvents {
9
+ export type EvaluatorEvents = {
10
10
  "evaluation:start": (scenarios: TestScenario[]) => void;
11
11
  "scenario:start": (scenarioId: string, scenario: TestScenario) => void;
12
12
  "scenario:generating": (scenarioId: string) => void;
@@ -14,7 +14,7 @@ export interface EvaluatorEvents {
14
14
  "scenario:complete": (scenarioId: string, result: EvaluationResult, model: string) => void;
15
15
  "evaluation:complete": (report: EvaluationReport) => void;
16
16
  log: (message: string) => void;
17
- }
17
+ };
18
18
  export interface EvaluatorOptions {
19
19
  adapter: AdapterType;
20
20
  model?: string;
@@ -24,17 +24,12 @@ export interface EvaluatorOptions {
24
24
  saveBaseline?: boolean;
25
25
  compareBaseline?: boolean;
26
26
  }
27
- export declare class Evaluator extends EventEmitter {
27
+ export declare class Evaluator extends TypedEventEmitter<EvaluatorEvents> {
28
28
  private adapter;
29
29
  private workspaceRoot;
30
30
  private baselineManager;
31
31
  private options;
32
32
  constructor(options: EvaluatorOptions);
33
- /**
34
- * Type-safe event emitter methods
35
- */
36
- on<K extends keyof EvaluatorEvents>(event: K, listener: EvaluatorEvents[K]): this;
37
- emit<K extends keyof EvaluatorEvents>(event: K, ...args: Parameters<EvaluatorEvents[K]>): boolean;
38
33
  /**
39
34
  * Create adapter instance based on type
40
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../src/evaluator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EACL,WAAW,EAEX,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAEjB,MAAM,SAAS,CAAC;AASjB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IACxD,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IACvE,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,mBAAmB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3F,qBAAqB,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC1D,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,OAAO,CAAmB;gBAEtB,OAAO,EAAE,gBAAgB;IAUrC;;OAEG;IACM,EAAE,CAAC,CAAC,SAAS,MAAM,eAAe,EACzC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,GAC3B,IAAI;IAIE,IAAI,CAAC,CAAC,SAAS,MAAM,eAAe,EAC3C,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GACtC,OAAO;IAIV;;OAEG;IACH,OAAO,CAAC,aAAa;IAiBrB;;OAEG;IACG,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIlD;;OAEG;IACH,eAAe,CACb,SAAS,EAAE,YAAY,EAAE,EACzB,OAAO,EAAE;QACP,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,GACA,YAAY,EAAE;IA0BjB;;OAEG;IACG,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6JzE;;OAEG;IACG,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAsDrE"}
1
+ {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../src/evaluator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,WAAW,EAEX,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAEjB,MAAM,SAAS,CAAC;AAQjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,kBAAkB,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IACxD,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IACvE,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,mBAAmB,EAAE,CACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,KACV,IAAI,CAAC;IACV,qBAAqB,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC1D,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,SAAU,SAAQ,iBAAiB,CAAC,eAAe,CAAC;IAC/D,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,OAAO,CAAmB;gBAEtB,OAAO,EAAE,gBAAgB;IAUrC;;OAEG;IACH,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACG,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIlD;;OAEG;IACH,eAAe,CACb,SAAS,EAAE,YAAY,EAAE,EACzB,OAAO,EAAE;QACP,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,GACA,YAAY,EAAE;IA0BjB;;OAEG;IACG,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6JzE;;OAEG;IACG,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA2DrE"}
package/dist/evaluator.js CHANGED
@@ -4,7 +4,6 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Evaluator = void 0;
7
- const events_1 = require("events");
8
7
  const copilotCLI_1 = require("./adapters/copilotCLI");
9
8
  const claudeCodeCLI_1 = require("./adapters/claudeCodeCLI");
10
9
  const patternValidator_1 = require("./validators/patternValidator");
@@ -12,7 +11,8 @@ const llmJudge_1 = require("./validators/llmJudge");
12
11
  const eslintValidator_1 = require("./validators/eslintValidator");
13
12
  const workspaceUtils_1 = require("./utils/workspaceUtils");
14
13
  const baselineManager_1 = require("./utils/baselineManager");
15
- class Evaluator extends events_1.EventEmitter {
14
+ const TypedEventEmitter_1 = require("./utils/TypedEventEmitter");
15
+ class Evaluator extends TypedEventEmitter_1.TypedEventEmitter {
16
16
  constructor(options) {
17
17
  super();
18
18
  this.options = options;
@@ -21,15 +21,6 @@ class Evaluator extends events_1.EventEmitter {
21
21
  // Create adapter based on type
22
22
  this.adapter = this.createAdapter(options.adapter);
23
23
  }
24
- /**
25
- * Type-safe event emitter methods
26
- */
27
- on(event, listener) {
28
- return super.on(event, listener);
29
- }
30
- emit(event, ...args) {
31
- return super.emit(event, ...args);
32
- }
33
24
  /**
34
25
  * Create adapter instance based on type
35
26
  */
@@ -46,7 +37,8 @@ class Evaluator extends events_1.EventEmitter {
46
37
  model: this.options.model,
47
38
  });
48
39
  default:
49
- throw new Error(`Unknown adapter type: ${type}`);
40
+ const validAdapters = ["copilot", "claude-code"];
41
+ throw new Error(`Unknown adapter type: ${type}. Valid options: ${validAdapters.join(", ")}`);
50
42
  }
51
43
  }
52
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../src/evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../src/evaluator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=file-upload-example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload-example.d.ts","sourceRoot":"","sources":["../../src/examples/file-upload-example.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const file_upload_handler_1 = require("../utils/file-upload-handler");
4
+ const storage_providers_1 = require("../utils/storage-providers");
5
+ const database_providers_1 = require("../utils/database-providers");
6
+ const diskUploadConfig = {
7
+ maxFileSize: 10 * 1024 * 1024,
8
+ allowedFileTypes: ['image/jpeg', 'image/png', 'image/gif', 'application/pdf'],
9
+ storageType: 'disk',
10
+ storagePath: './uploads',
11
+ generateThumbnails: true,
12
+ thumbnailSize: { width: 200, height: 200 },
13
+ databaseProvider: new database_providers_1.PostgresDatabaseProvider('postgresql://localhost/mydb'),
14
+ };
15
+ const cloudUploadConfig = {
16
+ maxFileSize: 50 * 1024 * 1024,
17
+ allowedFileTypes: ['image/jpeg', 'image/png', 'application/pdf', 'video/mp4'],
18
+ storageType: 'cloud',
19
+ storagePath: 'uploads',
20
+ cloudProvider: new storage_providers_1.S3StorageProvider('my-bucket', 'us-east-1', 'access-key', 'secret-key'),
21
+ generateThumbnails: true,
22
+ thumbnailSize: { width: 300, height: 300 },
23
+ databaseProvider: new database_providers_1.PostgresDatabaseProvider('postgresql://localhost/mydb'),
24
+ };
25
+ async function exampleDiskUpload() {
26
+ const handler = new file_upload_handler_1.FileUploadHandler(diskUploadConfig);
27
+ const fileBuffer = Buffer.from('fake image data');
28
+ const uploadedFile = await handler.handleUpload(fileBuffer, 'my-photo.jpg', 'image/jpeg');
29
+ console.log('File uploaded:', uploadedFile);
30
+ }
31
+ async function exampleCloudUpload() {
32
+ const handler = new file_upload_handler_1.FileUploadHandler(cloudUploadConfig);
33
+ const fileBuffer = Buffer.from('fake document data');
34
+ const uploadedFile = await handler.handleUpload(fileBuffer, 'document.pdf', 'application/pdf');
35
+ console.log('File uploaded to cloud:', uploadedFile);
36
+ }
37
+ //# sourceMappingURL=file-upload-example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload-example.js","sourceRoot":"","sources":["../../src/examples/file-upload-example.ts"],"names":[],"mappings":";;AAAA,sEAA+E;AAC/E,kEAA+D;AAC/D,oEAAuE;AAEvE,MAAM,gBAAgB,GAAiB;IACrC,WAAW,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAC7B,gBAAgB,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,CAAC;IAC7E,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,WAAW;IACxB,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IAC1C,gBAAgB,EAAE,IAAI,6CAAwB,CAAC,6BAA6B,CAAC;CAC9E,CAAC;AAEF,MAAM,iBAAiB,GAAiB;IACtC,WAAW,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAC7B,gBAAgB,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,CAAC;IAC7E,WAAW,EAAE,OAAO;IACpB,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,IAAI,qCAAiB,CAClC,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,CACb;IACD,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IAC1C,gBAAgB,EAAE,IAAI,6CAAwB,CAAC,6BAA6B,CAAC;CAC9E,CAAC;AAEF,KAAK,UAAU,iBAAiB;IAC9B,MAAM,OAAO,GAAG,IAAI,uCAAiB,CAAC,gBAAgB,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAC7C,UAAU,EACV,cAAc,EACd,YAAY,CACb,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,MAAM,OAAO,GAAG,IAAI,uCAAiB,CAAC,iBAAiB,CAAC,CAAC;IAEzD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAC7C,UAAU,EACV,cAAc,EACd,iBAAiB,CAClB,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Example demonstrating type-safe event emitter usage
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=typedEventEmitterExample.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typedEventEmitterExample.d.ts","sourceRoot":"","sources":["../../src/examples/typedEventEmitterExample.ts"],"names":[],"mappings":"AAAA;;GAEG"}