openpond-sdk 0.9.4 → 0.9.6

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 (31) hide show
  1. package/dist/{chunk-DNBAJUVR.js → chunk-6D4JIOOC.js} +8 -3
  2. package/dist/{chunk-DNBAJUVR.js.map → chunk-6D4JIOOC.js.map} +2 -2
  3. package/dist/dataset-workspaces.js +31 -2
  4. package/dist/dataset-workspaces.js.map +2 -2
  5. package/dist/experiments.js +33 -1
  6. package/dist/experiments.js.map +3 -3
  7. package/dist/learning.js +55 -0
  8. package/dist/learning.js.map +4 -4
  9. package/dist/taskset-packages.js +1 -1
  10. package/dist/training-projects.js +4 -1
  11. package/dist/training-projects.js.map +2 -2
  12. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +1080 -1
  13. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
  14. package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts +34 -0
  15. package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts.map +1 -1
  16. package/dist/types/packages/sdk/src/experiment-client.d.ts +16 -0
  17. package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
  18. package/dist/types/packages/sdk/src/experiment-inspection.d.ts +50 -0
  19. package/dist/types/packages/sdk/src/experiment-inspection.d.ts.map +1 -0
  20. package/dist/types/packages/sdk/src/experiments.d.ts +1 -0
  21. package/dist/types/packages/sdk/src/experiments.d.ts.map +1 -1
  22. package/dist/types/packages/sdk/src/grader-inspection.d.ts +568 -0
  23. package/dist/types/packages/sdk/src/grader-inspection.d.ts.map +1 -0
  24. package/dist/types/packages/sdk/src/learning.d.ts +1 -0
  25. package/dist/types/packages/sdk/src/learning.d.ts.map +1 -1
  26. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts.map +1 -1
  27. package/dist/types/packages/sdk/src/training-project-client.d.ts +4 -0
  28. package/dist/types/packages/sdk/src/training-project-client.d.ts.map +1 -1
  29. package/dist/types/packages/sdk/src/training-project-contracts.d.ts +12 -0
  30. package/dist/types/packages/sdk/src/training-project-contracts.d.ts.map +1 -1
  31. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { DatasetWorkspacePublishSchema, DatasetWorkspaceWriteSchema } from "./dataset-workspace-contracts.js";
1
+ import { DatasetWorkspaceBeginVersionSchema, DatasetWorkspacePublishSchema, DatasetWorkspaceWriteSchema } from "./dataset-workspace-contracts.js";
2
2
  import type { z } from "zod";
3
3
  /** Hosted independent authoring. Writes use explicit revision/operation identity;
4
4
  * callers retain the operation ID when retrying an uncertain response. */
@@ -32,6 +32,7 @@ export declare class OpenPondDatasetWorkspaceClient {
32
32
  } | null;
33
33
  updatedAt: string;
34
34
  originProjectId?: string | undefined;
35
+ ownerScope?: "workspace" | "personal" | undefined;
35
36
  }[];
36
37
  nextCursor: string | null;
37
38
  }>;
@@ -560,6 +561,1082 @@ export declare class OpenPondDatasetWorkspaceClient {
560
561
  packageHash: string;
561
562
  } | null;
562
563
  originProjectId?: string | undefined;
564
+ ownerScope?: "workspace" | "personal" | undefined;
565
+ }>;
566
+ beginVersion(id: string, input: z.input<typeof DatasetWorkspaceBeginVersionSchema>, signal?: AbortSignal): Promise<{
567
+ schemaVersion: "openpond.datasetWorkspaceReceipt.v1";
568
+ teamId: string;
569
+ datasetId: string;
570
+ revision: number;
571
+ workspace: {
572
+ schemaVersion: "openpond.tasksetDraftWorkspace.v1";
573
+ draft: {
574
+ schemaVersion: "openpond.tasksetDraft.v1";
575
+ id: string;
576
+ revision: number;
577
+ profileId: string;
578
+ modelScope: {
579
+ modelId: string;
580
+ expectedModelRevision: number;
581
+ source?: {
582
+ schemaVersion: "openpond.modelTasksetDraftPreparation.v1";
583
+ draftId: string;
584
+ requestHash: string;
585
+ sourcePackageHash: string;
586
+ sourceTasksetRef: {
587
+ id: string;
588
+ contentHash: string;
589
+ revision: number;
590
+ };
591
+ tasksetId: string;
592
+ tasksetRevision: number;
593
+ lineage: {
594
+ schemaVersion: "openpond.modelTasksetAuthoring.v1";
595
+ owner: {
596
+ scopeId: string;
597
+ modelId: string;
598
+ };
599
+ root: {
600
+ id: string;
601
+ contentHash: string;
602
+ revision: number;
603
+ };
604
+ parent: {
605
+ id: string;
606
+ contentHash: string;
607
+ revision: number;
608
+ };
609
+ };
610
+ authoringGraph?: "bound" | undefined;
611
+ } | undefined;
612
+ } | null;
613
+ name: string;
614
+ objective: string;
615
+ purpose: "general" | "benchmark";
616
+ benchmark: {
617
+ schemaVersion: "openpond.tasksetBenchmark.v1";
618
+ definitionId: string;
619
+ releaseId: string;
620
+ releaseHash: string;
621
+ managedReleasePath: string;
622
+ adaptationSplit: "train" | "validation" | "test" | "frozen_eval";
623
+ evaluationSplit: "train" | "validation" | "test" | "frozen_eval";
624
+ primaryMetric: "foreground_tokens" | "success_rate" | "latency_ms" | "cost_usd";
625
+ qualityGate: "none" | "non_regression" | "all_pass";
626
+ source: "builtin" | "imported";
627
+ metadata: Record<string, unknown>;
628
+ } | null;
629
+ preferenceComparison: {
630
+ schemaVersion: "openpond.tasksetPreferenceComparisonBinding.v1";
631
+ releaseId: string;
632
+ releaseHash: string;
633
+ publishedAt: string;
634
+ metadata: Record<string, unknown>;
635
+ } | null;
636
+ status: "draft" | "validating" | "needs_review" | "published";
637
+ sourceRefs: ({
638
+ id: string;
639
+ profileId: string;
640
+ title: string;
641
+ sourceHash: string;
642
+ occurredAt: string;
643
+ licensingStatus: "blocked" | "pending" | "approved" | "review";
644
+ secretScanStatus: "blocked" | "pending" | "passed";
645
+ piiScanStatus: "blocked" | "pending" | "review" | "passed";
646
+ metadata: Record<string, unknown>;
647
+ schemaVersion: "openpond.huggingFaceDatasetSource.v1";
648
+ kind: "huggingface";
649
+ repositoryId: string;
650
+ repositoryUrl: string;
651
+ revision: string;
652
+ configuration: string;
653
+ upstreamSplits: string[];
654
+ gated: boolean;
655
+ private: boolean;
656
+ declaredLicense: string | null;
657
+ sourceFileHashes: string[];
658
+ } | {
659
+ id: string;
660
+ profileId: string;
661
+ title: string;
662
+ sourceHash: string;
663
+ occurredAt: string;
664
+ licensingStatus: "blocked" | "pending" | "approved" | "review";
665
+ secretScanStatus: "blocked" | "pending" | "passed";
666
+ piiScanStatus: "blocked" | "pending" | "review" | "passed";
667
+ metadata: Record<string, unknown>;
668
+ schemaVersion: "openpond.uploadedFileDatasetSource.v1";
669
+ kind: "uploaded_file";
670
+ originalFileNames: string[];
671
+ mediaTypes: string[];
672
+ sourceFileHashes: string[];
673
+ totalBytes: number;
674
+ parserVersion: string;
675
+ } | {
676
+ id: string;
677
+ profileId: string;
678
+ title: string;
679
+ sourceHash: string;
680
+ occurredAt: string;
681
+ licensingStatus: "blocked" | "pending" | "approved" | "review";
682
+ secretScanStatus: "blocked" | "pending" | "passed";
683
+ piiScanStatus: "blocked" | "pending" | "review" | "passed";
684
+ metadata: Record<string, unknown>;
685
+ schemaVersion: "openpond.generatedDatasetSource.v1";
686
+ kind: "generated";
687
+ generatorId: string;
688
+ generatorVersion: string;
689
+ seed: number;
690
+ generatorHash: string;
691
+ } | {
692
+ id: string;
693
+ profileId: string;
694
+ title: string;
695
+ sourceHash: string;
696
+ occurredAt: string;
697
+ licensingStatus: "blocked" | "pending" | "approved" | "review";
698
+ secretScanStatus: "blocked" | "pending" | "passed";
699
+ piiScanStatus: "blocked" | "pending" | "review" | "passed";
700
+ metadata: Record<string, unknown>;
701
+ schemaVersion: "openpond.learningBatchDatasetSource.v1";
702
+ kind: "learning_batch";
703
+ batch: {
704
+ id: string;
705
+ revision: number;
706
+ contentHash: string;
707
+ };
708
+ taskDefinition: {
709
+ id: string;
710
+ revision: number;
711
+ contentHash: string;
712
+ };
713
+ admittedBy: string;
714
+ } | {
715
+ schemaVersion: "openpond.trainingSource.v1";
716
+ id: string;
717
+ profileId: string;
718
+ sessionId: string;
719
+ turnIds: string[];
720
+ workspaceId: string | null;
721
+ sourceHash: string;
722
+ clusterKey: string;
723
+ title: string;
724
+ occurredAt: string;
725
+ consent: {
726
+ status: "pending" | "granted" | "denied" | "revoked";
727
+ scope: "metadata_only" | "selected_turns" | "full_session";
728
+ grantedBy: string | null;
729
+ grantedAt: string | null;
730
+ purpose: "task_authoring_and_evaluation";
731
+ };
732
+ connectedAppIds: string[];
733
+ secretScanStatus: "blocked" | "pending" | "passed";
734
+ piiScanStatus: "blocked" | "pending" | "review" | "passed";
735
+ licensingStatus: "blocked" | "pending" | "approved" | "review";
736
+ metadata: Record<string, unknown>;
737
+ })[];
738
+ policy: {
739
+ policyVisibleFields: string[];
740
+ privilegedFields: string[];
741
+ hiddenGraderRefs: string[];
742
+ connectedAppScopes: string[];
743
+ };
744
+ environment: {
745
+ protocolVersion: "openpond.taskEnvironment.v1";
746
+ kind: "chat" | "agent" | "program" | "stateful_harness" | "work";
747
+ entrypoint: string;
748
+ stateful: boolean;
749
+ deterministicSeeds: boolean;
750
+ toolNames: string[];
751
+ lifecycle: ("create" | "reset" | "step" | "grade" | "cleanup")[];
752
+ defaultTimeoutMs: number;
753
+ networkPolicy: "none" | "declared_read_only" | "declared_scoped";
754
+ metadata: Record<string, unknown>;
755
+ actionBindings?: {
756
+ schemaVersion: "openpond.harnessActionBinding.v1";
757
+ actionId: string;
758
+ modelToolName: string;
759
+ description: string;
760
+ inputSchema: Record<string, unknown>;
761
+ actionSchemaHash: string;
762
+ agentRelease: {
763
+ id: string;
764
+ contentHash: string;
765
+ };
766
+ implementationHash: string;
767
+ runtimeBindingId: string;
768
+ capabilityReceiptHash: string;
769
+ sideEffect: "read" | "write";
770
+ studentVisible: boolean;
771
+ timeoutMs: number;
772
+ episodeArgumentBindings: {
773
+ argument: string;
774
+ source: "case_id";
775
+ }[];
776
+ }[] | undefined;
777
+ resources?: {
778
+ id: string;
779
+ kind: "file" | "configuration" | "catalog" | "code_module";
780
+ path: string;
781
+ visibility: "privileged" | "policy_visible" | "policy_hidden";
782
+ required: boolean;
783
+ metadata: Record<string, unknown>;
784
+ mediaType?: string | null | undefined;
785
+ }[] | undefined;
786
+ };
787
+ output: {
788
+ mode: "text" | "structured_json" | "artifacts";
789
+ jsonSchema: Record<string, unknown> | null;
790
+ renderer: {
791
+ module: string;
792
+ exportName: string;
793
+ configRef: string | null;
794
+ } | null;
795
+ };
796
+ capabilities: {
797
+ schemaVersion: "openpond.tasksetCapabilities.v1";
798
+ taskKind: "chat" | "single_agent" | "multi_agent" | "custom_program";
799
+ supportedSignals: ("label" | "demonstration" | "reward" | "feedback" | "preference" | "correction")[];
800
+ compatibleMethods: ("none" | "retrieval" | "sft" | "dpo" | "grpo" | "ppo" | "sdft" | "opd" | "opsd" | "sdpo")[];
801
+ rewardKinds: ("none" | "exact" | "deterministic" | "model_judge" | "human")[];
802
+ requiresTools: boolean;
803
+ requiresState: boolean;
804
+ requiresPrivilegedGrading: boolean;
805
+ environmentPlacements: ("local" | "remote" | "colocated" | "provider_native")[];
806
+ exportable: boolean;
807
+ portabilityBlockers: string[];
808
+ };
809
+ metrics: {
810
+ schemaVersion: "openpond.tasksetMetricPolicy.v1";
811
+ primaryMetric: string;
812
+ aggregation: "custom" | "mean_score" | "pass_rate" | "weighted_mean";
813
+ missingReward: "zero" | "exclude";
814
+ customAggregator: {
815
+ module: string;
816
+ exportName: string;
817
+ contentHash: string;
818
+ timeoutMs: number;
819
+ networkPolicy: "none";
820
+ } | null;
821
+ taskWeights?: Record<string, number> | undefined;
822
+ };
823
+ review: {
824
+ enabled: boolean;
825
+ candidateCount: number;
826
+ minimumSamples: number;
827
+ allowTies: boolean;
828
+ allowRejectAll: boolean;
829
+ rubric: string;
830
+ criteria: {
831
+ id: string;
832
+ label: string;
833
+ description: string;
834
+ weight: number;
835
+ }[];
836
+ };
837
+ tasks: {
838
+ schemaVersion: "openpond.taskData.v1";
839
+ id: string;
840
+ clusterKey: string;
841
+ split: "train" | "validation" | "test" | "frozen_eval";
842
+ input: Record<string, unknown>;
843
+ expectedOutput: Record<string, unknown> | null;
844
+ policyVisibleContext: Record<string, unknown>;
845
+ privilegedContextRef: string | null;
846
+ tags: string[];
847
+ metadata: Record<string, unknown>;
848
+ sourceRefs: string[];
849
+ assets?: {
850
+ id: string;
851
+ sourceRefId: string;
852
+ artifactRef: string;
853
+ fileName: string;
854
+ mediaType: string;
855
+ sha256: string;
856
+ sizeBytes: number;
857
+ split: "train" | "validation" | "test" | "frozen_eval";
858
+ metadata: Record<string, unknown>;
859
+ }[] | undefined;
860
+ resourceRefs?: string[] | undefined;
861
+ requiredOutputs?: {
862
+ path: string;
863
+ mediaType: string;
864
+ metadata: Record<string, unknown>;
865
+ schemaRef?: string | null | undefined;
866
+ maxBytes?: number | undefined;
867
+ }[] | undefined;
868
+ }[];
869
+ graders: ({
870
+ id: string;
871
+ version: string;
872
+ label: string;
873
+ weight: number;
874
+ hardGate: boolean;
875
+ rewardEligible: boolean;
876
+ privileged: boolean;
877
+ metadata: Record<string, unknown>;
878
+ kind: "file" | "content" | "test" | "schema" | "diff" | "runtime_event" | "state";
879
+ config: Record<string, unknown>;
880
+ } | {
881
+ id: string;
882
+ version: string;
883
+ label: string;
884
+ weight: number;
885
+ hardGate: boolean;
886
+ rewardEligible: boolean;
887
+ privileged: boolean;
888
+ metadata: Record<string, unknown>;
889
+ kind: "model_judge";
890
+ rubric: string;
891
+ judge: {
892
+ providerId: "openpond" | "codex" | "anthropic" | "openai" | "xai" | "google" | "openrouter" | "deepseek" | "zai" | "moonshot" | "together" | "groq" | "custom-openai-compatible";
893
+ modelId: string;
894
+ };
895
+ calibrationFixtureRefs: string[];
896
+ calibrationStatus: "failed" | "pending" | "passed";
897
+ temperature: number;
898
+ } | {
899
+ id: string;
900
+ version: string;
901
+ label: string;
902
+ weight: number;
903
+ hardGate: boolean;
904
+ rewardEligible: boolean;
905
+ privileged: boolean;
906
+ metadata: Record<string, unknown>;
907
+ kind: "human";
908
+ rubric: string;
909
+ reviewerRole: string;
910
+ } | {
911
+ id: string;
912
+ version: string;
913
+ label: string;
914
+ weight: number;
915
+ hardGate: boolean;
916
+ rewardEligible: boolean;
917
+ privileged: boolean;
918
+ metadata: Record<string, unknown>;
919
+ kind: "custom_verifier";
920
+ module: string;
921
+ exportName: string;
922
+ timeoutMs: number;
923
+ networkPolicy: "none";
924
+ runtime?: "isolated_javascript" | "sandbox_process" | undefined;
925
+ })[];
926
+ graderFixtures: {
927
+ id: string;
928
+ taskId: string;
929
+ label: "positive" | "negative" | "boundary" | "adversarial" | "prompt_injection" | "infrastructure_failure";
930
+ output: Record<string, unknown>;
931
+ infrastructureError: string | null;
932
+ expectedPassed: boolean;
933
+ expectedRewardEligible: boolean;
934
+ metadata: Record<string, unknown>;
935
+ }[];
936
+ learningSignals: {
937
+ demonstrations: {
938
+ id: string;
939
+ taskId: string | null;
940
+ sourceRefs: string[];
941
+ artifactRef: string;
942
+ approved: boolean;
943
+ confidence: number;
944
+ metadata: Record<string, unknown>;
945
+ kind: "demonstration";
946
+ prompt: string | null;
947
+ response: string | null;
948
+ }[];
949
+ preferences: {
950
+ id: string;
951
+ taskId: string | null;
952
+ sourceRefs: string[];
953
+ artifactRef: string;
954
+ approved: boolean;
955
+ confidence: number;
956
+ metadata: Record<string, unknown>;
957
+ kind: "preference";
958
+ prompt: string;
959
+ chosen: string;
960
+ rejected: string;
961
+ rationale: string | null;
962
+ }[];
963
+ corrections: {
964
+ id: string;
965
+ taskId: string | null;
966
+ sourceRefs: string[];
967
+ artifactRef: string;
968
+ approved: boolean;
969
+ confidence: number;
970
+ metadata: Record<string, unknown>;
971
+ kind: "correction";
972
+ original: string;
973
+ corrected: string;
974
+ rationale: string | null;
975
+ }[];
976
+ feedback: {
977
+ id: string;
978
+ taskId: string | null;
979
+ sourceRefs: string[];
980
+ artifactRef: string;
981
+ approved: boolean;
982
+ confidence: number;
983
+ metadata: Record<string, unknown>;
984
+ kind: "feedback";
985
+ feedback: string;
986
+ polarity: "neutral" | "positive" | "negative" | "mixed";
987
+ }[];
988
+ rewards: {
989
+ id: string;
990
+ taskId: string | null;
991
+ sourceRefs: string[];
992
+ artifactRef: string;
993
+ approved: boolean;
994
+ confidence: number;
995
+ metadata: Record<string, unknown>;
996
+ kind: "reward";
997
+ task: string;
998
+ rules: {
999
+ id: string;
1000
+ points: number;
1001
+ condition: string;
1002
+ }[];
1003
+ otherwisePoints: number;
1004
+ executable: boolean;
1005
+ }[];
1006
+ labels: {
1007
+ id: string;
1008
+ taskId: string | null;
1009
+ sourceRefs: string[];
1010
+ artifactRef: string;
1011
+ approved: boolean;
1012
+ confidence: number;
1013
+ metadata: Record<string, unknown>;
1014
+ kind: "label";
1015
+ labelKind: "rubric";
1016
+ task: string;
1017
+ criteria: {
1018
+ id: string;
1019
+ label: string;
1020
+ description: string;
1021
+ }[];
1022
+ calibrationExamples: {
1023
+ positive: string;
1024
+ negative: string;
1025
+ boundary: string;
1026
+ };
1027
+ }[];
1028
+ };
1029
+ publishedTasksetRef: {
1030
+ id: string;
1031
+ revision: number;
1032
+ contentHash: string;
1033
+ } | null;
1034
+ createdAt: string;
1035
+ updatedAt: string;
1036
+ metadata: Record<string, unknown>;
1037
+ datasetArtifact?: {
1038
+ schemaVersion: "openpond.datasetArtifact.v1";
1039
+ id: string;
1040
+ tasksetId: string;
1041
+ tasksetRevision: number;
1042
+ contentHash: string;
1043
+ format: "parquet";
1044
+ schema: {
1045
+ schemaVersion: "openpond.datasetSemanticSchema.v1";
1046
+ fields: {
1047
+ name: string;
1048
+ semanticRole: "metadata" | "row_id" | "cluster_id" | "prompt" | "messages" | "demonstration" | "chosen" | "rejected" | "expected_output" | "privileged_context" | "reward" | "feedback" | "tag";
1049
+ logicalType: "string" | "boolean" | "messages" | "integer" | "float" | "json";
1050
+ nullable: boolean;
1051
+ policy: "metadata" | "visible" | "privileged";
1052
+ }[];
1053
+ schemaHash: string;
1054
+ };
1055
+ shards: {
1056
+ id: string;
1057
+ split: "train" | "validation" | "test" | "frozen_eval";
1058
+ path: string;
1059
+ contentHash: string;
1060
+ schemaHash: string;
1061
+ sizeBytes: number;
1062
+ rowCount: number;
1063
+ rowGroupCount: number;
1064
+ }[];
1065
+ rowCount: number;
1066
+ splitCounts: Record<"train" | "validation" | "test" | "frozen_eval", number>;
1067
+ sourceReceiptRefs: string[];
1068
+ mappingHash: string;
1069
+ qualityReportHash: string;
1070
+ createdAt: string;
1071
+ } | null | undefined;
1072
+ };
1073
+ files: {
1074
+ path: string;
1075
+ contentHash: string;
1076
+ sizeBytes: number;
1077
+ base64: string;
1078
+ }[];
1079
+ contentHash: string;
1080
+ };
1081
+ publication: {
1082
+ tasksetId: string;
1083
+ release: {
1084
+ id: string;
1085
+ revision: number;
1086
+ contentHash: string;
1087
+ };
1088
+ packageHash: string;
1089
+ } | null;
1090
+ originProjectId?: string | undefined;
1091
+ ownerScope?: "workspace" | "personal" | undefined;
1092
+ }>;
1093
+ versions(id: string, options?: {
1094
+ beforeRevision?: number;
1095
+ signal?: AbortSignal;
1096
+ }): Promise<{
1097
+ teamId: string;
1098
+ datasetId: string;
1099
+ items: {
1100
+ workspaceRevision: number;
1101
+ publication: {
1102
+ tasksetId: string;
1103
+ release: {
1104
+ id: string;
1105
+ revision: number;
1106
+ contentHash: string;
1107
+ };
1108
+ packageHash: string;
1109
+ };
1110
+ publishedAt: string;
1111
+ }[];
1112
+ nextBeforeRevision: number | null;
1113
+ }>;
1114
+ version(id: string, workspaceRevision: number, signal?: AbortSignal): Promise<{
1115
+ schemaVersion: "openpond.datasetWorkspaceReceipt.v1";
1116
+ teamId: string;
1117
+ datasetId: string;
1118
+ revision: number;
1119
+ workspace: {
1120
+ schemaVersion: "openpond.tasksetDraftWorkspace.v1";
1121
+ draft: {
1122
+ schemaVersion: "openpond.tasksetDraft.v1";
1123
+ id: string;
1124
+ revision: number;
1125
+ profileId: string;
1126
+ modelScope: {
1127
+ modelId: string;
1128
+ expectedModelRevision: number;
1129
+ source?: {
1130
+ schemaVersion: "openpond.modelTasksetDraftPreparation.v1";
1131
+ draftId: string;
1132
+ requestHash: string;
1133
+ sourcePackageHash: string;
1134
+ sourceTasksetRef: {
1135
+ id: string;
1136
+ contentHash: string;
1137
+ revision: number;
1138
+ };
1139
+ tasksetId: string;
1140
+ tasksetRevision: number;
1141
+ lineage: {
1142
+ schemaVersion: "openpond.modelTasksetAuthoring.v1";
1143
+ owner: {
1144
+ scopeId: string;
1145
+ modelId: string;
1146
+ };
1147
+ root: {
1148
+ id: string;
1149
+ contentHash: string;
1150
+ revision: number;
1151
+ };
1152
+ parent: {
1153
+ id: string;
1154
+ contentHash: string;
1155
+ revision: number;
1156
+ };
1157
+ };
1158
+ authoringGraph?: "bound" | undefined;
1159
+ } | undefined;
1160
+ } | null;
1161
+ name: string;
1162
+ objective: string;
1163
+ purpose: "general" | "benchmark";
1164
+ benchmark: {
1165
+ schemaVersion: "openpond.tasksetBenchmark.v1";
1166
+ definitionId: string;
1167
+ releaseId: string;
1168
+ releaseHash: string;
1169
+ managedReleasePath: string;
1170
+ adaptationSplit: "train" | "validation" | "test" | "frozen_eval";
1171
+ evaluationSplit: "train" | "validation" | "test" | "frozen_eval";
1172
+ primaryMetric: "foreground_tokens" | "success_rate" | "latency_ms" | "cost_usd";
1173
+ qualityGate: "none" | "non_regression" | "all_pass";
1174
+ source: "builtin" | "imported";
1175
+ metadata: Record<string, unknown>;
1176
+ } | null;
1177
+ preferenceComparison: {
1178
+ schemaVersion: "openpond.tasksetPreferenceComparisonBinding.v1";
1179
+ releaseId: string;
1180
+ releaseHash: string;
1181
+ publishedAt: string;
1182
+ metadata: Record<string, unknown>;
1183
+ } | null;
1184
+ status: "draft" | "validating" | "needs_review" | "published";
1185
+ sourceRefs: ({
1186
+ id: string;
1187
+ profileId: string;
1188
+ title: string;
1189
+ sourceHash: string;
1190
+ occurredAt: string;
1191
+ licensingStatus: "blocked" | "pending" | "approved" | "review";
1192
+ secretScanStatus: "blocked" | "pending" | "passed";
1193
+ piiScanStatus: "blocked" | "pending" | "review" | "passed";
1194
+ metadata: Record<string, unknown>;
1195
+ schemaVersion: "openpond.huggingFaceDatasetSource.v1";
1196
+ kind: "huggingface";
1197
+ repositoryId: string;
1198
+ repositoryUrl: string;
1199
+ revision: string;
1200
+ configuration: string;
1201
+ upstreamSplits: string[];
1202
+ gated: boolean;
1203
+ private: boolean;
1204
+ declaredLicense: string | null;
1205
+ sourceFileHashes: string[];
1206
+ } | {
1207
+ id: string;
1208
+ profileId: string;
1209
+ title: string;
1210
+ sourceHash: string;
1211
+ occurredAt: string;
1212
+ licensingStatus: "blocked" | "pending" | "approved" | "review";
1213
+ secretScanStatus: "blocked" | "pending" | "passed";
1214
+ piiScanStatus: "blocked" | "pending" | "review" | "passed";
1215
+ metadata: Record<string, unknown>;
1216
+ schemaVersion: "openpond.uploadedFileDatasetSource.v1";
1217
+ kind: "uploaded_file";
1218
+ originalFileNames: string[];
1219
+ mediaTypes: string[];
1220
+ sourceFileHashes: string[];
1221
+ totalBytes: number;
1222
+ parserVersion: string;
1223
+ } | {
1224
+ id: string;
1225
+ profileId: string;
1226
+ title: string;
1227
+ sourceHash: string;
1228
+ occurredAt: string;
1229
+ licensingStatus: "blocked" | "pending" | "approved" | "review";
1230
+ secretScanStatus: "blocked" | "pending" | "passed";
1231
+ piiScanStatus: "blocked" | "pending" | "review" | "passed";
1232
+ metadata: Record<string, unknown>;
1233
+ schemaVersion: "openpond.generatedDatasetSource.v1";
1234
+ kind: "generated";
1235
+ generatorId: string;
1236
+ generatorVersion: string;
1237
+ seed: number;
1238
+ generatorHash: string;
1239
+ } | {
1240
+ id: string;
1241
+ profileId: string;
1242
+ title: string;
1243
+ sourceHash: string;
1244
+ occurredAt: string;
1245
+ licensingStatus: "blocked" | "pending" | "approved" | "review";
1246
+ secretScanStatus: "blocked" | "pending" | "passed";
1247
+ piiScanStatus: "blocked" | "pending" | "review" | "passed";
1248
+ metadata: Record<string, unknown>;
1249
+ schemaVersion: "openpond.learningBatchDatasetSource.v1";
1250
+ kind: "learning_batch";
1251
+ batch: {
1252
+ id: string;
1253
+ revision: number;
1254
+ contentHash: string;
1255
+ };
1256
+ taskDefinition: {
1257
+ id: string;
1258
+ revision: number;
1259
+ contentHash: string;
1260
+ };
1261
+ admittedBy: string;
1262
+ } | {
1263
+ schemaVersion: "openpond.trainingSource.v1";
1264
+ id: string;
1265
+ profileId: string;
1266
+ sessionId: string;
1267
+ turnIds: string[];
1268
+ workspaceId: string | null;
1269
+ sourceHash: string;
1270
+ clusterKey: string;
1271
+ title: string;
1272
+ occurredAt: string;
1273
+ consent: {
1274
+ status: "pending" | "granted" | "denied" | "revoked";
1275
+ scope: "metadata_only" | "selected_turns" | "full_session";
1276
+ grantedBy: string | null;
1277
+ grantedAt: string | null;
1278
+ purpose: "task_authoring_and_evaluation";
1279
+ };
1280
+ connectedAppIds: string[];
1281
+ secretScanStatus: "blocked" | "pending" | "passed";
1282
+ piiScanStatus: "blocked" | "pending" | "review" | "passed";
1283
+ licensingStatus: "blocked" | "pending" | "approved" | "review";
1284
+ metadata: Record<string, unknown>;
1285
+ })[];
1286
+ policy: {
1287
+ policyVisibleFields: string[];
1288
+ privilegedFields: string[];
1289
+ hiddenGraderRefs: string[];
1290
+ connectedAppScopes: string[];
1291
+ };
1292
+ environment: {
1293
+ protocolVersion: "openpond.taskEnvironment.v1";
1294
+ kind: "chat" | "agent" | "program" | "stateful_harness" | "work";
1295
+ entrypoint: string;
1296
+ stateful: boolean;
1297
+ deterministicSeeds: boolean;
1298
+ toolNames: string[];
1299
+ lifecycle: ("create" | "reset" | "step" | "grade" | "cleanup")[];
1300
+ defaultTimeoutMs: number;
1301
+ networkPolicy: "none" | "declared_read_only" | "declared_scoped";
1302
+ metadata: Record<string, unknown>;
1303
+ actionBindings?: {
1304
+ schemaVersion: "openpond.harnessActionBinding.v1";
1305
+ actionId: string;
1306
+ modelToolName: string;
1307
+ description: string;
1308
+ inputSchema: Record<string, unknown>;
1309
+ actionSchemaHash: string;
1310
+ agentRelease: {
1311
+ id: string;
1312
+ contentHash: string;
1313
+ };
1314
+ implementationHash: string;
1315
+ runtimeBindingId: string;
1316
+ capabilityReceiptHash: string;
1317
+ sideEffect: "read" | "write";
1318
+ studentVisible: boolean;
1319
+ timeoutMs: number;
1320
+ episodeArgumentBindings: {
1321
+ argument: string;
1322
+ source: "case_id";
1323
+ }[];
1324
+ }[] | undefined;
1325
+ resources?: {
1326
+ id: string;
1327
+ kind: "file" | "configuration" | "catalog" | "code_module";
1328
+ path: string;
1329
+ visibility: "privileged" | "policy_visible" | "policy_hidden";
1330
+ required: boolean;
1331
+ metadata: Record<string, unknown>;
1332
+ mediaType?: string | null | undefined;
1333
+ }[] | undefined;
1334
+ };
1335
+ output: {
1336
+ mode: "text" | "structured_json" | "artifacts";
1337
+ jsonSchema: Record<string, unknown> | null;
1338
+ renderer: {
1339
+ module: string;
1340
+ exportName: string;
1341
+ configRef: string | null;
1342
+ } | null;
1343
+ };
1344
+ capabilities: {
1345
+ schemaVersion: "openpond.tasksetCapabilities.v1";
1346
+ taskKind: "chat" | "single_agent" | "multi_agent" | "custom_program";
1347
+ supportedSignals: ("label" | "demonstration" | "reward" | "feedback" | "preference" | "correction")[];
1348
+ compatibleMethods: ("none" | "retrieval" | "sft" | "dpo" | "grpo" | "ppo" | "sdft" | "opd" | "opsd" | "sdpo")[];
1349
+ rewardKinds: ("none" | "exact" | "deterministic" | "model_judge" | "human")[];
1350
+ requiresTools: boolean;
1351
+ requiresState: boolean;
1352
+ requiresPrivilegedGrading: boolean;
1353
+ environmentPlacements: ("local" | "remote" | "colocated" | "provider_native")[];
1354
+ exportable: boolean;
1355
+ portabilityBlockers: string[];
1356
+ };
1357
+ metrics: {
1358
+ schemaVersion: "openpond.tasksetMetricPolicy.v1";
1359
+ primaryMetric: string;
1360
+ aggregation: "custom" | "mean_score" | "pass_rate" | "weighted_mean";
1361
+ missingReward: "zero" | "exclude";
1362
+ customAggregator: {
1363
+ module: string;
1364
+ exportName: string;
1365
+ contentHash: string;
1366
+ timeoutMs: number;
1367
+ networkPolicy: "none";
1368
+ } | null;
1369
+ taskWeights?: Record<string, number> | undefined;
1370
+ };
1371
+ review: {
1372
+ enabled: boolean;
1373
+ candidateCount: number;
1374
+ minimumSamples: number;
1375
+ allowTies: boolean;
1376
+ allowRejectAll: boolean;
1377
+ rubric: string;
1378
+ criteria: {
1379
+ id: string;
1380
+ label: string;
1381
+ description: string;
1382
+ weight: number;
1383
+ }[];
1384
+ };
1385
+ tasks: {
1386
+ schemaVersion: "openpond.taskData.v1";
1387
+ id: string;
1388
+ clusterKey: string;
1389
+ split: "train" | "validation" | "test" | "frozen_eval";
1390
+ input: Record<string, unknown>;
1391
+ expectedOutput: Record<string, unknown> | null;
1392
+ policyVisibleContext: Record<string, unknown>;
1393
+ privilegedContextRef: string | null;
1394
+ tags: string[];
1395
+ metadata: Record<string, unknown>;
1396
+ sourceRefs: string[];
1397
+ assets?: {
1398
+ id: string;
1399
+ sourceRefId: string;
1400
+ artifactRef: string;
1401
+ fileName: string;
1402
+ mediaType: string;
1403
+ sha256: string;
1404
+ sizeBytes: number;
1405
+ split: "train" | "validation" | "test" | "frozen_eval";
1406
+ metadata: Record<string, unknown>;
1407
+ }[] | undefined;
1408
+ resourceRefs?: string[] | undefined;
1409
+ requiredOutputs?: {
1410
+ path: string;
1411
+ mediaType: string;
1412
+ metadata: Record<string, unknown>;
1413
+ schemaRef?: string | null | undefined;
1414
+ maxBytes?: number | undefined;
1415
+ }[] | undefined;
1416
+ }[];
1417
+ graders: ({
1418
+ id: string;
1419
+ version: string;
1420
+ label: string;
1421
+ weight: number;
1422
+ hardGate: boolean;
1423
+ rewardEligible: boolean;
1424
+ privileged: boolean;
1425
+ metadata: Record<string, unknown>;
1426
+ kind: "file" | "content" | "test" | "schema" | "diff" | "runtime_event" | "state";
1427
+ config: Record<string, unknown>;
1428
+ } | {
1429
+ id: string;
1430
+ version: string;
1431
+ label: string;
1432
+ weight: number;
1433
+ hardGate: boolean;
1434
+ rewardEligible: boolean;
1435
+ privileged: boolean;
1436
+ metadata: Record<string, unknown>;
1437
+ kind: "model_judge";
1438
+ rubric: string;
1439
+ judge: {
1440
+ providerId: "openpond" | "codex" | "anthropic" | "openai" | "xai" | "google" | "openrouter" | "deepseek" | "zai" | "moonshot" | "together" | "groq" | "custom-openai-compatible";
1441
+ modelId: string;
1442
+ };
1443
+ calibrationFixtureRefs: string[];
1444
+ calibrationStatus: "failed" | "pending" | "passed";
1445
+ temperature: number;
1446
+ } | {
1447
+ id: string;
1448
+ version: string;
1449
+ label: string;
1450
+ weight: number;
1451
+ hardGate: boolean;
1452
+ rewardEligible: boolean;
1453
+ privileged: boolean;
1454
+ metadata: Record<string, unknown>;
1455
+ kind: "human";
1456
+ rubric: string;
1457
+ reviewerRole: string;
1458
+ } | {
1459
+ id: string;
1460
+ version: string;
1461
+ label: string;
1462
+ weight: number;
1463
+ hardGate: boolean;
1464
+ rewardEligible: boolean;
1465
+ privileged: boolean;
1466
+ metadata: Record<string, unknown>;
1467
+ kind: "custom_verifier";
1468
+ module: string;
1469
+ exportName: string;
1470
+ timeoutMs: number;
1471
+ networkPolicy: "none";
1472
+ runtime?: "isolated_javascript" | "sandbox_process" | undefined;
1473
+ })[];
1474
+ graderFixtures: {
1475
+ id: string;
1476
+ taskId: string;
1477
+ label: "positive" | "negative" | "boundary" | "adversarial" | "prompt_injection" | "infrastructure_failure";
1478
+ output: Record<string, unknown>;
1479
+ infrastructureError: string | null;
1480
+ expectedPassed: boolean;
1481
+ expectedRewardEligible: boolean;
1482
+ metadata: Record<string, unknown>;
1483
+ }[];
1484
+ learningSignals: {
1485
+ demonstrations: {
1486
+ id: string;
1487
+ taskId: string | null;
1488
+ sourceRefs: string[];
1489
+ artifactRef: string;
1490
+ approved: boolean;
1491
+ confidence: number;
1492
+ metadata: Record<string, unknown>;
1493
+ kind: "demonstration";
1494
+ prompt: string | null;
1495
+ response: string | null;
1496
+ }[];
1497
+ preferences: {
1498
+ id: string;
1499
+ taskId: string | null;
1500
+ sourceRefs: string[];
1501
+ artifactRef: string;
1502
+ approved: boolean;
1503
+ confidence: number;
1504
+ metadata: Record<string, unknown>;
1505
+ kind: "preference";
1506
+ prompt: string;
1507
+ chosen: string;
1508
+ rejected: string;
1509
+ rationale: string | null;
1510
+ }[];
1511
+ corrections: {
1512
+ id: string;
1513
+ taskId: string | null;
1514
+ sourceRefs: string[];
1515
+ artifactRef: string;
1516
+ approved: boolean;
1517
+ confidence: number;
1518
+ metadata: Record<string, unknown>;
1519
+ kind: "correction";
1520
+ original: string;
1521
+ corrected: string;
1522
+ rationale: string | null;
1523
+ }[];
1524
+ feedback: {
1525
+ id: string;
1526
+ taskId: string | null;
1527
+ sourceRefs: string[];
1528
+ artifactRef: string;
1529
+ approved: boolean;
1530
+ confidence: number;
1531
+ metadata: Record<string, unknown>;
1532
+ kind: "feedback";
1533
+ feedback: string;
1534
+ polarity: "neutral" | "positive" | "negative" | "mixed";
1535
+ }[];
1536
+ rewards: {
1537
+ id: string;
1538
+ taskId: string | null;
1539
+ sourceRefs: string[];
1540
+ artifactRef: string;
1541
+ approved: boolean;
1542
+ confidence: number;
1543
+ metadata: Record<string, unknown>;
1544
+ kind: "reward";
1545
+ task: string;
1546
+ rules: {
1547
+ id: string;
1548
+ points: number;
1549
+ condition: string;
1550
+ }[];
1551
+ otherwisePoints: number;
1552
+ executable: boolean;
1553
+ }[];
1554
+ labels: {
1555
+ id: string;
1556
+ taskId: string | null;
1557
+ sourceRefs: string[];
1558
+ artifactRef: string;
1559
+ approved: boolean;
1560
+ confidence: number;
1561
+ metadata: Record<string, unknown>;
1562
+ kind: "label";
1563
+ labelKind: "rubric";
1564
+ task: string;
1565
+ criteria: {
1566
+ id: string;
1567
+ label: string;
1568
+ description: string;
1569
+ }[];
1570
+ calibrationExamples: {
1571
+ positive: string;
1572
+ negative: string;
1573
+ boundary: string;
1574
+ };
1575
+ }[];
1576
+ };
1577
+ publishedTasksetRef: {
1578
+ id: string;
1579
+ revision: number;
1580
+ contentHash: string;
1581
+ } | null;
1582
+ createdAt: string;
1583
+ updatedAt: string;
1584
+ metadata: Record<string, unknown>;
1585
+ datasetArtifact?: {
1586
+ schemaVersion: "openpond.datasetArtifact.v1";
1587
+ id: string;
1588
+ tasksetId: string;
1589
+ tasksetRevision: number;
1590
+ contentHash: string;
1591
+ format: "parquet";
1592
+ schema: {
1593
+ schemaVersion: "openpond.datasetSemanticSchema.v1";
1594
+ fields: {
1595
+ name: string;
1596
+ semanticRole: "metadata" | "row_id" | "cluster_id" | "prompt" | "messages" | "demonstration" | "chosen" | "rejected" | "expected_output" | "privileged_context" | "reward" | "feedback" | "tag";
1597
+ logicalType: "string" | "boolean" | "messages" | "integer" | "float" | "json";
1598
+ nullable: boolean;
1599
+ policy: "metadata" | "visible" | "privileged";
1600
+ }[];
1601
+ schemaHash: string;
1602
+ };
1603
+ shards: {
1604
+ id: string;
1605
+ split: "train" | "validation" | "test" | "frozen_eval";
1606
+ path: string;
1607
+ contentHash: string;
1608
+ schemaHash: string;
1609
+ sizeBytes: number;
1610
+ rowCount: number;
1611
+ rowGroupCount: number;
1612
+ }[];
1613
+ rowCount: number;
1614
+ splitCounts: Record<"train" | "validation" | "test" | "frozen_eval", number>;
1615
+ sourceReceiptRefs: string[];
1616
+ mappingHash: string;
1617
+ qualityReportHash: string;
1618
+ createdAt: string;
1619
+ } | null | undefined;
1620
+ };
1621
+ files: {
1622
+ path: string;
1623
+ contentHash: string;
1624
+ sizeBytes: number;
1625
+ base64: string;
1626
+ }[];
1627
+ contentHash: string;
1628
+ };
1629
+ publication: {
1630
+ tasksetId: string;
1631
+ release: {
1632
+ id: string;
1633
+ revision: number;
1634
+ contentHash: string;
1635
+ };
1636
+ packageHash: string;
1637
+ } | null;
1638
+ originProjectId?: string | undefined;
1639
+ ownerScope?: "workspace" | "personal" | undefined;
563
1640
  }>;
564
1641
  save(input: z.input<typeof DatasetWorkspaceWriteSchema>, signal?: AbortSignal): Promise<{
565
1642
  schemaVersion: "openpond.datasetWorkspaceReceipt.v1";
@@ -1086,6 +2163,7 @@ export declare class OpenPondDatasetWorkspaceClient {
1086
2163
  packageHash: string;
1087
2164
  } | null;
1088
2165
  originProjectId?: string | undefined;
2166
+ ownerScope?: "workspace" | "personal" | undefined;
1089
2167
  }>;
1090
2168
  validate(id: string, expectedRevision: number, signal?: AbortSignal): Promise<{
1091
2169
  teamId: string;
@@ -1624,6 +2702,7 @@ export declare class OpenPondDatasetWorkspaceClient {
1624
2702
  packageHash: string;
1625
2703
  } | null;
1626
2704
  originProjectId?: string | undefined;
2705
+ ownerScope?: "workspace" | "personal" | undefined;
1627
2706
  }>;
1628
2707
  private readback;
1629
2708
  private request;