openpond-sdk 0.12.24 → 0.12.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LEARNING.md +5 -7
- package/OPENTELEMETRY.md +1 -1
- package/PRODUCT_INTEGRATION.md +129 -0
- package/README.md +13 -3
- package/SERVERLESS_SERVING.md +37 -0
- package/TASKSETS.md +1 -2
- package/TASK_INGESTION.md +87 -86
- package/TRAINING_PROTOCOL.md +7 -3
- package/TRAINING_WORKFLOWS.md +11 -6
- package/dist/advanced-refiner-evaluations.js +10 -9
- package/dist/ai-sdk.js +225 -0
- package/dist/ai-sdk.js.map +1 -0
- package/dist/candidate-evaluations.js +7 -6
- package/dist/{chunk-ZQFROKKS.js → chunk-2U6BQ5C4.js} +3 -3
- package/dist/{chunk-BNBPKCIR.js → chunk-3BILL33A.js} +4 -4
- package/dist/{chunk-3B5KSH3V.js → chunk-456F3BXD.js} +5 -2
- package/dist/chunk-456F3BXD.js.map +1 -0
- package/dist/{chunk-GCUWJUUM.js → chunk-4A4FNG4R.js} +2 -2
- package/dist/{chunk-EZME7DV4.js → chunk-4CDLPMJK.js} +2 -2
- package/dist/{chunk-SP7DQEQM.js → chunk-4CRLQMJ2.js} +5 -5
- package/dist/{chunk-QOX57Y27.js → chunk-4PEK3YOW.js} +6 -3
- package/dist/chunk-4PEK3YOW.js.map +1 -0
- package/dist/{chunk-GS5HEE4M.js → chunk-4REK5TTE.js} +2 -2
- package/dist/{chunk-AG6UJ3DI.js → chunk-57ROW3XF.js} +3 -3
- package/dist/{chunk-3BYFS4RO.js → chunk-6LVLWRBJ.js} +11 -8
- package/dist/chunk-6LVLWRBJ.js.map +1 -0
- package/dist/{chunk-3VUF5H3B.js → chunk-AMZ2SWHR.js} +2 -2
- package/dist/{chunk-ZQ6QTYRE.js → chunk-AQV7RQZH.js} +11 -11
- package/dist/{chunk-ZQ6QTYRE.js.map → chunk-AQV7RQZH.js.map} +1 -1
- package/dist/{chunk-BJMENXR4.js → chunk-C7I4ZG6Q.js} +3 -3
- package/dist/{chunk-JMFYNIYZ.js → chunk-CAOMKM55.js} +6 -3
- package/dist/chunk-CAOMKM55.js.map +1 -0
- package/dist/{chunk-QNOCM5JX.js → chunk-D26RJQU7.js} +2 -2
- package/dist/{chunk-GBDBKGXW.js → chunk-EL6KZO43.js} +3 -3
- package/dist/{chunk-MVAEE5EI.js → chunk-H5KHLBC5.js} +5 -2
- package/dist/chunk-H5KHLBC5.js.map +1 -0
- package/dist/{chunk-7G47YXQT.js → chunk-HCUZYGUK.js} +8 -5
- package/dist/chunk-HCUZYGUK.js.map +1 -0
- package/dist/{chunk-Q4RGCEOI.js → chunk-JINWKUKR.js} +3 -3
- package/dist/{chunk-626JLH4D.js → chunk-JWEIAEQ6.js} +2 -2
- package/dist/{chunk-DH6O4JFB.js → chunk-KJTX4A27.js} +5 -2
- package/dist/chunk-KJTX4A27.js.map +1 -0
- package/dist/{chunk-OBI2MQYU.js → chunk-MN4FE52A.js} +17 -14
- package/dist/chunk-MN4FE52A.js.map +1 -0
- package/dist/{chunk-NZRGRUYG.js → chunk-MUG4OQKL.js} +21 -7
- package/dist/chunk-MUG4OQKL.js.map +1 -0
- package/dist/{chunk-C3TS766N.js → chunk-N6LGT7NT.js} +5 -2
- package/dist/chunk-N6LGT7NT.js.map +1 -0
- package/dist/{chunk-QIGMNB6M.js → chunk-P56JWQYV.js} +3 -3
- package/dist/{chunk-GX6KMHW2.js → chunk-QKLZZOZD.js} +5 -2
- package/dist/chunk-QKLZZOZD.js.map +1 -0
- package/dist/chunk-QYWPNNP3.js +9 -0
- package/dist/chunk-QYWPNNP3.js.map +1 -0
- package/dist/{chunk-QCRNQMN4.js → chunk-UZAVG2WK.js} +5 -5
- package/dist/chunk-UZAVG2WK.js.map +1 -0
- package/dist/{chunk-Z252BNAZ.js → chunk-VE5JD5FN.js} +6 -2
- package/dist/chunk-VE5JD5FN.js.map +1 -0
- package/dist/{chunk-7F43U2NC.js → chunk-WZKKQNYY.js} +3 -3
- package/dist/{chunk-6EZAGTZG.js → chunk-X5AT253K.js} +5 -5
- package/dist/{chunk-ZRTNR4U7.js → chunk-XWUTYFOU.js} +3 -3
- package/dist/{chunk-KEG5QS7W.js → chunk-XYK3MAIC.js} +193 -193
- package/dist/chunk-XYK3MAIC.js.map +1 -0
- package/dist/chunk-ZG4HVCJB.js +248 -0
- package/dist/chunk-ZG4HVCJB.js.map +1 -0
- package/dist/connected-evidence.js +11 -10
- package/dist/dataset-commerce.js +4 -1
- package/dist/dataset-commerce.js.map +1 -1
- package/dist/dataset-marketplace.js +4 -1
- package/dist/dataset-marketplace.js.map +1 -1
- package/dist/dataset-workspaces.js +157 -93
- package/dist/dataset-workspaces.js.map +1 -1
- package/dist/errors.js +2 -1
- package/dist/experiment-evaluation-schedules.js +20 -19
- package/dist/experiment-improvements.js +8 -7
- package/dist/experiments.js +21 -20
- package/dist/human-review.js +2 -1
- package/dist/index.js +87 -56
- package/dist/index.js.map +1 -1
- package/dist/learning.js +6 -3
- package/dist/learning.js.map +1 -1
- package/dist/model-projects.js +2 -1
- package/dist/model-starter-attempts.js +3 -2
- package/dist/model-starter-catalog.js +7 -4
- package/dist/model-starter-catalog.js.map +1 -1
- package/dist/model-starters.js +4 -3
- package/dist/model-taskset-runs.js +7 -4
- package/dist/model-taskset-runs.js.map +1 -1
- package/dist/post-training.js +7 -6
- package/dist/taskset-catalog.js +2 -1
- package/dist/taskset-drafts.js +13 -10
- package/dist/taskset-drafts.js.map +1 -1
- package/dist/taskset-packages.js +16 -15
- package/dist/tool-learning.js +4 -1
- package/dist/tool-learning.js.map +1 -1
- package/dist/training-bundle.js +19 -18
- package/dist/training-bundle.js.map +1 -1
- package/dist/training-hardware.js +3 -2
- package/dist/training-projects.js +4 -1
- package/dist/training-projects.js.map +1 -1
- package/dist/training.js +2761 -2626
- package/dist/training.js.map +1 -1
- package/dist/types/packages/sdk/src/ai-sdk.d.ts +6 -0
- package/dist/types/packages/sdk/src/ai-sdk.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts +21 -21
- package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/connected-evidence-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/connected-sync.d.ts +1 -1
- package/dist/types/packages/sdk/src/connected-sync.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-commerce.d.ts +1 -1
- package/dist/types/packages/sdk/src/dataset-commerce.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-marketplace.d.ts +1 -1
- package/dist/types/packages/sdk/src/dataset-marketplace.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-population.d.ts +1 -1
- package/dist/types/packages/sdk/src/dataset-population.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-task-ingestion.d.ts +9 -2
- package/dist/types/packages/sdk/src/dataset-task-ingestion.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +141 -141
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-error.d.ts +28 -0
- package/dist/types/packages/sdk/src/dataset-workspace-error.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-workspaces.d.ts +1 -0
- package/dist/types/packages/sdk/src/dataset-workspaces.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/endpoints.d.ts +4 -0
- package/dist/types/packages/sdk/src/endpoints.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts +1 -1
- package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-client.d.ts +637 -637
- package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-draft-storage.d.ts +28 -28
- package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts +28 -28
- package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts +1623 -1623
- package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-inspection.d.ts +1 -1
- package/dist/types/packages/sdk/src/experiment-inspection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-run-details.d.ts +7 -7
- package/dist/types/packages/sdk/src/grader-inspection.d.ts +1 -1
- package/dist/types/packages/sdk/src/grader-inspection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/human-review-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/human-review-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/index.d.ts +13 -4
- package/dist/types/packages/sdk/src/index.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/learning-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/learning-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/learning-correction-metrics.d.ts +1 -1
- package/dist/types/packages/sdk/src/learning-correction-metrics.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/managed-decision-executions.d.ts +347 -347
- package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +25 -25
- package/dist/types/packages/sdk/src/model-projects.d.ts +1 -1
- package/dist/types/packages/sdk/src/model-projects.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +1 -1
- 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 +1 -1
- package/dist/types/packages/sdk/src/model-starter-catalog.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +29 -29
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/post-training.d.ts +7 -7
- package/dist/types/packages/sdk/src/product-model-response.d.ts +4 -0
- package/dist/types/packages/sdk/src/product-model-response.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/product-models.d.ts +76 -0
- package/dist/types/packages/sdk/src/product-models.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts +1 -1
- package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/serverless-serving.d.ts +157 -0
- package/dist/types/packages/sdk/src/serverless-serving.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/steering-model-serving.d.ts +276 -0
- package/dist/types/packages/sdk/src/steering-model-serving.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-catalog.d.ts +1 -1
- package/dist/types/packages/sdk/src/taskset-catalog.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +121 -121
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +20 -20
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +20 -20
- package/dist/types/packages/sdk/src/tool-learning-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/tool-learning-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-evidence.d.ts +54 -0
- package/dist/types/packages/sdk/src/training-evidence.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-harness-sources.d.ts +2 -2
- package/dist/types/packages/sdk/src/training-model-serving-control.d.ts +232 -0
- package/dist/types/packages/sdk/src/training-model-serving-control.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-model-serving.d.ts +552 -0
- package/dist/types/packages/sdk/src/training-model-serving.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-project-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/training-project-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-transport.d.ts +1 -1
- package/dist/types/packages/sdk/src/training-transport.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training.d.ts +2489 -2148
- package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/types.d.ts +14 -1
- package/dist/types/packages/sdk/src/types.d.ts.map +1 -1
- package/examples/learning/submit.py +1 -1
- package/examples/learning/submit.ts +2 -2
- package/examples/training/continual.ts +4 -4
- package/examples/training/manual.ts +1 -3
- package/fixtures/personalized-inference-request.schema.json +316 -0
- package/fixtures/python-foundation/schemas.json +4873 -4484
- package/package.json +19 -3
- package/dist/chunk-3B5KSH3V.js.map +0 -1
- package/dist/chunk-3BYFS4RO.js.map +0 -1
- package/dist/chunk-7G47YXQT.js.map +0 -1
- package/dist/chunk-C3TS766N.js.map +0 -1
- package/dist/chunk-DH6O4JFB.js.map +0 -1
- package/dist/chunk-GX6KMHW2.js.map +0 -1
- package/dist/chunk-JMFYNIYZ.js.map +0 -1
- package/dist/chunk-KEG5QS7W.js.map +0 -1
- package/dist/chunk-MVAEE5EI.js.map +0 -1
- package/dist/chunk-NZRGRUYG.js.map +0 -1
- package/dist/chunk-OBI2MQYU.js.map +0 -1
- package/dist/chunk-QCRNQMN4.js.map +0 -1
- package/dist/chunk-QOX57Y27.js.map +0 -1
- package/dist/chunk-Z252BNAZ.js.map +0 -1
- /package/dist/{chunk-ZQFROKKS.js.map → chunk-2U6BQ5C4.js.map} +0 -0
- /package/dist/{chunk-BNBPKCIR.js.map → chunk-3BILL33A.js.map} +0 -0
- /package/dist/{chunk-GCUWJUUM.js.map → chunk-4A4FNG4R.js.map} +0 -0
- /package/dist/{chunk-EZME7DV4.js.map → chunk-4CDLPMJK.js.map} +0 -0
- /package/dist/{chunk-SP7DQEQM.js.map → chunk-4CRLQMJ2.js.map} +0 -0
- /package/dist/{chunk-GS5HEE4M.js.map → chunk-4REK5TTE.js.map} +0 -0
- /package/dist/{chunk-AG6UJ3DI.js.map → chunk-57ROW3XF.js.map} +0 -0
- /package/dist/{chunk-3VUF5H3B.js.map → chunk-AMZ2SWHR.js.map} +0 -0
- /package/dist/{chunk-BJMENXR4.js.map → chunk-C7I4ZG6Q.js.map} +0 -0
- /package/dist/{chunk-QNOCM5JX.js.map → chunk-D26RJQU7.js.map} +0 -0
- /package/dist/{chunk-GBDBKGXW.js.map → chunk-EL6KZO43.js.map} +0 -0
- /package/dist/{chunk-Q4RGCEOI.js.map → chunk-JINWKUKR.js.map} +0 -0
- /package/dist/{chunk-626JLH4D.js.map → chunk-JWEIAEQ6.js.map} +0 -0
- /package/dist/{chunk-QIGMNB6M.js.map → chunk-P56JWQYV.js.map} +0 -0
- /package/dist/{chunk-7F43U2NC.js.map → chunk-WZKKQNYY.js.map} +0 -0
- /package/dist/{chunk-6EZAGTZG.js.map → chunk-X5AT253K.js.map} +0 -0
- /package/dist/{chunk-ZRTNR4U7.js.map → chunk-XWUTYFOU.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/connected-recorded-execution.ts","../src/connected-evidence-client.ts","../src/connected-dataset-publication.ts","../src/connected-collection-status.ts","../src/connected-sync.ts","../src/connected-evidence.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { ImmutableReleaseRefSchema, contentHash } from \"@openpond/harness\";\nimport { ExperimentManifestSchema } from \"@openpond/evals/experiments\";\nimport { TaskRecordSchema } from \"@openpond/evals/tasksets\";\nimport { ConnectedCaseRefSchema } from \"./connected-evidence-contracts.js\";\n\nconst Id = z.string().min(1).max(200), Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ConnectedRecordedExecutionRequestSchema = z.object({ operationId: Id, name: z.string().trim().min(1).max(500),\n projectId: Id, dataset: ImmutableReleaseRefSchema.extend({ revision: z.number().int().positive() }).strict(),\n caseIds: z.array(Id).min(1).max(10_000) }).strict().superRefine((value, ctx) => {\n if (new Set(value.caseIds).size !== value.caseIds.length) ctx.addIssue({ code: \"custom\", message: \"Select each case once.\" });\n});\nexport const ConnectedRecordedSourceSchema = ConnectedCaseRefSchema.extend({ inputHash: Hash, outputHash: Hash.nullable(),\n task: TaskRecordSchema, taskHash: Hash }).strict();\nexport const ConnectedRecordedExecutionSchema = z.object({ schemaVersion: z.literal(\"openpond.connectedRecordedExecution.v1\"),\n id: Id, teamId: Id, ownerUserId: Id, request: ConnectedRecordedExecutionRequestSchema,\n manifest: ExperimentManifestSchema, sources: z.array(ConnectedRecordedSourceSchema).min(1).max(10_000), contentHash: Hash }).strict();\nexport type ConnectedRecordedExecution = z.infer<typeof ConnectedRecordedExecutionSchema>;\nexport function verifyConnectedRecordedExecution(raw: unknown) {\n const value = ConnectedRecordedExecutionSchema.parse(raw), { contentHash: actual, ...body } = value;\n const { contentHash: manifestHash, ...manifest } = value.manifest;\n if (contentHash(body) !== actual || contentHash(manifest) !== manifestHash || value.manifest.teamId !== value.teamId\n || value.manifest.id !== value.id || value.manifest.operationId !== value.request.operationId\n || contentHash(value.manifest.dataset) !== contentHash(value.request.dataset)\n || value.sources.length !== value.request.caseIds.length || value.sources.length !== value.manifest.population.length\n || value.sources.some((source, index) => source.taskHash !== contentHash(source.task) || source.task.id !== value.request.caseIds[index]\n || source.boundaryId !== source.task.id || value.manifest.population[index]?.caseId !== source.boundaryId))\n throw new Error(\"Recorded execution identity or population integrity failed.\");\n return value;\n}\n\nexport const ConnectedRecordedListRequestSchema = z.object({ projectId: Id.optional(), cursor: Id.optional(), limit: z.number().int().min(1).max(50).default(20) }).strict();\nexport const ConnectedRecordedSummarySchema = z.object({ id: Id, teamId: Id, ownerUserId: Id, projectId: Id,\n name: z.string().min(1).max(500), dataset: ConnectedRecordedExecutionRequestSchema.shape.dataset,\n manifestHash: Hash, contentHash: Hash, caseCount: z.number().int().min(1).max(10_000), createdAt: z.string().datetime() }).strict();\nexport const ConnectedRecordedListSchema = z.object({ teamId: Id, items: z.array(ConnectedRecordedSummarySchema).max(50), nextCursor: Id.nullable() }).strict();\n","import { DEFAULT_API_BASE_URL } from \"./endpoints.js\";\nimport { z } from \"zod\";\nimport { contentHash } from \"@openpond/harness\";\nimport { ConnectedBoundarySchema, ConnectedEventSchema, ConnectedUsageSummarySchema } from \"@openpond/evals/connected-evidence\";\nimport { ConnectedCaptureRequestSchema, ConnectedCaseRefSchema, ConnectedSourceSummarySchema,\n AgentImportUploadPartSchema, AgentImportPreviewRequestSchema, AgentImportCommitRequestSchema } from \"./connected-evidence-contracts.js\";\nimport { ConnectedRecordedExecutionRequestSchema, ConnectedRecordedListSchema, ConnectedRecordedListRequestSchema, verifyConnectedRecordedExecution } from \"./connected-recorded-execution.js\";\nimport { ConnectedDatasetPublicationSchema, type ConnectedDatasetPublication } from \"./connected-dataset-publication.js\";\nimport { DatasetWorkspaceReceiptSchema } from \"./dataset-workspace-contracts.js\";\nimport { fetchConnectedJson } from \"./connected-evidence-http.js\";\nimport { ConnectedCollectionStatusSchema } from \"./connected-collection-status.js\";\nimport { ConnectedStartingAssetsRequestSchema, verifyConnectedStartingAssetsReceipt } from \"./connected-starting-assets.js\";\n\nconst Id = z.string().min(1).max(500), Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ConnectedCollectionSchema = z.object({ teamId: Id, projectId: Id.nullable(), status: z.enum([\"active\", \"paused\", \"archived\"]), revision: z.number().int().nonnegative() }).strict();\nexport const ConnectedCaptureReceiptSchema = z.object({ teamId: Id, operationId: Id, projectId: Id.nullable(),\n outcomes: z.array(z.object({ conversationId: Id, state: z.enum([\"captured\", \"unchanged\", \"pending\", \"paused\", \"excluded\", \"failed\"]),\n sourceId: Id.optional(), snapshotHash: Hash.optional(), reason: z.string().optional() }).strict()).max(50), nextCursor: Id.nullable() }).strict();\nexport const ConnectedCaseReadbackSchema = z.object({ teamId: Id, ref: ConnectedCaseRefSchema, origin: ConnectedSourceSummarySchema.shape.source,\n sessionId: Id, projectId: Id, capturedAt: z.string().datetime(), unmappedEvidence: z.object({ count: z.number().int().nonnegative().max(100_000), contentHash: Hash }).strict(),\n evidence: z.object({ input: z.array(ConnectedEventSchema), observed: z.array(ConnectedEventSchema), answer: z.json(), boundary: ConnectedBoundarySchema }).strict() }).strict();\nexport const ConnectedUnmappedEventsSchema = z.object({ teamId: Id, sourceId: Id, snapshotHash: Hash, contentHash: Hash,\n count: z.number().int().nonnegative(), offset: z.number().int().nonnegative(), events: z.array(ConnectedEventSchema).max(50), nextOffset: z.number().int().nonnegative().nullable() }).strict();\nexport const AgentImportPreviewSchema = z.object({ teamId: Id, source: AgentImportPreviewRequestSchema.shape.source, sourceHash: Hash, previewHash: Hash,\n destination: AgentImportPreviewRequestSchema.shape.destination, issues: z.array(z.object({ file: z.string(), message: z.string() }).strict()).max(100),\n sessions: z.array(z.object({ sessionHash: Hash, sessionId: Id, origin: ConnectedSourceSummarySchema.shape.source, exporterVersion: z.string().nullable(),\n eventCount: z.number().int().nonnegative(), boundaries: z.array(z.object({ id: Id, projection: z.enum([\"turn\", \"conversation\"]), answer: z.boolean(),\n process: z.enum([\"retained\", \"partial\", \"absent\"]), terminal: z.enum([\"completed\", \"failed\", \"cancelled\", \"unknown\"]) }).strict()).max(5_001),\n warnings: z.array(z.string()).max(100), sample: z.array(z.object({ role: z.enum([\"user\", \"assistant\", \"system\", \"tool\"]).nullable(), text: z.string().max(4_000) }).strict()).max(3),\n }).strict()).max(1_000) }).strict();\nexport const AgentImportReceiptSchema = z.object({ teamId: Id, operationId: Id, requestHash: Hash, previewHash: Hash, projectId: Id.optional(),\n state: z.enum([\"admitting\", \"publishing\", \"completed\", \"failed\"]), outcomes: z.array(z.object({ sessionHash: Hash, sourceId: Id,\n status: z.enum([\"imported\", \"already_present\"]), datasets: z.array(z.object({ datasetId: Id, revision: z.number().int().positive(), changed: z.boolean() }).strict()).max(2) }).strict()).max(1_000),\n error: z.string().optional() }).strict();\n\nexport class ConnectedEvidenceError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) { super(message); this.name = \"ConnectedEvidenceError\"; }\n}\nexport class ConnectedEvidenceClient {\n private readonly baseUrl: string;\n constructor(private readonly options: { apiKey: string; baseUrl?: string; teamId: string; fetch?: typeof fetch }) {\n const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);\n if (![\"http:\", \"https:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim())\n throw new Error(\"A clean API origin and workspace credentials are required.\");\n this.baseUrl = url.toString().replace(/\\/+$/, \"\");\n }\n async capture(raw: z.input<typeof ConnectedCaptureRequestSchema>, signal?: AbortSignal) {\n const request = ConnectedCaptureRequestSchema.parse(raw), result = ConnectedCaptureReceiptSchema.parse(await this.request(\"/capture\", \"POST\", request, signal));\n this.scope(result.teamId);\n if (result.operationId !== request.operationId || result.outcomes.length > request.limit || request.conversationId && result.outcomes.some(item => item.conversationId !== request.conversationId))\n throw new Error(\"Capture receipt differs from its requested source or operation.\");\n return result;\n }\n async retainStartingAssets(raw: z.input<typeof ConnectedStartingAssetsRequestSchema>, signal?: AbortSignal) {\n const request = ConnectedStartingAssetsRequestSchema.parse(raw);\n const result = verifyConnectedStartingAssetsReceipt(await this.request(\"/starting-assets\", \"POST\", request, signal));\n this.scope(result.teamId);\n if (result.operationId !== request.operationId || result.requestHash !== contentHash(request)\n || contentHash(result.source) !== contentHash(request.source)\n || result.assets.length !== request.proofs.length\n || result.assets.some((asset, index) => asset.path !== request.proofs[index]!.path))\n throw new Error(\"Starting assets differ from the exact source, operation or selected paths.\");\n return result;\n }\n async startingAssets(id: string, signal?: AbortSignal) {\n const result = verifyConnectedStartingAssetsReceipt(await this.request(`/starting-assets/${encodeURIComponent(Id.parse(id))}`, \"GET\", undefined, signal));\n this.scope(result.teamId);\n if (result.id !== id) throw new Error(\"Starting assets identity mismatch.\");\n return result;\n }\n async list(input: { projectId?: string; cursor?: string; limit?: number } = {}, signal?: AbortSignal) {\n const query = z.object({ projectId: Id.optional(), cursor: Id.optional(), limit: z.number().int().min(1).max(50).default(20) }).strict().parse(input);\n const params = new URLSearchParams(Object.entries(query).filter(([, value]) => value !== undefined).map(([key, value]) => [key, String(value)]));\n const page = z.object({ teamId: Id, items: z.array(ConnectedSourceSummarySchema).max(50), nextCursor: Id.nullable() }).strict().parse(await this.request(`?${params}`, \"GET\", undefined, signal));\n this.scope(page.teamId);\n 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\n || query.projectId && page.items.some(item => item.projectId !== query.projectId)) throw new Error(\"Connected source page differs from its requested scope.\");\n return page;\n }\n async read(raw: z.input<typeof ConnectedCaseRefSchema>, signal?: AbortSignal) {\n const ref = ConnectedCaseRefSchema.parse(raw);\n const result = ConnectedCaseReadbackSchema.parse(await this.request(`/${encodeURIComponent(ref.id)}/cases/${encodeURIComponent(ref.boundaryId)}?snapshotHash=${ref.snapshotHash}&revisionHash=${ref.boundaryRevisionHash}`, \"GET\", undefined, signal));\n this.scope(result.teamId);\n if (contentHash(result.ref) !== contentHash(ref) || result.evidence.boundary.id !== ref.boundaryId || result.evidence.boundary.revisionHash !== ref.boundaryRevisionHash\n || contentHash(result.evidence.input) !== result.evidence.boundary.inputHash || contentHash(result.evidence.observed) !== ref.boundaryRevisionHash\n || result.evidence.boundary.outputHash !== null && contentHash(result.evidence.answer) !== result.evidence.boundary.outputHash)\n throw new Error(\"Connected case readback differs from its exact snapshot or cutoff.\");\n return result;\n }\n async setCollection(paused: boolean, signal?: AbortSignal) {\n const result = ConnectedCollectionSchema.parse(await this.request(\"/collection\", \"PUT\", z.object({ paused: z.boolean() }).strict().parse({ paused }), signal));\n this.scope(result.teamId); return result;\n }\n async collection(signal?: AbortSignal) { const result = ConnectedCollectionSchema.parse(await this.request(\"/collection\", \"GET\", undefined, signal)); this.scope(result.teamId); return result; }\n async collectionStatus(signal?: AbortSignal) {\n const result = ConnectedCollectionStatusSchema.parse(await this.request(\"/collection/status\", \"GET\", undefined, signal));\n this.scope(result.teamId);\n return result;\n }\n async unmappedEvents(input: { id: string; snapshotHash: string; contentHash: string; offset?: number; limit?: number }, signal?: AbortSignal) {\n const request = z.object({ id: Id, snapshotHash: Hash, contentHash: Hash, offset: z.number().int().nonnegative().default(0), limit: z.number().int().min(1).max(50).default(20) }).strict().parse(input);\n const result = ConnectedUnmappedEventsSchema.parse(await this.request(`/${encodeURIComponent(request.id)}/unmapped-events?snapshotHash=${request.snapshotHash}&offset=${request.offset}&limit=${request.limit}`, \"GET\", undefined, signal));\n this.scope(result.teamId);\n if (result.sourceId !== request.id || result.snapshotHash !== request.snapshotHash || result.contentHash !== request.contentHash || result.offset !== request.offset\n || result.events.length > request.limit || result.events.some((event, index) => event.sequence !== request.offset + index)\n || result.nextOffset !== null && result.nextOffset !== request.offset + result.events.length) throw new Error(\"Unmapped source event page differs from its pinned snapshot.\");\n return result;\n }\n async homeSummary(raw: { from: string; to: string; projectId?: string }, signal?: AbortSignal) {\n const querySchema = z.object({ from: z.string().datetime(), to: z.string().datetime(), projectId: Id.optional() }).strict(), query = querySchema.parse(raw);\n const params = new URLSearchParams(Object.entries(query));\n const result = z.object({ teamId: Id, range: querySchema, activity: z.object({ conversations: z.number().int().nonnegative(), turns: z.number().int().nonnegative(),\n chatTurns: z.number().int().nonnegative(), workTurns: z.number().int().nonnegative() }).strict(), accounting: z.object({ contextSnapshots: z.number().int().nonnegative() }).strict(), usage: ConnectedUsageSummarySchema }).strict()\n .parse(await this.request(`/summary?${params}`, \"GET\", undefined, signal));\n this.scope(result.teamId);\n 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.\");\n for (const groups of [result.usage.days, result.usage.modes, result.usage.models]) {\n if (new Set(groups.map(row => row.key)).size !== groups.length) throw new Error(\"Duplicate usage summary group.\");\n for (const key of Object.keys(result.usage.total) as (keyof typeof result.usage.total)[])\n if (groups.reduce((sum, row) => sum + row[key], 0) !== result.usage.total[key]) throw new Error(\"Usage totals differ from their displayed groups.\");\n }\n return result;\n }\n async uploadPart(raw: z.input<typeof AgentImportUploadPartSchema>, signal?: AbortSignal) {\n const body = AgentImportUploadPartSchema.parse(raw), result = z.object({ teamId: Id, hash: Hash, parts: z.number().int(), index: z.number().int() }).strict().parse(await this.request(\"/imports/upload\", \"POST\", body, signal));\n this.scope(result.teamId);\n if (result.hash !== body.hash || result.parts !== body.parts || result.index !== body.index) throw new Error(\"Upload receipt differs from its part identity.\");\n return result;\n }\n async preview(raw: z.input<typeof AgentImportPreviewRequestSchema>, signal?: AbortSignal) {\n const request = AgentImportPreviewRequestSchema.parse(raw), result = AgentImportPreviewSchema.parse(await this.request(\"/imports/preview\", \"POST\", request, signal));\n this.scope(result.teamId);\n if (result.source !== request.source || contentHash(result.destination) !== contentHash(request.destination) || result.sessions.some(session => session.origin !== request.source)\n || new Set(result.sessions.map(session => session.sessionHash)).size !== result.sessions.length) throw new Error(\"Import preview differs from its source or destination.\");\n return result;\n }\n async commit(raw: z.input<typeof AgentImportCommitRequestSchema>, signal?: AbortSignal) {\n const request = AgentImportCommitRequestSchema.parse(raw), result = AgentImportReceiptSchema.parse(await this.request(\"/imports/commit\", \"POST\", request, signal));\n this.scope(result.teamId);\n if (result.operationId !== request.operationId || result.previewHash !== request.previewHash || result.requestHash !== contentHash(request)\n || result.outcomes.some(item => !request.selection.some(selection => selection.sessionHash === item.sessionHash))\n || result.state === \"completed\" && result.outcomes.length !== request.selection.length) throw new Error(\"Import receipt differs from its exact selection or operation.\");\n return result;\n }\n async readImport(operationId: string, signal?: AbortSignal) {\n const id = Id.parse(operationId), result = AgentImportReceiptSchema.parse(await this.request(`/imports/${encodeURIComponent(id)}`, \"GET\", undefined, signal));\n this.scope(result.teamId); if (result.operationId !== id) throw new Error(\"Import identity mismatch.\"); return result;\n }\n async prepareRecorded(raw: z.input<typeof ConnectedRecordedExecutionRequestSchema>, signal?: AbortSignal) {\n const request = ConnectedRecordedExecutionRequestSchema.parse(raw), result = verifyConnectedRecordedExecution(await this.request(\"/recorded-executions\", \"POST\", request, signal));\n this.scope(result.teamId); if (contentHash(result.request) !== contentHash(request)) throw new Error(\"Recorded admission differs from its selected Dataset/cases.\"); return result;\n }\n async listRecordedExecutions(input: z.input<typeof ConnectedRecordedListRequestSchema> = {}, signal?: AbortSignal) {\n const query = ConnectedRecordedListRequestSchema.parse(input);\n const params = new URLSearchParams(Object.entries(query).filter(([, value]) => value !== undefined).map(([key, value]) => [key, String(value)]));\n const page = ConnectedRecordedListSchema.parse(await this.request(`/recorded-executions?${params}`, \"GET\", undefined, signal));\n this.scope(page.teamId);\n if (page.items.length > query.limit || page.items.some((row, index) => row.teamId !== page.teamId || query.projectId && row.projectId !== query.projectId\n || query.cursor && row.id <= query.cursor || index > 0 && row.id <= page.items[index - 1]!.id)\n || page.items.some(row => row.ownerUserId !== page.items[0]?.ownerUserId)\n || page.nextCursor !== null && (query.cursor !== undefined && page.nextCursor <= query.cursor || page.items.length > 0 && page.nextCursor < page.items.at(-1)!.id))\n throw new Error(\"Recorded execution page differs from its requested scope or cursor.\");\n return page;\n }\n async recordedExecution(id: string, signal?: AbortSignal) {\n const result = verifyConnectedRecordedExecution(await this.request(`/recorded-executions/${encodeURIComponent(Id.parse(id))}`, \"GET\", undefined, signal));\n this.scope(result.teamId); if (result.id !== id) throw new Error(\"Recorded execution identity mismatch.\"); return result;\n }\n async publishDataset(input: ConnectedDatasetPublication, signal?: AbortSignal) {\n const request = ConnectedDatasetPublicationSchema.parse(input);\n const result = DatasetWorkspaceReceiptSchema.parse(await this.request(\"/datasets/publish\", \"POST\", request, signal));\n this.scope(result.teamId);\n const frozen = result.workspace.draft.metadata.connectedPublication;\n if (result.datasetId !== request.datasetId || !result.publication || !frozen || typeof frozen !== \"object\" || !(\"requestHash\" in frozen) || frozen.requestHash !== contentHash(request)) throw new Error(\"Published Dataset identity or original selection mismatch.\"); return result;\n }\n async createSelection(input: { operationId: string; projectId: string; name: string; cases: z.input<typeof ConnectedCaseRefSchema>[] }, signal?: AbortSignal) {\n const request = z.object({ operationId: Id.max(240), projectId: Id.max(240), name: z.string().trim().min(1).max(200), cases: z.array(ConnectedCaseRefSchema).min(1).max(500) }).strict().parse(input);\n const result = DatasetWorkspaceReceiptSchema.parse(await this.request(\"/datasets/selection\", \"POST\", request, signal));\n this.scope(result.teamId);\n if (result.originProjectId !== request.projectId || result.workspace.draft.tasks.length !== request.cases.length\n || 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])))\n throw new Error(\"Selected Dataset differs from its exact source population.\");\n return result;\n }\n private scope(teamId: string) { if (teamId !== this.options.teamId) throw new Error(\"Connected evidence workspace mismatch.\"); }\n private async request(path: string, method: string, body?: unknown, signal?: AbortSignal) {\n const { response, value } = await fetchConnectedJson(this.options.fetch ?? fetch, `${this.baseUrl}/v1/connected-evidence${path}`, { method, signal, redirect: \"error\",\n headers: { Authorization: `Bearer ${this.options.apiKey}`, \"X-OpenPond-Team-Id\": this.options.teamId, \"Content-Type\": \"application/json\", Accept: \"application/json\" },\n ...(body === undefined ? {} : { body: JSON.stringify(body) }) }, (status, code, message) => new ConnectedEvidenceError(status, code, message));\n if (!response.ok) { const error = z.object({ code: z.string(), message: z.string() }).safeParse(value);\n throw new ConnectedEvidenceError(response.status, error.success ? error.data.code : \"connected_request_failed\", error.success ? error.data.message : \"Connected evidence request failed.\"); }\n return value;\n }\n}\n","import { z } from \"zod\";\nimport { RewardReleaseRefSchema } from \"@openpond/evals/rewards\";\n\n/** Publication freezes the owner-selected Dataset revision and exact grader\n * releases. Capture never infers a correctness reference from an answer. */\nexport const ConnectedDatasetPublicationSchema = z.object({\n datasetId: z.string().trim().min(1).max(240),\n expectedRevision: z.number().int().positive(),\n operationId: z.string().trim().min(1).max(240),\n graders: z.array(RewardReleaseRefSchema).min(1).max(100).optional(),\n}).strict().superRefine((request, context) => {\n if (request.graders && new Set(request.graders.map(ref => ref.id)).size !== request.graders.length)\n context.addIssue({ code: \"custom\", path: [\"graders\"], message: \"Choose one exact revision of each grader.\" });\n});\nexport type ConnectedDatasetPublication = z.infer<typeof ConnectedDatasetPublicationSchema>;\n","import { z } from \"zod\";\n\nconst Id = z.string().min(1).max(500);\nconst Count = z.number().int().nonnegative();\n\n/** Hosted collection health is server reconciliation, never a local heartbeat. */\nexport const ConnectedCollectionStatusSchema = z.object({\n teamId: Id,\n ownerUserId: Id,\n projectId: Id.nullable(),\n status: z.enum([\"active\", \"paused\", \"archived\"]),\n revision: Count,\n state: z.enum([\"collecting\", \"pending\", \"attention\", \"paused\", \"archived\"]),\n lastReconciledAt: z.string().datetime().nullable(),\n lastCapturedAt: z.string().datetime().nullable(),\n historyDays: z.number().int().positive(),\n sources: Count,\n tasks: Count,\n datasets: z.array(z.object({\n datasetId: Id,\n projection: z.enum([\"turn\", \"conversation\"]),\n revision: Count,\n }).strict()).max(2),\n latestBatch: z.object({\n operationId: Id,\n updatedAt: z.string().datetime(),\n scanned: Count,\n captured: Count,\n unchanged: Count,\n pending: Count,\n failed: Count,\n excluded: Count,\n paused: Count,\n hasMore: z.boolean(),\n }).strict().nullable(),\n}).strict();\n\nexport type ConnectedCollectionStatus = z.infer<typeof ConnectedCollectionStatusSchema>;\n","import { DEFAULT_API_BASE_URL } from \"./endpoints.js\";\nimport { z } from \"zod\";\nimport {\n AgentImportCommitRequestSchema,\n AgentImportPreviewRequestSchema,\n} from \"./connected-evidence-contracts.js\";\nimport { fetchConnectedJson } from \"./connected-evidence-http.js\";\nimport {\n CollectorCoverageManifestSchema,\n CollectorCoverageSummarySchema,\n summarizeCollectorCoverage,\n} from \"@openpond/evals/connected-evidence\";\nconst Id = z.string().trim().min(1).max(240);\nexport const ConnectedSyncCoveragePublishSchema = z\n .object({\n id: Id,\n expectedRevision: z.number().int().positive(),\n manifest: CollectorCoverageManifestSchema,\n })\n .strict()\n .refine(\n (value) =>\n value.id === value.manifest.connectionId &&\n value.expectedRevision === value.manifest.connectionRevision,\n \"Collector coverage scope differs from its connection.\",\n );\nexport const ConnectedSyncCoverageReadSchema = z\n .object({ id: Id, cutoff: z.iso.datetime().optional() })\n .strict();\nexport const ConnectedSyncCoverageReceiptSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.connectedSyncCoverageReceipt.v1\"),\n id: Id,\n teamId: Id,\n ownerUserId: Id,\n connectionId: Id,\n connectionRevision: z.number().int().positive(),\n receivedAt: z.iso.datetime(),\n summary: CollectorCoverageSummarySchema,\n })\n .strict();\nexport const ConnectedSyncRegistrationSchema = z\n .object({\n id: Id,\n source: AgentImportPreviewRequestSchema.shape.source,\n machineId: Id,\n sourceInstanceId: Id,\n sourceLabel: z.string().trim().min(1).max(200),\n sourceRoot: z.string().min(1).max(2000),\n destination: AgentImportPreviewRequestSchema.shape.destination,\n since: z.string().datetime().nullable(),\n keepSyncing: z.boolean(),\n expectedRevision: z.number().int().nonnegative(),\n })\n .strict();\nexport const ConnectedSyncControlSchema = z\n .object({\n id: Id,\n expectedRevision: z.number().int().positive(),\n action: z.enum([\"pause\", \"resume\", \"disconnect\"]),\n })\n .strict();\nexport const ConnectedSyncRequestSchema = z\n .object({\n id: Id,\n operationId: Id,\n expectedRevision: z.number().int().positive(),\n })\n .strict();\nexport const ConnectedSyncHeartbeatSchema = z\n .object({\n id: Id,\n expectedRevision: z.number().int().positive(),\n pendingOperations: z.number().int().min(0).max(10000),\n error: z.string().max(500).nullable(),\n completedSyncRevision: z.number().int().nonnegative().default(0),\n })\n .strict();\nexport const ConnectedSyncConnectionSchema = z\n .object({\n teamId: Id,\n id: Id,\n revision: z.number().int().positive(),\n source: AgentImportPreviewRequestSchema.shape.source,\n sourceLabel: z.string(),\n sourceRoot: z.string(),\n taskDatasetId: Id.nullable(),\n conversationDatasetId: Id.nullable(),\n machineId: Id,\n sourceInstanceId: Id,\n projectId: Id,\n datasetIds: z.array(Id).max(2),\n since: z.string().datetime().nullable(),\n keepSyncing: z.boolean(),\n state: z.enum([\"active\", \"paused\", \"disconnected\"]),\n health: z.enum([\"online\", \"offline\"]),\n lastHeartbeatAt: z.string().datetime().nullable(),\n lastAdmissionAt: z.string().datetime().nullable(),\n pendingOperations: z.number().int().nonnegative(),\n admittedTasks: z.number().int().nonnegative(),\n error: z.string().nullable(),\n requestedSyncRevision: z.number().int().nonnegative().default(0),\n completedSyncRevision: z.number().int().nonnegative().default(0),\n syncRequestedAt: z.string().datetime().nullable().default(null),\n syncCompletedAt: z.string().datetime().nullable().default(null),\n })\n .strict()\n .refine(\n (value) =>\n value.completedSyncRevision <= value.requestedSyncRevision &&\n value.requestedSyncRevision <= value.revision,\n \"Invalid sync acknowledgement generation.\",\n );\nexport const ConnectedSyncCommitSchema = z\n .object({\n connectionId: Id,\n expectedRevision: z.number().int().positive(),\n request: AgentImportCommitRequestSchema,\n })\n .strict();\nexport type ConnectedSyncConnection = z.infer<\n typeof ConnectedSyncConnectionSchema\n>;\nexport class ConnectedSyncClient {\n constructor(\n private readonly options: {\n apiKey: string;\n baseUrl?: string;\n teamId: string;\n fetch?: typeof fetch;\n },\n ) {\n const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);\n if (\n ![\"http:\", \"https:\"].includes(url.protocol) ||\n url.username ||\n url.password ||\n url.search ||\n url.hash\n )\n throw new Error(\"Invalid connected-sync API origin.\");\n }\n async list(signal?: AbortSignal) {\n const result = z\n .object({\n teamId: Id,\n items: z.array(ConnectedSyncConnectionSchema).max(100),\n })\n .strict()\n .parse(await this.request(\"\", \"GET\", undefined, signal));\n if (\n result.teamId !== this.options.teamId ||\n result.items.some((item) => item.teamId !== result.teamId)\n )\n throw new Error(\"Sync workspace mismatch.\");\n return result;\n }\n async register(\n raw: z.input<typeof ConnectedSyncRegistrationSchema>,\n signal?: AbortSignal,\n ) {\n return this.connection(\n await this.request(\n \"\",\n \"POST\",\n ConnectedSyncRegistrationSchema.parse(raw),\n signal,\n ),\n raw.id,\n );\n }\n async control(\n raw: z.input<typeof ConnectedSyncControlSchema>,\n signal?: AbortSignal,\n ) {\n return this.connection(\n await this.request(\n \"/control\",\n \"POST\",\n ConnectedSyncControlSchema.parse(raw),\n signal,\n ),\n raw.id,\n );\n }\n async heartbeat(\n raw: z.input<typeof ConnectedSyncHeartbeatSchema>,\n signal?: AbortSignal,\n ) {\n return this.connection(\n await this.request(\n \"/heartbeat\",\n \"POST\",\n ConnectedSyncHeartbeatSchema.parse(raw),\n signal,\n ),\n raw.id,\n );\n }\n async requestSync(\n raw: z.input<typeof ConnectedSyncRequestSchema>,\n signal?: AbortSignal,\n ) {\n return this.connection(\n await this.request(\n \"/sync-now\",\n \"POST\",\n ConnectedSyncRequestSchema.parse(raw),\n signal,\n ),\n raw.id,\n );\n }\n async commit(\n raw: z.input<typeof ConnectedSyncCommitSchema>,\n signal?: AbortSignal,\n ) {\n return this.request(\n \"/commit\",\n \"POST\",\n ConnectedSyncCommitSchema.parse(raw),\n signal,\n );\n }\n async publishCoverage(\n raw: z.input<typeof ConnectedSyncCoveragePublishSchema>,\n signal?: AbortSignal,\n ) {\n const request = ConnectedSyncCoveragePublishSchema.parse(raw);\n const receipt = this.coverageReceipt(\n await this.request(\n \"/coverage\",\n \"POST\",\n { action: \"publish\", ...request },\n signal,\n ),\n request.id,\n );\n if (\n !receipt ||\n receipt.connectionRevision !== request.expectedRevision ||\n receipt.summary.manifestHash !==\n summarizeCollectorCoverage(request.manifest).manifestHash\n )\n throw new Error(\n \"Collector coverage acknowledgement differs from the retained manifest.\",\n );\n return receipt;\n }\n async readCoverage(\n raw: z.input<typeof ConnectedSyncCoverageReadSchema>,\n signal?: AbortSignal,\n ) {\n const request = ConnectedSyncCoverageReadSchema.parse(raw);\n const query = new URLSearchParams(\n request.cutoff ? { cutoff: request.cutoff } : {},\n );\n return this.coverageReceipt(\n await this.request(\n `/${encodeURIComponent(request.id)}/coverage?${query}`,\n \"GET\",\n undefined,\n signal,\n ),\n request.id,\n );\n }\n private coverageReceipt(value: unknown, connectionId: string) {\n if (value === null) return null;\n const receipt = ConnectedSyncCoverageReceiptSchema.parse(value);\n if (\n receipt.teamId !== this.options.teamId ||\n receipt.connectionId !== connectionId\n )\n throw new Error(\"Collector coverage workspace mismatch.\");\n return receipt;\n }\n private connection(raw: unknown, id: string) {\n const result = ConnectedSyncConnectionSchema.parse(raw);\n if (result.teamId !== this.options.teamId || result.id !== id)\n throw new Error(\"Sync connection identity mismatch.\");\n return result;\n }\n private async request(\n path: string,\n method: string,\n body?: unknown,\n signal?: AbortSignal,\n ) {\n const { response, value } = await fetchConnectedJson(\n this.options.fetch ?? fetch,\n `${(this.options.baseUrl ?? DEFAULT_API_BASE_URL).replace(/\\/+$/u, \"\")}/v1/connected-evidence/sync/connections${path}`,\n {\n method,\n signal,\n redirect: \"error\",\n headers: {\n Authorization: `Bearer ${this.options.apiKey}`,\n \"X-OpenPond-Team-Id\": this.options.teamId,\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\n ...(body === undefined ? {} : { body: JSON.stringify(body) }),\n },\n (_status, _code, message) => new Error(message),\n );\n if (!response.ok)\n throw Object.assign(\n new Error(`Sync request failed (${response.status}).`),\n { status: response.status },\n );\n return value;\n }\n}\n","export * from \"./connected-evidence-contracts.js\";\nexport * from \"./connected-dataset-source.js\";\nexport * from \"./connected-recorded-execution.js\";\nexport * from \"./connected-evidence-client.js\";\nexport * from \"./connected-dataset-publication.js\";\nexport * from \"./connected-collection-status.js\";\nexport * from \"./connected-starting-assets.js\";\n\nexport * from \"./connected-sync.js\";\nexport { CollectorCoverageManifestSchema, CollectorCoverageSessionSchema, CollectorCoverageSummarySchema,\n summarizeCollectorCoverage, hashCollectorEligibleBoundaries } from \"@openpond/evals/connected-evidence\";\nexport type { CollectorCoverageManifest, CollectorCoverageSession, CollectorCoverageSummary } from \"@openpond/evals/connected-evidence\";\n"],"mappings":"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","names":["z","z","z","Id","Id","z","Hash","z","Id","z","CollectorCoverageManifestSchema","CollectorCoverageSummarySchema","summarizeCollectorCoverage"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
RunExperimentSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2U6BQ5C4.js";
|
|
4
4
|
import {
|
|
5
5
|
contentHash
|
|
6
6
|
} from "./chunk-H3JZ3P5T.js";
|
|
@@ -136,4 +136,4 @@ export {
|
|
|
136
136
|
CandidateEvaluationPreparationSchema,
|
|
137
137
|
CandidateEvaluationControlSchema
|
|
138
138
|
};
|
|
139
|
-
//# sourceMappingURL=chunk-
|
|
139
|
+
//# sourceMappingURL=chunk-AMZ2SWHR.js.map
|
|
@@ -6,16 +6,16 @@ import {
|
|
|
6
6
|
} from "./chunk-H3367ISL.js";
|
|
7
7
|
import {
|
|
8
8
|
ModelProjectVersionedRefSchema
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-H5KHLBC5.js";
|
|
10
10
|
import {
|
|
11
|
-
canonicalJson
|
|
11
|
+
canonicalJson
|
|
12
12
|
} from "./chunk-B3ZHJ2KK.js";
|
|
13
13
|
import {
|
|
14
14
|
ImmutableAssetRefSchema,
|
|
15
15
|
ImmutableReleaseRefSchema,
|
|
16
16
|
ReleaseHashSchema,
|
|
17
17
|
ReleaseIdSchema,
|
|
18
|
-
canonicalJson,
|
|
18
|
+
canonicalJson as canonicalJson2,
|
|
19
19
|
contentHash,
|
|
20
20
|
sha256,
|
|
21
21
|
sha256Hex
|
|
@@ -7545,7 +7545,7 @@ function projectStructuredSamplingSchema(full, declarationInput) {
|
|
|
7545
7545
|
const declaration = StructuredSamplingSchemaDeclarationSchema.parse(declarationInput);
|
|
7546
7546
|
if (declaration.validationSchemaHash !== full.schemaHash)
|
|
7547
7547
|
throw new Error("structured_sampling_validation_identity_changed");
|
|
7548
|
-
if (sha256Hex(full.schemaSource) !== full.schemaHash ||
|
|
7548
|
+
if (sha256Hex(full.schemaSource) !== full.schemaHash || canonicalJson2(JSON.parse(full.schemaSource)) !== canonicalJson2(full.schema))
|
|
7549
7549
|
throw new Error("structured_sampling_validation_source_changed");
|
|
7550
7550
|
const result = JSON.parse(full.schemaSource);
|
|
7551
7551
|
const targets = /* @__PURE__ */ new Map();
|
|
@@ -7587,7 +7587,7 @@ function assertStructuredSamplingSchema(full, input) {
|
|
|
7587
7587
|
const sampling = StructuredSamplingSchemaContractSchema.parse(input);
|
|
7588
7588
|
const derived = projectStructuredSamplingSchema(full, sampling.declaration);
|
|
7589
7589
|
const expectedSource = JSON.stringify(derived);
|
|
7590
|
-
if (sampling.schemaSource !== expectedSource ||
|
|
7590
|
+
if (sampling.schemaSource !== expectedSource || canonicalJson2(sampling.schema) !== canonicalJson2(derived) || sha256Hex(expectedSource) !== sampling.schemaHash || sampling.schemaHash !== sampling.declaration.schemaRef.contentHash || new TextEncoder().encode(expectedSource).byteLength !== sampling.declaration.schemaRef.sizeBytes) {
|
|
7591
7591
|
throw new Error("structured_sampling_schema_identity_changed");
|
|
7592
7592
|
}
|
|
7593
7593
|
}
|
|
@@ -7695,7 +7695,7 @@ function resolveStructuredOutput(schemaBytes, expectedHash) {
|
|
|
7695
7695
|
}
|
|
7696
7696
|
function assertStructuredOutputContract(contract) {
|
|
7697
7697
|
assertStructuredOutputSchema(contract.schema);
|
|
7698
|
-
if (sha256Hex(new TextEncoder().encode(contract.schemaSource)) !== contract.schemaHash ||
|
|
7698
|
+
if (sha256Hex(new TextEncoder().encode(contract.schemaSource)) !== contract.schemaHash || canonicalJson2(JSON.parse(contract.schemaSource)) !== canonicalJson2(contract.schema))
|
|
7699
7699
|
throw new Error("structured_schema_contract_changed");
|
|
7700
7700
|
if (!/^[a-f0-9]{64}$/.test(contract.schemaHash))
|
|
7701
7701
|
throw new Error("structured_schema_hash_invalid");
|
|
@@ -8139,7 +8139,7 @@ function createModelStarterExecutionAsset(value) {
|
|
|
8139
8139
|
const execution = ModelStarterExecutionSchema.parse(value);
|
|
8140
8140
|
assertExecutionIntegrity(execution);
|
|
8141
8141
|
const id = modelStarterExecutionAssetId({ environmentRelease: { id: execution.environment.id, contentHash: execution.environment.contentHash }, verifierSetRelease: { id: execution.verifierSet.id, contentHash: execution.verifierSet.contentHash } });
|
|
8142
|
-
const generated = createLearningTextAsset({ text:
|
|
8142
|
+
const generated = createLearningTextAsset({ text: canonicalJson(execution), path: "environment/execution.json", mediaType: "application/json", visibility: "host_private" });
|
|
8143
8143
|
const { contentHash: _hash, ...content } = generated;
|
|
8144
8144
|
return sealLearningContent({ ...content, id, asset: { ...content.asset, id } });
|
|
8145
8145
|
}
|
|
@@ -8204,14 +8204,14 @@ function createModelTasksetExecutionResourcesAsset(value) {
|
|
|
8204
8204
|
const resources = ModelTasksetExecutionResourcesSchema.parse({ environment: value.environment, verifierSet: value.verifierSet });
|
|
8205
8205
|
assertIntegrity(resources);
|
|
8206
8206
|
const id = modelTasksetExecutionResourcesAssetId({ environmentRelease: { id: resources.environment.id, contentHash: resources.environment.contentHash }, verifierSetRelease: { id: resources.verifierSet.id, contentHash: resources.verifierSet.contentHash } });
|
|
8207
|
-
const { contentHash: _hash, ...asset } = createLearningTextAsset2({ text:
|
|
8207
|
+
const { contentHash: _hash, ...asset } = createLearningTextAsset2({ text: canonicalJson(resources), path: "environment/resources.json", mediaType: "application/json", visibility: "host_private" });
|
|
8208
8208
|
return sealLearningContent2({ ...asset, id, asset: { ...asset.asset, id } });
|
|
8209
8209
|
}
|
|
8210
8210
|
function resolveModelTasksetExecutionResourcesAsset(context, asset) {
|
|
8211
8211
|
if (asset.id !== modelTasksetExecutionResourcesAssetId(context) || asset.asset.visibility !== "host_private" || asset.asset.mediaType !== "application/json") throw new Error("Taskset execution asset differs from its published references.");
|
|
8212
8212
|
const resources = ModelTasksetExecutionResourcesSchema.parse(JSON.parse(verifyLearningTextAsset2(asset, asset.asset)));
|
|
8213
8213
|
assertIntegrity(resources);
|
|
8214
|
-
if (asset.id !== createModelTasksetExecutionResourcesAsset(resources).id ||
|
|
8214
|
+
if (asset.id !== createModelTasksetExecutionResourcesAsset(resources).id || canonicalJson(context.environment) !== canonicalJson(resources.environment.contract) || canonicalJson(context.graders) !== canonicalJson(resources.verifierSet.graders)) throw new Error("Taskset differs from its execution resources.");
|
|
8215
8215
|
return resources;
|
|
8216
8216
|
}
|
|
8217
8217
|
function assertIntegrity(resources) {
|
|
@@ -8379,7 +8379,7 @@ var TasksetPackageLearningResourcesSchema = z10.object({
|
|
|
8379
8379
|
}).strict();
|
|
8380
8380
|
function learningPackageContextFiles(resources) {
|
|
8381
8381
|
return resources.evidence.filter((evidence) => evidence.submission.evaluatorContext !== null).map((evidence) => {
|
|
8382
|
-
const text =
|
|
8382
|
+
const text = canonicalJson(evidence.submission.evaluatorContext);
|
|
8383
8383
|
const bytes = new TextEncoder().encode(text);
|
|
8384
8384
|
return {
|
|
8385
8385
|
asset: {
|
|
@@ -8942,4 +8942,4 @@ export {
|
|
|
8942
8942
|
createTasksetPackage,
|
|
8943
8943
|
resolveTasksetWorkOutputs
|
|
8944
8944
|
};
|
|
8945
|
-
//# sourceMappingURL=chunk-
|
|
8945
|
+
//# sourceMappingURL=chunk-AQV7RQZH.js.map
|