@openpond/evals 0.10.9 → 0.11.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 (101) hide show
  1. package/LEARNING.md +35 -0
  2. package/dist/graders.js +19 -4
  3. package/dist/learning/budgeted-reward-fixtures.js +34 -0
  4. package/dist/learning/contracts.js +5 -0
  5. package/dist/learning/grade-judge-budget.js +26 -0
  6. package/dist/learning/index.js +8 -0
  7. package/dist/learning/intake-history.js +2 -1
  8. package/dist/learning/intake-text.js +14 -0
  9. package/dist/learning/intake.js +5 -2
  10. package/dist/learning/iteration-eligibility.js +5 -2
  11. package/dist/learning/iteration-reservation-contracts.js +1 -0
  12. package/dist/learning/iteration-reservation-service.js +11 -2
  13. package/dist/learning/judge-budget.js +59 -0
  14. package/dist/learning/model-judge.js +49 -0
  15. package/dist/learning/nightly-schedule.js +69 -0
  16. package/dist/learning/operations.js +3 -1
  17. package/dist/learning/reward-authoring.js +4 -0
  18. package/dist/learning/reward-calibration.js +66 -0
  19. package/dist/learning/reward-check-budget.js +27 -0
  20. package/dist/learning/reward-check-service.js +2 -2
  21. package/dist/learning/reward-check-worker.js +10 -2
  22. package/dist/learning/reward-checks.js +4 -1
  23. package/dist/learning/reward-fixture-executor.js +3 -2
  24. package/dist/learning/schedule-contracts.js +5 -1
  25. package/dist/learning/schedule-service.js +9 -5
  26. package/dist/learning/schedule-worker.js +22 -7
  27. package/dist/learning/service.js +40 -6
  28. package/dist/learning/task-queue-inspection.js +48 -0
  29. package/dist/learning/transport.js +1 -0
  30. package/dist/rewards.js +15 -3
  31. package/dist/rollouts.js +2 -2
  32. package/dist/types/graders.d.ts +51 -0
  33. package/dist/types/graders.d.ts.map +1 -1
  34. package/dist/types/learning/admission.d.ts +5 -0
  35. package/dist/types/learning/admission.d.ts.map +1 -1
  36. package/dist/types/learning/budgeted-reward-fixtures.d.ts +27 -0
  37. package/dist/types/learning/budgeted-reward-fixtures.d.ts.map +1 -0
  38. package/dist/types/learning/contracts.d.ts +313 -0
  39. package/dist/types/learning/contracts.d.ts.map +1 -1
  40. package/dist/types/learning/grade-judge-budget.d.ts +10 -0
  41. package/dist/types/learning/grade-judge-budget.d.ts.map +1 -0
  42. package/dist/types/learning/index.d.ts +8 -0
  43. package/dist/types/learning/index.d.ts.map +1 -1
  44. package/dist/types/learning/intake-history.d.ts.map +1 -1
  45. package/dist/types/learning/intake-text.d.ts +6 -0
  46. package/dist/types/learning/intake-text.d.ts.map +1 -0
  47. package/dist/types/learning/intake.d.ts +1 -0
  48. package/dist/types/learning/intake.d.ts.map +1 -1
  49. package/dist/types/learning/iteration-dispatch-contracts.d.ts +1 -1
  50. package/dist/types/learning/iteration-eligibility.d.ts +8 -1
  51. package/dist/types/learning/iteration-eligibility.d.ts.map +1 -1
  52. package/dist/types/learning/iteration-reservation-contracts.d.ts +7 -1
  53. package/dist/types/learning/iteration-reservation-contracts.d.ts.map +1 -1
  54. package/dist/types/learning/iteration-reservation-service.d.ts.map +1 -1
  55. package/dist/types/learning/judge-budget.d.ts +43 -0
  56. package/dist/types/learning/judge-budget.d.ts.map +1 -0
  57. package/dist/types/learning/model-judge.d.ts +29 -0
  58. package/dist/types/learning/model-judge.d.ts.map +1 -0
  59. package/dist/types/learning/nightly-schedule.d.ts +13 -0
  60. package/dist/types/learning/nightly-schedule.d.ts.map +1 -0
  61. package/dist/types/learning/operations.d.ts +63 -0
  62. package/dist/types/learning/operations.d.ts.map +1 -1
  63. package/dist/types/learning/repository.d.ts +188 -4
  64. package/dist/types/learning/repository.d.ts.map +1 -1
  65. package/dist/types/learning/reward-authoring.d.ts.map +1 -1
  66. package/dist/types/learning/reward-calibration.d.ts +129 -0
  67. package/dist/types/learning/reward-calibration.d.ts.map +1 -0
  68. package/dist/types/learning/reward-check-budget.d.ts +12 -0
  69. package/dist/types/learning/reward-check-budget.d.ts.map +1 -0
  70. package/dist/types/learning/reward-check-service.d.ts +1 -1
  71. package/dist/types/learning/reward-check-service.d.ts.map +1 -1
  72. package/dist/types/learning/reward-check-worker.d.ts.map +1 -1
  73. package/dist/types/learning/reward-checks.d.ts +84 -0
  74. package/dist/types/learning/reward-checks.d.ts.map +1 -1
  75. package/dist/types/learning/reward-fixture-executor.d.ts +3 -0
  76. package/dist/types/learning/reward-fixture-executor.d.ts.map +1 -1
  77. package/dist/types/learning/schedule-contracts.d.ts +5 -1
  78. package/dist/types/learning/schedule-contracts.d.ts.map +1 -1
  79. package/dist/types/learning/schedule-service.d.ts +4 -0
  80. package/dist/types/learning/schedule-service.d.ts.map +1 -1
  81. package/dist/types/learning/schedule-worker.d.ts.map +1 -1
  82. package/dist/types/learning/service.d.ts +10 -0
  83. package/dist/types/learning/service.d.ts.map +1 -1
  84. package/dist/types/learning/task-queue-inspection.d.ts +25 -0
  85. package/dist/types/learning/task-queue-inspection.d.ts.map +1 -0
  86. package/dist/types/learning/transport.d.ts +224 -5
  87. package/dist/types/learning/transport.d.ts.map +1 -1
  88. package/dist/types/rewards.d.ts +107 -0
  89. package/dist/types/rewards.d.ts.map +1 -1
  90. package/dist/types/rollouts.d.ts.map +1 -1
  91. package/package.json +1 -1
  92. package/schemas/learning/v1/command-request.schema.json +266 -169
  93. package/schemas/learning/v1/decision.schema.json +192 -0
  94. package/schemas/learning/v1/grade.schema.json +335 -3
  95. package/schemas/learning/v1/policy.schema.json +24 -0
  96. package/schemas/learning/v1/read-request.schema.json +28 -0
  97. package/schemas/learning/v1/reservation.schema.json +17 -0
  98. package/schemas/learning/v1/reward.schema.json +22 -0
  99. package/schemas/learning/v1/reward_check.schema.json +335 -3
  100. package/schemas/learning/v1/schedule.schema.json +44 -13
  101. package/schemas/learning/v1/task-queue-inspection.schema.json +72 -0
@@ -111,6 +111,16 @@
111
111
  "minimum": 0,
112
112
  "maximum": 1000
113
113
  },
114
+ "judgeCalls": {
115
+ "maxItems": 1000,
116
+ "type": "array",
117
+ "items": {
118
+ "$ref": "#/$defs/__schema6"
119
+ }
120
+ },
121
+ "requestedBy": {
122
+ "$ref": "#/$defs/__schema0"
123
+ },
114
124
  "leaseOwner": {
115
125
  "anyOf": [
116
126
  {
@@ -124,7 +134,7 @@
124
134
  "leaseExpiresAt": {
125
135
  "anyOf": [
126
136
  {
127
- "$ref": "#/$defs/__schema5"
137
+ "$ref": "#/$defs/__schema10"
128
138
  },
129
139
  {
130
140
  "type": "null"
@@ -137,10 +147,10 @@
137
147
  "maximum": 9007199254740991
138
148
  },
139
149
  "createdAt": {
140
- "$ref": "#/$defs/__schema5"
150
+ "$ref": "#/$defs/__schema10"
141
151
  },
142
152
  "updatedAt": {
143
- "$ref": "#/$defs/__schema5"
153
+ "$ref": "#/$defs/__schema10"
144
154
  }
145
155
  },
146
156
  "required": [
@@ -296,6 +306,194 @@
296
306
  "$ref": "#/$defs/__schema2"
297
307
  }
298
308
  },
309
+ "graderEvidence": {
310
+ "type": "object",
311
+ "properties": {
312
+ "schemaVersion": {
313
+ "type": "string",
314
+ "const": "openpond.graderEvidence.v1"
315
+ },
316
+ "graderId": {
317
+ "$ref": "#/$defs/__schema0"
318
+ },
319
+ "graderVersion": {
320
+ "type": "string",
321
+ "minLength": 1,
322
+ "maxLength": 100
323
+ },
324
+ "score": {
325
+ "anyOf": [
326
+ {
327
+ "type": "number",
328
+ "minimum": 0,
329
+ "maximum": 1
330
+ },
331
+ {
332
+ "type": "null"
333
+ }
334
+ ]
335
+ },
336
+ "passed": {
337
+ "type": "boolean"
338
+ },
339
+ "rewardEligible": {
340
+ "type": "boolean"
341
+ },
342
+ "failureClass": {
343
+ "anyOf": [
344
+ {
345
+ "type": "string",
346
+ "enum": [
347
+ "policy_failure",
348
+ "grader_failure",
349
+ "environment_failure",
350
+ "infrastructure_failure",
351
+ "timeout",
352
+ "cancelled"
353
+ ]
354
+ },
355
+ {
356
+ "type": "null"
357
+ }
358
+ ]
359
+ },
360
+ "feedback": {
361
+ "maxItems": 1000,
362
+ "type": "array",
363
+ "items": {
364
+ "$ref": "#/$defs/__schema5"
365
+ }
366
+ },
367
+ "visibleEvidenceRefs": {
368
+ "maxItems": 10000,
369
+ "type": "array",
370
+ "items": {
371
+ "$ref": "#/$defs/__schema0"
372
+ }
373
+ },
374
+ "privilegedEvidenceRefs": {
375
+ "maxItems": 10000,
376
+ "type": "array",
377
+ "items": {
378
+ "$ref": "#/$defs/__schema0"
379
+ }
380
+ },
381
+ "modelJudgeReceipt": {
382
+ "type": "object",
383
+ "properties": {
384
+ "schemaVersion": {
385
+ "type": "string",
386
+ "const": "openpond.modelJudgeReceipt.v1"
387
+ },
388
+ "providerId": {
389
+ "type": "string",
390
+ "minLength": 1,
391
+ "maxLength": 200
392
+ },
393
+ "modelId": {
394
+ "type": "string",
395
+ "minLength": 1,
396
+ "maxLength": 500
397
+ },
398
+ "modelRevision": {
399
+ "anyOf": [
400
+ {
401
+ "type": "string",
402
+ "minLength": 1,
403
+ "maxLength": 500
404
+ },
405
+ {
406
+ "type": "null"
407
+ }
408
+ ]
409
+ },
410
+ "responseId": {
411
+ "anyOf": [
412
+ {
413
+ "type": "string",
414
+ "minLength": 1,
415
+ "maxLength": 500
416
+ },
417
+ {
418
+ "type": "null"
419
+ }
420
+ ]
421
+ },
422
+ "requestHash": {
423
+ "$ref": "#/$defs/__schema2"
424
+ },
425
+ "responseHash": {
426
+ "$ref": "#/$defs/__schema2"
427
+ },
428
+ "inputTokens": {
429
+ "anyOf": [
430
+ {
431
+ "type": "integer",
432
+ "minimum": 0,
433
+ "maximum": 9007199254740991
434
+ },
435
+ {
436
+ "type": "null"
437
+ }
438
+ ]
439
+ },
440
+ "outputTokens": {
441
+ "anyOf": [
442
+ {
443
+ "type": "integer",
444
+ "minimum": 0,
445
+ "maximum": 9007199254740991
446
+ },
447
+ {
448
+ "type": "null"
449
+ }
450
+ ]
451
+ },
452
+ "costUsd": {
453
+ "anyOf": [
454
+ {
455
+ "type": "number",
456
+ "minimum": 0
457
+ },
458
+ {
459
+ "type": "null"
460
+ }
461
+ ]
462
+ }
463
+ },
464
+ "required": [
465
+ "schemaVersion",
466
+ "providerId",
467
+ "modelId",
468
+ "modelRevision",
469
+ "responseId",
470
+ "requestHash",
471
+ "responseHash",
472
+ "inputTokens",
473
+ "outputTokens",
474
+ "costUsd"
475
+ ],
476
+ "additionalProperties": false
477
+ },
478
+ "contentHash": {
479
+ "$ref": "#/$defs/__schema2"
480
+ }
481
+ },
482
+ "required": [
483
+ "schemaVersion",
484
+ "graderId",
485
+ "graderVersion",
486
+ "score",
487
+ "passed",
488
+ "rewardEligible",
489
+ "failureClass",
490
+ "feedback",
491
+ "visibleEvidenceRefs",
492
+ "privilegedEvidenceRefs",
493
+ "contentHash"
494
+ ],
495
+ "additionalProperties": false
496
+ },
299
497
  "message": {
300
498
  "anyOf": [
301
499
  {
@@ -333,6 +531,140 @@
333
531
  "additionalProperties": false
334
532
  },
335
533
  "__schema5": {
534
+ "type": "string",
535
+ "maxLength": 20000
536
+ },
537
+ "__schema6": {
538
+ "type": "object",
539
+ "properties": {
540
+ "id": {
541
+ "$ref": "#/$defs/__schema0"
542
+ },
543
+ "requestHash": {
544
+ "$ref": "#/$defs/__schema2"
545
+ },
546
+ "reservedUsd": {
547
+ "$ref": "#/$defs/__schema7"
548
+ },
549
+ "status": {
550
+ "$ref": "#/$defs/__schema8"
551
+ },
552
+ "response": {
553
+ "$ref": "#/$defs/__schema9"
554
+ }
555
+ },
556
+ "required": [
557
+ "id",
558
+ "requestHash",
559
+ "reservedUsd",
560
+ "status",
561
+ "response"
562
+ ],
563
+ "additionalProperties": false
564
+ },
565
+ "__schema7": {
566
+ "type": "number",
567
+ "exclusiveMinimum": 0
568
+ },
569
+ "__schema8": {
570
+ "type": "string",
571
+ "enum": [
572
+ "reserved",
573
+ "settled",
574
+ "not_dispatched"
575
+ ]
576
+ },
577
+ "__schema9": {
578
+ "anyOf": [
579
+ {
580
+ "type": "object",
581
+ "properties": {
582
+ "text": {
583
+ "type": "string",
584
+ "maxLength": 100000
585
+ },
586
+ "modelId": {
587
+ "type": "string",
588
+ "minLength": 1,
589
+ "maxLength": 500
590
+ },
591
+ "modelRevision": {
592
+ "anyOf": [
593
+ {
594
+ "type": "string",
595
+ "minLength": 1,
596
+ "maxLength": 500
597
+ },
598
+ {
599
+ "type": "null"
600
+ }
601
+ ]
602
+ },
603
+ "responseId": {
604
+ "anyOf": [
605
+ {
606
+ "type": "string",
607
+ "minLength": 1,
608
+ "maxLength": 500
609
+ },
610
+ {
611
+ "type": "null"
612
+ }
613
+ ]
614
+ },
615
+ "inputTokens": {
616
+ "anyOf": [
617
+ {
618
+ "type": "integer",
619
+ "minimum": 0,
620
+ "maximum": 9007199254740991
621
+ },
622
+ {
623
+ "type": "null"
624
+ }
625
+ ]
626
+ },
627
+ "outputTokens": {
628
+ "anyOf": [
629
+ {
630
+ "type": "integer",
631
+ "minimum": 0,
632
+ "maximum": 9007199254740991
633
+ },
634
+ {
635
+ "type": "null"
636
+ }
637
+ ]
638
+ },
639
+ "costUsd": {
640
+ "anyOf": [
641
+ {
642
+ "type": "number",
643
+ "minimum": 0
644
+ },
645
+ {
646
+ "type": "null"
647
+ }
648
+ ]
649
+ }
650
+ },
651
+ "required": [
652
+ "text",
653
+ "modelId",
654
+ "modelRevision",
655
+ "responseId",
656
+ "inputTokens",
657
+ "outputTokens",
658
+ "costUsd"
659
+ ],
660
+ "additionalProperties": false
661
+ },
662
+ {
663
+ "type": "null"
664
+ }
665
+ ]
666
+ },
667
+ "__schema10": {
336
668
  "type": "string",
337
669
  "format": "date-time",
338
670
  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
@@ -26,26 +26,29 @@
26
26
  "intervalSeconds": {
27
27
  "$ref": "#/$defs/__schema6"
28
28
  },
29
- "nextRunAt": {
29
+ "calendar": {
30
30
  "$ref": "#/$defs/__schema7"
31
31
  },
32
+ "nextRunAt": {
33
+ "$ref": "#/$defs/__schema8"
34
+ },
32
35
  "lastFire": {
33
- "$ref": "#/$defs/__schema9"
36
+ "$ref": "#/$defs/__schema10"
34
37
  },
35
38
  "consecutiveFailures": {
36
- "$ref": "#/$defs/__schema10"
39
+ "$ref": "#/$defs/__schema11"
37
40
  },
38
41
  "nextAttemptAt": {
39
- "$ref": "#/$defs/__schema11"
42
+ "$ref": "#/$defs/__schema12"
40
43
  },
41
44
  "lastError": {
42
- "$ref": "#/$defs/__schema12"
45
+ "$ref": "#/$defs/__schema13"
43
46
  },
44
47
  "createdAt": {
45
- "$ref": "#/$defs/__schema8"
48
+ "$ref": "#/$defs/__schema9"
46
49
  },
47
50
  "updatedAt": {
48
- "$ref": "#/$defs/__schema8"
51
+ "$ref": "#/$defs/__schema9"
49
52
  }
50
53
  },
51
54
  "required": [
@@ -57,6 +60,7 @@
57
60
  "executionOwner",
58
61
  "state",
59
62
  "intervalSeconds",
63
+ "calendar",
60
64
  "nextRunAt",
61
65
  "lastFire",
62
66
  "consecutiveFailures",
@@ -132,9 +136,26 @@
132
136
  ]
133
137
  },
134
138
  "__schema7": {
139
+ "default": null,
135
140
  "anyOf": [
136
141
  {
137
- "$ref": "#/$defs/__schema8"
142
+ "type": "object",
143
+ "properties": {
144
+ "localTime": {
145
+ "type": "string",
146
+ "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
147
+ },
148
+ "timeZone": {
149
+ "type": "string",
150
+ "minLength": 1,
151
+ "maxLength": 200
152
+ }
153
+ },
154
+ "required": [
155
+ "localTime",
156
+ "timeZone"
157
+ ],
158
+ "additionalProperties": false
138
159
  },
139
160
  {
140
161
  "type": "null"
@@ -142,11 +163,21 @@
142
163
  ]
143
164
  },
144
165
  "__schema8": {
166
+ "anyOf": [
167
+ {
168
+ "$ref": "#/$defs/__schema9"
169
+ },
170
+ {
171
+ "type": "null"
172
+ }
173
+ ]
174
+ },
175
+ "__schema9": {
145
176
  "type": "string",
146
177
  "format": "date-time",
147
178
  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
148
179
  },
149
- "__schema9": {
180
+ "__schema10": {
150
181
  "anyOf": [
151
182
  {
152
183
  "$ref": "#/$defs/__schema3"
@@ -156,22 +187,22 @@
156
187
  }
157
188
  ]
158
189
  },
159
- "__schema10": {
190
+ "__schema11": {
160
191
  "type": "integer",
161
192
  "minimum": 0,
162
193
  "maximum": 9007199254740991
163
194
  },
164
- "__schema11": {
195
+ "__schema12": {
165
196
  "anyOf": [
166
197
  {
167
- "$ref": "#/$defs/__schema8"
198
+ "$ref": "#/$defs/__schema9"
168
199
  },
169
200
  {
170
201
  "type": "null"
171
202
  }
172
203
  ]
173
204
  },
174
- "__schema12": {
205
+ "__schema13": {
175
206
  "anyOf": [
176
207
  {
177
208
  "type": "string",
@@ -0,0 +1,72 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "modelProjectId": {
6
+ "anyOf": [
7
+ {
8
+ "$ref": "#/$defs/__schema0"
9
+ },
10
+ {
11
+ "type": "null"
12
+ }
13
+ ]
14
+ },
15
+ "inspectedAt": {
16
+ "type": "string",
17
+ "format": "date-time",
18
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
19
+ },
20
+ "pendingTrainingCount": {
21
+ "anyOf": [
22
+ {
23
+ "type": "integer",
24
+ "minimum": 0,
25
+ "maximum": 9007199254740991
26
+ },
27
+ {
28
+ "type": "null"
29
+ }
30
+ ]
31
+ },
32
+ "issues": {
33
+ "type": "array",
34
+ "items": {
35
+ "type": "object",
36
+ "properties": {
37
+ "policyId": {
38
+ "$ref": "#/$defs/__schema0"
39
+ },
40
+ "code": {
41
+ "type": "string"
42
+ },
43
+ "message": {
44
+ "type": "string"
45
+ }
46
+ },
47
+ "required": [
48
+ "policyId",
49
+ "code",
50
+ "message"
51
+ ],
52
+ "additionalProperties": false
53
+ }
54
+ }
55
+ },
56
+ "required": [
57
+ "modelProjectId",
58
+ "inspectedAt",
59
+ "pendingTrainingCount",
60
+ "issues"
61
+ ],
62
+ "additionalProperties": false,
63
+ "$defs": {
64
+ "__schema0": {
65
+ "type": "string",
66
+ "minLength": 1,
67
+ "maxLength": 240
68
+ }
69
+ },
70
+ "$id": "urn:openpond:learning:v1:task-queue-inspection",
71
+ "$comment": "Generated from @openpond/evals. Cross-resource identity, authorization, idempotency, admission, grading and split constraints are enforced by the shared domain service in addition to this structural schema."
72
+ }