openpond-sdk 0.11.5 → 0.12.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/TASKSETS.md +13 -0
- package/dist/advanced-refiner-evaluations.js +6 -6
- package/dist/candidate-evaluations.js +5 -5
- package/dist/{chunk-2G4WBMYI.js → chunk-32GJS7FV.js} +6 -6
- package/dist/{chunk-Z4OLAEPL.js → chunk-644E3NM2.js} +10 -3
- package/dist/chunk-644E3NM2.js.map +7 -0
- package/dist/{chunk-YGLTO26A.js → chunk-7L4NIEW2.js} +2 -2
- package/dist/{chunk-VEU3IXAQ.js → chunk-7MISLCN2.js} +2 -2
- package/dist/{chunk-WTHJ3H4M.js → chunk-7WUJBFCH.js} +2 -2
- package/dist/{chunk-PHETIB6R.js → chunk-AV5JV26B.js} +2 -2
- package/dist/{chunk-Z4JJS6KE.js → chunk-B7VYE7YQ.js} +2 -2
- package/dist/{chunk-AQGFJLIV.js → chunk-BDDT6VN6.js} +5 -5
- package/dist/{chunk-DUJXF7YI.js → chunk-CK3ONRRC.js} +71 -59
- package/dist/chunk-CK3ONRRC.js.map +7 -0
- package/dist/{chunk-PMBBNQ2J.js → chunk-D4WTE6ZA.js} +2 -2
- package/dist/{chunk-ZOXHSJWU.js → chunk-DBRRQASP.js} +2 -2
- package/dist/{chunk-FZH2M4G6.js → chunk-DG5CRENU.js} +2 -2
- package/dist/{chunk-P3BRSSRD.js → chunk-FWX7SH7Y.js} +307 -258
- package/dist/chunk-FWX7SH7Y.js.map +7 -0
- package/dist/chunk-FZYLRL7H.js +100 -0
- package/dist/chunk-FZYLRL7H.js.map +7 -0
- package/dist/{chunk-JOKRT4CK.js → chunk-KV6JXPQH.js} +5 -2
- package/dist/{chunk-JOKRT4CK.js.map → chunk-KV6JXPQH.js.map} +2 -2
- package/dist/{chunk-HAOPRFYQ.js → chunk-L5PQPAU6.js} +2 -2
- package/dist/{chunk-DUPHBKVV.js → chunk-LHRHB5EJ.js} +2 -2
- package/dist/{chunk-5GMY4TTF.js → chunk-OEPYLZXK.js} +2 -2
- package/dist/chunk-SVBV2VEK.js +181 -0
- package/dist/chunk-SVBV2VEK.js.map +7 -0
- package/dist/{chunk-XYVPLV6Z.js → chunk-TTAFUUHZ.js} +3 -3
- package/dist/{chunk-2DLFHAGW.js → chunk-UK2KWJIQ.js} +12 -9
- package/dist/{chunk-2DLFHAGW.js.map → chunk-UK2KWJIQ.js.map} +3 -3
- package/dist/{chunk-K2OH56BH.js → chunk-UVREOAMH.js} +3 -3
- package/dist/{chunk-LQ5Q35IF.js → chunk-WYGBGCRO.js} +7 -5
- package/dist/chunk-WYGBGCRO.js.map +7 -0
- package/dist/{chunk-FDHIL2CV.js → chunk-X6J3VVYC.js} +9 -6
- package/dist/{chunk-FDHIL2CV.js.map → chunk-X6J3VVYC.js.map} +2 -2
- package/dist/{chunk-PXNHL3SH.js → chunk-YRTA3G6O.js} +11 -4
- package/dist/chunk-YRTA3G6O.js.map +7 -0
- package/dist/{chunk-35OVUYPI.js → chunk-YSKUXQ2N.js} +3 -3
- package/dist/connected-evidence.js +51 -26
- package/dist/dataset-workspaces.js +1136 -34
- package/dist/dataset-workspaces.js.map +4 -4
- package/dist/experiment-evaluation-schedules.js +18 -18
- package/dist/experiment-improvements.js +7 -7
- package/dist/experiments.js +19 -17
- package/dist/index.js +60 -35
- package/dist/index.js.map +1 -1
- package/dist/model-starter-attempts.js +1 -1
- package/dist/model-starter-catalog.js +9 -9
- package/dist/model-starters.js +9 -9
- package/dist/model-taskset-runs.js +2 -2
- package/dist/post-training.js +5 -5
- package/dist/taskset-drafts.js +117 -72
- package/dist/taskset-drafts.js.map +4 -4
- package/dist/taskset-packages.js +15 -15
- package/dist/training-bundle.js +17 -13
- package/dist/training-bundle.js.map +2 -2
- package/dist/training.js +7 -7
- package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts +3 -3
- 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-dataset-source.d.ts +1 -0
- package/dist/types/packages/sdk/src/connected-dataset-source.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +80 -9
- package/dist/types/packages/sdk/src/connected-evidence-client.d.ts.map +1 -1
- 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 +3 -0
- package/dist/types/packages/sdk/src/connected-evidence.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/connected-starting-assets.d.ts +98 -0
- package/dist/types/packages/sdk/src/connected-starting-assets.d.ts.map +1 -0
- 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-assembly.d.ts +11 -0
- package/dist/types/packages/sdk/src/dataset-preparation-assembly.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-preparation-authoring-contracts.d.ts +1357 -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 +831 -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 +860 -0
- package/dist/types/packages/sdk/src/dataset-preparation-contracts.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-preparation-qualification-contracts.d.ts +89 -0
- package/dist/types/packages/sdk/src/dataset-preparation-qualification-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-starting-state.d.ts +76 -0
- package/dist/types/packages/sdk/src/dataset-preparation-starting-state.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts +630 -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 +58 -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 +12 -0
- package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts +12 -0
- package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspaces.d.ts +7 -0
- package/dist/types/packages/sdk/src/dataset-workspaces.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-client.d.ts +88 -11
- 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 +1 -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/learning-batch-assets.d.ts +1 -0
- package/dist/types/packages/sdk/src/learning-batch-assets.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts +5 -0
- package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts +1 -0
- package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-batch-review.d.ts +7 -4
- package/dist/types/packages/sdk/src/model-batch-review.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +102 -4
- 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 +9 -0
- package/dist/types/packages/sdk/src/model-starter-catalog.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starter-execution.d.ts +4 -0
- package/dist/types/packages/sdk/src/model-starter-execution.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starters.d.ts +18 -0
- package/dist/types/packages/sdk/src/model-starters.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts +13 -0
- package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-resources.d.ts +4 -0
- package/dist/types/packages/sdk/src/model-taskset-resources.d.ts.map +1 -1
- 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 +19 -4
- package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/task-design-contracts.d.ts +367 -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 -0
- package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-authored-files.d.ts +9 -3
- package/dist/types/packages/sdk/src/taskset-authored-files.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-authored-portable-release.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-calibration-fixtures.d.ts +5 -0
- package/dist/types/packages/sdk/src/taskset-calibration-fixtures.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +12 -0
- package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +48 -12
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-core.d.ts +11 -0
- package/dist/types/packages/sdk/src/taskset-draft-core.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +7 -0
- package/dist/types/packages/sdk/src/taskset-draft-document.d.ts.map +1 -1
- 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 +38 -8
- package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +14 -2
- package/dist/types/packages/sdk/src/taskset-draft-source.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +12 -0
- 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-client.d.ts +68 -0
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts +35 -0
- package/dist/types/packages/sdk/src/taskset-package-contracts.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 +5 -1
- package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-learning.d.ts +10 -4
- package/dist/types/packages/sdk/src/taskset-package-learning.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +34 -12
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-bundle.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts +26 -6
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts.map +1 -1
- 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 +3 -3
- package/dist/chunk-4IWDOYKR.js +0 -65
- package/dist/chunk-4IWDOYKR.js.map +0 -7
- package/dist/chunk-DUJXF7YI.js.map +0 -7
- package/dist/chunk-LQ5Q35IF.js.map +0 -7
- package/dist/chunk-P3BRSSRD.js.map +0 -7
- package/dist/chunk-PXNHL3SH.js.map +0 -7
- package/dist/chunk-Z4OLAEPL.js.map +0 -7
- /package/dist/{chunk-2G4WBMYI.js.map → chunk-32GJS7FV.js.map} +0 -0
- /package/dist/{chunk-YGLTO26A.js.map → chunk-7L4NIEW2.js.map} +0 -0
- /package/dist/{chunk-VEU3IXAQ.js.map → chunk-7MISLCN2.js.map} +0 -0
- /package/dist/{chunk-WTHJ3H4M.js.map → chunk-7WUJBFCH.js.map} +0 -0
- /package/dist/{chunk-PHETIB6R.js.map → chunk-AV5JV26B.js.map} +0 -0
- /package/dist/{chunk-Z4JJS6KE.js.map → chunk-B7VYE7YQ.js.map} +0 -0
- /package/dist/{chunk-AQGFJLIV.js.map → chunk-BDDT6VN6.js.map} +0 -0
- /package/dist/{chunk-PMBBNQ2J.js.map → chunk-D4WTE6ZA.js.map} +0 -0
- /package/dist/{chunk-ZOXHSJWU.js.map → chunk-DBRRQASP.js.map} +0 -0
- /package/dist/{chunk-FZH2M4G6.js.map → chunk-DG5CRENU.js.map} +0 -0
- /package/dist/{chunk-HAOPRFYQ.js.map → chunk-L5PQPAU6.js.map} +0 -0
- /package/dist/{chunk-DUPHBKVV.js.map → chunk-LHRHB5EJ.js.map} +0 -0
- /package/dist/{chunk-5GMY4TTF.js.map → chunk-OEPYLZXK.js.map} +0 -0
- /package/dist/{chunk-XYVPLV6Z.js.map → chunk-TTAFUUHZ.js.map} +0 -0
- /package/dist/{chunk-K2OH56BH.js.map → chunk-UVREOAMH.js.map} +0 -0
- /package/dist/{chunk-35OVUYPI.js.map → chunk-YSKUXQ2N.js.map} +0 -0
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
AgentImportCommitRequestSchema,
|
|
3
|
+
AgentImportPreviewRequestSchema,
|
|
4
|
+
AgentImportUploadPartSchema,
|
|
5
|
+
ConnectedCaptureRequestSchema,
|
|
6
|
+
ConnectedCaseRefSchema,
|
|
7
|
+
ConnectedSourceSummarySchema,
|
|
8
|
+
ConnectedStartingAssetsRequestSchema,
|
|
9
|
+
DatasetWorkspaceReceiptSchema,
|
|
10
|
+
verifyConnectedStartingAssetsReceipt
|
|
11
|
+
} from "./chunk-SVBV2VEK.js";
|
|
4
12
|
import {
|
|
5
13
|
fetchConnectedJson
|
|
6
14
|
} from "./chunk-T4APHDES.js";
|
|
@@ -9,86 +17,36 @@ import {
|
|
|
9
17
|
contentHash
|
|
10
18
|
} from "./chunk-COPVBJPL.js";
|
|
11
19
|
|
|
12
|
-
// src/connected-evidence-contracts.ts
|
|
13
|
-
import { z } from "zod";
|
|
14
|
-
import { ConnectedSourceKindSchema, ConnectedBoundarySchema, ConnectedUsageSummarySchema, CONNECTED_EVIDENCE_LIMITS } from "@openpond/evals/connected-evidence";
|
|
15
|
-
var Id = z.string().trim().min(1).max(500);
|
|
16
|
-
var Hash = z.string().regex(/^[a-f0-9]{64}$/);
|
|
17
|
-
var ConnectedScopeSchema = z.object({ teamId: Id, ownerUserId: Id }).strict();
|
|
18
|
-
var ConnectedCaseRefSchema = z.object({ id: Id, snapshotHash: Hash, boundaryId: Id, boundaryRevisionHash: Hash }).strict();
|
|
19
|
-
var ConnectedSourceSummarySchema = z.object({
|
|
20
|
-
sourceId: Id,
|
|
21
|
-
source: ConnectedSourceKindSchema,
|
|
22
|
-
sessionId: Id,
|
|
23
|
-
snapshotHash: Hash,
|
|
24
|
-
title: z.string().max(500),
|
|
25
|
-
projectId: Id.nullable(),
|
|
26
|
-
capturedAt: z.string().datetime(),
|
|
27
|
-
boundaries: z.array(ConnectedBoundarySchema.omit({ start: true, end: true })).max(CONNECTED_EVIDENCE_LIMITS.boundaries)
|
|
28
|
-
}).strict();
|
|
29
|
-
var ConnectedCaptureRequestSchema = z.object({
|
|
30
|
-
operationId: Id,
|
|
31
|
-
conversationId: Id.optional(),
|
|
32
|
-
cursor: Id.optional(),
|
|
33
|
-
limit: z.number().int().min(1).max(50).default(20)
|
|
34
|
-
}).strict();
|
|
35
|
-
var AgentImportUploadRefSchema = z.object({ hash: Hash, parts: z.number().int().min(1).max(1500) }).strict();
|
|
36
|
-
var AgentImportUploadPartSchema = AgentImportUploadRefSchema.extend({ index: z.number().int().nonnegative().max(1499), base64: z.string().max(35e4) }).strict();
|
|
37
|
-
var AgentImportFileSchema = z.object({ path: z.string().min(1).max(500), encoding: z.enum(["utf8", "zstd"]), base64: z.string() }).strict();
|
|
38
|
-
var AgentImportPreviewRequestSchema = z.object({
|
|
39
|
-
upload: AgentImportUploadRefSchema,
|
|
40
|
-
source: z.enum(["codex", "claude_code", "hermes", "openclaw", "opencode", "grok_build", "pi", "oh_my_pi"]),
|
|
41
|
-
branchLeafId: Id.optional(),
|
|
42
|
-
acquisition: z.object({ machineId: Id, sourceInstanceId: Id }).strict().optional(),
|
|
43
|
-
destination: z.discriminatedUnion("kind", [
|
|
44
|
-
z.object({ kind: z.literal("existing"), projectId: Id }).strict(),
|
|
45
|
-
z.object({ kind: z.literal("new"), name: z.string().trim().min(1).max(200) }).strict()
|
|
46
|
-
])
|
|
47
|
-
}).strict();
|
|
48
|
-
var AgentImportCommitRequestSchema = AgentImportPreviewRequestSchema.extend({
|
|
49
|
-
operationId: Id,
|
|
50
|
-
previewHash: Hash,
|
|
51
|
-
selection: z.array(z.object({ sessionHash: Hash, boundaryIds: z.array(Id).min(1).max(CONNECTED_EVIDENCE_LIMITS.boundaries) }).strict()).min(1).max(CONNECTED_EVIDENCE_LIMITS.sessions)
|
|
52
|
-
}).strict();
|
|
53
|
-
var ConnectedHomeQuerySchema = z.object({ from: z.string().datetime(), to: z.string().datetime(), projectId: Id.optional() }).strict();
|
|
54
|
-
var ConnectedHomeSummarySchema = z.object({
|
|
55
|
-
teamId: Id,
|
|
56
|
-
range: ConnectedHomeQuerySchema,
|
|
57
|
-
activity: z.object({ conversations: z.number().int().nonnegative(), turns: z.number().int().nonnegative(), chatTurns: z.number().int().nonnegative(), workTurns: z.number().int().nonnegative() }).strict(),
|
|
58
|
-
accounting: z.object({ contextSnapshots: z.number().int().nonnegative() }).strict(),
|
|
59
|
-
usage: ConnectedUsageSummarySchema
|
|
60
|
-
}).strict();
|
|
61
|
-
|
|
62
20
|
// src/connected-recorded-execution.ts
|
|
63
|
-
import { z
|
|
21
|
+
import { z } from "zod";
|
|
64
22
|
import { ExperimentManifestSchema } from "@openpond/evals/experiments";
|
|
65
23
|
import { TaskRecordSchema } from "@openpond/evals/tasksets";
|
|
66
|
-
var
|
|
67
|
-
var
|
|
68
|
-
var ConnectedRecordedExecutionRequestSchema =
|
|
69
|
-
operationId:
|
|
70
|
-
name:
|
|
71
|
-
projectId:
|
|
72
|
-
dataset: ImmutableReleaseRefSchema.extend({ revision:
|
|
73
|
-
caseIds:
|
|
24
|
+
var Id = z.string().min(1).max(200);
|
|
25
|
+
var Hash = z.string().regex(/^[a-f0-9]{64}$/);
|
|
26
|
+
var ConnectedRecordedExecutionRequestSchema = z.object({
|
|
27
|
+
operationId: Id,
|
|
28
|
+
name: z.string().trim().min(1).max(500),
|
|
29
|
+
projectId: Id,
|
|
30
|
+
dataset: ImmutableReleaseRefSchema.extend({ revision: z.number().int().positive() }).strict(),
|
|
31
|
+
caseIds: z.array(Id).min(1).max(1e4)
|
|
74
32
|
}).strict().superRefine((value, ctx) => {
|
|
75
33
|
if (new Set(value.caseIds).size !== value.caseIds.length) ctx.addIssue({ code: "custom", message: "Select each case once." });
|
|
76
34
|
});
|
|
77
35
|
var ConnectedRecordedSourceSchema = ConnectedCaseRefSchema.extend({
|
|
78
|
-
inputHash:
|
|
79
|
-
outputHash:
|
|
36
|
+
inputHash: Hash,
|
|
37
|
+
outputHash: Hash.nullable(),
|
|
80
38
|
task: TaskRecordSchema,
|
|
81
|
-
taskHash:
|
|
39
|
+
taskHash: Hash
|
|
82
40
|
}).strict();
|
|
83
|
-
var ConnectedRecordedExecutionSchema =
|
|
84
|
-
schemaVersion:
|
|
85
|
-
id:
|
|
86
|
-
teamId:
|
|
87
|
-
ownerUserId:
|
|
41
|
+
var ConnectedRecordedExecutionSchema = z.object({
|
|
42
|
+
schemaVersion: z.literal("openpond.connectedRecordedExecution.v1"),
|
|
43
|
+
id: Id,
|
|
44
|
+
teamId: Id,
|
|
45
|
+
ownerUserId: Id,
|
|
88
46
|
request: ConnectedRecordedExecutionRequestSchema,
|
|
89
47
|
manifest: ExperimentManifestSchema,
|
|
90
|
-
sources:
|
|
91
|
-
contentHash:
|
|
48
|
+
sources: z.array(ConnectedRecordedSourceSchema).min(1).max(1e4),
|
|
49
|
+
contentHash: Hash
|
|
92
50
|
}).strict();
|
|
93
51
|
function verifyConnectedRecordedExecution(raw) {
|
|
94
52
|
const value = ConnectedRecordedExecutionSchema.parse(raw), { contentHash: actual, ...body } = value;
|
|
@@ -97,62 +55,62 @@ function verifyConnectedRecordedExecution(raw) {
|
|
|
97
55
|
throw new Error("Recorded execution identity or population integrity failed.");
|
|
98
56
|
return value;
|
|
99
57
|
}
|
|
100
|
-
var ConnectedRecordedListRequestSchema =
|
|
101
|
-
var ConnectedRecordedSummarySchema =
|
|
102
|
-
id:
|
|
103
|
-
teamId:
|
|
104
|
-
ownerUserId:
|
|
105
|
-
projectId:
|
|
106
|
-
name:
|
|
58
|
+
var ConnectedRecordedListRequestSchema = z.object({ projectId: Id.optional(), cursor: Id.optional(), limit: z.number().int().min(1).max(50).default(20) }).strict();
|
|
59
|
+
var ConnectedRecordedSummarySchema = z.object({
|
|
60
|
+
id: Id,
|
|
61
|
+
teamId: Id,
|
|
62
|
+
ownerUserId: Id,
|
|
63
|
+
projectId: Id,
|
|
64
|
+
name: z.string().min(1).max(500),
|
|
107
65
|
dataset: ConnectedRecordedExecutionRequestSchema.shape.dataset,
|
|
108
|
-
manifestHash:
|
|
109
|
-
contentHash:
|
|
110
|
-
caseCount:
|
|
111
|
-
createdAt:
|
|
66
|
+
manifestHash: Hash,
|
|
67
|
+
contentHash: Hash,
|
|
68
|
+
caseCount: z.number().int().min(1).max(1e4),
|
|
69
|
+
createdAt: z.string().datetime()
|
|
112
70
|
}).strict();
|
|
113
|
-
var ConnectedRecordedListSchema =
|
|
71
|
+
var ConnectedRecordedListSchema = z.object({ teamId: Id, items: z.array(ConnectedRecordedSummarySchema).max(50), nextCursor: Id.nullable() }).strict();
|
|
114
72
|
|
|
115
73
|
// src/connected-evidence-client.ts
|
|
116
|
-
import { z as
|
|
117
|
-
import { ConnectedBoundarySchema
|
|
74
|
+
import { z as z4 } from "zod";
|
|
75
|
+
import { ConnectedBoundarySchema, ConnectedEventSchema, ConnectedUsageSummarySchema } from "@openpond/evals/connected-evidence";
|
|
118
76
|
|
|
119
77
|
// src/connected-dataset-publication.ts
|
|
120
|
-
import { z as
|
|
78
|
+
import { z as z2 } from "zod";
|
|
121
79
|
import { RewardReleaseRefSchema } from "@openpond/evals/rewards";
|
|
122
|
-
var ConnectedDatasetPublicationSchema =
|
|
123
|
-
datasetId:
|
|
124
|
-
expectedRevision:
|
|
125
|
-
operationId:
|
|
126
|
-
graders:
|
|
80
|
+
var ConnectedDatasetPublicationSchema = z2.object({
|
|
81
|
+
datasetId: z2.string().trim().min(1).max(240),
|
|
82
|
+
expectedRevision: z2.number().int().positive(),
|
|
83
|
+
operationId: z2.string().trim().min(1).max(240),
|
|
84
|
+
graders: z2.array(RewardReleaseRefSchema).min(1).max(100).optional()
|
|
127
85
|
}).strict().superRefine((request, context) => {
|
|
128
86
|
if (request.graders && new Set(request.graders.map((ref) => ref.id)).size !== request.graders.length)
|
|
129
87
|
context.addIssue({ code: "custom", path: ["graders"], message: "Choose one exact revision of each grader." });
|
|
130
88
|
});
|
|
131
89
|
|
|
132
90
|
// src/connected-collection-status.ts
|
|
133
|
-
import { z as
|
|
134
|
-
var
|
|
135
|
-
var Count =
|
|
136
|
-
var ConnectedCollectionStatusSchema =
|
|
137
|
-
teamId:
|
|
138
|
-
ownerUserId:
|
|
139
|
-
projectId:
|
|
140
|
-
status:
|
|
91
|
+
import { z as z3 } from "zod";
|
|
92
|
+
var Id2 = z3.string().min(1).max(500);
|
|
93
|
+
var Count = z3.number().int().nonnegative();
|
|
94
|
+
var ConnectedCollectionStatusSchema = z3.object({
|
|
95
|
+
teamId: Id2,
|
|
96
|
+
ownerUserId: Id2,
|
|
97
|
+
projectId: Id2.nullable(),
|
|
98
|
+
status: z3.enum(["active", "paused", "archived"]),
|
|
141
99
|
revision: Count,
|
|
142
|
-
state:
|
|
143
|
-
lastReconciledAt:
|
|
144
|
-
lastCapturedAt:
|
|
145
|
-
historyDays:
|
|
100
|
+
state: z3.enum(["collecting", "pending", "attention", "paused", "archived"]),
|
|
101
|
+
lastReconciledAt: z3.string().datetime().nullable(),
|
|
102
|
+
lastCapturedAt: z3.string().datetime().nullable(),
|
|
103
|
+
historyDays: z3.number().int().positive(),
|
|
146
104
|
sources: Count,
|
|
147
105
|
tasks: Count,
|
|
148
|
-
datasets:
|
|
149
|
-
datasetId:
|
|
150
|
-
projection:
|
|
106
|
+
datasets: z3.array(z3.object({
|
|
107
|
+
datasetId: Id2,
|
|
108
|
+
projection: z3.enum(["turn", "conversation"]),
|
|
151
109
|
revision: Count
|
|
152
110
|
}).strict()).max(2),
|
|
153
|
-
latestBatch:
|
|
154
|
-
operationId:
|
|
155
|
-
updatedAt:
|
|
111
|
+
latestBatch: z3.object({
|
|
112
|
+
operationId: Id2,
|
|
113
|
+
updatedAt: z3.string().datetime(),
|
|
156
114
|
scanned: Count,
|
|
157
115
|
captured: Count,
|
|
158
116
|
unchanged: Count,
|
|
@@ -160,85 +118,85 @@ var ConnectedCollectionStatusSchema = z4.object({
|
|
|
160
118
|
failed: Count,
|
|
161
119
|
excluded: Count,
|
|
162
120
|
paused: Count,
|
|
163
|
-
hasMore:
|
|
121
|
+
hasMore: z3.boolean()
|
|
164
122
|
}).strict().nullable()
|
|
165
123
|
}).strict();
|
|
166
124
|
|
|
167
125
|
// src/connected-evidence-client.ts
|
|
168
|
-
var
|
|
169
|
-
var
|
|
170
|
-
var ConnectedCollectionSchema =
|
|
171
|
-
var ConnectedCaptureReceiptSchema =
|
|
172
|
-
teamId:
|
|
173
|
-
operationId:
|
|
174
|
-
projectId:
|
|
175
|
-
outcomes:
|
|
176
|
-
conversationId:
|
|
177
|
-
state:
|
|
178
|
-
sourceId:
|
|
179
|
-
snapshotHash:
|
|
180
|
-
reason:
|
|
126
|
+
var Id3 = z4.string().min(1).max(500);
|
|
127
|
+
var Hash2 = z4.string().regex(/^[a-f0-9]{64}$/);
|
|
128
|
+
var ConnectedCollectionSchema = z4.object({ teamId: Id3, projectId: Id3.nullable(), status: z4.enum(["active", "paused", "archived"]), revision: z4.number().int().nonnegative() }).strict();
|
|
129
|
+
var ConnectedCaptureReceiptSchema = z4.object({
|
|
130
|
+
teamId: Id3,
|
|
131
|
+
operationId: Id3,
|
|
132
|
+
projectId: Id3.nullable(),
|
|
133
|
+
outcomes: z4.array(z4.object({
|
|
134
|
+
conversationId: Id3,
|
|
135
|
+
state: z4.enum(["captured", "unchanged", "pending", "paused", "excluded", "failed"]),
|
|
136
|
+
sourceId: Id3.optional(),
|
|
137
|
+
snapshotHash: Hash2.optional(),
|
|
138
|
+
reason: z4.string().optional()
|
|
181
139
|
}).strict()).max(50),
|
|
182
|
-
nextCursor:
|
|
140
|
+
nextCursor: Id3.nullable()
|
|
183
141
|
}).strict();
|
|
184
|
-
var ConnectedCaseReadbackSchema =
|
|
185
|
-
teamId:
|
|
142
|
+
var ConnectedCaseReadbackSchema = z4.object({
|
|
143
|
+
teamId: Id3,
|
|
186
144
|
ref: ConnectedCaseRefSchema,
|
|
187
145
|
origin: ConnectedSourceSummarySchema.shape.source,
|
|
188
|
-
sessionId:
|
|
189
|
-
projectId:
|
|
190
|
-
capturedAt:
|
|
191
|
-
unmappedEvidence:
|
|
192
|
-
evidence:
|
|
146
|
+
sessionId: Id3,
|
|
147
|
+
projectId: Id3,
|
|
148
|
+
capturedAt: z4.string().datetime(),
|
|
149
|
+
unmappedEvidence: z4.object({ count: z4.number().int().nonnegative().max(1e5), contentHash: Hash2 }).strict(),
|
|
150
|
+
evidence: z4.object({ input: z4.array(ConnectedEventSchema), observed: z4.array(ConnectedEventSchema), answer: z4.json(), boundary: ConnectedBoundarySchema }).strict()
|
|
193
151
|
}).strict();
|
|
194
|
-
var ConnectedUnmappedEventsSchema =
|
|
195
|
-
teamId:
|
|
196
|
-
sourceId:
|
|
197
|
-
snapshotHash:
|
|
198
|
-
contentHash:
|
|
199
|
-
count:
|
|
200
|
-
offset:
|
|
201
|
-
events:
|
|
202
|
-
nextOffset:
|
|
152
|
+
var ConnectedUnmappedEventsSchema = z4.object({
|
|
153
|
+
teamId: Id3,
|
|
154
|
+
sourceId: Id3,
|
|
155
|
+
snapshotHash: Hash2,
|
|
156
|
+
contentHash: Hash2,
|
|
157
|
+
count: z4.number().int().nonnegative(),
|
|
158
|
+
offset: z4.number().int().nonnegative(),
|
|
159
|
+
events: z4.array(ConnectedEventSchema).max(50),
|
|
160
|
+
nextOffset: z4.number().int().nonnegative().nullable()
|
|
203
161
|
}).strict();
|
|
204
|
-
var AgentImportPreviewSchema =
|
|
205
|
-
teamId:
|
|
162
|
+
var AgentImportPreviewSchema = z4.object({
|
|
163
|
+
teamId: Id3,
|
|
206
164
|
source: AgentImportPreviewRequestSchema.shape.source,
|
|
207
|
-
sourceHash:
|
|
208
|
-
previewHash:
|
|
165
|
+
sourceHash: Hash2,
|
|
166
|
+
previewHash: Hash2,
|
|
209
167
|
destination: AgentImportPreviewRequestSchema.shape.destination,
|
|
210
|
-
issues:
|
|
211
|
-
sessions:
|
|
212
|
-
sessionHash:
|
|
213
|
-
sessionId:
|
|
168
|
+
issues: z4.array(z4.object({ file: z4.string(), message: z4.string() }).strict()).max(100),
|
|
169
|
+
sessions: z4.array(z4.object({
|
|
170
|
+
sessionHash: Hash2,
|
|
171
|
+
sessionId: Id3,
|
|
214
172
|
origin: ConnectedSourceSummarySchema.shape.source,
|
|
215
|
-
exporterVersion:
|
|
216
|
-
eventCount:
|
|
217
|
-
boundaries:
|
|
218
|
-
id:
|
|
219
|
-
projection:
|
|
220
|
-
answer:
|
|
221
|
-
process:
|
|
222
|
-
terminal:
|
|
173
|
+
exporterVersion: z4.string().nullable(),
|
|
174
|
+
eventCount: z4.number().int().nonnegative(),
|
|
175
|
+
boundaries: z4.array(z4.object({
|
|
176
|
+
id: Id3,
|
|
177
|
+
projection: z4.enum(["turn", "conversation"]),
|
|
178
|
+
answer: z4.boolean(),
|
|
179
|
+
process: z4.enum(["retained", "partial", "absent"]),
|
|
180
|
+
terminal: z4.enum(["completed", "failed", "cancelled", "unknown"])
|
|
223
181
|
}).strict()).max(5001),
|
|
224
|
-
warnings:
|
|
225
|
-
sample:
|
|
182
|
+
warnings: z4.array(z4.string()).max(100),
|
|
183
|
+
sample: z4.array(z4.object({ role: z4.enum(["user", "assistant", "system", "tool"]).nullable(), text: z4.string().max(4e3) }).strict()).max(3)
|
|
226
184
|
}).strict()).max(1e3)
|
|
227
185
|
}).strict();
|
|
228
|
-
var AgentImportReceiptSchema =
|
|
229
|
-
teamId:
|
|
230
|
-
operationId:
|
|
231
|
-
requestHash:
|
|
232
|
-
previewHash:
|
|
233
|
-
projectId:
|
|
234
|
-
state:
|
|
235
|
-
outcomes:
|
|
236
|
-
sessionHash:
|
|
237
|
-
sourceId:
|
|
238
|
-
status:
|
|
239
|
-
datasets:
|
|
186
|
+
var AgentImportReceiptSchema = z4.object({
|
|
187
|
+
teamId: Id3,
|
|
188
|
+
operationId: Id3,
|
|
189
|
+
requestHash: Hash2,
|
|
190
|
+
previewHash: Hash2,
|
|
191
|
+
projectId: Id3.optional(),
|
|
192
|
+
state: z4.enum(["admitting", "publishing", "completed", "failed"]),
|
|
193
|
+
outcomes: z4.array(z4.object({
|
|
194
|
+
sessionHash: Hash2,
|
|
195
|
+
sourceId: Id3,
|
|
196
|
+
status: z4.enum(["imported", "already_present"]),
|
|
197
|
+
datasets: z4.array(z4.object({ datasetId: Id3, revision: z4.number().int().positive(), changed: z4.boolean() }).strict()).max(2)
|
|
240
198
|
}).strict()).max(1e3),
|
|
241
|
-
error:
|
|
199
|
+
error: z4.string().optional()
|
|
242
200
|
}).strict();
|
|
243
201
|
var ConnectedEvidenceError = class extends Error {
|
|
244
202
|
constructor(status, code, message) {
|
|
@@ -267,10 +225,24 @@ var ConnectedEvidenceClient = class {
|
|
|
267
225
|
throw new Error("Capture receipt differs from its requested source or operation.");
|
|
268
226
|
return result;
|
|
269
227
|
}
|
|
228
|
+
async retainStartingAssets(raw, signal) {
|
|
229
|
+
const request = ConnectedStartingAssetsRequestSchema.parse(raw);
|
|
230
|
+
const result = verifyConnectedStartingAssetsReceipt(await this.request("/starting-assets", "POST", request, signal));
|
|
231
|
+
this.scope(result.teamId);
|
|
232
|
+
if (result.operationId !== request.operationId || result.requestHash !== contentHash(request) || contentHash(result.source) !== contentHash(request.source) || result.assets.length !== request.proofs.length || result.assets.some((asset, index) => asset.path !== request.proofs[index].path))
|
|
233
|
+
throw new Error("Starting assets differ from the exact source, operation or selected paths.");
|
|
234
|
+
return result;
|
|
235
|
+
}
|
|
236
|
+
async startingAssets(id, signal) {
|
|
237
|
+
const result = verifyConnectedStartingAssetsReceipt(await this.request(`/starting-assets/${encodeURIComponent(Id3.parse(id))}`, "GET", void 0, signal));
|
|
238
|
+
this.scope(result.teamId);
|
|
239
|
+
if (result.id !== id) throw new Error("Starting assets identity mismatch.");
|
|
240
|
+
return result;
|
|
241
|
+
}
|
|
270
242
|
async list(input = {}, signal) {
|
|
271
|
-
const query =
|
|
243
|
+
const query = z4.object({ projectId: Id3.optional(), cursor: Id3.optional(), limit: z4.number().int().min(1).max(50).default(20) }).strict().parse(input);
|
|
272
244
|
const params = new URLSearchParams(Object.entries(query).filter(([, value]) => value !== void 0).map(([key, value]) => [key, String(value)]));
|
|
273
|
-
const page =
|
|
245
|
+
const page = z4.object({ teamId: Id3, items: z4.array(ConnectedSourceSummarySchema).max(50), nextCursor: Id3.nullable() }).strict().parse(await this.request(`?${params}`, "GET", void 0, signal));
|
|
274
246
|
this.scope(page.teamId);
|
|
275
247
|
if (page.items.length > query.limit || new Set(page.items.map((item) => item.sourceId)).size !== page.items.length || page.nextCursor !== null && page.nextCursor === query.cursor || query.projectId && page.items.some((item) => item.projectId !== query.projectId)) throw new Error("Connected source page differs from its requested scope.");
|
|
276
248
|
return page;
|
|
@@ -284,7 +256,7 @@ var ConnectedEvidenceClient = class {
|
|
|
284
256
|
return result;
|
|
285
257
|
}
|
|
286
258
|
async setCollection(paused, signal) {
|
|
287
|
-
const result = ConnectedCollectionSchema.parse(await this.request("/collection", "PUT",
|
|
259
|
+
const result = ConnectedCollectionSchema.parse(await this.request("/collection", "PUT", z4.object({ paused: z4.boolean() }).strict().parse({ paused }), signal));
|
|
288
260
|
this.scope(result.teamId);
|
|
289
261
|
return result;
|
|
290
262
|
}
|
|
@@ -299,21 +271,21 @@ var ConnectedEvidenceClient = class {
|
|
|
299
271
|
return result;
|
|
300
272
|
}
|
|
301
273
|
async unmappedEvents(input, signal) {
|
|
302
|
-
const request =
|
|
274
|
+
const request = z4.object({ id: Id3, snapshotHash: Hash2, contentHash: Hash2, offset: z4.number().int().nonnegative().default(0), limit: z4.number().int().min(1).max(50).default(20) }).strict().parse(input);
|
|
303
275
|
const result = ConnectedUnmappedEventsSchema.parse(await this.request(`/${encodeURIComponent(request.id)}/unmapped-events?snapshotHash=${request.snapshotHash}&offset=${request.offset}&limit=${request.limit}`, "GET", void 0, signal));
|
|
304
276
|
this.scope(result.teamId);
|
|
305
277
|
if (result.sourceId !== request.id || result.snapshotHash !== request.snapshotHash || result.contentHash !== request.contentHash || result.offset !== request.offset || result.events.length > request.limit || result.events.some((event, index) => event.sequence !== request.offset + index) || result.nextOffset !== null && result.nextOffset !== request.offset + result.events.length) throw new Error("Unmapped source event page differs from its pinned snapshot.");
|
|
306
278
|
return result;
|
|
307
279
|
}
|
|
308
280
|
async homeSummary(raw, signal) {
|
|
309
|
-
const querySchema =
|
|
281
|
+
const querySchema = z4.object({ from: z4.string().datetime(), to: z4.string().datetime(), projectId: Id3.optional() }).strict(), query = querySchema.parse(raw);
|
|
310
282
|
const params = new URLSearchParams(Object.entries(query));
|
|
311
|
-
const result =
|
|
312
|
-
conversations:
|
|
313
|
-
turns:
|
|
314
|
-
chatTurns:
|
|
315
|
-
workTurns:
|
|
316
|
-
}).strict(), accounting:
|
|
283
|
+
const result = z4.object({ teamId: Id3, range: querySchema, activity: z4.object({
|
|
284
|
+
conversations: z4.number().int().nonnegative(),
|
|
285
|
+
turns: z4.number().int().nonnegative(),
|
|
286
|
+
chatTurns: z4.number().int().nonnegative(),
|
|
287
|
+
workTurns: z4.number().int().nonnegative()
|
|
288
|
+
}).strict(), accounting: z4.object({ contextSnapshots: z4.number().int().nonnegative() }).strict(), usage: ConnectedUsageSummarySchema }).strict().parse(await this.request(`/summary?${params}`, "GET", void 0, signal));
|
|
317
289
|
this.scope(result.teamId);
|
|
318
290
|
if (contentHash(result.range) !== contentHash(query) || result.activity.chatTurns + result.activity.workTurns !== result.activity.turns) throw new Error("Activity summary differs from its requested range.");
|
|
319
291
|
for (const groups of [result.usage.days, result.usage.modes, result.usage.models]) {
|
|
@@ -324,7 +296,7 @@ var ConnectedEvidenceClient = class {
|
|
|
324
296
|
return result;
|
|
325
297
|
}
|
|
326
298
|
async uploadPart(raw, signal) {
|
|
327
|
-
const body = AgentImportUploadPartSchema.parse(raw), result =
|
|
299
|
+
const body = AgentImportUploadPartSchema.parse(raw), result = z4.object({ teamId: Id3, hash: Hash2, parts: z4.number().int(), index: z4.number().int() }).strict().parse(await this.request("/imports/upload", "POST", body, signal));
|
|
328
300
|
this.scope(result.teamId);
|
|
329
301
|
if (result.hash !== body.hash || result.parts !== body.parts || result.index !== body.index) throw new Error("Upload receipt differs from its part identity.");
|
|
330
302
|
return result;
|
|
@@ -342,7 +314,7 @@ var ConnectedEvidenceClient = class {
|
|
|
342
314
|
return result;
|
|
343
315
|
}
|
|
344
316
|
async readImport(operationId, signal) {
|
|
345
|
-
const id =
|
|
317
|
+
const id = Id3.parse(operationId), result = AgentImportReceiptSchema.parse(await this.request(`/imports/${encodeURIComponent(id)}`, "GET", void 0, signal));
|
|
346
318
|
this.scope(result.teamId);
|
|
347
319
|
if (result.operationId !== id) throw new Error("Import identity mismatch.");
|
|
348
320
|
return result;
|
|
@@ -363,7 +335,7 @@ var ConnectedEvidenceClient = class {
|
|
|
363
335
|
return page;
|
|
364
336
|
}
|
|
365
337
|
async recordedExecution(id, signal) {
|
|
366
|
-
const result = verifyConnectedRecordedExecution(await this.request(`/recorded-executions/${encodeURIComponent(
|
|
338
|
+
const result = verifyConnectedRecordedExecution(await this.request(`/recorded-executions/${encodeURIComponent(Id3.parse(id))}`, "GET", void 0, signal));
|
|
367
339
|
this.scope(result.teamId);
|
|
368
340
|
if (result.id !== id) throw new Error("Recorded execution identity mismatch.");
|
|
369
341
|
return result;
|
|
@@ -377,7 +349,7 @@ var ConnectedEvidenceClient = class {
|
|
|
377
349
|
return result;
|
|
378
350
|
}
|
|
379
351
|
async createSelection(input, signal) {
|
|
380
|
-
const request =
|
|
352
|
+
const request = z4.object({ operationId: Id3.max(240), projectId: Id3.max(240), name: z4.string().trim().min(1).max(200), cases: z4.array(ConnectedCaseRefSchema).min(1).max(500) }).strict().parse(input);
|
|
381
353
|
const result = DatasetWorkspaceReceiptSchema.parse(await this.request("/datasets/selection", "POST", request, signal));
|
|
382
354
|
this.scope(result.teamId);
|
|
383
355
|
if (result.originProjectId !== request.projectId || result.workspace.draft.tasks.length !== request.cases.length || result.workspace.draft.tasks.some((task, index) => contentHash(task.input && typeof task.input === "object" && !Array.isArray(task.input) ? task.input.connectedEvidenceRef : null) !== contentHash(request.cases[index])))
|
|
@@ -396,7 +368,7 @@ var ConnectedEvidenceClient = class {
|
|
|
396
368
|
...body === void 0 ? {} : { body: JSON.stringify(body) }
|
|
397
369
|
}, (status, code, message) => new ConnectedEvidenceError(status, code, message));
|
|
398
370
|
if (!response.ok) {
|
|
399
|
-
const error =
|
|
371
|
+
const error = z4.object({ code: z4.string(), message: z4.string() }).safeParse(value);
|
|
400
372
|
throw new ConnectedEvidenceError(response.status, error.success ? error.data.code : "connected_request_failed", error.success ? error.data.message : "Connected evidence request failed.");
|
|
401
373
|
}
|
|
402
374
|
return value;
|
|
@@ -404,67 +376,94 @@ var ConnectedEvidenceClient = class {
|
|
|
404
376
|
};
|
|
405
377
|
|
|
406
378
|
// src/connected-sync.ts
|
|
407
|
-
import { z as
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
379
|
+
import { z as z5 } from "zod";
|
|
380
|
+
import {
|
|
381
|
+
CollectorCoverageManifestSchema,
|
|
382
|
+
CollectorCoverageSummarySchema,
|
|
383
|
+
summarizeCollectorCoverage
|
|
384
|
+
} from "@openpond/evals/connected-evidence";
|
|
385
|
+
var Id4 = z5.string().trim().min(1).max(240);
|
|
386
|
+
var ConnectedSyncCoveragePublishSchema = z5.object({
|
|
387
|
+
id: Id4,
|
|
388
|
+
expectedRevision: z5.number().int().positive(),
|
|
389
|
+
manifest: CollectorCoverageManifestSchema
|
|
390
|
+
}).strict().refine(
|
|
391
|
+
(value) => value.id === value.manifest.connectionId && value.expectedRevision === value.manifest.connectionRevision,
|
|
392
|
+
"Collector coverage scope differs from its connection."
|
|
393
|
+
);
|
|
394
|
+
var ConnectedSyncCoverageReadSchema = z5.object({ id: Id4, cutoff: z5.iso.datetime().optional() }).strict();
|
|
395
|
+
var ConnectedSyncCoverageReceiptSchema = z5.object({
|
|
396
|
+
schemaVersion: z5.literal("openpond.connectedSyncCoverageReceipt.v1"),
|
|
397
|
+
id: Id4,
|
|
398
|
+
teamId: Id4,
|
|
399
|
+
ownerUserId: Id4,
|
|
400
|
+
connectionId: Id4,
|
|
401
|
+
connectionRevision: z5.number().int().positive(),
|
|
402
|
+
receivedAt: z5.iso.datetime(),
|
|
403
|
+
summary: CollectorCoverageSummarySchema
|
|
404
|
+
}).strict();
|
|
405
|
+
var ConnectedSyncRegistrationSchema = z5.object({
|
|
406
|
+
id: Id4,
|
|
411
407
|
source: AgentImportPreviewRequestSchema.shape.source,
|
|
412
|
-
machineId:
|
|
413
|
-
sourceInstanceId:
|
|
414
|
-
sourceLabel:
|
|
415
|
-
sourceRoot:
|
|
408
|
+
machineId: Id4,
|
|
409
|
+
sourceInstanceId: Id4,
|
|
410
|
+
sourceLabel: z5.string().trim().min(1).max(200),
|
|
411
|
+
sourceRoot: z5.string().min(1).max(2e3),
|
|
416
412
|
destination: AgentImportPreviewRequestSchema.shape.destination,
|
|
417
|
-
since:
|
|
418
|
-
keepSyncing:
|
|
419
|
-
expectedRevision:
|
|
413
|
+
since: z5.string().datetime().nullable(),
|
|
414
|
+
keepSyncing: z5.boolean(),
|
|
415
|
+
expectedRevision: z5.number().int().nonnegative()
|
|
420
416
|
}).strict();
|
|
421
|
-
var ConnectedSyncControlSchema =
|
|
422
|
-
id:
|
|
423
|
-
expectedRevision:
|
|
424
|
-
action:
|
|
417
|
+
var ConnectedSyncControlSchema = z5.object({
|
|
418
|
+
id: Id4,
|
|
419
|
+
expectedRevision: z5.number().int().positive(),
|
|
420
|
+
action: z5.enum(["pause", "resume", "disconnect"])
|
|
425
421
|
}).strict();
|
|
426
|
-
var ConnectedSyncRequestSchema =
|
|
427
|
-
id:
|
|
428
|
-
operationId:
|
|
429
|
-
expectedRevision:
|
|
422
|
+
var ConnectedSyncRequestSchema = z5.object({
|
|
423
|
+
id: Id4,
|
|
424
|
+
operationId: Id4,
|
|
425
|
+
expectedRevision: z5.number().int().positive()
|
|
430
426
|
}).strict();
|
|
431
|
-
var ConnectedSyncHeartbeatSchema =
|
|
432
|
-
id:
|
|
433
|
-
expectedRevision:
|
|
434
|
-
pendingOperations:
|
|
435
|
-
error:
|
|
436
|
-
completedSyncRevision:
|
|
427
|
+
var ConnectedSyncHeartbeatSchema = z5.object({
|
|
428
|
+
id: Id4,
|
|
429
|
+
expectedRevision: z5.number().int().positive(),
|
|
430
|
+
pendingOperations: z5.number().int().min(0).max(1e4),
|
|
431
|
+
error: z5.string().max(500).nullable(),
|
|
432
|
+
completedSyncRevision: z5.number().int().nonnegative().default(0)
|
|
437
433
|
}).strict();
|
|
438
|
-
var ConnectedSyncConnectionSchema =
|
|
439
|
-
teamId:
|
|
440
|
-
id:
|
|
441
|
-
revision:
|
|
434
|
+
var ConnectedSyncConnectionSchema = z5.object({
|
|
435
|
+
teamId: Id4,
|
|
436
|
+
id: Id4,
|
|
437
|
+
revision: z5.number().int().positive(),
|
|
442
438
|
source: AgentImportPreviewRequestSchema.shape.source,
|
|
443
|
-
sourceLabel:
|
|
444
|
-
sourceRoot:
|
|
445
|
-
taskDatasetId:
|
|
446
|
-
conversationDatasetId:
|
|
447
|
-
machineId:
|
|
448
|
-
sourceInstanceId:
|
|
449
|
-
projectId:
|
|
450
|
-
datasetIds:
|
|
451
|
-
since:
|
|
452
|
-
keepSyncing:
|
|
453
|
-
state:
|
|
454
|
-
health:
|
|
455
|
-
lastHeartbeatAt:
|
|
456
|
-
lastAdmissionAt:
|
|
457
|
-
pendingOperations:
|
|
458
|
-
admittedTasks:
|
|
459
|
-
error:
|
|
460
|
-
requestedSyncRevision:
|
|
461
|
-
completedSyncRevision:
|
|
462
|
-
syncRequestedAt:
|
|
463
|
-
syncCompletedAt:
|
|
464
|
-
}).strict().refine(
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
439
|
+
sourceLabel: z5.string(),
|
|
440
|
+
sourceRoot: z5.string(),
|
|
441
|
+
taskDatasetId: Id4.nullable(),
|
|
442
|
+
conversationDatasetId: Id4.nullable(),
|
|
443
|
+
machineId: Id4,
|
|
444
|
+
sourceInstanceId: Id4,
|
|
445
|
+
projectId: Id4,
|
|
446
|
+
datasetIds: z5.array(Id4).max(2),
|
|
447
|
+
since: z5.string().datetime().nullable(),
|
|
448
|
+
keepSyncing: z5.boolean(),
|
|
449
|
+
state: z5.enum(["active", "paused", "disconnected"]),
|
|
450
|
+
health: z5.enum(["online", "offline"]),
|
|
451
|
+
lastHeartbeatAt: z5.string().datetime().nullable(),
|
|
452
|
+
lastAdmissionAt: z5.string().datetime().nullable(),
|
|
453
|
+
pendingOperations: z5.number().int().nonnegative(),
|
|
454
|
+
admittedTasks: z5.number().int().nonnegative(),
|
|
455
|
+
error: z5.string().nullable(),
|
|
456
|
+
requestedSyncRevision: z5.number().int().nonnegative().default(0),
|
|
457
|
+
completedSyncRevision: z5.number().int().nonnegative().default(0),
|
|
458
|
+
syncRequestedAt: z5.string().datetime().nullable().default(null),
|
|
459
|
+
syncCompletedAt: z5.string().datetime().nullable().default(null)
|
|
460
|
+
}).strict().refine(
|
|
461
|
+
(value) => value.completedSyncRevision <= value.requestedSyncRevision && value.requestedSyncRevision <= value.revision,
|
|
462
|
+
"Invalid sync acknowledgement generation."
|
|
463
|
+
);
|
|
464
|
+
var ConnectedSyncCommitSchema = z5.object({
|
|
465
|
+
connectionId: Id4,
|
|
466
|
+
expectedRevision: z5.number().int().positive(),
|
|
468
467
|
request: AgentImportCommitRequestSchema
|
|
469
468
|
}).strict();
|
|
470
469
|
var ConnectedSyncClient = class {
|
|
@@ -476,9 +475,9 @@ var ConnectedSyncClient = class {
|
|
|
476
475
|
}
|
|
477
476
|
options;
|
|
478
477
|
async list(signal) {
|
|
479
|
-
const result =
|
|
480
|
-
teamId:
|
|
481
|
-
items:
|
|
478
|
+
const result = z5.object({
|
|
479
|
+
teamId: Id4,
|
|
480
|
+
items: z5.array(ConnectedSyncConnectionSchema).max(100)
|
|
482
481
|
}).strict().parse(await this.request("", "GET", void 0, signal));
|
|
483
482
|
if (result.teamId !== this.options.teamId || result.items.some((item) => item.teamId !== result.teamId))
|
|
484
483
|
throw new Error("Sync workspace mismatch.");
|
|
@@ -519,7 +518,12 @@ var ConnectedSyncClient = class {
|
|
|
519
518
|
}
|
|
520
519
|
async requestSync(raw, signal) {
|
|
521
520
|
return this.connection(
|
|
522
|
-
await this.request(
|
|
521
|
+
await this.request(
|
|
522
|
+
"/sync-now",
|
|
523
|
+
"POST",
|
|
524
|
+
ConnectedSyncRequestSchema.parse(raw),
|
|
525
|
+
signal
|
|
526
|
+
),
|
|
523
527
|
raw.id
|
|
524
528
|
);
|
|
525
529
|
}
|
|
@@ -531,6 +535,45 @@ var ConnectedSyncClient = class {
|
|
|
531
535
|
signal
|
|
532
536
|
);
|
|
533
537
|
}
|
|
538
|
+
async publishCoverage(raw, signal) {
|
|
539
|
+
const request = ConnectedSyncCoveragePublishSchema.parse(raw);
|
|
540
|
+
const receipt = this.coverageReceipt(
|
|
541
|
+
await this.request(
|
|
542
|
+
"/coverage",
|
|
543
|
+
"POST",
|
|
544
|
+
{ action: "publish", ...request },
|
|
545
|
+
signal
|
|
546
|
+
),
|
|
547
|
+
request.id
|
|
548
|
+
);
|
|
549
|
+
if (!receipt || receipt.connectionRevision !== request.expectedRevision || receipt.summary.manifestHash !== summarizeCollectorCoverage(request.manifest).manifestHash)
|
|
550
|
+
throw new Error(
|
|
551
|
+
"Collector coverage acknowledgement differs from the retained manifest."
|
|
552
|
+
);
|
|
553
|
+
return receipt;
|
|
554
|
+
}
|
|
555
|
+
async readCoverage(raw, signal) {
|
|
556
|
+
const request = ConnectedSyncCoverageReadSchema.parse(raw);
|
|
557
|
+
const query = new URLSearchParams(
|
|
558
|
+
request.cutoff ? { cutoff: request.cutoff } : {}
|
|
559
|
+
);
|
|
560
|
+
return this.coverageReceipt(
|
|
561
|
+
await this.request(
|
|
562
|
+
`/${encodeURIComponent(request.id)}/coverage?${query}`,
|
|
563
|
+
"GET",
|
|
564
|
+
void 0,
|
|
565
|
+
signal
|
|
566
|
+
),
|
|
567
|
+
request.id
|
|
568
|
+
);
|
|
569
|
+
}
|
|
570
|
+
coverageReceipt(value, connectionId) {
|
|
571
|
+
if (value === null) return null;
|
|
572
|
+
const receipt = ConnectedSyncCoverageReceiptSchema.parse(value);
|
|
573
|
+
if (receipt.teamId !== this.options.teamId || receipt.connectionId !== connectionId)
|
|
574
|
+
throw new Error("Collector coverage workspace mismatch.");
|
|
575
|
+
return receipt;
|
|
576
|
+
}
|
|
534
577
|
connection(raw, id) {
|
|
535
578
|
const result = ConnectedSyncConnectionSchema.parse(raw);
|
|
536
579
|
if (result.teamId !== this.options.teamId || result.id !== id)
|
|
@@ -564,18 +607,16 @@ var ConnectedSyncClient = class {
|
|
|
564
607
|
}
|
|
565
608
|
};
|
|
566
609
|
|
|
610
|
+
// src/connected-evidence.ts
|
|
611
|
+
import {
|
|
612
|
+
CollectorCoverageManifestSchema as CollectorCoverageManifestSchema2,
|
|
613
|
+
CollectorCoverageSessionSchema,
|
|
614
|
+
CollectorCoverageSummarySchema as CollectorCoverageSummarySchema2,
|
|
615
|
+
summarizeCollectorCoverage as summarizeCollectorCoverage2,
|
|
616
|
+
hashCollectorEligibleBoundaries
|
|
617
|
+
} from "@openpond/evals/connected-evidence";
|
|
618
|
+
|
|
567
619
|
export {
|
|
568
|
-
ConnectedScopeSchema,
|
|
569
|
-
ConnectedCaseRefSchema,
|
|
570
|
-
ConnectedSourceSummarySchema,
|
|
571
|
-
ConnectedCaptureRequestSchema,
|
|
572
|
-
AgentImportUploadRefSchema,
|
|
573
|
-
AgentImportUploadPartSchema,
|
|
574
|
-
AgentImportFileSchema,
|
|
575
|
-
AgentImportPreviewRequestSchema,
|
|
576
|
-
AgentImportCommitRequestSchema,
|
|
577
|
-
ConnectedHomeQuerySchema,
|
|
578
|
-
ConnectedHomeSummarySchema,
|
|
579
620
|
ConnectedRecordedExecutionRequestSchema,
|
|
580
621
|
ConnectedRecordedSourceSchema,
|
|
581
622
|
ConnectedRecordedExecutionSchema,
|
|
@@ -593,12 +634,20 @@ export {
|
|
|
593
634
|
AgentImportReceiptSchema,
|
|
594
635
|
ConnectedEvidenceError,
|
|
595
636
|
ConnectedEvidenceClient,
|
|
637
|
+
ConnectedSyncCoveragePublishSchema,
|
|
638
|
+
ConnectedSyncCoverageReadSchema,
|
|
639
|
+
ConnectedSyncCoverageReceiptSchema,
|
|
596
640
|
ConnectedSyncRegistrationSchema,
|
|
597
641
|
ConnectedSyncControlSchema,
|
|
598
642
|
ConnectedSyncRequestSchema,
|
|
599
643
|
ConnectedSyncHeartbeatSchema,
|
|
600
644
|
ConnectedSyncConnectionSchema,
|
|
601
645
|
ConnectedSyncCommitSchema,
|
|
602
|
-
ConnectedSyncClient
|
|
646
|
+
ConnectedSyncClient,
|
|
647
|
+
CollectorCoverageManifestSchema2 as CollectorCoverageManifestSchema,
|
|
648
|
+
CollectorCoverageSessionSchema,
|
|
649
|
+
CollectorCoverageSummarySchema2 as CollectorCoverageSummarySchema,
|
|
650
|
+
summarizeCollectorCoverage2 as summarizeCollectorCoverage,
|
|
651
|
+
hashCollectorEligibleBoundaries
|
|
603
652
|
};
|
|
604
|
-
//# sourceMappingURL=chunk-
|
|
653
|
+
//# sourceMappingURL=chunk-FWX7SH7Y.js.map
|