openpond-sdk 0.12.25 → 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 +5 -10
- package/README.md +3 -4
- package/SERVERLESS_SERVING.md +37 -0
- package/TASKSETS.md +1 -2
- package/TASK_INGESTION.md +3 -4
- package/TRAINING_PROTOCOL.md +1 -1
- package/TRAINING_WORKFLOWS.md +11 -6
- package/dist/advanced-refiner-evaluations.js +9 -8
- package/dist/ai-sdk.js +2 -1
- package/dist/ai-sdk.js.map +1 -1
- package/dist/candidate-evaluations.js +7 -6
- package/dist/{chunk-ZQFROKKS.js → chunk-2U6BQ5C4.js} +3 -3
- package/dist/{chunk-DDCR4KB5.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-RTLJV4OS.js → chunk-4A4FNG4R.js} +2 -2
- package/dist/{chunk-EZME7DV4.js → chunk-4CDLPMJK.js} +2 -2
- package/dist/{chunk-XBFOFTK3.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-YS7DF76T.js → chunk-57ROW3XF.js} +3 -3
- package/dist/{chunk-47THZRUM.js → chunk-6LVLWRBJ.js} +8 -5
- package/dist/chunk-6LVLWRBJ.js.map +1 -0
- package/dist/{chunk-3VUF5H3B.js → chunk-AMZ2SWHR.js} +2 -2
- package/dist/{chunk-GV6DEDBU.js → chunk-AQV7RQZH.js} +2 -2
- 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-T67LNKAK.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-3MWFN7BA.js → chunk-HCUZYGUK.js} +8 -5
- package/dist/chunk-HCUZYGUK.js.map +1 -0
- package/dist/{chunk-JOMZJXGC.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-QRYEXPG7.js → chunk-MN4FE52A.js} +13 -10
- package/dist/chunk-MN4FE52A.js.map +1 -0
- package/dist/{chunk-2OVNKPBZ.js → chunk-MUG4OQKL.js} +5 -2
- 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-3G3HUA32.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-IXFUYPGV.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-RN5MK7NH.js → chunk-X5AT253K.js} +3 -3
- package/dist/{chunk-ZRTNR4U7.js → chunk-XWUTYFOU.js} +3 -3
- package/dist/{chunk-Z5APNTZE.js → chunk-XYK3MAIC.js} +2 -2
- package/dist/{chunk-BRP3EBCR.js → chunk-ZG4HVCJB.js} +7 -4
- package/dist/chunk-ZG4HVCJB.js.map +1 -0
- package/dist/connected-evidence.js +9 -8
- 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 +18 -15
- package/dist/dataset-workspaces.js.map +1 -1
- package/dist/errors.js +2 -1
- package/dist/experiment-evaluation-schedules.js +18 -17
- package/dist/experiment-improvements.js +8 -7
- package/dist/experiments.js +16 -15
- package/dist/human-review.js +2 -1
- package/dist/index.js +32 -28
- 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 +11 -8
- package/dist/taskset-drafts.js.map +1 -1
- package/dist/taskset-packages.js +10 -9
- package/dist/tool-learning.js +4 -1
- package/dist/tool-learning.js.map +1 -1
- package/dist/training-bundle.js +11 -10
- 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 +2677 -2574
- package/dist/training.js.map +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-client.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 +1 -1
- package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts +1 -1
- 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/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.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/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 +1 -1
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/product-models.d.ts.map +1 -1
- 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-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/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-learning-batch.d.ts +40 -40
- 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-qualification-preparation.d.ts +25 -25
- 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 +1336 -1021
- package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/types.d.ts +2 -2
- 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/python-foundation/schemas.json +4830 -4483
- package/package.json +2 -1
- package/dist/chunk-2OVNKPBZ.js.map +0 -1
- package/dist/chunk-3B5KSH3V.js.map +0 -1
- package/dist/chunk-3MWFN7BA.js.map +0 -1
- package/dist/chunk-47THZRUM.js.map +0 -1
- package/dist/chunk-BRP3EBCR.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-IXFUYPGV.js.map +0 -1
- package/dist/chunk-JMFYNIYZ.js.map +0 -1
- package/dist/chunk-MVAEE5EI.js.map +0 -1
- package/dist/chunk-QOX57Y27.js.map +0 -1
- package/dist/chunk-QRYEXPG7.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-DDCR4KB5.js.map → chunk-3BILL33A.js.map} +0 -0
- /package/dist/{chunk-RTLJV4OS.js.map → chunk-4A4FNG4R.js.map} +0 -0
- /package/dist/{chunk-EZME7DV4.js.map → chunk-4CDLPMJK.js.map} +0 -0
- /package/dist/{chunk-XBFOFTK3.js.map → chunk-4CRLQMJ2.js.map} +0 -0
- /package/dist/{chunk-GS5HEE4M.js.map → chunk-4REK5TTE.js.map} +0 -0
- /package/dist/{chunk-YS7DF76T.js.map → chunk-57ROW3XF.js.map} +0 -0
- /package/dist/{chunk-3VUF5H3B.js.map → chunk-AMZ2SWHR.js.map} +0 -0
- /package/dist/{chunk-GV6DEDBU.js.map → chunk-AQV7RQZH.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-T67LNKAK.js.map → chunk-EL6KZO43.js.map} +0 -0
- /package/dist/{chunk-JOMZJXGC.js.map → chunk-JINWKUKR.js.map} +0 -0
- /package/dist/{chunk-626JLH4D.js.map → chunk-JWEIAEQ6.js.map} +0 -0
- /package/dist/{chunk-3G3HUA32.js.map → chunk-P56JWQYV.js.map} +0 -0
- /package/dist/{chunk-7F43U2NC.js.map → chunk-WZKKQNYY.js.map} +0 -0
- /package/dist/{chunk-RN5MK7NH.js.map → chunk-X5AT253K.js.map} +0 -0
- /package/dist/{chunk-ZRTNR4U7.js.map → chunk-XWUTYFOU.js.map} +0 -0
- /package/dist/{chunk-Z5APNTZE.js.map → chunk-XYK3MAIC.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/training-project-contracts.ts","../src/training-project-client.ts"],"sourcesContent":["import { ProfileEvaluationRunSourceSchema } from \"@openpond/evals\";\nimport { StandaloneHarnessExperimentSourceSchema } from \"@openpond/evals/experiments\";\nimport { z } from \"zod\";\nimport { ImmutableReleaseRefSchema, contentHash } from \"@openpond/harness\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst Revision = z.number().int().positive();\nexport const TrainingResourceKindSchema = z.enum([\"dataset\", \"evaluator\", \"model\", \"training_configuration\", \"training_run\", \"harness\", \"environment\", \"experiment\", \"learning_policy\", \"deployment\"]);\nexport const TrainingResourceLinkSchema = z.object({\n kind: TrainingResourceKindSchema, resourceId: Id, release: ImmutableReleaseRefSchema.nullable(),\n role: z.enum([\"training\", \"validation\", \"holdout\", \"target\", \"reward\", \"evaluation\", \"serving\", \"source\"]),\n}).strict();\nexport const TrainingTargetSchema = z.discriminatedUnion(\"kind\", [\n z.object({ kind: z.literal(\"model\"), providerId: Id, modelId: Id, artifact: ImmutableReleaseRefSchema.nullable(),\n messages: z.array(z.object({ role: z.enum([\"system\", \"user\", \"assistant\"]), content: z.string().max(100_000) }).strict()).max(100) }).strict(),\n z.object({ kind: z.literal(\"harness\"), profileRepositoryId: Id, source: ProfileEvaluationRunSourceSchema }).strict(),\n z.object({ kind: z.literal(\"agent\"), source: StandaloneHarnessExperimentSourceSchema }).strict(),\n z.object({ kind: z.literal(\"suite\"), profileRepositoryId: Id, suiteId: Id, sources: z.array(ProfileEvaluationRunSourceSchema).min(1).max(1_000) }).strict().superRefine((value, ctx) => {\n const first = value.sources[0]!;\n const identities = new Set<string>();\n for (const [index, source] of value.sources.entries()) {\n if (identities.has(source.definitionId)) ctx.addIssue({ code: \"custom\", path: [\"sources\", index], message: \"Suite definitions must be unique.\" });\n identities.add(source.definitionId);\n if (source.profileId !== first.profileId || source.sourceRevision !== first.sourceRevision || source.catalogHash !== first.catalogHash || contentHash(source.harnessRelease) !== contentHash(first.harnessRelease))\n ctx.addIssue({ code: \"custom\", path: [\"sources\", index], message: \"Suite checks must belong to the same pinned Profile source and Harness release.\" });\n }\n }),\n]);\nexport const TrainingProjectContentSchema = z.object({\n name: z.string().trim().min(1).max(200), description: z.string().max(10_000),\n targets: z.array(z.object({ id: Id, name: z.string().trim().min(1).max(200), target: TrainingTargetSchema }).strict()).max(100),\n defaultTargetId: Id.nullable(), resources: z.array(TrainingResourceLinkSchema).max(1_000),\n}).strict().superRefine((value, ctx) => {\n if (new Set(value.targets.map(t => t.id)).size !== value.targets.length) ctx.addIssue({ code: \"custom\", path: [\"targets\"], message: \"Target identities must be unique.\" });\n if (value.defaultTargetId && !value.targets.some(t => t.id === value.defaultTargetId)) ctx.addIssue({ code: \"custom\", path: [\"defaultTargetId\"], message: \"Default target must belong to this Project.\" });\n if (new Set(value.resources.map(r => contentHash(r))).size !== value.resources.length) ctx.addIssue({ code: \"custom\", path: [\"resources\"], message: \"Resource links must be unique.\" });\n});\nexport const TrainingProjectSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingProject.v1\"), id: Id, teamId: Id, creatorUserId: Id,\n ownerScope: z.enum([\"workspace\", \"personal\"]).optional(),\n revision: Revision, content: TrainingProjectContentSchema, archived: z.boolean(),\n createdAt: z.string().datetime(), updatedAt: z.string().datetime(),\n}).strict();\nexport const TrainingProjectWriteSchema = z.object({\n operationId: Id, id: Id, expectedRevision: z.number().int().nonnegative(), content: TrainingProjectContentSchema,\n ownerScope: z.enum([\"workspace\", \"personal\"]).optional(),\n}).strict();\nexport const TrainingProjectArchiveSchema = z.object({ operationId: Id, expectedRevision: Revision, archived: z.boolean() }).strict();\nexport const TrainingProjectListSchema = z.object({ teamId: Id, projects: z.array(TrainingProjectSchema).max(100), nextCursor: Id.nullable() }).strict();\nexport const TrainingOperationReadinessSchema = z.object({\n operation: z.enum([\"evaluate\", \"train\", \"enable_learning\", \"accept_candidate\", \"serve\"]),\n support: z.enum([\"supported\", \"unsupported\"]), state: z.enum([\"ready\", \"needs_setup\", \"blocked\"]),\n reasons: z.array(z.object({ code: Id, message: z.string().min(1).max(2_000), field: z.string().nullable(),\n action: z.enum([\"choose_target\", \"choose_data\", \"choose_evaluator\", \"configure_runtime\", \"request_access\", \"configure_budget\", \"wait\", \"review_evidence\"]).nullable() }).strict()).max(100),\n}).strict().superRefine((value, ctx) => {\n if (value.state === \"ready\" && (value.support !== \"supported\" || value.reasons.length)) ctx.addIssue({ code: \"custom\", message: \"Ready operations must be supported with no blockers.\" });\n if (value.state !== \"ready\" && !value.reasons.length) ctx.addIssue({ code: \"custom\", message: \"Unavailable operations must explain the next step.\" });\n});\nexport type TrainingProject = z.infer<typeof TrainingProjectSchema>;\nexport type TrainingProjectContent = z.infer<typeof TrainingProjectContentSchema>;\nexport type TrainingProjectWrite = z.infer<typeof TrainingProjectWriteSchema>;\nexport type TrainingResourceLink = z.infer<typeof TrainingResourceLinkSchema>;\nexport type TrainingTarget = z.infer<typeof TrainingTargetSchema>;\n","import { contentHash } from \"@openpond/harness\";\nimport { TrainingProjectSchema, TrainingProjectWriteSchema, TrainingProjectArchiveSchema, TrainingProjectListSchema, type TrainingProjectWrite } from \"./training-project-contracts.js\";\n\nexport class OpenPondTrainingProjectClient {\n private readonly baseUrl: string;\n constructor(private readonly options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof fetch }) {\n const url = new URL(options.baseUrl);\n if (![\"http:\", \"https:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim()) throw new Error(\"A clean API origin and workspace credentials are required.\");\n this.baseUrl = url.toString().replace(/\\/+$/, \"\");\n }\n async list(options: { cursor?: string; signal?: AbortSignal } = {}) {\n const result = TrainingProjectListSchema.parse(await this.request(`?${new URLSearchParams(options.cursor ? { cursor: options.cursor } : {})}`, \"GET\", undefined, options.signal));\n if (result.teamId !== this.options.teamId || result.projects.some(p => p.teamId !== this.options.teamId)) throw new Error(\"Project list workspace mismatch.\");\n return result;\n }\n async get(id: string, signal?: AbortSignal) { return this.readback(await this.request(`/${encodeURIComponent(id)}`, \"GET\", undefined, signal), id); }\n async save(input: TrainingProjectWrite, signal?: AbortSignal) {\n const request = TrainingProjectWriteSchema.parse(input);\n const result = this.readback(await this.request(`/${encodeURIComponent(request.id)}`, \"PUT\", request, signal), request.id);\n if (result.revision !== request.expectedRevision + 1 || contentHash(result.content) !== contentHash(request.content)) throw new Error(\"Project write revision mismatch.\");\n if (request.ownerScope && result.ownerScope !== request.ownerScope) throw new Error(\"Project owner scope mismatch.\");\n return result;\n }\n async archive(id: string, input: { operationId: string; expectedRevision: number; archived: boolean }, signal?: AbortSignal) {\n const request = TrainingProjectArchiveSchema.parse(input);\n const result = this.readback(await this.request(`/${encodeURIComponent(id)}/archive`, \"POST\", request, signal), id);\n if (result.revision !== request.expectedRevision + 1 || result.archived !== request.archived) throw new Error(\"Project archive receipt mismatch.\");\n return result;\n }\n private readback(value: unknown, id: string) {\n const result = TrainingProjectSchema.parse(value);\n if (result.id !== id || result.teamId !== this.options.teamId) throw new Error(\"Project identity mismatch.\");\n return result;\n }\n private async request(path: string, method: string, body?: unknown, signal?: AbortSignal): Promise<unknown> {\n const response = await (this.options.fetch ?? fetch)(`${this.baseUrl}/v1/training-projects${path}`, {\n method, signal, redirect: \"error\", headers: { Authorization: `Bearer ${this.options.apiKey}`, \"X-OpenPond-Team-Id\": this.options.teamId, \"Content-Type\": \"application/json\" },\n ...(body === undefined ? {} : { body: JSON.stringify(body) }),\n });\n if (!response.ok) throw new Error(`Project request failed (${response.status}).`);\n return response.json();\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/training-project-contracts.ts","../src/training-project-client.ts"],"sourcesContent":["import { ProfileEvaluationRunSourceSchema } from \"@openpond/evals\";\nimport { StandaloneHarnessExperimentSourceSchema } from \"@openpond/evals/experiments\";\nimport { z } from \"zod\";\nimport { ImmutableReleaseRefSchema, contentHash } from \"@openpond/harness\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst Revision = z.number().int().positive();\nexport const TrainingResourceKindSchema = z.enum([\"dataset\", \"evaluator\", \"model\", \"training_configuration\", \"training_run\", \"harness\", \"environment\", \"experiment\", \"learning_policy\", \"deployment\"]);\nexport const TrainingResourceLinkSchema = z.object({\n kind: TrainingResourceKindSchema, resourceId: Id, release: ImmutableReleaseRefSchema.nullable(),\n role: z.enum([\"training\", \"validation\", \"holdout\", \"target\", \"reward\", \"evaluation\", \"serving\", \"source\"]),\n}).strict();\nexport const TrainingTargetSchema = z.discriminatedUnion(\"kind\", [\n z.object({ kind: z.literal(\"model\"), providerId: Id, modelId: Id, artifact: ImmutableReleaseRefSchema.nullable(),\n messages: z.array(z.object({ role: z.enum([\"system\", \"user\", \"assistant\"]), content: z.string().max(100_000) }).strict()).max(100) }).strict(),\n z.object({ kind: z.literal(\"harness\"), profileRepositoryId: Id, source: ProfileEvaluationRunSourceSchema }).strict(),\n z.object({ kind: z.literal(\"agent\"), source: StandaloneHarnessExperimentSourceSchema }).strict(),\n z.object({ kind: z.literal(\"suite\"), profileRepositoryId: Id, suiteId: Id, sources: z.array(ProfileEvaluationRunSourceSchema).min(1).max(1_000) }).strict().superRefine((value, ctx) => {\n const first = value.sources[0]!;\n const identities = new Set<string>();\n for (const [index, source] of value.sources.entries()) {\n if (identities.has(source.definitionId)) ctx.addIssue({ code: \"custom\", path: [\"sources\", index], message: \"Suite definitions must be unique.\" });\n identities.add(source.definitionId);\n if (source.profileId !== first.profileId || source.sourceRevision !== first.sourceRevision || source.catalogHash !== first.catalogHash || contentHash(source.harnessRelease) !== contentHash(first.harnessRelease))\n ctx.addIssue({ code: \"custom\", path: [\"sources\", index], message: \"Suite checks must belong to the same pinned Profile source and Harness release.\" });\n }\n }),\n]);\nexport const TrainingProjectContentSchema = z.object({\n name: z.string().trim().min(1).max(200), description: z.string().max(10_000),\n targets: z.array(z.object({ id: Id, name: z.string().trim().min(1).max(200), target: TrainingTargetSchema }).strict()).max(100),\n defaultTargetId: Id.nullable(), resources: z.array(TrainingResourceLinkSchema).max(1_000),\n}).strict().superRefine((value, ctx) => {\n if (new Set(value.targets.map(t => t.id)).size !== value.targets.length) ctx.addIssue({ code: \"custom\", path: [\"targets\"], message: \"Target identities must be unique.\" });\n if (value.defaultTargetId && !value.targets.some(t => t.id === value.defaultTargetId)) ctx.addIssue({ code: \"custom\", path: [\"defaultTargetId\"], message: \"Default target must belong to this Project.\" });\n if (new Set(value.resources.map(r => contentHash(r))).size !== value.resources.length) ctx.addIssue({ code: \"custom\", path: [\"resources\"], message: \"Resource links must be unique.\" });\n});\nexport const TrainingProjectSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingProject.v1\"), id: Id, teamId: Id, creatorUserId: Id,\n ownerScope: z.enum([\"workspace\", \"personal\"]).optional(),\n revision: Revision, content: TrainingProjectContentSchema, archived: z.boolean(),\n createdAt: z.string().datetime(), updatedAt: z.string().datetime(),\n}).strict();\nexport const TrainingProjectWriteSchema = z.object({\n operationId: Id, id: Id, expectedRevision: z.number().int().nonnegative(), content: TrainingProjectContentSchema,\n ownerScope: z.enum([\"workspace\", \"personal\"]).optional(),\n}).strict();\nexport const TrainingProjectArchiveSchema = z.object({ operationId: Id, expectedRevision: Revision, archived: z.boolean() }).strict();\nexport const TrainingProjectListSchema = z.object({ teamId: Id, projects: z.array(TrainingProjectSchema).max(100), nextCursor: Id.nullable() }).strict();\nexport const TrainingOperationReadinessSchema = z.object({\n operation: z.enum([\"evaluate\", \"train\", \"enable_learning\", \"accept_candidate\", \"serve\"]),\n support: z.enum([\"supported\", \"unsupported\"]), state: z.enum([\"ready\", \"needs_setup\", \"blocked\"]),\n reasons: z.array(z.object({ code: Id, message: z.string().min(1).max(2_000), field: z.string().nullable(),\n action: z.enum([\"choose_target\", \"choose_data\", \"choose_evaluator\", \"configure_runtime\", \"request_access\", \"configure_budget\", \"wait\", \"review_evidence\"]).nullable() }).strict()).max(100),\n}).strict().superRefine((value, ctx) => {\n if (value.state === \"ready\" && (value.support !== \"supported\" || value.reasons.length)) ctx.addIssue({ code: \"custom\", message: \"Ready operations must be supported with no blockers.\" });\n if (value.state !== \"ready\" && !value.reasons.length) ctx.addIssue({ code: \"custom\", message: \"Unavailable operations must explain the next step.\" });\n});\nexport type TrainingProject = z.infer<typeof TrainingProjectSchema>;\nexport type TrainingProjectContent = z.infer<typeof TrainingProjectContentSchema>;\nexport type TrainingProjectWrite = z.infer<typeof TrainingProjectWriteSchema>;\nexport type TrainingResourceLink = z.infer<typeof TrainingResourceLinkSchema>;\nexport type TrainingTarget = z.infer<typeof TrainingTargetSchema>;\n","import { DEFAULT_API_BASE_URL } from \"./endpoints.js\";\nimport { contentHash } from \"@openpond/harness\";\nimport { TrainingProjectSchema, TrainingProjectWriteSchema, TrainingProjectArchiveSchema, TrainingProjectListSchema, type TrainingProjectWrite } from \"./training-project-contracts.js\";\n\nexport class OpenPondTrainingProjectClient {\n private readonly baseUrl: string;\n constructor(private readonly options: { baseUrl?: string; apiKey: 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()) throw new Error(\"A clean API origin and workspace credentials are required.\");\n this.baseUrl = url.toString().replace(/\\/+$/, \"\");\n }\n async list(options: { cursor?: string; signal?: AbortSignal } = {}) {\n const result = TrainingProjectListSchema.parse(await this.request(`?${new URLSearchParams(options.cursor ? { cursor: options.cursor } : {})}`, \"GET\", undefined, options.signal));\n if (result.teamId !== this.options.teamId || result.projects.some(p => p.teamId !== this.options.teamId)) throw new Error(\"Project list workspace mismatch.\");\n return result;\n }\n async get(id: string, signal?: AbortSignal) { return this.readback(await this.request(`/${encodeURIComponent(id)}`, \"GET\", undefined, signal), id); }\n async save(input: TrainingProjectWrite, signal?: AbortSignal) {\n const request = TrainingProjectWriteSchema.parse(input);\n const result = this.readback(await this.request(`/${encodeURIComponent(request.id)}`, \"PUT\", request, signal), request.id);\n if (result.revision !== request.expectedRevision + 1 || contentHash(result.content) !== contentHash(request.content)) throw new Error(\"Project write revision mismatch.\");\n if (request.ownerScope && result.ownerScope !== request.ownerScope) throw new Error(\"Project owner scope mismatch.\");\n return result;\n }\n async archive(id: string, input: { operationId: string; expectedRevision: number; archived: boolean }, signal?: AbortSignal) {\n const request = TrainingProjectArchiveSchema.parse(input);\n const result = this.readback(await this.request(`/${encodeURIComponent(id)}/archive`, \"POST\", request, signal), id);\n if (result.revision !== request.expectedRevision + 1 || result.archived !== request.archived) throw new Error(\"Project archive receipt mismatch.\");\n return result;\n }\n private readback(value: unknown, id: string) {\n const result = TrainingProjectSchema.parse(value);\n if (result.id !== id || result.teamId !== this.options.teamId) throw new Error(\"Project identity mismatch.\");\n return result;\n }\n private async request(path: string, method: string, body?: unknown, signal?: AbortSignal): Promise<unknown> {\n const response = await (this.options.fetch ?? fetch)(`${this.baseUrl}/v1/training-projects${path}`, {\n method, signal, redirect: \"error\", headers: { Authorization: `Bearer ${this.options.apiKey}`, \"X-OpenPond-Team-Id\": this.options.teamId, \"Content-Type\": \"application/json\" },\n ...(body === undefined ? {} : { body: JSON.stringify(body) }),\n });\n if (!response.ok) throw new Error(`Project request failed (${response.status}).`);\n return response.json();\n }\n}\n"],"mappings":"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","names":[]}
|