openpond-sdk 0.11.6 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/TASKSETS.md +13 -0
  2. package/dist/{chunk-64HOO3TO.js → chunk-32GJS7FV.js} +2 -2
  3. package/dist/{chunk-OLHLJ2X3.js → chunk-644E3NM2.js} +8 -2
  4. package/dist/chunk-644E3NM2.js.map +7 -0
  5. package/dist/{chunk-A3ZYHREX.js → chunk-7L4NIEW2.js} +2 -2
  6. package/dist/{chunk-JPPOMXMY.js → chunk-7MISLCN2.js} +2 -2
  7. package/dist/{chunk-NFLEPINR.js → chunk-BDDT6VN6.js} +5 -5
  8. package/dist/{chunk-7GA57BEJ.js → chunk-FWX7SH7Y.js} +19 -3
  9. package/dist/chunk-FWX7SH7Y.js.map +7 -0
  10. package/dist/{chunk-2NBI5UOK.js → chunk-FZYLRL7H.js} +3 -3
  11. package/dist/{chunk-PL3ETQYC.js → chunk-LHRHB5EJ.js} +2 -2
  12. package/dist/{chunk-ILXO64IV.js → chunk-SVBV2VEK.js} +58 -3
  13. package/dist/chunk-SVBV2VEK.js.map +7 -0
  14. package/dist/{chunk-I3QQEXDY.js → chunk-UK2KWJIQ.js} +12 -9
  15. package/dist/{chunk-I3QQEXDY.js.map → chunk-UK2KWJIQ.js.map} +3 -3
  16. package/dist/{chunk-NA7PNRQZ.js → chunk-WYGBGCRO.js} +3 -3
  17. package/dist/{chunk-IS3P4OOW.js → chunk-X6J3VVYC.js} +9 -6
  18. package/dist/{chunk-IS3P4OOW.js.map → chunk-X6J3VVYC.js.map} +2 -2
  19. package/dist/{chunk-IPWCUGDN.js → chunk-YRTA3G6O.js} +10 -3
  20. package/dist/chunk-YRTA3G6O.js.map +7 -0
  21. package/dist/connected-evidence.js +17 -9
  22. package/dist/dataset-workspaces.js +293 -17
  23. package/dist/dataset-workspaces.js.map +4 -4
  24. package/dist/experiment-evaluation-schedules.js +9 -9
  25. package/dist/experiments.js +9 -9
  26. package/dist/index.js +20 -12
  27. package/dist/index.js.map +1 -1
  28. package/dist/model-starter-catalog.js +2 -2
  29. package/dist/model-starters.js +2 -2
  30. package/dist/taskset-drafts.js +6 -6
  31. package/dist/taskset-drafts.js.map +2 -2
  32. package/dist/taskset-packages.js +8 -8
  33. package/dist/training-bundle.js +5 -4
  34. package/dist/training-bundle.js.map +2 -2
  35. package/dist/types/packages/sdk/src/connected-dataset-source.d.ts +1 -0
  36. package/dist/types/packages/sdk/src/connected-dataset-source.d.ts.map +1 -1
  37. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +71 -0
  38. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts.map +1 -1
  39. package/dist/types/packages/sdk/src/connected-evidence.d.ts +1 -0
  40. package/dist/types/packages/sdk/src/connected-evidence.d.ts.map +1 -1
  41. package/dist/types/packages/sdk/src/connected-starting-assets.d.ts +98 -0
  42. package/dist/types/packages/sdk/src/connected-starting-assets.d.ts.map +1 -0
  43. package/dist/types/packages/sdk/src/dataset-preparation-assembly.d.ts +11 -0
  44. package/dist/types/packages/sdk/src/dataset-preparation-assembly.d.ts.map +1 -0
  45. package/dist/types/packages/sdk/src/dataset-preparation-authoring-contracts.d.ts +11 -0
  46. package/dist/types/packages/sdk/src/dataset-preparation-authoring-contracts.d.ts.map +1 -1
  47. package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts +21 -0
  48. package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts.map +1 -1
  49. package/dist/types/packages/sdk/src/dataset-preparation-contracts.d.ts +18 -0
  50. package/dist/types/packages/sdk/src/dataset-preparation-contracts.d.ts.map +1 -1
  51. package/dist/types/packages/sdk/src/dataset-preparation-qualification-contracts.d.ts +89 -0
  52. package/dist/types/packages/sdk/src/dataset-preparation-qualification-contracts.d.ts.map +1 -0
  53. package/dist/types/packages/sdk/src/dataset-preparation-starting-state.d.ts +76 -0
  54. package/dist/types/packages/sdk/src/dataset-preparation-starting-state.d.ts.map +1 -0
  55. package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts +10 -0
  56. package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts.map +1 -1
  57. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +42 -0
  58. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
  59. package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts +12 -0
  60. package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts.map +1 -1
  61. package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts +12 -0
  62. package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts.map +1 -1
  63. package/dist/types/packages/sdk/src/dataset-workspaces.d.ts +3 -0
  64. package/dist/types/packages/sdk/src/dataset-workspaces.d.ts.map +1 -1
  65. package/dist/types/packages/sdk/src/learning-batch-assets.d.ts +1 -0
  66. package/dist/types/packages/sdk/src/learning-batch-assets.d.ts.map +1 -1
  67. package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts +5 -0
  68. package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts.map +1 -1
  69. package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts +1 -0
  70. package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts.map +1 -1
  71. package/dist/types/packages/sdk/src/model-batch-review.d.ts +5 -2
  72. package/dist/types/packages/sdk/src/model-batch-review.d.ts.map +1 -1
  73. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +4 -1
  74. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
  75. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts +9 -0
  76. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts.map +1 -1
  77. package/dist/types/packages/sdk/src/model-starter-execution.d.ts +4 -0
  78. package/dist/types/packages/sdk/src/model-starter-execution.d.ts.map +1 -1
  79. package/dist/types/packages/sdk/src/model-starters.d.ts +18 -0
  80. package/dist/types/packages/sdk/src/model-starters.d.ts.map +1 -1
  81. package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts +13 -0
  82. package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts.map +1 -1
  83. package/dist/types/packages/sdk/src/model-taskset-resources.d.ts +4 -0
  84. package/dist/types/packages/sdk/src/model-taskset-resources.d.ts.map +1 -1
  85. package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts +17 -2
  86. package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts.map +1 -1
  87. package/dist/types/packages/sdk/src/task-design-contracts.d.ts +4 -0
  88. package/dist/types/packages/sdk/src/task-design-contracts.d.ts.map +1 -1
  89. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts +6 -0
  90. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts.map +1 -1
  91. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts +6 -0
  92. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts.map +1 -1
  93. package/dist/types/packages/sdk/src/taskset-authored-portable-release.d.ts.map +1 -1
  94. package/dist/types/packages/sdk/src/taskset-calibration-fixtures.d.ts +5 -0
  95. package/dist/types/packages/sdk/src/taskset-calibration-fixtures.d.ts.map +1 -1
  96. package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +12 -0
  97. package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts.map +1 -1
  98. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +36 -0
  99. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts.map +1 -1
  100. package/dist/types/packages/sdk/src/taskset-draft-core.d.ts +11 -0
  101. package/dist/types/packages/sdk/src/taskset-draft-core.d.ts.map +1 -1
  102. package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +7 -0
  103. package/dist/types/packages/sdk/src/taskset-draft-document.d.ts.map +1 -1
  104. package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts +34 -4
  105. package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts.map +1 -1
  106. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +12 -0
  107. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts.map +1 -1
  108. package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +12 -0
  109. package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts.map +1 -1
  110. package/dist/types/packages/sdk/src/taskset-package-client.d.ts +68 -0
  111. package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
  112. package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts +35 -0
  113. package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts.map +1 -1
  114. package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts +4 -0
  115. package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts.map +1 -1
  116. package/dist/types/packages/sdk/src/taskset-package-learning.d.ts +8 -2
  117. package/dist/types/packages/sdk/src/taskset-package-learning.d.ts.map +1 -1
  118. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +29 -7
  119. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts.map +1 -1
  120. package/dist/types/packages/sdk/src/training-learning-batch.d.ts +20 -0
  121. package/dist/types/packages/sdk/src/training-learning-batch.d.ts.map +1 -1
  122. package/package.json +2 -2
  123. package/dist/chunk-7GA57BEJ.js.map +0 -7
  124. package/dist/chunk-ILXO64IV.js.map +0 -7
  125. package/dist/chunk-IPWCUGDN.js.map +0 -7
  126. package/dist/chunk-OLHLJ2X3.js.map +0 -7
  127. /package/dist/{chunk-64HOO3TO.js.map → chunk-32GJS7FV.js.map} +0 -0
  128. /package/dist/{chunk-A3ZYHREX.js.map → chunk-7L4NIEW2.js.map} +0 -0
  129. /package/dist/{chunk-JPPOMXMY.js.map → chunk-7MISLCN2.js.map} +0 -0
  130. /package/dist/{chunk-NFLEPINR.js.map → chunk-BDDT6VN6.js.map} +0 -0
  131. /package/dist/{chunk-2NBI5UOK.js.map → chunk-FZYLRL7H.js.map} +0 -0
  132. /package/dist/{chunk-PL3ETQYC.js.map → chunk-LHRHB5EJ.js.map} +0 -0
  133. /package/dist/{chunk-NA7PNRQZ.js.map → chunk-WYGBGCRO.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/connected-recorded-execution.ts", "../src/connected-evidence-client.ts", "../src/connected-dataset-publication.ts", "../src/connected-collection-status.ts", "../src/connected-sync.ts", "../src/connected-evidence.ts"],
4
+ "sourcesContent": ["import { z } from \"zod\";\nimport { ImmutableReleaseRefSchema, contentHash } from \"@openpond/harness\";\nimport { ExperimentManifestSchema } from \"@openpond/evals/experiments\";\nimport { TaskRecordSchema } from \"@openpond/evals/tasksets\";\nimport { ConnectedCaseRefSchema } from \"./connected-evidence-contracts.js\";\n\nconst Id = z.string().min(1).max(200), Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ConnectedRecordedExecutionRequestSchema = z.object({ operationId: Id, name: z.string().trim().min(1).max(500),\n projectId: Id, dataset: ImmutableReleaseRefSchema.extend({ revision: z.number().int().positive() }).strict(),\n caseIds: z.array(Id).min(1).max(10_000) }).strict().superRefine((value, ctx) => {\n if (new Set(value.caseIds).size !== value.caseIds.length) ctx.addIssue({ code: \"custom\", message: \"Select each case once.\" });\n});\nexport const ConnectedRecordedSourceSchema = ConnectedCaseRefSchema.extend({ inputHash: Hash, outputHash: Hash.nullable(),\n task: TaskRecordSchema, taskHash: Hash }).strict();\nexport const ConnectedRecordedExecutionSchema = z.object({ schemaVersion: z.literal(\"openpond.connectedRecordedExecution.v1\"),\n id: Id, teamId: Id, ownerUserId: Id, request: ConnectedRecordedExecutionRequestSchema,\n manifest: ExperimentManifestSchema, sources: z.array(ConnectedRecordedSourceSchema).min(1).max(10_000), contentHash: Hash }).strict();\nexport type ConnectedRecordedExecution = z.infer<typeof ConnectedRecordedExecutionSchema>;\nexport function verifyConnectedRecordedExecution(raw: unknown) {\n const value = ConnectedRecordedExecutionSchema.parse(raw), { contentHash: actual, ...body } = value;\n const { contentHash: manifestHash, ...manifest } = value.manifest;\n if (contentHash(body) !== actual || contentHash(manifest) !== manifestHash || value.manifest.teamId !== value.teamId\n || value.manifest.id !== value.id || value.manifest.operationId !== value.request.operationId\n || contentHash(value.manifest.dataset) !== contentHash(value.request.dataset)\n || value.sources.length !== value.request.caseIds.length || value.sources.length !== value.manifest.population.length\n || value.sources.some((source, index) => source.taskHash !== contentHash(source.task) || source.task.id !== value.request.caseIds[index]\n || source.boundaryId !== source.task.id || value.manifest.population[index]?.caseId !== source.boundaryId))\n throw new Error(\"Recorded execution identity or population integrity failed.\");\n return value;\n}\n\nexport const ConnectedRecordedListRequestSchema = z.object({ projectId: Id.optional(), cursor: Id.optional(), limit: z.number().int().min(1).max(50).default(20) }).strict();\nexport const ConnectedRecordedSummarySchema = z.object({ id: Id, teamId: Id, ownerUserId: Id, projectId: Id,\n name: z.string().min(1).max(500), dataset: ConnectedRecordedExecutionRequestSchema.shape.dataset,\n manifestHash: Hash, contentHash: Hash, caseCount: z.number().int().min(1).max(10_000), createdAt: z.string().datetime() }).strict();\nexport const ConnectedRecordedListSchema = z.object({ teamId: Id, items: z.array(ConnectedRecordedSummarySchema).max(50), nextCursor: Id.nullable() }).strict();\n", "import { z } from \"zod\";\nimport { contentHash } from \"@openpond/harness\";\nimport { ConnectedBoundarySchema, ConnectedEventSchema, ConnectedUsageSummarySchema } from \"@openpond/evals/connected-evidence\";\nimport { ConnectedCaptureRequestSchema, ConnectedCaseRefSchema, ConnectedSourceSummarySchema,\n AgentImportUploadPartSchema, AgentImportPreviewRequestSchema, AgentImportCommitRequestSchema } from \"./connected-evidence-contracts.js\";\nimport { ConnectedRecordedExecutionRequestSchema, ConnectedRecordedListSchema, ConnectedRecordedListRequestSchema, verifyConnectedRecordedExecution } from \"./connected-recorded-execution.js\";\nimport { ConnectedDatasetPublicationSchema, type ConnectedDatasetPublication } from \"./connected-dataset-publication.js\";\nimport { DatasetWorkspaceReceiptSchema } from \"./dataset-workspace-contracts.js\";\nimport { fetchConnectedJson } from \"./connected-evidence-http.js\";\nimport { ConnectedCollectionStatusSchema } from \"./connected-collection-status.js\";\nimport { ConnectedStartingAssetsRequestSchema, verifyConnectedStartingAssetsReceipt } from \"./connected-starting-assets.js\";\n\nconst Id = z.string().min(1).max(500), Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ConnectedCollectionSchema = z.object({ teamId: Id, projectId: Id.nullable(), status: z.enum([\"active\", \"paused\", \"archived\"]), revision: z.number().int().nonnegative() }).strict();\nexport const ConnectedCaptureReceiptSchema = z.object({ teamId: Id, operationId: Id, projectId: Id.nullable(),\n outcomes: z.array(z.object({ conversationId: Id, state: z.enum([\"captured\", \"unchanged\", \"pending\", \"paused\", \"excluded\", \"failed\"]),\n sourceId: Id.optional(), snapshotHash: Hash.optional(), reason: z.string().optional() }).strict()).max(50), nextCursor: Id.nullable() }).strict();\nexport const ConnectedCaseReadbackSchema = z.object({ teamId: Id, ref: ConnectedCaseRefSchema, origin: ConnectedSourceSummarySchema.shape.source,\n sessionId: Id, projectId: Id, capturedAt: z.string().datetime(), unmappedEvidence: z.object({ count: z.number().int().nonnegative().max(100_000), contentHash: Hash }).strict(),\n evidence: z.object({ input: z.array(ConnectedEventSchema), observed: z.array(ConnectedEventSchema), answer: z.json(), boundary: ConnectedBoundarySchema }).strict() }).strict();\nexport const ConnectedUnmappedEventsSchema = z.object({ teamId: Id, sourceId: Id, snapshotHash: Hash, contentHash: Hash,\n count: z.number().int().nonnegative(), offset: z.number().int().nonnegative(), events: z.array(ConnectedEventSchema).max(50), nextOffset: z.number().int().nonnegative().nullable() }).strict();\nexport const AgentImportPreviewSchema = z.object({ teamId: Id, source: AgentImportPreviewRequestSchema.shape.source, sourceHash: Hash, previewHash: Hash,\n destination: AgentImportPreviewRequestSchema.shape.destination, issues: z.array(z.object({ file: z.string(), message: z.string() }).strict()).max(100),\n sessions: z.array(z.object({ sessionHash: Hash, sessionId: Id, origin: ConnectedSourceSummarySchema.shape.source, exporterVersion: z.string().nullable(),\n eventCount: z.number().int().nonnegative(), boundaries: z.array(z.object({ id: Id, projection: z.enum([\"turn\", \"conversation\"]), answer: z.boolean(),\n process: z.enum([\"retained\", \"partial\", \"absent\"]), terminal: z.enum([\"completed\", \"failed\", \"cancelled\", \"unknown\"]) }).strict()).max(5_001),\n warnings: z.array(z.string()).max(100), sample: z.array(z.object({ role: z.enum([\"user\", \"assistant\", \"system\", \"tool\"]).nullable(), text: z.string().max(4_000) }).strict()).max(3),\n }).strict()).max(1_000) }).strict();\nexport const AgentImportReceiptSchema = z.object({ teamId: Id, operationId: Id, requestHash: Hash, previewHash: Hash, projectId: Id.optional(),\n state: z.enum([\"admitting\", \"publishing\", \"completed\", \"failed\"]), outcomes: z.array(z.object({ sessionHash: Hash, sourceId: Id,\n status: z.enum([\"imported\", \"already_present\"]), datasets: z.array(z.object({ datasetId: Id, revision: z.number().int().positive(), changed: z.boolean() }).strict()).max(2) }).strict()).max(1_000),\n error: z.string().optional() }).strict();\n\nexport class ConnectedEvidenceError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) { super(message); this.name = \"ConnectedEvidenceError\"; }\n}\nexport class ConnectedEvidenceClient {\n private readonly baseUrl: string;\n constructor(private readonly options: { apiKey: string; baseUrl: string; teamId: string; fetch?: typeof fetch }) {\n const url = new URL(options.baseUrl);\n if (![\"http:\", \"https:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim())\n throw new Error(\"A clean API origin and workspace credentials are required.\");\n this.baseUrl = url.toString().replace(/\\/+$/, \"\");\n }\n async capture(raw: z.input<typeof ConnectedCaptureRequestSchema>, signal?: AbortSignal) {\n const request = ConnectedCaptureRequestSchema.parse(raw), result = ConnectedCaptureReceiptSchema.parse(await this.request(\"/capture\", \"POST\", request, signal));\n this.scope(result.teamId);\n if (result.operationId !== request.operationId || result.outcomes.length > request.limit || request.conversationId && result.outcomes.some(item => item.conversationId !== request.conversationId))\n throw new Error(\"Capture receipt differs from its requested source or operation.\");\n return result;\n }\n async retainStartingAssets(raw: z.input<typeof ConnectedStartingAssetsRequestSchema>, signal?: AbortSignal) {\n const request = ConnectedStartingAssetsRequestSchema.parse(raw);\n const result = verifyConnectedStartingAssetsReceipt(await this.request(\"/starting-assets\", \"POST\", request, signal));\n this.scope(result.teamId);\n if (result.operationId !== request.operationId || result.requestHash !== contentHash(request)\n || contentHash(result.source) !== contentHash(request.source)\n || result.assets.length !== request.proofs.length\n || result.assets.some((asset, index) => asset.path !== request.proofs[index]!.path))\n throw new Error(\"Starting assets differ from the exact source, operation or selected paths.\");\n return result;\n }\n async startingAssets(id: string, signal?: AbortSignal) {\n const result = verifyConnectedStartingAssetsReceipt(await this.request(`/starting-assets/${encodeURIComponent(Id.parse(id))}`, \"GET\", undefined, signal));\n this.scope(result.teamId);\n if (result.id !== id) throw new Error(\"Starting assets identity mismatch.\");\n return result;\n }\n async list(input: { projectId?: string; cursor?: string; limit?: number } = {}, signal?: AbortSignal) {\n const query = z.object({ projectId: Id.optional(), cursor: Id.optional(), limit: z.number().int().min(1).max(50).default(20) }).strict().parse(input);\n const params = new URLSearchParams(Object.entries(query).filter(([, value]) => value !== undefined).map(([key, value]) => [key, String(value)]));\n const page = z.object({ teamId: Id, items: z.array(ConnectedSourceSummarySchema).max(50), nextCursor: Id.nullable() }).strict().parse(await this.request(`?${params}`, \"GET\", undefined, signal));\n this.scope(page.teamId);\n if (page.items.length > query.limit || new Set(page.items.map(item => item.sourceId)).size !== page.items.length || page.nextCursor !== null && page.nextCursor === query.cursor\n || query.projectId && page.items.some(item => item.projectId !== query.projectId)) throw new Error(\"Connected source page differs from its requested scope.\");\n return page;\n }\n async read(raw: z.input<typeof ConnectedCaseRefSchema>, signal?: AbortSignal) {\n const ref = ConnectedCaseRefSchema.parse(raw);\n const result = ConnectedCaseReadbackSchema.parse(await this.request(`/${encodeURIComponent(ref.id)}/cases/${encodeURIComponent(ref.boundaryId)}?snapshotHash=${ref.snapshotHash}&revisionHash=${ref.boundaryRevisionHash}`, \"GET\", undefined, signal));\n this.scope(result.teamId);\n if (contentHash(result.ref) !== contentHash(ref) || result.evidence.boundary.id !== ref.boundaryId || result.evidence.boundary.revisionHash !== ref.boundaryRevisionHash\n || contentHash(result.evidence.input) !== result.evidence.boundary.inputHash || contentHash(result.evidence.observed) !== ref.boundaryRevisionHash\n || result.evidence.boundary.outputHash !== null && contentHash(result.evidence.answer) !== result.evidence.boundary.outputHash)\n throw new Error(\"Connected case readback differs from its exact snapshot or cutoff.\");\n return result;\n }\n async setCollection(paused: boolean, signal?: AbortSignal) {\n const result = ConnectedCollectionSchema.parse(await this.request(\"/collection\", \"PUT\", z.object({ paused: z.boolean() }).strict().parse({ paused }), signal));\n this.scope(result.teamId); return result;\n }\n async collection(signal?: AbortSignal) { const result = ConnectedCollectionSchema.parse(await this.request(\"/collection\", \"GET\", undefined, signal)); this.scope(result.teamId); return result; }\n async collectionStatus(signal?: AbortSignal) {\n const result = ConnectedCollectionStatusSchema.parse(await this.request(\"/collection/status\", \"GET\", undefined, signal));\n this.scope(result.teamId);\n return result;\n }\n async unmappedEvents(input: { id: string; snapshotHash: string; contentHash: string; offset?: number; limit?: number }, signal?: AbortSignal) {\n const request = z.object({ id: Id, snapshotHash: Hash, contentHash: Hash, offset: z.number().int().nonnegative().default(0), limit: z.number().int().min(1).max(50).default(20) }).strict().parse(input);\n const result = ConnectedUnmappedEventsSchema.parse(await this.request(`/${encodeURIComponent(request.id)}/unmapped-events?snapshotHash=${request.snapshotHash}&offset=${request.offset}&limit=${request.limit}`, \"GET\", undefined, signal));\n this.scope(result.teamId);\n if (result.sourceId !== request.id || result.snapshotHash !== request.snapshotHash || result.contentHash !== request.contentHash || result.offset !== request.offset\n || result.events.length > request.limit || result.events.some((event, index) => event.sequence !== request.offset + index)\n || result.nextOffset !== null && result.nextOffset !== request.offset + result.events.length) throw new Error(\"Unmapped source event page differs from its pinned snapshot.\");\n return result;\n }\n async homeSummary(raw: { from: string; to: string; projectId?: string }, signal?: AbortSignal) {\n const querySchema = z.object({ from: z.string().datetime(), to: z.string().datetime(), projectId: Id.optional() }).strict(), query = querySchema.parse(raw);\n const params = new URLSearchParams(Object.entries(query));\n const result = z.object({ teamId: Id, range: querySchema, activity: z.object({ conversations: z.number().int().nonnegative(), turns: z.number().int().nonnegative(),\n chatTurns: z.number().int().nonnegative(), workTurns: z.number().int().nonnegative() }).strict(), accounting: z.object({ contextSnapshots: z.number().int().nonnegative() }).strict(), usage: ConnectedUsageSummarySchema }).strict()\n .parse(await this.request(`/summary?${params}`, \"GET\", undefined, signal));\n this.scope(result.teamId);\n if (contentHash(result.range) !== contentHash(query) || result.activity.chatTurns + result.activity.workTurns !== result.activity.turns) throw new Error(\"Activity summary differs from its requested range.\");\n for (const groups of [result.usage.days, result.usage.modes, result.usage.models]) {\n if (new Set(groups.map(row => row.key)).size !== groups.length) throw new Error(\"Duplicate usage summary group.\");\n for (const key of Object.keys(result.usage.total) as (keyof typeof result.usage.total)[])\n if (groups.reduce((sum, row) => sum + row[key], 0) !== result.usage.total[key]) throw new Error(\"Usage totals differ from their displayed groups.\");\n }\n return result;\n }\n async uploadPart(raw: z.input<typeof AgentImportUploadPartSchema>, signal?: AbortSignal) {\n const body = AgentImportUploadPartSchema.parse(raw), result = z.object({ teamId: Id, hash: Hash, parts: z.number().int(), index: z.number().int() }).strict().parse(await this.request(\"/imports/upload\", \"POST\", body, signal));\n this.scope(result.teamId);\n if (result.hash !== body.hash || result.parts !== body.parts || result.index !== body.index) throw new Error(\"Upload receipt differs from its part identity.\");\n return result;\n }\n async preview(raw: z.input<typeof AgentImportPreviewRequestSchema>, signal?: AbortSignal) {\n const request = AgentImportPreviewRequestSchema.parse(raw), result = AgentImportPreviewSchema.parse(await this.request(\"/imports/preview\", \"POST\", request, signal));\n this.scope(result.teamId);\n if (result.source !== request.source || contentHash(result.destination) !== contentHash(request.destination) || result.sessions.some(session => session.origin !== request.source)\n || new Set(result.sessions.map(session => session.sessionHash)).size !== result.sessions.length) throw new Error(\"Import preview differs from its source or destination.\");\n return result;\n }\n async commit(raw: z.input<typeof AgentImportCommitRequestSchema>, signal?: AbortSignal) {\n const request = AgentImportCommitRequestSchema.parse(raw), result = AgentImportReceiptSchema.parse(await this.request(\"/imports/commit\", \"POST\", request, signal));\n this.scope(result.teamId);\n if (result.operationId !== request.operationId || result.previewHash !== request.previewHash || result.requestHash !== contentHash(request)\n || result.outcomes.some(item => !request.selection.some(selection => selection.sessionHash === item.sessionHash))\n || result.state === \"completed\" && result.outcomes.length !== request.selection.length) throw new Error(\"Import receipt differs from its exact selection or operation.\");\n return result;\n }\n async readImport(operationId: string, signal?: AbortSignal) {\n const id = Id.parse(operationId), result = AgentImportReceiptSchema.parse(await this.request(`/imports/${encodeURIComponent(id)}`, \"GET\", undefined, signal));\n this.scope(result.teamId); if (result.operationId !== id) throw new Error(\"Import identity mismatch.\"); return result;\n }\n async prepareRecorded(raw: z.input<typeof ConnectedRecordedExecutionRequestSchema>, signal?: AbortSignal) {\n const request = ConnectedRecordedExecutionRequestSchema.parse(raw), result = verifyConnectedRecordedExecution(await this.request(\"/recorded-executions\", \"POST\", request, signal));\n this.scope(result.teamId); if (contentHash(result.request) !== contentHash(request)) throw new Error(\"Recorded admission differs from its selected Dataset/cases.\"); return result;\n }\n async listRecordedExecutions(input: z.input<typeof ConnectedRecordedListRequestSchema> = {}, signal?: AbortSignal) {\n const query = ConnectedRecordedListRequestSchema.parse(input);\n const params = new URLSearchParams(Object.entries(query).filter(([, value]) => value !== undefined).map(([key, value]) => [key, String(value)]));\n const page = ConnectedRecordedListSchema.parse(await this.request(`/recorded-executions?${params}`, \"GET\", undefined, signal));\n this.scope(page.teamId);\n if (page.items.length > query.limit || page.items.some((row, index) => row.teamId !== page.teamId || query.projectId && row.projectId !== query.projectId\n || query.cursor && row.id <= query.cursor || index > 0 && row.id <= page.items[index - 1]!.id)\n || page.items.some(row => row.ownerUserId !== page.items[0]?.ownerUserId)\n || page.nextCursor !== null && (query.cursor !== undefined && page.nextCursor <= query.cursor || page.items.length > 0 && page.nextCursor < page.items.at(-1)!.id))\n throw new Error(\"Recorded execution page differs from its requested scope or cursor.\");\n return page;\n }\n async recordedExecution(id: string, signal?: AbortSignal) {\n const result = verifyConnectedRecordedExecution(await this.request(`/recorded-executions/${encodeURIComponent(Id.parse(id))}`, \"GET\", undefined, signal));\n this.scope(result.teamId); if (result.id !== id) throw new Error(\"Recorded execution identity mismatch.\"); return result;\n }\n async publishDataset(input: ConnectedDatasetPublication, signal?: AbortSignal) {\n const request = ConnectedDatasetPublicationSchema.parse(input);\n const result = DatasetWorkspaceReceiptSchema.parse(await this.request(\"/datasets/publish\", \"POST\", request, signal));\n this.scope(result.teamId);\n const frozen = result.workspace.draft.metadata.connectedPublication;\n if (result.datasetId !== request.datasetId || !result.publication || !frozen || typeof frozen !== \"object\" || !(\"requestHash\" in frozen) || frozen.requestHash !== contentHash(request)) throw new Error(\"Published Dataset identity or original selection mismatch.\"); return result;\n }\n async createSelection(input: { operationId: string; projectId: string; name: string; cases: z.input<typeof ConnectedCaseRefSchema>[] }, signal?: AbortSignal) {\n const request = z.object({ operationId: Id.max(240), projectId: Id.max(240), name: z.string().trim().min(1).max(200), cases: z.array(ConnectedCaseRefSchema).min(1).max(500) }).strict().parse(input);\n const result = DatasetWorkspaceReceiptSchema.parse(await this.request(\"/datasets/selection\", \"POST\", request, signal));\n this.scope(result.teamId);\n if (result.originProjectId !== request.projectId || result.workspace.draft.tasks.length !== request.cases.length\n || result.workspace.draft.tasks.some((task, index) => contentHash(task.input && typeof task.input === \"object\" && !Array.isArray(task.input) ? task.input.connectedEvidenceRef : null) !== contentHash(request.cases[index])))\n throw new Error(\"Selected Dataset differs from its exact source population.\");\n return result;\n }\n private scope(teamId: string) { if (teamId !== this.options.teamId) throw new Error(\"Connected evidence workspace mismatch.\"); }\n private async request(path: string, method: string, body?: unknown, signal?: AbortSignal) {\n const { response, value } = await fetchConnectedJson(this.options.fetch ?? fetch, `${this.baseUrl}/v1/connected-evidence${path}`, { method, signal, redirect: \"error\",\n headers: { Authorization: `Bearer ${this.options.apiKey}`, \"X-OpenPond-Team-Id\": this.options.teamId, \"Content-Type\": \"application/json\", Accept: \"application/json\" },\n ...(body === undefined ? {} : { body: JSON.stringify(body) }) }, (status, code, message) => new ConnectedEvidenceError(status, code, message));\n if (!response.ok) { const error = z.object({ code: z.string(), message: z.string() }).safeParse(value);\n throw new ConnectedEvidenceError(response.status, error.success ? error.data.code : \"connected_request_failed\", error.success ? error.data.message : \"Connected evidence request failed.\"); }\n return value;\n }\n}\n", "import { z } from \"zod\";\nimport { RewardReleaseRefSchema } from \"@openpond/evals/rewards\";\n\n/** Publication freezes the owner-selected Dataset revision and exact grader\n * releases. Capture never infers a correctness reference from an answer. */\nexport const ConnectedDatasetPublicationSchema = z.object({\n datasetId: z.string().trim().min(1).max(240),\n expectedRevision: z.number().int().positive(),\n operationId: z.string().trim().min(1).max(240),\n graders: z.array(RewardReleaseRefSchema).min(1).max(100).optional(),\n}).strict().superRefine((request, context) => {\n if (request.graders && new Set(request.graders.map(ref => ref.id)).size !== request.graders.length)\n context.addIssue({ code: \"custom\", path: [\"graders\"], message: \"Choose one exact revision of each grader.\" });\n});\nexport type ConnectedDatasetPublication = z.infer<typeof ConnectedDatasetPublicationSchema>;\n", "import { z } from \"zod\";\n\nconst Id = z.string().min(1).max(500);\nconst Count = z.number().int().nonnegative();\n\n/** Hosted collection health is server reconciliation, never a local heartbeat. */\nexport const ConnectedCollectionStatusSchema = z.object({\n teamId: Id,\n ownerUserId: Id,\n projectId: Id.nullable(),\n status: z.enum([\"active\", \"paused\", \"archived\"]),\n revision: Count,\n state: z.enum([\"collecting\", \"pending\", \"attention\", \"paused\", \"archived\"]),\n lastReconciledAt: z.string().datetime().nullable(),\n lastCapturedAt: z.string().datetime().nullable(),\n historyDays: z.number().int().positive(),\n sources: Count,\n tasks: Count,\n datasets: z.array(z.object({\n datasetId: Id,\n projection: z.enum([\"turn\", \"conversation\"]),\n revision: Count,\n }).strict()).max(2),\n latestBatch: z.object({\n operationId: Id,\n updatedAt: z.string().datetime(),\n scanned: Count,\n captured: Count,\n unchanged: Count,\n pending: Count,\n failed: Count,\n excluded: Count,\n paused: Count,\n hasMore: z.boolean(),\n }).strict().nullable(),\n}).strict();\n\nexport type ConnectedCollectionStatus = z.infer<typeof ConnectedCollectionStatusSchema>;\n", "import { z } from \"zod\";\nimport {\n AgentImportCommitRequestSchema,\n AgentImportPreviewRequestSchema,\n} from \"./connected-evidence-contracts.js\";\nimport { fetchConnectedJson } from \"./connected-evidence-http.js\";\nimport {\n CollectorCoverageManifestSchema,\n CollectorCoverageSummarySchema,\n summarizeCollectorCoverage,\n} from \"@openpond/evals/connected-evidence\";\nconst Id = z.string().trim().min(1).max(240);\nexport const ConnectedSyncCoveragePublishSchema = z\n .object({\n id: Id,\n expectedRevision: z.number().int().positive(),\n manifest: CollectorCoverageManifestSchema,\n })\n .strict()\n .refine(\n (value) =>\n value.id === value.manifest.connectionId &&\n value.expectedRevision === value.manifest.connectionRevision,\n \"Collector coverage scope differs from its connection.\",\n );\nexport const ConnectedSyncCoverageReadSchema = z\n .object({ id: Id, cutoff: z.iso.datetime().optional() })\n .strict();\nexport const ConnectedSyncCoverageReceiptSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.connectedSyncCoverageReceipt.v1\"),\n id: Id,\n teamId: Id,\n ownerUserId: Id,\n connectionId: Id,\n connectionRevision: z.number().int().positive(),\n receivedAt: z.iso.datetime(),\n summary: CollectorCoverageSummarySchema,\n })\n .strict();\nexport const ConnectedSyncRegistrationSchema = z\n .object({\n id: Id,\n source: AgentImportPreviewRequestSchema.shape.source,\n machineId: Id,\n sourceInstanceId: Id,\n sourceLabel: z.string().trim().min(1).max(200),\n sourceRoot: z.string().min(1).max(2000),\n destination: AgentImportPreviewRequestSchema.shape.destination,\n since: z.string().datetime().nullable(),\n keepSyncing: z.boolean(),\n expectedRevision: z.number().int().nonnegative(),\n })\n .strict();\nexport const ConnectedSyncControlSchema = z\n .object({\n id: Id,\n expectedRevision: z.number().int().positive(),\n action: z.enum([\"pause\", \"resume\", \"disconnect\"]),\n })\n .strict();\nexport const ConnectedSyncRequestSchema = z\n .object({\n id: Id,\n operationId: Id,\n expectedRevision: z.number().int().positive(),\n })\n .strict();\nexport const ConnectedSyncHeartbeatSchema = z\n .object({\n id: Id,\n expectedRevision: z.number().int().positive(),\n pendingOperations: z.number().int().min(0).max(10000),\n error: z.string().max(500).nullable(),\n completedSyncRevision: z.number().int().nonnegative().default(0),\n })\n .strict();\nexport const ConnectedSyncConnectionSchema = z\n .object({\n teamId: Id,\n id: Id,\n revision: z.number().int().positive(),\n source: AgentImportPreviewRequestSchema.shape.source,\n sourceLabel: z.string(),\n sourceRoot: z.string(),\n taskDatasetId: Id.nullable(),\n conversationDatasetId: Id.nullable(),\n machineId: Id,\n sourceInstanceId: Id,\n projectId: Id,\n datasetIds: z.array(Id).max(2),\n since: z.string().datetime().nullable(),\n keepSyncing: z.boolean(),\n state: z.enum([\"active\", \"paused\", \"disconnected\"]),\n health: z.enum([\"online\", \"offline\"]),\n lastHeartbeatAt: z.string().datetime().nullable(),\n lastAdmissionAt: z.string().datetime().nullable(),\n pendingOperations: z.number().int().nonnegative(),\n admittedTasks: z.number().int().nonnegative(),\n error: z.string().nullable(),\n requestedSyncRevision: z.number().int().nonnegative().default(0),\n completedSyncRevision: z.number().int().nonnegative().default(0),\n syncRequestedAt: z.string().datetime().nullable().default(null),\n syncCompletedAt: z.string().datetime().nullable().default(null),\n })\n .strict()\n .refine(\n (value) =>\n value.completedSyncRevision <= value.requestedSyncRevision &&\n value.requestedSyncRevision <= value.revision,\n \"Invalid sync acknowledgement generation.\",\n );\nexport const ConnectedSyncCommitSchema = z\n .object({\n connectionId: Id,\n expectedRevision: z.number().int().positive(),\n request: AgentImportCommitRequestSchema,\n })\n .strict();\nexport type ConnectedSyncConnection = z.infer<\n typeof ConnectedSyncConnectionSchema\n>;\nexport class ConnectedSyncClient {\n constructor(\n private readonly options: {\n apiKey: string;\n baseUrl: string;\n teamId: string;\n fetch?: typeof fetch;\n },\n ) {\n const url = new URL(options.baseUrl);\n if (\n ![\"http:\", \"https:\"].includes(url.protocol) ||\n url.username ||\n url.password ||\n url.search ||\n url.hash\n )\n throw new Error(\"Invalid connected-sync API origin.\");\n }\n async list(signal?: AbortSignal) {\n const result = z\n .object({\n teamId: Id,\n items: z.array(ConnectedSyncConnectionSchema).max(100),\n })\n .strict()\n .parse(await this.request(\"\", \"GET\", undefined, signal));\n if (\n result.teamId !== this.options.teamId ||\n result.items.some((item) => item.teamId !== result.teamId)\n )\n throw new Error(\"Sync workspace mismatch.\");\n return result;\n }\n async register(\n raw: z.input<typeof ConnectedSyncRegistrationSchema>,\n signal?: AbortSignal,\n ) {\n return this.connection(\n await this.request(\n \"\",\n \"POST\",\n ConnectedSyncRegistrationSchema.parse(raw),\n signal,\n ),\n raw.id,\n );\n }\n async control(\n raw: z.input<typeof ConnectedSyncControlSchema>,\n signal?: AbortSignal,\n ) {\n return this.connection(\n await this.request(\n \"/control\",\n \"POST\",\n ConnectedSyncControlSchema.parse(raw),\n signal,\n ),\n raw.id,\n );\n }\n async heartbeat(\n raw: z.input<typeof ConnectedSyncHeartbeatSchema>,\n signal?: AbortSignal,\n ) {\n return this.connection(\n await this.request(\n \"/heartbeat\",\n \"POST\",\n ConnectedSyncHeartbeatSchema.parse(raw),\n signal,\n ),\n raw.id,\n );\n }\n async requestSync(\n raw: z.input<typeof ConnectedSyncRequestSchema>,\n signal?: AbortSignal,\n ) {\n return this.connection(\n await this.request(\n \"/sync-now\",\n \"POST\",\n ConnectedSyncRequestSchema.parse(raw),\n signal,\n ),\n raw.id,\n );\n }\n async commit(\n raw: z.input<typeof ConnectedSyncCommitSchema>,\n signal?: AbortSignal,\n ) {\n return this.request(\n \"/commit\",\n \"POST\",\n ConnectedSyncCommitSchema.parse(raw),\n signal,\n );\n }\n async publishCoverage(\n raw: z.input<typeof ConnectedSyncCoveragePublishSchema>,\n signal?: AbortSignal,\n ) {\n const request = ConnectedSyncCoveragePublishSchema.parse(raw);\n const receipt = this.coverageReceipt(\n await this.request(\n \"/coverage\",\n \"POST\",\n { action: \"publish\", ...request },\n signal,\n ),\n request.id,\n );\n if (\n !receipt ||\n receipt.connectionRevision !== request.expectedRevision ||\n receipt.summary.manifestHash !==\n summarizeCollectorCoverage(request.manifest).manifestHash\n )\n throw new Error(\n \"Collector coverage acknowledgement differs from the retained manifest.\",\n );\n return receipt;\n }\n async readCoverage(\n raw: z.input<typeof ConnectedSyncCoverageReadSchema>,\n signal?: AbortSignal,\n ) {\n const request = ConnectedSyncCoverageReadSchema.parse(raw);\n const query = new URLSearchParams(\n request.cutoff ? { cutoff: request.cutoff } : {},\n );\n return this.coverageReceipt(\n await this.request(\n `/${encodeURIComponent(request.id)}/coverage?${query}`,\n \"GET\",\n undefined,\n signal,\n ),\n request.id,\n );\n }\n private coverageReceipt(value: unknown, connectionId: string) {\n if (value === null) return null;\n const receipt = ConnectedSyncCoverageReceiptSchema.parse(value);\n if (\n receipt.teamId !== this.options.teamId ||\n receipt.connectionId !== connectionId\n )\n throw new Error(\"Collector coverage workspace mismatch.\");\n return receipt;\n }\n private connection(raw: unknown, id: string) {\n const result = ConnectedSyncConnectionSchema.parse(raw);\n if (result.teamId !== this.options.teamId || result.id !== id)\n throw new Error(\"Sync connection identity mismatch.\");\n return result;\n }\n private async request(\n path: string,\n method: string,\n body?: unknown,\n signal?: AbortSignal,\n ) {\n const { response, value } = await fetchConnectedJson(\n this.options.fetch ?? fetch,\n `${this.options.baseUrl.replace(/\\/+$/u, \"\")}/v1/connected-evidence/sync/connections${path}`,\n {\n method,\n signal,\n redirect: \"error\",\n headers: {\n Authorization: `Bearer ${this.options.apiKey}`,\n \"X-OpenPond-Team-Id\": this.options.teamId,\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\n ...(body === undefined ? {} : { body: JSON.stringify(body) }),\n },\n (_status, _code, message) => new Error(message),\n );\n if (!response.ok)\n throw Object.assign(\n new Error(`Sync request failed (${response.status}).`),\n { status: response.status },\n );\n return value;\n }\n}\n", "export * from \"./connected-evidence-contracts.js\";\nexport * from \"./connected-dataset-source.js\";\nexport * from \"./connected-recorded-execution.js\";\nexport * from \"./connected-evidence-client.js\";\nexport * from \"./connected-dataset-publication.js\";\nexport * from \"./connected-collection-status.js\";\nexport * from \"./connected-starting-assets.js\";\n\nexport * from \"./connected-sync.js\";\nexport { CollectorCoverageManifestSchema, CollectorCoverageSessionSchema, CollectorCoverageSummarySchema,\n summarizeCollectorCoverage, hashCollectorEligibleBoundaries } from \"@openpond/evals/connected-evidence\";\nexport type { CollectorCoverageManifest, CollectorCoverageSession, CollectorCoverageSummary } from \"@openpond/evals/connected-evidence\";\n"],
5
+ "mappings": "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",
6
+ "names": ["z", "z", "z", "Id", "Id", "z", "Hash", "z", "Id", "z", "CollectorCoverageManifestSchema", "CollectorCoverageSummarySchema", "summarizeCollectorCoverage"]
7
+ }
@@ -2,14 +2,14 @@ import {
2
2
  GeneratedTaskFileSchema,
3
3
  TasksetReadinessReportSchema,
4
4
  TrainingPathRecommendationSchema
5
- } from "./chunk-IS3P4OOW.js";
5
+ } from "./chunk-X6J3VVYC.js";
6
6
  import {
7
7
  GraderFixtureLabelSchema,
8
8
  GraderSpecSchema,
9
9
  TaskPolicyBoundarySchema,
10
10
  TasksetCapabilityManifestSchema,
11
11
  TasksetSplitSchema
12
- } from "./chunk-OLHLJ2X3.js";
12
+ } from "./chunk-644E3NM2.js";
13
13
 
14
14
  // src/task-design-contracts.ts
15
15
  import { z } from "zod";
@@ -97,4 +97,4 @@ export {
97
97
  TaskExampleProposalSchema,
98
98
  TaskDesignProposalSchema
99
99
  };
100
- //# sourceMappingURL=chunk-2NBI5UOK.js.map
100
+ //# sourceMappingURL=chunk-FZYLRL7H.js.map
@@ -6,7 +6,7 @@ import {
6
6
  TasksetPackageSchema,
7
7
  tasksetPackageRewardBinding,
8
8
  validateTasksetPackage
9
- } from "./chunk-OLHLJ2X3.js";
9
+ } from "./chunk-644E3NM2.js";
10
10
  import {
11
11
  HostedModelProjectSummarySchema,
12
12
  HostedModelProjectSyncSchema,
@@ -186,4 +186,4 @@ export {
186
186
  OpenPondTasksetPackageError,
187
187
  OpenPondTasksetPackageClient
188
188
  };
189
- //# sourceMappingURL=chunk-PL3ETQYC.js.map
189
+ //# sourceMappingURL=chunk-LHRHB5EJ.js.map
@@ -1,9 +1,12 @@
1
1
  import {
2
2
  TasksetDraftWorkspaceSchema
3
- } from "./chunk-NA7PNRQZ.js";
3
+ } from "./chunk-WYGBGCRO.js";
4
4
  import {
5
5
  TasksetCatalogReleaseRefSchema
6
6
  } from "./chunk-K3JCP4FO.js";
7
+ import {
8
+ contentHash
9
+ } from "./chunk-COPVBJPL.js";
7
10
 
8
11
  // src/connected-evidence-contracts.ts
9
12
  import { z } from "zod";
@@ -102,6 +105,54 @@ var DatasetWorkspaceListSchema = z2.object({ teamId: Id2, datasets: z2.array(z2.
102
105
  }).strict()).max(100), nextCursor: z2.string().trim().min(1).max(2e3).nullable() }).strict();
103
106
  var DatasetWorkspaceValidationSchema = z2.object({ teamId: Id2, datasetId: Id2, revision: z2.number().int().positive(), workspaceHash: Hash2, packageHash: Hash2, release: TasksetCatalogReleaseRefSchema }).strict();
104
107
 
108
+ // src/connected-starting-assets.ts
109
+ import { z as z3 } from "zod";
110
+ import { ConnectedGitFileProofSchema } from "@openpond/evals/connected-evidence";
111
+ var Id3 = z3.string().trim().min(1).max(240);
112
+ var Hash3 = z3.string().regex(/^[a-f0-9]{64}$/);
113
+ var ConnectedStartingAssetsRequestSchema = z3.object({
114
+ operationId: Id3,
115
+ source: ConnectedCaseRefSchema,
116
+ proofs: z3.array(ConnectedGitFileProofSchema).min(1).max(100)
117
+ }).strict().superRefine((value, ctx) => {
118
+ if (new Set(value.proofs.map((proof) => proof.path)).size !== value.proofs.length)
119
+ ctx.addIssue({ code: "custom", message: "Select each starting path once." });
120
+ if (new TextEncoder().encode(JSON.stringify(value)).byteLength > 15 * 1024 * 1024)
121
+ ctx.addIssue({ code: "custom", message: "Starting assets exceed the retained upload allowance." });
122
+ });
123
+ var ConnectedStartingAssetSchema = z3.object({
124
+ path: ConnectedGitFileProofSchema.shape.path,
125
+ commitHash: z3.string().regex(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/),
126
+ gitObjectHash: z3.string().regex(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/),
127
+ mode: z3.enum(["100644", "100755"]),
128
+ sizeBytes: z3.number().int().nonnegative().max(2 * 1024 * 1024),
129
+ sha256: Hash3
130
+ }).strict();
131
+ var ConnectedStartingAssetsReceiptSchema = z3.object({
132
+ schemaVersion: z3.literal("openpond.connectedStartingAssetsReceipt.v1"),
133
+ id: Id3,
134
+ operationId: Id3,
135
+ teamId: Id3,
136
+ ownerUserId: Id3,
137
+ projectId: Id3,
138
+ requestHash: Hash3,
139
+ source: ConnectedCaseRefSchema,
140
+ inputHash: Hash3,
141
+ observationHash: Hash3,
142
+ assets: z3.array(ConnectedStartingAssetSchema).min(1).max(100),
143
+ selectedPathsUnmodified: z3.literal(true),
144
+ dependencyClosureQualified: z3.literal(false),
145
+ createdAt: z3.iso.datetime(),
146
+ receiptHash: Hash3
147
+ }).strict();
148
+ function verifyConnectedStartingAssetsReceipt(raw) {
149
+ const value = ConnectedStartingAssetsReceiptSchema.parse(raw);
150
+ const { receiptHash, ...body } = value;
151
+ if (contentHash(body) !== receiptHash || value.id !== `starting-assets-${contentHash(value.operationId).slice(0, 40)}` || new Set(value.assets.map((asset) => asset.path)).size !== value.assets.length || value.assets.some((asset) => asset.commitHash !== value.assets[0].commitHash))
152
+ throw new Error("Connected starting assets receipt identity differs from its retained evidence.");
153
+ return value;
154
+ }
155
+
105
156
  export {
106
157
  ConnectedScopeSchema,
107
158
  ConnectedCaseRefSchema,
@@ -121,6 +172,10 @@ export {
121
172
  DatasetWorkspaceBeginVersionSchema,
122
173
  DatasetWorkspaceVersionsSchema,
123
174
  DatasetWorkspaceListSchema,
124
- DatasetWorkspaceValidationSchema
175
+ DatasetWorkspaceValidationSchema,
176
+ ConnectedStartingAssetsRequestSchema,
177
+ ConnectedStartingAssetSchema,
178
+ ConnectedStartingAssetsReceiptSchema,
179
+ verifyConnectedStartingAssetsReceipt
125
180
  };
126
- //# sourceMappingURL=chunk-ILXO64IV.js.map
181
+ //# sourceMappingURL=chunk-SVBV2VEK.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/connected-evidence-contracts.ts", "../src/dataset-workspace-contracts.ts", "../src/connected-starting-assets.ts"],
4
+ "sourcesContent": ["import { z } from \"zod\";\nimport { ConnectedSourceKindSchema, ConnectedBoundarySchema, ConnectedUsageSummarySchema, CONNECTED_EVIDENCE_LIMITS } from \"@openpond/evals/connected-evidence\";\n\nconst Id = z.string().trim().min(1).max(500), Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ConnectedScopeSchema = z.object({ teamId: Id, ownerUserId: Id }).strict();\nexport const ConnectedCaseRefSchema = z.object({ id: Id, snapshotHash: Hash, boundaryId: Id, boundaryRevisionHash: Hash }).strict();\nexport type ConnectedCaseRef = z.infer<typeof ConnectedCaseRefSchema>;\nexport const ConnectedSourceSummarySchema = z.object({ sourceId: Id, source: ConnectedSourceKindSchema, sessionId: Id,\n snapshotHash: Hash, title: z.string().max(500), projectId: Id.nullable(), capturedAt: z.string().datetime(),\n boundaries: z.array(ConnectedBoundarySchema.omit({ start: true, end: true })).max(CONNECTED_EVIDENCE_LIMITS.boundaries) }).strict();\nexport const ConnectedCaptureRequestSchema = z.object({ operationId: Id, conversationId: Id.optional(),\n cursor: Id.optional(), limit: z.number().int().min(1).max(50).default(20) }).strict();\nexport const AgentImportUploadRefSchema = z.object({ hash: Hash, parts: z.number().int().min(1).max(1_500) }).strict();\nexport const AgentImportUploadPartSchema = AgentImportUploadRefSchema.extend({ index: z.number().int().nonnegative().max(1_499), base64: z.string().max(350_000) }).strict();\nexport const AgentImportFileSchema = z.object({ path: z.string().min(1).max(500), encoding: z.enum([\"utf8\", \"zstd\"]), base64: z.string() }).strict();\nexport const AgentImportPreviewRequestSchema = z.object({ upload: AgentImportUploadRefSchema,\n source: z.enum([\"codex\", \"claude_code\", \"hermes\", \"openclaw\", \"opencode\", \"grok_build\", \"pi\", \"oh_my_pi\"]), branchLeafId: Id.optional(), acquisition: z.object({ machineId: Id, sourceInstanceId: Id }).strict().optional(),\n destination: z.discriminatedUnion(\"kind\", [z.object({ kind: z.literal(\"existing\"), projectId: Id }).strict(),\n z.object({ kind: z.literal(\"new\"), name: z.string().trim().min(1).max(200) }).strict()]) }).strict();\nexport const AgentImportCommitRequestSchema = AgentImportPreviewRequestSchema.extend({ operationId: Id, previewHash: Hash,\n selection: z.array(z.object({ sessionHash: Hash, boundaryIds: z.array(Id).min(1).max(CONNECTED_EVIDENCE_LIMITS.boundaries) }).strict()).min(1).max(CONNECTED_EVIDENCE_LIMITS.sessions) }).strict();\nexport const ConnectedHomeQuerySchema = z.object({ from: z.string().datetime(), to: z.string().datetime(), projectId: Id.optional() }).strict();\nexport const ConnectedHomeSummarySchema = z.object({ teamId: Id, range: ConnectedHomeQuerySchema,\n activity: z.object({ conversations: z.number().int().nonnegative(), turns: z.number().int().nonnegative(), chatTurns: z.number().int().nonnegative(), workTurns: z.number().int().nonnegative() }).strict(),\n accounting: z.object({ contextSnapshots: z.number().int().nonnegative() }).strict(), usage: ConnectedUsageSummarySchema }).strict();\n", "import { z } from \"zod\";\nimport { TasksetDraftWorkspaceSchema } from \"./taskset-draft-workspace.js\";\nimport { TasksetCatalogReleaseRefSchema } from \"./taskset-catalog.js\";\nexport { compileTasksetDraftWorkspace } from \"./taskset-draft-package-compiler.js\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const DatasetWorkspaceListQuerySchema = z.object({ cursor: z.string().trim().min(1).max(2_000).optional(), projectId: Id.optional(), search: z.string().trim().max(100).optional(), sort: z.enum([\"id\", \"name\", \"updated\"]).default(\"id\"), limit: z.number().int().min(1).max(100).default(100) }).strict();\nexport const DatasetWorkspaceWriteSchema = z.object({\n operationId: Id, expectedRevision: z.number().int().nonnegative(), originProjectId: Id.optional(), workspace: TasksetDraftWorkspaceSchema,\n ownerScope: z.enum([\"workspace\", \"personal\"]).optional(),\n}).strict().superRefine((value, ctx) => {\n if (value.workspace.draft.modelScope !== null) ctx.addIssue({ code: \"custom\", message: \"Independent datasets cannot carry Model-owned draft preparation.\" });\n if (value.workspace.draft.status !== \"draft\") ctx.addIssue({ code: \"custom\", message: \"Only draft workspaces can be saved.\" });\n});\nexport const DatasetWorkspaceReceiptSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetWorkspaceReceipt.v1\"), teamId: Id, datasetId: Id,\n revision: z.number().int().positive(), originProjectId: Id.optional(), workspace: TasksetDraftWorkspaceSchema,\n ownerScope: z.enum([\"workspace\", \"personal\"]).optional(),\n publication: z.object({ tasksetId: Id, release: TasksetCatalogReleaseRefSchema, packageHash: Hash }).strict().nullable(),\n}).strict().superRefine((value, ctx) => {\n if (value.workspace.draft.id !== value.datasetId || value.workspace.draft.profileId !== value.teamId || value.workspace.draft.revision !== value.revision || value.workspace.draft.modelScope !== null) ctx.addIssue({ code: \"custom\", message: \"Dataset workspace scope/revision mismatch.\" });\n});\nexport const DatasetWorkspacePublishSchema = z.object({ operationId: Id, expectedRevision: z.number().int().positive(), workspaceHash: Hash, packageHash: Hash }).strict();\nexport const DatasetWorkspaceBeginVersionSchema = z.object({ operationId: Id, expectedRevision: z.number().int().positive() }).strict();\nexport const DatasetWorkspaceVersionsSchema = z.object({ teamId: Id, datasetId: Id, items: z.array(z.object({\n workspaceRevision: z.number().int().positive(), publication: DatasetWorkspaceReceiptSchema.shape.publication.unwrap(), publishedAt: z.iso.datetime(),\n}).strict()).max(25), nextBeforeRevision: z.number().int().positive().nullable() }).strict();\nexport type DatasetWorkspaceReceipt = z.infer<typeof DatasetWorkspaceReceiptSchema>;\n\nexport const DatasetWorkspaceListSchema = z.object({ teamId: Id, datasets: z.array(z.object({\n id: Id, revision: z.number().int().positive(), originProjectId: Id.optional(), name: z.string(), status: z.enum([\"draft\", \"published\"]),\n ownerScope: z.enum([\"workspace\", \"personal\"]).optional(),\n taskCount: z.number().int().nonnegative().optional(),\n publication: DatasetWorkspaceReceiptSchema.shape.publication, updatedAt: z.string().datetime(),\n}).strict()).max(100), nextCursor: z.string().trim().min(1).max(2_000).nullable() }).strict();\nexport const DatasetWorkspaceValidationSchema = z.object({ teamId: Id, datasetId: Id, revision: z.number().int().positive(), workspaceHash: Hash, packageHash: Hash, release: TasksetCatalogReleaseRefSchema }).strict();\n", "import { z } from \"zod\";\nimport { contentHash } from \"@openpond/harness\";\nimport { ConnectedGitFileProofSchema } from \"@openpond/evals/connected-evidence\";\nimport { ConnectedCaseRefSchema } from \"./connected-evidence-contracts.js\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ConnectedStartingAssetsRequestSchema = z.object({\n operationId: Id, source: ConnectedCaseRefSchema,\n proofs: z.array(ConnectedGitFileProofSchema).min(1).max(100),\n}).strict().superRefine((value, ctx) => {\n if (new Set(value.proofs.map(proof => proof.path)).size !== value.proofs.length)\n ctx.addIssue({ code: \"custom\", message: \"Select each starting path once.\" });\n if (new TextEncoder().encode(JSON.stringify(value)).byteLength > 15 * 1024 * 1024)\n ctx.addIssue({ code: \"custom\", message: \"Starting assets exceed the retained upload allowance.\" });\n});\nexport const ConnectedStartingAssetSchema = z.object({\n path: ConnectedGitFileProofSchema.shape.path, commitHash: z.string().regex(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/),\n gitObjectHash: z.string().regex(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/),\n mode: z.enum([\"100644\", \"100755\"]), sizeBytes: z.number().int().nonnegative().max(2 * 1024 * 1024), sha256: Hash,\n}).strict();\nexport const ConnectedStartingAssetsReceiptSchema = z.object({\n schemaVersion: z.literal(\"openpond.connectedStartingAssetsReceipt.v1\"),\n id: Id, operationId: Id, teamId: Id, ownerUserId: Id, projectId: Id,\n requestHash: Hash, source: ConnectedCaseRefSchema, inputHash: Hash, observationHash: Hash,\n assets: z.array(ConnectedStartingAssetSchema).min(1).max(100),\n selectedPathsUnmodified: z.literal(true), dependencyClosureQualified: z.literal(false),\n createdAt: z.iso.datetime(), receiptHash: Hash,\n}).strict();\nexport type ConnectedStartingAssetsRequest = z.infer<typeof ConnectedStartingAssetsRequestSchema>;\nexport type ConnectedStartingAssetsReceipt = z.infer<typeof ConnectedStartingAssetsReceiptSchema>;\nexport function verifyConnectedStartingAssetsReceipt(raw: unknown) {\n const value = ConnectedStartingAssetsReceiptSchema.parse(raw);\n const { receiptHash, ...body } = value;\n if (contentHash(body) !== receiptHash || value.id !== `starting-assets-${contentHash(value.operationId).slice(0, 40)}`\n || new Set(value.assets.map(asset => asset.path)).size !== value.assets.length\n || value.assets.some(asset => asset.commitHash !== value.assets[0]!.commitHash))\n throw new Error(\"Connected starting assets receipt identity differs from its retained evidence.\");\n return value;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;AAAA,SAAS,SAAS;AAClB,SAAS,2BAA2B,yBAAyB,6BAA6B,iCAAiC;AAE3H,IAAM,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAA3C,IAA8C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB;AAC/E,IAAM,uBAAuB,EAAE,OAAO,EAAE,QAAQ,IAAI,aAAa,GAAG,CAAC,EAAE,OAAO;AAC9E,IAAM,yBAAyB,EAAE,OAAO,EAAE,IAAI,IAAI,cAAc,MAAM,YAAY,IAAI,sBAAsB,KAAK,CAAC,EAAE,OAAO;AAE3H,IAAM,+BAA+B,EAAE,OAAO;AAAA,EAAE,UAAU;AAAA,EAAI,QAAQ;AAAA,EAA2B,WAAW;AAAA,EACjH,cAAc;AAAA,EAAM,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG;AAAA,EAAG,WAAW,GAAG,SAAS;AAAA,EAAG,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1G,YAAY,EAAE,MAAM,wBAAwB,KAAK,EAAE,OAAO,MAAM,KAAK,KAAK,CAAC,CAAC,EAAE,IAAI,0BAA0B,UAAU;AAAE,CAAC,EAAE,OAAO;AAC7H,IAAM,gCAAgC,EAAE,OAAO;AAAA,EAAE,aAAa;AAAA,EAAI,gBAAgB,GAAG,SAAS;AAAA,EACnG,QAAQ,GAAG,SAAS;AAAA,EAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE;AAAE,CAAC,EAAE,OAAO;AAC/E,IAAM,6BAA6B,EAAE,OAAO,EAAE,MAAM,MAAM,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,IAAK,EAAE,CAAC,EAAE,OAAO;AAC9G,IAAM,8BAA8B,2BAA2B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,IAAK,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,IAAO,EAAE,CAAC,EAAE,OAAO;AACpK,IAAM,wBAAwB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,GAAG,UAAU,EAAE,KAAK,CAAC,QAAQ,MAAM,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO;AAC5I,IAAM,kCAAkC,EAAE,OAAO;AAAA,EAAE,QAAQ;AAAA,EAChE,QAAQ,EAAE,KAAK,CAAC,SAAS,eAAe,UAAU,YAAY,YAAY,cAAc,MAAM,UAAU,CAAC;AAAA,EAAG,cAAc,GAAG,SAAS;AAAA,EAAG,aAAa,EAAE,OAAO,EAAE,WAAW,IAAI,kBAAkB,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1N,aAAa,EAAE,mBAAmB,QAAQ;AAAA,IAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,UAAU,GAAG,WAAW,GAAG,CAAC,EAAE,OAAO;AAAA,IACzG,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,KAAK,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,OAAO;AAAA,EAAC,CAAC;AAAE,CAAC,EAAE,OAAO;AAChG,IAAM,iCAAiC,gCAAgC,OAAO;AAAA,EAAE,aAAa;AAAA,EAAI,aAAa;AAAA,EACnH,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,MAAM,aAAa,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,0BAA0B,UAAU,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,0BAA0B,QAAQ;AAAE,CAAC,EAAE,OAAO;AAC5L,IAAM,2BAA2B,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,EAAE,OAAO,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,EAAE,CAAC,EAAE,OAAO;AACvI,IAAM,6BAA6B,EAAE,OAAO;AAAA,EAAE,QAAQ;AAAA,EAAI,OAAO;AAAA,EACtE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO;AAAA,EAC1M,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO;AAAA,EAAG,OAAO;AAA4B,CAAC,EAAE,OAAO;;;ACxBpI,SAAS,KAAAA,UAAS;AAKlB,IAAMC,MAAKC,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAC3C,IAAMC,QAAOD,GAAE,OAAO,EAAE,MAAM,gBAAgB;AACvC,IAAM,kCAAkCA,GAAE,OAAO,EAAE,QAAQA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS,GAAG,WAAWD,IAAG,SAAS,GAAG,QAAQC,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,SAAS,GAAG,MAAMA,GAAE,KAAK,CAAC,MAAM,QAAQ,SAAS,CAAC,EAAE,QAAQ,IAAI,GAAG,OAAOA,GAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,GAAG,EAAE,CAAC,EAAE,OAAO;AAC1S,IAAM,8BAA8BA,GAAE,OAAO;AAAA,EAClD,aAAaD;AAAA,EAAI,kBAAkBC,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAAG,iBAAiBD,IAAG,SAAS;AAAA,EAAG,WAAW;AAAA,EAC9G,YAAYC,GAAE,KAAK,CAAC,aAAa,UAAU,CAAC,EAAE,SAAS;AACzD,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,QAAQ;AACtC,MAAI,MAAM,UAAU,MAAM,eAAe,KAAM,KAAI,SAAS,EAAE,MAAM,UAAU,SAAS,mEAAmE,CAAC;AAC3J,MAAI,MAAM,UAAU,MAAM,WAAW,QAAS,KAAI,SAAS,EAAE,MAAM,UAAU,SAAS,sCAAsC,CAAC;AAC/H,CAAC;AACM,IAAM,gCAAgCA,GAAE,OAAO;AAAA,EACpD,eAAeA,GAAE,QAAQ,qCAAqC;AAAA,EAAG,QAAQD;AAAA,EAAI,WAAWA;AAAA,EACxF,UAAUC,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAAG,iBAAiBD,IAAG,SAAS;AAAA,EAAG,WAAW;AAAA,EAClF,YAAYC,GAAE,KAAK,CAAC,aAAa,UAAU,CAAC,EAAE,SAAS;AAAA,EACvD,aAAaA,GAAE,OAAO,EAAE,WAAWD,KAAI,SAAS,gCAAgC,aAAaE,MAAK,CAAC,EAAE,OAAO,EAAE,SAAS;AACzH,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,QAAQ;AACtC,MAAI,MAAM,UAAU,MAAM,OAAO,MAAM,aAAa,MAAM,UAAU,MAAM,cAAc,MAAM,UAAU,MAAM,UAAU,MAAM,aAAa,MAAM,YAAY,MAAM,UAAU,MAAM,eAAe,KAAM,KAAI,SAAS,EAAE,MAAM,UAAU,SAAS,6CAA6C,CAAC;AAChS,CAAC;AACM,IAAM,gCAAgCD,GAAE,OAAO,EAAE,aAAaD,KAAI,kBAAkBC,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,eAAeC,OAAM,aAAaA,MAAK,CAAC,EAAE,OAAO;AAClK,IAAM,qCAAqCD,GAAE,OAAO,EAAE,aAAaD,KAAI,kBAAkBC,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO;AAC/H,IAAM,iCAAiCA,GAAE,OAAO,EAAE,QAAQD,KAAI,WAAWA,KAAI,OAAOC,GAAE,MAAMA,GAAE,OAAO;AAAA,EAC1G,mBAAmBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAAG,aAAa,8BAA8B,MAAM,YAAY,OAAO;AAAA,EAAG,aAAaA,GAAE,IAAI,SAAS;AACrJ,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,oBAAoBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO;AAGpF,IAAM,6BAA6BA,GAAE,OAAO,EAAE,QAAQD,KAAI,UAAUC,GAAE,MAAMA,GAAE,OAAO;AAAA,EAC1F,IAAID;AAAA,EAAI,UAAUC,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAAG,iBAAiBD,IAAG,SAAS;AAAA,EAAG,MAAMC,GAAE,OAAO;AAAA,EAAG,QAAQA,GAAE,KAAK,CAAC,SAAS,WAAW,CAAC;AAAA,EACtI,YAAYA,GAAE,KAAK,CAAC,aAAa,UAAU,CAAC,EAAE,SAAS;AAAA,EACvD,WAAWA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS;AAAA,EACnD,aAAa,8BAA8B,MAAM;AAAA,EAAa,WAAWA,GAAE,OAAO,EAAE,SAAS;AAC/F,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG,GAAG,YAAYA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO;AACrF,IAAM,mCAAmCA,GAAE,OAAO,EAAE,QAAQD,KAAI,WAAWA,KAAI,UAAUC,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,eAAeC,OAAM,aAAaA,OAAM,SAAS,+BAA+B,CAAC,EAAE,OAAO;;;ACpCvN,SAAS,KAAAC,UAAS;AAElB,SAAS,mCAAmC;AAG5C,IAAMC,MAAKC,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAC3C,IAAMC,QAAOD,GAAE,OAAO,EAAE,MAAM,gBAAgB;AACvC,IAAM,uCAAuCA,GAAE,OAAO;AAAA,EAC3D,aAAaD;AAAA,EAAI,QAAQ;AAAA,EACzB,QAAQC,GAAE,MAAM,2BAA2B,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAC7D,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,QAAQ;AACtC,MAAI,IAAI,IAAI,MAAM,OAAO,IAAI,WAAS,MAAM,IAAI,CAAC,EAAE,SAAS,MAAM,OAAO;AACvE,QAAI,SAAS,EAAE,MAAM,UAAU,SAAS,kCAAkC,CAAC;AAC7E,MAAI,IAAI,YAAY,EAAE,OAAO,KAAK,UAAU,KAAK,CAAC,EAAE,aAAa,KAAK,OAAO;AAC3E,QAAI,SAAS,EAAE,MAAM,UAAU,SAAS,wDAAwD,CAAC;AACrG,CAAC;AACM,IAAM,+BAA+BA,GAAE,OAAO;AAAA,EACnD,MAAM,4BAA4B,MAAM;AAAA,EAAM,YAAYA,GAAE,OAAO,EAAE,MAAM,iCAAiC;AAAA,EAC5G,eAAeA,GAAE,OAAO,EAAE,MAAM,iCAAiC;AAAA,EACjE,MAAMA,GAAE,KAAK,CAAC,UAAU,QAAQ,CAAC;AAAA,EAAG,WAAWA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,IAAI,OAAO,IAAI;AAAA,EAAG,QAAQC;AAC9G,CAAC,EAAE,OAAO;AACH,IAAM,uCAAuCD,GAAE,OAAO;AAAA,EAC3D,eAAeA,GAAE,QAAQ,4CAA4C;AAAA,EACrE,IAAID;AAAA,EAAI,aAAaA;AAAA,EAAI,QAAQA;AAAA,EAAI,aAAaA;AAAA,EAAI,WAAWA;AAAA,EACjE,aAAaE;AAAA,EAAM,QAAQ;AAAA,EAAwB,WAAWA;AAAA,EAAM,iBAAiBA;AAAA,EACrF,QAAQD,GAAE,MAAM,4BAA4B,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAC5D,yBAAyBA,GAAE,QAAQ,IAAI;AAAA,EAAG,4BAA4BA,GAAE,QAAQ,KAAK;AAAA,EACrF,WAAWA,GAAE,IAAI,SAAS;AAAA,EAAG,aAAaC;AAC5C,CAAC,EAAE,OAAO;AAGH,SAAS,qCAAqC,KAAc;AACjE,QAAM,QAAQ,qCAAqC,MAAM,GAAG;AAC5D,QAAM,EAAE,aAAa,GAAG,KAAK,IAAI;AACjC,MAAI,YAAY,IAAI,MAAM,eAAe,MAAM,OAAO,mBAAmB,YAAY,MAAM,WAAW,EAAE,MAAM,GAAG,EAAE,CAAC,MAC/G,IAAI,IAAI,MAAM,OAAO,IAAI,WAAS,MAAM,IAAI,CAAC,EAAE,SAAS,MAAM,OAAO,UACrE,MAAM,OAAO,KAAK,WAAS,MAAM,eAAe,MAAM,OAAO,CAAC,EAAG,UAAU;AAC9E,UAAM,IAAI,MAAM,gFAAgF;AAClG,SAAO;AACT;",
6
+ "names": ["z", "Id", "z", "Hash", "z", "Id", "z", "Hash"]
7
+ }
@@ -7,10 +7,10 @@ import {
7
7
  importedPackageGraders,
8
8
  learningVerifierModule,
9
9
  projectLearningBatchGraders
10
- } from "./chunk-JPPOMXMY.js";
10
+ } from "./chunk-7MISLCN2.js";
11
11
  import {
12
12
  AuthoredTasksetFileInventorySchema
13
- } from "./chunk-NFLEPINR.js";
13
+ } from "./chunk-BDDT6VN6.js";
14
14
  import {
15
15
  TasksetDraftSchema,
16
16
  configuredTasksetDraftFiles,
@@ -18,11 +18,11 @@ import {
18
18
  createTasksetDraftWorkspace,
19
19
  decodeTasksetDraftWorkspaceFile,
20
20
  isManagedTasksetDraftFilePath
21
- } from "./chunk-NA7PNRQZ.js";
21
+ } from "./chunk-WYGBGCRO.js";
22
22
  import {
23
23
  TasksetSchema,
24
24
  computeTasksetHash
25
- } from "./chunk-IS3P4OOW.js";
25
+ } from "./chunk-X6J3VVYC.js";
26
26
  import {
27
27
  GraderFixtureSchema,
28
28
  TasksetEnvironmentResourceSchema,
@@ -33,7 +33,7 @@ import {
33
33
  resolveTasksetPackageExecution,
34
34
  resolveTasksetPackageInstructions,
35
35
  validateTasksetPackage
36
- } from "./chunk-OLHLJ2X3.js";
36
+ } from "./chunk-644E3NM2.js";
37
37
  import {
38
38
  ModelTasksetDraftPreparationSchema,
39
39
  TasksetDraftFilePathSchema
@@ -346,6 +346,7 @@ async function readReceipt(transaction, request, pointers) {
346
346
  }
347
347
 
348
348
  // src/taskset-package-projection.ts
349
+ import { z } from "zod";
349
350
  import { learningRef as learningRef4, taskBatchPackageMetadata as taskBatchPackageMetadata3, verifyLearningTextAsset as verifyLearningTextAsset2 } from "@openpond/evals/learning";
350
351
  function prepareImportedTasksetPackage(input) {
351
352
  const value = validateTasksetPackage(input.package);
@@ -382,6 +383,7 @@ function prepareImportedTasksetPackage(input) {
382
383
  const authoring = release.metadata.ordinaryAuthoring ?? release.metadata.starterAuthoring;
383
384
  const fixtures = GraderFixtureSchema.array().max(1e5).parse(authoring?.graderFixtures ?? []);
384
385
  const kind = release.environment.kind === "text" ? "chat" : release.environment.kind === "custom_program" ? "program" : release.environment.kind;
386
+ const stagingPaths = z.record(z.string(), z.record(z.string(), z.string())).parse(release.metadata.workAssetStagingPaths ?? {});
385
387
  const projected = TasksetSchema.parse({
386
388
  schemaVersion: "openpond.taskset.v1",
387
389
  id: release.id,
@@ -429,6 +431,7 @@ function prepareImportedTasksetPackage(input) {
429
431
  sourceRefId: source.id,
430
432
  artifactRef: asset.path,
431
433
  fileName: asset.path.split("/").at(-1),
434
+ ...stagingPaths[task.id]?.[asset.id] ? { stagingPath: stagingPaths[task.id][asset.id] } : {},
432
435
  mediaType: asset.mediaType,
433
436
  sha256: asset.contentHash,
434
437
  sizeBytes: asset.sizeBytes,
@@ -486,11 +489,11 @@ function tasksetPackageSourceId(profileId, packageHash) {
486
489
  }
487
490
 
488
491
  // src/taskset-draft-source.ts
489
- import { z } from "zod";
492
+ import { z as z2 } from "zod";
490
493
  import { learningRef as learningRef5, sameLearningRef as sameLearningRef3 } from "@openpond/evals/learning";
491
- var TasksetDraftSourceInitializationSchema = z.object({
494
+ var TasksetDraftSourceInitializationSchema = z2.object({
492
495
  draft: TasksetDraftSchema,
493
- filePaths: z.array(z.object({ assetId: z.string().min(1), paths: z.array(TasksetDraftFilePathSchema).min(1).max(1e4) }).strict()).max(1e4)
496
+ filePaths: z2.array(z2.object({ assetId: z2.string().min(1), paths: z2.array(TasksetDraftFilePathSchema).min(1).max(1e4) }).strict()).max(1e4)
494
497
  }).strict();
495
498
  function prepareTasksetDraftSource(input) {
496
499
  const source = validateTasksetPackage(input.source);
@@ -585,4 +588,4 @@ export {
585
588
  prepareTasksetDraftSource,
586
589
  materializeTasksetDraftWorkspace
587
590
  };
588
- //# sourceMappingURL=chunk-I3QQEXDY.js.map
591
+ //# sourceMappingURL=chunk-UK2KWJIQ.js.map