openpond-sdk 0.11.4 → 0.11.6
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 +15 -0
- package/dist/advanced-refiner-evaluations.js +8 -8
- package/dist/candidate-evaluations.js +6 -7
- package/dist/chunk-2NBI5UOK.js +100 -0
- package/dist/chunk-2NBI5UOK.js.map +7 -0
- package/dist/{chunk-K4C5QOSV.js → chunk-3LP7DNLQ.js} +2 -2
- package/dist/{chunk-SX767BS2.js → chunk-64HOO3TO.js} +270 -60
- package/dist/chunk-64HOO3TO.js.map +7 -0
- package/dist/{chunk-YTGRET2L.js → chunk-7GA57BEJ.js} +291 -258
- package/dist/chunk-7GA57BEJ.js.map +7 -0
- package/dist/{chunk-RGGI5O4R.js → chunk-7WUJBFCH.js} +4 -4
- package/dist/{chunk-RGGI5O4R.js.map → chunk-7WUJBFCH.js.map} +2 -2
- package/dist/{chunk-4SZKRRTO.js → chunk-A3ZYHREX.js} +3 -3
- package/dist/{chunk-SLS3GFPG.js → chunk-AG5DDL7T.js} +2 -2
- package/dist/{chunk-MPAEWI5T.js → chunk-AV5JV26B.js} +3 -3
- package/dist/{chunk-6ZDQ7HSA.js → chunk-B7VYE7YQ.js} +3 -3
- package/dist/{chunk-Z3PPZRK2.js → chunk-CK3ONRRC.js} +72 -60
- package/dist/chunk-CK3ONRRC.js.map +7 -0
- package/dist/chunk-COPVBJPL.js +272 -0
- package/dist/chunk-COPVBJPL.js.map +7 -0
- package/dist/{chunk-5LFLXFPT.js → chunk-D4WTE6ZA.js} +3 -3
- package/dist/{chunk-OWWDSG27.js → chunk-DBRRQASP.js} +3 -3
- package/dist/{chunk-WPPHGWFA.js → chunk-DG5CRENU.js} +4 -4
- package/dist/{chunk-X64BSFXJ.js → chunk-I3QQEXDY.js} +7 -7
- package/dist/chunk-ILXO64IV.js +126 -0
- package/dist/chunk-ILXO64IV.js.map +7 -0
- package/dist/{chunk-MW2N3BX5.js → chunk-IPWCUGDN.js} +3 -3
- package/dist/{chunk-CPEOFPPF.js → chunk-IS3P4OOW.js} +9 -6
- package/dist/chunk-IS3P4OOW.js.map +7 -0
- package/dist/{chunk-RIX56CJL.js → chunk-JPPOMXMY.js} +2 -2
- package/dist/chunk-KAE7AMYE.js +44 -0
- package/dist/chunk-KAE7AMYE.js.map +7 -0
- package/dist/chunk-KV6JXPQH.js +299 -0
- package/dist/chunk-KV6JXPQH.js.map +7 -0
- package/dist/{chunk-GMVYYRMR.js → chunk-L5PQPAU6.js} +3 -3
- package/dist/{chunk-JEUHIQWF.js → chunk-NA7PNRQZ.js} +10 -10
- package/dist/chunk-NA7PNRQZ.js.map +7 -0
- package/dist/{chunk-QVCMFQKA.js → chunk-NFLEPINR.js} +6 -6
- package/dist/chunk-O4GE6VTR.js +378 -0
- package/dist/chunk-O4GE6VTR.js.map +7 -0
- package/dist/{chunk-HWLO3V7R.js → chunk-OEPYLZXK.js} +3 -3
- package/dist/{chunk-LFH4EKWH.js → chunk-OLHLJ2X3.js} +7 -6
- package/dist/{chunk-LFH4EKWH.js.map → chunk-OLHLJ2X3.js.map} +2 -2
- package/dist/{chunk-SGRYMU4C.js → chunk-PL3ETQYC.js} +3 -3
- package/dist/{chunk-55E4THHN.js → chunk-TTAFUUHZ.js} +6 -6
- package/dist/{chunk-6O3UMEJL.js → chunk-UVREOAMH.js} +7 -7
- package/dist/{chunk-KJ5VENYN.js → chunk-YSKUXQ2N.js} +3 -3
- package/dist/connected-evidence.js +44 -26
- package/dist/dataset-workspaces.js +862 -35
- package/dist/dataset-workspaces.js.map +4 -4
- package/dist/experiment-evaluation-schedules.js +20 -19
- package/dist/experiment-improvements.js +8 -8
- package/dist/experiments.js +43 -20
- package/dist/human-review.js +2 -3
- package/dist/index.js +69 -51
- package/dist/index.js.map +1 -1
- package/dist/learning.js +2 -3
- package/dist/learning.js.map +1 -1
- package/dist/model-starter-attempts.js +2 -3
- package/dist/model-starter-catalog.js +11 -10
- package/dist/model-starter-catalog.js.map +1 -1
- package/dist/model-starters.js +11 -10
- package/dist/model-taskset-runs.js +3 -4
- package/dist/model-taskset-runs.js.map +1 -1
- package/dist/post-training.js +6 -7
- package/dist/refiner.js +2 -2
- package/dist/taskset-drafts.js +119 -73
- package/dist/taskset-drafts.js.map +4 -4
- package/dist/taskset-packages.js +17 -16
- package/dist/training-bundle.js +20 -16
- package/dist/training-bundle.js.map +2 -2
- package/dist/training-projects.js +1 -2
- package/dist/training-projects.js.map +1 -1
- package/dist/training.js +8 -8
- package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts +9 -9
- package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts +24 -3
- package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/candidate-evaluations.d.ts +26 -2
- package/dist/types/packages/sdk/src/candidate-evaluations.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/codex-experiment-runtime.d.ts +17 -0
- package/dist/types/packages/sdk/src/codex-experiment-runtime.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +9 -9
- package/dist/types/packages/sdk/src/connected-evidence-contracts.d.ts +3 -2
- package/dist/types/packages/sdk/src/connected-evidence-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/connected-evidence.d.ts +2 -0
- package/dist/types/packages/sdk/src/connected-evidence.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/connected-sync.d.ts +138 -8
- package/dist/types/packages/sdk/src/connected-sync.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-preparation-authoring-contracts.d.ts +1346 -0
- package/dist/types/packages/sdk/src/dataset-preparation-authoring-contracts.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts +810 -0
- package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-preparation-contracts.d.ts +842 -0
- package/dist/types/packages/sdk/src/dataset-preparation-contracts.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-preparation-research-contracts.d.ts +203 -0
- package/dist/types/packages/sdk/src/dataset-preparation-research-contracts.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts +620 -0
- package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +16 -14
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts +4 -4
- package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts +4 -4
- package/dist/types/packages/sdk/src/dataset-workspaces.d.ts +4 -0
- package/dist/types/packages/sdk/src/dataset-workspaces.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-client.d.ts +195 -13
- package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-contracts.d.ts +40 -4
- package/dist/types/packages/sdk/src/experiment-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts +71 -7
- package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts +13 -1
- package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-run-details.d.ts +60 -5
- package/dist/types/packages/sdk/src/experiment-run-details.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiments.d.ts +2 -0
- package/dist/types/packages/sdk/src/experiments.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts +1 -1
- package/dist/types/packages/sdk/src/model-batch-review.d.ts +2 -2
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +98 -3
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starter-catalog.d.ts +4 -4
- package/dist/types/packages/sdk/src/model-starters.d.ts +5 -5
- package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +52 -4
- package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +32 -4
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/post-training.d.ts +60 -5
- package/dist/types/packages/sdk/src/post-training.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts +2 -2
- package/dist/types/packages/sdk/src/run-diagnostics.d.ts +281 -0
- package/dist/types/packages/sdk/src/run-diagnostics.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/task-design-contracts.d.ts +363 -0
- package/dist/types/packages/sdk/src/task-design-contracts.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts +6 -6
- package/dist/types/packages/sdk/src/taskset-authored-files.d.ts +3 -3
- package/dist/types/packages/sdk/src/taskset-authored-validation.d.ts +1 -0
- package/dist/types/packages/sdk/src/taskset-authored-validation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +4 -4
- package/dist/types/packages/sdk/src/taskset-draft-authoring.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +12 -12
- package/dist/types/packages/sdk/src/taskset-draft-core.d.ts +4 -4
- package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +2 -2
- package/dist/types/packages/sdk/src/taskset-draft-files.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts +4 -4
- package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +4 -4
- package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +4 -4
- package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-drafts.d.ts +2 -0
- package/dist/types/packages/sdk/src/taskset-drafts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-files.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts +1 -1
- package/dist/types/packages/sdk/src/taskset-package-learning.d.ts +2 -2
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +5 -5
- package/dist/types/packages/sdk/src/training-bundle.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts +6 -6
- package/dist/types/packages/sdk/src/training.d.ts +8 -1
- package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
- package/package.json +5 -4
- package/dist/chunk-4NZW4LFB.js +0 -1635
- package/dist/chunk-4NZW4LFB.js.map +0 -7
- package/dist/chunk-CPEOFPPF.js.map +0 -7
- package/dist/chunk-HKAR3VPB.js +0 -65
- package/dist/chunk-HKAR3VPB.js.map +0 -7
- package/dist/chunk-JEUHIQWF.js.map +0 -7
- package/dist/chunk-LXXQVGQY.js +0 -1
- package/dist/chunk-LXXQVGQY.js.map +0 -7
- package/dist/chunk-QUOW6URQ.js +0 -591
- package/dist/chunk-QUOW6URQ.js.map +0 -7
- package/dist/chunk-SX767BS2.js.map +0 -7
- package/dist/chunk-YTGRET2L.js.map +0 -7
- package/dist/chunk-Z3PPZRK2.js.map +0 -7
- /package/dist/{chunk-K4C5QOSV.js.map → chunk-3LP7DNLQ.js.map} +0 -0
- /package/dist/{chunk-4SZKRRTO.js.map → chunk-A3ZYHREX.js.map} +0 -0
- /package/dist/{chunk-SLS3GFPG.js.map → chunk-AG5DDL7T.js.map} +0 -0
- /package/dist/{chunk-MPAEWI5T.js.map → chunk-AV5JV26B.js.map} +0 -0
- /package/dist/{chunk-6ZDQ7HSA.js.map → chunk-B7VYE7YQ.js.map} +0 -0
- /package/dist/{chunk-5LFLXFPT.js.map → chunk-D4WTE6ZA.js.map} +0 -0
- /package/dist/{chunk-OWWDSG27.js.map → chunk-DBRRQASP.js.map} +0 -0
- /package/dist/{chunk-WPPHGWFA.js.map → chunk-DG5CRENU.js.map} +0 -0
- /package/dist/{chunk-X64BSFXJ.js.map → chunk-I3QQEXDY.js.map} +0 -0
- /package/dist/{chunk-MW2N3BX5.js.map → chunk-IPWCUGDN.js.map} +0 -0
- /package/dist/{chunk-RIX56CJL.js.map → chunk-JPPOMXMY.js.map} +0 -0
- /package/dist/{chunk-GMVYYRMR.js.map → chunk-L5PQPAU6.js.map} +0 -0
- /package/dist/{chunk-QVCMFQKA.js.map → chunk-NFLEPINR.js.map} +0 -0
- /package/dist/{chunk-HWLO3V7R.js.map → chunk-OEPYLZXK.js.map} +0 -0
- /package/dist/{chunk-SGRYMU4C.js.map → chunk-PL3ETQYC.js.map} +0 -0
- /package/dist/{chunk-55E4THHN.js.map → chunk-TTAFUUHZ.js.map} +0 -0
- /package/dist/{chunk-6O3UMEJL.js.map → chunk-UVREOAMH.js.map} +0 -0
- /package/dist/{chunk-KJ5VENYN.js.map → chunk-YSKUXQ2N.js.map} +0 -0
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
|
+
TaskDesignProposalSchema
|
|
3
|
+
} from "./chunk-2NBI5UOK.js";
|
|
4
|
+
import {
|
|
5
|
+
ConnectedCaseRefSchema,
|
|
2
6
|
DatasetWorkspaceBeginVersionSchema,
|
|
3
7
|
DatasetWorkspaceListQuerySchema,
|
|
4
8
|
DatasetWorkspaceListSchema,
|
|
@@ -7,34 +11,43 @@ import {
|
|
|
7
11
|
DatasetWorkspaceValidationSchema,
|
|
8
12
|
DatasetWorkspaceVersionsSchema,
|
|
9
13
|
DatasetWorkspaceWriteSchema
|
|
10
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-ILXO64IV.js";
|
|
11
15
|
import {
|
|
12
16
|
compileTasksetDraftWorkspace
|
|
13
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-NFLEPINR.js";
|
|
14
18
|
import {
|
|
19
|
+
TasksetDraftSchema,
|
|
20
|
+
createTasksetDraft,
|
|
21
|
+
createTasksetDraftFile,
|
|
22
|
+
createTasksetDraftWorkspace,
|
|
23
|
+
decodeTasksetDraftFileContent,
|
|
15
24
|
validateTasksetDraftWorkspace
|
|
16
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-NA7PNRQZ.js";
|
|
17
26
|
import {
|
|
18
27
|
TasksetCatalogReleaseRefSchema
|
|
19
28
|
} from "./chunk-K3JCP4FO.js";
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import
|
|
29
|
+
import "./chunk-IPWCUGDN.js";
|
|
30
|
+
import "./chunk-IS3P4OOW.js";
|
|
31
|
+
import {
|
|
32
|
+
TaskDataRecordSchema,
|
|
33
|
+
TasksetSourceRefSchema
|
|
34
|
+
} from "./chunk-OLHLJ2X3.js";
|
|
23
35
|
import "./chunk-2U54EOXJ.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-TTAFUUHZ.js";
|
|
37
|
+
import "./chunk-OEPYLZXK.js";
|
|
38
|
+
import "./chunk-YSKUXQ2N.js";
|
|
39
|
+
import "./chunk-KV6JXPQH.js";
|
|
40
|
+
import "./chunk-KAE7AMYE.js";
|
|
27
41
|
import {
|
|
28
42
|
ExperimentGraderPinSchema
|
|
29
|
-
} from "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
43
|
+
} from "./chunk-L5PQPAU6.js";
|
|
44
|
+
import "./chunk-7WUJBFCH.js";
|
|
45
|
+
import "./chunk-CK3ONRRC.js";
|
|
32
46
|
import "./chunk-TCHAWJMB.js";
|
|
33
47
|
import "./chunk-3KXDH6OB.js";
|
|
34
|
-
import "./chunk-4NZW4LFB.js";
|
|
35
48
|
import {
|
|
36
49
|
contentHash
|
|
37
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-COPVBJPL.js";
|
|
38
51
|
|
|
39
52
|
// src/dataset-workspace-operations.ts
|
|
40
53
|
import { z } from "zod";
|
|
@@ -47,6 +60,676 @@ var DatasetWorkspaceOperationResultSchema = z.object({ operationId: z.string().t
|
|
|
47
60
|
if (kind !== actualKind) context.addIssue({ code: "custom", message: "Operation recovery kind differs from its retained lifecycle." });
|
|
48
61
|
});
|
|
49
62
|
|
|
63
|
+
// src/dataset-preparation-client.ts
|
|
64
|
+
import { z as z3 } from "zod";
|
|
65
|
+
|
|
66
|
+
// src/dataset-preparation-contracts.ts
|
|
67
|
+
import { z as z2 } from "zod";
|
|
68
|
+
var Id = z2.string().trim().min(1).max(240);
|
|
69
|
+
var Hash = z2.string().regex(/^[a-f0-9]{64}$/);
|
|
70
|
+
var Timestamp = z2.iso.datetime();
|
|
71
|
+
var Count = z2.number().int().nonnegative();
|
|
72
|
+
var MicroUsd = z2.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER);
|
|
73
|
+
var DatasetPreparationGrantCreateSchema = z2.object({
|
|
74
|
+
id: Id,
|
|
75
|
+
projectId: Id,
|
|
76
|
+
maximumMicroUsd: MicroUsd.positive(),
|
|
77
|
+
maximumSandboxSeconds: Count.max(10800)
|
|
78
|
+
}).strict();
|
|
79
|
+
var DatasetPreparationGrantSchema = z2.object({
|
|
80
|
+
schemaVersion: z2.literal("openpond.datasetPreparationGrant.v1"),
|
|
81
|
+
id: Id,
|
|
82
|
+
teamId: Id,
|
|
83
|
+
ownerUserId: Id,
|
|
84
|
+
projectId: Id,
|
|
85
|
+
maximumMicroUsd: MicroUsd,
|
|
86
|
+
maximumSandboxSeconds: Count,
|
|
87
|
+
settledMicroUsd: MicroUsd,
|
|
88
|
+
heldMicroUsd: MicroUsd,
|
|
89
|
+
sandboxSeconds: Count,
|
|
90
|
+
heldSandboxSeconds: Count,
|
|
91
|
+
unresolvedCalls: Count,
|
|
92
|
+
cleanupPending: Count,
|
|
93
|
+
createdAt: Timestamp,
|
|
94
|
+
updatedAt: Timestamp
|
|
95
|
+
}).strict();
|
|
96
|
+
var DatasetPreparationTaskClassSchema = z2.enum([
|
|
97
|
+
"coding_change",
|
|
98
|
+
"debugging",
|
|
99
|
+
"code_explanation",
|
|
100
|
+
"structured_text",
|
|
101
|
+
"artifact_work"
|
|
102
|
+
]);
|
|
103
|
+
var DatasetPreparationStageSchema = z2.enum([
|
|
104
|
+
"inventory",
|
|
105
|
+
"preview",
|
|
106
|
+
"reconstruction",
|
|
107
|
+
"grader_authoring",
|
|
108
|
+
"qualification",
|
|
109
|
+
"release"
|
|
110
|
+
]);
|
|
111
|
+
var DatasetPreparationStatusSchema = z2.enum([
|
|
112
|
+
"draft",
|
|
113
|
+
"running",
|
|
114
|
+
"pausing",
|
|
115
|
+
"paused",
|
|
116
|
+
"needs_attention",
|
|
117
|
+
"preview_ready",
|
|
118
|
+
"ready",
|
|
119
|
+
"releasing",
|
|
120
|
+
"completed",
|
|
121
|
+
"insufficient_data",
|
|
122
|
+
"budget_exhausted",
|
|
123
|
+
"cancelling",
|
|
124
|
+
"cancelled",
|
|
125
|
+
"failed"
|
|
126
|
+
]);
|
|
127
|
+
var DatasetPreparationSourceSchema = z2.object({
|
|
128
|
+
projectId: Id,
|
|
129
|
+
from: Timestamp,
|
|
130
|
+
to: Timestamp,
|
|
131
|
+
importCutoff: Timestamp,
|
|
132
|
+
connections: z2.array(Id).min(1).max(50)
|
|
133
|
+
}).strict().superRefine((value, ctx) => {
|
|
134
|
+
if (Date.parse(value.from) >= Date.parse(value.to))
|
|
135
|
+
ctx.addIssue({
|
|
136
|
+
code: "custom",
|
|
137
|
+
message: "Source event-time window must be nonempty."
|
|
138
|
+
});
|
|
139
|
+
if (new Set(value.connections).size !== value.connections.length)
|
|
140
|
+
ctx.addIssue({
|
|
141
|
+
code: "custom",
|
|
142
|
+
message: "Source connections must be unique."
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
var DatasetPreparationPolicySchema = z2.object({
|
|
146
|
+
source: DatasetPreparationSourceSchema,
|
|
147
|
+
taskClasses: z2.array(DatasetPreparationTaskClassSchema).min(1).max(5),
|
|
148
|
+
limits: z2.object({
|
|
149
|
+
maximumConversations: z2.number().int().min(1).max(1e4),
|
|
150
|
+
maximumCandidates: z2.number().int().min(1).max(1e4),
|
|
151
|
+
acceptedTarget: z2.number().int().min(1).max(1e4),
|
|
152
|
+
maximumRepairsPerCandidate: z2.number().int().min(0).max(5),
|
|
153
|
+
maximumEvidenceBytesPerConversation: z2.number().int().min(1024).max(2e6)
|
|
154
|
+
}).strict(),
|
|
155
|
+
researcher: z2.object({
|
|
156
|
+
modelId: Id,
|
|
157
|
+
maximumOutputTokens: z2.number().int().min(1).max(32768)
|
|
158
|
+
}).strict(),
|
|
159
|
+
grading: z2.discriminatedUnion("mode", [
|
|
160
|
+
z2.object({ mode: z2.literal("auto") }).strict(),
|
|
161
|
+
z2.object({ mode: z2.literal("existing_only") }).strict(),
|
|
162
|
+
z2.object({
|
|
163
|
+
mode: z2.literal("manual"),
|
|
164
|
+
releases: z2.array(TasksetCatalogReleaseRefSchema).min(1).max(100)
|
|
165
|
+
}).strict()
|
|
166
|
+
]),
|
|
167
|
+
budget: z2.object({
|
|
168
|
+
grantId: Id,
|
|
169
|
+
maximumMicroUsd: MicroUsd.positive(),
|
|
170
|
+
previewMaximumMicroUsd: MicroUsd,
|
|
171
|
+
qualificationMaximumMicroUsdPerCandidate: MicroUsd,
|
|
172
|
+
maximumSandboxSeconds: Count.max(10800)
|
|
173
|
+
}).strict(),
|
|
174
|
+
finish: z2.enum(["stop_ready", "create_private_version"]),
|
|
175
|
+
execution: z2.enum(["preview_only", "prepare"]),
|
|
176
|
+
allowPartialVersion: z2.boolean(),
|
|
177
|
+
// Pilot-inspected material is development data. Protected study preparation
|
|
178
|
+
// uses a separate authorization and cannot inherit this inspection policy.
|
|
179
|
+
population: z2.literal("development")
|
|
180
|
+
}).strict().superRefine((value, ctx) => {
|
|
181
|
+
if (value.limits.acceptedTarget > value.limits.maximumCandidates)
|
|
182
|
+
ctx.addIssue({
|
|
183
|
+
code: "custom",
|
|
184
|
+
message: "Accepted target exceeds candidate scan limit."
|
|
185
|
+
});
|
|
186
|
+
if (value.budget.previewMaximumMicroUsd > value.budget.maximumMicroUsd)
|
|
187
|
+
ctx.addIssue({
|
|
188
|
+
code: "custom",
|
|
189
|
+
message: "Preview allowance exceeds the shared preparation ceiling."
|
|
190
|
+
});
|
|
191
|
+
if (new Set(value.taskClasses).size !== value.taskClasses.length)
|
|
192
|
+
ctx.addIssue({ code: "custom", message: "Task classes must be unique." });
|
|
193
|
+
});
|
|
194
|
+
var DatasetPreparationCreateSchema = z2.object({
|
|
195
|
+
operationId: Id,
|
|
196
|
+
expectedDatasetRevision: z2.number().int().positive(),
|
|
197
|
+
policy: DatasetPreparationPolicySchema
|
|
198
|
+
}).strict();
|
|
199
|
+
var DatasetPreparationCommandSchema = z2.discriminatedUnion("action", [
|
|
200
|
+
z2.object({
|
|
201
|
+
action: z2.enum(["start", "pause", "resume", "cancel", "release"]),
|
|
202
|
+
operationId: Id,
|
|
203
|
+
expectedRevision: z2.number().int().positive()
|
|
204
|
+
}).strict(),
|
|
205
|
+
z2.object({
|
|
206
|
+
action: z2.literal("resolve"),
|
|
207
|
+
operationId: Id,
|
|
208
|
+
expectedRevision: z2.number().int().positive(),
|
|
209
|
+
candidateId: Id,
|
|
210
|
+
decision: z2.enum(["retry", "exclude"]),
|
|
211
|
+
reason: z2.string().trim().min(1).max(5e3)
|
|
212
|
+
}).strict()
|
|
213
|
+
]);
|
|
214
|
+
var DatasetPreparationCoverageSchema = z2.object({
|
|
215
|
+
conversations: Count,
|
|
216
|
+
importedTurns: Count,
|
|
217
|
+
selectedTurns: Count,
|
|
218
|
+
queuedSnapshots: Count.nullable(),
|
|
219
|
+
failedSessions: Count.nullable(),
|
|
220
|
+
skippedSessions: Count.nullable(),
|
|
221
|
+
lastAdmissionAt: Timestamp.nullable(),
|
|
222
|
+
complete: z2.boolean(),
|
|
223
|
+
reasons: z2.array(
|
|
224
|
+
z2.object({ code: Id, message: z2.string().trim().min(1).max(2e3) }).strict()
|
|
225
|
+
).max(100),
|
|
226
|
+
sourceInventoryHash: Hash
|
|
227
|
+
}).strict();
|
|
228
|
+
var DatasetPreparationAccountingSchema = z2.object({
|
|
229
|
+
maximumMicroUsd: MicroUsd,
|
|
230
|
+
settledMicroUsd: MicroUsd,
|
|
231
|
+
heldMicroUsd: MicroUsd,
|
|
232
|
+
unresolvedCalls: Count,
|
|
233
|
+
sandboxSeconds: Count,
|
|
234
|
+
cleanupPending: Count,
|
|
235
|
+
complete: z2.boolean()
|
|
236
|
+
}).strict();
|
|
237
|
+
var DatasetPreparationPreviewSchema = z2.object({
|
|
238
|
+
sampleConversations: Count,
|
|
239
|
+
sampleTurns: Count,
|
|
240
|
+
candidateCount: Count,
|
|
241
|
+
modelId: Id,
|
|
242
|
+
modelConfigurationHash: Hash,
|
|
243
|
+
callReceiptIds: z2.array(Id).max(2e3),
|
|
244
|
+
inputTokens: Count.nullable(),
|
|
245
|
+
outputTokens: Count.nullable(),
|
|
246
|
+
classes: z2.array(
|
|
247
|
+
z2.object({
|
|
248
|
+
taskClass: DatasetPreparationTaskClassSchema,
|
|
249
|
+
candidates: Count,
|
|
250
|
+
assessment: z2.enum([
|
|
251
|
+
"executable",
|
|
252
|
+
"calibrated_judge",
|
|
253
|
+
"unsupported"
|
|
254
|
+
]),
|
|
255
|
+
requirements: z2.array(z2.string().trim().min(1).max(5e3)).max(20)
|
|
256
|
+
}).strict()
|
|
257
|
+
).max(5),
|
|
258
|
+
exclusions: z2.array(
|
|
259
|
+
z2.object({
|
|
260
|
+
code: Id,
|
|
261
|
+
count: Count,
|
|
262
|
+
reason: z2.string().trim().min(1).max(5e3)
|
|
263
|
+
}).strict()
|
|
264
|
+
).max(100),
|
|
265
|
+
estimates: z2.array(
|
|
266
|
+
z2.object({
|
|
267
|
+
stage: DatasetPreparationStageSchema,
|
|
268
|
+
minimumMicroUsd: MicroUsd,
|
|
269
|
+
maximumMicroUsd: MicroUsd,
|
|
270
|
+
assumptions: z2.array(z2.string().trim().min(1).max(2e3)).min(1).max(20)
|
|
271
|
+
}).strict().refine(
|
|
272
|
+
(value) => value.minimumMicroUsd <= value.maximumMicroUsd,
|
|
273
|
+
"Estimate range is reversed."
|
|
274
|
+
)
|
|
275
|
+
).max(6),
|
|
276
|
+
createdAt: Timestamp
|
|
277
|
+
}).strict();
|
|
278
|
+
var DatasetPreparationRunSchema = z2.object({
|
|
279
|
+
schemaVersion: z2.literal("openpond.datasetPreparationRun.v1"),
|
|
280
|
+
id: Id,
|
|
281
|
+
operationId: Id,
|
|
282
|
+
teamId: Id,
|
|
283
|
+
ownerUserId: Id,
|
|
284
|
+
datasetId: Id,
|
|
285
|
+
datasetRevision: z2.number().int().positive(),
|
|
286
|
+
revision: z2.number().int().positive(),
|
|
287
|
+
requestHash: Hash,
|
|
288
|
+
policy: DatasetPreparationPolicySchema,
|
|
289
|
+
status: DatasetPreparationStatusSchema,
|
|
290
|
+
stage: DatasetPreparationStageSchema,
|
|
291
|
+
coverage: DatasetPreparationCoverageSchema.nullable(),
|
|
292
|
+
preview: DatasetPreparationPreviewSchema.nullable(),
|
|
293
|
+
counts: z2.object({
|
|
294
|
+
scannedConversations: Count,
|
|
295
|
+
scannedTurns: Count,
|
|
296
|
+
candidates: Count,
|
|
297
|
+
reconstructed: Count,
|
|
298
|
+
qualifying: Count,
|
|
299
|
+
qualified: Count,
|
|
300
|
+
excluded: Count,
|
|
301
|
+
needsAttention: Count
|
|
302
|
+
}).strict(),
|
|
303
|
+
accounting: DatasetPreparationAccountingSchema,
|
|
304
|
+
publication: z2.object({
|
|
305
|
+
datasetId: Id,
|
|
306
|
+
workspaceRevision: z2.number().int().positive(),
|
|
307
|
+
release: TasksetCatalogReleaseRefSchema
|
|
308
|
+
}).strict().nullable(),
|
|
309
|
+
error: z2.object({ code: Id, message: z2.string().trim().min(1).max(5e3) }).strict().nullable(),
|
|
310
|
+
createdAt: Timestamp,
|
|
311
|
+
updatedAt: Timestamp
|
|
312
|
+
}).strict().superRefine((value, ctx) => {
|
|
313
|
+
if (value.accounting.maximumMicroUsd !== value.policy.budget.maximumMicroUsd)
|
|
314
|
+
ctx.addIssue({
|
|
315
|
+
code: "custom",
|
|
316
|
+
message: "Accounting authority differs from the saved preparation policy."
|
|
317
|
+
});
|
|
318
|
+
if (value.counts.qualified + value.counts.excluded + value.counts.needsAttention > value.counts.candidates)
|
|
319
|
+
ctx.addIssue({
|
|
320
|
+
code: "custom",
|
|
321
|
+
message: "Preparation outcomes exceed the candidate population."
|
|
322
|
+
});
|
|
323
|
+
if (value.status === "preview_ready" && (value.policy.execution !== "preview_only" || value.stage !== "preview" || !value.preview || !value.coverage?.complete || !value.accounting.complete)) ctx.addIssue({ code: "custom", message: "Preview readiness requires a preview-only policy, reconciled source coverage and settled preview calls." });
|
|
324
|
+
if (["ready", "releasing", "completed"].includes(value.status) && (value.counts.qualified === 0 || !value.policy.allowPartialVersion && value.counts.qualified < value.policy.limits.acceptedTarget))
|
|
325
|
+
ctx.addIssue({
|
|
326
|
+
code: "custom",
|
|
327
|
+
message: "Preparation cannot report readiness below its accepted target."
|
|
328
|
+
});
|
|
329
|
+
if (["ready", "releasing", "completed"].includes(value.status) && (value.policy.execution !== "prepare" || !value.preview || !value.coverage?.complete || !value.accounting.complete))
|
|
330
|
+
ctx.addIssue({ code: "custom", message: "Dataset readiness requires full preparation authority, reconciled source coverage, preview and final accounting." });
|
|
331
|
+
if (value.status === "completed" && (!value.publication || !value.accounting.complete))
|
|
332
|
+
ctx.addIssue({
|
|
333
|
+
code: "custom",
|
|
334
|
+
message: "Completed preparation requires publication and reconciled accounting."
|
|
335
|
+
});
|
|
336
|
+
if (value.status === "cancelled" && (!value.accounting.complete || value.accounting.cleanupPending > 0))
|
|
337
|
+
ctx.addIssue({
|
|
338
|
+
code: "custom",
|
|
339
|
+
message: "Cancellation requires settled resource obligations."
|
|
340
|
+
});
|
|
341
|
+
});
|
|
342
|
+
var DatasetPreparationListSchema = z2.object({
|
|
343
|
+
teamId: Id,
|
|
344
|
+
datasetId: Id,
|
|
345
|
+
runs: z2.array(DatasetPreparationRunSchema).max(50),
|
|
346
|
+
nextCursor: Id.nullable()
|
|
347
|
+
}).strict();
|
|
348
|
+
var PreparedTaskEvidenceSpanSchema = z2.object({
|
|
349
|
+
source: ConnectedCaseRefSchema,
|
|
350
|
+
startSequence: Count,
|
|
351
|
+
endSequence: Count,
|
|
352
|
+
role: z2.enum([
|
|
353
|
+
"requirement",
|
|
354
|
+
"initial_context",
|
|
355
|
+
"outcome",
|
|
356
|
+
"correction",
|
|
357
|
+
"verification"
|
|
358
|
+
])
|
|
359
|
+
}).strict().superRefine((value, ctx) => {
|
|
360
|
+
if (value.endSequence < value.startSequence)
|
|
361
|
+
ctx.addIssue({
|
|
362
|
+
code: "custom",
|
|
363
|
+
message: "Evidence span must be ordered."
|
|
364
|
+
});
|
|
365
|
+
});
|
|
366
|
+
var PreparedTaskProvenanceSchema = z2.object({
|
|
367
|
+
schemaVersion: z2.literal("openpond.preparedTaskProvenance.v1"),
|
|
368
|
+
candidateId: Id,
|
|
369
|
+
preparationId: Id,
|
|
370
|
+
familyKey: Id,
|
|
371
|
+
sourceSpans: z2.array(PreparedTaskEvidenceSpanSchema).min(1).max(200),
|
|
372
|
+
firstAvailableAt: Timestamp,
|
|
373
|
+
initialInputHash: Hash,
|
|
374
|
+
initialEnvironmentHash: Hash,
|
|
375
|
+
sourceScopeHash: Hash
|
|
376
|
+
}).strict().superRefine((value, ctx) => {
|
|
377
|
+
if (!value.sourceSpans.some((span) => span.role === "requirement"))
|
|
378
|
+
ctx.addIssue({
|
|
379
|
+
code: "custom",
|
|
380
|
+
message: "A reconstructed task needs a source requirement."
|
|
381
|
+
});
|
|
382
|
+
const seen = /* @__PURE__ */ new Set();
|
|
383
|
+
for (const span of value.sourceSpans) {
|
|
384
|
+
if (value.sourceSpans.some((other) => other !== span && other.source.id === span.source.id && other.source.snapshotHash === span.source.snapshotHash && other.role !== span.role && span.startSequence <= other.endSequence && other.startSequence <= span.endSequence))
|
|
385
|
+
ctx.addIssue({ code: "custom", message: "Evidence offsets cannot have conflicting roles." });
|
|
386
|
+
const key = JSON.stringify([
|
|
387
|
+
span.source,
|
|
388
|
+
span.startSequence,
|
|
389
|
+
span.endSequence
|
|
390
|
+
]);
|
|
391
|
+
if (seen.has(key))
|
|
392
|
+
ctx.addIssue({
|
|
393
|
+
code: "custom",
|
|
394
|
+
message: "Evidence span is duplicated or crosses public/private roles."
|
|
395
|
+
});
|
|
396
|
+
seen.add(key);
|
|
397
|
+
}
|
|
398
|
+
});
|
|
399
|
+
var PreparedTaskQualificationSchema = z2.object({
|
|
400
|
+
schemaVersion: z2.literal("openpond.preparedTaskQualification.v1"),
|
|
401
|
+
id: Id,
|
|
402
|
+
candidateId: Id,
|
|
403
|
+
preparationId: Id,
|
|
404
|
+
taskHash: Hash,
|
|
405
|
+
environmentHash: Hash,
|
|
406
|
+
packageHash: Hash,
|
|
407
|
+
graderBindings: z2.array(
|
|
408
|
+
z2.object({
|
|
409
|
+
id: Id,
|
|
410
|
+
version: Id,
|
|
411
|
+
contentHash: Hash,
|
|
412
|
+
origin: z2.enum(["reused", "adapted", "authored"])
|
|
413
|
+
}).strict()
|
|
414
|
+
).min(1).max(100),
|
|
415
|
+
checks: z2.array(
|
|
416
|
+
z2.object({
|
|
417
|
+
id: Id,
|
|
418
|
+
label: z2.enum([
|
|
419
|
+
"positive",
|
|
420
|
+
"incorrect",
|
|
421
|
+
"incomplete",
|
|
422
|
+
"adversarial",
|
|
423
|
+
"clean_reset"
|
|
424
|
+
]),
|
|
425
|
+
executionReceiptId: Id,
|
|
426
|
+
expectedPassed: z2.boolean(),
|
|
427
|
+
observedPassed: z2.boolean().nullable(),
|
|
428
|
+
infrastructureError: Id.nullable()
|
|
429
|
+
}).strict()
|
|
430
|
+
).min(5).max(500),
|
|
431
|
+
independentEvidenceRefs: z2.array(Id).min(1).max(100),
|
|
432
|
+
judgeCalibration: z2.enum(["not_applicable", "passed", "failed", "pending"]),
|
|
433
|
+
cleanup: z2.enum(["completed", "pending"]),
|
|
434
|
+
passed: z2.boolean(),
|
|
435
|
+
createdAt: Timestamp
|
|
436
|
+
}).strict().superRefine((value, ctx) => {
|
|
437
|
+
if (!value.passed) return;
|
|
438
|
+
const labels = new Set(value.checks.map((check) => check.label));
|
|
439
|
+
if ([
|
|
440
|
+
"positive",
|
|
441
|
+
"incorrect",
|
|
442
|
+
"incomplete",
|
|
443
|
+
"adversarial",
|
|
444
|
+
"clean_reset"
|
|
445
|
+
].some(
|
|
446
|
+
(label) => !labels.has(label)
|
|
447
|
+
))
|
|
448
|
+
ctx.addIssue({
|
|
449
|
+
code: "custom",
|
|
450
|
+
message: "Qualified tasks require positive, negative, adversarial and clean-reset evidence."
|
|
451
|
+
});
|
|
452
|
+
if (value.cleanup !== "completed" || ["pending", "failed"].includes(value.judgeCalibration) || value.checks.some(
|
|
453
|
+
(check) => check.infrastructureError !== null || check.observedPassed !== check.expectedPassed
|
|
454
|
+
))
|
|
455
|
+
ctx.addIssue({
|
|
456
|
+
code: "custom",
|
|
457
|
+
message: "Failed, uncalibrated or uncleared checks cannot qualify a task."
|
|
458
|
+
});
|
|
459
|
+
if (value.checks.some(
|
|
460
|
+
(check) => check.expectedPassed !== ["positive", "clean_reset"].includes(check.label)
|
|
461
|
+
))
|
|
462
|
+
ctx.addIssue({
|
|
463
|
+
code: "custom",
|
|
464
|
+
message: "Qualification witnesses must pass positives/resets and reject incorrect, incomplete and adversarial outputs."
|
|
465
|
+
});
|
|
466
|
+
});
|
|
467
|
+
var DatasetPreparationCandidateSchema = z2.object({
|
|
468
|
+
id: Id,
|
|
469
|
+
runId: Id,
|
|
470
|
+
revision: z2.number().int().positive(),
|
|
471
|
+
taskClass: DatasetPreparationTaskClassSchema,
|
|
472
|
+
status: z2.enum([
|
|
473
|
+
"discovered",
|
|
474
|
+
"reconstructing",
|
|
475
|
+
"authoring",
|
|
476
|
+
"qualifying",
|
|
477
|
+
"qualified",
|
|
478
|
+
"excluded",
|
|
479
|
+
"needs_attention"
|
|
480
|
+
]),
|
|
481
|
+
objective: z2.string().trim().min(1).max(2e4),
|
|
482
|
+
provenance: PreparedTaskProvenanceSchema.nullable(),
|
|
483
|
+
qualification: PreparedTaskQualificationSchema.nullable(),
|
|
484
|
+
reason: z2.object({ code: Id, message: z2.string().trim().min(1).max(5e3) }).strict().nullable(),
|
|
485
|
+
attempts: Count.max(6)
|
|
486
|
+
}).strict().superRefine((value, ctx) => {
|
|
487
|
+
if (value.status === "qualified" && (!value.provenance || !value.qualification?.passed))
|
|
488
|
+
ctx.addIssue({
|
|
489
|
+
code: "custom",
|
|
490
|
+
message: "Candidate admission requires reconstruction and qualification receipts."
|
|
491
|
+
});
|
|
492
|
+
if (value.provenance && (value.provenance.candidateId !== value.id || value.provenance.preparationId !== value.runId))
|
|
493
|
+
ctx.addIssue({
|
|
494
|
+
code: "custom",
|
|
495
|
+
message: "Candidate provenance identity mismatch."
|
|
496
|
+
});
|
|
497
|
+
if (value.qualification && (value.qualification.candidateId !== value.id || value.qualification.preparationId !== value.runId))
|
|
498
|
+
ctx.addIssue({
|
|
499
|
+
code: "custom",
|
|
500
|
+
message: "Candidate qualification identity mismatch."
|
|
501
|
+
});
|
|
502
|
+
});
|
|
503
|
+
|
|
504
|
+
// src/dataset-preparation-client.ts
|
|
505
|
+
var Id2 = z3.string().trim().min(1).max(240);
|
|
506
|
+
var CandidatePage = z3.object({
|
|
507
|
+
teamId: Id2,
|
|
508
|
+
datasetId: Id2,
|
|
509
|
+
runId: Id2,
|
|
510
|
+
candidates: z3.array(DatasetPreparationCandidateSchema).max(50),
|
|
511
|
+
nextCursor: Id2.nullable()
|
|
512
|
+
}).strict();
|
|
513
|
+
var DatasetPreparationRequestError = class extends Error {
|
|
514
|
+
constructor(status, code, message) {
|
|
515
|
+
super(message);
|
|
516
|
+
this.status = status;
|
|
517
|
+
this.code = code;
|
|
518
|
+
this.name = "DatasetPreparationRequestError";
|
|
519
|
+
}
|
|
520
|
+
status;
|
|
521
|
+
code;
|
|
522
|
+
};
|
|
523
|
+
var OpenPondDatasetPreparationClient = class {
|
|
524
|
+
constructor(options) {
|
|
525
|
+
this.options = options;
|
|
526
|
+
const url = new URL(options.baseUrl);
|
|
527
|
+
if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim())
|
|
528
|
+
throw new Error(
|
|
529
|
+
"A clean API origin and workspace credentials are required."
|
|
530
|
+
);
|
|
531
|
+
this.baseUrl = url.toString().replace(/\/+$/, "");
|
|
532
|
+
}
|
|
533
|
+
options;
|
|
534
|
+
baseUrl;
|
|
535
|
+
async create(datasetId, input, signal) {
|
|
536
|
+
const request = DatasetPreparationCreateSchema.parse(input);
|
|
537
|
+
const result = this.readRun(
|
|
538
|
+
await this.request(datasetId, "", "POST", request, signal),
|
|
539
|
+
datasetId
|
|
540
|
+
);
|
|
541
|
+
if (result.operationId !== request.operationId || result.requestHash !== contentHash(request) || result.datasetRevision !== request.expectedDatasetRevision)
|
|
542
|
+
throw new Error(
|
|
543
|
+
"Preparation creation receipt differs from the saved intent."
|
|
544
|
+
);
|
|
545
|
+
return result;
|
|
546
|
+
}
|
|
547
|
+
async createGrant(datasetId, input, signal) {
|
|
548
|
+
const request = DatasetPreparationGrantCreateSchema.parse(input);
|
|
549
|
+
const grant = this.readGrant(
|
|
550
|
+
await this.request(datasetId, "/grants", "POST", request, signal)
|
|
551
|
+
);
|
|
552
|
+
if (grant.id !== request.id || grant.projectId !== request.projectId || grant.maximumMicroUsd !== request.maximumMicroUsd || grant.maximumSandboxSeconds !== request.maximumSandboxSeconds)
|
|
553
|
+
throw new Error(
|
|
554
|
+
"Preparation grant receipt differs from the saved limits."
|
|
555
|
+
);
|
|
556
|
+
return grant;
|
|
557
|
+
}
|
|
558
|
+
async getGrant(datasetId, grantId, signal) {
|
|
559
|
+
const grant = this.readGrant(
|
|
560
|
+
await this.request(
|
|
561
|
+
datasetId,
|
|
562
|
+
`/grants/${encodeURIComponent(Id2.parse(grantId))}`,
|
|
563
|
+
"GET",
|
|
564
|
+
void 0,
|
|
565
|
+
signal
|
|
566
|
+
)
|
|
567
|
+
);
|
|
568
|
+
if (grant.id !== grantId)
|
|
569
|
+
throw new Error("Preparation grant identity mismatch.");
|
|
570
|
+
return grant;
|
|
571
|
+
}
|
|
572
|
+
readGrant(value) {
|
|
573
|
+
const grant = DatasetPreparationGrantSchema.parse(value);
|
|
574
|
+
if (grant.teamId !== this.options.teamId)
|
|
575
|
+
throw new Error("Preparation grant workspace mismatch.");
|
|
576
|
+
return grant;
|
|
577
|
+
}
|
|
578
|
+
async get(datasetId, runId, signal) {
|
|
579
|
+
return this.readRun(
|
|
580
|
+
await this.request(
|
|
581
|
+
datasetId,
|
|
582
|
+
`/${encodeURIComponent(Id2.parse(runId))}`,
|
|
583
|
+
"GET",
|
|
584
|
+
void 0,
|
|
585
|
+
signal
|
|
586
|
+
),
|
|
587
|
+
datasetId,
|
|
588
|
+
runId
|
|
589
|
+
);
|
|
590
|
+
}
|
|
591
|
+
async list(datasetId, options = {}) {
|
|
592
|
+
const query = new URLSearchParams(
|
|
593
|
+
options.cursor ? { cursor: Id2.parse(options.cursor) } : {}
|
|
594
|
+
);
|
|
595
|
+
const result = DatasetPreparationListSchema.parse(
|
|
596
|
+
await this.request(
|
|
597
|
+
datasetId,
|
|
598
|
+
`?${query}`,
|
|
599
|
+
"GET",
|
|
600
|
+
void 0,
|
|
601
|
+
options.signal
|
|
602
|
+
)
|
|
603
|
+
);
|
|
604
|
+
if (result.teamId !== this.options.teamId || result.datasetId !== datasetId || result.runs.some(
|
|
605
|
+
(run) => run.teamId !== result.teamId || run.datasetId !== datasetId
|
|
606
|
+
) || new Set(result.runs.map((run) => run.id)).size !== result.runs.length)
|
|
607
|
+
throw new Error("Preparation list scope/identity mismatch.");
|
|
608
|
+
return result;
|
|
609
|
+
}
|
|
610
|
+
async command(datasetId, runId, input, signal) {
|
|
611
|
+
const request = DatasetPreparationCommandSchema.parse(input);
|
|
612
|
+
const result = this.readRun(
|
|
613
|
+
await this.request(
|
|
614
|
+
datasetId,
|
|
615
|
+
`/${encodeURIComponent(Id2.parse(runId))}/commands`,
|
|
616
|
+
"POST",
|
|
617
|
+
request,
|
|
618
|
+
signal
|
|
619
|
+
),
|
|
620
|
+
datasetId,
|
|
621
|
+
runId
|
|
622
|
+
);
|
|
623
|
+
if (result.revision < request.expectedRevision + 1)
|
|
624
|
+
throw new Error(
|
|
625
|
+
"Preparation command did not advance the expected revision."
|
|
626
|
+
);
|
|
627
|
+
return result;
|
|
628
|
+
}
|
|
629
|
+
async operationResult(datasetId, operationId, signal) {
|
|
630
|
+
const result = await this.request(
|
|
631
|
+
datasetId,
|
|
632
|
+
`/operations/${encodeURIComponent(Id2.parse(operationId))}`,
|
|
633
|
+
"GET",
|
|
634
|
+
void 0,
|
|
635
|
+
signal
|
|
636
|
+
);
|
|
637
|
+
if (result === null) return null;
|
|
638
|
+
const receipt = z3.object({
|
|
639
|
+
operationId: Id2,
|
|
640
|
+
requestHash: z3.string().regex(/^[a-f0-9]{64}$/),
|
|
641
|
+
run: DatasetPreparationRunSchema
|
|
642
|
+
}).strict().parse(result);
|
|
643
|
+
if (receipt.operationId !== operationId)
|
|
644
|
+
throw new Error("Preparation operation recovery identity mismatch.");
|
|
645
|
+
this.readRun(receipt.run, datasetId);
|
|
646
|
+
return receipt;
|
|
647
|
+
}
|
|
648
|
+
async candidates(datasetId, runId, options = {}) {
|
|
649
|
+
const query = new URLSearchParams(
|
|
650
|
+
options.cursor ? { cursor: Id2.parse(options.cursor) } : {}
|
|
651
|
+
);
|
|
652
|
+
const result = CandidatePage.parse(
|
|
653
|
+
await this.request(
|
|
654
|
+
datasetId,
|
|
655
|
+
`/${encodeURIComponent(Id2.parse(runId))}/candidates?${query}`,
|
|
656
|
+
"GET",
|
|
657
|
+
void 0,
|
|
658
|
+
options.signal
|
|
659
|
+
)
|
|
660
|
+
);
|
|
661
|
+
if (result.teamId !== this.options.teamId || result.datasetId !== datasetId || result.runId !== runId || result.candidates.some((candidate) => candidate.runId !== runId) || new Set(result.candidates.map((candidate) => candidate.id)).size !== result.candidates.length)
|
|
662
|
+
throw new Error("Preparation candidate page scope/identity mismatch.");
|
|
663
|
+
return result;
|
|
664
|
+
}
|
|
665
|
+
readRun(value, datasetId, runId) {
|
|
666
|
+
const result = DatasetPreparationRunSchema.parse(value);
|
|
667
|
+
if (result.teamId !== this.options.teamId || result.datasetId !== datasetId || runId && result.id !== runId)
|
|
668
|
+
throw new Error("Preparation run scope/identity mismatch.");
|
|
669
|
+
return result;
|
|
670
|
+
}
|
|
671
|
+
async request(datasetId, path, method, body, signal) {
|
|
672
|
+
const response = await (this.options.fetch ?? fetch)(
|
|
673
|
+
`${this.baseUrl}/v1/dataset-workspaces/${encodeURIComponent(Id2.parse(datasetId))}/preparations${path}`,
|
|
674
|
+
{
|
|
675
|
+
method,
|
|
676
|
+
signal,
|
|
677
|
+
redirect: "error",
|
|
678
|
+
headers: {
|
|
679
|
+
Authorization: `Bearer ${this.options.apiKey}`,
|
|
680
|
+
"X-OpenPond-Team-Id": this.options.teamId,
|
|
681
|
+
"Content-Type": "application/json"
|
|
682
|
+
},
|
|
683
|
+
...body === void 0 ? {} : { body: JSON.stringify(body) }
|
|
684
|
+
}
|
|
685
|
+
);
|
|
686
|
+
if (!response.body) {
|
|
687
|
+
if (!response.ok)
|
|
688
|
+
throw new DatasetPreparationRequestError(
|
|
689
|
+
response.status,
|
|
690
|
+
"dataset_preparation_request_failed",
|
|
691
|
+
`Dataset preparation request failed (${response.status}).`
|
|
692
|
+
);
|
|
693
|
+
throw new Error("Preparation response is empty.");
|
|
694
|
+
}
|
|
695
|
+
const reader = response.body.getReader(), chunks = [];
|
|
696
|
+
let length = 0;
|
|
697
|
+
try {
|
|
698
|
+
while (true) {
|
|
699
|
+
const part = await reader.read();
|
|
700
|
+
if (part.done) break;
|
|
701
|
+
length += part.value.byteLength;
|
|
702
|
+
if (length > (response.ok ? 8 * 1024 * 1024 : 64 * 1024))
|
|
703
|
+
throw new Error("Preparation response exceeds its bounded page.");
|
|
704
|
+
chunks.push(part.value);
|
|
705
|
+
}
|
|
706
|
+
} finally {
|
|
707
|
+
await reader.cancel();
|
|
708
|
+
}
|
|
709
|
+
const bytes = new Uint8Array(length);
|
|
710
|
+
let offset = 0;
|
|
711
|
+
for (const chunk of chunks) {
|
|
712
|
+
bytes.set(chunk, offset);
|
|
713
|
+
offset += chunk.length;
|
|
714
|
+
}
|
|
715
|
+
const raw = new TextDecoder("utf-8", { fatal: true }).decode(bytes);
|
|
716
|
+
if (!response.ok) {
|
|
717
|
+
let value = null;
|
|
718
|
+
try {
|
|
719
|
+
value = JSON.parse(raw);
|
|
720
|
+
} catch {
|
|
721
|
+
}
|
|
722
|
+
const error = z3.object({ code: z3.string().max(240), message: z3.string().max(5e3) }).safeParse(value);
|
|
723
|
+
throw new DatasetPreparationRequestError(
|
|
724
|
+
response.status,
|
|
725
|
+
error.success ? error.data.code : "dataset_preparation_request_failed",
|
|
726
|
+
error.success ? error.data.message : `Dataset preparation request failed (${response.status}).`
|
|
727
|
+
);
|
|
728
|
+
}
|
|
729
|
+
return JSON.parse(raw);
|
|
730
|
+
}
|
|
731
|
+
};
|
|
732
|
+
|
|
50
733
|
// src/dataset-workspace-client.ts
|
|
51
734
|
var OpenPondDatasetWorkspaceClient = class {
|
|
52
735
|
constructor(options) {
|
|
@@ -54,9 +737,11 @@ var OpenPondDatasetWorkspaceClient = class {
|
|
|
54
737
|
const url = new URL(options.baseUrl);
|
|
55
738
|
if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim()) throw new Error("A clean API origin and workspace credentials are required.");
|
|
56
739
|
this.baseUrl = url.toString().replace(/\/+$/, "");
|
|
740
|
+
this.preparations = new OpenPondDatasetPreparationClient(options);
|
|
57
741
|
}
|
|
58
742
|
options;
|
|
59
743
|
baseUrl;
|
|
744
|
+
preparations;
|
|
60
745
|
async list(options = {}) {
|
|
61
746
|
const { signal, ...input } = options;
|
|
62
747
|
const query = DatasetWorkspaceListQuerySchema.parse(input);
|
|
@@ -163,33 +848,33 @@ var OpenPondDatasetWorkspaceClient = class {
|
|
|
163
848
|
|
|
164
849
|
// src/dataset-population.ts
|
|
165
850
|
import { TaskSplitSchema, TaskRecordSchema } from "@openpond/evals/tasksets";
|
|
166
|
-
import { z as
|
|
167
|
-
var
|
|
168
|
-
var
|
|
169
|
-
var DatasetPopulationQuerySchema =
|
|
851
|
+
import { z as z4 } from "zod";
|
|
852
|
+
var Id3 = z4.string().trim().min(1).max(500);
|
|
853
|
+
var Hash2 = z4.string().regex(/^[a-f0-9]{64}$/);
|
|
854
|
+
var DatasetPopulationQuerySchema = z4.object({
|
|
170
855
|
release: TasksetCatalogReleaseRefSchema,
|
|
171
|
-
afterId:
|
|
172
|
-
limit:
|
|
173
|
-
view:
|
|
856
|
+
afterId: Id3.optional(),
|
|
857
|
+
limit: z4.number().int().min(1).max(1e4).default(100),
|
|
858
|
+
view: z4.enum(["ids", "policy"]).default("ids")
|
|
174
859
|
}).strict().superRefine((query, context) => {
|
|
175
860
|
if (query.view === "policy" && query.limit > 100) context.addIssue({ code: "custom", path: ["limit"], message: "Policy previews are bounded to 100 tasks." });
|
|
176
861
|
});
|
|
177
|
-
var TaskIdentity =
|
|
862
|
+
var TaskIdentity = z4.object({ id: TaskRecordSchema.shape.id, split: TaskSplitSchema }).strict();
|
|
178
863
|
var PolicyTask = TaskIdentity.extend({
|
|
179
|
-
input:
|
|
180
|
-
policyVisibleContext:
|
|
181
|
-
artifacts:
|
|
864
|
+
input: z4.record(z4.string(), z4.unknown()),
|
|
865
|
+
policyVisibleContext: z4.record(z4.string(), z4.unknown()),
|
|
866
|
+
artifacts: z4.array(z4.object({ id: Id3, path: z4.string(), mediaType: z4.string(), sizeBytes: z4.number().int().nonnegative() }).strict()).max(1e3)
|
|
182
867
|
}).strict();
|
|
183
|
-
var DatasetPopulationPageSchema =
|
|
184
|
-
schemaVersion:
|
|
185
|
-
teamId:
|
|
868
|
+
var DatasetPopulationPageSchema = z4.object({
|
|
869
|
+
schemaVersion: z4.literal("openpond.datasetPopulationPage.v1"),
|
|
870
|
+
teamId: Id3,
|
|
186
871
|
release: TasksetCatalogReleaseRefSchema,
|
|
187
872
|
view: DatasetPopulationQuerySchema.shape.view,
|
|
188
|
-
taskCount:
|
|
189
|
-
items:
|
|
190
|
-
graders:
|
|
191
|
-
nextCursor:
|
|
192
|
-
contentHash:
|
|
873
|
+
taskCount: z4.number().int().nonnegative(),
|
|
874
|
+
items: z4.array(z4.union([TaskIdentity, PolicyTask])).max(1e4),
|
|
875
|
+
graders: z4.array(ExperimentGraderPinSchema).max(1e3),
|
|
876
|
+
nextCursor: Id3.nullable(),
|
|
877
|
+
contentHash: Hash2
|
|
193
878
|
}).strict().superRefine((page, context) => {
|
|
194
879
|
if (page.view === "policy" && page.items.length > 100) context.addIssue({ code: "custom", message: "Policy preview exceeded its task bound." });
|
|
195
880
|
if (page.items.some((item) => "input" in item !== (page.view === "policy"))) context.addIssue({ code: "custom", message: "Dataset task view differs from the requested projection." });
|
|
@@ -226,16 +911,153 @@ var OpenPondDatasetPopulationClient = class {
|
|
|
226
911
|
reader.releaseLock();
|
|
227
912
|
}
|
|
228
913
|
const raw = JSON.parse(source);
|
|
229
|
-
if (!response.ok) throw new Error(
|
|
914
|
+
if (!response.ok) throw new Error(z4.object({ message: z4.string() }).passthrough().parse(raw).message);
|
|
230
915
|
const page = DatasetPopulationPageSchema.parse(raw);
|
|
231
916
|
const { contentHash: hash, ...content } = page;
|
|
232
917
|
if (page.teamId !== this.options.teamId || contentHash(page.release) !== contentHash(query.release) || page.view !== query.view || page.items.length > query.limit || contentHash(content) !== hash || page.items.some((item, index) => query.afterId !== void 0 && item.id <= query.afterId || index > 0 && item.id <= page.items[index - 1].id) || page.nextCursor !== null && page.nextCursor !== page.items.at(-1)?.id) throw new Error("Dataset population identity, hash, order or bounds mismatch.");
|
|
233
918
|
return page;
|
|
234
919
|
}
|
|
235
920
|
};
|
|
921
|
+
|
|
922
|
+
// src/dataset-preparation-research-contracts.ts
|
|
923
|
+
import { z as z5 } from "zod";
|
|
924
|
+
var Id4 = z5.string().trim().min(1).max(240);
|
|
925
|
+
var Text = z5.string().trim().min(1).max(5e3);
|
|
926
|
+
var DatasetPreparationResearchCandidateSchema = z5.object({
|
|
927
|
+
taskClass: DatasetPreparationTaskClassSchema,
|
|
928
|
+
objective: z5.string().trim().min(1).max(2e4),
|
|
929
|
+
sourceSpans: z5.array(PreparedTaskEvidenceSpanSchema).min(1).max(200),
|
|
930
|
+
firstAvailableAt: z5.iso.datetime(),
|
|
931
|
+
reconstruction: z5.object({
|
|
932
|
+
kind: z5.enum(["text_only", "pinned_repository", "pinned_artifact", "unsupported"]),
|
|
933
|
+
requiredAssets: z5.array(z5.object({ reference: Text, evidence: PreparedTaskEvidenceSpanSchema }).strict()).max(100),
|
|
934
|
+
missingEvidence: z5.array(Text).max(20)
|
|
935
|
+
}).strict(),
|
|
936
|
+
assessment: z5.object({
|
|
937
|
+
kind: z5.enum(["executable", "calibrated_judge", "unsupported"]),
|
|
938
|
+
requirements: z5.array(z5.object({ criterion: Text, evidence: PreparedTaskEvidenceSpanSchema }).strict()).min(1).max(20),
|
|
939
|
+
limitations: z5.array(Text).max(20)
|
|
940
|
+
}).strict()
|
|
941
|
+
}).strict().superRefine((value, ctx) => {
|
|
942
|
+
if (!value.sourceSpans.some((span) => span.role === "requirement"))
|
|
943
|
+
ctx.addIssue({ code: "custom", message: "A research candidate requires independently retained user requirements." });
|
|
944
|
+
if (value.assessment.requirements.some((item) => item.evidence.role !== "requirement"))
|
|
945
|
+
ctx.addIssue({ code: "custom", message: "Assessment criteria must cite user requirements, not historical answers." });
|
|
946
|
+
});
|
|
947
|
+
var DatasetPreparationResearchDecisionSchema = z5.object({
|
|
948
|
+
schemaVersion: z5.literal("openpond.datasetPreparationResearchDecision.v1"),
|
|
949
|
+
sourceId: Id4,
|
|
950
|
+
snapshotHash: z5.string().regex(/^[a-f0-9]{64}$/),
|
|
951
|
+
candidates: z5.array(DatasetPreparationResearchCandidateSchema).max(100),
|
|
952
|
+
exclusions: z5.array(z5.object({ code: Id4, reason: Text, sourceSpans: z5.array(PreparedTaskEvidenceSpanSchema).max(200) }).strict()).max(100),
|
|
953
|
+
contextSummary: z5.string().max(2e4)
|
|
954
|
+
}).strict();
|
|
955
|
+
|
|
956
|
+
// src/dataset-preparation-workspace.ts
|
|
957
|
+
function createPreparedTaskAuthoringWorkspace(input) {
|
|
958
|
+
const provenance = PreparedTaskProvenanceSchema.parse(input.provenance);
|
|
959
|
+
const proposal = TaskDesignProposalSchema.parse(input.proposal);
|
|
960
|
+
const sources = input.sources.map((source) => TasksetSourceRefSchema.parse(source));
|
|
961
|
+
const environment = TasksetDraftSchema.shape.environment.parse(input.initialEnvironment);
|
|
962
|
+
if (contentHash(input.initialInput) !== provenance.initialInputHash || contentHash(environment) !== provenance.initialEnvironmentHash)
|
|
963
|
+
throw new Error("Prepared Taskset input or starting environment differs from its reconstruction.");
|
|
964
|
+
if (environment.kind !== "chat" || environment.stateful || environment.toolNames.length || (environment.resources?.length ?? 0) || proposal.taskKind !== "chat" || proposal.diagnosis.requiredTools.length)
|
|
965
|
+
throw new Error("Text preparation cannot silently add tools, state or starting assets.");
|
|
966
|
+
const sourceIds = new Set(sources.map((source) => source.id));
|
|
967
|
+
if (!sources.length || sourceIds.size !== sources.length || proposal.sourceIds.some((id) => !sourceIds.has(id)) || proposal.proposedExamples.length !== 1 || proposal.proposedExamples.some((example) => !sourceIds.has(example.sourceId)))
|
|
968
|
+
throw new Error("Prepared Taskset authoring must retain exactly one reconstructed task and its authorized evidence.");
|
|
969
|
+
if (!/^[a-f0-9]{64}$/.test(input.skillHash) || !input.modelId.trim() || !Number.isSafeInteger(input.attempt) || input.attempt < 1 || input.attempt > 6)
|
|
970
|
+
throw new Error("Prepared Taskset authoring provenance is invalid.");
|
|
971
|
+
if (!proposal.proposedGraders.length || new Set(proposal.proposedGraders.map((grader) => grader.id)).size !== proposal.proposedGraders.length)
|
|
972
|
+
throw new Error("Prepared Taskset needs distinct outcome graders.");
|
|
973
|
+
if (proposal.generatedFiles.some((file) => file.role === "environment"))
|
|
974
|
+
throw new Error("Generated code cannot replace the fixed initial text environment.");
|
|
975
|
+
if (proposal.graderFixtures.some((fixture) => fixture.taskIndex !== 0 || fixture.metadata.substituteExpectedOutput === true))
|
|
976
|
+
throw new Error("Prepared fixtures cannot refer to another task or substitute a historical answer.");
|
|
977
|
+
const draft = createTasksetDraft({
|
|
978
|
+
profileId: input.teamId,
|
|
979
|
+
id: `${provenance.candidateId}-attempt-${input.attempt}-draft`,
|
|
980
|
+
name: proposal.name,
|
|
981
|
+
now: input.createdAt
|
|
982
|
+
});
|
|
983
|
+
draft.objective = proposal.objective;
|
|
984
|
+
draft.sourceRefs = sources;
|
|
985
|
+
draft.environment = environment;
|
|
986
|
+
draft.graders = proposal.proposedGraders.map((grader) => ({
|
|
987
|
+
...grader,
|
|
988
|
+
privileged: true,
|
|
989
|
+
...grader.kind === "model_judge" ? { rewardEligible: false, calibrationStatus: "pending" } : {},
|
|
990
|
+
metadata: { ...grader.metadata, preparedTask: provenance.candidateId, authoringSkillHash: input.skillHash }
|
|
991
|
+
}));
|
|
992
|
+
draft.policy = {
|
|
993
|
+
policyVisibleFields: ["input"],
|
|
994
|
+
privilegedFields: ["expectedOutput"],
|
|
995
|
+
hiddenGraderRefs: draft.graders.map((grader) => grader.id),
|
|
996
|
+
connectedAppScopes: []
|
|
997
|
+
};
|
|
998
|
+
draft.tasks = [TaskDataRecordSchema.parse({
|
|
999
|
+
schemaVersion: "openpond.taskData.v1",
|
|
1000
|
+
id: provenance.candidateId,
|
|
1001
|
+
clusterKey: provenance.familyKey,
|
|
1002
|
+
split: "validation",
|
|
1003
|
+
input: input.initialInput,
|
|
1004
|
+
expectedOutput: null,
|
|
1005
|
+
policyVisibleContext: {},
|
|
1006
|
+
privilegedContextRef: null,
|
|
1007
|
+
sourceRefs: [...sourceIds],
|
|
1008
|
+
tags: ["prepared-task", "development-exposed"],
|
|
1009
|
+
metadata: { preparedTask: provenance, qualificationStatus: "pending" }
|
|
1010
|
+
})];
|
|
1011
|
+
draft.graderFixtures = proposal.graderFixtures.map(({ taskIndex: _index, ...fixture }) => ({
|
|
1012
|
+
...fixture,
|
|
1013
|
+
taskId: provenance.candidateId,
|
|
1014
|
+
metadata: { ...fixture.metadata, witnessOrigin: "authoring_proposal", independentlyQualified: false }
|
|
1015
|
+
}));
|
|
1016
|
+
draft.metadata = { datasetPreparation: {
|
|
1017
|
+
schemaVersion: "openpond.datasetPreparationAuthoring.v1",
|
|
1018
|
+
provenance,
|
|
1019
|
+
modelId: input.modelId,
|
|
1020
|
+
skillHash: input.skillHash,
|
|
1021
|
+
proposalHash: contentHash(proposal),
|
|
1022
|
+
attempt: input.attempt,
|
|
1023
|
+
qualification: "pending",
|
|
1024
|
+
exposure: "development"
|
|
1025
|
+
} };
|
|
1026
|
+
return createTasksetDraftWorkspace({
|
|
1027
|
+
schemaVersion: "openpond.tasksetDraftWorkspace.v1",
|
|
1028
|
+
draft,
|
|
1029
|
+
files: proposal.generatedFiles.map((generated) => {
|
|
1030
|
+
const file = createTasksetDraftFile(generated.path, new TextEncoder().encode(generated.content));
|
|
1031
|
+
return {
|
|
1032
|
+
path: file.path,
|
|
1033
|
+
contentHash: file.contentHash,
|
|
1034
|
+
sizeBytes: file.sizeBytes,
|
|
1035
|
+
base64: Buffer.from(decodeTasksetDraftFileContent(file.content)).toString("base64")
|
|
1036
|
+
};
|
|
1037
|
+
})
|
|
1038
|
+
});
|
|
1039
|
+
}
|
|
236
1040
|
export {
|
|
237
1041
|
DatasetPopulationPageSchema,
|
|
238
1042
|
DatasetPopulationQuerySchema,
|
|
1043
|
+
DatasetPreparationAccountingSchema,
|
|
1044
|
+
DatasetPreparationCandidateSchema,
|
|
1045
|
+
DatasetPreparationCommandSchema,
|
|
1046
|
+
DatasetPreparationCoverageSchema,
|
|
1047
|
+
DatasetPreparationCreateSchema,
|
|
1048
|
+
DatasetPreparationGrantCreateSchema,
|
|
1049
|
+
DatasetPreparationGrantSchema,
|
|
1050
|
+
DatasetPreparationListSchema,
|
|
1051
|
+
DatasetPreparationPolicySchema,
|
|
1052
|
+
DatasetPreparationPreviewSchema,
|
|
1053
|
+
DatasetPreparationRequestError,
|
|
1054
|
+
DatasetPreparationResearchCandidateSchema,
|
|
1055
|
+
DatasetPreparationResearchDecisionSchema,
|
|
1056
|
+
DatasetPreparationRunSchema,
|
|
1057
|
+
DatasetPreparationSourceSchema,
|
|
1058
|
+
DatasetPreparationStageSchema,
|
|
1059
|
+
DatasetPreparationStatusSchema,
|
|
1060
|
+
DatasetPreparationTaskClassSchema,
|
|
239
1061
|
DatasetWorkspaceBeginVersionSchema,
|
|
240
1062
|
DatasetWorkspaceListQuerySchema,
|
|
241
1063
|
DatasetWorkspaceListSchema,
|
|
@@ -247,7 +1069,12 @@ export {
|
|
|
247
1069
|
DatasetWorkspaceVersionsSchema,
|
|
248
1070
|
DatasetWorkspaceWriteSchema,
|
|
249
1071
|
OpenPondDatasetPopulationClient,
|
|
1072
|
+
OpenPondDatasetPreparationClient,
|
|
250
1073
|
OpenPondDatasetWorkspaceClient,
|
|
251
|
-
|
|
1074
|
+
PreparedTaskEvidenceSpanSchema,
|
|
1075
|
+
PreparedTaskProvenanceSchema,
|
|
1076
|
+
PreparedTaskQualificationSchema,
|
|
1077
|
+
compileTasksetDraftWorkspace,
|
|
1078
|
+
createPreparedTaskAuthoringWorkspace
|
|
252
1079
|
};
|
|
253
1080
|
//# sourceMappingURL=dataset-workspaces.js.map
|