@aeptus/aexeo-emdash 0.8.8 → 0.8.9

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/CHANGELOG.md CHANGED
@@ -6,6 +6,47 @@ and the project follows [Semantic Versioning](https://semver.org/).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.8.9] - 2026-05-04
10
+
11
+ ### Fixed
12
+
13
+ - **`wasm_error: unreachable` on refresh in Astro dev.** v0.8.8
14
+ fixed the Astro/Vite startup regression but a second issue
15
+ remained: refresh evaluation traps with bare
16
+ `wasm_error: unreachable` in Node-loaded WASM. Root cause is
17
+ `std::time::Instant::now()` panicking on
18
+ `wasm32-unknown-unknown` ("time not implemented on this
19
+ platform"). Cloudflare Workers' workerd runtime appears to
20
+ provide a clock shim that masks the panic in production; Node's
21
+ experimental WASM ESM runner does not.
22
+
23
+ Fixed by adding `aexeo_core::time_shim::Instant` — a transparent
24
+ re-export of `std::time::Instant` on non-wasm targets, and a
25
+ no-op `Duration::ZERO` returner on `wasm32-unknown-unknown`.
26
+ Eval-path callers (`static_check.rs` + the intelligence
27
+ modules) swap their import; CLI and native tests still report
28
+ real timings on real OSes. The `RuleTiming` `elapsed_us` value
29
+ in `SiteCheckProfile` is `0` when the bridge runs in the
30
+ plugin, but no host consumes that field from the bridge today.
31
+
32
+ ### Added
33
+
34
+ - **`console_error_panic_hook` in the bridge.** Future Rust
35
+ panics inside the bridge surface as console errors with
36
+ `file:line` + message instead of bare `unreachable` traps.
37
+ Installed lazily at every `#[wasm_bindgen]` entry point;
38
+ `set_once` is idempotent so repeated calls are cheap. Without
39
+ this, the v0.8.7→v0.8.8 `Instant::now()` panic was effectively
40
+ undebuggable from the host side — every future bridge bug now
41
+ carries its own diagnostic.
42
+
43
+ ### Notes for hosts upgrading from 0.8.8
44
+
45
+ - No code changes required. Bump the package; refresh should
46
+ stop trapping in `pnpm dev` / `astro dev`.
47
+ - Production behavior unchanged — the shim is only active on
48
+ the wasm32 build path.
49
+
9
50
  ## [0.8.8] - 2026-05-04
10
51
 
11
52
  ### Fixed
@@ -867,7 +908,8 @@ First public release.
867
908
  `astro.config.mjs` for the WASM import to resolve to a
868
909
  precompiled `WebAssembly.Module`. Not optional.
869
910
 
870
- [Unreleased]: https://github.com/schiste/Aexeo/compare/aexeo-emdash-v0.8.8...HEAD
911
+ [Unreleased]: https://github.com/schiste/Aexeo/compare/aexeo-emdash-v0.8.9...HEAD
912
+ [0.8.9]: https://github.com/schiste/Aexeo/compare/aexeo-emdash-v0.8.8...aexeo-emdash-v0.8.9
871
913
  [0.8.8]: https://github.com/schiste/Aexeo/compare/aexeo-emdash-v0.8.7...aexeo-emdash-v0.8.8
872
914
  [0.8.7]: https://github.com/schiste/Aexeo/compare/aexeo-emdash-v0.8.6...aexeo-emdash-v0.8.7
873
915
  [0.8.6]: https://github.com/schiste/Aexeo/compare/aexeo-emdash-v0.8.5...aexeo-emdash-v0.8.6
@@ -233,7 +233,10 @@ async function readFindings(kv, route) {
233
233
  var aexeo_emdash_bridge_bg_exports = {};
234
234
  __export(aexeo_emdash_bridge_bg_exports, {
235
235
  __wbg_Error_960c155d3d49e4c2: () => __wbg_Error_960c155d3d49e4c2,
236
+ __wbg_error_a6fa202b58aa1cd3: () => __wbg_error_a6fa202b58aa1cd3,
237
+ __wbg_new_227d7c05414eb861: () => __wbg_new_227d7c05414eb861,
236
238
  __wbg_set_wasm: () => __wbg_set_wasm,
239
+ __wbg_stack_3b0d974bbf31e44f: () => __wbg_stack_3b0d974bbf31e44f,
237
240
  __wbindgen_init_externref_table: () => __wbindgen_init_externref_table,
238
241
  evaluateDocuments: () => evaluateDocuments,
239
242
  generateFactsPrompt: () => generateFactsPrompt,
@@ -334,6 +337,28 @@ function __wbg_Error_960c155d3d49e4c2(arg0, arg1) {
334
337
  const ret = Error(getStringFromWasm0(arg0, arg1));
335
338
  return ret;
336
339
  }
340
+ function __wbg_error_a6fa202b58aa1cd3(arg0, arg1) {
341
+ let deferred0_0;
342
+ let deferred0_1;
343
+ try {
344
+ deferred0_0 = arg0;
345
+ deferred0_1 = arg1;
346
+ console.error(getStringFromWasm0(arg0, arg1));
347
+ } finally {
348
+ wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
349
+ }
350
+ }
351
+ function __wbg_new_227d7c05414eb861() {
352
+ const ret = new Error();
353
+ return ret;
354
+ }
355
+ function __wbg_stack_3b0d974bbf31e44f(arg0, arg1) {
356
+ const ret = arg1.stack;
357
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
358
+ const len1 = WASM_VECTOR_LEN;
359
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
360
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
361
+ }
337
362
  function __wbindgen_init_externref_table() {
338
363
  const table = wasm.__wbindgen_externrefs;
339
364
  const offset = table.grow(4);
@@ -343,6 +368,13 @@ function __wbindgen_init_externref_table() {
343
368
  table.set(offset + 2, true);
344
369
  table.set(offset + 3, false);
345
370
  }
371
+ var cachedDataViewMemory0 = null;
372
+ function getDataViewMemory0() {
373
+ if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || cachedDataViewMemory0.buffer.detached === void 0 && cachedDataViewMemory0.buffer !== wasm.memory.buffer) {
374
+ cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
375
+ }
376
+ return cachedDataViewMemory0;
377
+ }
346
378
  function getStringFromWasm0(ptr, len) {
347
379
  ptr = ptr >>> 0;
348
380
  return decodeText(ptr, len);
@@ -1183,7 +1215,7 @@ function globToMatcher(pattern) {
1183
1215
  }
1184
1216
 
1185
1217
  // src/version.ts
1186
- var PACKAGE_VERSION = "0.8.8";
1218
+ var PACKAGE_VERSION = "0.8.9";
1187
1219
 
1188
1220
  // src/configured.ts
1189
1221
  import { definePlugin } from "emdash";
package/dist/index.js CHANGED
@@ -23,7 +23,7 @@ function buildAllowedHosts(evaluatorHost) {
23
23
  }
24
24
 
25
25
  // src/version.ts
26
- var PACKAGE_VERSION = "0.8.8";
26
+ var PACKAGE_VERSION = "0.8.9";
27
27
 
28
28
  // src/sandbox.ts
29
29
  function aexeoPluginSandboxed(options = {}) {
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const PACKAGE_VERSION = "0.8.8";
1
+ export declare const PACKAGE_VERSION = "0.8.9";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aeptus/aexeo-emdash",
3
- "version": "0.8.8",
3
+ "version": "0.8.9",
4
4
  "description": "Aexeo SEO/GEO content evaluator as an emdash plugin",
5
5
  "license": "MIT",
6
6
  "author": "Aeptus",
@@ -117,6 +117,28 @@ export function __wbg_Error_960c155d3d49e4c2(arg0, arg1) {
117
117
  const ret = Error(getStringFromWasm0(arg0, arg1));
118
118
  return ret;
119
119
  }
120
+ export function __wbg_error_a6fa202b58aa1cd3(arg0, arg1) {
121
+ let deferred0_0;
122
+ let deferred0_1;
123
+ try {
124
+ deferred0_0 = arg0;
125
+ deferred0_1 = arg1;
126
+ console.error(getStringFromWasm0(arg0, arg1));
127
+ } finally {
128
+ wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
129
+ }
130
+ }
131
+ export function __wbg_new_227d7c05414eb861() {
132
+ const ret = new Error();
133
+ return ret;
134
+ }
135
+ export function __wbg_stack_3b0d974bbf31e44f(arg0, arg1) {
136
+ const ret = arg1.stack;
137
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
138
+ const len1 = WASM_VECTOR_LEN;
139
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
140
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
141
+ }
120
142
  export function __wbindgen_init_externref_table() {
121
143
  const table = wasm.__wbindgen_externrefs;
122
144
  const offset = table.grow(4);
@@ -126,6 +148,14 @@ export function __wbindgen_init_externref_table() {
126
148
  table.set(offset + 2, true);
127
149
  table.set(offset + 3, false);
128
150
  }
151
+ let cachedDataViewMemory0 = null;
152
+ function getDataViewMemory0() {
153
+ if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
154
+ cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
155
+ }
156
+ return cachedDataViewMemory0;
157
+ }
158
+
129
159
  function getStringFromWasm0(ptr, len) {
130
160
  ptr = ptr >>> 0;
131
161
  return decodeText(ptr, len);
Binary file
@@ -5,9 +5,9 @@ export const evaluateDocuments: (a: number, b: number, c: number, d: number) =>
5
5
  export const generateFactsPrompt: (a: number, b: number) => [number, number, number, number];
6
6
  export const scoreIntelligence: (a: number, b: number, c: number, d: number) => [number, number, number, number];
7
7
  export const validateFactsManifest: (a: number, b: number, c: number, d: number) => [number, number, number, number];
8
- export const __wbindgen_externrefs: WebAssembly.Table;
8
+ export const __wbindgen_free: (a: number, b: number, c: number) => void;
9
9
  export const __wbindgen_malloc: (a: number, b: number) => number;
10
10
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
11
+ export const __wbindgen_externrefs: WebAssembly.Table;
11
12
  export const __externref_table_dealloc: (a: number) => void;
12
- export const __wbindgen_free: (a: number, b: number, c: number) => void;
13
13
  export const __wbindgen_start: () => void;