@tellegen/engine 0.1.0 → 0.2.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.
package/README.md CHANGED
@@ -5,12 +5,51 @@ Browser package for tellegen case ingestion, wasm solves, Study lifecycle calls,
5
5
  The package has no SvelteKit dependency. Host apps import the top level package and use either the direct functions or the `browserWasmTransport` facade:
6
6
 
7
7
  ```ts
8
- import { browserWasmTransport, createStudy, solveJson } from "@tellegen/engine";
8
+ import {
9
+ browserWasmTransport,
10
+ createStudy,
11
+ ingestJsonDrop,
12
+ solveJson,
13
+ } from "@tellegen/engine";
9
14
  ```
10
15
 
11
16
  The wasm files are resolved relative to the package module. Host apps must serve
12
17
  package asset files from `node_modules`.
13
18
 
19
+ ## Browser Ingestion
20
+
21
+ Case and JSON entry points accept the original bytes:
22
+
23
+ ```ts
24
+ import { ingestCase, ingestJsonDrop } from "@tellegen/engine";
25
+
26
+ const bytes = new Uint8Array(await file.arrayBuffer());
27
+ const casePayload = await ingestCase(bytes, "raw");
28
+ const jsonPayload = await ingestJsonDrop(bytes);
29
+ ```
30
+
31
+ `ingestJsonDrop(bytes)` classifies and parses JSON in one call. Its
32
+ `IngestedJsonDrop` result is discriminated by `kind`: balanced packages,
33
+ multiconductor packages, and model JSON have a `null` format; transmission and
34
+ distribution results carry the selected format; `ambiguous` and `unknown`
35
+ results have a `null` payload.
36
+
37
+ Every byte-buffer API rejects inputs larger than `MAX_ENGINE_INPUT_BYTES`
38
+ (128 MiB) before worker dispatch.
39
+
40
+ ## Migrating To 0.2
41
+
42
+ - Pass `Uint8Array` to `ingestCase`. For an existing string, use
43
+ `new TextEncoder().encode(text)`.
44
+ - Replace `classifyJson(text)` with `await classifyJson(bytes)`. It now returns
45
+ `{ kind, format }` instead of a kind string.
46
+ - If migrating code that imported `isStudyPackageText` from `@tellegen/svelte`,
47
+ replace it with `(await classifyJson(bytes)).kind === "balanced-package"`,
48
+ or use `await ingestJsonDrop(bytes)` when the document should also be parsed.
49
+ - Update `JsonDropKind` handling: `bmopf` and `pmd` are now
50
+ `kind: "distribution"` with a `format`; `not-json` is `unknown`; and
51
+ `transmission` and `ambiguous` are additional outcomes.
52
+
14
53
  ## Contracts
15
54
 
16
55
  The public contract version is `CONTRACT_VERSION`, which matches the package version. `CONTRACT_SOURCE_SHA256` records the `crates/tellegen/src/api.rs` content used to generate `src/generated/contracts.ts`.
@@ -1,5 +1,5 @@
1
- export declare const CONTRACT_VERSION: "0.1.0";
2
- export declare const CONTRACT_SOURCE_SHA256: "d17b92b8b23874c858ccb26b1740f253c95d7cfd78d9511c847b57c2f6eae05e";
1
+ export declare const CONTRACT_VERSION: "0.2.0";
2
+ export declare const CONTRACT_SOURCE_SHA256: "302eabf53472a96c885a771020bb9254e7e9e8ab311f4a740b0b6d696d9f6711";
3
3
  export declare const FORMULATION_IDS: readonly ["dcpf", "dcopf", "acpf", "socwr", "acopf"];
4
4
  export type FormulationId = (typeof FORMULATION_IDS)[number];
5
5
  export declare const SOLVE_STATUSES: readonly ["optimal", "feasible"];
@@ -150,6 +150,8 @@ export interface NetworkBus {
150
150
  id: number;
151
151
  /** powerio row uid; always present on an ingested case, absent on older payloads. */
152
152
  uid?: string;
153
+ /** False for a display-only row synthesized by analysis lowering. */
154
+ editable?: boolean;
153
155
  lon: number;
154
156
  lat: number;
155
157
  demand_mw: number;
@@ -159,6 +161,8 @@ export interface NetworkBranch {
159
161
  id: number;
160
162
  /** powerio row uid; always present on an ingested case, absent on older payloads. */
161
163
  uid?: string;
164
+ /** False for a display-only row synthesized by analysis lowering. */
165
+ editable?: boolean;
162
166
  from: number;
163
167
  to: number;
164
168
  rate_mw: number;
@@ -214,8 +218,14 @@ export interface SensitivityColumn {
214
218
  export interface CaseSummary {
215
219
  id: string;
216
220
  name: string;
221
+ /** Canonical typed PowerIO bus rows. */
217
222
  n_bus: number;
223
+ /** Canonical typed PowerIO branch rows. */
218
224
  n_branch: number;
225
+ /** Rendered buses after analysis lowering; absent on older servers. */
226
+ n_analysis_bus?: number;
227
+ /** Rendered branches after analysis lowering; absent on older servers. */
228
+ n_analysis_branch?: number;
219
229
  n_gen: number;
220
230
  }
221
231
  /** Keys are element keys: the original numeric id, or the powerio row uid
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/generated/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/generated/contracts.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  // Generated by packages/engine/scripts/generate-contracts.mjs.
2
2
  // Rust source: crates/tellegen/src/api.rs
3
- // Rust source sha256: d17b92b8b23874c858ccb26b1740f253c95d7cfd78d9511c847b57c2f6eae05e
4
- export const CONTRACT_VERSION = "0.1.0";
5
- export const CONTRACT_SOURCE_SHA256 = "d17b92b8b23874c858ccb26b1740f253c95d7cfd78d9511c847b57c2f6eae05e";
3
+ // Rust source sha256: 302eabf53472a96c885a771020bb9254e7e9e8ab311f4a740b0b6d696d9f6711
4
+ export const CONTRACT_VERSION = "0.2.0";
5
+ export const CONTRACT_SOURCE_SHA256 = "302eabf53472a96c885a771020bb9254e7e9e8ab311f4a740b0b6d696d9f6711";
6
6
  export const FORMULATION_IDS = ["dcpf", "dcopf", "acpf", "socwr", "acopf"];
7
7
  export const SOLVE_STATUSES = ["optimal", "feasible"];
8
8
  //# sourceMappingURL=contracts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;;+DAK+D;AAG/D,OAAO,EAEL,KAAK,aAAa,EAGnB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAClD;AAID,eAAO,MAAM,UAAU,EAAE,UAIxB,CAAC;AAwEF,wBAAgB,UAAU,IAAI,UAAU,CAGvC"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;;+DAK+D;AAG/D,OAAO,EAEL,KAAK,aAAa,EAGnB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAClD;AAID,eAAO,MAAM,UAAU,EAAE,UAIxB,CAAC;AA+EF,wBAAgB,UAAU,IAAI,UAAU,CAGvC"}
package/dist/host.js CHANGED
@@ -26,13 +26,19 @@ class WorkerHost {
26
26
  worker.onmessage = (ev) => {
27
27
  this.#answered = true;
28
28
  const pending = this.#pending.get(ev.data.id);
29
- if (!pending)
30
- return;
31
- this.#pending.delete(ev.data.id);
32
- if (ev.data.ok)
33
- pending.resolve(ev.data.value);
34
- else
35
- pending.reject(new Error(ev.data.error));
29
+ if (pending) {
30
+ this.#pending.delete(ev.data.id);
31
+ if (ev.data.ok)
32
+ pending.resolve(ev.data.value);
33
+ else
34
+ pending.reject(new Error(ev.data.error));
35
+ }
36
+ // The worker closes itself after a trap, so no error event follows.
37
+ // Fail here instead, which rejects the rest of the queue and drops the
38
+ // host so the next call builds a fresh worker.
39
+ if (!ev.data.ok && ev.data.fatal) {
40
+ this.#fail(new Error(ev.data.error));
41
+ }
36
42
  };
37
43
  worker.onerror = () => this.#fail(new Error("engine worker failed"));
38
44
  worker.onmessageerror = () => this.#fail(new Error("engine worker message failed"));
package/dist/host.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,12 +5,19 @@
5
5
  import { type EngineHost } from "./host.js";
6
6
  import type { BranchRatingDeltas, BrowserFormulation, DemandDeltas, NetworkBranch, NetworkBus, ProblemCaps, SensitivityColumn, Solution, SolveRequest, SolveResponse, SolveIteration } from "./generated/contracts.js";
7
7
  export { CONTRACT_SOURCE_SHA256, CONTRACT_VERSION, FORMULATION_IDS, SOLVE_STATUSES, } from "./generated/contracts.js";
8
+ export { MAX_ENGINE_INPUT_BYTES } from "./input-limit.js";
8
9
  export type { BranchRatingDeltas, BrowserFormulation, CaseSummary, DemandDeltas, Network, NetworkBranch, NetworkBus, ProblemCaps, SensRequest, SensitivityColumn, SensitivityMatrix, Solution, SolveIteration, SolveRequest, SolveResponse, } from "./generated/contracts.js";
9
10
  export interface CaseFileSummary {
10
11
  name: string;
11
12
  base_mva: number;
13
+ /** Canonical typed PowerIO bus rows. */
12
14
  n_bus: number;
15
+ /** Canonical typed PowerIO branch rows. */
13
16
  n_branch: number;
17
+ /** Rendered buses after analysis lowering; absent on older engine builds. */
18
+ n_analysis_bus?: number;
19
+ /** Rendered branches after analysis lowering; absent on older engine builds. */
20
+ n_analysis_branch?: number;
14
21
  n_gen: number;
15
22
  load_mw: number;
16
23
  gen_mw: number;
@@ -26,6 +33,8 @@ export interface TopologyBus {
26
33
  id: number;
27
34
  /** powerio row uid, stamped at ingest (e.g. "buses:0"). */
28
35
  uid: string;
36
+ /** False for a display-only row synthesized by analysis lowering. */
37
+ editable?: boolean;
29
38
  demand_mw: number;
30
39
  gen_mw: number;
31
40
  }
@@ -33,6 +42,8 @@ export interface TopologyBranch {
33
42
  id: number;
34
43
  /** powerio row uid, stamped at ingest (e.g. "branches:0"). */
35
44
  uid: string;
45
+ /** False for a display-only row synthesized by analysis lowering. */
46
+ editable?: boolean;
36
47
  from: number;
37
48
  to: number;
38
49
  rate_mw: number;
@@ -111,6 +122,10 @@ export interface IngestedDistCase {
111
122
  n_ibr: number;
112
123
  n_source: number;
113
124
  n_shunt: number;
125
+ /** Capacitor banks read as their own type, which only the BMOPF reader does.
126
+ * A `.dss` or PMD capacitor counts in `n_shunt` instead. Optional because an
127
+ * engine build before this field satisfies the same `^0.1.0` range. */
128
+ n_capacitor?: number;
114
129
  load_kw: number;
115
130
  gen_kw: number;
116
131
  base_frequency: number;
@@ -143,14 +158,65 @@ export interface ExportedCase {
143
158
  extension: string;
144
159
  }
145
160
  export declare function preloadEngine(): Promise<void>;
161
+ export type JsonDropKind = "balanced-package" | "multiconductor-package" | "model-json" | "transmission" | "distribution" | "ambiguous" | "unknown";
162
+ export interface JsonDropClassification {
163
+ kind: JsonDropKind;
164
+ format: string | null;
165
+ }
166
+ /** A JSON drop classified and ingested in one engine request. Unknown and
167
+ * ambiguous documents carry no payload; every recognized family carries the
168
+ * same typed payload returned by its dedicated ingest API. */
169
+ export type IngestedJsonDrop = {
170
+ kind: "balanced-package";
171
+ format: null;
172
+ payload: LoadedPackage;
173
+ } | {
174
+ kind: "multiconductor-package";
175
+ format: null;
176
+ payload: IngestedDistCase;
177
+ } | {
178
+ kind: "model-json";
179
+ format: null;
180
+ payload: IngestedCase;
181
+ } | {
182
+ kind: "transmission";
183
+ format: string;
184
+ payload: IngestedCase;
185
+ } | {
186
+ kind: "distribution";
187
+ format: string;
188
+ payload: IngestedDistCase;
189
+ } | {
190
+ kind: "ambiguous" | "unknown";
191
+ format: null;
192
+ payload: null;
193
+ };
194
+ /** Classify JSON bytes through powerio's Rust routing table. Package markers
195
+ * also pass the strict package reader so the payload family is authoritative. */
196
+ export declare function classifyJson(bytes: Uint8Array): Promise<JsonDropClassification>;
197
+ /** Classify and ingest one dropped JSON document in the same engine request.
198
+ * This avoids parsing a recognized package once to classify it and again to
199
+ * consume it. */
200
+ export declare function ingestJsonDrop(bytes: Uint8Array): Promise<IngestedJsonDrop>;
146
201
  /** powerio format token from a file name; null for non-case files. */
147
202
  export declare function formatOf(name: string): string | null;
148
- export declare function ingestCase(text: string, format: string): Promise<IngestedCase>;
203
+ /** Parse a balanced case file for viewing. Takes the upload's bytes rather than
204
+ * decoded text: powerio refuses a text format whose bytes are not UTF-8, where
205
+ * `File.text()` would have replaced each offending byte with U+FFFD. */
206
+ export declare function ingestCase(bytes: Uint8Array, format: string): Promise<IngestedCase>;
207
+ /** Parse powerio's own model JSON (the `model-json` export, or the payload a
208
+ * package carries) for viewing. It is not a case format, so it does not go
209
+ * through `ingestCase`. */
210
+ export declare function ingestModelJson(networkJson: string): Promise<IngestedCase>;
211
+ /** Byte entry point for a dropped model JSON document. */
212
+ export declare function ingestModelJsonBytes(bytes: Uint8Array): Promise<IngestedCase>;
149
213
  /** Parse a multiconductor distribution case for viewing. `format` is a
150
214
  * distribution reader token (`dss`, `bmopf`, `pmd`) or `pio` for a `.pio.json`
151
215
  * package carrying a multiconductor payload. Rejects on malformed input or a
152
216
  * balanced package (which the study-restore path handles). */
153
217
  export declare function ingestDistCase(text: string, format: string): Promise<IngestedDistCase>;
218
+ /** Byte entry point for a dropped distribution case or package. */
219
+ export declare function ingestDistCaseBytes(bytes: Uint8Array, format: string): Promise<IngestedDistCase>;
154
220
  /** Substations from a PowerWorld .pwd display file. `x`/`y` are diagram
155
221
  * coordinates as stored; `lon`/`lat` are the engine's approximate projection
156
222
  * (powerio's inverse of the auto layout Mercator — hand edited diagrams
@@ -307,14 +373,21 @@ export declare function createStudy(networkJson: string, formulation?: Formulati
307
373
  * formulation, and solve options in one step. Rejects on a malformed package or one
308
374
  * that is not a tellegen study (the engine fails the load closed). */
309
375
  export declare function loadPackage(text: string): Promise<LoadedPackage>;
376
+ /** Restore a dropped package without decoding it in JavaScript. */
377
+ export declare function loadPackageBytes(bytes: Uint8Array): Promise<LoadedPackage>;
310
378
  /** Export a saved study package at commit `commit` to a powerio `format` (`matpower`,
311
- * `psse`, `powerio-json`, ...). Returns the serialized case text, the writer's fidelity
379
+ * `psse`, `model-json`, ...). Returns the serialized case text, the writer's fidelity
312
380
  * warnings, and the format token and file extension. */
313
381
  export declare function exportStudy(packageJson: string, commit: number, format: string): Promise<ExportedCase>;
314
382
  export interface EngineTransport {
315
383
  preloadEngine(): Promise<void>;
316
- ingestCase(text: string, format: string): Promise<IngestedCase>;
384
+ classifyJson(bytes: Uint8Array): Promise<JsonDropClassification>;
385
+ ingestJsonDrop(bytes: Uint8Array): Promise<IngestedJsonDrop>;
386
+ ingestCase(bytes: Uint8Array, format: string): Promise<IngestedCase>;
387
+ ingestModelJson(networkJson: string): Promise<IngestedCase>;
388
+ ingestModelJsonBytes(bytes: Uint8Array): Promise<IngestedCase>;
317
389
  ingestDistCase(text: string, format: string): Promise<IngestedDistCase>;
390
+ ingestDistCaseBytes(bytes: Uint8Array, format: string): Promise<IngestedDistCase>;
318
391
  parseDisplay(bytes: Uint8Array): Promise<DisplayPreview>;
319
392
  parseGeo(bytes: Uint8Array, hint: string): Promise<ParsedGeoLayer>;
320
393
  applyGeo(networkJson: string, layer: string): Promise<AppliedGeoCase>;
@@ -325,6 +398,7 @@ export interface EngineTransport {
325
398
  solveJson(networkJson: string, request?: SolveRequest): Promise<SolveResponse>;
326
399
  createStudy(networkJson: string, formulation?: Formulation): Promise<BrowserStudy>;
327
400
  loadPackage(text: string): Promise<LoadedPackage>;
401
+ loadPackageBytes(bytes: Uint8Array): Promise<LoadedPackage>;
328
402
  exportStudy(packageJson: string, commit: number, format: string): Promise<ExportedCase>;
329
403
  }
330
404
  export declare const browserWasmTransport: EngineTransport;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,10 +4,25 @@
4
4
  * call; dropped files are parsed locally and never leave the machine. */
5
5
  import { engineHost } from "./host.js";
6
6
  import { isPermanentWasmLoadFailure } from "./errors.js";
7
+ import { assertEngineInputBytes, assertEngineInputLength, } from "./input-limit.js";
7
8
  export { CONTRACT_SOURCE_SHA256, CONTRACT_VERSION, FORMULATION_IDS, SOLVE_STATUSES, } from "./generated/contracts.js";
9
+ export { MAX_ENGINE_INPUT_BYTES } from "./input-limit.js";
8
10
  export async function preloadEngine() {
9
11
  await engineHost().call({ op: "preload" });
10
12
  }
13
+ /** Classify JSON bytes through powerio's Rust routing table. Package markers
14
+ * also pass the strict package reader so the payload family is authoritative. */
15
+ export async function classifyJson(bytes) {
16
+ assertEngineInputBytes(bytes);
17
+ return JSON.parse(expectText(await engineHost().call({ op: "classify_json", bytes })));
18
+ }
19
+ /** Classify and ingest one dropped JSON document in the same engine request.
20
+ * This avoids parsing a recognized package once to classify it and again to
21
+ * consume it. */
22
+ export async function ingestJsonDrop(bytes) {
23
+ assertEngineInputBytes(bytes);
24
+ return JSON.parse(expectText(await engineHost().call({ op: "ingest_json_drop", bytes })));
25
+ }
11
26
  /** Asserts a request that must carry a payload actually did. */
12
27
  function expectText(value) {
13
28
  if (value === null)
@@ -17,24 +32,60 @@ function expectText(value) {
17
32
  /** powerio format token from a file name; null for non-case files. */
18
33
  export function formatOf(name) {
19
34
  const ext = name.split(".").pop()?.toLowerCase();
20
- return ext === "m" || ext === "raw" || ext === "aux" ? ext : null;
35
+ switch (ext) {
36
+ case "m":
37
+ case "raw":
38
+ case "aux":
39
+ case "pwb":
40
+ return ext;
41
+ case "epc":
42
+ return "pslf";
43
+ default:
44
+ return null;
45
+ }
21
46
  }
22
- export async function ingestCase(text, format) {
23
- return JSON.parse(expectText(await engineHost().call({ op: "ingest_case", text, format })));
47
+ /** Parse a balanced case file for viewing. Takes the upload's bytes rather than
48
+ * decoded text: powerio refuses a text format whose bytes are not UTF-8, where
49
+ * `File.text()` would have replaced each offending byte with U+FFFD. */
50
+ export async function ingestCase(bytes, format) {
51
+ assertEngineInputBytes(bytes);
52
+ return JSON.parse(expectText(await engineHost().call({ op: "ingest_case", bytes, format })));
53
+ }
54
+ /** Parse powerio's own model JSON (the `model-json` export, or the payload a
55
+ * package carries) for viewing. It is not a case format, so it does not go
56
+ * through `ingestCase`. */
57
+ export async function ingestModelJson(networkJson) {
58
+ assertEngineInputLength(networkJson.length);
59
+ return JSON.parse(expectText(await engineHost().call({
60
+ op: "ingest_model_json",
61
+ network_json: networkJson,
62
+ })));
63
+ }
64
+ /** Byte entry point for a dropped model JSON document. */
65
+ export async function ingestModelJsonBytes(bytes) {
66
+ assertEngineInputBytes(bytes);
67
+ return JSON.parse(expectText(await engineHost().call({ op: "ingest_model_json_bytes", bytes })));
24
68
  }
25
69
  /** Parse a multiconductor distribution case for viewing. `format` is a
26
70
  * distribution reader token (`dss`, `bmopf`, `pmd`) or `pio` for a `.pio.json`
27
71
  * package carrying a multiconductor payload. Rejects on malformed input or a
28
72
  * balanced package (which the study-restore path handles). */
29
73
  export async function ingestDistCase(text, format) {
74
+ assertEngineInputLength(text.length);
30
75
  return JSON.parse(expectText(await engineHost().call({ op: "ingest_dist_case", text, format })));
31
76
  }
77
+ /** Byte entry point for a dropped distribution case or package. */
78
+ export async function ingestDistCaseBytes(bytes, format) {
79
+ assertEngineInputBytes(bytes);
80
+ return JSON.parse(expectText(await engineHost().call({ op: "ingest_dist_case_bytes", bytes, format })));
81
+ }
32
82
  /** True for binary display files (PowerWorld .pwd), read via parseDisplay.
33
83
  * Kept separate from formatOf: a .pwd is display data, not a case format. */
34
84
  export function isDisplayFile(name) {
35
85
  return name.split(".").pop()?.toLowerCase() === "pwd";
36
86
  }
37
87
  export async function parseDisplay(bytes) {
88
+ assertEngineInputBytes(bytes);
38
89
  return JSON.parse(expectText(await engineHost().call({ op: "parse_display", bytes, format: "pwd" })));
39
90
  }
40
91
  /** Parse a geographic sidecar (buscoords CSV, aliased CSV/JSON records,
@@ -42,6 +93,7 @@ export async function parseDisplay(bytes) {
42
93
  * is the file name (picks CSV against JSON; "" sniffs). Rejects input with
43
94
  * no usable coordinates. */
44
95
  export async function parseGeo(bytes, hint) {
96
+ assertEngineInputBytes(bytes);
45
97
  return JSON.parse(expectText(await engineHost().call({ op: "parse_geo", bytes, hint })));
46
98
  }
47
99
  /** Apply a parsed layer onto a case network (matching by uid, external id,
@@ -73,6 +125,7 @@ export async function extractGeo(networkJson) {
73
125
  * project to approximate longitude/latitude and join onto buses through the
74
126
  * `SubNum` extras key. Rejects when no bus joined. */
75
127
  export async function applyDisplayGeo(networkJson, bytes) {
128
+ assertEngineInputBytes(bytes);
76
129
  return JSON.parse(expectText(await engineHost().call({
77
130
  op: "apply_display_geo",
78
131
  network_json: networkJson,
@@ -96,10 +149,13 @@ export { errorText } from "./errors.js";
96
149
  export function isPermanentEngineFailure(message) {
97
150
  return isPermanentWasmLoadFailure(message);
98
151
  }
99
- /** An all-digit record key is the numeric-id form (object keys are strings at
100
- * runtime); anything else is a powerio row uid, sent as a string. */
152
+ /** A safely representable all-digit key uses the numeric wire form. Larger IDs
153
+ * remain strings so serde can parse the exact integer without JS rounding. */
101
154
  function toElementKey(key) {
102
- return /^\d+$/.test(key) ? Number(key) : key;
155
+ if (!/^\d+$/.test(key))
156
+ return key;
157
+ const numeric = Number(key);
158
+ return Number.isSafeInteger(numeric) ? numeric : key;
103
159
  }
104
160
  /** A `NetworkEdit[]` for the wasm Study, dropping zero deltas so an unchanged
105
161
  * element is never sent. */
@@ -357,12 +413,19 @@ export async function createStudy(networkJson, formulation = DEFAULT_FORMULATION
357
413
  * formulation, and solve options in one step. Rejects on a malformed package or one
358
414
  * that is not a tellegen study (the engine fails the load closed). */
359
415
  export async function loadPackage(text) {
416
+ assertEngineInputLength(text.length);
360
417
  return JSON.parse(expectText(await engineHost().call({ op: "load_package", text })));
361
418
  }
419
+ /** Restore a dropped package without decoding it in JavaScript. */
420
+ export async function loadPackageBytes(bytes) {
421
+ assertEngineInputBytes(bytes);
422
+ return JSON.parse(expectText(await engineHost().call({ op: "load_package_bytes", bytes })));
423
+ }
362
424
  /** Export a saved study package at commit `commit` to a powerio `format` (`matpower`,
363
- * `psse`, `powerio-json`, ...). Returns the serialized case text, the writer's fidelity
425
+ * `psse`, `model-json`, ...). Returns the serialized case text, the writer's fidelity
364
426
  * warnings, and the format token and file extension. */
365
427
  export async function exportStudy(packageJson, commit, format) {
428
+ assertEngineInputLength(packageJson.length);
366
429
  return JSON.parse(expectText(await engineHost().call({
367
430
  op: "export_study",
368
431
  package_json: packageJson,
@@ -372,8 +435,13 @@ export async function exportStudy(packageJson, commit, format) {
372
435
  }
373
436
  export const browserWasmTransport = {
374
437
  preloadEngine,
438
+ classifyJson,
439
+ ingestJsonDrop,
375
440
  ingestCase,
441
+ ingestModelJson,
442
+ ingestModelJsonBytes,
376
443
  ingestDistCase,
444
+ ingestDistCaseBytes,
377
445
  parseDisplay,
378
446
  parseGeo,
379
447
  applyGeo,
@@ -384,6 +452,7 @@ export const browserWasmTransport = {
384
452
  solveJson,
385
453
  createStudy,
386
454
  loadPackage,
455
+ loadPackageBytes,
387
456
  exportStudy,
388
457
  };
389
458
  export function createBrowserWasmTransport() {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /** Maximum size accepted by one public byte-buffer API. A buffer crosses the
2
+ * worker boundary and is then copied into WebAssembly memory, so reject it on
3
+ * the calling thread before either copy begins. */
4
+ export declare const MAX_ENGINE_INPUT_BYTES: number;
5
+ /** Length-only form keeps the boundary test allocation-free. */
6
+ export declare function assertEngineInputLength(byteLength: number): void;
7
+ export declare function assertEngineInputBytes(bytes: Uint8Array): void;
8
+ //# sourceMappingURL=input-limit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-limit.d.ts","sourceRoot":"","sources":["../src/input-limit.ts"],"names":[],"mappings":"AAAA;;mDAEmD;AACnD,eAAO,MAAM,sBAAsB,QAAoB,CAAC;AAIxD,gEAAgE;AAChE,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAE9D"}
@@ -0,0 +1,14 @@
1
+ /** Maximum size accepted by one public byte-buffer API. A buffer crosses the
2
+ * worker boundary and is then copied into WebAssembly memory, so reject it on
3
+ * the calling thread before either copy begins. */
4
+ export const MAX_ENGINE_INPUT_BYTES = 128 * 1024 * 1024;
5
+ const INPUT_TOO_LARGE = "input exceeds 128 MiB limit";
6
+ /** Length-only form keeps the boundary test allocation-free. */
7
+ export function assertEngineInputLength(byteLength) {
8
+ if (byteLength > MAX_ENGINE_INPUT_BYTES)
9
+ throw new Error(INPUT_TOO_LARGE);
10
+ }
11
+ export function assertEngineInputBytes(bytes) {
12
+ assertEngineInputLength(bytes.byteLength);
13
+ }
14
+ //# sourceMappingURL=input-limit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-limit.js","sourceRoot":"","sources":["../src/input-limit.ts"],"names":[],"mappings":"AAAA;;mDAEmD;AACnD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAExD,MAAM,eAAe,GAAG,6BAA6B,CAAC;AAEtD,gEAAgE;AAChE,MAAM,UAAU,uBAAuB,CAAC,UAAkB;IACxD,IAAI,UAAU,GAAG,sBAAsB;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAiB;IACtD,uBAAuB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;;gFAGgF;AAEhF,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAKpE,IAAI,WAAW,GAA+B,IAAI,CAAC;AACnD,IAAI,iBAAiB,GAAkB,IAAI,CAAC;AAE5C;;4DAE4D;AAC5D,MAAM,UAAU,YAAY;IAC1B,IAAI,iBAAiB;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IAC7E,WAAW,KAAK,MAAM,CAAC,wBAAwB,CAAC;SAC7C,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAClB,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/C,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7B,mEAAmE;QACnE,kEAAkE;QAClE,WAAW,GAAG,IAAI,CAAC;QACnB,IAAI,0BAA0B,CAAC,OAAO,CAAC;YAAE,iBAAiB,GAAG,OAAO,CAAC;QACrE,MAAM,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IACL,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;;gFAGgF;AAEhF,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAKpE,IAAI,WAAW,GAA+B,IAAI,CAAC;AACnD,IAAI,iBAAiB,GAAkB,IAAI,CAAC;AAE5C;;4DAE4D;AAC5D,MAAM,UAAU,YAAY;IAC1B,IAAI,iBAAiB;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,6BAA6B,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IAC7E,WAAW,KAAK,MAAM,CAAC,wBAAwB,CAAC;SAC7C,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAClB,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/C,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7B,mEAAmE;QACnE,kEAAkE;QAClE,WAAW,GAAG,IAAI,CAAC;QACnB,IAAI,0BAA0B,CAAC,OAAO,CAAC;YAAE,iBAAiB,GAAG,OAAO,CAAC;QACrE,MAAM,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IACL,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -7,14 +7,30 @@
7
7
  import type { WasmModule, WasmStudy } from "./module.js";
8
8
  export type EngineRequest = {
9
9
  op: "preload";
10
+ } | {
11
+ op: "classify_json";
12
+ bytes: Uint8Array;
13
+ } | {
14
+ op: "ingest_json_drop";
15
+ bytes: Uint8Array;
10
16
  } | {
11
17
  op: "ingest_case";
12
- text: string;
18
+ bytes: Uint8Array;
13
19
  format: string;
20
+ } | {
21
+ op: "ingest_model_json";
22
+ network_json: string;
23
+ } | {
24
+ op: "ingest_model_json_bytes";
25
+ bytes: Uint8Array;
14
26
  } | {
15
27
  op: "ingest_dist_case";
16
28
  text: string;
17
29
  format: string;
30
+ } | {
31
+ op: "ingest_dist_case_bytes";
32
+ bytes: Uint8Array;
33
+ format: string;
18
34
  } | {
19
35
  op: "parse_display";
20
36
  bytes: Uint8Array;
@@ -73,6 +89,9 @@ export type EngineRequest = {
73
89
  } | {
74
90
  op: "load_package";
75
91
  text: string;
92
+ } | {
93
+ op: "load_package_bytes";
94
+ bytes: Uint8Array;
76
95
  } | {
77
96
  op: "export_study";
78
97
  package_json: string;
@@ -89,10 +108,15 @@ export type WorkerResponse = {
89
108
  id: number;
90
109
  ok: true;
91
110
  value: string | null;
92
- } | {
111
+ }
112
+ /** `fatal` marks an error the wasm instance cannot be trusted after — a trap
113
+ * leaves linear memory, the allocator, and every live Study undefined. The
114
+ * host tears the worker down rather than serving the next request from it. */
115
+ | {
93
116
  id: number;
94
117
  ok: false;
95
118
  error: string;
119
+ fatal?: boolean;
96
120
  };
97
121
  /** Run one request against a loaded wasm module. `studies` maps caller
98
122
  * allocated handles to live wasm Study instances on this side of the
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;6CAK6C;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,MAAM,aAAa,GACrB;IAAE,EAAE,EAAE,SAAS,CAAA;CAAE,GACjB;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,EAAE,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,EAAE,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,EAAE,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,EAAE,EAAE,WAAW,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,EAAE,EAAE,cAAc,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1E;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,EAAE,EAAE,mBAAmB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GACpE;IAAE,EAAE,EAAE,cAAc,CAAA;CAAE,GACtB;IAAE,EAAE,EAAE,YAAY,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,EAAE,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,EAAE,EAAE,qBAAqB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAClF;IAAE,EAAE,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,EAAE,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,EAAE,EAAE,oBAAoB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,EAAE,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,EAAE,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,EAAE,EAAE,cAAc,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC5E;IAAE,EAAE,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC9C;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7C;;eAEe;AACf,wBAAgB,UAAU,CACxB,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,GAAG,EAAE,aAAa,GACjB,MAAM,GAAG,IAAI,CAmDf"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
package/dist/protocol.js CHANGED
@@ -17,10 +17,20 @@ export function runRequest(mod, studies, req) {
17
17
  switch (req.op) {
18
18
  case "preload":
19
19
  return null; // loading the module was the work
20
+ case "classify_json":
21
+ return mod.classify_json(req.bytes);
22
+ case "ingest_json_drop":
23
+ return mod.ingest_json_drop(req.bytes);
20
24
  case "ingest_case":
21
- return mod.ingest_case(req.text, req.format);
25
+ return mod.ingest_case(req.bytes, req.format);
26
+ case "ingest_model_json":
27
+ return mod.ingest_model_json(req.network_json);
28
+ case "ingest_model_json_bytes":
29
+ return mod.ingest_model_json_bytes(req.bytes);
22
30
  case "ingest_dist_case":
23
31
  return mod.ingest_dist_case(req.text, req.format);
32
+ case "ingest_dist_case_bytes":
33
+ return mod.ingest_dist_case_bytes(req.bytes, req.format);
24
34
  case "parse_display":
25
35
  return mod.parse_display(req.bytes, req.format);
26
36
  case "parse_geo":
@@ -52,6 +62,8 @@ export function runRequest(mod, studies, req) {
52
62
  return study(req.study).apply_geo(req.layer);
53
63
  case "load_package":
54
64
  return mod.load_package(req.text);
65
+ case "load_package_bytes":
66
+ return mod.load_package_bytes(req.bytes);
55
67
  case "export_study":
56
68
  return mod.export_study(req.package_json, req.commit, req.format);
57
69
  case "study_free":
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;6CAK6C;AAmD7C;;eAEe;AACf,MAAM,UAAU,UAAU,CACxB,GAAe,EACf,OAA+B,EAC/B,GAAkB;IAElB,MAAM,KAAK,GAAG,CAAC,MAAc,EAAa,EAAE;QAC1C,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,QAAQ,GAAG,CAAC,EAAE,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,CAAC,kCAAkC;QACjD,KAAK,eAAe;YAClB,OAAO,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,kBAAkB;YACrB,OAAO,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,aAAa;YAChB,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,KAAK,mBAAmB;YACtB,OAAO,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACjD,KAAK,yBAAyB;YAC5B,OAAO,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChD,KAAK,kBAAkB;YACrB,OAAO,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACpD,KAAK,wBAAwB;YAC3B,OAAO,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3D,KAAK,eAAe;YAClB,OAAO,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,KAAK,WAAW;YACd,OAAO,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,KAAK,WAAW;YACd,OAAO,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACpD,KAAK,cAAc;YACjB,OAAO,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAClE,KAAK,aAAa;YAChB,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3C,KAAK,mBAAmB;YACtB,OAAO,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5D,KAAK,cAAc;YACjB,OAAO,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACjC,KAAK,YAAY;YACf,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACvD,KAAK,WAAW;YACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC;QACd,KAAK,qBAAqB;YACxB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;QACtE,KAAK,eAAe;YAClB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvE,KAAK,gBAAgB;YACnB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrC,KAAK,oBAAoB;YACvB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,CAAC;QACzC,KAAK,iBAAiB;YACpB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,KAAK,cAAc;YACjB,OAAO,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,KAAK,oBAAoB;YACvB,OAAO,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3C,KAAK,cAAc;YACjB,OAAO,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACpE,KAAK,YAAY;YACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;YAC/B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
@@ -2,7 +2,7 @@
2
2
  "name": "tellegen-wasm",
3
3
  "type": "module",
4
4
  "description": "WebAssembly browser adapter for the tellegen power flow engine.",
5
- "version": "0.1.0",
5
+ "version": "0.1.1",
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",
@@ -112,9 +112,15 @@ export function apply_layout(network_json: string, coords_json: string, kind: st
112
112
  */
113
113
  export function capabilities_json(): string;
114
114
 
115
+ /**
116
+ * Classify JSON bytes for the browser drop router. Invalid UTF-8 is never
117
+ * replaced; it follows powerio's unknown classification.
118
+ */
119
+ export function classify_json(bytes: Uint8Array): string;
120
+
115
121
  /**
116
122
  * Export the balanced study state at commit `commit` to a powerio `format`
117
- * (`matpower`, `psse`, `powerio-json`, ...). Returns `{ text, warnings, format,
123
+ * (`matpower`, `psse`, `model-json`, ...). Returns `{ text, warnings, format,
118
124
  * extension }` as JSON: the serialized case, the writer's fidelity warnings so the
119
125
  * frontend can surface them, and the format token and file extension. The package
120
126
  * JSON is untrusted; malformed input returns a `JsError`, never a panic.
@@ -134,8 +140,11 @@ export function extract_geo(network_json: string): string;
134
140
  * the tellegen API serves, placed at the coordinates the file carries
135
141
  * (PowerWorld complete case aux exports). `view` is null when the file has no
136
142
  * coordinates.
143
+ *
144
+ * Takes the dropped file's bytes, as [`parse_case`] does and for the same
145
+ * reason.
137
146
  */
138
- export function ingest_case(text: string, format: string): string;
147
+ export function ingest_case(bytes: Uint8Array, format: string): string;
139
148
 
140
149
  /**
141
150
  * The distribution counterpart of [`ingest_case`]: view a multiconductor case
@@ -152,6 +161,35 @@ export function ingest_case(text: string, format: string): string;
152
161
  */
153
162
  export function ingest_dist_case(text: string, format: string): string;
154
163
 
164
+ /**
165
+ * Byte counterpart of [`ingest_dist_case`] for dropped files.
166
+ */
167
+ export function ingest_dist_case_bytes(bytes: Uint8Array, format: string): string;
168
+
169
+ /**
170
+ * Classify and ingest one dropped JSON byte buffer. Known inputs return their
171
+ * render-ready payload; ambiguous and unknown documents return a null payload
172
+ * so the caller can request an explicit format without decoding the bytes a
173
+ * second time. Package envelopes are decoded once and the parsed package is
174
+ * passed directly to the appropriate restore path.
175
+ */
176
+ export function ingest_json_drop(bytes: Uint8Array): string;
177
+
178
+ /**
179
+ * [`ingest_case`] for powerio's own model JSON, the document `export_study`
180
+ * writes under the `model-json` token and powerio classifies as
181
+ * `JsonClass::ModelJson`. It is not a case format, so it reaches
182
+ * `BalancedNetwork::from_json` rather than a case reader, and there are no
183
+ * reader warnings to carry: nothing was converted.
184
+ */
185
+ export function ingest_model_json(network_json: string): string;
186
+
187
+ /**
188
+ * Byte counterpart of [`ingest_model_json`] for dropped files. UTF-8 decoding
189
+ * and model validation both stay in powerio.
190
+ */
191
+ export function ingest_model_json_bytes(bytes: Uint8Array): string;
192
+
155
193
  /**
156
194
  * Restore a study saved by [`Study::save_package`]. Returns a JSON bundle the frontend
157
195
  * reads to rebuild its case, edit sliders, formulation, and solve options in one step.
@@ -159,11 +197,21 @@ export function ingest_dist_case(text: string, format: string): string;
159
197
  */
160
198
  export function load_package(package_json: string): string;
161
199
 
200
+ /**
201
+ * Byte counterpart of [`load_package`] for a dropped package.
202
+ */
203
+ export function load_package_bytes(bytes: Uint8Array): string;
204
+
162
205
  /**
163
206
  * Parse a case file (MATPOWER, PSS/E RAW, PowerWorld aux, PowerModels or
164
207
  * egret JSON) and return `{"network": ..., "warnings": [...]}` as JSON.
208
+ *
209
+ * Takes the upload's bytes, not decoded text: `powerio::parse_bytes` refuses a
210
+ * text format whose bytes are not UTF-8, where a browser side `File.text()`
211
+ * would have replaced each offending byte with U+FFFD and parsed on. It also
212
+ * reaches PowerWorld `.pwb`, which has no text form at all.
165
213
  */
166
- export function parse_case(text: string, format: string): string;
214
+ export function parse_case(bytes: Uint8Array, format: string): string;
167
215
 
168
216
  /**
169
217
  * Decode a PowerWorld `.pwd` display file (binary). Returns the substation
@@ -200,11 +248,17 @@ export interface InitOutput {
200
248
  readonly apply_geo: (a: number, b: number, c: number, d: number) => [number, number, number, number];
201
249
  readonly apply_layout: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
202
250
  readonly capabilities_json: () => [number, number];
251
+ readonly classify_json: (a: number, b: number) => [number, number, number, number];
203
252
  readonly export_study: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
204
253
  readonly extract_geo: (a: number, b: number) => [number, number, number, number];
205
254
  readonly ingest_case: (a: number, b: number, c: number, d: number) => [number, number, number, number];
206
255
  readonly ingest_dist_case: (a: number, b: number, c: number, d: number) => [number, number, number, number];
256
+ readonly ingest_dist_case_bytes: (a: number, b: number, c: number, d: number) => [number, number, number, number];
257
+ readonly ingest_json_drop: (a: number, b: number) => [number, number, number, number];
258
+ readonly ingest_model_json: (a: number, b: number) => [number, number, number, number];
259
+ readonly ingest_model_json_bytes: (a: number, b: number) => [number, number, number, number];
207
260
  readonly load_package: (a: number, b: number) => [number, number, number, number];
261
+ readonly load_package_bytes: (a: number, b: number) => [number, number, number, number];
208
262
  readonly parse_case: (a: number, b: number, c: number, d: number) => [number, number, number, number];
209
263
  readonly parse_display: (a: number, b: number, c: number, d: number) => [number, number, number, number];
210
264
  readonly parse_geo: (a: number, b: number, c: number, d: number) => [number, number, number, number];
@@ -386,9 +386,36 @@ export function capabilities_json() {
386
386
  }
387
387
  }
388
388
 
389
+ /**
390
+ * Classify JSON bytes for the browser drop router. Invalid UTF-8 is never
391
+ * replaced; it follows powerio's unknown classification.
392
+ * @param {Uint8Array} bytes
393
+ * @returns {string}
394
+ */
395
+ export function classify_json(bytes) {
396
+ let deferred3_0;
397
+ let deferred3_1;
398
+ try {
399
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
400
+ const len0 = WASM_VECTOR_LEN;
401
+ const ret = wasm.classify_json(ptr0, len0);
402
+ var ptr2 = ret[0];
403
+ var len2 = ret[1];
404
+ if (ret[3]) {
405
+ ptr2 = 0; len2 = 0;
406
+ throw takeFromExternrefTable0(ret[2]);
407
+ }
408
+ deferred3_0 = ptr2;
409
+ deferred3_1 = len2;
410
+ return getStringFromWasm0(ptr2, len2);
411
+ } finally {
412
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
413
+ }
414
+ }
415
+
389
416
  /**
390
417
  * Export the balanced study state at commit `commit` to a powerio `format`
391
- * (`matpower`, `psse`, `powerio-json`, ...). Returns `{ text, warnings, format,
418
+ * (`matpower`, `psse`, `model-json`, ...). Returns `{ text, warnings, format,
392
419
  * extension }` as JSON: the serialized case, the writer's fidelity warnings so the
393
420
  * frontend can surface them, and the format token and file extension. The package
394
421
  * JSON is untrusted; malformed input returns a `JsError`, never a panic.
@@ -454,15 +481,18 @@ export function extract_geo(network_json) {
454
481
  * the tellegen API serves, placed at the coordinates the file carries
455
482
  * (PowerWorld complete case aux exports). `view` is null when the file has no
456
483
  * coordinates.
457
- * @param {string} text
484
+ *
485
+ * Takes the dropped file's bytes, as [`parse_case`] does and for the same
486
+ * reason.
487
+ * @param {Uint8Array} bytes
458
488
  * @param {string} format
459
489
  * @returns {string}
460
490
  */
461
- export function ingest_case(text, format) {
491
+ export function ingest_case(bytes, format) {
462
492
  let deferred4_0;
463
493
  let deferred4_1;
464
494
  try {
465
- const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
495
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
466
496
  const len0 = WASM_VECTOR_LEN;
467
497
  const ptr1 = passStringToWasm0(format, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
468
498
  const len1 = WASM_VECTOR_LEN;
@@ -520,6 +550,122 @@ export function ingest_dist_case(text, format) {
520
550
  }
521
551
  }
522
552
 
553
+ /**
554
+ * Byte counterpart of [`ingest_dist_case`] for dropped files.
555
+ * @param {Uint8Array} bytes
556
+ * @param {string} format
557
+ * @returns {string}
558
+ */
559
+ export function ingest_dist_case_bytes(bytes, format) {
560
+ let deferred4_0;
561
+ let deferred4_1;
562
+ try {
563
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
564
+ const len0 = WASM_VECTOR_LEN;
565
+ const ptr1 = passStringToWasm0(format, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
566
+ const len1 = WASM_VECTOR_LEN;
567
+ const ret = wasm.ingest_dist_case_bytes(ptr0, len0, ptr1, len1);
568
+ var ptr3 = ret[0];
569
+ var len3 = ret[1];
570
+ if (ret[3]) {
571
+ ptr3 = 0; len3 = 0;
572
+ throw takeFromExternrefTable0(ret[2]);
573
+ }
574
+ deferred4_0 = ptr3;
575
+ deferred4_1 = len3;
576
+ return getStringFromWasm0(ptr3, len3);
577
+ } finally {
578
+ wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
579
+ }
580
+ }
581
+
582
+ /**
583
+ * Classify and ingest one dropped JSON byte buffer. Known inputs return their
584
+ * render-ready payload; ambiguous and unknown documents return a null payload
585
+ * so the caller can request an explicit format without decoding the bytes a
586
+ * second time. Package envelopes are decoded once and the parsed package is
587
+ * passed directly to the appropriate restore path.
588
+ * @param {Uint8Array} bytes
589
+ * @returns {string}
590
+ */
591
+ export function ingest_json_drop(bytes) {
592
+ let deferred3_0;
593
+ let deferred3_1;
594
+ try {
595
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
596
+ const len0 = WASM_VECTOR_LEN;
597
+ const ret = wasm.ingest_json_drop(ptr0, len0);
598
+ var ptr2 = ret[0];
599
+ var len2 = ret[1];
600
+ if (ret[3]) {
601
+ ptr2 = 0; len2 = 0;
602
+ throw takeFromExternrefTable0(ret[2]);
603
+ }
604
+ deferred3_0 = ptr2;
605
+ deferred3_1 = len2;
606
+ return getStringFromWasm0(ptr2, len2);
607
+ } finally {
608
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
609
+ }
610
+ }
611
+
612
+ /**
613
+ * [`ingest_case`] for powerio's own model JSON, the document `export_study`
614
+ * writes under the `model-json` token and powerio classifies as
615
+ * `JsonClass::ModelJson`. It is not a case format, so it reaches
616
+ * `BalancedNetwork::from_json` rather than a case reader, and there are no
617
+ * reader warnings to carry: nothing was converted.
618
+ * @param {string} network_json
619
+ * @returns {string}
620
+ */
621
+ export function ingest_model_json(network_json) {
622
+ let deferred3_0;
623
+ let deferred3_1;
624
+ try {
625
+ const ptr0 = passStringToWasm0(network_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
626
+ const len0 = WASM_VECTOR_LEN;
627
+ const ret = wasm.ingest_model_json(ptr0, len0);
628
+ var ptr2 = ret[0];
629
+ var len2 = ret[1];
630
+ if (ret[3]) {
631
+ ptr2 = 0; len2 = 0;
632
+ throw takeFromExternrefTable0(ret[2]);
633
+ }
634
+ deferred3_0 = ptr2;
635
+ deferred3_1 = len2;
636
+ return getStringFromWasm0(ptr2, len2);
637
+ } finally {
638
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
639
+ }
640
+ }
641
+
642
+ /**
643
+ * Byte counterpart of [`ingest_model_json`] for dropped files. UTF-8 decoding
644
+ * and model validation both stay in powerio.
645
+ * @param {Uint8Array} bytes
646
+ * @returns {string}
647
+ */
648
+ export function ingest_model_json_bytes(bytes) {
649
+ let deferred3_0;
650
+ let deferred3_1;
651
+ try {
652
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
653
+ const len0 = WASM_VECTOR_LEN;
654
+ const ret = wasm.ingest_model_json_bytes(ptr0, len0);
655
+ var ptr2 = ret[0];
656
+ var len2 = ret[1];
657
+ if (ret[3]) {
658
+ ptr2 = 0; len2 = 0;
659
+ throw takeFromExternrefTable0(ret[2]);
660
+ }
661
+ deferred3_0 = ptr2;
662
+ deferred3_1 = len2;
663
+ return getStringFromWasm0(ptr2, len2);
664
+ } finally {
665
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
666
+ }
667
+ }
668
+
523
669
  /**
524
670
  * Restore a study saved by [`Study::save_package`]. Returns a JSON bundle the frontend
525
671
  * reads to rebuild its case, edit sliders, formulation, and solve options in one step.
@@ -548,18 +694,49 @@ export function load_package(package_json) {
548
694
  }
549
695
  }
550
696
 
697
+ /**
698
+ * Byte counterpart of [`load_package`] for a dropped package.
699
+ * @param {Uint8Array} bytes
700
+ * @returns {string}
701
+ */
702
+ export function load_package_bytes(bytes) {
703
+ let deferred3_0;
704
+ let deferred3_1;
705
+ try {
706
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
707
+ const len0 = WASM_VECTOR_LEN;
708
+ const ret = wasm.load_package_bytes(ptr0, len0);
709
+ var ptr2 = ret[0];
710
+ var len2 = ret[1];
711
+ if (ret[3]) {
712
+ ptr2 = 0; len2 = 0;
713
+ throw takeFromExternrefTable0(ret[2]);
714
+ }
715
+ deferred3_0 = ptr2;
716
+ deferred3_1 = len2;
717
+ return getStringFromWasm0(ptr2, len2);
718
+ } finally {
719
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
720
+ }
721
+ }
722
+
551
723
  /**
552
724
  * Parse a case file (MATPOWER, PSS/E RAW, PowerWorld aux, PowerModels or
553
725
  * egret JSON) and return `{"network": ..., "warnings": [...]}` as JSON.
554
- * @param {string} text
726
+ *
727
+ * Takes the upload's bytes, not decoded text: `powerio::parse_bytes` refuses a
728
+ * text format whose bytes are not UTF-8, where a browser side `File.text()`
729
+ * would have replaced each offending byte with U+FFFD and parsed on. It also
730
+ * reaches PowerWorld `.pwb`, which has no text form at all.
731
+ * @param {Uint8Array} bytes
555
732
  * @param {string} format
556
733
  * @returns {string}
557
734
  */
558
- export function parse_case(text, format) {
735
+ export function parse_case(bytes, format) {
559
736
  let deferred4_0;
560
737
  let deferred4_1;
561
738
  try {
562
- const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
739
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
563
740
  const len0 = WASM_VECTOR_LEN;
564
741
  const ptr1 = passStringToWasm0(format, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
565
742
  const len1 = WASM_VECTOR_LEN;
Binary file
@@ -6,11 +6,17 @@ export const apply_display_geo: (a: number, b: number, c: number, d: number) =>
6
6
  export const apply_geo: (a: number, b: number, c: number, d: number) => [number, number, number, number];
7
7
  export const apply_layout: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
8
8
  export const capabilities_json: () => [number, number];
9
+ export const classify_json: (a: number, b: number) => [number, number, number, number];
9
10
  export const export_study: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
10
11
  export const extract_geo: (a: number, b: number) => [number, number, number, number];
11
12
  export const ingest_case: (a: number, b: number, c: number, d: number) => [number, number, number, number];
12
13
  export const ingest_dist_case: (a: number, b: number, c: number, d: number) => [number, number, number, number];
14
+ export const ingest_dist_case_bytes: (a: number, b: number, c: number, d: number) => [number, number, number, number];
15
+ export const ingest_json_drop: (a: number, b: number) => [number, number, number, number];
16
+ export const ingest_model_json: (a: number, b: number) => [number, number, number, number];
17
+ export const ingest_model_json_bytes: (a: number, b: number) => [number, number, number, number];
13
18
  export const load_package: (a: number, b: number) => [number, number, number, number];
19
+ export const load_package_bytes: (a: number, b: number) => [number, number, number, number];
14
20
  export const parse_case: (a: number, b: number, c: number, d: number) => [number, number, number, number];
15
21
  export const parse_display: (a: number, b: number, c: number, d: number) => [number, number, number, number];
16
22
  export const parse_geo: (a: number, b: number, c: number, d: number) => [number, number, number, number];
package/dist/worker.js CHANGED
@@ -41,7 +41,19 @@ scope.onmessage = async (ev) => {
41
41
  scope.postMessage({ id: req.id, ok: true, value });
42
42
  }
43
43
  catch (e) {
44
- scope.postMessage({ id: req.id, ok: false, error: errorText(e) });
44
+ // A Rust panic or a failed allocation is a wasm trap, and a trapped
45
+ // instance is not recoverable: linear memory, the allocator, and every
46
+ // live Study are undefined afterwards. Reporting it as an ordinary error
47
+ // would leave the next solve running against that state and returning
48
+ // numbers that look fine. Answer this request, then take the worker down
49
+ // so the host spawns a clean one.
50
+ const fatal = e instanceof WebAssembly.RuntimeError;
51
+ scope.postMessage({ id: req.id, ok: false, error: errorText(e), fatal });
52
+ if (fatal) {
53
+ studies.clear();
54
+ wasmReady = null;
55
+ scope.close();
56
+ }
45
57
  }
46
58
  };
47
59
  //# sourceMappingURL=worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;6EAQ6E;AAE7E,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EACL,UAAU,GAGX,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAE/C,IAAI,SAAS,GAA+B,IAAI,CAAC;AACjD,IAAI,eAAe,GAAkB,IAAI,CAAC;AAE1C,SAAS,UAAU;IACjB,IAAI,eAAe;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IAC7E,SAAS,KAAK,IAAI;SACf,OAAO,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;SACpC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7B,wEAAwE;QACxE,mEAAmE;QACnE,SAAS,GAAG,IAAI,CAAC;QACjB,IAAI,0BAA0B,CAAC,OAAO,CAAC;YAAE,eAAe,GAAG,OAAO,CAAC;QACnE,MAAM,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IACL,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;AAE7C,8EAA8E;AAC9E,0DAA0D;AAC1D,MAAM,KAAK,GAAG,UAGb,CAAC;AAEF,KAAK,CAAC,SAAS,GAAG,KAAK,EAAE,EAA+B,EAAE,EAAE;IAC1D,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC3D,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;6EAQ6E;AAE7E,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EACL,UAAU,GAGX,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAE/C,IAAI,SAAS,GAA+B,IAAI,CAAC;AACjD,IAAI,eAAe,GAAkB,IAAI,CAAC;AAE1C,SAAS,UAAU;IACjB,IAAI,eAAe;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,6BAA6B,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IAC7E,SAAS,KAAK,IAAI;SACf,OAAO,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;SACpC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7B,wEAAwE;QACxE,mEAAmE;QACnE,SAAS,GAAG,IAAI,CAAC;QACjB,IAAI,0BAA0B,CAAC,OAAO,CAAC;YAAE,eAAe,GAAG,OAAO,CAAC;QACnE,MAAM,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IACL,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;AAE7C,8EAA8E;AAC9E,0DAA0D;AAC1D,MAAM,KAAK,GAAG,UAIb,CAAC;AAEF,KAAK,CAAC,SAAS,GAAG,KAAK,EAAE,EAA+B,EAAE,EAAE;IAC1D,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC3D,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,oEAAoE;QACpE,uEAAuE;QACvE,yEAAyE;QACzE,sEAAsE;QACtE,yEAAyE;QACzE,kCAAkC;QAClC,MAAM,KAAK,GAAG,CAAC,YAAY,WAAW,CAAC,YAAY,CAAC;QACpD,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,SAAS,GAAG,IAAI,CAAC;YACjB,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tellegen/engine",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Browser engine package for tellegen case parsing, solving, studies, previews, and sensitivities.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -17,6 +17,9 @@
17
17
  "files": [
18
18
  "dist"
19
19
  ],
20
+ "publishConfig": {
21
+ "access": "public"
22
+ },
20
23
  "sideEffects": false,
21
24
  "exports": {
22
25
  ".": {
@@ -33,11 +36,13 @@
33
36
  "contracts:check": "node scripts/generate-contracts.mjs --check",
34
37
  "build": "npm run contracts:check && tsc -p tsconfig.json && node scripts/copy-wasm-assets.mjs",
35
38
  "wasm": "wasm-pack build ../../crates/tellegen-wasm --target web --out-dir ../../packages/engine/src/wasm-pkg --out-name tellegen -- --features conic",
36
- "check": "npm run contracts:check && tsc -p tsconfig.json --noEmit",
39
+ "check": "npm run contracts:check && tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json && npm test",
40
+ "test": "vitest run",
37
41
  "test:import": "node scripts/import-smoke.mjs",
38
42
  "pack:dry-run": "npm pack --dry-run"
39
43
  },
40
44
  "devDependencies": {
41
- "typescript": "^5.7.0"
45
+ "typescript": "^7.0.2",
46
+ "vitest": "^4.1.11"
42
47
  }
43
48
  }