openpond-sdk 0.9.9 → 0.10.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 (77) hide show
  1. package/README.md +18 -17
  2. package/dist/{chunk-4HZORGK3.js → chunk-2ZJRG3KL.js} +13 -4
  3. package/dist/chunk-2ZJRG3KL.js.map +7 -0
  4. package/dist/{chunk-YYJ4T4U4.js → chunk-7B44TQZD.js} +2 -2
  5. package/dist/{chunk-KYCQ7LZ4.js → chunk-DSGGM2ME.js} +2 -2
  6. package/dist/chunk-DSGGM2ME.js.map +7 -0
  7. package/dist/{chunk-3HV3G6DG.js → chunk-I2YM3UY4.js} +2 -2
  8. package/dist/{chunk-6D4JIOOC.js → chunk-I3TQTXKB.js} +2 -2
  9. package/dist/{chunk-WOPM32SE.js → chunk-JA3KFK3U.js} +7 -1
  10. package/dist/chunk-JA3KFK3U.js.map +7 -0
  11. package/dist/{chunk-XMKEFQ62.js → chunk-PJ2VLNJF.js} +20 -2
  12. package/dist/chunk-PJ2VLNJF.js.map +7 -0
  13. package/dist/chunk-PRRUBH2B.js +314 -0
  14. package/dist/chunk-PRRUBH2B.js.map +7 -0
  15. package/dist/{chunk-BGXWHDYM.js → chunk-W5TXWVFS.js} +9 -2
  16. package/dist/chunk-W5TXWVFS.js.map +7 -0
  17. package/dist/dataset-workspaces.js +5 -5
  18. package/dist/experiments.js +42 -61
  19. package/dist/experiments.js.map +4 -4
  20. package/dist/index.js +4 -4
  21. package/dist/model-starter-attempts.js +1 -1
  22. package/dist/model-starter-catalog.js +2 -2
  23. package/dist/model-starters.js +8 -4
  24. package/dist/model-taskset-runs.js +2 -2
  25. package/dist/taskset-drafts.js +2 -2
  26. package/dist/taskset-packages.js +7 -5
  27. package/dist/taskset-packages.js.map +1 -1
  28. package/dist/training-bundle.js +2 -2
  29. package/dist/training-projects.js +2 -0
  30. package/dist/training-projects.js.map +2 -2
  31. package/dist/types/packages/sdk/src/dataset-population.d.ts +1 -0
  32. package/dist/types/packages/sdk/src/dataset-population.d.ts.map +1 -1
  33. package/dist/types/packages/sdk/src/experiment-client.d.ts +904 -502
  34. package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
  35. package/dist/types/packages/sdk/src/experiment-contracts.d.ts +51 -2
  36. package/dist/types/packages/sdk/src/experiment-contracts.d.ts.map +1 -1
  37. package/dist/types/packages/sdk/src/experiment-execution-selection.d.ts +58 -0
  38. package/dist/types/packages/sdk/src/experiment-execution-selection.d.ts.map +1 -0
  39. package/dist/types/packages/sdk/src/experiment-harness-catalog.d.ts +24 -0
  40. package/dist/types/packages/sdk/src/experiment-harness-catalog.d.ts.map +1 -0
  41. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts +121 -0
  42. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts.map +1 -0
  43. package/dist/types/packages/sdk/src/experiment-run-details.d.ts +724 -0
  44. package/dist/types/packages/sdk/src/experiment-run-details.d.ts.map +1 -0
  45. package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts +2 -0
  46. package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts.map +1 -1
  47. package/dist/types/packages/sdk/src/experiments.d.ts +4 -1
  48. package/dist/types/packages/sdk/src/experiments.d.ts.map +1 -1
  49. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +156 -0
  50. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
  51. package/dist/types/packages/sdk/src/model-starter-execution.d.ts +1 -0
  52. package/dist/types/packages/sdk/src/model-starter-execution.d.ts.map +1 -1
  53. package/dist/types/packages/sdk/src/model-starters.d.ts +1 -0
  54. package/dist/types/packages/sdk/src/model-starters.d.ts.map +1 -1
  55. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +44 -0
  56. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts.map +1 -1
  57. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +44 -0
  58. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
  59. package/dist/types/packages/sdk/src/taskset-package-client.d.ts +1468 -0
  60. package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
  61. package/dist/types/packages/sdk/src/training-project-client.d.ts +52 -0
  62. package/dist/types/packages/sdk/src/training-project-client.d.ts.map +1 -1
  63. package/dist/types/packages/sdk/src/training-project-contracts.d.ts +65 -0
  64. package/dist/types/packages/sdk/src/training-project-contracts.d.ts.map +1 -1
  65. package/package.json +2 -2
  66. package/dist/chunk-4HZORGK3.js.map +0 -7
  67. package/dist/chunk-4JRSH2TT.js +0 -256
  68. package/dist/chunk-4JRSH2TT.js.map +0 -7
  69. package/dist/chunk-BGXWHDYM.js.map +0 -7
  70. package/dist/chunk-KYCQ7LZ4.js.map +0 -7
  71. package/dist/chunk-WOPM32SE.js.map +0 -7
  72. package/dist/chunk-XMKEFQ62.js.map +0 -7
  73. package/dist/types/packages/sdk/src/experiment-history.d.ts +0 -266
  74. package/dist/types/packages/sdk/src/experiment-history.d.ts.map +0 -1
  75. /package/dist/{chunk-YYJ4T4U4.js.map → chunk-7B44TQZD.js.map} +0 -0
  76. /package/dist/{chunk-3HV3G6DG.js.map → chunk-I2YM3UY4.js.map} +0 -0
  77. /package/dist/{chunk-6D4JIOOC.js.map → chunk-I3TQTXKB.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"taskset-package-client.d.ts","sourceRoot":"","sources":["../../../../../src/taskset-package-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAwG,KAAK,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAO3K;0EAC0E;AAC1E,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAGkG,CAAC;AACtJ,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAagD,CAAC;AAC7F,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQ7B,CAAC;AACZ,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAG9B,CAAC;AACZ,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sCAAsC,CAAC,CAAC;AAEtG,qBAAa,2BAA4B,SAAQ,KAAK;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAArC,MAAM,EAAE,MAAM,EAAW,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAC5E;AAED;iFACiF;AACjF,qBAAa,4BAA4B;;gBAE3B,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;KAAE;IAMnG,OAAO,CAAC,KAAK,EAAE,yBAAyB,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAoCjH,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,cAAc,CAAC;CAwC5L"}
1
+ {"version":3,"file":"taskset-package-client.d.ts","sourceRoot":"","sources":["../../../../../src/taskset-package-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAwG,KAAK,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAO3K;0EAC0E;AAC1E,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAGkG,CAAC;AACtJ,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAagD,CAAC;AAC7F,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQ7B,CAAC;AACZ,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAG9B,CAAC;AACZ,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAGrC,CAAC;AACZ,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sCAAsC,CAAC,CAAC;AAEtG,qBAAa,2BAA4B,SAAQ,KAAK;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAArC,MAAM,EAAE,MAAM,EAAW,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAC5E;AAED;iFACiF;AACjF,qBAAa,4BAA4B;;gBAE3B,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;KAAE;IAMnG,OAAO,CAAC,KAAK,EAAE,yBAAyB,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAoCvH;kFAC8E;IACxE,YAAY,CAAC,SAAS,EAAC,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,EAAC,OAAO,GAAC;QAAC,MAAM,CAAC,EAAC,WAAW,CAAC;QAAA,mBAAmB,CAAC,EAAC,MAAM,CAAA;KAAI,GAAE,OAAO,CAAC,cAAc,CAAC;IAW3J,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,cAAc,CAAC;CAwC5L"}
@@ -92,6 +92,19 @@ export declare class OpenPondTrainingProjectClient {
92
92
  };
93
93
  environmentHash: string;
94
94
  };
95
+ } | {
96
+ kind: "agent";
97
+ source: {
98
+ harnessRelease: {
99
+ id: string;
100
+ contentHash: string;
101
+ };
102
+ agentSnapshot: {
103
+ id: string;
104
+ contentHash: string;
105
+ };
106
+ sourcePackageHash: string;
107
+ };
95
108
  };
96
109
  }[];
97
110
  defaultTargetId: string | null;
@@ -191,6 +204,19 @@ export declare class OpenPondTrainingProjectClient {
191
204
  };
192
205
  environmentHash: string;
193
206
  };
207
+ } | {
208
+ kind: "agent";
209
+ source: {
210
+ harnessRelease: {
211
+ id: string;
212
+ contentHash: string;
213
+ };
214
+ agentSnapshot: {
215
+ id: string;
216
+ contentHash: string;
217
+ };
218
+ sourcePackageHash: string;
219
+ };
194
220
  };
195
221
  }[];
196
222
  defaultTargetId: string | null;
@@ -288,6 +314,19 @@ export declare class OpenPondTrainingProjectClient {
288
314
  };
289
315
  environmentHash: string;
290
316
  };
317
+ } | {
318
+ kind: "agent";
319
+ source: {
320
+ harnessRelease: {
321
+ id: string;
322
+ contentHash: string;
323
+ };
324
+ agentSnapshot: {
325
+ id: string;
326
+ contentHash: string;
327
+ };
328
+ sourcePackageHash: string;
329
+ };
291
330
  };
292
331
  }[];
293
332
  defaultTargetId: string | null;
@@ -389,6 +428,19 @@ export declare class OpenPondTrainingProjectClient {
389
428
  };
390
429
  environmentHash: string;
391
430
  };
431
+ } | {
432
+ kind: "agent";
433
+ source: {
434
+ harnessRelease: {
435
+ id: string;
436
+ contentHash: string;
437
+ };
438
+ agentSnapshot: {
439
+ id: string;
440
+ contentHash: string;
441
+ };
442
+ sourcePackageHash: string;
443
+ };
392
444
  };
393
445
  }[];
394
446
  defaultTargetId: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"training-project-client.d.ts","sourceRoot":"","sources":["../../../../../src/training-project-client.ts"],"names":[],"mappings":"AACA,OAAO,EAA8G,KAAK,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAExL,qBAAa,6BAA6B;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IADpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBACJ,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;KAAE;IAKzG,IAAI,CAAC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAK5D,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACpC,IAAI,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOtD,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,MAAM,CAAC,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM3H,OAAO,CAAC,QAAQ;YAKF,OAAO;CAQtB"}
1
+ {"version":3,"file":"training-project-client.d.ts","sourceRoot":"","sources":["../../../../../src/training-project-client.ts"],"names":[],"mappings":"AACA,OAAO,EAA8G,KAAK,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAExL,qBAAa,6BAA6B;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IADpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBACJ,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;KAAE;IAKzG,IAAI,CAAC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAK5D,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACpC,IAAI,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOtD,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,MAAM,CAAC,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM3H,OAAO,CAAC,QAAQ;YAKF,OAAO;CAQtB"}
@@ -83,6 +83,19 @@ export declare const TrainingTargetSchema: z.ZodDiscriminatedUnion<[z.ZodObject<
83
83
  }, z.core.$strict>], "kind">;
84
84
  environmentHash: z.ZodString;
85
85
  }, z.core.$strict>;
86
+ }, z.core.$strict>, z.ZodObject<{
87
+ kind: z.ZodLiteral<"agent">;
88
+ source: z.ZodObject<{
89
+ harnessRelease: z.ZodObject<{
90
+ id: z.ZodString;
91
+ contentHash: z.ZodString;
92
+ }, z.core.$strict>;
93
+ agentSnapshot: z.ZodObject<{
94
+ id: z.ZodString;
95
+ contentHash: z.ZodString;
96
+ }, z.core.$strict>;
97
+ sourcePackageHash: z.ZodString;
98
+ }, z.core.$strict>;
86
99
  }, z.core.$strict>, z.ZodObject<{
87
100
  kind: z.ZodLiteral<"suite">;
88
101
  profileRepositoryId: z.ZodString;
@@ -161,6 +174,19 @@ export declare const TrainingProjectContentSchema: z.ZodObject<{
161
174
  }, z.core.$strict>], "kind">;
162
175
  environmentHash: z.ZodString;
163
176
  }, z.core.$strict>;
177
+ }, z.core.$strict>, z.ZodObject<{
178
+ kind: z.ZodLiteral<"agent">;
179
+ source: z.ZodObject<{
180
+ harnessRelease: z.ZodObject<{
181
+ id: z.ZodString;
182
+ contentHash: z.ZodString;
183
+ }, z.core.$strict>;
184
+ agentSnapshot: z.ZodObject<{
185
+ id: z.ZodString;
186
+ contentHash: z.ZodString;
187
+ }, z.core.$strict>;
188
+ sourcePackageHash: z.ZodString;
189
+ }, z.core.$strict>;
164
190
  }, z.core.$strict>, z.ZodObject<{
165
191
  kind: z.ZodLiteral<"suite">;
166
192
  profileRepositoryId: z.ZodString;
@@ -281,6 +307,19 @@ export declare const TrainingProjectSchema: z.ZodObject<{
281
307
  }, z.core.$strict>], "kind">;
282
308
  environmentHash: z.ZodString;
283
309
  }, z.core.$strict>;
310
+ }, z.core.$strict>, z.ZodObject<{
311
+ kind: z.ZodLiteral<"agent">;
312
+ source: z.ZodObject<{
313
+ harnessRelease: z.ZodObject<{
314
+ id: z.ZodString;
315
+ contentHash: z.ZodString;
316
+ }, z.core.$strict>;
317
+ agentSnapshot: z.ZodObject<{
318
+ id: z.ZodString;
319
+ contentHash: z.ZodString;
320
+ }, z.core.$strict>;
321
+ sourcePackageHash: z.ZodString;
322
+ }, z.core.$strict>;
284
323
  }, z.core.$strict>, z.ZodObject<{
285
324
  kind: z.ZodLiteral<"suite">;
286
325
  profileRepositoryId: z.ZodString;
@@ -399,6 +438,19 @@ export declare const TrainingProjectWriteSchema: z.ZodObject<{
399
438
  }, z.core.$strict>], "kind">;
400
439
  environmentHash: z.ZodString;
401
440
  }, z.core.$strict>;
441
+ }, z.core.$strict>, z.ZodObject<{
442
+ kind: z.ZodLiteral<"agent">;
443
+ source: z.ZodObject<{
444
+ harnessRelease: z.ZodObject<{
445
+ id: z.ZodString;
446
+ contentHash: z.ZodString;
447
+ }, z.core.$strict>;
448
+ agentSnapshot: z.ZodObject<{
449
+ id: z.ZodString;
450
+ contentHash: z.ZodString;
451
+ }, z.core.$strict>;
452
+ sourcePackageHash: z.ZodString;
453
+ }, z.core.$strict>;
402
454
  }, z.core.$strict>, z.ZodObject<{
403
455
  kind: z.ZodLiteral<"suite">;
404
456
  profileRepositoryId: z.ZodString;
@@ -531,6 +583,19 @@ export declare const TrainingProjectListSchema: z.ZodObject<{
531
583
  }, z.core.$strict>], "kind">;
532
584
  environmentHash: z.ZodString;
533
585
  }, z.core.$strict>;
586
+ }, z.core.$strict>, z.ZodObject<{
587
+ kind: z.ZodLiteral<"agent">;
588
+ source: z.ZodObject<{
589
+ harnessRelease: z.ZodObject<{
590
+ id: z.ZodString;
591
+ contentHash: z.ZodString;
592
+ }, z.core.$strict>;
593
+ agentSnapshot: z.ZodObject<{
594
+ id: z.ZodString;
595
+ contentHash: z.ZodString;
596
+ }, z.core.$strict>;
597
+ sourcePackageHash: z.ZodString;
598
+ }, z.core.$strict>;
534
599
  }, z.core.$strict>, z.ZodObject<{
535
600
  kind: z.ZodLiteral<"suite">;
536
601
  profileRepositoryId: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"training-project-contracts.d.ts","sourceRoot":"","sources":["../../../../../src/training-project-contracts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;EAA+J,CAAC;AACvM,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAG5B,CAAC;AACZ,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAc/B,CAAC;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQvC,CAAC;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAKvB,CAAC;AACZ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAG5B,CAAC;AACZ,eAAO,MAAM,4BAA4B;;;;kBAA4F,CAAC;AACtI,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAkH,CAAC;AACzJ,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQ3C,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"training-project-contracts.d.ts","sourceRoot":"","sources":["../../../../../src/training-project-contracts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;EAA+J,CAAC;AACvM,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAG5B,CAAC;AACZ,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAe/B,CAAC;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQvC,CAAC;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAKvB,CAAC;AACZ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAG5B,CAAC;AACZ,eAAO,MAAM,4BAA4B;;;;kBAA4F,CAAC;AACtI,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAkH,CAAC;AACzJ,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQ3C,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openpond-sdk",
3
- "version": "0.9.9",
3
+ "version": "0.10.0",
4
4
  "description": "Server-side TypeScript SDK for OpenPond sandboxes and agentic work",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -155,7 +155,7 @@
155
155
  "vitest": "4.1.10"
156
156
  },
157
157
  "dependencies": {
158
- "@openpond/evals": "^0.11.13",
158
+ "@openpond/evals": "^0.11.16",
159
159
  "@openpond/harness": "^0.4.2",
160
160
  "yaml": "^2.9.0",
161
161
  "esbuild": "0.28.1",
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/experiment-field-mappings.ts", "../src/experiment-contracts.ts"],
4
- "sourcesContent": ["import { z } from \"zod\";\n\nconst Segment = z.string().min(1).max(200).refine(value => ![\"__proto__\", \"prototype\", \"constructor\"].includes(value), \"Use an ordinary field name.\");\nconst Path = z.array(Segment).min(1).max(20);\nconst Slot = z.enum([\"input\", \"output\", \"expectedOutput\", \"evaluatorContext\"]);\nexport const ExperimentFieldMappingSchema = z.object({\n destination: Slot, path: Path, source: Slot, sourcePath: z.array(Segment).max(20),\n}).strict();\nexport const ExperimentFieldMappingsSchema = z.array(ExperimentFieldMappingSchema).max(100).superRefine((mappings, context) => {\n for (const [index, mapping] of mappings.entries()) {\n if (mappings.slice(0, index).some(previous => previous.destination === mapping.destination\n && (prefix(previous.path, mapping.path) || prefix(mapping.path, previous.path))))\n context.addIssue({ code: \"custom\", path: [index, \"path\"], message: \"Mapped destination paths must not overlap.\" });\n }\n});\nexport type ExperimentFieldMapping = z.infer<typeof ExperimentFieldMappingSchema>;\nexport type ExperimentGradingFields = { input: Record<string, unknown>; output: Record<string, unknown>; expectedOutput: Record<string, unknown> | null; evaluatorContext: Record<string, unknown> | null };\n\n/** Map only grader evidence. The caller must never use this projection as a policy input. */\nexport function mapExperimentGradingFields(fields: ExperimentGradingFields, raw: readonly ExperimentFieldMapping[]): ExperimentGradingFields {\n const mappings = ExperimentFieldMappingsSchema.parse(raw);\n const mapped = structuredClone(fields);\n for (const mapping of mappings) {\n let value: unknown = fields[mapping.source];\n for (const segment of mapping.sourcePath) {\n if (!record(value) || !Object.hasOwn(value, segment)) throw new Error(\"The configured grader source field is unavailable.\");\n value = value[segment];\n }\n if (value === undefined) throw new Error(\"The configured grader source field is unavailable.\");\n let destination = mapped[mapping.destination];\n if (destination === null) mapped[mapping.destination] = destination = {};\n for (const segment of mapping.path.slice(0, -1)) {\n const existing: unknown = Object.hasOwn(destination, segment) ? destination[segment] : undefined;\n if (existing !== undefined && !record(existing)) throw new Error(\"A grader destination path crosses a scalar field.\");\n if (existing === undefined) destination[segment] = {};\n destination = destination[segment] as Record<string, unknown>;\n }\n destination[mapping.path.at(-1)!] = structuredClone(value);\n }\n return mapped;\n}\nfunction record(value: unknown): value is Record<string, unknown> { return value !== null && typeof value === \"object\" && !Array.isArray(value); }\nfunction prefix(left: string[], right: string[]) { return left.length <= right.length && left.every((segment, index) => segment === right[index]); }\n", "import { contentHash } from \"@openpond/harness\";\nimport { FeedbackKeySchema } from \"@openpond/evals/rewards\";\nimport { ModelTasksetRunRequestSchema } from \"./model-taskset-runs-contracts.js\";\nimport { TasksetRunManifestSchema } from \"@openpond/evals/metrics\";\nimport { z } from \"zod\";\nimport { ExperimentFieldMappingsSchema } from \"./experiment-field-mappings.js\";\n\nconst Id = z.string().trim().min(1).max(200);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ExperimentDefinitionRefSchema = z.object({\n id: Id, revision: z.number().int().positive(), contentHash: Hash,\n}).strict();\nexport const ExperimentGraderPinSchema = z.object({\n id: Id, version: z.string().min(1).max(200), contentHash: Hash,\n feedbackKey: FeedbackKeySchema,\n release: ExperimentDefinitionRefSchema.nullable(),\n mappings: ExperimentFieldMappingsSchema.optional(),\n}).strict();\nexport const ExperimentGraderSelectionSchema = z.object({ id: Id, version: z.string().min(1).max(200), contentHash: Hash, mappings: ExperimentFieldMappingsSchema }).strict();\nexport const SaveExperimentSchema = z.object({\n operationId: Id,\n id: Id.optional(), expectedRevision: z.number().int().nonnegative(),\n request: ModelTasksetRunRequestSchema,\n maximumCostUsd: z.number().finite().positive().max(10_000),\n graders: z.array(ExperimentGraderSelectionSchema).min(1).max(100).optional(),\n}).strict().superRefine((value, ctx) => {\n if (!value.request.name) ctx.addIssue({ code: \"custom\", path: [\"request\", \"name\"], message: \"Name this Experiment before saving it.\" });\n if (Boolean(value.id) !== (value.expectedRevision > 0)) ctx.addIssue({ code: \"custom\", path: [\"expectedRevision\"], message: \"An update requires its saved definition revision.\" });\n if (Math.round(value.maximumCostUsd * 1_000_000) < 1) ctx.addIssue({ code: \"custom\", path: [\"maximumCostUsd\"], message: \"The budget must be at least $0.000001.\" });\n if (value.graders && new Set(value.graders.map(grader => grader.id)).size !== value.graders.length) ctx.addIssue({ code: \"custom\", path: [\"graders\"], message: \"Select each grader once.\" });\n});\nconst DefinitionContent = z.object({\n schemaVersion: z.literal(\"openpond.experimentDefinition.v1\"),\n id: Id, teamId: Id, revision: z.number().int().positive(),\n request: ModelTasksetRunRequestSchema,\n maximumCostUsd: z.number().finite().positive().max(10_000),\n graders: z.array(ExperimentGraderPinSchema).min(1).max(100),\n createdAt: z.iso.datetime(), updatedAt: z.iso.datetime(),\n}).strict();\nexport const ExperimentDefinitionSchema = DefinitionContent.extend({ contentHash: Hash });\nexport type ExperimentDefinition = z.infer<typeof ExperimentDefinitionSchema>;\nexport type ExperimentDefinitionRef = z.infer<typeof ExperimentDefinitionRefSchema>;\nexport const StartExperimentSchema = z.object({ operationId: Id, definition: ExperimentDefinitionRefSchema }).strict();\nexport const ExperimentListQuerySchema = z.object({\n projectId: Id.optional(), datasetHash: Hash.optional(), search: z.string().trim().max(200).optional(),\n afterId: Id.optional(), limit: z.number().int().min(1).max(100).default(30),\n}).strict();\nexport const ExperimentExecutionContextSchema = z.object({\n definition: ExperimentDefinitionRefSchema, maximumCostUsd: z.number().finite().positive().max(10_000),\n graders: z.array(ExperimentGraderPinSchema).min(1).max(100),\n}).strict();\nexport type ExperimentExecutionContext = z.infer<typeof ExperimentExecutionContextSchema>;\n\nexport const PrepareHarnessExperimentSchema = z.object({\n operationId: Id, profileRepositoryId: Id, definitionId: Id, modelId: Id,\n reasoningEffort: z.enum([\"off\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"]).optional(),\n maximumCostUsd: z.number().finite().positive().max(10_000),\n}).strict();\nexport const PreparedHarnessExperimentSchema = z.object({\n request: ModelTasksetRunRequestSchema, manifest: TasksetRunManifestSchema,\n maximumCostUsd: z.number().finite().positive().max(10_000),\n graders: z.array(ExperimentGraderPinSchema).min(1).max(100),\n}).strict();\n\nexport function verifyExperimentDefinition(value: unknown): ExperimentDefinition {\n const parsed = ExperimentDefinitionSchema.parse(value);\n const { contentHash: actual, ...content } = parsed;\n if (actual !== contentHash(content) || parsed.request.teamId !== parsed.teamId || !parsed.request.name)\n throw new Error(\"Experiment definition differs from its immutable content.\");\n if (new Set(parsed.graders.map(item => item.feedbackKey)).size !== parsed.graders.length)\n throw new Error(\"Experiment feedback keys must be distinct.\");\n return parsed;\n}\n\nexport const experimentDefinitionRef = (value: ExperimentDefinition): ExperimentDefinitionRef => ({\n id: value.id, revision: value.revision, contentHash: value.contentHash,\n});\n"],
5
- "mappings": "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",
6
- "names": ["z", "z"]
7
- }
@@ -1,256 +0,0 @@
1
- import {
2
- ExperimentDefinitionRefSchema,
3
- ExperimentFieldMappingsSchema,
4
- ExperimentGraderPinSchema,
5
- ExperimentListQuerySchema,
6
- PrepareHarnessExperimentSchema,
7
- PreparedHarnessExperimentSchema,
8
- SaveExperimentSchema,
9
- StartExperimentSchema,
10
- experimentDefinitionRef,
11
- verifyExperimentDefinition
12
- } from "./chunk-4HZORGK3.js";
13
- import {
14
- verifyHarnessExperimentManifest,
15
- verifyModelTasksetRunDetails
16
- } from "./chunk-YYJ4T4U4.js";
17
- import {
18
- ImmutableReleaseRefSchema,
19
- contentHash
20
- } from "./chunk-QUOW6URQ.js";
21
-
22
- // src/experiment-scoring-contracts.ts
23
- import { z } from "zod";
24
- import { RewardReleaseRefSchema } from "@openpond/evals/rewards";
25
- var Id = z.string().trim().min(1).max(200);
26
- var ExperimentScoringRequestSchema = z.object({
27
- operationId: Id,
28
- execution: ImmutableReleaseRefSchema,
29
- graders: z.array(RewardReleaseRefSchema).min(1).max(100),
30
- maximumCostUsd: z.number().finite().min(1e-6).max(1e4),
31
- mappings: z.array(z.object({ graderId: Id, fields: ExperimentFieldMappingsSchema }).strict()).max(100).optional()
32
- }).strict().superRefine((value, context) => {
33
- if (new Set(value.graders.map((grader) => grader.id)).size !== value.graders.length)
34
- context.addIssue({ code: "custom", path: ["graders"], message: "Select each grader once." });
35
- if (value.mappings && (new Set(value.mappings.map((mapping) => mapping.graderId)).size !== value.mappings.length || value.mappings.some((mapping) => !value.graders.some((grader) => grader.id === mapping.graderId))))
36
- context.addIssue({ code: "custom", path: ["mappings"], message: "Map each selected grader at most once." });
37
- });
38
- var ScoringPassContent = z.object({
39
- schemaVersion: z.literal("openpond.experimentScoringPass.v1"),
40
- id: Id,
41
- teamId: Id,
42
- revision: z.number().int().positive(),
43
- request: ExperimentScoringRequestSchema,
44
- graders: z.array(ExperimentGraderPinSchema).min(1).max(100),
45
- status: z.enum(["queued", "running", "cancelling", "completed", "failed", "cancelled"]),
46
- totalCount: z.number().int().min(1).max(1e4),
47
- counts: z.object({
48
- pending: z.number().int().nonnegative(),
49
- running: z.number().int().nonnegative(),
50
- scored: z.number().int().nonnegative(),
51
- unavailable: z.number().int().nonnegative(),
52
- failed: z.number().int().nonnegative(),
53
- cancelled: z.number().int().nonnegative()
54
- }).strict(),
55
- resultAvailable: z.boolean(),
56
- createdAt: z.iso.datetime(),
57
- startedAt: z.iso.datetime().nullable(),
58
- completedAt: z.iso.datetime().nullable(),
59
- error: z.object({ code: Id, message: z.string().max(2e3) }).strict().nullable()
60
- }).strict();
61
- var ExperimentScoringPassSchema = ScoringPassContent.extend({ contentHash: z.string().regex(/^[a-f0-9]{64}$/) });
62
- function verifyExperimentScoringPass(value) {
63
- const pass = ExperimentScoringPassSchema.parse(value);
64
- const { contentHash: actual, ...content } = pass;
65
- if (contentHash(content) !== actual || Object.values(pass.counts).reduce((sum, count) => sum + count, 0) !== pass.totalCount)
66
- throw new Error("Scoring pass integrity or population accounting failed.");
67
- const terminal = ["completed", "failed", "cancelled"].includes(pass.status);
68
- if (terminal && (!pass.completedAt || pass.counts.pending || pass.counts.running) || !terminal && (pass.completedAt !== null || pass.resultAvailable) || pass.status === "completed" && !pass.resultAvailable)
69
- throw new Error("Scoring pass lifecycle differs from its retained result.");
70
- if (pass.graders.length !== pass.request.graders.length || new Set(pass.graders.map((grader) => grader.feedbackKey)).size !== pass.graders.length || pass.graders.some((grader, index) => contentHash(grader.release) !== contentHash(pass.request.graders[index]) || contentHash(grader.mappings ?? []) !== contentHash(pass.request.mappings?.find((mapping) => mapping.graderId === grader.release?.id)?.fields ?? [])))
71
- throw new Error("Scoring pass graders differ from their exact admission.");
72
- return pass;
73
- }
74
-
75
- // src/experiment-client.ts
76
- import { z as z2 } from "zod";
77
- import { compareExperiments, verifyExperimentEvidence } from "@openpond/evals/experiments";
78
- var Id2 = z2.string().trim().min(1).max(200);
79
- var OpenPondExperimentError = class extends Error {
80
- constructor(status, code, message) {
81
- super(message);
82
- this.status = status;
83
- this.code = code;
84
- this.name = "OpenPondExperimentError";
85
- }
86
- status;
87
- code;
88
- };
89
- var OpenPondExperimentsClient = class {
90
- constructor(options) {
91
- this.options = options;
92
- const url = new URL(options.baseUrl);
93
- if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim())
94
- throw new Error("A clean API origin and workspace credentials are required.");
95
- this.baseUrl = url.toString().replace(/\/+$/, "");
96
- }
97
- options;
98
- baseUrl;
99
- /** Resolves a released target without saving a definition or dispatching it. */
100
- async prepareHarness(value, signal) {
101
- const request = PrepareHarnessExperimentSchema.parse(value);
102
- const result = PreparedHarnessExperimentSchema.parse(await this.request("/harness-setup", "POST", request, signal));
103
- verifyHarnessExperimentManifest(result.request, result.manifest);
104
- const policy = result.request.policy;
105
- if (result.request.teamId !== this.options.teamId || result.request.operationId !== request.operationId || policy.kind !== "hosted_harness" || policy.profileRepositoryId !== request.profileRepositoryId || policy.source.definitionId !== request.definitionId || policy.modelId !== request.modelId || policy.reasoningEffort !== request.reasoningEffort || result.maximumCostUsd !== request.maximumCostUsd || result.manifest.limits.maximumSpendUsd !== request.maximumCostUsd)
106
- throw new Error("Harness preparation differs from its requested scope or configuration.");
107
- return result;
108
- }
109
- async save(value, signal) {
110
- const request = SaveExperimentSchema.parse(value);
111
- if (request.request.teamId !== this.options.teamId) throw new Error("Experiment workspace mismatch.");
112
- const result = this.definition(await this.request("", "POST", request, signal), request.id);
113
- if (result.revision !== request.expectedRevision + 1 || contentHash(result.request) !== contentHash(request.request) || result.maximumCostUsd !== request.maximumCostUsd) throw new Error("Experiment save receipt differs from its submitted configuration.");
114
- if (request.graders && contentHash(request.graders) !== contentHash(result.graders.map((grader) => ({ id: grader.id, version: grader.version, contentHash: grader.contentHash, mappings: grader.mappings ?? [] }))))
115
- throw new Error("Experiment save receipt differs from its selected graders or mappings.");
116
- return result;
117
- }
118
- async get(id, options = {}) {
119
- const reference = options.reference ? ExperimentDefinitionRefSchema.parse(options.reference) : void 0;
120
- if (reference && reference.id !== id) throw new Error("Experiment reference identity mismatch.");
121
- const suffix = reference ? `?${new URLSearchParams({ revision: String(reference.revision), contentHash: reference.contentHash })}` : "";
122
- const result = this.definition(await this.request(`/${encodeURIComponent(Id2.parse(id))}${suffix}`, "GET", void 0, options.signal), id);
123
- if (options.reference && contentHash(experimentDefinitionRef(result)) !== contentHash(options.reference)) throw new Error("Experiment revision mismatch.");
124
- return result;
125
- }
126
- async list(value = {}, signal) {
127
- const query = ExperimentListQuerySchema.parse(value);
128
- const params = new URLSearchParams(Object.entries(query).filter(([, value2]) => value2 !== void 0).map(([key, value2]) => [key, String(value2)]));
129
- const page = z2.object({ items: z2.array(z2.unknown()).max(100), nextCursor: Id2.nullable() }).strict().parse(await this.request(`?${params}`, "GET", void 0, signal));
130
- const items = page.items.map((value2) => this.definition(value2));
131
- if (items.length > query.limit || new Set(items.map((item) => item.id)).size !== items.length || items.some((item) => query.projectId && item.request.project?.id !== query.projectId || query.datasetHash && item.request.taskset.contentHash !== query.datasetHash))
132
- throw new Error("Experiment page differs from its selected scope.");
133
- return { items, nextCursor: page.nextCursor };
134
- }
135
- async start(value, signal) {
136
- const request = StartExperimentSchema.parse(value);
137
- const response = z2.object({ definition: z2.unknown(), run: z2.unknown() }).strict().parse(
138
- await this.request(`/${encodeURIComponent(request.definition.id)}/start`, "POST", request, signal)
139
- );
140
- const definition = this.definition(response.definition, request.definition.id);
141
- if (contentHash(experimentDefinitionRef(definition)) !== contentHash(request.definition)) throw new Error("Experiment Start revision mismatch.");
142
- const result = await verifyModelTasksetRunDetails(response.run);
143
- if (result.summary.teamId !== this.options.teamId || result.request.operationId !== request.operationId || contentHash(savedRequestPopulation(result.request)) !== contentHash(savedRequestPopulation({ ...definition.request, operationId: request.operationId })) || contentHash(result.manifest.metadata.experimentDefinition) !== contentHash(request.definition) || result.manifest.metadata.experimentConfigurationHash !== contentHash({ definition: request.definition, maximumCostUsd: definition.maximumCostUsd, graders: definition.graders }))
144
- throw new Error("Experiment execution differs from its saved configuration.");
145
- return result;
146
- }
147
- async result(executionId, signal) {
148
- const value = z2.object({ executionId: Id2, passId: Id2.nullable(), manifest: z2.unknown(), result: z2.unknown() }).strict().parse(await this.request(`/executions/${encodeURIComponent(Id2.parse(executionId))}/result`, "GET", void 0, signal));
149
- const evidence = verifyExperimentEvidence(value);
150
- if (value.executionId !== executionId || evidence.manifest.teamId !== this.options.teamId || evidence.manifest.lineage?.execution.id !== executionId || evidence.manifest.lineage.scoringPassId !== value.passId) throw new Error("Experiment result identity mismatch.");
151
- return { ...evidence, executionId, passId: value.passId };
152
- }
153
- async executions(definitionId, options = {}) {
154
- const params = new URLSearchParams(options.afterId ? { afterId: Id2.parse(options.afterId) } : {});
155
- const page = z2.object({ items: z2.array(z2.unknown()).max(30), nextCursor: Id2.nullable() }).strict().parse(
156
- await this.request(`/${encodeURIComponent(Id2.parse(definitionId))}/executions?${params}`, "GET", void 0, options.signal)
157
- );
158
- const items = await Promise.all(page.items.map((value) => verifyModelTasksetRunDetails(value)));
159
- if (items.some((item) => item.summary.teamId !== this.options.teamId || ExperimentDefinitionRefSchema.parse(item.manifest.metadata.experimentDefinition).id !== definitionId) || new Set(items.map((item) => item.summary.id)).size !== items.length)
160
- throw new Error("Experiment execution page has invalid ownership or repeated identities.");
161
- return { items, nextCursor: page.nextCursor };
162
- }
163
- async execution(id, signal) {
164
- return this.executionDetails(await this.request(`/executions/${encodeURIComponent(Id2.parse(id))}`, "GET", void 0, signal), id);
165
- }
166
- async cancel(id, signal) {
167
- return this.executionDetails(await this.request(`/executions/${encodeURIComponent(Id2.parse(id))}/cancel`, "POST", {}, signal), id);
168
- }
169
- /** Retry intentionally creates another execution; a transport retry reuses the same operation id. */
170
- async retry(id, operationId, signal) {
171
- const result = await this.executionDetails(await this.request(`/executions/${encodeURIComponent(Id2.parse(id))}/retry`, "POST", { operationId: Id2.parse(operationId) }, signal));
172
- if (result.request.operationId !== operationId) throw new Error("Experiment retry operation mismatch.");
173
- return result;
174
- }
175
- async score(value, signal) {
176
- const request = ExperimentScoringRequestSchema.parse(value);
177
- const pass = this.pass(await this.request(`/executions/${encodeURIComponent(request.execution.id)}/scoring-passes`, "POST", request, signal));
178
- if (contentHash(pass.request) !== contentHash(request)) throw new Error("Scoring admission differs from its submitted inputs.");
179
- return pass;
180
- }
181
- async scoringPass(id, signal) {
182
- return this.pass(await this.request(`/scoring-passes/${encodeURIComponent(Id2.parse(id))}`, "GET", void 0, signal), id);
183
- }
184
- async scoringPasses(executionId, options = {}) {
185
- const params = new URLSearchParams(options.afterId ? { afterId: Id2.parse(options.afterId) } : {});
186
- const page = z2.object({ items: z2.array(z2.unknown()).max(30), nextCursor: Id2.nullable() }).strict().parse(
187
- await this.request(`/executions/${encodeURIComponent(Id2.parse(executionId))}/scoring-passes?${params}`, "GET", void 0, options.signal)
188
- );
189
- const items = page.items.map((value) => this.pass(value));
190
- if (items.some((item) => item.request.execution.id !== executionId) || new Set(items.map((item) => item.id)).size !== items.length)
191
- throw new Error("Scoring pass page differs from its execution ownership.");
192
- return { items, nextCursor: page.nextCursor };
193
- }
194
- async cancelScoringPass(id, signal) {
195
- return this.pass(await this.request(`/scoring-passes/${encodeURIComponent(Id2.parse(id))}/cancel`, "POST", {}, signal), id);
196
- }
197
- async scoringResult(id, signal) {
198
- const value = z2.object({ executionId: Id2, passId: Id2, manifest: z2.unknown(), result: z2.unknown() }).strict().parse(
199
- await this.request(`/scoring-passes/${encodeURIComponent(Id2.parse(id))}/result`, "GET", void 0, signal)
200
- );
201
- const evidence = verifyExperimentEvidence(value);
202
- if (value.passId !== id || evidence.manifest.teamId !== this.options.teamId || evidence.manifest.id !== id || evidence.manifest.lineage?.execution.id !== value.executionId || evidence.manifest.lineage.scoringPassId !== id)
203
- throw new Error("Scoring result identity mismatch.");
204
- return { ...evidence, executionId: value.executionId, passId: id };
205
- }
206
- async compare(baselineId, candidateId, signal) {
207
- const read = (id) => id.startsWith("score_") ? this.scoringResult(id, signal) : this.result(id, signal);
208
- const [baseline, candidate] = await Promise.all([read(baselineId), read(candidateId)]);
209
- return { baseline, candidate, comparison: compareExperiments(baseline, candidate) };
210
- }
211
- definition(value, id) {
212
- const result = verifyExperimentDefinition(value);
213
- if (result.teamId !== this.options.teamId || id && result.id !== id) throw new Error("Experiment identity mismatch.");
214
- return result;
215
- }
216
- async executionDetails(value, id) {
217
- const details = await verifyModelTasksetRunDetails(value);
218
- if (details.summary.teamId !== this.options.teamId || id && details.summary.id !== id) throw new Error("Experiment execution identity mismatch.");
219
- return details;
220
- }
221
- pass(value, id) {
222
- const pass = verifyExperimentScoringPass(value);
223
- if (pass.teamId !== this.options.teamId || id && pass.id !== id) throw new Error("Scoring pass identity mismatch.");
224
- return pass;
225
- }
226
- async request(path, method, body, signal) {
227
- const response = await (this.options.fetch ?? fetch)(`${this.baseUrl}/v1/experiments${path}`, {
228
- method,
229
- signal,
230
- redirect: "error",
231
- headers: { Authorization: `Bearer ${this.options.apiKey}`, "X-OpenPond-Team-Id": this.options.teamId, "Content-Type": "application/json", Accept: "application/json" },
232
- ...body === void 0 ? {} : { body: JSON.stringify(body) }
233
- });
234
- const value = await response.json();
235
- if (!response.ok) {
236
- const parsed = z2.object({ code: z2.string(), message: z2.string() }).safeParse(value);
237
- throw new OpenPondExperimentError(response.status, parsed.success ? parsed.data.code : "experiment_request_failed", parsed.success ? parsed.data.message : "Experiment request failed.");
238
- }
239
- return value;
240
- }
241
- };
242
- function savedRequestPopulation(request) {
243
- return request.policy.kind === "hosted_harness" ? {
244
- ...request,
245
- population: request.population.map(({ receiptId: _id, ...member }) => member)
246
- } : request;
247
- }
248
-
249
- export {
250
- ExperimentScoringRequestSchema,
251
- ExperimentScoringPassSchema,
252
- verifyExperimentScoringPass,
253
- OpenPondExperimentError,
254
- OpenPondExperimentsClient
255
- };
256
- //# sourceMappingURL=chunk-4JRSH2TT.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/experiment-scoring-contracts.ts", "../src/experiment-client.ts"],
4
- "sourcesContent": ["import { z } from \"zod\";\nimport { contentHash, ImmutableReleaseRefSchema } from \"@openpond/harness\";\nimport { RewardReleaseRefSchema } from \"@openpond/evals/rewards\";\nimport { ExperimentGraderPinSchema } from \"./experiment-contracts.js\";\nimport { ExperimentFieldMappingsSchema } from \"./experiment-field-mappings.js\";\n\nconst Id = z.string().trim().min(1).max(200);\nexport const ExperimentScoringRequestSchema = z.object({\n operationId: Id,\n execution: ImmutableReleaseRefSchema,\n graders: z.array(RewardReleaseRefSchema).min(1).max(100),\n maximumCostUsd: z.number().finite().min(0.000001).max(10_000),\n mappings: z.array(z.object({ graderId: Id, fields: ExperimentFieldMappingsSchema }).strict()).max(100).optional(),\n}).strict().superRefine((value, context) => {\n if (new Set(value.graders.map(grader => grader.id)).size !== value.graders.length)\n context.addIssue({ code: \"custom\", path: [\"graders\"], message: \"Select each grader once.\" });\n if (value.mappings && (new Set(value.mappings.map(mapping => mapping.graderId)).size !== value.mappings.length\n || value.mappings.some(mapping => !value.graders.some(grader => grader.id === mapping.graderId))))\n context.addIssue({ code: \"custom\", path: [\"mappings\"], message: \"Map each selected grader at most once.\" });\n});\nexport type ExperimentScoringRequest = z.infer<typeof ExperimentScoringRequestSchema>;\n\nconst ScoringPassContent = z.object({\n schemaVersion: z.literal(\"openpond.experimentScoringPass.v1\"),\n id: Id, teamId: Id, revision: z.number().int().positive(),\n request: ExperimentScoringRequestSchema,\n graders: z.array(ExperimentGraderPinSchema).min(1).max(100),\n status: z.enum([\"queued\", \"running\", \"cancelling\", \"completed\", \"failed\", \"cancelled\"]),\n totalCount: z.number().int().min(1).max(10_000),\n counts: z.object({ pending: z.number().int().nonnegative(), running: z.number().int().nonnegative(),\n scored: z.number().int().nonnegative(), unavailable: z.number().int().nonnegative(),\n failed: z.number().int().nonnegative(), cancelled: z.number().int().nonnegative() }).strict(),\n resultAvailable: z.boolean(), createdAt: z.iso.datetime(), startedAt: z.iso.datetime().nullable(),\n completedAt: z.iso.datetime().nullable(),\n error: z.object({ code: Id, message: z.string().max(2_000) }).strict().nullable(),\n}).strict();\nexport const ExperimentScoringPassSchema = ScoringPassContent.extend({ contentHash: z.string().regex(/^[a-f0-9]{64}$/) });\nexport type ExperimentScoringPass = z.infer<typeof ExperimentScoringPassSchema>;\n\n/** A pass grades owned output and carries no model-execution authority. */\nexport function verifyExperimentScoringPass(value: unknown) {\n const pass = ExperimentScoringPassSchema.parse(value);\n const { contentHash: actual, ...content } = pass;\n if (contentHash(content) !== actual || Object.values(pass.counts).reduce((sum, count) => sum + count, 0) !== pass.totalCount)\n throw new Error(\"Scoring pass integrity or population accounting failed.\");\n const terminal = [\"completed\", \"failed\", \"cancelled\"].includes(pass.status);\n if (terminal && (!pass.completedAt || pass.counts.pending || pass.counts.running)\n || !terminal && (pass.completedAt !== null || pass.resultAvailable)\n || pass.status === \"completed\" && !pass.resultAvailable)\n throw new Error(\"Scoring pass lifecycle differs from its retained result.\");\n if (pass.graders.length !== pass.request.graders.length || new Set(pass.graders.map(grader => grader.feedbackKey)).size !== pass.graders.length\n || pass.graders.some((grader, index) => contentHash(grader.release) !== contentHash(pass.request.graders[index]!)\n || contentHash(grader.mappings ?? []) !== contentHash(pass.request.mappings?.find(mapping => mapping.graderId === grader.release?.id)?.fields ?? [])))\n throw new Error(\"Scoring pass graders differ from their exact admission.\");\n return pass;\n}\n", "import { z } from \"zod\";\nimport { contentHash } from \"@openpond/harness\";\nimport { compareExperiments, verifyExperimentEvidence } from \"@openpond/evals/experiments\";\nimport { ExperimentDefinitionRefSchema, ExperimentListQuerySchema, SaveExperimentSchema, StartExperimentSchema, experimentDefinitionRef,\n verifyExperimentDefinition, type ExperimentDefinitionRef } from \"./experiment-contracts.js\";\nimport { PrepareHarnessExperimentSchema, PreparedHarnessExperimentSchema } from \"./experiment-contracts.js\";\nimport { verifyHarnessExperimentManifest, verifyModelTasksetRunDetails } from \"./model-taskset-runs-contracts.js\";\nimport { ExperimentScoringRequestSchema, verifyExperimentScoringPass, type ExperimentScoringRequest } from \"./experiment-scoring-contracts.js\";\n\nconst Id = z.string().trim().min(1).max(200);\nexport class OpenPondExperimentError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) { super(message); this.name = \"OpenPondExperimentError\"; }\n}\n\n/** Saved configuration and execution identities share the host's service. */\nexport class OpenPondExperimentsClient {\n private readonly baseUrl: string;\n constructor(private readonly options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof fetch }) {\n const url = new URL(options.baseUrl);\n if (![\"http:\", \"https:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim())\n throw new Error(\"A clean API origin and workspace credentials are required.\");\n this.baseUrl = url.toString().replace(/\\/+$/, \"\");\n }\n /** Resolves a released target without saving a definition or dispatching it. */\n async prepareHarness(value: z.input<typeof PrepareHarnessExperimentSchema>, signal?: AbortSignal) {\n const request = PrepareHarnessExperimentSchema.parse(value);\n const result = PreparedHarnessExperimentSchema.parse(await this.request(\"/harness-setup\", \"POST\", request, signal));\n verifyHarnessExperimentManifest(result.request, result.manifest);\n const policy = result.request.policy;\n if (result.request.teamId !== this.options.teamId || result.request.operationId !== request.operationId\n || policy.kind !== \"hosted_harness\" || policy.profileRepositoryId !== request.profileRepositoryId\n || policy.source.definitionId !== request.definitionId || policy.modelId !== request.modelId\n || policy.reasoningEffort !== request.reasoningEffort || result.maximumCostUsd !== request.maximumCostUsd\n || result.manifest.limits.maximumSpendUsd !== request.maximumCostUsd)\n throw new Error(\"Harness preparation differs from its requested scope or configuration.\");\n return result;\n }\n async save(value: z.input<typeof SaveExperimentSchema>, signal?: AbortSignal) {\n const request = SaveExperimentSchema.parse(value);\n if (request.request.teamId !== this.options.teamId) throw new Error(\"Experiment workspace mismatch.\");\n const result = this.definition(await this.request(\"\", \"POST\", request, signal), request.id);\n if (result.revision !== request.expectedRevision + 1 || contentHash(result.request) !== contentHash(request.request)\n || result.maximumCostUsd !== request.maximumCostUsd) throw new Error(\"Experiment save receipt differs from its submitted configuration.\");\n if (request.graders && contentHash(request.graders) !== contentHash(result.graders.map(grader => ({ id: grader.id, version: grader.version, contentHash: grader.contentHash, mappings: grader.mappings ?? [] }))))\n throw new Error(\"Experiment save receipt differs from its selected graders or mappings.\");\n return result;\n }\n async get(id: string, options: { reference?: ExperimentDefinitionRef; signal?: AbortSignal } = {}) {\n const reference = options.reference ? ExperimentDefinitionRefSchema.parse(options.reference) : undefined;\n if (reference && reference.id !== id) throw new Error(\"Experiment reference identity mismatch.\");\n const suffix = reference ? `?${new URLSearchParams({ revision: String(reference.revision), contentHash: reference.contentHash })}` : \"\";\n const result = this.definition(await this.request(`/${encodeURIComponent(Id.parse(id))}${suffix}`, \"GET\", undefined, options.signal), id);\n if (options.reference && contentHash(experimentDefinitionRef(result)) !== contentHash(options.reference)) throw new Error(\"Experiment revision mismatch.\");\n return result;\n }\n async list(value: z.input<typeof ExperimentListQuerySchema> = {}, signal?: AbortSignal) {\n const query = ExperimentListQuerySchema.parse(value);\n const params = new URLSearchParams(Object.entries(query).filter(([, value]) => value !== undefined).map(([key, value]) => [key, String(value)]));\n const page = z.object({ items: z.array(z.unknown()).max(100), nextCursor: Id.nullable() }).strict().parse(await this.request(`?${params}`, \"GET\", undefined, signal));\n const items = page.items.map(value => this.definition(value));\n if (items.length > query.limit || new Set(items.map(item => item.id)).size !== items.length\n || items.some(item => query.projectId && item.request.project?.id !== query.projectId || query.datasetHash && item.request.taskset.contentHash !== query.datasetHash))\n throw new Error(\"Experiment page differs from its selected scope.\");\n return { items, nextCursor: page.nextCursor };\n }\n async start(value: z.input<typeof StartExperimentSchema>, signal?: AbortSignal) {\n const request = StartExperimentSchema.parse(value);\n const response = z.object({ definition: z.unknown(), run: z.unknown() }).strict().parse(\n await this.request(`/${encodeURIComponent(request.definition.id)}/start`, \"POST\", request, signal));\n const definition = this.definition(response.definition, request.definition.id);\n if (contentHash(experimentDefinitionRef(definition)) !== contentHash(request.definition)) throw new Error(\"Experiment Start revision mismatch.\");\n const result = await verifyModelTasksetRunDetails(response.run);\n if (result.summary.teamId !== this.options.teamId || result.request.operationId !== request.operationId\n || contentHash(savedRequestPopulation(result.request))\n !== contentHash(savedRequestPopulation({ ...definition.request, operationId: request.operationId }))\n || contentHash(result.manifest.metadata.experimentDefinition) !== contentHash(request.definition)\n || result.manifest.metadata.experimentConfigurationHash !== contentHash({ definition: request.definition, maximumCostUsd: definition.maximumCostUsd, graders: definition.graders }))\n throw new Error(\"Experiment execution differs from its saved configuration.\");\n return result;\n }\n async result(executionId: string, signal?: AbortSignal) {\n const value = z.object({ executionId: Id, passId: Id.nullable(), manifest: z.unknown(), result: z.unknown() }).strict()\n .parse(await this.request(`/executions/${encodeURIComponent(Id.parse(executionId))}/result`, \"GET\", undefined, signal));\n const evidence = verifyExperimentEvidence(value);\n if (value.executionId !== executionId || evidence.manifest.teamId !== this.options.teamId\n || evidence.manifest.lineage?.execution.id !== executionId\n || evidence.manifest.lineage.scoringPassId !== value.passId) throw new Error(\"Experiment result identity mismatch.\");\n return { ...evidence, executionId, passId: value.passId };\n }\n async executions(definitionId: string, options: { afterId?: string; signal?: AbortSignal } = {}) {\n const params = new URLSearchParams(options.afterId ? { afterId: Id.parse(options.afterId) } : {});\n const page = z.object({ items: z.array(z.unknown()).max(30), nextCursor: Id.nullable() }).strict().parse(\n await this.request(`/${encodeURIComponent(Id.parse(definitionId))}/executions?${params}`, \"GET\", undefined, options.signal));\n const items = await Promise.all(page.items.map(value => verifyModelTasksetRunDetails(value)));\n if (items.some(item => item.summary.teamId !== this.options.teamId\n || ExperimentDefinitionRefSchema.parse(item.manifest.metadata.experimentDefinition).id !== definitionId)\n || new Set(items.map(item => item.summary.id)).size !== items.length)\n throw new Error(\"Experiment execution page has invalid ownership or repeated identities.\");\n return { items, nextCursor: page.nextCursor };\n }\n async execution(id: string, signal?: AbortSignal) {\n return this.executionDetails(await this.request(`/executions/${encodeURIComponent(Id.parse(id))}`, \"GET\", undefined, signal), id);\n }\n async cancel(id: string, signal?: AbortSignal) {\n return this.executionDetails(await this.request(`/executions/${encodeURIComponent(Id.parse(id))}/cancel`, \"POST\", {}, signal), id);\n }\n /** Retry intentionally creates another execution; a transport retry reuses the same operation id. */\n async retry(id: string, operationId: string, signal?: AbortSignal) {\n const result = await this.executionDetails(await this.request(`/executions/${encodeURIComponent(Id.parse(id))}/retry`, \"POST\", { operationId: Id.parse(operationId) }, signal));\n if (result.request.operationId !== operationId) throw new Error(\"Experiment retry operation mismatch.\");\n return result;\n }\n async score(value: ExperimentScoringRequest, signal?: AbortSignal) {\n const request = ExperimentScoringRequestSchema.parse(value);\n const pass = this.pass(await this.request(`/executions/${encodeURIComponent(request.execution.id)}/scoring-passes`, \"POST\", request, signal));\n if (contentHash(pass.request) !== contentHash(request)) throw new Error(\"Scoring admission differs from its submitted inputs.\");\n return pass;\n }\n async scoringPass(id: string, signal?: AbortSignal) {\n return this.pass(await this.request(`/scoring-passes/${encodeURIComponent(Id.parse(id))}`, \"GET\", undefined, signal), id);\n }\n async scoringPasses(executionId: string, options: { afterId?: string; signal?: AbortSignal } = {}) {\n const params = new URLSearchParams(options.afterId ? { afterId: Id.parse(options.afterId) } : {});\n const page = z.object({ items: z.array(z.unknown()).max(30), nextCursor: Id.nullable() }).strict().parse(\n await this.request(`/executions/${encodeURIComponent(Id.parse(executionId))}/scoring-passes?${params}`, \"GET\", undefined, options.signal));\n const items = page.items.map(value => this.pass(value));\n if (items.some(item => item.request.execution.id !== executionId) || new Set(items.map(item => item.id)).size !== items.length)\n throw new Error(\"Scoring pass page differs from its execution ownership.\");\n return { items, nextCursor: page.nextCursor };\n }\n async cancelScoringPass(id: string, signal?: AbortSignal) {\n return this.pass(await this.request(`/scoring-passes/${encodeURIComponent(Id.parse(id))}/cancel`, \"POST\", {}, signal), id);\n }\n async scoringResult(id: string, signal?: AbortSignal) {\n const value = z.object({ executionId: Id, passId: Id, manifest: z.unknown(), result: z.unknown() }).strict().parse(\n await this.request(`/scoring-passes/${encodeURIComponent(Id.parse(id))}/result`, \"GET\", undefined, signal));\n const evidence = verifyExperimentEvidence(value);\n if (value.passId !== id || evidence.manifest.teamId !== this.options.teamId || evidence.manifest.id !== id\n || evidence.manifest.lineage?.execution.id !== value.executionId || evidence.manifest.lineage.scoringPassId !== id)\n throw new Error(\"Scoring result identity mismatch.\");\n return { ...evidence, executionId: value.executionId, passId: id };\n }\n async compare(baselineId: string, candidateId: string, signal?: AbortSignal) {\n const read = (id: string) => id.startsWith(\"score_\") ? this.scoringResult(id, signal) : this.result(id, signal);\n const [baseline, candidate] = await Promise.all([read(baselineId), read(candidateId)]);\n return { baseline, candidate, comparison: compareExperiments(baseline, candidate) };\n }\n private definition(value: unknown, id?: string) {\n const result = verifyExperimentDefinition(value);\n if (result.teamId !== this.options.teamId || id && result.id !== id) throw new Error(\"Experiment identity mismatch.\");\n return result;\n }\n private async executionDetails(value: unknown, id?: string) {\n const details = await verifyModelTasksetRunDetails(value);\n if (details.summary.teamId !== this.options.teamId || id && details.summary.id !== id) throw new Error(\"Experiment execution identity mismatch.\");\n return details;\n }\n private pass(value: unknown, id?: string) {\n const pass = verifyExperimentScoringPass(value);\n if (pass.teamId !== this.options.teamId || id && pass.id !== id) throw new Error(\"Scoring pass identity mismatch.\");\n return pass;\n }\n private async request(path: string, method: string, body?: unknown, signal?: AbortSignal): Promise<unknown> {\n const response = await (this.options.fetch ?? fetch)(`${this.baseUrl}/v1/experiments${path}`, {\n method, signal, redirect: \"error\", 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) }),\n });\n const value = await response.json();\n if (!response.ok) {\n const parsed = z.object({ code: z.string(), message: z.string() }).safeParse(value);\n throw new OpenPondExperimentError(response.status, parsed.success ? parsed.data.code : \"experiment_request_failed\", parsed.success ? parsed.data.message : \"Experiment request failed.\");\n }\n return value;\n }\n}\n\n/** Native Harness assigns receipt IDs when sealing each new execution. Its\n * saved population still pins every task/seed; Model receipts stay exact. */\nfunction savedRequestPopulation(request: z.infer<typeof SaveExperimentSchema>[\"request\"]) {\n return request.policy.kind === \"hosted_harness\" ? {\n ...request, population: request.population.map(({ receiptId: _id, ...member }) => member),\n } : request;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,SAAS;AAElB,SAAS,8BAA8B;AAIvC,IAAM,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AACpC,IAAM,iCAAiC,EAAE,OAAO;AAAA,EACrD,aAAa;AAAA,EACb,WAAW;AAAA,EACX,SAAS,EAAE,MAAM,sBAAsB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACvD,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,IAAQ,EAAE,IAAI,GAAM;AAAA,EAC5D,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,IAAI,QAAQ,8BAA8B,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAClH,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,YAAY;AAC1C,MAAI,IAAI,IAAI,MAAM,QAAQ,IAAI,YAAU,OAAO,EAAE,CAAC,EAAE,SAAS,MAAM,QAAQ;AACzE,YAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,SAAS,GAAG,SAAS,2BAA2B,CAAC;AAC7F,MAAI,MAAM,aAAa,IAAI,IAAI,MAAM,SAAS,IAAI,aAAW,QAAQ,QAAQ,CAAC,EAAE,SAAS,MAAM,SAAS,UACnG,MAAM,SAAS,KAAK,aAAW,CAAC,MAAM,QAAQ,KAAK,YAAU,OAAO,OAAO,QAAQ,QAAQ,CAAC;AAC/F,YAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,UAAU,GAAG,SAAS,yCAAyC,CAAC;AAC9G,CAAC;AAGD,IAAM,qBAAqB,EAAE,OAAO;AAAA,EAClC,eAAe,EAAE,QAAQ,mCAAmC;AAAA,EAC5D,IAAI;AAAA,EAAI,QAAQ;AAAA,EAAI,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACxD,SAAS;AAAA,EACT,SAAS,EAAE,MAAM,yBAAyB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAC1D,QAAQ,EAAE,KAAK,CAAC,UAAU,WAAW,cAAc,aAAa,UAAU,WAAW,CAAC;AAAA,EACtF,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAM;AAAA,EAC9C,QAAQ,EAAE,OAAO;AAAA,IAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,IAAG,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,IAChG,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,IAAG,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,IAClF,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,IAAG,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAAE,CAAC,EAAE,OAAO;AAAA,EAC9F,iBAAiB,EAAE,QAAQ;AAAA,EAAG,WAAW,EAAE,IAAI,SAAS;AAAA,EAAG,WAAW,EAAE,IAAI,SAAS,EAAE,SAAS;AAAA,EAChG,aAAa,EAAE,IAAI,SAAS,EAAE,SAAS;AAAA,EACvC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,OAAO,EAAE,IAAI,GAAK,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS;AAClF,CAAC,EAAE,OAAO;AACH,IAAM,8BAA8B,mBAAmB,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,gBAAgB,EAAE,CAAC;AAIjH,SAAS,4BAA4B,OAAgB;AAC1D,QAAM,OAAO,4BAA4B,MAAM,KAAK;AACpD,QAAM,EAAE,aAAa,QAAQ,GAAG,QAAQ,IAAI;AAC5C,MAAI,YAAY,OAAO,MAAM,UAAU,OAAO,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,KAAK,UAAU,MAAM,OAAO,CAAC,MAAM,KAAK;AAChH,UAAM,IAAI,MAAM,yDAAyD;AAC3E,QAAM,WAAW,CAAC,aAAa,UAAU,WAAW,EAAE,SAAS,KAAK,MAAM;AAC1E,MAAI,aAAa,CAAC,KAAK,eAAe,KAAK,OAAO,WAAW,KAAK,OAAO,YACpE,CAAC,aAAa,KAAK,gBAAgB,QAAQ,KAAK,oBAChD,KAAK,WAAW,eAAe,CAAC,KAAK;AACxC,UAAM,IAAI,MAAM,0DAA0D;AAC5E,MAAI,KAAK,QAAQ,WAAW,KAAK,QAAQ,QAAQ,UAAU,IAAI,IAAI,KAAK,QAAQ,IAAI,YAAU,OAAO,WAAW,CAAC,EAAE,SAAS,KAAK,QAAQ,UACpI,KAAK,QAAQ,KAAK,CAAC,QAAQ,UAAU,YAAY,OAAO,OAAO,MAAM,YAAY,KAAK,QAAQ,QAAQ,KAAK,CAAE,KAC3G,YAAY,OAAO,YAAY,CAAC,CAAC,MAAM,YAAY,KAAK,QAAQ,UAAU,KAAK,aAAW,QAAQ,aAAa,OAAO,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;AACtJ,UAAM,IAAI,MAAM,yDAAyD;AAC3E,SAAO;AACT;;;ACvDA,SAAS,KAAAA,UAAS;AAElB,SAAS,oBAAoB,gCAAgC;AAO7D,IAAMC,MAAKC,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AACpC,IAAM,0BAAN,cAAsC,MAAM;AAAA,EACjD,YAAqB,QAAyB,MAAc,SAAiB;AAAE,UAAM,OAAO;AAAvE;AAAyB;AAAiD,SAAK,OAAO;AAAA,EAA2B;AAAA,EAAjH;AAAA,EAAyB;AAChD;AAGO,IAAM,4BAAN,MAAgC;AAAA,EAErC,YAA6B,SAAoF;AAApF;AAC3B,UAAM,MAAM,IAAI,IAAI,QAAQ,OAAO;AACnC,QAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,SAAS,IAAI,QAAQ,KAAK,IAAI,YAAY,IAAI,YAAY,IAAI,UAAU,IAAI,QAAQ,CAAC,QAAQ,OAAO,KAAK,KAAK,CAAC,QAAQ,OAAO,KAAK;AAC1J,YAAM,IAAI,MAAM,4DAA4D;AAC9E,SAAK,UAAU,IAAI,SAAS,EAAE,QAAQ,QAAQ,EAAE;AAAA,EAClD;AAAA,EAL6B;AAAA,EADZ;AAAA;AAAA,EAQjB,MAAM,eAAe,OAAuD,QAAsB;AAChG,UAAM,UAAU,+BAA+B,MAAM,KAAK;AAC1D,UAAM,SAAS,gCAAgC,MAAM,MAAM,KAAK,QAAQ,kBAAkB,QAAQ,SAAS,MAAM,CAAC;AAClH,oCAAgC,OAAO,SAAS,OAAO,QAAQ;AAC/D,UAAM,SAAS,OAAO,QAAQ;AAC9B,QAAI,OAAO,QAAQ,WAAW,KAAK,QAAQ,UAAU,OAAO,QAAQ,gBAAgB,QAAQ,eACvF,OAAO,SAAS,oBAAoB,OAAO,wBAAwB,QAAQ,uBAC3E,OAAO,OAAO,iBAAiB,QAAQ,gBAAgB,OAAO,YAAY,QAAQ,WAClF,OAAO,oBAAoB,QAAQ,mBAAmB,OAAO,mBAAmB,QAAQ,kBACxF,OAAO,SAAS,OAAO,oBAAoB,QAAQ;AACtD,YAAM,IAAI,MAAM,wEAAwE;AAC1F,WAAO;AAAA,EACT;AAAA,EACA,MAAM,KAAK,OAA6C,QAAsB;AAC5E,UAAM,UAAU,qBAAqB,MAAM,KAAK;AAChD,QAAI,QAAQ,QAAQ,WAAW,KAAK,QAAQ,OAAQ,OAAM,IAAI,MAAM,gCAAgC;AACpG,UAAM,SAAS,KAAK,WAAW,MAAM,KAAK,QAAQ,IAAI,QAAQ,SAAS,MAAM,GAAG,QAAQ,EAAE;AAC1F,QAAI,OAAO,aAAa,QAAQ,mBAAmB,KAAK,YAAY,OAAO,OAAO,MAAM,YAAY,QAAQ,OAAO,KAC9G,OAAO,mBAAmB,QAAQ,eAAgB,OAAM,IAAI,MAAM,mEAAmE;AAC1I,QAAI,QAAQ,WAAW,YAAY,QAAQ,OAAO,MAAM,YAAY,OAAO,QAAQ,IAAI,aAAW,EAAE,IAAI,OAAO,IAAI,SAAS,OAAO,SAAS,aAAa,OAAO,aAAa,UAAU,OAAO,YAAY,CAAC,EAAE,EAAE,CAAC;AAC9M,YAAM,IAAI,MAAM,wEAAwE;AAC1F,WAAO;AAAA,EACT;AAAA,EACA,MAAM,IAAI,IAAY,UAAyE,CAAC,GAAG;AACjG,UAAM,YAAY,QAAQ,YAAY,8BAA8B,MAAM,QAAQ,SAAS,IAAI;AAC/F,QAAI,aAAa,UAAU,OAAO,GAAI,OAAM,IAAI,MAAM,yCAAyC;AAC/F,UAAM,SAAS,YAAY,IAAI,IAAI,gBAAgB,EAAE,UAAU,OAAO,UAAU,QAAQ,GAAG,aAAa,UAAU,YAAY,CAAC,CAAC,KAAK;AACrI,UAAM,SAAS,KAAK,WAAW,MAAM,KAAK,QAAQ,IAAI,mBAAmBD,IAAG,MAAM,EAAE,CAAC,CAAC,GAAG,MAAM,IAAI,OAAO,QAAW,QAAQ,MAAM,GAAG,EAAE;AACxI,QAAI,QAAQ,aAAa,YAAY,wBAAwB,MAAM,CAAC,MAAM,YAAY,QAAQ,SAAS,EAAG,OAAM,IAAI,MAAM,+BAA+B;AACzJ,WAAO;AAAA,EACT;AAAA,EACA,MAAM,KAAK,QAAmD,CAAC,GAAG,QAAsB;AACtF,UAAM,QAAQ,0BAA0B,MAAM,KAAK;AACnD,UAAM,SAAS,IAAI,gBAAgB,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,EAAEE,MAAK,MAAMA,WAAU,MAAS,EAAE,IAAI,CAAC,CAAC,KAAKA,MAAK,MAAM,CAAC,KAAK,OAAOA,MAAK,CAAC,CAAC,CAAC;AAC/I,UAAM,OAAOD,GAAE,OAAO,EAAE,OAAOA,GAAE,MAAMA,GAAE,QAAQ,CAAC,EAAE,IAAI,GAAG,GAAG,YAAYD,IAAG,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,OAAO,QAAW,MAAM,CAAC;AACpK,UAAM,QAAQ,KAAK,MAAM,IAAI,CAAAE,WAAS,KAAK,WAAWA,MAAK,CAAC;AAC5D,QAAI,MAAM,SAAS,MAAM,SAAS,IAAI,IAAI,MAAM,IAAI,UAAQ,KAAK,EAAE,CAAC,EAAE,SAAS,MAAM,UAChF,MAAM,KAAK,UAAQ,MAAM,aAAa,KAAK,QAAQ,SAAS,OAAO,MAAM,aAAa,MAAM,eAAe,KAAK,QAAQ,QAAQ,gBAAgB,MAAM,WAAW;AACpK,YAAM,IAAI,MAAM,kDAAkD;AACpE,WAAO,EAAE,OAAO,YAAY,KAAK,WAAW;AAAA,EAC9C;AAAA,EACA,MAAM,MAAM,OAA8C,QAAsB;AAC9E,UAAM,UAAU,sBAAsB,MAAM,KAAK;AACjD,UAAM,WAAWD,GAAE,OAAO,EAAE,YAAYA,GAAE,QAAQ,GAAG,KAAKA,GAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE;AAAA,MAChF,MAAM,KAAK,QAAQ,IAAI,mBAAmB,QAAQ,WAAW,EAAE,CAAC,UAAU,QAAQ,SAAS,MAAM;AAAA,IAAC;AACpG,UAAM,aAAa,KAAK,WAAW,SAAS,YAAY,QAAQ,WAAW,EAAE;AAC7E,QAAI,YAAY,wBAAwB,UAAU,CAAC,MAAM,YAAY,QAAQ,UAAU,EAAG,OAAM,IAAI,MAAM,qCAAqC;AAC/I,UAAM,SAAS,MAAM,6BAA6B,SAAS,GAAG;AAC9D,QAAI,OAAO,QAAQ,WAAW,KAAK,QAAQ,UAAU,OAAO,QAAQ,gBAAgB,QAAQ,eACvF,YAAY,uBAAuB,OAAO,OAAO,CAAC,MAC/C,YAAY,uBAAuB,EAAE,GAAG,WAAW,SAAS,aAAa,QAAQ,YAAY,CAAC,CAAC,KAClG,YAAY,OAAO,SAAS,SAAS,oBAAoB,MAAM,YAAY,QAAQ,UAAU,KAC7F,OAAO,SAAS,SAAS,gCAAgC,YAAY,EAAE,YAAY,QAAQ,YAAY,gBAAgB,WAAW,gBAAgB,SAAS,WAAW,QAAQ,CAAC;AAClL,YAAM,IAAI,MAAM,4DAA4D;AAC9E,WAAO;AAAA,EACT;AAAA,EACA,MAAM,OAAO,aAAqB,QAAsB;AACtD,UAAM,QAAQA,GAAE,OAAO,EAAE,aAAaD,KAAI,QAAQA,IAAG,SAAS,GAAG,UAAUC,GAAE,QAAQ,GAAG,QAAQA,GAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EACnH,MAAM,MAAM,KAAK,QAAQ,eAAe,mBAAmBD,IAAG,MAAM,WAAW,CAAC,CAAC,WAAW,OAAO,QAAW,MAAM,CAAC;AACxH,UAAM,WAAW,yBAAyB,KAAK;AAC/C,QAAI,MAAM,gBAAgB,eAAe,SAAS,SAAS,WAAW,KAAK,QAAQ,UAC9E,SAAS,SAAS,SAAS,UAAU,OAAO,eAC5C,SAAS,SAAS,QAAQ,kBAAkB,MAAM,OAAQ,OAAM,IAAI,MAAM,sCAAsC;AACrH,WAAO,EAAE,GAAG,UAAU,aAAa,QAAQ,MAAM,OAAO;AAAA,EAC1D;AAAA,EACA,MAAM,WAAW,cAAsB,UAAsD,CAAC,GAAG;AAC/F,UAAM,SAAS,IAAI,gBAAgB,QAAQ,UAAU,EAAE,SAASA,IAAG,MAAM,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC;AAChG,UAAM,OAAOC,GAAE,OAAO,EAAE,OAAOA,GAAE,MAAMA,GAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,YAAYD,IAAG,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE;AAAA,MACjG,MAAM,KAAK,QAAQ,IAAI,mBAAmBA,IAAG,MAAM,YAAY,CAAC,CAAC,eAAe,MAAM,IAAI,OAAO,QAAW,QAAQ,MAAM;AAAA,IAAC;AAC7H,UAAM,QAAQ,MAAM,QAAQ,IAAI,KAAK,MAAM,IAAI,WAAS,6BAA6B,KAAK,CAAC,CAAC;AAC5F,QAAI,MAAM,KAAK,UAAQ,KAAK,QAAQ,WAAW,KAAK,QAAQ,UACvD,8BAA8B,MAAM,KAAK,SAAS,SAAS,oBAAoB,EAAE,OAAO,YAAY,KACpG,IAAI,IAAI,MAAM,IAAI,UAAQ,KAAK,QAAQ,EAAE,CAAC,EAAE,SAAS,MAAM;AAC9D,YAAM,IAAI,MAAM,yEAAyE;AAC3F,WAAO,EAAE,OAAO,YAAY,KAAK,WAAW;AAAA,EAC9C;AAAA,EACA,MAAM,UAAU,IAAY,QAAsB;AAChD,WAAO,KAAK,iBAAiB,MAAM,KAAK,QAAQ,eAAe,mBAAmBA,IAAG,MAAM,EAAE,CAAC,CAAC,IAAI,OAAO,QAAW,MAAM,GAAG,EAAE;AAAA,EAClI;AAAA,EACA,MAAM,OAAO,IAAY,QAAsB;AAC7C,WAAO,KAAK,iBAAiB,MAAM,KAAK,QAAQ,eAAe,mBAAmBA,IAAG,MAAM,EAAE,CAAC,CAAC,WAAW,QAAQ,CAAC,GAAG,MAAM,GAAG,EAAE;AAAA,EACnI;AAAA;AAAA,EAEA,MAAM,MAAM,IAAY,aAAqB,QAAsB;AACjE,UAAM,SAAS,MAAM,KAAK,iBAAiB,MAAM,KAAK,QAAQ,eAAe,mBAAmBA,IAAG,MAAM,EAAE,CAAC,CAAC,UAAU,QAAQ,EAAE,aAAaA,IAAG,MAAM,WAAW,EAAE,GAAG,MAAM,CAAC;AAC9K,QAAI,OAAO,QAAQ,gBAAgB,YAAa,OAAM,IAAI,MAAM,sCAAsC;AACtG,WAAO;AAAA,EACT;AAAA,EACA,MAAM,MAAM,OAAiC,QAAsB;AACjE,UAAM,UAAU,+BAA+B,MAAM,KAAK;AAC1D,UAAM,OAAO,KAAK,KAAK,MAAM,KAAK,QAAQ,eAAe,mBAAmB,QAAQ,UAAU,EAAE,CAAC,mBAAmB,QAAQ,SAAS,MAAM,CAAC;AAC5I,QAAI,YAAY,KAAK,OAAO,MAAM,YAAY,OAAO,EAAG,OAAM,IAAI,MAAM,sDAAsD;AAC9H,WAAO;AAAA,EACT;AAAA,EACA,MAAM,YAAY,IAAY,QAAsB;AAClD,WAAO,KAAK,KAAK,MAAM,KAAK,QAAQ,mBAAmB,mBAAmBA,IAAG,MAAM,EAAE,CAAC,CAAC,IAAI,OAAO,QAAW,MAAM,GAAG,EAAE;AAAA,EAC1H;AAAA,EACA,MAAM,cAAc,aAAqB,UAAsD,CAAC,GAAG;AACjG,UAAM,SAAS,IAAI,gBAAgB,QAAQ,UAAU,EAAE,SAASA,IAAG,MAAM,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC;AAChG,UAAM,OAAOC,GAAE,OAAO,EAAE,OAAOA,GAAE,MAAMA,GAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,YAAYD,IAAG,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE;AAAA,MACjG,MAAM,KAAK,QAAQ,eAAe,mBAAmBA,IAAG,MAAM,WAAW,CAAC,CAAC,mBAAmB,MAAM,IAAI,OAAO,QAAW,QAAQ,MAAM;AAAA,IAAC;AAC3I,UAAM,QAAQ,KAAK,MAAM,IAAI,WAAS,KAAK,KAAK,KAAK,CAAC;AACtD,QAAI,MAAM,KAAK,UAAQ,KAAK,QAAQ,UAAU,OAAO,WAAW,KAAK,IAAI,IAAI,MAAM,IAAI,UAAQ,KAAK,EAAE,CAAC,EAAE,SAAS,MAAM;AACtH,YAAM,IAAI,MAAM,yDAAyD;AAC3E,WAAO,EAAE,OAAO,YAAY,KAAK,WAAW;AAAA,EAC9C;AAAA,EACA,MAAM,kBAAkB,IAAY,QAAsB;AACxD,WAAO,KAAK,KAAK,MAAM,KAAK,QAAQ,mBAAmB,mBAAmBA,IAAG,MAAM,EAAE,CAAC,CAAC,WAAW,QAAQ,CAAC,GAAG,MAAM,GAAG,EAAE;AAAA,EAC3H;AAAA,EACA,MAAM,cAAc,IAAY,QAAsB;AACpD,UAAM,QAAQC,GAAE,OAAO,EAAE,aAAaD,KAAI,QAAQA,KAAI,UAAUC,GAAE,QAAQ,GAAG,QAAQA,GAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE;AAAA,MAC3G,MAAM,KAAK,QAAQ,mBAAmB,mBAAmBD,IAAG,MAAM,EAAE,CAAC,CAAC,WAAW,OAAO,QAAW,MAAM;AAAA,IAAC;AAC5G,UAAM,WAAW,yBAAyB,KAAK;AAC/C,QAAI,MAAM,WAAW,MAAM,SAAS,SAAS,WAAW,KAAK,QAAQ,UAAU,SAAS,SAAS,OAAO,MACnG,SAAS,SAAS,SAAS,UAAU,OAAO,MAAM,eAAe,SAAS,SAAS,QAAQ,kBAAkB;AAChH,YAAM,IAAI,MAAM,mCAAmC;AACrD,WAAO,EAAE,GAAG,UAAU,aAAa,MAAM,aAAa,QAAQ,GAAG;AAAA,EACnE;AAAA,EACA,MAAM,QAAQ,YAAoB,aAAqB,QAAsB;AAC3E,UAAM,OAAO,CAAC,OAAe,GAAG,WAAW,QAAQ,IAAI,KAAK,cAAc,IAAI,MAAM,IAAI,KAAK,OAAO,IAAI,MAAM;AAC9G,UAAM,CAAC,UAAU,SAAS,IAAI,MAAM,QAAQ,IAAI,CAAC,KAAK,UAAU,GAAG,KAAK,WAAW,CAAC,CAAC;AACrF,WAAO,EAAE,UAAU,WAAW,YAAY,mBAAmB,UAAU,SAAS,EAAE;AAAA,EACpF;AAAA,EACQ,WAAW,OAAgB,IAAa;AAC9C,UAAM,SAAS,2BAA2B,KAAK;AAC/C,QAAI,OAAO,WAAW,KAAK,QAAQ,UAAU,MAAM,OAAO,OAAO,GAAI,OAAM,IAAI,MAAM,+BAA+B;AACpH,WAAO;AAAA,EACT;AAAA,EACA,MAAc,iBAAiB,OAAgB,IAAa;AAC1D,UAAM,UAAU,MAAM,6BAA6B,KAAK;AACxD,QAAI,QAAQ,QAAQ,WAAW,KAAK,QAAQ,UAAU,MAAM,QAAQ,QAAQ,OAAO,GAAI,OAAM,IAAI,MAAM,yCAAyC;AAChJ,WAAO;AAAA,EACT;AAAA,EACQ,KAAK,OAAgB,IAAa;AACxC,UAAM,OAAO,4BAA4B,KAAK;AAC9C,QAAI,KAAK,WAAW,KAAK,QAAQ,UAAU,MAAM,KAAK,OAAO,GAAI,OAAM,IAAI,MAAM,iCAAiC;AAClH,WAAO;AAAA,EACT;AAAA,EACA,MAAc,QAAQ,MAAc,QAAgB,MAAgB,QAAwC;AAC1G,UAAM,WAAW,OAAO,KAAK,QAAQ,SAAS,OAAO,GAAG,KAAK,OAAO,kBAAkB,IAAI,IAAI;AAAA,MAC5F;AAAA,MAAQ;AAAA,MAAQ,UAAU;AAAA,MAAS,SAAS,EAAE,eAAe,UAAU,KAAK,QAAQ,MAAM,IAAI,sBAAsB,KAAK,QAAQ,QAAQ,gBAAgB,oBAAoB,QAAQ,mBAAmB;AAAA,MACxM,GAAI,SAAS,SAAY,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,IAAI,EAAE;AAAA,IAC7D,CAAC;AACD,UAAM,QAAQ,MAAM,SAAS,KAAK;AAClC,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,SAASC,GAAE,OAAO,EAAE,MAAMA,GAAE,OAAO,GAAG,SAASA,GAAE,OAAO,EAAE,CAAC,EAAE,UAAU,KAAK;AAClF,YAAM,IAAI,wBAAwB,SAAS,QAAQ,OAAO,UAAU,OAAO,KAAK,OAAO,6BAA6B,OAAO,UAAU,OAAO,KAAK,UAAU,4BAA4B;AAAA,IACzL;AACA,WAAO;AAAA,EACT;AACF;AAIA,SAAS,uBAAuB,SAA0D;AACxF,SAAO,QAAQ,OAAO,SAAS,mBAAmB;AAAA,IAChD,GAAG;AAAA,IAAS,YAAY,QAAQ,WAAW,IAAI,CAAC,EAAE,WAAW,KAAK,GAAG,OAAO,MAAM,MAAM;AAAA,EAC1F,IAAI;AACN;",
6
- "names": ["z", "Id", "z", "value"]
7
- }