openpond-sdk 0.12.4 → 0.12.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.
- package/TASKSETS.md +13 -0
- package/TRAINING_PROTOCOL.md +25 -0
- package/dist/advanced-refiner-evaluations.js +7 -7
- package/dist/candidate-evaluations.js +6 -6
- package/dist/{chunk-MO4HAJZG.js → chunk-2XLKMZH5.js} +486 -252
- package/dist/chunk-2XLKMZH5.js.map +1 -0
- package/dist/{chunk-HGXVOFCL.js → chunk-3SIGXGAE.js} +133 -88
- package/dist/chunk-3SIGXGAE.js.map +1 -0
- package/dist/{chunk-WMIKJGXW.js → chunk-3VGTVZHL.js} +3 -3
- package/dist/{chunk-U7XWIOSB.js → chunk-5T76GARR.js} +2 -2
- package/dist/{chunk-WQFU635Q.js → chunk-ATVQQCYN.js} +8 -4
- package/dist/chunk-ATVQQCYN.js.map +1 -0
- package/dist/{chunk-QRS7Y3EM.js → chunk-B2MKB7NB.js} +2 -2
- package/dist/{chunk-H4NTJFEE.js → chunk-D3WOJTUY.js} +3 -2
- package/dist/{chunk-H4NTJFEE.js.map → chunk-D3WOJTUY.js.map} +1 -1
- package/dist/{chunk-EFUT3XKW.js → chunk-ETFWUMEJ.js} +2 -2
- package/dist/{chunk-B5XTGEBE.js → chunk-FPA3AVCP.js} +85 -8
- package/dist/chunk-FPA3AVCP.js.map +1 -0
- package/dist/{chunk-BVMR5OFW.js → chunk-HRJKDHHG.js} +6 -4
- package/dist/chunk-HRJKDHHG.js.map +1 -0
- package/dist/{chunk-VN5V2E2S.js → chunk-HRZLFJXX.js} +3 -3
- package/dist/{chunk-I54WQBXL.js → chunk-KD6MM67B.js} +6 -6
- package/dist/{chunk-ZHQK3MOM.js → chunk-LIMTJR3A.js} +3 -3
- package/dist/{chunk-GAIDBPFY.js → chunk-ONGOAEY6.js} +14 -2
- package/dist/chunk-ONGOAEY6.js.map +1 -0
- package/dist/{chunk-CMWZZZGW.js → chunk-QDYHSJT5.js} +22 -8
- package/dist/chunk-QDYHSJT5.js.map +1 -0
- package/dist/{chunk-VHGC44HA.js → chunk-RDL6QIQO.js} +2 -2
- package/dist/{chunk-LHX7ENKZ.js → chunk-S2IASCGW.js} +3 -3
- package/dist/{chunk-XON75UFN.js → chunk-SER76PQ7.js} +2 -2
- package/dist/{chunk-ETX25FTB.js → chunk-SMHZT6RM.js} +2 -2
- package/dist/{chunk-24N6A6SF.js → chunk-SQBYHWZU.js} +2 -2
- package/dist/{chunk-DF2QXVZ3.js → chunk-VBVFE33M.js} +5 -5
- package/dist/{chunk-53LLNDXF.js → chunk-VQGTYGZH.js} +2 -2
- package/dist/{chunk-OR3TMIJN.js → chunk-VTAGUWXH.js} +2 -2
- package/dist/{chunk-LR5CTOC5.js → chunk-XF3JR72U.js} +3 -3
- package/dist/{chunk-ZIFZFP5I.js → chunk-Y3I7SN5W.js} +61 -35
- package/dist/chunk-Y3I7SN5W.js.map +1 -0
- package/dist/{chunk-RRKRA237.js → chunk-Z4XGSEKC.js} +577 -249
- package/dist/chunk-Z4XGSEKC.js.map +1 -0
- package/dist/{chunk-K5LWSWV7.js → chunk-ZGZLN4LH.js} +2 -2
- package/dist/connected-evidence.js +14 -14
- package/dist/dataset-workspaces.js +14 -14
- package/dist/experiment-evaluation-schedules.js +18 -18
- package/dist/experiment-improvements.js +7 -7
- package/dist/experiments.js +17 -17
- package/dist/index.js +90 -45
- package/dist/index.js.map +1 -1
- package/dist/learning.js +113 -9
- package/dist/learning.js.map +1 -1
- package/dist/model-projects.js +1 -1
- package/dist/model-starter-attempts.js +2 -2
- package/dist/model-starter-catalog.js +9 -9
- package/dist/model-starters.js +13 -9
- package/dist/model-taskset-runs.js +3 -3
- package/dist/post-training.js +6 -6
- package/dist/taskset-drafts.js +12 -12
- package/dist/taskset-packages.js +15 -15
- package/dist/training-bundle.js +81 -19
- package/dist/training-bundle.js.map +1 -1
- package/dist/training.js +39 -7
- package/dist/types/packages/cloud/src/hosted-chat.d.ts +28 -0
- package/dist/types/packages/cloud/src/hosted-chat.d.ts.map +1 -1
- package/dist/types/packages/cloud/src/sandbox/sandbox-instance-client.d.ts.map +1 -1
- package/dist/types/packages/cloud/src/sandbox/url.d.ts +3 -1
- package/dist/types/packages/cloud/src/sandbox/url.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +4 -0
- package/dist/types/packages/sdk/src/connected-evidence-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts +2 -0
- package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +14 -0
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts +4 -0
- package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts +4 -0
- package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/learning-client.d.ts +1 -0
- package/dist/types/packages/sdk/src/learning-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/learning-correction-metrics.d.ts +358 -0
- package/dist/types/packages/sdk/src/learning-correction-metrics.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/learning.d.ts +1 -0
- package/dist/types/packages/sdk/src/learning.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +24 -0
- package/dist/types/packages/sdk/src/managed-training-preparation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-bound-taskset-authoring.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-learning-policy.d.ts +16 -0
- package/dist/types/packages/sdk/src/model-learning-policy.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-projects.d.ts +192 -0
- package/dist/types/packages/sdk/src/model-projects.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starters.d.ts +84 -1
- package/dist/types/packages/sdk/src/model-starters.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +28 -28
- package/dist/types/packages/sdk/src/model-training-defaults.d.ts +14 -0
- package/dist/types/packages/sdk/src/model-training-defaults.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/post-training.d.ts +54 -0
- package/dist/types/packages/sdk/src/post-training.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-authored-files.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-authored-portable-release.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +4 -0
- package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +142 -120
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +4 -0
- package/dist/types/packages/sdk/src/taskset-draft-document.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +4 -0
- package/dist/types/packages/sdk/src/taskset-draft-source.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +4 -0
- package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts +63 -0
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-bundle.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-compute-selection.d.ts +52 -0
- package/dist/types/packages/sdk/src/training-compute-selection.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-estimates.d.ts +1069 -0
- package/dist/types/packages/sdk/src/training-estimates.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts +40 -40
- package/dist/types/packages/sdk/src/training-physical-placement.d.ts +16 -0
- package/dist/types/packages/sdk/src/training-physical-placement.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-preparations.d.ts +248 -0
- package/dist/types/packages/sdk/src/training-preparations.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts +20 -0
- package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-queue.d.ts +24 -0
- package/dist/types/packages/sdk/src/training-queue.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-recipe-binding.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-recovery.d.ts +85 -0
- package/dist/types/packages/sdk/src/training-recovery.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-verifier-assets.d.ts +7 -0
- package/dist/types/packages/sdk/src/training-verifier-assets.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training.d.ts +599 -0
- package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-B5XTGEBE.js.map +0 -1
- package/dist/chunk-BVMR5OFW.js.map +0 -1
- package/dist/chunk-CMWZZZGW.js.map +0 -1
- package/dist/chunk-GAIDBPFY.js.map +0 -1
- package/dist/chunk-HGXVOFCL.js.map +0 -1
- package/dist/chunk-MO4HAJZG.js.map +0 -1
- package/dist/chunk-RRKRA237.js.map +0 -1
- package/dist/chunk-WQFU635Q.js.map +0 -1
- package/dist/chunk-ZIFZFP5I.js.map +0 -1
- /package/dist/{chunk-WMIKJGXW.js.map → chunk-3VGTVZHL.js.map} +0 -0
- /package/dist/{chunk-U7XWIOSB.js.map → chunk-5T76GARR.js.map} +0 -0
- /package/dist/{chunk-QRS7Y3EM.js.map → chunk-B2MKB7NB.js.map} +0 -0
- /package/dist/{chunk-EFUT3XKW.js.map → chunk-ETFWUMEJ.js.map} +0 -0
- /package/dist/{chunk-VN5V2E2S.js.map → chunk-HRZLFJXX.js.map} +0 -0
- /package/dist/{chunk-I54WQBXL.js.map → chunk-KD6MM67B.js.map} +0 -0
- /package/dist/{chunk-ZHQK3MOM.js.map → chunk-LIMTJR3A.js.map} +0 -0
- /package/dist/{chunk-VHGC44HA.js.map → chunk-RDL6QIQO.js.map} +0 -0
- /package/dist/{chunk-LHX7ENKZ.js.map → chunk-S2IASCGW.js.map} +0 -0
- /package/dist/{chunk-XON75UFN.js.map → chunk-SER76PQ7.js.map} +0 -0
- /package/dist/{chunk-ETX25FTB.js.map → chunk-SMHZT6RM.js.map} +0 -0
- /package/dist/{chunk-24N6A6SF.js.map → chunk-SQBYHWZU.js.map} +0 -0
- /package/dist/{chunk-DF2QXVZ3.js.map → chunk-VBVFE33M.js.map} +0 -0
- /package/dist/{chunk-53LLNDXF.js.map → chunk-VQGTYGZH.js.map} +0 -0
- /package/dist/{chunk-OR3TMIJN.js.map → chunk-VTAGUWXH.js.map} +0 -0
- /package/dist/{chunk-LR5CTOC5.js.map → chunk-XF3JR72U.js.map} +0 -0
- /package/dist/{chunk-K5LWSWV7.js.map → chunk-ZGZLN4LH.js.map} +0 -0
package/TASKSETS.md
CHANGED
|
@@ -52,6 +52,19 @@ outside the Taskset manifest. The 64 MiB limit includes the JSON envelope and
|
|
|
52
52
|
base64 encoding. Validation does not establish execution readiness or authorize
|
|
53
53
|
access to private resources.
|
|
54
54
|
|
|
55
|
+
For Work tasks whose response is also a required JSON deliverable, set
|
|
56
|
+
`taskset.metadata.tasksetOutputContract` to
|
|
57
|
+
`{ mode: "artifacts", requiredOutputSource: "task.requiredOutputs", responsePath: "results/answer.json" }`.
|
|
58
|
+
Each executed task must declare exactly one output at that path with
|
|
59
|
+
`mediaType: "application/json"`, `submissionMode: "structured_json"`, and a
|
|
60
|
+
policy-visible `schemaRef`. The host verifies the referenced schema bytes and
|
|
61
|
+
uses that task's schema for both its response and deliverable. Tasks can therefore
|
|
62
|
+
have different schemas without adding a second response submission tool.
|
|
63
|
+
Missing or ambiguous paths, non-JSON outputs and private schemas fail admission.
|
|
64
|
+
Omitting `responsePath` retains the existing artifacts-only response behavior.
|
|
65
|
+
This descriptor requires a host with explicit artifact response-path support;
|
|
66
|
+
confirm support before submitting a paid run.
|
|
67
|
+
|
|
55
68
|
Authored aggregation is declared by `taskset.metrics` in the shared Evals
|
|
56
69
|
contract. A custom metric's module must appear once in the package at its
|
|
57
70
|
declared path, retain private visibility, match its content hash and stay within
|
package/TRAINING_PROTOCOL.md
CHANGED
|
@@ -263,3 +263,28 @@ resolve the repository under the caller's workspace/permissions, verify the
|
|
|
263
263
|
internal Profile ID and all selected immutable identities, and fail admission
|
|
264
264
|
when they no longer match. Project association does not grant repository access
|
|
265
265
|
or permission to execute a Profile's connected applications.
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
## Exact recovery after a committed training group
|
|
269
|
+
|
|
270
|
+
`POST /v1/training/jobs/{sourceJobId}/recover` creates a linked execution attempt after a cancelled or failed run has completed native allocation/capability/checkpoint cleanup. It requires a ready canonical checkpoint at the source's current policy, verified optimizer state, committed update evidence, completed original baseline, and the source owner. It does not accept replacement rewards, rollout batches or file URLs.
|
|
271
|
+
|
|
272
|
+
Use `client.recoverCheckpoint(sourceJobId, { expectedVersion, checkpointId, idempotencyKey, maximumSpendUsd, maximumWallSeconds })`. By default, requested spend/time must fit retained source authority and current account funding. A separately retained `resourceApproval` explicitly permits a new bounded envelope for this exact recovery; it does not modify the source approval. Retrying the exact idempotency key reconciles the same admitted run; a different key cannot create a second replacement from the same boundary. Reconcile an uncertain submission by its idempotency key before attempting another operation.
|
|
273
|
+
|
|
274
|
+
An owner can author the opt-in object with `createTrainingCheckpointRecoveryResourceApproval` from `openpond-sdk/training`. Supply `schemaVersion: "openpond.checkpointRecoveryResourceApproval.v1"`, the source `ownerUserId`, `teamId`, `sourceJobId`, current `sourceJobVersion`, `sourceInputManifestSha256`, and exact ready `checkpointId`, `adapterSha256`, `resumeSha256`, plus the request `idempotencyKey`, `approvedAt`, `maximumSpendUsd`, `maximumGpuSeconds` and `maximumWallSeconds`. The helper adds the canonical `approvalHash`. Approval time must follow the source cleanup attestation and cannot be in the future. Spend uses whole microdollars and is bounded by $30; GPU is at most 21,600 seconds, wall at most 10,800 seconds, and GPU cannot exceed wall. Ordinary account funding, capacity, image and workload admission still apply. The authenticated source-owner request supplies consent; a content hash alone grants no authority.
|
|
275
|
+
|
|
276
|
+
The API revalidates this exact identity under the source-row admission lock. It retains the approval in the recovery receipt and public recovery readback, derives target financial partitions in the original proportions, and binds target approval and Harness financial approval to the new approval hash. Target GPU/wall and sandbox lifetime use the explicit approved duration; task counts, recipe, ranks, input files, Adam state, private isolation and graceful cleanup reserve stay unchanged. A changed approved envelope, owner, checkpoint, source version or idempotency key is rejected. Existing requests without this object keep the original ceilings.
|
|
277
|
+
|
|
278
|
+
Recovery restores the original adapter block and Adam state, retains original tasks, recipe, splits, graders and baseline, and starts the next unfinished group. It does not reapply a completed update or use a new residual block. Public run readback includes `recovery: { sourceJobId, checkpointId, policyVersion, completedGroups, optimizerMode: "continue" }`. Completed-group and applied-update totals include inherited work; the overview marks inherited groups Reused and separately counts new updates. Per-task baseline evidence retains its original trace identity. Native job cleanup receipts bind the exact recovery input and saved checkpoint; physical GPU retirement still requires independent verification.
|
|
279
|
+
|
|
280
|
+
When all original training groups are already consumed, the same operation performs finalization-only recovery. It restores the committed checkpoint, creates no rollout group or optimizer step, and preserves every completed candidate-evaluation task, including zero scores. The server pins the exact policy, task panel, sampling recipe and retained result identities; only unfinished evaluation tasks execute again. Per-task readback resolves inherited outputs at their original source and new outputs at the replacement. The failed source remains unchanged. Final artifact metadata identifies `recovery.finalizationOnly` and the retained candidate task count. A saved non-final checkpoint from a failed run is still not a continual-training parent: the replacement must finish evaluation, signed artifact publication and custody cleanup first.
|
|
281
|
+
|
|
282
|
+
This operation differs from continual training with an optimizer reset. An isolated optimizer diagnostic replay discards its weights and is never a training parent or a completed group.
|
|
283
|
+
|
|
284
|
+
CLI: `openpond training hosted-recover recovery.json --team-id <id> --home <configured-home> --yes --json`, where the file contains `jobId` plus the request fields above and optional `resourceApproval`. `--yes` confirms the explicit funded CLI operation; the command does not silently retry paid admission.
|
|
285
|
+
|
|
286
|
+
## Managed Work policy transport
|
|
287
|
+
|
|
288
|
+
Managed Work reconciles a transient or lost policy HTTP response inside its current guest using the identical delivery, turn, seed, messages and tool body. The native gateway reads the existing command result for that identity; a response retry does not add a policy sample or replay already-executed Work tools. The signed native retry allowance is shared across the case and the original execution deadline remains binding. Successful Work timing evidence includes `policyHttpRetries`.
|
|
289
|
+
|
|
290
|
+
The native runner does not restart a whole stateful Work process to recover a policy HTTP failure. Exhausted retries, authentication/custody failures and first-call budget exhaustion still fail the attempt; no response, reward or optimizer update is fabricated. Other execution kinds keep their established process-retry behavior.
|
|
@@ -12,16 +12,16 @@ import {
|
|
|
12
12
|
sealAdvancedRefinerEvaluationPin,
|
|
13
13
|
sealAdvancedRefinerReviewReceipt,
|
|
14
14
|
verifyAdvancedRefinerEvaluationPin
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-RDL6QIQO.js";
|
|
16
|
+
import "./chunk-SER76PQ7.js";
|
|
17
17
|
import "./chunk-3B5KSH3V.js";
|
|
18
18
|
import "./chunk-H3367ISL.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-VQGTYGZH.js";
|
|
20
20
|
import "./chunk-O6FKHAWN.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-B2MKB7NB.js";
|
|
22
|
+
import "./chunk-HRZLFJXX.js";
|
|
23
|
+
import "./chunk-5T76GARR.js";
|
|
24
|
+
import "./chunk-3SIGXGAE.js";
|
|
25
25
|
import "./chunk-CL3IOOVL.js";
|
|
26
26
|
import "./chunk-H3JZ3P5T.js";
|
|
27
27
|
import "./chunk-YLJ4XMA6.js";
|
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
CandidateEvaluationPreparationSchema,
|
|
6
6
|
CandidateEvaluationRequestSchema,
|
|
7
7
|
createCandidateEvaluationClient
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-SMHZT6RM.js";
|
|
9
|
+
import "./chunk-3VGTVZHL.js";
|
|
10
|
+
import "./chunk-B2MKB7NB.js";
|
|
11
|
+
import "./chunk-HRZLFJXX.js";
|
|
12
|
+
import "./chunk-5T76GARR.js";
|
|
13
|
+
import "./chunk-3SIGXGAE.js";
|
|
14
14
|
import "./chunk-CL3IOOVL.js";
|
|
15
15
|
import "./chunk-H3JZ3P5T.js";
|
|
16
16
|
import "./chunk-YLJ4XMA6.js";
|