@tellegen/engine 0.1.1 → 0.3.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 +50 -6
- package/dist/generated/contracts.d.ts +35 -17
- package/dist/generated/contracts.d.ts.map +1 -1
- package/dist/generated/contracts.js +3 -3
- package/dist/generated/study-contracts.d.ts +426 -0
- package/dist/generated/study-contracts.d.ts.map +1 -0
- package/dist/generated/study-contracts.js +4 -0
- package/dist/generated/study-contracts.js.map +1 -0
- package/dist/generated/study-schema.d.ts +2 -0
- package/dist/generated/study-schema.d.ts.map +1 -0
- package/dist/generated/study-schema.js +3 -0
- package/dist/generated/study-schema.js.map +1 -0
- package/dist/host.d.ts +12 -0
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +71 -17
- package/dist/host.js.map +1 -1
- package/dist/index.d.ts +360 -96
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +407 -89
- package/dist/index.js.map +1 -1
- package/dist/input-limit.d.ts +8 -0
- package/dist/input-limit.d.ts.map +1 -0
- package/dist/input-limit.js +14 -0
- package/dist/input-limit.js.map +1 -0
- package/dist/module.d.ts +1 -0
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js.map +1 -1
- package/dist/protocol.d.ts +105 -20
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +67 -18
- package/dist/protocol.js.map +1 -1
- package/dist/study-document.d.ts +46 -0
- package/dist/study-document.d.ts.map +1 -0
- package/dist/study-document.js +183 -0
- package/dist/study-document.js.map +1 -0
- package/dist/study-document.test.d.ts +2 -0
- package/dist/study-document.test.d.ts.map +1 -0
- package/dist/study-document.test.js +119 -0
- package/dist/study-document.test.js.map +1 -0
- package/dist/wasm-pkg/tellegen.d.ts +191 -55
- package/dist/wasm-pkg/tellegen.js +754 -97
- package/dist/wasm-pkg/tellegen_bg.wasm +0 -0
- package/dist/wasm-pkg/tellegen_bg.wasm.d.ts +30 -6
- package/dist/worker.js +27 -3
- package/dist/worker.js.map +1 -1
- package/package.json +26 -4
|
Binary file
|
|
@@ -1,33 +1,57 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
export const memory: WebAssembly.Memory;
|
|
4
|
+
export const __wbg_mcpfsession_free: (a: number, b: number) => void;
|
|
4
5
|
export const __wbg_study_free: (a: number, b: number) => void;
|
|
5
6
|
export const apply_display_geo: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
6
7
|
export const apply_geo: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
7
8
|
export const apply_layout: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
9
|
+
export const apply_mc_study_geo: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
8
10
|
export const capabilities_json: () => [number, number];
|
|
9
|
-
export const
|
|
11
|
+
export const classify_json: (a: number, b: number) => [number, number, number, number];
|
|
10
12
|
export const extract_geo: (a: number, b: number) => [number, number, number, number];
|
|
11
13
|
export const ingest_case: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
12
14
|
export const ingest_dist_case: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
13
|
-
export const
|
|
15
|
+
export const ingest_dist_case_bytes: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
16
|
+
export const ingest_json_drop: (a: number, b: number) => [number, number, number, number];
|
|
17
|
+
export const mcpfsession_input_module: (a: number) => [number, number, number, number];
|
|
18
|
+
export const mcpfsession_load_branches: (a: number) => [number, number, number, number];
|
|
19
|
+
export const mcpfsession_new: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
20
|
+
export const mcpfsession_replace_load_powers: (a: number, b: number, c: number) => [number, number, number, number];
|
|
21
|
+
export const mcpfsession_result: (a: number) => [number, number, number, number];
|
|
22
|
+
export const mcpfsession_snapshot: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
14
23
|
export const parse_case: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
15
24
|
export const parse_display: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
16
25
|
export const parse_geo: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
17
|
-
export const
|
|
26
|
+
export const replay_mc_study: (a: number, b: number) => [number, number, number, number];
|
|
27
|
+
export const solve_mc_bmopf: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
28
|
+
export const solve_mc_module: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
29
|
+
export const solve_mc_study: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
|
|
30
|
+
export const solve_module: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
18
31
|
export const study_apply_geo: (a: number, b: number, c: number) => [number, number, number, number];
|
|
19
32
|
export const study_commit: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
33
|
+
export const study_document_create: (a: number, b: number) => [number, number, number, number];
|
|
34
|
+
export const study_document_import: (a: number, b: number) => [number, number, number, number];
|
|
35
|
+
export const study_document_run: (a: number, b: number, c: number, d: number, e: any) => any;
|
|
36
|
+
export const study_export: (a: number, b: number, c: number) => [number, number, number, number];
|
|
20
37
|
export const study_formulation: (a: number) => [number, number];
|
|
21
38
|
export const study_new: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
39
|
+
export const study_plan: (a: number, b: number, c: number) => [number, number, number, number];
|
|
22
40
|
export const study_preview: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
23
41
|
export const study_preview_replacement: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
24
42
|
export const study_replace_edits: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
25
|
-
export const
|
|
43
|
+
export const study_save_instance_module: (a: number) => [number, number, number, number];
|
|
44
|
+
export const study_save_module: (a: number) => [number, number, number, number];
|
|
45
|
+
export const study_save_solution_module: (a: number) => [number, number, number, number];
|
|
26
46
|
export const study_solution: (a: number) => [number, number, number, number];
|
|
47
|
+
export const wasm_bindgen__convert__closures_____invoke__h0178a8f776e4ef73: (a: number, b: number, c: any, d: any) => void;
|
|
48
|
+
export const wasm_bindgen__convert__closures_____invoke__h42fc1c09ce4112c3: (a: number, b: number, c: any) => [number, number];
|
|
49
|
+
export const __wbindgen_exn_store: (a: number) => void;
|
|
50
|
+
export const __externref_table_alloc: () => number;
|
|
51
|
+
export const __wbindgen_externrefs: WebAssembly.Table;
|
|
27
52
|
export const __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
28
53
|
export const __wbindgen_malloc: (a: number, b: number) => number;
|
|
29
54
|
export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
30
|
-
export const
|
|
31
|
-
export const __wbindgen_externrefs: WebAssembly.Table;
|
|
55
|
+
export const __wbindgen_destroy_closure: (a: number, b: number) => void;
|
|
32
56
|
export const __externref_table_dealloc: (a: number) => void;
|
|
33
57
|
export const __wbindgen_start: () => void;
|
package/dist/worker.js
CHANGED
|
@@ -30,18 +30,42 @@ function wasmModule() {
|
|
|
30
30
|
});
|
|
31
31
|
return wasmReady;
|
|
32
32
|
}
|
|
33
|
-
const
|
|
33
|
+
const handles = {
|
|
34
|
+
studies: new Map(),
|
|
35
|
+
mcPfSessions: new Map(),
|
|
36
|
+
};
|
|
34
37
|
// Typed view of the dedicated worker global; the package compiles against the
|
|
35
38
|
// DOM lib, so DedicatedWorkerGlobalScope is not in scope.
|
|
36
39
|
const scope = globalThis;
|
|
40
|
+
const cancelledOperations = new Set();
|
|
37
41
|
scope.onmessage = async (ev) => {
|
|
38
42
|
const req = ev.data;
|
|
43
|
+
if (req.op === "cancel_study_operation") {
|
|
44
|
+
cancelledOperations.add(req.id);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
39
47
|
try {
|
|
40
|
-
const value = runRequest(await wasmModule(),
|
|
48
|
+
const value = await runRequest(await wasmModule(), handles, req, () => cancelledOperations.has(req.id));
|
|
41
49
|
scope.postMessage({ id: req.id, ok: true, value });
|
|
42
50
|
}
|
|
43
51
|
catch (e) {
|
|
44
|
-
|
|
52
|
+
// A Rust panic or a failed allocation is a wasm trap, and a trapped
|
|
53
|
+
// instance is not recoverable: linear memory, the allocator, and every
|
|
54
|
+
// live Study are undefined afterwards. Reporting it as an ordinary error
|
|
55
|
+
// would leave the next solve running against that state and returning
|
|
56
|
+
// numbers that look fine. Answer this request, then take the worker down
|
|
57
|
+
// so the host spawns a clean one.
|
|
58
|
+
const fatal = e instanceof WebAssembly.RuntimeError;
|
|
59
|
+
scope.postMessage({ id: req.id, ok: false, error: errorText(e), fatal });
|
|
60
|
+
if (fatal) {
|
|
61
|
+
handles.studies.clear();
|
|
62
|
+
handles.mcPfSessions.clear();
|
|
63
|
+
wasmReady = null;
|
|
64
|
+
scope.close();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
finally {
|
|
68
|
+
cancelledOperations.delete(req.id);
|
|
45
69
|
}
|
|
46
70
|
};
|
|
47
71
|
//# sourceMappingURL=worker.js.map
|
package/dist/worker.js.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tellegen/engine",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Browser engine
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "Browser engine for case parsing, solves, Study previews and commits, and sensitivities.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"power-flow",
|
|
7
|
+
"optimal-power-flow",
|
|
8
|
+
"opf",
|
|
9
|
+
"dc-opf",
|
|
10
|
+
"ac-power-flow",
|
|
11
|
+
"socwr",
|
|
12
|
+
"sensitivity",
|
|
13
|
+
"lmp",
|
|
14
|
+
"webassembly",
|
|
15
|
+
"wasm",
|
|
16
|
+
"power-systems",
|
|
17
|
+
"matpower",
|
|
18
|
+
"psse",
|
|
19
|
+
"opendss",
|
|
20
|
+
"powerio"
|
|
21
|
+
],
|
|
5
22
|
"license": "MIT",
|
|
6
23
|
"type": "module",
|
|
7
24
|
"repository": {
|
|
@@ -17,6 +34,9 @@
|
|
|
17
34
|
"files": [
|
|
18
35
|
"dist"
|
|
19
36
|
],
|
|
37
|
+
"publishConfig": {
|
|
38
|
+
"access": "public"
|
|
39
|
+
},
|
|
20
40
|
"sideEffects": false,
|
|
21
41
|
"exports": {
|
|
22
42
|
".": {
|
|
@@ -33,11 +53,13 @@
|
|
|
33
53
|
"contracts:check": "node scripts/generate-contracts.mjs --check",
|
|
34
54
|
"build": "npm run contracts:check && tsc -p tsconfig.json && node scripts/copy-wasm-assets.mjs",
|
|
35
55
|
"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",
|
|
56
|
+
"check": "npm run contracts:check && tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json && npm test",
|
|
57
|
+
"test": "vitest run",
|
|
37
58
|
"test:import": "node scripts/import-smoke.mjs",
|
|
38
59
|
"pack:dry-run": "npm pack --dry-run"
|
|
39
60
|
},
|
|
40
61
|
"devDependencies": {
|
|
41
|
-
"typescript": "^
|
|
62
|
+
"typescript": "^7.0.2",
|
|
63
|
+
"vitest": "^5.0.0"
|
|
42
64
|
}
|
|
43
65
|
}
|