@cotal-ai/lang 0.65.0 → 0.67.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.
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import { parentPort, workerData } from "node:worker_threads";
|
|
26
26
|
import "ses";
|
|
27
|
-
import { Journal } from "../journal.js";
|
|
27
|
+
import { EffectResultTooLarge, Journal } from "../journal.js";
|
|
28
28
|
import { EngineUnavailable } from "../errors.js";
|
|
29
29
|
import { assertCrossable } from "../values.js";
|
|
30
30
|
import { EffectError } from "../effects.js";
|
|
@@ -92,7 +92,12 @@ async function buildSeam() {
|
|
|
92
92
|
const seam = bridgedSeam(bridge.port, bridge.clock);
|
|
93
93
|
return {
|
|
94
94
|
handler: seam.handler,
|
|
95
|
-
journal: new Journal({
|
|
95
|
+
journal: new Journal({
|
|
96
|
+
run: request.runId,
|
|
97
|
+
entries: request.entries ?? [],
|
|
98
|
+
store: seam.store,
|
|
99
|
+
...(request.resultBytes !== undefined ? { resultBytes: request.resultBytes } : {}),
|
|
100
|
+
}),
|
|
96
101
|
};
|
|
97
102
|
}
|
|
98
103
|
return {
|
|
@@ -175,13 +180,15 @@ const answerWith = (e) => {
|
|
|
175
180
|
...(typeof err?.code === "string" ? { code: err.code } : {}),
|
|
176
181
|
name: typeof err?.name === "string" ? err.name : "Error",
|
|
177
182
|
message: typeof err?.message === "string" ? err.message : String(e),
|
|
178
|
-
// A release's reason is a field on the class (L5012),
|
|
179
|
-
// are its
|
|
183
|
+
// A release's reason is a field on the class (L5012), an EffectError's kind and detail are its
|
|
184
|
+
// domain, and an L5006 refusal's step, size and bound are its own; each crosses as the field
|
|
185
|
+
// it is. See WorkerRunFailed.
|
|
180
186
|
...(typeof err?.reason === "string" ? { reason: err.reason } : {}),
|
|
181
187
|
...(typeof err?.step === "string" ? { step: err.step } : {}),
|
|
182
188
|
...(err?.pending === true ? { pending: true } : {}),
|
|
183
189
|
...(typeof err?.kind === "string" ? { kind: err.kind } : {}),
|
|
184
190
|
...(err?.detail !== undefined && e instanceof EffectError ? { detail: err.detail } : {}),
|
|
191
|
+
...(e instanceof EffectResultTooLarge ? { tooLarge: { stepKey: e.stepKey, bytes: e.bytes, bound: e.bound } } : {}),
|
|
185
192
|
},
|
|
186
193
|
});
|
|
187
194
|
};
|
|
@@ -192,17 +199,12 @@ const answerWith = (e) => {
|
|
|
192
199
|
// answered", which is the wrong cause every time, and MEASURED: a handler binding a function
|
|
193
200
|
// produced exactly that, a DataCloneError naming a host algorithm reported as a silent exit.
|
|
194
201
|
//
|
|
195
|
-
// A BACKSTOP, NOT A DEAD BRANCH
|
|
196
|
-
// claimed the stronger thing. Every value that crosses back is fenced at its own write site:
|
|
202
|
+
// A BACKSTOP, NOT A DEAD BRANCH. Every value that crosses back is fenced at its own write site:
|
|
197
203
|
// `value` by `assertCrossable` above, `external` and a failure's `detail` by the guards in
|
|
198
204
|
// perform.ts, an effect's `result` at its settle, and a SCOPE's settled value at its own settle.
|
|
199
205
|
// `pins`, `programHash` and `steps` are primitives.
|
|
200
206
|
//
|
|
201
|
-
// THAT LIST IS AN ENUMERATION, so it is true of the fields it names and silent about any other.
|
|
202
|
-
//
|
|
203
|
-
// scope's settled value crossed unfenced, so a legal program whose branch returned a closure
|
|
204
|
-
// completed on the walker and answered a DataCloneError through a thread. The fence for that landed
|
|
205
|
-
// with the cell that measures it. What survives is the honest reading: this line names no known
|
|
206
|
-
// route at this sha, and it is what makes the day a new field is added LOUD instead of silent.
|
|
207
|
+
// THAT LIST IS AN ENUMERATION, so it is true of the fields it names and silent about any other.
|
|
208
|
+
// This line names no known route; it makes the day a new field is added LOUD instead of silent.
|
|
207
209
|
run().then((result) => port.postMessage({ kind: "result", result }), answerWith).catch(answerWith);
|
|
208
210
|
//# sourceMappingURL=worker-entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-entry.js","sourceRoot":"","sources":["../../src/engine/worker-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAoB,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,CAAC;AACb,OAAO,EAAE,OAAO,EAAqB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"worker-entry.js","sourceRoot":"","sources":["../../src/engine/worker-entry.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/worker.d.ts
CHANGED
|
@@ -15,9 +15,7 @@
|
|
|
15
15
|
* `now()` is async, and the journal's durable half (`JournalStore.append`) is a Promise the
|
|
16
16
|
* journal awaits before any effect fires, so both survive a port hop with the awaits lining up
|
|
17
17
|
* exactly as they line up over a PubAck. What is genuinely synchronous is `now()` and the stop
|
|
18
|
-
* flag, and both go over shared memory.
|
|
19
|
-
* claiming "every journal.* call in the effect path" is synchronous; the durable append never was,
|
|
20
|
-
* and the in-memory reads that are never leave the thread.
|
|
18
|
+
* flag, and both go over shared memory.
|
|
21
19
|
*
|
|
22
20
|
* CANCELLATION IS THE ONE EXCEPTION, and it is why there is a SharedArrayBuffer here. `shouldStop`
|
|
23
21
|
* is read synchronously, between effects, so it cannot be a message either. The host writes a reason
|
|
@@ -62,6 +60,12 @@ export interface WorkerRunRequest {
|
|
|
62
60
|
readonly pins?: RunPins;
|
|
63
61
|
/** A resume: the recorded entries, rebuilt into the run's journal inside the thread. */
|
|
64
62
|
readonly entries?: readonly JournalEntry[];
|
|
63
|
+
/**
|
|
64
|
+
* The journal's result bound (`JournalInit.resultBytes`, L5006), given to the journal the thread
|
|
65
|
+
* builds. Only valid on the bridged route: it is the durable store's limit, and only that route
|
|
66
|
+
* has a store.
|
|
67
|
+
*/
|
|
68
|
+
readonly resultBytes?: number;
|
|
65
69
|
readonly file?: string;
|
|
66
70
|
/**
|
|
67
71
|
* The caller's loose limits and seed, forwarded so the thread's `bindPins` performs the same
|
|
@@ -104,6 +108,12 @@ export interface WorkerRunFailed {
|
|
|
104
108
|
*/
|
|
105
109
|
readonly kind?: string;
|
|
106
110
|
readonly detail?: Readonly<Record<string, unknown>>;
|
|
111
|
+
/** `EffectResultTooLarge`'s fields (L5006), carried so a host can rebuild the class whole. */
|
|
112
|
+
readonly tooLarge?: {
|
|
113
|
+
readonly stepKey: string;
|
|
114
|
+
readonly bytes: number;
|
|
115
|
+
readonly bound: number;
|
|
116
|
+
};
|
|
107
117
|
}
|
|
108
118
|
export type WorkerRunResult = WorkerRunOk | WorkerRunFailed;
|
|
109
119
|
export interface WorkerRun {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/engine/worker.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/engine/worker.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/worker.js
CHANGED
|
@@ -15,9 +15,7 @@
|
|
|
15
15
|
* `now()` is async, and the journal's durable half (`JournalStore.append`) is a Promise the
|
|
16
16
|
* journal awaits before any effect fires, so both survive a port hop with the awaits lining up
|
|
17
17
|
* exactly as they line up over a PubAck. What is genuinely synchronous is `now()` and the stop
|
|
18
|
-
* flag, and both go over shared memory.
|
|
19
|
-
* claiming "every journal.* call in the effect path" is synchronous; the durable append never was,
|
|
20
|
-
* and the in-memory reads that are never leave the thread.
|
|
18
|
+
* flag, and both go over shared memory.
|
|
21
19
|
*
|
|
22
20
|
* CANCELLATION IS THE ONE EXCEPTION, and it is why there is a SharedArrayBuffer here. `shouldStop`
|
|
23
21
|
* is read synchronously, between effects, so it cannot be a message either. The host writes a reason
|
|
@@ -69,6 +67,8 @@ export function runInWorker(request, options) {
|
|
|
69
67
|
throw new Error("cutAt is only supported by the inspection route");
|
|
70
68
|
if (request.handler === "inspection" && request.pins === undefined)
|
|
71
69
|
throw new Error("inspection requires the recorded run pins");
|
|
70
|
+
if (request.resultBytes !== undefined && request.handler !== "bridged")
|
|
71
|
+
throw new Error("resultBytes is only supported by the bridged route");
|
|
72
72
|
// ONE ROUTE, DECIDED, before a thread exists to be wrong in. A bridged request with no seam has
|
|
73
73
|
// nowhere to run its effects; a module-named handler beside a live seam is two answers to where
|
|
74
74
|
// the effects live, and picking one silently would be this module deciding the caller's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/engine/worker.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/engine/worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cotal-ai/lang",
|
|
3
3
|
"description": "cotal-lang: the restricted-JS workflow language. Parser and validator, the effect interface, the step journal, the interpreter, and the simulation handler. Depends on nothing else in the repo.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.67.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|