openpond-sdk 0.12.20 → 0.12.22

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 (55) hide show
  1. package/OPENTELEMETRY.md +85 -0
  2. package/README.md +4 -0
  3. package/TASK_INGESTION.md +135 -0
  4. package/TRAINING_WORKFLOWS.md +14 -0
  5. package/dist/advanced-refiner-evaluations.js +2 -2
  6. package/dist/{chunk-RN5MK7NH.js → chunk-6EZAGTZG.js} +4 -4
  7. package/dist/{chunk-3MDNVNBM.js → chunk-BNBPKCIR.js} +6 -6
  8. package/dist/chunk-NZRGRUYG.js +140 -0
  9. package/dist/chunk-NZRGRUYG.js.map +1 -0
  10. package/dist/{chunk-RT7SQHO4.js → chunk-SP7DQEQM.js} +2 -2
  11. package/dist/connected-evidence.js +3 -3
  12. package/dist/dataset-workspaces.js +125 -36
  13. package/dist/dataset-workspaces.js.map +1 -1
  14. package/dist/experiment-evaluation-schedules.js +5 -5
  15. package/dist/experiments.js +5 -5
  16. package/dist/index.js +51 -36
  17. package/dist/index.js.map +1 -1
  18. package/dist/opentelemetry.js +92 -0
  19. package/dist/opentelemetry.js.map +1 -0
  20. package/dist/taskset-drafts.js +1 -1
  21. package/dist/taskset-packages.js +13 -13
  22. package/dist/training-bundle.js +10 -10
  23. package/dist/training.js +31 -8
  24. package/dist/training.js.map +1 -1
  25. package/dist/types/packages/sdk/src/dataset-task-ingestion.d.ts +86 -0
  26. package/dist/types/packages/sdk/src/dataset-task-ingestion.d.ts.map +1 -0
  27. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +152 -140
  28. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
  29. package/dist/types/packages/sdk/src/dataset-workspaces.d.ts +1 -0
  30. package/dist/types/packages/sdk/src/dataset-workspaces.d.ts.map +1 -1
  31. package/dist/types/packages/sdk/src/experiment-client.d.ts +77 -77
  32. package/dist/types/packages/sdk/src/experiment-draft-storage.d.ts +112 -0
  33. package/dist/types/packages/sdk/src/experiment-draft-storage.d.ts.map +1 -1
  34. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts +216 -216
  35. package/dist/types/packages/sdk/src/index.d.ts +4 -0
  36. package/dist/types/packages/sdk/src/index.d.ts.map +1 -1
  37. package/dist/types/packages/sdk/src/managed-decision-executions.d.ts +339 -339
  38. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +216 -216
  39. package/dist/types/packages/sdk/src/opentelemetry.d.ts +39 -0
  40. package/dist/types/packages/sdk/src/opentelemetry.d.ts.map +1 -0
  41. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +120 -120
  42. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +20 -20
  43. package/dist/types/packages/sdk/src/training-experiment-setup.d.ts +77 -0
  44. package/dist/types/packages/sdk/src/training-experiment-setup.d.ts.map +1 -1
  45. package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts +25 -25
  46. package/dist/types/packages/sdk/src/training.d.ts +4466 -4466
  47. package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
  48. package/dist/types/packages/sdk/src/types.d.ts +2 -0
  49. package/dist/types/packages/sdk/src/types.d.ts.map +1 -1
  50. package/fixtures/python-foundation/operation-matrix.json +17 -0
  51. package/fixtures/python-foundation/schemas.json +5941 -5001
  52. package/package.json +18 -3
  53. /package/dist/{chunk-RN5MK7NH.js.map → chunk-6EZAGTZG.js.map} +0 -0
  54. /package/dist/{chunk-3MDNVNBM.js.map → chunk-BNBPKCIR.js.map} +0 -0
  55. /package/dist/{chunk-RT7SQHO4.js.map → chunk-SP7DQEQM.js.map} +0 -0
@@ -1,6 +1,14 @@
1
1
  import {
2
2
  TaskDesignProposalSchema
3
3
  } from "./chunk-QIGMNB6M.js";
4
+ import {
5
+ DatasetTaskAppendReceiptSchema,
6
+ DatasetTaskAppendRequestSchema,
7
+ DatasetTaskIngestionError,
8
+ DatasetTaskInputSchema,
9
+ addDatasetTask,
10
+ createTaskAdder
11
+ } from "./chunk-NZRGRUYG.js";
4
12
  import {
5
13
  ConnectedCaseRefSchema,
6
14
  ConnectedStartingAssetSchema,
@@ -15,8 +23,7 @@ import {
15
23
  } from "./chunk-AG6UJ3DI.js";
16
24
  import {
17
25
  compileTasksetDraftWorkspace
18
- } from "./chunk-3MDNVNBM.js";
19
- import "./chunk-GWXJSBWR.js";
26
+ } from "./chunk-BNBPKCIR.js";
20
27
  import {
21
28
  createTasksetDraftFile,
22
29
  createTasksetDraftWorkspace,
@@ -24,6 +31,7 @@ import {
24
31
  decodeTasksetDraftWorkspaceFile,
25
32
  validateTasksetDraftWorkspace
26
33
  } from "./chunk-Q4RGCEOI.js";
34
+ import "./chunk-GWXJSBWR.js";
27
35
  import {
28
36
  TasksetDraftSchema,
29
37
  createTasksetDraft
@@ -34,10 +42,10 @@ import {
34
42
  TasksetEnvironmentContractSchema,
35
43
  TasksetSourceRefSchema
36
44
  } from "./chunk-ZQ6QTYRE.js";
45
+ import "./chunk-TK3DXH7A.js";
37
46
  import {
38
47
  TasksetCatalogReleaseRefSchema
39
48
  } from "./chunk-Z252BNAZ.js";
40
- import "./chunk-TK3DXH7A.js";
41
49
  import "./chunk-H3367ISL.js";
42
50
  import "./chunk-QTNYXOJW.js";
43
51
  import {
@@ -754,89 +762,163 @@ var OpenPondDatasetWorkspaceClient = class {
754
762
  constructor(options) {
755
763
  this.options = options;
756
764
  const url = new URL(options.baseUrl);
757
- if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim()) throw new Error("A clean API origin and workspace credentials are required.");
765
+ if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim())
766
+ throw new Error("A clean API origin and workspace credentials are required.");
758
767
  this.baseUrl = url.toString().replace(/\/+$/, "");
759
768
  this.preparations = new OpenPondDatasetPreparationClient(options);
760
769
  }
761
770
  options;
762
771
  baseUrl;
763
772
  preparations;
773
+ async addTask(id, task, options) {
774
+ return addDatasetTask(this.options, id, task, options);
775
+ }
764
776
  async list(options = {}) {
765
777
  const { signal, ...input } = options;
766
778
  const query = DatasetWorkspaceListQuerySchema.parse(input);
767
- const params = new URLSearchParams(Object.entries(query).filter(([, value]) => value !== void 0).map(([key, value]) => [key, String(value)]));
768
- const result = DatasetWorkspaceListSchema.parse(await this.request(`?${params}`, "GET", void 0, signal));
769
- if (result.teamId !== this.options.teamId || result.datasets.length > query.limit || new Set(result.datasets.map((item) => item.id)).size !== result.datasets.length) throw new Error("Dataset list workspace/page mismatch.");
779
+ const params = new URLSearchParams(
780
+ Object.entries(query).filter(([, value]) => value !== void 0).map(([key, value]) => [key, String(value)])
781
+ );
782
+ const result = DatasetWorkspaceListSchema.parse(
783
+ await this.request(`?${params}`, "GET", void 0, signal)
784
+ );
785
+ if (result.teamId !== this.options.teamId || result.datasets.length > query.limit || new Set(result.datasets.map((item) => item.id)).size !== result.datasets.length)
786
+ throw new Error("Dataset list workspace/page mismatch.");
770
787
  return result;
771
788
  }
772
789
  async get(id, signal) {
773
- return this.readback(await this.request(`/${encodeURIComponent(id)}`, "GET", void 0, signal), id);
790
+ return this.readback(
791
+ await this.request(`/${encodeURIComponent(id)}`, "GET", void 0, signal),
792
+ id
793
+ );
774
794
  }
775
795
  /** Recover only this actor's retained operation; base bytes allow adapters to
776
796
  * reconstruct and verify the identical original CAS request before replay. */
777
797
  async operationResult(operationId, options) {
778
798
  const kind = DatasetWorkspaceOperationKindSchema.parse(options.kind);
779
- const params = new URLSearchParams({ kind, ...options.datasetId ? { datasetId: options.datasetId } : {} });
780
- const raw = await this.request(`/operations/${encodeURIComponent(operationId)}?${params}`, "GET", void 0, options.signal, 132 * 1024 * 1024);
799
+ const params = new URLSearchParams({
800
+ kind,
801
+ ...options.datasetId ? { datasetId: options.datasetId } : {}
802
+ });
803
+ const raw = await this.request(
804
+ `/operations/${encodeURIComponent(operationId)}?${params}`,
805
+ "GET",
806
+ void 0,
807
+ options.signal,
808
+ 132 * 1024 * 1024
809
+ );
781
810
  if (raw === null) return null;
782
811
  const value = DatasetWorkspaceOperationResultSchema.parse(raw);
783
812
  this.readback(value.receipt, value.receipt.datasetId);
784
813
  if (value.base) this.readback(value.base, value.receipt.datasetId);
785
- if (value.operationId !== operationId || value.kind !== kind || options.datasetId && value.receipt.datasetId !== options.datasetId || options.requestHash && value.requestHash !== options.requestHash) throw new Error("Dataset operation recovery identity/request mismatch.");
814
+ if (value.operationId !== operationId || value.kind !== kind || options.datasetId && value.receipt.datasetId !== options.datasetId || options.requestHash && value.requestHash !== options.requestHash)
815
+ throw new Error("Dataset operation recovery identity/request mismatch.");
786
816
  return value;
787
817
  }
788
818
  async beginVersion(id, input, signal) {
789
819
  const request = DatasetWorkspaceBeginVersionSchema.parse(input);
790
- const result = this.readback(await this.request(`/${encodeURIComponent(id)}/begin-version`, "POST", request, signal), id);
791
- if (result.revision !== request.expectedRevision + 1 || result.workspace.draft.status !== "draft" || !result.publication || !result.workspace.draft.publishedTasksetRef) throw new Error("Editable version receipt mismatch.");
820
+ const result = this.readback(
821
+ await this.request(`/${encodeURIComponent(id)}/begin-version`, "POST", request, signal),
822
+ id
823
+ );
824
+ if (result.revision !== request.expectedRevision + 1 || result.workspace.draft.status !== "draft" || !result.publication || !result.workspace.draft.publishedTasksetRef)
825
+ throw new Error("Editable version receipt mismatch.");
792
826
  return result;
793
827
  }
794
828
  async versions(id, options = {}) {
795
- const query = new URLSearchParams(options.beforeRevision === void 0 ? {} : { beforeRevision: String(options.beforeRevision) });
796
- const result = DatasetWorkspaceVersionsSchema.parse(await this.request(`/${encodeURIComponent(id)}/versions?${query}`, "GET", void 0, options.signal));
797
- if (result.teamId !== this.options.teamId || result.datasetId !== id || result.items.some((item, index) => index > 0 && item.workspaceRevision >= result.items[index - 1].workspaceRevision || options.beforeRevision !== void 0 && item.workspaceRevision >= options.beforeRevision)) throw new Error("Dataset version history scope/order mismatch.");
829
+ const query = new URLSearchParams(
830
+ options.beforeRevision === void 0 ? {} : { beforeRevision: String(options.beforeRevision) }
831
+ );
832
+ const result = DatasetWorkspaceVersionsSchema.parse(
833
+ await this.request(
834
+ `/${encodeURIComponent(id)}/versions?${query}`,
835
+ "GET",
836
+ void 0,
837
+ options.signal
838
+ )
839
+ );
840
+ if (result.teamId !== this.options.teamId || result.datasetId !== id || result.items.some(
841
+ (item, index) => index > 0 && item.workspaceRevision >= result.items[index - 1].workspaceRevision || options.beforeRevision !== void 0 && item.workspaceRevision >= options.beforeRevision
842
+ ))
843
+ throw new Error("Dataset version history scope/order mismatch.");
798
844
  return result;
799
845
  }
800
846
  async version(id, workspaceRevision, signal) {
801
- const result = this.readback(await this.request(`/${encodeURIComponent(id)}/versions/${workspaceRevision}`, "GET", void 0, signal), id);
802
- if (result.revision !== workspaceRevision || result.workspace.draft.status !== "published") throw new Error("Dataset immutable version mismatch.");
847
+ const result = this.readback(
848
+ await this.request(
849
+ `/${encodeURIComponent(id)}/versions/${workspaceRevision}`,
850
+ "GET",
851
+ void 0,
852
+ signal
853
+ ),
854
+ id
855
+ );
856
+ if (result.revision !== workspaceRevision || result.workspace.draft.status !== "published")
857
+ throw new Error("Dataset immutable version mismatch.");
803
858
  return result;
804
859
  }
805
860
  async save(input, signal) {
806
861
  const request = DatasetWorkspaceWriteSchema.parse(input);
807
862
  const workspace = validateTasksetDraftWorkspace(request.workspace);
808
- if (workspace.draft.profileId !== this.options.teamId || workspace.draft.revision !== request.expectedRevision + 1) throw new Error("Dataset write scope or revision mismatch.");
809
- const result = this.readback(await this.request(`/${encodeURIComponent(workspace.draft.id)}`, "PUT", request, signal), workspace.draft.id);
810
- if (request.originProjectId && result.originProjectId !== request.originProjectId) throw new Error("Dataset origin Project mismatch.");
811
- if (request.ownerScope && result.ownerScope !== request.ownerScope) throw new Error("Dataset owner scope mismatch.");
812
- if (result.workspace.contentHash !== workspace.contentHash) throw new Error("Dataset write receipt differs from the saved bytes.");
863
+ if (workspace.draft.profileId !== this.options.teamId || workspace.draft.revision !== request.expectedRevision + 1)
864
+ throw new Error("Dataset write scope or revision mismatch.");
865
+ const result = this.readback(
866
+ await this.request(`/${encodeURIComponent(workspace.draft.id)}`, "PUT", request, signal),
867
+ workspace.draft.id
868
+ );
869
+ if (request.originProjectId && result.originProjectId !== request.originProjectId)
870
+ throw new Error("Dataset origin Project mismatch.");
871
+ if (request.ownerScope && result.ownerScope !== request.ownerScope)
872
+ throw new Error("Dataset owner scope mismatch.");
873
+ if (result.workspace.contentHash !== workspace.contentHash)
874
+ throw new Error("Dataset write receipt differs from the saved bytes.");
813
875
  return result;
814
876
  }
815
877
  async validate(id, expectedRevision, signal) {
816
- const result = DatasetWorkspaceValidationSchema.parse(await this.request(`/${encodeURIComponent(id)}/validate`, "POST", { expectedRevision }, signal));
817
- if (result.teamId !== this.options.teamId || result.datasetId !== id || result.revision !== expectedRevision) throw new Error("Dataset validation receipt mismatch.");
878
+ const result = DatasetWorkspaceValidationSchema.parse(
879
+ await this.request(
880
+ `/${encodeURIComponent(id)}/validate`,
881
+ "POST",
882
+ { expectedRevision },
883
+ signal
884
+ )
885
+ );
886
+ if (result.teamId !== this.options.teamId || result.datasetId !== id || result.revision !== expectedRevision)
887
+ throw new Error("Dataset validation receipt mismatch.");
818
888
  return result;
819
889
  }
820
890
  async publish(id, input, signal) {
821
891
  const request = DatasetWorkspacePublishSchema.parse(input);
822
- const result = this.readback(await this.request(`/${encodeURIComponent(id)}/publish`, "POST", request, signal), id);
823
- if (result.revision !== request.expectedRevision + 1 || result.workspace.draft.status !== "published" || result.publication?.packageHash !== request.packageHash) throw new Error("Dataset publication receipt mismatch.");
892
+ const result = this.readback(
893
+ await this.request(`/${encodeURIComponent(id)}/publish`, "POST", request, signal),
894
+ id
895
+ );
896
+ if (result.revision !== request.expectedRevision + 1 || result.workspace.draft.status !== "published" || result.publication?.packageHash !== request.packageHash)
897
+ throw new Error("Dataset publication receipt mismatch.");
824
898
  return result;
825
899
  }
826
900
  readback(value, id) {
827
901
  const result = DatasetWorkspaceReceiptSchema.parse(value);
828
902
  validateTasksetDraftWorkspace(result.workspace);
829
- if (result.datasetId !== id || result.teamId !== this.options.teamId) throw new Error("Dataset identity mismatch.");
903
+ if (result.datasetId !== id || result.teamId !== this.options.teamId)
904
+ throw new Error("Dataset identity mismatch.");
830
905
  return result;
831
906
  }
832
907
  async request(path, method, body, signal, maxResponseBytes) {
833
- const response = await (this.options.fetch ?? fetch)(`${this.baseUrl}/v1/dataset-workspaces${path}`, {
834
- method,
835
- signal,
836
- redirect: "error",
837
- headers: { Authorization: `Bearer ${this.options.apiKey}`, "X-OpenPond-Team-Id": this.options.teamId, "Content-Type": "application/json" },
838
- ...body === void 0 ? {} : { body: JSON.stringify(body) }
839
- });
908
+ const response = await (this.options.fetch ?? fetch)(
909
+ `${this.baseUrl}/v1/dataset-workspaces${path}`,
910
+ {
911
+ method,
912
+ signal,
913
+ redirect: "error",
914
+ headers: {
915
+ Authorization: `Bearer ${this.options.apiKey}`,
916
+ "X-OpenPond-Team-Id": this.options.teamId,
917
+ "Content-Type": "application/json"
918
+ },
919
+ ...body === void 0 ? {} : { body: JSON.stringify(body) }
920
+ }
921
+ );
840
922
  if (!response.ok) throw new Error(`Dataset request failed (${response.status}).`);
841
923
  if (maxResponseBytes !== void 0) {
842
924
  if (!response.body) throw new Error("Dataset response is empty.");
@@ -847,7 +929,8 @@ var OpenPondDatasetWorkspaceClient = class {
847
929
  const part = await reader.read();
848
930
  if (part.done) break;
849
931
  length += part.value.byteLength;
850
- if (length > maxResponseBytes) throw new Error("Dataset recovery exceeds its bounded response.");
932
+ if (length > maxResponseBytes)
933
+ throw new Error("Dataset recovery exceeds its bounded response.");
851
934
  chunks.push(part.value);
852
935
  }
853
936
  } finally {
@@ -1360,6 +1443,10 @@ export {
1360
1443
  DatasetPreparationStageSchema,
1361
1444
  DatasetPreparationStatusSchema,
1362
1445
  DatasetPreparationTaskClassSchema,
1446
+ DatasetTaskAppendReceiptSchema,
1447
+ DatasetTaskAppendRequestSchema,
1448
+ DatasetTaskIngestionError,
1449
+ DatasetTaskInputSchema,
1363
1450
  DatasetWorkspaceBeginVersionSchema,
1364
1451
  DatasetWorkspaceListQuerySchema,
1365
1452
  DatasetWorkspaceListSchema,
@@ -1381,10 +1468,12 @@ export {
1381
1468
  PreparedTaskProvenanceSchema,
1382
1469
  PreparedTaskQualificationSchema,
1383
1470
  PreparedWitnessAdjudicationSchema,
1471
+ addDatasetTask,
1384
1472
  assemblePreparedTaskWorkspaces,
1385
1473
  compileTasksetDraftWorkspace,
1386
1474
  connectedStartingAssetReference,
1387
1475
  createPreparedTaskAuthoringWorkspace,
1476
+ createTaskAdder,
1388
1477
  parseConnectedStartingAssetReference,
1389
1478
  preparedRepositoryEnvironment,
1390
1479
  reconcilePreparationSourceCoverage