openpond-sdk 0.5.20 → 0.5.21

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 CHANGED
@@ -267,3 +267,24 @@ publication lifecycle. It must not add example tasks or a judge rubric.
267
267
  `compileModelTasksetDraftWorkspace` accepts `preparation: null` only when the
268
268
  owned draft has no source preparation. Compilation pins the saved timestamp so
269
269
  validation and publication produce the same package hash.
270
+
271
+ ## Individual task inventory
272
+
273
+ `openpond-sdk/taskset-drafts` exports `TaskInventoryQuerySchema`,
274
+ `TaskInventoryItemSchema`, `TaskInventoryPageSchema`, and the corresponding
275
+ types. The inventory presents individual tasks; collections remain revisioned
276
+ authoring and filtering boundaries. Public descriptions and scoring summaries
277
+ are separate from private detail readbacks.
278
+
279
+ The local runtime exposes `GET /v1/training/tasks` and
280
+ `GET /v1/training/tasks/detail`, scoped by `profileId` and optional `projectId`.
281
+ Use `tasksetId`, `taskId`, `draftId`, `split`, and `query` to narrow a view. Pages
282
+ contain at most 100 rows. Pass `nextCursor` back as `after`; a cursor is rejected
283
+ when its filters, Profile, Model, or indexed source versions change. A detail
284
+ request requires `tasksetId` and `taskId`; include `draftId` for draft tasks.
285
+
286
+ Local indexes are rebuilt from saved source bytes per content hash, including
287
+ Parquet collections through the dataset reader. Search never examines private
288
+ answers. Draft edits invalidate the index, and a published release remains
289
+ separate from its draft. No task listing, editing, or labeling operation starts
290
+ a training job.
@@ -366,6 +366,51 @@ var OpenPondTasksetDraftClient = class {
366
366
  return value;
367
367
  }
368
368
  };
369
+
370
+ // src/task-inventory.ts
371
+ import { z as z3 } from "zod";
372
+ var Id = z3.string().trim().min(1).max(500);
373
+ var TaskInventoryQuerySchema = z3.object({
374
+ projectId: Id.optional(),
375
+ tasksetId: Id.optional(),
376
+ draftId: Id.optional(),
377
+ taskId: Id.optional(),
378
+ query: z3.string().trim().max(1e3).default(""),
379
+ split: z3.enum(["train", "validation", "test", "frozen_eval"]).optional(),
380
+ after: z3.string().min(1).max(2e3).optional(),
381
+ limit: z3.number().int().min(1).max(100).default(30)
382
+ }).strict();
383
+ var TaskScoringSummarySchema = z3.object({ id: Id, method: z3.enum(["code", "judge", "human"]), required: z3.boolean() });
384
+ var TaskInventoryItemSchema = z3.object({
385
+ tasksetId: Id,
386
+ tasksetName: z3.string(),
387
+ tasksetRevision: z3.number().int().positive(),
388
+ tasksetHash: z3.string(),
389
+ taskId: Id,
390
+ ordinal: z3.number().int().nonnegative(),
391
+ title: z3.string(),
392
+ description: z3.string(),
393
+ split: z3.string(),
394
+ scoring: z3.array(TaskScoringSummarySchema),
395
+ configuration: z3.enum(["configured", "needs_reward", "needs_checks"]),
396
+ draftId: Id.nullable().default(null),
397
+ modelId: Id.nullable().default(null)
398
+ });
399
+ var TaskInventoryPageSchema = z3.object({ items: z3.array(TaskInventoryItemSchema).max(100), nextCursor: z3.string().nullable() });
400
+ function describeTaskInput(input, id) {
401
+ const text = [input.instruction, input.prompt, input.request, input.question, input.message].find((value) => typeof value === "string" && value.trim().length > 0);
402
+ const explicitTitle = typeof input.title === "string" ? input.title.trim() : "";
403
+ const description = text?.trim() ?? "";
404
+ return { title: (explicitTitle || description || id).slice(0, 180), description: description.slice(0, 2e3) };
405
+ }
406
+ function summarizeTaskScoring(graders) {
407
+ return graders.map((grader) => ({ id: grader.id, method: grader.kind === "model_judge" ? "judge" : grader.kind === "human" ? "human" : "code", required: grader.hardGate }));
408
+ }
409
+ function taskConfiguration(graders) {
410
+ if (!graders.some((grader) => grader.kind !== "human")) return "needs_reward";
411
+ if (graders.some((grader) => grader.kind === "model_judge" && grader.calibrationStatus !== "passed")) return "needs_checks";
412
+ return "configured";
413
+ }
369
414
  export {
370
415
  AuthoringProvenanceSchema,
371
416
  AuthoringRepairSchema,
@@ -415,8 +460,12 @@ export {
415
460
  TaskAssetRefSchema,
416
461
  TaskDataDraftSchema,
417
462
  TaskDataRecordSchema,
463
+ TaskInventoryItemSchema,
464
+ TaskInventoryPageSchema,
465
+ TaskInventoryQuerySchema,
418
466
  TaskPolicyBoundarySchema,
419
467
  TaskRequiredOutputSchema,
468
+ TaskScoringSummarySchema,
420
469
  TasksetBenchmarkBindingSchema,
421
470
  TasksetCapabilityManifestSchema,
422
471
  TasksetDraftCreateRequestSchema,
@@ -464,6 +513,7 @@ export {
464
513
  createTasksetDraftWorkspace,
465
514
  decodeTasksetDraftFileContent,
466
515
  decodeTasksetDraftWorkspaceFile,
516
+ describeTaskInput,
467
517
  draftPublishIssues,
468
518
  isManagedTasksetDraftFilePath,
469
519
  isTrainingSourceRef,
@@ -474,6 +524,8 @@ export {
474
524
  renderTasksetDraftManifests,
475
525
  saveTasksetDraftWorkspaceDocument,
476
526
  saveTasksetDraftWorkspaceFile,
527
+ summarizeTaskScoring,
528
+ taskConfiguration,
477
529
  tasksetDraftFromTaskset,
478
530
  validatePortability,
479
531
  validateTaskset,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/taskset-drafts.ts", "../src/taskset-draft-api-contracts.ts", "../src/taskset-draft-client.ts"],
4
- "sourcesContent": ["export * from \"./taskset-draft-dataset-artifacts.js\";\nexport * from \"./taskset-draft-dataset-sources.js\";\nexport * from \"./taskset-draft-harness-actions.js\";\nexport * from \"./taskset-draft-core.js\";\nexport * from \"./taskset-draft-document.js\";\nexport { TasksetMetricPolicySchema, type TasksetMetricPolicy } from \"@openpond/evals/metrics\";\nexport * from \"./taskset-draft-authoring.js\";\nexport * from \"./taskset-draft-files.js\";\nexport * from \"./taskset-draft-workspace.js\";\nexport * from \"./taskset-authored-contracts.js\";\nexport * from \"./taskset-authored-validation.js\";\nexport * from \"./taskset-draft-publication.js\";\nexport * from \"./taskset-draft-manifests.js\";\nexport * from \"./taskset-draft-api-contracts.js\";\nexport { OpenPondTasksetDraftClient, OpenPondTasksetDraftError } from \"./taskset-draft-client.js\";\n", "import { z } from \"zod\";\nimport { LearningRevisionRefSchema } from \"@openpond/evals/learning\";\nimport { TasksetDraftSchema, TasksetDraftStatusSchema } from \"./taskset-draft-document.js\";\nimport { TasksetDraftFileSchema, TasksetDraftFileInfoSchema } from \"./model-taskset-authoring-contracts.js\";\n\nconst IdSchema = TasksetDraftSchema.shape.id;\nconst RevisionSchema = z.number().int().positive();\nconst HashSchema = z.string().regex(/^[a-f0-9]{64}$/);\nconst scope = { teamId: IdSchema, modelId: IdSchema };\n\nexport const TasksetDraftCreateRequestSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftCreate.v1\"),\n operationId: IdSchema, modelId: IdSchema, expectedModelRevision: RevisionSchema,\n name: TasksetDraftSchema.shape.name,\n}).strict();\nexport type TasksetDraftCreateRequest = z.infer<typeof TasksetDraftCreateRequestSchema>;\n\nexport const TasksetDraftSourceDescriptorSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftSourceDescriptor.v1\"), ...scope,\n expectedModelRevision: RevisionSchema, sourcePackageHash: HashSchema,\n}).strict();\nexport const TasksetDraftReadbackSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftReadback.v1\"), ...scope,\n draft: TasksetDraftSchema, workspaceHash: HashSchema, projectEtag: HashSchema,\n}).strict().refine(value => value.draft.profileId === value.teamId && value.draft.modelScope?.modelId === value.modelId,\n \"The hosted draft must belong to its declared workspace and Model.\");\nexport const TasksetDraftSummarySchema = z.object({\n id: IdSchema, revision: RevisionSchema, name: TasksetDraftSchema.shape.name,\n status: TasksetDraftStatusSchema, updatedAt: TasksetDraftSchema.shape.updatedAt,\n sourceTasksetRef: LearningRevisionRefSchema.nullable(),\n}).strict();\nexport const TasksetDraftListSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftList.v1\"), ...scope,\n drafts: z.array(TasksetDraftSummarySchema).max(100), nextCursor: z.string().min(1).max(2_000).nullable(),\n}).strict();\nexport const TasksetDraftSaveRequestSchema = z.object({ expectedDraftRevision: RevisionSchema, draft: TasksetDraftSchema }).strict();\nexport const TasksetDraftRefreshRequestSchema = z.object({ expectedDraftRevision: RevisionSchema, expectedModelRevision: RevisionSchema }).strict();\nexport const TasksetDraftValidationRequestSchema = z.object({ expectedDraftRevision: RevisionSchema, expectedWorkspaceHash: HashSchema }).strict();\nexport const TasksetDraftValidationSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftValidation.v1\"), ...scope,\n draftId: IdSchema, draftRevision: RevisionSchema, workspaceHash: HashSchema,\n valid: z.boolean(), issues: z.array(z.object({ code: z.string().min(1), severity: z.enum([\"warning\", \"error\"]), message: z.string(), path: z.string().nullable() }).strict()),\n packageHash: HashSchema.nullable(), tasksetRef: LearningRevisionRefSchema.nullable(),\n}).strict().refine(value => value.valid\n ? value.packageHash !== null && value.tasksetRef !== null && value.issues.every(issue => issue.severity !== \"error\")\n : value.packageHash === null && value.tasksetRef === null && value.issues.some(issue => issue.severity === \"error\"), \"Validation must retain either a compiled package or publication errors.\");\nexport const TasksetDraftPublicationRequestSchema = TasksetDraftValidationRequestSchema.extend({\n operationId: IdSchema, expectedPackageHash: HashSchema, expectedTasksetRef: LearningRevisionRefSchema,\n}).strict();\nexport const TasksetDraftFileListSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftFileList.v1\"), ...scope,\n draftId: IdSchema, draftRevision: RevisionSchema, files: z.array(TasksetDraftFileInfoSchema).max(10_020),\n}).strict();\nexport const TasksetDraftFileReadbackSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftFileReadback.v1\"), ...scope,\n draftId: IdSchema, draftRevision: RevisionSchema, file: TasksetDraftFileSchema,\n}).strict();\nexport const TasksetDraftDeletionSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftDeletion.v1\"), ...scope,\n draftId: IdSchema, revision: RevisionSchema, deleted: z.literal(true),\n}).strict();\n\nexport type TasksetDraftSourceDescriptor = z.infer<typeof TasksetDraftSourceDescriptorSchema>;\nexport type TasksetDraftReadback = z.infer<typeof TasksetDraftReadbackSchema>;\nexport type TasksetDraftList = z.infer<typeof TasksetDraftListSchema>;\nexport type TasksetDraftSaveRequest = z.infer<typeof TasksetDraftSaveRequestSchema>;\nexport type TasksetDraftRefreshRequest = z.infer<typeof TasksetDraftRefreshRequestSchema>;\nexport type TasksetDraftValidationRequest = z.infer<typeof TasksetDraftValidationRequestSchema>;\nexport type TasksetDraftValidation = z.infer<typeof TasksetDraftValidationSchema>;\nexport type TasksetDraftPublicationRequest = z.infer<typeof TasksetDraftPublicationRequestSchema>;\nexport type TasksetDraftFileList = z.infer<typeof TasksetDraftFileListSchema>;\nexport type TasksetDraftFileReadback = z.infer<typeof TasksetDraftFileReadbackSchema>;\nexport type TasksetDraftDeletion = z.infer<typeof TasksetDraftDeletionSchema>;\n", "import { z } from \"zod\";\nimport { contentHash, sha256 } from \"@openpond/harness\";\nimport { sameLearningRef } from \"@openpond/evals/learning\";\nimport { ModelTasksetDraftRequestSchema, TasksetDraftFileMutationSchema, TasksetDraftFilePathSchema, type ModelTasksetDraftRequest, type TasksetDraftFileMutation } from \"./model-taskset-authoring-contracts.js\";\nimport { TasksetDraftSchema } from \"./taskset-draft-document.js\";\nimport { decodeTasksetDraftFileContent } from \"./taskset-draft-files.js\";\nimport { MAX_TASKSET_DRAFT_WORKSPACE_BYTES } from \"./taskset-draft-workspace.js\";\nimport { TasksetPackageReceiptSchema } from \"./taskset-package-client.js\";\nimport { TasksetDraftCreateRequestSchema, type TasksetDraftCreateRequest, TasksetDraftSourceDescriptorSchema, TasksetDraftReadbackSchema, TasksetDraftListSchema, TasksetDraftSaveRequestSchema, TasksetDraftRefreshRequestSchema,\n TasksetDraftValidationRequestSchema, TasksetDraftValidationSchema, TasksetDraftPublicationRequestSchema, TasksetDraftFileListSchema, TasksetDraftFileReadbackSchema, TasksetDraftDeletionSchema,\n type TasksetDraftSaveRequest, type TasksetDraftRefreshRequest, type TasksetDraftValidationRequest, type TasksetDraftPublicationRequest } from \"./taskset-draft-api-contracts.js\";\n\ntype Options = { signal?: AbortSignal };\nconst IdSchema = TasksetDraftSchema.shape.id;\nconst RevisionSchema = z.number().int().positive();\n\nexport class OpenPondTasksetDraftError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) { super(message); this.name = \"OpenPondTasksetDraftError\"; }\n}\n\n/** Scoped mutable drafts use explicit CAS and never retry writes automatically. */\nexport class OpenPondTasksetDraftClient {\n readonly #options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof globalThis.fetch };\n constructor(options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof globalThis.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(\"Taskset draft client requires a clean HTTP(S) endpoint and workspace credentials.\");\n this.#options = { ...options, baseUrl: url.toString().replace(/\\/+$/, \"\") };\n }\n\n async inspectSource(modelId: string, expectedModelRevision: number, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const revision = RevisionSchema.parse(expectedModelRevision);\n const response = this.#scope(TasksetDraftSourceDescriptorSchema.parse(await this.#request(model, `/source?expectedModelRevision=${revision}`, \"GET\", undefined, options.signal)), model);\n if (response.expectedModelRevision !== revision) this.#mismatch();\n return response;\n }\n\n async initialize(input: ModelTasksetDraftRequest, options: Options = {}) {\n const request = ModelTasksetDraftRequestSchema.parse(input);\n const response = this.#draft(await this.#request(request.modelId, \"\", \"POST\", request, options.signal), request.modelId);\n const source = response.draft.modelScope?.source;\n if (!source || source.requestHash !== contentHash(request) || source.sourcePackageHash !== request.sourcePackageHash || source.draftId !== response.draft.id\n || source.lineage.owner.scopeId !== this.#options.teamId || source.lineage.owner.modelId !== request.modelId) this.#mismatch();\n return response;\n }\n\n async create(input: TasksetDraftCreateRequest, options: Options = {}) {\n const request = TasksetDraftCreateRequestSchema.parse(input);\n const response = this.#draft(await this.#request(request.modelId, \"\", \"POST\", request, options.signal), request.modelId);\n const expectedId = `model-taskset-draft-${contentHash({ owner: { scopeId: this.#options.teamId, modelId: request.modelId }, operationId: request.operationId })}`;\n if (response.draft.id !== expectedId || response.draft.modelScope?.source !== undefined) this.#mismatch();\n return response;\n }\n\n async list(modelId: string, options: Options & { limit?: number; cursor?: string } = {}) {\n const model = IdSchema.parse(modelId);\n const query = new URLSearchParams();\n if (options.limit !== undefined) query.set(\"limit\", String(z.number().int().min(1).max(100).parse(options.limit)));\n if (options.cursor !== undefined) query.set(\"cursor\", z.string().min(1).max(2_000).parse(options.cursor));\n return this.#scope(TasksetDraftListSchema.parse(await this.#request(model, query.size ? `?${query}` : \"\", \"GET\", undefined, options.signal)), model);\n }\n\n async get(modelId: string, draftId: string, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const id = IdSchema.parse(draftId);\n return this.#draft(await this.#request(model, `/${encodeURIComponent(id)}`, \"GET\", undefined, options.signal), model, id);\n }\n\n async save(modelId: string, input: TasksetDraftSaveRequest, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const request = TasksetDraftSaveRequestSchema.parse(input);\n return this.#draft(await this.#request(model, `/${encodeURIComponent(request.draft.id)}`, \"PUT\", request, options.signal), model, request.draft.id, request.expectedDraftRevision + 1);\n }\n\n async refreshModel(modelId: string, draftId: string, input: TasksetDraftRefreshRequest, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const id = IdSchema.parse(draftId);\n const request = TasksetDraftRefreshRequestSchema.parse(input);\n const response = this.#draft(await this.#request(model, `/${encodeURIComponent(id)}/refresh-model`, \"POST\", request, options.signal), model, id, request.expectedDraftRevision + 1);\n if (response.draft.modelScope?.expectedModelRevision !== request.expectedModelRevision) this.#mismatch();\n return response;\n }\n\n async files(modelId: string, draftId: string, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const id = IdSchema.parse(draftId);\n const response = this.#scope(TasksetDraftFileListSchema.parse(await this.#request(model, `/${encodeURIComponent(id)}/files`, \"GET\", undefined, options.signal)), model);\n if (response.draftId !== id) this.#mismatch();\n return response;\n }\n\n async readFile(modelId: string, draftId: string, path: string, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const id = IdSchema.parse(draftId);\n const relative = TasksetDraftFilePathSchema.parse(path);\n const response = this.#scope(TasksetDraftFileReadbackSchema.parse(await this.#request(model, `/${encodeURIComponent(id)}/file?path=${encodeURIComponent(relative)}`, \"GET\", undefined, options.signal)), model);\n if (response.draftId !== id || response.file.path !== relative) this.#mismatch();\n const bytes = decodeTasksetDraftFileContent(response.file.content);\n if (bytes.byteLength !== response.file.sizeBytes || sha256(bytes) !== response.file.contentHash) this.#mismatch();\n return response;\n }\n\n async saveFile(modelId: string, input: TasksetDraftFileMutation, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const request = TasksetDraftFileMutationSchema.parse(input);\n if (request.content) decodeTasksetDraftFileContent(request.content);\n return this.#draft(await this.#request(model, `/${encodeURIComponent(request.draftId)}/file`, \"PUT\", request, options.signal), model, request.draftId, request.expectedDraftRevision + 1);\n }\n\n async validate(modelId: string, draftId: string, input: TasksetDraftValidationRequest, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const id = IdSchema.parse(draftId);\n const request = TasksetDraftValidationRequestSchema.parse(input);\n const response = this.#scope(TasksetDraftValidationSchema.parse(await this.#request(model, `/${encodeURIComponent(id)}/validate`, \"POST\", request, options.signal)), model);\n if (response.draftId !== id || response.draftRevision !== request.expectedDraftRevision || response.workspaceHash !== request.expectedWorkspaceHash) this.#mismatch();\n return response;\n }\n\n async publish(modelId: string, draftId: string, input: TasksetDraftPublicationRequest, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const id = IdSchema.parse(draftId);\n const request = TasksetDraftPublicationRequestSchema.parse(input);\n const response = TasksetPackageReceiptSchema.parse(await this.#request(model, `/${encodeURIComponent(id)}/publish`, \"POST\", request, options.signal));\n if (response.teamId !== this.#options.teamId || response.modelProjectId !== model || response.operationId !== request.operationId\n || response.packageHash !== request.expectedPackageHash || !sameLearningRef(response.taskset, request.expectedTasksetRef) || response.selection !== \"select\") this.#mismatch();\n return response;\n }\n\n async delete(modelId: string, draftId: string, expectedDraftRevision: number, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const id = IdSchema.parse(draftId);\n const revision = RevisionSchema.parse(expectedDraftRevision);\n const response = this.#scope(TasksetDraftDeletionSchema.parse(await this.#request(model, `/${encodeURIComponent(id)}?expectedDraftRevision=${revision}`, \"DELETE\", undefined, options.signal)), model);\n if (response.draftId !== id || response.revision !== revision + 1) this.#mismatch();\n return response;\n }\n\n #scope<T extends { teamId: string; modelId: string }>(value: T, modelId: string): T {\n if (value.teamId !== this.#options.teamId || value.modelId !== modelId) this.#mismatch();\n return value;\n }\n #draft(input: unknown, modelId: string, draftId?: string, revision?: number) {\n const value = this.#scope(TasksetDraftReadbackSchema.parse(input), modelId);\n if ((draftId !== undefined && value.draft.id !== draftId) || (revision !== undefined && value.draft.revision !== revision)) this.#mismatch();\n return value;\n }\n #mismatch(): never { throw new OpenPondTasksetDraftError(502, \"draft_response_mismatch\", \"Taskset draft response differs from the requested owner, revision or content.\"); }\n\n async #request(model: string, path: string, method: string, body: unknown, signal?: AbortSignal): Promise<unknown> {\n const serialized = body === undefined ? undefined : JSON.stringify(body);\n if (serialized && new TextEncoder().encode(serialized).byteLength > MAX_TASKSET_DRAFT_WORKSPACE_BYTES) throw new OpenPondTasksetDraftError(413, \"draft_too_large\", \"Taskset draft exceeds the 64 MiB envelope.\");\n const response = await (this.#options.fetch ?? globalThis.fetch)(`${this.#options.baseUrl}/v1/models/${encodeURIComponent(model)}/taskset-drafts${path}`, {\n method, headers: { Authorization: `Bearer ${this.#options.apiKey}`, \"X-OpenPond-Team-Id\": this.#options.teamId, Accept: \"application/json\", ...(serialized ? { \"Content-Type\": \"application/json\" } : {}) },\n body: serialized, signal, redirect: \"error\",\n });\n const reader = response.body?.getReader();\n if (!reader) throw new OpenPondTasksetDraftError(response.status, \"empty_response\", \"Taskset draft response was empty.\");\n let bytes = 0;\n let text = \"\";\n const decoder = new TextDecoder(\"utf-8\", { fatal: true });\n try {\n while (true) {\n const chunk = await reader.read();\n if (chunk.done) break;\n bytes += chunk.value.byteLength;\n if (bytes > MAX_TASKSET_DRAFT_WORKSPACE_BYTES) throw new OpenPondTasksetDraftError(413, \"draft_too_large\", \"Taskset draft response exceeds the 64 MiB envelope.\");\n text += decoder.decode(chunk.value, { stream: true });\n }\n text += decoder.decode();\n } finally { await reader.cancel(); reader.releaseLock(); }\n const value: unknown = JSON.parse(text);\n if (!response.ok) {\n const error = z.object({ code: z.string(), message: z.string() }).safeParse(value);\n throw new OpenPondTasksetDraftError(response.status, error.success ? error.data.code : \"draft_request_failed\", error.success ? error.data.message : `Taskset draft request failed (${response.status}).`);\n }\n return value;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["z", "IdSchema", "RevisionSchema", "z"]
3
+ "sources": ["../src/taskset-drafts.ts", "../src/taskset-draft-api-contracts.ts", "../src/taskset-draft-client.ts", "../src/task-inventory.ts"],
4
+ "sourcesContent": ["export * from \"./taskset-draft-dataset-artifacts.js\";\nexport * from \"./taskset-draft-dataset-sources.js\";\nexport * from \"./taskset-draft-harness-actions.js\";\nexport * from \"./taskset-draft-core.js\";\nexport * from \"./taskset-draft-document.js\";\nexport { TasksetMetricPolicySchema, type TasksetMetricPolicy } from \"@openpond/evals/metrics\";\nexport * from \"./taskset-draft-authoring.js\";\nexport * from \"./taskset-draft-files.js\";\nexport * from \"./taskset-draft-workspace.js\";\nexport * from \"./taskset-authored-contracts.js\";\nexport * from \"./taskset-authored-validation.js\";\nexport * from \"./taskset-draft-publication.js\";\nexport * from \"./taskset-draft-manifests.js\";\nexport * from \"./taskset-draft-api-contracts.js\";\nexport { OpenPondTasksetDraftClient, OpenPondTasksetDraftError } from \"./taskset-draft-client.js\";\nexport * from \"./task-inventory.js\";\n", "import { z } from \"zod\";\nimport { LearningRevisionRefSchema } from \"@openpond/evals/learning\";\nimport { TasksetDraftSchema, TasksetDraftStatusSchema } from \"./taskset-draft-document.js\";\nimport { TasksetDraftFileSchema, TasksetDraftFileInfoSchema } from \"./model-taskset-authoring-contracts.js\";\n\nconst IdSchema = TasksetDraftSchema.shape.id;\nconst RevisionSchema = z.number().int().positive();\nconst HashSchema = z.string().regex(/^[a-f0-9]{64}$/);\nconst scope = { teamId: IdSchema, modelId: IdSchema };\n\nexport const TasksetDraftCreateRequestSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftCreate.v1\"),\n operationId: IdSchema, modelId: IdSchema, expectedModelRevision: RevisionSchema,\n name: TasksetDraftSchema.shape.name,\n}).strict();\nexport type TasksetDraftCreateRequest = z.infer<typeof TasksetDraftCreateRequestSchema>;\n\nexport const TasksetDraftSourceDescriptorSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftSourceDescriptor.v1\"), ...scope,\n expectedModelRevision: RevisionSchema, sourcePackageHash: HashSchema,\n}).strict();\nexport const TasksetDraftReadbackSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftReadback.v1\"), ...scope,\n draft: TasksetDraftSchema, workspaceHash: HashSchema, projectEtag: HashSchema,\n}).strict().refine(value => value.draft.profileId === value.teamId && value.draft.modelScope?.modelId === value.modelId,\n \"The hosted draft must belong to its declared workspace and Model.\");\nexport const TasksetDraftSummarySchema = z.object({\n id: IdSchema, revision: RevisionSchema, name: TasksetDraftSchema.shape.name,\n status: TasksetDraftStatusSchema, updatedAt: TasksetDraftSchema.shape.updatedAt,\n sourceTasksetRef: LearningRevisionRefSchema.nullable(),\n}).strict();\nexport const TasksetDraftListSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftList.v1\"), ...scope,\n drafts: z.array(TasksetDraftSummarySchema).max(100), nextCursor: z.string().min(1).max(2_000).nullable(),\n}).strict();\nexport const TasksetDraftSaveRequestSchema = z.object({ expectedDraftRevision: RevisionSchema, draft: TasksetDraftSchema }).strict();\nexport const TasksetDraftRefreshRequestSchema = z.object({ expectedDraftRevision: RevisionSchema, expectedModelRevision: RevisionSchema }).strict();\nexport const TasksetDraftValidationRequestSchema = z.object({ expectedDraftRevision: RevisionSchema, expectedWorkspaceHash: HashSchema }).strict();\nexport const TasksetDraftValidationSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftValidation.v1\"), ...scope,\n draftId: IdSchema, draftRevision: RevisionSchema, workspaceHash: HashSchema,\n valid: z.boolean(), issues: z.array(z.object({ code: z.string().min(1), severity: z.enum([\"warning\", \"error\"]), message: z.string(), path: z.string().nullable() }).strict()),\n packageHash: HashSchema.nullable(), tasksetRef: LearningRevisionRefSchema.nullable(),\n}).strict().refine(value => value.valid\n ? value.packageHash !== null && value.tasksetRef !== null && value.issues.every(issue => issue.severity !== \"error\")\n : value.packageHash === null && value.tasksetRef === null && value.issues.some(issue => issue.severity === \"error\"), \"Validation must retain either a compiled package or publication errors.\");\nexport const TasksetDraftPublicationRequestSchema = TasksetDraftValidationRequestSchema.extend({\n operationId: IdSchema, expectedPackageHash: HashSchema, expectedTasksetRef: LearningRevisionRefSchema,\n}).strict();\nexport const TasksetDraftFileListSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftFileList.v1\"), ...scope,\n draftId: IdSchema, draftRevision: RevisionSchema, files: z.array(TasksetDraftFileInfoSchema).max(10_020),\n}).strict();\nexport const TasksetDraftFileReadbackSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftFileReadback.v1\"), ...scope,\n draftId: IdSchema, draftRevision: RevisionSchema, file: TasksetDraftFileSchema,\n}).strict();\nexport const TasksetDraftDeletionSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftDeletion.v1\"), ...scope,\n draftId: IdSchema, revision: RevisionSchema, deleted: z.literal(true),\n}).strict();\n\nexport type TasksetDraftSourceDescriptor = z.infer<typeof TasksetDraftSourceDescriptorSchema>;\nexport type TasksetDraftReadback = z.infer<typeof TasksetDraftReadbackSchema>;\nexport type TasksetDraftList = z.infer<typeof TasksetDraftListSchema>;\nexport type TasksetDraftSaveRequest = z.infer<typeof TasksetDraftSaveRequestSchema>;\nexport type TasksetDraftRefreshRequest = z.infer<typeof TasksetDraftRefreshRequestSchema>;\nexport type TasksetDraftValidationRequest = z.infer<typeof TasksetDraftValidationRequestSchema>;\nexport type TasksetDraftValidation = z.infer<typeof TasksetDraftValidationSchema>;\nexport type TasksetDraftPublicationRequest = z.infer<typeof TasksetDraftPublicationRequestSchema>;\nexport type TasksetDraftFileList = z.infer<typeof TasksetDraftFileListSchema>;\nexport type TasksetDraftFileReadback = z.infer<typeof TasksetDraftFileReadbackSchema>;\nexport type TasksetDraftDeletion = z.infer<typeof TasksetDraftDeletionSchema>;\n", "import { z } from \"zod\";\nimport { contentHash, sha256 } from \"@openpond/harness\";\nimport { sameLearningRef } from \"@openpond/evals/learning\";\nimport { ModelTasksetDraftRequestSchema, TasksetDraftFileMutationSchema, TasksetDraftFilePathSchema, type ModelTasksetDraftRequest, type TasksetDraftFileMutation } from \"./model-taskset-authoring-contracts.js\";\nimport { TasksetDraftSchema } from \"./taskset-draft-document.js\";\nimport { decodeTasksetDraftFileContent } from \"./taskset-draft-files.js\";\nimport { MAX_TASKSET_DRAFT_WORKSPACE_BYTES } from \"./taskset-draft-workspace.js\";\nimport { TasksetPackageReceiptSchema } from \"./taskset-package-client.js\";\nimport { TasksetDraftCreateRequestSchema, type TasksetDraftCreateRequest, TasksetDraftSourceDescriptorSchema, TasksetDraftReadbackSchema, TasksetDraftListSchema, TasksetDraftSaveRequestSchema, TasksetDraftRefreshRequestSchema,\n TasksetDraftValidationRequestSchema, TasksetDraftValidationSchema, TasksetDraftPublicationRequestSchema, TasksetDraftFileListSchema, TasksetDraftFileReadbackSchema, TasksetDraftDeletionSchema,\n type TasksetDraftSaveRequest, type TasksetDraftRefreshRequest, type TasksetDraftValidationRequest, type TasksetDraftPublicationRequest } from \"./taskset-draft-api-contracts.js\";\n\ntype Options = { signal?: AbortSignal };\nconst IdSchema = TasksetDraftSchema.shape.id;\nconst RevisionSchema = z.number().int().positive();\n\nexport class OpenPondTasksetDraftError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) { super(message); this.name = \"OpenPondTasksetDraftError\"; }\n}\n\n/** Scoped mutable drafts use explicit CAS and never retry writes automatically. */\nexport class OpenPondTasksetDraftClient {\n readonly #options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof globalThis.fetch };\n constructor(options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof globalThis.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(\"Taskset draft client requires a clean HTTP(S) endpoint and workspace credentials.\");\n this.#options = { ...options, baseUrl: url.toString().replace(/\\/+$/, \"\") };\n }\n\n async inspectSource(modelId: string, expectedModelRevision: number, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const revision = RevisionSchema.parse(expectedModelRevision);\n const response = this.#scope(TasksetDraftSourceDescriptorSchema.parse(await this.#request(model, `/source?expectedModelRevision=${revision}`, \"GET\", undefined, options.signal)), model);\n if (response.expectedModelRevision !== revision) this.#mismatch();\n return response;\n }\n\n async initialize(input: ModelTasksetDraftRequest, options: Options = {}) {\n const request = ModelTasksetDraftRequestSchema.parse(input);\n const response = this.#draft(await this.#request(request.modelId, \"\", \"POST\", request, options.signal), request.modelId);\n const source = response.draft.modelScope?.source;\n if (!source || source.requestHash !== contentHash(request) || source.sourcePackageHash !== request.sourcePackageHash || source.draftId !== response.draft.id\n || source.lineage.owner.scopeId !== this.#options.teamId || source.lineage.owner.modelId !== request.modelId) this.#mismatch();\n return response;\n }\n\n async create(input: TasksetDraftCreateRequest, options: Options = {}) {\n const request = TasksetDraftCreateRequestSchema.parse(input);\n const response = this.#draft(await this.#request(request.modelId, \"\", \"POST\", request, options.signal), request.modelId);\n const expectedId = `model-taskset-draft-${contentHash({ owner: { scopeId: this.#options.teamId, modelId: request.modelId }, operationId: request.operationId })}`;\n if (response.draft.id !== expectedId || response.draft.modelScope?.source !== undefined) this.#mismatch();\n return response;\n }\n\n async list(modelId: string, options: Options & { limit?: number; cursor?: string } = {}) {\n const model = IdSchema.parse(modelId);\n const query = new URLSearchParams();\n if (options.limit !== undefined) query.set(\"limit\", String(z.number().int().min(1).max(100).parse(options.limit)));\n if (options.cursor !== undefined) query.set(\"cursor\", z.string().min(1).max(2_000).parse(options.cursor));\n return this.#scope(TasksetDraftListSchema.parse(await this.#request(model, query.size ? `?${query}` : \"\", \"GET\", undefined, options.signal)), model);\n }\n\n async get(modelId: string, draftId: string, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const id = IdSchema.parse(draftId);\n return this.#draft(await this.#request(model, `/${encodeURIComponent(id)}`, \"GET\", undefined, options.signal), model, id);\n }\n\n async save(modelId: string, input: TasksetDraftSaveRequest, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const request = TasksetDraftSaveRequestSchema.parse(input);\n return this.#draft(await this.#request(model, `/${encodeURIComponent(request.draft.id)}`, \"PUT\", request, options.signal), model, request.draft.id, request.expectedDraftRevision + 1);\n }\n\n async refreshModel(modelId: string, draftId: string, input: TasksetDraftRefreshRequest, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const id = IdSchema.parse(draftId);\n const request = TasksetDraftRefreshRequestSchema.parse(input);\n const response = this.#draft(await this.#request(model, `/${encodeURIComponent(id)}/refresh-model`, \"POST\", request, options.signal), model, id, request.expectedDraftRevision + 1);\n if (response.draft.modelScope?.expectedModelRevision !== request.expectedModelRevision) this.#mismatch();\n return response;\n }\n\n async files(modelId: string, draftId: string, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const id = IdSchema.parse(draftId);\n const response = this.#scope(TasksetDraftFileListSchema.parse(await this.#request(model, `/${encodeURIComponent(id)}/files`, \"GET\", undefined, options.signal)), model);\n if (response.draftId !== id) this.#mismatch();\n return response;\n }\n\n async readFile(modelId: string, draftId: string, path: string, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const id = IdSchema.parse(draftId);\n const relative = TasksetDraftFilePathSchema.parse(path);\n const response = this.#scope(TasksetDraftFileReadbackSchema.parse(await this.#request(model, `/${encodeURIComponent(id)}/file?path=${encodeURIComponent(relative)}`, \"GET\", undefined, options.signal)), model);\n if (response.draftId !== id || response.file.path !== relative) this.#mismatch();\n const bytes = decodeTasksetDraftFileContent(response.file.content);\n if (bytes.byteLength !== response.file.sizeBytes || sha256(bytes) !== response.file.contentHash) this.#mismatch();\n return response;\n }\n\n async saveFile(modelId: string, input: TasksetDraftFileMutation, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const request = TasksetDraftFileMutationSchema.parse(input);\n if (request.content) decodeTasksetDraftFileContent(request.content);\n return this.#draft(await this.#request(model, `/${encodeURIComponent(request.draftId)}/file`, \"PUT\", request, options.signal), model, request.draftId, request.expectedDraftRevision + 1);\n }\n\n async validate(modelId: string, draftId: string, input: TasksetDraftValidationRequest, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const id = IdSchema.parse(draftId);\n const request = TasksetDraftValidationRequestSchema.parse(input);\n const response = this.#scope(TasksetDraftValidationSchema.parse(await this.#request(model, `/${encodeURIComponent(id)}/validate`, \"POST\", request, options.signal)), model);\n if (response.draftId !== id || response.draftRevision !== request.expectedDraftRevision || response.workspaceHash !== request.expectedWorkspaceHash) this.#mismatch();\n return response;\n }\n\n async publish(modelId: string, draftId: string, input: TasksetDraftPublicationRequest, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const id = IdSchema.parse(draftId);\n const request = TasksetDraftPublicationRequestSchema.parse(input);\n const response = TasksetPackageReceiptSchema.parse(await this.#request(model, `/${encodeURIComponent(id)}/publish`, \"POST\", request, options.signal));\n if (response.teamId !== this.#options.teamId || response.modelProjectId !== model || response.operationId !== request.operationId\n || response.packageHash !== request.expectedPackageHash || !sameLearningRef(response.taskset, request.expectedTasksetRef) || response.selection !== \"select\") this.#mismatch();\n return response;\n }\n\n async delete(modelId: string, draftId: string, expectedDraftRevision: number, options: Options = {}) {\n const model = IdSchema.parse(modelId);\n const id = IdSchema.parse(draftId);\n const revision = RevisionSchema.parse(expectedDraftRevision);\n const response = this.#scope(TasksetDraftDeletionSchema.parse(await this.#request(model, `/${encodeURIComponent(id)}?expectedDraftRevision=${revision}`, \"DELETE\", undefined, options.signal)), model);\n if (response.draftId !== id || response.revision !== revision + 1) this.#mismatch();\n return response;\n }\n\n #scope<T extends { teamId: string; modelId: string }>(value: T, modelId: string): T {\n if (value.teamId !== this.#options.teamId || value.modelId !== modelId) this.#mismatch();\n return value;\n }\n #draft(input: unknown, modelId: string, draftId?: string, revision?: number) {\n const value = this.#scope(TasksetDraftReadbackSchema.parse(input), modelId);\n if ((draftId !== undefined && value.draft.id !== draftId) || (revision !== undefined && value.draft.revision !== revision)) this.#mismatch();\n return value;\n }\n #mismatch(): never { throw new OpenPondTasksetDraftError(502, \"draft_response_mismatch\", \"Taskset draft response differs from the requested owner, revision or content.\"); }\n\n async #request(model: string, path: string, method: string, body: unknown, signal?: AbortSignal): Promise<unknown> {\n const serialized = body === undefined ? undefined : JSON.stringify(body);\n if (serialized && new TextEncoder().encode(serialized).byteLength > MAX_TASKSET_DRAFT_WORKSPACE_BYTES) throw new OpenPondTasksetDraftError(413, \"draft_too_large\", \"Taskset draft exceeds the 64 MiB envelope.\");\n const response = await (this.#options.fetch ?? globalThis.fetch)(`${this.#options.baseUrl}/v1/models/${encodeURIComponent(model)}/taskset-drafts${path}`, {\n method, headers: { Authorization: `Bearer ${this.#options.apiKey}`, \"X-OpenPond-Team-Id\": this.#options.teamId, Accept: \"application/json\", ...(serialized ? { \"Content-Type\": \"application/json\" } : {}) },\n body: serialized, signal, redirect: \"error\",\n });\n const reader = response.body?.getReader();\n if (!reader) throw new OpenPondTasksetDraftError(response.status, \"empty_response\", \"Taskset draft response was empty.\");\n let bytes = 0;\n let text = \"\";\n const decoder = new TextDecoder(\"utf-8\", { fatal: true });\n try {\n while (true) {\n const chunk = await reader.read();\n if (chunk.done) break;\n bytes += chunk.value.byteLength;\n if (bytes > MAX_TASKSET_DRAFT_WORKSPACE_BYTES) throw new OpenPondTasksetDraftError(413, \"draft_too_large\", \"Taskset draft response exceeds the 64 MiB envelope.\");\n text += decoder.decode(chunk.value, { stream: true });\n }\n text += decoder.decode();\n } finally { await reader.cancel(); reader.releaseLock(); }\n const value: unknown = JSON.parse(text);\n if (!response.ok) {\n const error = z.object({ code: z.string(), message: z.string() }).safeParse(value);\n throw new OpenPondTasksetDraftError(response.status, error.success ? error.data.code : \"draft_request_failed\", error.success ? error.data.message : `Taskset draft request failed (${response.status}).`);\n }\n return value;\n }\n}\n", "import { z } from \"zod\";\nimport type { GraderSpec } from \"./taskset-draft-core.js\";\n\nconst Id = z.string().trim().min(1).max(500);\nexport const TaskInventoryQuerySchema = z.object({\n projectId: Id.optional(), tasksetId: Id.optional(), draftId: Id.optional(), taskId: Id.optional(),\n query: z.string().trim().max(1_000).default(\"\"),\n split: z.enum([\"train\", \"validation\", \"test\", \"frozen_eval\"]).optional(),\n after: z.string().min(1).max(2_000).optional(), limit: z.number().int().min(1).max(100).default(30),\n}).strict();\nexport const TaskScoringSummarySchema = z.object({ id: Id, method: z.enum([\"code\", \"judge\", \"human\"]), required: z.boolean() });\nexport const TaskInventoryItemSchema = z.object({\n tasksetId: Id, tasksetName: z.string(), tasksetRevision: z.number().int().positive(), tasksetHash: z.string(),\n taskId: Id, ordinal: z.number().int().nonnegative(), title: z.string(), description: z.string(), split: z.string(),\n scoring: z.array(TaskScoringSummarySchema), configuration: z.enum([\"configured\", \"needs_reward\", \"needs_checks\"]),\n draftId: Id.nullable().default(null), modelId: Id.nullable().default(null),\n});\nexport const TaskInventoryPageSchema = z.object({ items: z.array(TaskInventoryItemSchema).max(100), nextCursor: z.string().nullable() });\nexport type TaskInventoryQuery = z.infer<typeof TaskInventoryQuerySchema>;\nexport type TaskScoringSummary = z.infer<typeof TaskScoringSummarySchema>;\nexport type TaskInventoryItem = z.infer<typeof TaskInventoryItemSchema>;\nexport type TaskInventoryPage = z.infer<typeof TaskInventoryPageSchema>;\n\n/** Discovery derives only from public task input, never private references. */\nexport function describeTaskInput(input: Record<string, unknown>, id: string) {\n const text = [input.instruction, input.prompt, input.request, input.question, input.message]\n .find((value): value is string => typeof value === \"string\" && value.trim().length > 0);\n const explicitTitle = typeof input.title === \"string\" ? input.title.trim() : \"\";\n const description = text?.trim() ?? \"\";\n return { title: (explicitTitle || description || id).slice(0, 180), description: description.slice(0, 2_000) };\n}\nexport function summarizeTaskScoring(graders: GraderSpec[]): TaskScoringSummary[] {\n return graders.map(grader => ({ id: grader.id, method: grader.kind === \"model_judge\" ? \"judge\" : grader.kind === \"human\" ? \"human\" : \"code\", required: grader.hardGate }));\n}\nexport function taskConfiguration(graders: GraderSpec[]): TaskInventoryItem[\"configuration\"] {\n if (!graders.some(grader => grader.kind !== \"human\")) return \"needs_reward\";\n if (graders.some(grader => grader.kind === \"model_judge\" && grader.calibrationStatus !== \"passed\")) return \"needs_checks\";\n return \"configured\";\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAAS,iCAA2D;;;ACLpE,SAAS,SAAS;AAClB,SAAS,iCAAiC;AAI1C,IAAM,WAAW,mBAAmB,MAAM;AAC1C,IAAM,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AACjD,IAAM,aAAa,EAAE,OAAO,EAAE,MAAM,gBAAgB;AACpD,IAAM,QAAQ,EAAE,QAAQ,UAAU,SAAS,SAAS;AAE7C,IAAM,kCAAkC,EAAE,OAAO;AAAA,EACtD,eAAe,EAAE,QAAQ,gCAAgC;AAAA,EACzD,aAAa;AAAA,EAAU,SAAS;AAAA,EAAU,uBAAuB;AAAA,EACjE,MAAM,mBAAmB,MAAM;AACjC,CAAC,EAAE,OAAO;AAGH,IAAM,qCAAqC,EAAE,OAAO;AAAA,EACzD,eAAe,EAAE,QAAQ,0CAA0C;AAAA,EAAG,GAAG;AAAA,EACzE,uBAAuB;AAAA,EAAgB,mBAAmB;AAC5D,CAAC,EAAE,OAAO;AACH,IAAM,6BAA6B,EAAE,OAAO;AAAA,EACjD,eAAe,EAAE,QAAQ,kCAAkC;AAAA,EAAG,GAAG;AAAA,EACjE,OAAO;AAAA,EAAoB,eAAe;AAAA,EAAY,aAAa;AACrE,CAAC,EAAE,OAAO,EAAE;AAAA,EAAO,WAAS,MAAM,MAAM,cAAc,MAAM,UAAU,MAAM,MAAM,YAAY,YAAY,MAAM;AAAA,EAC9G;AAAmE;AAC9D,IAAM,4BAA4B,EAAE,OAAO;AAAA,EAChD,IAAI;AAAA,EAAU,UAAU;AAAA,EAAgB,MAAM,mBAAmB,MAAM;AAAA,EACvE,QAAQ;AAAA,EAA0B,WAAW,mBAAmB,MAAM;AAAA,EACtE,kBAAkB,0BAA0B,SAAS;AACvD,CAAC,EAAE,OAAO;AACH,IAAM,yBAAyB,EAAE,OAAO;AAAA,EAC7C,eAAe,EAAE,QAAQ,8BAA8B;AAAA,EAAG,GAAG;AAAA,EAC7D,QAAQ,EAAE,MAAM,yBAAyB,EAAE,IAAI,GAAG;AAAA,EAAG,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS;AACzG,CAAC,EAAE,OAAO;AACH,IAAM,gCAAgC,EAAE,OAAO,EAAE,uBAAuB,gBAAgB,OAAO,mBAAmB,CAAC,EAAE,OAAO;AAC5H,IAAM,mCAAmC,EAAE,OAAO,EAAE,uBAAuB,gBAAgB,uBAAuB,eAAe,CAAC,EAAE,OAAO;AAC3I,IAAM,sCAAsC,EAAE,OAAO,EAAE,uBAAuB,gBAAgB,uBAAuB,WAAW,CAAC,EAAE,OAAO;AAC1I,IAAM,+BAA+B,EAAE,OAAO;AAAA,EACnD,eAAe,EAAE,QAAQ,oCAAoC;AAAA,EAAG,GAAG;AAAA,EACnE,SAAS;AAAA,EAAU,eAAe;AAAA,EAAgB,eAAe;AAAA,EACjE,OAAO,EAAE,QAAQ;AAAA,EAAG,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,UAAU,EAAE,KAAK,CAAC,WAAW,OAAO,CAAC,GAAG,SAAS,EAAE,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC;AAAA,EAC5K,aAAa,WAAW,SAAS;AAAA,EAAG,YAAY,0BAA0B,SAAS;AACrF,CAAC,EAAE,OAAO,EAAE,OAAO,WAAS,MAAM,QAC9B,MAAM,gBAAgB,QAAQ,MAAM,eAAe,QAAQ,MAAM,OAAO,MAAM,WAAS,MAAM,aAAa,OAAO,IACjH,MAAM,gBAAgB,QAAQ,MAAM,eAAe,QAAQ,MAAM,OAAO,KAAK,WAAS,MAAM,aAAa,OAAO,GAAG,yEAAyE;AACzL,IAAM,uCAAuC,oCAAoC,OAAO;AAAA,EAC7F,aAAa;AAAA,EAAU,qBAAqB;AAAA,EAAY,oBAAoB;AAC9E,CAAC,EAAE,OAAO;AACH,IAAM,6BAA6B,EAAE,OAAO;AAAA,EACjD,eAAe,EAAE,QAAQ,kCAAkC;AAAA,EAAG,GAAG;AAAA,EACjE,SAAS;AAAA,EAAU,eAAe;AAAA,EAAgB,OAAO,EAAE,MAAM,0BAA0B,EAAE,IAAI,KAAM;AACzG,CAAC,EAAE,OAAO;AACH,IAAM,iCAAiC,EAAE,OAAO;AAAA,EACrD,eAAe,EAAE,QAAQ,sCAAsC;AAAA,EAAG,GAAG;AAAA,EACrE,SAAS;AAAA,EAAU,eAAe;AAAA,EAAgB,MAAM;AAC1D,CAAC,EAAE,OAAO;AACH,IAAM,6BAA6B,EAAE,OAAO;AAAA,EACjD,eAAe,EAAE,QAAQ,kCAAkC;AAAA,EAAG,GAAG;AAAA,EACjE,SAAS;AAAA,EAAU,UAAU;AAAA,EAAgB,SAAS,EAAE,QAAQ,IAAI;AACtE,CAAC,EAAE,OAAO;;;AC5DV,SAAS,KAAAA,UAAS;AAElB,SAAS,uBAAuB;AAWhC,IAAMC,YAAW,mBAAmB,MAAM;AAC1C,IAAMC,kBAAiBC,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAE1C,IAAM,4BAAN,cAAwC,MAAM;AAAA,EACnD,YAAqB,QAAyB,MAAc,SAAiB;AAAE,UAAM,OAAO;AAAvE;AAAyB;AAAiD,SAAK,OAAO;AAAA,EAA6B;AAAA,EAAnH;AAAA,EAAyB;AAChD;AAGO,IAAM,6BAAN,MAAiC;AAAA,EAC7B;AAAA,EACT,YAAY,SAA+F;AACzG,UAAM,MAAM,IAAI,IAAI,QAAQ,OAAO;AACnC,QAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,SAAS,IAAI,QAAQ,KAAK,IAAI,YAAY,IAAI,YAAY,IAAI,UAAU,IAAI,QAAQ,CAAC,QAAQ,OAAO,KAAK,KAAK,CAAC,QAAQ,OAAO,KAAK,EAAG,OAAM,IAAI,MAAM,mFAAmF;AAClQ,SAAK,WAAW,EAAE,GAAG,SAAS,SAAS,IAAI,SAAS,EAAE,QAAQ,QAAQ,EAAE,EAAE;AAAA,EAC5E;AAAA,EAEA,MAAM,cAAc,SAAiB,uBAA+B,UAAmB,CAAC,GAAG;AACzF,UAAM,QAAQF,UAAS,MAAM,OAAO;AACpC,UAAM,WAAWC,gBAAe,MAAM,qBAAqB;AAC3D,UAAM,WAAW,KAAK,OAAO,mCAAmC,MAAM,MAAM,KAAK,SAAS,OAAO,iCAAiC,QAAQ,IAAI,OAAO,QAAW,QAAQ,MAAM,CAAC,GAAG,KAAK;AACvL,QAAI,SAAS,0BAA0B,SAAU,MAAK,UAAU;AAChE,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,WAAW,OAAiC,UAAmB,CAAC,GAAG;AACvE,UAAM,UAAU,+BAA+B,MAAM,KAAK;AAC1D,UAAM,WAAW,KAAK,OAAO,MAAM,KAAK,SAAS,QAAQ,SAAS,IAAI,QAAQ,SAAS,QAAQ,MAAM,GAAG,QAAQ,OAAO;AACvH,UAAM,SAAS,SAAS,MAAM,YAAY;AAC1C,QAAI,CAAC,UAAU,OAAO,gBAAgB,YAAY,OAAO,KAAK,OAAO,sBAAsB,QAAQ,qBAAqB,OAAO,YAAY,SAAS,MAAM,MACrJ,OAAO,QAAQ,MAAM,YAAY,KAAK,SAAS,UAAU,OAAO,QAAQ,MAAM,YAAY,QAAQ,QAAS,MAAK,UAAU;AAC/H,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,OAAO,OAAkC,UAAmB,CAAC,GAAG;AACpE,UAAM,UAAU,gCAAgC,MAAM,KAAK;AAC3D,UAAM,WAAW,KAAK,OAAO,MAAM,KAAK,SAAS,QAAQ,SAAS,IAAI,QAAQ,SAAS,QAAQ,MAAM,GAAG,QAAQ,OAAO;AACvH,UAAM,aAAa,uBAAuB,YAAY,EAAE,OAAO,EAAE,SAAS,KAAK,SAAS,QAAQ,SAAS,QAAQ,QAAQ,GAAG,aAAa,QAAQ,YAAY,CAAC,CAAC;AAC/J,QAAI,SAAS,MAAM,OAAO,cAAc,SAAS,MAAM,YAAY,WAAW,OAAW,MAAK,UAAU;AACxG,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,KAAK,SAAiB,UAAyD,CAAC,GAAG;AACvF,UAAM,QAAQD,UAAS,MAAM,OAAO;AACpC,UAAM,QAAQ,IAAI,gBAAgB;AAClC,QAAI,QAAQ,UAAU,OAAW,OAAM,IAAI,SAAS,OAAOE,GAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,MAAM,QAAQ,KAAK,CAAC,CAAC;AACjH,QAAI,QAAQ,WAAW,OAAW,OAAM,IAAI,UAAUA,GAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK,EAAE,MAAM,QAAQ,MAAM,CAAC;AACxG,WAAO,KAAK,OAAO,uBAAuB,MAAM,MAAM,KAAK,SAAS,OAAO,MAAM,OAAO,IAAI,KAAK,KAAK,IAAI,OAAO,QAAW,QAAQ,MAAM,CAAC,GAAG,KAAK;AAAA,EACrJ;AAAA,EAEA,MAAM,IAAI,SAAiB,SAAiB,UAAmB,CAAC,GAAG;AACjE,UAAM,QAAQF,UAAS,MAAM,OAAO;AACpC,UAAM,KAAKA,UAAS,MAAM,OAAO;AACjC,WAAO,KAAK,OAAO,MAAM,KAAK,SAAS,OAAO,IAAI,mBAAmB,EAAE,CAAC,IAAI,OAAO,QAAW,QAAQ,MAAM,GAAG,OAAO,EAAE;AAAA,EAC1H;AAAA,EAEA,MAAM,KAAK,SAAiB,OAAgC,UAAmB,CAAC,GAAG;AACjF,UAAM,QAAQA,UAAS,MAAM,OAAO;AACpC,UAAM,UAAU,8BAA8B,MAAM,KAAK;AACzD,WAAO,KAAK,OAAO,MAAM,KAAK,SAAS,OAAO,IAAI,mBAAmB,QAAQ,MAAM,EAAE,CAAC,IAAI,OAAO,SAAS,QAAQ,MAAM,GAAG,OAAO,QAAQ,MAAM,IAAI,QAAQ,wBAAwB,CAAC;AAAA,EACvL;AAAA,EAEA,MAAM,aAAa,SAAiB,SAAiB,OAAmC,UAAmB,CAAC,GAAG;AAC7G,UAAM,QAAQA,UAAS,MAAM,OAAO;AACpC,UAAM,KAAKA,UAAS,MAAM,OAAO;AACjC,UAAM,UAAU,iCAAiC,MAAM,KAAK;AAC5D,UAAM,WAAW,KAAK,OAAO,MAAM,KAAK,SAAS,OAAO,IAAI,mBAAmB,EAAE,CAAC,kBAAkB,QAAQ,SAAS,QAAQ,MAAM,GAAG,OAAO,IAAI,QAAQ,wBAAwB,CAAC;AAClL,QAAI,SAAS,MAAM,YAAY,0BAA0B,QAAQ,sBAAuB,MAAK,UAAU;AACvG,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,MAAM,SAAiB,SAAiB,UAAmB,CAAC,GAAG;AACnE,UAAM,QAAQA,UAAS,MAAM,OAAO;AACpC,UAAM,KAAKA,UAAS,MAAM,OAAO;AACjC,UAAM,WAAW,KAAK,OAAO,2BAA2B,MAAM,MAAM,KAAK,SAAS,OAAO,IAAI,mBAAmB,EAAE,CAAC,UAAU,OAAO,QAAW,QAAQ,MAAM,CAAC,GAAG,KAAK;AACtK,QAAI,SAAS,YAAY,GAAI,MAAK,UAAU;AAC5C,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,SAAS,SAAiB,SAAiB,MAAc,UAAmB,CAAC,GAAG;AACpF,UAAM,QAAQA,UAAS,MAAM,OAAO;AACpC,UAAM,KAAKA,UAAS,MAAM,OAAO;AACjC,UAAM,WAAW,2BAA2B,MAAM,IAAI;AACtD,UAAM,WAAW,KAAK,OAAO,+BAA+B,MAAM,MAAM,KAAK,SAAS,OAAO,IAAI,mBAAmB,EAAE,CAAC,cAAc,mBAAmB,QAAQ,CAAC,IAAI,OAAO,QAAW,QAAQ,MAAM,CAAC,GAAG,KAAK;AAC9M,QAAI,SAAS,YAAY,MAAM,SAAS,KAAK,SAAS,SAAU,MAAK,UAAU;AAC/E,UAAM,QAAQ,8BAA8B,SAAS,KAAK,OAAO;AACjE,QAAI,MAAM,eAAe,SAAS,KAAK,aAAa,OAAO,KAAK,MAAM,SAAS,KAAK,YAAa,MAAK,UAAU;AAChH,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,SAAS,SAAiB,OAAiC,UAAmB,CAAC,GAAG;AACtF,UAAM,QAAQA,UAAS,MAAM,OAAO;AACpC,UAAM,UAAU,+BAA+B,MAAM,KAAK;AAC1D,QAAI,QAAQ,QAAS,+BAA8B,QAAQ,OAAO;AAClE,WAAO,KAAK,OAAO,MAAM,KAAK,SAAS,OAAO,IAAI,mBAAmB,QAAQ,OAAO,CAAC,SAAS,OAAO,SAAS,QAAQ,MAAM,GAAG,OAAO,QAAQ,SAAS,QAAQ,wBAAwB,CAAC;AAAA,EAC1L;AAAA,EAEA,MAAM,SAAS,SAAiB,SAAiB,OAAsC,UAAmB,CAAC,GAAG;AAC5G,UAAM,QAAQA,UAAS,MAAM,OAAO;AACpC,UAAM,KAAKA,UAAS,MAAM,OAAO;AACjC,UAAM,UAAU,oCAAoC,MAAM,KAAK;AAC/D,UAAM,WAAW,KAAK,OAAO,6BAA6B,MAAM,MAAM,KAAK,SAAS,OAAO,IAAI,mBAAmB,EAAE,CAAC,aAAa,QAAQ,SAAS,QAAQ,MAAM,CAAC,GAAG,KAAK;AAC1K,QAAI,SAAS,YAAY,MAAM,SAAS,kBAAkB,QAAQ,yBAAyB,SAAS,kBAAkB,QAAQ,sBAAuB,MAAK,UAAU;AACpK,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,QAAQ,SAAiB,SAAiB,OAAuC,UAAmB,CAAC,GAAG;AAC5G,UAAM,QAAQA,UAAS,MAAM,OAAO;AACpC,UAAM,KAAKA,UAAS,MAAM,OAAO;AACjC,UAAM,UAAU,qCAAqC,MAAM,KAAK;AAChE,UAAM,WAAW,4BAA4B,MAAM,MAAM,KAAK,SAAS,OAAO,IAAI,mBAAmB,EAAE,CAAC,YAAY,QAAQ,SAAS,QAAQ,MAAM,CAAC;AACpJ,QAAI,SAAS,WAAW,KAAK,SAAS,UAAU,SAAS,mBAAmB,SAAS,SAAS,gBAAgB,QAAQ,eACjH,SAAS,gBAAgB,QAAQ,uBAAuB,CAAC,gBAAgB,SAAS,SAAS,QAAQ,kBAAkB,KAAK,SAAS,cAAc,SAAU,MAAK,UAAU;AAC/K,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,OAAO,SAAiB,SAAiB,uBAA+B,UAAmB,CAAC,GAAG;AACnG,UAAM,QAAQA,UAAS,MAAM,OAAO;AACpC,UAAM,KAAKA,UAAS,MAAM,OAAO;AACjC,UAAM,WAAWC,gBAAe,MAAM,qBAAqB;AAC3D,UAAM,WAAW,KAAK,OAAO,2BAA2B,MAAM,MAAM,KAAK,SAAS,OAAO,IAAI,mBAAmB,EAAE,CAAC,0BAA0B,QAAQ,IAAI,UAAU,QAAW,QAAQ,MAAM,CAAC,GAAG,KAAK;AACrM,QAAI,SAAS,YAAY,MAAM,SAAS,aAAa,WAAW,EAAG,MAAK,UAAU;AAClF,WAAO;AAAA,EACT;AAAA,EAEA,OAAsD,OAAU,SAAoB;AAClF,QAAI,MAAM,WAAW,KAAK,SAAS,UAAU,MAAM,YAAY,QAAS,MAAK,UAAU;AACvF,WAAO;AAAA,EACT;AAAA,EACA,OAAO,OAAgB,SAAiB,SAAkB,UAAmB;AAC3E,UAAM,QAAQ,KAAK,OAAO,2BAA2B,MAAM,KAAK,GAAG,OAAO;AAC1E,QAAK,YAAY,UAAa,MAAM,MAAM,OAAO,WAAa,aAAa,UAAa,MAAM,MAAM,aAAa,SAAW,MAAK,UAAU;AAC3I,WAAO;AAAA,EACT;AAAA,EACA,YAAmB;AAAE,UAAM,IAAI,0BAA0B,KAAK,2BAA2B,+EAA+E;AAAA,EAAG;AAAA,EAE3K,MAAM,SAAS,OAAe,MAAc,QAAgB,MAAe,QAAwC;AACjH,UAAM,aAAa,SAAS,SAAY,SAAY,KAAK,UAAU,IAAI;AACvE,QAAI,cAAc,IAAI,YAAY,EAAE,OAAO,UAAU,EAAE,aAAa,kCAAmC,OAAM,IAAI,0BAA0B,KAAK,mBAAmB,4CAA4C;AAC/M,UAAM,WAAW,OAAO,KAAK,SAAS,SAAS,WAAW,OAAO,GAAG,KAAK,SAAS,OAAO,cAAc,mBAAmB,KAAK,CAAC,kBAAkB,IAAI,IAAI;AAAA,MACxJ;AAAA,MAAQ,SAAS,EAAE,eAAe,UAAU,KAAK,SAAS,MAAM,IAAI,sBAAsB,KAAK,SAAS,QAAQ,QAAQ,oBAAoB,GAAI,aAAa,EAAE,gBAAgB,mBAAmB,IAAI,CAAC,EAAG;AAAA,MAC1M,MAAM;AAAA,MAAY;AAAA,MAAQ,UAAU;AAAA,IACtC,CAAC;AACD,UAAM,SAAS,SAAS,MAAM,UAAU;AACxC,QAAI,CAAC,OAAQ,OAAM,IAAI,0BAA0B,SAAS,QAAQ,kBAAkB,mCAAmC;AACvH,QAAI,QAAQ;AACZ,QAAI,OAAO;AACX,UAAM,UAAU,IAAI,YAAY,SAAS,EAAE,OAAO,KAAK,CAAC;AACxD,QAAI;AACF,aAAO,MAAM;AACX,cAAM,QAAQ,MAAM,OAAO,KAAK;AAChC,YAAI,MAAM,KAAM;AAChB,iBAAS,MAAM,MAAM;AACrB,YAAI,QAAQ,kCAAmC,OAAM,IAAI,0BAA0B,KAAK,mBAAmB,qDAAqD;AAChK,gBAAQ,QAAQ,OAAO,MAAM,OAAO,EAAE,QAAQ,KAAK,CAAC;AAAA,MACtD;AACA,cAAQ,QAAQ,OAAO;AAAA,IACzB,UAAE;AAAU,YAAM,OAAO,OAAO;AAAG,aAAO,YAAY;AAAA,IAAG;AACzD,UAAM,QAAiB,KAAK,MAAM,IAAI;AACtC,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,QAAQC,GAAE,OAAO,EAAE,MAAMA,GAAE,OAAO,GAAG,SAASA,GAAE,OAAO,EAAE,CAAC,EAAE,UAAU,KAAK;AACjF,YAAM,IAAI,0BAA0B,SAAS,QAAQ,MAAM,UAAU,MAAM,KAAK,OAAO,wBAAwB,MAAM,UAAU,MAAM,KAAK,UAAU,iCAAiC,SAAS,MAAM,IAAI;AAAA,IAC1M;AACA,WAAO;AAAA,EACT;AACF;;;ACjLA,SAAS,KAAAC,UAAS;AAGlB,IAAM,KAAKA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AACpC,IAAM,2BAA2BA,GAAE,OAAO;AAAA,EAC/C,WAAW,GAAG,SAAS;AAAA,EAAG,WAAW,GAAG,SAAS;AAAA,EAAG,SAAS,GAAG,SAAS;AAAA,EAAG,QAAQ,GAAG,SAAS;AAAA,EAChG,OAAOA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,GAAK,EAAE,QAAQ,EAAE;AAAA,EAC9C,OAAOA,GAAE,KAAK,CAAC,SAAS,cAAc,QAAQ,aAAa,CAAC,EAAE,SAAS;AAAA,EACvE,OAAOA,GAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS;AAAA,EAAG,OAAOA,GAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,EAAE;AACpG,CAAC,EAAE,OAAO;AACH,IAAM,2BAA2BA,GAAE,OAAO,EAAE,IAAI,IAAI,QAAQA,GAAE,KAAK,CAAC,QAAQ,SAAS,OAAO,CAAC,GAAG,UAAUA,GAAE,QAAQ,EAAE,CAAC;AACvH,IAAM,0BAA0BA,GAAE,OAAO;AAAA,EAC9C,WAAW;AAAA,EAAI,aAAaA,GAAE,OAAO;AAAA,EAAG,iBAAiBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAAG,aAAaA,GAAE,OAAO;AAAA,EAC5G,QAAQ;AAAA,EAAI,SAASA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAAG,OAAOA,GAAE,OAAO;AAAA,EAAG,aAAaA,GAAE,OAAO;AAAA,EAAG,OAAOA,GAAE,OAAO;AAAA,EACjH,SAASA,GAAE,MAAM,wBAAwB;AAAA,EAAG,eAAeA,GAAE,KAAK,CAAC,cAAc,gBAAgB,cAAc,CAAC;AAAA,EAChH,SAAS,GAAG,SAAS,EAAE,QAAQ,IAAI;AAAA,EAAG,SAAS,GAAG,SAAS,EAAE,QAAQ,IAAI;AAC3E,CAAC;AACM,IAAM,0BAA0BA,GAAE,OAAO,EAAE,OAAOA,GAAE,MAAM,uBAAuB,EAAE,IAAI,GAAG,GAAG,YAAYA,GAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAOhI,SAAS,kBAAkB,OAAgC,IAAY;AAC5E,QAAM,OAAO,CAAC,MAAM,aAAa,MAAM,QAAQ,MAAM,SAAS,MAAM,UAAU,MAAM,OAAO,EACxF,KAAK,CAAC,UAA2B,OAAO,UAAU,YAAY,MAAM,KAAK,EAAE,SAAS,CAAC;AACxF,QAAM,gBAAgB,OAAO,MAAM,UAAU,WAAW,MAAM,MAAM,KAAK,IAAI;AAC7E,QAAM,cAAc,MAAM,KAAK,KAAK;AACpC,SAAO,EAAE,QAAQ,iBAAiB,eAAe,IAAI,MAAM,GAAG,GAAG,GAAG,aAAa,YAAY,MAAM,GAAG,GAAK,EAAE;AAC/G;AACO,SAAS,qBAAqB,SAA6C;AAChF,SAAO,QAAQ,IAAI,aAAW,EAAE,IAAI,OAAO,IAAI,QAAQ,OAAO,SAAS,gBAAgB,UAAU,OAAO,SAAS,UAAU,UAAU,QAAQ,UAAU,OAAO,SAAS,EAAE;AAC3K;AACO,SAAS,kBAAkB,SAA2D;AAC3F,MAAI,CAAC,QAAQ,KAAK,YAAU,OAAO,SAAS,OAAO,EAAG,QAAO;AAC7D,MAAI,QAAQ,KAAK,YAAU,OAAO,SAAS,iBAAiB,OAAO,sBAAsB,QAAQ,EAAG,QAAO;AAC3G,SAAO;AACT;",
6
+ "names": ["z", "IdSchema", "RevisionSchema", "z", "z"]
7
7
  }
@@ -0,0 +1,95 @@
1
+ import { z } from "zod";
2
+ import type { GraderSpec } from "./taskset-draft-core.js";
3
+ export declare const TaskInventoryQuerySchema: z.ZodObject<{
4
+ projectId: z.ZodOptional<z.ZodString>;
5
+ tasksetId: z.ZodOptional<z.ZodString>;
6
+ draftId: z.ZodOptional<z.ZodString>;
7
+ taskId: z.ZodOptional<z.ZodString>;
8
+ query: z.ZodDefault<z.ZodString>;
9
+ split: z.ZodOptional<z.ZodEnum<{
10
+ train: "train";
11
+ validation: "validation";
12
+ test: "test";
13
+ frozen_eval: "frozen_eval";
14
+ }>>;
15
+ after: z.ZodOptional<z.ZodString>;
16
+ limit: z.ZodDefault<z.ZodNumber>;
17
+ }, z.core.$strict>;
18
+ export declare const TaskScoringSummarySchema: z.ZodObject<{
19
+ id: z.ZodString;
20
+ method: z.ZodEnum<{
21
+ code: "code";
22
+ human: "human";
23
+ judge: "judge";
24
+ }>;
25
+ required: z.ZodBoolean;
26
+ }, z.core.$strip>;
27
+ export declare const TaskInventoryItemSchema: z.ZodObject<{
28
+ tasksetId: z.ZodString;
29
+ tasksetName: z.ZodString;
30
+ tasksetRevision: z.ZodNumber;
31
+ tasksetHash: z.ZodString;
32
+ taskId: z.ZodString;
33
+ ordinal: z.ZodNumber;
34
+ title: z.ZodString;
35
+ description: z.ZodString;
36
+ split: z.ZodString;
37
+ scoring: z.ZodArray<z.ZodObject<{
38
+ id: z.ZodString;
39
+ method: z.ZodEnum<{
40
+ code: "code";
41
+ human: "human";
42
+ judge: "judge";
43
+ }>;
44
+ required: z.ZodBoolean;
45
+ }, z.core.$strip>>;
46
+ configuration: z.ZodEnum<{
47
+ configured: "configured";
48
+ needs_reward: "needs_reward";
49
+ needs_checks: "needs_checks";
50
+ }>;
51
+ draftId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
52
+ modelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
53
+ }, z.core.$strip>;
54
+ export declare const TaskInventoryPageSchema: z.ZodObject<{
55
+ items: z.ZodArray<z.ZodObject<{
56
+ tasksetId: z.ZodString;
57
+ tasksetName: z.ZodString;
58
+ tasksetRevision: z.ZodNumber;
59
+ tasksetHash: z.ZodString;
60
+ taskId: z.ZodString;
61
+ ordinal: z.ZodNumber;
62
+ title: z.ZodString;
63
+ description: z.ZodString;
64
+ split: z.ZodString;
65
+ scoring: z.ZodArray<z.ZodObject<{
66
+ id: z.ZodString;
67
+ method: z.ZodEnum<{
68
+ code: "code";
69
+ human: "human";
70
+ judge: "judge";
71
+ }>;
72
+ required: z.ZodBoolean;
73
+ }, z.core.$strip>>;
74
+ configuration: z.ZodEnum<{
75
+ configured: "configured";
76
+ needs_reward: "needs_reward";
77
+ needs_checks: "needs_checks";
78
+ }>;
79
+ draftId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
80
+ modelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
81
+ }, z.core.$strip>>;
82
+ nextCursor: z.ZodNullable<z.ZodString>;
83
+ }, z.core.$strip>;
84
+ export type TaskInventoryQuery = z.infer<typeof TaskInventoryQuerySchema>;
85
+ export type TaskScoringSummary = z.infer<typeof TaskScoringSummarySchema>;
86
+ export type TaskInventoryItem = z.infer<typeof TaskInventoryItemSchema>;
87
+ export type TaskInventoryPage = z.infer<typeof TaskInventoryPageSchema>;
88
+ /** Discovery derives only from public task input, never private references. */
89
+ export declare function describeTaskInput(input: Record<string, unknown>, id: string): {
90
+ title: string;
91
+ description: string;
92
+ };
93
+ export declare function summarizeTaskScoring(graders: GraderSpec[]): TaskScoringSummary[];
94
+ export declare function taskConfiguration(graders: GraderSpec[]): TaskInventoryItem["configuration"];
95
+ //# sourceMappingURL=task-inventory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-inventory.d.ts","sourceRoot":"","sources":["../../../../../src/task-inventory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;kBAK1B,CAAC;AACZ,eAAO,MAAM,wBAAwB;;;;;;;;iBAA0F,CAAC;AAChI,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKlC,CAAC;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAoG,CAAC;AACzI,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM;;;EAM3E;AACD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,kBAAkB,EAAE,CAEhF;AACD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAI3F"}
@@ -13,4 +13,5 @@ export * from "./taskset-draft-publication.js";
13
13
  export * from "./taskset-draft-manifests.js";
14
14
  export * from "./taskset-draft-api-contracts.js";
15
15
  export { OpenPondTasksetDraftClient, OpenPondTasksetDraftError } from "./taskset-draft-client.js";
16
+ export * from "./task-inventory.js";
16
17
  //# sourceMappingURL=taskset-drafts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"taskset-drafts.d.ts","sourceRoot":"","sources":["../../../../../src/taskset-drafts.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9F,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"taskset-drafts.d.ts","sourceRoot":"","sources":["../../../../../src/taskset-drafts.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9F,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAClG,cAAc,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openpond-sdk",
3
- "version": "0.5.20",
3
+ "version": "0.5.21",
4
4
  "description": "Server-side TypeScript SDK for OpenPond sandboxes and agentic work",
5
5
  "license": "MIT",
6
6
  "type": "module",