@openpond/evals 0.5.0 → 0.7.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 (118) hide show
  1. package/CONTRACT.md +13 -1
  2. package/LEARNING.md +106 -0
  3. package/README.md +28 -2
  4. package/conformance/telemetry/v1/invalid-batch.json +17 -0
  5. package/conformance/telemetry/v1/valid-batch.json +58 -0
  6. package/dist/graders.js +26 -5
  7. package/dist/index.js +8 -0
  8. package/dist/javascript-verifier-contract.js +7 -0
  9. package/dist/javascript-verifier-node.js +56 -0
  10. package/dist/javascript-verifier-worker-source.js +1 -0
  11. package/dist/javascript-verifier-worker.js +6 -0
  12. package/dist/javascript-verifier.js +64 -0
  13. package/dist/learned-preference.js +334 -0
  14. package/dist/learning/admission.js +209 -0
  15. package/dist/learning/assets.js +37 -0
  16. package/dist/learning/contracts.js +267 -0
  17. package/dist/learning/errors.js +12 -0
  18. package/dist/learning/grade-worker.js +99 -0
  19. package/dist/learning/index.js +9 -0
  20. package/dist/learning/operations.js +33 -0
  21. package/dist/learning/repository.js +48 -0
  22. package/dist/learning/service.js +367 -0
  23. package/dist/learning/transport.js +25 -0
  24. package/dist/preferences.js +77 -11
  25. package/dist/rewards.js +230 -0
  26. package/dist/task-schema.js +142 -0
  27. package/dist/tasksets.js +3 -0
  28. package/dist/telemetry/index.js +4 -0
  29. package/dist/telemetry-analysis.js +183 -0
  30. package/dist/telemetry-bundle.js +60 -0
  31. package/dist/telemetry-catalog.js +50 -0
  32. package/dist/telemetry.js +112 -0
  33. package/dist/types/builtin-benchmarks/harness-refiner.d.ts +7 -0
  34. package/dist/types/builtin-benchmarks/harness-refiner.d.ts.map +1 -1
  35. package/dist/types/conformance.d.ts +14 -0
  36. package/dist/types/conformance.d.ts.map +1 -1
  37. package/dist/types/execution-contracts.d.ts +14 -0
  38. package/dist/types/execution-contracts.d.ts.map +1 -1
  39. package/dist/types/graders.d.ts.map +1 -1
  40. package/dist/types/index.d.ts +8 -0
  41. package/dist/types/index.d.ts.map +1 -1
  42. package/dist/types/javascript-verifier-contract.d.ts +9 -0
  43. package/dist/types/javascript-verifier-contract.d.ts.map +1 -0
  44. package/dist/types/javascript-verifier-node.d.ts +5 -0
  45. package/dist/types/javascript-verifier-node.d.ts.map +1 -0
  46. package/dist/types/javascript-verifier-worker-source.d.ts +2 -0
  47. package/dist/types/javascript-verifier-worker.d.ts +2 -0
  48. package/dist/types/javascript-verifier-worker.d.ts.map +1 -0
  49. package/dist/types/javascript-verifier.d.ts +15 -0
  50. package/dist/types/javascript-verifier.d.ts.map +1 -0
  51. package/dist/types/learned-preference.d.ts +282 -0
  52. package/dist/types/learned-preference.d.ts.map +1 -0
  53. package/dist/types/learning/admission.d.ts +335 -0
  54. package/dist/types/learning/admission.d.ts.map +1 -0
  55. package/dist/types/learning/assets.d.ts +49 -0
  56. package/dist/types/learning/assets.d.ts.map +1 -0
  57. package/dist/types/learning/contracts.d.ts +2149 -0
  58. package/dist/types/learning/contracts.d.ts.map +1 -0
  59. package/dist/types/learning/errors.d.ts +8 -0
  60. package/dist/types/learning/errors.d.ts.map +1 -0
  61. package/dist/types/learning/grade-worker.d.ts +31 -0
  62. package/dist/types/learning/grade-worker.d.ts.map +1 -0
  63. package/dist/types/learning/index.d.ts +10 -0
  64. package/dist/types/learning/index.d.ts.map +1 -0
  65. package/dist/types/learning/operations.d.ts +2061 -0
  66. package/dist/types/learning/operations.d.ts.map +1 -0
  67. package/dist/types/learning/repository.d.ts +1143 -0
  68. package/dist/types/learning/repository.d.ts.map +1 -0
  69. package/dist/types/learning/service.d.ts +22 -0
  70. package/dist/types/learning/service.d.ts.map +1 -0
  71. package/dist/types/learning/transport.d.ts +2139 -0
  72. package/dist/types/learning/transport.d.ts.map +1 -0
  73. package/dist/types/preferences.d.ts +55 -7
  74. package/dist/types/preferences.d.ts.map +1 -1
  75. package/dist/types/review-conformance.d.ts +5 -5
  76. package/dist/types/rewards.d.ts +611 -0
  77. package/dist/types/rewards.d.ts.map +1 -0
  78. package/dist/types/task-schema.d.ts +18 -0
  79. package/dist/types/task-schema.d.ts.map +1 -0
  80. package/dist/types/tasksets.d.ts +28 -0
  81. package/dist/types/tasksets.d.ts.map +1 -1
  82. package/dist/types/telemetry/index.d.ts +5 -0
  83. package/dist/types/telemetry/index.d.ts.map +1 -0
  84. package/dist/types/telemetry-analysis.d.ts +116 -0
  85. package/dist/types/telemetry-analysis.d.ts.map +1 -0
  86. package/dist/types/telemetry-bundle.d.ts +309 -0
  87. package/dist/types/telemetry-bundle.d.ts.map +1 -0
  88. package/dist/types/telemetry-catalog.d.ts +269 -0
  89. package/dist/types/telemetry-catalog.d.ts.map +1 -0
  90. package/dist/types/telemetry.d.ts +266 -0
  91. package/dist/types/telemetry.d.ts.map +1 -0
  92. package/package.json +40 -3
  93. package/schemas/learning/v1/asset.schema.json +89 -0
  94. package/schemas/learning/v1/batch.schema.json +132 -0
  95. package/schemas/learning/v1/binding.schema.json +207 -0
  96. package/schemas/learning/v1/command-request.schema.json +2414 -0
  97. package/schemas/learning/v1/decision.schema.json +440 -0
  98. package/schemas/learning/v1/definition.schema.json +397 -0
  99. package/schemas/learning/v1/evidence.schema.json +317 -0
  100. package/schemas/learning/v1/example-submission.schema.json +253 -0
  101. package/schemas/learning/v1/feedback-submission.schema.json +114 -0
  102. package/schemas/learning/v1/feedback.schema.json +233 -0
  103. package/schemas/learning/v1/grade.schema.json +412 -0
  104. package/schemas/learning/v1/iteration.schema.json +236 -0
  105. package/schemas/learning/v1/package.schema.json +776 -0
  106. package/schemas/learning/v1/policy.schema.json +373 -0
  107. package/schemas/learning/v1/read-request.schema.json +101 -0
  108. package/schemas/learning/v1/reward.schema.json +302 -0
  109. package/schemas/learning/v1/source.schema.json +198 -0
  110. package/schemas/telemetry/v1/evidence-completeness.schema.json +82 -0
  111. package/schemas/telemetry/v1/evidence-reference.schema.json +41 -0
  112. package/schemas/telemetry/v1/metric-definition.schema.json +96 -0
  113. package/schemas/telemetry/v1/metric-observation.schema.json +182 -0
  114. package/schemas/telemetry/v1/run-metric-summary.schema.json +98 -0
  115. package/schemas/telemetry/v1/run-telemetry-batch.schema.json +405 -0
  116. package/schemas/telemetry/v1/run-telemetry-event.schema.json +201 -0
  117. package/schemas/telemetry/v1/telemetry-cohort.schema.json +100 -0
  118. package/schemas/telemetry/v1/telemetry-export-bundle.schema.json +655 -0
@@ -0,0 +1,269 @@
1
+ import { z } from "zod";
2
+ import { type MetricDefinition, type MetricObservation } from "./telemetry.js";
3
+ export declare const CORE_METRIC_CATALOG: readonly [{
4
+ schemaVersion: "openpond.metricDefinition.v1";
5
+ id: string;
6
+ displayName: string;
7
+ description: string;
8
+ valueType: "gauge" | "counter" | "distribution";
9
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
10
+ direction: "higher" | "lower" | "neutral";
11
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
12
+ visibility: "host_private" | "policy_visible" | "team_visible";
13
+ boundedDimensions: string[];
14
+ }, {
15
+ schemaVersion: "openpond.metricDefinition.v1";
16
+ id: string;
17
+ displayName: string;
18
+ description: string;
19
+ valueType: "gauge" | "counter" | "distribution";
20
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
21
+ direction: "higher" | "lower" | "neutral";
22
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
23
+ visibility: "host_private" | "policy_visible" | "team_visible";
24
+ boundedDimensions: string[];
25
+ }, {
26
+ schemaVersion: "openpond.metricDefinition.v1";
27
+ id: string;
28
+ displayName: string;
29
+ description: string;
30
+ valueType: "gauge" | "counter" | "distribution";
31
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
32
+ direction: "higher" | "lower" | "neutral";
33
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
34
+ visibility: "host_private" | "policy_visible" | "team_visible";
35
+ boundedDimensions: string[];
36
+ }, {
37
+ schemaVersion: "openpond.metricDefinition.v1";
38
+ id: string;
39
+ displayName: string;
40
+ description: string;
41
+ valueType: "gauge" | "counter" | "distribution";
42
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
43
+ direction: "higher" | "lower" | "neutral";
44
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
45
+ visibility: "host_private" | "policy_visible" | "team_visible";
46
+ boundedDimensions: string[];
47
+ }, {
48
+ schemaVersion: "openpond.metricDefinition.v1";
49
+ id: string;
50
+ displayName: string;
51
+ description: string;
52
+ valueType: "gauge" | "counter" | "distribution";
53
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
54
+ direction: "higher" | "lower" | "neutral";
55
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
56
+ visibility: "host_private" | "policy_visible" | "team_visible";
57
+ boundedDimensions: string[];
58
+ }, {
59
+ schemaVersion: "openpond.metricDefinition.v1";
60
+ id: string;
61
+ displayName: string;
62
+ description: string;
63
+ valueType: "gauge" | "counter" | "distribution";
64
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
65
+ direction: "higher" | "lower" | "neutral";
66
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
67
+ visibility: "host_private" | "policy_visible" | "team_visible";
68
+ boundedDimensions: string[];
69
+ }, {
70
+ schemaVersion: "openpond.metricDefinition.v1";
71
+ id: string;
72
+ displayName: string;
73
+ description: string;
74
+ valueType: "gauge" | "counter" | "distribution";
75
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
76
+ direction: "higher" | "lower" | "neutral";
77
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
78
+ visibility: "host_private" | "policy_visible" | "team_visible";
79
+ boundedDimensions: string[];
80
+ }, {
81
+ schemaVersion: "openpond.metricDefinition.v1";
82
+ id: string;
83
+ displayName: string;
84
+ description: string;
85
+ valueType: "gauge" | "counter" | "distribution";
86
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
87
+ direction: "higher" | "lower" | "neutral";
88
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
89
+ visibility: "host_private" | "policy_visible" | "team_visible";
90
+ boundedDimensions: string[];
91
+ }, {
92
+ schemaVersion: "openpond.metricDefinition.v1";
93
+ id: string;
94
+ displayName: string;
95
+ description: string;
96
+ valueType: "gauge" | "counter" | "distribution";
97
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
98
+ direction: "higher" | "lower" | "neutral";
99
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
100
+ visibility: "host_private" | "policy_visible" | "team_visible";
101
+ boundedDimensions: string[];
102
+ }, {
103
+ schemaVersion: "openpond.metricDefinition.v1";
104
+ id: string;
105
+ displayName: string;
106
+ description: string;
107
+ valueType: "gauge" | "counter" | "distribution";
108
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
109
+ direction: "higher" | "lower" | "neutral";
110
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
111
+ visibility: "host_private" | "policy_visible" | "team_visible";
112
+ boundedDimensions: string[];
113
+ }, {
114
+ schemaVersion: "openpond.metricDefinition.v1";
115
+ id: string;
116
+ displayName: string;
117
+ description: string;
118
+ valueType: "gauge" | "counter" | "distribution";
119
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
120
+ direction: "higher" | "lower" | "neutral";
121
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
122
+ visibility: "host_private" | "policy_visible" | "team_visible";
123
+ boundedDimensions: string[];
124
+ }, {
125
+ schemaVersion: "openpond.metricDefinition.v1";
126
+ id: string;
127
+ displayName: string;
128
+ description: string;
129
+ valueType: "gauge" | "counter" | "distribution";
130
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
131
+ direction: "higher" | "lower" | "neutral";
132
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
133
+ visibility: "host_private" | "policy_visible" | "team_visible";
134
+ boundedDimensions: string[];
135
+ }, {
136
+ schemaVersion: "openpond.metricDefinition.v1";
137
+ id: string;
138
+ displayName: string;
139
+ description: string;
140
+ valueType: "gauge" | "counter" | "distribution";
141
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
142
+ direction: "higher" | "lower" | "neutral";
143
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
144
+ visibility: "host_private" | "policy_visible" | "team_visible";
145
+ boundedDimensions: string[];
146
+ }, {
147
+ schemaVersion: "openpond.metricDefinition.v1";
148
+ id: string;
149
+ displayName: string;
150
+ description: string;
151
+ valueType: "gauge" | "counter" | "distribution";
152
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
153
+ direction: "higher" | "lower" | "neutral";
154
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
155
+ visibility: "host_private" | "policy_visible" | "team_visible";
156
+ boundedDimensions: string[];
157
+ }, {
158
+ schemaVersion: "openpond.metricDefinition.v1";
159
+ id: string;
160
+ displayName: string;
161
+ description: string;
162
+ valueType: "gauge" | "counter" | "distribution";
163
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
164
+ direction: "higher" | "lower" | "neutral";
165
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
166
+ visibility: "host_private" | "policy_visible" | "team_visible";
167
+ boundedDimensions: string[];
168
+ }, {
169
+ schemaVersion: "openpond.metricDefinition.v1";
170
+ id: string;
171
+ displayName: string;
172
+ description: string;
173
+ valueType: "gauge" | "counter" | "distribution";
174
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
175
+ direction: "higher" | "lower" | "neutral";
176
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
177
+ visibility: "host_private" | "policy_visible" | "team_visible";
178
+ boundedDimensions: string[];
179
+ }, {
180
+ schemaVersion: "openpond.metricDefinition.v1";
181
+ id: string;
182
+ displayName: string;
183
+ description: string;
184
+ valueType: "gauge" | "counter" | "distribution";
185
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
186
+ direction: "higher" | "lower" | "neutral";
187
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
188
+ visibility: "host_private" | "policy_visible" | "team_visible";
189
+ boundedDimensions: string[];
190
+ }, {
191
+ schemaVersion: "openpond.metricDefinition.v1";
192
+ id: string;
193
+ displayName: string;
194
+ description: string;
195
+ valueType: "gauge" | "counter" | "distribution";
196
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
197
+ direction: "higher" | "lower" | "neutral";
198
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
199
+ visibility: "host_private" | "policy_visible" | "team_visible";
200
+ boundedDimensions: string[];
201
+ }, {
202
+ schemaVersion: "openpond.metricDefinition.v1";
203
+ id: string;
204
+ displayName: string;
205
+ description: string;
206
+ valueType: "gauge" | "counter" | "distribution";
207
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
208
+ direction: "higher" | "lower" | "neutral";
209
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
210
+ visibility: "host_private" | "policy_visible" | "team_visible";
211
+ boundedDimensions: string[];
212
+ }, {
213
+ schemaVersion: "openpond.metricDefinition.v1";
214
+ id: string;
215
+ displayName: string;
216
+ description: string;
217
+ valueType: "gauge" | "counter" | "distribution";
218
+ unit: "ratio" | "count" | "seconds" | "milliseconds" | "tokens" | "bytes" | "usd" | "scalar";
219
+ direction: "higher" | "lower" | "neutral";
220
+ aggregation: "last" | "sum" | "mean" | "min" | "max" | "p50" | "p95";
221
+ visibility: "host_private" | "policy_visible" | "team_visible";
222
+ boundedDimensions: string[];
223
+ }];
224
+ export type CoreMetricId = (typeof CORE_METRIC_CATALOG)[number]["id"];
225
+ export declare function getCoreMetricDefinition(metricId: string): MetricDefinition | undefined;
226
+ export declare function validateCoreMetricObservation(input: MetricObservation): MetricObservation;
227
+ export declare function validateMetricObservation(input: MetricObservation, definitions: readonly MetricDefinition[]): MetricObservation;
228
+ export declare const MetricCatalogSchema: z.ZodArray<z.ZodObject<{
229
+ schemaVersion: z.ZodLiteral<"openpond.metricDefinition.v1">;
230
+ id: z.ZodString;
231
+ displayName: z.ZodString;
232
+ description: z.ZodString;
233
+ valueType: z.ZodEnum<{
234
+ gauge: "gauge";
235
+ counter: "counter";
236
+ distribution: "distribution";
237
+ }>;
238
+ unit: z.ZodEnum<{
239
+ ratio: "ratio";
240
+ count: "count";
241
+ seconds: "seconds";
242
+ milliseconds: "milliseconds";
243
+ tokens: "tokens";
244
+ bytes: "bytes";
245
+ usd: "usd";
246
+ scalar: "scalar";
247
+ }>;
248
+ direction: z.ZodEnum<{
249
+ higher: "higher";
250
+ lower: "lower";
251
+ neutral: "neutral";
252
+ }>;
253
+ aggregation: z.ZodEnum<{
254
+ last: "last";
255
+ sum: "sum";
256
+ mean: "mean";
257
+ min: "min";
258
+ max: "max";
259
+ p50: "p50";
260
+ p95: "p95";
261
+ }>;
262
+ visibility: z.ZodEnum<{
263
+ host_private: "host_private";
264
+ policy_visible: "policy_visible";
265
+ team_visible: "team_visible";
266
+ }>;
267
+ boundedDimensions: z.ZodArray<z.ZodString>;
268
+ }, z.core.$strict>>;
269
+ //# sourceMappingURL=telemetry-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry-catalog.d.ts","sourceRoot":"","sources":["../../../../src/telemetry-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAA0B,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAKvG,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBtB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAGtE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAEtF;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAEzF;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,gBAAgB,EAAE,GAAG,iBAAiB,CAU/H;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAI9B,CAAC"}
@@ -0,0 +1,266 @@
1
+ import { z } from "zod";
2
+ export declare const RUN_TELEMETRY_SCHEMA_VERSION: "openpond.runTelemetryEvent.v1";
3
+ export declare const METRIC_DEFINITION_SCHEMA_VERSION: "openpond.metricDefinition.v1";
4
+ export declare const METRIC_OBSERVATION_SCHEMA_VERSION: "openpond.metricObservation.v1";
5
+ export declare const TelemetryVisibilitySchema: z.ZodEnum<{
6
+ host_private: "host_private";
7
+ policy_visible: "policy_visible";
8
+ team_visible: "team_visible";
9
+ }>;
10
+ export declare const TelemetrySourceSchema: z.ZodEnum<{
11
+ environment: "environment";
12
+ evaluation: "evaluation";
13
+ runtime: "runtime";
14
+ grader: "grader";
15
+ optimizer: "optimizer";
16
+ control_plane: "control_plane";
17
+ }>;
18
+ export declare const TelemetryEventTypeSchema: z.ZodEnum<{
19
+ cleanup_completed: "cleanup_completed";
20
+ run_started: "run_started";
21
+ run_state_changed: "run_state_changed";
22
+ rollout_group_started: "rollout_group_started";
23
+ attempt_completed: "attempt_completed";
24
+ grader_completed: "grader_completed";
25
+ reward_composed: "reward_composed";
26
+ optimizer_step_completed: "optimizer_step_completed";
27
+ checkpoint_committed: "checkpoint_committed";
28
+ evaluation_completed: "evaluation_completed";
29
+ run_completed: "run_completed";
30
+ run_failed: "run_failed";
31
+ }>;
32
+ export declare const RunTelemetryLineageSchema: z.ZodObject<{
33
+ modelProjectId: z.ZodString;
34
+ runId: z.ZodString;
35
+ modelVersionId: z.ZodNullable<z.ZodString>;
36
+ harnessReleaseHash: z.ZodString;
37
+ tasksetReleaseHash: z.ZodString;
38
+ environmentReleaseHash: z.ZodNullable<z.ZodString>;
39
+ checkpointId: z.ZodNullable<z.ZodString>;
40
+ step: z.ZodNullable<z.ZodNumber>;
41
+ rolloutGroupId: z.ZodNullable<z.ZodString>;
42
+ attemptId: z.ZodNullable<z.ZodString>;
43
+ scenarioId: z.ZodNullable<z.ZodString>;
44
+ }, z.core.$strict>;
45
+ export declare const RunTelemetryEventSchema: z.ZodObject<{
46
+ schemaVersion: z.ZodLiteral<"openpond.runTelemetryEvent.v1">;
47
+ eventId: z.ZodString;
48
+ sequence: z.ZodNumber;
49
+ occurredAt: z.ZodString;
50
+ source: z.ZodEnum<{
51
+ environment: "environment";
52
+ evaluation: "evaluation";
53
+ runtime: "runtime";
54
+ grader: "grader";
55
+ optimizer: "optimizer";
56
+ control_plane: "control_plane";
57
+ }>;
58
+ type: z.ZodEnum<{
59
+ cleanup_completed: "cleanup_completed";
60
+ run_started: "run_started";
61
+ run_state_changed: "run_state_changed";
62
+ rollout_group_started: "rollout_group_started";
63
+ attempt_completed: "attempt_completed";
64
+ grader_completed: "grader_completed";
65
+ reward_composed: "reward_composed";
66
+ optimizer_step_completed: "optimizer_step_completed";
67
+ checkpoint_committed: "checkpoint_committed";
68
+ evaluation_completed: "evaluation_completed";
69
+ run_completed: "run_completed";
70
+ run_failed: "run_failed";
71
+ }>;
72
+ visibility: z.ZodEnum<{
73
+ host_private: "host_private";
74
+ policy_visible: "policy_visible";
75
+ team_visible: "team_visible";
76
+ }>;
77
+ lineage: z.ZodObject<{
78
+ modelProjectId: z.ZodString;
79
+ runId: z.ZodString;
80
+ modelVersionId: z.ZodNullable<z.ZodString>;
81
+ harnessReleaseHash: z.ZodString;
82
+ tasksetReleaseHash: z.ZodString;
83
+ environmentReleaseHash: z.ZodNullable<z.ZodString>;
84
+ checkpointId: z.ZodNullable<z.ZodString>;
85
+ step: z.ZodNullable<z.ZodNumber>;
86
+ rolloutGroupId: z.ZodNullable<z.ZodString>;
87
+ attemptId: z.ZodNullable<z.ZodString>;
88
+ scenarioId: z.ZodNullable<z.ZodString>;
89
+ }, z.core.$strict>;
90
+ attributes: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
91
+ }, z.core.$strict>;
92
+ export declare const MetricValueTypeSchema: z.ZodEnum<{
93
+ gauge: "gauge";
94
+ counter: "counter";
95
+ distribution: "distribution";
96
+ }>;
97
+ export declare const MetricUnitSchema: z.ZodEnum<{
98
+ ratio: "ratio";
99
+ count: "count";
100
+ seconds: "seconds";
101
+ milliseconds: "milliseconds";
102
+ tokens: "tokens";
103
+ bytes: "bytes";
104
+ usd: "usd";
105
+ scalar: "scalar";
106
+ }>;
107
+ export declare const MetricDirectionSchema: z.ZodEnum<{
108
+ higher: "higher";
109
+ lower: "lower";
110
+ neutral: "neutral";
111
+ }>;
112
+ export declare const MetricAggregationSchema: z.ZodEnum<{
113
+ last: "last";
114
+ sum: "sum";
115
+ mean: "mean";
116
+ min: "min";
117
+ max: "max";
118
+ p50: "p50";
119
+ p95: "p95";
120
+ }>;
121
+ export declare const MetricDefinitionSchema: z.ZodObject<{
122
+ schemaVersion: z.ZodLiteral<"openpond.metricDefinition.v1">;
123
+ id: z.ZodString;
124
+ displayName: z.ZodString;
125
+ description: z.ZodString;
126
+ valueType: z.ZodEnum<{
127
+ gauge: "gauge";
128
+ counter: "counter";
129
+ distribution: "distribution";
130
+ }>;
131
+ unit: z.ZodEnum<{
132
+ ratio: "ratio";
133
+ count: "count";
134
+ seconds: "seconds";
135
+ milliseconds: "milliseconds";
136
+ tokens: "tokens";
137
+ bytes: "bytes";
138
+ usd: "usd";
139
+ scalar: "scalar";
140
+ }>;
141
+ direction: z.ZodEnum<{
142
+ higher: "higher";
143
+ lower: "lower";
144
+ neutral: "neutral";
145
+ }>;
146
+ aggregation: z.ZodEnum<{
147
+ last: "last";
148
+ sum: "sum";
149
+ mean: "mean";
150
+ min: "min";
151
+ max: "max";
152
+ p50: "p50";
153
+ p95: "p95";
154
+ }>;
155
+ visibility: z.ZodEnum<{
156
+ host_private: "host_private";
157
+ policy_visible: "policy_visible";
158
+ team_visible: "team_visible";
159
+ }>;
160
+ boundedDimensions: z.ZodArray<z.ZodString>;
161
+ }, z.core.$strict>;
162
+ export declare const MetricObservationSchema: z.ZodObject<{
163
+ schemaVersion: z.ZodLiteral<"openpond.metricObservation.v1">;
164
+ observationId: z.ZodString;
165
+ metricId: z.ZodString;
166
+ eventId: z.ZodString;
167
+ sequence: z.ZodNumber;
168
+ observedAt: z.ZodString;
169
+ value: z.ZodNumber;
170
+ lineage: z.ZodObject<{
171
+ modelProjectId: z.ZodString;
172
+ runId: z.ZodString;
173
+ modelVersionId: z.ZodNullable<z.ZodString>;
174
+ harnessReleaseHash: z.ZodString;
175
+ tasksetReleaseHash: z.ZodString;
176
+ environmentReleaseHash: z.ZodNullable<z.ZodString>;
177
+ checkpointId: z.ZodNullable<z.ZodString>;
178
+ step: z.ZodNullable<z.ZodNumber>;
179
+ rolloutGroupId: z.ZodNullable<z.ZodString>;
180
+ attemptId: z.ZodNullable<z.ZodString>;
181
+ scenarioId: z.ZodNullable<z.ZodString>;
182
+ }, z.core.$strict>;
183
+ dimensions: z.ZodRecord<z.ZodString, z.ZodString>;
184
+ }, z.core.$strict>;
185
+ export declare const RunTelemetryBatchSchema: z.ZodObject<{
186
+ schemaVersion: z.ZodLiteral<"openpond.runTelemetryBatch.v1">;
187
+ events: z.ZodArray<z.ZodObject<{
188
+ schemaVersion: z.ZodLiteral<"openpond.runTelemetryEvent.v1">;
189
+ eventId: z.ZodString;
190
+ sequence: z.ZodNumber;
191
+ occurredAt: z.ZodString;
192
+ source: z.ZodEnum<{
193
+ environment: "environment";
194
+ evaluation: "evaluation";
195
+ runtime: "runtime";
196
+ grader: "grader";
197
+ optimizer: "optimizer";
198
+ control_plane: "control_plane";
199
+ }>;
200
+ type: z.ZodEnum<{
201
+ cleanup_completed: "cleanup_completed";
202
+ run_started: "run_started";
203
+ run_state_changed: "run_state_changed";
204
+ rollout_group_started: "rollout_group_started";
205
+ attempt_completed: "attempt_completed";
206
+ grader_completed: "grader_completed";
207
+ reward_composed: "reward_composed";
208
+ optimizer_step_completed: "optimizer_step_completed";
209
+ checkpoint_committed: "checkpoint_committed";
210
+ evaluation_completed: "evaluation_completed";
211
+ run_completed: "run_completed";
212
+ run_failed: "run_failed";
213
+ }>;
214
+ visibility: z.ZodEnum<{
215
+ host_private: "host_private";
216
+ policy_visible: "policy_visible";
217
+ team_visible: "team_visible";
218
+ }>;
219
+ lineage: z.ZodObject<{
220
+ modelProjectId: z.ZodString;
221
+ runId: z.ZodString;
222
+ modelVersionId: z.ZodNullable<z.ZodString>;
223
+ harnessReleaseHash: z.ZodString;
224
+ tasksetReleaseHash: z.ZodString;
225
+ environmentReleaseHash: z.ZodNullable<z.ZodString>;
226
+ checkpointId: z.ZodNullable<z.ZodString>;
227
+ step: z.ZodNullable<z.ZodNumber>;
228
+ rolloutGroupId: z.ZodNullable<z.ZodString>;
229
+ attemptId: z.ZodNullable<z.ZodString>;
230
+ scenarioId: z.ZodNullable<z.ZodString>;
231
+ }, z.core.$strict>;
232
+ attributes: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
233
+ }, z.core.$strict>>;
234
+ observations: z.ZodArray<z.ZodObject<{
235
+ schemaVersion: z.ZodLiteral<"openpond.metricObservation.v1">;
236
+ observationId: z.ZodString;
237
+ metricId: z.ZodString;
238
+ eventId: z.ZodString;
239
+ sequence: z.ZodNumber;
240
+ observedAt: z.ZodString;
241
+ value: z.ZodNumber;
242
+ lineage: z.ZodObject<{
243
+ modelProjectId: z.ZodString;
244
+ runId: z.ZodString;
245
+ modelVersionId: z.ZodNullable<z.ZodString>;
246
+ harnessReleaseHash: z.ZodString;
247
+ tasksetReleaseHash: z.ZodString;
248
+ environmentReleaseHash: z.ZodNullable<z.ZodString>;
249
+ checkpointId: z.ZodNullable<z.ZodString>;
250
+ step: z.ZodNullable<z.ZodNumber>;
251
+ rolloutGroupId: z.ZodNullable<z.ZodString>;
252
+ attemptId: z.ZodNullable<z.ZodString>;
253
+ scenarioId: z.ZodNullable<z.ZodString>;
254
+ }, z.core.$strict>;
255
+ dimensions: z.ZodRecord<z.ZodString, z.ZodString>;
256
+ }, z.core.$strict>>;
257
+ }, z.core.$strict>;
258
+ export type TelemetryVisibility = z.infer<typeof TelemetryVisibilitySchema>;
259
+ export type TelemetrySource = z.infer<typeof TelemetrySourceSchema>;
260
+ export type TelemetryEventType = z.infer<typeof TelemetryEventTypeSchema>;
261
+ export type RunTelemetryLineage = z.infer<typeof RunTelemetryLineageSchema>;
262
+ export type RunTelemetryEvent = z.infer<typeof RunTelemetryEventSchema>;
263
+ export type MetricDefinition = z.infer<typeof MetricDefinitionSchema>;
264
+ export type MetricObservation = z.infer<typeof MetricObservationSchema>;
265
+ export type RunTelemetryBatch = z.infer<typeof RunTelemetryBatchSchema>;
266
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../../../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,4BAA4B,EAAG,+BAAwC,CAAC;AACrF,eAAO,MAAM,gCAAgC,EAAG,8BAAuC,CAAC;AACxF,eAAO,MAAM,iCAAiC,EAAG,+BAAwC,CAAC;AAE1F,eAAO,MAAM,yBAAyB;;;;EAIpC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;EAOhC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;EAanC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;kBAY3B,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAUzB,CAAC;AAEZ,eAAO,MAAM,qBAAqB;;;;EAA+C,CAAC;AAClF,eAAO,MAAM,gBAAgB;;;;;;;;;EAS3B,CAAC;AACH,eAAO,MAAM,qBAAqB;;;;EAAyC,CAAC;AAC5E,eAAO,MAAM,uBAAuB;;;;;;;;EAA8D,CAAC;AAEnG,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWxB,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;kBAUzB,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmBlC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,19 +1,43 @@
1
1
  {
2
2
  "name": "@openpond/evals",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "Portable Tasksets, graders, evaluation runs, receipts, conformance fixtures, and Work evidence for OpenPond Harnesses",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
+ "sideEffects": false,
7
8
  "main": "./dist/index.js",
8
9
  "types": "./dist/types/index.d.ts",
9
10
  "files": [
10
11
  "dist",
12
+ "conformance",
13
+ "schemas",
11
14
  "README.md",
12
15
  "CONTRACT.md",
13
16
  "RELEASING.md",
17
+ "LEARNING.md",
14
18
  "LICENSE"
15
19
  ],
16
20
  "exports": {
21
+ "./javascript-verifier/node": {
22
+ "types": "./dist/types/javascript-verifier-node.d.ts",
23
+ "import": "./dist/javascript-verifier-node.js"
24
+ },
25
+ "./javascript-verifier": {
26
+ "types": "./dist/types/javascript-verifier.d.ts",
27
+ "import": "./dist/javascript-verifier.js"
28
+ },
29
+ "./task-schema": {
30
+ "types": "./dist/types/task-schema.d.ts",
31
+ "import": "./dist/task-schema.js"
32
+ },
33
+ "./learning": {
34
+ "types": "./dist/types/learning/index.d.ts",
35
+ "import": "./dist/learning/index.js"
36
+ },
37
+ "./rewards": {
38
+ "types": "./dist/types/rewards.d.ts",
39
+ "import": "./dist/rewards.js"
40
+ },
17
41
  ".": {
18
42
  "types": "./dist/types/index.d.ts",
19
43
  "import": "./dist/index.js"
@@ -42,10 +66,18 @@
42
66
  "types": "./dist/types/rollouts.d.ts",
43
67
  "import": "./dist/rollouts.js"
44
68
  },
69
+ "./telemetry": {
70
+ "types": "./dist/types/telemetry/index.d.ts",
71
+ "import": "./dist/telemetry/index.js"
72
+ },
45
73
  "./preferences": {
46
74
  "types": "./dist/types/preferences.d.ts",
47
75
  "import": "./dist/preferences.js"
48
76
  },
77
+ "./learned-preference": {
78
+ "types": "./dist/types/learned-preference.d.ts",
79
+ "import": "./dist/learned-preference.js"
80
+ },
49
81
  "./review": {
50
82
  "types": "./dist/types/review-conformance.d.ts",
51
83
  "import": "./dist/review-conformance.js"
@@ -81,14 +113,18 @@
81
113
  "node": ">=22.14.0 <25"
82
114
  },
83
115
  "scripts": {
84
- "build": "tsx scripts/build.ts",
116
+ "build": "tsx scripts/generate-telemetry-schemas.ts && tsx scripts/generate-learning-schemas.ts && tsx scripts/build.ts",
85
117
  "typecheck": "tsc --noEmit --project tsconfig.json",
86
118
  "test": "vitest run --root ../.. --config vitest.config.ts --project evals",
87
119
  "check:api": "tsx scripts/check-public-package.ts",
88
120
  "check:consumer": "tsx scripts/verify-packed-consumer.ts",
89
- "check": "pnpm run typecheck && pnpm run test && pnpm run build && pnpm run check:api && pnpm run check:consumer && npm pack --dry-run"
121
+ "check": "pnpm run typecheck && pnpm run test && pnpm run build && pnpm run check:api && pnpm run check:consumer && npm pack --dry-run",
122
+ "publish:check": "pnpm run build && pnpm run check:api && pnpm run check:consumer && npm pack --dry-run"
90
123
  },
91
124
  "dependencies": {
125
+ "@jitl/quickjs-singlefile-cjs-release-sync": "0.32.0",
126
+ "ajv": "^8.20.0",
127
+ "quickjs-emscripten-core": "0.32.0",
92
128
  "zod": "^4.1.13"
93
129
  },
94
130
  "peerDependencies": {
@@ -97,6 +133,7 @@
97
133
  "devDependencies": {
98
134
  "@openpond/harness": "workspace:*",
99
135
  "@types/node": "24.13.3",
136
+ "esbuild": "0.28.1",
100
137
  "tsx": "4.23.1",
101
138
  "typescript": "^5.9.3",
102
139
  "vitest": "4.1.10"