atmx-web 0.123.0 → 0.125.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/dist/atmx.es.js CHANGED
@@ -114,28 +114,42 @@ function c(e) {
114
114
  }
115
115
  //#endregion
116
116
  //#region src/core/vendor/axiom_runtime.js?raw
117
- var l = "let wasm_bindgen = (function(exports) {\n let script_src;\n if (typeof document !== 'undefined' && document.currentScript !== null) {\n script_src = new URL(document.currentScript.src, location.href).toString();\n }\n function __wbg_get_imports() {\n const import0 = {\n __proto__: null,\n __wbg___wbindgen_boolean_get_6ea149f0a8dcc5ff: function(arg0) {\n const v = getObject(arg0);\n const ret = typeof(v) === 'boolean' ? v : undefined;\n return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;\n },\n __wbg___wbindgen_debug_string_ab4b34d23d6778bd: function(arg0, arg1) {\n const ret = debugString(getObject(arg1));\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_is_function_3baa9db1a987f47d: function(arg0) {\n const ret = typeof(getObject(arg0)) === 'function';\n return ret;\n },\n __wbg___wbindgen_is_object_63322ec0cd6ea4ef: function(arg0) {\n const val = getObject(arg0);\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n },\n __wbg___wbindgen_is_string_6df3bf7ef1164ed3: function(arg0) {\n const ret = typeof(getObject(arg0)) === 'string';\n return ret;\n },\n __wbg___wbindgen_is_undefined_29a43b4d42920abd: function(arg0) {\n const ret = getObject(arg0) === undefined;\n return ret;\n },\n __wbg___wbindgen_string_get_7ed5322991caaec5: function(arg0, arg1) {\n const obj = getObject(arg1);\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_throw_6b64449b9b9ed33c: function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n },\n __wbg__wbg_cb_unref_b46c9b5a9f08ec37: function(arg0) {\n getObject(arg0)._wbg_cb_unref();\n },\n __wbg_abort_4ce5b484434ef6fd: function(arg0) {\n getObject(arg0).abort();\n },\n __wbg_append_e8fc56ce7c00e874: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {\n getObject(arg0).append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));\n }, arguments); },\n __wbg_arrayBuffer_848c392b70c67d3d: function() { return handleError(function (arg0) {\n const ret = getObject(arg0).arrayBuffer();\n return addHeapObject(ret);\n }, arguments); },\n __wbg_axiom_web_callback_da6bff810821623d: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {\n axiom_web_callback(arg0, arg1, arg2, arg3 >>> 0, arg4 >>> 0, arg5 >>> 0, arg6 >>> 0);\n },\n __wbg_body_0c3a51aec038a31a: function(arg0) {\n const ret = getObject(arg0).body;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_buffer_d0f5ea0926a691fd: function(arg0) {\n const ret = getObject(arg0).buffer;\n return addHeapObject(ret);\n },\n __wbg_call_14b169f759b26747: function() { return handleError(function (arg0, arg1) {\n const ret = getObject(arg0).call(getObject(arg1));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_call_a24592a6f349a97e: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_clearInterval_16e8cbbce92291d0: function(arg0) {\n const ret = clearInterval(takeObject(arg0));\n return addHeapObject(ret);\n },\n __wbg_clearTimeout_113b1cde814ec762: function(arg0) {\n const ret = clearTimeout(takeObject(arg0));\n return addHeapObject(ret);\n },\n __wbg_crypto_38df2bab126b63dc: function(arg0) {\n const ret = getObject(arg0).crypto;\n return addHeapObject(ret);\n },\n __wbg_data_bb9dffdd1e99cf2d: function(arg0) {\n const ret = getObject(arg0).data;\n return addHeapObject(ret);\n },\n __wbg_done_9158f7cc8751ba32: function(arg0) {\n const ret = getObject(arg0).done;\n return ret;\n },\n __wbg_error_2001591ad2463697: function(arg0) {\n console.error(getObject(arg0));\n },\n __wbg_fetch_0d322c0aed196b8b: function(arg0, arg1) {\n const ret = getObject(arg0).fetch(getObject(arg1));\n return addHeapObject(ret);\n },\n __wbg_fetch_9ea633a8592ee39a: function(arg0, arg1) {\n const ret = getObject(arg0).fetch(getObject(arg1));\n return addHeapObject(ret);\n },\n __wbg_fetch_fda7bc27c982b1f3: function(arg0) {\n const ret = fetch(getObject(arg0));\n return addHeapObject(ret);\n },\n __wbg_getItem_7fe1351b9ea3b2f3: function() { return handleError(function (arg0, arg1, arg2, arg3) {\n const ret = getObject(arg1).getItem(getStringFromWasm0(arg2, arg3));\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n }, arguments); },\n __wbg_getRandomValues_c44a50d8cfdaebeb: function() { return handleError(function (arg0, arg1) {\n getObject(arg0).getRandomValues(getObject(arg1));\n }, arguments); },\n __wbg_getReader_9094ac3b37a7d171: function(arg0) {\n const ret = getObject(arg0).getReader();\n return addHeapObject(ret);\n },\n __wbg_get_1affdbdd5573b16a: function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(getObject(arg0), getObject(arg1));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_get_6011fa3a58f61074: function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(getObject(arg0), getObject(arg1));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_has_880f1d472f7cecba: function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.has(getObject(arg0), getObject(arg1));\n return ret;\n }, arguments); },\n __wbg_headers_6022deb4e576fb8e: function(arg0) {\n const ret = getObject(arg0).headers;\n return addHeapObject(ret);\n },\n __wbg_instanceof_ArrayBuffer_7c8433c6ed14ffe3: function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof ArrayBuffer;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_ReadableStreamDefaultReader_02bfe747638fa274: function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof ReadableStreamDefaultReader;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Response_9b2d111407865ff2: function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof Response;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Window_cc64c86c8ef9e02b: function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof Window;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_iterator_013bc09ec998c2a7: function() {\n const ret = Symbol.iterator;\n return addHeapObject(ret);\n },\n __wbg_length_9f1775224cf1d815: function(arg0) {\n const ret = getObject(arg0).length;\n return ret;\n },\n __wbg_localStorage_f5f66b1ffd2486bc: function() { return handleError(function (arg0) {\n const ret = getObject(arg0).localStorage;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n }, arguments); },\n __wbg_log_0c201ade58bb55e1: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7));\n } finally {\n wasm.__wbindgen_export4(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_log_7e1aa9064a1dbdbd: function(arg0) {\n console.log(getObject(arg0));\n },\n __wbg_log_ce2c4456b290c5e7: function(arg0, arg1) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n console.log(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_export4(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_mark_b4d943f3bc2d2404: function(arg0, arg1) {\n performance.mark(getStringFromWasm0(arg0, arg1));\n },\n __wbg_measure_84362959e621a2c1: function() { return handleError(function (arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n let deferred1_0;\n let deferred1_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n deferred1_0 = arg2;\n deferred1_1 = arg3;\n performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n } finally {\n wasm.__wbindgen_export4(deferred0_0, deferred0_1, 1);\n wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1);\n }\n }, arguments); },\n __wbg_msCrypto_bd5a034af96bcba6: function(arg0) {\n const ret = getObject(arg0).msCrypto;\n return addHeapObject(ret);\n },\n __wbg_new_0c7403db6e782f19: function(arg0) {\n const ret = new Uint8Array(getObject(arg0));\n return addHeapObject(ret);\n },\n __wbg_new_15a4889b4b90734d: function() { return handleError(function () {\n const ret = new Headers();\n return addHeapObject(ret);\n }, arguments); },\n __wbg_new_2a6e9133304ae2bf: function() { return handleError(function (arg0, arg1) {\n const ret = new WebSocket(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_new_98c22165a42231aa: function() { return handleError(function () {\n const ret = new AbortController();\n return addHeapObject(ret);\n }, arguments); },\n __wbg_new_aa8d0fa9762c29bd: function() {\n const ret = new Object();\n return addHeapObject(ret);\n },\n __wbg_new_from_slice_b5ea43e23f6008c0: function(arg0, arg1) {\n const ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1));\n return addHeapObject(ret);\n },\n __wbg_new_with_length_8c854e41ea4dae9b: function(arg0) {\n const ret = new Uint8Array(arg0 >>> 0);\n return addHeapObject(ret);\n },\n __wbg_new_with_str_and_init_897be1708e42f39d: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_next_0340c4ae324393c3: function() { return handleError(function (arg0) {\n const ret = getObject(arg0).next();\n return addHeapObject(ret);\n }, arguments); },\n __wbg_next_7646edaa39458ef7: function(arg0) {\n const ret = getObject(arg0).next;\n return addHeapObject(ret);\n },\n __wbg_node_84ea875411254db1: function(arg0) {\n const ret = getObject(arg0).node;\n return addHeapObject(ret);\n },\n __wbg_now_a9b7df1cbee90986: function() {\n const ret = Date.now();\n return ret;\n },\n __wbg_now_cace042f68c814d8: function(arg0) {\n const ret = getObject(arg0).now();\n return ret;\n },\n __wbg_performance_5fc5a6563dcd33de: function(arg0) {\n const ret = getObject(arg0).performance;\n return addHeapObject(ret);\n },\n __wbg_process_44c7a14e11e9f69e: function(arg0) {\n const ret = getObject(arg0).process;\n return addHeapObject(ret);\n },\n __wbg_prototypesetcall_a6b02eb00b0f4ce2: function(arg0, arg1, arg2) {\n Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));\n },\n __wbg_queueMicrotask_5d15a957e6aa920e: function(arg0) {\n queueMicrotask(getObject(arg0));\n },\n __wbg_queueMicrotask_f8819e5ffc402f36: function(arg0) {\n const ret = getObject(arg0).queueMicrotask;\n return addHeapObject(ret);\n },\n __wbg_randomFillSync_6c25eac9869eb53c: function() { return handleError(function (arg0, arg1) {\n getObject(arg0).randomFillSync(takeObject(arg1));\n }, arguments); },\n __wbg_read_ddc2d178d2e57272: function(arg0) {\n const ret = getObject(arg0).read();\n return addHeapObject(ret);\n },\n __wbg_removeItem_487c385a3066a8ed: function() { return handleError(function (arg0, arg1, arg2) {\n getObject(arg0).removeItem(getStringFromWasm0(arg1, arg2));\n }, arguments); },\n __wbg_require_b4edbdcf3e2a1ef0: function() { return handleError(function () {\n const ret = module.require;\n return addHeapObject(ret);\n }, arguments); },\n __wbg_resolve_e6c466bc1052f16c: function(arg0) {\n const ret = Promise.resolve(getObject(arg0));\n return addHeapObject(ret);\n },\n __wbg_send_15358dbe221c6258: function() { return handleError(function (arg0, arg1, arg2) {\n getObject(arg0).send(getStringFromWasm0(arg1, arg2));\n }, arguments); },\n __wbg_send_9ee7ecd8802698d0: function() { return handleError(function (arg0, arg1) {\n getObject(arg0).send(getObject(arg1));\n }, arguments); },\n __wbg_setInterval_84b64f01452a246e: function() { return handleError(function (arg0, arg1) {\n const ret = setInterval(getObject(arg0), arg1);\n return addHeapObject(ret);\n }, arguments); },\n __wbg_setItem_e6399d3faae141dc: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {\n getObject(arg0).setItem(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));\n }, arguments); },\n __wbg_setTimeout_ef24d2fc3ad97385: function() { return handleError(function (arg0, arg1) {\n const ret = setTimeout(getObject(arg0), arg1);\n return addHeapObject(ret);\n }, arguments); },\n __wbg_set_binaryType_770e68648ca5e83d: function(arg0, arg1) {\n getObject(arg0).binaryType = __wbindgen_enum_BinaryType[arg1];\n },\n __wbg_set_body_be11680f34217f75: function(arg0, arg1) {\n getObject(arg0).body = getObject(arg1);\n },\n __wbg_set_credentials_6577be90e0e85eb6: function(arg0, arg1) {\n getObject(arg0).credentials = __wbindgen_enum_RequestCredentials[arg1];\n },\n __wbg_set_headers_50fc01786240a440: function(arg0, arg1) {\n getObject(arg0).headers = getObject(arg1);\n },\n __wbg_set_method_c9f1f985f6b6c427: function(arg0, arg1, arg2) {\n getObject(arg0).method = getStringFromWasm0(arg1, arg2);\n },\n __wbg_set_mode_5e08d503428c06b9: function(arg0, arg1) {\n getObject(arg0).mode = __wbindgen_enum_RequestMode[arg1];\n },\n __wbg_set_onclose_17fa3bbcc4ba3541: function(arg0, arg1) {\n getObject(arg0).onclose = getObject(arg1);\n },\n __wbg_set_onerror_da99c4232662a084: function(arg0, arg1) {\n getObject(arg0).onerror = getObject(arg1);\n },\n __wbg_set_onmessage_c1db358b9c38e3f1: function(arg0, arg1) {\n getObject(arg0).onmessage = getObject(arg1);\n },\n __wbg_set_signal_1d4e73c2305a0e7c: function(arg0, arg1) {\n getObject(arg0).signal = getObject(arg1);\n },\n __wbg_signal_fdc54643b47bf85b: function(arg0) {\n const ret = getObject(arg0).signal;\n return addHeapObject(ret);\n },\n __wbg_static_accessor_GLOBAL_8cfadc87a297ca02: function() {\n const ret = typeof global === 'undefined' ? null : global;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_static_accessor_GLOBAL_THIS_602256ae5c8f42cf: function() {\n const ret = typeof globalThis === 'undefined' ? null : globalThis;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_static_accessor_SELF_e445c1c7484aecc3: function() {\n const ret = typeof self === 'undefined' ? null : self;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_static_accessor_WINDOW_f20e8576ef1e0f17: function() {\n const ret = typeof window === 'undefined' ? null : window;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_status_43e0d2f15b22d69f: function(arg0) {\n const ret = getObject(arg0).status;\n return ret;\n },\n __wbg_stringify_91082ed7a5a5769e: function() { return handleError(function (arg0) {\n const ret = JSON.stringify(getObject(arg0));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_subarray_f8ca46a25b1f5e0d: function(arg0, arg1, arg2) {\n const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n },\n __wbg_then_792e0c862b060889: function(arg0, arg1, arg2) {\n const ret = getObject(arg0).then(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n },\n __wbg_then_8e16ee11f05e4827: function(arg0, arg1) {\n const ret = getObject(arg0).then(getObject(arg1));\n return addHeapObject(ret);\n },\n __wbg_url_2bf741820e6563a0: function(arg0, arg1) {\n const ret = getObject(arg1).url;\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg_value_ee3a06f4579184fa: function(arg0) {\n const ret = getObject(arg0).value;\n return addHeapObject(ret);\n },\n __wbg_versions_276b2795b1c6a219: function(arg0) {\n const ret = getObject(arg0).versions;\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000001: function(arg0, arg1) {\n // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 193, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.\n const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_2379);\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000002: function(arg0, arg1) {\n // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref(\"Event\")], shim_idx: 45, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_500);\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000003: function(arg0, arg1) {\n // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref(\"MessageEvent\")], shim_idx: 45, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_500_2);\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000004: function(arg0, arg1) {\n // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 107, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_2219);\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000005: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref(\"Uint8Array\")`.\n const ret = getArrayU8FromWasm0(arg0, arg1);\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000006: function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return addHeapObject(ret);\n },\n __wbindgen_object_clone_ref: function(arg0) {\n const ret = getObject(arg0);\n return addHeapObject(ret);\n },\n __wbindgen_object_drop_ref: function(arg0) {\n takeObject(arg0);\n },\n };\n return {\n __proto__: null,\n \"./axiom_runtime_bg.js\": import0,\n };\n }\n\n function __wasm_bindgen_func_elem_2219(arg0, arg1) {\n wasm.__wasm_bindgen_func_elem_2219(arg0, arg1);\n }\n\n function __wasm_bindgen_func_elem_500(arg0, arg1, arg2) {\n wasm.__wasm_bindgen_func_elem_500(arg0, arg1, addHeapObject(arg2));\n }\n\n function __wasm_bindgen_func_elem_500_2(arg0, arg1, arg2) {\n wasm.__wasm_bindgen_func_elem_500_2(arg0, arg1, addHeapObject(arg2));\n }\n\n function __wasm_bindgen_func_elem_2379(arg0, arg1, arg2) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.__wasm_bindgen_func_elem_2379(retptr, arg0, arg1, addHeapObject(arg2));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n if (r1) {\n throw takeObject(r0);\n }\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n\n\n const __wbindgen_enum_BinaryType = [\"blob\", \"arraybuffer\"];\n\n\n const __wbindgen_enum_RequestCredentials = [\"omit\", \"same-origin\", \"include\"];\n\n\n const __wbindgen_enum_RequestMode = [\"same-origin\", \"no-cors\", \"cors\", \"navigate\"];\n\n function addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n }\n\n const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(state => wasm.__wbindgen_export5(state.a, state.b));\n\n function debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches && builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n }\n\n function dropObject(idx) {\n if (idx < 1028) return;\n heap[idx] = heap_next;\n heap_next = idx;\n }\n\n function getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n }\n\n let cachedDataViewMemory0 = null;\n function getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n }\n\n function getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return decodeText(ptr, len);\n }\n\n let cachedUint8ArrayMemory0 = null;\n function getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n }\n\n function getObject(idx) { return heap[idx]; }\n\n function handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n wasm.__wbindgen_export3(addHeapObject(e));\n }\n }\n\n let heap = new Array(1024).fill(undefined);\n heap.push(undefined, null, true, false);\n\n let heap_next = heap.length;\n\n function isLikeNone(x) {\n return x === undefined || x === null;\n }\n\n function makeMutClosure(arg0, arg1, f) {\n const state = { a: arg0, b: arg1, cnt: 1 };\n const real = (...args) => {\n\n // First up with a closure we increment the internal reference\n // count. This ensures that the Rust closure environment won't\n // be deallocated while we're invoking it.\n state.cnt++;\n const a = state.a;\n state.a = 0;\n try {\n return f(a, state.b, ...args);\n } finally {\n state.a = a;\n real._wbg_cb_unref();\n }\n };\n real._wbg_cb_unref = () => {\n if (--state.cnt === 0) {\n wasm.__wbindgen_export5(state.a, state.b);\n state.a = 0;\n CLOSURE_DTORS.unregister(state);\n }\n };\n CLOSURE_DTORS.register(real, state, state);\n return real;\n }\n\n function passStringToWasm0(arg, malloc, realloc) {\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = cachedTextEncoder.encodeInto(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n }\n\n function takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n }\n\n let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n cachedTextDecoder.decode();\n function decodeText(ptr, len) {\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n }\n\n const cachedTextEncoder = new TextEncoder();\n\n if (!('encodeInto' in cachedTextEncoder)) {\n cachedTextEncoder.encodeInto = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n };\n }\n\n let WASM_VECTOR_LEN = 0;\n\n let wasmModule, wasm;\n function __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n wasmModule = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n return wasm;\n }\n\n async function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n } catch (e) {\n const validResponse = module.ok && expectedResponseType(module.type);\n\n if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else { throw e; }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n } else {\n return instance;\n }\n }\n\n function expectedResponseType(type) {\n switch (type) {\n case 'basic': case 'cors': case 'default': return true;\n }\n return false;\n }\n }\n\n function initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (module !== undefined) {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n const instance = new WebAssembly.Instance(module, imports);\n return __wbg_finalize_init(instance, module);\n }\n\n async function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (module_or_path !== undefined) {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (module_or_path === undefined && script_src !== undefined) {\n module_or_path = script_src.replace(/\\.js$/, \"_bg.wasm\");\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n }\n\n return Object.assign(__wbg_init, { initSync }, exports);\n})({ __proto__: null });\n", u = null, d = "atmx_auth_store";
117
+ var l = "let wasm_bindgen = (function(exports) {\n let script_src;\n if (typeof document !== 'undefined' && document.currentScript !== null) {\n script_src = new URL(document.currentScript.src, location.href).toString();\n }\n function __wbg_get_imports() {\n const import0 = {\n __proto__: null,\n __wbg___wbindgen_boolean_get_6ea149f0a8dcc5ff: function(arg0) {\n const v = getObject(arg0);\n const ret = typeof(v) === 'boolean' ? v : undefined;\n return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;\n },\n __wbg___wbindgen_debug_string_ab4b34d23d6778bd: function(arg0, arg1) {\n const ret = debugString(getObject(arg1));\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_is_function_3baa9db1a987f47d: function(arg0) {\n const ret = typeof(getObject(arg0)) === 'function';\n return ret;\n },\n __wbg___wbindgen_is_object_63322ec0cd6ea4ef: function(arg0) {\n const val = getObject(arg0);\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n },\n __wbg___wbindgen_is_string_6df3bf7ef1164ed3: function(arg0) {\n const ret = typeof(getObject(arg0)) === 'string';\n return ret;\n },\n __wbg___wbindgen_is_undefined_29a43b4d42920abd: function(arg0) {\n const ret = getObject(arg0) === undefined;\n return ret;\n },\n __wbg___wbindgen_string_get_7ed5322991caaec5: function(arg0, arg1) {\n const obj = getObject(arg1);\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_throw_6b64449b9b9ed33c: function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n },\n __wbg__wbg_cb_unref_b46c9b5a9f08ec37: function(arg0) {\n getObject(arg0)._wbg_cb_unref();\n },\n __wbg_abort_4ce5b484434ef6fd: function(arg0) {\n getObject(arg0).abort();\n },\n __wbg_append_e8fc56ce7c00e874: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {\n getObject(arg0).append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));\n }, arguments); },\n __wbg_arrayBuffer_848c392b70c67d3d: function() { return handleError(function (arg0) {\n const ret = getObject(arg0).arrayBuffer();\n return addHeapObject(ret);\n }, arguments); },\n __wbg_axiom_web_callback_da6bff810821623d: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {\n axiom_web_callback(arg0, arg1, arg2, arg3 >>> 0, arg4 >>> 0, arg5 >>> 0, arg6 >>> 0);\n },\n __wbg_body_0c3a51aec038a31a: function(arg0) {\n const ret = getObject(arg0).body;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_buffer_d0f5ea0926a691fd: function(arg0) {\n const ret = getObject(arg0).buffer;\n return addHeapObject(ret);\n },\n __wbg_call_14b169f759b26747: function() { return handleError(function (arg0, arg1) {\n const ret = getObject(arg0).call(getObject(arg1));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_call_a24592a6f349a97e: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_clearInterval_16e8cbbce92291d0: function(arg0) {\n const ret = clearInterval(takeObject(arg0));\n return addHeapObject(ret);\n },\n __wbg_clearTimeout_113b1cde814ec762: function(arg0) {\n const ret = clearTimeout(takeObject(arg0));\n return addHeapObject(ret);\n },\n __wbg_crypto_38df2bab126b63dc: function(arg0) {\n const ret = getObject(arg0).crypto;\n return addHeapObject(ret);\n },\n __wbg_data_bb9dffdd1e99cf2d: function(arg0) {\n const ret = getObject(arg0).data;\n return addHeapObject(ret);\n },\n __wbg_done_9158f7cc8751ba32: function(arg0) {\n const ret = getObject(arg0).done;\n return ret;\n },\n __wbg_error_2001591ad2463697: function(arg0) {\n console.error(getObject(arg0));\n },\n __wbg_fetch_0d322c0aed196b8b: function(arg0, arg1) {\n const ret = getObject(arg0).fetch(getObject(arg1));\n return addHeapObject(ret);\n },\n __wbg_fetch_9ea633a8592ee39a: function(arg0, arg1) {\n const ret = getObject(arg0).fetch(getObject(arg1));\n return addHeapObject(ret);\n },\n __wbg_fetch_fda7bc27c982b1f3: function(arg0) {\n const ret = fetch(getObject(arg0));\n return addHeapObject(ret);\n },\n __wbg_getItem_7fe1351b9ea3b2f3: function() { return handleError(function (arg0, arg1, arg2, arg3) {\n const ret = getObject(arg1).getItem(getStringFromWasm0(arg2, arg3));\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n }, arguments); },\n __wbg_getRandomValues_c44a50d8cfdaebeb: function() { return handleError(function (arg0, arg1) {\n getObject(arg0).getRandomValues(getObject(arg1));\n }, arguments); },\n __wbg_getReader_9094ac3b37a7d171: function(arg0) {\n const ret = getObject(arg0).getReader();\n return addHeapObject(ret);\n },\n __wbg_get_1affdbdd5573b16a: function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(getObject(arg0), getObject(arg1));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_get_6011fa3a58f61074: function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(getObject(arg0), getObject(arg1));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_has_880f1d472f7cecba: function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.has(getObject(arg0), getObject(arg1));\n return ret;\n }, arguments); },\n __wbg_headers_6022deb4e576fb8e: function(arg0) {\n const ret = getObject(arg0).headers;\n return addHeapObject(ret);\n },\n __wbg_instanceof_ArrayBuffer_7c8433c6ed14ffe3: function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof ArrayBuffer;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_ReadableStreamDefaultReader_02bfe747638fa274: function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof ReadableStreamDefaultReader;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Response_9b2d111407865ff2: function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof Response;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Window_cc64c86c8ef9e02b: function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof Window;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_iterator_013bc09ec998c2a7: function() {\n const ret = Symbol.iterator;\n return addHeapObject(ret);\n },\n __wbg_length_9f1775224cf1d815: function(arg0) {\n const ret = getObject(arg0).length;\n return ret;\n },\n __wbg_localStorage_f5f66b1ffd2486bc: function() { return handleError(function (arg0) {\n const ret = getObject(arg0).localStorage;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n }, arguments); },\n __wbg_log_0c201ade58bb55e1: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7));\n } finally {\n wasm.__wbindgen_export4(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_log_7e1aa9064a1dbdbd: function(arg0) {\n console.log(getObject(arg0));\n },\n __wbg_log_ce2c4456b290c5e7: function(arg0, arg1) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n console.log(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_export4(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_mark_b4d943f3bc2d2404: function(arg0, arg1) {\n performance.mark(getStringFromWasm0(arg0, arg1));\n },\n __wbg_measure_84362959e621a2c1: function() { return handleError(function (arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n let deferred1_0;\n let deferred1_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n deferred1_0 = arg2;\n deferred1_1 = arg3;\n performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n } finally {\n wasm.__wbindgen_export4(deferred0_0, deferred0_1, 1);\n wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1);\n }\n }, arguments); },\n __wbg_msCrypto_bd5a034af96bcba6: function(arg0) {\n const ret = getObject(arg0).msCrypto;\n return addHeapObject(ret);\n },\n __wbg_new_0c7403db6e782f19: function(arg0) {\n const ret = new Uint8Array(getObject(arg0));\n return addHeapObject(ret);\n },\n __wbg_new_15a4889b4b90734d: function() { return handleError(function () {\n const ret = new Headers();\n return addHeapObject(ret);\n }, arguments); },\n __wbg_new_2a6e9133304ae2bf: function() { return handleError(function (arg0, arg1) {\n const ret = new WebSocket(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_new_98c22165a42231aa: function() { return handleError(function () {\n const ret = new AbortController();\n return addHeapObject(ret);\n }, arguments); },\n __wbg_new_aa8d0fa9762c29bd: function() {\n const ret = new Object();\n return addHeapObject(ret);\n },\n __wbg_new_from_slice_b5ea43e23f6008c0: function(arg0, arg1) {\n const ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1));\n return addHeapObject(ret);\n },\n __wbg_new_with_length_8c854e41ea4dae9b: function(arg0) {\n const ret = new Uint8Array(arg0 >>> 0);\n return addHeapObject(ret);\n },\n __wbg_new_with_str_and_init_897be1708e42f39d: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_next_0340c4ae324393c3: function() { return handleError(function (arg0) {\n const ret = getObject(arg0).next();\n return addHeapObject(ret);\n }, arguments); },\n __wbg_next_7646edaa39458ef7: function(arg0) {\n const ret = getObject(arg0).next;\n return addHeapObject(ret);\n },\n __wbg_node_84ea875411254db1: function(arg0) {\n const ret = getObject(arg0).node;\n return addHeapObject(ret);\n },\n __wbg_now_a9b7df1cbee90986: function() {\n const ret = Date.now();\n return ret;\n },\n __wbg_now_cace042f68c814d8: function(arg0) {\n const ret = getObject(arg0).now();\n return ret;\n },\n __wbg_performance_5fc5a6563dcd33de: function(arg0) {\n const ret = getObject(arg0).performance;\n return addHeapObject(ret);\n },\n __wbg_process_44c7a14e11e9f69e: function(arg0) {\n const ret = getObject(arg0).process;\n return addHeapObject(ret);\n },\n __wbg_prototypesetcall_a6b02eb00b0f4ce2: function(arg0, arg1, arg2) {\n Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));\n },\n __wbg_queueMicrotask_5d15a957e6aa920e: function(arg0) {\n queueMicrotask(getObject(arg0));\n },\n __wbg_queueMicrotask_f8819e5ffc402f36: function(arg0) {\n const ret = getObject(arg0).queueMicrotask;\n return addHeapObject(ret);\n },\n __wbg_randomFillSync_6c25eac9869eb53c: function() { return handleError(function (arg0, arg1) {\n getObject(arg0).randomFillSync(takeObject(arg1));\n }, arguments); },\n __wbg_read_ddc2d178d2e57272: function(arg0) {\n const ret = getObject(arg0).read();\n return addHeapObject(ret);\n },\n __wbg_require_b4edbdcf3e2a1ef0: function() { return handleError(function () {\n const ret = module.require;\n return addHeapObject(ret);\n }, arguments); },\n __wbg_resolve_e6c466bc1052f16c: function(arg0) {\n const ret = Promise.resolve(getObject(arg0));\n return addHeapObject(ret);\n },\n __wbg_send_15358dbe221c6258: function() { return handleError(function (arg0, arg1, arg2) {\n getObject(arg0).send(getStringFromWasm0(arg1, arg2));\n }, arguments); },\n __wbg_send_9ee7ecd8802698d0: function() { return handleError(function (arg0, arg1) {\n getObject(arg0).send(getObject(arg1));\n }, arguments); },\n __wbg_setInterval_84b64f01452a246e: function() { return handleError(function (arg0, arg1) {\n const ret = setInterval(getObject(arg0), arg1);\n return addHeapObject(ret);\n }, arguments); },\n __wbg_setItem_e6399d3faae141dc: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {\n getObject(arg0).setItem(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));\n }, arguments); },\n __wbg_setTimeout_ef24d2fc3ad97385: function() { return handleError(function (arg0, arg1) {\n const ret = setTimeout(getObject(arg0), arg1);\n return addHeapObject(ret);\n }, arguments); },\n __wbg_set_binaryType_770e68648ca5e83d: function(arg0, arg1) {\n getObject(arg0).binaryType = __wbindgen_enum_BinaryType[arg1];\n },\n __wbg_set_body_be11680f34217f75: function(arg0, arg1) {\n getObject(arg0).body = getObject(arg1);\n },\n __wbg_set_credentials_6577be90e0e85eb6: function(arg0, arg1) {\n getObject(arg0).credentials = __wbindgen_enum_RequestCredentials[arg1];\n },\n __wbg_set_headers_50fc01786240a440: function(arg0, arg1) {\n getObject(arg0).headers = getObject(arg1);\n },\n __wbg_set_method_c9f1f985f6b6c427: function(arg0, arg1, arg2) {\n getObject(arg0).method = getStringFromWasm0(arg1, arg2);\n },\n __wbg_set_mode_5e08d503428c06b9: function(arg0, arg1) {\n getObject(arg0).mode = __wbindgen_enum_RequestMode[arg1];\n },\n __wbg_set_onclose_17fa3bbcc4ba3541: function(arg0, arg1) {\n getObject(arg0).onclose = getObject(arg1);\n },\n __wbg_set_onerror_da99c4232662a084: function(arg0, arg1) {\n getObject(arg0).onerror = getObject(arg1);\n },\n __wbg_set_onmessage_c1db358b9c38e3f1: function(arg0, arg1) {\n getObject(arg0).onmessage = getObject(arg1);\n },\n __wbg_set_signal_1d4e73c2305a0e7c: function(arg0, arg1) {\n getObject(arg0).signal = getObject(arg1);\n },\n __wbg_signal_fdc54643b47bf85b: function(arg0) {\n const ret = getObject(arg0).signal;\n return addHeapObject(ret);\n },\n __wbg_static_accessor_GLOBAL_8cfadc87a297ca02: function() {\n const ret = typeof global === 'undefined' ? null : global;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_static_accessor_GLOBAL_THIS_602256ae5c8f42cf: function() {\n const ret = typeof globalThis === 'undefined' ? null : globalThis;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_static_accessor_SELF_e445c1c7484aecc3: function() {\n const ret = typeof self === 'undefined' ? null : self;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_static_accessor_WINDOW_f20e8576ef1e0f17: function() {\n const ret = typeof window === 'undefined' ? null : window;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_status_43e0d2f15b22d69f: function(arg0) {\n const ret = getObject(arg0).status;\n return ret;\n },\n __wbg_stringify_91082ed7a5a5769e: function() { return handleError(function (arg0) {\n const ret = JSON.stringify(getObject(arg0));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_subarray_f8ca46a25b1f5e0d: function(arg0, arg1, arg2) {\n const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n },\n __wbg_then_792e0c862b060889: function(arg0, arg1, arg2) {\n const ret = getObject(arg0).then(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n },\n __wbg_then_8e16ee11f05e4827: function(arg0, arg1) {\n const ret = getObject(arg0).then(getObject(arg1));\n return addHeapObject(ret);\n },\n __wbg_url_2bf741820e6563a0: function(arg0, arg1) {\n const ret = getObject(arg1).url;\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg_value_ee3a06f4579184fa: function(arg0) {\n const ret = getObject(arg0).value;\n return addHeapObject(ret);\n },\n __wbg_versions_276b2795b1c6a219: function(arg0) {\n const ret = getObject(arg0).versions;\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000001: function(arg0, arg1) {\n // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 193, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.\n const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_2381);\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000002: function(arg0, arg1) {\n // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref(\"Event\")], shim_idx: 45, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_496);\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000003: function(arg0, arg1) {\n // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref(\"MessageEvent\")], shim_idx: 45, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_496_2);\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000004: function(arg0, arg1) {\n // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 106, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_2221);\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000005: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref(\"Uint8Array\")`.\n const ret = getArrayU8FromWasm0(arg0, arg1);\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000006: function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return addHeapObject(ret);\n },\n __wbindgen_object_clone_ref: function(arg0) {\n const ret = getObject(arg0);\n return addHeapObject(ret);\n },\n __wbindgen_object_drop_ref: function(arg0) {\n takeObject(arg0);\n },\n };\n return {\n __proto__: null,\n \"./axiom_runtime_bg.js\": import0,\n };\n }\n\n function __wasm_bindgen_func_elem_2221(arg0, arg1) {\n wasm.__wasm_bindgen_func_elem_2221(arg0, arg1);\n }\n\n function __wasm_bindgen_func_elem_496(arg0, arg1, arg2) {\n wasm.__wasm_bindgen_func_elem_496(arg0, arg1, addHeapObject(arg2));\n }\n\n function __wasm_bindgen_func_elem_496_2(arg0, arg1, arg2) {\n wasm.__wasm_bindgen_func_elem_496_2(arg0, arg1, addHeapObject(arg2));\n }\n\n function __wasm_bindgen_func_elem_2381(arg0, arg1, arg2) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.__wasm_bindgen_func_elem_2381(retptr, arg0, arg1, addHeapObject(arg2));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n if (r1) {\n throw takeObject(r0);\n }\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n\n\n const __wbindgen_enum_BinaryType = [\"blob\", \"arraybuffer\"];\n\n\n const __wbindgen_enum_RequestCredentials = [\"omit\", \"same-origin\", \"include\"];\n\n\n const __wbindgen_enum_RequestMode = [\"same-origin\", \"no-cors\", \"cors\", \"navigate\"];\n\n function addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n }\n\n const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(state => wasm.__wbindgen_export5(state.a, state.b));\n\n function debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches && builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n }\n\n function dropObject(idx) {\n if (idx < 1028) return;\n heap[idx] = heap_next;\n heap_next = idx;\n }\n\n function getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n }\n\n let cachedDataViewMemory0 = null;\n function getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n }\n\n function getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return decodeText(ptr, len);\n }\n\n let cachedUint8ArrayMemory0 = null;\n function getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n }\n\n function getObject(idx) { return heap[idx]; }\n\n function handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n wasm.__wbindgen_export3(addHeapObject(e));\n }\n }\n\n let heap = new Array(1024).fill(undefined);\n heap.push(undefined, null, true, false);\n\n let heap_next = heap.length;\n\n function isLikeNone(x) {\n return x === undefined || x === null;\n }\n\n function makeMutClosure(arg0, arg1, f) {\n const state = { a: arg0, b: arg1, cnt: 1 };\n const real = (...args) => {\n\n // First up with a closure we increment the internal reference\n // count. This ensures that the Rust closure environment won't\n // be deallocated while we're invoking it.\n state.cnt++;\n const a = state.a;\n state.a = 0;\n try {\n return f(a, state.b, ...args);\n } finally {\n state.a = a;\n real._wbg_cb_unref();\n }\n };\n real._wbg_cb_unref = () => {\n if (--state.cnt === 0) {\n wasm.__wbindgen_export5(state.a, state.b);\n state.a = 0;\n CLOSURE_DTORS.unregister(state);\n }\n };\n CLOSURE_DTORS.register(real, state, state);\n return real;\n }\n\n function passStringToWasm0(arg, malloc, realloc) {\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = cachedTextEncoder.encodeInto(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n }\n\n function takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n }\n\n let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n cachedTextDecoder.decode();\n function decodeText(ptr, len) {\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n }\n\n const cachedTextEncoder = new TextEncoder();\n\n if (!('encodeInto' in cachedTextEncoder)) {\n cachedTextEncoder.encodeInto = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n };\n }\n\n let WASM_VECTOR_LEN = 0;\n\n let wasmModule, wasm;\n function __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n wasmModule = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n return wasm;\n }\n\n async function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n } catch (e) {\n const validResponse = module.ok && expectedResponseType(module.type);\n\n if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else { throw e; }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n } else {\n return instance;\n }\n }\n\n function expectedResponseType(type) {\n switch (type) {\n case 'basic': case 'cors': case 'default': return true;\n }\n return false;\n }\n }\n\n function initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (module !== undefined) {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n const instance = new WebAssembly.Instance(module, imports);\n return __wbg_finalize_init(instance, module);\n }\n\n async function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (module_or_path !== undefined) {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (module_or_path === undefined && script_src !== undefined) {\n module_or_path = script_src.replace(/\\.js$/, \"_bg.wasm\");\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n }\n\n return Object.assign(__wbg_init, { initSync }, exports);\n})({ __proto__: null });\n", u = null;
118
+ function d(e) {
119
+ try {
120
+ localStorage.removeItem("atmx_auth_store");
121
+ let t = [...Array.isArray(e?.endpoints) ? e.endpoints : Object.values(e?.endpoints || {}), ...Array.isArray(e?.ir?.endpoints) ? e.ir.endpoints : Object.values(e?.ir?.endpoints || {})];
122
+ for (let e of t) for (let t of e?.auth?.methods || []) {
123
+ let e = t?.name || t?.type;
124
+ e && localStorage.removeItem(`axiom_cache_auth_${e}`);
125
+ }
126
+ } catch {}
127
+ }
118
128
  function f(e) {
129
+ return (e.auth?.methods || []).filter((e) => e?.type?.toLowerCase() !== "session").map((e) => e?.name || e?.type).filter(Boolean);
130
+ }
131
+ function p(e) {
119
132
  if (e.length === 0) return 0;
120
133
  let t = u.axiom_malloc(e.length);
121
134
  return new Uint8Array(u.memory.buffer).set(e, t), t;
122
135
  }
123
- function p(e) {
136
+ function m(e) {
124
137
  if (!e) return {
125
138
  ptr: 0,
126
139
  len: 0
127
140
  };
128
141
  let t = new TextEncoder().encode(e);
129
142
  return {
130
- ptr: f(t),
143
+ ptr: p(t),
131
144
  len: t.length
132
145
  };
133
146
  }
134
- function m(e) {
135
- let t = `https://atmx.axiomcore.dev/${e.engineVersion || "v0.123.0"}/axiom_runtime.wasm`;
147
+ function h(e) {
148
+ if (e.wasmUrl) return e.wasmUrl;
149
+ let t = `https://atmx.axiomcore.dev/${e.engineVersion || "v0.125.0"}/axiom_runtime.wasm`;
136
150
  return e.disableCacheBuster || (t += `?t=${Date.now()}`), t;
137
151
  }
138
- async function h(e) {
152
+ async function g(e) {
139
153
  let t = performance.now(), r = {
140
154
  ok: !1,
141
155
  contracts: {},
@@ -146,7 +160,7 @@ async function h(e) {
146
160
  let e = document.createElement("script");
147
161
  e.type = "text/javascript", e.text = `${l}\nwindow.wasm_bindgen = wasm_bindgen;`, document.head.appendChild(e);
148
162
  }
149
- let t = window.wasm_bindgen, a = m(e);
163
+ let t = window.wasm_bindgen, a = h(e);
150
164
  try {
151
165
  u = await t(fetch(a));
152
166
  } catch (e) {
@@ -161,7 +175,7 @@ async function h(e) {
161
175
  n(u), setInterval(() => {
162
176
  u && u.axiom_process_responses();
163
177
  }, 16);
164
- let o = p(""), s = u.axiom_wasm_initialize(o.ptr, o.len);
178
+ let o = m(""), s = u.axiom_wasm_initialize(o.ptr, o.len);
165
179
  if (u.axiom_free_memory(o.ptr, o.len), s !== 0) throw {
166
180
  stage: "runtime",
167
181
  category: "server",
@@ -169,24 +183,18 @@ async function h(e) {
169
183
  message: `Engine init failed (Code: ${s})`,
170
184
  retryable: !1
171
185
  };
172
- try {
173
- let e = JSON.parse(localStorage.getItem(d) || "{}");
174
- for (let [t, n] of Object.entries(e)) for (let [e, r] of Object.entries(n)) g(t, e, r, !1);
175
- } catch (e) {
176
- console.warn("ATMX: Failed to hydrate auth tokens", e);
177
- }
178
186
  for (let [t, n] of Object.entries(e.contracts)) try {
179
187
  let a = await fetch(n.contractUrl);
180
188
  if (!a.ok) throw Error(`HTTP ${a.status}`);
181
189
  let o = await a.arrayBuffer(), s = 0;
182
190
  try {
183
191
  let e = new TextDecoder().decode(o), n = JSON.parse(e), r = n?.ir?.endpoints;
184
- r && (s = Array.isArray(r) ? r.length : Object.keys(r).length), i(t, n);
192
+ r && (s = Array.isArray(r) ? r.length : Object.keys(r).length), d(n), i(t, n);
185
193
  } catch (e) {
186
194
  console.error(`ATMX: Failed to parse .axiom contract for '${t}'`, e);
187
195
  }
188
- let c = new Uint8Array(o), l = f(c), d = p(t), m = p(n.baseUrl), h = u.axiom_wasm_load_contract(d.ptr, d.len, m.ptr, m.len, l, c.length, 0, 0, 0, 0);
189
- if (u.axiom_free_memory(l, c.length), u.axiom_free_memory(d.ptr, d.len), u.axiom_free_memory(m.ptr, m.len), h !== 0 && h !== -1) throw Error(`Load error (Code: ${h})`);
196
+ let c = new Uint8Array(o), l = p(c), f = m(t), h = m(n.baseUrl), g = u.axiom_wasm_load_contract(f.ptr, f.len, h.ptr, h.len, l, c.length, 0, 0, 0, 0);
197
+ if (u.axiom_free_memory(l, c.length), u.axiom_free_memory(f.ptr, f.len), u.axiom_free_memory(h.ptr, h.len), g !== 0 && g !== -1) throw Error(`Load error (Code: ${g})`);
190
198
  e.debug && console.log(`%c🔒 Axiom Contract Loaded: ${t} (${s} endpoints)`, "color: #10b981; font-weight: bold;"), r.contracts[t] = {
191
199
  loaded: !0,
192
200
  endpointCount: s
@@ -213,51 +221,38 @@ async function h(e) {
213
221
  }
214
222
  return r.initDurationMs = Math.round(performance.now() - t), r;
215
223
  }
216
- function g(e, t, n, r = !0) {
224
+ function _(e, t, n) {
217
225
  if (!u) return;
218
- if (r) try {
219
- let r = JSON.parse(localStorage.getItem(d) || "{}");
220
- r[e] || (r[e] = {}), r[e][t] = n, localStorage.setItem(d, JSON.stringify(r));
221
- } catch {}
222
- let i = p(e), a = p(t), o = p(n);
223
- u.axiom_wasm_set_auth_token(i.ptr, i.len, a.ptr, a.len, o.ptr, o.len), u.axiom_free_memory(i.ptr, i.len), u.axiom_free_memory(a.ptr, a.len), u.axiom_free_memory(o.ptr, o.len);
226
+ let r = m(e), i = m(t), a = m(n);
227
+ u.axiom_wasm_set_auth_token(r.ptr, r.len, i.ptr, i.len, a.ptr, a.len), u.axiom_free_memory(r.ptr, r.len), u.axiom_free_memory(i.ptr, i.len), u.axiom_free_memory(a.ptr, a.len);
224
228
  }
225
- function _(e, t, n = !0) {
229
+ function v(e, t) {
226
230
  if (!u) return;
227
- let r = c(e), i = n ? JSON.parse(localStorage.getItem(d) || "{}") : {};
228
- n && !i[e] && (i[e] = {});
229
- for (let a of r) {
230
- let r = p(a.namespace), o = p(a.name), s = p(t);
231
- u.axiom_wasm_set_auth_token(r.ptr, r.len, o.ptr, o.len, s.ptr, s.len), u.axiom_free_memory(r.ptr, r.len), u.axiom_free_memory(o.ptr, o.len), u.axiom_free_memory(s.ptr, s.len), n && (i[e][a.name] = t);
232
- }
233
- n && localStorage.setItem(d, JSON.stringify(i));
231
+ let n = new Set(c(e).flatMap(f));
232
+ for (let r of n) _(e, r, t);
234
233
  }
235
- function v(e, t) {
234
+ function y(e, t) {
236
235
  if (!u) return;
237
- try {
238
- let n = JSON.parse(localStorage.getItem(d) || "{}");
239
- n[e] && (delete n[e][t], localStorage.setItem(d, JSON.stringify(n)));
240
- } catch {}
241
- let n = p(e), r = p(t);
236
+ let n = m(e), r = m(t);
242
237
  u.axiom_wasm_clear_auth_token(n.ptr, n.len, r.ptr, r.len), u.axiom_free_memory(n.ptr, n.len), u.axiom_free_memory(r.ptr, r.len);
243
238
  }
244
- function y(e, t) {
239
+ function b(e, t) {
245
240
  if (!u) return;
246
- let n = new TextEncoder().encode(JSON.stringify(t)), r = f(n);
241
+ let n = new TextEncoder().encode(JSON.stringify(t)), r = p(n);
247
242
  u.axiom_wasm_send_stream_message(e, r, n.length), u.axiom_free_memory(r, n.length);
248
243
  }
249
- function b(e, t = !0) {
244
+ function x(e) {
250
245
  if (!u) return;
251
- let n = s(), r = t ? JSON.parse(localStorage.getItem(d) || "{}") : {};
252
- for (let i of n) {
253
- let n = p(i.namespace), a = p(i.name), o = p(e);
254
- u.axiom_wasm_set_auth_token(n.ptr, n.len, a.ptr, a.len, o.ptr, o.len), u.axiom_free_memory(n.ptr, n.len), u.axiom_free_memory(a.ptr, a.len), u.axiom_free_memory(o.ptr, o.len), t && (r[i.namespace] || (r[i.namespace] = {}), r[i.namespace][i.name] = e);
246
+ let t = /* @__PURE__ */ new Map();
247
+ for (let e of s()) {
248
+ let n = t.get(e.namespace) || /* @__PURE__ */ new Set();
249
+ f(e).forEach((e) => n.add(e)), t.set(e.namespace, n);
255
250
  }
256
- t && localStorage.setItem(d, JSON.stringify(r));
251
+ for (let [n, r] of t) for (let t of r) _(n, t, e);
257
252
  }
258
253
  //#endregion
259
254
  //#region src/resolver/evaluator.ts
260
- function x(e, t, n = {}) {
255
+ function S(e, t, n = {}) {
261
256
  if (e) try {
262
257
  let r = Object.keys(n), i = Object.values(n);
263
258
  return Function("$data", "$error", "$state", ...r, `return (${e});`)(t.data ?? null, t.error ?? null, t, ...i);
@@ -266,7 +261,7 @@ function x(e, t, n = {}) {
266
261
  return;
267
262
  }
268
263
  }
269
- function S(e, t, n = {}) {
264
+ function C(e, t, n = {}) {
270
265
  if (e) try {
271
266
  let r = Object.keys(n), i = Object.values(n);
272
267
  Function("$data", "$error", "$state", ...r, e)(t.data ?? null, t.error ?? null, t, ...i);
@@ -276,17 +271,17 @@ function S(e, t, n = {}) {
276
271
  }
277
272
  //#endregion
278
273
  //#region src/resolver/render.ts
279
- function C(e, t) {
280
- w(e, t, !0, {});
274
+ function w(e, t) {
275
+ T(e, t, !0, {});
281
276
  }
282
- function w(e, t, n, r) {
277
+ function T(e, t, n, r) {
283
278
  if (!(!n && (e.hasAttribute("ax-query") || e.hasAttribute("ax-mutate"))) && !(!n && e.hasAttribute("data-ax-clone-of"))) {
284
279
  if (e.hasAttribute("ax-for")) {
285
- T(e, t, r);
280
+ E(e, t, r);
286
281
  return;
287
282
  }
288
- if (e.hasAttribute("ax-when") && (e.getAttribute("ax-when").split(",").map((e) => e.trim()).includes(t.state) ? (e.removeAttribute("hidden"), e.style.removeProperty("display")) : (e.setAttribute("hidden", "true"), e.style.setProperty("display", "none", "important"))), e.hasAttribute("ax-if") && (x(e.getAttribute("ax-if"), t, r) ? (e.removeAttribute("hidden"), e.style.removeProperty("display")) : (e.setAttribute("hidden", ""), e.style.setProperty("display", "none", "important"))), e.hasAttribute("ax-text")) {
289
- let n = x(e.getAttribute("ax-text"), t, r);
283
+ if (e.hasAttribute("ax-when") && (e.getAttribute("ax-when").split(",").map((e) => e.trim()).includes(t.state) ? (e.removeAttribute("hidden"), e.style.removeProperty("display")) : (e.setAttribute("hidden", "true"), e.style.setProperty("display", "none", "important"))), e.hasAttribute("ax-if") && (S(e.getAttribute("ax-if"), t, r) ? (e.removeAttribute("hidden"), e.style.removeProperty("display")) : (e.setAttribute("hidden", ""), e.style.setProperty("display", "none", "important"))), e.hasAttribute("ax-text")) {
284
+ let n = S(e.getAttribute("ax-text"), t, r);
290
285
  e.textContent = n == null ? "" : String(n);
291
286
  }
292
287
  if (e.hasAttribute("ax-error-for")) {
@@ -303,19 +298,19 @@ function w(e, t, n, r) {
303
298
  }
304
299
  Array.from(e.attributes).forEach((n) => {
305
300
  if (n.name.startsWith("ax-bind:")) {
306
- let i = n.name.substring(8), a = x(n.value, t, r);
301
+ let i = n.name.substring(8), a = S(n.value, t, r);
307
302
  a === !1 || a == null ? e.removeAttribute(i) : e.setAttribute(i, a === !0 ? i : String(a));
308
303
  }
309
304
  }), Array.from(e.children).forEach((e) => {
310
- w(e, t, !1, r);
305
+ T(e, t, !1, r);
311
306
  });
312
307
  }
313
308
  }
314
- function T(e, t, n) {
309
+ function E(e, t, n) {
315
310
  e.style.display = "none", e.hasAttribute("data-ax-for-id") || e.setAttribute("data-ax-for-id", Math.random().toString(36).substr(2, 9));
316
311
  let r = e.getAttribute("data-ax-for-id"), i = e.getAttribute("ax-for").match(/^\s*(?:(?:\(\s*([\w\$]+)\s*,\s*([\w\$]+)\s*\))|([\w\$]+))\s+in\s+(.+)$/);
317
312
  if (!i) return;
318
- let a = i[1] || i[3], o = i[2], s = i[4], c = x(s, t, n), l = e.parentElement;
313
+ let a = i[1] || i[3], o = i[2], s = i[4], c = S(s, t, n), l = e.parentElement;
319
314
  if (!l) return;
320
315
  let u = Array.from(l.querySelectorAll(`[data-ax-clone-of="${r}"]`));
321
316
  if (!c || !Array.isArray(c)) {
@@ -330,44 +325,44 @@ function T(e, t, n) {
330
325
  };
331
326
  o && (c[o] = s);
332
327
  let p = String(s);
333
- d && (p = String(x(d, t, c)));
328
+ d && (p = String(S(d, t, c)));
334
329
  let m = u.find((e) => e.getAttribute("data-ax-key") === p);
335
- m || (m = e.cloneNode(!0), m.removeAttribute("ax-for"), m.style.removeProperty("display"), m.style.length === 0 && m.removeAttribute("style"), m.setAttribute("data-ax-clone-of", r), m.setAttribute("data-ax-key", p)), l.insertBefore(m, e), w(m, t, !0, c), f.push(m);
330
+ m || (m = e.cloneNode(!0), m.removeAttribute("ax-for"), m.style.removeProperty("display"), m.style.length === 0 && m.removeAttribute("style"), m.setAttribute("data-ax-clone-of", r), m.setAttribute("data-ax-key", p)), l.insertBefore(m, e), T(m, t, !0, c), f.push(m);
336
331
  }), u.forEach((e) => {
337
332
  f.includes(e) || e.remove();
338
333
  });
339
334
  }
340
335
  //#endregion
341
336
  //#region src/core/context.ts
342
- var E = /* @__PURE__ */ new WeakMap();
343
- function D(e) {
344
- return E.has(e) || E.set(e, {
337
+ var D = /* @__PURE__ */ new WeakMap();
338
+ function O(e) {
339
+ return D.has(e) || D.set(e, {
345
340
  state: "idle",
346
341
  isFetching: !1,
347
342
  isMutating: !1,
348
343
  source: null,
349
344
  data: null,
350
345
  error: null
351
- }), E.get(e);
346
+ }), D.get(e);
352
347
  }
353
- function O(e) {
348
+ function k(e) {
354
349
  let t = e.parentElement;
355
350
  for (; t;) {
356
351
  if (t.hasAttribute("ax-query") || t.hasAttribute("ax-mutate")) {
357
- let e = E.get(t);
352
+ let e = D.get(t);
358
353
  if (e && e.data) return e.data;
359
354
  }
360
355
  t = t.parentElement;
361
356
  }
362
357
  return {};
363
358
  }
364
- function k(e, t) {
365
- let n = D(e);
366
- Object.assign(n, t), t.state === "loading" && (n.isFetching = !0), t.state === "mutating" && (n.isMutating = !0), (t.state === "success" || t.state === "data" && t.isFetching === !1) && (n.isFetching = !1, n.isMutating = !1), E.set(e, n), C(e, n);
359
+ function A(e, t) {
360
+ let n = O(e);
361
+ Object.assign(n, t), t.state === "loading" && (n.isFetching = !0), t.state === "mutating" && (n.isMutating = !0), (t.state === "success" || t.state === "data" && t.isFetching === !1) && (n.isFetching = !1, n.isMutating = !1), D.set(e, n), w(e, n);
367
362
  }
368
363
  //#endregion
369
364
  //#region src/core/query.ts
370
- var A = 0, j = class {
365
+ var j = 0, M = class {
371
366
  key;
372
367
  route;
373
368
  args;
@@ -414,10 +409,10 @@ var A = 0, j = class {
414
409
  isFetching: !0,
415
410
  error: null
416
411
  });
417
- let r = ++A;
412
+ let r = ++j;
418
413
  this.currentReqId = r;
419
414
  let { path: i, remainingArgs: a } = o(this.route, this.args), s = new Uint8Array();
420
- Object.keys(a).length > 0 && (s = new TextEncoder().encode(JSON.stringify(a))), Q.debug && (console.groupCollapsed(`%c➔ WASM QUERY [#${r}]`, "color: #7c3aed; font-weight: bold;"), console.log("Namespace:", this.route.namespace), console.log("Endpoint ID:", this.route.id), console.log("Path:", i), console.groupEnd()), t.set(r, {
415
+ Object.keys(a).length > 0 && (s = new TextEncoder().encode(JSON.stringify(a))), $.debug && (console.groupCollapsed(`%c➔ WASM QUERY [#${r}]`, "color: #7c3aed; font-weight: bold;"), console.log("Namespace:", this.route.namespace), console.log("Endpoint ID:", this.route.id), console.log("Path:", i), console.groupEnd()), t.set(r, {
421
416
  isStream: this.route.isStream,
422
417
  onResponse: (t) => {
423
418
  if (this.currentReqId === r) {
@@ -444,45 +439,52 @@ var A = 0, j = class {
444
439
  this.currentReqId === r && this.update({ isFetching: !1 });
445
440
  }
446
441
  });
447
- let c = p(this.route.namespace), l = p(this.route.method), d = p(i), m = f(s), h = p(""), g = p("");
448
- u.axiom_wasm_call(r, c.ptr, c.len, this.route.id, l.ptr, l.len, d.ptr, d.len, h.ptr, h.len, g.ptr, g.len, m, s.length), u.axiom_free_memory(c.ptr, c.len), u.axiom_free_memory(l.ptr, l.len), u.axiom_free_memory(d.ptr, d.len), u.axiom_free_memory(h.ptr, h.len), u.axiom_free_memory(g.ptr, g.len);
449
- }
450
- }, M = /* @__PURE__ */ new Map();
451
- function N(n, r = {}, i = {}) {
452
- return new Promise((s, c) => {
453
- let l = a(n);
454
- if (!l) return c(/* @__PURE__ */ Error(`ATMX Route not found: ${n}`));
455
- let d = ++A, { path: m, remainingArgs: h } = o(l, {
442
+ let c = m(this.route.namespace), l = m(this.route.method), d = m(i), f = p(s), h = m(""), g = m("");
443
+ u.axiom_wasm_call(r, c.ptr, c.len, this.route.id, l.ptr, l.len, d.ptr, d.len, h.ptr, h.len, g.ptr, g.len, f, s.length), u.axiom_free_memory(c.ptr, c.len), u.axiom_free_memory(l.ptr, l.len), u.axiom_free_memory(d.ptr, d.len), u.axiom_free_memory(h.ptr, h.len), u.axiom_free_memory(g.ptr, g.len);
444
+ }
445
+ }, N = /* @__PURE__ */ new Map();
446
+ function P(n, r = {}, i = {}, s = {}) {
447
+ return new Promise((c, l) => {
448
+ let d = a(n);
449
+ if (!d) return l(/* @__PURE__ */ Error(`ATMX Route not found: ${n}`));
450
+ let f = ++j, { path: h, remainingArgs: g } = o(d, {
456
451
  ...r,
457
452
  ...i
458
- }), g = h;
459
- l.bodyParam && h[l.bodyParam] !== void 0 && typeof h[l.bodyParam] == "object" && (g = h[l.bodyParam]);
460
- let _ = new Uint8Array();
461
- Object.keys(g).length > 0 && (_ = new TextEncoder().encode(JSON.stringify(g))), t.set(d, {
462
- isStream: l.isStream,
453
+ }), _ = s.rawBody;
454
+ if (!_) {
455
+ let e = g;
456
+ d.bodyParam && g[d.bodyParam] !== void 0 && typeof g[d.bodyParam] == "object" && (e = g[d.bodyParam]), _ = new Uint8Array(), Object.keys(e).length > 0 && (_ = new TextEncoder().encode(JSON.stringify(e)));
457
+ }
458
+ let v = !1, y = (e) => {
459
+ v || (v = !0, c(e));
460
+ }, b = (e) => {
461
+ v || (v = !0, l(e));
462
+ };
463
+ t.set(f, {
464
+ isStream: d.isStream,
463
465
  onResponse: (t) => {
464
- t.eventType === e.Error ? (document.dispatchEvent(new CustomEvent("atmx:error", { detail: t.error })), c(t.error)) : t.data !== void 0 && s(t.data);
466
+ t.eventType === e.Error ? (document.dispatchEvent(new CustomEvent("atmx:error", { detail: t.error })), b(t.error)) : t.data !== void 0 && y(t.data);
465
467
  },
466
- onComplete: () => {}
468
+ onComplete: () => y(void 0)
467
469
  });
468
- let v = p(l.namespace), y = p(l.method), b = p(m), x = p(""), S = p(""), C = f(_);
469
- u.axiom_wasm_call(d, v.ptr, v.len, l.id, y.ptr, y.len, b.ptr, b.len, x.ptr, x.len, S.ptr, S.len, C, _.length), u.axiom_free_memory(v.ptr, v.len), u.axiom_free_memory(y.ptr, y.len), u.axiom_free_memory(b.ptr, b.len), u.axiom_free_memory(x.ptr, x.len), u.axiom_free_memory(S.ptr, S.len), C && u.axiom_free_memory(C, _.length);
470
+ let x = m(d.namespace), S = m(d.method), C = m(h), w = m(""), T = m(Object.keys(s.headers || {}).length > 0 ? JSON.stringify(s.headers) : ""), E = p(_);
471
+ u.axiom_wasm_call(f, x.ptr, x.len, d.id, S.ptr, S.len, C.ptr, C.len, w.ptr, w.len, T.ptr, T.len, E, _.length), u.axiom_free_memory(x.ptr, x.len), u.axiom_free_memory(S.ptr, S.len), u.axiom_free_memory(C.ptr, C.len), u.axiom_free_memory(w.ptr, w.len), u.axiom_free_memory(T.ptr, T.len), E && u.axiom_free_memory(E, _.length);
470
472
  });
471
473
  }
472
- function P(e, t) {
474
+ function F(e, t) {
473
475
  let [n, r] = e.split("."), i = `atmx_cache_${e}`;
474
476
  t && Object.keys(t).length > 0 && (i += `:${JSON.stringify(t)}`), Object.keys(sessionStorage).forEach((e) => {
475
477
  (e === i || !t && e.startsWith(i + ":")) && sessionStorage.removeItem(e);
476
- }), M.forEach((e, i) => {
478
+ }), N.forEach((e, i) => {
477
479
  e.route.namespace === n && e.route.name === r && (!t || Object.keys(t).length === 0 || JSON.stringify(e.args) === JSON.stringify(t)) && e.fetch(!0);
478
480
  });
479
481
  }
480
- function F(e, t = {}, n) {
482
+ function I(e, t = {}, n) {
481
483
  let r = `${e}:${JSON.stringify(t)}`;
482
484
  try {
483
485
  sessionStorage.setItem(`atmx_cache_${r}`, JSON.stringify(n));
484
486
  } catch {}
485
- let i = M.get(r);
487
+ let i = N.get(r);
486
488
  i && i.update({
487
489
  state: "data",
488
490
  source: "cache",
@@ -491,33 +493,33 @@ function F(e, t = {}, n) {
491
493
  error: null
492
494
  });
493
495
  }
494
- function I(e) {
495
- let t = e ? `atmx_cache_${e}.` : "atmx_cache_";
496
+ function L(e, t = !0) {
497
+ let n = e ? `atmx_cache_${e}.` : "atmx_cache_";
496
498
  Object.keys(sessionStorage).forEach((e) => {
497
- e.startsWith(t) && sessionStorage.removeItem(e);
498
- }), M.forEach((t) => {
499
+ e.startsWith(n) && sessionStorage.removeItem(e);
500
+ }), t && N.forEach((t) => {
499
501
  (!e || t.route.namespace === e) && t.fetch(!0);
500
502
  });
501
503
  }
502
504
  //#endregion
503
505
  //#region src/dom/lifecycle.ts
504
- var L = 0;
505
- function R(e, t) {
506
+ var R = 0;
507
+ function z(e, t) {
506
508
  let n = `ax-on:${t}`;
507
- e.hasAttribute(n) && S(e.getAttribute(n), D(e));
509
+ e.hasAttribute(n) && C(e.getAttribute(n), O(e));
508
510
  }
509
- function z(e, t, n) {
510
- if (!Q.debug) return;
511
+ function B(e, t, n) {
512
+ if (!$.debug) return;
511
513
  let r = e === "OUT" ? "#7c3aed" : "#059669";
512
514
  console.groupCollapsed(`%c${e === "OUT" ? "➔ WASM CALL" : "← WASM RESP"} [#${t}]`, `color: ${r}; font-weight: bold;`), console.log("Details:", n), console.groupEnd();
513
515
  }
514
- function B(e, t) {
516
+ function V(e, t) {
515
517
  let n = t.trim().match(/^([\w\.\-]+)(?:\((.*)\))?$/);
516
518
  if (!n) return null;
517
519
  let r = n[1], i = {};
518
520
  if (n[2] && n[2].trim() !== "") try {
519
521
  if (e) {
520
- let t = D(e), r = t.data || O(e);
522
+ let t = O(e), r = t.data || k(e);
521
523
  i = Function("$data", "$state", `return (${n[2]});`)(r ?? null, t) || {};
522
524
  } else i = Function(`return (${n[2]});`)() || {};
523
525
  } catch (e) {
@@ -528,45 +530,45 @@ function B(e, t) {
528
530
  args: i
529
531
  };
530
532
  }
531
- function V(e) {
533
+ function H(e) {
532
534
  let t = e.getAttribute("ax-query");
533
535
  if (!t) return;
534
- let n = B(e, t);
536
+ let n = V(e, t);
535
537
  if (!n) return;
536
538
  let r = a(n.target);
537
539
  if (!r) {
538
- k(e, {
540
+ A(e, {
539
541
  state: "error",
540
542
  error: { message: `Route not found: ${n.target}` }
541
543
  });
542
544
  return;
543
545
  }
544
- let i = `${n.target}:${JSON.stringify(n.args)}`, o = M.get(i);
545
- o || (o = new j(i, r, n.args), M.set(i, o)), e._axListener || (e._axListener = (t) => {
546
- k(e, t), (t.state === "data" || t.state === "error") && (R(e, t.state), e.dispatchEvent(new CustomEvent(`atmx:${t.state}`, {
546
+ let i = `${n.target}:${JSON.stringify(n.args)}`, o = N.get(i);
547
+ o || (o = new M(i, r, n.args), N.set(i, o)), e._axListener || (e._axListener = (t) => {
548
+ A(e, t), (t.state === "data" || t.state === "error") && (z(e, t.state), e.dispatchEvent(new CustomEvent(`atmx:${t.state}`, {
547
549
  bubbles: !0,
548
550
  detail: t.data || t.error
549
551
  })));
550
552
  }, o.subscribe(e._axListener)), o.fetch();
551
553
  }
552
- function H(e) {
554
+ function U(e) {
553
555
  let t = e.getAttribute("ax-mutate");
554
556
  if (!t) return;
555
- let n = B(e, t);
557
+ let n = V(e, t);
556
558
  if (!n) return;
557
559
  let r = a(n.target);
558
560
  if (!r) {
559
- console.error(`ATMX: Mutation route not found for target '${n.target}'. Check your ax-mutate attribute.`), k(e, {
561
+ console.error(`ATMX: Mutation route not found for target '${n.target}'. Check your ax-mutate attribute.`), A(e, {
560
562
  state: "error",
561
563
  error: { message: `Route not found: ${n.target}` }
562
- }), R(e, "error");
564
+ }), z(e, "error");
563
565
  return;
564
566
  }
565
- k(e, {
567
+ A(e, {
566
568
  state: "mutating",
567
569
  error: null,
568
570
  data: null
569
- }), R(e, "mutating");
571
+ }), z(e, "mutating");
570
572
  let i = {};
571
573
  e instanceof HTMLFormElement && new FormData(e).forEach((t, n) => {
572
574
  let r = e.elements.namedItem(n), a = !1;
@@ -595,39 +597,39 @@ function H(e) {
595
597
  for (let [t, n] of Object.entries(l)) e.append(t, String(n));
596
598
  p = new TextEncoder().encode(e.toString());
597
599
  } else p = new TextEncoder().encode(JSON.stringify(l));
598
- U(e, r.namespace, r.id, r.method, s, p, r.isStream, !0, u, f);
600
+ W(e, r.namespace, r.id, r.method, s, p, r.isStream, !0, u, f);
599
601
  }
600
- function U(e, n, r, i, a, o, s, c, l = {}, d = !1) {
601
- let m = ++L;
602
- z("OUT", m, {
602
+ function W(e, n, r, i, a, o, s, c, l = {}, d = !1) {
603
+ let f = ++R;
604
+ B("OUT", f, {
603
605
  namespace: n,
604
606
  endpointId: r,
605
607
  method: i,
606
608
  path: a,
607
609
  headers: l,
608
610
  payload: o.length > 0 ? d ? new TextDecoder().decode(o) : JSON.parse(new TextDecoder().decode(o)) : null
609
- }), t.set(m, {
611
+ }), t.set(f, {
610
612
  isStream: s,
611
- onResponse: (t) => W(e, t, c, m),
613
+ onResponse: (t) => G(e, t, c, f),
612
614
  onComplete: () => {
613
- Q.debug && console.log(`%c✔ Stream Complete [#${m}]`, "color: #94a3b8;");
615
+ $.debug && console.log(`%c✔ Stream Complete [#${f}]`, "color: #94a3b8;");
614
616
  }
615
617
  });
616
- let h = p(n), g = p(i), _ = p(a), v = p(""), y = p(Object.keys(l).length > 0 ? JSON.stringify(l) : ""), b = f(o);
617
- u.axiom_wasm_call(m, h.ptr, h.len, r, g.ptr, g.len, _.ptr, _.len, v.ptr, v.len, y.ptr, y.len, b, o.length), u.axiom_free_memory(h.ptr, h.len), u.axiom_free_memory(g.ptr, g.len), u.axiom_free_memory(_.ptr, _.len), u.axiom_free_memory(v.ptr, v.len), u.axiom_free_memory(y.ptr, y.len), b && u.axiom_free_memory(b, o.length);
618
+ let h = m(n), g = m(i), _ = m(a), v = m(""), y = m(Object.keys(l).length > 0 ? JSON.stringify(l) : ""), b = p(o);
619
+ u.axiom_wasm_call(f, h.ptr, h.len, r, g.ptr, g.len, _.ptr, _.len, v.ptr, v.len, y.ptr, y.len, b, o.length), u.axiom_free_memory(h.ptr, h.len), u.axiom_free_memory(g.ptr, g.len), u.axiom_free_memory(_.ptr, _.len), u.axiom_free_memory(v.ptr, v.len), u.axiom_free_memory(y.ptr, y.len), b && u.axiom_free_memory(b, o.length);
618
620
  }
619
- function W(t, n, r, i) {
620
- if (z("IN", i, {
621
+ function G(t, n, r, i) {
622
+ if (B("IN", i, {
621
623
  eventType: e[n.eventType],
622
624
  data: n.data,
623
625
  error: n.error
624
626
  }), n.eventType === e.Error) {
625
- k(t, {
627
+ A(t, {
626
628
  state: "error",
627
629
  error: n.error,
628
630
  isFetching: !1,
629
631
  isMutating: !1
630
- }), R(t, "error"), t.dispatchEvent(new CustomEvent("atmx:error", {
632
+ }), z(t, "error"), t.dispatchEvent(new CustomEvent("atmx:error", {
631
633
  bubbles: !0,
632
634
  detail: n.error
633
635
  }));
@@ -637,7 +639,7 @@ function W(t, n, r, i) {
637
639
  let i = "network", o = !1;
638
640
  n.eventType === e.CacheHit ? i = "cache" : n.eventType === e.CacheHitAndFetching ? (i = "cache", o = !0) : n.eventType === e.NetworkSuccess && (i = "network");
639
641
  let s = r ? "success" : "data";
640
- if (k(t, {
642
+ if (A(t, {
641
643
  state: s,
642
644
  data: n.data,
643
645
  source: i,
@@ -646,21 +648,21 @@ function W(t, n, r, i) {
646
648
  }), r) {
647
649
  let e = t.getAttribute("ax-invalidates");
648
650
  e && e.split(",").map((e) => e.trim()).forEach((e) => {
649
- let n = x(`\`${e}\``, D(t)) || e;
650
- Q.invalidate(n);
651
+ let n = S(`\`${e}\``, O(t)) || e;
652
+ $.invalidate(n);
651
653
  });
652
654
  let n = t.getAttribute("ax-store-token");
653
655
  if (n) {
654
- let e = x(n, D(t));
656
+ let e = S(n, O(t));
655
657
  if (e) {
656
- let n = a(B(t, t.getAttribute("ax-mutate")).target)?.namespace || "default", r = t.getAttribute("ax-token-target");
658
+ let n = a(V(t, t.getAttribute("ax-mutate")).target)?.namespace || "default", r = t.getAttribute("ax-token-target");
657
659
  (r ? r.split(",").map((e) => e.trim()) : [n]).forEach((t) => {
658
- Q.setNamespaceAuthToken(t, e);
660
+ $.setNamespaceAuthToken(t, e);
659
661
  });
660
662
  }
661
663
  }
662
664
  }
663
- R(t, s), t.dispatchEvent(new CustomEvent(r ? "atmx:success" : "atmx:data", {
665
+ z(t, s), t.dispatchEvent(new CustomEvent(r ? "atmx:success" : "atmx:data", {
664
666
  bubbles: !0,
665
667
  detail: n.data
666
668
  }));
@@ -668,36 +670,36 @@ function W(t, n, r, i) {
668
670
  }
669
671
  //#endregion
670
672
  //#region src/dom/scanner.ts
671
- var G = new IntersectionObserver((e) => {
673
+ var K = new IntersectionObserver((e) => {
672
674
  e.forEach((e) => {
673
675
  if (e.isIntersecting) {
674
676
  let t = e.target;
675
- t.hasAttribute("ax-query") && V(t), G.unobserve(t);
677
+ t.hasAttribute("ax-query") && H(t), K.unobserve(t);
676
678
  }
677
679
  });
678
680
  });
679
- function K(e) {
681
+ function q(e) {
680
682
  e.querySelectorAll("[\\:ax-query], [\\:ax-mutate]").forEach((e) => {
681
683
  if (e.hasAttribute(":ax-query")) {
682
- let t = x(e.getAttribute(":ax-query"), D(e));
684
+ let t = S(e.getAttribute(":ax-query"), O(e));
683
685
  t && e.setAttribute("ax-query", String(t)), e.removeAttribute(":ax-query");
684
686
  }
685
687
  if (e.hasAttribute(":ax-mutate")) {
686
- let t = x(e.getAttribute(":ax-mutate"), D(e));
688
+ let t = S(e.getAttribute(":ax-mutate"), O(e));
687
689
  t && e.setAttribute("ax-mutate", String(t)), e.removeAttribute(":ax-mutate");
688
690
  }
689
691
  });
690
692
  }
691
- function q(e = document) {
692
- K(e), e.querySelectorAll("[ax-query]").forEach((e) => {
693
+ function J(e = document) {
694
+ q(e), e.querySelectorAll("[ax-query]").forEach((e) => {
693
695
  let t = e, n = t.getAttribute("ax-query");
694
696
  if (!n) return;
695
- let r = B(t, n);
697
+ let r = V(t, n);
696
698
  if (r) {
697
699
  let e = `${r.target}:${JSON.stringify(r.args)}`;
698
700
  try {
699
701
  let n = sessionStorage.getItem(`atmx_cache_${e}`);
700
- n && k(t, {
702
+ n && A(t, {
701
703
  state: "data",
702
704
  data: JSON.parse(n),
703
705
  source: "cache",
@@ -707,20 +709,20 @@ function q(e = document) {
707
709
  }
708
710
  });
709
711
  }
710
- function J(e = document) {
711
- K(e), e.querySelectorAll("[ax-query]").forEach((e) => {
712
+ function Y(e = document) {
713
+ q(e), e.querySelectorAll("[ax-query]").forEach((e) => {
712
714
  let t = e;
713
- k(t, {});
715
+ A(t, {});
714
716
  let n = t.getAttribute("ax-trigger") || "load";
715
- n === "load" ? V(t) : n === "intersect" ? G.observe(t) : t.addEventListener(n, (e) => {
716
- e.preventDefault(), V(t);
717
+ n === "load" ? H(t) : n === "intersect" ? K.observe(t) : t.addEventListener(n, (e) => {
718
+ e.preventDefault(), H(t);
717
719
  });
718
720
  }), e.querySelectorAll("[ax-mutate]").forEach((e) => {
719
721
  let t = e;
720
- k(t, {});
722
+ A(t, {});
721
723
  let n = t.tagName === "FORM" ? "submit" : "click";
722
724
  t.addEventListener(n, (e) => {
723
- (t.tagName === "A" || t.tagName === "BUTTON" || t.tagName === "FORM") && e.preventDefault(), H(t);
725
+ (t.tagName === "A" || t.tagName === "BUTTON" || t.tagName === "FORM") && e.preventDefault(), U(t);
724
726
  });
725
727
  }), e.querySelectorAll("[ax-trigger=\"refresh\"]").forEach((e) => {
726
728
  let t = e;
@@ -728,20 +730,20 @@ function J(e = document) {
728
730
  e.preventDefault();
729
731
  let n = t.closest("[ax-query]");
730
732
  if (n) {
731
- let e = B(n, n.getAttribute("ax-query"));
733
+ let e = V(n, n.getAttribute("ax-query"));
732
734
  if (e && a(e.target)) {
733
- let t = `${e.target}:${JSON.stringify(e.args)}`, r = M.get(t);
734
- r ? r.fetch(!0) : V(n);
735
+ let t = `${e.target}:${JSON.stringify(e.args)}`, r = N.get(t);
736
+ r ? r.fetch(!0) : H(n);
735
737
  }
736
738
  }
737
739
  });
738
740
  });
739
741
  }
740
- function Y() {
742
+ function X() {
741
743
  new MutationObserver((e) => {
742
744
  e.forEach((e) => {
743
745
  e.addedNodes.forEach((e) => {
744
- e instanceof HTMLElement && J(e);
746
+ e instanceof HTMLElement && Y(e);
745
747
  });
746
748
  });
747
749
  }).observe(document.body, {
@@ -751,7 +753,7 @@ function Y() {
751
753
  }
752
754
  //#endregion
753
755
  //#region src/dom/components/engine-status.ts
754
- var X = class extends HTMLElement {
756
+ var Z = class extends HTMLElement {
755
757
  constructor() {
756
758
  super();
757
759
  }
@@ -772,11 +774,11 @@ var X = class extends HTMLElement {
772
774
  }) : (this.innerText = t, this.getAttribute("class") || (this.className = `text-xs font-bold ${n}`));
773
775
  }
774
776
  };
775
- typeof window < "u" && !customElements.get("ax-engine-status") && customElements.define("ax-engine-status", X);
777
+ typeof window < "u" && !customElements.get("ax-engine-status") && customElements.define("ax-engine-status", Z);
776
778
  //#endregion
777
779
  //#region src/index.ts
778
- var Z = "0.123.0", Q = new class {
779
- version = Z;
780
+ var Q = "0.125.0", $ = new class {
781
+ version = Q;
780
782
  initialized = !1;
781
783
  debug = !1;
782
784
  async init(e) {
@@ -785,70 +787,79 @@ var Z = "0.123.0", Q = new class {
785
787
  contracts: {},
786
788
  initDurationMs: 0
787
789
  };
788
- let t = await h(e);
789
- return t.ok ? (this.debug = e.debug || !1, Y(), J(document.body), this.initialized = !0, this.debug && console.log("%c🚀 ATMX Debug Mode: Enabled", "color: #2563eb; font-weight: bold;"), console.log(`✅ ATMX v${this.version} Online (${t.initDurationMs}ms). Reactive Engine Started.`), document.dispatchEvent(new CustomEvent("atmx:ready", { detail: t }))) : (console.error("❌ ATMX Initialization Failed:", t.error), document.dispatchEvent(new CustomEvent("atmx:error", { detail: t.error }))), t;
790
+ let t = await g(e);
791
+ return t.ok ? (this.debug = e.debug || !1, X(), Y(document.body), this.initialized = !0, this.debug && console.log("%c🚀 ATMX Debug Mode: Enabled", "color: #2563eb; font-weight: bold;"), console.log(`✅ ATMX v${this.version} Online (${t.initDurationMs}ms). Reactive Engine Started.`), document.dispatchEvent(new CustomEvent("atmx:ready", { detail: t }))) : (console.error("❌ ATMX Initialization Failed:", t.error), document.dispatchEvent(new CustomEvent("atmx:error", { detail: t.error }))), t;
790
792
  }
791
793
  hydrate(e) {
792
794
  let t = document;
793
- e && (t = typeof e == "string" ? document.querySelector(e) : e), t && q(t);
795
+ e && (t = typeof e == "string" ? document.querySelector(e) : e), t && J(t);
794
796
  }
795
797
  triggerQuery(e) {
796
798
  let t = typeof e == "string" ? document.querySelector(e) : e;
797
- t && t instanceof HTMLElement && t.hasAttribute("ax-query") && V(t);
799
+ t && t instanceof HTMLElement && t.hasAttribute("ax-query") && H(t);
798
800
  }
799
801
  on(e, t) {
800
802
  document.addEventListener(`atmx:${e}`, t);
801
803
  }
802
804
  setAuthToken(e, t, n) {
803
- g(e, t, n);
804
- }
805
- setNamespaceAuthToken(e, t, n = !0) {
806
805
  _(e, t, n);
807
806
  }
807
+ setNamespaceAuthToken(e, t) {
808
+ v(e, t);
809
+ }
808
810
  setGlobalAuthToken(e) {
809
- b(e);
811
+ x(e);
810
812
  }
811
813
  sendStreamMessage(e, t) {
812
- y(e, t);
814
+ b(e, t);
813
815
  }
814
816
  clearAuthToken(e, t) {
815
- v(e, t);
817
+ y(e, t);
816
818
  }
817
819
  connect(e) {
818
- let t = B(null, e);
820
+ let t = V(null, e);
819
821
  if (!t) return;
820
822
  let n = a(t.target);
821
823
  if (!n) return;
822
- let r = `${n.namespace}:${n.id}:${JSON.stringify(t.args)}`, i = M.get(r);
823
- i || (i = new j(r, n, t.args), M.set(r, i)), i.fetch();
824
+ let r = `${n.namespace}:${n.id}:${JSON.stringify(t.args)}`, i = N.get(r);
825
+ i || (i = new M(r, n, t.args), N.set(r, i)), i.fetch();
824
826
  }
825
827
  disconnect(e) {
826
- let n = B(null, e);
828
+ let n = V(null, e);
827
829
  if (!n) return;
828
830
  let r = a(n.target);
829
831
  if (!r) return;
830
- let i = `${r.namespace}:${r.id}:${JSON.stringify(n.args)}`, o = M.get(i);
831
- o && (o.currentReqId && t.delete(o.currentReqId), M.delete(i), this.debug && console.log(`🔌 ATMX Disconnected Stream: ${e}`));
832
+ let i = `${r.namespace}:${r.id}:${JSON.stringify(n.args)}`, o = N.get(i);
833
+ o && (o.currentReqId && t.delete(o.currentReqId), N.delete(i), this.debug && console.log(`🔌 ATMX Disconnected Stream: ${e}`));
832
834
  }
833
835
  send(e, t) {
834
- let n = B(null, e);
836
+ let n = V(null, e);
835
837
  if (!n) return;
836
838
  let r = a(n.target);
837
839
  if (!r) return;
838
- let i = `${r.namespace}:${r.id}:${JSON.stringify(n.args)}`, o = M.get(i);
839
- o && o.currentReqId ? y(o.currentReqId, t) : console.warn(`ATMX: Cannot send message, stream not active for ${e}`);
840
+ let i = `${r.namespace}:${r.id}:${JSON.stringify(n.args)}`, o = N.get(i);
841
+ o && o.currentReqId ? b(o.currentReqId, t) : console.warn(`ATMX: Cannot send message, stream not active for ${e}`);
840
842
  }
841
843
  mutate(e, t, n) {
842
- return N(e, t, n);
844
+ return P(e, t, n);
845
+ }
846
+ mutateBytes(e, t, n, r = {}) {
847
+ return P(e, t, {}, {
848
+ rawBody: n,
849
+ headers: r
850
+ });
843
851
  }
844
852
  invalidate(e, t) {
845
- P(e, t);
853
+ F(e, t);
846
854
  }
847
855
  setQueryData(e, t, n) {
848
- F(e, t, n);
856
+ I(e, t, n);
849
857
  }
850
858
  clearCache(e) {
851
- I(e);
859
+ L(e);
860
+ }
861
+ purgeCache(e) {
862
+ L(e, !1);
852
863
  }
853
864
  onError(e) {
854
865
  document.addEventListener("atmx:error", (t) => {
@@ -856,6 +867,6 @@ var Z = "0.123.0", Q = new class {
856
867
  });
857
868
  }
858
869
  }();
859
- typeof window < "u" && (window.atmx = Q);
870
+ typeof window < "u" && (window.atmx = $);
860
871
  //#endregion
861
- export { Z as ATMX_VERSION, f as allocBytes, p as allocString, Q as atmx, o as buildRequestPath, v as clearAuthToken, h as initWasm, t as pendingRequests, a as resolveRoute, y as sendStreamMessage, g as setAuthToken, b as setGlobalAuthToken, u as wasmEngine };
872
+ export { Q as ATMX_VERSION, p as allocBytes, m as allocString, $ as atmx, o as buildRequestPath, y as clearAuthToken, g as initWasm, t as pendingRequests, a as resolveRoute, b as sendStreamMessage, _ as setAuthToken, x as setGlobalAuthToken, u as wasmEngine };
package/dist/atmx.umd.js CHANGED
@@ -320,9 +320,6 @@
320
320
  const ret = getObject(arg0).read();
321
321
  return addHeapObject(ret);
322
322
  },
323
- __wbg_removeItem_487c385a3066a8ed: function() { return handleError(function (arg0, arg1, arg2) {
324
- getObject(arg0).removeItem(getStringFromWasm0(arg1, arg2));
325
- }, arguments); },
326
323
  __wbg_require_b4edbdcf3e2a1ef0: function() { return handleError(function () {
327
324
  const ret = module.require;
328
325
  return addHeapObject(ret);
@@ -435,22 +432,22 @@
435
432
  },
436
433
  __wbindgen_cast_0000000000000001: function(arg0, arg1) {
437
434
  // Cast intrinsic for \`Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 193, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref\`.
438
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_2379);
435
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_2381);
439
436
  return addHeapObject(ret);
440
437
  },
441
438
  __wbindgen_cast_0000000000000002: function(arg0, arg1) {
442
439
  // Cast intrinsic for \`Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("Event")], shim_idx: 45, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref\`.
443
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_500);
440
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_496);
444
441
  return addHeapObject(ret);
445
442
  },
446
443
  __wbindgen_cast_0000000000000003: function(arg0, arg1) {
447
444
  // Cast intrinsic for \`Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("MessageEvent")], shim_idx: 45, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref\`.
448
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_500_2);
445
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_496_2);
449
446
  return addHeapObject(ret);
450
447
  },
451
448
  __wbindgen_cast_0000000000000004: function(arg0, arg1) {
452
- // Cast intrinsic for \`Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 107, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref\`.
453
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_2219);
449
+ // Cast intrinsic for \`Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 106, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref\`.
450
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_2221);
454
451
  return addHeapObject(ret);
455
452
  },
456
453
  __wbindgen_cast_0000000000000005: function(arg0, arg1) {
@@ -477,22 +474,22 @@
477
474
  };
478
475
  }
479
476
 
480
- function __wasm_bindgen_func_elem_2219(arg0, arg1) {
481
- wasm.__wasm_bindgen_func_elem_2219(arg0, arg1);
477
+ function __wasm_bindgen_func_elem_2221(arg0, arg1) {
478
+ wasm.__wasm_bindgen_func_elem_2221(arg0, arg1);
482
479
  }
483
480
 
484
- function __wasm_bindgen_func_elem_500(arg0, arg1, arg2) {
485
- wasm.__wasm_bindgen_func_elem_500(arg0, arg1, addHeapObject(arg2));
481
+ function __wasm_bindgen_func_elem_496(arg0, arg1, arg2) {
482
+ wasm.__wasm_bindgen_func_elem_496(arg0, arg1, addHeapObject(arg2));
486
483
  }
487
484
 
488
- function __wasm_bindgen_func_elem_500_2(arg0, arg1, arg2) {
489
- wasm.__wasm_bindgen_func_elem_500_2(arg0, arg1, addHeapObject(arg2));
485
+ function __wasm_bindgen_func_elem_496_2(arg0, arg1, arg2) {
486
+ wasm.__wasm_bindgen_func_elem_496_2(arg0, arg1, addHeapObject(arg2));
490
487
  }
491
488
 
492
- function __wasm_bindgen_func_elem_2379(arg0, arg1, arg2) {
489
+ function __wasm_bindgen_func_elem_2381(arg0, arg1, arg2) {
493
490
  try {
494
491
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
495
- wasm.__wasm_bindgen_func_elem_2379(retptr, arg0, arg1, addHeapObject(arg2));
492
+ wasm.__wasm_bindgen_func_elem_2381(retptr, arg0, arg1, addHeapObject(arg2));
496
493
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
497
494
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
498
495
  if (r1) {
@@ -825,5 +822,5 @@
825
822
 
826
823
  return Object.assign(__wbg_init, { initSync }, exports);
827
824
  })({ __proto__: null });
828
- `,d=null,f=`atmx_auth_store`;function p(e){if(e.length===0)return 0;let t=d.axiom_malloc(e.length);return new Uint8Array(d.memory.buffer).set(e,t),t}function m(e){if(!e)return{ptr:0,len:0};let t=new TextEncoder().encode(e);return{ptr:p(t),len:t.length}}function h(e){let t=`https://atmx.axiomcore.dev/${e.engineVersion||`v0.123.0`}/axiom_runtime.wasm`;return e.disableCacheBuster||(t+=`?t=${Date.now()}`),t}async function g(e){let t=performance.now(),n={ok:!1,contracts:{},initDurationMs:0};try{if(!window.wasm_bindgen){let e=document.createElement(`script`);e.type=`text/javascript`,e.text=`${u}\nwindow.wasm_bindgen = wasm_bindgen;`,document.head.appendChild(e)}let t=window.wasm_bindgen,i=h(e);try{d=await t(fetch(i))}catch(e){throw{stage:`ffiBoundary`,category:`network`,code:`WasmFetchFailed`,message:`Failed to download WASM engine: ${e.message}`,retryable:!0}}r(d),setInterval(()=>{d&&d.axiom_process_responses()},16);let o=m(``),s=d.axiom_wasm_initialize(o.ptr,o.len);if(d.axiom_free_memory(o.ptr,o.len),s!==0)throw{stage:`runtime`,category:`server`,code:`InitFailed`,message:`Engine init failed (Code: ${s})`,retryable:!1};try{let e=JSON.parse(localStorage.getItem(f)||`{}`);for(let[t,n]of Object.entries(e))for(let[e,r]of Object.entries(n))_(t,e,r,!1)}catch(e){console.warn(`ATMX: Failed to hydrate auth tokens`,e)}for(let[t,r]of Object.entries(e.contracts))try{let i=await fetch(r.contractUrl);if(!i.ok)throw Error(`HTTP ${i.status}`);let o=await i.arrayBuffer(),s=0;try{let e=new TextDecoder().decode(o),n=JSON.parse(e),r=n?.ir?.endpoints;r&&(s=Array.isArray(r)?r.length:Object.keys(r).length),a(t,n)}catch(e){console.error(`ATMX: Failed to parse .axiom contract for '${t}'`,e)}let c=new Uint8Array(o),l=p(c),u=m(t),f=m(r.baseUrl),h=d.axiom_wasm_load_contract(u.ptr,u.len,f.ptr,f.len,l,c.length,0,0,0,0);if(d.axiom_free_memory(l,c.length),d.axiom_free_memory(u.ptr,u.len),d.axiom_free_memory(f.ptr,f.len),h!==0&&h!==-1)throw Error(`Load error (Code: ${h})`);e.debug&&console.log(`%c🔒 Axiom Contract Loaded: ${t} (${s} endpoints)`,`color: #10b981; font-weight: bold;`),n.contracts[t]={loaded:!0,endpointCount:s},document.dispatchEvent(new CustomEvent(`atmx:contract-loaded`,{detail:{namespace:t,endpointCount:s}}))}catch(e){n.contracts[t]={loaded:!1,endpointCount:0,error:e.message},console.error(`ATMX: Contract failed for ${t}`,e)}n.ok=!0}catch(e){n.ok=!1,n.error=e.stage?e:{stage:`runtime`,category:`unknown`,code:`FatalError`,message:e.message||String(e),retryable:!1}}return n.initDurationMs=Math.round(performance.now()-t),n}function _(e,t,n,r=!0){if(!d)return;if(r)try{let r=JSON.parse(localStorage.getItem(f)||`{}`);r[e]||(r[e]={}),r[e][t]=n,localStorage.setItem(f,JSON.stringify(r))}catch{}let i=m(e),a=m(t),o=m(n);d.axiom_wasm_set_auth_token(i.ptr,i.len,a.ptr,a.len,o.ptr,o.len),d.axiom_free_memory(i.ptr,i.len),d.axiom_free_memory(a.ptr,a.len),d.axiom_free_memory(o.ptr,o.len)}function v(e,t,n=!0){if(!d)return;let r=l(e),i=n?JSON.parse(localStorage.getItem(f)||`{}`):{};n&&!i[e]&&(i[e]={});for(let a of r){let r=m(a.namespace),o=m(a.name),s=m(t);d.axiom_wasm_set_auth_token(r.ptr,r.len,o.ptr,o.len,s.ptr,s.len),d.axiom_free_memory(r.ptr,r.len),d.axiom_free_memory(o.ptr,o.len),d.axiom_free_memory(s.ptr,s.len),n&&(i[e][a.name]=t)}n&&localStorage.setItem(f,JSON.stringify(i))}function y(e,t){if(!d)return;try{let n=JSON.parse(localStorage.getItem(f)||`{}`);n[e]&&(delete n[e][t],localStorage.setItem(f,JSON.stringify(n)))}catch{}let n=m(e),r=m(t);d.axiom_wasm_clear_auth_token(n.ptr,n.len,r.ptr,r.len),d.axiom_free_memory(n.ptr,n.len),d.axiom_free_memory(r.ptr,r.len)}function b(e,t){if(!d)return;let n=new TextEncoder().encode(JSON.stringify(t)),r=p(n);d.axiom_wasm_send_stream_message(e,r,n.length),d.axiom_free_memory(r,n.length)}function x(e,t=!0){if(!d)return;let n=c(),r=t?JSON.parse(localStorage.getItem(f)||`{}`):{};for(let i of n){let n=m(i.namespace),a=m(i.name),o=m(e);d.axiom_wasm_set_auth_token(n.ptr,n.len,a.ptr,a.len,o.ptr,o.len),d.axiom_free_memory(n.ptr,n.len),d.axiom_free_memory(a.ptr,a.len),d.axiom_free_memory(o.ptr,o.len),t&&(r[i.namespace]||(r[i.namespace]={}),r[i.namespace][i.name]=e)}t&&localStorage.setItem(f,JSON.stringify(r))}function S(e,t,n={}){if(e)try{let r=Object.keys(n),i=Object.values(n);return Function(`$data`,`$error`,`$state`,...r,`return (${e});`)(t.data??null,t.error??null,t,...i)}catch(t){console.error(`ATMX Eval Error: ${e}`,t);return}}function C(e,t,n={}){if(e)try{let r=Object.keys(n),i=Object.values(n);Function(`$data`,`$error`,`$state`,...r,e)(t.data??null,t.error??null,t,...i)}catch(t){console.error(`ATMX Action Error: ${e}`,t)}}function w(e,t){T(e,t,!0,{})}function T(e,t,n,r){if(!(!n&&(e.hasAttribute(`ax-query`)||e.hasAttribute(`ax-mutate`)))&&!(!n&&e.hasAttribute(`data-ax-clone-of`))){if(e.hasAttribute(`ax-for`)){E(e,t,r);return}if(e.hasAttribute(`ax-when`)&&(e.getAttribute(`ax-when`).split(`,`).map(e=>e.trim()).includes(t.state)?(e.removeAttribute(`hidden`),e.style.removeProperty(`display`)):(e.setAttribute(`hidden`,`true`),e.style.setProperty(`display`,`none`,`important`))),e.hasAttribute(`ax-if`)&&(S(e.getAttribute(`ax-if`),t,r)?(e.removeAttribute(`hidden`),e.style.removeProperty(`display`)):(e.setAttribute(`hidden`,``),e.style.setProperty(`display`,`none`,`important`))),e.hasAttribute(`ax-text`)){let n=S(e.getAttribute(`ax-text`),t,r);e.textContent=n==null?``:String(n)}if(e.hasAttribute(`ax-error-for`)){let n=e.getAttribute(`ax-error-for`),r=``;if(t.state===`error`&&t.error?.code===`ValidationError`){let e=(t.error.details||``).split(`
829
- `);for(let t of e)if(t.startsWith(n+`:`)){r=t.substring(n.length+1).trim();break}}let i=e.parentElement?.querySelector(`[name="${n}"]`);r?(e.textContent=r,e.removeAttribute(`hidden`),e.style.removeProperty(`display`),i&&(i.setAttribute(`aria-invalid`,`true`),i.classList.add(`border-red-500`,`focus:border-red-500`,`focus:ring-red-500`))):(e.setAttribute(`hidden`,``),e.style.setProperty(`display`,`none`,`important`),e.textContent=``,i&&(i.removeAttribute(`aria-invalid`),i.classList.remove(`border-red-500`,`focus:border-red-500`,`focus:ring-red-500`)))}Array.from(e.attributes).forEach(n=>{if(n.name.startsWith(`ax-bind:`)){let i=n.name.substring(8),a=S(n.value,t,r);a===!1||a==null?e.removeAttribute(i):e.setAttribute(i,a===!0?i:String(a))}}),Array.from(e.children).forEach(e=>{T(e,t,!1,r)})}}function E(e,t,n){e.style.display=`none`,e.hasAttribute(`data-ax-for-id`)||e.setAttribute(`data-ax-for-id`,Math.random().toString(36).substr(2,9));let r=e.getAttribute(`data-ax-for-id`),i=e.getAttribute(`ax-for`).match(/^\s*(?:(?:\(\s*([\w\$]+)\s*,\s*([\w\$]+)\s*\))|([\w\$]+))\s+in\s+(.+)$/);if(!i)return;let a=i[1]||i[3],o=i[2],s=i[4],c=S(s,t,n),l=e.parentElement;if(!l)return;let u=Array.from(l.querySelectorAll(`[data-ax-clone-of="${r}"]`));if(!c||!Array.isArray(c)){u.forEach(e=>e.remove());return}let d=e.getAttribute(`ax-key`),f=[];c.forEach((i,s)=>{let c={...n,[a]:i};o&&(c[o]=s);let p=String(s);d&&(p=String(S(d,t,c)));let m=u.find(e=>e.getAttribute(`data-ax-key`)===p);m||(m=e.cloneNode(!0),m.removeAttribute(`ax-for`),m.style.removeProperty(`display`),m.style.length===0&&m.removeAttribute(`style`),m.setAttribute(`data-ax-clone-of`,r),m.setAttribute(`data-ax-key`,p)),l.insertBefore(m,e),T(m,t,!0,c),f.push(m)}),u.forEach(e=>{f.includes(e)||e.remove()})}var D=new WeakMap;function O(e){return D.has(e)||D.set(e,{state:`idle`,isFetching:!1,isMutating:!1,source:null,data:null,error:null}),D.get(e)}function k(e){let t=e.parentElement;for(;t;){if(t.hasAttribute(`ax-query`)||t.hasAttribute(`ax-mutate`)){let e=D.get(t);if(e&&e.data)return e.data}t=t.parentElement}return{}}function A(e,t){let n=O(e);Object.assign(n,t),t.state===`loading`&&(n.isFetching=!0),t.state===`mutating`&&(n.isMutating=!0),(t.state===`success`||t.state===`data`&&t.isFetching===!1)&&(n.isFetching=!1,n.isMutating=!1),D.set(e,n),w(e,n)}var j=0,M=class{key;route;args;state;listeners=new Set;currentReqId=null;constructor(e,t,n){this.key=e,this.route=t,this.args=n;let r=null;try{let t=sessionStorage.getItem(`atmx_cache_${e}`);t&&(r=JSON.parse(t))}catch{}r?this.state={state:`data`,isFetching:!1,source:`cache`,data:r,error:null}:this.state={state:`idle`,isFetching:!1,source:null,data:null,error:null}}subscribe(e){this.listeners.add(e),e(this.state)}update(e){if(this.state={...this.state,...e},this.state.data)try{sessionStorage.setItem(`atmx_cache_${this.key}`,JSON.stringify(this.state.data))}catch{}this.listeners.forEach(e=>e(this.state))}fetch(e=!1){if(this.state.isFetching&&!e)return;this.update({state:this.state.data?`data`:`loading`,isFetching:!0,error:null});let r=++j;this.currentReqId=r;let{path:i,remainingArgs:a}=s(this.route,this.args),o=new Uint8Array;Object.keys(a).length>0&&(o=new TextEncoder().encode(JSON.stringify(a))),$.debug&&(console.groupCollapsed(`%c➔ WASM QUERY [#${r}]`,`color: #7c3aed; font-weight: bold;`),console.log(`Namespace:`,this.route.namespace),console.log(`Endpoint ID:`,this.route.id),console.log(`Path:`,i),console.groupEnd()),n.set(r,{isStream:this.route.isStream,onResponse:e=>{if(this.currentReqId===r){if(e.eventType===t.Error){this.update({state:`error`,error:e.error,isFetching:!1});return}if(e.data!==void 0){let n=`network`,r=!1;e.eventType===t.CacheHit?(n=`cache`,r=!1):e.eventType===t.CacheHitAndFetching?(n=`cache`,r=!0):e.eventType===t.NetworkSuccess&&(n=`network`,r=!1),this.update({state:`data`,data:e.data,source:n,isFetching:r})}}},onComplete:()=>{this.currentReqId===r&&this.update({isFetching:!1})}});let c=m(this.route.namespace),l=m(this.route.method),u=m(i),f=p(o),h=m(``),g=m(``);d.axiom_wasm_call(r,c.ptr,c.len,this.route.id,l.ptr,l.len,u.ptr,u.len,h.ptr,h.len,g.ptr,g.len,f,o.length),d.axiom_free_memory(c.ptr,c.len),d.axiom_free_memory(l.ptr,l.len),d.axiom_free_memory(u.ptr,u.len),d.axiom_free_memory(h.ptr,h.len),d.axiom_free_memory(g.ptr,g.len)}},N=new Map;function P(e,r={},i={}){return new Promise((a,c)=>{let l=o(e);if(!l)return c(Error(`ATMX Route not found: ${e}`));let u=++j,{path:f,remainingArgs:h}=s(l,{...r,...i}),g=h;l.bodyParam&&h[l.bodyParam]!==void 0&&typeof h[l.bodyParam]==`object`&&(g=h[l.bodyParam]);let _=new Uint8Array;Object.keys(g).length>0&&(_=new TextEncoder().encode(JSON.stringify(g))),n.set(u,{isStream:l.isStream,onResponse:e=>{e.eventType===t.Error?(document.dispatchEvent(new CustomEvent(`atmx:error`,{detail:e.error})),c(e.error)):e.data!==void 0&&a(e.data)},onComplete:()=>{}});let v=m(l.namespace),y=m(l.method),b=m(f),x=m(``),S=m(``),C=p(_);d.axiom_wasm_call(u,v.ptr,v.len,l.id,y.ptr,y.len,b.ptr,b.len,x.ptr,x.len,S.ptr,S.len,C,_.length),d.axiom_free_memory(v.ptr,v.len),d.axiom_free_memory(y.ptr,y.len),d.axiom_free_memory(b.ptr,b.len),d.axiom_free_memory(x.ptr,x.len),d.axiom_free_memory(S.ptr,S.len),C&&d.axiom_free_memory(C,_.length)})}function F(e,t){let[n,r]=e.split(`.`),i=`atmx_cache_${e}`;t&&Object.keys(t).length>0&&(i+=`:${JSON.stringify(t)}`),Object.keys(sessionStorage).forEach(e=>{(e===i||!t&&e.startsWith(i+`:`))&&sessionStorage.removeItem(e)}),N.forEach((e,i)=>{e.route.namespace===n&&e.route.name===r&&(!t||Object.keys(t).length===0||JSON.stringify(e.args)===JSON.stringify(t))&&e.fetch(!0)})}function I(e,t={},n){let r=`${e}:${JSON.stringify(t)}`;try{sessionStorage.setItem(`atmx_cache_${r}`,JSON.stringify(n))}catch{}let i=N.get(r);i&&i.update({state:`data`,source:`cache`,isFetching:!1,data:n,error:null})}function L(e){let t=e?`atmx_cache_${e}.`:`atmx_cache_`;Object.keys(sessionStorage).forEach(e=>{e.startsWith(t)&&sessionStorage.removeItem(e)}),N.forEach(t=>{(!e||t.route.namespace===e)&&t.fetch(!0)})}var R=0;function z(e,t){let n=`ax-on:${t}`;e.hasAttribute(n)&&C(e.getAttribute(n),O(e))}function B(e,t,n){if(!$.debug)return;let r=e===`OUT`?`#7c3aed`:`#059669`;console.groupCollapsed(`%c${e===`OUT`?`➔ WASM CALL`:`← WASM RESP`} [#${t}]`,`color: ${r}; font-weight: bold;`),console.log(`Details:`,n),console.groupEnd()}function V(e,t){let n=t.trim().match(/^([\w\.\-]+)(?:\((.*)\))?$/);if(!n)return null;let r=n[1],i={};if(n[2]&&n[2].trim()!==``)try{if(e){let t=O(e),r=t.data||k(e);i=Function(`$data`,`$state`,`return (${n[2]});`)(r??null,t)||{}}else i=Function(`return (${n[2]});`)()||{}}catch(e){console.error(`ATMX Scope Error in "${t}":`,e)}return{target:r,args:i}}function H(e){let t=e.getAttribute(`ax-query`);if(!t)return;let n=V(e,t);if(!n)return;let r=o(n.target);if(!r){A(e,{state:`error`,error:{message:`Route not found: ${n.target}`}});return}let i=`${n.target}:${JSON.stringify(n.args)}`,a=N.get(i);a||(a=new M(i,r,n.args),N.set(i,a)),e._axListener||(e._axListener=t=>{A(e,t),(t.state===`data`||t.state===`error`)&&(z(e,t.state),e.dispatchEvent(new CustomEvent(`atmx:${t.state}`,{bubbles:!0,detail:t.data||t.error})))},a.subscribe(e._axListener)),a.fetch()}function U(e){let t=e.getAttribute(`ax-mutate`);if(!t)return;let n=V(e,t);if(!n)return;let r=o(n.target);if(!r){console.error(`ATMX: Mutation route not found for target '${n.target}'. Check your ax-mutate attribute.`),A(e,{state:`error`,error:{message:`Route not found: ${n.target}`}}),z(e,`error`);return}A(e,{state:`mutating`,error:null,data:null}),z(e,`mutating`);let i={};e instanceof HTMLFormElement&&new FormData(e).forEach((t,n)=>{let r=e.elements.namedItem(n),a=!1;r instanceof HTMLInputElement?a=r.type===`number`:r instanceof RadioNodeList&&r.length>0&&(a=r[0].type===`number`);let o=a&&t!==``?Number(t):t;if(n.includes(`.`)){let e=n.split(`.`),t=i;for(let n=0;n<e.length-1;n++)t[e[n]]||(t[e[n]]={}),t=t[e[n]];t[e[e.length-1]]=o}else i[n]=o});let{path:a,remainingArgs:c}=s(r,{...i,...n.args}),l=c;r.bodyParam&&c[r.bodyParam]!==void 0&&typeof c[r.bodyParam]==`object`&&(l=c[r.bodyParam]);let u={},d=e.getAttribute(`ax-headers`);if(d)try{u=Function(`return (`+d+`);`)()||{}}catch(e){console.error(`ATMX: Invalid ax-headers syntax`,e)}let f=Object.entries(u).some(([e,t])=>e.toLowerCase()===`content-type`&&t.includes(`application/x-www-form-urlencoded`)),p=new Uint8Array;if(Object.keys(l).length>0)if(f){let e=new URLSearchParams;for(let[t,n]of Object.entries(l))e.append(t,String(n));p=new TextEncoder().encode(e.toString())}else p=new TextEncoder().encode(JSON.stringify(l));W(e,r.namespace,r.id,r.method,a,p,r.isStream,!0,u,f)}function W(e,t,r,i,a,o,s,c,l={},u=!1){let f=++R;B(`OUT`,f,{namespace:t,endpointId:r,method:i,path:a,headers:l,payload:o.length>0?u?new TextDecoder().decode(o):JSON.parse(new TextDecoder().decode(o)):null}),n.set(f,{isStream:s,onResponse:t=>G(e,t,c,f),onComplete:()=>{$.debug&&console.log(`%c✔ Stream Complete [#${f}]`,`color: #94a3b8;`)}});let h=m(t),g=m(i),_=m(a),v=m(``),y=m(Object.keys(l).length>0?JSON.stringify(l):``),b=p(o);d.axiom_wasm_call(f,h.ptr,h.len,r,g.ptr,g.len,_.ptr,_.len,v.ptr,v.len,y.ptr,y.len,b,o.length),d.axiom_free_memory(h.ptr,h.len),d.axiom_free_memory(g.ptr,g.len),d.axiom_free_memory(_.ptr,_.len),d.axiom_free_memory(v.ptr,v.len),d.axiom_free_memory(y.ptr,y.len),b&&d.axiom_free_memory(b,o.length)}function G(e,n,r,i){if(B(`IN`,i,{eventType:t[n.eventType],data:n.data,error:n.error}),n.eventType===t.Error){A(e,{state:`error`,error:n.error,isFetching:!1,isMutating:!1}),z(e,`error`),e.dispatchEvent(new CustomEvent(`atmx:error`,{bubbles:!0,detail:n.error}));return}if(n.data!==void 0){let i=`network`,a=!1;n.eventType===t.CacheHit?i=`cache`:n.eventType===t.CacheHitAndFetching?(i=`cache`,a=!0):n.eventType===t.NetworkSuccess&&(i=`network`);let s=r?`success`:`data`;if(A(e,{state:s,data:n.data,source:i,isFetching:a,isMutating:!1}),r){let t=e.getAttribute(`ax-invalidates`);t&&t.split(`,`).map(e=>e.trim()).forEach(t=>{let n=S(`\`${t}\``,O(e))||t;$.invalidate(n)});let n=e.getAttribute(`ax-store-token`);if(n){let t=S(n,O(e));if(t){let n=o(V(e,e.getAttribute(`ax-mutate`)).target)?.namespace||`default`,r=e.getAttribute(`ax-token-target`);(r?r.split(`,`).map(e=>e.trim()):[n]).forEach(e=>{$.setNamespaceAuthToken(e,t)})}}}z(e,s),e.dispatchEvent(new CustomEvent(r?`atmx:success`:`atmx:data`,{bubbles:!0,detail:n.data}))}}var K=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let t=e.target;t.hasAttribute(`ax-query`)&&H(t),K.unobserve(t)}})});function q(e){e.querySelectorAll(`[\\:ax-query], [\\:ax-mutate]`).forEach(e=>{if(e.hasAttribute(`:ax-query`)){let t=S(e.getAttribute(`:ax-query`),O(e));t&&e.setAttribute(`ax-query`,String(t)),e.removeAttribute(`:ax-query`)}if(e.hasAttribute(`:ax-mutate`)){let t=S(e.getAttribute(`:ax-mutate`),O(e));t&&e.setAttribute(`ax-mutate`,String(t)),e.removeAttribute(`:ax-mutate`)}})}function J(e=document){q(e),e.querySelectorAll(`[ax-query]`).forEach(e=>{let t=e,n=t.getAttribute(`ax-query`);if(!n)return;let r=V(t,n);if(r){let e=`${r.target}:${JSON.stringify(r.args)}`;try{let n=sessionStorage.getItem(`atmx_cache_${e}`);n&&A(t,{state:`data`,data:JSON.parse(n),source:`cache`,isFetching:!0})}catch{}}})}function Y(e=document){q(e),e.querySelectorAll(`[ax-query]`).forEach(e=>{let t=e;A(t,{});let n=t.getAttribute(`ax-trigger`)||`load`;n===`load`?H(t):n===`intersect`?K.observe(t):t.addEventListener(n,e=>{e.preventDefault(),H(t)})}),e.querySelectorAll(`[ax-mutate]`).forEach(e=>{let t=e;A(t,{});let n=t.tagName===`FORM`?`submit`:`click`;t.addEventListener(n,e=>{(t.tagName===`A`||t.tagName===`BUTTON`||t.tagName===`FORM`)&&e.preventDefault(),U(t)})}),e.querySelectorAll(`[ax-trigger="refresh"]`).forEach(e=>{let t=e;t.addEventListener(`click`,e=>{e.preventDefault();let n=t.closest(`[ax-query]`);if(n){let e=V(n,n.getAttribute(`ax-query`));if(e&&o(e.target)){let t=`${e.target}:${JSON.stringify(e.args)}`,r=N.get(t);r?r.fetch(!0):H(n)}}})})}function X(){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{e instanceof HTMLElement&&Y(e)})})}).observe(document.body,{childList:!0,subtree:!0})}var Z=class extends HTMLElement{constructor(){super()}connectedCallback(){let e=this.getAttribute(`loading-text`)||`Initializing...`,t=this.getAttribute(`ready-text`)||`Online`,n=this.getAttribute(`error-text`)||`Failed to Connect`;this.renderState(`loading`,e,`text-amber-500 animate-pulse`),document.addEventListener(`atmx:ready`,()=>{this.renderState(`ready`,t,`text-green-600`)}),document.addEventListener(`atmx:error`,e=>{let t=e;t.detail&&t.detail.stage===`runtime`&&this.renderState(`error`,`${n}: ${t.detail.message}`,`text-red-600`)})}renderState(e,t,n){this.setAttribute(`data-state`,e);let r=this.querySelectorAll(`[data-ax-when]`);r.length>0?r.forEach(t=>{t.getAttribute(`data-ax-when`)===e?t.removeAttribute(`hidden`):t.setAttribute(`hidden`,``)}):(this.innerText=t,this.getAttribute(`class`)||(this.className=`text-xs font-bold ${n}`))}};typeof window<`u`&&!customElements.get(`ax-engine-status`)&&customElements.define(`ax-engine-status`,Z);var Q=`0.123.0`,$=new class{version=Q;initialized=!1;debug=!1;async init(e){if(this.initialized)return{ok:!0,contracts:{},initDurationMs:0};let t=await g(e);return t.ok?(this.debug=e.debug||!1,X(),Y(document.body),this.initialized=!0,this.debug&&console.log(`%c🚀 ATMX Debug Mode: Enabled`,`color: #2563eb; font-weight: bold;`),console.log(`✅ ATMX v${this.version} Online (${t.initDurationMs}ms). Reactive Engine Started.`),document.dispatchEvent(new CustomEvent(`atmx:ready`,{detail:t}))):(console.error(`❌ ATMX Initialization Failed:`,t.error),document.dispatchEvent(new CustomEvent(`atmx:error`,{detail:t.error}))),t}hydrate(e){let t=document;e&&(t=typeof e==`string`?document.querySelector(e):e),t&&J(t)}triggerQuery(e){let t=typeof e==`string`?document.querySelector(e):e;t&&t instanceof HTMLElement&&t.hasAttribute(`ax-query`)&&H(t)}on(e,t){document.addEventListener(`atmx:${e}`,t)}setAuthToken(e,t,n){_(e,t,n)}setNamespaceAuthToken(e,t,n=!0){v(e,t,n)}setGlobalAuthToken(e){x(e)}sendStreamMessage(e,t){b(e,t)}clearAuthToken(e,t){y(e,t)}connect(e){let t=V(null,e);if(!t)return;let n=o(t.target);if(!n)return;let r=`${n.namespace}:${n.id}:${JSON.stringify(t.args)}`,i=N.get(r);i||(i=new M(r,n,t.args),N.set(r,i)),i.fetch()}disconnect(e){let t=V(null,e);if(!t)return;let r=o(t.target);if(!r)return;let i=`${r.namespace}:${r.id}:${JSON.stringify(t.args)}`,a=N.get(i);a&&(a.currentReqId&&n.delete(a.currentReqId),N.delete(i),this.debug&&console.log(`🔌 ATMX Disconnected Stream: ${e}`))}send(e,t){let n=V(null,e);if(!n)return;let r=o(n.target);if(!r)return;let i=`${r.namespace}:${r.id}:${JSON.stringify(n.args)}`,a=N.get(i);a&&a.currentReqId?b(a.currentReqId,t):console.warn(`ATMX: Cannot send message, stream not active for ${e}`)}mutate(e,t,n){return P(e,t,n)}invalidate(e,t){F(e,t)}setQueryData(e,t,n){I(e,t,n)}clearCache(e){L(e)}onError(e){document.addEventListener(`atmx:error`,t=>{e(t.detail)})}};typeof window<`u`&&(window.atmx=$),e.ATMX_VERSION=Q,e.allocBytes=p,e.allocString=m,e.atmx=$,e.buildRequestPath=s,e.clearAuthToken=y,e.initWasm=g,e.pendingRequests=n,e.resolveRoute=o,e.sendStreamMessage=b,e.setAuthToken=_,e.setGlobalAuthToken=x,Object.defineProperty(e,`wasmEngine`,{enumerable:!0,get:function(){return d}})});
825
+ `,d=null;function f(e){try{localStorage.removeItem(`atmx_auth_store`);let t=[...Array.isArray(e?.endpoints)?e.endpoints:Object.values(e?.endpoints||{}),...Array.isArray(e?.ir?.endpoints)?e.ir.endpoints:Object.values(e?.ir?.endpoints||{})];for(let e of t)for(let t of e?.auth?.methods||[]){let e=t?.name||t?.type;e&&localStorage.removeItem(`axiom_cache_auth_${e}`)}}catch{}}function p(e){return(e.auth?.methods||[]).filter(e=>e?.type?.toLowerCase()!==`session`).map(e=>e?.name||e?.type).filter(Boolean)}function m(e){if(e.length===0)return 0;let t=d.axiom_malloc(e.length);return new Uint8Array(d.memory.buffer).set(e,t),t}function h(e){if(!e)return{ptr:0,len:0};let t=new TextEncoder().encode(e);return{ptr:m(t),len:t.length}}function g(e){if(e.wasmUrl)return e.wasmUrl;let t=`https://atmx.axiomcore.dev/${e.engineVersion||`v0.125.0`}/axiom_runtime.wasm`;return e.disableCacheBuster||(t+=`?t=${Date.now()}`),t}async function _(e){let t=performance.now(),n={ok:!1,contracts:{},initDurationMs:0};try{if(!window.wasm_bindgen){let e=document.createElement(`script`);e.type=`text/javascript`,e.text=`${u}\nwindow.wasm_bindgen = wasm_bindgen;`,document.head.appendChild(e)}let t=window.wasm_bindgen,i=g(e);try{d=await t(fetch(i))}catch(e){throw{stage:`ffiBoundary`,category:`network`,code:`WasmFetchFailed`,message:`Failed to download WASM engine: ${e.message}`,retryable:!0}}r(d),setInterval(()=>{d&&d.axiom_process_responses()},16);let o=h(``),s=d.axiom_wasm_initialize(o.ptr,o.len);if(d.axiom_free_memory(o.ptr,o.len),s!==0)throw{stage:`runtime`,category:`server`,code:`InitFailed`,message:`Engine init failed (Code: ${s})`,retryable:!1};for(let[t,r]of Object.entries(e.contracts))try{let i=await fetch(r.contractUrl);if(!i.ok)throw Error(`HTTP ${i.status}`);let o=await i.arrayBuffer(),s=0;try{let e=new TextDecoder().decode(o),n=JSON.parse(e),r=n?.ir?.endpoints;r&&(s=Array.isArray(r)?r.length:Object.keys(r).length),f(n),a(t,n)}catch(e){console.error(`ATMX: Failed to parse .axiom contract for '${t}'`,e)}let c=new Uint8Array(o),l=m(c),u=h(t),p=h(r.baseUrl),g=d.axiom_wasm_load_contract(u.ptr,u.len,p.ptr,p.len,l,c.length,0,0,0,0);if(d.axiom_free_memory(l,c.length),d.axiom_free_memory(u.ptr,u.len),d.axiom_free_memory(p.ptr,p.len),g!==0&&g!==-1)throw Error(`Load error (Code: ${g})`);e.debug&&console.log(`%c🔒 Axiom Contract Loaded: ${t} (${s} endpoints)`,`color: #10b981; font-weight: bold;`),n.contracts[t]={loaded:!0,endpointCount:s},document.dispatchEvent(new CustomEvent(`atmx:contract-loaded`,{detail:{namespace:t,endpointCount:s}}))}catch(e){n.contracts[t]={loaded:!1,endpointCount:0,error:e.message},console.error(`ATMX: Contract failed for ${t}`,e)}n.ok=!0}catch(e){n.ok=!1,n.error=e.stage?e:{stage:`runtime`,category:`unknown`,code:`FatalError`,message:e.message||String(e),retryable:!1}}return n.initDurationMs=Math.round(performance.now()-t),n}function v(e,t,n){if(!d)return;let r=h(e),i=h(t),a=h(n);d.axiom_wasm_set_auth_token(r.ptr,r.len,i.ptr,i.len,a.ptr,a.len),d.axiom_free_memory(r.ptr,r.len),d.axiom_free_memory(i.ptr,i.len),d.axiom_free_memory(a.ptr,a.len)}function y(e,t){if(!d)return;let n=new Set(l(e).flatMap(p));for(let r of n)v(e,r,t)}function b(e,t){if(!d)return;let n=h(e),r=h(t);d.axiom_wasm_clear_auth_token(n.ptr,n.len,r.ptr,r.len),d.axiom_free_memory(n.ptr,n.len),d.axiom_free_memory(r.ptr,r.len)}function x(e,t){if(!d)return;let n=new TextEncoder().encode(JSON.stringify(t)),r=m(n);d.axiom_wasm_send_stream_message(e,r,n.length),d.axiom_free_memory(r,n.length)}function S(e){if(!d)return;let t=new Map;for(let e of c()){let n=t.get(e.namespace)||new Set;p(e).forEach(e=>n.add(e)),t.set(e.namespace,n)}for(let[n,r]of t)for(let t of r)v(n,t,e)}function C(e,t,n={}){if(e)try{let r=Object.keys(n),i=Object.values(n);return Function(`$data`,`$error`,`$state`,...r,`return (${e});`)(t.data??null,t.error??null,t,...i)}catch(t){console.error(`ATMX Eval Error: ${e}`,t);return}}function w(e,t,n={}){if(e)try{let r=Object.keys(n),i=Object.values(n);Function(`$data`,`$error`,`$state`,...r,e)(t.data??null,t.error??null,t,...i)}catch(t){console.error(`ATMX Action Error: ${e}`,t)}}function T(e,t){E(e,t,!0,{})}function E(e,t,n,r){if(!(!n&&(e.hasAttribute(`ax-query`)||e.hasAttribute(`ax-mutate`)))&&!(!n&&e.hasAttribute(`data-ax-clone-of`))){if(e.hasAttribute(`ax-for`)){D(e,t,r);return}if(e.hasAttribute(`ax-when`)&&(e.getAttribute(`ax-when`).split(`,`).map(e=>e.trim()).includes(t.state)?(e.removeAttribute(`hidden`),e.style.removeProperty(`display`)):(e.setAttribute(`hidden`,`true`),e.style.setProperty(`display`,`none`,`important`))),e.hasAttribute(`ax-if`)&&(C(e.getAttribute(`ax-if`),t,r)?(e.removeAttribute(`hidden`),e.style.removeProperty(`display`)):(e.setAttribute(`hidden`,``),e.style.setProperty(`display`,`none`,`important`))),e.hasAttribute(`ax-text`)){let n=C(e.getAttribute(`ax-text`),t,r);e.textContent=n==null?``:String(n)}if(e.hasAttribute(`ax-error-for`)){let n=e.getAttribute(`ax-error-for`),r=``;if(t.state===`error`&&t.error?.code===`ValidationError`){let e=(t.error.details||``).split(`
826
+ `);for(let t of e)if(t.startsWith(n+`:`)){r=t.substring(n.length+1).trim();break}}let i=e.parentElement?.querySelector(`[name="${n}"]`);r?(e.textContent=r,e.removeAttribute(`hidden`),e.style.removeProperty(`display`),i&&(i.setAttribute(`aria-invalid`,`true`),i.classList.add(`border-red-500`,`focus:border-red-500`,`focus:ring-red-500`))):(e.setAttribute(`hidden`,``),e.style.setProperty(`display`,`none`,`important`),e.textContent=``,i&&(i.removeAttribute(`aria-invalid`),i.classList.remove(`border-red-500`,`focus:border-red-500`,`focus:ring-red-500`)))}Array.from(e.attributes).forEach(n=>{if(n.name.startsWith(`ax-bind:`)){let i=n.name.substring(8),a=C(n.value,t,r);a===!1||a==null?e.removeAttribute(i):e.setAttribute(i,a===!0?i:String(a))}}),Array.from(e.children).forEach(e=>{E(e,t,!1,r)})}}function D(e,t,n){e.style.display=`none`,e.hasAttribute(`data-ax-for-id`)||e.setAttribute(`data-ax-for-id`,Math.random().toString(36).substr(2,9));let r=e.getAttribute(`data-ax-for-id`),i=e.getAttribute(`ax-for`).match(/^\s*(?:(?:\(\s*([\w\$]+)\s*,\s*([\w\$]+)\s*\))|([\w\$]+))\s+in\s+(.+)$/);if(!i)return;let a=i[1]||i[3],o=i[2],s=i[4],c=C(s,t,n),l=e.parentElement;if(!l)return;let u=Array.from(l.querySelectorAll(`[data-ax-clone-of="${r}"]`));if(!c||!Array.isArray(c)){u.forEach(e=>e.remove());return}let d=e.getAttribute(`ax-key`),f=[];c.forEach((i,s)=>{let c={...n,[a]:i};o&&(c[o]=s);let p=String(s);d&&(p=String(C(d,t,c)));let m=u.find(e=>e.getAttribute(`data-ax-key`)===p);m||(m=e.cloneNode(!0),m.removeAttribute(`ax-for`),m.style.removeProperty(`display`),m.style.length===0&&m.removeAttribute(`style`),m.setAttribute(`data-ax-clone-of`,r),m.setAttribute(`data-ax-key`,p)),l.insertBefore(m,e),E(m,t,!0,c),f.push(m)}),u.forEach(e=>{f.includes(e)||e.remove()})}var O=new WeakMap;function k(e){return O.has(e)||O.set(e,{state:`idle`,isFetching:!1,isMutating:!1,source:null,data:null,error:null}),O.get(e)}function A(e){let t=e.parentElement;for(;t;){if(t.hasAttribute(`ax-query`)||t.hasAttribute(`ax-mutate`)){let e=O.get(t);if(e&&e.data)return e.data}t=t.parentElement}return{}}function j(e,t){let n=k(e);Object.assign(n,t),t.state===`loading`&&(n.isFetching=!0),t.state===`mutating`&&(n.isMutating=!0),(t.state===`success`||t.state===`data`&&t.isFetching===!1)&&(n.isFetching=!1,n.isMutating=!1),O.set(e,n),T(e,n)}var M=0,N=class{key;route;args;state;listeners=new Set;currentReqId=null;constructor(e,t,n){this.key=e,this.route=t,this.args=n;let r=null;try{let t=sessionStorage.getItem(`atmx_cache_${e}`);t&&(r=JSON.parse(t))}catch{}r?this.state={state:`data`,isFetching:!1,source:`cache`,data:r,error:null}:this.state={state:`idle`,isFetching:!1,source:null,data:null,error:null}}subscribe(e){this.listeners.add(e),e(this.state)}update(e){if(this.state={...this.state,...e},this.state.data)try{sessionStorage.setItem(`atmx_cache_${this.key}`,JSON.stringify(this.state.data))}catch{}this.listeners.forEach(e=>e(this.state))}fetch(e=!1){if(this.state.isFetching&&!e)return;this.update({state:this.state.data?`data`:`loading`,isFetching:!0,error:null});let r=++M;this.currentReqId=r;let{path:i,remainingArgs:a}=s(this.route,this.args),o=new Uint8Array;Object.keys(a).length>0&&(o=new TextEncoder().encode(JSON.stringify(a))),$.debug&&(console.groupCollapsed(`%c➔ WASM QUERY [#${r}]`,`color: #7c3aed; font-weight: bold;`),console.log(`Namespace:`,this.route.namespace),console.log(`Endpoint ID:`,this.route.id),console.log(`Path:`,i),console.groupEnd()),n.set(r,{isStream:this.route.isStream,onResponse:e=>{if(this.currentReqId===r){if(e.eventType===t.Error){this.update({state:`error`,error:e.error,isFetching:!1});return}if(e.data!==void 0){let n=`network`,r=!1;e.eventType===t.CacheHit?(n=`cache`,r=!1):e.eventType===t.CacheHitAndFetching?(n=`cache`,r=!0):e.eventType===t.NetworkSuccess&&(n=`network`,r=!1),this.update({state:`data`,data:e.data,source:n,isFetching:r})}}},onComplete:()=>{this.currentReqId===r&&this.update({isFetching:!1})}});let c=h(this.route.namespace),l=h(this.route.method),u=h(i),f=m(o),p=h(``),g=h(``);d.axiom_wasm_call(r,c.ptr,c.len,this.route.id,l.ptr,l.len,u.ptr,u.len,p.ptr,p.len,g.ptr,g.len,f,o.length),d.axiom_free_memory(c.ptr,c.len),d.axiom_free_memory(l.ptr,l.len),d.axiom_free_memory(u.ptr,u.len),d.axiom_free_memory(p.ptr,p.len),d.axiom_free_memory(g.ptr,g.len)}},P=new Map;function F(e,r={},i={},a={}){return new Promise((c,l)=>{let u=o(e);if(!u)return l(Error(`ATMX Route not found: ${e}`));let f=++M,{path:p,remainingArgs:g}=s(u,{...r,...i}),_=a.rawBody;if(!_){let e=g;u.bodyParam&&g[u.bodyParam]!==void 0&&typeof g[u.bodyParam]==`object`&&(e=g[u.bodyParam]),_=new Uint8Array,Object.keys(e).length>0&&(_=new TextEncoder().encode(JSON.stringify(e)))}let v=!1,y=e=>{v||(v=!0,c(e))},b=e=>{v||(v=!0,l(e))};n.set(f,{isStream:u.isStream,onResponse:e=>{e.eventType===t.Error?(document.dispatchEvent(new CustomEvent(`atmx:error`,{detail:e.error})),b(e.error)):e.data!==void 0&&y(e.data)},onComplete:()=>y(void 0)});let x=h(u.namespace),S=h(u.method),C=h(p),w=h(``),T=h(Object.keys(a.headers||{}).length>0?JSON.stringify(a.headers):``),E=m(_);d.axiom_wasm_call(f,x.ptr,x.len,u.id,S.ptr,S.len,C.ptr,C.len,w.ptr,w.len,T.ptr,T.len,E,_.length),d.axiom_free_memory(x.ptr,x.len),d.axiom_free_memory(S.ptr,S.len),d.axiom_free_memory(C.ptr,C.len),d.axiom_free_memory(w.ptr,w.len),d.axiom_free_memory(T.ptr,T.len),E&&d.axiom_free_memory(E,_.length)})}function I(e,t){let[n,r]=e.split(`.`),i=`atmx_cache_${e}`;t&&Object.keys(t).length>0&&(i+=`:${JSON.stringify(t)}`),Object.keys(sessionStorage).forEach(e=>{(e===i||!t&&e.startsWith(i+`:`))&&sessionStorage.removeItem(e)}),P.forEach((e,i)=>{e.route.namespace===n&&e.route.name===r&&(!t||Object.keys(t).length===0||JSON.stringify(e.args)===JSON.stringify(t))&&e.fetch(!0)})}function L(e,t={},n){let r=`${e}:${JSON.stringify(t)}`;try{sessionStorage.setItem(`atmx_cache_${r}`,JSON.stringify(n))}catch{}let i=P.get(r);i&&i.update({state:`data`,source:`cache`,isFetching:!1,data:n,error:null})}function R(e,t=!0){let n=e?`atmx_cache_${e}.`:`atmx_cache_`;Object.keys(sessionStorage).forEach(e=>{e.startsWith(n)&&sessionStorage.removeItem(e)}),t&&P.forEach(t=>{(!e||t.route.namespace===e)&&t.fetch(!0)})}var z=0;function B(e,t){let n=`ax-on:${t}`;e.hasAttribute(n)&&w(e.getAttribute(n),k(e))}function V(e,t,n){if(!$.debug)return;let r=e===`OUT`?`#7c3aed`:`#059669`;console.groupCollapsed(`%c${e===`OUT`?`➔ WASM CALL`:`← WASM RESP`} [#${t}]`,`color: ${r}; font-weight: bold;`),console.log(`Details:`,n),console.groupEnd()}function H(e,t){let n=t.trim().match(/^([\w\.\-]+)(?:\((.*)\))?$/);if(!n)return null;let r=n[1],i={};if(n[2]&&n[2].trim()!==``)try{if(e){let t=k(e),r=t.data||A(e);i=Function(`$data`,`$state`,`return (${n[2]});`)(r??null,t)||{}}else i=Function(`return (${n[2]});`)()||{}}catch(e){console.error(`ATMX Scope Error in "${t}":`,e)}return{target:r,args:i}}function U(e){let t=e.getAttribute(`ax-query`);if(!t)return;let n=H(e,t);if(!n)return;let r=o(n.target);if(!r){j(e,{state:`error`,error:{message:`Route not found: ${n.target}`}});return}let i=`${n.target}:${JSON.stringify(n.args)}`,a=P.get(i);a||(a=new N(i,r,n.args),P.set(i,a)),e._axListener||(e._axListener=t=>{j(e,t),(t.state===`data`||t.state===`error`)&&(B(e,t.state),e.dispatchEvent(new CustomEvent(`atmx:${t.state}`,{bubbles:!0,detail:t.data||t.error})))},a.subscribe(e._axListener)),a.fetch()}function W(e){let t=e.getAttribute(`ax-mutate`);if(!t)return;let n=H(e,t);if(!n)return;let r=o(n.target);if(!r){console.error(`ATMX: Mutation route not found for target '${n.target}'. Check your ax-mutate attribute.`),j(e,{state:`error`,error:{message:`Route not found: ${n.target}`}}),B(e,`error`);return}j(e,{state:`mutating`,error:null,data:null}),B(e,`mutating`);let i={};e instanceof HTMLFormElement&&new FormData(e).forEach((t,n)=>{let r=e.elements.namedItem(n),a=!1;r instanceof HTMLInputElement?a=r.type===`number`:r instanceof RadioNodeList&&r.length>0&&(a=r[0].type===`number`);let o=a&&t!==``?Number(t):t;if(n.includes(`.`)){let e=n.split(`.`),t=i;for(let n=0;n<e.length-1;n++)t[e[n]]||(t[e[n]]={}),t=t[e[n]];t[e[e.length-1]]=o}else i[n]=o});let{path:a,remainingArgs:c}=s(r,{...i,...n.args}),l=c;r.bodyParam&&c[r.bodyParam]!==void 0&&typeof c[r.bodyParam]==`object`&&(l=c[r.bodyParam]);let u={},d=e.getAttribute(`ax-headers`);if(d)try{u=Function(`return (`+d+`);`)()||{}}catch(e){console.error(`ATMX: Invalid ax-headers syntax`,e)}let f=Object.entries(u).some(([e,t])=>e.toLowerCase()===`content-type`&&t.includes(`application/x-www-form-urlencoded`)),p=new Uint8Array;if(Object.keys(l).length>0)if(f){let e=new URLSearchParams;for(let[t,n]of Object.entries(l))e.append(t,String(n));p=new TextEncoder().encode(e.toString())}else p=new TextEncoder().encode(JSON.stringify(l));G(e,r.namespace,r.id,r.method,a,p,r.isStream,!0,u,f)}function G(e,t,r,i,a,o,s,c,l={},u=!1){let f=++z;V(`OUT`,f,{namespace:t,endpointId:r,method:i,path:a,headers:l,payload:o.length>0?u?new TextDecoder().decode(o):JSON.parse(new TextDecoder().decode(o)):null}),n.set(f,{isStream:s,onResponse:t=>K(e,t,c,f),onComplete:()=>{$.debug&&console.log(`%c✔ Stream Complete [#${f}]`,`color: #94a3b8;`)}});let p=h(t),g=h(i),_=h(a),v=h(``),y=h(Object.keys(l).length>0?JSON.stringify(l):``),b=m(o);d.axiom_wasm_call(f,p.ptr,p.len,r,g.ptr,g.len,_.ptr,_.len,v.ptr,v.len,y.ptr,y.len,b,o.length),d.axiom_free_memory(p.ptr,p.len),d.axiom_free_memory(g.ptr,g.len),d.axiom_free_memory(_.ptr,_.len),d.axiom_free_memory(v.ptr,v.len),d.axiom_free_memory(y.ptr,y.len),b&&d.axiom_free_memory(b,o.length)}function K(e,n,r,i){if(V(`IN`,i,{eventType:t[n.eventType],data:n.data,error:n.error}),n.eventType===t.Error){j(e,{state:`error`,error:n.error,isFetching:!1,isMutating:!1}),B(e,`error`),e.dispatchEvent(new CustomEvent(`atmx:error`,{bubbles:!0,detail:n.error}));return}if(n.data!==void 0){let i=`network`,a=!1;n.eventType===t.CacheHit?i=`cache`:n.eventType===t.CacheHitAndFetching?(i=`cache`,a=!0):n.eventType===t.NetworkSuccess&&(i=`network`);let s=r?`success`:`data`;if(j(e,{state:s,data:n.data,source:i,isFetching:a,isMutating:!1}),r){let t=e.getAttribute(`ax-invalidates`);t&&t.split(`,`).map(e=>e.trim()).forEach(t=>{let n=C(`\`${t}\``,k(e))||t;$.invalidate(n)});let n=e.getAttribute(`ax-store-token`);if(n){let t=C(n,k(e));if(t){let n=o(H(e,e.getAttribute(`ax-mutate`)).target)?.namespace||`default`,r=e.getAttribute(`ax-token-target`);(r?r.split(`,`).map(e=>e.trim()):[n]).forEach(e=>{$.setNamespaceAuthToken(e,t)})}}}B(e,s),e.dispatchEvent(new CustomEvent(r?`atmx:success`:`atmx:data`,{bubbles:!0,detail:n.data}))}}var q=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let t=e.target;t.hasAttribute(`ax-query`)&&U(t),q.unobserve(t)}})});function J(e){e.querySelectorAll(`[\\:ax-query], [\\:ax-mutate]`).forEach(e=>{if(e.hasAttribute(`:ax-query`)){let t=C(e.getAttribute(`:ax-query`),k(e));t&&e.setAttribute(`ax-query`,String(t)),e.removeAttribute(`:ax-query`)}if(e.hasAttribute(`:ax-mutate`)){let t=C(e.getAttribute(`:ax-mutate`),k(e));t&&e.setAttribute(`ax-mutate`,String(t)),e.removeAttribute(`:ax-mutate`)}})}function Y(e=document){J(e),e.querySelectorAll(`[ax-query]`).forEach(e=>{let t=e,n=t.getAttribute(`ax-query`);if(!n)return;let r=H(t,n);if(r){let e=`${r.target}:${JSON.stringify(r.args)}`;try{let n=sessionStorage.getItem(`atmx_cache_${e}`);n&&j(t,{state:`data`,data:JSON.parse(n),source:`cache`,isFetching:!0})}catch{}}})}function X(e=document){J(e),e.querySelectorAll(`[ax-query]`).forEach(e=>{let t=e;j(t,{});let n=t.getAttribute(`ax-trigger`)||`load`;n===`load`?U(t):n===`intersect`?q.observe(t):t.addEventListener(n,e=>{e.preventDefault(),U(t)})}),e.querySelectorAll(`[ax-mutate]`).forEach(e=>{let t=e;j(t,{});let n=t.tagName===`FORM`?`submit`:`click`;t.addEventListener(n,e=>{(t.tagName===`A`||t.tagName===`BUTTON`||t.tagName===`FORM`)&&e.preventDefault(),W(t)})}),e.querySelectorAll(`[ax-trigger="refresh"]`).forEach(e=>{let t=e;t.addEventListener(`click`,e=>{e.preventDefault();let n=t.closest(`[ax-query]`);if(n){let e=H(n,n.getAttribute(`ax-query`));if(e&&o(e.target)){let t=`${e.target}:${JSON.stringify(e.args)}`,r=P.get(t);r?r.fetch(!0):U(n)}}})})}function Z(){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{e instanceof HTMLElement&&X(e)})})}).observe(document.body,{childList:!0,subtree:!0})}var ee=class extends HTMLElement{constructor(){super()}connectedCallback(){let e=this.getAttribute(`loading-text`)||`Initializing...`,t=this.getAttribute(`ready-text`)||`Online`,n=this.getAttribute(`error-text`)||`Failed to Connect`;this.renderState(`loading`,e,`text-amber-500 animate-pulse`),document.addEventListener(`atmx:ready`,()=>{this.renderState(`ready`,t,`text-green-600`)}),document.addEventListener(`atmx:error`,e=>{let t=e;t.detail&&t.detail.stage===`runtime`&&this.renderState(`error`,`${n}: ${t.detail.message}`,`text-red-600`)})}renderState(e,t,n){this.setAttribute(`data-state`,e);let r=this.querySelectorAll(`[data-ax-when]`);r.length>0?r.forEach(t=>{t.getAttribute(`data-ax-when`)===e?t.removeAttribute(`hidden`):t.setAttribute(`hidden`,``)}):(this.innerText=t,this.getAttribute(`class`)||(this.className=`text-xs font-bold ${n}`))}};typeof window<`u`&&!customElements.get(`ax-engine-status`)&&customElements.define(`ax-engine-status`,ee);var Q=`0.125.0`,$=new class{version=Q;initialized=!1;debug=!1;async init(e){if(this.initialized)return{ok:!0,contracts:{},initDurationMs:0};let t=await _(e);return t.ok?(this.debug=e.debug||!1,Z(),X(document.body),this.initialized=!0,this.debug&&console.log(`%c🚀 ATMX Debug Mode: Enabled`,`color: #2563eb; font-weight: bold;`),console.log(`✅ ATMX v${this.version} Online (${t.initDurationMs}ms). Reactive Engine Started.`),document.dispatchEvent(new CustomEvent(`atmx:ready`,{detail:t}))):(console.error(`❌ ATMX Initialization Failed:`,t.error),document.dispatchEvent(new CustomEvent(`atmx:error`,{detail:t.error}))),t}hydrate(e){let t=document;e&&(t=typeof e==`string`?document.querySelector(e):e),t&&Y(t)}triggerQuery(e){let t=typeof e==`string`?document.querySelector(e):e;t&&t instanceof HTMLElement&&t.hasAttribute(`ax-query`)&&U(t)}on(e,t){document.addEventListener(`atmx:${e}`,t)}setAuthToken(e,t,n){v(e,t,n)}setNamespaceAuthToken(e,t){y(e,t)}setGlobalAuthToken(e){S(e)}sendStreamMessage(e,t){x(e,t)}clearAuthToken(e,t){b(e,t)}connect(e){let t=H(null,e);if(!t)return;let n=o(t.target);if(!n)return;let r=`${n.namespace}:${n.id}:${JSON.stringify(t.args)}`,i=P.get(r);i||(i=new N(r,n,t.args),P.set(r,i)),i.fetch()}disconnect(e){let t=H(null,e);if(!t)return;let r=o(t.target);if(!r)return;let i=`${r.namespace}:${r.id}:${JSON.stringify(t.args)}`,a=P.get(i);a&&(a.currentReqId&&n.delete(a.currentReqId),P.delete(i),this.debug&&console.log(`🔌 ATMX Disconnected Stream: ${e}`))}send(e,t){let n=H(null,e);if(!n)return;let r=o(n.target);if(!r)return;let i=`${r.namespace}:${r.id}:${JSON.stringify(n.args)}`,a=P.get(i);a&&a.currentReqId?x(a.currentReqId,t):console.warn(`ATMX: Cannot send message, stream not active for ${e}`)}mutate(e,t,n){return F(e,t,n)}mutateBytes(e,t,n,r={}){return F(e,t,{},{rawBody:n,headers:r})}invalidate(e,t){I(e,t)}setQueryData(e,t,n){L(e,t,n)}clearCache(e){R(e)}purgeCache(e){R(e,!1)}onError(e){document.addEventListener(`atmx:error`,t=>{e(t.detail)})}};typeof window<`u`&&(window.atmx=$),e.ATMX_VERSION=Q,e.allocBytes=m,e.allocString=h,e.atmx=$,e.buildRequestPath=s,e.clearAuthToken=b,e.initWasm=_,e.pendingRequests=n,e.resolveRoute=o,e.sendStreamMessage=x,e.setAuthToken=v,e.setGlobalAuthToken=S,Object.defineProperty(e,`wasmEngine`,{enumerable:!0,get:function(){return d}})});
Binary file
@@ -15,14 +15,20 @@ export declare class ActiveQuery {
15
15
  fetch(force?: boolean): void;
16
16
  }
17
17
  export declare const queryRegistry: Map<string, ActiveQuery>;
18
+ export interface ProgrammaticMutationOptions {
19
+ /** Raw request bytes for endpoints such as contract uploads. */
20
+ rawBody?: Uint8Array;
21
+ /** Headers are passed through the FFI boundary without touching auth. */
22
+ headers?: Record<string, string>;
23
+ }
18
24
  /**
19
25
  * IMPROVEMENT 1: Programmatic Mutations
20
26
  */
21
- export declare function executeProgrammaticMutation(routeKey: string, args?: Record<string, any>, payloadObj?: Record<string, any>): Promise<any>;
27
+ export declare function executeProgrammaticMutation(routeKey: string, args?: Record<string, any>, payloadObj?: Record<string, any>, options?: ProgrammaticMutationOptions): Promise<any>;
22
28
  /**
23
29
  * IMPROVEMENT 3: Cache Invalidation
24
30
  */
25
31
  export declare function invalidateQuery(routeKey: string, args?: Record<string, any>): void;
26
32
  export declare function setQueryData(routeKey: string, args: Record<string, any> | undefined, newData: any): void;
27
- export declare function clearAllCaches(namespace?: string): void;
33
+ export declare function clearAllCaches(namespace?: string, revalidate?: boolean): void;
28
34
  export {};
@@ -6,6 +6,12 @@ export interface AtmxConfig {
6
6
  contracts: Record<string, AtmxContractConfig>;
7
7
  debug?: boolean;
8
8
  engineVersion?: string;
9
+ /**
10
+ * Optional self-hosted runtime binary. Supplying this keeps the JavaScript
11
+ * facade and Wasm engine on the exact same release, which is important for
12
+ * applications that ship their own ATMX bundle.
13
+ */
14
+ wasmUrl?: string;
9
15
  disableCacheBuster?: boolean;
10
16
  }
11
17
  export declare enum EventType {
@@ -7,8 +7,8 @@ export declare function allocString(str: string): {
7
7
  len: number;
8
8
  };
9
9
  export declare function initWasm(config: AtmxConfig): Promise<InitResult>;
10
- export declare function setAuthToken(namespace: string, identifier: string, token: string, persist?: boolean): void;
11
- export declare function setNamespaceAuthToken(namespace: string, token: string, persist?: boolean): void;
10
+ export declare function setAuthToken(namespace: string, identifier: string, token: string): void;
11
+ export declare function setNamespaceAuthToken(namespace: string, token: string): void;
12
12
  export declare function clearAuthToken(namespace: string, identifier: string): void;
13
13
  export declare function sendStreamMessage(reqId: number, payload: any): void;
14
- export declare function setGlobalAuthToken(token: string, persist?: boolean): void;
14
+ export declare function setGlobalAuthToken(token: string): void;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AtmxConfig, AxiomError, InitResult } from './core/types';
2
- export declare const ATMX_VERSION = "0.123.0";
2
+ export declare const ATMX_VERSION = "0.125.0";
3
3
  declare class ATMX {
4
4
  version: string;
5
5
  initialized: boolean;
@@ -8,8 +8,13 @@ declare class ATMX {
8
8
  hydrate(elementOrSelector?: string | HTMLElement): void;
9
9
  triggerQuery(elementOrSelector: string | HTMLElement): void;
10
10
  on(eventName: "ready" | "data" | "error" | "success" | "contract-loaded", callback: (e: any) => void): void;
11
+ /**
12
+ * Provides an explicit bearer/API-key credential for this runtime session.
13
+ * This value is never persisted by ATMX. Cookie sessions are automatic when
14
+ * the loaded contract declares `type = "session" location = "cookie"`.
15
+ */
11
16
  setAuthToken(namespace: string, methodName: string, token: string): void;
12
- setNamespaceAuthToken(namespace: string, token: string, persist?: boolean): void;
17
+ setNamespaceAuthToken(namespace: string, token: string): void;
13
18
  setGlobalAuthToken(token: string): void;
14
19
  sendStreamMessage(reqId: number, payload: any): void;
15
20
  clearAuthToken(namespace: string, methodName: string): void;
@@ -17,9 +22,16 @@ declare class ATMX {
17
22
  disconnect(rpcCall: string): void;
18
23
  send(rpcCall: string, payload: any): void;
19
24
  mutate(rpcCall: string, args?: Record<string, any>, payload?: any): Promise<any>;
25
+ /**
26
+ * Calls a contract endpoint with an opaque request body while retaining the
27
+ * same contract-driven authentication and cookie-session transport.
28
+ */
29
+ mutateBytes(rpcCall: string, args: Record<string, any>, payload: Uint8Array, headers?: Record<string, string>): Promise<any>;
20
30
  invalidate(rpcCall: string, args?: Record<string, any>): void;
21
31
  setQueryData(rpcCall: string, args: Record<string, any>, data: any): void;
22
32
  clearCache(namespace?: string): void;
33
+ /** Removes cached data without starting replacement network requests. */
34
+ purgeCache(namespace?: string): void;
23
35
  onError(callback: (error: AxiomError) => void): void;
24
36
  }
25
37
  export declare const atmx: ATMX;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "files": [
4
4
  "dist"
5
5
  ],
6
- "version": "0.123.0",
6
+ "version": "0.125.0",
7
7
  "description": "Axiom ATMX Core Runtime for Vanilla Web",
8
8
  "type": "module",
9
9
  "main": "./dist/atmx.umd.js",