@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.
- package/LEARNING.md +35 -0
- package/dist/graders.js +19 -4
- package/dist/learning/budgeted-reward-fixtures.js +34 -0
- package/dist/learning/contracts.js +5 -0
- package/dist/learning/grade-judge-budget.js +26 -0
- package/dist/learning/index.js +8 -0
- package/dist/learning/intake-history.js +2 -1
- package/dist/learning/intake-text.js +14 -0
- package/dist/learning/intake.js +5 -2
- package/dist/learning/iteration-eligibility.js +5 -2
- package/dist/learning/iteration-reservation-contracts.js +1 -0
- package/dist/learning/iteration-reservation-service.js +11 -2
- package/dist/learning/judge-budget.js +59 -0
- package/dist/learning/model-judge.js +49 -0
- package/dist/learning/nightly-schedule.js +69 -0
- package/dist/learning/operations.js +3 -1
- package/dist/learning/reward-authoring.js +4 -0
- package/dist/learning/reward-calibration.js +66 -0
- package/dist/learning/reward-check-budget.js +27 -0
- package/dist/learning/reward-check-service.js +2 -2
- package/dist/learning/reward-check-worker.js +10 -2
- package/dist/learning/reward-checks.js +4 -1
- package/dist/learning/reward-fixture-executor.js +3 -2
- package/dist/learning/schedule-contracts.js +5 -1
- package/dist/learning/schedule-service.js +9 -5
- package/dist/learning/schedule-worker.js +22 -7
- package/dist/learning/service.js +40 -6
- package/dist/learning/task-queue-inspection.js +48 -0
- package/dist/learning/transport.js +1 -0
- package/dist/rewards.js +15 -3
- package/dist/rollouts.js +2 -2
- package/dist/types/graders.d.ts +51 -0
- package/dist/types/graders.d.ts.map +1 -1
- package/dist/types/learning/admission.d.ts +5 -0
- package/dist/types/learning/admission.d.ts.map +1 -1
- package/dist/types/learning/budgeted-reward-fixtures.d.ts +27 -0
- package/dist/types/learning/budgeted-reward-fixtures.d.ts.map +1 -0
- package/dist/types/learning/contracts.d.ts +313 -0
- package/dist/types/learning/contracts.d.ts.map +1 -1
- package/dist/types/learning/grade-judge-budget.d.ts +10 -0
- package/dist/types/learning/grade-judge-budget.d.ts.map +1 -0
- package/dist/types/learning/index.d.ts +8 -0
- package/dist/types/learning/index.d.ts.map +1 -1
- package/dist/types/learning/intake-history.d.ts.map +1 -1
- package/dist/types/learning/intake-text.d.ts +6 -0
- package/dist/types/learning/intake-text.d.ts.map +1 -0
- package/dist/types/learning/intake.d.ts +1 -0
- package/dist/types/learning/intake.d.ts.map +1 -1
- package/dist/types/learning/iteration-dispatch-contracts.d.ts +1 -1
- package/dist/types/learning/iteration-eligibility.d.ts +8 -1
- package/dist/types/learning/iteration-eligibility.d.ts.map +1 -1
- package/dist/types/learning/iteration-reservation-contracts.d.ts +7 -1
- package/dist/types/learning/iteration-reservation-contracts.d.ts.map +1 -1
- package/dist/types/learning/iteration-reservation-service.d.ts.map +1 -1
- package/dist/types/learning/judge-budget.d.ts +43 -0
- package/dist/types/learning/judge-budget.d.ts.map +1 -0
- package/dist/types/learning/model-judge.d.ts +29 -0
- package/dist/types/learning/model-judge.d.ts.map +1 -0
- package/dist/types/learning/nightly-schedule.d.ts +13 -0
- package/dist/types/learning/nightly-schedule.d.ts.map +1 -0
- package/dist/types/learning/operations.d.ts +63 -0
- package/dist/types/learning/operations.d.ts.map +1 -1
- package/dist/types/learning/repository.d.ts +188 -4
- package/dist/types/learning/repository.d.ts.map +1 -1
- package/dist/types/learning/reward-authoring.d.ts.map +1 -1
- package/dist/types/learning/reward-calibration.d.ts +129 -0
- package/dist/types/learning/reward-calibration.d.ts.map +1 -0
- package/dist/types/learning/reward-check-budget.d.ts +12 -0
- package/dist/types/learning/reward-check-budget.d.ts.map +1 -0
- package/dist/types/learning/reward-check-service.d.ts +1 -1
- package/dist/types/learning/reward-check-service.d.ts.map +1 -1
- package/dist/types/learning/reward-check-worker.d.ts.map +1 -1
- package/dist/types/learning/reward-checks.d.ts +84 -0
- package/dist/types/learning/reward-checks.d.ts.map +1 -1
- package/dist/types/learning/reward-fixture-executor.d.ts +3 -0
- package/dist/types/learning/reward-fixture-executor.d.ts.map +1 -1
- package/dist/types/learning/schedule-contracts.d.ts +5 -1
- package/dist/types/learning/schedule-contracts.d.ts.map +1 -1
- package/dist/types/learning/schedule-service.d.ts +4 -0
- package/dist/types/learning/schedule-service.d.ts.map +1 -1
- package/dist/types/learning/schedule-worker.d.ts.map +1 -1
- package/dist/types/learning/service.d.ts +10 -0
- package/dist/types/learning/service.d.ts.map +1 -1
- package/dist/types/learning/task-queue-inspection.d.ts +25 -0
- package/dist/types/learning/task-queue-inspection.d.ts.map +1 -0
- package/dist/types/learning/transport.d.ts +224 -5
- package/dist/types/learning/transport.d.ts.map +1 -1
- package/dist/types/rewards.d.ts +107 -0
- package/dist/types/rewards.d.ts.map +1 -1
- package/dist/types/rollouts.d.ts.map +1 -1
- package/package.json +1 -1
- package/schemas/learning/v1/command-request.schema.json +266 -169
- package/schemas/learning/v1/decision.schema.json +192 -0
- package/schemas/learning/v1/grade.schema.json +335 -3
- package/schemas/learning/v1/policy.schema.json +24 -0
- package/schemas/learning/v1/read-request.schema.json +28 -0
- package/schemas/learning/v1/reservation.schema.json +17 -0
- package/schemas/learning/v1/reward.schema.json +22 -0
- package/schemas/learning/v1/reward_check.schema.json +335 -3
- package/schemas/learning/v1/schedule.schema.json +44 -13
- package/schemas/learning/v1/task-queue-inspection.schema.json +72 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Preserve the original UTF-8 bytes, including a leading BOM. Binary or invalid
|
|
2
|
+
* UTF-8 input must not silently turn into replacement characters in evidence. */
|
|
3
|
+
export declare function decodeTaskIntakeText(bytes: Uint8Array): string;
|
|
4
|
+
/** A BOM is a transport marker only at the start of a structured text file. */
|
|
5
|
+
export declare function structuredIntakeText(text: string): string;
|
|
6
|
+
//# sourceMappingURL=intake-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intake-text.d.ts","sourceRoot":"","sources":["../../../../../src/learning/intake-text.ts"],"names":[],"mappings":"AAAA;iFACiF;AACjF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAG9D;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake.d.ts","sourceRoot":"","sources":["../../../../../src/learning/intake.ts"],"names":[],"mappings":"AAOA,OAAO,EACoB,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAyB,MAAM,uBAAuB,CAAC;AAapJ,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,cAAc,EAAE,CAAA;CAAE,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"intake.d.ts","sourceRoot":"","sources":["../../../../../src/learning/intake.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EACoB,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAyB,MAAM,uBAAuB,CAAC;AAapJ,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,cAAc,EAAE,CAAA;CAAE,GAAG,iBAAiB,CAqDjH"}
|
|
@@ -24,10 +24,10 @@ export declare const LearningIterationDispatchSchema: z.ZodObject<{
|
|
|
24
24
|
}, z.core.$strict>;
|
|
25
25
|
state: z.ZodEnum<{
|
|
26
26
|
blocked: "blocked";
|
|
27
|
+
settled: "settled";
|
|
27
28
|
preparing: "preparing";
|
|
28
29
|
prepared: "prepared";
|
|
29
30
|
submitted: "submitted";
|
|
30
|
-
settled: "settled";
|
|
31
31
|
}>;
|
|
32
32
|
submission: z.ZodNullable<z.ZodObject<{
|
|
33
33
|
provider: z.ZodString;
|
|
@@ -2,7 +2,9 @@ import { type LearningPolicy, type TaskAdmissionDecision, type TaskEvidence } fr
|
|
|
2
2
|
import { type LearningTransaction } from "./repository.js";
|
|
3
3
|
export declare function learningChainId(modelProjectId: string): string;
|
|
4
4
|
export declare function learningConsumptionId(chainId: string, evidence: TaskEvidence): string;
|
|
5
|
-
export declare function inspectIterationEligibility(transaction: LearningTransaction, policy: LearningPolicy
|
|
5
|
+
export declare function inspectIterationEligibility(transaction: LearningTransaction, policy: LearningPolicy, options?: {
|
|
6
|
+
collectEligible?: boolean;
|
|
7
|
+
}): Promise<{
|
|
6
8
|
counts: {
|
|
7
9
|
eligible: number;
|
|
8
10
|
awaitingReview: number;
|
|
@@ -14,5 +16,10 @@ export declare function inspectIterationEligibility(transaction: LearningTransac
|
|
|
14
16
|
decision: TaskAdmissionDecision;
|
|
15
17
|
}[];
|
|
16
18
|
purpose: "supervised_training" | "reward_training";
|
|
19
|
+
eligibleEvidence: {
|
|
20
|
+
id: string;
|
|
21
|
+
contentHash: string;
|
|
22
|
+
revision: number;
|
|
23
|
+
}[];
|
|
17
24
|
}>;
|
|
18
25
|
//# sourceMappingURL=iteration-eligibility.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iteration-eligibility.d.ts","sourceRoot":"","sources":["../../../../../src/learning/iteration-eligibility.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgC,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAkB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGlJ,OAAO,EAAmD,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE5G,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAErF;AAED,wBAAsB,2BAA2B,CAAC,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,cAAc;;;;;;;;
|
|
1
|
+
{"version":3,"file":"iteration-eligibility.d.ts","sourceRoot":"","sources":["../../../../../src/learning/iteration-eligibility.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgC,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAkB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGlJ,OAAO,EAAmD,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE5G,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAErF;AAED,wBAAsB,2BAA2B,CAAC,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO;;;;;;;;kBAYzH,YAAY;kBAAY,qBAAqB;;;;;;;;GA6C1E"}
|
|
@@ -5,6 +5,9 @@ export declare const LearningIterationTriggerSchema: z.ZodDiscriminatedUnion<[z.
|
|
|
5
5
|
}, z.core.$strict>, z.ZodObject<{
|
|
6
6
|
kind: z.ZodLiteral<"schedule">;
|
|
7
7
|
scheduledAt: z.ZodString;
|
|
8
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
9
|
+
kind: z.ZodLiteral<"approved_count">;
|
|
10
|
+
checkedAt: z.ZodString;
|
|
8
11
|
}, z.core.$strict>], "kind">;
|
|
9
12
|
/** Stable across policy edits: a Model owns one learning chain in its scope. */
|
|
10
13
|
export declare const LearningChainSchema: z.ZodObject<{
|
|
@@ -75,12 +78,15 @@ export declare const LearningIterationReservationSchema: z.ZodObject<{
|
|
|
75
78
|
}, z.core.$strict>, z.ZodObject<{
|
|
76
79
|
kind: z.ZodLiteral<"schedule">;
|
|
77
80
|
scheduledAt: z.ZodString;
|
|
81
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
82
|
+
kind: z.ZodLiteral<"approved_count">;
|
|
83
|
+
checkedAt: z.ZodString;
|
|
78
84
|
}, z.core.$strict>], "kind">;
|
|
79
85
|
requestHash: z.ZodString;
|
|
80
86
|
outcome: z.ZodEnum<{
|
|
87
|
+
reserved: "reserved";
|
|
81
88
|
waiting_for_data: "waiting_for_data";
|
|
82
89
|
waiting_for_review: "waiting_for_review";
|
|
83
|
-
reserved: "reserved";
|
|
84
90
|
}>;
|
|
85
91
|
counts: z.ZodObject<{
|
|
86
92
|
eligible: z.ZodNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iteration-reservation-contracts.d.ts","sourceRoot":"","sources":["../../../../../src/learning/iteration-reservation-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,8BAA8B
|
|
1
|
+
{"version":3,"file":"iteration-reservation-contracts.d.ts","sourceRoot":"","sources":["../../../../../src/learning/iteration-reservation-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,8BAA8B;;;;;;;;;4BAIzC,CAAC;AAEH,gFAAgF;AAChF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;kBAUrB,CAAC;AAEZ,eAAO,MAAM,+BAA+B;;;;;kBAKjC,CAAC;AAEZ;qFACqF;AACrF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;kBAS3B,CAAC;AAEZ,uFAAuF;AACvF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmBpC,CAAC;AAEZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAC9F,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iteration-reservation-service.d.ts","sourceRoot":"","sources":["../../../../../src/learning/iteration-reservation-service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAmD,KAAK,uBAAuB,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG1I,KAAK,cAAc,GAAG,OAAO,CAAC,eAAe,EAAE;IAAE,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAAC;AAEhF,kFAAkF;AAClF,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"iteration-reservation-service.d.ts","sourceRoot":"","sources":["../../../../../src/learning/iteration-reservation-service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAmD,KAAK,uBAAuB,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG1I,KAAK,cAAc,GAAG,OAAO,CAAC,eAAe,EAAE;IAAE,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAAC;AAEhF,kFAAkF;AAClF,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAmFxK"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { type BoundJudgeRequest, type BoundJudgeResponse } from "./model-judge.js";
|
|
3
|
+
export declare const JudgeCallReservationSchema: z.ZodObject<{
|
|
4
|
+
id: z.ZodString;
|
|
5
|
+
requestHash: z.ZodString;
|
|
6
|
+
reservedUsd: z.ZodNumber;
|
|
7
|
+
status: z.ZodEnum<{
|
|
8
|
+
reserved: "reserved";
|
|
9
|
+
settled: "settled";
|
|
10
|
+
not_dispatched: "not_dispatched";
|
|
11
|
+
}>;
|
|
12
|
+
response: z.ZodNullable<z.ZodObject<{
|
|
13
|
+
text: z.ZodString;
|
|
14
|
+
modelId: z.ZodString;
|
|
15
|
+
modelRevision: z.ZodNullable<z.ZodString>;
|
|
16
|
+
responseId: z.ZodNullable<z.ZodString>;
|
|
17
|
+
inputTokens: z.ZodNullable<z.ZodNumber>;
|
|
18
|
+
outputTokens: z.ZodNullable<z.ZodNumber>;
|
|
19
|
+
costUsd: z.ZodNullable<z.ZodNumber>;
|
|
20
|
+
}, z.core.$strict>>;
|
|
21
|
+
}, z.core.$strict>;
|
|
22
|
+
export type JudgeCallReservation = z.infer<typeof JudgeCallReservationSchema>;
|
|
23
|
+
export interface JudgeBudgetState {
|
|
24
|
+
maximumSpendUsd: number;
|
|
25
|
+
calls: JudgeCallReservation[];
|
|
26
|
+
}
|
|
27
|
+
export interface JudgeBudgetStore {
|
|
28
|
+
/** Atomic and durable. A dispatch transaction must also enforce the owner's
|
|
29
|
+
* current lease and running state. Settlement remains writable after cancel. */
|
|
30
|
+
transaction<T>(intent: "dispatch" | "settle", update: (state: JudgeBudgetState) => {
|
|
31
|
+
calls: JudgeCallReservation[];
|
|
32
|
+
result: T;
|
|
33
|
+
}): Promise<T>;
|
|
34
|
+
}
|
|
35
|
+
export declare function judgeCommittedSpend(calls: JudgeCallReservation[]): number;
|
|
36
|
+
/** A reservation with no response is an uncertain charge, never permission to
|
|
37
|
+
* retry. Replays return the retained response without another provider call. */
|
|
38
|
+
export declare function createBudgetedJudgeExecutor(options: {
|
|
39
|
+
store: JudgeBudgetStore;
|
|
40
|
+
maximumCharge: (request: BoundJudgeRequest) => number;
|
|
41
|
+
dispatch: (request: BoundJudgeRequest, signal?: AbortSignal) => Promise<BoundJudgeResponse>;
|
|
42
|
+
}): (callId: string, request: BoundJudgeRequest, signal?: AbortSignal) => Promise<BoundJudgeResponse>;
|
|
43
|
+
//# sourceMappingURL=judge-budget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"judge-budget.d.ts","sourceRoot":"","sources":["../../../../../src/learning/judge-budget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAA4B,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE7G,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;kBAKrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,WAAW,gBAAgB;IAAG,eAAe,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,oBAAoB,EAAE,CAAA;CAAE;AAC5F,MAAM,WAAW,gBAAgB;IAC/B;oFACgF;IAChF,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,QAAQ,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK;QAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;QAAC,MAAM,EAAE,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC9I;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAEzE;AAED;gFACgF;AAChF,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACnD,KAAK,EAAE,gBAAgB,CAAC;IACxB,aAAa,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,MAAM,CAAC;IACtD,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC7F,IACe,QAAQ,MAAM,EAAE,SAAS,iBAAiB,EAAE,SAAS,WAAW,KAAG,OAAO,CAAC,kBAAkB,CAAC,CAmC7G"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { type ImmutableAssetRef } from "@openpond/harness";
|
|
3
|
+
import { type ModelJudgeRunner } from "../graders.js";
|
|
4
|
+
export interface BoundJudgeRequest {
|
|
5
|
+
providerId: string;
|
|
6
|
+
modelId: string;
|
|
7
|
+
revision: string | null;
|
|
8
|
+
temperature: number;
|
|
9
|
+
system: string;
|
|
10
|
+
data: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const BoundJudgeResponseSchema: z.ZodObject<{
|
|
13
|
+
text: z.ZodString;
|
|
14
|
+
modelId: z.ZodString;
|
|
15
|
+
modelRevision: z.ZodNullable<z.ZodString>;
|
|
16
|
+
responseId: z.ZodNullable<z.ZodString>;
|
|
17
|
+
inputTokens: z.ZodNullable<z.ZodNumber>;
|
|
18
|
+
outputTokens: z.ZodNullable<z.ZodNumber>;
|
|
19
|
+
costUsd: z.ZodNullable<z.ZodNumber>;
|
|
20
|
+
}, z.core.$strict>;
|
|
21
|
+
export type BoundJudgeResponse = z.infer<typeof BoundJudgeResponseSchema>;
|
|
22
|
+
/** Hosts resolve private assets and own durable authorization before dispatch.
|
|
23
|
+
* executeBudgeted must reserve the maximum charge before a provider call and
|
|
24
|
+
* retain its outcome even when the caller cancels or the response is malformed. */
|
|
25
|
+
export declare function createBoundModelJudgeRunner(options: {
|
|
26
|
+
readRubric: (reference: ImmutableAssetRef) => Promise<string>;
|
|
27
|
+
executeBudgeted: (request: BoundJudgeRequest, signal?: AbortSignal) => Promise<BoundJudgeResponse>;
|
|
28
|
+
}): ModelJudgeRunner;
|
|
29
|
+
//# sourceMappingURL=model-judge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-judge.d.ts","sourceRoot":"","sources":["../../../../../src/learning/model-judge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAI/E,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AACD,eAAO,MAAM,wBAAwB;;;;;;;;kBAK1B,CAAC;AACZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;mFAEmF;AACnF,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACnD,UAAU,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,eAAe,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACpG,GAAG,gBAAgB,CA2BnB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const NightlyScheduleSchema: z.ZodObject<{
|
|
3
|
+
localTime: z.ZodString;
|
|
4
|
+
timeZone: z.ZodString;
|
|
5
|
+
}, z.core.$strict>;
|
|
6
|
+
export type NightlySchedule = z.infer<typeof NightlyScheduleSchema>;
|
|
7
|
+
export declare function nextNightlyOccurrence(calendar: NightlySchedule, after: string): string;
|
|
8
|
+
export declare function coalesceNightlyOccurrences(calendar: NightlySchedule, due: string, now: string): {
|
|
9
|
+
coalescedThroughAt: string;
|
|
10
|
+
coalescedCount: number;
|
|
11
|
+
nextRunAt: string;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=nightly-schedule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nightly-schedule.d.ts","sourceRoot":"","sources":["../../../../../src/learning/nightly-schedule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB;;;kBAKvB,CAAC;AACZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AA6BpE,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAWtF;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;;;;EAc7F"}
|
|
@@ -329,6 +329,11 @@ export declare const PublishLearningResourceCommandSchema: z.ZodDiscriminatedUni
|
|
|
329
329
|
host_private: "host_private";
|
|
330
330
|
}>;
|
|
331
331
|
}, z.core.$strict>>;
|
|
332
|
+
calibrationCheckRef: z.ZodOptional<z.ZodObject<{
|
|
333
|
+
id: z.ZodString;
|
|
334
|
+
contentHash: z.ZodString;
|
|
335
|
+
revision: z.ZodNumber;
|
|
336
|
+
}, z.core.$strict>>;
|
|
332
337
|
}, z.core.$strict>;
|
|
333
338
|
}, z.core.$strict>, z.ZodObject<{
|
|
334
339
|
operationId: z.ZodString;
|
|
@@ -546,6 +551,10 @@ export declare const PublishLearningResourceCommandSchema: z.ZodDiscriminatedUni
|
|
|
546
551
|
}, z.core.$strict>, z.ZodObject<{
|
|
547
552
|
kind: z.ZodLiteral<"schedule">;
|
|
548
553
|
intervalSeconds: z.ZodNumber;
|
|
554
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
555
|
+
localTime: z.ZodString;
|
|
556
|
+
timeZone: z.ZodString;
|
|
557
|
+
kind: z.ZodLiteral<"nightly">;
|
|
549
558
|
}, z.core.$strict>, z.ZodObject<{
|
|
550
559
|
kind: z.ZodLiteral<"upstream_accepted">;
|
|
551
560
|
modelProjectId: z.ZodString;
|
|
@@ -881,6 +890,11 @@ export declare const PublishLearningResourcesCommandSchema: z.ZodObject<{
|
|
|
881
890
|
host_private: "host_private";
|
|
882
891
|
}>;
|
|
883
892
|
}, z.core.$strict>>;
|
|
893
|
+
calibrationCheckRef: z.ZodOptional<z.ZodObject<{
|
|
894
|
+
id: z.ZodString;
|
|
895
|
+
contentHash: z.ZodString;
|
|
896
|
+
revision: z.ZodNumber;
|
|
897
|
+
}, z.core.$strict>>;
|
|
884
898
|
}, z.core.$strict>;
|
|
885
899
|
expectedRevision: z.ZodNumber;
|
|
886
900
|
}, z.core.$strict> | z.ZodObject<{
|
|
@@ -1041,6 +1055,10 @@ export declare const PublishLearningResourcesCommandSchema: z.ZodObject<{
|
|
|
1041
1055
|
}, z.core.$strict>, z.ZodObject<{
|
|
1042
1056
|
kind: z.ZodLiteral<"schedule">;
|
|
1043
1057
|
intervalSeconds: z.ZodNumber;
|
|
1058
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1059
|
+
localTime: z.ZodString;
|
|
1060
|
+
timeZone: z.ZodString;
|
|
1061
|
+
kind: z.ZodLiteral<"nightly">;
|
|
1044
1062
|
}, z.core.$strict>, z.ZodObject<{
|
|
1045
1063
|
kind: z.ZodLiteral<"upstream_accepted">;
|
|
1046
1064
|
modelProjectId: z.ZodString;
|
|
@@ -1481,6 +1499,17 @@ export declare const CancelRewardCheckCommandSchema: z.ZodObject<{
|
|
|
1481
1499
|
checkId: z.ZodString;
|
|
1482
1500
|
expectedRevision: z.ZodNumber;
|
|
1483
1501
|
}, z.core.$strict>;
|
|
1502
|
+
export declare const PublishCheckedRewardCommandSchema: z.ZodObject<{
|
|
1503
|
+
operationId: z.ZodString;
|
|
1504
|
+
action: z.ZodLiteral<"publish_checked_reward">;
|
|
1505
|
+
draft: z.ZodObject<{
|
|
1506
|
+
id: z.ZodString;
|
|
1507
|
+
contentHash: z.ZodString;
|
|
1508
|
+
revision: z.ZodNumber;
|
|
1509
|
+
}, z.core.$strict>;
|
|
1510
|
+
checkId: z.ZodString;
|
|
1511
|
+
checkRevision: z.ZodNumber;
|
|
1512
|
+
}, z.core.$strict>;
|
|
1484
1513
|
export declare const ReserveLearningIterationCommandSchema: z.ZodObject<{
|
|
1485
1514
|
operationId: z.ZodString;
|
|
1486
1515
|
action: z.ZodLiteral<"reserve_iteration">;
|
|
@@ -1495,6 +1524,9 @@ export declare const ReserveLearningIterationCommandSchema: z.ZodObject<{
|
|
|
1495
1524
|
}, z.core.$strict>, z.ZodObject<{
|
|
1496
1525
|
kind: z.ZodLiteral<"schedule">;
|
|
1497
1526
|
scheduledAt: z.ZodString;
|
|
1527
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1528
|
+
kind: z.ZodLiteral<"approved_count">;
|
|
1529
|
+
checkedAt: z.ZodString;
|
|
1498
1530
|
}, z.core.$strict>], "kind">;
|
|
1499
1531
|
}, z.core.$strict>;
|
|
1500
1532
|
export declare const CancelLearningIterationReservationCommandSchema: z.ZodObject<{
|
|
@@ -1516,6 +1548,16 @@ export declare const RetryLearningIterationDispatchCommandSchema: z.ZodObject<{
|
|
|
1516
1548
|
expectedRevision: z.ZodNumber;
|
|
1517
1549
|
}, z.core.$strict>;
|
|
1518
1550
|
export declare const LearningCommandSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
1551
|
+
operationId: z.ZodString;
|
|
1552
|
+
action: z.ZodLiteral<"publish_checked_reward">;
|
|
1553
|
+
draft: z.ZodObject<{
|
|
1554
|
+
id: z.ZodString;
|
|
1555
|
+
contentHash: z.ZodString;
|
|
1556
|
+
revision: z.ZodNumber;
|
|
1557
|
+
}, z.core.$strict>;
|
|
1558
|
+
checkId: z.ZodString;
|
|
1559
|
+
checkRevision: z.ZodNumber;
|
|
1560
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1519
1561
|
operationId: z.ZodString;
|
|
1520
1562
|
action: z.ZodLiteral<"import_intake">;
|
|
1521
1563
|
format: z.ZodEnum<{
|
|
@@ -1561,6 +1603,9 @@ export declare const LearningCommandSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
1561
1603
|
}, z.core.$strict>, z.ZodObject<{
|
|
1562
1604
|
kind: z.ZodLiteral<"schedule">;
|
|
1563
1605
|
scheduledAt: z.ZodString;
|
|
1606
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1607
|
+
kind: z.ZodLiteral<"approved_count">;
|
|
1608
|
+
checkedAt: z.ZodString;
|
|
1564
1609
|
}, z.core.$strict>], "kind">;
|
|
1565
1610
|
}, z.core.$strict>, z.ZodObject<{
|
|
1566
1611
|
operationId: z.ZodString;
|
|
@@ -2082,6 +2127,11 @@ export declare const LearningCommandSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
2082
2127
|
host_private: "host_private";
|
|
2083
2128
|
}>;
|
|
2084
2129
|
}, z.core.$strict>>;
|
|
2130
|
+
calibrationCheckRef: z.ZodOptional<z.ZodObject<{
|
|
2131
|
+
id: z.ZodString;
|
|
2132
|
+
contentHash: z.ZodString;
|
|
2133
|
+
revision: z.ZodNumber;
|
|
2134
|
+
}, z.core.$strict>>;
|
|
2085
2135
|
}, z.core.$strict>;
|
|
2086
2136
|
}, z.core.$strict>, z.ZodObject<{
|
|
2087
2137
|
operationId: z.ZodString;
|
|
@@ -2299,6 +2349,10 @@ export declare const LearningCommandSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
2299
2349
|
}, z.core.$strict>, z.ZodObject<{
|
|
2300
2350
|
kind: z.ZodLiteral<"schedule">;
|
|
2301
2351
|
intervalSeconds: z.ZodNumber;
|
|
2352
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
2353
|
+
localTime: z.ZodString;
|
|
2354
|
+
timeZone: z.ZodString;
|
|
2355
|
+
kind: z.ZodLiteral<"nightly">;
|
|
2302
2356
|
}, z.core.$strict>, z.ZodObject<{
|
|
2303
2357
|
kind: z.ZodLiteral<"upstream_accepted">;
|
|
2304
2358
|
modelProjectId: z.ZodString;
|
|
@@ -2633,6 +2687,11 @@ export declare const LearningCommandSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
2633
2687
|
host_private: "host_private";
|
|
2634
2688
|
}>;
|
|
2635
2689
|
}, z.core.$strict>>;
|
|
2690
|
+
calibrationCheckRef: z.ZodOptional<z.ZodObject<{
|
|
2691
|
+
id: z.ZodString;
|
|
2692
|
+
contentHash: z.ZodString;
|
|
2693
|
+
revision: z.ZodNumber;
|
|
2694
|
+
}, z.core.$strict>>;
|
|
2636
2695
|
}, z.core.$strict>;
|
|
2637
2696
|
expectedRevision: z.ZodNumber;
|
|
2638
2697
|
}, z.core.$strict> | z.ZodObject<{
|
|
@@ -2793,6 +2852,10 @@ export declare const LearningCommandSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
2793
2852
|
}, z.core.$strict>, z.ZodObject<{
|
|
2794
2853
|
kind: z.ZodLiteral<"schedule">;
|
|
2795
2854
|
intervalSeconds: z.ZodNumber;
|
|
2855
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
2856
|
+
localTime: z.ZodString;
|
|
2857
|
+
timeZone: z.ZodString;
|
|
2858
|
+
kind: z.ZodLiteral<"nightly">;
|
|
2796
2859
|
}, z.core.$strict>, z.ZodObject<{
|
|
2797
2860
|
kind: z.ZodLiteral<"upstream_accepted">;
|
|
2798
2861
|
modelProjectId: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../../src/learning/operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;kBAG/B,CAAC;AAEZ,eAAO,MAAM,oCAAoC
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../../src/learning/operations.ts"],"names":[],"mappings":"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"}
|