ppef 1.0.0 → 1.0.1

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 (199) hide show
  1. package/README.md +172 -0
  2. package/dist/__tests__/framework-pipeline.integration.test.d.ts +7 -0
  3. package/dist/__tests__/framework-pipeline.integration.test.d.ts.map +1 -0
  4. package/dist/__tests__/framework-pipeline.integration.test.js +413 -0
  5. package/dist/__tests__/framework-pipeline.integration.test.js.map +1 -0
  6. package/dist/__tests__/registry-executor.integration.test.d.ts +5 -0
  7. package/dist/__tests__/registry-executor.integration.test.d.ts.map +1 -0
  8. package/dist/__tests__/registry-executor.integration.test.js +349 -0
  9. package/dist/__tests__/registry-executor.integration.test.js.map +1 -0
  10. package/dist/__tests__/test-helpers.d.ts +94 -0
  11. package/dist/__tests__/test-helpers.d.ts.map +1 -0
  12. package/dist/__tests__/test-helpers.js +271 -0
  13. package/dist/__tests__/test-helpers.js.map +1 -0
  14. package/dist/aggregation/aggregators.d.ts +54 -0
  15. package/dist/aggregation/aggregators.d.ts.map +1 -0
  16. package/dist/aggregation/aggregators.js +228 -0
  17. package/dist/aggregation/aggregators.js.map +1 -0
  18. package/dist/aggregation/index.d.ts +8 -0
  19. package/dist/aggregation/index.d.ts.map +1 -0
  20. package/dist/aggregation/index.js +8 -0
  21. package/dist/aggregation/index.js.map +1 -0
  22. package/dist/aggregation/pipeline.d.ts +38 -0
  23. package/dist/aggregation/pipeline.d.ts.map +1 -0
  24. package/dist/aggregation/pipeline.js +198 -0
  25. package/dist/aggregation/pipeline.js.map +1 -0
  26. package/dist/claims/evaluator.d.ts +33 -0
  27. package/dist/claims/evaluator.d.ts.map +1 -0
  28. package/dist/claims/evaluator.js +174 -0
  29. package/dist/claims/evaluator.js.map +1 -0
  30. package/dist/claims/index.d.ts +7 -0
  31. package/dist/claims/index.d.ts.map +1 -0
  32. package/dist/claims/index.js +7 -0
  33. package/dist/claims/index.js.map +1 -0
  34. package/dist/collector/index.d.ts +8 -0
  35. package/dist/collector/index.d.ts.map +1 -0
  36. package/dist/collector/index.js +8 -0
  37. package/dist/collector/index.js.map +1 -0
  38. package/dist/collector/result-collector.d.ts +159 -0
  39. package/dist/collector/result-collector.d.ts.map +1 -0
  40. package/dist/collector/result-collector.js +213 -0
  41. package/dist/collector/result-collector.js.map +1 -0
  42. package/dist/collector/schema.d.ts +34 -0
  43. package/dist/collector/schema.d.ts.map +1 -0
  44. package/dist/collector/schema.js +145 -0
  45. package/dist/collector/schema.js.map +1 -0
  46. package/dist/executor/__tests__/checkpoint-hash-bug.diagnostic.test.d.ts +10 -0
  47. package/dist/executor/__tests__/checkpoint-hash-bug.diagnostic.test.d.ts.map +1 -0
  48. package/dist/executor/__tests__/checkpoint-hash-bug.diagnostic.test.js +122 -0
  49. package/dist/executor/__tests__/checkpoint-hash-bug.diagnostic.test.js.map +1 -0
  50. package/dist/executor/__tests__/checkpoint-manager.integration.test.d.ts +7 -0
  51. package/dist/executor/__tests__/checkpoint-manager.integration.test.d.ts.map +1 -0
  52. package/dist/executor/__tests__/checkpoint-manager.integration.test.js +330 -0
  53. package/dist/executor/__tests__/checkpoint-manager.integration.test.js.map +1 -0
  54. package/dist/executor/__tests__/checkpoint-manager.unit.test.d.ts +7 -0
  55. package/dist/executor/__tests__/checkpoint-manager.unit.test.d.ts.map +1 -0
  56. package/dist/executor/__tests__/checkpoint-manager.unit.test.js +449 -0
  57. package/dist/executor/__tests__/checkpoint-manager.unit.test.js.map +1 -0
  58. package/dist/executor/__tests__/checkpoint-merge-bug.diagnostic.test.d.ts +11 -0
  59. package/dist/executor/__tests__/checkpoint-merge-bug.diagnostic.test.d.ts.map +1 -0
  60. package/dist/executor/__tests__/checkpoint-merge-bug.diagnostic.test.js +224 -0
  61. package/dist/executor/__tests__/checkpoint-merge-bug.diagnostic.test.js.map +1 -0
  62. package/dist/executor/__tests__/checkpoint-merge-bug.unit.test.d.ts +8 -0
  63. package/dist/executor/__tests__/checkpoint-merge-bug.unit.test.d.ts.map +1 -0
  64. package/dist/executor/__tests__/checkpoint-merge-bug.unit.test.js +164 -0
  65. package/dist/executor/__tests__/checkpoint-merge-bug.unit.test.js.map +1 -0
  66. package/dist/executor/__tests__/checkpoint-storage.unit.test.d.ts +7 -0
  67. package/dist/executor/__tests__/checkpoint-storage.unit.test.d.ts.map +1 -0
  68. package/dist/executor/__tests__/checkpoint-storage.unit.test.js +386 -0
  69. package/dist/executor/__tests__/checkpoint-storage.unit.test.js.map +1 -0
  70. package/dist/executor/__tests__/executor.unit.test.d.ts +7 -0
  71. package/dist/executor/__tests__/executor.unit.test.d.ts.map +1 -0
  72. package/dist/executor/__tests__/executor.unit.test.js +134 -0
  73. package/dist/executor/__tests__/executor.unit.test.js.map +1 -0
  74. package/dist/executor/__tests__/parallel-checkpoint-merge.integration.test.d.ts +12 -0
  75. package/dist/executor/__tests__/parallel-checkpoint-merge.integration.test.d.ts.map +1 -0
  76. package/dist/executor/__tests__/parallel-checkpoint-merge.integration.test.js +196 -0
  77. package/dist/executor/__tests__/parallel-checkpoint-merge.integration.test.js.map +1 -0
  78. package/dist/executor/__tests__/parallel-executor.integration.test.d.ts +7 -0
  79. package/dist/executor/__tests__/parallel-executor.integration.test.d.ts.map +1 -0
  80. package/dist/executor/__tests__/parallel-executor.integration.test.js +249 -0
  81. package/dist/executor/__tests__/parallel-executor.integration.test.js.map +1 -0
  82. package/dist/executor/__tests__/parallel-executor.unit.test.d.ts +7 -0
  83. package/dist/executor/__tests__/parallel-executor.unit.test.d.ts.map +1 -0
  84. package/dist/executor/__tests__/parallel-executor.unit.test.js +203 -0
  85. package/dist/executor/__tests__/parallel-executor.unit.test.js.map +1 -0
  86. package/dist/executor/checkpoint-manager.d.ts +231 -0
  87. package/dist/executor/checkpoint-manager.d.ts.map +1 -0
  88. package/dist/executor/checkpoint-manager.js +395 -0
  89. package/dist/executor/checkpoint-manager.js.map +1 -0
  90. package/dist/executor/checkpoint-storage.d.ts +230 -0
  91. package/dist/executor/checkpoint-storage.d.ts.map +1 -0
  92. package/dist/executor/checkpoint-storage.js +370 -0
  93. package/dist/executor/checkpoint-storage.js.map +1 -0
  94. package/dist/executor/checkpoint-types.d.ts +48 -0
  95. package/dist/executor/checkpoint-types.d.ts.map +1 -0
  96. package/dist/executor/checkpoint-types.js +8 -0
  97. package/dist/executor/checkpoint-types.js.map +1 -0
  98. package/dist/executor/executor.d.ts +164 -0
  99. package/dist/executor/executor.d.ts.map +1 -0
  100. package/dist/executor/executor.js +408 -0
  101. package/dist/executor/executor.js.map +1 -0
  102. package/dist/executor/index.d.ts +11 -0
  103. package/dist/executor/index.d.ts.map +1 -0
  104. package/dist/executor/index.js +11 -0
  105. package/dist/executor/index.js.map +1 -0
  106. package/dist/executor/memory-monitor.d.ts +115 -0
  107. package/dist/executor/memory-monitor.d.ts.map +1 -0
  108. package/dist/executor/memory-monitor.js +168 -0
  109. package/dist/executor/memory-monitor.js.map +1 -0
  110. package/dist/executor/parallel-executor.d.ts +53 -0
  111. package/dist/executor/parallel-executor.d.ts.map +1 -0
  112. package/dist/executor/parallel-executor.js +194 -0
  113. package/dist/executor/parallel-executor.js.map +1 -0
  114. package/dist/executor/run-id.d.ts +71 -0
  115. package/dist/executor/run-id.d.ts.map +1 -0
  116. package/dist/executor/run-id.js +67 -0
  117. package/dist/executor/run-id.js.map +1 -0
  118. package/dist/executor/worker-entry.d.ts +8 -0
  119. package/dist/executor/worker-entry.d.ts.map +1 -0
  120. package/dist/executor/worker-entry.js +67 -0
  121. package/dist/executor/worker-entry.js.map +1 -0
  122. package/dist/index.cjs +11 -0
  123. package/dist/index.d.ts +15 -0
  124. package/dist/index.d.ts.map +1 -0
  125. package/dist/index.js +24 -0
  126. package/dist/index.js.map +1 -0
  127. package/dist/registry/case-registry.d.ts +113 -0
  128. package/dist/registry/case-registry.d.ts.map +1 -0
  129. package/dist/registry/case-registry.js +160 -0
  130. package/dist/registry/case-registry.js.map +1 -0
  131. package/dist/registry/index.d.ts +8 -0
  132. package/dist/registry/index.d.ts.map +1 -0
  133. package/dist/registry/index.js +8 -0
  134. package/dist/registry/index.js.map +1 -0
  135. package/dist/registry/sut-registry.d.ts +96 -0
  136. package/dist/registry/sut-registry.d.ts.map +1 -0
  137. package/dist/registry/sut-registry.js +126 -0
  138. package/dist/registry/sut-registry.js.map +1 -0
  139. package/dist/renderers/index.d.ts +10 -0
  140. package/dist/renderers/index.d.ts.map +1 -0
  141. package/dist/renderers/index.js +9 -0
  142. package/dist/renderers/index.js.map +1 -0
  143. package/dist/renderers/latex-renderer.d.ts +84 -0
  144. package/dist/renderers/latex-renderer.d.ts.map +1 -0
  145. package/dist/renderers/latex-renderer.js +208 -0
  146. package/dist/renderers/latex-renderer.js.map +1 -0
  147. package/dist/renderers/types.d.ts +106 -0
  148. package/dist/renderers/types.d.ts.map +1 -0
  149. package/dist/renderers/types.js +23 -0
  150. package/dist/renderers/types.js.map +1 -0
  151. package/dist/robustness/analyzer.d.ts +61 -0
  152. package/dist/robustness/analyzer.d.ts.map +1 -0
  153. package/dist/robustness/analyzer.js +191 -0
  154. package/dist/robustness/analyzer.js.map +1 -0
  155. package/dist/robustness/index.d.ts +8 -0
  156. package/dist/robustness/index.d.ts.map +1 -0
  157. package/dist/robustness/index.js +8 -0
  158. package/dist/robustness/index.js.map +1 -0
  159. package/dist/robustness/perturbations.d.ts +46 -0
  160. package/dist/robustness/perturbations.d.ts.map +1 -0
  161. package/dist/robustness/perturbations.js +184 -0
  162. package/dist/robustness/perturbations.js.map +1 -0
  163. package/dist/statistical/index.d.ts +8 -0
  164. package/dist/statistical/index.d.ts.map +1 -0
  165. package/dist/statistical/index.js +8 -0
  166. package/dist/statistical/index.js.map +1 -0
  167. package/dist/statistical/mann-whitney-u.d.ts +62 -0
  168. package/dist/statistical/mann-whitney-u.d.ts.map +1 -0
  169. package/dist/statistical/mann-whitney-u.js +127 -0
  170. package/dist/statistical/mann-whitney-u.js.map +1 -0
  171. package/dist/types/aggregate.d.ts +124 -0
  172. package/dist/types/aggregate.d.ts.map +1 -0
  173. package/dist/types/aggregate.js +9 -0
  174. package/dist/types/aggregate.js.map +1 -0
  175. package/dist/types/case.d.ts +105 -0
  176. package/dist/types/case.d.ts.map +1 -0
  177. package/dist/types/case.js +10 -0
  178. package/dist/types/case.js.map +1 -0
  179. package/dist/types/claims.d.ts +122 -0
  180. package/dist/types/claims.d.ts.map +1 -0
  181. package/dist/types/claims.js +14 -0
  182. package/dist/types/claims.js.map +1 -0
  183. package/dist/types/index.d.ts +12 -0
  184. package/dist/types/index.d.ts.map +1 -0
  185. package/dist/types/index.js +7 -0
  186. package/dist/types/index.js.map +1 -0
  187. package/dist/types/perturbation.d.ts +105 -0
  188. package/dist/types/perturbation.d.ts.map +1 -0
  189. package/dist/types/perturbation.js +9 -0
  190. package/dist/types/perturbation.js.map +1 -0
  191. package/dist/types/result.d.ts +150 -0
  192. package/dist/types/result.d.ts.map +1 -0
  193. package/dist/types/result.js +12 -0
  194. package/dist/types/result.js.map +1 -0
  195. package/dist/types/sut.d.ts +128 -0
  196. package/dist/types/sut.d.ts.map +1 -0
  197. package/dist/types/sut.js +12 -0
  198. package/dist/types/sut.js.map +1 -0
  199. package/package.json +283 -7
package/package.json CHANGED
@@ -1,12 +1,288 @@
1
1
  {
2
2
  "name": "ppef",
3
- "version": "1.0.0",
4
- "description": "",
5
- "main": "index.js",
3
+ "version": "1.0.1",
4
+ "description": "Portable Programmatic Evaluation Framework - Claim-driven, deterministic evaluation for experiments",
5
+ "type": "module",
6
+ "main": "dist/index.cjs",
7
+ "module": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.cjs"
14
+ },
15
+ "./types": {
16
+ "types": "./dist/types/index.d.ts",
17
+ "import": "./dist/types/index.js"
18
+ },
19
+ "./types/*": {
20
+ "types": "./dist/types/*.d.ts",
21
+ "import": "./dist/types/*.js"
22
+ },
23
+ "./registry": {
24
+ "types": "./dist/registry/index.d.ts",
25
+ "import": "./dist/registry/index.js"
26
+ },
27
+ "./registry/*": {
28
+ "types": "./dist/registry/*.d.ts",
29
+ "import": "./dist/registry/*.js"
30
+ },
31
+ "./executor": {
32
+ "types": "./dist/executor/index.d.ts",
33
+ "import": "./dist/executor/index.js"
34
+ },
35
+ "./executor/*": {
36
+ "types": "./dist/executor/*.d.ts",
37
+ "import": "./dist/executor/*.js"
38
+ },
39
+ "./collector": {
40
+ "types": "./dist/collector/index.d.ts",
41
+ "import": "./dist/collector/index.js"
42
+ },
43
+ "./collector/*": {
44
+ "types": "./dist/collector/*.d.ts",
45
+ "import": "./dist/collector/*.js"
46
+ },
47
+ "./statistical": {
48
+ "types": "./dist/statistical/index.d.ts",
49
+ "import": "./dist/statistical/index.js"
50
+ },
51
+ "./aggregation": {
52
+ "types": "./dist/aggregation/index.d.ts",
53
+ "import": "./dist/aggregation/index.js"
54
+ },
55
+ "./aggregation/*": {
56
+ "types": "./dist/aggregation/*.d.ts",
57
+ "import": "./dist/aggregation/*.js"
58
+ },
59
+ "./claims": {
60
+ "types": "./dist/claims/index.d.ts",
61
+ "import": "./dist/claims/index.js"
62
+ },
63
+ "./claims/*": {
64
+ "types": "./dist/claims/*.d.ts",
65
+ "import": "./dist/claims/*.js"
66
+ },
67
+ "./robustness": {
68
+ "types": "./dist/robustness/index.d.ts",
69
+ "import": "./dist/robustness/index.js"
70
+ },
71
+ "./robustness/*": {
72
+ "types": "./dist/robustness/*.d.ts",
73
+ "import": "./dist/robustness/*.js"
74
+ },
75
+ "./renderers": {
76
+ "types": "./dist/renderers/index.d.ts",
77
+ "import": "./dist/renderers/index.js"
78
+ },
79
+ "./renderers/*": {
80
+ "types": "./dist/renderers/*.d.ts",
81
+ "import": "./dist/renderers/*.js"
82
+ }
83
+ },
84
+ "files": [
85
+ "dist"
86
+ ],
87
+ "sideEffects": false,
88
+ "engines": {
89
+ "node": ">=18"
90
+ },
91
+ "c8": {
92
+ "all": true,
93
+ "include": [
94
+ "src/**/*.ts"
95
+ ],
96
+ "exclude": [
97
+ "src/**/*.test.ts",
98
+ "src/**/*.spec.ts",
99
+ "src/**/*.diagnostic.test.ts"
100
+ ],
101
+ "reporter": [
102
+ "text",
103
+ "html",
104
+ "json-summary"
105
+ ],
106
+ "reports-dir": "coverage"
107
+ },
6
108
  "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
109
+ "typecheck": "tsc --noEmit",
110
+ "lint": "eslint 'src/**/!(__tests__)/**/*.ts' --fix",
111
+ "test": "c8 tsx --test src/**/*.test.ts src/**/**/*.test.ts",
112
+ "build": "tsc && node scripts/generate-cjs-wrapper.mjs",
113
+ "prepare": "husky"
114
+ },
115
+ "keywords": [
116
+ "evaluation",
117
+ "framework",
118
+ "testing",
119
+ "experiments",
120
+ "claims-driven"
121
+ ],
122
+ "author": "Joseph Mearman",
123
+ "repository": {
124
+ "type": "git",
125
+ "url": "git+https://github.com/Mearman/ppef.git"
126
+ },
127
+ "release": {
128
+ "branches": [
129
+ "**"
130
+ ],
131
+ "plugins": [
132
+ [
133
+ "@semantic-release/commit-analyzer",
134
+ {
135
+ "preset": "conventionalcommits",
136
+ "releaseRules": [
137
+ {
138
+ "type": "feat",
139
+ "release": "minor"
140
+ },
141
+ {
142
+ "type": "fix",
143
+ "release": "patch"
144
+ },
145
+ {
146
+ "type": "perf",
147
+ "release": "patch"
148
+ },
149
+ {
150
+ "type": "refactor",
151
+ "release": "patch"
152
+ },
153
+ {
154
+ "type": "docs",
155
+ "release": "patch"
156
+ },
157
+ {
158
+ "type": "style",
159
+ "release": "patch"
160
+ },
161
+ {
162
+ "type": "test",
163
+ "release": "patch"
164
+ },
165
+ {
166
+ "type": "build",
167
+ "release": "patch"
168
+ },
169
+ {
170
+ "type": "ci",
171
+ "release": "patch"
172
+ },
173
+ {
174
+ "type": "chore",
175
+ "release": "patch"
176
+ },
177
+ {
178
+ "type": "revert",
179
+ "release": "patch"
180
+ }
181
+ ]
182
+ }
183
+ ],
184
+ [
185
+ "@semantic-release/release-notes-generator",
186
+ {
187
+ "preset": "conventionalcommits",
188
+ "presetConfig": {
189
+ "types": [
190
+ {
191
+ "type": "feat",
192
+ "section": "Features"
193
+ },
194
+ {
195
+ "type": "fix",
196
+ "section": "Bug Fixes"
197
+ },
198
+ {
199
+ "type": "perf",
200
+ "section": "Performance Improvements"
201
+ },
202
+ {
203
+ "type": "refactor",
204
+ "section": "Code Refactoring"
205
+ },
206
+ {
207
+ "type": "docs",
208
+ "section": "Documentation"
209
+ },
210
+ {
211
+ "type": "style",
212
+ "section": "Styles"
213
+ },
214
+ {
215
+ "type": "test",
216
+ "section": "Tests"
217
+ },
218
+ {
219
+ "type": "build",
220
+ "section": "Build System"
221
+ },
222
+ {
223
+ "type": "ci",
224
+ "section": "Continuous Integration"
225
+ },
226
+ {
227
+ "type": "chore",
228
+ "section": "Chores"
229
+ },
230
+ {
231
+ "type": "revert",
232
+ "section": "Reverts"
233
+ }
234
+ ]
235
+ }
236
+ }
237
+ ],
238
+ "@semantic-release/changelog",
239
+ "@semantic-release/npm",
240
+ [
241
+ "@semantic-release/git",
242
+ {
243
+ "assets": [
244
+ "CHANGELOG.md",
245
+ "package.json"
246
+ ],
247
+ "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
248
+ }
249
+ ]
250
+ ]
251
+ },
252
+ "lint-staged": {
253
+ "*.ts": [
254
+ "eslint --fix"
255
+ ],
256
+ "*.js": [
257
+ "eslint --fix"
258
+ ]
259
+ },
260
+ "devDependencies": {
261
+ "@commitlint/cli": "20.3.1",
262
+ "@commitlint/config-conventional": "20.3.1",
263
+ "@eslint/js": "9.39.2",
264
+ "@eslint/markdown": "7.5.1",
265
+ "@semantic-release/changelog": "6.0.3",
266
+ "@semantic-release/git": "10.0.1",
267
+ "@types/node": "25.0.10",
268
+ "c8": "10.1.3",
269
+ "eslint": "9.39.2",
270
+ "eslint-config-prettier": "10.1.8",
271
+ "eslint-plugin-jsonc": "2.21.0",
272
+ "eslint-plugin-prettier": "5.5.5",
273
+ "husky": "9.1.7",
274
+ "jiti": "2.6.1",
275
+ "lint-staged": "16.2.7",
276
+ "prettier": "3.8.1",
277
+ "semantic-release": "25.0.2",
278
+ "tsx": "4.21.0",
279
+ "typescript": "5.9.3",
280
+ "typescript-eslint": "8.53.1"
281
+ },
282
+ "peerDependencies": {
283
+ "typescript": "5.0.0"
8
284
  },
9
- "keywords": [],
10
- "author": "",
11
- "license": "ISC"
285
+ "publishConfig": {
286
+ "provenance": true
287
+ }
12
288
  }