@openpond/evals 0.9.0 → 0.9.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.
- package/README.md +11 -0
- package/dist/deterministic-graders.js +110 -0
- package/dist/graders.js +9 -51
- package/dist/types/deterministic-graders.d.ts +23 -0
- package/dist/types/deterministic-graders.d.ts.map +1 -0
- package/dist/types/graders.d.ts +1 -0
- package/dist/types/graders.d.ts.map +1 -1
- package/dist/types/learning/repository.d.ts +1 -1
- package/dist/types/learning/transport.d.ts +2 -2
- package/dist/types/telemetry-analysis.d.ts +1 -1
- package/dist/types/telemetry-bundle.d.ts +4 -4
- package/dist/types/telemetry.d.ts +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -44,6 +44,17 @@ Subpath exports are available at `/harness`, `/tasksets`, `/benchmarks`, `/grade
|
|
|
44
44
|
not a hosted client. It does not execute OpenPond Desktop or Sandbox sessions,
|
|
45
45
|
resolve credentials, or persist artifacts.
|
|
46
46
|
|
|
47
|
+
## Ordinary graders
|
|
48
|
+
|
|
49
|
+
`evaluateDeterministicGrader` and `portableDeterministicCheck` from `/graders`
|
|
50
|
+
provide the shared local/portable interpretation of ordinary checks. They retain
|
|
51
|
+
explicit exact-text normalization, final-answer extraction, structured JSON,
|
|
52
|
+
artifact and runtime-event requirements, and structural state comparisons.
|
|
53
|
+
Native test/diff checks declare their expected output field when exported.
|
|
54
|
+
Empty, unsupported or unavailable checks remain unscorable rather than earning
|
|
55
|
+
a zero or a passing reward. Desktop grade components preserve null scores and
|
|
56
|
+
display them as not scored.
|
|
57
|
+
|
|
47
58
|
## Authored Taskset metrics
|
|
48
59
|
|
|
49
60
|
`@openpond/evals/metrics` exports the shared `TasksetMetricPolicySchema` and
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { contentHash } from "@openpond/harness";
|
|
2
|
+
import { validateTaskSchema, validateTaskValue } from "./task-schema.js";
|
|
3
|
+
/** Local and portable execution interpret the same declared checks. Missing or
|
|
4
|
+
* unsupported checks are unscorable; an empty check cannot earn a reward. */
|
|
5
|
+
export function evaluateDeterministicGrader(input) {
|
|
6
|
+
const { grader, task, evidence } = input;
|
|
7
|
+
const config = grader.config;
|
|
8
|
+
if (grader.kind === "content") {
|
|
9
|
+
const outputField = text(config.outputField) ?? "text";
|
|
10
|
+
const actual = text(evidence.output[outputField]);
|
|
11
|
+
if (config.operator === "exact_equals") {
|
|
12
|
+
const expected = text(config.expectedValue);
|
|
13
|
+
if (expected === null)
|
|
14
|
+
return unavailable("Exact content grading requires an expected value.");
|
|
15
|
+
const normalize = (value) => {
|
|
16
|
+
const unicode = config.normalizeUnicode === true ? value.normalize("NFC") : value;
|
|
17
|
+
return config.trimWhitespace === true ? unicode.trim() : unicode;
|
|
18
|
+
};
|
|
19
|
+
return outcome(actual !== null && normalize(actual) === normalize(expected));
|
|
20
|
+
}
|
|
21
|
+
if (config.operator !== undefined && config.operator !== "final_answer_equals_expected")
|
|
22
|
+
return unavailable("Unsupported content grader operator.");
|
|
23
|
+
if (config.operator === undefined && (config.includes !== undefined || config.excludes !== undefined)) {
|
|
24
|
+
const includes = strings(config.includes), excludes = strings(config.excludes);
|
|
25
|
+
if (!includes.length && !excludes.length)
|
|
26
|
+
return unavailable("Content grading requires a nonempty check.");
|
|
27
|
+
const value = typeof evidence.output.text === "string" ? evidence.output.text : JSON.stringify(evidence.output);
|
|
28
|
+
return outcome(includes.every(item => value.includes(item)) && excludes.every(item => !value.includes(item)));
|
|
29
|
+
}
|
|
30
|
+
const expected = text(config.expectedValue) ?? text(task.expectedOutput?.[text(config.expectedField) ?? "text"]);
|
|
31
|
+
const normalize = config.operator === "final_answer_equals_expected" ? normalizeFinalAnswer : normalizeContent;
|
|
32
|
+
if (expected === null || !normalize(expected))
|
|
33
|
+
return unavailable("Content grading requires a nonempty expected value.");
|
|
34
|
+
return outcome(actual !== null && normalize(actual) === normalize(expected));
|
|
35
|
+
}
|
|
36
|
+
if (grader.kind === "schema") {
|
|
37
|
+
if (config.operator !== undefined && config.operator !== "json_schema_subset")
|
|
38
|
+
return unavailable("Unsupported schema grader operator.");
|
|
39
|
+
const schema = config.operator === "json_schema_subset" ? config.schema : config.jsonSchema;
|
|
40
|
+
if (schema !== undefined) {
|
|
41
|
+
const checked = validateTaskSchema(schema);
|
|
42
|
+
if (!checked.valid)
|
|
43
|
+
return unavailable(checked.issues[0].message);
|
|
44
|
+
let value = evidence.output;
|
|
45
|
+
if (config.operator === "json_schema_subset") {
|
|
46
|
+
const encoded = evidence.output[text(config.jsonField) ?? "text"];
|
|
47
|
+
if (typeof encoded === "string") {
|
|
48
|
+
try {
|
|
49
|
+
value = JSON.parse(encoded.trim().replace(/^```(?:json)?\s*/i, "").replace(/\s*```$/, ""));
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return outcome(false, "The model output was not valid JSON.");
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const checkedValue = validateTaskValue(schema, value);
|
|
57
|
+
return outcome(checkedValue.valid, checkedValue.valid ? undefined : checkedValue.issues.map(issue => issue.message).join(" "));
|
|
58
|
+
}
|
|
59
|
+
const required = strings(config.requiredKeys);
|
|
60
|
+
if (!required.length)
|
|
61
|
+
return unavailable("Schema grading requires a JSON Schema or explicit required keys.");
|
|
62
|
+
return outcome(required.every(key => Object.hasOwn(evidence.output, key)));
|
|
63
|
+
}
|
|
64
|
+
if (grader.kind === "artifact") {
|
|
65
|
+
const contains = text(config.refIncludes);
|
|
66
|
+
if (!contains)
|
|
67
|
+
return unavailable("Artifact grading requires a declared artifact reference.");
|
|
68
|
+
return outcome(evidence.artifactRefs.some(ref => ref.includes(contains)));
|
|
69
|
+
}
|
|
70
|
+
if (grader.kind === "runtime_event") {
|
|
71
|
+
const required = strings(config.requiredEvents);
|
|
72
|
+
if (!required.length)
|
|
73
|
+
return unavailable("Runtime event grading requires declared events.");
|
|
74
|
+
return outcome(required.every(event => evidence.runtimeEventRefs.some(ref => ref.includes(event))));
|
|
75
|
+
}
|
|
76
|
+
if (config.operator === "output_field_equals") {
|
|
77
|
+
const field = text(config.outputField);
|
|
78
|
+
if (!field || !Object.hasOwn(config, "expectedValue"))
|
|
79
|
+
return unavailable("Output comparison requires a field and expected value.");
|
|
80
|
+
return outcome(Object.hasOwn(evidence.output, field) && contentHash(evidence.output[field]) === contentHash(config.expectedValue));
|
|
81
|
+
}
|
|
82
|
+
if (config.operator !== undefined)
|
|
83
|
+
return unavailable("Unsupported state grader operator.");
|
|
84
|
+
const fields = strings(config.fields);
|
|
85
|
+
const compared = fields.length ? fields : Object.keys(task.expectedOutput ?? {});
|
|
86
|
+
if (!compared.length || compared.some(field => !task.expectedOutput || !Object.hasOwn(task.expectedOutput, field)))
|
|
87
|
+
return unavailable("State grading requires expected values for every compared field.");
|
|
88
|
+
return outcome(compared.every(field => Object.hasOwn(evidence.output, field) && contentHash(evidence.output[field]) === contentHash(task.expectedOutput[field])));
|
|
89
|
+
}
|
|
90
|
+
/** Encode native artifact/test checks without changing their meaning in transit. */
|
|
91
|
+
export function portableDeterministicCheck(grader) {
|
|
92
|
+
if (grader.kind === "file") {
|
|
93
|
+
const { pathIncludes, ...config } = grader.config;
|
|
94
|
+
return { kind: "artifact", config: { ...config, ...(pathIncludes === undefined ? {} : { refIncludes: pathIncludes }) } };
|
|
95
|
+
}
|
|
96
|
+
if (grader.kind === "diff" || grader.kind === "test")
|
|
97
|
+
return { kind: "state", config: { operator: "output_field_equals", outputField: grader.kind === "test" ? "testsPassed" : "diffAccepted", expectedValue: true } };
|
|
98
|
+
return { kind: grader.kind, config: grader.config };
|
|
99
|
+
}
|
|
100
|
+
function outcome(passed, feedback) { return { score: Number(passed), passed, feedback: feedback ?? (passed ? "Deterministic grader passed." : "Deterministic grader failed.") }; }
|
|
101
|
+
function unavailable(feedback) { return { score: null, passed: false, feedback }; }
|
|
102
|
+
function text(value) { return typeof value === "string" ? value : null; }
|
|
103
|
+
function strings(value) { return Array.isArray(value) ? value.filter((item) => typeof item === "string" && item.trim().length > 0) : []; }
|
|
104
|
+
function normalizeContent(value) { return value.normalize("NFKC").trim().replace(/[,,]/g, "").replace(/[.\s]+$/g, "").replace(/\s+/g, " "); }
|
|
105
|
+
function normalizeFinalAnswer(value) {
|
|
106
|
+
const boxed = [...value.matchAll(/\\boxed\{([^{}]+)\}/g)].at(-1)?.[1];
|
|
107
|
+
const hashAnswer = value.match(/####\s*([^\n\r]+)/)?.[1];
|
|
108
|
+
const label = value.match(/(?:final\s+answer|answer)\s*(?::|is|=)\s*([^\n\r]+)/i)?.[1];
|
|
109
|
+
return normalizeContent((boxed ?? hashAnswer ?? label ?? value).normalize("NFKC").trim().replace(/^\$+|\$+$/g, "").replace(/^\\\(|\\\)$/g, ""));
|
|
110
|
+
}
|
package/dist/graders.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { FailureClassSchema, ReleaseHashSchema, ReleaseIdSchema, contentHash } from "@openpond/harness";
|
|
3
|
-
import {
|
|
3
|
+
import { evaluateDeterministicGrader } from "./deterministic-graders.js";
|
|
4
|
+
export { evaluateDeterministicGrader, portableDeterministicCheck } from "./deterministic-graders.js";
|
|
4
5
|
export const GraderEvidenceContentSchema = z.object({
|
|
5
6
|
schemaVersion: z.literal("openpond.graderEvidence.v1"),
|
|
6
7
|
graderId: ReleaseIdSchema,
|
|
@@ -43,55 +44,15 @@ export async function gradeEvidence(input) {
|
|
|
43
44
|
}));
|
|
44
45
|
}
|
|
45
46
|
function gradeDeterministic(grader, task, attempt) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
const outputField = string(config.outputField) ?? "text";
|
|
50
|
-
const actual = string(attempt.output[outputField]);
|
|
51
|
-
const expected = string(config.expectedValue) ?? string(task.expectedOutput?.[string(config.expectedField) ?? "text"]);
|
|
52
|
-
if (expected === null || !normalize(expected))
|
|
53
|
-
return unavailable("Content grading requires a nonempty expected value.");
|
|
54
|
-
passed = actual !== null && expected !== null && normalize(actual) === normalize(expected);
|
|
55
|
-
}
|
|
56
|
-
else if (grader.kind === "schema") {
|
|
57
|
-
if (config.jsonSchema !== undefined) {
|
|
58
|
-
const schema = validateTaskSchema(config.jsonSchema);
|
|
59
|
-
if (!schema.valid)
|
|
60
|
-
return unavailable(schema.issues[0].message);
|
|
61
|
-
passed = validateTaskValue(config.jsonSchema, attempt.output).valid;
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
const required = strings(config.requiredKeys);
|
|
65
|
-
if (!required.length)
|
|
66
|
-
return unavailable("Schema grading requires a JSON Schema or explicit required keys.");
|
|
67
|
-
passed = required.every((key) => Object.hasOwn(attempt.output, key));
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
else if (grader.kind === "artifact") {
|
|
71
|
-
const contains = string(config.refIncludes) ?? "";
|
|
72
|
-
if (!contains)
|
|
73
|
-
return unavailable("Artifact grading requires a declared artifact reference.");
|
|
74
|
-
passed = attempt.artifactRefs.some((ref) => ref.includes(contains));
|
|
75
|
-
}
|
|
76
|
-
else if (grader.kind === "runtime_event") {
|
|
77
|
-
const requiredEvents = strings(config.requiredEvents);
|
|
78
|
-
if (!requiredEvents.length)
|
|
79
|
-
return unavailable("Runtime event grading requires declared events.");
|
|
80
|
-
passed = requiredEvents.every((required) => attempt.runtimeEventRefs.some((ref) => ref.includes(required)));
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
const fields = strings(config.fields);
|
|
84
|
-
const compared = fields.length ? fields : Object.keys(task.expectedOutput ?? {});
|
|
85
|
-
if (!compared.length || compared.some((field) => !task.expectedOutput || !Object.hasOwn(task.expectedOutput, field)))
|
|
86
|
-
return unavailable("State grading requires expected values for every compared field.");
|
|
87
|
-
passed = compared.every((field) => Object.hasOwn(attempt.output, field) && contentHash(attempt.output[field]) === contentHash(task.expectedOutput[field]));
|
|
88
|
-
}
|
|
47
|
+
const result = evaluateDeterministicGrader({ grader, task, evidence: attempt });
|
|
48
|
+
if (result.score === null)
|
|
49
|
+
return unavailable(result.feedback);
|
|
89
50
|
return {
|
|
90
|
-
score:
|
|
91
|
-
passed,
|
|
51
|
+
score: result.score,
|
|
52
|
+
passed: result.passed,
|
|
92
53
|
rewardEligible: grader.rewardEligible,
|
|
93
|
-
failureClass: passed ? null : "policy_failure",
|
|
94
|
-
feedback: [
|
|
54
|
+
failureClass: result.passed ? null : "policy_failure",
|
|
55
|
+
feedback: [result.feedback],
|
|
95
56
|
visibleEvidenceRefs: [...attempt.runtimeEventRefs, ...attempt.artifactRefs],
|
|
96
57
|
privilegedEvidenceRefs: grader.privileged ? [task.privilegedContextRef].filter((ref) => ref !== null) : [],
|
|
97
58
|
};
|
|
@@ -109,6 +70,3 @@ function evidence(grader, result) {
|
|
|
109
70
|
function unavailable(message) {
|
|
110
71
|
return { score: null, passed: false, rewardEligible: false, failureClass: "grader_failure", feedback: [message], visibleEvidenceRefs: [], privilegedEvidenceRefs: [] };
|
|
111
72
|
}
|
|
112
|
-
function string(value) { return typeof value === "string" ? value : null; }
|
|
113
|
-
function strings(value) { return Array.isArray(value) ? value.filter((item) => typeof item === "string" && item.trim().length > 0) : []; }
|
|
114
|
-
function normalize(value) { return value.normalize("NFKC").trim().replace(/[,,]/g, "").replace(/[.\s]+$/g, "").replace(/\s+/g, " "); }
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { DeterministicGraderSpec, TaskRecord } from "./tasksets.js";
|
|
2
|
+
export type DeterministicGrade = {
|
|
3
|
+
score: number | null;
|
|
4
|
+
passed: boolean;
|
|
5
|
+
feedback: string;
|
|
6
|
+
};
|
|
7
|
+
/** Local and portable execution interpret the same declared checks. Missing or
|
|
8
|
+
* unsupported checks are unscorable; an empty check cannot earn a reward. */
|
|
9
|
+
export declare function evaluateDeterministicGrader(input: {
|
|
10
|
+
grader: Pick<DeterministicGraderSpec, "kind" | "config">;
|
|
11
|
+
task: Pick<TaskRecord, "expectedOutput">;
|
|
12
|
+
evidence: {
|
|
13
|
+
output: Record<string, unknown>;
|
|
14
|
+
artifactRefs: string[];
|
|
15
|
+
runtimeEventRefs: string[];
|
|
16
|
+
};
|
|
17
|
+
}): DeterministicGrade;
|
|
18
|
+
/** Encode native artifact/test checks without changing their meaning in transit. */
|
|
19
|
+
export declare function portableDeterministicCheck(grader: {
|
|
20
|
+
kind: DeterministicGraderSpec["kind"] | "file" | "diff" | "test";
|
|
21
|
+
config: Record<string, unknown>;
|
|
22
|
+
}): Pick<DeterministicGraderSpec, "kind" | "config">;
|
|
23
|
+
//# sourceMappingURL=deterministic-graders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deterministic-graders.d.ts","sourceRoot":"","sources":["../../../../src/deterministic-graders.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGzE,MAAM,MAAM,kBAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7F;6EAC6E;AAC7E,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,MAAM,EAAE,IAAI,CAAC,uBAAuB,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;IACzD,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACzC,QAAQ,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAC;QAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACnG,GAAG,kBAAkB,CAoErB;AAED,oFAAoF;AACpF,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,uBAAuB,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,MAAM,GAAG,QAAQ,CAAC,CAO1M"}
|
package/dist/types/graders.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { GraderSpec, TaskRecord } from "./tasksets.js";
|
|
3
|
+
export { evaluateDeterministicGrader, portableDeterministicCheck } from "./deterministic-graders.js";
|
|
3
4
|
export declare const GraderEvidenceContentSchema: z.ZodObject<{
|
|
4
5
|
schemaVersion: z.ZodLiteral<"openpond.graderEvidence.v1">;
|
|
5
6
|
graderId: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graders.d.ts","sourceRoot":"","sources":["../../../../src/graders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAA2B,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"graders.d.ts","sourceRoot":"","sources":["../../../../src/graders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAA2B,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAErF,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAErG,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;kBAW7B,CAAC;AACZ,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;kBAAkF,CAAC;AAEpH,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAA;CAAE,KAAK,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,UAAU,GAAG,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC;AAC/O,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAA;CAAE,KAAK,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,UAAU,GAAG,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC;AAEvP,wBAAsB,aAAa,CAAC,KAAK,EAAE;IACzC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAwB5B;AA8BD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
|
@@ -1421,10 +1421,10 @@ export declare const LearningResourceKindSchema: z.ZodEnum<{
|
|
|
1421
1421
|
policy: "policy";
|
|
1422
1422
|
feedback: "feedback";
|
|
1423
1423
|
reward: "reward";
|
|
1424
|
+
evidence: "evidence";
|
|
1424
1425
|
source: "source";
|
|
1425
1426
|
asset: "asset";
|
|
1426
1427
|
decision: "decision";
|
|
1427
|
-
evidence: "evidence";
|
|
1428
1428
|
binding: "binding";
|
|
1429
1429
|
batch: "batch";
|
|
1430
1430
|
grade: "grade";
|
|
@@ -1422,10 +1422,10 @@ export declare const LearningReadRequestSchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
1422
1422
|
policy: "policy";
|
|
1423
1423
|
feedback: "feedback";
|
|
1424
1424
|
reward: "reward";
|
|
1425
|
+
evidence: "evidence";
|
|
1425
1426
|
source: "source";
|
|
1426
1427
|
asset: "asset";
|
|
1427
1428
|
decision: "decision";
|
|
1428
|
-
evidence: "evidence";
|
|
1429
1429
|
binding: "binding";
|
|
1430
1430
|
batch: "batch";
|
|
1431
1431
|
grade: "grade";
|
|
@@ -1444,10 +1444,10 @@ export declare const LearningReadRequestSchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
1444
1444
|
policy: "policy";
|
|
1445
1445
|
feedback: "feedback";
|
|
1446
1446
|
reward: "reward";
|
|
1447
|
+
evidence: "evidence";
|
|
1447
1448
|
source: "source";
|
|
1448
1449
|
asset: "asset";
|
|
1449
1450
|
decision: "decision";
|
|
1450
|
-
evidence: "evidence";
|
|
1451
1451
|
binding: "binding";
|
|
1452
1452
|
batch: "batch";
|
|
1453
1453
|
grade: "grade";
|
|
@@ -54,8 +54,8 @@ export declare const TelemetryExportBundleContentSchema: z.ZodObject<{
|
|
|
54
54
|
source: z.ZodEnum<{
|
|
55
55
|
environment: "environment";
|
|
56
56
|
evaluation: "evaluation";
|
|
57
|
-
runtime: "runtime";
|
|
58
57
|
grader: "grader";
|
|
58
|
+
runtime: "runtime";
|
|
59
59
|
optimizer: "optimizer";
|
|
60
60
|
control_plane: "control_plane";
|
|
61
61
|
}>;
|
|
@@ -122,8 +122,8 @@ export declare const TelemetryExportBundleContentSchema: z.ZodObject<{
|
|
|
122
122
|
kind: z.ZodEnum<{
|
|
123
123
|
artifact: "artifact";
|
|
124
124
|
attempt: "attempt";
|
|
125
|
-
trace: "trace";
|
|
126
125
|
grader: "grader";
|
|
126
|
+
trace: "trace";
|
|
127
127
|
rollout: "rollout";
|
|
128
128
|
checkpoint: "checkpoint";
|
|
129
129
|
}>;
|
|
@@ -202,8 +202,8 @@ export declare const TelemetryExportBundleSchema: z.ZodObject<{
|
|
|
202
202
|
source: z.ZodEnum<{
|
|
203
203
|
environment: "environment";
|
|
204
204
|
evaluation: "evaluation";
|
|
205
|
-
runtime: "runtime";
|
|
206
205
|
grader: "grader";
|
|
206
|
+
runtime: "runtime";
|
|
207
207
|
optimizer: "optimizer";
|
|
208
208
|
control_plane: "control_plane";
|
|
209
209
|
}>;
|
|
@@ -270,8 +270,8 @@ export declare const TelemetryExportBundleSchema: z.ZodObject<{
|
|
|
270
270
|
kind: z.ZodEnum<{
|
|
271
271
|
artifact: "artifact";
|
|
272
272
|
attempt: "attempt";
|
|
273
|
-
trace: "trace";
|
|
274
273
|
grader: "grader";
|
|
274
|
+
trace: "trace";
|
|
275
275
|
rollout: "rollout";
|
|
276
276
|
checkpoint: "checkpoint";
|
|
277
277
|
}>;
|
|
@@ -10,8 +10,8 @@ export declare const TelemetryVisibilitySchema: z.ZodEnum<{
|
|
|
10
10
|
export declare const TelemetrySourceSchema: z.ZodEnum<{
|
|
11
11
|
environment: "environment";
|
|
12
12
|
evaluation: "evaluation";
|
|
13
|
-
runtime: "runtime";
|
|
14
13
|
grader: "grader";
|
|
14
|
+
runtime: "runtime";
|
|
15
15
|
optimizer: "optimizer";
|
|
16
16
|
control_plane: "control_plane";
|
|
17
17
|
}>;
|
|
@@ -50,8 +50,8 @@ export declare const RunTelemetryEventSchema: z.ZodObject<{
|
|
|
50
50
|
source: z.ZodEnum<{
|
|
51
51
|
environment: "environment";
|
|
52
52
|
evaluation: "evaluation";
|
|
53
|
-
runtime: "runtime";
|
|
54
53
|
grader: "grader";
|
|
54
|
+
runtime: "runtime";
|
|
55
55
|
optimizer: "optimizer";
|
|
56
56
|
control_plane: "control_plane";
|
|
57
57
|
}>;
|
|
@@ -192,8 +192,8 @@ export declare const RunTelemetryBatchSchema: z.ZodObject<{
|
|
|
192
192
|
source: z.ZodEnum<{
|
|
193
193
|
environment: "environment";
|
|
194
194
|
evaluation: "evaluation";
|
|
195
|
-
runtime: "runtime";
|
|
196
195
|
grader: "grader";
|
|
196
|
+
runtime: "runtime";
|
|
197
197
|
optimizer: "optimizer";
|
|
198
198
|
control_plane: "control_plane";
|
|
199
199
|
}>;
|
package/package.json
CHANGED