@tellegen/engine 0.3.0 → 0.4.1

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.
Files changed (56) hide show
  1. package/README.md +65 -5
  2. package/dist/data/populated_places.json +7351 -0
  3. package/dist/generated/{contracts.d.ts → api-types.d.ts} +4 -4
  4. package/dist/generated/api-types.d.ts.map +1 -0
  5. package/dist/generated/api-types.js +8 -0
  6. package/dist/generated/api-types.js.map +1 -0
  7. package/dist/generated/study-schema.d.ts.map +1 -1
  8. package/dist/generated/study-schema.js +2 -2
  9. package/dist/generated/study-schema.js.map +1 -1
  10. package/dist/generated/{study-contracts.d.ts → study-types.d.ts} +1 -1
  11. package/dist/generated/study-types.d.ts.map +1 -0
  12. package/dist/generated/study-types.js +4 -0
  13. package/dist/generated/study-types.js.map +1 -0
  14. package/dist/generated/synth-schema.d.ts +2 -0
  15. package/dist/generated/synth-schema.d.ts.map +1 -0
  16. package/dist/generated/synth-schema.js +3 -0
  17. package/dist/generated/synth-schema.js.map +1 -0
  18. package/dist/generated/synth-types.d.ts +484 -0
  19. package/dist/generated/synth-types.d.ts.map +1 -0
  20. package/dist/generated/synth-types.js +4 -0
  21. package/dist/generated/synth-types.js.map +1 -0
  22. package/dist/host.d.ts +23 -2
  23. package/dist/host.d.ts.map +1 -1
  24. package/dist/host.js +60 -22
  25. package/dist/host.js.map +1 -1
  26. package/dist/index.d.ts +253 -16
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +433 -11
  29. package/dist/index.js.map +1 -1
  30. package/dist/module.d.ts +1 -0
  31. package/dist/module.d.ts.map +1 -1
  32. package/dist/module.js.map +1 -1
  33. package/dist/protocol.d.ts +97 -7
  34. package/dist/protocol.d.ts.map +1 -1
  35. package/dist/protocol.js +96 -6
  36. package/dist/protocol.js.map +1 -1
  37. package/dist/study-document.d.ts +2 -2
  38. package/dist/study-document.d.ts.map +1 -1
  39. package/dist/study-document.js +1 -1
  40. package/dist/study-document.js.map +1 -1
  41. package/dist/wasm-pkg/LICENSE +17 -4
  42. package/dist/wasm-pkg/tellegen.d.ts +171 -6
  43. package/dist/wasm-pkg/tellegen.js +627 -33
  44. package/dist/wasm-pkg/tellegen_bg.wasm +0 -0
  45. package/dist/wasm-pkg/tellegen_bg.wasm.d.ts +32 -2
  46. package/dist/worker.js +10 -7
  47. package/dist/worker.js.map +1 -1
  48. package/package.json +17 -11
  49. package/dist/generated/contracts.d.ts.map +0 -1
  50. package/dist/generated/contracts.js +0 -8
  51. package/dist/generated/contracts.js.map +0 -1
  52. package/dist/generated/study-contracts.d.ts.map +0 -1
  53. package/dist/generated/study-contracts.js +0 -4
  54. package/dist/generated/study-contracts.js.map +0 -1
  55. package/dist/wasm-pkg/LICENSE-APACHE +0 -201
  56. package/dist/wasm-pkg/LICENSE-MIT +0 -19
package/dist/index.js CHANGED
@@ -2,10 +2,10 @@
2
2
  * browser allows one — a solve never blocks the page — and on the calling
3
3
  * thread otherwise (see host.ts). Nothing downloads until the first engine
4
4
  * call; dropped files are parsed locally and never leave the machine. */
5
- import { engineHost, isolatedEngineHost } from "./host.js";
5
+ import { callTimed, engineHost, isolatedEngineHost, synthEngineHost, } from "./host.js";
6
6
  import { isPermanentWasmLoadFailure } from "./errors.js";
7
7
  import { assertEngineInputBytes, assertEngineInputLength, } from "./input-limit.js";
8
- export { CONTRACT_SOURCE_SHA256, CONTRACT_VERSION, FORMULATION_IDS, SOLVE_STATUSES, } from "./generated/contracts.js";
8
+ export { API_SOURCE_SHA256, ENGINE_VERSION, FORMULATION_IDS, SOLVE_STATUSES, } from "./generated/api-types.js";
9
9
  export { MAX_ENGINE_INPUT_BYTES } from "./input-limit.js";
10
10
  /** Compact display spelling for a structured PowerIO finding. */
11
11
  export function formatPowerIoDiagnostic(diagnostic) {
@@ -27,10 +27,16 @@ export async function ingestJsonDrop(bytes) {
27
27
  assertEngineInputBytes(bytes);
28
28
  return JSON.parse(expectText(await engineHost().call({ op: "ingest_json_drop", bytes })));
29
29
  }
30
- /** Asserts a request that must carry a payload actually did. */
30
+ /** Asserts a request that must carry a text payload actually did. */
31
31
  function expectText(value) {
32
- if (value === null)
33
- throw new Error("engine returned no payload");
32
+ if (typeof value !== "string")
33
+ throw new Error("engine returned no text payload");
34
+ return value;
35
+ }
36
+ /** Asserts a request that must carry a numeric array actually did. */
37
+ function expectFloat64(value) {
38
+ if (!(value instanceof Float64Array))
39
+ throw new Error("engine returned no numeric array");
34
40
  return value;
35
41
  }
36
42
  /** powerio format token from a file name; null for non-case files. */
@@ -147,15 +153,81 @@ export async function solveModule(moduleJson, request = {}) {
147
153
  request: JSON.stringify(request),
148
154
  })));
149
155
  }
156
+ /** Reduce a stored full result to the summary an interactive edit returns.
157
+ * Sums run in result order, matching the engine's own aggregation. */
158
+ export function summarizeMcPfResult(result, solveCount = 0) {
159
+ const sourcePower = { re: 0, im: 0 };
160
+ for (const reaction of result.source_reactions) {
161
+ sourcePower.re += reaction.power_into_network.re;
162
+ sourcePower.im += reaction.power_into_network.im;
163
+ }
164
+ const passiveLoss = { re: 0, im: 0 };
165
+ for (const port of result.element_ports) {
166
+ if (port.kind === "load" || port.kind === "generator" || port.kind === "ibr")
167
+ continue;
168
+ passiveLoss.re += port.power_into_element.re;
169
+ passiveLoss.im += port.power_into_element.im;
170
+ }
171
+ return {
172
+ converged: result.converged,
173
+ voltage_valid: result.voltage_valid,
174
+ min_voltage_pu: result.min_voltage_pu,
175
+ max_voltage_pu: result.max_voltage_pu,
176
+ voltage_violation_count: result.voltage_violations.length,
177
+ iterations: result.iterations,
178
+ factorization_count: result.factorization_count,
179
+ matrix_dimension: result.matrix_dimension,
180
+ matrix_nonzeros: result.matrix_nonzeros,
181
+ voltage_change: result.voltage_change,
182
+ physical_kcl_residual: result.physical_kcl_residual,
183
+ scaled_kcl_residual: result.scaled_kcl_residual,
184
+ terminal_count: result.terminals.length,
185
+ element_port_count: result.element_ports.length,
186
+ source_power_into_network: sourcePower,
187
+ passive_loss: passiveLoss,
188
+ solve_count: solveCount,
189
+ };
190
+ }
191
+ /** The detail page {@link BrowserMcPfSession.detail} would return, read from
192
+ * a stored full result (a saved Study, or a solve without a session). */
193
+ export function mcPfResultDetail(result, query, solveCount = 0) {
194
+ const limit = query.port_limit || 20;
195
+ const offset = query.port_offset ?? 0;
196
+ const ports = query.element
197
+ ? result.element_ports.filter((port) => port.element === query.element)
198
+ : result.element_ports;
199
+ return {
200
+ solve_count: solveCount,
201
+ terminals: query.bus
202
+ ? result.terminals.filter((terminal) => terminal.bus === query.bus)
203
+ : [],
204
+ element_ports: ports.slice(offset, offset + limit),
205
+ element_port_total: ports.length,
206
+ };
207
+ }
150
208
  /** A live fixed-point current-injection solver retained in the shared engine
151
- * worker. Load edits reuse its sparse LU and previous converged phasors. */
209
+ * worker. Load edits reuse its sparse LU and previous converged phasors and
210
+ * answer with the constant-size {@link McPfSummary}; terminal and equipment
211
+ * detail is fetched on demand, as bounded pages or numeric arrays. */
152
212
  export class BrowserMcPfSession {
153
213
  host;
154
214
  handle;
155
- constructor(host, handle) {
215
+ initialSummary;
216
+ #terminalIds = null;
217
+ /** Breakdown of the most recent {@link replaceLoadPowers} call. */
218
+ lastTiming = null;
219
+ constructor(host, handle,
220
+ /** Summary of the operating point solved when the session was created. */
221
+ initialSummary) {
156
222
  this.host = host;
157
223
  this.handle = handle;
224
+ this.initialSummary = initialSummary;
225
+ }
226
+ async summary() {
227
+ return JSON.parse(expectText(await this.host.call({ op: "mc_pf_session_summary", session: this.handle })));
158
228
  }
229
+ /** The complete terminal and equipment result. Its size grows with the
230
+ * network, so interactive views use {@link detail} instead. */
159
231
  async result() {
160
232
  return JSON.parse(expectText(await this.host.call({
161
233
  op: "mc_pf_session_result",
@@ -168,11 +240,69 @@ export class BrowserMcPfSession {
168
240
  session: this.handle,
169
241
  })));
170
242
  }
243
+ /** Replace the absolute edit set and re-solve warm. Returns the summary
244
+ * and records its latency breakdown in {@link lastTiming}. */
171
245
  async replaceLoadPowers(edits) {
172
- return JSON.parse(expectText(await this.host.call({
246
+ const started = performance.now();
247
+ const answer = await callTimed(this.host, {
173
248
  op: "mc_pf_session_replace_load_powers",
174
249
  session: this.handle,
175
250
  edits: JSON.stringify(edits),
251
+ });
252
+ const received = performance.now();
253
+ const text = expectText(answer.value);
254
+ const summary = JSON.parse(text);
255
+ this.lastTiming = {
256
+ engine_ms: answer.engineMs,
257
+ round_trip_ms: received - started,
258
+ parse_ms: performance.now() - received,
259
+ payload_chars: text.length,
260
+ };
261
+ return summary;
262
+ }
263
+ /** One bus's terminals and a page of equipment ports. */
264
+ async detail(query) {
265
+ return JSON.parse(expectText(await this.host.call({
266
+ op: "mc_pf_session_detail",
267
+ session: this.handle,
268
+ query: JSON.stringify(query),
269
+ })));
270
+ }
271
+ /** `[bus, terminal]` identities in the order of the terminal arrays. They
272
+ * are fixed for the session, so they are fetched once. */
273
+ terminalIds() {
274
+ this.#terminalIds ??= this.host
275
+ .call({ op: "mc_pf_session_terminal_ids", session: this.handle })
276
+ .then((value) => JSON.parse(expectText(value)));
277
+ return this.#terminalIds;
278
+ }
279
+ /** Terminal voltages as interleaved `[re, im]` volts. */
280
+ async terminalVoltages() {
281
+ return expectFloat64(await this.host.call({
282
+ op: "mc_pf_session_terminal_voltages",
283
+ session: this.handle,
284
+ }));
285
+ }
286
+ /** Currents injected into the network as interleaved `[re, im]` amperes. */
287
+ async terminalCurrents() {
288
+ return expectFloat64(await this.host.call({
289
+ op: "mc_pf_session_terminal_currents",
290
+ session: this.handle,
291
+ }));
292
+ }
293
+ /** Engine phase timings of the latest solve, or of the cold start. */
294
+ async profile(cold = false) {
295
+ return JSON.parse(expectText(await this.host.call({
296
+ op: "mc_pf_session_profile",
297
+ session: this.handle,
298
+ cold,
299
+ })));
300
+ }
301
+ /** Edited networks built for portable output; ordinary edits build none. */
302
+ async materializationCount() {
303
+ return Number(expectText(await this.host.call({
304
+ op: "mc_pf_session_materialization_count",
305
+ session: this.handle,
176
306
  })));
177
307
  }
178
308
  async inputModule() {
@@ -202,19 +332,27 @@ export async function createMcPfSession(moduleJson, options = {}, signal) {
202
332
  signal?.throwIfAborted();
203
333
  const host = engineHost();
204
334
  const handle = ++mcPfSessionSeq;
205
- await host.call({
335
+ const summary = JSON.parse(expectText(await host.call({
206
336
  op: "mc_pf_session_new",
207
337
  session: handle,
208
338
  module_json: moduleJson,
209
339
  options: JSON.stringify(options),
210
- });
211
- const session = new BrowserMcPfSession(host, handle);
340
+ })));
341
+ const session = new BrowserMcPfSession(host, handle, summary);
212
342
  if (signal?.aborted) {
213
343
  session.free();
214
344
  signal.throwIfAborted();
215
345
  }
216
346
  return session;
217
347
  }
348
+ /** Live and peak heap of the shared engine, with its linear memory size. */
349
+ export async function engineMemoryStats() {
350
+ return JSON.parse(expectText(await engineHost().call({ op: "memory_stats" })));
351
+ }
352
+ /** Start a new peak-heap window in the shared engine. */
353
+ export async function resetEngineMemoryPeak() {
354
+ await engineHost().call({ op: "reset_peak_memory" });
355
+ }
218
356
  /** Parse and solve a raw BMOPF multiconductor case in the wasm module. */
219
357
  export async function solveMcBmopf(text, options = {}) {
220
358
  assertEngineInputLength(text.length);
@@ -678,6 +816,285 @@ async function createStudyOnHost(moduleJson, formulation, host, signal) {
678
816
  }
679
817
  return new BrowserStudy(host, handle, formulation);
680
818
  }
819
+ /** A refusal from the generator, with the code a caller switches on:
820
+ * `invalid_request`, `region`, `places`, `osm`, `osm_insufficient` (an
821
+ * Overpass document too thin to build from, with its bus and branch counts),
822
+ * `build`, `engine`, `state`, `cancelled`. */
823
+ export class SynthEngineError extends Error {
824
+ code;
825
+ buses;
826
+ branches;
827
+ constructor(payload) {
828
+ super(payload.message);
829
+ this.name = "SynthEngineError";
830
+ this.code = payload.code;
831
+ if (payload.buses != null)
832
+ this.buses = payload.buses;
833
+ if (payload.branches != null)
834
+ this.branches = payload.branches;
835
+ }
836
+ }
837
+ /** The engine reports generator refusals as their JSON payload. */
838
+ function synthError(error) {
839
+ const message = error instanceof Error ? error.message : String(error);
840
+ try {
841
+ const payload = JSON.parse(message);
842
+ if (typeof payload?.code === "string" && typeof payload.message === "string") {
843
+ return new SynthEngineError(payload);
844
+ }
845
+ }
846
+ catch {
847
+ // Not a generator payload: a host or transport failure.
848
+ }
849
+ return error;
850
+ }
851
+ async function callSynth(host, req) {
852
+ try {
853
+ return await host.call(req);
854
+ }
855
+ catch (error) {
856
+ throw synthError(error);
857
+ }
858
+ }
859
+ /** URL of the places table shipped beside this module (Natural Earth
860
+ * populated places, public domain). Resolved on use, like the wasm asset. */
861
+ export function syntheticPlacesUrl() {
862
+ return new URL("./data/populated_places.json", import.meta.url).href;
863
+ }
864
+ let placesBytes = null;
865
+ /** Fetch the shipped places table, once per page. */
866
+ export function fetchSyntheticPlaces() {
867
+ placesBytes ??= fetch(syntheticPlacesUrl())
868
+ .then(async (response) => {
869
+ if (!response.ok)
870
+ throw new Error(`places table: HTTP ${response.status}`);
871
+ return new Uint8Array(await response.arrayBuffer());
872
+ })
873
+ .catch((error) => {
874
+ // A failed fetch must not disable generation for the whole session.
875
+ placesBytes = null;
876
+ throw error;
877
+ });
878
+ return placesBytes;
879
+ }
880
+ /** Hosts holding a places table, with the thread kind they loaded it on (a
881
+ * worker that fell back to the page needs it loaded again there). */
882
+ const placesLoaded = new WeakMap();
883
+ async function loadPlacesOn(host, bytes) {
884
+ assertEngineInputBytes(bytes);
885
+ const info = JSON.parse(expectText(await callSynth(host, { op: "synth_load_places", bytes })));
886
+ placesLoaded.set(host, host.kind);
887
+ return info;
888
+ }
889
+ /** Load a places table onto the synthetic generation host. Sessions load the
890
+ * shipped table on their own; call this to warm the host up or to use
891
+ * another table of `{n, lo, la, p, c}` rows. */
892
+ export async function loadSyntheticPlaces(bytes) {
893
+ return loadPlacesOn(synthEngineHost(), bytes);
894
+ }
895
+ /** The Overpass QL queries for a request's region, one per bounding box (two
896
+ * when it crosses the antimeridian). The caller fetches them and passes the
897
+ * documents as the `osm` option. */
898
+ export async function syntheticOverpassQueries(request) {
899
+ const text = JSON.stringify(request);
900
+ assertEngineInputLength(text.length);
901
+ return JSON.parse(expectText(await callSynth(synthEngineHost(), { op: "synth_overpass_queries", request: text })));
902
+ }
903
+ function expectSynthPreview(value) {
904
+ if (value === null || typeof value !== "object" || value instanceof Float64Array || value.kind !== "synth_preview") {
905
+ throw new Error("engine returned no synthetic preview");
906
+ }
907
+ return {
908
+ busPositions: value.busPositions,
909
+ busKinds: value.busKinds,
910
+ busKv: value.busKv,
911
+ branchPositions: value.branchPositions,
912
+ branchStartIndices: value.branchStartIndices,
913
+ branchKv: value.branchKv,
914
+ };
915
+ }
916
+ /** A staged synthetic grid generation on the dedicated synthetic host. Each
917
+ * `advance()` runs one bounded stage (`context`, `site_buses`, `topology`,
918
+ * `electrify`, `dc_opf`, `calibrate` once per iteration, `ac_pf`, `finalize`),
919
+ * so a caller can show progress and a map preview between stages. */
920
+ export class BrowserSynthSession {
921
+ host;
922
+ handle;
923
+ #done = false;
924
+ #freed = false;
925
+ #stopped = null;
926
+ constructor(host, handle) {
927
+ this.host = host;
928
+ this.handle = handle;
929
+ }
930
+ /** Where the session runs: `"direct"` means the page's own thread, which
931
+ * can pause while a stage runs. */
932
+ get hostKind() {
933
+ return this.host.kind;
934
+ }
935
+ /** True once `finalize` has run. */
936
+ get done() {
937
+ return this.#done;
938
+ }
939
+ #check() {
940
+ if (this.#stopped !== null)
941
+ throw this.#stopped;
942
+ if (this.#freed)
943
+ throw new Error("synthetic generation session is freed");
944
+ }
945
+ /** Run one stage. With `withPreview`, a stage that changed the preview
946
+ * also returns it. */
947
+ async advance(options = {}) {
948
+ this.#check();
949
+ const outcome = JSON.parse(expectText(await callSynth(this.host, { op: "synth_session_advance", session: this.handle })));
950
+ this.#done = outcome.done;
951
+ if (options.withPreview && outcome.preview_changed) {
952
+ return { ...outcome, preview: await this.preview() };
953
+ }
954
+ return outcome;
955
+ }
956
+ /** Advance to the end, calling `onStep` after each stage (with the preview
957
+ * when it changed). An abort cancels the session; the promise rejects with
958
+ * the abort reason. */
959
+ async run(onStep, signal) {
960
+ signal?.throwIfAborted();
961
+ const abort = () => this.cancel(signal?.reason);
962
+ signal?.addEventListener("abort", abort, { once: true });
963
+ try {
964
+ while (!this.#done) {
965
+ const { preview, ...outcome } = await this.advance({ withPreview: onStep !== undefined });
966
+ signal?.throwIfAborted();
967
+ onStep?.(outcome, preview);
968
+ }
969
+ return await this.report();
970
+ }
971
+ catch (error) {
972
+ signal?.throwIfAborted();
973
+ throw error;
974
+ }
975
+ finally {
976
+ signal?.removeEventListener("abort", abort);
977
+ }
978
+ }
979
+ async preview() {
980
+ this.#check();
981
+ return expectSynthPreview(await callSynth(this.host, { op: "synth_session_preview", session: this.handle }));
982
+ }
983
+ /** The generation report, partial until the session is done. */
984
+ async report() {
985
+ this.#check();
986
+ return JSON.parse(expectText(await callSynth(this.host, { op: "synth_session_report", session: this.handle })));
987
+ }
988
+ /** The module as generation 2 PowerIO IR text, with bus locations and
989
+ * branch routes. Available from `electrify` on; does not free the session. */
990
+ async takeModule() {
991
+ this.#check();
992
+ return expectText(await callSynth(this.host, { op: "synth_session_module", session: this.handle }));
993
+ }
994
+ /** The module's drop-panel payload, the same {@link IngestedCase} a
995
+ * dropped `.pio.json` produces, so it opens without a second parse. */
996
+ async ingest() {
997
+ this.#check();
998
+ return JSON.parse(expectText(await callSynth(this.host, { op: "synth_session_ingest", session: this.handle })));
999
+ }
1000
+ /** The network as GridFM graphkit JSON: per-unit bus, branch and
1001
+ * generator feature matrices on a 0-based bus index, with the edge index
1002
+ * in both directions. Available from `electrify` on. */
1003
+ async exportGridfm() {
1004
+ this.#check();
1005
+ return expectText(await callSynth(this.host, { op: "synth_session_export_gridfm", session: this.handle }));
1006
+ }
1007
+ /** Stop the generation. On a worker host this terminates the synthetic
1008
+ * generation worker: interactive studies live on another worker and are
1009
+ * untouched, and the next session starts a fresh one. On the page's own
1010
+ * thread it takes effect before the next stage. Later calls reject with
1011
+ * `reason`. */
1012
+ cancel(reason = new DOMException("synthetic generation cancelled", "AbortError")) {
1013
+ if (this.#stopped !== null || this.#freed)
1014
+ return;
1015
+ this.#stopped = reason;
1016
+ const error = reason instanceof Error ? reason : new Error(String(reason));
1017
+ if (this.host.cancel?.(error)) {
1018
+ this.#freed = true; // the worker and its sessions are gone
1019
+ }
1020
+ else {
1021
+ this.free();
1022
+ }
1023
+ }
1024
+ /** Release the session's engine state. */
1025
+ free() {
1026
+ if (this.#freed)
1027
+ return;
1028
+ this.#freed = true;
1029
+ void this.host
1030
+ .call({ op: "synth_session_free", session: this.handle })
1031
+ .catch(() => { });
1032
+ }
1033
+ }
1034
+ let synthSessionSeq = 0;
1035
+ function osmText(osm) {
1036
+ if (osm === undefined)
1037
+ return null;
1038
+ const text = typeof osm === "string" ? osm : JSON.stringify(osm);
1039
+ assertEngineInputLength(text.length);
1040
+ return text;
1041
+ }
1042
+ /** Open a staged generation on the synthetic host, loading the places table
1043
+ * there first when the host has none. */
1044
+ export async function createSynthSession(request, options = {}) {
1045
+ const { signal } = options;
1046
+ signal?.throwIfAborted();
1047
+ const requestText = JSON.stringify(request);
1048
+ assertEngineInputLength(requestText.length);
1049
+ const osm = osmText(options.osm);
1050
+ const host = synthEngineHost();
1051
+ if (options.places)
1052
+ await loadPlacesOn(host, options.places);
1053
+ else if (placesLoaded.get(host) !== host.kind)
1054
+ await loadPlacesOn(host, await fetchSyntheticPlaces());
1055
+ signal?.throwIfAborted();
1056
+ // Handles are allocated here, so a pending request replayed onto the
1057
+ // fallback host keeps naming the same session.
1058
+ const handle = ++synthSessionSeq;
1059
+ await callSynth(host, { op: "synth_session_new", session: handle, request: requestText, osm });
1060
+ const session = new BrowserSynthSession(host, handle);
1061
+ if (signal?.aborted) {
1062
+ session.free();
1063
+ signal.throwIfAborted();
1064
+ }
1065
+ return session;
1066
+ }
1067
+ /** Run every stage in one engine request and return the module, the report
1068
+ * and the drop-panel payload. An abort cancels the run. */
1069
+ export async function generateSynthetic(request, options = {}) {
1070
+ const { signal } = options;
1071
+ signal?.throwIfAborted();
1072
+ const requestText = JSON.stringify(request);
1073
+ assertEngineInputLength(requestText.length);
1074
+ const osm = osmText(options.osm);
1075
+ const host = synthEngineHost();
1076
+ if (options.places)
1077
+ await loadPlacesOn(host, options.places);
1078
+ else if (placesLoaded.get(host) !== host.kind)
1079
+ await loadPlacesOn(host, await fetchSyntheticPlaces());
1080
+ signal?.throwIfAborted();
1081
+ const cancel = () => {
1082
+ host.cancel?.(new DOMException("synthetic generation cancelled", "AbortError"));
1083
+ };
1084
+ signal?.addEventListener("abort", cancel, { once: true });
1085
+ try {
1086
+ const out = JSON.parse(expectText(await callSynth(host, { op: "synth_generate", request: requestText, osm })));
1087
+ signal?.throwIfAborted();
1088
+ return { moduleJson: out.module_json, report: out.report, ingest: out.ingest };
1089
+ }
1090
+ catch (error) {
1091
+ signal?.throwIfAborted();
1092
+ throw error;
1093
+ }
1094
+ finally {
1095
+ signal?.removeEventListener("abort", cancel);
1096
+ }
1097
+ }
681
1098
  export const browserWasmTransport = {
682
1099
  preloadEngine,
683
1100
  classifyJson,
@@ -701,6 +1118,10 @@ export const browserWasmTransport = {
701
1118
  replayMcStudy,
702
1119
  applyMcStudyGeo,
703
1120
  createStudy,
1121
+ loadSyntheticPlaces,
1122
+ syntheticOverpassQueries,
1123
+ createSynthSession,
1124
+ generateSynthetic,
704
1125
  };
705
1126
  export function createBrowserWasmTransport() {
706
1127
  return browserWasmTransport;
@@ -708,4 +1129,5 @@ export function createBrowserWasmTransport() {
708
1129
  export { BrowserStudy as Study };
709
1130
  export { IndexedDbStudyStore, StudyDocumentController, studyBackend, } from "./study-document.js";
710
1131
  export { studySchema } from "./generated/study-schema.js";
1132
+ export { synthSchema } from "./generated/synth-schema.js";
711
1133
  //# sourceMappingURL=index.js.map
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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"}
package/dist/module.d.ts CHANGED
@@ -5,6 +5,7 @@
5
5
  export type WasmModule = typeof import("./wasm-pkg/tellegen.js");
6
6
  export type WasmStudy = InstanceType<WasmModule["Study"]>;
7
7
  export type WasmMcPfSession = InstanceType<WasmModule["McPfSession"]>;
8
+ export type WasmSynthSession = InstanceType<WasmModule["SynthSession"]>;
8
9
  /** The one wasm module (Study, all formulations, sensitivities). Resolve the
9
10
  * wasm asset only when the engine is used: SvelteKit's dev mode SSR pass can
10
11
  * evaluate this module without touching the wasm loader. */
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;;gFAGgF;AAIhF,MAAM,MAAM,UAAU,GAAG,cAAc,wBAAwB,CAAC,CAAC;AACjE,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1D,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;AAKtE;;4DAE4D;AAC5D,wBAAgB,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,CAiBlD"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;;gFAGgF;AAIhF,MAAM,MAAM,UAAU,GAAG,cAAc,wBAAwB,CAAC,CAAC;AACjE,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1D,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;AACtE,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;AAKxE;;4DAE4D;AAC5D,wBAAgB,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,CAiBlD"}