@openpond/evals 0.12.4 → 0.12.5
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/LEARNING.md +21 -0
- package/dist/javascript-isolate-process-entry.js +4 -1
- package/dist/javascript-isolate-process-source.js +1 -1
- package/dist/javascript-isolate-process.js +36 -2
- package/dist/javascript-isolate.js +8 -2
- package/dist/javascript-verifier-node.js +1 -0
- package/dist/javascript-verifier-worker-source.js +1 -1
- package/dist/learning/index.js +1 -0
- package/dist/learning/iteration-dispatch-commands.js +1 -1
- package/dist/learning/iteration-dispatch-contracts.js +27 -0
- package/dist/learning/iteration-dispatch-deferral.js +28 -0
- package/dist/learning/iteration-dispatch-worker.js +34 -5
- package/dist/types/javascript-isolate-process.d.ts +7 -0
- package/dist/types/javascript-isolate-process.d.ts.map +1 -1
- package/dist/types/javascript-isolate.d.ts +3 -1
- package/dist/types/javascript-isolate.d.ts.map +1 -1
- package/dist/types/javascript-verifier-node.d.ts +1 -0
- package/dist/types/javascript-verifier-node.d.ts.map +1 -1
- package/dist/types/learning/index.d.ts +1 -0
- package/dist/types/learning/index.d.ts.map +1 -1
- package/dist/types/learning/iteration-dispatch-contracts.d.ts +45 -0
- package/dist/types/learning/iteration-dispatch-contracts.d.ts.map +1 -1
- package/dist/types/learning/iteration-dispatch-deferral.d.ts +71 -0
- package/dist/types/learning/iteration-dispatch-deferral.d.ts.map +1 -0
- package/dist/types/learning/iteration-dispatch-worker.d.ts +7 -2
- package/dist/types/learning/iteration-dispatch-worker.d.ts.map +1 -1
- package/dist/types/learning/repository.d.ts +20 -0
- package/dist/types/learning/repository.d.ts.map +1 -1
- package/dist/types/learning/transport.d.ts +20 -0
- package/dist/types/learning/transport.d.ts.map +1 -1
- package/package.json +1 -1
- package/schemas/learning/v1/dispatch.schema.json +100 -1
package/dist/learning/index.js
CHANGED
|
@@ -25,6 +25,7 @@ export * from "./reward-fixture-executor.js";
|
|
|
25
25
|
export * from "./iteration-reservation-contracts.js";
|
|
26
26
|
export * from "./iteration-dispatch-contracts.js";
|
|
27
27
|
export * from "./iteration-dispatch-worker.js";
|
|
28
|
+
export * from "./iteration-dispatch-deferral.js";
|
|
28
29
|
export * from "./iteration-candidate-decision.js";
|
|
29
30
|
export { resolveLearningTrainingParent } from "./iteration-training-parent.js";
|
|
30
31
|
export * from "./schedule-contracts.js";
|
|
@@ -22,7 +22,7 @@ export async function commandLearningIterationDispatch(tx, input, now) {
|
|
|
22
22
|
const resumed = LearningIterationDispatchSchema.parse({ ...dispatch, revision: dispatch.revision + 1,
|
|
23
23
|
state: dispatch.execution ? "submitted" : dispatch.submission ? "prepared" : "preparing",
|
|
24
24
|
cancelRequestedAt: cancelling ? dispatch.cancelRequestedAt ?? now : null,
|
|
25
|
-
consecutiveFailures: 0, nextAttemptAt: null, lastError: null, updatedAt: now });
|
|
25
|
+
consecutiveFailures: 0, nextAttemptAt: null, lastError: null, admission: null, updatedAt: now });
|
|
26
26
|
// Preserve an in-flight lease. Its owner observes cancellation on the next
|
|
27
27
|
// transition, and a replacement worker may claim only after that lease ends.
|
|
28
28
|
await tx.put("dispatch", resumed, dispatch.revision, { parentId: iteration.id, status: resumed.state });
|
|
@@ -8,6 +8,24 @@ export const LearningIterationSubmissionSchema = z.object({
|
|
|
8
8
|
protocol: ReleaseIdSchema,
|
|
9
9
|
payload: LearningJsonObjectSchema,
|
|
10
10
|
}).strict();
|
|
11
|
+
/** Normal capacity/calendar waits are not failed execution attempts. */
|
|
12
|
+
export const LearningIterationAdmissionSchema = z.discriminatedUnion("status", [
|
|
13
|
+
z.object({ status: z.literal("ready") }).strict(),
|
|
14
|
+
z.object({ status: z.literal("deferred"), retryAt: ReleaseTimestampSchema,
|
|
15
|
+
reason: z.string().trim().min(1).max(2_000) }).strict(),
|
|
16
|
+
]);
|
|
17
|
+
/** The execution owner has durably rejected/fenced this exact attempt before
|
|
18
|
+
* creating an execution or spending. A timeout/absence read is not this proof. */
|
|
19
|
+
export const LearningIterationSubmissionDeferralSchema = z.object({
|
|
20
|
+
scope: ReleaseIdSchema,
|
|
21
|
+
dispatchId: ReleaseIdSchema,
|
|
22
|
+
submissionHash: z.string().regex(/^[a-f0-9]{64}$/),
|
|
23
|
+
leaseGeneration: z.number().int().positive(),
|
|
24
|
+
status: z.literal("deferred"),
|
|
25
|
+
retryAt: ReleaseTimestampSchema,
|
|
26
|
+
reason: z.string().trim().min(1).max(2_000),
|
|
27
|
+
receipt: ImmutableReleaseRefSchema,
|
|
28
|
+
}).strict();
|
|
11
29
|
export const LearningIterationDispatchSchema = z.object({
|
|
12
30
|
schemaVersion: z.literal("openpond.learningIterationDispatch.v1"),
|
|
13
31
|
id: ReleaseIdSchema,
|
|
@@ -28,6 +46,8 @@ export const LearningIterationDispatchSchema = z.object({
|
|
|
28
46
|
leaseExpiresAt: ReleaseTimestampSchema.nullable(),
|
|
29
47
|
consecutiveFailures: z.number().int().nonnegative(),
|
|
30
48
|
nextAttemptAt: ReleaseTimestampSchema.nullable(),
|
|
49
|
+
admission: LearningIterationAdmissionSchema.nullable().optional(),
|
|
50
|
+
lastSubmissionDeferral: LearningIterationSubmissionDeferralSchema.optional(),
|
|
31
51
|
lastError: z.string().max(20_000).nullable(),
|
|
32
52
|
createdAt: ReleaseTimestampSchema,
|
|
33
53
|
updatedAt: ReleaseTimestampSchema,
|
|
@@ -37,6 +57,13 @@ export const LearningIterationDispatchSchema = z.object({
|
|
|
37
57
|
}
|
|
38
58
|
if (value.submissionStartedAt && !value.submission)
|
|
39
59
|
context.addIssue({ code: "custom", path: ["submission"], message: "A started dispatch requires its persisted submission." });
|
|
60
|
+
if (value.admission?.status === "deferred" && (value.submissionStartedAt || value.state !== "prepared" || value.nextAttemptAt !== value.admission.retryAt)) {
|
|
61
|
+
context.addIssue({ code: "custom", path: ["admission"], message: "Admission deferral requires an unstarted prepared dispatch and its retry time." });
|
|
62
|
+
}
|
|
63
|
+
if (value.lastSubmissionDeferral && (value.lastSubmissionDeferral.dispatchId !== value.id ||
|
|
64
|
+
value.lastSubmissionDeferral.submissionHash !== value.submissionHash || value.lastSubmissionDeferral.leaseGeneration >= value.leaseGeneration)) {
|
|
65
|
+
context.addIssue({ code: "custom", path: ["lastSubmissionDeferral"], message: "A retained deferral must identify an earlier fenced attempt of this submission." });
|
|
66
|
+
}
|
|
40
67
|
if (value.execution && !value.submissionStartedAt)
|
|
41
68
|
context.addIssue({ code: "custom", path: ["execution"], message: "An execution requires a started dispatch." });
|
|
42
69
|
if (["prepared", "submitted"].includes(value.state) && !value.submission)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { LearningIterationSchema } from "./contracts.js";
|
|
2
|
+
import { LearningDomainError } from "./errors.js";
|
|
3
|
+
import { LearningIterationDispatchSchema, LearningIterationSubmissionDeferralSchema } from "./iteration-dispatch-contracts.js";
|
|
4
|
+
/** Call under the dispatch's scope lock. The execution owner must first fence
|
|
5
|
+
* this attempt and prove no execution/charge exists. When the owner shares this
|
|
6
|
+
* repository, commit this mutation in its native admission transaction instead:
|
|
7
|
+
* late submits then fail the same generation fence as lease replacement.
|
|
8
|
+
*/
|
|
9
|
+
export async function deferLearningIterationSubmission(tx, scope, current, iteration, value, now) {
|
|
10
|
+
const outcome = LearningIterationSubmissionDeferralSchema.parse(value);
|
|
11
|
+
if (outcome.scope !== scope || outcome.dispatchId !== current.id || outcome.submissionHash !== current.submissionHash ||
|
|
12
|
+
outcome.leaseGeneration !== current.leaseGeneration || !current.submissionStartedAt || current.execution ||
|
|
13
|
+
current.state !== "prepared" || !current.leaseOwner ||
|
|
14
|
+
!current.leaseExpiresAt || Date.parse(current.leaseExpiresAt) <= Date.parse(now) ||
|
|
15
|
+
iteration.id !== current.iterationId || (iteration.status !== "dispatching" && !(current.cancelRequestedAt && iteration.status === "cancelling")))
|
|
16
|
+
throw new LearningDomainError("learning_submission_deferral_fenced", 409);
|
|
17
|
+
const retryAt = new Date(Math.max(Date.parse(outcome.retryAt), Date.parse(now) + 1_000)).toISOString();
|
|
18
|
+
const dispatch = LearningIterationDispatchSchema.parse({ ...current, revision: current.revision + 1,
|
|
19
|
+
submissionStartedAt: null, leaseGeneration: current.leaseGeneration + 1, leaseOwner: null, leaseExpiresAt: null,
|
|
20
|
+
admission: current.cancelRequestedAt ? null : { status: "deferred", reason: outcome.reason, retryAt },
|
|
21
|
+
nextAttemptAt: current.cancelRequestedAt ? null : retryAt, lastSubmissionDeferral: outcome,
|
|
22
|
+
consecutiveFailures: 0, lastError: null, updatedAt: now });
|
|
23
|
+
await tx.put("dispatch", dispatch, current.revision, { parentId: current.iterationId, status: dispatch.state });
|
|
24
|
+
if (iteration.failure)
|
|
25
|
+
await tx.put("iteration", LearningIterationSchema.parse({ ...iteration,
|
|
26
|
+
revision: iteration.revision + 1, failure: null, updatedAt: now }), iteration.revision, { parentId: current.chainId, status: iteration.status });
|
|
27
|
+
return dispatch;
|
|
28
|
+
}
|
|
@@ -2,8 +2,10 @@ import { contentHash } from "@openpond/harness";
|
|
|
2
2
|
import { LearningIterationSchema } from "./contracts.js";
|
|
3
3
|
import { LearningDomainError } from "./errors.js";
|
|
4
4
|
import { LearningChainSchema, LearningIterationReservationSchema } from "./iteration-reservation-contracts.js";
|
|
5
|
-
import { LearningIterationDispatchSchema, LearningIterationObservationSchema, LearningIterationSubmissionSchema, } from "./iteration-dispatch-contracts.js";
|
|
5
|
+
import { LearningIterationAdmissionSchema, LearningIterationDispatchSchema, LearningIterationObservationSchema, LearningIterationSubmissionSchema, } from "./iteration-dispatch-contracts.js";
|
|
6
6
|
import { requireLearningRelease, requireLearningResource } from "./repository.js";
|
|
7
|
+
import { deferLearningIterationSubmission } from "./iteration-dispatch-deferral.js";
|
|
8
|
+
import { LearningIterationSubmissionDeferralSchema } from "./iteration-dispatch-contracts.js";
|
|
7
9
|
const closed = new Set(["accepted", "rejected", "failed", "cancelled", "completed_without_candidate"]);
|
|
8
10
|
export function createLearningIterationWorker(repository, executor, options) {
|
|
9
11
|
const now = options.now ?? (() => new Date().toISOString());
|
|
@@ -20,7 +22,7 @@ export function createLearningIterationWorker(repository, executor, options) {
|
|
|
20
22
|
const stamp = now();
|
|
21
23
|
if (current?.state === "settled" || (current?.state === "blocked" && !current.cancelRequestedAt)
|
|
22
24
|
|| (current?.leaseExpiresAt && Date.parse(current.leaseExpiresAt) > Date.parse(stamp))
|
|
23
|
-
|| (current?.nextAttemptAt && Date.parse(current.nextAttemptAt) > Date.parse(stamp)))
|
|
25
|
+
|| (!current?.cancelRequestedAt && current?.nextAttemptAt && Date.parse(current.nextAttemptAt) > Date.parse(stamp)))
|
|
24
26
|
return null;
|
|
25
27
|
const policy = await requireLearningRelease(tx, "policy", iteration.policy);
|
|
26
28
|
if (policy.executionOwner !== options.executionOwner)
|
|
@@ -80,7 +82,7 @@ export function createLearningIterationWorker(repository, executor, options) {
|
|
|
80
82
|
});
|
|
81
83
|
await tx.put("iteration", updated, iteration.revision, { parentId: current.chainId, status });
|
|
82
84
|
await saveDispatch(tx, current, { state: terminal ? "settled" : "submitted", execution: outcome?.execution ?? current.execution,
|
|
83
|
-
terminalReceipt: outcome?.receipt ?? null, leaseOwner: null, leaseExpiresAt: null,
|
|
85
|
+
terminalReceipt: outcome?.receipt ?? null, leaseOwner: null, leaseExpiresAt: null, admission: null,
|
|
84
86
|
nextAttemptAt: terminal ? null : new Date(Date.parse(now()) + 5_000).toISOString(), consecutiveFailures: 0, lastError: null });
|
|
85
87
|
if (terminal) {
|
|
86
88
|
const reservation = await requireLearningResource(tx, "reservation", iteration.id);
|
|
@@ -124,6 +126,25 @@ export function createLearningIterationWorker(repository, executor, options) {
|
|
|
124
126
|
return read();
|
|
125
127
|
dispatch = prepared;
|
|
126
128
|
}
|
|
129
|
+
if (!dispatch.submissionStartedAt && !dispatch.cancelRequestedAt && executor.admit) {
|
|
130
|
+
const checkedAt = now();
|
|
131
|
+
const admission = LearningIterationAdmissionSchema.parse(await bounded(input => executor.admit(input)));
|
|
132
|
+
if (admission.status === "deferred") {
|
|
133
|
+
if (Date.parse(admission.retryAt) <= Date.parse(checkedAt))
|
|
134
|
+
throw new LearningDomainError("learning_admission_retry_time_invalid", 409);
|
|
135
|
+
await fenced(scope, dispatch, async (tx, current, iteration) => {
|
|
136
|
+
if (current.cancelRequestedAt)
|
|
137
|
+
return settle(tx, current, iteration, null);
|
|
138
|
+
const retryAt = new Date(Math.max(Date.parse(admission.retryAt), Date.parse(now()) + 1_000)).toISOString();
|
|
139
|
+
await saveDispatch(tx, current, { admission: { ...admission, retryAt }, nextAttemptAt: retryAt,
|
|
140
|
+
consecutiveFailures: 0, lastError: null, leaseOwner: null, leaseExpiresAt: null });
|
|
141
|
+
if (iteration.failure)
|
|
142
|
+
await tx.put("iteration", LearningIterationSchema.parse({ ...iteration,
|
|
143
|
+
revision: iteration.revision + 1, failure: null, updatedAt: now() }), iteration.revision, { parentId: current.chainId, status: iteration.status });
|
|
144
|
+
});
|
|
145
|
+
return read();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
127
148
|
const starting = await fenced(scope, dispatch, async (tx, current, iteration) => {
|
|
128
149
|
if (current.cancelRequestedAt && !current.submissionStartedAt) {
|
|
129
150
|
await settle(tx, current, iteration, null);
|
|
@@ -134,7 +155,7 @@ export function createLearningIterationWorker(repository, executor, options) {
|
|
|
134
155
|
await saveDispatch(tx, current, { leaseOwner: null, leaseExpiresAt: null });
|
|
135
156
|
return null;
|
|
136
157
|
}
|
|
137
|
-
return saveDispatch(tx, current, { submissionStartedAt: current.submissionStartedAt ?? now() });
|
|
158
|
+
return saveDispatch(tx, current, { submissionStartedAt: current.submissionStartedAt ?? now(), admission: null });
|
|
138
159
|
});
|
|
139
160
|
if (!starting)
|
|
140
161
|
return read();
|
|
@@ -147,6 +168,14 @@ export function createLearningIterationWorker(repository, executor, options) {
|
|
|
147
168
|
dispatch = refreshed;
|
|
148
169
|
observed = dispatch.cancelRequestedAt ? await bounded(input => executor.cancel(input)) : await bounded(input => executor.submit(input));
|
|
149
170
|
}
|
|
171
|
+
if (observed.status === "deferred") {
|
|
172
|
+
const outcome = LearningIterationSubmissionDeferralSchema.parse(observed);
|
|
173
|
+
if (outcome.scope !== scope || outcome.dispatchId !== dispatch.id || outcome.submissionHash !== dispatch.submissionHash ||
|
|
174
|
+
outcome.leaseGeneration !== dispatch.leaseGeneration)
|
|
175
|
+
throw new LearningDomainError("learning_execution_identity_mismatch", 409);
|
|
176
|
+
await fenced(scope, dispatch, (tx, current, iteration) => deferLearningIterationSubmission(tx, scope, current, iteration, outcome, now()));
|
|
177
|
+
return read();
|
|
178
|
+
}
|
|
150
179
|
const outcome = LearningIterationObservationSchema.parse(observed);
|
|
151
180
|
if (outcome.scope !== scope || outcome.dispatchId !== dispatch.id || outcome.submissionHash !== dispatch.submissionHash
|
|
152
181
|
|| (dispatch.execution && contentHash(outcome.execution) !== contentHash(dispatch.execution)))
|
|
@@ -165,7 +194,7 @@ export function createLearningIterationWorker(repository, executor, options) {
|
|
|
165
194
|
const blocked = failures > acquired.policy.limits.maxRetries;
|
|
166
195
|
const message = (error instanceof Error ? error.message : "Learning dispatch failed.").slice(0, 20_000);
|
|
167
196
|
await saveDispatch(tx, current, { state: blocked ? "blocked" : current.state, consecutiveFailures: failures,
|
|
168
|
-
lastError: message, leaseOwner: null, leaseExpiresAt: null,
|
|
197
|
+
lastError: message, leaseOwner: null, leaseExpiresAt: null, admission: null,
|
|
169
198
|
nextAttemptAt: blocked ? null : new Date(Date.parse(now()) + Math.min(60_000, 1_000 * 2 ** Math.min(failures, 6))).toISOString() });
|
|
170
199
|
const updated = LearningIterationSchema.parse({ ...iteration, revision: iteration.revision + 1, retryCount: iteration.retryCount + 1,
|
|
171
200
|
failure: { code: blocked ? "learning_dispatch_attention_required" : "learning_dispatch_retry_pending", message }, updatedAt: now() });
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { type JavaScriptIsolateInput } from "./javascript-isolate.js";
|
|
2
|
+
/** Created only by the trusted parent wall timer, never from guest error text.
|
|
3
|
+
* The process executor rejects with this error only after child exit. */
|
|
4
|
+
export declare class JavaScriptVerifierHostTimeoutError extends Error {
|
|
5
|
+
readonly timeoutMs: number;
|
|
6
|
+
readonly elapsedMs: number;
|
|
7
|
+
constructor(timeoutMs: number, elapsedMs: number);
|
|
8
|
+
}
|
|
2
9
|
/** A Node subprocess owns the interpreter; completion always waits for its exit. */
|
|
3
10
|
export declare function executeJavaScriptIsolateInProcess(input: JavaScriptIsolateInput & {
|
|
4
11
|
stripTypeScript?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"javascript-isolate-process.d.ts","sourceRoot":"","sources":["../../src/javascript-isolate-process.ts"],"names":[],"mappings":"AACA,OAAO,EAAmE,KAAK,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGvI,oFAAoF;AACpF,wBAAsB,iCAAiC,CAAC,KAAK,EAAE,sBAAsB,GAAG;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"javascript-isolate-process.d.ts","sourceRoot":"","sources":["../../src/javascript-isolate-process.ts"],"names":[],"mappings":"AACA,OAAO,EAAmE,KAAK,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGvI;yEACyE;AACzE,qBAAa,kCAAmC,SAAQ,KAAK;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM;IAAlE,YAAqB,SAAS,EAAE,MAAM,EAAW,SAAS,EAAE,MAAM,EAGjE;CACF;AAED,oFAAoF;AACpF,wBAAsB,iCAAiC,CAAC,KAAK,EAAE,sBAAsB,GAAG;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CA8EvI"}
|
|
@@ -12,6 +12,8 @@ export declare class JavaScriptIsolateExecutionError extends Error {
|
|
|
12
12
|
constructor(message: string);
|
|
13
13
|
}
|
|
14
14
|
/** Authored code is interpreter data, with no host functions or module loader. */
|
|
15
|
-
export declare function executeJavaScriptIsolate(input: JavaScriptIsolateInput
|
|
15
|
+
export declare function executeJavaScriptIsolate(input: JavaScriptIsolateInput, host?: {
|
|
16
|
+
onExecutionReady(): void;
|
|
17
|
+
}): Promise<unknown>;
|
|
16
18
|
export declare function validateJavaScriptIsolateInput(input: JavaScriptIsolateInput): void;
|
|
17
19
|
//# sourceMappingURL=javascript-isolate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"javascript-isolate.d.ts","sourceRoot":"","sources":["../../src/javascript-isolate.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,UAAU,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAC;CAClE;AAED,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,YAAY,OAAO,EAAE,MAAM,EAAoE;CAChG;AAED,kFAAkF;AAClF,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"javascript-isolate.d.ts","sourceRoot":"","sources":["../../src/javascript-isolate.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,UAAU,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAC;CAClE;AAED,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,YAAY,OAAO,EAAE,MAAM,EAAoE;CAChG;AAED,kFAAkF;AAClF,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,EAAE,IAAI,CAAC,EAAE;IAAE,gBAAgB,IAAI,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CA0CnI;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAKlF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { executeJavaScriptVerifier } from "./javascript-verifier.js";
|
|
2
2
|
import { type JavaScriptVerifierResult } from "./javascript-verifier-contract.js";
|
|
3
|
+
export { JavaScriptVerifierHostTimeoutError } from "./javascript-isolate-process.js";
|
|
3
4
|
/** Resolves/rejects only after the execution owner has stopped the worker. */
|
|
4
5
|
export declare function executeJavaScriptVerifierInWorker(input: Parameters<typeof executeJavaScriptVerifier>[0]): Promise<JavaScriptVerifierResult>;
|
|
5
6
|
/** Uses a Node child process and waits for exit on success, failure, or cancellation. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"javascript-verifier-node.d.ts","sourceRoot":"","sources":["../../src/javascript-verifier-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAiE,KAAK,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"javascript-verifier-node.d.ts","sourceRoot":"","sources":["../../src/javascript-verifier-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAiE,KAAK,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAGjJ,OAAO,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AAErF,8EAA8E;AAC9E,wBAAsB,iCAAiC,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAGjJ;AAED,yFAAyF;AACzF,wBAAsB,kCAAkC,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAGlJ"}
|
|
@@ -25,6 +25,7 @@ export * from "./reward-fixture-executor.js";
|
|
|
25
25
|
export * from "./iteration-reservation-contracts.js";
|
|
26
26
|
export * from "./iteration-dispatch-contracts.js";
|
|
27
27
|
export * from "./iteration-dispatch-worker.js";
|
|
28
|
+
export * from "./iteration-dispatch-deferral.js";
|
|
28
29
|
export * from "./iteration-candidate-decision.js";
|
|
29
30
|
export { resolveLearningTrainingParent } from "./iteration-training-parent.js";
|
|
30
31
|
export * from "./schedule-contracts.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/learning/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,2BAA2B,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAChG,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/learning/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,2BAA2B,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAChG,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC"}
|
|
@@ -6,6 +6,30 @@ export declare const LearningIterationSubmissionSchema: z.ZodObject<{
|
|
|
6
6
|
protocol: z.ZodString;
|
|
7
7
|
payload: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
|
|
8
8
|
}, z.core.$strict>;
|
|
9
|
+
/** Normal capacity/calendar waits are not failed execution attempts. */
|
|
10
|
+
export declare const LearningIterationAdmissionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
11
|
+
status: z.ZodLiteral<"ready">;
|
|
12
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13
|
+
status: z.ZodLiteral<"deferred">;
|
|
14
|
+
retryAt: z.ZodString;
|
|
15
|
+
reason: z.ZodString;
|
|
16
|
+
}, z.core.$strict>], "status">;
|
|
17
|
+
/** The execution owner has durably rejected/fenced this exact attempt before
|
|
18
|
+
* creating an execution or spending. A timeout/absence read is not this proof. */
|
|
19
|
+
export declare const LearningIterationSubmissionDeferralSchema: z.ZodObject<{
|
|
20
|
+
scope: z.ZodString;
|
|
21
|
+
dispatchId: z.ZodString;
|
|
22
|
+
submissionHash: z.ZodString;
|
|
23
|
+
leaseGeneration: z.ZodNumber;
|
|
24
|
+
status: z.ZodLiteral<"deferred">;
|
|
25
|
+
retryAt: z.ZodString;
|
|
26
|
+
reason: z.ZodString;
|
|
27
|
+
receipt: z.ZodObject<{
|
|
28
|
+
id: z.ZodString;
|
|
29
|
+
contentHash: z.ZodString;
|
|
30
|
+
}, z.core.$strict>;
|
|
31
|
+
}, z.core.$strict>;
|
|
32
|
+
export type LearningIterationSubmissionDeferral = z.infer<typeof LearningIterationSubmissionDeferralSchema>;
|
|
9
33
|
export declare const LearningIterationDispatchSchema: z.ZodObject<{
|
|
10
34
|
schemaVersion: z.ZodLiteral<"openpond.learningIterationDispatch.v1">;
|
|
11
35
|
id: z.ZodString;
|
|
@@ -50,6 +74,26 @@ export declare const LearningIterationDispatchSchema: z.ZodObject<{
|
|
|
50
74
|
leaseExpiresAt: z.ZodNullable<z.ZodString>;
|
|
51
75
|
consecutiveFailures: z.ZodNumber;
|
|
52
76
|
nextAttemptAt: z.ZodNullable<z.ZodString>;
|
|
77
|
+
admission: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
78
|
+
status: z.ZodLiteral<"ready">;
|
|
79
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
80
|
+
status: z.ZodLiteral<"deferred">;
|
|
81
|
+
retryAt: z.ZodString;
|
|
82
|
+
reason: z.ZodString;
|
|
83
|
+
}, z.core.$strict>], "status">>>;
|
|
84
|
+
lastSubmissionDeferral: z.ZodOptional<z.ZodObject<{
|
|
85
|
+
scope: z.ZodString;
|
|
86
|
+
dispatchId: z.ZodString;
|
|
87
|
+
submissionHash: z.ZodString;
|
|
88
|
+
leaseGeneration: z.ZodNumber;
|
|
89
|
+
status: z.ZodLiteral<"deferred">;
|
|
90
|
+
retryAt: z.ZodString;
|
|
91
|
+
reason: z.ZodString;
|
|
92
|
+
receipt: z.ZodObject<{
|
|
93
|
+
id: z.ZodString;
|
|
94
|
+
contentHash: z.ZodString;
|
|
95
|
+
}, z.core.$strict>;
|
|
96
|
+
}, z.core.$strict>>;
|
|
53
97
|
lastError: z.ZodNullable<z.ZodString>;
|
|
54
98
|
createdAt: z.ZodString;
|
|
55
99
|
updatedAt: z.ZodString;
|
|
@@ -90,4 +134,5 @@ export declare const LearningIterationObservationSchema: z.ZodObject<{
|
|
|
90
134
|
export type LearningIterationSubmission = z.infer<typeof LearningIterationSubmissionSchema>;
|
|
91
135
|
export type LearningIterationDispatch = z.infer<typeof LearningIterationDispatchSchema>;
|
|
92
136
|
export type LearningIterationObservation = z.infer<typeof LearningIterationObservationSchema>;
|
|
137
|
+
export type LearningIterationAdmission = z.infer<typeof LearningIterationAdmissionSchema>;
|
|
93
138
|
//# sourceMappingURL=iteration-dispatch-contracts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iteration-dispatch-contracts.d.ts","sourceRoot":"","sources":["../../../src/learning/iteration-dispatch-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;kFACkF;AAClF,eAAO,MAAM,iCAAiC;;;;kBAInC,CAAC;AAEZ,eAAO,MAAM,+BAA+B
|
|
1
|
+
{"version":3,"file":"iteration-dispatch-contracts.d.ts","sourceRoot":"","sources":["../../../src/learning/iteration-dispatch-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;kFACkF;AAClF,eAAO,MAAM,iCAAiC;;;;kBAInC,CAAC;AAEZ,wEAAwE;AACxE,eAAO,MAAM,gCAAgC;;;;;;8BAI3C,CAAC;AAEH;kFACkF;AAClF,eAAO,MAAM,yCAAyC;;;;;;;;;;;;kBAS3C,CAAC;AACZ,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yCAAyC,CAAC,CAAC;AAE5G,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0C1C,CAAC;AAEH;wEACwE;AACxE,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkB7C,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAC5F,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAC9F,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { type LearningIteration } from "./contracts.js";
|
|
2
|
+
import { type LearningIterationDispatch } from "./iteration-dispatch-contracts.js";
|
|
3
|
+
import type { LearningTransaction } from "./repository.js";
|
|
4
|
+
/** Call under the dispatch's scope lock. The execution owner must first fence
|
|
5
|
+
* this attempt and prove no execution/charge exists. When the owner shares this
|
|
6
|
+
* repository, commit this mutation in its native admission transaction instead:
|
|
7
|
+
* late submits then fail the same generation fence as lease replacement.
|
|
8
|
+
*/
|
|
9
|
+
export declare function deferLearningIterationSubmission(tx: LearningTransaction, scope: string, current: LearningIterationDispatch, iteration: LearningIteration, value: unknown, now: string): Promise<{
|
|
10
|
+
schemaVersion: "openpond.learningIterationDispatch.v1";
|
|
11
|
+
id: string;
|
|
12
|
+
revision: number;
|
|
13
|
+
iterationId: string;
|
|
14
|
+
chainId: string;
|
|
15
|
+
policy: {
|
|
16
|
+
id: string;
|
|
17
|
+
contentHash: string;
|
|
18
|
+
revision: number;
|
|
19
|
+
};
|
|
20
|
+
batch: {
|
|
21
|
+
id: string;
|
|
22
|
+
contentHash: string;
|
|
23
|
+
revision: number;
|
|
24
|
+
};
|
|
25
|
+
state: "blocked" | "prepared" | "preparing" | "settled" | "submitted";
|
|
26
|
+
submission: {
|
|
27
|
+
provider: string;
|
|
28
|
+
protocol: string;
|
|
29
|
+
payload: Record<string, import("zod").JSONType>;
|
|
30
|
+
} | null;
|
|
31
|
+
submissionHash: string | null;
|
|
32
|
+
submissionStartedAt: string | null;
|
|
33
|
+
execution: {
|
|
34
|
+
id: string;
|
|
35
|
+
contentHash: string;
|
|
36
|
+
} | null;
|
|
37
|
+
terminalReceipt: {
|
|
38
|
+
id: string;
|
|
39
|
+
contentHash: string;
|
|
40
|
+
} | null;
|
|
41
|
+
cancelRequestedAt: string | null;
|
|
42
|
+
leaseOwner: string | null;
|
|
43
|
+
leaseGeneration: number;
|
|
44
|
+
leaseExpiresAt: string | null;
|
|
45
|
+
consecutiveFailures: number;
|
|
46
|
+
nextAttemptAt: string | null;
|
|
47
|
+
admission?: {
|
|
48
|
+
status: "ready";
|
|
49
|
+
} | {
|
|
50
|
+
status: "deferred";
|
|
51
|
+
retryAt: string;
|
|
52
|
+
reason: string;
|
|
53
|
+
} | null | undefined;
|
|
54
|
+
lastSubmissionDeferral?: {
|
|
55
|
+
scope: string;
|
|
56
|
+
dispatchId: string;
|
|
57
|
+
submissionHash: string;
|
|
58
|
+
leaseGeneration: number;
|
|
59
|
+
status: "deferred";
|
|
60
|
+
retryAt: string;
|
|
61
|
+
reason: string;
|
|
62
|
+
receipt: {
|
|
63
|
+
id: string;
|
|
64
|
+
contentHash: string;
|
|
65
|
+
};
|
|
66
|
+
} | undefined;
|
|
67
|
+
lastError: string | null;
|
|
68
|
+
createdAt: string;
|
|
69
|
+
updatedAt: string;
|
|
70
|
+
}>;
|
|
71
|
+
//# sourceMappingURL=iteration-dispatch-deferral.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iteration-dispatch-deferral.d.ts","sourceRoot":"","sources":["../../../src/learning/iteration-dispatch-deferral.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEjF,OAAO,EACL,KAAK,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;;;GAIG;AACH,wBAAsB,gCAAgC,CAAC,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAC3F,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmB9F"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type LearningIteration, type LearningPolicy, type TaskBatch } from "./contracts.js";
|
|
2
|
-
import { type LearningIterationDispatch, type LearningIterationObservation, type LearningIterationSubmission } from "./iteration-dispatch-contracts.js";
|
|
2
|
+
import { type LearningIterationAdmission, type LearningIterationDispatch, type LearningIterationObservation, type LearningIterationSubmission } from "./iteration-dispatch-contracts.js";
|
|
3
3
|
import { type LearningRepository } from "./repository.js";
|
|
4
|
+
import { type LearningIterationSubmissionDeferral } from "./iteration-dispatch-contracts.js";
|
|
4
5
|
export type LearningIterationExecutionContext = {
|
|
5
6
|
scope: string;
|
|
6
7
|
dispatch: LearningIterationDispatch;
|
|
@@ -12,12 +13,16 @@ export type LearningIterationExecutionContext = {
|
|
|
12
13
|
export interface LearningIterationExecutor {
|
|
13
14
|
/** Resolve immutable inputs and validate compatibility. Must not launch compute. */
|
|
14
15
|
prepare(input: LearningIterationExecutionContext): Promise<LearningIterationSubmission>;
|
|
16
|
+
/** Check calendar/capacity for the persisted submission before its first
|
|
17
|
+
* attempt. May reserve admission custody, but must not create an execution,
|
|
18
|
+
* launch compute or spend. Submit must still enforce current authority. */
|
|
19
|
+
admit?(input: LearningIterationExecutionContext): Promise<LearningIterationAdmission>;
|
|
15
20
|
/** Return the existing execution under dispatch.id; null means not found.
|
|
16
21
|
* An unavailable owner must throw, never report absence. */
|
|
17
22
|
reconcile(input: LearningIterationExecutionContext): Promise<LearningIterationObservation | null>;
|
|
18
23
|
/** Idempotently submit exactly dispatch.submission under dispatch.id, across
|
|
19
24
|
* crashes, lease owners and retries. Never create a different Job on retry. */
|
|
20
|
-
submit(input: LearningIterationExecutionContext): Promise<LearningIterationObservation>;
|
|
25
|
+
submit(input: LearningIterationExecutionContext): Promise<LearningIterationObservation | LearningIterationSubmissionDeferral>;
|
|
21
26
|
/** Cancel by dispatch identity, including an ambiguous initial submission.
|
|
22
27
|
* Terminal confirmation MUST fence late submits under that identity, including
|
|
23
28
|
* when no Job was created. A network abort alone is not cleanup confirmation. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iteration-dispatch-worker.d.ts","sourceRoot":"","sources":["../../../src/learning/iteration-dispatch-worker.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGtH,OAAO,EAEL,KAAK,yBAAyB,EAAE,KAAK,4BAA4B,EAAE,KAAK,2BAA2B,
|
|
1
|
+
{"version":3,"file":"iteration-dispatch-worker.d.ts","sourceRoot":"","sources":["../../../src/learning/iteration-dispatch-worker.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGtH,OAAO,EAEL,KAAK,0BAA0B,EAAE,KAAK,yBAAyB,EAAE,KAAK,4BAA4B,EAAE,KAAK,2BAA2B,EACrI,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAmD,KAAK,kBAAkB,EAA4B,MAAM,iBAAiB,CAAC;AAErI,OAAO,EAA6C,KAAK,mCAAmC,EAAE,MAAM,mCAAmC,CAAC;AAExI,MAAM,MAAM,iCAAiC,GAAG;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,yBAAyB,CAAC;IACpC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AACF,MAAM,WAAW,yBAAyB;IACxC,oFAAoF;IACpF,OAAO,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACxF;;+EAE2E;IAC3E,KAAK,CAAC,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACtF;gEAC4D;IAC5D,SAAS,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAAC;IAClG;mFAC+E;IAG/E,MAAM,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,4BAA4B,GAAG,mCAAmC,CAAC,CAAC;IAC9H;;qFAEiF;IACjF,MAAM,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;CACzF;AAID,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,yBAAyB,EAAE,OAAO,EAAE;IAC1H,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACjD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;iBAsF2B,MAAM,eAAe,MAAM,KAAG,OAAO,CAAC,iBAAiB,CAAC;EAsFnF"}
|
|
@@ -1739,6 +1739,26 @@ export declare const learningResourceSchemas: {
|
|
|
1739
1739
|
leaseExpiresAt: z.ZodNullable<z.ZodString>;
|
|
1740
1740
|
consecutiveFailures: z.ZodNumber;
|
|
1741
1741
|
nextAttemptAt: z.ZodNullable<z.ZodString>;
|
|
1742
|
+
admission: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1743
|
+
status: z.ZodLiteral<"ready">;
|
|
1744
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1745
|
+
status: z.ZodLiteral<"deferred">;
|
|
1746
|
+
retryAt: z.ZodString;
|
|
1747
|
+
reason: z.ZodString;
|
|
1748
|
+
}, z.core.$strict>], "status">>>;
|
|
1749
|
+
lastSubmissionDeferral: z.ZodOptional<z.ZodObject<{
|
|
1750
|
+
scope: z.ZodString;
|
|
1751
|
+
dispatchId: z.ZodString;
|
|
1752
|
+
submissionHash: z.ZodString;
|
|
1753
|
+
leaseGeneration: z.ZodNumber;
|
|
1754
|
+
status: z.ZodLiteral<"deferred">;
|
|
1755
|
+
retryAt: z.ZodString;
|
|
1756
|
+
reason: z.ZodString;
|
|
1757
|
+
receipt: z.ZodObject<{
|
|
1758
|
+
id: z.ZodString;
|
|
1759
|
+
contentHash: z.ZodString;
|
|
1760
|
+
}, z.core.$strict>;
|
|
1761
|
+
}, z.core.$strict>>;
|
|
1742
1762
|
lastError: z.ZodNullable<z.ZodString>;
|
|
1743
1763
|
createdAt: z.ZodString;
|
|
1744
1764
|
updatedAt: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../src/learning/repository.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../src/learning/repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -3096,6 +3096,26 @@ export declare const LearningOperationResultSchema: z.ZodObject<{
|
|
|
3096
3096
|
leaseExpiresAt: z.ZodNullable<z.ZodString>;
|
|
3097
3097
|
consecutiveFailures: z.ZodNumber;
|
|
3098
3098
|
nextAttemptAt: z.ZodNullable<z.ZodString>;
|
|
3099
|
+
admission: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3100
|
+
status: z.ZodLiteral<"ready">;
|
|
3101
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
3102
|
+
status: z.ZodLiteral<"deferred">;
|
|
3103
|
+
retryAt: z.ZodString;
|
|
3104
|
+
reason: z.ZodString;
|
|
3105
|
+
}, z.core.$strict>], "status">>>;
|
|
3106
|
+
lastSubmissionDeferral: z.ZodOptional<z.ZodObject<{
|
|
3107
|
+
scope: z.ZodString;
|
|
3108
|
+
dispatchId: z.ZodString;
|
|
3109
|
+
submissionHash: z.ZodString;
|
|
3110
|
+
leaseGeneration: z.ZodNumber;
|
|
3111
|
+
status: z.ZodLiteral<"deferred">;
|
|
3112
|
+
retryAt: z.ZodString;
|
|
3113
|
+
reason: z.ZodString;
|
|
3114
|
+
receipt: z.ZodObject<{
|
|
3115
|
+
id: z.ZodString;
|
|
3116
|
+
contentHash: z.ZodString;
|
|
3117
|
+
}, z.core.$strict>;
|
|
3118
|
+
}, z.core.$strict>>;
|
|
3099
3119
|
lastError: z.ZodNullable<z.ZodString>;
|
|
3100
3120
|
createdAt: z.ZodString;
|
|
3101
3121
|
updatedAt: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/learning/transport.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/learning/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,mFAAmF;AACnF,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAG5D;AAED,0FAA0F;AAC1F,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAgF,CAAC;AAC1H,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAMpC,CAAC;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;kBAOpC,CAAC;AACZ,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAC9F,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAG/B,CAAC"}
|
package/package.json
CHANGED