{"version":3,"sources":["../../src/parser/parser-constants.ts","../../src/parser/tokenizer.ts","../../src/utils/debug.ts","../../src/utils/debug-events.ts","../../src/parser/semantic-integration.ts","../../src/parser/pratt-parser.ts","../../src/parser/extensions.ts","../../src/parser/token-predicates.ts","../../src/parser/helpers/ast-helpers.ts","../../src/parser/helpers/parsing-helpers.ts","../../src/parser/command-node-builder.ts","../../src/parser/command-parsers/event-commands.ts","../../src/parser/command-parsers/control-flow-commands.ts","../../src/parser/command-parsers/animation-commands.ts","../../src/parser/command-parsers/dom-commands.ts","../../src/parser/command-parsers/async-commands.ts","../../src/parser/command-parsers/variable-commands.ts","../../src/parser/command-parsers/utility-commands.ts","../../src/parser/parser.ts","../../src/types/hooks.ts","../../src/types/result.ts","../../src/core/context.ts","../../src/utils/element-check.ts","../../src/commands/helpers/variable-access.ts","../../src/expressions/type-registry.ts","../../src/expressions/type-helpers.ts","../../src/types/type-guards.ts","../../src/expressions/property-access-utils.ts","../../src/expressions/validation-helpers.ts","../../src/validation/lightweight-validators.ts","../../src/expressions/base-expression.ts","../../src/expressions/conversion/impl/index.ts","../../src/expressions/conversion/index.ts","../../src/expressions/properties/index.ts","../../src/expressions/collection/index.ts","../../src/parser/runtime.ts","../../src/runtime/cleanup-registry.ts","../../src/registry/event-source-registry.ts","../../src/registry/context-provider-registry.ts","../../src/runtime/command-adapter.ts","../../src/registry/index.ts","../../src/registry/runtime-integration.ts","../../src/runtime/runtime-base.ts","../../src/core/expression-registry.ts","../../src/expressions/references/impl/index.ts","../../src/expressions/references/index.ts","../../src/performance/expression-cache.ts","../../src/performance/integration.ts","../../src/expressions/shared/number-utils.ts","../../src/expressions/shared/comparison-utils.ts","../../src/expressions/shared/validation-utils.ts","../../src/expressions/shared/index.ts","../../src/expressions/logical/impl/index.ts","../../src/expressions/logical/index.ts","../../src/expressions/special/index.ts","../../src/expressions/bundles/core-expressions.ts","../../src/types/base-types.ts","../../src/expressions/positional/impl/index.ts","../../src/expressions/positional/index.ts","../../src/expressions/bundles/common-expressions.ts","../../src/expressions/bundles/full-expressions.ts","../../src/expressions/mathematical/index.ts","../../src/expressions/index.ts","../../../node_modules/tslib/tslib.es6.js","../../src/commands/decorators/index.ts","../../src/commands/helpers/element-resolution.ts","../../src/commands/helpers/visibility-target-parser.ts","../../src/commands/dom/visibility-base.ts","../../src/commands/dom/hide.ts","../../src/commands/dom/show.ts","../../src/commands/helpers/attribute-manipulation.ts","../../src/commands/helpers/batch-dom-operations.ts","../../src/commands/helpers/class-manipulation.ts","../../src/commands/helpers/style-manipulation.ts","../../src/commands/helpers/selector-type-detection.ts","../../src/commands/helpers/input-validator.ts","../../src/commands/dom/dom-modification-base.ts","../../src/commands/dom/add.ts","../../src/commands/helpers/dom-mutation.ts","../../src/commands/dom/remove.ts","../../src/commands/helpers/duration-parsing.ts","../../src/commands/helpers/smart-element.ts","../../src/commands/helpers/temporal-modifiers.ts","../../src/commands/helpers/element-property-access.ts","../../src/commands/helpers/property-target.ts","../../src/commands/dom/toggle.ts","../../src/commands/dom/put.ts","../../src/commands/dom/make.ts","../../src/commands/dom/empty.ts","../../src/commands/dom/open.ts","../../src/commands/dom/close.ts","../../src/commands/dom/select.ts","../../src/commands/dom/reset.ts","../../../node_modules/morphlex/dist/morphlex.js","../../src/lib/morph-adapter.ts","../../src/lib/view-transitions.ts","../../src/lib/swap-executor.ts","../../src/commands/dom/swap.ts","../../src/validation/partial-validator.ts","../../src/validation/partial-warning-formatter.ts","../../src/commands/helpers/event-helpers.ts","../../src/commands/dom/process-partials.ts","../../src/commands/helpers/event-waiting.ts","../../src/commands/async/wait.ts","../../src/commands/async/fetch.ts","../../src/commands/data/set.ts","../../src/commands/data/get.ts","../../src/commands/helpers/numeric-target-parser.ts","../../src/commands/data/increment.ts","../../src/commands/data/clear.ts","../../src/commands/utility/log.ts","../../src/commands/events/trigger.ts","../../src/commands/navigation/go.ts","../../src/commands/helpers/url-validation.ts","../../src/commands/helpers/url-argument-parser.ts","../../src/commands/navigation/push-url.ts","../../src/commands/navigation/scroll-to.ts","../../src/commands/helpers/condition-helpers.ts","../../src/commands/control-flow/if.ts","../../src/commands/helpers/loop-executor.ts","../../src/commands/control-flow/repeat.ts","../../src/commands/control-flow/signal-base.ts","../../src/commands/control-flow/break.ts","../../src/commands/control-flow/continue.ts","../../src/commands/control-flow/halt.ts","../../src/commands/control-flow/return.ts","../../src/commands/control-flow/exit.ts","../../src/commands/execution/call.ts","../../src/commands/execution/focus.ts","../../src/commands/execution/blur.ts","../../src/commands/content/append.ts","../../src/commands/animation/transition.ts","../../src/commands/animation/measure.ts","../../src/commands/animation/settle.ts","../../src/commands/animation/start-view-transition.ts","../../src/commands/advanced/js.ts","../../src/commands/advanced/async.ts","../../src/commands/data/default.ts","../../src/commands/execution/pseudo-command.ts","../../src/commands/utility/tell.ts","../../src/commands/utility/copy.ts","../../src/commands/utility/pick.ts","../../src/commands/control-flow/throw.ts","../../src/commands/utility/beep.ts","../../src/commands/utility/breakpoint.ts","../../src/commands/behaviors/install.ts","../../src/commands/animation/take.ts","../../src/commands/templates/render.ts","../../src/runtime/runtime.ts","../../intent/dist/index.js","../../framework/dist/index.js","../../semantic/dist/index.js","../../src/behaviors/history-swap.ts","../../src/behaviors/boosted.ts","../../src/api/dom-processor.ts","../../src/debug/debug-controller.ts","../../src/api/hyperscript-api.ts","../../src/api/lokascript-api.ts","../../src/tokenizer.ts","../../src/features/def.ts","../../src/features/on.ts","../../src/features/behaviors.ts","../../src/features/sockets.ts","../../src/features/webworker.ts","../../src/features/eventsource.ts","../../src/ast-utils/interchange/from-core.ts","../../src/ast-utils/interchange/to-core.ts","../../src/ast-utils/interchange/lsp.ts","../../src/debug/index.ts","../../src/runtime/plugin.ts","../../src/multilingual/bridge.ts","../../src/lse/index.ts","../../aot-compiler/src/compiler/core-parser-adapter.ts","../../aot-compiler/src/compiler/semantic-adapter.ts","../../aot-compiler/dist/core-parser-adapter-VCJB52SO.js","../../aot-compiler/dist/semantic-adapter-JAAALHRO.js","../../aot-compiler/src/scanner/html-scanner.ts","../../aot-compiler/src/compiler/analyzer.ts","../../aot-compiler/src/optimizations/class-batching.ts","../../aot-compiler/src/optimizations/index.ts","../../aot-compiler/src/optimizations/init-prerender.ts","../../aot-compiler/src/transforms/expression-transforms.ts","../../aot-compiler/src/transforms/command-transforms.ts","../../aot-compiler/src/transforms/event-transforms.ts","../../aot-compiler/src/compiler/aot-compiler.ts","../../aot-compiler/src/index.ts","../src/index.ts","../src/diff/diff.ts","../src/input/detect.ts","../src/input/normalize.ts","../src/validation/gates.ts","../src/compile/bridge.ts","../src/compile/cache.ts","../src/operations/extract.ts","../src/renderers/html-fixture.ts","../src/renderers/playwright.ts","../src/renderers/renderer-helpers.ts","../src/renderers/react.ts","../src/renderers/vue.ts","../src/renderers/svelte.ts","../src/service.ts","../src/input/json-schema.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n    var _, done = false;\r\n    for (var i = decorators.length - 1; i >= 0; i--) {\r\n        var context = {};\r\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n        if (kind === \"accessor\") {\r\n            if (result === void 0) continue;\r\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n            if (_ = accept(result.get)) descriptor.get = _;\r\n            if (_ = accept(result.set)) descriptor.set = _;\r\n            if (_ = accept(result.init)) initializers.unshift(_);\r\n        }\r\n        else if (_ = accept(result)) {\r\n            if (kind === \"field\") initializers.unshift(_);\r\n            else descriptor[key] = _;\r\n        }\r\n    }\r\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n    done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n    var useValue = arguments.length > 2;\r\n    for (var i = 0; i < initializers.length; i++) {\r\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n    }\r\n    return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n    return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n    return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    var desc = Object.getOwnPropertyDescriptor(m, k);\r\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n        desc = { enumerable: true, get: function() { return m[k]; } };\r\n    }\r\n    Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n    function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n    ownKeys = Object.getOwnPropertyNames || function (o) {\r\n        var ar = [];\r\n        for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n        return ar;\r\n    };\r\n    return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n    if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n    if (value !== null && value !== void 0) {\r\n        if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n        var dispose, inner;\r\n        if (async) {\r\n            if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n            dispose = value[Symbol.asyncDispose];\r\n        }\r\n        if (dispose === void 0) {\r\n            if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n            dispose = value[Symbol.dispose];\r\n            if (async) inner = dispose;\r\n        }\r\n        if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n        if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n        env.stack.push({ value: value, dispose: dispose, async: async });\r\n    }\r\n    else if (async) {\r\n        env.stack.push({ async: true });\r\n    }\r\n    return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n    var e = new Error(message);\r\n    return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n    function fail(e) {\r\n        env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n        env.hasError = true;\r\n    }\r\n    var r, s = 0;\r\n    function next() {\r\n        while (r = env.stack.pop()) {\r\n            try {\r\n                if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n                if (r.dispose) {\r\n                    var result = r.dispose.call(r.value);\r\n                    if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n                }\r\n                else s |= 1;\r\n            }\r\n            catch (e) {\r\n                fail(e);\r\n            }\r\n        }\r\n        if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n        if (env.hasError) throw env.error;\r\n    }\r\n    return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n    if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n        return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n            return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n        });\r\n    }\r\n    return path;\r\n}\r\n\r\nexport default {\r\n    __extends: __extends,\r\n    __assign: __assign,\r\n    __rest: __rest,\r\n    __decorate: __decorate,\r\n    __param: __param,\r\n    __esDecorate: __esDecorate,\r\n    __runInitializers: __runInitializers,\r\n    __propKey: __propKey,\r\n    __setFunctionName: __setFunctionName,\r\n    __metadata: __metadata,\r\n    __awaiter: __awaiter,\r\n    __generator: __generator,\r\n    __createBinding: __createBinding,\r\n    __exportStar: __exportStar,\r\n    __values: __values,\r\n    __read: __read,\r\n    __spread: __spread,\r\n    __spreadArrays: __spreadArrays,\r\n    __spreadArray: __spreadArray,\r\n    __await: __await,\r\n    __asyncGenerator: __asyncGenerator,\r\n    __asyncDelegator: __asyncDelegator,\r\n    __asyncValues: __asyncValues,\r\n    __makeTemplateObject: __makeTemplateObject,\r\n    __importStar: __importStar,\r\n    __importDefault: __importDefault,\r\n    __classPrivateFieldGet: __classPrivateFieldGet,\r\n    __classPrivateFieldSet: __classPrivateFieldSet,\r\n    __classPrivateFieldIn: __classPrivateFieldIn,\r\n    __addDisposableResource: __addDisposableResource,\r\n    __disposeResources: __disposeResources,\r\n    __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"// src/morphlex.ts\nvar SUPPORTS_MOVE_BEFORE = \"moveBefore\" in Element.prototype;\nvar ELEMENT_NODE_TYPE = 1;\nvar TEXT_NODE_TYPE = 3;\nvar IS_PARENT_NODE_TYPE = [\n  0,\n  1,\n  0,\n  0,\n  0,\n  0,\n  0,\n  0,\n  0,\n  1,\n  0,\n  1,\n  0\n];\nvar Operation = {\n  EqualNode: 0,\n  SameElement: 1,\n  SameNode: 2\n};\nvar candidateNodes = new Set;\nvar candidateElements = new Set;\nvar candidateElementsWithIds = new Set;\nvar unmatchedNodes = new Set;\nvar unmatchedElements = new Set;\nvar whitespaceNodes = new Set;\nfunction morphDocument(from, to, options) {\n  if (typeof to === \"string\")\n    to = parseDocument(to);\n  morph(from.documentElement, to.documentElement, options);\n}\nfunction morph(from, to, options = {}) {\n  if (typeof to === \"string\")\n    to = parseFragment(to).childNodes;\n  if (!options.preserveChanges && isParentNode(from))\n    flagDirtyInputs(from);\n  new Morph(options).morph(from, to);\n}\nfunction morphInner(from, to, options = {}) {\n  if (typeof to === \"string\") {\n    const fragment = parseFragment(to);\n    if (fragment.firstChild && fragment.childNodes.length === 1 && fragment.firstChild.nodeType === ELEMENT_NODE_TYPE) {\n      to = fragment.firstChild;\n    } else {\n      throw new Error(\"[Morphlex] The string was not a valid HTML element.\");\n    }\n  }\n  if (from.nodeType === ELEMENT_NODE_TYPE && to.nodeType === ELEMENT_NODE_TYPE && from.localName === to.localName) {\n    if (isParentNode(from))\n      flagDirtyInputs(from);\n    new Morph(options).visitChildNodes(from, to);\n  } else {\n    throw new Error(\"[Morphlex] You can only do an inner morph with matching elements.\");\n  }\n}\nfunction flagDirtyInputs(node) {\n  for (const input of node.querySelectorAll(\"input\")) {\n    if (input.name && input.value !== input.defaultValue || input.checked !== input.defaultChecked) {\n      input.setAttribute(\"morphlex-dirty\", \"\");\n    }\n  }\n  for (const element of node.querySelectorAll(\"option\")) {\n    if (element.value && element.selected !== element.defaultSelected) {\n      element.setAttribute(\"morphlex-dirty\", \"\");\n    }\n  }\n  for (const element of node.querySelectorAll(\"textarea\")) {\n    if (element.value !== element.defaultValue) {\n      element.setAttribute(\"morphlex-dirty\", \"\");\n    }\n  }\n}\nfunction parseFragment(string) {\n  const template = document.createElement(\"template\");\n  template.innerHTML = string.trim();\n  return template.content;\n}\nfunction parseDocument(string) {\n  const parser = new DOMParser;\n  return parser.parseFromString(string.trim(), \"text/html\");\n}\nfunction moveBefore(parent, node, insertionPoint) {\n  if (node === insertionPoint)\n    return;\n  if (node.parentNode === parent) {\n    if (node.nextSibling === insertionPoint)\n      return;\n    if (SUPPORTS_MOVE_BEFORE) {\n      parent.moveBefore(node, insertionPoint);\n      return;\n    }\n  }\n  parent.insertBefore(node, insertionPoint);\n}\n\nclass Morph {\n  #idArrayMap = new WeakMap;\n  #idSetMap = new WeakMap;\n  #options;\n  constructor(options = {}) {\n    this.#options = options;\n  }\n  morph(from, to) {\n    if (isParentNode(from)) {\n      this.#mapIdSets(from);\n    }\n    if (to instanceof NodeList) {\n      this.#mapIdArraysForEach(to);\n      this.#morphOneToMany(from, to);\n    } else if (isParentNode(to)) {\n      this.#mapIdArrays(to);\n      this.#morphOneToOne(from, to);\n    }\n  }\n  #morphOneToMany(from, to) {\n    const length = to.length;\n    if (length === 0) {\n      this.#removeNode(from);\n    } else if (length === 1) {\n      this.#morphOneToOne(from, to[0]);\n    } else if (length > 1) {\n      const newNodes = [...to];\n      this.#morphOneToOne(from, newNodes.shift());\n      const insertionPoint = from.nextSibling;\n      const parent = from.parentNode || document;\n      for (let i = 0;i < newNodes.length; i++) {\n        const newNode = newNodes[i];\n        if (this.#options.beforeNodeAdded?.(parent, newNode, insertionPoint) ?? true) {\n          parent.insertBefore(newNode, insertionPoint);\n          this.#options.afterNodeAdded?.(newNode);\n        }\n      }\n    }\n  }\n  #morphOneToOne(from, to) {\n    if (from === to)\n      return;\n    if (from.isEqualNode(to))\n      return;\n    if (from.nodeType === ELEMENT_NODE_TYPE && to.nodeType === ELEMENT_NODE_TYPE) {\n      if (from.localName === to.localName) {\n        this.#morphMatchingElements(from, to);\n      } else {\n        this.#morphNonMatchingElements(from, to);\n      }\n    } else {\n      this.#morphOtherNode(from, to);\n    }\n  }\n  #morphMatchingElements(from, to) {\n    if (!(this.#options.beforeNodeVisited?.(from, to) ?? true))\n      return;\n    if (from.hasAttributes() || to.hasAttributes()) {\n      this.#visitAttributes(from, to);\n    }\n    if (from.localName === \"textarea\" && to.localName === \"textarea\") {\n      this.#visitTextArea(from, to);\n    } else if (from.hasChildNodes() || to.hasChildNodes()) {\n      this.visitChildNodes(from, to);\n    }\n    this.#options.afterNodeVisited?.(from, to);\n  }\n  #morphNonMatchingElements(from, to) {\n    if (!(this.#options.beforeNodeVisited?.(from, to) ?? true))\n      return;\n    this.#replaceNode(from, to);\n    this.#options.afterNodeVisited?.(from, to);\n  }\n  #morphOtherNode(from, to) {\n    if (!(this.#options.beforeNodeVisited?.(from, to) ?? true))\n      return;\n    if (from.nodeType === to.nodeType && from.nodeValue !== null && to.nodeValue !== null) {\n      from.nodeValue = to.nodeValue;\n    } else {\n      this.#replaceNode(from, to);\n    }\n    this.#options.afterNodeVisited?.(from, to);\n  }\n  #visitAttributes(from, to) {\n    if (from.hasAttribute(\"morphlex-dirty\")) {\n      from.removeAttribute(\"morphlex-dirty\");\n    }\n    for (const { name, value } of to.attributes) {\n      if (name === \"value\") {\n        if (isInputElement(from) && from.value !== value) {\n          if (!this.#options.preserveChanges || from.value === from.defaultValue) {\n            from.value = value;\n          }\n        }\n      }\n      if (name === \"selected\") {\n        if (isOptionElement(from) && !from.selected) {\n          if (!this.#options.preserveChanges || from.selected === from.defaultSelected) {\n            from.selected = true;\n          }\n        }\n      }\n      if (name === \"checked\") {\n        if (isInputElement(from) && !from.checked) {\n          if (!this.#options.preserveChanges || from.checked === from.defaultChecked) {\n            from.checked = true;\n          }\n        }\n      }\n      const oldValue = from.getAttribute(name);\n      if (oldValue !== value && (this.#options.beforeAttributeUpdated?.(from, name, value) ?? true)) {\n        from.setAttribute(name, value);\n        this.#options.afterAttributeUpdated?.(from, name, oldValue);\n      }\n    }\n    for (const { name, value } of from.attributes) {\n      if (!to.hasAttribute(name)) {\n        if (name === \"selected\") {\n          if (isOptionElement(from) && from.selected) {\n            if (!this.#options.preserveChanges || from.selected === from.defaultSelected) {\n              from.selected = false;\n            }\n          }\n        }\n        if (name === \"checked\") {\n          if (isInputElement(from) && from.checked) {\n            if (!this.#options.preserveChanges || from.checked === from.defaultChecked) {\n              from.checked = false;\n            }\n          }\n        }\n        if (this.#options.beforeAttributeUpdated?.(from, name, null) ?? true) {\n          from.removeAttribute(name);\n          this.#options.afterAttributeUpdated?.(from, name, value);\n        }\n      }\n    }\n  }\n  #visitTextArea(from, to) {\n    const newTextContent = to.textContent || \"\";\n    const isModified = from.value !== from.defaultValue;\n    if (from.textContent !== newTextContent) {\n      from.textContent = newTextContent;\n    }\n    if (this.#options.preserveChanges && isModified)\n      return;\n    from.value = from.defaultValue;\n  }\n  visitChildNodes(from, to) {\n    if (!(this.#options.beforeChildrenVisited?.(from) ?? true))\n      return;\n    const parent = from;\n    const fromChildNodes = [...from.childNodes];\n    const toChildNodes = [...to.childNodes];\n    candidateNodes.clear();\n    candidateElements.clear();\n    candidateElementsWithIds.clear();\n    unmatchedNodes.clear();\n    unmatchedElements.clear();\n    whitespaceNodes.clear();\n    const seq = [];\n    const matches = [];\n    const op = [];\n    const nodeTypeMap = [];\n    const candidateNodeTypeMap = [];\n    const localNameMap = [];\n    const candidateLocalNameMap = [];\n    for (let i = 0;i < fromChildNodes.length; i++) {\n      const candidate = fromChildNodes[i];\n      const nodeType = candidate.nodeType;\n      candidateNodeTypeMap[i] = nodeType;\n      if (nodeType === ELEMENT_NODE_TYPE) {\n        candidateLocalNameMap[i] = candidate.localName;\n        if (candidate.id !== \"\") {\n          candidateElementsWithIds.add(i);\n        } else {\n          candidateElements.add(i);\n        }\n      } else if (nodeType === TEXT_NODE_TYPE && candidate.textContent?.trim() === \"\") {\n        whitespaceNodes.add(i);\n      } else {\n        candidateNodes.add(i);\n      }\n    }\n    for (let i = 0;i < toChildNodes.length; i++) {\n      const node = toChildNodes[i];\n      const nodeType = node.nodeType;\n      nodeTypeMap[i] = nodeType;\n      if (nodeType === ELEMENT_NODE_TYPE) {\n        localNameMap[i] = node.localName;\n        unmatchedElements.add(i);\n      } else if (nodeType === TEXT_NODE_TYPE && node.textContent?.trim() === \"\") {\n        continue;\n      } else {\n        unmatchedNodes.add(i);\n      }\n    }\n    for (const unmatchedIndex of unmatchedElements) {\n      const localName = localNameMap[unmatchedIndex];\n      const element = toChildNodes[unmatchedIndex];\n      for (const candidateIndex of candidateElements) {\n        if (localName !== candidateLocalNameMap[candidateIndex])\n          continue;\n        const candidate = fromChildNodes[candidateIndex];\n        if (candidate.isEqualNode(element)) {\n          matches[unmatchedIndex] = candidateIndex;\n          op[unmatchedIndex] = Operation.EqualNode;\n          seq[candidateIndex] = unmatchedIndex;\n          candidateElements.delete(candidateIndex);\n          unmatchedElements.delete(unmatchedIndex);\n          break;\n        }\n      }\n    }\n    for (const unmatchedIndex of unmatchedElements) {\n      const element = toChildNodes[unmatchedIndex];\n      const id = element.id;\n      const idArray = this.#idArrayMap.get(element);\n      if (id === \"\" && !idArray)\n        continue;\n      candidateLoop:\n        for (const candidateIndex of candidateElementsWithIds) {\n          const candidate = fromChildNodes[candidateIndex];\n          if (localNameMap[unmatchedIndex] === candidateLocalNameMap[candidateIndex]) {\n            if (id !== \"\" && id === candidate.id) {\n              matches[unmatchedIndex] = candidateIndex;\n              op[unmatchedIndex] = Operation.SameElement;\n              seq[candidateIndex] = unmatchedIndex;\n              candidateElementsWithIds.delete(candidateIndex);\n              unmatchedElements.delete(unmatchedIndex);\n              break candidateLoop;\n            }\n            if (idArray) {\n              const candidateIdSet = this.#idSetMap.get(candidate);\n              if (candidateIdSet) {\n                for (let i = 0;i < idArray.length; i++) {\n                  const arrayId = idArray[i];\n                  if (candidateIdSet.has(arrayId)) {\n                    matches[unmatchedIndex] = candidateIndex;\n                    op[unmatchedIndex] = Operation.SameElement;\n                    seq[candidateIndex] = unmatchedIndex;\n                    candidateElementsWithIds.delete(candidateIndex);\n                    unmatchedElements.delete(unmatchedIndex);\n                    break candidateLoop;\n                  }\n                }\n              }\n            }\n          }\n        }\n    }\n    for (const unmatchedIndex of unmatchedElements) {\n      const element = toChildNodes[unmatchedIndex];\n      const name = element.getAttribute(\"name\");\n      const href = element.getAttribute(\"href\");\n      const src = element.getAttribute(\"src\");\n      for (const candidateIndex of candidateElements) {\n        const candidate = fromChildNodes[candidateIndex];\n        if (localNameMap[unmatchedIndex] === candidateLocalNameMap[candidateIndex] && (name && name === candidate.getAttribute(\"name\") || href && href === candidate.getAttribute(\"href\") || src && src === candidate.getAttribute(\"src\"))) {\n          matches[unmatchedIndex] = candidateIndex;\n          seq[candidateIndex] = unmatchedIndex;\n          op[unmatchedIndex] = Operation.SameElement;\n          candidateElements.delete(candidateIndex);\n          unmatchedElements.delete(unmatchedIndex);\n          break;\n        }\n      }\n    }\n    for (const unmatchedIndex of unmatchedElements) {\n      const element = toChildNodes[unmatchedIndex];\n      const localName = localNameMap[unmatchedIndex];\n      for (const candidateIndex of candidateElements) {\n        const candidate = fromChildNodes[candidateIndex];\n        const candidateLocalName = candidateLocalNameMap[candidateIndex];\n        if (localName === candidateLocalName) {\n          if (localName === \"input\" && candidate.type !== element.type) {\n            continue;\n          }\n          matches[unmatchedIndex] = candidateIndex;\n          seq[candidateIndex] = unmatchedIndex;\n          op[unmatchedIndex] = Operation.SameElement;\n          candidateElements.delete(candidateIndex);\n          unmatchedElements.delete(unmatchedIndex);\n          break;\n        }\n      }\n    }\n    for (const unmatchedIndex of unmatchedNodes) {\n      const node = toChildNodes[unmatchedIndex];\n      for (const candidateIndex of candidateNodes) {\n        const candidate = fromChildNodes[candidateIndex];\n        if (candidate.isEqualNode(node)) {\n          matches[unmatchedIndex] = candidateIndex;\n          op[unmatchedIndex] = Operation.EqualNode;\n          seq[candidateIndex] = unmatchedIndex;\n          candidateNodes.delete(candidateIndex);\n          unmatchedNodes.delete(unmatchedIndex);\n          break;\n        }\n      }\n    }\n    for (const unmatchedIndex of unmatchedNodes) {\n      const nodeType = nodeTypeMap[unmatchedIndex];\n      for (const candidateIndex of candidateNodes) {\n        if (nodeType === candidateNodeTypeMap[candidateIndex]) {\n          matches[unmatchedIndex] = candidateIndex;\n          op[unmatchedIndex] = Operation.SameNode;\n          seq[candidateIndex] = unmatchedIndex;\n          candidateNodes.delete(candidateIndex);\n          unmatchedNodes.delete(unmatchedIndex);\n          break;\n        }\n      }\n    }\n    for (const i of candidateNodes)\n      this.#removeNode(fromChildNodes[i]);\n    for (const i of whitespaceNodes)\n      this.#removeNode(fromChildNodes[i]);\n    for (const i of candidateElements)\n      this.#removeNode(fromChildNodes[i]);\n    for (const i of candidateElementsWithIds)\n      this.#removeNode(fromChildNodes[i]);\n    const lisIndices = longestIncreasingSubsequence(matches);\n    const shouldNotMove = new Array(fromChildNodes.length);\n    for (let i = 0;i < lisIndices.length; i++) {\n      shouldNotMove[matches[lisIndices[i]]] = true;\n    }\n    let insertionPoint = parent.firstChild;\n    for (let i = 0;i < toChildNodes.length; i++) {\n      const node = toChildNodes[i];\n      const matchInd = matches[i];\n      if (matchInd !== undefined) {\n        const match = fromChildNodes[matchInd];\n        const operation = op[i];\n        if (!shouldNotMove[matchInd]) {\n          moveBefore(parent, match, insertionPoint);\n        }\n        if (operation === Operation.EqualNode) {} else if (operation === Operation.SameElement) {\n          this.#morphMatchingElements(match, node);\n        } else {\n          this.#morphOneToOne(match, node);\n        }\n        insertionPoint = match.nextSibling;\n      } else {\n        if (this.#options.beforeNodeAdded?.(parent, node, insertionPoint) ?? true) {\n          parent.insertBefore(node, insertionPoint);\n          this.#options.afterNodeAdded?.(node);\n          insertionPoint = node.nextSibling;\n        }\n      }\n    }\n    this.#options.afterChildrenVisited?.(from);\n  }\n  #replaceNode(node, newNode) {\n    const parent = node.parentNode || document;\n    const insertionPoint = node;\n    if ((this.#options.beforeNodeRemoved?.(node) ?? true) && (this.#options.beforeNodeAdded?.(parent, newNode, insertionPoint) ?? true)) {\n      parent.insertBefore(newNode, insertionPoint);\n      this.#options.afterNodeAdded?.(newNode);\n      node.remove();\n      this.#options.afterNodeRemoved?.(node);\n    }\n  }\n  #removeNode(node) {\n    if (this.#options.beforeNodeRemoved?.(node) ?? true) {\n      node.remove();\n      this.#options.afterNodeRemoved?.(node);\n    }\n  }\n  #mapIdArraysForEach(nodeList) {\n    for (const childNode of nodeList) {\n      if (isParentNode(childNode)) {\n        this.#mapIdArrays(childNode);\n      }\n    }\n  }\n  #mapIdArrays(node) {\n    const idArrayMap = this.#idArrayMap;\n    for (const element of node.querySelectorAll(\"[id]\")) {\n      const id = element.id;\n      if (id === \"\")\n        continue;\n      let currentElement = element;\n      while (currentElement) {\n        const idArray = idArrayMap.get(currentElement);\n        if (idArray) {\n          idArray.push(id);\n        } else {\n          idArrayMap.set(currentElement, [id]);\n        }\n        if (currentElement === node)\n          break;\n        currentElement = currentElement.parentElement;\n      }\n    }\n  }\n  #mapIdSets(node) {\n    const idSetMap = this.#idSetMap;\n    for (const element of node.querySelectorAll(\"[id]\")) {\n      const id = element.id;\n      if (id === \"\")\n        continue;\n      let currentElement = element;\n      while (currentElement) {\n        const idSet = idSetMap.get(currentElement);\n        if (idSet) {\n          idSet.add(id);\n        } else {\n          idSetMap.set(currentElement, new Set([id]));\n        }\n        if (currentElement === node)\n          break;\n        currentElement = currentElement.parentElement;\n      }\n    }\n  }\n}\nfunction isInputElement(element) {\n  return element.localName === \"input\";\n}\nfunction isOptionElement(element) {\n  return element.localName === \"option\";\n}\nfunction isParentNode(node) {\n  return !!IS_PARENT_NODE_TYPE[node.nodeType];\n}\nfunction longestIncreasingSubsequence(sequence) {\n  const n = sequence.length;\n  if (n === 0)\n    return [];\n  const smallestEnding = [];\n  const indices = [];\n  const prev = new Array(n);\n  for (let i = 0;i < n; i++) {\n    const val = sequence[i];\n    if (val === undefined)\n      continue;\n    let left = 0;\n    let right = smallestEnding.length;\n    while (left < right) {\n      const mid = Math.floor((left + right) / 2);\n      if (smallestEnding[mid] < val)\n        left = mid + 1;\n      else\n        right = mid;\n    }\n    prev[i] = left > 0 ? indices[left - 1] : -1;\n    if (left === smallestEnding.length) {\n      smallestEnding.push(val);\n      indices.push(i);\n    } else {\n      smallestEnding[left] = val;\n      indices[left] = i;\n    }\n  }\n  const result = [];\n  if (indices.length === 0)\n    return result;\n  let curr = indices[indices.length - 1];\n  while (curr !== undefined && curr !== -1) {\n    result.unshift(curr);\n    curr = prev[curr];\n  }\n  return result;\n}\nexport {\n  morphInner,\n  morphDocument,\n  morph\n};\n\n//# debugId=3F4BCB911DEC843864756E2164756E21\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"// src/types.ts\nfunction createLiteral(value, dataType) {\n  return dataType ? { type: \"literal\", value, dataType } : { type: \"literal\", value };\n}\nfunction createSelector(value, selectorKind) {\n  return selectorKind ? { type: \"selector\", value, selectorKind } : { type: \"selector\", value };\n}\nfunction createReference(value) {\n  return { type: \"reference\", value };\n}\nfunction createPropertyPath(object, property) {\n  return { type: \"property-path\", object, property };\n}\nfunction createExpression(raw) {\n  return { type: \"expression\", raw };\n}\nfunction createFlag(name, enabled = true) {\n  return { type: \"flag\", name, enabled };\n}\nfunction createCommandNode(action, roles, metadata) {\n  const rolesMap = roles instanceof Map ? roles : new Map(Object.entries(roles));\n  const node = { kind: \"command\", action, roles: rolesMap };\n  return metadata ? { ...node, metadata } : node;\n}\nfunction createEventHandlerNode(action, roles, body, metadata, eventModifiers) {\n  const rolesMap = roles instanceof Map ? roles : new Map(Object.entries(roles));\n  return {\n    kind: \"event-handler\",\n    action,\n    roles: rolesMap,\n    body,\n    ...eventModifiers && { eventModifiers },\n    ...metadata && { metadata }\n  };\n}\nfunction createConditionalNode(action, roles, thenBranch, elseBranch, metadata) {\n  const rolesMap = roles instanceof Map ? roles : new Map(Object.entries(roles));\n  return {\n    kind: \"conditional\",\n    action,\n    roles: rolesMap,\n    thenBranch,\n    ...elseBranch && { elseBranch },\n    ...metadata && { metadata }\n  };\n}\nfunction createCompoundNode(statements, chainType = \"sequential\", metadata) {\n  const base = {\n    kind: \"compound\",\n    action: \"compound\",\n    roles: /* @__PURE__ */ new Map(),\n    statements,\n    chainType\n  };\n  return metadata ? { ...base, metadata } : base;\n}\nfunction createLoopNode(action, roles, loopVariant, body, loopVariable, indexVariable, metadata) {\n  const rolesMap = roles instanceof Map ? roles : new Map(Object.entries(roles));\n  return {\n    kind: \"loop\",\n    action,\n    roles: rolesMap,\n    loopVariant,\n    body,\n    ...loopVariable && { loopVariable },\n    ...indexVariable && { indexVariable },\n    ...metadata && { metadata }\n  };\n}\nfunction createTryNode(body, catchBranch, finallyBranch, metadata) {\n  return {\n    kind: \"command\",\n    action: \"try\",\n    roles: /* @__PURE__ */ new Map(),\n    body,\n    ...catchBranch && catchBranch.length > 0 ? { catchBranch } : {},\n    ...finallyBranch && finallyBranch.length > 0 ? { finallyBranch } : {},\n    ...metadata ? { metadata } : {}\n  };\n}\nfunction createAsyncNode(variant, asyncBody, metadata) {\n  return {\n    kind: \"command\",\n    action: variant,\n    roles: /* @__PURE__ */ new Map(),\n    asyncVariant: variant,\n    asyncBody,\n    ...metadata ? { metadata } : {}\n  };\n}\nfunction createMatchNode(roles, arms, defaultArm, metadata) {\n  const rolesMap = roles instanceof Map ? roles : new Map(Object.entries(roles));\n  return {\n    kind: \"command\",\n    action: \"match\",\n    roles: rolesMap,\n    arms,\n    ...defaultArm && defaultArm.length > 0 ? { defaultArm } : {},\n    ...metadata ? { metadata } : {}\n  };\n}\nfunction extractValue(value) {\n  if (value.type === \"flag\") return value.name;\n  if (\"raw\" in value && value.raw !== void 0) return String(value.raw);\n  if (\"value\" in value && value.value !== void 0) return String(value.value);\n  if (value.type === \"property-path\") return `${extractValue(value.object)}.${value.property}`;\n  return \"\";\n}\nfunction getRoleValue(node, role) {\n  return node.roles.get(role);\n}\nfunction extractRoleValue(node, role) {\n  const value = node.roles.get(role);\n  if (!value) return \"\";\n  return extractValue(value);\n}\n\n// src/diagnostics.ts\nfunction createDiagnosticCollector() {\n  const diagnostics = [];\n  function addWithSeverity(severity, message, options) {\n    const diag = {\n      message,\n      severity,\n      ...options?.code != null && { code: options.code },\n      ...options?.line != null && { line: options.line },\n      ...options?.column != null && { column: options.column },\n      ...options?.source != null && { source: options.source },\n      ...options?.suggestions != null && options.suggestions.length > 0 && { suggestions: options.suggestions }\n    };\n    diagnostics.push(diag);\n  }\n  return {\n    error(messageOrCode, messageOrOptions, options) {\n      if (typeof messageOrOptions === \"string\") {\n        addWithSeverity(\"error\", messageOrOptions, { ...options, code: messageOrCode });\n      } else {\n        addWithSeverity(\"error\", messageOrCode, messageOrOptions);\n      }\n    },\n    warning(message, options) {\n      addWithSeverity(\"warning\", message, options);\n    },\n    info(message, options) {\n      addWithSeverity(\"info\", message, options);\n    },\n    add(diagnostic) {\n      diagnostics.push(diagnostic);\n    },\n    hasErrors() {\n      return diagnostics.some((d) => d.severity === \"error\");\n    },\n    getDiagnostics() {\n      return diagnostics;\n    },\n    toResult() {\n      let errors = 0;\n      let warnings = 0;\n      let infos = 0;\n      for (const d of diagnostics) {\n        if (d.severity === \"error\") errors++;\n        else if (d.severity === \"warning\") warnings++;\n        else infos++;\n      }\n      return {\n        ok: errors === 0,\n        diagnostics,\n        summary: { errors, warnings, infos }\n      };\n    }\n  };\n}\nfunction fromError(error, options) {\n  const message = error instanceof Error ? error.message : String(error);\n  return {\n    message,\n    severity: \"error\",\n    ...options?.code != null && { code: options.code },\n    ...options?.line != null && { line: options.line },\n    ...options?.column != null && { column: options.column },\n    ...options?.source != null && { source: options.source },\n    ...options?.suggestions != null && options.suggestions.length > 0 && { suggestions: options.suggestions }\n  };\n}\nfunction filterBySeverity(diagnostics, severity) {\n  return diagnostics.filter((d) => d.severity === severity);\n}\n\n// src/schema.ts\nfunction defineCommand(schema) {\n  return {\n    description: schema.description || `${schema.action} command`,\n    category: schema.category || \"general\",\n    primaryRole: schema.primaryRole || schema.roles[0]?.role || \"patient\",\n    ...schema,\n    action: schema.action,\n    roles: schema.roles\n  };\n}\nfunction defineRole(role) {\n  return {\n    description: role.description || `${role.role} role`,\n    ...role,\n    role: role.role,\n    required: role.required,\n    expectedTypes: role.expectedTypes\n  };\n}\nfunction getRoleSpec(schema, role) {\n  return schema.roles.find((r) => r.role === role);\n}\n\n// src/inference/infer-roles.ts\nfunction inferRolesFromSchema(schema, args, modifiers, target, adapter) {\n  const roles = {};\n  const skipTokens = new Set(schema.argSkipTokens ?? []);\n  const usedArgIndices = /* @__PURE__ */ new Set();\n  for (const role of schema.roles) {\n    const markers = englishMarkers(role);\n    if (markers.length === 0) continue;\n    let matched = tryModifierMarkers(role, markers, modifiers, adapter);\n    if (!matched) {\n      matched = tryArgMarkers(role, markers, args, skipTokens, usedArgIndices, adapter);\n    }\n    if (matched) {\n      roles[role.role] = matched.value;\n      if (role.methodCarrier) {\n        roles[role.methodCarrier] = adapter.createLiteralValue(matched.matchedMarker);\n      }\n    }\n  }\n  if (target !== void 0) {\n    const tgtRole = schema.targetRole ?? \"destination\";\n    if (roles[tgtRole] === void 0) {\n      roles[tgtRole] = adapter.convertValue(target);\n    }\n  }\n  const positionalRoles = schema.roles.filter((r) => englishMarkers(r).length === 0 && roles[r.role] === void 0).sort((a, b) => (a.svoPosition ?? 99) - (b.svoPosition ?? 99));\n  let cursor = 0;\n  for (const role of positionalRoles) {\n    while (cursor < args.length) {\n      if (usedArgIndices.has(cursor)) {\n        cursor++;\n        continue;\n      }\n      const name = adapter.getIdentifierName(args[cursor]);\n      if (name !== void 0 && skipTokens.has(name)) {\n        cursor++;\n        continue;\n      }\n      roles[role.role] = adapter.convertValue(args[cursor]);\n      usedArgIndices.add(cursor);\n      cursor++;\n      break;\n    }\n  }\n  return roles;\n}\nfunction englishMarkers(role) {\n  const primary = role.markerOverride?.en;\n  const variants = role.markerVariants?.en ?? [];\n  const out = [];\n  if (typeof primary === \"string\" && primary !== \"\") out.push(primary);\n  for (const v of variants) if (v !== \"\") out.push(v);\n  return out;\n}\nfunction tryModifierMarkers(_role, markers, modifiers, adapter) {\n  if (!modifiers) return void 0;\n  for (const m of markers) {\n    if (!(m in modifiers)) continue;\n    const raw = modifiers[m];\n    if (raw === void 0 || raw === null) continue;\n    if (typeof raw === \"string\") {\n      return { value: adapter.createLiteralValue(raw), matchedMarker: m };\n    }\n    if (typeof raw === \"object\" && \"type\" in raw) {\n      return { value: adapter.convertValue(raw), matchedMarker: m };\n    }\n  }\n  return void 0;\n}\nfunction tryArgMarkers(_role, markers, args, skipTokens, usedArgIndices, adapter) {\n  const sorted = [...markers].sort((a, b) => b.split(/\\s+/).length - a.split(/\\s+/).length);\n  for (const marker of sorted) {\n    const words = marker.split(/\\s+/).filter((w) => w.length > 0);\n    if (words.length === 0) continue;\n    for (let i = 0; i + words.length <= args.length; i++) {\n      let allMatch = true;\n      for (let w = 0; w < words.length; w++) {\n        if (usedArgIndices.has(i + w)) {\n          allMatch = false;\n          break;\n        }\n        const name = adapter.getIdentifierName(args[i + w]);\n        if (name !== words[w]) {\n          allMatch = false;\n          break;\n        }\n      }\n      if (!allMatch) continue;\n      for (let v = i + words.length; v < args.length; v++) {\n        if (usedArgIndices.has(v)) continue;\n        const name = adapter.getIdentifierName(args[v]);\n        if (name !== void 0 && skipTokens.has(name)) continue;\n        for (let w = 0; w < words.length; w++) usedArgIndices.add(i + w);\n        usedArgIndices.add(v);\n        return { value: adapter.convertValue(args[v]), matchedMarker: marker };\n      }\n    }\n  }\n  return void 0;\n}\n\n// src/ir/references.ts\nvar DEFAULT_REFERENCES = /* @__PURE__ */ new Set([\n  \"me\",\n  \"you\",\n  \"it\",\n  \"result\",\n  \"event\",\n  \"target\",\n  \"body\"\n]);\nfunction isValidReference(value, referenceSet = DEFAULT_REFERENCES) {\n  return referenceSet.has(value);\n}\n\n// src/ir/parser.ts\nvar STRUCTURAL_ROLES = /* @__PURE__ */ new Set([\n  \"body\",\n  \"then\",\n  \"else\",\n  \"condition\",\n  \"loop-body\",\n  \"variable\",\n  \"catch\",\n  \"finally\"\n]);\nfunction isNestedCommand(value) {\n  const inner = value.slice(1, -1);\n  let depth = 0;\n  for (const ch of inner) {\n    if (ch === \"[\") depth++;\n    else if (ch === \"]\") depth--;\n    else if (depth === 0 && (ch === \" \" || ch === \":\")) return true;\n  }\n  return false;\n}\nfunction parseExplicit(input, options = {}) {\n  const trimmed = input.trim();\n  const collect = options.collectDiagnostics === true;\n  const diagnostics = [];\n  if (!trimmed.startsWith(\"[\") || !trimmed.endsWith(\"]\")) {\n    throw new Error(\"Explicit syntax must be wrapped in brackets: [command role:value ...]\");\n  }\n  const content = trimmed.slice(1, -1).trim();\n  if (!content) {\n    throw new Error(\"Empty explicit statement\");\n  }\n  const tokens = tokenizeExplicit(content);\n  if (tokens.length === 0) {\n    throw new Error(\"No command specified in explicit statement\");\n  }\n  const command = tokens[0].toLowerCase();\n  const roles = /* @__PURE__ */ new Map();\n  const refSet = options.referenceSet ?? DEFAULT_REFERENCES;\n  const schema = options.schemaLookup?.getSchema(command);\n  const validRoleNames = schema ? new Set(schema.roles.map((r) => r.role)) : null;\n  for (let i = 1; i < tokens.length; i++) {\n    const token = tokens[i];\n    if (token.startsWith(\"+\") || token.startsWith(\"~\")) {\n      const enabled = token.startsWith(\"+\");\n      const flagName = token.slice(1);\n      if (!flagName) {\n        if (collect) {\n          diagnostics.push({\n            severity: \"error\",\n            code: \"EMPTY_FLAG\",\n            message: `Empty flag name: \"${token}\"`,\n            source: \"schema\"\n          });\n          continue;\n        }\n        throw new Error(`Empty flag name: \"${token}\"`);\n      }\n      if (validRoleNames && !validRoleNames.has(flagName)) {\n        if (collect) {\n          diagnostics.push({\n            severity: \"error\",\n            code: \"UNKNOWN_FLAG\",\n            message: `Unknown flag \"${flagName}\" for command \"${command}\"`,\n            source: \"schema\",\n            suggestions: [...validRoleNames].map((r) => `+${r}`)\n          });\n          roles.set(flagName, createFlag(flagName, enabled));\n          continue;\n        }\n        throw new Error(\n          `Unknown flag \"${flagName}\" for command \"${command}\". Valid roles: ${[...validRoleNames].join(\", \")}`\n        );\n      }\n      roles.set(flagName, createFlag(flagName, enabled));\n      continue;\n    }\n    const colonIndex = token.indexOf(\":\");\n    if (colonIndex === -1) {\n      if (collect) {\n        diagnostics.push({\n          severity: \"error\",\n          code: \"INVALID_ROLE_FORMAT\",\n          message: `Invalid role format: \"${token}\". Expected role:value or +flag`,\n          source: \"schema\"\n        });\n        continue;\n      }\n      throw new Error(`Invalid role format: \"${token}\". Expected role:value or +flag`);\n    }\n    const roleName = token.slice(0, colonIndex);\n    if (validRoleNames && !STRUCTURAL_ROLES.has(roleName) && !validRoleNames.has(roleName)) {\n      if (collect) {\n        diagnostics.push({\n          severity: \"error\",\n          code: \"UNKNOWN_ROLE\",\n          message: `Unknown role \"${roleName}\" for command \"${command}\"`,\n          source: \"schema\",\n          suggestions: [...validRoleNames]\n        });\n      } else {\n        throw new Error(\n          `Unknown role \"${roleName}\" for command \"${command}\". Valid roles: ${[...validRoleNames].join(\", \")}`\n        );\n      }\n    }\n    const role = roleName;\n    const valueStr = token.slice(colonIndex + 1);\n    if (STRUCTURAL_ROLES.has(roleName) && valueStr.startsWith(\"[\") && isNestedCommand(valueStr)) {\n      const nestedEnd = findMatchingBracket(token, colonIndex + 1);\n      const nestedSyntax = token.slice(colonIndex + 1, nestedEnd + 1);\n      roles.set(role, { type: \"expression\", raw: nestedSyntax });\n      continue;\n    }\n    const value = parseExplicitValue(valueStr, refSet);\n    roles.set(role, value);\n  }\n  if (schema && command !== \"on\") {\n    for (const roleSpec of schema.roles) {\n      if (roleSpec.required && !roles.has(roleSpec.role) && !roleSpec.default) {\n        if (collect) {\n          diagnostics.push({\n            severity: \"error\",\n            code: \"MISSING_REQUIRED_ROLE\",\n            message: `Missing required role \"${roleSpec.role}\" for command \"${command}\": ${roleSpec.description}`,\n            source: \"schema\"\n          });\n        } else {\n          throw new Error(\n            `Missing required role \"${roleSpec.role}\" for command \"${command}\": ${roleSpec.description}`\n          );\n        }\n      }\n    }\n  }\n  const attachDiagnostics = (node) => {\n    if (diagnostics.length === 0) return node;\n    return { ...node, diagnostics };\n  };\n  switch (command) {\n    case \"on\": {\n      const eventValue = roles.get(\"event\");\n      if (!eventValue) {\n        if (collect) {\n          diagnostics.push({\n            severity: \"error\",\n            code: \"MISSING_EVENT_ROLE\",\n            message: \"Event handler requires event role: [on event:click ...]\",\n            source: \"schema\"\n          });\n          return attachDiagnostics(\n            createEventHandlerNode(\"on\", roles, [], { sourceLanguage: \"explicit\" })\n          );\n        }\n        throw new Error(\"Event handler requires event role: [on event:click ...]\");\n      }\n      const body = extractStructuralBody(roles, \"body\", options);\n      roles.delete(\"body\");\n      return attachDiagnostics(\n        createEventHandlerNode(\"on\", roles, body, { sourceLanguage: \"explicit\" })\n      );\n    }\n    case \"if\": {\n      const thenBranch = extractStructuralBody(roles, \"then\", options);\n      const elseBranch = extractStructuralBody(roles, \"else\", options);\n      roles.delete(\"then\");\n      roles.delete(\"else\");\n      return attachDiagnostics(\n        createConditionalNode(\n          command,\n          roles,\n          thenBranch,\n          elseBranch.length > 0 ? elseBranch : void 0,\n          { sourceLanguage: \"explicit\" }\n        )\n      );\n    }\n    case \"repeat\": {\n      const loopBody = extractStructuralBody(roles, \"loop-body\", options);\n      const loopVariantValue = roles.get(\"loop-variant\");\n      const variableValue = roles.get(\"variable\");\n      const indexVariableValue = roles.get(\"index-variable\");\n      roles.delete(\"loop-body\");\n      roles.delete(\"loop-variant\");\n      roles.delete(\"variable\");\n      roles.delete(\"index-variable\");\n      let variant;\n      if (loopVariantValue && loopVariantValue.type === \"literal\" && typeof loopVariantValue.value === \"string\") {\n        variant = loopVariantValue.value;\n      } else if (roles.has(\"quantity\")) {\n        variant = \"times\";\n      } else if (roles.has(\"source\")) {\n        variant = \"for\";\n      } else if (roles.has(\"condition\")) {\n        variant = \"while\";\n      } else {\n        variant = \"forever\";\n      }\n      const loopVariable = variableValue?.type === \"literal\" && typeof variableValue.value === \"string\" ? variableValue.value : variableValue?.type === \"expression\" ? variableValue.raw : void 0;\n      const indexVariable = indexVariableValue?.type === \"literal\" && typeof indexVariableValue.value === \"string\" ? indexVariableValue.value : void 0;\n      return attachDiagnostics(\n        createLoopNode(command, roles, variant, loopBody, loopVariable, indexVariable, {\n          sourceLanguage: \"explicit\"\n        })\n      );\n    }\n    default:\n      return attachDiagnostics(createCommandNode(command, roles, { sourceLanguage: \"explicit\" }));\n  }\n}\nfunction isExplicitSyntax(input) {\n  const trimmed = input.trim();\n  return trimmed.startsWith(\"[\") && trimmed.endsWith(\"]\");\n}\nvar CHAIN_KEYWORDS = /* @__PURE__ */ new Set([\"then\", \"and\", \"async\", \"sequential\"]);\nfunction splitCompoundSegments(input) {\n  const segments = [];\n  let chainType = null;\n  let current = \"\";\n  let bracketDepth = 0;\n  let inString = false;\n  let stringChar = \"\";\n  for (let i = 0; i < input.length; i++) {\n    const char = input[i];\n    if (inString) {\n      current += char;\n      if (char === stringChar && input[i - 1] !== \"\\\\\") inString = false;\n      continue;\n    }\n    if (char === '\"' || char === \"'\") {\n      inString = true;\n      stringChar = char;\n      current += char;\n      continue;\n    }\n    if (char === \"[\") {\n      bracketDepth++;\n      current += char;\n      continue;\n    }\n    if (char === \"]\") {\n      bracketDepth--;\n      current += char;\n      if (bracketDepth === 0) {\n        const rest = input.slice(i + 1);\n        const pipeMatch = rest.match(/^\\s*\\|>\\s*/);\n        if (pipeMatch) {\n          segments.push(current.trim());\n          current = \"\";\n          chainType ?? (chainType = \"pipe\");\n          i += pipeMatch[0].length;\n          continue;\n        }\n        const keywordMatch = rest.match(/^\\s+(then|and|async|sequential)\\s+/);\n        if (keywordMatch && CHAIN_KEYWORDS.has(keywordMatch[1])) {\n          segments.push(current.trim());\n          current = \"\";\n          chainType ?? (chainType = keywordMatch[1]);\n          i += keywordMatch[0].length;\n          continue;\n        }\n      }\n      continue;\n    }\n    current += char;\n  }\n  if (current.trim()) segments.push(current.trim());\n  return { segments, chainType };\n}\nfunction parseCompound(input, options) {\n  const trimmed = input.trim();\n  const { annotations, remainder } = extractAnnotations(trimmed);\n  const { segments, chainType } = splitCompoundSegments(remainder);\n  let node;\n  if (segments.length <= 1) {\n    node = parseExplicit(segments[0] || remainder, options);\n  } else {\n    const statements = segments.map((seg) => parseExplicit(seg, options));\n    node = createCompoundNode(statements, chainType ?? \"sequential\");\n  }\n  if (annotations.length > 0) return { ...node, annotations };\n  return node;\n}\nfunction extractAnnotations(input) {\n  const annotations = [];\n  let pos = 0;\n  while (pos < input.length) {\n    while (pos < input.length && (input[pos] === \" \" || input[pos] === \"\t\")) pos++;\n    if (pos >= input.length || input[pos] !== \"@\") break;\n    pos++;\n    const nameStart = pos;\n    while (pos < input.length && /[A-Za-z0-9\\-_]/.test(input[pos])) pos++;\n    const name = input.slice(nameStart, pos);\n    if (!name) break;\n    let value;\n    if (pos < input.length && input[pos] === \"(\") {\n      pos++;\n      const valueStart = pos;\n      if (pos < input.length && (input[pos] === '\"' || input[pos] === \"'\")) {\n        const quote = input[pos];\n        pos++;\n        while (pos < input.length && input[pos] !== quote) {\n          if (input[pos] === \"\\\\\") pos++;\n          pos++;\n        }\n        pos++;\n        value = input.slice(valueStart + 1, pos - 1);\n      } else {\n        while (pos < input.length && input[pos] !== \")\") pos++;\n        value = input.slice(valueStart, pos);\n      }\n      if (pos < input.length && input[pos] === \")\") pos++;\n    }\n    annotations.push(value !== void 0 ? { name, value } : { name });\n  }\n  return { annotations, remainder: input.slice(pos).trim() };\n}\nvar VERSION_HEADER_RE = /^#!lse\\s+(\\d+\\.\\d+(?:\\.\\d+)?)\\s*$/;\nfunction parseDocument(input, options) {\n  const lines = input.split(\"\\n\");\n  let lseVersion = \"1.0\";\n  const nodes = [];\n  let startLine = 0;\n  for (let i = 0; i < lines.length; i++) {\n    const trimmed = lines[i].trim();\n    if (!trimmed) continue;\n    const versionMatch = trimmed.match(VERSION_HEADER_RE);\n    if (versionMatch) {\n      lseVersion = versionMatch[1];\n      startLine = i + 1;\n    }\n    break;\n  }\n  for (let i = startLine; i < lines.length; i++) {\n    const trimmed = lines[i].trim();\n    if (!trimmed) continue;\n    if (trimmed.startsWith(\"//\") || trimmed.startsWith(\"#\") && !trimmed.startsWith(\"#!\"))\n      continue;\n    nodes.push(parseCompound(trimmed, options));\n  }\n  return { lseVersion, nodes };\n}\nfunction isCompoundSyntax(input) {\n  const { segments } = splitCompoundSegments(input.trim());\n  return segments.length > 1;\n}\nfunction isDocumentSyntax(input) {\n  const trimmed = input.trim();\n  if (trimmed.includes(\"\\n\")) return true;\n  if (VERSION_HEADER_RE.test(trimmed)) return true;\n  if (trimmed.startsWith(\"//\") || trimmed.startsWith(\"#\") && !trimmed.startsWith(\"#!\"))\n    return true;\n  return false;\n}\nfunction extractStructuralBody(roles, roleName, options) {\n  const value = roles.get(roleName);\n  if (!value) return [];\n  if (value.type === \"expression\") return [parseExplicit(value.raw, options)];\n  return [];\n}\nfunction inferSelectorKind(value) {\n  if (!value) return void 0;\n  if (value.startsWith(\"#\")) return \"id\";\n  if (value.startsWith(\".\")) return \"class\";\n  if (value.startsWith(\"[\")) return \"attribute\";\n  if (value.startsWith(\"<\") || value.startsWith(\"*\")) return \"element\";\n  if (/[>+~ ]/.test(value) && value.length > 1) return \"complex\";\n  return void 0;\n}\nfunction tokenizeExplicit(content) {\n  const tokens = [];\n  let current = \"\";\n  let inString = false;\n  let stringChar = \"\";\n  let bracketDepth = 0;\n  for (let i = 0; i < content.length; i++) {\n    const char = content[i];\n    if (inString) {\n      current += char;\n      if (char === stringChar && content[i - 1] !== \"\\\\\") inString = false;\n      continue;\n    }\n    if (char === '\"' || char === \"'\") {\n      inString = true;\n      stringChar = char;\n      current += char;\n      continue;\n    }\n    if (char === \"[\") {\n      bracketDepth++;\n      current += char;\n      continue;\n    }\n    if (char === \"]\") {\n      bracketDepth--;\n      current += char;\n      continue;\n    }\n    if (char === \" \" && bracketDepth === 0) {\n      if (current) {\n        tokens.push(current);\n        current = \"\";\n      }\n      continue;\n    }\n    current += char;\n  }\n  if (current) tokens.push(current);\n  return tokens;\n}\nfunction parseExplicitValue(valueStr, referenceSet) {\n  if (valueStr.startsWith(\"#\") || valueStr.startsWith(\".\") || valueStr.startsWith(\"[\") || valueStr.startsWith(\"@\") || valueStr.startsWith(\"*\")) {\n    return createSelector(valueStr, inferSelectorKind(valueStr));\n  }\n  if (valueStr.startsWith('\"') || valueStr.startsWith(\"'\")) {\n    return createLiteral(valueStr.slice(1, -1), \"string\");\n  }\n  if (valueStr === \"true\") return createLiteral(true, \"boolean\");\n  if (valueStr === \"false\") return createLiteral(false, \"boolean\");\n  const lowerRef = valueStr.toLowerCase();\n  if (isValidReference(lowerRef, referenceSet)) return createReference(lowerRef);\n  const numMatch = valueStr.match(/^(-?\\d+(?:\\.\\d+)?)(ms|s|m|h)?$/);\n  if (numMatch) {\n    const num = parseFloat(numMatch[1]);\n    const suffix = numMatch[2];\n    if (suffix) return createLiteral(valueStr, \"duration\");\n    return createLiteral(num, \"number\");\n  }\n  return createLiteral(valueStr);\n}\nfunction findMatchingBracket(str, start) {\n  let depth = 0;\n  for (let i = start; i < str.length; i++) {\n    if (str[i] === \"[\") depth++;\n    else if (str[i] === \"]\") {\n      depth--;\n      if (depth === 0) return i;\n    }\n  }\n  return str.length - 1;\n}\n\n// src/ir/renderer.ts\nfunction renderExplicit(node) {\n  let result;\n  if (node.kind === \"compound\") {\n    const compoundNode = node;\n    result = compoundNode.statements.map((stmt) => renderExplicit(stmt)).join(` ${compoundNode.chainType} `);\n  } else {\n    result = renderBracketCommand(node);\n  }\n  if (node.annotations && node.annotations.length > 0) {\n    const annParts = node.annotations.map(\n      (ann) => ann.value !== void 0 ? `@${ann.name}(${ann.value})` : `@${ann.name}`\n    );\n    return annParts.join(\" \") + \" \" + result;\n  }\n  return result;\n}\nfunction renderDocument(envelope) {\n  const lines = [];\n  if (envelope.lseVersion && envelope.lseVersion !== \"1.0\") {\n    lines.push(`#!lse ${envelope.lseVersion}`);\n  }\n  for (const node of envelope.nodes) {\n    lines.push(renderExplicit(node));\n  }\n  return lines.join(\"\\n\");\n}\nfunction renderBracketCommand(node) {\n  const parts = [node.action];\n  for (const [role, value] of node.roles) {\n    if (value.type === \"flag\") {\n      parts.push(value.enabled ? `+${value.name}` : `~${value.name}`);\n    } else {\n      parts.push(`${role}:${valueToString(value)}`);\n    }\n  }\n  if (node.kind === \"event-handler\") {\n    const eventNode = node;\n    if (eventNode.body && eventNode.body.length > 0) {\n      parts.push(`body:${eventNode.body.map((n) => renderExplicit(n)).join(\" \")}`);\n    }\n  }\n  if (node.kind === \"conditional\") {\n    const condNode = node;\n    if (condNode.thenBranch && condNode.thenBranch.length > 0) {\n      parts.push(`then:${condNode.thenBranch.map((n) => renderExplicit(n)).join(\" \")}`);\n    }\n    if (condNode.elseBranch && condNode.elseBranch.length > 0) {\n      parts.push(`else:${condNode.elseBranch.map((n) => renderExplicit(n)).join(\" \")}`);\n    }\n  }\n  if (node.kind === \"loop\") {\n    const loopNode = node;\n    if (loopNode.loopVariant) parts.push(`loop-variant:${loopNode.loopVariant}`);\n    if (loopNode.loopVariable) parts.push(`variable:${loopNode.loopVariable}`);\n    if (loopNode.indexVariable) parts.push(`index-variable:${loopNode.indexVariable}`);\n    if (loopNode.body && loopNode.body.length > 0) {\n      parts.push(`loop-body:${loopNode.body.map((n) => renderExplicit(n)).join(\" \")}`);\n    }\n  }\n  if (node.kind === \"command\") {\n    const cmd = node;\n    if (cmd.body && cmd.body.length > 0)\n      parts.push(`body:${cmd.body.map((n) => renderExplicit(n)).join(\" \")}`);\n    if (cmd.catchBranch && cmd.catchBranch.length > 0)\n      parts.push(`catch:${cmd.catchBranch.map((n) => renderExplicit(n)).join(\" \")}`);\n    if (cmd.finallyBranch && cmd.finallyBranch.length > 0)\n      parts.push(`finally:${cmd.finallyBranch.map((n) => renderExplicit(n)).join(\" \")}`);\n    if (cmd.asyncVariant) parts.push(`async-variant:${cmd.asyncVariant}`);\n    if (cmd.asyncBody && cmd.asyncBody.length > 0)\n      parts.push(`async-body:${cmd.asyncBody.map((n) => renderExplicit(n)).join(\" \")}`);\n  }\n  return `[${parts.join(\" \")}]`;\n}\nfunction valueToString(value) {\n  switch (value.type) {\n    case \"literal\":\n      if (typeof value.value === \"string\") {\n        if (value.dataType === \"string\" || /\\s/.test(value.value)) return `\"${value.value}\"`;\n        return value.value;\n      }\n      return String(value.value);\n    case \"selector\":\n      return value.value;\n    case \"reference\":\n      return value.value;\n    case \"property-path\":\n      return `${valueToString(value.object)}'s ${value.property}`;\n    case \"expression\":\n      return value.raw;\n    case \"flag\":\n      return value.name;\n  }\n}\n\n// src/ir/protocol.ts\nfunction toProtocolJSON(node) {\n  const roles = rolesToProtocol(node.roles);\n  let result;\n  switch (node.kind) {\n    case \"command\": {\n      const cmd = node;\n      result = { kind: \"command\", action: node.action, roles };\n      if (cmd.body && cmd.body.length > 0) result.body = cmd.body.map(toProtocolJSON);\n      if (cmd.catchBranch && cmd.catchBranch.length > 0)\n        result.catchBranch = cmd.catchBranch.map(toProtocolJSON);\n      if (cmd.finallyBranch && cmd.finallyBranch.length > 0)\n        result.finallyBranch = cmd.finallyBranch.map(toProtocolJSON);\n      if (cmd.asyncVariant) result.asyncVariant = cmd.asyncVariant;\n      if (cmd.asyncBody && cmd.asyncBody.length > 0)\n        result.asyncBody = cmd.asyncBody.map(toProtocolJSON);\n      if (cmd.arms && cmd.arms.length > 0) {\n        result.arms = cmd.arms.map((arm) => ({\n          pattern: valueToProtocol(arm.pattern),\n          body: arm.body.map(toProtocolJSON)\n        }));\n      }\n      if (cmd.defaultArm && cmd.defaultArm.length > 0)\n        result.defaultArm = cmd.defaultArm.map(toProtocolJSON);\n      break;\n    }\n    case \"event-handler\": {\n      const eh = node;\n      if (canEmitCompactTrigger(eh)) {\n        const body = eh.body[0];\n        const eventValue = eh.roles.get(\"event\");\n        const eventName = eventValue.value;\n        const trigger = {\n          event: eventName\n        };\n        const triggerModifiers = serializeEventModifiers(eh.eventModifiers);\n        if (triggerModifiers) trigger.modifiers = triggerModifiers;\n        result = {\n          action: body.action,\n          roles: rolesToProtocol(body.roles),\n          trigger\n        };\n        break;\n      }\n      result = {\n        kind: \"event-handler\",\n        action: node.action,\n        roles,\n        body: eh.body.map(toProtocolJSON)\n      };\n      break;\n    }\n    case \"compound\": {\n      const c = node;\n      result = {\n        kind: \"compound\",\n        action: \"compound\",\n        statements: c.statements.map(toProtocolJSON),\n        chainType: c.chainType\n      };\n      break;\n    }\n    case \"conditional\": {\n      const cond = node;\n      result = { kind: \"command\", action: node.action, roles };\n      result.thenBranch = cond.thenBranch.map(toProtocolJSON);\n      if (cond.elseBranch && cond.elseBranch.length > 0)\n        result.elseBranch = cond.elseBranch.map(toProtocolJSON);\n      break;\n    }\n    case \"loop\": {\n      const loop = node;\n      result = { kind: \"command\", action: node.action, roles };\n      result.loopVariant = loop.loopVariant;\n      result.loopBody = loop.body.map(toProtocolJSON);\n      if (loop.loopVariable) result.loopVariable = loop.loopVariable;\n      if (loop.indexVariable) result.indexVariable = loop.indexVariable;\n      break;\n    }\n  }\n  if (node.annotations && node.annotations.length > 0) {\n    result.annotations = node.annotations.map(\n      (a) => a.value !== void 0 ? { name: a.name, value: a.value } : { name: a.name }\n    );\n  }\n  if (node.diagnostics && node.diagnostics.length > 0) {\n    result.diagnostics = node.diagnostics.map((d) => {\n      const json = { level: d.severity, message: d.message };\n      if (d.code) json.code = d.code;\n      if (d.source) json.source = d.source;\n      if (d.suggestions && d.suggestions.length > 0) json.suggestions = [...d.suggestions];\n      return json;\n    });\n  }\n  return result;\n}\nfunction rolesToProtocol(roles) {\n  const result = {};\n  for (const [role, value] of roles) result[role] = valueToProtocol(value);\n  return result;\n}\nfunction valueToProtocol(value) {\n  switch (value.type) {\n    case \"selector\": {\n      const PROTOCOL_SELECTOR_KINDS = /* @__PURE__ */ new Set([\n        \"id\",\n        \"class\",\n        \"attribute\",\n        \"element\",\n        \"complex\"\n      ]);\n      const sk = \"selectorKind\" in value ? value.selectorKind : void 0;\n      const sv = { type: \"selector\", value: value.value };\n      if (sk && PROTOCOL_SELECTOR_KINDS.has(sk))\n        sv.selectorKind = sk;\n      return sv;\n    }\n    case \"literal\":\n      return value.dataType ? { type: \"literal\", value: value.value, dataType: value.dataType } : { type: \"literal\", value: value.value };\n    case \"reference\":\n      return { type: \"reference\", value: value.value };\n    case \"expression\":\n      return { type: \"expression\", raw: value.raw };\n    case \"property-path\":\n      return { type: \"expression\", raw: extractValue(value) };\n    case \"flag\":\n      return { type: \"flag\", name: value.name, enabled: value.enabled };\n  }\n}\nfunction canEmitCompactTrigger(eh) {\n  if (!eh.body || eh.body.length !== 1) return false;\n  const body = eh.body[0];\n  if (body.kind !== \"command\") return false;\n  const cmd = body;\n  if (cmd.body && cmd.body.length > 0) return false;\n  if (cmd.catchBranch && cmd.catchBranch.length > 0) return false;\n  if (cmd.finallyBranch && cmd.finallyBranch.length > 0) return false;\n  if (cmd.asyncVariant) return false;\n  if (cmd.asyncBody && cmd.asyncBody.length > 0) return false;\n  if (cmd.arms && cmd.arms.length > 0) return false;\n  if (cmd.defaultArm && cmd.defaultArm.length > 0) return false;\n  const eventValue = eh.roles.get(\"event\");\n  if (!eventValue || eventValue.type !== \"literal\") return false;\n  if (typeof eventValue.value !== \"string\") return false;\n  if (cmd.roles.has(\"event\")) return false;\n  if (eh.additionalEvents && eh.additionalEvents.length > 0) return false;\n  if (eh.parameterNames && eh.parameterNames.length > 0) return false;\n  if (eh.annotations && eh.annotations.length > 0) return false;\n  if (eh.diagnostics && eh.diagnostics.length > 0) return false;\n  if (cmd.annotations && cmd.annotations.length > 0) return false;\n  if (cmd.diagnostics && cmd.diagnostics.length > 0) return false;\n  return true;\n}\nfunction serializeEventModifiers(mods) {\n  if (!mods) return void 0;\n  const out = {};\n  if (mods.once) out.once = true;\n  if (typeof mods.debounce === \"number\") out.debounce = mods.debounce;\n  if (typeof mods.throttle === \"number\") out.throttle = mods.throttle;\n  if (mods.queue) out.queue = mods.queue;\n  return Object.keys(out).length > 0 ? out : void 0;\n}\nfunction fromProtocolJSON(json) {\n  const roles = new Map(\n    Object.entries(json.roles ?? {}).map(([role, val]) => [role, valueFromProtocol(val)])\n  );\n  const annotations = json.annotations?.map(\n    (a) => a.value !== void 0 ? { name: a.name, value: a.value } : { name: a.name }\n  );\n  const diagnostics = json.diagnostics?.map((d) => ({\n    severity: d.level,\n    message: d.message,\n    ...d.code ? { code: d.code } : {},\n    ...d.source ? { source: d.source } : {},\n    ...d.suggestions && d.suggestions.length > 0 ? { suggestions: d.suggestions } : {}\n  }));\n  if (json.trigger) {\n    const eventName = json.trigger.event;\n    roles.set(\"event\", createLiteral(eventName, \"string\"));\n    const bodyRoles = new Map(roles);\n    bodyRoles.delete(\"event\");\n    const bodyNode = createCommandNode(json.action, bodyRoles);\n    const node = createEventHandlerNode(\n      \"on\",\n      roles,\n      [bodyNode],\n      { sourceLanguage: \"json\" },\n      json.trigger.modifiers ?? {}\n    );\n    return applyV12Metadata(node, annotations, diagnostics);\n  }\n  const kind = json.kind ?? \"command\";\n  if (kind === \"event-handler\") {\n    const body = (json.body ?? []).map(fromProtocolJSON);\n    return applyV12Metadata(\n      createEventHandlerNode(json.action, roles, body),\n      annotations,\n      diagnostics\n    );\n  }\n  if (kind === \"compound\") {\n    const statements = (json.statements ?? []).map(fromProtocolJSON);\n    return applyV12Metadata(\n      createCompoundNode(statements, json.chainType ?? \"sequential\"),\n      annotations,\n      diagnostics\n    );\n  }\n  if (json.thenBranch && json.thenBranch.length > 0) {\n    const thenBranch = json.thenBranch.map(fromProtocolJSON);\n    const elseBranch = json.elseBranch ? json.elseBranch.map(fromProtocolJSON) : void 0;\n    return applyV12Metadata(\n      createConditionalNode(json.action, roles, thenBranch, elseBranch),\n      annotations,\n      diagnostics\n    );\n  }\n  if (json.loopVariant) {\n    const loopBody = (json.loopBody ?? []).map(fromProtocolJSON);\n    return applyV12Metadata(\n      createLoopNode(\n        json.action,\n        roles,\n        json.loopVariant,\n        loopBody,\n        json.loopVariable,\n        json.indexVariable\n      ),\n      annotations,\n      diagnostics\n    );\n  }\n  if (json.catchBranch || json.finallyBranch) {\n    const body = (json.body ?? []).map(fromProtocolJSON);\n    const catchBranch = json.catchBranch ? json.catchBranch.map(fromProtocolJSON) : void 0;\n    const finallyBranch = json.finallyBranch ? json.finallyBranch.map(fromProtocolJSON) : void 0;\n    return applyV12Metadata(\n      createTryNode(body, catchBranch, finallyBranch),\n      annotations,\n      diagnostics\n    );\n  }\n  if (json.asyncVariant) {\n    const asyncBody = (json.asyncBody ?? []).map(fromProtocolJSON);\n    return applyV12Metadata(\n      createAsyncNode(json.asyncVariant, asyncBody),\n      annotations,\n      diagnostics\n    );\n  }\n  if (json.arms && json.arms.length > 0) {\n    const arms = json.arms.map((arm) => ({\n      pattern: valueFromProtocol(arm.pattern),\n      body: arm.body.map(fromProtocolJSON)\n    }));\n    const defaultArm = json.defaultArm ? json.defaultArm.map(fromProtocolJSON) : void 0;\n    return applyV12Metadata(createMatchNode(roles, arms, defaultArm), annotations, diagnostics);\n  }\n  if (json.body && json.body.length > 0 && kind === \"command\") {\n    return applyV12Metadata(\n      createTryNode(json.body.map(fromProtocolJSON)),\n      annotations,\n      diagnostics\n    );\n  }\n  return applyV12Metadata(createCommandNode(json.action, roles), annotations, diagnostics);\n}\nfunction applyV12Metadata(node, annotations, diagnostics) {\n  if ((!annotations || annotations.length === 0) && (!diagnostics || diagnostics.length === 0))\n    return node;\n  return {\n    ...node,\n    ...annotations && annotations.length > 0 ? { annotations } : {},\n    ...diagnostics && diagnostics.length > 0 ? { diagnostics } : {}\n  };\n}\nfunction valueFromProtocol(value) {\n  switch (value.type) {\n    case \"selector\":\n      return createSelector(String(value.value ?? \"\"), value.selectorKind);\n    case \"literal\":\n      return createLiteral(\n        value.value !== void 0 ? value.value : \"\",\n        value.dataType\n      );\n    case \"reference\":\n      return createReference(String(value.value ?? \"\"));\n    case \"expression\":\n      return createExpression(value.raw ?? String(value.value ?? \"\"));\n    case \"flag\":\n      return createFlag(\n        value.name ?? String(value.value ?? \"\"),\n        value.enabled ?? (typeof value.value === \"boolean\" ? value.value : true)\n      );\n    case \"property-path\":\n      return createExpression(String(value.value ?? value.raw ?? \"\"));\n  }\n}\nfunction toEnvelopeJSON(envelope) {\n  const result = {\n    lseVersion: envelope.lseVersion,\n    nodes: envelope.nodes.map(toProtocolJSON)\n  };\n  if (envelope.features && envelope.features.length > 0) result.features = [...envelope.features];\n  return result;\n}\nfunction fromEnvelopeJSON(json) {\n  return {\n    lseVersion: json.lseVersion,\n    ...json.features && json.features.length > 0 ? { features: json.features } : {},\n    nodes: json.nodes.map(fromProtocolJSON)\n  };\n}\nfunction isEnvelope(json) {\n  return typeof json === \"object\" && json !== null && \"lseVersion\" in json && \"nodes\" in json && Array.isArray(json.nodes);\n}\nvar VALID_KINDS = /* @__PURE__ */ new Set([\"command\", \"event-handler\", \"compound\"]);\nvar VALID_VALUE_TYPES = /* @__PURE__ */ new Set([\n  \"selector\",\n  \"literal\",\n  \"reference\",\n  \"expression\",\n  \"property-path\",\n  \"flag\"\n]);\nvar VALID_CHAIN_TYPES = /* @__PURE__ */ new Set([\"then\", \"and\", \"async\", \"sequential\", \"pipe\"]);\nvar VALID_ASYNC_VARIANTS = /* @__PURE__ */ new Set([\"all\", \"race\"]);\nvar VALID_DIAGNOSTIC_LEVELS = /* @__PURE__ */ new Set([\"error\", \"warning\", \"info\"]);\nfunction validateProtocolJSON(json) {\n  const diagnostics = [];\n  if (typeof json !== \"object\" || json === null) {\n    return [{ severity: \"error\", code: \"INVALID_ROOT\", message: \"Root must be a JSON object\" }];\n  }\n  const node = json;\n  const kind = \"kind\" in node ? String(node.kind) : \"command\";\n  if (\"kind\" in node && !VALID_KINDS.has(kind)) {\n    diagnostics.push({\n      severity: \"error\",\n      code: \"INVALID_KIND\",\n      message: `Invalid kind \"${node.kind}\". Must be one of: command, event-handler, compound`\n    });\n  }\n  if (!(\"action\" in node)) {\n    diagnostics.push({\n      severity: \"error\",\n      code: \"MISSING_ACTION\",\n      message: \"Missing required field: action\"\n    });\n  } else if (typeof node.action !== \"string\" || node.action.length === 0) {\n    diagnostics.push({\n      severity: \"error\",\n      code: \"INVALID_ACTION\",\n      message: \"action must be a non-empty string\"\n    });\n  }\n  if (!(\"roles\" in node) && kind !== \"compound\") {\n    diagnostics.push({\n      severity: \"error\",\n      code: \"MISSING_ROLES\",\n      message: \"Missing required field: roles\"\n    });\n  } else if (\"roles\" in node && (typeof node.roles !== \"object\" || node.roles === null || Array.isArray(node.roles))) {\n    diagnostics.push({\n      severity: \"error\",\n      code: \"INVALID_ROLES\",\n      message: \"roles must be a plain object\"\n    });\n  } else if (\"roles\" in node && node.roles) {\n    for (const [role, value] of Object.entries(node.roles)) {\n      if (typeof value !== \"object\" || value === null) {\n        diagnostics.push({\n          severity: \"error\",\n          code: \"INVALID_ROLE_VALUE\",\n          message: `Role \"${role}\" value must be an object`\n        });\n        continue;\n      }\n      const v = value;\n      if (!(\"type\" in v) || !VALID_VALUE_TYPES.has(String(v.type))) {\n        diagnostics.push({\n          severity: \"error\",\n          code: \"INVALID_VALUE_TYPE\",\n          message: `Role \"${role}\" has invalid type \"${v.type}\"`\n        });\n      }\n      if (v.type === \"flag\") {\n        if (typeof v.name !== \"string\" && !(\"value\" in v))\n          diagnostics.push({\n            severity: \"error\",\n            code: \"MISSING_FLAG_NAME\",\n            message: `Flag role \"${role}\" missing required field: name (or value)`\n          });\n        if (typeof v.enabled !== \"boolean\" && !(\"value\" in v))\n          diagnostics.push({\n            severity: \"error\",\n            code: \"MISSING_FLAG_ENABLED\",\n            message: `Flag role \"${role}\" missing required field: enabled (or value)`\n          });\n      }\n      if (v.type === \"expression\" && typeof v.raw !== \"string\" && !(\"value\" in v)) {\n        diagnostics.push({\n          severity: \"error\",\n          code: \"MISSING_EXPRESSION_RAW\",\n          message: `Expression role \"${role}\" missing required field: raw (or value)`\n        });\n      }\n    }\n  }\n  if (\"trigger\" in node && node.trigger) {\n    const trigger = node.trigger;\n    if (typeof trigger !== \"object\" || trigger === null) {\n      diagnostics.push({\n        severity: \"error\",\n        code: \"INVALID_TRIGGER\",\n        message: \"trigger must be an object\"\n      });\n    } else if (!trigger.event || typeof trigger.event !== \"string\") {\n      diagnostics.push({\n        severity: \"error\",\n        code: \"INVALID_TRIGGER\",\n        message: \"trigger.event is required and must be a non-empty string\"\n      });\n    }\n  }\n  if (kind === \"event-handler\" && !(\"trigger\" in node)) {\n    if (!(\"body\" in node) || !Array.isArray(node.body)) {\n      diagnostics.push({\n        severity: \"error\",\n        code: \"MISSING_BODY\",\n        message: \"event-handler node requires a body array\"\n      });\n    }\n  }\n  if (kind === \"compound\") {\n    if (!(\"statements\" in node) || !Array.isArray(node.statements)) {\n      diagnostics.push({\n        severity: \"error\",\n        code: \"MISSING_STATEMENTS\",\n        message: \"compound node requires a statements array\"\n      });\n    }\n    if (\"chainType\" in node && !VALID_CHAIN_TYPES.has(String(node.chainType))) {\n      diagnostics.push({\n        severity: \"error\",\n        code: \"INVALID_CHAIN_TYPE\",\n        message: `Invalid chainType \"${node.chainType}\"`\n      });\n    }\n  }\n  if (\"diagnostics\" in node && !Array.isArray(node.diagnostics)) {\n    diagnostics.push({\n      severity: \"error\",\n      code: \"INVALID_DIAGNOSTICS\",\n      message: \"diagnostics must be an array\"\n    });\n  }\n  if (\"annotations\" in node) {\n    if (!Array.isArray(node.annotations)) {\n      diagnostics.push({\n        severity: \"error\",\n        code: \"INVALID_ANNOTATIONS\",\n        message: \"annotations must be an array\"\n      });\n    } else {\n      for (let i = 0; i < node.annotations.length; i++) {\n        const a = node.annotations[i];\n        if (!a || typeof a !== \"object\") {\n          diagnostics.push({\n            severity: \"error\",\n            code: \"INVALID_ANNOTATION_ENTRY\",\n            message: `annotations[${i}] must be an object`\n          });\n          continue;\n        }\n        if (typeof a.name !== \"string\" || a.name.length === 0)\n          diagnostics.push({\n            severity: \"error\",\n            code: \"MISSING_ANNOTATION_NAME\",\n            message: `annotations[${i}] missing required field: name`\n          });\n      }\n    }\n  }\n  if (\"asyncVariant\" in node && !VALID_ASYNC_VARIANTS.has(String(node.asyncVariant))) {\n    diagnostics.push({\n      severity: \"error\",\n      code: \"INVALID_ASYNC_VARIANT\",\n      message: `Invalid asyncVariant \"${node.asyncVariant}\". Must be \"all\" or \"race\"`\n    });\n  }\n  if (\"arms\" in node) {\n    if (!Array.isArray(node.arms)) {\n      diagnostics.push({\n        severity: \"error\",\n        code: \"INVALID_ARMS\",\n        message: \"arms must be an array\"\n      });\n    } else {\n      for (let i = 0; i < node.arms.length; i++) {\n        const arm = node.arms[i];\n        if (!arm || typeof arm !== \"object\") {\n          diagnostics.push({\n            severity: \"error\",\n            code: \"INVALID_ARM_ENTRY\",\n            message: `arms[${i}] must be an object`\n          });\n          continue;\n        }\n        if (!arm.pattern || typeof arm.pattern !== \"object\")\n          diagnostics.push({\n            severity: \"error\",\n            code: \"MISSING_ARM_PATTERN\",\n            message: `arms[${i}] missing required field: pattern`\n          });\n        if (!Array.isArray(arm.body))\n          diagnostics.push({\n            severity: \"error\",\n            code: \"MISSING_ARM_BODY\",\n            message: `arms[${i}] missing required field: body (array)`\n          });\n      }\n    }\n  }\n  if (\"diagnostics\" in node && Array.isArray(node.diagnostics)) {\n    for (let i = 0; i < node.diagnostics.length; i++) {\n      const d = node.diagnostics[i];\n      if (!d || typeof d !== \"object\") {\n        diagnostics.push({\n          severity: \"error\",\n          code: \"INVALID_DIAGNOSTIC_ENTRY\",\n          message: `diagnostics[${i}] must be an object`\n        });\n        continue;\n      }\n      if (!VALID_DIAGNOSTIC_LEVELS.has(String(d.level)))\n        diagnostics.push({\n          severity: \"error\",\n          code: \"INVALID_DIAGNOSTIC_LEVEL\",\n          message: `diagnostics[${i}].level must be \"error\", \"warning\", or \"info\"`\n        });\n      if (typeof d.message !== \"string\")\n        diagnostics.push({\n          severity: \"error\",\n          code: \"MISSING_DIAGNOSTIC_MESSAGE\",\n          message: `diagnostics[${i}] missing required field: message`\n        });\n    }\n  }\n  return diagnostics;\n}\nexport {\n  DEFAULT_REFERENCES,\n  STRUCTURAL_ROLES,\n  createAsyncNode,\n  createCommandNode,\n  createCompoundNode,\n  createConditionalNode,\n  createDiagnosticCollector,\n  createEventHandlerNode,\n  createExpression,\n  createFlag,\n  createLiteral,\n  createLoopNode,\n  createMatchNode,\n  createPropertyPath,\n  createReference,\n  createSelector,\n  createTryNode,\n  defineCommand,\n  defineRole,\n  extractRoleValue,\n  extractValue,\n  filterBySeverity,\n  fromEnvelopeJSON,\n  fromError,\n  fromProtocolJSON,\n  getRoleSpec,\n  getRoleValue,\n  inferRolesFromSchema,\n  isCompoundSyntax,\n  isDocumentSyntax,\n  isEnvelope,\n  isExplicitSyntax,\n  isValidReference,\n  parseCompound,\n  parseDocument,\n  parseExplicit,\n  renderDocument,\n  renderExplicit,\n  toEnvelopeJSON,\n  toProtocolJSON,\n  validateProtocolJSON\n};\n//# sourceMappingURL=index.js.map","// src/core/types.ts\nimport {\n  createLiteral,\n  createSelector,\n  createReference,\n  createPropertyPath,\n  createExpression,\n  createFlag,\n  createCommandNode,\n  createEventHandlerNode,\n  createConditionalNode,\n  createCompoundNode,\n  createLoopNode,\n  createTryNode,\n  createAsyncNode,\n  createMatchNode,\n  extractValue,\n  extractRoleValue,\n  getRoleValue\n} from \"@lokascript/intent\";\n\n// src/core/logger.ts\nvar DebugLogger = class {\n  constructor(namespace) {\n    this.namespace = namespace;\n    this.enabled = this.checkEnabled();\n  }\n  checkEnabled() {\n    if (typeof process !== \"undefined\" && process.env) {\n      const DEBUG = process.env.DEBUG || \"\";\n      return DEBUG === \"*\" || DEBUG.includes(\"framework:*\") || DEBUG.includes(`framework:${this.namespace}`);\n    }\n    return false;\n  }\n  log(level, message, ...args) {\n    if (!this.enabled) return;\n    const prefix = `[framework:${this.namespace}]`;\n    const timestamp = (/* @__PURE__ */ new Date()).toISOString();\n    switch (level) {\n      case \"debug\":\n        console.debug(`${timestamp} ${prefix} DEBUG:`, message, ...args);\n        break;\n      case \"info\":\n        console.info(`${timestamp} ${prefix} INFO:`, message, ...args);\n        break;\n      case \"warn\":\n        console.warn(`${timestamp} ${prefix} WARN:`, message, ...args);\n        break;\n      case \"error\":\n        console.error(`${timestamp} ${prefix} ERROR:`, message, ...args);\n        break;\n    }\n  }\n  debug(message, ...args) {\n    this.log(\"debug\", message, ...args);\n  }\n  info(message, ...args) {\n    this.log(\"info\", message, ...args);\n  }\n  warn(message, ...args) {\n    this.log(\"warn\", message, ...args);\n  }\n  error(message, ...args) {\n    this.log(\"error\", message, ...args);\n  }\n  /**\n   * Check if logging is enabled for this namespace.\n   */\n  isEnabled() {\n    return this.enabled;\n  }\n  /**\n   * Programmatically enable logging for this namespace.\n   */\n  enable() {\n    this.enabled = true;\n  }\n  /**\n   * Programmatically disable logging for this namespace.\n   */\n  disable() {\n    this.enabled = false;\n  }\n};\nfunction createLogger(namespace) {\n  return new DebugLogger(namespace);\n}\n\n// src/core/pattern-matching/utils/type-validation.ts\nfunction isTypeCompatible(actualType, expectedTypes) {\n  if (!expectedTypes || expectedTypes.length === 0) {\n    return true;\n  }\n  if (expectedTypes.includes(actualType)) {\n    return true;\n  }\n  if (expectedTypes.includes(\"expression\")) {\n    return true;\n  }\n  if (actualType === \"property-path\") {\n    return expectedTypes.some((t) => [\"selector\", \"reference\", \"expression\"].includes(t));\n  }\n  return false;\n}\nfunction validateValueType(value, expectedTypes) {\n  if (!expectedTypes || expectedTypes.length === 0) {\n    return true;\n  }\n  return isTypeCompatible(value.type, expectedTypes);\n}\nfunction isCSSSelector(value) {\n  return value.startsWith(\".\") || value.startsWith(\"#\") || value.startsWith(\"<\");\n}\nfunction isClassName(value) {\n  return value.startsWith(\".\");\n}\nfunction isIdSelector(value) {\n  return value.startsWith(\"#\");\n}\nfunction isCSSPropertyRef(value) {\n  return value.startsWith(\"*\");\n}\nfunction isNumericValue(value) {\n  const durationMatch = value.match(/^(\\d+(?:\\.\\d+)?)(ms|s|m|h)?$/);\n  if (durationMatch) {\n    return true;\n  }\n  const num = parseFloat(value);\n  return !isNaN(num) && isFinite(num);\n}\nfunction isPropertyName(value) {\n  return /^[a-zA-Z_][a-zA-Z0-9_]*$/.test(value);\n}\nfunction isVariableRef(value) {\n  return value.startsWith(\":\");\n}\nfunction isBuiltInReference(value) {\n  const builtIns = /* @__PURE__ */ new Set([\"me\", \"you\", \"it\", \"result\", \"event\", \"target\", \"body\"]);\n  return builtIns.has(value.toLowerCase());\n}\n\n// src/core/pattern-matching/utils/possessive-keywords.ts\nfunction getPossessiveReference(profile, keyword) {\n  return profile?.possessive?.keywords?.[keyword];\n}\nfunction isPossessiveKeyword(profile, keyword) {\n  return profile?.possessive?.keywords?.[keyword] !== void 0;\n}\nfunction getAllPossessiveKeywords(profile) {\n  return profile?.possessive?.keywords ?? {};\n}\n\n// src/core/pattern-matching/pattern-matcher.ts\nfunction isValidReference(_value) {\n  return false;\n}\nvar _PatternMatcher = class _PatternMatcher {\n  constructor() {\n    /** Debug logger */\n    this.logger = createLogger(\"pattern-matcher\");\n    /**\n     * Track stem matches for confidence calculation.\n     * This is set during matching and read during confidence calculation.\n     */\n    this.stemMatchCount = 0;\n    this.totalKeywordMatches = 0;\n  }\n  /**\n   * Safely convert a value to lowercase string.\n   * Provides protection against non-string values at runtime.\n   */\n  safeToLowerCase(value) {\n    if (typeof value === \"string\") {\n      return value.toLowerCase();\n    }\n    if (value === null || value === void 0) {\n      return \"\";\n    }\n    return String(value).toLowerCase();\n  }\n  /**\n   * Try to match a single pattern against the token stream.\n   * Returns the match result or null if no match.\n   *\n   * @param tokens - Token stream to match against\n   * @param pattern - Pattern to match\n   * @param profile - Optional language profile for possessive handling\n   */\n  matchPattern(tokens, pattern, profile) {\n    const mark = tokens.mark();\n    const captured = /* @__PURE__ */ new Map();\n    this.logger.debug(\"========================================\");\n    this.logger.debug(\"matchPattern ENTRY\");\n    this.logger.debug(\"Pattern ID:\", pattern.id);\n    this.logger.debug(\"Pattern command:\", pattern.command);\n    this.logger.debug(\"Pattern language:\", pattern.language);\n    this.logger.debug(\"Pattern template:\", JSON.stringify(pattern.template, null, 2));\n    if (this.logger.isEnabled()) {\n      const firstTokens = [];\n      for (let i = 0; i < 10; i++) {\n        const t = tokens.peek(i);\n        if (t)\n          firstTokens.push({\n            type: t.type,\n            value: t.value,\n            kind: t.kind\n          });\n        else break;\n      }\n      this.logger.debug(\"Input tokens (first 10):\", firstTokens);\n      this.logger.debug(\"Profile code:\", profile?.code);\n    }\n    this.currentProfile = profile;\n    this.stemMatchCount = 0;\n    this.totalKeywordMatches = 0;\n    this.logger.debug(\"--- Calling matchTokenSequence ---\");\n    this.logger.debug(\"Pattern tokens to match:\", JSON.stringify(pattern.template.tokens, null, 2));\n    const success = this.matchTokenSequence(tokens, pattern.template.tokens, captured);\n    this.logger.debug(\"matchTokenSequence returned:\", success);\n    this.logger.debug(\n      \"Captured roles:\",\n      Array.from(captured.entries()).map(([k, v]) => [k, JSON.stringify(v)])\n    );\n    if (!success) {\n      this.logger.debug(\">>> MATCH FAILED - resetting token position\");\n      tokens.reset(mark);\n      return null;\n    }\n    const confidence = this.calculateConfidence(pattern, captured);\n    this.applyExtractionRules(pattern, captured);\n    return {\n      pattern,\n      captured,\n      consumedTokens: tokens.position() - mark.position,\n      confidence\n    };\n  }\n  /**\n   * Try to match multiple patterns, return the best match.\n   *\n   * @param tokens - Token stream to match against\n   * @param patterns - Candidate patterns to try\n   * @param profile - Optional language profile for possessive handling\n   */\n  matchBest(tokens, patterns, profile) {\n    const matches = [];\n    for (const pattern of patterns) {\n      const mark = tokens.mark();\n      const result = this.matchPattern(tokens, pattern, profile);\n      if (result) {\n        matches.push(result);\n      }\n      tokens.reset(mark);\n    }\n    if (matches.length === 0) {\n      return null;\n    }\n    matches.sort((a, b) => {\n      const priorityDiff = b.pattern.priority - a.pattern.priority;\n      if (priorityDiff !== 0) return priorityDiff;\n      const confidenceDiff = b.confidence - a.confidence;\n      if (Math.abs(confidenceDiff) > 1e-3) return confidenceDiff;\n      return b.consumedTokens - a.consumedTokens;\n    });\n    const best = matches[0];\n    this.matchPattern(tokens, best.pattern);\n    return best;\n  }\n  /**\n   * Match a sequence of pattern tokens against the token stream.\n   *\n   * Supports bounded single-step backtracking: if an optional role consumes\n   * a token and the immediately following pattern token fails, the matcher\n   * resets to before the optional role and retries the failed token.\n   */\n  matchTokenSequence(tokens, patternTokens, captured, parentStopMarkers) {\n    const firstPatternToken = patternTokens[0];\n    const patternExpectsConjunction = firstPatternToken?.type === \"literal\" && (firstPatternToken.value === \"and\" || firstPatternToken.value === \"then\" || firstPatternToken.alternatives?.includes(\"and\") || firstPatternToken.alternatives?.includes(\"then\"));\n    if (this.currentProfile?.code === \"ar\" && !patternExpectsConjunction) {\n      while (tokens.peek()?.kind === \"conjunction\") {\n        tokens.advance();\n      }\n    }\n    let prevOptionalMark = null;\n    let prevOptionalRole = null;\n    for (let i = 0; i < patternTokens.length; i++) {\n      const patternToken = patternTokens[i];\n      this.logger.debug(\"  >> Matching pattern token:\", JSON.stringify(patternToken, null, 2));\n      const currTok = tokens.peek();\n      this.logger.debug(\n        \"  >> Current input token:\",\n        currTok ? JSON.stringify({\n          type: currTok.type,\n          value: currTok.value,\n          kind: currTok.kind\n        }) : \"EOF\"\n      );\n      if (patternToken.type === \"role\" && patternToken.greedy) {\n        const stopMarkers = this.collectStopMarkers(patternTokens, i + 1);\n        if (parentStopMarkers) {\n          for (const m of parentStopMarkers) stopMarkers.add(m);\n        }\n        const values = [];\n        while (!tokens.isAtEnd()) {\n          const nextToken = tokens.peek();\n          if (!nextToken) break;\n          if (this.isStopMarker(nextToken, stopMarkers)) break;\n          values.push(nextToken.value);\n          tokens.advance();\n        }\n        if (values.length > 0) {\n          captured.set(patternToken.role, { type: \"expression\", raw: values.join(\" \") });\n          prevOptionalMark = null;\n          prevOptionalRole = null;\n          continue;\n        } else if (patternToken.optional) {\n          continue;\n        } else {\n          return false;\n        }\n      }\n      if (patternToken.type === \"group\") {\n        const siblingStopMarkers = this.collectStopMarkers(patternTokens, i + 1);\n        if (parentStopMarkers) {\n          for (const m of parentStopMarkers) siblingStopMarkers.add(m);\n        }\n        const groupMatched = this.matchGroupToken(\n          tokens,\n          patternToken,\n          captured,\n          siblingStopMarkers\n        );\n        if (groupMatched) {\n          prevOptionalMark = null;\n          prevOptionalRole = null;\n          continue;\n        }\n        if (this.isOptional(patternToken)) {\n          continue;\n        }\n        return false;\n      }\n      const isOptionalRole = patternToken.type === \"role\" && patternToken.optional === true;\n      const markBefore = isOptionalRole ? tokens.mark() : null;\n      const isRoleToken = patternToken.type === \"role\";\n      if (isRoleToken && !isOptionalRole) {\n        const nextPT = i + 1 < patternTokens.length ? patternTokens[i + 1] : null;\n        if (nextPT?.type === \"literal\") {\n          const currentToken = tokens.peek();\n          if (currentToken && this.getMatchType(currentToken, nextPT.value) !== \"none\") {\n            this.logger.debug(\n              \"  >> MARKER-STEAL GUARD: current token matches next literal, skipping role\"\n            );\n            this.logger.debug(\"  >> Token match FAILED\");\n            if (this.isOptional(patternToken)) {\n              continue;\n            }\n            if (prevOptionalMark && prevOptionalRole) {\n              this.logger.debug(\"  >> BACKTRACKING: undoing optional role\", prevOptionalRole);\n              tokens.reset(prevOptionalMark);\n              captured.delete(prevOptionalRole);\n              prevOptionalMark = null;\n              prevOptionalRole = null;\n              const retryMatched = this.matchPatternToken(tokens, patternToken, captured);\n              this.logger.debug(\"  >> Backtrack retry result:\", retryMatched);\n              if (retryMatched) {\n                continue;\n              }\n            }\n            return false;\n          }\n        }\n      }\n      const matched = this.matchPatternToken(tokens, patternToken, captured);\n      this.logger.debug(\"  >> Match result:\", matched);\n      if (matched) {\n        if (isOptionalRole) {\n          prevOptionalMark = markBefore;\n          prevOptionalRole = patternToken.role;\n        } else {\n          prevOptionalMark = null;\n          prevOptionalRole = null;\n        }\n        continue;\n      }\n      this.logger.debug(\"  >> Token match FAILED\");\n      if (this.isOptional(patternToken)) {\n        continue;\n      }\n      if (prevOptionalMark && prevOptionalRole) {\n        this.logger.debug(\"  >> BACKTRACKING: undoing optional role\", prevOptionalRole);\n        tokens.reset(prevOptionalMark);\n        captured.delete(prevOptionalRole);\n        prevOptionalMark = null;\n        prevOptionalRole = null;\n        const retryMatched = this.matchPatternToken(tokens, patternToken, captured);\n        this.logger.debug(\"  >> Backtrack retry result:\", retryMatched);\n        if (retryMatched) {\n          continue;\n        }\n      }\n      return false;\n    }\n    return true;\n  }\n  /**\n   * Match a single pattern token against the current position in the stream.\n   */\n  matchPatternToken(tokens, patternToken, captured) {\n    switch (patternToken.type) {\n      case \"literal\":\n        return this.matchLiteralToken(tokens, patternToken);\n      case \"role\":\n        return this.matchRoleToken(tokens, patternToken, captured);\n      case \"group\":\n        return this.matchGroupToken(tokens, patternToken, captured);\n      default:\n        return false;\n    }\n  }\n  /**\n   * Match a literal pattern token (keyword or particle).\n   */\n  matchLiteralToken(tokens, patternToken) {\n    const token = tokens.peek();\n    this.logger.debug(\"    >>> matchLiteralToken: expecting\", patternToken.value);\n    this.logger.debug(\n      \"    >>> matchLiteralToken: got token\",\n      token ? JSON.stringify({\n        type: token.type,\n        value: token.value,\n        kind: token.kind\n      }) : \"null\"\n    );\n    if (!token) {\n      this.logger.debug(\"    >>> matchLiteralToken: FAIL - no token\");\n      return false;\n    }\n    const matchType = this.getMatchType(token, patternToken.value);\n    this.logger.debug(\n      \"    >>> matchType for\",\n      token.value,\n      \"vs\",\n      patternToken.value,\n      \":\",\n      matchType\n    );\n    if (matchType !== \"none\") {\n      this.totalKeywordMatches++;\n      if (matchType === \"stem\") {\n        this.stemMatchCount++;\n      }\n      tokens.advance();\n      return true;\n    }\n    if (patternToken.alternatives) {\n      for (const alt of patternToken.alternatives) {\n        const altMatchType = this.getMatchType(token, alt);\n        if (altMatchType !== \"none\") {\n          this.totalKeywordMatches++;\n          if (altMatchType === \"stem\") {\n            this.stemMatchCount++;\n          }\n          tokens.advance();\n          return true;\n        }\n      }\n    }\n    return false;\n  }\n  /**\n   * Match a role pattern token (captures a semantic value).\n   * Handles multi-token expressions like:\n   * - 'my value' (possessive keyword + property)\n   * - '#dialog.showModal()' (method call)\n   * - \"#element's *opacity\" (possessive selector + property)\n   */\n  matchRoleToken(tokens, patternToken, captured) {\n    this.logger.debug(\"    >>> matchRoleToken ENTRY: capturing role\", patternToken.role);\n    this.logger.debug(\"    >>> matchRoleToken: expected types\", patternToken.expectedTypes);\n    this.logger.debug(\"    >>> matchRoleToken: optional?\", patternToken.optional);\n    this.skipNoiseWords(tokens);\n    const token = tokens.peek();\n    this.logger.debug(\n      \"    >>> After skipNoiseWords, current token:\",\n      token ? JSON.stringify({ value: token.value, kind: token.kind }) : \"null\"\n    );\n    if (!token) {\n      return patternToken.optional || false;\n    }\n    const possessiveValue = this.tryMatchPossessiveExpression(tokens);\n    if (possessiveValue) {\n      if (patternToken.expectedTypes && patternToken.expectedTypes.length > 0) {\n        if (!isTypeCompatible(possessiveValue.type, patternToken.expectedTypes)) {\n          return patternToken.optional || false;\n        }\n      }\n      captured.set(patternToken.role, possessiveValue);\n      return true;\n    }\n    const methodCallValue = this.tryMatchMethodCallExpression(tokens);\n    if (methodCallValue) {\n      if (patternToken.expectedTypes && patternToken.expectedTypes.length > 0) {\n        if (!isTypeCompatible(methodCallValue.type, patternToken.expectedTypes)) {\n          return patternToken.optional || false;\n        }\n      }\n      captured.set(patternToken.role, methodCallValue);\n      return true;\n    }\n    const possessiveSelectorValue = this.tryMatchPossessiveSelectorExpression(tokens);\n    if (possessiveSelectorValue) {\n      if (patternToken.expectedTypes && patternToken.expectedTypes.length > 0) {\n        if (!isTypeCompatible(possessiveSelectorValue.type, patternToken.expectedTypes)) {\n          return patternToken.optional || false;\n        }\n      }\n      captured.set(patternToken.role, possessiveSelectorValue);\n      return true;\n    }\n    const propertyAccessValue = this.tryMatchPropertyAccessExpression(tokens);\n    if (propertyAccessValue) {\n      if (patternToken.expectedTypes && patternToken.expectedTypes.length > 0) {\n        if (!isTypeCompatible(propertyAccessValue.type, patternToken.expectedTypes)) {\n          return patternToken.optional || false;\n        }\n      }\n      captured.set(patternToken.role, propertyAccessValue);\n      return true;\n    }\n    const selectorPropertyValue = this.tryMatchSelectorPropertyExpression(tokens);\n    if (selectorPropertyValue) {\n      if (patternToken.expectedTypes && patternToken.expectedTypes.length > 0) {\n        if (!isTypeCompatible(selectorPropertyValue.type, patternToken.expectedTypes)) {\n          return patternToken.optional || false;\n        }\n      }\n      captured.set(patternToken.role, selectorPropertyValue);\n      return true;\n    }\n    this.logger.debug(\n      \"    >>> Trying tokenToSemanticValue for token:\",\n      token ? JSON.stringify({ value: token.value, kind: token.kind }) : \"null\"\n    );\n    const value = this.tokenToSemanticValue(token);\n    this.logger.debug(\n      \"    >>> tokenToSemanticValue returned:\",\n      value ? JSON.stringify(value) : \"null\"\n    );\n    if (!value) {\n      return patternToken.optional || false;\n    }\n    this.logger.debug(\n      \"    >>> Validating type:\",\n      value.type,\n      \"against expected:\",\n      patternToken.expectedTypes\n    );\n    if (patternToken.expectedTypes && patternToken.expectedTypes.length > 0) {\n      if (!isTypeCompatible(value.type, patternToken.expectedTypes)) {\n        this.logger.debug(\"    >>> TYPE MISMATCH - returning\", patternToken.optional || false);\n        return patternToken.optional || false;\n      }\n    }\n    this.logger.debug(\"    >>> Type validation PASSED\");\n    captured.set(patternToken.role, value);\n    tokens.advance();\n    return true;\n  }\n  /**\n   * Try to match a possessive expression like 'my value' or 'its innerHTML'.\n   * Returns the PropertyPathValue if matched, or null if not.\n   */\n  tryMatchPossessiveExpression(tokens) {\n    const token = tokens.peek();\n    if (!token) return null;\n    if (!this.currentProfile) return null;\n    const tokenValue = token.normalized || token.value;\n    const tokenLower = this.safeToLowerCase(tokenValue);\n    const baseRef = getPossessiveReference(this.currentProfile, tokenLower);\n    if (!baseRef) return null;\n    const mark = tokens.mark();\n    tokens.advance();\n    const propertyToken = tokens.peek();\n    if (!propertyToken) {\n      tokens.reset(mark);\n      return null;\n    }\n    if (propertyToken.kind === \"identifier\" || propertyToken.kind === \"keyword\" && !this.isStructuralKeyword(propertyToken.value) || propertyToken.kind === \"selector\" && propertyToken.value.startsWith(\"*\") || propertyToken.kind === \"selector\" && propertyToken.value.startsWith(\"@\") || propertyToken.kind === \"selector\" && propertyToken.value.startsWith(\".\") && /^\\.[a-zA-Z_]\\w*/.test(propertyToken.value)) {\n      tokens.advance();\n      let propertyName = propertyToken.value;\n      if (propertyToken.kind === \"selector\" && propertyName.startsWith(\".\") && /^\\.[a-zA-Z_]\\w*/.test(propertyName)) {\n        propertyName = propertyName.substring(1);\n      }\n      let chainedProps = propertyName;\n      while (tokens.peek()?.kind === \"selector\" && tokens.peek().value.startsWith(\".\") && /^\\.[a-zA-Z_]\\w*/.test(tokens.peek().value)) {\n        chainedProps += tokens.peek().value;\n        tokens.advance();\n      }\n      const nextPeek = tokens.peek();\n      if (nextPeek?.kind === \"literal\" && nextPeek.value.startsWith(\"(\")) {\n        chainedProps += nextPeek.value;\n        tokens.advance();\n      }\n      return createPropertyPath(createReference(baseRef), chainedProps);\n    }\n    tokens.reset(mark);\n    return null;\n  }\n  /**\n   * Check if a keyword is a structural keyword (preposition, control flow, etc.)\n   * that shouldn't be consumed as a property name.\n   */\n  isStructuralKeyword(value) {\n    const structural = /* @__PURE__ */ new Set([\n      // Prepositions\n      \"into\",\n      \"in\",\n      \"to\",\n      \"from\",\n      \"at\",\n      \"by\",\n      \"with\",\n      \"without\",\n      \"before\",\n      \"after\",\n      \"of\",\n      \"as\",\n      \"on\",\n      // Control flow\n      \"then\",\n      \"end\",\n      \"else\",\n      \"if\",\n      \"repeat\",\n      \"while\",\n      \"for\",\n      // Commands (shouldn't be property names)\n      \"toggle\",\n      \"add\",\n      \"remove\",\n      \"put\",\n      \"set\",\n      \"show\",\n      \"hide\",\n      \"increment\",\n      \"decrement\",\n      \"send\",\n      \"trigger\",\n      \"call\"\n    ]);\n    return structural.has(value.toLowerCase());\n  }\n  /**\n   * Try to match a method call expression like '#dialog.showModal()'.\n   * Pattern: selector + '.' + identifier + '(' + [args] + ')'\n   * Returns an expression value if matched, or null if not.\n   */\n  tryMatchMethodCallExpression(tokens) {\n    const token = tokens.peek();\n    if (!token || token.kind !== \"selector\") return null;\n    const mark = tokens.mark();\n    tokens.advance();\n    const dotToken = tokens.peek();\n    if (!dotToken || dotToken.kind !== \"operator\" || dotToken.value !== \".\") {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    const methodToken = tokens.peek();\n    if (!methodToken || methodToken.kind !== \"identifier\") {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    const openParen = tokens.peek();\n    if (!openParen || openParen.kind !== \"punctuation\" || openParen.value !== \"(\") {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    const args = [];\n    while (!tokens.isAtEnd() && args.length < _PatternMatcher.MAX_METHOD_ARGS) {\n      const argToken = tokens.peek();\n      if (!argToken) break;\n      if (argToken.kind === \"punctuation\" && argToken.value === \")\") {\n        tokens.advance();\n        break;\n      }\n      if (argToken.kind === \"punctuation\" && argToken.value === \",\") {\n        tokens.advance();\n        continue;\n      }\n      args.push(argToken.value);\n      tokens.advance();\n    }\n    const methodCall = `${token.value}.${methodToken.value}(${args.join(\", \")})`;\n    return {\n      type: \"expression\",\n      raw: methodCall\n    };\n  }\n  /**\n   * Try to match a property access expression like 'userData.name' or 'it.data'.\n   * Pattern: (identifier | keyword) + '.' + identifier [+ '.' + identifier ...]\n   * Returns an expression value if matched, or null if not.\n   */\n  tryMatchPropertyAccessExpression(tokens) {\n    const token = tokens.peek();\n    if (!token) return null;\n    if (token.kind !== \"identifier\" && token.kind !== \"keyword\") return null;\n    const mark = tokens.mark();\n    tokens.advance();\n    const dotToken = tokens.peek();\n    if (!dotToken || dotToken.kind !== \"operator\" || dotToken.value !== \".\") {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    const propertyToken = tokens.peek();\n    if (!propertyToken || propertyToken.kind !== \"identifier\") {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    let chain = `${token.value}.${propertyToken.value}`;\n    let depth = 1;\n    while (!tokens.isAtEnd() && depth < _PatternMatcher.MAX_PROPERTY_DEPTH) {\n      const nextDot = tokens.peek();\n      if (!nextDot || nextDot.kind !== \"operator\" || nextDot.value !== \".\") {\n        break;\n      }\n      tokens.advance();\n      const nextProp = tokens.peek();\n      if (!nextProp || nextProp.kind !== \"identifier\") {\n        break;\n      }\n      tokens.advance();\n      chain += `.${nextProp.value}`;\n      depth++;\n    }\n    const openParen = tokens.peek();\n    if (openParen && openParen.kind === \"punctuation\" && openParen.value === \"(\") {\n      tokens.advance();\n      const args = [];\n      let argDepth = 0;\n      while (!tokens.isAtEnd() && args.length < _PatternMatcher.MAX_METHOD_ARGS) {\n        const argToken = tokens.peek();\n        if (!argToken) break;\n        if (argToken.kind === \"punctuation\" && argToken.value === \")\") {\n          if (argDepth === 0) {\n            tokens.advance();\n            break;\n          }\n          argDepth--;\n        }\n        if (argToken.kind === \"punctuation\" && argToken.value === \"(\") {\n          argDepth++;\n        }\n        if (argToken.kind === \"punctuation\" && argToken.value === \",\") {\n          tokens.advance();\n          continue;\n        }\n        args.push(argToken.value);\n        tokens.advance();\n      }\n      const methodCall = `${chain}(${args.join(\", \")})`;\n      return {\n        type: \"expression\",\n        raw: methodCall\n      };\n    }\n    return {\n      type: \"expression\",\n      raw: chain\n    };\n  }\n  /**\n   * Try to match a possessive selector expression like \"#element's *opacity\".\n   * Pattern: selector + \"'s\" + (selector | identifier)\n   * Returns a property-path value if matched, or null if not.\n   */\n  tryMatchPossessiveSelectorExpression(tokens) {\n    const token = tokens.peek();\n    if (!token || token.kind !== \"selector\") return null;\n    const mark = tokens.mark();\n    tokens.advance();\n    const possessiveToken = tokens.peek();\n    if (!possessiveToken || possessiveToken.kind !== \"punctuation\" || possessiveToken.value !== \"'s\") {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    const propertyToken = tokens.peek();\n    if (!propertyToken) {\n      tokens.reset(mark);\n      return null;\n    }\n    if (propertyToken.kind !== \"selector\" && propertyToken.kind !== \"identifier\") {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    return createPropertyPath(createSelector(token.value), propertyToken.value);\n  }\n  /**\n   * Try to match a selector + property expression like \"#output.innerText\".\n   * This handles cases where the tokenizer produces two selector tokens:\n   * - #output (id selector)\n   * - .innerText (looks like class selector, but is actually property)\n   *\n   * Pattern: id-selector + class-selector-that-is-actually-property\n   * Returns a property-path value if matched, or null if not.\n   */\n  tryMatchSelectorPropertyExpression(tokens) {\n    const token = tokens.peek();\n    if (!token || token.kind !== \"selector\") return null;\n    if (typeof token.value !== \"string\" || !token.value.startsWith(\"#\")) return null;\n    const mark = tokens.mark();\n    tokens.advance();\n    const propertyToken = tokens.peek();\n    if (!propertyToken || propertyToken.kind !== \"selector\") {\n      tokens.reset(mark);\n      return null;\n    }\n    if (!propertyToken.value.startsWith(\".\")) {\n      tokens.reset(mark);\n      return null;\n    }\n    const peek2 = tokens.peek(1);\n    if (peek2 && peek2.kind === \"selector\") {\n    }\n    tokens.advance();\n    const propertyName = propertyToken.value.slice(1);\n    return createPropertyPath(createSelector(token.value), propertyName);\n  }\n  /**\n   * Match a group pattern token (optional sequence).\n   * When the group's leading marker isn't at the current position, scans ahead\n   * up to MAX_MARKER_SCAN tokens to find it. This allows unmarked tokens\n   * (e.g., a value like 'hello') to sit between groups without blocking later\n   * marker matches.\n   */\n  matchGroupToken(tokens, patternToken, captured, parentStopMarkers) {\n    const mark = tokens.mark();\n    const capturedBefore = new Set(captured.keys());\n    const success = this.matchTokenSequence(\n      tokens,\n      patternToken.tokens,\n      captured,\n      parentStopMarkers\n    );\n    if (success) return true;\n    tokens.reset(mark);\n    for (const role of captured.keys()) {\n      if (!capturedBefore.has(role)) captured.delete(role);\n    }\n    if (!patternToken.optional) return false;\n    const leadingMarker = this.getGroupLeadingMarker(patternToken);\n    if (leadingMarker) {\n      for (let offset = 1; offset <= _PatternMatcher.MAX_MARKER_SCAN; offset++) {\n        const ahead = tokens.peek(offset);\n        if (!ahead) break;\n        const aheadValue = (ahead.normalized || ahead.value).toLowerCase();\n        if (aheadValue === leadingMarker) {\n          this.logger.debug(\n            \"  >> MARKER SCAN: found\",\n            leadingMarker,\n            \"at offset\",\n            offset,\n            \"- skipping intervening tokens\"\n          );\n          for (let s = 0; s < offset; s++) tokens.advance();\n          const retrySuccess = this.matchTokenSequence(\n            tokens,\n            patternToken.tokens,\n            captured,\n            parentStopMarkers\n          );\n          if (retrySuccess) return true;\n          tokens.reset(mark);\n          for (const role of captured.keys()) {\n            if (!capturedBefore.has(role)) captured.delete(role);\n          }\n          break;\n        }\n      }\n    }\n    return true;\n  }\n  /**\n   * Get the leading marker literal from an optional group.\n   * Returns the lowercase marker value, or null if the group\n   * doesn't start with a literal token (e.g., SOV groups where\n   * the role comes before the marker).\n   */\n  getGroupLeadingMarker(group) {\n    const first = group.tokens[0];\n    if (first?.type === \"literal\") return first.value.toLowerCase();\n    return null;\n  }\n  /**\n   * Get the type of match for a token against a value.\n   * Used for confidence calculation.\n   */\n  getMatchType(token, value) {\n    if (token.value === value) return \"exact\";\n    if (token.normalized === value) return \"normalized\";\n    if (token.stem === value && token.stemConfidence !== void 0 && token.stemConfidence >= 0.7) {\n      return \"stem\";\n    }\n    if (token.kind === \"keyword\" && this.safeToLowerCase(token.value) === value.toLowerCase()) {\n      return \"case-insensitive\";\n    }\n    return \"none\";\n  }\n  /**\n   * Collect literal values from upcoming pattern tokens that act as stop markers\n   * for greedy role capture. Returns the set of lowercase values.\n   */\n  collectStopMarkers(patternTokens, startIndex) {\n    const markers = /* @__PURE__ */ new Set();\n    for (let j = startIndex; j < patternTokens.length; j++) {\n      const pt = patternTokens[j];\n      if (pt.type === \"literal\") {\n        markers.add(pt.value.toLowerCase());\n        if (pt.alternatives) {\n          for (const alt of pt.alternatives) {\n            markers.add(alt.toLowerCase());\n          }\n        }\n        break;\n      }\n      if (pt.type === \"group\") {\n        for (const gt of pt.tokens) {\n          if (gt.type === \"literal\") {\n            markers.add(gt.value.toLowerCase());\n            if (gt.alternatives) {\n              for (const alt of gt.alternatives) {\n                markers.add(alt.toLowerCase());\n              }\n            }\n            break;\n          }\n        }\n        if (!pt.optional) break;\n      }\n    }\n    return markers;\n  }\n  /**\n   * Check if a token matches any stop marker for greedy capture.\n   */\n  isStopMarker(token, stopMarkers) {\n    if (stopMarkers.size === 0) return false;\n    if (stopMarkers.has(token.value.toLowerCase())) return true;\n    if (token.normalized && stopMarkers.has(token.normalized.toLowerCase())) return true;\n    return false;\n  }\n  /**\n   * Convert a language token to a semantic value.\n   */\n  tokenToSemanticValue(token) {\n    switch (token.kind) {\n      case \"selector\":\n        return createSelector(token.value);\n      case \"literal\":\n        return this.parseLiteralValue(token.value);\n      case \"keyword\":\n        const tokenValue = token.normalized || token.value;\n        const lower = this.safeToLowerCase(tokenValue);\n        if (isValidReference(lower)) {\n          return createReference(lower);\n        }\n        return createLiteral(token.normalized || token.value);\n      case \"identifier\":\n        if (typeof token.value === \"string\" && token.value.startsWith(\":\")) {\n          return createReference(token.value);\n        }\n        const identLower = this.safeToLowerCase(token.value);\n        if (isValidReference(identLower)) {\n          return createReference(identLower);\n        }\n        return { type: \"expression\", raw: token.value };\n      case \"url\":\n        return createLiteral(token.value, \"string\");\n      default:\n        return null;\n    }\n  }\n  /**\n   * Parse a literal value (string, number, boolean).\n   */\n  parseLiteralValue(value) {\n    if (value.startsWith('\"') || value.startsWith(\"'\") || value.startsWith(\"`\") || value.startsWith(\"\\u300C\")) {\n      const inner = value.slice(1, -1);\n      return createLiteral(inner, \"string\");\n    }\n    if (value === \"true\") return createLiteral(true, \"boolean\");\n    if (value === \"false\") return createLiteral(false, \"boolean\");\n    const durationMatch = value.match(/^(\\d+(?:\\.\\d+)?)(ms|s|m|h)?$/);\n    if (durationMatch) {\n      const num2 = parseFloat(durationMatch[1]);\n      const unit = durationMatch[2];\n      if (unit) {\n        return createLiteral(value, \"duration\");\n      }\n      return createLiteral(num2, \"number\");\n    }\n    const num = parseFloat(value);\n    if (!isNaN(num)) {\n      return createLiteral(num, \"number\");\n    }\n    return createLiteral(value, \"string\");\n  }\n  /**\n   * Apply extraction rules to fill in static values and defaults for missing roles.\n   */\n  applyExtractionRules(pattern, captured) {\n    for (const [role, rule] of Object.entries(pattern.extraction)) {\n      if (!captured.has(role)) {\n        if (rule.value !== void 0) {\n          captured.set(role, { type: \"literal\", value: rule.value });\n        } else if (rule.default) {\n          captured.set(role, rule.default);\n        }\n      }\n    }\n  }\n  /**\n   * Check if a pattern token is optional.\n   */\n  isOptional(patternToken) {\n    return patternToken.type !== \"literal\" && patternToken.optional === true;\n  }\n  /**\n   * Calculate confidence score for a match (0-1).\n   *\n   * Confidence is reduced for:\n   * - Stem matches (morphological normalization has inherent uncertainty)\n   * - Missing optional roles (but less penalty if role has a default value)\n   *\n   * Confidence is increased for:\n   * - VSO languages (Arabic) when pattern starts with a verb\n   */\n  calculateConfidence(pattern, captured) {\n    let score = 0;\n    let maxScore = 0;\n    const hasDefault = (role) => {\n      return pattern.extraction?.[role]?.default !== void 0;\n    };\n    for (const token of pattern.template.tokens) {\n      if (token.type === \"role\") {\n        maxScore += 1;\n        if (captured.has(token.role)) {\n          score += 1;\n        }\n      } else if (token.type === \"group\") {\n        for (const subToken of token.tokens) {\n          if (subToken.type === \"role\") {\n            const roleHasDefault = hasDefault(subToken.role);\n            const weight = 0.8;\n            maxScore += weight;\n            if (captured.has(subToken.role)) {\n              score += weight;\n            } else if (roleHasDefault) {\n              score += weight * 0.6;\n            }\n          }\n        }\n      }\n    }\n    let baseConfidence = maxScore > 0 ? score / maxScore : 1;\n    if (this.stemMatchCount > 0 && this.totalKeywordMatches > 0) {\n      const stemPenalty = this.stemMatchCount / this.totalKeywordMatches * 0.15;\n      baseConfidence = Math.max(0.5, baseConfidence - stemPenalty);\n    }\n    const vsoBoost = this.calculateVSOConfidenceBoost(pattern);\n    baseConfidence = Math.min(1, baseConfidence + vsoBoost);\n    const prepositionAdjustment = this.arabicPrepositionDisambiguation(pattern, captured);\n    baseConfidence = Math.max(0, Math.min(1, baseConfidence + prepositionAdjustment));\n    return baseConfidence;\n  }\n  /**\n   * Calculate confidence boost for VSO (Verb-Subject-Object) language patterns.\n   * Arabic naturally uses VSO word order, so patterns that start with a verb\n   * should receive a confidence boost.\n   *\n   * Returns +0.15 confidence boost if:\n   * - Language is Arabic ('ar')\n   * - Pattern's first token is a verb keyword\n   *\n   * @param pattern The language pattern being matched\n   * @returns Confidence boost (0 or 0.15)\n   */\n  calculateVSOConfidenceBoost(pattern) {\n    if (pattern.language !== \"ar\") {\n      return 0;\n    }\n    const firstToken = pattern.template.tokens[0];\n    if (!firstToken || firstToken.type !== \"literal\") {\n      return 0;\n    }\n    const ARABIC_VERBS = /* @__PURE__ */ new Set([\n      \"\\u0628\\u062F\\u0644\",\n      \"\\u063A\\u064A\\u0631\",\n      \"\\u0623\\u0636\\u0641\",\n      \"\\u0623\\u0632\\u0644\",\n      \"\\u0636\\u0639\",\n      \"\\u0627\\u062C\\u0639\\u0644\",\n      \"\\u0639\\u064A\\u0646\",\n      \"\\u0632\\u062F\",\n      \"\\u0627\\u0646\\u0642\\u0635\",\n      \"\\u0633\\u062C\\u0644\",\n      \"\\u0623\\u0638\\u0647\\u0631\",\n      \"\\u0623\\u062E\\u0641\",\n      \"\\u0634\\u063A\\u0644\",\n      \"\\u0623\\u0631\\u0633\\u0644\",\n      \"\\u0631\\u0643\\u0632\",\n      \"\\u0634\\u0648\\u0634\",\n      \"\\u062A\\u0648\\u0642\\u0641\",\n      \"\\u0627\\u0646\\u0633\\u062E\",\n      \"\\u0627\\u062D\\u0630\\u0641\",\n      \"\\u0627\\u0635\\u0646\\u0639\",\n      \"\\u0627\\u0646\\u062A\\u0638\\u0631\",\n      \"\\u0627\\u0646\\u062A\\u0642\\u0627\\u0644\",\n      \"\\u0623\\u0648\"\n    ]);\n    if (ARABIC_VERBS.has(firstToken.value)) {\n      return 0.15;\n    }\n    if (firstToken.alternatives) {\n      for (const alt of firstToken.alternatives) {\n        if (ARABIC_VERBS.has(alt)) {\n          return 0.15;\n        }\n      }\n    }\n    return 0;\n  }\n  /**\n   * Arabic preposition disambiguation for confidence adjustment.\n   *\n   * Different Arabic prepositions are more or less natural for different semantic roles:\n   * - على (on/upon) is preferred for patient/target roles (element selectors)\n   * - إلى (to) is preferred for destination roles\n   * - من (from) is preferred for source roles\n   * - في (in) is preferred for location roles\n   *\n   * This method analyzes the prepositions used with captured semantic roles and\n   * adjusts confidence based on idiomaticity:\n   * - +0.10 for highly idiomatic preposition choices\n   * - -0.10 for less natural preposition choices\n   *\n   * @param pattern The language pattern being matched\n   * @param captured The captured semantic values\n   * @returns Confidence adjustment (-0.10 to +0.10)\n   */\n  arabicPrepositionDisambiguation(pattern, captured) {\n    if (pattern.language !== \"ar\") {\n      return 0;\n    }\n    let adjustment = 0;\n    const PREFERRED_PREPOSITIONS = {\n      patient: [\"\\u0639\\u0644\\u0649\"],\n      // element selectors prefer على (on/upon)\n      destination: [\"\\u0625\\u0644\\u0649\", \"\\u0627\\u0644\\u0649\"],\n      // destination prefers إلى (to)\n      source: [\"\\u0645\\u0646\"],\n      // source prefers من (from)\n      agent: [\"\\u0645\\u0646\"],\n      // agent/by prefers من (from/by)\n      manner: [\"\\u0628\"],\n      // manner prefers ب (with/by)\n      style: [\"\\u0628\"],\n      // style prefers ب (with)\n      goal: [\"\\u0625\\u0644\\u0649\", \"\\u0627\\u0644\\u0649\"],\n      // target state prefers إلى (to)\n      method: [\"\\u0628\"]\n      // method prefers ب (with/by)\n    };\n    for (const [role, value] of captured.entries()) {\n      const preferred = PREFERRED_PREPOSITIONS[role];\n      if (!preferred || preferred.length === 0) {\n        continue;\n      }\n      const metadata = \"metadata\" in value ? value.metadata : void 0;\n      if (metadata && typeof metadata.prepositionValue === \"string\") {\n        const usedPreposition = metadata.prepositionValue;\n        if (preferred.includes(usedPreposition)) {\n          adjustment += 0.1;\n        } else {\n          adjustment -= 0.1;\n        }\n      }\n    }\n    return Math.max(-0.1, Math.min(0.1, adjustment));\n  }\n  /**\n   * Skip noise words like \"the\" before selectors.\n   * This enables more natural English syntax like \"toggle the .active\".\n   */\n  skipNoiseWords(tokens) {\n    const token = tokens.peek();\n    if (!token) return;\n    const tokenLower = this.safeToLowerCase(token.value);\n    if (_PatternMatcher.ENGLISH_NOISE_WORDS.has(tokenLower)) {\n      const mark = tokens.mark();\n      tokens.advance();\n      const nextToken = tokens.peek();\n      if (nextToken && nextToken.kind === \"selector\") {\n        return;\n      }\n      tokens.reset(mark);\n    }\n    if (tokenLower === \"class\") {\n      tokens.advance();\n    }\n  }\n  /**\n   * Extract event modifiers from the token stream.\n   * Event modifiers are .once, .debounce(N), .throttle(N), .queue(strategy)\n   * that can appear after event names.\n   *\n   * Returns EventModifiers object or undefined if no modifiers found.\n   */\n  extractEventModifiers(tokens) {\n    const modifiers = {};\n    let foundModifier = false;\n    while (!tokens.isAtEnd()) {\n      const token = tokens.peek();\n      if (!token || token.kind !== \"event-modifier\") {\n        break;\n      }\n      const metadata = token.metadata;\n      if (!metadata) {\n        break;\n      }\n      foundModifier = true;\n      switch (metadata.modifierName) {\n        case \"once\":\n          modifiers.once = true;\n          break;\n        case \"debounce\":\n          if (typeof metadata.value === \"number\") {\n            modifiers.debounce = metadata.value;\n          }\n          break;\n        case \"throttle\":\n          if (typeof metadata.value === \"number\") {\n            modifiers.throttle = metadata.value;\n          }\n          break;\n        case \"queue\":\n          if (metadata.value === \"first\" || metadata.value === \"last\" || metadata.value === \"all\" || metadata.value === \"none\") {\n            modifiers.queue = metadata.value;\n          }\n          break;\n      }\n      tokens.advance();\n    }\n    return foundModifier ? modifiers : void 0;\n  }\n};\n/** Maximum tokens to scan ahead when looking for a group's leading marker */\n_PatternMatcher.MAX_MARKER_SCAN = 3;\n// ==========================================================================\n// Depth Limits for Expression Parsing (security hardening)\n// ==========================================================================\n/** Maximum depth for nested property access (e.g., a.b.c.d...) */\n_PatternMatcher.MAX_PROPERTY_DEPTH = 10;\n/** Maximum number of arguments in method calls */\n_PatternMatcher.MAX_METHOD_ARGS = 20;\n// ===========================================================================\n// English Idiom Support - Noise Word Handling\n// ===========================================================================\n/**\n * Noise words that can be skipped in English for more natural syntax.\n * - \"the\" before selectors: \"toggle the .active\" → \"toggle .active\"\n * - \"class\" after class selectors: \"add the .visible class\" → \"add .visible\"\n */\n_PatternMatcher.ENGLISH_NOISE_WORDS = /* @__PURE__ */ new Set([\"the\", \"a\", \"an\"]);\nvar PatternMatcher = _PatternMatcher;\nvar patternMatcher = new PatternMatcher();\nfunction matchPattern(tokens, pattern) {\n  return patternMatcher.matchPattern(tokens, pattern);\n}\nfunction matchBest(tokens, patterns) {\n  return patternMatcher.matchBest(tokens, patterns);\n}\n\n// src/generation/pattern-generator.ts\nvar defaultConfig = {\n  basePriority: 100,\n  includeOptionalVariants: true\n};\nfunction generatePattern(schema, profile, config = defaultConfig) {\n  const id = `${schema.action}-${profile.code}-generated`;\n  const priority = config.basePriority ?? 100;\n  const keyword = profile.keywords[schema.action];\n  if (!keyword) {\n    throw new Error(`No keyword translation for '${schema.action}' in ${profile.code}`);\n  }\n  const tokens = buildTokens(schema, profile, keyword.primary, keyword.alternatives);\n  const extraction = buildExtractionRules(schema, profile);\n  const format = buildFormatString(schema, profile, keyword.primary);\n  return {\n    id,\n    language: profile.code,\n    command: schema.action,\n    priority,\n    template: {\n      format,\n      tokens\n    },\n    extraction\n  };\n}\nfunction buildTokens(schema, profile, keyword, alternatives) {\n  const tokens = [];\n  const keywordToken = {\n    type: \"literal\",\n    value: keyword,\n    ...alternatives?.length && { alternatives }\n  };\n  const sortedRoles = sortRolesByWordOrder(schema.roles, profile.wordOrder);\n  if (profile.wordOrder === \"SVO\") {\n    tokens.push(keywordToken);\n    for (const role of sortedRoles) {\n      addRoleWithMarker(tokens, role, profile);\n    }\n  } else if (profile.wordOrder === \"SOV\") {\n    for (const role of sortedRoles) {\n      addRoleWithMarker(tokens, role, profile);\n    }\n    tokens.push(keywordToken);\n  } else if (profile.wordOrder === \"VSO\") {\n    tokens.push(keywordToken);\n    for (const role of sortedRoles) {\n      addRoleWithMarker(tokens, role, profile);\n    }\n  } else {\n    tokens.push(keywordToken);\n    for (const role of sortedRoles) {\n      addRoleWithMarker(tokens, role, profile);\n    }\n  }\n  return tokens;\n}\nfunction addRoleWithMarker(tokens, roleSpec, profile) {\n  const marker = getMarkerForRole(roleSpec, profile);\n  const isOptional = !roleSpec.required;\n  const roleToken = {\n    type: \"role\",\n    role: roleSpec.role,\n    optional: isOptional,\n    expectedTypes: roleSpec.expectedTypes,\n    ...roleSpec.greedy && { greedy: true }\n  };\n  if (marker) {\n    const markerInfo = profile.roleMarkers?.[roleSpec.role];\n    const defaultPosition = profile.wordOrder === \"SOV\" ? \"after\" : \"before\";\n    const position = roleSpec.markerPosition ?? markerInfo?.position ?? defaultPosition;\n    if (isOptional) {\n      if (position === \"before\") {\n        tokens.push({\n          type: \"group\",\n          optional: true,\n          tokens: [{ type: \"literal\", value: marker }, roleToken]\n        });\n      } else {\n        tokens.push({\n          type: \"group\",\n          optional: true,\n          tokens: [roleToken, { type: \"literal\", value: marker }]\n        });\n      }\n    } else {\n      if (position === \"before\") {\n        tokens.push({ type: \"literal\", value: marker });\n        tokens.push(roleToken);\n      } else {\n        tokens.push(roleToken);\n        tokens.push({ type: \"literal\", value: marker });\n      }\n    }\n  } else {\n    tokens.push(roleToken);\n  }\n}\nfunction getMarkerForRole(roleSpec, profile) {\n  if (roleSpec.markerOverride?.[profile.code]) {\n    return roleSpec.markerOverride[profile.code];\n  }\n  return profile.roleMarkers?.[roleSpec.role]?.primary;\n}\nfunction sortRolesByWordOrder(roles, wordOrder) {\n  const sorted = [...roles];\n  if (wordOrder === \"SVO\") {\n    sorted.sort((a, b) => (b.svoPosition ?? 0) - (a.svoPosition ?? 0));\n  } else if (wordOrder === \"SOV\") {\n    sorted.sort((a, b) => (b.sovPosition ?? 0) - (a.sovPosition ?? 0));\n  }\n  return sorted;\n}\nfunction buildExtractionRules(schema, profile) {\n  const rules = {};\n  for (const roleSpec of schema.roles) {\n    const marker = getMarkerForRole(roleSpec, profile);\n    const rule = {\n      ...roleSpec.default !== void 0 && { default: roleSpec.default },\n      ...marker && { marker }\n    };\n    rules[roleSpec.role] = rule;\n  }\n  return rules;\n}\nfunction buildFormatString(schema, profile, keyword) {\n  const parts = [];\n  if (profile.wordOrder === \"SVO\" || profile.wordOrder === \"VSO\") {\n    parts.push(keyword);\n  }\n  for (const role of schema.roles) {\n    const marker = getMarkerForRole(role, profile);\n    const roleName = `{${role.role}}`;\n    if (marker) {\n      const markerInfo = profile.roleMarkers?.[role.role];\n      if (markerInfo?.position === \"after\") {\n        parts.push(`${roleName} ${marker}`);\n      } else {\n        parts.push(`${marker} ${roleName}`);\n      }\n    } else {\n      parts.push(roleName);\n    }\n  }\n  if (profile.wordOrder === \"SOV\") {\n    parts.push(keyword);\n  }\n  return parts.join(\" \");\n}\nfunction generatePatternVariants(schema, profile, config = defaultConfig) {\n  const patterns = [];\n  patterns.push(generatePattern(schema, profile, config));\n  return patterns;\n}\n\n// src/grammar/types.ts\nfunction reorderRoles(roles, targetOrder) {\n  const result = [];\n  const usedRoles = /* @__PURE__ */ new Set();\n  for (const role of targetOrder) {\n    const element = roles.get(role);\n    if (element) {\n      result.push(element);\n      usedRoles.add(role);\n    }\n  }\n  for (const [role, element] of roles) {\n    if (!usedRoles.has(role)) {\n      result.push(element);\n    }\n  }\n  return result;\n}\nfunction insertMarkers(elements, markers, adpositionType) {\n  const result = [];\n  for (const element of elements) {\n    const marker = markers.find((m) => m.role === element.role);\n    if (marker) {\n      if (adpositionType === \"preposition\") {\n        if (marker.form) result.push(marker.form);\n        result.push(element.translated || element.value);\n      } else if (adpositionType === \"postposition\") {\n        result.push(element.translated || element.value);\n        if (marker.form) result.push(marker.form);\n      } else {\n        result.push(element.translated || element.value);\n      }\n    } else {\n      result.push(element.translated || element.value);\n    }\n  }\n  return result;\n}\nfunction joinTokens(tokens) {\n  if (tokens.length === 0) return \"\";\n  let result = \"\";\n  for (let i = 0; i < tokens.length; i++) {\n    const token = tokens[i];\n    const nextToken = tokens[i + 1];\n    const isPrefix = token.endsWith(\"-\");\n    const isSuffix = token.startsWith(\"-\");\n    let displayToken = token;\n    if (isPrefix) displayToken = token.slice(0, -1);\n    if (isSuffix) displayToken = token.substring(1);\n    result += displayToken;\n    if (nextToken) {\n      const nextIsSuffix = nextToken.startsWith(\"-\");\n      if (!isPrefix && !nextIsSuffix) {\n        result += \" \";\n      }\n    }\n  }\n  return result;\n}\n\n// src/grammar/transformer.ts\nvar GrammarTransformer = class {\n  constructor(config) {\n    this.dictionary = config.dictionary;\n    this.profileProvider = config.profileProvider;\n  }\n  /**\n   * Transform a statement from one language to another.\n   *\n   * @param input - Statement in source language\n   * @param fromLanguage - Source language code\n   * @param toLanguage - Target language code\n   * @returns Transformed statement in target language\n   *\n   * @throws Error if profiles not found or translation fails\n   */\n  transform(input, fromLanguage, toLanguage) {\n    const fromProfile = this.profileProvider.getProfile(fromLanguage);\n    const toProfile = this.profileProvider.getProfile(toLanguage);\n    if (!fromProfile) {\n      throw new Error(`No profile found for language: ${fromLanguage}`);\n    }\n    if (!toProfile) {\n      throw new Error(`No profile found for language: ${toLanguage}`);\n    }\n    const parsed = this.parseStatement(input, fromLanguage, fromProfile);\n    const translated = this.translateRoles(parsed, fromLanguage, toLanguage);\n    const reordered = reorderRoles(translated, toProfile.canonicalOrder);\n    const withMarkers = insertMarkers(reordered, toProfile.markers, toProfile.adpositionType);\n    return joinTokens(withMarkers);\n  }\n  /**\n   * Parse statement into semantic roles.\n   * This is a simplified generic parser - DSLs can provide custom parsers.\n   */\n  parseStatement(input, language, profile) {\n    const roles = /* @__PURE__ */ new Map();\n    const tokens = input.split(/\\s+/);\n    let i = 0;\n    while (i < tokens.length) {\n      const token = tokens[i];\n      const marker = profile.markers.find((m) => m.form === token);\n      if (marker) {\n        if (i + 1 < tokens.length) {\n          roles.set(marker.role, tokens[i + 1]);\n          i += 2;\n        } else {\n          i++;\n        }\n      } else {\n        const canonical = this.dictionary.lookup(token, language);\n        if (canonical) {\n          roles.set(\"action\", canonical);\n        } else {\n          if (token.startsWith(\"#\") || token.startsWith(\".\")) {\n            roles.set(\"patient\", token);\n          } else {\n            roles.set(\"patient\", token);\n          }\n        }\n        i++;\n      }\n    }\n    return roles;\n  }\n  /**\n   * Translate roles using injected dictionary.\n   * Returns a Map of ParsedElement objects expected by reorderRoles.\n   */\n  translateRoles(roles, _fromLanguage, toLanguage) {\n    const result = /* @__PURE__ */ new Map();\n    for (const [role, value] of roles) {\n      const translated = this.dictionary.translate(value, toLanguage);\n      result.set(role, {\n        role,\n        value,\n        // Original value\n        translated: translated ?? value\n        // Translated value or original if no translation\n      });\n    }\n    return result;\n  }\n};\n\n// src/interfaces/dictionary.ts\nvar InMemoryDictionary = class {\n  /**\n   * @param translations - Map of language code to canonical→localized mappings\n   *\n   * @example\n   * new InMemoryDictionary({\n   *   en: { select: 'select', insert: 'insert' },\n   *   es: { select: 'seleccionar', insert: 'insertar' },\n   *   ja: { select: '選択', insert: '挿入' }\n   * })\n   */\n  constructor(translations) {\n    this.translations = translations;\n  }\n  lookup(word, language) {\n    const langDict = this.translations[language];\n    if (!langDict) return void 0;\n    const wordLower = word.toLowerCase();\n    for (const [canonical, localized] of Object.entries(langDict)) {\n      if (localized.toLowerCase() === wordLower) {\n        return canonical;\n      }\n    }\n    return void 0;\n  }\n  translate(canonical, targetLanguage) {\n    return this.translations[targetLanguage]?.[canonical];\n  }\n  getAllTranslations(word, sourceLanguage) {\n    const canonical = this.lookup(word, sourceLanguage);\n    if (!canonical) return {};\n    const result = {};\n    for (const [lang, dict] of Object.entries(this.translations)) {\n      const translation = dict[canonical];\n      if (translation) {\n        result[lang] = translation;\n      }\n    }\n    return result;\n  }\n};\nvar NullDictionary = class {\n  lookup(word, _language) {\n    return word;\n  }\n  translate(canonical, _targetLanguage) {\n    return canonical;\n  }\n  getAllTranslations(word, _sourceLanguage) {\n    return { en: word };\n  }\n};\n\n// src/interfaces/profile-provider.ts\nvar InMemoryProfileProvider = class {\n  /**\n   * @param profiles - Map of language code to profile\n   *\n   * @example\n   * new InMemoryProfileProvider({\n   *   en: { code: 'en', wordOrder: 'SVO', ... },\n   *   ja: { code: 'ja', wordOrder: 'SOV', ... }\n   * })\n   */\n  constructor(profiles) {\n    this.profiles = profiles;\n  }\n  getProfile(language) {\n    return this.profiles[language];\n  }\n  getSupportedLanguages() {\n    return Object.keys(this.profiles);\n  }\n  hasLanguage(language) {\n    return language in this.profiles;\n  }\n};\nvar NullProfileProvider = class {\n  getProfile(_language) {\n    return void 0;\n  }\n  getSupportedLanguages() {\n    return [];\n  }\n  hasLanguage(_language) {\n    return false;\n  }\n};\n\n// src/interfaces/value-extractor.ts\nvar StringLiteralExtractor = class {\n  constructor() {\n    this.name = \"string-literal\";\n  }\n  canExtract(input, position) {\n    const char = input[position];\n    return char === '\"' || char === \"'\" || char === \"`\" || char === \"\\u201C\" || // Chinese double quote open \"\n    char === \"\\u2018\";\n  }\n  extract(input, position) {\n    const quote = input[position];\n    if (quote === \"\\u201C\") {\n      let length2 = 1;\n      while (position + length2 < input.length) {\n        if (input[position + length2] === \"\\u201D\") {\n          length2++;\n          return { value: input.substring(position, position + length2), length: length2 };\n        }\n        length2++;\n      }\n      return null;\n    }\n    if (quote === \"\\u2018\") {\n      let length2 = 1;\n      while (position + length2 < input.length) {\n        if (input[position + length2] === \"\\u2019\") {\n          length2++;\n          return { value: input.substring(position, position + length2), length: length2 };\n        }\n        length2++;\n      }\n      return null;\n    }\n    let length = 1;\n    let escaped = false;\n    while (position + length < input.length) {\n      const char = input[position + length];\n      if (escaped) {\n        escaped = false;\n        length++;\n        continue;\n      }\n      if (char === \"\\\\\") {\n        escaped = true;\n        length++;\n        continue;\n      }\n      if (char === quote) {\n        length++;\n        return {\n          value: input.substring(position, position + length),\n          length\n        };\n      }\n      length++;\n    }\n    return null;\n  }\n};\nvar NumberExtractor = class {\n  constructor() {\n    this.name = \"number\";\n  }\n  canExtract(input, position) {\n    return /\\d/.test(input[position]);\n  }\n  extract(input, position) {\n    let length = 0;\n    let hasDecimal = false;\n    while (position + length < input.length) {\n      const char = input[position + length];\n      if (/\\d/.test(char)) {\n        length++;\n      } else if (char === \".\" && !hasDecimal) {\n        hasDecimal = true;\n        length++;\n      } else {\n        break;\n      }\n    }\n    if (length === 0) return null;\n    const numValue = input.substring(position, position + length);\n    const afterNum = position + length;\n    if (afterNum < input.length) {\n      const remaining = input.slice(afterNum);\n      const cjkMultiUnits = [\n        { pattern: \"\\u6BEB\\u79D2\", suffix: \"ms\" },\n        // Chinese milliseconds\n        { pattern: \"\\u5206\\u949F\", suffix: \"m\" },\n        // Chinese minutes\n        { pattern: \"\\u5C0F\\u65F6\", suffix: \"h\" },\n        // Chinese hours\n        { pattern: \"\\u30DF\\u30EA\\u79D2\", suffix: \"ms\" },\n        // Japanese milliseconds\n        { pattern: \"\\u6642\\u9593\", suffix: \"h\" }\n        // Japanese hours\n      ];\n      for (const unit of cjkMultiUnits) {\n        if (remaining.startsWith(unit.pattern)) {\n          return {\n            value: numValue + unit.suffix,\n            length: length + unit.pattern.length,\n            metadata: { hasTimeUnit: true }\n          };\n        }\n      }\n      if (remaining.startsWith(\"ms\")) {\n        return {\n          value: numValue + \"ms\",\n          length: length + 2,\n          metadata: { hasTimeUnit: true }\n        };\n      }\n      const cjkSingleUnits = [\n        { pattern: \"\\u79D2\", suffix: \"s\" },\n        // CJK seconds\n        { pattern: \"\\u5206\", suffix: \"m\" }\n        // CJK minutes\n      ];\n      for (const unit of cjkSingleUnits) {\n        if (remaining.startsWith(unit.pattern)) {\n          return {\n            value: numValue + unit.suffix,\n            length: length + 1,\n            metadata: { hasTimeUnit: true }\n          };\n        }\n      }\n      if (/^[smh](?![a-zA-Z])/.test(remaining)) {\n        return {\n          value: numValue + remaining[0],\n          length: length + 1,\n          metadata: { hasTimeUnit: true }\n        };\n      }\n    }\n    return { value: numValue, length };\n  }\n};\nvar IdentifierExtractor = class {\n  constructor() {\n    this.name = \"identifier\";\n  }\n  canExtract(input, position) {\n    return /[a-zA-Z_]/.test(input[position]);\n  }\n  extract(input, position) {\n    let length = 0;\n    while (position + length < input.length) {\n      const char = input[position + length];\n      if (/[a-zA-Z0-9_]/.test(char)) {\n        length++;\n      } else {\n        break;\n      }\n    }\n    return length > 0 ? {\n      value: input.substring(position, position + length),\n      length\n    } : null;\n  }\n};\nvar UnicodeIdentifierExtractor = class {\n  constructor() {\n    this.name = \"unicode-identifier\";\n  }\n  canExtract(input, position) {\n    const code = input.charCodeAt(position);\n    if (code < 128) return false;\n    return /\\p{L}/u.test(input[position]);\n  }\n  extract(input, position) {\n    let length = 0;\n    while (position + length < input.length) {\n      const char = input[position + length];\n      if (/[\\p{L}\\p{N}\\p{M}]/u.test(char)) {\n        length++;\n      } else {\n        break;\n      }\n    }\n    return length > 0 ? { value: input.substring(position, position + length), length } : null;\n  }\n};\nvar LatinExtendedIdentifierExtractor = class {\n  constructor() {\n    this.name = \"latin-extended-identifier\";\n  }\n  canExtract(input, position) {\n    return /\\p{L}/u.test(input[position]);\n  }\n  extract(input, position) {\n    let end = position;\n    while (end < input.length && /[\\p{L}\\p{N}_-]/u.test(input[end])) {\n      end++;\n    }\n    if (end === position) return null;\n    return { value: input.slice(position, end), length: end - position };\n  }\n};\nvar WhitespaceExtractor = class {\n  constructor() {\n    this.name = \"whitespace\";\n  }\n  canExtract(input, position) {\n    return /\\s/.test(input[position]);\n  }\n  extract(input, position) {\n    let length = 0;\n    while (position + length < input.length && /\\s/.test(input[position + length])) {\n      length++;\n    }\n    return length > 0 ? {\n      value: input.substring(position, position + length),\n      length\n    } : null;\n  }\n};\nfunction isContextAwareExtractor(extractor) {\n  return \"setContext\" in extractor && typeof extractor.setContext === \"function\";\n}\nfunction createTokenizerContext(tokenizer) {\n  const ctx = {\n    language: tokenizer.language,\n    direction: tokenizer.direction,\n    lookupKeyword: tokenizer.lookupKeyword.bind(tokenizer),\n    isKeyword: tokenizer.isKeyword.bind(tokenizer),\n    isKeywordStart: tokenizer.isKeywordStart.bind(tokenizer),\n    ...tokenizer.isKeywordStartAtBoundary ? { isKeywordStartAtBoundary: tokenizer.isKeywordStartAtBoundary.bind(tokenizer) } : {}\n  };\n  if (tokenizer.normalizer) {\n    return { ...ctx, normalizer: tokenizer.normalizer };\n  }\n  return ctx;\n}\n\n// src/ir/references.ts\nimport { DEFAULT_REFERENCES, isValidReference as isValidReference2 } from \"@lokascript/intent\";\n\n// src/ir/explicit-parser.ts\nimport {\n  STRUCTURAL_ROLES,\n  parseExplicit,\n  isExplicitSyntax,\n  parseCompound,\n  parseDocument,\n  isCompoundSyntax,\n  isDocumentSyntax\n} from \"@lokascript/intent\";\n\n// src/ir/explicit-renderer.ts\nimport { renderExplicit, renderDocument } from \"@lokascript/intent\";\n\n// src/ir/json-schema.ts\nvar VALID_VALUE_TYPES = /* @__PURE__ */ new Set([\n  \"selector\",\n  \"literal\",\n  \"reference\",\n  \"expression\",\n  \"property-path\",\n  \"flag\"\n]);\nfunction validateSemanticJSON(input) {\n  const diagnostics = [];\n  if (!input.action || typeof input.action !== \"string\") {\n    diagnostics.push({\n      severity: \"error\",\n      code: \"INVALID_ACTION\",\n      message: 'Field \"action\" is required and must be a string.',\n      suggestion: 'Provide a command name like \"toggle\", \"add\", \"set\", etc.'\n    });\n    return diagnostics;\n  }\n  if (input.roles && typeof input.roles === \"object\") {\n    for (const [role, value] of Object.entries(input.roles)) {\n      if (!value || typeof value !== \"object\") {\n        diagnostics.push({\n          severity: \"error\",\n          code: \"INVALID_ROLE_VALUE\",\n          message: `Role \"${role}\" must be an object with \"type\" and \"value\" fields.`,\n          suggestion: 'Use: { \"type\": \"selector\", \"value\": \".active\" }'\n        });\n        continue;\n      }\n      const v = value;\n      if (!VALID_VALUE_TYPES.has(v.type)) {\n        diagnostics.push({\n          severity: \"error\",\n          code: \"INVALID_VALUE_TYPE\",\n          message: `Role \"${role}\" has invalid type \"${v.type}\".`,\n          suggestion: \"Valid types: selector, literal, reference, expression, property-path.\"\n        });\n      }\n      if (v.value === void 0 || v.value === null) {\n        diagnostics.push({\n          severity: \"error\",\n          code: \"MISSING_VALUE\",\n          message: `Role \"${role}\" is missing the \"value\" field.`\n        });\n      }\n    }\n  }\n  if (input.trigger) {\n    if (!input.trigger.event || typeof input.trigger.event !== \"string\") {\n      diagnostics.push({\n        severity: \"error\",\n        code: \"INVALID_TRIGGER\",\n        message: 'Trigger \"event\" is required and must be a string.',\n        suggestion: 'Use an event name like \"click\", \"mouseover\", \"keydown\".'\n      });\n    }\n  }\n  return diagnostics;\n}\nfunction jsonToSemanticNode(input) {\n  const roles = /* @__PURE__ */ new Map();\n  if (input.roles) {\n    for (const [role, value] of Object.entries(input.roles)) {\n      roles.set(role, convertJSONValue(value));\n    }\n  }\n  if (input.trigger) {\n    roles.set(\"event\", createLiteral(input.trigger.event, \"string\"));\n    const bodyRoles = new Map(roles);\n    bodyRoles.delete(\"event\");\n    const bodyNode = createCommandNode(input.action, bodyRoles);\n    return createEventHandlerNode(\n      \"on\",\n      roles,\n      [bodyNode],\n      { sourceLanguage: \"json\" },\n      input.trigger.modifiers ?? {}\n    );\n  }\n  return createCommandNode(input.action, roles, {\n    sourceLanguage: \"json\"\n  });\n}\nfunction semanticNodeToJSON(node) {\n  if (node.kind === \"compound\") {\n    const compound = node;\n    if (compound.statements.length > 0) {\n      return semanticNodeToJSON(compound.statements[0]);\n    }\n    return { action: \"compound\", roles: {} };\n  }\n  if (node.kind === \"event-handler\") {\n    const eventNode = node;\n    const bodyAction = eventNode.body?.[0]?.action ?? node.action;\n    const roles2 = {};\n    if (eventNode.body?.[0]) {\n      for (const [role, value] of eventNode.body[0].roles) {\n        roles2[role] = semanticValueToJSON(value);\n      }\n    }\n    const eventValue = node.roles.get(\"event\");\n    const eventName = eventValue ? \"value\" in eventValue ? String(eventValue.value) : \"raw\" in eventValue ? eventValue.raw : \"unknown\" : \"unknown\";\n    const result = {\n      action: bodyAction === \"on\" ? eventNode.body?.[0]?.action ?? \"on\" : bodyAction,\n      roles: roles2,\n      trigger: {\n        event: eventName\n      }\n    };\n    if (eventNode.eventModifiers && Object.keys(eventNode.eventModifiers).length > 0) {\n      result.trigger.modifiers = eventNode.eventModifiers;\n    }\n    return result;\n  }\n  const roles = {};\n  for (const [role, value] of node.roles) {\n    roles[role] = semanticValueToJSON(value);\n  }\n  return { action: node.action, roles };\n}\nfunction convertJSONValue(value) {\n  switch (value.type) {\n    case \"selector\":\n      return createSelector(String(value.value), detectSelectorKind(String(value.value)));\n    case \"literal\":\n      return createLiteral(\n        value.value,\n        typeof value.value === \"number\" ? \"number\" : typeof value.value === \"boolean\" ? \"boolean\" : \"string\"\n      );\n    case \"reference\":\n      return createReference(String(value.value));\n    case \"expression\":\n      return createExpression(String(value.value));\n    case \"property-path\":\n      return createExpression(String(value.value));\n    case \"flag\":\n      return createFlag(String(value.value), true);\n    default:\n      return createLiteral(String(value.value), \"string\");\n  }\n}\nfunction semanticValueToJSON(value) {\n  switch (value.type) {\n    case \"selector\":\n      return { type: \"selector\", value: value.value };\n    case \"literal\":\n      return { type: \"literal\", value: value.value };\n    case \"reference\":\n      return { type: \"reference\", value: value.value };\n    case \"expression\":\n      return { type: \"expression\", value: value.raw };\n    case \"property-path\":\n      return {\n        type: \"property-path\",\n        value: `${semanticValueToJSON(value.object).value}.${value.property}`\n      };\n    case \"flag\":\n      return { type: \"flag\", value: value.enabled };\n  }\n}\nfunction detectSelectorKind(selector) {\n  if (selector.startsWith(\"#\")) return \"id\";\n  if (selector.startsWith(\".\")) return \"class\";\n  if (selector.startsWith(\"[\")) return \"attribute\";\n  return \"complex\";\n}\n\n// src/ir/protocol-json.ts\nimport {\n  toProtocolJSON,\n  fromProtocolJSON,\n  validateProtocolJSON,\n  toEnvelopeJSON,\n  fromEnvelopeJSON,\n  isEnvelope\n} from \"@lokascript/intent\";\n\n// src/ir/from-interchange.ts\nfunction fromInterchangeNode(node) {\n  if (!node || typeof node !== \"object\") {\n    return createCommandNode(\"unknown\", {});\n  }\n  switch (node.type) {\n    case \"event\":\n      return convertEvent(node);\n    case \"command\":\n      return convertCommand(node);\n    case \"if\":\n      return convertIf(node);\n    case \"repeat\":\n      return convertRepeat(node);\n    case \"foreach\":\n      return convertForEach(node);\n    case \"while\":\n      return convertWhile(node);\n    // Expression nodes — wrap as `get` command with patient role\n    default:\n      return createCommandNode(\"get\", { patient: convertValue(node) });\n  }\n}\nfunction convertEvent(node) {\n  const event = String(node.event ?? \"click\");\n  const bodyNodes = Array.isArray(node.body) ? node.body : [];\n  const body = bodyNodes.map(fromInterchangeNode);\n  const roles = {\n    event: createLiteral(event)\n  };\n  if (node.target && typeof node.target === \"object\") {\n    roles.source = convertValue(node.target);\n  }\n  const modifiers = node.modifiers;\n  let eventModifiers;\n  if (modifiers) {\n    eventModifiers = bridgeEventModifiers(modifiers);\n    if (modifiers.prevent) roles.prevent = createLiteral(true);\n    if (modifiers.stop) roles.stop = createLiteral(true);\n    if (modifiers.passive) roles.passive = createLiteral(true);\n    if (modifiers.capture) roles.capture = createLiteral(true);\n  }\n  return createEventHandlerNode(\"on\", roles, body, void 0, eventModifiers);\n}\nfunction convertCommand(node) {\n  const name = String(node.name ?? \"unknown\");\n  const args = Array.isArray(node.args) ? node.args : [];\n  const target = node.target && typeof node.target === \"object\" ? node.target : void 0;\n  const existingRoles = node.roles;\n  const modifiers = node.modifiers;\n  let roles;\n  if (existingRoles && typeof existingRoles === \"object\" && Object.keys(existingRoles).length > 0) {\n    roles = {};\n    for (const [role, value] of Object.entries(existingRoles)) {\n      if (value && typeof value === \"object\" && \"type\" in value) {\n        roles[role] = convertValue(value);\n      }\n    }\n  } else {\n    roles = inferRoles(name, args, modifiers, target);\n  }\n  return createCommandNode(name, roles);\n}\nfunction convertIf(node) {\n  const condition = node.condition && typeof node.condition === \"object\" ? convertValue(node.condition) : createExpression(\"true\");\n  const thenBody = Array.isArray(node.thenBranch) ? node.thenBranch : [];\n  const thenBranch = thenBody.map(fromInterchangeNode);\n  let elseBranch;\n  const elseIfBranches = node.elseIfBranches;\n  if (elseIfBranches && elseIfBranches.length > 0) {\n    elseBranch = [chainElseIfs(elseIfBranches, node.elseBranch)];\n  } else if (Array.isArray(node.elseBranch) && node.elseBranch.length > 0) {\n    elseBranch = node.elseBranch.map(fromInterchangeNode);\n  }\n  const roles = { condition };\n  return createConditionalNode(\"if\", roles, thenBranch, elseBranch);\n}\nfunction chainElseIfs(branches, finalElse) {\n  const [first, ...rest] = branches;\n  const condition = convertValue(first.condition);\n  const thenBranch = first.body.map(fromInterchangeNode);\n  let elseBranch;\n  if (rest.length > 0) {\n    elseBranch = [chainElseIfs(rest, finalElse)];\n  } else if (finalElse && finalElse.length > 0) {\n    elseBranch = finalElse.map(fromInterchangeNode);\n  }\n  return createConditionalNode(\"if\", { condition }, thenBranch, elseBranch);\n}\nfunction convertRepeat(node) {\n  const bodyNodes = Array.isArray(node.body) ? node.body : [];\n  const body = bodyNodes.map(fromInterchangeNode);\n  const roles = {};\n  let variant;\n  if (node.count !== void 0 && node.count !== null) {\n    variant = \"times\";\n    if (typeof node.count === \"number\") {\n      roles.quantity = createLiteral(node.count, \"number\");\n    } else if (typeof node.count === \"object\") {\n      roles.quantity = convertValue(node.count);\n    }\n  } else if (node.whileCondition && typeof node.whileCondition === \"object\") {\n    variant = \"while\";\n    roles.condition = convertValue(node.whileCondition);\n  } else if (typeof node.untilEvent === \"string\") {\n    variant = \"until\";\n    roles.condition = createLiteral(node.untilEvent);\n  } else {\n    variant = \"forever\";\n  }\n  return createLoopNode(\"repeat\", roles, variant, body);\n}\nfunction convertForEach(node) {\n  const bodyNodes = Array.isArray(node.body) ? node.body : [];\n  const body = bodyNodes.map(fromInterchangeNode);\n  const roles = {};\n  if (node.collection && typeof node.collection === \"object\") {\n    roles.source = convertValue(node.collection);\n  }\n  const itemName = typeof node.itemName === \"string\" ? node.itemName : void 0;\n  const indexName = typeof node.indexName === \"string\" ? node.indexName : void 0;\n  return createLoopNode(\"repeat\", roles, \"for\", body, itemName, indexName);\n}\nfunction convertWhile(node) {\n  const bodyNodes = Array.isArray(node.body) ? node.body : [];\n  const body = bodyNodes.map(fromInterchangeNode);\n  const roles = {};\n  if (node.condition && typeof node.condition === \"object\") {\n    roles.condition = convertValue(node.condition);\n  }\n  return createLoopNode(\"repeat\", roles, \"while\", body);\n}\nfunction convertValue(node) {\n  switch (node.type) {\n    case \"literal\":\n      return convertLiteral(node);\n    case \"selector\":\n      return createSelector(String(node.value ?? \"\"), inferSelectorKind(String(node.value ?? \"\")));\n    case \"identifier\":\n      return convertIdentifier(node);\n    case \"variable\":\n      return convertVariable(node);\n    case \"possessive\":\n      return createPropertyPath(\n        node.object && typeof node.object === \"object\" ? convertValue(node.object) : createReference(\"me\"),\n        String(node.property ?? \"\")\n      );\n    // Complex expressions → collapse to raw string\n    case \"binary\":\n    case \"unary\":\n    case \"member\":\n    case \"call\":\n    case \"positional\":\n      return createExpression(renderExpr(node));\n    default:\n      if (\"value\" in node) return createLiteral(String(node.value ?? \"\"));\n      return createExpression(renderExpr(node));\n  }\n}\nfunction convertLiteral(node) {\n  const value = node.value;\n  if (value === null || value === void 0) return createLiteral(\"null\");\n  const dataType = typeof value === \"number\" ? \"number\" : typeof value === \"boolean\" ? \"boolean\" : void 0;\n  return createLiteral(value, dataType);\n}\nfunction convertIdentifier(node) {\n  const value = String(node.value ?? \"\");\n  if (DEFAULT_REFERENCES.has(value)) {\n    return createReference(value);\n  }\n  return createLiteral(value);\n}\nfunction convertVariable(node) {\n  const name = String(node.name ?? \"\");\n  const scope = String(node.scope ?? \"local\");\n  switch (scope) {\n    case \"element\":\n      return createExpression(`:${name}`);\n    case \"global\":\n      return createExpression(`$${name}`);\n    default:\n      return createExpression(name);\n  }\n}\nfunction renderExpr(node) {\n  if (!node || typeof node !== \"object\") return \"\";\n  switch (node.type) {\n    case \"literal\": {\n      const v = node.value;\n      if (v === null || v === void 0) return \"null\";\n      if (typeof v === \"string\") return /\\s/.test(v) ? `\"${v}\"` : v;\n      return String(v);\n    }\n    case \"identifier\":\n      return String(node.value ?? \"\");\n    case \"selector\":\n      return String(node.value ?? \"\");\n    case \"variable\": {\n      const name = String(node.name ?? \"\");\n      const scope = String(node.scope ?? \"local\");\n      if (scope === \"element\") return `:${name}`;\n      if (scope === \"global\") return `$${name}`;\n      return name;\n    }\n    case \"binary\": {\n      const left = node.left && typeof node.left === \"object\" ? renderExpr(node.left) : \"\";\n      const right = node.right && typeof node.right === \"object\" ? renderExpr(node.right) : \"\";\n      return `${left} ${node.operator ?? \"\"} ${right}`;\n    }\n    case \"unary\": {\n      const operand = node.operand && typeof node.operand === \"object\" ? renderExpr(node.operand) : \"\";\n      return `${node.operator ?? \"\"} ${operand}`;\n    }\n    case \"member\": {\n      const obj = node.object && typeof node.object === \"object\" ? renderExpr(node.object) : \"\";\n      if (node.computed && node.property && typeof node.property === \"object\") {\n        return `${obj}[${renderExpr(node.property)}]`;\n      }\n      const prop = typeof node.property === \"string\" ? node.property : node.property && typeof node.property === \"object\" ? renderExpr(node.property) : \"\";\n      return `${obj}.${prop}`;\n    }\n    case \"possessive\": {\n      const obj = node.object && typeof node.object === \"object\" ? renderExpr(node.object) : \"\";\n      return `${obj}'s ${node.property ?? \"\"}`;\n    }\n    case \"call\": {\n      const callee = node.callee && typeof node.callee === \"object\" ? renderExpr(node.callee) : \"\";\n      const args = Array.isArray(node.args) ? node.args.map((a) => renderExpr(a)).join(\", \") : \"\";\n      return `${callee}(${args})`;\n    }\n    case \"positional\": {\n      const target = node.target && typeof node.target === \"object\" ? renderExpr(node.target) : \"\";\n      return target ? `${node.position ?? \"\"} ${target}` : String(node.position ?? \"\");\n    }\n    default:\n      if (\"value\" in node) return String(node.value ?? \"\");\n      return \"\";\n  }\n}\nvar SCROLL_MARKERS = /* @__PURE__ */ new Set([\n  \"to\",\n  \"of\",\n  \"the\",\n  \"top\",\n  \"bottom\",\n  \"middle\",\n  \"center\",\n  \"nearest\",\n  \"left\",\n  \"right\",\n  \"smoothly\",\n  \"instantly\"\n]);\nvar URL_MARKERS = /* @__PURE__ */ new Set([\"url\"]);\nvar PARTIALS_IN_MARKERS = /* @__PURE__ */ new Set([\"partials\", \"in\"]);\nfunction firstNonMarkerArg(args, markers) {\n  for (const a of args) {\n    if (a.type === \"identifier\") {\n      const ident = a;\n      const word = typeof ident.name === \"string\" ? ident.name : ident.value;\n      if (typeof word === \"string\" && markers.has(word)) continue;\n    }\n    return a;\n  }\n  return void 0;\n}\nfunction inferRoles(name, args, modifiers, target) {\n  const roles = {};\n  switch (name) {\n    case \"set\": {\n      if (args[0]) roles.destination = convertValue(args[0]);\n      const toVal = modifiers?.to;\n      if (toVal && typeof toVal === \"object\" && \"type\" in toVal) {\n        roles.patient = convertValue(toVal);\n      } else if (args[1]) {\n        roles.patient = convertValue(args[1]);\n      }\n      break;\n    }\n    case \"put\": {\n      if (args[0]) roles.patient = convertValue(args[0]);\n      if (modifiers) {\n        for (const key of [\"into\", \"before\", \"after\"]) {\n          const val = modifiers[key];\n          if (val && typeof val === \"object\" && \"type\" in val) {\n            roles.destination = convertValue(val);\n            roles.method = createLiteral(key);\n            break;\n          }\n        }\n      }\n      if (!roles.destination && target) {\n        roles.destination = convertValue(target);\n      }\n      break;\n    }\n    case \"increment\":\n    case \"decrement\": {\n      if (args[0]) roles.destination = convertValue(args[0]);\n      const byVal = modifiers?.by;\n      if (byVal && typeof byVal === \"object\" && \"type\" in byVal) {\n        roles.quantity = convertValue(byVal);\n      } else if (args[1]) {\n        roles.quantity = convertValue(args[1]);\n      }\n      break;\n    }\n    case \"fetch\": {\n      if (args[0]) roles.source = convertValue(args[0]);\n      const asVal = modifiers?.as;\n      if (asVal && typeof asVal === \"object\" && \"type\" in asVal) {\n        roles.responseType = convertValue(asVal);\n      } else if (typeof asVal === \"string\") {\n        roles.responseType = createLiteral(asVal);\n      }\n      break;\n    }\n    case \"wait\":\n    case \"settle\": {\n      if (args[0]) roles.duration = convertValue(args[0]);\n      break;\n    }\n    case \"toggle\":\n    case \"add\":\n    case \"show\":\n    case \"hide\": {\n      if (args[0]) roles.patient = convertValue(args[0]);\n      if (target) roles.destination = convertValue(target);\n      break;\n    }\n    case \"remove\": {\n      if (args[0]) roles.patient = convertValue(args[0]);\n      if (target) roles.source = convertValue(target);\n      break;\n    }\n    case \"send\":\n    case \"trigger\": {\n      if (args[0]) roles.patient = convertValue(args[0]);\n      if (target) roles.destination = convertValue(target);\n      break;\n    }\n    case \"log\": {\n      if (args[0]) roles.patient = convertValue(args[0]);\n      break;\n    }\n    // scroll [to] [position] target [smoothly|instantly]  →  destination=target\n    case \"scroll\": {\n      const t = firstNonMarkerArg(args, SCROLL_MARKERS);\n      if (t) roles.destination = convertValue(t);\n      break;\n    }\n    // push|replace url <X>  →  patient=X\n    case \"push\":\n    case \"replace\": {\n      const t = firstNonMarkerArg(args, URL_MARKERS);\n      if (t) roles.patient = convertValue(t);\n      break;\n    }\n    // process partials in <X>  →  patient=X\n    case \"process\": {\n      const t = firstNonMarkerArg(args, PARTIALS_IN_MARKERS);\n      if (t) roles.patient = convertValue(t);\n      break;\n    }\n    default: {\n      if (args[0]) roles.patient = convertValue(args[0]);\n      if (target) roles.destination = convertValue(target);\n      break;\n    }\n  }\n  return roles;\n}\nfunction inferSelectorKind(value) {\n  if (!value) return void 0;\n  if (value.startsWith(\"#\")) return \"id\";\n  if (value.startsWith(\".\")) return \"class\";\n  if (value.startsWith(\"[\")) return \"attribute\";\n  if (value.startsWith(\"<\") || value.startsWith(\"*\")) return \"element\";\n  if (/[>\\+~ ]/.test(value) && value.length > 1) return \"complex\";\n  return void 0;\n}\nfunction inferValueFromString(value) {\n  if (DEFAULT_REFERENCES.has(value)) return createReference(value);\n  const kind = inferSelectorKind(value);\n  if (kind) return createSelector(value, kind);\n  return createLiteral(value);\n}\nfunction bridgeEventModifiers(mods) {\n  const once = mods.once === true ? true : void 0;\n  const debounce = typeof mods.debounce === \"number\" ? mods.debounce : void 0;\n  const throttle = typeof mods.throttle === \"number\" ? mods.throttle : void 0;\n  const from = typeof mods.from === \"string\" ? inferValueFromString(mods.from) : void 0;\n  if (once === void 0 && debounce === void 0 && throttle === void 0 && from === void 0) {\n    return void 0;\n  }\n  return {\n    ...once !== void 0 ? { once } : {},\n    ...debounce !== void 0 ? { debounce } : {},\n    ...throttle !== void 0 ? { throttle } : {},\n    ...from !== void 0 ? { from } : {}\n  };\n}\n\n// src/ir/to-runtime-ast.ts\nfunction semanticNodeToRuntimeAST(node) {\n  switch (node.kind) {\n    case \"event-handler\":\n      return convertEventHandler(node);\n    case \"conditional\":\n      return convertConditional(node);\n    case \"loop\":\n      return convertLoop(node);\n    case \"compound\": {\n      const compound = node;\n      const commands = (compound.statements ?? []).map(semanticNodeToRuntimeAST);\n      return {\n        type: \"CommandSequence\",\n        commands\n      };\n    }\n    case \"command\":\n    default:\n      return convertCommand2(node);\n  }\n}\nfunction convertEventHandler(eh) {\n  const eventValue = eh.roles.get(\"event\");\n  const eventName = eventValue && \"value\" in eventValue ? String(eventValue.value) : \"click\";\n  const modifiers = {};\n  if (eh.eventModifiers) {\n    if (eh.eventModifiers.once) modifiers.once = true;\n    if (eh.eventModifiers.debounce) modifiers.debounce = eh.eventModifiers.debounce;\n    if (eh.eventModifiers.throttle) modifiers.throttle = eh.eventModifiers.throttle;\n    if (eh.eventModifiers.queue) modifiers.queue = eh.eventModifiers.queue;\n  }\n  return {\n    type: \"event\",\n    event: eventName,\n    modifiers,\n    body: (eh.body ?? []).map(semanticNodeToRuntimeAST)\n  };\n}\nfunction convertCommand2(node) {\n  const roles = {};\n  const args = [];\n  for (const [roleName, value] of node.roles) {\n    const astValue = semanticValueToAST(value);\n    roles[roleName] = astValue;\n    args.push(astValue);\n  }\n  return {\n    type: \"command\",\n    name: node.action,\n    args,\n    roles\n  };\n}\nfunction convertConditional(node) {\n  const conditionValue = node.roles.get(\"condition\");\n  return {\n    type: \"command\",\n    name: \"if\",\n    args: conditionValue ? [semanticValueToAST(conditionValue)] : [],\n    condition: conditionValue ? semanticValueToAST(conditionValue) : void 0,\n    thenBranch: (node.thenBranch ?? []).map(semanticNodeToRuntimeAST),\n    elseBranch: (node.elseBranch ?? []).map(semanticNodeToRuntimeAST)\n  };\n}\nfunction convertLoop(node) {\n  const countValue = node.roles.get(\"patient\") || node.roles.get(\"count\");\n  return {\n    type: \"command\",\n    name: \"repeat\",\n    args: countValue ? [semanticValueToAST(countValue)] : [],\n    loopVariant: node.loopVariant ?? \"forever\",\n    body: (node.body ?? []).map(semanticNodeToRuntimeAST),\n    loopVariable: node.loopVariable,\n    indexVariable: node.indexVariable\n  };\n}\nfunction semanticValueToAST(value) {\n  switch (value.type) {\n    case \"selector\":\n      return { type: \"selector\", value: value.value };\n    case \"reference\":\n      return { type: \"identifier\", value: value.value };\n    case \"literal\": {\n      const lit = value;\n      if (lit.dataType === \"duration\") {\n        const str = String(lit.value);\n        const match = /^(\\d+(?:\\.\\d+)?)(ms|s)$/.exec(str);\n        if (match) {\n          const ms = match[2] === \"s\" ? parseFloat(match[1]) * 1e3 : parseFloat(match[1]);\n          return { type: \"literal\", value: ms };\n        }\n      }\n      return { type: \"literal\", value: lit.value };\n    }\n    case \"property-path\": {\n      const pp = value;\n      const objectAST = semanticValueToAST(pp.object);\n      return {\n        type: \"member\",\n        object: objectAST,\n        property: pp.property\n      };\n    }\n    case \"expression\": {\n      const expr = value;\n      return { type: \"expression\", value: expr.raw };\n    }\n    case \"flag\": {\n      const flag = value;\n      return { type: \"literal\", value: flag.enabled };\n    }\n    default:\n      return { type: \"literal\", value: String(value.value ?? \"\") };\n  }\n}\n\n// src/api/create-dsl.ts\nvar DSLRegistry = class {\n  constructor(config) {\n    this.patterns = /* @__PURE__ */ new Map();\n    this.tokenizers = /* @__PURE__ */ new Map();\n    this.schemas = config.schemas;\n    for (const lang of config.languages) {\n      this.registerLanguage(lang);\n    }\n  }\n  registerLanguage(lang) {\n    this.tokenizers.set(lang.code, lang.tokenizer);\n    const patterns = [];\n    for (const schema of this.schemas) {\n      const pattern = generatePattern(schema, lang.patternProfile);\n      patterns.push(pattern);\n    }\n    this.patterns.set(lang.code, patterns);\n  }\n  getPatterns(language) {\n    return this.patterns.get(language) || [];\n  }\n  getTokenizer(language) {\n    return this.tokenizers.get(language);\n  }\n  getSupportedLanguages() {\n    return Array.from(this.patterns.keys());\n  }\n};\nvar MultilingualDSLImpl = class {\n  constructor(config, registry, transformer) {\n    this.registry = registry;\n    this.matcher = new PatternMatcher();\n    this.transformer = transformer;\n    if (config.codeGenerator) {\n      this.codeGenerator = config.codeGenerator;\n    }\n    const schemaMap = new Map(config.schemas.map((s) => [s.action, s]));\n    this.schemaLookup = {\n      getSchema: (action) => schemaMap.get(action)\n    };\n  }\n  parse(input, language) {\n    const result = this.parseWithConfidence(input, language);\n    return result.node;\n  }\n  parseWithConfidence(input, language) {\n    if (isExplicitSyntax(input)) {\n      const node = parseExplicit(input, { schemaLookup: this.schemaLookup });\n      if (!this.schemaLookup.getSchema(node.action)) {\n        throw new Error(`No schema for action \"${node.action}\" in this DSL`);\n      }\n      return { node, confidence: 1 };\n    }\n    const tokenizer = this.registry.getTokenizer(language);\n    if (!tokenizer) {\n      throw new Error(`No tokenizer registered for language: ${language}`);\n    }\n    const tokens = tokenizer.tokenize(input);\n    const patterns = this.registry.getPatterns(language);\n    const profile = {\n      code: language\n    };\n    for (const pattern of patterns) {\n      const match = this.matcher.matchPattern(tokens, pattern, profile);\n      if (match) {\n        const node = {\n          kind: \"command\",\n          action: pattern.command,\n          roles: match.captured,\n          metadata: {\n            sourceLanguage: language,\n            sourceText: input,\n            patternId: pattern.id,\n            confidence: match.confidence\n          }\n        };\n        return { node, confidence: match.confidence };\n      }\n    }\n    throw new Error(`No pattern matched for input: ${input}`);\n  }\n  validate(input, language) {\n    try {\n      const result = this.parseWithConfidence(input, language);\n      return {\n        valid: true,\n        node: result.node\n      };\n    } catch (error) {\n      return {\n        valid: false,\n        errors: [error instanceof Error ? error.message : String(error)]\n      };\n    }\n  }\n  translate(input, fromLanguage, toLanguage) {\n    if (isExplicitSyntax(input)) return input;\n    return this.transformer.transform(input, fromLanguage, toLanguage);\n  }\n  compile(input, language) {\n    if (!this.codeGenerator) {\n      return {\n        ok: false,\n        errors: [\"No code generator configured for this DSL\"]\n      };\n    }\n    try {\n      const result = this.parseWithConfidence(input, language);\n      const code = this.codeGenerator.generate(result.node);\n      return {\n        ok: true,\n        code,\n        node: result.node,\n        metadata: {\n          parser: \"semantic\",\n          confidence: result.confidence\n        }\n      };\n    } catch (error) {\n      return {\n        ok: false,\n        errors: [error instanceof Error ? error.message : String(error)]\n      };\n    }\n  }\n  getSupportedLanguages() {\n    return this.registry.getSupportedLanguages();\n  }\n};\nfunction createDefaultDictionary(config) {\n  const translations = {};\n  for (const lang of config.languages) {\n    const keywords = {};\n    for (const [canonical, keywordDef] of Object.entries(lang.patternProfile.keywords)) {\n      keywords[canonical] = keywordDef.primary;\n    }\n    translations[lang.code] = keywords;\n  }\n  return new InMemoryDictionary(translations);\n}\nfunction createDefaultProfileProvider(config) {\n  const profiles = {};\n  for (const lang of config.languages) {\n    if (lang.grammarProfile) {\n      profiles[lang.code] = lang.grammarProfile;\n    }\n  }\n  return new InMemoryProfileProvider(profiles);\n}\nfunction createMultilingualDSL(config) {\n  const dictionary = config.dictionary ?? createDefaultDictionary(config);\n  const profileProvider = config.profileProvider ?? createDefaultProfileProvider(config);\n  const transformer = new GrammarTransformer({\n    dictionary,\n    profileProvider\n  });\n  const registry = new DSLRegistry(config);\n  return new MultilingualDSLImpl(config, registry, transformer);\n}\n\n// src/prompts/prompt-generator.ts\nfunction generatePrompt(config) {\n  const outputFormat = config.outputFormat ?? \"both\";\n  const examplesPerCommand = config.examplesPerCommand ?? 2;\n  const sections = [\n    buildProtocolSection(),\n    buildValueTypeSection(),\n    buildCommandsSection(config.schemas, outputFormat, examplesPerCommand),\n    buildOutputFormatSection(outputFormat),\n    buildErrorRecoverySection()\n  ];\n  let finalSections = sections;\n  if (config.maxTokens && config.maxTokens > 0) {\n    finalSections = truncateToTokenBudget(sections, config.maxTokens);\n  }\n  const text = finalSections.map((s) => `## ${s.title}\n\n${s.content}`).join(\"\\n\\n---\\n\\n\");\n  const totalRoles = config.schemas.reduce((sum, s) => sum + s.roles.length, 0);\n  const approximateTokens = estimateTokens(text);\n  const metadata = {\n    domain: config.domain,\n    commandCount: config.schemas.length,\n    roleCount: totalRoles,\n    approximateTokens\n  };\n  return { text, sections: finalSections, metadata };\n}\nfunction generateExamples(schema, count = 2) {\n  const combos = generateRoleCombinations(schema);\n  const examples = [];\n  for (let i = 0; i < Math.min(count, combos.length); i++) {\n    const combo = combos[i];\n    const roles = /* @__PURE__ */ new Map();\n    for (const role of combo) {\n      const sample = sampleValue(role);\n      roles.set(role.role, sample);\n    }\n    const nodeRoles = /* @__PURE__ */ new Map();\n    for (const [roleName, sample] of roles) {\n      nodeRoles.set(roleName, toSemanticValue(sample));\n    }\n    const node = createCommandNode(schema.action, nodeRoles);\n    const explicit = renderExplicit(node);\n    const jsonRoles = {};\n    for (const [roleName, sample] of roles) {\n      jsonRoles[roleName] = sample;\n    }\n    const json = { action: schema.action, roles: jsonRoles };\n    examples.push({ explicit, json });\n  }\n  return examples;\n}\nfunction generateProtocolReference() {\n  const protocol = buildProtocolSection();\n  const valueTypes = buildValueTypeSection();\n  return `# LokaScript Explicit Syntax (LSE) Quick Reference\n\n${protocol.content}\n\n${valueTypes.content}`;\n}\nfunction buildProtocolSection() {\n  const content = `LokaScript Explicit Syntax (LSE) is a bracket-based format for imperative commands.\n\n### Syntax\n\n\\`\\`\\`\n[command role1:value1 role2:value2 +flag1 ~flag2]\n\\`\\`\\`\n\n- **Command**: The first token inside brackets (lowercased)\n- **Role pair**: \\`name:value\\` \\u2014 a named semantic role with a typed value (no space around colon)\n- **Enabled flag**: \\`+name\\` \\u2014 boolean attribute present\n- **Disabled flag**: \\`~name\\` \\u2014 boolean attribute negated\n- **Nested body**: \\`body:[command ...]\\` \\u2014 a bracket command inside a role value\n\n### Rules\n\n1. Commands are always lowercased\n2. Role names preserve their original case\n3. No spaces around the colon in role:value pairs\n4. Strings with spaces must be quoted: \\`patient:\"hello world\"\\`\n5. Selectors start with \\`#\\`, \\`.\\`, \\`[\\`, \\`@\\`, or \\`*\\`\n6. Output must be valid bracket syntax: \\`[action role:value ...]\\``;\n  return {\n    id: \"protocol\",\n    title: \"LSE Protocol\",\n    content,\n    approximateTokens: estimateTokens(content)\n  };\n}\nfunction buildValueTypeSection() {\n  const content = `Values in LSE are classified by their syntactic form (first match wins):\n\n| Type | Syntax | Example |\n|------|--------|---------|\n| Selector | Starts with \\`#\\` \\`.\\` \\`[\\` \\`@\\` \\`*\\` | \\`#button\\`, \\`.active\\`, \\`[data-id]\\` |\n| String | Quoted with \\`\"\\` or \\`'\\` | \\`\"hello world\"\\`, \\`'json'\\` |\n| Boolean | Exact: \\`true\\` / \\`false\\` | \\`visible:true\\` |\n| Reference | Built-in name | \\`me\\`, \\`you\\`, \\`it\\`, \\`result\\`, \\`event\\`, \\`target\\`, \\`body\\` |\n| Duration | Number + suffix | \\`500ms\\`, \\`2s\\`, \\`1m\\`, \\`1h\\` |\n| Number | Digits with optional decimal | \\`5\\`, \\`3.14\\`, \\`-1\\` |\n| Plain | Fallback (any non-whitespace) | \\`/api/users\\`, \\`json\\`, \\`production\\` |\n\n**Important**: Classification is by prefix, not by intent. \\`#true\\` is a selector (not boolean). \\`event\\` as a value is a reference (not plain text).`;\n  return {\n    id: \"value-types\",\n    title: \"Value Types\",\n    content,\n    approximateTokens: estimateTokens(content)\n  };\n}\nfunction buildCommandsSection(schemas, outputFormat, examplesPerCommand) {\n  const parts = [];\n  for (const schema of schemas) {\n    parts.push(formatCommandDoc(schema, outputFormat, examplesPerCommand));\n  }\n  const content = parts.join(\"\\n\\n\");\n  return {\n    id: \"commands\",\n    title: \"Available Commands\",\n    content,\n    approximateTokens: estimateTokens(content)\n  };\n}\nfunction buildOutputFormatSection(outputFormat) {\n  let content;\n  if (outputFormat === \"explicit\") {\n    content = `Output valid LSE bracket syntax. Each command must be wrapped in brackets:\n\n\\`\\`\\`\n[command role:value ...]\n\\`\\`\\`\n\nDo NOT output JSON. Only use bracket syntax.`;\n  } else if (outputFormat === \"json\") {\n    content = `Output valid JSON in the LLM-simplified format:\n\n\\`\\`\\`json\n{\n  \"action\": \"command-name\",\n  \"roles\": {\n    \"roleName\": { \"type\": \"valueType\", \"value\": \"theValue\" }\n  }\n}\n\\`\\`\\`\n\nValid value types: \\`selector\\`, \\`literal\\`, \\`reference\\`, \\`expression\\`.\nDo NOT output bracket syntax. Only use JSON.`;\n  } else {\n    content = `You may output EITHER format:\n\n**Bracket syntax** (preferred for single commands):\n\\`\\`\\`\n[command role:value ...]\n\\`\\`\\`\n\n**JSON format** (preferred when structured data is needed):\n\\`\\`\\`json\n{\n  \"action\": \"command-name\",\n  \"roles\": {\n    \"roleName\": { \"type\": \"valueType\", \"value\": \"theValue\" }\n  }\n}\n\\`\\`\\`\n\nBoth formats are equally valid. Use whichever is more natural for the context.`;\n  }\n  return {\n    id: \"output-format\",\n    title: \"Output Format\",\n    content,\n    approximateTokens: estimateTokens(content)\n  };\n}\nfunction buildErrorRecoverySection() {\n  const content = `If you're unsure about a command or role:\n\n1. **Unknown command**: Use the closest matching command from the Available Commands section. Do not invent commands.\n2. **Unknown role**: Use only the roles listed for each command. Do not add roles not in the schema.\n3. **Ambiguous value type**: When in doubt, use \\`expression\\` type (it's the most permissive).\n4. **Missing required role**: Always include all required roles. Check the Required/Optional labels.\n5. **Selector vs plain value**: If a value starts with \\`#\\`, \\`.\\`, \\`[\\`, \\`@\\`, or \\`*\\`, it's a selector. URLs like \\`/api/data\\` are plain values.\n\nWhen generating LSE, prefer explicit role labeling over positional guessing. Every value should have a role name.`;\n  return {\n    id: \"error-recovery\",\n    title: \"Error Recovery\",\n    content,\n    approximateTokens: estimateTokens(content)\n  };\n}\nfunction formatCommandDoc(schema, outputFormat, examplesPerCommand) {\n  const lines = [];\n  lines.push(`### \\`${schema.action}\\` \\u2014 ${schema.description}`);\n  lines.push(\"\");\n  const required = schema.roles.filter((r) => r.required);\n  const optional = schema.roles.filter((r) => !r.required);\n  if (required.length > 0) {\n    lines.push(\"**Required roles:**\");\n    for (const role of required) {\n      lines.push(`- \\`${role.role}\\`: ${role.description} (type: ${formatExpectedTypes(role)})`);\n    }\n  }\n  if (optional.length > 0) {\n    lines.push(\"**Optional roles:**\");\n    for (const role of optional) {\n      lines.push(`- \\`${role.role}\\`: ${role.description} (type: ${formatExpectedTypes(role)})`);\n    }\n  }\n  const examples = generateExamples(schema, examplesPerCommand);\n  if (examples.length > 0) {\n    lines.push(\"\");\n    if (outputFormat === \"explicit\" || outputFormat === \"both\") {\n      lines.push(\"**Bracket syntax:**\");\n      for (const ex of examples) {\n        lines.push(`\\`\\`\\`\n${ex.explicit}\n\\`\\`\\``);\n      }\n    }\n    if (outputFormat === \"json\" || outputFormat === \"both\") {\n      lines.push(\"**JSON format:**\");\n      for (const ex of examples) {\n        lines.push(`\\`\\`\\`json\n${JSON.stringify(ex.json, null, 2)}\n\\`\\`\\``);\n      }\n    }\n  }\n  return lines.join(\"\\n\");\n}\nfunction formatExpectedTypes(role) {\n  return role.expectedTypes.join(\" | \");\n}\nfunction generateRoleCombinations(schema) {\n  const required = schema.roles.filter((r) => r.required);\n  const optional = schema.roles.filter((r) => !r.required);\n  const combos = [];\n  if (required.length > 0) {\n    combos.push(required);\n  }\n  for (const opt of optional) {\n    combos.push([...required, opt]);\n  }\n  if (optional.length >= 2) {\n    combos.push([...required, ...optional]);\n  }\n  if (combos.length === 0) {\n    combos.push(schema.roles.slice());\n  }\n  return combos;\n}\nfunction sampleValue(role) {\n  const primaryType = role.expectedTypes[0] || \"expression\";\n  switch (primaryType) {\n    case \"selector\":\n      return sampleSelector(role.role);\n    case \"literal\":\n      return sampleLiteral(role.role);\n    case \"reference\":\n      return { type: \"reference\", value: \"me\" };\n    case \"expression\":\n      return sampleExpression(role.role);\n    case \"flag\":\n      return { type: \"flag\", value: true };\n    default:\n      return { type: \"literal\", value: \"example\" };\n  }\n}\nfunction sampleSelector(roleName) {\n  const selectors = {\n    patient: \".active\",\n    destination: \"#output\",\n    source: \"#input\",\n    target: \"#target\"\n  };\n  return { type: \"selector\", value: selectors[roleName] || `#${roleName}` };\n}\nfunction sampleLiteral(roleName) {\n  const literals = {\n    duration: \"30s\",\n    interval: \"5s\",\n    delay: \"500ms\",\n    timeout: \"10s\",\n    quantity: 5,\n    limit: 10,\n    style: \"json\",\n    manner: \"rolling\",\n    format: \"html\"\n  };\n  return { type: \"literal\", value: literals[roleName] || roleName };\n}\nfunction sampleExpression(roleName) {\n  const expressions = {\n    source: \"/api/data\",\n    destination: \"#output\",\n    patient: \".active\",\n    instrument: \"toUpperCase\",\n    condition: \"age > 18\",\n    style: \"json\",\n    duration: \"5s\",\n    url: \"/api/users\"\n  };\n  return { type: \"expression\", value: expressions[roleName] || `/api/${roleName}` };\n}\nfunction toSemanticValue(sample) {\n  switch (sample.type) {\n    case \"selector\":\n      return {\n        type: \"selector\",\n        value: String(sample.value),\n        selectorKind: detectSelectorKind2(String(sample.value))\n      };\n    case \"literal\":\n      return {\n        type: \"literal\",\n        value: sample.value,\n        dataType: typeof sample.value === \"number\" ? \"number\" : typeof sample.value === \"boolean\" ? \"boolean\" : \"string\"\n      };\n    case \"reference\":\n      return { type: \"reference\", value: String(sample.value) };\n    case \"expression\":\n      return { type: \"expression\", value: String(sample.value), raw: String(sample.value) };\n    case \"flag\":\n      return { type: \"flag\", value: sample.value };\n    default:\n      return { type: \"literal\", value: String(sample.value), dataType: \"string\" };\n  }\n}\nfunction detectSelectorKind2(selector) {\n  if (selector.startsWith(\"#\")) return \"id\";\n  if (selector.startsWith(\".\")) return \"class\";\n  if (selector.startsWith(\"[\")) return \"attribute\";\n  return \"complex\";\n}\nfunction estimateTokens(text) {\n  return Math.ceil(text.length / 4);\n}\nfunction truncateToTokenBudget(sections, maxTokens) {\n  const result = [];\n  let budget = maxTokens;\n  for (const section of sections) {\n    if (section.approximateTokens <= budget) {\n      result.push(section);\n      budget -= section.approximateTokens;\n    } else {\n      const charBudget = Math.max(budget * 4, 40);\n      const truncatedContent = section.content.slice(0, charBudget) + \"\\n\\n*(truncated)*\";\n      result.push({\n        ...section,\n        content: truncatedContent,\n        approximateTokens: estimateTokens(truncatedContent)\n      });\n      break;\n    }\n  }\n  return result;\n}\n\n// src/training/schema-synthesizer.ts\nfunction synthesizeFromSchemas(schemas, config) {\n  const maxPerCommand = config.maxPairsPerCommand ?? 5;\n  const minQuality = config.minQuality ?? 0.5;\n  const shuffleRoles = config.shuffleRoles ?? true;\n  const languages = config.languages ?? [\"en\"];\n  const pairs = [];\n  let idCounter = 0;\n  for (const schema of schemas) {\n    const combos = generateRoleCombinations2(schema);\n    for (const language of languages) {\n      let commandPairCount = 0;\n      for (const combo of combos) {\n        if (commandPairCount >= maxPerCommand) break;\n        const pair = buildTrainingPair(\n          schema,\n          combo,\n          language,\n          config.domain,\n          `${config.domain}-synth-${idCounter++}`\n        );\n        if (pair.quality >= minQuality) {\n          pairs.push(pair);\n          commandPairCount++;\n        }\n        if (shuffleRoles && combo.length >= 2 && commandPairCount < maxPerCommand) {\n          const shuffled = [...combo].reverse();\n          const shuffledPair = buildTrainingPair(\n            schema,\n            shuffled,\n            language,\n            config.domain,\n            `${config.domain}-synth-${idCounter++}`\n          );\n          if (shuffledPair.quality >= minQuality) {\n            pairs.push(shuffledPair);\n            commandPairCount++;\n          }\n        }\n      }\n    }\n  }\n  const metadata = {\n    domain: config.domain,\n    commandCount: schemas.length,\n    pairCount: pairs.length,\n    bySource: { synthetic: pairs.length },\n    languages\n  };\n  return { pairs, metadata };\n}\nfunction generateRoleCombinations2(schema) {\n  const required = schema.roles.filter((r) => r.required);\n  const optional = schema.roles.filter((r) => !r.required);\n  const combos = [];\n  if (required.length > 0) {\n    combos.push(required);\n  }\n  for (const opt of optional) {\n    combos.push([...required, opt]);\n  }\n  if (optional.length >= 2) {\n    combos.push([...required, ...optional]);\n  }\n  if (combos.length === 0) {\n    combos.push(schema.roles.slice());\n  }\n  return combos;\n}\nfunction buildTrainingPair(schema, roles, language, domain, id) {\n  const sampledRoles = /* @__PURE__ */ new Map();\n  for (const role of roles) {\n    sampledRoles.set(role.role, sampleValue2(role));\n  }\n  const nodeRoles = /* @__PURE__ */ new Map();\n  for (const [name, sample] of sampledRoles) {\n    nodeRoles.set(name, toSemanticValue2(sample));\n  }\n  const node = createCommandNode(schema.action, nodeRoles);\n  const explicit = renderExplicit(node);\n  const jsonRoles = {};\n  for (const [name, sample] of sampledRoles) {\n    jsonRoles[name] = sample;\n  }\n  const json = { action: schema.action, roles: jsonRoles };\n  const natural = buildNaturalForm(schema, sampledRoles, language);\n  const requiredCount = schema.roles.filter((r) => r.required).length;\n  const filledRequired = roles.filter((r) => r.required).length;\n  const quality = requiredCount > 0 ? filledRequired / requiredCount : 0.8;\n  return {\n    id,\n    natural,\n    language,\n    explicit,\n    json,\n    domain,\n    action: schema.action,\n    source: \"synthetic\",\n    quality\n  };\n}\nfunction buildNaturalForm(schema, roles, language) {\n  const parts = [schema.action];\n  for (const roleSpec of schema.roles) {\n    const sample = roles.get(roleSpec.role);\n    if (!sample) continue;\n    const marker = roleSpec.markerOverride?.[language];\n    if (marker) {\n      parts.push(marker);\n    }\n    parts.push(String(sample.value));\n  }\n  return parts.join(\" \");\n}\nfunction sampleValue2(role) {\n  const primaryType = role.expectedTypes[0] || \"expression\";\n  switch (primaryType) {\n    case \"selector\":\n      return sampleSelector2(role.role);\n    case \"literal\":\n      return sampleLiteral2(role.role);\n    case \"reference\":\n      return { type: \"reference\", value: \"me\" };\n    case \"expression\":\n      return sampleExpression2(role.role);\n    case \"flag\":\n      return { type: \"flag\", value: true };\n    default:\n      return { type: \"literal\", value: \"example\" };\n  }\n}\nfunction sampleSelector2(roleName) {\n  const selectors = {\n    patient: \".active\",\n    destination: \"#output\",\n    source: \"#input\",\n    target: \"#target\"\n  };\n  return { type: \"selector\", value: selectors[roleName] || `#${roleName}` };\n}\nfunction sampleLiteral2(roleName) {\n  const literals = {\n    duration: \"30s\",\n    interval: \"5s\",\n    delay: \"500ms\",\n    timeout: \"10s\",\n    quantity: 5,\n    limit: 10,\n    style: \"json\",\n    manner: \"rolling\",\n    format: \"html\"\n  };\n  return { type: \"literal\", value: literals[roleName] || roleName };\n}\nfunction sampleExpression2(roleName) {\n  const expressions = {\n    source: \"/api/data\",\n    destination: \"#output\",\n    patient: \".active\",\n    instrument: \"toUpperCase\",\n    condition: \"age > 18\",\n    style: \"json\",\n    duration: \"5s\",\n    url: \"/api/users\"\n  };\n  return { type: \"expression\", value: expressions[roleName] || `/api/${roleName}` };\n}\nfunction toSemanticValue2(sample) {\n  switch (sample.type) {\n    case \"selector\":\n      return {\n        type: \"selector\",\n        value: String(sample.value),\n        selectorKind: detectSelectorKind3(String(sample.value))\n      };\n    case \"literal\":\n      return {\n        type: \"literal\",\n        value: sample.value,\n        dataType: typeof sample.value === \"number\" ? \"number\" : typeof sample.value === \"boolean\" ? \"boolean\" : \"string\"\n      };\n    case \"reference\":\n      return { type: \"reference\", value: String(sample.value) };\n    case \"expression\":\n      return { type: \"expression\", value: String(sample.value), raw: String(sample.value) };\n    case \"flag\":\n      return { type: \"flag\", value: sample.value };\n    default:\n      return { type: \"literal\", value: String(sample.value), dataType: \"string\" };\n  }\n}\nfunction detectSelectorKind3(selector) {\n  if (selector.startsWith(\"#\")) return \"id\";\n  if (selector.startsWith(\".\")) return \"class\";\n  if (selector.startsWith(\"[\")) return \"attribute\";\n  return \"complex\";\n}\n\n// src/feedback/feedback-formatter.ts\nfunction buildFeedback(input, inputFormat, diagnostics, schemaLookup, action) {\n  const hasErrors = diagnostics.some((d) => d.severity === \"error\");\n  const feedbackDiagnostics = diagnostics.map((d) => toFeedbackDiagnostic(d));\n  const hints = generateHints(feedbackDiagnostics, schemaLookup, action);\n  let schemaInfo;\n  let correctedExample;\n  if (action && schemaLookup) {\n    const schema = schemaLookup.getSchema(action);\n    if (schema) {\n      schemaInfo = extractSchemaInfo(schema);\n      if (hasErrors) {\n        correctedExample = generateCorrectedExample(schema);\n      }\n    }\n  }\n  return {\n    accepted: !hasErrors,\n    input: { format: inputFormat, text: input },\n    diagnostics: feedbackDiagnostics,\n    hints,\n    ...schemaInfo && { schema: schemaInfo },\n    ...correctedExample && { correctedExample }\n  };\n}\nfunction toFeedbackDiagnostic(d) {\n  const fixType = classifyFixType(d);\n  return {\n    severity: d.severity,\n    code: d.code || \"unknown\",\n    message: d.message,\n    ...d.suggestions?.[0] && { suggestion: d.suggestions[0] },\n    ...fixType && { fixType }\n  };\n}\nfunction classifyFixType(d) {\n  const code = (d.code || \"\").toLowerCase();\n  const msg = d.message.toLowerCase();\n  if (code.includes(\"missing-role\") || code.includes(\"missing_role\") || msg.includes(\"required role\") || msg.includes(\"missing role\")) {\n    return \"missing_role\";\n  }\n  if (code.includes(\"invalid-type\") || code.includes(\"invalid_type\") || code.includes(\"type-mismatch\") || msg.includes(\"invalid type\") || msg.includes(\"expected type\")) {\n    return \"invalid_type\";\n  }\n  if (code.includes(\"unknown-command\") || code.includes(\"unknown_command\") || msg.includes(\"unknown command\") || msg.includes(\"not recognized\") && msg.includes(\"command\")) {\n    return \"unknown_command\";\n  }\n  if (code.includes(\"unknown-role\") || code.includes(\"unknown_role\") || msg.includes(\"unknown role\") || msg.includes(\"not recognized\") && msg.includes(\"role\")) {\n    return \"unknown_role\";\n  }\n  if (code.includes(\"parse\") || code.includes(\"syntax\") || msg.includes(\"syntax error\") || msg.includes(\"parse error\") || msg.includes(\"unexpected\")) {\n    return \"syntax_error\";\n  }\n  return void 0;\n}\nfunction generateHints(diagnostics, schemaLookup, action) {\n  const hints = [];\n  const schema = action && schemaLookup ? schemaLookup.getSchema(action) : void 0;\n  for (const d of diagnostics) {\n    if (d.severity !== \"error\") continue;\n    switch (d.fixType) {\n      case \"missing_role\": {\n        if (schema) {\n          const required = schema.roles.filter((r) => r.required).map((r) => `'${r.role}' (${r.description}, type: ${r.expectedTypes.join(\"|\")})`).join(\", \");\n          hints.push(`Required roles for '${action}': ${required}`);\n        } else {\n          hints.push(\"Check that all required roles are present.\");\n        }\n        break;\n      }\n      case \"unknown_command\": {\n        hints.push(\n          `Command not recognized. Ensure you're using a valid command from the domain schema.`\n        );\n        break;\n      }\n      case \"unknown_role\": {\n        if (schema) {\n          const validRoles = schema.roles.map((r) => `'${r.role}'`).join(\", \");\n          hints.push(`Valid roles for '${action}': ${validRoles}`);\n        } else {\n          hints.push(\"Use only roles defined in the command schema.\");\n        }\n        break;\n      }\n      case \"invalid_type\": {\n        hints.push(\n          \"Check value types: selectors start with #.[@*, strings use quotes, numbers are plain digits.\"\n        );\n        break;\n      }\n      case \"syntax_error\": {\n        hints.push(\"Ensure bracket syntax: [command role:value ...]. No spaces around the colon.\");\n        break;\n      }\n      default: {\n        if (d.suggestion) {\n          hints.push(d.suggestion);\n        }\n      }\n    }\n  }\n  return [...new Set(hints)];\n}\nfunction extractSchemaInfo(schema) {\n  const requiredRoles = [];\n  const optionalRoles = [];\n  const roleDescriptions = {};\n  for (const role of schema.roles) {\n    if (role.required) {\n      requiredRoles.push(role.role);\n    } else {\n      optionalRoles.push(role.role);\n    }\n    roleDescriptions[role.role] = role.description;\n  }\n  return {\n    action: schema.action,\n    requiredRoles,\n    optionalRoles,\n    roleDescriptions\n  };\n}\nfunction generateCorrectedExample(schema) {\n  const roles = /* @__PURE__ */ new Map();\n  const jsonRoles = {};\n  for (const role of schema.roles) {\n    if (!role.required) continue;\n    const sample = sampleDefaultValue(role.role, role.expectedTypes[0] || \"expression\");\n    roles.set(role.role, toSemanticValue3(sample));\n    jsonRoles[role.role] = sample;\n  }\n  const node = createCommandNode(schema.action, roles);\n  const explicit = renderExplicit(node);\n  const json = { action: schema.action, roles: jsonRoles };\n  return { explicit, json };\n}\nfunction sampleDefaultValue(roleName, expectedType) {\n  switch (expectedType) {\n    case \"selector\":\n      return { type: \"selector\", value: `#${roleName}` };\n    case \"expression\":\n      return { type: \"expression\", value: `<${roleName}-value>` };\n    case \"literal\":\n      return { type: \"literal\", value: `<${roleName}-value>` };\n    case \"reference\":\n      return { type: \"reference\", value: \"me\" };\n    default:\n      return { type: \"expression\", value: `<${roleName}-value>` };\n  }\n}\nfunction toSemanticValue3(sample) {\n  switch (sample.type) {\n    case \"selector\":\n      return { type: \"selector\", value: sample.value, selectorKind: \"id\" };\n    case \"expression\":\n      return { type: \"expression\", value: sample.value, raw: sample.value };\n    case \"literal\":\n      return { type: \"literal\", value: sample.value, dataType: \"string\" };\n    case \"reference\":\n      return { type: \"reference\", value: sample.value };\n    default:\n      return { type: \"literal\", value: sample.value, dataType: \"string\" };\n  }\n}\n\n// src/api/domain-registry.ts\nvar DomainRegistry = class {\n  constructor() {\n    this.descriptors = /* @__PURE__ */ new Map();\n    this.dslCache = /* @__PURE__ */ new Map();\n    this.rendererCache = /* @__PURE__ */ new Map();\n  }\n  /**\n   * Register a domain.\n   * @throws if a domain with the same name is already registered\n   */\n  register(descriptor) {\n    if (this.descriptors.has(descriptor.name)) {\n      throw new Error(`Domain already registered: ${descriptor.name}`);\n    }\n    this.descriptors.set(descriptor.name, descriptor);\n  }\n  /**\n   * Attach schemas to an already-registered domain.\n   * Useful for lazy loading schemas after initial registration.\n   */\n  setSchemas(name, schemas) {\n    const existing = this.descriptors.get(name);\n    if (!existing) {\n      throw new Error(`Domain not registered: ${name}`);\n    }\n    this.descriptors.set(name, { ...existing, schemas });\n  }\n  /**\n   * Get all registered domain names.\n   */\n  getDomainNames() {\n    return Array.from(this.descriptors.keys());\n  }\n  /**\n   * Get a specific domain descriptor.\n   */\n  getDescriptor(name) {\n    return this.descriptors.get(name);\n  }\n  /**\n   * Generate MCP tool definitions for all registered domains.\n   */\n  getToolDefinitions() {\n    const tools = [];\n    for (const desc of this.descriptors.values()) {\n      tools.push(...generateToolDefinitions(desc));\n    }\n    return tools;\n  }\n  /**\n   * Check if a tool name belongs to a registered domain.\n   */\n  canHandle(toolName) {\n    const parsed = parseToolName(toolName);\n    if (!parsed) return false;\n    return this.descriptors.has(parsed.domain);\n  }\n  /**\n   * Handle a tool call by dispatching to the appropriate domain.\n   * Returns null if the tool name doesn't match any registered domain.\n   */\n  async handleToolCall(toolName, args) {\n    const parsed = parseToolName(toolName);\n    if (!parsed) return null;\n    const descriptor = this.descriptors.get(parsed.domain);\n    if (!descriptor) return null;\n    try {\n      const dsl = await this.getDSL(descriptor);\n      switch (parsed.operation) {\n        case \"parse\":\n          return await this.handleParse(descriptor, dsl, args);\n        case \"compile\":\n          return await this.handleCompile(descriptor, dsl, args);\n        case \"validate\":\n          return await this.handleValidate(descriptor, dsl, args);\n        case \"translate\":\n          return await this.handleTranslate(descriptor, dsl, args);\n        default:\n          return jsonResponse({ error: `Unknown operation: ${parsed.operation}` }, true);\n      }\n    } catch (error) {\n      const message = error instanceof Error ? error.message : String(error);\n      return jsonResponse({ error: `${descriptor.name} tool error: ${message}` }, true);\n    }\n  }\n  /**\n   * Get the DSL instance for a named domain.\n   * Returns null if the domain is not registered.\n   * The DSL is lazily created and cached.\n   */\n  async getDSLForDomain(name) {\n    const descriptor = this.descriptors.get(name);\n    if (!descriptor) return null;\n    return this.getDSL(descriptor);\n  }\n  // ---------------------------------------------------------------------------\n  // LLM ↔ LSE Convenience Methods\n  // ---------------------------------------------------------------------------\n  /**\n   * Generate an LLM system prompt for a domain from its schemas.\n   * Returns null if the domain is not registered or has no schemas.\n   */\n  generatePrompt(domain, config) {\n    const descriptor = this.descriptors.get(domain);\n    if (!descriptor?.schemas || descriptor.schemas.length === 0) return null;\n    return generatePrompt({\n      domain,\n      description: descriptor.description,\n      schemas: descriptor.schemas,\n      ...config\n    });\n  }\n  /**\n   * Synthesize training data for a domain from its schemas.\n   * Returns null if the domain is not registered or has no schemas.\n   */\n  generateTrainingData(domain, config) {\n    const descriptor = this.descriptors.get(domain);\n    if (!descriptor?.schemas || descriptor.schemas.length === 0) return null;\n    return synthesizeFromSchemas(descriptor.schemas, {\n      domain,\n      ...config\n    });\n  }\n  /**\n   * Build structured feedback for a failed LSE input in a domain.\n   * Returns null if the domain is not registered or has no schemas.\n   */\n  buildFeedback(domain, input, inputFormat, diagnostics) {\n    const descriptor = this.descriptors.get(domain);\n    if (!descriptor?.schemas || descriptor.schemas.length === 0) return null;\n    const schemaLookup = this.createSchemaLookup(descriptor.schemas);\n    let action;\n    try {\n      if (inputFormat === \"explicit\") {\n        const node = parseExplicit(input, { schemaLookup });\n        action = node.action;\n      }\n    } catch {\n    }\n    return buildFeedback(input, inputFormat, diagnostics, schemaLookup, action);\n  }\n  /**\n   * Get schemas for a domain (if available).\n   */\n  getSchemas(domain) {\n    const descriptor = this.descriptors.get(domain);\n    if (!descriptor?.schemas) return null;\n    return descriptor.schemas;\n  }\n  /**\n   * Create a SchemaLookup from a domain's schemas.\n   */\n  createSchemaLookup(schemas) {\n    const map = /* @__PURE__ */ new Map();\n    for (const s of schemas) {\n      map.set(s.action, s);\n    }\n    return { getSchema: (action) => map.get(action) };\n  }\n  // ---------------------------------------------------------------------------\n  // Private: DSL/renderer lifecycle\n  // ---------------------------------------------------------------------------\n  async getDSL(descriptor) {\n    const cached = this.dslCache.get(descriptor.name);\n    if (cached) return cached;\n    const dsl = await descriptor.getDSL();\n    this.dslCache.set(descriptor.name, dsl);\n    return dsl;\n  }\n  async getRenderer(descriptor) {\n    if (!descriptor.getRenderer) return null;\n    const cached = this.rendererCache.get(descriptor.name);\n    if (cached) return cached;\n    const renderer = await descriptor.getRenderer();\n    this.rendererCache.set(descriptor.name, renderer);\n    return renderer;\n  }\n  // ---------------------------------------------------------------------------\n  // Private: Tool handlers\n  // ---------------------------------------------------------------------------\n  async handleParse(descriptor, dsl, args) {\n    const input = getString(args, descriptor.inputLabel);\n    if (!input) return missingParam(descriptor.inputLabel);\n    const language = getString(args, \"language\", \"en\");\n    const node = dsl.parse(input, language);\n    const roles = {};\n    for (const [key, value] of node.roles) {\n      roles[key] = value;\n    }\n    return jsonResponse({\n      action: node.action,\n      roles,\n      language,\n      [descriptor.inputLabel]: input\n    });\n  }\n  async handleCompile(descriptor, dsl, args) {\n    const input = getString(args, descriptor.inputLabel);\n    if (!input) return missingParam(descriptor.inputLabel);\n    const language = getString(args, \"language\", \"en\");\n    const result = dsl.compile(input, language);\n    return jsonResponse({\n      ok: result.ok,\n      code: result.code,\n      errors: result.errors,\n      language,\n      input\n    });\n  }\n  async handleValidate(descriptor, dsl, args) {\n    const input = getString(args, descriptor.inputLabel);\n    if (!input) return missingParam(descriptor.inputLabel);\n    const language = getString(args, \"language\", \"en\");\n    const result = dsl.validate(input, language);\n    return jsonResponse({\n      valid: result.valid,\n      errors: result.errors,\n      language,\n      [descriptor.inputLabel]: input\n    });\n  }\n  async handleTranslate(descriptor, dsl, args) {\n    const input = getString(args, descriptor.inputLabel);\n    if (!input) return missingParam(descriptor.inputLabel);\n    const from = getString(args, \"from\");\n    if (!from) return missingParam(\"from\");\n    const to = getString(args, \"to\");\n    if (!to) return missingParam(\"to\");\n    const node = dsl.parse(input, from);\n    const compiled = dsl.compile(input, from);\n    let rendered = null;\n    const renderer = await this.getRenderer(descriptor);\n    if (renderer) {\n      try {\n        rendered = typeof renderer === \"function\" ? renderer(node, to) : renderer.render(node, to);\n      } catch {\n      }\n    }\n    const roles = {};\n    for (const [key, value] of node.roles) {\n      roles[key] = value;\n    }\n    return jsonResponse({\n      input: { [descriptor.inputLabel]: input, language: from },\n      ...rendered != null && { rendered: { text: rendered, language: to } },\n      semantic: { action: node.action, roles },\n      ...compiled.ok && compiled.code != null && { compiled: compiled.code }\n    });\n  }\n};\nfunction generateToolDefinitions(desc) {\n  const tools = [];\n  const ops = desc.tools ?? [\"parse\", \"compile\", \"validate\", \"translate\"];\n  const langList = desc.languages.join(\", \");\n  for (const op of ops) {\n    switch (op) {\n      case \"parse\":\n        tools.push({\n          name: `parse_${desc.name}`,\n          description: `Parse a ${desc.description} input into a semantic representation (action, roles, confidence). Supports: ${langList}.`,\n          inputSchema: {\n            type: \"object\",\n            properties: {\n              [desc.inputLabel]: {\n                type: \"string\",\n                description: desc.inputDescription\n              },\n              language: {\n                type: \"string\",\n                description: `Language code: ${langList}`,\n                default: \"en\"\n              }\n            },\n            required: [desc.inputLabel]\n          }\n        });\n        break;\n      case \"compile\":\n        tools.push({\n          name: `compile_${desc.name}`,\n          description: `Compile a ${desc.description} input to ${desc.outputDescription ?? \"target code\"}. Supports: ${langList}.`,\n          inputSchema: {\n            type: \"object\",\n            properties: {\n              [desc.inputLabel]: {\n                type: \"string\",\n                description: desc.inputDescription\n              },\n              language: {\n                type: \"string\",\n                description: `Language code: ${langList}`,\n                default: \"en\"\n              }\n            },\n            required: [desc.inputLabel]\n          }\n        });\n        break;\n      case \"validate\":\n        tools.push({\n          name: `validate_${desc.name}`,\n          description: `Check ${desc.description} syntax for errors. Returns {valid, errors[]}. Supports: ${langList}.`,\n          inputSchema: {\n            type: \"object\",\n            properties: {\n              [desc.inputLabel]: {\n                type: \"string\",\n                description: `${desc.inputDescription} to validate`\n              },\n              language: {\n                type: \"string\",\n                description: `Language code: ${langList}`,\n                default: \"en\"\n              }\n            },\n            required: [desc.inputLabel]\n          }\n        });\n        break;\n      case \"translate\":\n        tools.push({\n          name: `translate_${desc.name}`,\n          description: `Translate ${desc.description} input between natural languages (requires 'from' and 'to' codes). Supports: ${langList}.`,\n          inputSchema: {\n            type: \"object\",\n            properties: {\n              [desc.inputLabel]: {\n                type: \"string\",\n                description: `${desc.inputDescription} to translate`\n              },\n              from: {\n                type: \"string\",\n                description: `Source language code: ${langList}`\n              },\n              to: {\n                type: \"string\",\n                description: `Target language code: ${langList}`\n              }\n            },\n            required: [desc.inputLabel, \"from\", \"to\"]\n          }\n        });\n        break;\n    }\n  }\n  return tools;\n}\nfunction parseToolName(name) {\n  const match = name.match(/^(parse|compile|validate|translate)_(.+)$/);\n  if (!match) return null;\n  return { operation: match[1], domain: match[2] };\n}\nfunction getString(args, name, defaultValue = \"\") {\n  const value = args[name];\n  return typeof value === \"string\" ? value : defaultValue;\n}\nfunction jsonResponse(data, isError) {\n  return {\n    content: [{ type: \"text\", text: JSON.stringify(data, null, 2) }],\n    ...isError && { isError: true }\n  };\n}\nfunction missingParam(param) {\n  return jsonResponse({ error: `Missing required parameter: ${param}` }, true);\n}\n\n// src/api/dispatcher.ts\nvar COMMENT_PATTERN = /^\\s*(\\/\\/|--|#)/;\nfunction isSkippableLine(line) {\n  const trimmed = line.trim();\n  return trimmed === \"\" || COMMENT_PATTERN.test(trimmed);\n}\nvar CrossDomainDispatcher = class {\n  constructor(registry, options) {\n    this.registry = registry;\n    this.minConfidence = options?.minConfidence ?? 0.5;\n    this.priority = options?.priority ?? [];\n  }\n  /**\n   * Auto-detect which domain handles the input.\n   * Tries all registered domains and returns the highest-confidence match.\n   * Returns null if no domain matches above minConfidence.\n   */\n  async detect(input, language = \"en\") {\n    const domainNames = this.registry.getDomainNames();\n    if (domainNames.length === 0) return null;\n    const candidates = [];\n    for (const name of domainNames) {\n      try {\n        const dsl = await this.registry.getDSLForDomain(name);\n        if (!dsl) continue;\n        const { node, confidence } = dsl.parseWithConfidence(input, language);\n        if (confidence >= this.minConfidence) {\n          candidates.push({ domain: name, node, confidence, dsl });\n        }\n      } catch {\n      }\n    }\n    if (candidates.length === 0) return null;\n    if (this.priority.length > 0) {\n      candidates.sort((a, b) => {\n        const pa = this.getPriorityIndex(a.domain);\n        const pb = this.getPriorityIndex(b.domain);\n        if (pa !== pb) return pa - pb;\n        return b.confidence - a.confidence;\n      });\n    } else {\n      candidates.sort((a, b) => b.confidence - a.confidence);\n    }\n    return candidates[0];\n  }\n  /**\n   * Parse multi-line input where each line may belong to a different domain.\n   * Empty lines and comment lines (starting with //, --, or #) are skipped.\n   */\n  async parseComposite(input, language = \"en\") {\n    const lines = input.split(\"\\n\");\n    const statements = [];\n    const errors = [];\n    for (let i = 0; i < lines.length; i++) {\n      const line = lines[i];\n      if (isSkippableLine(line)) continue;\n      const trimmed = line.trim();\n      const result = await this.detect(trimmed, language);\n      if (result) {\n        statements.push({\n          line: i + 1,\n          input: trimmed,\n          domain: result.domain,\n          node: result.node,\n          confidence: result.confidence\n        });\n      } else {\n        errors.push({\n          line: i + 1,\n          input: trimmed,\n          message: \"No domain matched this input\"\n        });\n      }\n    }\n    return { statements, errors };\n  }\n  /**\n   * Compile input using auto-detected domain.\n   * Returns the compilation result with the domain name.\n   */\n  async compile(input, language = \"en\") {\n    const detected = await this.detect(input, language);\n    if (!detected) return null;\n    const result = detected.dsl.compile(input, language);\n    return { ...result, domain: detected.domain };\n  }\n  /**\n   * Compile multi-line input where each line may belong to a different domain.\n   * Detects the domain for each line and compiles it, returning per-line results.\n   * Empty lines and comment lines are skipped.\n   */\n  async compileComposite(input, language = \"en\") {\n    const lines = input.split(\"\\n\");\n    const statements = [];\n    const errors = [];\n    for (let i = 0; i < lines.length; i++) {\n      const line = lines[i];\n      if (isSkippableLine(line)) continue;\n      const trimmed = line.trim();\n      const detected = await this.detect(trimmed, language);\n      if (detected) {\n        const result = detected.dsl.compile(trimmed, language);\n        statements.push({\n          line: i + 1,\n          input: trimmed,\n          domain: detected.domain,\n          ok: result.ok,\n          code: result.code,\n          errors: result.errors\n        });\n      } else {\n        errors.push({\n          line: i + 1,\n          input: trimmed,\n          message: \"No domain matched this input\"\n        });\n      }\n    }\n    return { statements, errors };\n  }\n  /**\n   * Validate input against all domains, returning the best match.\n   */\n  async validate(input, language = \"en\") {\n    const detected = await this.detect(input, language);\n    if (!detected) {\n      return { valid: false, errors: [\"No domain matched this input\"] };\n    }\n    const result = detected.dsl.validate(input, language);\n    return { ...result, domain: detected.domain };\n  }\n  // ---------------------------------------------------------------------------\n  // Private\n  // ---------------------------------------------------------------------------\n  getPriorityIndex(domain) {\n    const idx = this.priority.indexOf(domain);\n    return idx === -1 ? this.priority.length : idx;\n  }\n};\n\n// src/aot/domain-scanner.ts\nfunction buildAttributePatterns(attributes) {\n  const patterns = [];\n  for (const attr of attributes) {\n    const escaped = attr.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n    patterns.push(new RegExp(`${escaped}\\\\s*=\\\\s*\"([^\"]+)\"`, \"g\"));\n    patterns.push(new RegExp(`${escaped}\\\\s*=\\\\s*'([^']+)'`, \"g\"));\n    patterns.push(new RegExp(`${escaped}\\\\s*=\\\\s*\\`([^\\`]+)\\``, \"g\"));\n  }\n  return patterns;\n}\nfunction buildScriptPatterns(scriptTypes) {\n  return scriptTypes.map((type) => {\n    const escaped = type.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n    return new RegExp(`<script[^>]*type=[\"']?${escaped}[\"']?[^>]*>([\\\\s\\\\S]*?)<\\\\/script>`, \"gi\");\n  });\n}\nfunction getLineNumber(source, position) {\n  let line = 1;\n  for (let i = 0; i < position && i < source.length; i++) {\n    if (source[i] === \"\\n\") line++;\n  }\n  return line;\n}\nfunction extractElementId(source, matchIndex) {\n  const before = source.lastIndexOf(\"<\", matchIndex);\n  if (before === -1) return void 0;\n  const tagChunk = source.slice(before, matchIndex + 200);\n  const idMatch = tagChunk.match(/\\bid=[\"']([^\"']+)[\"']/);\n  return idMatch?.[1];\n}\nfunction extractLangAttribute(source, matchIndex) {\n  const before = source.lastIndexOf(\"<\", matchIndex);\n  if (before === -1) return void 0;\n  const tagChunk = source.slice(before, matchIndex + 200);\n  const langMatch = tagChunk.match(/\\blang=[\"']([^\"']+)[\"']/);\n  return langMatch?.[1];\n}\nvar DomainAwareScanner = class {\n  constructor(configs) {\n    this.configs = configs;\n  }\n  /**\n   * Extract all domain snippets from an HTML source string.\n   */\n  extract(source, filename) {\n    const snippets = [];\n    for (const config of this.configs) {\n      const defaultLang = config.defaultLanguage ?? \"en\";\n      const attrPatterns = buildAttributePatterns(config.attributes);\n      for (const pattern of attrPatterns) {\n        pattern.lastIndex = 0;\n        let match;\n        while (match = pattern.exec(source)) {\n          const code = match[1].trim();\n          if (!code) continue;\n          const line = getLineNumber(source, match.index);\n          const elementId = extractElementId(source, match.index);\n          const langAttr = extractLangAttribute(source, match.index);\n          snippets.push({\n            domain: config.domain,\n            code,\n            language: langAttr ?? defaultLang,\n            file: filename,\n            line,\n            column: 1,\n            ...elementId != null && { elementId }\n          });\n        }\n      }\n      if (config.scriptTypes) {\n        const scriptPatterns = buildScriptPatterns(config.scriptTypes);\n        for (const pattern of scriptPatterns) {\n          pattern.lastIndex = 0;\n          let match;\n          while (match = pattern.exec(source)) {\n            const code = match[1].trim();\n            if (!code) continue;\n            const line = getLineNumber(source, match.index);\n            snippets.push({\n              domain: config.domain,\n              code,\n              language: defaultLang,\n              file: filename,\n              line,\n              column: 1\n            });\n          }\n        }\n      }\n    }\n    return snippets;\n  }\n  /**\n   * Extract snippets from multiple files.\n   */\n  async extractFromFiles(files, readFile) {\n    const allSnippets = [];\n    for (const file of files) {\n      try {\n        const source = await readFile(file);\n        const snippets = this.extract(source, file);\n        allSnippets.push(...snippets);\n      } catch {\n      }\n    }\n    return allSnippets;\n  }\n};\n\n// src/aot/aot-orchestrator.ts\nvar AOTOrchestrator = class {\n  constructor(options) {\n    this.backends = /* @__PURE__ */ new Map();\n    this.options = {\n      confidenceThreshold: options?.confidenceThreshold ?? 0.7,\n      continueOnError: options?.continueOnError ?? true,\n      debug: options?.debug ?? false\n    };\n  }\n  /**\n   * Register a domain compilation backend.\n   * @throws if a backend with the same domain name is already registered\n   */\n  registerBackend(backend) {\n    if (this.backends.has(backend.domain)) {\n      throw new Error(`Backend already registered for domain: ${backend.domain}`);\n    }\n    this.backends.set(backend.domain, backend);\n  }\n  /**\n   * Scan source files and compile all domain snippets.\n   */\n  async compileFiles(files, readFile) {\n    const configs = Array.from(this.backends.values()).map((b) => b.scanConfig);\n    const scanner = new DomainAwareScanner(configs);\n    const snippets = await scanner.extractFromFiles(files, readFile);\n    if (this.options.debug) {\n      console.log(`[aot] Extracted ${snippets.length} snippets from ${files.length} files`);\n    }\n    const compiled = [];\n    const errors = [];\n    const domainBreakdown = {};\n    for (const snippet of snippets) {\n      domainBreakdown[snippet.domain] = (domainBreakdown[snippet.domain] ?? 0) + 1;\n      const result = this.compileSnippet(snippet);\n      if (\"error\" in result) {\n        errors.push({\n          domain: snippet.domain,\n          source: snippet.code,\n          file: snippet.file,\n          line: snippet.line,\n          message: result.error\n        });\n        if (!this.options.continueOnError) break;\n      } else {\n        compiled.push(result);\n      }\n    }\n    return {\n      compiled,\n      errors,\n      stats: {\n        totalSnippets: snippets.length,\n        compiledCount: compiled.length,\n        errorCount: errors.length,\n        domainBreakdown\n      }\n    };\n  }\n  /**\n   * Compile a single extracted snippet.\n   * Returns the compiled result or an error object.\n   */\n  compileSnippet(snippet) {\n    const backend = this.backends.get(snippet.domain);\n    if (!backend) {\n      return { error: `No backend registered for domain: ${snippet.domain}` };\n    }\n    try {\n      const result = backend.dsl.compile(snippet.code, snippet.language);\n      if (!result.ok || !result.code) {\n        return { error: result.errors?.join(\"; \") ?? \"Compilation failed\" };\n      }\n      return {\n        domain: snippet.domain,\n        source: snippet.code,\n        compiled: result.code,\n        language: snippet.language,\n        file: snippet.file,\n        line: snippet.line\n      };\n    } catch (err) {\n      return { error: err instanceof Error ? err.message : String(err) };\n    }\n  }\n  /**\n   * Generate combined output from compilation results.\n   */\n  generateOutput(result, options) {\n    const format = options?.format ?? \"esm\";\n    const includeComments = options?.includeComments ?? true;\n    const groupByDomain = options?.groupByDomain ?? true;\n    const sections = [];\n    if (includeComments) {\n      sections.push(`// Generated by @lokascript/framework AOT compiler`);\n      sections.push(\n        `// ${result.stats.compiledCount} snippets compiled, ${result.stats.errorCount} errors`\n      );\n      sections.push(\"\");\n    }\n    if (groupByDomain) {\n      const grouped = /* @__PURE__ */ new Map();\n      for (const snippet of result.compiled) {\n        const list = grouped.get(snippet.domain) ?? [];\n        list.push(snippet);\n        grouped.set(snippet.domain, list);\n      }\n      for (const [domain, snippets] of grouped) {\n        if (includeComments) {\n          sections.push(`// === Domain: ${domain} ===`);\n          sections.push(\"\");\n        }\n        for (const snippet of snippets) {\n          if (includeComments) {\n            sections.push(`// Source: ${snippet.file}:${snippet.line}`);\n            sections.push(`// Language: ${snippet.language}`);\n          }\n          sections.push(snippet.compiled);\n          sections.push(\"\");\n        }\n      }\n    } else {\n      for (const snippet of result.compiled) {\n        if (includeComments) {\n          sections.push(`// [${snippet.domain}] ${snippet.file}:${snippet.line}`);\n        }\n        sections.push(snippet.compiled);\n        sections.push(\"\");\n      }\n    }\n    const body = sections.join(\"\\n\").trimEnd();\n    switch (format) {\n      case \"cjs\":\n        return `'use strict';\n\n${body}\n`;\n      case \"iife\":\n        return `(function() {\n${body}\n})();\n`;\n      case \"esm\":\n      default:\n        return `${body}\n`;\n    }\n  }\n};\n\n// src/aot/registry-bridge.ts\nasync function registryToAOTBackends(registry) {\n  const backends = [];\n  for (const name of registry.getDomainNames()) {\n    const descriptor = registry.getDescriptor(name);\n    if (!descriptor?.scanConfig) continue;\n    const dsl = await registry.getDSLForDomain(name);\n    if (!dsl) continue;\n    const scanConfig = {\n      domain: name,\n      attributes: [...descriptor.scanConfig.attributes],\n      ...descriptor.scanConfig.scriptTypes ? { scriptTypes: [...descriptor.scanConfig.scriptTypes] } : {},\n      defaultLanguage: descriptor.scanConfig.defaultLanguage ?? \"en\"\n    };\n    const codeGenerator = {\n      generate(node) {\n        return JSON.stringify({ action: node.action, roles: Object.fromEntries(node.roles) });\n      }\n    };\n    backends.push({ domain: name, dsl, codeGenerator, scanConfig });\n  }\n  return backends;\n}\n\n// src/schema/command-schema.ts\nimport { defineCommand, defineRole, getRoleSpec } from \"@lokascript/intent\";\n\n// src/generation/renderer.ts\nfunction lookupKeyword(keywords, action, language) {\n  return keywords[action]?.[language] ?? action;\n}\nfunction lookupMarker(markers, marker, language) {\n  return markers[marker]?.[language] ?? marker;\n}\nfunction buildPhrase(...parts) {\n  return parts.filter(Boolean).join(\" \");\n}\nfunction buildTablesFromProfiles(schemas, profiles) {\n  const keywords = {};\n  const markers = {};\n  for (const profile of profiles) {\n    for (const [action, kw] of Object.entries(profile.keywords)) {\n      if (!keywords[action]) keywords[action] = {};\n      keywords[action][profile.code] = kw.primary;\n    }\n  }\n  for (const schema of schemas) {\n    for (const role of schema.roles) {\n      if (role.markerOverride) {\n        const markerKey = role.role;\n        if (!markers[markerKey]) markers[markerKey] = {};\n        for (const [lang, markerText] of Object.entries(role.markerOverride)) {\n          markers[markerKey][lang] = markerText;\n        }\n      }\n    }\n  }\n  for (const profile of profiles) {\n    if (profile.roleMarkers) {\n      for (const [markerKey, markerDef] of Object.entries(profile.roleMarkers)) {\n        if (!markers[markerKey]) markers[markerKey] = {};\n        markers[markerKey][profile.code] = markerDef.primary;\n      }\n    }\n  }\n  return { keywords, markers };\n}\nfunction detectWordOrders(profiles) {\n  const sovLanguages = /* @__PURE__ */ new Set();\n  const vsoLanguages = /* @__PURE__ */ new Set();\n  for (const profile of profiles) {\n    if (profile.wordOrder === \"SOV\") sovLanguages.add(profile.code);\n    if (profile.wordOrder === \"VSO\") vsoLanguages.add(profile.code);\n  }\n  return { sovLanguages, vsoLanguages };\n}\nfunction createSchemaRenderer(schemas, profiles) {\n  const { keywords, markers } = buildTablesFromProfiles(schemas, profiles);\n  const { sovLanguages } = detectWordOrders(profiles);\n  const schemaMap = /* @__PURE__ */ new Map();\n  for (const s of schemas) schemaMap.set(s.action, s);\n  return {\n    render(node, language) {\n      const schema = schemaMap.get(node.action);\n      if (!schema) return node.action;\n      const keyword = lookupKeyword(keywords, node.action, language);\n      const isSOV = sovLanguages.has(language);\n      const roleParts = [];\n      for (const role of schema.roles) {\n        const value = extractRoleValue(node, role.role);\n        if (!value && !role.required) continue;\n        const markerText = role.markerOverride?.[language] ?? markers[role.role]?.[language] ?? void 0;\n        roleParts.push({\n          ...markerText != null && { marker: markerText },\n          value: value || \"\",\n          role\n        });\n      }\n      const parts = [];\n      if (isSOV) {\n        for (const rp of roleParts) {\n          if (rp.value) parts.push(rp.value);\n          if (rp.marker) parts.push(rp.marker);\n        }\n        parts.push(keyword);\n      } else {\n        parts.push(keyword);\n        for (const rp of roleParts) {\n          if (rp.marker) parts.push(rp.marker);\n          if (rp.value) parts.push(rp.value);\n        }\n      }\n      return buildPhrase(...parts);\n    }\n  };\n}\n\n// src/generation/diagnostics.ts\nimport { createDiagnosticCollector, fromError, filterBySeverity } from \"@lokascript/intent\";\n\n// src/core/tokenization/token-utils.ts\nvar TokenStreamImpl = class {\n  constructor(tokens, language) {\n    this.pos = 0;\n    this.tokens = tokens;\n    this.language = language;\n  }\n  peek(offset = 0) {\n    const index = this.pos + offset;\n    if (index < 0 || index >= this.tokens.length) {\n      return null;\n    }\n    return this.tokens[index];\n  }\n  advance() {\n    if (this.isAtEnd()) {\n      throw new Error(\"Unexpected end of token stream\");\n    }\n    return this.tokens[this.pos++];\n  }\n  isAtEnd() {\n    return this.pos >= this.tokens.length;\n  }\n  mark() {\n    return { position: this.pos };\n  }\n  reset(mark) {\n    this.pos = mark.position;\n  }\n  position() {\n    return this.pos;\n  }\n  /**\n   * Get remaining tokens as an array.\n   */\n  remaining() {\n    return this.tokens.slice(this.pos);\n  }\n  /**\n   * Consume tokens while predicate is true.\n   */\n  takeWhile(predicate) {\n    const result = [];\n    while (!this.isAtEnd() && predicate(this.peek())) {\n      result.push(this.advance());\n    }\n    return result;\n  }\n  /**\n   * Skip tokens while predicate is true.\n   */\n  skipWhile(predicate) {\n    while (!this.isAtEnd() && predicate(this.peek())) {\n      this.advance();\n    }\n  }\n};\nfunction createPosition(start, end) {\n  return { start, end };\n}\nfunction createToken(valueOrParams, kind, position, normalizedOrOptions) {\n  if (typeof valueOrParams === \"object\") {\n    const { value: value2, kind: kind2, position: position2, normalized: normalized2, stem, stemConfidence, metadata } = valueOrParams;\n    return {\n      value: value2,\n      kind: kind2,\n      position: position2,\n      ...normalized2 !== void 0 && { normalized: normalized2 },\n      ...stem !== void 0 && { stem },\n      ...stemConfidence !== void 0 && { stemConfidence },\n      ...metadata !== void 0 && { metadata }\n    };\n  }\n  const value = valueOrParams;\n  if (!kind || !position) {\n    throw new Error(\"createToken requires kind and position parameters\");\n  }\n  if (typeof normalizedOrOptions === \"string\") {\n    return { value, kind, position, normalized: normalizedOrOptions };\n  }\n  if (normalizedOrOptions) {\n    const { normalized: normalized2, stem, stemConfidence, metadata } = normalizedOrOptions;\n    return {\n      value,\n      kind,\n      position,\n      ...normalized2 !== void 0 && { normalized: normalized2 },\n      ...stem !== void 0 && { stem },\n      ...stemConfidence !== void 0 && { stemConfidence },\n      ...metadata !== void 0 && { metadata }\n    };\n  }\n  return { value, kind, position };\n}\nfunction isWhitespace(char) {\n  return /\\s/.test(char);\n}\nfunction isSelectorStart(char) {\n  return char === \"#\" || char === \".\" || char === \"[\" || char === \"@\" || char === \"*\" || char === \"<\";\n}\nfunction isQuote(char) {\n  return char === '\"' || char === \"'\" || char === \"`\" || char === \"\\u300C\" || char === \"\\u300D\";\n}\nfunction isDigit(char) {\n  return /\\d/.test(char);\n}\nfunction isAsciiLetter(char) {\n  return /[a-zA-Z]/.test(char);\n}\nfunction isAsciiIdentifierChar(char) {\n  return /[a-zA-Z0-9_-]/.test(char);\n}\n\n// src/core/tokenization/extractors.ts\nfunction extractCssSelector(input, startPos) {\n  if (startPos >= input.length) return null;\n  const char = input[startPos];\n  if (!isSelectorStart(char)) return null;\n  let pos = startPos;\n  let selector = \"\";\n  if (char === \"#\" || char === \".\") {\n    selector += input[pos++];\n    while (pos < input.length && isAsciiIdentifierChar(input[pos])) {\n      selector += input[pos++];\n    }\n    if (selector.length <= 1) return null;\n    if (pos < input.length && input[pos] === \".\" && char === \"#\") {\n      const methodStart = pos + 1;\n      let methodEnd = methodStart;\n      while (methodEnd < input.length && isAsciiIdentifierChar(input[methodEnd])) {\n        methodEnd++;\n      }\n      if (methodEnd < input.length && input[methodEnd] === \"(\") {\n        return selector;\n      }\n    }\n  } else if (char === \"[\") {\n    let depth = 1;\n    let inQuote = false;\n    let quoteChar = null;\n    let escaped = false;\n    selector += input[pos++];\n    while (pos < input.length && depth > 0) {\n      const c = input[pos];\n      selector += c;\n      if (escaped) {\n        escaped = false;\n      } else if (c === \"\\\\\") {\n        escaped = true;\n      } else if (inQuote) {\n        if (c === quoteChar) {\n          inQuote = false;\n          quoteChar = null;\n        }\n      } else {\n        if (c === '\"' || c === \"'\" || c === \"`\") {\n          inQuote = true;\n          quoteChar = c;\n        } else if (c === \"[\") {\n          depth++;\n        } else if (c === \"]\") {\n          depth--;\n        }\n      }\n      pos++;\n    }\n    if (depth !== 0) return null;\n  } else if (char === \"@\") {\n    selector += input[pos++];\n    while (pos < input.length && isAsciiIdentifierChar(input[pos])) {\n      selector += input[pos++];\n    }\n    if (selector.length <= 1) return null;\n  } else if (char === \"*\") {\n    selector += input[pos++];\n    while (pos < input.length && isAsciiIdentifierChar(input[pos])) {\n      selector += input[pos++];\n    }\n    if (selector.length <= 1) return null;\n  } else if (char === \"<\") {\n    selector += input[pos++];\n    if (pos >= input.length || !isAsciiLetter(input[pos])) return null;\n    while (pos < input.length && isAsciiIdentifierChar(input[pos])) {\n      selector += input[pos++];\n    }\n    while (pos < input.length) {\n      const modChar = input[pos];\n      if (modChar === \".\") {\n        selector += input[pos++];\n        if (pos >= input.length || !isAsciiIdentifierChar(input[pos])) {\n          return null;\n        }\n        while (pos < input.length && isAsciiIdentifierChar(input[pos])) {\n          selector += input[pos++];\n        }\n      } else if (modChar === \"#\") {\n        selector += input[pos++];\n        if (pos >= input.length || !isAsciiIdentifierChar(input[pos])) {\n          return null;\n        }\n        while (pos < input.length && isAsciiIdentifierChar(input[pos])) {\n          selector += input[pos++];\n        }\n      } else if (modChar === \"[\") {\n        let depth = 1;\n        let inQuote = false;\n        let quoteChar = null;\n        let escaped = false;\n        selector += input[pos++];\n        while (pos < input.length && depth > 0) {\n          const c = input[pos];\n          selector += c;\n          if (escaped) {\n            escaped = false;\n          } else if (c === \"\\\\\") {\n            escaped = true;\n          } else if (inQuote) {\n            if (c === quoteChar) {\n              inQuote = false;\n              quoteChar = null;\n            }\n          } else {\n            if (c === '\"' || c === \"'\" || c === \"`\") {\n              inQuote = true;\n              quoteChar = c;\n            } else if (c === \"[\") {\n              depth++;\n            } else if (c === \"]\") {\n              depth--;\n            }\n          }\n          pos++;\n        }\n        if (depth !== 0) return null;\n      } else {\n        break;\n      }\n    }\n    while (pos < input.length && isWhitespace(input[pos])) {\n      selector += input[pos++];\n    }\n    if (pos < input.length && input[pos] === \"/\") {\n      selector += input[pos++];\n      while (pos < input.length && isWhitespace(input[pos])) {\n        selector += input[pos++];\n      }\n    }\n    if (pos >= input.length || input[pos] !== \">\") return null;\n    selector += input[pos++];\n  }\n  return selector || null;\n}\nfunction isPossessiveMarker(input, pos) {\n  if (pos >= input.length || input[pos] !== \"'\") return false;\n  if (pos + 1 >= input.length) return false;\n  const nextChar = input[pos + 1].toLowerCase();\n  if (nextChar !== \"s\") return false;\n  if (pos + 2 >= input.length) return true;\n  const afterS = input[pos + 2];\n  return isWhitespace(afterS) || afterS === \"*\" || !isAsciiIdentifierChar(afterS);\n}\nfunction extractStringLiteral(input, startPos) {\n  if (startPos >= input.length) return null;\n  const openQuote = input[startPos];\n  if (!isQuote(openQuote)) return null;\n  if (openQuote === \"'\" && isPossessiveMarker(input, startPos)) {\n    return null;\n  }\n  const closeQuoteMap = {\n    '\"': '\"',\n    \"'\": \"'\",\n    \"`\": \"`\",\n    \"\\u300C\": \"\\u300D\"\n  };\n  const closeQuote = closeQuoteMap[openQuote];\n  if (!closeQuote) return null;\n  let pos = startPos + 1;\n  let literal = openQuote;\n  let escaped = false;\n  while (pos < input.length) {\n    const char = input[pos];\n    literal += char;\n    if (escaped) {\n      escaped = false;\n    } else if (char === \"\\\\\") {\n      escaped = true;\n    } else if (char === closeQuote) {\n      return literal;\n    }\n    pos++;\n  }\n  return literal;\n}\nfunction isUrlStart(input, pos) {\n  if (pos >= input.length) return false;\n  const char = input[pos];\n  const next = input[pos + 1] || \"\";\n  const third = input[pos + 2] || \"\";\n  if (char === \"/\" && next !== \"/\" && /[a-zA-Z0-9._-]/.test(next)) {\n    return true;\n  }\n  if (char === \"/\" && next === \"/\" && /[a-zA-Z]/.test(third)) {\n    return true;\n  }\n  if (char === \".\" && (next === \"/\" || next === \".\" && third === \"/\")) {\n    return true;\n  }\n  const slice = input.slice(pos, pos + 8).toLowerCase();\n  if (slice.startsWith(\"http://\") || slice.startsWith(\"https://\")) {\n    return true;\n  }\n  return false;\n}\nfunction extractUrl(input, startPos) {\n  if (!isUrlStart(input, startPos)) return null;\n  let pos = startPos;\n  let url = \"\";\n  const urlChars = /[a-zA-Z0-9/:._\\-?&=%@+~!$'()*,;[\\]]/;\n  while (pos < input.length) {\n    const char = input[pos];\n    if (char === \"#\") {\n      if (url.length > 0 && /[a-zA-Z0-9/.]$/.test(url)) {\n        url += char;\n        pos++;\n        while (pos < input.length && /[a-zA-Z0-9_-]/.test(input[pos])) {\n          url += input[pos++];\n        }\n      }\n      break;\n    }\n    if (urlChars.test(char)) {\n      url += char;\n      pos++;\n    } else {\n      break;\n    }\n  }\n  if (url.length < 2) return null;\n  return url;\n}\nfunction extractNumber(input, startPos) {\n  if (startPos >= input.length) return null;\n  const char = input[startPos];\n  if (!isDigit(char) && char !== \"-\" && char !== \"+\") return null;\n  let pos = startPos;\n  let number = \"\";\n  if (input[pos] === \"-\" || input[pos] === \"+\") {\n    number += input[pos++];\n  }\n  if (pos >= input.length || !isDigit(input[pos])) {\n    return null;\n  }\n  while (pos < input.length && isDigit(input[pos])) {\n    number += input[pos++];\n  }\n  if (pos < input.length && input[pos] === \".\") {\n    number += input[pos++];\n    while (pos < input.length && isDigit(input[pos])) {\n      number += input[pos++];\n    }\n  }\n  if (pos < input.length) {\n    const suffix = input.slice(pos, pos + 2);\n    if (suffix === \"ms\") {\n      number += \"ms\";\n    } else if (input[pos] === \"s\" || input[pos] === \"m\" || input[pos] === \"h\") {\n      number += input[pos];\n    }\n  }\n  return number;\n}\n\n// src/core/tokenization/extractors/operator.ts\nvar DEFAULT_OPERATORS = [\n  // Three-character operators\n  \"===\",\n  \"!==\",\n  \"->\",\n  // Two-character operators\n  \"==\",\n  \"!=\",\n  \"<=\",\n  \">=\",\n  \"&&\",\n  \"||\",\n  \"**\",\n  \"+=\",\n  \"-=\",\n  \"*=\",\n  \"/=\",\n  // Single-character operators\n  \"+\",\n  \"-\",\n  \"*\",\n  \"/\",\n  \"=\",\n  \">\",\n  \"<\",\n  \"!\",\n  \"&\",\n  \"|\",\n  \"%\",\n  \"^\",\n  \"~\"\n];\nvar OperatorExtractor = class {\n  constructor(operators = DEFAULT_OPERATORS) {\n    this.operators = operators;\n    this.name = \"operator\";\n    this.operators = [...operators].sort((a, b) => b.length - a.length);\n  }\n  canExtract(input, position) {\n    return this.operators.some((op) => input.startsWith(op, position));\n  }\n  extract(input, position) {\n    for (const op of this.operators) {\n      if (input.startsWith(op, position)) {\n        return {\n          value: op,\n          length: op.length\n        };\n      }\n    }\n    return null;\n  }\n};\n\n// src/core/tokenization/extractors/punctuation.ts\nvar DEFAULT_PUNCTUATION = \"()[]{},:;\";\nvar PunctuationExtractor = class {\n  constructor(punctuation = DEFAULT_PUNCTUATION) {\n    this.punctuation = punctuation;\n    this.name = \"punctuation\";\n  }\n  canExtract(input, position) {\n    return this.punctuation.includes(input[position]);\n  }\n  extract(input, position) {\n    const char = input[position];\n    if (this.punctuation.includes(char)) {\n      return {\n        value: char,\n        length: 1\n      };\n    }\n    return null;\n  }\n};\n\n// src/core/tokenization/default-extractors.ts\nfunction getDefaultExtractors() {\n  return [\n    new StringLiteralExtractor(),\n    // \"strings\", 'strings', `strings`\n    new NumberExtractor(),\n    // 123, 45.67\n    new OperatorExtractor(),\n    // +, -, *, /, =, >, <, etc.\n    new PunctuationExtractor(),\n    // ( ) [ ] { } , : ;\n    new IdentifierExtractor(),\n    // variable_names, functionNames (ASCII)\n    new UnicodeIdentifierExtractor()\n    // CJK, Arabic, Cyrillic, etc.\n  ];\n}\nfunction withDefaultExtractors(tokenizer) {\n  tokenizer.registerExtractors(getDefaultExtractors());\n  return tokenizer;\n}\n\n// src/core/tokenization/base-tokenizer.ts\nvar SIMPLE_TOKENIZER_OPERATOR_SET = new Set(DEFAULT_OPERATORS);\nvar MARKER_CONCEPT_NORMALIZEDS = /* @__PURE__ */ new Set([\n  // Role-marker role names (profile.roleMarkers normalizeds)\n  \"patient\",\n  \"destination\",\n  \"source\",\n  \"style\",\n  \"event\",\n  \"eventMarker\",\n  \"agent\",\n  \"goal\",\n  \"manner\",\n  // Prepositional / positional modifier concepts matched via the role mechanism\n  // (profile.keywords \"Modifiers\"). `before`/`after`/`until` are intentionally\n  // NOT here — they are pattern literals (see the note above).\n  \"into\",\n  \"from\",\n  \"to\",\n  \"with\",\n  \"at\",\n  \"of\",\n  \"as\",\n  \"by\",\n  \"in\",\n  \"on\",\n  \"over\",\n  \"under\",\n  \"between\",\n  \"through\",\n  \"without\"\n]);\nvar ENGLISH_DOM_EVENT_NAMES = [\n  \"click\",\n  \"dblclick\",\n  \"input\",\n  \"change\",\n  \"submit\",\n  \"keydown\",\n  \"keyup\",\n  \"keypress\",\n  \"mousedown\",\n  \"mouseup\",\n  \"mouseover\",\n  \"mouseout\",\n  \"mouseenter\",\n  \"mouseleave\",\n  \"mousemove\",\n  \"pointerdown\",\n  \"pointerup\",\n  \"pointermove\",\n  \"focus\",\n  \"blur\",\n  \"load\",\n  \"resize\",\n  \"scroll\"\n];\nvar _BaseTokenizer = class _BaseTokenizer {\n  constructor() {\n    /** Keywords derived from profile, sorted longest-first for greedy matching */\n    this.profileKeywords = [];\n    /**\n     * Space-containing profile keywords (multi-word phrases), longest-first.\n     * Used by `tryMultiWordKeyword` so natural spaced forms (hi `मेल खाता`,\n     * vi `chuyển đổi`, es `tecla abajo`, …) tokenize as ONE keyword — the\n     * profile-driven replacement for the per-language hardcoded compound lists.\n     * Empty for no-space (CJK) languages, so they are unaffected.\n     */\n    this.multiWordKeywords = [];\n    /** Map for O(1) keyword lookups by lowercase native word */\n    this.profileKeywordMap = /* @__PURE__ */ new Map();\n    /**\n     * The raw EXTRAS list passed to initializeKeywordsFromProfile, kept pre-dedup.\n     * The keyword map is keyed by native word with last-wins insertion, so a\n     * duplicate native word inside the extras silently shadows the earlier entry\n     * (e.g. a `nächste→closest` entry shadowing `nächste→next` broke German\n     * positional expressions). Exposed so consistency tests can detect such\n     * intra-extras collisions, which are invisible in the deduplicated map.\n     */\n    this.rawExtraEntries = [];\n    /**\n     * Pluggable value extractors for domain-specific syntax.\n     * When registered, BaseTokenizer will use extractor-based tokenization instead of legacy methods.\n     */\n    this.extractors = [];\n  }\n  /** Raw extras as passed in, pre-dedup — for consistency tests. */\n  getExtraKeywordEntries() {\n    return this.rawExtraEntries;\n  }\n  /**\n   * Tokenize input string to token stream.\n   * Delegates to extractor-based tokenization if extractors are registered,\n   * otherwise subclass must override this method.\n   *\n   * @param input - Input string to tokenize\n   * @returns Token stream\n   */\n  tokenize(input) {\n    if (this.isUsingExtractors()) {\n      return this.tokenizeWithExtractors(input);\n    }\n    throw new Error(\n      `${this.constructor.name}: tokenize() not implemented and no extractors registered. Either register extractors or override tokenize() method.`\n    );\n  }\n  /**\n   * Register a value extractor for domain-specific syntax.\n   * Extractors are tried in registration order during tokenization.\n   * Context-aware extractors automatically receive the tokenizer context.\n   *\n   * @param extractor - Value extractor to register\n   */\n  registerExtractor(extractor) {\n    if (isContextAwareExtractor(extractor)) {\n      extractor.setContext(createTokenizerContext(this));\n    }\n    this.extractors.push(extractor);\n  }\n  /**\n   * Register multiple value extractors at once.\n   *\n   * @param extractors - Array of value extractors to register\n   */\n  registerExtractors(extractors) {\n    for (const extractor of extractors) {\n      this.registerExtractor(extractor);\n    }\n  }\n  /**\n   * Clear all registered extractors.\n   * Returns tokenizer to legacy mode.\n   */\n  clearExtractors() {\n    this.extractors = [];\n  }\n  /**\n   * Check if this tokenizer is using extractor-based tokenization.\n   * Returns true if any extractors are registered.\n   */\n  isUsingExtractors() {\n    return this.extractors.length > 0;\n  }\n  /**\n   * Tokenize input using registered value extractors.\n   * This is the new path - extractors handle all syntax detection.\n   *\n   * @param input - Input string to tokenize\n   * @returns Token stream\n   */\n  tokenizeWithExtractors(input) {\n    const tokens = [];\n    let pos = 0;\n    while (pos < input.length) {\n      while (pos < input.length && isWhitespace(input[pos])) {\n        pos++;\n      }\n      if (pos >= input.length) break;\n      const multiWord = this.tryMultiWordKeyword(input, pos);\n      if (multiWord) {\n        tokens.push(multiWord);\n        pos = multiWord.position.end;\n        continue;\n      }\n      let extracted = false;\n      for (const extractor of this.extractors) {\n        if (extractor.canExtract(input, pos)) {\n          const result = extractor.extract(input, pos);\n          if (result) {\n            const normalized2 = result.metadata?.normalized;\n            const stem = result.metadata?.stem;\n            const stemConfidence = result.metadata?.stemConfidence;\n            const cleanMetadata = {};\n            if (result.metadata) {\n              for (const [key, value] of Object.entries(result.metadata)) {\n                if (key !== \"normalized\" && key !== \"stem\" && key !== \"stemConfidence\") {\n                  cleanMetadata[key] = value;\n                }\n              }\n            }\n            const options = {};\n            if (normalized2) options.normalized = normalized2;\n            if (stem) options.stem = stem;\n            if (stemConfidence !== void 0) options.stemConfidence = stemConfidence;\n            if (Object.keys(cleanMetadata).length > 0) options.metadata = cleanMetadata;\n            tokens.push(\n              createToken(\n                result.value,\n                this.classifyToken(result.value),\n                createPosition(pos, pos + result.length),\n                Object.keys(options).length > 0 ? options : void 0\n              )\n            );\n            pos += result.length;\n            extracted = true;\n            break;\n          }\n        }\n      }\n      if (!extracted) {\n        const char = input[pos];\n        const kind = this.classifyUnknownChar(char);\n        tokens.push(createToken(char, kind, createPosition(pos, pos + 1)));\n        pos++;\n      }\n    }\n    return new TokenStreamImpl(tokens, this.language);\n  }\n  /**\n   * Classify an unknown character when no extractor matches.\n   * Provides sensible defaults for common syntax.\n   *\n   * @param char - Character to classify\n   * @returns Token kind\n   */\n  classifyUnknownChar(char) {\n    if (\"()[]{},:;\".includes(char)) return \"punctuation\";\n    if (\"+-*/<>=!&|\".includes(char)) return \"operator\";\n    return \"identifier\";\n  }\n  /**\n   * Check if current position is a property access (obj.prop) vs CSS selector (.active).\n   * Property access: no whitespace before '.', previous token is identifier/keyword/selector.\n   * Also detects standalone method calls: .identifier( pattern.\n   *\n   * Returns true if '.' was emitted as an operator token and pos should advance by 1.\n   * Returns false if this is a CSS selector and should be handled by trySelector().\n   */\n  tryPropertyAccess(input, pos, tokens) {\n    if (input[pos] !== \".\") return false;\n    const lastToken = tokens[tokens.length - 1];\n    const hasWhitespaceBefore = lastToken && lastToken.position.end < pos;\n    const isPropertyAccess = lastToken && !hasWhitespaceBefore && (lastToken.kind === \"identifier\" || lastToken.kind === \"keyword\" || lastToken.kind === \"selector\");\n    if (isPropertyAccess) {\n      tokens.push(createToken(\".\", \"operator\", createPosition(pos, pos + 1)));\n      return true;\n    }\n    const methodStart = pos + 1;\n    let methodEnd = methodStart;\n    while (methodEnd < input.length && isAsciiIdentifierChar(input[methodEnd])) {\n      methodEnd++;\n    }\n    if (methodEnd < input.length && input[methodEnd] === \"(\") {\n      tokens.push(createToken(\".\", \"operator\", createPosition(pos, pos + 1)));\n      return true;\n    }\n    return false;\n  }\n  /**\n   * Initialize keyword mappings from a language profile.\n   * Builds a list of native→english mappings from:\n   * - profile.keywords (primary + alternatives)\n   * - profile.references (me, it, you, etc.)\n   * - profile.roleMarkers (into, from, with, etc.)\n   *\n   * Results are sorted longest-first for greedy matching (important for non-space languages).\n   * Extras take precedence over profile entries when there are duplicates.\n   *\n   * @param profile - Language profile containing keyword translations\n   * @param extras - Additional keyword entries to include (literals, positional, events)\n   */\n  initializeKeywordsFromProfile(profile, extras = []) {\n    const keywordMap = /* @__PURE__ */ new Map();\n    this.rawExtraEntries = extras;\n    if (profile.keywords) {\n      for (const [normalized2, translation] of Object.entries(profile.keywords)) {\n        keywordMap.set(translation.primary, {\n          native: translation.primary,\n          normalized: translation.normalized || normalized2\n        });\n        if (translation.alternatives) {\n          for (const alt of translation.alternatives) {\n            keywordMap.set(alt, {\n              native: alt,\n              normalized: translation.normalized || normalized2\n            });\n          }\n        }\n      }\n    }\n    if (profile.references) {\n      for (const [normalized2, native] of Object.entries(profile.references)) {\n        keywordMap.set(native, { native, normalized: normalized2 });\n      }\n      for (const canonical of Object.keys(profile.references)) {\n        if (!keywordMap.has(canonical)) {\n          keywordMap.set(canonical, { native: canonical, normalized: canonical });\n        }\n      }\n    }\n    if (profile.roleMarkers) {\n      for (const [role, marker] of Object.entries(profile.roleMarkers)) {\n        if (marker.primary) {\n          keywordMap.set(marker.primary, { native: marker.primary, normalized: role });\n        }\n        if (marker.alternatives) {\n          for (const alt of marker.alternatives) {\n            keywordMap.set(alt, { native: alt, normalized: role });\n          }\n        }\n      }\n    }\n    if (profile.possessive?.keywords) {\n      for (const [native, normalized2] of Object.entries(profile.possessive.keywords)) {\n        keywordMap.set(native, { native, normalized: normalized2 });\n      }\n    }\n    for (const evt of ENGLISH_DOM_EVENT_NAMES) {\n      if (!keywordMap.has(evt)) {\n        keywordMap.set(evt, { native: evt, normalized: evt });\n      }\n    }\n    for (const extra of extras) {\n      keywordMap.set(extra.native, extra);\n    }\n    this.profileKeywords = Array.from(keywordMap.values()).sort(\n      (a, b) => b.native.length - a.native.length\n    );\n    this.multiWordKeywords = this.profileKeywords.filter(\n      (k) => k.native.includes(\" \") && !MARKER_CONCEPT_NORMALIZEDS.has(k.normalized)\n    );\n    this.profileKeywordMap = /* @__PURE__ */ new Map();\n    for (const keyword of this.profileKeywords) {\n      this.profileKeywordMap.set(keyword.native.toLowerCase(), keyword);\n      const normalized2 = this.removeDiacritics(keyword.native);\n      if (normalized2 !== keyword.native && !this.profileKeywordMap.has(normalized2.toLowerCase())) {\n        this.profileKeywordMap.set(normalized2.toLowerCase(), keyword);\n      }\n    }\n  }\n  /**\n   * Remove diacritical marks from a word for normalization.\n   * Primarily for Arabic (shadda, fatha, kasra, damma, sukun, etc.)\n   * but could be extended for other languages.\n   *\n   * @param word - Word to normalize\n   * @returns Word without diacritics\n   */\n  removeDiacritics(word) {\n    return word.replace(/[\\u064B-\\u0652\\u0670]/g, \"\");\n  }\n  /**\n   * Try to match a keyword from profile at the current position.\n   * Uses longest-first greedy matching (important for non-space languages).\n   *\n   * @param input - Input string\n   * @param pos - Current position\n   * @returns Token if matched, null otherwise\n   */\n  tryProfileKeyword(input, pos) {\n    for (const entry of this.profileKeywords) {\n      if (input.slice(pos).startsWith(entry.native)) {\n        return createToken(\n          entry.native,\n          \"keyword\",\n          createPosition(pos, pos + entry.native.length),\n          entry.normalized\n        );\n      }\n    }\n    return null;\n  }\n  /**\n   * Match the longest multi-word (space-containing) profile keyword at `pos`,\n   * requiring the match to end at a word boundary. The profile-driven\n   * counterpart of the per-language hardcoded compound lists (the hindi and\n   * vietnamese keyword extractors). Returns a keyword token (with the normalized\n   * form) or null. Case-sensitive against the stored native form, mirroring\n   * `tryProfileKeyword`/`isKeywordStart` (the i18n dicts emit a fixed surface\n   * case). No-op when `multiWordKeywords` is empty (no-space/CJK languages).\n   *\n   * @param input - Input string\n   * @param pos - Current position (must be a token-start boundary)\n   * @param isWordChar - End-boundary predicate (defaults to Unicode letter/digit/_)\n   */\n  tryMultiWordKeyword(input, pos, isWordChar = (ch) => /[\\p{L}\\p{N}_]/u.test(ch)) {\n    if (this.multiWordKeywords.length === 0) return null;\n    const rest = input.slice(pos);\n    for (const entry of this.multiWordKeywords) {\n      if (!rest.startsWith(entry.native)) continue;\n      const after = input[pos + entry.native.length];\n      if (after !== void 0 && isWordChar(after)) continue;\n      return createToken(\n        entry.native,\n        \"keyword\",\n        createPosition(pos, pos + entry.native.length),\n        entry.normalized\n      );\n    }\n    return null;\n  }\n  /**\n   * Check if the remaining input starts with any known keyword.\n   * Useful for non-space languages to detect word boundaries.\n   *\n   * @param input - Input string\n   * @param pos - Current position\n   * @returns true if a keyword starts at this position\n   */\n  isKeywordStart(input, pos) {\n    const remaining = input.slice(pos);\n    return this.profileKeywords.some((entry) => remaining.startsWith(entry.native));\n  }\n  /**\n   * Check if a known keyword starts at the given position AND ends at a word\n   * boundary (end of input or a non-word character).\n   *\n   * Space-delimited languages must use this (not `isKeywordStart`) for\n   * word-walk break checks: the keyword table includes English canonical\n   * fallbacks (me, it, you, …), so a raw `startsWith` check splits any native\n   * word with an embedded fallback mid-word (e.g. Quechua ñit'iy contains\n   * \"it\"). CJK/no-space tokenizers rely on mid-text keyword starts and must\n   * keep using `isKeywordStart`.\n   *\n   * @param input - Input string\n   * @param pos - Current position\n   * @param isWordChar - Language-specific word-character predicate; pass the\n   *   tokenizer's letter classifier so e.g. the Quechua glottal apostrophe\n   *   counts as part of a word. Defaults to Unicode letters/digits/underscore.\n   * @returns true if a keyword starts here and is not followed by a word char\n   */\n  isKeywordStartAtBoundary(input, pos, isWordChar = (ch) => /[\\p{L}\\p{N}_]/u.test(ch)) {\n    const remaining = input.slice(pos);\n    return this.profileKeywords.some((entry) => {\n      if (!remaining.startsWith(entry.native)) return false;\n      const after = input[pos + entry.native.length];\n      return after === void 0 || !isWordChar(after);\n    });\n  }\n  /**\n   * Look up a keyword by native word (case-insensitive).\n   * O(1) lookup using the keyword map.\n   *\n   * @param native - Native word to look up\n   * @returns KeywordEntry if found, undefined otherwise\n   */\n  lookupKeyword(native) {\n    return this.profileKeywordMap.get(native.toLowerCase());\n  }\n  /**\n   * Check if a word is a known keyword (case-insensitive).\n   * O(1) lookup using the keyword map.\n   *\n   * @param native - Native word to check\n   * @returns true if the word is a keyword\n   */\n  isKeyword(native) {\n    return this.profileKeywordMap.has(native.toLowerCase());\n  }\n  /**\n   * Set the morphological normalizer for this tokenizer.\n   */\n  setNormalizer(normalizer) {\n    this.normalizer = normalizer;\n  }\n  /**\n   * Try to normalize a word using the morphological normalizer.\n   * Returns null if no normalizer is set or normalization fails.\n   *\n   * Note: We don't check isNormalizable() here because the individual tokenizers\n   * historically called normalize() directly without that check. The normalize()\n   * method itself handles returning noChange() for words that can't be normalized.\n   */\n  tryNormalize(word) {\n    if (!this.normalizer) return null;\n    const result = this.normalizer.normalize(word);\n    if (result.stem !== word && result.confidence >= 0.7) {\n      return result;\n    }\n    return null;\n  }\n  /**\n   * Try morphological normalization and keyword lookup.\n   *\n   * If the word can be normalized to a stem that matches a known keyword,\n   * returns a keyword token with morphological metadata (stem, stemConfidence).\n   *\n   * This is the common pattern for handling conjugated verbs across languages:\n   * 1. Normalize the word (e.g., \"toggled\" → \"toggle\")\n   * 2. Look up the stem in the keyword map\n   * 3. Create a token with both the original form and stem metadata\n   *\n   * @param word - The word to normalize and look up\n   * @param startPos - Start position for the token\n   * @param endPos - End position for the token\n   * @returns Token if stem matches a keyword, null otherwise\n   */\n  tryMorphKeywordMatch(word, startPos, endPos) {\n    const result = this.tryNormalize(word);\n    if (!result) return null;\n    const stemEntry = this.lookupKeyword(result.stem);\n    if (!stemEntry) return null;\n    const tokenOptions = {\n      normalized: stemEntry.normalized,\n      stem: result.stem,\n      stemConfidence: result.confidence\n    };\n    return createToken(word, \"keyword\", createPosition(startPos, endPos), tokenOptions);\n  }\n  /**\n   * Try to extract a CSS selector at the current position.\n   */\n  trySelector(input, pos) {\n    const selector = extractCssSelector(input, pos);\n    if (selector) {\n      return createToken(selector, \"selector\", createPosition(pos, pos + selector.length));\n    }\n    return null;\n  }\n  /**\n   * Try to extract an event modifier at the current position.\n   * Event modifiers are .once, .debounce(N), .throttle(N), .queue(strategy)\n   */\n  tryEventModifier(input, pos) {\n    if (input[pos] !== \".\") {\n      return null;\n    }\n    const match = input.slice(pos).match(/^\\.(?:once|debounce|throttle|queue)(?:\\(([^)]+)\\))?(?:\\s|$|\\.)/);\n    if (!match) {\n      return null;\n    }\n    const fullMatch = match[0].replace(/(\\s|\\.)$/, \"\");\n    const modifierName = fullMatch.slice(1).split(\"(\")[0];\n    const value = match[1];\n    const token = createToken(\n      fullMatch,\n      \"event-modifier\",\n      createPosition(pos, pos + fullMatch.length)\n    );\n    return {\n      ...token,\n      metadata: {\n        modifierName,\n        value: value ? modifierName === \"queue\" ? value : parseInt(value, 10) : void 0\n      }\n    };\n  }\n  /**\n   * Try to extract a string literal at the current position.\n   */\n  tryString(input, pos) {\n    const literal = extractStringLiteral(input, pos);\n    if (literal) {\n      return createToken(literal, \"literal\", createPosition(pos, pos + literal.length));\n    }\n    return null;\n  }\n  /**\n   * Try to extract a number at the current position.\n   */\n  tryNumber(input, pos) {\n    const number = extractNumber(input, pos);\n    if (number) {\n      return createToken(number, \"literal\", createPosition(pos, pos + number.length));\n    }\n    return null;\n  }\n  /**\n   * Try to match a time unit from a list of patterns.\n   *\n   * @param input - Input string\n   * @param pos - Position after the number\n   * @param timeUnits - Array of time unit mappings (native pattern → standard suffix)\n   * @param skipWhitespace - Whether to skip whitespace before time unit (default: false)\n   * @returns Object with matched suffix and new position, or null if no match\n   */\n  tryMatchTimeUnit(input, pos, timeUnits, skipWhitespace = false) {\n    let unitPos = pos;\n    if (skipWhitespace) {\n      while (unitPos < input.length && isWhitespace(input[unitPos])) {\n        unitPos++;\n      }\n    }\n    const remaining = input.slice(unitPos);\n    for (const unit of timeUnits) {\n      const candidate = remaining.slice(0, unit.length);\n      const matches = unit.caseInsensitive ? candidate.toLowerCase() === unit.pattern.toLowerCase() : candidate === unit.pattern;\n      if (matches) {\n        if (unit.notFollowedBy) {\n          const nextChar = remaining[unit.length] || \"\";\n          if (nextChar === unit.notFollowedBy) continue;\n        }\n        if (unit.checkBoundary) {\n          const nextChar = remaining[unit.length] || \"\";\n          if (isAsciiIdentifierChar(nextChar)) continue;\n        }\n        return { suffix: unit.suffix, endPos: unitPos + unit.length };\n      }\n    }\n    return null;\n  }\n  /**\n   * Parse a base number (sign, integer, decimal) without time units.\n   * Returns the number string and end position.\n   *\n   * @param input - Input string\n   * @param startPos - Start position\n   * @param allowSign - Whether to allow +/- sign (default: true)\n   * @returns Object with number string and end position, or null\n   */\n  parseBaseNumber(input, startPos, allowSign = true) {\n    let pos = startPos;\n    let number = \"\";\n    if (allowSign && (input[pos] === \"-\" || input[pos] === \"+\")) {\n      number += input[pos++];\n    }\n    if (pos >= input.length || !isDigit(input[pos])) {\n      return null;\n    }\n    while (pos < input.length && isDigit(input[pos])) {\n      number += input[pos++];\n    }\n    if (pos < input.length && input[pos] === \".\") {\n      number += input[pos++];\n      while (pos < input.length && isDigit(input[pos])) {\n        number += input[pos++];\n      }\n    }\n    if (!number || number === \"-\" || number === \"+\") return null;\n    return { number, endPos: pos };\n  }\n  /**\n   * Try to extract a number with native language time units.\n   *\n   * This is a template method that handles the common pattern:\n   * 1. Parse the base number (sign, integer, decimal)\n   * 2. Try to match native language time units\n   * 3. Fall back to standard time units (ms, s, m, h)\n   *\n   * @param input - Input string\n   * @param pos - Start position\n   * @param nativeTimeUnits - Language-specific time unit mappings\n   * @param options - Configuration options\n   * @returns Token if number found, null otherwise\n   */\n  tryNumberWithTimeUnits(input, pos, nativeTimeUnits, options = {}) {\n    const { allowSign = true, skipWhitespace = false } = options;\n    const baseResult = this.parseBaseNumber(input, pos, allowSign);\n    if (!baseResult) return null;\n    let { number, endPos } = baseResult;\n    const allUnits = [...nativeTimeUnits, ..._BaseTokenizer.STANDARD_TIME_UNITS];\n    const timeMatch = this.tryMatchTimeUnit(input, endPos, allUnits, skipWhitespace);\n    if (timeMatch) {\n      number += timeMatch.suffix;\n      endPos = timeMatch.endPos;\n    }\n    return createToken(number, \"literal\", createPosition(pos, endPos));\n  }\n  /**\n   * Try to extract a URL at the current position.\n   * Handles /path, ./path, ../path, //domain.com, http://, https://\n   */\n  tryUrl(input, pos) {\n    const url = extractUrl(input, pos);\n    if (url) {\n      return createToken(url, \"url\", createPosition(pos, pos + url.length));\n    }\n    return null;\n  }\n  /**\n   * Try to extract a variable reference (:varname) at the current position.\n   * In hyperscript, :x refers to a local variable named x.\n   */\n  tryVariableRef(input, pos) {\n    if (input[pos] !== \":\") return null;\n    if (pos + 1 >= input.length) return null;\n    if (!isAsciiIdentifierChar(input[pos + 1])) return null;\n    let endPos = pos + 1;\n    while (endPos < input.length && isAsciiIdentifierChar(input[endPos])) {\n      endPos++;\n    }\n    const varRef = input.slice(pos, endPos);\n    return createToken(varRef, \"identifier\", createPosition(pos, endPos));\n  }\n  /**\n   * Try to extract an operator or punctuation token at the current position.\n   * Handles two-character operators (==, !=, etc.) and single-character operators.\n   */\n  tryOperator(input, pos) {\n    const twoChar = input.slice(pos, pos + 2);\n    if ([\"==\", \"!=\", \"<=\", \">=\", \"&&\", \"||\", \"->\"].includes(twoChar)) {\n      return createToken(twoChar, \"operator\", createPosition(pos, pos + 2));\n    }\n    const oneChar = input[pos];\n    if ([\"<\", \">\", \"!\", \"+\", \"-\", \"*\", \"/\", \"=\"].includes(oneChar)) {\n      return createToken(oneChar, \"operator\", createPosition(pos, pos + 1));\n    }\n    if ([\"(\", \")\", \"{\", \"}\", \",\", \";\", \":\"].includes(oneChar)) {\n      return createToken(oneChar, \"punctuation\", createPosition(pos, pos + 1));\n    }\n    return null;\n  }\n  /**\n   * Try to match a multi-character particle from a list.\n   *\n   * Used by languages like Japanese, Korean, and Chinese that have\n   * multi-character particles (e.g., Japanese から, まで, より).\n   *\n   * @param input - Input string\n   * @param pos - Current position\n   * @param particles - Array of multi-character particles to match\n   * @returns Token if matched, null otherwise\n   */\n  tryMultiCharParticle(input, pos, particles) {\n    for (const particle of particles) {\n      if (input.slice(pos, pos + particle.length) === particle) {\n        return createToken(particle, \"particle\", createPosition(pos, pos + particle.length));\n      }\n    }\n    return null;\n  }\n};\n/**\n * Configuration for native language time units.\n * Maps patterns to their standard suffix (ms, s, m, h).\n */\n_BaseTokenizer.STANDARD_TIME_UNITS = [\n  { pattern: \"ms\", suffix: \"ms\", length: 2 },\n  { pattern: \"s\", suffix: \"s\", length: 1, checkBoundary: true },\n  { pattern: \"m\", suffix: \"m\", length: 1, checkBoundary: true, notFollowedBy: \"s\" },\n  { pattern: \"h\", suffix: \"h\", length: 1, checkBoundary: true }\n];\nvar BaseTokenizer = _BaseTokenizer;\nfunction createSimpleTokenizer(config) {\n  const {\n    language,\n    direction = \"ltr\",\n    keywords,\n    keywordExtras,\n    keywordProfile,\n    includeOperators = false,\n    caseInsensitive = true,\n    customExtractors\n  } = config;\n  const keywordSet = new Set(caseInsensitive ? keywords.map((k) => k.toLowerCase()) : keywords);\n  class SimpleTokenizer extends BaseTokenizer {\n    constructor() {\n      super();\n      this.language = language;\n      this.direction = direction;\n      if (customExtractors) {\n        this.registerExtractors(customExtractors);\n      }\n      this.registerExtractors(getDefaultExtractors());\n      if (keywordProfile) {\n        this.initializeKeywordsFromProfile(keywordProfile, keywordExtras);\n      }\n    }\n    classifyToken(token) {\n      const lookup = caseInsensitive ? token.toLowerCase() : token;\n      if (keywordSet.has(lookup)) return \"keyword\";\n      if (this.isKeyword(token)) return \"keyword\";\n      if (/^\\d/.test(token)) return \"literal\";\n      if (/^['\"]/.test(token)) return \"literal\";\n      if (includeOperators && SIMPLE_TOKENIZER_OPERATOR_SET.has(token)) return \"operator\";\n      return \"identifier\";\n    }\n  }\n  return new SimpleTokenizer();\n}\n\n// src/multilingual/builders.ts\nfunction mergeRoleMarkers(slice, vocab) {\n  const merged = {};\n  const add = (role, marker) => {\n    if (!marker?.primary) {\n      delete merged[role];\n      return;\n    }\n    merged[role] = {\n      primary: marker.primary,\n      ...marker.alternatives?.length && { alternatives: [...marker.alternatives] },\n      ...marker.position && { position: marker.position }\n    };\n  };\n  for (const [role, marker] of Object.entries(slice.roleMarkers ?? {})) add(role, marker);\n  for (const [role, marker] of Object.entries(vocab.roleMarkerOverrides ?? {})) add(role, marker);\n  return merged;\n}\nfunction buildPatternProfile(slice, vocab) {\n  const keywords = {};\n  for (const [action, translation] of Object.entries(vocab.keywords)) {\n    keywords[action] = {\n      primary: translation.primary,\n      ...translation.alternatives?.length && { alternatives: [...translation.alternatives] }\n    };\n  }\n  const roleMarkers = mergeRoleMarkers(slice, vocab);\n  return {\n    code: slice.code,\n    wordOrder: slice.wordOrder,\n    keywords,\n    ...Object.keys(roleMarkers).length > 0 && { roleMarkers }\n  };\n}\nfunction defaultCaseInsensitive(script) {\n  return script === void 0 || script === \"latin\" || script === \"cyrillic\";\n}\nfunction buildDomainTokenizer(slice, vocab, options = {}) {\n  const roleMarkers = mergeRoleMarkers(slice, vocab);\n  const keywords = /* @__PURE__ */ new Set();\n  for (const translation of Object.values(vocab.keywords)) {\n    keywords.add(translation.primary);\n    for (const alt of translation.alternatives ?? []) keywords.add(alt);\n  }\n  for (const marker of Object.values(roleMarkers)) {\n    keywords.add(marker.primary);\n    for (const alt of marker.alternatives ?? []) keywords.add(alt);\n  }\n  for (const particle of slice.tokenization?.particles ?? []) keywords.add(particle);\n  for (const extra of vocab.tokenizerKeywords ?? []) keywords.add(extra);\n  const profileKeywords = {};\n  for (const [action, translation] of Object.entries(vocab.keywords)) {\n    profileKeywords[action] = {\n      primary: translation.primary,\n      ...translation.alternatives?.length && { alternatives: [...translation.alternatives] },\n      normalized: translation.normalized ?? action\n    };\n  }\n  const keywordProfile = {\n    keywords: profileKeywords,\n    ...Object.keys(roleMarkers).length > 0 && { roleMarkers }\n  };\n  const customExtractors = [\n    ...options.customExtractors ?? [],\n    ...slice.script === \"latin\" ? [new LatinExtendedIdentifierExtractor()] : []\n  ];\n  return createSimpleTokenizer({\n    language: slice.code,\n    direction: slice.direction ?? \"ltr\",\n    keywords: [...keywords],\n    ...vocab.keywordExtras?.length && { keywordExtras: vocab.keywordExtras.map((e) => ({ ...e })) },\n    keywordProfile,\n    includeOperators: options.includeOperators ?? false,\n    caseInsensitive: options.caseInsensitive ?? defaultCaseInsensitive(slice.script),\n    ...customExtractors.length > 0 && { customExtractors }\n  });\n}\nfunction buildLanguageConfig(slice, vocab, meta = {}) {\n  const name = meta.name ?? slice.name ?? slice.code;\n  return {\n    code: slice.code,\n    name,\n    nativeName: meta.nativeName ?? slice.nativeName ?? name,\n    tokenizer: meta.tokenizer ?? buildDomainTokenizer(slice, vocab, meta.tokenizerOptions),\n    patternProfile: buildPatternProfile(slice, vocab),\n    ...meta.grammarProfile && { grammarProfile: meta.grammarProfile }\n  };\n}\nfunction deriveRoleMarkers(slice, roleMapping) {\n  const derived = {};\n  for (const [domainRole, semanticRole] of Object.entries(roleMapping)) {\n    const marker = slice.roleMarkers?.[semanticRole];\n    if (marker?.primary) derived[domainRole] = marker.primary;\n  }\n  return derived;\n}\n\n// src/core/tokenization/char-classifiers.ts\nfunction createUnicodeRangeClassifier(ranges) {\n  return (char) => {\n    const code = char.charCodeAt(0);\n    return ranges.some(([start, end]) => code >= start && code <= end);\n  };\n}\nfunction combineClassifiers(...classifiers) {\n  return (char) => classifiers.some((fn) => fn(char));\n}\nfunction createLatinCharClassifiers(letterPattern) {\n  const isLetter = (char) => letterPattern.test(char);\n  const isIdentifierChar = (char) => isLetter(char) || /[0-9_-]/.test(char);\n  return { isLetter, isIdentifierChar };\n}\n\n// src/core/tokenization/morphology/types.ts\nfunction noChange(word) {\n  return { stem: word, confidence: 1 };\n}\nfunction normalized(stem, confidence, metadata) {\n  if (metadata) {\n    return { stem, confidence, metadata };\n  }\n  return { stem, confidence };\n}\n\n// src/core/tokenization/morphology/base-normalizer.ts\nvar BaseMorphologicalNormalizer = class {\n  constructor(config) {\n    this.language = config.language;\n    this.config = {\n      minWordLength: 3,\n      minStemLength: 2,\n      ...config\n    };\n  }\n  /**\n   * Standard normalization pipeline. Override for custom behavior.\n   */\n  normalize(word) {\n    const lower = word.toLowerCase();\n    if (this.isAlreadyNormalized(lower)) {\n      return noChange(word);\n    }\n    if (this.config.reflexiveSuffixes) {\n      const reflexive = this.tryReflexiveNormalization(lower);\n      if (reflexive) return reflexive;\n    }\n    if (this.config.endings) {\n      const conjugation = this.tryConjugationEndings(lower);\n      if (conjugation) return conjugation;\n    }\n    if (this.config.suffixRules) {\n      const suffix = this.trySuffixRules(lower);\n      if (suffix) return suffix;\n    }\n    if (this.config.prefixRules) {\n      const prefix = this.tryPrefixRules(lower);\n      if (prefix) return prefix;\n    }\n    return noChange(word);\n  }\n  /**\n   * Check if word is already in dictionary form (e.g., ends in -ar/-er/-ir).\n   * Override for language-specific checks.\n   */\n  isAlreadyNormalized(word) {\n    if (this.config.infinitiveEndings) {\n      return this.config.infinitiveEndings.some((e) => word.endsWith(e));\n    }\n    return false;\n  }\n  /**\n   * Try to strip reflexive suffixes and normalize the remainder.\n   * Common in Romance languages (Spanish, Portuguese, French).\n   */\n  tryReflexiveNormalization(word) {\n    const suffixes = this.config.reflexiveSuffixes;\n    if (!suffixes) return null;\n    for (const suffix of suffixes) {\n      if (!word.endsWith(suffix)) continue;\n      const remainder = word.slice(0, -suffix.length);\n      if (this.isAlreadyNormalized(remainder)) {\n        return normalized(remainder, 0.88, {\n          removedSuffixes: [suffix],\n          conjugationType: \"reflexive\"\n        });\n      }\n      const inner = this.tryConjugationEndings(remainder) || this.trySuffixRules(remainder);\n      if (inner && inner.stem !== remainder) {\n        return normalized(inner.stem, inner.confidence * 0.95, {\n          removedSuffixes: [suffix, ...inner.metadata?.removedSuffixes || []],\n          conjugationType: \"reflexive\"\n        });\n      }\n    }\n    return null;\n  }\n  /**\n   * Try conjugation endings (verb class endings like -ar/-er/-ir patterns).\n   * Endings must be pre-sorted longest-first.\n   */\n  tryConjugationEndings(word) {\n    const endings = this.config.endings;\n    if (!endings) return null;\n    const minStem = this.config.minStemLength ?? 2;\n    for (const rule of endings) {\n      if (!word.endsWith(rule.ending)) continue;\n      const stemBase = word.slice(0, -rule.ending.length);\n      if (stemBase.length < minStem) continue;\n      const infinitive = stemBase + rule.stem;\n      return normalized(infinitive, rule.confidence, {\n        removedSuffixes: [rule.ending],\n        conjugationType: rule.type\n      });\n    }\n    return null;\n  }\n  /**\n   * Try SuffixRule-style normalization.\n   * Rules must be pre-sorted longest-first.\n   */\n  trySuffixRules(word) {\n    const rules = this.config.suffixRules;\n    if (!rules) return null;\n    const defaultMinStem = this.config.minStemLength ?? 2;\n    for (const rule of rules) {\n      if (!word.endsWith(rule.pattern)) continue;\n      const stem = word.slice(0, -rule.pattern.length);\n      const minStem = rule.minStemLength ?? defaultMinStem;\n      if (stem.length < minStem) continue;\n      const result = stem + (rule.replacement || \"\");\n      return normalized(result, rule.confidence, {\n        removedSuffixes: [rule.pattern],\n        ...rule.conjugationType && { conjugationType: rule.conjugationType }\n      });\n    }\n    return null;\n  }\n  /**\n   * Try PrefixRule-style normalization.\n   */\n  tryPrefixRules(word) {\n    const rules = this.config.prefixRules;\n    if (!rules) return null;\n    for (const rule of rules) {\n      if (!word.startsWith(rule.pattern)) continue;\n      const remainder = word.slice(rule.pattern.length);\n      const minRemaining = rule.minRemaining ?? this.config.minStemLength ?? 2;\n      if (remainder.length < minRemaining) continue;\n      return normalized(remainder, 1 - rule.confidencePenalty, {\n        removedPrefixes: [rule.pattern]\n      });\n    }\n    return null;\n  }\n};\n\n// src/training/jsonl-writer.ts\nfunction toJSONL(pairs) {\n  return pairs.map((pair) => JSON.stringify(toJSONLRow(pair))).join(\"\\n\");\n}\nfunction toJSONLRow(pair) {\n  return {\n    id: pair.id,\n    prompt: pair.natural,\n    completion: pair.explicit,\n    metadata: {\n      domain: pair.domain,\n      action: pair.action,\n      language: pair.language,\n      source: pair.source,\n      quality: pair.quality,\n      ...pair.confidence !== void 0 && { confidence: pair.confidence }\n    }\n  };\n}\nfunction parseJSONL(text) {\n  return text.split(\"\\n\").filter((line) => line.trim().length > 0).map((line) => JSON.parse(line));\n}\n\n// src/feedback/confidence-gate.ts\nfunction needsDisambiguation(confidence, low = 0.5, high = 0.7) {\n  return confidence >= low && confidence < high;\n}\nfunction buildDisambiguation(input, candidates) {\n  const sortedCandidates = [...candidates].sort((a, b) => b.confidence - a.confidence);\n  const disambiguationCandidates = sortedCandidates.map((c, i) => ({\n    action: c.action,\n    confidence: c.confidence,\n    explicit: renderExplicit(c.node),\n    description: c.description || `${c.action} (option ${String.fromCharCode(97 + i)})`\n  }));\n  const optionLines = disambiguationCandidates.map(\n    (c, i) => `  (${String.fromCharCode(97 + i)}) ${c.explicit} \\u2014 ${c.description} (conf: ${c.confidence.toFixed(2)})`\n  );\n  const question = [\n    `Your input parsed with confidence ${sortedCandidates[0]?.confidence.toFixed(2) ?? \"?\"}.`,\n    ...optionLines,\n    \"Which did you mean?\"\n  ].join(\"\\n\");\n  return {\n    input,\n    candidates: disambiguationCandidates,\n    question\n  };\n}\n\n// src/feedback/pattern-tracker.ts\nvar PatternTracker = class {\n  constructor(maxEvents = 1e3) {\n    this.events = [];\n    this.maxEvents = maxEvents;\n  }\n  /**\n   * Record a pattern event.\n   */\n  record(event) {\n    this.events.push(event);\n    if (this.events.length > this.maxEvents) {\n      this.events = this.events.slice(this.events.length - this.maxEvents);\n    }\n  }\n  /**\n   * Get hit rate by command action.\n   */\n  getHitRateByCommand() {\n    return this.computeHitRate((e) => e.action);\n  }\n  /**\n   * Get hit rate by language.\n   */\n  getHitRateByLanguage() {\n    return this.computeHitRate((e) => e.language);\n  }\n  /**\n   * Get the most frequent failure diagnostic codes.\n   */\n  getTopFailures(limit = 10) {\n    const codeMap = /* @__PURE__ */ new Map();\n    for (const event of this.events) {\n      if (event.outcome !== \"rejected\" || !event.diagnosticCodes) continue;\n      for (const code of event.diagnosticCodes) {\n        const entry = codeMap.get(code) || { count: 0, actions: /* @__PURE__ */ new Set() };\n        entry.count++;\n        entry.actions.add(event.action);\n        codeMap.set(code, entry);\n      }\n    }\n    return Array.from(codeMap.entries()).map(([code, { count, actions }]) => ({\n      code,\n      count,\n      actions: Array.from(actions)\n    })).sort((a, b) => b.count - a.count).slice(0, limit);\n  }\n  /**\n   * Get a complete summary of tracking data.\n   */\n  getSummary() {\n    const byOutcome = {};\n    for (const event of this.events) {\n      byOutcome[event.outcome] = (byOutcome[event.outcome] || 0) + 1;\n    }\n    return {\n      totalEvents: this.events.length,\n      byOutcome,\n      byCommand: this.getHitRateByCommand(),\n      byLanguage: this.getHitRateByLanguage(),\n      topFailures: this.getTopFailures()\n    };\n  }\n  /**\n   * Export all events as JSONL.\n   */\n  exportJSONL() {\n    return this.events.map((e) => JSON.stringify(e)).join(\"\\n\");\n  }\n  /**\n   * Get the number of recorded events.\n   */\n  get size() {\n    return this.events.length;\n  }\n  /**\n   * Clear all events.\n   */\n  clear() {\n    this.events = [];\n  }\n  // ---------------------------------------------------------------------------\n  // Private\n  // ---------------------------------------------------------------------------\n  computeHitRate(keyFn) {\n    const map = /* @__PURE__ */ new Map();\n    for (const event of this.events) {\n      const key = keyFn(event);\n      const entry = map.get(key) || { attempts: 0, successes: 0 };\n      entry.attempts++;\n      if (event.outcome === \"accepted\") {\n        entry.successes++;\n      }\n      map.set(key, entry);\n    }\n    const result = {};\n    for (const [key, { attempts, successes }] of map) {\n      result[key] = {\n        attempts,\n        successes,\n        rate: attempts > 0 ? successes / attempts : 0\n      };\n    }\n    return result;\n  }\n};\n\n// src/parsing/multi-statement.ts\nfunction createMultiStatementParser(dsl, config) {\n  return new MultiStatementParserImpl(dsl, config);\n}\nvar MultiStatementParserImpl = class {\n  constructor(dsl, config) {\n    this.dsl = dsl;\n    this.config = config;\n  }\n  parse(input, language) {\n    const rawStatements = this.splitStatements(input, language);\n    const statements = [];\n    const errors = [];\n    let previous;\n    for (const raw of rawStatements) {\n      const category = this.classifyLine(raw.text, language);\n      let textToParse = raw.text;\n      if (this.config.continuation) {\n        const resolved = this.resolveContinuation(raw.text, language, previous?.category);\n        if (resolved !== null) {\n          textToParse = resolved;\n        }\n      }\n      if (this.config.preprocessor) {\n        const processed = this.config.preprocessor(textToParse, category, language, {\n          ...previous != null && { previous },\n          lineNumber: raw.line,\n          indent: raw.indent\n        });\n        if (processed === null) continue;\n        textToParse = processed;\n      }\n      try {\n        const node = this.dsl.parse(textToParse, language);\n        const stmt = {\n          node,\n          source: raw.text,\n          line: raw.line,\n          ...category != null && { category },\n          indent: raw.indent\n        };\n        statements.push(stmt);\n        previous = stmt;\n      } catch (err) {\n        errors.push({\n          message: err instanceof Error ? err.message : String(err),\n          line: raw.line,\n          source: raw.text,\n          code: \"parse-error\"\n        });\n      }\n    }\n    return { statements, errors };\n  }\n  /**\n   * Split input into raw statement lines with metadata.\n   */\n  splitStatements(input, language) {\n    const { mode, trim = true, commentPrefixes = [\"--\", \"//\"] } = this.config.split;\n    if (mode === \"delimiter\") {\n      return this.splitByDelimiter(input, language, trim, commentPrefixes);\n    }\n    const lines = input.split(\"\\n\");\n    const result = [];\n    for (let i = 0; i < lines.length; i++) {\n      const raw = lines[i];\n      const indent = raw.length - raw.trimStart().length;\n      const text = trim ? raw.trim() : raw;\n      if (!text) continue;\n      if (commentPrefixes.some((p) => text.startsWith(p))) continue;\n      result.push({ text, line: i + 1, indent });\n    }\n    return result;\n  }\n  /**\n   * Split by language-specific delimiters.\n   */\n  splitByDelimiter(input, language, trim, commentPrefixes) {\n    const delimiter = this.config.split.delimiters?.[language] ?? this.config.split.defaultDelimiter ?? /,\\s*|\\n\\s*/;\n    const parts = input.split(delimiter);\n    const result = [];\n    for (let i = 0; i < parts.length; i++) {\n      const raw = parts[i];\n      const text = trim ? raw.trim() : raw;\n      if (!text) continue;\n      if (commentPrefixes.some((p) => text.startsWith(p))) continue;\n      result.push({ text, line: i + 1, indent: 0 });\n    }\n    return result;\n  }\n  /**\n   * Classify a line by its keyword category.\n   * Returns the category name or undefined if no match.\n   */\n  classifyLine(line, language) {\n    if (!this.config.keywords) return void 0;\n    const lower = line.toLowerCase();\n    const wordOrder = this.config.keywords.wordOrders?.[language] ?? \"SVO\";\n    for (const [category, keywordMap] of Object.entries(this.config.keywords.categories)) {\n      const keywords = keywordMap[language] ?? keywordMap[\"en\"] ?? [];\n      for (const kw of keywords) {\n        const kwLower = kw.toLowerCase();\n        if (wordOrder === \"SOV\") {\n          if (lower.endsWith(kwLower) || lower.startsWith(kwLower)) {\n            return category;\n          }\n        } else {\n          if (lower.startsWith(kwLower)) {\n            return category;\n          }\n        }\n      }\n    }\n    return void 0;\n  }\n  /**\n   * Resolve continuation keywords (e.g., 'and' → re-prefix with previous step type).\n   * Returns the resolved string, or null if not a continuation.\n   */\n  resolveContinuation(text, language, prevCategory) {\n    if (!this.config.continuation || !prevCategory) return null;\n    const contKeywords = this.config.continuation.keywords[language] ?? this.config.continuation.keywords[\"en\"] ?? [];\n    const lower = text.toLowerCase();\n    for (const kw of contKeywords) {\n      const kwLower = kw.toLowerCase();\n      if (lower.startsWith(kwLower)) {\n        const content = text.slice(kw.length).trim();\n        if (!content) return null;\n        if (this.config.continuation.resolve) {\n          return this.config.continuation.resolve(\n            content,\n            prevCategory,\n            language,\n            this.config.keywords?.categories ?? {}\n          );\n        }\n        const prevKeywords = this.config.keywords?.categories[prevCategory]?.[language] ?? this.config.keywords?.categories[prevCategory]?.[\"en\"];\n        if (prevKeywords?.[0]) {\n          return prevKeywords[0] + \" \" + content;\n        }\n        return null;\n      }\n    }\n    return null;\n  }\n};\nfunction accumulateBlocks(statements, config) {\n  if (config.nesting === \"flat\") {\n    return accumulateFlat(statements, config);\n  }\n  return accumulateIndented(statements, config);\n}\nfunction accumulateFlat(statements, config) {\n  const blocks = [];\n  const orphans = [];\n  let current = null;\n  const flush = () => {\n    if (current) {\n      blocks.push({\n        type: current.type,\n        ...current.name != null && { name: current.name },\n        statements: current.stmts,\n        children: [],\n        line: current.line,\n        indent: current.indent\n      });\n      current = null;\n    }\n  };\n  for (const stmt of statements) {\n    if (stmt.category && config.blockTypes.includes(stmt.category)) {\n      flush();\n      const name = config.extractName?.(stmt.source, stmt.category);\n      current = {\n        type: stmt.category,\n        ...name != null && { name },\n        stmts: [stmt],\n        line: stmt.line,\n        indent: stmt.indent\n      };\n    } else if (current) {\n      current.stmts.push(stmt);\n    } else {\n      orphans.push(stmt);\n    }\n  }\n  flush();\n  return { blocks, orphans };\n}\nfunction accumulateIndented(statements, config) {\n  const rootBlocks = [];\n  const orphans = [];\n  const stack = [];\n  const flushTo = (targetIndent) => {\n    while (stack.length > 0) {\n      const top = stack[stack.length - 1];\n      if (top.indent >= targetIndent) {\n        stack.pop();\n        const block = {\n          type: top.type,\n          ...top.name != null && { name: top.name },\n          statements: top.stmts,\n          children: top.children,\n          line: top.line,\n          indent: top.indent\n        };\n        if (stack.length > 0) {\n          stack[stack.length - 1].children.push(block);\n        } else {\n          rootBlocks.push(block);\n        }\n      } else {\n        break;\n      }\n    }\n  };\n  for (const stmt of statements) {\n    if (stmt.category && config.blockTypes.includes(stmt.category)) {\n      flushTo(stmt.indent);\n      const name = config.extractName?.(stmt.source, stmt.category);\n      stack.push({\n        type: stmt.category,\n        ...name != null && { name },\n        stmts: [stmt],\n        children: [],\n        line: stmt.line,\n        indent: stmt.indent\n      });\n    } else if (stack.length > 0) {\n      stack[stack.length - 1].stmts.push(stmt);\n    } else {\n      orphans.push(stmt);\n    }\n  }\n  flushTo(-1);\n  return { blocks: rootBlocks, orphans };\n}\nexport {\n  AOTOrchestrator,\n  BaseMorphologicalNormalizer,\n  BaseTokenizer,\n  CrossDomainDispatcher,\n  DEFAULT_OPERATORS,\n  DEFAULT_PUNCTUATION,\n  DEFAULT_REFERENCES,\n  DomainAwareScanner,\n  DomainRegistry,\n  GrammarTransformer,\n  IdentifierExtractor,\n  InMemoryDictionary,\n  InMemoryProfileProvider,\n  LatinExtendedIdentifierExtractor,\n  NullDictionary,\n  NullProfileProvider,\n  NumberExtractor,\n  OperatorExtractor,\n  PatternMatcher,\n  PatternTracker,\n  PunctuationExtractor,\n  StringLiteralExtractor,\n  TokenStreamImpl,\n  UnicodeIdentifierExtractor,\n  WhitespaceExtractor,\n  accumulateBlocks,\n  buildDisambiguation,\n  buildDomainTokenizer,\n  buildFeedback,\n  buildLanguageConfig,\n  buildPatternProfile,\n  buildPhrase,\n  buildTablesFromProfiles,\n  combineClassifiers,\n  convertValue,\n  createAsyncNode,\n  createCommandNode,\n  createCompoundNode,\n  createConditionalNode,\n  createDiagnosticCollector,\n  createEventHandlerNode,\n  createExpression,\n  createFlag,\n  createLatinCharClassifiers,\n  createLiteral,\n  createLoopNode,\n  createMatchNode,\n  createMultiStatementParser,\n  createMultilingualDSL,\n  createPosition,\n  createPropertyPath,\n  createReference,\n  createSchemaRenderer,\n  createSelector,\n  createSimpleTokenizer,\n  createToken,\n  createTokenizerContext,\n  createTryNode,\n  createUnicodeRangeClassifier,\n  defineCommand,\n  defineRole,\n  deriveRoleMarkers,\n  detectWordOrders,\n  extractCssSelector,\n  extractNumber,\n  extractRoleValue,\n  extractStringLiteral,\n  extractUrl,\n  extractValue,\n  filterBySeverity,\n  fromEnvelopeJSON,\n  fromError,\n  fromInterchangeNode,\n  fromProtocolJSON,\n  generateExamples,\n  generatePattern,\n  generatePatternVariants,\n  generatePrompt,\n  generateProtocolReference,\n  getAllPossessiveKeywords,\n  getDefaultExtractors,\n  getPossessiveReference,\n  getRoleSpec,\n  getRoleValue,\n  insertMarkers,\n  isAsciiIdentifierChar,\n  isAsciiLetter,\n  isBuiltInReference,\n  isCSSPropertyRef,\n  isCSSSelector,\n  isClassName,\n  isCompoundSyntax,\n  isContextAwareExtractor,\n  isDigit,\n  isDocumentSyntax,\n  isEnvelope,\n  isExplicitSyntax,\n  isIdSelector,\n  isNumericValue,\n  isPossessiveKeyword,\n  isPossessiveMarker,\n  isPropertyName,\n  isQuote,\n  isSelectorStart,\n  isTypeCompatible,\n  isUrlStart,\n  isValidReference2 as isValidReference,\n  isVariableRef,\n  isWhitespace,\n  joinTokens,\n  jsonToSemanticNode,\n  lookupKeyword,\n  lookupMarker,\n  matchBest,\n  matchPattern,\n  needsDisambiguation,\n  noChange,\n  normalized,\n  parseCompound,\n  parseDocument,\n  parseExplicit,\n  parseJSONL,\n  patternMatcher,\n  registryToAOTBackends,\n  renderDocument,\n  renderExplicit,\n  renderExpr,\n  reorderRoles,\n  semanticNodeToJSON,\n  semanticNodeToRuntimeAST,\n  semanticValueToAST,\n  synthesizeFromSchemas,\n  toEnvelopeJSON,\n  toJSONL,\n  toJSONLRow,\n  toProtocolJSON,\n  validateProtocolJSON,\n  validateSemanticJSON,\n  validateValueType,\n  withDefaultExtractors\n};\n//# sourceMappingURL=index.js.map","var __defProp = Object.defineProperty;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __esm = (fn, res) => function __init() {\n  return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __export = (target, all) => {\n  for (var name in all)\n    __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/registry.ts\nfunction deepMerge(base, variant) {\n  const result = { ...base };\n  for (const key of Object.keys(variant)) {\n    const variantValue = variant[key];\n    const baseValue = base[key];\n    if (variantValue === void 0) {\n      continue;\n    }\n    if (typeof variantValue === \"object\" && variantValue !== null && !Array.isArray(variantValue) && typeof baseValue === \"object\" && baseValue !== null && !Array.isArray(baseValue)) {\n      result[key] = deepMerge(\n        baseValue,\n        variantValue\n      );\n    } else {\n      result[key] = variantValue;\n    }\n  }\n  return result;\n}\nfunction mergeProfiles(base, variant) {\n  return deepMerge(base, variant);\n}\nfunction resolveProfile(profile) {\n  if (!profile.extends) {\n    return profile;\n  }\n  const baseProfile = profiles.get(profile.extends);\n  if (!baseProfile) {\n    console.warn(\n      `[Registry] Profile '${profile.code}' extends '${profile.extends}' but base is not registered. Make sure to import the base language before the variant.`\n    );\n    return profile;\n  }\n  const resolvedBase = resolveProfile(baseProfile);\n  return mergeProfiles(resolvedBase, profile);\n}\nfunction registerLanguage(code, tokenizer, profile) {\n  tokenizers.set(code, tokenizer);\n  profiles.set(code, profile);\n  patternCache.delete(code);\n}\nfunction registerTokenizer(tokenizer) {\n  tokenizers.set(tokenizer.language, tokenizer);\n}\nfunction setPatternGenerator(generator) {\n  patternGenerator = generator;\n}\nfunction registerPatterns(code, patterns) {\n  registeredPatterns.set(code, patterns);\n  patternCache.delete(code);\n}\nfunction getBaseLanguageCode(code) {\n  return code.split(\"-\")[0];\n}\nfunction isLanguageVariant(code) {\n  return code.includes(\"-\");\n}\nfunction getTokenizer(code) {\n  let tokenizer = tokenizers.get(code);\n  if (!tokenizer && isLanguageVariant(code)) {\n    const baseCode = getBaseLanguageCode(code);\n    tokenizer = tokenizers.get(baseCode);\n  }\n  if (!tokenizer) {\n    const registered = Array.from(tokenizers.keys()).join(\", \");\n    throw new Error(\n      `Language '${code}' is not registered. Registered languages: ${registered || \"none\"}. Import the language module first: import '@lokascript/semantic/languages/${code}';`\n    );\n  }\n  return tokenizer;\n}\nfunction getProfile(code) {\n  let profile = profiles.get(code);\n  if (!profile && isLanguageVariant(code)) {\n    const baseCode = getBaseLanguageCode(code);\n    profile = profiles.get(baseCode);\n  }\n  if (!profile) {\n    const registered = Array.from(profiles.keys()).join(\", \");\n    throw new Error(\n      `Language profile '${code}' is not registered. Registered languages: ${registered || \"none\"}. Import the language module first: import '@lokascript/semantic/languages/${code}';`\n    );\n  }\n  return resolveProfile(profile);\n}\nfunction tryGetTokenizer(code) {\n  let tokenizer = tokenizers.get(code);\n  if (!tokenizer && isLanguageVariant(code)) {\n    tokenizer = tokenizers.get(getBaseLanguageCode(code));\n  }\n  return tokenizer;\n}\nfunction tryGetProfile(code) {\n  let profile = profiles.get(code);\n  if (!profile && isLanguageVariant(code)) {\n    profile = profiles.get(getBaseLanguageCode(code));\n  }\n  return profile ? resolveProfile(profile) : void 0;\n}\nfunction getRegisteredLanguages() {\n  return Array.from(tokenizers.keys());\n}\nfunction isLanguageRegistered(code) {\n  if (tokenizers.has(code) && profiles.has(code)) {\n    return true;\n  }\n  if (isLanguageVariant(code)) {\n    const baseCode = getBaseLanguageCode(code);\n    return tokenizers.has(baseCode) && profiles.has(baseCode);\n  }\n  return false;\n}\nfunction tokenize2(input, language) {\n  const tokenizer = getTokenizer(language);\n  return tokenizer.tokenize(input);\n}\nfunction getPatternsForLanguage(code) {\n  let cached = patternCache.get(code);\n  if (!cached && isLanguageVariant(code)) {\n    cached = patternCache.get(getBaseLanguageCode(code));\n  }\n  if (cached) {\n    return cached;\n  }\n  let registered = registeredPatterns.get(code);\n  if (!registered && isLanguageVariant(code)) {\n    registered = registeredPatterns.get(getBaseLanguageCode(code));\n  }\n  if (registered) {\n    patternCache.set(code, registered);\n    return registered;\n  }\n  if (!patternGenerator) {\n    throw new Error(\n      `No patterns registered for language '${code}'. Either import the language module or set a pattern generator.`\n    );\n  }\n  const profile = getProfile(code);\n  const patterns = patternGenerator(profile);\n  patternCache.set(code, patterns);\n  return patterns;\n}\nfunction getPatternsForLanguageAndCommand(language, command) {\n  return getPatternsForLanguage(language).filter((p) => p.command === command).sort((a, b) => b.priority - a.priority);\n}\nvar tokenizers, profiles, patternCache, patternGenerator, registeredPatterns;\nvar init_registry = __esm({\n  \"src/registry.ts\"() {\n    \"use strict\";\n    tokenizers = /* @__PURE__ */ new Map();\n    profiles = /* @__PURE__ */ new Map();\n    patternCache = /* @__PURE__ */ new Map();\n    patternGenerator = null;\n    registeredPatterns = /* @__PURE__ */ new Map();\n  }\n});\n\n// src/generators/profiles/arabic.ts\nvar arabic_exports = {};\n__export(arabic_exports, {\n  arabicProfile: () => arabicProfile\n});\nvar arabicProfile;\nvar init_arabic = __esm({\n  \"src/generators/profiles/arabic.ts\"() {\n    \"use strict\";\n    arabicProfile = {\n      code: \"ar\",\n      name: \"Arabic\",\n      nativeName: \"\\u0627\\u0644\\u0639\\u0631\\u0628\\u064A\\u0629\",\n      regions: [\"priority\"],\n      direction: \"rtl\",\n      script: \"arabic\",\n      wordOrder: \"VSO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: true,\n      verb: {\n        position: \"start\",\n        subjectDrop: true\n      },\n      references: {\n        me: \"\\u0623\\u0646\\u0627\",\n        // \"I/me\" - first person\n        it: \"\\u0647\\u0648\",\n        // \"it\" (masculine)\n        you: \"\\u0623\\u0646\\u062A\",\n        // \"you\"\n        result: \"\\u0627\\u0644\\u0646\\u062A\\u064A\\u062C\\u0629\",\n        event: \"\\u0627\\u0644\\u062D\\u062F\\u062B\",\n        target: \"\\u0627\\u0644\\u0647\\u062F\\u0641\",\n        body: \"\\u062C\\u0633\\u0645\"\n        // matches the i18n dict's emitted body word (corpus-canonical, parser must recognize it)\n      },\n      possessive: {\n        marker: \"\",\n        // No explicit marker - uses possessive pronouns\n        markerPosition: \"after-object\",\n        usePossessiveAdjectives: true,\n        specialForms: {\n          // Arabic: \"value لي\" (value for-me) - possessive pronoun follows property\n          me: \"\\u0644\\u064A\",\n          // \"for me\" / \"mine\"\n          it: \"\\u0644\\u0647\",\n          // \"for it\" / \"its\"\n          you: \"\\u0644\\u0643\"\n          // \"for you\" / \"yours\"\n        },\n        keywords: {\n          // \"my\" / \"mine\"\n          \\u0644\\u064A: \"me\",\n          // \"your\" / \"yours\"\n          \\u0644\\u0643: \"you\",\n          // \"its/his/her\"\n          \\u0644\\u0647: \"it\",\n          // his/its (masculine)\n          \\u0644\\u0647\\u0627: \"it\"\n          // her/its (feminine)\n        }\n      },\n      roleMarkers: {\n        destination: {\n          primary: \"\\u0639\\u0644\\u0649\",\n          alternatives: [\"\\u0641\\u064A\", \"\\u0625\\u0644\\u0649\", \"\\u0628\", \"\\u0642\\u0628\\u0644\", \"\\u0628\\u0639\\u062F\"],\n          position: \"before\"\n        },\n        source: { primary: \"\\u0645\\u0646\", position: \"before\" },\n        patient: { primary: \"\", position: \"before\" },\n        style: { primary: \"\\u0628\\u0640\", alternatives: [\"\\u0628\\u0627\\u0633\\u062A\\u062E\\u062F\\u0627\\u0645\"], position: \"before\" }\n      },\n      keywords: {\n        // Class/Attribute operations\n        toggle: { primary: \"\\u0628\\u062F\\u0651\\u0644\", alternatives: [\"\\u0628\\u062F\\u0644\", \"\\u063A\\u064A\\u0651\\u0631\", \"\\u063A\\u064A\\u0631\"], normalized: \"toggle\" },\n        add: { primary: \"\\u0623\\u0636\\u0641\", alternatives: [\"\\u0627\\u0636\\u0641\"], normalized: \"add\" },\n        remove: { primary: \"\\u0627\\u062D\\u0630\\u0641\", alternatives: [\"\\u0623\\u0632\\u0644\", \"\\u0627\\u0645\\u0633\\u062D\"], normalized: \"remove\" },\n        // Content operations\n        put: { primary: \"\\u0636\\u0639\", alternatives: [\"\\u0627\\u062C\\u0639\\u0644\"], normalized: \"put\" },\n        append: { primary: \"\\u0623\\u0644\\u062D\\u0642\", normalized: \"append\" },\n        prepend: { primary: \"\\u0633\\u0628\\u0642\", normalized: \"prepend\" },\n        take: { primary: \"\\u062E\\u0630\", normalized: \"take\" },\n        // Removed احصل to avoid collision with get\n        make: { primary: \"\\u0627\\u0635\\u0646\\u0639\", alternatives: [\"\\u0623\\u0646\\u0634\\u0626\"], normalized: \"make\" },\n        clone: { primary: \"\\u0627\\u0633\\u062A\\u0646\\u0633\\u062E\", normalized: \"clone\" },\n        swap: { primary: \"\\u0627\\u0633\\u062A\\u0628\\u062F\\u0644\", alternatives: [\"\\u062A\\u0628\\u0627\\u062F\\u0644\"], normalized: \"swap\" },\n        morph: { primary: \"\\u062D\\u0648\\u0651\\u0644\", normalized: \"morph\" },\n        // Variable operations\n        set: { primary: \"\\u0627\\u0636\\u0628\\u0637\", alternatives: [\"\\u0639\\u064A\\u0651\\u0646\", \"\\u062D\\u062F\\u062F\"], normalized: \"set\" },\n        get: { primary: \"\\u0627\\u062D\\u0635\\u0644\", normalized: \"get\" },\n        // Removed خذ to avoid collision with take\n        increment: { primary: \"\\u0632\\u0650\\u062F\", alternatives: [\"\\u0632\\u062F\", \"\\u0627\\u0631\\u0641\\u0639\"], normalized: \"increment\" },\n        decrement: { primary: \"\\u0623\\u0646\\u0642\\u0635\", alternatives: [\"\\u0627\\u0646\\u0642\\u0635\", \"\\u0642\\u0644\\u0644\"], normalized: \"decrement\" },\n        log: { primary: \"\\u0633\\u062C\\u0644\", normalized: \"log\" },\n        // Visibility\n        show: { primary: \"\\u0627\\u0638\\u0647\\u0631\", alternatives: [\"\\u0623\\u0638\\u0647\\u0631\", \"\\u0627\\u0639\\u0631\\u0636\"], normalized: \"show\" },\n        hide: { primary: \"\\u0627\\u062E\\u0641\", alternatives: [\"\\u0623\\u062E\\u0641\\u0650\", \"\\u0627\\u062E\\u0641\\u064A\", \"\\u0623\\u062E\\u0641\"], normalized: \"hide\" },\n        // Added hamza variant\n        transition: { primary: \"\\u0627\\u0646\\u062A\\u0642\\u0627\\u0644\", alternatives: [\"\\u0627\\u0646\\u062A\\u0642\\u0644\"], normalized: \"transition\" },\n        // Events\n        on: { primary: \"\\u0639\\u0644\\u0649\", alternatives: [\"\\u0639\\u0646\\u062F\", \"\\u0644\\u062F\\u0649\", \"\\u062D\\u064A\\u0646\"], normalized: \"on\" },\n        trigger: { primary: \"\\u062A\\u0634\\u063A\\u064A\\u0644\", alternatives: [\"\\u0623\\u0637\\u0644\\u0642\", \"\\u0641\\u0639\\u0651\\u0644\"], normalized: \"trigger\" },\n        send: { primary: \"\\u0623\\u0631\\u0633\\u0644\", normalized: \"send\" },\n        // DOM focus\n        focus: { primary: \"\\u062A\\u0631\\u0643\\u064A\\u0632\", alternatives: [\"\\u0631\\u0643\\u0632\"], normalized: \"focus\" },\n        blur: { primary: \"\\u0636\\u0628\\u0627\\u0628\\u064A\\u0629\", alternatives: [\"\\u0634\\u0648\\u0634\"], normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"\\u0625\\u0641\\u0631\\u0627\\u063A\", alternatives: [\"\\u0641\\u0627\\u0631\\u063A\"], normalized: \"empty\" },\n        open: { primary: \"\\u0627\\u0641\\u062A\\u062D\", normalized: \"open\" },\n        close: { primary: \"\\u0623\\u063A\\u0644\\u0642\", normalized: \"close\" },\n        select: { primary: \"\\u0638\\u0644\\u0644\", normalized: \"select\" },\n        clear: { primary: \"\\u0646\\u0638\\u0651\\u0641\", normalized: \"clear\" },\n        reset: { primary: \"\\u0625\\u0639\\u0627\\u062F\\u0629-\\u0636\\u0628\\u0637\", alternatives: [\"\\u0623\\u0639\\u062F-\\u062A\\u0639\\u064A\\u064A\\u0646\"], normalized: \"reset\" },\n        breakpoint: { primary: \"\\u0646\\u0642\\u0637\\u0629-\\u062A\\u0648\\u0642\\u0641\", normalized: \"breakpoint\" },\n        // Navigation\n        go: { primary: \"\\u0627\\u0630\\u0647\\u0628\", normalized: \"go\" },\n        scroll: { primary: \"\\u0645\\u0631\\u0631\", alternatives: [\"\\u062A\\u0645\\u0631\\u064A\\u0631\"], normalized: \"scroll\" },\n        push: { primary: \"\\u0627\\u062F\\u0641\\u0639\", alternatives: [\"\\u062F\\u0641\\u0639\"], normalized: \"push\" },\n        replace: { primary: \"\\u0627\\u0633\\u062A\\u0628\\u062F\\u0644_\\u0639\\u0646\\u0648\\u0627\\u0646\", alternatives: [\"\\u0623\\u0639\\u062F_\\u062A\\u0639\\u064A\\u064A\\u0646_\\u0639\\u0646\\u0648\\u0627\\u0646\"], normalized: \"replace\" },\n        process: { primary: \"\\u0639\\u0627\\u0644\\u062C\", alternatives: [\"\\u0645\\u0639\\u0627\\u0644\\u062C\\u0629\"], normalized: \"process\" },\n        // Async\n        wait: { primary: \"\\u0627\\u0646\\u062A\\u0638\\u0631\", normalized: \"wait\" },\n        fetch: { primary: \"\\u0627\\u062D\\u0636\\u0631\", alternatives: [\"\\u062C\\u0644\\u0628\"], normalized: \"fetch\" },\n        settle: { primary: \"\\u0627\\u0633\\u062A\\u0642\\u0631\", normalized: \"settle\" },\n        // Control flow\n        if: { primary: \"\\u0625\\u0630\\u0627\", normalized: \"if\" },\n        unless: { primary: \"\\u0625\\u0644\\u0627\", normalized: \"unless\" },\n        when: { primary: \"\\u0639\\u0646\\u062F\\u0645\\u0627\", normalized: \"when\" },\n        where: { primary: \"\\u0623\\u064A\\u0646\", normalized: \"where\" },\n        else: { primary: \"\\u0648\\u0625\\u0644\\u0627\", alternatives: [\"\\u062E\\u0644\\u0627\\u0641 \\u0630\\u0644\\u0643\"], normalized: \"else\" },\n        repeat: { primary: \"\\u0643\\u0631\\u0631\", normalized: \"repeat\" },\n        for: { primary: \"\\u0644\\u0643\\u0644\", normalized: \"for\" },\n        while: { primary: \"\\u0628\\u064A\\u0646\\u0645\\u0627\", normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"forever\", normalized: \"forever\" },\n        continue: { primary: \"\\u0648\\u0627\\u0635\\u0644\", normalized: \"continue\" },\n        halt: { primary: \"\\u0623\\u0648\\u0642\\u0641\", normalized: \"halt\" },\n        throw: { primary: \"\\u0627\\u0631\\u0645\", alternatives: [\"\\u0627\\u0631\\u0645\\u0650\"], normalized: \"throw\" },\n        call: { primary: \"\\u0627\\u0633\\u062A\\u062F\\u0639\", alternatives: [\"\\u0646\\u0627\\u062F\\u0650\"], normalized: \"call\" },\n        return: { primary: \"\\u0627\\u0631\\u062C\\u0639\", alternatives: [\"\\u0639\\u064F\\u062F\"], normalized: \"return\" },\n        then: { primary: \"\\u062B\\u0645\", alternatives: [\"\\u0628\\u0639\\u062F\\u0647\\u0627\", \"\\u062B\\u0645\\u0651\"], normalized: \"then\" },\n        and: { primary: \"\\u0648\\u0623\\u064A\\u0636\\u0627\\u064B\", alternatives: [\"\\u0623\\u064A\\u0636\\u0627\\u064B\"], normalized: \"and\" },\n        // آخر is deliberately ABSENT: it is the positional `last` keyword\n        // (آخر <button/> في .modal — see pattern-matcher's positional handling).\n        // Listing it as an end-alternative made parseBodyWithClauses chop every\n        // clause containing a positional `last` at that token (ar focus-trap lost\n        // its if-branch body). النهاية is what the i18n dict actually emits.\n        end: { primary: \"\\u0646\\u0647\\u0627\\u064A\\u0629\", alternatives: [\"\\u0627\\u0646\\u062A\\u0647\\u0649\", \"\\u0627\\u0644\\u0646\\u0647\\u0627\\u064A\\u0629\"], normalized: \"end\" },\n        // Advanced\n        js: { primary: \"\\u062C\\u0627\\u0641\\u0627\\u0633\\u0643\\u0631\\u0628\\u062A\", alternatives: [\"js\"], normalized: \"js\" },\n        async: { primary: \"\\u0645\\u062A\\u0632\\u0627\\u0645\\u0646\", normalized: \"async\" },\n        tell: { primary: \"\\u0623\\u062E\\u0628\\u0631\", normalized: \"tell\" },\n        default: { primary: \"\\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A\", normalized: \"default\" },\n        init: { primary: \"\\u062A\\u0647\\u064A\\u0626\\u0629\", alternatives: [\"\\u0628\\u062F\\u0621\"], normalized: \"init\" },\n        behavior: { primary: \"\\u0633\\u0644\\u0648\\u0643\", normalized: \"behavior\" },\n        install: { primary: \"\\u062A\\u062B\\u0628\\u064A\\u062A\", alternatives: [\"\\u062B\\u0628\\u0651\\u062A\"], normalized: \"install\" },\n        // `قِس` is the imperative with the kasra diacritic; the i18n dict (and real\n        // Arabic prose) emits it undiacritized as `قس`, so list both — otherwise the\n        // generated `قس width`/`قس x` (behavior-draggable/resizable) parse to null and\n        // the whole `measure` command drops from the event-handler body (lossy).\n        measure: { primary: \"\\u0642\\u064A\\u0627\\u0633\", alternatives: [\"\\u0642\\u0650\\u0633\", \"\\u0642\\u0633\"], normalized: \"measure\" },\n        beep: { primary: \"\\u0635\\u0641\\u0651\\u0631\", normalized: \"beep\" },\n        break: { primary: \"\\u062A\\u0648\\u0642\\u0641\", normalized: \"break\" },\n        copy: { primary: \"\\u0627\\u0646\\u0633\\u062E\", normalized: \"copy\" },\n        exit: { primary: \"\\u0627\\u062E\\u0631\\u062C\", normalized: \"exit\" },\n        pick: { primary: \"\\u0627\\u062E\\u062A\\u0631\", normalized: \"pick\" },\n        render: { primary: \"\\u0627\\u0631\\u0633\\u0645\", normalized: \"render\" },\n        // Modifiers\n        into: { primary: \"\\u0641\\u064A\", alternatives: [\"\\u0625\\u0644\\u0649\"], normalized: \"into\" },\n        before: { primary: \"\\u0642\\u0628\\u0644\", normalized: \"before\" },\n        after: { primary: \"\\u0628\\u0639\\u062F\", normalized: \"after\" },\n        // Event modifiers (for repeat until event)\n        until: { primary: \"\\u062D\\u062A\\u0649\", normalized: \"until\" },\n        event: { primary: \"\\u062D\\u062F\\u062B\", normalized: \"event\" },\n        from: { primary: \"\\u0645\\u0646\", normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-اتصل`, `hx-مباشر`, etc.\n        // Imperative form matching the profile's verb convention.\n        connect: { primary: \"\\u0627\\u062A\\u0635\\u0644\", alternatives: [\"\\u0627\\u062A\\u0635\\u0627\\u0644\"], normalized: \"connect\" },\n        stream: { primary: \"\\u062A\\u062F\\u0641\\u0642\", alternatives: [\"\\u0628\\u062B\"], normalized: \"stream\" },\n        live: { primary: \"\\u0645\\u0628\\u0627\\u0634\\u0631\", alternatives: [\"\\u062D\\u064A\"], normalized: \"live\" },\n        socket: { primary: \"\\u0645\\u0642\\u0628\\u0633\", alternatives: [\"websocket\"], normalized: \"socket\" },\n        // Reactive / realtime commands\n        bind: { primary: \"\\u0627\\u0631\\u0628\\u0637\", alternatives: [\"\\u0631\\u0628\\u0637\", \"bind\"], normalized: \"bind\" },\n        intercept: { primary: \"\\u0627\\u0639\\u062A\\u0631\\u0636\", alternatives: [\"\\u0627\\u0639\\u062A\\u0631\\u0627\\u0636\", \"intercept\"], normalized: \"intercept\" },\n        worker: { primary: \"\\u0639\\u0627\\u0645\\u0644\", alternatives: [\"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"\\u0645\\u0635\\u062F\\u0631-\\u0627\\u0644\\u0623\\u062D\\u062F\\u0627\\u062B\"],\n          normalized: \"eventsource\"\n        }\n      },\n      tokenization: {\n        prefixes: [\"\\u0627\\u0644\", \"\\u0648\", \"\\u0641\", \"\\u0628\", \"\\u0643\", \"\\u0644\"]\n      },\n      eventHandler: {\n        // Event marker: عند (at/upon), used in VSO pattern\n        // Pattern: عند [event] [action] [patient] [على destination]\n        // Example: عند النقر بدّل .active على #button\n        // Includes temporal conjunctions (عندما = formal \"when\", حين = neutral, لمّا = dialectal)\n        eventMarker: {\n          primary: \"\\u0639\\u0646\\u062F\",\n          alternatives: [\"\\u0641\\u064A\", \"\\u0644\\u062F\\u0649\", \"\\u0639\\u0646\\u062F\\u0645\\u0627\", \"\\u062D\\u064A\\u0646\", \"\\u062D\\u064A\\u0646\\u0645\\u0627\", \"\\u0644\\u0645\\u0651\\u0627\", \"\\u0644\\u0645\\u0627\"],\n          position: \"before\"\n        },\n        temporalMarkers: [\"\\u0639\\u0646\\u062F\\u0645\\u0627\", \"\\u062D\\u064A\\u0646\", \"\\u0644\\u0645\\u0651\\u0627\"],\n        // kept for reference/documentation\n        // Negation marker: عدم (not/lack of), used for negated events\n        // Pattern: عند عدم [event] [action] [patient]\n        // Example: عند عدم التركيز أخف #tooltip = \"on blur hide #tooltip\"\n        negationMarker: { primary: \"\\u0639\\u062F\\u0645\", alternatives: [\"\\u0639\\u062F\\u0645\"], position: \"before\" }\n      }\n    };\n  }\n});\n\n// src/generators/profiles/bengali.ts\nvar bengali_exports = {};\n__export(bengali_exports, {\n  bengaliProfile: () => bengaliProfile\n});\nvar bengaliProfile;\nvar init_bengali = __esm({\n  \"src/generators/profiles/bengali.ts\"() {\n    \"use strict\";\n    bengaliProfile = {\n      code: \"bn\",\n      name: \"Bengali\",\n      nativeName: \"\\u09AC\\u09BE\\u0982\\u09B2\\u09BE\",\n      direction: \"ltr\",\n      script: \"bengali\",\n      wordOrder: \"SOV\",\n      markingStrategy: \"postposition\",\n      usesSpaces: true,\n      defaultVerbForm: \"imperative\",\n      verb: {\n        position: \"end\",\n        suffixes: [\"\\u09C1\\u09A8\", \"\\u09CB\", \"\\u09BE\", \"\\u09C7\", \"\\u09BF\"],\n        subjectDrop: true\n      },\n      references: {\n        me: \"\\u0986\\u09AE\\u09BF\",\n        it: \"\\u098F\\u099F\\u09BF\",\n        you: \"\\u0986\\u09AA\\u09A8\\u09BF\",\n        result: \"\\u09AB\\u09B2\\u09BE\\u09AB\\u09B2\",\n        event: \"\\u0998\\u099F\\u09A8\\u09BE\",\n        target: \"\\u09B2\\u0995\\u09CD\\u09B7\\u09CD\\u09AF\",\n        body: \"\\u09AC\\u09A1\\u09BF\"\n      },\n      possessive: {\n        marker: \"\\u09B0\",\n        markerPosition: \"between\",\n        keywords: {\n          // \"my\" - আমার (amar)\n          \\u0986\\u09AE\\u09BE\\u09B0: \"me\",\n          // \"your\" - তোমার (tomar, informal), আপনার (apnar, formal)\n          \\u09A4\\u09CB\\u09AE\\u09BE\\u09B0: \"you\",\n          \\u0986\\u09AA\\u09A8\\u09BE\\u09B0: \"you\",\n          // \"its/his/her\" - তার (tar), এর (er)\n          \\u09A4\\u09BE\\u09B0: \"it\",\n          \\u098F\\u09B0: \"it\"\n        }\n      },\n      roleMarkers: {\n        patient: { primary: \"\\u0995\\u09C7\", position: \"after\" },\n        destination: { primary: \"\\u09A4\\u09C7\", alternatives: [\"\\u098F\"], position: \"after\" },\n        source: { primary: \"\\u09A5\\u09C7\\u0995\\u09C7\", position: \"after\" },\n        style: { primary: \"\\u09A6\\u09BF\\u09AF\\u09BC\\u09C7\", position: \"after\" },\n        event: { primary: \"\\u09A4\\u09C7\", position: \"after\" }\n      },\n      keywords: {\n        // Class/Attribute operations\n        toggle: { primary: \"\\u099F\\u0997\\u09B2\", normalized: \"toggle\" },\n        add: { primary: \"\\u09AF\\u09CB\\u0997\", alternatives: [\"\\u09AF\\u09CB\\u0997 \\u0995\\u09B0\\u09C1\\u09A8\"], normalized: \"add\" },\n        remove: { primary: \"\\u09B8\\u09B0\\u09BE\\u09A8\", alternatives: [\"\\u09B8\\u09B0\\u09BF\\u09AF\\u09BC\\u09C7 \\u09AB\\u09C7\\u09B2\\u09C1\\u09A8\", \"\\u09AE\\u09C1\\u099B\\u09C1\\u09A8\"], normalized: \"remove\" },\n        // Content operations\n        put: { primary: \"\\u09B0\\u09BE\\u0996\\u09C1\\u09A8\", alternatives: [\"\\u09B0\\u09BE\\u0996\"], normalized: \"put\" },\n        // জুড়ুন (attach/join, imperative — matches the রাখুন/নিন verb style).\n        // The old multi-word 'শেষে যোগ' could never tokenize as one keyword\n        // (শেষে reads as `end`, যোগ as `add`), so bn append always parsed as add.\n        append: { primary: \"\\u099C\\u09C1\\u09A1\\u09BC\\u09C1\\u09A8\", alternatives: [], normalized: \"append\" },\n        prepend: { primary: \"\\u09B6\\u09C1\\u09B0\\u09C1\\u09A4\\u09C7 \\u09AF\\u09CB\\u0997\", alternatives: [], normalized: \"prepend\" },\n        take: { primary: \"\\u09A8\\u09BF\\u09A8\", alternatives: [\"\\u09A8\\u09C7\"], normalized: \"take\" },\n        make: { primary: \"\\u09A4\\u09C8\\u09B0\\u09BF \\u0995\\u09B0\\u09C1\\u09A8\", alternatives: [\"\\u09AC\\u09BE\\u09A8\\u09BE\\u09A8\"], normalized: \"make\" },\n        clone: { primary: \"\\u0995\\u09CD\\u09B2\\u09CB\\u09A8\", alternatives: [\"\\u09AA\\u09CD\\u09B0\\u09A4\\u09BF\\u09B2\\u09BF\\u09AA\\u09BF\"], normalized: \"clone\" },\n        swap: { primary: \"\\u09AC\\u09A6\\u09B2\", alternatives: [], normalized: \"swap\" },\n        morph: { primary: \"\\u09B0\\u09C2\\u09AA\\u09BE\\u09A8\\u09CD\\u09A4\\u09B0\", alternatives: [], normalized: \"morph\" },\n        // Variable operations\n        set: { primary: \"\\u09B8\\u09C7\\u099F\", alternatives: [\"\\u09A8\\u09BF\\u09B0\\u09CD\\u09A7\\u09BE\\u09B0\\u09A3\"], normalized: \"set\" },\n        get: { primary: \"\\u09AA\\u09BE\\u09A8\", normalized: \"get\" },\n        increment: { primary: \"\\u09AC\\u09C3\\u09A6\\u09CD\\u09A7\\u09BF\", alternatives: [\"\\u09AC\\u09BE\\u09A1\\u09BC\\u09BE\\u09A8\"], normalized: \"increment\" },\n        decrement: { primary: \"\\u09B9\\u09CD\\u09B0\\u09BE\\u09B8\", alternatives: [\"\\u0995\\u09AE\\u09BE\\u09A8\"], normalized: \"decrement\" },\n        log: { primary: \"\\u09B2\\u0997\", alternatives: [\"\\u09B0\\u09C7\\u0995\\u09B0\\u09CD\\u09A1\"], normalized: \"log\" },\n        // Visibility\n        show: { primary: \"\\u09A6\\u09C7\\u0996\\u09BE\\u09A8\", alternatives: [\"\\u09A6\\u09C7\\u0996\\u09BE\\u0993\"], normalized: \"show\" },\n        hide: { primary: \"\\u09B2\\u09C1\\u0995\\u09BE\\u09A8\", alternatives: [\"\\u09B2\\u09C1\\u0995\\u09BE\\u0993\"], normalized: \"hide\" },\n        transition: { primary: \"\\u09B8\\u0982\\u0995\\u09CD\\u09B0\\u09AE\\u09A3\", alternatives: [], normalized: \"transition\" },\n        // Events\n        on: { primary: \"\\u09A4\\u09C7\", alternatives: [\"\\u098F\"], normalized: \"on\" },\n        trigger: { primary: \"\\u099F\\u09CD\\u09B0\\u09BF\\u0997\\u09BE\\u09B0\", alternatives: [], normalized: \"trigger\" },\n        send: { primary: \"\\u09AA\\u09BE\\u09A0\\u09BE\\u09A8\", alternatives: [\"\\u09AA\\u09BE\\u09A0\\u09BE\\u0993\"], normalized: \"send\" },\n        // DOM focus\n        focus: { primary: \"\\u09AB\\u09CB\\u0995\\u09BE\\u09B8\", alternatives: [\"\\u09AE\\u09A8\\u09CB\\u09AF\\u09CB\\u0997\"], normalized: \"focus\" },\n        blur: { primary: \"\\u099D\\u09BE\\u09AA\\u09B8\\u09BE\", alternatives: [\"\\u09AB\\u09CB\\u0995\\u09BE\\u09B8_\\u09B8\\u09B0\\u09BE\\u09A8\"], normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"\\u0996\\u09BE\\u09B2\\u09BF-\\u0995\\u09B0\\u09C1\\u09A8\", alternatives: [\"\\u0996\\u09BE\\u09B2\\u09BF\"], normalized: \"empty\" },\n        open: { primary: \"\\u0996\\u09C1\\u09B2\\u09C1\\u09A8\", normalized: \"open\" },\n        close: { primary: \"\\u09AC\\u09A8\\u09CD\\u09A7\", normalized: \"close\" },\n        select: { primary: \"\\u09A8\\u09BF\\u09B0\\u09CD\\u09AC\\u09BE\\u099A\\u09A8\", normalized: \"select\" },\n        clear: { primary: \"\\u09AA\\u09B0\\u09BF\\u09B7\\u09CD\\u0995\\u09BE\\u09B0\", normalized: \"clear\" },\n        reset: { primary: \"\\u09B0\\u09BF\\u09B8\\u09C7\\u099F\", normalized: \"reset\" },\n        breakpoint: { primary: \"\\u09AC\\u09CD\\u09B0\\u09C7\\u0995\\u09AA\\u09AF\\u09BC\\u09C7\\u09A8\\u09CD\\u099F\", normalized: \"breakpoint\" },\n        // Common event names (for event handler patterns)\n        click: { primary: \"\\u0995\\u09CD\\u09B2\\u09BF\\u0995\", normalized: \"click\" },\n        hover: { primary: \"\\u09B9\\u09CB\\u09AD\\u09BE\\u09B0\", alternatives: [\"\\u0989\\u09AA\\u09B0\\u09C7_\\u09B0\\u09BE\\u0996\\u09C1\\u09A8\"], normalized: \"hover\" },\n        submit: { primary: \"\\u09B8\\u09BE\\u09AC\\u09AE\\u09BF\\u099F\", alternatives: [\"\\u099C\\u09AE\\u09BE\"], normalized: \"submit\" },\n        input: { primary: \"\\u0987\\u09A8\\u09AA\\u09C1\\u099F\", alternatives: [\"\\u09AA\\u09CD\\u09B0\\u09AC\\u09C7\\u09B6\"], normalized: \"input\" },\n        change: { primary: \"\\u09AA\\u09B0\\u09BF\\u09AC\\u09B0\\u09CD\\u09A4\\u09A8\", normalized: \"change\" },\n        // Navigation\n        go: { primary: \"\\u09AF\\u09BE\\u09A8\", alternatives: [\"\\u09AF\\u09BE\\u0993\"], normalized: \"go\" },\n        scroll: { primary: \"\\u09B8\\u09CD\\u0995\\u09CD\\u09B0\\u09CB\\u09B2\", normalized: \"scroll\" },\n        push: { primary: \"\\u09AA\\u09C1\\u09B6\", alternatives: [\"\\u09A0\\u09C7\\u09B2\\u09C1\\u09A8\"], normalized: \"push\" },\n        replace: { primary: \"\\u09AA\\u09CD\\u09B0\\u09A4\\u09BF\\u09B8\\u09CD\\u09A5\\u09BE\\u09AA\\u09A8\", normalized: \"replace\" },\n        process: { primary: \"\\u09AA\\u09CD\\u09B0\\u09B8\\u09C7\\u09B8\", alternatives: [\"\\u09AA\\u09CD\\u09B0\\u0995\\u09CD\\u09B0\\u09BF\\u09AF\\u09BC\\u09BE\"], normalized: \"process\" },\n        // Async\n        wait: { primary: \"\\u0985\\u09AA\\u09C7\\u0995\\u09CD\\u09B7\\u09BE\", normalized: \"wait\" },\n        fetch: { primary: \"\\u0986\\u09A8\\u09C1\\u09A8\", alternatives: [], normalized: \"fetch\" },\n        settle: { primary: \"\\u09B8\\u09CD\\u09A5\\u09BF\\u09B0\", alternatives: [], normalized: \"settle\" },\n        // Control flow\n        if: { primary: \"\\u09AF\\u09A6\\u09BF\", alternatives: [], normalized: \"if\" },\n        when: { primary: \"\\u09AF\\u0996\\u09A8\", normalized: \"when\" },\n        where: { primary: \"\\u0995\\u09CB\\u09A5\\u09BE\\u09AF\\u09BC\", normalized: \"where\" },\n        else: { primary: \"\\u09A8\\u09A4\\u09C1\\u09AC\\u09BE\", alternatives: [\"\\u09A8\\u09BE \\u09B9\\u09B2\\u09C7\"], normalized: \"else\" },\n        repeat: { primary: \"\\u09AA\\u09C1\\u09A8\\u09B0\\u09BE\\u09AC\\u09C3\\u09A4\\u09CD\\u09A4\\u09BF\", alternatives: [\"\\u09AC\\u09BE\\u09B0 \\u09AC\\u09BE\\u09B0\"], normalized: \"repeat\" },\n        for: { primary: \"\\u099C\\u09A8\\u09CD\\u09AF\", alternatives: [], normalized: \"for\" },\n        while: { primary: \"\\u09AF\\u09A4\\u0995\\u09CD\\u09B7\\u09A3\", alternatives: [], normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"\\u099A\\u09BF\\u09B0\\u0995\\u09BE\\u09B2\", normalized: \"forever\", alternatives: [\"forever\"] },\n        continue: { primary: \"\\u099A\\u09BE\\u09B2\\u09BF\\u09AF\\u09BC\\u09C7 \\u09AF\\u09BE\\u09A8\", alternatives: [], normalized: \"continue\" },\n        halt: { primary: \"\\u09A5\\u09BE\\u09AE\\u09C1\\u09A8\", alternatives: [\"\\u09A5\\u09BE\\u09AE\\u09BE\\u0993\"], normalized: \"halt\" },\n        throw: { primary: \"\\u09A8\\u09BF\\u0995\\u09CD\\u09B7\\u09C7\\u09AA\", alternatives: [\"\\u099B\\u09C1\\u0981\\u09A1\\u09BC\\u09C7 \\u09A6\\u09BF\\u09A8\"], normalized: \"throw\" },\n        call: { primary: \"\\u0995\\u09B2\", alternatives: [\"\\u09A1\\u09BE\\u0995\\u09C1\\u09A8\"], normalized: \"call\" },\n        return: { primary: \"\\u09AB\\u09BF\\u09B0\\u09C1\\u09A8\", alternatives: [\"\\u09AB\\u09C7\\u09B0\\u09A4 \\u09A6\\u09BF\\u09A8\"], normalized: \"return\" },\n        then: { primary: \"\\u09A4\\u09BE\\u09B0\\u09AA\\u09B0\", alternatives: [\"\\u09A4\\u0996\\u09A8\"], normalized: \"then\" },\n        and: { primary: \"\\u098F\\u09AC\\u0982\", alternatives: [], normalized: \"and\" },\n        end: { primary: \"\\u09B6\\u09C7\\u09B7\", alternatives: [\"\\u09B8\\u09AE\\u09BE\\u09AA\\u09CD\\u09A4\"], normalized: \"end\" },\n        // Advanced\n        js: { primary: \"\\u099C\\u09C7\\u098F\\u09B8\", alternatives: [\"js\"], normalized: \"js\" },\n        async: { primary: \"\\u0985\\u09CD\\u09AF\\u09BE\\u09B8\\u09BF\\u0999\\u09CD\\u0995\", alternatives: [], normalized: \"async\" },\n        tell: { primary: \"\\u09AC\\u09B2\\u09C1\\u09A8\", alternatives: [\"\\u09AC\\u09B2\"], normalized: \"tell\" },\n        default: { primary: \"\\u09A1\\u09BF\\u09AB\\u09B2\\u09CD\\u099F\", alternatives: [], normalized: \"default\" },\n        init: { primary: \"\\u09B6\\u09C1\\u09B0\\u09C1\", alternatives: [], normalized: \"init\" },\n        behavior: { primary: \"\\u0986\\u099A\\u09B0\\u09A3\", alternatives: [], normalized: \"behavior\" },\n        install: { primary: \"\\u0987\\u09A8\\u09B8\\u09CD\\u099F\\u09B2\", alternatives: [], normalized: \"install\" },\n        measure: { primary: \"\\u09AE\\u09BE\\u09AA\\u09C1\\u09A8\", alternatives: [], normalized: \"measure\" },\n        beep: { primary: \"\\u09AC\\u09C0\\u09AA\", alternatives: [], normalized: \"beep\" },\n        break: { primary: \"\\u09AD\\u09BE\\u0999\\u09C1\\u09A8\", alternatives: [], normalized: \"break\" },\n        copy: { primary: \"\\u0995\\u09AA\\u09BF\", alternatives: [], normalized: \"copy\" },\n        exit: { primary: \"\\u09AC\\u09C7\\u09B0\", alternatives: [], normalized: \"exit\" },\n        pick: { primary: \"\\u09AC\\u09BE\\u099B\\u09C1\\u09A8\", alternatives: [], normalized: \"pick\" },\n        render: { primary: \"\\u09B0\\u09C7\\u09A8\\u09CD\\u09A1\\u09BE\\u09B0\", alternatives: [], normalized: \"render\" },\n        // Modifiers\n        into: { primary: \"\\u09AD\\u09BF\\u09A4\\u09B0\\u09C7\", normalized: \"into\" },\n        before: { primary: \"\\u0986\\u0997\\u09C7\", alternatives: [], normalized: \"before\" },\n        after: { primary: \"\\u09AA\\u09B0\\u09C7\", alternatives: [], normalized: \"after\" },\n        until: { primary: \"\\u09AA\\u09B0\\u09CD\\u09AF\\u09A8\\u09CD\\u09A4\", alternatives: [], normalized: \"until\" },\n        event: { primary: \"\\u0998\\u099F\\u09A8\\u09BE\", alternatives: [], normalized: \"event\" },\n        from: { primary: \"\\u09A5\\u09C7\\u0995\\u09C7\", normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-কানেক্ট`, `hx-লাইভ`, etc.\n        connect: { primary: \"\\u0995\\u09BE\\u09A8\\u09C7\\u0995\\u09CD\\u099F\", alternatives: [\"\\u09B8\\u0982\\u09AF\\u09CB\\u0997\", \"\\u09AF\\u09C1\\u0995\\u09CD\\u09A4\"], normalized: \"connect\" },\n        stream: { primary: \"\\u09B8\\u09CD\\u099F\\u09CD\\u09B0\\u09BF\\u09AE\", alternatives: [\"\\u09B8\\u09CD\\u09B0\\u09CB\\u09A4\", \"\\u09AA\\u09CD\\u09B0\\u09AC\\u09BE\\u09B9\"], normalized: \"stream\" },\n        live: { primary: \"\\u09B2\\u09BE\\u0987\\u09AD\", alternatives: [\"\\u09B8\\u09B0\\u09BE\\u09B8\\u09B0\\u09BF\", \"\\u09AA\\u09CD\\u09B0\\u09A4\\u09CD\\u09AF\\u0995\\u09CD\\u09B7\"], normalized: \"live\" },\n        socket: { primary: \"\\u09B8\\u0995\\u09C7\\u099F\", alternatives: [\"\\u0993\\u09AF\\u09BC\\u09C7\\u09AC\\u09B8\\u0995\\u09C7\\u099F\"], normalized: \"socket\" },\n        // Reactive / realtime commands\n        // `যুক্ত` collides with connect; keep the loan `বাইন্ড` + English form.\n        bind: { primary: \"\\u09AC\\u09BE\\u0987\\u09A8\\u09CD\\u09A1\", alternatives: [\"bind\"], normalized: \"bind\" },\n        intercept: {\n          primary: \"\\u0986\\u099F\\u0995\\u09BE\\u0993\",\n          alternatives: [\"\\u0987\\u09A8\\u09CD\\u099F\\u09BE\\u09B0\\u09B8\\u09C7\\u09AA\\u09CD\\u099F\", \"intercept\"],\n          normalized: \"intercept\"\n        },\n        worker: { primary: \"\\u0995\\u09B0\\u09CD\\u09AE\\u09C0\", alternatives: [\"\\u0993\\u09AF\\u09BC\\u09BE\\u09B0\\u09CD\\u0995\\u09BE\\u09B0\", \"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"\\u0987\\u09AD\\u09C7\\u09A8\\u09CD\\u099F\\u09B8\\u09CB\\u09B0\\u09CD\\u09B8\"],\n          normalized: \"eventsource\"\n        }\n      },\n      tokenization: {\n        particles: [\"\\u0995\\u09C7\", \"\\u09A4\\u09C7\", \"\\u09A5\\u09C7\\u0995\\u09C7\", \"\\u09B0\", \"\\u098F\\u09B0\", \"\\u09A6\\u09BF\\u09AF\\u09BC\\u09C7\", \"\\u099C\\u09A8\\u09CD\\u09AF\", \"\\u09AA\\u09B0\\u09CD\\u09AF\\u09A8\\u09CD\\u09A4\"],\n        boundaryStrategy: \"space\"\n      },\n      eventHandler: {\n        keyword: { primary: \"\\u09A4\\u09C7\", alternatives: [\"\\u098F\", \"\\u09AF\\u0996\\u09A8\"], normalized: \"on\" },\n        sourceMarker: { primary: \"\\u09A5\\u09C7\\u0995\\u09C7\", position: \"after\" },\n        // Event marker: তে (at/on), used in SOV pattern\n        // Pattern: [event] তে [destination র?] [patient] কে [action]\n        // Example: ক্লিক তে #button র .active কে টগল\n        eventMarker: { primary: \"\\u09A4\\u09C7\", alternatives: [\"\\u098F\"], position: \"after\" },\n        temporalMarkers: [\"\\u09AF\\u0996\\u09A8\", \"\\u09AF\\u0996\\u09A8\\u0987\"]\n        // temporal conjunctions (when, whenever)\n      }\n    };\n  }\n});\n\n// src/generators/profiles/german.ts\nvar german_exports = {};\n__export(german_exports, {\n  germanProfile: () => germanProfile\n});\nvar germanProfile;\nvar init_german = __esm({\n  \"src/generators/profiles/german.ts\"() {\n    \"use strict\";\n    germanProfile = {\n      code: \"de\",\n      name: \"German\",\n      nativeName: \"Deutsch\",\n      regions: [\"western\", \"priority\"],\n      direction: \"ltr\",\n      script: \"latin\",\n      wordOrder: \"SVO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: true,\n      // Infinitive is standard for German software UI (Speichern, Öffnen, Schließen)\n      // Also used in written instructions (\"Bitte nicht stören\")\n      defaultVerbForm: \"infinitive\",\n      verb: {\n        position: \"start\",\n        subjectDrop: false\n      },\n      references: {\n        me: \"ich\",\n        // \"I\"\n        it: \"es\",\n        // \"it\"\n        you: \"du\",\n        // \"you\"\n        result: \"Ergebnis\",\n        event: \"Ereignis\",\n        target: \"Ziel\",\n        body: \"K\\xF6rper\"\n      },\n      possessive: {\n        marker: \"\",\n        // German uses possessive pronouns directly\n        markerPosition: \"before-property\",\n        usePossessiveAdjectives: true,\n        specialForms: {\n          me: \"mein\",\n          // \"my\"\n          it: \"sein\",\n          // \"its\"\n          you: \"dein\"\n          // \"your\"\n        },\n        keywords: {\n          mein: \"me\",\n          meine: \"me\",\n          meinen: \"me\",\n          dein: \"you\",\n          deine: \"you\",\n          deinen: \"you\",\n          sein: \"it\",\n          seine: \"it\",\n          seinen: \"it\"\n        }\n      },\n      roleMarkers: {\n        destination: { primary: \"auf\", alternatives: [\"zu\", \"in\"], position: \"before\" },\n        source: { primary: \"von\", alternatives: [\"aus\"], position: \"before\" },\n        patient: { primary: \"\", position: \"before\" },\n        style: { primary: \"mit\", position: \"before\" }\n      },\n      keywords: {\n        toggle: { primary: \"umschalten\", alternatives: [\"wechseln\"], normalized: \"toggle\" },\n        add: { primary: \"hinzuf\\xFCgen\", normalized: \"add\" },\n        remove: { primary: \"entfernen\", alternatives: [\"l\\xF6schen\"], normalized: \"remove\" },\n        put: { primary: \"setzen\", alternatives: [\"stellen\", \"platzieren\"], normalized: \"put\" },\n        append: { primary: \"anh\\xE4ngen\", normalized: \"append\" },\n        prepend: { primary: \"voranstellen\", normalized: \"prepend\" },\n        take: { primary: \"nehmen\", normalized: \"take\" },\n        make: { primary: \"machen\", alternatives: [\"erstellen\", \"erzeugen\"], normalized: \"make\" },\n        clone: { primary: \"klonen\", alternatives: [\"duplizieren\"], normalized: \"clone\" },\n        swap: { primary: \"austauschen\", alternatives: [\"tauschen\", \"vertauschen\"], normalized: \"swap\" },\n        morph: { primary: \"verwandeln\", alternatives: [\"transformieren\"], normalized: \"morph\" },\n        set: { primary: \"festlegen\", alternatives: [\"definieren\"], normalized: \"set\" },\n        get: { primary: \"holen\", alternatives: [\"bekommen\", \"erhalten\"], normalized: \"get\" },\n        increment: { primary: \"erh\\xF6hen\", normalized: \"increment\" },\n        decrement: { primary: \"verringern\", alternatives: [\"vermindern\"], normalized: \"decrement\" },\n        log: { primary: \"protokollieren\", alternatives: [\"ausgeben\"], normalized: \"log\" },\n        show: { primary: \"zeigen\", alternatives: [\"anzeigen\"], normalized: \"show\" },\n        hide: { primary: \"verbergen\", alternatives: [\"verstecken\"], normalized: \"hide\" },\n        transition: { primary: \"\\xFCbergang\", alternatives: [\"animieren\"], normalized: \"transition\" },\n        on: { primary: \"bei\", alternatives: [\"auf\"], normalized: \"on\" },\n        trigger: { primary: \"ausl\\xF6sen\", normalized: \"trigger\" },\n        send: { primary: \"senden\", alternatives: [\"schicken\"], normalized: \"send\" },\n        focus: { primary: \"fokussieren\", normalized: \"focus\" },\n        blur: { primary: \"defokussieren\", alternatives: [\"entfokussieren\"], normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"leeren\", alternatives: [\"leer\"], normalized: \"empty\" },\n        open: { primary: \"\\xF6ffnen\", alternatives: [\"oeffnen\"], normalized: \"open\" },\n        close: { primary: \"schlie\\xDFen\", alternatives: [\"schliessen\"], normalized: \"close\" },\n        select: { primary: \"markieren\", normalized: \"select\" },\n        clear: { primary: \"bereinigen\", normalized: \"clear\" },\n        reset: { primary: \"zur\\xFCcksetzen\", alternatives: [\"zuruecksetzen\"], normalized: \"reset\" },\n        breakpoint: { primary: \"haltepunkt\", normalized: \"breakpoint\" },\n        go: { primary: \"gehen\", alternatives: [\"navigieren\"], normalized: \"go\" },\n        scroll: { primary: \"scrollen\", normalized: \"scroll\" },\n        push: { primary: \"dr\\xFCcken\", alternatives: [\"push\"], normalized: \"push\" },\n        replace: { primary: \"ersetzen\", normalized: \"replace\" },\n        process: { primary: \"verarbeiten\", normalized: \"process\" },\n        wait: { primary: \"warten\", normalized: \"wait\" },\n        fetch: { primary: \"abrufen\", alternatives: [\"laden\"], normalized: \"fetch\" },\n        settle: { primary: \"stabilisieren\", normalized: \"settle\" },\n        if: { primary: \"falls\", alternatives: [\"sofern\"], normalized: \"if\" },\n        unless: { primary: \"wennnicht\", normalized: \"unless\" },\n        when: { primary: \"wenn\", normalized: \"when\" },\n        where: { primary: \"wo\", normalized: \"where\" },\n        else: { primary: \"sonst\", alternatives: [\"ansonsten\"], normalized: \"else\" },\n        repeat: { primary: \"wiederholen\", normalized: \"repeat\" },\n        for: { primary: \"f\\xFCr\", normalized: \"for\" },\n        while: { primary: \"solange\", alternatives: [\"w\\xE4hrend\"], normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"forever\", normalized: \"forever\" },\n        continue: { primary: \"fortfahren\", alternatives: [\"weiter\"], normalized: \"continue\" },\n        halt: { primary: \"anhalten\", alternatives: [\"stoppen\"], normalized: \"halt\" },\n        throw: { primary: \"werfen\", normalized: \"throw\" },\n        call: { primary: \"aufrufen\", normalized: \"call\" },\n        return: { primary: \"zur\\xFCckgeben\", normalized: \"return\" },\n        then: { primary: \"dann\", alternatives: [\"danach\", \"anschlie\\xDFend\"], normalized: \"then\" },\n        and: { primary: \"und\", alternatives: [\"sowie\", \"auch\"], normalized: \"and\" },\n        // Predicate keywords (conditionals) — mirrors the Spanish profile, the only\n        // language that previously parsed `is empty`-style predicates.\n        is: { primary: \"ist\", normalized: \"is\" },\n        end: { primary: \"ende\", alternatives: [\"fertig\"], normalized: \"end\" },\n        js: { primary: \"js\", alternatives: [\"javascript\"], normalized: \"js\" },\n        async: { primary: \"asynchron\", normalized: \"async\" },\n        tell: { primary: \"sagen\", normalized: \"tell\" },\n        default: { primary: \"standard\", normalized: \"default\" },\n        init: { primary: \"initialisieren\", normalized: \"init\" },\n        behavior: { primary: \"verhalten\", normalized: \"behavior\" },\n        install: { primary: \"installieren\", normalized: \"install\" },\n        measure: { primary: \"messen\", normalized: \"measure\" },\n        beep: { primary: \"piepton\", normalized: \"beep\" },\n        break: { primary: \"unterbrechen\", normalized: \"break\" },\n        copy: { primary: \"kopieren\", normalized: \"copy\" },\n        exit: { primary: \"beenden\", normalized: \"exit\" },\n        pick: { primary: \"ausw\\xE4hlen\", normalized: \"pick\" },\n        render: { primary: \"rendern\", normalized: \"render\" },\n        into: { primary: \"hinein\", normalized: \"into\" },\n        before: { primary: \"vor\", normalized: \"before\" },\n        after: { primary: \"nach\", normalized: \"after\" },\n        // Common event names (for event handler patterns)\n        click: { primary: \"Klick\", alternatives: [\"Klicken\"], normalized: \"click\" },\n        hover: { primary: \"Hover\", alternatives: [\"Schweben\"], normalized: \"hover\" },\n        submit: { primary: \"Absenden\", alternatives: [\"Senden\"], normalized: \"submit\" },\n        input: { primary: \"Eingabe\", normalized: \"input\" },\n        change: { primary: \"\\xC4nderung\", alternatives: [\"\\xC4ndern\"], normalized: \"change\" },\n        // `resize` event (window-resize): the i18n dict emits größeändern; without it\n        // the word tokenized as an identifier → event:expression (the on.event R1\n        // residue). Registering it as the resize event yields event:literal=\"resize\".\n        resize: { primary: \"gr\\xF6\\xDFe\\xE4ndern\", normalized: \"resize\" },\n        // Event modifiers (for repeat until event)\n        until: { primary: \"bis\", normalized: \"until\" },\n        event: { primary: \"Ereignis\", alternatives: [\"Event\"], normalized: \"event\" },\n        from: { primary: \"von\", alternatives: [\"aus\"], normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-verbinden`, `hx-live`, etc.\n        connect: { primary: \"verbinden\", alternatives: [\"Verbindung\"], normalized: \"connect\" },\n        stream: { primary: \"stream\", alternatives: [\"Strom\"], normalized: \"stream\" },\n        live: { primary: \"direkt\", alternatives: [\"live\", \"echtzeit\"], normalized: \"live\" },\n        socket: { primary: \"socket\", alternatives: [\"websocket\"], normalized: \"socket\" },\n        // Reactive / realtime commands\n        bind: { primary: \"binden\", alternatives: [\"verknuepfen\", \"bind\"], normalized: \"bind\" },\n        intercept: { primary: \"abfangen\", alternatives: [\"intercept\"], normalized: \"intercept\" },\n        worker: { primary: \"arbeiter\", alternatives: [\"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"ereignisquelle\"],\n          normalized: \"eventsource\"\n        }\n      },\n      eventHandler: {\n        keyword: { primary: \"bei\", alternatives: [\"auf\"], normalized: \"on\" },\n        sourceMarker: { primary: \"von\", alternatives: [\"aus\"], position: \"before\" },\n        conditionalKeyword: { primary: \"wenn\", alternatives: [\"falls\"] },\n        // Event marker: bei (at/on), used in SVO pattern\n        // Pattern: bei [event] [verb] [patient] auf [destination?]\n        // Example: bei Klick umschalten .active auf #button\n        eventMarker: { primary: \"bei\", alternatives: [\"beim\"], position: \"before\" },\n        temporalMarkers: [\"wenn\", \"bei\"]\n        // temporal conjunctions (when, at)\n      }\n    };\n  }\n});\n\n// src/generators/profiles/english.ts\nvar english_exports = {};\n__export(english_exports, {\n  englishProfile: () => englishProfile\n});\nvar englishProfile;\nvar init_english = __esm({\n  \"src/generators/profiles/english.ts\"() {\n    \"use strict\";\n    englishProfile = {\n      code: \"en\",\n      name: \"English\",\n      nativeName: \"English\",\n      regions: [\"western\", \"priority\"],\n      direction: \"ltr\",\n      script: \"latin\",\n      wordOrder: \"SVO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: true,\n      // English infinitive and imperative are identical (\"toggle\", \"save\", \"open\")\n      defaultVerbForm: \"base\",\n      verb: {\n        position: \"start\",\n        subjectDrop: false\n      },\n      references: {\n        me: \"me\",\n        it: \"it\",\n        you: \"you\",\n        result: \"result\",\n        event: \"event\",\n        target: \"target\",\n        body: \"body\"\n      },\n      possessive: {\n        marker: \"'s\",\n        markerPosition: \"after-object\",\n        specialForms: {\n          me: \"my\",\n          it: \"its\",\n          you: \"your\"\n        },\n        keywords: {\n          my: \"me\",\n          your: \"you\",\n          its: \"it\"\n        }\n      },\n      roleMarkers: {\n        destination: { primary: \"on\", alternatives: [\"to\", \"from\"], position: \"before\" },\n        source: { primary: \"from\", position: \"before\" },\n        patient: { primary: \"\", position: \"before\" },\n        style: { primary: \"with\", alternatives: [\"by\", \"using\"], position: \"before\" },\n        responseType: { primary: \"as\", position: \"before\" },\n        method: { primary: \"via\", alternatives: [\"using\"], position: \"before\" }\n      },\n      keywords: {\n        toggle: { primary: \"toggle\" },\n        add: { primary: \"add\" },\n        remove: { primary: \"remove\" },\n        put: { primary: \"put\" },\n        append: { primary: \"append\" },\n        prepend: { primary: \"prepend\" },\n        take: { primary: \"take\" },\n        make: { primary: \"make\" },\n        clone: { primary: \"clone\" },\n        swap: { primary: \"swap\" },\n        morph: { primary: \"morph\" },\n        set: { primary: \"set\" },\n        get: { primary: \"get\" },\n        increment: { primary: \"increment\" },\n        decrement: { primary: \"decrement\" },\n        log: { primary: \"log\" },\n        show: { primary: \"show\" },\n        hide: { primary: \"hide\" },\n        transition: { primary: \"transition\" },\n        on: { primary: \"on\" },\n        trigger: { primary: \"trigger\" },\n        send: { primary: \"send\" },\n        focus: { primary: \"focus\" },\n        blur: { primary: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"empty\", normalized: \"empty\" },\n        open: { primary: \"open\", normalized: \"open\" },\n        close: { primary: \"close\", normalized: \"close\" },\n        select: { primary: \"select\", normalized: \"select\" },\n        clear: { primary: \"clear\", normalized: \"clear\" },\n        reset: { primary: \"reset\", normalized: \"reset\" },\n        breakpoint: { primary: \"breakpoint\", normalized: \"breakpoint\" },\n        go: { primary: \"go\" },\n        scroll: { primary: \"scroll\", normalized: \"scroll\" },\n        push: { primary: \"push\", normalized: \"push\" },\n        replace: { primary: \"replace\", normalized: \"replace\" },\n        process: { primary: \"process\", normalized: \"process\" },\n        wait: { primary: \"wait\" },\n        fetch: { primary: \"fetch\" },\n        settle: { primary: \"settle\" },\n        if: { primary: \"if\" },\n        when: { primary: \"when\", normalized: \"when\" },\n        where: { primary: \"where\", normalized: \"where\" },\n        else: { primary: \"else\" },\n        repeat: { primary: \"repeat\" },\n        for: { primary: \"for\" },\n        while: { primary: \"while\" },\n        continue: { primary: \"continue\" },\n        halt: { primary: \"halt\" },\n        throw: { primary: \"throw\" },\n        call: { primary: \"call\" },\n        return: { primary: \"return\" },\n        then: { primary: \"then\" },\n        and: { primary: \"and\" },\n        end: { primary: \"end\" },\n        js: { primary: \"js\" },\n        async: { primary: \"async\" },\n        tell: { primary: \"tell\" },\n        default: { primary: \"default\" },\n        init: { primary: \"init\" },\n        behavior: { primary: \"behavior\" },\n        install: { primary: \"install\" },\n        measure: { primary: \"measure\" },\n        beep: { primary: \"beep\" },\n        break: { primary: \"break\" },\n        copy: { primary: \"copy\" },\n        exit: { primary: \"exit\" },\n        pick: { primary: \"pick\" },\n        render: { primary: \"render\" },\n        into: { primary: \"into\" },\n        before: { primary: \"before\" },\n        after: { primary: \"after\" },\n        until: { primary: \"until\" },\n        event: { primary: \"event\" },\n        from: { primary: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): keywords used as attribute\n        // suffixes by the vocab generator — `sse-connect`, `hx-live`, etc.\n        connect: { primary: \"connect\", normalized: \"connect\" },\n        stream: { primary: \"stream\", normalized: \"stream\" },\n        live: { primary: \"live\", normalized: \"live\" },\n        socket: { primary: \"socket\", alternatives: [\"websocket\"], normalized: \"socket\" },\n        bind: { primary: \"bind\", normalized: \"bind\" },\n        eventsource: { primary: \"eventsource\", normalized: \"eventsource\" },\n        worker: { primary: \"worker\", normalized: \"worker\" },\n        intercept: { primary: \"intercept\", normalized: \"intercept\" }\n      }\n    };\n  }\n});\n\n// src/generators/profiles/spanish.ts\nvar spanish_exports = {};\n__export(spanish_exports, {\n  spanishProfile: () => spanishProfile\n});\nvar spanishProfile;\nvar init_spanish = __esm({\n  \"src/generators/profiles/spanish.ts\"() {\n    \"use strict\";\n    spanishProfile = {\n      code: \"es\",\n      name: \"Spanish\",\n      nativeName: \"Espa\\xF1ol\",\n      regions: [\"western\", \"priority\"],\n      direction: \"ltr\",\n      script: \"latin\",\n      wordOrder: \"SVO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: true,\n      // Infinitive is standard for Spanish software UI (Guardar, Cancelar, Abrir)\n      // This matches macOS, Windows, and web app conventions\n      defaultVerbForm: \"infinitive\",\n      verb: {\n        position: \"start\",\n        subjectDrop: true\n      },\n      references: {\n        me: \"yo\",\n        // \"I/me\" (mí, mi are alternatives handled in possessive)\n        it: \"ello\",\n        // \"it\"\n        you: \"t\\xFA\",\n        // \"you\"\n        result: \"resultado\",\n        event: \"evento\",\n        target: \"objetivo\",\n        // destino is a synonym\n        body: \"cuerpo\"\n      },\n      possessive: {\n        marker: \"de\",\n        // Spanish uses \"de\" for general possession\n        markerPosition: \"before-property\",\n        usePossessiveAdjectives: true,\n        specialForms: {\n          me: \"mi\",\n          // \"my\" (possessive adjective)\n          it: \"su\",\n          // \"its\"\n          you: \"tu\"\n          // \"your\"\n        },\n        keywords: {\n          mi: \"me\",\n          // Also accepts mí (with accent)\n          tu: \"you\",\n          su: \"it\"\n        }\n      },\n      roleMarkers: {\n        destination: { primary: \"en\", alternatives: [\"sobre\", \"a\"], position: \"before\" },\n        source: { primary: \"de\", alternatives: [\"desde\"], position: \"before\" },\n        patient: { primary: \"\", position: \"before\" },\n        style: { primary: \"con\", position: \"before\" }\n      },\n      keywords: {\n        // Class/Attribute operations\n        toggle: { primary: \"alternar\", alternatives: [\"conmutar\", \"toggle\"], normalized: \"toggle\" },\n        add: { primary: \"agregar\", alternatives: [\"a\\xF1adir\"], normalized: \"add\" },\n        remove: {\n          primary: \"quitar\",\n          alternatives: [\"eliminar\", \"remover\", \"sacar\", \"borrar\"],\n          normalized: \"remove\"\n        },\n        // Content operations\n        put: { primary: \"poner\", alternatives: [\"colocar\", \"pon\"], normalized: \"put\" },\n        append: { primary: \"anexar\", normalized: \"append\" },\n        prepend: { primary: \"anteponer\", normalized: \"prepend\" },\n        take: { primary: \"tomar\", normalized: \"take\" },\n        make: { primary: \"hacer\", alternatives: [\"crear\"], normalized: \"make\" },\n        clone: { primary: \"clonar\", alternatives: [\"duplicar\"], normalized: \"clone\" },\n        swap: { primary: \"intercambiar\", alternatives: [\"permutar\"], normalized: \"swap\" },\n        morph: { primary: \"transformar\", alternatives: [\"convertir\"], normalized: \"morph\" },\n        // Variable operations\n        set: { primary: \"establecer\", alternatives: [\"fijar\", \"definir\"], normalized: \"set\" },\n        get: { primary: \"obtener\", alternatives: [\"conseguir\"], normalized: \"get\" },\n        increment: { primary: \"incrementar\", alternatives: [\"aumentar\"], normalized: \"increment\" },\n        decrement: { primary: \"decrementar\", alternatives: [\"disminuir\"], normalized: \"decrement\" },\n        log: { primary: \"registrar\", alternatives: [\"imprimir\"], normalized: \"log\" },\n        // Visibility\n        show: { primary: \"mostrar\", alternatives: [\"ense\\xF1ar\"], normalized: \"show\" },\n        hide: { primary: \"ocultar\", alternatives: [\"esconder\"], normalized: \"hide\" },\n        transition: { primary: \"transici\\xF3n\", alternatives: [\"animar\"], normalized: \"transition\" },\n        // Events\n        on: { primary: \"en\", alternatives: [\"al\"], normalized: \"on\" },\n        trigger: { primary: \"disparar\", alternatives: [\"activar\"], normalized: \"trigger\" },\n        send: { primary: \"enviar\", normalized: \"send\" },\n        // DOM focus\n        focus: { primary: \"enfocar\", alternatives: [\"enfoque\"], normalized: \"focus\" },\n        blur: { primary: \"desenfocar\", alternatives: [\"desenfoque\"], normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        open: { primary: \"abrir\", normalized: \"open\" },\n        close: { primary: \"cerrar\", normalized: \"close\" },\n        select: { primary: \"seleccionar\", normalized: \"select\" },\n        clear: { primary: \"limpiar\", normalized: \"clear\" },\n        reset: { primary: \"reiniciar\", alternatives: [\"restablecer\"], normalized: \"reset\" },\n        breakpoint: {\n          primary: \"punto-interrupci\\xF3n\",\n          alternatives: [\"punto-interrupcion\"],\n          normalized: \"breakpoint\"\n        },\n        // Common event names (for event handler patterns)\n        click: { primary: \"clic\", alternatives: [\"hacer clic\", \"click\"], normalized: \"click\" },\n        // `resize` event (window-resize): dict emits redimensionar; register it so the\n        // event types as literal=\"resize\" (matching en) instead of expression.\n        resize: { primary: \"redimensionar\", normalized: \"resize\" },\n        hover: { primary: \"sobrevolar\", alternatives: [\"pasar por encima\"], normalized: \"hover\" },\n        submit: { primary: \"env\\xEDo\", alternatives: [\"envio\", \"someter\"], normalized: \"submit\" },\n        input: { primary: \"entrada\", alternatives: [\"introducir\"], normalized: \"input\" },\n        change: { primary: \"cambio\", alternatives: [\"cambiar\"], normalized: \"change\" },\n        // i18n dict emits the verb `cargar` for `load` (profile primary is the noun\n        // `carga`); recognize it so `on load` events type as a literal, not expression.\n        load: { primary: \"carga\", alternatives: [\"cargar\"], normalized: \"load\" },\n        scroll: { primary: \"desplazar\", alternatives: [\"desplazamiento\"], normalized: \"scroll\" },\n        keydown: { primary: \"tecla abajo\", normalized: \"keydown\" },\n        keyup: { primary: \"tecla arriba\", normalized: \"keyup\" },\n        mouseover: { primary: \"rat\\xF3n encima\", alternatives: [\"raton encima\"], normalized: \"mouseover\" },\n        mouseout: { primary: \"rat\\xF3n fuera\", alternatives: [\"raton fuera\"], normalized: \"mouseout\" },\n        // mousedown/mouseup (repeat-until-event): dict emits ratónabajo/ratónarriba —\n        // register so both the on.event and the repeat until-event type as literal.\n        mousedown: { primary: \"rat\\xF3nabajo\", normalized: \"mousedown\" },\n        mouseup: { primary: \"rat\\xF3narriba\", normalized: \"mouseup\" },\n        // Navigation\n        go: { primary: \"ir\", alternatives: [\"navegar\"], normalized: \"go\" },\n        push: { primary: \"empujar\", alternatives: [\"push\"], normalized: \"push\" },\n        replace: { primary: \"reemplazar\", alternatives: [\"sustituir\"], normalized: \"replace\" },\n        process: { primary: \"procesar\", normalized: \"process\" },\n        // Async\n        wait: { primary: \"esperar\", normalized: \"wait\" },\n        fetch: { primary: \"buscar\", alternatives: [\"recuperar\"], normalized: \"fetch\" },\n        settle: { primary: \"estabilizar\", normalized: \"settle\" },\n        // Control flow\n        if: { primary: \"si\", normalized: \"if\" },\n        unless: { primary: \"menos\", alternatives: [\"a menos que\", \"salvo\"], normalized: \"unless\" },\n        when: { primary: \"cuando\", normalized: \"when\" },\n        where: { primary: \"donde\", normalized: \"where\" },\n        else: { primary: \"sino\", alternatives: [\"de lo contrario\"], normalized: \"else\" },\n        repeat: { primary: \"repetir\", normalized: \"repeat\" },\n        for: { primary: \"para\", normalized: \"for\" },\n        while: { primary: \"mientras\", normalized: \"while\" },\n        // `repeat forever` loop keyword. The i18n dict never translated `forever`, so the\n        // corpus leaves it English (`repetir forever`) — the bare word then typed\n        // `loopType:expression` (SVO) / `loopType:reference` (SOV) instead of EN's\n        // `:literal` (the repeat.loopType R1 residue). Recognizing the English form the\n        // corpus carries lets the generated repeat pattern type it as a literal, matching\n        // EN. (Native translation belongs to a separate i18n-dict pass; until then the\n        // corpus word IS the English one, so that is the primary here.)\n        forever: { primary: \"forever\", normalized: \"forever\" },\n        continue: { primary: \"continuar\", normalized: \"continue\" },\n        halt: { primary: \"detener\", alternatives: [\"parar\"], normalized: \"halt\" },\n        throw: { primary: \"lanzar\", alternatives: [\"arrojar\"], normalized: \"throw\" },\n        call: { primary: \"llamar\", normalized: \"call\" },\n        return: { primary: \"retornar\", alternatives: [\"devolver\"], normalized: \"return\" },\n        then: { primary: \"entonces\", alternatives: [\"luego\"], normalized: \"then\" },\n        and: { primary: \"y\", alternatives: [\"adem\\xE1s\", \"tambi\\xE9n\"], normalized: \"and\" },\n        or: { primary: \"o\", normalized: \"or\" },\n        not: { primary: \"no\", normalized: \"not\" },\n        is: { primary: \"es\", normalized: \"is\" },\n        exists: { primary: \"existe\", normalized: \"exists\" },\n        empty: { primary: \"vac\\xEDo\", alternatives: [\"vacio\"], normalized: \"empty\" },\n        end: { primary: \"fin\", alternatives: [\"final\", \"terminar\"], normalized: \"end\" },\n        // Advanced\n        js: { primary: \"js\", normalized: \"js\" },\n        async: { primary: \"as\\xEDncrono\", alternatives: [\"asincrono\"], normalized: \"async\" },\n        tell: { primary: \"decir\", normalized: \"tell\" },\n        default: { primary: \"predeterminar\", alternatives: [\"por defecto\"], normalized: \"default\" },\n        init: { primary: \"iniciar\", alternatives: [\"inicializar\"], normalized: \"init\" },\n        behavior: { primary: \"comportamiento\", normalized: \"behavior\" },\n        install: { primary: \"instalar\", normalized: \"install\" },\n        measure: { primary: \"medir\", normalized: \"measure\" },\n        beep: { primary: \"pitido\", normalized: \"beep\" },\n        break: { primary: \"romper\", normalized: \"break\" },\n        copy: { primary: \"copiar\", normalized: \"copy\" },\n        exit: { primary: \"salir\", normalized: \"exit\" },\n        pick: { primary: \"escoger\", normalized: \"pick\" },\n        render: { primary: \"renderizar\", normalized: \"render\" },\n        // Positional expressions\n        first: { primary: \"primero\", alternatives: [\"primera\"], normalized: \"first\" },\n        last: { primary: \"\\xFAltimo\", alternatives: [\"ultima\"], normalized: \"last\" },\n        next: { primary: \"siguiente\", normalized: \"next\" },\n        previous: { primary: \"anterior\", normalized: \"previous\" },\n        closest: { primary: \"cercano\", normalized: \"closest\" },\n        parent: { primary: \"padre\", normalized: \"parent\" },\n        // Modifiers\n        into: { primary: \"dentro\", alternatives: [\"adentro\", \"dentro de\"], normalized: \"into\" },\n        before: { primary: \"antes\", alternatives: [\"antes de\"], normalized: \"before\" },\n        after: {\n          primary: \"despu\\xE9s\",\n          alternatives: [\"despues\", \"despu\\xE9s de\", \"despues de\"],\n          normalized: \"after\"\n        },\n        out: { primary: \"fuera\", alternatives: [\"fuera de\"], normalized: \"out\" },\n        // Event modifiers (for repeat until event)\n        until: { primary: \"hasta\", alternatives: [\"hasta que\"], normalized: \"until\" },\n        event: { primary: \"evento\", normalized: \"event\" },\n        from: { primary: \"de\", alternatives: [\"desde\"], normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-conectar`, `hx-en-vivo`, etc.\n        connect: { primary: \"conectar\", alternatives: [\"conectarse\"], normalized: \"connect\" },\n        stream: { primary: \"transmitir\", alternatives: [\"flujo\"], normalized: \"stream\" },\n        live: { primary: \"en-vivo\", alternatives: [\"vivo\", \"directo\"], normalized: \"live\" },\n        socket: { primary: \"socket\", alternatives: [\"websocket\"], normalized: \"socket\" },\n        // Reactive / realtime commands\n        bind: { primary: \"vincular\", alternatives: [\"enlazar\", \"bind\"], normalized: \"bind\" },\n        intercept: { primary: \"interceptar\", alternatives: [\"intercept\"], normalized: \"intercept\" },\n        worker: { primary: \"trabajador\", alternatives: [\"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"fuente-de-eventos\"],\n          normalized: \"eventsource\"\n        }\n      },\n      eventHandler: {\n        keyword: { primary: \"al\", alternatives: [\"cuando\", \"en\"], normalized: \"on\" },\n        sourceMarker: { primary: \"de\", alternatives: [\"desde\"], position: \"before\" },\n        // Event marker: al (when), used in SVO pattern\n        // Pattern: al [event] [verb] [patient] en [destination?]\n        // Example: al clic alternar .active en #button\n        // + the eventHandler.keyword word the i18n transformer actually emits —\n        // without it every generated fused `<cmd>-event-*-vso` pattern was dead\n        // (the swap/if recovery split, #346/#351)\n        eventMarker: { primary: \"al\", alternatives: [\"cuando\", \"en\"], position: \"before\" },\n        temporalMarkers: [\"cuando\", \"al\"]\n        // temporal conjunctions (when)\n      }\n    };\n  }\n});\n\n// src/generators/profiles/french.ts\nvar french_exports = {};\n__export(french_exports, {\n  frenchProfile: () => frenchProfile\n});\nvar frenchProfile;\nvar init_french = __esm({\n  \"src/generators/profiles/french.ts\"() {\n    \"use strict\";\n    frenchProfile = {\n      code: \"fr\",\n      name: \"French\",\n      nativeName: \"Fran\\xE7ais\",\n      regions: [\"western\", \"priority\"],\n      direction: \"ltr\",\n      script: \"latin\",\n      wordOrder: \"SVO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: true,\n      // Infinitive is standard for French software UI (Enregistrer, Ouvrir, Fermer)\n      defaultVerbForm: \"infinitive\",\n      verb: {\n        position: \"start\",\n        subjectDrop: false\n      },\n      references: {\n        me: \"moi\",\n        // \"I/me\"\n        it: \"il\",\n        // \"it\"\n        you: \"toi\",\n        // \"you\"\n        result: \"r\\xE9sultat\",\n        event: \"\\xE9v\\xE9nement\",\n        target: \"cible\",\n        body: \"corps\"\n      },\n      possessive: {\n        marker: \"de\",\n        // Uses \"de\" for general possession\n        markerPosition: \"before-property\",\n        usePossessiveAdjectives: true,\n        specialForms: {\n          me: \"ma\",\n          // \"my\" (feminine; \"mon\" for masculine)\n          it: \"sa\",\n          // \"its\" (feminine; \"son\" for masculine)\n          you: \"ta\"\n          // \"your\" (feminine; \"ton\" for masculine)\n        },\n        keywords: {\n          mon: \"me\",\n          ma: \"me\",\n          mes: \"me\",\n          ton: \"you\",\n          ta: \"you\",\n          tes: \"you\",\n          son: \"it\",\n          sa: \"it\",\n          ses: \"it\"\n        }\n      },\n      roleMarkers: {\n        destination: { primary: \"sur\", alternatives: [\"\\xE0\", \"dans\"], position: \"before\" },\n        source: { primary: \"de\", alternatives: [\"depuis\"], position: \"before\" },\n        patient: { primary: \"\", position: \"before\" },\n        style: { primary: \"avec\", position: \"before\" }\n      },\n      keywords: {\n        toggle: { primary: \"basculer\", alternatives: [\"alterner\"], normalized: \"toggle\" },\n        add: { primary: \"ajouter\", normalized: \"add\" },\n        remove: { primary: \"supprimer\", alternatives: [\"enlever\", \"retirer\"], normalized: \"remove\" },\n        put: { primary: \"mettre\", alternatives: [\"placer\"], normalized: \"put\" },\n        append: { primary: \"annexer\", normalized: \"append\" },\n        prepend: { primary: \"pr\\xE9fixer\", normalized: \"prepend\" },\n        take: { primary: \"prendre\", normalized: \"take\" },\n        make: { primary: \"faire\", alternatives: [\"cr\\xE9er\"], normalized: \"make\" },\n        clone: { primary: \"cloner\", alternatives: [\"dupliquer\"], normalized: \"clone\" },\n        swap: { primary: \"\\xE9changer\", alternatives: [\"permuter\"], normalized: \"swap\" },\n        morph: { primary: \"transformer\", alternatives: [\"m\\xE9tamorphoser\"], normalized: \"morph\" },\n        set: { primary: \"d\\xE9finir\", alternatives: [\"\\xE9tablir\"], normalized: \"set\" },\n        get: { primary: \"obtenir\", normalized: \"get\" },\n        increment: { primary: \"incr\\xE9menter\", alternatives: [\"augmenter\"], normalized: \"increment\" },\n        decrement: { primary: \"d\\xE9cr\\xE9menter\", alternatives: [\"diminuer\"], normalized: \"decrement\" },\n        log: { primary: \"enregistrer\", alternatives: [\"journaliser\"], normalized: \"log\" },\n        show: { primary: \"montrer\", alternatives: [\"afficher\"], normalized: \"show\" },\n        hide: { primary: \"cacher\", alternatives: [\"masquer\"], normalized: \"hide\" },\n        transition: { primary: \"transition\", alternatives: [\"animer\"], normalized: \"transition\" },\n        on: { primary: \"sur\", alternatives: [\"lors\"], normalized: \"on\" },\n        trigger: { primary: \"d\\xE9clencher\", normalized: \"trigger\" },\n        send: { primary: \"envoyer\", normalized: \"send\" },\n        focus: { primary: \"focaliser\", alternatives: [\"concentrer\"], normalized: \"focus\" },\n        blur: { primary: \"d\\xE9focaliser\", normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        // `vide` (adjective, \"empty\") is the i18n transformer's `is empty` predicate\n        // form; `vider` is the verb (\"to empty\"). Accept both so the emptiness check\n        // in conditions is recognized, not just the clear-element command.\n        empty: { primary: \"vider\", alternatives: [\"vide\"], normalized: \"empty\" },\n        open: { primary: \"ouvrir\", normalized: \"open\" },\n        close: { primary: \"fermer\", normalized: \"close\" },\n        select: { primary: \"s\\xE9lectionner\", alternatives: [\"selectionner\"], normalized: \"select\" },\n        clear: { primary: \"effacer\", normalized: \"clear\" },\n        reset: { primary: \"r\\xE9initialiser\", alternatives: [\"reinitialiser\"], normalized: \"reset\" },\n        breakpoint: { primary: \"point-arr\\xEAt\", alternatives: [\"point-arret\"], normalized: \"breakpoint\" },\n        go: { primary: \"aller\", alternatives: [\"naviguer\"], normalized: \"go\" },\n        scroll: { primary: \"d\\xE9filer\", alternatives: [\"faire-d\\xE9filer\"], normalized: \"scroll\" },\n        push: { primary: \"pousser\", normalized: \"push\" },\n        replace: { primary: \"remplacer\", normalized: \"replace\" },\n        process: { primary: \"traiter\", normalized: \"process\" },\n        wait: { primary: \"attendre\", normalized: \"wait\" },\n        fetch: { primary: \"chercher\", alternatives: [\"r\\xE9cup\\xE9rer\"], normalized: \"fetch\" },\n        settle: { primary: \"stabiliser\", normalized: \"settle\" },\n        if: { primary: \"si\", normalized: \"if\" },\n        unless: { primary: \"saufsi\", normalized: \"unless\" },\n        when: { primary: \"quand\", normalized: \"when\" },\n        where: { primary: \"o\\xF9\", normalized: \"where\" },\n        else: { primary: \"sinon\", normalized: \"else\" },\n        repeat: { primary: \"r\\xE9p\\xE9ter\", normalized: \"repeat\" },\n        for: { primary: \"pour\", normalized: \"for\" },\n        while: { primary: \"pendant\", normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"forever\", normalized: \"forever\" },\n        continue: { primary: \"continuer\", normalized: \"continue\" },\n        halt: { primary: \"arr\\xEAter\", alternatives: [\"stopper\"], normalized: \"halt\" },\n        throw: { primary: \"lancer\", normalized: \"throw\" },\n        call: { primary: \"appeler\", normalized: \"call\" },\n        return: { primary: \"retourner\", alternatives: [\"renvoyer\"], normalized: \"return\" },\n        then: { primary: \"puis\", alternatives: [\"ensuite\", \"alors\"], normalized: \"then\" },\n        and: { primary: \"et\", alternatives: [\"aussi\", \"\\xE9galement\"], normalized: \"and\" },\n        end: { primary: \"fin\", alternatives: [\"terminer\", \"finir\"], normalized: \"end\" },\n        js: { primary: \"js\", normalized: \"js\" },\n        async: { primary: \"asynchrone\", normalized: \"async\" },\n        tell: { primary: \"dire\", normalized: \"tell\" },\n        default: { primary: \"d\\xE9faut\", normalized: \"default\" },\n        init: { primary: \"initialiser\", normalized: \"init\" },\n        behavior: { primary: \"comportement\", normalized: \"behavior\" },\n        install: { primary: \"installer\", normalized: \"install\" },\n        measure: { primary: \"mesurer\", normalized: \"measure\" },\n        beep: { primary: \"bip\", normalized: \"beep\" },\n        break: { primary: \"interrompre\", normalized: \"break\" },\n        copy: { primary: \"copier\", normalized: \"copy\" },\n        exit: { primary: \"sortir\", normalized: \"exit\" },\n        pick: { primary: \"choisir\", normalized: \"pick\" },\n        render: { primary: \"rendu\", normalized: \"render\" },\n        into: { primary: \"dans\", normalized: \"into\" },\n        before: { primary: \"avant\", normalized: \"before\" },\n        after: { primary: \"apr\\xE8s\", normalized: \"after\" },\n        // Common event names (for event handler patterns)\n        click: { primary: \"clic\", alternatives: [\"clique\"], normalized: \"click\" },\n        // `resize` event (window-resize): dict emits redimensionner; register it so the\n        // event types as literal=\"resize\" (matching en) instead of expression.\n        resize: { primary: \"redimensionner\", normalized: \"resize\" },\n        hover: { primary: \"survol\", alternatives: [\"survoler\"], normalized: \"hover\" },\n        submit: { primary: \"soumission\", alternatives: [\"soumettre\"], normalized: \"submit\" },\n        input: { primary: \"saisie\", alternatives: [\"entr\\xE9e\"], normalized: \"input\" },\n        // i18n dict emits the verb `changer` for `change` (profile primary is the noun\n        // `changement`); recognize it so `on change` events type as a literal.\n        change: { primary: \"changement\", alternatives: [\"modifier\", \"changer\"], normalized: \"change\" },\n        // i18n dict emits `charger` for `load`; without it `on load` events type as expression.\n        load: { primary: \"charger\", alternatives: [\"chargement\"], normalized: \"load\" },\n        // Event modifiers (for repeat until event)\n        until: { primary: \"jusqu'\\xE0\", alternatives: [\"jusque\"], normalized: \"until\" },\n        event: { primary: \"\\xE9v\\xE9nement\", normalized: \"event\" },\n        from: { primary: \"de\", alternatives: [\"depuis\"], normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-connecter`, `hx-en-direct`, etc.\n        connect: { primary: \"connecter\", alternatives: [\"connexion\"], normalized: \"connect\" },\n        stream: { primary: \"flux\", alternatives: [\"streaming\"], normalized: \"stream\" },\n        live: { primary: \"en-direct\", alternatives: [\"direct\", \"vif\"], normalized: \"live\" },\n        socket: { primary: \"socket\", alternatives: [\"websocket\"], normalized: \"socket\" },\n        // Reactive / realtime commands\n        bind: { primary: \"lier\", alternatives: [\"relier\", \"bind\"], normalized: \"bind\" },\n        intercept: { primary: \"intercepter\", alternatives: [\"intercept\"], normalized: \"intercept\" },\n        worker: { primary: \"travailleur\", alternatives: [\"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"source-d-evenements\"],\n          normalized: \"eventsource\"\n        }\n      },\n      eventHandler: {\n        keyword: { primary: \"sur\", alternatives: [\"lors\"], normalized: \"on\" },\n        sourceMarker: { primary: \"de\", alternatives: [\"depuis\"], position: \"before\" },\n        conditionalKeyword: { primary: \"quand\", alternatives: [\"lorsque\"] },\n        // Event marker: au (at/upon), used in SVO pattern\n        // Pattern: au [event] [verb] [patient] sur [destination?]\n        // Example: au clic basculer .active sur #button\n        // + the eventHandler.keyword word the i18n transformer actually emits —\n        // without it every generated fused `<cmd>-event-*-vso` pattern was dead\n        // (the swap/if recovery split, #346/#351)\n        eventMarker: { primary: \"au\", alternatives: [\"lors du\", \"lors de\", \"sur\"], position: \"before\" },\n        temporalMarkers: [\"quand\", \"lorsque\"]\n        // temporal conjunctions (when)\n      }\n    };\n  }\n});\n\n// src/generators/profiles/he.ts\nvar he_exports = {};\n__export(he_exports, {\n  hebrewProfile: () => hebrewProfile\n});\nvar hebrewProfile;\nvar init_he = __esm({\n  \"src/generators/profiles/he.ts\"() {\n    \"use strict\";\n    hebrewProfile = {\n      code: \"he\",\n      name: \"Hebrew\",\n      nativeName: \"\\u05E2\\u05D1\\u05E8\\u05D9\\u05EA\",\n      direction: \"rtl\",\n      script: \"hebrew\",\n      wordOrder: \"SVO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: true,\n      verb: {\n        position: \"second\",\n        // SVO - verb comes after subject\n        subjectDrop: true\n      },\n      references: {\n        me: \"\\u05D0\\u05E0\\u05D9\",\n        // \"I/me\"\n        it: \"\\u05D6\\u05D4\",\n        // \"it\" (masculine) / \"this\"\n        you: \"\\u05D0\\u05EA\\u05D4\",\n        // \"you\" (masculine singular)\n        result: \"\\u05EA\\u05D5\\u05E6\\u05D0\\u05D4\",\n        event: \"\\u05D0\\u05D9\\u05E8\\u05D5\\u05E2\",\n        target: \"\\u05D9\\u05E2\\u05D3\",\n        body: \"\\u05D2\\u05D5\\u05E3\"\n      },\n      possessive: {\n        marker: \"\\u05E9\\u05DC\",\n        // \"of\" - used for general possession\n        markerPosition: \"before-property\",\n        usePossessiveAdjectives: true,\n        specialForms: {\n          // Hebrew: \"property שלי\" (property of-me) - possessive follows property\n          me: \"\\u05E9\\u05DC\\u05D9\",\n          // \"of me\" / \"mine\"\n          it: \"\\u05E9\\u05DC\\u05D5\",\n          // \"of it\" / \"its\" (masculine)\n          you: \"\\u05E9\\u05DC\\u05DA\"\n          // \"of you\" / \"yours\"\n        },\n        keywords: {\n          // \"my\" / \"mine\"\n          \\u05E9\\u05DC\\u05D9: \"me\",\n          // \"your\" / \"yours\"\n          \\u05E9\\u05DC\\u05DA: \"you\",\n          // \"its/his/her\"\n          \\u05E9\\u05DC\\u05D5: \"it\",\n          // his/its (masculine)\n          \\u05E9\\u05DC\\u05D4: \"it\"\n          // her/its (feminine)\n        }\n      },\n      roleMarkers: {\n        destination: { primary: \"\\u05E2\\u05DC\", alternatives: [\"\\u05D1\", \"\\u05D0\\u05DC\", \"\\u05DC\"], position: \"before\" },\n        source: { primary: \"\\u05DE\", alternatives: [\"\\u05DE\\u05DF\", \"\\u05DE\\u05D0\\u05EA\"], position: \"before\" },\n        patient: { primary: \"\\u05D0\\u05EA\", position: \"before\" },\n        // Direct object marker\n        style: { primary: \"\\u05E2\\u05DD\", alternatives: [\"\\u05D1\"], position: \"before\" }\n      },\n      keywords: {\n        // Class/Attribute operations\n        toggle: { primary: \"\\u05DE\\u05EA\\u05D2\", alternatives: [\"\\u05D4\\u05D3\\u05DC\\u05E7 \\u05DB\\u05D1\\u05D4\"], normalized: \"toggle\" },\n        add: { primary: \"\\u05D4\\u05D5\\u05E1\\u05E3\", normalized: \"add\" },\n        remove: { primary: \"\\u05D4\\u05E1\\u05E8\", alternatives: [\"\\u05DE\\u05D7\\u05E7\", \"\\u05D4\\u05D5\\u05E8\\u05D3\"], normalized: \"remove\" },\n        // Content operations\n        put: { primary: \"\\u05E9\\u05D9\\u05DD\", alternatives: [\"\\u05D4\\u05E0\\u05D7\", \"\\u05D4\\u05DB\\u05E0\\u05E1\"], normalized: \"put\" },\n        append: { primary: \"\\u05E6\\u05E8\\u05E3\", alternatives: [\"\\u05D4\\u05D5\\u05E1\\u05E3 \\u05D1\\u05E1\\u05D5\\u05E3\"], normalized: \"append\" },\n        prepend: { primary: \"\\u05D4\\u05E7\\u05D3\\u05DD\", alternatives: [\"\\u05D4\\u05D5\\u05E1\\u05E3 \\u05D1\\u05D4\\u05EA\\u05D7\\u05DC\\u05D4\"], normalized: \"prepend\" },\n        take: { primary: \"\\u05E7\\u05D7\", normalized: \"take\" },\n        make: { primary: \"\\u05E6\\u05D5\\u05E8\", alternatives: [\"\\u05D4\\u05DB\\u05DF\"], normalized: \"make\" },\n        clone: { primary: \"\\u05E9\\u05DB\\u05E4\\u05DC\", normalized: \"clone\" },\n        swap: { primary: \"\\u05D4\\u05D7\\u05DC\\u05E3\", alternatives: [\"\\u05D4\\u05DE\\u05E8\"], normalized: \"swap\" },\n        morph: { primary: \"\\u05D4\\u05E4\\u05D5\\u05DA\", alternatives: [\"\\u05E2\\u05E6\\u05D1 \\u05DE\\u05D7\\u05D3\\u05E9\"], normalized: \"morph\" },\n        // Variable operations\n        set: { primary: \"\\u05E7\\u05D1\\u05E2\", alternatives: [\"\\u05D4\\u05D2\\u05D3\\u05E8\"], normalized: \"set\" },\n        get: { primary: \"\\u05E7\\u05D1\\u05DC\", alternatives: [\"\\u05D4\\u05E9\\u05D2\"], normalized: \"get\" },\n        increment: { primary: \"\\u05D4\\u05D2\\u05D3\\u05DC\", alternatives: [\"\\u05D4\\u05D5\\u05E1\\u05E3 \\u05D0\\u05D7\\u05D3\"], normalized: \"increment\" },\n        decrement: { primary: \"\\u05D4\\u05E7\\u05D8\\u05DF\", alternatives: [\"\\u05D4\\u05E4\\u05D7\\u05EA\"], normalized: \"decrement\" },\n        log: { primary: \"\\u05E8\\u05E9\\u05D5\\u05DD\", normalized: \"log\" },\n        // Visibility\n        show: { primary: \"\\u05D4\\u05E8\\u05D0\\u05D4\", alternatives: [\"\\u05D4\\u05E6\\u05D2\"], normalized: \"show\" },\n        hide: { primary: \"\\u05D4\\u05E1\\u05EA\\u05E8\", alternatives: [\"\\u05D4\\u05D7\\u05D1\\u05D0\"], normalized: \"hide\" },\n        transition: { primary: \"\\u05DE\\u05E2\\u05D1\\u05E8\", alternatives: [\"\\u05D4\\u05E0\\u05E4\\u05E9\"], normalized: \"transition\" },\n        // Events\n        // NOTE: עם is he's WITH/style marker, NOT an event word — listing it as an\n        // `on` alternative anchored phantom handlers on `עם method:\"POST\"` tails.\n        on: { primary: \"\\u05D1\", normalized: \"on\" },\n        trigger: { primary: \"\\u05D4\\u05E4\\u05E2\\u05DC\", alternatives: [\"\\u05E9\\u05D2\\u05E8\"], normalized: \"trigger\" },\n        send: { primary: \"\\u05E9\\u05DC\\u05D7\", normalized: \"send\" },\n        // DOM focus\n        focus: { primary: \"\\u05DE\\u05E7\\u05D3\", alternatives: [\"\\u05D4\\u05EA\\u05DE\\u05E7\\u05D3\"], normalized: \"focus\" },\n        blur: { primary: \"\\u05D8\\u05E9\\u05D8\\u05E9\", alternatives: [\"\\u05D4\\u05E1\\u05E8 \\u05DE\\u05D9\\u05E7\\u05D5\\u05D3\"], normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"\\u05E8\\u05D5\\u05E7\\u05DF\", normalized: \"empty\" },\n        open: { primary: \"\\u05E4\\u05EA\\u05D7\", normalized: \"open\" },\n        close: { primary: \"\\u05E1\\u05D2\\u05D5\\u05E8\", normalized: \"close\" },\n        select: { primary: \"\\u05E1\\u05DE\\u05DF\", normalized: \"select\" },\n        clear: { primary: \"\\u05E0\\u05E7\\u05D4\", normalized: \"clear\" },\n        reset: { primary: \"\\u05D0\\u05E4\\u05E1\", normalized: \"reset\" },\n        // The i18n he dictionary has no breakpoint entry — the transformer passes\n        // the en loanword through verbatim, so parsing must accept it alongside\n        // the native compound.\n        breakpoint: { primary: \"\\u05E0\\u05E7\\u05D5\\u05D3\\u05EA-\\u05E2\\u05E6\\u05D9\\u05E8\\u05D4\", alternatives: [\"breakpoint\"], normalized: \"breakpoint\" },\n        // Navigation\n        go: { primary: \"\\u05DC\\u05DA\", alternatives: [\"\\u05E0\\u05D5\\u05D5\\u05D8\"], normalized: \"go\" },\n        scroll: { primary: \"\\u05D2\\u05DC\\u05D5\\u05DC\", normalized: \"scroll\" },\n        push: { primary: \"\\u05D3\\u05D7\\u05D5\\u05E3\", alternatives: [\"\\u05D4\\u05D5\\u05E1\\u05E3-\\u05DC\\u05D4\\u05D9\\u05E1\\u05D8\\u05D5\\u05E8\\u05D9\\u05D4\"], normalized: \"push\" },\n        replace: { primary: \"\\u05D4\\u05D7\\u05DC\\u05E3_\\u05DB\\u05EA\\u05D5\\u05D1\\u05EA\", alternatives: [\"\\u05E9\\u05E0\\u05D4_\\u05DB\\u05EA\\u05D5\\u05D1\\u05EA\"], normalized: \"replace\" },\n        process: { primary: \"\\u05E2\\u05D1\\u05D3\", alternatives: [\"\\u05E2\\u05D9\\u05D1\\u05D5\\u05D3\"], normalized: \"process\" },\n        // Async\n        wait: { primary: \"\\u05D7\\u05DB\\u05D4\", alternatives: [\"\\u05D4\\u05DE\\u05EA\\u05DF\"], normalized: \"wait\" },\n        fetch: { primary: \"\\u05D4\\u05D1\\u05D0\", alternatives: [\"\\u05D8\\u05E2\\u05DF\"], normalized: \"fetch\" },\n        settle: { primary: \"\\u05D4\\u05EA\\u05D9\\u05D9\\u05E6\\u05D1\", normalized: \"settle\" },\n        // Control flow\n        if: { primary: \"\\u05D0\\u05DD\", normalized: \"if\" },\n        unless: { primary: \"\\u05D0\\u05DC\\u05D0\", normalized: \"unless\" },\n        when: { primary: \"\\u05DB\\u05D0\\u05E9\\u05E8\", alternatives: [\"\\u05DB\\u05E9\"], normalized: \"when\" },\n        where: { primary: \"\\u05D0\\u05D9\\u05E4\\u05D4\", alternatives: [\"\\u05D4\\u05D9\\u05DB\\u05DF\"], normalized: \"where\" },\n        else: { primary: \"\\u05D0\\u05D7\\u05E8\\u05EA\", alternatives: [\"\\u05D0\\u05DD \\u05DC\\u05D0\"], normalized: \"else\" },\n        repeat: { primary: \"\\u05D7\\u05D6\\u05D5\\u05E8\", normalized: \"repeat\" },\n        for: { primary: \"\\u05E2\\u05D1\\u05D5\\u05E8\", alternatives: [\"\\u05DC\\u05DB\\u05DC\"], normalized: \"for\" },\n        while: { primary: \"\\u05DB\\u05DC \\u05E2\\u05D5\\u05D3\", alternatives: [\"\\u05D1\\u05D6\\u05DE\\u05DF\"], normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"forever\", normalized: \"forever\" },\n        continue: { primary: \"\\u05D4\\u05DE\\u05E9\\u05DA\", normalized: \"continue\" },\n        halt: { primary: \"\\u05E2\\u05E6\\u05D5\\u05E8\", alternatives: [\"\\u05D4\\u05E4\\u05E1\\u05E7\"], normalized: \"halt\" },\n        throw: { primary: \"\\u05D6\\u05E8\\u05D5\\u05E7\", normalized: \"throw\" },\n        call: { primary: \"\\u05E7\\u05E8\\u05D0\", alternatives: [\"\\u05D6\\u05DE\\u05DF\"], normalized: \"call\" },\n        return: { primary: \"\\u05D4\\u05D7\\u05D6\\u05E8\", normalized: \"return\" },\n        then: { primary: \"\\u05D0\\u05D6\", alternatives: [\"\\u05D5\\u05D0\\u05D6\"], normalized: \"then\" },\n        and: { primary: \"\\u05D5\\u05D2\\u05DD\", alternatives: [\"\\u05D2\\u05DD\"], normalized: \"and\" },\n        end: { primary: \"\\u05E1\\u05D5\\u05E3\", alternatives: [\"\\u05E1\\u05D9\\u05D5\\u05DD\"], normalized: \"end\" },\n        // Advanced\n        js: { primary: \"js\", alternatives: [\"\\u05D2\\u05F3\\u05D0\\u05D5\\u05D5\\u05D4\\u05E1\\u05E7\\u05E8\\u05D9\\u05E4\\u05D8\"], normalized: \"js\" },\n        async: { primary: \"\\u05D0\\u05E1\\u05D9\\u05E0\\u05DB\\u05E8\\u05D5\\u05E0\\u05D9\", normalized: \"async\" },\n        tell: { primary: \"\\u05D0\\u05DE\\u05D5\\u05E8\", normalized: \"tell\" },\n        default: { primary: \"\\u05D1\\u05E8\\u05D9\\u05E8\\u05EA \\u05DE\\u05D7\\u05D3\\u05DC\", normalized: \"default\" },\n        init: { primary: \"\\u05D0\\u05EA\\u05D7\\u05DC\", alternatives: [\"\\u05D4\\u05EA\\u05D7\\u05DC\"], normalized: \"init\" },\n        behavior: { primary: \"\\u05D4\\u05EA\\u05E0\\u05D4\\u05D2\\u05D5\\u05EA\", normalized: \"behavior\" },\n        install: { primary: \"\\u05D4\\u05EA\\u05E7\\u05DF\", normalized: \"install\" },\n        measure: { primary: \"\\u05DE\\u05D3\\u05D5\\u05D3\", normalized: \"measure\" },\n        beep: { primary: \"\\u05D1\\u05D9\\u05E4\", normalized: \"beep\" },\n        break: { primary: \"\\u05E9\\u05D1\\u05D5\\u05E8\", normalized: \"break\" },\n        copy: { primary: \"\\u05D4\\u05E2\\u05EA\\u05E7\", normalized: \"copy\" },\n        exit: { primary: \"\\u05E6\\u05D0\", normalized: \"exit\" },\n        pick: { primary: \"\\u05D1\\u05D7\\u05E8\", normalized: \"pick\" },\n        render: { primary: \"\\u05E8\\u05E0\\u05D3\\u05E8\", normalized: \"render\" },\n        // Modifiers\n        into: { primary: \"\\u05DC\\u05EA\\u05D5\\u05DA\", alternatives: [\"\\u05D0\\u05DC\"], normalized: \"into\" },\n        before: { primary: \"\\u05DC\\u05E4\\u05E0\\u05D9\", normalized: \"before\" },\n        after: { primary: \"\\u05D0\\u05D7\\u05E8\\u05D9\", normalized: \"after\" },\n        // Common event names (for event handler patterns)\n        click: { primary: \"\\u05DC\\u05D7\\u05D9\\u05E6\\u05D4\", alternatives: [\"\\u05E7\\u05DC\\u05D9\\u05E7\"], normalized: \"click\" },\n        hover: { primary: \"\\u05E8\\u05D9\\u05D7\\u05D5\\u05E3\", normalized: \"hover\" },\n        submit: { primary: \"\\u05E9\\u05DC\\u05D9\\u05D7\\u05D4\", alternatives: [\"\\u05D4\\u05D2\\u05E9\\u05D4\"], normalized: \"submit\" },\n        input: { primary: \"\\u05E7\\u05DC\\u05D8\", alternatives: [\"\\u05D4\\u05D6\\u05E0\\u05D4\"], normalized: \"input\" },\n        change: { primary: \"\\u05E9\\u05D9\\u05E0\\u05D5\\u05D9\", alternatives: [\"\\u05E2\\u05D3\\u05DB\\u05D5\\u05DF\"], normalized: \"change\" },\n        // Event modifiers (for repeat until event)\n        until: { primary: \"\\u05E2\\u05D3\", normalized: \"until\" },\n        event: { primary: \"\\u05D0\\u05D9\\u05E8\\u05D5\\u05E2\", normalized: \"event\" },\n        from: { primary: \"\\u05DE\", alternatives: [\"\\u05DE\\u05D0\\u05EA\"], normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-התחבר`, `hx-חי`, etc.\n        connect: { primary: \"\\u05D4\\u05EA\\u05D7\\u05D1\\u05E8\", alternatives: [\"\\u05D7\\u05D1\\u05E8\", \"\\u05D4\\u05EA\\u05D7\\u05D1\\u05E8\\u05D5\\u05EA\"], normalized: \"connect\" },\n        stream: { primary: \"\\u05D4\\u05D6\\u05E8\\u05DD\", alternatives: [\"\\u05E1\\u05D8\\u05E8\\u05D9\\u05DD\", \"\\u05E9\\u05D9\\u05D3\\u05D5\\u05E8\"], normalized: \"stream\" },\n        live: { primary: \"\\u05D7\\u05D9\", alternatives: [\"\\u05D1\\u05D6\\u05DE\\u05DF-\\u05D0\\u05DE\\u05EA\", \"\\u05DC\\u05D9\\u05D9\\u05D1\"], normalized: \"live\" },\n        socket: { primary: \"\\u05E9\\u05E7\\u05E2\", alternatives: [\"\\u05E1\\u05D5\\u05E7\\u05D8\", \"\\u05D5\\u05D5\\u05D1-\\u05E1\\u05D5\\u05E7\\u05D8\", \"socket\"], normalized: \"socket\" },\n        // Reactive / realtime commands\n        bind: { primary: \"\\u05E7\\u05E9\\u05D5\\u05E8\", alternatives: [\"\\u05D0\\u05D2\\u05D3\", \"bind\"], normalized: \"bind\" },\n        intercept: { primary: \"\\u05D9\\u05D9\\u05E8\\u05D8\", alternatives: [\"\\u05D9\\u05D9\\u05E8\\u05D5\\u05D8\", \"intercept\"], normalized: \"intercept\" },\n        worker: { primary: \"\\u05E2\\u05D5\\u05D1\\u05D3\", alternatives: [\"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"\\u05DE\\u05E7\\u05D5\\u05E8-\\u05D0\\u05D9\\u05E8\\u05D5\\u05E2\\u05D9\\u05DD\"],\n          normalized: \"eventsource\"\n        }\n      },\n      tokenization: {\n        prefixes: [\"\\u05D4\", \"\\u05D5\", \"\\u05D1\", \"\\u05DB\", \"\\u05DC\", \"\\u05DE\", \"\\u05E9\"]\n        // Common Hebrew prefixes\n      },\n      eventHandler: {\n        keyword: { primary: \"\\u05D1\", normalized: \"on\" },\n        sourceMarker: { primary: \"\\u05DE\", alternatives: [\"\\u05DE\\u05D0\\u05EA\"], position: \"before\" },\n        conditionalKeyword: { primary: \"\\u05DB\\u05D0\\u05E9\\u05E8\", alternatives: [\"\\u05DB\\u05E9\", \"\\u05D0\\u05DD\"] },\n        // Event marker: ב (at/upon), used in SVO pattern\n        // Pattern: ב [event] [verb] [patient] על [destination?]\n        // Example: בלחיצה החלף .active על #button\n        eventMarker: { primary: \"\\u05D1\", alternatives: [\"\\u05DB\\u05E9\"], position: \"before\" },\n        temporalMarkers: [\"\\u05DB\\u05D0\\u05E9\\u05E8\", \"\\u05DB\\u05E9\"]\n        // temporal conjunctions (when); עם is the WITH marker, not temporal\n      }\n    };\n  }\n});\n\n// src/generators/profiles/hindi.ts\nvar hindi_exports = {};\n__export(hindi_exports, {\n  hindiProfile: () => hindiProfile\n});\nvar hindiProfile;\nvar init_hindi = __esm({\n  \"src/generators/profiles/hindi.ts\"() {\n    \"use strict\";\n    hindiProfile = {\n      code: \"hi\",\n      name: \"Hindi\",\n      nativeName: \"\\u0939\\u093F\\u0928\\u094D\\u0926\\u0940\",\n      direction: \"ltr\",\n      script: \"devanagari\",\n      wordOrder: \"SOV\",\n      markingStrategy: \"postposition\",\n      usesSpaces: true,\n      // Hindi uses imperative forms for commands in software UI\n      defaultVerbForm: \"imperative\",\n      verb: {\n        position: \"end\",\n        suffixes: [\"\\u0947\\u0902\", \"\\u093E\", \"\\u0940\", \"\\u0947\", \"\\u094B\"],\n        subjectDrop: true\n      },\n      references: {\n        me: \"\\u092E\\u0948\\u0902\",\n        it: \"\\u092F\\u0939\",\n        you: \"\\u0906\\u092A\",\n        result: \"\\u092A\\u0930\\u093F\\u0923\\u093E\\u092E\",\n        event: \"\\u0918\\u091F\\u0928\\u093E\",\n        target: \"\\u0932\\u0915\\u094D\\u0937\\u094D\\u092F\",\n        body: \"\\u092C\\u0949\\u0921\\u0940\"\n      },\n      possessive: {\n        marker: \"\\u0915\\u093E\",\n        markerPosition: \"between\",\n        // In Hindi: मेरा value (mera value) = \"my value\"\n        // Or with का: X का Y = \"X's Y\"\n        keywords: {\n          // \"my\" forms (masculine/feminine/oblique)\n          \\u092E\\u0947\\u0930\\u093E: \"me\",\n          // mera (m)\n          \\u092E\\u0947\\u0930\\u0940: \"me\",\n          // meri (f)\n          \\u092E\\u0947\\u0930\\u0947: \"me\",\n          // mere (pl/obl)\n          // \"your\" forms (informal)\n          \\u0924\\u0947\\u0930\\u093E: \"you\",\n          // tera (m)\n          \\u0924\\u0947\\u0930\\u0940: \"you\",\n          // teri (f)\n          \\u0924\\u0947\\u0930\\u0947: \"you\",\n          // tere (pl/obl)\n          // \"your\" forms (formal)\n          \\u0906\\u092A\\u0915\\u093E: \"you\",\n          // aapka (m)\n          \\u0906\\u092A\\u0915\\u0940: \"you\",\n          // aapki (f)\n          \\u0906\\u092A\\u0915\\u0947: \"you\",\n          // aapke (pl/obl)\n          // \"its/his/her\" forms\n          \\u0909\\u0938\\u0915\\u093E: \"it\",\n          // uska (m)\n          \\u0909\\u0938\\u0915\\u0940: \"it\",\n          // uski (f)\n          \\u0909\\u0938\\u0915\\u0947: \"it\",\n          // uske (pl/obl)\n          \\u0907\\u0938\\u0915\\u093E: \"it\",\n          // iska (m) - proximal\n          \\u0907\\u0938\\u0915\\u0940: \"it\",\n          // iski (f)\n          \\u0907\\u0938\\u0915\\u0947: \"it\"\n          // iske (pl/obl)\n        }\n      },\n      roleMarkers: {\n        patient: { primary: \"\\u0915\\u094B\", position: \"after\" },\n        // `को` is the accusative/patient marker only — NOT a destination alternative.\n        // Listing it here made a `को`-marked patient mis-parse as a destination, the\n        // dominant source of phantom `into` commands in hi (precision audit 2026-06-15).\n        destination: { primary: \"\\u092E\\u0947\\u0902\", alternatives: [\"\\u092A\\u0930\"], position: \"after\" },\n        source: { primary: \"\\u0938\\u0947\", position: \"after\" },\n        style: { primary: \"\\u0938\\u0947\", position: \"after\" },\n        event: { primary: \"\\u092A\\u0930\", position: \"after\" }\n      },\n      keywords: {\n        // Class/Attribute operations\n        toggle: { primary: \"\\u091F\\u0949\\u0917\\u0932\", alternatives: [\"\\u092C\\u0926\\u0932\\u0947\\u0902\", \"\\u092C\\u0926\\u0932\"], normalized: \"toggle\" },\n        add: { primary: \"\\u091C\\u094B\\u0921\\u093C\\u0947\\u0902\", alternatives: [\"\\u091C\\u094B\\u0921\\u093C\"], normalized: \"add\" },\n        remove: { primary: \"\\u0939\\u091F\\u093E\\u090F\\u0902\", alternatives: [\"\\u0939\\u091F\\u093E\", \"\\u092E\\u093F\\u091F\\u093E\\u090F\\u0902\"], normalized: \"remove\" },\n        // Content operations\n        put: { primary: \"\\u0930\\u0916\\u0947\\u0902\", alternatives: [\"\\u0930\\u0916\", \"\\u0921\\u093E\\u0932\\u0947\\u0902\", \"\\u0921\\u093E\\u0932\"], normalized: \"put\" },\n        // संलग्न (attach/append) — single token. The old underscore compound\n        // 'जोड़ें_अंत' split in the tokenizer and its embedded जोड़ें (`add`) won,\n        // so hi append always parsed as add.\n        append: { primary: \"\\u0938\\u0902\\u0932\\u0917\\u094D\\u0928\", alternatives: [], normalized: \"append\" },\n        prepend: { primary: \"\\u091C\\u094B\\u0921\\u093C\\u0947\\u0902_\\u0936\\u0941\\u0930\\u0942\", alternatives: [], normalized: \"prepend\" },\n        take: { primary: \"\\u0932\\u0947\\u0902\", alternatives: [\"\\u0932\\u0947\"], normalized: \"take\" },\n        make: { primary: \"\\u092C\\u0928\\u093E\\u090F\\u0902\", alternatives: [\"\\u092C\\u0928\\u093E\"], normalized: \"make\" },\n        clone: { primary: \"\\u0915\\u094D\\u0932\\u094B\\u0928\", alternatives: [\"\\u092A\\u094D\\u0930\\u0924\\u093F\\u0932\\u093F\\u092A\\u093F\"], normalized: \"clone\" },\n        // विनिमय (exchange) — single token. The old underscore compound\n        // 'बदलें_स्थान' split and its embedded बदलें is toggle's alternative, so\n        // hi swap always parsed as toggle (same collision in the dict, which\n        // emitted bare बदलें).\n        swap: { primary: \"\\u0935\\u093F\\u0928\\u093F\\u092E\\u092F\", alternatives: [], normalized: \"swap\" },\n        morph: { primary: \"\\u0930\\u0942\\u092A\\u093E\\u0902\\u0924\\u0930\", alternatives: [], normalized: \"morph\" },\n        // Variable operations\n        set: { primary: \"\\u0938\\u0947\\u091F\", alternatives: [\"\\u0928\\u093F\\u0930\\u094D\\u0927\\u093E\\u0930\\u093F\\u0924\"], normalized: \"set\" },\n        get: { primary: \"\\u092A\\u094D\\u0930\\u093E\\u092A\\u094D\\u0924\", alternatives: [\"\\u092A\\u093E\\u090F\\u0902\"], normalized: \"get\" },\n        increment: { primary: \"\\u092C\\u0922\\u093C\\u093E\\u090F\\u0902\", alternatives: [\"\\u092C\\u0922\\u093C\\u093E\"], normalized: \"increment\" },\n        decrement: { primary: \"\\u0918\\u091F\\u093E\\u090F\\u0902\", alternatives: [\"\\u0918\\u091F\\u093E\"], normalized: \"decrement\" },\n        log: { primary: \"\\u0932\\u0949\\u0917\", alternatives: [\"\\u0926\\u0930\\u094D\\u091C\"], normalized: \"log\" },\n        // Visibility\n        show: { primary: \"\\u0926\\u093F\\u0916\\u093E\\u090F\\u0902\", alternatives: [\"\\u0926\\u093F\\u0916\\u093E\"], normalized: \"show\" },\n        hide: { primary: \"\\u091B\\u093F\\u092A\\u093E\\u090F\\u0902\", alternatives: [\"\\u091B\\u093F\\u092A\\u093E\"], normalized: \"hide\" },\n        transition: { primary: \"\\u0938\\u0902\\u0915\\u094D\\u0930\\u092E\\u0923\", alternatives: [], normalized: \"transition\" },\n        // Events\n        on: { primary: \"\\u092A\\u0930\", alternatives: [], normalized: \"on\" },\n        trigger: { primary: \"\\u091F\\u094D\\u0930\\u093F\\u0917\\u0930\", alternatives: [], normalized: \"trigger\" },\n        send: { primary: \"\\u092D\\u0947\\u091C\\u0947\\u0902\", alternatives: [\"\\u092D\\u0947\\u091C\"], normalized: \"send\" },\n        // DOM focus\n        focus: { primary: \"\\u092B\\u094B\\u0915\\u0938\", alternatives: [\"\\u0915\\u0947\\u0902\\u0926\\u094D\\u0930\\u093F\\u0924\"], normalized: \"focus\" },\n        blur: { primary: \"\\u0927\\u0941\\u0902\\u0927\\u0932\\u093E\", alternatives: [\"\\u092B\\u094B\\u0915\\u0938_\\u0939\\u091F\\u093E\\u090F\\u0902\"], normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"\\u0916\\u093E\\u0932\\u0940-\\u0915\\u0930\\u0947\\u0902\", alternatives: [\"\\u0916\\u093E\\u0932\\u0940\"], normalized: \"empty\" },\n        open: { primary: \"\\u0916\\u094B\\u0932\\u0947\\u0902\", normalized: \"open\" },\n        close: { primary: \"\\u092C\\u0902\\u0926-\\u0915\\u0930\\u0947\\u0902\", normalized: \"close\" },\n        select: { primary: \"\\u091A\\u093F\\u0939\\u094D\\u0928\\u093F\\u0924-\\u0915\\u0930\\u0947\\u0902\", normalized: \"select\" },\n        clear: { primary: \"\\u0938\\u093E\\u092B\\u093C-\\u0915\\u0930\\u0947\\u0902\", alternatives: [\"\\u0938\\u093E\\u092B-\\u0915\\u0930\\u0947\\u0902\"], normalized: \"clear\" },\n        reset: { primary: \"\\u0930\\u0940\\u0938\\u0947\\u091F\", normalized: \"reset\" },\n        breakpoint: { primary: \"\\u092C\\u094D\\u0930\\u0947\\u0915\\u092A\\u094D\\u0935\\u093E\\u0907\\u0902\\u091F\", normalized: \"breakpoint\" },\n        // Common event names (for event handler patterns)\n        click: { primary: \"\\u0915\\u094D\\u0932\\u093F\\u0915\", normalized: \"click\" },\n        hover: { primary: \"\\u0939\\u094B\\u0935\\u0930\", alternatives: [\"\\u090A\\u092A\\u0930_\\u0930\\u0916\\u0947\\u0902\"], normalized: \"hover\" },\n        submit: { primary: \"\\u0938\\u092C\\u092E\\u093F\\u091F\", alternatives: [\"\\u091C\\u092E\\u093E\"], normalized: \"submit\" },\n        input: { primary: \"\\u0907\\u0928\\u092A\\u0941\\u091F\", alternatives: [], normalized: \"input\" },\n        change: { primary: \"\\u092C\\u0926\\u0932\\u093E\\u0935\", alternatives: [\"\\u092A\\u0930\\u093F\\u0935\\u0930\\u094D\\u0924\\u0928\"], normalized: \"change\" },\n        // Navigation\n        go: { primary: \"\\u091C\\u093E\\u090F\\u0902\", alternatives: [\"\\u091C\\u093E\"], normalized: \"go\" },\n        scroll: { primary: \"\\u0938\\u094D\\u0915\\u094D\\u0930\\u0949\\u0932\", normalized: \"scroll\" },\n        push: { primary: \"\\u0927\\u0915\\u0947\\u0932\\u0947\\u0902\", alternatives: [\"\\u092A\\u0941\\u0936\"], normalized: \"push\" },\n        replace: { primary: \"\\u092C\\u0926\\u0932\\u0947\\u0902_\\u092F\\u0942\\u0906\\u0930\\u090F\\u0932\", alternatives: [\"\\u092A\\u094D\\u0930\\u0924\\u093F\\u0938\\u094D\\u0925\\u093E\\u092A\\u093F\\u0924\"], normalized: \"replace\" },\n        process: { primary: \"\\u0938\\u0902\\u0938\\u093E\\u0927\\u093F\\u0924\", alternatives: [\"\\u092A\\u094D\\u0930\\u0938\\u0902\\u0938\\u094D\\u0915\\u0943\\u0924\"], normalized: \"process\" },\n        // Async\n        wait: { primary: \"\\u092A\\u094D\\u0930\\u0924\\u0940\\u0915\\u094D\\u0937\\u093E\", alternatives: [\"\\u0930\\u0941\\u0915\\u0947\\u0902\"], normalized: \"wait\" },\n        fetch: { primary: \"\\u0932\\u093E\\u090F\\u0902\", alternatives: [], normalized: \"fetch\" },\n        settle: { primary: \"\\u0938\\u094D\\u0925\\u093F\\u0930\", alternatives: [], normalized: \"settle\" },\n        // Control flow\n        if: { primary: \"\\u0905\\u0917\\u0930\", alternatives: [\"\\u092F\\u0926\\u093F\"], normalized: \"if\" },\n        when: { primary: \"\\u091C\\u092C\", normalized: \"when\" },\n        where: { primary: \"\\u0915\\u0939\\u093E\\u0901\", normalized: \"where\" },\n        else: { primary: \"\\u0935\\u0930\\u0928\\u093E\", alternatives: [\"\\u0928\\u0939\\u0940\\u0902 \\u0924\\u094B\"], normalized: \"else\" },\n        repeat: { primary: \"\\u0926\\u094B\\u0939\\u0930\\u093E\\u090F\\u0902\", alternatives: [\"\\u0926\\u094B\\u0939\\u0930\\u093E\"], normalized: \"repeat\" },\n        // हेतु is what the i18n dict emits (के_लिए split at `_` in the word\n        // extractor; के लिए is two tokens — neither could anchor the clause-final\n        // SOV for-loop).\n        for: { primary: \"\\u0915\\u0947 \\u0932\\u093F\\u090F\", alternatives: [\"\\u0939\\u0947\\u0924\\u0941\"], normalized: \"for\" },\n        while: { primary: \"\\u091C\\u092C \\u0924\\u0915\", alternatives: [], normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"\\u0939\\u092E\\u0947\\u0936\\u093E\", normalized: \"forever\", alternatives: [\"forever\"] },\n        // `जब तक नहीं` (\"as long as not\" = unless), the SPACED form so it registers as\n        // a multi-word keyword. It is a strict superset of while `जब तक`, but\n        // multiWordKeywords are matched longest-first, so the full unless phrase wins\n        // over the while prefix; tryMultiWordKeyword emits it as a single `unless`\n        // token (the underscore form `जब_तक_नहीं` shattered: `जब`=when + `_` splits).\n        unless: { primary: \"\\u091C\\u092C \\u0924\\u0915 \\u0928\\u0939\\u0940\\u0902\", normalized: \"unless\" },\n        continue: { primary: \"\\u091C\\u093E\\u0930\\u0940\", alternatives: [], normalized: \"continue\" },\n        halt: { primary: \"\\u0930\\u094B\\u0915\\u0947\\u0902\", alternatives: [\"\\u0930\\u094B\\u0915\"], normalized: \"halt\" },\n        throw: { primary: \"\\u092B\\u0947\\u0902\\u0915\\u0947\\u0902\", alternatives: [\"\\u092B\\u0947\\u0902\\u0915\"], normalized: \"throw\" },\n        call: { primary: \"\\u0915\\u0949\\u0932\", alternatives: [\"\\u092C\\u0941\\u0932\\u093E\\u090F\\u0902\"], normalized: \"call\" },\n        return: { primary: \"\\u0932\\u094C\\u091F\\u093E\\u090F\\u0902\", alternatives: [\"\\u0932\\u094C\\u091F\\u093E\"], normalized: \"return\" },\n        then: { primary: \"\\u092B\\u093F\\u0930\", alternatives: [\"\\u0924\\u092C\"], normalized: \"then\" },\n        and: { primary: \"\\u0914\\u0930\", alternatives: [], normalized: \"and\" },\n        // Comparison operator — see korean.ts (R2 wave 12) for the rationale. Uses the\n        // NATURAL spaced phrase `मेल खाता` (\"matches\"), now that the base tokenizer\n        // matches multi-word profile keywords (longest-phrase at a word boundary). The\n        // folded conditional's raw normalizes it to `matches` for the core expression\n        // parser. (History: `मेल_खाता` underscore-split to मेल/_/खाता; the concatenated\n        // `मेलखाता` parsed but isn't how Hindi is written.)\n        matches: { primary: \"\\u092E\\u0947\\u0932 \\u0916\\u093E\\u0924\\u093E\", normalized: \"matches\" },\n        end: { primary: \"\\u0938\\u092E\\u093E\\u092A\\u094D\\u0924\", alternatives: [\"\\u0905\\u0902\\u0924\"], normalized: \"end\" },\n        // Advanced\n        js: { primary: \"\\u091C\\u0947\\u090F\\u0938\", alternatives: [\"js\"], normalized: \"js\" },\n        async: { primary: \"\\u0905\\u0938\\u093F\\u0902\\u0915\", alternatives: [], normalized: \"async\" },\n        tell: { primary: \"\\u092C\\u0924\\u093E\\u090F\\u0902\", alternatives: [\"\\u092C\\u0924\\u093E\"], normalized: \"tell\" },\n        default: { primary: \"\\u0921\\u093F\\u092B\\u093C\\u0949\\u0932\\u094D\\u091F\", alternatives: [], normalized: \"default\" },\n        init: { primary: \"\\u092A\\u094D\\u0930\\u093E\\u0930\\u0902\\u092D\", alternatives: [], normalized: \"init\" },\n        behavior: { primary: \"\\u0935\\u094D\\u092F\\u0935\\u0939\\u093E\\u0930\", alternatives: [], normalized: \"behavior\" },\n        install: { primary: \"\\u0907\\u0902\\u0938\\u094D\\u091F\\u0949\\u0932\", alternatives: [], normalized: \"install\" },\n        measure: { primary: \"\\u092E\\u093E\\u092A\\u0947\\u0902\", alternatives: [], normalized: \"measure\" },\n        beep: { primary: \"\\u092C\\u0940\\u092A\", alternatives: [], normalized: \"beep\" },\n        break: { primary: \"\\u0924\\u094B\\u0921\\u093C\\u0947\\u0902\", alternatives: [], normalized: \"break\" },\n        copy: { primary: \"\\u0915\\u0949\\u092A\\u0940\", alternatives: [], normalized: \"copy\" },\n        exit: { primary: \"\\u092C\\u093E\\u0939\\u0930\", alternatives: [], normalized: \"exit\" },\n        pick: { primary: \"\\u091A\\u0941\\u0928\\u0947\\u0902\", alternatives: [], normalized: \"pick\" },\n        render: { primary: \"\\u0930\\u0947\\u0902\\u0921\\u0930\", alternatives: [], normalized: \"render\" },\n        // Modifiers\n        // `में` (locative \"into\") only — `को` (accusative) is not an `into` keyword.\n        // The overload made every `को`-marked patient emit a phantom `into` command.\n        into: { primary: \"\\u092E\\u0947\\u0902\", alternatives: [], normalized: \"into\" },\n        before: { primary: \"\\u0938\\u0947 \\u092A\\u0939\\u0932\\u0947\", alternatives: [\"\\u092A\\u0939\\u0932\\u0947\"], normalized: \"before\" },\n        after: { primary: \"\\u0915\\u0947 \\u092C\\u093E\\u0926\", alternatives: [\"\\u092C\\u093E\\u0926\"], normalized: \"after\" },\n        until: { primary: \"\\u0924\\u0915\", alternatives: [], normalized: \"until\" },\n        event: { primary: \"\\u0918\\u091F\\u0928\\u093E\", alternatives: [], normalized: \"event\" },\n        from: { primary: \"\\u0938\\u0947\", normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-कनेक्ट`, `hx-लाइव`, etc.\n        // `जोड़ें` is reserved as `add` — `connect` alternatives are limited to non-colliding forms.\n        connect: { primary: \"\\u0915\\u0928\\u0947\\u0915\\u094D\\u091F\", alternatives: [\"\\u0938\\u0902\\u092F\\u094B\\u091C\\u093F\\u0924\"], normalized: \"connect\" },\n        stream: { primary: \"\\u0938\\u094D\\u091F\\u094D\\u0930\\u0940\\u092E\", alternatives: [\"\\u0927\\u093E\\u0930\\u093E\", \"\\u092A\\u094D\\u0930\\u0935\\u093E\\u0939\"], normalized: \"stream\" },\n        live: { primary: \"\\u0932\\u093E\\u0907\\u0935\", alternatives: [\"\\u0938\\u091C\\u0940\\u0935\", \"\\u092A\\u094D\\u0930\\u0924\\u094D\\u092F\\u0915\\u094D\\u0937\"], normalized: \"live\" },\n        socket: { primary: \"\\u0938\\u0949\\u0915\\u0947\\u091F\", alternatives: [\"\\u0935\\u0947\\u092C\\u0938\\u0949\\u0915\\u0947\\u091F\"], normalized: \"socket\" },\n        // Streaming/concurrency: transformer emits the English literal (no i18n dict\n        // entry yet), so English primary; native transliterations as alternatives.\n        worker: { primary: \"worker\", alternatives: [\"\\u0935\\u0930\\u094D\\u0915\\u0930\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"\\u0907\\u0935\\u0947\\u0902\\u091F\\u0938\\u094B\\u0930\\u094D\\u0938\"],\n          normalized: \"eventsource\"\n        },\n        // Reactivity / service-worker commands: same English-literal emission as the\n        // streaming commands above (no i18n hi dict entry), so English primary with\n        // native transliteration alternatives. Previously absent — `bind`/`intercept`\n        // dropped to a degenerate parse in hi.\n        bind: { primary: \"bind\", alternatives: [\"\\u092C\\u093E\\u0907\\u0902\\u0921\", \"\\u092C\\u093E\\u0902\\u0927\\u0947\\u0902\"], normalized: \"bind\" },\n        intercept: { primary: \"intercept\", alternatives: [\"\\u0907\\u0902\\u091F\\u0930\\u0938\\u0947\\u092A\\u094D\\u091F\"], normalized: \"intercept\" }\n      },\n      tokenization: {\n        particles: [\"\\u0915\\u094B\", \"\\u092E\\u0947\\u0902\", \"\\u092A\\u0930\", \"\\u0938\\u0947\", \"\\u0915\\u093E\", \"\\u0915\\u0940\", \"\\u0915\\u0947\", \"\\u0924\\u0915\", \"\\u0928\\u0947\"],\n        boundaryStrategy: \"space\"\n      },\n      eventHandler: {\n        keyword: { primary: \"\\u092A\\u0930\", alternatives: [], normalized: \"on\" },\n        sourceMarker: { primary: \"\\u0938\\u0947\", position: \"after\" },\n        // Event marker: पर (at/on), used in SOV pattern\n        // Pattern: [event] पर [destination का?] [patient] को [action]\n        // Example: क्लिक पर #button का .active को टॉगल\n        // `में` is the locative/destination marker, NOT an event marker — listing it\n        // here made a `में`-marked destination mis-parse as a phantom event handler (`on`).\n        eventMarker: { primary: \"\\u092A\\u0930\", alternatives: [], position: \"after\" },\n        temporalMarkers: [\"\\u091C\\u092C\", \"\\u091C\\u092C \\u092D\\u0940\"]\n        // temporal conjunctions (when, whenever)\n      }\n    };\n  }\n});\n\n// src/generators/profiles/indonesian.ts\nvar indonesian_exports = {};\n__export(indonesian_exports, {\n  indonesianProfile: () => indonesianProfile\n});\nvar indonesianProfile;\nvar init_indonesian = __esm({\n  \"src/generators/profiles/indonesian.ts\"() {\n    \"use strict\";\n    indonesianProfile = {\n      code: \"id\",\n      name: \"Indonesian\",\n      nativeName: \"Bahasa Indonesia\",\n      regions: [\"priority\"],\n      direction: \"ltr\",\n      script: \"latin\",\n      wordOrder: \"SVO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: true,\n      verb: {\n        position: \"start\",\n        subjectDrop: true\n      },\n      references: {\n        me: \"saya\",\n        // \"I/me\"\n        it: \"itu\",\n        // \"it\"\n        you: \"anda\",\n        // \"you\"\n        result: \"hasil\",\n        event: \"peristiwa\",\n        target: \"target\",\n        body: \"badan\"\n        // matches the i18n dict's emitted body word (corpus-canonical; tubuh = anatomical body)\n      },\n      possessive: {\n        marker: \"\",\n        // Indonesian: \"X saya\" (X of mine), possessor follows noun\n        markerPosition: \"after-object\",\n        usePossessiveAdjectives: true,\n        specialForms: {\n          me: \"saya\",\n          // Possessor follows: \"value saya\" = \"my value\"\n          it: \"nya\",\n          // Suffix: \"valueny\" = \"its value\"\n          you: \"anda\"\n          // \"value anda\" = \"your value\"\n        },\n        keywords: {\n          // \"my\" - formal and informal\n          saya: \"me\",\n          // formal\n          aku: \"me\",\n          // informal\n          ku: \"me\",\n          // clitic\n          // The id dict's `my` is the two-word 'saya punya', which the dot-notation\n          // transformer can't prefix onto `my.X` — those corpus heads stay literal\n          // English `my.textContent`. Recognize the passthrough so the possessive\n          // matcher can assemble the property-path (set-text/set-style rows).\n          my: \"me\",\n          // untranslated dot-notation passthrough\n          // \"your\" - formal and informal\n          anda: \"you\",\n          // formal\n          kamu: \"you\",\n          // informal\n          mu: \"you\",\n          // clitic\n          // \"its/his/her\"\n          nya: \"it\",\n          // third person clitic (suffix form: -nya)\n          dia: \"it\",\n          // third person pronoun\n          // The id dict renders the reference `it` (possessive `it.X`) as the\n          // standalone possessive pronoun `miliknya` (\"belonging to it\") — e.g.\n          // `it.error` → `miliknya.error` (fetch-error-handling/-with-headers/-json\n          // rows). Recognize it so the possessive matcher assembles the\n          // property-path, matching the en reference's `it.error:property-path`.\n          miliknya: \"it\"\n          // \"its\" (milik + -nya, standalone possessive)\n        },\n        // `saya punya *background` = \"I have *background\" = \"my *background\". The\n        // i18n dict's `my` is the two-word `saya punya`; `punya` (\"have/own\") is a\n        // connector between the possessor (saya→me) and the property. Skipped by the\n        // possessive matcher so the property is reached (set-style set-text rows).\n        connectors: [\"punya\"]\n      },\n      roleMarkers: {\n        destination: { primary: \"pada\", alternatives: [\"ke\", \"di\"], position: \"before\" },\n        source: { primary: \"dari\", position: \"before\" },\n        patient: { primary: \"\", position: \"before\" },\n        style: { primary: \"dengan\", position: \"before\" }\n      },\n      keywords: {\n        toggle: { primary: \"alihkan\", normalized: \"toggle\" },\n        add: { primary: \"tambah\", alternatives: [\"tambahkan\"], normalized: \"add\" },\n        remove: { primary: \"hapus\", alternatives: [\"buang\", \"hilangkan\"], normalized: \"remove\" },\n        put: { primary: \"taruh\", alternatives: [\"letakkan\", \"masukkan\"], normalized: \"put\" },\n        append: { primary: \"sisipkan\", normalized: \"append\" },\n        prepend: { primary: \"awali\", normalized: \"prepend\" },\n        take: { primary: \"ambil\", normalized: \"take\" },\n        make: { primary: \"buat\", alternatives: [\"bikin\", \"ciptakan\"], normalized: \"make\" },\n        clone: { primary: \"klon\", alternatives: [\"tiru\"], normalized: \"clone\" },\n        swap: { primary: \"tukar\", alternatives: [\"ganti\"], normalized: \"swap\" },\n        morph: { primary: \"ubah\", alternatives: [\"transformasi\"], normalized: \"morph\" },\n        set: { primary: \"atur\", alternatives: [\"tetapkan\"], normalized: \"set\" },\n        get: { primary: \"dapatkan\", alternatives: [\"peroleh\"], normalized: \"get\" },\n        increment: { primary: \"tingkatkan\", alternatives: [\"naikkan\"], normalized: \"increment\" },\n        decrement: { primary: \"turunkan\", alternatives: [\"kurangi\"], normalized: \"decrement\" },\n        log: { primary: \"catat\", alternatives: [\"rekam\", \"cetak\"], normalized: \"log\" },\n        show: { primary: \"tampilkan\", alternatives: [\"perlihatkan\"], normalized: \"show\" },\n        hide: { primary: \"sembunyikan\", alternatives: [\"tutup\"], normalized: \"hide\" },\n        transition: { primary: \"transisi\", alternatives: [\"animasikan\"], normalized: \"transition\" },\n        on: { primary: \"pada\", alternatives: [\"saat\"], normalized: \"on\" },\n        trigger: { primary: \"picu\", alternatives: [\"jalankan\"], normalized: \"trigger\" },\n        send: { primary: \"kirim\", alternatives: [\"kirimkan\"], normalized: \"send\" },\n        focus: { primary: \"fokus\", alternatives: [\"fokuskan\"], normalized: \"focus\" },\n        blur: { primary: \"blur\", normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"kosongkan\", alternatives: [\"kosong\"], normalized: \"empty\" },\n        open: { primary: \"buka\", normalized: \"open\" },\n        close: { primary: \"tutupkan\", normalized: \"close\" },\n        select: { primary: \"tandai\", normalized: \"select\" },\n        clear: { primary: \"bersihkan\", normalized: \"clear\" },\n        reset: { primary: \"setel-ulang\", alternatives: [\"reset\"], normalized: \"reset\" },\n        breakpoint: { primary: \"titik-henti\", normalized: \"breakpoint\" },\n        go: { primary: \"pergi\", alternatives: [\"pindah\", \"navigasi\"], normalized: \"go\" },\n        scroll: { primary: \"gulir\", alternatives: [\"gulung\"], normalized: \"scroll\" },\n        push: { primary: \"dorong\", alternatives: [\"push\"], normalized: \"push\" },\n        replace: { primary: \"ganti_url\", alternatives: [\"gantikan_url\"], normalized: \"replace\" },\n        process: { primary: \"proses\", normalized: \"process\" },\n        wait: { primary: \"tunggu\", normalized: \"wait\" },\n        fetch: { primary: \"muat\", normalized: \"fetch\" },\n        settle: { primary: \"stabilkan\", normalized: \"settle\" },\n        if: { primary: \"jika\", alternatives: [\"kalau\", \"bila\"], normalized: \"if\" },\n        unless: { primary: \"kecuali\", normalized: \"unless\" },\n        when: { primary: \"ketika\", normalized: \"when\" },\n        where: { primary: \"di_mana\", normalized: \"where\" },\n        else: { primary: \"selainnya\", alternatives: [\"lainnya\"], normalized: \"else\" },\n        // lainnya = the i18n dict's emitted else word (corpus-canonical)\n        repeat: { primary: \"ulangi\", normalized: \"repeat\" },\n        for: { primary: \"untuk\", normalized: \"for\" },\n        while: { primary: \"selama\", normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"forever\", normalized: \"forever\" },\n        continue: { primary: \"lanjutkan\", alternatives: [\"terus\"], normalized: \"continue\" },\n        halt: { primary: \"hentikan\", alternatives: [\"berhenti\"], normalized: \"halt\" },\n        throw: { primary: \"lempar\", normalized: \"throw\" },\n        call: { primary: \"panggil\", normalized: \"call\" },\n        return: { primary: \"kembalikan\", alternatives: [\"kembali\"], normalized: \"return\" },\n        then: { primary: \"lalu\", alternatives: [\"kemudian\", \"setelah itu\"], normalized: \"then\" },\n        and: { primary: \"dan\", alternatives: [\"juga\", \"serta\"], normalized: \"and\" },\n        end: { primary: \"selesai\", alternatives: [\"akhir\", \"tamat\"], normalized: \"end\" },\n        js: { primary: \"js\", alternatives: [\"javascript\"], normalized: \"js\" },\n        async: { primary: \"asinkron\", normalized: \"async\" },\n        tell: { primary: \"katakan\", alternatives: [\"beritahu\"], normalized: \"tell\" },\n        default: { primary: \"bawaan\", normalized: \"default\" },\n        init: { primary: \"inisialisasi\", alternatives: [\"mulai\"], normalized: \"init\" },\n        behavior: { primary: \"perilaku\", normalized: \"behavior\" },\n        install: { primary: \"pasang\", alternatives: [\"instal\"], normalized: \"install\" },\n        measure: { primary: \"ukur\", normalized: \"measure\" },\n        beep: { primary: \"bunyi\", normalized: \"beep\" },\n        break: { primary: \"putuskan\", normalized: \"break\" },\n        copy: { primary: \"salin\", normalized: \"copy\" },\n        exit: { primary: \"keluar\", normalized: \"exit\" },\n        pick: { primary: \"pilih\", normalized: \"pick\" },\n        render: { primary: \"olah\", normalized: \"render\" },\n        into: { primary: \"ke dalam\", normalized: \"into\" },\n        before: { primary: \"sebelum\", normalized: \"before\" },\n        after: { primary: \"sesudah\", alternatives: [\"setelah\"], normalized: \"after\" },\n        // Common event names (for event handler patterns)\n        click: { primary: \"klik\", alternatives: [\"tekan\"], normalized: \"click\" },\n        hover: { primary: \"hover\", alternatives: [\"arahkan\"], normalized: \"hover\" },\n        submit: { primary: \"ajukan\", normalized: \"submit\" },\n        // i18n dict emits `masukan` for `input` (profile primary is `masuk`); recognize it.\n        input: { primary: \"masuk\", alternatives: [\"input\", \"masukan\"], normalized: \"input\" },\n        change: { primary: \"berubah\", normalized: \"change\" },\n        // Event modifiers (for repeat until event)\n        until: { primary: \"sampai\", normalized: \"until\" },\n        event: { primary: \"peristiwa\", alternatives: [\"event\"], normalized: \"event\" },\n        from: { primary: \"dari\", normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-sambungkan`, `hx-langsung`, etc.\n        connect: {\n          primary: \"sambungkan\",\n          alternatives: [\"hubungkan\", \"koneksi\"],\n          normalized: \"connect\"\n        },\n        stream: { primary: \"alirkan\", alternatives: [\"streaming\"], normalized: \"stream\" },\n        live: { primary: \"langsung\", alternatives: [\"live\"], normalized: \"live\" },\n        socket: { primary: \"soket\", alternatives: [\"socket\", \"websocket\"], normalized: \"socket\" },\n        // Reactive / realtime commands\n        bind: { primary: \"ikat\", alternatives: [\"kaitkan\", \"bind\"], normalized: \"bind\" },\n        intercept: {\n          primary: \"cegat\",\n          alternatives: [\"tangkap\", \"intercept\"],\n          normalized: \"intercept\"\n        },\n        worker: { primary: \"pekerja\", alternatives: [\"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"sumber peristiwa\"],\n          normalized: \"eventsource\"\n        }\n      },\n      eventHandler: {\n        keyword: { primary: \"pada\", alternatives: [\"ketika\", \"saat\"], normalized: \"on\" },\n        sourceMarker: { primary: \"dari\", position: \"before\" },\n        conditionalKeyword: { primary: \"ketika\", alternatives: [\"saat\", \"waktu\"] },\n        // Event marker: saat (when), used in SVO pattern\n        // Pattern: saat [event] [verb] [patient] pada [destination?]\n        // Example: saat klik alihkan .active pada #button\n        // + the eventHandler.keyword word the i18n transformer actually emits —\n        // without it every generated fused `<cmd>-event-*-vso` pattern was dead\n        // (the swap/if recovery split, #346/#351)\n        eventMarker: { primary: \"saat\", alternatives: [\"ketika\", \"pada\"], position: \"before\" },\n        temporalMarkers: [\"ketika\", \"saat\"]\n        // temporal conjunctions (when)\n      }\n    };\n  }\n});\n\n// src/generators/profiles/italian.ts\nvar italian_exports = {};\n__export(italian_exports, {\n  italianProfile: () => italianProfile\n});\nvar italianProfile;\nvar init_italian = __esm({\n  \"src/generators/profiles/italian.ts\"() {\n    \"use strict\";\n    italianProfile = {\n      code: \"it\",\n      name: \"Italian\",\n      nativeName: \"Italiano\",\n      regions: [\"western\"],\n      direction: \"ltr\",\n      script: \"latin\",\n      wordOrder: \"SVO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: true,\n      // Infinitive is standard for Italian software UI (Salvare, Annullare, Aprire)\n      // This matches macOS, Windows, and web app conventions\n      defaultVerbForm: \"infinitive\",\n      verb: {\n        position: \"start\",\n        subjectDrop: true\n      },\n      references: {\n        me: \"io\",\n        // \"I/me\"\n        it: \"esso\",\n        // \"it\"\n        you: \"tu\",\n        // \"you\"\n        result: \"risultato\",\n        event: \"evento\",\n        target: \"obiettivo\",\n        body: \"corpo\"\n      },\n      possessive: {\n        marker: \"di\",\n        // Italian uses \"di\" for general possession\n        markerPosition: \"before-property\",\n        usePossessiveAdjectives: true,\n        specialForms: {\n          me: \"mio\",\n          // \"my\" (possessive adjective)\n          it: \"suo\",\n          // \"its\"\n          you: \"tuo\"\n          // \"your\"\n        },\n        keywords: {\n          // \"my\" variants (masculine/feminine singular/plural)\n          mio: \"me\",\n          mia: \"me\",\n          miei: \"me\",\n          mie: \"me\",\n          // \"your\" variants\n          tuo: \"you\",\n          tua: \"you\",\n          tuoi: \"you\",\n          tue: \"you\",\n          // \"its/his/her\" variants\n          suo: \"it\",\n          sua: \"it\",\n          suoi: \"it\",\n          sue: \"it\"\n        }\n      },\n      roleMarkers: {\n        destination: { primary: \"in\", alternatives: [\"su\", \"a\"], position: \"before\" },\n        source: { primary: \"da\", alternatives: [\"di\"], position: \"before\" },\n        patient: { primary: \"\", position: \"before\" },\n        style: { primary: \"con\", position: \"before\" }\n      },\n      keywords: {\n        // Class/Attribute operations\n        toggle: { primary: \"commutare\", alternatives: [\"alternare\"], normalized: \"toggle\" },\n        add: { primary: \"aggiungere\", alternatives: [\"aggiungi\"], normalized: \"add\" },\n        remove: { primary: \"rimuovere\", alternatives: [\"eliminare\", \"togliere\"], normalized: \"remove\" },\n        // Content operations\n        put: { primary: \"mettere\", alternatives: [\"inserire\"], normalized: \"put\" },\n        append: { primary: \"accodare\", normalized: \"append\" },\n        prepend: { primary: \"anteporre\", normalized: \"prepend\" },\n        take: { primary: \"prendere\", normalized: \"take\" },\n        make: { primary: \"fare\", alternatives: [\"creare\"], normalized: \"make\" },\n        clone: { primary: \"clonare\", normalized: \"clone\" },\n        swap: { primary: \"scambiare\", normalized: \"swap\" },\n        morph: { primary: \"trasformare\", alternatives: [\"convertire\"], normalized: \"morph\" },\n        // Variable operations\n        set: { primary: \"impostare\", alternatives: [\"definire\"], normalized: \"set\" },\n        get: { primary: \"ottenere\", normalized: \"get\" },\n        increment: { primary: \"incrementare\", alternatives: [\"aumentare\"], normalized: \"increment\" },\n        decrement: { primary: \"decrementare\", alternatives: [\"diminuire\"], normalized: \"decrement\" },\n        log: { primary: \"registrare\", normalized: \"log\" },\n        // Visibility\n        show: { primary: \"mostrare\", alternatives: [\"visualizzare\"], normalized: \"show\" },\n        hide: { primary: \"nascondere\", normalized: \"hide\" },\n        transition: { primary: \"transizione\", alternatives: [\"animare\"], normalized: \"transition\" },\n        // Events\n        on: { primary: \"su\", alternatives: [\"al\"], normalized: \"on\" },\n        trigger: { primary: \"scatenare\", alternatives: [\"attivare\"], normalized: \"trigger\" },\n        send: { primary: \"inviare\", normalized: \"send\" },\n        // DOM focus\n        focus: { primary: \"focalizzare\", normalized: \"focus\" },\n        blur: { primary: \"sfuocare\", normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"svuotare\", alternatives: [\"vuoto\"], normalized: \"empty\" },\n        open: { primary: \"aprire\", normalized: \"open\" },\n        close: { primary: \"chiudere\", normalized: \"close\" },\n        select: { primary: \"selezionare\", normalized: \"select\" },\n        clear: { primary: \"cancellare\", normalized: \"clear\" },\n        reset: { primary: \"reimpostare\", normalized: \"reset\" },\n        breakpoint: { primary: \"punto-interruzione\", normalized: \"breakpoint\" },\n        // Navigation\n        go: { primary: \"andare\", alternatives: [\"navigare\", \"vai\"], normalized: \"go\" },\n        scroll: { primary: \"scorrere\", alternatives: [\"scroll\"], normalized: \"scroll\" },\n        push: { primary: \"spingere\", alternatives: [\"push\"], normalized: \"push\" },\n        replace: { primary: \"sostituire\", normalized: \"replace\" },\n        process: { primary: \"elaborare\", alternatives: [\"processare\"], normalized: \"process\" },\n        // Async\n        wait: { primary: \"aspettare\", alternatives: [\"attendere\"], normalized: \"wait\" },\n        fetch: { primary: \"recuperare\", normalized: \"fetch\" },\n        settle: { primary: \"stabilizzare\", normalized: \"settle\" },\n        // Control flow\n        if: { primary: \"se\", normalized: \"if\" },\n        unless: { primary: \"salvo\", normalized: \"unless\" },\n        when: { primary: \"quando\", normalized: \"when\" },\n        where: { primary: \"dove\", normalized: \"where\" },\n        else: { primary: \"altrimenti\", normalized: \"else\" },\n        repeat: { primary: \"ripetere\", normalized: \"repeat\" },\n        for: { primary: \"per\", normalized: \"for\" },\n        while: { primary: \"mentre\", normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"forever\", normalized: \"forever\" },\n        continue: { primary: \"continuare\", normalized: \"continue\" },\n        halt: { primary: \"fermare\", normalized: \"halt\" },\n        throw: { primary: \"lanciare\", normalized: \"throw\" },\n        call: { primary: \"chiamare\", normalized: \"call\" },\n        return: { primary: \"ritornare\", normalized: \"return\" },\n        then: { primary: \"allora\", alternatives: [\"poi\", \"quindi\"], normalized: \"then\" },\n        and: { primary: \"e\", alternatives: [\"anche\"], normalized: \"and\" },\n        end: { primary: \"fine\", normalized: \"end\" },\n        // Advanced\n        js: { primary: \"js\", normalized: \"js\" },\n        async: { primary: \"asincrono\", normalized: \"async\" },\n        tell: { primary: \"dire\", normalized: \"tell\" },\n        default: { primary: \"predefinito\", normalized: \"default\" },\n        init: { primary: \"inizializzare\", alternatives: [\"inizia\"], normalized: \"init\" },\n        behavior: { primary: \"comportamento\", normalized: \"behavior\" },\n        install: { primary: \"installare\", normalized: \"install\" },\n        measure: { primary: \"misurare\", normalized: \"measure\" },\n        beep: { primary: \"beep\", normalized: \"beep\" },\n        break: { primary: \"interrompere\", normalized: \"break\" },\n        copy: { primary: \"copiare\", normalized: \"copy\" },\n        exit: { primary: \"uscire\", normalized: \"exit\" },\n        pick: { primary: \"scegliere\", normalized: \"pick\" },\n        render: { primary: \"renderizzare\", normalized: \"render\" },\n        // Modifiers\n        into: { primary: \"in\", alternatives: [\"dentro\"], normalized: \"into\" },\n        before: { primary: \"prima\", normalized: \"before\" },\n        after: { primary: \"dopo\", normalized: \"after\" },\n        // Common event names (for event handler patterns)\n        click: { primary: \"clic\", alternatives: [\"clicca\"], normalized: \"click\" },\n        // `resize` event (window-resize): dict emits ridimensiona; register it so the\n        // event types as literal=\"resize\" (matching en) instead of expression.\n        resize: { primary: \"ridimensiona\", normalized: \"resize\" },\n        hover: { primary: \"passaggio\", alternatives: [\"sorvolo\"], normalized: \"hover\" },\n        submit: { primary: \"invio\", alternatives: [\"sottomettere\"], normalized: \"submit\" },\n        input: { primary: \"inserimento\", alternatives: [\"input\"], normalized: \"input\" },\n        change: { primary: \"cambio\", alternatives: [\"cambiamento\"], normalized: \"change\" },\n        // i18n dict emits `carica` for `load`; without it `on load` events type as expression.\n        load: { primary: \"carica\", alternatives: [\"caricamento\"], normalized: \"load\" },\n        // Event modifiers\n        until: { primary: \"fino\", normalized: \"until\" },\n        event: { primary: \"evento\", normalized: \"event\" },\n        from: { primary: \"da\", alternatives: [\"di\"], normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-connettere`, `hx-in-diretta`, etc.\n        connect: {\n          primary: \"connettere\",\n          alternatives: [\"connettersi\", \"collegare\"],\n          normalized: \"connect\"\n        },\n        stream: { primary: \"trasmettere\", alternatives: [\"flusso\", \"streaming\"], normalized: \"stream\" },\n        live: {\n          primary: \"in-diretta\",\n          alternatives: [\"diretta\", \"dal-vivo\", \"vivo\"],\n          normalized: \"live\"\n        },\n        socket: { primary: \"socket\", alternatives: [\"presa\", \"websocket\"], normalized: \"socket\" },\n        // Reactive / realtime commands\n        bind: { primary: \"vincolare\", alternatives: [\"legare\", \"bind\"], normalized: \"bind\" },\n        intercept: { primary: \"intercettare\", alternatives: [\"intercept\"], normalized: \"intercept\" },\n        worker: { primary: \"lavoratore\", alternatives: [\"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"sorgente-eventi\"],\n          normalized: \"eventsource\"\n        }\n      },\n      eventHandler: {\n        keyword: { primary: \"su\", alternatives: [\"al\"], normalized: \"on\" },\n        sourceMarker: { primary: \"da\", alternatives: [\"di\"], position: \"before\" },\n        conditionalKeyword: { primary: \"quando\", alternatives: [\"se\"] },\n        // Event marker: al (at/upon), used in SVO pattern\n        // Pattern: al [event] [verb] [patient] su [destination?]\n        // Example: al clic commutare .active su #button\n        // + the eventHandler.keyword word the i18n transformer actually emits —\n        // without it every generated fused `<cmd>-event-*-vso` pattern was dead\n        // (the swap/if recovery split, #346/#351)\n        eventMarker: { primary: \"al\", alternatives: [\"allo\", \"alla\", \"su\"], position: \"before\" },\n        temporalMarkers: [\"quando\", \"al\"]\n        // temporal conjunctions (when)\n      }\n    };\n  }\n});\n\n// src/generators/profiles/japanese.ts\nvar japanese_exports = {};\n__export(japanese_exports, {\n  japaneseProfile: () => japaneseProfile\n});\nvar japaneseProfile;\nvar init_japanese = __esm({\n  \"src/generators/profiles/japanese.ts\"() {\n    \"use strict\";\n    japaneseProfile = {\n      code: \"ja\",\n      name: \"Japanese\",\n      nativeName: \"\\u65E5\\u672C\\u8A9E\",\n      regions: [\"east-asian\", \"priority\"],\n      direction: \"ltr\",\n      script: \"cjk\",\n      wordOrder: \"SOV\",\n      markingStrategy: \"particle\",\n      usesSpaces: false,\n      // Japanese uses verb stem/masu-stem form, no clear infinitive/imperative distinction\n      // for UI commands. Uses katakana loanwords (トグル) or native stems (切り替え)\n      defaultVerbForm: \"base\",\n      verb: {\n        position: \"end\",\n        suffixes: [\"\\u308B\", \"\\u3066\", \"\\u305F\", \"\\u307E\\u3059\", \"\\u306A\\u3044\"],\n        subjectDrop: true\n      },\n      references: {\n        me: \"\\u81EA\\u5206\",\n        // \"self\" - in hyperscript context, refers to current element\n        it: \"\\u305D\\u308C\",\n        // \"it\"\n        you: \"\\u3042\\u306A\\u305F\",\n        // \"you\"\n        result: \"\\u7D50\\u679C\",\n        event: \"\\u30A4\\u30D9\\u30F3\\u30C8\",\n        target: \"\\u30BF\\u30FC\\u30B2\\u30C3\\u30C8\",\n        body: \"\\u30DC\\u30C7\\u30A3\"\n      },\n      possessive: {\n        marker: \"\\u306E\",\n        markerPosition: \"between\",\n        // In Japanese: 自分の value (jibun no value) = \"my value\"\n        keywords: {\n          \\u79C1\\u306E: \"me\",\n          // watashi no (my)\n          \\u3042\\u306A\\u305F\\u306E: \"you\",\n          // anata no (your)\n          \\u305D\\u306E: \"it\"\n          // sono (its)\n        }\n      },\n      roleMarkers: {\n        patient: { primary: \"\\u3092\", position: \"after\" },\n        destination: { primary: \"\\u306B\", alternatives: [\"\\u3078\", \"\\u3067\", \"\\u306E\"], position: \"after\" },\n        source: { primary: \"\\u304B\\u3089\", position: \"after\" },\n        style: { primary: \"\\u3067\", position: \"after\" },\n        event: { primary: \"\\u3092\", position: \"after\" }\n        // Event as object marker\n        // Possession marker for \"X's Y\" patterns\n        // Note: の is used between target and patient: #button の .active\n      },\n      keywords: {\n        // Class/Attribute operations\n        toggle: {\n          primary: \"\\u5207\\u308A\\u66FF\\u3048\",\n          alternatives: [\"\\u5207\\u308A\\u66FF\\u3048\\u308B\", \"\\u30C8\\u30B0\\u30EB\", \"\\u30C8\\u30B0\\u30EB\\u3059\\u308B\"],\n          normalized: \"toggle\"\n        },\n        add: { primary: \"\\u8FFD\\u52A0\", alternatives: [\"\\u8FFD\\u52A0\\u3059\\u308B\", \"\\u52A0\\u3048\\u308B\"], normalized: \"add\" },\n        remove: { primary: \"\\u524A\\u9664\", alternatives: [\"\\u524A\\u9664\\u3059\\u308B\", \"\\u53D6\\u308A\\u9664\\u304F\"], normalized: \"remove\" },\n        // Content operations\n        put: { primary: \"\\u7F6E\\u304F\", alternatives: [\"\\u5165\\u308C\\u308B\"], normalized: \"put\" },\n        append: { primary: \"\\u672B\\u5C3E\\u8FFD\\u52A0\", alternatives: [\"\\u672B\\u5C3E\\u306B\\u8FFD\\u52A0\", \"\\u30A2\\u30DA\\u30F3\\u30C9\"], normalized: \"append\" },\n        prepend: {\n          primary: \"\\u5148\\u982D\\u8FFD\\u52A0\",\n          alternatives: [\"\\u5148\\u982D\\u306B\\u8FFD\\u52A0\", \"\\u30D7\\u30EA\\u30DA\\u30F3\\u30C9\"],\n          normalized: \"prepend\"\n        },\n        take: { primary: \"\\u53D6\\u308B\", normalized: \"take\" },\n        // Removed 取得 (belongs to get)\n        make: { primary: \"\\u4F5C\\u308B\", alternatives: [\"\\u4F5C\\u6210\"], normalized: \"make\" },\n        clone: { primary: \"\\u8907\\u88FD\", alternatives: [\"\\u30AF\\u30ED\\u30FC\\u30F3\"], normalized: \"clone\" },\n        swap: { primary: \"\\u4EA4\\u63DB\", alternatives: [\"\\u30B9\\u30EF\\u30C3\\u30D7\", \"\\u5165\\u308C\\u66FF\\u3048\"], normalized: \"swap\" },\n        morph: { primary: \"\\u5909\\u5F62\", alternatives: [\"\\u30E2\\u30FC\\u30D5\", \"\\u5909\\u63DB\"], normalized: \"morph\" },\n        // Variable operations\n        set: { primary: \"\\u8A2D\\u5B9A\", alternatives: [\"\\u8A2D\\u5B9A\\u3059\\u308B\"], normalized: \"set\" },\n        get: { primary: \"\\u53D6\\u5F97\", alternatives: [\"\\u53D6\\u5F97\\u3059\\u308B\", \"\\u30B2\\u30C3\\u30C8\"], normalized: \"get\" },\n        increment: {\n          primary: \"\\u5897\\u52A0\",\n          alternatives: [\"\\u5897\\u3084\\u3059\", \"\\u30A4\\u30F3\\u30AF\\u30EA\\u30E1\\u30F3\\u30C8\"],\n          normalized: \"increment\"\n        },\n        decrement: {\n          primary: \"\\u6E1B\\u5C11\",\n          alternatives: [\"\\u6E1B\\u3089\\u3059\", \"\\u30C7\\u30AF\\u30EA\\u30E1\\u30F3\\u30C8\"],\n          normalized: \"decrement\"\n        },\n        log: { primary: \"\\u8A18\\u9332\", alternatives: [\"\\u30ED\\u30B0\", \"\\u51FA\\u529B\"], normalized: \"log\" },\n        // Visibility\n        show: { primary: \"\\u8868\\u793A\", alternatives: [\"\\u8868\\u793A\\u3059\\u308B\", \"\\u898B\\u305B\\u308B\"], normalized: \"show\" },\n        hide: { primary: \"\\u96A0\\u3059\", alternatives: [\"\\u975E\\u8868\\u793A\", \"\\u975E\\u8868\\u793A\\u306B\\u3059\\u308B\"], normalized: \"hide\" },\n        transition: {\n          primary: \"\\u9077\\u79FB\",\n          alternatives: [\"\\u30C8\\u30E9\\u30F3\\u30B8\\u30B7\\u30E7\\u30F3\", \"\\u30A2\\u30CB\\u30E1\\u30FC\\u30B7\\u30E7\\u30F3\"],\n          normalized: \"transition\"\n        },\n        // Events\n        on: { primary: \"\\u3067\", alternatives: [\"\\u6642\"], normalized: \"on\" },\n        trigger: { primary: \"\\u5F15\\u304D\\u91D1\", alternatives: [\"\\u767A\\u706B\", \"\\u30C8\\u30EA\\u30AC\\u30FC\"], normalized: \"trigger\" },\n        send: { primary: \"\\u9001\\u308B\", alternatives: [\"\\u9001\\u4FE1\"], normalized: \"send\" },\n        // DOM focus\n        focus: { primary: \"\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\", alternatives: [\"\\u96C6\\u4E2D\"], normalized: \"focus\" },\n        blur: { primary: \"\\u307C\\u304B\\u3057\", alternatives: [\"\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u89E3\\u9664\", \"\\u30D6\\u30E9\\u30FC\"], normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"\\u7A7A\\u306B\", alternatives: [\"\\u7A7A\\u306B\\u3059\\u308B\"], normalized: \"empty\" },\n        open: { primary: \"\\u958B\\u304F\", alternatives: [\"\\u30AA\\u30FC\\u30D7\\u30F3\"], normalized: \"open\" },\n        close: { primary: \"\\u9589\\u3058\\u308B\", alternatives: [\"\\u30AF\\u30ED\\u30FC\\u30BA\"], normalized: \"close\" },\n        select: { primary: \"\\u9078\\u3076\", alternatives: [\"\\u30BB\\u30EC\\u30AF\\u30C8\"], normalized: \"select\" },\n        clear: { primary: \"\\u30AF\\u30EA\\u30A2\", alternatives: [\"\\u6D88\\u53BB\"], normalized: \"clear\" },\n        reset: { primary: \"\\u30EA\\u30BB\\u30C3\\u30C8\", alternatives: [\"\\u518D\\u8A2D\\u5B9A\"], normalized: \"reset\" },\n        breakpoint: { primary: \"\\u30D6\\u30EC\\u30FC\\u30AF\\u30DD\\u30A4\\u30F3\\u30C8\", normalized: \"breakpoint\" },\n        // Navigation\n        go: { primary: \"\\u79FB\\u52D5\", alternatives: [\"\\u884C\\u304F\", \"\\u30CA\\u30D3\\u30B2\\u30FC\\u30C8\"], normalized: \"go\" },\n        scroll: { primary: \"\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\", normalized: \"scroll\" },\n        push: { primary: \"\\u30D7\\u30C3\\u30B7\\u30E5\", normalized: \"push\" },\n        replace: { primary: \"\\u7F6E\\u63DB\", alternatives: [\"\\u7F6E\\u304D\\u63DB\\u3048\"], normalized: \"replace\" },\n        process: { primary: \"\\u51E6\\u7406\", normalized: \"process\" },\n        // Async\n        wait: { primary: \"\\u5F85\\u3064\", alternatives: [\"\\u5F85\\u6A5F\"], normalized: \"wait\" },\n        fetch: { primary: \"\\u30D5\\u30A7\\u30C3\\u30C1\", normalized: \"fetch\" },\n        settle: { primary: \"\\u5B89\\u5B9A\", alternatives: [\"\\u843D\\u3061\\u7740\\u304F\"], normalized: \"settle\" },\n        // Control flow\n        if: { primary: \"\\u3082\\u3057\", normalized: \"if\" },\n        when: { primary: \"\\u3068\\u304D\", alternatives: [\"\\u3068\\u304D\\u306B\"], normalized: \"when\" },\n        where: { primary: \"\\u3069\\u3053\", normalized: \"where\" },\n        else: { primary: \"\\u305D\\u3046\\u3067\\u306A\\u3051\\u308C\\u3070\", alternatives: [\"\\u305D\\u308C\\u4EE5\\u5916\"], normalized: \"else\" },\n        // `ない限り` (\"as long as not\" = unless). Deliberately NOT `でなければ`: that\n        // begins with the `で` particle, which the tokenizer peels off the front\n        // (`で`+`なければ`), shattering the marker — registering it as a keyword does\n        // NOT win against the particle extractor. `ない限り` starts with `な` (not a\n        // particle), so it tokenizes as a single `unless` token (the same reason else\n        // `そうでなければ` tokenizes clean), and the trailing-`unless` guard recovers the\n        // clause. See docs-internal/HANDOFF-unless-condition-tokenizer.md.\n        unless: { primary: \"\\u306A\\u3044\\u9650\\u308A\", normalized: \"unless\" },\n        repeat: { primary: \"\\u7E70\\u308A\\u8FD4\\u3057\", alternatives: [\"\\u7E70\\u308A\\u8FD4\\u3059\", \"\\u30EA\\u30D4\\u30FC\\u30C8\"], normalized: \"repeat\" },\n        for: { primary: \"\\u305F\\u3081\\u306B\", alternatives: [\"\\u5404\"], normalized: \"for\" },\n        while: { primary: \"\\u306E\\u9593\", alternatives: [\"\\u9593\"], normalized: \"while\" },\n        // `repeat forever` loop keyword — left English in the corpus (`繰り返し forever`);\n        // recognize it so the loopType types as `:literal` like EN (see spanish.ts).\n        forever: { primary: \"forever\", normalized: \"forever\" },\n        continue: { primary: \"\\u7D9A\\u3051\\u308B\", alternatives: [\"\\u7D99\\u7D9A\"], normalized: \"continue\" },\n        halt: { primary: \"\\u505C\\u6B62\", alternatives: [\"\\u6B62\\u3081\\u308B\", \"\\u30CF\\u30EB\\u30C8\"], normalized: \"halt\" },\n        throw: { primary: \"\\u6295\\u3052\\u308B\", alternatives: [\"\\u30B9\\u30ED\\u30FC\"], normalized: \"throw\" },\n        call: { primary: \"\\u547C\\u3073\\u51FA\\u3057\", alternatives: [\"\\u30B3\\u30FC\\u30EB\", \"\\u547C\\u3076\"], normalized: \"call\" },\n        return: { primary: \"\\u623B\\u308B\", alternatives: [\"\\u8FD4\\u3059\", \"\\u30EA\\u30BF\\u30FC\\u30F3\"], normalized: \"return\" },\n        then: { primary: \"\\u305D\\u308C\\u304B\\u3089\", alternatives: [\"\\u6B21\\u306B\", \"\\u306A\\u3089\\u3070\", \"\\u306A\\u3089\"], normalized: \"then\" },\n        and: { primary: \"\\u307E\\u305F\", alternatives: [\"\\u3068\", \"\\u305D\\u3057\\u3066\"], normalized: \"and\" },\n        // 終了 removed: it is the i18n dict's `exit` emission (ja.ts), so listing it\n        // as an `end` alternative made an `exit` inside `if … exit … end` read as the\n        // block terminator and collapse the handler body (behavior-sortable). 終わり is\n        // the dict's `end` emission; おわり the kana variant.\n        end: { primary: \"\\u7D42\\u308F\\u308A\", alternatives: [\"\\u304A\\u308F\\u308A\"], normalized: \"end\" },\n        // Advanced\n        js: { primary: \"JS\\u5B9F\\u884C\", alternatives: [\"js\"], normalized: \"js\" },\n        async: { primary: \"\\u975E\\u540C\\u671F\", alternatives: [\"\\u30A2\\u30B7\\u30F3\\u30AF\"], normalized: \"async\" },\n        tell: { primary: \"\\u4F1D\\u3048\\u308B\", alternatives: [\"\\u30C6\\u30EB\"], normalized: \"tell\" },\n        default: { primary: \"\\u65E2\\u5B9A\", alternatives: [\"\\u30C7\\u30D5\\u30A9\\u30EB\\u30C8\"], normalized: \"default\" },\n        init: { primary: \"\\u521D\\u671F\\u5316\", alternatives: [\"\\u30A4\\u30CB\\u30C3\\u30C8\"], normalized: \"init\" },\n        behavior: { primary: \"\\u632F\\u308B\\u821E\\u3044\", alternatives: [\"\\u30D3\\u30D8\\u30A4\\u30D3\\u30A2\"], normalized: \"behavior\" },\n        install: { primary: \"\\u30A4\\u30F3\\u30B9\\u30C8\\u30FC\\u30EB\", alternatives: [\"\\u5C0E\\u5165\"], normalized: \"install\" },\n        measure: { primary: \"\\u6E2C\\u5B9A\", alternatives: [\"\\u8A08\\u6E2C\", \"\\u30E1\\u30B8\\u30E3\\u30FC\"], normalized: \"measure\" },\n        beep: { primary: \"\\u30D3\\u30FC\\u30D7\", normalized: \"beep\" },\n        break: { primary: \"\\u4E2D\\u65AD\", normalized: \"break\" },\n        copy: { primary: \"\\u30B3\\u30D4\\u30FC\", normalized: \"copy\" },\n        exit: { primary: \"\\u9000\\u51FA\", normalized: \"exit\" },\n        pick: { primary: \"\\u9078\\u629E\", normalized: \"pick\" },\n        render: { primary: \"\\u63CF\\u753B\", normalized: \"render\" },\n        // Modifiers\n        into: { primary: \"\\u3078\", alternatives: [\"\\u306B\"], normalized: \"into\" },\n        before: { primary: \"\\u524D\\u306B\", alternatives: [\"\\u524D\"], normalized: \"before\" },\n        after: { primary: \"\\u5F8C\\u306B\", alternatives: [\"\\u5F8C\"], normalized: \"after\" },\n        // Event modifiers (for repeat until event)\n        until: { primary: \"\\u307E\\u3067\", alternatives: [\"\\u8FC4\"], normalized: \"until\" },\n        event: { primary: \"\\u30A4\\u30D9\\u30F3\\u30C8\", alternatives: [\"\\u4E8B\\u8C61\"], normalized: \"event\" },\n        from: { primary: \"\\u304B\\u3089\", normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-接続`, `hx-ライブ`, etc. Noun\n        // forms (rather than verb stems) since these appear as attribute\n        // suffixes, not verbs in a hyperscript sentence.\n        connect: { primary: \"\\u63A5\\u7D9A\", alternatives: [\"\\u63A5\\u7D9A\\u3059\\u308B\"], normalized: \"connect\" },\n        stream: { primary: \"\\u30B9\\u30C8\\u30EA\\u30FC\\u30E0\", alternatives: [\"\\u914D\\u4FE1\"], normalized: \"stream\" },\n        live: { primary: \"\\u30E9\\u30A4\\u30D6\", alternatives: [\"\\u5B9F\\u6642\\u9593\"], normalized: \"live\" },\n        socket: { primary: \"\\u30BD\\u30B1\\u30C3\\u30C8\", alternatives: [\"websocket\"], normalized: \"socket\" },\n        // Reactive / realtime commands\n        bind: { primary: \"\\u30D0\\u30A4\\u30F3\\u30C9\", alternatives: [\"\\u7D50\\u3073\\u3064\\u3051\\u308B\", \"bind\"], normalized: \"bind\" },\n        intercept: {\n          primary: \"\\u30A4\\u30F3\\u30BF\\u30FC\\u30BB\\u30D7\\u30C8\",\n          alternatives: [\"\\u508D\\u53D7\", \"intercept\"],\n          normalized: \"intercept\"\n        },\n        worker: { primary: \"\\u30EF\\u30FC\\u30AB\\u30FC\", alternatives: [\"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"\\u30A4\\u30D9\\u30F3\\u30C8\\u30BD\\u30FC\\u30B9\"],\n          normalized: \"eventsource\"\n        }\n      },\n      tokenization: {\n        particles: [\"\\u3092\", \"\\u306B\", \"\\u3067\", \"\\u304B\\u3089\", \"\\u306E\", \"\\u304C\", \"\\u306F\", \"\\u3082\", \"\\u3078\", \"\\u3068\"],\n        boundaryStrategy: \"particle\"\n      },\n      eventHandler: {\n        // Event marker: で (at/on/when), used in SOV pattern\n        // Pattern: [event] で [destination] の [patient] を [action]\n        // Example: クリック で #button の .active を 切り替え\n        // Note: に is NOT an event marker - it marks direction/destination\n        // で specifically marks the means/method of action (by/via)\n        eventMarker: { primary: \"\\u3067\", position: \"after\" },\n        temporalMarkers: [\"\\u6642\", \"\\u3068\\u304D\"]\n        // temporal markers that can optionally appear\n      }\n    };\n  }\n});\n\n// src/generators/profiles/korean.ts\nvar korean_exports = {};\n__export(korean_exports, {\n  koreanProfile: () => koreanProfile\n});\nvar koreanProfile;\nvar init_korean = __esm({\n  \"src/generators/profiles/korean.ts\"() {\n    \"use strict\";\n    koreanProfile = {\n      code: \"ko\",\n      name: \"Korean\",\n      nativeName: \"\\uD55C\\uAD6D\\uC5B4\",\n      regions: [\"east-asian\", \"priority\"],\n      direction: \"ltr\",\n      script: \"hangul\",\n      wordOrder: \"SOV\",\n      markingStrategy: \"particle\",\n      usesSpaces: true,\n      // Korean uses spaces between words, but particles attach\n      verb: {\n        position: \"end\",\n        suffixes: [\"\\uB2E4\", \"\\uC694\", \"\\uB2C8\\uB2E4\", \"\\uC138\\uC694\"],\n        subjectDrop: true\n      },\n      references: {\n        me: \"\\uB098\",\n        // \"I/me\" (informal)\n        it: \"\\uADF8\\uAC83\",\n        // \"it\"\n        you: \"\\uB108\",\n        // \"you\" (informal)\n        result: \"\\uACB0\\uACFC\",\n        event: \"\\uC774\\uBCA4\\uD2B8\",\n        target: \"\\uB300\\uC0C1\",\n        body: \"\\uBC14\\uB514\"\n        // matches the i18n dict's emitted body word (본문 = \"main text\", wrong for the DOM body element)\n      },\n      possessive: {\n        marker: \"\\uC758\",\n        // Possessive particle\n        markerPosition: \"between\",\n        specialForms: {\n          me: \"\\uB0B4\",\n          // Contracted form of 나의 (my)\n          it: \"\\uADF8\\uAC83\\uC758\",\n          // \"its\"\n          you: \"\\uB124\"\n          // Contracted form of 너의 (your)\n        },\n        keywords: {\n          \\uB0B4: \"me\",\n          // nae (my)\n          \\uB124: \"you\",\n          // ne (your)\n          \\uADF8\\uC758: \"it\"\n          // geu-ui (its/his)\n        }\n      },\n      roleMarkers: {\n        patient: { primary: \"\\uC744\", alternatives: [\"\\uB97C\"], position: \"after\" },\n        // 에서 is deliberately NOT a destination alternative: it is the SOURCE\n        // primary (\"at/from\"), and listing it here let an unconsumed wait-line\n        // tail (`문서 에서` — from document) satisfy the next SOV clause's\n        // optional destination group (behavior-draggable's add captured\n        // destination=문서 instead of the schema `me` default). A real Korean\n        // destination renders 에/으로/로/의.\n        destination: { primary: \"\\uC5D0\", alternatives: [\"\\uC73C\\uB85C\", \"\\uB85C\", \"\\uC758\"], position: \"after\" },\n        source: { primary: \"\\uC5D0\\uC11C\", alternatives: [\"\\uBD80\\uD130\"], position: \"after\" },\n        style: { primary: \"\\uB85C\", alternatives: [\"\\uC73C\\uB85C\"], position: \"after\" },\n        event: { primary: \"\\uC744\", alternatives: [\"\\uB97C\"], position: \"after\" }\n        // Event as object marker\n      },\n      keywords: {\n        // Class/Attribute operations\n        toggle: { primary: \"\\uD1A0\\uAE00\", normalized: \"toggle\" },\n        add: { primary: \"\\uCD94\\uAC00\", normalized: \"add\" },\n        remove: { primary: \"\\uC81C\\uAC70\", alternatives: [\"\\uC0AD\\uC81C\"], normalized: \"remove\" },\n        // Content operations\n        put: { primary: \"\\uB123\\uB2E4\", alternatives: [\"\\uB123\\uAE30\", \"\\uB193\\uAE30\"], normalized: \"put\" },\n        append: { primary: \"\\uB367\\uBD99\\uC774\\uB2E4\", alternatives: [\"\\uB05D\\uC5D0\\uCD94\\uAC00\"], normalized: \"append\" },\n        prepend: { primary: \"\\uC55E\\uC5D0\\uCD94\\uAC00\", alternatives: [\"\\uC120\\uB450\\uCD94\\uAC00\"], normalized: \"prepend\" },\n        take: { primary: \"\\uAC00\\uC838\\uC624\\uB2E4\", normalized: \"take\" },\n        make: { primary: \"\\uB9CC\\uB4E4\\uB2E4\", normalized: \"make\" },\n        clone: { primary: \"\\uBCF5\\uC81C\", normalized: \"clone\" },\n        // 복제=duplicate/clone, 복사=copy\n        swap: { primary: \"\\uAD50\\uD658\", alternatives: [\"\\uBC14\\uAFB8\\uB2E4\"], normalized: \"swap\" },\n        morph: { primary: \"\\uBCC0\\uD615\", alternatives: [\"\\uBCC0\\uD658\"], normalized: \"morph\" },\n        // Variable operations\n        set: { primary: \"\\uC124\\uC815\", normalized: \"set\" },\n        get: { primary: \"\\uC5BB\\uB2E4\", normalized: \"get\" },\n        increment: { primary: \"\\uC99D\\uAC00\", normalized: \"increment\" },\n        decrement: { primary: \"\\uAC10\\uC18C\", normalized: \"decrement\" },\n        log: { primary: \"\\uB85C\\uADF8\", normalized: \"log\" },\n        // Visibility\n        show: { primary: \"\\uBCF4\\uC774\\uB2E4\", alternatives: [\"\\uD45C\\uC2DC\", \"\\uBCF4\\uC774\\uAE30\"], normalized: \"show\" },\n        hide: { primary: \"\\uC228\\uAE30\\uB2E4\", alternatives: [\"\\uC228\\uAE30\\uAE30\"], normalized: \"hide\" },\n        // primary is the loanword 트랜지션; 전환 (\"switch/transition\") is the form the\n        // i18n transformer emits — registered as an alternative (passthrough-alignment).\n        // toggle uses 토글, so 전환 carries no collision.\n        transition: { primary: \"\\uD2B8\\uB79C\\uC9C0\\uC158\", alternatives: [\"\\uC804\\uD658\"], normalized: \"transition\" },\n        // Events\n        on: { primary: \"\\uC5D0\", alternatives: [\"\\uC2DC\", \"\\uD560 \\uB54C\"], normalized: \"on\" },\n        trigger: { primary: \"\\uD2B8\\uB9AC\\uAC70\", normalized: \"trigger\" },\n        send: { primary: \"\\uBCF4\\uB0B4\\uB2E4\", normalized: \"send\" },\n        // DOM focus\n        focus: { primary: \"\\uD3EC\\uCEE4\\uC2A4\", normalized: \"focus\" },\n        blur: { primary: \"\\uBE14\\uB7EC\", normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"\\uBE44\\uC6B0\\uAE30\", normalized: \"empty\" },\n        open: { primary: \"\\uC5F4\\uAE30\", normalized: \"open\" },\n        close: { primary: \"\\uB2EB\\uAE30\", normalized: \"close\" },\n        select: { primary: \"\\uACE0\\uB974\\uAE30\", normalized: \"select\" },\n        clear: { primary: \"\\uC9C0\\uC6B0\\uAE30\", normalized: \"clear\" },\n        reset: { primary: \"\\uC7AC\\uC124\\uC815\", normalized: \"reset\" },\n        breakpoint: { primary: \"\\uC911\\uB2E8\\uC810\", normalized: \"breakpoint\" },\n        // Common event names (for event handler patterns)\n        click: { primary: \"\\uD074\\uB9AD\", normalized: \"click\" },\n        hover: { primary: \"\\uD638\\uBC84\", normalized: \"hover\" },\n        submit: { primary: \"\\uC81C\\uCD9C\", normalized: \"submit\" },\n        input: { primary: \"\\uC785\\uB825\", normalized: \"input\" },\n        change: { primary: \"\\uBCC0\\uACBD\", normalized: \"change\" },\n        // Navigation\n        go: { primary: \"\\uC774\\uB3D9\", normalized: \"go\" },\n        scroll: { primary: \"\\uC2A4\\uD06C\\uB864\", normalized: \"scroll\" },\n        push: { primary: \"\\uD478\\uC2DC\", normalized: \"push\" },\n        replace: { primary: \"\\uAD50\\uCCB4\", alternatives: [\"\\uBC14\\uAFB8\\uAE30\"], normalized: \"replace\" },\n        process: { primary: \"\\uCC98\\uB9AC\", normalized: \"process\" },\n        // Async\n        wait: { primary: \"\\uB300\\uAE30\", normalized: \"wait\" },\n        // primary is the loanword 패치 (avoids collision with get 얻다); 가져오기\n        // (\"bring/fetch\") is the form the i18n transformer emits, registered here so\n        // transformed fetch patterns parse (passthrough-alignment).\n        fetch: { primary: \"\\uD328\\uCE58\", alternatives: [\"\\uAC00\\uC838\\uC624\\uAE30\"], normalized: \"fetch\" },\n        settle: { primary: \"\\uC548\\uC815\", normalized: \"settle\" },\n        // Control flow\n        if: { primary: \"\\uB9CC\\uC57D\", normalized: \"if\" },\n        when: { primary: \"\\uB54C\", normalized: \"when\" },\n        where: { primary: \"\\uC5B4\\uB514\", normalized: \"where\" },\n        else: { primary: \"\\uC544\\uB2C8\\uBA74\", normalized: \"else\" },\n        // `아니라면` (\"if it isn't\"), deliberately distinct from else `아니면`. The\n        // i18n dict previously rendered unless as `아니면` too, so the marker\n        // tokenized as `else` (homonym collision) and the `unless` action dropped.\n        // Longest-match beats the `아니` (not) prefix, so this tokenizes clean.\n        unless: { primary: \"\\uC544\\uB2C8\\uB77C\\uBA74\", normalized: \"unless\" },\n        repeat: { primary: \"\\uBC18\\uBCF5\", normalized: \"repeat\" },\n        for: { primary: \"\\uAC01\\uAC01\", normalized: \"for\" },\n        // \"each\" — avoids collision with while 동안\n        while: { primary: \"\\uB3D9\\uC548\", normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"forever\", normalized: \"forever\" },\n        continue: { primary: \"\\uACC4\\uC18D\", normalized: \"continue\" },\n        halt: { primary: \"\\uC815\\uC9C0\", normalized: \"halt\" },\n        throw: { primary: \"\\uB358\\uC9C0\\uB2E4\", normalized: \"throw\" },\n        call: { primary: \"\\uD638\\uCD9C\", normalized: \"call\" },\n        return: { primary: \"\\uBC18\\uD658\", normalized: \"return\" },\n        then: { primary: \"\\uADF8\\uB2E4\\uC74C\", alternatives: [\"\\uADF8\\uB7F0\\uD6C4\"], normalized: \"then\" },\n        and: { primary: \"\\uADF8\\uB9AC\\uACE0\", alternatives: [\"\\uB610\\uD55C\", \"\\uBC0F\"], normalized: \"and\" },\n        // Comparison operator. The semantic package doesn't evaluate operators (core\n        // does), but a folded conditional's raw condition is reconstructed from the\n        // token stream and read by the core expression parser, which only understands\n        // English operator words — so `target 일치 .x` must normalize to `target\n        // matches .x`. Without this keyword `일치` stays an identifier and the\n        // condition is unevaluable (modal-close-backdrop drops its then-branch).\n        matches: { primary: \"\\uC77C\\uCE58\", normalized: \"matches\" },\n        end: { primary: \"\\uB05D\", alternatives: [\"\\uB9C8\\uCE68\"], normalized: \"end\" },\n        // Advanced\n        js: { primary: \"JS\\uC2E4\\uD589\", alternatives: [\"js\"], normalized: \"js\" },\n        async: { primary: \"\\uBE44\\uB3D9\\uAE30\", normalized: \"async\" },\n        tell: { primary: \"\\uB9D0\\uD558\\uB2E4\", normalized: \"tell\" },\n        default: { primary: \"\\uAE30\\uBCF8\\uAC12\", normalized: \"default\" },\n        init: { primary: \"\\uCD08\\uAE30\\uD654\", normalized: \"init\" },\n        behavior: { primary: \"\\uB3D9\\uC791\", normalized: \"behavior\" },\n        install: { primary: \"\\uC124\\uCE58\", normalized: \"install\" },\n        measure: { primary: \"\\uCE21\\uC815\", normalized: \"measure\" },\n        beep: { primary: \"\\uBE44\\uD504\", normalized: \"beep\" },\n        break: { primary: \"\\uC911\\uB2E8\", normalized: \"break\" },\n        copy: { primary: \"\\uBCF5\\uC0AC\", normalized: \"copy\" },\n        exit: { primary: \"\\uB098\\uAC00\\uAE30\", normalized: \"exit\" },\n        // avoids collision with end alt 종료\n        pick: { primary: \"\\uC120\\uD0DD\", normalized: \"pick\" },\n        render: { primary: \"\\uB80C\\uB354\\uB9C1\", normalized: \"render\" },\n        // Modifiers\n        into: { primary: \"\\uC73C\\uB85C\", normalized: \"into\" },\n        before: { primary: \"\\uC804\\uC5D0\", normalized: \"before\" },\n        after: { primary: \"\\uD6C4\\uC5D0\", normalized: \"after\" },\n        // Event modifiers (for repeat until event)\n        until: { primary: \"\\uAE4C\\uC9C0\", normalized: \"until\" },\n        event: { primary: \"\\uC774\\uBCA4\\uD2B8\", normalized: \"event\" },\n        from: { primary: \"\\uC5D0\\uC11C\", normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-연결`, `hx-실시간`, etc.\n        connect: { primary: \"\\uC5F0\\uACB0\", alternatives: [\"\\uC811\\uC18D\"], normalized: \"connect\" },\n        stream: { primary: \"\\uC2A4\\uD2B8\\uB9BC\", alternatives: [\"\\uC2A4\\uD2B8\\uB9AC\\uBC0D\"], normalized: \"stream\" },\n        live: { primary: \"\\uC2E4\\uC2DC\\uAC04\", alternatives: [\"\\uB77C\\uC774\\uBE0C\"], normalized: \"live\" },\n        socket: { primary: \"\\uC18C\\uCF13\", alternatives: [\"websocket\"], normalized: \"socket\" },\n        // Reactive / realtime commands\n        bind: { primary: \"\\uBC14\\uC778\\uB4DC\", alternatives: [\"bind\"], normalized: \"bind\" },\n        intercept: {\n          primary: \"\\uAC00\\uB85C\\uCC44\\uAE30\",\n          alternatives: [\"\\uC778\\uD130\\uC149\\uD2B8\", \"intercept\"],\n          normalized: \"intercept\"\n        },\n        worker: { primary: \"\\uC6CC\\uCEE4\", alternatives: [\"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"\\uC774\\uBCA4\\uD2B8\\uC18C\\uC2A4\"],\n          normalized: \"eventsource\"\n        }\n      },\n      tokenization: {\n        particles: [\"\\uC744\", \"\\uB97C\", \"\\uC774\", \"\\uAC00\", \"\\uC740\", \"\\uB294\", \"\\uC5D0\", \"\\uC5D0\\uC11C\", \"\\uC73C\\uB85C\", \"\\uB85C\", \"\\uC640\", \"\\uACFC\", \"\\uB3C4\"],\n        boundaryStrategy: \"space\"\n      },\n      eventHandler: {\n        // Event marker: 할 때 (when/at the time of), used in SOV pattern\n        // Pattern: [event] 할 때 [destination] 의 [patient] 를 [action]\n        // Example: 클릭 할 때 #button 의 .active 를 토글\n        // Compact forms (no space): 클릭할때 .active를토글\n        eventMarker: { primary: \"\\uD560 \\uB54C\", alternatives: [\"\\uD560\\uB54C\", \"\\uB54C\", \"\\uC5D0\"], position: \"after\" },\n        temporalMarkers: [\"\\uD560 \\uB54C\", \"\\uD560\\uB54C\", \"\\uB54C\"]\n        // temporal markers (with and without space)\n      }\n    };\n  }\n});\n\n// src/generators/profiles/ms.ts\nvar ms_exports = {};\n__export(ms_exports, {\n  malayProfile: () => malayProfile\n});\nvar malayProfile;\nvar init_ms = __esm({\n  \"src/generators/profiles/ms.ts\"() {\n    \"use strict\";\n    malayProfile = {\n      code: \"ms\",\n      name: \"Malay\",\n      nativeName: \"Melayu\",\n      direction: \"ltr\",\n      script: \"latin\",\n      wordOrder: \"SVO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: true,\n      defaultVerbForm: \"base\",\n      verb: {\n        position: \"start\",\n        subjectDrop: true\n      },\n      references: {\n        me: \"saya\",\n        it: \"ia\",\n        you: \"kamu\",\n        result: \"hasil\",\n        event: \"peristiwa\",\n        target: \"sasaran\",\n        body: \"badan\"\n      },\n      possessive: {\n        marker: \"\",\n        // Malay often uses suffix or juxtaposition\n        markerPosition: \"after-object\",\n        keywords: {\n          // Full pronoun forms (also serve as possessives)\n          saya: \"me\",\n          // my (formal)\n          // The ms dict translates possessive-dot `my.X` as saya_punya.X (the\n          // underscore keeps it one token for the dot-notation transformer) —\n          // recognize that emitted form so the possessive matcher can assemble\n          // the property-path (set-text/set-style corpus rows).\n          saya_punya: \"me\",\n          // my (dict dot-notation emission)\n          aku: \"me\",\n          // my (informal)\n          awak: \"you\",\n          // your (informal, Malaysian)\n          kamu: \"you\",\n          // your (informal)\n          anda: \"you\",\n          // your (formal)\n          dia: \"it\",\n          // his/her/its\n          ia: \"it\",\n          // its\n          // The ms dict renders the reference `it` (possessive `it.X`) as a\n          // STANDALONE `nya` token — e.g. `it.error` → `nya.error`\n          // (fetch-error-handling/-with-headers/-json rows). The suffix `-nya` key\n          // below is a distinct lexeme (exact-match lookup), so it doesn't cover the\n          // bare form. Recognize it so the possessive matcher assembles the\n          // property-path, matching the en reference's `it.error:property-path`.\n          nya: \"it\",\n          // \"its\" (standalone clitic, dot-notation possessor)\n          // Suffix forms (attached to nouns)\n          \"-ku\": \"me\",\n          // my (suffix)\n          \"-mu\": \"you\",\n          // your (suffix)\n          \"-nya\": \"it\"\n          // his/her/its (suffix)\n        }\n      },\n      roleMarkers: {\n        destination: { primary: \"ke\", alternatives: [\"pada\"], position: \"before\" },\n        source: { primary: \"dari\", position: \"before\" },\n        patient: { primary: \"\", position: \"before\" },\n        style: { primary: \"dengan\", position: \"before\" }\n      },\n      keywords: {\n        // Class/Attribute operations\n        toggle: { primary: \"togol\", alternatives: [\"tukar\"], normalized: \"toggle\" },\n        add: { primary: \"tambah\", normalized: \"add\" },\n        remove: { primary: \"buang\", alternatives: [\"padam\"], normalized: \"remove\" },\n        // Content operations\n        put: { primary: \"letak\", alternatives: [\"letakkan\"], normalized: \"put\" },\n        append: { primary: \"tambah_hujung\", normalized: \"append\" },\n        prepend: { primary: \"tambah_mula\", normalized: \"prepend\" },\n        take: { primary: \"ambil\", normalized: \"take\" },\n        make: { primary: \"buat\", alternatives: [\"cipta\"], normalized: \"make\" },\n        clone: { primary: \"klon\", alternatives: [], normalized: \"clone\" },\n        swap: { primary: \"tukar_tempat\", normalized: \"swap\" },\n        morph: { primary: \"ubah_bentuk\", normalized: \"morph\" },\n        // Variable operations\n        set: { primary: \"tetapkan\", alternatives: [\"setkan\"], normalized: \"set\" },\n        get: { primary: \"dapatkan\", alternatives: [], normalized: \"get\" },\n        increment: { primary: \"tambah_satu\", normalized: \"increment\" },\n        decrement: { primary: \"kurang_satu\", normalized: \"decrement\" },\n        log: { primary: \"catat\", alternatives: [\"log\"], normalized: \"log\" },\n        // Visibility\n        show: { primary: \"tunjuk\", alternatives: [], normalized: \"show\" },\n        hide: { primary: \"sembunyi\", alternatives: [\"sorok\"], normalized: \"hide\" },\n        transition: { primary: \"peralihan\", normalized: \"transition\" },\n        // Events\n        on: { primary: \"apabila\", alternatives: [\"ketika\"], normalized: \"on\" },\n        trigger: { primary: \"cetuskan\", normalized: \"trigger\" },\n        send: { primary: \"hantar\", normalized: \"send\" },\n        // DOM focus\n        focus: { primary: \"fokus\", normalized: \"focus\" },\n        blur: { primary: \"kabur\", normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"kosongkan\", alternatives: [\"kosong\"], normalized: \"empty\" },\n        open: { primary: \"buka\", normalized: \"open\" },\n        close: { primary: \"tutup\", normalized: \"close\" },\n        select: { primary: \"tandai\", normalized: \"select\" },\n        clear: { primary: \"bersihkan\", normalized: \"clear\" },\n        reset: { primary: \"set-semula\", alternatives: [\"reset\"], normalized: \"reset\" },\n        breakpoint: { primary: \"titik-henti\", normalized: \"breakpoint\" },\n        // Navigation\n        go: { primary: \"pergi\", alternatives: [\"pindah\"], normalized: \"go\" },\n        // The i18n ms dict keeps the `scroll` command in English (`scroll: 'scroll'`),\n        // but the profile only knew `tatal`/`skrol`, so the generated scroll pattern\n        // never matched the emitted `scroll ke …` and the command dropped\n        // (last-in-collection ms, fid 0.5). List the English form too (cf. `push`).\n        scroll: { primary: \"tatal\", alternatives: [\"skrol\", \"scroll\"], normalized: \"scroll\" },\n        push: { primary: \"tolak\", alternatives: [\"push\"], normalized: \"push\" },\n        replace: { primary: \"ganti_url\", alternatives: [\"gantikan_url\"], normalized: \"replace\" },\n        process: { primary: \"proses\", normalized: \"process\" },\n        // Async\n        wait: { primary: \"tunggu\", normalized: \"wait\" },\n        fetch: { primary: \"ambil_dari\", alternatives: [\"muat\"], normalized: \"fetch\" },\n        settle: { primary: \"selesai\", normalized: \"settle\" },\n        // Control flow\n        if: { primary: \"jika\", alternatives: [\"kalau\"], normalized: \"if\" },\n        unless: { primary: \"kecuali\", normalized: \"unless\" },\n        when: { primary: \"bila\", normalized: \"when\" },\n        where: { primary: \"di_mana\", normalized: \"where\" },\n        else: { primary: \"kalau_tidak\", alternatives: [\"jika_tidak\"], normalized: \"else\" },\n        repeat: { primary: \"ulang\", normalized: \"repeat\" },\n        for: { primary: \"untuk\", normalized: \"for\" },\n        while: { primary: \"selagi\", alternatives: [\"semasa\"], normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"selamanya\", normalized: \"forever\", alternatives: [\"forever\"] },\n        continue: { primary: \"teruskan\", normalized: \"continue\" },\n        halt: { primary: \"henti\", alternatives: [\"berhenti\"], normalized: \"halt\" },\n        throw: { primary: \"lempar\", normalized: \"throw\" },\n        call: { primary: \"panggil\", normalized: \"call\" },\n        return: { primary: \"pulang\", alternatives: [\"kembali\"], normalized: \"return\" },\n        then: { primary: \"kemudian\", alternatives: [\"lepas_itu\"], normalized: \"then\" },\n        and: { primary: \"dan\", normalized: \"and\" },\n        end: { primary: \"tamat\", alternatives: [\"habis\"], normalized: \"end\" },\n        // Advanced\n        js: { primary: \"js\", normalized: \"js\" },\n        async: { primary: \"tak_segerak\", normalized: \"async\" },\n        tell: { primary: \"beritahu\", normalized: \"tell\" },\n        default: { primary: \"lalai\", normalized: \"default\" },\n        init: { primary: \"mula\", alternatives: [\"mulakan\"], normalized: \"init\" },\n        behavior: { primary: \"kelakuan\", normalized: \"behavior\" },\n        install: { primary: \"pasang\", normalized: \"install\" },\n        measure: { primary: \"ukur\", normalized: \"measure\" },\n        beep: { primary: \"bunyi\", normalized: \"beep\" },\n        break: { primary: \"pecah\", normalized: \"break\" },\n        copy: { primary: \"salin\", normalized: \"copy\" },\n        exit: { primary: \"keluar\", normalized: \"exit\" },\n        pick: { primary: \"pilih\", normalized: \"pick\" },\n        render: { primary: \"papar\", normalized: \"render\" },\n        // Modifiers\n        into: { primary: \"ke_dalam\", normalized: \"into\" },\n        before: { primary: \"sebelum\", normalized: \"before\" },\n        after: { primary: \"selepas\", alternatives: [\"lepas\"], normalized: \"after\" },\n        // Event modifiers\n        until: { primary: \"sehingga\", alternatives: [\"sampai\"], normalized: \"until\" },\n        event: { primary: \"peristiwa\", normalized: \"event\" },\n        from: { primary: \"dari\", normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-sambung`, `hx-langsung`, etc.\n        connect: { primary: \"sambung\", alternatives: [\"hubungkan\"], normalized: \"connect\" },\n        stream: { primary: \"strim\", alternatives: [\"penstriman\", \"aliran\"], normalized: \"stream\" },\n        live: { primary: \"langsung\", alternatives: [\"siaran-langsung\"], normalized: \"live\" },\n        socket: { primary: \"soket\", alternatives: [\"websocket\"], normalized: \"socket\" },\n        // Reactive / realtime commands\n        bind: { primary: \"ikat\", alternatives: [\"kaitkan\", \"bind\"], normalized: \"bind\" },\n        intercept: { primary: \"pintas\", alternatives: [\"cegat\", \"intercept\"], normalized: \"intercept\" },\n        worker: { primary: \"pekerja\", alternatives: [\"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"sumber_peristiwa\"],\n          normalized: \"eventsource\"\n        }\n      },\n      eventHandler: {\n        keyword: { primary: \"apabila\", alternatives: [\"ketika\"], normalized: \"on\" },\n        sourceMarker: { primary: \"dari\", position: \"before\" },\n        // Without an eventMarker ms generated NO fused event patterns at all —\n        // the only language besides en in that state (the swap/if recovery split).\n        eventMarker: { primary: \"apabila\", alternatives: [\"ketika\"], position: \"before\" }\n      }\n    };\n  }\n});\n\n// src/generators/profiles/polish.ts\nvar polish_exports = {};\n__export(polish_exports, {\n  polishProfile: () => polishProfile\n});\nvar polishProfile;\nvar init_polish = __esm({\n  \"src/generators/profiles/polish.ts\"() {\n    \"use strict\";\n    polishProfile = {\n      code: \"pl\",\n      name: \"Polish\",\n      nativeName: \"Polski\",\n      direction: \"ltr\",\n      script: \"latin\",\n      wordOrder: \"SVO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: true,\n      // Polish uses imperative form for commands in software UI\n      // (unlike most languages that use infinitive)\n      defaultVerbForm: \"imperative\",\n      verb: {\n        position: \"start\",\n        subjectDrop: true,\n        suffixes: [\"a\\u0107\", \"e\\u0107\", \"i\\u0107\", \"y\\u0107\", \"\\u0105\\u0107\", \"owa\\u0107\"]\n      },\n      references: {\n        me: \"ja\",\n        // \"I/me\"\n        it: \"to\",\n        // \"it\"\n        you: \"ty\",\n        // \"you\"\n        result: \"wynik\",\n        event: \"zdarzenie\",\n        target: \"cel\",\n        body: \"body\"\n      },\n      possessive: {\n        marker: \"\",\n        // Polish uses genitive case, not a marker\n        markerPosition: \"after-object\",\n        usePossessiveAdjectives: true,\n        specialForms: {\n          me: \"m\\xF3j\",\n          // \"my\" (masculine)\n          it: \"jego\",\n          // \"its\"\n          you: \"tw\\xF3j\"\n          // \"your\"\n        },\n        keywords: {\n          // \"my\" variants (masculine/feminine/neuter)\n          m\\u00F3j: \"me\",\n          moja: \"me\",\n          moje: \"me\",\n          // \"your\" variants\n          tw\\u00F3j: \"you\",\n          twoja: \"you\",\n          twoje: \"you\",\n          // \"its/his/her\" forms\n          jego: \"it\",\n          // his/its\n          jej: \"it\"\n          // her/its (feminine)\n        }\n      },\n      roleMarkers: {\n        destination: { primary: \"do\", alternatives: [\"w\", \"na\"], position: \"before\" },\n        source: { primary: \"z\", alternatives: [\"od\", \"ze\"], position: \"before\" },\n        patient: { primary: \"\", position: \"before\" },\n        style: { primary: \"z\", alternatives: [\"ze\"], position: \"before\" }\n      },\n      keywords: {\n        // Class/Attribute operations (imperative form)\n        toggle: {\n          primary: \"prze\\u0142\\u0105cz\",\n          alternatives: [\"przelacz\"],\n          normalized: \"toggle\",\n          form: \"imperative\"\n        },\n        add: { primary: \"dodaj\", normalized: \"add\", form: \"imperative\" },\n        remove: {\n          primary: \"usu\\u0144\",\n          alternatives: [\"usun\", \"wyczy\\u015B\\u0107\", \"wyczysc\"],\n          normalized: \"remove\",\n          form: \"imperative\"\n        },\n        // Content operations\n        put: {\n          primary: \"umie\\u015B\\u0107\",\n          alternatives: [\"umiesc\", \"wstaw\"],\n          normalized: \"put\",\n          form: \"imperative\"\n        },\n        append: {\n          primary: \"do\\u0142\\u0105cz\",\n          alternatives: [\"dolacz\"],\n          normalized: \"append\",\n          form: \"imperative\"\n        },\n        prepend: {\n          primary: \"poprzed\\u017A\",\n          alternatives: [\"poprzedz\"],\n          normalized: \"prepend\",\n          form: \"imperative\"\n        },\n        take: {\n          primary: \"we\\u017A\",\n          alternatives: [\"wez\"],\n          // removed 'pobierz' - it's the primary keyword for 'get'\n          normalized: \"take\",\n          form: \"imperative\"\n        },\n        make: {\n          primary: \"utw\\xF3rz\",\n          alternatives: [\"utworz\", \"stw\\xF3rz\", \"stworz\"],\n          normalized: \"make\",\n          form: \"imperative\"\n        },\n        clone: {\n          primary: \"sklonuj\",\n          normalized: \"clone\",\n          form: \"imperative\"\n        },\n        swap: { primary: \"zamie\\u0144\", alternatives: [\"zamien\"], normalized: \"swap\", form: \"imperative\" },\n        morph: {\n          primary: \"przekszta\\u0142\\u0107\",\n          alternatives: [\"przeksztalc\"],\n          normalized: \"morph\",\n          form: \"imperative\"\n        },\n        // Variable operations\n        set: {\n          primary: \"ustaw\",\n          alternatives: [\"okre\\u015Bl\", \"okresl\"],\n          normalized: \"set\",\n          form: \"imperative\"\n        },\n        get: {\n          primary: \"uzyskaj\",\n          normalized: \"get\",\n          form: \"imperative\"\n        },\n        increment: {\n          primary: \"zwi\\u0119ksz\",\n          alternatives: [\"zwieksz\"],\n          normalized: \"increment\",\n          form: \"imperative\"\n        },\n        decrement: { primary: \"zmniejsz\", normalized: \"decrement\", form: \"imperative\" },\n        log: { primary: \"loguj\", alternatives: [\"wypisz\"], normalized: \"log\", form: \"imperative\" },\n        // Visibility\n        show: {\n          primary: \"poka\\u017C\",\n          alternatives: [\"pokaz\", \"wy\\u015Bwietl\", \"wyswietl\"],\n          normalized: \"show\",\n          form: \"imperative\"\n        },\n        hide: { primary: \"ukryj\", alternatives: [\"schowaj\"], normalized: \"hide\", form: \"imperative\" },\n        transition: {\n          primary: \"animuj\",\n          alternatives: [\"przej\\u015Bcie\", \"przejscie\"],\n          normalized: \"transition\",\n          form: \"imperative\"\n        },\n        // Events\n        on: { primary: \"gdy\", alternatives: [\"przy\", \"na\"], normalized: \"on\" },\n        trigger: {\n          primary: \"wyzw\\xF3l\",\n          alternatives: [\"wyzwol\"],\n          normalized: \"trigger\",\n          form: \"imperative\"\n        },\n        send: { primary: \"wy\\u015Blij\", alternatives: [\"wyslij\"], normalized: \"send\", form: \"imperative\" },\n        // DOM focus\n        focus: {\n          primary: \"skup\",\n          alternatives: [\"skupienie\"],\n          normalized: \"focus\",\n          form: \"imperative\"\n        },\n        blur: { primary: \"rozmyj\", alternatives: [\"odskup\"], normalized: \"blur\", form: \"imperative\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"opr\\xF3\\u017Cnij\", alternatives: [\"oproznij\", \"pusty\"], normalized: \"empty\" },\n        open: { primary: \"otw\\xF3rz\", alternatives: [\"otworz\"], normalized: \"open\" },\n        close: { primary: \"zamknij\", normalized: \"close\" },\n        select: { primary: \"zaznacz\", normalized: \"select\" },\n        clear: { primary: \"zeruj\", normalized: \"clear\" },\n        reset: { primary: \"zresetuj\", normalized: \"reset\" },\n        breakpoint: { primary: \"punkt-przerwania\", normalized: \"breakpoint\" },\n        // Navigation\n        go: {\n          primary: \"id\\u017A\",\n          alternatives: [\"idz\", \"przejd\\u017A\", \"przejdz\", \"nawiguj\"],\n          normalized: \"go\",\n          form: \"imperative\"\n        },\n        scroll: {\n          primary: \"przewi\\u0144\",\n          alternatives: [\"przewin\"],\n          normalized: \"scroll\",\n          form: \"imperative\"\n        },\n        push: {\n          primary: \"wepchnij\",\n          alternatives: [\"push\"],\n          normalized: \"push\",\n          form: \"imperative\"\n        },\n        replace: {\n          primary: \"nadpisz\",\n          alternatives: [\"zamie\\u0144_url\", \"zamien_url\"],\n          normalized: \"replace\",\n          form: \"imperative\"\n        },\n        process: {\n          primary: \"przetw\\xF3rz\",\n          alternatives: [\"przetworz\"],\n          normalized: \"process\",\n          form: \"imperative\"\n        },\n        // Async\n        wait: { primary: \"czekaj\", alternatives: [\"poczekaj\"], normalized: \"wait\", form: \"imperative\" },\n        fetch: {\n          primary: \"pobierz\",\n          alternatives: [\"za\\u0142aduj\", \"zaladuj\"],\n          normalized: \"fetch\",\n          form: \"imperative\"\n        },\n        settle: { primary: \"ustabilizuj\", normalized: \"settle\", form: \"imperative\" },\n        // Control flow\n        if: { primary: \"je\\u015Bli\", alternatives: [\"jesli\", \"je\\u017Celi\", \"jezeli\"], normalized: \"if\" },\n        unless: { primary: \"chyba\", normalized: \"unless\" },\n        when: { primary: \"kiedy\", normalized: \"when\" },\n        where: { primary: \"gdzie\", normalized: \"where\" },\n        else: { primary: \"inaczej\", alternatives: [\"wpp\"], normalized: \"else\" },\n        repeat: {\n          primary: \"powt\\xF3rz\",\n          alternatives: [\"powtorz\"],\n          normalized: \"repeat\",\n          form: \"imperative\"\n        },\n        for: { primary: \"dla\", alternatives: [\"ka\\u017Cdy\", \"kazdy\"], normalized: \"for\" },\n        while: { primary: \"dop\\xF3ki\", alternatives: [\"dopoki\", \"podczas\"], normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"forever\", normalized: \"forever\" },\n        continue: {\n          primary: \"kontynuuj\",\n          alternatives: [\"dalej\"],\n          normalized: \"continue\",\n          form: \"imperative\"\n        },\n        halt: {\n          primary: \"zatrzymaj\",\n          alternatives: [\"stop\"],\n          normalized: \"halt\",\n          form: \"imperative\"\n        },\n        throw: { primary: \"rzu\\u0107\", alternatives: [\"rzuc\"], normalized: \"throw\", form: \"imperative\" },\n        call: { primary: \"wywo\\u0142aj\", alternatives: [\"wywolaj\"], normalized: \"call\", form: \"imperative\" },\n        return: { primary: \"zwr\\xF3\\u0107\", alternatives: [\"zwroc\"], normalized: \"return\", form: \"imperative\" },\n        then: {\n          primary: \"wtedy\",\n          alternatives: [\"potem\", \"nast\\u0119pnie\", \"nastepnie\"],\n          normalized: \"then\"\n        },\n        and: { primary: \"i\", alternatives: [\"oraz\"], normalized: \"and\" },\n        end: { primary: \"koniec\", normalized: \"end\" },\n        // Advanced\n        js: { primary: \"js\", normalized: \"js\" },\n        async: { primary: \"async\", alternatives: [\"asynchronicznie\"], normalized: \"async\" },\n        tell: { primary: \"powiedz\", normalized: \"tell\", form: \"imperative\" },\n        default: { primary: \"domy\\u015Blnie\", alternatives: [\"domyslnie\"], normalized: \"default\" },\n        init: { primary: \"inicjuj\", normalized: \"init\", form: \"imperative\" },\n        behavior: { primary: \"zachowanie\", normalized: \"behavior\" },\n        install: { primary: \"zainstaluj\", normalized: \"install\", form: \"imperative\" },\n        measure: { primary: \"zmierz\", normalized: \"measure\", form: \"imperative\" },\n        beep: { primary: \"sygna\\u0142\", normalized: \"beep\" },\n        break: { primary: \"przerwij\", normalized: \"break\" },\n        copy: { primary: \"kopiuj\", normalized: \"copy\" },\n        exit: { primary: \"wyjd\\u017A\", normalized: \"exit\" },\n        pick: { primary: \"wybierz\", normalized: \"pick\" },\n        render: { primary: \"renderuj\", normalized: \"render\" },\n        // Modifiers\n        into: { primary: \"do\", alternatives: [\"w\"], normalized: \"into\" },\n        before: { primary: \"przed\", normalized: \"before\" },\n        after: { primary: \"po\", normalized: \"after\" },\n        // Common event names (for event handler patterns)\n        click: { primary: \"klikni\\u0119ciu\", alternatives: [\"klikniecie\", \"klik\"], normalized: \"click\" },\n        // `resize` event (window-resize): dict emits zmieńrozmiar; register it so the\n        // event types as literal=\"resize\" (matching en) instead of expression.\n        resize: { primary: \"zmie\\u0144rozmiar\", normalized: \"resize\" },\n        hover: { primary: \"najechaniu\", alternatives: [\"hover\"], normalized: \"hover\" },\n        submit: { primary: \"wys\\u0142aniu\", alternatives: [\"wyslaniu\", \"submit\"], normalized: \"submit\" },\n        // i18n dict emits `wejście` for `input`; recognize it so `on input` types as literal.\n        input: { primary: \"wprowadzeniu\", alternatives: [\"input\", \"wej\\u015Bcie\"], normalized: \"input\" },\n        change: { primary: \"zmianie\", alternatives: [\"zmiana\"], normalized: \"change\" },\n        // Event modifiers\n        until: { primary: \"a\\u017C\", alternatives: [\"az\"], normalized: \"until\" },\n        event: { primary: \"zdarzenie\", normalized: \"event\" },\n        from: { primary: \"z\", alternatives: [\"od\", \"ze\"], normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-połącz`, `hx-na-żywo`, etc.\n        connect: { primary: \"po\\u0142\\u0105cz\", alternatives: [\"pod\\u0142\\u0105cz\"], normalized: \"connect\" },\n        stream: { primary: \"transmituj\", alternatives: [\"strumie\\u0144\", \"streamuj\"], normalized: \"stream\" },\n        live: { primary: \"na-\\u017Cywo\", alternatives: [\"na-bie\\u017C\\u0105co\", \"live\", \"\\u017Cywy\"], normalized: \"live\" },\n        socket: { primary: \"gniazdo\", alternatives: [\"socket\", \"websocket\"], normalized: \"socket\" },\n        // Reactive / realtime commands\n        bind: { primary: \"powi\\u0105\\u017C\", alternatives: [\"zwi\\u0105za\\u0107\", \"bind\"], normalized: \"bind\" },\n        intercept: {\n          primary: \"przechwy\\u0107\",\n          alternatives: [\"przechwytuj\", \"intercept\"],\n          normalized: \"intercept\"\n        },\n        worker: { primary: \"pracownik\", alternatives: [\"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"\\u017Ar\\xF3d\\u0142o-zdarze\\u0144\"],\n          normalized: \"eventsource\"\n        }\n      },\n      eventHandler: {\n        keyword: { primary: \"gdy\", alternatives: [\"przy\", \"na\"], normalized: \"on\" },\n        sourceMarker: { primary: \"na\", alternatives: [\"w\", \"przy\"], position: \"before\" },\n        conditionalKeyword: { primary: \"kiedy\", alternatives: [\"gdy\", \"je\\u015Bli\"] },\n        // Event marker: przy (at/on), used in SVO pattern\n        // Pattern: przy [event] [verb] [patient] na [destination?]\n        // Example: przy kliknięciu przełącz .active na #button\n        // + the eventHandler.keyword word the i18n transformer actually emits —\n        // without it every generated fused `<cmd>-event-*-vso` pattern was dead\n        // (the swap/if recovery split, #346/#351)\n        eventMarker: { primary: \"przy\", alternatives: [\"na\", \"gdy\"], position: \"before\" },\n        temporalMarkers: [\"kiedy\", \"gdy\", \"przy\"]\n        // temporal conjunctions (when, at)\n      }\n    };\n  }\n});\n\n// src/generators/profiles/portuguese.ts\nvar portuguese_exports = {};\n__export(portuguese_exports, {\n  portugueseProfile: () => portugueseProfile\n});\nvar portugueseProfile;\nvar init_portuguese = __esm({\n  \"src/generators/profiles/portuguese.ts\"() {\n    \"use strict\";\n    portugueseProfile = {\n      code: \"pt\",\n      name: \"Portuguese\",\n      nativeName: \"Portugu\\xEAs\",\n      regions: [\"western\", \"priority\"],\n      direction: \"ltr\",\n      script: \"latin\",\n      wordOrder: \"SVO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: true,\n      verb: {\n        position: \"start\",\n        subjectDrop: true\n      },\n      references: {\n        me: \"eu\",\n        // \"I/me\"\n        it: \"ele\",\n        // \"it\"\n        you: \"voc\\xEA\",\n        // \"you\"\n        result: \"resultado\",\n        event: \"evento\",\n        target: \"alvo\",\n        body: \"corpo\"\n      },\n      possessive: {\n        marker: \"de\",\n        // Uses \"de\" for general possession\n        markerPosition: \"before-property\",\n        usePossessiveAdjectives: true,\n        specialForms: {\n          me: \"meu\",\n          // \"my\"\n          it: \"seu\",\n          // \"its\"\n          you: \"teu\"\n          // \"your\" (or \"seu\" in formal)\n        },\n        keywords: {\n          meu: \"me\",\n          minha: \"me\",\n          teu: \"you\",\n          tua: \"you\",\n          seu: \"it\",\n          sua: \"it\"\n        }\n      },\n      roleMarkers: {\n        destination: { primary: \"em\", alternatives: [\"para\", \"a\"], position: \"before\" },\n        source: { primary: \"de\", alternatives: [\"desde\"], position: \"before\" },\n        patient: { primary: \"\", position: \"before\" },\n        style: { primary: \"com\", position: \"before\" }\n      },\n      keywords: {\n        toggle: { primary: \"alternar\", alternatives: [], normalized: \"toggle\" },\n        add: { primary: \"adicionar\", alternatives: [\"acrescentar\"], normalized: \"add\" },\n        remove: { primary: \"remover\", alternatives: [\"eliminar\", \"apagar\"], normalized: \"remove\" },\n        put: { primary: \"colocar\", alternatives: [\"p\\xF4r\", \"por\"], normalized: \"put\" },\n        append: { primary: \"anexar\", normalized: \"append\" },\n        prepend: { primary: \"preceder\", normalized: \"prepend\" },\n        take: { primary: \"pegar\", normalized: \"take\" },\n        make: { primary: \"fazer\", alternatives: [\"criar\"], normalized: \"make\" },\n        clone: { primary: \"clonar\", alternatives: [], normalized: \"clone\" },\n        swap: { primary: \"trocar\", alternatives: [\"substituir\"], normalized: \"swap\" },\n        morph: { primary: \"transformar\", alternatives: [\"converter\"], normalized: \"morph\" },\n        set: { primary: \"definir\", alternatives: [\"configurar\"], normalized: \"set\" },\n        get: { primary: \"obter\", normalized: \"get\" },\n        increment: { primary: \"incrementar\", alternatives: [\"aumentar\"], normalized: \"increment\" },\n        decrement: { primary: \"decrementar\", alternatives: [\"diminuir\"], normalized: \"decrement\" },\n        log: { primary: \"registrar\", alternatives: [\"imprimir\"], normalized: \"log\" },\n        show: { primary: \"mostrar\", alternatives: [\"exibir\"], normalized: \"show\" },\n        hide: { primary: \"ocultar\", alternatives: [\"esconder\"], normalized: \"hide\" },\n        transition: { primary: \"transi\\xE7\\xE3o\", alternatives: [\"animar\"], normalized: \"transition\" },\n        on: { primary: \"em\", alternatives: [\"ao\"], normalized: \"on\" },\n        trigger: { primary: \"disparar\", alternatives: [\"ativar\"], normalized: \"trigger\" },\n        send: { primary: \"enviar\", normalized: \"send\" },\n        focus: { primary: \"focar\", normalized: \"focus\" },\n        blur: { primary: \"desfocar\", normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"esvaziar\", alternatives: [\"vazio\"], normalized: \"empty\" },\n        open: { primary: \"abrir\", normalized: \"open\" },\n        close: { primary: \"fechar\", normalized: \"close\" },\n        select: { primary: \"selecionar\", normalized: \"select\" },\n        clear: { primary: \"limpar\", normalized: \"clear\" },\n        reset: { primary: \"redefinir\", alternatives: [\"resetar\"], normalized: \"reset\" },\n        breakpoint: {\n          primary: \"ponto-interrup\\xE7\\xE3o\",\n          alternatives: [\"ponto-interrupcao\"],\n          normalized: \"breakpoint\"\n        },\n        go: { primary: \"ir\", alternatives: [\"navegar\"], normalized: \"go\" },\n        scroll: { primary: \"rolar\", alternatives: [\"scroll\"], normalized: \"scroll\" },\n        push: { primary: \"empurrar\", alternatives: [\"push\"], normalized: \"push\" },\n        replace: { primary: \"repor\", alternatives: [\"recolocar\"], normalized: \"replace\" },\n        process: { primary: \"processar\", normalized: \"process\" },\n        wait: { primary: \"esperar\", alternatives: [\"aguardar\"], normalized: \"wait\" },\n        fetch: { primary: \"buscar\", normalized: \"fetch\" },\n        settle: { primary: \"estabilizar\", normalized: \"settle\" },\n        if: { primary: \"se\", normalized: \"if\" },\n        // salvo — single token ('salvo se' = unless). a_menos kept as an\n        // alternative documenting intent: the pt word extractor splits at `_`\n        // (a + _ + menos), so the compound could never tokenize as one keyword.\n        unless: { primary: \"salvo\", alternatives: [\"a_menos\"], normalized: \"unless\" },\n        when: { primary: \"quando\", normalized: \"when\" },\n        where: { primary: \"onde\", normalized: \"where\" },\n        else: { primary: \"sen\\xE3o\", normalized: \"else\" },\n        repeat: { primary: \"repetir\", normalized: \"repeat\" },\n        for: { primary: \"para\", normalized: \"for\" },\n        while: { primary: \"enquanto\", normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"forever\", normalized: \"forever\" },\n        continue: { primary: \"continuar\", normalized: \"continue\" },\n        halt: { primary: \"parar\", normalized: \"halt\" },\n        throw: { primary: \"lan\\xE7ar\", normalized: \"throw\" },\n        call: { primary: \"chamar\", normalized: \"call\" },\n        return: { primary: \"retornar\", alternatives: [\"devolver\"], normalized: \"return\" },\n        then: { primary: \"ent\\xE3o\", alternatives: [\"logo\"], normalized: \"then\" },\n        and: { primary: \"e\", alternatives: [\"tamb\\xE9m\", \"al\\xE9m disso\"], normalized: \"and\" },\n        end: { primary: \"fim\", alternatives: [\"final\", \"t\\xE9rmino\"], normalized: \"end\" },\n        js: { primary: \"js\", normalized: \"js\" },\n        async: { primary: \"ass\\xEDncrono\", normalized: \"async\" },\n        tell: { primary: \"dizer\", normalized: \"tell\" },\n        default: { primary: \"padr\\xE3o\", normalized: \"default\" },\n        init: { primary: \"iniciar\", alternatives: [\"inicializar\"], normalized: \"init\" },\n        behavior: { primary: \"comportamento\", normalized: \"behavior\" },\n        install: { primary: \"instalar\", normalized: \"install\" },\n        measure: { primary: \"medir\", normalized: \"measure\" },\n        beep: { primary: \"apitar\", normalized: \"beep\" },\n        break: { primary: \"interromper\", normalized: \"break\" },\n        copy: { primary: \"copiar\", normalized: \"copy\" },\n        exit: { primary: \"sair\", normalized: \"exit\" },\n        pick: { primary: \"escolher\", normalized: \"pick\" },\n        render: { primary: \"renderizar\", normalized: \"render\" },\n        into: { primary: \"dentro\", alternatives: [\"dentro de\"], normalized: \"into\" },\n        before: { primary: \"antes\", normalized: \"before\" },\n        after: { primary: \"depois\", normalized: \"after\" },\n        // Common event names (for event handler patterns)\n        click: { primary: \"clique\", alternatives: [\"clicar\"], normalized: \"click\" },\n        // `resize` event (window-resize): dict emits redimensionar; register it so the\n        // event types as literal=\"resize\" (matching en) instead of expression.\n        resize: { primary: \"redimensionar\", normalized: \"resize\" },\n        hover: { primary: \"sobrevoar\", alternatives: [\"passar\"], normalized: \"hover\" },\n        submit: { primary: \"envio\", alternatives: [\"submeter\"], normalized: \"submit\" },\n        input: { primary: \"entrada\", alternatives: [\"inser\\xE7\\xE3o\"], normalized: \"input\" },\n        change: { primary: \"altera\\xE7\\xE3o\", alternatives: [\"mudan\\xE7a\"], normalized: \"change\" },\n        // mousedown/mouseup (repeat-until-event): dict emits mouseBaixo/mouseCima —\n        // register so both the on.event and the repeat until-event type as literal.\n        mousedown: { primary: \"mouseBaixo\", normalized: \"mousedown\" },\n        mouseup: { primary: \"mouseCima\", normalized: \"mouseup\" },\n        // Event modifiers (for repeat until event)\n        until: { primary: \"at\\xE9\", normalized: \"until\" },\n        event: { primary: \"evento\", normalized: \"event\" },\n        from: { primary: \"de\", alternatives: [\"desde\"], normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-conectar`, `hx-ao-vivo`, etc.\n        connect: { primary: \"conectar\", alternatives: [\"conex\\xE3o\"], normalized: \"connect\" },\n        stream: { primary: \"transmitir\", alternatives: [\"fluxo\"], normalized: \"stream\" },\n        live: { primary: \"ao-vivo\", alternatives: [\"vivo\", \"direto\"], normalized: \"live\" },\n        socket: { primary: \"soquete\", alternatives: [\"websocket\"], normalized: \"socket\" },\n        // Reactive / realtime commands\n        bind: { primary: \"vincular\", alternatives: [\"ligar\", \"bind\"], normalized: \"bind\" },\n        intercept: { primary: \"interceptar\", alternatives: [\"intercept\"], normalized: \"intercept\" },\n        worker: { primary: \"trabalhador\", alternatives: [\"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"fonte-de-eventos\"],\n          normalized: \"eventsource\"\n        }\n      },\n      eventHandler: {\n        keyword: { primary: \"em\", alternatives: [\"ao\"], normalized: \"on\" },\n        sourceMarker: { primary: \"de\", alternatives: [\"desde\"], position: \"before\" },\n        conditionalKeyword: { primary: \"quando\", alternatives: [\"se\"] },\n        // Event marker: ao (at/upon), used in SVO pattern\n        // Pattern: ao [event] [verb] [patient] em [destination?]\n        // Example: ao clique alternar .active em #button\n        // + the eventHandler.keyword word the i18n transformer actually emits —\n        // without it every generated fused `<cmd>-event-*-vso` pattern was dead\n        // (the swap/if recovery split, #346/#351)\n        eventMarker: { primary: \"ao\", alternatives: [\"no\", \"em\"], position: \"before\" },\n        temporalMarkers: [\"quando\", \"ao\"]\n        // temporal conjunctions (when)\n      }\n    };\n  }\n});\n\n// src/generators/profiles/quechua.ts\nvar quechua_exports = {};\n__export(quechua_exports, {\n  quechuaProfile: () => quechuaProfile\n});\nvar quechuaProfile;\nvar init_quechua = __esm({\n  \"src/generators/profiles/quechua.ts\"() {\n    \"use strict\";\n    quechuaProfile = {\n      code: \"qu\",\n      name: \"Quechua\",\n      nativeName: \"Runasimi\",\n      direction: \"ltr\",\n      script: \"latin\",\n      wordOrder: \"SOV\",\n      markingStrategy: \"postposition\",\n      usesSpaces: true,\n      verb: {\n        position: \"end\",\n        subjectDrop: true\n      },\n      references: {\n        // Aligned to the i18n dict's emitted surface forms (the corpus-canonical\n        // words the parser must recognize — §7l). The dict emits noqa/punta/kurku;\n        // the old ñuqa/ñawpaqman/ukhu appear in ZERO corpus rows, so the put\n        // destination (`noqa man` → me), the matches condition target (`punta`), and\n        // the DOM body (`kurku`, for modal-open/modal-close-button/make-toast) never\n        // resolved.\n        me: \"noqa\",\n        // \"I/me\" (dict form; ñuqa is the formal spelling, unused in corpus)\n        it: \"chay\",\n        // dict form for `it` (pay = he/she, not the dict's choice)\n        you: \"qam\",\n        // \"you\"\n        result: \"rurasqa\",\n        event: \"ruwakuq\",\n        target: \"punta\",\n        body: \"kurku\"\n      },\n      possessive: {\n        marker: \"-pa\",\n        // Genitive suffix\n        markerPosition: \"after-object\",\n        // Quechua: ñuqapa value = \"my value\"\n        keywords: {\n          // Genitive forms (pronoun + -pa suffix)\n          // \"my\" - ñuqapa, ñuqaypa\n          \\u00F1uqapa: \"me\",\n          \\u00F1uqaypa: \"me\",\n          // The qu dict's `my` is the romanization noqaq — what the dot-notation\n          // transformer emits into possessive-dot heads (noqaq.textContent).\n          // Recognize it so the possessive matcher can assemble the property-path.\n          noqaq: \"me\",\n          // \"your\" - qampa\n          qampa: \"you\",\n          // \"its/his/her\" - paypa\n          paypa: \"it\",\n          // The corpus dot-notation possessive is chaypaq (its = chay + -paq\n          // genitive), which the agglutinative tokenizer SPLITS into `chay` (it) +\n          // `paq` particle — so the one-token keyword lookup sees only `chay`.\n          // Recognize the bare head here and skip the genitive particle via\n          // `connectors` below (the same mechanism as id `saya punya X`). Guarded\n          // against over-match by the matcher itself: it only fires when a\n          // property-shaped token follows (`.name`), so a marked `chay ta …`\n          // patient or the chayqa/chaymanta then-keywords never form a phantom\n          // possessive (single tokens / particle follows).\n          chay: \"it\"\n        },\n        connectors: [\"paq\", \"pa\"]\n      },\n      roleMarkers: {\n        patient: { primary: \"ta\", position: \"after\" },\n        destination: { primary: \"man\", alternatives: [\"pa\"], position: \"after\" },\n        source: { primary: \"manta\", position: \"after\" },\n        style: { primary: \"wan\", position: \"after\" },\n        event: { primary: \"pi\", position: \"after\" }\n        // Locative: event occurs \"at\" (pi)\n      },\n      keywords: {\n        toggle: { primary: \"t'ikray\", alternatives: [\"tikray\"], normalized: \"toggle\" },\n        add: { primary: \"yapay\", alternatives: [\"yapaykuy\"], normalized: \"add\" },\n        remove: { primary: \"qichuy\", alternatives: [\"hurquy\", \"anchuchiy\"], normalized: \"remove\" },\n        put: { primary: \"churay\", alternatives: [\"tiyachiy\"], normalized: \"put\" },\n        append: { primary: \"qatichiy\", alternatives: [\"qhipaman_yapay\"], normalized: \"append\" },\n        prepend: { primary: \"\\xF1awpachiy\", normalized: \"prepend\" },\n        take: { primary: \"hapiy\", normalized: \"take\" },\n        make: { primary: \"ruray\", alternatives: [\"kamay\"], normalized: \"make\" },\n        clone: { primary: \"kikinchay\", alternatives: [], normalized: \"clone\" },\n        swap: {\n          primary: \"t'inkuy\",\n          alternatives: [\"rantikunakuy\", \"rantin_tikray\"],\n          normalized: \"swap\"\n        },\n        morph: { primary: \"tukunay\", alternatives: [], normalized: \"morph\" },\n        set: { primary: \"churanay\", alternatives: [\"kamaykuy\"], normalized: \"set\" },\n        get: { primary: \"taripay\", normalized: \"get\" },\n        increment: { primary: \"yapachiy\", normalized: \"increment\" },\n        decrement: { primary: \"pisiyachiy\", normalized: \"decrement\" },\n        log: { primary: \"qillqakuy\", alternatives: [\"willakuy\"], normalized: \"log\" },\n        show: { primary: \"rikuchiy\", alternatives: [\"qawachiy\"], normalized: \"show\" },\n        hide: { primary: \"pakay\", alternatives: [\"pakakuy\"], normalized: \"hide\" },\n        transition: { primary: \"pasay\", alternatives: [], normalized: \"transition\" },\n        on: { primary: \"chaypim\", alternatives: [\"kaypi\"], normalized: \"on\" },\n        trigger: { primary: \"kuyuchiy\", alternatives: [\"kichay\"], normalized: \"trigger\" },\n        send: { primary: \"kachay\", alternatives: [\"apachiy\"], normalized: \"send\" },\n        focus: { primary: \"qhawachiy\", alternatives: [\"qhaway\"], normalized: \"focus\" },\n        blur: { primary: \"paqariy\", alternatives: [\"mana qhawachiy\"], normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"ch'usaq\", normalized: \"empty\" },\n        open: { primary: \"paskay\", normalized: \"open\" },\n        close: { primary: \"wichqay\", normalized: \"close\" },\n        select: { primary: \"marcay\", normalized: \"select\" },\n        clear: { primary: \"pichay\", normalized: \"clear\" },\n        reset: { primary: \"musuqchay\", normalized: \"reset\" },\n        breakpoint: { primary: \"sayachinay\", normalized: \"breakpoint\" },\n        go: { primary: \"riy\", alternatives: [\"puriy\"], normalized: \"go\" },\n        scroll: { primary: \"kunray\", alternatives: [], normalized: \"scroll\" },\n        push: { primary: \"tanqay\", normalized: \"push\" },\n        replace: { primary: \"tikray_url\", alternatives: [], normalized: \"replace\" },\n        process: { primary: \"rurariy\", normalized: \"process\" },\n        wait: { primary: \"suyay\", normalized: \"wait\" },\n        fetch: { primary: \"apamuy\", alternatives: [\"taripakaramuy\"], normalized: \"fetch\" },\n        settle: { primary: \"tiyakuy\", normalized: \"settle\" },\n        if: { primary: \"sichus\", normalized: \"if\" },\n        // `mana sichus` = \"if not\" (Quechua has no single-word \"unless\"). Spaced phrase\n        // so the BaseTokenizer multi-word matcher catches it longest-first — otherwise\n        // the tokenizer splits it into `mana`(=false) + `sichus`(=if) and the clause\n        // mis-parses as `if`. The i18n qu dict emits the same spaced form (was\n        // `mana_sichus`, whose `_`-split caused exactly that drop).\n        unless: { primary: \"mana sichus\", normalized: \"unless\" },\n        when: { primary: \"maykama\", normalized: \"when\" },\n        where: { primary: \"maypi\", normalized: \"where\" },\n        else: { primary: \"manachus\", alternatives: [\"hukniraq\"], normalized: \"else\" },\n        repeat: { primary: \"kutipay\", alternatives: [\"muyu\"], normalized: \"repeat\" },\n        for: { primary: \"sapankaq\", normalized: \"for\" },\n        while: { primary: \"kaykamaqa\", normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"forever\", normalized: \"forever\" },\n        continue: { primary: \"qatipay\", normalized: \"continue\" },\n        halt: { primary: \"sayay\", alternatives: [], normalized: \"halt\" },\n        throw: { primary: \"chanqay\", normalized: \"throw\" },\n        call: { primary: \"waqyay\", alternatives: [\"qayay\"], normalized: \"call\" },\n        return: { primary: \"kutichiy\", alternatives: [\"kutimuy\"], normalized: \"return\" },\n        then: { primary: \"chaymantataq\", alternatives: [\"hinaspa\", \"chaymanta\"], normalized: \"then\" },\n        and: { primary: \"hinallataq\", alternatives: [\"ima\", \"chaymantawan\"], normalized: \"and\" },\n        end: { primary: \"tukukuy\", alternatives: [\"tukuy\", \"puchukay\"], normalized: \"end\" },\n        js: { primary: \"js\", normalized: \"js\" },\n        async: { primary: \"mana waqtalla\", normalized: \"async\" },\n        tell: { primary: \"niy\", alternatives: [], normalized: \"tell\" },\n        // The qu dict renders default as ñawpaq_kaq (\"the prior one\"); qallariy\n        // (\"to begin\") kept as alternative for back-compat — but note the qu dict\n        // uses qallariy for RESET, so primary must stay ñawpaq_kaq.\n        default: { primary: \"\\xF1awpaq_kaq\", alternatives: [\"qallariy\"], normalized: \"default\" },\n        init: { primary: \"qallarichiy\", normalized: \"init\" },\n        behavior: { primary: \"ruwana\", normalized: \"behavior\" },\n        install: { primary: \"tarpuy\", normalized: \"install\" },\n        measure: { primary: \"tupuy\", normalized: \"measure\" },\n        beep: { primary: \"waqay\", normalized: \"beep\" },\n        break: { primary: \"p'akiy\", normalized: \"break\" },\n        copy: { primary: \"qillqay\", normalized: \"copy\" },\n        exit: { primary: \"lluqsiy\", normalized: \"exit\" },\n        pick: { primary: \"akllay\", normalized: \"pick\" },\n        render: { primary: \"rikurichiy\", normalized: \"render\" },\n        into: { primary: \"ukuman\", normalized: \"into\" },\n        before: { primary: \"\\xF1awpaq\", normalized: \"before\" },\n        after: { primary: \"qhipa\", normalized: \"after\" },\n        // Event modifiers (for repeat until event)\n        until: { primary: \"kama\", alternatives: [\"-kama\"], normalized: \"until\" },\n        event: { primary: \"ruwakuq\", alternatives: [\"imayna\"], normalized: \"event\" },\n        from: { primary: \"manta\", alternatives: [\"-manta\"], normalized: \"from\" },\n        // Common event names (for event handler pattern matching)\n        click: { primary: \"\\xF1itiy\", normalized: \"click\" },\n        load: { primary: \"apakuy\", normalized: \"load\" },\n        submit: { primary: \"apaykachay\", normalized: \"submit\" },\n        hover: { primary: \"hawachiy\", normalized: \"hover\" },\n        input: { primary: \"yaykuchiy\", normalized: \"input\" },\n        change: { primary: \"kambiay\", normalized: \"change\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-tinkiy`, `hx-kawsachkaq`, etc.\n        // These are aspirational Runasimi coinages using native morphology\n        // (-y infinitive, -na instrument nominalizer, -chiy causative).\n        // No established Quechua ICT corpus exists to validate against.\n        connect: { primary: \"tinkiy\", alternatives: [\"watay\", \"hukllachay\"], normalized: \"connect\" },\n        stream: {\n          primary: \"phawachiy\",\n          alternatives: [\"sururichiy\", \"ch'uquchiy\"],\n          normalized: \"stream\"\n        },\n        live: { primary: \"kawsachkaq\", alternatives: [\"kunan-pacha\", \"kawsay\"], normalized: \"live\" },\n        socket: { primary: \"tinkina\", alternatives: [\"t'oqo\", \"tinkiy-tinkina\"], normalized: \"socket\" },\n        // Reactive / realtime commands (bind keeps the English verb; no idiomatic\n        // Runasimi coinage that avoids collision with connect's `watay`)\n        bind: { primary: \"bind\", alternatives: [\"watachiy\"], normalized: \"bind\" },\n        intercept: { primary: \"hark'ay\", alternatives: [\"intercept\"], normalized: \"intercept\" },\n        worker: { primary: \"llamk'aq\", alternatives: [\"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"kawsay-pukyu\"],\n          normalized: \"eventsource\"\n        }\n      },\n      eventHandler: {\n        keyword: { primary: \"pi\", alternatives: [\"kaqtin\"] },\n        sourceMarker: { primary: \"manta\", position: \"after\" },\n        eventMarker: { primary: \"pi\", alternatives: [\"kaqtin\", \"kaqpi\"], position: \"after\" }\n      }\n    };\n  }\n});\n\n// src/generators/profiles/russian.ts\nvar russian_exports = {};\n__export(russian_exports, {\n  russianProfile: () => russianProfile\n});\nvar russianProfile;\nvar init_russian = __esm({\n  \"src/generators/profiles/russian.ts\"() {\n    \"use strict\";\n    russianProfile = {\n      code: \"ru\",\n      name: \"Russian\",\n      nativeName: \"\\u0420\\u0443\\u0441\\u0441\\u043A\\u0438\\u0439\",\n      direction: \"ltr\",\n      script: \"cyrillic\",\n      wordOrder: \"SVO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: true,\n      defaultVerbForm: \"infinitive\",\n      verb: {\n        position: \"start\",\n        subjectDrop: true,\n        suffixes: [\"\\u0442\\u044C\", \"\\u0442\\u044C\\u0441\\u044F\", \"\\u0438\\u0442\\u044C\", \"\\u0438\\u0442\\u044C\\u0441\\u044F\", \"\\u0430\\u0442\\u044C\", \"\\u0430\\u0442\\u044C\\u0441\\u044F\", \"\\u0435\\u0442\\u044C\", \"\\u0435\\u0442\\u044C\\u0441\\u044F\"]\n      },\n      references: {\n        me: \"\\u044F\",\n        it: \"\\u044D\\u0442\\u043E\",\n        you: \"\\u0442\\u044B\",\n        result: \"\\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\",\n        event: \"\\u0441\\u043E\\u0431\\u044B\\u0442\\u0438\\u0435\",\n        target: \"\\u0446\\u0435\\u043B\\u044C\",\n        body: \"\\u0442\\u0435\\u043B\\u043E\"\n        // was an English placeholder; the i18n dict emits the Russian word\n      },\n      possessive: {\n        marker: \"\",\n        markerPosition: \"after-object\",\n        usePossessiveAdjectives: true,\n        specialForms: {\n          me: \"\\u043C\\u043E\\u0439\",\n          it: \"\\u0435\\u0433\\u043E\",\n          you: \"\\u0442\\u0432\\u043E\\u0439\"\n        },\n        keywords: {\n          // \"my\" variants (masculine/feminine/neuter/plural)\n          \\u043C\\u043E\\u0439: \"me\",\n          \\u043C\\u043E\\u044F: \"me\",\n          \\u043C\\u043E\\u0451: \"me\",\n          \\u043C\\u043E\\u0438: \"me\",\n          // \"your\" variants\n          \\u0442\\u0432\\u043E\\u0439: \"you\",\n          \\u0442\\u0432\\u043E\\u044F: \"you\",\n          \\u0442\\u0432\\u043E\\u0451: \"you\",\n          \\u0442\\u0432\\u043E\\u0438: \"you\",\n          // \"its/his/her\" forms\n          \\u0435\\u0433\\u043E: \"it\",\n          // his/its\n          \\u0435\\u0451: \"it\"\n          // her/its (feminine)\n        }\n      },\n      roleMarkers: {\n        destination: { primary: \"\\u0432\", alternatives: [\"\\u043D\\u0430\", \"\\u043A\"], position: \"before\" },\n        source: { primary: \"\\u0438\\u0437\", alternatives: [\"\\u043E\\u0442\", \"\\u0441\"], position: \"before\" },\n        patient: { primary: \"\", position: \"before\" },\n        style: { primary: \"\\u0441\", alternatives: [\"\\u0441\\u043E\"], position: \"before\" }\n      },\n      keywords: {\n        // Class/Attribute operations (infinitive form)\n        toggle: {\n          primary: \"\\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C\",\n          alternatives: [\"\\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\"],\n          normalized: \"toggle\",\n          form: \"infinitive\"\n        },\n        add: { primary: \"\\u0434\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C\", alternatives: [\"\\u0434\\u043E\\u0431\\u0430\\u0432\\u044C\"], normalized: \"add\", form: \"infinitive\" },\n        remove: {\n          primary: \"\\u0443\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C\",\n          alternatives: [\"\\u0443\\u0434\\u0430\\u043B\\u0438\", \"\\u0443\\u0431\\u0440\\u0430\\u0442\\u044C\", \"\\u0443\\u0431\\u0435\\u0440\\u0438\"],\n          normalized: \"remove\",\n          form: \"infinitive\"\n        },\n        // Content operations\n        put: {\n          primary: \"\\u043F\\u043E\\u043B\\u043E\\u0436\\u0438\\u0442\\u044C\",\n          alternatives: [\"\\u043F\\u043E\\u043B\\u043E\\u0436\\u0438\", \"\\u043F\\u043E\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C\", \"\\u043F\\u043E\\u043C\\u0435\\u0441\\u0442\\u0438\", \"\\u0432\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C\", \"\\u0432\\u0441\\u0442\\u0430\\u0432\\u044C\"],\n          normalized: \"put\",\n          form: \"infinitive\"\n        },\n        append: {\n          primary: \"\\u0434\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C_\\u0432_\\u043A\\u043E\\u043D\\u0435\\u0446\",\n          alternatives: [\"\\u0434\\u043E\\u043F\\u0438\\u0441\\u0430\\u0442\\u044C\"],\n          normalized: \"append\",\n          form: \"infinitive\"\n        },\n        prepend: { primary: \"\\u0434\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C_\\u0432_\\u043D\\u0430\\u0447\\u0430\\u043B\\u043E\", normalized: \"prepend\", form: \"infinitive\" },\n        take: { primary: \"\\u0432\\u0437\\u044F\\u0442\\u044C\", alternatives: [\"\\u0432\\u043E\\u0437\\u044C\\u043C\\u0438\"], normalized: \"take\", form: \"infinitive\" },\n        make: { primary: \"\\u0441\\u043E\\u0437\\u0434\\u0430\\u0442\\u044C\", alternatives: [\"\\u0441\\u043E\\u0437\\u0434\\u0430\\u0439\"], normalized: \"make\", form: \"infinitive\" },\n        clone: {\n          primary: \"\\u043A\\u043B\\u043E\\u043D\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\",\n          alternatives: [\"\\u043A\\u043B\\u043E\\u043D\\u0438\\u0440\\u0443\\u0439\"],\n          normalized: \"clone\",\n          form: \"infinitive\"\n        },\n        swap: {\n          primary: \"\\u043F\\u043E\\u043C\\u0435\\u043D\\u044F\\u0442\\u044C\",\n          alternatives: [\"\\u043F\\u043E\\u043C\\u0435\\u043D\\u044F\\u0439\"],\n          normalized: \"swap\",\n          form: \"infinitive\"\n        },\n        morph: {\n          primary: \"\\u0442\\u0440\\u0430\\u043D\\u0441\\u0444\\u043E\\u0440\\u043C\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\",\n          alternatives: [\"\\u0442\\u0440\\u0430\\u043D\\u0441\\u0444\\u043E\\u0440\\u043C\\u0438\\u0440\\u0443\\u0439\"],\n          normalized: \"morph\",\n          form: \"infinitive\"\n        },\n        // Variable operations\n        set: {\n          primary: \"\\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\\u0442\\u044C\",\n          alternatives: [\"\\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\", \"\\u0437\\u0430\\u0434\\u0430\\u0442\\u044C\", \"\\u0437\\u0430\\u0434\\u0430\\u0439\"],\n          normalized: \"set\",\n          form: \"infinitive\"\n        },\n        get: { primary: \"\\u043F\\u043E\\u043B\\u0443\\u0447\\u0438\\u0442\\u044C\", alternatives: [\"\\u043F\\u043E\\u043B\\u0443\\u0447\\u0438\"], normalized: \"get\", form: \"infinitive\" },\n        increment: {\n          primary: \"\\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u0438\\u0442\\u044C\",\n          alternatives: [\"\\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u044C\"],\n          normalized: \"increment\",\n          form: \"infinitive\"\n        },\n        decrement: {\n          primary: \"\\u0443\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\\u0442\\u044C\",\n          alternatives: [\"\\u0443\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\"],\n          normalized: \"decrement\",\n          form: \"infinitive\"\n        },\n        log: { primary: \"\\u0437\\u0430\\u043F\\u0438\\u0441\\u0430\\u0442\\u044C\", alternatives: [\"\\u0437\\u0430\\u043F\\u0438\\u0448\\u0438\"], normalized: \"log\", form: \"infinitive\" },\n        // Visibility\n        show: { primary: \"\\u043F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C\", alternatives: [\"\\u043F\\u043E\\u043A\\u0430\\u0436\\u0438\"], normalized: \"show\", form: \"infinitive\" },\n        hide: {\n          primary: \"\\u0441\\u043A\\u0440\\u044B\\u0442\\u044C\",\n          alternatives: [\"\\u0441\\u043A\\u0440\\u043E\\u0439\", \"\\u0441\\u043F\\u0440\\u044F\\u0442\\u0430\\u0442\\u044C\", \"\\u0441\\u043F\\u0440\\u044F\\u0447\\u044C\"],\n          normalized: \"hide\",\n          form: \"infinitive\"\n        },\n        transition: {\n          primary: \"\\u0430\\u043D\\u0438\\u043C\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\",\n          alternatives: [\"\\u0430\\u043D\\u0438\\u043C\\u0438\\u0440\\u0443\\u0439\"],\n          normalized: \"transition\",\n          form: \"infinitive\"\n        },\n        // Events\n        on: { primary: \"\\u043F\\u0440\\u0438\", normalized: \"on\" },\n        trigger: {\n          primary: \"\\u0438\\u043D\\u0438\\u0446\\u0438\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\",\n          alternatives: [\"\\u0437\\u0430\\u043F\\u0443\\u0441\\u0442\\u0438\\u0442\\u044C\", \"\\u0437\\u0430\\u043F\\u0443\\u0441\\u0442\\u0438\"],\n          normalized: \"trigger\",\n          form: \"infinitive\"\n        },\n        send: {\n          primary: \"\\u043E\\u0442\\u043F\\u0440\\u0430\\u0432\\u0438\\u0442\\u044C\",\n          alternatives: [\"\\u043E\\u0442\\u043F\\u0440\\u0430\\u0432\\u044C\"],\n          normalized: \"send\",\n          form: \"infinitive\"\n        },\n        // DOM focus\n        focus: {\n          primary: \"\\u0441\\u0444\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\",\n          alternatives: [\"\\u0441\\u0444\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u0443\\u0439\", \"\\u0444\\u043E\\u043A\\u0443\\u0441\"],\n          normalized: \"focus\",\n          form: \"infinitive\"\n        },\n        blur: { primary: \"\\u0440\\u0430\\u0437\\u043C\\u044B\\u0442\\u044C\", alternatives: [\"\\u0440\\u0430\\u0437\\u043C\\u043E\\u0439\"], normalized: \"blur\", form: \"infinitive\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"\\u043E\\u043F\\u0443\\u0441\\u0442\\u043E\\u0448\\u0438\\u0442\\u044C\", alternatives: [\"\\u043F\\u0443\\u0441\\u0442\\u043E\\u0439\"], normalized: \"empty\" },\n        open: { primary: \"\\u043E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C\", normalized: \"open\" },\n        close: { primary: \"\\u0437\\u0430\\u043A\\u0440\\u044B\\u0442\\u044C\", normalized: \"close\" },\n        select: { primary: \"\\u0432\\u044B\\u0434\\u0435\\u043B\\u0438\\u0442\\u044C\", normalized: \"select\" },\n        clear: { primary: \"\\u043E\\u0447\\u0438\\u0441\\u0442\\u0438\\u0442\\u044C\", normalized: \"clear\" },\n        reset: { primary: \"\\u0441\\u0431\\u0440\\u043E\\u0441\\u0438\\u0442\\u044C\", normalized: \"reset\" },\n        breakpoint: { primary: \"\\u0442\\u043E\\u0447\\u043A\\u0430-\\u043E\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0430\", normalized: \"breakpoint\" },\n        // Common event names (for event handler patterns)\n        click: { primary: \"\\u043A\\u043B\\u0438\\u043A\", alternatives: [\"\\u043A\\u043B\\u0438\\u043A\\u0435\", \"\\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u0438\"], normalized: \"click\" },\n        hover: { primary: \"\\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438\", alternatives: [\"\\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435\"], normalized: \"hover\" },\n        submit: { primary: \"\\u043E\\u0442\\u043F\\u0440\\u0430\\u0432\\u043A\\u0435\", alternatives: [\"\\u043E\\u0442\\u043F\\u0440\\u0430\\u0432\\u043A\\u0430\"], normalized: \"submit\" },\n        input: { primary: \"\\u0432\\u0432\\u043E\\u0434\\u0435\", alternatives: [\"\\u0432\\u0432\\u043E\\u0434\"], normalized: \"input\" },\n        change: { primary: \"\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0438\", alternatives: [\"\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0435\"], normalized: \"change\" },\n        // i18n dict emits `загрузка` for `load`; without it `on load` events type as expression.\n        load: { primary: \"\\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u043A\\u0430\", alternatives: [\"\\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u043A\\u0435\"], normalized: \"load\" },\n        // Navigation\n        go: {\n          primary: \"\\u043F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438\",\n          alternatives: [\"\\u043F\\u0435\\u0440\\u0435\\u0439\\u0434\\u0438\", \"\\u0438\\u0434\\u0442\\u0438\", \"\\u0438\\u0434\\u0438\"],\n          normalized: \"go\",\n          form: \"infinitive\"\n        },\n        scroll: {\n          primary: \"\\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u0438\\u0442\\u044C\",\n          alternatives: [\"\\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u0438\"],\n          normalized: \"scroll\",\n          form: \"infinitive\"\n        },\n        push: {\n          primary: \"\\u0432\\u0442\\u043E\\u043B\\u043A\\u043D\\u0443\\u0442\\u044C\",\n          alternatives: [\"\\u0442\\u043E\\u043B\\u043A\\u043D\\u0443\\u0442\\u044C\"],\n          normalized: \"push\",\n          form: \"infinitive\"\n        },\n        replace: {\n          primary: \"\\u0437\\u0430\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C\",\n          alternatives: [\"\\u0437\\u0430\\u043C\\u0435\\u043D\\u0438\"],\n          normalized: \"replace\",\n          form: \"infinitive\"\n        },\n        process: {\n          primary: \"\\u043E\\u0431\\u0440\\u0430\\u0431\\u043E\\u0442\\u0430\\u0442\\u044C\",\n          alternatives: [\"\\u043E\\u0431\\u0440\\u0430\\u0431\\u043E\\u0442\\u0430\\u0439\"],\n          normalized: \"process\",\n          form: \"infinitive\"\n        },\n        // Async\n        wait: {\n          primary: \"\\u0436\\u0434\\u0430\\u0442\\u044C\",\n          alternatives: [\"\\u0436\\u0434\\u0438\", \"\\u043F\\u043E\\u0434\\u043E\\u0436\\u0434\\u0438\"],\n          normalized: \"wait\",\n          form: \"infinitive\"\n        },\n        fetch: {\n          primary: \"\\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u0438\\u0442\\u044C\",\n          alternatives: [\"\\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u0438\"],\n          normalized: \"fetch\",\n          form: \"infinitive\"\n        },\n        settle: { primary: \"\\u0441\\u0442\\u0430\\u0431\\u0438\\u043B\\u0438\\u0437\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\", normalized: \"settle\", form: \"infinitive\" },\n        // Control flow\n        if: { primary: \"\\u0435\\u0441\\u043B\\u0438\", normalized: \"if\" },\n        unless: { primary: \"\\u043A\\u0440\\u043E\\u043C\\u0435\", normalized: \"unless\" },\n        when: { primary: \"\\u043A\\u043E\\u0433\\u0434\\u0430\", normalized: \"when\" },\n        where: { primary: \"\\u0433\\u0434\\u0435\", normalized: \"where\" },\n        else: { primary: \"\\u0438\\u043D\\u0430\\u0447\\u0435\", normalized: \"else\" },\n        repeat: {\n          primary: \"\\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\\u0442\\u044C\",\n          alternatives: [\"\\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\"],\n          normalized: \"repeat\",\n          form: \"infinitive\"\n        },\n        for: { primary: \"\\u0434\\u043B\\u044F\", alternatives: [\"\\u043A\\u0430\\u0436\\u0434\\u044B\\u0439\"], normalized: \"for\" },\n        while: { primary: \"\\u043F\\u043E\\u043A\\u0430\", normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"\\u0432\\u0441\\u0435\\u0433\\u0434\\u0430\", normalized: \"forever\", alternatives: [\"forever\"] },\n        continue: {\n          primary: \"\\u043F\\u0440\\u043E\\u0434\\u043E\\u043B\\u0436\\u0438\\u0442\\u044C\",\n          alternatives: [\"\\u043F\\u0440\\u043E\\u0434\\u043E\\u043B\\u0436\\u0438\"],\n          normalized: \"continue\",\n          form: \"infinitive\"\n        },\n        halt: {\n          primary: \"\\u043E\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\\u0442\\u044C\",\n          alternatives: [\"\\u043E\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\\u0441\\u044C\", \"\\u0441\\u0442\\u043E\\u043F\"],\n          normalized: \"halt\",\n          form: \"infinitive\"\n        },\n        throw: { primary: \"\\u0431\\u0440\\u043E\\u0441\\u0438\\u0442\\u044C\", alternatives: [\"\\u0431\\u0440\\u043E\\u0441\\u044C\"], normalized: \"throw\", form: \"infinitive\" },\n        call: { primary: \"\\u0432\\u044B\\u0437\\u0432\\u0430\\u0442\\u044C\", alternatives: [\"\\u0432\\u044B\\u0437\\u043E\\u0432\\u0438\"], normalized: \"call\", form: \"infinitive\" },\n        return: {\n          primary: \"\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C\",\n          alternatives: [\"\\u0432\\u0435\\u0440\\u043D\\u0438\"],\n          normalized: \"return\",\n          form: \"infinitive\"\n        },\n        then: { primary: \"\\u0437\\u0430\\u0442\\u0435\\u043C\", alternatives: [\"\\u043F\\u043E\\u0442\\u043E\\u043C\", \"\\u0442\\u043E\\u0433\\u0434\\u0430\"], normalized: \"then\" },\n        and: { primary: \"\\u0438\", normalized: \"and\" },\n        // Comparison operator — see korean.ts for the rationale. A folded conditional's\n        // raw condition is read by the core expression parser (English operators only),\n        // so `target соответствует .x` must normalize to `target matches .x`; otherwise\n        // `соответствует` stays an identifier and modal-close-backdrop drops its then-branch.\n        matches: { primary: \"\\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442\", normalized: \"matches\" },\n        end: { primary: \"\\u043A\\u043E\\u043D\\u0435\\u0446\", normalized: \"end\" },\n        // Advanced\n        js: { primary: \"js\", normalized: \"js\" },\n        async: { primary: \"\\u0430\\u0441\\u0438\\u043D\\u0445\\u0440\\u043E\\u043D\\u043D\\u043E\", alternatives: [\"async\"], normalized: \"async\" },\n        tell: { primary: \"\\u0441\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C\", alternatives: [\"\\u0441\\u043A\\u0430\\u0436\\u0438\"], normalized: \"tell\", form: \"infinitive\" },\n        default: { primary: \"\\u043F\\u043E_\\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E\", normalized: \"default\" },\n        init: {\n          primary: \"\\u0438\\u043D\\u0438\\u0446\\u0438\\u0430\\u043B\\u0438\\u0437\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\",\n          alternatives: [\"\\u0438\\u043D\\u0438\\u0446\\u0438\\u0430\\u043B\\u0438\\u0437\\u0438\\u0440\\u0443\\u0439\"],\n          normalized: \"init\",\n          form: \"infinitive\"\n        },\n        behavior: { primary: \"\\u043F\\u043E\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435\", normalized: \"behavior\" },\n        // `install` is the loanword `инсталлировать` — NOT `установить`, which is the\n        // `set` primary (ru \"install\" and \"set\" are homonyms). The previous\n        // disambiguator `установить_пакет` was inert: the ru tokenizer splits on `_`,\n        // so it tokenized back to `установить` → `set`, dropping the install action\n        // (install-behavior degenerate). The loanword is a single Cyrillic token.\n        install: { primary: \"\\u0438\\u043D\\u0441\\u0442\\u0430\\u043B\\u043B\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\", normalized: \"install\", form: \"infinitive\" },\n        measure: {\n          primary: \"\\u0438\\u0437\\u043C\\u0435\\u0440\\u0438\\u0442\\u044C\",\n          alternatives: [\"\\u0438\\u0437\\u043C\\u0435\\u0440\\u044C\"],\n          normalized: \"measure\",\n          form: \"infinitive\"\n        },\n        beep: { primary: \"\\u0437\\u0432\\u0443\\u043A\", normalized: \"beep\" },\n        break: { primary: \"\\u043F\\u0440\\u0435\\u0440\\u0432\\u0430\\u0442\\u044C\", normalized: \"break\" },\n        copy: { primary: \"\\u043A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\", normalized: \"copy\" },\n        exit: { primary: \"\\u0432\\u044B\\u0439\\u0442\\u0438\", normalized: \"exit\" },\n        pick: { primary: \"\\u0432\\u044B\\u0431\\u0440\\u0430\\u0442\\u044C\", normalized: \"pick\" },\n        render: { primary: \"\\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0437\\u0438\\u0442\\u044C\", normalized: \"render\" },\n        // Modifiers\n        into: { primary: \"\\u0432\", alternatives: [\"\\u0432\\u043E\"], normalized: \"into\" },\n        before: { primary: \"\\u0434\\u043E\", alternatives: [\"\\u043F\\u0435\\u0440\\u0435\\u0434\"], normalized: \"before\" },\n        after: { primary: \"\\u043F\\u043E\\u0441\\u043B\\u0435\", normalized: \"after\" },\n        // Event modifiers\n        until: { primary: \"\\u043F\\u043E\\u043A\\u0430_\\u043D\\u0435\", normalized: \"until\" },\n        event: { primary: \"\\u0441\\u043E\\u0431\\u044B\\u0442\\u0438\\u0435\", normalized: \"event\" },\n        from: { primary: \"\\u0438\\u0437\", alternatives: [\"\\u043E\\u0442\", \"\\u0441\"], normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-подключить`, `hx-в-прямом-эфире`, etc.\n        connect: {\n          primary: \"\\u043F\\u043E\\u0434\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C\",\n          alternatives: [\"\\u0441\\u043E\\u0435\\u0434\\u0438\\u043D\\u0438\\u0442\\u044C\", \"\\u043F\\u043E\\u0434\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C\\u0441\\u044F\"],\n          normalized: \"connect\"\n        },\n        stream: { primary: \"\\u0442\\u0440\\u0430\\u043D\\u0441\\u043B\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\", alternatives: [\"\\u043F\\u043E\\u0442\\u043E\\u043A\", \"\\u0441\\u0442\\u0440\\u0438\\u043C\"], normalized: \"stream\" },\n        live: {\n          primary: \"\\u0432-\\u043F\\u0440\\u044F\\u043C\\u043E\\u043C-\\u044D\\u0444\\u0438\\u0440\\u0435\",\n          alternatives: [\"\\u043F\\u0440\\u044F\\u043C\\u043E\\u0439-\\u044D\\u0444\\u0438\\u0440\", \"\\u0432\\u0436\\u0438\\u0432\\u0443\\u044E\", \"\\u0436\\u0438\\u0432\\u043E\\u0439\"],\n          normalized: \"live\"\n        },\n        socket: {\n          primary: \"\\u0441\\u043E\\u043A\\u0435\\u0442\",\n          alternatives: [\"\\u0433\\u043D\\u0435\\u0437\\u0434\\u043E\", \"websocket\", \"socket\"],\n          normalized: \"socket\"\n        },\n        // Reactive / realtime commands\n        bind: { primary: \"\\u043F\\u0440\\u0438\\u0432\\u044F\\u0437\\u0430\\u0442\\u044C\", alternatives: [\"\\u0441\\u0432\\u044F\\u0437\\u0430\\u0442\\u044C\", \"bind\"], normalized: \"bind\" },\n        intercept: {\n          primary: \"\\u043F\\u0435\\u0440\\u0435\\u0445\\u0432\\u0430\\u0442\\u0438\\u0442\\u044C\",\n          alternatives: [\"\\u043F\\u0435\\u0440\\u0435\\u0445\\u0432\\u0430\\u0442\\u0438\", \"intercept\"],\n          normalized: \"intercept\"\n        },\n        worker: { primary: \"\\u0440\\u0430\\u0431\\u043E\\u0447\\u0438\\u0439\", alternatives: [\"\\u0432\\u043E\\u0440\\u043A\\u0435\\u0440\", \"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"\\u0438\\u0441\\u0442\\u043E\\u0447\\u043D\\u0438\\u043A-\\u0441\\u043E\\u0431\\u044B\\u0442\\u0438\\u0439\"],\n          normalized: \"eventsource\"\n        }\n      },\n      eventHandler: {\n        keyword: { primary: \"\\u043F\\u0440\\u0438\", normalized: \"on\" },\n        sourceMarker: { primary: \"\\u043D\\u0430\", alternatives: [\"\\u0432\", \"\\u043F\\u0440\\u0438\"], position: \"before\" },\n        // Event marker: при (at/on/upon), used in SVO pattern\n        // Pattern: при [event] [verb] [patient] на [destination?]\n        // Example: при клике переключить .active на #button\n        eventMarker: { primary: \"\\u043F\\u0440\\u0438\", position: \"before\" },\n        temporalMarkers: [\"\\u043A\\u043E\\u0433\\u0434\\u0430\", \"\\u0435\\u0441\\u043B\\u0438\"]\n        // temporal conjunctions (when, if)\n      }\n    };\n  }\n});\n\n// src/generators/profiles/swahili.ts\nvar swahili_exports = {};\n__export(swahili_exports, {\n  swahiliProfile: () => swahiliProfile\n});\nvar swahiliProfile;\nvar init_swahili = __esm({\n  \"src/generators/profiles/swahili.ts\"() {\n    \"use strict\";\n    swahiliProfile = {\n      code: \"sw\",\n      name: \"Swahili\",\n      nativeName: \"Kiswahili\",\n      direction: \"ltr\",\n      script: \"latin\",\n      wordOrder: \"SVO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: true,\n      verb: {\n        position: \"start\",\n        subjectDrop: true\n      },\n      references: {\n        me: \"mimi\",\n        // \"I/me\"\n        it: \"hiyo\",\n        // \"it\"\n        you: \"wewe\",\n        // \"you\"\n        result: \"matokeo\",\n        event: \"tukio\",\n        target: \"lengo\",\n        body: \"mwili\"\n      },\n      possessive: {\n        marker: \"\",\n        // Swahili uses possessive pronouns\n        markerPosition: \"after-object\",\n        usePossessiveAdjectives: true,\n        specialForms: {\n          me: \"yangu\",\n          // \"my\" (class-dependent: wangu/yangu/langu...)\n          it: \"yake\",\n          // \"its\"\n          you: \"yako\"\n          // \"your\"\n        },\n        keywords: {\n          // \"my\" variants (noun class dependent)\n          wangu: \"me\",\n          // M-Wa class (people)\n          yangu: \"me\",\n          // N class (general)\n          langu: \"me\",\n          // Ji-Ma class\n          changu: \"me\",\n          // Ki-Vi class\n          // \"your\" variants\n          wako: \"you\",\n          yako: \"you\",\n          lako: \"you\",\n          chako: \"you\",\n          // \"its/his/her\" variants\n          wake: \"it\",\n          yake: \"it\",\n          lake: \"it\",\n          chake: \"it\"\n        }\n      },\n      roleMarkers: {\n        destination: { primary: \"kwenye\", alternatives: [\"kwa\"], position: \"before\" },\n        source: { primary: \"kutoka\", position: \"before\" },\n        patient: { primary: \"\", position: \"before\" },\n        style: { primary: \"na\", position: \"before\" }\n      },\n      keywords: {\n        toggle: { primary: \"badilisha\", normalized: \"toggle\" },\n        add: { primary: \"ongeza\", normalized: \"add\" },\n        remove: { primary: \"ondoa\", alternatives: [\"futa\", \"toa\"], normalized: \"remove\" },\n        put: { primary: \"weka\", alternatives: [\"tia\"], normalized: \"put\" },\n        append: { primary: \"ambatanisha\", normalized: \"append\" },\n        prepend: { primary: \"tanguliza\", normalized: \"prepend\" },\n        take: { primary: \"chukua\", normalized: \"take\" },\n        make: { primary: \"tengeneza\", alternatives: [\"unda\"], normalized: \"make\" },\n        clone: { primary: \"nakili\", alternatives: [\"rudufu\"], normalized: \"clone\" },\n        swap: { primary: \"badilishana\", alternatives: [\"badalisha\"], normalized: \"swap\" },\n        morph: { primary: \"geuza\", alternatives: [\"badilisha umbo\"], normalized: \"morph\" },\n        set: { primary: \"seti\", normalized: \"set\" },\n        get: { primary: \"pata\", alternatives: [\"pokea\"], normalized: \"get\" },\n        increment: { primary: \"ongezeko\", normalized: \"increment\" },\n        decrement: { primary: \"punguza\", normalized: \"decrement\" },\n        log: { primary: \"andika\", alternatives: [\"rekodi\"], normalized: \"log\" },\n        show: { primary: \"onyesha\", normalized: \"show\" },\n        hide: { primary: \"ficha\", alternatives: [\"mficho\"], normalized: \"hide\" },\n        // 'mpito' is what the i18n transformer renders (dict `transition: 'mpito'`);\n        // without it the corpus transition clause never anchors (NO-TRANSITION sw).\n        transition: {\n          primary: \"hamisha\",\n          alternatives: [\"animisha\", \"mpito\"],\n          normalized: \"transition\"\n        },\n        on: { primary: \"unapo\", alternatives: [\"kwenye\"], normalized: \"on\" },\n        trigger: { primary: \"chochea\", normalized: \"trigger\" },\n        send: { primary: \"tuma\", alternatives: [\"peleka\"], normalized: \"send\" },\n        focus: { primary: \"lenga\", alternatives: [\"angazia\"], normalized: \"focus\" },\n        blur: { primary: \"blur\", normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"toa-kila-kitu\", alternatives: [\"mwaga\", \"tupu\"], normalized: \"empty\" },\n        open: { primary: \"fungua\", normalized: \"open\" },\n        close: { primary: \"funga\", normalized: \"close\" },\n        select: { primary: \"alama\", normalized: \"select\" },\n        clear: { primary: \"safisha\", normalized: \"clear\" },\n        reset: { primary: \"anzisha-upya\", normalized: \"reset\" },\n        breakpoint: { primary: \"nukta-simama\", normalized: \"breakpoint\" },\n        go: { primary: \"nenda\", alternatives: [\"enda\", \"elekea\"], normalized: \"go\" },\n        scroll: { primary: \"sogeza\", alternatives: [\"skroli\"], normalized: \"scroll\" },\n        push: { primary: \"sukuma\", alternatives: [\"push\"], normalized: \"push\" },\n        replace: { primary: \"badilisha_url\", alternatives: [\"badili_url\"], normalized: \"replace\" },\n        process: { primary: \"shughulikia\", alternatives: [\"changanua\"], normalized: \"process\" },\n        wait: { primary: \"subiri\", alternatives: [\"ngoja\"], normalized: \"wait\" },\n        fetch: { primary: \"leta\", alternatives: [\"pakia\"], normalized: \"fetch\" },\n        settle: { primary: \"tulia\", alternatives: [\"imarika\"], normalized: \"settle\" },\n        if: { primary: \"kama\", alternatives: [\"ikiwa\"], normalized: \"if\" },\n        unless: { primary: \"isipokuwa\", normalized: \"unless\" },\n        when: { primary: \"wakati\", normalized: \"when\" },\n        where: { primary: \"wapi\", normalized: \"where\" },\n        else: { primary: \"vinginevyo\", alternatives: [\"sivyo\"], normalized: \"else\" },\n        repeat: { primary: \"rudia\", normalized: \"repeat\" },\n        for: { primary: \"kwa\", normalized: \"for\" },\n        while: { primary: \"kadri\", normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"forever\", normalized: \"forever\" },\n        continue: { primary: \"endelea\", normalized: \"continue\" },\n        halt: { primary: \"simama\", alternatives: [\"acha\"], normalized: \"halt\" },\n        throw: { primary: \"tupa\", normalized: \"throw\" },\n        call: { primary: \"ita\", normalized: \"call\" },\n        return: { primary: \"rudisha\", alternatives: [\"rejea\"], normalized: \"return\" },\n        then: { primary: \"kisha\", alternatives: [\"halafu\", \"baadaye\"], normalized: \"then\" },\n        and: { primary: \"na\", alternatives: [\"pia\", \"vilevile\"], normalized: \"and\" },\n        // Predicate keyword (conditionals) — mirrors the Spanish profile. `ni` is the\n        // Swahili copula (\"is\"); only recognized in predicate position (after a value,\n        // before an adjective like `tupu`), so it doesn't disturb command parsing.\n        is: { primary: \"ni\", normalized: \"is\" },\n        end: { primary: \"mwisho\", alternatives: [\"maliza\", \"tamati\"], normalized: \"end\" },\n        js: { primary: \"js\", alternatives: [\"javascript\"], normalized: \"js\" },\n        async: { primary: \"isiyo sawia\", normalized: \"async\" },\n        tell: { primary: \"sema\", alternatives: [\"ambia\"], normalized: \"tell\" },\n        // The sw dict renders default as bare `msingi` (chaguo-msingi is the full\n        // compound); both accepted.\n        default: { primary: \"chaguo-msingi\", alternatives: [\"msingi\"], normalized: \"default\" },\n        init: { primary: \"anzisha\", alternatives: [\"anza\"], normalized: \"init\" },\n        behavior: { primary: \"tabia\", normalized: \"behavior\" },\n        install: { primary: \"sakinisha\", normalized: \"install\" },\n        measure: { primary: \"pima\", normalized: \"measure\" },\n        beep: { primary: \"lia\", normalized: \"beep\" },\n        break: { primary: \"vunja\", normalized: \"break\" },\n        copy: { primary: \"nakala\", normalized: \"copy\" },\n        exit: { primary: \"toka\", normalized: \"exit\" },\n        pick: { primary: \"chagua\", normalized: \"pick\" },\n        render: { primary: \"chora\", normalized: \"render\" },\n        into: { primary: \"ndani\", normalized: \"into\" },\n        before: { primary: \"kabla\", normalized: \"before\" },\n        after: { primary: \"baada\", normalized: \"after\" },\n        // Event modifiers (for repeat until event)\n        until: { primary: \"hadi\", normalized: \"until\" },\n        event: { primary: \"tukio\", normalized: \"event\" },\n        from: { primary: \"kutoka\", normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-unganisha`, `hx-moja-kwa-moja`, etc.\n        connect: { primary: \"unganisha\", alternatives: [\"unga\", \"ungana\"], normalized: \"connect\" },\n        stream: { primary: \"tiririsha\", alternatives: [\"mtiririko\", \"strimu\"], normalized: \"stream\" },\n        live: { primary: \"moja-kwa-moja\", alternatives: [\"mubashara\", \"hai\"], normalized: \"live\" },\n        socket: { primary: \"soketi\", alternatives: [\"tundu\", \"soketi-wavuti\"], normalized: \"socket\" },\n        // Reactive / realtime commands. `funga` is avoided for bind (it is the\n        // `close` keyword); `ambatisha` (attach) is used instead.\n        bind: { primary: \"ambatisha\", alternatives: [\"funganisha\", \"bind\"], normalized: \"bind\" },\n        intercept: { primary: \"zuia\", alternatives: [\"nasa\", \"intercept\"], normalized: \"intercept\" },\n        worker: { primary: \"mfanyakazi\", alternatives: [\"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"chanzo-matukio\"],\n          normalized: \"eventsource\"\n        }\n      },\n      eventHandler: {\n        keyword: { primary: \"unapo\", alternatives: [\"kwenye\", \"kwa\", \"wakati\"] },\n        sourceMarker: { primary: \"kutoka\", position: \"before\" },\n        conditionalKeyword: { primary: \"unapo\", alternatives: [\"anapo\", \"tunapo\", \"mnapo\", \"wanapo\"] },\n        eventMarker: {\n          primary: \"unapo\",\n          alternatives: [\"kwenye\", \"kwa\", \"wakati\"],\n          position: \"before\"\n        }\n      }\n    };\n  }\n});\n\n// src/generators/profiles/thai.ts\nvar thai_exports = {};\n__export(thai_exports, {\n  thaiProfile: () => thaiProfile\n});\nvar thaiProfile;\nvar init_thai = __esm({\n  \"src/generators/profiles/thai.ts\"() {\n    \"use strict\";\n    thaiProfile = {\n      code: \"th\",\n      name: \"Thai\",\n      nativeName: \"\\u0E44\\u0E17\\u0E22\",\n      direction: \"ltr\",\n      script: \"thai\",\n      wordOrder: \"SVO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: false,\n      // Thai doesn't use spaces between words\n      defaultVerbForm: \"base\",\n      verb: {\n        position: \"second\",\n        subjectDrop: true\n      },\n      references: {\n        me: \"\\u0E09\\u0E31\\u0E19\",\n        it: \"\\u0E21\\u0E31\\u0E19\",\n        you: \"\\u0E04\\u0E38\\u0E13\",\n        result: \"\\u0E1C\\u0E25\\u0E25\\u0E31\\u0E1E\\u0E18\\u0E4C\",\n        event: \"\\u0E40\\u0E2B\\u0E15\\u0E38\\u0E01\\u0E32\\u0E23\\u0E13\\u0E4C\",\n        target: \"\\u0E40\\u0E1B\\u0E49\\u0E32\\u0E2B\\u0E21\\u0E32\\u0E22\",\n        body: \"\\u0E1A\\u0E2D\\u0E14\\u0E35\\u0E49\"\n      },\n      possessive: {\n        marker: \"\\u0E02\\u0E2D\\u0E07\",\n        markerPosition: \"between\",\n        keywords: {\n          // Thai uses ของ (khong) + pronoun, but also full possessive phrases\n          // \"my\" - ของฉัน (khong chan), ของผม (khong phom, male speaker)\n          \\u0E02\\u0E2D\\u0E07\\u0E09\\u0E31\\u0E19: \"me\",\n          \\u0E02\\u0E2D\\u0E07\\u0E1C\\u0E21: \"me\",\n          // \"your\" - ของคุณ (khong khun)\n          \\u0E02\\u0E2D\\u0E07\\u0E04\\u0E38\\u0E13: \"you\",\n          // \"its/his/her\" - ของมัน (khong man)\n          \\u0E02\\u0E2D\\u0E07\\u0E21\\u0E31\\u0E19: \"it\",\n          \\u0E02\\u0E2D\\u0E07\\u0E40\\u0E02\\u0E32: \"it\",\n          // his\n          \\u0E02\\u0E2D\\u0E07\\u0E40\\u0E18\\u0E2D: \"it\"\n          // her\n        }\n      },\n      roleMarkers: {\n        patient: { primary: \"\", position: \"before\" },\n        // Thai is isolating - no case markers\n        destination: { primary: \"\\u0E43\\u0E19\", alternatives: [\"\\u0E44\\u0E1B\\u0E22\\u0E31\\u0E07\"], position: \"before\" },\n        source: { primary: \"\\u0E08\\u0E32\\u0E01\", position: \"before\" },\n        style: { primary: \"\\u0E14\\u0E49\\u0E27\\u0E22\", position: \"before\" }\n        // No `event` role marker: a command's event argument (`trigger foo` /\n        // `send foo`) is an UNMARKED object in Thai, like every other SVO profile\n        // (es/zh/id/…). `เมื่อ` is the temporal \"when/on\" marker and belongs only on\n        // the event-HANDLER head — which uses `eventHandler.eventMarker` (below),\n        // not this role marker. Carrying it here generated `ทริกเกอร์ เมื่อ {event}`,\n        // which never matched the transformer's `ทริกเกอร์ {event}` → trigger/send\n        // dropped (th behavior-draggable/removable/resizable/sortable lossy).\n      },\n      keywords: {\n        // Class/Attribute operations\n        toggle: { primary: \"\\u0E2A\\u0E25\\u0E31\\u0E1A\", alternatives: [], normalized: \"toggle\" },\n        add: { primary: \"\\u0E40\\u0E1E\\u0E34\\u0E48\\u0E21\", alternatives: [], normalized: \"add\" },\n        remove: { primary: \"\\u0E25\\u0E1A\", alternatives: [\"\\u0E25\\u0E1A\\u0E2D\\u0E2D\\u0E01\"], normalized: \"remove\" },\n        // Content operations\n        put: { primary: \"\\u0E43\\u0E2A\\u0E48\", alternatives: [\"\\u0E27\\u0E32\\u0E07\"], normalized: \"put\" },\n        append: { primary: \"\\u0E40\\u0E1E\\u0E34\\u0E48\\u0E21\\u0E17\\u0E49\\u0E32\\u0E22\", alternatives: [], normalized: \"append\" },\n        prepend: { primary: \"\\u0E40\\u0E1E\\u0E34\\u0E48\\u0E21\\u0E2B\\u0E19\\u0E49\\u0E32\", alternatives: [], normalized: \"prepend\" },\n        take: { primary: \"\\u0E23\\u0E31\\u0E1A\", alternatives: [], normalized: \"take\" },\n        make: { primary: \"\\u0E2A\\u0E23\\u0E49\\u0E32\\u0E07\", alternatives: [], normalized: \"make\" },\n        clone: { primary: \"\\u0E42\\u0E04\\u0E25\\u0E19\", alternatives: [\"\\u0E2A\\u0E33\\u0E40\\u0E19\\u0E32\"], normalized: \"clone\" },\n        swap: { primary: \"\\u0E2A\\u0E25\\u0E31\\u0E1A\\u0E17\\u0E35\\u0E48\", alternatives: [], normalized: \"swap\" },\n        morph: { primary: \"\\u0E41\\u0E1B\\u0E25\\u0E07\\u0E23\\u0E48\\u0E32\\u0E07\", alternatives: [], normalized: \"morph\" },\n        // Variable operations\n        set: { primary: \"\\u0E15\\u0E31\\u0E49\\u0E07\", alternatives: [\"\\u0E01\\u0E33\\u0E2B\\u0E19\\u0E14\"], normalized: \"set\" },\n        get: { primary: \"\\u0E23\\u0E31\\u0E1A\\u0E04\\u0E48\\u0E32\", alternatives: [], normalized: \"get\" },\n        increment: { primary: \"\\u0E40\\u0E1E\\u0E34\\u0E48\\u0E21\\u0E04\\u0E48\\u0E32\", alternatives: [], normalized: \"increment\" },\n        decrement: { primary: \"\\u0E25\\u0E14\\u0E04\\u0E48\\u0E32\", alternatives: [], normalized: \"decrement\" },\n        log: { primary: \"\\u0E1A\\u0E31\\u0E19\\u0E17\\u0E36\\u0E01\", alternatives: [], normalized: \"log\" },\n        // Visibility\n        show: { primary: \"\\u0E41\\u0E2A\\u0E14\\u0E07\", alternatives: [], normalized: \"show\" },\n        hide: { primary: \"\\u0E0B\\u0E48\\u0E2D\\u0E19\", alternatives: [], normalized: \"hide\" },\n        transition: { primary: \"\\u0E40\\u0E1B\\u0E25\\u0E35\\u0E48\\u0E22\\u0E19\\u0E1C\\u0E48\\u0E32\\u0E19\", alternatives: [], normalized: \"transition\" },\n        // Events\n        on: { primary: \"\\u0E40\\u0E21\\u0E37\\u0E48\\u0E2D\", alternatives: [\"\\u0E15\\u0E2D\\u0E19\"], normalized: \"on\" },\n        trigger: { primary: \"\\u0E17\\u0E23\\u0E34\\u0E01\\u0E40\\u0E01\\u0E2D\\u0E23\\u0E4C\", alternatives: [], normalized: \"trigger\" },\n        send: { primary: \"\\u0E2A\\u0E48\\u0E07\", alternatives: [], normalized: \"send\" },\n        // DOM focus\n        focus: { primary: \"\\u0E42\\u0E1F\\u0E01\\u0E31\\u0E2A\", alternatives: [], normalized: \"focus\" },\n        blur: { primary: \"\\u0E40\\u0E1A\\u0E25\\u0E2D\", alternatives: [], normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"\\u0E25\\u0E49\\u0E32\\u0E07\", alternatives: [\"\\u0E17\\u0E33\\u0E43\\u0E2B\\u0E49\\u0E27\\u0E48\\u0E32\\u0E07\", \"\\u0E27\\u0E48\\u0E32\\u0E07\"], normalized: \"empty\" },\n        open: { primary: \"\\u0E40\\u0E1B\\u0E34\\u0E14\", normalized: \"open\" },\n        close: { primary: \"\\u0E1B\\u0E34\\u0E14\", normalized: \"close\" },\n        select: { primary: \"\\u0E17\\u0E33\\u0E40\\u0E04\\u0E23\\u0E37\\u0E48\\u0E2D\\u0E07\\u0E2B\\u0E21\\u0E32\\u0E22\", normalized: \"select\" },\n        clear: { primary: \"\\u0E40\\u0E04\\u0E25\\u0E35\\u0E22\\u0E23\\u0E4C\", normalized: \"clear\" },\n        reset: { primary: \"\\u0E23\\u0E35\\u0E40\\u0E0B\\u0E47\\u0E15\", normalized: \"reset\" },\n        breakpoint: { primary: \"\\u0E08\\u0E38\\u0E14\\u0E1E\\u0E31\\u0E01\", normalized: \"breakpoint\" },\n        // Common event names (for event handler patterns)\n        click: { primary: \"\\u0E04\\u0E25\\u0E34\\u0E01\", normalized: \"click\" },\n        hover: { primary: \"\\u0E42\\u0E2E\\u0E40\\u0E27\\u0E2D\\u0E23\\u0E4C\", alternatives: [\"\\u0E27\\u0E32\\u0E07\\u0E40\\u0E21\\u0E32\\u0E2A\\u0E4C\"], normalized: \"hover\" },\n        submit: { primary: \"\\u0E22\\u0E37\\u0E48\\u0E19\", alternatives: [\"\\u0E2A\\u0E48\\u0E07\\u0E02\\u0E49\\u0E2D\\u0E21\\u0E39\\u0E25\"], normalized: \"submit\" },\n        input: { primary: \"\\u0E1B\\u0E49\\u0E2D\\u0E19\", alternatives: [\"\\u0E01\\u0E23\\u0E2D\\u0E01\"], normalized: \"input\" },\n        change: { primary: \"\\u0E40\\u0E1B\\u0E25\\u0E35\\u0E48\\u0E22\\u0E19\", alternatives: [\"\\u0E40\\u0E1B\\u0E25\\u0E35\\u0E48\\u0E22\\u0E19\\u0E41\\u0E1B\\u0E25\\u0E07\"], normalized: \"change\" },\n        // Navigation\n        go: { primary: \"\\u0E44\\u0E1B\", alternatives: [\"\\u0E44\\u0E1B\\u0E17\\u0E35\\u0E48\"], normalized: \"go\" },\n        scroll: { primary: \"\\u0E40\\u0E25\\u0E37\\u0E48\\u0E2D\\u0E19\", normalized: \"scroll\" },\n        push: { primary: \"\\u0E14\\u0E31\\u0E19\", alternatives: [\"\\u0E1C\\u0E25\\u0E31\\u0E01\"], normalized: \"push\" },\n        replace: { primary: \"\\u0E41\\u0E17\\u0E19\\u0E17\\u0E35\\u0E48\", alternatives: [\"\\u0E40\\u0E1B\\u0E25\\u0E35\\u0E48\\u0E22\\u0E19-url\"], normalized: \"replace\" },\n        process: { primary: \"\\u0E1B\\u0E23\\u0E30\\u0E21\\u0E27\\u0E25\\u0E1C\\u0E25\", alternatives: [\"\\u0E08\\u0E31\\u0E14\\u0E01\\u0E32\\u0E23\"], normalized: \"process\" },\n        // Async\n        wait: { primary: \"\\u0E23\\u0E2D\", alternatives: [], normalized: \"wait\" },\n        fetch: { primary: \"\\u0E14\\u0E36\\u0E07\\u0E02\\u0E49\\u0E2D\\u0E21\\u0E39\\u0E25\", alternatives: [], normalized: \"fetch\" },\n        settle: { primary: \"\\u0E04\\u0E07\\u0E17\\u0E35\\u0E48\", alternatives: [], normalized: \"settle\" },\n        // Control flow\n        if: { primary: \"\\u0E16\\u0E49\\u0E32\", alternatives: [\"\\u0E2B\\u0E32\\u0E01\"], normalized: \"if\" },\n        unless: { primary: \"unless\", normalized: \"unless\" },\n        when: { primary: \"\\u0E02\\u0E13\\u0E30\\u0E17\\u0E35\\u0E48\", normalized: \"when\" },\n        where: { primary: \"\\u0E17\\u0E35\\u0E48\\u0E44\\u0E2B\\u0E19\", normalized: \"where\" },\n        else: { primary: \"\\u0E44\\u0E21\\u0E48\\u0E07\\u0E31\\u0E49\\u0E19\", alternatives: [\"\\u0E44\\u0E21\\u0E48\\u0E40\\u0E0A\\u0E48\\u0E19\\u0E19\\u0E31\\u0E49\\u0E19\"], normalized: \"else\" },\n        repeat: { primary: \"\\u0E17\\u0E33\\u0E0B\\u0E49\\u0E33\", alternatives: [], normalized: \"repeat\" },\n        for: { primary: \"\\u0E2A\\u0E33\\u0E2B\\u0E23\\u0E31\\u0E1A\", alternatives: [], normalized: \"for\" },\n        while: { primary: \"\\u0E43\\u0E19\\u0E02\\u0E13\\u0E30\\u0E17\\u0E35\\u0E48\", alternatives: [], normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"\\u0E15\\u0E25\\u0E2D\\u0E14\\u0E44\\u0E1B\", normalized: \"forever\", alternatives: [\"forever\"] },\n        continue: { primary: \"\\u0E15\\u0E48\\u0E2D\\u0E44\\u0E1B\", alternatives: [], normalized: \"continue\" },\n        halt: { primary: \"\\u0E2B\\u0E22\\u0E38\\u0E14\", alternatives: [], normalized: \"halt\" },\n        throw: { primary: \"\\u0E42\\u0E22\\u0E19\", alternatives: [], normalized: \"throw\" },\n        call: { primary: \"\\u0E40\\u0E23\\u0E35\\u0E22\\u0E01\", alternatives: [], normalized: \"call\" },\n        return: { primary: \"\\u0E04\\u0E37\\u0E19\\u0E04\\u0E48\\u0E32\", alternatives: [\"\\u0E01\\u0E25\\u0E31\\u0E1A\"], normalized: \"return\" },\n        then: { primary: \"\\u0E41\\u0E25\\u0E49\\u0E27\", alternatives: [], normalized: \"then\" },\n        and: { primary: \"\\u0E41\\u0E25\\u0E30\", alternatives: [], normalized: \"and\" },\n        end: { primary: \"\\u0E08\\u0E1A\", alternatives: [], normalized: \"end\" },\n        // Advanced\n        js: { primary: \"\\u0E40\\u0E08\\u0E40\\u0E2D\\u0E2A\", alternatives: [\"js\"], normalized: \"js\" },\n        async: { primary: \"\\u0E2D\\u0E30\\u0E0B\\u0E34\\u0E07\\u0E04\\u0E4C\", alternatives: [], normalized: \"async\" },\n        tell: { primary: \"\\u0E1A\\u0E2D\\u0E01\", alternatives: [], normalized: \"tell\" },\n        default: { primary: \"\\u0E04\\u0E48\\u0E32\\u0E40\\u0E23\\u0E34\\u0E48\\u0E21\\u0E15\\u0E49\\u0E19\", alternatives: [], normalized: \"default\" },\n        init: { primary: \"\\u0E40\\u0E23\\u0E34\\u0E48\\u0E21\\u0E15\\u0E49\\u0E19\", alternatives: [], normalized: \"init\" },\n        behavior: { primary: \"\\u0E1E\\u0E24\\u0E15\\u0E34\\u0E01\\u0E23\\u0E23\\u0E21\", alternatives: [], normalized: \"behavior\" },\n        install: { primary: \"\\u0E15\\u0E34\\u0E14\\u0E15\\u0E31\\u0E49\\u0E07\", alternatives: [], normalized: \"install\" },\n        measure: { primary: \"\\u0E27\\u0E31\\u0E14\", alternatives: [], normalized: \"measure\" },\n        beep: { primary: \"\\u0E1A\\u0E35\\u0E4A\\u0E1A\", alternatives: [], normalized: \"beep\" },\n        break: { primary: \"\\u0E02\\u0E31\\u0E14\\u0E08\\u0E31\\u0E07\\u0E2B\\u0E27\\u0E30\", alternatives: [], normalized: \"break\" },\n        copy: { primary: \"\\u0E04\\u0E31\\u0E14\\u0E25\\u0E2D\\u0E01\", alternatives: [], normalized: \"copy\" },\n        exit: { primary: \"\\u0E2D\\u0E2D\\u0E01\", alternatives: [], normalized: \"exit\" },\n        pick: { primary: \"\\u0E40\\u0E25\\u0E37\\u0E2D\\u0E01\", alternatives: [], normalized: \"pick\" },\n        render: { primary: \"\\u0E41\\u0E2A\\u0E14\\u0E07\\u0E1C\\u0E25\", alternatives: [], normalized: \"render\" },\n        // Modifiers\n        into: { primary: \"\\u0E43\\u0E19\", alternatives: [], normalized: \"into\" },\n        before: { primary: \"\\u0E01\\u0E48\\u0E2D\\u0E19\", alternatives: [], normalized: \"before\" },\n        after: { primary: \"\\u0E2B\\u0E25\\u0E31\\u0E07\", alternatives: [], normalized: \"after\" },\n        until: { primary: \"\\u0E08\\u0E19\\u0E16\\u0E36\\u0E07\", alternatives: [], normalized: \"until\" },\n        event: { primary: \"\\u0E40\\u0E2B\\u0E15\\u0E38\\u0E01\\u0E32\\u0E23\\u0E13\\u0E4C\", alternatives: [], normalized: \"event\" },\n        from: { primary: \"\\u0E08\\u0E32\\u0E01\", normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-เชื่อมต่อ`, `hx-ไลฟ์`, etc.\n        connect: { primary: \"\\u0E40\\u0E0A\\u0E37\\u0E48\\u0E2D\\u0E21\\u0E15\\u0E48\\u0E2D\", alternatives: [\"\\u0E40\\u0E0A\\u0E37\\u0E48\\u0E2D\\u0E21\"], normalized: \"connect\" },\n        stream: { primary: \"\\u0E2A\\u0E15\\u0E23\\u0E35\\u0E21\", alternatives: [\"\\u0E2A\\u0E15\\u0E23\\u0E35\\u0E21\\u0E21\\u0E34\\u0E48\\u0E07\", \"\\u0E01\\u0E23\\u0E30\\u0E41\\u0E2A\"], normalized: \"stream\" },\n        live: { primary: \"\\u0E44\\u0E25\\u0E1F\\u0E4C\", alternatives: [\"\\u0E2A\\u0E14\", \"\\u0E16\\u0E48\\u0E32\\u0E22\\u0E17\\u0E2D\\u0E14\\u0E2A\\u0E14\"], normalized: \"live\" },\n        socket: {\n          primary: \"\\u0E0B\\u0E47\\u0E2D\\u0E01\\u0E40\\u0E01\\u0E47\\u0E15\",\n          alternatives: [\"websocket\", \"\\u0E40\\u0E27\\u0E47\\u0E1A\\u0E0B\\u0E47\\u0E2D\\u0E01\\u0E40\\u0E01\\u0E47\\u0E15\", \"socket\"],\n          normalized: \"socket\"\n        },\n        // Service-worker / realtime keywords (mirrors #262 ja/he wiring; native\n        // primary + English alternative, eventsource keeps the canonical English form)\n        intercept: {\n          primary: \"\\u0E14\\u0E31\\u0E01\\u0E08\\u0E31\\u0E1A\",\n          alternatives: [\"intercept\", \"\\u0E2A\\u0E01\\u0E31\\u0E14\\u0E01\\u0E31\\u0E49\\u0E19\"],\n          normalized: \"intercept\"\n        },\n        worker: { primary: \"\\u0E40\\u0E27\\u0E34\\u0E23\\u0E4C\\u0E01\\u0E40\\u0E01\\u0E2D\\u0E23\\u0E4C\", alternatives: [\"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"\\u0E2D\\u0E35\\u0E40\\u0E27\\u0E19\\u0E15\\u0E4C\\u0E0B\\u0E2D\\u0E23\\u0E4C\\u0E2A\"],\n          normalized: \"eventsource\"\n        },\n        // Reactive: bind (generated text keeps the English verb; native primary\n        // for future i18n dictionary support)\n        bind: { primary: \"\\u0E1C\\u0E39\\u0E01\", alternatives: [\"bind\"], normalized: \"bind\" }\n      },\n      tokenization: {\n        boundaryStrategy: \"character\"\n        // Character-based like Chinese/Japanese\n      },\n      eventHandler: {\n        keyword: { primary: \"\\u0E40\\u0E21\\u0E37\\u0E48\\u0E2D\", alternatives: [\"\\u0E15\\u0E2D\\u0E19\"], normalized: \"on\" },\n        sourceMarker: { primary: \"\\u0E08\\u0E32\\u0E01\", position: \"before\" },\n        // Event marker: เมื่อ (when), used in SVO pattern\n        // Pattern: เมื่อ [event] [verb] [patient] ใน [destination?]\n        // Example: เมื่อ คลิก สลับ .active ใน #button\n        eventMarker: { primary: \"\\u0E40\\u0E21\\u0E37\\u0E48\\u0E2D\", alternatives: [\"\\u0E15\\u0E2D\\u0E19\"], position: \"before\" },\n        temporalMarkers: [\"\\u0E40\\u0E21\\u0E37\\u0E48\\u0E2D\", \"\\u0E15\\u0E2D\\u0E19\"]\n        // temporal conjunctions (when)\n      }\n    };\n  }\n});\n\n// src/generators/profiles/tl.ts\nvar tl_exports = {};\n__export(tl_exports, {\n  tagalogProfile: () => tagalogProfile\n});\nvar tagalogProfile;\nvar init_tl = __esm({\n  \"src/generators/profiles/tl.ts\"() {\n    \"use strict\";\n    tagalogProfile = {\n      code: \"tl\",\n      name: \"Tagalog\",\n      nativeName: \"Tagalog\",\n      direction: \"ltr\",\n      script: \"latin\",\n      wordOrder: \"VSO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: true,\n      defaultVerbForm: \"base\",\n      verb: {\n        position: \"start\",\n        subjectDrop: true\n      },\n      references: {\n        me: \"ako\",\n        // \"I/me\"\n        it: \"ito\",\n        // \"it\"\n        you: \"ikaw\",\n        // \"you\"\n        result: \"resulta\",\n        // \"result\"\n        event: \"pangyayari\",\n        // \"event\"\n        target: \"target\",\n        // \"target\"\n        body: \"katawan\"\n        // was an English placeholder; the i18n dict emits the Tagalog word\n      },\n      possessive: {\n        marker: \"ng\",\n        // Linker used in possessive constructions\n        markerPosition: \"between\",\n        keywords: {\n          // Tagalog uses postposed possessive pronouns\n          // \"my\" - ko (clitic), akin (emphatic), aking (adjectival genitive)\n          ko: \"me\",\n          akin: \"me\",\n          aking: \"me\",\n          // \"your\" - mo (clitic), iyo (emphatic)\n          mo: \"you\",\n          iyo: \"you\",\n          // \"its/his/her\" - niya (clitic), kaniya (emphatic), nito (genitive proximal)\n          niya: \"it\",\n          nito: \"it\",\n          kaniya: \"it\"\n        }\n      },\n      roleMarkers: {\n        // `bago` (before) / `matapos` (after) are positional destination markers for\n        // `put X before/after Y`, mirroring how Arabic lists قبل/بعد as destination\n        // alternatives. Without them the generated put pattern can't match a\n        // before/after target.\n        destination: { primary: \"sa\", alternatives: [\"bago\", \"matapos\"], position: \"before\" },\n        // \"to/into\"\n        source: { primary: \"mula_sa\", position: \"before\" },\n        // \"from\"\n        patient: { primary: \"\", position: \"before\" },\n        style: { primary: \"nang\", position: \"before\" }\n        // manner marker\n      },\n      keywords: {\n        // Class/Attribute operations\n        toggle: { primary: \"palitan\", alternatives: [\"itoggle\"], normalized: \"toggle\" },\n        add: { primary: \"idagdag\", alternatives: [\"magdagdag\"], normalized: \"add\" },\n        remove: { primary: \"alisin\", alternatives: [\"tanggalin\"], normalized: \"remove\" },\n        // Content operations\n        put: { primary: \"ilagay\", alternatives: [\"maglagay\"], normalized: \"put\" },\n        append: { primary: \"idagdag_sa_dulo\", normalized: \"append\" },\n        prepend: { primary: \"idagdag_sa_simula\", normalized: \"prepend\" },\n        take: { primary: \"kumuha\", normalized: \"take\" },\n        make: { primary: \"gumawa\", alternatives: [\"lumikha\"], normalized: \"make\" },\n        clone: { primary: \"i-clone\", normalized: \"clone\" },\n        swap: { primary: \"palitan_pwesto\", alternatives: [\"magpalit\"], normalized: \"swap\" },\n        morph: { primary: \"baguhin\", normalized: \"morph\" },\n        // Variable operations\n        set: { primary: \"itakda\", alternatives: [\"magtakda\"], normalized: \"set\" },\n        get: { primary: \"kunin\", normalized: \"get\" },\n        increment: { primary: \"dagdagan\", alternatives: [\"taasan\"], normalized: \"increment\" },\n        decrement: { primary: \"bawasan\", alternatives: [\"ibaba\"], normalized: \"decrement\" },\n        log: { primary: \"itala\", normalized: \"log\" },\n        // Visibility\n        show: { primary: \"ipakita\", alternatives: [\"magpakita\"], normalized: \"show\" },\n        hide: { primary: \"itago\", alternatives: [\"magtago\"], normalized: \"hide\" },\n        transition: { primary: \"lumipat\", normalized: \"transition\" },\n        // Events\n        on: { primary: \"kapag\", normalized: \"on\" },\n        trigger: { primary: \"palitawin\", alternatives: [\"magpatugtog\"], normalized: \"trigger\" },\n        send: { primary: \"ipadala\", alternatives: [\"magpadala\"], normalized: \"send\" },\n        // DOM focus\n        focus: { primary: \"ituon\", normalized: \"focus\" },\n        blur: { primary: \"alisin_tuon\", normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: {\n          primary: \"walang-laman\",\n          alternatives: [\"alisin-laman\", \"walang_laman\"],\n          normalized: \"empty\"\n        },\n        open: { primary: \"buksan\", normalized: \"open\" },\n        close: { primary: \"isara\", normalized: \"close\" },\n        select: { primary: \"piliin\", normalized: \"select\" },\n        clear: { primary: \"burahin\", normalized: \"clear\" },\n        reset: { primary: \"i-reset\", normalized: \"reset\" },\n        breakpoint: { primary: \"breakpoint\", normalized: \"breakpoint\" },\n        // Navigation\n        go: { primary: \"pumunta\", alternatives: [\"punta\"], normalized: \"go\" },\n        // 'scroll' (English loanword) is the form the i18n transformer emits;\n        // registered as an alternative for passthrough-alignment.\n        scroll: { primary: \"iscroll\", alternatives: [\"mag_scroll\", \"scroll\"], normalized: \"scroll\" },\n        push: { primary: \"itulak\", alternatives: [\"ipush\"], normalized: \"push\" },\n        replace: { primary: \"palitan_url\", alternatives: [\"ireplace\"], normalized: \"replace\" },\n        process: { primary: \"iproseso\", alternatives: [\"proseso\"], normalized: \"process\" },\n        // Async\n        wait: { primary: \"maghintay\", alternatives: [\"hintay\"], normalized: \"wait\" },\n        fetch: { primary: \"kuhanin_mula\", alternatives: [\"kunin_mula\"], normalized: \"fetch\" },\n        settle: { primary: \"magpatahimik\", normalized: \"settle\" },\n        // Control flow\n        if: { primary: \"kung\", normalized: \"if\" },\n        unless: { primary: \"maliban_kung\", normalized: \"unless\" },\n        when: { primary: \"tuwing\", normalized: \"when\" },\n        where: { primary: \"kung_saan\", normalized: \"where\" },\n        else: { primary: \"kung_hindi\", alternatives: [\"kundi\"], normalized: \"else\" },\n        repeat: { primary: \"ulitin\", alternatives: [\"paulit-ulit\"], normalized: \"repeat\" },\n        for: { primary: \"para_sa\", normalized: \"for\" },\n        while: { primary: \"habang\", normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"magpakailanman\", normalized: \"forever\", alternatives: [\"forever\"] },\n        continue: { primary: \"magpatuloy\", normalized: \"continue\" },\n        halt: { primary: \"itigil\", alternatives: [\"huminto\"], normalized: \"halt\" },\n        throw: { primary: \"ihagis\", alternatives: [\"itapon\"], normalized: \"throw\" },\n        call: { primary: \"tawagin\", alternatives: [\"tawagan\", \"tumawag\"], normalized: \"call\" },\n        return: { primary: \"ibalik\", alternatives: [\"bumalik\"], normalized: \"return\" },\n        then: { primary: \"pagkatapos\", alternatives: [\"saka\"], normalized: \"then\" },\n        and: { primary: \"at\", normalized: \"and\" },\n        end: { primary: \"wakas\", alternatives: [\"tapos\"], normalized: \"end\" },\n        // Advanced\n        js: { primary: \"js\", normalized: \"js\" },\n        // `sabay` is the form the i18n tl dictionary emits for async; register it so\n        // the async-modifier strip recognizes it (passthrough-alignment).\n        async: { primary: \"async\", alternatives: [\"sabay\"], normalized: \"async\" },\n        tell: { primary: \"sabihin\", alternatives: [\"magsabi\"], normalized: \"tell\" },\n        default: {\n          primary: \"pamantayan\",\n          alternatives: [\"default\", \"unang_halaga\"],\n          normalized: \"default\"\n        },\n        init: { primary: \"simulan\", alternatives: [\"magsimula\"], normalized: \"init\" },\n        behavior: { primary: \"ugali\", alternatives: [\"kilos\"], normalized: \"behavior\" },\n        install: { primary: \"ikabit\", alternatives: [\"mag-install\"], normalized: \"install\" },\n        measure: { primary: \"sukatin\", normalized: \"measure\" },\n        beep: { primary: \"tunog\", normalized: \"beep\" },\n        break: { primary: \"putulin\", normalized: \"break\" },\n        copy: { primary: \"kopyahin\", normalized: \"copy\" },\n        exit: { primary: \"lumabas\", normalized: \"exit\" },\n        pick: { primary: \"pumili\", normalized: \"pick\" },\n        render: { primary: \"irender\", normalized: \"render\" },\n        // Modifiers\n        into: { primary: \"sa\", normalized: \"into\" },\n        before: { primary: \"bago\", normalized: \"before\" },\n        after: { primary: \"matapos\", normalized: \"after\" },\n        // Event modifiers\n        until: { primary: \"hanggang\", normalized: \"until\" },\n        event: { primary: \"pangyayari\", normalized: \"event\" },\n        from: { primary: \"mula\", alternatives: [\"galing\"], normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-ikonekta`, `hx-live`, etc.\n        // Filipino dev culture code-switches English heavily; `live`/`socket`\n        // are typically written verbatim in code.\n        connect: { primary: \"ikonekta\", alternatives: [\"kumonekta\", \"connect\"], normalized: \"connect\" },\n        stream: { primary: \"i-stream\", alternatives: [\"stream\", \"agos\"], normalized: \"stream\" },\n        live: { primary: \"live\", alternatives: [\"tuwiran\", \"direkta\"], normalized: \"live\" },\n        socket: { primary: \"socket\", alternatives: [\"websocket\"], normalized: \"socket\" },\n        // Streaming/concurrency: transformer emits the English literal (no i18n dict\n        // entry yet); Filipino code-switches English heavily, so English primary.\n        worker: { primary: \"worker\", alternatives: [\"manggagawa\"], normalized: \"worker\" },\n        eventsource: { primary: \"eventsource\", normalized: \"eventsource\" },\n        // Service-worker keyword (Filipino code-switches English heavily; English\n        // primary + native alternative, matching the socket/live entries above)\n        intercept: {\n          primary: \"intercept\",\n          alternatives: [\"harangin\", \"humarang\"],\n          normalized: \"intercept\"\n        },\n        // Reactive: bind (generated text keeps the English verb; native primary\n        // for future i18n dictionary support)\n        bind: { primary: \"itali\", alternatives: [\"iugnay\", \"bind\"], normalized: \"bind\" }\n      },\n      eventHandler: {\n        keyword: { primary: \"kapag\", normalized: \"on\" },\n        sourceMarker: { primary: \"mula_sa\", alternatives: [\"galing_sa\"], position: \"before\" },\n        eventMarker: { primary: \"kapag\", position: \"before\" }\n      }\n    };\n  }\n});\n\n// src/generators/profiles/turkish.ts\nvar turkish_exports = {};\n__export(turkish_exports, {\n  turkishProfile: () => turkishProfile\n});\nvar turkishProfile;\nvar init_turkish = __esm({\n  \"src/generators/profiles/turkish.ts\"() {\n    \"use strict\";\n    turkishProfile = {\n      code: \"tr\",\n      name: \"Turkish\",\n      nativeName: \"T\\xFCrk\\xE7e\",\n      regions: [\"priority\"],\n      direction: \"ltr\",\n      script: \"latin\",\n      wordOrder: \"SOV\",\n      markingStrategy: \"case-suffix\",\n      usesSpaces: true,\n      // Colloquial Turkish frequently drops the accusative/case suffix\n      // (`.active değiştir` for `.active i değiştir`). Accept both — the marked form\n      // stays the higher-confidence match.\n      markersOptional: true,\n      verb: {\n        position: \"end\",\n        suffixes: [\"mek\", \"mak\", \"yor\", \"di\", \"mi\\u015F\"],\n        subjectDrop: true\n      },\n      references: {\n        me: \"ben\",\n        // \"I/me\"\n        it: \"o\",\n        // \"it\"\n        you: \"sen\",\n        // \"you\"\n        result: \"sonu\\xE7\",\n        event: \"olay\",\n        target: \"hedef\",\n        body: \"g\\xF6vde\"\n      },\n      possessive: {\n        // Genitive suffix, spaced for tokenization like Turkish's other case\n        // markers (i/e/de). i18n renders `#picker ın değer`; the parser matches\n        // `ın` as the possessive marker. Vowel-harmony variants (in/un/ün) are not\n        // distinguished — the generator emits the `ın` form for all owners.\n        marker: \"\\u0131n\",\n        markerPosition: \"after-object\",\n        usePossessiveAdjectives: true,\n        specialForms: {\n          me: \"benim\",\n          // \"my\" (genitive of \"ben\")\n          it: \"onun\",\n          // \"its\"\n          you: \"senin\"\n          // \"your\"\n        },\n        keywords: {\n          benim: \"me\",\n          // my\n          senin: \"you\",\n          // your\n          onun: \"it\"\n          // its\n        }\n      },\n      roleMarkers: {\n        patient: {\n          primary: \"i\",\n          alternatives: [\"\\u0131\", \"u\", \"\\xFC\", \"yi\", \"y\\u0131\", \"yu\", \"y\\xFC\", \"ni\", \"n\\u0131\", \"nu\", \"n\\xFC\"],\n          position: \"after\"\n        },\n        // Accusative (with buffer consonants y/n)\n        destination: {\n          primary: \"e\",\n          // Include both dative (e/a) and genitive (ın/in/un/ün) for possessive patterns\n          // Genitive is used in \"X's Y\" patterns: #button ın .active = \"#button's .active\"\n          alternatives: [\n            \"a\",\n            \"ye\",\n            \"ya\",\n            \"ne\",\n            \"na\",\n            \"de\",\n            \"da\",\n            \"te\",\n            \"ta\",\n            \"\\u0131n\",\n            \"in\",\n            \"un\",\n            \"\\xFCn\",\n            \"n\\u0131n\",\n            \"nin\",\n            \"nun\",\n            \"n\\xFCn\"\n          ],\n          position: \"after\"\n        },\n        // Dative/Locative + Genitive (with buffer consonants)\n        source: { primary: \"den\", alternatives: [\"dan\", \"ten\", \"tan\"], position: \"after\" },\n        // Ablative\n        style: { primary: \"le\", alternatives: [\"la\", \"yle\", \"yla\"], position: \"after\" },\n        // Instrumental\n        event: { primary: \"i\", alternatives: [\"\\u0131\", \"u\", \"\\xFC\"], position: \"after\" }\n        // Event as accusative\n      },\n      keywords: {\n        // Class/Attribute operations\n        toggle: { primary: \"de\\u011Fi\\u015Ftir\", alternatives: [\"a\\xE7/kapat\"], normalized: \"toggle\" },\n        add: { primary: \"ekle\", normalized: \"add\" },\n        remove: { primary: \"kald\\u0131r\", alternatives: [\"sil\"], normalized: \"remove\" },\n        // Content operations\n        put: { primary: \"koy\", normalized: \"put\" },\n        append: { primary: \"ili\\u015Ftir\", normalized: \"append\" },\n        prepend: { primary: \"ba\\u015F\\u0131naekle\", normalized: \"prepend\" },\n        take: { primary: \"tut\", normalized: \"take\" },\n        // al removed to avoid collision with get\n        make: { primary: \"yap\", normalized: \"make\" },\n        clone: { primary: \"klonla\", normalized: \"clone\" },\n        swap: { primary: \"takas\", normalized: \"swap\" },\n        // Removed değiştir alternative to avoid collision with toggle\n        morph: { primary: \"d\\xF6n\\xFC\\u015Ft\\xFCr\", alternatives: [\"\\u015Fekil de\\u011Fi\\u015Ftir\"], normalized: \"morph\" },\n        // Variable operations\n        set: { primary: \"ayarla\", alternatives: [\"belirle\"], normalized: \"set\" },\n        get: { primary: \"al\", normalized: \"get\" },\n        increment: { primary: \"art\\u0131r\", normalized: \"increment\" },\n        decrement: { primary: \"azalt\", normalized: \"decrement\" },\n        log: { primary: \"kaydet\", normalized: \"log\" },\n        // Visibility\n        show: { primary: \"g\\xF6ster\", normalized: \"show\" },\n        hide: { primary: \"gizle\", normalized: \"hide\" },\n        transition: { primary: \"ge\\xE7i\\u015F\", normalized: \"transition\" },\n        // Events\n        on: { primary: \"\\xFCzerinde\", alternatives: [\"zaman\"], normalized: \"on\" },\n        trigger: { primary: \"tetikle\", normalized: \"trigger\" },\n        send: { primary: \"g\\xF6nder\", normalized: \"send\" },\n        // DOM focus\n        focus: { primary: \"odak\", alternatives: [\"odaklanma\"], normalized: \"focus\" },\n        blur: { primary: \"bulan\\u0131k\", alternatives: [\"bulan\\u0131kl\\u0131k\", \"bulanik\"], normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"bo\\u015Falt\", alternatives: [\"bosalt\", \"bo\\u015F\"], normalized: \"empty\" },\n        open: { primary: \"a\\xE7\", alternatives: [\"ac\"], normalized: \"open\" },\n        close: { primary: \"kapat\", normalized: \"close\" },\n        select: { primary: \"vurgula\", normalized: \"select\" },\n        clear: { primary: \"temizle\", normalized: \"clear\" },\n        reset: { primary: \"s\\u0131f\\u0131rla\", alternatives: [\"sifirla\"], normalized: \"reset\" },\n        breakpoint: {\n          primary: \"kesme-noktas\\u0131\",\n          alternatives: [\"kesme-noktasi\"],\n          normalized: \"breakpoint\"\n        },\n        // Common event names (for event handler patterns)\n        click: {\n          primary: \"t\\u0131klama\",\n          alternatives: [\"t\\u0131kla\", \"tiklama\", \"t\\u0131k\", \"tik\"],\n          normalized: \"click\"\n        },\n        hover: { primary: \"\\xFCzerine gelme\", alternatives: [\"\\xFCzerinde gezinme\"], normalized: \"hover\" },\n        submit: { primary: \"g\\xF6nderme\", normalized: \"submit\" },\n        input: { primary: \"giri\\u015F\", alternatives: [\"girdi\", \"giris\"], normalized: \"input\" },\n        change: { primary: \"de\\u011Fi\\u015Fiklik\", alternatives: [\"de\\u011Fi\\u015Fim\", \"degisim\"], normalized: \"change\" },\n        // `load` event: the i18n dict emits yükle for `load`. Without this keyword the\n        // SOV reorder's mid-stream `yükle de` (on load) tokenized as the `install`\n        // command (install's primary was also yükle) and the `on load` handler dropped\n        // — `default-value` was degenerate in tr. install now keys off kur (the form\n        // the dict already emits for install), freeing yükle for the load event.\n        load: { primary: \"y\\xFCkle\", normalized: \"load\" },\n        // Navigation\n        go: { primary: \"git\", normalized: \"go\" },\n        scroll: { primary: \"kayd\\u0131r\", alternatives: [\"kaydir\"], normalized: \"scroll\" },\n        push: { primary: \"itele\", alternatives: [\"push\"], normalized: \"push\" },\n        replace: { primary: \"de\\u011Fi\\u015Ftir_url\", alternatives: [\"degistir_url\"], normalized: \"replace\" },\n        process: { primary: \"i\\u015Fle\", alternatives: [\"isle\"], normalized: \"process\" },\n        // Async\n        wait: { primary: \"bekle\", normalized: \"wait\" },\n        fetch: { primary: \"getir\", normalized: \"fetch\" },\n        settle: { primary: \"sabitlen\", normalized: \"settle\" },\n        // Control flow\n        if: { primary: \"e\\u011Fer\", normalized: \"if\" },\n        unless: { primary: \"de\\u011Filse\", normalized: \"unless\" },\n        when: { primary: \"iken\", alternatives: [\"durumunda\", \"oldu\\u011Funda\"], normalized: \"when\" },\n        where: { primary: \"nerede\", normalized: \"where\" },\n        else: { primary: \"yoksa\", normalized: \"else\" },\n        repeat: { primary: \"tekrarla\", normalized: \"repeat\" },\n        for: { primary: \"i\\xE7in\", normalized: \"for\" },\n        while: { primary: \"s\\xFCresince\", normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"forever\", normalized: \"forever\" },\n        continue: { primary: \"devam\", normalized: \"continue\" },\n        halt: { primary: \"durdur\", normalized: \"halt\" },\n        throw: { primary: \"f\\u0131rlat\", normalized: \"throw\" },\n        call: { primary: \"\\xE7a\\u011F\\u0131r\", normalized: \"call\" },\n        return: { primary: \"d\\xF6n\", normalized: \"return\" },\n        then: { primary: \"ard\\u0131ndan\", alternatives: [\"daha sonra\", \"ardindan\"], normalized: \"then\" },\n        and: { primary: \"ve\", alternatives: [\"ayr\\u0131ca\", \"hem de\"], normalized: \"and\" },\n        or: { primary: \"veya\", normalized: \"or\" },\n        not: { primary: \"de\\u011Fil\", alternatives: [\"degil\"], normalized: \"not\" },\n        end: { primary: \"son\", alternatives: [\"biti\\u015F\", \"bitti\"], normalized: \"end\" },\n        // Advanced\n        js: { primary: \"js\", normalized: \"js\" },\n        async: { primary: \"asenkron\", normalized: \"async\" },\n        tell: { primary: \"s\\xF6yle\", normalized: \"tell\" },\n        default: { primary: \"varsay\\u0131lan\", normalized: \"default\" },\n        init: { primary: \"ba\\u015Flat\", normalized: \"init\" },\n        behavior: { primary: \"davran\\u0131\\u015F\", normalized: \"behavior\" },\n        // primary is kur (the form the i18n dict emits for install); yükle is reserved\n        // for the load event (see the `load` keyword above). yüklemek stays as the\n        // infinitive surface form.\n        install: { primary: \"kur\", alternatives: [\"y\\xFCklemek\"], normalized: \"install\" },\n        measure: { primary: \"\\xF6l\\xE7\", normalized: \"measure\" },\n        beep: { primary: \"bip\", normalized: \"beep\" },\n        break: { primary: \"dur\", normalized: \"break\" },\n        copy: { primary: \"kopyala\", normalized: \"copy\" },\n        exit: { primary: \"\\xE7\\u0131k\", normalized: \"exit\" },\n        pick: { primary: \"se\\xE7\", normalized: \"pick\" },\n        render: { primary: \"render\", normalized: \"render\" },\n        // Modifiers\n        into: { primary: \"i\\xE7ine\", normalized: \"into\" },\n        before: { primary: \"\\xF6nce\", normalized: \"before\" },\n        after: { primary: \"sonra\", normalized: \"after\" },\n        // Event modifiers (for repeat until event)\n        until: { primary: \"kadar\", normalized: \"until\" },\n        event: { primary: \"olay\", normalized: \"event\" },\n        from: { primary: \"den\", alternatives: [\"dan\"], normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-bağlan`, `hx-canlı`, etc.\n        // Turkish convention: imperative verb forms (matches `değiştir`, `ayarla`).\n        connect: { primary: \"ba\\u011Flan\", alternatives: [\"ba\\u011Fla\", \"ba\\u011Flant\\u0131\"], normalized: \"connect\" },\n        stream: { primary: \"yay\\u0131nla\", alternatives: [\"ak\\u0131t\", \"ak\\u0131\\u015F\"], normalized: \"stream\" },\n        live: { primary: \"canl\\u0131\", alternatives: [\"ger\\xE7ek-zamanl\\u0131\"], normalized: \"live\" },\n        socket: { primary: \"soket\", alternatives: [\"websocket\"], normalized: \"socket\" },\n        // Reactive / realtime commands\n        // Turkish `bağla` means both bind and connect (collision), and\n        // `ilişkilendir` is mangled by the agglutinative normalizer; keep the\n        // English verb so it parses unambiguously as bind.\n        bind: { primary: \"bind\", normalized: \"bind\" },\n        intercept: {\n          primary: \"yakala\",\n          alternatives: [\"araya-gir\", \"intercept\"],\n          normalized: \"intercept\"\n        },\n        worker: { primary: \"i\\u015F\\xE7i\", alternatives: [\"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"olay-kayna\\u011F\\u0131\"],\n          normalized: \"eventsource\"\n        }\n      },\n      eventHandler: {\n        // Event marker: da/de/ta/te (locative case suffix with vowel harmony), used in SOV pattern\n        // Pattern: [event] da [patient] i [action]\n        // Example: tıklama da .active i değiştir\n        // Note: Vowel harmony variants (da/de/ta/te) should be handled by vowel harmony expansion\n        eventMarker: { primary: \"da\", alternatives: [\"de\", \"ta\", \"te\"], position: \"after\" },\n        temporalMarkers: [\"d\\u0131\\u011F\\u0131nda\", \"di\\u011Finde\"]\n        // temporal converb suffixes (when)\n      }\n    };\n  }\n});\n\n// src/generators/profiles/ukrainian.ts\nvar ukrainian_exports = {};\n__export(ukrainian_exports, {\n  ukrainianProfile: () => ukrainianProfile\n});\nvar ukrainianProfile;\nvar init_ukrainian = __esm({\n  \"src/generators/profiles/ukrainian.ts\"() {\n    \"use strict\";\n    ukrainianProfile = {\n      code: \"uk\",\n      name: \"Ukrainian\",\n      nativeName: \"\\u0423\\u043A\\u0440\\u0430\\u0457\\u043D\\u0441\\u044C\\u043A\\u0430\",\n      direction: \"ltr\",\n      script: \"cyrillic\",\n      wordOrder: \"SVO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: true,\n      defaultVerbForm: \"infinitive\",\n      verb: {\n        position: \"start\",\n        subjectDrop: true,\n        suffixes: [\"\\u0442\\u0438\", \"\\u0442\\u0438\\u0441\\u044F\", \"\\u0438\\u0442\\u0438\", \"\\u0438\\u0442\\u0438\\u0441\\u044F\", \"\\u0430\\u0442\\u0438\", \"\\u0430\\u0442\\u0438\\u0441\\u044F\", \"\\u0456\\u0442\\u0438\", \"\\u0456\\u0442\\u0438\\u0441\\u044F\"]\n      },\n      references: {\n        me: \"\\u044F\",\n        it: \"\\u0446\\u0435\",\n        you: \"\\u0442\\u0438\",\n        result: \"\\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\",\n        event: \"\\u043F\\u043E\\u0434\\u0456\\u044F\",\n        target: \"\\u0446\\u0456\\u043B\\u044C\",\n        body: \"\\u0442\\u0456\\u043B\\u043E\"\n        // was an English placeholder; the i18n dict emits the Ukrainian word\n      },\n      possessive: {\n        marker: \"\",\n        markerPosition: \"after-object\",\n        usePossessiveAdjectives: true,\n        specialForms: {\n          me: \"\\u043C\\u0456\\u0439\",\n          it: \"\\u0439\\u043E\\u0433\\u043E\",\n          you: \"\\u0442\\u0432\\u0456\\u0439\"\n        },\n        keywords: {\n          // \"my\" variants (masculine/feminine/neuter/plural)\n          \\u043C\\u0456\\u0439: \"me\",\n          \\u043C\\u043E\\u044F: \"me\",\n          \\u043C\\u043E\\u0454: \"me\",\n          \\u043C\\u043E\\u0457: \"me\",\n          // \"your\" variants\n          \\u0442\\u0432\\u0456\\u0439: \"you\",\n          \\u0442\\u0432\\u043E\\u044F: \"you\",\n          \\u0442\\u0432\\u043E\\u0454: \"you\",\n          \\u0442\\u0432\\u043E\\u0457: \"you\",\n          // \"its/his/her\" forms\n          \\u0439\\u043E\\u0433\\u043E: \"it\",\n          // his/its\n          \\u0457\\u0457: \"it\"\n          // her/its (feminine)\n        }\n      },\n      roleMarkers: {\n        destination: { primary: \"\\u0432\", alternatives: [\"\\u043D\\u0430\", \"\\u0434\\u043E\"], position: \"before\" },\n        source: { primary: \"\\u0437\", alternatives: [\"\\u0432\\u0456\\u0434\", \"\\u0456\\u0437\"], position: \"before\" },\n        patient: { primary: \"\", position: \"before\" },\n        style: { primary: \"\\u0437\", alternatives: [\"\\u0456\\u0437\"], position: \"before\" }\n      },\n      keywords: {\n        // Class/Attribute operations (infinitive form)\n        toggle: {\n          primary: \"\\u043F\\u0435\\u0440\\u0435\\u043C\\u043A\\u043D\\u0443\\u0442\\u0438\",\n          alternatives: [\"\\u043F\\u0435\\u0440\\u0435\\u043C\\u043A\\u043D\\u0438\"],\n          normalized: \"toggle\",\n          form: \"infinitive\"\n        },\n        add: { primary: \"\\u0434\\u043E\\u0434\\u0430\\u0442\\u0438\", alternatives: [\"\\u0434\\u043E\\u0434\\u0430\\u0439\"], normalized: \"add\", form: \"infinitive\" },\n        remove: {\n          primary: \"\\u0432\\u0438\\u0434\\u0430\\u043B\\u0438\\u0442\\u0438\",\n          alternatives: [\"\\u0432\\u0438\\u0434\\u0430\\u043B\\u0438\", \"\\u043F\\u0440\\u0438\\u0431\\u0440\\u0430\\u0442\\u0438\", \"\\u043F\\u0440\\u0438\\u0431\\u0435\\u0440\\u0438\"],\n          normalized: \"remove\",\n          form: \"infinitive\"\n        },\n        // Content operations\n        put: {\n          primary: \"\\u043F\\u043E\\u043A\\u043B\\u0430\\u0441\\u0442\\u0438\",\n          alternatives: [\"\\u043F\\u043E\\u043A\\u043B\\u0430\\u0434\\u0438\", \"\\u043F\\u043E\\u043C\\u0456\\u0441\\u0442\\u0438\\u0442\\u0438\", \"\\u043F\\u043E\\u043C\\u0456\\u0441\\u0442\\u0438\", \"\\u0432\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u0438\", \"\\u0432\\u0441\\u0442\\u0430\\u0432\"],\n          normalized: \"put\",\n          form: \"infinitive\"\n        },\n        append: {\n          primary: \"\\u0434\\u043E\\u0434\\u0430\\u0442\\u0438_\\u0432_\\u043A\\u0456\\u043D\\u0435\\u0446\\u044C\",\n          alternatives: [\"\\u0434\\u043E\\u043F\\u0438\\u0441\\u0430\\u0442\\u0438\"],\n          normalized: \"append\",\n          form: \"infinitive\"\n        },\n        prepend: { primary: \"\\u0434\\u043E\\u0434\\u0430\\u0442\\u0438_\\u043D\\u0430_\\u043F\\u043E\\u0447\\u0430\\u0442\\u043E\\u043A\", normalized: \"prepend\", form: \"infinitive\" },\n        take: { primary: \"\\u0432\\u0437\\u044F\\u0442\\u0438\", alternatives: [\"\\u0432\\u0456\\u0437\\u044C\\u043C\\u0438\"], normalized: \"take\", form: \"infinitive\" },\n        make: { primary: \"\\u0441\\u0442\\u0432\\u043E\\u0440\\u0438\\u0442\\u0438\", alternatives: [\"\\u0441\\u0442\\u0432\\u043E\\u0440\\u0438\"], normalized: \"make\", form: \"infinitive\" },\n        clone: {\n          primary: \"\\u043A\\u043B\\u043E\\u043D\\u0443\\u0432\\u0430\\u0442\\u0438\",\n          alternatives: [\"\\u043A\\u043B\\u043E\\u043D\\u0443\\u0439\"],\n          normalized: \"clone\",\n          form: \"infinitive\"\n        },\n        swap: {\n          primary: \"\\u043F\\u043E\\u043C\\u0456\\u043D\\u044F\\u0442\\u0438\",\n          alternatives: [\"\\u043F\\u043E\\u043C\\u0456\\u043D\\u044F\\u0439\"],\n          normalized: \"swap\",\n          form: \"infinitive\"\n        },\n        morph: {\n          primary: \"\\u0442\\u0440\\u0430\\u043D\\u0441\\u0444\\u043E\\u0440\\u043C\\u0443\\u0432\\u0430\\u0442\\u0438\",\n          alternatives: [\"\\u0442\\u0440\\u0430\\u043D\\u0441\\u0444\\u043E\\u0440\\u043C\\u0443\\u0439\"],\n          normalized: \"morph\",\n          form: \"infinitive\"\n        },\n        // Variable operations\n        set: {\n          primary: \"\\u0432\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\\u0442\\u0438\",\n          alternatives: [\"\\u0432\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\", \"\\u0437\\u0430\\u0434\\u0430\\u0442\\u0438\", \"\\u0437\\u0430\\u0434\\u0430\\u0439\"],\n          normalized: \"set\",\n          form: \"infinitive\"\n        },\n        get: { primary: \"\\u043E\\u0442\\u0440\\u0438\\u043C\\u0430\\u0442\\u0438\", alternatives: [\"\\u043E\\u0442\\u0440\\u0438\\u043C\\u0430\\u0439\"], normalized: \"get\", form: \"infinitive\" },\n        increment: {\n          primary: \"\\u0437\\u0431\\u0456\\u043B\\u044C\\u0448\\u0438\\u0442\\u0438\",\n          alternatives: [\"\\u0437\\u0431\\u0456\\u043B\\u044C\\u0448\"],\n          normalized: \"increment\",\n          form: \"infinitive\"\n        },\n        decrement: {\n          primary: \"\\u0437\\u043C\\u0435\\u043D\\u0448\\u0438\\u0442\\u0438\",\n          alternatives: [\"\\u0437\\u043C\\u0435\\u043D\\u0448\"],\n          normalized: \"decrement\",\n          form: \"infinitive\"\n        },\n        log: { primary: \"\\u0437\\u0430\\u043F\\u0438\\u0441\\u0430\\u0442\\u0438\", alternatives: [\"\\u0437\\u0430\\u043F\\u0438\\u0448\\u0438\"], normalized: \"log\", form: \"infinitive\" },\n        // Visibility\n        show: { primary: \"\\u043F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u0438\", alternatives: [\"\\u043F\\u043E\\u043A\\u0430\\u0436\\u0438\"], normalized: \"show\", form: \"infinitive\" },\n        hide: {\n          primary: \"\\u0441\\u0445\\u043E\\u0432\\u0430\\u0442\\u0438\",\n          alternatives: [\"\\u0441\\u0445\\u043E\\u0432\\u0430\\u0439\", \"\\u043F\\u0440\\u0438\\u0445\\u043E\\u0432\\u0430\\u0442\\u0438\", \"\\u043F\\u0440\\u0438\\u0445\\u043E\\u0432\\u0430\\u0439\"],\n          normalized: \"hide\",\n          form: \"infinitive\"\n        },\n        transition: {\n          primary: \"\\u0430\\u043D\\u0456\\u043C\\u0443\\u0432\\u0430\\u0442\\u0438\",\n          alternatives: [\"\\u0430\\u043D\\u0456\\u043C\\u0443\\u0439\"],\n          normalized: \"transition\",\n          form: \"infinitive\"\n        },\n        // Events\n        on: { primary: \"\\u043F\\u0440\\u0438\", normalized: \"on\" },\n        trigger: {\n          primary: \"\\u0456\\u043D\\u0456\\u0446\\u0456\\u044E\\u0432\\u0430\\u0442\\u0438\",\n          alternatives: [\"\\u0437\\u0430\\u043F\\u0443\\u0441\\u0442\\u0438\\u0442\\u0438\", \"\\u0437\\u0430\\u043F\\u0443\\u0441\\u0442\\u0438\"],\n          normalized: \"trigger\",\n          form: \"infinitive\"\n        },\n        send: {\n          primary: \"\\u043D\\u0430\\u0434\\u0456\\u0441\\u043B\\u0430\\u0442\\u0438\",\n          alternatives: [\"\\u043D\\u0430\\u0434\\u0456\\u0448\\u043B\\u0438\"],\n          normalized: \"send\",\n          form: \"infinitive\"\n        },\n        // DOM focus\n        focus: {\n          primary: \"\\u0441\\u0444\\u043E\\u043A\\u0443\\u0441\\u0443\\u0432\\u0430\\u0442\\u0438\",\n          alternatives: [\"\\u0441\\u0444\\u043E\\u043A\\u0443\\u0441\\u0443\\u0439\", \"\\u0444\\u043E\\u043A\\u0443\\u0441\"],\n          normalized: \"focus\",\n          form: \"infinitive\"\n        },\n        blur: {\n          primary: \"\\u0440\\u043E\\u0437\\u0444\\u043E\\u043A\\u0443\\u0441\\u0443\\u0432\\u0430\\u0442\\u0438\",\n          alternatives: [\"\\u0440\\u043E\\u0437\\u0444\\u043E\\u043A\\u0443\\u0441\\u0443\\u0439\"],\n          normalized: \"blur\",\n          form: \"infinitive\"\n        },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"\\u0441\\u043F\\u043E\\u0440\\u043E\\u0436\\u043D\\u0438\\u0442\\u0438\", alternatives: [\"\\u043F\\u043E\\u0440\\u043E\\u0436\\u043D\\u0456\\u0439\"], normalized: \"empty\" },\n        open: { primary: \"\\u0432\\u0456\\u0434\\u043A\\u0440\\u0438\\u0442\\u0438\", normalized: \"open\" },\n        close: { primary: \"\\u0437\\u0430\\u043A\\u0440\\u0438\\u0442\\u0438\", normalized: \"close\" },\n        select: { primary: \"\\u0432\\u0438\\u0434\\u0456\\u043B\\u0438\\u0442\\u0438\", normalized: \"select\" },\n        clear: { primary: \"\\u043E\\u0447\\u0438\\u0441\\u0442\\u0438\\u0442\\u0438\", normalized: \"clear\" },\n        reset: { primary: \"\\u0441\\u043A\\u0438\\u043D\\u0443\\u0442\\u0438\", normalized: \"reset\" },\n        breakpoint: { primary: \"\\u0442\\u043E\\u0447\\u043A\\u0430-\\u0437\\u0443\\u043F\\u0438\\u043D\\u043A\\u0438\", normalized: \"breakpoint\" },\n        // Common event names (for event handler patterns)\n        click: { primary: \"\\u043A\\u043B\\u0456\\u043A\\u0443\", alternatives: [\"\\u043A\\u043B\\u0456\\u043A\", \"\\u043D\\u0430\\u0442\\u0438\\u0441\\u043A\\u0430\\u043D\\u043D\\u0456\"], normalized: \"click\" },\n        hover: { primary: \"\\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u043D\\u0456\", alternatives: [\"\\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u043D\\u044F\"], normalized: \"hover\" },\n        // `надсилання` is the form the i18n dict emits for `submit` (the profile\n        // primary `відправці` is a different word); without it `on submit` events\n        // (fetch-with-method/-formdata, morph-form-update, form-submit-prevent) parse\n        // the event as a bare `expression`, not a `literal` (the on.event R1 residue).\n        submit: {\n          primary: \"\\u0432\\u0456\\u0434\\u043F\\u0440\\u0430\\u0432\\u0446\\u0456\",\n          alternatives: [\"\\u0432\\u0456\\u0434\\u043F\\u0440\\u0430\\u0432\\u043A\\u0430\", \"\\u043D\\u0430\\u0434\\u0441\\u0438\\u043B\\u0430\\u043D\\u043D\\u044F\"],\n          normalized: \"submit\"\n        },\n        input: { primary: \"\\u0432\\u0432\\u0435\\u0434\\u0435\\u043D\\u043D\\u0456\", alternatives: [\"\\u0432\\u0432\\u0435\\u0434\\u0435\\u043D\\u043D\\u044F\"], normalized: \"input\" },\n        change: { primary: \"\\u0437\\u043C\\u0456\\u043D\\u0456\", alternatives: [\"\\u0437\\u043C\\u0456\\u043D\\u0430\"], normalized: \"change\" },\n        // i18n dict emits `завантаження` for `load` (stagger-animation `on load`).\n        load: { primary: \"\\u0437\\u0430\\u0432\\u0430\\u043D\\u0442\\u0430\\u0436\\u0435\\u043D\\u043D\\u044F\", normalized: \"load\" },\n        // Navigation\n        go: {\n          primary: \"\\u043F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438\",\n          alternatives: [\"\\u043F\\u0435\\u0440\\u0435\\u0439\\u0434\\u0438\", \"\\u0439\\u0442\\u0438\", \"\\u0439\\u0434\\u0438\"],\n          normalized: \"go\",\n          form: \"infinitive\"\n        },\n        scroll: {\n          primary: \"\\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u0438\\u0442\\u0438\",\n          alternatives: [\"\\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u0438\"],\n          normalized: \"scroll\",\n          form: \"infinitive\"\n        },\n        push: {\n          primary: \"\\u0448\\u0442\\u043E\\u0432\\u0445\\u043D\\u0443\\u0442\\u0438\",\n          alternatives: [\"\\u0437\\u0430\\u0448\\u0442\\u043E\\u0432\\u0445\\u043D\\u0443\\u0442\\u0438\"],\n          normalized: \"push\",\n          form: \"infinitive\"\n        },\n        replace: {\n          primary: \"\\u0437\\u0430\\u043C\\u0456\\u043D\\u0438\\u0442\\u0438\",\n          alternatives: [\"\\u0437\\u0430\\u043C\\u0456\\u043D\\u0438\"],\n          normalized: \"replace\",\n          form: \"infinitive\"\n        },\n        process: {\n          primary: \"\\u043E\\u0431\\u0440\\u043E\\u0431\\u0438\\u0442\\u0438\",\n          alternatives: [\"\\u043E\\u0431\\u0440\\u043E\\u0431\\u043B\\u044F\\u0442\\u0438\"],\n          normalized: \"process\",\n          form: \"infinitive\"\n        },\n        // Async\n        wait: {\n          primary: \"\\u0447\\u0435\\u043A\\u0430\\u0442\\u0438\",\n          alternatives: [\"\\u0447\\u0435\\u043A\\u0430\\u0439\", \"\\u0437\\u0430\\u0447\\u0435\\u043A\\u0430\\u0439\"],\n          normalized: \"wait\",\n          form: \"infinitive\"\n        },\n        fetch: {\n          primary: \"\\u0437\\u0430\\u0432\\u0430\\u043D\\u0442\\u0430\\u0436\\u0438\\u0442\\u0438\",\n          alternatives: [\"\\u0437\\u0430\\u0432\\u0430\\u043D\\u0442\\u0430\\u0436\"],\n          normalized: \"fetch\",\n          form: \"infinitive\"\n        },\n        settle: { primary: \"\\u0441\\u0442\\u0430\\u0431\\u0456\\u043B\\u0456\\u0437\\u0443\\u0432\\u0430\\u0442\\u0438\", normalized: \"settle\", form: \"infinitive\" },\n        // Control flow\n        if: { primary: \"\\u044F\\u043A\\u0449\\u043E\", normalized: \"if\" },\n        unless: { primary: \"\\u043A\\u0440\\u0456\\u043C\", normalized: \"unless\" },\n        when: { primary: \"\\u043A\\u043E\\u043B\\u0438\", normalized: \"when\" },\n        where: { primary: \"\\u0434\\u0435\", normalized: \"where\" },\n        else: { primary: \"\\u0456\\u043D\\u0430\\u043A\\u0448\\u0435\", normalized: \"else\" },\n        repeat: {\n          primary: \"\\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\\u0442\\u0438\",\n          alternatives: [\"\\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\"],\n          normalized: \"repeat\",\n          form: \"infinitive\"\n        },\n        for: { primary: \"\\u0434\\u043B\\u044F\", alternatives: [\"\\u043A\\u043E\\u0436\\u043D\\u0438\\u0439\"], normalized: \"for\" },\n        while: { primary: \"\\u043F\\u043E\\u043A\\u0438\", normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"\\u0437\\u0430\\u0432\\u0436\\u0434\\u0438\", normalized: \"forever\", alternatives: [\"forever\"] },\n        continue: {\n          primary: \"\\u043F\\u0440\\u043E\\u0434\\u043E\\u0432\\u0436\\u0438\\u0442\\u0438\",\n          alternatives: [\"\\u043F\\u0440\\u043E\\u0434\\u043E\\u0432\\u0436\\u0443\\u0439\"],\n          normalized: \"continue\",\n          form: \"infinitive\"\n        },\n        halt: {\n          primary: \"\\u0437\\u0443\\u043F\\u0438\\u043D\\u0438\\u0442\\u0438\",\n          alternatives: [\"\\u0437\\u0443\\u043F\\u0438\\u043D\\u0438\\u0441\\u044C\", \"\\u0441\\u0442\\u043E\\u043F\"],\n          normalized: \"halt\",\n          form: \"infinitive\"\n        },\n        throw: { primary: \"\\u043A\\u0438\\u043D\\u0443\\u0442\\u0438\", alternatives: [\"\\u043A\\u0438\\u043D\\u044C\"], normalized: \"throw\", form: \"infinitive\" },\n        call: {\n          primary: \"\\u0432\\u0438\\u043A\\u043B\\u0438\\u043A\\u0430\\u0442\\u0438\",\n          alternatives: [\"\\u0432\\u0438\\u043A\\u043B\\u0438\\u0447\"],\n          normalized: \"call\",\n          form: \"infinitive\"\n        },\n        return: {\n          primary: \"\\u043F\\u043E\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u0438\",\n          alternatives: [\"\\u043F\\u043E\\u0432\\u0435\\u0440\\u043D\\u0438\"],\n          normalized: \"return\",\n          form: \"infinitive\"\n        },\n        then: { primary: \"\\u043F\\u043E\\u0442\\u0456\\u043C\", alternatives: [\"\\u0434\\u0430\\u043B\\u0456\", \"\\u0442\\u043E\\u0434\\u0456\"], normalized: \"then\" },\n        and: { primary: \"\\u0456\", alternatives: [\"\\u0442\\u0430\"], normalized: \"and\" },\n        // Comparison operator — see korean.ts for the rationale. A folded conditional's\n        // raw condition is read by the core expression parser (English operators only),\n        // so `target відповідає .x` must normalize to `target matches .x`; otherwise\n        // `відповідає` stays an identifier and modal-close-backdrop drops its then-branch.\n        matches: { primary: \"\\u0432\\u0456\\u0434\\u043F\\u043E\\u0432\\u0456\\u0434\\u0430\\u0454\", normalized: \"matches\" },\n        end: { primary: \"\\u043A\\u0456\\u043D\\u0435\\u0446\\u044C\", normalized: \"end\" },\n        // Advanced\n        js: { primary: \"js\", normalized: \"js\" },\n        async: { primary: \"\\u0430\\u0441\\u0438\\u043D\\u0445\\u0440\\u043E\\u043D\\u043D\\u043E\", alternatives: [\"async\"], normalized: \"async\" },\n        tell: { primary: \"\\u0441\\u043A\\u0430\\u0437\\u0430\\u0442\\u0438\", alternatives: [\"\\u0441\\u043A\\u0430\\u0436\\u0438\"], normalized: \"tell\", form: \"infinitive\" },\n        default: { primary: \"\\u0437\\u0430_\\u0437\\u0430\\u043C\\u043E\\u0432\\u0447\\u0443\\u0432\\u0430\\u043D\\u043D\\u044F\\u043C\", normalized: \"default\" },\n        init: {\n          primary: \"\\u0456\\u043D\\u0456\\u0446\\u0456\\u0430\\u043B\\u0456\\u0437\\u0443\\u0432\\u0430\\u0442\\u0438\",\n          alternatives: [\"\\u0456\\u043D\\u0456\\u0446\\u0456\\u0430\\u043B\\u0456\\u0437\\u0443\\u0439\"],\n          normalized: \"init\",\n          form: \"infinitive\"\n        },\n        behavior: { primary: \"\\u043F\\u043E\\u0432\\u0435\\u0434\\u0456\\u043D\\u043A\\u0430\", normalized: \"behavior\" },\n        // `install` is the loanword `інсталювати` — NOT `встановити`, which is the\n        // `set` primary (uk \"install\" and \"set\" are homonyms). The previous\n        // disambiguator `встановити_пакет` was inert: the uk tokenizer splits on `_`,\n        // so it tokenized back to `встановити` → `set`, dropping the install action\n        // (install-behavior degenerate). The loanword is a single Cyrillic token.\n        install: { primary: \"\\u0456\\u043D\\u0441\\u0442\\u0430\\u043B\\u044E\\u0432\\u0430\\u0442\\u0438\", normalized: \"install\", form: \"infinitive\" },\n        measure: {\n          primary: \"\\u0432\\u0438\\u043C\\u0456\\u0440\\u044F\\u0442\\u0438\",\n          alternatives: [\"\\u0432\\u0438\\u043C\\u0456\\u0440\\u044F\\u0439\"],\n          normalized: \"measure\",\n          form: \"infinitive\"\n        },\n        beep: { primary: \"\\u0437\\u0432\\u0443\\u043A\", normalized: \"beep\" },\n        break: { primary: \"\\u043F\\u0435\\u0440\\u0435\\u0440\\u0432\\u0430\\u0442\\u0438\", normalized: \"break\" },\n        copy: { primary: \"\\u043A\\u043E\\u043F\\u0456\\u044E\\u0432\\u0430\\u0442\\u0438\", normalized: \"copy\" },\n        exit: { primary: \"\\u0432\\u0438\\u0439\\u0442\\u0438\", normalized: \"exit\" },\n        pick: { primary: \"\\u0432\\u0438\\u0431\\u0440\\u0430\\u0442\\u0438\", normalized: \"pick\" },\n        render: { primary: \"\\u0432\\u0456\\u0434\\u043E\\u0431\\u0440\\u0430\\u0437\\u0438\\u0442\\u0438\", normalized: \"render\" },\n        // Modifiers\n        into: { primary: \"\\u0432\", alternatives: [\"\\u0443\"], normalized: \"into\" },\n        before: { primary: \"\\u0434\\u043E\", alternatives: [\"\\u043F\\u0435\\u0440\\u0435\\u0434\"], normalized: \"before\" },\n        after: { primary: \"\\u043F\\u0456\\u0441\\u043B\\u044F\", normalized: \"after\" },\n        // Event modifiers\n        until: { primary: \"\\u043F\\u043E\\u043A\\u0438_\\u043D\\u0435\", normalized: \"until\" },\n        event: { primary: \"\\u043F\\u043E\\u0434\\u0456\\u044F\", normalized: \"event\" },\n        from: { primary: \"\\u0437\", alternatives: [\"\\u0432\\u0456\\u0434\", \"\\u0456\\u0437\"], normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-підключити`, `hx-наживо`, etc.\n        connect: {\n          primary: \"\\u043F\\u0456\\u0434\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u0438\",\n          alternatives: [\"\\u0437\\u02BC\\u0454\\u0434\\u043D\\u0430\\u0442\\u0438\", \"\\u043F\\u0456\\u0434\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u0438\\u0441\\u044F\"],\n          normalized: \"connect\"\n        },\n        stream: { primary: \"\\u0442\\u0440\\u0430\\u043D\\u0441\\u043B\\u044E\\u0432\\u0430\\u0442\\u0438\", alternatives: [\"\\u043F\\u043E\\u0442\\u0456\\u043A\", \"\\u0441\\u0442\\u0440\\u0456\\u043C\"], normalized: \"stream\" },\n        live: {\n          primary: \"\\u043D\\u0430\\u0436\\u0438\\u0432\\u043E\",\n          alternatives: [\"\\u0443-\\u043F\\u0440\\u044F\\u043C\\u043E\\u043C\\u0443-\\u0435\\u0444\\u0456\\u0440\\u0456\", \"\\u0432-\\u0440\\u0435\\u0436\\u0438\\u043C\\u0456-\\u0440\\u0435\\u0430\\u043B\\u044C\\u043D\\u043E\\u0433\\u043E-\\u0447\\u0430\\u0441\\u0443\", \"\\u0436\\u0438\\u0432\\u0438\\u0439\"],\n          normalized: \"live\"\n        },\n        socket: {\n          primary: \"\\u0441\\u043E\\u043A\\u0435\\u0442\",\n          alternatives: [\"\\u0433\\u043D\\u0456\\u0437\\u0434\\u043E\", \"websocket\", \"socket\"],\n          normalized: \"socket\"\n        },\n        // Reactive / realtime commands\n        // ASCII apostrophe (U+0027) — the Ukrainian tokenizer's letter class\n        // whitelists U+0027, not the typographic ʼ (U+02BC); `приєднати` is an\n        // apostrophe-free fallback.\n        bind: {\n          primary: \"\\u043F\\u0440\\u0438\\u0432'\\u044F\\u0437\\u0430\\u0442\\u0438\",\n          alternatives: [\"\\u0437\\u0432'\\u044F\\u0437\\u0430\\u0442\\u0438\", \"\\u043F\\u0440\\u0438\\u0454\\u0434\\u043D\\u0430\\u0442\\u0438\", \"bind\"],\n          normalized: \"bind\"\n        },\n        intercept: {\n          primary: \"\\u043F\\u0435\\u0440\\u0435\\u0445\\u043E\\u043F\\u0438\\u0442\\u0438\",\n          alternatives: [\"\\u043F\\u0435\\u0440\\u0435\\u0445\\u043E\\u043F\\u043B\\u0435\\u043D\\u043D\\u044F\", \"intercept\"],\n          normalized: \"intercept\"\n        },\n        worker: { primary: \"\\u0440\\u043E\\u0431\\u0456\\u0442\\u043D\\u0438\\u043A\", alternatives: [\"\\u0432\\u043E\\u0440\\u043A\\u0435\\u0440\", \"worker\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"\\u0434\\u0436\\u0435\\u0440\\u0435\\u043B\\u043E-\\u043F\\u043E\\u0434\\u0456\\u0439\"],\n          normalized: \"eventsource\"\n        }\n      },\n      eventHandler: {\n        keyword: { primary: \"\\u043F\\u0440\\u0438\", normalized: \"on\" },\n        sourceMarker: { primary: \"\\u043D\\u0430\", alternatives: [\"\\u0432\", \"\\u043F\\u0440\\u0438\"], position: \"before\" },\n        // Event marker: при (at/on/upon), used in SVO pattern\n        // Pattern: при [event] [verb] [patient] на [destination?]\n        // Example: при кліку перемкнути .active на #button\n        eventMarker: { primary: \"\\u043F\\u0440\\u0438\", position: \"before\" },\n        temporalMarkers: [\"\\u043A\\u043E\\u043B\\u0438\", \"\\u044F\\u043A\\u0449\\u043E\"]\n        // temporal conjunctions (when, if)\n      }\n    };\n  }\n});\n\n// src/generators/profiles/vietnamese.ts\nvar vietnamese_exports = {};\n__export(vietnamese_exports, {\n  vietnameseProfile: () => vietnameseProfile\n});\nvar vietnameseProfile;\nvar init_vietnamese = __esm({\n  \"src/generators/profiles/vietnamese.ts\"() {\n    \"use strict\";\n    vietnameseProfile = {\n      code: \"vi\",\n      name: \"Vietnamese\",\n      nativeName: \"Ti\\u1EBFng Vi\\u1EC7t\",\n      direction: \"ltr\",\n      script: \"latin\",\n      wordOrder: \"SVO\",\n      markingStrategy: \"preposition\",\n      usesSpaces: true,\n      // Vietnamese uses base/dictionary form for commands\n      defaultVerbForm: \"base\",\n      verb: {\n        position: \"start\",\n        subjectDrop: true\n      },\n      references: {\n        me: \"t\\xF4i\",\n        // \"I/me\"\n        it: \"n\\xF3\",\n        // \"it\"\n        you: \"b\\u1EA1n\",\n        // \"you\"\n        result: \"k\\u1EBFt qu\\u1EA3\",\n        event: \"s\\u1EF1 ki\\u1EC7n\",\n        target: \"m\\u1EE5c ti\\xEAu\",\n        body: \"body\"\n      },\n      possessive: {\n        marker: \"c\\u1EE7a\",\n        // Vietnamese uses \"của\" for possession (của tôi = my)\n        markerPosition: \"between\",\n        specialForms: {\n          me: \"c\\u1EE7a t\\xF4i\",\n          // \"my\"\n          it: \"c\\u1EE7a n\\xF3\",\n          // \"its\"\n          you: \"c\\u1EE7a b\\u1EA1n\"\n          // \"your\"\n        },\n        keywords: {\n          // Multi-word possessive phrases\n          // Note: These may require tokenizer support for multi-word recognition\n          \"c\\u1EE7a t\\xF4i\": \"me\",\n          // my\n          // The vi dict's `my` is the two-word 'của tôi', which the dot-notation\n          // transformer can't prefix onto `my.X` — those corpus heads stay literal\n          // English `my.textContent`. Recognize the passthrough so the possessive\n          // matcher can assemble the property-path (set-text/set-inner-html rows).\n          my: \"me\",\n          // untranslated dot-notation passthrough\n          \"c\\u1EE7a b\\u1EA1n\": \"you\",\n          // your (informal)\n          \"c\\u1EE7a anh\": \"you\",\n          // your (male speaker, formal)\n          \"c\\u1EE7a ch\\u1ECB\": \"you\",\n          // your (female speaker, formal)\n          \"c\\u1EE7a n\\xF3\": \"it\"\n          // its\n        }\n      },\n      roleMarkers: {\n        destination: { primary: \"v\\xE0o\", alternatives: [\"cho\", \"\\u0111\\u1EBFn\"], position: \"before\" },\n        source: { primary: \"t\\u1EEB\", alternatives: [\"kh\\u1ECFi\"], position: \"before\" },\n        patient: { primary: \"\", position: \"before\" },\n        style: { primary: \"v\\u1EDBi\", position: \"before\" }\n      },\n      keywords: {\n        // Class/Attribute operations\n        toggle: { primary: \"chuy\\u1EC3n \\u0111\\u1ED5i\", alternatives: [\"b\\u1EADt t\\u1EAFt\", \"chuy\\u1EC3n\"], normalized: \"toggle\" },\n        add: { primary: \"th\\xEAm\", alternatives: [\"b\\u1ED5 sung\"], normalized: \"add\" },\n        remove: { primary: \"x\\xF3a\", alternatives: [\"g\\u1EE1 b\\u1ECF\", \"lo\\u1EA1i b\\u1ECF\", \"b\\u1ECF\"], normalized: \"remove\" },\n        // Content operations\n        put: { primary: \"\\u0111\\u1EB7t\", alternatives: [\"\\u0111\\u1EC3\", \"\\u0111\\u01B0a\"], normalized: \"put\" },\n        append: { primary: \"n\\u1ED1i\", normalized: \"append\" },\n        prepend: { primary: \"th\\xEAm v\\xE0o \\u0111\\u1EA7u\", normalized: \"prepend\" },\n        take: { primary: \"l\\u1EA5y\", normalized: \"take\" },\n        make: { primary: \"t\\u1EA1o\", normalized: \"make\" },\n        clone: { primary: \"nh\\xE2n b\\u1EA3n\", normalized: \"clone\" },\n        swap: { primary: \"ho\\xE1n \\u0111\\u1ED5i\", normalized: \"swap\" },\n        morph: { primary: \"bi\\u1EBFn \\u0111\\u1ED5i\", normalized: \"morph\" },\n        // Variable operations\n        set: { primary: \"g\\xE1n\", alternatives: [\"thi\\u1EBFt l\\u1EADp\"], normalized: \"set\" },\n        get: { primary: \"l\\u1EA5y gi\\xE1 tr\\u1ECB\", alternatives: [\"nh\\u1EADn\"], normalized: \"get\" },\n        increment: { primary: \"t\\u0103ng\", alternatives: [\"t\\u0103ng l\\xEAn\"], normalized: \"increment\" },\n        decrement: { primary: \"gi\\u1EA3m\", alternatives: [\"gi\\u1EA3m \\u0111i\"], normalized: \"decrement\" },\n        log: { primary: \"in ra\", normalized: \"log\" },\n        // Visibility\n        show: { primary: \"hi\\u1EC3n th\\u1ECB\", alternatives: [\"hi\\u1EC7n\"], normalized: \"show\" },\n        hide: { primary: \"\\u1EA9n\", alternatives: [\"che\", \"gi\\u1EA5u\"], normalized: \"hide\" },\n        transition: { primary: \"chuy\\u1EC3n ti\\u1EBFp\", normalized: \"transition\" },\n        // Events\n        on: { primary: \"khi\", alternatives: [\"tr\\xEAn\"], normalized: \"on\" },\n        trigger: { primary: \"k\\xEDch ho\\u1EA1t\", normalized: \"trigger\" },\n        send: { primary: \"g\\u1EEDi\", normalized: \"send\" },\n        // DOM focus\n        focus: { primary: \"t\\u1EADp trung\", normalized: \"focus\" },\n        blur: { primary: \"m\\u1EA5t t\\u1EADp trung\", normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"l\\xE0m-r\\u1ED7ng\", alternatives: [\"tr\\u1ED1ng\"], normalized: \"empty\" },\n        open: { primary: \"m\\u1EDF\", normalized: \"open\" },\n        close: { primary: \"\\u0111\\xF3ng\", normalized: \"close\" },\n        select: { primary: \"\\u0111\\xE1nh-d\\u1EA5u\", normalized: \"select\" },\n        clear: { primary: \"t\\u1EA9y\", normalized: \"clear\" },\n        reset: { primary: \"\\u0111\\u1EB7t-l\\u1EA1i\", normalized: \"reset\" },\n        breakpoint: { primary: \"\\u0111i\\u1EC3m-d\\u1EEBng\", normalized: \"breakpoint\" },\n        // Common event names (for event handler patterns)\n        click: { primary: \"nh\\u1EA5p\", alternatives: [\"b\\u1EA5m\"], normalized: \"click\" },\n        hover: { primary: \"di chu\\u1ED9t\", alternatives: [\"r\\xEA chu\\u1ED9t\"], normalized: \"hover\" },\n        submit: { primary: \"n\\u1ED9p\", alternatives: [], normalized: \"submit\" },\n        input: { primary: \"nh\\u1EADp\", alternatives: [\"nh\\u1EADp li\\u1EC7u\"], normalized: \"input\" },\n        change: { primary: \"thay \\u0111\\u1ED5i\", alternatives: [\"\\u0111\\u1ED5i\"], normalized: \"change\" },\n        // Navigation\n        go: { primary: \"\\u0111i \\u0111\\u1EBFn\", alternatives: [\"\\u0111i\"], normalized: \"go\" },\n        scroll: { primary: \"cu\\u1ED9n\", normalized: \"scroll\" },\n        push: { primary: \"\\u0111\\u1EA9y\", alternatives: [\"push\"], normalized: \"push\" },\n        replace: { primary: \"thay_th\\u1EBF\", alternatives: [\"thay_the\"], normalized: \"replace\" },\n        process: { primary: \"x\\u1EED_l\\xFD\", alternatives: [\"xu_ly\"], normalized: \"process\" },\n        // Async\n        wait: { primary: \"ch\\u1EDD\", alternatives: [\"\\u0111\\u1EE3i\", \"ch\\u1EDD \\u0111\\u1EE3i\"], normalized: \"wait\" },\n        fetch: { primary: \"t\\u1EA3i\", normalized: \"fetch\" },\n        settle: { primary: \"\\u1ED5n \\u0111\\u1ECBnh\", normalized: \"settle\" },\n        // Control flow\n        if: { primary: \"n\\u1EBFu\", normalized: \"if\" },\n        // Spaced phrase (`trừ khi`) — what the i18n dict + transformer emit; the\n        // BaseTokenizer's multi-word matcher catches it longest-first so the trailing\n        // `khi` (=on/when) is not mistaken for a second event handler. The underscore\n        // form is kept as an alternative for any caller that pre-joins the phrase.\n        unless: { primary: \"tr\\u1EEB khi\", alternatives: [\"tr\\u1EEB_khi\"], normalized: \"unless\" },\n        when: { primary: \"l\\xFAc\", normalized: \"when\" },\n        where: { primary: \"\\u1EDF_\\u0111\\xE2u\", normalized: \"where\" },\n        else: { primary: \"kh\\xF4ng th\\xEC\", alternatives: [\"n\\u1EBFu kh\\xF4ng\"], normalized: \"else\" },\n        repeat: { primary: \"l\\u1EB7p l\\u1EA1i\", normalized: \"repeat\" },\n        for: { primary: \"v\\u1EDBi m\\u1ED7i\", normalized: \"for\" },\n        while: { primary: \"trong khi\", normalized: \"while\" },\n        // `repeat forever` loop keyword — corpus word recognized so loopType types\n        // as `:literal` like EN (the repeat.loopType R1 residue; see spanish.ts).\n        forever: { primary: \"m\\xE3i m\\xE3i\", normalized: \"forever\", alternatives: [\"forever\"] },\n        continue: { primary: \"ti\\u1EBFp t\\u1EE5c\", normalized: \"continue\" },\n        halt: { primary: \"d\\u1EEBng\", alternatives: [\"d\\u1EEBng l\\u1EA1i\"], normalized: \"halt\" },\n        throw: { primary: \"n\\xE9m\", normalized: \"throw\" },\n        call: { primary: \"g\\u1ECDi\", normalized: \"call\" },\n        return: { primary: \"tr\\u1EA3 v\\u1EC1\", normalized: \"return\" },\n        then: { primary: \"r\\u1ED3i\", alternatives: [\"sau \\u0111\\xF3\", \"th\\xEC\"], normalized: \"then\" },\n        and: { primary: \"v\\xE0\", normalized: \"and\" },\n        end: { primary: \"k\\u1EBFt th\\xFAc\", normalized: \"end\" },\n        // Advanced\n        js: { primary: \"js\", normalized: \"js\" },\n        async: { primary: \"b\\u1EA5t \\u0111\\u1ED3ng b\\u1ED9\", normalized: \"async\" },\n        tell: { primary: \"n\\xF3i v\\u1EDBi\", normalized: \"tell\" },\n        default: { primary: \"m\\u1EB7c \\u0111\\u1ECBnh\", normalized: \"default\" },\n        init: { primary: \"kh\\u1EDFi t\\u1EA1o\", normalized: \"init\" },\n        behavior: { primary: \"h\\xE0nh vi\", normalized: \"behavior\" },\n        install: { primary: \"c\\xE0i \\u0111\\u1EB7t\", normalized: \"install\" },\n        measure: { primary: \"\\u0111o l\\u01B0\\u1EDDng\", normalized: \"measure\" },\n        beep: { primary: \"beep\", normalized: \"beep\" },\n        break: { primary: \"ng\\u1EAFt\", normalized: \"break\" },\n        copy: { primary: \"sao ch\\xE9p\", normalized: \"copy\" },\n        exit: { primary: \"tho\\xE1t\", alternatives: [\"tho\\xE1t ra\"], normalized: \"exit\" },\n        pick: { primary: \"ch\\u1ECDn\", normalized: \"pick\" },\n        render: { primary: \"k\\u1EBFt xu\\u1EA5t\", normalized: \"render\" },\n        // Modifiers\n        into: { primary: \"v\\xE0o\", alternatives: [\"v\\xE0o trong\"], normalized: \"into\" },\n        before: { primary: \"tr\\u01B0\\u1EDBc\", alternatives: [\"tr\\u01B0\\u1EDBc khi\"], normalized: \"before\" },\n        after: { primary: \"sau\", alternatives: [\"sau khi\"], normalized: \"after\" },\n        // Event modifiers\n        until: { primary: \"cho \\u0111\\u1EBFn khi\", normalized: \"until\" },\n        event: { primary: \"s\\u1EF1 ki\\u1EC7n\", normalized: \"event\" },\n        from: { primary: \"t\\u1EEB\", alternatives: [\"kh\\u1ECFi\"], normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-kết-nối`, `hx-trực-tiếp`, etc.\n        // Vietnamese multi-word forms are hyphenated for single-token HTML\n        // attribute suffixes (diacritics preserved).\n        // `nối` is reserved as `append` primary — connect uses the compound form only.\n        connect: { primary: \"k\\u1EBFt-n\\u1ED1i\", alternatives: [\"k\\u1EBFt-n\\u1ED1i-t\\u1EDBi\"], normalized: \"connect\" },\n        stream: { primary: \"truy\\u1EC1n-ph\\xE1t\", alternatives: [\"ph\\xE1t\", \"lu\\u1ED3ng\"], normalized: \"stream\" },\n        live: { primary: \"tr\\u1EF1c-ti\\u1EBFp\", alternatives: [\"ph\\xE1t-tr\\u1EF1c-ti\\u1EBFp\", \"live\"], normalized: \"live\" },\n        socket: { primary: \"socket\", alternatives: [\"\\u1ED5-c\\u1EAFm\", \"websocket\"], normalized: \"socket\" },\n        // Reactive / realtime commands\n        bind: { primary: \"r\\xE0ng bu\\u1ED9c\", alternatives: [\"li\\xEAn k\\u1EBFt\", \"bind\"], normalized: \"bind\" },\n        intercept: {\n          primary: \"ch\\u1EB7n\",\n          alternatives: [\"ch\\u1EB7n b\\u1EAFt\", \"intercept\"],\n          normalized: \"intercept\"\n        },\n        worker: { primary: \"worker\", alternatives: [\"c\\xF4ng nh\\xE2n\"], normalized: \"worker\" },\n        eventsource: {\n          primary: \"eventsource\",\n          alternatives: [\"ngu\\u1ED3n s\\u1EF1 ki\\u1EC7n\"],\n          normalized: \"eventsource\"\n        }\n      },\n      eventHandler: {\n        keyword: { primary: \"khi\", alternatives: [\"tr\\xEAn\"], normalized: \"on\" },\n        sourceMarker: { primary: \"tr\\xEAn\", alternatives: [\"t\\u1EA1i\"], position: \"before\" },\n        // Event marker: khi (when), used in SVO pattern\n        // Pattern: khi [event] [verb] [patient] vào [destination?]\n        // Example: khi nhấp chuyển đổi .active vào #button\n        eventMarker: { primary: \"khi\", alternatives: [\"l\\xFAc\"], position: \"before\" },\n        temporalMarkers: [\"khi\", \"l\\xFAc\"]\n        // temporal conjunctions (when)\n      }\n    };\n  }\n});\n\n// src/generators/profiles/chinese.ts\nvar chinese_exports = {};\n__export(chinese_exports, {\n  chineseProfile: () => chineseProfile\n});\nvar chineseProfile;\nvar init_chinese = __esm({\n  \"src/generators/profiles/chinese.ts\"() {\n    \"use strict\";\n    chineseProfile = {\n      code: \"zh\",\n      name: \"Chinese\",\n      nativeName: \"\\u4E2D\\u6587\",\n      regions: [\"east-asian\", \"priority\"],\n      direction: \"ltr\",\n      script: \"cjk\",\n      wordOrder: \"SVO\",\n      markingStrategy: \"preposition\",\n      // Uses prepositions but often implicit\n      usesSpaces: false,\n      verb: {\n        position: \"second\",\n        subjectDrop: true\n      },\n      references: {\n        me: \"\\u6211\",\n        // \"I/me\"\n        it: \"\\u5B83\",\n        // \"it\"\n        you: \"\\u4F60\",\n        // \"you\"\n        result: \"\\u7ED3\\u679C\",\n        event: \"\\u4E8B\\u4EF6\",\n        target: \"\\u76EE\\u6807\",\n        body: \"\\u4E3B\\u4F53\"\n      },\n      possessive: {\n        marker: \"\\u7684\",\n        // Possessive particle (de)\n        markerPosition: \"between\",\n        // Chinese: 我的 value (wǒ de value) = \"my value\"\n        keywords: {\n          // Compound possessive forms (pronoun + 的)\n          \\u6211\\u7684: \"me\",\n          // wǒ de (my)\n          \\u4F60\\u7684: \"you\",\n          // nǐ de (your)\n          \\u5B83\\u7684: \"it\",\n          // tā de (its)\n          \\u4ED6\\u7684: \"it\",\n          // tā de (his)\n          \\u5979\\u7684: \"it\"\n          // tā de (her)\n        }\n      },\n      roleMarkers: {\n        destination: { primary: \"\\u5728\", alternatives: [\"\\u5230\", \"\\u4E8E\"], position: \"before\" },\n        source: { primary: \"\\u4ECE\", alternatives: [\"\\u7531\"], position: \"before\" },\n        patient: { primary: \"\\u628A\", position: \"before\" },\n        // BA construction\n        style: { primary: \"\\u7528\", alternatives: [\"\\u4EE5\"], position: \"before\" }\n      },\n      keywords: {\n        // Class/Attribute operations\n        toggle: { primary: \"\\u5207\\u6362\", normalized: \"toggle\" },\n        add: { primary: \"\\u6DFB\\u52A0\", alternatives: [\"\\u52A0\"], normalized: \"add\" },\n        remove: { primary: \"\\u79FB\\u9664\", alternatives: [\"\\u5220\\u9664\", \"\\u53BB\\u6389\"], normalized: \"remove\" },\n        // Content operations\n        put: { primary: \"\\u653E\\u7F6E\", alternatives: [\"\\u653E\", \"\\u653E\\u5165\"], normalized: \"put\" },\n        append: { primary: \"\\u8FFD\\u52A0\", alternatives: [\"\\u9644\\u52A0\"], normalized: \"append\" },\n        prepend: { primary: \"\\u524D\\u7F6E\", alternatives: [\"\\u9884\\u7F6E\"], normalized: \"prepend\" },\n        take: { primary: \"\\u62FF\\u53D6\", normalized: \"take\" },\n        make: { primary: \"\\u5236\\u4F5C\", normalized: \"make\" },\n        clone: { primary: \"\\u514B\\u9686\", normalized: \"clone\" },\n        swap: { primary: \"\\u4EA4\\u6362\", normalized: \"swap\" },\n        morph: { primary: \"\\u53D8\\u5F62\", alternatives: [\"\\u8F6C\\u6362\"], normalized: \"morph\" },\n        // Variable operations\n        set: { primary: \"\\u8BBE\\u7F6E\", alternatives: [\"\\u8BBE\\u5B9A\"], normalized: \"set\" },\n        get: { primary: \"\\u83B7\\u53D6\", alternatives: [\"\\u83B7\\u5F97\", \"\\u53D6\\u5F97\"], normalized: \"get\" },\n        increment: { primary: \"\\u589E\\u52A0\", normalized: \"increment\" },\n        decrement: { primary: \"\\u51CF\\u5C11\", normalized: \"decrement\" },\n        log: { primary: \"\\u65E5\\u5FD7\", normalized: \"log\" },\n        // Visibility\n        show: { primary: \"\\u663E\\u793A\", alternatives: [\"\\u5C55\\u793A\"], normalized: \"show\" },\n        hide: { primary: \"\\u9690\\u85CF\", normalized: \"hide\" },\n        transition: { primary: \"\\u8FC7\\u6E21\", normalized: \"transition\" },\n        // Events\n        on: { primary: \"\\u5F53\", alternatives: [\"\\u5728...\\u65F6\"], normalized: \"on\" },\n        trigger: { primary: \"\\u89E6\\u53D1\", normalized: \"trigger\" },\n        send: { primary: \"\\u53D1\\u9001\", normalized: \"send\" },\n        // DOM focus\n        focus: { primary: \"\\u805A\\u7126\", normalized: \"focus\" },\n        blur: { primary: \"\\u5931\\u7126\", normalized: \"blur\" },\n        // Phase 1 (v0.9.90): DOM / form state / debug\n        empty: { primary: \"\\u6E05\\u7A7A\", alternatives: [\"\\u7A7A\\u7684\"], normalized: \"empty\" },\n        open: { primary: \"\\u6253\\u5F00\", normalized: \"open\" },\n        close: { primary: \"\\u5173\\u95ED\", normalized: \"close\" },\n        select: { primary: \"\\u9009\\u62E9\", normalized: \"select\" },\n        clear: { primary: \"\\u6E05\\u9664\", normalized: \"clear\" },\n        reset: { primary: \"\\u91CD\\u7F6E\", normalized: \"reset\" },\n        breakpoint: { primary: \"\\u65AD\\u70B9\", normalized: \"breakpoint\" },\n        // Common event names (for event handler patterns)\n        click: { primary: \"\\u70B9\\u51FB\", normalized: \"click\" },\n        hover: { primary: \"\\u60AC\\u505C\", alternatives: [\"\\u60AC\\u6D6E\"], normalized: \"hover\" },\n        submit: { primary: \"\\u63D0\\u4EA4\", normalized: \"submit\" },\n        input: { primary: \"\\u8F93\\u5165\", normalized: \"input\" },\n        change: { primary: \"\\u6539\\u53D8\", alternatives: [\"\\u53D8\\u5316\"], normalized: \"change\" },\n        // Navigation\n        go: { primary: \"\\u524D\\u5F80\", normalized: \"go\" },\n        scroll: { primary: \"\\u6EDA\\u52A8\", normalized: \"scroll\" },\n        push: { primary: \"\\u63A8\\u9001\", normalized: \"push\" },\n        replace: { primary: \"\\u66FF\\u6362\", normalized: \"replace\" },\n        process: { primary: \"\\u5904\\u7406\", normalized: \"process\" },\n        // Async\n        wait: { primary: \"\\u7B49\\u5F85\", normalized: \"wait\" },\n        fetch: { primary: \"\\u6293\\u53D6\", normalized: \"fetch\" },\n        settle: { primary: \"\\u7A33\\u5B9A\", normalized: \"settle\" },\n        // Control flow\n        if: { primary: \"\\u5982\\u679C\", normalized: \"if\" },\n        unless: { primary: \"\\u9664\\u975E\", normalized: \"unless\" },\n        when: { primary: \"\\u4F55\\u65F6\", normalized: \"when\" },\n        where: { primary: \"\\u54EA\\u91CC\", normalized: \"where\" },\n        else: { primary: \"\\u5426\\u5219\", normalized: \"else\" },\n        // `matches` is a comparison operator (core territory), so it had always\n        // tokenized as a bare identifier. The folded condition raw is read by the\n        // core expression parser (English operators only), so `target 匹配 .x` must\n        // normalize to `target matches .x`; otherwise `匹配` stays an identifier and\n        // modal-close-backdrop drops its then-branch at runtime. `匹配` appears in\n        // exactly two corpus patterns (modal-close-backdrop, focus-trap), both as\n        // the comparison operator — no non-operator collision (cf. §7r ko/ru/uk).\n        matches: { primary: \"\\u5339\\u914D\", normalized: \"matches\" },\n        repeat: { primary: \"\\u91CD\\u590D\", normalized: \"repeat\" },\n        for: { primary: \"\\u4E3A\", normalized: \"for\" },\n        while: { primary: \"\\u6301\\u7EED\", normalized: \"while\" },\n        continue: { primary: \"\\u7EE7\\u7EED\", normalized: \"continue\" },\n        halt: { primary: \"\\u505C\\u6B62\", normalized: \"halt\" },\n        throw: { primary: \"\\u629B\\u51FA\", normalized: \"throw\" },\n        call: { primary: \"\\u8C03\\u7528\", normalized: \"call\" },\n        return: { primary: \"\\u8FD4\\u56DE\", normalized: \"return\" },\n        then: { primary: \"\\u7136\\u540E\", alternatives: [\"\\u63A5\\u7740\", \"\\u90A3\\u4E48\"], normalized: \"then\" },\n        and: { primary: \"\\u5E76\\u4E14\", alternatives: [\"\\u548C\", \"\\u800C\\u4E14\"], normalized: \"and\" },\n        end: { primary: \"\\u7ED3\\u675F\", alternatives: [\"\\u7EC8\\u6B62\", \"\\u5B8C\"], normalized: \"end\" },\n        // Advanced\n        js: { primary: \"JS\\u6267\\u884C\", alternatives: [\"js\"], normalized: \"js\" },\n        async: { primary: \"\\u5F02\\u6B65\", normalized: \"async\" },\n        tell: { primary: \"\\u544A\\u8BC9\", normalized: \"tell\" },\n        default: { primary: \"\\u9ED8\\u8BA4\", normalized: \"default\" },\n        init: { primary: \"\\u521D\\u59CB\\u5316\", normalized: \"init\" },\n        behavior: { primary: \"\\u884C\\u4E3A\", normalized: \"behavior\" },\n        install: { primary: \"\\u5B89\\u88C5\", normalized: \"install\" },\n        measure: { primary: \"\\u6D4B\\u91CF\", normalized: \"measure\" },\n        beep: { primary: \"\\u8702\\u9E23\", normalized: \"beep\" },\n        break: { primary: \"\\u4E2D\\u65AD\", normalized: \"break\" },\n        copy: { primary: \"\\u590D\\u5236\", normalized: \"copy\" },\n        exit: { primary: \"\\u9000\\u51FA\", normalized: \"exit\" },\n        pick: { primary: \"\\u9009\\u53D6\", normalized: \"pick\" },\n        render: { primary: \"\\u6E32\\u67D3\", normalized: \"render\" },\n        // Modifiers\n        into: { primary: \"\\u8FDB\\u5165\", normalized: \"into\" },\n        before: { primary: \"\\u4E4B\\u524D\", normalized: \"before\" },\n        after: { primary: \"\\u4E4B\\u540E\", normalized: \"after\" },\n        // Event modifiers (for repeat until event)\n        until: { primary: \"\\u76F4\\u5230\", normalized: \"until\" },\n        event: { primary: \"\\u4E8B\\u4EF6\", normalized: \"event\" },\n        from: { primary: \"\\u4ECE\", normalized: \"from\" },\n        // Phase 8 (htmx v4 localized attributes): attribute-suffix keywords\n        // used by the vocab generator — `sse-连接`, `hx-实时`, etc.\n        connect: { primary: \"\\u8FDE\\u63A5\", alternatives: [\"\\u8FDE\\u63A5\\u5668\"], normalized: \"connect\" },\n        stream: { primary: \"\\u6D41\", alternatives: [\"\\u6D41\\u5F0F\\u4F20\\u8F93\"], normalized: \"stream\" },\n        live: { primary: \"\\u5B9E\\u65F6\", alternatives: [\"\\u76F4\\u64AD\"], normalized: \"live\" },\n        socket: { primary: \"\\u5957\\u63A5\\u5B57\", alternatives: [\"websocket\", \"socket\"], normalized: \"socket\" },\n        // Reactive / realtime commands\n        bind: { primary: \"\\u7ED1\\u5B9A\", alternatives: [\"bind\"], normalized: \"bind\" },\n        intercept: { primary: \"\\u62E6\\u622A\", alternatives: [\"intercept\"], normalized: \"intercept\" },\n        worker: { primary: \"\\u5DE5\\u4F5C\\u7EBF\\u7A0B\", alternatives: [\"\\u5DE5\\u4F5C\\u8005\", \"worker\"], normalized: \"worker\" },\n        eventsource: { primary: \"eventsource\", alternatives: [\"\\u4E8B\\u4EF6\\u6E90\"], normalized: \"eventsource\" }\n      },\n      tokenization: {\n        boundaryStrategy: \"character\"\n      },\n      eventHandler: {\n        keyword: { primary: \"\\u5F53\", alternatives: [\"\\u5728...\\u65F6\"], normalized: \"on\" },\n        sourceMarker: { primary: \"\\u4ECE\", position: \"before\" },\n        // Event marker: 当 (when), used in SVO pattern\n        // Pattern: 当 [event] [verb] [patient] 在 [destination?]\n        // Example: 当 点击 切换 .active 在 #button\n        eventMarker: { primary: \"\\u5F53\", alternatives: [\"\\u5728\"], position: \"before\" },\n        temporalMarkers: [\"\\u5F53\", \"\\u5728...\\u65F6\"]\n        // temporal conjunctions (when)\n      }\n    };\n  }\n});\n\n// src/generators/schema-error-codes.ts\nfunction interpolate(template, params) {\n  return template.replace(/\\{(\\w+)\\}/g, (_, key) => String(params[key] ?? `{${key}}`));\n}\nfunction createSchemaValidationItem(code, severity, params = {}, role) {\n  const messageTemplate = SchemaErrorMessages[code];\n  const message = interpolate(messageTemplate, params);\n  const suggestionTemplate = SchemaErrorSuggestions[code];\n  const suggestion = suggestionTemplate ? interpolate(suggestionTemplate, params) : void 0;\n  return {\n    code,\n    message,\n    severity,\n    ...role && { role },\n    ...suggestion && { suggestion }\n  };\n}\nvar SchemaErrorCodes, SchemaErrorMessages, SchemaErrorSuggestions;\nvar init_schema_error_codes = __esm({\n  \"src/generators/schema-error-codes.ts\"() {\n    \"use strict\";\n    SchemaErrorCodes = {\n      // Type ambiguity issues\n      AMBIGUOUS_TYPE_LITERAL_SELECTOR: \"SCHEMA_AMBIGUOUS_TYPE_LITERAL_SELECTOR\",\n      TOO_MANY_EXPECTED_TYPES: \"SCHEMA_TOO_MANY_EXPECTED_TYPES\",\n      MULTI_TYPE_PATIENT_EXPECTED: \"SCHEMA_MULTI_TYPE_PATIENT_EXPECTED\",\n      // Role issues\n      NO_REQUIRED_ROLES: \"SCHEMA_NO_REQUIRED_ROLES\",\n      NO_REQUIRED_ROLES_EXPECTED: \"SCHEMA_NO_REQUIRED_ROLES_EXPECTED\",\n      // Transition command\n      TRANSITION_PATIENT_ACCEPTS_SELECTOR: \"SCHEMA_TRANSITION_PATIENT_ACCEPTS_SELECTOR\",\n      TRANSITION_MISSING_GOAL: \"SCHEMA_TRANSITION_MISSING_GOAL\",\n      // Event handler command\n      EVENT_HANDLER_MISSING_EVENT: \"SCHEMA_EVENT_HANDLER_MISSING_EVENT\",\n      EVENT_HANDLER_EVENT_NOT_REQUIRED: \"SCHEMA_EVENT_HANDLER_EVENT_NOT_REQUIRED\",\n      // Conditional commands\n      CONDITIONAL_MISSING_CONDITION: \"SCHEMA_CONDITIONAL_MISSING_CONDITION\",\n      CONDITIONAL_CONDITION_NOT_REQUIRED: \"SCHEMA_CONDITIONAL_CONDITION_NOT_REQUIRED\",\n      // Loop commands\n      FOR_LOOP_MISSING_SOURCE: \"SCHEMA_FOR_LOOP_MISSING_SOURCE\",\n      WHILE_LOOP_MISSING_CONDITION: \"SCHEMA_WHILE_LOOP_MISSING_CONDITION\",\n      // Type constraint issues (v1.2)\n      VALUE_TYPE_MISMATCH: \"SCHEMA_VALUE_TYPE_MISMATCH\",\n      SELECTOR_KIND_MISMATCH: \"SCHEMA_SELECTOR_KIND_MISMATCH\",\n      SELECTOR_KINDS_WITHOUT_SELECTOR_TYPE: \"SCHEMA_SELECTOR_KINDS_WITHOUT_SELECTOR_TYPE\",\n      // Keyword collision\n      KEYWORD_COLLISION: \"PROFILE_KEYWORD_COLLISION\"\n    };\n    SchemaErrorMessages = {\n      // Type ambiguity\n      [SchemaErrorCodes.AMBIGUOUS_TYPE_LITERAL_SELECTOR]: \"Role '{role}' accepts both 'literal' and 'selector'. This may cause ambiguous type inference for values starting with special characters (* . # etc.).\",\n      [SchemaErrorCodes.TOO_MANY_EXPECTED_TYPES]: \"Role '{role}' accepts {count} different types. This may make type inference unreliable.\",\n      [SchemaErrorCodes.MULTI_TYPE_PATIENT_EXPECTED]: \"Role '{role}' accepts multiple types (expected for {command} command).\",\n      // Role issues\n      [SchemaErrorCodes.NO_REQUIRED_ROLES]: \"Command has no required roles. Is this intentional?\",\n      [SchemaErrorCodes.NO_REQUIRED_ROLES_EXPECTED]: \"Command has no required roles (expected for {command}).\",\n      // Transition\n      [SchemaErrorCodes.TRANSITION_PATIENT_ACCEPTS_SELECTOR]: \"Transition command 'patient' role (CSS property name) should only accept 'literal', not 'selector'. CSS property names like 'background-color' are strings, not CSS selectors.\",\n      [SchemaErrorCodes.TRANSITION_MISSING_GOAL]: \"Transition command requires a 'goal' role for the target value (to <value>). Without it, there's no way to specify what value to transition to.\",\n      // Event handler\n      [SchemaErrorCodes.EVENT_HANDLER_MISSING_EVENT]: \"Event handler command should have an 'event' role to specify which event to listen for.\",\n      [SchemaErrorCodes.EVENT_HANDLER_EVENT_NOT_REQUIRED]: \"Event role should be required - every event handler needs an event to listen for.\",\n      // Conditionals\n      [SchemaErrorCodes.CONDITIONAL_MISSING_CONDITION]: \"Conditional command should have a 'condition' role for the boolean expression.\",\n      [SchemaErrorCodes.CONDITIONAL_CONDITION_NOT_REQUIRED]: \"Condition role should be required - conditionals need a condition to evaluate.\",\n      // Loops\n      [SchemaErrorCodes.FOR_LOOP_MISSING_SOURCE]: \"For-loop should have a 'source' role for the collection to iterate over.\",\n      [SchemaErrorCodes.WHILE_LOOP_MISSING_CONDITION]: \"While-loop should have a 'condition' role for the loop condition.\",\n      // Type constraint (v1.2)\n      [SchemaErrorCodes.VALUE_TYPE_MISMATCH]: \"Role '{role}' of command '{command}' expects type [{expectedTypes}], got '{actualType}'.\",\n      [SchemaErrorCodes.SELECTOR_KIND_MISMATCH]: \"Role '{role}' of command '{command}' expects selector kind [{selectorKinds}], got '{actualKind}'.\",\n      [SchemaErrorCodes.SELECTOR_KINDS_WITHOUT_SELECTOR_TYPE]: \"Role '{role}' has selectorKinds but expectedTypes does not include 'selector'.\",\n      // Keyword collision\n      [SchemaErrorCodes.KEYWORD_COLLISION]: \"Keyword '{keyword}' is used by multiple commands: {commands}. Only the first-registered command will be reachable.\"\n    };\n    SchemaErrorSuggestions = {\n      [SchemaErrorCodes.AMBIGUOUS_TYPE_LITERAL_SELECTOR]: \"Consider being more specific about which type is expected, or use explicit type markers.\",\n      [SchemaErrorCodes.TOO_MANY_EXPECTED_TYPES]: \"Consider narrowing the accepted types to improve type inference reliability.\",\n      [SchemaErrorCodes.TRANSITION_PATIENT_ACCEPTS_SELECTOR]: \"Remove 'selector' from expectedTypes and only accept 'literal'.\",\n      [SchemaErrorCodes.TRANSITION_MISSING_GOAL]: \"Add a 'goal' role with expectedTypes ['literal', 'variable'].\",\n      [SchemaErrorCodes.EVENT_HANDLER_MISSING_EVENT]: \"Add an 'event' role with expectedTypes ['literal'].\",\n      [SchemaErrorCodes.EVENT_HANDLER_EVENT_NOT_REQUIRED]: \"Set required: true on the 'event' role.\",\n      [SchemaErrorCodes.CONDITIONAL_MISSING_CONDITION]: \"Add a 'condition' role with expectedTypes ['expression'].\",\n      [SchemaErrorCodes.CONDITIONAL_CONDITION_NOT_REQUIRED]: \"Set required: true on the 'condition' role.\",\n      [SchemaErrorCodes.FOR_LOOP_MISSING_SOURCE]: \"Add a 'source' role for the collection to iterate over.\",\n      [SchemaErrorCodes.WHILE_LOOP_MISSING_CONDITION]: \"Add a 'condition' role for the loop continuation condition.\",\n      [SchemaErrorCodes.VALUE_TYPE_MISMATCH]: \"Ensure the value matches one of the expected types: [{expectedTypes}].\",\n      [SchemaErrorCodes.SELECTOR_KIND_MISMATCH]: \"Use a selector of the correct kind: [{selectorKinds}].\",\n      [SchemaErrorCodes.SELECTOR_KINDS_WITHOUT_SELECTOR_TYPE]: \"Either add 'selector' to expectedTypes or remove selectorKinds.\",\n      [SchemaErrorCodes.KEYWORD_COLLISION]: \"Give each command a unique keyword. Move the shared keyword to alternatives on one command, or use a more specific translation.\"\n    };\n  }\n});\n\n// src/generators/schema-validator.ts\nvar schema_validator_exports = {};\n__export(schema_validator_exports, {\n  SchemaErrorCodes: () => SchemaErrorCodes,\n  formatValidationResults: () => formatValidationResults,\n  getValidationStats: () => getValidationStats,\n  validateAllKeywordCollisions: () => validateAllKeywordCollisions,\n  validateAllSchemas: () => validateAllSchemas,\n  validateCommandSchema: () => validateCommandSchema,\n  validateKeywordCollisions: () => validateKeywordCollisions,\n  validateRoleValues: () => validateRoleValues\n});\nfunction createValidationResult(action, items) {\n  return { action, items };\n}\nfunction validateCommandSchema(schema) {\n  const items = [];\n  for (const role of schema.roles) {\n    if (role.expectedTypes.includes(\"literal\") && role.expectedTypes.includes(\"selector\")) {\n      if (role.role === \"patient\" && MULTI_TYPE_PATIENT_COMMANDS.has(schema.action)) {\n        items.push(\n          createSchemaValidationItem(\n            SchemaErrorCodes.MULTI_TYPE_PATIENT_EXPECTED,\n            \"note\",\n            { role: role.role, command: schema.action },\n            role.role\n          )\n        );\n      } else {\n        items.push(\n          createSchemaValidationItem(\n            SchemaErrorCodes.AMBIGUOUS_TYPE_LITERAL_SELECTOR,\n            \"warning\",\n            { role: role.role },\n            role.role\n          )\n        );\n      }\n    }\n    if (role.expectedTypes.length > 3 && !MULTI_TYPE_PATIENT_COMMANDS.has(schema.action)) {\n      items.push(\n        createSchemaValidationItem(\n          SchemaErrorCodes.TOO_MANY_EXPECTED_TYPES,\n          \"warning\",\n          { role: role.role, count: role.expectedTypes.length },\n          role.role\n        )\n      );\n    }\n  }\n  for (const role of schema.roles) {\n    if (role.selectorKinds && role.selectorKinds.length > 0) {\n      if (!role.expectedTypes.includes(\"selector\")) {\n        items.push(\n          createSchemaValidationItem(\n            SchemaErrorCodes.SELECTOR_KINDS_WITHOUT_SELECTOR_TYPE,\n            \"warning\",\n            { role: role.role },\n            role.role\n          )\n        );\n      }\n    }\n  }\n  switch (schema.action) {\n    case \"transition\":\n      validateTransitionSchema(schema, items);\n      break;\n    case \"on\":\n      validateEventHandlerSchema(schema, items);\n      break;\n    case \"if\":\n    case \"unless\":\n      validateConditionalSchema(schema, items);\n      break;\n    case \"repeat\":\n    case \"for\":\n    case \"while\":\n      validateLoopSchema(schema, items);\n      break;\n  }\n  const requiredRoles = schema.roles.filter((r) => r.required);\n  if (requiredRoles.length === 0) {\n    if (NO_REQUIRED_ROLES_COMMANDS.has(schema.action)) {\n      items.push(\n        createSchemaValidationItem(SchemaErrorCodes.NO_REQUIRED_ROLES_EXPECTED, \"note\", {\n          command: schema.action\n        })\n      );\n    } else {\n      items.push(createSchemaValidationItem(SchemaErrorCodes.NO_REQUIRED_ROLES, \"warning\", {}));\n    }\n  }\n  return createValidationResult(schema.action, items);\n}\nfunction validateTransitionSchema(schema, items) {\n  const patientRole = schema.roles.find((r) => r.role === \"patient\");\n  const goalRole = schema.roles.find((r) => r.role === \"goal\");\n  if (patientRole && !goalRole) {\n    items.push(createSchemaValidationItem(SchemaErrorCodes.TRANSITION_MISSING_GOAL, \"error\", {}));\n  }\n}\nfunction validateEventHandlerSchema(schema, items) {\n  const eventRole = schema.roles.find((r) => r.role === \"event\");\n  if (!eventRole) {\n    items.push(\n      createSchemaValidationItem(SchemaErrorCodes.EVENT_HANDLER_MISSING_EVENT, \"warning\", {})\n    );\n  }\n  if (eventRole && !eventRole.required) {\n    items.push(\n      createSchemaValidationItem(SchemaErrorCodes.EVENT_HANDLER_EVENT_NOT_REQUIRED, \"warning\", {})\n    );\n  }\n}\nfunction validateConditionalSchema(schema, items) {\n  const conditionRole = schema.roles.find((r) => r.role === \"condition\");\n  if (!conditionRole) {\n    items.push(\n      createSchemaValidationItem(SchemaErrorCodes.CONDITIONAL_MISSING_CONDITION, \"warning\", {})\n    );\n  }\n  if (conditionRole && !conditionRole.required) {\n    items.push(\n      createSchemaValidationItem(SchemaErrorCodes.CONDITIONAL_CONDITION_NOT_REQUIRED, \"warning\", {})\n    );\n  }\n}\nfunction validateLoopSchema(schema, items) {\n  if (schema.action === \"for\") {\n    const sourceRole = schema.roles.find((r) => r.role === \"source\");\n    if (!sourceRole) {\n      items.push(\n        createSchemaValidationItem(SchemaErrorCodes.FOR_LOOP_MISSING_SOURCE, \"warning\", {})\n      );\n    }\n  } else if (schema.action === \"while\") {\n    const conditionRole = schema.roles.find((r) => r.role === \"condition\");\n    if (!conditionRole) {\n      items.push(\n        createSchemaValidationItem(SchemaErrorCodes.WHILE_LOOP_MISSING_CONDITION, \"warning\", {})\n      );\n    }\n  }\n}\nfunction validateAllSchemas(schemas, options = {}) {\n  const results = /* @__PURE__ */ new Map();\n  const { includeNotes = false } = options;\n  for (const [action, schema] of Object.entries(schemas)) {\n    const validation = validateCommandSchema(schema);\n    const hasWarningsOrErrors = validation.items.some(\n      (i) => i.severity === \"warning\" || i.severity === \"error\"\n    );\n    const hasNotes = includeNotes && validation.items.some((i) => i.severity === \"note\");\n    if (hasWarningsOrErrors || hasNotes) {\n      results.set(action, validation);\n    }\n  }\n  return results;\n}\nfunction formatValidationResults(validations, options = {}) {\n  const lines = [];\n  const { showNotes = false, showCodes = true } = options;\n  for (const [action, result] of validations) {\n    const errors = result.items.filter((i) => i.severity === \"error\");\n    const warnings = result.items.filter((i) => i.severity === \"warning\");\n    const notes = result.items.filter((i) => i.severity === \"note\");\n    if (errors.length > 0) {\n      lines.push(`  \\u274C ${action}:`);\n      for (const item of errors) {\n        const codeStr = showCodes ? ` [${item.code}]` : \"\";\n        lines.push(`     ERROR${codeStr}: ${item.message}`);\n        if (item.suggestion) {\n          lines.push(`     \\u{1F4A1} Suggestion: ${item.suggestion}`);\n        }\n      }\n    }\n    if (warnings.length > 0) {\n      lines.push(`  \\u26A0\\uFE0F  ${action}:`);\n      for (const item of warnings) {\n        const codeStr = showCodes ? ` [${item.code}]` : \"\";\n        lines.push(`     ${codeStr ? `${item.code}: ` : \"\"}${item.message}`);\n        if (item.suggestion) {\n          lines.push(`     \\u{1F4A1} ${item.suggestion}`);\n        }\n      }\n    }\n    if (showNotes && notes.length > 0) {\n      lines.push(`  \\u2139\\uFE0F  ${action}:`);\n      for (const item of notes) {\n        const codeStr = showCodes ? ` [${item.code}]` : \"\";\n        lines.push(`     ${codeStr ? `${item.code}: ` : \"\"}${item.message}`);\n      }\n    }\n  }\n  return lines.join(\"\\n\");\n}\nfunction getValidationStats(validations) {\n  let errors = 0;\n  let warnings = 0;\n  let notes = 0;\n  const byCode = {};\n  for (const result of validations.values()) {\n    for (const item of result.items) {\n      if (item.severity === \"error\") errors++;\n      else if (item.severity === \"warning\") warnings++;\n      else if (item.severity === \"note\") notes++;\n      byCode[item.code] = (byCode[item.code] || 0) + 1;\n    }\n  }\n  return {\n    totalCommands: validations.size,\n    errors,\n    warnings,\n    notes,\n    byCode\n  };\n}\nfunction validateRoleValues(schema, values) {\n  const diagnostics = [];\n  for (const value of values) {\n    const roleSpec = schema.roles.find((r) => r.role === value.role);\n    if (!roleSpec) continue;\n    if (roleSpec.expectedTypes.length > 0 && !roleSpec.expectedTypes.includes(value.type)) {\n      if (!roleSpec.expectedTypes.includes(\"expression\")) {\n        diagnostics.push({\n          level: \"error\",\n          role: value.role,\n          message: `${schema.action}.${value.role} expects type [${roleSpec.expectedTypes.join(\", \")}], got '${value.type}'`,\n          code: SchemaErrorCodes.VALUE_TYPE_MISMATCH\n        });\n      }\n    }\n    if (value.type === \"selector\" && value.selectorKind && roleSpec.selectorKinds && roleSpec.selectorKinds.length > 0) {\n      if (!roleSpec.selectorKinds.includes(value.selectorKind)) {\n        diagnostics.push({\n          level: \"error\",\n          role: value.role,\n          message: `${schema.action}.${value.role} expects selector kind [${roleSpec.selectorKinds.join(\", \")}], got '${value.selectorKind}'`,\n          code: SchemaErrorCodes.SELECTOR_KIND_MISMATCH\n        });\n      }\n    }\n  }\n  return diagnostics;\n}\nfunction validateKeywordCollisions(profile) {\n  const collisions = [];\n  if (!profile.keywords) {\n    return { language: profile.code, collisions };\n  }\n  const keywordUsage = /* @__PURE__ */ new Map();\n  for (const [command, translation] of Object.entries(profile.keywords)) {\n    if (!translation || !translation.primary) continue;\n    const existing = keywordUsage.get(translation.primary) || [];\n    existing.push({ command, isPrimary: true });\n    keywordUsage.set(translation.primary, existing);\n    if (translation.alternatives) {\n      for (const alt of translation.alternatives) {\n        const altExisting = keywordUsage.get(alt) || [];\n        altExisting.push({ command, isPrimary: false });\n        keywordUsage.set(alt, altExisting);\n      }\n    }\n  }\n  for (const [keyword, usages] of keywordUsage) {\n    const uniqueCommands = [...new Set(usages.map((u) => u.command))];\n    if (uniqueCommands.length <= 1) continue;\n    const primaryCount = usages.filter((u) => u.isPrimary).length;\n    let type;\n    if (primaryCount >= 2) {\n      type = \"primary-primary\";\n    } else if (primaryCount === 1) {\n      type = \"primary-alternative\";\n    } else {\n      type = \"alternative-alternative\";\n    }\n    collisions.push({\n      keyword,\n      commands: uniqueCommands.sort(),\n      type\n    });\n  }\n  const typeOrder = {\n    \"primary-primary\": 0,\n    \"primary-alternative\": 1,\n    \"alternative-alternative\": 2\n  };\n  collisions.sort((a, b) => typeOrder[a.type] - typeOrder[b.type]);\n  return { language: profile.code, collisions };\n}\nfunction validateAllKeywordCollisions(profiles2) {\n  const results = [];\n  for (const [, profile] of Object.entries(profiles2)) {\n    const result = validateKeywordCollisions(profile);\n    if (result.collisions.length > 0) {\n      results.push(result);\n    }\n  }\n  return results.sort((a, b) => a.language.localeCompare(b.language));\n}\nvar MULTI_TYPE_PATIENT_COMMANDS, NO_REQUIRED_ROLES_COMMANDS;\nvar init_schema_validator = __esm({\n  \"src/generators/schema-validator.ts\"() {\n    \"use strict\";\n    init_schema_error_codes();\n    MULTI_TYPE_PATIENT_COMMANDS = /* @__PURE__ */ new Set([\n      \"put\",\n      \"append\",\n      \"prepend\",\n      \"log\",\n      \"throw\",\n      \"make\",\n      \"measure\",\n      \"return\",\n      \"swap\",\n      \"morph\",\n      // DOM manipulation commands that accept various content types\n      \"beep\",\n      // Debug command — accepts any expression type\n      \"copy\"\n      // Clipboard — accepts text literals, selectors, or references\n    ]);\n    NO_REQUIRED_ROLES_COMMANDS = /* @__PURE__ */ new Set([\n      \"compound\",\n      \"else\",\n      \"halt\",\n      \"continue\",\n      \"async\",\n      \"init\",\n      \"settle\",\n      \"focus\",\n      \"blur\",\n      \"return\",\n      \"js\",\n      \"measure\",\n      // Commands with optional-only roles\n      \"break\",\n      // Zero-arg control flow (exit loop)\n      \"exit\",\n      // Zero-arg control flow (exit handler)\n      \"beep\",\n      // Debug command — all roles optional\n      // Upstream _hyperscript 0.9.90 additions (Phase 1) — all take an optional patient\n      \"empty\",\n      \"open\",\n      \"close\",\n      \"select\",\n      \"clear\",\n      \"reset\",\n      \"breakpoint\"\n      // Zero-arg debug command\n    ]);\n  }\n});\n\n// src/generators/command-schemas.ts\nfunction eventHandlerDestinationExtraction(schema) {\n  const destRole = schema.roles.find((r) => r.role === \"destination\");\n  if (!destRole) return {};\n  return {\n    destination: destRole.default ? { fromRole: \"destination\", default: destRole.default } : { fromRole: \"destination\" }\n  };\n}\nfunction eventHandlerSourceExtraction(schema) {\n  const srcRole = schema.roles.find((r) => r.role === \"source\");\n  if (!srcRole) return {};\n  return {\n    source: srcRole.default ? { fromRole: \"source\", default: srcRole.default } : { fromRole: \"source\" }\n  };\n}\nfunction eventHandlerSourceGroup(schema, marker) {\n  return eventHandlerRoleGroup(schema, marker, \"source\");\n}\nfunction eventHandlerDestinationGroup(schema, marker) {\n  return eventHandlerRoleGroup(schema, marker, \"destination\");\n}\nfunction eventHandlerRoleGroup(schema, marker, role) {\n  if (!marker || !schema.roles.some((r) => r.role === role)) return [];\n  const markerToken = marker.alternatives ? { type: \"literal\", value: marker.primary, alternatives: [...marker.alternatives] } : { type: \"literal\", value: marker.primary };\n  const roleToken = { type: \"role\", role, optional: true };\n  return [\n    {\n      type: \"group\",\n      optional: true,\n      tokens: marker.position === \"after\" ? [roleToken, markerToken] : [markerToken, roleToken]\n    }\n  ];\n}\nfunction getSchema(action) {\n  return commandSchemas[action];\n}\nfunction getSchemasByCategory(category) {\n  return Object.values(commandSchemas).filter((s) => s.category === category);\n}\nfunction getDefinedSchemas() {\n  return Object.values(commandSchemas).filter((s) => s.roles.length > 0 || s.bareKeyword === true);\n}\nvar toggleSchema, addSchema, removeSchema, putSchema, setSchema, bindSchema, liveSchema, eventsourceSchema, socketSchema, workerSchema, interceptSchema, showSchema, hideSchema, onSchema, triggerSchema, waitSchema, fetchSchema, incrementSchema, decrementSchema, appendSchema, prependSchema, logSchema, getCommandSchema, takeSchema, makeSchema, haltSchema, settleSchema, throwSchema, sendSchema, ifSchema, unlessSchema, elseSchema, repeatSchema, forSchema, whileSchema, continueSchema, goSchema, transitionSchema, cloneSchema, focusSchema, blurSchema, emptySchema, openSchema, closeSchema, selectSchema, clearSchema, resetSchema, breakpointSchema, callSchema, returnSchema, jsSchema, asyncSchema, tellSchema, defaultSchema, initSchema, behaviorSchema, installSchema, measureSchema, swapSchema, morphSchema, beepSchema, breakSchema, copySchema, exitSchema, pickSchema, scrollSchema, URL_MARKER_ALL_LANGS, PARTIALS_IN_MARKER_ALL_LANGS, pushSchema, replaceSchema, processSchema, renderSchema, commandSchemas;\nvar init_command_schemas = __esm({\n  \"src/generators/command-schemas.ts\"() {\n    \"use strict\";\n    toggleSchema = {\n      action: \"toggle\",\n      description: \"Toggle a class or attribute on/off\",\n      category: \"dom-class\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The class or attribute to toggle\",\n          required: true,\n          expectedTypes: [\"selector\"],\n          selectorKinds: [\"class\", \"attribute\"],\n          svoPosition: 1,\n          sovPosition: 2\n        },\n        {\n          role: \"destination\",\n          description: \"The target element (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 2,\n          sovPosition: 1,\n          // toggle's destination is LOCATIVE (\"toggle .active on #button\" — at\n          // the element), so ko 에서 (\"at\") is a legitimate marker HERE. It is no\n          // longer a profile-wide destination alternative: for allative\n          // destinations (add's \"to me\") 에서 reads as source, and it let an\n          // unconsumed wait-line tail (`문서 에서`) satisfy the next SOV clause's\n          // destination group (behavior-draggable). Per-command merge via the\n          // #588 markerVariants machinery.\n          markerVariants: { ko: [\"\\uC5D0\\uC11C\"] }\n        }\n      ],\n      // Runtime error documentation\n      errorCodes: [\"MISSING_ARGUMENT\", \"NO_VALID_CLASS_NAMES\", \"INVALID_CSS_PROPERTY\"],\n      preconditions: [\n        {\n          condition: \"Command has at least one argument\",\n          errorCode: \"MISSING_ARGUMENT\",\n          message: \"toggle command requires an argument\"\n        },\n        {\n          condition: \"Class names are valid CSS identifiers\",\n          errorCode: \"NO_VALID_CLASS_NAMES\",\n          message: \"toggle command: no valid class names found\"\n        }\n      ],\n      recoveryHints: {\n        MISSING_ARGUMENT: \"Add a class selector (.classname) or attribute to toggle\",\n        NO_VALID_CLASS_NAMES: \"Ensure class names start with a dot (.) and are valid CSS identifiers\",\n        INVALID_CSS_PROPERTY: \"Check CSS property name syntax (use kebab-case)\"\n      }\n    };\n    addSchema = {\n      action: \"add\",\n      description: \"Add a class or attribute to an element\",\n      category: \"dom-class\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The class or attribute to add\",\n          required: true,\n          // `literal` admits quoted HTML/text content (`add \"<p>Line</p>\" to me`,\n          // repeat-times + behavior-draggable): the selector-only slot rejected the\n          // string and the WHOLE command parsed NULL in en and the generated-path\n          // languages, while 11 lax-path languages captured patient=literal — and\n          // were precision-flagged as \"spurious add\" against the empty en\n          // reference (add ×22, en-noise). Same admission precedent as\n          // transition.patient / append.patient.\n          expectedTypes: [\"selector\", \"literal\"],\n          svoPosition: 1,\n          sovPosition: 2\n        },\n        {\n          role: \"destination\",\n          description: \"The target element (defaults to me)\",\n          required: false,\n          // `expression` admits a loop binding VARIABLE as the destination\n          // (`repeat for item in .items add .processed to item`): the bare\n          // identifier tokenizes as expression, so [selector, reference] rejected\n          // the marked `to item` phrase and the destination silently defaulted to\n          // `me` — in the en reference AND most translations alike (it/qu already\n          // captured it; everyone else vacuously \"matched\" the shared noise).\n          // Marker-guarded, so an unmarked trailing identifier is not affected.\n          expectedTypes: [\"selector\", \"reference\", \"expression\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 2,\n          sovPosition: 1,\n          markerOverride: { en: \"to\" }\n          // \"add .class to #element\"\n        }\n      ],\n      // Runtime error documentation\n      errorCodes: [\"MISSING_ARGUMENT\", \"NO_VALID_CLASS_NAMES\", \"PROPERTY_REQUIRES_VALUE\"],\n      preconditions: [\n        {\n          condition: \"Command has at least one argument\",\n          errorCode: \"MISSING_ARGUMENT\",\n          message: \"add command requires an argument\"\n        }\n      ],\n      recoveryHints: {\n        MISSING_ARGUMENT: \"Add a class selector (.classname) or attribute to add\",\n        NO_VALID_CLASS_NAMES: \"Ensure class names start with a dot (.) and are valid CSS identifiers\",\n        PROPERTY_REQUIRES_VALUE: \"When adding a property (*prop), provide a value argument\"\n      }\n    };\n    removeSchema = {\n      action: \"remove\",\n      description: \"Remove a class or attribute from an element\",\n      category: \"dom-class\",\n      primaryRole: \"patient\",\n      // Trailing `from X` is captured by the core parser as `target`; map it to source.\n      targetRole: \"source\",\n      roles: [\n        {\n          role: \"patient\",\n          // `remove .class from #el` / `remove @attr from #el` removes a class/attr;\n          // `remove me` / `remove it` / `remove #el` removes the ELEMENT itself, where\n          // the patient is a reference/selector. Accept references so remove-self (a\n          // core behavior pattern) parses instead of throwing.\n          description: \"The class/attribute to remove, or the element to remove\",\n          required: true,\n          expectedTypes: [\"selector\", \"reference\"],\n          svoPosition: 1,\n          sovPosition: 2\n        },\n        {\n          role: \"source\",\n          // 'expression' admits a bare local-variable read (`remove .done from item`\n          // — `item` bound by an earlier set). Without it the slot silently rejected\n          // the identifier and the `me` default filled in, so the en reference\n          // under-captured its own source and every translation that DID capture\n          // `item` was penalized against it (behavior-sortable remove.source ×12).\n          description: \"The element to remove from (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\", \"expression\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 2,\n          sovPosition: 1\n        }\n      ],\n      // Runtime error documentation\n      errorCodes: [\"MISSING_ARGUMENT\", \"NO_VALID_CLASS_NAMES\"],\n      preconditions: [\n        {\n          condition: \"Command has at least one argument\",\n          errorCode: \"MISSING_ARGUMENT\",\n          message: \"remove command requires an argument\"\n        }\n      ],\n      recoveryHints: {\n        MISSING_ARGUMENT: \"Add a class selector (.classname) or attribute to remove\",\n        NO_VALID_CLASS_NAMES: \"Ensure class names start with a dot (.) and are valid CSS identifiers\"\n      }\n    };\n    putSchema = {\n      action: \"put\",\n      description: \"Put content into a target element or variable\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The content to put\",\n          required: true,\n          expectedTypes: [\"literal\", \"selector\", \"reference\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1\n          // SOV: patient comes first (を marker)\n        },\n        {\n          role: \"destination\",\n          description: \"Where to put the content\",\n          required: true,\n          expectedTypes: [\"selector\", \"reference\"],\n          svoPosition: 2,\n          sovPosition: 2,\n          // SOV: destination comes second (に/에/a marker)\n          markerOverride: { en: \"into\" },\n          // \"put 'hello' into #output\"\n          // `before` / `after` are alternate position markers; the matched marker\n          // is recorded as a literal in the `method` role (a derived role with no\n          // surface form of its own — populated by schema-driven role inference).\n          markerVariants: { en: [\"before\", \"after\"] },\n          methodCarrier: \"method\"\n        }\n      ],\n      // Runtime error documentation\n      errorCodes: [\n        \"MISSING_ARGUMENTS\",\n        \"MISSING_CONTENT\",\n        \"MISSING_POSITION\",\n        \"INVALID_POSITION\",\n        \"NO_TARGET\",\n        \"NO_ELEMENTS\"\n      ],\n      preconditions: [\n        {\n          condition: \"Command has content and position arguments\",\n          errorCode: \"MISSING_ARGUMENTS\",\n          message: \"put requires arguments\"\n        },\n        {\n          condition: \"Content to put is specified\",\n          errorCode: \"MISSING_CONTENT\",\n          message: \"put requires content\"\n        },\n        {\n          condition: \"Position keyword is specified (into, before, after, etc.)\",\n          errorCode: \"MISSING_POSITION\",\n          message: \"put requires position keyword\"\n        }\n      ],\n      recoveryHints: {\n        MISSING_ARGUMENTS: \"Use syntax: put <content> into/before/after <target>\",\n        MISSING_CONTENT: \"Add content to put (string, element, or expression)\",\n        MISSING_POSITION: \"Add position keyword: into, before, after, at start of, at end of\",\n        INVALID_POSITION: \"Valid positions: into, before, after, at start of, at end of\",\n        NO_TARGET: 'Ensure target element exists or use \"me\" reference',\n        NO_ELEMENTS: \"Check that the selector matches existing elements\"\n      }\n    };\n    setSchema = {\n      action: \"set\",\n      description: \"Set a property or variable to a value\",\n      category: \"variable\",\n      primaryRole: \"destination\",\n      roles: [\n        {\n          role: \"destination\",\n          description: \"The property or variable to set\",\n          required: true,\n          // 'property-path' opts this role into the \"of\"-possessive matcher\n          // (`set *--x of #y to z`); see pattern-matcher tryMatchOfPossessiveExpression.\n          expectedTypes: [\"selector\", \"reference\", \"expression\", \"property-path\"],\n          svoPosition: 1,\n          sovPosition: 1,\n          // Override destination marker for English (remove 'on', use no marker)\n          // SOV languages swap markers: variable gets patient marker (を/를/i)\n          // Arabic (VSO): no marker before variable\n          markerOverride: {\n            en: \"\",\n            // No marker before destination in English: \"set :x to 5\"\n            ja: \"\\u3092\",\n            // \"x を 10 に 設定\" - variable gets object marker\n            ko: \"\\uB97C\",\n            // \"x 를 10 에 설정\" - variable gets object marker\n            tr: \"i\",\n            // \"x i 10 e ayarla\" - variable gets accusative marker\n            ar: \"\",\n            // \"عيّن x إلى 10\" - no marker before variable\n            sw: \"\",\n            // \"seti x kwenye 10\" - no marker before variable\n            tl: \"\",\n            // \"itakda x sa 10\" - no marker before variable\n            bn: \"\\u0995\\u09C7\",\n            // \"x কে 10 তে সেট\" - patient marker on variable\n            qu: \"ta\",\n            // \"x ta 10 man churay\" - patient marker on variable\n            // hi: the transformer marks the TARGET with को and the VALUE with में\n            // (`मेरा.textContent को … सेट \"Done!\" में`) — inverted from the hi profile\n            // defaults (destination=में, patient=को). Without these overrides the\n            // generated hi set patterns carried the swapped markers and matched no\n            // corpus, so the whole hi set-family (set-text/inner-html/style/attribute)\n            // fell to the bare-event fallback (S6 set-trio).\n            hi: \"\\u0915\\u094B\"\n            // target (destination) gets को\n          }\n        },\n        {\n          role: \"patient\",\n          description: \"The value to set\",\n          required: true,\n          expectedTypes: [\"literal\", \"expression\", \"reference\"],\n          svoPosition: 2,\n          sovPosition: 2,\n          // Override patient marker for SVO languages with their native prepositions\n          // SOV languages swap markers: value gets destination marker (に/으로/e)\n          // Arabic (VSO): إلى preposition before value\n          markerOverride: {\n            en: \"to\",\n            // \"set :x to 5\"\n            es: \"a\",\n            // \"establecer x a 10\"\n            pt: \"para\",\n            // \"definir x para 10\"\n            fr: \"\\xE0\",\n            // \"définir x à 10\"\n            de: \"auf\",\n            // \"setze x auf 10\"\n            id: \"ke\",\n            // \"atur x ke 10\"\n            ja: \"\\u306B\",\n            // \"x を 10 に 設定\" - value gets destination marker\n            // ko dict translates set's `to` as 에 (not the manner marker 으로) —\n            // every ko corpus emission is `… 설정 {value} 에`; keep aligned.\n            ko: \"\\uC5D0\",\n            // \"x 를 10 에 설정\" - value gets destination marker\n            tr: \"e\",\n            // \"x i 10 e ayarla\" - value gets dative marker\n            ar: \"\\u0625\\u0644\\u0649\",\n            // \"عيّن x إلى 10\" - value gets preposition \"to\"\n            sw: \"kwenye\",\n            // \"seti x kwenye 10\" - destination prep before value\n            tl: \"sa\",\n            // \"itakda x sa 10\" - destination prep before value\n            bn: \"\\u09A4\\u09C7\",\n            // \"x কে 10 তে সেট\" - destination marker on value\n            qu: \"man\",\n            // \"x ta 10 man churay\" - destination marker on value\n            hi: \"\\u092E\\u0947\\u0902\"\n            // value (patient) gets में — see the destination note above\n          },\n          // Turkish dative is allomorphic under vowel harmony: the i18n transformer\n          // emits `e` for quoted-string values (`\"red\" e`) but `-ya` for a value\n          // ending in a vowel (`doğru ya` = \"true\" in set-attribute). markerOverride\n          // is a single string, so the generated tr set patterns carried only `e`\n          // and set-attribute fell to the role-scrambling generic SOV extraction.\n          // markerVariants supplies the allomorphs the SOV two-role generators merge\n          // in as marker alternatives. See STRUCTURAL_ARCS_ROADMAP.md (tr set-attribute).\n          markerVariants: {\n            tr: [\"e\", \"a\", \"ye\", \"ya\"]\n          }\n        },\n        {\n          // The element(s) the attribute/property is set ON — `set @aria-selected to\n          // \"false\" on .tab`. Distinct from `destination` (the attribute) so it does\n          // not collide with the value. Optional: a scope-less `set` defaults to `me`\n          // (handled in the core runtime). The marker is the literal `on` in every\n          // language (passthrough-alignment): the i18n transformer keeps `on <scope>`\n          // verbatim, so the same marker captures it back across all languages.\n          // See STRUCTURAL_ARCS_ROADMAP.md (S1 tabs-aria) and CORRECTNESS §7bb.\n          role: \"scope\",\n          description: \"The element(s) the attribute/property is set on (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          svoPosition: 3,\n          sovPosition: 3,\n          markerOverride: {\n            en: \"on\",\n            es: \"on\",\n            pt: \"on\",\n            fr: \"on\",\n            de: \"on\",\n            it: \"on\",\n            id: \"on\",\n            ms: \"on\",\n            sw: \"on\",\n            tl: \"on\",\n            zh: \"on\",\n            vi: \"on\",\n            ru: \"on\",\n            uk: \"on\",\n            pl: \"on\",\n            th: \"on\",\n            he: \"on\",\n            ar: \"on\",\n            ja: \"on\",\n            ko: \"on\",\n            tr: \"on\",\n            hi: \"on\",\n            bn: \"on\",\n            qu: \"on\"\n          }\n        }\n      ],\n      // Runtime error documentation\n      errorCodes: [\"MISSING_TARGET\", \"INVALID_TARGET\", \"MISSING_VALUE\", \"INVALID_SYNTAX\"],\n      preconditions: [\n        {\n          condition: \"Command has a target variable or property\",\n          errorCode: \"MISSING_TARGET\",\n          message: \"set command requires a target\"\n        },\n        {\n          condition: \"Target is a valid variable or property reference\",\n          errorCode: \"INVALID_TARGET\",\n          message: \"set command target must be a string or object literal\"\n        },\n        {\n          condition: 'Value is specified with \"to\" keyword',\n          errorCode: \"MISSING_VALUE\",\n          message: 'set command requires a value (use \"to\" keyword)'\n        }\n      ],\n      recoveryHints: {\n        MISSING_TARGET: \"Add a target: set :variable to value OR set element.property to value\",\n        INVALID_TARGET: 'Use local variable (:name), element property (el.prop), or \"the X of Y\" syntax',\n        MISSING_VALUE: 'Add \"to <value>\" to specify what to set',\n        INVALID_SYNTAX: \"Use syntax: set <target> to <value>\"\n      }\n    };\n    bindSchema = {\n      action: \"bind\",\n      description: \"Reactively bind a variable to an element or property value\",\n      category: \"variable\",\n      primaryRole: \"destination\",\n      roles: [\n        {\n          role: \"destination\",\n          description: \"The variable to bind\",\n          required: true,\n          expectedTypes: [\"reference\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1,\n          // Bound variable mirrors `set`'s destination marking. The bound\n          // variable is bare in SVO/VSO/V2 languages (no leading preposition);\n          // SOV/agglutinative languages attach an object marker after it. Every\n          // supported language is listed explicitly so the generator never falls\n          // back to a default destination preposition (which produced a spurious\n          // marker, e.g. \"vincular en {var}\" for Spanish).\n          markerOverride: {\n            en: \"\",\n            // \"bind $x to #input\"\n            es: \"\",\n            pt: \"\",\n            fr: \"\",\n            de: \"\",\n            it: \"\",\n            id: \"\",\n            ms: \"\",\n            vi: \"\",\n            ru: \"\",\n            uk: \"\",\n            pl: \"\",\n            th: \"\",\n            zh: \"\",\n            he: \"\",\n            ar: \"\",\n            sw: \"\",\n            tl: \"\",\n            ja: \"\\u3092\",\n            // variable gets object marker\n            ko: \"\\uB97C\",\n            tr: \"i\",\n            bn: \"\\u0995\\u09C7\",\n            qu: \"ta\",\n            hi: \"\\u0915\\u094B\"\n          }\n        },\n        {\n          role: \"source\",\n          description: \"The element or property to bind to\",\n          required: true,\n          expectedTypes: [\"selector\", \"reference\", \"expression\"],\n          svoPosition: 2,\n          sovPosition: 2,\n          // Element mirrors `set`/`add`/`put`'s value (\"to\") marking per language.\n          // Each language uses its generic destination preposition (the same one\n          // the i18n translator and the other \"to\"-commands emit) so that\n          // auto-generated translations parse — e.g. German \"zu\", Italian \"in\".\n          markerOverride: {\n            en: \"to\",\n            // \"bind $x to #input\"\n            es: \"a\",\n            pt: \"para\",\n            fr: \"\\xE0\",\n            de: \"zu\",\n            it: \"in\",\n            id: \"ke\",\n            ms: \"ke\",\n            // Malay grammar profile now emits the dative `ke` (mirrors id)\n            vi: \"v\\xE0o\",\n            // generic destination preposition (matches set/put `into`), not \"với\"/with\n            ru: \"\\u0432\",\n            // generic destination preposition (matches set/put `into`)\n            uk: \"\\u0432\",\n            pl: \"do\",\n            ja: \"\\u306B\",\n            ko: \"\\uC5D0\",\n            tr: \"e\",\n            ar: \"\\u0625\\u0644\\u0649\",\n            zh: \"\\u5230\",\n            // bind target uses 到 (arrive/to), not the default 从/\"from\"\n            he: \"\\u05DC\",\n            // \"to\" prefix preposition\n            sw: \"kwa\",\n            // matches the generic `kwa` the transformer emits (not `kwenye`)\n            th: \"\\u0E43\\u0E19\",\n            // generic destination preposition the transformer emits\n            tl: \"sa\",\n            bn: \"\\u09A4\\u09C7\",\n            qu: \"man\",\n            hi: \"\\u092E\\u0947\\u0902\"\n            // SOV locative the transformer emits for the bind target\n          }\n        }\n      ],\n      errorCodes: [\"MISSING_TARGET\", \"MISSING_VALUE\", \"INVALID_SYNTAX\"],\n      recoveryHints: {\n        MISSING_TARGET: \"Add a variable to bind: bind $name to #input\",\n        MISSING_VALUE: 'Add \"to <element>\" to specify the binding source',\n        INVALID_SYNTAX: \"Use syntax: bind <variable> to <element>\"\n      }\n    };\n    liveSchema = {\n      action: \"live\",\n      description: \"Reactive block: re-run the body when its dependencies change\",\n      category: \"control-flow\",\n      primaryRole: \"patient\",\n      hasBody: true,\n      bareKeyword: true,\n      roles: []\n    };\n    eventsourceSchema = {\n      action: \"eventsource\",\n      description: \"Open a Server-Sent Events stream and handle its events\",\n      category: \"async\",\n      primaryRole: \"patient\",\n      hasBody: true,\n      bareKeyword: true,\n      roles: []\n    };\n    socketSchema = {\n      action: \"socket\",\n      description: \"Open a WebSocket and handle its messages\",\n      category: \"async\",\n      primaryRole: \"patient\",\n      hasBody: true,\n      bareKeyword: true,\n      roles: []\n    };\n    workerSchema = {\n      action: \"worker\",\n      description: \"Define a Web Worker with inline methods\",\n      category: \"async\",\n      primaryRole: \"patient\",\n      hasBody: true,\n      bareKeyword: true,\n      roles: []\n    };\n    interceptSchema = {\n      action: \"intercept\",\n      description: \"Service-worker fetch interception / caching strategies\",\n      category: \"async\",\n      primaryRole: \"patient\",\n      hasBody: true,\n      bareKeyword: true,\n      roles: []\n    };\n    showSchema = {\n      action: \"show\",\n      description: \"Make an element visible\",\n      category: \"dom-visibility\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The element to show\",\n          required: true,\n          // Changed from false - patient is primary role\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 1,\n          sovPosition: 1\n        },\n        {\n          role: \"style\",\n          description: \"Animation style (fade, slide, etc.)\",\n          required: false,\n          expectedTypes: [\"literal\"],\n          svoPosition: 2,\n          sovPosition: 2\n        }\n      ]\n    };\n    hideSchema = {\n      action: \"hide\",\n      description: \"Make an element invisible\",\n      category: \"dom-visibility\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The element to hide\",\n          required: true,\n          // Changed from false - patient is primary role\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 1,\n          sovPosition: 1\n        },\n        {\n          role: \"style\",\n          description: \"Animation style (fade, slide, etc.)\",\n          required: false,\n          expectedTypes: [\"literal\"],\n          svoPosition: 2,\n          sovPosition: 2\n        }\n      ]\n    };\n    onSchema = {\n      action: \"on\",\n      description: \"Handle an event\",\n      category: \"event\",\n      primaryRole: \"event\",\n      hasBody: true,\n      roles: [\n        {\n          role: \"event\",\n          description: \"The event to handle\",\n          required: true,\n          expectedTypes: [\"literal\"],\n          svoPosition: 1,\n          sovPosition: 2\n        },\n        {\n          role: \"source\",\n          description: \"The element to listen on (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 2,\n          sovPosition: 1\n        }\n      ]\n    };\n    triggerSchema = {\n      action: \"trigger\",\n      description: \"Trigger/dispatch an event\",\n      category: \"event\",\n      primaryRole: \"event\",\n      roles: [\n        {\n          role: \"event\",\n          description: \"The event to trigger (supports namespaced events like draggable:start)\",\n          required: true,\n          expectedTypes: [\"literal\", \"expression\"],\n          // expression for custom/namespaced event names\n          svoPosition: 1,\n          sovPosition: 2\n        },\n        {\n          role: \"destination\",\n          description: \"The target element (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 2,\n          sovPosition: 1\n        }\n      ]\n    };\n    waitSchema = {\n      action: \"wait\",\n      description: \"Wait for a duration or event\",\n      category: \"async\",\n      primaryRole: \"duration\",\n      roles: [\n        {\n          role: \"duration\",\n          description: \"Duration or event to wait for\",\n          required: true,\n          expectedTypes: [\"literal\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    fetchSchema = {\n      action: \"fetch\",\n      description: \"Fetch data from a URL\",\n      category: \"async\",\n      primaryRole: \"source\",\n      roles: [\n        {\n          role: \"source\",\n          description: \"The URL to fetch from\",\n          required: true,\n          expectedTypes: [\"literal\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1,\n          // No markerOverride — uses profile default 'from' for parsing.\n          renderOverride: { en: \"\" }\n          // \"fetch /api\" (rendering — no preposition)\n        },\n        {\n          role: \"responseType\",\n          description: \"Response format (json, text, html, blob, etc.)\",\n          required: false,\n          expectedTypes: [\"literal\", \"expression\"],\n          // json/text/html are identifiers → expression type\n          svoPosition: 2,\n          sovPosition: 2,\n          markerOverride: { en: \"as\" }\n          // \"fetch /api as json\" — needed by schema-driven role inference\n        },\n        {\n          role: \"method\",\n          description: \"HTTP method (GET, POST, etc.)\",\n          required: false,\n          expectedTypes: [\"literal\"],\n          svoPosition: 3,\n          sovPosition: 3\n        },\n        {\n          role: \"destination\",\n          description: \"Where to store the result\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          svoPosition: 4,\n          sovPosition: 4\n        }\n      ]\n    };\n    incrementSchema = {\n      action: \"increment\",\n      description: \"Increment a numeric value\",\n      category: \"variable\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The value to increment\",\n          required: true,\n          expectedTypes: [\"selector\", \"reference\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1\n        },\n        {\n          role: \"quantity\",\n          description: \"Amount to increment by (defaults to 1)\",\n          required: false,\n          expectedTypes: [\"literal\"],\n          default: { type: \"literal\", value: 1, dataType: \"number\" },\n          svoPosition: 2,\n          sovPosition: 2,\n          // \"increment :count by 5\". The by-marker langs render the amount with a\n          // preposition the quantity role must recognize, else it strands and the\n          // amount defaults to 1 (surfaced by the R2 sweep on increment-by-amount).\n          // Space-marked SVO langs (it/zh/…) render the amount BARE and capture it\n          // positionally, so they need no marker.\n          markerOverride: { en: \"by\", es: \"por\", pt: \"por\", fr: \"par\", de: \"um\" }\n        }\n      ]\n    };\n    decrementSchema = {\n      action: \"decrement\",\n      description: \"Decrement a numeric value\",\n      category: \"variable\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The value to decrement\",\n          required: true,\n          expectedTypes: [\"selector\", \"reference\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1\n        },\n        {\n          role: \"quantity\",\n          description: \"Amount to decrement by (defaults to 1)\",\n          required: false,\n          expectedTypes: [\"literal\"],\n          default: { type: \"literal\", value: 1, dataType: \"number\" },\n          svoPosition: 2,\n          sovPosition: 2,\n          // \"decrement :count by 5\" — same by-marker recognition as increment.\n          markerOverride: { en: \"by\", es: \"por\", pt: \"por\", fr: \"par\", de: \"um\" }\n        }\n      ]\n    };\n    appendSchema = {\n      action: \"append\",\n      description: \"Append content to an element\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The content to append\",\n          required: true,\n          expectedTypes: [\"literal\", \"selector\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 2\n        },\n        {\n          role: \"destination\",\n          description: \"The element to append to\",\n          required: true,\n          expectedTypes: [\"selector\", \"reference\"],\n          svoPosition: 2,\n          sovPosition: 1,\n          markerOverride: { en: \"to\" }\n          // \"append <content> to #element\"\n        }\n      ]\n    };\n    prependSchema = {\n      action: \"prepend\",\n      description: \"Prepend content to an element\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The content to prepend\",\n          required: true,\n          expectedTypes: [\"literal\", \"selector\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 2\n        },\n        {\n          role: \"destination\",\n          description: \"The element to prepend to\",\n          required: true,\n          expectedTypes: [\"selector\", \"reference\"],\n          svoPosition: 2,\n          sovPosition: 1,\n          markerOverride: { en: \"to\" }\n          // \"prepend <content> to #element\"\n        }\n      ]\n    };\n    logSchema = {\n      action: \"log\",\n      description: \"Log a value to the console\",\n      category: \"variable\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The value to log\",\n          required: true,\n          expectedTypes: [\"literal\", \"selector\", \"reference\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    getCommandSchema = {\n      action: \"get\",\n      description: \"Get a value from a source\",\n      category: \"variable\",\n      primaryRole: \"source\",\n      roles: [\n        {\n          role: \"source\",\n          description: \"The source to get from\",\n          required: true,\n          expectedTypes: [\"selector\", \"reference\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 2,\n          // Marker overrides for GET pattern\n          // SOV languages use object markers, SVO languages have no marker\n          markerOverride: {\n            en: \"\",\n            es: \"\",\n            pt: \"\",\n            fr: \"\",\n            de: \"\",\n            ja: \"\\u3092\",\n            // Japanese object marker: #element を 取得\n            zh: \"\",\n            ko: \"\\uB97C\",\n            // Korean object marker: #element 를 가져오기\n            ar: \"\\u0639\\u0644\\u0649\",\n            // Arabic preposition: احصل على #element\n            tr: \"i\",\n            // Turkish accusative: #element i al\n            id: \"\",\n            he: \"\\u05D0\\u05EA\",\n            // Hebrew accusative: קבל את #element (the transformer marks get's object with את)\n            sw: \"\",\n            // Swahili SVO: pata #element (no marker)\n            tl: \"\",\n            // Tagalog VSO: kunin #element (no marker)\n            bn: \"\\u0995\\u09C7\",\n            // Bengali SOV: #element কে পান (patient marker)\n            qu: \"ta\"\n            // Quechua SOV: #element ta taripay (patient marker)\n          }\n        },\n        {\n          role: \"destination\",\n          description: \"Where to store the result (optional)\",\n          required: false,\n          expectedTypes: [\"reference\"],\n          svoPosition: 2,\n          sovPosition: 1\n        }\n      ]\n    };\n    takeSchema = {\n      action: \"take\",\n      description: \"Take content from a source element\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The class or element to take\",\n          required: true,\n          expectedTypes: [\"selector\"],\n          svoPosition: 1,\n          sovPosition: 2\n        },\n        {\n          role: \"source\",\n          description: \"The element to take from (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 2,\n          sovPosition: 1\n        }\n      ]\n    };\n    makeSchema = {\n      action: \"make\",\n      description: \"Create a new element\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The element type or selector to create\",\n          required: true,\n          expectedTypes: [\"literal\", \"selector\"],\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    haltSchema = {\n      action: \"halt\",\n      description: \"Halt/stop execution or event propagation\",\n      category: \"control-flow\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"What to halt (event, default, bubbling, etc.)\",\n          required: false,\n          // Plain \"halt\" is valid\n          expectedTypes: [\"literal\", \"reference\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    settleSchema = {\n      action: \"settle\",\n      description: \"Wait for animations/transitions to settle\",\n      category: \"async\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The element to settle (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    throwSchema = {\n      action: \"throw\",\n      description: \"Throw an error\",\n      category: \"control-flow\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The error message or object to throw\",\n          required: true,\n          expectedTypes: [\"literal\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    sendSchema = {\n      action: \"send\",\n      description: \"Send an event to an element\",\n      category: \"event\",\n      primaryRole: \"event\",\n      roles: [\n        {\n          role: \"event\",\n          description: \"The event to send\",\n          required: true,\n          expectedTypes: [\"literal\", \"expression\"],\n          // identifiers tokenize as expression\n          svoPosition: 1,\n          sovPosition: 2\n        },\n        {\n          role: \"destination\",\n          description: \"The target element (defaults to me)\",\n          required: false,\n          // `expression` admits a bare-identifier target (`send \"hello\" to\n          // ChatSocket`): the identifier tokenizes as expression, so\n          // [selector, reference] rejected the marked `to ChatSocket` phrase and\n          // the destination silently defaulted to `me` — in the en reference AND\n          // most translations alike (socket-send ×23). Marker-guarded, same\n          // precedent as add.destination (#571).\n          expectedTypes: [\"selector\", \"reference\", \"expression\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 2,\n          sovPosition: 1,\n          // send uses \"to\" not \"on\" for destination: send foo to #target\n          markerOverride: {\n            en: \"to\",\n            ja: \"\\u306B\",\n            ar: \"\\u0625\\u0644\\u0649\",\n            es: \"a\",\n            ko: \"\\uC5D0\\uAC8C\",\n            zh: \"\\u5230\",\n            tr: \"-e\",\n            pt: \"para\",\n            fr: \"\\xE0\",\n            de: \"an\",\n            id: \"ke\",\n            qu: \"-man\",\n            sw: \"kwa\"\n          }\n        }\n      ]\n    };\n    ifSchema = {\n      action: \"if\",\n      description: \"Conditional execution\",\n      category: \"control-flow\",\n      primaryRole: \"condition\",\n      hasBody: true,\n      roles: [\n        {\n          role: \"condition\",\n          description: \"The condition to evaluate\",\n          required: true,\n          expectedTypes: [\"expression\", \"reference\", \"selector\"],\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    unlessSchema = {\n      action: \"unless\",\n      description: \"Negated conditional execution (executes when condition is false)\",\n      category: \"control-flow\",\n      primaryRole: \"condition\",\n      hasBody: true,\n      roles: [\n        {\n          role: \"condition\",\n          description: \"The condition to evaluate (body executes when false)\",\n          required: true,\n          expectedTypes: [\"expression\", \"reference\", \"selector\"],\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    elseSchema = {\n      action: \"else\",\n      description: \"Else branch of conditional\",\n      category: \"control-flow\",\n      primaryRole: \"patient\",\n      hasBody: true,\n      roles: []\n      // No roles - follows an if\n    };\n    repeatSchema = {\n      action: \"repeat\",\n      description: \"Repeat a block of commands\",\n      category: \"control-flow\",\n      primaryRole: \"loopType\",\n      hasBody: true,\n      roles: [\n        {\n          role: \"loopType\",\n          description: \"Loop variant: forever, times, for, while, until, until-event\",\n          required: true,\n          expectedTypes: [\"literal\"],\n          svoPosition: 0,\n          sovPosition: 0\n        },\n        {\n          role: \"quantity\",\n          description: \"Number of times to repeat\",\n          required: false,\n          expectedTypes: [\"literal\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1\n        },\n        {\n          role: \"event\",\n          description: \"Event to wait for (terminates loop)\",\n          required: false,\n          expectedTypes: [\"literal\", \"expression\"],\n          svoPosition: 2,\n          sovPosition: 2\n        },\n        {\n          role: \"source\",\n          description: \"Element to listen for event on\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          svoPosition: 3,\n          sovPosition: 3\n        }\n      ],\n      notes: 'Can also use \"repeat forever\", \"repeat until condition\", or \"repeat until event X from Y\"'\n    };\n    forSchema = {\n      action: \"for\",\n      description: \"Iterate over a collection\",\n      category: \"control-flow\",\n      primaryRole: \"patient\",\n      hasBody: true,\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The iteration variable\",\n          required: true,\n          // The transformer emits a bare identifier loop variable (`for item in …`),\n          // which tokenizes as an expression — mirror the en handcrafted pattern.\n          expectedTypes: [\"reference\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 2\n        },\n        {\n          role: \"source\",\n          description: \"The collection to iterate over\",\n          required: true,\n          expectedTypes: [\"selector\", \"reference\", \"expression\"],\n          svoPosition: 2,\n          sovPosition: 1,\n          // The i18n dicts translate the for-loop's `in` connective, NOT the\n          // profile's source roleMarker — align each generated pattern to what the\n          // transformer actually emits (`para item en $items`, `dla item w $items`).\n          markerOverride: {\n            en: \"in\",\n            // \"for item in .items\"\n            es: \"en\",\n            fr: \"en\",\n            de: \"in\",\n            it: \"in\",\n            pt: \"dentro\",\n            id: \"dalam\",\n            ms: \"dalam\",\n            pl: \"w\",\n            ru: \"\\u0432\",\n            uk: \"\\u0443\",\n            sw: \"ndani\",\n            th: \"\\u0E43\\u0E19\",\n            vi: \"trong\",\n            ar: \"\\u0641\\u064A\",\n            tl: \"sa_loob\",\n            he: \"in\",\n            // the he transformer leaves the connective untranslated\n            zh: \"\\u5728\"\n          }\n        }\n      ]\n    };\n    whileSchema = {\n      action: \"while\",\n      description: \"Loop while condition is true\",\n      category: \"control-flow\",\n      primaryRole: \"condition\",\n      hasBody: true,\n      roles: [\n        {\n          role: \"condition\",\n          description: \"The condition to check\",\n          required: true,\n          expectedTypes: [\"expression\"],\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    continueSchema = {\n      action: \"continue\",\n      description: \"Continue to next loop iteration\",\n      category: \"control-flow\",\n      primaryRole: \"patient\",\n      roles: []\n      // No roles\n    };\n    goSchema = {\n      action: \"go\",\n      description: \"Navigate to a URL\",\n      category: \"navigation\",\n      primaryRole: \"destination\",\n      roles: [\n        {\n          role: \"destination\",\n          description: \"The URL to navigate to\",\n          required: true,\n          expectedTypes: [\"literal\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1,\n          markerOverride: { en: \"to\" },\n          // \"go to /page\" (parsing)\n          renderOverride: { en: \"\" },\n          // \"go /page\" (rendering — no preposition)\n          // `go back` renders the destination bare in en (history nav has no `to`),\n          // and he/zh render it with their PATIENT marker (לך את back / 前往 把 back)\n          // while go-url keeps the destination marker (לך על url / 前往 到 url) —\n          // the corpus is ground truth, so en's `to` is optional and he/zh accept\n          // the patient particle as a destination-marker alternative, scoped to go.\n          markerOptional: { en: true },\n          markerVariants: { he: [\"\\u05D0\\u05EA\"], zh: [\"\\u628A\"] }\n        }\n      ]\n    };\n    transitionSchema = {\n      action: \"transition\",\n      description: \"Transition an element with animation\",\n      category: \"dom-visibility\",\n      primaryRole: \"patient\",\n      // Goal-less `transition {patient} over {duration}` (slide-toggle) parses via\n      // a separate generated variant — see the goal role's required NOTE.\n      omitRoleVariants: [\"goal\"],\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The property to transition (opacity, *background-color, etc.)\",\n          required: true,\n          // A bare CSS property name (`transition opacity to 0`) tokenizes as an\n          // identifier → expression, so a literal-only patient rejected the idiomatic\n          // unquoted form in EVERY language: en (and 8 others) dropped the whole\n          // command, while the 14 languages whose body walkers recover it via\n          // verb-anchoring parsed it — and were then precision-penalized as\n          // \"spurious transition\" (×66, the largest R0-precision family) against the\n          // en reference that had silently dropped it. Admitting `expression` (the\n          // add/send.destination precedent, #571/#573) lets matchBest capture the\n          // property in all languages. `selector` is admitted for the style-property\n          // syntax ONLY: `*background-color` / `*max-height` tokenize as selector\n          // (transition-color, slide-toggle — en dropped both), and translations\n          // already capture patient:selector for them via the lax body walkers.\n          expectedTypes: [\"literal\", \"expression\", \"selector\"],\n          svoPosition: 1,\n          sovPosition: 2,\n          // No marker before the CSS property name (SVO/VSO languages)\n          // SOV languages (bn, qu) use their default patient marker from profile\n          markerOverride: { en: \"\", ar: \"\", tl: \"\", sw: \"\" }\n        },\n        {\n          role: \"goal\",\n          description: \"The target value to transition to\",\n          // Required, deliberately: goal-less transition (`transition *max-height\n          // over 300ms`, slide-toggle) IS valid hyperscript, but making goal\n          // optional wraps its marker group as skippable and the bare value then\n          // re-binds by particle metadata (`a 0` → destination:literal=0),\n          // clobbering goal+duration capture in every marker language — verified\n          // regression, do not repeat. The goal-less form is covered by the\n          // SEPARATE `omitRoleVariants: ['goal']` pattern instead (no skippable\n          // group to re-bind).\n          required: true,\n          expectedTypes: [\"literal\", \"expression\"],\n          svoPosition: 2,\n          sovPosition: 3,\n          // \"to\" preposition before goal value. These MUST match what the i18n\n          // transformer actually renders (the corpus ground truth) — de 'auf' and\n          // sw 'kwenye' were aspirational, never matched a rendered text, so the\n          // generated pattern could not fire and the whole command was dropped\n          // (the NO-TRANSITION half of the spurious-transition ×66 precision\n          // family). SOV languages (ja/ko/tr/bn/qu) reach transition via the fused\n          // grammar-transformed paths (this override is position-BEFORE, so it\n          // cannot capture their postposed `0 に` forms anyway); their entries are\n          // kept aligned to the rendered particles for the pattern renderer.\n          markerOverride: {\n            en: \"to\",\n            ar: \"\\u0625\\u0644\\u0649\",\n            tl: \"sa\",\n            sw: \"kwa\",\n            bn: \"\\u09A4\\u09C7\",\n            qu: \"man\",\n            es: \"a\",\n            pt: \"para\",\n            fr: \"\\xE0\",\n            de: \"zu\",\n            he: \"\\u05E2\\u05DC\",\n            it: \"in\",\n            ja: \"\\u306B\",\n            ko: \"\\uC5D0\",\n            ms: \"ke\",\n            pl: \"do\",\n            ru: \"\\u0432\",\n            th: \"\\u0E43\\u0E19\",\n            tr: \"e\",\n            uk: \"\\u0432\",\n            vi: \"v\\xE0o\",\n            zh: \"\\u5230\",\n            id: \"ke\"\n          }\n        },\n        {\n          role: \"destination\",\n          description: \"The target element (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 3,\n          sovPosition: 1\n        },\n        {\n          role: \"duration\",\n          description: \"Transition duration (over 500ms, for 2 seconds)\",\n          required: false,\n          expectedTypes: [\"literal\"],\n          svoPosition: 4,\n          sovPosition: 4,\n          markerOverride: { en: \"over\" }\n          // \"transition opacity to 1 over 500ms\"\n        },\n        {\n          role: \"style\",\n          description: \"Easing function (ease-in, linear, etc.)\",\n          required: false,\n          expectedTypes: [\"literal\"],\n          svoPosition: 5,\n          sovPosition: 5\n        }\n      ]\n    };\n    cloneSchema = {\n      action: \"clone\",\n      description: \"Clone an element\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The element to clone\",\n          required: true,\n          expectedTypes: [\"selector\", \"reference\"],\n          svoPosition: 1,\n          sovPosition: 2\n        },\n        {\n          role: \"destination\",\n          description: \"Where to put the clone\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          svoPosition: 2,\n          sovPosition: 1,\n          markerOverride: { en: \"into\" }\n          // \"clone #element into #container\"\n        }\n      ]\n    };\n    focusSchema = {\n      action: \"focus\",\n      description: \"Focus an element\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The element to focus (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    blurSchema = {\n      action: \"blur\",\n      description: \"Remove focus from an element\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The element to blur (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    emptySchema = {\n      action: \"empty\",\n      description: \"Remove all children from an element (sets innerHTML to empty)\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The element to empty (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    openSchema = {\n      action: \"open\",\n      description: \"Open a dialog, details element, or popover\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The element to open (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 2,\n          sovPosition: 2\n        },\n        {\n          role: \"style\",\n          description: \"Open-mode variant (modal / non-modal) for <dialog>\",\n          required: false,\n          expectedTypes: [\"literal\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1,\n          markerOverride: { en: \"as\" }\n        }\n      ]\n    };\n    closeSchema = {\n      action: \"close\",\n      description: \"Close a dialog, details element, or popover\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The element to close (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    selectSchema = {\n      action: \"select\",\n      description: \"Select the contents of a text field or DOM element\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The element whose contents to select (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    clearSchema = {\n      action: \"clear\",\n      description: \"Clear a variable, local, or input element\",\n      category: \"variable\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The variable or element to clear (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\", \"expression\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    resetSchema = {\n      action: \"reset\",\n      description: \"Reset a <form> element to its default values\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The form element to reset (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    breakpointSchema = {\n      action: \"breakpoint\",\n      description: \"Drop into the debugger\",\n      category: \"control-flow\",\n      primaryRole: \"patient\",\n      roles: [],\n      // Roleless: without a bare-keyword pattern NO pattern is generated at all\n      // (getDefinedSchemas filters zero-role schemas), so `on click breakpoint\n      // then …` silently drops the breakpoint in every generated-path language —\n      // while lax event-fused paths (bn/hi/ja/ko/qu/th) keep it, reading as\n      // spurious vs the en reference. Same standalone-safety argument as `exit`:\n      // zero-arg, the single-keyword match can't swallow anything.\n      bareKeyword: true\n    };\n    callSchema = {\n      action: \"call\",\n      description: \"Call a function\",\n      category: \"control-flow\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The function to call\",\n          required: true,\n          expectedTypes: [\"expression\", \"reference\"],\n          // A function-call patient (`validateForm()`) is an expression, not a definite\n          // DOM object, so the transformer emits it UNMARKED in a multi-command body\n          // (`קרא validateForm()` / `调用 validateForm()`) — but a marked patient is\n          // still emitted elsewhere. The he/zh patient marker (את / 把) is made OPTIONAL\n          // so both forms parse; without it `call` dropped (form-submit-prevent lossy).\n          // Scoped to he/zh — SOV call (ja を / ko 을) already parses, so leaving their\n          // marker required avoids relaxing their role typing.\n          markerOptional: { he: true, zh: true },\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    returnSchema = {\n      action: \"return\",\n      description: \"Return a value from a function\",\n      category: \"control-flow\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The value to return\",\n          required: false,\n          expectedTypes: [\"literal\", \"expression\", \"reference\"],\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    jsSchema = {\n      action: \"js\",\n      description: \"Execute raw JavaScript code\",\n      category: \"control-flow\",\n      primaryRole: \"patient\",\n      hasBody: true,\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The JavaScript code to execute\",\n          required: false,\n          expectedTypes: [\"expression\"],\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    asyncSchema = {\n      action: \"async\",\n      description: \"Execute commands asynchronously\",\n      category: \"async\",\n      primaryRole: \"patient\",\n      hasBody: true,\n      roles: []\n    };\n    tellSchema = {\n      action: \"tell\",\n      description: \"Execute commands in context of another element\",\n      category: \"control-flow\",\n      primaryRole: \"destination\",\n      hasBody: true,\n      roles: [\n        {\n          role: \"destination\",\n          description: \"The element to tell\",\n          required: true,\n          expectedTypes: [\"selector\", \"reference\"],\n          svoPosition: 1,\n          sovPosition: 1,\n          // \"tell #element ...\" (no preposition in en). Object-marking targets mark\n          // tell's object with their accusative/BA particle — Hebrew את (`אמור את\n          // #element`), Chinese 把 (`告诉 把 #modal`) — so the generated pattern must\n          // expect it; without it the marker token breaks the match and `tell` is\n          // dropped (tell-command / tell-other-element lossy in he and zh).\n          markerOverride: { en: \"\", he: \"\\u05D0\\u05EA\", zh: \"\\u628A\" }\n        }\n      ]\n    };\n    defaultSchema = {\n      action: \"default\",\n      description: \"Set a default value for a variable\",\n      category: \"variable\",\n      primaryRole: \"destination\",\n      roles: [\n        {\n          role: \"destination\",\n          description: \"The variable to set default for\",\n          required: true,\n          // Full default-value drill (session 12): property-path opts this role\n          // into the possessive matchers (`default my @data-count to \"0\"`),\n          // exactly parallel to set's destination. Enriched together with the\n          // per-language markers below so all 24 languages align in one step\n          // (an en-only enrichment would have minted honest-dip A/B entries in\n          // every still-dropping language).\n          expectedTypes: [\"selector\", \"reference\", \"expression\", \"property-path\"],\n          svoPosition: 1,\n          sovPosition: 1,\n          // Same overrides as SET: no marker before variable in VSO/SVO;\n          // SOV languages mark the variable with their patient/accusative marker.\n          markerOverride: {\n            en: \"\",\n            ar: \"\",\n            tl: \"\",\n            sw: \"\",\n            bn: \"\\u0995\\u09C7\",\n            qu: \"ta\",\n            ja: \"\\u3092\",\n            ko: \"\\uB97C\",\n            tr: \"i\",\n            hi: \"\\u0915\\u094B\",\n            de: \"\",\n            es: \"\",\n            fr: \"\",\n            it: \"\",\n            pt: \"\",\n            pl: \"\",\n            ru: \"\",\n            uk: \"\",\n            vi: \"\",\n            id: \"\",\n            ms: \"\",\n            th: \"\",\n            zh: \"\\u628A\",\n            he: \"\\u05D0\\u05EA\"\n          }\n        },\n        {\n          role: \"patient\",\n          description: \"The default value\",\n          required: true,\n          expectedTypes: [\"literal\", \"expression\"],\n          svoPosition: 2,\n          sovPosition: 2,\n          // Same shape as SET: the value carries the language's \"to\" marker.\n          // Markers mirror what the transformer actually renders for default\n          // (dict-driven), which differs from set in places (de zu vs auf,\n          // sw kwa vs kwenye).\n          markerOverride: {\n            en: \"to\",\n            ar: \"\\u0625\\u0644\\u0649\",\n            tl: \"sa\",\n            sw: \"kwa\",\n            bn: \"\\u09A4\\u09C7\",\n            qu: \"man\",\n            ja: \"\\u306B\",\n            ko: \"\\uC5D0\",\n            tr: \"e\",\n            hi: \"\\u092E\\u0947\\u0902\",\n            de: \"zu\",\n            es: \"a\",\n            fr: \"\\xE0\",\n            it: \"in\",\n            pt: \"para\",\n            pl: \"do\",\n            ru: \"\\u0432\",\n            uk: \"\\u0432\",\n            vi: \"v\\xE0o\",\n            id: \"ke\",\n            ms: \"ke\",\n            th: \"\\u0E43\\u0E19\",\n            zh: \"\\u5230\",\n            he: \"\\u05E2\\u05DC\"\n          }\n        }\n      ]\n    };\n    initSchema = {\n      action: \"init\",\n      description: \"Initialization block that runs once\",\n      category: \"control-flow\",\n      primaryRole: \"patient\",\n      hasBody: true,\n      roles: []\n    };\n    behaviorSchema = {\n      action: \"behavior\",\n      description: \"Define a reusable behavior\",\n      category: \"control-flow\",\n      primaryRole: \"patient\",\n      hasBody: true,\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The behavior name (PascalCase identifier)\",\n          required: true,\n          expectedTypes: [\"literal\", \"reference\", \"expression\"],\n          // expression for PascalCase identifiers\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    installSchema = {\n      action: \"install\",\n      description: \"Install a behavior on an element\",\n      category: \"control-flow\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The behavior name to install\",\n          required: true,\n          expectedTypes: [\"literal\", \"reference\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 2\n        },\n        {\n          role: \"destination\",\n          description: \"Element to install on (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 2,\n          sovPosition: 1\n        }\n      ]\n    };\n    measureSchema = {\n      action: \"measure\",\n      description: \"Measure element dimensions (x, y, width, height, etc.)\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"Property to measure (x, y, width, height, top, left, etc.)\",\n          required: false,\n          // Plain \"measure\" is valid, defaults to bounds\n          expectedTypes: [\"literal\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1\n        },\n        {\n          role: \"source\",\n          description: \"Element to measure (defaults to me)\",\n          required: false,\n          expectedTypes: [\"selector\", \"reference\"],\n          default: { type: \"reference\", value: \"me\" },\n          svoPosition: 2,\n          sovPosition: 2,\n          markerOverride: { en: \"of\" }\n          // \"measure width of #element\"\n        }\n      ]\n    };\n    swapSchema = {\n      action: \"swap\",\n      description: \"Swap DOM content using various strategies (innerHTML, outerHTML, delete, etc.)\",\n      category: \"dom-content\",\n      primaryRole: \"destination\",\n      roles: [\n        {\n          role: \"method\",\n          description: \"The swap strategy (innerHTML, outerHTML, beforebegin, afterend, delete)\",\n          required: false,\n          expectedTypes: [\"literal\"],\n          svoPosition: 1,\n          sovPosition: 3,\n          markerOverride: { en: \"\" }\n          // \"swap innerHTML ...\" (no preposition)\n        },\n        {\n          role: \"destination\",\n          description: \"The element to swap content in/for\",\n          required: true,\n          expectedTypes: [\"selector\", \"reference\"],\n          svoPosition: 2,\n          sovPosition: 1,\n          // The i18n transformer emits the element-swap shape `swap X with Y` with\n          // an UNMARKED destination right after the verb (`intercambiar #a con #b`),\n          // not the profile's destination preposition (`intercambiar en #a`), so the\n          // generated patterns never matched any transformer output. SVO languages\n          // override to the emission shape: bare destination (he marks it with the\n          // direct-object particle את, zh with 把).\n          markerOverride: {\n            en: \"of\",\n            // \"swap innerHTML of #target\"\n            es: \"\",\n            fr: \"\",\n            pt: \"\",\n            it: \"\",\n            de: \"\",\n            pl: \"\",\n            ru: \"\",\n            uk: \"\",\n            id: \"\",\n            ms: \"\",\n            sw: \"\",\n            th: \"\",\n            vi: \"\",\n            he: \"\\u05D0\\u05EA\",\n            // \"החלף את #a עם #b\" — direct-object particle\n            zh: \"\\u628A\"\n            // \"交换 把 #a 用 #b\" — BA object marker\n          }\n        },\n        {\n          role: \"patient\",\n          description: \"The content to swap in (optional for delete)\",\n          required: false,\n          expectedTypes: [\"literal\", \"expression\", \"selector\"],\n          svoPosition: 3,\n          sovPosition: 2,\n          // Patient takes each language's with-word (matching the i18n dicts'\n          // `with` emission), so `swap {destination} with {patient}` parses.\n          markerOverride: {\n            en: \"with\",\n            // \"swap innerHTML of #target with <html>\"\n            es: \"con\",\n            fr: \"avec\",\n            pt: \"com\",\n            it: \"con\",\n            de: \"mit\",\n            pl: \"z\",\n            ru: \"\\u0441\",\n            uk: \"\\u0437\",\n            id: \"dengan\",\n            ms: \"dengan\",\n            sw: \"na\",\n            th: \"\\u0E14\\u0E49\\u0E27\\u0E22\",\n            vi: \"v\\u1EDBi\",\n            he: \"\\u05E2\\u05DD\",\n            zh: \"\\u7528\"\n          }\n        }\n      ]\n    };\n    morphSchema = {\n      action: \"morph\",\n      description: \"Morph an element into another using DOM diffing\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The element to morph\",\n          required: true,\n          expectedTypes: [\"selector\", \"reference\"],\n          svoPosition: 1,\n          sovPosition: 1,\n          markerOverride: { en: \"\" }\n          // \"morph #target ...\" (no preposition)\n        },\n        {\n          role: \"destination\",\n          description: \"The target content/element to morph into\",\n          required: true,\n          expectedTypes: [\"literal\", \"expression\", \"selector\", \"reference\"],\n          svoPosition: 2,\n          sovPosition: 2,\n          markerOverride: { en: \"to\" }\n          // \"morph #target to it\"\n        }\n      ]\n    };\n    beepSchema = {\n      action: \"beep\",\n      description: \"Debug output for expressions with type information\",\n      category: \"variable\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The expression(s) to debug\",\n          required: false,\n          expectedTypes: [\"literal\", \"selector\", \"reference\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    breakSchema = {\n      action: \"break\",\n      description: \"Exit from the current loop\",\n      category: \"control-flow\",\n      primaryRole: \"patient\",\n      roles: []\n    };\n    copySchema = {\n      action: \"copy\",\n      description: \"Copy text or element content to the clipboard\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The text or element to copy\",\n          required: true,\n          expectedTypes: [\"literal\", \"selector\", \"reference\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1\n        }\n      ]\n    };\n    exitSchema = {\n      action: \"exit\",\n      description: \"Exit from the current event handler\",\n      category: \"control-flow\",\n      primaryRole: \"patient\",\n      roles: [],\n      // A guard-clause `exit` stands alone inside a conditional branch (`if item\n      // is null exit end`, behavior-sortable). Without a bare-keyword pattern the\n      // branch parses to NOTHING, the conditional fold rejects (empty then-branch),\n      // and the flat `if` head truncates the condition — whose leftover predicate\n      // word then re-anchors as a phantom command in languages where it doubles as\n      // a command keyword (id `kosong` → `empty me`). Safe to stand alone: `exit`\n      // takes no arguments, so the single-keyword match can't swallow anything.\n      bareKeyword: true\n    };\n    pickSchema = {\n      action: \"pick\",\n      description: \"Select a random element from a collection\",\n      category: \"variable\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The items to pick from\",\n          required: true,\n          expectedTypes: [\"literal\", \"expression\", \"reference\"],\n          svoPosition: 1,\n          sovPosition: 1\n        },\n        {\n          role: \"source\",\n          description: 'The array to pick from (with \"from\" keyword)',\n          required: false,\n          expectedTypes: [\"reference\", \"expression\"],\n          svoPosition: 2,\n          sovPosition: 2\n        }\n      ]\n    };\n    scrollSchema = {\n      action: \"scroll\",\n      description: \"Scroll the viewport to a target element\",\n      category: \"navigation\",\n      primaryRole: \"destination\",\n      // Position/behavior keywords appear in the parser's args alongside the target;\n      // schema-driven role inference skips them when scanning for the destination.\n      // Mirrors the runtime command's skip set in core/commands/navigation/scroll-to.ts.\n      argSkipTokens: [\n        \"of\",\n        \"the\",\n        \"top\",\n        \"bottom\",\n        \"middle\",\n        \"center\",\n        \"nearest\",\n        \"left\",\n        \"right\",\n        \"smoothly\",\n        \"instantly\"\n      ],\n      roles: [\n        {\n          role: \"destination\",\n          description: \"The element to scroll to\",\n          required: true,\n          // 'expression' admits positional queries (`last <.message/> in #chat`).\n          expectedTypes: [\"selector\", \"reference\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1,\n          markerOverride: { en: \"to\" }\n        }\n      ]\n    };\n    URL_MARKER_ALL_LANGS = {\n      en: \"url\",\n      es: \"url\",\n      pt: \"url\",\n      fr: \"url\",\n      de: \"url\",\n      it: \"url\",\n      ja: \"url\",\n      ko: \"url\",\n      zh: \"url\",\n      ar: \"url\",\n      he: \"url\",\n      hi: \"url\",\n      bn: \"url\",\n      tr: \"url\",\n      ru: \"url\",\n      uk: \"url\",\n      pl: \"url\",\n      id: \"url\",\n      vi: \"url\",\n      th: \"url\",\n      ms: \"url\",\n      tl: \"url\",\n      sw: \"url\",\n      qu: \"url\"\n    };\n    PARTIALS_IN_MARKER_ALL_LANGS = {\n      en: \"partials in\",\n      es: \"partials in\",\n      pt: \"partials in\",\n      fr: \"partials in\",\n      de: \"partials in\",\n      it: \"partials in\",\n      ja: \"partials in\",\n      ko: \"partials in\",\n      zh: \"partials in\",\n      ar: \"partials in\",\n      he: \"partials in\",\n      hi: \"partials in\",\n      bn: \"partials in\",\n      tr: \"partials in\",\n      ru: \"partials in\",\n      uk: \"partials in\",\n      pl: \"partials in\",\n      id: \"partials in\",\n      vi: \"partials in\",\n      th: \"partials in\",\n      ms: \"partials in\",\n      tl: \"partials in\",\n      sw: \"partials in\",\n      qu: \"partials in\"\n    };\n    pushSchema = {\n      action: \"push\",\n      description: \"Push a URL onto the browser history\",\n      category: \"navigation\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The URL to push (after the `url` keyword)\",\n          required: true,\n          expectedTypes: [\"literal\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1,\n          markerOverride: URL_MARKER_ALL_LANGS\n        }\n      ]\n    };\n    replaceSchema = {\n      action: \"replace\",\n      description: \"Replace the current browser history entry with a URL\",\n      category: \"navigation\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The URL to replace with (after the `url` keyword)\",\n          required: true,\n          expectedTypes: [\"literal\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1,\n          markerOverride: URL_MARKER_ALL_LANGS\n        }\n      ]\n    };\n    processSchema = {\n      action: \"process\",\n      description: \"Process hx-partial markup in HTML content\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The HTML content (string, element, or response) to process\",\n          required: true,\n          expectedTypes: [\"literal\", \"reference\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 1,\n          markerOverride: PARTIALS_IN_MARKER_ALL_LANGS\n        }\n      ]\n    };\n    renderSchema = {\n      action: \"render\",\n      description: \"Render a template with optional variables\",\n      category: \"dom-content\",\n      primaryRole: \"patient\",\n      roles: [\n        {\n          role: \"patient\",\n          description: \"The template to render\",\n          required: true,\n          expectedTypes: [\"selector\", \"reference\", \"expression\"],\n          svoPosition: 1,\n          sovPosition: 2\n        },\n        {\n          role: \"style\",\n          description: \"Variables to pass to the template (with keyword)\",\n          required: false,\n          expectedTypes: [\"expression\", \"reference\"],\n          svoPosition: 2,\n          sovPosition: 1\n        }\n      ]\n    };\n    commandSchemas = {\n      // Original schemas\n      toggle: toggleSchema,\n      add: addSchema,\n      remove: removeSchema,\n      put: putSchema,\n      set: setSchema,\n      show: showSchema,\n      hide: hideSchema,\n      on: onSchema,\n      trigger: triggerSchema,\n      wait: waitSchema,\n      fetch: fetchSchema,\n      increment: incrementSchema,\n      decrement: decrementSchema,\n      append: appendSchema,\n      prepend: prependSchema,\n      // Batch 1 - Simple Commands\n      log: logSchema,\n      get: getCommandSchema,\n      take: takeSchema,\n      make: makeSchema,\n      halt: haltSchema,\n      settle: settleSchema,\n      throw: throwSchema,\n      send: sendSchema,\n      // Batch 2 - Control Flow\n      if: ifSchema,\n      unless: unlessSchema,\n      else: elseSchema,\n      repeat: repeatSchema,\n      for: forSchema,\n      while: whileSchema,\n      continue: continueSchema,\n      // Batch 3 - DOM & Navigation\n      go: goSchema,\n      scroll: scrollSchema,\n      push: pushSchema,\n      replace: replaceSchema,\n      process: processSchema,\n      transition: transitionSchema,\n      clone: cloneSchema,\n      focus: focusSchema,\n      blur: blurSchema,\n      empty: emptySchema,\n      open: openSchema,\n      close: closeSchema,\n      select: selectSchema,\n      clear: clearSchema,\n      reset: resetSchema,\n      breakpoint: breakpointSchema,\n      // Batch 4 - Advanced\n      call: callSchema,\n      return: returnSchema,\n      js: jsSchema,\n      async: asyncSchema,\n      tell: tellSchema,\n      default: defaultSchema,\n      init: initSchema,\n      behavior: behaviorSchema,\n      install: installSchema,\n      measure: measureSchema,\n      // Batch 5 - DOM Content Manipulation\n      swap: swapSchema,\n      morph: morphSchema,\n      // Batch 6 - Missing Commands\n      beep: beepSchema,\n      break: breakSchema,\n      copy: copySchema,\n      exit: exitSchema,\n      pick: pickSchema,\n      render: renderSchema,\n      // Reactivity\n      bind: bindSchema,\n      live: liveSchema,\n      // Realtime / streaming + service workers\n      eventsource: eventsourceSchema,\n      socket: socketSchema,\n      worker: workerSchema,\n      intercept: interceptSchema,\n      // Meta commands (for compound structures)\n      compound: {\n        action: \"compound\",\n        description: \"A compound node representing chained statements\",\n        primaryRole: \"patient\",\n        // Compound nodes don't have a traditional primary role\n        category: \"control-flow\",\n        hasBody: true,\n        roles: []\n      }\n    };\n    if (typeof process !== \"undefined\" && process.env.NODE_ENV !== \"production\") {\n      Promise.resolve().then(() => (init_schema_validator(), schema_validator_exports)).then(({ validateAllSchemas: validateAllSchemas2, formatValidationResults: formatValidationResults2 }) => {\n        const validations = validateAllSchemas2(commandSchemas);\n        if (validations.size > 0) {\n          console.warn(\"[SCHEMA VALIDATION] Found issues in command schemas:\");\n          console.warn(formatValidationResults2(validations));\n          console.warn(\"\\nThese warnings help identify potential schema design issues.\");\n          console.warn(\"Fix them to improve type inference and avoid runtime bugs.\");\n        }\n      }).catch((err) => {\n        console.debug(\"Schema validation skipped:\", err);\n      });\n    }\n  }\n});\n\n// src/patterns/put.ts\nfunction getPutPatternsBn() {\n  return [\n    // SOV verb-final positional put: `{patient} <posWord> {destination} কে রাখুন`\n    // (put X before/after me). আগে→before / পরে→after; position word → `manner`,\n    // target (আমি→me) → `destination`, কে the pre-verb object marker. priority 105\n    // out-ranks put-bn-full(100); requires the position word so it never shadows\n    // the into-put. Without these the verb-final body fell to the SOV\n    // verb-anchorer (phantom `before` command) / a roleless put.\n    {\n      id: \"put-bn-before\",\n      language: \"bn\",\n      command: \"put\",\n      priority: 105,\n      template: {\n        format: \"{patient} before {destination} \\u0995\\u09C7 \\u09B0\\u09BE\\u0996\\u09C1\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"before\" },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u0995\\u09C7\" },\n          { type: \"literal\", value: \"\\u09B0\\u09BE\\u0996\\u09C1\\u09A8\", alternatives: [\"\\u09B0\\u09BE\\u0996\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        destination: { marker: \"before\" },\n        manner: { default: { type: \"literal\", value: \"before\" } }\n      }\n    },\n    {\n      id: \"put-bn-after\",\n      language: \"bn\",\n      command: \"put\",\n      priority: 105,\n      template: {\n        format: \"{patient} after {destination} \\u0995\\u09C7 \\u09B0\\u09BE\\u0996\\u09C1\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"after\" },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u0995\\u09C7\" },\n          { type: \"literal\", value: \"\\u09B0\\u09BE\\u0996\\u09C1\\u09A8\", alternatives: [\"\\u09B0\\u09BE\\u0996\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        destination: { marker: \"after\" },\n        manner: { default: { type: \"literal\", value: \"after\" } }\n      }\n    },\n    // Full pattern: 'hello' কে #output এ রাখুন\n    {\n      id: \"put-bn-full\",\n      language: \"bn\",\n      command: \"put\",\n      priority: 100,\n      template: {\n        format: \"{patient} \\u0995\\u09C7 {destination} \\u098F \\u09B0\\u09BE\\u0996\\u09C1\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0995\\u09C7\" },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u098F\", alternatives: [\"\\u09A4\\u09C7\"] },\n          { type: \"literal\", value: \"\\u09B0\\u09BE\\u0996\\u09C1\\u09A8\", alternatives: [\"\\u09B0\\u09BE\\u0996\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        destination: { marker: \"\\u098F\", position: 2 }\n      }\n    },\n    // Simple pattern: রাখুন 'hello' #output এ\n    {\n      id: \"put-bn-simple\",\n      language: \"bn\",\n      command: \"put\",\n      priority: 90,\n      template: {\n        format: \"\\u09B0\\u09BE\\u0996\\u09C1\\u09A8 {patient} {destination} \\u098F\",\n        tokens: [\n          { type: \"literal\", value: \"\\u09B0\\u09BE\\u0996\\u09C1\\u09A8\", alternatives: [\"\\u09B0\\u09BE\\u0996\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u098F\", alternatives: [\"\\u09A4\\u09C7\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getPutPatternsEn() {\n  return [\n    {\n      id: \"put-en-into\",\n      language: \"en\",\n      command: \"put\",\n      priority: 100,\n      template: {\n        format: \"put {patient} into {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"put\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"into\", alternatives: [\"in\", \"to\"] },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"into\", markerAlternatives: [\"in\", \"to\"] }\n      }\n    },\n    {\n      id: \"put-en-before\",\n      language: \"en\",\n      command: \"put\",\n      priority: 95,\n      template: {\n        format: \"put {patient} before {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"put\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"before\" },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"before\" },\n        manner: { default: { type: \"literal\", value: \"before\" } }\n      }\n    },\n    {\n      id: \"put-en-after\",\n      language: \"en\",\n      command: \"put\",\n      priority: 95,\n      template: {\n        format: \"put {patient} after {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"put\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"after\" },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"after\" },\n        manner: { default: { type: \"literal\", value: \"after\" } }\n      }\n    },\n    // The at-end-of / at-start-of positional puts (`put it at end of body`,\n    // make-toast-element). The three-word position phrase is matched as\n    // consecutive literal tokens and recorded whole in `manner` — the exact\n    // form the core runtime's PutCommand.mapPosition accepts (beforeend /\n    // afterbegin).\n    {\n      id: \"put-en-at-end\",\n      language: \"en\",\n      command: \"put\",\n      priority: 96,\n      template: {\n        format: \"put {patient} at end of {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"put\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"at\" },\n          { type: \"literal\", value: \"end\" },\n          { type: \"literal\", value: \"of\" },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { position: 5 },\n        manner: { default: { type: \"literal\", value: \"at end of\" } }\n      }\n    },\n    {\n      id: \"put-en-at-start\",\n      language: \"en\",\n      command: \"put\",\n      priority: 96,\n      template: {\n        format: \"put {patient} at start of {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"put\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"at\" },\n          { type: \"literal\", value: \"start\" },\n          { type: \"literal\", value: \"of\" },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { position: 5 },\n        manner: { default: { type: \"literal\", value: \"at start of\" } }\n      }\n    }\n  ];\n}\nfunction getPutPatternsEs() {\n  return [\n    {\n      id: \"put-es-full\",\n      language: \"es\",\n      command: \"put\",\n      priority: 100,\n      template: {\n        format: \"poner {patient} en {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"poner\", alternatives: [\"pon\", \"colocar\", \"put\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"en\", alternatives: [\"dentro de\", \"a\"] },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"en\", markerAlternatives: [\"dentro de\", \"a\"] }\n      }\n    },\n    {\n      id: \"put-es-before\",\n      language: \"es\",\n      command: \"put\",\n      priority: 95,\n      template: {\n        format: \"poner {patient} antes de {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"poner\", alternatives: [\"pon\", \"colocar\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"antes de\", alternatives: [\"antes\"] },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"antes de\", markerAlternatives: [\"antes\"] },\n        manner: { default: { type: \"literal\", value: \"before\" } }\n      }\n    },\n    {\n      id: \"put-es-after\",\n      language: \"es\",\n      command: \"put\",\n      priority: 95,\n      template: {\n        format: \"poner {patient} despu\\xE9s de {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"poner\", alternatives: [\"pon\", \"colocar\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"despu\\xE9s de\", alternatives: [\"despues de\", \"despu\\xE9s\"] },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"despu\\xE9s de\", markerAlternatives: [\"despues de\", \"despu\\xE9s\"] },\n        manner: { default: { type: \"literal\", value: \"after\" } }\n      }\n    }\n  ];\n}\nfunction getPutPatternsHi() {\n  return [\n    // SOV verb-final positional put: `{patient} <posWord> {destination} को रखें`\n    // (put X before/after me). से पहले→before / के बाद→after normalize to\n    // before/after, so one literal (the normalized form) covers both surface\n    // variants. The position word is captured as `manner`; the target (मैं→me) as\n    // `destination`. priority 106 out-ranks put-hi-verb-medial(105); specific\n    // enough (requires the position word) never to shadow the into-puts. Without\n    // these the verb-final body found no put pattern and the SOV verb-anchoring\n    // fallback turned `before`/`after` into a phantom command.\n    {\n      id: \"put-hi-before\",\n      language: \"hi\",\n      command: \"put\",\n      priority: 106,\n      template: {\n        format: \"{patient} before {destination} \\u0915\\u094B \\u0930\\u0916\\u0947\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"before\" },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u0915\\u094B\" },\n          { type: \"literal\", value: \"\\u0930\\u0916\\u0947\\u0902\", alternatives: [\"\\u0930\\u0916\", \"\\u0921\\u093E\\u0932\\u0947\\u0902\", \"\\u0921\\u093E\\u0932\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        destination: { marker: \"before\" },\n        manner: { default: { type: \"literal\", value: \"before\" } }\n      }\n    },\n    {\n      id: \"put-hi-after\",\n      language: \"hi\",\n      command: \"put\",\n      priority: 106,\n      template: {\n        format: \"{patient} after {destination} \\u0915\\u094B \\u0930\\u0916\\u0947\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"after\" },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u0915\\u094B\" },\n          { type: \"literal\", value: \"\\u0930\\u0916\\u0947\\u0902\", alternatives: [\"\\u0930\\u0916\", \"\\u0921\\u093E\\u0932\\u0947\\u0902\", \"\\u0921\\u093E\\u0932\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        destination: { marker: \"after\" },\n        manner: { default: { type: \"literal\", value: \"after\" } }\n      }\n    },\n    // Verb-MEDIAL pattern: यह को रखें #container में (`{patient} को रखें\n    // {destination} में`). The hi transformer emits put VERB-MEDIAL in a fused\n    // event body's then-clause (`… बनाएं फिर यह को रखें #container में` —\n    // make-element / make-toast first put), with रखें BETWEEN the patient and the\n    // destination, unlike the standalone verb-FINAL `put-hi-full` below. Without\n    // this the clause fell through to `put-hi-bare` (`रखें {patient}`), which\n    // grabbed the DESTINATION (#container) as the patient and defaulted the\n    // destination to `me` — the put landed on the clicked element. Priority above\n    // put-hi-full; only matches when रखें is medial, so the verb-final form is\n    // untouched.\n    {\n      id: \"put-hi-verb-medial\",\n      language: \"hi\",\n      command: \"put\",\n      priority: 105,\n      template: {\n        format: \"{patient} \\u0915\\u094B \\u0930\\u0916\\u0947\\u0902 {destination} \\u092E\\u0947\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0915\\u094B\" },\n          { type: \"literal\", value: \"\\u0930\\u0916\\u0947\\u0902\", alternatives: [\"\\u0930\\u0916\", \"\\u0921\\u093E\\u0932\\u0947\\u0902\", \"\\u0921\\u093E\\u0932\"] },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u092E\\u0947\\u0902\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        destination: { marker: \"\\u092E\\u0947\\u0902\", position: 3 }\n      }\n    },\n    // Full pattern: \"text\" को #element में रखें\n    {\n      id: \"put-hi-full\",\n      language: \"hi\",\n      command: \"put\",\n      priority: 100,\n      template: {\n        format: \"{patient} \\u0915\\u094B {destination} \\u092E\\u0947\\u0902 \\u0930\\u0916\\u0947\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0915\\u094B\" },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u092E\\u0947\\u0902\" },\n          { type: \"literal\", value: \"\\u0930\\u0916\\u0947\\u0902\", alternatives: [\"\\u0930\\u0916\", \"\\u0921\\u093E\\u0932\\u0947\\u0902\", \"\\u0921\\u093E\\u0932\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        destination: { marker: \"\\u092E\\u0947\\u0902\", position: 3 }\n      }\n    },\n    // Simple pattern: \"text\" रखें\n    {\n      id: \"put-hi-simple\",\n      language: \"hi\",\n      command: \"put\",\n      priority: 90,\n      template: {\n        format: \"{patient} \\u0930\\u0916\\u0947\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0930\\u0916\\u0947\\u0902\", alternatives: [\"\\u0930\\u0916\", \"\\u0921\\u093E\\u0932\\u0947\\u0902\", \"\\u0921\\u093E\\u0932\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    },\n    // Bare pattern: रखें \"text\"\n    {\n      id: \"put-hi-bare\",\n      language: \"hi\",\n      command: \"put\",\n      priority: 80,\n      template: {\n        format: \"\\u0930\\u0916\\u0947\\u0902 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0930\\u0916\\u0947\\u0902\", alternatives: [\"\\u0930\\u0916\", \"\\u0921\\u093E\\u0932\\u0947\\u0902\", \"\\u0921\\u093E\\u0932\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getPutPatternsId() {\n  return [\n    {\n      id: \"put-id-full\",\n      language: \"id\",\n      command: \"put\",\n      priority: 100,\n      template: {\n        // Two-word preposition: \"ke dalam\"\n        format: \"taruh {patient} ke dalam {destination}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"taruh\",\n            alternatives: [\"letakkan\", \"masukkan\", \"tempatkan\", \"put\"]\n          },\n          {\n            type: \"role\",\n            role: \"patient\",\n            expectedTypes: [\"literal\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"ke\" },\n          { type: \"literal\", value: \"dalam\", alternatives: [\"di\"] },\n          { type: \"role\", role: \"destination\", expectedTypes: [\"selector\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { position: 4 }\n      }\n    },\n    {\n      id: \"put-id-simple-ke\",\n      language: \"id\",\n      command: \"put\",\n      priority: 95,\n      template: {\n        // Simplified: just \"ke\" without \"dalam\"\n        format: \"taruh {patient} ke {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"taruh\", alternatives: [\"letakkan\", \"masukkan\", \"tempatkan\"] },\n          {\n            type: \"role\",\n            role: \"patient\",\n            expectedTypes: [\"literal\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"ke\", alternatives: [\"di\", \"pada\"] },\n          { type: \"role\", role: \"destination\", expectedTypes: [\"selector\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { position: 3 }\n      }\n    },\n    {\n      id: \"put-id-di\",\n      language: \"id\",\n      command: \"put\",\n      priority: 90,\n      template: {\n        // Alternative with \"di\"\n        format: \"taruh {patient} di {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"taruh\", alternatives: [\"letakkan\", \"masukkan\"] },\n          {\n            type: \"role\",\n            role: \"patient\",\n            expectedTypes: [\"literal\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"di\" },\n          { type: \"role\", role: \"destination\", expectedTypes: [\"selector\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { position: 3 }\n      }\n    }\n  ];\n}\nfunction getPutPatternsIt() {\n  return [\n    {\n      id: \"put-it-full\",\n      language: \"it\",\n      command: \"put\",\n      priority: 100,\n      template: {\n        format: \"mettere {patient} in {target}\",\n        tokens: [\n          { type: \"literal\", value: \"mettere\", alternatives: [\"metti\", \"inserire\", \"put\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"in\", alternatives: [\"dentro\", \"nel\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"in\", markerAlternatives: [\"dentro\", \"nel\"] }\n      }\n    },\n    {\n      // before/after must out-rank put-it-full (100): that pattern's destination\n      // group is optional, so it greedily matches `mettere {patient}` alone and\n      // would otherwise shadow the position clause (`prima io` dropped).\n      id: \"put-it-before\",\n      language: \"it\",\n      command: \"put\",\n      priority: 105,\n      template: {\n        format: \"mettere {patient} prima {target}\",\n        tokens: [\n          { type: \"literal\", value: \"mettere\", alternatives: [\"metti\", \"inserire\", \"put\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"prima\" },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"prima\" },\n        manner: { default: { type: \"literal\", value: \"before\" } }\n      }\n    },\n    {\n      id: \"put-it-after\",\n      language: \"it\",\n      command: \"put\",\n      priority: 105,\n      template: {\n        format: \"mettere {patient} dopo {target}\",\n        tokens: [\n          { type: \"literal\", value: \"mettere\", alternatives: [\"metti\", \"inserire\", \"put\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"dopo\" },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"dopo\" },\n        manner: { default: { type: \"literal\", value: \"after\" } }\n      }\n    },\n    {\n      id: \"put-it-simple\",\n      language: \"it\",\n      command: \"put\",\n      priority: 90,\n      template: {\n        format: \"mettere {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"mettere\", alternatives: [\"metti\", \"inserire\", \"put\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getPutPatternsPl() {\n  return [\n    {\n      id: \"put-pl-full\",\n      language: \"pl\",\n      command: \"put\",\n      priority: 100,\n      template: {\n        format: \"umie\\u015B\\u0107 {patient} w {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"umie\\u015B\\u0107\", alternatives: [\"umiesc\", \"wstaw\", \"w\\u0142\\xF3\\u017C\", \"wloz\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"w\", alternatives: [\"do\", \"na\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"w\", markerAlternatives: [\"do\", \"na\"] }\n      }\n    },\n    {\n      id: \"put-pl-before\",\n      language: \"pl\",\n      command: \"put\",\n      // 105 (not 95) so the position clause out-ranks put-pl-full (100), which\n      // would otherwise capture `umieść {patient}` alone and drop `przed {target}`.\n      priority: 105,\n      template: {\n        format: \"umie\\u015B\\u0107 {patient} przed {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"umie\\u015B\\u0107\", alternatives: [\"umiesc\", \"wstaw\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"przed\" },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"przed\" },\n        manner: { default: { type: \"literal\", value: \"before\" } }\n      }\n    },\n    {\n      id: \"put-pl-after\",\n      language: \"pl\",\n      command: \"put\",\n      priority: 105,\n      template: {\n        format: \"umie\\u015B\\u0107 {patient} po {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"umie\\u015B\\u0107\", alternatives: [\"umiesc\", \"wstaw\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"po\" },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"po\" },\n        manner: { default: { type: \"literal\", value: \"after\" } }\n      }\n    }\n  ];\n}\nfunction getPutPatternsRu() {\n  return [\n    {\n      id: \"put-ru-full\",\n      language: \"ru\",\n      command: \"put\",\n      priority: 100,\n      template: {\n        format: \"\\u043F\\u043E\\u043B\\u043E\\u0436\\u0438\\u0442\\u044C {patient} \\u0432 {destination}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"\\u043F\\u043E\\u043B\\u043E\\u0436\\u0438\\u0442\\u044C\",\n            alternatives: [\"\\u043F\\u043E\\u043B\\u043E\\u0436\\u0438\", \"\\u043F\\u043E\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C\", \"\\u043F\\u043E\\u043C\\u0435\\u0441\\u0442\\u0438\", \"\\u0432\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C\", \"\\u0432\\u0441\\u0442\\u0430\\u0432\\u044C\"]\n          },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u0432\", alternatives: [\"\\u0432\\u043E\", \"\\u043D\\u0430\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"\\u0432\", markerAlternatives: [\"\\u0432\\u043E\", \"\\u043D\\u0430\"] }\n      }\n    },\n    {\n      id: \"put-ru-before\",\n      language: \"ru\",\n      command: \"put\",\n      // 105 (not 95) so the position clause out-ranks put-ru-full (100).\n      priority: 105,\n      template: {\n        format: \"\\u043F\\u043E\\u043B\\u043E\\u0436\\u0438\\u0442\\u044C {patient} \\u043F\\u0435\\u0440\\u0435\\u0434 {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u043E\\u043B\\u043E\\u0436\\u0438\\u0442\\u044C\", alternatives: [\"\\u043F\\u043E\\u043B\\u043E\\u0436\\u0438\", \"\\u043F\\u043E\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C\", \"\\u043F\\u043E\\u043C\\u0435\\u0441\\u0442\\u0438\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u043F\\u0435\\u0440\\u0435\\u0434\", alternatives: [\"\\u0434\\u043E\"] },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"\\u043F\\u0435\\u0440\\u0435\\u0434\", markerAlternatives: [\"\\u0434\\u043E\"] },\n        manner: { default: { type: \"literal\", value: \"before\" } }\n      }\n    },\n    {\n      id: \"put-ru-after\",\n      language: \"ru\",\n      command: \"put\",\n      priority: 105,\n      template: {\n        format: \"\\u043F\\u043E\\u043B\\u043E\\u0436\\u0438\\u0442\\u044C {patient} \\u043F\\u043E\\u0441\\u043B\\u0435 {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u043E\\u043B\\u043E\\u0436\\u0438\\u0442\\u044C\", alternatives: [\"\\u043F\\u043E\\u043B\\u043E\\u0436\\u0438\", \"\\u043F\\u043E\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C\", \"\\u043F\\u043E\\u043C\\u0435\\u0441\\u0442\\u0438\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u043F\\u043E\\u0441\\u043B\\u0435\" },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"\\u043F\\u043E\\u0441\\u043B\\u0435\" },\n        manner: { default: { type: \"literal\", value: \"after\" } }\n      }\n    }\n  ];\n}\nfunction getPutPatternsTh() {\n  return [\n    // Pattern: ใส่ 'hello' ใน #output\n    {\n      id: \"put-th-full\",\n      language: \"th\",\n      command: \"put\",\n      priority: 100,\n      template: {\n        format: \"\\u0E43\\u0E2A\\u0E48 {patient} \\u0E43\\u0E19 {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E43\\u0E2A\\u0E48\", alternatives: [\"\\u0E27\\u0E32\\u0E07\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0E43\\u0E19\" },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"\\u0E43\\u0E19\", position: 3 }\n      }\n    },\n    // SVO positional put: `ใส่ {patient} ก่อน/หลัง {destination}` (put X before/after\n    // me). ก่อน→before / หลัง→after captured as `manner`; target as `destination`.\n    // priority 105 out-ranks put-th-full(100) so the position clause wins the\n    // event-handler retry's matchBest (th fuses the event, then re-parses the body\n    // clause). Without these th dropped all roles → \"put requires arguments\".\n    {\n      id: \"put-th-before\",\n      language: \"th\",\n      command: \"put\",\n      priority: 105,\n      template: {\n        format: \"\\u0E43\\u0E2A\\u0E48 {patient} \\u0E01\\u0E48\\u0E2D\\u0E19 {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E43\\u0E2A\\u0E48\", alternatives: [\"\\u0E27\\u0E32\\u0E07\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0E01\\u0E48\\u0E2D\\u0E19\" },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"\\u0E01\\u0E48\\u0E2D\\u0E19\" },\n        manner: { default: { type: \"literal\", value: \"before\" } }\n      }\n    },\n    {\n      id: \"put-th-after\",\n      language: \"th\",\n      command: \"put\",\n      priority: 105,\n      template: {\n        format: \"\\u0E43\\u0E2A\\u0E48 {patient} \\u0E2B\\u0E25\\u0E31\\u0E07 {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E43\\u0E2A\\u0E48\", alternatives: [\"\\u0E27\\u0E32\\u0E07\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0E2B\\u0E25\\u0E31\\u0E07\" },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"\\u0E2B\\u0E25\\u0E31\\u0E07\" },\n        manner: { default: { type: \"literal\", value: \"after\" } }\n      }\n    }\n  ];\n}\nfunction getPutPatternsUk() {\n  return [\n    {\n      id: \"put-uk-full\",\n      language: \"uk\",\n      command: \"put\",\n      priority: 100,\n      template: {\n        format: \"\\u043F\\u043E\\u043A\\u043B\\u0430\\u0441\\u0442\\u0438 {patient} \\u0432 {destination}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"\\u043F\\u043E\\u043A\\u043B\\u0430\\u0441\\u0442\\u0438\",\n            alternatives: [\"\\u043F\\u043E\\u043A\\u043B\\u0430\\u0434\\u0438\", \"\\u043F\\u043E\\u043C\\u0456\\u0441\\u0442\\u0438\\u0442\\u0438\", \"\\u043F\\u043E\\u043C\\u0456\\u0441\\u0442\\u0438\", \"\\u0432\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u0438\", \"\\u0432\\u0441\\u0442\\u0430\\u0432\"]\n          },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u0432\", alternatives: [\"\\u0443\", \"\\u043D\\u0430\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"\\u0432\", markerAlternatives: [\"\\u0443\", \"\\u043D\\u0430\"] }\n      }\n    },\n    {\n      id: \"put-uk-before\",\n      language: \"uk\",\n      command: \"put\",\n      priority: 95,\n      template: {\n        format: \"\\u043F\\u043E\\u043A\\u043B\\u0430\\u0441\\u0442\\u0438 {patient} \\u043F\\u0435\\u0440\\u0435\\u0434 {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u043E\\u043A\\u043B\\u0430\\u0441\\u0442\\u0438\", alternatives: [\"\\u043F\\u043E\\u043A\\u043B\\u0430\\u0434\\u0438\", \"\\u043F\\u043E\\u043C\\u0456\\u0441\\u0442\\u0438\\u0442\\u0438\", \"\\u043F\\u043E\\u043C\\u0456\\u0441\\u0442\\u0438\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u043F\\u0435\\u0440\\u0435\\u0434\", alternatives: [\"\\u0434\\u043E\"] },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"\\u043F\\u0435\\u0440\\u0435\\u0434\", markerAlternatives: [\"\\u0434\\u043E\"] },\n        manner: { default: { type: \"literal\", value: \"before\" } }\n      }\n    },\n    {\n      id: \"put-uk-after\",\n      language: \"uk\",\n      command: \"put\",\n      priority: 95,\n      template: {\n        format: \"\\u043F\\u043E\\u043A\\u043B\\u0430\\u0441\\u0442\\u0438 {patient} \\u043F\\u0456\\u0441\\u043B\\u044F {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u043E\\u043A\\u043B\\u0430\\u0441\\u0442\\u0438\", alternatives: [\"\\u043F\\u043E\\u043A\\u043B\\u0430\\u0434\\u0438\", \"\\u043F\\u043E\\u043C\\u0456\\u0441\\u0442\\u0438\\u0442\\u0438\", \"\\u043F\\u043E\\u043C\\u0456\\u0441\\u0442\\u0438\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u043F\\u0456\\u0441\\u043B\\u044F\" },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"\\u043F\\u0456\\u0441\\u043B\\u044F\" },\n        manner: { default: { type: \"literal\", value: \"after\" } }\n      }\n    }\n  ];\n}\nfunction getPutPatternsVi() {\n  return [\n    {\n      id: \"put-vi-into\",\n      language: \"vi\",\n      command: \"put\",\n      priority: 100,\n      template: {\n        format: \"\\u0111\\u1EB7t {patient} v\\xE0o {target}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0111\\u1EB7t\", alternatives: [\"\\u0111\\u1EC3\", \"\\u0111\\u01B0a\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"v\\xE0o\", alternatives: [\"v\\xE0o trong\"] },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"v\\xE0o\", markerAlternatives: [\"v\\xE0o trong\"] }\n      }\n    },\n    {\n      id: \"put-vi-before\",\n      language: \"vi\",\n      command: \"put\",\n      priority: 105,\n      template: {\n        format: \"\\u0111\\u1EB7t {patient} tr\\u01B0\\u1EDBc {target}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0111\\u1EB7t\", alternatives: [\"\\u0111\\u1EC3\", \"\\u0111\\u01B0a\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"tr\\u01B0\\u1EDBc\", alternatives: [\"tr\\u01B0\\u1EDBc khi\"] },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      // The target is the destination (the node to insert relative to); the\n      // position word itself is the `manner` (before/after) the AST mapper turns\n      // into the DOM-insert modifier. The previous pattern captured the target as\n      // `manner` and never recorded the position → wrong insert offset.\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"tr\\u01B0\\u1EDBc\", markerAlternatives: [\"tr\\u01B0\\u1EDBc khi\"] },\n        manner: { default: { type: \"literal\", value: \"before\" } }\n      }\n    },\n    {\n      id: \"put-vi-after\",\n      language: \"vi\",\n      command: \"put\",\n      priority: 105,\n      template: {\n        format: \"\\u0111\\u1EB7t {patient} sau {target}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0111\\u1EB7t\", alternatives: [\"\\u0111\\u1EC3\", \"\\u0111\\u01B0a\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"sau\", alternatives: [\"sau khi\"] },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"sau\", markerAlternatives: [\"sau khi\"] },\n        manner: { default: { type: \"literal\", value: \"after\" } }\n      }\n    }\n  ];\n}\nfunction getPutPatternsQu() {\n  return [\n    // SOV verb-final positional put: `{patient} <posWord> {destination} ta churay`\n    // (put X before/after me). ñawpaqpi→before / qhepapi→after (single keyword\n    // tokens after the quechua tokenizer fix); position word → `manner`, target\n    // (noqa→me) → `destination` marked by accusative `ta`. priority 105 out-ranks\n    // put-qu-patient-first(96) and makes matchBest win before the SOV\n    // verb-anchoring fallback. `alternatives:[manner]` accepts the normalized form.\n    ...[\"before\", \"after\"].map((manner) => {\n      const posWord = manner === \"before\" ? \"\\xF1awpaqpi\" : \"qhepapi\";\n      return {\n        id: `put-qu-${manner}`,\n        language: \"qu\",\n        command: \"put\",\n        priority: 105,\n        template: {\n          format: `{patient} ${posWord} {destination} ta churay`,\n          tokens: [\n            { type: \"role\", role: \"patient\" },\n            { type: \"literal\", value: posWord, alternatives: [manner] },\n            { type: \"role\", role: \"destination\" },\n            { type: \"group\", optional: true, tokens: [{ type: \"literal\", value: \"ta\" }] },\n            { type: \"literal\", value: \"churay\", alternatives: [\"tiyachiy\"] }\n          ]\n        },\n        extraction: {\n          patient: { position: 0 },\n          destination: { position: 2 },\n          manner: { default: { type: \"literal\", value: manner } }\n        }\n      };\n    }),\n    // Patient-first SOV with destination: chay ta kurku man churay — the i18n\n    // transformer emits PATIENT-first for qu (`chay ta noqa man churay`,\n    // async-block / fetch-with-headers / if-exists then-tails); there were no\n    // handcrafted qu put patterns at all and the generated SOV order is\n    // dest-first, so every marked-destination put dropped.\n    {\n      id: \"put-qu-patient-first\",\n      language: \"qu\",\n      command: \"put\",\n      priority: 96,\n      template: {\n        format: \"{patient} ta {destination} man churay\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"ta\" },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"man\" },\n          { type: \"literal\", value: \"churay\", alternatives: [\"tiyachiy\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        destination: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getPutPatternsZh() {\n  return [\n    {\n      id: \"put-zh-full\",\n      language: \"zh\",\n      command: \"put\",\n      priority: 100,\n      template: {\n        format: \"\\u653E\\u7F6E {patient} \\u5230 {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u653E\\u7F6E\", alternatives: [\"\\u653E\", \"\\u653E\\u5165\", \"\\u7F6E\\u5165\", \"put\"] },\n          {\n            type: \"role\",\n            role: \"patient\",\n            expectedTypes: [\"literal\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"\\u5230\", alternatives: [\"\\u5728\", \"\\u4E8E\", \"\\u5165\"] },\n          { type: \"role\", role: \"destination\", expectedTypes: [\"selector\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { position: 3 }\n      }\n    },\n    {\n      // BA-fronted put. The i18n grammar transformer emits the *split* verb form\n      // `把 {patient} 放置 到 {destination}` for `put X into Y` (verb 放置 + a\n      // separate destination marker 到), so the destination marker is matched as\n      // an optional group — when absent, the merged verb forms (放到/放在) carry\n      // the \"to\" themselves. See ZH_BLOCK_BODY_SCOPE.md #3.\n      id: \"put-zh-ba\",\n      language: \"zh\",\n      command: \"put\",\n      priority: 95,\n      template: {\n        format: \"\\u628A {patient} \\u653E\\u7F6E \\u5230 {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u628A\" },\n          {\n            type: \"role\",\n            role: \"patient\",\n            expectedTypes: [\"literal\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"\\u653E\\u7F6E\", alternatives: [\"\\u653E\\u5230\", \"\\u653E\\u5728\", \"\\u653E\\u5165\", \"\\u653E\", \"\\u7F6E\\u5165\"] },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [{ type: \"literal\", value: \"\\u5230\", alternatives: [\"\\u5728\", \"\\u4E8E\", \"\\u5165\"] }]\n          },\n          { type: \"role\", role: \"destination\", expectedTypes: [\"selector\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"\\u5230\", markerAlternatives: [\"\\u5728\", \"\\u4E8E\", \"\\u5165\"] }\n      }\n    }\n  ];\n}\nfunction isAtEndPositionNoun(language, endValue, prevValue, nextValue) {\n  const spec = PUT_AT_END.find((s) => s.lang === language);\n  if (!spec) return false;\n  const eq = (a, b) => (a ?? \"\").toLowerCase() === b.toLowerCase();\n  return eq(endValue, spec.end) && eq(prevValue, spec.at) && eq(nextValue, spec.of);\n}\nfunction isAtEndConnective(language, value) {\n  const spec = PUT_AT_END.find((s) => s.lang === language);\n  if (!spec) return false;\n  const v = value.toLowerCase();\n  return v === spec.at.toLowerCase() || v === spec.of.toLowerCase() || v === spec.end.toLowerCase();\n}\nfunction buildAtEndPutPatterns(language) {\n  const spec = PUT_AT_END.find((s) => s.lang === language);\n  if (!spec) return [];\n  const tokens = [];\n  const verbToken = spec.verbAlts ? { type: \"literal\", value: spec.verb, alternatives: spec.verbAlts } : { type: \"literal\", value: spec.verb };\n  const pushWords = (phrase) => {\n    tokens.push({ type: \"literal\", value: phrase });\n  };\n  if (!spec.sov) {\n    tokens.push(verbToken);\n    if (spec.patientPrefix) tokens.push({ type: \"literal\", value: spec.patientPrefix });\n    tokens.push({ type: \"role\", role: \"patient\" });\n    pushWords(spec.at);\n    pushWords(spec.end);\n    pushWords(spec.of);\n    tokens.push({ type: \"role\", role: \"destination\" });\n  } else {\n    tokens.push({ type: \"role\", role: \"patient\" });\n    pushWords(spec.at);\n    pushWords(spec.end);\n    pushWords(spec.of);\n    tokens.push({ type: \"role\", role: \"destination\" });\n    if (spec.objMarker) tokens.push({ type: \"literal\", value: spec.objMarker });\n    tokens.push(verbToken);\n  }\n  return [\n    {\n      id: `put-${spec.lang}-at-end`,\n      language: spec.lang,\n      command: \"put\",\n      // Above the generic into-put (≤100) so the full `at end of` phrase wins\n      // over a put that would otherwise grab the `end` word as its destination.\n      priority: 110,\n      template: {\n        format: `put {patient} ${spec.at} ${spec.end} ${spec.of} {destination}`,\n        tokens\n      },\n      extraction: {\n        manner: { default: { type: \"literal\", value: \"at end of\" } }\n      }\n    }\n  ];\n}\nfunction getPutPatternsJa() {\n  return [\"before\", \"after\"].map((manner) => {\n    const posWord = manner === \"before\" ? \"\\u524D\\u306B\" : \"\\u5F8C\\u306B\";\n    const posAlt = manner === \"before\" ? \"\\u524D\" : \"\\u5F8C\";\n    return {\n      id: `put-ja-${manner}`,\n      language: \"ja\",\n      command: \"put\",\n      priority: 105,\n      template: {\n        format: `{patient} ${posWord} {destination} \\u3092 \\u7F6E\\u304F`,\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: posWord, alternatives: [posAlt] },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u3092\" },\n          { type: \"literal\", value: \"\\u7F6E\\u304F\", alternatives: [\"\\u5165\\u308C\\u308B\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        destination: { position: 2 },\n        manner: { default: { type: \"literal\", value: manner } }\n      }\n    };\n  });\n}\nfunction getPutPatternsKo() {\n  return [\"before\", \"after\"].map((manner) => {\n    const posWord = manner === \"before\" ? \"\\uC804\\uC5D0\" : \"\\uD6C4\\uC5D0\";\n    return {\n      id: `put-ko-${manner}`,\n      language: \"ko\",\n      command: \"put\",\n      priority: 105,\n      template: {\n        format: `{patient} ${posWord} {destination} \\uB97C \\uB123\\uB2E4`,\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: posWord },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\uB97C\", alternatives: [\"\\uC744\"] },\n          { type: \"literal\", value: \"\\uB123\\uB2E4\", alternatives: [\"\\uB123\\uAE30\", \"\\uB193\\uAE30\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        destination: { position: 2 },\n        manner: { default: { type: \"literal\", value: manner } }\n      }\n    };\n  });\n}\nfunction getPutPatternsTr() {\n  const mk = (manner, posWord) => ({\n    id: `put-tr-${manner}`,\n    language: \"tr\",\n    command: \"put\",\n    priority: 105,\n    template: {\n      format: `{patient} ${posWord} {destination} i koy`,\n      tokens: [\n        { type: \"role\", role: \"patient\" },\n        { type: \"literal\", value: posWord },\n        { type: \"role\", role: \"destination\" },\n        {\n          type: \"group\",\n          optional: true,\n          tokens: [\n            { type: \"literal\", value: \"i\", alternatives: [\"\\u0131\", \"u\", \"\\xFC\", \"yi\", \"y\\u0131\", \"yu\", \"y\\xFC\"] }\n          ]\n        },\n        { type: \"literal\", value: \"koy\", alternatives: [\"koymak\"] }\n      ]\n    },\n    extraction: {\n      patient: { position: 0 },\n      destination: { position: 2 },\n      manner: { default: { type: \"literal\", value: manner } }\n    }\n  });\n  return [mk(\"before\", \"\\xF6nce\"), mk(\"after\", \"sonra\")];\n}\nfunction buildPositionalPutPatterns(language) {\n  const spec = PUT_POSITIONAL.find((s) => s.lang === language);\n  if (!spec) return [];\n  return [\"before\", \"after\"].map((manner) => {\n    const posWord = spec[manner];\n    const tokens = [\n      spec.verbAlts ? { type: \"literal\", value: spec.verb, alternatives: spec.verbAlts } : { type: \"literal\", value: spec.verb }\n    ];\n    if (spec.patientPrefix) {\n      tokens.push(\n        spec.patientPrefixOptional ? {\n          type: \"group\",\n          optional: true,\n          tokens: [{ type: \"literal\", value: spec.patientPrefix }]\n        } : { type: \"literal\", value: spec.patientPrefix }\n      );\n    }\n    tokens.push(\n      { type: \"role\", role: \"patient\" },\n      { type: \"literal\", value: posWord },\n      { type: \"role\", role: \"destination\" }\n    );\n    return {\n      id: `put-${spec.lang}-${manner}`,\n      language: spec.lang,\n      command: \"put\",\n      priority: 95,\n      template: {\n        format: `${spec.verb} {patient} ${posWord} {destination}`,\n        tokens\n      },\n      extraction: {\n        patient: { position: spec.patientPrefix && !spec.patientPrefixOptional ? 2 : 1 },\n        destination: { marker: posWord },\n        manner: { default: { type: \"literal\", value: manner } }\n      }\n    };\n  });\n}\nfunction getPutPatternsForLanguage(language) {\n  const positional = buildPositionalPutPatterns(language);\n  const atEnd = buildAtEndPutPatterns(language);\n  switch (language) {\n    case \"bn\":\n      return [...getPutPatternsBn(), ...atEnd];\n    case \"en\":\n      return getPutPatternsEn();\n    case \"es\":\n      return [...getPutPatternsEs(), ...atEnd];\n    case \"hi\":\n      return [...getPutPatternsHi(), ...atEnd];\n    case \"id\":\n      return [...getPutPatternsId(), ...positional, ...atEnd];\n    case \"it\":\n      return [...getPutPatternsIt(), ...atEnd];\n    case \"ja\":\n      return [...getPutPatternsJa(), ...atEnd];\n    case \"ko\":\n      return [...getPutPatternsKo(), ...atEnd];\n    case \"tr\":\n      return [...getPutPatternsTr(), ...atEnd];\n    case \"pl\":\n      return [...getPutPatternsPl(), ...atEnd];\n    case \"ru\":\n      return [...getPutPatternsRu(), ...atEnd];\n    case \"qu\":\n      return [...getPutPatternsQu(), ...atEnd];\n    case \"th\":\n      return [...getPutPatternsTh(), ...atEnd];\n    case \"uk\":\n      return [...getPutPatternsUk(), ...atEnd];\n    case \"vi\":\n      return [...getPutPatternsVi(), ...atEnd];\n    case \"zh\":\n      return [...getPutPatternsZh(), ...positional, ...atEnd];\n    default:\n      return [...positional, ...atEnd];\n  }\n}\nvar PUT_POSITIONAL, PUT_AT_END;\nvar init_put = __esm({\n  \"src/patterns/put.ts\"() {\n    \"use strict\";\n    PUT_POSITIONAL = [\n      { lang: \"de\", verb: \"setzen\", before: \"vor\", after: \"nach\" },\n      { lang: \"fr\", verb: \"mettre\", before: \"avant\", after: \"apr\\xE8s\" },\n      { lang: \"he\", verb: \"\\u05E9\\u05D9\\u05DD\", patientPrefix: \"\\u05D0\\u05EA\", before: \"\\u05DC\\u05E4\\u05E0\\u05D9\", after: \"\\u05D0\\u05D7\\u05E8\\u05D9\" },\n      {\n        lang: \"id\",\n        verb: \"taruh\",\n        verbAlts: [\"letakkan\", \"masukkan\", \"tempatkan\"],\n        before: \"sebelum\",\n        after: \"setelah\"\n      },\n      { lang: \"ms\", verb: \"letak\", before: \"sebelum\", after: \"selepas\" },\n      { lang: \"pt\", verb: \"colocar\", before: \"antes\", after: \"depois\" },\n      { lang: \"sw\", verb: \"weka\", before: \"kabla\", after: \"baada\" },\n      {\n        lang: \"zh\",\n        verb: \"\\u653E\\u7F6E\",\n        verbAlts: [\"\\u653E\", \"\\u653E\\u5165\"],\n        patientPrefix: \"\\u628A\",\n        patientPrefixOptional: true,\n        before: \"\\u4E4B\\u524D\",\n        after: \"\\u4E4B\\u540E\"\n      }\n    ];\n    PUT_AT_END = [\n      // SVO / VSO (verb-first)\n      {\n        lang: \"es\",\n        verb: \"poner\",\n        verbAlts: [\"pon\", \"colocar\", \"put\"],\n        at: \"en\",\n        end: \"fin\",\n        of: \"de\"\n      },\n      { lang: \"fr\", verb: \"mettre\", at: \"\\xE0\", end: \"fin\", of: \"de\" },\n      { lang: \"pt\", verb: \"colocar\", at: \"em\", end: \"fim\", of: \"de\" },\n      { lang: \"it\", verb: \"mettere\", at: \"a\", end: \"fine\", of: \"di\" },\n      { lang: \"de\", verb: \"setzen\", at: \"bei\", end: \"ende\", of: \"von\" },\n      { lang: \"sw\", verb: \"weka\", at: \"katika\", end: \"mwisho\", of: \"ya\" },\n      {\n        lang: \"id\",\n        verb: \"taruh\",\n        verbAlts: [\"letakkan\", \"masukkan\", \"tempatkan\"],\n        at: \"di\",\n        end: \"akhir\",\n        of: \"dari\"\n      },\n      { lang: \"ms\", verb: \"letak\", at: \"di\", end: \"tamat\", of: \"daripada\" },\n      { lang: \"vi\", verb: \"\\u0111\\u1EB7t\", at: \"t\\u1EA1i\", end: \"k\\u1EBFt th\\xFAc\", of: \"c\\u1EE7a\" },\n      { lang: \"pl\", verb: \"umie\\u015B\\u0107\", at: \"przy\", end: \"koniec\", of: \"z\" },\n      { lang: \"ru\", verb: \"\\u043F\\u043E\\u043B\\u043E\\u0436\\u0438\\u0442\\u044C\", at: \"\\u0443\", end: \"\\u043A\\u043E\\u043D\\u0435\\u0446\", of: \"\\u0438\\u0437\" },\n      { lang: \"uk\", verb: \"\\u043F\\u043E\\u043A\\u043B\\u0430\\u0441\\u0442\\u0438\", at: \"\\u0432\", end: \"\\u043A\\u0456\\u043D\\u0435\\u0446\\u044C\", of: \"\\u0437\" },\n      { lang: \"th\", verb: \"\\u0E43\\u0E2A\\u0E48\", at: \"\\u0E17\\u0E35\\u0E48\", end: \"\\u0E08\\u0E1A\", of: \"\\u0E02\\u0E2D\\u0E07\" },\n      { lang: \"tl\", verb: \"ilagay\", at: \"sa\", end: \"wakas\", of: \"ng\" },\n      { lang: \"ar\", verb: \"\\u0636\\u0639\", at: \"\\u0639\\u0646\\u062F\", end: \"\\u0627\\u0644\\u0646\\u0647\\u0627\\u064A\\u0629\", of: \"\\u0645\\u0646\" },\n      {\n        lang: \"zh\",\n        verb: \"\\u653E\\u7F6E\",\n        verbAlts: [\"\\u653E\", \"\\u653E\\u5165\"],\n        patientPrefix: \"\\u628A\",\n        at: \"\\u5728\",\n        end: \"\\u7ED3\\u675F\",\n        of: \"\\u7684\"\n      },\n      { lang: \"he\", verb: \"\\u05E9\\u05D9\\u05DD\", patientPrefix: \"\\u05D0\\u05EA\", at: \"at\", end: \"\\u05E1\\u05D5\\u05E3\", of: \"of\" },\n      // SOV (verb-last, object marker before the verb)\n      { lang: \"tr\", verb: \"koy\", sov: true, objMarker: \"i\", at: \"de\", end: \"son\", of: \"nin\" },\n      { lang: \"ja\", verb: \"\\u7F6E\\u304F\", sov: true, objMarker: \"\\u3092\", at: \"\\u3067\", end: \"\\u7D42\\u308F\\u308A\", of: \"\\u306E\" },\n      { lang: \"ko\", verb: \"\\uB123\\uB2E4\", sov: true, objMarker: \"\\uB97C\", at: \"\\uC5D0\", end: \"\\uB05D\", of: \"\\uC758\" },\n      {\n        lang: \"hi\",\n        verb: \"\\u0930\\u0916\\u0947\\u0902\",\n        verbAlts: [\"\\u0930\\u0916\", \"\\u0921\\u093E\\u0932\\u0947\\u0902\", \"\\u0921\\u093E\\u0932\"],\n        sov: true,\n        objMarker: \"\\u0915\\u094B\",\n        at: \"\\u092A\\u0930\",\n        end: \"\\u0938\\u092E\\u093E\\u092A\\u094D\\u0924\",\n        of: \"\\u0915\\u093E\"\n      },\n      {\n        lang: \"bn\",\n        verb: \"\\u09B0\\u09BE\\u0996\\u09C1\\u09A8\",\n        verbAlts: [\"\\u09B0\\u09BE\\u0996\"],\n        sov: true,\n        objMarker: \"\\u0995\\u09C7\",\n        at: \"\\u098F\",\n        end: \"\\u09B6\\u09C7\\u09B7\",\n        of: \"\\u09B0\"\n      },\n      // qu was excluded from PUT_AT_END (§7n) while body was the unaligned `ukhu`;\n      // now that the qu profile body = `kurku` (qu arc wave 1), add the SOV at-end\n      // entry. Corpus: `chay pi tukuy pa kurku ta churay` = `{patient} pi tukuy pa\n      // {destination} ta churay` (put it at end of body — make-toast's attaching put).\n      {\n        lang: \"qu\",\n        verb: \"churay\",\n        sov: true,\n        objMarker: \"ta\",\n        at: \"pi\",\n        end: \"tukuy\",\n        of: \"pa\"\n      }\n    ];\n  }\n});\n\n// src/tokenizers/token-utils.ts\nimport {\n  TokenStreamImpl,\n  createToken,\n  createPosition,\n  isWhitespace,\n  isSelectorStart,\n  isQuote,\n  isDigit,\n  isAsciiLetter,\n  isAsciiIdentifierChar\n} from \"@lokascript/framework\";\nvar init_token_utils = __esm({\n  \"src/tokenizers/token-utils.ts\"() {\n    \"use strict\";\n  }\n});\n\n// src/tokenizers/char-classifiers.ts\nimport {\n  createUnicodeRangeClassifier,\n  combineClassifiers,\n  createLatinCharClassifiers\n} from \"@lokascript/framework\";\nvar init_char_classifiers = __esm({\n  \"src/tokenizers/char-classifiers.ts\"() {\n    \"use strict\";\n  }\n});\n\n// src/tokenizers/base-tokenizer.ts\nimport { BaseTokenizer } from \"@lokascript/framework\";\nvar init_base_tokenizer = __esm({\n  \"src/tokenizers/base-tokenizer.ts\"() {\n    \"use strict\";\n  }\n});\n\n// src/tokenizers/base.ts\nvar init_base = __esm({\n  \"src/tokenizers/base.ts\"() {\n    \"use strict\";\n    init_token_utils();\n    init_char_classifiers();\n    init_base_tokenizer();\n  }\n});\n\n// src/tokenizers/generic-extractors.ts\nimport {\n  StringLiteralExtractor,\n  NumberExtractor,\n  IdentifierExtractor\n} from \"@lokascript/framework\";\nfunction getDefaultExtractors() {\n  return [\n    new StringLiteralExtractor(),\n    new NumberExtractor(),\n    new OperatorExtractor(),\n    new PunctuationExtractor(),\n    new IdentifierExtractor()\n  ];\n}\nvar DEFAULT_OPERATORS, OperatorExtractor, DEFAULT_PUNCTUATION, PunctuationExtractor;\nvar init_generic_extractors = __esm({\n  \"src/tokenizers/generic-extractors.ts\"() {\n    \"use strict\";\n    DEFAULT_OPERATORS = [\n      // Three-character operators\n      \"===\",\n      \"!==\",\n      \"->\",\n      // Two-character operators\n      \"==\",\n      \"!=\",\n      \"<=\",\n      \">=\",\n      \"&&\",\n      \"||\",\n      \"**\",\n      \"+=\",\n      \"-=\",\n      \"*=\",\n      \"/=\",\n      // Single-character operators\n      \"+\",\n      \"-\",\n      \"*\",\n      \"/\",\n      \"=\",\n      \">\",\n      \"<\",\n      \"!\",\n      \"&\",\n      \"|\",\n      \"%\",\n      \"^\",\n      \"~\"\n    ];\n    OperatorExtractor = class {\n      constructor(operators = DEFAULT_OPERATORS) {\n        this.name = \"operator\";\n        this.operators = [...operators].sort((a, b) => b.length - a.length);\n      }\n      canExtract(input, position) {\n        return this.operators.some((op) => input.startsWith(op, position));\n      }\n      extract(input, position) {\n        for (const op of this.operators) {\n          if (input.startsWith(op, position)) {\n            return {\n              value: op,\n              length: op.length\n            };\n          }\n        }\n        return null;\n      }\n    };\n    DEFAULT_PUNCTUATION = \"()[]{},:;\";\n    PunctuationExtractor = class {\n      constructor(punctuation = DEFAULT_PUNCTUATION) {\n        this.punctuation = punctuation;\n        this.name = \"punctuation\";\n      }\n      canExtract(input, position) {\n        return this.punctuation.includes(input[position]);\n      }\n      extract(input, position) {\n        const char = input[position];\n        if (this.punctuation.includes(char)) {\n          return {\n            value: char,\n            length: 1\n          };\n        }\n        return null;\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/css-selector.ts\nfunction extractCssSelector(input, position) {\n  const char = input[position];\n  if (char === \"#\") {\n    const match = input.slice(position).match(/^#[a-zA-Z_][\\w-]*/);\n    return match ? match[0] : null;\n  }\n  if (char === \".\") {\n    const dynamic = input.slice(position).match(/^\\.\\{[a-zA-Z_$][\\w$]*\\}/);\n    if (dynamic) return dynamic[0];\n    const match = input.slice(position).match(/^\\.[a-zA-Z_][\\w-]*/);\n    return match ? match[0] : null;\n  }\n  if (char === \"@\") {\n    const match = input.slice(position).match(/^@[a-zA-Z_][\\w-]*/);\n    return match ? match[0] : null;\n  }\n  if (char === \"*\") {\n    const match = input.slice(position).match(/^\\*(?:--)?[a-zA-Z_][\\w-]*/);\n    return match ? match[0] : null;\n  }\n  if (char === \"[\") {\n    let depth = 0;\n    let end = position;\n    while (end < input.length) {\n      if (input[end] === \"[\") depth++;\n      if (input[end] === \"]\") {\n        depth--;\n        if (depth === 0) {\n          return input.slice(position, end + 1);\n        }\n      }\n      end++;\n    }\n    return null;\n  }\n  if (char === \"<\") {\n    const match = input.slice(position).match(/^<(?=[\\w.#[])[\\w-]*(?:[#.][\\w-]+|\\[[^\\]]+\\])*\\s*\\/>/);\n    return match ? match[0] : null;\n  }\n  return null;\n}\nvar CssSelectorExtractor;\nvar init_css_selector = __esm({\n  \"src/tokenizers/extractors/css-selector.ts\"() {\n    \"use strict\";\n    CssSelectorExtractor = class {\n      constructor() {\n        this.name = \"css-selector\";\n      }\n      canExtract(input, position) {\n        const char = input[position];\n        if (char === \"#\" || char === \".\" || char === \"[\" || char === \"<\") return true;\n        if (char === \"@\" || char === \"*\") return extractCssSelector(input, position) !== null;\n        return false;\n      }\n      extract(input, position) {\n        const selector = extractCssSelector(input, position);\n        if (selector) {\n          return {\n            value: selector,\n            length: selector.length,\n            metadata: { type: \"css-selector\" }\n          };\n        }\n        return null;\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/event-modifier.ts\nvar EventModifierExtractor;\nvar init_event_modifier = __esm({\n  \"src/tokenizers/extractors/event-modifier.ts\"() {\n    \"use strict\";\n    EventModifierExtractor = class {\n      constructor() {\n        this.name = \"event-modifier\";\n      }\n      canExtract(input, position) {\n        if (input[position] !== \".\") return false;\n        const remaining = input.slice(position);\n        return /^\\.(once|prevent|stop|debounce|throttle|queue)/.test(remaining);\n      }\n      extract(input, position) {\n        const match = input.slice(position).match(/^\\.(?:once|prevent|stop|debounce|throttle|queue)(?:\\(([^)]+)\\))?/);\n        if (!match) return null;\n        const fullMatch = match[0];\n        const modifierName = fullMatch.slice(1).split(\"(\")[0];\n        const value = match[1];\n        return {\n          value: fullMatch,\n          length: fullMatch.length,\n          metadata: {\n            modifierName,\n            value: value ? modifierName === \"queue\" ? value : parseInt(value, 10) : void 0\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/url.ts\nfunction extractUrl(input, position) {\n  const remaining = input.slice(position);\n  if (remaining.startsWith(\"http://\") || remaining.startsWith(\"https://\")) {\n    const match = remaining.match(/^https?:\\/\\/[^\\s]*/);\n    return match ? match[0] : null;\n  }\n  if (remaining.startsWith(\"//\")) {\n    const match = remaining.match(/^\\/\\/[^\\s]*/);\n    return match ? match[0] : null;\n  }\n  if (remaining.startsWith(\"./\") || remaining.startsWith(\"../\")) {\n    const match = remaining.match(/^\\.\\.?\\/[^\\s]*/);\n    return match ? match[0] : null;\n  }\n  if (remaining.startsWith(\"/\")) {\n    const match = remaining.match(/^\\/[^\\s]*/);\n    return match ? match[0] : null;\n  }\n  return null;\n}\nvar UrlExtractor;\nvar init_url = __esm({\n  \"src/tokenizers/extractors/url.ts\"() {\n    \"use strict\";\n    UrlExtractor = class {\n      constructor() {\n        this.name = \"url\";\n      }\n      canExtract(input, position) {\n        const remaining = input.slice(position);\n        return remaining.startsWith(\"http://\") || remaining.startsWith(\"https://\") || remaining.startsWith(\"//\") || remaining.startsWith(\"./\") || remaining.startsWith(\"../\") || remaining.startsWith(\"/\");\n      }\n      extract(input, position) {\n        const url = extractUrl(input, position);\n        if (url) {\n          return {\n            value: url,\n            length: url.length,\n            metadata: { type: \"url\" }\n          };\n        }\n        return null;\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/variable-ref.ts\nvar VariableRefExtractor;\nvar init_variable_ref = __esm({\n  \"src/tokenizers/extractors/variable-ref.ts\"() {\n    \"use strict\";\n    VariableRefExtractor = class {\n      constructor() {\n        this.name = \"variable-ref\";\n      }\n      canExtract(input, position) {\n        const ch = input[position];\n        return (ch === \":\" || ch === \"$\" || ch === \"^\") && position + 1 < input.length && /[a-zA-Z_]/.test(input[position + 1]);\n      }\n      extract(input, position) {\n        if (!this.canExtract(input, position)) return null;\n        let length = 1;\n        while (position + length < input.length && /[a-zA-Z0-9_]/.test(input[position + length])) {\n          length++;\n        }\n        return {\n          value: input.substring(position, position + length),\n          length,\n          metadata: {\n            type: \"variable-reference\"\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/japanese-keyword.ts\nfunction isHiragana(char) {\n  const code = char.charCodeAt(0);\n  return code >= 12352 && code <= 12447;\n}\nfunction isKatakana(char) {\n  const code = char.charCodeAt(0);\n  return code >= 12448 && code <= 12543;\n}\nfunction isKanji(char) {\n  const code = char.charCodeAt(0);\n  return code >= 19968 && code <= 40879 || code >= 13312 && code <= 19903;\n}\nfunction isJapanese(char) {\n  return isHiragana(char) || isKatakana(char) || isKanji(char);\n}\nvar JapaneseKeywordExtractor;\nvar init_japanese_keyword = __esm({\n  \"src/tokenizers/extractors/japanese-keyword.ts\"() {\n    \"use strict\";\n    JapaneseKeywordExtractor = class {\n      constructor() {\n        this.name = \"japanese-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isJapanese(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"JapaneseKeywordExtractor: context not set\");\n        }\n        const startPos = position;\n        if (this.context.isKeywordStart(input, position)) {\n        }\n        let word = \"\";\n        let pos2 = position;\n        while (pos2 < input.length && isJapanese(input[pos2])) {\n          word += input[pos2];\n          pos2++;\n        }\n        let bestMatch = word;\n        let bestLength = word.length;\n        for (let len = word.length; len > 0; len--) {\n          const candidate = word.substring(0, len);\n          if (this.context.lookupKeyword(candidate)) {\n            bestMatch = candidate;\n            bestLength = len;\n            break;\n          }\n        }\n        word = bestMatch;\n        pos2 = position + bestLength;\n        if (!word) return null;\n        const keywordEntry = this.context.lookupKeyword(word);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        let morphNormalized;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - startPos,\n          metadata: {\n            normalized: normalized2 || morphNormalized\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/japanese-particle.ts\nvar SINGLE_CHAR_PARTICLES, MULTI_CHAR_PARTICLES, JapaneseParticleExtractor;\nvar init_japanese_particle = __esm({\n  \"src/tokenizers/extractors/japanese-particle.ts\"() {\n    \"use strict\";\n    SINGLE_CHAR_PARTICLES = /* @__PURE__ */ new Map([\n      [\"\\u3092\", { role: \"patient\", confidence: 0.95 }],\n      [\"\\u306B\", { role: \"destination\", confidence: 0.85 }],\n      [\"\\u304C\", { role: \"subject\", confidence: 0.9 }],\n      [\"\\u306E\", { role: \"possessive\", confidence: 0.9 }],\n      [\"\\u3068\", { role: \"conjunction\", confidence: 0.8 }],\n      [\"\\u3067\", { role: \"instrument\", confidence: 0.85 }],\n      [\"\\u3078\", { role: \"direction\", confidence: 0.85 }],\n      [\"\\u3084\", { role: \"listing\", confidence: 0.8 }],\n      [\"\\u304B\", { role: \"question\", confidence: 0.85 }],\n      [\"\\u3082\", { role: \"also\", confidence: 0.85 }],\n      [\"\\u306F\", { role: \"topic\", confidence: 0.9 }]\n    ]);\n    MULTI_CHAR_PARTICLES = /* @__PURE__ */ new Map([\n      [\"\\u304B\\u3089\", { role: \"source\", confidence: 0.95 }],\n      [\"\\u307E\\u3067\", { role: \"until\", confidence: 0.95 }],\n      [\"\\u3088\\u308A\", { role: \"comparison\", confidence: 0.9 }],\n      [\"\\u3068\\u3057\\u3066\", { role: \"as\", confidence: 0.9 }],\n      [\"\\u306B\\u3064\\u3044\\u3066\", { role: \"about\", confidence: 0.9 }],\n      [\"\\u306B\\u3088\\u3063\\u3066\", { role: \"by-means\", confidence: 0.9 }],\n      [\"\\u306B\\u3066\", { role: \"at-location\", confidence: 0.85 }]\n    ]);\n    JapaneseParticleExtractor = class {\n      constructor() {\n        this.name = \"japanese-particle\";\n      }\n      setContext(context) {\n        this._context = context;\n      }\n      /**\n       * A single-character particle reading must NOT split a longer keyword that\n       * starts at the same position: もし (if) would otherwise tokenize as\n       * も[particle] + し[identifier] and the conditional could never anchor.\n       * Checks exact 2..4-char slices against the keyword map (longest first).\n       */\n      longerKeywordStartsHere(input, position) {\n        if (!this._context) return false;\n        for (let len = 4; len >= 2; len--) {\n          const slice = input.slice(position, position + len);\n          if (slice.length === len && this._context.isKeyword(slice)) {\n            return true;\n          }\n        }\n        return false;\n      }\n      canExtract(input, position) {\n        const char = input[position];\n        if (SINGLE_CHAR_PARTICLES.has(char) && !this.longerKeywordStartsHere(input, position)) {\n          return true;\n        }\n        for (const [particle] of MULTI_CHAR_PARTICLES) {\n          if (input.startsWith(particle, position)) {\n            return true;\n          }\n        }\n        return false;\n      }\n      extract(input, position) {\n        for (const [particle, metadata2] of MULTI_CHAR_PARTICLES) {\n          if (input.startsWith(particle, position)) {\n            return {\n              value: particle,\n              length: particle.length,\n              metadata: {\n                role: metadata2.role,\n                confidence: metadata2.confidence,\n                variant: particle\n              }\n            };\n          }\n        }\n        const char = input[position];\n        if (this.longerKeywordStartsHere(input, position)) return null;\n        const metadata = SINGLE_CHAR_PARTICLES.get(char);\n        if (metadata) {\n          return {\n            value: char,\n            length: 1,\n            metadata: {\n              role: metadata.role,\n              confidence: metadata.confidence,\n              variant: char\n            }\n          };\n        }\n        return null;\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/korean-keyword.ts\nfunction isHangul(char) {\n  const code = char.charCodeAt(0);\n  return code >= 44032 && code <= 55203;\n}\nfunction isJamo(char) {\n  const code = char.charCodeAt(0);\n  return code >= 4352 && code <= 4607 || code >= 12592 && code <= 12687;\n}\nfunction isKorean(char) {\n  return isHangul(char) || isJamo(char);\n}\nvar TEMPORAL_EVENT_SUFFIXES, KoreanKeywordExtractor;\nvar init_korean_keyword = __esm({\n  \"src/tokenizers/extractors/korean-keyword.ts\"() {\n    \"use strict\";\n    TEMPORAL_EVENT_SUFFIXES = [\"\\uD560\\uB54C\", \"\\uD558\\uBA74\", \"\\uD558\\uB2C8\\uAE4C\", \"\\uD560 \\uB54C\"];\n    KoreanKeywordExtractor = class {\n      constructor() {\n        this.name = \"korean-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isKorean(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"KoreanKeywordExtractor: context not set\");\n        }\n        const startPos = position;\n        const maxKeywordLen = 6;\n        for (let len = Math.min(maxKeywordLen, input.length - startPos); len >= 2; len--) {\n          const candidate = input.slice(startPos, startPos + len);\n          let allKorean = true;\n          for (let i = 0; i < candidate.length; i++) {\n            if (!isKorean(candidate[i])) {\n              allKorean = false;\n              break;\n            }\n          }\n          if (!allKorean) continue;\n          const keywordEntry2 = this.context.lookupKeyword(candidate);\n          if (keywordEntry2) {\n            return {\n              value: candidate,\n              length: len,\n              metadata: {\n                normalized: keywordEntry2.normalized !== keywordEntry2.native ? keywordEntry2.normalized : void 0\n              }\n            };\n          }\n          if (this.context.normalizer) {\n            const morphResult = this.context.normalizer.normalize(candidate);\n            if (morphResult.stem !== candidate && morphResult.confidence >= 0.7) {\n              const stemEntry = this.context.lookupKeyword(morphResult.stem);\n              if (stemEntry) {\n                return {\n                  value: candidate,\n                  length: len,\n                  metadata: {\n                    normalized: stemEntry.normalized,\n                    stem: morphResult.stem,\n                    // Native language stem for pattern matching\n                    stemConfidence: morphResult.confidence\n                  }\n                };\n              }\n            }\n          }\n        }\n        let word = \"\";\n        let pos2 = position;\n        while (pos2 < input.length && isKorean(input[pos2])) {\n          if (word.length > 0 && this.context.isKeywordStart(input, pos2)) {\n            break;\n          }\n          word += input[pos2];\n          pos2++;\n        }\n        if (!word) return null;\n        for (const suffix of TEMPORAL_EVENT_SUFFIXES) {\n          if (word.endsWith(suffix) && word.length > suffix.length) {\n            const stem = word.slice(0, -suffix.length);\n            const stemEntry = this.context.lookupKeyword(stem);\n            if (stemEntry) {\n              return {\n                value: stem,\n                length: stem.length,\n                metadata: {\n                  normalized: stemEntry.normalized,\n                  hasSuffix: true,\n                  suffix,\n                  stem\n                  // Set stem for pattern matching\n                }\n              };\n            }\n          }\n        }\n        const keywordEntry = this.context.lookupKeyword(word);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        if (word.includes(\"\\uD1A0\\uAE00\")) {\n          console.log(`[KO DEBUG] word=\"${word}\"`);\n          console.log(`[KO DEBUG] keywordEntry=${keywordEntry ? \"FOUND\" : \"NOT FOUND\"}`);\n          console.log(`[KO DEBUG] normalizer=${this.context.normalizer ? \"EXISTS\" : \"MISSING\"}`);\n        }\n        let morphNormalized;\n        let morphStem;\n        let morphConfidence;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n              morphStem = morphResult.stem;\n              morphConfidence = morphResult.confidence;\n              if (word.includes(\"\\uD1A0\\uAE00\")) {\n                console.log(\n                  `[KO DEBUG] word=\"${word}\", stem=\"${morphResult.stem}\", normalized=\"${morphNormalized}\"`\n                );\n              }\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - startPos,\n          metadata: {\n            normalized: normalized2 || morphNormalized,\n            stem: morphStem,\n            stemConfidence: morphConfidence\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/korean-particle.ts\nfunction isHangulSyllable(char) {\n  if (!char) return false;\n  const code = char.codePointAt(0);\n  return code >= 44032 && code <= 55203;\n}\nvar SINGLE_CHAR_PARTICLES2, MULTI_CHAR_PARTICLES2, KoreanParticleExtractor;\nvar init_korean_particle = __esm({\n  \"src/tokenizers/extractors/korean-particle.ts\"() {\n    \"use strict\";\n    SINGLE_CHAR_PARTICLES2 = /* @__PURE__ */ new Map([\n      // Subject markers (vowel harmony pair)\n      [\n        \"\\uC774\",\n        {\n          role: \"agent\",\n          confidence: 0.85,\n          variant: \"consonant\",\n          description: \"subject marker (after consonant)\"\n        }\n      ],\n      [\n        \"\\uAC00\",\n        {\n          role: \"agent\",\n          confidence: 0.85,\n          variant: \"vowel\",\n          description: \"subject marker (after vowel)\"\n        }\n      ],\n      // Object markers (vowel harmony pair)\n      [\n        \"\\uC744\",\n        {\n          role: \"patient\",\n          confidence: 0.95,\n          variant: \"consonant\",\n          description: \"object marker (after consonant)\"\n        }\n      ],\n      [\n        \"\\uB97C\",\n        {\n          role: \"patient\",\n          confidence: 0.95,\n          variant: \"vowel\",\n          description: \"object marker (after vowel)\"\n        }\n      ],\n      // Topic markers (vowel harmony pair)\n      [\n        \"\\uC740\",\n        {\n          role: \"agent\",\n          confidence: 0.75,\n          variant: \"consonant\",\n          description: \"topic marker (after consonant)\"\n        }\n      ],\n      [\n        \"\\uB294\",\n        {\n          role: \"agent\",\n          confidence: 0.75,\n          variant: \"vowel\",\n          description: \"topic marker (after vowel)\"\n        }\n      ],\n      // Location/time markers\n      [\"\\uC5D0\", { role: \"destination\", confidence: 0.85, description: \"at/to marker\" }],\n      // Direction/means markers (vowel harmony pair)\n      [\n        \"\\uB85C\",\n        {\n          role: \"destination\",\n          confidence: 0.85,\n          variant: \"vowel\",\n          description: \"to/by means (after vowel or \\u3139)\"\n        }\n      ],\n      // And/with markers (vowel harmony pair)\n      [\n        \"\\uC640\",\n        { role: \"style\", confidence: 0.7, variant: \"vowel\", description: \"and/with (after vowel)\" }\n      ],\n      [\n        \"\\uACFC\",\n        {\n          role: \"style\",\n          confidence: 0.7,\n          variant: \"consonant\",\n          description: \"and/with (after consonant)\"\n        }\n      ],\n      // Other markers\n      [\"\\uC758\", { role: \"patient\", confidence: 0.6, description: \"possessive marker\" }],\n      [\"\\uB3C4\", { role: \"patient\", confidence: 0.65, description: \"also/too marker\" }],\n      [\"\\uB9CC\", { role: \"patient\", confidence: 0.65, description: \"only marker\" }]\n    ]);\n    MULTI_CHAR_PARTICLES2 = /* @__PURE__ */ new Map([\n      [\"\\uC5D0\\uC11C\", { role: \"source\", confidence: 0.8, description: \"at/from marker (action location)\" }],\n      [\n        \"\\uC73C\\uB85C\",\n        {\n          role: \"destination\",\n          confidence: 0.85,\n          variant: \"consonant\",\n          description: \"to/by means (after consonant)\"\n        }\n      ],\n      [\"\\uBD80\\uD130\", { role: \"source\", confidence: 0.9, description: \"from/since marker\" }],\n      [\"\\uAE4C\\uC9C0\", { role: \"destination\", confidence: 0.75, description: \"until/to marker\" }],\n      [\"\\uCC98\\uB7FC\", { role: \"manner\", confidence: 0.8, description: \"like/as marker\" }],\n      [\"\\uBCF4\\uB2E4\", { role: \"source\", confidence: 0.75, description: \"than marker\" }]\n    ]);\n    KoreanParticleExtractor = class {\n      constructor() {\n        this.name = \"korean-particle\";\n      }\n      setContext(context) {\n        this._context = context;\n        void this._context;\n      }\n      canExtract(input, position) {\n        const char = input[position];\n        if (SINGLE_CHAR_PARTICLES2.has(char) && !isHangulSyllable(input[position + 1])) {\n          return true;\n        }\n        for (const [particle] of MULTI_CHAR_PARTICLES2) {\n          if (input.startsWith(particle, position)) {\n            return true;\n          }\n        }\n        return false;\n      }\n      extract(input, position) {\n        for (const [particle, metadata2] of MULTI_CHAR_PARTICLES2) {\n          if (input.startsWith(particle, position)) {\n            return {\n              value: particle,\n              length: particle.length,\n              metadata: {\n                particleRole: metadata2.role,\n                particleConfidence: metadata2.confidence,\n                particleVariant: metadata2.variant\n              }\n            };\n          }\n        }\n        const char = input[position];\n        const metadata = SINGLE_CHAR_PARTICLES2.get(char);\n        if (metadata && !isHangulSyllable(input[position + 1])) {\n          return {\n            value: char,\n            length: 1,\n            metadata: {\n              particleRole: metadata.role,\n              particleConfidence: metadata.confidence,\n              particleVariant: metadata.variant\n            }\n          };\n        }\n        return null;\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/chinese-keyword.ts\nfunction isChinese(char) {\n  const code = char.charCodeAt(0);\n  return code >= 19968 && code <= 40959 || // CJK Unified Ideographs\n  code >= 13312 && code <= 19903 || // CJK Extension A\n  code >= 63744 && code <= 64255 || // CJK Compatibility Ideographs\n  code >= 131072 && code <= 173791 || // CJK Extension B\n  code >= 173824 && code <= 177983 || // CJK Extension C\n  code >= 177984 && code <= 178207 || // CJK Extension D\n  code >= 178208 && code <= 183983 || // CJK Extension E\n  code >= 183984 && code <= 191471 || // CJK Extension F\n  code >= 194560 && code <= 195103;\n}\nvar ChineseKeywordExtractor;\nvar init_chinese_keyword = __esm({\n  \"src/tokenizers/extractors/chinese-keyword.ts\"() {\n    \"use strict\";\n    ChineseKeywordExtractor = class {\n      constructor() {\n        this.name = \"chinese-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isChinese(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"ChineseKeywordExtractor: context not set\");\n        }\n        const startPos = position;\n        let longestMatch = null;\n        if (this.context.isKeywordStart(input, position)) {\n          for (let len = 10; len >= 1; len--) {\n            const candidate = input.slice(position, position + len);\n            if ([...candidate].every((c) => isChinese(c))) {\n              const entry = this.context.lookupKeyword(candidate);\n              if (entry) {\n                longestMatch = { word: candidate, entry };\n                break;\n              }\n            }\n          }\n        }\n        if (longestMatch) {\n          return {\n            value: longestMatch.word,\n            length: longestMatch.word.length,\n            metadata: {\n              normalized: longestMatch.entry.normalized\n            }\n          };\n        }\n        let word = \"\";\n        let pos2 = position;\n        while (pos2 < input.length && isChinese(input[pos2])) {\n          word += input[pos2];\n          pos2++;\n          if (pos2 < input.length && this.context.isKeywordStart(input, pos2)) {\n            break;\n          }\n        }\n        if (!word) return null;\n        return {\n          value: word,\n          length: pos2 - startPos,\n          metadata: {}\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/chinese-particle.ts\nvar SINGLE_CHAR_PARTICLES3, MULTI_CHAR_PARTICLES3, ChineseParticleExtractor;\nvar init_chinese_particle = __esm({\n  \"src/tokenizers/extractors/chinese-particle.ts\"() {\n    \"use strict\";\n    SINGLE_CHAR_PARTICLES3 = /* @__PURE__ */ new Map([\n      // BA construction (object marking)\n      [\"\\u628A\", { role: \"patient\", confidence: 0.95, description: \"ba-construction object marker\" }],\n      // Location/time markers\n      [\"\\u5728\", { role: \"location\", confidence: 0.85, description: \"at/in/on location marker\" }],\n      // Directional markers\n      [\"\\u4ECE\", { role: \"source\", confidence: 0.9, description: \"from marker\" }],\n      [\"\\u5230\", { role: \"destination\", confidence: 0.9, description: \"to/until marker\" }],\n      [\"\\u5411\", { role: \"destination\", confidence: 0.85, description: \"towards marker\" }],\n      // Recipient/target markers\n      [\"\\u7ED9\", { role: \"destination\", confidence: 0.85, description: \"to/for recipient marker\" }],\n      [\"\\u5BF9\", { role: \"destination\", confidence: 0.8, description: \"to/towards marker\" }],\n      // Instrument/means marker\n      [\"\\u7528\", { role: \"instrument\", confidence: 0.85, description: \"with/using marker\" }],\n      // Passive/causative markers\n      [\"\\u88AB\", { role: \"agent\", confidence: 0.8, description: \"by (passive) marker\" }],\n      [\"\\u8BA9\", { role: \"agent\", confidence: 0.75, description: \"let/make causative marker\" }],\n      // Attributive/adverbial markers (de particles)\n      [\"\\u7684\", { role: \"possessive\", confidence: 0.9, description: \"possessive/attributive marker\" }],\n      [\"\\u5730\", { role: \"manner\", confidence: 0.85, description: \"adverbial marker\" }],\n      [\"\\u5F97\", { role: \"manner\", confidence: 0.8, description: \"complement marker\" }],\n      // Aspect markers\n      [\"\\u4E86\", { role: \"aspect\", confidence: 0.7, description: \"completion aspect marker\" }],\n      [\"\\u7740\", { role: \"aspect\", confidence: 0.7, description: \"progressive aspect marker\" }],\n      [\"\\u8FC7\", { role: \"aspect\", confidence: 0.7, description: \"experiential aspect marker\" }],\n      // Question/emphasis particles\n      [\"\\u5417\", { role: \"mood\", confidence: 0.75, description: \"question particle\" }],\n      [\"\\u5462\", { role: \"mood\", confidence: 0.7, description: \"question/emphasis particle\" }],\n      [\"\\u5427\", { role: \"mood\", confidence: 0.7, description: \"suggestion particle\" }]\n    ]);\n    MULTI_CHAR_PARTICLES3 = /* @__PURE__ */ new Map([\n      [\"\\u7136\\u540E\", { role: \"sequence\", confidence: 0.9, description: \"then/afterwards\" }],\n      [\"\\u63A5\\u7740\", { role: \"sequence\", confidence: 0.85, description: \"next/following\" }],\n      [\"\\u5E76\\u4E14\", { role: \"conjunction\", confidence: 0.85, description: \"and/moreover\" }],\n      [\"\\u6216\\u8005\", { role: \"conjunction\", confidence: 0.85, description: \"or\" }],\n      [\"\\u5982\\u679C\", { role: \"condition\", confidence: 0.9, description: \"if\" }],\n      [\"\\u90A3\\u4E48\", { role: \"consequence\", confidence: 0.85, description: \"then\" }],\n      [\"\\u5426\\u5219\", { role: \"alternative\", confidence: 0.85, description: \"otherwise\" }]\n    ]);\n    ChineseParticleExtractor = class {\n      constructor() {\n        this.name = \"chinese-particle\";\n      }\n      setContext(context) {\n        this._context = context;\n      }\n      /**\n       * True when a profile KEYWORD strictly longer than `particleLen` starts at\n       * this position. This extractor runs BEFORE the keyword extractor, so\n       * without the check a particle char that is also a keyword's first char\n       * splits the keyword: `过渡` (transition, the profile primary) tokenized as\n       * `过` (aspect particle) + `渡` (stray identifier) and the command verb\n       * never anchored (zh NO-TRANSITION, spurious-transition precision family).\n       * Longest-match must win across extractors, not just within one.\n       */\n      longerKeywordAt(input, position, particleLen) {\n        const ctx = this._context;\n        if (!ctx) return false;\n        const maxLen = Math.min(10, input.length - position);\n        for (let len = maxLen; len > particleLen; len--) {\n          if (ctx.lookupKeyword(input.slice(position, position + len))) return true;\n        }\n        return false;\n      }\n      canExtract(input, position) {\n        const char = input[position];\n        if (SINGLE_CHAR_PARTICLES3.has(char) && !this.longerKeywordAt(input, position, 1)) {\n          return true;\n        }\n        for (const [particle] of MULTI_CHAR_PARTICLES3) {\n          if (input.startsWith(particle, position) && !this.longerKeywordAt(input, position, particle.length)) {\n            return true;\n          }\n        }\n        return false;\n      }\n      extract(input, position) {\n        for (const [particle, metadata2] of MULTI_CHAR_PARTICLES3) {\n          if (input.startsWith(particle, position) && !this.longerKeywordAt(input, position, particle.length)) {\n            return {\n              value: particle,\n              length: particle.length,\n              metadata: {\n                particleRole: metadata2.role,\n                particleConfidence: metadata2.confidence,\n                particleDescription: metadata2.description\n              }\n            };\n          }\n        }\n        const char = input[position];\n        const metadata = SINGLE_CHAR_PARTICLES3.get(char);\n        if (metadata && !this.longerKeywordAt(input, position, 1)) {\n          return {\n            value: char,\n            length: 1,\n            metadata: {\n              particleRole: metadata.role,\n              particleConfidence: metadata.confidence,\n              particleDescription: metadata.description\n            }\n          };\n        }\n        return null;\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/vietnamese-keyword.ts\nfunction createLatinCharClassifiers2(pattern) {\n  const isLetter = (char) => pattern.test(char);\n  const isIdentifierChar = (char) => /[0-9]/.test(char) || pattern.test(char);\n  return { isLetter, isIdentifierChar };\n}\nfunction createVietnameseExtractors() {\n  return [new VietnameseKeywordExtractor()];\n}\nvar isVietnameseLetter, isVietnameseIdentifierChar, PREPOSITIONS, VietnameseKeywordExtractor;\nvar init_vietnamese_keyword = __esm({\n  \"src/tokenizers/extractors/vietnamese-keyword.ts\"() {\n    \"use strict\";\n    ({ isLetter: isVietnameseLetter, isIdentifierChar: isVietnameseIdentifierChar } = createLatinCharClassifiers2(\n      /[a-zA-ZàáảãạăằắẳẵặâầấẩẫậèéẻẽẹêềếểễệìíỉĩịòóỏõọôồốổỗộơờớởỡợùúủũụưừứửữựỳýỷỹỵđÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÈÉẺẼẸÊỀẾỂỄỆÌÍỈĨỊÒÓỎÕỌÔỒỐỔỖỘƠỜỚỞỠỢÙÚỦŨỤƯỪỨỬỮỰỲÝỶỸỴĐ]/\n    ));\n    PREPOSITIONS = /* @__PURE__ */ new Set([\n      \"trong\",\n      // in, inside\n      \"ngo\\xE0i\",\n      // outside\n      \"tr\\xEAn\",\n      // on, above\n      \"d\\u01B0\\u1EDBi\",\n      // under, below\n      \"v\\xE0o\",\n      // into\n      \"ra\",\n      // out\n      \"\\u0111\\u1EBFn\",\n      // to\n      \"t\\u1EEB\",\n      // from\n      \"v\\u1EDBi\",\n      // with\n      \"cho\",\n      // for, to\n      \"b\\u1EDFi\",\n      // by\n      \"qua\",\n      // through\n      \"tr\\u01B0\\u1EDBc\",\n      // before\n      \"sau\",\n      // after\n      \"gi\\u1EEFa\",\n      // between\n      \"b\\xEAn\",\n      // beside\n      \"theo\",\n      // according to, along\n      \"v\\u1EC1\",\n      // about, towards\n      \"t\\u1EDBi\",\n      // to, towards\n      \"l\\xEAn\",\n      // up\n      \"xu\\u1ED1ng\"\n      // down\n    ]);\n    VietnameseKeywordExtractor = class {\n      constructor() {\n        this.name = \"vietnamese-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isVietnameseLetter(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"VietnameseKeywordExtractor: context not set\");\n        }\n        const phraseResult = this.tryMultiWordPhrase(input, position);\n        if (phraseResult) {\n          return phraseResult;\n        }\n        let pos2 = position;\n        let word = \"\";\n        while (pos2 < input.length && isVietnameseIdentifierChar(input[pos2])) {\n          word += input[pos2++];\n        }\n        if (!word) return null;\n        const lower = word.toLowerCase();\n        const isPreposition = PREPOSITIONS.has(lower);\n        const keywordEntry = this.context.lookupKeyword(lower);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        return {\n          value: word,\n          length: pos2 - position,\n          metadata: {\n            normalized: normalized2,\n            isPreposition\n          }\n        };\n      }\n      /**\n       * Try to match a multi-word ROLE-MARKER phrase that the base tokenizer cannot.\n       *\n       * Task #10 Phase C retired this extractor's ~80-entry compound allowlist: every\n       * non-marker Vietnamese multi-word keyword (chuyển đổi=toggle, hiển thị=show,\n       * với mỗi=for, trước khi=before, cho đến khi=until, …) is now a profile keyword\n       * whose natural spaced form the base tokenizer's profile-driven\n       * `tryMultiWordKeyword` (#416) emits as ONE keyword token before any extractor\n       * runs. Only the two phrases the base mechanism MUST exclude remain here:\n       * `vào trong` (into) and `sự kiện` (event) carry marker concepts matched by the\n       * pattern matcher's role mechanism (see MARKER_CONCEPT_NORMALIZEDS in the\n       * framework base tokenizer), so pre-matching them as one keyword would shadow\n       * the single-word markers the patterns rely on.\n       */\n      tryMultiWordPhrase(input, position) {\n        if (!this.context) return null;\n        const multiWordPhrases = [\n          \"v\\xE0o trong\",\n          // into (marker — kept out of base multi-word matching)\n          \"s\\u1EF1 ki\\u1EC7n\"\n          // event (marker — kept out of base multi-word matching)\n        ];\n        for (const phrase of multiWordPhrases) {\n          const candidate = input.slice(position, position + phrase.length).toLowerCase();\n          if (candidate === phrase.toLowerCase()) {\n            const nextPos = position + phrase.length;\n            if (nextPos >= input.length || !/[a-zA-Zàáảãạăằắẳẵặâầấẩẫậèéẻẽẹêềếểễệìíỉĩịòóỏõọôồốổỗộơờớởỡợùúủũụưừứửữựỳýỷỹỵđ]/.test(\n              input[nextPos]\n            )) {\n              const keywordEntry = this.context.lookupKeyword(phrase);\n              return {\n                value: input.slice(position, nextPos),\n                length: phrase.length,\n                metadata: {\n                  normalized: keywordEntry?.normalized,\n                  isPreposition: false\n                }\n              };\n            }\n          }\n        }\n        return null;\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/arabic-keyword.ts\nvar isArabic, PREPOSITIONS2, ArabicKeywordExtractor;\nvar init_arabic_keyword = __esm({\n  \"src/tokenizers/extractors/arabic-keyword.ts\"() {\n    \"use strict\";\n    init_base();\n    isArabic = createUnicodeRangeClassifier([\n      [1536, 1791],\n      // Arabic\n      [1872, 1919],\n      // Arabic Supplement\n      [2208, 2303],\n      // Arabic Extended-A\n      [64336, 65023],\n      // Arabic Presentation Forms-A\n      [65136, 65279]\n      // Arabic Presentation Forms-B\n    ]);\n    PREPOSITIONS2 = /* @__PURE__ */ new Set([\n      \"\\u0641\\u064A\",\n      // fī (in)\n      \"\\u0639\\u0644\\u0649\",\n      // ʿalā (on)\n      \"\\u0645\\u0646\",\n      // min (from)\n      \"\\u0625\\u0644\\u0649\",\n      // ilā (to)\n      \"\\u0627\\u0644\\u0649\",\n      // ilā (alternative spelling)\n      \"\\u0645\\u0639\",\n      // maʿa (with)\n      \"\\u0639\\u0646\",\n      // ʿan (about, from)\n      \"\\u0642\\u0628\\u0644\",\n      // qabl (before)\n      \"\\u0628\\u0639\\u062F\",\n      // baʿd (after)\n      \"\\u0628\\u064A\\u0646\"\n      // bayn (between)\n    ]);\n    ArabicKeywordExtractor = class {\n      constructor() {\n        this.name = \"arabic-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isArabic(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"ArabicKeywordExtractor: context not set\");\n        }\n        const startPos = position;\n        if (this.context.isKeywordStart(input, position)) {\n        }\n        let word = \"\";\n        let pos2 = position;\n        while (pos2 < input.length && (isArabic(input[pos2]) || input[pos2] === \"\\u0640\")) {\n          word += input[pos2];\n          pos2++;\n        }\n        if (!word) return null;\n        const keywordEntry = this.context.lookupKeyword(word);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        if (PREPOSITIONS2.has(word)) {\n          return {\n            value: word,\n            length: pos2 - startPos,\n            metadata: {\n              prepositionValue: word,\n              normalized: normalized2\n            }\n          };\n        }\n        let morphNormalized;\n        let morphStem;\n        let morphConfidence;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n              morphStem = morphResult.stem;\n              morphConfidence = morphResult.confidence;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - startPos,\n          metadata: {\n            normalized: normalized2 || morphNormalized,\n            stem: morphStem,\n            stemConfidence: morphConfidence\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/arabic-proclitic.ts\nvar isArabic2, PROCLITICS, NON_PROCLITIC_WORDS, ArabicProcliticExtractor;\nvar init_arabic_proclitic = __esm({\n  \"src/tokenizers/extractors/arabic-proclitic.ts\"() {\n    \"use strict\";\n    init_base();\n    isArabic2 = createUnicodeRangeClassifier([\n      [1536, 1791],\n      // Arabic\n      [1872, 1919],\n      // Arabic Supplement\n      [2208, 2303],\n      // Arabic Extended-A\n      [64336, 65023],\n      // Arabic Presentation Forms-A\n      [65136, 65279]\n      // Arabic Presentation Forms-B\n    ]);\n    PROCLITICS = /* @__PURE__ */ new Map([\n      // Conjunctions (single character)\n      [\"\\u0648\", { normalized: \"and\", type: \"conjunction\" }],\n      // wa - conjunction \"and\"\n      [\"\\u0641\", { normalized: \"then\", type: \"conjunction\" }],\n      // fa - conjunction \"then/so\"\n      // Attached prefix prepositions\n      [\"\\u0628\", { normalized: \"with\", type: \"preposition\" }],\n      // bi- (with, by)\n      [\"\\u0644\", { normalized: \"to\", type: \"preposition\" }],\n      // li- (to, for)\n      [\"\\u0643\", { normalized: \"like\", type: \"preposition\" }],\n      // ka- (like, as)\n      // Multi-proclitic sequences (conjunction + preposition)\n      [\"\\u0648\\u0644\", { normalized: \"and-to\", type: \"conjunction\" }],\n      // wa + li-\n      [\"\\u0648\\u0628\", { normalized: \"and-with\", type: \"conjunction\" }],\n      // wa + bi-\n      [\"\\u0648\\u0643\", { normalized: \"and-like\", type: \"conjunction\" }],\n      // wa + ka-\n      [\"\\u0641\\u0644\", { normalized: \"then-to\", type: \"conjunction\" }],\n      // fa + li-\n      [\"\\u0641\\u0628\", { normalized: \"then-with\", type: \"conjunction\" }],\n      // fa + bi-\n      [\"\\u0641\\u0643\", { normalized: \"then-like\", type: \"conjunction\" }]\n      // fa + ka-\n    ]);\n    NON_PROCLITIC_WORDS = /* @__PURE__ */ new Set([\n      \"\\u0648\\u062B\\u064A\\u0642\\u0629\"\n      // document\n    ]);\n    ArabicProcliticExtractor = class {\n      constructor() {\n        this.name = \"arabic-proclitic\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        const char = input[position];\n        return PROCLITICS.has(char) || position + 1 < input.length && PROCLITICS.has(input.slice(position, position + 2));\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"ArabicProcliticExtractor: context not set\");\n        }\n        let wordEnd = position;\n        while (wordEnd < input.length && (isArabic2(input[wordEnd]) || input[wordEnd] === \"\\u0640\")) {\n          wordEnd++;\n        }\n        const fullWord = input.slice(position, wordEnd);\n        if (this.context.isKeyword(fullWord)) {\n          return null;\n        }\n        if (NON_PROCLITIC_WORDS.has(fullWord)) {\n          return null;\n        }\n        if (position + 2 <= input.length) {\n          const twoChar = input.slice(position, position + 2);\n          const twoCharEntry = PROCLITICS.get(twoChar);\n          if (twoCharEntry) {\n            const nextPos2 = position + 2;\n            if (nextPos2 < input.length && isArabic2(input[nextPos2])) {\n              let remainingLength2 = 0;\n              let checkPos2 = nextPos2;\n              while (checkPos2 < input.length && isArabic2(input[checkPos2])) {\n                remainingLength2++;\n                checkPos2++;\n              }\n              if (remainingLength2 >= 2) {\n                const singleCharProclitic = PROCLITICS.get(input[position]);\n                if (singleCharProclitic) {\n                  const afterSingleChar = input.slice(position + 1, wordEnd);\n                  if (this.context.isKeyword(afterSingleChar)) {\n                  } else {\n                    return {\n                      value: twoChar,\n                      length: 2,\n                      metadata: {\n                        procliticType: twoCharEntry.type,\n                        normalized: twoCharEntry.normalized\n                      }\n                    };\n                  }\n                } else {\n                  return {\n                    value: twoChar,\n                    length: 2,\n                    metadata: {\n                      procliticType: twoCharEntry.type,\n                      normalized: twoCharEntry.normalized\n                    }\n                  };\n                }\n              }\n            }\n          }\n        }\n        const char = input[position];\n        const entry = PROCLITICS.get(char);\n        if (!entry) return null;\n        const nextPos = position + 1;\n        if (nextPos >= input.length || !isArabic2(input[nextPos])) {\n          return null;\n        }\n        let remainingLength = 0;\n        let checkPos = nextPos;\n        while (checkPos < input.length && isArabic2(input[checkPos])) {\n          remainingLength++;\n          checkPos++;\n        }\n        if (remainingLength < 2) {\n          return null;\n        }\n        return {\n          value: char,\n          length: 1,\n          metadata: {\n            procliticType: entry.type,\n            normalized: entry.normalized\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/arabic-temporal.ts\nvar isArabic3, TEMPORAL_MARKERS, ArabicTemporalExtractor;\nvar init_arabic_temporal = __esm({\n  \"src/tokenizers/extractors/arabic-temporal.ts\"() {\n    \"use strict\";\n    init_base();\n    isArabic3 = createUnicodeRangeClassifier([\n      [1536, 1791],\n      // Arabic\n      [1872, 1919],\n      // Arabic Supplement\n      [2208, 2303],\n      // Arabic Extended-A\n      [64336, 65023],\n      // Arabic Presentation Forms-A\n      [65136, 65279]\n      // Arabic Presentation Forms-B\n    ]);\n    TEMPORAL_MARKERS = /* @__PURE__ */ new Map([\n      [\n        \"\\u0639\\u0646\\u062F\\u0645\\u0627\",\n        {\n          normalized: \"on\",\n          formality: \"formal\",\n          confidence: 0.95,\n          description: \"when (formal MSA)\"\n        }\n      ],\n      [\n        \"\\u062D\\u064A\\u0646\\u0645\\u0627\",\n        {\n          normalized: \"on\",\n          formality: \"formal\",\n          confidence: 0.93,\n          description: \"when/whenever (formal)\"\n        }\n      ],\n      [\n        \"\\u0639\\u0646\\u062F\",\n        {\n          normalized: \"on\",\n          formality: \"neutral\",\n          confidence: 0.88,\n          description: \"at/when (neutral)\"\n        }\n      ],\n      [\n        \"\\u062D\\u064A\\u0646\",\n        {\n          normalized: \"on\",\n          formality: \"neutral\",\n          confidence: 0.85,\n          description: \"when/time (neutral)\"\n        }\n      ],\n      [\n        \"\\u0644\\u0645\\u0651\\u0627\",\n        {\n          normalized: \"on\",\n          formality: \"dialectal\",\n          confidence: 0.7,\n          description: \"when (dialectal, with shadda)\"\n        }\n      ],\n      [\n        \"\\u0644\\u0645\\u0627\",\n        {\n          normalized: \"on\",\n          formality: \"dialectal\",\n          confidence: 0.68,\n          description: \"when (dialectal, no diacritic)\"\n        }\n      ],\n      [\n        \"\\u0644\\u062F\\u0649\",\n        {\n          normalized: \"on\",\n          formality: \"neutral\",\n          confidence: 0.82,\n          description: \"at/with (temporal)\"\n        }\n      ]\n    ]);\n    ArabicTemporalExtractor = class {\n      constructor() {\n        this.name = \"arabic-temporal\";\n      }\n      setContext(context) {\n        this._context = context;\n        void this._context;\n      }\n      canExtract(input, position) {\n        for (const [marker] of TEMPORAL_MARKERS) {\n          if (input.startsWith(marker, position)) {\n            return true;\n          }\n        }\n        return false;\n      }\n      extract(input, position) {\n        const sortedMarkers = Array.from(TEMPORAL_MARKERS.entries()).sort(\n          ([a], [b]) => b.length - a.length\n        );\n        for (const [marker, metadata] of sortedMarkers) {\n          if (input.startsWith(marker, position)) {\n            const nextPos = position + marker.length;\n            if (nextPos >= input.length || /\\s/.test(input[nextPos]) || !isArabic3(input[nextPos])) {\n              return {\n                value: marker,\n                length: marker.length,\n                metadata: {\n                  temporalFormality: metadata.formality,\n                  temporalConfidence: metadata.confidence,\n                  normalized: metadata.normalized,\n                  description: metadata.description\n                }\n              };\n            }\n          }\n        }\n        return null;\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/cyrillic-keyword.ts\nfunction createCyrillicCharClassifiers(pattern) {\n  const isLetter = (char) => pattern.test(char);\n  const isIdentifierChar = (char) => /[0-9]/.test(char) || pattern.test(char);\n  return { isLetter, isIdentifierChar };\n}\nfunction createRussianExtractors() {\n  return [\n    new CyrillicKeywordExtractor(\"russian-keyword\", /[a-zA-Zа-яА-ЯёЁ]/, RUSSIAN_PREPOSITIONS)\n  ];\n}\nfunction createUkrainianExtractors() {\n  return [\n    new CyrillicKeywordExtractor(\n      \"ukrainian-keyword\",\n      /[a-zA-Zа-яА-ЯіІїЇєЄґҐьЬ']/,\n      UKRAINIAN_PREPOSITIONS\n    )\n  ];\n}\nvar CyrillicKeywordExtractor, RUSSIAN_PREPOSITIONS, UKRAINIAN_PREPOSITIONS;\nvar init_cyrillic_keyword = __esm({\n  \"src/tokenizers/extractors/cyrillic-keyword.ts\"() {\n    \"use strict\";\n    CyrillicKeywordExtractor = class {\n      constructor(name, charPattern, prepositions) {\n        this.name = name;\n        const classifiers = createCyrillicCharClassifiers(charPattern);\n        this.isLetter = classifiers.isLetter;\n        this.isIdentifierChar = classifiers.isIdentifierChar;\n        this.prepositions = prepositions;\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        const char = input[position];\n        if (char === \"'\") return false;\n        return this.isLetter(char);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(`${this.name}: context not set`);\n        }\n        let pos2 = position;\n        let word = \"\";\n        while (pos2 < input.length && this.isIdentifierChar(input[pos2])) {\n          word += input[pos2++];\n        }\n        if (!word) return null;\n        const lower = word.toLowerCase();\n        const isPreposition = this.prepositions.has(lower);\n        const keywordEntry = this.context.lookupKeyword(lower);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        let morphNormalized;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - position,\n          metadata: {\n            normalized: normalized2 || morphNormalized,\n            isPreposition\n          }\n        };\n      }\n    };\n    RUSSIAN_PREPOSITIONS = /* @__PURE__ */ new Set([\n      \"\\u0432\",\n      // in\n      \"\\u0432\\u043E\",\n      // in (before consonant clusters)\n      \"\\u043D\\u0430\",\n      // on\n      \"\\u0441\",\n      // with, from\n      \"\\u0441\\u043E\",\n      // with (before consonant clusters)\n      \"\\u043A\",\n      // to, towards\n      \"\\u043A\\u043E\",\n      // to (before consonant clusters)\n      \"\\u043E\",\n      // about\n      \"\\u043E\\u0431\",\n      // about (before vowels)\n      \"\\u043E\\u0431\\u043E\",\n      // about (before consonant clusters)\n      \"\\u0443\",\n      // at, by\n      \"\\u043E\\u0442\",\n      // from\n      \"\\u0434\\u043E\",\n      // until, to\n      \"\\u0438\\u0437\",\n      // from, out of\n      \"\\u0437\\u0430\",\n      // behind, for\n      \"\\u043F\\u043E\",\n      // along, by\n      \"\\u043F\\u043E\\u0434\",\n      // under\n      \"\\u043D\\u0430\\u0434\",\n      // above\n      \"\\u043F\\u0435\\u0440\\u0435\\u0434\",\n      // in front of\n      \"\\u043F\\u0435\\u0440\\u0435\\u0434\\u043E\",\n      // in front of (before consonant clusters)\n      \"\\u043C\\u0435\\u0436\\u0434\\u0443\",\n      // between\n      \"\\u0447\\u0435\\u0440\\u0435\\u0437\",\n      // through\n      \"\\u0431\\u0435\\u0437\",\n      // without\n      \"\\u0434\\u043B\\u044F\",\n      // for\n      \"\\u043F\\u0440\\u0438\",\n      // at, during\n      \"\\u043F\\u0440\\u043E\",\n      // about\n      \"\\u043F\\u043E\\u0441\\u043B\\u0435\",\n      // after\n      \"\\u0432\\u043E\\u043A\\u0440\\u0443\\u0433\",\n      // around\n      \"\\u043F\\u0440\\u043E\\u0442\\u0438\\u0432\",\n      // against\n      \"\\u0432\\u043C\\u0435\\u0441\\u0442\\u043E\",\n      // instead of\n      \"\\u043A\\u0440\\u043E\\u043C\\u0435\",\n      // except\n      \"\\u0441\\u0440\\u0435\\u0434\\u0438\"\n      // among\n    ]);\n    UKRAINIAN_PREPOSITIONS = /* @__PURE__ */ new Set([\n      \"\\u0432\",\n      // in\n      \"\\u0443\",\n      // in\n      \"\\u043D\\u0430\",\n      // on\n      \"\\u0437\",\n      // with, from\n      \"\\u0456\\u0437\",\n      // with (variant)\n      \"\\u0437\\u0456\",\n      // with (before consonant clusters)\n      \"\\u0434\\u043E\",\n      // to\n      \"\\u0432\\u0456\\u0434\",\n      // from\n      \"\\u043E\",\n      // about\n      \"\\u043E\\u0431\",\n      // about (before vowels)\n      \"\\u043F\\u0440\\u0438\",\n      // at, during\n      \"\\u0434\\u043B\\u044F\",\n      // for\n      \"\\u043F\\u0456\\u0434\",\n      // under\n      \"\\u043D\\u0430\\u0434\",\n      // above\n      \"\\u043F\\u0435\\u0440\\u0435\\u0434\",\n      // in front of\n      \"\\u043C\\u0456\\u0436\",\n      // between\n      \"\\u0447\\u0435\\u0440\\u0435\\u0437\",\n      // through\n      \"\\u0431\\u0435\\u0437\",\n      // without\n      \"\\u043F\\u043E\",\n      // along, by\n      \"\\u0437\\u0430\",\n      // behind, for\n      \"\\u043F\\u0440\\u043E\",\n      // about\n      \"\\u043F\\u0456\\u0441\\u043B\\u044F\",\n      // after\n      \"\\u043D\\u0430\\u0432\\u043A\\u043E\\u043B\\u043E\",\n      // around\n      \"\\u043F\\u0440\\u043E\\u0442\\u0438\",\n      // against\n      \"\\u0437\\u0430\\u043C\\u0456\\u0441\\u0442\\u044C\",\n      // instead of\n      \"\\u043A\\u0440\\u0456\\u043C\",\n      // except\n      \"\\u0441\\u0435\\u0440\\u0435\\u0434\",\n      // among\n      \"\\u043A\"\n      // to (less common)\n    ]);\n  }\n});\n\n// src/tokenizers/extractors/hindi-keyword.ts\nfunction isDevanagari(char) {\n  const code = char.charCodeAt(0);\n  return code >= 2304 && code <= 2431 || code >= 43232 && code <= 43263;\n}\nvar HindiKeywordExtractor;\nvar init_hindi_keyword = __esm({\n  \"src/tokenizers/extractors/hindi-keyword.ts\"() {\n    \"use strict\";\n    HindiKeywordExtractor = class {\n      constructor() {\n        this.name = \"hindi-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isDevanagari(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"HindiKeywordExtractor: context not set\");\n        }\n        const startPos = position;\n        let word = \"\";\n        let pos2 = position;\n        while (pos2 < input.length && isDevanagari(input[pos2])) {\n          word += input[pos2];\n          pos2++;\n        }\n        if (this.context && input[pos2] === \"-\" && pos2 + 1 < input.length && isDevanagari(input[pos2 + 1])) {\n          let extPos = pos2;\n          let ext = word;\n          while (extPos < input.length && (input[extPos] === \"-\" || isDevanagari(input[extPos]))) {\n            ext += input[extPos++];\n          }\n          if (this.context.lookupKeyword(ext)) {\n            word = ext;\n            pos2 = extPos;\n          }\n        }\n        if (!word) return null;\n        const keywordEntry = this.context.lookupKeyword(word);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        let morphNormalized;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - startPos,\n          metadata: {\n            normalized: normalized2 || morphNormalized\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/hindi-particle.ts\nvar SINGLE_POSTPOSITIONS, COMPOUND_POSTPOSITIONS, HindiParticleExtractor;\nvar init_hindi_particle = __esm({\n  \"src/tokenizers/extractors/hindi-particle.ts\"() {\n    \"use strict\";\n    SINGLE_POSTPOSITIONS = /* @__PURE__ */ new Map([\n      [\"\\u0915\\u094B\", { role: \"patient\", confidence: 0.95 }],\n      // Direct object marker\n      [\"\\u092E\\u0947\\u0902\", { role: \"destination\", confidence: 0.9 }],\n      // Location/destination\n      [\"\\u092A\\u0930\", { role: \"event\", confidence: 0.85 }],\n      // On/at (events, locations)\n      [\"\\u0938\\u0947\", { role: \"source\", confidence: 0.9 }],\n      // From/by (source, instrument)\n      [\"\\u0915\\u093E\", { role: \"possessive\", confidence: 0.95 }],\n      // Possessive marker (m)\n      [\"\\u0915\\u0940\", { role: \"possessive\", confidence: 0.95 }],\n      // Possessive marker (f)\n      [\"\\u0915\\u0947\", { role: \"possessive\", confidence: 0.95 }],\n      // Possessive marker (pl/obl)\n      [\"\\u0924\\u0915\", { role: \"until\", confidence: 0.9 }],\n      // Until/up to\n      [\"\\u0928\\u0947\", { role: \"agent\", confidence: 0.85 }]\n      // Agent marker (past tense)\n    ]);\n    COMPOUND_POSTPOSITIONS = /* @__PURE__ */ new Map([\n      [\"\\u0915\\u0947 \\u0938\\u093E\\u0925\", { role: \"instrument\", confidence: 0.95 }],\n      // With (accompaniment)\n      [\"\\u0915\\u0947 \\u092C\\u093E\\u0930\\u0947 \\u092E\\u0947\\u0902\", { role: \"about\", confidence: 0.9 }]\n      // About\n    ]);\n    HindiParticleExtractor = class {\n      constructor() {\n        this.name = \"hindi-particle\";\n      }\n      setContext(context) {\n        this._context = context;\n        void this._context;\n      }\n      canExtract(input, position) {\n        for (const [particle] of COMPOUND_POSTPOSITIONS) {\n          if (input.startsWith(particle, position)) {\n            return true;\n          }\n        }\n        let word = \"\";\n        let pos2 = position;\n        while (pos2 < input.length && this.isDevanagari(input[pos2])) {\n          word += input[pos2];\n          pos2++;\n        }\n        return SINGLE_POSTPOSITIONS.has(word);\n      }\n      extract(input, position) {\n        for (const [particle, metadata2] of COMPOUND_POSTPOSITIONS) {\n          if (input.startsWith(particle, position)) {\n            return {\n              value: particle,\n              length: particle.length,\n              metadata: {\n                role: metadata2.role,\n                confidence: metadata2.confidence,\n                variant: particle\n              }\n            };\n          }\n        }\n        let word = \"\";\n        let pos2 = position;\n        while (pos2 < input.length && this.isDevanagari(input[pos2])) {\n          word += input[pos2];\n          pos2++;\n        }\n        const metadata = SINGLE_POSTPOSITIONS.get(word);\n        if (metadata) {\n          return {\n            value: word,\n            length: word.length,\n            metadata: {\n              role: metadata.role,\n              confidence: metadata.confidence,\n              variant: word\n            }\n          };\n        }\n        return null;\n      }\n      isDevanagari(char) {\n        const code = char.charCodeAt(0);\n        return code >= 2304 && code <= 2431 || code >= 43232 && code <= 43263;\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/bengali-keyword.ts\nfunction isBengali(char) {\n  const code = char.charCodeAt(0);\n  return code >= 2432 && code <= 2559;\n}\nvar BengaliKeywordExtractor;\nvar init_bengali_keyword = __esm({\n  \"src/tokenizers/extractors/bengali-keyword.ts\"() {\n    \"use strict\";\n    BengaliKeywordExtractor = class {\n      constructor() {\n        this.name = \"bengali-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isBengali(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"BengaliKeywordExtractor: context not set\");\n        }\n        const startPos = position;\n        let word = \"\";\n        let pos2 = position;\n        while (pos2 < input.length && isBengali(input[pos2])) {\n          word += input[pos2];\n          pos2++;\n        }\n        if (!word) return null;\n        const keywordEntry = this.context.lookupKeyword(word);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        let morphNormalized;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - startPos,\n          metadata: {\n            normalized: normalized2 || morphNormalized\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/bengali-particle.ts\nvar SINGLE_POSTPOSITIONS2, BengaliParticleExtractor;\nvar init_bengali_particle = __esm({\n  \"src/tokenizers/extractors/bengali-particle.ts\"() {\n    \"use strict\";\n    SINGLE_POSTPOSITIONS2 = /* @__PURE__ */ new Map([\n      [\"\\u0995\\u09C7\", { role: \"patient\", confidence: 0.95 }],\n      // Direct object marker\n      [\"\\u09A4\\u09C7\", { role: \"destination\", confidence: 0.9 }],\n      // Location/destination (also event marker)\n      [\"\\u098F\", { role: \"event\", confidence: 0.85 }],\n      // Locative \"at/on/in\" (marks events: ক্লিক এ = \"on click\")\n      [\"\\u09A5\\u09C7\\u0995\\u09C7\", { role: \"source\", confidence: 0.95 }],\n      // From (source)\n      [\"\\u09B0\", { role: \"possessive\", confidence: 0.95 }],\n      // Possessive marker\n      [\"\\u098F\\u09B0\", { role: \"possessive\", confidence: 0.95 }],\n      // Possessive marker (proximal)\n      [\"\\u09A6\\u09BF\\u09AF\\u09BC\\u09C7\", { role: \"instrument\", confidence: 0.9 }],\n      // By/with (instrument)\n      [\"\\u099C\\u09A8\\u09CD\\u09AF\", { role: \"purpose\", confidence: 0.9 }],\n      // For (purpose)\n      [\"\\u09AA\\u09B0\\u09CD\\u09AF\\u09A8\\u09CD\\u09A4\", { role: \"until\", confidence: 0.9 }],\n      // Until/up to\n      [\"\\u09AE\\u09A7\\u09CD\\u09AF\\u09C7\", { role: \"location\", confidence: 0.85 }]\n      // In/within\n    ]);\n    BengaliParticleExtractor = class {\n      constructor() {\n        this.name = \"bengali-particle\";\n      }\n      setContext(context) {\n        this._context = context;\n        void this._context;\n      }\n      canExtract(input, position) {\n        let word = \"\";\n        let pos2 = position;\n        while (pos2 < input.length && this.isBengali(input[pos2])) {\n          word += input[pos2];\n          pos2++;\n        }\n        return SINGLE_POSTPOSITIONS2.has(word);\n      }\n      extract(input, position) {\n        let word = \"\";\n        let pos2 = position;\n        while (pos2 < input.length && this.isBengali(input[pos2])) {\n          word += input[pos2];\n          pos2++;\n        }\n        const metadata = SINGLE_POSTPOSITIONS2.get(word);\n        if (metadata) {\n          return {\n            value: word,\n            length: word.length,\n            metadata: {\n              role: metadata.role,\n              confidence: metadata.confidence,\n              variant: word\n            }\n          };\n        }\n        return null;\n      }\n      isBengali(char) {\n        const code = char.charCodeAt(0);\n        return code >= 2432 && code <= 2559;\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/thai-keyword.ts\nfunction isThai(char) {\n  const code = char.charCodeAt(0);\n  return code >= 3584 && code <= 3711;\n}\nfunction isAsciiIdentifierChar2(char) {\n  return /[a-zA-Z0-9_]/.test(char);\n}\nfunction createThaiExtractors() {\n  return [new ThaiKeywordExtractor()];\n}\nvar ThaiKeywordExtractor;\nvar init_thai_keyword = __esm({\n  \"src/tokenizers/extractors/thai-keyword.ts\"() {\n    \"use strict\";\n    ThaiKeywordExtractor = class {\n      constructor() {\n        this.name = \"thai-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isThai(input[position]) || isAsciiIdentifierChar2(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"ThaiKeywordExtractor: context not set\");\n        }\n        const char = input[position];\n        if (isThai(char)) {\n          return this.extractThaiWord(input, position);\n        }\n        if (isAsciiIdentifierChar2(char)) {\n          return this.extractAsciiWord(input, position);\n        }\n        return null;\n      }\n      /**\n       * Extract Thai word with longest-match greedy keyword matching.\n       * Thai has no spaces between words, so we need to match the longest keyword first.\n       */\n      extractThaiWord(input, position) {\n        if (!this.context) return null;\n        let longestMatch = null;\n        let testPos = position;\n        let testWord = \"\";\n        while (testPos < input.length && isThai(input[testPos])) {\n          testWord += input[testPos];\n          testPos++;\n          const entry = this.context.lookupKeyword(testWord);\n          if (entry) {\n            longestMatch = { word: testWord, entry };\n          }\n        }\n        if (longestMatch) {\n          const normalized2 = longestMatch.entry.normalized !== longestMatch.entry.native ? longestMatch.entry.normalized : void 0;\n          return {\n            value: longestMatch.word,\n            length: longestMatch.word.length,\n            metadata: {\n              normalized: normalized2\n            }\n          };\n        }\n        let pos2 = position;\n        let word = \"\";\n        while (pos2 < input.length && isThai(input[pos2])) {\n          if (word.length > 0 && this.isKeywordStart(input, pos2)) {\n            break;\n          }\n          word += input[pos2];\n          pos2++;\n        }\n        if (!word) return null;\n        return {\n          value: word,\n          length: word.length,\n          metadata: {}\n        };\n      }\n      /**\n       * Extract ASCII word (for embedded English identifiers).\n       */\n      extractAsciiWord(input, position) {\n        if (!this.context) return null;\n        let pos2 = position;\n        let word = \"\";\n        while (pos2 < input.length && isAsciiIdentifierChar2(input[pos2])) {\n          word += input[pos2++];\n        }\n        if (!word) return null;\n        const lower = word.toLowerCase();\n        const keywordEntry = this.context.lookupKeyword(lower);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        return {\n          value: word,\n          length: word.length,\n          metadata: {\n            normalized: normalized2\n          }\n        };\n      }\n      /**\n       * Check if we're at the start of a known keyword.\n       * Used to avoid splitting keywords when parsing unknown Thai text.\n       */\n      isKeywordStart(input, position) {\n        if (!this.context) return false;\n        let testPos = position;\n        let testWord = \"\";\n        while (testPos < input.length && isThai(input[testPos])) {\n          testWord += input[testPos];\n          testPos++;\n          if (this.context.lookupKeyword(testWord)) {\n            return true;\n          }\n          if (testWord.length > 10) break;\n        }\n        return false;\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/malay-keyword.ts\nfunction isAsciiLetter2(char) {\n  return /[a-zA-Z_]/.test(char);\n}\nfunction isAsciiIdentifierChar3(char) {\n  return /[a-zA-Z0-9_]/.test(char);\n}\nfunction createMalayExtractors() {\n  return [new MalayKeywordExtractor()];\n}\nvar MalayKeywordExtractor;\nvar init_malay_keyword = __esm({\n  \"src/tokenizers/extractors/malay-keyword.ts\"() {\n    \"use strict\";\n    MalayKeywordExtractor = class {\n      constructor() {\n        this.name = \"malay-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isAsciiLetter2(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"MalayKeywordExtractor: context not set\");\n        }\n        let pos2 = position;\n        let word = \"\";\n        while (pos2 < input.length && isAsciiIdentifierChar3(input[pos2])) {\n          word += input[pos2++];\n        }\n        if (!word) return null;\n        const lower = word.toLowerCase();\n        const keywordEntry = this.context.lookupKeyword(lower);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        return {\n          value: word,\n          length: word.length,\n          metadata: {\n            normalized: normalized2\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/tagalog-keyword.ts\nfunction isAsciiLetter3(char) {\n  return /[a-zA-Z_]/.test(char);\n}\nfunction isAsciiIdentifierChar4(char) {\n  return /[a-zA-Z0-9_]/.test(char);\n}\nfunction createTagalogExtractors() {\n  return [new TagalogKeywordExtractor()];\n}\nvar PREPOSITIONS3, TagalogKeywordExtractor;\nvar init_tagalog_keyword = __esm({\n  \"src/tokenizers/extractors/tagalog-keyword.ts\"() {\n    \"use strict\";\n    PREPOSITIONS3 = /* @__PURE__ */ new Set([\n      \"sa\",\n      // at, in, on, to\n      \"ng\",\n      // of, possessive marker\n      \"para\",\n      // for\n      \"mula\",\n      // from\n      \"hanggang\",\n      // until\n      \"gaya\",\n      // like\n      \"tulad\",\n      // like, similar to\n      \"kasama\",\n      // with\n      \"para sa\"\n      // for (two words but treated as unit)\n    ]);\n    TagalogKeywordExtractor = class {\n      constructor() {\n        this.name = \"tagalog-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isAsciiLetter3(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"TagalogKeywordExtractor: context not set\");\n        }\n        let pos2 = position;\n        let word = \"\";\n        while (pos2 < input.length && isAsciiIdentifierChar4(input[pos2])) {\n          word += input[pos2++];\n        }\n        if (!word) return null;\n        const lower = word.toLowerCase();\n        const isPreposition = PREPOSITIONS3.has(lower);\n        const keywordEntry = this.context.lookupKeyword(lower);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        let morphNormalized;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: word.length,\n          metadata: {\n            normalized: normalized2 || morphNormalized,\n            isPreposition\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/polish-keyword.ts\nfunction createPolishCharClassifiers() {\n  const polishPattern = /[a-zA-ZąęćńóśźżłĄĘĆŃÓŚŹŻŁ]/;\n  const isLetter = (char) => polishPattern.test(char);\n  const isIdentifierChar = (char) => /[0-9]/.test(char) || polishPattern.test(char);\n  return { isLetter, isIdentifierChar };\n}\nfunction createPolishExtractors() {\n  return [new PolishKeywordExtractor()];\n}\nvar PREPOSITIONS4, isPolishLetter, isPolishIdentifierChar, PolishKeywordExtractor;\nvar init_polish_keyword = __esm({\n  \"src/tokenizers/extractors/polish-keyword.ts\"() {\n    \"use strict\";\n    PREPOSITIONS4 = /* @__PURE__ */ new Set([\n      \"do\",\n      // to, into\n      \"od\",\n      // from\n      \"z\",\n      // from, with\n      \"ze\",\n      // from, with (before consonant clusters)\n      \"w\",\n      // in\n      \"we\",\n      // in (before consonant clusters)\n      \"na\",\n      // on, for\n      \"po\",\n      // after, for\n      \"pod\",\n      // under\n      \"przed\",\n      // before, in front of\n      \"za\",\n      // behind, for\n      \"nad\",\n      // above\n      \"mi\\u0119dzy\",\n      // between\n      \"miedzy\",\n      // between (no diacritic)\n      \"przez\",\n      // through, by\n      \"dla\",\n      // for\n      \"bez\",\n      // without\n      \"o\",\n      // about\n      \"przy\",\n      // at, by\n      \"u\",\n      // at (someone's place)\n      \"wed\\u0142ug\",\n      // according to\n      \"wedlug\",\n      // according to (no diacritic)\n      \"mimo\",\n      // despite\n      \"w\\u015Br\\xF3d\",\n      // among\n      \"wsrod\",\n      // among (no diacritic)\n      \"obok\",\n      // beside\n      \"poza\",\n      // outside, beyond\n      \"wok\\xF3\\u0142\",\n      // around\n      \"wokol\",\n      // around (no diacritic)\n      \"przeciw\",\n      // against\n      \"ku\"\n      // towards\n    ]);\n    ({ isLetter: isPolishLetter, isIdentifierChar: isPolishIdentifierChar } = createPolishCharClassifiers());\n    PolishKeywordExtractor = class {\n      constructor() {\n        this.name = \"polish-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isPolishLetter(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"PolishKeywordExtractor: context not set\");\n        }\n        let pos2 = position;\n        let word = \"\";\n        while (pos2 < input.length && isPolishIdentifierChar(input[pos2])) {\n          word += input[pos2++];\n        }\n        if (!word) return null;\n        const lower = word.toLowerCase();\n        const isPreposition = PREPOSITIONS4.has(lower);\n        const keywordEntry = this.context.lookupKeyword(lower);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        let morphNormalized;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - position,\n          metadata: {\n            normalized: normalized2 || morphNormalized,\n            isPreposition\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/indonesian-keyword.ts\nfunction createIndonesianCharClassifiers() {\n  const indonesianPattern = /[a-zA-Z]/;\n  const isLetter = (char) => indonesianPattern.test(char);\n  const isIdentifierChar = (char) => /[0-9]/.test(char) || indonesianPattern.test(char);\n  return { isLetter, isIdentifierChar };\n}\nfunction createIndonesianExtractors() {\n  return [new IndonesianKeywordExtractor()];\n}\nvar PREPOSITIONS5, isIndonesianLetter, isIndonesianIdentifierChar, IndonesianKeywordExtractor;\nvar init_indonesian_keyword = __esm({\n  \"src/tokenizers/extractors/indonesian-keyword.ts\"() {\n    \"use strict\";\n    PREPOSITIONS5 = /* @__PURE__ */ new Set([\n      \"di\",\n      // at, in\n      \"ke\",\n      // to\n      \"dari\",\n      // from\n      \"pada\",\n      // on, at\n      \"dengan\",\n      // with\n      \"tanpa\",\n      // without\n      \"untuk\",\n      // for\n      \"oleh\",\n      // by\n      \"antara\",\n      // between\n      \"sebelum\",\n      // before\n      \"sesudah\",\n      // after\n      \"setelah\",\n      // after\n      \"selama\",\n      // during\n      \"sampai\",\n      // until\n      \"hingga\",\n      // until\n      \"sejak\",\n      // since\n      \"menuju\",\n      // towards\n      \"tentang\",\n      // about\n      \"terhadap\",\n      // towards, against\n      \"melalui\",\n      // through\n      \"dalam\",\n      // inside\n      \"luar\"\n      // outside\n    ]);\n    ({ isLetter: isIndonesianLetter, isIdentifierChar: isIndonesianIdentifierChar } = createIndonesianCharClassifiers());\n    IndonesianKeywordExtractor = class {\n      constructor() {\n        this.name = \"indonesian-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isIndonesianLetter(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"IndonesianKeywordExtractor: context not set\");\n        }\n        let pos2 = position;\n        let word = \"\";\n        while (pos2 < input.length && isIndonesianIdentifierChar(input[pos2])) {\n          word += input[pos2++];\n        }\n        if (!word) return null;\n        const lower = word.toLowerCase();\n        const isPreposition = PREPOSITIONS5.has(lower);\n        const keywordEntry = this.context.lookupKeyword(lower);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        let morphNormalized;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - position,\n          metadata: {\n            normalized: normalized2 || morphNormalized,\n            isPreposition\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/swahili-keyword.ts\nfunction createSwahiliCharClassifiers() {\n  const swahiliPattern = /[a-zA-Z]/;\n  const isLetter = (char) => swahiliPattern.test(char);\n  const isIdentifierChar = (char) => /[0-9]/.test(char) || swahiliPattern.test(char);\n  return { isLetter, isIdentifierChar };\n}\nfunction createSwahiliExtractors() {\n  return [new SwahiliKeywordExtractor()];\n}\nvar PREPOSITIONS6, isSwahiliLetter, isSwahiliIdentifierChar, SwahiliKeywordExtractor;\nvar init_swahili_keyword = __esm({\n  \"src/tokenizers/extractors/swahili-keyword.ts\"() {\n    \"use strict\";\n    PREPOSITIONS6 = /* @__PURE__ */ new Set([\n      \"kwa\",\n      // to, for, with, by\n      \"na\",\n      // and, with\n      \"katika\",\n      // in, at\n      \"kwenye\",\n      // on, at\n      \"kutoka\",\n      // from\n      \"hadi\",\n      // until, to\n      \"mpaka\",\n      // until, up to\n      \"kabla\",\n      // before\n      \"baada\",\n      // after\n      \"wakati\",\n      // during, when\n      \"bila\",\n      // without\n      \"kuhusu\",\n      // about\n      \"karibu\",\n      // near\n      \"mbele\",\n      // in front of\n      \"nyuma\",\n      // behind\n      \"ndani\",\n      // inside\n      \"nje\",\n      // outside\n      \"juu\",\n      // above, on\n      \"chini\",\n      // below, under\n      \"kati\"\n      // between\n    ]);\n    ({ isLetter: isSwahiliLetter, isIdentifierChar: isSwahiliIdentifierChar } = createSwahiliCharClassifiers());\n    SwahiliKeywordExtractor = class {\n      constructor() {\n        this.name = \"swahili-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isSwahiliLetter(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"SwahiliKeywordExtractor: context not set\");\n        }\n        let pos2 = position;\n        let word = \"\";\n        while (pos2 < input.length && isSwahiliIdentifierChar(input[pos2])) {\n          word += input[pos2++];\n        }\n        if (this.context && pos2 < input.length && input[pos2] === \"_\") {\n          let extPos = pos2;\n          let ext = word;\n          while (extPos < input.length && (input[extPos] === \"_\" || isSwahiliIdentifierChar(input[extPos]))) {\n            ext += input[extPos++];\n          }\n          if (this.context.lookupKeyword(ext.toLowerCase())) {\n            word = ext;\n            pos2 = extPos;\n          }\n        }\n        if (!word) return null;\n        const lower = word.toLowerCase();\n        const isPreposition = PREPOSITIONS6.has(lower);\n        const keywordEntry = this.context.lookupKeyword(lower);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        let morphNormalized;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - position,\n          metadata: {\n            normalized: normalized2 || morphNormalized,\n            isPreposition\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/turkish-keyword.ts\nfunction isTurkishLetter(char) {\n  const code = char.charCodeAt(0);\n  if (code >= 65 && code <= 90 || code >= 97 && code <= 122) {\n    return true;\n  }\n  const turkishChars = \"\\xE7\\xC7\\u011F\\u011E\\u0131\\u0130\\xF6\\xD6\\u015F\\u015E\\xFC\\xDC\";\n  return turkishChars.includes(char);\n}\nfunction createTurkishKeywordExtractor() {\n  return new TurkishKeywordExtractor();\n}\nvar POSTPOSITIONS, CASE_SUFFIXES, TurkishKeywordExtractor;\nvar init_turkish_keyword = __esm({\n  \"src/tokenizers/extractors/turkish-keyword.ts\"() {\n    \"use strict\";\n    POSTPOSITIONS = /* @__PURE__ */ new Set([\n      \"ile\",\n      // with\n      \"i\\xE7in\",\n      // for\n      \"kadar\",\n      // until, as far as\n      \"gibi\",\n      // like\n      \"\\xF6nce\",\n      // before\n      \"\\xFCzerinde\",\n      // on, above\n      \"alt\\u0131nda\",\n      // under\n      \"i\\xE7inde\",\n      // inside\n      \"d\\u0131\\u015F\\u0131nda\",\n      // outside\n      \"aras\\u0131nda\",\n      // between\n      \"kar\\u015F\\u0131\",\n      // against, towards\n      \"g\\xF6re\",\n      // according to\n      \"ra\\u011Fmen\",\n      // despite\n      \"do\\u011Fru\",\n      // towards\n      \"boyunca\"\n      // along, throughout\n    ]);\n    CASE_SUFFIXES = /* @__PURE__ */ new Set([\n      \"de\",\n      \"da\",\n      \"te\",\n      \"ta\",\n      // locative (at, in)\n      \"den\",\n      \"dan\",\n      \"ten\",\n      \"tan\",\n      // ablative (from)\n      \"e\",\n      \"a\",\n      \"ye\",\n      \"ya\",\n      // dative (to)\n      \"i\",\n      \"\\u0131\",\n      \"u\",\n      \"\\xFC\",\n      // accusative (object)\n      \"in\",\n      \"\\u0131n\",\n      \"un\",\n      \"\\xFCn\",\n      // genitive (of)\n      \"le\",\n      \"la\",\n      \"yle\",\n      \"yla\"\n      // instrumental (with)\n    ]);\n    TurkishKeywordExtractor = class {\n      constructor() {\n        this.name = \"turkish-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isTurkishLetter(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"TurkishKeywordExtractor: context not set\");\n        }\n        const startPos = position;\n        const maxKeywordLen = 12;\n        for (let len = Math.min(maxKeywordLen, input.length - startPos); len >= 2; len--) {\n          const candidate = input.slice(startPos, startPos + len);\n          if (startPos + len < input.length && isTurkishLetter(input[startPos + len])) {\n            continue;\n          }\n          let allTurkish = true;\n          for (let i = 0; i < candidate.length; i++) {\n            if (!isTurkishLetter(candidate[i])) {\n              allTurkish = false;\n              break;\n            }\n          }\n          if (!allTurkish) continue;\n          const keywordEntry2 = this.context.lookupKeyword(candidate);\n          if (keywordEntry2) {\n            return {\n              value: candidate,\n              length: len,\n              metadata: {\n                normalized: keywordEntry2.normalized !== keywordEntry2.native ? keywordEntry2.normalized : void 0\n              }\n            };\n          }\n          if (this.context.normalizer) {\n            const morphResult = this.context.normalizer.normalize(candidate);\n            if (morphResult.stem !== candidate && morphResult.confidence >= 0.7) {\n              const stemEntry = this.context.lookupKeyword(morphResult.stem);\n              if (stemEntry) {\n                return {\n                  value: candidate,\n                  length: len,\n                  metadata: {\n                    normalized: stemEntry.normalized,\n                    stem: morphResult.stem,\n                    // Native language stem for pattern matching\n                    stemConfidence: morphResult.confidence\n                  }\n                };\n              }\n            }\n          }\n        }\n        let word = \"\";\n        let pos2 = position;\n        while (pos2 < input.length && isTurkishLetter(input[pos2])) {\n          word += input[pos2];\n          pos2++;\n        }\n        for (let len = word.length; len >= 2; len--) {\n          if (len < word.length) break;\n          const candidate = word.substring(0, len);\n          const keywordEntry2 = this.context.lookupKeyword(candidate);\n          if (keywordEntry2) {\n            return {\n              value: candidate,\n              length: len,\n              metadata: {\n                normalized: keywordEntry2.normalized !== keywordEntry2.native ? keywordEntry2.normalized : void 0\n              }\n            };\n          }\n        }\n        if (!word) return null;\n        if (!word) return null;\n        if (POSTPOSITIONS.has(word.toLowerCase())) {\n          return {\n            value: word,\n            length: pos2 - startPos,\n            metadata: {\n              postpositionValue: word.toLowerCase()\n            }\n          };\n        }\n        if (CASE_SUFFIXES.has(word.toLowerCase())) {\n          return {\n            value: word,\n            length: pos2 - startPos,\n            metadata: {\n              caseSuffixValue: word.toLowerCase()\n            }\n          };\n        }\n        const keywordEntry = this.context.lookupKeyword(word);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        let morphNormalized;\n        let morphStem;\n        let morphConfidence;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n              morphStem = morphResult.stem;\n              morphConfidence = morphResult.confidence;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - startPos,\n          metadata: {\n            normalized: normalized2 || morphNormalized,\n            stem: morphStem,\n            stemConfidence: morphConfidence\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/quechua-keyword.ts\nfunction isQuechuaLetter(char) {\n  const code = char.charCodeAt(0);\n  if (code >= 65 && code <= 90 || code >= 97 && code <= 122) {\n    return true;\n  }\n  return char === \"\\xF1\" || char === \"\\xD1\" || char === \"'\" || char === \"\\u2019\";\n}\nfunction quechuaSuffixStartsAt(input, pos2) {\n  const remaining = input.slice(pos2);\n  for (const marker of AGGLUTINATIVE_MARKERS) {\n    if (!remaining.startsWith(marker)) continue;\n    const after = input[pos2 + marker.length];\n    if (after === void 0 || !isQuechuaLetter(after)) return true;\n  }\n  return false;\n}\nfunction createQuechuaKeywordExtractor() {\n  return new QuechuaKeywordExtractor();\n}\nvar SUFFIXES, POSTPOSITIONS2, AGGLUTINATIVE_MARKERS, QuechuaKeywordExtractor;\nvar init_quechua_keyword = __esm({\n  \"src/tokenizers/extractors/quechua-keyword.ts\"() {\n    \"use strict\";\n    SUFFIXES = /* @__PURE__ */ new Set([\n      \"-ta\",\n      // accusative (direct object)\n      \"-man\",\n      // allative (to, towards)\n      \"-manta\",\n      // ablative (from)\n      \"-pi\",\n      // locative (at, in)\n      \"-wan\",\n      // comitative/instrumental (with)\n      \"-paq\",\n      // benefactive (for)\n      \"-kama\",\n      // limitative (until, up to)\n      \"-rayku\",\n      // causative (because of)\n      \"-hina\",\n      // simulative (like, as)\n      // Standalone (unhyphenated) forms — used when written as separate words\n      \"ta\",\n      \"man\",\n      \"manta\",\n      \"pi\",\n      \"wan\",\n      \"paq\",\n      \"kama\",\n      \"hina\",\n      \"pa\"\n    ]);\n    POSTPOSITIONS2 = /* @__PURE__ */ new Set([\n      \"kama\",\n      // until\n      \"hina\",\n      // like, as\n      \"rayku\",\n      // because of\n      \"paq\"\n      // for\n    ]);\n    AGGLUTINATIVE_MARKERS = new Set(\n      [...SUFFIXES, ...POSTPOSITIONS2].map((s) => s.startsWith(\"-\") ? s.slice(1) : s)\n    );\n    QuechuaKeywordExtractor = class {\n      constructor() {\n        this.name = \"quechua-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        if (isQuechuaLetter(input[position])) return true;\n        return this.isHyphenatedSuffix(input, position) !== null;\n      }\n      /**\n       * Return the suffix (without the leading hyphen) if `position` begins a\n       * hyphenated Quechua suffix like `-ta`, else null.\n       */\n      isHyphenatedSuffix(input, position) {\n        if (input[position] !== \"-\") return null;\n        const match = input.slice(position).match(/^-([a-zñ'’]+)/i);\n        if (match && SUFFIXES.has(`-${match[1].toLowerCase()}`)) return match[1];\n        return null;\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"QuechuaKeywordExtractor: context not set\");\n        }\n        const startPos = position;\n        const hyphenSuffix = this.isHyphenatedSuffix(input, position);\n        if (hyphenSuffix !== null) {\n          return {\n            value: hyphenSuffix,\n            length: hyphenSuffix.length + 1,\n            // +1 for the consumed hyphen\n            metadata: { suffixValue: hyphenSuffix.toLowerCase() }\n          };\n        }\n        const maxKeywordLen = 12;\n        for (let len = Math.min(maxKeywordLen, input.length - startPos); len >= 2; len--) {\n          const candidate = input.slice(startPos, startPos + len);\n          const after = input[startPos + len];\n          if (after !== void 0 && isQuechuaLetter(after)) continue;\n          let allQuechua = true;\n          for (let i = 0; i < candidate.length; i++) {\n            if (!isQuechuaLetter(candidate[i])) {\n              allQuechua = false;\n              break;\n            }\n          }\n          if (!allQuechua) continue;\n          const keywordEntry2 = this.context.lookupKeyword(candidate);\n          if (keywordEntry2) {\n            return {\n              value: candidate,\n              length: len,\n              metadata: {\n                normalized: keywordEntry2.normalized !== keywordEntry2.native ? keywordEntry2.normalized : void 0\n              }\n            };\n          }\n          if (this.context.normalizer) {\n            const morphResult = this.context.normalizer.normalize(candidate);\n            if (morphResult.stem !== candidate && morphResult.confidence >= 0.7) {\n              const stemEntry = this.context.lookupKeyword(morphResult.stem);\n              if (stemEntry) {\n                return {\n                  value: candidate,\n                  length: len,\n                  metadata: {\n                    normalized: stemEntry.normalized\n                  }\n                };\n              }\n            }\n          }\n        }\n        let word = \"\";\n        let pos2 = position;\n        while (pos2 < input.length && isQuechuaLetter(input[pos2])) {\n          if (word.length > 0 && quechuaSuffixStartsAt(input, pos2)) {\n            break;\n          }\n          word += input[pos2];\n          pos2++;\n        }\n        if (!word) return null;\n        if (SUFFIXES.has(word.toLowerCase())) {\n          return {\n            value: word,\n            length: pos2 - startPos,\n            metadata: {\n              suffixValue: word.toLowerCase()\n            }\n          };\n        }\n        if (POSTPOSITIONS2.has(word.toLowerCase())) {\n          return {\n            value: word,\n            length: pos2 - startPos,\n            metadata: {\n              postpositionValue: word.toLowerCase()\n            }\n          };\n        }\n        const keywordEntry = this.context.lookupKeyword(word);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        let morphNormalized;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - startPos,\n          metadata: {\n            normalized: normalized2 || morphNormalized\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/hebrew-keyword.ts\nfunction createHebrewExtractors() {\n  return [\n    // Note: HebrewProcliticExtractor should be registered separately\n    // and should come BEFORE this extractor in the priority order\n    new HebrewKeywordExtractor()\n  ];\n}\nvar isHebrew, PREPOSITIONS7, CONJUNCTIONS, HebrewKeywordExtractor;\nvar init_hebrew_keyword = __esm({\n  \"src/tokenizers/extractors/hebrew-keyword.ts\"() {\n    \"use strict\";\n    init_base();\n    isHebrew = createUnicodeRangeClassifier([\n      [1424, 1535],\n      // Hebrew\n      [64285, 64335]\n      // Hebrew Presentation Forms\n    ]);\n    PREPOSITIONS7 = /* @__PURE__ */ new Set([\n      \"\\u05E2\\u05DC\",\n      // al (on, upon)\n      \"\\u05D0\\u05EA\",\n      // et (direct object marker)\n      \"\\u05D0\\u05DC\",\n      // el (to, toward)\n      \"\\u05DE\\u05DF\",\n      // min (from)\n      \"\\u05E2\\u05DD\",\n      // im (with)\n      \"\\u05D1\\u05EA\\u05D5\\u05DA\",\n      // betoch (inside)\n      \"\\u05DE\\u05EA\\u05D5\\u05DA\",\n      // mitoch (from inside)\n      \"\\u05DC\\u05D9\\u05D3\",\n      // leyad (next to)\n      \"\\u05D0\\u05D7\\u05E8\\u05D9\",\n      // acharey (after)\n      \"\\u05DC\\u05E4\\u05E0\\u05D9\",\n      // lifney (before)\n      \"\\u05D1\\u05D9\\u05DF\",\n      // beyn (between)\n      \"\\u05E2\\u05D3\",\n      // ad (until)\n      \"\\u05E9\\u05DC\"\n      // shel (of - possessive)\n    ]);\n    CONJUNCTIONS = /* @__PURE__ */ new Set([\n      \"\\u05D5\"\n      // v' - conjunction \"and\" (can also be prefix)\n    ]);\n    HebrewKeywordExtractor = class {\n      constructor() {\n        this.name = \"hebrew-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isHebrew(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"HebrewKeywordExtractor: context not set\");\n        }\n        const startPos = position;\n        if (this.context.isKeywordStart(input, position)) {\n        }\n        let word = \"\";\n        let pos2 = position;\n        while (pos2 < input.length && isHebrew(input[pos2])) {\n          word += input[pos2];\n          pos2++;\n        }\n        if (!word) return null;\n        const keywordEntry = this.context.lookupKeyword(word);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        if (PREPOSITIONS7.has(word)) {\n          return {\n            value: word,\n            length: pos2 - startPos,\n            metadata: {\n              prepositionValue: word,\n              normalized: normalized2\n            }\n          };\n        }\n        if (CONJUNCTIONS.has(word)) {\n          return {\n            value: word,\n            length: pos2 - startPos,\n            metadata: {\n              conjunctionValue: word,\n              normalized: normalized2\n            }\n          };\n        }\n        let morphNormalized;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - startPos,\n          metadata: {\n            normalized: normalized2 || morphNormalized\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/hebrew-proclitic.ts\nfunction createHebrewProcliticExtractor() {\n  return new HebrewProcliticExtractor();\n}\nvar isHebrew2, PROCLITIC_PREFIXES, EVENT_MARKER_PREFIXES, EVENT_NAMES, HebrewProcliticExtractor;\nvar init_hebrew_proclitic = __esm({\n  \"src/tokenizers/extractors/hebrew-proclitic.ts\"() {\n    \"use strict\";\n    init_base();\n    isHebrew2 = createUnicodeRangeClassifier([\n      [1424, 1535],\n      // Hebrew\n      [64285, 64335]\n      // Hebrew Presentation Forms\n    ]);\n    PROCLITIC_PREFIXES = /* @__PURE__ */ new Map([\n      [\"\\u05D1\", \"on\"],\n      // b' - in, at, with (event marker / locative)\n      [\"\\u05DC\", \"to\"],\n      // l' - to, for (dative / destination)\n      [\"\\u05DE\", \"from\"],\n      // m' - from (ablative / source)\n      [\"\\u05DB\", \"as\"],\n      // k' - like, as (comparative)\n      [\"\\u05D4\", \"the\"],\n      // h' - definite article\n      [\"\\u05D5\", \"and\"],\n      // v' - conjunction \"and\"\n      [\"\\u05E9\", \"that\"]\n      // sh' - relative pronoun \"that\"\n    ]);\n    EVENT_MARKER_PREFIXES = /* @__PURE__ */ new Set([\"\\u05D1\", \"\\u05DB\"]);\n    EVENT_NAMES = /* @__PURE__ */ new Set([\n      \"\\u05DC\\u05D7\\u05D9\\u05E6\\u05D4\",\n      // click\n      \"\\u05E7\\u05DC\\u05D9\\u05E7\",\n      // click (loanword)\n      \"\\u05E9\\u05DC\\u05D9\\u05D7\\u05D4\",\n      // submit\n      \"\\u05D4\\u05D2\\u05E9\\u05D4\",\n      // submit (alternative)\n      \"\\u05E8\\u05D9\\u05D7\\u05D5\\u05E3\",\n      // hover\n      \"\\u05DE\\u05E2\\u05D1\\u05E8\",\n      // hover/transition\n      \"\\u05E9\\u05D9\\u05E0\\u05D5\\u05D9\",\n      // change\n      \"\\u05E2\\u05D3\\u05DB\\u05D5\\u05DF\",\n      // update/change\n      \"\\u05E7\\u05DC\\u05D8\",\n      // input\n      \"\\u05D4\\u05D6\\u05E0\\u05D4\",\n      // input (alternative)\n      \"\\u05DE\\u05D9\\u05E7\\u05D5\\u05D3\",\n      // focus\n      \"\\u05D8\\u05E9\\u05D8\\u05D5\\u05E9\",\n      // blur\n      \"\\u05D8\\u05E2\\u05D9\\u05E0\\u05D4\",\n      // load\n      \"\\u05D2\\u05DC\\u05D9\\u05DC\\u05D4\"\n      // scroll\n    ]);\n    HebrewProcliticExtractor = class {\n      constructor() {\n        this.name = \"hebrew-proclitic\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        const char = input[position];\n        return PROCLITIC_PREFIXES.has(char) && position + 1 < input.length && isHebrew2(input[position + 1]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"HebrewProcliticExtractor: context not set\");\n        }\n        const prefix = input[position];\n        const normalized2 = PROCLITIC_PREFIXES.get(prefix);\n        if (!normalized2) return null;\n        let wordEnd = position;\n        while (wordEnd < input.length && isHebrew2(input[wordEnd])) {\n          wordEnd++;\n        }\n        const fullWord = input.slice(position, wordEnd);\n        const keywordEntry = this.context?.lookupKeyword(fullWord);\n        if (keywordEntry) {\n          return null;\n        }\n        if (position + 1 < input.length && PROCLITIC_PREFIXES.has(input[position + 1])) {\n          const afterFirstPrefix = input.slice(position + 1, wordEnd);\n          const afterFirstEntry = this.context?.lookupKeyword(afterFirstPrefix);\n          const isAfterFirstEvent = EVENT_NAMES.has(afterFirstPrefix);\n          if (afterFirstEntry || isAfterFirstEvent || afterFirstPrefix.length >= 3) {\n          } else {\n            return null;\n          }\n        }\n        const afterPrefix = input.slice(position + 1, wordEnd);\n        const afterPrefixEntry = this.context?.lookupKeyword(afterPrefix);\n        const isEventMarkerPrefix = EVENT_MARKER_PREFIXES.has(prefix);\n        const isEventName = EVENT_NAMES.has(afterPrefix);\n        if (isEventMarkerPrefix && isEventName) {\n          return {\n            value: prefix,\n            length: 1,\n            metadata: {\n              normalized: normalized2,\n              procliticType: normalized2,\n              isEventMarker: true\n            }\n          };\n        }\n        if (afterPrefix.length === 1 && PROCLITIC_PREFIXES.has(afterPrefix)) {\n          return null;\n        }\n        if (!afterPrefixEntry && !isEventName && afterPrefix.length < 2) {\n          return null;\n        }\n        const isEventMarker = isEventMarkerPrefix && afterPrefixEntry;\n        return {\n          value: prefix,\n          length: 1,\n          metadata: {\n            normalized: normalized2,\n            procliticType: normalized2,\n            isEventMarker\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/ascii-identifier.ts\nfunction isAsciiIdentifierStart(char) {\n  const code = char.charCodeAt(0);\n  return code >= 65 && code <= 90 || // A-Z\n  code >= 97 && code <= 122 || // a-z\n  code === 95 || // _\n  code === 36;\n}\nfunction isAsciiIdentifierChar5(char) {\n  const code = char.charCodeAt(0);\n  return code >= 48 && code <= 57 || // 0-9\n  code >= 65 && code <= 90 || // A-Z\n  code >= 97 && code <= 122 || // a-z\n  code === 95 || // _\n  code === 36;\n}\nvar AsciiIdentifierExtractor;\nvar init_ascii_identifier = __esm({\n  \"src/tokenizers/extractors/ascii-identifier.ts\"() {\n    \"use strict\";\n    AsciiIdentifierExtractor = class {\n      constructor() {\n        this.name = \"ascii-identifier\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isAsciiIdentifierStart(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"AsciiIdentifierExtractor: context not set\");\n        }\n        const startPos = position;\n        let word = \"\";\n        let pos2 = position;\n        while (pos2 < input.length && isAsciiIdentifierChar5(input[pos2])) {\n          word += input[pos2];\n          pos2++;\n        }\n        if (!word) return null;\n        const keywordEntry = this.context.lookupKeyword(word);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        return {\n          value: word,\n          length: pos2 - startPos,\n          metadata: {\n            normalized: normalized2\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/extractors/index.ts\nvar init_extractors = __esm({\n  \"src/tokenizers/extractors/index.ts\"() {\n    \"use strict\";\n    init_css_selector();\n    init_event_modifier();\n    init_url();\n    init_variable_ref();\n  }\n});\n\n// src/tokenizers/extractor-helpers.ts\nfunction getHyperscriptExtractors() {\n  return [\n    new UrlExtractor(),\n    new EventModifierExtractor(),\n    new VariableRefExtractor(),\n    new CssSelectorExtractor()\n  ];\n}\nvar init_extractor_helpers = __esm({\n  \"src/tokenizers/extractor-helpers.ts\"() {\n    \"use strict\";\n    init_extractors();\n  }\n});\n\n// src/tokenizers/extractors/english-keyword.ts\nfunction isAsciiIdentifierChar6(char) {\n  return /[a-zA-Z0-9_]/.test(char);\n}\nfunction createEnglishExtractors() {\n  return [new EnglishKeywordExtractor()];\n}\nvar EnglishKeywordExtractor;\nvar init_english_keyword = __esm({\n  \"src/tokenizers/extractors/english-keyword.ts\"() {\n    \"use strict\";\n    EnglishKeywordExtractor = class {\n      constructor() {\n        this.name = \"english-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return /[a-zA-Z_]/.test(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"EnglishKeywordExtractor: context not set\");\n        }\n        let pos2 = position;\n        let word = \"\";\n        while (pos2 < input.length && isAsciiIdentifierChar6(input[pos2])) {\n          word += input[pos2++];\n        }\n        if (!word) return null;\n        if (pos2 < input.length && input[pos2] === \":\") {\n          const colonPos = pos2;\n          pos2++;\n          let namespace = \"\";\n          while (pos2 < input.length && isAsciiIdentifierChar6(input[pos2])) {\n            namespace += input[pos2++];\n          }\n          if (namespace) {\n            word = word + \":\" + namespace;\n          } else {\n            pos2 = colonPos;\n          }\n        }\n        const keywordEntry = this.context.lookupKeyword(word);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        let classConversion = null;\n        if (!this.context.isKeyword(word)) {\n          classConversion = this.tryClassSyntaxConversion(input, pos2, word);\n        }\n        return {\n          value: classConversion || word,\n          length: pos2 - position,\n          metadata: {\n            normalized: normalized2,\n            classConversion: classConversion ? true : void 0\n          }\n        };\n      }\n      /**\n       * Try to convert \"identifier class\" to \".identifier\".\n       * E.g., \"active class\" → \".active\"\n       */\n      tryClassSyntaxConversion(input, endPos, word) {\n        let checkPos = endPos;\n        while (checkPos < input.length && /\\s/.test(input[checkPos])) {\n          checkPos++;\n        }\n        if (input.slice(checkPos, checkPos + 5).toLowerCase() === \"class\") {\n          const afterClass = checkPos + 5;\n          if (afterClass >= input.length || !isAsciiIdentifierChar6(input[afterClass])) {\n            return \".\" + word;\n          }\n        }\n        return null;\n      }\n    };\n  }\n});\n\n// src/tokenizers/english.ts\nvar english_exports2 = {};\n__export(english_exports2, {\n  EnglishTokenizer: () => EnglishTokenizer,\n  englishTokenizer: () => englishTokenizer\n});\nvar ENGLISH_EXTRAS, EnglishTokenizer, englishTokenizer;\nvar init_english2 = __esm({\n  \"src/tokenizers/english.ts\"() {\n    \"use strict\";\n    init_base();\n    init_english();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_english_keyword();\n    ENGLISH_EXTRAS = [\n      // Values/Literals\n      { native: \"true\", normalized: \"true\" },\n      { native: \"false\", normalized: \"false\" },\n      { native: \"null\", normalized: \"null\" },\n      { native: \"undefined\", normalized: \"undefined\" },\n      // Positional\n      { native: \"first\", normalized: \"first\" },\n      { native: \"last\", normalized: \"last\" },\n      { native: \"next\", normalized: \"next\" },\n      { native: \"previous\", normalized: \"previous\" },\n      { native: \"closest\", normalized: \"closest\" },\n      // Events\n      { native: \"click\", normalized: \"click\" },\n      { native: \"dblclick\", normalized: \"dblclick\" },\n      { native: \"mousedown\", normalized: \"mousedown\" },\n      { native: \"mouseup\", normalized: \"mouseup\" },\n      { native: \"mouseover\", normalized: \"mouseover\" },\n      { native: \"mouseout\", normalized: \"mouseout\" },\n      { native: \"mouseenter\", normalized: \"mouseenter\" },\n      { native: \"mouseleave\", normalized: \"mouseleave\" },\n      { native: \"mousemove\", normalized: \"mousemove\" },\n      { native: \"keydown\", normalized: \"keydown\" },\n      { native: \"keyup\", normalized: \"keyup\" },\n      { native: \"keypress\", normalized: \"keypress\" },\n      { native: \"input\", normalized: \"input\" },\n      { native: \"change\", normalized: \"change\" },\n      { native: \"submit\", normalized: \"submit\" },\n      { native: \"reset\", normalized: \"reset\" },\n      { native: \"load\", normalized: \"load\" },\n      { native: \"unload\", normalized: \"unload\" },\n      { native: \"scroll\", normalized: \"scroll\" },\n      { native: \"resize\", normalized: \"resize\" },\n      { native: \"dragstart\", normalized: \"dragstart\" },\n      { native: \"drag\", normalized: \"drag\" },\n      { native: \"dragend\", normalized: \"dragend\" },\n      { native: \"dragenter\", normalized: \"dragenter\" },\n      { native: \"dragleave\", normalized: \"dragleave\" },\n      { native: \"dragover\", normalized: \"dragover\" },\n      { native: \"drop\", normalized: \"drop\" },\n      { native: \"touchstart\", normalized: \"touchstart\" },\n      { native: \"touchmove\", normalized: \"touchmove\" },\n      { native: \"touchend\", normalized: \"touchend\" },\n      { native: \"touchcancel\", normalized: \"touchcancel\" },\n      // Prepositions/modifiers not in profile\n      { native: \"in\", normalized: \"in\" },\n      { native: \"to\", normalized: \"to\" },\n      { native: \"at\", normalized: \"at\" },\n      { native: \"by\", normalized: \"by\" },\n      { native: \"with\", normalized: \"with\" },\n      { native: \"without\", normalized: \"without\" },\n      { native: \"of\", normalized: \"of\" },\n      { native: \"as\", normalized: \"as\" },\n      // Event handling keywords\n      { native: \"every\", normalized: \"every\" },\n      { native: \"upon\", normalized: \"upon\" },\n      // Control flow helpers not in profile\n      { native: \"unless\", normalized: \"unless\" },\n      { native: \"forever\", normalized: \"forever\" },\n      { native: \"times\", normalized: \"times\" },\n      // Logical\n      { native: \"and\", normalized: \"and\" },\n      { native: \"or\", normalized: \"or\" },\n      { native: \"not\", normalized: \"not\" },\n      { native: \"is\", normalized: \"is\" },\n      { native: \"exists\", normalized: \"exists\" },\n      { native: \"empty\", normalized: \"empty\" },\n      // References not in profile\n      { native: \"my\", normalized: \"my\" },\n      { native: \"your\", normalized: \"your\" },\n      { native: \"its\", normalized: \"its\" },\n      { native: \"the\", normalized: \"the\" },\n      { native: \"a\", normalized: \"a\" },\n      { native: \"an\", normalized: \"an\" },\n      // Swap strategies\n      { native: \"delete\", normalized: \"delete\" },\n      { native: \"innerHTML\", normalized: \"innerHTML\" },\n      { native: \"outerHTML\", normalized: \"outerHTML\" },\n      { native: \"beforebegin\", normalized: \"beforebegin\" },\n      { native: \"afterend\", normalized: \"afterend\" },\n      { native: \"beforeend\", normalized: \"beforeend\" },\n      { native: \"afterbegin\", normalized: \"afterbegin\" },\n      // Command synonyms with normalized forms\n      { native: \"flip\", normalized: \"toggle\" },\n      { native: \"switch\", normalized: \"toggle\" },\n      { native: \"increase\", normalized: \"increment\" },\n      { native: \"decrease\", normalized: \"decrement\" },\n      { native: \"display\", normalized: \"show\" },\n      { native: \"reveal\", normalized: \"show\" },\n      { native: \"conceal\", normalized: \"hide\" },\n      // British spelling aliases\n      { native: \"colour\", normalized: \"color\" },\n      { native: \"grey\", normalized: \"gray\" },\n      { native: \"centre\", normalized: \"center\" },\n      { native: \"behaviour\", normalized: \"behavior\" },\n      { native: \"initialise\", normalized: \"initialize\" },\n      { native: \"favourite\", normalized: \"favorite\" }\n    ];\n    EnglishTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"en\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(englishProfile, ENGLISH_EXTRAS);\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractors(createEnglishExtractors());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(token) {\n        if (this.isKeyword(token)) return \"keyword\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"../\") || token.startsWith(\"http\"))\n          return \"url\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        if ([\"==\", \"!=\", \"<=\", \">=\", \"<\", \">\", \"&&\", \"||\", \"!\"].includes(token)) return \"operator\";\n        return \"identifier\";\n      }\n      // extractWord() and tryConvertToClassSelector() methods removed\n      // Now handled by EnglishKeywordExtractor (context-aware)\n    };\n    englishTokenizer = new EnglishTokenizer();\n  }\n});\n\n// src/tokenizers/morphology/types.ts\nimport { noChange, normalized, BaseMorphologicalNormalizer } from \"@lokascript/framework\";\nvar init_types = __esm({\n  \"src/tokenizers/morphology/types.ts\"() {\n    \"use strict\";\n  }\n});\n\n// src/tokenizers/morphology/japanese-normalizer.ts\nfunction isHiragana2(char) {\n  const code = char.charCodeAt(0);\n  return code >= 12352 && code <= 12447;\n}\nfunction isKatakana2(char) {\n  const code = char.charCodeAt(0);\n  return code >= 12448 && code <= 12543;\n}\nfunction isKanji2(char) {\n  const code = char.charCodeAt(0);\n  return code >= 19968 && code <= 40959 || code >= 13312 && code <= 19903;\n}\nfunction containsJapanese(word) {\n  for (const char of word) {\n    if (isHiragana2(char) || isKatakana2(char) || isKanji2(char)) {\n      return true;\n    }\n  }\n  return false;\n}\nvar JAPANESE_SUFFIX_RULES, SURU_PATTERNS, JapaneseMorphologicalNormalizer, japaneseMorphologicalNormalizer;\nvar init_japanese_normalizer = __esm({\n  \"src/tokenizers/morphology/japanese-normalizer.ts\"() {\n    \"use strict\";\n    init_types();\n    JAPANESE_SUFFIX_RULES = [\n      // Conditional forms - very common for event handlers (longest first)\n      // したら/すると/すれば are する verb conditionals\n      { pattern: \"\\u3057\\u305F\\u3089\", confidence: 0.88, conjugationType: \"conditional-tara\", minStemLength: 2 },\n      { pattern: \"\\u3059\\u308B\\u3068\", confidence: 0.88, conjugationType: \"conditional-to\", minStemLength: 2 },\n      { pattern: \"\\u3059\\u308C\\u3070\", confidence: 0.85, conjugationType: \"conditional-ba\", minStemLength: 2 },\n      // たら/れば are regular verb conditionals\n      { pattern: \"\\u305F\\u3089\", confidence: 0.85, conjugationType: \"conditional-tara\", minStemLength: 2 },\n      { pattern: \"\\u308C\\u3070\", confidence: 0.82, conjugationType: \"conditional-ba\", minStemLength: 2 },\n      // Compound forms (longest first)\n      { pattern: \"\\u3066\\u3044\\u307E\\u3057\\u305F\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"\\u3066\\u3044\\u307E\\u3059\", confidence: 0.85, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\u3066\\u304F\\u3060\\u3055\\u3044\", confidence: 0.85, conjugationType: \"request\", minStemLength: 2 },\n      { pattern: \"\\u3067\\u304F\\u3060\\u3055\\u3044\", confidence: 0.85, conjugationType: \"request\", minStemLength: 2 },\n      { pattern: \"\\u3066\\u3044\\u308B\", confidence: 0.85, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\u3066\\u304A\\u304F\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\u3066\\u307F\\u308B\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\u3066\\u3042\\u308B\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      // Casual request forms\n      { pattern: \"\\u3066\\u304F\\u308C\", confidence: 0.8, conjugationType: \"casual-request\", minStemLength: 2 },\n      { pattern: \"\\u3067\\u304F\\u308C\", confidence: 0.8, conjugationType: \"casual-request\", minStemLength: 2 },\n      // Contracted/colloquial forms (ちゃう/じゃう = てしまう/でしまう)\n      { pattern: \"\\u3061\\u3083\\u3063\\u305F\", confidence: 0.82, conjugationType: \"contracted-past\", minStemLength: 2 },\n      { pattern: \"\\u3058\\u3083\\u3063\\u305F\", confidence: 0.82, conjugationType: \"contracted-past\", minStemLength: 2 },\n      { pattern: \"\\u3061\\u3083\\u3046\", confidence: 0.82, conjugationType: \"contracted\", minStemLength: 2 },\n      { pattern: \"\\u3058\\u3083\\u3046\", confidence: 0.82, conjugationType: \"contracted\", minStemLength: 2 },\n      // Polite forms\n      { pattern: \"\\u307E\\u3057\\u305F\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"\\u307E\\u305B\\u3093\", confidence: 0.85, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"\\u307E\\u3059\", confidence: 0.85, conjugationType: \"polite\", minStemLength: 2 },\n      // て/た forms (very common)\n      { pattern: \"\\u3066\", confidence: 0.85, conjugationType: \"te-form\", minStemLength: 2 },\n      { pattern: \"\\u305F\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      // Negative forms\n      { pattern: \"\\u306A\\u3044\", confidence: 0.82, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"\\u306A\\u304B\\u3063\\u305F\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      // Potential forms\n      { pattern: \"\\u3089\\u308C\\u308B\", confidence: 0.8, conjugationType: \"potential\", minStemLength: 2 },\n      { pattern: \"\\u308C\\u308B\", confidence: 0.78, conjugationType: \"potential\", minStemLength: 2 },\n      // Passive forms\n      { pattern: \"\\u3089\\u308C\\u305F\", confidence: 0.8, conjugationType: \"passive\", minStemLength: 2 },\n      // Causative forms\n      { pattern: \"\\u3055\\u305B\\u308B\", confidence: 0.8, conjugationType: \"causative\", minStemLength: 2 },\n      { pattern: \"\\u305B\\u308B\", confidence: 0.78, conjugationType: \"causative\", minStemLength: 2 },\n      // Volitional forms\n      { pattern: \"\\u3088\\u3046\", confidence: 0.8, conjugationType: \"volitional\", minStemLength: 2 },\n      // Dictionary form ending (る-verbs) - lower confidence due to ambiguity\n      { pattern: \"\\u308B\", confidence: 0.75, conjugationType: \"dictionary\", minStemLength: 3 }\n    ];\n    SURU_PATTERNS = [\n      // Conditional forms (most important for native idioms)\n      { pattern: \"\\u3057\\u305F\\u3089\", confidence: 0.88, conjugationType: \"conditional-tara\" },\n      { pattern: \"\\u3059\\u308B\\u3068\", confidence: 0.88, conjugationType: \"conditional-to\" },\n      { pattern: \"\\u3059\\u308C\\u3070\", confidence: 0.85, conjugationType: \"conditional-ba\" },\n      // Progressive forms\n      { pattern: \"\\u3057\\u3066\\u3044\\u307E\\u3059\", confidence: 0.85, conjugationType: \"progressive\" },\n      { pattern: \"\\u3057\\u3066\\u3044\\u308B\", confidence: 0.85, conjugationType: \"progressive\" },\n      // Other forms\n      { pattern: \"\\u3057\\u307E\\u3057\\u305F\", confidence: 0.85, conjugationType: \"past\" },\n      { pattern: \"\\u3057\\u307E\\u3059\", confidence: 0.85, conjugationType: \"polite\" },\n      { pattern: \"\\u3057\\u306A\\u3044\", confidence: 0.82, conjugationType: \"negative\" },\n      { pattern: \"\\u3057\\u3066\", confidence: 0.85, conjugationType: \"te-form\" },\n      { pattern: \"\\u3057\\u305F\", confidence: 0.85, conjugationType: \"past\" },\n      { pattern: \"\\u3059\\u308B\", confidence: 0.88, conjugationType: \"dictionary\" }\n    ];\n    JapaneseMorphologicalNormalizer = class {\n      constructor() {\n        this.language = \"ja\";\n      }\n      /**\n       * Check if a word might be a Japanese verb that can be normalized.\n       */\n      isNormalizable(word) {\n        if (!containsJapanese(word)) return false;\n        if (word.length < 2) return false;\n        const lastChar = word[word.length - 1];\n        return isHiragana2(lastChar);\n      }\n      /**\n       * Normalize a Japanese word to its stem form.\n       */\n      normalize(word) {\n        const compoundResult = this.normalizeCompound(word);\n        if (compoundResult) return compoundResult;\n        const suruResult = this.trySuruNormalization(word);\n        if (suruResult) return suruResult;\n        for (const rule of JAPANESE_SUFFIX_RULES) {\n          if (word.endsWith(rule.pattern)) {\n            const stem = word.slice(0, -rule.pattern.length);\n            const minLength = rule.minStemLength ?? 2;\n            if (stem.length < minLength) continue;\n            const metadata = {\n              removedSuffixes: [rule.pattern]\n            };\n            if (rule.conjugationType) {\n              metadata.conjugationType = rule.conjugationType;\n            }\n            return normalized(stem, rule.confidence, metadata);\n          }\n        }\n        return noChange(word);\n      }\n      /**\n       * Try to normalize a する verb.\n       */\n      trySuruNormalization(word) {\n        for (const pattern of SURU_PATTERNS) {\n          if (word.endsWith(pattern.pattern)) {\n            const stem = word.slice(0, -pattern.pattern.length);\n            if (stem.length < 1) continue;\n            return normalized(stem, pattern.confidence, {\n              removedSuffixes: [pattern.pattern],\n              conjugationType: pattern.conjugationType,\n              originalForm: \"suru-verb\"\n            });\n          }\n        }\n        return null;\n      }\n      /**\n       * Normalize compound conjugations (multi-layer suffixes).\n       * These are combinations like ていなかった (was not doing), でいない (is not doing).\n       * Handles cases that single-suffix rules miss.\n       */\n      normalizeCompound(word) {\n        const compoundPatterns = [\n          // Progressive negative past forms\n          {\n            pattern: \"\\u3066\\u3044\\u306A\\u304B\\u3063\\u305F\",\n            suffixes: [\"\\u3066\", \"\\u3044\", \"\\u306A\\u304B\\u3063\\u305F\"],\n            confidence: 0.8,\n            minStemLength: 2\n          },\n          {\n            pattern: \"\\u3067\\u3044\\u306A\\u304B\\u3063\\u305F\",\n            suffixes: [\"\\u3067\", \"\\u3044\", \"\\u306A\\u304B\\u3063\\u305F\"],\n            confidence: 0.8,\n            minStemLength: 2\n          },\n          // Progressive negative forms\n          { pattern: \"\\u3066\\u3044\\u306A\\u3044\", suffixes: [\"\\u3066\", \"\\u3044\", \"\\u306A\\u3044\"], confidence: 0.82, minStemLength: 2 },\n          { pattern: \"\\u3067\\u3044\\u306A\\u3044\", suffixes: [\"\\u3067\", \"\\u3044\", \"\\u306A\\u3044\"], confidence: 0.82, minStemLength: 2 },\n          // Progressive past forms\n          { pattern: \"\\u3066\\u3044\\u305F\", suffixes: [\"\\u3066\", \"\\u3044\", \"\\u305F\"], confidence: 0.85, minStemLength: 2 },\n          { pattern: \"\\u3067\\u3044\\u305F\", suffixes: [\"\\u3067\", \"\\u3044\", \"\\u305F\"], confidence: 0.85, minStemLength: 2 }\n        ];\n        for (const { pattern, suffixes, confidence, minStemLength } of compoundPatterns) {\n          if (word.endsWith(pattern)) {\n            const stem = word.slice(0, -pattern.length);\n            if (stem.length < minStemLength) continue;\n            return normalized(stem, confidence, {\n              removedSuffixes: suffixes,\n              conjugationType: \"compound\"\n            });\n          }\n        }\n        return null;\n      }\n    };\n    japaneseMorphologicalNormalizer = new JapaneseMorphologicalNormalizer();\n  }\n});\n\n// src/tokenizers/japanese.ts\nvar japanese_exports2 = {};\n__export(japanese_exports2, {\n  JapaneseTokenizer: () => JapaneseTokenizer,\n  japaneseTokenizer: () => japaneseTokenizer\n});\nvar PARTICLES, JAPANESE_EXTRAS, JapaneseTokenizer, japaneseTokenizer;\nvar init_japanese2 = __esm({\n  \"src/tokenizers/japanese.ts\"() {\n    \"use strict\";\n    init_base();\n    init_japanese_normalizer();\n    init_japanese();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_japanese_keyword();\n    init_japanese_particle();\n    init_ascii_identifier();\n    PARTICLES = /* @__PURE__ */ new Set([\n      \"\\u3092\",\n      // wo - object marker\n      \"\\u306B\",\n      // ni - destination, time\n      \"\\u3067\",\n      // de - location of action, means\n      \"\\u304B\\u3089\",\n      // kara - from\n      \"\\u307E\\u3067\",\n      // made - until\n      \"\\u3078\",\n      // e - direction\n      \"\\u3068\",\n      // to - and, with\n      \"\\u306E\",\n      // no - possessive\n      \"\\u304C\",\n      // ga - subject marker\n      \"\\u306F\",\n      // wa - topic marker\n      \"\\u3082\",\n      // mo - also\n      \"\\u3088\\u308A\"\n      // yori - than, from\n    ]);\n    JAPANESE_EXTRAS = [\n      // Values/Literals\n      { native: \"\\u771F\", normalized: \"true\" },\n      { native: \"\\u507D\", normalized: \"false\" },\n      { native: \"\\u30CC\\u30EB\", normalized: \"null\" },\n      { native: \"\\u672A\\u5B9A\\u7FA9\", normalized: \"undefined\" },\n      // Positional\n      { native: \"\\u6700\\u521D\", normalized: \"first\" },\n      { native: \"\\u6700\\u5F8C\", normalized: \"last\" },\n      { native: \"\\u6B21\", normalized: \"next\" },\n      { native: \"\\u524D\", normalized: \"previous\" },\n      { native: \"\\u6700\\u3082\\u8FD1\\u3044\", normalized: \"closest\" },\n      { native: \"\\u89AA\", normalized: \"parent\" },\n      // Events\n      { native: \"\\u30AF\\u30EA\\u30C3\\u30AF\", normalized: \"click\" },\n      { native: \"\\u5909\\u66F4\", normalized: \"change\" },\n      { native: \"\\u9001\\u4FE1\", normalized: \"submit\" },\n      { native: \"\\u5165\\u529B\", normalized: \"input\" },\n      { native: \"\\u30ED\\u30FC\\u30C9\", normalized: \"load\" },\n      // The i18n dict emits the native `読み込み` for `load` (not the loanword `ロード`);\n      // recognize it so `on load` events type as a literal, not a bare expression.\n      { native: \"\\u8AAD\\u307F\\u8FBC\\u307F\", normalized: \"load\" },\n      { native: \"\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\", normalized: \"scroll\" },\n      { native: \"\\u30AD\\u30FC\\u30C0\\u30A6\\u30F3\", normalized: \"keydown\" },\n      { native: \"\\u30AD\\u30FC\\u30A2\\u30C3\\u30D7\", normalized: \"keyup\" },\n      { native: \"\\u30DE\\u30A6\\u30B9\\u30AA\\u30FC\\u30D0\\u30FC\", normalized: \"mouseover\" },\n      { native: \"\\u30DE\\u30A6\\u30B9\\u30A2\\u30A6\\u30C8\", normalized: \"mouseout\" },\n      // The i18n dict emits マウス押下/マウス解放 for mousedown/mouseup (repeat-until-event);\n      // recognize them so the event types as a literal, not a bare expression.\n      { native: \"\\u30DE\\u30A6\\u30B9\\u62BC\\u4E0B\", normalized: \"mousedown\" },\n      { native: \"\\u30DE\\u30A6\\u30B9\\u89E3\\u653E\", normalized: \"mouseup\" },\n      // Conjunctions. `または` (or) must be listed so the keyword extractor's\n      // longest-match keeps it whole — otherwise the profile's `and` primary `また`\n      // (a 2-char prefix of the 3-char `または`) wins and the trailing `は` falls to\n      // the topic-particle extractor (`また`→and + `は`), destroying the multi-event\n      // `or` conjunction (`on click または keypress …`). `と`/`そして`/`また` already\n      // cover `and` via the profile; only `or` is missing.\n      { native: \"\\u307E\\u305F\\u306F\", normalized: \"or\" },\n      // References (alternative forms not in profile)\n      { native: \"\\u79C1\", normalized: \"me\" },\n      // Alternative to 自分 (jibun)\n      // Note: Attached particle forms (を切り替え, を追加, etc.) are intentionally NOT included\n      // because they would cause ambiguous parsing. The separate particle + verb pattern\n      // (を + 切り替え) is preferred for consistent semantic analysis.\n      // Conditional event forms (temporal markers - special event syntax)\n      { native: \"\\u3057\\u305F\\u3089\", normalized: \"on\" },\n      { native: \"\\u3059\\u308B\\u3068\", normalized: \"on\" },\n      { native: \"\\u6642\\u306B\", normalized: \"on\" },\n      // Time units\n      { native: \"\\u79D2\", normalized: \"s\" },\n      { native: \"\\u30DF\\u30EA\\u79D2\", normalized: \"ms\" },\n      { native: \"\\u5206\", normalized: \"m\" },\n      { native: \"\\u6642\\u9593\", normalized: \"h\" }\n    ];\n    JapaneseTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"ja\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(japaneseProfile, JAPANESE_EXTRAS);\n        this.normalizer = new JapaneseMorphologicalNormalizer();\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractor(new AsciiIdentifierExtractor());\n        this.registerExtractor(new JapaneseParticleExtractor());\n        this.registerExtractor(new JapaneseKeywordExtractor());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(token) {\n        if (PARTICLES.has(token)) return \"particle\";\n        if (this.isKeyword(token)) return \"keyword\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"../\") || token.startsWith(\"http\"))\n          return \"url\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\") || token.startsWith(\"\\u300C\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        return \"identifier\";\n      }\n      // extractJapaneseWord(), extractAsciiWord(), and extractJapaneseNumber() methods removed\n      // Now handled by JapaneseKeywordExtractor and NumberExtractor\n    };\n    japaneseTokenizer = new JapaneseTokenizer();\n  }\n});\n\n// src/tokenizers/morphology/korean-normalizer.ts\nfunction isHangul2(char) {\n  const code = char.charCodeAt(0);\n  return code >= 44032 && code <= 55203;\n}\nfunction containsKorean(word) {\n  for (const char of word) {\n    if (isHangul2(char)) return true;\n  }\n  return false;\n}\nvar KOREAN_SUFFIX_RULES, HADA_PATTERNS, KoreanMorphologicalNormalizer, koreanMorphologicalNormalizer;\nvar init_korean_normalizer = __esm({\n  \"src/tokenizers/morphology/korean-normalizer.ts\"() {\n    \"use strict\";\n    init_types();\n    KOREAN_SUFFIX_RULES = [\n      // Honorific conditional/temporal forms (-시- infix)\n      // These are critical for polite/formal Korean\n      { pattern: \"\\uD558\\uC2DC\\uB2C8\\uAE4C\", confidence: 0.85, conjugationType: \"honorific-causal\", minStemLength: 1 },\n      { pattern: \"\\uD558\\uC2E4\\uB54C\", confidence: 0.88, conjugationType: \"honorific-temporal\", minStemLength: 1 },\n      { pattern: \"\\uD558\\uC2E4 \\uB54C\", confidence: 0.88, conjugationType: \"honorific-temporal\", minStemLength: 1 },\n      {\n        pattern: \"\\uD558\\uC2DC\\uBA74\",\n        confidence: 0.88,\n        conjugationType: \"honorific-conditional\",\n        minStemLength: 1\n      },\n      {\n        pattern: \"\\uC73C\\uC2DC\\uBA74\",\n        confidence: 0.85,\n        conjugationType: \"honorific-conditional\",\n        minStemLength: 2\n      },\n      { pattern: \"\\uC2DC\\uBA74\", confidence: 0.82, conjugationType: \"honorific-conditional\", minStemLength: 2 },\n      // Sequential/temporal forms - \"after doing\", \"before doing\", \"as soon as\"\n      { pattern: \"\\uD558\\uACE0\\uB098\\uC11C\", confidence: 0.85, conjugationType: \"sequential-after\", minStemLength: 1 },\n      { pattern: \"\\uD558\\uACE0 \\uB098\\uC11C\", confidence: 0.85, conjugationType: \"sequential-after\", minStemLength: 1 },\n      { pattern: \"\\uD558\\uACE0\\uC11C\", confidence: 0.85, conjugationType: \"sequential-after\", minStemLength: 1 },\n      { pattern: \"\\uACE0\\uB098\\uC11C\", confidence: 0.82, conjugationType: \"sequential-after\", minStemLength: 2 },\n      { pattern: \"\\uACE0 \\uB098\\uC11C\", confidence: 0.82, conjugationType: \"sequential-after\", minStemLength: 2 },\n      { pattern: \"\\uACE0\\uC11C\", confidence: 0.82, conjugationType: \"sequential-after\", minStemLength: 2 },\n      { pattern: \"\\uD558\\uAE30\\uC804\\uC5D0\", confidence: 0.85, conjugationType: \"sequential-before\", minStemLength: 1 },\n      {\n        pattern: \"\\uD558\\uAE30 \\uC804\\uC5D0\",\n        confidence: 0.85,\n        conjugationType: \"sequential-before\",\n        minStemLength: 1\n      },\n      { pattern: \"\\uAE30\\uC804\\uC5D0\", confidence: 0.82, conjugationType: \"sequential-before\", minStemLength: 2 },\n      { pattern: \"\\uAE30 \\uC804\\uC5D0\", confidence: 0.82, conjugationType: \"sequential-before\", minStemLength: 2 },\n      { pattern: \"\\uD558\\uC790\\uB9C8\\uC790\", confidence: 0.88, conjugationType: \"immediate\", minStemLength: 1 },\n      { pattern: \"\\uC790\\uB9C8\\uC790\", confidence: 0.85, conjugationType: \"immediate\", minStemLength: 2 },\n      // Obligation forms - \"must do\", \"should do\"\n      { pattern: \"\\uD574\\uC57C\\uD574\\uC694\", confidence: 0.85, conjugationType: \"obligation\", minStemLength: 1 },\n      { pattern: \"\\uD574\\uC57C\\uD574\", confidence: 0.85, conjugationType: \"obligation\", minStemLength: 1 },\n      { pattern: \"\\uD574\\uC57C\\uD558\\uB2E4\", confidence: 0.85, conjugationType: \"obligation\", minStemLength: 1 },\n      { pattern: \"\\uC5B4\\uC57C\\uD574\\uC694\", confidence: 0.82, conjugationType: \"obligation\", minStemLength: 2 },\n      { pattern: \"\\uC5B4\\uC57C\\uD574\", confidence: 0.82, conjugationType: \"obligation\", minStemLength: 2 },\n      { pattern: \"\\uC544\\uC57C\\uD574\\uC694\", confidence: 0.82, conjugationType: \"obligation\", minStemLength: 2 },\n      { pattern: \"\\uC544\\uC57C\\uD574\", confidence: 0.82, conjugationType: \"obligation\", minStemLength: 2 },\n      // Conditional forms - most natural for event handlers (longest first)\n      // These are critical for native Korean idioms like \"클릭하면 증가\"\n      { pattern: \"\\uD558\\uB2C8\\uAE4C\", confidence: 0.85, conjugationType: \"causal-nikka\", minStemLength: 1 },\n      { pattern: \"\\uD560\\uB54C\", confidence: 0.88, conjugationType: \"temporal-ttae\", minStemLength: 1 },\n      { pattern: \"\\uD560 \\uB54C\", confidence: 0.88, conjugationType: \"temporal-ttae\", minStemLength: 1 },\n      { pattern: \"\\uC744\\uB54C\", confidence: 0.85, conjugationType: \"temporal-ttae\", minStemLength: 2 },\n      { pattern: \"\\uC744 \\uB54C\", confidence: 0.85, conjugationType: \"temporal-ttae\", minStemLength: 2 },\n      { pattern: \"\\uD558\\uBA74\", confidence: 0.88, conjugationType: \"conditional-myeon\", minStemLength: 1 },\n      { pattern: \"\\uC73C\\uBA74\", confidence: 0.85, conjugationType: \"conditional-myeon\", minStemLength: 2 },\n      { pattern: \"\\uB2C8\\uAE4C\", confidence: 0.82, conjugationType: \"causal-nikka\", minStemLength: 2 },\n      { pattern: \"\\uBA74\", confidence: 0.8, conjugationType: \"conditional-myeon\", minStemLength: 2 },\n      // Formal polite forms (longest first)\n      { pattern: \"\\uD558\\uC600\\uC2B5\\uB2C8\\uB2E4\", confidence: 0.85, conjugationType: \"past\", minStemLength: 1 },\n      { pattern: \"\\uD588\\uC2B5\\uB2C8\\uB2E4\", confidence: 0.85, conjugationType: \"past\", minStemLength: 1 },\n      { pattern: \"\\uD569\\uB2C8\\uB2E4\", confidence: 0.85, conjugationType: \"polite\", minStemLength: 1 },\n      { pattern: \"\\uC2B5\\uB2C8\\uB2E4\", confidence: 0.82, conjugationType: \"polite\", minStemLength: 2 },\n      { pattern: \"\\uB429\\uB2C8\\uB2E4\", confidence: 0.82, conjugationType: \"polite\", minStemLength: 1 },\n      { pattern: \"\\u3142\\uB2C8\\uB2E4\", confidence: 0.82, conjugationType: \"polite\", minStemLength: 2 },\n      // Honorific request forms\n      { pattern: \"\\uD558\\uC138\\uC694\", confidence: 0.85, conjugationType: \"honorific\", minStemLength: 1 },\n      { pattern: \"\\uD558\\uC2ED\\uC2DC\\uC624\", confidence: 0.85, conjugationType: \"honorific\", minStemLength: 1 },\n      { pattern: \"\\uC138\\uC694\", confidence: 0.82, conjugationType: \"honorific\", minStemLength: 2 },\n      { pattern: \"\\uC2ED\\uC2DC\\uC624\", confidence: 0.82, conjugationType: \"honorific\", minStemLength: 2 },\n      // Informal polite (요) forms\n      { pattern: \"\\uD558\\uACE0\\uC788\\uC5B4\\uC694\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 1 },\n      { pattern: \"\\uD558\\uACE0\\uC788\\uC5B4\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 1 },\n      { pattern: \"\\uD588\\uC5B4\\uC694\", confidence: 0.85, conjugationType: \"past\", minStemLength: 1 },\n      { pattern: \"\\uD574\\uC694\", confidence: 0.85, conjugationType: \"polite\", minStemLength: 1 },\n      { pattern: \"\\uC5B4\\uC694\", confidence: 0.82, conjugationType: \"polite\", minStemLength: 2 },\n      { pattern: \"\\uC544\\uC694\", confidence: 0.82, conjugationType: \"polite\", minStemLength: 2 },\n      // Informal (반말) forms\n      { pattern: \"\\uD588\\uC5B4\", confidence: 0.85, conjugationType: \"past\", minStemLength: 1 },\n      { pattern: \"\\uD574\", confidence: 0.8, conjugationType: \"present\", minStemLength: 1 },\n      { pattern: \"\\uC5C8\\uC5B4\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"\\uC558\\uC5B4\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      // Progressive forms\n      { pattern: \"\\uD558\\uACE0\\uC788\\uB2E4\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 1 },\n      { pattern: \"\\uACE0\\uC788\\uB2E4\", confidence: 0.8, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\uACE0\\uC788\\uC5B4\", confidence: 0.8, conjugationType: \"progressive\", minStemLength: 2 },\n      // Dictionary/infinitive form (하다 verbs)\n      { pattern: \"\\uD558\\uB2E4\", confidence: 0.88, conjugationType: \"dictionary\", minStemLength: 1 },\n      // Negative forms\n      { pattern: \"\\uD558\\uC9C0\\uC54A\\uB2E4\", confidence: 0.82, conjugationType: \"negative\", minStemLength: 1 },\n      { pattern: \"\\uC548\\uD558\\uB2E4\", confidence: 0.82, conjugationType: \"negative\", minStemLength: 1 },\n      { pattern: \"\\uC9C0\\uC54A\\uB2E4\", confidence: 0.8, conjugationType: \"negative\", minStemLength: 2 },\n      // Imperative forms\n      { pattern: \"\\uD574\\uB77C\", confidence: 0.82, conjugationType: \"imperative\", minStemLength: 1 },\n      { pattern: \"\\uD558\\uB77C\", confidence: 0.82, conjugationType: \"imperative\", minStemLength: 1 },\n      // Generic verb endings (lower confidence)\n      { pattern: \"\\uB2E4\", confidence: 0.75, conjugationType: \"dictionary\", minStemLength: 2 }\n    ];\n    HADA_PATTERNS = [\n      // Honorific forms (-시- infix) - polite/formal Korean\n      // 클릭하시면 → 클릭 (if you click - honorific)\n      { pattern: \"\\uD558\\uC2DC\\uB2C8\\uAE4C\", confidence: 0.88, conjugationType: \"honorific-causal\" },\n      { pattern: \"\\uD558\\uC2E4\\uB54C\", confidence: 0.88, conjugationType: \"honorific-temporal\" },\n      { pattern: \"\\uD558\\uC2E4 \\uB54C\", confidence: 0.88, conjugationType: \"honorific-temporal\" },\n      { pattern: \"\\uD558\\uC2DC\\uBA74\", confidence: 0.88, conjugationType: \"honorific-conditional\" },\n      { pattern: \"\\uD558\\uC168\\uC5B4\\uC694\", confidence: 0.85, conjugationType: \"honorific-past\" },\n      { pattern: \"\\uD558\\uC168\\uC5B4\", confidence: 0.85, conjugationType: \"honorific-past\" },\n      { pattern: \"\\uD558\\uC2ED\\uB2C8\\uB2E4\", confidence: 0.85, conjugationType: \"honorific-polite\" },\n      // Sequential/temporal forms - \"after doing\", \"before doing\", \"as soon as\"\n      { pattern: \"\\uD558\\uACE0\\uB098\\uC11C\", confidence: 0.88, conjugationType: \"sequential-after\" },\n      { pattern: \"\\uD558\\uACE0 \\uB098\\uC11C\", confidence: 0.88, conjugationType: \"sequential-after\" },\n      { pattern: \"\\uD558\\uACE0\\uC11C\", confidence: 0.88, conjugationType: \"sequential-after\" },\n      { pattern: \"\\uD558\\uAE30\\uC804\\uC5D0\", confidence: 0.88, conjugationType: \"sequential-before\" },\n      { pattern: \"\\uD558\\uAE30 \\uC804\\uC5D0\", confidence: 0.88, conjugationType: \"sequential-before\" },\n      { pattern: \"\\uD558\\uC790\\uB9C8\\uC790\", confidence: 0.88, conjugationType: \"immediate\" },\n      // Obligation forms - \"must do\", \"should do\"\n      { pattern: \"\\uD574\\uC57C\\uD574\\uC694\", confidence: 0.88, conjugationType: \"obligation\" },\n      { pattern: \"\\uD574\\uC57C\\uD574\", confidence: 0.88, conjugationType: \"obligation\" },\n      { pattern: \"\\uD574\\uC57C\\uD558\\uB2E4\", confidence: 0.88, conjugationType: \"obligation\" },\n      // Conditional forms - most natural for event handlers (highest priority)\n      // 클릭하면 → 클릭 (if clicked)\n      { pattern: \"\\uD558\\uB2C8\\uAE4C\", confidence: 0.88, conjugationType: \"causal-nikka\" },\n      { pattern: \"\\uD560\\uB54C\", confidence: 0.88, conjugationType: \"temporal-ttae\" },\n      { pattern: \"\\uD560 \\uB54C\", confidence: 0.88, conjugationType: \"temporal-ttae\" },\n      { pattern: \"\\uD558\\uBA74\", confidence: 0.88, conjugationType: \"conditional-myeon\" },\n      // Formal\n      { pattern: \"\\uD558\\uC600\\uC2B5\\uB2C8\\uB2E4\", confidence: 0.85, conjugationType: \"past\" },\n      { pattern: \"\\uD588\\uC2B5\\uB2C8\\uB2E4\", confidence: 0.85, conjugationType: \"past\" },\n      { pattern: \"\\uD569\\uB2C8\\uB2E4\", confidence: 0.85, conjugationType: \"polite\" },\n      { pattern: \"\\uD558\\uC2ED\\uC2DC\\uC624\", confidence: 0.85, conjugationType: \"honorific\" },\n      { pattern: \"\\uD558\\uC138\\uC694\", confidence: 0.85, conjugationType: \"honorific\" },\n      // Informal polite\n      { pattern: \"\\uD588\\uC5B4\\uC694\", confidence: 0.85, conjugationType: \"past\" },\n      { pattern: \"\\uD574\\uC694\", confidence: 0.85, conjugationType: \"polite\" },\n      // Informal\n      { pattern: \"\\uD588\\uC5B4\", confidence: 0.85, conjugationType: \"past\" },\n      { pattern: \"\\uD574\", confidence: 0.8, conjugationType: \"present\" },\n      // Progressive\n      { pattern: \"\\uD558\\uACE0\\uC788\\uC5B4\\uC694\", confidence: 0.82, conjugationType: \"progressive\" },\n      { pattern: \"\\uD558\\uACE0\\uC788\\uC5B4\", confidence: 0.82, conjugationType: \"progressive\" },\n      { pattern: \"\\uD558\\uACE0\\uC788\\uB2E4\", confidence: 0.82, conjugationType: \"progressive\" },\n      // Connective forms (해서 = because/so, 하고 = and)\n      { pattern: \"\\uD574\\uC11C\", confidence: 0.82, conjugationType: \"connective\" },\n      { pattern: \"\\uD558\\uACE0\", confidence: 0.8, conjugationType: \"connective\" },\n      // Negative\n      { pattern: \"\\uD558\\uC9C0\\uC54A\\uC544\\uC694\", confidence: 0.82, conjugationType: \"negative\" },\n      { pattern: \"\\uD558\\uC9C0\\uC54A\\uB2E4\", confidence: 0.82, conjugationType: \"negative\" },\n      { pattern: \"\\uC548\\uD574\\uC694\", confidence: 0.82, conjugationType: \"negative\" },\n      { pattern: \"\\uC548\\uD574\", confidence: 0.82, conjugationType: \"negative\" },\n      // Imperative\n      { pattern: \"\\uD574\\uB77C\", confidence: 0.82, conjugationType: \"imperative\" },\n      { pattern: \"\\uD558\\uB77C\", confidence: 0.82, conjugationType: \"imperative\" },\n      // Dictionary form\n      { pattern: \"\\uD558\\uB2E4\", confidence: 0.88, conjugationType: \"dictionary\" }\n    ];\n    KoreanMorphologicalNormalizer = class {\n      constructor() {\n        this.language = \"ko\";\n      }\n      /**\n       * Check if a word might be a Korean verb that can be normalized.\n       */\n      isNormalizable(word) {\n        if (!containsKorean(word)) return false;\n        if (word.length < 2) return false;\n        return true;\n      }\n      /**\n       * Normalize a Korean word to its stem form.\n       */\n      normalize(word) {\n        const compoundResult = this.normalizeCompound(word);\n        if (compoundResult) return compoundResult;\n        const hadaResult = this.tryHadaNormalization(word);\n        if (hadaResult) return hadaResult;\n        for (const rule of KOREAN_SUFFIX_RULES) {\n          if (word.endsWith(rule.pattern)) {\n            const stem = word.slice(0, -rule.pattern.length);\n            const minLength = rule.minStemLength ?? 2;\n            if (stem.length < minLength) continue;\n            const metadata = {\n              removedSuffixes: [rule.pattern]\n            };\n            if (rule.conjugationType) {\n              metadata.conjugationType = rule.conjugationType;\n            }\n            return normalized(stem, rule.confidence, metadata);\n          }\n        }\n        return noChange(word);\n      }\n      /**\n       * Try to normalize a 하다 verb.\n       * 하다 verbs are formed by noun + 하다, very common in Korean.\n       */\n      tryHadaNormalization(word) {\n        for (const pattern of HADA_PATTERNS) {\n          if (word.endsWith(pattern.pattern)) {\n            const stem = word.slice(0, -pattern.pattern.length);\n            if (stem.length < 1) continue;\n            return normalized(stem, pattern.confidence, {\n              removedSuffixes: [pattern.pattern],\n              conjugationType: pattern.conjugationType,\n              originalForm: \"hada-verb\"\n            });\n          }\n        }\n        return null;\n      }\n      /**\n       * Normalize compound conjugations (multi-layer suffixes).\n       * Korean has complex compound forms that combine multiple grammatical elements.\n       */\n      normalizeCompound(word) {\n        const compoundPatterns = [\n          // Sequential past forms (after doing, was)\n          {\n            pattern: \"\\uD558\\uACE0\\uB098\\uC11C\\uC600\\uC5B4\",\n            suffixes: [\"\\uD558\\uACE0\\uB098\\uC11C\", \"\\uC600\\uC5B4\"],\n            confidence: 0.78,\n            conjugationType: \"sequential-after\",\n            minStemLength: 2\n          },\n          {\n            pattern: \"\\uD558\\uACE0\\uB098\\uC11C\\uC600\\uB2E4\",\n            suffixes: [\"\\uD558\\uACE0\\uB098\\uC11C\", \"\\uC600\\uB2E4\"],\n            confidence: 0.78,\n            conjugationType: \"sequential-after\",\n            minStemLength: 2\n          },\n          {\n            pattern: \"\\uD558\\uACE0\\uB098\\uC11C\",\n            suffixes: [\"\\uD558\\uACE0\", \"\\uB098\\uC11C\"],\n            confidence: 0.85,\n            conjugationType: \"sequential-after\",\n            minStemLength: 2\n          },\n          // Modal necessity past forms (had to do)\n          {\n            pattern: \"\\uD574\\uC57C\\uD588\\uC5B4\",\n            suffixes: [\"\\uD574\\uC57C\", \"\\uD588\\uC5B4\"],\n            confidence: 0.8,\n            conjugationType: \"obligation\",\n            minStemLength: 2\n          },\n          {\n            pattern: \"\\uD574\\uC57C\\uD588\\uB2E4\",\n            suffixes: [\"\\uD574\\uC57C\", \"\\uD588\\uB2E4\"],\n            confidence: 0.8,\n            conjugationType: \"obligation\",\n            minStemLength: 2\n          },\n          {\n            pattern: \"\\uD574\\uC57C\\uD588\\uC2B5\\uB2C8\\uB2E4\",\n            suffixes: [\"\\uD574\\uC57C\", \"\\uD588\\uC2B5\\uB2C8\\uB2E4\"],\n            confidence: 0.8,\n            conjugationType: \"obligation\",\n            minStemLength: 2\n          },\n          // Honorific simultaneous forms (while doing, honorific)\n          {\n            pattern: \"\\uD558\\uC2DC\\uBA74\\uC11C\",\n            suffixes: [\"\\uD558\\uC2DC\", \"\\uBA74\\uC11C\"],\n            confidence: 0.82,\n            conjugationType: \"connective\",\n            minStemLength: 2\n          },\n          {\n            pattern: \"\\uD558\\uC2DC\\uBA70\",\n            suffixes: [\"\\uD558\\uC2DC\", \"\\uBA70\"],\n            confidence: 0.82,\n            conjugationType: \"connective\",\n            minStemLength: 2\n          },\n          // Progressive forms with copula\n          {\n            pattern: \"\\uD558\\uACE0\\uC788\\uC5C8\\uC5B4\",\n            suffixes: [\"\\uD558\\uACE0\", \"\\uC788\\uC5C8\\uC5B4\"],\n            confidence: 0.8,\n            conjugationType: \"progressive\",\n            minStemLength: 2\n          },\n          {\n            pattern: \"\\uD558\\uACE0\\uC788\\uC5C8\\uB2E4\",\n            suffixes: [\"\\uD558\\uACE0\", \"\\uC788\\uC5C8\\uB2E4\"],\n            confidence: 0.8,\n            conjugationType: \"progressive\",\n            minStemLength: 2\n          }\n        ];\n        for (const {\n          pattern,\n          suffixes,\n          confidence,\n          conjugationType,\n          minStemLength\n        } of compoundPatterns) {\n          if (word.endsWith(pattern)) {\n            const stem = word.slice(0, -pattern.length);\n            if (stem.length < minStemLength) continue;\n            return normalized(stem, confidence, {\n              removedSuffixes: suffixes,\n              conjugationType\n            });\n          }\n        }\n        return null;\n      }\n    };\n    koreanMorphologicalNormalizer = new KoreanMorphologicalNormalizer();\n  }\n});\n\n// src/tokenizers/korean.ts\nvar korean_exports2 = {};\n__export(korean_exports2, {\n  KoreanTokenizer: () => KoreanTokenizer,\n  koreanTokenizer: () => koreanTokenizer\n});\nvar PARTICLES2, KOREAN_EXTRAS, KoreanTokenizer, koreanTokenizer;\nvar init_korean2 = __esm({\n  \"src/tokenizers/korean.ts\"() {\n    \"use strict\";\n    init_base();\n    init_korean_normalizer();\n    init_korean();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_korean_keyword();\n    init_korean_particle();\n    init_ascii_identifier();\n    PARTICLES2 = /* @__PURE__ */ new Set([\n      // Subject markers\n      \"\\uC774\",\n      // i - after consonant\n      \"\\uAC00\",\n      // ga - after vowel\n      // Object markers\n      \"\\uC744\",\n      // eul - after consonant\n      \"\\uB97C\",\n      // reul - after vowel\n      // Topic markers\n      \"\\uC740\",\n      // eun - after consonant\n      \"\\uB294\",\n      // neun - after vowel\n      // Location/time markers\n      \"\\uC5D0\",\n      // e - at, to\n      \"\\uC5D0\\uC11C\",\n      // eseo - at (action location), from\n      \"\\uB85C\",\n      // ro - to, by means (after vowel or ㄹ)\n      \"\\uC73C\\uB85C\",\n      // euro - to, by means (after consonant)\n      // Others\n      \"\\uC640\",\n      // wa - and, with (after vowel)\n      \"\\uACFC\",\n      // gwa - and, with (after consonant)\n      \"\\uC758\",\n      // ui - possessive ('s)\n      \"\\uB3C4\",\n      // do - also\n      \"\\uB9CC\",\n      // man - only\n      \"\\uBD80\\uD130\",\n      // buteo - from\n      \"\\uAE4C\\uC9C0\",\n      // kkaji - until\n      \"\\uCC98\\uB7FC\",\n      // cheoreom - like\n      \"\\uBCF4\\uB2E4\"\n      // boda - than\n    ]);\n    KOREAN_EXTRAS = [\n      // Values/Literals\n      { native: \"\\uCC38\", normalized: \"true\" },\n      { native: \"\\uAC70\\uC9D3\", normalized: \"false\" },\n      { native: \"\\uB110\", normalized: \"null\" },\n      { native: \"\\uBBF8\\uC815\\uC758\", normalized: \"undefined\" },\n      // Positional\n      { native: \"\\uCCAB\\uBC88\\uC9F8\", normalized: \"first\" },\n      { native: \"\\uB9C8\\uC9C0\\uB9C9\", normalized: \"last\" },\n      { native: \"\\uB2E4\\uC74C\", normalized: \"next\" },\n      { native: \"\\uC774\\uC804\", normalized: \"previous\" },\n      { native: \"\\uAC00\\uC7A5\\uAC00\\uAE4C\\uC6B4\", normalized: \"closest\" },\n      { native: \"\\uBD80\\uBAA8\", normalized: \"parent\" },\n      // Events\n      { native: \"\\uD074\\uB9AD\", normalized: \"click\" },\n      { native: \"\\uB354\\uBE14\\uD074\\uB9AD\", normalized: \"dblclick\" },\n      { native: \"\\uBCC0\\uACBD\", normalized: \"change\" },\n      { native: \"\\uC81C\\uCD9C\", normalized: \"submit\" },\n      { native: \"\\uC785\\uB825\", normalized: \"input\" },\n      { native: \"\\uB85C\\uB4DC\", normalized: \"load\" },\n      { native: \"\\uC2A4\\uD06C\\uB864\", normalized: \"scroll\" },\n      { native: \"\\uD0A4\\uB2E4\\uC6B4\", normalized: \"keydown\" },\n      { native: \"\\uD0A4\\uC5C5\", normalized: \"keyup\" },\n      { native: \"\\uB9C8\\uC6B0\\uC2A4\\uC624\\uBC84\", normalized: \"mouseover\" },\n      { native: \"\\uB9C8\\uC6B0\\uC2A4\\uC544\\uC6C3\", normalized: \"mouseout\" },\n      // The i18n dict emits 마우스다운/마우스업 for mousedown/mouseup (repeat-until-event);\n      // recognize them so the event types as a literal, not a bare expression.\n      { native: \"\\uB9C8\\uC6B0\\uC2A4\\uB2E4\\uC6B4\", normalized: \"mousedown\" },\n      { native: \"\\uB9C8\\uC6B0\\uC2A4\\uC5C5\", normalized: \"mouseup\" },\n      // References (additional forms not in profile)\n      { native: \"\\uB0B4\", normalized: \"my\" },\n      { native: \"\\uADF8\\uAC83\\uC758\", normalized: \"its\" },\n      // Then/conjunction (clause chaining)\n      { native: \"\\uADF8\\uB2E4\\uC74C\", normalized: \"then\" },\n      { native: \"\\uADF8\\uB7F0\\uD6C4\", normalized: \"then\" },\n      { native: \"\\uADF8\\uB7EC\\uBA74\", normalized: \"then\" },\n      // Logical\n      { native: \"\\uADF8\\uB9AC\\uACE0\", normalized: \"and\" },\n      { native: \"\\uB610\\uB294\", normalized: \"or\" },\n      { native: \"\\uC544\\uB2C8\", normalized: \"not\" },\n      { native: \"\\uC774\\uB2E4\", normalized: \"is\" },\n      // Time units\n      { native: \"\\uCD08\", normalized: \"s\" },\n      { native: \"\\uBC00\\uB9AC\\uCD08\", normalized: \"ms\" },\n      { native: \"\\uBD84\", normalized: \"m\" },\n      { native: \"\\uC2DC\\uAC04\", normalized: \"h\" }\n    ];\n    KoreanTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"ko\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(koreanProfile, KOREAN_EXTRAS);\n        this.normalizer = new KoreanMorphologicalNormalizer();\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractor(new AsciiIdentifierExtractor());\n        this.registerExtractor(new KoreanParticleExtractor());\n        this.registerExtractor(new KoreanKeywordExtractor());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(token) {\n        if (PARTICLES2.has(token)) return \"particle\";\n        if (this.isKeyword(token)) return \"keyword\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"../\") || token.startsWith(\"http\"))\n          return \"url\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        return \"identifier\";\n      }\n      // extractKoreanWord(), extractAsciiWord(), extractKoreanNumber(), and trySplitTemporalSuffix() methods removed\n      // Now handled by KoreanKeywordExtractor and NumberExtractor\n    };\n    koreanTokenizer = new KoreanTokenizer();\n  }\n});\n\n// src/tokenizers/morphology/arabic-normalizer.ts\nfunction isArabic4(char) {\n  const code = char.charCodeAt(0);\n  return code >= 1536 && code <= 1791 || // Arabic\n  code >= 1872 && code <= 1919 || // Arabic Supplement\n  code >= 2208 && code <= 2303 || // Arabic Extended-A\n  code >= 64336 && code <= 65023 || // Arabic Presentation Forms-A\n  code >= 65136 && code <= 65279;\n}\nfunction containsArabic(word) {\n  for (const char of word) {\n    if (isArabic4(char)) return true;\n  }\n  return false;\n}\nfunction removeDiacritics(word) {\n  return word.replace(/[\\u064B-\\u0652\\u0670]/g, \"\");\n}\nvar COMBINED_PREFIXES, SINGLE_PREFIXES, VERB_PREFIXES, SUFFIXES2, ArabicMorphologicalNormalizer, arabicMorphologicalNormalizer;\nvar init_arabic_normalizer = __esm({\n  \"src/tokenizers/morphology/arabic-normalizer.ts\"() {\n    \"use strict\";\n    init_types();\n    COMBINED_PREFIXES = [\n      // Conjunction + article combinations (4 chars)\n      { pattern: \"\\u0648\\u0627\\u0644\", confidencePenalty: 0.15, prefixType: \"conjunction\" },\n      // wa + al\n      { pattern: \"\\u0641\\u0627\\u0644\", confidencePenalty: 0.15, prefixType: \"conjunction\" },\n      // fa + al\n      { pattern: \"\\u0628\\u0627\\u0644\", confidencePenalty: 0.15, prefixType: \"preposition\" },\n      // bi + al\n      { pattern: \"\\u0643\\u0627\\u0644\", confidencePenalty: 0.15, prefixType: \"preposition\" },\n      // ka + al\n      { pattern: \"\\u0644\\u0644\", confidencePenalty: 0.12, prefixType: \"preposition\" }\n      // li + al (assimilation)\n    ];\n    SINGLE_PREFIXES = [\n      // Definite article (2 chars) - can leave 2-char stem\n      { pattern: \"\\u0627\\u0644\", confidencePenalty: 0.08, prefixType: \"article\", minRemaining: 2 },\n      // Conjunctions and prepositions (1 char) - need longer stem to be safe\n      { pattern: \"\\u0648\", confidencePenalty: 0.08, prefixType: \"conjunction\", minRemaining: 3 },\n      // wa- (and)\n      { pattern: \"\\u0641\", confidencePenalty: 0.08, prefixType: \"conjunction\", minRemaining: 3 },\n      // fa- (then/so)\n      { pattern: \"\\u0628\", confidencePenalty: 0.1, prefixType: \"preposition\", minRemaining: 3 },\n      // bi- (with/by)\n      { pattern: \"\\u0644\", confidencePenalty: 0.1, prefixType: \"preposition\", minRemaining: 3 },\n      // li- (to/for)\n      { pattern: \"\\u0643\", confidencePenalty: 0.1, prefixType: \"preposition\", minRemaining: 3 }\n      // ka- (like/as)\n    ];\n    VERB_PREFIXES = [\n      { pattern: \"\\u064A\", confidencePenalty: 0.12, prefixType: \"verb-marker\", minRemaining: 3 },\n      // ya- (he/it)\n      { pattern: \"\\u062A\", confidencePenalty: 0.12, prefixType: \"verb-marker\", minRemaining: 3 },\n      // ta- (she/you)\n      { pattern: \"\\u0646\", confidencePenalty: 0.12, prefixType: \"verb-marker\", minRemaining: 3 },\n      // na- (we)\n      { pattern: \"\\u0623\", confidencePenalty: 0.12, prefixType: \"verb-marker\", minRemaining: 3 },\n      // a- (I)\n      { pattern: \"\\u0627\", confidencePenalty: 0.12, prefixType: \"verb-marker\", minRemaining: 3 }\n      // a- without hamza\n    ];\n    SUFFIXES2 = [\n      // Plural forms\n      { pattern: \"\\u0648\\u0646\", confidencePenalty: 0.1, type: \"masculine-plural\" },\n      { pattern: \"\\u064A\\u0646\", confidencePenalty: 0.1, type: \"masculine-plural-accusative\" },\n      { pattern: \"\\u0627\\u062A\", confidencePenalty: 0.1, type: \"feminine-plural\" },\n      // Dual forms\n      { pattern: \"\\u0627\\u0646\", confidencePenalty: 0.1, type: \"dual-nominative\" },\n      { pattern: \"\\u064A\\u0646\", confidencePenalty: 0.1, type: \"dual-accusative\" },\n      // Pronoun suffixes\n      { pattern: \"\\u0647\\u0627\", confidencePenalty: 0.1, type: \"pronoun-her\" },\n      { pattern: \"\\u0647\\u0645\", confidencePenalty: 0.1, type: \"pronoun-them\" },\n      { pattern: \"\\u0647\\u0646\", confidencePenalty: 0.1, type: \"pronoun-them-f\" },\n      { pattern: \"\\u0646\\u0627\", confidencePenalty: 0.1, type: \"pronoun-us\" },\n      { pattern: \"\\u0643\\u0645\", confidencePenalty: 0.1, type: \"pronoun-you-pl\" },\n      { pattern: \"\\u0643\", confidencePenalty: 0.08, type: \"pronoun-you\" },\n      { pattern: \"\\u0647\", confidencePenalty: 0.08, type: \"pronoun-him\" },\n      { pattern: \"\\u064A\", confidencePenalty: 0.08, type: \"pronoun-me\" },\n      // Feminine marker\n      { pattern: \"\\u0629\", confidencePenalty: 0.08, type: \"feminine\" }\n    ];\n    ArabicMorphologicalNormalizer = class {\n      constructor() {\n        this.language = \"ar\";\n      }\n      /**\n       * Check if a word might be an Arabic word that can be normalized.\n       */\n      isNormalizable(word) {\n        if (!containsArabic(word)) return false;\n        if (word.length < 2) return false;\n        return true;\n      }\n      /**\n       * Normalize an Arabic word by stripping prefixes and suffixes.\n       */\n      normalize(word) {\n        let stem = removeDiacritics(word);\n        let confidence = 1;\n        const removedPrefixes = [];\n        const removedSuffixes = [];\n        for (const rule of COMBINED_PREFIXES) {\n          if (stem.startsWith(rule.pattern)) {\n            const remaining = stem.slice(rule.pattern.length);\n            if (remaining.length >= 2) {\n              stem = remaining;\n              confidence -= rule.confidencePenalty;\n              removedPrefixes.push(rule.pattern);\n              break;\n            }\n          }\n        }\n        if (removedPrefixes.length === 0) {\n          for (const rule of SINGLE_PREFIXES) {\n            if (stem.startsWith(rule.pattern)) {\n              const remaining = stem.slice(rule.pattern.length);\n              const minLen = rule.minRemaining ?? 2;\n              if (remaining.length >= minLen) {\n                stem = remaining;\n                confidence -= rule.confidencePenalty;\n                removedPrefixes.push(rule.pattern);\n                break;\n              }\n            }\n          }\n        }\n        const looksLikeNoun = stem.endsWith(\"\\u0627\\u062A\") || stem.endsWith(\"\\u0629\") || stem.endsWith(\"\\u0648\\u0646\") || stem.endsWith(\"\\u064A\\u0646\") || stem.endsWith(\"\\u0647\\u0627\") || stem.endsWith(\"\\u0647\\u0645\") || stem.endsWith(\"\\u0647\\u0646\") || stem.endsWith(\"\\u0646\\u0627\") || stem.endsWith(\"\\u0643\\u0645\");\n        if (!looksLikeNoun && (removedPrefixes.length === 0 || removedPrefixes[0] === \"\\u0648\" || removedPrefixes[0] === \"\\u0641\")) {\n          for (const rule of VERB_PREFIXES) {\n            if (stem.startsWith(rule.pattern)) {\n              const remaining = stem.slice(rule.pattern.length);\n              const minLen = rule.minRemaining ?? 3;\n              if (remaining.length >= minLen) {\n                stem = remaining;\n                confidence -= rule.confidencePenalty;\n                removedPrefixes.push(rule.pattern);\n                break;\n              }\n            }\n          }\n        }\n        for (const rule of SUFFIXES2) {\n          if (stem.endsWith(rule.pattern)) {\n            const remaining = stem.slice(0, -rule.pattern.length);\n            if (remaining.length >= 2) {\n              stem = remaining;\n              confidence -= rule.confidencePenalty;\n              removedSuffixes.push(rule.pattern);\n            }\n          }\n        }\n        confidence = Math.max(0.5, confidence);\n        if (removedPrefixes.length === 0 && removedSuffixes.length === 0) {\n          return noChange(word);\n        }\n        return normalized(stem, confidence, {\n          removedPrefixes,\n          removedSuffixes\n        });\n      }\n    };\n    arabicMorphologicalNormalizer = new ArabicMorphologicalNormalizer();\n  }\n});\n\n// src/tokenizers/arabic.ts\nvar arabic_exports2 = {};\n__export(arabic_exports2, {\n  ArabicTokenizer: () => ArabicTokenizer,\n  arabicTokenizer: () => arabicTokenizer\n});\nvar CONJUNCTIONS2, PREPOSITIONS8, ARABIC_EXTRAS, ArabicTokenizer, arabicTokenizer;\nvar init_arabic2 = __esm({\n  \"src/tokenizers/arabic.ts\"() {\n    \"use strict\";\n    init_base();\n    init_arabic_normalizer();\n    init_arabic();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_arabic_keyword();\n    init_ascii_identifier();\n    init_arabic_proclitic();\n    init_arabic_temporal();\n    CONJUNCTIONS2 = /* @__PURE__ */ new Set([\n      // Multi-proclitic sequences only\n      \"\\u0648\\u0644\",\n      // wa + li- (and-to)\n      \"\\u0648\\u0628\",\n      // wa + bi- (and-with)\n      \"\\u0648\\u0643\",\n      // wa + ka- (and-like)\n      \"\\u0641\\u0644\",\n      // fa + li- (then-to)\n      \"\\u0641\\u0628\",\n      // fa + bi- (then-with)\n      \"\\u0641\\u0643\"\n      // fa + ka- (then-like)\n    ]);\n    PREPOSITIONS8 = /* @__PURE__ */ new Set([\n      \"\\u0641\\u064A\",\n      // fī (in)\n      \"\\u0639\\u0644\\u0649\",\n      // ʿalā (on)\n      \"\\u0645\\u0646\",\n      // min (from)\n      \"\\u0625\\u0644\\u0649\",\n      // ilā (to)\n      \"\\u0627\\u0644\\u0649\",\n      // ilā (alternative spelling)\n      \"\\u0645\\u0639\",\n      // maʿa (with)\n      \"\\u0639\\u0646\",\n      // ʿan (about, from)\n      \"\\u0642\\u0628\\u0644\",\n      // qabl (before)\n      \"\\u0628\\u0639\\u062F\",\n      // baʿd (after)\n      \"\\u0628\\u064A\\u0646\",\n      // bayn (between)\n      // Attached prefix prepositions (can also appear standalone)\n      \"\\u0628\",\n      // bi- (with, by)\n      \"\\u0644\",\n      // li- (to, for)\n      \"\\u0643\"\n      // ka- (like, as)\n    ]);\n    ARABIC_EXTRAS = [\n      // Values/Literals\n      { native: \"\\u0635\\u062D\\u064A\\u062D\", normalized: \"true\" },\n      { native: \"\\u062E\\u0637\\u0623\", normalized: \"false\" },\n      { native: \"null\", normalized: \"null\" },\n      { native: \"\\u0641\\u0627\\u0631\\u063A\", normalized: \"null\" },\n      { native: \"\\u063A\\u064A\\u0631 \\u0645\\u0639\\u0631\\u0641\", normalized: \"undefined\" },\n      // Positional\n      { native: \"\\u0627\\u0644\\u0623\\u0648\\u0644\", normalized: \"first\" },\n      { native: \"\\u0623\\u0648\\u0644\", normalized: \"first\" },\n      { native: \"\\u0627\\u0644\\u0623\\u062E\\u064A\\u0631\", normalized: \"last\" },\n      { native: \"\\u0622\\u062E\\u0631\", normalized: \"last\" },\n      { native: \"\\u0627\\u0644\\u062A\\u0627\\u0644\\u064A\", normalized: \"next\" },\n      { native: \"\\u0627\\u0644\\u0633\\u0627\\u0628\\u0642\", normalized: \"previous\" },\n      { native: \"\\u0627\\u0644\\u0623\\u0642\\u0631\\u0628\", normalized: \"closest\" },\n      { native: \"\\u0627\\u0644\\u0623\\u0628\", normalized: \"parent\" },\n      // Events\n      { native: \"\\u0627\\u0644\\u0646\\u0642\\u0631\", normalized: \"click\" },\n      { native: \"\\u0646\\u0642\\u0631\", normalized: \"click\" },\n      { native: \"\\u0627\\u0644\\u0625\\u062F\\u062E\\u0627\\u0644\", normalized: \"input\" },\n      { native: \"\\u0625\\u062F\\u062E\\u0627\\u0644\", normalized: \"input\" },\n      { native: \"\\u0627\\u0644\\u062A\\u063A\\u064A\\u064A\\u0631\", normalized: \"change\" },\n      { native: \"\\u062A\\u063A\\u064A\\u064A\\u0631\", normalized: \"change\" },\n      { native: \"\\u0627\\u0644\\u0625\\u0631\\u0633\\u0627\\u0644\", normalized: \"submit\" },\n      { native: \"\\u0625\\u0631\\u0633\\u0627\\u0644\", normalized: \"submit\" },\n      { native: \"\\u0627\\u0644\\u062A\\u0631\\u0643\\u064A\\u0632\", normalized: \"focus\" },\n      { native: \"\\u0641\\u0642\\u062F\\u0627\\u0646 \\u0627\\u0644\\u062A\\u0631\\u0643\\u064A\\u0632\", normalized: \"blur\" },\n      { native: \"\\u0636\\u063A\\u0637\", normalized: \"keydown\" },\n      { native: \"\\u0631\\u0641\\u0639\", normalized: \"keyup\" },\n      { native: \"\\u062A\\u0645\\u0631\\u064A\\u0631 \\u0627\\u0644\\u0641\\u0623\\u0631\\u0629\", normalized: \"mouseover\" },\n      { native: \"\\u0645\\u063A\\u0627\\u062F\\u0631\\u0629 \\u0627\\u0644\\u0641\\u0623\\u0631\\u0629\", normalized: \"mouseout\" },\n      { native: \"\\u062A\\u062D\\u0645\\u064A\\u0644\", normalized: \"load\" },\n      { native: \"\\u062A\\u0645\\u0631\\u064A\\u0631\", normalized: \"scroll\" },\n      // Multi-word mouse/key event names AS THE i18n DICT EMITS THEM (dictionaries/ar.ts\n      // `events`). The tokenizer previously knew only the singular/colloquial forms above\n      // (`ضغط`/`تمرير الفأرة`), so the dict's `فأرة أسفل`/`فأرة أعلى` tokenized as two bare\n      // identifiers, the `عند <event>` handler never anchored, and the whole handler dropped\n      // (repeat-until-event ar: `on` lost, fid 0.75). The BaseTokenizer multi-word matcher\n      // catches these longest-first. See docs-internal/HANDOFF-lossy-tail.md (repeat-until-event).\n      { native: \"\\u0641\\u0623\\u0631\\u0629 \\u0623\\u0633\\u0641\\u0644\", normalized: \"mousedown\" },\n      { native: \"\\u0641\\u0623\\u0631\\u0629 \\u0623\\u0639\\u0644\\u0649\", normalized: \"mouseup\" },\n      { native: \"\\u0641\\u0623\\u0631\\u0629 \\u062F\\u062E\\u0648\\u0644\", normalized: \"mouseenter\" },\n      { native: \"\\u0641\\u0623\\u0631\\u0629 \\u062E\\u0631\\u0648\\u062C\", normalized: \"mouseleave\" },\n      { native: \"\\u0641\\u0623\\u0631\\u0629 \\u0641\\u0648\\u0642\", normalized: \"mouseover\" },\n      { native: \"\\u0641\\u0623\\u0631\\u0629 \\u062E\\u0627\\u0631\\u062C\", normalized: \"mouseout\" },\n      { native: \"\\u0641\\u0623\\u0631\\u0629 \\u062A\\u062D\\u0631\\u0643\", normalized: \"mousemove\" },\n      { native: \"\\u0645\\u0641\\u062A\\u0627\\u062D \\u0623\\u0633\\u0641\\u0644\", normalized: \"keydown\" },\n      { native: \"\\u0645\\u0641\\u062A\\u0627\\u062D \\u0623\\u0639\\u0644\\u0649\", normalized: \"keyup\" },\n      // References (feminine \"it\" not in profile)\n      { native: \"\\u0647\\u064A\", normalized: \"it\" },\n      // Time units\n      { native: \"\\u062B\\u0627\\u0646\\u064A\\u0629\", normalized: \"s\" },\n      { native: \"\\u062B\\u0648\\u0627\\u0646\\u064A\", normalized: \"s\" },\n      { native: \"\\u0645\\u0644\\u064A \\u062B\\u0627\\u0646\\u064A\\u0629\", normalized: \"ms\" },\n      { native: \"\\u062F\\u0642\\u064A\\u0642\\u0629\", normalized: \"m\" },\n      { native: \"\\u062F\\u0642\\u0627\\u0626\\u0642\", normalized: \"m\" },\n      { native: \"\\u0633\\u0627\\u0639\\u0629\", normalized: \"h\" },\n      { native: \"\\u0633\\u0627\\u0639\\u0627\\u062A\", normalized: \"h\" },\n      // Temporal markers (also in ArabicTemporalExtractor with formality metadata)\n      { native: \"\\u0639\\u0646\\u062F\\u0645\\u0627\", normalized: \"on\" },\n      { native: \"\\u062D\\u064A\\u0646\\u0645\\u0627\", normalized: \"on\" },\n      { native: \"\\u0639\\u0646\\u062F\", normalized: \"on\" },\n      { native: \"\\u062D\\u064A\\u0646\", normalized: \"on\" },\n      { native: \"\\u0644\\u0645\\u0651\\u0627\", normalized: \"on\" },\n      { native: \"\\u0644\\u0645\\u0627\", normalized: \"on\" },\n      { native: \"\\u0644\\u062F\\u0649\", normalized: \"on\" }\n      //\n      // Command spelling variants are now in the profile alternatives:\n      // - toggle: بدل, غيّر, غير (in profile)\n      // - add: اضف, زِد (in profile)\n      // - remove: أزل, امسح (in profile)\n      // - etc.\n    ];\n    ArabicTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"ar\";\n        this.direction = \"rtl\";\n        this.initializeKeywordsFromProfile(arabicProfile, ARABIC_EXTRAS);\n        this.normalizer = new ArabicMorphologicalNormalizer();\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractor(new AsciiIdentifierExtractor());\n        this.registerExtractor(new ArabicTemporalExtractor());\n        this.registerExtractor(new ArabicProcliticExtractor());\n        this.registerExtractor(new ArabicKeywordExtractor());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // Override tokenizeWithExtractors to handle proclitic metadata\n      tokenizeWithExtractors(input) {\n        const tokens = [];\n        let pos2 = 0;\n        while (pos2 < input.length) {\n          while (pos2 < input.length && isWhitespace(input[pos2])) {\n            pos2++;\n          }\n          if (pos2 >= input.length) break;\n          const multiWord = this.tryMultiWordKeyword(input, pos2);\n          if (multiWord) {\n            tokens.push(multiWord);\n            pos2 = multiWord.position.end;\n            continue;\n          }\n          let extracted = false;\n          for (const extractor of this.extractors) {\n            if (extractor.canExtract(input, pos2)) {\n              const result = extractor.extract(input, pos2);\n              if (result) {\n                const normalized2 = result.metadata?.normalized;\n                const stem = result.metadata?.stem;\n                const stemConfidence = result.metadata?.stemConfidence;\n                const cleanMetadata = {};\n                if (result.metadata) {\n                  for (const [key, value] of Object.entries(result.metadata)) {\n                    if (key !== \"normalized\" && key !== \"stem\" && key !== \"stemConfidence\") {\n                      cleanMetadata[key] = value;\n                    }\n                  }\n                }\n                let kind;\n                if (cleanMetadata.procliticType === \"conjunction\") {\n                  kind = \"conjunction\";\n                } else if (cleanMetadata.procliticType === \"preposition\") {\n                  kind = \"particle\";\n                } else {\n                  kind = this.classifyToken(result.value);\n                }\n                const options = {};\n                if (normalized2) options.normalized = normalized2;\n                if (stem) options.stem = stem;\n                if (stemConfidence !== void 0) options.stemConfidence = stemConfidence;\n                if (Object.keys(cleanMetadata).length > 0) options.metadata = cleanMetadata;\n                tokens.push(\n                  createToken(\n                    result.value,\n                    kind,\n                    createPosition(pos2, pos2 + result.length),\n                    Object.keys(options).length > 0 ? options : void 0\n                  )\n                );\n                pos2 += result.length;\n                extracted = true;\n                break;\n              }\n            }\n          }\n          if (!extracted) {\n            const char = input[pos2];\n            const kind = this.classifyUnknownChar(char);\n            tokens.push(createToken(char, kind, createPosition(pos2, pos2 + 1)));\n            pos2++;\n          }\n        }\n        return new TokenStreamImpl(tokens, this.language);\n      }\n      classifyToken(token) {\n        if (CONJUNCTIONS2.has(token)) return \"conjunction\";\n        if (PREPOSITIONS8.has(token)) return \"particle\";\n        if (this.isKeyword(token)) return \"keyword\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"../\") || token.startsWith(\"http\"))\n          return \"url\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        return \"identifier\";\n      }\n      // extractArabicWord(), extractAsciiWord(), extractArabicNumber(), tryPreposition(),\n      // and tryProclitic() methods removed - now handled by extractors\n    };\n    arabicTokenizer = new ArabicTokenizer();\n  }\n});\n\n// src/tokenizers/morphology/spanish-normalizer.ts\nfunction isSpanishSpecificLetter(char) {\n  return /[áéíóúüñÁÉÍÓÚÜÑ]/.test(char);\n}\nvar AR_ENDINGS, ER_ENDINGS, IR_ENDINGS, ALL_ENDINGS, SpanishMorphologicalNormalizer, spanishMorphologicalNormalizer;\nvar init_spanish_normalizer = __esm({\n  \"src/tokenizers/morphology/spanish-normalizer.ts\"() {\n    \"use strict\";\n    init_types();\n    AR_ENDINGS = [\n      // Gerund (-ando)\n      { ending: \"ando\", stem: \"ar\", confidence: 0.88, type: \"gerund\" },\n      // Past participle (-ado)\n      { ending: \"ado\", stem: \"ar\", confidence: 0.88, type: \"participle\" },\n      { ending: \"ada\", stem: \"ar\", confidence: 0.88, type: \"participle\" },\n      { ending: \"ados\", stem: \"ar\", confidence: 0.88, type: \"participle\" },\n      { ending: \"adas\", stem: \"ar\", confidence: 0.88, type: \"participle\" },\n      // Present indicative\n      { ending: \"o\", stem: \"ar\", confidence: 0.75, type: \"present\" },\n      // yo\n      { ending: \"as\", stem: \"ar\", confidence: 0.82, type: \"present\" },\n      // tú\n      { ending: \"a\", stem: \"ar\", confidence: 0.75, type: \"present\" },\n      // él/ella\n      { ending: \"amos\", stem: \"ar\", confidence: 0.85, type: \"present\" },\n      // nosotros\n      { ending: \"\\xE1is\", stem: \"ar\", confidence: 0.85, type: \"present\" },\n      // vosotros\n      { ending: \"ais\", stem: \"ar\", confidence: 0.82, type: \"present\" },\n      // vosotros (no accent)\n      { ending: \"an\", stem: \"ar\", confidence: 0.8, type: \"present\" },\n      // ellos\n      // Preterite\n      { ending: \"\\xE9\", stem: \"ar\", confidence: 0.85, type: \"past\" },\n      // yo\n      { ending: \"aste\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // tú\n      { ending: \"\\xF3\", stem: \"ar\", confidence: 0.82, type: \"past\" },\n      // él/ella\n      { ending: \"amos\", stem: \"ar\", confidence: 0.85, type: \"past\" },\n      // nosotros (same as present)\n      { ending: \"asteis\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // vosotros\n      { ending: \"aron\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // ellos\n      // Imperfect\n      { ending: \"aba\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // yo/él\n      { ending: \"abas\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // tú\n      { ending: \"\\xE1bamos\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // nosotros\n      { ending: \"abamos\", stem: \"ar\", confidence: 0.85, type: \"past\" },\n      // nosotros (no accent)\n      { ending: \"abais\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // vosotros\n      { ending: \"aban\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // ellos\n      // Subjunctive\n      { ending: \"e\", stem: \"ar\", confidence: 0.72, type: \"subjunctive\" },\n      // yo/él (ambiguous)\n      { ending: \"es\", stem: \"ar\", confidence: 0.78, type: \"subjunctive\" },\n      // tú\n      { ending: \"emos\", stem: \"ar\", confidence: 0.82, type: \"subjunctive\" },\n      // nosotros\n      { ending: \"\\xE9is\", stem: \"ar\", confidence: 0.85, type: \"subjunctive\" },\n      // vosotros\n      { ending: \"eis\", stem: \"ar\", confidence: 0.82, type: \"subjunctive\" },\n      // vosotros (no accent)\n      { ending: \"en\", stem: \"ar\", confidence: 0.78, type: \"subjunctive\" },\n      // ellos\n      // Imperative\n      { ending: \"a\", stem: \"ar\", confidence: 0.75, type: \"imperative\" },\n      // tú (same as 3rd present)\n      { ending: \"ad\", stem: \"ar\", confidence: 0.85, type: \"imperative\" },\n      // vosotros\n      // Infinitive\n      { ending: \"ar\", stem: \"ar\", confidence: 0.92, type: \"dictionary\" }\n    ];\n    ER_ENDINGS = [\n      // Gerund (-iendo)\n      { ending: \"iendo\", stem: \"er\", confidence: 0.88, type: \"gerund\" },\n      // Past participle (-ido)\n      { ending: \"ido\", stem: \"er\", confidence: 0.85, type: \"participle\" },\n      { ending: \"ida\", stem: \"er\", confidence: 0.85, type: \"participle\" },\n      { ending: \"idos\", stem: \"er\", confidence: 0.85, type: \"participle\" },\n      { ending: \"idas\", stem: \"er\", confidence: 0.85, type: \"participle\" },\n      // Present indicative\n      { ending: \"o\", stem: \"er\", confidence: 0.72, type: \"present\" },\n      // yo\n      { ending: \"es\", stem: \"er\", confidence: 0.78, type: \"present\" },\n      // tú\n      { ending: \"e\", stem: \"er\", confidence: 0.72, type: \"present\" },\n      // él/ella\n      { ending: \"emos\", stem: \"er\", confidence: 0.85, type: \"present\" },\n      // nosotros\n      { ending: \"\\xE9is\", stem: \"er\", confidence: 0.85, type: \"present\" },\n      // vosotros\n      { ending: \"eis\", stem: \"er\", confidence: 0.82, type: \"present\" },\n      // vosotros (no accent)\n      { ending: \"en\", stem: \"er\", confidence: 0.78, type: \"present\" },\n      // ellos\n      // Preterite\n      { ending: \"\\xED\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // yo\n      { ending: \"iste\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // tú\n      { ending: \"i\\xF3\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // él/ella\n      { ending: \"io\", stem: \"er\", confidence: 0.82, type: \"past\" },\n      // él/ella (no accent)\n      { ending: \"imos\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // nosotros\n      { ending: \"isteis\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // vosotros\n      { ending: \"ieron\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // ellos\n      // Imperfect\n      { ending: \"\\xEDa\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // yo/él\n      { ending: \"ia\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // yo/él (no accent)\n      { ending: \"\\xEDas\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // tú\n      { ending: \"ias\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // tú (no accent)\n      { ending: \"\\xEDamos\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // nosotros\n      { ending: \"iamos\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // nosotros (no accent)\n      { ending: \"\\xEDais\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // vosotros\n      { ending: \"iais\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // vosotros (no accent)\n      { ending: \"\\xEDan\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // ellos\n      { ending: \"ian\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // ellos (no accent)\n      // Infinitive\n      { ending: \"er\", stem: \"er\", confidence: 0.92, type: \"dictionary\" }\n    ];\n    IR_ENDINGS = [\n      // Gerund (-iendo)\n      { ending: \"iendo\", stem: \"ir\", confidence: 0.88, type: \"gerund\" },\n      // Past participle (-ido)\n      { ending: \"ido\", stem: \"ir\", confidence: 0.85, type: \"participle\" },\n      { ending: \"ida\", stem: \"ir\", confidence: 0.85, type: \"participle\" },\n      { ending: \"idos\", stem: \"ir\", confidence: 0.85, type: \"participle\" },\n      { ending: \"idas\", stem: \"ir\", confidence: 0.85, type: \"participle\" },\n      // Present indicative\n      { ending: \"o\", stem: \"ir\", confidence: 0.72, type: \"present\" },\n      // yo\n      { ending: \"es\", stem: \"ir\", confidence: 0.78, type: \"present\" },\n      // tú\n      { ending: \"e\", stem: \"ir\", confidence: 0.72, type: \"present\" },\n      // él/ella\n      { ending: \"imos\", stem: \"ir\", confidence: 0.85, type: \"present\" },\n      // nosotros\n      { ending: \"\\xEDs\", stem: \"ir\", confidence: 0.85, type: \"present\" },\n      // vosotros\n      { ending: \"is\", stem: \"ir\", confidence: 0.82, type: \"present\" },\n      // vosotros (no accent)\n      { ending: \"en\", stem: \"ir\", confidence: 0.78, type: \"present\" },\n      // ellos\n      // Preterite (same as -er)\n      { ending: \"\\xED\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      // yo\n      { ending: \"iste\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      // tú\n      { ending: \"i\\xF3\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      // él/ella\n      { ending: \"io\", stem: \"ir\", confidence: 0.82, type: \"past\" },\n      // él/ella (no accent)\n      { ending: \"imos\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      // nosotros\n      { ending: \"isteis\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      // vosotros\n      { ending: \"ieron\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      // ellos\n      // Imperfect (same as -er)\n      { ending: \"\\xEDa\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      { ending: \"ia\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      { ending: \"\\xEDas\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      { ending: \"ias\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      { ending: \"\\xEDamos\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      { ending: \"iamos\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      { ending: \"\\xEDais\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      { ending: \"iais\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      { ending: \"\\xEDan\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      { ending: \"ian\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      // Infinitive\n      { ending: \"ir\", stem: \"ir\", confidence: 0.92, type: \"dictionary\" }\n    ];\n    ALL_ENDINGS = [...AR_ENDINGS, ...ER_ENDINGS, ...IR_ENDINGS].sort(\n      (a, b) => b.ending.length - a.ending.length\n    );\n    SpanishMorphologicalNormalizer = class extends BaseMorphologicalNormalizer {\n      constructor() {\n        super({\n          language: \"es\",\n          minWordLength: 3,\n          minStemLength: 2,\n          endings: ALL_ENDINGS,\n          reflexiveSuffixes: [\"se\", \"me\", \"te\", \"nos\", \"os\"],\n          infinitiveEndings: [\"ar\", \"er\", \"ir\"]\n        });\n      }\n      /**\n       * Check if a word might be a Spanish verb that can be normalized.\n       */\n      isNormalizable(word) {\n        if (word.length < 3) return false;\n        const lower = word.toLowerCase();\n        if (lower.endsWith(\"ar\") || lower.endsWith(\"er\") || lower.endsWith(\"ir\")) return true;\n        if (lower.endsWith(\"ando\") || lower.endsWith(\"iendo\")) return true;\n        if (lower.endsWith(\"ado\") || lower.endsWith(\"ido\")) return true;\n        if (lower.endsWith(\"arse\") || lower.endsWith(\"erse\") || lower.endsWith(\"irse\")) return true;\n        for (const char of word) {\n          if (isSpanishSpecificLetter(char)) return true;\n        }\n        return false;\n      }\n    };\n    spanishMorphologicalNormalizer = new SpanishMorphologicalNormalizer();\n  }\n});\n\n// src/tokenizers/extractors/spanish-keyword.ts\nfunction createLatinCharClassifiers3(pattern) {\n  const isLetter = (char) => pattern.test(char);\n  const isIdentifierChar = (char) => /[0-9]/.test(char) || pattern.test(char);\n  return { isLetter, isIdentifierChar };\n}\nfunction createSpanishExtractors() {\n  return [new SpanishKeywordExtractor()];\n}\nvar isSpanishLetter, isSpanishIdentifierChar, PREPOSITIONS9, SpanishKeywordExtractor;\nvar init_spanish_keyword = __esm({\n  \"src/tokenizers/extractors/spanish-keyword.ts\"() {\n    \"use strict\";\n    init_base();\n    ({ isLetter: isSpanishLetter, isIdentifierChar: isSpanishIdentifierChar } = createLatinCharClassifiers3(/[a-zA-ZáéíóúüñÁÉÍÓÚÜÑ]/));\n    PREPOSITIONS9 = /* @__PURE__ */ new Set([\n      \"en\",\n      \"a\",\n      \"de\",\n      \"desde\",\n      \"hasta\",\n      \"con\",\n      \"sin\",\n      \"por\",\n      \"para\",\n      \"sobre\",\n      \"entre\",\n      \"antes\",\n      \"despu\\xE9s\",\n      \"despues\",\n      \"dentro\",\n      \"fuera\",\n      \"al\",\n      \"del\"\n    ]);\n    SpanishKeywordExtractor = class {\n      constructor() {\n        this.name = \"spanish-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isSpanishLetter(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"SpanishKeywordExtractor: context not set\");\n        }\n        const phraseResult = this.tryMultiWordPhrase(input, position);\n        if (phraseResult) {\n          return phraseResult;\n        }\n        return this.extractSpanishWord(input, position);\n      }\n      /**\n       * Try to match multi-word phrases from the keyword map.\n       * E.g., \"de lo contrario\", \"de lo normal\"\n       */\n      tryMultiWordPhrase(input, position) {\n        if (!this.context) return null;\n        const multiWordPhrases = [\n          \"de lo contrario\",\n          \"de lo normal\",\n          \"por defecto\",\n          \"de nuevo\",\n          \"de otra manera\"\n        ];\n        for (const phrase of multiWordPhrases) {\n          const candidate = input.slice(position, position + phrase.length).toLowerCase();\n          if (candidate === phrase.toLowerCase()) {\n            const nextPos = position + phrase.length;\n            if (nextPos >= input.length || isWhitespace(input[nextPos]) || !isSpanishLetter(input[nextPos])) {\n              const keywordEntry = this.context.lookupKeyword(phrase);\n              return {\n                value: input.slice(position, nextPos),\n                length: phrase.length,\n                metadata: {\n                  normalized: keywordEntry?.normalized,\n                  multiWord: true\n                }\n              };\n            }\n          }\n        }\n        return null;\n      }\n      /**\n       * Extract a Spanish word with morphological normalization.\n       */\n      extractSpanishWord(input, position) {\n        if (!this.context) return null;\n        let pos2 = position;\n        let word = \"\";\n        while (pos2 < input.length && isSpanishIdentifierChar(input[pos2])) {\n          word += input[pos2++];\n        }\n        if (!word) return null;\n        const lower = word.toLowerCase();\n        const isPreposition = PREPOSITIONS9.has(lower);\n        const keywordEntry = this.context.lookupKeyword(word);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        let morphNormalized;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - position,\n          metadata: {\n            normalized: normalized2 || morphNormalized,\n            isPreposition\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/spanish.ts\nvar spanish_exports2 = {};\n__export(spanish_exports2, {\n  SpanishTokenizer: () => SpanishTokenizer,\n  spanishTokenizer: () => spanishTokenizer\n});\nvar PREPOSITIONS10, SPANISH_EXTRAS, SpanishTokenizer, spanishTokenizer;\nvar init_spanish2 = __esm({\n  \"src/tokenizers/spanish.ts\"() {\n    \"use strict\";\n    init_base();\n    init_spanish_normalizer();\n    init_spanish();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_spanish_keyword();\n    PREPOSITIONS10 = /* @__PURE__ */ new Set([\n      \"en\",\n      // in, on\n      \"a\",\n      // to\n      \"de\",\n      // of, from\n      \"desde\",\n      // from\n      \"hasta\",\n      // until, to\n      \"con\",\n      // with\n      \"sin\",\n      // without\n      \"por\",\n      // by, for\n      \"para\",\n      // for\n      \"sobre\",\n      // on, about\n      \"entre\",\n      // between\n      \"antes\",\n      // before\n      \"despu\\xE9s\",\n      // after\n      \"despues\",\n      // after (no accent)\n      \"dentro\",\n      // inside\n      \"fuera\",\n      // outside\n      \"al\",\n      // a + el (contraction)\n      \"del\"\n      // de + el (contraction)\n    ]);\n    SPANISH_EXTRAS = [\n      // Values/Literals (not in profile - generic across all languages)\n      { native: \"verdadero\", normalized: \"true\" },\n      { native: \"falso\", normalized: \"false\" },\n      { native: \"nulo\", normalized: \"null\" },\n      { native: \"indefinido\", normalized: \"undefined\" },\n      // Time units (not in profile - handled by number parser)\n      { native: \"segundo\", normalized: \"s\" },\n      { native: \"segundos\", normalized: \"s\" },\n      { native: \"milisegundo\", normalized: \"ms\" },\n      { native: \"milisegundos\", normalized: \"ms\" },\n      { native: \"minuto\", normalized: \"m\" },\n      { native: \"minutos\", normalized: \"m\" },\n      { native: \"hora\", normalized: \"h\" },\n      { native: \"horas\", normalized: \"h\" },\n      // Reference alternatives (accent variation, synonym)\n      { native: \"m\\xED\", normalized: \"me\" },\n      // Accented form of mi\n      { native: \"destino\", normalized: \"target\" }\n      // Synonym for objetivo\n    ];\n    SpanishTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"es\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(spanishProfile, SPANISH_EXTRAS);\n        this.setNormalizer(new SpanishMorphologicalNormalizer());\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractors(createSpanishExtractors());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(token) {\n        const lower = token.toLowerCase();\n        if (PREPOSITIONS10.has(lower)) return \"particle\";\n        if (this.isKeyword(lower)) return \"keyword\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        if ([\"==\", \"!=\", \"<=\", \">=\", \"<\", \">\", \"&&\", \"||\", \"!\"].includes(token)) return \"operator\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"http\")) return \"url\";\n        return \"identifier\";\n      }\n      // tryMultiWordPhrase(), extractSpanishWord(), extractSpanishNumber() methods removed\n      // Now handled by SpanishKeywordExtractor (context-aware)\n    };\n    spanishTokenizer = new SpanishTokenizer();\n  }\n});\n\n// src/tokenizers/morphology/turkish-normalizer.ts\nfunction isTurkishLetter2(char) {\n  const code = char.charCodeAt(0);\n  if (code >= 65 && code <= 90 || code >= 97 && code <= 122) {\n    return true;\n  }\n  const turkishChars = \"\\xE7\\xC7\\u011F\\u011E\\u0131\\u0130\\xF6\\xD6\\u015F\\u015E\\xFC\\xDC\";\n  return turkishChars.includes(char);\n}\nfunction containsTurkish(word) {\n  for (const char of word) {\n    if (isTurkishLetter2(char)) return true;\n  }\n  return false;\n}\nfunction isBackVowel(char) {\n  return \"a\\u0131ouAIOU\".includes(char);\n}\nfunction isFrontVowel(char) {\n  return \"ei\\xF6\\xFCE\\u0130\\xD6\\xDC\".includes(char);\n}\nfunction isVowel(char) {\n  return isBackVowel(char) || isFrontVowel(char);\n}\nfunction getLastVowel(word) {\n  for (let i = word.length - 1; i >= 0; i--) {\n    if (isVowel(word[i])) {\n      return word[i];\n    }\n  }\n  return null;\n}\nfunction matchesVowelHarmony(stem, suffix) {\n  const stemLastVowel = getLastVowel(stem);\n  if (!stemLastVowel) return true;\n  const suffixFirstVowel = suffix.split(\"\").find((c) => isVowel(c));\n  if (!suffixFirstVowel) return true;\n  if (isBackVowel(stemLastVowel)) {\n    return isBackVowel(suffixFirstVowel);\n  }\n  return isFrontVowel(suffixFirstVowel);\n}\nvar TURKISH_SUFFIX_RULES, TurkishMorphologicalNormalizer, turkishMorphologicalNormalizer;\nvar init_turkish_normalizer = __esm({\n  \"src/tokenizers/morphology/turkish-normalizer.ts\"() {\n    \"use strict\";\n    init_types();\n    TURKISH_SUFFIX_RULES = [\n      // Compound tense + person (longest patterns first)\n      // Present continuous + person\n      { pattern: \"iyorsunuz\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\u0131yorsunuz\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\xFCyorsunuz\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"uyorsunuz\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"iyorsun\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\u0131yorsun\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\xFCyorsun\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"uyorsun\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"iyoruz\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\u0131yoruz\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\xFCyoruz\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"uyoruz\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"iyorum\", confidence: 0.85, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\u0131yorum\", confidence: 0.85, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\xFCyorum\", confidence: 0.85, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"uyorum\", confidence: 0.85, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"iyorlar\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\u0131yorlar\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\xFCyorlar\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"uyorlar\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      // Future tense + person\n      { pattern: \"eceksiniz\", confidence: 0.82, conjugationType: \"future\", minStemLength: 2 },\n      { pattern: \"acaks\\u0131n\\u0131z\", confidence: 0.82, conjugationType: \"future\", minStemLength: 2 },\n      { pattern: \"eceksin\", confidence: 0.82, conjugationType: \"future\", minStemLength: 2 },\n      { pattern: \"acaks\\u0131n\", confidence: 0.82, conjugationType: \"future\", minStemLength: 2 },\n      { pattern: \"ece\\u011Fiz\", confidence: 0.82, conjugationType: \"future\", minStemLength: 2 },\n      { pattern: \"aca\\u011F\\u0131z\", confidence: 0.82, conjugationType: \"future\", minStemLength: 2 },\n      { pattern: \"ece\\u011Fim\", confidence: 0.85, conjugationType: \"future\", minStemLength: 2 },\n      { pattern: \"aca\\u011F\\u0131m\", confidence: 0.85, conjugationType: \"future\", minStemLength: 2 },\n      { pattern: \"ecekler\", confidence: 0.82, conjugationType: \"future\", minStemLength: 2 },\n      { pattern: \"acaklar\", confidence: 0.82, conjugationType: \"future\", minStemLength: 2 },\n      // Reported past + person\n      { pattern: \"mi\\u015Fsiniz\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"m\\u0131\\u015Fs\\u0131n\\u0131z\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"m\\xFC\\u015Fs\\xFCn\\xFCz\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"mu\\u015Fsunuz\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"mi\\u015Fsin\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"m\\u0131\\u015Fs\\u0131n\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"m\\xFC\\u015Fs\\xFCn\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"mu\\u015Fsun\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"mi\\u015Fiz\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"m\\u0131\\u015F\\u0131z\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"m\\xFC\\u015F\\xFCz\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"mu\\u015Fuz\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"mi\\u015Fim\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"m\\u0131\\u015F\\u0131m\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"m\\xFC\\u015F\\xFCm\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"mu\\u015Fum\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"mi\\u015Fler\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"m\\u0131\\u015Flar\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"m\\xFC\\u015Fler\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"mu\\u015Flar\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      // Past tense + person\n      { pattern: \"diniz\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"d\\u0131n\\u0131z\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"d\\xFCn\\xFCz\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"dunuz\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"tiniz\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"t\\u0131n\\u0131z\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"t\\xFCn\\xFCz\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"tunuz\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"diler\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"d\\u0131lar\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"d\\xFCler\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"dular\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"tiler\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"t\\u0131lar\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"t\\xFCler\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"tular\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"din\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"d\\u0131n\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"d\\xFCn\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"dun\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"tin\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"t\\u0131n\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"t\\xFCn\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"tun\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"dik\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"d\\u0131k\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"d\\xFCk\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"duk\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"tik\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"t\\u0131k\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"t\\xFCk\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"tuk\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"dim\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"d\\u0131m\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"d\\xFCm\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"dum\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"tim\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"t\\u0131m\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"t\\xFCm\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"tum\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      // Present continuous (no person - 3rd person singular)\n      { pattern: \"iyor\", confidence: 0.85, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\u0131yor\", confidence: 0.85, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"\\xFCyor\", confidence: 0.85, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"uyor\", confidence: 0.85, conjugationType: \"progressive\", minStemLength: 2 },\n      // Future (no person - 3rd person singular)\n      { pattern: \"ecek\", confidence: 0.85, conjugationType: \"future\", minStemLength: 2 },\n      { pattern: \"acak\", confidence: 0.85, conjugationType: \"future\", minStemLength: 2 },\n      // Reported past (no person - 3rd person singular)\n      { pattern: \"mi\\u015F\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"m\\u0131\\u015F\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"m\\xFC\\u015F\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"mu\\u015F\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      // Simple past (no person - 3rd person singular)\n      { pattern: \"di\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"d\\u0131\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"d\\xFC\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"du\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"ti\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"t\\u0131\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"t\\xFC\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"tu\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      // Infinitive\n      { pattern: \"mek\", confidence: 0.88, conjugationType: \"dictionary\", minStemLength: 2 },\n      { pattern: \"mak\", confidence: 0.88, conjugationType: \"dictionary\", minStemLength: 2 },\n      // Optative mood (let me/us...) - -eyim/-ayım/-elim/-alım\n      { pattern: \"eyelim\", confidence: 0.82, conjugationType: \"optative\", minStemLength: 2 },\n      { pattern: \"ayal\\u0131m\", confidence: 0.82, conjugationType: \"optative\", minStemLength: 2 },\n      { pattern: \"eyim\", confidence: 0.82, conjugationType: \"optative\", minStemLength: 2 },\n      { pattern: \"ay\\u0131m\", confidence: 0.82, conjugationType: \"optative\", minStemLength: 2 },\n      { pattern: \"elim\", confidence: 0.82, conjugationType: \"optative\", minStemLength: 2 },\n      { pattern: \"al\\u0131m\", confidence: 0.82, conjugationType: \"optative\", minStemLength: 2 },\n      // Necessitative (must/should) - -meli/-malı\n      { pattern: \"melisiniz\", confidence: 0.82, conjugationType: \"necessitative\", minStemLength: 2 },\n      { pattern: \"mal\\u0131s\\u0131n\\u0131z\", confidence: 0.82, conjugationType: \"necessitative\", minStemLength: 2 },\n      { pattern: \"melisin\", confidence: 0.82, conjugationType: \"necessitative\", minStemLength: 2 },\n      { pattern: \"mal\\u0131s\\u0131n\", confidence: 0.82, conjugationType: \"necessitative\", minStemLength: 2 },\n      { pattern: \"meliyiz\", confidence: 0.82, conjugationType: \"necessitative\", minStemLength: 2 },\n      { pattern: \"mal\\u0131y\\u0131z\", confidence: 0.82, conjugationType: \"necessitative\", minStemLength: 2 },\n      { pattern: \"meliyim\", confidence: 0.85, conjugationType: \"necessitative\", minStemLength: 2 },\n      { pattern: \"mal\\u0131y\\u0131m\", confidence: 0.85, conjugationType: \"necessitative\", minStemLength: 2 },\n      { pattern: \"meliler\", confidence: 0.82, conjugationType: \"necessitative\", minStemLength: 2 },\n      { pattern: \"mal\\u0131lar\", confidence: 0.82, conjugationType: \"necessitative\", minStemLength: 2 },\n      { pattern: \"meli\", confidence: 0.85, conjugationType: \"necessitative\", minStemLength: 2 },\n      { pattern: \"mal\\u0131\", confidence: 0.85, conjugationType: \"necessitative\", minStemLength: 2 },\n      // Ability (can) - -ebil/-abil + tense suffixes\n      { pattern: \"ebiliyor\", confidence: 0.82, conjugationType: \"potential\", minStemLength: 2 },\n      { pattern: \"abiliyor\", confidence: 0.82, conjugationType: \"potential\", minStemLength: 2 },\n      { pattern: \"ebilir\", confidence: 0.85, conjugationType: \"potential\", minStemLength: 2 },\n      { pattern: \"abilir\", confidence: 0.85, conjugationType: \"potential\", minStemLength: 2 },\n      { pattern: \"ebildi\", confidence: 0.82, conjugationType: \"potential\", minStemLength: 2 },\n      { pattern: \"abildi\", confidence: 0.82, conjugationType: \"potential\", minStemLength: 2 },\n      { pattern: \"ebilmek\", confidence: 0.85, conjugationType: \"potential\", minStemLength: 2 },\n      { pattern: \"abilmek\", confidence: 0.85, conjugationType: \"potential\", minStemLength: 2 },\n      // Imperative (2nd person singular is just stem, 2nd person plural has suffix)\n      { pattern: \"iniz\", confidence: 0.82, conjugationType: \"imperative\", minStemLength: 2 },\n      { pattern: \"\\u0131n\\u0131z\", confidence: 0.82, conjugationType: \"imperative\", minStemLength: 2 },\n      { pattern: \"\\xFCn\\xFCz\", confidence: 0.82, conjugationType: \"imperative\", minStemLength: 2 },\n      { pattern: \"unuz\", confidence: 0.82, conjugationType: \"imperative\", minStemLength: 2 },\n      { pattern: \"in\", confidence: 0.8, conjugationType: \"imperative\", minStemLength: 2 },\n      { pattern: \"\\u0131n\", confidence: 0.8, conjugationType: \"imperative\", minStemLength: 2 },\n      { pattern: \"\\xFCn\", confidence: 0.8, conjugationType: \"imperative\", minStemLength: 2 },\n      { pattern: \"un\", confidence: 0.8, conjugationType: \"imperative\", minStemLength: 2 },\n      // Passive voice\n      { pattern: \"ildi\", confidence: 0.82, conjugationType: \"passive\", minStemLength: 2 },\n      { pattern: \"\\u0131ld\\u0131\", confidence: 0.82, conjugationType: \"passive\", minStemLength: 2 },\n      { pattern: \"\\xFCld\\xFC\", confidence: 0.82, conjugationType: \"passive\", minStemLength: 2 },\n      { pattern: \"uldu\", confidence: 0.82, conjugationType: \"passive\", minStemLength: 2 },\n      { pattern: \"ilir\", confidence: 0.82, conjugationType: \"passive\", minStemLength: 2 },\n      { pattern: \"\\u0131l\\u0131r\", confidence: 0.82, conjugationType: \"passive\", minStemLength: 2 },\n      { pattern: \"\\xFCl\\xFCr\", confidence: 0.82, conjugationType: \"passive\", minStemLength: 2 },\n      { pattern: \"ulur\", confidence: 0.82, conjugationType: \"passive\", minStemLength: 2 },\n      // Causative\n      { pattern: \"tirmek\", confidence: 0.82, conjugationType: \"causative\", minStemLength: 2 },\n      { pattern: \"t\\u0131rmak\", confidence: 0.82, conjugationType: \"causative\", minStemLength: 2 },\n      { pattern: \"t\\xFCrmek\", confidence: 0.82, conjugationType: \"causative\", minStemLength: 2 },\n      { pattern: \"turmak\", confidence: 0.82, conjugationType: \"causative\", minStemLength: 2 },\n      { pattern: \"dirmek\", confidence: 0.82, conjugationType: \"causative\", minStemLength: 2 },\n      { pattern: \"d\\u0131rmak\", confidence: 0.82, conjugationType: \"causative\", minStemLength: 2 },\n      { pattern: \"d\\xFCrmek\", confidence: 0.82, conjugationType: \"causative\", minStemLength: 2 },\n      { pattern: \"durmak\", confidence: 0.82, conjugationType: \"causative\", minStemLength: 2 },\n      // Negation + tense combinations (very common)\n      { pattern: \"miyorsunuz\", confidence: 0.8, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"m\\u0131yorsunuz\", confidence: 0.8, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"m\\xFCyorsunuz\", confidence: 0.8, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"muyorsunuz\", confidence: 0.8, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"miyorsun\", confidence: 0.8, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"m\\u0131yorsun\", confidence: 0.8, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"m\\xFCyorsun\", confidence: 0.8, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"muyorsun\", confidence: 0.8, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"miyoruz\", confidence: 0.8, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"m\\u0131yoruz\", confidence: 0.8, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"m\\xFCyoruz\", confidence: 0.8, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"muyoruz\", confidence: 0.8, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"miyorum\", confidence: 0.82, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"m\\u0131yorum\", confidence: 0.82, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"m\\xFCyorum\", confidence: 0.82, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"muyorum\", confidence: 0.82, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"miyor\", confidence: 0.82, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"m\\u0131yor\", confidence: 0.82, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"m\\xFCyor\", confidence: 0.82, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"muyor\", confidence: 0.82, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"medi\", confidence: 0.82, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"mad\\u0131\", confidence: 0.82, conjugationType: \"negative\", minStemLength: 2 },\n      { pattern: \"me\", confidence: 0.75, conjugationType: \"negative\", minStemLength: 3 },\n      { pattern: \"ma\", confidence: 0.75, conjugationType: \"negative\", minStemLength: 3 }\n    ];\n    TurkishMorphologicalNormalizer = class {\n      constructor() {\n        this.language = \"tr\";\n      }\n      /**\n       * Check if a word might be a Turkish verb that can be normalized.\n       */\n      isNormalizable(word) {\n        if (!containsTurkish(word)) return false;\n        if (word.length < 3) return false;\n        return true;\n      }\n      /**\n       * Normalize a Turkish word to its stem form.\n       */\n      normalize(word) {\n        const lowerWord = word.toLowerCase();\n        for (const rule of TURKISH_SUFFIX_RULES) {\n          if (lowerWord.endsWith(rule.pattern)) {\n            const stem = lowerWord.slice(0, -rule.pattern.length);\n            const minLength = rule.minStemLength ?? 2;\n            if (stem.length < minLength) continue;\n            if (!matchesVowelHarmony(stem, rule.pattern)) {\n              const adjustedConfidence = rule.confidence * 0.9;\n              const metadata2 = {\n                removedSuffixes: [rule.pattern]\n              };\n              if (rule.conjugationType) {\n                metadata2.conjugationType = rule.conjugationType;\n              }\n              return normalized(stem, adjustedConfidence, metadata2);\n            }\n            const metadata = {\n              removedSuffixes: [rule.pattern]\n            };\n            if (rule.conjugationType) {\n              metadata.conjugationType = rule.conjugationType;\n            }\n            return normalized(stem, rule.confidence, metadata);\n          }\n        }\n        return noChange(word);\n      }\n    };\n    turkishMorphologicalNormalizer = new TurkishMorphologicalNormalizer();\n  }\n});\n\n// src/tokenizers/turkish.ts\nvar turkish_exports2 = {};\n__export(turkish_exports2, {\n  TurkishTokenizer: () => TurkishTokenizer,\n  turkishTokenizer: () => turkishTokenizer\n});\nvar POSTPOSITIONS3, CASE_SUFFIXES2, TURKISH_EXTRAS, TurkishTokenizer, turkishTokenizer;\nvar init_turkish2 = __esm({\n  \"src/tokenizers/turkish.ts\"() {\n    \"use strict\";\n    init_base();\n    init_turkish_normalizer();\n    init_turkish();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_turkish_keyword();\n    POSTPOSITIONS3 = /* @__PURE__ */ new Set([\n      \"ile\",\n      // with\n      \"i\\xE7in\",\n      // for\n      \"kadar\",\n      // until, as far as\n      \"gibi\",\n      // like\n      \"\\xF6nce\",\n      // before\n      \"\\xFCzerinde\",\n      // on, above\n      \"alt\\u0131nda\",\n      // under\n      \"i\\xE7inde\",\n      // inside\n      \"d\\u0131\\u015F\\u0131nda\",\n      // outside\n      \"aras\\u0131nda\",\n      // between\n      \"kar\\u015F\\u0131\",\n      // against, towards\n      \"g\\xF6re\",\n      // according to\n      \"ra\\u011Fmen\",\n      // despite\n      // NOTE: 'doğru' (\"towards\") is intentionally NOT a postposition here. It\n      // collides with the boolean literal `doğru` (\"true\"), which the i18n dict\n      // emits for `set @attr to true`. classifyToken checks POSTPOSITIONS before\n      // isKeyword, so listing it here misclassified the value as kind='particle'\n      // — and tokenToSemanticValue has no `particle` case, so the set patient role\n      // rejected it (set-attribute fell to the role-scrambling SOV fallback). The\n      // postpositional \"towards\" sense is not a hyperscript construct; the value\n      // sense is. See STRUCTURAL_ARCS_ROADMAP.md (tr set-attribute).\n      \"boyunca\"\n      // along, throughout\n    ]);\n    CASE_SUFFIXES2 = /* @__PURE__ */ new Set([\n      \"de\",\n      \"da\",\n      \"te\",\n      \"ta\",\n      // locative (at, in)\n      \"den\",\n      \"dan\",\n      \"ten\",\n      \"tan\",\n      // ablative (from)\n      \"e\",\n      \"a\",\n      \"ye\",\n      \"ya\",\n      // dative (to)\n      \"i\",\n      \"\\u0131\",\n      \"u\",\n      \"\\xFC\",\n      // accusative (object)\n      \"in\",\n      \"\\u0131n\",\n      \"un\",\n      \"\\xFCn\",\n      // genitive (of)\n      \"le\",\n      \"la\",\n      \"yle\",\n      \"yla\"\n      // instrumental (with)\n    ]);\n    TURKISH_EXTRAS = [\n      // Values/Literals\n      { native: \"do\\u011Fru\", normalized: \"true\" },\n      { native: \"dogru\", normalized: \"true\" },\n      { native: \"yanl\\u0131\\u015F\", normalized: \"false\" },\n      { native: \"yanlis\", normalized: \"false\" },\n      { native: \"null\", normalized: \"null\" },\n      { native: \"bo\\u015F\", normalized: \"null\" },\n      { native: \"bos\", normalized: \"null\" },\n      { native: \"tan\\u0131ms\\u0131z\", normalized: \"undefined\" },\n      { native: \"tanimsiz\", normalized: \"undefined\" },\n      // Positional (not in profile)\n      { native: \"ilk\", normalized: \"first\" },\n      { native: \"son\", normalized: \"last\" },\n      { native: \"sonuncu\", normalized: \"last\" },\n      // i18n dict emission ('son' doubles as end)\n      { native: \"sonraki\", normalized: \"next\" },\n      { native: \"\\xF6nceki\", normalized: \"previous\" },\n      { native: \"onceki\", normalized: \"previous\" },\n      // Fused single token — the tokenizer splits on '_', so the old 'en_yakın'\n      // entries were dead. The i18n dict emits the fused superlative.\n      { native: \"enyak\\u0131n\", normalized: \"closest\" },\n      { native: \"enyakin\", normalized: \"closest\" },\n      { native: \"ebeveyn\", normalized: \"parent\" },\n      // Complex event names (multi-word events not in profile)\n      { native: \"fare \\xFCzerinde\", normalized: \"mouseover\" },\n      { native: \"fare uzerinde\", normalized: \"mouseover\" },\n      { native: \"fare d\\u0131\\u015F\\u0131nda\", normalized: \"mouseout\" },\n      { native: \"fare disinda\", normalized: \"mouseout\" },\n      // Fused mousedown/mouseup (dict emits these WITHOUT `_` since the tokenizer\n      // splits on it — see tr.ts events note). repeat-until-event / handler events.\n      { native: \"farebas\", normalized: \"mousedown\" },\n      { native: \"fareb\\u0131rak\", normalized: \"mouseup\" },\n      { native: \"farebirak\", normalized: \"mouseup\" },\n      { native: \"kayd\\u0131r\", normalized: \"scroll\" },\n      { native: \"kaydir\", normalized: \"scroll\" },\n      { native: \"tu\\u015F_bas\", normalized: \"keydown\" },\n      { native: \"tus_bas\", normalized: \"keydown\" },\n      { native: \"tu\\u015F_b\\u0131rak\", normalized: \"keyup\" },\n      { native: \"tus_birak\", normalized: \"keyup\" },\n      // Time units\n      { native: \"saniye\", normalized: \"s\" },\n      { native: \"milisaniye\", normalized: \"ms\" },\n      { native: \"dakika\", normalized: \"m\" },\n      { native: \"saat\", normalized: \"h\" }\n    ];\n    TurkishTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"tr\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(turkishProfile, TURKISH_EXTRAS);\n        this.setNormalizer(new TurkishMorphologicalNormalizer());\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractor(createTurkishKeywordExtractor());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(token) {\n        const lower = token.toLowerCase();\n        if (POSTPOSITIONS3.has(lower)) return \"particle\";\n        if (CASE_SUFFIXES2.has(lower)) return \"particle\";\n        if (this.isKeyword(lower)) return \"keyword\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"../\") || token.startsWith(\"http\"))\n          return \"url\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        if ([\"==\", \"!=\", \"<=\", \">=\", \"<\", \">\", \"&&\", \"||\", \"!\"].includes(token)) return \"operator\";\n        return \"identifier\";\n      }\n      // tryMultiWordPhrase(), extractTurkishWord(), extractTurkishNumber() methods removed\n      // Now handled by TurkishKeywordExtractor (context-aware)\n    };\n    turkishTokenizer = new TurkishTokenizer();\n  }\n});\n\n// src/tokenizers/chinese.ts\nvar chinese_exports2 = {};\n__export(chinese_exports2, {\n  ChineseTokenizer: () => ChineseTokenizer,\n  chineseTokenizer: () => chineseTokenizer\n});\nvar PARTICLES3, CHINESE_EXTRAS, ChineseTokenizer, chineseTokenizer;\nvar init_chinese2 = __esm({\n  \"src/tokenizers/chinese.ts\"() {\n    \"use strict\";\n    init_base();\n    init_chinese();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_chinese_keyword();\n    init_chinese_particle();\n    init_ascii_identifier();\n    PARTICLES3 = /* @__PURE__ */ new Set([\n      \"\\u628A\",\n      // ba - marks direct object (BA construction)\n      \"\\u5728\",\n      // zai - at, in, on (location)\n      \"\\u4ECE\",\n      // cong - from\n      \"\\u5230\",\n      // dao - to, until\n      \"\\u5411\",\n      // xiang - towards\n      \"\\u7ED9\",\n      // gei - to, for (recipient)\n      \"\\u5BF9\",\n      // dui - to, towards\n      \"\\u7528\",\n      // yong - with, using\n      \"\\u88AB\",\n      // bei - by (passive)\n      \"\\u8BA9\",\n      // rang - let, allow\n      \"\\u7684\",\n      // de - possessive/attributive\n      \"\\u5730\",\n      // de - adverbial marker\n      \"\\u5F97\",\n      // de - complement marker\n      \"\\u4E86\",\n      // le - completion marker\n      \"\\u7740\",\n      // zhe - progressive marker\n      \"\\u8FC7\",\n      // guo - experiential marker\n      \"\\u5417\",\n      // ma - question particle\n      \"\\u5462\",\n      // ne - question/emphasis particle\n      \"\\u5427\"\n      // ba - suggestion particle\n    ]);\n    CHINESE_EXTRAS = [\n      // Values/Literals\n      { native: \"\\u771F\", normalized: \"true\" },\n      { native: \"\\u5047\", normalized: \"false\" },\n      { native: \"\\u7A7A\", normalized: \"null\" },\n      { native: \"\\u672A\\u5B9A\\u4E49\", normalized: \"undefined\" },\n      // Positional\n      { native: \"\\u7B2C\\u4E00\\u4E2A\", normalized: \"first\" },\n      { native: \"\\u9996\\u4E2A\", normalized: \"first\" },\n      { native: \"\\u6700\\u540E\\u4E00\\u4E2A\", normalized: \"last\" },\n      { native: \"\\u672B\\u4E2A\", normalized: \"last\" },\n      { native: \"\\u4E0B\\u4E00\\u4E2A\", normalized: \"next\" },\n      { native: \"\\u4E0A\\u4E00\\u4E2A\", normalized: \"previous\" },\n      { native: \"\\u6700\\u8FD1\\u7684\", normalized: \"closest\" },\n      { native: \"\\u7236\\u7EA7\", normalized: \"parent\" },\n      // Events\n      { native: \"\\u70B9\\u51FB\", normalized: \"click\" },\n      { native: \"\\u53CC\\u51FB\", normalized: \"dblclick\" },\n      { native: \"\\u8F93\\u5165\", normalized: \"input\" },\n      { native: \"\\u53D8\\u66F4\", normalized: \"change\" },\n      { native: \"\\u6539\\u53D8\", normalized: \"change\" },\n      { native: \"\\u63D0\\u4EA4\", normalized: \"submit\" },\n      { native: \"\\u6309\\u952E\", normalized: \"keydown\" },\n      { native: \"\\u91CA\\u653E\\u952E\", normalized: \"keyup\" },\n      { native: \"\\u9F20\\u6807\\u79FB\\u5165\", normalized: \"mouseover\" },\n      { native: \"\\u9F20\\u6807\\u79FB\\u51FA\", normalized: \"mouseout\" },\n      { native: \"\\u83B7\\u5F97\\u7126\\u70B9\", normalized: \"focus\" },\n      { native: \"\\u5931\\u53BB\\u7126\\u70B9\", normalized: \"blur\" },\n      { native: \"\\u52A0\\u8F7D\", normalized: \"load\" },\n      { native: \"\\u6EDA\\u52A8\", normalized: \"scroll\" },\n      // Additional references\n      { native: \"\\u6211\\u7684\", normalized: \"my\" },\n      { native: \"\\u5B83\\u7684\", normalized: \"its\" },\n      // Time units\n      { native: \"\\u79D2\", normalized: \"s\" },\n      { native: \"\\u6BEB\\u79D2\", normalized: \"ms\" },\n      { native: \"\\u5206\\u949F\", normalized: \"m\" },\n      { native: \"\\u5C0F\\u65F6\", normalized: \"h\" },\n      // Logical operators\n      { native: \"\\u548C\", normalized: \"and\" },\n      { native: \"\\u6216\\u8005\", normalized: \"or\" },\n      { native: \"\\u6216\", normalized: \"or\" },\n      { native: \"\\u4E0D\", normalized: \"not\" },\n      { native: \"\\u975E\", normalized: \"not\" },\n      { native: \"\\u662F\", normalized: \"is\" },\n      // Additional synonyms not in profile\n      { native: \"\\u82E5\", normalized: \"if\" },\n      { native: \"\\u4E0D\\u7136\", normalized: \"else\" },\n      { native: \"\\u5FAA\\u73AF\", normalized: \"repeat\" },\n      { native: \"\\u904D\\u5386\", normalized: \"for\" },\n      { native: \"\\u6BCF\\u4E2A\", normalized: \"for\" },\n      { native: \"\\u4E3A\\u6BCF\", normalized: \"for\" },\n      { native: \"\\u4E2D\\u6B62\", normalized: \"halt\" },\n      { native: \"\\u629B\", normalized: \"throw\" },\n      { native: \"\\u547C\\u53EB\", normalized: \"call\" },\n      { native: \"\\u56DE\", normalized: \"return\" },\n      { native: \"\\u811A\\u672C\", normalized: \"js\" },\n      { native: \"\\u901A\\u77E5\", normalized: \"tell\" },\n      { native: \"\\u7F3A\\u7701\", normalized: \"default\" },\n      { native: \"\\u521D\\u59CB\", normalized: \"init\" },\n      { native: \"\\u52A8\\u4F5C\", normalized: \"behavior\" },\n      { native: \"\\u6FC0\\u53D1\", normalized: \"trigger\" },\n      { native: \"\\u5BF9\\u7126\", normalized: \"focus\" },\n      { native: \"\\u6A21\\u7CCA\", normalized: \"blur\" },\n      { native: \"\\u8DF3\\u8F6C\", normalized: \"go\" },\n      { native: \"\\u5BFC\\u822A\", normalized: \"go\" },\n      { native: \"\\u6293\\u53D6\", normalized: \"fetch\" },\n      { native: \"\\u83B7\\u53D6\\u6570\\u636E\", normalized: \"fetch\" },\n      { native: \"\\u5B89\\u5B9A\", normalized: \"settle\" },\n      { native: \"\\u62FF\\u53D6\", normalized: \"take\" },\n      { native: \"\\u53D6\", normalized: \"take\" },\n      { native: \"\\u521B\\u5EFA\", normalized: \"make\" },\n      { native: \"\\u514B\\u9686\", normalized: \"clone\" },\n      { native: \"\\u8BB0\\u5F55\", normalized: \"log\" },\n      { native: \"\\u6253\\u5370\", normalized: \"log\" },\n      { native: \"\\u52A8\\u753B\", normalized: \"transition\" },\n      // Modifiers\n      { native: \"\\u5230\\u91CC\\u9762\", normalized: \"into\" },\n      { native: \"\\u91CC\", normalized: \"into\" },\n      { native: \"\\u524D\", normalized: \"before\" },\n      { native: \"\\u540E\", normalized: \"after\" },\n      { native: \"\\u90A3\\u4E48\", normalized: \"then\" },\n      { native: \"\\u5B8C\", normalized: \"end\" }\n    ];\n    ChineseTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"zh\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(chineseProfile, CHINESE_EXTRAS);\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractor(new AsciiIdentifierExtractor());\n        this.registerExtractor(new ChineseParticleExtractor());\n        this.registerExtractor(new ChineseKeywordExtractor());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(token) {\n        if (PARTICLES3.has(token)) return \"particle\";\n        if (this.isKeyword(token)) return \"keyword\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"../\") || token.startsWith(\"http\"))\n          return \"url\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\") || token.startsWith(\"\\u201C\") || token.startsWith(\"\\u2018\"))\n          return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        return \"identifier\";\n      }\n    };\n    chineseTokenizer = new ChineseTokenizer();\n  }\n});\n\n// src/tokenizers/morphology/portuguese-normalizer.ts\nfunction isPortugueseSpecificLetter(char) {\n  return /[áàâãéêíóôõúüçÁÀÂÃÉÊÍÓÔÕÚÜÇ]/.test(char);\n}\nfunction looksLikePortugueseVerb(word) {\n  const lower = word.toLowerCase();\n  if (lower.endsWith(\"ar\") || lower.endsWith(\"er\") || lower.endsWith(\"ir\")) return true;\n  if (lower.endsWith(\"ando\") || lower.endsWith(\"endo\") || lower.endsWith(\"indo\")) return true;\n  if (lower.endsWith(\"ado\") || lower.endsWith(\"ido\")) return true;\n  if (lower.endsWith(\"ar-se\") || lower.endsWith(\"er-se\") || lower.endsWith(\"ir-se\")) return true;\n  for (const char of word) {\n    if (isPortugueseSpecificLetter(char)) return true;\n  }\n  return false;\n}\nvar REFLEXIVE_SUFFIXES, AR_ENDINGS2, ER_ENDINGS2, IR_ENDINGS2, ALL_ENDINGS2, PortugueseMorphologicalNormalizer, portugueseMorphologicalNormalizer;\nvar init_portuguese_normalizer = __esm({\n  \"src/tokenizers/morphology/portuguese-normalizer.ts\"() {\n    \"use strict\";\n    init_types();\n    REFLEXIVE_SUFFIXES = [\"-se\", \"-me\", \"-te\", \"-nos\", \"-vos\"];\n    AR_ENDINGS2 = [\n      // Gerund (-ando)\n      { ending: \"ando\", stem: \"ar\", confidence: 0.88, type: \"gerund\" },\n      // Past participle (-ado)\n      { ending: \"ado\", stem: \"ar\", confidence: 0.88, type: \"participle\" },\n      { ending: \"ada\", stem: \"ar\", confidence: 0.88, type: \"participle\" },\n      { ending: \"ados\", stem: \"ar\", confidence: 0.88, type: \"participle\" },\n      { ending: \"adas\", stem: \"ar\", confidence: 0.88, type: \"participle\" },\n      // Present indicative\n      { ending: \"o\", stem: \"ar\", confidence: 0.75, type: \"present\" },\n      // eu\n      { ending: \"as\", stem: \"ar\", confidence: 0.82, type: \"present\" },\n      // tu\n      { ending: \"a\", stem: \"ar\", confidence: 0.75, type: \"present\" },\n      // ele/ela/você\n      { ending: \"amos\", stem: \"ar\", confidence: 0.85, type: \"present\" },\n      // nós\n      { ending: \"ais\", stem: \"ar\", confidence: 0.85, type: \"present\" },\n      // vós\n      { ending: \"am\", stem: \"ar\", confidence: 0.8, type: \"present\" },\n      // eles/elas/vocês\n      // Preterite (past)\n      { ending: \"ei\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // eu\n      { ending: \"aste\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // tu\n      { ending: \"ou\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // ele/ela/você\n      { ending: \"\\xE1mos\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // nós (with accent)\n      { ending: \"amos\", stem: \"ar\", confidence: 0.85, type: \"past\" },\n      // nós (Brazilian)\n      { ending: \"astes\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // vós\n      { ending: \"aram\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // eles/elas/vocês\n      // Imperfect\n      { ending: \"ava\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // eu/ele\n      { ending: \"avas\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // tu\n      { ending: \"\\xE1vamos\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // nós\n      { ending: \"avamos\", stem: \"ar\", confidence: 0.85, type: \"past\" },\n      // nós (no accent)\n      { ending: \"\\xE1veis\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // vós\n      { ending: \"aveis\", stem: \"ar\", confidence: 0.85, type: \"past\" },\n      // vós (no accent)\n      { ending: \"avam\", stem: \"ar\", confidence: 0.88, type: \"past\" },\n      // eles\n      // Subjunctive\n      { ending: \"e\", stem: \"ar\", confidence: 0.72, type: \"subjunctive\" },\n      // eu/ele (ambiguous)\n      { ending: \"es\", stem: \"ar\", confidence: 0.78, type: \"subjunctive\" },\n      // tu\n      { ending: \"emos\", stem: \"ar\", confidence: 0.82, type: \"subjunctive\" },\n      // nós\n      { ending: \"eis\", stem: \"ar\", confidence: 0.82, type: \"subjunctive\" },\n      // vós\n      { ending: \"em\", stem: \"ar\", confidence: 0.78, type: \"subjunctive\" },\n      // eles\n      // Imperative\n      { ending: \"a\", stem: \"ar\", confidence: 0.75, type: \"imperative\" },\n      // tu/você\n      { ending: \"ai\", stem: \"ar\", confidence: 0.85, type: \"imperative\" },\n      // vós\n      // Infinitive\n      { ending: \"ar\", stem: \"ar\", confidence: 0.92, type: \"dictionary\" }\n    ];\n    ER_ENDINGS2 = [\n      // Gerund (-endo)\n      { ending: \"endo\", stem: \"er\", confidence: 0.88, type: \"gerund\" },\n      // Past participle (-ido)\n      { ending: \"ido\", stem: \"er\", confidence: 0.85, type: \"participle\" },\n      { ending: \"ida\", stem: \"er\", confidence: 0.85, type: \"participle\" },\n      { ending: \"idos\", stem: \"er\", confidence: 0.85, type: \"participle\" },\n      { ending: \"idas\", stem: \"er\", confidence: 0.85, type: \"participle\" },\n      // Present indicative\n      { ending: \"o\", stem: \"er\", confidence: 0.72, type: \"present\" },\n      // eu\n      { ending: \"es\", stem: \"er\", confidence: 0.78, type: \"present\" },\n      // tu\n      { ending: \"e\", stem: \"er\", confidence: 0.72, type: \"present\" },\n      // ele\n      { ending: \"emos\", stem: \"er\", confidence: 0.85, type: \"present\" },\n      // nós\n      { ending: \"eis\", stem: \"er\", confidence: 0.82, type: \"present\" },\n      // vós\n      { ending: \"em\", stem: \"er\", confidence: 0.78, type: \"present\" },\n      // eles\n      // Preterite\n      { ending: \"i\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // eu\n      { ending: \"este\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // tu\n      { ending: \"eu\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // ele\n      { ending: \"emos\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // nós\n      { ending: \"estes\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // vós\n      { ending: \"eram\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // eles\n      // Imperfect\n      { ending: \"ia\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // eu/ele\n      { ending: \"ias\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // tu\n      { ending: \"\\xEDamos\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // nós\n      { ending: \"iamos\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // nós (no accent)\n      { ending: \"\\xEDeis\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // vós\n      { ending: \"ieis\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // vós (no accent)\n      { ending: \"iam\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // eles\n      // Infinitive\n      { ending: \"er\", stem: \"er\", confidence: 0.92, type: \"dictionary\" }\n    ];\n    IR_ENDINGS2 = [\n      // Gerund (-indo)\n      { ending: \"indo\", stem: \"ir\", confidence: 0.88, type: \"gerund\" },\n      // Past participle (-ido)\n      { ending: \"ido\", stem: \"ir\", confidence: 0.85, type: \"participle\" },\n      { ending: \"ida\", stem: \"ir\", confidence: 0.85, type: \"participle\" },\n      { ending: \"idos\", stem: \"ir\", confidence: 0.85, type: \"participle\" },\n      { ending: \"idas\", stem: \"ir\", confidence: 0.85, type: \"participle\" },\n      // Present indicative\n      { ending: \"o\", stem: \"ir\", confidence: 0.72, type: \"present\" },\n      // eu\n      { ending: \"es\", stem: \"ir\", confidence: 0.78, type: \"present\" },\n      // tu\n      { ending: \"e\", stem: \"ir\", confidence: 0.72, type: \"present\" },\n      // ele\n      { ending: \"imos\", stem: \"ir\", confidence: 0.85, type: \"present\" },\n      // nós\n      { ending: \"is\", stem: \"ir\", confidence: 0.82, type: \"present\" },\n      // vós\n      { ending: \"em\", stem: \"ir\", confidence: 0.78, type: \"present\" },\n      // eles\n      // Preterite (same as -er)\n      { ending: \"i\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      // eu\n      { ending: \"iste\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      // tu\n      { ending: \"iu\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      // ele\n      { ending: \"imos\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      // nós\n      { ending: \"istes\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      // vós\n      { ending: \"iram\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      // eles\n      // Imperfect (same as -er)\n      { ending: \"ia\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      { ending: \"ias\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      { ending: \"\\xEDamos\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      { ending: \"iamos\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      { ending: \"\\xEDeis\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      { ending: \"ieis\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      { ending: \"iam\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      // Infinitive\n      { ending: \"ir\", stem: \"ir\", confidence: 0.92, type: \"dictionary\" }\n    ];\n    ALL_ENDINGS2 = [...AR_ENDINGS2, ...ER_ENDINGS2, ...IR_ENDINGS2].sort(\n      (a, b) => b.ending.length - a.ending.length\n    );\n    PortugueseMorphologicalNormalizer = class {\n      constructor() {\n        this.language = \"pt\";\n      }\n      /**\n       * Check if a word might be a Portuguese verb that can be normalized.\n       */\n      isNormalizable(word) {\n        if (word.length < 3) return false;\n        return looksLikePortugueseVerb(word);\n      }\n      /**\n       * Normalize a Portuguese word to its infinitive form.\n       */\n      normalize(word) {\n        const lower = word.toLowerCase();\n        if (lower.endsWith(\"ar\") || lower.endsWith(\"er\") || lower.endsWith(\"ir\")) {\n          if (!REFLEXIVE_SUFFIXES.some((s) => lower.endsWith(s))) {\n            return noChange(word);\n          }\n        }\n        const reflexiveResult = this.tryReflexiveNormalization(lower);\n        if (reflexiveResult) return reflexiveResult;\n        const conjugationResult = this.tryConjugationNormalization(lower);\n        if (conjugationResult) return conjugationResult;\n        return noChange(word);\n      }\n      /**\n       * Try to normalize a reflexive verb.\n       * Portuguese reflexive verbs use hyphenated pronouns: mostrar-se, esconder-me\n       *\n       * Examples:\n       *   mostrar-se → mostrar\n       *   esconder-se → esconder\n       *   exibir-se → exibir\n       */\n      tryReflexiveNormalization(word) {\n        for (const suffix of REFLEXIVE_SUFFIXES) {\n          if (word.endsWith(suffix)) {\n            const withoutReflexive = word.slice(0, -suffix.length);\n            if (withoutReflexive.endsWith(\"ar\") || withoutReflexive.endsWith(\"er\") || withoutReflexive.endsWith(\"ir\")) {\n              return normalized(withoutReflexive, 0.88, {\n                removedSuffixes: [suffix],\n                conjugationType: \"reflexive\"\n              });\n            }\n            const innerResult = this.tryConjugationNormalization(withoutReflexive);\n            if (innerResult && innerResult.stem !== withoutReflexive) {\n              return normalized(innerResult.stem, innerResult.confidence * 0.95, {\n                removedSuffixes: [suffix, ...innerResult.metadata?.removedSuffixes || []],\n                conjugationType: \"reflexive\"\n              });\n            }\n          }\n        }\n        return null;\n      }\n      /**\n       * Try to normalize a conjugated verb to its infinitive.\n       */\n      tryConjugationNormalization(word) {\n        for (const rule of ALL_ENDINGS2) {\n          if (word.endsWith(rule.ending)) {\n            const stemBase = word.slice(0, -rule.ending.length);\n            if (stemBase.length < 2) continue;\n            const infinitive = stemBase + rule.stem;\n            return normalized(infinitive, rule.confidence, {\n              removedSuffixes: [rule.ending],\n              conjugationType: rule.type\n            });\n          }\n        }\n        return null;\n      }\n    };\n    portugueseMorphologicalNormalizer = new PortugueseMorphologicalNormalizer();\n  }\n});\n\n// src/tokenizers/extractors/portuguese-keyword.ts\nfunction createLatinCharClassifiers4(pattern) {\n  const isLetter = (char) => pattern.test(char);\n  const isIdentifierChar = (char) => /[0-9]/.test(char) || pattern.test(char);\n  return { isLetter, isIdentifierChar };\n}\nfunction createPortugueseExtractors() {\n  return [new PortugueseKeywordExtractor()];\n}\nvar isPortugueseLetter, isPortugueseIdentifierChar, PREPOSITIONS11, PortugueseKeywordExtractor;\nvar init_portuguese_keyword = __esm({\n  \"src/tokenizers/extractors/portuguese-keyword.ts\"() {\n    \"use strict\";\n    ({ isLetter: isPortugueseLetter, isIdentifierChar: isPortugueseIdentifierChar } = createLatinCharClassifiers4(/[a-zA-ZáâãéêíóôõúçÁÂÃÉÊÍÓÔÕÚÇ]/));\n    PREPOSITIONS11 = /* @__PURE__ */ new Set([\n      \"em\",\n      \"a\",\n      \"de\",\n      \"para\",\n      \"com\",\n      \"sem\",\n      \"por\",\n      \"sobre\",\n      \"entre\",\n      \"antes\",\n      \"depois\",\n      \"dentro\",\n      \"fora\",\n      \"ao\",\n      \"do\",\n      \"da\",\n      \"no\",\n      \"na\"\n    ]);\n    PortugueseKeywordExtractor = class {\n      constructor() {\n        this.name = \"portuguese-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isPortugueseLetter(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"PortugueseKeywordExtractor: context not set\");\n        }\n        let pos2 = position;\n        let word = \"\";\n        while (pos2 < input.length && isPortugueseIdentifierChar(input[pos2])) {\n          word += input[pos2++];\n        }\n        if (!word) return null;\n        const lower = word.toLowerCase();\n        const isPreposition = PREPOSITIONS11.has(lower);\n        const keywordEntry = this.context.lookupKeyword(lower);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        let morphNormalized;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - position,\n          metadata: {\n            normalized: normalized2 || morphNormalized,\n            isPreposition\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/portuguese.ts\nvar portuguese_exports2 = {};\n__export(portuguese_exports2, {\n  PortugueseTokenizer: () => PortugueseTokenizer,\n  portugueseTokenizer: () => portugueseTokenizer\n});\nvar PREPOSITIONS12, PORTUGUESE_EXTRAS, PortugueseTokenizer, portugueseTokenizer;\nvar init_portuguese2 = __esm({\n  \"src/tokenizers/portuguese.ts\"() {\n    \"use strict\";\n    init_base();\n    init_portuguese();\n    init_portuguese_normalizer();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_portuguese_keyword();\n    PREPOSITIONS12 = /* @__PURE__ */ new Set([\n      \"em\",\n      // in, on\n      \"a\",\n      // to\n      \"de\",\n      // of, from\n      \"desde\",\n      // from, since\n      \"at\\xE9\",\n      // until, to\n      \"ate\",\n      // until (no accent)\n      \"com\",\n      // with\n      \"sem\",\n      // without\n      \"por\",\n      // by, for\n      \"para\",\n      // for, to\n      \"sobre\",\n      // on, about\n      \"entre\",\n      // between\n      \"antes\",\n      // before\n      \"depois\",\n      // after\n      \"dentro\",\n      // inside\n      \"fora\",\n      // outside\n      \"ao\",\n      // a + o (contraction)\n      \"do\",\n      // de + o (contraction)\n      \"no\",\n      // em + o (contraction)\n      \"na\"\n      // em + a (contraction)\n    ]);\n    PORTUGUESE_EXTRAS = [\n      // Values/Literals\n      { native: \"verdadeiro\", normalized: \"true\" },\n      { native: \"falso\", normalized: \"false\" },\n      { native: \"nulo\", normalized: \"null\" },\n      { native: \"indefinido\", normalized: \"undefined\" },\n      // Positional\n      { native: \"primeiro\", normalized: \"first\" },\n      { native: \"primeira\", normalized: \"first\" },\n      { native: \"\\xFAltimo\", normalized: \"last\" },\n      { native: \"ultima\", normalized: \"last\" },\n      { native: \"pr\\xF3ximo\", normalized: \"next\" },\n      { native: \"proximo\", normalized: \"next\" },\n      { native: \"anterior\", normalized: \"previous\" },\n      // Single token only — the tokenizer never matches multi-word natives, so the\n      // old 'mais próximo' entries were dead. Fused form matches the i18n dict\n      // ('próximo' alone is claimed by next).\n      { native: \"maispr\\xF3ximo\", normalized: \"closest\" },\n      { native: \"maisproximo\", normalized: \"closest\" },\n      { native: \"pai\", normalized: \"parent\" },\n      // Events\n      { native: \"clique\", normalized: \"click\" },\n      { native: \"click\", normalized: \"click\" },\n      { native: \"entrada\", normalized: \"input\" },\n      { native: \"mudan\\xE7a\", normalized: \"change\" },\n      { native: \"mudanca\", normalized: \"change\" },\n      { native: \"envio\", normalized: \"submit\" },\n      { native: \"tecla baixo\", normalized: \"keydown\" },\n      { native: \"tecla cima\", normalized: \"keyup\" },\n      { native: \"mouse sobre\", normalized: \"mouseover\" },\n      { native: \"mouse fora\", normalized: \"mouseout\" },\n      { native: \"foco\", normalized: \"focus\" },\n      { native: \"desfoque\", normalized: \"blur\" },\n      { native: \"carregar\", normalized: \"load\" },\n      { native: \"rolagem\", normalized: \"scroll\" },\n      // Additional references\n      { native: \"meu\", normalized: \"my\" },\n      { native: \"minha\", normalized: \"my\" },\n      { native: \"isso\", normalized: \"it\" },\n      // Time units\n      { native: \"segundo\", normalized: \"s\" },\n      { native: \"segundos\", normalized: \"s\" },\n      { native: \"milissegundo\", normalized: \"ms\" },\n      { native: \"milissegundos\", normalized: \"ms\" },\n      { native: \"minuto\", normalized: \"m\" },\n      { native: \"minutos\", normalized: \"m\" },\n      { native: \"hora\", normalized: \"h\" },\n      { native: \"horas\", normalized: \"h\" },\n      // Accent-free variants (for user convenience)\n      { native: \"senao\", normalized: \"else\" },\n      { native: \"transicao\", normalized: \"transition\" },\n      { native: \"ate\", normalized: \"until\" },\n      { native: \"entao\", normalized: \"then\" },\n      { native: \"lancar\", normalized: \"throw\" },\n      { native: \"assincrono\", normalized: \"async\" },\n      { native: \"padrao\", normalized: \"default\" },\n      { native: \"at\\xE9 que\", normalized: \"until\" },\n      // Multi-word phrases\n      { native: \"dentro de\", normalized: \"into\" }\n    ];\n    PortugueseTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"pt\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(portugueseProfile, PORTUGUESE_EXTRAS);\n        this.setNormalizer(new PortugueseMorphologicalNormalizer());\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractors(createPortugueseExtractors());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      classifyToken(token) {\n        const lower = token.toLowerCase();\n        if (PREPOSITIONS12.has(lower)) return \"particle\";\n        if (this.isKeyword(lower)) return \"keyword\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"http\")) return \"url\";\n        return \"identifier\";\n      }\n    };\n    portugueseTokenizer = new PortugueseTokenizer();\n  }\n});\n\n// src/tokenizers/morphology/french-normalizer.ts\nfunction looksLikeFrenchVerb(word) {\n  const lower = word.toLowerCase();\n  if (lower.endsWith(\"er\") || lower.endsWith(\"ir\") || lower.endsWith(\"re\")) return true;\n  if (lower.endsWith(\"ant\")) return true;\n  if (lower.endsWith(\"\\xE9\") || lower.endsWith(\"i\") || lower.endsWith(\"u\")) return true;\n  if (/[àâäéèêëïîôùûüÿçœæ]/i.test(word)) return true;\n  return false;\n}\nvar REFLEXIVE_SUFFIXES2, ER_ENDINGS3, IR_ENDINGS3, RE_ENDINGS, ALL_ENDINGS3, FrenchMorphologicalNormalizer, frenchMorphologicalNormalizer;\nvar init_french_normalizer = __esm({\n  \"src/tokenizers/morphology/french-normalizer.ts\"() {\n    \"use strict\";\n    init_types();\n    REFLEXIVE_SUFFIXES2 = [\"toi\", \"vous\", \"nous\"];\n    ER_ENDINGS3 = [\n      // Present participle\n      { ending: \"ant\", stem: \"er\", confidence: 0.88, type: \"gerund\" },\n      // Past participle\n      { ending: \"\\xE9\", stem: \"er\", confidence: 0.88, type: \"participle\" },\n      { ending: \"\\xE9e\", stem: \"er\", confidence: 0.88, type: \"participle\" },\n      { ending: \"\\xE9s\", stem: \"er\", confidence: 0.88, type: \"participle\" },\n      { ending: \"\\xE9es\", stem: \"er\", confidence: 0.88, type: \"participle\" },\n      // Present indicative\n      { ending: \"e\", stem: \"er\", confidence: 0.75, type: \"present\" },\n      // je/il/elle\n      { ending: \"es\", stem: \"er\", confidence: 0.78, type: \"present\" },\n      // tu\n      { ending: \"ons\", stem: \"er\", confidence: 0.85, type: \"present\" },\n      // nous\n      { ending: \"ez\", stem: \"er\", confidence: 0.85, type: \"present\" },\n      // vous\n      { ending: \"ent\", stem: \"er\", confidence: 0.82, type: \"present\" },\n      // ils/elles\n      // Imperfect\n      { ending: \"ais\", stem: \"er\", confidence: 0.82, type: \"past\" },\n      // je/tu\n      { ending: \"ait\", stem: \"er\", confidence: 0.82, type: \"past\" },\n      // il/elle\n      { ending: \"ions\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // nous\n      { ending: \"iez\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // vous\n      { ending: \"aient\", stem: \"er\", confidence: 0.85, type: \"past\" },\n      // ils/elles\n      // Simple past (passé simple)\n      { ending: \"ai\", stem: \"er\", confidence: 0.8, type: \"past\" },\n      // je\n      { ending: \"as\", stem: \"er\", confidence: 0.78, type: \"past\" },\n      // tu\n      { ending: \"a\", stem: \"er\", confidence: 0.75, type: \"past\" },\n      // il/elle\n      { ending: \"\\xE2mes\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // nous\n      { ending: \"\\xE2tes\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // vous\n      { ending: \"\\xE8rent\", stem: \"er\", confidence: 0.88, type: \"past\" },\n      // ils/elles\n      // Future\n      { ending: \"erai\", stem: \"er\", confidence: 0.85, type: \"future\" },\n      // je\n      { ending: \"eras\", stem: \"er\", confidence: 0.85, type: \"future\" },\n      // tu\n      { ending: \"era\", stem: \"er\", confidence: 0.82, type: \"future\" },\n      // il/elle\n      { ending: \"erons\", stem: \"er\", confidence: 0.88, type: \"future\" },\n      // nous\n      { ending: \"erez\", stem: \"er\", confidence: 0.88, type: \"future\" },\n      // vous\n      { ending: \"eront\", stem: \"er\", confidence: 0.88, type: \"future\" },\n      // ils/elles\n      // Conditional\n      { ending: \"erais\", stem: \"er\", confidence: 0.85, type: \"conditional\" },\n      // je/tu\n      { ending: \"erait\", stem: \"er\", confidence: 0.85, type: \"conditional\" },\n      // il/elle\n      { ending: \"erions\", stem: \"er\", confidence: 0.88, type: \"conditional\" },\n      // nous\n      { ending: \"eriez\", stem: \"er\", confidence: 0.88, type: \"conditional\" },\n      // vous\n      { ending: \"eraient\", stem: \"er\", confidence: 0.88, type: \"conditional\" },\n      // ils/elles\n      // Subjunctive\n      { ending: \"ions\", stem: \"er\", confidence: 0.8, type: \"subjunctive\" },\n      // nous\n      { ending: \"iez\", stem: \"er\", confidence: 0.8, type: \"subjunctive\" },\n      // vous\n      // Imperative\n      { ending: \"ons\", stem: \"er\", confidence: 0.82, type: \"imperative\" },\n      // nous\n      { ending: \"ez\", stem: \"er\", confidence: 0.82, type: \"imperative\" },\n      // vous\n      // Infinitive\n      { ending: \"er\", stem: \"er\", confidence: 0.92, type: \"dictionary\" }\n    ];\n    IR_ENDINGS3 = [\n      // Present participle\n      { ending: \"issant\", stem: \"ir\", confidence: 0.88, type: \"gerund\" },\n      // Past participle\n      { ending: \"i\", stem: \"ir\", confidence: 0.8, type: \"participle\" },\n      { ending: \"ie\", stem: \"ir\", confidence: 0.82, type: \"participle\" },\n      { ending: \"is\", stem: \"ir\", confidence: 0.78, type: \"participle\" },\n      { ending: \"ies\", stem: \"ir\", confidence: 0.82, type: \"participle\" },\n      // Present indicative with -iss-\n      { ending: \"is\", stem: \"ir\", confidence: 0.78, type: \"present\" },\n      // je/tu\n      { ending: \"it\", stem: \"ir\", confidence: 0.78, type: \"present\" },\n      // il/elle\n      { ending: \"issons\", stem: \"ir\", confidence: 0.88, type: \"present\" },\n      // nous\n      { ending: \"issez\", stem: \"ir\", confidence: 0.88, type: \"present\" },\n      // vous\n      { ending: \"issent\", stem: \"ir\", confidence: 0.88, type: \"present\" },\n      // ils/elles\n      // Imperfect\n      { ending: \"issais\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      // je/tu\n      { ending: \"issait\", stem: \"ir\", confidence: 0.85, type: \"past\" },\n      // il/elle\n      { ending: \"issions\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      // nous\n      { ending: \"issiez\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      // vous\n      { ending: \"issaient\", stem: \"ir\", confidence: 0.88, type: \"past\" },\n      // ils/elles\n      // Future\n      { ending: \"irai\", stem: \"ir\", confidence: 0.85, type: \"future\" },\n      // je\n      { ending: \"iras\", stem: \"ir\", confidence: 0.85, type: \"future\" },\n      // tu\n      { ending: \"ira\", stem: \"ir\", confidence: 0.82, type: \"future\" },\n      // il/elle\n      { ending: \"irons\", stem: \"ir\", confidence: 0.88, type: \"future\" },\n      // nous\n      { ending: \"irez\", stem: \"ir\", confidence: 0.88, type: \"future\" },\n      // vous\n      { ending: \"iront\", stem: \"ir\", confidence: 0.88, type: \"future\" },\n      // ils/elles\n      // Infinitive\n      { ending: \"ir\", stem: \"ir\", confidence: 0.9, type: \"dictionary\" }\n    ];\n    RE_ENDINGS = [\n      // Present participle\n      { ending: \"ant\", stem: \"re\", confidence: 0.82, type: \"gerund\" },\n      // Past participle (common patterns)\n      { ending: \"u\", stem: \"re\", confidence: 0.8, type: \"participle\" },\n      { ending: \"ue\", stem: \"re\", confidence: 0.82, type: \"participle\" },\n      { ending: \"us\", stem: \"re\", confidence: 0.82, type: \"participle\" },\n      { ending: \"ues\", stem: \"re\", confidence: 0.82, type: \"participle\" },\n      // Present indicative\n      { ending: \"s\", stem: \"re\", confidence: 0.72, type: \"present\" },\n      // je/tu\n      { ending: \"d\", stem: \"re\", confidence: 0.75, type: \"present\" },\n      // il/elle (prend, vend)\n      { ending: \"ons\", stem: \"re\", confidence: 0.82, type: \"present\" },\n      // nous\n      { ending: \"ez\", stem: \"re\", confidence: 0.82, type: \"present\" },\n      // vous\n      { ending: \"ent\", stem: \"re\", confidence: 0.8, type: \"present\" },\n      // ils/elles\n      // Infinitive\n      { ending: \"re\", stem: \"re\", confidence: 0.9, type: \"dictionary\" }\n    ];\n    ALL_ENDINGS3 = [...ER_ENDINGS3, ...IR_ENDINGS3, ...RE_ENDINGS].sort(\n      (a, b) => b.ending.length - a.ending.length\n    );\n    FrenchMorphologicalNormalizer = class {\n      constructor() {\n        this.language = \"fr\";\n      }\n      /**\n       * Check if a word might be a French verb that can be normalized.\n       */\n      isNormalizable(word) {\n        if (word.length < 3) return false;\n        return looksLikeFrenchVerb(word);\n      }\n      /**\n       * Normalize a French word to its infinitive form.\n       */\n      normalize(word) {\n        const lower = word.toLowerCase();\n        if (lower.endsWith(\"er\") || lower.endsWith(\"ir\") || lower.endsWith(\"re\")) {\n          if (lower.length >= 4) {\n            return noChange(word);\n          }\n        }\n        const reflexiveResult = this.tryReflexiveNormalization(lower);\n        if (reflexiveResult) return reflexiveResult;\n        const conjugationResult = this.tryConjugationNormalization(lower);\n        if (conjugationResult) return conjugationResult;\n        return noChange(word);\n      }\n      /**\n       * Try to normalize a reflexive verb (imperative forms with attached pronouns).\n       * Examples: montrez-vous → montrer, lève-toi → lever\n       */\n      tryReflexiveNormalization(word) {\n        for (const suffix of REFLEXIVE_SUFFIXES2) {\n          const hyphenatedSuffix = \"-\" + suffix;\n          if (word.endsWith(hyphenatedSuffix)) {\n            const withoutReflexive = word.slice(0, -hyphenatedSuffix.length);\n            const innerResult = this.tryConjugationNormalization(withoutReflexive);\n            if (innerResult && innerResult.stem !== withoutReflexive) {\n              return normalized(innerResult.stem, innerResult.confidence * 0.95, {\n                removedSuffixes: [hyphenatedSuffix, ...innerResult.metadata?.removedSuffixes || []],\n                conjugationType: \"reflexive\"\n              });\n            }\n          }\n        }\n        return null;\n      }\n      /**\n       * Try to normalize a conjugated verb to its infinitive.\n       */\n      tryConjugationNormalization(word) {\n        for (const rule of ALL_ENDINGS3) {\n          if (word.endsWith(rule.ending)) {\n            const stemBase = word.slice(0, -rule.ending.length);\n            if (stemBase.length < 2) continue;\n            const infinitive = stemBase + rule.stem;\n            return normalized(infinitive, rule.confidence, {\n              removedSuffixes: [rule.ending],\n              conjugationType: rule.type\n            });\n          }\n        }\n        return null;\n      }\n    };\n    frenchMorphologicalNormalizer = new FrenchMorphologicalNormalizer();\n  }\n});\n\n// src/tokenizers/extractors/french-keyword.ts\nfunction createLatinCharClassifiers5(pattern) {\n  const isLetter = (char) => pattern.test(char);\n  const isIdentifierChar = (char) => /[0-9]/.test(char) || pattern.test(char);\n  return { isLetter, isIdentifierChar };\n}\nfunction createFrenchExtractors() {\n  return [new FrenchKeywordExtractor()];\n}\nvar isFrenchLetter, isFrenchIdentifierChar, PREPOSITIONS13, FrenchKeywordExtractor;\nvar init_french_keyword = __esm({\n  \"src/tokenizers/extractors/french-keyword.ts\"() {\n    \"use strict\";\n    ({ isLetter: isFrenchLetter, isIdentifierChar: isFrenchIdentifierChar } = createLatinCharClassifiers5(/[a-zA-ZàâæçéèêëïîôùûüÿœÀÂÆÇÉÈÊËÏÎÔÙÛÜŸŒ]/));\n    PREPOSITIONS13 = /* @__PURE__ */ new Set([\n      \"\\xE0\",\n      // to, at\n      \"a\",\n      // to, at (no accent)\n      \"de\",\n      // of, from\n      \"du\",\n      // de + le\n      \"des\",\n      // de + les\n      \"dans\",\n      // in\n      \"sur\",\n      // on\n      \"sous\",\n      // under\n      \"avec\",\n      // with\n      \"sans\",\n      // without\n      \"par\",\n      // by\n      \"pour\",\n      // for\n      \"entre\",\n      // between\n      \"avant\",\n      // before\n      \"apr\\xE8s\",\n      // after\n      \"apres\",\n      // after (no accent)\n      \"depuis\",\n      // since, from\n      \"vers\",\n      // towards\n      \"chez\",\n      // at (someone's place)\n      \"contre\",\n      // against\n      \"au\",\n      // à + le\n      \"aux\"\n      // à + les\n    ]);\n    FrenchKeywordExtractor = class {\n      constructor() {\n        this.name = \"french-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isFrenchLetter(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"FrenchKeywordExtractor: context not set\");\n        }\n        let pos2 = position;\n        let word = \"\";\n        while (pos2 < input.length && isFrenchIdentifierChar(input[pos2])) {\n          word += input[pos2++];\n        }\n        if (!word) return null;\n        const lower = word.toLowerCase();\n        const isPreposition = PREPOSITIONS13.has(lower);\n        const keywordEntry = this.context.lookupKeyword(lower);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        let morphNormalized;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - position,\n          metadata: {\n            normalized: normalized2 || morphNormalized,\n            isPreposition\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/french.ts\nvar french_exports2 = {};\n__export(french_exports2, {\n  FrenchTokenizer: () => FrenchTokenizer,\n  frenchTokenizer: () => frenchTokenizer\n});\nvar FRENCH_EXTRAS, FrenchTokenizer, frenchTokenizer;\nvar init_french2 = __esm({\n  \"src/tokenizers/french.ts\"() {\n    \"use strict\";\n    init_base();\n    init_french();\n    init_french_normalizer();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_french_keyword();\n    FRENCH_EXTRAS = [\n      // Values/Literals\n      { native: \"vrai\", normalized: \"true\" },\n      { native: \"faux\", normalized: \"false\" },\n      { native: \"nul\", normalized: \"null\" },\n      { native: \"ind\\xE9fini\", normalized: \"undefined\" },\n      { native: \"indefini\", normalized: \"undefined\" },\n      // Positional\n      { native: \"premier\", normalized: \"first\" },\n      { native: \"premi\\xE8re\", normalized: \"first\" },\n      { native: \"premiere\", normalized: \"first\" },\n      { native: \"dernier\", normalized: \"last\" },\n      { native: \"derni\\xE8re\", normalized: \"last\" },\n      { native: \"derniere\", normalized: \"last\" },\n      { native: \"suivant\", normalized: \"next\" },\n      { native: \"pr\\xE9c\\xE9dent\", normalized: \"previous\" },\n      { native: \"precedent\", normalized: \"previous\" },\n      // Single token only — the tokenizer never matches multi-word natives, so the\n      // old 'plus proche' entry was dead. The i18n dict emits 'proche'.\n      { native: \"proche\", normalized: \"closest\" },\n      { native: \"parent\", normalized: \"parent\" },\n      // Events\n      { native: \"clic\", normalized: \"click\" },\n      { native: \"click\", normalized: \"click\" },\n      { native: \"entr\\xE9e\", normalized: \"input\" },\n      { native: \"entree\", normalized: \"input\" },\n      { native: \"changement\", normalized: \"change\" },\n      { native: \"soumission\", normalized: \"submit\" },\n      { native: \"touche bas\", normalized: \"keydown\" },\n      { native: \"touche haut\", normalized: \"keyup\" },\n      { native: \"souris dessus\", normalized: \"mouseover\" },\n      { native: \"souris dehors\", normalized: \"mouseout\" },\n      { native: \"focus\", normalized: \"focus\" },\n      { native: \"flou\", normalized: \"blur\" },\n      { native: \"chargement\", normalized: \"load\" },\n      { native: \"d\\xE9filement\", normalized: \"scroll\" },\n      { native: \"defilement\", normalized: \"scroll\" },\n      // Additional references\n      { native: \"je\", normalized: \"me\" },\n      { native: \"mon\", normalized: \"my\" },\n      { native: \"ma\", normalized: \"my\" },\n      { native: \"mes\", normalized: \"my\" },\n      { native: \"\\xE7a\", normalized: \"it\" },\n      { native: \"ca\", normalized: \"it\" },\n      { native: \"resultat\", normalized: \"result\" },\n      { native: \"evenement\", normalized: \"event\" },\n      // Time units\n      { native: \"seconde\", normalized: \"s\" },\n      { native: \"secondes\", normalized: \"s\" },\n      { native: \"milliseconde\", normalized: \"ms\" },\n      { native: \"millisecondes\", normalized: \"ms\" },\n      { native: \"minute\", normalized: \"m\" },\n      { native: \"minutes\", normalized: \"m\" },\n      { native: \"heure\", normalized: \"h\" },\n      { native: \"heures\", normalized: \"h\" },\n      // Accent-free variants (for user convenience)\n      { native: \"prefixer\", normalized: \"prepend\" },\n      { native: \"creer\", normalized: \"make\" },\n      { native: \"definir\", normalized: \"set\" },\n      { native: \"etablir\", normalized: \"set\" },\n      { native: \"incrementer\", normalized: \"increment\" },\n      { native: \"decrementer\", normalized: \"decrement\" },\n      { native: \"declencher\", normalized: \"trigger\" },\n      { native: \"defocaliser\", normalized: \"blur\" },\n      { native: \"recuperer\", normalized: \"fetch\" },\n      { native: \"repeter\", normalized: \"repeat\" },\n      { native: \"arreter\", normalized: \"halt\" },\n      { native: \"defaut\", normalized: \"default\" },\n      { native: \"jusqua\", normalized: \"until\" },\n      { native: \"apres\", normalized: \"after\" },\n      // Additional log synonyms\n      { native: \"journaliser\", normalized: \"log\" },\n      // Additional morph synonym\n      { native: \"transmuter\", normalized: \"morph\" },\n      // Multi-word phrases\n      { native: \"tant que\", normalized: \"while\" }\n    ];\n    FrenchTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"fr\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(frenchProfile, FRENCH_EXTRAS);\n        this.normalizer = new FrenchMorphologicalNormalizer();\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractors(createFrenchExtractors());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(token) {\n        if (this.isKeyword(token)) return \"keyword\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        if ([\"==\", \"!=\", \"<=\", \">=\", \"<\", \">\", \"&&\", \"||\", \"!\"].includes(token)) return \"operator\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"http\")) return \"url\";\n        return \"identifier\";\n      }\n      // extractWord() and extractNumber() methods removed\n      // Now handled by FrenchKeywordExtractor (context-aware) and NumberExtractor\n    };\n    frenchTokenizer = new FrenchTokenizer();\n  }\n});\n\n// src/tokenizers/morphology/german-normalizer.ts\nfunction looksLikeGermanVerb(word) {\n  const lower = word.toLowerCase();\n  if (lower.endsWith(\"en\") || lower.endsWith(\"eln\") || lower.endsWith(\"ern\")) return true;\n  if (lower.startsWith(\"ge\") && lower.endsWith(\"t\")) return true;\n  if (lower.startsWith(\"ge\") && lower.endsWith(\"en\")) return true;\n  if (/[äöüß]/i.test(word)) return true;\n  return false;\n}\nvar SEPARABLE_PREFIXES, VERB_ENDINGS, ELN_ERN_ENDINGS, ALL_ENDINGS4, GermanMorphologicalNormalizer, germanMorphologicalNormalizer;\nvar init_german_normalizer = __esm({\n  \"src/tokenizers/morphology/german-normalizer.ts\"() {\n    \"use strict\";\n    init_types();\n    SEPARABLE_PREFIXES = [\n      \"an\",\n      \"auf\",\n      \"aus\",\n      \"ein\",\n      \"mit\",\n      \"vor\",\n      \"zu\",\n      \"ab\",\n      \"bei\",\n      \"nach\",\n      \"weg\",\n      \"um\",\n      \"her\",\n      \"hin\"\n    ];\n    VERB_ENDINGS = [\n      // Present participle\n      { ending: \"end\", stem: \"en\", confidence: 0.88, type: \"gerund\" },\n      // Present indicative (regular weak verbs)\n      { ending: \"e\", stem: \"en\", confidence: 0.75, type: \"present\" },\n      // ich\n      { ending: \"st\", stem: \"en\", confidence: 0.8, type: \"present\" },\n      // du\n      { ending: \"t\", stem: \"en\", confidence: 0.78, type: \"present\" },\n      // er/sie/es, ihr\n      { ending: \"en\", stem: \"en\", confidence: 0.85, type: \"dictionary\" },\n      // wir/sie/Sie, infinitive\n      // Past tense (weak verbs: -te, -test, -te, -ten, -tet, -ten)\n      { ending: \"test\", stem: \"en\", confidence: 0.85, type: \"past\" },\n      // du\n      { ending: \"ten\", stem: \"en\", confidence: 0.82, type: \"past\" },\n      // wir/sie/Sie\n      { ending: \"tet\", stem: \"en\", confidence: 0.85, type: \"past\" },\n      // ihr\n      { ending: \"te\", stem: \"en\", confidence: 0.82, type: \"past\" },\n      // ich/er/sie/es\n      // Subjunctive II (weak verbs)\n      { ending: \"test\", stem: \"en\", confidence: 0.8, type: \"subjunctive\" },\n      { ending: \"ten\", stem: \"en\", confidence: 0.78, type: \"subjunctive\" },\n      { ending: \"tet\", stem: \"en\", confidence: 0.8, type: \"subjunctive\" },\n      { ending: \"te\", stem: \"en\", confidence: 0.78, type: \"subjunctive\" },\n      // Imperative\n      { ending: \"e\", stem: \"en\", confidence: 0.72, type: \"imperative\" },\n      // du (informal singular)\n      { ending: \"t\", stem: \"en\", confidence: 0.72, type: \"imperative\" },\n      // ihr (informal plural)\n      { ending: \"en\", stem: \"en\", confidence: 0.75, type: \"imperative\" }\n      // Sie (formal)\n    ];\n    ELN_ERN_ENDINGS = [\n      // Present\n      { ending: \"le\", stem: \"eln\", confidence: 0.82, type: \"present\" },\n      // ich sammle\n      { ending: \"elst\", stem: \"eln\", confidence: 0.85, type: \"present\" },\n      // du sammelst\n      { ending: \"elt\", stem: \"eln\", confidence: 0.85, type: \"present\" },\n      // er/sie/es sammelt\n      { ending: \"eln\", stem: \"eln\", confidence: 0.88, type: \"dictionary\" },\n      // infinitive\n      { ending: \"re\", stem: \"ern\", confidence: 0.82, type: \"present\" },\n      // ich wandre\n      { ending: \"erst\", stem: \"ern\", confidence: 0.85, type: \"present\" },\n      // du wanderst\n      { ending: \"ert\", stem: \"ern\", confidence: 0.85, type: \"present\" },\n      // er/sie/es wandert\n      { ending: \"ern\", stem: \"ern\", confidence: 0.88, type: \"dictionary\" }\n      // infinitive\n    ];\n    ALL_ENDINGS4 = [...VERB_ENDINGS, ...ELN_ERN_ENDINGS].sort(\n      (a, b) => b.ending.length - a.ending.length\n    );\n    GermanMorphologicalNormalizer = class {\n      constructor() {\n        this.language = \"de\";\n      }\n      /**\n       * Check if a word might be a German verb that can be normalized.\n       */\n      isNormalizable(word) {\n        if (word.length < 3) return false;\n        return looksLikeGermanVerb(word);\n      }\n      /**\n       * Normalize a German word to its infinitive form.\n       */\n      normalize(word) {\n        const lower = word.toLowerCase();\n        if (lower.endsWith(\"en\") && lower.length >= 4) {\n          return noChange(word);\n        }\n        if ((lower.endsWith(\"eln\") || lower.endsWith(\"ern\")) && lower.length >= 5) {\n          return noChange(word);\n        }\n        const participleResult = this.tryParticipleNormalization(lower);\n        if (participleResult) return participleResult;\n        const conjugationResult = this.tryConjugationNormalization(lower);\n        if (conjugationResult) return conjugationResult;\n        return noChange(word);\n      }\n      /**\n       * Try to normalize a past participle.\n       * German past participles often have ge- prefix and -t or -en suffix.\n       *\n       * Examples:\n       *   gemacht → machen (weak verb)\n       *   gegangen → gehen (strong verb)\n       *   angemacht → anmachen (separable prefix)\n       */\n      tryParticipleNormalization(word) {\n        for (const prefix of SEPARABLE_PREFIXES) {\n          if (word.startsWith(prefix + \"ge\")) {\n            const afterPrefix = word.slice(prefix.length);\n            const innerResult = this.trySimpleParticipleNormalization(afterPrefix);\n            if (innerResult) {\n              const metadata = {\n                removedPrefixes: [\"ge\"],\n                conjugationType: \"participle\"\n              };\n              if (innerResult.metadata?.removedSuffixes) {\n                metadata.removedSuffixes = innerResult.metadata.removedSuffixes;\n              }\n              return normalized(prefix + innerResult.stem, innerResult.confidence * 0.95, metadata);\n            }\n          }\n        }\n        return this.trySimpleParticipleNormalization(word);\n      }\n      /**\n       * Try to normalize a simple ge-...-t or ge-...-en participle.\n       */\n      trySimpleParticipleNormalization(word) {\n        if (!word.startsWith(\"ge\")) return null;\n        const withoutGe = word.slice(2);\n        if (withoutGe.endsWith(\"t\") && withoutGe.length >= 3) {\n          const stem = withoutGe.slice(0, -1);\n          return normalized(stem + \"en\", 0.85, {\n            removedPrefixes: [\"ge\"],\n            removedSuffixes: [\"t\"],\n            conjugationType: \"participle\"\n          });\n        }\n        if (withoutGe.endsWith(\"en\") && withoutGe.length >= 4) {\n          return normalized(withoutGe, 0.82, {\n            removedPrefixes: [\"ge\"],\n            conjugationType: \"participle\"\n          });\n        }\n        return null;\n      }\n      /**\n       * Try to normalize a conjugated verb to its infinitive.\n       */\n      tryConjugationNormalization(word) {\n        for (const rule of ALL_ENDINGS4) {\n          if (word.endsWith(rule.ending)) {\n            const stemBase = word.slice(0, -rule.ending.length);\n            if (stemBase.length < 2) continue;\n            const infinitive = stemBase + rule.stem;\n            return normalized(infinitive, rule.confidence, {\n              removedSuffixes: [rule.ending],\n              conjugationType: rule.type\n            });\n          }\n        }\n        return null;\n      }\n    };\n    germanMorphologicalNormalizer = new GermanMorphologicalNormalizer();\n  }\n});\n\n// src/tokenizers/extractors/german-keyword.ts\nfunction createLatinCharClassifiers6(pattern) {\n  const isLetter = (char) => pattern.test(char);\n  const isIdentifierChar = (char) => /[0-9]/.test(char) || pattern.test(char);\n  return { isLetter, isIdentifierChar };\n}\nfunction createGermanExtractors() {\n  return [new GermanKeywordExtractor()];\n}\nvar isGermanLetter, isGermanIdentifierChar, PREPOSITIONS14, GermanKeywordExtractor;\nvar init_german_keyword = __esm({\n  \"src/tokenizers/extractors/german-keyword.ts\"() {\n    \"use strict\";\n    ({ isLetter: isGermanLetter, isIdentifierChar: isGermanIdentifierChar } = createLatinCharClassifiers6(/[a-zA-ZäöüÄÖÜß]/));\n    PREPOSITIONS14 = /* @__PURE__ */ new Set([\n      \"an\",\n      // at, on\n      \"auf\",\n      // on\n      \"aus\",\n      // from, out of\n      \"bei\",\n      // at, near\n      \"durch\",\n      // through\n      \"f\\xFCr\",\n      // for\n      \"fur\",\n      // for (no umlaut)\n      \"gegen\",\n      // against\n      \"in\",\n      // in\n      \"mit\",\n      // with\n      \"nach\",\n      // after, to\n      \"ohne\",\n      // without\n      \"seit\",\n      // since\n      \"\\xFCber\",\n      // over, about\n      \"uber\",\n      // over (no umlaut)\n      \"um\",\n      // around, at\n      \"unter\",\n      // under\n      \"von\",\n      // from, of\n      \"vor\",\n      // before, in front of\n      \"zu\",\n      // to\n      \"zwischen\",\n      // between\n      \"bis\",\n      // until\n      \"gegen\\xFCber\",\n      // opposite\n      \"gegenuber\",\n      // opposite (no umlaut)\n      \"w\\xE4hrend\",\n      // during\n      \"wahrend\",\n      // during (no umlaut)\n      \"wegen\",\n      // because of\n      \"trotz\",\n      // despite\n      \"statt\",\n      // instead of\n      \"innerhalb\",\n      // inside\n      \"au\\xDFerhalb\",\n      // outside\n      \"ausserhalb\"\n      // outside (no umlaut)\n    ]);\n    GermanKeywordExtractor = class {\n      constructor() {\n        this.name = \"german-keyword\";\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return isGermanLetter(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(\"GermanKeywordExtractor: context not set\");\n        }\n        return this.extractGermanWord(input, position);\n      }\n      /**\n       * Extract a German word with morphological normalization.\n       */\n      extractGermanWord(input, position) {\n        if (!this.context) return null;\n        let pos2 = position;\n        let word = \"\";\n        while (pos2 < input.length && isGermanIdentifierChar(input[pos2])) {\n          word += input[pos2++];\n        }\n        if (!word) return null;\n        const lower = word.toLowerCase();\n        const isPreposition = PREPOSITIONS14.has(lower);\n        const keywordEntry = this.context.lookupKeyword(word);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        let morphNormalized;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - position,\n          metadata: {\n            normalized: normalized2 || morphNormalized,\n            isPreposition\n          }\n        };\n      }\n    };\n  }\n});\n\n// src/tokenizers/german.ts\nvar german_exports2 = {};\n__export(german_exports2, {\n  GermanTokenizer: () => GermanTokenizer,\n  germanTokenizer: () => germanTokenizer\n});\nvar GERMAN_EXTRAS, GermanTokenizer, germanTokenizer;\nvar init_german2 = __esm({\n  \"src/tokenizers/german.ts\"() {\n    \"use strict\";\n    init_base();\n    init_german();\n    init_german_normalizer();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_german_keyword();\n    GERMAN_EXTRAS = [\n      // Values/Literals\n      { native: \"wahr\", normalized: \"true\" },\n      { native: \"falsch\", normalized: \"false\" },\n      { native: \"null\", normalized: \"null\" },\n      { native: \"undefiniert\", normalized: \"undefined\" },\n      // Positional\n      { native: \"erste\", normalized: \"first\" },\n      { native: \"erster\", normalized: \"first\" },\n      { native: \"erstes\", normalized: \"first\" },\n      { native: \"letzte\", normalized: \"last\" },\n      { native: \"letzter\", normalized: \"last\" },\n      { native: \"letztes\", normalized: \"last\" },\n      // 'nächste' means both \"next\" and \"closest\"; keyword-map insertion is last-wins,\n      // so a second 'closest' entry here would shadow 'next' and break positional\n      // expressions (`put X into next .y` — `next` is positional-capable, `closest`\n      // is not). The locative `in nächste <form/>` scope guard accepts 'next' too\n      // (POSITIONAL_OR_SCOPE_KEYWORDS), so normalizing to 'next' serves both readings.\n      { native: \"n\\xE4chste\", normalized: \"next\" },\n      { native: \"nachste\", normalized: \"next\" },\n      // The de dict emits the unambiguous `nächstgelegene` (\"nearest-located\") for\n      // `closest` (it used to also emit `nächste`, which the line above swallows as\n      // `next` — closest was unrecoverable, so closest .X resolved to the wrong\n      // element). Distinct word → no shadowing of `next`; closest now round-trips.\n      { native: \"n\\xE4chstgelegene\", normalized: \"closest\" },\n      { native: \"nachstgelegene\", normalized: \"closest\" },\n      { native: \"vorherige\", normalized: \"previous\" },\n      { native: \"eltern\", normalized: \"parent\" },\n      // Events\n      { native: \"klick\", normalized: \"click\" },\n      { native: \"click\", normalized: \"click\" },\n      { native: \"eingabe\", normalized: \"input\" },\n      { native: \"\\xE4nderung\", normalized: \"change\" },\n      { native: \"anderung\", normalized: \"change\" },\n      { native: \"absenden\", normalized: \"submit\" },\n      { native: \"taste unten\", normalized: \"keydown\" },\n      { native: \"taste oben\", normalized: \"keyup\" },\n      { native: \"maus dr\\xFCber\", normalized: \"mouseover\" },\n      { native: \"maus druber\", normalized: \"mouseover\" },\n      { native: \"maus weg\", normalized: \"mouseout\" },\n      { native: \"fokus\", normalized: \"focus\" },\n      { native: \"unsch\\xE4rfe\", normalized: \"blur\" },\n      { native: \"unscharfe\", normalized: \"blur\" },\n      { native: \"scrollen\", normalized: \"scroll\" },\n      // Additional references\n      { native: \"meine\", normalized: \"my\" },\n      { native: \"meinen\", normalized: \"my\" },\n      { native: \"ergebnis\", normalized: \"result\" },\n      { native: \"ziel\", normalized: \"target\" },\n      // Time units\n      { native: \"sekunde\", normalized: \"s\" },\n      { native: \"sekunden\", normalized: \"s\" },\n      { native: \"millisekunde\", normalized: \"ms\" },\n      { native: \"millisekunden\", normalized: \"ms\" },\n      { native: \"minute\", normalized: \"m\" },\n      { native: \"minuten\", normalized: \"m\" },\n      { native: \"stunde\", normalized: \"h\" },\n      { native: \"stunden\", normalized: \"h\" },\n      // Umlaut-free variants (for user convenience)\n      { native: \"hinzufugen\", normalized: \"add\" },\n      { native: \"hinzufgen\", normalized: \"add\" },\n      { native: \"loschen\", normalized: \"remove\" },\n      { native: \"anhangen\", normalized: \"append\" },\n      { native: \"erhohen\", normalized: \"increment\" },\n      { native: \"ubergang\", normalized: \"transition\" },\n      { native: \"auslosen\", normalized: \"trigger\" },\n      { native: \"zuruckgeben\", normalized: \"return\" },\n      { native: \"anschliessend\", normalized: \"then\" },\n      // Verb conjugation variants (imperatives for test cases)\n      { native: \"erh\\xF6he\", normalized: \"increment\" },\n      { native: \"erhohe\", normalized: \"increment\" },\n      { native: \"verringere\", normalized: \"decrement\" }\n    ];\n    GermanTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"de\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(germanProfile, GERMAN_EXTRAS);\n        this.normalizer = new GermanMorphologicalNormalizer();\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractors(createGermanExtractors());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(token) {\n        if (this.isKeyword(token)) return \"keyword\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"http\")) return \"url\";\n        return \"identifier\";\n      }\n      // extractWord() and extractNumber() methods removed\n      // Now handled by GermanKeywordExtractor and NumberExtractor (context-aware)\n    };\n    germanTokenizer = new GermanTokenizer();\n  }\n});\n\n// src/tokenizers/indonesian.ts\nvar indonesian_exports2 = {};\n__export(indonesian_exports2, {\n  IndonesianTokenizer: () => IndonesianTokenizer,\n  indonesianTokenizer: () => indonesianTokenizer\n});\nvar PREPOSITIONS15, INDONESIAN_EXTRAS, IndonesianTokenizer, indonesianTokenizer;\nvar init_indonesian2 = __esm({\n  \"src/tokenizers/indonesian.ts\"() {\n    \"use strict\";\n    init_base();\n    init_indonesian();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_indonesian_keyword();\n    PREPOSITIONS15 = /* @__PURE__ */ new Set([\n      \"di\",\n      // at, in\n      \"ke\",\n      // to\n      \"dari\",\n      // from\n      \"pada\",\n      // on, at\n      \"dengan\",\n      // with\n      \"tanpa\",\n      // without\n      \"untuk\",\n      // for\n      \"oleh\",\n      // by\n      \"antara\",\n      // between\n      \"sebelum\",\n      // before\n      \"sesudah\",\n      // after\n      \"setelah\",\n      // after\n      \"selama\",\n      // during\n      \"sampai\",\n      // until\n      \"hingga\",\n      // until\n      \"sejak\",\n      // since\n      \"menuju\",\n      // towards\n      \"tentang\",\n      // about\n      \"terhadap\",\n      // towards, against\n      \"melalui\",\n      // through\n      \"dalam\",\n      // inside\n      \"luar\"\n      // outside\n    ]);\n    INDONESIAN_EXTRAS = [\n      // Values/Literals\n      { native: \"benar\", normalized: \"true\" },\n      { native: \"salah\", normalized: \"false\" },\n      { native: \"null\", normalized: \"null\" },\n      { native: \"kosong\", normalized: \"null\" },\n      { native: \"tidakdidefinisikan\", normalized: \"undefined\" },\n      // Positional\n      { native: \"pertama\", normalized: \"first\" },\n      { native: \"terakhir\", normalized: \"last\" },\n      { native: \"berikutnya\", normalized: \"next\" },\n      { native: \"sebelumnya\", normalized: \"previous\" },\n      { native: \"terdekat\", normalized: \"closest\" },\n      { native: \"induk\", normalized: \"parent\" },\n      // Events\n      { native: \"klik\", normalized: \"click\" },\n      { native: \"click\", normalized: \"click\" },\n      { native: \"ubah\", normalized: \"change\" },\n      { native: \"kirim\", normalized: \"submit\" },\n      { native: \"tekan\", normalized: \"keydown\" },\n      { native: \"arahkan\", normalized: \"mouseover\" },\n      { native: \"tinggalkan\", normalized: \"mouseout\" },\n      { native: \"kabur\", normalized: \"blur\" },\n      { native: \"muat\", normalized: \"load\" },\n      { native: \"gulir\", normalized: \"scroll\" },\n      { native: \"input\", normalized: \"input\" },\n      // References\n      { native: \"milik\", normalized: \"my\" },\n      // Time units\n      { native: \"detik\", normalized: \"s\" },\n      { native: \"milidetik\", normalized: \"ms\" },\n      { native: \"menit\", normalized: \"m\" },\n      { native: \"jam\", normalized: \"h\" },\n      // Logical/conditional\n      { native: \"atau\", normalized: \"or\" },\n      { native: \"tidak\", normalized: \"not\" },\n      { native: \"adalah\", normalized: \"is\" },\n      { native: \"ada\", normalized: \"exists\" }\n    ];\n    IndonesianTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"id\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(indonesianProfile, INDONESIAN_EXTRAS);\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractors(createIndonesianExtractors());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(token) {\n        const lower = token.toLowerCase();\n        if (PREPOSITIONS15.has(lower)) return \"particle\";\n        if (this.isKeyword(lower)) return \"keyword\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        if ([\"==\", \"!=\", \"<=\", \">=\", \"<\", \">\", \"&&\", \"||\", \"!\"].includes(token)) return \"operator\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"http\")) return \"url\";\n        return \"identifier\";\n      }\n      // extractWord(), extractNumber() methods removed\n      // Now handled by IndonesianKeywordExtractor (context-aware)\n    };\n    indonesianTokenizer = new IndonesianTokenizer();\n  }\n});\n\n// src/tokenizers/morphology/quechua-normalizer.ts\nfunction isQuechuaLetter2(char) {\n  const code = char.charCodeAt(0);\n  if (code >= 65 && code <= 90 || code >= 97 && code <= 122) {\n    return true;\n  }\n  return char === \"\\xF1\" || char === \"\\xD1\" || char === \"'\" || char === \"'\";\n}\nfunction containsQuechua(word) {\n  for (const char of word) {\n    if (isQuechuaLetter2(char)) return true;\n  }\n  return false;\n}\nvar QUECHUA_SUFFIX_RULES, QuechuaMorphologicalNormalizer, quechuaMorphologicalNormalizer;\nvar init_quechua_normalizer = __esm({\n  \"src/tokenizers/morphology/quechua-normalizer.ts\"() {\n    \"use strict\";\n    init_types();\n    QUECHUA_SUFFIX_RULES = [\n      // Compound: progressive + person markers (longest first)\n      { pattern: \"shankichik\", confidence: 0.8, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"shaniku\", confidence: 0.8, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"shanki\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"shani\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"shanchik\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"shanku\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      { pattern: \"shan\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      // Past + person markers\n      { pattern: \"rqankichik\", confidence: 0.8, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"rqaniku\", confidence: 0.8, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"rqanki\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"rqani\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"rqanchik\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"rqanku\", confidence: 0.82, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"rqan\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      // Future/potential + person markers (-nqa-)\n      { pattern: \"nqankichik\", confidence: 0.8, conjugationType: \"future\", minStemLength: 2 },\n      { pattern: \"nqaniku\", confidence: 0.8, conjugationType: \"future\", minStemLength: 2 },\n      { pattern: \"nqanki\", confidence: 0.82, conjugationType: \"future\", minStemLength: 2 },\n      { pattern: \"nqani\", confidence: 0.82, conjugationType: \"future\", minStemLength: 2 },\n      { pattern: \"nqanchik\", confidence: 0.82, conjugationType: \"future\", minStemLength: 2 },\n      { pattern: \"nqanku\", confidence: 0.82, conjugationType: \"future\", minStemLength: 2 },\n      { pattern: \"nqa\", confidence: 0.85, conjugationType: \"future\", minStemLength: 2 },\n      // Causative + reflexive compound (-chiku-)\n      { pattern: \"chikuy\", confidence: 0.8, conjugationType: \"compound\", minStemLength: 2 },\n      { pattern: \"chiku\", confidence: 0.82, conjugationType: \"compound\", minStemLength: 2 },\n      // Causative variants (these leave infinitive -y suffix)\n      {\n        pattern: \"chiy\",\n        confidence: 0.85,\n        conjugationType: \"causative\",\n        minStemLength: 2,\n        replacement: \"y\"\n      },\n      {\n        pattern: \"chiq\",\n        confidence: 0.85,\n        conjugationType: \"causative\",\n        minStemLength: 2,\n        replacement: \"y\"\n      },\n      { pattern: \"chi\", confidence: 0.82, conjugationType: \"causative\", minStemLength: 2 },\n      // Reflexive/benefactive (shorter patterns must come after person markers below)\n      { pattern: \"kuy\", confidence: 0.82, conjugationType: \"reflexive\", minStemLength: 2 },\n      // Past tense\n      { pattern: \"rqa\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      { pattern: \"rqan\", confidence: 0.85, conjugationType: \"past\", minStemLength: 2 },\n      // Progressive (present continuous)\n      { pattern: \"sha\", confidence: 0.82, conjugationType: \"progressive\", minStemLength: 2 },\n      // Obligative (must/should) - often used for infinitive sense\n      { pattern: \"na\", confidence: 0.85, conjugationType: \"obligation\", minStemLength: 2 },\n      // Potential/conditional (-man)\n      { pattern: \"manmi\", confidence: 0.8, conjugationType: \"potential\", minStemLength: 2 },\n      { pattern: \"man\", confidence: 0.8, conjugationType: \"potential\", minStemLength: 2 },\n      // Person markers (present tense - after stripping progressive/other)\n      { pattern: \"nkichik\", confidence: 0.8, conjugationType: \"present\", minStemLength: 2 },\n      { pattern: \"niku\", confidence: 0.8, conjugationType: \"present\", minStemLength: 2 },\n      { pattern: \"nki\", confidence: 0.82, conjugationType: \"present\", minStemLength: 2 },\n      { pattern: \"nchik\", confidence: 0.82, conjugationType: \"present\", minStemLength: 2 },\n      { pattern: \"nku\", confidence: 0.82, conjugationType: \"present\", minStemLength: 2 },\n      { pattern: \"ni\", confidence: 0.85, conjugationType: \"present\", minStemLength: 2 },\n      // Reflexive/benefactive (must come after -nku to avoid false matches)\n      { pattern: \"ku\", confidence: 0.82, conjugationType: \"reflexive\", minStemLength: 2 },\n      // Imperative (command form, 2nd person)\n      { pattern: \"ychik\", confidence: 0.82, conjugationType: \"imperative\", minStemLength: 2 },\n      { pattern: \"y\", confidence: 0.9, conjugationType: \"dictionary\", minStemLength: 2 },\n      // Infinitive\n      // Passive voice (-sqa, -ska)\n      { pattern: \"sqa\", confidence: 0.82, conjugationType: \"passive\", minStemLength: 2 },\n      { pattern: \"ska\", confidence: 0.82, conjugationType: \"passive\", minStemLength: 2 },\n      // Postposition suffixes (case markers) - low confidence since can attach to nouns\n      { pattern: \"kama\", confidence: 0.7, conjugationType: \"dictionary\", minStemLength: 2 },\n      { pattern: \"manta\", confidence: 0.7, conjugationType: \"dictionary\", minStemLength: 2 },\n      { pattern: \"man\", confidence: 0.7, conjugationType: \"dictionary\", minStemLength: 2 },\n      { pattern: \"wan\", confidence: 0.7, conjugationType: \"dictionary\", minStemLength: 2 },\n      { pattern: \"pi\", confidence: 0.7, conjugationType: \"dictionary\", minStemLength: 2 },\n      { pattern: \"ta\", confidence: 0.7, conjugationType: \"dictionary\", minStemLength: 2 }\n    ];\n    QuechuaMorphologicalNormalizer = class {\n      constructor() {\n        this.language = \"qu\";\n      }\n      /**\n       * Check if a word might be a Quechua verb that can be normalized.\n       */\n      isNormalizable(word) {\n        if (!containsQuechua(word)) return false;\n        if (word.length < 3) return false;\n        const hasQuechuaVowel = /[aiu]/.test(word.toLowerCase());\n        if (!hasQuechuaVowel) return false;\n        return true;\n      }\n      /**\n       * Normalize a Quechua word to its stem form.\n       */\n      normalize(word) {\n        const lowerWord = word.toLowerCase();\n        for (const rule of QUECHUA_SUFFIX_RULES) {\n          if (lowerWord.endsWith(rule.pattern)) {\n            let stem = lowerWord.slice(0, -rule.pattern.length);\n            if (rule.replacement && !stem.endsWith(rule.replacement)) {\n              stem = stem + rule.replacement;\n            }\n            const minLength = rule.minStemLength ?? 2;\n            if (stem.length < minLength) continue;\n            if (!this.isValidStem(stem)) continue;\n            const metadata = {\n              removedSuffixes: [rule.pattern]\n            };\n            if (rule.conjugationType) {\n              metadata.conjugationType = rule.conjugationType;\n            }\n            return normalized(stem, rule.confidence, metadata);\n          }\n        }\n        return noChange(word);\n      }\n      /**\n       * Check if a stem looks like a valid Quechua verb stem.\n       * Quechua verb stems typically:\n       * - Have at least one vowel (a, e, i, o, u)\n       * - End in a consonant or vowel\n       * - Are at least 2 characters\n       */\n      isValidStem(stem) {\n        if (stem.length < 2) return false;\n        const hasVowel = /[aeiou]/.test(stem);\n        if (!hasVowel) return false;\n        const postpositions = /* @__PURE__ */ new Set([\"ta\", \"man\", \"pi\", \"wan\", \"pa\", \"kama\", \"hina\"]);\n        if (postpositions.has(stem)) return false;\n        return true;\n      }\n    };\n    quechuaMorphologicalNormalizer = new QuechuaMorphologicalNormalizer();\n  }\n});\n\n// src/tokenizers/quechua.ts\nvar quechua_exports2 = {};\n__export(quechua_exports2, {\n  QuechuaTokenizer: () => QuechuaTokenizer,\n  quechuaTokenizer: () => quechuaTokenizer\n});\nvar QuechuaStringLiteralExtractor, SUFFIXES3, QUECHUA_EXTRAS, QuechuaTokenizer, quechuaTokenizer;\nvar init_quechua2 = __esm({\n  \"src/tokenizers/quechua.ts\"() {\n    \"use strict\";\n    init_base();\n    init_quechua();\n    init_quechua_normalizer();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_quechua_keyword();\n    QuechuaStringLiteralExtractor = class {\n      constructor() {\n        this.name = \"quechua-string-literal\";\n      }\n      canExtract(input, position) {\n        return input[position] === '\"' || input[position] === \"'\";\n      }\n      extract(input, position) {\n        const quote = input[position];\n        let value = quote;\n        let pos2 = position + 1;\n        while (pos2 < input.length) {\n          const char = input[pos2];\n          if (char === quote) {\n            value += char;\n            return { value, length: value.length };\n          }\n          if (char === \"\\\\\" && pos2 + 1 < input.length) {\n            value += char + input[pos2 + 1];\n            pos2 += 2;\n          } else {\n            value += char;\n            pos2++;\n          }\n        }\n        return null;\n      }\n    };\n    SUFFIXES3 = /* @__PURE__ */ new Set([\n      \"-ta\",\n      // accusative (direct object)\n      \"-man\",\n      // allative (to, towards)\n      \"-manta\",\n      // ablative (from)\n      \"-pi\",\n      // locative (at, in)\n      \"-wan\",\n      // comitative/instrumental (with)\n      \"-paq\",\n      // benefactive (for)\n      \"-kama\",\n      // limitative (until, up to)\n      \"-rayku\",\n      // causative (because of)\n      \"-hina\",\n      // simulative (like, as)\n      // Standalone (unhyphenated) forms — used when written as separate words\n      \"ta\",\n      \"man\",\n      \"manta\",\n      \"pi\",\n      \"wan\",\n      \"paq\",\n      \"kama\",\n      \"hina\",\n      \"pa\"\n    ]);\n    QUECHUA_EXTRAS = [\n      // Values/Literals\n      // `cheqaq` (\"true/correct\") is the form the i18n dict emits for `true`\n      // (set-attribute `@disabled ta cheqaq man …`); without it the value tokenized\n      // as a bare identifier and `set @disabled to <undefined>` ran. arí/ari (\"yes\")\n      // are the colloquial alternates, kept for input tolerance.\n      { native: \"cheqaq\", normalized: \"true\" },\n      { native: \"ar\\xED\", normalized: \"true\" },\n      { native: \"ari\", normalized: \"true\" },\n      { native: \"manan\", normalized: \"false\" },\n      { native: \"mana\", normalized: \"false\" },\n      { native: \"ch'usaq\", normalized: \"null\" },\n      { native: \"chusaq\", normalized: \"null\" },\n      { native: \"mana riqsisqa\", normalized: \"undefined\" },\n      // Positional\n      // Put-position words (`put X before/after Y`): the i18n dict emits the locative\n      // -pi forms ñawpaqpi (before) / qhepapi (after). They must be exact single-token\n      // entries ABOVE the bare ñawpaq/qhipa (longest-first), else the greedy loop binds\n      // the prefix (ñawpaq→first) and strands `pi` — which the SOV parser then mis-reads\n      // as the event marker, and the position word is lost from the put.\n      { native: \"\\xF1awpaqpi\", normalized: \"before\" },\n      { native: \"nawpaqpi\", normalized: \"before\" },\n      { native: \"qhepapi\", normalized: \"after\" },\n      { native: \"qhipapi\", normalized: \"after\" },\n      { native: \"\\xF1awpaq\", normalized: \"first\" },\n      { native: \"nawpaq\", normalized: \"first\" },\n      { native: \"qhipa\", normalized: \"last\" },\n      { native: \"hamuq\", normalized: \"next\" },\n      // The i18n dict emits the -ntin/-nin derived forms (\"the one after/before\").\n      // Without exact entries the morphology binds their PREFIXES — qhipa(ntin)\n      // read as `last`, ñawpaq(nin) as `first` — cross-mapping next/previous.\n      // Longest-first matching makes the exact forms win.\n      { native: \"qhipantin\", normalized: \"next\" },\n      { native: \"\\xF1awpaqnin\", normalized: \"previous\" },\n      { native: \"\\xF1awpaq kaq\", normalized: \"previous\" },\n      { native: \"\\xF1awpaq_kaq\", normalized: \"previous\" },\n      // Single token only — 'aswan qayllaqa' (multi-word) was dead, and any\n      // aswan-prefixed compound splits (the suffix extractor strips -wan from\n      // 'aswan'). The i18n dict emits bare 'kaylla' (near/close).\n      { native: \"kaylla\", normalized: \"closest\" },\n      { native: \"qaylla\", normalized: \"closest\" },\n      { native: \"tayta\", normalized: \"parent\" },\n      // Events\n      { native: \"llikllay\", normalized: \"click\" },\n      { native: \"\\xF1itiy\", normalized: \"click\" },\n      // Glottalized spelling — the curated corpus rows (fix-translations.sql) and\n      // the event-handler pattern map both use ñit'iy. Without this entry the\n      // word-walk splits it at the injected English-passthrough keyword `it`\n      // (ñ + it + 'iy), wrecking every curated qu click pattern.\n      { native: \"\\xF1it'iy\", normalized: \"click\" },\n      { native: \"click\", normalized: \"click\" },\n      { native: \"yaykuy\", normalized: \"input\" },\n      { native: \"llave uray\", normalized: \"keydown\" },\n      { native: \"llave hawa\", normalized: \"keyup\" },\n      { native: \"mausiri yayku\", normalized: \"mouseover\" },\n      { native: \"mausiri lluqsi\", normalized: \"mouseout\" },\n      // Fused mousedown/mouseup (dict emits these WITHOUT `_` since the tokenizer\n      // splits on it; `rat_ñitiy` also mis-captured as click — see qu.ts events note).\n      { native: \"rat\\xF1itiy\", normalized: \"mousedown\" },\n      { native: \"rathuqariy\", normalized: \"mouseup\" },\n      { native: \"qhaway\", normalized: \"focus\" },\n      { native: \"mana qhaway\", normalized: \"blur\" },\n      { native: \"kargay\", normalized: \"load\" },\n      { native: \"muyuy\", normalized: \"scroll\" },\n      // References\n      { native: \"\\xF1uqa\", normalized: \"me\" },\n      { native: \"nuqa\", normalized: \"me\" },\n      { native: \"\\xF1uqap\", normalized: \"my\" },\n      { native: \"nuqap\", normalized: \"my\" },\n      { native: \"chay\", normalized: \"it\" },\n      { native: \"chaymi\", normalized: \"it\" },\n      { native: \"lluqsiy\", normalized: \"result\" },\n      { native: \"ruway\", normalized: \"event\" },\n      { native: \"maypi\", normalized: \"target\" },\n      // Time units\n      { native: \"sikundu\", normalized: \"s\" },\n      { native: \"segundu\", normalized: \"s\" },\n      { native: \"waranqa sikundu\", normalized: \"ms\" },\n      { native: \"minutu\", normalized: \"m\" },\n      { native: \"ura\", normalized: \"h\" },\n      { native: \"hora\", normalized: \"h\" },\n      // Event triggers (on)\n      { native: \"chaypim\", normalized: \"on\" },\n      { native: \"kaypi\", normalized: \"on\" },\n      // Control flow helpers\n      { native: \"chayqa\", normalized: \"then\" },\n      { native: \"chaymanta\", normalized: \"then\" },\n      { native: \"chaymantataq\", normalized: \"then\" },\n      { native: \"hinaspa\", normalized: \"then\" },\n      { native: \"tukukuy\", normalized: \"end\" },\n      { native: \"puchukay\", normalized: \"end\" },\n      { native: \"kaykama\", normalized: \"until\" },\n      // Command overrides\n      { native: \"yapay\", normalized: \"add\" },\n      // Profile may have this as 'append'\n      { native: \"t'ikray\", normalized: \"toggle\" },\n      { native: \"tikray\", normalized: \"toggle\" },\n      // DOM focus\n      { native: \"qhawachiy\", normalized: \"focus\" },\n      { native: \"mana qhawachiy\", normalized: \"blur\" },\n      // Suffix modifiers\n      { native: \"-manta\", normalized: \"from\" }\n    ];\n    QuechuaTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"qu\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(quechuaProfile, QUECHUA_EXTRAS);\n        this.setNormalizer(quechuaMorphologicalNormalizer);\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new QuechuaStringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractor(createQuechuaKeywordExtractor());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(token) {\n        const lower = token.toLowerCase();\n        if (SUFFIXES3.has(lower)) return \"particle\";\n        if (this.isKeyword(lower)) return \"keyword\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"../\") || token.startsWith(\"http\"))\n          return \"url\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"')) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        if ([\"==\", \"!=\", \"<=\", \">=\", \"<\", \">\", \"&&\", \"||\", \"!\"].includes(token)) return \"operator\";\n        return \"identifier\";\n      }\n      // trySuffix(), splitSelectorSuffix(), tryMultiWordKeyword(), extractWord(), extractNumber() methods removed\n      // Now handled by QuechuaKeywordExtractor (context-aware)\n    };\n    quechuaTokenizer = new QuechuaTokenizer();\n  }\n});\n\n// src/tokenizers/swahili.ts\nvar swahili_exports2 = {};\n__export(swahili_exports2, {\n  SwahiliTokenizer: () => SwahiliTokenizer,\n  swahiliTokenizer: () => swahiliTokenizer\n});\nvar PREPOSITIONS16, SWAHILI_EXTRAS, SwahiliTokenizer, swahiliTokenizer;\nvar init_swahili2 = __esm({\n  \"src/tokenizers/swahili.ts\"() {\n    \"use strict\";\n    init_base();\n    init_swahili();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_swahili_keyword();\n    PREPOSITIONS16 = /* @__PURE__ */ new Set([\n      \"kwa\",\n      // to, for, with, by\n      \"na\",\n      // and, with\n      \"katika\",\n      // in, at\n      \"kwenye\",\n      // on, at\n      \"kutoka\",\n      // from\n      \"hadi\",\n      // until, to\n      \"mpaka\",\n      // until, up to\n      \"kabla\",\n      // before\n      \"baada\",\n      // after\n      \"wakati\",\n      // during, when\n      \"bila\",\n      // without\n      \"kuhusu\",\n      // about\n      \"karibu\",\n      // near\n      \"mbele\",\n      // in front of\n      \"nyuma\",\n      // behind\n      \"ndani\",\n      // inside\n      \"nje\",\n      // outside\n      \"juu\",\n      // above, on\n      \"chini\",\n      // below, under\n      \"kati\"\n      // between\n    ]);\n    SWAHILI_EXTRAS = [\n      // Values/Literals\n      { native: \"kweli\", normalized: \"true\" },\n      { native: \"uongo\", normalized: \"false\" },\n      { native: \"null\", normalized: \"null\" },\n      // 'tupu' also means the null literal, but it is claimed by 'empty' below\n      // (the `ni tupu` is-empty predicate, #325). Keyword-map insertion is\n      // last-wins, so a second entry here would be dead code — see\n      // tokenizer-keyword-injectivity.test.ts.\n      { native: \"haijafafanuliwa\", normalized: \"undefined\" },\n      // Positional. The tokenizer matches single words only, so the multi-word\n      // adjective forms ('wa kwanza', 'wa mwisho') were dead entries — the i18n\n      // dict emissions are the single tokens below (kwanza, wamwisho, iliyopita).\n      // 'mwisho' itself is claimed by `end` (last-wins keyword map), which is why\n      // positional last needs the distinct concatenated form.\n      { native: \"kwanza\", normalized: \"first\" },\n      { native: \"wamwisho\", normalized: \"last\" },\n      { native: \"ifuatayo\", normalized: \"next\" },\n      { native: \"ijayo\", normalized: \"next\" },\n      // i18n dict emits 'ijayo' for next\n      { native: \"iliyotangulia\", normalized: \"previous\" },\n      { native: \"iliyopita\", normalized: \"previous\" },\n      // i18n dict emission\n      { native: \"karibu\", normalized: \"closest\" },\n      // natural Swahili \"near/close\"; the dict emits this for closest\n      { native: \"mzazi\", normalized: \"parent\" },\n      // Events\n      { native: \"bonyeza\", normalized: \"click\" },\n      { native: \"click\", normalized: \"click\" },\n      { native: \"ganti\", normalized: \"change\" },\n      // Use 'ganti' instead of 'badilisha' to avoid conflict\n      { native: \"wasilisha\", normalized: \"submit\" },\n      { native: \"bonyeza kitufe\", normalized: \"keydown\" },\n      { native: \"sogeza juu\", normalized: \"mouseover\" },\n      { native: \"sogeza nje\", normalized: \"mouseout\" },\n      // Underscore-joined mouse/key event names AS THE i18n DICT EMITS THEM\n      // (dictionaries/sw.ts `events`). The tokenizer's identifier reader now keeps `_`\n      // inside a word (swahili-keyword.ts), so these resolve as one keyword token —\n      // otherwise `kwenye panya_shuka` split and the handler dropped (repeat-until-event\n      // sw, fid 0.75). `panya_juu` is the dict's shared mouseup/mouseover form; map it to\n      // mouseup (the corpus use). See docs-internal/HANDOFF-lossy-tail.md.\n      { native: \"panya_shuka\", normalized: \"mousedown\" },\n      { native: \"panya_juu\", normalized: \"mouseup\" },\n      { native: \"panya_ingia\", normalized: \"mouseenter\" },\n      { native: \"panya_toka\", normalized: \"mouseleave\" },\n      { native: \"panya_nje\", normalized: \"mouseout\" },\n      { native: \"panya_sogea\", normalized: \"mousemove\" },\n      { native: \"kitufe_shuka\", normalized: \"keydown\" },\n      { native: \"kitufe_juu\", normalized: \"keyup\" },\n      { native: \"fifia\", normalized: \"blur\" },\n      { native: \"pakia\", normalized: \"load\" },\n      { native: \"sukuma\", normalized: \"scroll\" },\n      { native: \"input\", normalized: \"input\" },\n      // The i18n transformer emits the Swahili `ingizo` for the `input` event;\n      // without it the event tokenizes as a bare identifier, and after the\n      // homonymous on/into marker `kwenye` the handler is ambiguous — a `set` body\n      // then fails to parse (input-char-count / two-way-binding / computed-value\n      // hard-failed in sw for exactly this reason).\n      { native: \"ingizo\", normalized: \"input\" },\n      // References\n      { native: \"yangu\", normalized: \"my\" },\n      { native: \"wangu\", normalized: \"my\" },\n      { native: \"changu\", normalized: \"my\" },\n      { native: \"langu\", normalized: \"my\" },\n      // Time units\n      { native: \"sekunde\", normalized: \"s\" },\n      { native: \"millisekunde\", normalized: \"ms\" },\n      { native: \"dakika\", normalized: \"m\" },\n      { native: \"saa\", normalized: \"h\" },\n      // Logical/conditional\n      { native: \"au\", normalized: \"or\" },\n      { native: \"si\", normalized: \"not\" },\n      { native: \"ni\", normalized: \"is\" },\n      { native: \"ipo\", normalized: \"exists\" },\n      { native: \"tupu\", normalized: \"empty\" }\n    ];\n    SwahiliTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"sw\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(swahiliProfile, SWAHILI_EXTRAS);\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractors(createSwahiliExtractors());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(token) {\n        const lower = token.toLowerCase();\n        if (PREPOSITIONS16.has(lower)) return \"particle\";\n        if (this.isKeyword(lower)) return \"keyword\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        if ([\"==\", \"!=\", \"<=\", \">=\", \"<\", \">\", \"&&\", \"||\", \"!\"].includes(token)) return \"operator\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"http\")) return \"url\";\n        return \"identifier\";\n      }\n      // extractWord(), extractNumber() methods removed\n      // Now handled by SwahiliKeywordExtractor (context-aware)\n    };\n    swahiliTokenizer = new SwahiliTokenizer();\n  }\n});\n\n// src/tokenizers/morphology/italian-normalizer.ts\nfunction isItalianSpecificLetter(char) {\n  return /[àèéìíîòóùúÀÈÉÌÍÎÒÓÙÚ]/.test(char);\n}\nfunction looksLikeItalianVerb(word) {\n  const lower = word.toLowerCase();\n  if (lower.endsWith(\"are\") || lower.endsWith(\"ere\") || lower.endsWith(\"ire\")) return true;\n  if (lower.endsWith(\"ando\") || lower.endsWith(\"endo\")) return true;\n  if (lower.endsWith(\"ato\") || lower.endsWith(\"uto\") || lower.endsWith(\"ito\")) return true;\n  if (lower.endsWith(\"arsi\") || lower.endsWith(\"ersi\") || lower.endsWith(\"irsi\")) return true;\n  for (const char of word) {\n    if (isItalianSpecificLetter(char)) return true;\n  }\n  return false;\n}\nvar REFLEXIVE_SUFFIXES3, ARE_ENDINGS, ERE_ENDINGS, IRE_ENDINGS, ALL_ENDINGS5, ItalianMorphologicalNormalizer, italianMorphologicalNormalizer;\nvar init_italian_normalizer = __esm({\n  \"src/tokenizers/morphology/italian-normalizer.ts\"() {\n    \"use strict\";\n    init_types();\n    REFLEXIVE_SUFFIXES3 = [\"si\", \"mi\", \"ti\", \"ci\", \"vi\"];\n    ARE_ENDINGS = [\n      // Gerund (-ando)\n      { ending: \"ando\", stem: \"are\", confidence: 0.88, type: \"gerund\" },\n      // Past participle (-ato)\n      { ending: \"ato\", stem: \"are\", confidence: 0.88, type: \"participle\" },\n      { ending: \"ata\", stem: \"are\", confidence: 0.88, type: \"participle\" },\n      { ending: \"ati\", stem: \"are\", confidence: 0.88, type: \"participle\" },\n      { ending: \"ate\", stem: \"are\", confidence: 0.88, type: \"participle\" },\n      // Present indicative\n      { ending: \"o\", stem: \"are\", confidence: 0.75, type: \"present\" },\n      // io\n      { ending: \"i\", stem: \"are\", confidence: 0.72, type: \"present\" },\n      // tu\n      { ending: \"a\", stem: \"are\", confidence: 0.75, type: \"present\" },\n      // lui/lei\n      { ending: \"iamo\", stem: \"are\", confidence: 0.85, type: \"present\" },\n      // noi\n      { ending: \"ate\", stem: \"are\", confidence: 0.85, type: \"present\" },\n      // voi\n      { ending: \"ano\", stem: \"are\", confidence: 0.85, type: \"present\" },\n      // loro\n      // Imperfect\n      { ending: \"avo\", stem: \"are\", confidence: 0.88, type: \"past\" },\n      // io\n      { ending: \"avi\", stem: \"are\", confidence: 0.88, type: \"past\" },\n      // tu\n      { ending: \"ava\", stem: \"are\", confidence: 0.88, type: \"past\" },\n      // lui/lei\n      { ending: \"avamo\", stem: \"are\", confidence: 0.88, type: \"past\" },\n      // noi\n      { ending: \"avate\", stem: \"are\", confidence: 0.88, type: \"past\" },\n      // voi\n      { ending: \"avano\", stem: \"are\", confidence: 0.88, type: \"past\" },\n      // loro\n      // Preterite (passato remoto)\n      { ending: \"ai\", stem: \"are\", confidence: 0.85, type: \"past\" },\n      // io\n      { ending: \"asti\", stem: \"are\", confidence: 0.88, type: \"past\" },\n      // tu\n      { ending: \"\\xF2\", stem: \"are\", confidence: 0.85, type: \"past\" },\n      // lui/lei\n      { ending: \"ammo\", stem: \"are\", confidence: 0.88, type: \"past\" },\n      // noi\n      { ending: \"aste\", stem: \"are\", confidence: 0.88, type: \"past\" },\n      // voi\n      { ending: \"arono\", stem: \"are\", confidence: 0.88, type: \"past\" },\n      // loro\n      // Subjunctive present\n      { ending: \"i\", stem: \"are\", confidence: 0.72, type: \"subjunctive\" },\n      // io/tu/lui (ambiguous)\n      { ending: \"ino\", stem: \"are\", confidence: 0.82, type: \"subjunctive\" },\n      // loro\n      // Imperative\n      { ending: \"a\", stem: \"are\", confidence: 0.75, type: \"imperative\" },\n      // tu\n      // Infinitive\n      { ending: \"are\", stem: \"are\", confidence: 0.92, type: \"dictionary\" }\n    ];\n    ERE_ENDINGS = [\n      // Gerund (-endo)\n      { ending: \"endo\", stem: \"ere\", confidence: 0.88, type: \"gerund\" },\n      // Past participle (-uto)\n      { ending: \"uto\", stem: \"ere\", confidence: 0.85, type: \"participle\" },\n      { ending: \"uta\", stem: \"ere\", confidence: 0.85, type: \"participle\" },\n      { ending: \"uti\", stem: \"ere\", confidence: 0.85, type: \"participle\" },\n      { ending: \"ute\", stem: \"ere\", confidence: 0.85, type: \"participle\" },\n      // Present indicative\n      { ending: \"o\", stem: \"ere\", confidence: 0.72, type: \"present\" },\n      // io\n      { ending: \"i\", stem: \"ere\", confidence: 0.72, type: \"present\" },\n      // tu\n      { ending: \"e\", stem: \"ere\", confidence: 0.72, type: \"present\" },\n      // lui/lei\n      { ending: \"iamo\", stem: \"ere\", confidence: 0.85, type: \"present\" },\n      // noi\n      { ending: \"ete\", stem: \"ere\", confidence: 0.85, type: \"present\" },\n      // voi\n      { ending: \"ono\", stem: \"ere\", confidence: 0.82, type: \"present\" },\n      // loro\n      // Imperfect\n      { ending: \"evo\", stem: \"ere\", confidence: 0.88, type: \"past\" },\n      // io\n      { ending: \"evi\", stem: \"ere\", confidence: 0.88, type: \"past\" },\n      // tu\n      { ending: \"eva\", stem: \"ere\", confidence: 0.88, type: \"past\" },\n      // lui/lei\n      { ending: \"evamo\", stem: \"ere\", confidence: 0.88, type: \"past\" },\n      // noi\n      { ending: \"evate\", stem: \"ere\", confidence: 0.88, type: \"past\" },\n      // voi\n      { ending: \"evano\", stem: \"ere\", confidence: 0.88, type: \"past\" },\n      // loro\n      // Preterite\n      { ending: \"ei\", stem: \"ere\", confidence: 0.85, type: \"past\" },\n      // io\n      { ending: \"etti\", stem: \"ere\", confidence: 0.85, type: \"past\" },\n      // io (variant)\n      { ending: \"esti\", stem: \"ere\", confidence: 0.88, type: \"past\" },\n      // tu\n      { ending: \"\\xE9\", stem: \"ere\", confidence: 0.85, type: \"past\" },\n      // lui/lei\n      { ending: \"ette\", stem: \"ere\", confidence: 0.85, type: \"past\" },\n      // lui/lei (variant)\n      { ending: \"emmo\", stem: \"ere\", confidence: 0.88, type: \"past\" },\n      // noi\n      { ending: \"este\", stem: \"ere\", confidence: 0.88, type: \"past\" },\n      // voi\n      { ending: \"erono\", stem: \"ere\", confidence: 0.88, type: \"past\" },\n      // loro\n      { ending: \"ettero\", stem: \"ere\", confidence: 0.88, type: \"past\" },\n      // loro (variant)\n      // Infinitive\n      { ending: \"ere\", stem: \"ere\", confidence: 0.92, type: \"dictionary\" }\n    ];\n    IRE_ENDINGS = [\n      // Gerund (-endo)\n      { ending: \"endo\", stem: \"ire\", confidence: 0.85, type: \"gerund\" },\n      // Past participle (-ito)\n      { ending: \"ito\", stem: \"ire\", confidence: 0.85, type: \"participle\" },\n      { ending: \"ita\", stem: \"ire\", confidence: 0.85, type: \"participle\" },\n      { ending: \"iti\", stem: \"ire\", confidence: 0.85, type: \"participle\" },\n      { ending: \"ite\", stem: \"ire\", confidence: 0.85, type: \"participle\" },\n      // Present indicative (standard)\n      { ending: \"o\", stem: \"ire\", confidence: 0.7, type: \"present\" },\n      // io\n      { ending: \"i\", stem: \"ire\", confidence: 0.7, type: \"present\" },\n      // tu\n      { ending: \"e\", stem: \"ire\", confidence: 0.7, type: \"present\" },\n      // lui/lei\n      { ending: \"iamo\", stem: \"ire\", confidence: 0.85, type: \"present\" },\n      // noi\n      { ending: \"ite\", stem: \"ire\", confidence: 0.85, type: \"present\" },\n      // voi\n      { ending: \"ono\", stem: \"ire\", confidence: 0.78, type: \"present\" },\n      // loro\n      // Present indicative (-isco verbs)\n      { ending: \"isco\", stem: \"ire\", confidence: 0.85, type: \"present\" },\n      // io\n      { ending: \"isci\", stem: \"ire\", confidence: 0.85, type: \"present\" },\n      // tu\n      { ending: \"isce\", stem: \"ire\", confidence: 0.85, type: \"present\" },\n      // lui/lei\n      { ending: \"iscono\", stem: \"ire\", confidence: 0.88, type: \"present\" },\n      // loro\n      // Imperfect\n      { ending: \"ivo\", stem: \"ire\", confidence: 0.88, type: \"past\" },\n      // io\n      { ending: \"ivi\", stem: \"ire\", confidence: 0.88, type: \"past\" },\n      // tu\n      { ending: \"iva\", stem: \"ire\", confidence: 0.88, type: \"past\" },\n      // lui/lei\n      { ending: \"ivamo\", stem: \"ire\", confidence: 0.88, type: \"past\" },\n      // noi\n      { ending: \"ivate\", stem: \"ire\", confidence: 0.88, type: \"past\" },\n      // voi\n      { ending: \"ivano\", stem: \"ire\", confidence: 0.88, type: \"past\" },\n      // loro\n      // Preterite\n      { ending: \"ii\", stem: \"ire\", confidence: 0.85, type: \"past\" },\n      // io\n      { ending: \"isti\", stem: \"ire\", confidence: 0.88, type: \"past\" },\n      // tu\n      { ending: \"\\xEC\", stem: \"ire\", confidence: 0.85, type: \"past\" },\n      // lui/lei\n      { ending: \"immo\", stem: \"ire\", confidence: 0.88, type: \"past\" },\n      // noi\n      { ending: \"iste\", stem: \"ire\", confidence: 0.88, type: \"past\" },\n      // voi\n      { ending: \"irono\", stem: \"ire\", confidence: 0.88, type: \"past\" },\n      // loro\n      // Infinitive\n      { ending: \"ire\", stem: \"ire\", confidence: 0.92, type: \"dictionary\" }\n    ];\n    ALL_ENDINGS5 = [...ARE_ENDINGS, ...ERE_ENDINGS, ...IRE_ENDINGS].sort(\n      (a, b) => b.ending.length - a.ending.length\n    );\n    ItalianMorphologicalNormalizer = class {\n      constructor() {\n        this.language = \"it\";\n      }\n      /**\n       * Check if a word might be an Italian verb that can be normalized.\n       */\n      isNormalizable(word) {\n        if (word.length < 3) return false;\n        return looksLikeItalianVerb(word);\n      }\n      /**\n       * Normalize an Italian word to its infinitive form.\n       */\n      normalize(word) {\n        const lower = word.toLowerCase();\n        if (lower.endsWith(\"are\") || lower.endsWith(\"ere\") || lower.endsWith(\"ire\")) {\n          if (!REFLEXIVE_SUFFIXES3.some(\n            (s) => lower.endsWith(s + \"are\") || lower.endsWith(s + \"ere\") || lower.endsWith(s + \"ire\")\n          )) {\n            return noChange(word);\n          }\n        }\n        const reflexiveResult = this.tryReflexiveNormalization(lower);\n        if (reflexiveResult) return reflexiveResult;\n        const conjugationResult = this.tryConjugationNormalization(lower);\n        if (conjugationResult) return conjugationResult;\n        return noChange(word);\n      }\n      /**\n       * Try to normalize a reflexive verb.\n       * Reflexive verbs end with -si, -mi, -ti, -ci, -vi attached to infinitive.\n       *\n       * In Italian, reflexive infinitives drop the final -e before attaching the pronoun:\n       *   mostrare + si → mostrarsi (not mostraresi)\n       *   nascondere + si → nascondersi\n       *\n       * Examples:\n       *   mostrarsi → mostrare\n       *   nascondersi → nascondere\n       */\n      tryReflexiveNormalization(word) {\n        for (const suffix of REFLEXIVE_SUFFIXES3) {\n          if (word.endsWith(suffix)) {\n            const withoutReflexive = word.slice(0, -suffix.length);\n            if (withoutReflexive.endsWith(\"ar\") || withoutReflexive.endsWith(\"er\") || withoutReflexive.endsWith(\"ir\")) {\n              const infinitive = withoutReflexive + \"e\";\n              return normalized(infinitive, 0.88, {\n                removedSuffixes: [suffix],\n                conjugationType: \"reflexive\"\n              });\n            }\n            if (withoutReflexive.endsWith(\"are\") || withoutReflexive.endsWith(\"ere\") || withoutReflexive.endsWith(\"ire\")) {\n              return normalized(withoutReflexive, 0.88, {\n                removedSuffixes: [suffix],\n                conjugationType: \"reflexive\"\n              });\n            }\n            const innerResult = this.tryConjugationNormalization(withoutReflexive);\n            if (innerResult && innerResult.stem !== withoutReflexive) {\n              return normalized(innerResult.stem, innerResult.confidence * 0.95, {\n                removedSuffixes: [suffix, ...innerResult.metadata?.removedSuffixes || []],\n                conjugationType: \"reflexive\"\n              });\n            }\n          }\n        }\n        return null;\n      }\n      /**\n       * Try to normalize a conjugated verb to its infinitive.\n       */\n      tryConjugationNormalization(word) {\n        for (const rule of ALL_ENDINGS5) {\n          if (word.endsWith(rule.ending)) {\n            const stemBase = word.slice(0, -rule.ending.length);\n            if (stemBase.length < 2) continue;\n            const infinitive = stemBase + rule.stem;\n            return normalized(infinitive, rule.confidence, {\n              removedSuffixes: [rule.ending],\n              conjugationType: rule.type\n            });\n          }\n        }\n        return null;\n      }\n    };\n    italianMorphologicalNormalizer = new ItalianMorphologicalNormalizer();\n  }\n});\n\n// src/tokenizers/extractors/romance-language-keyword.ts\nfunction createLatinCharClassifiers7(pattern) {\n  const isLetter = (char) => pattern.test(char);\n  const isIdentifierChar = (char) => /[0-9]/.test(char) || pattern.test(char);\n  return { isLetter, isIdentifierChar };\n}\nfunction createItalianExtractors() {\n  return [\n    new RomanceKeywordExtractor(\n      \"italian-keyword\",\n      /[a-zA-ZàèéìíîòóùúÀÈÉÌÍÎÒÓÙÚ]/,\n      ITALIAN_PREPOSITIONS\n    )\n  ];\n}\nvar RomanceKeywordExtractor, ITALIAN_PREPOSITIONS;\nvar init_romance_language_keyword = __esm({\n  \"src/tokenizers/extractors/romance-language-keyword.ts\"() {\n    \"use strict\";\n    RomanceKeywordExtractor = class {\n      constructor(name, charPattern, prepositions) {\n        this.name = name;\n        const classifiers = createLatinCharClassifiers7(charPattern);\n        this.isLetter = classifiers.isLetter;\n        this.isIdentifierChar = classifiers.isIdentifierChar;\n        this.prepositions = prepositions;\n      }\n      setContext(context) {\n        this.context = context;\n      }\n      canExtract(input, position) {\n        return this.isLetter(input[position]);\n      }\n      extract(input, position) {\n        if (!this.context) {\n          throw new Error(`${this.name}: context not set`);\n        }\n        let pos2 = position;\n        let word = \"\";\n        while (pos2 < input.length && this.isIdentifierChar(input[pos2])) {\n          word += input[pos2++];\n        }\n        if (!word) return null;\n        const lower = word.toLowerCase();\n        const isPreposition = this.prepositions.has(lower);\n        const keywordEntry = this.context.lookupKeyword(lower);\n        const normalized2 = keywordEntry && keywordEntry.normalized !== keywordEntry.native ? keywordEntry.normalized : void 0;\n        let morphNormalized;\n        if (!keywordEntry && this.context.normalizer) {\n          const morphResult = this.context.normalizer.normalize(word);\n          if (morphResult.stem !== word && morphResult.confidence >= 0.7) {\n            const stemEntry = this.context.lookupKeyword(morphResult.stem);\n            if (stemEntry) {\n              morphNormalized = stemEntry.normalized;\n            }\n          }\n        }\n        return {\n          value: word,\n          length: pos2 - position,\n          metadata: {\n            normalized: normalized2 || morphNormalized,\n            isPreposition\n          }\n        };\n      }\n    };\n    ITALIAN_PREPOSITIONS = /* @__PURE__ */ new Set([\n      \"in\",\n      \"a\",\n      \"di\",\n      \"da\",\n      \"con\",\n      \"su\",\n      \"per\",\n      \"tra\",\n      \"fra\",\n      \"dopo\",\n      \"prima\",\n      \"dentro\",\n      \"fuori\",\n      \"sopra\",\n      \"sotto\",\n      // Articulated prepositions (preposition + article)\n      \"al\",\n      // a + il\n      \"allo\",\n      // a + lo\n      \"alla\",\n      // a + la\n      \"ai\",\n      // a + i\n      \"agli\",\n      // a + gli\n      \"alle\",\n      // a + le\n      \"del\",\n      // di + il\n      \"dello\",\n      // di + lo\n      \"della\",\n      // di + la\n      \"dei\",\n      // di + i\n      \"degli\",\n      // di + gli\n      \"delle\",\n      // di + le\n      \"dal\",\n      // da + il\n      \"dallo\",\n      // da + lo\n      \"dalla\",\n      // da + la\n      \"dai\",\n      // da + i\n      \"dagli\",\n      // da + gli\n      \"dalle\",\n      // da + le\n      \"nel\",\n      // in + il\n      \"nello\",\n      // in + lo\n      \"nella\",\n      // in + la\n      \"nei\",\n      // in + i\n      \"negli\",\n      // in + gli\n      \"nelle\",\n      // in + le\n      \"sul\",\n      // su + il\n      \"sullo\",\n      // su + lo\n      \"sulla\",\n      // su + la\n      \"sui\",\n      // su + i\n      \"sugli\",\n      // su + gli\n      \"sulle\"\n      // su + le\n    ]);\n  }\n});\n\n// src/tokenizers/italian.ts\nvar italian_exports2 = {};\n__export(italian_exports2, {\n  ItalianTokenizer: () => ItalianTokenizer,\n  italianTokenizer: () => italianTokenizer\n});\nvar PREPOSITIONS17, ITALIAN_EXTRAS, ItalianTokenizer, italianTokenizer;\nvar init_italian2 = __esm({\n  \"src/tokenizers/italian.ts\"() {\n    \"use strict\";\n    init_base();\n    init_italian_normalizer();\n    init_italian();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_romance_language_keyword();\n    PREPOSITIONS17 = /* @__PURE__ */ new Set([\n      \"in\",\n      // in, into\n      \"a\",\n      // to, at\n      \"di\",\n      // of, from\n      \"da\",\n      // from, by\n      \"con\",\n      // with\n      \"su\",\n      // on\n      \"per\",\n      // for\n      \"tra\",\n      // between\n      \"fra\",\n      // between (variant)\n      \"dopo\",\n      // after\n      \"prima\",\n      // before\n      \"dentro\",\n      // inside\n      \"fuori\",\n      // outside\n      \"sopra\",\n      // above\n      \"sotto\",\n      // under\n      // Articulated prepositions\n      \"al\",\n      // a + il\n      \"allo\",\n      // a + lo\n      \"alla\",\n      // a + la\n      \"ai\",\n      // a + i\n      \"agli\",\n      // a + gli\n      \"alle\",\n      // a + le\n      \"del\",\n      // di + il\n      \"dello\",\n      // di + lo\n      \"della\",\n      // di + la\n      \"dei\",\n      // di + i\n      \"degli\",\n      // di + gli\n      \"delle\",\n      // di + le\n      \"dal\",\n      // da + il\n      \"dallo\",\n      // da + lo\n      \"dalla\",\n      // da + la\n      \"dai\",\n      // da + i\n      \"dagli\",\n      // da + gli\n      \"dalle\",\n      // da + le\n      \"nel\",\n      // in + il\n      \"nello\",\n      // in + lo\n      \"nella\",\n      // in + la\n      \"nei\",\n      // in + i\n      \"negli\",\n      // in + gli\n      \"nelle\",\n      // in + le\n      \"sul\",\n      // su + il\n      \"sullo\",\n      // su + lo\n      \"sulla\",\n      // su + la\n      \"sui\",\n      // su + i\n      \"sugli\",\n      // su + gli\n      \"sulle\"\n      // su + le\n    ]);\n    ITALIAN_EXTRAS = [\n      // Values/Literals\n      { native: \"vero\", normalized: \"true\" },\n      { native: \"falso\", normalized: \"false\" },\n      { native: \"nullo\", normalized: \"null\" },\n      { native: \"indefinito\", normalized: \"undefined\" },\n      // Positional\n      { native: \"primo\", normalized: \"first\" },\n      { native: \"prima\", normalized: \"first\" },\n      { native: \"ultimo\", normalized: \"last\" },\n      { native: \"ultima\", normalized: \"last\" },\n      { native: \"prossimo\", normalized: \"next\" },\n      { native: \"successivo\", normalized: \"next\" },\n      { native: \"precedente\", normalized: \"previous\" },\n      { native: \"vicino\", normalized: \"closest\" },\n      { native: \"padre\", normalized: \"parent\" },\n      // Events\n      { native: \"clic\", normalized: \"click\" },\n      { native: \"click\", normalized: \"click\" },\n      { native: \"fare clic\", normalized: \"click\" },\n      { native: \"input\", normalized: \"input\" },\n      { native: \"cambio\", normalized: \"change\" },\n      { native: \"invio\", normalized: \"submit\" },\n      { native: \"tasto gi\\xF9\", normalized: \"keydown\" },\n      { native: \"tasto su\", normalized: \"keyup\" },\n      { native: \"mouse sopra\", normalized: \"mouseover\" },\n      { native: \"mouse fuori\", normalized: \"mouseout\" },\n      { native: \"fuoco\", normalized: \"focus\" },\n      { native: \"sfuocatura\", normalized: \"blur\" },\n      { native: \"caricamento\", normalized: \"load\" },\n      { native: \"scorrimento\", normalized: \"scroll\" },\n      // References\n      { native: \"io\", normalized: \"me\" },\n      { native: \"me\", normalized: \"me\" },\n      { native: \"destinazione\", normalized: \"target\" },\n      // Time units\n      { native: \"secondo\", normalized: \"s\" },\n      { native: \"secondi\", normalized: \"s\" },\n      { native: \"millisecondo\", normalized: \"ms\" },\n      { native: \"millisecondi\", normalized: \"ms\" },\n      { native: \"minuto\", normalized: \"m\" },\n      { native: \"minuti\", normalized: \"m\" },\n      { native: \"ora\", normalized: \"h\" },\n      { native: \"ore\", normalized: \"h\" },\n      // Multi-word phrases\n      { native: \"fino a\", normalized: \"until\" },\n      { native: \"prima di\", normalized: \"before\" },\n      { native: \"dopo di\", normalized: \"after\" },\n      { native: \"dentro di\", normalized: \"into\" },\n      { native: \"fuori di\", normalized: \"out\" },\n      // Override profile conflicts (aggiungere is both add and append in profile, prefer add)\n      { native: \"aggiungere\", normalized: \"add\" },\n      // Imperative forms (profile has infinitives)\n      { native: \"aggiungi\", normalized: \"add\" },\n      { native: \"rimuovi\", normalized: \"remove\" },\n      { native: \"elimina\", normalized: \"remove\" },\n      { native: \"togli\", normalized: \"remove\" },\n      { native: \"metti\", normalized: \"put\" },\n      { native: \"inserisci\", normalized: \"put\" },\n      { native: \"prendi\", normalized: \"take\" },\n      { native: \"fai\", normalized: \"make\" },\n      { native: \"crea\", normalized: \"make\" },\n      { native: \"clona\", normalized: \"clone\" },\n      { native: \"copia\", normalized: \"clone\" },\n      { native: \"imposta\", normalized: \"set\" },\n      { native: \"ottieni\", normalized: \"get\" },\n      { native: \"incrementa\", normalized: \"increment\" },\n      { native: \"aumenta\", normalized: \"increment\" },\n      { native: \"decrementa\", normalized: \"decrement\" },\n      { native: \"diminuisci\", normalized: \"decrement\" },\n      { native: \"registra\", normalized: \"log\" },\n      { native: \"mostra\", normalized: \"show\" },\n      { native: \"visualizza\", normalized: \"show\" },\n      { native: \"nascondi\", normalized: \"hide\" },\n      { native: \"anima\", normalized: \"transition\" },\n      { native: \"scatena\", normalized: \"trigger\" },\n      { native: \"attiva\", normalized: \"trigger\" },\n      { native: \"invia\", normalized: \"send\" },\n      { native: \"focalizza\", normalized: \"focus\" },\n      { native: \"sfuoca\", normalized: \"blur\" },\n      { native: \"vai\", normalized: \"go\" },\n      { native: \"naviga\", normalized: \"go\" },\n      { native: \"aspetta\", normalized: \"wait\" },\n      { native: \"attendi\", normalized: \"wait\" },\n      { native: \"recupera\", normalized: \"fetch\" },\n      { native: \"stabilizza\", normalized: \"settle\" },\n      { native: \"ripeti\", normalized: \"repeat\" },\n      { native: \"continua\", normalized: \"continue\" },\n      { native: \"ferma\", normalized: \"halt\" },\n      { native: \"lancia\", normalized: \"throw\" },\n      { native: \"chiama\", normalized: \"call\" },\n      { native: \"ritorna\", normalized: \"return\" },\n      { native: \"inizializza\", normalized: \"init\" },\n      { native: \"installa\", normalized: \"install\" },\n      { native: \"misura\", normalized: \"measure\" },\n      // Logical/conditional\n      { native: \"e\", normalized: \"and\" },\n      { native: \"o\", normalized: \"or\" },\n      { native: \"non\", normalized: \"not\" },\n      { native: \"\\xE8\", normalized: \"is\" },\n      { native: \"esiste\", normalized: \"exists\" },\n      { native: \"vuoto\", normalized: \"empty\" },\n      // Synonyms not in profile\n      { native: \"toggle\", normalized: \"toggle\" },\n      { native: \"di\", normalized: \"tell\" }\n    ];\n    ItalianTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"it\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(italianProfile, ITALIAN_EXTRAS);\n        this.setNormalizer(new ItalianMorphologicalNormalizer());\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractors(createItalianExtractors());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(token) {\n        const lower = token.toLowerCase();\n        if (PREPOSITIONS17.has(lower)) return \"particle\";\n        if (this.isKeyword(lower)) return \"keyword\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        if ([\"==\", \"!=\", \"<=\", \">=\", \"<\", \">\", \"&&\", \"||\", \"!\"].includes(token)) return \"operator\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"http\")) return \"url\";\n        return \"identifier\";\n      }\n      // tryMultiWordPhrase(), extractItalianWord(), extractItalianNumber() methods removed\n      // Now handled by ItalianKeywordExtractor (context-aware)\n    };\n    italianTokenizer = new ItalianTokenizer();\n  }\n});\n\n// src/tokenizers/vietnamese.ts\nvar vietnamese_exports2 = {};\n__export(vietnamese_exports2, {\n  VietnameseTokenizer: () => VietnameseTokenizer,\n  vietnameseTokenizer: () => vietnameseTokenizer\n});\nvar VIETNAMESE_EXTRAS, VietnameseTokenizer, vietnameseTokenizer;\nvar init_vietnamese2 = __esm({\n  \"src/tokenizers/vietnamese.ts\"() {\n    \"use strict\";\n    init_base();\n    init_vietnamese();\n    init_vietnamese_keyword();\n    init_generic_extractors();\n    init_extractor_helpers();\n    VIETNAMESE_EXTRAS = [\n      // Values/Literals\n      { native: \"\\u0111\\xFAng\", normalized: \"true\" },\n      { native: \"sai\", normalized: \"false\" },\n      { native: \"null\", normalized: \"null\" },\n      { native: \"kh\\xF4ng x\\xE1c \\u0111\\u1ECBnh\", normalized: \"undefined\" },\n      // Positional\n      { native: \"\\u0111\\u1EA7u ti\\xEAn\", normalized: \"first\" },\n      { native: \"cu\\u1ED1i c\\xF9ng\", normalized: \"last\" },\n      { native: \"ti\\u1EBFp theo\", normalized: \"next\" },\n      { native: \"tr\\u01B0\\u1EDBc \\u0111\\xF3\", normalized: \"previous\" },\n      { native: \"g\\u1EA7n nh\\u1EA5t\", normalized: \"closest\" },\n      { native: \"cha\", normalized: \"parent\" },\n      // Events\n      { native: \"nh\\u1EA5p\", normalized: \"click\" },\n      { native: \"nh\\u1EA5p chu\\u1ED9t\", normalized: \"click\" },\n      { native: \"click\", normalized: \"click\" },\n      { native: \"nh\\u1EA5p \\u0111\\xFAp\", normalized: \"dblclick\" },\n      { native: \"nh\\u1EADp\", normalized: \"input\" },\n      { native: \"thay \\u0111\\u1ED5i\", normalized: \"change\" },\n      { native: \"g\\u1EEDi bi\\u1EC3u m\\u1EABu\", normalized: \"submit\" },\n      { native: \"ph\\xEDm xu\\u1ED1ng\", normalized: \"keydown\" },\n      { native: \"ph\\xEDm l\\xEAn\", normalized: \"keyup\" },\n      { native: \"chu\\u1ED9t v\\xE0o\", normalized: \"mouseover\" },\n      { native: \"chu\\u1ED9t ra\", normalized: \"mouseout\" },\n      { native: \"t\\u1EA3i trang\", normalized: \"load\" },\n      { native: \"cu\\u1ED9n\", normalized: \"scroll\" },\n      // References - possessive forms\n      { native: \"c\\u1EE7a t\\xF4i\", normalized: \"my\" },\n      { native: \"c\\u1EE7a n\\xF3\", normalized: \"its\" },\n      // Time units\n      { native: \"gi\\xE2y\", normalized: \"s\" },\n      { native: \"mili gi\\xE2y\", normalized: \"ms\" },\n      { native: \"ph\\xFAt\", normalized: \"m\" },\n      { native: \"gi\\u1EDD\", normalized: \"h\" },\n      // Additional multi-word phrases not in profile\n      { native: \"th\\xEAm v\\xE0o cu\\u1ED1i\", normalized: \"append\" },\n      { native: \"nh\\xE2n b\\u1EA3n\", normalized: \"clone\" },\n      { native: \"t\\u1EA1o ra\", normalized: \"make\" },\n      { native: \"\\u0111\\u1EB7t gi\\xE1 tr\\u1ECB\", normalized: \"set\" },\n      { native: \"gi\\xE1 tr\\u1ECB\", normalized: \"value\" },\n      { native: \"ghi nh\\u1EADt k\\xFD\", normalized: \"log\" },\n      { native: \"chuy\\u1EC3n t\\u1EDBi\", normalized: \"go\" },\n      { native: \"ng\\u01B0\\u1EE3c l\\u1EA1i\", normalized: \"else\" },\n      { native: \"l\\u1EB7p\", normalized: \"repeat\" },\n      // Logical/conditional\n      { native: \"ho\\u1EB7c\", normalized: \"or\" },\n      { native: \"kh\\xF4ng\", normalized: \"not\" },\n      { native: \"l\\xE0\", normalized: \"is\" },\n      { native: \"t\\u1ED3n t\\u1EA1i\", normalized: \"exists\" },\n      { native: \"r\\u1ED7ng\", normalized: \"empty\" },\n      // English synonyms\n      { native: \"javascript\", normalized: \"js\" }\n    ];\n    VietnameseTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"vi\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(vietnameseProfile, VIETNAMESE_EXTRAS);\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractors(createVietnameseExtractors());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(token) {\n        const lower = token.toLowerCase();\n        if (this.isKeyword(lower)) return \"keyword\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        if ([\"==\", \"!=\", \"<=\", \">=\", \"<\", \">\", \"&&\", \"||\", \"!\"].includes(token)) return \"operator\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"http\")) return \"url\";\n        return \"identifier\";\n      }\n      // tryMultiWordPhrase(), extractVietnameseWord(), extractVietnameseNumber() methods removed\n      // Now handled by VietnameseKeywordExtractor (context-aware)\n    };\n    vietnameseTokenizer = new VietnameseTokenizer();\n  }\n});\n\n// src/tokenizers/morphology/polish-normalizer.ts\nvar IMPERATIVE_TO_INFINITIVE, PolishMorphologicalNormalizer, polishMorphologicalNormalizer;\nvar init_polish_normalizer = __esm({\n  \"src/tokenizers/morphology/polish-normalizer.ts\"() {\n    \"use strict\";\n    init_types();\n    IMPERATIVE_TO_INFINITIVE = /* @__PURE__ */ new Map([\n      // Core commands\n      [\"prze\\u0142\\u0105cz\", \"prze\\u0142\\u0105cza\\u0107\"],\n      [\"przelacz\", \"przelaczac\"],\n      [\"dodaj\", \"dodawa\\u0107\"],\n      [\"usu\\u0144\", \"usuwa\\u0107\"],\n      [\"usun\", \"usuwac\"],\n      [\"umie\\u015B\\u0107\", \"umieszcza\\u0107\"],\n      [\"umiesc\", \"umieszczac\"],\n      [\"wstaw\", \"wstawia\\u0107\"],\n      [\"ustaw\", \"ustawia\\u0107\"],\n      [\"pobierz\", \"pobiera\\u0107\"],\n      [\"we\\u017A\", \"bra\\u0107\"],\n      [\"wez\", \"brac\"],\n      [\"zwi\\u0119ksz\", \"zwi\\u0119ksza\\u0107\"],\n      [\"zwieksz\", \"zwiekszac\"],\n      [\"zmniejsz\", \"zmniejsza\\u0107\"],\n      [\"poka\\u017C\", \"pokazywa\\u0107\"],\n      [\"pokaz\", \"pokazywac\"],\n      [\"ukryj\", \"ukrywa\\u0107\"],\n      [\"schowaj\", \"schowywa\\u0107\"],\n      [\"czekaj\", \"czeka\\u0107\"],\n      [\"poczekaj\", \"poczeka\\u0107\"],\n      [\"id\\u017A\", \"i\\u015B\\u0107\"],\n      [\"idz\", \"isc\"],\n      [\"przejd\\u017A\", \"przej\\u015B\\u0107\"],\n      [\"przejdz\", \"przejsc\"],\n      [\"wywo\\u0142aj\", \"wywo\\u0142ywa\\u0107\"],\n      [\"wywolaj\", \"wywolywac\"],\n      [\"wy\\u015Blij\", \"wysy\\u0142a\\u0107\"],\n      [\"wyslij\", \"wysylac\"],\n      [\"loguj\", \"logowa\\u0107\"],\n      [\"wypisz\", \"wypisywa\\u0107\"],\n      [\"sklonuj\", \"sklonowa\\u0107\"],\n      [\"kopiuj\", \"kopiowa\\u0107\"],\n      [\"zamie\\u0144\", \"zamienia\\u0107\"],\n      [\"zamien\", \"zamieniac\"],\n      [\"utw\\xF3rz\", \"tworzy\\u0107\"],\n      [\"utworz\", \"tworzyc\"],\n      [\"stw\\xF3rz\", \"stwarza\\u0107\"],\n      [\"stworz\", \"stwarzac\"],\n      [\"skup\", \"skupia\\u0107\"],\n      [\"rozmyj\", \"rozmywa\\u0107\"],\n      [\"nawiguj\", \"nawigowa\\u0107\"],\n      [\"za\\u0142aduj\", \"\\u0142adowa\\u0107\"],\n      [\"zaladuj\", \"ladowac\"],\n      [\"powt\\xF3rz\", \"powtarza\\u0107\"],\n      [\"powtorz\", \"powtarzac\"],\n      [\"kontynuuj\", \"kontynuowa\\u0107\"],\n      [\"zatrzymaj\", \"zatrzymywa\\u0107\"],\n      [\"przerwij\", \"przerywa\\u0107\"],\n      [\"rzu\\u0107\", \"rzuca\\u0107\"],\n      [\"rzuc\", \"rzucac\"],\n      [\"zwr\\xF3\\u0107\", \"zwraca\\u0107\"],\n      [\"zwroc\", \"zwracac\"],\n      [\"inicjuj\", \"inicjowa\\u0107\"],\n      [\"zainstaluj\", \"instalowa\\u0107\"],\n      [\"zmierz\", \"mierzy\\u0107\"]\n    ]);\n    PolishMorphologicalNormalizer = class {\n      constructor() {\n        this.language = \"pl\";\n      }\n      /**\n       * Check if a word appears to be a Polish verb form that can be normalized.\n       */\n      isNormalizable(word) {\n        if (word.length < 3) return false;\n        return /[a-zA-ZąęćńóśźżłĄĘĆŃÓŚŹŻŁ]/.test(word);\n      }\n      /**\n       * Normalize a Polish verb to its base/infinitive form.\n       */\n      normalize(word) {\n        const lower = word.toLowerCase();\n        if (this.isInfinitive(lower)) {\n          return noChange(lower);\n        }\n        const imperativeResult = this.tryImperativeNormalization(lower);\n        if (imperativeResult) return imperativeResult;\n        const pastResult = this.tryPastTenseNormalization(lower);\n        if (pastResult) return pastResult;\n        const presentResult = this.tryPresentTenseNormalization(lower);\n        if (presentResult) return presentResult;\n        return noChange(lower);\n      }\n      /**\n       * Check if word is already in infinitive form.\n       */\n      isInfinitive(word) {\n        const infinitiveEndings = [\"a\\u0107\", \"e\\u0107\", \"i\\u0107\", \"y\\u0107\", \"\\u0105\\u0107\", \"owa\\u0107\", \"iwa\\u0107\", \"ywa\\u0107\"];\n        return infinitiveEndings.some((ending) => word.endsWith(ending));\n      }\n      /**\n       * Try to normalize imperative form to infinitive.\n       *\n       * Polish imperative (2nd person singular) patterns:\n       * - pisać → pisz (write)\n       * - czytać → czytaj (read)\n       * - robić → rób (do)\n       * - mówić → mów (speak)\n       * - uczyć → ucz (teach)\n       */\n      tryImperativeNormalization(word) {\n        if (IMPERATIVE_TO_INFINITIVE.has(word)) {\n          return normalized(IMPERATIVE_TO_INFINITIVE.get(word), 0.95, {\n            removedSuffixes: [\"imperative\"],\n            conjugationType: \"imperative\"\n          });\n        }\n        if (word.endsWith(\"aj\")) {\n          return normalized(word.slice(0, -2) + \"a\\u0107\", 0.8, {\n            removedSuffixes: [\"aj\"],\n            conjugationType: \"imperative\"\n          });\n        }\n        if (word.endsWith(\"uj\")) {\n          return normalized(word.slice(0, -2) + \"owa\\u0107\", 0.8, {\n            removedSuffixes: [\"uj\"],\n            conjugationType: \"imperative\"\n          });\n        }\n        if (word.endsWith(\"ij\")) {\n          return normalized(word.slice(0, -2) + \"i\\u0107\", 0.75, {\n            removedSuffixes: [\"ij\"],\n            conjugationType: \"imperative\"\n          });\n        }\n        return null;\n      }\n      /**\n       * Try to normalize present tense form to infinitive.\n       */\n      tryPresentTenseNormalization(word) {\n        if (word.endsWith(\"uj\\u0119\") || word.endsWith(\"uje\")) {\n          return normalized(word.slice(0, -3) + \"owa\\u0107\", 0.85, {\n            removedSuffixes: [\"uj\\u0119\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"am\") && word.length > 3) {\n          return normalized(word.slice(0, -2) + \"a\\u0107\", 0.8, {\n            removedSuffixes: [\"am\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"em\") && word.length > 3) {\n          return normalized(word.slice(0, -2) + \"e\\u0107\", 0.75, {\n            removedSuffixes: [\"em\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u0119\") && word.length > 2) {\n          return normalized(word.slice(0, -1) + \"a\\u0107\", 0.7, {\n            removedSuffixes: [\"\\u0119\"],\n            conjugationType: \"present\"\n          });\n        }\n        return null;\n      }\n      /**\n       * Try to normalize past tense form to infinitive.\n       */\n      tryPastTenseNormalization(word) {\n        if (word.endsWith(\"a\\u0142em\") || word.endsWith(\"a\\u0142am\")) {\n          return normalized(word.slice(0, -4) + \"a\\u0107\", 0.85, {\n            removedSuffixes: [word.slice(-4)],\n            conjugationType: \"past\"\n          });\n        }\n        if (word.endsWith(\"a\\u0142\") || word.endsWith(\"a\\u0142a\")) {\n          const suffixLen = word.endsWith(\"a\\u0142a\") ? 3 : 2;\n          return normalized(word.slice(0, -suffixLen) + \"a\\u0107\", 0.8, {\n            removedSuffixes: [word.slice(-suffixLen)],\n            conjugationType: \"past\"\n          });\n        }\n        if (word.endsWith(\"i\\u0142em\") || word.endsWith(\"i\\u0142am\") || word.endsWith(\"ilem\") || word.endsWith(\"ilam\")) {\n          return normalized(word.slice(0, -4) + \"i\\u0107\", 0.85, {\n            removedSuffixes: [word.slice(-4)],\n            conjugationType: \"past\"\n          });\n        }\n        if (word.endsWith(\"i\\u0142\") || word.endsWith(\"i\\u0142a\") || word.endsWith(\"il\") || word.endsWith(\"ila\")) {\n          const suffixLen = word.endsWith(\"i\\u0142a\") || word.endsWith(\"ila\") ? 3 : 2;\n          return normalized(word.slice(0, -suffixLen) + \"i\\u0107\", 0.8, {\n            removedSuffixes: [word.slice(-suffixLen)],\n            conjugationType: \"past\"\n          });\n        }\n        return null;\n      }\n    };\n    polishMorphologicalNormalizer = new PolishMorphologicalNormalizer();\n  }\n});\n\n// src/tokenizers/polish.ts\nvar polish_exports2 = {};\n__export(polish_exports2, {\n  PolishTokenizer: () => PolishTokenizer,\n  polishTokenizer: () => polishTokenizer\n});\nvar PREPOSITIONS18, POLISH_EXTRAS, PolishTokenizer, polishTokenizer;\nvar init_polish2 = __esm({\n  \"src/tokenizers/polish.ts\"() {\n    \"use strict\";\n    init_base();\n    init_polish();\n    init_polish_normalizer();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_polish_keyword();\n    PREPOSITIONS18 = /* @__PURE__ */ new Set([\n      \"do\",\n      // to, into\n      \"od\",\n      // from\n      \"z\",\n      // from, with\n      \"ze\",\n      // from, with (before consonant clusters)\n      \"w\",\n      // in\n      \"we\",\n      // in (before consonant clusters)\n      \"na\",\n      // on, for\n      \"po\",\n      // after, for\n      \"pod\",\n      // under\n      \"przed\",\n      // before, in front of\n      \"za\",\n      // behind, for\n      \"nad\",\n      // above\n      \"mi\\u0119dzy\",\n      // between\n      \"miedzy\",\n      // between (no diacritic)\n      \"przez\",\n      // through, by\n      \"dla\",\n      // for\n      \"bez\",\n      // without\n      \"o\",\n      // about\n      \"przy\",\n      // at, by\n      \"u\",\n      // at (someone's place)\n      \"wed\\u0142ug\",\n      // according to\n      \"wedlug\",\n      // according to (no diacritic)\n      \"mimo\",\n      // despite\n      \"w\\u015Br\\xF3d\",\n      // among\n      \"wsrod\",\n      // among (no diacritic)\n      \"obok\",\n      // beside\n      \"poza\",\n      // outside, beyond\n      \"wok\\xF3\\u0142\",\n      // around\n      \"wokol\",\n      // around (no diacritic)\n      \"przeciw\",\n      // against\n      \"ku\"\n      // towards\n    ]);\n    POLISH_EXTRAS = [\n      // Values/Literals\n      { native: \"prawda\", normalized: \"true\" },\n      { native: \"fa\\u0142sz\", normalized: \"false\" },\n      { native: \"falsz\", normalized: \"false\" },\n      { native: \"null\", normalized: \"null\" },\n      { native: \"nieokre\\u015Blony\", normalized: \"undefined\" },\n      { native: \"nieokreslony\", normalized: \"undefined\" },\n      // Positional\n      { native: \"pierwszy\", normalized: \"first\" },\n      { native: \"pierwsza\", normalized: \"first\" },\n      { native: \"pierwsze\", normalized: \"first\" },\n      { native: \"ostatni\", normalized: \"last\" },\n      { native: \"ostatnia\", normalized: \"last\" },\n      { native: \"ostatnie\", normalized: \"last\" },\n      { native: \"nast\\u0119pny\", normalized: \"next\" },\n      { native: \"nastepny\", normalized: \"next\" },\n      { native: \"poprzedni\", normalized: \"previous\" },\n      { native: \"najbli\\u017Cszy\", normalized: \"closest\" },\n      { native: \"najblizszy\", normalized: \"closest\" },\n      { native: \"rodzic\", normalized: \"parent\" },\n      // Events\n      { native: \"klikni\\u0119cie\", normalized: \"click\" },\n      { native: \"klikniecie\", normalized: \"click\" },\n      { native: \"klik\", normalized: \"click\" },\n      { native: \"click\", normalized: \"click\" },\n      { native: \"zmiana\", normalized: \"change\" },\n      { native: \"wys\\u0142anie\", normalized: \"submit\" },\n      { native: \"wyslanie\", normalized: \"submit\" },\n      { native: \"naci\\u015Bni\\u0119cie\", normalized: \"keydown\" },\n      { native: \"nacisniecie\", normalized: \"keydown\" },\n      { native: \"klawisz\", normalized: \"keydown\" },\n      { native: \"najechanie\", normalized: \"mouseover\" },\n      { native: \"zjechanie\", normalized: \"mouseout\" },\n      { native: \"rozmycie\", normalized: \"blur\" },\n      { native: \"za\\u0142adowanie\", normalized: \"load\" },\n      { native: \"zaladowanie\", normalized: \"load\" },\n      { native: \"przewini\\u0119cie\", normalized: \"scroll\" },\n      { native: \"przewiniecie\", normalized: \"scroll\" },\n      { native: \"input\", normalized: \"input\" },\n      // References\n      { native: \"m\\xF3j\", normalized: \"my\" },\n      { native: \"moj\", normalized: \"my\" },\n      // Time units\n      { native: \"sekunda\", normalized: \"s\" },\n      { native: \"sekundy\", normalized: \"s\" },\n      { native: \"sekund\", normalized: \"s\" },\n      { native: \"milisekunda\", normalized: \"ms\" },\n      { native: \"milisekundy\", normalized: \"ms\" },\n      { native: \"milisekund\", normalized: \"ms\" },\n      { native: \"minuta\", normalized: \"m\" },\n      { native: \"minuty\", normalized: \"m\" },\n      { native: \"minut\", normalized: \"m\" },\n      { native: \"godzina\", normalized: \"h\" },\n      { native: \"godziny\", normalized: \"h\" },\n      { native: \"godzin\", normalized: \"h\" },\n      // Additional verb forms not in profile (lay/put variants)\n      { native: \"po\\u0142\\xF3\\u017C\", normalized: \"put\" },\n      { native: \"poloz\", normalized: \"put\" },\n      // Logical/conditional\n      { native: \"lub\", normalized: \"or\" },\n      { native: \"nie\", normalized: \"not\" },\n      { native: \"jest\", normalized: \"is\" },\n      { native: \"istnieje\", normalized: \"exists\" },\n      { native: \"pusty\", normalized: \"empty\" },\n      { native: \"puste\", normalized: \"empty\" }\n    ];\n    PolishTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"pl\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(polishProfile, POLISH_EXTRAS);\n        this.setNormalizer(new PolishMorphologicalNormalizer());\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractors(createPolishExtractors());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(token) {\n        const lower = token.toLowerCase();\n        if (PREPOSITIONS18.has(lower)) return \"particle\";\n        if (this.isKeyword(lower)) return \"keyword\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        if ([\"==\", \"!=\", \"<=\", \">=\", \"<\", \">\", \"&&\", \"||\", \"!\"].includes(token)) return \"operator\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"http\")) return \"url\";\n        return \"identifier\";\n      }\n      // extractWord(), extractNumber() methods removed\n      // Now handled by PolishKeywordExtractor (context-aware)\n    };\n    polishTokenizer = new PolishTokenizer();\n  }\n});\n\n// src/tokenizers/morphology/russian-normalizer.ts\nfunction isCyrillic(char) {\n  return /[а-яА-ЯёЁ]/.test(char);\n}\nfunction hasCyrillic(word) {\n  for (const char of word) {\n    if (isCyrillic(char)) return true;\n  }\n  return false;\n}\nvar IMPERATIVE_TO_INFINITIVE2, RussianMorphologicalNormalizer, russianMorphologicalNormalizer;\nvar init_russian_normalizer = __esm({\n  \"src/tokenizers/morphology/russian-normalizer.ts\"() {\n    \"use strict\";\n    init_types();\n    IMPERATIVE_TO_INFINITIVE2 = /* @__PURE__ */ new Map([\n      // Core commands (from Russian language profile)\n      [\"\\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\", \"\\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C\"],\n      [\"\\u0434\\u043E\\u0431\\u0430\\u0432\\u044C\", \"\\u0434\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C\"],\n      [\"\\u0443\\u0434\\u0430\\u043B\\u0438\", \"\\u0443\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C\"],\n      [\"\\u0443\\u0431\\u0435\\u0440\\u0438\", \"\\u0443\\u0431\\u0440\\u0430\\u0442\\u044C\"],\n      [\"\\u043F\\u043E\\u043B\\u043E\\u0436\\u0438\", \"\\u043F\\u043E\\u043B\\u043E\\u0436\\u0438\\u0442\\u044C\"],\n      [\"\\u043F\\u043E\\u043C\\u0435\\u0441\\u0442\\u0438\", \"\\u043F\\u043E\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C\"],\n      [\"\\u0432\\u0441\\u0442\\u0430\\u0432\\u044C\", \"\\u0432\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C\"],\n      [\"\\u0432\\u043E\\u0437\\u044C\\u043C\\u0438\", \"\\u0432\\u0437\\u044F\\u0442\\u044C\"],\n      [\"\\u0441\\u043E\\u0437\\u0434\\u0430\\u0439\", \"\\u0441\\u043E\\u0437\\u0434\\u0430\\u0442\\u044C\"],\n      [\"\\u043A\\u043B\\u043E\\u043D\\u0438\\u0440\\u0443\\u0439\", \"\\u043A\\u043B\\u043E\\u043D\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\"],\n      [\"\\u043F\\u043E\\u043C\\u0435\\u043D\\u044F\\u0439\", \"\\u043F\\u043E\\u043C\\u0435\\u043D\\u044F\\u0442\\u044C\"],\n      [\"\\u0442\\u0440\\u0430\\u043D\\u0441\\u0444\\u043E\\u0440\\u043C\\u0438\\u0440\\u0443\\u0439\", \"\\u0442\\u0440\\u0430\\u043D\\u0441\\u0444\\u043E\\u0440\\u043C\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\"],\n      [\"\\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\", \"\\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\\u0442\\u044C\"],\n      [\"\\u0437\\u0430\\u0434\\u0430\\u0439\", \"\\u0437\\u0430\\u0434\\u0430\\u0442\\u044C\"],\n      [\"\\u043F\\u043E\\u043B\\u0443\\u0447\\u0438\", \"\\u043F\\u043E\\u043B\\u0443\\u0447\\u0438\\u0442\\u044C\"],\n      [\"\\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u044C\", \"\\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u0438\\u0442\\u044C\"],\n      [\"\\u0443\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\", \"\\u0443\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\\u0442\\u044C\"],\n      [\"\\u0437\\u0430\\u043F\\u0438\\u0448\\u0438\", \"\\u0437\\u0430\\u043F\\u0438\\u0441\\u0430\\u0442\\u044C\"],\n      [\"\\u043F\\u043E\\u043A\\u0430\\u0436\\u0438\", \"\\u043F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C\"],\n      [\"\\u0441\\u043A\\u0440\\u043E\\u0439\", \"\\u0441\\u043A\\u0440\\u044B\\u0442\\u044C\"],\n      [\"\\u0441\\u043F\\u0440\\u044F\\u0447\\u044C\", \"\\u0441\\u043F\\u0440\\u044F\\u0442\\u0430\\u0442\\u044C\"],\n      [\"\\u0430\\u043D\\u0438\\u043C\\u0438\\u0440\\u0443\\u0439\", \"\\u0430\\u043D\\u0438\\u043C\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\"],\n      [\"\\u0432\\u044B\\u0437\\u043E\\u0432\\u0438\", \"\\u0432\\u044B\\u0437\\u0432\\u0430\\u0442\\u044C\"],\n      [\"\\u043E\\u0442\\u043F\\u0440\\u0430\\u0432\\u044C\", \"\\u043E\\u0442\\u043F\\u0440\\u0430\\u0432\\u0438\\u0442\\u044C\"],\n      [\"\\u0441\\u0444\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u0443\\u0439\", \"\\u0441\\u0444\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\"],\n      [\"\\u0440\\u0430\\u0437\\u043C\\u043E\\u0439\", \"\\u0440\\u0430\\u0437\\u043C\\u044B\\u0442\\u044C\"],\n      [\"\\u043F\\u0435\\u0440\\u0435\\u0439\\u0434\\u0438\", \"\\u043F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438\"],\n      [\"\\u0438\\u0434\\u0438\", \"\\u0438\\u0434\\u0442\\u0438\"],\n      [\"\\u0436\\u0434\\u0438\", \"\\u0436\\u0434\\u0430\\u0442\\u044C\"],\n      [\"\\u043F\\u043E\\u0434\\u043E\\u0436\\u0434\\u0438\", \"\\u043F\\u043E\\u0434\\u043E\\u0436\\u0434\\u0430\\u0442\\u044C\"],\n      [\"\\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u0438\", \"\\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u0438\\u0442\\u044C\"],\n      [\"\\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\", \"\\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\\u0442\\u044C\"],\n      [\"\\u043F\\u0440\\u043E\\u0434\\u043E\\u043B\\u0436\\u0438\", \"\\u043F\\u0440\\u043E\\u0434\\u043E\\u043B\\u0436\\u0438\\u0442\\u044C\"],\n      [\"\\u0431\\u0440\\u043E\\u0441\\u044C\", \"\\u0431\\u0440\\u043E\\u0441\\u0438\\u0442\\u044C\"],\n      [\"\\u0432\\u0435\\u0440\\u043D\\u0438\", \"\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C\"],\n      [\"\\u0441\\u043A\\u0430\\u0436\\u0438\", \"\\u0441\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C\"],\n      [\"\\u0438\\u043D\\u0438\\u0446\\u0438\\u0430\\u043B\\u0438\\u0437\\u0438\\u0440\\u0443\\u0439\", \"\\u0438\\u043D\\u0438\\u0446\\u0438\\u0430\\u043B\\u0438\\u0437\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\"],\n      [\"\\u0438\\u0437\\u043C\\u0435\\u0440\\u044C\", \"\\u0438\\u0437\\u043C\\u0435\\u0440\\u0438\\u0442\\u044C\"]\n    ]);\n    RussianMorphologicalNormalizer = class {\n      constructor() {\n        this.language = \"ru\";\n      }\n      /**\n       * Check if a word might be a Russian verb that can be normalized.\n       */\n      isNormalizable(word) {\n        if (word.length < 3) return false;\n        return hasCyrillic(word);\n      }\n      /**\n       * Normalize a Russian word to its infinitive form.\n       */\n      normalize(word) {\n        const lower = word.toLowerCase();\n        if (lower.endsWith(\"\\u0441\\u044F\") || lower.endsWith(\"\\u0441\\u044C\")) {\n          const reflexiveResult = this.tryReflexiveNormalization(lower);\n          if (reflexiveResult) return reflexiveResult;\n        }\n        if (lower.endsWith(\"\\u0442\\u044C\") || lower.endsWith(\"\\u0442\\u0438\") || lower.endsWith(\"\\u0447\\u044C\")) {\n          return noChange(word);\n        }\n        const imperativeLookup = this.tryImperativeLookup(lower);\n        if (imperativeLookup) return imperativeLookup;\n        const pastResult = this.tryPastTenseNormalization(lower);\n        if (pastResult) return pastResult;\n        const presentResult = this.tryPresentTenseNormalization(lower);\n        if (presentResult) return presentResult;\n        const imperativeGeneric = this.tryGenericImperativeNormalization(lower);\n        if (imperativeGeneric) return imperativeGeneric;\n        return noChange(word);\n      }\n      /**\n       * Try to normalize reflexive verbs (-ся/-сь).\n       * Strip the reflexive suffix, normalize the base, then append -ться.\n       */\n      tryReflexiveNormalization(word) {\n        const suffixLen = word.endsWith(\"\\u0441\\u044F\") ? 2 : 2;\n        const base = word.slice(0, -suffixLen);\n        if (word.endsWith(\"\\u0442\\u044C\\u0441\\u044F\") || word.endsWith(\"\\u0442\\u0438\\u0441\\u044C\") || word.endsWith(\"\\u0447\\u044C\\u0441\\u044F\")) {\n          return noChange(word);\n        }\n        const baseResult = this.normalizeNonReflexive(base);\n        if (baseResult.confidence < 1) {\n          const infinitive = baseResult.stem.endsWith(\"\\u0442\\u044C\") ? baseResult.stem.slice(0, -2) + \"\\u0442\\u044C\\u0441\\u044F\" : baseResult.stem + \"\\u0441\\u044F\";\n          return normalized(infinitive, baseResult.confidence * 0.95, {\n            removedSuffixes: [\"\\u0441\\u044F\", ...baseResult.metadata?.removedSuffixes || []],\n            conjugationType: \"reflexive\"\n          });\n        }\n        return null;\n      }\n      /**\n       * Normalize a non-reflexive verb form.\n       */\n      normalizeNonReflexive(word) {\n        if (word.endsWith(\"\\u0442\\u044C\") || word.endsWith(\"\\u0442\\u0438\") || word.endsWith(\"\\u0447\\u044C\")) {\n          return noChange(word);\n        }\n        const imperativeLookup = this.tryImperativeLookup(word);\n        if (imperativeLookup) return imperativeLookup;\n        const pastResult = this.tryPastTenseNormalization(word);\n        if (pastResult) return pastResult;\n        const presentResult = this.tryPresentTenseNormalization(word);\n        if (presentResult) return presentResult;\n        const imperativeGeneric = this.tryGenericImperativeNormalization(word);\n        if (imperativeGeneric) return imperativeGeneric;\n        return noChange(word);\n      }\n      /**\n       * Try imperative → infinitive via lookup table only.\n       */\n      tryImperativeLookup(word) {\n        if (IMPERATIVE_TO_INFINITIVE2.has(word)) {\n          return normalized(IMPERATIVE_TO_INFINITIVE2.get(word), 0.95, {\n            removedSuffixes: [\"imperative\"],\n            conjugationType: \"imperative\"\n          });\n        }\n        return null;\n      }\n      /**\n       * Try generic imperative patterns (lower confidence fallback).\n       */\n      tryGenericImperativeNormalization(word) {\n        if (word.endsWith(\"\\u0439\\u0442\\u0435\") && word.length > 5) {\n          return normalized(word.slice(0, -3) + \"\\u0442\\u044C\", 0.8, {\n            removedSuffixes: [\"\\u0439\\u0442\\u0435\"],\n            conjugationType: \"imperative\"\n          });\n        }\n        if (word.endsWith(\"\\u0438\\u0442\\u0435\") && word.length > 5) {\n          return normalized(word.slice(0, -3) + \"\\u0438\\u0442\\u044C\", 0.8, {\n            removedSuffixes: [\"\\u0438\\u0442\\u0435\"],\n            conjugationType: \"imperative\"\n          });\n        }\n        if (word.endsWith(\"\\u0439\") && word.length > 3) {\n          return normalized(word.slice(0, -1) + \"\\u0442\\u044C\", 0.75, {\n            removedSuffixes: [\"\\u0439\"],\n            conjugationType: \"imperative\"\n          });\n        }\n        if (word.endsWith(\"\\u0438\") && word.length > 3) {\n          return normalized(word + \"\\u0442\\u044C\", 0.7, {\n            removedSuffixes: [\"\\u0438\\u2192\\u0438\\u0442\\u044C\"],\n            conjugationType: \"imperative\"\n          });\n        }\n        return null;\n      }\n      /**\n       * Try past tense → infinitive.\n       *\n       * Russian past tense endings:\n       * - masculine: -л (делал → делать)\n       * - feminine: -ла (делала → делать)\n       * - neuter: -ло (делало → делать)\n       * - plural: -ли (делали → делать)\n       */\n      tryPastTenseNormalization(word) {\n        if (word.endsWith(\"\\u0430\\u043B\\u0430\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0430\\u0442\\u044C\", 0.85, {\n            removedSuffixes: [\"\\u0430\\u043B\\u0430\"],\n            conjugationType: \"past\"\n          });\n        }\n        if (word.endsWith(\"\\u0438\\u043B\\u0430\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0438\\u0442\\u044C\", 0.85, {\n            removedSuffixes: [\"\\u0438\\u043B\\u0430\"],\n            conjugationType: \"past\"\n          });\n        }\n        if (word.endsWith(\"\\u0435\\u043B\\u043E\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0435\\u0442\\u044C\", 0.82, {\n            removedSuffixes: [\"\\u0435\\u043B\\u043E\"],\n            conjugationType: \"past\"\n          });\n        }\n        if (word.endsWith(\"\\u0430\\u0431\\u043E\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0430\\u0442\\u044C\", 0.82, {\n            removedSuffixes: [\"\\u0430\\u0431\\u043E\"],\n            conjugationType: \"past\"\n          });\n        }\n        if (word.endsWith(\"\\u0430\\u043B\\u0438\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0430\\u0442\\u044C\", 0.85, {\n            removedSuffixes: [\"\\u0430\\u043B\\u0438\"],\n            conjugationType: \"past\"\n          });\n        }\n        if (word.endsWith(\"\\u0438\\u043B\\u0438\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0438\\u0442\\u044C\", 0.85, {\n            removedSuffixes: [\"\\u0438\\u043B\\u0438\"],\n            conjugationType: \"past\"\n          });\n        }\n        if (word.endsWith(\"\\u0430\\u043B\") && word.length > 3) {\n          return normalized(word.slice(0, -2) + \"\\u0430\\u0442\\u044C\", 0.82, {\n            removedSuffixes: [\"\\u0430\\u043B\"],\n            conjugationType: \"past\"\n          });\n        }\n        if (word.endsWith(\"\\u0438\\u043B\") && word.length > 3) {\n          return normalized(word.slice(0, -2) + \"\\u0438\\u0442\\u044C\", 0.82, {\n            removedSuffixes: [\"\\u0438\\u043B\"],\n            conjugationType: \"past\"\n          });\n        }\n        return null;\n      }\n      /**\n       * Try present tense → infinitive.\n       *\n       * Russian present tense endings (imperfective verbs):\n       * 1st conj: -ю/-у, -ешь, -ет, -ем, -ете, -ют/-ут\n       * 2nd conj: -ю/-у, -ишь, -ит, -им, -ите, -ят/-ат\n       */\n      tryPresentTenseNormalization(word) {\n        if (word.endsWith(\"\\u0438\\u0448\\u044C\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0438\\u0442\\u044C\", 0.8, {\n            removedSuffixes: [\"\\u0438\\u0448\\u044C\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u0438\\u0442\") && word.length > 3) {\n          return normalized(word.slice(0, -2) + \"\\u0438\\u0442\\u044C\", 0.78, {\n            removedSuffixes: [\"\\u0438\\u0442\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u0438\\u043C\") && word.length > 3) {\n          return normalized(word.slice(0, -2) + \"\\u0438\\u0442\\u044C\", 0.78, {\n            removedSuffixes: [\"\\u0438\\u043C\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u044F\\u0442\") && word.length > 3) {\n          return normalized(word.slice(0, -2) + \"\\u0438\\u0442\\u044C\", 0.78, {\n            removedSuffixes: [\"\\u044F\\u0442\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u0435\\u0448\\u044C\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0430\\u0442\\u044C\", 0.75, {\n            removedSuffixes: [\"\\u0435\\u0448\\u044C\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u0435\\u0442\") && word.length > 3) {\n          return normalized(word.slice(0, -2) + \"\\u0430\\u0442\\u044C\", 0.72, {\n            removedSuffixes: [\"\\u0435\\u0442\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u0435\\u043C\") && word.length > 3) {\n          return normalized(word.slice(0, -2) + \"\\u0430\\u0442\\u044C\", 0.72, {\n            removedSuffixes: [\"\\u0435\\u043C\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u044E\\u0442\") && word.length > 3) {\n          return normalized(word.slice(0, -2) + \"\\u0430\\u0442\\u044C\", 0.75, {\n            removedSuffixes: [\"\\u044E\\u0442\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u0443\\u0442\") && word.length > 3) {\n          return normalized(word.slice(0, -2) + \"\\u0430\\u0442\\u044C\", 0.72, {\n            removedSuffixes: [\"\\u0443\\u0442\"],\n            conjugationType: \"present\"\n          });\n        }\n        return null;\n      }\n    };\n    russianMorphologicalNormalizer = new RussianMorphologicalNormalizer();\n  }\n});\n\n// src/tokenizers/russian.ts\nvar russian_exports2 = {};\n__export(russian_exports2, {\n  RussianTokenizer: () => RussianTokenizer,\n  russianTokenizer: () => russianTokenizer\n});\nvar PREPOSITIONS19, RUSSIAN_EXTRAS, RussianTokenizer, russianTokenizer;\nvar init_russian2 = __esm({\n  \"src/tokenizers/russian.ts\"() {\n    \"use strict\";\n    init_base();\n    init_russian_normalizer();\n    init_russian();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_cyrillic_keyword();\n    init_ascii_identifier();\n    PREPOSITIONS19 = /* @__PURE__ */ new Set([\n      \"\\u0432\",\n      // in\n      \"\\u0432\\u043E\",\n      // in (before consonant clusters)\n      \"\\u043D\\u0430\",\n      // on\n      \"\\u0441\",\n      // with, from\n      \"\\u0441\\u043E\",\n      // with (before consonant clusters)\n      \"\\u043A\",\n      // to, towards\n      \"\\u043A\\u043E\",\n      // to (before consonant clusters)\n      \"\\u043E\",\n      // about\n      \"\\u043E\\u0431\",\n      // about (before vowels)\n      \"\\u043E\\u0431\\u043E\",\n      // about (before consonant clusters)\n      \"\\u0443\",\n      // at, by\n      \"\\u043E\\u0442\",\n      // from\n      \"\\u0434\\u043E\",\n      // until, to\n      \"\\u0438\\u0437\",\n      // from, out of\n      \"\\u0437\\u0430\",\n      // behind, for\n      \"\\u043F\\u043E\",\n      // along, by\n      \"\\u043F\\u043E\\u0434\",\n      // under\n      \"\\u043D\\u0430\\u0434\",\n      // above\n      \"\\u043F\\u0435\\u0440\\u0435\\u0434\",\n      // in front of\n      \"\\u043F\\u0435\\u0440\\u0435\\u0434\\u043E\",\n      // in front of (before consonant clusters)\n      \"\\u043C\\u0435\\u0436\\u0434\\u0443\",\n      // between\n      \"\\u0447\\u0435\\u0440\\u0435\\u0437\",\n      // through\n      \"\\u0431\\u0435\\u0437\",\n      // without\n      \"\\u0434\\u043B\\u044F\",\n      // for\n      \"\\u043F\\u0440\\u0438\",\n      // at, during\n      \"\\u043F\\u0440\\u043E\",\n      // about\n      \"\\u043F\\u043E\\u0441\\u043B\\u0435\",\n      // after\n      \"\\u0432\\u043E\\u043A\\u0440\\u0443\\u0433\",\n      // around\n      \"\\u043F\\u0440\\u043E\\u0442\\u0438\\u0432\",\n      // against\n      \"\\u0432\\u043C\\u0435\\u0441\\u0442\\u043E\",\n      // instead of\n      \"\\u043A\\u0440\\u043E\\u043C\\u0435\",\n      // except\n      \"\\u0441\\u0440\\u0435\\u0434\\u0438\"\n      // among\n    ]);\n    RUSSIAN_EXTRAS = [\n      // Fused event names (the i18n dict emits these WITHOUT `_`, since the tokenizer\n      // splits on `_` — see ru.ts events note). Recognize them so the event types as\n      // a literal, not a bare expression (window-resize, repeat-until-event).\n      { native: \"\\u043C\\u044B\\u0448\\u044C\\u0432\\u043D\\u0438\\u0437\", normalized: \"mousedown\" },\n      { native: \"\\u043C\\u044B\\u0448\\u044C\\u0432\\u0432\\u0435\\u0440\\u0445\", normalized: \"mouseup\" },\n      { native: \"\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0435\\u0440\\u0430\\u0437\\u043C\\u0435\\u0440\\u0430\", normalized: \"resize\" },\n      // Values/Literals (not in profile - generic across all languages)\n      { native: \"\\u0438\\u0441\\u0442\\u0438\\u043D\\u0430\", normalized: \"true\" },\n      { native: \"\\u043F\\u0440\\u0430\\u0432\\u0434\\u0430\", normalized: \"true\" },\n      { native: \"\\u043B\\u043E\\u0436\\u044C\", normalized: \"false\" },\n      { native: \"null\", normalized: \"null\" },\n      { native: \"\\u043D\\u0435\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u043E\", normalized: \"undefined\" },\n      // Time units (not in profile - handled by number parser)\n      { native: \"\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0430\", normalized: \"s\" },\n      { native: \"\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B\", normalized: \"s\" },\n      { native: \"\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\", normalized: \"s\" },\n      { native: \"\\u043C\\u0438\\u043B\\u043B\\u0438\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0430\", normalized: \"ms\" },\n      { native: \"\\u043C\\u0438\\u043B\\u043B\\u0438\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B\", normalized: \"ms\" },\n      { native: \"\\u043C\\u0438\\u043B\\u043B\\u0438\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\", normalized: \"ms\" },\n      { native: \"\\u043C\\u0438\\u043D\\u0443\\u0442\\u0430\", normalized: \"m\" },\n      { native: \"\\u043C\\u0438\\u043D\\u0443\\u0442\\u044B\", normalized: \"m\" },\n      { native: \"\\u043C\\u0438\\u043D\\u0443\\u0442\", normalized: \"m\" },\n      { native: \"\\u0447\\u0430\\u0441\", normalized: \"h\" },\n      { native: \"\\u0447\\u0430\\u0441\\u0430\", normalized: \"h\" },\n      { native: \"\\u0447\\u0430\\u0441\\u043E\\u0432\", normalized: \"h\" },\n      // Positional (masculine nominative — the forms the i18n dict emits; the\n      // gendered variants below predate these but the base forms were never\n      // listed, so `последний <.message/> в #chat` never formed a positional\n      // query — see positional-keyword-drift.test.ts)\n      { native: \"\\u043F\\u0435\\u0440\\u0432\\u044B\\u0439\", normalized: \"first\" },\n      { native: \"\\u043F\\u043E\\u0441\\u043B\\u0435\\u0434\\u043D\\u0438\\u0439\", normalized: \"last\" },\n      { native: \"\\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0438\\u0439\", normalized: \"next\" },\n      { native: \"\\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0438\\u0439\", normalized: \"previous\" },\n      { native: \"\\u0431\\u043B\\u0438\\u0436\\u0430\\u0439\\u0448\\u0438\\u0439\", normalized: \"closest\" },\n      { native: \"\\u0440\\u043E\\u0434\\u0438\\u0442\\u0435\\u043B\\u044C\", normalized: \"parent\" },\n      { native: \"\\u0441\\u043B\\u0443\\u0447\\u0430\\u0439\\u043D\\u044B\\u0439\", normalized: \"random\" },\n      // Gendered forms (additional variants)\n      { native: \"\\u043F\\u0435\\u0440\\u0432\\u0430\\u044F\", normalized: \"first\" },\n      // feminine\n      { native: \"\\u043F\\u0435\\u0440\\u0432\\u043E\\u0435\", normalized: \"first\" },\n      // neuter\n      { native: \"\\u043F\\u043E\\u0441\\u043B\\u0435\\u0434\\u043D\\u044F\\u044F\", normalized: \"last\" },\n      // feminine\n      { native: \"\\u043F\\u043E\\u0441\\u043B\\u0435\\u0434\\u043D\\u0435\\u0435\", normalized: \"last\" },\n      // neuter\n      { native: \"\\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0430\\u044F\", normalized: \"next\" },\n      // feminine\n      { native: \"\\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0430\\u044F\", normalized: \"previous\" },\n      // feminine\n      { native: \"\\u043F\\u0443\\u0441\\u0442\\u0430\\u044F\", normalized: \"empty\" },\n      // feminine\n      { native: \"\\u043F\\u0443\\u0441\\u0442\\u043E\\u0435\", normalized: \"empty\" },\n      // neuter\n      { native: \"\\u043C\\u043E\\u044F\", normalized: \"my\" },\n      // feminine\n      { native: \"\\u043C\\u043E\\u0451\", normalized: \"my\" },\n      // neuter\n      { native: \"\\u043C\\u043E\\u0438\", normalized: \"my\" }\n      // plural\n    ];\n    RussianTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"ru\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(russianProfile, RUSSIAN_EXTRAS);\n        this.setNormalizer(new RussianMorphologicalNormalizer());\n        this.registerExtractors([\n          ...getHyperscriptExtractors(),\n          // CSS, URL, property access, variable refs, event modifiers\n          ...createRussianExtractors(),\n          // Russian keywords with morphology\n          new StringLiteralExtractor(),\n          new NumberExtractor(),\n          new AsciiIdentifierExtractor(),\n          // ASCII identifiers (for mixed content)\n          new OperatorExtractor(),\n          new PunctuationExtractor()\n        ]);\n      }\n      classifyToken(token) {\n        const lower = token.toLowerCase();\n        if (PREPOSITIONS19.has(lower)) return \"particle\";\n        if (this.isKeyword(lower)) return \"keyword\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"http\")) return \"url\";\n        return \"identifier\";\n      }\n    };\n    russianTokenizer = new RussianTokenizer();\n  }\n});\n\n// src/tokenizers/morphology/ukrainian-normalizer.ts\nfunction hasUkrainianChars(word) {\n  return /[а-яА-ЯіІїЇєЄґҐьЬ']/.test(word);\n}\nvar IMPERATIVE_TO_INFINITIVE3, UkrainianMorphologicalNormalizer, ukrainianMorphologicalNormalizer;\nvar init_ukrainian_normalizer = __esm({\n  \"src/tokenizers/morphology/ukrainian-normalizer.ts\"() {\n    \"use strict\";\n    init_types();\n    IMPERATIVE_TO_INFINITIVE3 = /* @__PURE__ */ new Map([\n      // Core commands (from Ukrainian language profile)\n      [\"\\u043F\\u0435\\u0440\\u0435\\u043C\\u043A\\u043D\\u0438\", \"\\u043F\\u0435\\u0440\\u0435\\u043C\\u043A\\u043D\\u0443\\u0442\\u0438\"],\n      [\"\\u0434\\u043E\\u0434\\u0430\\u0439\", \"\\u0434\\u043E\\u0434\\u0430\\u0442\\u0438\"],\n      [\"\\u0432\\u0438\\u0434\\u0430\\u043B\\u0438\", \"\\u0432\\u0438\\u0434\\u0430\\u043B\\u0438\\u0442\\u0438\"],\n      [\"\\u043F\\u0440\\u0438\\u0431\\u0435\\u0440\\u0438\", \"\\u043F\\u0440\\u0438\\u0431\\u0440\\u0430\\u0442\\u0438\"],\n      [\"\\u043F\\u043E\\u043A\\u043B\\u0430\\u0434\\u0438\", \"\\u043F\\u043E\\u043A\\u043B\\u0430\\u0441\\u0442\\u0438\"],\n      [\"\\u043F\\u043E\\u043C\\u0456\\u0441\\u0442\\u0438\", \"\\u043F\\u043E\\u043C\\u0456\\u0441\\u0442\\u0438\\u0442\\u0438\"],\n      [\"\\u0432\\u0441\\u0442\\u0430\\u0432\", \"\\u0432\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u0438\"],\n      [\"\\u0432\\u0456\\u0437\\u044C\\u043C\\u0438\", \"\\u0432\\u0437\\u044F\\u0442\\u0438\"],\n      [\"\\u0441\\u0442\\u0432\\u043E\\u0440\\u0438\", \"\\u0441\\u0442\\u0432\\u043E\\u0440\\u0438\\u0442\\u0438\"],\n      [\"\\u043A\\u043B\\u043E\\u043D\\u0443\\u0439\", \"\\u043A\\u043B\\u043E\\u043D\\u0443\\u0432\\u0430\\u0442\\u0438\"],\n      [\"\\u043F\\u043E\\u043C\\u0456\\u043D\\u044F\\u0439\", \"\\u043F\\u043E\\u043C\\u0456\\u043D\\u044F\\u0442\\u0438\"],\n      [\"\\u0442\\u0440\\u0430\\u043D\\u0441\\u0444\\u043E\\u0440\\u043C\\u0443\\u0439\", \"\\u0442\\u0440\\u0430\\u043D\\u0441\\u0444\\u043E\\u0440\\u043C\\u0443\\u0432\\u0430\\u0442\\u0438\"],\n      [\"\\u0432\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\", \"\\u0432\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\\u0442\\u0438\"],\n      [\"\\u0437\\u0430\\u0434\\u0430\\u0439\", \"\\u0437\\u0430\\u0434\\u0430\\u0442\\u0438\"],\n      [\"\\u043E\\u0442\\u0440\\u0438\\u043C\\u0430\\u0439\", \"\\u043E\\u0442\\u0440\\u0438\\u043C\\u0430\\u0442\\u0438\"],\n      [\"\\u0437\\u0431\\u0456\\u043B\\u044C\\u0448\", \"\\u0437\\u0431\\u0456\\u043B\\u044C\\u0448\\u0438\\u0442\\u0438\"],\n      [\"\\u0437\\u043C\\u0435\\u043D\\u0448\", \"\\u0437\\u043C\\u0435\\u043D\\u0448\\u0438\\u0442\\u0438\"],\n      [\"\\u0437\\u0430\\u043F\\u0438\\u0448\\u0438\", \"\\u0437\\u0430\\u043F\\u0438\\u0441\\u0430\\u0442\\u0438\"],\n      [\"\\u043F\\u043E\\u043A\\u0430\\u0436\\u0438\", \"\\u043F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u0438\"],\n      [\"\\u0441\\u0445\\u043E\\u0432\\u0430\\u0439\", \"\\u0441\\u0445\\u043E\\u0432\\u0430\\u0442\\u0438\"],\n      [\"\\u043F\\u0440\\u0438\\u0445\\u043E\\u0432\\u0430\\u0439\", \"\\u043F\\u0440\\u0438\\u0445\\u043E\\u0432\\u0430\\u0442\\u0438\"],\n      [\"\\u0430\\u043D\\u0456\\u043C\\u0443\\u0439\", \"\\u0430\\u043D\\u0456\\u043C\\u0443\\u0432\\u0430\\u0442\\u0438\"],\n      [\"\\u0432\\u0438\\u043A\\u043B\\u0438\\u0447\", \"\\u0432\\u0438\\u043A\\u043B\\u0438\\u043A\\u0430\\u0442\\u0438\"],\n      [\"\\u043D\\u0430\\u0434\\u0456\\u0448\\u043B\\u0438\", \"\\u043D\\u0430\\u0434\\u0456\\u0441\\u043B\\u0430\\u0442\\u0438\"],\n      [\"\\u0441\\u0444\\u043E\\u043A\\u0443\\u0441\\u0443\\u0439\", \"\\u0441\\u0444\\u043E\\u043A\\u0443\\u0441\\u0443\\u0432\\u0430\\u0442\\u0438\"],\n      [\"\\u0440\\u043E\\u0437\\u0444\\u043E\\u043A\\u0443\\u0441\\u0443\\u0439\", \"\\u0440\\u043E\\u0437\\u0444\\u043E\\u043A\\u0443\\u0441\\u0443\\u0432\\u0430\\u0442\\u0438\"],\n      [\"\\u043F\\u0435\\u0440\\u0435\\u0439\\u0434\\u0438\", \"\\u043F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438\"],\n      [\"\\u0439\\u0434\\u0438\", \"\\u0439\\u0442\\u0438\"],\n      [\"\\u0447\\u0435\\u043A\\u0430\\u0439\", \"\\u0447\\u0435\\u043A\\u0430\\u0442\\u0438\"],\n      [\"\\u0437\\u0430\\u0447\\u0435\\u043A\\u0430\\u0439\", \"\\u0437\\u0430\\u0447\\u0435\\u043A\\u0430\\u0442\\u0438\"],\n      [\"\\u0437\\u0430\\u0432\\u0430\\u043D\\u0442\\u0430\\u0436\", \"\\u0437\\u0430\\u0432\\u0430\\u043D\\u0442\\u0430\\u0436\\u0438\\u0442\\u0438\"],\n      [\"\\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\", \"\\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\\u0442\\u0438\"],\n      [\"\\u043F\\u0440\\u043E\\u0434\\u043E\\u0432\\u0436\\u0443\\u0439\", \"\\u043F\\u0440\\u043E\\u0434\\u043E\\u0432\\u0436\\u0438\\u0442\\u0438\"],\n      [\"\\u043A\\u0438\\u043D\\u044C\", \"\\u043A\\u0438\\u043D\\u0443\\u0442\\u0438\"],\n      [\"\\u043F\\u043E\\u0432\\u0435\\u0440\\u043D\\u0438\", \"\\u043F\\u043E\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u0438\"],\n      [\"\\u0441\\u043A\\u0430\\u0436\\u0438\", \"\\u0441\\u043A\\u0430\\u0437\\u0430\\u0442\\u0438\"],\n      [\"\\u0456\\u043D\\u0456\\u0446\\u0456\\u0430\\u043B\\u0456\\u0437\\u0443\\u0439\", \"\\u0456\\u043D\\u0456\\u0446\\u0456\\u0430\\u043B\\u0456\\u0437\\u0443\\u0432\\u0430\\u0442\\u0438\"],\n      [\"\\u0432\\u0438\\u043C\\u0456\\u0440\\u044F\\u0439\", \"\\u0432\\u0438\\u043C\\u0456\\u0440\\u044F\\u0442\\u0438\"]\n    ]);\n    UkrainianMorphologicalNormalizer = class {\n      constructor() {\n        this.language = \"uk\";\n      }\n      /**\n       * Check if a word might be a Ukrainian verb that can be normalized.\n       */\n      isNormalizable(word) {\n        if (word.length < 3) return false;\n        return hasUkrainianChars(word);\n      }\n      /**\n       * Normalize a Ukrainian word to its infinitive form.\n       */\n      normalize(word) {\n        const lower = word.toLowerCase();\n        if (lower.endsWith(\"\\u0441\\u044F\") || lower.endsWith(\"\\u0441\\u044C\")) {\n          const reflexiveResult = this.tryReflexiveNormalization(lower);\n          if (reflexiveResult) return reflexiveResult;\n        }\n        if (lower.endsWith(\"\\u0442\\u0438\") || lower.endsWith(\"\\u0447\\u0438\")) {\n          return noChange(word);\n        }\n        const imperativeLookup = this.tryImperativeLookup(lower);\n        if (imperativeLookup) return imperativeLookup;\n        const pastResult = this.tryPastTenseNormalization(lower);\n        if (pastResult) return pastResult;\n        const presentResult = this.tryPresentTenseNormalization(lower);\n        if (presentResult) return presentResult;\n        const imperativeGeneric = this.tryGenericImperativeNormalization(lower);\n        if (imperativeGeneric) return imperativeGeneric;\n        return noChange(word);\n      }\n      /**\n       * Try to normalize reflexive verbs (-ся/-сь).\n       */\n      tryReflexiveNormalization(word) {\n        const base = word.slice(0, -2);\n        if (word.endsWith(\"\\u0442\\u0438\\u0441\\u044F\") || word.endsWith(\"\\u0447\\u0438\\u0441\\u044F\")) {\n          return noChange(word);\n        }\n        const baseResult = this.normalizeNonReflexive(base);\n        if (baseResult.confidence < 1) {\n          const infinitive = baseResult.stem.endsWith(\"\\u0442\\u0438\") ? baseResult.stem.slice(0, -2) + \"\\u0442\\u0438\\u0441\\u044F\" : baseResult.stem + \"\\u0441\\u044F\";\n          return normalized(infinitive, baseResult.confidence * 0.95, {\n            removedSuffixes: [\"\\u0441\\u044F\", ...baseResult.metadata?.removedSuffixes || []],\n            conjugationType: \"reflexive\"\n          });\n        }\n        return null;\n      }\n      /**\n       * Normalize a non-reflexive verb form.\n       */\n      normalizeNonReflexive(word) {\n        if (word.endsWith(\"\\u0442\\u0438\") || word.endsWith(\"\\u0447\\u0438\")) {\n          return noChange(word);\n        }\n        const imperativeLookup = this.tryImperativeLookup(word);\n        if (imperativeLookup) return imperativeLookup;\n        const pastResult = this.tryPastTenseNormalization(word);\n        if (pastResult) return pastResult;\n        const presentResult = this.tryPresentTenseNormalization(word);\n        if (presentResult) return presentResult;\n        const imperativeGeneric = this.tryGenericImperativeNormalization(word);\n        if (imperativeGeneric) return imperativeGeneric;\n        return noChange(word);\n      }\n      /**\n       * Try imperative → infinitive via lookup table only.\n       */\n      tryImperativeLookup(word) {\n        if (IMPERATIVE_TO_INFINITIVE3.has(word)) {\n          return normalized(IMPERATIVE_TO_INFINITIVE3.get(word), 0.95, {\n            removedSuffixes: [\"imperative\"],\n            conjugationType: \"imperative\"\n          });\n        }\n        return null;\n      }\n      /**\n       * Try generic imperative patterns (lower confidence fallback).\n       */\n      tryGenericImperativeNormalization(word) {\n        if (word.endsWith(\"\\u0439\\u0442\\u0435\") && word.length > 5) {\n          return normalized(word.slice(0, -3) + \"\\u0442\\u0438\", 0.8, {\n            removedSuffixes: [\"\\u0439\\u0442\\u0435\"],\n            conjugationType: \"imperative\"\n          });\n        }\n        if (word.endsWith(\"\\u0456\\u0442\\u044C\") && word.length > 5) {\n          return normalized(word.slice(0, -3) + \"\\u0438\\u0442\\u0438\", 0.8, {\n            removedSuffixes: [\"\\u0456\\u0442\\u044C\"],\n            conjugationType: \"imperative\"\n          });\n        }\n        if (word.endsWith(\"\\u0439\") && word.length > 3) {\n          return normalized(word.slice(0, -1) + \"\\u0442\\u0438\", 0.75, {\n            removedSuffixes: [\"\\u0439\"],\n            conjugationType: \"imperative\"\n          });\n        }\n        if (word.endsWith(\"\\u0438\") && word.length > 3) {\n          return normalized(word + \"\\u0442\\u0438\", 0.7, {\n            removedSuffixes: [\"\\u0438\\u2192\\u0438\\u0442\\u0438\"],\n            conjugationType: \"imperative\"\n          });\n        }\n        return null;\n      }\n      /**\n       * Try past tense → infinitive.\n       *\n       * Ukrainian past tense endings (differs from Russian):\n       * - masculine: -в (робив → робити)\n       * - feminine: -ла (робила → робити)\n       * - neuter: -ло (робило → робити)\n       * - plural: -ли (робили → робити)\n       */\n      tryPastTenseNormalization(word) {\n        if (word.endsWith(\"\\u0430\\u043B\\u0430\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0430\\u0442\\u0438\", 0.85, {\n            removedSuffixes: [\"\\u0430\\u043B\\u0430\"],\n            conjugationType: \"past\"\n          });\n        }\n        if (word.endsWith(\"\\u0438\\u043B\\u0430\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0438\\u0442\\u0438\", 0.85, {\n            removedSuffixes: [\"\\u0438\\u043B\\u0430\"],\n            conjugationType: \"past\"\n          });\n        }\n        if (word.endsWith(\"\\u0430\\u043B\\u0438\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0430\\u0442\\u0438\", 0.85, {\n            removedSuffixes: [\"\\u0430\\u043B\\u0438\"],\n            conjugationType: \"past\"\n          });\n        }\n        if (word.endsWith(\"\\u0438\\u043B\\u0438\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0438\\u0442\\u0438\", 0.85, {\n            removedSuffixes: [\"\\u0438\\u043B\\u0438\"],\n            conjugationType: \"past\"\n          });\n        }\n        if (word.endsWith(\"\\u0430\\u0432\") && word.length > 3) {\n          return normalized(word.slice(0, -2) + \"\\u0430\\u0442\\u0438\", 0.82, {\n            removedSuffixes: [\"\\u0430\\u0432\"],\n            conjugationType: \"past\"\n          });\n        }\n        if (word.endsWith(\"\\u0438\\u0432\") && word.length > 3) {\n          return normalized(word.slice(0, -2) + \"\\u0438\\u0442\\u0438\", 0.82, {\n            removedSuffixes: [\"\\u0438\\u0432\"],\n            conjugationType: \"past\"\n          });\n        }\n        return null;\n      }\n      /**\n       * Try present tense → infinitive.\n       *\n       * Ukrainian present tense endings:\n       * 1st conj: -ю/-у, -еш/-єш, -е/-є, -емо/-ємо, -ете/-єте, -ють/-уть\n       * 2nd conj: -ю/-у, -иш, -ить, -имо, -ите, -ять/-ать\n       */\n      tryPresentTenseNormalization(word) {\n        if (word.endsWith(\"\\u0438\\u0448\") && word.length > 3) {\n          return normalized(word.slice(0, -2) + \"\\u0438\\u0442\\u0438\", 0.8, {\n            removedSuffixes: [\"\\u0438\\u0448\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u0438\\u0442\\u044C\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0438\\u0442\\u0438\", 0.78, {\n            removedSuffixes: [\"\\u0438\\u0442\\u044C\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u0438\\u043C\\u043E\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0438\\u0442\\u0438\", 0.8, {\n            removedSuffixes: [\"\\u0438\\u043C\\u043E\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u044F\\u0442\\u044C\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0438\\u0442\\u0438\", 0.78, {\n            removedSuffixes: [\"\\u044F\\u0442\\u044C\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u0454\\u0448\") && word.length > 3) {\n          return normalized(word.slice(0, -2) + \"\\u0430\\u0442\\u0438\", 0.78, {\n            removedSuffixes: [\"\\u0454\\u0448\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u0435\\u0448\") && word.length > 3) {\n          return normalized(word.slice(0, -2) + \"\\u0430\\u0442\\u0438\", 0.75, {\n            removedSuffixes: [\"\\u0435\\u0448\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u0454\") && word.length > 2) {\n          return normalized(word.slice(0, -1) + \"\\u0430\\u0442\\u0438\", 0.72, {\n            removedSuffixes: [\"\\u0454\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u0454\\u043C\\u043E\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0430\\u0442\\u0438\", 0.8, {\n            removedSuffixes: [\"\\u0454\\u043C\\u043E\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u044E\\u0442\\u044C\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0430\\u0442\\u0438\", 0.78, {\n            removedSuffixes: [\"\\u044E\\u0442\\u044C\"],\n            conjugationType: \"present\"\n          });\n        }\n        if (word.endsWith(\"\\u0443\\u0442\\u044C\") && word.length > 4) {\n          return normalized(word.slice(0, -3) + \"\\u0430\\u0442\\u0438\", 0.75, {\n            removedSuffixes: [\"\\u0443\\u0442\\u044C\"],\n            conjugationType: \"present\"\n          });\n        }\n        return null;\n      }\n    };\n    ukrainianMorphologicalNormalizer = new UkrainianMorphologicalNormalizer();\n  }\n});\n\n// src/tokenizers/ukrainian.ts\nvar ukrainian_exports2 = {};\n__export(ukrainian_exports2, {\n  UkrainianTokenizer: () => UkrainianTokenizer,\n  ukrainianTokenizer: () => ukrainianTokenizer\n});\nvar PREPOSITIONS20, UKRAINIAN_EXTRAS, UkrainianTokenizer, ukrainianTokenizer;\nvar init_ukrainian2 = __esm({\n  \"src/tokenizers/ukrainian.ts\"() {\n    \"use strict\";\n    init_base();\n    init_ukrainian_normalizer();\n    init_ukrainian();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_cyrillic_keyword();\n    init_ascii_identifier();\n    PREPOSITIONS20 = /* @__PURE__ */ new Set([\n      \"\\u0432\",\n      // in\n      \"\\u0443\",\n      // in\n      \"\\u043D\\u0430\",\n      // on\n      \"\\u0437\",\n      // with, from\n      \"\\u0456\\u0437\",\n      // with (variant)\n      \"\\u0437\\u0456\",\n      // with (before consonant clusters)\n      \"\\u0434\\u043E\",\n      // to\n      \"\\u0432\\u0456\\u0434\",\n      // from\n      \"\\u043E\",\n      // about\n      \"\\u043E\\u0431\",\n      // about (before vowels)\n      \"\\u043F\\u0440\\u0438\",\n      // at, during\n      \"\\u0434\\u043B\\u044F\",\n      // for\n      \"\\u043F\\u0456\\u0434\",\n      // under\n      \"\\u043D\\u0430\\u0434\",\n      // above\n      \"\\u043F\\u0435\\u0440\\u0435\\u0434\",\n      // in front of\n      \"\\u043C\\u0456\\u0436\",\n      // between\n      \"\\u0447\\u0435\\u0440\\u0435\\u0437\",\n      // through\n      \"\\u0431\\u0435\\u0437\",\n      // without\n      \"\\u043F\\u043E\",\n      // along, by\n      \"\\u0437\\u0430\",\n      // behind, for\n      \"\\u043F\\u0440\\u043E\",\n      // about\n      \"\\u043F\\u0456\\u0441\\u043B\\u044F\",\n      // after\n      \"\\u043D\\u0430\\u0432\\u043A\\u043E\\u043B\\u043E\",\n      // around\n      \"\\u043F\\u0440\\u043E\\u0442\\u0438\",\n      // against\n      \"\\u0437\\u0430\\u043C\\u0456\\u0441\\u0442\\u044C\",\n      // instead of\n      \"\\u043A\\u0440\\u0456\\u043C\",\n      // except\n      \"\\u0441\\u0435\\u0440\\u0435\\u0434\",\n      // among\n      \"\\u043A\"\n      // to (less common)\n    ]);\n    UKRAINIAN_EXTRAS = [\n      // Fused event names (the i18n dict emits these WITHOUT `_`, since the tokenizer\n      // splits on `_` — see uk.ts events note). Recognize them so the event types as\n      // a literal, not a bare expression (window-resize, repeat-until-event).\n      { native: \"\\u043C\\u0438\\u0448\\u0430\\u0432\\u043D\\u0438\\u0437\", normalized: \"mousedown\" },\n      { native: \"\\u043C\\u0438\\u0448\\u0430\\u0432\\u0433\\u043E\\u0440\\u0443\", normalized: \"mouseup\" },\n      { native: \"\\u0437\\u043C\\u0456\\u043D\\u0430\\u0440\\u043E\\u0437\\u043C\\u0456\\u0440\\u0443\", normalized: \"resize\" },\n      // Values/Literals (not in profile - generic across all languages)\n      { native: \"\\u0456\\u0441\\u0442\\u0438\\u043D\\u0430\", normalized: \"true\" },\n      { native: \"\\u043F\\u0440\\u0430\\u0432\\u0434\\u0430\", normalized: \"true\" },\n      { native: \"\\u0445\\u0438\\u0431\\u043D\\u0456\\u0441\\u0442\\u044C\", normalized: \"false\" },\n      { native: \"null\", normalized: \"null\" },\n      { native: \"\\u043D\\u0435\\u0432\\u0438\\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u043E\", normalized: \"undefined\" },\n      // Time units (not in profile - handled by number parser)\n      { native: \"\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0430\", normalized: \"s\" },\n      { native: \"\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0438\", normalized: \"s\" },\n      { native: \"\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\", normalized: \"s\" },\n      { native: \"\\u043C\\u0456\\u043B\\u0456\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0430\", normalized: \"ms\" },\n      { native: \"\\u043C\\u0456\\u043B\\u0456\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0438\", normalized: \"ms\" },\n      { native: \"\\u043C\\u0456\\u043B\\u0456\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\", normalized: \"ms\" },\n      { native: \"\\u0445\\u0432\\u0438\\u043B\\u0438\\u043D\\u0430\", normalized: \"m\" },\n      { native: \"\\u0445\\u0432\\u0438\\u043B\\u0438\\u043D\\u0438\", normalized: \"m\" },\n      { native: \"\\u0445\\u0432\\u0438\\u043B\\u0438\\u043D\", normalized: \"m\" },\n      { native: \"\\u0433\\u043E\\u0434\\u0438\\u043D\\u0430\", normalized: \"h\" },\n      { native: \"\\u0433\\u043E\\u0434\\u0438\\u043D\\u0438\", normalized: \"h\" },\n      { native: \"\\u0433\\u043E\\u0434\\u0438\\u043D\", normalized: \"h\" },\n      // Positional (masculine nominative — the forms the i18n dict emits; the\n      // gendered variants below predate these but the base forms were never\n      // listed, so `останній <.message/> в #chat` never formed a positional\n      // query — see positional-keyword-drift.test.ts)\n      { native: \"\\u043F\\u0435\\u0440\\u0448\\u0438\\u0439\", normalized: \"first\" },\n      { native: \"\\u043E\\u0441\\u0442\\u0430\\u043D\\u043D\\u0456\\u0439\", normalized: \"last\" },\n      { native: \"\\u043D\\u0430\\u0441\\u0442\\u0443\\u043F\\u043D\\u0438\\u0439\", normalized: \"next\" },\n      { native: \"\\u043F\\u043E\\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0456\\u0439\", normalized: \"previous\" },\n      { native: \"\\u043D\\u0430\\u0439\\u0431\\u043B\\u0438\\u0436\\u0447\\u0438\\u0439\", normalized: \"closest\" },\n      { native: \"\\u0431\\u0430\\u0442\\u044C\\u043A\\u0456\\u0432\\u0441\\u044C\\u043A\\u0438\\u0439\", normalized: \"parent\" },\n      { native: \"\\u0432\\u0438\\u043F\\u0430\\u0434\\u043A\\u043E\\u0432\\u0438\\u0439\", normalized: \"random\" },\n      // Gendered forms (additional variants)\n      { native: \"\\u043F\\u0435\\u0440\\u0448\\u0430\", normalized: \"first\" },\n      // feminine\n      { native: \"\\u043F\\u0435\\u0440\\u0448\\u0435\", normalized: \"first\" },\n      // neuter\n      { native: \"\\u043E\\u0441\\u0442\\u0430\\u043D\\u043D\\u044F\", normalized: \"last\" },\n      // feminine\n      { native: \"\\u043E\\u0441\\u0442\\u0430\\u043D\\u043D\\u0454\", normalized: \"last\" },\n      // neuter\n      { native: \"\\u043D\\u0430\\u0441\\u0442\\u0443\\u043F\\u043D\\u0430\", normalized: \"next\" },\n      // feminine\n      { native: \"\\u043F\\u043E\\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u044F\", normalized: \"previous\" },\n      // feminine\n      { native: \"\\u043F\\u043E\\u0440\\u043E\\u0436\\u043D\\u044F\", normalized: \"empty\" },\n      // feminine\n      { native: \"\\u043F\\u043E\\u0440\\u043E\\u0436\\u043D\\u0454\", normalized: \"empty\" },\n      // neuter\n      { native: \"\\u043C\\u043E\\u044F\", normalized: \"my\" },\n      // feminine\n      { native: \"\\u043C\\u043E\\u0454\", normalized: \"my\" },\n      // neuter\n      { native: \"\\u043C\\u043E\\u0457\", normalized: \"my\" }\n      // plural\n    ];\n    UkrainianTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"uk\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(ukrainianProfile, UKRAINIAN_EXTRAS);\n        this.setNormalizer(new UkrainianMorphologicalNormalizer());\n        this.registerExtractors([\n          ...getHyperscriptExtractors(),\n          // CSS, URL, property access, variable refs, event modifiers\n          ...createUkrainianExtractors(),\n          // Ukrainian keywords with morphology\n          new StringLiteralExtractor(),\n          new NumberExtractor(),\n          new AsciiIdentifierExtractor(),\n          // ASCII identifiers (for mixed content)\n          new OperatorExtractor(),\n          new PunctuationExtractor()\n        ]);\n      }\n      classifyToken(token) {\n        const lower = token.toLowerCase();\n        if (PREPOSITIONS20.has(lower)) return \"particle\";\n        if (this.isKeyword(lower)) return \"keyword\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"http\")) return \"url\";\n        return \"identifier\";\n      }\n    };\n    ukrainianTokenizer = new UkrainianTokenizer();\n  }\n});\n\n// src/tokenizers/he.ts\nvar he_exports2 = {};\n__export(he_exports2, {\n  HebrewTokenizer: () => HebrewTokenizer,\n  hebrewTokenizer: () => hebrewTokenizer\n});\nvar PREPOSITIONS21, HEBREW_EXTRAS, HebrewTokenizer, hebrewTokenizer;\nvar init_he2 = __esm({\n  \"src/tokenizers/he.ts\"() {\n    \"use strict\";\n    init_base();\n    init_he();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_hebrew_keyword();\n    init_hebrew_proclitic();\n    init_ascii_identifier();\n    PREPOSITIONS21 = /* @__PURE__ */ new Set([\n      \"\\u05E2\\u05DC\",\n      // al (on, upon)\n      \"\\u05D0\\u05EA\",\n      // et (direct object marker)\n      \"\\u05D0\\u05DC\",\n      // el (to, toward)\n      \"\\u05DE\\u05DF\",\n      // min (from)\n      \"\\u05E2\\u05DD\",\n      // im (with)\n      \"\\u05D1\\u05EA\\u05D5\\u05DA\",\n      // betoch (inside)\n      \"\\u05DE\\u05EA\\u05D5\\u05DA\",\n      // mitoch (from inside)\n      \"\\u05DC\\u05D9\\u05D3\",\n      // leyad (next to)\n      \"\\u05D0\\u05D7\\u05E8\\u05D9\",\n      // acharey (after)\n      \"\\u05DC\\u05E4\\u05E0\\u05D9\",\n      // lifney (before)\n      \"\\u05D1\\u05D9\\u05DF\",\n      // beyn (between)\n      \"\\u05E2\\u05D3\",\n      // ad (until)\n      \"\\u05E9\\u05DC\"\n      // shel (of - possessive)\n    ]);\n    HEBREW_EXTRAS = [\n      // Values/Literals\n      { native: \"\\u05D0\\u05DE\\u05EA\", normalized: \"true\" },\n      { native: \"\\u05E9\\u05E7\\u05E8\", normalized: \"false\" },\n      { native: \"null\", normalized: \"null\" },\n      { native: \"\\u05E8\\u05D9\\u05E7\", normalized: \"null\" },\n      { native: \"\\u05DC\\u05D0 \\u05DE\\u05D5\\u05D2\\u05D3\\u05E8\", normalized: \"undefined\" },\n      // Positional\n      { native: \"\\u05E8\\u05D0\\u05E9\\u05D5\\u05DF\", normalized: \"first\" },\n      { native: \"\\u05D0\\u05D7\\u05E8\\u05D5\\u05DF\", normalized: \"last\" },\n      { native: \"\\u05D4\\u05D1\\u05D0\", normalized: \"next\" },\n      { native: \"\\u05D4\\u05E7\\u05D5\\u05D3\\u05DD\", normalized: \"previous\" },\n      { native: \"\\u05D4\\u05E7\\u05E8\\u05D5\\u05D1\", normalized: \"closest\" },\n      { native: \"\\u05D4\\u05D5\\u05E8\\u05D4\", normalized: \"parent\" },\n      // Events\n      { native: \"\\u05DC\\u05D7\\u05D9\\u05E6\\u05D4\", normalized: \"click\" },\n      { native: \"\\u05E7\\u05DC\\u05D9\\u05E7\", normalized: \"click\" },\n      { native: \"\\u05E7\\u05DC\\u05D8\", normalized: \"input\" },\n      { native: \"\\u05E9\\u05D9\\u05E0\\u05D5\\u05D9\", normalized: \"change\" },\n      { native: \"\\u05E9\\u05DC\\u05D9\\u05D7\\u05D4\", normalized: \"submit\" },\n      { native: \"\\u05DE\\u05D9\\u05E7\\u05D5\\u05D3\", normalized: \"focus\" },\n      { native: \"\\u05D8\\u05E9\\u05D8\\u05D5\\u05E9\", normalized: \"blur\" },\n      { native: \"\\u05DC\\u05D7\\u05D9\\u05E6\\u05EA \\u05DE\\u05E7\\u05E9\", normalized: \"keydown\" },\n      { native: \"\\u05E9\\u05D7\\u05E8\\u05D5\\u05E8 \\u05DE\\u05E7\\u05E9\", normalized: \"keyup\" },\n      { native: \"\\u05DE\\u05E2\\u05D1\\u05E8 \\u05E2\\u05DB\\u05D1\\u05E8\", normalized: \"mouseover\" },\n      { native: \"\\u05D9\\u05E6\\u05D9\\u05D0\\u05EA \\u05E2\\u05DB\\u05D1\\u05E8\", normalized: \"mouseout\" },\n      // Standard DOM event names commonly written in English even in Hebrew code.\n      // The i18n dictionary has no Hebrew form for these, so the grammar\n      // transformer passes them through verbatim — register them so the emitted\n      // `ב load …` / `ב scroll …` handlers tokenize the event token.\n      { native: \"load\", normalized: \"load\" },\n      { native: \"resize\", normalized: \"resize\" },\n      { native: \"scroll\", normalized: \"scroll\" },\n      { native: \"keydown\", normalized: \"keydown\" },\n      { native: \"keyup\", normalized: \"keyup\" },\n      { native: \"mousedown\", normalized: \"mousedown\" },\n      { native: \"mouseup\", normalized: \"mouseup\" },\n      { native: \"\\u05D8\\u05E2\\u05D9\\u05E0\\u05D4\", normalized: \"load\" },\n      { native: \"\\u05D2\\u05DC\\u05D9\\u05DC\\u05D4\", normalized: \"scroll\" },\n      // References (feminine forms not in profile)\n      { native: \"\\u05D4\\u05D9\\u05D0\", normalized: \"it\" },\n      // feminine \"it\"\n      { native: \"\\u05D4\\u05D5\\u05D0\", normalized: \"it\" },\n      // masculine \"it\"\n      // את is deliberately NOT mapped to 'you' (the feminine-you homonym): the\n      // transformer emits את exclusively as the ACCUSATIVE marker (`שלח את\n      // refresh`) — profile roleMarkers.patient.primary — and the you-reading\n      // poisoned every verb+את clause (send/trigger/tell/wait/add: the 15-lossy\n      // he tail). PREPOSITIONS above keeps it tokenizing as the object particle.\n      // Time units\n      { native: \"\\u05E9\\u05E0\\u05D9\\u05D9\\u05D4\", normalized: \"s\" },\n      { native: \"\\u05E9\\u05E0\\u05D9\\u05D5\\u05EA\", normalized: \"s\" },\n      { native: \"\\u05DE\\u05D9\\u05DC\\u05D9\\u05E9\\u05E0\\u05D9\\u05D9\\u05D4\", normalized: \"ms\" },\n      { native: \"\\u05D3\\u05E7\\u05D4\", normalized: \"m\" },\n      { native: \"\\u05D3\\u05E7\\u05D5\\u05EA\", normalized: \"m\" },\n      { native: \"\\u05E9\\u05E2\\u05D4\", normalized: \"h\" },\n      { native: \"\\u05E9\\u05E2\\u05D5\\u05EA\", normalized: \"h\" }\n    ];\n    HebrewTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"he\";\n        this.direction = \"rtl\";\n        this.initializeKeywordsFromProfile(hebrewProfile, HEBREW_EXTRAS);\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractor(new AsciiIdentifierExtractor());\n        this.registerExtractor(createHebrewProcliticExtractor());\n        this.registerExtractors(createHebrewExtractors());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      // NOTE: do NOT drop את from the stream — ~40 generated he patterns embed it\n      // as a required literal before {patient}. The send/trigger/tell/wait gap is\n      // covered by את-tolerant handcrafted patterns instead (patterns/he-accusative).\n      classifyToken(token) {\n        if (PREPOSITIONS21.has(token)) return \"particle\";\n        if (this.isKeyword(token)) return \"keyword\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\"#\") || token.startsWith(\".\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(token)) return \"literal\";\n        if ([\"==\", \"!=\", \"<=\", \">=\", \"<\", \">\", \"&&\", \"||\", \"!\"].includes(token)) return \"operator\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"http\")) return \"url\";\n        return \"identifier\";\n      }\n      // tryPreposition(), tryPrefixConjunction(), tryEventMarkerPrefix(),\n      // extractHebrewWord(), extractAsciiWord(), extractHebrewNumber() methods removed\n      // Now handled by HebrewProcliticExtractor and HebrewKeywordExtractor (context-aware)\n    };\n    hebrewTokenizer = new HebrewTokenizer();\n  }\n});\n\n// src/tokenizers/morphology/hindi-normalizer.ts\nfunction looksLikeHindiVerb(word) {\n  return /[\\u0900-\\u097F\\u0A8E-\\u0A8F]/u.test(word);\n}\nvar SUFFIX_RULES, HindiMorphologicalNormalizer, hindiMorphologicalNormalizer;\nvar init_hindi_normalizer = __esm({\n  \"src/tokenizers/morphology/hindi-normalizer.ts\"() {\n    \"use strict\";\n    init_types();\n    SUFFIX_RULES = [\n      // Progressive forms (longest first)\n      { suffix: \" \\u0930\\u0939\\u093E \\u0939\\u0948\", replacement: \"\", confidence: 0.82, type: \"progressive\", minStemLength: 1 },\n      { suffix: \" \\u0930\\u0939\\u0940 \\u0939\\u0948\", replacement: \"\", confidence: 0.82, type: \"progressive\", minStemLength: 1 },\n      { suffix: \" \\u0930\\u0939\\u0947 \\u0939\\u0948\\u0902\", replacement: \"\", confidence: 0.82, type: \"progressive\", minStemLength: 1 },\n      { suffix: \"\\u0930\\u0939\\u093E\", replacement: \"\", confidence: 0.82, type: \"progressive\", minStemLength: 1 },\n      { suffix: \"\\u0930\\u0939\\u0940\", replacement: \"\", confidence: 0.82, type: \"progressive\", minStemLength: 1 },\n      { suffix: \"\\u0930\\u0939\\u0947\", replacement: \"\", confidence: 0.82, type: \"progressive\", minStemLength: 1 },\n      // Future tense (longest first)\n      { suffix: \"\\u0942\\u0902\\u0917\\u093E\", replacement: \"\", confidence: 0.85, type: \"future\", minStemLength: 1 },\n      { suffix: \"\\u0942\\u0902\\u0917\\u0940\", replacement: \"\", confidence: 0.85, type: \"future\", minStemLength: 1 },\n      { suffix: \"\\u0947\\u0917\\u093E\", replacement: \"\", confidence: 0.85, type: \"future\", minStemLength: 1 },\n      { suffix: \"\\u0947\\u0917\\u0940\", replacement: \"\", confidence: 0.85, type: \"future\", minStemLength: 1 },\n      { suffix: \"\\u0947\\u0902\\u0917\\u0947\", replacement: \"\", confidence: 0.85, type: \"future\", minStemLength: 1 },\n      // Habitual present (longest first)\n      { suffix: \"\\u0924\\u093E \\u0939\\u0948\", replacement: \"\", confidence: 0.85, type: \"present\", minStemLength: 1 },\n      { suffix: \"\\u0924\\u0940 \\u0939\\u0948\", replacement: \"\", confidence: 0.85, type: \"present\", minStemLength: 1 },\n      { suffix: \"\\u0924\\u0947 \\u0939\\u0948\\u0902\", replacement: \"\", confidence: 0.85, type: \"present\", minStemLength: 1 },\n      { suffix: \"\\u0924\\u093E\", replacement: \"\", confidence: 0.85, type: \"present\", minStemLength: 1 },\n      { suffix: \"\\u0924\\u0940\", replacement: \"\", confidence: 0.85, type: \"present\", minStemLength: 1 },\n      { suffix: \"\\u0924\\u0947\", replacement: \"\", confidence: 0.85, type: \"present\", minStemLength: 1 },\n      // Infinitive marker -ना (dictionary form) - MUST come before single-char past tense markers\n      { suffix: \"\\u0928\\u093E\", replacement: \"\", confidence: 0.9, type: \"dictionary\", minStemLength: 1 },\n      // Past tense (longer forms first)\n      { suffix: \"\\u093E\\u092F\\u093E\", replacement: \"\", confidence: 0.82, type: \"past\", minStemLength: 1 },\n      { suffix: \"\\u093E\\u092F\\u0940\", replacement: \"\", confidence: 0.82, type: \"past\", minStemLength: 1 },\n      { suffix: \"\\u093E\\u092F\\u0947\", replacement: \"\", confidence: 0.82, type: \"past\", minStemLength: 1 },\n      { suffix: \"\\u092F\\u093E\", replacement: \"\", confidence: 0.82, type: \"past\", minStemLength: 1 },\n      { suffix: \"\\u093F\\u092F\\u0947\", replacement: \"\", confidence: 0.85, type: \"imperative\", minStemLength: 1 },\n      { suffix: \"\\u093F\\u090F\", replacement: \"\", confidence: 0.85, type: \"imperative\", minStemLength: 1 },\n      { suffix: \"\\u0908\", replacement: \"\", confidence: 0.82, type: \"past\", minStemLength: 1 },\n      { suffix: \"\\u090F\", replacement: \"\", confidence: 0.82, type: \"past\", minStemLength: 1 },\n      { suffix: \"\\u0947\\u0902\", replacement: \"\", confidence: 0.85, type: \"imperative\", minStemLength: 1 },\n      { suffix: \"\\u094B\", replacement: \"\", confidence: 0.85, type: \"imperative\", minStemLength: 1 },\n      { suffix: \"\\u093E\", replacement: \"\", confidence: 0.82, type: \"past\", minStemLength: 2 },\n      { suffix: \"\\u0940\", replacement: \"\", confidence: 0.82, type: \"past\", minStemLength: 2 },\n      { suffix: \"\\u0947\", replacement: \"\", confidence: 0.82, type: \"past\", minStemLength: 2 }\n    ];\n    HindiMorphologicalNormalizer = class {\n      constructor() {\n        this.language = \"hi\";\n      }\n      /**\n       * Check if a word might be a Hindi verb that can be normalized.\n       */\n      isNormalizable(word) {\n        if (word.length < 2) return false;\n        return looksLikeHindiVerb(word);\n      }\n      /**\n       * Normalize a Hindi word to its stem form.\n       */\n      normalize(word) {\n        const conjugationResult = this.tryConjugationNormalization(word);\n        if (conjugationResult) return conjugationResult;\n        return noChange(word);\n      }\n      /**\n       * Try to normalize a conjugated verb to its stem.\n       */\n      tryConjugationNormalization(word) {\n        for (const rule of SUFFIX_RULES) {\n          if (word.endsWith(rule.suffix)) {\n            const wordChars = Array.from(word);\n            const suffixChars = Array.from(rule.suffix);\n            const stemChars = wordChars.slice(0, wordChars.length - suffixChars.length);\n            const stem = stemChars.join(\"\") + rule.replacement;\n            const minLength = rule.minStemLength ?? 1;\n            if (stemChars.length < minLength) continue;\n            if (stem.length > 0 && !looksLikeHindiVerb(stem)) continue;\n            return normalized(stem, rule.confidence, {\n              removedSuffixes: [rule.suffix],\n              conjugationType: rule.type\n            });\n          }\n        }\n        return null;\n      }\n    };\n    hindiMorphologicalNormalizer = new HindiMorphologicalNormalizer();\n  }\n});\n\n// src/tokenizers/hindi.ts\nvar hindi_exports2 = {};\n__export(hindi_exports2, {\n  HindiTokenizer: () => HindiTokenizer,\n  hindiTokenizer: () => hindiTokenizer\n});\nvar SINGLE_POSTPOSITIONS3, HINDI_EXTRAS, HindiTokenizer, hindiTokenizer;\nvar init_hindi2 = __esm({\n  \"src/tokenizers/hindi.ts\"() {\n    \"use strict\";\n    init_base();\n    init_hindi_normalizer();\n    init_hindi();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_hindi_keyword();\n    init_hindi_particle();\n    init_ascii_identifier();\n    SINGLE_POSTPOSITIONS3 = /* @__PURE__ */ new Set([\"\\u0915\\u094B\", \"\\u092E\\u0947\\u0902\", \"\\u092A\\u0930\", \"\\u0938\\u0947\", \"\\u0915\\u093E\", \"\\u0915\\u0940\", \"\\u0915\\u0947\", \"\\u0924\\u0915\", \"\\u0928\\u0947\"]);\n    HINDI_EXTRAS = [\n      // Fused mousedown/mouseup (dict emits these WITHOUT `_` since the tokenizer\n      // splits on it — see hi.ts events note). repeat-until-event / handler events.\n      { native: \"\\u092E\\u093E\\u0909\\u0938\\u0928\\u0940\\u091A\\u0947\", normalized: \"mousedown\" },\n      { native: \"\\u092E\\u093E\\u0909\\u0938\\u090A\\u092A\\u0930\", normalized: \"mouseup\" },\n      // Values\n      { native: \"\\u0938\\u091A\", normalized: \"true\" },\n      { native: \"\\u0938\\u0924\\u094D\\u092F\", normalized: \"true\" },\n      { native: \"\\u091D\\u0942\\u0920\", normalized: \"false\" },\n      { native: \"\\u0905\\u0938\\u0924\\u094D\\u092F\", normalized: \"false\" },\n      { native: \"\\u0916\\u093E\\u0932\\u0940\", normalized: \"null\" },\n      { native: \"\\u0905\\u092A\\u0930\\u093F\\u092D\\u093E\\u0937\\u093F\\u0924\", normalized: \"undefined\" },\n      // Positional\n      { native: \"\\u092A\\u0939\\u0932\\u093E\", normalized: \"first\" },\n      { native: \"\\u0905\\u0902\\u0924\\u093F\\u092E\", normalized: \"last\" },\n      { native: \"\\u0905\\u0917\\u0932\\u093E\", normalized: \"next\" },\n      { native: \"\\u092A\\u093F\\u091B\\u0932\\u093E\", normalized: \"previous\" },\n      { native: \"\\u0928\\u093F\\u0915\\u091F\\u0924\\u092E\", normalized: \"closest\" },\n      { native: \"\\u092E\\u0942\\u0932\", normalized: \"parent\" },\n      // Events\n      { native: \"\\u0915\\u094D\\u0932\\u093F\\u0915\", normalized: \"click\" },\n      { native: \"\\u092A\\u0930\\u093F\\u0935\\u0930\\u094D\\u0924\\u0928\", normalized: \"change\" },\n      { native: \"\\u091C\\u092E\\u093E\", normalized: \"submit\" },\n      { native: \"\\u0907\\u0928\\u092A\\u0941\\u091F\", normalized: \"input\" },\n      { native: \"\\u0932\\u094B\\u0921\", normalized: \"load\" },\n      { native: \"\\u0938\\u094D\\u0915\\u094D\\u0930\\u0949\\u0932\", normalized: \"scroll\" },\n      // Additional modifiers not in profile\n      { native: \"\\u0915\\u094B\", normalized: \"to\" },\n      { native: \"\\u0915\\u0947 \\u0938\\u093E\\u0925\", normalized: \"with\" }\n    ];\n    HindiTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"hi\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(hindiProfile, HINDI_EXTRAS);\n        this.normalizer = new HindiMorphologicalNormalizer();\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractor(new HindiParticleExtractor());\n        this.registerExtractor(new HindiKeywordExtractor());\n        this.registerExtractor(new AsciiIdentifierExtractor());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(value) {\n        if (SINGLE_POSTPOSITIONS3.has(value)) return \"particle\";\n        if (this.isKeyword(value)) return \"keyword\";\n        if (value.startsWith(\"/\") || value.startsWith(\"./\") || value.startsWith(\"../\") || value.startsWith(\"http\"))\n          return \"url\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(value))\n          return \"event-modifier\";\n        if (value.startsWith(\"#\") || value.startsWith(\".\") || value.startsWith(\"[\") || value.startsWith(\"*\") || value.startsWith(\"<\"))\n          return \"selector\";\n        if (value.startsWith('\"') || value.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(value)) return \"literal\";\n        if (value.startsWith(\":\")) return \"identifier\";\n        return \"identifier\";\n      }\n      // extractNumber() method removed - now handled by NumberExtractor\n    };\n    hindiTokenizer = new HindiTokenizer();\n  }\n});\n\n// src/tokenizers/morphology/bengali-normalizer.ts\nfunction looksLikeBengaliVerb(word) {\n  return /[\\u0980-\\u09FF]/u.test(word);\n}\nvar SUFFIX_RULES2, BengaliMorphologicalNormalizer, bengaliMorphologicalNormalizer;\nvar init_bengali_normalizer = __esm({\n  \"src/tokenizers/morphology/bengali-normalizer.ts\"() {\n    \"use strict\";\n    init_types();\n    SUFFIX_RULES2 = [\n      // Present progressive with auxiliary (longest first)\n      { suffix: \"\\u099A\\u09CD\\u099B\\u09C7 \\u0986\\u099B\\u09C7\", replacement: \"\", confidence: 0.82, type: \"progressive\", minStemLength: 1 },\n      { suffix: \"\\u099A\\u09CD\\u099B \\u0986\\u099B\\u09BF\", replacement: \"\", confidence: 0.82, type: \"progressive\", minStemLength: 1 },\n      {\n        suffix: \"\\u099A\\u09CD\\u099B\\u09C7\\u09A8 \\u0986\\u099B\\u09C7\\u09A8\",\n        replacement: \"\",\n        confidence: 0.82,\n        type: \"progressive\",\n        minStemLength: 1\n      },\n      // Present perfect (longer forms first)\n      { suffix: \"\\u09C7\\u099B\\u09C7\\u09A8\", replacement: \"\", confidence: 0.85, type: \"present\", minStemLength: 1 },\n      { suffix: \"\\u09C7\\u099B\\u09C7\", replacement: \"\", confidence: 0.85, type: \"present\", minStemLength: 1 },\n      { suffix: \"\\u09C7\\u099B\", replacement: \"\", confidence: 0.85, type: \"present\", minStemLength: 1 },\n      // Future tense\n      { suffix: \"\\u09AC\\u09C7\\u09A8\", replacement: \"\", confidence: 0.85, type: \"future\", minStemLength: 1 },\n      { suffix: \"\\u09AC\\u09C7\", replacement: \"\", confidence: 0.85, type: \"future\", minStemLength: 1 },\n      { suffix: \"\\u09AC\\u09CB\", replacement: \"\", confidence: 0.85, type: \"future\", minStemLength: 1 },\n      // Past tense\n      { suffix: \"\\u09B2\\u09C7\\u09A8\", replacement: \"\", confidence: 0.85, type: \"past\", minStemLength: 1 },\n      { suffix: \"\\u09B2\\u09CB\", replacement: \"\", confidence: 0.85, type: \"past\", minStemLength: 1 },\n      { suffix: \"\\u09B2\", replacement: \"\", confidence: 0.85, type: \"past\", minStemLength: 2 },\n      // Imperative forms\n      { suffix: \"\\u09C1\\u09A8\", replacement: \"\", confidence: 0.85, type: \"imperative\", minStemLength: 1 },\n      { suffix: \"\\u09CB\", replacement: \"\", confidence: 0.85, type: \"imperative\", minStemLength: 1 },\n      // Progressive forms (without auxiliary)\n      { suffix: \"\\u099A\\u09CD\\u099B\\u09C7\", replacement: \"\", confidence: 0.82, type: \"progressive\", minStemLength: 1 },\n      { suffix: \"\\u099A\\u09CD\\u099B\", replacement: \"\", confidence: 0.82, type: \"progressive\", minStemLength: 1 },\n      { suffix: \"\\u099A\\u09CD\\u099B\\u09BF\", replacement: \"\", confidence: 0.82, type: \"progressive\", minStemLength: 1 },\n      // Infinitive marker -া (dictionary form) - MUST come before single-char markers\n      { suffix: \"\\u09BE\", replacement: \"\", confidence: 0.9, type: \"dictionary\", minStemLength: 1 },\n      // Present simple forms\n      { suffix: \"\\u09C7\", replacement: \"\", confidence: 0.85, type: \"present\", minStemLength: 2 },\n      { suffix: \"\\u09BF\", replacement: \"\", confidence: 0.85, type: \"present\", minStemLength: 2 },\n      { suffix: \"\\u09CB\", replacement: \"\", confidence: 0.85, type: \"present\", minStemLength: 2 }\n    ];\n    BengaliMorphologicalNormalizer = class {\n      constructor() {\n        this.language = \"bn\";\n      }\n      /**\n       * Check if a word might be a Bengali verb that can be normalized.\n       */\n      isNormalizable(word) {\n        if (word.length < 2) return false;\n        return looksLikeBengaliVerb(word);\n      }\n      /**\n       * Normalize a Bengali word to its stem form.\n       */\n      normalize(word) {\n        const conjugationResult = this.tryConjugationNormalization(word);\n        if (conjugationResult) return conjugationResult;\n        return noChange(word);\n      }\n      /**\n       * Try to normalize a conjugated verb to its stem.\n       */\n      tryConjugationNormalization(word) {\n        for (const rule of SUFFIX_RULES2) {\n          if (word.endsWith(rule.suffix)) {\n            const wordChars = Array.from(word);\n            const suffixChars = Array.from(rule.suffix);\n            const stemChars = wordChars.slice(0, wordChars.length - suffixChars.length);\n            const stem = stemChars.join(\"\") + rule.replacement;\n            const minLength = rule.minStemLength ?? 1;\n            if (stemChars.length < minLength) continue;\n            if (stem.length > 0 && !looksLikeBengaliVerb(stem)) continue;\n            return normalized(stem, rule.confidence, {\n              removedSuffixes: [rule.suffix],\n              conjugationType: rule.type\n            });\n          }\n        }\n        return null;\n      }\n    };\n    bengaliMorphologicalNormalizer = new BengaliMorphologicalNormalizer();\n  }\n});\n\n// src/tokenizers/bengali.ts\nvar bengali_exports2 = {};\n__export(bengali_exports2, {\n  BengaliTokenizer: () => BengaliTokenizer,\n  bengaliTokenizer: () => bengaliTokenizer\n});\nvar SINGLE_POSTPOSITIONS4, BENGALI_EXTRAS, BengaliTokenizer, bengaliTokenizer;\nvar init_bengali2 = __esm({\n  \"src/tokenizers/bengali.ts\"() {\n    \"use strict\";\n    init_base();\n    init_bengali_normalizer();\n    init_bengali();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_bengali_keyword();\n    init_bengali_particle();\n    init_ascii_identifier();\n    SINGLE_POSTPOSITIONS4 = /* @__PURE__ */ new Set([\n      \"\\u0995\\u09C7\",\n      \"\\u09A4\\u09C7\",\n      \"\\u09A5\\u09C7\\u0995\\u09C7\",\n      \"\\u09B0\",\n      \"\\u098F\\u09B0\",\n      \"\\u09A6\\u09BF\\u09AF\\u09BC\\u09C7\",\n      \"\\u099C\\u09A8\\u09CD\\u09AF\",\n      \"\\u09AA\\u09B0\\u09CD\\u09AF\\u09A8\\u09CD\\u09A4\",\n      \"\\u098F\",\n      // locative \"at/on/in\" — marks events (ক্লিক এ = \"on click\")\n      \"\\u09AE\\u09A7\\u09CD\\u09AF\\u09C7\"\n      // \"in/within\"\n    ]);\n    BENGALI_EXTRAS = [\n      // Values\n      { native: \"\\u09B8\\u09A4\\u09CD\\u09AF\", normalized: \"true\" },\n      { native: \"\\u09AE\\u09BF\\u09A5\\u09CD\\u09AF\\u09BE\", normalized: \"false\" },\n      { native: \"\\u09B6\\u09C2\\u09A8\\u09CD\\u09AF\", normalized: \"null\" },\n      { native: \"\\u0985\\u09A8\\u09BF\\u09B0\\u09CD\\u09A7\\u09BE\\u09B0\\u09BF\\u09A4\", normalized: \"undefined\" },\n      // Positional\n      { native: \"\\u09AA\\u09CD\\u09B0\\u09A5\\u09AE\", normalized: \"first\" },\n      // Note: 'শেষ' means both 'end' and 'last' in Bengali - profile has it as 'end'\n      { native: \"\\u09AA\\u09B0\\u09AC\\u09B0\\u09CD\\u09A4\\u09C0\", normalized: \"next\" },\n      { native: \"\\u0986\\u0997\\u09C7\\u09B0\", normalized: \"previous\" },\n      { native: \"\\u09A8\\u09BF\\u0995\\u099F\\u09A4\\u09AE\", normalized: \"closest\" },\n      { native: \"\\u09AE\\u09C2\\u09B2\", normalized: \"parent\" },\n      // Events\n      { native: \"\\u0995\\u09CD\\u09B2\\u09BF\\u0995\", normalized: \"click\" },\n      { native: \"\\u099C\\u09AE\\u09BE\", normalized: \"submit\" },\n      { native: \"\\u0987\\u09A8\\u09AA\\u09C1\\u099F\", normalized: \"input\" },\n      { native: \"\\u09B2\\u09CB\\u09A1\", normalized: \"load\" },\n      { native: \"\\u09B8\\u09CD\\u0995\\u09CD\\u09B0\\u09CB\\u09B2\", normalized: \"scroll\" },\n      // Additional modifiers not in profile\n      { native: \"\\u0995\\u09C7\", normalized: \"to\" },\n      { native: \"\\u09B8\\u09BE\\u09A5\\u09C7\", normalized: \"with\" }\n    ];\n    BengaliTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"bn\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(bengaliProfile, BENGALI_EXTRAS);\n        this.setNormalizer(bengaliMorphologicalNormalizer);\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractor(new BengaliParticleExtractor());\n        this.registerExtractor(new BengaliKeywordExtractor());\n        this.registerExtractor(new AsciiIdentifierExtractor());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(value) {\n        if (SINGLE_POSTPOSITIONS4.has(value)) return \"particle\";\n        if (this.isKeyword(value)) return \"keyword\";\n        if (value.startsWith(\"/\") || value.startsWith(\"./\") || value.startsWith(\"../\") || value.startsWith(\"http\"))\n          return \"url\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(value))\n          return \"event-modifier\";\n        if (value.startsWith(\"#\") || value.startsWith(\".\") || value.startsWith(\"[\") || value.startsWith(\"*\") || value.startsWith(\"<\"))\n          return \"selector\";\n        if (value.startsWith('\"') || value.startsWith(\"'\")) return \"literal\";\n        if (/^\\d/.test(value)) return \"literal\";\n        if (value.startsWith(\":\")) return \"identifier\";\n        return \"identifier\";\n      }\n      // extractNumber() method removed - now handled by NumberExtractor\n    };\n    bengaliTokenizer = new BengaliTokenizer();\n  }\n});\n\n// src/tokenizers/thai.ts\nvar thai_exports2 = {};\n__export(thai_exports2, {\n  ThaiTokenizer: () => ThaiTokenizer,\n  thaiTokenizer: () => thaiTokenizer\n});\nvar THAI_EXTRAS, ThaiTokenizer, thaiTokenizer;\nvar init_thai2 = __esm({\n  \"src/tokenizers/thai.ts\"() {\n    \"use strict\";\n    init_base();\n    init_thai();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_thai_keyword();\n    THAI_EXTRAS = [\n      // Values/Literals\n      { native: \"\\u0E08\\u0E23\\u0E34\\u0E07\", normalized: \"true\" },\n      { native: \"\\u0E40\\u0E17\\u0E47\\u0E08\", normalized: \"false\" },\n      { native: \"\\u0E27\\u0E48\\u0E32\\u0E07\", normalized: \"null\" },\n      { native: \"\\u0E44\\u0E21\\u0E48\\u0E01\\u0E33\\u0E2B\\u0E19\\u0E14\", normalized: \"undefined\" },\n      // Positional\n      { native: \"\\u0E41\\u0E23\\u0E01\", normalized: \"first\" },\n      { native: \"\\u0E2A\\u0E38\\u0E14\\u0E17\\u0E49\\u0E32\\u0E22\", normalized: \"last\" },\n      { native: \"\\u0E16\\u0E31\\u0E14\\u0E44\\u0E1B\", normalized: \"next\" },\n      { native: \"\\u0E01\\u0E48\\u0E2D\\u0E19\\u0E2B\\u0E19\\u0E49\\u0E32\", normalized: \"previous\" },\n      { native: \"\\u0E43\\u0E01\\u0E25\\u0E49\\u0E2A\\u0E38\\u0E14\", normalized: \"closest\" },\n      { native: \"\\u0E15\\u0E49\\u0E19\\u0E17\\u0E32\\u0E07\", normalized: \"parent\" },\n      // Events\n      { native: \"\\u0E04\\u0E25\\u0E34\\u0E01\", normalized: \"click\" },\n      { native: \"\\u0E40\\u0E1B\\u0E25\\u0E35\\u0E48\\u0E22\\u0E19\\u0E41\\u0E1B\\u0E25\\u0E07\", normalized: \"change\" },\n      { native: \"\\u0E2A\\u0E48\\u0E07\", normalized: \"submit\" },\n      { native: \"\\u0E2D\\u0E34\\u0E19\\u0E1E\\u0E38\\u0E15\", normalized: \"input\" },\n      { native: \"\\u0E42\\u0E2B\\u0E25\\u0E14\", normalized: \"load\" },\n      { native: \"\\u0E40\\u0E25\\u0E37\\u0E48\\u0E2D\\u0E19\", normalized: \"scroll\" },\n      // Additional modifiers\n      { native: \"\\u0E40\\u0E27\\u0E25\\u0E32\", normalized: \"when\" },\n      { native: \"\\u0E44\\u0E1B\\u0E22\\u0E31\\u0E07\", normalized: \"to\" },\n      { native: \"\\u0E14\\u0E49\\u0E27\\u0E22\", normalized: \"with\" },\n      { native: \"\\u0E41\\u0E25\\u0E30\", normalized: \"and\" }\n    ];\n    ThaiTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"th\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(thaiProfile, THAI_EXTRAS);\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractors(createThaiExtractors());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(value) {\n        if (this.isKeyword(value)) return \"keyword\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(value))\n          return \"event-modifier\";\n        if (value.startsWith(\".\") || value.startsWith(\"#\") || value.startsWith(\"[\") || value.startsWith(\"*\") || value.startsWith(\"<\"))\n          return \"selector\";\n        if (value.startsWith(\":\")) return \"identifier\";\n        if (value.startsWith('\"') || value.startsWith(\"'\")) return \"literal\";\n        if (/^-?\\d/.test(value)) return \"literal\";\n        if (value.startsWith(\"/\") || value.startsWith(\"./\") || value.startsWith(\"http\")) return \"url\";\n        return \"identifier\";\n      }\n    };\n    thaiTokenizer = new ThaiTokenizer();\n  }\n});\n\n// src/tokenizers/ms.ts\nvar ms_exports2 = {};\n__export(ms_exports2, {\n  MalayTokenizer: () => MalayTokenizer,\n  malayTokenizer: () => malayTokenizer\n});\nvar MALAY_EXTRAS, MalayTokenizer, malayTokenizer;\nvar init_ms2 = __esm({\n  \"src/tokenizers/ms.ts\"() {\n    \"use strict\";\n    init_base();\n    init_ms();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_malay_keyword();\n    MALAY_EXTRAS = [\n      // Values/Literals\n      { native: \"benar\", normalized: \"true\" },\n      { native: \"salah\", normalized: \"false\" },\n      { native: \"kosong\", normalized: \"null\" },\n      { native: \"tak_tentu\", normalized: \"undefined\" },\n      // Positional\n      { native: \"pertama\", normalized: \"first\" },\n      { native: \"terakhir\", normalized: \"last\" },\n      { native: \"seterusnya\", normalized: \"next\" },\n      { native: \"sebelumnya\", normalized: \"previous\" },\n      { native: \"terdekat\", normalized: \"closest\" },\n      { native: \"induk\", normalized: \"parent\" },\n      // Events\n      { native: \"klik\", normalized: \"click\" },\n      { native: \"berubah\", normalized: \"change\" },\n      { native: \"ubah\", normalized: \"change\" },\n      // Alternative for change\n      { native: \"hantar\", normalized: \"submit\" },\n      { native: \"input\", normalized: \"input\" },\n      { native: \"masuk\", normalized: \"input\" },\n      // Alternative for input (means \"enter\")\n      { native: \"muat\", normalized: \"load\" },\n      { native: \"tatal\", normalized: \"scroll\" },\n      { native: \"hover\", normalized: \"hover\" }\n      // English loanword commonly used\n    ];\n    MalayTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"ms\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(malayProfile, MALAY_EXTRAS);\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractors(createMalayExtractors());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(token) {\n        if (this.isKeyword(token)) return \"keyword\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\".\") || token.startsWith(\"#\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith(\":\")) return \"identifier\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^-?\\d/.test(token)) return \"literal\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"http\")) return \"url\";\n        return \"identifier\";\n      }\n    };\n    malayTokenizer = new MalayTokenizer();\n  }\n});\n\n// src/tokenizers/morphology/tagalog-normalizer.ts\nfunction isTagalogLetter(char) {\n  const code = char.charCodeAt(0);\n  if (code >= 65 && code <= 90 || code >= 97 && code <= 122) {\n    return true;\n  }\n  return char === \"\\xF1\" || char === \"\\xD1\";\n}\nfunction containsTagalog(word) {\n  for (const char of word) {\n    if (isTagalogLetter(char)) return true;\n  }\n  return false;\n}\nfunction stripInfix(word) {\n  const lower = word.toLowerCase();\n  if (lower.length < 5) return null;\n  let consonantEnd = 0;\n  for (let i = 0; i < lower.length; i++) {\n    const char = lower[i];\n    if (!\"aeiou\".includes(char)) {\n      consonantEnd = i + 1;\n    } else {\n      break;\n    }\n  }\n  if (consonantEnd === 0) return null;\n  for (const infix of INFIXES) {\n    const expectedInfixPos = consonantEnd;\n    if (lower.slice(expectedInfixPos, expectedInfixPos + infix.length) === infix) {\n      const stem = lower.slice(0, consonantEnd) + lower.slice(expectedInfixPos + infix.length);\n      if (stem.length >= 3) {\n        return { stem, infix };\n      }\n    }\n  }\n  return null;\n}\nfunction stripReduplication(word) {\n  const lower = word.toLowerCase();\n  if (lower.length < 4) return { stem: lower, reduplicated: false };\n  const firstChar = lower[0];\n  const secondChar = lower[1];\n  if (!\"aeiou\".includes(firstChar) && \"aeiou\".includes(secondChar)) {\n    const remaining = lower.slice(2);\n    if (remaining.length >= 2 && remaining[0] === firstChar) {\n      return { stem: remaining, reduplicated: true };\n    }\n  }\n  return { stem: lower, reduplicated: false };\n}\nvar COMBINED_PREFIXES2, SINGLE_PREFIXES2, INFIXES, SUFFIXES4, TagalogMorphologicalNormalizer, tagalogMorphologicalNormalizer;\nvar init_tagalog_normalizer = __esm({\n  \"src/tokenizers/morphology/tagalog-normalizer.ts\"() {\n    \"use strict\";\n    init_types();\n    COMBINED_PREFIXES2 = [\n      // Causative combinations (5-6 chars)\n      { pattern: \"magpapa\", confidencePenalty: 0.15, prefixType: \"verb-marker\", minRemaining: 3 },\n      // magpa- + reduplication\n      { pattern: \"magpa\", confidencePenalty: 0.15, prefixType: \"verb-marker\", minRemaining: 3 },\n      // causative actor focus\n      { pattern: \"ipang\", confidencePenalty: 0.15, prefixType: \"verb-marker\", minRemaining: 3 },\n      // object focus + ligature\n      { pattern: \"ipag\", confidencePenalty: 0.15, prefixType: \"verb-marker\", minRemaining: 3 },\n      // benefactive object focus\n      { pattern: \"nagpa\", confidencePenalty: 0.15, prefixType: \"verb-marker\", minRemaining: 3 }\n      // past causative actor focus\n    ];\n    SINGLE_PREFIXES2 = [\n      // Actor focus markers (3 chars)\n      { pattern: \"mag\", confidencePenalty: 0.15, prefixType: \"verb-marker\", minRemaining: 3 },\n      // actor focus\n      { pattern: \"nag\", confidencePenalty: 0.15, prefixType: \"verb-marker\", minRemaining: 3 },\n      // past actor focus\n      { pattern: \"mang\", confidencePenalty: 0.15, prefixType: \"verb-marker\", minRemaining: 3 },\n      // actor focus (with assimilation)\n      { pattern: \"nang\", confidencePenalty: 0.15, prefixType: \"verb-marker\", minRemaining: 3 },\n      // past actor focus (with assimilation)\n      // Object focus markers (2 chars)\n      { pattern: \"ma\", confidencePenalty: 0.12, prefixType: \"verb-marker\", minRemaining: 3 },\n      // stative/abilitative\n      { pattern: \"na\", confidencePenalty: 0.12, prefixType: \"verb-marker\", minRemaining: 3 },\n      // past stative\n      // Object focus marker (1 char)\n      { pattern: \"i\", confidencePenalty: 0.15, prefixType: \"verb-marker\", minRemaining: 3 },\n      // object focus\n      // Causative marker (2 chars)\n      { pattern: \"pa\", confidencePenalty: 0.12, prefixType: \"verb-marker\", minRemaining: 3 }\n      // causative\n    ];\n    INFIXES = [\"um\", \"in\"];\n    SUFFIXES4 = [\n      // Patient focus (-in, -hin after vowel)\n      { pattern: \"hin\", confidencePenalty: 0.18, type: \"patient-focus\" },\n      { pattern: \"in\", confidencePenalty: 0.18, type: \"patient-focus\" },\n      // Locative focus (-an, -han after vowel)\n      { pattern: \"han\", confidencePenalty: 0.18, type: \"locative-focus\" },\n      { pattern: \"an\", confidencePenalty: 0.18, type: \"locative-focus\" }\n    ];\n    TagalogMorphologicalNormalizer = class {\n      constructor() {\n        this.language = \"tl\";\n      }\n      /**\n       * Check if a word might be a Tagalog word that can be normalized.\n       */\n      isNormalizable(word) {\n        if (!containsTagalog(word)) return false;\n        if (word.length < 2) return false;\n        return true;\n      }\n      /**\n       * Normalize a Tagalog word by stripping affixes.\n       */\n      normalize(word) {\n        let stem = word.toLowerCase();\n        let confidence = 1;\n        const removedPrefixes = [];\n        const removedSuffixes = [];\n        const appliedRules = [];\n        for (const rule of COMBINED_PREFIXES2) {\n          if (stem.startsWith(rule.pattern)) {\n            const remaining = stem.slice(rule.pattern.length);\n            const minLen = rule.minRemaining ?? 2;\n            if (remaining.length >= minLen) {\n              stem = remaining;\n              confidence -= rule.confidencePenalty;\n              removedPrefixes.push(rule.pattern);\n              appliedRules.push(`prefix:${rule.pattern}`);\n              break;\n            }\n          }\n        }\n        if (removedPrefixes.length === 0) {\n          for (const rule of SINGLE_PREFIXES2) {\n            if (stem.startsWith(rule.pattern)) {\n              const remaining = stem.slice(rule.pattern.length);\n              const minLen = rule.minRemaining ?? 2;\n              if (remaining.length >= minLen) {\n                stem = remaining;\n                confidence -= rule.confidencePenalty;\n                removedPrefixes.push(rule.pattern);\n                appliedRules.push(`prefix:${rule.pattern}`);\n                break;\n              }\n            }\n          }\n        }\n        const redupResult = stripReduplication(stem);\n        if (redupResult.reduplicated && redupResult.stem.length >= 2) {\n          stem = redupResult.stem;\n          confidence -= 0.1;\n          appliedRules.push(\"reduplication:CV\");\n        }\n        const infixResult = stripInfix(stem);\n        let infixStripped = false;\n        if (infixResult && infixResult.stem.length >= 2) {\n          stem = infixResult.stem;\n          confidence -= 0.18;\n          appliedRules.push(`infix:${infixResult.infix}`);\n          infixStripped = true;\n        }\n        if (!infixStripped) {\n          for (const rule of SUFFIXES4) {\n            if (stem.endsWith(rule.pattern)) {\n              const remaining = stem.slice(0, -rule.pattern.length);\n              if (remaining.length >= 2) {\n                stem = remaining;\n                confidence -= rule.confidencePenalty;\n                removedSuffixes.push(rule.pattern);\n                appliedRules.push(`suffix:${rule.pattern}`);\n                break;\n              }\n            }\n          }\n        }\n        confidence = Math.max(0.5, confidence);\n        if (removedPrefixes.length === 0 && removedSuffixes.length === 0 && appliedRules.length === 0) {\n          return noChange(word);\n        }\n        return normalized(stem, confidence, {\n          removedPrefixes,\n          removedSuffixes,\n          appliedRules\n        });\n      }\n    };\n    tagalogMorphologicalNormalizer = new TagalogMorphologicalNormalizer();\n  }\n});\n\n// src/tokenizers/tl.ts\nvar tl_exports2 = {};\n__export(tl_exports2, {\n  TagalogTokenizer: () => TagalogTokenizer,\n  tagalogTokenizer: () => tagalogTokenizer\n});\nvar TAGALOG_EXTRAS, TagalogTokenizer, tagalogTokenizer;\nvar init_tl2 = __esm({\n  \"src/tokenizers/tl.ts\"() {\n    \"use strict\";\n    init_base();\n    init_tl();\n    init_tagalog_normalizer();\n    init_generic_extractors();\n    init_extractor_helpers();\n    init_tagalog_keyword();\n    TAGALOG_EXTRAS = [\n      // Values/Literals\n      { native: \"totoo\", normalized: \"true\" },\n      { native: \"mali\", normalized: \"false\" },\n      { native: \"wala\", normalized: \"null\" },\n      { native: \"hindi_tinukoy\", normalized: \"undefined\" },\n      // Positional\n      { native: \"una\", normalized: \"first\" },\n      { native: \"huli\", normalized: \"last\" },\n      { native: \"susunod\", normalized: \"next\" },\n      { native: \"nakaraan\", normalized: \"previous\" },\n      { native: \"pinakamalapit\", normalized: \"closest\" },\n      { native: \"magulang\", normalized: \"parent\" },\n      // Events\n      { native: \"pindot\", normalized: \"click\" },\n      { native: \"pagbabago\", normalized: \"change\" },\n      { native: \"isumite\", normalized: \"submit\" },\n      { native: \"input\", normalized: \"input\" },\n      { native: \"karga\", normalized: \"load\" },\n      { native: \"mag_scroll\", normalized: \"scroll\" }\n    ];\n    TagalogTokenizer = class extends BaseTokenizer {\n      constructor() {\n        super();\n        this.language = \"tl\";\n        this.direction = \"ltr\";\n        this.initializeKeywordsFromProfile(tagalogProfile, TAGALOG_EXTRAS);\n        this.setNormalizer(tagalogMorphologicalNormalizer);\n        this.registerExtractors(getHyperscriptExtractors());\n        this.registerExtractor(new StringLiteralExtractor());\n        this.registerExtractor(new NumberExtractor());\n        this.registerExtractors(createTagalogExtractors());\n        this.registerExtractor(new OperatorExtractor());\n        this.registerExtractor(new PunctuationExtractor());\n      }\n      // tokenize() method removed - now uses extractor-based tokenization from BaseTokenizer\n      // All tokenization logic delegated to registered extractors (context-aware)\n      classifyToken(token) {\n        if (this.isKeyword(token)) return \"keyword\";\n        if (/^\\.(once|prevent|stop|debounce|throttle|queue)(\\(.*\\))?$/.test(token))\n          return \"event-modifier\";\n        if (token.startsWith(\".\") || token.startsWith(\"#\") || token.startsWith(\"[\") || token.startsWith(\"*\") || token.startsWith(\"<\"))\n          return \"selector\";\n        if (token.startsWith(\":\")) return \"identifier\";\n        if (token.startsWith('\"') || token.startsWith(\"'\")) return \"literal\";\n        if (/^-?\\d/.test(token)) return \"literal\";\n        if (token.startsWith(\"/\") || token.startsWith(\"./\") || token.startsWith(\"http\")) return \"url\";\n        return \"identifier\";\n      }\n    };\n    tagalogTokenizer = new TagalogTokenizer();\n  }\n});\n\n// src/patterns/event-handler.ts\nfunction normalizeEventName(event, language) {\n  const translations = eventNameTranslations[language];\n  if (translations && translations[event]) {\n    return translations[event];\n  }\n  return event.toLowerCase();\n}\nfunction localizeEventName(englishEvent, language) {\n  if (eventLocalizationDenylist[language]?.has(englishEvent)) {\n    return englishEvent;\n  }\n  return eventNameLocalizations[language]?.[englishEvent] ?? englishEvent;\n}\nfunction getEventHandlerPatternsBn() {\n  return [\n    // SOV pattern: ক্লিক তে .active কে টগল করুন\n    {\n      id: \"event-handler-bn-sov\",\n      language: \"bn\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"{event} \\u09A4\\u09C7 {action}\",\n        tokens: [\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"\\u09A4\\u09C7\", alternatives: [\"\\u098F\"] },\n          { type: \"role\", role: \"action\" }\n        ]\n      },\n      extraction: {\n        event: { position: 0 },\n        action: { position: 2 }\n      }\n    },\n    // With source: #button থেকে ক্লিক তে .active কে টগল করুন\n    {\n      id: \"event-handler-bn-with-source\",\n      language: \"bn\",\n      command: \"on\",\n      priority: 95,\n      template: {\n        format: \"{source} \\u09A5\\u09C7\\u0995\\u09C7 {event} \\u09A4\\u09C7 {action}\",\n        tokens: [\n          { type: \"role\", role: \"source\" },\n          { type: \"literal\", value: \"\\u09A5\\u09C7\\u0995\\u09C7\" },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"\\u09A4\\u09C7\", alternatives: [\"\\u098F\"] },\n          { type: \"role\", role: \"action\" }\n        ]\n      },\n      extraction: {\n        source: { position: 0 },\n        event: { marker: \"\\u09A4\\u09C7\", position: 2 },\n        action: { position: 4 }\n      }\n    },\n    // যখন pattern: যখন ক্লিক .active কে টগল করুন\n    {\n      id: \"event-handler-bn-when\",\n      language: \"bn\",\n      command: \"on\",\n      priority: 90,\n      template: {\n        format: \"\\u09AF\\u0996\\u09A8 {event} {action}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u09AF\\u0996\\u09A8\" },\n          { type: \"role\", role: \"event\" },\n          { type: \"role\", role: \"action\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        action: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsDe() {\n  return [\n    {\n      id: \"event-de-wenn-source\",\n      language: \"de\",\n      command: \"on\",\n      priority: 115,\n      template: {\n        format: \"wenn {event} von {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"wenn\", alternatives: [\"falls\", \"sobald\"] },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"von\", alternatives: [\"aus\"] },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"von\", markerAlternatives: [\"aus\"] }\n      }\n    },\n    {\n      id: \"event-de-wenn\",\n      language: \"de\",\n      command: \"on\",\n      priority: 105,\n      template: {\n        format: \"wenn {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"wenn\", alternatives: [\"falls\", \"sobald\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-de-bei-source\",\n      language: \"de\",\n      command: \"on\",\n      priority: 110,\n      template: {\n        format: \"bei {event} von {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"bei\", alternatives: [\"beim\"] },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"von\", alternatives: [\"aus\"] },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"von\", markerAlternatives: [\"aus\"] }\n      }\n    },\n    {\n      id: \"event-de-bei\",\n      language: \"de\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"bei {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"bei\", alternatives: [\"beim\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-de-auf\",\n      language: \"de\",\n      command: \"on\",\n      priority: 95,\n      template: {\n        format: \"auf {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"auf\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-de-im-falle\",\n      language: \"de\",\n      command: \"on\",\n      priority: 90,\n      template: {\n        format: \"im Falle von {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"im Falle von\", alternatives: [\"im Fall von\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsEn() {\n  return [\n    {\n      id: \"event-en-when-source\",\n      language: \"en\",\n      command: \"on\",\n      priority: 115,\n      template: {\n        format: \"when {event} from {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"when\" },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"from\" },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"from\" }\n      }\n    },\n    {\n      id: \"event-en-when\",\n      language: \"en\",\n      command: \"on\",\n      priority: 105,\n      template: {\n        format: \"when {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"when\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-en-source\",\n      language: \"en\",\n      command: \"on\",\n      priority: 110,\n      template: {\n        format: \"on {event} from {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"on\" },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"from\" },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"from\" }\n      }\n    },\n    {\n      id: \"event-en-standard\",\n      language: \"en\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"on {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"on\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-en-upon\",\n      language: \"en\",\n      command: \"on\",\n      priority: 98,\n      template: {\n        format: \"upon {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"upon\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-en-if\",\n      language: \"en\",\n      command: \"on\",\n      priority: 95,\n      template: {\n        format: \"if {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"if\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsEs() {\n  return [\n    {\n      id: \"event-es-native-al-source\",\n      language: \"es\",\n      command: \"on\",\n      priority: 115,\n      template: {\n        format: \"al {event} en {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"al\" },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"en\", alternatives: [\"de\"] },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"en\", markerAlternatives: [\"de\"] }\n      }\n    },\n    {\n      id: \"event-es-cuando-source\",\n      language: \"es\",\n      command: \"on\",\n      priority: 112,\n      template: {\n        format: \"cuando {event} en {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"cuando\" },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"en\", alternatives: [\"de\"] },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"en\", markerAlternatives: [\"de\"] }\n      }\n    },\n    {\n      id: \"event-es-native-al\",\n      language: \"es\",\n      command: \"on\",\n      priority: 108,\n      template: {\n        format: \"al {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"al\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-es-standard\",\n      language: \"es\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"en {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"en\", alternatives: [\"al\", \"cuando\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-es-source\",\n      language: \"es\",\n      command: \"on\",\n      priority: 110,\n      template: {\n        format: \"en {event} desde {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"en\", alternatives: [\"al\"] },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"desde\", alternatives: [\"de\"] },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"desde\", markerAlternatives: [\"de\"] }\n      }\n    },\n    {\n      id: \"event-es-when\",\n      language: \"es\",\n      command: \"on\",\n      priority: 95,\n      template: {\n        format: \"cuando {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"cuando\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-es-conditional-si\",\n      language: \"es\",\n      command: \"on\",\n      priority: 85,\n      template: {\n        format: \"si {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"si\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsFr() {\n  return [\n    {\n      id: \"event-fr-quand-source\",\n      language: \"fr\",\n      command: \"on\",\n      priority: 115,\n      template: {\n        format: \"quand {event} de {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"quand\", alternatives: [\"lorsque\"] },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"de\", alternatives: [\"depuis\"] },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"de\", markerAlternatives: [\"depuis\"] }\n      }\n    },\n    {\n      id: \"event-fr-quand\",\n      language: \"fr\",\n      command: \"on\",\n      priority: 105,\n      template: {\n        format: \"quand {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"quand\", alternatives: [\"lorsque\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-fr-sur-source\",\n      language: \"fr\",\n      command: \"on\",\n      priority: 110,\n      template: {\n        format: \"sur {event} de {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"sur\", alternatives: [\"lors de\"] },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"de\", alternatives: [\"depuis\"] },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"de\", markerAlternatives: [\"depuis\"] }\n      }\n    },\n    {\n      id: \"event-fr-sur\",\n      language: \"fr\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"sur {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"sur\", alternatives: [\"lors de\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-fr-si\",\n      language: \"fr\",\n      command: \"on\",\n      priority: 95,\n      template: {\n        format: \"si {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"si\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-fr-a\",\n      language: \"fr\",\n      command: \"on\",\n      priority: 90,\n      template: {\n        format: \"\\xE0 {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"\\xE0\", alternatives: [\"au\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsHi() {\n  return [\n    // Standard event: क्लिक पर ...\n    {\n      id: \"event-hi-standard\",\n      language: \"hi\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"{event} \\u092A\\u0930\",\n        tokens: [\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"\\u092A\\u0930\", alternatives: [\"\\u092E\\u0947\\u0902\", \"\\u091C\\u092C\"] }\n        ]\n      },\n      extraction: {\n        event: { position: 0 }\n      }\n    },\n    // With source: #button से क्लिक पर ...\n    {\n      id: \"event-hi-with-source\",\n      language: \"hi\",\n      command: \"on\",\n      priority: 95,\n      template: {\n        format: \"{source} \\u0938\\u0947 {event} \\u092A\\u0930\",\n        tokens: [\n          { type: \"role\", role: \"source\" },\n          { type: \"literal\", value: \"\\u0938\\u0947\" },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"\\u092A\\u0930\", alternatives: [\"\\u092E\\u0947\\u0902\", \"\\u091C\\u092C\"] }\n        ]\n      },\n      extraction: {\n        source: { position: 0 },\n        event: { marker: \"\\u0938\\u0947\", position: 2 }\n      }\n    },\n    // Bare event name: क्लिक\n    {\n      id: \"event-hi-bare\",\n      language: \"hi\",\n      command: \"on\",\n      priority: 80,\n      template: {\n        format: \"{event}\",\n        tokens: [{ type: \"role\", role: \"event\" }]\n      },\n      extraction: {\n        event: { position: 0 }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsId() {\n  return [\n    {\n      id: \"event-id-ketika-source\",\n      language: \"id\",\n      command: \"on\",\n      priority: 115,\n      template: {\n        format: \"ketika {event} dari {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"ketika\", alternatives: [\"saat\", \"waktu\"] },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"dari\" },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"dari\" }\n      }\n    },\n    {\n      id: \"event-id-ketika\",\n      language: \"id\",\n      command: \"on\",\n      priority: 105,\n      template: {\n        format: \"ketika {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"ketika\", alternatives: [\"saat\", \"waktu\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-id-pada-source\",\n      language: \"id\",\n      command: \"on\",\n      priority: 110,\n      template: {\n        format: \"pada {event} dari {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"pada\" },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"dari\" },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"dari\" }\n      }\n    },\n    {\n      id: \"event-id-pada\",\n      language: \"id\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"pada {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"pada\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-id-jika\",\n      language: \"id\",\n      command: \"on\",\n      priority: 95,\n      template: {\n        format: \"jika {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"jika\", alternatives: [\"kalau\", \"apabila\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-id-bila\",\n      language: \"id\",\n      command: \"on\",\n      priority: 90,\n      template: {\n        format: \"bila {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"bila\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsIt() {\n  return [\n    {\n      id: \"event-handler-it-full\",\n      language: \"it\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"su {event} {action}\",\n        tokens: [\n          { type: \"literal\", value: \"su\", alternatives: [\"quando\", \"al\", \"on\"] },\n          { type: \"role\", role: \"event\" },\n          { type: \"role\", role: \"action\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        action: { position: 2 }\n      }\n    },\n    {\n      id: \"event-handler-it-from\",\n      language: \"it\",\n      command: \"on\",\n      priority: 95,\n      template: {\n        format: \"su {event} da {source} {action}\",\n        tokens: [\n          { type: \"literal\", value: \"su\", alternatives: [\"quando\", \"al\", \"on\"] },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"da\", alternatives: [\"di\"] },\n          { type: \"role\", role: \"source\" },\n          { type: \"role\", role: \"action\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"da\", markerAlternatives: [\"di\"] },\n        action: { position: -1 }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsMs() {\n  return [\n    // Pattern: apabila {event} {body} - simple event handler\n    {\n      id: \"event-ms-apabila\",\n      language: \"ms\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"apabila {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"apabila\", alternatives: [\"bila\", \"ketika\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    // Pattern: apabila {event} dari {source} - with source\n    {\n      id: \"event-ms-apabila-source\",\n      language: \"ms\",\n      command: \"on\",\n      priority: 110,\n      template: {\n        format: \"apabila {event} dari {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"apabila\", alternatives: [\"bila\", \"ketika\"] },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"dari\" },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"dari\" }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsPl() {\n  return [\n    {\n      id: \"event-handler-pl-full\",\n      language: \"pl\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"gdy {event} na {source}\",\n        tokens: [\n          { type: \"literal\", value: \"gdy\", alternatives: [\"kiedy\", \"przy\", \"na\"] },\n          { type: \"role\", role: \"event\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"na\", alternatives: [\"w\", \"przy\", \"z\"] },\n              { type: \"role\", role: \"source\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: {\n          marker: \"na\",\n          markerAlternatives: [\"w\", \"przy\", \"z\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"event-handler-pl-simple\",\n      language: \"pl\",\n      command: \"on\",\n      priority: 90,\n      template: {\n        format: \"gdy {event}\",\n        tokens: [\n          { type: \"literal\", value: \"gdy\", alternatives: [\"kiedy\", \"przy\", \"na\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsPt() {\n  return [\n    {\n      id: \"event-pt-ao-source\",\n      language: \"pt\",\n      command: \"on\",\n      priority: 115,\n      template: {\n        format: \"ao {event} em {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"ao\", alternatives: [\"\\xE0\"] },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"em\", alternatives: [\"de\", \"no\", \"na\"] },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"em\", markerAlternatives: [\"de\", \"no\", \"na\"] }\n      }\n    },\n    {\n      id: \"event-pt-quando-source\",\n      language: \"pt\",\n      command: \"on\",\n      priority: 110,\n      template: {\n        format: \"quando {event} de {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"quando\" },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"de\", alternatives: [\"em\", \"no\", \"na\"] },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"de\", markerAlternatives: [\"em\", \"no\", \"na\"] }\n      }\n    },\n    {\n      id: \"event-pt-ao\",\n      language: \"pt\",\n      command: \"on\",\n      priority: 105,\n      template: {\n        format: \"ao {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"ao\", alternatives: [\"\\xE0\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-pt-quando\",\n      language: \"pt\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"quando {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"quando\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-pt-em\",\n      language: \"pt\",\n      command: \"on\",\n      priority: 95,\n      template: {\n        format: \"em {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"em\", alternatives: [\"no\", \"na\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-pt-se\",\n      language: \"pt\",\n      command: \"on\",\n      priority: 90,\n      template: {\n        format: \"se {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"se\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsQu() {\n  return [\n    {\n      // Prefix `when` reactive block: the grammar transformer emits `maykama`\n      // (dict `when`) as a leading conjunction, e.g. `maykama <cond> <body>`.\n      id: \"event-qu-maykama\",\n      language: \"qu\",\n      command: \"on\",\n      priority: 115,\n      template: {\n        format: \"maykama {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"maykama\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    // NOTE: there is deliberately no `event-qu-source` ({event} pi {source}\n    // manta {body}) wrapper. Its captured source was discarded unconditionally\n    // (the non-action buildEventHandler path drops wrapper roles other than\n    // `event`), while the shape it matched — a command's own from-phrase\n    // sitting right after the event in qu SOV order, e.g.\n    // `ñit'iy pi .items manta .active ta qichuy` — stole the manta phrase\n    // from the body command (remove lost its source and acted on `me`).\n    // The qu from-elsewhere corpus rows put the source phrase BEFORE the\n    // event phrase, so nothing legitimate matched this wrapper. With it gone,\n    // event-qu-standard matches and the body re-parse captures source+patient.\n    {\n      id: \"event-qu-kaqtin\",\n      language: \"qu\",\n      command: \"on\",\n      priority: 105,\n      template: {\n        format: \"{event} kaqtin {body}\",\n        tokens: [\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"kaqtin\", alternatives: [\"qtin\", \"ptin\"] }\n        ]\n      },\n      extraction: {\n        event: { position: 0 }\n      }\n    },\n    {\n      id: \"event-qu-standard\",\n      language: \"qu\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"{event} pi {body}\",\n        tokens: [\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"pi\", alternatives: [\"kaqpi\", \"kaqpim\"] }\n        ]\n      },\n      extraction: {\n        event: { position: 0 }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsRu() {\n  return [\n    {\n      id: \"event-handler-ru-full\",\n      language: \"ru\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"\\u043F\\u0440\\u0438 {event} \\u043D\\u0430 {source}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u0440\\u0438\", alternatives: [\"\\u043A\\u043E\\u0433\\u0434\\u0430\"] },\n          { type: \"role\", role: \"event\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u043D\\u0430\", alternatives: [\"\\u0432\", \"\\u043E\\u0442\"] },\n              { type: \"role\", role: \"source\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: {\n          marker: \"\\u043D\\u0430\",\n          markerAlternatives: [\"\\u0432\", \"\\u043E\\u0442\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"event-handler-ru-simple\",\n      language: \"ru\",\n      command: \"on\",\n      priority: 90,\n      template: {\n        format: \"\\u043F\\u0440\\u0438 {event}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u0440\\u0438\", alternatives: [\"\\u043A\\u043E\\u0433\\u0434\\u0430\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsSw() {\n  return [\n    {\n      id: \"event-sw-unapo-source\",\n      language: \"sw\",\n      command: \"on\",\n      priority: 115,\n      template: {\n        format: \"unapo {event} kutoka {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"unapo\", alternatives: [\"wakati wa\", \"wakati\"] },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"kutoka\" },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"kutoka\" }\n      }\n    },\n    {\n      id: \"event-sw-unapo\",\n      language: \"sw\",\n      command: \"on\",\n      priority: 105,\n      template: {\n        format: \"unapo {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"unapo\", alternatives: [\"wakati wa\", \"wakati\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-sw-kwa-source\",\n      language: \"sw\",\n      command: \"on\",\n      priority: 110,\n      template: {\n        format: \"kwa {event} kutoka {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"kwa\" },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"kutoka\" },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"kutoka\" }\n      }\n    },\n    {\n      id: \"event-sw-kwa\",\n      language: \"sw\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"kwa {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"kwa\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-sw-ikiwa\",\n      language: \"sw\",\n      command: \"on\",\n      priority: 95,\n      template: {\n        format: \"ikiwa {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"ikiwa\", alternatives: [\"kama\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-sw-baada-ya\",\n      language: \"sw\",\n      command: \"on\",\n      priority: 90,\n      template: {\n        format: \"baada ya {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"baada ya\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsTh() {\n  return [\n    // SVO pattern: เมื่อ คลิก สลับ .active\n    {\n      id: \"event-handler-th-svo\",\n      language: \"th\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"\\u0E40\\u0E21\\u0E37\\u0E48\\u0E2D {event} {action}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E40\\u0E21\\u0E37\\u0E48\\u0E2D\", alternatives: [\"\\u0E15\\u0E2D\\u0E19\"] },\n          { type: \"role\", role: \"event\" },\n          { type: \"role\", role: \"action\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        action: { position: 2 }\n      }\n    },\n    // With source: เมื่อ คลิก จาก #button สลับ .active\n    {\n      id: \"event-handler-th-with-source\",\n      language: \"th\",\n      command: \"on\",\n      priority: 95,\n      template: {\n        format: \"\\u0E40\\u0E21\\u0E37\\u0E48\\u0E2D {event} \\u0E08\\u0E32\\u0E01 {source} {action}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E40\\u0E21\\u0E37\\u0E48\\u0E2D\", alternatives: [\"\\u0E15\\u0E2D\\u0E19\"] },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"\\u0E08\\u0E32\\u0E01\" },\n          { type: \"role\", role: \"source\" },\n          { type: \"role\", role: \"action\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"\\u0E08\\u0E32\\u0E01\", position: 3 },\n        action: { position: 4 }\n      }\n    }\n  ];\n}\nfunction vsoPositionalPutPatterns(spec) {\n  const verbTok = spec.verbAlts ? { type: \"literal\", value: spec.verb, alternatives: spec.verbAlts } : { type: \"literal\", value: spec.verb };\n  const evTok = spec.eventMarkerAlts ? { type: \"literal\", value: spec.eventMarker, alternatives: spec.eventMarkerAlts } : { type: \"literal\", value: spec.eventMarker };\n  return [\"before\", \"after\"].map((manner) => {\n    const posTok = {\n      type: \"literal\",\n      value: manner === \"before\" ? spec.before : spec.after\n    };\n    const patientTok = { type: \"role\", role: \"patient\" };\n    const destTok = { type: \"role\", role: \"destination\" };\n    const eventTok = { type: \"role\", role: \"event\" };\n    const tokens = spec.order === \"verb-first\" ? [verbTok, patientTok, posTok, destTok, evTok, eventTok] : [evTok, eventTok, verbTok, patientTok, posTok, destTok];\n    const extraction = spec.order === \"verb-first\" ? {\n      action: { value: \"put\" },\n      patient: { position: 1 },\n      destination: { position: 3 },\n      event: { position: 5 },\n      manner: { default: { type: \"literal\", value: manner } }\n    } : {\n      action: { value: \"put\" },\n      event: { position: 1 },\n      patient: { position: 3 },\n      destination: { position: 5 },\n      manner: { default: { type: \"literal\", value: manner } }\n    };\n    return {\n      id: `put-event-${spec.lang}-vso-${manner}`,\n      language: spec.lang,\n      command: \"on\",\n      priority: 160,\n      template: { format: `${spec.lang} put ${manner}`, tokens },\n      extraction\n    };\n  });\n}\nfunction getEventHandlerPatternsTl() {\n  return [\n    ...vsoPositionalPutPatterns({\n      lang: \"tl\",\n      verb: \"ilagay\",\n      verbAlts: [\"maglagay\"],\n      eventMarker: \"kapag\",\n      eventMarkerAlts: [\"sa\"],\n      before: \"bago\",\n      after: \"matapos\",\n      order: \"verb-first\"\n    }),\n    // VSO with source: kapag [event] mula_sa [source] [body]\n    {\n      id: \"event-tl-kapag-source\",\n      language: \"tl\",\n      command: \"on\",\n      priority: 115,\n      template: {\n        format: \"kapag {event} mula_sa {source} {body}\",\n        tokens: [\n          // 'kung' is deliberately ABSENT: it is tl's IF keyword. Listing it as\n          // a kapag-alternative made if-first emissions (`kung <cond> kapag\n          // <event> …`, focus-trap) match THIS pattern with event=<cond's first\n          // token>, eating the if-clause. 'sa' stays (a genuine on-variant).\n          { type: \"literal\", value: \"kapag\", alternatives: [\"sa\"] },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"mula_sa\", alternatives: [\"galing_sa\"] },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"mula_sa\" }\n      }\n    },\n    // VSO simple: kapag [event] [body]\n    {\n      id: \"event-tl-kapag\",\n      language: \"tl\",\n      command: \"on\",\n      priority: 105,\n      template: {\n        format: \"kapag {event} {body}\",\n        tokens: [\n          // 'kung' deliberately absent — see event-tl-kapag-source above.\n          { type: \"literal\", value: \"kapag\", alternatives: [\"sa\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsUk() {\n  return [\n    ...vsoPositionalPutPatterns({\n      lang: \"uk\",\n      verb: \"\\u043F\\u043E\\u043A\\u043B\\u0430\\u0441\\u0442\\u0438\",\n      verbAlts: [\"\\u043F\\u043E\\u043A\\u043B\\u0430\\u0434\\u0438\", \"\\u043F\\u043E\\u043C\\u0456\\u0441\\u0442\\u0438\\u0442\\u0438\", \"\\u043F\\u043E\\u043C\\u0456\\u0441\\u0442\\u0438\", \"\\u0432\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u0438\", \"\\u0432\\u0441\\u0442\\u0430\\u0432\"],\n      eventMarker: \"\\u043F\\u0440\\u0438\",\n      eventMarkerAlts: [\"\\u043A\\u043E\\u043B\\u0438\"],\n      before: \"\\u0434\\u043E\",\n      after: \"\\u043F\\u0456\\u0441\\u043B\\u044F\",\n      order: \"event-first\"\n    }),\n    {\n      id: \"event-handler-uk-full\",\n      language: \"uk\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"\\u043F\\u0440\\u0438 {event} \\u043D\\u0430 {source}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u0440\\u0438\", alternatives: [\"\\u043A\\u043E\\u043B\\u0438\"] },\n          { type: \"role\", role: \"event\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u043D\\u0430\", alternatives: [\"\\u0432\", \"\\u0432\\u0456\\u0434\"] },\n              { type: \"role\", role: \"source\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: {\n          marker: \"\\u043D\\u0430\",\n          markerAlternatives: [\"\\u0432\", \"\\u0432\\u0456\\u0434\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"event-handler-uk-simple\",\n      language: \"uk\",\n      command: \"on\",\n      priority: 90,\n      template: {\n        format: \"\\u043F\\u0440\\u0438 {event}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u0440\\u0438\", alternatives: [\"\\u043A\\u043E\\u043B\\u0438\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsVi() {\n  return [\n    {\n      id: \"event-handler-vi-full\",\n      language: \"vi\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"khi {event} tr\\xEAn {source}\",\n        tokens: [\n          { type: \"literal\", value: \"khi\", alternatives: [\"l\\xFAc\", \"tr\\xEAn\"] },\n          { type: \"role\", role: \"event\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"tr\\xEAn\", alternatives: [\"t\\u1EA1i\"] },\n              { type: \"role\", role: \"source\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: {\n          marker: \"tr\\xEAn\",\n          markerAlternatives: [\"t\\u1EA1i\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"event-handler-vi-simple\",\n      language: \"vi\",\n      command: \"on\",\n      priority: 90,\n      template: {\n        format: \"khi {event}\",\n        tokens: [\n          { type: \"literal\", value: \"khi\", alternatives: [\"l\\xFAc\", \"tr\\xEAn\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsZh() {\n  return [\n    {\n      id: \"event-zh-temporal-source\",\n      language: \"zh\",\n      command: \"on\",\n      priority: 115,\n      template: {\n        format: \"{event} \\u7684\\u65F6\\u5019 \\u4ECE {source} {body}\",\n        tokens: [\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"\\u7684\\u65F6\\u5019\", alternatives: [\"\\u65F6\\u5019\", \"\\u65F6\"] },\n          { type: \"literal\", value: \"\\u4ECE\", alternatives: [\"\\u5728\"] },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 0 },\n        source: { marker: \"\\u4ECE\", markerAlternatives: [\"\\u5728\"] }\n      }\n    },\n    {\n      id: \"event-zh-source\",\n      language: \"zh\",\n      command: \"on\",\n      priority: 110,\n      template: {\n        format: \"\\u5F53 {event} \\u4ECE {source} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u5F53\" },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"\\u4ECE\", alternatives: [\"\\u5728\"] },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        source: { marker: \"\\u4ECE\", markerAlternatives: [\"\\u5728\"] }\n      }\n    },\n    {\n      id: \"event-zh-immediate\",\n      language: \"zh\",\n      command: \"on\",\n      priority: 108,\n      template: {\n        format: \"\\u4E00 {event} \\u5C31 {body}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u4E00\" },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"\\u5C31\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-zh-temporal\",\n      language: \"zh\",\n      command: \"on\",\n      priority: 105,\n      template: {\n        format: \"{event} \\u7684\\u65F6\\u5019 {body}\",\n        tokens: [\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"\\u7684\\u65F6\\u5019\", alternatives: [\"\\u65F6\\u5019\", \"\\u65F6\"] }\n        ]\n      },\n      extraction: {\n        event: { position: 0 }\n      }\n    },\n    {\n      id: \"event-zh-whenever\",\n      language: \"zh\",\n      command: \"on\",\n      priority: 103,\n      template: {\n        format: \"\\u6BCF\\u5F53 {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u6BCF\\u5F53\", alternatives: [\"\\u6BCF\\u6B21\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      // Circumfix `当 {event} 时 {body}` — the standard zh \"当…时\" (when…then)\n      // wrapper the i18n transformer emits for EVERY event handler. The plain\n      // `event-zh-standard` (`当 {event}`) below catches only the leading `当`\n      // and leaks the trailing `时` into the body: harmless for a single-command\n      // body (parseClause skips the stray `时`), but it stops the conditional\n      // fold firing — `parseBodyWithClauses` only folds a leading `if`/`unless`\n      // when it sits at clause-start (`currentClauseTokens.length === 0`), and the\n      // orphaned `时` makes the `如果` no longer first, collapsing the whole block\n      // into a flat `compound` (the §7n/§7r zh \"compound-collapse\"). Consuming the\n      // `时` here lets the body start cleanly at `如果` so the fold runs. Requires\n      // the leading `当`, so it never shadows the bare `点击 的时候` temporal form\n      // (event-zh-temporal) nor a `当 {event}` form with no trailing temporal.\n      id: \"event-zh-circumfix\",\n      language: \"zh\",\n      command: \"on\",\n      priority: 106,\n      template: {\n        format: \"\\u5F53 {event} \\u65F6 {body}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u5F53\" },\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"\\u65F6\", alternatives: [\"\\u7684\\u65F6\\u5019\", \"\\u65F6\\u5019\"] }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-zh-standard\",\n      language: \"zh\",\n      command: \"on\",\n      priority: 100,\n      template: {\n        format: \"\\u5F53 {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u5F53\" },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    },\n    {\n      id: \"event-zh-completion\",\n      language: \"zh\",\n      command: \"on\",\n      priority: 95,\n      template: {\n        format: \"{event} \\u4E86 {body}\",\n        tokens: [\n          { type: \"role\", role: \"event\" },\n          { type: \"literal\", value: \"\\u4E86\" }\n        ]\n      },\n      extraction: {\n        event: { position: 0 }\n      }\n    },\n    {\n      id: \"event-zh-conditional\",\n      language: \"zh\",\n      command: \"on\",\n      priority: 90,\n      template: {\n        format: \"\\u5982\\u679C {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u5982\\u679C\", alternatives: [\"\\u82E5\", \"\\u5047\\u5982\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: {\n        event: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getEventHandlerPatternsJa() {\n  return [\n    {\n      id: \"event-ja-when\",\n      language: \"ja\",\n      command: \"on\",\n      priority: 95,\n      template: {\n        format: \"\\u3068\\u304D {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u3068\\u304D\", alternatives: [\"\\u6642\", \"\\u3068\\u304D\\u306B\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: { event: { position: 1 } }\n    }\n  ];\n}\nfunction getEventHandlerPatternsTr() {\n  return [\n    {\n      id: \"event-tr-when\",\n      language: \"tr\",\n      command: \"on\",\n      priority: 95,\n      template: {\n        format: \"iken {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"iken\", alternatives: [\"durumunda\", \"oldu\\u011Funda\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: { event: { position: 1 } }\n    }\n  ];\n}\nfunction getEventHandlerPatternsAr() {\n  return [\n    ...vsoPositionalPutPatterns({\n      lang: \"ar\",\n      verb: \"\\u0636\\u0639\",\n      verbAlts: [\"\\u0627\\u062C\\u0639\\u0644\"],\n      eventMarker: \"\\u0639\\u0646\\u062F\",\n      eventMarkerAlts: [\"\\u0641\\u064A\", \"\\u0644\\u062F\\u0649\", \"\\u0639\\u0646\\u062F\\u0645\\u0627\", \"\\u062D\\u064A\\u0646\", \"\\u062D\\u064A\\u0646\\u0645\\u0627\", \"\\u0644\\u0645\\u0651\\u0627\", \"\\u0644\\u0645\\u0627\"],\n      before: \"\\u0642\\u0628\\u0644\",\n      after: \"\\u0628\\u0639\\u062F\",\n      order: \"verb-first\"\n    }),\n    {\n      id: \"event-ar-when\",\n      language: \"ar\",\n      command: \"on\",\n      priority: 95,\n      template: {\n        format: \"\\u0639\\u0646\\u062F\\u0645\\u0627 {event} {body}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0639\\u0646\\u062F\\u0645\\u0627\", alternatives: [\"\\u062D\\u064A\\u0646\", \"\\u0644\\u0645\\u0651\\u0627\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: { event: { position: 1 } }\n    }\n  ];\n}\nfunction getEventHandlerPatternsHe() {\n  return [\n    {\n      id: \"event-he-when\",\n      language: \"he\",\n      command: \"on\",\n      priority: 95,\n      template: {\n        format: \"\\u05DB\\u05D0\\u05E9\\u05E8 {event} {body}\",\n        tokens: [\n          // עם is he's WITH marker (fetch/render `עם method:\"POST\"` tails) — an\n          // event alternative here anchored phantom second handlers on those tails.\n          { type: \"literal\", value: \"\\u05DB\\u05D0\\u05E9\\u05E8\", alternatives: [\"\\u05DB\\u05E9\"] },\n          { type: \"role\", role: \"event\" }\n        ]\n      },\n      extraction: { event: { position: 1 } }\n    }\n  ];\n}\nfunction getEventHandlerPatternsForLanguage(language) {\n  switch (language) {\n    case \"bn\":\n      return getEventHandlerPatternsBn();\n    case \"de\":\n      return getEventHandlerPatternsDe();\n    case \"en\":\n      return getEventHandlerPatternsEn();\n    case \"es\":\n      return getEventHandlerPatternsEs();\n    case \"fr\":\n      return getEventHandlerPatternsFr();\n    case \"hi\":\n      return getEventHandlerPatternsHi();\n    case \"id\":\n      return getEventHandlerPatternsId();\n    case \"it\":\n      return getEventHandlerPatternsIt();\n    case \"ms\":\n      return getEventHandlerPatternsMs();\n    case \"pl\":\n      return getEventHandlerPatternsPl();\n    case \"pt\":\n      return getEventHandlerPatternsPt();\n    case \"qu\":\n      return getEventHandlerPatternsQu();\n    case \"ru\":\n      return getEventHandlerPatternsRu();\n    case \"sw\":\n      return getEventHandlerPatternsSw();\n    case \"th\":\n      return getEventHandlerPatternsTh();\n    case \"tl\":\n      return getEventHandlerPatternsTl();\n    case \"uk\":\n      return getEventHandlerPatternsUk();\n    case \"vi\":\n      return getEventHandlerPatternsVi();\n    case \"zh\":\n      return getEventHandlerPatternsZh();\n    case \"ja\":\n      return getEventHandlerPatternsJa();\n    case \"tr\":\n      return getEventHandlerPatternsTr();\n    case \"ar\":\n      return getEventHandlerPatternsAr();\n    case \"he\":\n      return getEventHandlerPatternsHe();\n    default:\n      return [];\n  }\n}\nvar eventNameTranslations, eventNameLocalizations, eventLocalizationDenylist;\nvar init_event_handler = __esm({\n  \"src/patterns/event-handler.ts\"() {\n    \"use strict\";\n    eventNameTranslations = {\n      // Korean event names → English\n      ko: {\n        \\uD074\\uB9AD: \"click\",\n        \\uC785\\uB825: \"input\",\n        \\uBCC0\\uACBD: \"change\",\n        \\uC81C\\uCD9C: \"submit\",\n        \\uD0A4\\uB2E4\\uC6B4: \"keydown\",\n        \\uD0A4\\uC5C5: \"keyup\",\n        \\uB9C8\\uC6B0\\uC2A4\\uC624\\uBC84: \"mouseover\",\n        \\uB9C8\\uC6B0\\uC2A4\\uC544\\uC6C3: \"mouseout\",\n        \\uB9C8\\uC6B0\\uC2A4\\uB2E4\\uC6B4: \"mousedown\",\n        \\uB9C8\\uC6B0\\uC2A4\\uC5C5: \"mouseup\",\n        \\uD3EC\\uCEE4\\uC2A4: \"focus\",\n        \\uBE14\\uB7EC: \"blur\",\n        \\uB85C\\uB4DC: \"load\",\n        \\uB9AC\\uC0AC\\uC774\\uC988: \"resize\",\n        \\uC2A4\\uD06C\\uB864: \"scroll\"\n      },\n      // Japanese event names → English\n      ja: {\n        \\u30AF\\u30EA\\u30C3\\u30AF: \"click\",\n        \\u5165\\u529B: \"input\",\n        \\u5909\\u66F4: \"change\",\n        \\u9001\\u4FE1: \"submit\",\n        \\u30AD\\u30FC\\u30C0\\u30A6\\u30F3: \"keydown\",\n        \\u30AD\\u30FC\\u30A2\\u30C3\\u30D7: \"keyup\",\n        \\u30AD\\u30FC\\u30D7\\u30EC\\u30B9: \"keypress\",\n        \\u30DE\\u30A6\\u30B9\\u30AA\\u30FC\\u30D0\\u30FC: \"mouseover\",\n        \\u30DE\\u30A6\\u30B9\\u30A2\\u30A6\\u30C8: \"mouseout\",\n        \\u30DE\\u30A6\\u30B9\\u62BC\\u4E0B: \"mousedown\",\n        \\u30DE\\u30A6\\u30B9\\u89E3\\u653E: \"mouseup\",\n        \\u30D5\\u30A9\\u30FC\\u30AB\\u30B9: \"focus\",\n        \\u30D6\\u30E9\\u30FC: \"blur\",\n        \\u30ED\\u30FC\\u30C9: \"load\",\n        \\u8AAD\\u307F\\u8FBC\\u307F: \"load\",\n        \\u30B5\\u30A4\\u30BA\\u5909\\u66F4: \"resize\",\n        \\u30B9\\u30AF\\u30ED\\u30FC\\u30EB: \"scroll\"\n      },\n      // Arabic event names → English\n      ar: {\n        \\u0627\\u0644\\u0646\\u0642\\u0631: \"click\",\n        \\u0646\\u0642\\u0631: \"click\",\n        \\u0627\\u0644\\u0625\\u062F\\u062E\\u0627\\u0644: \"input\",\n        \\u0625\\u062F\\u062E\\u0627\\u0644: \"input\",\n        \\u0627\\u0644\\u062A\\u063A\\u064A\\u064A\\u0631: \"change\",\n        \\u062A\\u063A\\u064A\\u064A\\u0631: \"change\",\n        \\u0627\\u0644\\u0625\\u0631\\u0633\\u0627\\u0644: \"submit\",\n        \\u0625\\u0631\\u0633\\u0627\\u0644: \"submit\",\n        \"\\u0636\\u063A\\u0637 \\u0627\\u0644\\u0645\\u0641\\u062A\\u0627\\u062D\": \"keydown\",\n        \"\\u0631\\u0641\\u0639 \\u0627\\u0644\\u0645\\u0641\\u062A\\u0627\\u062D\": \"keyup\",\n        \"\\u062A\\u0645\\u0631\\u064A\\u0631 \\u0627\\u0644\\u0645\\u0627\\u0648\\u0633\": \"mouseover\",\n        \\u0627\\u0644\\u062A\\u0631\\u0643\\u064A\\u0632: \"focus\",\n        \\u062A\\u062D\\u0645\\u064A\\u0644: \"load\",\n        \\u062A\\u0645\\u0631\\u064A\\u0631: \"scroll\"\n      },\n      // Spanish event names → English\n      es: {\n        clic: \"click\",\n        click: \"click\",\n        entrada: \"input\",\n        cambio: \"change\",\n        env\\u00EDo: \"submit\",\n        enviar: \"submit\",\n        \"tecla abajo\": \"keydown\",\n        \"tecla arriba\": \"keyup\",\n        \"rat\\xF3n encima\": \"mouseover\",\n        \"rat\\xF3n fuera\": \"mouseout\",\n        enfoque: \"focus\",\n        desenfoque: \"blur\",\n        carga: \"load\",\n        desplazamiento: \"scroll\"\n      },\n      // Turkish event names → English\n      tr: {\n        t\\u0131klama: \"click\",\n        t\\u0131kla: \"click\",\n        t\\u0131k: \"click\",\n        giri\\u015F: \"input\",\n        girdi: \"input\",\n        de\\u011Fi\\u015Fiklik: \"change\",\n        de\\u011Fi\\u015Fim: \"change\",\n        g\\u00F6nderme: \"submit\",\n        g\\u00F6nder: \"submit\",\n        tu\\u015Fbasma: \"keydown\",\n        tu\\u015Fb\\u0131rakma: \"keyup\",\n        fare_bas: \"mousedown\",\n        fare_b\\u0131rak: \"mouseup\",\n        farei\\u00E7inde: \"mouseover\",\n        fared\\u0131\\u015F\\u0131nda: \"mouseout\",\n        odaklanma: \"focus\",\n        odak: \"focus\",\n        bulan\\u0131kl\\u0131k: \"blur\",\n        y\\u00FCkleme: \"load\",\n        y\\u00FCkle: \"load\",\n        // resize: single-token `boyutlandırma` (and the verb stem `boyutlandır`). The\n        // former i18n emission `boyut_değiştir` split on `_` in the tr tokenizer →\n        // `boyut` + `değiştir`, and `değiştir` normalizes to `toggle` — a homonym\n        // collision that destroyed the resize event (window-resize was the lone tr\n        // parse hard-fail). A non-underscore keyword (mirrors the ru/uk install and\n        // the `kaydır`/`kaydırma` scroll precedent) keeps the event token whole.\n        boyutland\\u0131rma: \"resize\",\n        boyutland\\u0131r: \"resize\",\n        kayd\\u0131rma: \"scroll\"\n      },\n      // Portuguese event names → English\n      pt: {\n        clique: \"click\",\n        clicar: \"click\",\n        click: \"click\",\n        entrada: \"input\",\n        inserir: \"input\",\n        mudan\\u00E7a: \"change\",\n        mudanca: \"change\",\n        alterar: \"change\",\n        envio: \"submit\",\n        enviar: \"submit\",\n        \"tecla baixo\": \"keydown\",\n        \"tecla cima\": \"keyup\",\n        \"pressionar tecla\": \"keydown\",\n        \"soltar tecla\": \"keyup\",\n        \"mouse sobre\": \"mouseover\",\n        \"mouse fora\": \"mouseout\",\n        foco: \"focus\",\n        focar: \"focus\",\n        desfoque: \"blur\",\n        desfocar: \"blur\",\n        carregar: \"load\",\n        carregamento: \"load\",\n        rolagem: \"scroll\",\n        rolar: \"scroll\"\n      },\n      // Chinese event names → English\n      zh: {\n        \\u70B9\\u51FB: \"click\",\n        \\u5355\\u51FB: \"click\",\n        \\u53CC\\u51FB: \"dblclick\",\n        \\u8F93\\u5165: \"input\",\n        \\u6539\\u53D8: \"change\",\n        \\u53D8\\u5316: \"change\",\n        \\u53D8\\u66F4: \"change\",\n        \\u63D0\\u4EA4: \"submit\",\n        \\u53D1\\u9001: \"submit\",\n        \\u6309\\u952E: \"keydown\",\n        \\u952E\\u5165: \"keydown\",\n        \\u677E\\u952E: \"keyup\",\n        \\u9F20\\u6807\\u8FDB\\u5165: \"mouseover\",\n        \\u9F20\\u6807\\u79FB\\u5165: \"mouseover\",\n        \\u9F20\\u6807\\u79BB\\u5F00: \"mouseout\",\n        \\u9F20\\u6807\\u79FB\\u51FA: \"mouseout\",\n        \\u7126\\u70B9: \"focus\",\n        \\u805A\\u7126: \"focus\",\n        \\u5931\\u7126: \"blur\",\n        \\u6A21\\u7CCA: \"blur\",\n        \\u52A0\\u8F7D: \"load\",\n        \\u8F7D\\u5165: \"load\",\n        \\u6EDA\\u52A8: \"scroll\"\n      },\n      // French event names → English\n      fr: {\n        clic: \"click\",\n        cliquer: \"click\",\n        click: \"click\",\n        saisie: \"input\",\n        entr\\u00E9e: \"input\",\n        changement: \"change\",\n        changer: \"change\",\n        soumettre: \"submit\",\n        soumission: \"submit\",\n        envoi: \"submit\",\n        \"touche bas\": \"keydown\",\n        \"touche haut\": \"keyup\",\n        \"souris dessus\": \"mouseover\",\n        \"souris dehors\": \"mouseout\",\n        focus: \"focus\",\n        focaliser: \"focus\",\n        d\\u00E9focus: \"blur\",\n        d\\u00E9focaliser: \"blur\",\n        chargement: \"load\",\n        charger: \"load\",\n        d\\u00E9filement: \"scroll\",\n        d\\u00E9filer: \"scroll\"\n      },\n      // German event names → English\n      de: {\n        klick: \"click\",\n        klicken: \"click\",\n        click: \"click\",\n        eingabe: \"input\",\n        eingeben: \"input\",\n        \\u00E4nderung: \"change\",\n        \\u00E4ndern: \"change\",\n        absenden: \"submit\",\n        einreichen: \"submit\",\n        \"taste runter\": \"keydown\",\n        \"taste hoch\": \"keyup\",\n        \"maus \\xFCber\": \"mouseover\",\n        \"maus raus\": \"mouseout\",\n        fokus: \"focus\",\n        fokussieren: \"focus\",\n        defokussieren: \"blur\",\n        unsch\\u00E4rfe: \"blur\",\n        laden: \"load\",\n        ladung: \"load\",\n        scrollen: \"scroll\",\n        bl\\u00E4ttern: \"scroll\"\n      },\n      // Indonesian event names → English\n      id: {\n        klik: \"click\",\n        click: \"click\",\n        masukan: \"input\",\n        input: \"input\",\n        ubah: \"change\",\n        perubahan: \"change\",\n        kirim: \"submit\",\n        \"tekan tombol\": \"keydown\",\n        \"lepas tombol\": \"keyup\",\n        \"mouse masuk\": \"mouseover\",\n        \"mouse keluar\": \"mouseout\",\n        fokus: \"focus\",\n        blur: \"blur\",\n        muat: \"load\",\n        memuat: \"load\",\n        gulir: \"scroll\",\n        menggulir: \"scroll\"\n      },\n      // Bengali event names → English\n      bn: {\n        \\u0995\\u09CD\\u09B2\\u09BF\\u0995: \"click\",\n        \\u0987\\u09A8\\u09AA\\u09C1\\u099F: \"input\",\n        \\u099C\\u09AE\\u09BE: \"submit\",\n        \\u09B2\\u09CB\\u09A1: \"load\",\n        \\u09B8\\u09CD\\u0995\\u09CD\\u09B0\\u09CB\\u09B2: \"scroll\",\n        \\u09B0\\u09BF\\u09B8\\u09BE\\u0987\\u099C: \"resize\",\n        \\u099D\\u09BE\\u09AA\\u09B8\\u09BE: \"blur\",\n        \\u09AB\\u09CB\\u0995\\u09BE\\u09B8: \"focus\",\n        \\u09AA\\u09B0\\u09BF\\u09AC\\u09B0\\u09CD\\u09A4\\u09A8: \"change\"\n      },\n      // Quechua event names → English (loanwords with native adaptations)\n      qu: {\n        click: \"click\",\n        \"\\xF1it'iy\": \"click\",\n        \\u00F1itiy: \"click\",\n        yaykuchiy: \"input\",\n        yaykuy: \"input\",\n        tikray: \"change\",\n        \"t'ikray\": \"change\",\n        apachiy: \"submit\",\n        kachay: \"submit\",\n        \"llave uray\": \"keydown\",\n        \"llave hawa\": \"keyup\",\n        \"q'away\": \"focus\",\n        qhaway: \"focus\",\n        paqariy: \"blur\",\n        \"mana q'away\": \"blur\",\n        cargay: \"load\",\n        apakuy: \"load\",\n        apamuy: \"load\",\n        kunray: \"scroll\",\n        muyuy: \"scroll\",\n        hatun_kay: \"resize\"\n      },\n      // Swahili event names → English\n      sw: {\n        bofya: \"click\",\n        click: \"click\",\n        kubofya: \"click\",\n        ingiza: \"input\",\n        kubadilisha: \"change\",\n        mabadiliko: \"change\",\n        tuma: \"submit\",\n        kutuma: \"submit\",\n        \"bonyeza chini\": \"keydown\",\n        \"bonyeza juu\": \"keyup\",\n        \"panya juu\": \"mouseover\",\n        \"panya nje\": \"mouseout\",\n        lenga: \"focus\",\n        kulenga: \"focus\",\n        blur: \"blur\",\n        pakia: \"load\",\n        kupakia: \"load\",\n        sogeza: \"scroll\",\n        kusogeza: \"scroll\"\n      }\n    };\n    eventNameLocalizations = Object.fromEntries(\n      Object.entries(eventNameTranslations).map(([lang, table]) => {\n        const reverse = {};\n        for (const [native, english] of Object.entries(table)) {\n          if (!(english in reverse)) reverse[english] = native;\n        }\n        return [lang, reverse];\n      })\n    );\n    eventLocalizationDenylist = {\n      ar: /* @__PURE__ */ new Set([\"mouseover\"]),\n      bn: /* @__PURE__ */ new Set([\"resize\"]),\n      de: /* @__PURE__ */ new Set([\"keydown\", \"keyup\", \"load\", \"mouseout\", \"mouseover\"]),\n      fr: /* @__PURE__ */ new Set([\"blur\"]),\n      id: /* @__PURE__ */ new Set([\"input\", \"keyup\", \"mouseout\", \"mouseover\"]),\n      ja: /* @__PURE__ */ new Set([\"keypress\", \"mousedown\", \"mouseup\", \"resize\"]),\n      qu: /* @__PURE__ */ new Set([\"change\", \"focus\", \"load\", \"resize\", \"submit\"]),\n      sw: /* @__PURE__ */ new Set([\"change\", \"click\", \"input\", \"keydown\", \"keyup\", \"mouseout\", \"mouseover\", \"submit\"]),\n      tr: /* @__PURE__ */ new Set([\n        \"keydown\",\n        \"keyup\",\n        \"load\",\n        \"mousedown\",\n        \"mouseout\",\n        \"mouseover\",\n        \"mouseup\",\n        \"resize\",\n        \"scroll\"\n      ]),\n      zh: /* @__PURE__ */ new Set([\"focus\", \"keyup\", \"mouseout\", \"mouseover\"])\n    };\n  }\n});\n\n// src/parser/utils/role-positioning.ts\nfunction sortRolesByWordOrder(roles, wordOrder) {\n  const sortKey = wordOrder === \"SOV\" ? \"sovPosition\" : \"svoPosition\";\n  return [...roles].sort((a, b) => {\n    const aPos = a[sortKey] ?? 99;\n    const bPos = b[sortKey] ?? 99;\n    return aPos - bPos;\n  });\n}\nvar init_role_positioning = __esm({\n  \"src/parser/utils/role-positioning.ts\"() {\n    \"use strict\";\n  }\n});\n\n// src/parser/utils/marker-resolution.ts\nfunction resolveMarkerForRole(roleSpec, profile) {\n  const overrideMarker = roleSpec.markerOverride?.[profile.code];\n  const defaultMarker = profile.roleMarkers[roleSpec.role];\n  if (overrideMarker !== void 0) {\n    return {\n      primary: overrideMarker,\n      position: defaultMarker?.position ?? \"before\",\n      isOverride: true\n    };\n  }\n  if (defaultMarker && defaultMarker.primary) {\n    const result = {\n      primary: defaultMarker.primary,\n      position: defaultMarker.position,\n      isOverride: false\n    };\n    if (defaultMarker.alternatives) {\n      result.alternatives = defaultMarker.alternatives;\n    }\n    return result;\n  }\n  return null;\n}\nvar init_marker_resolution = __esm({\n  \"src/parser/utils/marker-resolution.ts\"() {\n    \"use strict\";\n  }\n});\n\n// src/generators/event-handlers-sov.ts\nfunction resolveRoleMarker(roleSpec, profile) {\n  let marker;\n  let alternatives;\n  if (roleSpec.markerOverride && roleSpec.markerOverride[profile.code] !== void 0) {\n    marker = roleSpec.markerOverride[profile.code];\n  } else {\n    const roleMarker = profile.roleMarkers[roleSpec.role];\n    if (roleMarker) {\n      marker = roleMarker.primary;\n      alternatives = roleMarker.alternatives ? [...roleMarker.alternatives] : void 0;\n    }\n  }\n  const variants = roleSpec.markerVariants?.[profile.code];\n  if (variants && variants.length > 0) {\n    const merged = alternatives ? [...alternatives] : [];\n    for (const v of variants) {\n      if (v !== marker && !merged.includes(v)) merged.push(v);\n    }\n    alternatives = merged;\n  }\n  return { marker, alternatives };\n}\nfunction appendOptionalScope(tokens, extraction, commandSchema) {\n  const scopeRole = commandSchema.roles.find((r) => r.role === \"scope\" && !r.required);\n  if (!scopeRole) return;\n  tokens.push({\n    type: \"group\",\n    optional: true,\n    tokens: [\n      { type: \"literal\", value: \"on\" },\n      { type: \"role\", role: \"scope\", optional: true, expectedTypes: [\"selector\", \"reference\"] }\n    ]\n  });\n  extraction.scope = { fromRole: \"scope\" };\n}\nfunction generateSOVEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config) {\n  const tokens = [];\n  tokens.push({ type: \"role\", role: \"event\", optional: false });\n  if (eventMarker.position === \"after\") {\n    const markerWords = eventMarker.primary.split(/\\s+/);\n    if (markerWords.length > 1) {\n      for (const word of markerWords) {\n        tokens.push({ type: \"literal\", value: word });\n      }\n    } else {\n      const markerToken = eventMarker.alternatives ? { type: \"literal\", value: eventMarker.primary, alternatives: eventMarker.alternatives } : { type: \"literal\", value: eventMarker.primary };\n      tokens.push(markerToken);\n    }\n  }\n  const destMarker = profile.roleMarkers.destination;\n  if (destMarker) {\n    tokens.push({\n      type: \"group\",\n      optional: true,\n      tokens: [\n        { type: \"role\", role: \"destination\", optional: true },\n        destMarker.alternatives ? { type: \"literal\", value: destMarker.primary, alternatives: destMarker.alternatives } : { type: \"literal\", value: destMarker.primary }\n      ]\n    });\n  }\n  tokens.push({ type: \"role\", role: \"patient\", optional: false });\n  const patientMarker = profile.roleMarkers.patient;\n  if (patientMarker) {\n    const patMarkerToken = patientMarker.alternatives ? { type: \"literal\", value: patientMarker.primary, alternatives: patientMarker.alternatives } : { type: \"literal\", value: patientMarker.primary };\n    tokens.push(patMarkerToken);\n  }\n  const verbToken = keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary };\n  tokens.push(verbToken);\n  tokens.push(...eventHandlerSourceGroup(commandSchema, profile.roleMarkers.source));\n  tokens.push(...eventHandlerDestinationGroup(commandSchema, profile.roleMarkers.destination));\n  return {\n    id: `${commandSchema.action}-event-${profile.code}-sov`,\n    language: profile.code,\n    command: \"on\",\n    // This is an event handler pattern\n    priority: (config.basePriority ?? 100) + 50,\n    // Higher priority than simple commands\n    template: {\n      format: `{event} ${eventMarker.primary} {destination?} {patient} ${patientMarker?.primary || \"\"} ${keyword.primary}`,\n      tokens\n    },\n    extraction: {\n      action: { value: commandSchema.action },\n      // Extract the wrapped command\n      event: { fromRole: \"event\" },\n      patient: { fromRole: \"patient\" },\n      ...eventHandlerDestinationExtraction(commandSchema),\n      ...eventHandlerSourceExtraction(commandSchema)\n    }\n  };\n}\nfunction generateSOVPatientFirstEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config) {\n  const tokens = [];\n  tokens.push({ type: \"role\", role: \"patient\", optional: false });\n  const patientMarker = profile.roleMarkers.patient;\n  if (patientMarker) {\n    const patMarkerToken = patientMarker.alternatives ? { type: \"literal\", value: patientMarker.primary, alternatives: patientMarker.alternatives } : { type: \"literal\", value: patientMarker.primary };\n    tokens.push(patMarkerToken);\n  }\n  tokens.push({ type: \"role\", role: \"event\", optional: false });\n  if (eventMarker.position === \"after\") {\n    const markerWords = eventMarker.primary.split(/\\s+/);\n    if (markerWords.length > 1) {\n      for (const word of markerWords) {\n        tokens.push({ type: \"literal\", value: word });\n      }\n    } else {\n      const markerToken = eventMarker.alternatives ? { type: \"literal\", value: eventMarker.primary, alternatives: eventMarker.alternatives } : { type: \"literal\", value: eventMarker.primary };\n      tokens.push(markerToken);\n    }\n  }\n  const verbToken = keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary };\n  tokens.push(verbToken);\n  tokens.push(...eventHandlerSourceGroup(commandSchema, profile.roleMarkers.source));\n  tokens.push(...eventHandlerDestinationGroup(commandSchema, profile.roleMarkers.destination));\n  return {\n    id: `${commandSchema.action}-event-${profile.code}-sov-patient-first`,\n    language: profile.code,\n    command: \"on\",\n    priority: (config.basePriority ?? 100) + 45,\n    template: {\n      format: `{patient} ${patientMarker?.primary || \"\"} {event} ${eventMarker.primary} ${keyword.primary}`,\n      tokens\n    },\n    extraction: {\n      action: { value: commandSchema.action },\n      event: { fromRole: \"event\" },\n      patient: { fromRole: \"patient\" },\n      ...eventHandlerDestinationExtraction(commandSchema),\n      ...eventHandlerSourceExtraction(commandSchema)\n    }\n  };\n}\nfunction generateSOVPatientFirstWithDestEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config) {\n  const tokens = [];\n  tokens.push({ type: \"role\", role: \"patient\", optional: false });\n  const patientMarker = profile.roleMarkers.patient;\n  if (patientMarker) {\n    const patMarkerToken = patientMarker.alternatives ? { type: \"literal\", value: patientMarker.primary, alternatives: patientMarker.alternatives } : { type: \"literal\", value: patientMarker.primary };\n    tokens.push(patMarkerToken);\n  }\n  const destMarker = profile.roleMarkers.destination;\n  if (destMarker) {\n    tokens.push({ type: \"role\", role: \"destination\", optional: false });\n    tokens.push(\n      destMarker.alternatives ? { type: \"literal\", value: destMarker.primary, alternatives: destMarker.alternatives } : { type: \"literal\", value: destMarker.primary }\n    );\n  }\n  tokens.push({ type: \"role\", role: \"event\", optional: false });\n  if (eventMarker.position === \"after\") {\n    const markerWords = eventMarker.primary.split(/\\s+/);\n    if (markerWords.length > 1) {\n      for (const word of markerWords) {\n        tokens.push({ type: \"literal\", value: word });\n      }\n    } else {\n      const markerToken = eventMarker.alternatives ? { type: \"literal\", value: eventMarker.primary, alternatives: eventMarker.alternatives } : { type: \"literal\", value: eventMarker.primary };\n      tokens.push(markerToken);\n    }\n  }\n  const verbToken = keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary };\n  tokens.push(verbToken);\n  return {\n    id: `${commandSchema.action}-event-${profile.code}-sov-patient-first-dest`,\n    language: profile.code,\n    command: \"on\",\n    priority: (config.basePriority ?? 100) + 40,\n    // Lower than simple patient-first\n    template: {\n      format: `{patient} ${patientMarker?.primary || \"\"} {destination} ${destMarker?.primary || \"\"} {event} ${eventMarker.primary} ${keyword.primary}`,\n      tokens\n    },\n    extraction: {\n      action: { value: commandSchema.action },\n      event: { fromRole: \"event\" },\n      patient: { fromRole: \"patient\" },\n      destination: { fromRole: \"destination\" }\n    }\n  };\n}\nfunction generateSOVCompactEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config) {\n  const tokens = [];\n  tokens.push({ type: \"role\", role: \"event\", optional: false });\n  const noSpaceAlternatives = eventMarker.alternatives?.filter((alt) => !alt.includes(\" \") && alt.length > 1) || [];\n  if (noSpaceAlternatives.length > 0) {\n    tokens.push({\n      type: \"literal\",\n      value: noSpaceAlternatives[0],\n      alternatives: noSpaceAlternatives.slice(1)\n    });\n  }\n  const destMarker = profile.roleMarkers.destination;\n  if (destMarker) {\n    tokens.push({\n      type: \"group\",\n      optional: true,\n      tokens: [\n        { type: \"role\", role: \"destination\", optional: true },\n        destMarker.alternatives ? { type: \"literal\", value: destMarker.primary, alternatives: destMarker.alternatives } : { type: \"literal\", value: destMarker.primary }\n      ]\n    });\n  }\n  tokens.push({ type: \"role\", role: \"patient\", optional: false });\n  const patientMarker = profile.roleMarkers.patient;\n  if (patientMarker) {\n    const patMarkerToken = patientMarker.alternatives ? { type: \"literal\", value: patientMarker.primary, alternatives: patientMarker.alternatives } : { type: \"literal\", value: patientMarker.primary };\n    tokens.push(patMarkerToken);\n  }\n  const verbToken = keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary };\n  tokens.push(verbToken);\n  tokens.push(...eventHandlerSourceGroup(commandSchema, profile.roleMarkers.source));\n  tokens.push(...eventHandlerDestinationGroup(commandSchema, profile.roleMarkers.destination));\n  return {\n    id: `${commandSchema.action}-event-${profile.code}-sov-compact`,\n    language: profile.code,\n    command: \"on\",\n    // This is an event handler pattern\n    priority: (config.basePriority ?? 100) + 52,\n    // Slightly higher priority for compact forms\n    template: {\n      format: `{event}${noSpaceAlternatives[0] || \"\"} {patient} ${keyword.primary}`,\n      tokens\n    },\n    extraction: {\n      action: { value: commandSchema.action },\n      // Extract the wrapped command\n      event: { fromRole: \"event\" },\n      patient: { fromRole: \"patient\" },\n      ...eventHandlerDestinationExtraction(commandSchema),\n      ...eventHandlerSourceExtraction(commandSchema)\n    }\n  };\n}\nfunction generateSOVSimpleEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config) {\n  const tokens = [];\n  tokens.push({ type: \"role\", role: \"event\", optional: false });\n  if (eventMarker.position === \"after\") {\n    const markerWords = eventMarker.primary.split(/\\s+/);\n    if (markerWords.length > 1) {\n      for (const word of markerWords) {\n        tokens.push({ type: \"literal\", value: word });\n      }\n    } else {\n      const markerToken = eventMarker.alternatives ? { type: \"literal\", value: eventMarker.primary, alternatives: eventMarker.alternatives } : { type: \"literal\", value: eventMarker.primary };\n      tokens.push(markerToken);\n    }\n  }\n  const verbToken = keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary };\n  tokens.push(verbToken);\n  return {\n    id: `${commandSchema.action}-event-${profile.code}-sov-simple`,\n    language: profile.code,\n    command: \"on\",\n    priority: (config.basePriority ?? 100) + 48,\n    // Lower than full pattern (50) but higher than base\n    template: {\n      format: `{event} ${eventMarker.primary} ${keyword.primary}`,\n      tokens\n    },\n    extraction: {\n      action: { value: commandSchema.action },\n      event: { fromRole: \"event\" },\n      patient: { default: { type: \"reference\", value: \"me\" } }\n      // Default to 'me'\n    }\n  };\n}\nfunction generateSOVTemporalEventHandlerPattern(commandSchema, profile, keyword, config) {\n  const temporalMarkers = profile.eventHandler?.temporalMarkers;\n  if (!temporalMarkers || temporalMarkers.length === 0) return null;\n  const tokens = [];\n  tokens.push({ type: \"role\", role: \"event\", optional: false });\n  if (profile.possessive?.marker) {\n    tokens.push({\n      type: \"group\",\n      optional: true,\n      tokens: [{ type: \"literal\", value: profile.possessive.marker }]\n    });\n  }\n  tokens.push({\n    type: \"literal\",\n    value: temporalMarkers[0],\n    alternatives: temporalMarkers.slice(1)\n  });\n  tokens.push({ type: \"role\", role: \"patient\", optional: false });\n  const patientMarker = profile.roleMarkers.patient;\n  if (patientMarker?.primary) {\n    const patMarkerToken = patientMarker.alternatives ? { type: \"literal\", value: patientMarker.primary, alternatives: patientMarker.alternatives } : { type: \"literal\", value: patientMarker.primary };\n    tokens.push(patMarkerToken);\n  }\n  const verbToken = keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary };\n  tokens.push(verbToken);\n  return {\n    id: `${commandSchema.action}-event-${profile.code}-sov-temporal`,\n    language: profile.code,\n    command: \"on\",\n    priority: (config.basePriority ?? 100) + 49,\n    // Between simple and full pattern\n    template: {\n      format: `{event} ${temporalMarkers[0]} {patient} ${keyword.primary}`,\n      tokens\n    },\n    extraction: {\n      action: { value: commandSchema.action },\n      event: { fromRole: \"event\" },\n      patient: { fromRole: \"patient\" }\n    }\n  };\n}\nfunction generateSOVTwoRoleEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config) {\n  const tokens = [];\n  tokens.push({ type: \"role\", role: \"event\", optional: false });\n  if (eventMarker.position === \"after\") {\n    const markerWords = eventMarker.primary.split(/\\s+/);\n    if (markerWords.length > 1) {\n      for (const word of markerWords) {\n        tokens.push({ type: \"literal\", value: word });\n      }\n    } else {\n      const markerToken = eventMarker.alternatives ? { type: \"literal\", value: eventMarker.primary, alternatives: eventMarker.alternatives } : { type: \"literal\", value: eventMarker.primary };\n      tokens.push(markerToken);\n    }\n  }\n  const requiredRoles = commandSchema.roles.filter((r) => r.required);\n  const sortedRoles = [...requiredRoles].sort((a, b) => {\n    const aPos = a.sovPosition ?? 999;\n    const bPos = b.sovPosition ?? 999;\n    return aPos - bPos;\n  });\n  for (const roleSpec of sortedRoles) {\n    tokens.push({ type: \"role\", role: roleSpec.role, optional: false });\n    const { marker, alternatives: markerAlternatives } = resolveRoleMarker(roleSpec, profile);\n    if (marker) {\n      const markerToken = markerAlternatives ? { type: \"literal\", value: marker, alternatives: markerAlternatives } : { type: \"literal\", value: marker };\n      tokens.push(markerToken);\n    }\n  }\n  const verbToken = keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary };\n  tokens.push(verbToken);\n  const roleNames = sortedRoles.map((r) => `{${r.role}}`).join(\" \");\n  const extraction = {\n    action: { value: commandSchema.action },\n    // Extract the wrapped command\n    event: { fromRole: \"event\" },\n    ...Object.fromEntries(sortedRoles.map((r) => [r.role, { fromRole: r.role }]))\n  };\n  appendOptionalScope(tokens, extraction, commandSchema);\n  return {\n    id: `${commandSchema.action}-event-${profile.code}-sov-2role`,\n    language: profile.code,\n    command: \"on\",\n    // This is an event handler pattern\n    priority: (config.basePriority ?? 100) + 55,\n    // Higher priority than single-role patterns\n    template: {\n      format: `{event} ${eventMarker.primary} ${roleNames} ${keyword.primary}`,\n      tokens\n    },\n    extraction\n  };\n}\nfunction generateSOVTwoRoleEventLastEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config) {\n  const tokens = [];\n  const requiredRoles = commandSchema.roles.filter((r) => r.required);\n  const sortedRoles = [...requiredRoles].sort((a, b) => {\n    const aPos = a.sovPosition ?? 999;\n    const bPos = b.sovPosition ?? 999;\n    return aPos - bPos;\n  });\n  for (const roleSpec of sortedRoles) {\n    tokens.push({ type: \"role\", role: roleSpec.role, optional: false });\n    const { marker, alternatives: markerAlternatives } = resolveRoleMarker(roleSpec, profile);\n    if (marker) {\n      tokens.push(\n        markerAlternatives ? { type: \"literal\", value: marker, alternatives: markerAlternatives } : { type: \"literal\", value: marker }\n      );\n    }\n  }\n  tokens.push(\n    keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary }\n  );\n  tokens.push({ type: \"role\", role: \"event\", optional: false });\n  if (eventMarker.position === \"after\") {\n    const markerWords = eventMarker.primary.split(/\\s+/);\n    if (markerWords.length > 1) {\n      for (const word of markerWords) tokens.push({ type: \"literal\", value: word });\n    } else {\n      tokens.push(\n        eventMarker.alternatives ? { type: \"literal\", value: eventMarker.primary, alternatives: eventMarker.alternatives } : { type: \"literal\", value: eventMarker.primary }\n      );\n    }\n  }\n  const roleNames = sortedRoles.map((r) => `{${r.role}}`).join(\" \");\n  const extraction = {\n    action: { value: commandSchema.action },\n    event: { fromRole: \"event\" },\n    ...Object.fromEntries(sortedRoles.map((r) => [r.role, { fromRole: r.role }]))\n  };\n  appendOptionalScope(tokens, extraction, commandSchema);\n  return {\n    id: `${commandSchema.action}-event-${profile.code}-sov-2role-event-last`,\n    language: profile.code,\n    command: \"on\",\n    // Below the event-first / dest-first variants — this is the fallback order.\n    priority: (config.basePriority ?? 100) + 40,\n    template: {\n      format: `${roleNames} ${keyword.primary} {event} ${eventMarker.primary}`,\n      tokens\n    },\n    extraction\n  };\n}\nfunction generateSOVTwoRoleDestFirstEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config) {\n  const tokens = [];\n  const requiredRoles = commandSchema.roles.filter((r) => r.required);\n  const sortedRoles = [...requiredRoles].sort((a, b) => {\n    const aPos = a.sovPosition ?? 999;\n    const bPos = b.sovPosition ?? 999;\n    return aPos - bPos;\n  });\n  const firstRole = sortedRoles[0];\n  tokens.push({ type: \"role\", role: firstRole.role, optional: false });\n  const { marker: firstMarker, alternatives: firstMarkerAlts } = resolveRoleMarker(\n    firstRole,\n    profile\n  );\n  if (firstMarker) {\n    const firstMarkerToken = firstMarkerAlts ? { type: \"literal\", value: firstMarker, alternatives: firstMarkerAlts } : { type: \"literal\", value: firstMarker };\n    tokens.push(firstMarkerToken);\n  }\n  tokens.push({ type: \"role\", role: \"event\", optional: false });\n  if (eventMarker.position === \"after\") {\n    const markerWords = eventMarker.primary.split(/\\s+/);\n    if (markerWords.length > 1) {\n      for (const word of markerWords) {\n        tokens.push({ type: \"literal\", value: word });\n      }\n    } else {\n      const markerToken = eventMarker.alternatives ? { type: \"literal\", value: eventMarker.primary, alternatives: eventMarker.alternatives } : { type: \"literal\", value: eventMarker.primary };\n      tokens.push(markerToken);\n    }\n  }\n  const verbToken = keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary };\n  tokens.push(verbToken);\n  const secondRole = sortedRoles[1];\n  tokens.push({ type: \"role\", role: secondRole.role, optional: false });\n  const { marker: secondMarker, alternatives: secondMarkerAlts } = resolveRoleMarker(\n    secondRole,\n    profile\n  );\n  if (secondMarker) {\n    const markerToken = secondMarkerAlts ? { type: \"literal\", value: secondMarker, alternatives: secondMarkerAlts } : { type: \"literal\", value: secondMarker };\n    tokens.push(markerToken);\n  }\n  const extraction = {\n    action: { value: commandSchema.action },\n    event: { fromRole: \"event\" },\n    [firstRole.role]: { fromRole: firstRole.role },\n    [secondRole.role]: { fromRole: secondRole.role }\n  };\n  appendOptionalScope(tokens, extraction, commandSchema);\n  return {\n    id: `${commandSchema.action}-event-${profile.code}-sov-2role-dest-first`,\n    language: profile.code,\n    command: \"on\",\n    priority: (config.basePriority ?? 100) + 48,\n    // Slightly lower than event-first two-role\n    template: {\n      format: `{${firstRole.role}} {event} ${eventMarker.primary} ${keyword.primary} {${secondRole.role}}`,\n      tokens\n    },\n    extraction\n  };\n}\nvar init_event_handlers_sov = __esm({\n  \"src/generators/event-handlers-sov.ts\"() {\n    \"use strict\";\n    init_command_schemas();\n  }\n});\n\n// src/generators/event-handlers-vso.ts\nfunction generateVSOEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config) {\n  const tokens = [];\n  if (eventMarker.position === \"before\") {\n    const markerToken = eventMarker.alternatives ? { type: \"literal\", value: eventMarker.primary, alternatives: eventMarker.alternatives } : { type: \"literal\", value: eventMarker.primary };\n    tokens.push(markerToken);\n  }\n  tokens.push({ type: \"role\", role: \"event\", optional: false });\n  const verbToken = keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary };\n  tokens.push(verbToken);\n  tokens.push({ type: \"role\", role: \"patient\", optional: false });\n  const destMarker = profile.roleMarkers.destination;\n  if (destMarker) {\n    tokens.push({\n      type: \"group\",\n      optional: true,\n      tokens: [\n        destMarker.alternatives ? { type: \"literal\", value: destMarker.primary, alternatives: destMarker.alternatives } : { type: \"literal\", value: destMarker.primary },\n        { type: \"role\", role: \"destination\", optional: true }\n      ]\n    });\n  }\n  tokens.push(...eventHandlerSourceGroup(commandSchema, profile.roleMarkers.source));\n  return {\n    id: `${commandSchema.action}-event-${profile.code}-vso`,\n    language: profile.code,\n    command: \"on\",\n    // This is an event handler pattern\n    priority: (config.basePriority ?? 100) + 50,\n    // Higher priority than simple commands\n    template: {\n      format: `${eventMarker.primary} {event} ${keyword.primary} {patient} ${destMarker?.primary || \"\"} {destination?}`,\n      tokens\n    },\n    extraction: {\n      action: { value: commandSchema.action },\n      // Extract the wrapped command\n      event: { fromRole: \"event\" },\n      patient: { fromRole: \"patient\" },\n      ...eventHandlerDestinationExtraction(commandSchema),\n      ...eventHandlerSourceExtraction(commandSchema)\n    }\n  };\n}\nfunction generateVSOVerbFirstEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config) {\n  const tokens = [];\n  const verbToken = keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary };\n  tokens.push(verbToken);\n  tokens.push({ type: \"role\", role: \"patient\", optional: false });\n  const destMarker = profile.roleMarkers.destination;\n  if (destMarker) {\n    tokens.push({\n      type: \"group\",\n      optional: true,\n      tokens: [\n        destMarker.alternatives ? { type: \"literal\", value: destMarker.primary, alternatives: destMarker.alternatives } : { type: \"literal\", value: destMarker.primary },\n        { type: \"role\", role: \"destination\", optional: true }\n      ]\n    });\n  }\n  tokens.push(...eventHandlerSourceGroup(commandSchema, profile.roleMarkers.source));\n  if (eventMarker.position === \"before\") {\n    const markerToken = eventMarker.alternatives ? { type: \"literal\", value: eventMarker.primary, alternatives: eventMarker.alternatives } : { type: \"literal\", value: eventMarker.primary };\n    tokens.push(markerToken);\n  }\n  tokens.push({ type: \"role\", role: \"event\", optional: false });\n  return {\n    id: `${commandSchema.action}-event-${profile.code}-vso-verb-first`,\n    language: profile.code,\n    command: \"on\",\n    priority: (config.basePriority ?? 100) + 45,\n    // Slightly lower than event-first variant\n    template: {\n      format: `${keyword.primary} {patient} ${destMarker?.primary || \"\"} {destination?} ${eventMarker.primary} {event}`,\n      tokens\n    },\n    extraction: {\n      action: { value: commandSchema.action },\n      event: { fromRole: \"event\" },\n      patient: { fromRole: \"patient\" },\n      ...eventHandlerDestinationExtraction(commandSchema),\n      ...eventHandlerSourceExtraction(commandSchema)\n    }\n  };\n}\nfunction generateVSOVerbFirstTwoRoleEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config) {\n  const tokens = [];\n  const verbToken = keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary };\n  tokens.push(verbToken);\n  const requiredRoles = commandSchema.roles.filter((r) => r.required);\n  const sortedRoles = [...requiredRoles].sort((a, b) => {\n    const aPos = a.svoPosition ?? 999;\n    const bPos = b.svoPosition ?? 999;\n    return aPos - bPos;\n  });\n  for (const roleSpec of sortedRoles) {\n    let marker;\n    let markerAlternatives;\n    if (roleSpec.markerOverride && roleSpec.markerOverride[profile.code] !== void 0) {\n      marker = roleSpec.markerOverride[profile.code];\n    } else {\n      const roleMarker = profile.roleMarkers[roleSpec.role];\n      if (roleMarker) {\n        marker = roleMarker.primary;\n        markerAlternatives = roleMarker.alternatives;\n      }\n    }\n    if (marker) {\n      const markerToken = markerAlternatives ? { type: \"literal\", value: marker, alternatives: markerAlternatives } : { type: \"literal\", value: marker };\n      tokens.push(markerToken);\n    }\n    tokens.push({ type: \"role\", role: roleSpec.role, optional: false });\n  }\n  if (eventMarker.position === \"before\") {\n    const markerToken = eventMarker.alternatives ? { type: \"literal\", value: eventMarker.primary, alternatives: eventMarker.alternatives } : { type: \"literal\", value: eventMarker.primary };\n    tokens.push(markerToken);\n  }\n  tokens.push({ type: \"role\", role: \"event\", optional: false });\n  const roleNames = sortedRoles.map((r) => `{${r.role}}`).join(\" \");\n  const extraction = {\n    action: { value: commandSchema.action },\n    event: { fromRole: \"event\" },\n    ...Object.fromEntries(sortedRoles.map((r) => [r.role, { fromRole: r.role }]))\n  };\n  appendOptionalScope(tokens, extraction, commandSchema);\n  return {\n    id: `${commandSchema.action}-event-${profile.code}-vso-verb-first-2role`,\n    language: profile.code,\n    command: \"on\",\n    priority: (config.basePriority ?? 100) + 48,\n    template: {\n      format: `${keyword.primary} ${roleNames} ${eventMarker.primary} {event}`,\n      tokens\n    },\n    extraction\n  };\n}\nfunction generateVSOTwoRoleEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config) {\n  const tokens = [];\n  if (eventMarker.position === \"before\") {\n    const markerToken = eventMarker.alternatives ? { type: \"literal\", value: eventMarker.primary, alternatives: eventMarker.alternatives } : { type: \"literal\", value: eventMarker.primary };\n    tokens.push(markerToken);\n  }\n  tokens.push({ type: \"role\", role: \"event\", optional: false });\n  const verbToken = keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary };\n  tokens.push(verbToken);\n  const requiredRoles = commandSchema.roles.filter((r) => r.required);\n  const sortedRoles = [...requiredRoles].sort((a, b) => {\n    const aPos = a.svoPosition ?? 999;\n    const bPos = b.svoPosition ?? 999;\n    return aPos - bPos;\n  });\n  for (const roleSpec of sortedRoles) {\n    let marker;\n    let markerAlternatives;\n    if (roleSpec.markerOverride && roleSpec.markerOverride[profile.code] !== void 0) {\n      marker = roleSpec.markerOverride[profile.code];\n    } else {\n      const roleMarker = profile.roleMarkers[roleSpec.role];\n      if (roleMarker) {\n        marker = roleMarker.primary;\n        markerAlternatives = roleMarker.alternatives;\n      }\n    }\n    if (marker) {\n      const markerToken = markerAlternatives ? { type: \"literal\", value: marker, alternatives: markerAlternatives } : { type: \"literal\", value: marker };\n      tokens.push(markerToken);\n    }\n    tokens.push({ type: \"role\", role: roleSpec.role, optional: false });\n  }\n  const roleNames = sortedRoles.map((r) => `{${r.role}}`).join(\" \");\n  const extraction = {\n    action: { value: commandSchema.action },\n    // Extract the wrapped command\n    event: { fromRole: \"event\" },\n    ...Object.fromEntries(sortedRoles.map((r) => [r.role, { fromRole: r.role }]))\n  };\n  appendOptionalScope(tokens, extraction, commandSchema);\n  return {\n    id: `${commandSchema.action}-event-${profile.code}-vso-2role`,\n    language: profile.code,\n    command: \"on\",\n    // This is an event handler pattern\n    priority: (config.basePriority ?? 100) + 55,\n    // Higher priority than single-role patterns\n    template: {\n      format: `${eventMarker.primary} {event} ${keyword.primary} ${roleNames}`,\n      tokens\n    },\n    extraction\n  };\n}\nfunction generateVSONegatedEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config) {\n  const tokens = [];\n  const negationMarker = profile.eventHandler?.negationMarker;\n  if (eventMarker.position === \"before\") {\n    const markerToken = eventMarker.alternatives ? { type: \"literal\", value: eventMarker.primary, alternatives: eventMarker.alternatives } : { type: \"literal\", value: eventMarker.primary };\n    tokens.push(markerToken);\n  }\n  if (negationMarker) {\n    const negToken = negationMarker.alternatives ? {\n      type: \"literal\",\n      value: negationMarker.primary,\n      alternatives: negationMarker.alternatives\n    } : { type: \"literal\", value: negationMarker.primary };\n    tokens.push(negToken);\n  }\n  tokens.push({ type: \"role\", role: \"event\", optional: false });\n  const verbToken = keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary };\n  tokens.push(verbToken);\n  tokens.push({ type: \"role\", role: \"patient\", optional: false });\n  const destMarker = profile.roleMarkers.destination;\n  if (destMarker) {\n    tokens.push({\n      type: \"group\",\n      optional: true,\n      tokens: [\n        destMarker.alternatives ? { type: \"literal\", value: destMarker.primary, alternatives: destMarker.alternatives } : { type: \"literal\", value: destMarker.primary },\n        { type: \"role\", role: \"destination\", optional: true }\n      ]\n    });\n  }\n  tokens.push(...eventHandlerSourceGroup(commandSchema, profile.roleMarkers.source));\n  return {\n    id: `${commandSchema.action}-event-${profile.code}-vso-negated`,\n    language: profile.code,\n    command: \"on\",\n    // This is an event handler pattern\n    priority: (config.basePriority ?? 100) + 48,\n    // Slightly lower priority than standard patterns\n    template: {\n      format: `${eventMarker.primary} ${negationMarker?.primary || \"\"} {event} ${keyword.primary} {patient} ${destMarker?.primary || \"\"} {destination?}`,\n      tokens\n    },\n    extraction: {\n      action: { value: commandSchema.action },\n      // Extract the wrapped command\n      event: { fromRole: \"event\" },\n      patient: { fromRole: \"patient\" },\n      ...eventHandlerDestinationExtraction(commandSchema),\n      ...eventHandlerSourceExtraction(commandSchema)\n    }\n  };\n}\nfunction generateVSOProcliticEventHandlerPattern(commandSchema, profile, keyword, config) {\n  const tokens = [];\n  tokens.push({\n    type: \"literal\",\n    value: \"and\",\n    // Matches normalized 'and' (Arabic: و)\n    alternatives: [\"then\"]\n    // Also matches normalized 'then' (Arabic: ف)\n  });\n  tokens.push({ type: \"role\", role: \"event\", optional: false });\n  const verbToken = keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary };\n  tokens.push(verbToken);\n  tokens.push({ type: \"role\", role: \"patient\", optional: false });\n  const destMarker = profile.roleMarkers.destination;\n  if (destMarker) {\n    tokens.push({\n      type: \"group\",\n      optional: true,\n      tokens: [\n        destMarker.alternatives ? { type: \"literal\", value: destMarker.primary, alternatives: destMarker.alternatives } : { type: \"literal\", value: destMarker.primary },\n        { type: \"role\", role: \"destination\", optional: true }\n      ]\n    });\n  }\n  tokens.push(...eventHandlerSourceGroup(commandSchema, profile.roleMarkers.source));\n  return {\n    id: `${commandSchema.action}-event-${profile.code}-vso-proclitic`,\n    language: profile.code,\n    command: \"on\",\n    // This is an event handler pattern\n    priority: (config.basePriority ?? 100) + 45,\n    // Lower priority than standard patterns\n    template: {\n      format: `[proclitic?] {event} ${keyword.primary} {patient} ${destMarker?.primary || \"\"} {destination?}`,\n      tokens\n    },\n    extraction: {\n      action: { value: commandSchema.action },\n      // Extract the wrapped command\n      event: { fromRole: \"event\" },\n      patient: { fromRole: \"patient\" },\n      ...eventHandlerDestinationExtraction(commandSchema),\n      ...eventHandlerSourceExtraction(commandSchema)\n    }\n  };\n}\nvar init_event_handlers_vso = __esm({\n  \"src/generators/event-handlers-vso.ts\"() {\n    \"use strict\";\n    init_command_schemas();\n    init_event_handlers_sov();\n  }\n});\n\n// src/generators/pattern-generator.ts\nfunction getAllRegisteredProfiles() {\n  const languages = getRegisteredLanguages();\n  return languages.map((lang) => tryGetProfile(lang)).filter((p) => p !== void 0);\n}\nfunction generatePattern(schema, profile, config = defaultConfig) {\n  const id = `${schema.action}-${profile.code}-generated`;\n  const priority = config.basePriority ?? 100;\n  const keyword = profile.keywords[schema.action];\n  if (!keyword) {\n    throw new Error(`No keyword translation for '${schema.action}' in ${profile.code}`);\n  }\n  const tokens = buildTokens(schema, profile, keyword);\n  const extraction = buildExtractionRulesWithDefaults(schema, profile);\n  const format = buildFormatString(schema, profile, keyword);\n  return {\n    id,\n    language: profile.code,\n    command: schema.action,\n    priority,\n    template: {\n      format,\n      tokens\n    },\n    extraction\n  };\n}\nfunction generateSimplePattern(schema, profile, config = defaultConfig) {\n  const optionalRoles = schema.roles.filter((r) => !r.required);\n  if (optionalRoles.length === 0) {\n    return null;\n  }\n  const requiredRoles = schema.roles.filter((r) => r.required);\n  const simpleSchema = {\n    ...schema,\n    roles: requiredRoles\n  };\n  const pattern = generatePattern(simpleSchema, profile, config);\n  return {\n    ...pattern,\n    id: `${schema.action}-${profile.code}-generated-simple`,\n    priority: (config.basePriority ?? 100) - 5,\n    // Lower priority than full pattern (was -10)\n    extraction: buildExtractionRulesWithDefaults(schema, profile)\n  };\n}\nfunction generateVerbFirstPattern(schema, profile, config = defaultConfig) {\n  if (profile.wordOrder !== \"SOV\") return null;\n  const requiredRoles = schema.roles.filter((r) => r.required);\n  if (requiredRoles.length !== 1) return null;\n  const keyword = profile.keywords[schema.action];\n  if (!keyword) return null;\n  const verbToken = keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary };\n  const roleTokens = requiredRoles.map((r) => ({\n    type: \"role\",\n    role: r.role,\n    optional: false,\n    expectedTypes: r.expectedTypes\n  }));\n  return {\n    id: `${schema.action}-${profile.code}-generated-verb-first`,\n    language: profile.code,\n    command: schema.action,\n    // Strictly below the canonical (basePriority) and simple (basePriority - 5)\n    // patterns so native order is always preferred.\n    priority: (config.basePriority ?? 100) - 20,\n    template: {\n      format: `${keyword.primary} <${requiredRoles[0].role}>`,\n      tokens: [verbToken, ...roleTokens]\n    },\n    extraction: buildExtractionRulesWithDefaults(schema, profile)\n  };\n}\nfunction generatePatternVariants(schema, profile, config = defaultConfig) {\n  const patterns = [];\n  patterns.push(generatePattern(schema, profile, config));\n  if (config.generateSimpleVariants) {\n    const simple = generateSimplePattern(schema, profile, config);\n    if (simple) {\n      patterns.push(simple);\n    }\n  }\n  for (const omitted of schema.omitRoleVariants ?? []) {\n    const variantSchema = {\n      ...schema,\n      roles: schema.roles.filter((r) => r.role !== omitted)\n    };\n    const variant = generatePattern(variantSchema, profile, config);\n    patterns.push({\n      ...variant,\n      id: `${schema.action}-${profile.code}-generated-no-${omitted}`,\n      priority: (config.basePriority ?? 100) - 8\n    });\n  }\n  if (config.generateVerbFirstVariants !== false) {\n    const verbFirst = generateVerbFirstPattern(schema, profile, config);\n    if (verbFirst) {\n      patterns.push(verbFirst);\n    }\n  }\n  return patterns;\n}\nfunction generatePatternsForLanguage(profile, config = defaultConfig) {\n  const patterns = [];\n  const schemas = getDefinedSchemas();\n  for (const schema of schemas) {\n    if (!profile.keywords[schema.action]) {\n      continue;\n    }\n    const variants = generatePatternVariants(schema, profile, config);\n    patterns.push(...variants);\n    if (profile.eventHandler?.eventMarker) {\n      const eventHandlerPatterns = generateEventHandlerPatterns(schema, profile, config);\n      patterns.push(...eventHandlerPatterns);\n    }\n  }\n  return patterns;\n}\nfunction generatePatternsForCommand(schema, profiles2, config = defaultConfig) {\n  const patterns = [];\n  const profilesToUse = profiles2 ?? getAllRegisteredProfiles();\n  for (const profile of profilesToUse) {\n    if (!profile.keywords[schema.action]) {\n      continue;\n    }\n    const variants = generatePatternVariants(schema, profile, config);\n    patterns.push(...variants);\n  }\n  return patterns;\n}\nfunction generateAllPatterns(profiles2, config = defaultConfig) {\n  const patterns = [];\n  const profilesToUse = profiles2 ?? getAllRegisteredProfiles();\n  for (const profile of profilesToUse) {\n    const langPatterns = generatePatternsForLanguage(profile, config);\n    patterns.push(...langPatterns);\n  }\n  return patterns;\n}\nfunction generateEventHandlerPatterns(commandSchema, profile, config = defaultConfig) {\n  if (!profile.eventHandler || !profile.eventHandler.eventMarker) {\n    return [];\n  }\n  const patterns = [];\n  const eventMarker = profile.eventHandler.eventMarker;\n  const keyword = profile.keywords[commandSchema.action];\n  if (!keyword) {\n    return [];\n  }\n  if (commandSchema.roles.length === 0) {\n    return [];\n  }\n  const requiredRoles = commandSchema.roles.filter((r) => r.required);\n  const hasTwoRequiredRoles = requiredRoles.length === 2;\n  if (profile.wordOrder === \"SOV\") {\n    if (hasTwoRequiredRoles) {\n      patterns.push(\n        generateSOVTwoRoleEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config)\n      );\n      patterns.push(\n        generateSOVTwoRoleDestFirstEventHandlerPattern(\n          commandSchema,\n          profile,\n          keyword,\n          eventMarker,\n          config\n        )\n      );\n      patterns.push(\n        generateSOVTwoRoleEventLastEventHandlerPattern(\n          commandSchema,\n          profile,\n          keyword,\n          eventMarker,\n          config\n        )\n      );\n    } else {\n      patterns.push(\n        generateSOVEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config)\n      );\n      patterns.push(\n        generateSOVPatientFirstEventHandlerPattern(\n          commandSchema,\n          profile,\n          keyword,\n          eventMarker,\n          config\n        )\n      );\n      const destMarkerCheck = profile.roleMarkers.destination;\n      if (destMarkerCheck && destMarkerCheck.primary !== eventMarker.primary) {\n        patterns.push(\n          generateSOVPatientFirstWithDestEventHandlerPattern(\n            commandSchema,\n            profile,\n            keyword,\n            eventMarker,\n            config\n          )\n        );\n      }\n      const markerWords = eventMarker.primary.split(/\\s+/);\n      const hasNoSpaceAlternative = eventMarker.alternatives?.some(\n        (alt) => !alt.includes(\" \") && alt.length > 1\n      );\n      if (markerWords.length > 1 && hasNoSpaceAlternative) {\n        patterns.push(\n          generateSOVCompactEventHandlerPattern(\n            commandSchema,\n            profile,\n            keyword,\n            eventMarker,\n            config\n          )\n        );\n      }\n      patterns.push(\n        generateSOVSimpleEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config)\n      );\n      const temporalPattern = generateSOVTemporalEventHandlerPattern(\n        commandSchema,\n        profile,\n        keyword,\n        config\n      );\n      if (temporalPattern) {\n        patterns.push(temporalPattern);\n      }\n    }\n  } else if (profile.wordOrder === \"VSO\") {\n    if (hasTwoRequiredRoles) {\n      patterns.push(\n        generateVSOTwoRoleEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config)\n      );\n      patterns.push(\n        generateVSOVerbFirstTwoRoleEventHandlerPattern(\n          commandSchema,\n          profile,\n          keyword,\n          eventMarker,\n          config\n        )\n      );\n    } else {\n      patterns.push(\n        generateVSOEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config)\n      );\n      patterns.push(\n        generateVSOVerbFirstEventHandlerPattern(\n          commandSchema,\n          profile,\n          keyword,\n          eventMarker,\n          config\n        )\n      );\n      if (profile.eventHandler?.negationMarker) {\n        patterns.push(\n          generateVSONegatedEventHandlerPattern(\n            commandSchema,\n            profile,\n            keyword,\n            eventMarker,\n            config\n          )\n        );\n      }\n      if (profile.tokenization?.prefixes) {\n        patterns.push(\n          generateVSOProcliticEventHandlerPattern(commandSchema, profile, keyword, config)\n        );\n      }\n    }\n  } else {\n    if (hasTwoRequiredRoles) {\n      patterns.push(\n        generateVSOTwoRoleEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config)\n      );\n    } else {\n      patterns.push(\n        generateVSOEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config)\n      );\n    }\n  }\n  return patterns;\n}\nfunction buildTokens(schema, profile, keyword) {\n  const tokens = [];\n  const verbToken = keyword.alternatives ? { type: \"literal\", value: keyword.primary, alternatives: keyword.alternatives } : { type: \"literal\", value: keyword.primary };\n  const roleTokens = buildRoleTokens(schema, profile);\n  switch (profile.wordOrder) {\n    case \"SVO\":\n      tokens.push(verbToken);\n      tokens.push(...roleTokens);\n      break;\n    case \"SOV\":\n      tokens.push(...roleTokens);\n      tokens.push(verbToken);\n      break;\n    case \"VSO\":\n      tokens.push(verbToken);\n      tokens.push(...roleTokens);\n      break;\n    default:\n      tokens.push(verbToken);\n      tokens.push(...roleTokens);\n  }\n  return collapseAdjacentLiterals(tokens);\n}\nfunction collapseAdjacentLiterals(tokens) {\n  const out = [];\n  for (const tok of tokens) {\n    const prev = out[out.length - 1];\n    if (prev && prev.type === \"literal\" && tok.type === \"literal\" && prev.value === tok.value) {\n      const alts = [...prev.alternatives ?? [], ...tok.alternatives ?? []];\n      if (alts.length) out[out.length - 1] = { ...prev, alternatives: [...new Set(alts)] };\n      continue;\n    }\n    out.push(tok);\n  }\n  return out;\n}\nfunction buildRoleTokens(schema, profile) {\n  const tokens = [];\n  const sortedRoles = sortRolesByWordOrder(schema.roles, profile.wordOrder);\n  for (const roleSpec of sortedRoles) {\n    const roleToken = buildRoleToken(roleSpec, profile);\n    if (!roleSpec.required) {\n      tokens.push({\n        type: \"group\",\n        optional: true,\n        tokens: roleToken\n      });\n    } else {\n      tokens.push(...roleToken);\n    }\n  }\n  return tokens;\n}\nfunction buildRoleToken(roleSpec, profile) {\n  const tokens = [];\n  const overrideMarker = roleSpec.markerOverride?.[profile.code];\n  const defaultMarker = profile.roleMarkers[roleSpec.role];\n  const roleValueToken = {\n    type: \"role\",\n    role: roleSpec.role,\n    optional: !roleSpec.required,\n    expectedTypes: roleSpec.expectedTypes\n  };\n  if (overrideMarker !== void 0) {\n    const markerWords = overrideMarker ? overrideMarker.split(/\\s+/).filter(Boolean) : [];\n    const position = defaultMarker?.position ?? \"before\";\n    const optionalMarker = roleSpec.markerOptional?.[profile.code] === true;\n    const pushWord = (word) => {\n      const literal = { type: \"literal\", value: word };\n      tokens.push(optionalMarker ? { type: \"group\", optional: true, tokens: [literal] } : literal);\n    };\n    if (position === \"before\") {\n      for (const word of markerWords) pushWord(word);\n      tokens.push(roleValueToken);\n    } else {\n      tokens.push(roleValueToken);\n      for (const word of markerWords) pushWord(word);\n    }\n  } else if (defaultMarker) {\n    const variantAlts = roleSpec.markerVariants?.[profile.code] ?? [];\n    const asMarker = () => {\n      const alternatives = [\n        .../* @__PURE__ */ new Set([...defaultMarker.alternatives ?? [], ...variantAlts])\n      ].filter((a) => a !== defaultMarker.primary);\n      return alternatives.length ? { type: \"literal\", value: defaultMarker.primary, alternatives } : { type: \"literal\", value: defaultMarker.primary };\n    };\n    const pushMarker = (marker) => {\n      tokens.push(\n        profile.markersOptional || roleSpec.markerOptional?.[profile.code] ? { type: \"group\", optional: true, tokens: [marker] } : marker\n      );\n    };\n    if (defaultMarker.position === \"before\") {\n      if (defaultMarker.primary) {\n        pushMarker(asMarker());\n      }\n      tokens.push(roleValueToken);\n    } else {\n      tokens.push(roleValueToken);\n      pushMarker(asMarker());\n    }\n  } else {\n    tokens.push(roleValueToken);\n  }\n  return tokens;\n}\nfunction buildExtractionRules(schema, profile) {\n  const rules = {};\n  for (const roleSpec of schema.roles) {\n    const overrideMarker = roleSpec.markerOverride?.[profile.code];\n    const defaultMarker = profile.roleMarkers[roleSpec.role];\n    if (overrideMarker !== void 0) {\n      rules[roleSpec.role] = overrideMarker ? { marker: overrideMarker } : {};\n    } else if (defaultMarker && defaultMarker.primary) {\n      const variantAlts = roleSpec.markerVariants?.[profile.code] ?? [];\n      const markerAlternatives = [\n        .../* @__PURE__ */ new Set([...defaultMarker.alternatives ?? [], ...variantAlts])\n      ].filter((a) => a !== defaultMarker.primary);\n      rules[roleSpec.role] = markerAlternatives.length ? { marker: defaultMarker.primary, markerAlternatives } : { marker: defaultMarker.primary };\n    } else {\n      rules[roleSpec.role] = {};\n    }\n  }\n  return rules;\n}\nfunction buildExtractionRulesWithDefaults(schema, profile) {\n  const baseRules = buildExtractionRules(schema, profile);\n  const rules = {};\n  for (const roleSpec of schema.roles) {\n    const baseRule = baseRules[roleSpec.role] || {};\n    if (!roleSpec.required && roleSpec.default) {\n      rules[roleSpec.role] = { ...baseRule, default: roleSpec.default };\n    } else {\n      rules[roleSpec.role] = baseRule;\n    }\n  }\n  return rules;\n}\nfunction buildFormatString(schema, profile, keyword) {\n  const parts = [];\n  const sortedRoles = sortRolesByWordOrder(schema.roles, profile.wordOrder);\n  const roleParts = sortedRoles.map((roleSpec) => {\n    const resolved = resolveMarkerForRole(roleSpec, profile);\n    let part = \"\";\n    if (resolved && resolved.primary) {\n      if (resolved.position === \"before\") {\n        part = `${resolved.primary} {${roleSpec.role}}`;\n      } else {\n        part = `{${roleSpec.role}} ${resolved.primary}`;\n      }\n    } else {\n      part = `{${roleSpec.role}}`;\n    }\n    return roleSpec.required ? part : `[${part}]`;\n  });\n  switch (profile.wordOrder) {\n    case \"SVO\":\n    case \"VSO\":\n      parts.push(keyword.primary, ...roleParts);\n      break;\n    case \"SOV\":\n      parts.push(...roleParts, keyword.primary);\n      break;\n    default:\n      parts.push(keyword.primary, ...roleParts);\n  }\n  return parts.join(\" \");\n}\nfunction getGeneratorSummary() {\n  const languages = getRegisteredLanguages();\n  const commands = getDefinedSchemas().map((s) => s.action);\n  let totalPatterns = 0;\n  for (const lang of languages) {\n    const profile = tryGetProfile(lang);\n    if (profile) {\n      for (const schema of getDefinedSchemas()) {\n        if (profile.keywords[schema.action]) {\n          totalPatterns += 2;\n        }\n      }\n    }\n  }\n  return { languages, commands, totalPatterns };\n}\nfunction validateLanguageKeywords(profile, schemas = getDefinedSchemas()) {\n  const missing = [];\n  const available = [];\n  for (const schema of schemas) {\n    if (profile.keywords[schema.action]) {\n      available.push(schema.action);\n    } else {\n      missing.push(schema.action);\n    }\n  }\n  return { missing, available };\n}\nvar defaultConfig;\nvar init_pattern_generator = __esm({\n  \"src/generators/pattern-generator.ts\"() {\n    \"use strict\";\n    init_command_schemas();\n    init_role_positioning();\n    init_marker_resolution();\n    init_event_handlers_sov();\n    init_event_handlers_vso();\n    init_registry();\n    defaultConfig = {\n      basePriority: 100,\n      generateSimpleVariants: true,\n      generateAlternatives: true\n    };\n  }\n});\n\n// src/patterns/toggle.ts\nfunction getTogglePatternsBn() {\n  return [\n    // Full pattern: .active কে টগল করুন\n    {\n      id: \"toggle-bn-full\",\n      language: \"bn\",\n      command: \"toggle\",\n      priority: 100,\n      template: {\n        format: \"{patient} \\u0995\\u09C7 \\u099F\\u0997\\u09B2 \\u0995\\u09B0\\u09C1\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0995\\u09C7\" },\n          { type: \"literal\", value: \"\\u099F\\u0997\\u09B2\", alternatives: [\"\\u09AA\\u09B0\\u09BF\\u09AC\\u09B0\\u09CD\\u09A4\\u09A8\"] },\n          { type: \"literal\", value: \"\\u0995\\u09B0\\u09C1\\u09A8\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 }\n      }\n    },\n    // Simple pattern: টগল .active\n    {\n      id: \"toggle-bn-simple\",\n      language: \"bn\",\n      command: \"toggle\",\n      priority: 90,\n      template: {\n        format: \"\\u099F\\u0997\\u09B2 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u099F\\u0997\\u09B2\", alternatives: [\"\\u09AA\\u09B0\\u09BF\\u09AC\\u09B0\\u09CD\\u09A4\\u09A8\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    // With destination: #button এ .active কে টগল করুন\n    {\n      id: \"toggle-bn-with-dest\",\n      language: \"bn\",\n      command: \"toggle\",\n      priority: 95,\n      template: {\n        format: \"{destination} \\u098F {patient} \\u0995\\u09C7 \\u099F\\u0997\\u09B2 \\u0995\\u09B0\\u09C1\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u098F\", alternatives: [\"\\u09A4\\u09C7\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0995\\u09C7\" },\n          { type: \"literal\", value: \"\\u099F\\u0997\\u09B2\", alternatives: [\"\\u09AA\\u09B0\\u09BF\\u09AC\\u09B0\\u09CD\\u09A4\\u09A8\"] },\n          { type: \"literal\", value: \"\\u0995\\u09B0\\u09C1\\u09A8\" }\n        ]\n      },\n      extraction: {\n        destination: { position: 0 },\n        patient: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getTogglePatternsEn() {\n  return [\n    {\n      id: \"toggle-en-full\",\n      language: \"en\",\n      command: \"toggle\",\n      priority: 100,\n      template: {\n        format: \"toggle {patient} on {target}\",\n        tokens: [\n          { type: \"literal\", value: \"toggle\" },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"on\", alternatives: [\"from\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: {\n          marker: \"on\",\n          markerAlternatives: [\"from\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"toggle-en-simple\",\n      language: \"en\",\n      command: \"toggle\",\n      priority: 90,\n      template: {\n        format: \"toggle {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"toggle\" },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getTogglePatternsEs() {\n  return [\n    {\n      id: \"toggle-es-full\",\n      language: \"es\",\n      command: \"toggle\",\n      priority: 100,\n      template: {\n        format: \"alternar {patient} en {target}\",\n        tokens: [\n          { type: \"literal\", value: \"alternar\", alternatives: [\"cambiar\", \"toggle\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"en\", alternatives: [\"sobre\", \"de\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: {\n          marker: \"en\",\n          markerAlternatives: [\"sobre\", \"de\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"toggle-es-simple\",\n      language: \"es\",\n      command: \"toggle\",\n      priority: 90,\n      template: {\n        format: \"alternar {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"alternar\", alternatives: [\"cambiar\", \"toggle\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getTogglePatternsHi() {\n  return [\n    // Full pattern: .active को #button पर टॉगल करें\n    {\n      id: \"toggle-hi-full\",\n      language: \"hi\",\n      command: \"toggle\",\n      priority: 100,\n      template: {\n        format: \"{patient} \\u0915\\u094B {destination} \\u092A\\u0930 \\u091F\\u0949\\u0917\\u0932 \\u0915\\u0930\\u0947\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0915\\u094B\" },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u092A\\u0930\" },\n          { type: \"literal\", value: \"\\u091F\\u0949\\u0917\\u0932\", alternatives: [\"\\u092C\\u0926\\u0932\\u0947\\u0902\", \"\\u092C\\u0926\\u0932\"] },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [{ type: \"literal\", value: \"\\u0915\\u0930\\u0947\\u0902\", alternatives: [\"\\u0915\\u0930\\u094B\"] }]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        destination: { marker: \"\\u0915\\u094B\", position: 2 }\n      }\n    },\n    // Simple pattern: .active टॉगल करें\n    {\n      id: \"toggle-hi-simple\",\n      language: \"hi\",\n      command: \"toggle\",\n      priority: 90,\n      template: {\n        format: \"{patient} \\u091F\\u0949\\u0917\\u0932 \\u0915\\u0930\\u0947\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u091F\\u0949\\u0917\\u0932\", alternatives: [\"\\u092C\\u0926\\u0932\\u0947\\u0902\", \"\\u092C\\u0926\\u0932\"] },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [{ type: \"literal\", value: \"\\u0915\\u0930\\u0947\\u0902\", alternatives: [\"\\u0915\\u0930\\u094B\"] }]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    },\n    // Bare pattern: टॉगल .active\n    {\n      id: \"toggle-hi-bare\",\n      language: \"hi\",\n      command: \"toggle\",\n      priority: 80,\n      template: {\n        format: \"\\u091F\\u0949\\u0917\\u0932 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u091F\\u0949\\u0917\\u0932\", alternatives: [\"\\u092C\\u0926\\u0932\\u0947\\u0902\", \"\\u092C\\u0926\\u0932\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getTogglePatternsIt() {\n  return [\n    {\n      id: \"toggle-it-full\",\n      language: \"it\",\n      command: \"toggle\",\n      priority: 100,\n      template: {\n        format: \"commutare {patient} su {target}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"commutare\",\n            alternatives: [\"alternare\", \"toggle\", \"cambiare\"]\n          },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"su\", alternatives: [\"in\", \"di\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: {\n          marker: \"su\",\n          markerAlternatives: [\"in\", \"di\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"toggle-it-simple\",\n      language: \"it\",\n      command: \"toggle\",\n      priority: 90,\n      template: {\n        format: \"commutare {patient}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"commutare\",\n            alternatives: [\"alternare\", \"toggle\", \"cambiare\"]\n          },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getTogglePatternsPl() {\n  return [\n    {\n      id: \"toggle-pl-full\",\n      language: \"pl\",\n      command: \"toggle\",\n      priority: 100,\n      template: {\n        format: \"prze\\u0142\\u0105cz {patient} na {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"prze\\u0142\\u0105cz\", alternatives: [\"przelacz\", \"prze\\u0142\\u0105czaj\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"na\", alternatives: [\"w\", \"dla\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: {\n          marker: \"na\",\n          markerAlternatives: [\"w\", \"dla\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"toggle-pl-simple\",\n      language: \"pl\",\n      command: \"toggle\",\n      priority: 90,\n      template: {\n        format: \"prze\\u0142\\u0105cz {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"prze\\u0142\\u0105cz\", alternatives: [\"przelacz\", \"prze\\u0142\\u0105czaj\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getTogglePatternsQu() {\n  return [\n    // SOV pattern: .active ta t'ikray (patient + verb)\n    {\n      id: \"toggle-qu-sov\",\n      language: \"qu\",\n      command: \"toggle\",\n      priority: 100,\n      template: {\n        format: \"{patient} ta t'ikray\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"ta\" },\n          { type: \"literal\", value: \"t'ikray\", alternatives: [\"tikray\", \"kutichiy\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 }\n      }\n    },\n    // Simple pattern: t'ikray .active (verb + patient, more casual)\n    {\n      id: \"toggle-qu-simple\",\n      language: \"qu\",\n      command: \"toggle\",\n      priority: 90,\n      template: {\n        format: \"t'ikray {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"t'ikray\", alternatives: [\"tikray\", \"kutichiy\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    // With destination: #button pi .active ta t'ikray\n    {\n      id: \"toggle-qu-with-dest\",\n      language: \"qu\",\n      command: \"toggle\",\n      priority: 95,\n      template: {\n        format: \"{destination} pi {patient} ta t'ikray\",\n        tokens: [\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"pi\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"ta\" },\n          { type: \"literal\", value: \"t'ikray\", alternatives: [\"tikray\", \"kutichiy\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 0 },\n        patient: { position: 2 }\n      }\n    },\n    // Destination with -man marker: #button man .active ta t'ikray\n    {\n      id: \"toggle-qu-dest-man\",\n      language: \"qu\",\n      command: \"toggle\",\n      priority: 93,\n      template: {\n        format: \"{destination} man {patient} ta t'ikray\",\n        tokens: [\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"man\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"ta\" },\n          { type: \"literal\", value: \"t'ikray\", alternatives: [\"tikray\", \"kutichiy\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 0 },\n        patient: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getTogglePatternsRu() {\n  return [\n    {\n      id: \"toggle-ru-full\",\n      language: \"ru\",\n      command: \"toggle\",\n      priority: 100,\n      template: {\n        format: \"\\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C {patient} \\u043D\\u0430 {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C\", alternatives: [\"\\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u043D\\u0430\", alternatives: [\"\\u0432\", \"\\u0434\\u043B\\u044F\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: {\n          marker: \"\\u043D\\u0430\",\n          markerAlternatives: [\"\\u0432\", \"\\u0434\\u043B\\u044F\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"toggle-ru-simple\",\n      language: \"ru\",\n      command: \"toggle\",\n      priority: 90,\n      template: {\n        format: \"\\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C\", alternatives: [\"\\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getTogglePatternsTh() {\n  return [\n    // Simple pattern: สลับ .active\n    {\n      id: \"toggle-th-simple\",\n      language: \"th\",\n      command: \"toggle\",\n      priority: 100,\n      template: {\n        format: \"\\u0E2A\\u0E25\\u0E31\\u0E1A {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E2A\\u0E25\\u0E31\\u0E1A\" },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    // With destination: สลับ .active ใน #button\n    {\n      id: \"toggle-th-with-dest\",\n      language: \"th\",\n      command: \"toggle\",\n      priority: 95,\n      template: {\n        format: \"\\u0E2A\\u0E25\\u0E31\\u0E1A {patient} \\u0E43\\u0E19 {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E2A\\u0E25\\u0E31\\u0E1A\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0E43\\u0E19\" },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"\\u0E43\\u0E19\", position: 3 }\n      }\n    }\n  ];\n}\nfunction getTogglePatternsUk() {\n  return [\n    {\n      id: \"toggle-uk-full\",\n      language: \"uk\",\n      command: \"toggle\",\n      priority: 100,\n      template: {\n        format: \"\\u043F\\u0435\\u0440\\u0435\\u043C\\u043A\\u043D\\u0443\\u0442\\u0438 {patient} \\u043D\\u0430 {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u0435\\u0440\\u0435\\u043C\\u043A\\u043D\\u0443\\u0442\\u0438\", alternatives: [\"\\u043F\\u0435\\u0440\\u0435\\u043C\\u043A\\u043D\\u0438\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u043D\\u0430\", alternatives: [\"\\u0432\", \"\\u0434\\u043B\\u044F\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: {\n          marker: \"\\u043D\\u0430\",\n          markerAlternatives: [\"\\u0432\", \"\\u0434\\u043B\\u044F\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"toggle-uk-simple\",\n      language: \"uk\",\n      command: \"toggle\",\n      priority: 90,\n      template: {\n        format: \"\\u043F\\u0435\\u0440\\u0435\\u043C\\u043A\\u043D\\u0443\\u0442\\u0438 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u0435\\u0440\\u0435\\u043C\\u043A\\u043D\\u0443\\u0442\\u0438\", alternatives: [\"\\u043F\\u0435\\u0440\\u0435\\u043C\\u043A\\u043D\\u0438\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getTogglePatternsVi() {\n  return [\n    {\n      id: \"toggle-vi-full\",\n      language: \"vi\",\n      command: \"toggle\",\n      priority: 100,\n      template: {\n        format: \"chuy\\u1EC3n \\u0111\\u1ED5i {patient} tr\\xEAn {target}\",\n        tokens: [\n          { type: \"literal\", value: \"chuy\\u1EC3n \\u0111\\u1ED5i\", alternatives: [\"chuy\\u1EC3n\", \"b\\u1EADt t\\u1EAFt\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"tr\\xEAn\", alternatives: [\"t\\u1EA1i\", \"\\u1EDF\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: {\n          marker: \"tr\\xEAn\",\n          markerAlternatives: [\"t\\u1EA1i\", \"\\u1EDF\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"toggle-vi-simple\",\n      language: \"vi\",\n      command: \"toggle\",\n      priority: 90,\n      template: {\n        format: \"chuy\\u1EC3n \\u0111\\u1ED5i {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"chuy\\u1EC3n \\u0111\\u1ED5i\", alternatives: [\"chuy\\u1EC3n\", \"b\\u1EADt t\\u1EAFt\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getTogglePatternsZh() {\n  return [\n    {\n      id: \"toggle-zh-full\",\n      language: \"zh\",\n      command: \"toggle\",\n      priority: 100,\n      template: {\n        format: \"\\u5207\\u6362 {patient} \\u5728 {target}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u5207\\u6362\" },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u5728\", alternatives: [\"\\u5230\", \"\\u4E8E\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: {\n          marker: \"\\u5728\",\n          markerAlternatives: [\"\\u5230\", \"\\u4E8E\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"toggle-zh-simple\",\n      language: \"zh\",\n      command: \"toggle\",\n      priority: 90,\n      template: {\n        format: \"\\u5207\\u6362 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u5207\\u6362\" },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    },\n    {\n      id: \"toggle-zh-ba\",\n      language: \"zh\",\n      command: \"toggle\",\n      priority: 95,\n      template: {\n        format: \"\\u628A {patient} \\u5207\\u6362\",\n        tokens: [\n          { type: \"literal\", value: \"\\u628A\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u5207\\u6362\" }\n        ]\n      },\n      extraction: {\n        patient: { marker: \"\\u628A\" },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    },\n    {\n      id: \"toggle-zh-full-ba\",\n      language: \"zh\",\n      command: \"toggle\",\n      priority: 98,\n      template: {\n        format: \"\\u5728 {target} \\u628A {patient} \\u5207\\u6362\",\n        tokens: [\n          { type: \"literal\", value: \"\\u5728\", alternatives: [\"\\u5230\", \"\\u4E8E\"] },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u628A\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u5207\\u6362\" }\n        ]\n      },\n      extraction: {\n        destination: { marker: \"\\u5728\", markerAlternatives: [\"\\u5230\", \"\\u4E8E\"] },\n        patient: { marker: \"\\u628A\" }\n      }\n    }\n  ];\n}\nfunction getTogglePatternsForLanguage(language) {\n  switch (language) {\n    case \"bn\":\n      return getTogglePatternsBn();\n    case \"en\":\n      return getTogglePatternsEn();\n    case \"es\":\n      return getTogglePatternsEs();\n    case \"hi\":\n      return getTogglePatternsHi();\n    case \"it\":\n      return getTogglePatternsIt();\n    case \"pl\":\n      return getTogglePatternsPl();\n    case \"qu\":\n      return getTogglePatternsQu();\n    case \"ru\":\n      return getTogglePatternsRu();\n    case \"th\":\n      return getTogglePatternsTh();\n    case \"uk\":\n      return getTogglePatternsUk();\n    case \"vi\":\n      return getTogglePatternsVi();\n    case \"zh\":\n      return getTogglePatternsZh();\n    default:\n      return [];\n  }\n}\nvar init_toggle = __esm({\n  \"src/patterns/toggle.ts\"() {\n    \"use strict\";\n  }\n});\n\n// src/patterns/repeat.ts\nfunction repeatTimesHead(language, verb, countWord, markerBefore) {\n  const tokens = [];\n  tokens.push({ type: \"literal\", value: verb });\n  if (markerBefore) tokens.push({ type: \"literal\", value: markerBefore });\n  tokens.push({ type: \"role\", role: \"quantity\", expectedTypes: [\"literal\", \"expression\"] });\n  tokens.push({ type: \"literal\", value: countWord });\n  return {\n    id: `repeat-${language}-times`,\n    language,\n    command: \"repeat\",\n    priority: 110,\n    // > the generated positional repeat (100)\n    template: {\n      format: `${verb}${markerBefore ? \" \" + markerBefore : \"\"} {quantity} ${countWord}`,\n      tokens\n    },\n    extraction: {\n      loopType: { default: { type: \"literal\", value: \"times\" } }\n    }\n  };\n}\nfunction repeatTimesHeadSOV(language, countWord, marker) {\n  return {\n    id: `repeat-${language}-times`,\n    language,\n    command: \"repeat\",\n    priority: 110,\n    // > the generated positional repeat (100)\n    template: {\n      format: `{quantity} ${countWord} ${marker} repeat`,\n      tokens: [\n        { type: \"role\", role: \"quantity\", expectedTypes: [\"literal\", \"expression\"] },\n        { type: \"literal\", value: countWord },\n        { type: \"literal\", value: marker },\n        { type: \"literal\", value: \"repeat\" }\n        // matches the verb's normalized form\n      ]\n    },\n    extraction: {\n      loopType: { default: { type: \"literal\", value: \"times\" } }\n    }\n  };\n}\nfunction repeatForInHead(language, spec) {\n  const tokens = [\n    { type: \"literal\", value: \"repeat\" }\n    // matches the verb's normalized form\n  ];\n  if (spec.forWords && spec.forWords.length > 0) {\n    tokens.push({\n      type: \"group\",\n      optional: true,\n      tokens: spec.forWords.map((w) => ({ type: \"literal\", value: w }))\n    });\n  }\n  tokens.push({ type: \"role\", role: \"patient\", expectedTypes: [\"expression\", \"reference\"] });\n  for (const w of spec.inWords) tokens.push({ type: \"literal\", value: w });\n  tokens.push({\n    type: \"role\",\n    role: \"source\",\n    expectedTypes: [\"selector\", \"expression\", \"reference\"]\n  });\n  return {\n    id: `repeat-${language}-for-in`,\n    language,\n    command: \"repeat\",\n    priority: 110,\n    // > the generated positional repeat (100)\n    template: {\n      format: `repeat [${(spec.forWords ?? []).join(\" \")}] {patient} ${spec.inWords.join(\" \")} {source}`,\n      tokens\n    },\n    extraction: {\n      loopType: { default: { type: \"literal\", value: \"for\" } }\n    }\n  };\n}\nfunction repeatWhileHead(language, spec) {\n  const tokens = [{ type: \"literal\", value: \"repeat\" }];\n  for (const w of spec.pre ?? []) tokens.push({ type: \"literal\", value: w });\n  tokens.push({ type: \"literal\", value: spec.whileWord });\n  tokens.push({\n    type: \"role\",\n    role: \"condition\",\n    expectedTypes: [\"property-path\", \"expression\"]\n  });\n  return {\n    id: `repeat-${language}-while-head`,\n    language,\n    command: \"repeat\",\n    priority: 110,\n    template: {\n      format: `repeat ${(spec.pre ?? []).join(\" \")} ${spec.whileWord} {condition}`,\n      tokens\n    },\n    extraction: {\n      loopType: { default: { type: \"literal\", value: \"while\" } }\n    }\n  };\n}\nfunction repeatUntilHeadVerbFirst(language, spec) {\n  const tokens = [{ type: \"literal\", value: \"repeat\" }];\n  for (const w of spec.pre ?? []) tokens.push({ type: \"literal\", value: w });\n  tokens.push({ type: \"literal\", value: spec.untilWord });\n  if (spec.preEvent) tokens.push({ type: \"literal\", value: spec.preEvent });\n  tokens.push({ type: \"literal\", value: spec.eventWord });\n  tokens.push({ type: \"role\", role: \"event\", expectedTypes: [\"literal\", \"expression\"] });\n  tokens.push({\n    type: \"group\",\n    optional: true,\n    tokens: [\n      { type: \"literal\", value: spec.fromWord },\n      { type: \"role\", role: \"source\", expectedTypes: [\"selector\", \"reference\", \"expression\"] }\n    ]\n  });\n  return {\n    id: `repeat-${language}-until-head`,\n    language,\n    command: \"repeat\",\n    priority: 110,\n    template: {\n      format: `repeat ${spec.untilWord} ${spec.eventWord} {event} [${spec.fromWord} {source}]`,\n      tokens\n    },\n    extraction: {\n      loopType: { default: { type: \"literal\", value: \"until-event\" } }\n    }\n  };\n}\nfunction repeatUntilHeadSOV(language, spec) {\n  return {\n    id: `repeat-${language}-until-head`,\n    language,\n    command: \"repeat\",\n    priority: 110,\n    template: {\n      format: `${spec.untilWord} ${spec.eventWord} {event} ${spec.objMarker} repeat [{source} ${spec.fromWord}]`,\n      tokens: [\n        { type: \"literal\", value: spec.untilWord },\n        { type: \"literal\", value: spec.eventWord },\n        { type: \"role\", role: \"event\", expectedTypes: [\"literal\", \"expression\"] },\n        { type: \"literal\", value: spec.objMarker },\n        { type: \"literal\", value: \"repeat\" },\n        {\n          type: \"group\",\n          optional: true,\n          tokens: [\n            {\n              type: \"role\",\n              role: \"source\",\n              expectedTypes: [\"selector\", \"reference\", \"expression\"]\n            },\n            { type: \"literal\", value: spec.fromWord }\n          ]\n        }\n      ]\n    },\n    extraction: {\n      loopType: { default: { type: \"literal\", value: \"until-event\" } }\n    }\n  };\n}\nfunction getRepeatPatternsForLanguage(language) {\n  return BY_LANG.get(language) ?? [];\n}\nvar VERB_FIRST_REPEAT_TIMES, SOV_REPEAT_TIMES, FOR_IN_HEADS, WHILE_HEADS, VERB_FIRST_UNTIL_HEADS, repeatUntilHeadQuMidClause, SOV_UNTIL_HEADS, repeatUntilHeadQu, BY_LANG, addPattern;\nvar init_repeat = __esm({\n  \"src/patterns/repeat.ts\"() {\n    \"use strict\";\n    VERB_FIRST_REPEAT_TIMES = [\n      [\"es\", \"repetir\", \"times\"],\n      [\"de\", \"wiederholen\", \"times\"],\n      [\"fr\", \"r\\xE9p\\xE9ter\", \"times\"],\n      [\"it\", \"ripetere\", \"times\"],\n      [\"pt\", \"repetir\", \"times\"],\n      [\"ru\", \"\\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\\u0442\\u044C\", \"times\"],\n      [\"uk\", \"\\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\\u0442\\u0438\", \"times\"],\n      [\"pl\", \"powt\\xF3rz\", \"times\"],\n      [\"ar\", \"\\u0643\\u0631\\u0631\", \"times\"],\n      [\"he\", \"\\u05D7\\u05D6\\u05D5\\u05E8\", \"times\", \"\\u05D0\\u05EA\"],\n      [\"id\", \"ulangi\", \"times\"],\n      [\"ms\", \"ulang\", \"times\"],\n      [\"sw\", \"rudia\", \"times\"],\n      [\"th\", \"\\u0E17\\u0E33\\u0E0B\\u0E49\\u0E33\", \"\\u0E04\\u0E23\\u0E31\\u0E49\\u0E07\"],\n      [\"vi\", \"l\\u1EB7p l\\u1EA1i\", \"l\\u1EA7n\"],\n      [\"tl\", \"ulitin\", \"beses\"],\n      [\"zh\", \"\\u91CD\\u590D\", \"times\", \"\\u628A\"]\n    ];\n    SOV_REPEAT_TIMES = [\n      [\"ja\", \"times\", \"\\u3092\"],\n      [\"ko\", \"times\", \"\\uB97C\"],\n      [\"tr\", \"times\", \"i\"],\n      [\"hi\", \"times\", \"\\u0915\\u094B\"],\n      [\"bn\", \"\\u09AC\\u09BE\\u09B0\", \"\\u0995\\u09C7\"],\n      [\"qu\", \"times\", \"ta\"]\n    ];\n    FOR_IN_HEADS = [\n      [\"en\", { forWords: [\"for\"], inWords: [\"in\"] }],\n      [\"es\", { forWords: [\"para\"], inWords: [\"en\"] }],\n      [\"pt\", { forWords: [\"para\"], inWords: [\"dentro\"] }],\n      [\"fr\", { forWords: [\"pour\"], inWords: [\"en\"] }],\n      [\"it\", { forWords: [\"per\"], inWords: [\"in\"] }],\n      [\"de\", { forWords: [\"f\\xFCr\"], inWords: [\"in\"] }],\n      [\"ru\", { forWords: [\"\\u0434\\u043B\\u044F\"], inWords: [\"\\u0432\"] }],\n      [\"uk\", { forWords: [\"\\u0434\\u043B\\u044F\"], inWords: [\"\\u0443\"] }],\n      [\"pl\", { forWords: [\"dla\"], inWords: [\"w\"] }],\n      [\"ar\", { forWords: [\"\\u0644\\u0643\\u0644\"], inWords: [\"\\u0641\\u064A\"] }],\n      // he keeps English `in` untranslated; stagger inserts `עבור את` before the var.\n      [\"he\", { forWords: [\"\\u05E2\\u05D1\\u05D5\\u05E8\", \"\\u05D0\\u05EA\"], inWords: [\"in\"] }],\n      [\"hi\", { inWords: [\"\\u092E\\u0947\\u0902\"] }],\n      [\"bn\", { inWords: [\"\\u098F\"] }],\n      [\"ja\", { inWords: [\"\\u306E\", \"\\u4E2D\"] }],\n      [\"ko\", { inWords: [\"\\uC548\", \"\\uC5D0\"] }],\n      [\"zh\", { forWords: [\"\\u4E3A\", \"\\u628A\"], inWords: [\"\\u5728\"] }],\n      [\"tr\", { inWords: [\"i\\xE7inde\"] }],\n      [\"id\", { forWords: [\"untuk\"], inWords: [\"dalam\"] }],\n      [\"ms\", { forWords: [\"untuk\"], inWords: [\"dalam\"] }],\n      [\"sw\", { forWords: [\"kwa\"], inWords: [\"ndani\"] }],\n      [\"th\", { forWords: [\"\\u0E2A\\u0E33\\u0E2B\\u0E23\\u0E31\\u0E1A\"], inWords: [\"\\u0E43\\u0E19\"] }],\n      [\"vi\", { forWords: [\"v\\u1EDBi m\\u1ED7i\"], inWords: [\"trong\"] }],\n      [\"tl\", { forWords: [\"para_sa\"], inWords: [\"sa_loob\"] }],\n      [\"qu\", { inWords: [\"uku\", \"pi\"] }]\n    ];\n    WHILE_HEADS = [\n      [\"en\", { whileWord: \"while\" }],\n      [\"es\", { whileWord: \"mientras\" }],\n      [\"pt\", { whileWord: \"enquanto\" }],\n      [\"fr\", { whileWord: \"tantque\" }],\n      [\"it\", { whileWord: \"mentre\" }],\n      [\"de\", { whileWord: \"w\\xE4hrend\" }],\n      [\"ru\", { whileWord: \"\\u043F\\u043E\\u043A\\u0430\" }],\n      [\"uk\", { whileWord: \"\\u043F\\u043E\\u043A\\u0438\" }],\n      [\"pl\", { whileWord: \"dop\\xF3ki\" }],\n      [\"ar\", { whileWord: \"\\u0628\\u064A\\u0646\\u0645\\u0627\" }],\n      [\"he\", { pre: [\"\\u05D0\\u05EA\"], whileWord: \"\\u05DB\\u05DC \\u05E2\\u05D5\\u05D3\" }],\n      // fused two-word token\n      [\"zh\", { pre: [\"\\u628A\"], whileWord: \"\\u5F53\" }],\n      [\"id\", { whileWord: \"selama\" }],\n      [\"ms\", { whileWord: \"selagi\" }],\n      [\"sw\", { whileWord: \"wakati\" }],\n      [\"th\", { whileWord: \"\\u0E43\\u0E19\\u0E02\\u0E13\\u0E30\\u0E17\\u0E35\\u0E48\" }],\n      [\"vi\", { whileWord: \"trong khi\" }],\n      // fused two-word token\n      [\"tl\", { whileWord: \"habang\" }]\n    ];\n    VERB_FIRST_UNTIL_HEADS = [\n      [\"es\", { untilWord: \"hasta\", eventWord: \"evento\", fromWord: \"de\" }],\n      [\"pt\", { untilWord: \"at\\xE9\", eventWord: \"evento\", fromWord: \"de\" }],\n      [\"fr\", { untilWord: \"jusqu\\xE0\", eventWord: \"\\xE9v\\xE9nement\", fromWord: \"de\" }],\n      [\"it\", { untilWord: \"fino\", eventWord: \"evento\", fromWord: \"da\" }],\n      [\"de\", { untilWord: \"bis\", eventWord: \"ereignis\", fromWord: \"von\" }],\n      [\"ru\", { untilWord: \"\\u0434\\u043E\", eventWord: \"\\u0441\\u043E\\u0431\\u044B\\u0442\\u0438\\u0435\", fromWord: \"\\u0438\\u0437\" }],\n      [\"uk\", { untilWord: \"\\u0434\\u043E\", eventWord: \"\\u043F\\u043E\\u0434\\u0456\\u044F\", fromWord: \"\\u0437\" }],\n      [\"pl\", { untilWord: \"a\\u017C\", eventWord: \"zdarzenie\", fromWord: \"z\" }],\n      [\"ar\", { untilWord: \"\\u062D\\u062A\\u0649\", eventWord: \"\\u062D\\u062F\\u062B\", fromWord: \"\\u0645\\u0646\" }],\n      [\"he\", { untilWord: \"\\u05E2\\u05D3\", preEvent: \"\\u05D0\\u05EA\", eventWord: \"\\u05D0\\u05D9\\u05E8\\u05D5\\u05E2\", fromWord: \"\\u05DE\" }],\n      [\"id\", { untilWord: \"sampai\", eventWord: \"peristiwa\", fromWord: \"dari\" }],\n      [\"ms\", { untilWord: \"sehingga\", eventWord: \"peristiwa\", fromWord: \"dari\" }],\n      [\"sw\", { untilWord: \"hadi\", eventWord: \"tukio\", fromWord: \"kutoka\" }],\n      [\"th\", { untilWord: \"\\u0E08\\u0E19\\u0E16\\u0E36\\u0E07\", eventWord: \"\\u0E40\\u0E2B\\u0E15\\u0E38\\u0E01\\u0E32\\u0E23\\u0E13\\u0E4C\", fromWord: \"\\u0E08\\u0E32\\u0E01\" }],\n      [\"vi\", { untilWord: \"cho \\u0111\\u1EBFn khi\", eventWord: \"s\\u1EF1 ki\\u1EC7n\", fromWord: \"t\\u1EEB\" }],\n      [\"tl\", { untilWord: \"hanggang\", eventWord: \"pangyayari\", fromWord: \"mula_sa\" }],\n      [\"zh\", { pre: [\"\\u628A\"], untilWord: \"\\u76F4\\u5230\", eventWord: \"\\u4E8B\\u4EF6\", fromWord: \"\\u4ECE\" }]\n    ];\n    repeatUntilHeadQuMidClause = {\n      id: \"repeat-qu-midclause-until-head\",\n      language: \"qu\",\n      command: \"repeat\",\n      priority: 109,\n      // below the prefixed variant so position-0 parses prefer it\n      template: {\n        format: \"until event {event} ta {source} manta repeat\",\n        tokens: [\n          { type: \"literal\", value: \"until\" },\n          { type: \"literal\", value: \"event\" },\n          { type: \"role\", role: \"event\", expectedTypes: [\"literal\", \"expression\"] },\n          { type: \"literal\", value: \"ta\" },\n          { type: \"role\", role: \"source\", expectedTypes: [\"selector\", \"reference\", \"expression\"] },\n          { type: \"literal\", value: \"manta\" },\n          { type: \"literal\", value: \"repeat\" }\n        ]\n      },\n      extraction: {\n        loopType: { default: { type: \"literal\", value: \"until-event\" } }\n      }\n    };\n    SOV_UNTIL_HEADS = [\n      [\"hi\", { untilWord: \"\\u0924\\u0915\", eventWord: \"\\u0918\\u091F\\u0928\\u093E\", objMarker: \"\\u0915\\u094B\", fromWord: \"\\u0938\\u0947\" }],\n      [\"bn\", { untilWord: \"\\u09AA\\u09B0\\u09CD\\u09AF\\u09A8\\u09CD\\u09A4\", eventWord: \"\\u0998\\u099F\\u09A8\\u09BE\", objMarker: \"\\u0995\\u09C7\", fromWord: \"\\u09A5\\u09C7\\u0995\\u09C7\" }],\n      [\"ja\", { untilWord: \"\\u307E\\u3067\", eventWord: \"\\u30A4\\u30D9\\u30F3\\u30C8\", objMarker: \"\\u3092\", fromWord: \"\\u304B\\u3089\" }],\n      [\"ko\", { untilWord: \"\\uAE4C\\uC9C0\", eventWord: \"\\uC774\\uBCA4\\uD2B8\", objMarker: \"\\uB97C\", fromWord: \"\\uC5D0\\uC11C\" }],\n      [\"tr\", { untilWord: \"kadar\", eventWord: \"olay\", objMarker: \"i\", fromWord: \"den\" }]\n    ];\n    repeatUntilHeadQu = {\n      id: \"repeat-qu-until-head\",\n      language: \"qu\",\n      command: \"repeat\",\n      priority: 110,\n      template: {\n        format: \"hayk _ a until event {event} ta {source} manta repeat\",\n        tokens: [\n          { type: \"literal\", value: \"hayk\" },\n          { type: \"literal\", value: \"_\" },\n          { type: \"literal\", value: \"a\" },\n          { type: \"literal\", value: \"until\" },\n          { type: \"literal\", value: \"event\" },\n          { type: \"role\", role: \"event\", expectedTypes: [\"literal\", \"expression\"] },\n          { type: \"literal\", value: \"ta\" },\n          { type: \"role\", role: \"source\", expectedTypes: [\"selector\", \"reference\", \"expression\"] },\n          { type: \"literal\", value: \"manta\" },\n          { type: \"literal\", value: \"repeat\" }\n        ]\n      },\n      extraction: {\n        loopType: { default: { type: \"literal\", value: \"until-event\" } }\n      }\n    };\n    BY_LANG = /* @__PURE__ */ new Map();\n    addPattern = (lang, p) => {\n      const list = BY_LANG.get(lang);\n      if (list) list.push(p);\n      else BY_LANG.set(lang, [p]);\n    };\n    for (const [lang, verb, countWord, marker] of VERB_FIRST_REPEAT_TIMES) {\n      addPattern(lang, repeatTimesHead(lang, verb, countWord, marker));\n    }\n    for (const [lang, countWord, marker] of SOV_REPEAT_TIMES) {\n      addPattern(lang, repeatTimesHeadSOV(lang, countWord, marker));\n    }\n    for (const [lang, spec] of FOR_IN_HEADS) {\n      addPattern(lang, repeatForInHead(lang, spec));\n    }\n    for (const [lang, spec] of WHILE_HEADS) {\n      addPattern(lang, repeatWhileHead(lang, spec));\n    }\n    for (const [lang, spec] of VERB_FIRST_UNTIL_HEADS) {\n      addPattern(lang, repeatUntilHeadVerbFirst(lang, spec));\n    }\n    for (const [lang, spec] of SOV_UNTIL_HEADS) {\n      addPattern(lang, repeatUntilHeadSOV(lang, spec));\n    }\n    addPattern(\"qu\", repeatUntilHeadQu);\n    addPattern(\"qu\", repeatUntilHeadQuMidClause);\n  }\n});\n\n// src/patterns/wait.ts\nfunction getWaitPatternsZh() {\n  return [\n    // BA-marked duration: 等待 把 1s (transformer output). The generated\n    // `等待 {duration}` already covers the unmarked `等待 1s` form.\n    {\n      id: \"wait-zh-ba\",\n      language: \"zh\",\n      command: \"wait\",\n      priority: 105,\n      template: {\n        format: \"\\u7B49\\u5F85 \\u628A {duration}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u7B49\\u5F85\", alternatives: [\"\\u7B49\", \"\\u7A0D\\u5019\"] },\n          { type: \"literal\", value: \"\\u628A\" },\n          { type: \"role\", role: \"duration\", expectedTypes: [\"literal\", \"expression\"] }\n        ]\n      },\n      extraction: {\n        duration: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getWaitPatternsHe() {\n  return [\n    {\n      // Accusative-marked wait (`חכה את 2s`) — see send-he-et / wait-zh-ba.\n      id: \"wait-he-et\",\n      language: \"he\",\n      command: \"wait\",\n      priority: 105,\n      template: {\n        format: \"\\u05D7\\u05DB\\u05D4 \\u05D0\\u05EA {duration}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u05D7\\u05DB\\u05D4\", alternatives: [\"\\u05D4\\u05DE\\u05EA\\u05DF\"] },\n          { type: \"literal\", value: \"\\u05D0\\u05EA\" },\n          { type: \"role\", role: \"duration\", expectedTypes: [\"literal\", \"expression\"] }\n        ]\n      },\n      extraction: {\n        duration: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getWaitPatternsAr() {\n  return [\n    {\n      id: \"wait-ar-from-first\",\n      language: \"ar\",\n      command: \"wait\",\n      priority: 105,\n      template: {\n        format: \"\\u0627\\u0646\\u062A\\u0638\\u0631 \\u0645\\u0646 {source} {duration}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0627\\u0646\\u062A\\u0638\\u0631\", alternatives: [\"\\u0627\\u0646\\u062A\\u0638\\u0631\\u064A\"] },\n          { type: \"literal\", value: \"\\u0645\\u0646\" },\n          { type: \"role\", role: \"source\", expectedTypes: [\"expression\", \"reference\"] },\n          { type: \"role\", role: \"duration\", expectedTypes: [\"expression\", \"literal\"] }\n        ]\n      },\n      extraction: {\n        source: { position: 2 },\n        duration: { position: 3 }\n      }\n    }\n  ];\n}\nfunction getWaitPatternsEn() {\n  return [\n    {\n      id: \"wait-en-for-event\",\n      language: \"en\",\n      command: \"wait\",\n      priority: 110,\n      template: {\n        format: \"wait for {event}\",\n        tokens: [\n          { type: \"literal\", value: \"wait\" },\n          { type: \"literal\", value: \"for\" },\n          { type: \"role\", role: \"event\", expectedTypes: [\"literal\", \"expression\"] }\n        ]\n      },\n      extraction: {\n        event: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getWaitPatternsTl() {\n  return [\n    {\n      id: \"wait-tl-from-first\",\n      language: \"tl\",\n      command: \"wait\",\n      priority: 105,\n      template: {\n        format: \"maghintay mula_sa {source} {duration}\",\n        tokens: [\n          { type: \"literal\", value: \"maghintay\", alternatives: [\"hintay\"] },\n          { type: \"literal\", value: \"mula_sa\", alternatives: [\"galing_sa\"] },\n          { type: \"role\", role: \"source\", expectedTypes: [\"expression\", \"reference\"] },\n          { type: \"role\", role: \"duration\", expectedTypes: [\"expression\", \"literal\"] }\n        ]\n      },\n      extraction: {\n        source: { position: 2 },\n        duration: { position: 3 }\n      }\n    }\n  ];\n}\nfunction getWaitPatternsForLanguage(language) {\n  switch (language) {\n    case \"en\":\n      return getWaitPatternsEn();\n    case \"zh\":\n      return getWaitPatternsZh();\n    case \"he\":\n      return getWaitPatternsHe();\n    case \"ar\":\n      return getWaitPatternsAr();\n    case \"tl\":\n      return getWaitPatternsTl();\n    default:\n      return [];\n  }\n}\nvar init_wait = __esm({\n  \"src/patterns/wait.ts\"() {\n    \"use strict\";\n  }\n});\n\n// src/patterns/en.ts\nvar en_exports = {};\n__export(en_exports, {\n  buildEnglishPatterns: () => buildEnglishPatterns\n});\nfunction buildEnglishPatterns() {\n  const patterns = [];\n  patterns.push(...getTogglePatternsForLanguage(\"en\"));\n  patterns.push(...getPutPatternsForLanguage(\"en\"));\n  patterns.push(...getEventHandlerPatternsForLanguage(\"en\"));\n  patterns.push(...getRepeatPatternsForLanguage(\"en\"));\n  patterns.push(...getWaitPatternsForLanguage(\"en\"));\n  patterns.push(\n    fetchWithResponseTypeEnglish,\n    fetchSimpleEnglish,\n    swapElementEnglish,\n    swapSimpleEnglish,\n    repeatUntilEventFromEnglish,\n    repeatUntilEventEnglish,\n    repeatTimesEnglish,\n    repeatForeverEnglish,\n    setPossessiveEnglish,\n    forEnglish,\n    ifEnglish,\n    unlessEnglish,\n    temporalInEnglish,\n    temporalAfterEnglish\n  );\n  const generatedPatterns = generatePatternsForLanguage(englishProfile);\n  patterns.push(...generatedPatterns);\n  return patterns;\n}\nvar fetchWithResponseTypeEnglish, fetchSimpleEnglish, swapSimpleEnglish, swapElementEnglish, repeatUntilEventFromEnglish, repeatUntilEventEnglish, repeatTimesEnglish, repeatForeverEnglish, setPossessiveEnglish, forEnglish, ifEnglish, unlessEnglish, temporalInEnglish, temporalAfterEnglish;\nvar init_en = __esm({\n  \"src/patterns/en.ts\"() {\n    \"use strict\";\n    init_english();\n    init_pattern_generator();\n    init_toggle();\n    init_put();\n    init_event_handler();\n    init_repeat();\n    init_wait();\n    fetchWithResponseTypeEnglish = {\n      id: \"fetch-en-with-response-type\",\n      language: \"en\",\n      command: \"fetch\",\n      priority: 90,\n      template: {\n        format: \"fetch {source} as {responseType}\",\n        tokens: [\n          { type: \"literal\", value: \"fetch\" },\n          { type: \"role\", role: \"source\", expectedTypes: [\"literal\", \"expression\"] },\n          { type: \"literal\", value: \"as\" },\n          { type: \"role\", role: \"responseType\", expectedTypes: [\"literal\", \"expression\"] }\n        ]\n      },\n      extraction: {\n        source: { position: 1 },\n        responseType: { marker: \"as\" }\n      }\n    };\n    fetchSimpleEnglish = {\n      id: \"fetch-en-simple\",\n      language: \"en\",\n      command: \"fetch\",\n      priority: 80,\n      template: {\n        format: \"fetch {source}\",\n        tokens: [\n          { type: \"literal\", value: \"fetch\" },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        source: { position: 1 }\n      }\n    };\n    swapSimpleEnglish = {\n      id: \"swap-en-handcrafted\",\n      language: \"en\",\n      command: \"swap\",\n      priority: 110,\n      template: {\n        format: \"swap {method} {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"swap\" },\n          { type: \"role\", role: \"method\" },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        method: { position: 1 },\n        destination: { position: 2 }\n      }\n    };\n    swapElementEnglish = {\n      id: \"swap-en-element\",\n      language: \"en\",\n      command: \"swap\",\n      priority: 120,\n      template: {\n        format: \"swap {destination} with {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"swap\" },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"with\" },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {}\n    };\n    repeatUntilEventFromEnglish = {\n      id: \"repeat-en-until-event-from\",\n      language: \"en\",\n      command: \"repeat\",\n      priority: 120,\n      template: {\n        format: \"repeat until event {event} from {source}\",\n        tokens: [\n          { type: \"literal\", value: \"repeat\" },\n          { type: \"literal\", value: \"until\" },\n          { type: \"literal\", value: \"event\" },\n          { type: \"role\", role: \"event\", expectedTypes: [\"literal\", \"expression\"] },\n          { type: \"literal\", value: \"from\" },\n          { type: \"role\", role: \"source\", expectedTypes: [\"selector\", \"reference\", \"expression\"] }\n        ]\n      },\n      extraction: {\n        event: { marker: \"event\" },\n        source: { marker: \"from\" },\n        loopType: { default: { type: \"literal\", value: \"until-event\" } }\n      }\n    };\n    repeatUntilEventEnglish = {\n      id: \"repeat-en-until-event\",\n      language: \"en\",\n      command: \"repeat\",\n      priority: 110,\n      template: {\n        format: \"repeat until event {event}\",\n        tokens: [\n          { type: \"literal\", value: \"repeat\" },\n          { type: \"literal\", value: \"until\" },\n          { type: \"literal\", value: \"event\" },\n          { type: \"role\", role: \"event\", expectedTypes: [\"literal\", \"expression\"] }\n        ]\n      },\n      extraction: {\n        event: { marker: \"event\" },\n        loopType: { default: { type: \"literal\", value: \"until-event\" } }\n      }\n    };\n    repeatTimesEnglish = {\n      id: \"repeat-en-times\",\n      language: \"en\",\n      command: \"repeat\",\n      priority: 110,\n      template: {\n        format: \"repeat {quantity} times\",\n        tokens: [\n          { type: \"literal\", value: \"repeat\" },\n          { type: \"role\", role: \"quantity\", expectedTypes: [\"literal\", \"expression\"] },\n          { type: \"literal\", value: \"times\" }\n        ]\n      },\n      extraction: {\n        loopType: { default: { type: \"literal\", value: \"times\" } }\n      }\n    };\n    repeatForeverEnglish = {\n      id: \"repeat-en-forever\",\n      language: \"en\",\n      command: \"repeat\",\n      priority: 110,\n      template: {\n        format: \"repeat forever\",\n        tokens: [\n          { type: \"literal\", value: \"repeat\" },\n          { type: \"literal\", value: \"forever\" }\n        ]\n      },\n      extraction: {\n        loopType: { default: { type: \"literal\", value: \"forever\" } }\n      }\n    };\n    setPossessiveEnglish = {\n      id: \"set-en-possessive\",\n      language: \"en\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        // Optional trailing `on <scope>` (S1 tabs-aria): `set @aria-selected to\n        // \"false\" on .tab` writes the attribute to every scope-matched element.\n        // This hand-crafted pattern ties the generated `set-en-generated` on\n        // priority and wins on stable-sort order, so the scope group must live\n        // here too or `on .tab` is silently dropped.\n        format: \"set {destination} to {patient} [on {scope}]\",\n        tokens: [\n          { type: \"literal\", value: \"set\" },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"to\" },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"on\" },\n              { type: \"role\", role: \"scope\", optional: true, expectedTypes: [\"selector\", \"reference\"] }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { marker: \"to\" },\n        scope: { marker: \"on\" }\n      }\n    };\n    forEnglish = {\n      id: \"for-en-basic\",\n      language: \"en\",\n      command: \"for\",\n      priority: 100,\n      template: {\n        format: \"for {patient} in {source}\",\n        tokens: [\n          { type: \"literal\", value: \"for\" },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"expression\", \"reference\"] },\n          { type: \"literal\", value: \"in\" },\n          { type: \"role\", role: \"source\", expectedTypes: [\"selector\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: { marker: \"in\" }\n        // NOTE: no `loopType` default. The `for` schema has no loopType role (unlike\n        // `repeat`, whose variants times/forever/until/for are meaningful), so a\n        // `loopType:literal=\"for\"` here merely DUPLICATES the action name — a\n        // redundant role NO schema-generated translation reproduces. Emitting it made\n        // en the R1 outlier: all 23 langs \"missed\" `for.loopType:literal` on every\n        // for-pattern (template-literal-list-build). The for AST mapper\n        // (command-mappers.ts forMapper) reads only patient+source, so dropping it is\n        // R2-safe. (Kept in sync with patterns/languages/en/control-flow.ts.)\n      }\n    };\n    ifEnglish = {\n      id: \"if-en-basic\",\n      language: \"en\",\n      command: \"if\",\n      priority: 100,\n      template: {\n        format: \"if {condition}\",\n        tokens: [\n          { type: \"literal\", value: \"if\" },\n          { type: \"role\", role: \"condition\", expectedTypes: [\"expression\", \"reference\", \"selector\"] }\n        ]\n      },\n      extraction: {\n        condition: { position: 1 }\n      }\n    };\n    unlessEnglish = {\n      id: \"unless-en-basic\",\n      language: \"en\",\n      command: \"unless\",\n      priority: 100,\n      template: {\n        format: \"unless {condition}\",\n        tokens: [\n          { type: \"literal\", value: \"unless\" },\n          { type: \"role\", role: \"condition\", expectedTypes: [\"expression\", \"reference\", \"selector\"] }\n        ]\n      },\n      extraction: {\n        condition: { position: 1 }\n      }\n    };\n    temporalInEnglish = {\n      id: \"temporal-en-in\",\n      language: \"en\",\n      command: \"wait\",\n      priority: 95,\n      template: {\n        format: \"in {duration}\",\n        tokens: [\n          { type: \"literal\", value: \"in\" },\n          { type: \"role\", role: \"duration\", expectedTypes: [\"literal\", \"expression\"] }\n        ]\n      },\n      extraction: {\n        duration: { position: 1 }\n      }\n    };\n    temporalAfterEnglish = {\n      id: \"temporal-en-after\",\n      language: \"en\",\n      command: \"wait\",\n      priority: 95,\n      template: {\n        format: \"after {duration}\",\n        tokens: [\n          { type: \"literal\", value: \"after\" },\n          { type: \"role\", role: \"duration\", expectedTypes: [\"literal\", \"expression\"] }\n        ]\n      },\n      extraction: {\n        duration: { position: 1 }\n      }\n    };\n  }\n});\n\n// src/core-bridge.ts\nvar DEFAULT_CONFIDENCE_THRESHOLD = 0.5;\nvar HIGH_CONFIDENCE_THRESHOLD = 0.8;\n\n// src/ast-builder/expression-parser/tokenizer.ts\nvar CONTEXT_VARS = /* @__PURE__ */ new Set([\n  \"me\",\n  \"my\",\n  \"myself\",\n  \"you\",\n  \"your\",\n  \"yourself\",\n  \"it\",\n  \"its\",\n  \"result\",\n  \"event\",\n  \"target\",\n  \"body\",\n  \"detail\",\n  \"window\",\n  \"document\"\n]);\nvar LOGICAL_OPERATORS = /* @__PURE__ */ new Set([\"and\", \"or\", \"not\", \"no\"]);\nvar BOOLEAN_LITERALS = /* @__PURE__ */ new Set([\"true\", \"false\", \"null\", \"undefined\"]);\nvar COMPARISON_KEYWORDS = /* @__PURE__ */ new Set([\"is\", \"matches\", \"match\", \"contains\", \"in\"]);\nvar POSITIONAL_KEYWORDS = /* @__PURE__ */ new Set([\"next\", \"previous\", \"closest\", \"first\", \"last\"]);\nvar TIME_UNITS = /* @__PURE__ */ new Set([\n  \"ms\",\n  \"s\",\n  \"seconds\",\n  \"second\",\n  \"milliseconds\",\n  \"millisecond\",\n  \"minutes\",\n  \"minute\",\n  \"hours\",\n  \"hour\"\n]);\nfunction tokenize(input) {\n  const tokens = [];\n  let pos2 = 0;\n  let line = 1;\n  let column = 1;\n  function previousTokenAllowsSelector() {\n    if (tokens.length === 0) return true;\n    const prev = tokens[tokens.length - 1];\n    if (prev.type === \"IDENTIFIER\" /* IDENTIFIER */ && COMPARISON_KEYWORDS.has(prev.value.toLowerCase())) {\n      return true;\n    }\n    if (prev.type === \"IDENTIFIER\" /* IDENTIFIER */ && POSITIONAL_KEYWORDS.has(prev.value.toLowerCase())) {\n      return true;\n    }\n    return [\n      \"OPERATOR\" /* OPERATOR */,\n      \"COMPARISON\" /* COMPARISON */,\n      \"LOGICAL\" /* LOGICAL */,\n      \"LPAREN\" /* LPAREN */,\n      \"LBRACKET\" /* LBRACKET */,\n      \"LBRACE\" /* LBRACE */,\n      \"COMMA\" /* COMMA */,\n      \"COLON\" /* COLON */\n    ].includes(prev.type);\n  }\n  function peek(offset = 0) {\n    return input[pos2 + offset] ?? \"\";\n  }\n  function advance() {\n    const char = input[pos2];\n    pos2++;\n    if (char === \"\\n\") {\n      line++;\n      column = 1;\n    } else {\n      column++;\n    }\n    return char;\n  }\n  function skipWhitespace() {\n    while (pos2 < input.length && /\\s/.test(input[pos2])) {\n      advance();\n    }\n  }\n  function readWhile(predicate) {\n    let result = \"\";\n    while (pos2 < input.length && predicate(input[pos2])) {\n      result += advance();\n    }\n    return result;\n  }\n  function readString(quote) {\n    let result = quote;\n    advance();\n    while (pos2 < input.length && input[pos2] !== quote) {\n      if (input[pos2] === \"\\\\\" && pos2 + 1 < input.length) {\n        result += advance();\n        result += advance();\n      } else {\n        result += advance();\n      }\n    }\n    if (pos2 < input.length) {\n      result += advance();\n    }\n    return result;\n  }\n  function readTemplateLiteral() {\n    let result = \"`\";\n    advance();\n    while (pos2 < input.length && input[pos2] !== \"`\") {\n      if (input[pos2] === \"\\\\\" && pos2 + 1 < input.length) {\n        result += advance();\n        result += advance();\n      } else {\n        result += advance();\n      }\n    }\n    if (pos2 < input.length) {\n      result += advance();\n    }\n    return result;\n  }\n  function readQuerySelector() {\n    let result = \"<\";\n    advance();\n    while (pos2 < input.length) {\n      result += advance();\n      if (result.endsWith(\"/>\")) {\n        break;\n      }\n    }\n    return result;\n  }\n  function makeToken(type, value, start) {\n    return {\n      type,\n      value,\n      start,\n      end: pos2,\n      line,\n      column: column - value.length\n    };\n  }\n  while (pos2 < input.length) {\n    skipWhitespace();\n    if (pos2 >= input.length) break;\n    const start = pos2;\n    const char = peek();\n    if (char === \"'\" && peek(1) === \"s\" && !/\\w/.test(peek(2))) {\n      advance();\n      advance();\n      tokens.push(makeToken(\"POSSESSIVE\" /* POSSESSIVE */, \"'s\", start));\n      continue;\n    }\n    if (char === '\"' || char === \"'\") {\n      const value = readString(char);\n      tokens.push(makeToken(\"STRING\" /* STRING */, value, start));\n      continue;\n    }\n    if (char === \"`\") {\n      const value = readTemplateLiteral();\n      tokens.push(makeToken(\"TEMPLATE_LITERAL\" /* TEMPLATE_LITERAL */, value, start));\n      continue;\n    }\n    if (char === \"<\" && /[a-zA-Z.#\\[]/.test(peek(1))) {\n      const value = readQuerySelector();\n      tokens.push(makeToken(\"QUERY_SELECTOR\" /* QUERY_SELECTOR */, value, start));\n      continue;\n    }\n    if (char === \"#\" && previousTokenAllowsSelector()) {\n      advance();\n      const name = readWhile((c) => /[\\w-]/.test(c));\n      tokens.push(makeToken(\"ID_SELECTOR\" /* ID_SELECTOR */, \"#\" + name, start));\n      continue;\n    }\n    if (char === \".\" && /[a-zA-Z_-]/.test(peek(1)) && previousTokenAllowsSelector()) {\n      advance();\n      const name = readWhile((c) => /[\\w-]/.test(c));\n      tokens.push(makeToken(\"CLASS_SELECTOR\" /* CLASS_SELECTOR */, \".\" + name, start));\n      continue;\n    }\n    if (char === \"@\" && /[a-zA-Z_]/.test(peek(1))) {\n      advance();\n      const name = readWhile((c) => /[\\w-]/.test(c));\n      tokens.push(makeToken(\"ATTRIBUTE_REF\" /* ATTRIBUTE_REF */, \"@\" + name, start));\n      continue;\n    }\n    if (char === \"[\" && previousTokenAllowsSelector()) {\n      const nextChar = peek(1);\n      if (nextChar === \"@\" || /[a-zA-Z]/.test(nextChar)) {\n        let value = \"\";\n        value += advance();\n        while (pos2 < input.length && input[pos2] !== \"]\") {\n          if (input[pos2] === '\"' || input[pos2] === \"'\") {\n            value += readString(input[pos2]);\n          } else {\n            value += advance();\n          }\n        }\n        if (pos2 < input.length) {\n          value += advance();\n        }\n        tokens.push(makeToken(\"ATTRIBUTE_SELECTOR\" /* ATTRIBUTE_SELECTOR */, value, start));\n        continue;\n      }\n    }\n    if (char === \"[\") {\n      advance();\n      tokens.push(makeToken(\"LBRACKET\" /* LBRACKET */, \"[\", start));\n      continue;\n    }\n    if (char === \"]\") {\n      advance();\n      tokens.push(makeToken(\"RBRACKET\" /* RBRACKET */, \"]\", start));\n      continue;\n    }\n    if (/\\d/.test(char)) {\n      const num = readWhile((c) => /[\\d.]/.test(c));\n      const unitStart = pos2;\n      const unit = readWhile((c) => /[a-zA-Z]/.test(c));\n      if (TIME_UNITS.has(unit)) {\n        tokens.push(makeToken(\"TIME_EXPRESSION\" /* TIME_EXPRESSION */, num + unit, start));\n      } else {\n        pos2 = unitStart;\n        tokens.push(makeToken(\"NUMBER\" /* NUMBER */, num, start));\n      }\n      continue;\n    }\n    if (char === \"(\") {\n      advance();\n      tokens.push(makeToken(\"LPAREN\" /* LPAREN */, \"(\", start));\n      continue;\n    }\n    if (char === \")\") {\n      advance();\n      tokens.push(makeToken(\"RPAREN\" /* RPAREN */, \")\", start));\n      continue;\n    }\n    if (char === \"{\") {\n      advance();\n      tokens.push(makeToken(\"LBRACE\" /* LBRACE */, \"{\", start));\n      continue;\n    }\n    if (char === \"}\") {\n      advance();\n      tokens.push(makeToken(\"RBRACE\" /* RBRACE */, \"}\", start));\n      continue;\n    }\n    if (char === \",\") {\n      advance();\n      tokens.push(makeToken(\"COMMA\" /* COMMA */, \",\", start));\n      continue;\n    }\n    if (char === \":\") {\n      advance();\n      tokens.push(makeToken(\"COLON\" /* COLON */, \":\", start));\n      continue;\n    }\n    if (char === \".\") {\n      advance();\n      tokens.push(makeToken(\"DOT\" /* DOT */, \".\", start));\n      continue;\n    }\n    if (char === \"+\" || char === \"-\" || char === \"*\" || char === \"/\" || char === \"%\") {\n      advance();\n      tokens.push(makeToken(\"OPERATOR\" /* OPERATOR */, char, start));\n      continue;\n    }\n    if (char === \"=\" || char === \"!\" || char === \"<\" || char === \">\") {\n      let op = advance();\n      if (peek() === \"=\") {\n        op += advance();\n      }\n      tokens.push(makeToken(\"COMPARISON\" /* COMPARISON */, op, start));\n      continue;\n    }\n    if (/[a-zA-Z_$]/.test(char)) {\n      const word = readWhile((c) => /[\\w$]/.test(c));\n      const lower = word.toLowerCase();\n      if (CONTEXT_VARS.has(lower)) {\n        tokens.push(makeToken(\"CONTEXT_VAR\" /* CONTEXT_VAR */, word, start));\n      } else if (LOGICAL_OPERATORS.has(lower)) {\n        tokens.push(makeToken(\"LOGICAL\" /* LOGICAL */, word, start));\n      } else if (BOOLEAN_LITERALS.has(lower)) {\n        tokens.push(makeToken(\"BOOLEAN\" /* BOOLEAN */, word, start));\n      } else {\n        tokens.push(makeToken(\"IDENTIFIER\" /* IDENTIFIER */, word, start));\n      }\n      continue;\n    }\n    advance();\n  }\n  tokens.push(makeToken(\"EOF\" /* EOF */, \"\", pos2));\n  return tokens;\n}\n\n// src/ast-builder/expression-parser/parser.ts\nvar POSSESSIVE_CONTEXT_TYPES = /* @__PURE__ */ new Set([\"my\", \"its\", \"your\"]);\nvar POSTFIX_STOP_WORDS = /* @__PURE__ */ new Set([\"is\", \"matches\", \"match\", \"contains\", \"in\", \"exists\", \"does\"]);\nvar POSITIONAL_CALL_KEYWORDS = /* @__PURE__ */ new Set([\"next\", \"previous\", \"closest\", \"first\", \"last\"]);\nvar ExpressionParser = class {\n  constructor() {\n    this.tokens = [];\n    this.current = 0;\n  }\n  parse(input) {\n    try {\n      this.tokens = tokenize(input);\n      this.current = 0;\n      if (this.isAtEnd()) {\n        return { success: false, error: \"Empty expression\" };\n      }\n      const node = this.parseExpression();\n      return { success: true, node, consumed: this.current };\n    } catch (e) {\n      return {\n        success: false,\n        error: e instanceof Error ? e.message : \"Parse error\"\n      };\n    }\n  }\n  // =============================================================================\n  // Token Navigation\n  // =============================================================================\n  peek() {\n    return this.tokens[this.current] ?? { type: \"EOF\" /* EOF */, value: \"\", start: 0, end: 0 };\n  }\n  peekAt(offset) {\n    return this.tokens[this.current + offset] ?? { type: \"EOF\" /* EOF */, value: \"\", start: 0, end: 0 };\n  }\n  previous() {\n    return this.tokens[this.current - 1] ?? { type: \"EOF\" /* EOF */, value: \"\", start: 0, end: 0 };\n  }\n  isAtEnd() {\n    return this.peek().type === \"EOF\" /* EOF */;\n  }\n  advance() {\n    if (!this.isAtEnd()) {\n      this.current++;\n    }\n    return this.previous();\n  }\n  check(type) {\n    return this.peek().type === type;\n  }\n  checkValue(value) {\n    return this.peek().value.toLowerCase() === value.toLowerCase();\n  }\n  match(...types) {\n    for (const type of types) {\n      if (this.check(type)) {\n        this.advance();\n        return true;\n      }\n    }\n    return false;\n  }\n  // =============================================================================\n  // Expression Parsing (Precedence Climbing)\n  // =============================================================================\n  parseExpression() {\n    return this.parseOr();\n  }\n  parseOr() {\n    let left = this.parseAnd();\n    while (this.checkValue(\"or\")) {\n      const operator = this.advance().value;\n      const right = this.parseAnd();\n      left = this.createBinaryExpression(operator, left, right);\n    }\n    return left;\n  }\n  parseAnd() {\n    let left = this.parseEquality();\n    while (this.checkValue(\"and\")) {\n      const operator = this.advance().value;\n      const right = this.parseEquality();\n      left = this.createBinaryExpression(operator, left, right);\n    }\n    return left;\n  }\n  parseEquality() {\n    let left = this.parseComparison();\n    while (true) {\n      let operator;\n      if (this.match(\"COMPARISON\" /* COMPARISON */)) {\n        operator = this.previous().value;\n      } else if (this.checkValue(\"is\") || this.checkValue(\"matches\") || this.checkValue(\"match\") || this.checkValue(\"contains\") || this.checkValue(\"in\")) {\n        const raw = this.advance().value;\n        operator = raw.toLowerCase() === \"match\" ? \"matches\" : raw;\n      } else {\n        break;\n      }\n      if (operator.toLowerCase() === \"is\") {\n        if (this.checkValue(\"empty\")) {\n          this.advance();\n          left = this.createPostfixUnary(\"is empty\", left);\n          continue;\n        }\n        if (this.checkValue(\"not\") && this.peekAt(1).value.toLowerCase() === \"empty\") {\n          this.advance();\n          this.advance();\n          left = this.createPostfixUnary(\"is not empty\", left);\n          continue;\n        }\n      }\n      const right = this.parseComparison();\n      left = this.createBinaryExpression(operator, left, right);\n    }\n    return left;\n  }\n  parseComparison() {\n    let left = this.parseAddition();\n    while (this.check(\"COMPARISON\" /* COMPARISON */)) {\n      const operator = this.advance().value;\n      const right = this.parseAddition();\n      left = this.createBinaryExpression(operator, left, right);\n    }\n    return left;\n  }\n  parseAddition() {\n    let left = this.parseMultiplication();\n    while (this.peek().value === \"+\" || this.peek().value === \"-\") {\n      const operator = this.advance().value;\n      const right = this.parseMultiplication();\n      left = this.createBinaryExpression(operator, left, right);\n    }\n    return left;\n  }\n  parseMultiplication() {\n    let left = this.parseUnary();\n    while (this.peek().value === \"*\" || this.peek().value === \"/\" || this.peek().value === \"%\") {\n      const operator = this.advance().value;\n      const right = this.parseUnary();\n      left = this.createBinaryExpression(operator, left, right);\n    }\n    return left;\n  }\n  parseUnary() {\n    if (this.checkValue(\"not\") || this.checkValue(\"no\") || this.peek().value === \"-\") {\n      const operator = this.advance().value;\n      const operand = this.parseUnary();\n      return this.createUnaryExpression(operator, operand);\n    }\n    return this.parsePostfix();\n  }\n  parsePostfix() {\n    let expr = this.parsePrimary();\n    while (true) {\n      if (this.match(\"DOT\" /* DOT */)) {\n        if (this.check(\"IDENTIFIER\" /* IDENTIFIER */) || this.check(\"CONTEXT_VAR\" /* CONTEXT_VAR */)) {\n          const property = this.advance().value;\n          expr = this.createPropertyAccess(expr, property);\n        } else {\n          break;\n        }\n      } else if (this.match(\"POSSESSIVE\" /* POSSESSIVE */)) {\n        if (this.check(\"IDENTIFIER\" /* IDENTIFIER */) || this.check(\"CONTEXT_VAR\" /* CONTEXT_VAR */)) {\n          const property = this.advance().value;\n          expr = this.createPossessiveExpression(expr, property);\n        } else {\n          break;\n        }\n      } else if (this.match(\"LPAREN\" /* LPAREN */)) {\n        const args = this.parseArguments();\n        expr = this.createCallExpression(expr, args);\n      } else if (this.match(\"LBRACKET\" /* LBRACKET */)) {\n        const index = this.parseExpression();\n        if (!this.match(\"RBRACKET\" /* RBRACKET */)) {\n          throw new Error(\"Expected ] after index\");\n        }\n        expr = this.createPropertyAccess(expr, index);\n      } else if (expr.type === \"contextReference\" && POSSESSIVE_CONTEXT_TYPES.has(expr.contextType ?? \"\") && this.check(\"IDENTIFIER\" /* IDENTIFIER */) && !POSTFIX_STOP_WORDS.has(this.peek().value.toLowerCase())) {\n        const property = this.advance().value;\n        expr = this.createPropertyAccess(expr, property);\n      } else if (this.checkValue(\"exists\") && this.peekAt(1).type !== \"LPAREN\" /* LPAREN */) {\n        this.advance();\n        expr = this.createPostfixUnary(\"exists\", expr);\n      } else {\n        break;\n      }\n    }\n    return expr;\n  }\n  parsePrimary() {\n    const token = this.peek();\n    if (this.match(\"NUMBER\" /* NUMBER */)) {\n      return this.createLiteral(parseFloat(token.value), \"number\", token);\n    }\n    if (this.match(\"STRING\" /* STRING */)) {\n      const value = token.value.slice(1, -1);\n      return this.createLiteral(value, \"string\", token);\n    }\n    if (this.match(\"BOOLEAN\" /* BOOLEAN */)) {\n      const value = token.value === \"true\" ? true : token.value === \"false\" ? false : token.value === \"null\" ? null : void 0;\n      const dataTypeMap = {\n        true: \"boolean\",\n        false: \"boolean\",\n        null: \"null\",\n        undefined: \"undefined\"\n      };\n      return this.createLiteral(value, dataTypeMap[token.value] ?? \"string\", token);\n    }\n    if (this.match(\"TEMPLATE_LITERAL\" /* TEMPLATE_LITERAL */)) {\n      const templateNode = {\n        type: \"templateLiteral\",\n        value: token.value,\n        start: token.start,\n        end: token.end,\n        line: token.line,\n        column: token.column\n      };\n      return templateNode;\n    }\n    if (this.match(\"TIME_EXPRESSION\" /* TIME_EXPRESSION */)) {\n      return this.parseTimeExpression(token);\n    }\n    if (this.match(\"ID_SELECTOR\" /* ID_SELECTOR */)) {\n      return this.createSelector(token.value, \"id\", token);\n    }\n    if (this.match(\"CLASS_SELECTOR\" /* CLASS_SELECTOR */)) {\n      return this.createSelector(token.value, \"class\", token);\n    }\n    if (this.match(\"ATTRIBUTE_SELECTOR\" /* ATTRIBUTE_SELECTOR */)) {\n      return this.createSelector(token.value, \"attribute\", token);\n    }\n    if (this.match(\"ATTRIBUTE_REF\" /* ATTRIBUTE_REF */)) {\n      return {\n        type: \"attributeAccess\",\n        attributeName: token.value.slice(1),\n        start: token.start,\n        end: token.end\n      };\n    }\n    if (this.match(\"QUERY_SELECTOR\" /* QUERY_SELECTOR */)) {\n      const selector = token.value.slice(1, -2);\n      return this.createSelector(selector, \"query\", token);\n    }\n    if (this.match(\"CONTEXT_VAR\" /* CONTEXT_VAR */)) {\n      return this.createContextReference(token.value, token);\n    }\n    if (this.match(\"IDENTIFIER\" /* IDENTIFIER */)) {\n      if (POSITIONAL_CALL_KEYWORDS.has(token.value.toLowerCase()) && (this.check(\"CLASS_SELECTOR\" /* CLASS_SELECTOR */) || this.check(\"ID_SELECTOR\" /* ID_SELECTOR */) || this.check(\"QUERY_SELECTOR\" /* QUERY_SELECTOR */))) {\n        const selToken = this.advance();\n        const selValue = selToken.type === \"QUERY_SELECTOR\" /* QUERY_SELECTOR */ ? selToken.value.slice(1, -2) : selToken.value;\n        const kind = selToken.type === \"CLASS_SELECTOR\" /* CLASS_SELECTOR */ ? \"class\" : selToken.type === \"ID_SELECTOR\" /* ID_SELECTOR */ ? \"id\" : \"query\";\n        return {\n          type: \"callExpression\",\n          callee: this.createIdentifier(token.value, token),\n          arguments: [this.createSelector(selValue, kind, selToken)],\n          start: token.start,\n          end: selToken.end\n        };\n      }\n      return this.createIdentifier(token.value, token);\n    }\n    if (this.match(\"LPAREN\" /* LPAREN */)) {\n      const expr = this.parseExpression();\n      if (!this.match(\"RPAREN\" /* RPAREN */)) {\n        throw new Error(\"Expected ) after expression\");\n      }\n      return expr;\n    }\n    if (this.match(\"LBRACKET\" /* LBRACKET */)) {\n      return this.parseArrayLiteral();\n    }\n    if (this.match(\"LBRACE\" /* LBRACE */)) {\n      return this.parseObjectLiteral();\n    }\n    throw new Error(`Unexpected token: ${token.value}`);\n  }\n  parseArguments() {\n    const args = [];\n    if (!this.check(\"RPAREN\" /* RPAREN */)) {\n      do {\n        args.push(this.parseExpression());\n      } while (this.match(\"COMMA\" /* COMMA */));\n    }\n    if (!this.match(\"RPAREN\" /* RPAREN */)) {\n      throw new Error(\"Expected ) after arguments\");\n    }\n    return args;\n  }\n  parseArrayLiteral() {\n    const elements = [];\n    const start = this.previous().start;\n    if (!this.check(\"RBRACKET\" /* RBRACKET */)) {\n      do {\n        elements.push(this.parseExpression());\n      } while (this.match(\"COMMA\" /* COMMA */));\n    }\n    if (!this.match(\"RBRACKET\" /* RBRACKET */)) {\n      throw new Error(\"Expected ] after array elements\");\n    }\n    return {\n      type: \"arrayLiteral\",\n      elements,\n      start,\n      end: this.previous().end\n    };\n  }\n  parseObjectLiteral() {\n    const properties = [];\n    const start = this.previous().start;\n    if (!this.check(\"RBRACE\" /* RBRACE */)) {\n      do {\n        let key;\n        if (this.check(\"STRING\" /* STRING */)) {\n          key = this.advance().value.slice(1, -1);\n        } else if (this.check(\"IDENTIFIER\" /* IDENTIFIER */)) {\n          key = this.advance().value;\n        } else {\n          throw new Error(\"Expected property name\");\n        }\n        if (!this.match(\"COLON\" /* COLON */)) {\n          throw new Error(\"Expected : after property name\");\n        }\n        const value = this.parseExpression();\n        properties.push({ key, value });\n      } while (this.match(\"COMMA\" /* COMMA */));\n    }\n    if (!this.match(\"RBRACE\" /* RBRACE */)) {\n      throw new Error(\"Expected } after object properties\");\n    }\n    return {\n      type: \"objectLiteral\",\n      properties: properties.map((p) => ({\n        type: \"objectProperty\",\n        key: p.key,\n        value: p.value\n      })),\n      start,\n      end: this.previous().end\n    };\n  }\n  parseTimeExpression(token) {\n    const match = token.value.match(\n      /^(\\d+(?:\\.\\d+)?)(ms|s|seconds?|milliseconds?|minutes?|hours?)$/i\n    );\n    if (!match) {\n      throw new Error(`Invalid time expression: ${token.value}`);\n    }\n    const value = parseFloat(match[1]);\n    const unit = match[2].toLowerCase();\n    return {\n      type: \"timeExpression\",\n      value,\n      unit,\n      raw: token.value,\n      start: token.start,\n      end: token.end,\n      line: token.line,\n      column: token.column\n    };\n  }\n  // =============================================================================\n  // Node Factories\n  // =============================================================================\n  createLiteral(value, dataType, token) {\n    return {\n      type: \"literal\",\n      value,\n      dataType,\n      raw: token.value,\n      start: token.start,\n      end: token.end,\n      line: token.line,\n      column: token.column\n    };\n  }\n  createSelector(value, kind, token) {\n    return {\n      type: \"selector\",\n      value,\n      selector: value,\n      selectorType: kind,\n      start: token.start,\n      end: token.end,\n      line: token.line,\n      column: token.column\n    };\n  }\n  createContextReference(contextType, token) {\n    return {\n      type: \"contextReference\",\n      contextType,\n      name: token.value,\n      start: token.start,\n      end: token.end,\n      line: token.line,\n      column: token.column\n    };\n  }\n  createIdentifier(name, token) {\n    return {\n      type: \"identifier\",\n      name,\n      start: token.start,\n      end: token.end,\n      line: token.line,\n      column: token.column\n    };\n  }\n  createPropertyAccess(object, property) {\n    return {\n      type: \"propertyAccess\",\n      object,\n      property: typeof property === \"string\" ? property : property.type === \"identifier\" ? property.name : \"\",\n      start: object.start,\n      end: this.previous().end\n    };\n  }\n  createPossessiveExpression(object, property) {\n    return {\n      type: \"possessiveExpression\",\n      object,\n      property,\n      start: object.start,\n      end: this.previous().end\n    };\n  }\n  createBinaryExpression(operator, left, right) {\n    return {\n      type: \"binaryExpression\",\n      operator,\n      left,\n      right,\n      start: left.start,\n      end: right.end\n    };\n  }\n  createUnaryExpression(operator, operand) {\n    return {\n      type: \"unaryExpression\",\n      operator,\n      operand,\n      prefix: true,\n      start: this.previous().start,\n      end: operand.end\n    };\n  }\n  /** Postfix unary predicate (`X exists`, `X is empty`): operand precedes the operator. */\n  createPostfixUnary(operator, operand) {\n    return {\n      type: \"unaryExpression\",\n      operator,\n      operand,\n      prefix: false,\n      start: operand.start,\n      end: this.previous().end\n    };\n  }\n  createCallExpression(callee, args) {\n    return {\n      type: \"callExpression\",\n      callee,\n      arguments: args,\n      start: callee.start,\n      end: this.previous().end\n    };\n  }\n};\nfunction parseExpression(input) {\n  const parser = new ExpressionParser();\n  return parser.parse(input);\n}\n\n// src/ast-builder/value-converters.ts\nfunction convertValue(value, warnings) {\n  switch (value.type) {\n    case \"literal\":\n      return convertLiteral(value);\n    case \"selector\":\n      return convertSelector(value, warnings);\n    case \"reference\":\n      return convertReference(value);\n    case \"property-path\":\n      return convertPropertyPath(value, warnings);\n    case \"expression\":\n      return convertExpression(value);\n    case \"flag\":\n      return { type: \"literal\", value: value.enabled };\n    default:\n      const _exhaustive = value;\n      throw new Error(`Unknown semantic value type: ${_exhaustive.type}`);\n  }\n}\nfunction convertLiteral(value) {\n  const result = {\n    type: \"literal\",\n    value: value.value\n  };\n  if (value.dataType) {\n    return { ...result, dataType: value.dataType };\n  }\n  return result;\n}\nfunction convertSelector(value, warnings) {\n  if (value.value.startsWith(\"@\") && /^[a-zA-Z_]/.test(value.value.slice(1))) {\n    return {\n      type: \"attributeAccess\",\n      attributeName: value.value.slice(1)\n    };\n  }\n  if (warnings && value.value.startsWith(\"*\") && /^[a-zA-Z-]/.test(value.value.slice(1))) {\n    warnings.push(\n      `Converted '${value.value}' to a CSS selector, but it looks like a CSS property name. CSS properties in commands like 'transition' should be literal strings, not selectors. Consider using expectedTypes: ['literal'] instead of ['literal', 'selector'] in the command schema.`\n    );\n  }\n  if (value.value.startsWith(\"<\")) {\n    return {\n      type: \"selector\",\n      value: value.value,\n      selector: value.value,\n      selectorType: value.selectorKind,\n      raw: value.value\n    };\n  }\n  return {\n    type: \"selector\",\n    value: value.value,\n    selector: value.value,\n    selectorType: value.selectorKind\n  };\n}\nfunction convertReference(value) {\n  return {\n    type: \"contextReference\",\n    contextType: value.value,\n    name: value.value\n  };\n}\nfunction convertPropertyPath(value, warnings) {\n  return {\n    type: \"propertyAccess\",\n    object: convertValue(value.object, warnings),\n    property: value.property\n  };\n}\nfunction convertExpression(value) {\n  const result = parseExpression(value.raw);\n  if (!result.success || !result.node) {\n    const identifier = {\n      type: \"identifier\",\n      name: value.raw\n    };\n    return identifier;\n  }\n  return result.node;\n}\n\n// src/ast-builder/command-mappers.ts\nfunction getRole(node, role) {\n  return node.roles.get(role);\n}\nfunction convertRoleValue(node, role, warnings) {\n  const value = getRole(node, role);\n  return value ? convertValue(value, warnings) : void 0;\n}\nfunction createCommandNode(name, args = [], modifiers, options = {}) {\n  const result = {\n    type: \"command\",\n    name,\n    args\n  };\n  if (modifiers && Object.keys(modifiers).length > 0) {\n    result.modifiers = modifiers;\n  }\n  if (options.isBlocking) {\n    result.isBlocking = options.isBlocking;\n  }\n  if (options.implicitTarget) {\n    result.implicitTarget = options.implicitTarget;\n  }\n  if (options.semanticRoles && Object.keys(options.semanticRoles).length > 0) {\n    result[\"semanticRoles\"] = options.semanticRoles;\n  }\n  return result;\n}\nvar toggleMapper = {\n  action: \"toggle\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const destination = convertRoleValue(node, \"destination\");\n    const duration = convertRoleValue(node, \"duration\");\n    const args = patient ? [patient] : [];\n    const modifiers = {};\n    if (destination) modifiers[\"on\"] = destination;\n    if (duration) modifiers[\"for\"] = duration;\n    return createCommandNode(\"toggle\", args, modifiers);\n  }\n};\nvar addMapper = {\n  action: \"add\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const destination = convertRoleValue(node, \"destination\");\n    const args = patient ? [patient] : [];\n    const modifiers = {};\n    if (destination) modifiers[\"to\"] = destination;\n    return createCommandNode(\"add\", args, modifiers);\n  }\n};\nvar removeMapper = {\n  action: \"remove\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const source = convertRoleValue(node, \"source\");\n    const args = patient ? [patient] : [];\n    const modifiers = {};\n    if (source) modifiers[\"from\"] = source;\n    return createCommandNode(\"remove\", args, modifiers);\n  }\n};\nvar setMapper = {\n  action: \"set\",\n  toAST(node, _builder) {\n    const destination = convertRoleValue(node, \"destination\");\n    const patient = convertRoleValue(node, \"patient\");\n    const scope = convertRoleValue(node, \"scope\");\n    const args = [];\n    const modifiers = {};\n    if (destination) {\n      args.push(destination);\n    }\n    if (patient) modifiers[\"to\"] = patient;\n    if (scope) modifiers[\"on\"] = scope;\n    return createCommandNode(\"set\", args, modifiers);\n  }\n};\nvar showMapper = {\n  action: \"show\",\n  toAST(node, _builder) {\n    const destination = convertRoleValue(node, \"destination\");\n    const patient = convertRoleValue(node, \"patient\");\n    const duration = convertRoleValue(node, \"duration\");\n    const args = [];\n    const modifiers = {};\n    const target = destination ?? patient;\n    if (target) args.push(target);\n    if (duration) modifiers[\"with\"] = duration;\n    return createCommandNode(\"show\", args, modifiers);\n  }\n};\nvar hideMapper = {\n  action: \"hide\",\n  toAST(node, _builder) {\n    const destination = convertRoleValue(node, \"destination\");\n    const patient = convertRoleValue(node, \"patient\");\n    const duration = convertRoleValue(node, \"duration\");\n    const args = [];\n    const modifiers = {};\n    const target = destination ?? patient;\n    if (target) args.push(target);\n    if (duration) modifiers[\"with\"] = duration;\n    return createCommandNode(\"hide\", args, modifiers);\n  }\n};\nvar incrementMapper = {\n  action: \"increment\",\n  toAST(node, _builder) {\n    const destination = convertRoleValue(node, \"destination\");\n    const patient = convertRoleValue(node, \"patient\");\n    const quantity = convertRoleValue(node, \"quantity\");\n    const args = [];\n    const modifiers = {};\n    const target = destination ?? patient;\n    if (target) args.push(target);\n    if (quantity) modifiers[\"by\"] = quantity;\n    return createCommandNode(\"increment\", args, modifiers);\n  }\n};\nvar decrementMapper = {\n  action: \"decrement\",\n  toAST(node, _builder) {\n    const destination = convertRoleValue(node, \"destination\");\n    const patient = convertRoleValue(node, \"patient\");\n    const quantity = convertRoleValue(node, \"quantity\");\n    const args = [];\n    const modifiers = {};\n    const target = destination ?? patient;\n    if (target) args.push(target);\n    if (quantity) modifiers[\"by\"] = quantity;\n    return createCommandNode(\"decrement\", args, modifiers);\n  }\n};\nvar waitMapper = {\n  action: \"wait\",\n  toAST(node, _builder) {\n    const event = convertRoleValue(node, \"event\");\n    if (event) {\n      const modifiers = { for: event };\n      const source = convertRoleValue(node, \"source\");\n      if (source) modifiers.from = source;\n      return createCommandNode(\"wait\", [], modifiers, { isBlocking: true });\n    }\n    const duration = convertRoleValue(node, \"duration\");\n    const args = duration ? [duration] : [];\n    return createCommandNode(\"wait\", args, void 0, { isBlocking: true });\n  }\n};\nvar logMapper = {\n  action: \"log\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const args = [];\n    if (patient) args.push(patient);\n    return createCommandNode(\"log\", args);\n  }\n};\nvar putMapper = {\n  action: \"put\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const destination = convertRoleValue(node, \"destination\");\n    const position = getRole(node, \"manner\") ?? getRole(node, \"method\");\n    const args = patient ? [patient] : [];\n    const modifiers = {};\n    if (destination) {\n      const prep = position?.type === \"literal\" ? String(position.value) : \"into\";\n      modifiers[prep] = destination;\n    }\n    return createCommandNode(\"put\", args, modifiers);\n  }\n};\nvar fetchMapper = {\n  action: \"fetch\",\n  toAST(node, _builder) {\n    const source = convertRoleValue(node, \"source\");\n    const method = convertRoleValue(node, \"method\");\n    const responseType = convertRoleValue(node, \"responseType\");\n    const patient = convertRoleValue(node, \"patient\");\n    const args = source ? [source] : [];\n    const modifiers = {};\n    if (method) modifiers[\"with\"] = method;\n    if (responseType) modifiers[\"as\"] = responseType;\n    if (patient) modifiers[\"body\"] = patient;\n    return createCommandNode(\"fetch\", args, modifiers, { isBlocking: true });\n  }\n};\nvar appendMapper = {\n  action: \"append\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const destination = convertRoleValue(node, \"destination\");\n    const args = patient ? [patient] : [];\n    const modifiers = {};\n    if (destination) modifiers[\"to\"] = destination;\n    return createCommandNode(\"append\", args, modifiers);\n  }\n};\nvar prependMapper = {\n  action: \"prepend\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const destination = convertRoleValue(node, \"destination\");\n    const args = patient ? [patient] : [];\n    const modifiers = {};\n    if (destination) modifiers[\"to\"] = destination;\n    return createCommandNode(\"prepend\", args, modifiers);\n  }\n};\nvar triggerMapper = {\n  action: \"trigger\",\n  toAST(node, _builder) {\n    const event = convertRoleValue(node, \"event\");\n    const destination = convertRoleValue(node, \"destination\");\n    const args = event ? [event] : [];\n    const modifiers = {};\n    if (destination) modifiers[\"on\"] = destination;\n    return createCommandNode(\"trigger\", args, modifiers);\n  }\n};\nvar sendMapper = {\n  action: \"send\",\n  toAST(node, _builder) {\n    const event = convertRoleValue(node, \"event\");\n    const destination = convertRoleValue(node, \"destination\");\n    const patient = convertRoleValue(node, \"patient\");\n    const args = event ? [event] : [];\n    const modifiers = {};\n    if (destination) modifiers[\"to\"] = destination;\n    if (patient) modifiers[\"detail\"] = patient;\n    return createCommandNode(\"send\", args, modifiers);\n  }\n};\nvar goMapper = {\n  action: \"go\",\n  toAST(node, _builder) {\n    const source = convertRoleValue(node, \"source\");\n    const destination = convertRoleValue(node, \"destination\");\n    const args = [];\n    const modifiers = {};\n    if (source) args.push(source);\n    if (destination) modifiers[\"to\"] = destination;\n    return createCommandNode(\"go\", args, modifiers);\n  }\n};\nvar transitionMapper = {\n  action: \"transition\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const goal = convertRoleValue(node, \"goal\");\n    const duration = convertRoleValue(node, \"duration\");\n    const destination = convertRoleValue(node, \"destination\");\n    const args = patient ? [patient] : [];\n    const modifiers = {};\n    if (goal) modifiers[\"to\"] = goal;\n    if (duration) modifiers[\"over\"] = duration;\n    if (destination) modifiers[\"on\"] = destination;\n    return createCommandNode(\"transition\", args, modifiers);\n  }\n};\nvar focusMapper = {\n  action: \"focus\",\n  toAST(node, _builder) {\n    const destination = convertRoleValue(node, \"destination\");\n    const patient = convertRoleValue(node, \"patient\");\n    const args = [];\n    const modifiers = {};\n    const target = destination ?? patient;\n    if (target) args.push(target);\n    return createCommandNode(\"focus\", args, modifiers);\n  }\n};\nvar blurMapper = {\n  action: \"blur\",\n  toAST(node, _builder) {\n    const destination = convertRoleValue(node, \"destination\");\n    const patient = convertRoleValue(node, \"patient\");\n    const args = [];\n    const target = destination ?? patient;\n    if (target) args.push(target);\n    return createCommandNode(\"blur\", args);\n  }\n};\nvar getMapper = {\n  action: \"get\",\n  toAST(node, _builder) {\n    const source = convertRoleValue(node, \"source\");\n    const patient = convertRoleValue(node, \"patient\");\n    const args = [];\n    const value = source ?? patient;\n    if (value) args.push(value);\n    return createCommandNode(\"get\", args);\n  }\n};\nvar takeMapper = {\n  action: \"take\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const source = convertRoleValue(node, \"source\");\n    const args = patient ? [patient] : [];\n    const modifiers = {};\n    if (source) modifiers[\"from\"] = source;\n    return createCommandNode(\"take\", args, modifiers);\n  }\n};\nvar callMapper = {\n  action: \"call\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const args = patient ? [patient] : [];\n    return createCommandNode(\"call\", args);\n  }\n};\nvar returnMapper = {\n  action: \"return\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const args = patient ? [patient] : [];\n    return createCommandNode(\"return\", args);\n  }\n};\nvar haltMapper = {\n  action: \"halt\",\n  toAST(node, _builder) {\n    const patient = node.roles.get(\"patient\");\n    if (patient) {\n      return createCommandNode(\"halt\", [convertValue(patient)]);\n    }\n    return createCommandNode(\"halt\", []);\n  }\n};\nvar throwMapper = {\n  action: \"throw\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const args = patient ? [patient] : [];\n    return createCommandNode(\"throw\", args);\n  }\n};\nvar settleMapper = {\n  action: \"settle\",\n  toAST(node, _builder) {\n    const destination = convertRoleValue(node, \"destination\");\n    const patient = convertRoleValue(node, \"patient\");\n    const args = [];\n    const target = destination ?? patient;\n    if (target) args.push(target);\n    return createCommandNode(\"settle\", args, void 0, { isBlocking: true });\n  }\n};\nvar swapMapper = {\n  action: \"swap\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const source = convertRoleValue(node, \"source\");\n    const destination = convertRoleValue(node, \"destination\");\n    const style = convertRoleValue(node, \"style\");\n    const args = [];\n    const modifiers = {};\n    if (patient) args.push(patient);\n    if (source) args.push(source);\n    if (destination) modifiers[\"on\"] = destination;\n    if (style) modifiers[\"with\"] = style;\n    return createCommandNode(\"swap\", args, modifiers);\n  }\n};\nvar morphMapper = {\n  action: \"morph\",\n  toAST(node, _builder) {\n    const source = convertRoleValue(node, \"source\");\n    const destination = convertRoleValue(node, \"destination\");\n    const patient = convertRoleValue(node, \"patient\");\n    const args = [];\n    const modifiers = {};\n    const content = source ?? destination;\n    if (content) args.push(content);\n    if (patient) modifiers[\"on\"] = patient;\n    return createCommandNode(\"morph\", args, modifiers);\n  }\n};\nvar cloneMapper = {\n  action: \"clone\",\n  toAST(node, _builder) {\n    const source = convertRoleValue(node, \"source\");\n    const destination = convertRoleValue(node, \"destination\");\n    const patient = convertRoleValue(node, \"patient\");\n    const args = [];\n    const modifiers = {};\n    const target = source ?? patient;\n    if (target) args.push(target);\n    if (destination) modifiers[\"into\"] = destination;\n    return createCommandNode(\"clone\", args, modifiers);\n  }\n};\nvar makeMapper = {\n  action: \"make\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const args = patient ? [patient] : [];\n    return createCommandNode(\"make\", args);\n  }\n};\nvar measureMapper = {\n  action: \"measure\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const destination = convertRoleValue(node, \"destination\");\n    const source = convertRoleValue(node, \"source\");\n    const args = [];\n    const modifiers = {};\n    if (patient) args.push(patient);\n    const element = destination ?? source;\n    if (element) modifiers[\"of\"] = element;\n    return createCommandNode(\"measure\", args, modifiers);\n  }\n};\nvar tellMapper = {\n  action: \"tell\",\n  toAST(node, _builder) {\n    const destination = convertRoleValue(node, \"destination\");\n    const patient = convertRoleValue(node, \"patient\");\n    const args = [];\n    const target = destination ?? patient;\n    if (target) args.push(target);\n    return createCommandNode(\"tell\", args);\n  }\n};\nvar jsMapper = {\n  action: \"js\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const args = patient ? [patient] : [];\n    return createCommandNode(\"js\", args);\n  }\n};\nvar asyncMapper = {\n  action: \"async\",\n  toAST(_node, _builder) {\n    return createCommandNode(\"async\", []);\n  }\n};\nvar ifMapper = {\n  action: \"if\",\n  toAST(node, _builder) {\n    const condition = convertRoleValue(node, \"condition\");\n    const args = condition ? [condition] : [];\n    return createCommandNode(\"if\", args);\n  }\n};\nvar unlessMapper = {\n  action: \"unless\",\n  toAST(node, _builder) {\n    const condition = convertRoleValue(node, \"condition\");\n    const args = condition ? [condition] : [];\n    return createCommandNode(\"unless\", args);\n  }\n};\nvar repeatMapper = {\n  action: \"repeat\",\n  toAST(node, _builder) {\n    const quantity = convertRoleValue(node, \"quantity\");\n    const patient = convertRoleValue(node, \"patient\");\n    const args = [];\n    const count = quantity ?? patient;\n    if (count) args.push(count);\n    return createCommandNode(\"repeat\", args);\n  }\n};\nvar forMapper = {\n  action: \"for\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const source = convertRoleValue(node, \"source\");\n    const args = patient ? [patient] : [];\n    const modifiers = {};\n    if (source) modifiers[\"in\"] = source;\n    return createCommandNode(\"for\", args, modifiers);\n  }\n};\nvar whileMapper = {\n  action: \"while\",\n  toAST(node, _builder) {\n    const condition = convertRoleValue(node, \"condition\");\n    const args = condition ? [condition] : [];\n    return createCommandNode(\"while\", args);\n  }\n};\nvar continueMapper = {\n  action: \"continue\",\n  toAST(_node, _builder) {\n    return createCommandNode(\"continue\", []);\n  }\n};\nvar defaultMapper = {\n  action: \"default\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const source = convertRoleValue(node, \"source\");\n    const args = patient ? [patient] : [];\n    const modifiers = {};\n    if (source) modifiers[\"to\"] = source;\n    return createCommandNode(\"default\", args, modifiers);\n  }\n};\nvar initMapper = {\n  action: \"init\",\n  toAST(_node, _builder) {\n    return createCommandNode(\"init\", []);\n  }\n};\nvar behaviorMapper = {\n  action: \"behavior\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const args = patient ? [patient] : [];\n    return createCommandNode(\"behavior\", args);\n  }\n};\nvar installMapper = {\n  action: \"install\",\n  toAST(node, _builder) {\n    const patient = convertRoleValue(node, \"patient\");\n    const destination = convertRoleValue(node, \"destination\");\n    const args = patient ? [patient] : [];\n    const modifiers = {};\n    if (destination) modifiers[\"on\"] = destination;\n    return createCommandNode(\"install\", args, modifiers);\n  }\n};\nvar onMapper = {\n  action: \"on\",\n  toAST(node, _builder) {\n    const event = convertRoleValue(node, \"event\");\n    const source = convertRoleValue(node, \"source\");\n    const args = event ? [event] : [];\n    const modifiers = {};\n    if (source) modifiers[\"from\"] = source;\n    return createCommandNode(\"on\", args, modifiers);\n  }\n};\nvar mappers = /* @__PURE__ */ new Map([\n  // Tier 1: Core commands\n  [\"toggle\", toggleMapper],\n  [\"add\", addMapper],\n  [\"remove\", removeMapper],\n  [\"set\", setMapper],\n  [\"show\", showMapper],\n  [\"hide\", hideMapper],\n  [\"increment\", incrementMapper],\n  [\"decrement\", decrementMapper],\n  [\"wait\", waitMapper],\n  [\"log\", logMapper],\n  [\"put\", putMapper],\n  [\"fetch\", fetchMapper],\n  // Tier 2: Content manipulation\n  [\"append\", appendMapper],\n  [\"prepend\", prependMapper],\n  [\"get\", getMapper],\n  [\"take\", takeMapper],\n  // Tier 2: Events\n  [\"trigger\", triggerMapper],\n  [\"send\", sendMapper],\n  [\"on\", onMapper],\n  // Tier 2: Navigation & DOM\n  [\"go\", goMapper],\n  [\"transition\", transitionMapper],\n  [\"focus\", focusMapper],\n  [\"blur\", blurMapper],\n  // Tier 2: Control flow\n  [\"call\", callMapper],\n  [\"return\", returnMapper],\n  [\"halt\", haltMapper],\n  [\"throw\", throwMapper],\n  [\"settle\", settleMapper],\n  // Tier 3: Advanced DOM\n  [\"swap\", swapMapper],\n  [\"morph\", morphMapper],\n  [\"clone\", cloneMapper],\n  [\"measure\", measureMapper],\n  // Tier 3: Object/Types\n  [\"make\", makeMapper],\n  [\"tell\", tellMapper],\n  [\"default\", defaultMapper],\n  // Tier 3: JavaScript integration\n  [\"js\", jsMapper],\n  [\"async\", asyncMapper],\n  // Tier 3: Conditionals\n  [\"if\", ifMapper],\n  [\"unless\", unlessMapper],\n  // Tier 3: Loops\n  [\"repeat\", repeatMapper],\n  [\"for\", forMapper],\n  [\"while\", whileMapper],\n  [\"continue\", continueMapper],\n  // Tier 3: Behaviors\n  [\"init\", initMapper],\n  [\"behavior\", behaviorMapper],\n  [\"install\", installMapper]\n]);\nfunction getCommandMapper(action) {\n  return mappers.get(action);\n}\nfunction registerCommandMapper(mapper) {\n  mappers.set(mapper.action, mapper);\n}\nfunction getRegisteredMappers() {\n  return new Map(mappers);\n}\n\n// src/ast-builder/index.ts\nvar ASTBuilder = class {\n  constructor(_options = {}) {\n    /**\n     * Warnings collected during AST building (e.g., type inference issues).\n     */\n    this.warnings = [];\n  }\n  /**\n   * Build an AST from a SemanticNode.\n   *\n   * @param node - The semantic node to convert\n   * @returns The corresponding AST node\n   */\n  build(node) {\n    switch (node.kind) {\n      case \"command\":\n        return this.buildCommand(node);\n      case \"event-handler\":\n        return this.buildEventHandler(node);\n      case \"conditional\":\n        return this.buildConditional(node);\n      case \"compound\":\n        return this.buildCompound(node);\n      case \"loop\":\n        return this.buildLoop(node);\n      case \"behavior\":\n        return this.buildBehavior(node);\n      case \"def\":\n        return this.buildDef(node);\n      default:\n        throw new Error(`Unknown semantic node kind: ${node.kind}`);\n    }\n  }\n  /**\n   * Build a core-compatible BehaviorNode from a BehaviorSemanticNode.\n   * Each handler/init sub-node was parsed by the single-statement engine, so this\n   * is pure re-assembly into the `{ type: 'behavior', name, parameters,\n   * eventHandlers, initBlock? }` shape the runtime expects.\n   */\n  buildBehavior(node) {\n    const eventHandlers = node.eventHandlers.map((h) => this.buildEventHandler(h));\n    const behaviorNode = {\n      type: \"behavior\",\n      name: node.name,\n      parameters: [...node.parameters],\n      eventHandlers\n    };\n    if (node.initBlock && node.initBlock.length > 0) {\n      behaviorNode.initBlock = {\n        type: \"initBlock\",\n        commands: node.initBlock.map((c) => this.build(c))\n      };\n    }\n    return behaviorNode;\n  }\n  /**\n   * Build a core-compatible DefNode from a DefSemanticNode. The body sub-nodes were\n   * parsed by the single-statement engine; this re-assembles them into the\n   * `{ type: 'def', name, params, body }` shape the runtime expects.\n   */\n  buildDef(node) {\n    return {\n      type: \"def\",\n      name: node.name,\n      params: [...node.parameters],\n      body: node.body.map((c) => this.build(c))\n    };\n  }\n  /**\n   * Build a CommandNode from a CommandSemanticNode.\n   */\n  buildCommand(node) {\n    const mapper = getCommandMapper(node.action);\n    let cmd;\n    if (mapper) {\n      const result = mapper.toAST(node, this);\n      if (\"ast\" in result && \"warnings\" in result) {\n        const mapperResult = result;\n        this.warnings.push(...mapperResult.warnings);\n        cmd = mapperResult.ast;\n      } else {\n        cmd = result;\n      }\n    } else {\n      cmd = this.buildGenericCommand(node);\n    }\n    if (node.roles && node.roles.size > 0) {\n      const roles = {};\n      for (const [role, value] of node.roles) {\n        roles[role] = convertValue(value);\n      }\n      if (Object.keys(roles).length > 0) {\n        cmd[\"semanticRoles\"] = roles;\n      }\n    }\n    return cmd;\n  }\n  /**\n   * Generic command builder when no specific mapper is available.\n   * Maps roles to args in a predictable order.\n   */\n  buildGenericCommand(node) {\n    const args = [];\n    const modifiers = {};\n    const argRoles = [\"patient\", \"source\", \"quantity\"];\n    const modifierRoles = [\"destination\", \"duration\", \"method\", \"style\"];\n    for (const role of argRoles) {\n      const value = node.roles.get(role);\n      if (value) {\n        args.push(convertValue(value));\n      }\n    }\n    for (const role of modifierRoles) {\n      const value = node.roles.get(role);\n      if (value) {\n        const modifierKey = this.roleToModifierKey(role);\n        modifiers[modifierKey] = convertValue(value);\n      }\n    }\n    const result = {\n      type: \"command\",\n      name: node.action,\n      args\n    };\n    if (Object.keys(modifiers).length > 0) {\n      return { ...result, modifiers };\n    }\n    return result;\n  }\n  /**\n   * Map semantic roles to hyperscript modifier keywords.\n   */\n  roleToModifierKey(role) {\n    const mapping = {\n      destination: \"on\",\n      duration: \"for\",\n      source: \"from\",\n      condition: \"if\",\n      method: \"via\",\n      style: \"with\"\n    };\n    return mapping[role] ?? role;\n  }\n  /**\n   * Build an EventHandlerNode from an EventHandlerSemanticNode.\n   */\n  buildEventHandler(node) {\n    const eventValue = node.roles.get(\"event\");\n    let event = \"click\";\n    let events;\n    const eventStr = eventValue?.type === \"literal\" ? String(eventValue.value) : eventValue?.type === \"expression\" ? eventValue.raw : eventValue?.type === \"reference\" ? eventValue.value : void 0;\n    if (eventStr !== void 0) {\n      if (eventStr.includes(\"|\") || eventStr.includes(\" or \")) {\n        events = eventStr.split(/\\s+or\\s+|\\|/).map((e) => e.trim());\n        event = events[0];\n      } else {\n        event = eventStr;\n      }\n    }\n    const commands = node.body.map((child) => this.build(child));\n    const fromValue = node.roles.get(\"source\");\n    let selector;\n    let target;\n    if (fromValue?.type === \"selector\") {\n      selector = fromValue.value;\n      target = fromValue.value;\n    } else if (fromValue?.type === \"reference\") {\n      target = fromValue.value;\n    } else if (fromValue?.type === \"literal\") {\n      target = String(fromValue.value);\n    }\n    const conditionValue = node.roles.get(\"condition\");\n    const condition = conditionValue ? convertValue(conditionValue) : void 0;\n    const destinationValue = node.roles.get(\"destination\");\n    const watchTarget = destinationValue ? convertValue(destinationValue) : void 0;\n    const modifiers = node.eventModifiers;\n    let finalSelector = selector;\n    if (modifiers?.from) {\n      const fromMod = modifiers.from;\n      if (fromMod.type === \"selector\" && !selector) {\n        finalSelector = fromMod.value;\n      }\n    }\n    const args = node.parameterNames ? [...node.parameterNames] : void 0;\n    return {\n      type: \"eventHandler\",\n      event,\n      commands,\n      ...events && events.length > 1 ? { events } : {},\n      ...finalSelector ? { selector: finalSelector } : {},\n      ...target ? { target } : {},\n      ...condition ? { condition } : {},\n      ...watchTarget ? { watchTarget } : {},\n      ...args && args.length > 0 ? { args, params: args } : {}\n    };\n  }\n  /**\n   * Build a CommandNode from a ConditionalSemanticNode.\n   *\n   * Produces a command node with:\n   * - args[0]: condition expression\n   * - args[1]: then block (wrapped in { type: 'block', commands: [...] })\n   * - args[2]: else block (optional, same format)\n   *\n   * This format matches what IfCommand.parseInput() expects.\n   */\n  buildConditional(node) {\n    const conditionValue = node.roles.get(\"condition\");\n    if (!conditionValue) {\n      throw new Error(\"Conditional node missing condition\");\n    }\n    const condition = convertValue(conditionValue);\n    const thenBranch = node.thenBranch.map((child) => this.build(child));\n    const elseBranch = node.elseBranch?.map((child) => this.build(child));\n    const args = [\n      condition,\n      // args[1]: then block wrapped as block node\n      {\n        type: \"block\",\n        commands: thenBranch\n      }\n    ];\n    if (elseBranch && elseBranch.length > 0) {\n      args.push({\n        type: \"block\",\n        commands: elseBranch\n      });\n    }\n    return {\n      type: \"command\",\n      name: \"if\",\n      args\n    };\n  }\n  /**\n   * Build AST nodes from a CompoundSemanticNode.\n   *\n   * Converts to CommandSequence for runtime compatibility.\n   * The runtime recognizes 'CommandSequence' type and executes commands in order.\n   */\n  buildCompound(node) {\n    const statements = node.statements.map((child) => this.build(child));\n    if (statements.length === 1) {\n      return statements[0];\n    }\n    if (statements.length === 0) {\n      return {\n        type: \"block\",\n        commands: []\n      };\n    }\n    if (statements.every((s) => s.type === \"eventHandler\")) {\n      return { type: \"Program\", statements };\n    }\n    const result = {\n      type: \"CommandSequence\",\n      commands: statements\n    };\n    return result;\n  }\n  /**\n   * Build a CommandNode from a LoopSemanticNode.\n   *\n   * Produces a 'repeat' command with:\n   * - args[0]: loop type identifier (forever, times, for, while, until)\n   * - args[1]: count/condition/variable depending on loop type\n   * - args[2]: collection (for 'for' loops)\n   * - args[last]: body block\n   *\n   * This format matches what the repeat command parser produces.\n   */\n  buildLoop(node) {\n    const bodyCommands = node.body.map((child) => this.build(child));\n    const args = [\n      // args[0]: loop type identifier\n      {\n        type: \"identifier\",\n        name: node.loopVariant\n      }\n    ];\n    switch (node.loopVariant) {\n      case \"times\": {\n        const quantity = node.roles.get(\"quantity\");\n        if (quantity) {\n          args.push(convertValue(quantity));\n        }\n        break;\n      }\n      case \"for\": {\n        if (node.loopVariable) {\n          args.push({\n            type: \"string\",\n            value: node.loopVariable\n          });\n        }\n        const source = node.roles.get(\"source\");\n        if (source) {\n          args.push(convertValue(source));\n        }\n        break;\n      }\n      case \"while\":\n      case \"until\": {\n        const condition = node.roles.get(\"condition\");\n        if (condition) {\n          args.push(convertValue(condition));\n        }\n        break;\n      }\n      case \"forever\":\n        break;\n    }\n    args.push({\n      type: \"block\",\n      commands: bodyCommands\n    });\n    return {\n      type: \"command\",\n      name: \"repeat\",\n      args\n    };\n  }\n  /**\n   * Build a BlockNode from an array of semantic nodes.\n   * Useful for grouping commands in if/else branches.\n   */\n  buildBlock(nodes) {\n    const commands = nodes.map((child) => this.build(child));\n    return {\n      type: \"block\",\n      commands\n    };\n  }\n};\nfunction buildAST(node) {\n  const builder = new ASTBuilder();\n  const ast = builder.build(node);\n  return {\n    ast,\n    warnings: builder.warnings\n  };\n}\n\n// src/core.ts\ninit_registry();\n\n// src/generators/known-profiles.ts\ninit_arabic();\ninit_bengali();\ninit_german();\ninit_english();\ninit_spanish();\ninit_french();\ninit_he();\ninit_hindi();\ninit_indonesian();\ninit_italian();\ninit_japanese();\ninit_korean();\ninit_ms();\ninit_polish();\ninit_portuguese();\ninit_quechua();\ninit_russian();\ninit_swahili();\ninit_thai();\ninit_tl();\ninit_turkish();\ninit_ukrainian();\ninit_vietnamese();\ninit_chinese();\nvar KNOWN_PROFILES = Object.freeze({\n  ar: arabicProfile,\n  bn: bengaliProfile,\n  de: germanProfile,\n  en: englishProfile,\n  es: spanishProfile,\n  fr: frenchProfile,\n  he: hebrewProfile,\n  hi: hindiProfile,\n  id: indonesianProfile,\n  it: italianProfile,\n  ja: japaneseProfile,\n  ko: koreanProfile,\n  ms: malayProfile,\n  pl: polishProfile,\n  pt: portugueseProfile,\n  qu: quechuaProfile,\n  ru: russianProfile,\n  sw: swahiliProfile,\n  th: thaiProfile,\n  tl: tagalogProfile,\n  tr: turkishProfile,\n  uk: ukrainianProfile,\n  vi: vietnameseProfile,\n  zh: chineseProfile\n});\n\n// src/types.ts\nimport { isValidReference as isValidReferenceBase } from \"@lokascript/framework\";\nfunction createSelector(value) {\n  let selectorKind = \"complex\";\n  if (value.startsWith(\"#\") && !value.includes(\" \")) {\n    selectorKind = \"id\";\n  } else if (value.startsWith(\".\") && !value.includes(\" \")) {\n    selectorKind = \"class\";\n  } else if (value.startsWith(\"[\") && value.endsWith(\"]\")) {\n    selectorKind = \"attribute\";\n  } else if (/^[a-z][a-z0-9]*$/i.test(value)) {\n    selectorKind = \"element\";\n  }\n  return { type: \"selector\", value, selectorKind };\n}\nfunction createLiteral(value, dataType) {\n  const result = { type: \"literal\", value };\n  if (dataType !== void 0) {\n    return { type: \"literal\", value, dataType };\n  }\n  return result;\n}\nfunction isValidReference(value) {\n  return isValidReferenceBase(value);\n}\nfunction createReference(value) {\n  return { type: \"reference\", value };\n}\nfunction createPropertyPath(object, property) {\n  return { type: \"property-path\", object, property };\n}\nfunction createCommandNode2(action, roles, metadata) {\n  const node = {\n    kind: \"command\",\n    action,\n    roles: new Map(Object.entries(roles))\n  };\n  if (metadata !== void 0) {\n    return { ...node, metadata };\n  }\n  return node;\n}\nfunction createEventHandler(event, body, modifiers, metadata, parameterNames, additionalEvents) {\n  const roles = /* @__PURE__ */ new Map();\n  roles.set(\"event\", event);\n  const node = {\n    kind: \"event-handler\",\n    action: \"on\",\n    roles,\n    body\n  };\n  if (modifiers !== void 0) {\n    node.eventModifiers = modifiers;\n  }\n  if (metadata !== void 0) {\n    node.metadata = metadata;\n  }\n  if (parameterNames !== void 0 && parameterNames.length > 0) {\n    node.parameterNames = parameterNames;\n  }\n  if (additionalEvents !== void 0 && additionalEvents.length > 0) {\n    node.additionalEvents = additionalEvents;\n  }\n  return node;\n}\nfunction createBehaviorNode(name, parameters, eventHandlers, initBlock, metadata) {\n  const node = {\n    kind: \"behavior\",\n    action: \"behavior\",\n    roles: /* @__PURE__ */ new Map(),\n    name,\n    parameters,\n    eventHandlers\n  };\n  if (initBlock !== void 0 && initBlock.length > 0) {\n    node.initBlock = initBlock;\n  }\n  if (metadata !== void 0) {\n    node.metadata = metadata;\n  }\n  return node;\n}\nfunction createDefNode(name, parameters, body, metadata) {\n  const node = {\n    kind: \"def\",\n    action: \"def\",\n    roles: /* @__PURE__ */ new Map(),\n    name,\n    parameters,\n    body\n  };\n  if (metadata !== void 0) {\n    node.metadata = metadata;\n  }\n  return node;\n}\nfunction createCompoundNode(statements, chainType = \"then\", metadata) {\n  const node = {\n    kind: \"compound\",\n    action: \"compound\",\n    // Compound doesn't have a specific action\n    roles: /* @__PURE__ */ new Map(),\n    statements,\n    chainType\n  };\n  if (metadata !== void 0) {\n    node.metadata = metadata;\n  }\n  return node;\n}\nfunction createConditionalNode(condition, thenBranch, elseBranch, metadata) {\n  const roles = /* @__PURE__ */ new Map();\n  roles.set(\"condition\", condition);\n  const node = {\n    kind: \"conditional\",\n    action: \"if\",\n    roles,\n    thenBranch\n  };\n  if (elseBranch !== void 0) {\n    node.elseBranch = elseBranch;\n  }\n  if (metadata !== void 0) {\n    node.metadata = metadata;\n  }\n  return node;\n}\nfunction createLoopNode(action, loopVariant, roles, body, options) {\n  const node = {\n    kind: \"loop\",\n    action,\n    loopVariant,\n    roles: new Map(Object.entries(roles)),\n    body\n  };\n  if (options?.loopVariable) {\n    node.loopVariable = options.loopVariable;\n  }\n  if (options?.indexVariable) {\n    node.indexVariable = options.indexVariable;\n  }\n  if (options?.metadata) {\n    node.metadata = options.metadata;\n  }\n  return node;\n}\n\n// src/parser/utils/type-validation.ts\nfunction isTypeCompatible(actualType, expectedTypes) {\n  if (!expectedTypes || expectedTypes.length === 0) {\n    return true;\n  }\n  if (expectedTypes.includes(actualType)) {\n    return true;\n  }\n  if (expectedTypes.includes(\"expression\")) {\n    return true;\n  }\n  if (actualType === \"property-path\") {\n    return expectedTypes.some((t) => [\"selector\", \"reference\", \"expression\"].includes(t));\n  }\n  if (actualType === \"expression\") {\n    return expectedTypes.some((t) => [\"selector\", \"reference\", \"expression\"].includes(t));\n  }\n  return false;\n}\n\n// src/parser/pattern-matcher.ts\ninit_command_schemas();\n\n// src/parser/utils/possessive-keywords.ts\nfunction getPossessiveReference(profile, keyword) {\n  const direct = profile.possessive?.keywords?.[keyword];\n  if (direct) return direct;\n  const special = profile.possessive?.specialForms;\n  if (special) {\n    for (const [concept, surface] of Object.entries(special)) {\n      if (surface === keyword) return concept;\n    }\n  }\n  return void 0;\n}\n\n// src/parser/pattern-matcher.ts\ninit_registry();\ninit_put();\n\n// src/parser/confidence-model.ts\nvar OPTIONAL_ROLE_WEIGHT = 0.8;\nvar DEFAULT_PARTIAL_CREDIT = 0.6;\nvar MAX_STEM_PENALTY = 0.15;\nvar STEM_PENALTY_FLOOR = 0.5;\nvar VSO_VERB_BOOST = 0.15;\nvar MAX_PREPOSITION_ADJUSTMENT = 0.1;\nvar ARABIC_VERBS = /* @__PURE__ */ new Set([\n  \"\\u0628\\u062F\\u0644\",\n  \"\\u063A\\u064A\\u0631\",\n  \"\\u0623\\u0636\\u0641\",\n  \"\\u0623\\u0632\\u0644\",\n  \"\\u0636\\u0639\",\n  \"\\u0627\\u062C\\u0639\\u0644\",\n  \"\\u0639\\u064A\\u0646\",\n  \"\\u0632\\u062F\",\n  \"\\u0627\\u0646\\u0642\\u0635\",\n  \"\\u0633\\u062C\\u0644\",\n  \"\\u0623\\u0638\\u0647\\u0631\",\n  \"\\u0623\\u062E\\u0641\",\n  \"\\u0634\\u063A\\u0644\",\n  \"\\u0623\\u0631\\u0633\\u0644\",\n  \"\\u0631\\u0643\\u0632\",\n  \"\\u0634\\u0648\\u0634\",\n  \"\\u062A\\u0648\\u0642\\u0641\",\n  \"\\u0627\\u0646\\u0633\\u062E\",\n  \"\\u0627\\u062D\\u0630\\u0641\",\n  \"\\u0627\\u0635\\u0646\\u0639\",\n  \"\\u0627\\u0646\\u062A\\u0638\\u0631\",\n  \"\\u0627\\u0646\\u062A\\u0642\\u0627\\u0644\",\n  \"\\u0623\\u0648\"\n]);\nvar PREFERRED_PREPOSITIONS = {\n  patient: [\"\\u0639\\u0644\\u0649\"],\n  destination: [\"\\u0625\\u0644\\u0649\", \"\\u0627\\u0644\\u0649\"],\n  source: [\"\\u0645\\u0646\"],\n  agent: [\"\\u0645\\u0646\"],\n  manner: [\"\\u0628\"],\n  style: [\"\\u0628\"],\n  goal: [\"\\u0625\\u0644\\u0649\", \"\\u0627\\u0644\\u0649\"],\n  method: [\"\\u0628\"]\n};\nvar DefaultConfidenceModel = class {\n  calculate(ctx) {\n    return this.calculateWithBreakdown(ctx).final;\n  }\n  calculateWithBreakdown(ctx) {\n    const roleCoverage = this.scoreRoleCoverage(ctx);\n    const stemPenalty = this.scoreStemPenalty(ctx);\n    const languageBoost = this.scoreLanguageBoost(ctx);\n    const languageAdjustment = this.scoreLanguageAdjustment(ctx);\n    let score = roleCoverage;\n    score = Math.max(STEM_PENALTY_FLOOR, score + stemPenalty);\n    score = Math.min(1, score + languageBoost);\n    score = Math.max(0, Math.min(1, score + languageAdjustment));\n    return {\n      roleCoverage,\n      stemPenalty,\n      languageBoost,\n      languageAdjustment,\n      final: score\n    };\n  }\n  /**\n   * Score based on how many pattern roles were captured.\n   * Required roles: 1.0 weight. Optional (in groups): 0.8.\n   * Optional with defaults but not captured: 60% partial credit.\n   */\n  scoreRoleCoverage(ctx) {\n    const { pattern, captured } = ctx;\n    let score = 0;\n    let maxScore = 0;\n    const hasDefault = (role) => {\n      return pattern.extraction?.[role]?.default !== void 0;\n    };\n    for (const token of pattern.template.tokens) {\n      if (token.type === \"role\") {\n        maxScore += 1;\n        if (captured.has(token.role)) {\n          score += 1;\n        }\n      } else if (token.type === \"group\") {\n        for (const subToken of token.tokens) {\n          if (subToken.type === \"role\") {\n            maxScore += OPTIONAL_ROLE_WEIGHT;\n            if (captured.has(subToken.role)) {\n              score += OPTIONAL_ROLE_WEIGHT;\n            } else if (hasDefault(subToken.role)) {\n              score += OPTIONAL_ROLE_WEIGHT * DEFAULT_PARTIAL_CREDIT;\n            }\n          }\n        }\n      }\n    }\n    return maxScore > 0 ? score / maxScore : 1;\n  }\n  /**\n   * Penalty for morphological stem matches vs exact keyword matches.\n   * Returns a negative value (penalty), or 0 if no stem matches.\n   */\n  scoreStemPenalty(ctx) {\n    const { stemMatchCount, totalKeywordMatches } = ctx;\n    if (stemMatchCount <= 0 || totalKeywordMatches <= 0) return 0;\n    return -(stemMatchCount / totalKeywordMatches) * MAX_STEM_PENALTY;\n  }\n  /**\n   * Language-specific boost (e.g., VSO verb-first for Arabic).\n   * Override to add boosts for other language families.\n   */\n  scoreLanguageBoost(ctx) {\n    const { pattern } = ctx;\n    if (pattern.language !== \"ar\") return 0;\n    const firstToken = pattern.template.tokens[0];\n    if (!firstToken || firstToken.type !== \"literal\") return 0;\n    if (ARABIC_VERBS.has(firstToken.value)) return VSO_VERB_BOOST;\n    if (firstToken.alternatives?.some((alt) => ARABIC_VERBS.has(alt))) return VSO_VERB_BOOST;\n    return 0;\n  }\n  /**\n   * Language-specific micro-adjustment (e.g., Arabic preposition naturalness).\n   * Override to add disambiguation for other languages.\n   */\n  scoreLanguageAdjustment(ctx) {\n    const { pattern, captured } = ctx;\n    if (pattern.language !== \"ar\") return 0;\n    let adjustment = 0;\n    for (const [role, value] of captured.entries()) {\n      const preferred = PREFERRED_PREPOSITIONS[role];\n      if (!preferred || preferred.length === 0) continue;\n      const metadata = \"metadata\" in value ? value.metadata : void 0;\n      if (metadata && typeof metadata.prepositionValue === \"string\") {\n        if (preferred.includes(metadata.prepositionValue)) {\n          adjustment += 0.1;\n        } else {\n          adjustment -= 0.1;\n        }\n      }\n    }\n    return Math.max(-MAX_PREPOSITION_ADJUSTMENT, Math.min(MAX_PREPOSITION_ADJUSTMENT, adjustment));\n  }\n};\nvar defaultConfidenceModel = new DefaultConfidenceModel();\n\n// src/parser/pattern-matcher.ts\nvar BAREKEYWORD_BLOCK_ACTIONS = new Set(\n  Object.values(commandSchemas).filter((s) => s.bareKeyword === true).map((s) => s.action)\n);\nvar _PatternMatcher = class _PatternMatcher {\n  constructor(confidenceModel) {\n    /**\n     * Selective memoization cache (Phase 6.1).\n     * Caches pattern match results keyed by `tokenPosition:patternId`.\n     * Cleared before each top-level matchBest() call.\n     */\n    this.matchCache = /* @__PURE__ */ new Map();\n    /**\n     * Track stem matches for confidence calculation.\n     * This is set during matching and read during confidence calculation.\n     */\n    this.stemMatchCount = 0;\n    this.totalKeywordMatches = 0;\n    this.confidenceModel = confidenceModel ?? defaultConfidenceModel;\n  }\n  /**\n   * Try to match a single pattern against the token stream.\n   * Returns the match result or null if no match.\n   */\n  matchPattern(tokens, pattern) {\n    const mark = tokens.mark();\n    const captured = /* @__PURE__ */ new Map();\n    this.currentProfile = tryGetProfile(pattern.language);\n    this.currentPatternCommand = pattern.command;\n    this.stemMatchCount = 0;\n    this.totalKeywordMatches = 0;\n    const success = this.matchTokenSequence(tokens, pattern.template.tokens, captured);\n    if (!success) {\n      tokens.reset(mark);\n      return null;\n    }\n    const confidence = this.confidenceModel.calculate({\n      pattern,\n      captured,\n      stemMatchCount: this.stemMatchCount,\n      totalKeywordMatches: this.totalKeywordMatches\n    });\n    this.applyExtractionRules(pattern, captured);\n    return {\n      pattern,\n      captured,\n      consumedTokens: tokens.position() - mark.position,\n      confidence\n    };\n  }\n  /**\n   * Try to match multiple patterns, return the best match.\n   */\n  matchBest(tokens, patterns) {\n    this.matchCache.clear();\n    const matches = [];\n    const startPos = tokens.position();\n    for (const pattern of patterns) {\n      const mark = tokens.mark();\n      const cacheKey = `${startPos}:${pattern.id}`;\n      let result;\n      if (this.matchCache.has(cacheKey)) {\n        result = this.matchCache.get(cacheKey);\n      } else {\n        result = this.matchPattern(tokens, pattern);\n        this.matchCache.set(cacheKey, result);\n      }\n      if (result) {\n        matches.push(result);\n      }\n      tokens.reset(mark);\n    }\n    if (matches.length === 0) {\n      return null;\n    }\n    matches.sort((a, b) => {\n      const priorityDiff = b.pattern.priority - a.pattern.priority;\n      if (priorityDiff !== 0) return priorityDiff;\n      return b.confidence - a.confidence;\n    });\n    const best = matches[0];\n    this.matchPattern(tokens, best.pattern);\n    return best;\n  }\n  /**\n   * Match a sequence of pattern tokens against the token stream.\n   */\n  matchTokenSequence(tokens, patternTokens, captured, nextAfterSequence) {\n    const firstPatternToken = patternTokens[0];\n    const patternExpectsConjunction = firstPatternToken?.type === \"literal\" && (firstPatternToken.value === \"and\" || firstPatternToken.value === \"then\" || firstPatternToken.alternatives?.includes(\"and\") || firstPatternToken.alternatives?.includes(\"then\"));\n    if (this.currentProfile?.code === \"ar\" && !patternExpectsConjunction) {\n      while (tokens.peek()?.kind === \"conjunction\") {\n        tokens.advance();\n      }\n    }\n    let sourceWindow = 0;\n    for (let i = 0; i < patternTokens.length; i++) {\n      const patternToken = patternTokens[i];\n      if (sourceWindow > 0 && patternToken.type === \"literal\") {\n        this.tryConsumeEventSourceClause(tokens, captured, patternToken);\n      }\n      const matched = this.matchPatternToken(\n        tokens,\n        patternToken,\n        captured,\n        patternTokens[i + 1] ?? nextAfterSequence\n      );\n      sourceWindow = patternToken.type === \"role\" && patternToken.role === \"event\" ? 2 : Math.max(0, sourceWindow - 1);\n      if (!matched) {\n        if (this.isOptional(patternToken)) {\n          continue;\n        }\n        return false;\n      }\n    }\n    return true;\n  }\n  /**\n   * Consume a source clause (`<marker> <selector>` or `<selector> <marker>`,\n   * per the profile's source-marker position) sitting between the event head\n   * and the next pattern literal. Fired only inside the post-event window and\n   * only when the upcoming literal does NOT match the stream position — a\n   * pattern that explicitly handles the marker (`bei {event} von {source}`)\n   * is left alone, and a failing consumption is harmless because matchPattern\n   * resets the stream on failure.\n   */\n  tryConsumeEventSourceClause(tokens, captured, upcoming) {\n    if (captured.has(\"source\")) return;\n    const tok0 = tokens.peek();\n    const tok1 = tokens.peek(1);\n    if (!tok0 || !tok1) return;\n    if (this.patternTokenWouldMatch(upcoming, tok0)) return;\n    const src = this.currentProfile?.roleMarkers?.source;\n    const isMarker = (t) => {\n      if (t.kind !== \"particle\" && t.kind !== \"keyword\") return false;\n      if ((t.normalized ?? \"\").toLowerCase() === \"source\") return true;\n      if (!src) return false;\n      const v = t.value.toLowerCase();\n      if (src.primary?.toLowerCase() === v) return true;\n      return !!src.alternatives?.some((a) => a.toLowerCase() === v);\n    };\n    const position = src?.position;\n    if (position !== \"after\" && isMarker(tok0) && tok1.kind === \"selector\") {\n      tokens.advance();\n      const v = this.tokenToSemanticValue(tokens.advance());\n      if (v) captured.set(\"source\", v);\n      return;\n    }\n    if (position === \"after\" && tok0.kind === \"selector\" && isMarker(tok1)) {\n      const v = this.tokenToSemanticValue(tok0);\n      tokens.advance();\n      tokens.advance();\n      if (v) captured.set(\"source\", v);\n    }\n  }\n  /**\n   * Match a single pattern token against the current position in the stream.\n   */\n  matchPatternToken(tokens, patternToken, captured, nextPatternToken) {\n    switch (patternToken.type) {\n      case \"literal\":\n        return this.matchLiteralToken(tokens, patternToken);\n      case \"role\":\n        return this.matchRoleToken(tokens, patternToken, captured, nextPatternToken);\n      case \"group\":\n        return this.matchGroupToken(tokens, patternToken, captured, nextPatternToken);\n      default:\n        return false;\n    }\n  }\n  /**\n   * Match a literal pattern token (keyword or particle).\n   */\n  matchLiteralToken(tokens, patternToken) {\n    const token = tokens.peek();\n    if (!token) return false;\n    const matchType = this.getMatchType(token, patternToken.value);\n    if (matchType !== \"none\") {\n      this.totalKeywordMatches++;\n      if (matchType === \"stem\") {\n        this.stemMatchCount++;\n      }\n      tokens.advance();\n      return true;\n    }\n    if (patternToken.alternatives) {\n      for (const alt of patternToken.alternatives) {\n        const altMatchType = this.getMatchType(token, alt);\n        if (altMatchType !== \"none\") {\n          this.totalKeywordMatches++;\n          if (altMatchType === \"stem\") {\n            this.stemMatchCount++;\n          }\n          tokens.advance();\n          return true;\n        }\n      }\n    }\n    for (const value of [patternToken.value, ...patternToken.alternatives ?? []]) {\n      for (const sep of [\"-\", \"_\"]) {\n        if (value.includes(sep) && this.tryMatchShatteredCompound(tokens, value, sep)) {\n          this.totalKeywordMatches++;\n          return true;\n        }\n      }\n    }\n    return false;\n  }\n  /**\n   * Fold a shattered hyphen-compound run into a command action for an {action}\n   * role: join `word (- word)+`, look the joined form up among the current\n   * profile's command keywords (primary or alternatives, case-insensitive),\n   * and return the command's canonical action as a literal. Consumes the run\n   * on success, leaves the stream untouched on failure.\n   */\n  tryFoldHyphenActionKeyword(tokens) {\n    const profile = this.currentProfile;\n    if (!profile) return null;\n    const mark = tokens.mark();\n    const parts = [];\n    for (; ; ) {\n      const word = tokens.peek();\n      if (!word || word.kind !== \"identifier\" && word.kind !== \"keyword\") break;\n      parts.push(word.value);\n      tokens.advance();\n      const sep = tokens.peek();\n      if (!sep || sep.value !== \"-\") break;\n      tokens.advance();\n      parts.push(\"-\");\n    }\n    if (parts.length < 3 || parts[parts.length - 1] === \"-\") {\n      tokens.reset(mark);\n      return null;\n    }\n    const joined = parts.join(\"\").toLowerCase();\n    for (const [action, kw] of Object.entries(profile.keywords)) {\n      if (kw.primary.toLowerCase() === joined || kw.alternatives?.some((a) => a.toLowerCase() === joined)) {\n        return createLiteral(action);\n      }\n    }\n    tokens.reset(mark);\n    return null;\n  }\n  /**\n   * Match a compound keyword (`titik-henti`, `по_умолчанию`) against a\n   * shattered token run (`titik` `-` `henti` / `по` `_` `умолчанию`): word\n   * segments must be identifier/keyword/particle tokens equal to the expected\n   * segments (case-insensitive; particle because prepositions like ru `по` /\n   * uk `за` lead some underscore compounds), separators lone `sep` tokens.\n   * Consumes the run on success, resets the stream on failure.\n   */\n  tryMatchShatteredCompound(tokens, expected, sep) {\n    const segments = expected.split(sep);\n    if (segments.length < 2 || segments.some((s) => s.length === 0)) return false;\n    const mark = tokens.mark();\n    for (let i = 0; i < segments.length; i++) {\n      if (i > 0) {\n        const sepToken = tokens.peek();\n        if (!sepToken || sepToken.value !== sep) {\n          tokens.reset(mark);\n          return false;\n        }\n        tokens.advance();\n      }\n      const word = tokens.peek();\n      if (!word || word.kind !== \"identifier\" && word.kind !== \"keyword\" && word.kind !== \"particle\" || word.value.toLowerCase() !== segments[i].toLowerCase()) {\n        tokens.reset(mark);\n        return false;\n      }\n      tokens.advance();\n    }\n    return true;\n  }\n  /**\n   * Match a role pattern token (captures a semantic value).\n   * Handles multi-token expressions like:\n   * - 'my value' (possessive keyword + property)\n   * - '#dialog.showModal()' (method call)\n   * - \"#element's *opacity\" (possessive selector + property)\n   */\n  matchRoleToken(tokens, patternToken, captured, nextPatternToken) {\n    this.skipNoiseWords(tokens);\n    const token = tokens.peek();\n    if (!token) {\n      return patternToken.optional || false;\n    }\n    if (patternToken.role === \"action\" && this.currentProfile && tokens.peek(1)?.value === \"-\") {\n      const foldedAction = this.tryFoldHyphenActionKeyword(tokens);\n      if (foldedAction) {\n        captured.set(patternToken.role, foldedAction);\n        return true;\n      }\n    }\n    if (patternToken.role === \"event\" && this.currentPatternCommand === \"on\") {\n      if (!_PatternMatcher.tokenLooksLikeEvent(token)) {\n        return patternToken.optional || false;\n      }\n      const evNorm = (token.normalized ?? token.value).toLowerCase();\n      if (_PatternMatcher.POSITIONAL_OR_SCOPE_KEYWORDS.has(evNorm)) {\n        return patternToken.optional || false;\n      }\n      if (this.currentProfile && (getPossessiveReference(this.currentProfile, token.value) ?? getPossessiveReference(this.currentProfile, evNorm)) !== void 0) {\n        return patternToken.optional || false;\n      }\n      if (token.value.includes(\"?.\")) {\n        return patternToken.optional || false;\n      }\n    }\n    if (patternToken.role === \"event\") {\n      const evStructNorm = (token.normalized ?? token.value).toLowerCase();\n      if (_PatternMatcher.STRUCTURAL_NEVER_EVENT.has(evStructNorm)) {\n        return patternToken.optional || false;\n      }\n    }\n    if (patternToken.role === \"duration\") {\n      const norm = (token.normalized ?? token.value).toLowerCase();\n      if (_PatternMatcher.POSITIONAL_OR_SCOPE_KEYWORDS.has(norm)) {\n        return patternToken.optional || false;\n      }\n    }\n    if (patternToken.optional && nextPatternToken === void 0 && patternToken.role !== \"event\" && patternToken.role !== \"action\" && token.kind === \"keyword\") {\n      const verbNorm = (token.normalized ?? token.value).toLowerCase();\n      if (verbNorm in commandSchemas) {\n        return true;\n      }\n    }\n    const positionalValue = this.tryMatchPositionalExpression(tokens);\n    if (positionalValue) {\n      if (patternToken.expectedTypes && patternToken.expectedTypes.length > 0) {\n        if (!isTypeCompatible(positionalValue.type, patternToken.expectedTypes)) {\n          return patternToken.optional || false;\n        }\n      }\n      captured.set(patternToken.role, positionalValue);\n      return true;\n    }\n    const caretScopeValue = this.tryMatchCaretScopeExpression(tokens);\n    if (caretScopeValue) {\n      if (patternToken.expectedTypes && patternToken.expectedTypes.length > 0) {\n        if (!isTypeCompatible(caretScopeValue.type, patternToken.expectedTypes)) {\n          return patternToken.optional || false;\n        }\n      }\n      captured.set(patternToken.role, caretScopeValue);\n      return true;\n    }\n    if (patternToken.role !== \"event\" && (!patternToken.expectedTypes || patternToken.expectedTypes.includes(\"expression\"))) {\n      const runValue = this.tryMatchOperatorRunExpression(tokens);\n      if (runValue) {\n        captured.set(patternToken.role, runValue);\n        return true;\n      }\n    }\n    if (patternToken.expectedTypes?.includes(\"property-path\")) {\n      const ofPossessive = this.tryMatchOfPossessiveExpression(tokens);\n      if (ofPossessive) {\n        captured.set(patternToken.role, ofPossessive);\n        return true;\n      }\n      const postNominalPossessive = this.tryMatchPostNominalPossessiveExpression(tokens);\n      if (postNominalPossessive) {\n        captured.set(patternToken.role, postNominalPossessive);\n        return true;\n      }\n    }\n    const possessiveValue = this.tryMatchPossessiveExpression(tokens);\n    if (possessiveValue) {\n      if (patternToken.expectedTypes && patternToken.expectedTypes.length > 0) {\n        if (!patternToken.expectedTypes.includes(possessiveValue.type) && !patternToken.expectedTypes.includes(\"expression\")) {\n          return patternToken.optional || false;\n        }\n      }\n      captured.set(patternToken.role, possessiveValue);\n      return true;\n    }\n    const methodCallValue = this.tryMatchMethodCallExpression(tokens);\n    if (methodCallValue) {\n      if (patternToken.expectedTypes && patternToken.expectedTypes.length > 0) {\n        if (!patternToken.expectedTypes.includes(methodCallValue.type) && !patternToken.expectedTypes.includes(\"expression\")) {\n          return patternToken.optional || false;\n        }\n      }\n      captured.set(patternToken.role, methodCallValue);\n      return true;\n    }\n    const skipBareCall = patternToken.role === \"event\" && this.currentPatternCommand === \"on\" || _PatternMatcher.DECLARATION_COMMANDS.has(this.currentPatternCommand ?? \"\");\n    const bareCallValue = skipBareCall ? null : this.tryMatchBareCallExpression(tokens);\n    if (bareCallValue) {\n      if (patternToken.expectedTypes && patternToken.expectedTypes.length > 0) {\n        if (!patternToken.expectedTypes.includes(bareCallValue.type) && !patternToken.expectedTypes.includes(\"expression\")) {\n          return patternToken.optional || false;\n        }\n      }\n      captured.set(patternToken.role, bareCallValue);\n      return true;\n    }\n    const possessiveSelectorValue = this.tryMatchPossessiveSelectorExpression(tokens);\n    if (possessiveSelectorValue) {\n      if (patternToken.expectedTypes && patternToken.expectedTypes.length > 0) {\n        if (!isTypeCompatible(possessiveSelectorValue.type, patternToken.expectedTypes)) {\n          return patternToken.optional || false;\n        }\n      }\n      captured.set(patternToken.role, possessiveSelectorValue);\n      return true;\n    }\n    const allowPropertyPath = patternToken.role !== \"condition\";\n    const propertyAccessValue = this.tryMatchPropertyAccessExpression(tokens, allowPropertyPath);\n    if (propertyAccessValue) {\n      if (patternToken.expectedTypes && patternToken.expectedTypes.length > 0) {\n        if (!patternToken.expectedTypes.includes(propertyAccessValue.type) && !patternToken.expectedTypes.includes(\"expression\")) {\n          return patternToken.optional || false;\n        }\n      }\n      captured.set(patternToken.role, propertyAccessValue);\n      return true;\n    }\n    const selectorPropertyValue = this.tryMatchSelectorPropertyExpression(tokens);\n    if (selectorPropertyValue) {\n      if (patternToken.expectedTypes && patternToken.expectedTypes.length > 0) {\n        if (!isTypeCompatible(selectorPropertyValue.type, patternToken.expectedTypes)) {\n          return patternToken.optional || false;\n        }\n      }\n      captured.set(patternToken.role, selectorPropertyValue);\n      return true;\n    }\n    if (token.kind === \"identifier\" && token.value === \"{\" && (!patternToken.expectedTypes?.length || patternToken.expectedTypes.includes(\"literal\"))) {\n      const braceRun = this.tryMatchBraceRunLiteral(tokens);\n      if (braceRun) {\n        captured.set(patternToken.role, braceRun);\n        return true;\n      }\n    }\n    const value = this.tokenToSemanticValue(token);\n    if (!value) {\n      return patternToken.optional || false;\n    }\n    if (patternToken.expectedTypes && patternToken.expectedTypes.length > 0) {\n      if (!patternToken.expectedTypes.includes(value.type)) {\n        const isAttrRef = value.type === \"selector\" && String(value.value).startsWith(\"@\");\n        const slotTakesExpr = patternToken.expectedTypes.some(\n          (t) => t === \"expression\" || t === \"reference\"\n        );\n        if (!(isAttrRef && slotTakesExpr)) {\n          return patternToken.optional || false;\n        }\n      }\n    }\n    captured.set(patternToken.role, value);\n    tokens.advance();\n    if (patternToken.role === \"event\") {\n      const filterTok = tokens.peek();\n      if (filterTok && filterTok.kind === \"selector\" && filterTok.value.startsWith(\"[\") && \"value\" in value) {\n        captured.set(patternToken.role, createLiteral(`${String(value.value)}${filterTok.value}`));\n        tokens.advance();\n      }\n      const srcMarker = tokens.peek();\n      if (srcMarker && (srcMarker.kind === \"particle\" || srcMarker.kind === \"keyword\") && (srcMarker.normalized ?? \"\").toLowerCase() === \"source\" && !this.patternTokenWouldMatch(nextPatternToken, srcMarker)) {\n        const srcValueTok = tokens.peek(1);\n        if (srcValueTok && (srcValueTok.kind === \"selector\" || srcValueTok.kind === \"identifier\")) {\n          tokens.advance();\n          const srcValue = this.tokenToSemanticValue(tokens.advance());\n          if (srcValue && !captured.has(\"source\")) {\n            captured.set(\"source\", srcValue);\n          }\n        }\n      }\n    }\n    return true;\n  }\n  /**\n   * Whether a pattern token (literal, or a group starting with a literal) would\n   * match the given stream token. Used to keep the event-head source-clause\n   * consumption from stealing a marker the pattern explicitly expects.\n   */\n  patternTokenWouldMatch(pt, token) {\n    if (!pt) return false;\n    if (pt.type === \"literal\") {\n      if (this.getMatchType(token, pt.value) !== \"none\") return true;\n      return !!pt.alternatives?.some((a) => this.getMatchType(token, a) !== \"none\");\n    }\n    if (pt.type === \"group\") {\n      return this.patternTokenWouldMatch(pt.tokens?.[0], token);\n    }\n    return false;\n  }\n  /**\n   * Try to match a positional query expression:\n   *   <positional> <selector> [<in/from-marker> <source-selector>]\n   * e.g. \"last <.message/> in #chat\", \"first <button/> in .modal\", \"آخر <.message/> في #chat\".\n   *\n   * Only fires when the role begins with a positional keyword, so ordinary\n   * roles are untouched. The whole construct is captured as a single\n   * expression value (the harness/AST treats positional queries as\n   * expressions). The optional source clause consumes exactly one\n   * `<marker> <selector>` pair, which is safe because positional queries are\n   * terminal in their role (e.g. scroll's only role is the destination).\n   */\n  tryMatchPositionalExpression(tokens) {\n    const token = tokens.peek();\n    if (!token) return null;\n    const norm = (token.normalized ?? token.value).toLowerCase();\n    if (!_PatternMatcher.POSITIONAL_KEYWORDS.has(norm) && !_PatternMatcher.POSITIONAL_KEYWORDS.has(token.value.toLowerCase())) {\n      return null;\n    }\n    const mark = tokens.mark();\n    const parts = [token.normalized ?? token.value];\n    tokens.advance();\n    const sel = tokens.peek();\n    if (!sel || sel.kind !== \"selector\") {\n      tokens.reset(mark);\n      return null;\n    }\n    parts.push(sel.value);\n    tokens.advance();\n    let memberGuard = 0;\n    while (memberGuard++ < 8) {\n      const member = tokens.peek();\n      if (member && member.kind === \"selector\" && member.value.startsWith(\".\")) {\n        parts.push(member.value);\n        tokens.advance();\n      } else {\n        break;\n      }\n    }\n    const marker = tokens.peek();\n    const source = tokens.peek(1);\n    if (marker && source && source.kind === \"selector\" && (marker.kind === \"keyword\" || marker.kind === \"particle\" || marker.kind === \"identifier\") && !_PatternMatcher.POSITIONAL_KEYWORDS.has((marker.normalized ?? marker.value).toLowerCase()) && // A command verb is never a locative marker: in a juxtaposed body\n    // (`hide closest .modal remove .modal-open from body`) the next clause's\n    // verb (`remove`) would otherwise be swallowed as the source marker and\n    // the following command lost.\n    !_PatternMatcher.COMMAND_ACTION_KEYWORDS.has((marker.normalized ?? marker.value).toLowerCase())) {\n      parts.push(marker.normalized ?? marker.value, source.value);\n      tokens.advance();\n      tokens.advance();\n    }\n    return { type: \"expression\", raw: parts.join(\" \") };\n  }\n  /**\n   * Match a caret-scoped variable read: `^name on <element>`.\n   *\n   * `^name` is a DOM-scoped variable; `^name on #host` reads it from a specific\n   * element rather than walking up from `me`. Gated to `^`-prefixed identifier\n   * tokens followed by an `on`-marker and a selector — so the overloaded `on`\n   * (event marker / destination marker) is never misread on ordinary commands\n   * like `toggle .active on #button` (whose patient is a class selector, not a\n   * caret variable). Works across languages: the `on` marker is matched by its\n   * normalized form (ar `عند`, tl `kapag`, …) and selectors aren't translated.\n   */\n  tryMatchCaretScopeExpression(tokens) {\n    const token = tokens.peek();\n    if (!token || token.kind !== \"identifier\" || !token.value.startsWith(\"^\")) {\n      return null;\n    }\n    const onMarker = tokens.peek(1);\n    const scope = tokens.peek(2);\n    const markerForm = (onMarker?.normalized ?? \"\").toLowerCase();\n    const isOnMarker = !!onMarker && (onMarker.value.toLowerCase() === \"on\" || markerForm === \"destination\" || markerForm === \"on\");\n    if (!onMarker || !scope || scope.kind !== \"selector\" || !isOnMarker) {\n      return null;\n    }\n    tokens.advance();\n    tokens.advance();\n    tokens.advance();\n    return { type: \"expression\", raw: `${token.value} on ${scope.value}` };\n  }\n  /**\n   * Markers that introduce the owner in a prepositional (\"of\") possessive:\n   * EN `of`; AR من / others that tokenize with a `source`/`of` normalized form;\n   * TL genitive linker `ng`; plus the per-language `of` connectors in\n   * {@link OF_POSSESSIVE_MARKERS}. Kept narrow and only consulted for property-path\n   * roles, so it never shadows a real source role.\n   */\n  isOfPossessiveMarker(token) {\n    const value = token.value.toLowerCase();\n    const normalized2 = (token.normalized ?? \"\").toLowerCase();\n    if (value === \"of\" || value === \"ng\" || normalized2 === \"of\" || normalized2 === \"source\") {\n      return true;\n    }\n    const langMarkers = this.currentProfile?.code ? _PatternMatcher.OF_POSSESSIVE_MARKERS[this.currentProfile.code] : void 0;\n    return !!langMarkers && langMarkers.has(value);\n  }\n  /**\n   * Try to match a multi-token operator-run expression:\n   *   <operand> <op> <operand> (<op> <operand>)*\n   * where an operand is a parenthesized group (balanced `(`…`)` tokens), a\n   * possessive pair (`my value`, `私の 値`), or a single value token.\n   * Returns null — leaving the stream untouched — unless an operator DIRECTLY\n   * follows the first operand, so ordinary single-token captures never change.\n   */\n  tryMatchOperatorRunExpression(tokens) {\n    const mark = tokens.mark();\n    const startIdx = tokens.position();\n    if (!this.tryConsumeRunOperand(tokens)) {\n      tokens.reset(mark);\n      return null;\n    }\n    let operands = 1;\n    for (; ; ) {\n      const op = tokens.peek();\n      if (!op || !_PatternMatcher.RUN_OPERATORS.has(op.value)) break;\n      const beforeOp = tokens.mark();\n      tokens.advance();\n      if (!this.tryConsumeRunOperand(tokens)) {\n        tokens.reset(beforeOp);\n        break;\n      }\n      operands++;\n    }\n    if (operands < 2) {\n      tokens.reset(mark);\n      return null;\n    }\n    const raw = tokens.tokens.slice(startIdx, tokens.position()).map((t) => t.value).join(\" \");\n    return { type: \"expression\", raw, value: raw };\n  }\n  /**\n   * Consume one operand of an operator run. Returns false (stream untouched)\n   * if the upcoming tokens do not form an operand.\n   */\n  tryConsumeRunOperand(tokens) {\n    const token = tokens.peek();\n    if (!token) return false;\n    if (token.value === \"(\") {\n      const mark = tokens.mark();\n      let depth = 0;\n      while (!tokens.isAtEnd()) {\n        const t = tokens.advance();\n        if (t.value === \"(\") depth++;\n        else if (t.value === \")\") {\n          depth--;\n          if (depth === 0) return true;\n        }\n      }\n      tokens.reset(mark);\n      return false;\n    }\n    if (this.tryMatchPossessiveExpression(tokens)) return true;\n    if ((token.kind === \"literal\" || token.kind === \"identifier\" || token.kind === \"selector\" || token.kind === \"keyword\") && !_PatternMatcher.RUN_OPERATORS.has(token.value) && token.value !== \")\") {\n      tokens.advance();\n      return true;\n    }\n    return false;\n  }\n  /**\n   * Try to match a prepositional \"of\" possessive:\n   *   <property-selector> <of-marker> <owner-selector>\n   * e.g. \"*--primary-color of #theme\" → property-path(#theme, *--primary-color).\n   *\n   * This is the surface the i18n transformer emits for \"set the X of #y to Z\"\n   * across languages (`set #y's X` would be the alternative, but the transformer\n   * uses the `of` form). Only called for property-path roles (see matchRoleToken).\n   */\n  tryMatchOfPossessiveExpression(tokens) {\n    const property = tokens.peek();\n    if (!property || property.kind !== \"selector\") return null;\n    const mark = tokens.mark();\n    tokens.advance();\n    const marker = tokens.peek();\n    if (!marker || !this.isOfPossessiveMarker(marker)) {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    const owner = tokens.peek();\n    if (!owner || owner.kind !== \"selector\") {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    return createPropertyPath(createSelector(owner.value), property.value);\n  }\n  /**\n   * Try to match a possessive expression like 'my value' or 'its innerHTML'.\n   * Returns the PropertyPathValue if matched, or null if not.\n   */\n  tryMatchPossessiveExpression(tokens) {\n    const token = tokens.peek();\n    if (!token) return null;\n    if (!this.currentProfile) return null;\n    const candidates = [token.value, token.normalized].filter(Boolean);\n    let baseRef;\n    for (const candidate of candidates) {\n      baseRef = getPossessiveReference(this.currentProfile, candidate) ?? getPossessiveReference(this.currentProfile, candidate.toLowerCase());\n      if (baseRef) break;\n    }\n    if (!baseRef) return null;\n    const mark = tokens.mark();\n    tokens.advance();\n    const connectors = this.currentProfile.possessive?.connectors;\n    if (connectors && connectors.length > 0) {\n      const next = tokens.peek();\n      if (next) {\n        const nv = next.value.toLowerCase();\n        const nn = (next.normalized ?? \"\").toLowerCase();\n        if (connectors.some((c) => c.toLowerCase() === nv || c.toLowerCase() === nn)) {\n          tokens.advance();\n        }\n      }\n    }\n    const propertyToken = tokens.peek();\n    if (!propertyToken) {\n      tokens.reset(mark);\n      return null;\n    }\n    if (isAtEndConnective(this.currentProfile.code, propertyToken.value)) {\n      tokens.reset(mark);\n      return null;\n    }\n    if (propertyToken.kind === \"identifier\" || propertyToken.kind === \"keyword\" && !this.isStructuralKeyword(propertyToken.value) && !(propertyToken.normalized && this.isStructuralKeyword(propertyToken.normalized)) && !(propertyToken.normalized && this.isRoleMarkerConcept(propertyToken.normalized)) || propertyToken.kind === \"selector\" && propertyToken.value.startsWith(\"*\") || propertyToken.kind === \"selector\" && propertyToken.value.startsWith(\"@\") || propertyToken.kind === \"selector\" && propertyToken.value.startsWith(\".\") && /^\\.[a-zA-Z_]\\w*/.test(propertyToken.value)) {\n      tokens.advance();\n      let propertyName = propertyToken.value;\n      if (propertyToken.kind === \"selector\" && propertyName.startsWith(\".\") && /^\\.[a-zA-Z_]\\w*/.test(propertyName)) {\n        propertyName = propertyName.substring(1);\n      }\n      let chainedProps = propertyName;\n      while (tokens.peek()?.kind === \"selector\" && tokens.peek().value.startsWith(\".\") && /^\\.[a-zA-Z_]\\w*/.test(tokens.peek().value)) {\n        chainedProps += tokens.peek().value;\n        tokens.advance();\n      }\n      const afterChain = tokens.peek();\n      if (afterChain && afterChain.value.startsWith(\"(\")) {\n        let call = \"\";\n        let depth = 0;\n        let guard = 0;\n        while (!tokens.isAtEnd() && guard++ < _PatternMatcher.MAX_METHOD_ARGS + 2) {\n          const t = tokens.peek();\n          if (!t) break;\n          call += t.value;\n          tokens.advance();\n          for (const ch of t.value) {\n            if (ch === \"(\") depth++;\n            else if (ch === \")\") depth--;\n          }\n          if (depth <= 0) break;\n        }\n        chainedProps += call;\n      }\n      return createPropertyPath(createReference(baseRef), chainedProps);\n    }\n    tokens.reset(mark);\n    return null;\n  }\n  /**\n   * Match a POST-NOMINAL possessive expression: `<property> <possessor>`.\n   *\n   * The pre-nominal {@link tryMatchPossessiveExpression} handles possessor-first\n   * order (`my value`, `لي قيمة`). Languages whose possessive `markerPosition` is\n   * `after-object` put the possessor AFTER the property (ar `textContent لي`,\n   * id `textContent saya`, sw `textContent yangu`), so the pre-nominal matcher\n   * never fires — `set my textContent to \"x\"` failed to parse (ar/id/sw) or parsed\n   * lossily with the possessor dropped (ru/pl/uk). This recovers the property-path\n   * for that order. Gated to `after-object` profiles, so possessor-first languages\n   * are untouched.\n   */\n  tryMatchPostNominalPossessiveExpression(tokens) {\n    if (!this.currentProfile) return null;\n    if (this.currentProfile.possessive?.markerPosition !== \"after-object\") return null;\n    const isPossessor = (t) => {\n      for (const cand of [t.value, t.normalized].filter(Boolean)) {\n        if (getPossessiveReference(this.currentProfile, cand) ?? getPossessiveReference(this.currentProfile, cand.toLowerCase())) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const propertyToken = tokens.peek();\n    if (!propertyToken) return null;\n    const isDotSelector = propertyToken.kind === \"selector\" && propertyToken.value.startsWith(\".\") && /^\\.[a-zA-Z_]\\w*/.test(propertyToken.value);\n    const isPropHead = propertyToken.kind === \"identifier\" && !this.isStructuralKeyword(propertyToken.value) && !(propertyToken.normalized && this.isStructuralKeyword(propertyToken.normalized)) && !(propertyToken.normalized && this.isRoleMarkerConcept(propertyToken.normalized)) || propertyToken.kind === \"selector\" && (propertyToken.value.startsWith(\"*\") || propertyToken.value.startsWith(\"@\")) || isDotSelector;\n    if (!isPropHead || isPossessor(propertyToken)) return null;\n    const mark = tokens.mark();\n    let propertyName = propertyToken.value;\n    if (isDotSelector) propertyName = propertyName.substring(1);\n    tokens.advance();\n    let chainedProps = propertyName;\n    while (tokens.peek()?.kind === \"selector\" && tokens.peek().value.startsWith(\".\") && /^\\.[a-zA-Z_]\\w*/.test(tokens.peek().value)) {\n      chainedProps += tokens.peek().value;\n      tokens.advance();\n    }\n    const possessorToken = tokens.peek();\n    if (!possessorToken) {\n      tokens.reset(mark);\n      return null;\n    }\n    let baseRef;\n    for (const cand of [possessorToken.value, possessorToken.normalized].filter(\n      Boolean\n    )) {\n      baseRef = getPossessiveReference(this.currentProfile, cand) ?? getPossessiveReference(this.currentProfile, cand.toLowerCase());\n      if (baseRef) break;\n    }\n    if (!baseRef) {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    return createPropertyPath(createReference(baseRef), chainedProps);\n  }\n  /**\n   * Check if a keyword is a structural keyword (preposition, control flow, etc.)\n   * that shouldn't be consumed as a property name.\n   */\n  isStructuralKeyword(value) {\n    const structural = /* @__PURE__ */ new Set([\n      // Prepositions\n      \"into\",\n      \"in\",\n      \"to\",\n      \"from\",\n      \"at\",\n      \"by\",\n      \"with\",\n      \"without\",\n      \"before\",\n      \"after\",\n      \"of\",\n      \"as\",\n      \"on\",\n      // Control flow\n      \"then\",\n      \"end\",\n      \"else\",\n      \"if\",\n      \"repeat\",\n      \"while\",\n      \"for\",\n      // Commands (shouldn't be property names)\n      \"toggle\",\n      \"add\",\n      \"remove\",\n      \"put\",\n      \"set\",\n      \"show\",\n      \"hide\",\n      \"increment\",\n      \"decrement\",\n      \"send\",\n      \"trigger\",\n      \"call\"\n    ]);\n    return structural.has(value.toLowerCase());\n  }\n  /**\n   * Whether a NORMALIZED token form is a role-marker *concept* (the abstract\n   * role name a non-English marker keyword normalizes to, e.g. ms `ke`→\n   * `destination`, `dari`→`source`). These are markers, never DOM property\n   * names — so a possessive property head normalizing to one is a mis-read\n   * (`letak ia ke …` = \"put it into …\", not \"put it's `ke`\"). Only checked\n   * against the `normalized` form: a real English property surface word\n   * (`value`, `style`) tokenizes as a bare identifier with no normalized concept,\n   * so this never blocks a genuine `my value` / `its style` possessive.\n   */\n  isRoleMarkerConcept(normalized2) {\n    const markerConcepts = /* @__PURE__ */ new Set([\n      \"destination\",\n      \"source\",\n      \"patient\",\n      \"object\",\n      \"event\",\n      \"eventmarker\",\n      \"manner\",\n      \"instrument\"\n    ]);\n    return markerConcepts.has(normalized2.toLowerCase());\n  }\n  /**\n   * Does `token` look like an EVENT name for the `event` role? Events are bare\n   * identifiers / known event keywords (click, keyup, custom `myEvent`), never\n   * selectors, URLs, method calls (`fn()`), or string/number literals.\n   * Value-based so it works for any language's native event words (no special\n   * chars). See the event-anchor guard in matchRoleToken and\n   * docs-internal/HANDOFF-sov-event-anchor.md.\n   */\n  static tokenLooksLikeEvent(token) {\n    if (token.kind === \"selector\" || token.kind === \"url\") return false;\n    if (token.kind === \"literal\") return false;\n    const v = token.value;\n    if (/[/#@*]/.test(v)) return false;\n    if (v.startsWith('\"') || v.startsWith(\"'\") || v.startsWith(\"`\")) return false;\n    const norm = token.normalized?.toLowerCase();\n    if (norm && BAREKEYWORD_BLOCK_ACTIONS.has(norm)) return false;\n    return true;\n  }\n  tryMatchBraceRunLiteral(tokens) {\n    const open = tokens.peek();\n    if (!open || open.kind !== \"identifier\" || open.value !== \"{\") return null;\n    const mark = tokens.mark();\n    tokens.advance();\n    const parts = [\"{\"];\n    let depth = 1;\n    let guard = 0;\n    while (!tokens.isAtEnd() && guard++ < _PatternMatcher.MAX_BRACE_RUN_TOKENS) {\n      const t = tokens.advance();\n      if (!t) break;\n      if (t.value === \"{\") depth++;\n      else if (t.value === \"}\") {\n        depth--;\n        if (depth === 0) {\n          parts.push(\"}\");\n          return createLiteral(parts.join(\" \"));\n        }\n      }\n      parts.push(t.value);\n    }\n    tokens.reset(mark);\n    return null;\n  }\n  /**\n   * Try to match a bare function-call expression like `myFunction()` or\n   * `adjustLayout(a, b)`. The multilingual tokenizers split this into\n   * `name` `(` [args] `)` with the parens as `identifier`-kind tokens (not\n   * `punctuation`, which `tryMatchMethodCallExpression` requires). Folds the\n   * whole call into one `expression` value so an SOV role (`{patient} <marker>`)\n   * captures `name(...)` instead of just `name`, leaving the marker to match.\n   * Returns null (no stream movement) unless a balanced `name( … )` is present.\n   */\n  tryMatchBareCallExpression(tokens) {\n    const token = tokens.peek();\n    if (!token || token.kind !== \"identifier\") return null;\n    if (!/^[A-Za-z_][\\w$]*$/.test(token.value)) return null;\n    const next = tokens.peek(1);\n    if (!next || next.value !== \"(\") return null;\n    const mark = tokens.mark();\n    tokens.advance();\n    tokens.advance();\n    const args = [];\n    let closed = false;\n    let guard = 0;\n    while (!tokens.isAtEnd() && guard++ < _PatternMatcher.MAX_METHOD_ARGS + 2) {\n      const argToken = tokens.peek();\n      if (!argToken) break;\n      if (argToken.value === \")\") {\n        tokens.advance();\n        closed = true;\n        break;\n      }\n      if (argToken.value === \",\") {\n        tokens.advance();\n        continue;\n      }\n      args.push(argToken.value);\n      tokens.advance();\n    }\n    if (!closed) {\n      tokens.reset(mark);\n      return null;\n    }\n    return { type: \"expression\", raw: `${token.value}(${args.join(\", \")})` };\n  }\n  /**\n   * Try to match a method call expression like '#dialog.showModal()'.\n   * Pattern: selector + '.' + identifier + '(' + [args] + ')'\n   * Returns an expression value if matched, or null if not.\n   */\n  tryMatchMethodCallExpression(tokens) {\n    const token = tokens.peek();\n    if (!token || token.kind !== \"selector\") return null;\n    const mark = tokens.mark();\n    tokens.advance();\n    const dotToken = tokens.peek();\n    if (!dotToken || dotToken.kind !== \"operator\" || dotToken.value !== \".\") {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    const methodToken = tokens.peek();\n    if (!methodToken || methodToken.kind !== \"identifier\") {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    const openParen = tokens.peek();\n    if (!openParen || openParen.kind !== \"punctuation\" || openParen.value !== \"(\") {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    const args = [];\n    while (!tokens.isAtEnd() && args.length < _PatternMatcher.MAX_METHOD_ARGS) {\n      const argToken = tokens.peek();\n      if (!argToken) break;\n      if (argToken.kind === \"punctuation\" && argToken.value === \")\") {\n        tokens.advance();\n        break;\n      }\n      if (argToken.kind === \"punctuation\" && argToken.value === \",\") {\n        tokens.advance();\n        continue;\n      }\n      args.push(argToken.value);\n      tokens.advance();\n    }\n    const methodCall = `${token.value}.${methodToken.value}(${args.join(\", \")})`;\n    return {\n      type: \"expression\",\n      raw: methodCall\n    };\n  }\n  /**\n   * Try to match a property access expression like 'userData.name' or 'it.data'.\n   * Pattern: (identifier | keyword) + '.' + identifier [+ '.' + identifier ...]\n   * Returns an expression value if matched, or null if not.\n   */\n  tryMatchPropertyAccessExpression(tokens, allowPropertyPath = true) {\n    const token = tokens.peek();\n    if (!token) return null;\n    if (token.kind !== \"identifier\" && token.kind !== \"keyword\") return null;\n    const mark = tokens.mark();\n    tokens.advance();\n    const baseLower = token.value.toLowerCase();\n    const fusedFirst = tokens.peek();\n    if ((token.kind === \"identifier\" || _PatternMatcher.PROPERTY_ACCESS_BASES.has(baseLower)) && fusedFirst && fusedFirst.kind === \"selector\" && /^\\.[a-zA-Z_]/.test(fusedFirst.value)) {\n      let fusedChain = token.value;\n      const fusedProps = [];\n      let fusedDepth = 0;\n      while (fusedDepth < _PatternMatcher.MAX_PROPERTY_DEPTH) {\n        const prop = tokens.peek();\n        if (prop && prop.kind === \"selector\" && /^\\.[a-zA-Z_]/.test(prop.value)) {\n          fusedChain += `.${prop.value.slice(1)}`;\n          fusedProps.push(prop.value.slice(1));\n          tokens.advance();\n          fusedDepth++;\n        } else {\n          break;\n        }\n      }\n      const fusedTrailing = tokens.peek();\n      const fusedIsMethodCall = !!fusedTrailing && fusedTrailing.value.startsWith(\"(\");\n      if (allowPropertyPath && !fusedIsMethodCall && fusedProps.length > 0 && isValidReference(baseLower)) {\n        return createPropertyPath(createReference(baseLower), fusedProps.join(\".\"));\n      }\n      if (fusedIsMethodCall) {\n        const callMark = tokens.mark();\n        const callParts = [];\n        let parenDepth = 0;\n        let closed = false;\n        while (!tokens.isAtEnd()) {\n          const t = tokens.peek();\n          if (!t) break;\n          if (t.value === \"(\") parenDepth++;\n          else if (t.value === \")\") {\n            callParts.push(t.value);\n            tokens.advance();\n            parenDepth--;\n            if (parenDepth === 0) {\n              closed = true;\n            }\n            if (closed) break;\n            continue;\n          }\n          callParts.push(t.value);\n          tokens.advance();\n        }\n        if (closed) {\n          fusedChain += callParts.join(\"\");\n        } else {\n          tokens.reset(callMark);\n        }\n      }\n      return { type: \"expression\", raw: fusedChain };\n    }\n    const dotToken = tokens.peek();\n    if (!dotToken || dotToken.kind !== \"operator\" || dotToken.value !== \".\") {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    const propertyToken = tokens.peek();\n    if (!propertyToken || propertyToken.kind !== \"identifier\") {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    let chain = `${token.value}.${propertyToken.value}`;\n    let depth = 1;\n    while (!tokens.isAtEnd() && depth < _PatternMatcher.MAX_PROPERTY_DEPTH) {\n      const nextDot = tokens.peek();\n      if (!nextDot || nextDot.kind !== \"operator\" || nextDot.value !== \".\") {\n        break;\n      }\n      tokens.advance();\n      const nextProp = tokens.peek();\n      if (!nextProp || nextProp.kind !== \"identifier\") {\n        break;\n      }\n      tokens.advance();\n      chain += `.${nextProp.value}`;\n      depth++;\n    }\n    const openParen = tokens.peek();\n    if (openParen && openParen.kind === \"punctuation\" && openParen.value === \"(\") {\n      tokens.advance();\n      const args = [];\n      let argDepth = 0;\n      while (!tokens.isAtEnd() && args.length < _PatternMatcher.MAX_METHOD_ARGS) {\n        const argToken = tokens.peek();\n        if (!argToken) break;\n        if (argToken.kind === \"punctuation\" && argToken.value === \")\") {\n          if (argDepth === 0) {\n            tokens.advance();\n            break;\n          }\n          argDepth--;\n        }\n        if (argToken.kind === \"punctuation\" && argToken.value === \"(\") {\n          argDepth++;\n        }\n        if (argToken.kind === \"punctuation\" && argToken.value === \",\") {\n          tokens.advance();\n          continue;\n        }\n        args.push(argToken.value);\n        tokens.advance();\n      }\n      const methodCall = `${chain}(${args.join(\", \")})`;\n      return {\n        type: \"expression\",\n        raw: methodCall\n      };\n    }\n    const opBaseLower = token.value.toLowerCase();\n    if (allowPropertyPath && isValidReference(opBaseLower)) {\n      const opProps = chain.split(\".\").slice(1).join(\".\");\n      return createPropertyPath(createReference(opBaseLower), opProps);\n    }\n    return {\n      type: \"expression\",\n      raw: chain\n    };\n  }\n  /**\n   * Try to match a possessive selector expression like \"#element's *opacity\".\n   * Pattern: selector + possessive-marker + (selector | identifier)\n   *\n   * The possessive marker is English `'s` (a punctuation token) or, for other\n   * languages, the active profile's `possessive.marker` emitted as a `particle`\n   * token (e.g. Japanese `の`, Korean `의`). Returns a property-path value if\n   * matched, or null if not.\n   */\n  tryMatchPossessiveSelectorExpression(tokens) {\n    const token = tokens.peek();\n    if (!token || token.kind !== \"selector\") return null;\n    const mark = tokens.mark();\n    tokens.advance();\n    const possessiveToken = tokens.peek();\n    const profileMarker = this.currentProfile?.possessive?.marker?.replace(/^-/, \"\");\n    const isEnglishPossessive = !!possessiveToken && possessiveToken.kind === \"punctuation\" && possessiveToken.value === \"'s\";\n    const splitEnglishPossessive = !!possessiveToken && possessiveToken.value === \"'\" && (tokens.peek(1)?.value ?? \"\").toLowerCase() === \"s\";\n    const markerRoleCollision = (() => {\n      if (!this.currentPatternCommand) return false;\n      if ((possessiveToken?.normalized ?? \"\").toLowerCase() !== \"source\") return false;\n      const schema = commandSchemas[this.currentPatternCommand];\n      return !!schema && schema.roles.some((r) => r.role === \"source\");\n    })();\n    const isProfilePossessive = !!possessiveToken && !!profileMarker && profileMarker !== \"'s\" && possessiveToken.value === profileMarker && (possessiveToken.kind === \"particle\" || possessiveToken.kind === \"punctuation\") && !markerRoleCollision;\n    if (!isEnglishPossessive && !isProfilePossessive && !splitEnglishPossessive) {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    if (splitEnglishPossessive) tokens.advance();\n    const propertyToken = tokens.peek();\n    if (!propertyToken) {\n      tokens.reset(mark);\n      return null;\n    }\n    const propertyOk = propertyToken.kind === \"identifier\" || (isEnglishPossessive || splitEnglishPossessive) && (propertyToken.kind === \"selector\" || propertyToken.kind === \"keyword\");\n    if (!propertyOk) {\n      tokens.reset(mark);\n      return null;\n    }\n    tokens.advance();\n    return createPropertyPath(createSelector(token.value), propertyToken.value);\n  }\n  /**\n   * Try to match a selector + property expression like \"#output.innerText\".\n   * This handles cases where the tokenizer produces two selector tokens:\n   * - #output (id selector)\n   * - .innerText (looks like class selector, but is actually property)\n   *\n   * Pattern: id-selector + class-selector-that-is-actually-property\n   * Returns a property-path value if matched, or null if not.\n   */\n  tryMatchSelectorPropertyExpression(tokens) {\n    const token = tokens.peek();\n    if (!token || token.kind !== \"selector\") return null;\n    if (!token.value.startsWith(\"#\")) return null;\n    const mark = tokens.mark();\n    tokens.advance();\n    const propertyToken = tokens.peek();\n    if (!propertyToken || propertyToken.kind !== \"selector\") {\n      tokens.reset(mark);\n      return null;\n    }\n    if (!propertyToken.value.startsWith(\".\")) {\n      tokens.reset(mark);\n      return null;\n    }\n    const peek2 = tokens.peek(1);\n    if (peek2 && peek2.kind === \"selector\") {\n    }\n    tokens.advance();\n    const propertyName = propertyToken.value.slice(1);\n    return createPropertyPath(createSelector(token.value), propertyName);\n  }\n  /**\n   * Match a group pattern token (optional sequence).\n   */\n  matchGroupToken(tokens, patternToken, captured, nextPatternToken) {\n    const mark = tokens.mark();\n    const capturedBefore = new Set(captured.keys());\n    const success = this.matchTokenSequence(\n      tokens,\n      patternToken.tokens,\n      captured,\n      nextPatternToken\n    );\n    if (!success) {\n      tokens.reset(mark);\n      for (const role of captured.keys()) {\n        if (!capturedBefore.has(role)) {\n          captured.delete(role);\n        }\n      }\n      return patternToken.optional || false;\n    }\n    return true;\n  }\n  /**\n   * Get the type of match for a token against a value.\n   * Used for confidence calculation.\n   */\n  getMatchType(token, value) {\n    if (token.value === value) return \"exact\";\n    if (token.normalized === value) return \"normalized\";\n    if (token.stem === value && token.stemConfidence !== void 0 && token.stemConfidence >= 0.7) {\n      return \"stem\";\n    }\n    if (token.kind === \"keyword\" && token.value.toLowerCase() === value.toLowerCase()) {\n      return \"case-insensitive\";\n    }\n    return \"none\";\n  }\n  /**\n   * Convert a language token to a semantic value.\n   */\n  tokenToSemanticValue(token) {\n    switch (token.kind) {\n      case \"selector\":\n        return createSelector(token.value);\n      case \"literal\":\n        return this.parseLiteralValue(token.value);\n      case \"keyword\":\n        const lower = (token.normalized || token.value).toLowerCase();\n        if (isValidReference(lower)) {\n          return createReference(lower);\n        }\n        return createLiteral(token.normalized || token.value);\n      case \"identifier\":\n        if (token.value.startsWith(\"@\")) {\n          return createSelector(token.value);\n        }\n        if (token.value.startsWith(\":\") || token.value.startsWith(\"$\")) {\n          return createReference(token.value);\n        }\n        const identLower = token.value.toLowerCase();\n        if (isValidReference(identLower)) {\n          return createReference(identLower);\n        }\n        return { type: \"expression\", raw: token.value };\n      case \"url\":\n        return createLiteral(token.value, \"string\");\n      default:\n        return null;\n    }\n  }\n  /**\n   * Parse a literal value (string, number, boolean).\n   */\n  parseLiteralValue(value) {\n    if (value.startsWith('\"') || value.startsWith(\"'\") || value.startsWith(\"`\") || value.startsWith(\"\\u300C\")) {\n      const inner = value.slice(1, -1);\n      return createLiteral(inner, \"string\");\n    }\n    if (value === \"true\") return createLiteral(true, \"boolean\");\n    if (value === \"false\") return createLiteral(false, \"boolean\");\n    const durationMatch = value.match(/^(\\d+(?:\\.\\d+)?)(ms|s|m|h)?$/);\n    if (durationMatch) {\n      const num2 = parseFloat(durationMatch[1]);\n      const unit = durationMatch[2];\n      if (unit) {\n        return createLiteral(value, \"duration\");\n      }\n      return createLiteral(num2, \"number\");\n    }\n    const num = parseFloat(value);\n    if (!isNaN(num)) {\n      return createLiteral(num, \"number\");\n    }\n    return createLiteral(value, \"string\");\n  }\n  /**\n   * Apply extraction rules to fill in static values and defaults for missing roles.\n   */\n  applyExtractionRules(pattern, captured) {\n    for (const [role, rule] of Object.entries(pattern.extraction)) {\n      if (!captured.has(role)) {\n        if (rule.value !== void 0) {\n          captured.set(role, { type: \"literal\", value: rule.value });\n        } else if (rule.default) {\n          captured.set(role, rule.default);\n        }\n      }\n    }\n  }\n  /**\n   * Check if a pattern token is optional.\n   */\n  isOptional(patternToken) {\n    return patternToken.type !== \"literal\" && patternToken.optional === true;\n  }\n  /**\n   * Skip noise words like \"the\" before selectors and identifiers.\n   * This enables more natural English syntax like \"toggle the .active\"\n   * and \"set the color to red\".\n   */\n  skipNoiseWords(tokens) {\n    const token = tokens.peek();\n    if (!token) return;\n    const tokenLower = token.value.toLowerCase();\n    if (_PatternMatcher.ENGLISH_NOISE_WORDS.has(tokenLower)) {\n      const mark = tokens.mark();\n      tokens.advance();\n      const nextToken = tokens.peek();\n      if (nextToken && (nextToken.kind === \"selector\" || nextToken.kind === \"identifier\")) {\n        return;\n      }\n      const afterNext = tokens.peek(1);\n      if (nextToken && nextToken.kind === \"keyword\" && afterNext && afterNext.kind === \"selector\" && /^\\.[a-zA-Z_]/.test(afterNext.value)) {\n        return;\n      }\n      const nextNorm = nextToken ? (nextToken.normalized ?? nextToken.value).toLowerCase() : \"\";\n      if (nextToken && _PatternMatcher.POSITIONAL_OR_SCOPE_KEYWORDS.has(nextNorm)) {\n        return;\n      }\n      const afterRefNoun = tokens.peek(1);\n      const afterRefNorm = afterRefNoun ? (afterRefNoun.normalized ?? afterRefNoun.value).toLowerCase() : \"\";\n      const verbBoundary = this.currentProfile?.wordOrder !== \"SOV\" && _PatternMatcher.COMMAND_ACTION_KEYWORDS.has(afterRefNorm);\n      const refNounFollowedByBoundary = !afterRefNoun || afterRefNoun.kind === \"particle\" || _PatternMatcher.CLAUSE_BOUNDARY_KEYWORDS.has(afterRefNorm) || verbBoundary;\n      if (nextToken && nextToken.kind === \"keyword\" && this.currentProfile?.code !== \"en\" && isValidReference(nextNorm) && refNounFollowedByBoundary) {\n        return;\n      }\n      if (nextToken && nextToken.kind === \"keyword\" && this.currentProfile?.code === \"en\" && isValidReference(nextNorm)) {\n        return;\n      }\n      tokens.reset(mark);\n    }\n    if (tokenLower === \"class\") {\n      tokens.advance();\n    }\n  }\n  /**\n   * Extract event modifiers from the token stream.\n   * Event modifiers are .once, .debounce(N), .throttle(N), .queue(strategy)\n   * that can appear after event names.\n   *\n   * Returns EventModifiers object or undefined if no modifiers found.\n   */\n  extractEventModifiers(tokens) {\n    const modifiers = {};\n    let foundModifier = false;\n    while (!tokens.isAtEnd()) {\n      const token = tokens.peek();\n      if (!token || token.kind !== \"event-modifier\") {\n        break;\n      }\n      const metadata = token.metadata;\n      if (!metadata) {\n        break;\n      }\n      foundModifier = true;\n      switch (metadata.modifierName) {\n        case \"once\":\n          modifiers.once = true;\n          break;\n        case \"debounce\":\n          if (typeof metadata.value === \"number\") {\n            modifiers.debounce = metadata.value;\n          }\n          break;\n        case \"throttle\":\n          if (typeof metadata.value === \"number\") {\n            modifiers.throttle = metadata.value;\n          }\n          break;\n        case \"queue\":\n          if (metadata.value === \"first\" || metadata.value === \"last\" || metadata.value === \"all\" || metadata.value === \"none\") {\n            modifiers.queue = metadata.value;\n          }\n          break;\n      }\n      tokens.advance();\n    }\n    return foundModifier ? modifiers : void 0;\n  }\n};\n/**\n * Positional query keywords (English + normalized forms produced by the\n * tokenizers for every language, e.g. AR آخر→last, TL huli→last).\n * `closest` is included: `closest <sel>` is the ancestor-scope query form\n * (`hide closest .modal`, `toggle .x on closest .card`) and folds to the\n * same call-expression shape the runtime's positional expressions evaluate\n * (the expression-parser positional fold). Without it the patient/destination\n * role rejected the keyword and the whole command dropped from event bodies.\n */\n_PatternMatcher.POSITIONAL_KEYWORDS = /* @__PURE__ */ new Set([\n  \"first\",\n  \"last\",\n  \"next\",\n  \"previous\",\n  \"random\",\n  \"closest\"\n]);\n/**\n * Positional + DOM-scope keywords that must never fill a `duration` slot (see the\n * guard in matchRoleToken). Superset of POSITIONAL_KEYWORDS plus the scope words\n * (`closest`, `parent`) that lead a locative `in <scope>`.\n */\n_PatternMatcher.POSITIONAL_OR_SCOPE_KEYWORDS = /* @__PURE__ */ new Set([\n  \"first\",\n  \"last\",\n  \"next\",\n  \"previous\",\n  \"random\",\n  \"closest\",\n  \"parent\"\n]);\n/**\n * Structural block keywords that can never be an event payload on any\n * command (see the event-role guard in matchRoleToken). By NORMALIZED form,\n * so each language's rendered keyword (ja もし, tr eğer, …) is covered.\n * `init` is deliberately absent — `trigger init` is a real corpus event.\n */\n_PatternMatcher.STRUCTURAL_NEVER_EVENT = /* @__PURE__ */ new Set([\"if\", \"unless\", \"else\", \"end\", \"then\"]);\n/**\n * Reference bases that can lead a fused-dot property access (`it.value`,\n * `event.detail.message`, `my.innerHTML`). Command verbs are deliberately\n * excluded so `<verb> .class` (toggle .active) is never read as a property\n * path. The corpus uses the English reference forms (they pass through the\n * transformer verbatim); plain identifiers are handled separately.\n */\n_PatternMatcher.PROPERTY_ACCESS_BASES = /* @__PURE__ */ new Set([\n  \"it\",\n  \"me\",\n  \"you\",\n  \"my\",\n  \"its\",\n  \"your\",\n  \"event\",\n  \"result\",\n  \"target\",\n  \"detail\",\n  \"body\",\n  \"window\",\n  \"document\",\n  \"self\",\n  \"this\"\n]);\n/**\n * Normalized command-action keywords (the schema registry's action names).\n * Tokenizers normalize every language's command verbs to these forms, so the\n * set is language-independent. Used to keep the positional source clause\n * from consuming a following command's verb as a locative marker.\n */\n_PatternMatcher.COMMAND_ACTION_KEYWORDS = new Set(\n  Object.keys(commandSchemas).map((a) => a.toLowerCase())\n);\n/**\n * Normalized clause-boundary keywords — sequence/conjunction tokens that close\n * one command and open the next. Tokenizers normalize every language's forms\n * to these (es `entonces`→then, uk `тоді`→then). Used by skipNoiseWords to tell\n * a `the <ref-noun>` patient phrase that ENDS a clause (`the evento entonces …`,\n * safe to skip the leaked article) from one whose ref-noun is followed by a\n * command verb (`the olay çağır …`, must NOT skip — the §7y regression).\n */\n_PatternMatcher.CLAUSE_BOUNDARY_KEYWORDS = /* @__PURE__ */ new Set([\"then\", \"and\", \"or\", \"end\", \"else\"]);\n/**\n * The connector the i18n transformer emits for English `of` in a property-path\n * possessive (`set the X of #y to Z`), per language, when it does NOT tokenize\n * to a `source`/`of` normalized form. EN `of` / AR `من` (→ `source`) / TL `ng`\n * are handled by the literal/normalized check in {@link isOfPossessiveMarker};\n * these are possessive particles / genitive linkers that surface as bare\n * identifiers or particles (ms `daripada`, sw `ya`, vi `của`, zh `的`). Mirrors\n * the i18n dict `of` modifier. Without these, `set the *--primary-color of #theme\n * to …` dropped its `set` in ms/sw/vi/zh (the patient property-path never matched).\n */\n_PatternMatcher.OF_POSSESSIVE_MARKERS = {\n  ms: /* @__PURE__ */ new Set([\"daripada\"]),\n  sw: /* @__PURE__ */ new Set([\"ya\"]),\n  vi: /* @__PURE__ */ new Set([\"c\\u1EE7a\"]),\n  zh: /* @__PURE__ */ new Set([\"\\u7684\"]),\n  // The i18n transformer keeps the en of-form order (property first) in every\n  // language and only swaps the connector word, so the genitive particles /\n  // of-prepositions below are safe to read property-first here. Several of\n  // them normalize to OTHER senses (it `di`→tell, pl `z`/uk `з`→style,\n  // qu `pa`/tr `nin`→destination), which is why the normalized-form check in\n  // isOfPossessiveMarker can't catch them. ru `из` needs no entry (normalizes\n  // to `source`, already accepted). Without these, `set the *--primary-color\n  // of #theme to …` captured a bare selector as the destination and dropped\n  // the owner (SVO) or skipped ahead past the property entirely (SOV).\n  it: /* @__PURE__ */ new Set([\"di\"]),\n  pl: /* @__PURE__ */ new Set([\"z\"]),\n  uk: /* @__PURE__ */ new Set([\"\\u0437\"]),\n  th: /* @__PURE__ */ new Set([\"\\u0E02\\u0E2D\\u0E07\"]),\n  ja: /* @__PURE__ */ new Set([\"\\u306E\"]),\n  ko: /* @__PURE__ */ new Set([\"\\uC758\"]),\n  bn: /* @__PURE__ */ new Set([\"\\u09B0\"]),\n  hi: /* @__PURE__ */ new Set([\"\\u0915\\u093E\"]),\n  qu: /* @__PURE__ */ new Set([\"pa\"]),\n  tr: /* @__PURE__ */ new Set([\"nin\"])\n};\n/**\n * Binary operators that can join operands in an operator-run expression.\n * `*` tokenizes as a SELECTOR (the style-prefix char) but is only read as an\n * operator here when it sits BETWEEN two operands, so a bare `*opacity`\n * style selector (one fused token) is never affected.\n */\n_PatternMatcher.RUN_OPERATORS = /* @__PURE__ */ new Set([\"+\", \"-\", \"*\", \"/\"]);\n/**\n * Fold a depth-balanced `{ … }` token run into ONE literal value (see the\n * call site in matchRoleToken). The tokenizers emit `{`, `}`, `:`, `;`, `$`\n * as bare identifier tokens, so a CSS style-object argument is otherwise\n * unmatchable by a single-token role. Depth tracking covers the nested\n * `${expr}` template braces. Returns null (with the stream reset) when the\n * run never closes or exceeds the token cap.\n */\n_PatternMatcher.MAX_BRACE_RUN_TOKENS = 64;\n// ==========================================================================\n// Depth Limits for Expression Parsing (security hardening)\n// ==========================================================================\n/** Maximum depth for nested property access (e.g., a.b.c.d...) */\n_PatternMatcher.MAX_PROPERTY_DEPTH = 10;\n/** Maximum number of arguments in method calls */\n_PatternMatcher.MAX_METHOD_ARGS = 20;\n/**\n * Commands whose primary argument is a DECLARATION signature `name(params)`, not\n * a call expression — the bare-call fold must not consume the `(params)` for\n * these (see the fold call site in matchRoleToken).\n */\n_PatternMatcher.DECLARATION_COMMANDS = /* @__PURE__ */ new Set([\"behavior\", \"def\", \"install\"]);\n// Confidence scoring delegated to ConfidenceModel (Phase 3.3)\n// See confidence-model.ts for DefaultConfidenceModel implementation\n// ===========================================================================\n// English Idiom Support - Noise Word Handling\n// ===========================================================================\n/**\n * Noise words that can be skipped in English for more natural syntax.\n * - \"the\" before selectors: \"toggle the .active\" → \"toggle .active\"\n * - \"the\" before identifiers: \"set the color to red\" → \"set color to red\"\n * - \"class\" after class selectors: \"add the .visible class\" → \"add .visible\"\n */\n_PatternMatcher.ENGLISH_NOISE_WORDS = /* @__PURE__ */ new Set([\"the\", \"a\", \"an\"]);\nvar PatternMatcher = _PatternMatcher;\nvar patternMatcher = new PatternMatcher();\nfunction matchPattern(tokens, pattern) {\n  return patternMatcher.matchPattern(tokens, pattern);\n}\nfunction matchBest(tokens, patterns) {\n  return patternMatcher.matchBest(tokens, patterns);\n}\n\n// src/tokenizers/index.ts\ninit_registry();\ninit_english2();\ninit_japanese2();\ninit_korean2();\ninit_arabic2();\ninit_spanish2();\ninit_turkish2();\ninit_chinese2();\ninit_base();\nfunction getTokenizer2(language) {\n  return tryGetTokenizer(language);\n}\nfunction tokenize3(input, language) {\n  return tokenize2(input, language);\n}\nfunction getSupportedLanguages() {\n  return getRegisteredLanguages();\n}\nfunction isLanguageSupported(language) {\n  return isLanguageRegistered(language);\n}\nfunction registerTokenizer2(tokenizer) {\n  registerTokenizer(tokenizer);\n}\n\n// src/parser/semantic-parser.ts\ninit_registry();\ninit_command_schemas();\n\n// src/parser/block-parser.ts\ninit_registry();\nvar OPENER_ACTIONS = [\"if\", \"unless\", \"repeat\", \"for\", \"while\"];\nfunction keywordForms(language, action) {\n  const set = /* @__PURE__ */ new Set([action]);\n  const profile = tryGetProfile(language);\n  const entry = profile?.keywords?.[action];\n  if (entry) {\n    if (entry.primary) set.add(entry.primary.toLowerCase());\n    for (const alt of entry.alternatives ?? []) set.add(alt.toLowerCase());\n  }\n  return set;\n}\nfunction tokenMatches(tok, forms) {\n  if (forms.has(tok.value.toLowerCase())) return true;\n  return tok.normalized ? forms.has(tok.normalized.toLowerCase()) : false;\n}\nvar OPENER_NORMS = new Set(OPENER_ACTIONS);\nfunction isBlockOpener(tok, openerSets) {\n  const norm = tok.normalized?.toLowerCase();\n  if (norm) return OPENER_NORMS.has(norm);\n  return openerSets.some((s) => tokenMatches(tok, s));\n}\nvar TARGET_REFERENCES = /* @__PURE__ */ new Set([\n  \"me\",\n  \"it\",\n  \"you\",\n  \"the\",\n  \"body\",\n  \"window\",\n  \"document\",\n  \"its\",\n  \"event\",\n  \"result\",\n  \"target\",\n  \"self\",\n  \"this\",\n  \"them\",\n  \"parent\",\n  \"next\",\n  \"previous\",\n  \"closest\",\n  \"first\",\n  \"last\"\n]);\nvar ROLE_CONCEPTS = /* @__PURE__ */ new Set([\"destination\", \"source\", \"style\", \"patient\", \"on\", \"from\", \"to\"]);\nfunction looksLikeEvent(tok) {\n  if (!tok) return false;\n  if (tok.kind === \"selector\") return false;\n  const norm = (tok.normalized ?? tok.value).toLowerCase();\n  const val = tok.value.toLowerCase();\n  if (TARGET_REFERENCES.has(norm) || TARGET_REFERENCES.has(val)) return false;\n  if (ROLE_CONCEPTS.has(norm)) return false;\n  return true;\n}\nvar TRIGGER_SIGNATURE_LANGS = /* @__PURE__ */ new Set([\"ja\", \"ko\"]);\nfunction markerSurfaceForms(spec) {\n  const set = /* @__PURE__ */ new Set();\n  if (spec?.primary) set.add(spec.primary.toLowerCase());\n  for (const alt of spec?.alternatives ?? []) set.add(alt.toLowerCase());\n  return set;\n}\nfunction parseHeader(input, nameToken) {\n  const parameters = [];\n  let headerEnd = nameToken.position.end;\n  const paren = input.slice(nameToken.position.end).match(/^\\s*\\(([^)]*)\\)/);\n  if (paren) {\n    headerEnd = nameToken.position.end + paren[0].length;\n    for (const raw of paren[1].split(/[,،、]/)) {\n      const p = raw.trim();\n      if (p) parameters.push(p);\n    }\n  }\n  return { parameters, headerEnd };\n}\nfunction resolveNameTokenIndex(tokens, keywordIdx, language) {\n  let idx = keywordIdx + 1;\n  if (idx >= tokens.length) return -1;\n  const patientForms = markerSurfaceForms(tryGetProfile(language)?.roleMarkers?.patient);\n  if (patientForms.size > 0 && tokenMatches(tokens[idx], patientForms)) {\n    idx++;\n  }\n  return idx < tokens.length ? idx : -1;\n}\nfunction tryParseBlock(input, language, parsers) {\n  if (!tryGetProfile(language)) return null;\n  const behaviorForms = keywordForms(language, \"behavior\");\n  const defForms = keywordForms(language, \"def\");\n  const lower = input.toLowerCase();\n  const mightBehavior = [...behaviorForms].some((f) => lower.includes(f));\n  const mightDef = /\\bdef\\b/.test(lower) || [...defForms].some((f) => f !== \"def\" && lower.includes(f));\n  if (!mightBehavior && !mightDef) return null;\n  const tokens = tokenize3(input, language).tokens;\n  if (tokens.length < 2) return null;\n  if (tokenMatches(tokens[0], behaviorForms)) {\n    return parseBehaviorBlock(input, language, tokens, parsers, 0);\n  }\n  const sovKeywordIdx = tokens.findIndex((t, i) => i > 0 && tokenMatches(t, behaviorForms));\n  if (sovKeywordIdx > 0 && /^[A-Z][A-Za-z0-9_]*$/.test(tokens[0].value)) {\n    return parseBehaviorBlock(input, language, tokens, parsers, sovKeywordIdx);\n  }\n  if (tokenMatches(tokens[0], defForms)) {\n    return parseDefBlock(input, language, tokens, parsers);\n  }\n  return null;\n}\nfunction tryParseProgram(input, language, parsers) {\n  const profile = tryGetProfile(language);\n  if (!profile) return null;\n  const triggerSplit = profile.wordOrder !== \"SOV\";\n  const eventMarkerForms = TRIGGER_SIGNATURE_LANGS.has(language) ? markerSurfaceForms(profile.roleMarkers?.event) : /* @__PURE__ */ new Set();\n  const onMarkerForms = TRIGGER_SIGNATURE_LANGS.has(language) ? markerSurfaceForms(profile.keywords?.on) : /* @__PURE__ */ new Set();\n  const signatureSplit = eventMarkerForms.size > 0 && onMarkerForms.size > 0;\n  const endForms = keywordForms(language, \"end\");\n  const onForms = keywordForms(language, \"on\");\n  const lower = input.toLowerCase();\n  const hasEnd = [...endForms].some((f) => lower.includes(f));\n  const hasMultiTrigger = (triggerSplit || signatureSplit) && (() => {\n    let hits = 0;\n    for (const f of onForms) {\n      if (!f) continue;\n      for (let i = lower.indexOf(f); i >= 0; i = lower.indexOf(f, i + f.length)) {\n        if (++hits >= 2) return true;\n      }\n    }\n    return false;\n  })();\n  if (!hasEnd && !hasMultiTrigger) return null;\n  const tokens = tokenize3(input, language).tokens;\n  if (tokens.length < 2) return null;\n  const openerSets = OPENER_ACTIONS.map((a) => keywordForms(language, a));\n  const isOpener = (tok) => isBlockOpener(tok, openerSets);\n  const isEnd = (tok) => tokenMatches(tok, endForms);\n  const segments = [];\n  let depth = 0;\n  let segStart = 0;\n  for (let j = 0; j < tokens.length; j++) {\n    const tok = tokens[j];\n    if (isEnd(tok)) {\n      if (depth > 0) {\n        depth--;\n        continue;\n      }\n      const text = input.slice(tokens[segStart].position.start, tok.position.start).trim();\n      if (text) segments.push(text);\n      segStart = j + 1;\n    } else if (isOpener(tok)) {\n      depth++;\n    } else if (triggerSplit && depth === 0 && j > segStart && tokenMatches(tok, onForms) && looksLikeEvent(tokens[j + 1])) {\n      const text = input.slice(tokens[segStart].position.start, tok.position.start).trim();\n      if (text) segments.push(text);\n      segStart = j;\n    } else if (signatureSplit && depth === 0 && j - 1 > segStart && tokenMatches(tok, eventMarkerForms) && tokens[j + 1] !== void 0 && tokenMatches(tokens[j + 1], onMarkerForms)) {\n      const eventTok = tokens[j - 1];\n      const text = input.slice(tokens[segStart].position.start, eventTok.position.start).trim();\n      if (text) segments.push(text);\n      segStart = j - 1;\n    }\n  }\n  if (segStart < tokens.length) {\n    const text = input.slice(tokens[segStart].position.start).trim();\n    if (text) segments.push(text);\n  }\n  if (segments.length < 2) return null;\n  const handlers = [];\n  const confidences = [];\n  for (const seg of segments) {\n    let parsed;\n    try {\n      parsed = parsers.statement(seg, language);\n    } catch {\n      return null;\n    }\n    if (!parsed || parsed.kind !== \"event-handler\") return null;\n    const handler = parsed;\n    handlers.push(handler);\n    const bodyEmpty = !handler.body || handler.body.length === 0;\n    confidences.push(bodyEmpty ? 0.2 : handler.metadata?.confidence ?? 0.75);\n  }\n  return createCompoundNode(handlers, \"then\", {\n    sourceLanguage: language,\n    confidence: meanConfidence(confidences),\n    sourceText: input\n  });\n}\nfunction meanConfidence(confidences) {\n  return confidences.length > 0 ? confidences.reduce((a, b) => a + b, 0) / confidences.length : 0;\n}\nfunction flattenStatements(stmts) {\n  const out = [];\n  for (const s of stmts) {\n    const inner = s.statements;\n    if (s.kind === \"compound\" && Array.isArray(inner)) out.push(...inner);\n    else out.push(s);\n  }\n  return out;\n}\nfunction parseBehaviorBlock(input, language, tokens, parsers, keywordIdx) {\n  const sovFinal = keywordIdx > 0;\n  const nameIdx = sovFinal ? 0 : resolveNameTokenIndex(tokens, keywordIdx, language);\n  if (nameIdx < 0) return null;\n  const nameToken = tokens[nameIdx];\n  const name = nameToken.value;\n  if (!/^[A-Z][A-Za-z0-9_]*$/.test(name)) return null;\n  const { parameters, headerEnd } = parseHeader(input, nameToken);\n  let bodyStart = sovFinal ? keywordIdx + 1 : tokens.findIndex((t) => t.position.start >= headerEnd);\n  if (bodyStart <= nameIdx) bodyStart = nameIdx + 1;\n  const initForms = keywordForms(language, \"init\");\n  const endForms = keywordForms(language, \"end\");\n  const openerSets = OPENER_ACTIONS.map((a) => keywordForms(language, a));\n  const isOpener = (tok) => isBlockOpener(tok, openerSets);\n  const isEnd = (tok) => tokenMatches(tok, endForms);\n  const eventHandlers = [];\n  const initCommands = [];\n  const confidences = [];\n  let sawClosingEnd = false;\n  let depth = 0;\n  let segStart = bodyStart;\n  for (let j = bodyStart; j < tokens.length; j++) {\n    const tok = tokens[j];\n    if (isEnd(tok)) {\n      if (depth > 0) {\n        depth--;\n        continue;\n      }\n      if (j === segStart) {\n        sawClosingEnd = true;\n        break;\n      }\n      if (tokenMatches(tokens[segStart], initForms)) {\n        const initText = input.slice(tokens[segStart].position.end, tok.position.start).trim();\n        if (initText) {\n          try {\n            const stmts = flattenStatements(parsers.body(initText, language));\n            initCommands.push(...stmts);\n            confidences.push(meanConfidence(stmts.map((s) => s.metadata?.confidence ?? 0.75)));\n          } catch {\n            confidences.push(0);\n          }\n        }\n      } else {\n        const handlerText = input.slice(tokens[segStart].position.start, tok.position.start).trim();\n        try {\n          const parsed = parsers.statement(handlerText, language);\n          if (parsed && parsed.kind === \"event-handler\") {\n            const handler = parsed;\n            eventHandlers.push(handler);\n            const bodyEmpty = !handler.body || handler.body.length === 0;\n            confidences.push(bodyEmpty ? 0.2 : handler.metadata?.confidence ?? 0.75);\n          } else {\n            confidences.push(0);\n          }\n        } catch {\n          confidences.push(0);\n        }\n      }\n      segStart = j + 1;\n    } else if (isOpener(tok)) {\n      depth++;\n    }\n  }\n  if (eventHandlers.length === 0 && initCommands.length === 0) return null;\n  const confidence = (sawClosingEnd ? 1 : 0.8) * meanConfidence(confidences);\n  return createBehaviorNode(\n    name,\n    parameters,\n    eventHandlers,\n    initCommands.length > 0 ? initCommands : void 0,\n    { sourceLanguage: language, confidence, sourceText: input }\n  );\n}\nfunction parseDefBlock(input, language, tokens, parsers) {\n  const nameIdx = resolveNameTokenIndex(tokens, 0, language);\n  if (nameIdx < 0) return null;\n  const nameToken = tokens[nameIdx];\n  const name = nameToken.value;\n  if (!/^[a-zA-Z_$][\\w$]*(?:\\.[a-zA-Z_$][\\w$]*)*$/.test(name)) return null;\n  const { parameters, headerEnd } = parseHeader(input, nameToken);\n  let bodyStart = tokens.findIndex((t) => t.position.start >= headerEnd);\n  if (bodyStart <= nameIdx) bodyStart = nameIdx + 1;\n  const endForms = keywordForms(language, \"end\");\n  const openerSets = OPENER_ACTIONS.map((a) => keywordForms(language, a));\n  const isOpener = (tok) => isBlockOpener(tok, openerSets);\n  const isEnd = (tok) => tokenMatches(tok, endForms);\n  let depth = 0;\n  let endIdx = -1;\n  for (let j = bodyStart; j < tokens.length; j++) {\n    if (isEnd(tokens[j])) {\n      if (depth === 0) {\n        endIdx = j;\n        break;\n      }\n      depth--;\n    } else if (isOpener(tokens[j])) {\n      depth++;\n    }\n  }\n  const bodyStartPos = tokens[bodyStart]?.position.start ?? headerEnd;\n  const bodyEndPos = endIdx >= 0 ? tokens[endIdx].position.start : input.length;\n  const bodyText = input.slice(bodyStartPos, bodyEndPos).trim();\n  if (!bodyText) return null;\n  let body;\n  try {\n    body = flattenStatements(parsers.body(bodyText, language));\n  } catch {\n    return null;\n  }\n  if (body.length === 0) return null;\n  let confidence = meanConfidence(body.map((s) => s.metadata?.confidence ?? 0.75));\n  if (endIdx < 0) confidence *= 0.8;\n  return createDefNode(name, parameters, body, {\n    sourceLanguage: language,\n    confidence,\n    sourceText: input\n  });\n}\n\n// src/parser/semantic-parser.ts\ninit_event_handler();\ninit_put();\n\n// src/explicit/renderer.ts\ninit_registry();\ninit_event_handler();\nimport { renderExplicit as renderExplicitBase } from \"@lokascript/framework\";\nvar SemanticRendererImpl = class {\n  /**\n   * Render a semantic node in the specified language.\n   */\n  render(node, language) {\n    if (node.kind === \"compound\") {\n      return this.renderCompound(node, language);\n    }\n    if (node.kind === \"behavior\") {\n      return this.renderBehavior(node, language);\n    }\n    if (node.kind === \"def\") {\n      return this.renderDef(node, language);\n    }\n    const patterns = getPatternsForLanguageAndCommand(language, node.action);\n    if (patterns.length === 0) {\n      return this.renderExplicit(node);\n    }\n    const bestPattern = this.findBestPattern(node, patterns);\n    if (!bestPattern) {\n      return this.renderExplicit(node);\n    }\n    return this.renderWithPattern(node, bestPattern);\n  }\n  /**\n   * Render a compound node (multiple statements chained with then/and).\n   */\n  renderCompound(node, language) {\n    if (node.statements.length > 1 && node.statements.every((s) => s.kind === \"event-handler\")) {\n      const endKw = this.keyword(language, \"end\");\n      const lines = [];\n      for (const handler of node.statements) {\n        lines.push(this.render(handler, language), endKw);\n      }\n      return lines.join(\"\\n\");\n    }\n    const renderedStatements = node.statements.map((stmt) => this.render(stmt, language));\n    const chainWord = this.getChainWord(node.chainType, language);\n    return renderedStatements.join(` ${chainWord} `);\n  }\n  /**\n   * Resolve a structural keyword (`behavior`/`def`/`init`/`end`) in the target\n   * language, falling back to the English form when the profile has no translation.\n   */\n  keyword(language, action) {\n    return tryGetProfile(language)?.keywords?.[action]?.primary ?? action;\n  }\n  /** `Name` or `Name(p1, p2)` — the parameter list renders verbatim (identifiers). */\n  renderBlockHeader(keyword, name, parameters) {\n    return parameters.length > 0 ? `${keyword} ${name}(${parameters.join(\", \")})` : `${keyword} ${name}`;\n  }\n  /**\n   * Render a behavior block to target-language source:\n   * `<behavior> Name(params)` + each handler (closed by `end`) + optional `init`\n   * block + closing `end`. Handlers/commands render through the normal paths.\n   */\n  renderBehavior(node, language) {\n    const endKw = this.keyword(language, \"end\");\n    const lines = [\n      this.renderBlockHeader(this.keyword(language, \"behavior\"), node.name, node.parameters)\n    ];\n    for (const handler of node.eventHandlers) {\n      lines.push(`  ${this.render(handler, language)}`, `  ${endKw}`);\n    }\n    if (node.initBlock && node.initBlock.length > 0) {\n      lines.push(`  ${this.keyword(language, \"init\")}`);\n      for (const cmd of node.initBlock) lines.push(`    ${this.render(cmd, language)}`);\n      lines.push(`  ${endKw}`);\n    }\n    lines.push(endKw);\n    return lines.join(\"\\n\");\n  }\n  /**\n   * Render a function definition to target-language source:\n   * `<def> name(params)` + body commands + closing `end`.\n   */\n  renderDef(node, language) {\n    const lines = [\n      this.renderBlockHeader(this.keyword(language, \"def\"), node.name, node.parameters)\n    ];\n    for (const cmd of node.body) lines.push(`  ${this.render(cmd, language)}`);\n    lines.push(this.keyword(language, \"end\"));\n    return lines.join(\"\\n\");\n  }\n  /**\n   * Get the translated chain word for the given language.\n   */\n  getChainWord(chainType, language) {\n    const profile = tryGetProfile(language);\n    if (!profile?.keywords) {\n      return chainType;\n    }\n    const keyword = profile.keywords[chainType];\n    return keyword?.primary ?? chainType;\n  }\n  /**\n   * Render a semantic node in explicit mode.\n   * Delegates to @lokascript/framework/ir for the core logic.\n   */\n  renderExplicit(node) {\n    return renderExplicitBase(node);\n  }\n  /**\n   * Get all supported languages.\n   */\n  supportedLanguages() {\n    return getSupportedLanguages();\n  }\n  /**\n   * Find the best pattern for rendering a semantic node.\n   *\n   * For rendering, we prefer \"standard\" patterns (e.g., \"on click\") over\n   * native idiom patterns (e.g., \"when clicked\") because standard patterns\n   * are more recognizable and closer to the original hyperscript syntax.\n   */\n  findBestPattern(node, patterns) {\n    let candidates = patterns;\n    if (node.kind === \"event-handler\") {\n      const triggers = patterns.filter((pattern) => !/-event-/i.test(pattern.id));\n      if (triggers.length > 0) candidates = triggers;\n    }\n    const scored = candidates.map((pattern) => {\n      let score = pattern.priority;\n      for (const token of pattern.template.tokens) {\n        if (token.type === \"role\") {\n          if (node.roles.has(token.role)) {\n            score += 10;\n          } else if (!token.optional) {\n            score -= 50;\n          }\n        }\n      }\n      if (/-at-end|-at-start|-before$|-after$/i.test(pattern.id)) {\n        score -= 30;\n      }\n      if (pattern.language === \"en\") {\n        if (pattern.id.includes(\"standard\") || pattern.id.includes(\"en-source\")) {\n          score += 20;\n        }\n        if (pattern.id.includes(\"-when\") || pattern.id.includes(\"-if\") || pattern.id.includes(\"-upon\")) {\n          score -= 15;\n        }\n      }\n      return { pattern, score };\n    });\n    scored.sort((a, b) => b.score - a.score);\n    return scored.length > 0 ? scored[0].pattern : null;\n  }\n  /**\n   * Render a semantic node using a specific pattern.\n   */\n  renderWithPattern(node, pattern) {\n    const parts = [];\n    const language = pattern.language;\n    for (const token of pattern.template.tokens) {\n      const rendered = this.renderPatternToken(token, node, language);\n      if (rendered !== null) {\n        parts.push(rendered);\n      }\n    }\n    if (node.kind === \"event-handler\") {\n      const eventNode = node;\n      if (eventNode.body && eventNode.body.length > 0) {\n        const bodyParts = eventNode.body.map((n) => this.render(n, language));\n        parts.push(bodyParts.join(\" \"));\n      }\n    }\n    return parts.join(\" \");\n  }\n  /**\n   * Render a single pattern token.\n   */\n  renderPatternToken(token, node, language) {\n    switch (token.type) {\n      case \"literal\":\n        return token.value;\n      case \"role\": {\n        const value = node.roles.get(token.role);\n        if (!value) {\n          if (token.optional) return null;\n          return null;\n        }\n        if (token.role === \"event\" && node.kind === \"event-handler\") {\n          return this.renderEventName(value, language);\n        }\n        return this.valueToNaturalString(value, language);\n      }\n      case \"group\": {\n        const hasRequired = token.tokens.filter((t) => t.type === \"role\" && !t.optional).every((t) => node.roles.has(t.role));\n        if (!hasRequired && token.optional) {\n          return null;\n        }\n        if (token.optional) {\n          const destToken = token.tokens.find(\n            (t) => t.type === \"role\" && t.role === \"destination\"\n          );\n          if (destToken) {\n            const destValue = node.roles.get(\"destination\");\n            if (destValue?.type === \"reference\" && destValue.value === \"me\") {\n              return null;\n            }\n          }\n        }\n        if (token.optional) {\n          const qtyToken = token.tokens.find(\n            (t) => t.type === \"role\" && t.role === \"quantity\"\n          );\n          if (qtyToken) {\n            const qtyValue = node.roles.get(\"quantity\");\n            if (qtyValue?.type === \"literal\" && Number(qtyValue.value) === 1) {\n              return null;\n            }\n          }\n        }\n        const groupParts = [];\n        let hasRoleValue = false;\n        for (const subToken of token.tokens) {\n          const rendered = this.renderPatternToken(subToken, node, language);\n          if (rendered !== null) {\n            groupParts.push(rendered);\n            if (subToken.type === \"role\") hasRoleValue = true;\n          }\n        }\n        if (token.optional && !hasRoleValue) return null;\n        return groupParts.length > 0 ? groupParts.join(\" \") : null;\n      }\n      default:\n        return null;\n    }\n  }\n  /**\n   * Render an event-handler's event name in the target language (Phase 1b).\n   *\n   * Only a known DOM event name arrives as a `literal`; namespaced (`htmx:load`)\n   * and unknown/custom events arrive as `expression` and pass through unchanged.\n   * Compound triggers (`click or keydown`) are one combined literal — localize\n   * each sub-name and keep the English ` or ` connector (a native connector adds\n   * no round-trip benefit, and ja/zh/ko cannot re-parse compound triggers either\n   * way — a documented pre-existing limitation).\n   */\n  renderEventName(value, language) {\n    if (value.type !== \"literal\" || typeof value.value !== \"string\") {\n      return this.valueToNaturalString(value, language);\n    }\n    const raw = value.value;\n    const localizeOne = (name) => name.includes(\":\") ? name : localizeEventName(name, language);\n    if (raw.includes(\" or \")) {\n      return raw.split(\" or \").map((part) => localizeOne(part.trim())).join(\" or \");\n    }\n    return localizeOne(raw);\n  }\n  /**\n   * Convert a semantic value to natural language string.\n   * Uses language-specific possessive rendering when language is provided.\n   */\n  valueToNaturalString(value, language = \"en\") {\n    switch (value.type) {\n      case \"literal\":\n        if (typeof value.value === \"string\" && value.dataType === \"string\") {\n          return `\"${value.value}\"`;\n        }\n        return String(value.value);\n      case \"selector\":\n        return value.value;\n      case \"reference\":\n        return this.renderReference(value, language);\n      case \"property-path\":\n        return this.renderPropertyPath(value, language);\n      case \"expression\":\n        return value.raw;\n      case \"flag\":\n        return value.name;\n    }\n  }\n  /**\n   * Render a reference value in the target language.\n   */\n  renderReference(value, language) {\n    const profile = tryGetProfile(language);\n    if (!profile?.references) {\n      return value.value;\n    }\n    return profile.references[value.value] ?? value.value;\n  }\n  /**\n   * Render a property-path value (possessive expression) in the target language.\n   *\n   * Examples by language:\n   * - English: \"my value\", \"its opacity\", \"#el's value\"\n   * - Japanese: \"自分の value\", \"それの opacity\"\n   * - Korean: \"내 value\", \"그것의 opacity\"\n   * - Spanish: \"mi value\", \"su opacity\"\n   * - Chinese: \"我的 value\", \"它的 opacity\"\n   */\n  renderPropertyPath(value, language) {\n    const profile = tryGetProfile(language);\n    const property = value.property;\n    const objectRef = value.object.type === \"reference\" ? value.object.value : null;\n    if (profile?.possessive?.specialForms && objectRef) {\n      const specialForm = profile.possessive.specialForms[objectRef];\n      if (specialForm) {\n        const { markerPosition, usePossessiveAdjectives } = profile.possessive;\n        if (usePossessiveAdjectives && markerPosition === \"after-object\") {\n          return `${property} ${specialForm}`;\n        }\n        return `${specialForm} ${property}`;\n      }\n    }\n    const objectStr = this.valueToNaturalString(value.object, language);\n    if (profile?.possessive) {\n      const { marker, markerPosition, usePossessiveAdjectives } = profile.possessive;\n      if (usePossessiveAdjectives && objectRef) {\n        if (markerPosition === \"after-object\") {\n          return `${property} ${objectStr}`;\n        }\n      }\n      if (marker) {\n        switch (markerPosition) {\n          case \"between\":\n            return profile.usesSpaces ? `${objectStr}${marker} ${property}` : `${objectStr}${marker}${property}`;\n          case \"after-object\":\n            return `${objectStr}${marker} ${property}`;\n          case \"before-property\":\n            return `${objectStr} ${marker} ${property}`;\n        }\n      }\n    }\n    if (language === \"en\" || !profile?.possessive) {\n      if (objectStr === \"me\") {\n        return `my ${property}`;\n      }\n      if (objectStr === \"it\") {\n        return `its ${property}`;\n      }\n      return `${objectStr}'s ${property}`;\n    }\n    return `${objectStr} ${property}`;\n  }\n};\nvar semanticRenderer = new SemanticRendererImpl();\nfunction render(node, language) {\n  return semanticRenderer.render(node, language);\n}\nfunction renderExplicit(node) {\n  return semanticRenderer.renderExplicit(node);\n}\n\n// src/explicit/parser.ts\ninit_command_schemas();\nimport { parseExplicit as parseExplicitBase, isExplicitSyntax } from \"@lokascript/framework\";\nvar hyperscriptSchemaLookup = { getSchema };\nfunction parseExplicit(input) {\n  return parseExplicitBase(input, {\n    schemaLookup: hyperscriptSchemaLookup\n  });\n}\n\n// src/parser/semantic-parser.ts\nvar BLOCK_BODY_ACTIONS = /* @__PURE__ */ new Set([\"if\", \"unless\", \"while\", \"repeat\", \"for\"]);\nvar NON_VALUE_KEYWORDS = /* @__PURE__ */ new Set([\n  \"then\",\n  \"end\",\n  \"else\",\n  \"if\",\n  \"unless\",\n  \"while\",\n  \"for\",\n  \"repeat\",\n  \"and\"\n]);\nvar POSITIONAL_VALUE_KEYWORDS = /* @__PURE__ */ new Set([\n  \"first\",\n  \"last\",\n  \"next\",\n  \"previous\",\n  \"random\",\n  \"closest\"\n]);\nvar WAITABLE_EVENT_WORDS = /* @__PURE__ */ new Set([\n  // handler-side KNOWN_EVENTS\n  \"click\",\n  \"dblclick\",\n  \"input\",\n  \"change\",\n  \"submit\",\n  \"keydown\",\n  \"keyup\",\n  \"keypress\",\n  \"mouseover\",\n  \"mouseout\",\n  \"mousedown\",\n  \"mouseup\",\n  \"focus\",\n  \"blur\",\n  \"load\",\n  \"scroll\",\n  \"resize\",\n  \"contextmenu\",\n  // transition / animation\n  \"transitionend\",\n  \"transitionstart\",\n  \"transitionrun\",\n  \"transitioncancel\",\n  \"animationend\",\n  \"animationstart\",\n  \"animationiteration\",\n  \"animationcancel\",\n  // pointer / touch / mouse movement\n  \"pointerdown\",\n  \"pointerup\",\n  \"pointermove\",\n  \"pointerenter\",\n  \"pointerleave\",\n  \"pointercancel\",\n  \"pointerover\",\n  \"pointerout\",\n  \"touchstart\",\n  \"touchend\",\n  \"touchmove\",\n  \"touchcancel\",\n  \"mousemove\",\n  \"mouseenter\",\n  \"mouseleave\",\n  \"wheel\",\n  // drag & drop\n  \"dragstart\",\n  \"dragend\",\n  \"dragover\",\n  \"dragenter\",\n  \"dragleave\",\n  \"drop\",\n  \"drag\",\n  // lifecycle / misc\n  \"loadend\",\n  \"loadstart\",\n  \"error\",\n  \"abort\",\n  \"close\",\n  \"open\",\n  \"message\",\n  \"popstate\",\n  \"hashchange\",\n  \"storage\",\n  \"online\",\n  \"offline\",\n  \"visibilitychange\"\n]);\nvar SemanticParseError = class extends Error {\n  constructor(message, language, input, diagnostics) {\n    super(message);\n    this.name = \"SemanticParseError\";\n    this.language = language;\n    this.input = input;\n    this.diagnostics = diagnostics;\n  }\n};\nfunction parseDiagnostic(message, severity, code) {\n  return { message, severity, source: \"semantic-parser\", ...code && { code } };\n}\nfunction withDiagnostics(node, diagnostics) {\n  if (diagnostics.length === 0) return node;\n  return { ...node, diagnostics };\n}\nfunction stripQuotes(val) {\n  if (val.length >= 2) {\n    const first = val[0];\n    if ((first === '\"' || first === \"'\") && val.endsWith(first)) {\n      return val.slice(1, -1);\n    }\n  }\n  return val;\n}\nvar NORMALIZE_CHILD_FIELDS = [\n  \"body\",\n  \"statements\",\n  \"thenBranch\",\n  \"elseBranch\",\n  \"eventHandlers\",\n  \"initBlock\"\n];\nfunction normalizeCommandRoles(node, boundIdentifiers) {\n  if (!node || typeof node !== \"object\") return node;\n  if (node.action && node.roles instanceof Map) {\n    const schema = getSchema(node.action);\n    const primary = schema?.primaryRole;\n    if (schema && primary && primary !== \"patient\" && !schema.roles.some((r) => r.role === \"patient\") && node.roles.has(\"patient\") && !node.roles.has(primary)) {\n      const roles = node.roles;\n      const value = roles.get(\"patient\");\n      if (value !== void 0) {\n        roles.delete(\"patient\");\n        roles.set(primary, value);\n      }\n    }\n    if (node.action === \"tell\") {\n      const roles = node.roles;\n      const pat = roles.get(\"patient\");\n      const dest = roles.get(\"destination\");\n      if (pat && (pat.type === \"selector\" || pat.type === \"reference\") && (!dest || dest.type === \"literal\")) {\n        roles.delete(\"patient\");\n        roles.set(\"destination\", pat);\n      }\n    }\n    if (node.action === \"transition\") {\n      const roles = node.roles;\n      const dest = roles.get(\"destination\");\n      if (dest && dest.type === \"literal\" && !roles.has(\"goal\")) {\n        roles.delete(\"destination\");\n        roles.set(\"goal\", dest);\n      }\n      const pat = roles.get(\"patient\");\n      if (pat && pat.type === \"literal\" && typeof pat.value === \"string\" && /^[A-Za-z_][A-Za-z0-9_-]*$/.test(pat.value)) {\n        roles.set(\"patient\", { type: \"expression\", raw: pat.value });\n      }\n    }\n    if (node.action === \"morph\") {\n      const roles = node.roles;\n      const pat = roles.get(\"patient\");\n      if (pat && pat.type === \"literal\" && typeof pat.value === \"string\" && /<[a-zA-Z][^>]*\\/?>/.test(pat.value)) {\n        roles.set(\"patient\", { type: \"expression\", raw: pat.value });\n      }\n    }\n    if (node.action === \"wait\") {\n      const roles = node.roles;\n      if (!roles.has(\"event\")) {\n        const dur = roles.get(\"duration\");\n        const word = dur?.type === \"expression\" ? dur.raw : dur?.type === \"literal\" ? dur.value : void 0;\n        if (typeof word === \"string\" && WAITABLE_EVENT_WORDS.has(word.toLowerCase())) {\n          roles.delete(\"duration\");\n          roles.set(\"event\", { type: \"literal\", value: word, dataType: \"string\" });\n        }\n      }\n    }\n    if (node.kind === \"command\" && node.action !== \"on\") {\n      const roles = node.roles;\n      const ev = roles.get(\"event\");\n      if (ev && ev.type === \"expression\") {\n        const raw = ev.raw;\n        if (typeof raw === \"string\" && /^[A-Za-z_][A-Za-z0-9_-]*(:[A-Za-z0-9_-]+)?$/.test(raw)) {\n          roles.set(\"event\", { type: \"literal\", value: raw, dataType: \"string\" });\n        }\n      }\n    }\n    if (boundIdentifiers?.size) {\n      const roles = node.roles;\n      for (const role of [\"destination\", \"source\"]) {\n        const val = roles.get(role);\n        if (val && val.type === \"literal\" && typeof val.value === \"string\" && boundIdentifiers.has(val.value)) {\n          roles.set(role, { type: \"expression\", raw: val.value });\n        }\n      }\n    }\n  }\n  const rec = node;\n  for (const field of NORMALIZE_CHILD_FIELDS) {\n    const child = rec[field];\n    if (Array.isArray(child)) {\n      for (const c of child) normalizeCommandRoles(c, boundIdentifiers);\n    }\n  }\n  return node;\n}\nfunction fillSchemaDefaults(node) {\n  if (!node || typeof node !== \"object\") return node;\n  if (node.action && node.roles instanceof Map) {\n    const schema = getSchema(node.action);\n    if (schema) {\n      const roles = node.roles;\n      for (const spec of schema.roles) {\n        if (spec.default !== void 0 && !roles.has(spec.role)) {\n          roles.set(spec.role, { ...spec.default });\n        }\n      }\n    }\n  }\n  const rec = node;\n  for (const field of NORMALIZE_CHILD_FIELDS) {\n    const child = rec[field];\n    if (Array.isArray(child)) {\n      for (const c of child) fillSchemaDefaults(c);\n    }\n  }\n  return node;\n}\nvar _SemanticParserImpl = class _SemanticParserImpl {\n  constructor() {\n    /** Re-entrancy depth of {@link parse} — see boundIdentifiers scoping. */\n    this.parseDepth = 0;\n    /**\n     * Identifiers BOUND earlier in the current top-level parse: a loop binding\n     * variable (`repeat for item in .items` — repeat.patient) or a set variable\n     * (`set item to …` — set.destination). The strict trailing-`destination`\n     * reclaim (see {@link tryAttachTrailingRole}) rejects arbitrary bare\n     * identifiers by design, but an identifier the SAME input just bound is a\n     * legitimate destination (`add .processed to item` inside the loop body —\n     * the en reference captures it as destination:expression since the schema\n     * admits expression; without this the SOV trailing `item に` reclaim\n     * defaulted the destination to `me`).\n     */\n    this.boundIdentifiers = /* @__PURE__ */ new Set();\n  }\n  /**\n   * Parse input in the specified language to a semantic node, then apply the R1\n   * role-fidelity normalization (see {@link normalizeCommandRoles}) once on the\n   * assembled tree. Every public + recursive parse path funnels through here, so\n   * the normalization reaches body commands built by any sub-parser.\n   */\n  parse(input, language) {\n    if (this.parseDepth === 0) this.boundIdentifiers.clear();\n    this.parseDepth++;\n    try {\n      return normalizeCommandRoles(this.parseInternal(input, language), this.boundIdentifiers);\n    } finally {\n      this.parseDepth--;\n    }\n  }\n  /** Record identifiers a just-built command binds (repeat/for patient, set destination). */\n  registerBoundIdentifiers(node) {\n    const role = node.action === \"repeat\" || node.action === \"for\" ? \"patient\" : node.action === \"set\" ? \"destination\" : null;\n    if (!role) return;\n    const v = node.roles.get(role);\n    if (v?.type === \"expression\" && typeof v.raw === \"string\" && /^[A-Za-z_]\\w*$/.test(v.raw)) {\n      this.boundIdentifiers.add(v.raw);\n    }\n  }\n  /**\n   * Parse input in the specified language to a semantic node.\n   * Accumulates diagnostics from each fallback stage (Phase 3.4).\n   */\n  parseInternal(input, language) {\n    const blockNode = tryParseBlock(input, language, {\n      statement: (text, lang) => this.parse(text, lang),\n      body: (text, lang) => this.parseStatements(text, lang)\n    });\n    if (blockNode) return blockNode;\n    const programNode = tryParseProgram(input, language, {\n      statement: (text, lang) => this.parse(text, lang),\n      body: (text, lang) => this.parseStatements(text, lang)\n    });\n    if (programNode) return programNode;\n    const { modifiers, remainingInput } = this.extractStandaloneModifiers(input, language);\n    const modInput = remainingInput || input;\n    const asyncStrip = this.stripAsyncModifier(modInput, language);\n    const asyncInput = asyncStrip.remainingInput ?? modInput;\n    const dntStrip = this.stripDoNotThrowModifier(asyncInput, language);\n    const parseInput = dntStrip.remainingInput ?? asyncInput;\n    const diagnostics = [];\n    const tokens = tokenize3(parseInput, language);\n    const patterns = getPatternsForLanguage(language);\n    if (patterns.length === 0) {\n      throw new SemanticParseError(\n        `No patterns available for language: ${language}`,\n        language,\n        parseInput,\n        [\n          parseDiagnostic(\n            `No patterns registered for language '${language}'`,\n            \"error\",\n            \"no-patterns\"\n          )\n        ]\n      );\n    }\n    const sortedPatterns = [...patterns].sort((a, b) => b.priority - a.priority);\n    {\n      const arr = tokens.tokens;\n      if (tryGetProfile(language)?.wordOrder === \"VSO\" && arr.length >= 4 && arr[0]?.normalized === \"source\") {\n        const onIdx = arr.findIndex((t) => t.normalized === \"on\");\n        if (onIdx >= 2 && onIdx + 1 < arr.length) {\n          const fromClause = parseInput.slice(arr[0].position.start, arr[onIdx].position.start).trim();\n          const eventEnd = arr[onIdx + 1].position.end;\n          const reordered = parseInput.slice(arr[onIdx].position.start, eventEnd) + \" \" + fromClause + parseInput.slice(eventEnd);\n          if (reordered !== parseInput) {\n            try {\n              const reparsed = this.parse(reordered, language);\n              if (reparsed && reparsed.kind === \"event-handler\") {\n                const result = modifiers ? this.applyModifiers(reparsed, modifiers) : reparsed;\n                return withDiagnostics(result, diagnostics);\n              }\n            } catch {\n            }\n          }\n        }\n      }\n    }\n    {\n      const arr = tokens.tokens;\n      for (let i = 1; i < arr.length - 1; i++) {\n        const t = arr[i];\n        const surface = t.value;\n        const norm = (t.normalized ?? t.value).toLowerCase();\n        const isOr = norm === \"or\" || _SemanticParserImpl.OR_KEYWORDS.has(surface) || _SemanticParserImpl.OR_KEYWORDS.has(norm);\n        if (!isOr) continue;\n        const evTok = arr[i + 1];\n        const evNorm = (evTok.normalized ?? evTok.value).toLowerCase();\n        if (!_SemanticParserImpl.KNOWN_EVENTS.has(evNorm)) break;\n        let lastIdx = i + 1;\n        const filterTok = arr[i + 2];\n        if (filterTok && filterTok.kind === \"selector\" && filterTok.value.startsWith(\"[\")) {\n          lastIdx = i + 2;\n        }\n        const exciseStart = arr[i].position.start;\n        const exciseEnd = arr[lastIdx].position.end;\n        const reduced = (parseInput.slice(0, exciseStart).trimEnd() + \" \" + parseInput.slice(exciseEnd).trimStart()).trim();\n        if (reduced && reduced !== parseInput) {\n          try {\n            const reparsed = this.parse(reduced, language);\n            if (reparsed && reparsed.kind === \"event-handler\") {\n              reparsed.additionalEvents = [\n                { type: \"literal\", value: evNorm }\n              ];\n              const result = modifiers ? this.applyModifiers(reparsed, modifiers) : reparsed;\n              return withDiagnostics(result, diagnostics);\n            }\n          } catch {\n          }\n        }\n        break;\n      }\n    }\n    const eventPatterns = sortedPatterns.filter((p) => p.command === \"on\");\n    const eventStart = tokens.mark();\n    const eventMatch = patternMatcher.matchBest(tokens, eventPatterns);\n    if (eventMatch) {\n      diagnostics.push(\n        parseDiagnostic(\n          `event pattern matched: ${eventMatch.pattern.id} (confidence: ${eventMatch.confidence.toFixed(2)})`,\n          \"info\",\n          \"pattern-match\"\n        )\n      );\n      let preferCommandStage = false;\n      if (/^event-[a-z]+-bare$/.test(eventMatch.pattern.id)) {\n        const ev = eventMatch.captured.get(\"event\");\n        const evVal = (ev?.raw ?? ev?.value ?? \"\").toString().toLowerCase();\n        const langEvents = eventNameTranslations[language];\n        const evIsKnownEvent = _SemanticParserImpl.KNOWN_EVENTS.has(evVal) || !!langEvents && Object.keys(langEvents).some((n) => n.toLowerCase() === evVal);\n        if (evVal && !evIsKnownEvent) {\n          const sov = this.trySOVEventExtraction(parseInput, language, sortedPatterns);\n          if (sov) {\n            diagnostics.push(\n              parseDiagnostic(\n                `bare-event mis-anchor on \"${evVal}\" rejected; SOV extraction preferred`,\n                \"info\",\n                \"stage-bare-event-guard\"\n              )\n            );\n            const guarded = modifiers ? this.applyModifiers(sov, modifiers) : sov;\n            return withDiagnostics(guarded, diagnostics);\n          }\n          if (ev?.type === \"reference\" || ev?.type === \"expression\") {\n            tokens.reset(eventStart);\n            const commandPatterns2 = sortedPatterns.filter((p) => p.command !== \"on\");\n            const cmdPeek = patternMatcher.matchBest(tokens, commandPatterns2);\n            tokens.reset(eventStart);\n            if (cmdPeek && cmdPeek.pattern.command !== \"on\") {\n              preferCommandStage = true;\n              diagnostics.push(\n                parseDiagnostic(\n                  `bare-event mis-anchor on reference \"${evVal}\" rejected; command ${cmdPeek.pattern.command} preferred`,\n                  \"info\",\n                  \"stage-bare-event-guard\"\n                )\n              );\n            } else {\n              patternMatcher.matchBest(tokens, eventPatterns);\n            }\n          }\n        }\n      }\n      if (!preferCommandStage) {\n        const handler = this.buildEventHandler(eventMatch, tokens, language);\n        const result = modifiers ? this.applyModifiers(handler, modifiers) : handler;\n        return withDiagnostics(result, diagnostics);\n      }\n    }\n    diagnostics.push(\n      parseDiagnostic(\n        `event patterns: ${eventPatterns.length} tried, no match`,\n        \"info\",\n        \"stage-event\"\n      )\n    );\n    const trailingResult = this.tryTrailingEventExtraction(parseInput, language, sortedPatterns);\n    if (trailingResult) {\n      diagnostics.push(\n        parseDiagnostic(\"trailing event extraction succeeded\", \"info\", \"stage-trailing-event\")\n      );\n      const result = modifiers ? this.applyModifiers(trailingResult, modifiers) : trailingResult;\n      return withDiagnostics(result, diagnostics);\n    }\n    const commandPatterns = sortedPatterns.filter((p) => p.command !== \"on\");\n    const commandMatch = patternMatcher.matchBest(tokens, commandPatterns);\n    if (commandMatch) {\n      if (BLOCK_BODY_ACTIONS.has(commandMatch.pattern.command)) {\n        const sovLoop = this.trySOVEventExtraction(parseInput, language, sortedPatterns);\n        if (sovLoop) {\n          diagnostics.push(\n            parseDiagnostic(\n              `SOV event extraction preferred over bare ${commandMatch.pattern.command} command`,\n              \"info\",\n              \"stage-sov-loop\"\n            )\n          );\n          const result = modifiers ? this.applyModifiers(sovLoop, modifiers) : sovLoop;\n          return withDiagnostics(result, diagnostics);\n        }\n        const midLoop = this.tryMidStreamEventExtraction(parseInput, language, sortedPatterns);\n        if (midLoop) {\n          diagnostics.push(\n            parseDiagnostic(\n              `mid-stream event extraction preferred over bare ${commandMatch.pattern.command} command`,\n              \"info\",\n              \"stage-midstream-loop\"\n            )\n          );\n          const result = modifiers ? this.applyModifiers(midLoop, modifiers) : midLoop;\n          return withDiagnostics(result, diagnostics);\n        }\n      } else if (_SemanticParserImpl.KNOWN_EVENTS.has(commandMatch.pattern.command) && this.hasSOVEventMarkerHead(parseInput, language)) {\n        const sovHomonym = this.trySOVEventExtraction(parseInput, language, sortedPatterns);\n        if (sovHomonym) {\n          diagnostics.push(\n            parseDiagnostic(\n              `SOV event extraction preferred over command-homonym event ${commandMatch.pattern.command}`,\n              \"info\",\n              \"stage-sov-homonym\"\n            )\n          );\n          const result = modifiers ? this.applyModifiers(sovHomonym, modifiers) : sovHomonym;\n          return withDiagnostics(result, diagnostics);\n        }\n      } else if (tryGetProfile(language)?.wordOrder === \"VSO\") {\n        const midCmd = this.tryMidStreamEventExtraction(parseInput, language, sortedPatterns);\n        if (midCmd) {\n          diagnostics.push(\n            parseDiagnostic(\n              `mid-stream event extraction preferred over bare ${commandMatch.pattern.command} command`,\n              \"info\",\n              \"stage-midstream-cmd\"\n            )\n          );\n          const result = modifiers ? this.applyModifiers(midCmd, modifiers) : midCmd;\n          return withDiagnostics(result, diagnostics);\n        }\n      }\n      if (commandMatch.consumedTokens < tokens.tokens.length && tryGetProfile(language)?.wordOrder === \"SOV\") {\n        const sovTrailing = this.trySOVEventExtraction(parseInput, language, sortedPatterns);\n        if (sovTrailing) {\n          diagnostics.push(\n            parseDiagnostic(\n              `SOV event extraction preferred over partial ${commandMatch.pattern.command} command (trailing remainder)`,\n              \"info\",\n              \"stage-sov-trailing\"\n            )\n          );\n          const result = modifiers ? this.applyModifiers(sovTrailing, modifiers) : sovTrailing;\n          return withDiagnostics(result, diagnostics);\n        }\n      }\n      diagnostics.push(\n        parseDiagnostic(\n          `command pattern matched: ${commandMatch.pattern.id} (confidence: ${commandMatch.confidence.toFixed(2)})`,\n          \"info\",\n          \"pattern-match\"\n        )\n      );\n      return withDiagnostics(this.buildCommand(commandMatch, language), diagnostics);\n    }\n    diagnostics.push(\n      parseDiagnostic(\n        `command patterns: ${commandPatterns.length} tried, no match`,\n        \"info\",\n        \"stage-command\"\n      )\n    );\n    if (!parseInput.includes(\"\\n\") && tryGetProfile(language)?.wordOrder === \"VSO\") {\n      const midNoCmd = this.tryMidStreamEventExtraction(parseInput, language, sortedPatterns);\n      if (midNoCmd) {\n        diagnostics.push(\n          parseDiagnostic(\n            \"mid-stream event extraction succeeded with no leading command match\",\n            \"info\",\n            \"stage-midstream-nocmd\"\n          )\n        );\n        const result = modifiers ? this.applyModifiers(midNoCmd, modifiers) : midNoCmd;\n        return withDiagnostics(result, diagnostics);\n      }\n    }\n    const sovResult = this.trySOVEventExtraction(parseInput, language, sortedPatterns);\n    if (sovResult) {\n      diagnostics.push(parseDiagnostic(\"SOV event extraction succeeded\", \"info\", \"stage-sov\"));\n      const result = modifiers ? this.applyModifiers(sovResult, modifiers) : sovResult;\n      return withDiagnostics(result, diagnostics);\n    }\n    diagnostics.push(\n      parseDiagnostic(\"SOV event extraction: no event keyword found\", \"info\", \"stage-sov\")\n    );\n    const compoundResult = this.tryCompoundCommandParsing(tokens, commandPatterns, language);\n    if (compoundResult) {\n      diagnostics.push(\n        parseDiagnostic(\"compound command parsing succeeded\", \"info\", \"stage-compound\")\n      );\n      return withDiagnostics(compoundResult, diagnostics);\n    }\n    diagnostics.push(\n      parseDiagnostic(\n        \"compound parsing: no then-keywords or no command matches\",\n        \"info\",\n        \"stage-compound\"\n      )\n    );\n    diagnostics.push(\n      parseDiagnostic(`all parse stages exhausted for \"${parseInput}\"`, \"error\", \"parse-failed\")\n    );\n    throw new SemanticParseError(\n      `Could not parse input in ${language}: ${parseInput}`,\n      language,\n      parseInput,\n      diagnostics\n    );\n  }\n  /**\n   * Parse a multi-command body/sequence into a flat list of statement nodes.\n   * Unlike `parse()` (which returns on the first command match), this routes\n   * through the clause splitter, so `add .a` newline `remove .b`, then-chains, and\n   * nested if-blocks all yield every statement. Used by the structural layer for\n   * `def` bodies and behavior `init` blocks.\n   */\n  parseStatements(input, language) {\n    const tokens = tokenize3(input, language);\n    const commandPatterns = getPatternsForLanguage(language).filter((p) => p.command !== \"on\").sort((a, b) => b.priority - a.priority);\n    return this.parseBodyWithClauses(tokens, commandPatterns, language);\n  }\n  /**\n   * Check if input can be parsed in the specified language.\n   */\n  canParse(input, language) {\n    try {\n      this.parse(input, language);\n      return true;\n    } catch {\n      return false;\n    }\n  }\n  /**\n   * Get all supported languages.\n   */\n  supportedLanguages() {\n    return getSupportedLanguages();\n  }\n  /**\n   * Build a command semantic node from a pattern match.\n   */\n  buildCommand(match, language) {\n    if (!match) {\n      throw new Error(\"No match to build command from\");\n    }\n    const roles = {};\n    for (const [role, value] of match.captured) {\n      roles[role] = value;\n    }\n    const node = createCommandNode2(match.pattern.command, roles, {\n      sourceLanguage: language,\n      patternId: match.pattern.id,\n      confidence: match.confidence\n    });\n    this.registerBoundIdentifiers(node);\n    return node;\n  }\n  /**\n   * Build an event handler semantic node from a pattern match.\n   */\n  buildEventHandler(match, tokens, language) {\n    if (!match) {\n      throw new Error(\"No match to build event handler from\");\n    }\n    const eventValue = match.captured.get(\"event\");\n    if (!eventValue) {\n      throw new Error(\"Event handler pattern matched but no event captured\");\n    }\n    const eventModifiers = patternMatcher.extractEventModifiers(tokens);\n    const additionalEvents = this.extractOrConjunctionEvents(tokens, language);\n    let resolvedEventValue = eventValue;\n    if (additionalEvents.length > 0 && eventValue.type === \"literal\") {\n      const allEvents = [\n        String(eventValue.value),\n        ...additionalEvents.map((e) => String(\"value\" in e ? e.value : \"\"))\n      ];\n      resolvedEventValue = { type: \"literal\", value: allEvents.join(\" or \") };\n    }\n    let body;\n    const actionValue = match.captured.get(\"action\");\n    if (actionValue && actionValue.type === \"literal\" && actionValue.value === \"if\") {\n      const all = tokens.tokens;\n      let ifIdx = -1;\n      for (let k = tokens.position() - 1; k >= 0; k--) {\n        const kTok = all[k];\n        const kv = (kTok.normalized ?? kTok.value).toLowerCase();\n        if (this.isIfKeyword(kv, language)) {\n          ifIdx = k;\n          break;\n        }\n      }\n      if (ifIdx >= 0) {\n        const commandPatterns = getPatternsForLanguage(language).filter((p) => p.command !== \"on\").sort((a, b) => b.priority - a.priority);\n        const bodyStream = new TokenStreamImpl(all.slice(ifIdx), language);\n        const folded = this.parseBodyWithClauses(bodyStream, commandPatterns, language);\n        const foldedConditional = folded.some((n) => n.kind === \"conditional\") || folded.length === 1 && folded[0]?.kind === \"compound\" && folded[0].statements.some((s) => s.kind === \"conditional\");\n        if (foldedConditional) {\n          while (!tokens.isAtEnd()) tokens.advance();\n          return createEventHandler(resolvedEventValue, folded, eventModifiers, {\n            sourceLanguage: language,\n            patternId: match.pattern.id,\n            confidence: match.confidence\n          });\n        }\n      }\n    }\n    if (actionValue && actionValue.type === \"literal\") {\n      const actionName = actionValue.value;\n      const roles = {};\n      for (const [role, value] of match.captured) {\n        if (role !== \"event\" && role !== \"action\" && role !== \"continues\") {\n          roles[role] = value;\n        }\n      }\n      if (actionName === \"repeat\") {\n        const peeked = tokens.peek();\n        const norm = (t) => (t.normalized ?? t.value).toLowerCase();\n        if (peeked && peeked.kind === \"keyword\" && norm(peeked) === \"forever\") {\n          roles.loopType = { type: \"literal\", value: \"forever\" };\n          delete roles.patient;\n          tokens.advance();\n        } else if (peeked && peeked.kind === \"keyword\" && norm(peeked) === \"event\") {\n          tokens.advance();\n          const evTok = tokens.peek();\n          if (evTok) {\n            roles.event = { type: \"literal\", value: norm(evTok) };\n            roles.loopType = { type: \"literal\", value: \"until-event\" };\n            delete roles.patient;\n            while (!tokens.isAtEnd()) {\n              const t = tokens.peek();\n              if (!t || t.kind === \"conjunction\" || t.kind === \"keyword\" && (this.isThenKeyword(t.value, language) || this.isEndKeyword(t.value, language))) {\n                break;\n              }\n              tokens.advance();\n            }\n          }\n        }\n        const leak = roles.patient;\n        if (leak && leak.type === \"reference\" && leak.value === \"me\") {\n          delete roles.patient;\n        }\n      }\n      let commandNode = createCommandNode2(actionName, roles, {\n        sourceLanguage: language,\n        patternId: match.pattern.id,\n        confidence: match.confidence\n      });\n      this.registerBoundIdentifiers(commandNode);\n      if (!BLOCK_BODY_ACTIONS.has(actionName) || actionName === \"repeat\") {\n        const isVerbFirst = match.pattern.id.includes(\"verb-first\");\n        const all = tokens.tokens;\n        const pos2 = tokens.position();\n        const isClauseBoundary = (t) => t.kind === \"conjunction\" || t.kind === \"keyword\" && (this.isThenKeyword(t.value, language) || this.isEndKeyword(t.value, language));\n        let verbIdx = -1;\n        for (let k = pos2 - 1; k >= 0; k--) {\n          const t = all[k];\n          if (isClauseBoundary(t)) break;\n          const tn = (t.normalized ?? t.value).toLowerCase();\n          if (tn === actionName) {\n            verbIdx = k;\n            break;\n          }\n        }\n        if (verbIdx >= 0) {\n          let clauseEnd = pos2;\n          while (clauseEnd < all.length && !isClauseBoundary(all[clauseEnd])) clauseEnd++;\n          const clauseTokens = all.slice(verbIdx, clauseEnd);\n          let reparseTokens = clauseTokens;\n          if (isVerbFirst) {\n            const eventNorm = String(eventValue.value ?? \"\").toLowerCase();\n            const evIdx = clauseTokens.findIndex(\n              (t) => (t.normalized ?? t.value).toLowerCase() === eventNorm\n            );\n            if (evIdx < 0) {\n              reparseTokens = null;\n            } else {\n              const prev = clauseTokens[evIdx - 1];\n              const from = prev && prev.kind === \"keyword\" && prev.normalized?.toLowerCase() === \"on\" ? evIdx - 1 : evIdx;\n              reparseTokens = [...clauseTokens.slice(0, from), ...clauseTokens.slice(evIdx + 1)];\n            }\n          }\n          if (reparseTokens && reparseTokens.length > 1) {\n            const commandPatterns = getPatternsForLanguage(language).filter((p) => p.command !== \"on\").sort((a, b) => b.priority - a.priority);\n            const reparsed = this.parseClause(reparseTokens, commandPatterns, language);\n            const first = reparsed[0];\n            const valType = (v) => v !== null && typeof v === \"object\" && typeof v.type === \"string\" ? v.type : typeof v;\n            const schema = getSchema(actionName);\n            const primary = schema?.primaryRole;\n            const mapRole = (role) => role === \"patient\" && primary && primary !== \"patient\" && !schema?.roles.some((r) => r.role === \"patient\") ? primary : role;\n            const isIgnorableFusedRole = (role, val) => {\n              if (!BLOCK_BODY_ACTIONS.has(actionName) || !schema) return false;\n              const spec = schema.roles.find((r) => r.role === mapRole(role));\n              if (!spec) return true;\n              return spec.expectedTypes.length > 0 && !spec.expectedTypes.includes(valType(val));\n            };\n            const preservesFused = !!first && first.kind === \"command\" && Object.entries(roles).every(([role, val]) => {\n              if (isIgnorableFusedRole(role, val)) return true;\n              const rv = first.roles.get(mapRole(role));\n              return rv !== void 0 && valType(rv) === valType(val);\n            });\n            const reparsePid = first?.metadata?.patternId ?? \"\";\n            const headOnlyOk = !BLOCK_BODY_ACTIONS.has(actionName) || // All four repeat HEAD families are HEAD-ONLY by construction\n            // (they stop before the loop body — see patterns/repeat.ts), so\n            // the swap can never swallow a body command. The body-swallowing\n            // generated repeat matches none of these ids.\n            /^repeat-.*-(times|for-in|while-head|until-head)$/.test(reparsePid);\n            if (reparsed.length === 1 && first && first.kind === \"command\" && first.action === actionName && preservesFused && headOnlyOk && first.roles.size > Object.keys(roles).length) {\n              commandNode = first;\n              while (tokens.position() < clauseEnd) tokens.advance();\n            }\n          }\n        }\n      }\n      if (!BLOCK_BODY_ACTIONS.has(actionName)) {\n        const qNode = commandNode;\n        const hasOptionalQuantity = getSchema(actionName)?.roles.some(\n          (r) => r.role === \"quantity\" && !r.required\n        );\n        if (hasOptionalQuantity && !qNode.roles.has(\"quantity\")) {\n          const trailing = tokens.peek();\n          if (trailing && /^-?\\d+(\\.\\d+)?$/.test(trailing.value)) {\n            commandNode = createCommandNode2(\n              actionName,\n              {\n                ...Object.fromEntries(qNode.roles),\n                quantity: {\n                  type: \"literal\",\n                  value: parseFloat(trailing.value),\n                  dataType: \"number\"\n                }\n              },\n              qNode.metadata\n            );\n            tokens.advance();\n          }\n        }\n        const dNode = commandNode;\n        const hasOptionalDuration = getSchema(actionName)?.roles.some(\n          (r) => r.role === \"duration\" && !r.required\n        );\n        if (hasOptionalDuration && !dNode.roles.has(\"duration\")) {\n          const trailing = tokens.peek();\n          if (trailing && /^\\d+(\\.\\d+)?(ms|s)$/i.test(trailing.value)) {\n            commandNode = createCommandNode2(\n              actionName,\n              {\n                ...Object.fromEntries(dNode.roles),\n                duration: {\n                  type: \"literal\",\n                  value: trailing.value,\n                  dataType: \"string\"\n                }\n              },\n              dNode.metadata\n            );\n            tokens.advance();\n            this.consumeForPostposition(tokens, language);\n          }\n        }\n        const rNode = commandNode;\n        const rSchema = getSchema(actionName);\n        const rSpec = rSchema?.roles.find((r) => r.role === \"responseType\" && !r.required);\n        if (rSpec && !rNode.roles.has(\"responseType\")) {\n          const isResponseWord = (w) => typeof w === \"string\" && _SemanticParserImpl.RESPONSE_TYPE_WORDS.has(w.toLowerCase());\n          const rebuildWithResponseType = (word, dropDestination) => {\n            const roles2 = Object.fromEntries(rNode.roles);\n            if (dropDestination) delete roles2.destination;\n            roles2.responseType = { type: \"expression\", raw: word };\n            commandNode = createCommandNode2(actionName, roles2, rNode.metadata);\n          };\n          const dest = rNode.roles.get(\"destination\");\n          const destSpec = rSchema?.roles.find((r) => r.role === \"destination\");\n          const destWord = dest?.raw ?? dest?.value;\n          if (dest && destSpec && !destSpec.expectedTypes.includes(\n            dest.type\n          ) && isResponseWord(destWord)) {\n            rebuildWithResponseType(destWord, true);\n          } else {\n            const trailing = tokens.peek();\n            if (trailing && isResponseWord(trailing.value)) {\n              rebuildWithResponseType(trailing.value, false);\n              tokens.advance();\n            }\n          }\n        }\n        if (actionName === \"wait\") {\n          const wNode = commandNode;\n          if (!wNode.roles.has(\"event\")) {\n            const trailing = tokens.peek();\n            if (trailing && WAITABLE_EVENT_WORDS.has(trailing.value.toLowerCase())) {\n              const roles2 = Object.fromEntries(wNode.roles);\n              const dur = roles2.duration;\n              if (dur && dur.type !== \"literal\" && dur.type !== \"expression\") {\n                delete roles2.duration;\n              }\n              const pat = roles2.patient;\n              if (pat && pat.type === \"reference\" && pat.value === \"me\") {\n                delete roles2.patient;\n              }\n              roles2.event = {\n                type: \"literal\",\n                value: trailing.value,\n                dataType: \"string\"\n              };\n              commandNode = createCommandNode2(actionName, roles2, wNode.metadata);\n              tokens.advance();\n              this.consumeForPostposition(tokens, language);\n            }\n          }\n        }\n      }\n      const continuesValue = match.captured.get(\"continues\");\n      const hasContinuesMarker = continuesValue?.type === \"literal\" && continuesValue.value === \"then\";\n      const nextToken = tokens.peek();\n      const hasTrailingThenChain = !!nextToken && this.isThenKeyword(nextToken.value, language);\n      const isBlockBodyAction = BLOCK_BODY_ACTIONS.has(actionName);\n      const hasBlockBody = isBlockBodyAction && !!nextToken && !this.isEndKeyword(nextToken.value, language);\n      const hasTrailingBody = !!nextToken && !this.isEndKeyword(nextToken.value, language);\n      if (hasContinuesMarker || hasTrailingThenChain || hasBlockBody || hasTrailingBody) {\n        const commandPatterns = getPatternsForLanguage(language).filter((p) => p.command !== \"on\").sort((a, b) => b.priority - a.priority);\n        const grammarContinuationPatterns = getPatternsForLanguage(language).filter((p) => p.id.startsWith(\"grammar-\") && p.id.includes(\"-continuation\")).sort((a, b) => b.priority - a.priority);\n        const remainingCommands = this.parseBodyWithGrammarPatterns(\n          tokens,\n          commandPatterns,\n          grammarContinuationPatterns,\n          language\n        );\n        if (remainingCommands.length > 0) {\n          body = [commandNode, ...remainingCommands];\n        } else {\n          body = [commandNode];\n        }\n      } else {\n        body = [commandNode];\n      }\n    } else {\n      const commandPatterns = getPatternsForLanguage(language).filter((p) => p.command !== \"on\").sort((a, b) => b.priority - a.priority);\n      body = this.parseBodyWithClauses(tokens, commandPatterns, language);\n    }\n    return createEventHandler(resolvedEventValue, body, eventModifiers, {\n      sourceLanguage: language,\n      patternId: match.pattern.id,\n      confidence: match.confidence\n    });\n  }\n  /**\n   * Parse body with proper clause separation.\n   * Splits the token stream at conjunction boundaries (then/それから/ثم/etc.)\n   * and parses each clause independently.\n   *\n   * This handles multi-clause patterns like:\n   * - \"toggle .active then remove .hidden\"\n   * - \".active を 切り替え それから .hidden を 削除\"\n   * - \"بدل .active ثم احذف .hidden\"\n   *\n   * @param tokens Token stream to parse\n   * @param commandPatterns Command patterns for the language\n   * @param language Language code\n   * @returns Array of semantic nodes (one per clause)\n   */\n  parseBodyWithClauses(tokens, commandPatterns, language) {\n    const clauses = [];\n    const currentClauseTokens = [];\n    let pendingBlockDepth = 0;\n    const pendingOpenerKinds = [];\n    while (!tokens.isAtEnd()) {\n      const current = tokens.peek();\n      if (!current) break;\n      if (currentClauseTokens.length === 0) {\n        const jsNode = this.consumeJsBlock(tokens, language);\n        if (jsNode) {\n          clauses.push(jsNode);\n          continue;\n        }\n        const conditional = this.tryParseConditionalBlock(tokens, commandPatterns, language);\n        if (conditional) {\n          clauses.push(conditional);\n          continue;\n        }\n      }\n      const isConjunction = current.kind === \"conjunction\" || current.kind === \"keyword\" && this.isThenKeyword(current.value, language);\n      const prevClauseToken = currentClauseTokens[currentClauseTokens.length - 1];\n      const followingToken = tokens.peek(1);\n      const isPositionalEndNoun = prevClauseToken?.value.toLowerCase() === \"at\" && followingToken?.value.toLowerCase() === \"of\" || // Per-language `at end of` phrase (zh `在 结束 的`, id `di akhir dari`, …):\n      // the `end` noun tokenizes as a keyword in some languages and would\n      // otherwise chop make-toast's trailing `put it at end of body` clause.\n      isAtEndPositionNoun(language, current.value, prevClauseToken?.value, followingToken?.value);\n      const isEnd = current.kind === \"keyword\" && this.isEndKeyword(current.value, language) && !isPositionalEndNoun;\n      if (isEnd && pendingBlockDepth > 0) {\n        pendingBlockDepth--;\n        pendingOpenerKinds.pop();\n        currentClauseTokens.push(current);\n        tokens.advance();\n        continue;\n      }\n      if (isConjunction && pendingOpenerKinds.includes(\"if\")) {\n        currentClauseTokens.push(current);\n        tokens.advance();\n        continue;\n      }\n      if (isConjunction) {\n        if (currentClauseTokens.length > 0) {\n          const clauseNodes = this.parseClause(currentClauseTokens, commandPatterns, language);\n          clauses.push(...clauseNodes);\n          currentClauseTokens.length = 0;\n          pendingBlockDepth = clauseNodes.filter((n) => {\n            const rec = n;\n            return (rec.action === \"for\" || rec.action === \"repeat\" || rec.action === \"while\") && (!Array.isArray(rec.body) || rec.body.length === 0);\n          }).length;\n          pendingOpenerKinds.length = 0;\n          for (let k = 0; k < pendingBlockDepth; k++) pendingOpenerKinds.push(\"other\");\n        }\n        tokens.advance();\n        continue;\n      }\n      if (isEnd) {\n        tokens.advance();\n        const trailingTokens = [];\n        while (!tokens.isAtEnd()) {\n          const t = tokens.peek();\n          if (!t) break;\n          const tIsBoundary = t.kind === \"conjunction\" || t.kind === \"keyword\" && (this.isThenKeyword(t.value, language) || this.isEndKeyword(t.value, language));\n          if (tIsBoundary) break;\n          trailingTokens.push(t);\n          tokens.advance();\n        }\n        if (trailingTokens.length > 0) {\n          const preNodes = currentClauseTokens.length > 0 ? this.parseClause(currentClauseTokens, commandPatterns, language) : [];\n          if (preNodes.length === 0 && currentClauseTokens.length > 0) {\n            clauses.push(\n              ...this.parseClause(\n                [...currentClauseTokens, ...trailingTokens],\n                commandPatterns,\n                language\n              )\n            );\n          } else {\n            clauses.push(...preNodes);\n            clauses.push(...this.parseClause(trailingTokens, commandPatterns, language));\n          }\n        } else if (currentClauseTokens.length > 0) {\n          const clauseNodes = this.parseClause(currentClauseTokens, commandPatterns, language);\n          clauses.push(...clauseNodes);\n        }\n        currentClauseTokens.length = 0;\n        break;\n      }\n      if (current.kind === \"keyword\") {\n        const cv = (current.normalized ?? current.value).toLowerCase();\n        if (this.isIfKeyword(cv, language) || this.isUnlessKeyword(cv, language) || cv === \"while\" || cv === \"for\" || cv === \"repeat\") {\n          pendingBlockDepth++;\n          pendingOpenerKinds.push(this.isIfKeyword(cv, language) ? \"if\" : \"other\");\n        }\n      }\n      currentClauseTokens.push(current);\n      tokens.advance();\n    }\n    if (currentClauseTokens.length > 0) {\n      const clauseNodes = this.parseClause(currentClauseTokens, commandPatterns, language);\n      clauses.push(...clauseNodes);\n    }\n    this.foldFrontedWhileIntoRepeat(clauses, language);\n    for (let i = clauses.length - 1; i >= 0; i--) {\n      const c = clauses[i];\n      if (c.kind === \"command\" && c.action === \"for\" && (!(c.roles instanceof Map) || c.roles.size === 0) && (!Array.isArray(c.body) || c.body.length === 0)) {\n        clauses.splice(i, 1);\n      }\n    }\n    if (clauses.length > 1) {\n      return [createCompoundNode(clauses, \"then\", { sourceLanguage: language })];\n    }\n    return clauses;\n  }\n  /**\n   * Merge a fronted `while {condition}` clause into the adjacent `repeat` head.\n   *\n   * The SOV reorder fronts a repeat-while's while-phrase BEFORE the event phrase\n   * (hi `जब तक #counter.innerText < 10 को क्लिक पर दोहराएं …`, ko `동안 … 반복 …`),\n   * so the body splits into a standalone `while{condition}` node followed by a\n   * bare `repeat` — while the en reference (cluster D, #567) canonicalizes the\n   * same head as ONE `repeat{loopType:\"while\", condition}` node. The split costs\n   * both recall (repeat.condition/loopType missing) and precision (the standalone\n   * `while` is spurious vs the en reference). Re-associate them, mirroring the\n   * trailing-`unless` guard recovery in parseClause.\n   *\n   * Conservative: fires only when a flat `while` COMMAND node carrying a\n   * condition is immediately followed by a flat `repeat` command that has no\n   * condition of its own and no attached body. A ko/ja/tr `repeat` that grabbed a\n   * junk numeric loopType from the fronted condition's comparison tail\n   * (`loopType:10` from `< 10 를`) is overwritten — the fronted while-phrase IS\n   * the loop head, so `loopType` is `\"while\"` by construction. Loop nodes with\n   * bodies (`kind: 'loop'`) and conditionals never enter the fold.\n   */\n  foldFrontedWhileIntoRepeat(clauses, language) {\n    for (let i = 0; i + 1 < clauses.length; i++) {\n      const whileNode = clauses[i];\n      const repeatNode = clauses[i + 1];\n      if (whileNode.kind !== \"command\" || whileNode.action !== \"while\") continue;\n      if (repeatNode.kind !== \"command\" || repeatNode.action !== \"repeat\") continue;\n      const condition = whileNode.roles.get(\"condition\");\n      if (!condition) continue;\n      if (repeatNode.roles.has(\"condition\")) continue;\n      if (Array.isArray(whileNode.body) || Array.isArray(repeatNode.body)) continue;\n      const roles = new Map(repeatNode.roles);\n      roles.set(\"condition\", condition);\n      roles.set(\"loopType\", { type: \"literal\", value: \"while\", dataType: \"string\" });\n      clauses.splice(i, 2, {\n        ...repeatNode,\n        roles,\n        metadata: {\n          ...repeatNode.metadata,\n          sourceLanguage: language,\n          patternId: `repeat-${language}-fronted-while-fold`,\n          confidence: Math.max(\n            repeatNode.metadata?.confidence ?? 0,\n            whileNode.metadata?.confidence ?? 0\n          )\n        }\n      });\n    }\n  }\n  /**\n   * Parse a single clause (sequence of tokens between conjunctions).\n   * Returns array of semantic nodes parsed from the clause.\n   */\n  parseClause(clauseTokens, commandPatterns, language) {\n    if (clauseTokens.length === 0) {\n      return [];\n    }\n    let trailingGuard = null;\n    let bodyTokens = clauseTokens;\n    const lastTok = clauseTokens[clauseTokens.length - 1];\n    if (lastTok && clauseTokens.length >= 2) {\n      const lv = (lastTok.normalized ?? lastTok.value).toLowerCase();\n      if (this.isUnlessKeyword(lv, language)) {\n        trailingGuard = \"unless\";\n        bodyTokens = clauseTokens.slice(0, -1);\n      }\n    }\n    let presetCondition = null;\n    if (trailingGuard && bodyTokens.length >= 3) {\n      const profile = tryGetProfile(language);\n      const verbLookup = profile ? _SemanticParserImpl.buildVerbLookup(profile) : null;\n      if (verbLookup) {\n        for (let i = 1; i < bodyTokens.length - 1; i++) {\n          const t = bodyTokens[i];\n          const action = verbLookup.get(t.value.toLowerCase()) ?? (t.normalized ? verbLookup.get(t.normalized.toLowerCase()) : void 0);\n          if (action && !_SemanticParserImpl.CONDITION_OPERATORS.has(action)) {\n            presetCondition = bodyTokens.slice(0, i);\n            bodyTokens = bodyTokens.slice(i);\n            break;\n          }\n        }\n      }\n    }\n    const clauseStream = new TokenStreamImpl(bodyTokens, language);\n    const commands = [];\n    let directHits = 0;\n    const skipped = [];\n    let leadingCondition = presetCondition;\n    const flushSkipped = () => {\n      if (skipped.length === 0) return;\n      const run = skipped.slice();\n      skipped.length = 0;\n      if (trailingGuard && commands.length === 0 && leadingCondition === null) {\n        leadingCondition = run;\n        return;\n      }\n      const head = run[0];\n      const headIsValue = head && (head.kind === \"identifier\" || head.kind === \"selector\" || head.kind === \"literal\" || head.kind === \"reference\");\n      if (!headIsValue) return;\n      for (const node of this.parseSOVClauseByVerbAnchoring(run, language)) {\n        const action = node.action;\n        const roles = node.roles;\n        if (action && getSchema(action) && roles instanceof Map && roles.size > 0) {\n          commands.push(node);\n        }\n      }\n    };\n    while (!clauseStream.isAtEnd()) {\n      const startTok = clauseStream.peek();\n      const startIsRepeatKw = !!startTok && startTok.normalized?.toLowerCase() === \"repeat\";\n      const startMark = clauseStream.mark();\n      const commandMatch = patternMatcher.matchBest(clauseStream, commandPatterns);\n      if (startIsRepeatKw && commandMatch && commandMatch.pattern.command !== \"repeat\") {\n        clauseStream.reset(startMark);\n        flushSkipped();\n        commands.push(\n          createCommandNode2(\n            \"repeat\",\n            {},\n            { sourceLanguage: language, confidence: 0.6 }\n          )\n        );\n        directHits++;\n        clauseStream.advance();\n        continue;\n      }\n      if (commandMatch && commandMatch.pattern.command === \"if\") {\n        const afterMatch = clauseStream.mark();\n        const skippedLenBefore = skipped.length;\n        clauseStream.reset(startMark);\n        while (!clauseStream.isAtEnd()) {\n          const h = clauseStream.peek();\n          if (!h || this.isIfKeyword((h.normalized ?? h.value).toLowerCase(), language)) break;\n          skipped.push(h);\n          clauseStream.advance();\n        }\n        const conditional = this.tryParseConditionalBlock(clauseStream, commandPatterns, language);\n        if (conditional) {\n          flushSkipped();\n          commands.push(conditional);\n          directHits++;\n          continue;\n        }\n        skipped.length = skippedLenBefore;\n        clauseStream.reset(afterMatch);\n      }\n      if (commandMatch) {\n        flushSkipped();\n        const cmd = this.buildCommand(commandMatch, language);\n        commands.push(cmd);\n        directHits++;\n        this.tryAttachTrailingRole(clauseStream, cmd, language);\n      } else {\n        const tok = clauseStream.peek();\n        if (tok && tok.normalized?.toLowerCase() === \"repeat\") {\n          flushSkipped();\n          commands.push(\n            createCommandNode2(\n              \"repeat\",\n              {},\n              { sourceLanguage: language, confidence: 0.6 }\n            )\n          );\n          directHits++;\n        } else if (tok) {\n          skipped.push(tok);\n        }\n        clauseStream.advance();\n      }\n    }\n    flushSkipped();\n    let bodyCommands = commands;\n    if (directHits === 0) {\n      const sovCommands = this.parseSOVClauseByVerbAnchoring(bodyTokens, language);\n      if (sovCommands.length > 0) {\n        bodyCommands = sovCommands;\n      }\n    }\n    const cond = leadingCondition;\n    if (trailingGuard && bodyCommands.length > 0 && cond && cond.length > 0) {\n      const guardNode = createCommandNode2(\n        trailingGuard,\n        { condition: { type: \"expression\", raw: this.joinTokenText(cond) } },\n        {\n          sourceLanguage: language,\n          patternId: `${trailingGuard}-${language}-trailing-guard`,\n          confidence: 0.85\n        }\n      );\n      return [guardNode, ...bodyCommands];\n    }\n    return bodyCommands;\n  }\n  /**\n   * Reclaim a trailing post-verb role phrase (`source` or `destination`) that the\n   * per-command pattern left unconsumed. The grammar transformer emits a\n   * command's `from <source>` / `to <destination>` phrase AFTER the verb:\n   *   remove .x from body → `.x を 削除 ボディ から` (modal-close-button)\n   *   add .x to body      → `.x を 追加 ボディ に`   (modal-open)\n   * The per-command pattern ends at the verb, so the trailing `<value> <marker>`\n   * (postpositional, SOV) or `<marker> <value>` (prepositional, SVO th) is skipped\n   * and the role defaults to `me` — the effect lands on the clicked element\n   * instead of the document body. Body-clause twin of the #379 event-wrapper\n   * trailing role groups.\n   *\n   * Conservative by construction: for each of source/destination the command's\n   * schema declares and that is currently absent or the defaulted `me`, fires\n   * only when the very next tokens form a clean marker+value pair in that\n   * marker's position order. So it can neither overwrite a genuinely captured\n   * role (accordion's `remove .open from .accordion-item` keeps its source),\n   * steal a following command's tokens (a trailing `then add …` has no role\n   * marker adjacent), nor touch a positional-phrase destination (`add .open to\n   * closest .accordion-item` — the leading token is the `closest` keyword, which\n   * isValue rejects, so that phrase is left for the positional path).\n   *\n   * The `destination` marker is matched by its PRIMARY surface form only: several\n   * profiles list dangerous destination *alternatives* that belong to other roles\n   * (ko `에서` is the source marker, hi `को` the object marker), so admitting them\n   * would mis-capture a source phrase as a destination. The shipped `source`\n   * reclaim keeps its broader primary+alternatives+normalized match.\n   */\n  tryAttachTrailingRole(stream, command, language) {\n    const schema = getSchema(command.action);\n    if (!schema) return;\n    const profile = tryGetProfile(language);\n    if (!profile) return;\n    const roles = command.roles;\n    const isValue = (t, strict) => {\n      if (!t) return false;\n      if (t.kind === \"selector\") return true;\n      const norm = (t.normalized ?? t.value).toLowerCase();\n      if (NON_VALUE_KEYWORDS.has(norm)) return false;\n      if (norm === \"body\" || norm === \"it\" || norm === \"you\" || norm === \"result\" || norm === \"document\" || norm === \"window\")\n        return true;\n      if (this.boundIdentifiers.has(t.value)) return true;\n      if (strict) return false;\n      return t.kind === \"identifier\" || t.kind === \"reference\";\n    };\n    const trailingRoles = [\n      { role: \"source\", strict: false },\n      { role: \"destination\", strict: true }\n    ];\n    for (const { role, strict } of trailingRoles) {\n      if (!schema.roles.some((r) => r.role === role)) continue;\n      const marker = profile.roleMarkers?.[role];\n      if (!marker) continue;\n      const existing = roles.get(role);\n      if (existing && !(existing.type === \"reference\" && existing.value === \"me\")) continue;\n      const isMarker = (t) => {\n        if (!t || t.kind !== \"particle\" && t.kind !== \"keyword\") return false;\n        const v = t.value.toLowerCase();\n        if (marker.primary?.toLowerCase() === v) return true;\n        if (strict) return false;\n        if ((t.normalized ?? \"\").toLowerCase() === role) return true;\n        return !!marker.alternatives?.some((a) => a.toLowerCase() === v);\n      };\n      const tok0 = stream.peek();\n      const tok1 = stream.peek(1);\n      if (!tok0 || !tok1) return;\n      if (strict && marker.position === \"after\") {\n        const tok2 = stream.peek(2);\n        const pos2 = (tok0.normalized ?? tok0.value).toLowerCase();\n        if (POSITIONAL_VALUE_KEYWORDS.has(pos2) && tok1.kind === \"selector\" && isMarker(tok2)) {\n          roles.set(role, { type: \"expression\", raw: `${pos2} ${tok1.value}` });\n          stream.advance();\n          stream.advance();\n          stream.advance();\n          return;\n        }\n      }\n      if (marker.position === \"after\") {\n        if (isValue(tok0, strict) && isMarker(tok1)) {\n          const v = this.tokenToSemanticValue(tok0);\n          stream.advance();\n          stream.advance();\n          if (v) roles.set(role, v);\n          return;\n        }\n      } else {\n        if (isMarker(tok0) && isValue(tok1, strict)) {\n          stream.advance();\n          const v = this.tokenToSemanticValue(stream.advance());\n          if (v) roles.set(role, v);\n          return;\n        }\n      }\n    }\n  }\n  // ==========================================================================\n  // SOV Verb-Anchored Clause Parsing\n  // ==========================================================================\n  /**\n   * Build a lookup from native verb keywords to action names for a language profile.\n   */\n  static buildVerbLookup(profile) {\n    const lookup = /* @__PURE__ */ new Map();\n    for (const [action, kw] of Object.entries(profile.keywords)) {\n      if ([\"on\", \"if\", \"else\", \"when\", \"where\", \"while\", \"end\", \"then\", \"and\"].includes(action)) {\n        continue;\n      }\n      lookup.set(kw.primary.toLowerCase(), action);\n      if (kw.alternatives) {\n        for (const alt of kw.alternatives) {\n          lookup.set(alt.toLowerCase(), action);\n        }\n      }\n    }\n    return lookup;\n  }\n  /**\n   * Build a lookup from role marker strings to role names.\n   */\n  static buildMarkerToRoleLookup(profile) {\n    const lookup = /* @__PURE__ */ new Map();\n    for (const [role, marker] of Object.entries(profile.roleMarkers)) {\n      if (!marker) continue;\n      const overwrite = role !== \"event\";\n      if (overwrite || !lookup.has(marker.primary)) {\n        lookup.set(marker.primary, role);\n      }\n      if (marker.alternatives) {\n        for (const alt of marker.alternatives) {\n          if (!lookup.has(alt)) {\n            lookup.set(alt, role);\n          }\n        }\n      }\n    }\n    return lookup;\n  }\n  /**\n   * Parse an SOV clause by finding command verbs and extracting roles from surrounding tokens.\n   *\n   * The grammar transformer often produces \"verb-in-middle\" order for two-role commands:\n   *   \"[role1] [marker1] [verb] [role2] [marker2]\"\n   *\n   * This method:\n   * 1. Scans for recognized command verbs in the token stream\n   * 2. For each verb, extracts pre-verb and post-verb tokens as roles\n   * 3. Uses marker tokens to determine which semantic role each value belongs to\n   */\n  parseSOVClauseByVerbAnchoring(clauseTokens, language) {\n    const profile = tryGetProfile(language);\n    if (!profile || profile.wordOrder !== \"SOV\") return [];\n    const verbLookup = _SemanticParserImpl.buildVerbLookup(profile);\n    const markerToRole = _SemanticParserImpl.buildMarkerToRoleLookup(profile);\n    const commands = [];\n    let pos2 = 0;\n    while (pos2 < clauseTokens.length) {\n      let verbIdx = -1;\n      let verbAction = \"\";\n      for (let i = pos2; i < clauseTokens.length; i++) {\n        const token = clauseTokens[i];\n        if (markerToRole.has(token.value)) continue;\n        const byValue = verbLookup.get(token.value.toLowerCase());\n        const byNormalized = token.normalized ? verbLookup.get(token.normalized.toLowerCase()) : void 0;\n        const action = byValue || byNormalized;\n        if (action) {\n          verbIdx = i;\n          verbAction = action;\n          break;\n        }\n      }\n      if (verbIdx === -1) break;\n      const preVerbTokens = clauseTokens.slice(pos2, verbIdx);\n      let endIdx = clauseTokens.length;\n      for (let i = verbIdx + 1; i < clauseTokens.length; i++) {\n        const t = clauseTokens[i];\n        if (t.kind === \"conjunction\" || this.isThenKeyword(t.value, language)) {\n          endIdx = i;\n          break;\n        }\n        if (i > verbIdx + 1 && !markerToRole.has(t.value)) {\n          const nextAction = verbLookup.get(t.value.toLowerCase()) || (t.normalized ? verbLookup.get(t.normalized.toLowerCase()) : void 0);\n          if (nextAction) {\n            endIdx = i;\n            break;\n          }\n        }\n      }\n      const postVerbTokens = clauseTokens.slice(verbIdx + 1, endIdx);\n      const roles = this.extractRolesFromMarkedTokens(\n        preVerbTokens,\n        postVerbTokens,\n        markerToRole,\n        verbAction,\n        language\n      );\n      commands.push(\n        createCommandNode2(verbAction, roles, {\n          sourceLanguage: language,\n          confidence: 0.7\n        })\n      );\n      pos2 = endIdx;\n      if (pos2 < clauseTokens.length) {\n        const t = clauseTokens[pos2];\n        if (t.kind === \"conjunction\" || this.isThenKeyword(t.value, language)) {\n          pos2++;\n        }\n      }\n    }\n    return commands;\n  }\n  /**\n   * Extract semantic roles from pre-verb and post-verb token groups using marker analysis.\n   *\n   * Recognizes patterns like:\n   *   pre-verb:  [expr] [を]   → patient (obj marker)\n   *   post-verb: [expr] [に]   → destination (to marker)\n   *   pre-verb:  [expr] [から] → source (from marker)\n   */\n  extractRolesFromMarkedTokens(preVerbTokens, postVerbTokens, markerToRole, action, _language) {\n    const roles = {};\n    const processGroup = (tokens) => {\n      let valueTokens = [];\n      for (const token of tokens) {\n        const role = markerToRole.get(token.value);\n        if (role && token.kind === \"particle\" && valueTokens.length > 0) {\n          const value = this.tokensToSemanticValue(valueTokens);\n          if (value) {\n            const roleKey = this.mapRoleForCommand(role, action, roles);\n            if (roleKey) {\n              roles[roleKey] = value;\n            }\n          }\n          valueTokens = [];\n        } else {\n          valueTokens.push(token);\n        }\n      }\n      if (valueTokens.length > 0) {\n        const soleTime = valueTokens.length === 1 && /^\\d+(\\.\\d+)?(ms|s)$/i.test(valueTokens[0].value) && !roles.duration && getSchema(action)?.roles.some((r) => r.role === \"duration\");\n        if (soleTime) {\n          roles.duration = {\n            type: \"literal\",\n            value: valueTokens[0].value,\n            dataType: \"string\"\n          };\n        } else {\n          const value = this.tokensToSemanticValue(valueTokens);\n          if (value) {\n            if (!roles.patient) {\n              roles.patient = value;\n            } else if (!roles.destination) {\n              roles.destination = value;\n            }\n          }\n        }\n      }\n    };\n    processGroup(preVerbTokens);\n    processGroup(postVerbTokens);\n    return roles;\n  }\n  /**\n   * Map a marker-derived role name to the appropriate semantic role for a command,\n   * handling cases where marker roles overlap (e.g., both patient and destination\n   * use similar particles in some languages).\n   */\n  mapRoleForCommand(markerRole, _action, existingRoles) {\n    if (!existingRoles[markerRole]) {\n      return markerRole;\n    }\n    if (markerRole === \"patient\" && !existingRoles.destination) {\n      return \"destination\";\n    }\n    if (markerRole === \"destination\" && !existingRoles.patient) {\n      return \"patient\";\n    }\n    if (markerRole === \"source\" && !existingRoles.source) {\n      return \"source\";\n    }\n    return null;\n  }\n  /**\n   * Convert a sequence of tokens into a single SemanticValue.\n   */\n  tokensToSemanticValue(tokens) {\n    if (tokens.length === 0) return null;\n    const meaningful = tokens.filter((t) => t.kind !== \"whitespace\");\n    if (meaningful.length === 0) return null;\n    if (meaningful.length === 1) {\n      return this.tokenToSemanticValue(meaningful[0]);\n    }\n    const combined = meaningful.map((t) => t.value).join(\"\");\n    const first = meaningful[0];\n    if (first.kind === \"selector\" || first.value.startsWith(\"#\") || first.value.startsWith(\".\") || first.value.startsWith(\"@\") || first.value.startsWith(\"*\")) {\n      return createSelector(combined);\n    }\n    if (first.kind === \"literal\" || first.value.startsWith('\"') || first.value.startsWith(\"'\")) {\n      return createLiteral(stripQuotes(combined), \"string\");\n    }\n    if (first.kind === \"reference\") {\n      return createReference(combined);\n    }\n    return createLiteral(combined);\n  }\n  /**\n   * Convert a single token to a SemanticValue.\n   */\n  tokenToSemanticValue(token) {\n    const val = token.value;\n    if (token.kind === \"selector\" || val.startsWith(\"#\") || val.startsWith(\".\") || val.startsWith(\"@\") || val.startsWith(\"*\")) {\n      return createSelector(val);\n    }\n    if (val.startsWith('\"') || val.startsWith(\"'\")) {\n      return createLiteral(stripQuotes(val), \"string\");\n    }\n    if (/^-?\\d+(\\.\\d+)?$/.test(val)) {\n      return createLiteral(parseFloat(val));\n    }\n    if (val === \"true\" || val === \"\\u771F\" || val === \"\\uCC38\" || val === \"do\\u011Fru\") {\n      return createLiteral(true);\n    }\n    if (val === \"false\" || val === \"\\u507D\" || val === \"\\uAC70\\uC9D3\" || val === \"yanl\\u0131\\u015F\") {\n      return createLiteral(false);\n    }\n    const ref = token.normalized?.toLowerCase();\n    if (ref === \"me\" || ref === \"it\" || ref === \"you\" || ref === \"result\" || ref === \"body\") {\n      return createReference(ref);\n    }\n    if (token.kind === \"reference\") {\n      return createReference(token.normalized || \"me\");\n    }\n    return createLiteral(val);\n  }\n  /**\n   * Parse body commands with support for grammar-transformed patterns.\n   * Used after a grammar-transformed pattern with continuation marker.\n   */\n  parseBodyWithGrammarPatterns(tokens, commandPatterns, grammarPatterns, language) {\n    const commands = [];\n    let skippedClauseTokens = [];\n    let clauseHadMatch = false;\n    const flushClause = () => {\n      if (!clauseHadMatch && skippedClauseTokens.length > 0) {\n        commands.push(...this.parseSOVClauseByVerbAnchoring(skippedClauseTokens, language));\n      }\n      skippedClauseTokens = [];\n      clauseHadMatch = false;\n    };\n    let endsConsumedAsContent = 0;\n    const outstandingLoopEndDebt = () => {\n      let heads = 0;\n      for (const n of commands) {\n        const rec = n;\n        if ((rec.action === \"for\" || rec.action === \"repeat\" || rec.action === \"while\") && (!Array.isArray(rec.body) || rec.body.length === 0)) {\n          heads++;\n        }\n      }\n      return heads - endsConsumedAsContent;\n    };\n    while (!tokens.isAtEnd()) {\n      const current = tokens.peek();\n      if (current && this.isThenKeyword(current.value, language)) {\n        flushClause();\n        tokens.advance();\n        continue;\n      }\n      if (current && this.isEndKeyword(current.value, language)) {\n        const prevTok = tokens.peek(-1);\n        const nextTok = tokens.peek(1);\n        const isPositionalEnd = isAtEndPositionNoun(\n          language,\n          current.value,\n          prevTok?.value,\n          nextTok?.value\n        );\n        if (!isPositionalEnd) {\n          flushClause();\n          if (outstandingLoopEndDebt() > 0) {\n            endsConsumedAsContent++;\n            tokens.advance();\n            continue;\n          }\n          tokens.advance();\n          break;\n        }\n      }\n      if (current && !clauseHadMatch && this.isIfKeyword((current.normalized ?? current.value).toLowerCase(), language)) {\n        flushClause();\n        const conditional = this.tryParseConditionalBlock(tokens, commandPatterns, language);\n        if (conditional) {\n          commands.push(conditional);\n          clauseHadMatch = true;\n          continue;\n        }\n      }\n      let matched = false;\n      if (grammarPatterns.length > 0) {\n        const grammarMatch = patternMatcher.matchBest(tokens, grammarPatterns);\n        if (grammarMatch) {\n          const actionName = grammarMatch.pattern.command;\n          const roles = {};\n          for (const [role, value] of grammarMatch.captured) {\n            if (role !== \"event\" && role !== \"action\" && role !== \"continues\") {\n              roles[role] = value;\n            }\n          }\n          const commandNode = createCommandNode2(actionName, roles, {\n            sourceLanguage: language,\n            patternId: grammarMatch.pattern.id\n          });\n          commands.push(commandNode);\n          matched = true;\n          clauseHadMatch = true;\n          const continuesValue = grammarMatch.captured.get(\"continues\");\n          if (continuesValue && continuesValue.type === \"literal\" && continuesValue.value === \"then\") {\n            continue;\n          }\n        }\n      }\n      if (!matched) {\n        const preMatch = tokens.mark();\n        const commandMatch = patternMatcher.matchBest(tokens, commandPatterns);\n        if (commandMatch) {\n          if (commandMatch.pattern.command === \"if\") {\n            const afterMatch = tokens.mark();\n            tokens.reset(preMatch);\n            while (!tokens.isAtEnd()) {\n              const h = tokens.peek();\n              if (!h || this.isIfKeyword((h.normalized ?? h.value).toLowerCase(), language)) break;\n              tokens.advance();\n            }\n            const conditional = this.tryParseConditionalBlock(tokens, commandPatterns, language);\n            if (conditional) {\n              flushClause();\n              commands.push(conditional);\n              clauseHadMatch = true;\n              continue;\n            }\n            tokens.reset(afterMatch);\n          }\n          const cmd = this.buildCommand(commandMatch, language);\n          commands.push(cmd);\n          this.tryAttachTrailingRole(tokens, cmd, language);\n          matched = true;\n          clauseHadMatch = true;\n        }\n      }\n      if (!matched) {\n        if (current) skippedClauseTokens.push(current);\n        tokens.advance();\n      }\n    }\n    flushClause();\n    for (let i = commands.length - 1; i >= 0; i--) {\n      const c = commands[i];\n      if (c.kind === \"command\" && c.action === \"for\" && (!(c.roles instanceof Map) || c.roles.size === 0) && (!Array.isArray(c.body) || c.body.length === 0)) {\n        commands.splice(i, 1);\n      }\n    }\n    return commands;\n  }\n  // ==========================================================================\n  // Multi-Command Compound Fallback\n  // ==========================================================================\n  /**\n   * Try parsing input as a multi-command compound (no event wrapper).\n   * Handles standalone command sequences separated by then-keywords.\n   * Used as a last resort when no event trigger is detected.\n   */\n  tryCompoundCommandParsing(tokens, commandPatterns, language) {\n    const allTokens = tokens.tokens;\n    const hasThenKeyword = allTokens.some(\n      (t) => t.kind === \"conjunction\" || t.kind === \"keyword\" && this.isThenKeyword(t.value, language)\n    );\n    const hasElseKeyword = allTokens.some((t) => this.isElseKeyword(t.value, language));\n    if (!hasThenKeyword && !hasElseKeyword) return null;\n    const freshStream = new TokenStreamImpl(allTokens, language);\n    const body = this.parseBodyWithClauses(freshStream, commandPatterns, language);\n    if (body.length === 0) return null;\n    if (body.length === 1) {\n      return body[0];\n    }\n    return createCompoundNode(body, \"then\", {\n      sourceLanguage: language,\n      confidence: 0.65\n    });\n  }\n  /** Length (in tokens) of an event-marker phrase starting at startIdx, or 0. */\n  matchEventMarkerPhrase(allTokens, startIdx, language) {\n    const phrases = _SemanticParserImpl.SOV_EVENT_MARKER_PHRASES[language];\n    if (!phrases) return 0;\n    for (const phrase of phrases) {\n      if (phrase.every((w, j) => allTokens[startIdx + j]?.value === w)) return phrase.length;\n    }\n    return 0;\n  }\n  /**\n   * Does the input carry an SOV event-handler head — a known-event token\n   * immediately followed by this language's single-token event marker (ja で,\n   * tr de/da/te/ta, …) or multi-token marker phrase (ko 할 때)?\n   *\n   * Used to distinguish a genuine standalone command from an event handler whose\n   * verb is a command-homonym event word (scroll/resize/focus/…). With no\n   * single-token event marker (ko), the Stage-1 fused event pattern can't anchor\n   * once a `from <source>` clause (`창 에서`) splits the head, so Stage 2 matches the\n   * homonym as its literal command and returns before the SOV extraction stage. This\n   * structural cue (`<event> <marker>`) gates the Stage-2 preference for SOV\n   * extraction, so a real bare command (`스크롤 #panel` — no marker) is untouched.\n   * Returns false for languages with no SOV event-marker config.\n   */\n  hasSOVEventMarkerHead(input, language) {\n    const eventMarkers = _SemanticParserImpl.SOV_EVENT_MARKERS[language];\n    if (eventMarkers === void 0) return false;\n    const { tokens } = tokenize3(input, language);\n    const langEvents = eventNameTranslations[language];\n    const nativeEventNames = /* @__PURE__ */ new Set();\n    if (langEvents) {\n      for (const native of Object.keys(langEvents)) nativeEventNames.add(native.toLowerCase());\n    }\n    for (let i = 0; i < tokens.length; i++) {\n      const token = tokens[i];\n      const value = token.value.toLowerCase();\n      const normalized2 = token.normalized?.toLowerCase();\n      const isEvent = !!normalized2 && (_SemanticParserImpl.KNOWN_EVENTS.has(normalized2) || WAITABLE_EVENT_WORDS.has(normalized2)) || _SemanticParserImpl.KNOWN_EVENTS.has(value) || WAITABLE_EVENT_WORDS.has(value) || nativeEventNames.has(value);\n      if (!isEvent) continue;\n      const paramLen = this.matchEventParamPhrase(tokens, i + 1).len;\n      const next = tokens[i + 1 + paramLen];\n      if (next && (next.kind === \"particle\" || next.kind === \"keyword\") && eventMarkers.has(next.value)) {\n        return true;\n      }\n      if (this.matchEventMarkerPhrase(tokens, i + 1 + paramLen, language) > 0) return true;\n    }\n    return false;\n  }\n  /**\n   * Length (in tokens) and declared names of an event PARAM PHRASE starting at\n   * startIdx: `( ident [, ident]* )`. The tokenizers split\n   * `pointerdown(clientY)` into 4+ tokens (`pointerdown ( clientY )`), so the\n   * SOV event-marker check — which expects the marker DIRECTLY after the event\n   * keyword — never fired on a parameterized event: the custom-event second\n   * pass then anchored the `)` as the event (event:literal=\")\") and the leaked\n   * keyword-led head run was discarded by flushSkipped, killing the first body\n   * command (behavior-sortable `set item to …`, the session-5 sharpened\n   * diagnosis). Returns len 0 when startIdx isn't an opening paren or the\n   * phrase is malformed (no close-paren, or a non-identifier between).\n   */\n  matchEventParamPhrase(allTokens, startIdx) {\n    if (allTokens[startIdx]?.value !== \"(\") return { len: 0, names: [] };\n    const names = [];\n    for (let j = startIdx + 1; j < allTokens.length; j++) {\n      const v = allTokens[j].value;\n      if (v === \")\") return { len: j - startIdx + 1, names };\n      if (v === \",\") continue;\n      if (allTokens[j].kind !== \"identifier\") break;\n      names.push(v);\n    }\n    return { len: 0, names: [] };\n  }\n  /**\n   * Whether a token is a strippable event-source REFERENCE — a pronoun (`私`/\n   * `나`/`ben`/`আমি`/`मैं`/`noqa`, all normalized `me`/`i`/`it`) or a window/\n   * document token. The en reference drops the handler's `from me` phrase\n   * entirely (event role only), so stripping the rendered pair matches it.\n   * Deliberately NOT identifiers (`triggerEl から` stays in the body, where the\n   * value-led skipped-run recovery reclaims it — behavior-removable relies on\n   * that).\n   */\n  isStrippableSourceRef(tok, windowTokens) {\n    if (!tok) return false;\n    const norm = tok.normalized?.toLowerCase();\n    if (tok.kind === \"keyword\" && (norm === \"me\" || norm === \"i\" || norm === \"it\")) return true;\n    const v = tok.value.toLowerCase();\n    return windowTokens.has(v) || !!norm && windowTokens.has(norm);\n  }\n  /**\n   * Try to extract a trailing event clause that wraps a block/command body.\n   *\n   * SVO/VSO grammar transforms emit the event clause at the very end:\n   *   AR: \"<body> عند <event>\"   (e.g. \"إلا I match .disabled بدل .selected عند نقر\")\n   *   TL: \"<body> kapag <event>\" (e.g. \"maliban_kung … palitan .selected kapag click\")\n   *\n   * The per-command fused event patterns only cover simple bodies, so a block\n   * body (unless/if/…) isn't wrapped and degrades to a hollow standalone match.\n   * This recognizes a trailing `<on-marker> <event>` (gated to a recognized\n   * event keyword in the final position, so a trailing destination selector like\n   * `على #button` is never mistaken for an event), strips it, and parses the\n   * preceding tokens as the handler body. Returns null when there is no such\n   * trailing event or the body doesn't parse — so the caller falls through to\n   * the command stage unchanged.\n   */\n  tryTrailingEventExtraction(input, language, patterns) {\n    const tokens = tokenize3(input, language).tokens;\n    if (tokens.length < 3) return null;\n    const langEvents = eventNameTranslations[language];\n    const nativeEventNames = /* @__PURE__ */ new Set();\n    if (langEvents) {\n      for (const native of Object.keys(langEvents)) nativeEventNames.add(native.toLowerCase());\n    }\n    const markerIdx = tokens.length - 2;\n    const marker = tokens[markerIdx];\n    const isOnMarker = marker.kind === \"keyword\" && marker.normalized?.toLowerCase() === \"on\";\n    if (!isOnMarker) return null;\n    const evtToken = tokens[tokens.length - 1];\n    const evtVal = evtToken.value.toLowerCase();\n    const evtNorm = evtToken.normalized?.toLowerCase();\n    const isKnownEvent = !!evtNorm && _SemanticParserImpl.KNOWN_EVENTS.has(evtNorm) || _SemanticParserImpl.KNOWN_EVENTS.has(evtVal) || nativeEventNames.has(evtVal);\n    if (!isKnownEvent) return null;\n    const eventName = evtNorm && _SemanticParserImpl.KNOWN_EVENTS.has(evtNorm) ? evtNorm : langEvents?.[evtVal] ?? evtVal;\n    const bodyTokens = tokens.slice(0, markerIdx);\n    if (bodyTokens.length === 0) return null;\n    const commandPatterns = patterns.filter((p) => p.command !== \"on\");\n    const bodyStream = new TokenStreamImpl(bodyTokens, language);\n    const body = this.parseBodyWithClauses(bodyStream, commandPatterns, language);\n    if (body.length === 0) return null;\n    return createEventHandler({ type: \"literal\", value: eventName }, body, void 0, {\n      sourceLanguage: language,\n      confidence: 0.75\n    });\n  }\n  /**\n   * Try to extract a *mid-stream* `<on-marker> <event>` pair (VSO/SVO loops).\n   *\n   * For VSO/Austronesian the grammar transformer surfaces a block loop's keyword\n   * first and places the event clause right after it, marked by an `on`-marker:\n   *   AR: \"كرر عند نقر item في .items ثم أضف …\"   (repeat on click for … then add)\n   *   TL: \"ulitin kapag click item sa_loob .items pagkatapos idagdag …\"\n   *\n   * Because the event isn't the final token, `tryTrailingEventExtraction` (Stage\n   * 1.5) can't see it, so the bare loop keyword wins Stage 2 and the event + body\n   * drop (degenerate). This scans for an `on`-marker (`normalized === 'on'`)\n   * immediately followed by a known event keyword, strips that pair, and parses\n   * everything else (the leading loop keyword + for/while clause + then-chain body)\n   * as the handler body. Returns null when no on-marked event is found or the body\n   * doesn't parse, so the caller falls through to the bare command unchanged. The\n   * caller gates this to block/loop actions, so simple commands never reach it.\n   */\n  tryMidStreamEventExtraction(input, language, patterns) {\n    const tokens = tokenize3(input, language).tokens;\n    if (tokens.length < 3) return null;\n    const langEvents = eventNameTranslations[language];\n    const nativeEventNames = /* @__PURE__ */ new Set();\n    if (langEvents) {\n      for (const native of Object.keys(langEvents)) nativeEventNames.add(native.toLowerCase());\n    }\n    for (let i = 0; i < tokens.length - 1; i++) {\n      const marker = tokens[i];\n      const isOnMarker = marker.kind === \"keyword\" && marker.normalized?.toLowerCase() === \"on\";\n      if (!isOnMarker) continue;\n      const evtToken = tokens[i + 1];\n      const evtVal = evtToken.value.toLowerCase();\n      const evtNorm = evtToken.normalized?.toLowerCase();\n      const isKnownEvent = !!evtNorm && _SemanticParserImpl.KNOWN_EVENTS.has(evtNorm) || _SemanticParserImpl.KNOWN_EVENTS.has(evtVal) || nativeEventNames.has(evtVal);\n      if (!isKnownEvent) continue;\n      const eventName = evtNorm && _SemanticParserImpl.KNOWN_EVENTS.has(evtNorm) ? evtNorm : langEvents?.[evtVal] ?? evtVal;\n      const bodyTokens = tokens.filter((_, idx) => idx !== i && idx !== i + 1);\n      if (bodyTokens.length === 0) return null;\n      const commandPatterns = patterns.filter((p) => p.command !== \"on\");\n      const bodyStream = new TokenStreamImpl(bodyTokens, language);\n      const body = this.parseBodyWithClauses(bodyStream, commandPatterns, language);\n      if (body.length === 0) return null;\n      return createEventHandler({ type: \"literal\", value: eventName }, body, void 0, {\n        sourceLanguage: language,\n        confidence: 0.75\n      });\n    }\n    return null;\n  }\n  /**\n   * Try to extract an embedded event trigger from SOV grammar-transformed text.\n   *\n   * SOV languages embed the event trigger within the sentence:\n   *   JA: \".active を クリック で 切り替え\"  (patient event-marker action)\n   *   KO: \".active 를 클릭 에 토글\"          (patient event-marker action)\n   *   TR: \".active i tıklama de değiştir\"   (patient event-marker action)\n   *\n   * This method detects the [event_keyword] [event_particle] pair,\n   * removes those tokens, and parses the remaining tokens as command body.\n   */\n  trySOVEventExtraction(input, language, patterns) {\n    const eventMarkers = _SemanticParserImpl.SOV_EVENT_MARKERS[language];\n    if (!eventMarkers) return null;\n    const tokens = tokenize3(input, language);\n    const allTokens = tokens.tokens;\n    const langEvents = eventNameTranslations[language];\n    const nativeEventNames = /* @__PURE__ */ new Set();\n    if (langEvents) {\n      for (const native of Object.keys(langEvents)) {\n        nativeEventNames.add(native.toLowerCase());\n      }\n    }\n    const sourceMarkers = _SemanticParserImpl.SOV_SOURCE_MARKERS[language];\n    let eventIndex = -1;\n    let eventName = \"\";\n    let keyFilter = \"\";\n    let tokensToRemove = 1;\n    let parameterNames = [];\n    for (let i = 0; i < allTokens.length; i++) {\n      const token = allTokens[i];\n      const tokenValue = token.value.toLowerCase();\n      let bareEventValue = tokenValue;\n      let tokenKeyFilter = \"\";\n      const bracketIdx = tokenValue.indexOf(\"[\");\n      if (bracketIdx > 0) {\n        bareEventValue = tokenValue.slice(0, bracketIdx);\n        tokenKeyFilter = token.value.slice(bracketIdx);\n      }\n      const normalizedLower = token.normalized?.toLowerCase();\n      const isEventByNormalized = normalizedLower && (_SemanticParserImpl.KNOWN_EVENTS.has(normalizedLower) || WAITABLE_EVENT_WORDS.has(normalizedLower));\n      const isEventByNative = nativeEventNames.has(tokenValue) || nativeEventNames.has(bareEventValue);\n      const isEventByBare = _SemanticParserImpl.KNOWN_EVENTS.has(bareEventValue) || WAITABLE_EVENT_WORDS.has(bareEventValue);\n      if (isEventByNormalized || isEventByNative || isEventByBare) {\n        const prevTok = allTokens[i - 1];\n        if (prevTok && (prevTok.normalized ?? prevTok.value).toLowerCase() === \"event\") {\n          continue;\n        }\n        let resolvedName;\n        if (isEventByNormalized) {\n          resolvedName = normalizedLower;\n        } else if (isEventByNative) {\n          resolvedName = langEvents?.[tokenValue] ?? langEvents?.[bareEventValue] ?? bareEventValue;\n        } else {\n          resolvedName = bareEventValue;\n        }\n        const paramPhrase = this.matchEventParamPhrase(allTokens, i + 1);\n        if (eventMarkers.size > 0) {\n          let markerOffset = 1 + paramPhrase.len;\n          const nextToken = allTokens[i + markerOffset];\n          if (nextToken && nextToken.kind === \"selector\" && nextToken.value.startsWith(\"[\")) {\n            markerOffset += 1;\n          }\n          const markerToken = allTokens[i + markerOffset];\n          if (markerToken && (markerToken.kind === \"particle\" || markerToken.kind === \"keyword\") && eventMarkers.has(markerToken.value)) {\n            eventIndex = i;\n            eventName = resolvedName;\n            keyFilter = tokenKeyFilter || (markerOffset === paramPhrase.len + 2 ? allTokens[i + markerOffset - 1].value : \"\");\n            tokensToRemove = markerOffset + 1;\n            parameterNames = paramPhrase.names;\n            break;\n          }\n        } else {\n          eventIndex = i;\n          eventName = resolvedName;\n          keyFilter = tokenKeyFilter;\n          tokensToRemove = 1 + paramPhrase.len + this.matchEventMarkerPhrase(allTokens, i + 1 + paramPhrase.len, language);\n          parameterNames = paramPhrase.names;\n          break;\n        }\n      }\n    }\n    if (eventIndex === -1) {\n      const commandActions = new Set(\n        patterns.filter((p) => p.command !== \"on\").map((p) => p.command)\n      );\n      for (let i = 0; i < allTokens.length; i++) {\n        const token = allTokens[i];\n        if (token.kind !== \"identifier\") continue;\n        if (eventMarkers.size > 0) {\n          let markerOffset = 1;\n          const nextToken = allTokens[i + 1];\n          if (nextToken && nextToken.kind === \"selector\" && nextToken.value.startsWith(\"[\")) {\n            markerOffset = 2;\n          }\n          const markerToken = allTokens[i + markerOffset];\n          if (markerToken && (markerToken.kind === \"particle\" || markerToken.kind === \"keyword\") && eventMarkers.has(markerToken.value)) {\n            eventIndex = i;\n            eventName = token.value;\n            keyFilter = markerOffset === 2 ? allTokens[i + 1].value : \"\";\n            tokensToRemove = markerOffset + 1;\n            break;\n          }\n        } else {\n          const phraseLen = this.matchEventMarkerPhrase(allTokens, i + 1, language);\n          if (phraseLen > 0) {\n            eventIndex = i;\n            eventName = token.value;\n            keyFilter = \"\";\n            tokensToRemove = 1 + phraseLen;\n            break;\n          }\n          const nextToken = allTokens[i + 1];\n          if (nextToken && nextToken.kind === \"keyword\" && nextToken.normalized != null && commandActions.has(nextToken.normalized)) {\n            eventIndex = i;\n            eventName = token.value;\n            keyFilter = \"\";\n            tokensToRemove = 1;\n            break;\n          }\n        }\n      }\n    }\n    if (eventIndex === -1) return null;\n    const removeIndices = /* @__PURE__ */ new Set();\n    for (let i = eventIndex; i < eventIndex + tokensToRemove; i++) {\n      removeIndices.add(i);\n    }\n    if (sourceMarkers) {\n      const afterEventEnd = eventIndex + tokensToRemove;\n      if (afterEventEnd < allTokens.length) {\n        const afterToken = allTokens[afterEventEnd];\n        if ((afterToken.kind === \"particle\" || afterToken.kind === \"keyword\") && sourceMarkers.markers.has(afterToken.value)) {\n          removeIndices.add(afterEventEnd);\n        } else if (this.isStrippableSourceRef(afterToken, sourceMarkers.windowTokens)) {\n          const markerAfterRef = allTokens[afterEventEnd + 1];\n          if (markerAfterRef && (markerAfterRef.kind === \"particle\" || markerAfterRef.kind === \"keyword\") && sourceMarkers.markers.has(markerAfterRef.value)) {\n            removeIndices.add(afterEventEnd);\n            removeIndices.add(afterEventEnd + 1);\n          }\n        }\n      }\n      if (eventIndex >= 2) {\n        const frontMarker = allTokens[eventIndex - 1];\n        if ((frontMarker.kind === \"particle\" || frontMarker.kind === \"keyword\") && sourceMarkers.markers.has(frontMarker.value) && this.isStrippableSourceRef(allTokens[eventIndex - 2], sourceMarkers.windowTokens)) {\n          removeIndices.add(eventIndex - 2);\n          removeIndices.add(eventIndex - 1);\n        }\n      }\n      for (let i = 0; i < eventIndex; i++) {\n        const t = allTokens[i];\n        const tLower = t.value.toLowerCase();\n        const tNorm = t.normalized?.toLowerCase();\n        if (sourceMarkers.windowTokens.has(tLower) || tNorm && sourceMarkers.windowTokens.has(tNorm)) {\n          removeIndices.add(i);\n          break;\n        }\n      }\n    }\n    const bodyTokens = allTokens.filter((_, idx) => !removeIndices.has(idx));\n    if (bodyTokens.length === 0) return null;\n    const commandPatterns = patterns.filter((p) => p.command !== \"on\");\n    const bodyStream = new TokenStreamImpl(bodyTokens, language);\n    const body = this.parseBodyWithClauses(bodyStream, commandPatterns, language);\n    if (body.length === 0) return null;\n    const metadata = {\n      sourceLanguage: language,\n      confidence: 0.75\n    };\n    if (keyFilter) {\n      metadata.keyFilter = keyFilter;\n    }\n    return createEventHandler(\n      { type: \"literal\", value: eventName },\n      body,\n      void 0,\n      metadata,\n      parameterNames\n    );\n  }\n  /**\n   * Match a token value against a language profile's keyword (primary +\n   * alternatives) for the given key. Used by the then/end/else recognizers to\n   * cover languages absent from their curated keyword maps — every profile\n   * carries `then`/`end`/`else`, so this generalizes recognition to all 24\n   * languages without hand-maintaining each map.\n   */\n  profileKeywordMatches(language, key, value) {\n    const kw = tryGetProfile(language)?.keywords?.[key];\n    if (!kw) return false;\n    if (kw.primary?.toLowerCase() === value) return true;\n    return !!kw.alternatives?.some((a) => a.toLowerCase() === value);\n  }\n  /**\n   * Check if a token is a 'then' keyword in the given language.\n   */\n  /**\n   * Consume the next token when it is the language's rendered `for` word (bn\n   * `জন্য`, tr `için`) trailing a just-reclaimed phrase (a wait-for event, a\n   * transition duration). The word doubles as the for-loop keyword, so left in\n   * the stream it anchors a phantom bare `for` command in the remaining body\n   * tokens. Homonym particles carry no `normalized`, so the profile's surface\n   * forms are matched too.\n   */\n  consumeForPostposition(tokens, language) {\n    const post = tokens.peek();\n    if (!post) return;\n    const postNorm = (post.normalized ?? \"\").toLowerCase();\n    const forKw = tryGetProfile(language)?.keywords?.for;\n    const isForWord = postNorm === \"for\" || post.value === forKw?.primary || (forKw?.alternatives ?? []).includes(post.value);\n    if (isForWord) tokens.advance();\n  }\n  isThenKeyword(value, language) {\n    const v = value.toLowerCase();\n    const thenKeywords = {\n      en: /* @__PURE__ */ new Set([\"then\"]),\n      ja: /* @__PURE__ */ new Set([\"\\u305D\\u308C\\u304B\\u3089\", \"\\u6B21\\u306B\", \"\\u305D\\u3057\\u3066\"]),\n      ar: /* @__PURE__ */ new Set([\"\\u062B\\u0645\", \"\\u0628\\u0639\\u062F\\u0647\\u0627\", \"\\u062B\\u0645\\u0651\"]),\n      es: /* @__PURE__ */ new Set([\"entonces\", \"luego\", \"despu\\xE9s\"]),\n      ko: /* @__PURE__ */ new Set([\"\\uADF8\\uB2E4\\uC74C\", \"\\uADF8\\uB9AC\\uACE0\", \"\\uADF8\\uB7F0\\uD6C4\", \"\\uADF8\\uB7EC\\uBA74\"]),\n      // 之后 is deliberately ABSENT: the zh transformer emits it as positional\n      // `after` (`放置 把 X 之后 Y`, put-after) and emits 那么 for then — keeping\n      // it here split the put clause at 之后 and dropped the put.\n      zh: /* @__PURE__ */ new Set([\"\\u7136\\u540E\", \"\\u63A5\\u7740\", \"\\u90A3\\u4E48\"]),\n      // 'sonra' is deliberately ABSENT (mirrors zh dropping 之后): the tr\n      // transformer emits it as positional `after` (`{patient} sonra {dest} … koy`,\n      // put-after); keeping it here split the put clause at sonra and dropped the\n      // put. then-chains use ardından (the i18n dict's then emission).\n      tr: /* @__PURE__ */ new Set([\"ard\\u0131ndan\", \"daha sonra\", \"ardindan\"]),\n      pt: /* @__PURE__ */ new Set([\"ent\\xE3o\", \"depois\", \"logo\"]),\n      fr: /* @__PURE__ */ new Set([\"puis\", \"ensuite\", \"alors\"]),\n      de: /* @__PURE__ */ new Set([\"dann\", \"danach\", \"anschlie\\xDFend\"]),\n      id: /* @__PURE__ */ new Set([\"lalu\", \"kemudian\", \"setelah itu\"]),\n      tl: /* @__PURE__ */ new Set([\"pagkatapos\", \"tapos\"]),\n      // 'পরে' is deliberately ABSENT (mirrors tr dropping 'sonra' / zh dropping\n      // 之后): the bn transformer emits it as positional `after` (`{patient} পরে\n      // {dest} … রাখুন`, put-after); keeping it here split the put clause at পরে and\n      // dropped the put. then-chains use তারপর (the bn dict's then emission).\n      bn: /* @__PURE__ */ new Set([\"\\u09A4\\u09BE\\u09B0\\u09AA\\u09B0\"]),\n      qu: /* @__PURE__ */ new Set([\"chaymantataq\", \"hinaspa\", \"chaymanta\", \"chayqa\"]),\n      sw: /* @__PURE__ */ new Set([\"kisha\", \"halafu\", \"baadaye\"])\n    };\n    const curated = thenKeywords[language];\n    if (curated) return curated.has(v);\n    return v === \"then\" || this.profileKeywordMatches(language, \"then\", v);\n  }\n  /**\n   * Check if a token is an 'else' keyword in the given language. Derived from the\n   * language profile (primary + alternatives), with the English literal always\n   * accepted (the grammar transformer leaves `else` verbatim for profiles without\n   * an else form). Used to let the compound fallback recognize an `if … else …`\n   * block whose branches are joined by `else` rather than a then-keyword.\n   */\n  isElseKeyword(value, language) {\n    const v = value.toLowerCase();\n    if (v === \"else\") return true;\n    return this.profileKeywordMatches(language, \"else\", v);\n  }\n  /**\n   * Check if a token is an 'end' keyword in the given language.\n   */\n  isEndKeyword(value, language) {\n    const v = value.toLowerCase();\n    const endKeywords = {\n      en: /* @__PURE__ */ new Set([\"end\"]),\n      // 終了 is deliberately ABSENT: it is the i18n dict's `exit` emission\n      // (`exit: 終了`, ja.ts), and listing it as an `end` alternative made the\n      // body parser count an `exit` inside an `if … exit … end` block as the\n      // block terminator — so the real 終わり closed the whole handler body,\n      // dropping every command after the block (behavior-sortable degenerate).\n      // 終わり is the dict's `end` emission; おわり is the kana variant.\n      ja: /* @__PURE__ */ new Set([\"\\u7D42\\u308F\\u308A\", \"\\u304A\\u308F\\u308A\"]),\n      // ar آخر is deliberately ABSENT: it is the positional `last` keyword;\n      // listing it here chopped clauses at every positional last (ar focus-trap\n      // lost its if-branch body). النهاية is what the i18n dict emits for end.\n      ar: /* @__PURE__ */ new Set([\"\\u0646\\u0647\\u0627\\u064A\\u0629\", \"\\u0627\\u0646\\u062A\\u0647\\u0649\", \"\\u0627\\u0644\\u0646\\u0647\\u0627\\u064A\\u0629\"]),\n      es: /* @__PURE__ */ new Set([\"fin\", \"final\", \"terminar\"]),\n      // 종료 is deliberately ABSENT — same exit/end collision as ja above\n      // (`exit: 종료`, ko.ts). 끝 is the dict's `end` emission; 마침 a variant.\n      ko: /* @__PURE__ */ new Set([\"\\uB05D\", \"\\uB9C8\\uCE68\"]),\n      zh: /* @__PURE__ */ new Set([\"\\u7ED3\\u675F\", \"\\u7EC8\\u6B62\", \"\\u5B8C\"]),\n      tr: /* @__PURE__ */ new Set([\"son\", \"biti\\u015F\", \"bitti\"]),\n      pt: /* @__PURE__ */ new Set([\"fim\", \"final\", \"t\\xE9rmino\"]),\n      fr: /* @__PURE__ */ new Set([\"fin\", \"terminer\", \"finir\"]),\n      // beenden is deliberately ABSENT — same exit/end collision as ja above\n      // (`exit: beenden`, de.ts; the de profile's `end` alternatives are only\n      // ['ende', 'fertig'], so this hardcoded set was the lone offender).\n      de: /* @__PURE__ */ new Set([\"ende\", \"fertig\"]),\n      id: /* @__PURE__ */ new Set([\"selesai\", \"akhir\", \"tamat\"]),\n      tl: /* @__PURE__ */ new Set([\"wakas\", \"tapos\"]),\n      bn: /* @__PURE__ */ new Set([\"\\u09B8\\u09AE\\u09BE\\u09AA\\u09CD\\u09A4\"]),\n      qu: /* @__PURE__ */ new Set([\"tukukuy\", \"tukuy\", \"puchukay\"]),\n      sw: /* @__PURE__ */ new Set([\"mwisho\", \"maliza\", \"tamati\"])\n    };\n    const curated = endKeywords[language];\n    if (curated) return v === \"end\" || curated.has(v);\n    return v === \"end\" || this.profileKeywordMatches(language, \"end\", v);\n  }\n  /**\n   * Whether a token opens a `js` block. The `js` command keyword survives\n   * translation verbatim (the i18n transformer masks the whole block, so the\n   * keyword stays English), so the English literal is the reliable signal; the\n   * profile form is also accepted for completeness.\n   */\n  isJsKeyword(token) {\n    const v = (token.normalized ?? token.value).toLowerCase();\n    return v === \"js\" || this.profileKeywordMatches(\"en\", \"js\", v);\n  }\n  /**\n   * Consume a `js(…) … end` block from the stream as one opaque unit and return a\n   * single `js` command node. The FIRST `end` after the `js` keyword closes the\n   * block — the same heuristic the i18n transformer's js-masking uses (raw JS never\n   * carries a bare hyperscript `end` token). Returns null without consuming when\n   * the head isn't a js keyword or the block has no closing `end` (malformed —\n   * leave it to the normal path).\n   *\n   * The node is built directly rather than re-parsed: `matchBest` in `parseClause`\n   * would match the `js` head and then keep matching the raw JS body (`if`,\n   * `return`, …) as sibling commands — the exact phantom actions this skip exists\n   * to suppress. Emitting `{ action: 'js', roles: { patient: expression } }`\n   * mirrors the shape a standalone `js(…)` parse produces, and applies uniformly to\n   * English and every translation (the keyword survives translation verbatim), so\n   * the reference and candidate js nodes stay identical for fidelity scoring.\n   */\n  consumeJsBlock(tokens, language) {\n    const head = tokens.peek();\n    if (!head || !this.isJsKeyword(head)) return null;\n    const startMark = tokens.mark();\n    const bodyTokens = [];\n    tokens.advance();\n    let sawEnd = false;\n    while (!tokens.isAtEnd()) {\n      const t = tokens.peek();\n      if (!t) break;\n      tokens.advance();\n      if (this.isEndKeyword(t.value, language)) {\n        sawEnd = true;\n        break;\n      }\n      bodyTokens.push(t);\n    }\n    if (!sawEnd) {\n      tokens.reset(startMark);\n      return null;\n    }\n    const raw = bodyTokens.map((t) => t.value).join(\" \").trim();\n    return createCommandNode2(\n      \"js\",\n      { patient: { type: \"expression\", raw: raw || \"()\" } },\n      { sourceLanguage: language, patternId: `js-opaque-${language}`, confidence: 1 }\n    );\n  }\n  /**\n   * Check if a token value is an `if` keyword in the given language (profile\n   * primary + alternatives, with the English literal always accepted).\n   */\n  isIfKeyword(value, language) {\n    const v = value.toLowerCase();\n    if (v === \"if\") return true;\n    return this.profileKeywordMatches(language, \"if\", v);\n  }\n  /**\n   * Check if a token value is an `unless` keyword (negated conditional).\n   */\n  isUnlessKeyword(value, language) {\n    const v = value.toLowerCase();\n    if (v === \"unless\") return true;\n    return this.profileKeywordMatches(language, \"unless\", v);\n  }\n  /**\n   * Parse a leading `if`/`unless` conditional block from the stream into a\n   * ConditionalSemanticNode, consuming the whole block (condition + then/else\n   * branches, up to the matching `end` or the stream end). Returns null WITHOUT\n   * consuming when the head token is not an `if`/`unless` keyword or no condition\n   * is present, so the caller falls through unchanged.\n   *\n   * Word-order scope: this matches the English-style `if <cond> [then] <body>\n   * [else <body>] [end]` order (the §2 dominant cluster, which manifests in\n   * English itself). SOV/VSO transforms place the condition/branches differently;\n   * those clauses don't start with a bare `if`/`unless` keyword here, so they fall\n   * through to the existing per-clause path untouched.\n   */\n  /**\n   * Block-terminator check for the conditional fold, by surface OR normalized\n   * form. bn renders `end` as শেষ, which the curated {@link isEndKeyword} set\n   * cannot list by value (শেষ is ALSO bn's positional `last` — the ar آخر\n   * lesson), so the value-only check never terminated a bn fold: the block\n   * consumed the rest of the handler body and every sibling after the\n   * conditional nested into the branch (behavior-removable bn dropped both\n   * `trigger`s once the junk verb-first event capture stopped masking it).\n   * The tokenizer already disambiguates the dual-use word: a KEYWORD token\n   * whose normalized form is `end` is the block terminator — except when\n   * followed by a selector, which is the positional reading (`শেষ <li/>` =\n   * `last <li/>`), never a block close. The lookahead exception is scoped to\n   * normalized-only recognition: a curated surface form (`end`, ja 終わり, …)\n   * keeps terminating even before a selector-led sibling clause.\n   */\n  isBlockEndToken(tok, next, language) {\n    if (this.isEndKeyword(tok.value, language)) return true;\n    if (tok.kind !== \"keyword\" || (tok.normalized ?? \"\").toLowerCase() !== \"end\") return false;\n    return !(next && next.kind === \"selector\");\n  }\n  tryParseConditionalBlock(tokens, commandPatterns, language) {\n    const head = tokens.peek();\n    if (!head) return null;\n    const headVal = (head.normalized ?? head.value).toLowerCase();\n    if (!this.isIfKeyword(headVal, language)) return null;\n    const startMark = tokens.mark();\n    tokens.advance();\n    const blockTokens = [];\n    let depth = 0;\n    while (!tokens.isAtEnd()) {\n      const t = tokens.peek();\n      if (!t) break;\n      const tv = (t.normalized ?? t.value).toLowerCase();\n      if (this.isIfKeyword(tv, language) || this.isUnlessKeyword(tv, language)) {\n        depth++;\n        blockTokens.push(t);\n        tokens.advance();\n        continue;\n      }\n      if (this.isBlockEndToken(t, tokens.peek(1) ?? void 0, language)) {\n        if (depth === 0) {\n          tokens.advance();\n          break;\n        }\n        depth--;\n        blockTokens.push(t);\n        tokens.advance();\n        continue;\n      }\n      blockTokens.push(t);\n      tokens.advance();\n    }\n    if (blockTokens.length === 0) {\n      tokens.reset(startMark);\n      return null;\n    }\n    const sovProfile = tryGetProfile(language);\n    const sovVerbLookup = sovProfile?.wordOrder === \"SOV\" ? _SemanticParserImpl.buildVerbLookup(sovProfile) : null;\n    let i = 0;\n    let bodyDepth = 0;\n    const condTokens = [];\n    let sawThen = false;\n    for (; i < blockTokens.length; i++) {\n      const t = blockTokens[i];\n      const tv = (t.normalized ?? t.value).toLowerCase();\n      if (this.isIfKeyword(tv, language) || this.isUnlessKeyword(tv, language)) bodyDepth++;\n      else if (this.isBlockEndToken(t, blockTokens[i + 1], language)) bodyDepth--;\n      if (bodyDepth === 0 && this.isThenKeyword(t.value, language)) {\n        sawThen = true;\n        i++;\n        break;\n      }\n      if (bodyDepth === 0 && condTokens.length > 0) {\n        const prev = (blockTokens[i - 1].normalized ?? blockTokens[i - 1].value).toLowerCase();\n        const prevValue = blockTokens[i - 1].value.toLowerCase();\n        const cur = (t.normalized ?? t.value).toLowerCase();\n        const prevIsCopula = _SemanticParserImpl.CONDITION_COPULAS.has(prev) || _SemanticParserImpl.CONDITION_COPULAS_SURFACE.has(prevValue) && _SemanticParserImpl.CONDITION_PREDICATES.has(cur);\n        const curIsSovCommandVerb = sovVerbLookup !== null && sovVerbLookup.has(t.value.toLowerCase()) && !_SemanticParserImpl.CONDITION_PREDICATES.has(cur);\n        if (!_SemanticParserImpl.CONDITION_OPERATORS.has(cur) && (!prevIsCopula || curIsSovCommandVerb) && (this.tokensBeginCommand(blockTokens.slice(i), commandPatterns, language) || this.sovCommandStartsAt(blockTokens.slice(i), sovVerbLookup))) {\n          break;\n        }\n      }\n      condTokens.push(t);\n    }\n    if (condTokens.length === 0) {\n      tokens.reset(startMark);\n      return null;\n    }\n    void sawThen;\n    const thenTokens = [];\n    const elseTokens = [];\n    let inElse = false;\n    let branchDepth = 0;\n    for (; i < blockTokens.length; i++) {\n      const t = blockTokens[i];\n      const tv = (t.normalized ?? t.value).toLowerCase();\n      if (this.isIfKeyword(tv, language) || this.isUnlessKeyword(tv, language)) branchDepth++;\n      else if (this.isBlockEndToken(t, blockTokens[i + 1], language)) branchDepth--;\n      if (branchDepth === 0 && !inElse && this.isElseKeyword(t.value, language)) {\n        inElse = true;\n        continue;\n      }\n      (inElse ? elseTokens : thenTokens).push(t);\n    }\n    const conditionValue = { type: \"expression\", raw: this.joinTokenText(condTokens) };\n    const thenBranch = this.parseBranch(thenTokens, commandPatterns, language);\n    const elseBranch = elseTokens.length > 0 ? this.parseBranch(elseTokens, commandPatterns, language) : void 0;\n    if (thenBranch.length === 0 && (!elseBranch || elseBranch.length === 0)) {\n      tokens.reset(startMark);\n      return null;\n    }\n    return createConditionalNode(conditionValue, thenBranch, elseBranch, {\n      sourceLanguage: language,\n      patternId: `conditional-${language}-folded`,\n      confidence: 1\n    });\n  }\n  /**\n   * Reconstruct source-ish text from a token slice for an expression value.\n   * Keyword tokens contribute their NORMALIZED (English) form: the condition\n   * raw string is evaluated by the core expression parser, which only reads\n   * English operator words — a translated condition (`#modal 存在する`,\n   * `#modal existe`) is unevaluable as-is, while its normalized join\n   * (`#modal exists`) runs. Non-keyword tokens (identifiers, selectors,\n   * literals) keep their surface value; for en the two are identical.\n   */\n  joinTokenText(toks) {\n    return toks.map(\n      (t) => t.kind === \"keyword\" ? t.normalized ?? t.value : t.value\n    ).join(\" \").trim();\n  }\n  /** Whether a command pattern matches at the head of the given token slice. */\n  tokensBeginCommand(toks, commandPatterns, language) {\n    if (toks.length === 0) return false;\n    const stream = new TokenStreamImpl(toks, language);\n    return patternMatcher.matchBest(stream, commandPatterns) !== null;\n  }\n  /**\n   * Whether the token slice begins an SOV *verb-medial* command\n   * (`{value} {marker} … {verb} …`, e.g. `triggerEl を 設定 私 に` = `set triggerEl\n   * to me`). matchBest can't recognise these — it anchors on a selector/typed\n   * role — so the conditional split's {@link tokensBeginCommand} misses a\n   * verb-medial then-branch head and folds it into the condition (the A2a\n   * behavior-`init` `set` drop: the then-branch parser handles `set` fine once it\n   * *receives* it; only the boundary detection was blind to it).\n   *\n   * Mirrors the recognition {@link parseSOVClauseByVerbAnchoring} relies on: one\n   * or more `{value}{particle-marker}` role pairs followed by a command verb\n   * keyword. Conservative by construction — a bare-verb command (no leading role)\n   * already matches via matchBest, and a condition predicate (`X is empty`,\n   * `X exists`) carries copulas/operators rather than a `{value}{marker}{verb}`\n   * head, so it can't spuriously trip this.\n   */\n  sovCommandStartsAt(toks, verbLookup) {\n    if (!verbLookup) return false;\n    const isVerb = (t) => verbLookup.has(t.value.toLowerCase()) || !!t.normalized && verbLookup.has(t.normalized.toLowerCase());\n    const isValue = (t) => t.kind === \"identifier\" || t.kind === \"selector\" || t.kind === \"literal\" || t.kind === \"reference\";\n    let i = 0;\n    let pairs = 0;\n    while (i + 1 < toks.length) {\n      const val = toks[i];\n      const mark = toks[i + 1];\n      if (!isValue(val) || mark.kind !== \"particle\") break;\n      pairs += 1;\n      i += 2;\n      const next = toks[i];\n      if (pairs >= 1 && next && isVerb(next)) return true;\n    }\n    return false;\n  }\n  /**\n   * Parse a conditional branch's tokens into a flat list of statements. Reuses\n   * `parseBodyWithClauses` (so then-chains, juxtaposed commands, and nested\n   * conditionals inside the branch all work), then unwraps a single top-level\n   * compound into its statements so the branch array is flat.\n   */\n  parseBranch(toks, commandPatterns, language) {\n    if (toks.length === 0) return [];\n    const stream = new TokenStreamImpl(toks, language);\n    const parsed = this.parseBodyWithClauses(stream, commandPatterns, language);\n    if (parsed.length === 1 && parsed[0]?.kind === \"compound\") {\n      return parsed[0].statements;\n    }\n    return parsed;\n  }\n  /**\n   * Extract standalone event modifiers from the beginning of input.\n   * Returns the modifiers (if any) and the remaining input string.\n   */\n  extractStandaloneModifiers(input, _language) {\n    const tokens = tokenize3(input, _language);\n    const allTokens = tokens.tokens;\n    if (allTokens.length === 0) return { modifiers: null, remainingInput: null };\n    const firstToken = allTokens[0];\n    const firstLower = firstToken.value.toLowerCase();\n    const modType = _SemanticParserImpl.STANDALONE_MODIFIERS[firstLower];\n    if (!modType) return { modifiers: null, remainingInput: null };\n    const modifiers = {};\n    let tokensToSkip = 1;\n    if (modType === \"once\") {\n      modifiers.once = true;\n    } else {\n      let nextIdx = 1;\n      if (nextIdx < allTokens.length) {\n        const nextToken = allTokens[nextIdx];\n        if (nextToken.kind === \"keyword\" || nextToken.kind === \"particle\") {\n          nextIdx++;\n          tokensToSkip++;\n        }\n      }\n      if (nextIdx < allTokens.length) {\n        const durToken = allTokens[nextIdx];\n        if (durToken.kind === \"literal\") {\n          const match = durToken.value.match(/^(\\d+)(ms|s|m)?$/);\n          if (match) {\n            let ms = parseInt(match[1], 10);\n            const unit = match[2] || \"ms\";\n            if (unit === \"s\") ms *= 1e3;\n            else if (unit === \"m\") ms *= 6e4;\n            modifiers[modType] = ms;\n            tokensToSkip = nextIdx + 1;\n          }\n        }\n      }\n      if (!modifiers[modType]) {\n        modifiers[modType] = modType === \"debounce\" ? 300 : 100;\n      }\n    }\n    const remainingTokens = allTokens.slice(tokensToSkip);\n    if (remainingTokens.length === 0) return { modifiers: null, remainingInput: null };\n    const startPos = remainingTokens[0].position.start;\n    const remainingInput = input.slice(startPos);\n    return { modifiers, remainingInput };\n  }\n  /**\n   * Remove a transparent `async` command-modifier keyword from the input so the\n   * following command (not `async`) is parsed as the action. The async keyword is\n   * found anywhere in the stream (the grammar transformer relocates it by word\n   * order — leading in VSO, after the event in SVO, verb-final in SOV) and matched\n   * against the language profile's `async` form (primary + alternatives) plus the\n   * English literal the transformer passes through for profiles without a native\n   * form. Returns `remainingInput: null` when there's no async keyword, so the\n   * normal path is byte-identical.\n   */\n  stripAsyncModifier(input, language) {\n    const kw = tryGetProfile(language)?.keywords?.async;\n    const forms = /* @__PURE__ */ new Set([\"async\"]);\n    if (kw?.primary) forms.add(kw.primary.toLowerCase());\n    kw?.alternatives?.forEach((a) => forms.add(a.toLowerCase()));\n    const allTokens = tokenize3(input, language).tokens;\n    const idx = allTokens.findIndex((t) => forms.has(t.value.toLowerCase()));\n    if (idx === -1) return { remainingInput: null };\n    const tok = allTokens[idx];\n    const stripped = (input.slice(0, tok.position.start) + input.slice(tok.position.end)).replace(/\\s{2,}/g, \" \").trim();\n    if (stripped.length === 0) return { remainingInput: null };\n    return { remainingInput: stripped };\n  }\n  /**\n   * Strip the `do [not] throw` fetch-error modifier (see the call site for why).\n   * Anchored on the leaked English `do` literal — present in every SOV translation\n   * of the phrase — followed within two tokens by a `throw`-normalized verb (a\n   * negation may sit between: ja `ではない`, ko `아니`, hi `नहीं`, tr `değil`, bn\n   * `না`, en `not`). Removes the `do … throw` span from the source string. Returns\n   * `{ remainingInput: null }` when no such span exists, so the caller leaves the\n   * input untouched.\n   */\n  stripDoNotThrowModifier(input, language) {\n    const allTokens = tokenize3(input, language).tokens;\n    for (let i = 0; i < allTokens.length - 1; i++) {\n      if (allTokens[i].value.toLowerCase() !== \"do\") continue;\n      let throwIdx = -1;\n      for (let j = i + 1; j <= i + 5 && j < allTokens.length; j++) {\n        const tj = allTokens[j];\n        if (tj.normalized?.toLowerCase() === \"throw\") {\n          throwIdx = j;\n          break;\n        }\n        const k = tj.kind;\n        if (k === \"selector\" || k === \"literal\" || k === \"reference\" || k === \"conjunction\") {\n          break;\n        }\n      }\n      if (throwIdx === -1) continue;\n      const start = allTokens[i].position.start;\n      const end = allTokens[throwIdx].position.end;\n      const stripped = (input.slice(0, start) + input.slice(end)).replace(/\\s{2,}/g, \" \").trim();\n      if (stripped.length === 0) return { remainingInput: null };\n      return { remainingInput: stripped };\n    }\n    return { remainingInput: null };\n  }\n  /**\n   * Apply standalone modifiers to an event handler node.\n   */\n  applyModifiers(node, modifiers) {\n    return {\n      ...node,\n      eventModifiers: {\n        ...node.eventModifiers,\n        ...modifiers\n      }\n    };\n  }\n  /**\n   * Extract \"or\" conjunction events from the token stream.\n   * If the next tokens follow the pattern \"or EVENT [or EVENT ...]\",\n   * consume them and return the additional event values.\n   *\n   * The token stream is advanced past any consumed \"or EVENT\" tokens.\n   */\n  extractOrConjunctionEvents(tokens, _language) {\n    const additionalEvents = [];\n    while (true) {\n      const mark = tokens.mark();\n      const orToken = tokens.peek();\n      if (!orToken) break;\n      const orLower = (orToken.normalized || orToken.value).toLowerCase();\n      if (!_SemanticParserImpl.OR_KEYWORDS.has(orLower)) {\n        tokens.reset(mark);\n        break;\n      }\n      tokens.advance();\n      const eventToken = tokens.peek();\n      if (!eventToken) {\n        tokens.reset(mark);\n        break;\n      }\n      const eventLower = (eventToken.normalized || eventToken.value).toLowerCase();\n      tokens.advance();\n      additionalEvents.push({ type: \"literal\", value: eventLower });\n    }\n    return additionalEvents;\n  }\n};\n// ==========================================================================\n// SOV Event Trigger Extraction\n// ==========================================================================\n/**\n * Known event names for detection (common DOM events).\n */\n_SemanticParserImpl.KNOWN_EVENTS = /* @__PURE__ */ new Set([\n  \"click\",\n  \"dblclick\",\n  \"input\",\n  \"change\",\n  \"submit\",\n  \"keydown\",\n  \"keyup\",\n  \"keypress\",\n  \"mouseover\",\n  \"mouseout\",\n  \"mousedown\",\n  \"mouseup\",\n  \"focus\",\n  \"blur\",\n  \"load\",\n  \"scroll\",\n  \"resize\",\n  \"contextmenu\"\n]);\n/**\n * SOV event marker particles per language (postpositions that mark the event role).\n * Korean has no event marker particle -- the event keyword stands alone.\n */\n/**\n * Known `fetch … as <type>` response-type words. Untranslated loanwords in\n * every corpus language (the transformer localizes the `as` marker, never the\n * word), so a value-set gate is language-invariant. Used by the trailing\n * response-type reclaim in {@link buildEventHandler} — mirrors core's\n * supported conversions (json/text/html/response + binary forms).\n */\n_SemanticParserImpl.RESPONSE_TYPE_WORDS = /* @__PURE__ */ new Set([\n  \"json\",\n  \"text\",\n  \"html\",\n  \"xml\",\n  \"blob\",\n  \"arraybuffer\",\n  \"formdata\",\n  \"response\"\n]);\n_SemanticParserImpl.SOV_EVENT_MARKERS = {\n  ja: /* @__PURE__ */ new Set([\"\\u3067\"]),\n  ko: /* @__PURE__ */ new Set(),\n  // ko's marker is the two-token 할 때 phrase — see SOV_EVENT_MARKER_PHRASES\n  tr: /* @__PURE__ */ new Set([\"de\", \"da\", \"te\", \"ta\"]),\n  bn: /* @__PURE__ */ new Set([\"\\u098F\"]),\n  qu: /* @__PURE__ */ new Set([\"pi\"]),\n  // hi's event-on marker (`क्लिक पर` = \"on click\"). hi was the only priority SOV\n  // language WITHOUT a Stage-3 SOV event-extraction fallback, so an event handler\n  // whose generated pattern doesn't cover the emitted role order — notably the\n  // patient-first 2-role shape `{patient} को {event} पर {verb} {destination} में`\n  // (append-content) — used to survive only via the bare-event mis-anchor (the\n  // fronted patient grabbed as a degenerate \"event\"). With the event-anchor guard\n  // rejecting that, this fallback recovers the real `<known-event> पर` trigger and\n  // re-parses the body. Stage 3 runs only when Stages 1–2 fail, and the known-event\n  // gate + body re-parse keep it additive (NULL → parse, never overriding a match).\n  hi: /* @__PURE__ */ new Set([\"\\u092A\\u0930\"])\n};\n/**\n * OPTIONAL multi-token event-marker phrases consumed after the event token.\n * The ko i18n profile emits 할 때 after the event role; it tokenizes as TWO\n * tokens (할 identifier + 때 keyword), invisible to the single-token marker\n * check above. Unlike SOV_EVENT_MARKERS these never gate event detection —\n * ko events still anchor bare (pre-marker emissions, hand-written input) —\n * the phrase is just consumed when present so it doesn't leak into the body,\n * and it CONFIRMS a custom (identifier) event the way ja's で does.\n */\n_SemanticParserImpl.SOV_EVENT_MARKER_PHRASES = {\n  ko: [[\"\\uD560\", \"\\uB54C\"], [\"\\uD560\\uB54C\"]]\n};\n/**\n * SOV source markers (\"from\" equivalents) and window tokens per language.\n * Used to strip \"from window/elsewhere\" event modifiers.\n */\n_SemanticParserImpl.SOV_SOURCE_MARKERS = {\n  ja: {\n    markers: /* @__PURE__ */ new Set([\"\\u304B\\u3089\"]),\n    windowTokens: /* @__PURE__ */ new Set([\"\\u30A6\\u30A3\\u30F3\\u30C9\\u30A6\", \"\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\", \"window\", \"document\"])\n  },\n  ko: {\n    markers: /* @__PURE__ */ new Set([\"\\uC5D0\\uC11C\"]),\n    windowTokens: /* @__PURE__ */ new Set([\"\\uCC3D\", \"\\uC708\\uB3C4\\uC6B0\", \"\\uBB38\\uC11C\", \"window\", \"document\"])\n  },\n  tr: {\n    markers: /* @__PURE__ */ new Set([\"den\", \"dan\", \"ten\", \"tan\"]),\n    windowTokens: /* @__PURE__ */ new Set([\"pencere\", \"belge\", \"window\", \"document\"])\n  },\n  bn: {\n    markers: /* @__PURE__ */ new Set([\"\\u09A5\\u09C7\\u0995\\u09C7\", \"\\u09AE\\u09A7\\u09CD\\u09AF\\u09C7\"]),\n    windowTokens: /* @__PURE__ */ new Set([\"\\u0989\\u0987\\u09A8\\u09CD\\u09A1\\u09CB\", \"\\u09A1\\u0995\\u09C1\\u09AE\\u09C7\\u09A8\\u09CD\\u099F\", \"window\", \"document\"])\n  },\n  qu: {\n    markers: /* @__PURE__ */ new Set([\"manta\"]),\n    windowTokens: /* @__PURE__ */ new Set([\"k_iri\", \"ventana\", \"window\", \"document\"])\n  },\n  hi: {\n    markers: /* @__PURE__ */ new Set([\"\\u0938\\u0947\"]),\n    windowTokens: /* @__PURE__ */ new Set([\"\\u0935\\u093F\\u0902\\u0921\\u094B\", \"\\u0926\\u0938\\u094D\\u0924\\u093E\\u0935\\u0947\\u091C\\u093C\", \"window\", \"document\"])\n  }\n};\n/**\n * Copula / negation words that, when they immediately precede a token, keep that\n * token inside the condition even if it doubles as a command verb. `empty` is\n * both the `empty` command and the predicate adjective in `is empty`; without\n * this guard `if my value is empty add …` would truncate the condition at\n * `empty` and treat it as the then-branch's first command.\n */\n_SemanticParserImpl.CONDITION_COPULAS = /* @__PURE__ */ new Set([\n  \"is\",\n  \"am\",\n  \"are\",\n  \"be\",\n  \"was\",\n  \"were\",\n  \"not\",\n  \"no\"\n]);\n/**\n * Rendered copulas that tokenize as bare IDENTIFIERS (no normalization), or —\n * ar هو — normalize to an unrelated sense (`it`), so {@link CONDITION_COPULAS}\n * can't catch them. Without these, the i18n-rendered `if my value <copula>\n * <empty-word> add …` split the condition at the predicate — the empty-word\n * doubles as the language's `empty`/`null` COMMAND keyword — and a phantom\n * `empty me` command opened the then-branch (if-empty / input-validation, the\n * spurious-`empty` ×22 R0-precision family).\n *\n * Unlike the normalized copulas above, these suppress the split ONLY when the\n * next token is a predicate ADJECTIVE (normalizes to empty/null/undefined):\n * several are ambiguous with other senses (ar هو is also the pronoun `it`, and\n * `إذا هو اضبط …` = `if it set …` needs the split at the command verb). The\n * SOV members (bn হয়, hi है, tr dir) are behavior-neutral today — their\n * transformer scrambles the predicate away from the copula — but lock the\n * same contract should the render heal.\n */\n_SemanticParserImpl.CONDITION_COPULAS_SURFACE = /* @__PURE__ */ new Set([\n  \"est\",\n  // fr\n  \"\\u0435\\u0441\\u0442\\u044C\",\n  // ru\n  \"\\u0454\",\n  // uk\n  \"\\xE9\",\n  // pt\n  \"ay\",\n  // tl\n  \"\\u0647\\u0648\",\n  // ar (keyword norm=`it` — matched by surface VALUE)\n  \"adalah\",\n  // ms\n  \"\\u0E40\\u0E1B\\u0E47\\u0E19\",\n  // th\n  \"\\u09B9\\u09AF\\u09BC\",\n  // bn\n  \"\\u0939\\u0948\",\n  // hi\n  \"dir\",\n  // tr\n  \"kanqa\"\n  // qu (bare identifier, no norm; guards `kanqa chusaq` = `is empty/null`)\n]);\n/** Predicate adjectives (normalized) that follow a copula inside a condition. */\n_SemanticParserImpl.CONDITION_PREDICATES = /* @__PURE__ */ new Set([\"empty\", \"null\", \"undefined\"]);\n/**\n * Condition operators that join two operands inside an `if` condition\n * expression (`I match .x`, `me contains .y`, `#m exists`). An operator can\n * never begin a then-branch command, so the condition extraction must not\n * truncate AT one — but in SOV languages the then-branch verb is clause-final,\n * so a span like `match .disabled durdur` (tr) can spuriously match a verb-last\n * command pattern and break the condition at `match`, dropping the operator and\n * its right operand (tr if-matches; ja/ko/hi escape only because their halt\n * pattern happens not to match the equivalent span). Checked by the token's\n * normalized form too, so per-language `matches` keywords (ko 일치 → `matches`)\n * are covered; the corpus also leaks these as English across every language.\n */\n_SemanticParserImpl.CONDITION_OPERATORS = /* @__PURE__ */ new Set([\n  \"matches\",\n  \"match\",\n  \"contains\",\n  \"exists\",\n  \"has\",\n  \"have\",\n  \"equals\",\n  \"includes\"\n]);\n/**\n * Standalone event modifier keywords (loanwords used across languages).\n * Pattern: `[modifier] [preposition?] [duration?] [rest...]`\n */\n_SemanticParserImpl.STANDALONE_MODIFIERS = {\n  once: \"once\",\n  debounced: \"debounce\",\n  debounce: \"debounce\",\n  throttled: \"throttle\",\n  throttle: \"throttle\"\n};\n/**\n * \"Or\" conjunction keywords across languages for multiple events.\n * Maps lowercase keyword → true. Used to detect \"click or keydown\" patterns.\n */\n_SemanticParserImpl.OR_KEYWORDS = /* @__PURE__ */ new Set([\n  \"or\",\n  // EN\n  \"\\u0623\\u0648\",\n  // AR\n  \"o\",\n  // ES, TL\n  \"ou\",\n  // PT, FR\n  \"oder\",\n  // DE\n  \"atau\",\n  // ID\n  \"atau\",\n  // MS (same as ID)\n  \"\\u6216\",\n  // ZH\n  \"\\u307E\\u305F\\u306F\",\n  // JA\n  \"\\uB610\\uB294\",\n  // KO\n  \"veya\",\n  // TR\n  \"\\u0985\\u09A5\\u09AC\\u09BE\",\n  // BN\n  \"utaq\",\n  // QU\n  \"au\",\n  // SW\n  \"\\u0430\\u0431\\u043E\",\n  // UK\n  \"\\u0438\\u043B\\u0438\",\n  // RU\n  \"ho\\u1EB7c\",\n  // VI\n  \"lub\",\n  // PL\n  \"\\u05D0\\u05D5\",\n  // HE\n  \"\\u0E2B\\u0E23\\u0E37\\u0E2D\",\n  // TH\n  \"o\",\n  // IT\n  \"\\u092F\\u093E\",\n  // HI (tokenizes as a bare identifier; matched here by surface form)\n  \"\\u0985\\u09A5\\u09AC\\u09BE\"\n  // BN (idem)\n]);\nvar SemanticParserImpl = _SemanticParserImpl;\nvar semanticParser = new SemanticParserImpl();\nfunction parse(input, language) {\n  return semanticParser.parse(input, language);\n}\nfunction canParse(input, language) {\n  return semanticParser.canParse(input, language);\n}\nfunction getCommandType(input, language) {\n  try {\n    const node = semanticParser.parse(input, language);\n    return node.action;\n  } catch {\n    return null;\n  }\n}\n\n// src/utils/confidence-calculator.ts\ninit_registry();\nfunction calculateTranslationConfidence(hyperscript, language) {\n  try {\n    const tokens = tokenize3(hyperscript, language);\n    const patterns = getPatternsForLanguage(language);\n    if (patterns.length === 0) {\n      return {\n        confidence: 0,\n        parseSuccess: false,\n        error: `No patterns available for language: ${language}`\n      };\n    }\n    const sortedPatterns = [...patterns].sort((a, b) => b.priority - a.priority);\n    const eventPatterns = sortedPatterns.filter((p) => p.command === \"on\");\n    const eventMatch = patternMatcher.matchBest(tokens, eventPatterns);\n    if (eventMatch) {\n      return {\n        confidence: eventMatch.confidence,\n        parseSuccess: true,\n        patternId: eventMatch.pattern.id,\n        action: eventMatch.pattern.command,\n        tokensConsumed: eventMatch.consumedTokens\n      };\n    }\n    tokens.reset(tokens.mark());\n    const commandPatterns = sortedPatterns.filter((p) => p.command !== \"on\");\n    const commandMatch = patternMatcher.matchBest(tokens, commandPatterns);\n    if (commandMatch) {\n      return {\n        confidence: commandMatch.confidence,\n        parseSuccess: true,\n        patternId: commandMatch.pattern.id,\n        action: commandMatch.pattern.command,\n        tokensConsumed: commandMatch.consumedTokens\n      };\n    }\n    return {\n      confidence: 0,\n      parseSuccess: false,\n      error: `Could not match any patterns for: ${hyperscript}`\n    };\n  } catch (error) {\n    return {\n      confidence: 0,\n      parseSuccess: false,\n      error: error instanceof Error ? error.message : String(error)\n    };\n  }\n}\nfunction parseWithConfidence(hyperscript, language) {\n  try {\n    const node = parse(hyperscript, language);\n    if (node) {\n      return {\n        node,\n        confidence: node.metadata?.confidence ?? 0.8,\n        error: void 0,\n        tokensConsumed: tokenize3(hyperscript, language).tokens.length\n      };\n    }\n  } catch {\n  }\n  const confidenceResult = calculateTranslationConfidence(hyperscript, language);\n  if (!confidenceResult.parseSuccess) {\n    return {\n      node: null,\n      confidence: 0,\n      error: confidenceResult.error\n    };\n  }\n  return {\n    node: null,\n    confidence: confidenceResult.confidence,\n    error: void 0,\n    tokensConsumed: confidenceResult.tokensConsumed\n  };\n}\n\n// src/explicit/converter.ts\nfunction toExplicit(input, sourceLanguage) {\n  if (isExplicitSyntax(input)) {\n    return input;\n  }\n  const node = parse(input, sourceLanguage);\n  return renderExplicit(node);\n}\nfunction fromExplicit(explicit, targetLanguage) {\n  const node = parseExplicit(explicit);\n  return render(node, targetLanguage);\n}\nfunction translate(input, sourceLanguage, targetLanguage) {\n  if (isExplicitSyntax(input)) {\n    return fromExplicit(input, targetLanguage);\n  }\n  const node = parse(input, sourceLanguage);\n  return render(node, targetLanguage);\n}\nfunction parseAny(input, language) {\n  if (isExplicitSyntax(input)) {\n    return parseExplicit(input);\n  }\n  return parse(input, language);\n}\nfunction roundTrip(input, sourceLanguage, targetLanguage) {\n  const semantic = parseAny(input, sourceLanguage);\n  const outputLanguage = targetLanguage ?? sourceLanguage;\n  const rendered = isExplicitSyntax(input) ? renderExplicit(semantic) : render(semantic, outputLanguage);\n  if (targetLanguage !== void 0) {\n    return rendered;\n  }\n  const normalizedOriginal = input.trim().toLowerCase();\n  const normalizedRendered = rendered.trim().toLowerCase();\n  return {\n    original: input,\n    semantic,\n    rendered,\n    matches: normalizedOriginal === normalizedRendered\n  };\n}\nfunction getAllTranslations(input, sourceLanguage, targetLanguages = [\n  \"en\",\n  \"ja\",\n  \"ar\",\n  \"es\",\n  \"ko\",\n  \"zh\",\n  \"tr\",\n  \"pt\",\n  \"fr\",\n  \"de\",\n  \"id\",\n  \"qu\",\n  \"sw\"\n]) {\n  const result = {};\n  const node = parseAny(input, sourceLanguage);\n  for (const lang of targetLanguages) {\n    result[lang] = render(node, lang);\n  }\n  result[\"explicit\"] = renderExplicit(node);\n  return result;\n}\nfunction validateTranslation(original, translated, originalLang, translatedLang) {\n  try {\n    const originalNode = parseAny(original, originalLang);\n    const translatedNode = parseAny(translated, translatedLang);\n    if (originalNode.action !== translatedNode.action) {\n      return false;\n    }\n    for (const [role, value] of originalNode.roles) {\n      const translatedValue = translatedNode.roles.get(role);\n      if (!translatedValue) {\n        return false;\n      }\n      if (!semanticValuesEqual(value, translatedValue)) {\n        return false;\n      }\n    }\n    return true;\n  } catch {\n    return false;\n  }\n}\nfunction semanticValuesEqual(a, b) {\n  if (a.type !== b.type) return false;\n  switch (a.type) {\n    case \"literal\":\n      return a.value === b.value;\n    case \"selector\":\n      return a.value === b.value;\n    case \"reference\":\n      return a.value === b.value;\n    case \"property-path\":\n      return semanticValuesEqual(a.object, b.object) && a.property === b.property;\n    case \"expression\":\n      return a.raw === b.raw;\n    case \"flag\":\n      return a.name === b.name && a.enabled === b.enabled;\n    default:\n      return false;\n  }\n}\n\n// src/cache/semantic-cache.ts\nvar SemanticCache = class {\n  constructor(config = {}) {\n    this.cache = /* @__PURE__ */ new Map();\n    this.config = {\n      maxSize: config.maxSize ?? 1e3,\n      ttlMs: config.ttlMs ?? 0,\n      enabled: config.enabled ?? true\n    };\n    this.stats = {\n      hits: 0,\n      misses: 0,\n      evictions: 0,\n      expirations: 0\n    };\n  }\n  /**\n   * Generate cache key from input and language.\n   */\n  makeKey(input, language) {\n    return `${language}:${input}`;\n  }\n  /**\n   * Check if an entry has expired.\n   */\n  isExpired(entry) {\n    if (this.config.ttlMs === 0) return false;\n    return Date.now() - entry.createdAt > this.config.ttlMs;\n  }\n  /**\n   * Evict the least recently used entry.\n   */\n  evictLRU() {\n    const firstKey = this.cache.keys().next().value;\n    if (firstKey !== void 0) {\n      this.cache.delete(firstKey);\n      this.stats.evictions++;\n    }\n  }\n  /**\n   * Get a cached result.\n   *\n   * @param input - The input string\n   * @param language - The language code\n   * @returns The cached result, or undefined if not found/expired\n   */\n  get(input, language) {\n    if (!this.config.enabled) {\n      this.stats.misses++;\n      return void 0;\n    }\n    const key = this.makeKey(input, language);\n    const entry = this.cache.get(key);\n    if (!entry) {\n      this.stats.misses++;\n      return void 0;\n    }\n    if (this.isExpired(entry)) {\n      this.cache.delete(key);\n      this.stats.expirations++;\n      this.stats.misses++;\n      return void 0;\n    }\n    this.cache.delete(key);\n    entry.lastAccessed = Date.now();\n    this.cache.set(key, entry);\n    this.stats.hits++;\n    return entry.result;\n  }\n  /**\n   * Store a result in the cache.\n   *\n   * @param input - The input string\n   * @param language - The language code\n   * @param result - The analysis result to cache\n   */\n  set(input, language, result) {\n    if (!this.config.enabled) return;\n    if (result !== null && typeof result === \"object\" && \"confidence\" in result && result.confidence === 0) {\n      return;\n    }\n    const key = this.makeKey(input, language);\n    const now = Date.now();\n    while (this.cache.size >= this.config.maxSize) {\n      this.evictLRU();\n    }\n    this.cache.set(key, {\n      result,\n      createdAt: now,\n      lastAccessed: now\n    });\n  }\n  /**\n   * Check if a result is cached (without updating LRU).\n   */\n  has(input, language) {\n    if (!this.config.enabled) return false;\n    const key = this.makeKey(input, language);\n    const entry = this.cache.get(key);\n    if (!entry) return false;\n    if (this.isExpired(entry)) {\n      this.cache.delete(key);\n      this.stats.expirations++;\n      return false;\n    }\n    return true;\n  }\n  /**\n   * Remove a specific entry from the cache.\n   */\n  delete(input, language) {\n    const key = this.makeKey(input, language);\n    return this.cache.delete(key);\n  }\n  /**\n   * Clear all cached entries.\n   */\n  clear() {\n    this.cache.clear();\n  }\n  /**\n   * Reset statistics.\n   */\n  resetStats() {\n    this.stats = {\n      hits: 0,\n      misses: 0,\n      evictions: 0,\n      expirations: 0\n    };\n  }\n  /**\n   * Get cache statistics.\n   */\n  getStats() {\n    const total = this.stats.hits + this.stats.misses;\n    return {\n      hits: this.stats.hits,\n      misses: this.stats.misses,\n      size: this.cache.size,\n      maxSize: this.config.maxSize,\n      hitRate: total > 0 ? this.stats.hits / total : 0,\n      evictions: this.stats.evictions,\n      expirations: this.stats.expirations,\n      enabled: this.config.enabled\n    };\n  }\n  /**\n   * Update cache configuration.\n   */\n  configure(config) {\n    if (config.maxSize !== void 0) {\n      this.config.maxSize = config.maxSize;\n      while (this.cache.size > this.config.maxSize) {\n        this.evictLRU();\n      }\n    }\n    if (config.ttlMs !== void 0) {\n      this.config.ttlMs = config.ttlMs;\n    }\n    if (config.enabled !== void 0) {\n      this.config.enabled = config.enabled;\n    }\n  }\n  /**\n   * Enable caching.\n   */\n  enable() {\n    this.config.enabled = true;\n  }\n  /**\n   * Disable caching.\n   */\n  disable() {\n    this.config.enabled = false;\n  }\n  /**\n   * Get current configuration.\n   */\n  getConfig() {\n    return { ...this.config };\n  }\n};\nvar semanticCache = new SemanticCache();\nfunction createSemanticCache(config) {\n  return new SemanticCache(config);\n}\nfunction withCache(analyzeFn, cache = semanticCache) {\n  return ((input, language) => {\n    const cached = cache.get(input, language);\n    if (cached) {\n      return cached;\n    }\n    const result = analyzeFn(input, language);\n    cache.set(input, language, result);\n    return result;\n  });\n}\n\n// src/languages/ar.ts\ninit_arabic2();\ninit_arabic();\nregisterLanguage(\"ar\", arabicTokenizer, arabicProfile);\n\n// src/languages/bn.ts\ninit_bengali2();\ninit_bengali();\nregisterLanguage(\"bn\", bengaliTokenizer, bengaliProfile);\n\n// src/languages/de.ts\ninit_german2();\ninit_german();\nregisterLanguage(\"de\", germanTokenizer, germanProfile);\n\n// src/languages/en.ts\ninit_english2();\ninit_english();\ninit_en();\nregisterLanguage(\"en\", englishTokenizer, englishProfile);\nregisterPatterns(\"en\", buildEnglishPatterns());\n\n// src/languages/es.ts\ninit_spanish2();\ninit_spanish();\nregisterLanguage(\"es\", spanishTokenizer, spanishProfile);\n\n// src/languages/fr.ts\ninit_french2();\ninit_french();\nregisterLanguage(\"fr\", frenchTokenizer, frenchProfile);\n\n// src/languages/he.ts\ninit_he2();\ninit_he();\nregisterLanguage(\"he\", hebrewTokenizer, hebrewProfile);\n\n// src/languages/hi.ts\ninit_hindi2();\ninit_hindi();\nregisterLanguage(\"hi\", hindiTokenizer, hindiProfile);\n\n// src/languages/id.ts\ninit_indonesian2();\ninit_indonesian();\nregisterLanguage(\"id\", indonesianTokenizer, indonesianProfile);\n\n// src/languages/it.ts\ninit_italian2();\ninit_italian();\nregisterLanguage(\"it\", italianTokenizer, italianProfile);\n\n// src/languages/ja.ts\ninit_japanese2();\ninit_japanese();\nregisterLanguage(\"ja\", japaneseTokenizer, japaneseProfile);\n\n// src/languages/ko.ts\ninit_korean2();\ninit_korean();\nregisterLanguage(\"ko\", koreanTokenizer, koreanProfile);\n\n// src/languages/ms.ts\ninit_ms2();\ninit_ms();\nregisterLanguage(\"ms\", malayTokenizer, malayProfile);\n\n// src/languages/pl.ts\ninit_polish2();\ninit_polish();\nregisterLanguage(\"pl\", polishTokenizer, polishProfile);\n\n// src/languages/pt.ts\ninit_portuguese2();\ninit_portuguese();\nregisterLanguage(\"pt\", portugueseTokenizer, portugueseProfile);\n\n// src/languages/qu.ts\ninit_quechua2();\ninit_quechua();\nregisterLanguage(\"qu\", quechuaTokenizer, quechuaProfile);\n\n// src/languages/ru.ts\ninit_russian2();\ninit_russian();\nregisterLanguage(\"ru\", russianTokenizer, russianProfile);\n\n// src/languages/sw.ts\ninit_swahili2();\ninit_swahili();\nregisterLanguage(\"sw\", swahiliTokenizer, swahiliProfile);\n\n// src/languages/th.ts\ninit_thai2();\ninit_thai();\nregisterLanguage(\"th\", thaiTokenizer, thaiProfile);\n\n// src/languages/tl.ts\ninit_tl2();\ninit_tl();\nregisterLanguage(\"tl\", tagalogTokenizer, tagalogProfile);\n\n// src/languages/tr.ts\ninit_turkish2();\ninit_turkish();\nregisterLanguage(\"tr\", turkishTokenizer, turkishProfile);\n\n// src/languages/uk.ts\ninit_ukrainian2();\ninit_ukrainian();\nregisterLanguage(\"uk\", ukrainianTokenizer, ukrainianProfile);\n\n// src/languages/vi.ts\ninit_vietnamese2();\ninit_vietnamese();\nregisterLanguage(\"vi\", vietnameseTokenizer, vietnameseProfile);\n\n// src/languages/zh.ts\ninit_chinese2();\ninit_chinese();\nregisterLanguage(\"zh\", chineseTokenizer, chineseProfile);\n\n// src/language-loader.ts\ninit_registry();\nvar LANGUAGE_IMPORTERS = {\n  en: async () => {\n    const { englishTokenizer: englishTokenizer2 } = await Promise.resolve().then(() => (init_english2(), english_exports2));\n    const { englishProfile: englishProfile2 } = await Promise.resolve().then(() => (init_english(), english_exports));\n    const { buildEnglishPatterns: buildEnglishPatterns2 } = await Promise.resolve().then(() => (init_en(), en_exports));\n    return {\n      tokenizer: englishTokenizer2,\n      profile: englishProfile2,\n      buildPatterns: buildEnglishPatterns2\n    };\n  },\n  es: async () => {\n    const { spanishTokenizer: spanishTokenizer2 } = await Promise.resolve().then(() => (init_spanish2(), spanish_exports2));\n    const { spanishProfile: spanishProfile2 } = await Promise.resolve().then(() => (init_spanish(), spanish_exports));\n    return { tokenizer: spanishTokenizer2, profile: spanishProfile2 };\n  },\n  ja: async () => {\n    const { japaneseTokenizer: japaneseTokenizer2 } = await Promise.resolve().then(() => (init_japanese2(), japanese_exports2));\n    const { japaneseProfile: japaneseProfile2 } = await Promise.resolve().then(() => (init_japanese(), japanese_exports));\n    return { tokenizer: japaneseTokenizer2, profile: japaneseProfile2 };\n  },\n  ar: async () => {\n    const { arabicTokenizer: arabicTokenizer2 } = await Promise.resolve().then(() => (init_arabic2(), arabic_exports2));\n    const { arabicProfile: arabicProfile2 } = await Promise.resolve().then(() => (init_arabic(), arabic_exports));\n    return { tokenizer: arabicTokenizer2, profile: arabicProfile2 };\n  },\n  ko: async () => {\n    const { koreanTokenizer: koreanTokenizer2 } = await Promise.resolve().then(() => (init_korean2(), korean_exports2));\n    const { koreanProfile: koreanProfile2 } = await Promise.resolve().then(() => (init_korean(), korean_exports));\n    return { tokenizer: koreanTokenizer2, profile: koreanProfile2 };\n  },\n  zh: async () => {\n    const { chineseTokenizer: chineseTokenizer2 } = await Promise.resolve().then(() => (init_chinese2(), chinese_exports2));\n    const { chineseProfile: chineseProfile2 } = await Promise.resolve().then(() => (init_chinese(), chinese_exports));\n    return { tokenizer: chineseTokenizer2, profile: chineseProfile2 };\n  },\n  tr: async () => {\n    const { turkishTokenizer: turkishTokenizer2 } = await Promise.resolve().then(() => (init_turkish2(), turkish_exports2));\n    const { turkishProfile: turkishProfile2 } = await Promise.resolve().then(() => (init_turkish(), turkish_exports));\n    return { tokenizer: turkishTokenizer2, profile: turkishProfile2 };\n  },\n  pt: async () => {\n    const { portugueseTokenizer: portugueseTokenizer2 } = await Promise.resolve().then(() => (init_portuguese2(), portuguese_exports2));\n    const { portugueseProfile: portugueseProfile2 } = await Promise.resolve().then(() => (init_portuguese(), portuguese_exports));\n    return { tokenizer: portugueseTokenizer2, profile: portugueseProfile2 };\n  },\n  fr: async () => {\n    const { frenchTokenizer: frenchTokenizer2 } = await Promise.resolve().then(() => (init_french2(), french_exports2));\n    const { frenchProfile: frenchProfile2 } = await Promise.resolve().then(() => (init_french(), french_exports));\n    return { tokenizer: frenchTokenizer2, profile: frenchProfile2 };\n  },\n  de: async () => {\n    const { germanTokenizer: germanTokenizer2 } = await Promise.resolve().then(() => (init_german2(), german_exports2));\n    const { germanProfile: germanProfile2 } = await Promise.resolve().then(() => (init_german(), german_exports));\n    return { tokenizer: germanTokenizer2, profile: germanProfile2 };\n  },\n  id: async () => {\n    const { indonesianTokenizer: indonesianTokenizer2 } = await Promise.resolve().then(() => (init_indonesian2(), indonesian_exports2));\n    const { indonesianProfile: indonesianProfile2 } = await Promise.resolve().then(() => (init_indonesian(), indonesian_exports));\n    return { tokenizer: indonesianTokenizer2, profile: indonesianProfile2 };\n  },\n  qu: async () => {\n    const { quechuaTokenizer: quechuaTokenizer2 } = await Promise.resolve().then(() => (init_quechua2(), quechua_exports2));\n    const { quechuaProfile: quechuaProfile2 } = await Promise.resolve().then(() => (init_quechua(), quechua_exports));\n    return { tokenizer: quechuaTokenizer2, profile: quechuaProfile2 };\n  },\n  sw: async () => {\n    const { swahiliTokenizer: swahiliTokenizer2 } = await Promise.resolve().then(() => (init_swahili2(), swahili_exports2));\n    const { swahiliProfile: swahiliProfile2 } = await Promise.resolve().then(() => (init_swahili(), swahili_exports));\n    return { tokenizer: swahiliTokenizer2, profile: swahiliProfile2 };\n  },\n  bn: async () => {\n    const { bengaliTokenizer: bengaliTokenizer2 } = await Promise.resolve().then(() => (init_bengali2(), bengali_exports2));\n    const { bengaliProfile: bengaliProfile2 } = await Promise.resolve().then(() => (init_bengali(), bengali_exports));\n    return { tokenizer: bengaliTokenizer2, profile: bengaliProfile2 };\n  },\n  hi: async () => {\n    const { hindiTokenizer: hindiTokenizer2 } = await Promise.resolve().then(() => (init_hindi2(), hindi_exports2));\n    const { hindiProfile: hindiProfile2 } = await Promise.resolve().then(() => (init_hindi(), hindi_exports));\n    return { tokenizer: hindiTokenizer2, profile: hindiProfile2 };\n  },\n  it: async () => {\n    const { italianTokenizer: italianTokenizer2 } = await Promise.resolve().then(() => (init_italian2(), italian_exports2));\n    const { italianProfile: italianProfile2 } = await Promise.resolve().then(() => (init_italian(), italian_exports));\n    return { tokenizer: italianTokenizer2, profile: italianProfile2 };\n  },\n  ms: async () => {\n    const { malayTokenizer: malayTokenizer2 } = await Promise.resolve().then(() => (init_ms2(), ms_exports2));\n    const { malayProfile: malayProfile2 } = await Promise.resolve().then(() => (init_ms(), ms_exports));\n    return { tokenizer: malayTokenizer2, profile: malayProfile2 };\n  },\n  pl: async () => {\n    const { polishTokenizer: polishTokenizer2 } = await Promise.resolve().then(() => (init_polish2(), polish_exports2));\n    const { polishProfile: polishProfile2 } = await Promise.resolve().then(() => (init_polish(), polish_exports));\n    return { tokenizer: polishTokenizer2, profile: polishProfile2 };\n  },\n  ru: async () => {\n    const { russianTokenizer: russianTokenizer2 } = await Promise.resolve().then(() => (init_russian2(), russian_exports2));\n    const { russianProfile: russianProfile2 } = await Promise.resolve().then(() => (init_russian(), russian_exports));\n    return { tokenizer: russianTokenizer2, profile: russianProfile2 };\n  },\n  th: async () => {\n    const { thaiTokenizer: thaiTokenizer2 } = await Promise.resolve().then(() => (init_thai2(), thai_exports2));\n    const { thaiProfile: thaiProfile2 } = await Promise.resolve().then(() => (init_thai(), thai_exports));\n    return { tokenizer: thaiTokenizer2, profile: thaiProfile2 };\n  },\n  tl: async () => {\n    const { tagalogTokenizer: tagalogTokenizer2 } = await Promise.resolve().then(() => (init_tl2(), tl_exports2));\n    const { tagalogProfile: tagalogProfile2 } = await Promise.resolve().then(() => (init_tl(), tl_exports));\n    return { tokenizer: tagalogTokenizer2, profile: tagalogProfile2 };\n  },\n  uk: async () => {\n    const { ukrainianTokenizer: ukrainianTokenizer2 } = await Promise.resolve().then(() => (init_ukrainian2(), ukrainian_exports2));\n    const { ukrainianProfile: ukrainianProfile2 } = await Promise.resolve().then(() => (init_ukrainian(), ukrainian_exports));\n    return { tokenizer: ukrainianTokenizer2, profile: ukrainianProfile2 };\n  },\n  vi: async () => {\n    const { vietnameseTokenizer: vietnameseTokenizer2 } = await Promise.resolve().then(() => (init_vietnamese2(), vietnamese_exports2));\n    const { vietnameseProfile: vietnameseProfile2 } = await Promise.resolve().then(() => (init_vietnamese(), vietnamese_exports));\n    return { tokenizer: vietnameseTokenizer2, profile: vietnameseProfile2 };\n  },\n  he: async () => {\n    const { hebrewTokenizer: hebrewTokenizer2 } = await Promise.resolve().then(() => (init_he2(), he_exports2));\n    const { hebrewProfile: hebrewProfile2 } = await Promise.resolve().then(() => (init_he(), he_exports));\n    return { tokenizer: hebrewTokenizer2, profile: hebrewProfile2 };\n  }\n};\nvar SUPPORTED_LANGUAGES = Object.keys(LANGUAGE_IMPORTERS);\nfunction registerModule(code, module) {\n  registerLanguage(code, module.tokenizer, module.profile);\n  if (module.patterns) {\n    registerPatterns(code, module.patterns);\n  } else if (module.buildPatterns) {\n    registerPatterns(code, module.buildPatterns());\n  }\n}\nasync function loadFromUrl(code, url) {\n  try {\n    const response = await fetch(url);\n    if (!response.ok) {\n      throw new Error(`Failed to fetch ${url}: ${response.status} ${response.statusText}`);\n    }\n    const text = await response.text();\n    const blob = new Blob([text], { type: \"application/javascript\" });\n    const blobUrl = URL.createObjectURL(blob);\n    try {\n      const module = await import(\n        /* @vite-ignore */\n        blobUrl\n      );\n      if (!module.tokenizer || !module.profile) {\n        throw new Error(`Invalid language module: missing tokenizer or profile`);\n      }\n      return module;\n    } finally {\n      URL.revokeObjectURL(blobUrl);\n    }\n  } catch (error) {\n    throw new Error(\n      `Failed to load language '${code}' from ${url}: ${error instanceof Error ? error.message : String(error)}`\n    );\n  }\n}\nasync function loadLanguage(code, options = {}) {\n  const { url, module, skipIfRegistered = true } = options;\n  if (skipIfRegistered && isLanguageRegistered(code)) {\n    return { code, loaded: false };\n  }\n  try {\n    let languageModule;\n    if (module) {\n      languageModule = module;\n    } else if (url) {\n      languageModule = await loadFromUrl(code, url);\n    } else {\n      const importer = LANGUAGE_IMPORTERS[code];\n      if (!importer) {\n        throw new Error(`Unknown language: ${code}. Supported: ${SUPPORTED_LANGUAGES.join(\", \")}`);\n      }\n      languageModule = await importer();\n    }\n    registerModule(code, languageModule);\n    return { code, loaded: true };\n  } catch (error) {\n    return {\n      code,\n      loaded: false,\n      error: error instanceof Error ? error.message : String(error)\n    };\n  }\n}\nasync function loadLanguages(codes, options = {}) {\n  return Promise.all(codes.map((code) => loadLanguage(code, options)));\n}\nfunction canLoadLanguage(code) {\n  return code in LANGUAGE_IMPORTERS;\n}\nfunction getLoadedLanguages() {\n  return SUPPORTED_LANGUAGES.filter(isLanguageRegistered);\n}\nfunction getUnloadedLanguages() {\n  return SUPPORTED_LANGUAGES.filter((code) => !isLanguageRegistered(code));\n}\n\n// src/patterns/builders.ts\ninit_toggle();\n\n// src/patterns/take.ts\nfunction getTakePatternsForLanguage(language) {\n  switch (language) {\n    default:\n      return [];\n  }\n}\n\n// src/patterns/builders.ts\ninit_put();\ninit_event_handler();\n\n// src/patterns/grammar-transformed.ts\nfunction getGrammarTransformedPatternsForLanguage(language) {\n  void language;\n  return [];\n}\n\n// src/patterns/add.ts\nfunction getAddPatternsBn() {\n  return [\n    // Full pattern: .active কে যোগ করুন\n    {\n      id: \"add-bn-full\",\n      language: \"bn\",\n      command: \"add\",\n      priority: 100,\n      template: {\n        format: \"{patient} \\u0995\\u09C7 \\u09AF\\u09CB\\u0997 \\u0995\\u09B0\\u09C1\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0995\\u09C7\" },\n          { type: \"literal\", value: \"\\u09AF\\u09CB\\u0997\" },\n          { type: \"literal\", value: \"\\u0995\\u09B0\\u09C1\\u09A8\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 }\n      }\n    },\n    // Simple pattern: যোগ .active\n    {\n      id: \"add-bn-simple\",\n      language: \"bn\",\n      command: \"add\",\n      priority: 90,\n      template: {\n        format: \"\\u09AF\\u09CB\\u0997 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u09AF\\u09CB\\u0997\" },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    // With destination: #button এ .active কে যোগ করুন\n    {\n      id: \"add-bn-with-dest\",\n      language: \"bn\",\n      command: \"add\",\n      priority: 95,\n      template: {\n        format: \"{destination} \\u098F {patient} \\u0995\\u09C7 \\u09AF\\u09CB\\u0997 \\u0995\\u09B0\\u09C1\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u098F\", alternatives: [\"\\u09A4\\u09C7\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0995\\u09C7\" },\n          { type: \"literal\", value: \"\\u09AF\\u09CB\\u0997\" },\n          { type: \"literal\", value: \"\\u0995\\u09B0\\u09C1\\u09A8\" }\n        ]\n      },\n      extraction: {\n        destination: { position: 0 },\n        patient: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getAddPatternsHi() {\n  return [\n    // Full pattern: .class को #element में जोड़ें\n    {\n      id: \"add-hi-full\",\n      language: \"hi\",\n      command: \"add\",\n      priority: 100,\n      template: {\n        format: \"{patient} \\u0915\\u094B {destination} \\u092E\\u0947\\u0902 \\u091C\\u094B\\u0921\\u093C\\u0947\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0915\\u094B\" },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u092E\\u0947\\u0902\" },\n          { type: \"literal\", value: \"\\u091C\\u094B\\u0921\\u093C\\u0947\\u0902\", alternatives: [\"\\u091C\\u094B\\u0921\\u093C\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        destination: { marker: \"\\u092E\\u0947\\u0902\", position: 3 }\n      }\n    },\n    // Simple pattern: .class जोड़ें\n    {\n      id: \"add-hi-simple\",\n      language: \"hi\",\n      command: \"add\",\n      priority: 90,\n      template: {\n        format: \"{patient} \\u091C\\u094B\\u0921\\u093C\\u0947\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u091C\\u094B\\u0921\\u093C\\u0947\\u0902\", alternatives: [\"\\u091C\\u094B\\u0921\\u093C\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    },\n    // Bare pattern: जोड़ें .class\n    {\n      id: \"add-hi-bare\",\n      language: \"hi\",\n      command: \"add\",\n      priority: 80,\n      template: {\n        format: \"\\u091C\\u094B\\u0921\\u093C\\u0947\\u0902 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u091C\\u094B\\u0921\\u093C\\u0947\\u0902\", alternatives: [\"\\u091C\\u094B\\u0921\\u093C\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getAddPatternsIt() {\n  return [\n    {\n      id: \"add-it-full\",\n      language: \"it\",\n      command: \"add\",\n      priority: 100,\n      template: {\n        format: \"aggiungere {patient} a {target}\",\n        tokens: [\n          { type: \"literal\", value: \"aggiungere\", alternatives: [\"aggiungi\", \"add\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"a\", alternatives: [\"su\", \"in\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: {\n          marker: \"a\",\n          markerAlternatives: [\"su\", \"in\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"add-it-simple\",\n      language: \"it\",\n      command: \"add\",\n      priority: 90,\n      template: {\n        format: \"aggiungere {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"aggiungere\", alternatives: [\"aggiungi\", \"add\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getAddPatternsPl() {\n  return [\n    {\n      id: \"add-pl-full\",\n      language: \"pl\",\n      command: \"add\",\n      priority: 100,\n      template: {\n        format: \"dodaj {patient} do {destination}\",\n        tokens: [\n          // 'dołącz'/'dolacz' removed: the pl profile claims dołącz as APPEND's\n          // primary, but listing it here made the higher-priority handcrafted\n          // add pattern shadow the generated append pattern — append-content\n          // parsed as add. The tokenizer already normalizes dołącz → append.\n          { type: \"literal\", value: \"dodaj\" },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"do\", alternatives: [\"na\", \"w\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: {\n          marker: \"do\",\n          markerAlternatives: [\"na\", \"w\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"add-pl-simple\",\n      language: \"pl\",\n      command: \"add\",\n      priority: 90,\n      template: {\n        format: \"dodaj {patient}\",\n        tokens: [\n          // dołącz/dolacz removed — they are append's words (see add-pl-full).\n          { type: \"literal\", value: \"dodaj\" },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getAddPatternsQu() {\n  return [\n    // SOV pattern: .active ta yapay (patient + verb)\n    {\n      id: \"add-qu-sov\",\n      language: \"qu\",\n      command: \"add\",\n      priority: 100,\n      template: {\n        format: \"{patient} ta yapay\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"ta\" },\n          { type: \"literal\", value: \"yapay\", alternatives: [\"yapaykuy\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 }\n      }\n    },\n    // Simple pattern: yapay .active (verb + patient, more casual)\n    {\n      id: \"add-qu-simple\",\n      language: \"qu\",\n      command: \"add\",\n      priority: 90,\n      template: {\n        format: \"yapay {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"yapay\", alternatives: [\"yapaykuy\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    // Patient-first with destination: .active ta #button man yapay — the i18n\n    // transformer emits PATIENT-first SOV for qu (`.modal-open ta kurku man\n    // yapay`), the dest-first pattern below never matches that order\n    // (modal-open / repeat-for-each lossy).\n    {\n      id: \"add-qu-patient-first\",\n      language: \"qu\",\n      command: \"add\",\n      priority: 96,\n      template: {\n        format: \"{patient} ta {destination} man yapay\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"ta\" },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"man\" },\n          { type: \"literal\", value: \"yapay\", alternatives: [\"yapaykuy\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        destination: { position: 2 }\n      }\n    },\n    // With destination: #button man .active ta yapay\n    {\n      id: \"add-qu-with-dest\",\n      language: \"qu\",\n      command: \"add\",\n      priority: 95,\n      template: {\n        format: \"{destination} man {patient} ta yapay\",\n        tokens: [\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"man\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"ta\" },\n          { type: \"literal\", value: \"yapay\", alternatives: [\"yapaykuy\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 0 },\n        patient: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getAddPatternsRu() {\n  return [\n    {\n      id: \"add-ru-full\",\n      language: \"ru\",\n      command: \"add\",\n      priority: 100,\n      template: {\n        format: \"\\u0434\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C {patient} \\u043A {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0434\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C\", alternatives: [\"\\u0434\\u043E\\u0431\\u0430\\u0432\\u044C\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u043A\", alternatives: [\"\\u043D\\u0430\", \"\\u0432\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: {\n          marker: \"\\u043A\",\n          markerAlternatives: [\"\\u043D\\u0430\", \"\\u0432\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"add-ru-simple\",\n      language: \"ru\",\n      command: \"add\",\n      priority: 90,\n      template: {\n        format: \"\\u0434\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0434\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C\", alternatives: [\"\\u0434\\u043E\\u0431\\u0430\\u0432\\u044C\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getAddPatternsTh() {\n  return [];\n}\nfunction getAddPatternsUk() {\n  return [\n    {\n      id: \"add-uk-full\",\n      language: \"uk\",\n      command: \"add\",\n      priority: 100,\n      template: {\n        format: \"\\u0434\\u043E\\u0434\\u0430\\u0442\\u0438 {patient} \\u0434\\u043E {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0434\\u043E\\u0434\\u0430\\u0442\\u0438\", alternatives: [\"\\u0434\\u043E\\u0434\\u0430\\u0439\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u0434\\u043E\", alternatives: [\"\\u043D\\u0430\", \"\\u0432\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: {\n          marker: \"\\u0434\\u043E\",\n          markerAlternatives: [\"\\u043D\\u0430\", \"\\u0432\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"add-uk-simple\",\n      language: \"uk\",\n      command: \"add\",\n      priority: 90,\n      template: {\n        format: \"\\u0434\\u043E\\u0434\\u0430\\u0442\\u0438 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0434\\u043E\\u0434\\u0430\\u0442\\u0438\", alternatives: [\"\\u0434\\u043E\\u0434\\u0430\\u0439\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getAddPatternsVi() {\n  return [\n    {\n      id: \"add-vi-full\",\n      language: \"vi\",\n      command: \"add\",\n      priority: 100,\n      template: {\n        format: \"th\\xEAm {patient} v\\xE0o {target}\",\n        tokens: [\n          { type: \"literal\", value: \"th\\xEAm\", alternatives: [\"b\\u1ED5 sung\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"v\\xE0o\", alternatives: [\"cho\"] },\n              { type: \"role\", role: \"destination\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: {\n          marker: \"v\\xE0o\",\n          markerAlternatives: [\"cho\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"add-vi-simple\",\n      language: \"vi\",\n      command: \"add\",\n      priority: 90,\n      template: {\n        format: \"th\\xEAm {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"th\\xEAm\", alternatives: [\"b\\u1ED5 sung\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getAddPatternsZh() {\n  return [\n    {\n      id: \"add-zh-full\",\n      language: \"zh\",\n      command: \"add\",\n      priority: 100,\n      template: {\n        format: \"\\u7ED9 {destination} \\u6DFB\\u52A0 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u7ED9\", alternatives: [\"\\u70BA\", \"\\u4E3A\"] },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u6DFB\\u52A0\", alternatives: [\"\\u52A0\", \"\\u589E\\u52A0\", \"\\u52A0\\u4E0A\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { position: 3 }\n      }\n    },\n    {\n      id: \"add-zh-simple\",\n      language: \"zh\",\n      command: \"add\",\n      priority: 90,\n      template: {\n        format: \"\\u6DFB\\u52A0 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u6DFB\\u52A0\", alternatives: [\"\\u52A0\", \"\\u589E\\u52A0\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    },\n    {\n      id: \"add-zh-ba\",\n      language: \"zh\",\n      command: \"add\",\n      priority: 95,\n      template: {\n        format: \"\\u628A {patient} \\u6DFB\\u52A0\\u5230 {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u628A\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u6DFB\\u52A0\\u5230\", alternatives: [\"\\u52A0\\u5230\", \"\\u589E\\u52A0\\u5230\"] },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"\\u6DFB\\u52A0\\u5230\", markerAlternatives: [\"\\u52A0\\u5230\", \"\\u589E\\u52A0\\u5230\"] }\n      }\n    }\n  ];\n}\nfunction getAddPatternsForLanguage(language) {\n  switch (language) {\n    case \"bn\":\n      return getAddPatternsBn();\n    case \"hi\":\n      return getAddPatternsHi();\n    case \"it\":\n      return getAddPatternsIt();\n    case \"pl\":\n      return getAddPatternsPl();\n    case \"qu\":\n      return getAddPatternsQu();\n    case \"ru\":\n      return getAddPatternsRu();\n    case \"th\":\n      return getAddPatternsTh();\n    case \"uk\":\n      return getAddPatternsUk();\n    case \"vi\":\n      return getAddPatternsVi();\n    case \"zh\":\n      return getAddPatternsZh();\n    default:\n      return [];\n  }\n}\n\n// src/patterns/remove.ts\nfunction getRemovePatternsBn() {\n  return [\n    // Full pattern: .active কে সরান\n    {\n      id: \"remove-bn-full\",\n      language: \"bn\",\n      command: \"remove\",\n      priority: 100,\n      template: {\n        format: \"{patient} \\u0995\\u09C7 \\u09B8\\u09B0\\u09BE\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0995\\u09C7\" },\n          { type: \"literal\", value: \"\\u09B8\\u09B0\\u09BE\\u09A8\", alternatives: [\"\\u09AE\\u09C1\\u099B\\u09C1\\u09A8\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 }\n      }\n    },\n    // Simple pattern: সরান .active\n    {\n      id: \"remove-bn-simple\",\n      language: \"bn\",\n      command: \"remove\",\n      priority: 90,\n      template: {\n        format: \"\\u09B8\\u09B0\\u09BE\\u09A8 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u09B8\\u09B0\\u09BE\\u09A8\", alternatives: [\"\\u09AE\\u09C1\\u099B\\u09C1\\u09A8\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    // With source: #button থেকে .active কে সরান\n    {\n      id: \"remove-bn-with-source\",\n      language: \"bn\",\n      command: \"remove\",\n      priority: 95,\n      template: {\n        format: \"{source} \\u09A5\\u09C7\\u0995\\u09C7 {patient} \\u0995\\u09C7 \\u09B8\\u09B0\\u09BE\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"source\" },\n          { type: \"literal\", value: \"\\u09A5\\u09C7\\u0995\\u09C7\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0995\\u09C7\" },\n          { type: \"literal\", value: \"\\u09B8\\u09B0\\u09BE\\u09A8\", alternatives: [\"\\u09AE\\u09C1\\u099B\\u09C1\\u09A8\"] }\n        ]\n      },\n      extraction: {\n        source: { position: 0 },\n        patient: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getRemovePatternsHi() {\n  return [\n    // Full pattern: .class को #element से हटाएं\n    {\n      id: \"remove-hi-full\",\n      language: \"hi\",\n      command: \"remove\",\n      priority: 100,\n      template: {\n        format: \"{patient} \\u0915\\u094B {source} \\u0938\\u0947 \\u0939\\u091F\\u093E\\u090F\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0915\\u094B\" },\n          { type: \"role\", role: \"source\" },\n          { type: \"literal\", value: \"\\u0938\\u0947\" },\n          { type: \"literal\", value: \"\\u0939\\u091F\\u093E\\u090F\\u0902\", alternatives: [\"\\u0939\\u091F\\u093E\", \"\\u092E\\u093F\\u091F\\u093E\\u090F\\u0902\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        source: { marker: \"\\u0938\\u0947\", position: 3 }\n      }\n    },\n    // Simple pattern: .class हटाएं\n    {\n      id: \"remove-hi-simple\",\n      language: \"hi\",\n      command: \"remove\",\n      priority: 90,\n      template: {\n        format: \"{patient} \\u0939\\u091F\\u093E\\u090F\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0939\\u091F\\u093E\\u090F\\u0902\", alternatives: [\"\\u0939\\u091F\\u093E\", \"\\u092E\\u093F\\u091F\\u093E\\u090F\\u0902\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        source: { default: { type: \"reference\", value: \"me\" } }\n      }\n    },\n    // Bare pattern: हटाएं .class\n    {\n      id: \"remove-hi-bare\",\n      language: \"hi\",\n      command: \"remove\",\n      priority: 80,\n      template: {\n        format: \"\\u0939\\u091F\\u093E\\u090F\\u0902 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0939\\u091F\\u093E\\u090F\\u0902\", alternatives: [\"\\u0939\\u091F\\u093E\", \"\\u092E\\u093F\\u091F\\u093E\\u090F\\u0902\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getRemovePatternsIt() {\n  return [\n    {\n      id: \"remove-it-full\",\n      language: \"it\",\n      command: \"remove\",\n      priority: 100,\n      template: {\n        // The trailing `da X` is the element to remove FROM — role `source`,\n        // matching every other language's remove pattern and the removeMapper\n        // (which reads `source` only). It previously used `destination`, which\n        // the mapper ignores, so `rimuovere .x da corpo` silently removed from\n        // `me` instead of body (it modal-close-button R2 cell).\n        format: \"rimuovere {patient} da {source}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"rimuovere\",\n            alternatives: [\"rimuovi\", \"eliminare\", \"togliere\", \"remove\"]\n          },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"da\", alternatives: [\"di\"] },\n              { type: \"role\", role: \"source\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: {\n          marker: \"da\",\n          markerAlternatives: [\"di\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"remove-it-simple\",\n      language: \"it\",\n      command: \"remove\",\n      priority: 90,\n      template: {\n        format: \"rimuovere {patient}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"rimuovere\",\n            alternatives: [\"rimuovi\", \"eliminare\", \"togliere\", \"remove\"]\n          },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getRemovePatternsPl() {\n  return [\n    {\n      id: \"remove-pl-full\",\n      language: \"pl\",\n      command: \"remove\",\n      priority: 100,\n      template: {\n        format: \"usu\\u0144 {patient} z {source}\",\n        tokens: [\n          { type: \"literal\", value: \"usu\\u0144\", alternatives: [\"usun\", \"wyczy\\u015B\\u0107\", \"wyczysc\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"z\", alternatives: [\"od\", \"ze\"] },\n              { type: \"role\", role: \"source\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: {\n          marker: \"z\",\n          markerAlternatives: [\"od\", \"ze\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"remove-pl-simple\",\n      language: \"pl\",\n      command: \"remove\",\n      priority: 90,\n      template: {\n        format: \"usu\\u0144 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"usu\\u0144\", alternatives: [\"usun\", \"wyczy\\u015B\\u0107\", \"wyczysc\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getRemovePatternsQu() {\n  return [\n    // SOV pattern: .active ta qichuy (patient + verb)\n    {\n      id: \"remove-qu-sov\",\n      language: \"qu\",\n      command: \"remove\",\n      priority: 100,\n      template: {\n        format: \"{patient} ta qichuy\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"ta\" },\n          { type: \"literal\", value: \"qichuy\", alternatives: [\"hurquy\", \"anchuchiy\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 }\n      }\n    },\n    // Simple pattern: qichuy .active (verb + patient, more casual)\n    {\n      id: \"remove-qu-simple\",\n      language: \"qu\",\n      command: \"remove\",\n      priority: 90,\n      template: {\n        format: \"qichuy {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"qichuy\", alternatives: [\"hurquy\", \"anchuchiy\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    // Patient-first with source: .active ta #button manta qichuy — the i18n\n    // transformer emits PATIENT-first SOV for qu (`.highlight ta noqa manta\n    // qichuy`), but the source-first pattern below never matches that order,\n    // so every remove-with-source dropped (9 lossy patterns: tabs-basic,\n    // modal-close-button, dropdown-close-outside, window-scroll, …).\n    {\n      id: \"remove-qu-patient-first\",\n      language: \"qu\",\n      command: \"remove\",\n      priority: 96,\n      template: {\n        format: \"{patient} ta {source} manta qichuy\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"ta\" },\n          { type: \"role\", role: \"source\" },\n          { type: \"literal\", value: \"manta\" },\n          { type: \"literal\", value: \"qichuy\", alternatives: [\"hurquy\", \"anchuchiy\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        source: { position: 2 }\n      }\n    },\n    // With source: #button manta .active ta qichuy\n    {\n      id: \"remove-qu-with-source\",\n      language: \"qu\",\n      command: \"remove\",\n      priority: 95,\n      template: {\n        format: \"{source} manta {patient} ta qichuy\",\n        tokens: [\n          { type: \"role\", role: \"source\" },\n          { type: \"literal\", value: \"manta\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"ta\" },\n          { type: \"literal\", value: \"qichuy\", alternatives: [\"hurquy\", \"anchuchiy\"] }\n        ]\n      },\n      extraction: {\n        source: { position: 0 },\n        patient: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getRemovePatternsRu() {\n  return [\n    {\n      id: \"remove-ru-full\",\n      language: \"ru\",\n      command: \"remove\",\n      priority: 100,\n      template: {\n        format: \"\\u0443\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C {patient} \\u0438\\u0437 {source}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0443\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C\", alternatives: [\"\\u0443\\u0434\\u0430\\u043B\\u0438\", \"\\u0443\\u0431\\u0440\\u0430\\u0442\\u044C\", \"\\u0443\\u0431\\u0435\\u0440\\u0438\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u0438\\u0437\", alternatives: [\"\\u043E\\u0442\", \"\\u0441\"] },\n              { type: \"role\", role: \"source\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: {\n          marker: \"\\u0438\\u0437\",\n          markerAlternatives: [\"\\u043E\\u0442\", \"\\u0441\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"remove-ru-simple\",\n      language: \"ru\",\n      command: \"remove\",\n      priority: 90,\n      template: {\n        format: \"\\u0443\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0443\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C\", alternatives: [\"\\u0443\\u0434\\u0430\\u043B\\u0438\", \"\\u0443\\u0431\\u0440\\u0430\\u0442\\u044C\", \"\\u0443\\u0431\\u0435\\u0440\\u0438\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getRemovePatternsTh() {\n  return [\n    // Simple pattern: ลบ .active\n    {\n      id: \"remove-th-simple\",\n      language: \"th\",\n      command: \"remove\",\n      priority: 100,\n      template: {\n        format: \"\\u0E25\\u0E1A {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E25\\u0E1A\", alternatives: [\"\\u0E25\\u0E1A\\u0E2D\\u0E2D\\u0E01\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    // With source: ลบ .active จาก #button\n    {\n      id: \"remove-th-with-source\",\n      language: \"th\",\n      command: \"remove\",\n      priority: 95,\n      template: {\n        format: \"\\u0E25\\u0E1A {patient} \\u0E08\\u0E32\\u0E01 {source}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E25\\u0E1A\", alternatives: [\"\\u0E25\\u0E1A\\u0E2D\\u0E2D\\u0E01\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0E08\\u0E32\\u0E01\" },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: { marker: \"\\u0E08\\u0E32\\u0E01\", position: 3 }\n      }\n    }\n  ];\n}\nfunction getRemovePatternsUk() {\n  return [\n    {\n      id: \"remove-uk-full\",\n      language: \"uk\",\n      command: \"remove\",\n      priority: 100,\n      template: {\n        format: \"\\u0432\\u0438\\u0434\\u0430\\u043B\\u0438\\u0442\\u0438 {patient} \\u0437 {source}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0432\\u0438\\u0434\\u0430\\u043B\\u0438\\u0442\\u0438\", alternatives: [\"\\u0432\\u0438\\u0434\\u0430\\u043B\\u0438\", \"\\u043F\\u0440\\u0438\\u0431\\u0440\\u0430\\u0442\\u0438\", \"\\u043F\\u0440\\u0438\\u0431\\u0435\\u0440\\u0438\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u0437\", alternatives: [\"\\u0432\\u0456\\u0434\", \"\\u0456\\u0437\"] },\n              { type: \"role\", role: \"source\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: {\n          marker: \"\\u0437\",\n          markerAlternatives: [\"\\u0432\\u0456\\u0434\", \"\\u0456\\u0437\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"remove-uk-simple\",\n      language: \"uk\",\n      command: \"remove\",\n      priority: 90,\n      template: {\n        format: \"\\u0432\\u0438\\u0434\\u0430\\u043B\\u0438\\u0442\\u0438 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0432\\u0438\\u0434\\u0430\\u043B\\u0438\\u0442\\u0438\", alternatives: [\"\\u0432\\u0438\\u0434\\u0430\\u043B\\u0438\", \"\\u043F\\u0440\\u0438\\u0431\\u0440\\u0430\\u0442\\u0438\", \"\\u043F\\u0440\\u0438\\u0431\\u0435\\u0440\\u0438\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getRemovePatternsVi() {\n  return [\n    {\n      id: \"remove-vi-full\",\n      language: \"vi\",\n      command: \"remove\",\n      priority: 100,\n      template: {\n        format: \"x\\xF3a {patient} kh\\u1ECFi {target}\",\n        tokens: [\n          { type: \"literal\", value: \"x\\xF3a\", alternatives: [\"g\\u1EE1 b\\u1ECF\", \"lo\\u1EA1i b\\u1ECF\", \"b\\u1ECF\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"kh\\u1ECFi\", alternatives: [\"t\\u1EEB\"] },\n              { type: \"role\", role: \"source\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: {\n          marker: \"kh\\u1ECFi\",\n          markerAlternatives: [\"t\\u1EEB\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"remove-vi-simple\",\n      language: \"vi\",\n      command: \"remove\",\n      priority: 90,\n      template: {\n        format: \"x\\xF3a {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"x\\xF3a\", alternatives: [\"g\\u1EE1 b\\u1ECF\", \"lo\\u1EA1i b\\u1ECF\", \"b\\u1ECF\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getRemovePatternsZh() {\n  return [\n    {\n      id: \"remove-zh-full\",\n      language: \"zh\",\n      command: \"remove\",\n      priority: 100,\n      template: {\n        format: \"\\u4ECE {destination} \\u5220\\u9664 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u4ECE\", alternatives: [\"\\u5F9E\"] },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u5220\\u9664\", alternatives: [\"\\u522A\\u9664\", \"\\u79FB\\u9664\", \"\\u53BB\\u6389\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { position: 3 }\n      }\n    },\n    {\n      id: \"remove-zh-simple\",\n      language: \"zh\",\n      command: \"remove\",\n      priority: 90,\n      template: {\n        format: \"\\u5220\\u9664 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u5220\\u9664\", alternatives: [\"\\u522A\\u9664\", \"\\u79FB\\u9664\", \"\\u53BB\\u6389\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    },\n    {\n      id: \"remove-zh-ba\",\n      language: \"zh\",\n      command: \"remove\",\n      priority: 95,\n      template: {\n        format: \"\\u628A {patient} \\u4ECE {destination} \\u5220\\u9664\",\n        tokens: [\n          { type: \"literal\", value: \"\\u628A\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u4ECE\", alternatives: [\"\\u5F9E\"] },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u5220\\u9664\", alternatives: [\"\\u522A\\u9664\", \"\\u79FB\\u9664\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { position: 3 }\n      }\n    }\n  ];\n}\nfunction getRemovePatternsForLanguage(language) {\n  switch (language) {\n    case \"bn\":\n      return getRemovePatternsBn();\n    case \"hi\":\n      return getRemovePatternsHi();\n    case \"it\":\n      return getRemovePatternsIt();\n    case \"pl\":\n      return getRemovePatternsPl();\n    case \"qu\":\n      return getRemovePatternsQu();\n    case \"ru\":\n      return getRemovePatternsRu();\n    case \"th\":\n      return getRemovePatternsTh();\n    case \"uk\":\n      return getRemovePatternsUk();\n    case \"vi\":\n      return getRemovePatternsVi();\n    case \"zh\":\n      return getRemovePatternsZh();\n    default:\n      return [];\n  }\n}\n\n// src/patterns/show.ts\nfunction getShowPatternsBn() {\n  return [\n    // Full pattern: #element কে দেখান\n    {\n      id: \"show-bn-full\",\n      language: \"bn\",\n      command: \"show\",\n      priority: 100,\n      template: {\n        format: \"{patient} \\u0995\\u09C7 \\u09A6\\u09C7\\u0996\\u09BE\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0995\\u09C7\" },\n          { type: \"literal\", value: \"\\u09A6\\u09C7\\u0996\\u09BE\\u09A8\", alternatives: [\"\\u09A6\\u09C7\\u0996\\u09BE\\u0993\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 }\n      }\n    },\n    // Simple pattern: দেখান #element\n    {\n      id: \"show-bn-simple\",\n      language: \"bn\",\n      command: \"show\",\n      priority: 90,\n      template: {\n        format: \"\\u09A6\\u09C7\\u0996\\u09BE\\u09A8 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u09A6\\u09C7\\u0996\\u09BE\\u09A8\", alternatives: [\"\\u09A6\\u09C7\\u0996\\u09BE\\u0993\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getShowPatternsDe() {\n  return [\n    {\n      id: \"show-de-full\",\n      language: \"de\",\n      command: \"show\",\n      priority: 100,\n      template: {\n        format: \"zeige {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"zeige\", alternatives: [\"zeigen\", \"anzeigen\", \"show\"] },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"selector\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getShowPatternsFr() {\n  return [\n    {\n      id: \"show-fr-full\",\n      language: \"fr\",\n      command: \"show\",\n      priority: 100,\n      template: {\n        format: \"afficher {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"afficher\", alternatives: [\"montrer\", \"pr\\xE9senter\", \"show\"] },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"selector\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getShowPatternsHi() {\n  return [\n    // Full pattern: #element को दिखाएं\n    {\n      id: \"show-hi-full\",\n      language: \"hi\",\n      command: \"show\",\n      priority: 100,\n      template: {\n        format: \"{patient} \\u0915\\u094B \\u0926\\u093F\\u0916\\u093E\\u090F\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0915\\u094B\" },\n          { type: \"literal\", value: \"\\u0926\\u093F\\u0916\\u093E\\u090F\\u0902\", alternatives: [\"\\u0926\\u093F\\u0916\\u093E\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 }\n      }\n    },\n    // Simple pattern: दिखाएं #element\n    {\n      id: \"show-hi-simple\",\n      language: \"hi\",\n      command: \"show\",\n      priority: 90,\n      template: {\n        format: \"\\u0926\\u093F\\u0916\\u093E\\u090F\\u0902 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0926\\u093F\\u0916\\u093E\\u090F\\u0902\", alternatives: [\"\\u0926\\u093F\\u0916\\u093E\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    // Bare pattern: दिखाएं (implicit me)\n    {\n      id: \"show-hi-bare\",\n      language: \"hi\",\n      command: \"show\",\n      priority: 80,\n      template: {\n        format: \"\\u0926\\u093F\\u0916\\u093E\\u090F\\u0902\",\n        tokens: [{ type: \"literal\", value: \"\\u0926\\u093F\\u0916\\u093E\\u090F\\u0902\", alternatives: [\"\\u0926\\u093F\\u0916\\u093E\"] }]\n      },\n      extraction: {\n        patient: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getShowPatternsIt() {\n  return [\n    {\n      id: \"show-it-full\",\n      language: \"it\",\n      command: \"show\",\n      priority: 100,\n      template: {\n        format: \"mostrare {patient} con {style}\",\n        tokens: [\n          { type: \"literal\", value: \"mostrare\", alternatives: [\"mostra\", \"visualizzare\", \"show\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"con\" },\n              { type: \"role\", role: \"style\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        style: { marker: \"con\" }\n      }\n    },\n    {\n      id: \"show-it-simple\",\n      language: \"it\",\n      command: \"show\",\n      priority: 90,\n      template: {\n        format: \"mostrare {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"mostrare\", alternatives: [\"mostra\", \"visualizzare\", \"show\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getShowPatternsPl() {\n  return [\n    {\n      id: \"show-pl-full\",\n      language: \"pl\",\n      command: \"show\",\n      priority: 100,\n      template: {\n        format: \"poka\\u017C {patient} z {style}\",\n        tokens: [\n          { type: \"literal\", value: \"poka\\u017C\", alternatives: [\"pokaz\", \"wy\\u015Bwietl\", \"wyswietl\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"z\", alternatives: [\"ze\", \"jako\"] },\n              { type: \"role\", role: \"style\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        style: { marker: \"z\", markerAlternatives: [\"ze\", \"jako\"] }\n      }\n    },\n    {\n      id: \"show-pl-simple\",\n      language: \"pl\",\n      command: \"show\",\n      priority: 90,\n      template: {\n        format: \"poka\\u017C {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"poka\\u017C\", alternatives: [\"pokaz\", \"wy\\u015Bwietl\", \"wyswietl\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getShowPatternsRu() {\n  return [\n    {\n      id: \"show-ru-full\",\n      language: \"ru\",\n      command: \"show\",\n      priority: 100,\n      template: {\n        format: \"\\u043F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C {patient} \\u0441 {style}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C\", alternatives: [\"\\u043F\\u043E\\u043A\\u0430\\u0436\\u0438\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u0441\", alternatives: [\"\\u0441\\u043E\", \"\\u043A\\u0430\\u043A\"] },\n              { type: \"role\", role: \"style\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        style: { marker: \"\\u0441\", markerAlternatives: [\"\\u0441\\u043E\", \"\\u043A\\u0430\\u043A\"] }\n      }\n    },\n    {\n      id: \"show-ru-simple\",\n      language: \"ru\",\n      command: \"show\",\n      priority: 90,\n      template: {\n        format: \"\\u043F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C\", alternatives: [\"\\u043F\\u043E\\u043A\\u0430\\u0436\\u0438\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getShowPatternsTh() {\n  return [\n    // Simple pattern: แสดง #element\n    {\n      id: \"show-th-simple\",\n      language: \"th\",\n      command: \"show\",\n      priority: 100,\n      template: {\n        format: \"\\u0E41\\u0E2A\\u0E14\\u0E07 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E41\\u0E2A\\u0E14\\u0E07\" },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getShowPatternsUk() {\n  return [\n    {\n      id: \"show-uk-full\",\n      language: \"uk\",\n      command: \"show\",\n      priority: 100,\n      template: {\n        format: \"\\u043F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u0438 {patient} \\u0437 {style}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u0438\", alternatives: [\"\\u043F\\u043E\\u043A\\u0430\\u0436\\u0438\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u0437\", alternatives: [\"\\u0456\\u0437\", \"\\u044F\\u043A\"] },\n              { type: \"role\", role: \"style\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        style: { marker: \"\\u0437\", markerAlternatives: [\"\\u0456\\u0437\", \"\\u044F\\u043A\"] }\n      }\n    },\n    {\n      id: \"show-uk-simple\",\n      language: \"uk\",\n      command: \"show\",\n      priority: 90,\n      template: {\n        format: \"\\u043F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u0438 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u0438\", alternatives: [\"\\u043F\\u043E\\u043A\\u0430\\u0436\\u0438\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getShowPatternsVi() {\n  return [\n    {\n      id: \"show-vi-full\",\n      language: \"vi\",\n      command: \"show\",\n      priority: 100,\n      template: {\n        format: \"hi\\u1EC3n th\\u1ECB {patient} v\\u1EDBi {effect}\",\n        tokens: [\n          { type: \"literal\", value: \"hi\\u1EC3n th\\u1ECB\", alternatives: [\"hi\\u1EC7n\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"v\\u1EDBi\" },\n              { type: \"role\", role: \"style\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        style: { marker: \"v\\u1EDBi\" }\n      }\n    },\n    {\n      id: \"show-vi-simple\",\n      language: \"vi\",\n      command: \"show\",\n      priority: 90,\n      template: {\n        format: \"hi\\u1EC3n th\\u1ECB {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"hi\\u1EC3n th\\u1ECB\", alternatives: [\"hi\\u1EC7n\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getShowPatternsZh() {\n  return [\n    {\n      id: \"show-zh-full\",\n      language: \"zh\",\n      command: \"show\",\n      priority: 100,\n      template: {\n        format: \"\\u663E\\u793A {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u663E\\u793A\", alternatives: [\"\\u986F\\u793A\", \"\\u5C55\\u793A\", \"\\u5448\\u73B0\", \"\\u5448\\u73FE\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    {\n      id: \"show-zh-ba\",\n      language: \"zh\",\n      command: \"show\",\n      priority: 95,\n      template: {\n        format: \"\\u628A {patient} \\u663E\\u793A\",\n        tokens: [\n          { type: \"literal\", value: \"\\u628A\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u663E\\u793A\", alternatives: [\"\\u986F\\u793A\", \"\\u5C55\\u793A\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    {\n      id: \"show-zh-with-\\u7ED9\",\n      language: \"zh\",\n      command: \"show\",\n      priority: 90,\n      template: {\n        format: \"\\u7ED9 {destination} \\u663E\\u793A {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u7ED9\", alternatives: [\"\\u7D66\"] },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u663E\\u793A\", alternatives: [\"\\u986F\\u793A\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { position: 3 }\n      }\n    }\n  ];\n}\nfunction getShowPatternsForLanguage(language) {\n  switch (language) {\n    case \"bn\":\n      return getShowPatternsBn();\n    case \"de\":\n      return getShowPatternsDe();\n    case \"fr\":\n      return getShowPatternsFr();\n    case \"hi\":\n      return getShowPatternsHi();\n    case \"it\":\n      return getShowPatternsIt();\n    case \"pl\":\n      return getShowPatternsPl();\n    case \"ru\":\n      return getShowPatternsRu();\n    case \"th\":\n      return getShowPatternsTh();\n    case \"uk\":\n      return getShowPatternsUk();\n    case \"vi\":\n      return getShowPatternsVi();\n    case \"zh\":\n      return getShowPatternsZh();\n    default:\n      return [];\n  }\n}\n\n// src/patterns/hide.ts\nfunction getHidePatternsBn() {\n  return [\n    // Full pattern: #element কে লুকান\n    {\n      id: \"hide-bn-full\",\n      language: \"bn\",\n      command: \"hide\",\n      priority: 100,\n      template: {\n        format: \"{patient} \\u0995\\u09C7 \\u09B2\\u09C1\\u0995\\u09BE\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0995\\u09C7\" },\n          { type: \"literal\", value: \"\\u09B2\\u09C1\\u0995\\u09BE\\u09A8\", alternatives: [\"\\u09B2\\u09C1\\u0995\\u09BE\\u0993\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 }\n      }\n    },\n    // Simple pattern: লুকান #element\n    {\n      id: \"hide-bn-simple\",\n      language: \"bn\",\n      command: \"hide\",\n      priority: 90,\n      template: {\n        format: \"\\u09B2\\u09C1\\u0995\\u09BE\\u09A8 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u09B2\\u09C1\\u0995\\u09BE\\u09A8\", alternatives: [\"\\u09B2\\u09C1\\u0995\\u09BE\\u0993\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getHidePatternsDe() {\n  return [\n    {\n      id: \"hide-de-full\",\n      language: \"de\",\n      command: \"hide\",\n      priority: 100,\n      template: {\n        format: \"verstecke {patient}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"verstecke\",\n            alternatives: [\"verstecken\", \"verberge\", \"verbergen\", \"hide\"]\n          },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"selector\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getHidePatternsHi() {\n  return [\n    // Full pattern: #element को छिपाएं\n    {\n      id: \"hide-hi-full\",\n      language: \"hi\",\n      command: \"hide\",\n      priority: 100,\n      template: {\n        format: \"{patient} \\u0915\\u094B \\u091B\\u093F\\u092A\\u093E\\u090F\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0915\\u094B\" },\n          { type: \"literal\", value: \"\\u091B\\u093F\\u092A\\u093E\\u090F\\u0902\", alternatives: [\"\\u091B\\u093F\\u092A\\u093E\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 }\n      }\n    },\n    // Simple pattern: छिपाएं #element\n    {\n      id: \"hide-hi-simple\",\n      language: \"hi\",\n      command: \"hide\",\n      priority: 90,\n      template: {\n        format: \"\\u091B\\u093F\\u092A\\u093E\\u090F\\u0902 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u091B\\u093F\\u092A\\u093E\\u090F\\u0902\", alternatives: [\"\\u091B\\u093F\\u092A\\u093E\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    // Bare pattern: छिपाएं (implicit me)\n    {\n      id: \"hide-hi-bare\",\n      language: \"hi\",\n      command: \"hide\",\n      priority: 80,\n      template: {\n        format: \"\\u091B\\u093F\\u092A\\u093E\\u090F\\u0902\",\n        tokens: [{ type: \"literal\", value: \"\\u091B\\u093F\\u092A\\u093E\\u090F\\u0902\", alternatives: [\"\\u091B\\u093F\\u092A\\u093E\"] }]\n      },\n      extraction: {\n        patient: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getHidePatternsIt() {\n  return [\n    {\n      id: \"hide-it-full\",\n      language: \"it\",\n      command: \"hide\",\n      priority: 100,\n      template: {\n        format: \"nascondere {patient} con {style}\",\n        tokens: [\n          { type: \"literal\", value: \"nascondere\", alternatives: [\"nascondi\", \"hide\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"con\" },\n              { type: \"role\", role: \"style\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        style: { marker: \"con\" }\n      }\n    },\n    {\n      id: \"hide-it-simple\",\n      language: \"it\",\n      command: \"hide\",\n      priority: 90,\n      template: {\n        format: \"nascondere {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"nascondere\", alternatives: [\"nascondi\", \"hide\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getHidePatternsPl() {\n  return [\n    {\n      id: \"hide-pl-full\",\n      language: \"pl\",\n      command: \"hide\",\n      priority: 100,\n      template: {\n        format: \"ukryj {patient} z {style}\",\n        tokens: [\n          { type: \"literal\", value: \"ukryj\", alternatives: [\"schowaj\", \"zas\\u0142o\\u0144\", \"zaslon\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"z\", alternatives: [\"ze\", \"jako\"] },\n              { type: \"role\", role: \"style\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        style: { marker: \"z\", markerAlternatives: [\"ze\", \"jako\"] }\n      }\n    },\n    {\n      id: \"hide-pl-simple\",\n      language: \"pl\",\n      command: \"hide\",\n      priority: 90,\n      template: {\n        format: \"ukryj {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"ukryj\", alternatives: [\"schowaj\", \"zas\\u0142o\\u0144\", \"zaslon\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getHidePatternsRu() {\n  return [\n    {\n      id: \"hide-ru-full\",\n      language: \"ru\",\n      command: \"hide\",\n      priority: 100,\n      template: {\n        format: \"\\u0441\\u043A\\u0440\\u044B\\u0442\\u044C {patient} \\u0441 {style}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0441\\u043A\\u0440\\u044B\\u0442\\u044C\", alternatives: [\"\\u0441\\u043A\\u0440\\u043E\\u0439\", \"\\u0441\\u043F\\u0440\\u044F\\u0442\\u0430\\u0442\\u044C\", \"\\u0441\\u043F\\u0440\\u044F\\u0447\\u044C\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u0441\", alternatives: [\"\\u0441\\u043E\", \"\\u043A\\u0430\\u043A\"] },\n              { type: \"role\", role: \"style\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        style: { marker: \"\\u0441\", markerAlternatives: [\"\\u0441\\u043E\", \"\\u043A\\u0430\\u043A\"] }\n      }\n    },\n    {\n      id: \"hide-ru-simple\",\n      language: \"ru\",\n      command: \"hide\",\n      priority: 90,\n      template: {\n        format: \"\\u0441\\u043A\\u0440\\u044B\\u0442\\u044C {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0441\\u043A\\u0440\\u044B\\u0442\\u044C\", alternatives: [\"\\u0441\\u043A\\u0440\\u043E\\u0439\", \"\\u0441\\u043F\\u0440\\u044F\\u0442\\u0430\\u0442\\u044C\", \"\\u0441\\u043F\\u0440\\u044F\\u0447\\u044C\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getHidePatternsTh() {\n  return [\n    // Simple pattern: ซ่อน #element\n    {\n      id: \"hide-th-simple\",\n      language: \"th\",\n      command: \"hide\",\n      priority: 100,\n      template: {\n        format: \"\\u0E0B\\u0E48\\u0E2D\\u0E19 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E0B\\u0E48\\u0E2D\\u0E19\" },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getHidePatternsUk() {\n  return [\n    {\n      id: \"hide-uk-full\",\n      language: \"uk\",\n      command: \"hide\",\n      priority: 100,\n      template: {\n        format: \"\\u0441\\u0445\\u043E\\u0432\\u0430\\u0442\\u0438 {patient} \\u0437 {style}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0441\\u0445\\u043E\\u0432\\u0430\\u0442\\u0438\", alternatives: [\"\\u0441\\u0445\\u043E\\u0432\\u0430\\u0439\", \"\\u043F\\u0440\\u0438\\u0445\\u043E\\u0432\\u0430\\u0442\\u0438\", \"\\u043F\\u0440\\u0438\\u0445\\u043E\\u0432\\u0430\\u0439\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u0437\", alternatives: [\"\\u0456\\u0437\", \"\\u044F\\u043A\"] },\n              { type: \"role\", role: \"style\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        style: { marker: \"\\u0437\", markerAlternatives: [\"\\u0456\\u0437\", \"\\u044F\\u043A\"] }\n      }\n    },\n    {\n      id: \"hide-uk-simple\",\n      language: \"uk\",\n      command: \"hide\",\n      priority: 90,\n      template: {\n        format: \"\\u0441\\u0445\\u043E\\u0432\\u0430\\u0442\\u0438 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0441\\u0445\\u043E\\u0432\\u0430\\u0442\\u0438\", alternatives: [\"\\u0441\\u0445\\u043E\\u0432\\u0430\\u0439\", \"\\u043F\\u0440\\u0438\\u0445\\u043E\\u0432\\u0430\\u0442\\u0438\", \"\\u043F\\u0440\\u0438\\u0445\\u043E\\u0432\\u0430\\u0439\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getHidePatternsVi() {\n  return [\n    {\n      id: \"hide-vi-full\",\n      language: \"vi\",\n      command: \"hide\",\n      priority: 100,\n      template: {\n        format: \"\\u1EA9n {patient} v\\u1EDBi {effect}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u1EA9n\", alternatives: [\"che\", \"gi\\u1EA5u\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"v\\u1EDBi\" },\n              { type: \"role\", role: \"style\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        style: { marker: \"v\\u1EDBi\" }\n      }\n    },\n    {\n      id: \"hide-vi-simple\",\n      language: \"vi\",\n      command: \"hide\",\n      priority: 90,\n      template: {\n        format: \"\\u1EA9n {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u1EA9n\", alternatives: [\"che\", \"gi\\u1EA5u\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getHidePatternsZh() {\n  return [\n    {\n      id: \"hide-zh-full\",\n      language: \"zh\",\n      command: \"hide\",\n      priority: 100,\n      template: {\n        format: \"\\u9690\\u85CF {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u9690\\u85CF\", alternatives: [\"\\u96B1\\u85CF\", \"\\u85CF\\u8D77\", \"\\u85CF\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    {\n      id: \"hide-zh-ba\",\n      language: \"zh\",\n      command: \"hide\",\n      priority: 95,\n      template: {\n        format: \"\\u628A {patient} \\u9690\\u85CF\",\n        tokens: [\n          { type: \"literal\", value: \"\\u628A\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u9690\\u85CF\", alternatives: [\"\\u96B1\\u85CF\", \"\\u85CF\\u8D77\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    {\n      id: \"hide-zh-from\",\n      language: \"zh\",\n      command: \"hide\",\n      priority: 90,\n      template: {\n        format: \"\\u4ECE {destination} \\u9690\\u85CF {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u4ECE\", alternatives: [\"\\u5F9E\"] },\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u9690\\u85CF\", alternatives: [\"\\u96B1\\u85CF\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { position: 3 }\n      }\n    }\n  ];\n}\nfunction getHidePatternsForLanguage(language) {\n  switch (language) {\n    case \"bn\":\n      return getHidePatternsBn();\n    case \"de\":\n      return getHidePatternsDe();\n    case \"hi\":\n      return getHidePatternsHi();\n    case \"it\":\n      return getHidePatternsIt();\n    case \"pl\":\n      return getHidePatternsPl();\n    case \"ru\":\n      return getHidePatternsRu();\n    case \"th\":\n      return getHidePatternsTh();\n    case \"uk\":\n      return getHidePatternsUk();\n    case \"vi\":\n      return getHidePatternsVi();\n    case \"zh\":\n      return getHidePatternsZh();\n    default:\n      return [];\n  }\n}\n\n// src/patterns/set.ts\nfunction getSetPatternsBn() {\n  return [\n    // Full pattern: :x কে 5 এ সেট করুন\n    {\n      id: \"set-bn-full\",\n      language: \"bn\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"{destination} \\u0995\\u09C7 {patient} \\u098F \\u09B8\\u09C7\\u099F \\u0995\\u09B0\\u09C1\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u0995\\u09C7\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u098F\", alternatives: [\"\\u09A4\\u09C7\"] },\n          { type: \"literal\", value: \"\\u09B8\\u09C7\\u099F\", alternatives: [\"\\u09A8\\u09BF\\u09B0\\u09CD\\u09A7\\u09BE\\u09B0\\u09A3\"] },\n          { type: \"literal\", value: \"\\u0995\\u09B0\\u09C1\\u09A8\" }\n        ]\n      },\n      extraction: {\n        destination: { position: 0 },\n        patient: { marker: \"\\u098F\", position: 2 }\n      }\n    },\n    // Simple pattern: সেট :x 5\n    {\n      id: \"set-bn-simple\",\n      language: \"bn\",\n      command: \"set\",\n      priority: 90,\n      template: {\n        format: \"\\u09B8\\u09C7\\u099F {destination} {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u09B8\\u09C7\\u099F\", alternatives: [\"\\u09A8\\u09BF\\u09B0\\u09CD\\u09A7\\u09BE\\u09B0\\u09A3\"] },\n          { type: \"role\", role: \"destination\" },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getSetPatternsDe() {\n  return [\n    {\n      id: \"set-de-full\",\n      language: \"de\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"setze {destination} auf {patient}\",\n        tokens: [\n          // setzen/stellen are deliberately ABSENT: they are de's PUT verbs (dict\n          // put: setzen; profile put: setzen/stellen) — listing them here made\n          // every transformed put (`setzen es zu körper`) parse as set.\n          { type: \"literal\", value: \"setze\", alternatives: [\"set\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"auf\", alternatives: [\"zu\", \"an\"] },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { position: 3 }\n      }\n    },\n    {\n      id: \"set-de-festlegen-auf\",\n      language: \"de\",\n      command: \"set\",\n      priority: 99,\n      template: {\n        format: \"festlegen auf {destination} {patient}\",\n        tokens: [\n          // setzen deliberately absent — see set-de-full above.\n          { type: \"literal\", value: \"festlegen\", alternatives: [\"einstellen\"] },\n          { type: \"literal\", value: \"auf\", alternatives: [\"an\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 2 },\n        patient: { position: 3 }\n      }\n    },\n    {\n      id: \"set-de-equals\",\n      language: \"de\",\n      command: \"set\",\n      priority: 95,\n      template: {\n        format: \"{destination} = {patient}\",\n        tokens: [\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"=\" },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 0 },\n        patient: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getSetPatternsEs() {\n  return [\n    {\n      id: \"set-es-full\",\n      language: \"es\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"establecer {destination} a {patient}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"establecer\",\n            alternatives: [\"fijar\", \"definir\", \"poner\", \"set\"]\n          },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"a\", alternatives: [\"en\", \"como\"] },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { position: 3 }\n      }\n    },\n    {\n      id: \"set-es-prep-first\",\n      language: \"es\",\n      command: \"set\",\n      priority: 95,\n      template: {\n        format: \"establecer en {destination} {patient}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"establecer\",\n            alternatives: [\"fijar\", \"definir\", \"poner\", \"set\"]\n          },\n          { type: \"literal\", value: \"en\", alternatives: [\"a\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 2 },\n        patient: { position: 3 }\n      }\n    },\n    {\n      id: \"set-es-equals\",\n      language: \"es\",\n      command: \"set\",\n      priority: 95,\n      template: {\n        format: \"{destination} = {patient}\",\n        tokens: [\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"=\" },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 0 },\n        patient: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getSetPatternsFr() {\n  return [\n    {\n      id: \"set-fr-full\",\n      language: \"fr\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"d\\xE9finir {destination} \\xE0 {patient}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"d\\xE9finir\",\n            // mettre is deliberately ABSENT: it is fr's PUT verb — listing it here\n            // made every transformed put (`mettre ça à corps`) parse as set.\n            alternatives: [\"definir\", \"fixer\", \"set\"]\n          },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"\\xE0\", alternatives: [\"a\", \"sur\", \"comme\"] },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { position: 3 }\n      }\n    },\n    {\n      id: \"set-fr-sur-direct\",\n      language: \"fr\",\n      command: \"set\",\n      priority: 98,\n      template: {\n        format: \"d\\xE9finir sur {destination} {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"d\\xE9finir\", alternatives: [\"definir\", \"mettre\", \"fixer\"] },\n          { type: \"literal\", value: \"sur\", alternatives: [\"\\xE0\", \"en\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 2 },\n        patient: { position: 3 }\n      }\n    },\n    {\n      id: \"set-fr-equals\",\n      language: \"fr\",\n      command: \"set\",\n      priority: 95,\n      template: {\n        format: \"{destination} = {patient}\",\n        tokens: [\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"=\" },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 0 },\n        patient: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getSetPatternsHi() {\n  return [\n    // Full pattern: :x को 5 सेट करें\n    {\n      id: \"set-hi-full\",\n      language: \"hi\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"{destination} \\u0915\\u094B {patient} \\u0938\\u0947\\u091F \\u0915\\u0930\\u0947\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"destination\" },\n          { type: \"literal\", value: \"\\u0915\\u094B\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0938\\u0947\\u091F\", alternatives: [\"\\u0928\\u093F\\u0930\\u094D\\u0927\\u093E\\u0930\\u093F\\u0924\"] },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [{ type: \"literal\", value: \"\\u0915\\u0930\\u0947\\u0902\", alternatives: [\"\\u0915\\u0930\\u094B\"] }]\n          }\n        ]\n      },\n      extraction: {\n        destination: { position: 0 },\n        patient: { marker: \"\\u0915\\u094B\", position: 2 }\n      }\n    },\n    // Simple pattern: सेट :x 5\n    {\n      id: \"set-hi-simple\",\n      language: \"hi\",\n      command: \"set\",\n      priority: 90,\n      template: {\n        format: \"\\u0938\\u0947\\u091F {destination} {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0938\\u0947\\u091F\", alternatives: [\"\\u0928\\u093F\\u0930\\u094D\\u0927\\u093E\\u0930\\u093F\\u0924\"] },\n          { type: \"role\", role: \"destination\" },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getSetPatternsId() {\n  return [\n    {\n      id: \"set-id-full\",\n      language: \"id\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"atur {destination} ke {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"atur\", alternatives: [\"tetapkan\", \"setel\", \"set\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"ke\", alternatives: [\"menjadi\", \"jadi\", \"pada\"] },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { position: 3 }\n      }\n    },\n    {\n      id: \"set-id-pada-direct\",\n      language: \"id\",\n      command: \"set\",\n      priority: 98,\n      template: {\n        format: \"atur pada {destination} {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"atur\", alternatives: [\"tetapkan\", \"setel\"] },\n          { type: \"literal\", value: \"pada\", alternatives: [\"ke\", \"di\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 2 },\n        patient: { position: 3 }\n      }\n    },\n    {\n      id: \"set-id-equals\",\n      language: \"id\",\n      command: \"set\",\n      priority: 95,\n      template: {\n        format: \"{destination} = {patient}\",\n        tokens: [\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"=\" },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 0 },\n        patient: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getSetPatternsMs() {\n  return [\n    {\n      // Malay set mirrors Indonesian: the transformer emits `tetapkan {destination}\n      // ke {patient}` for `set X to Y` (`ke` = \"to\"; the variable being set leads).\n      // ms had no set pattern of its own, so the transformed `set` dropped inside\n      // event bodies. Canonical roles (destination = the var, patient = the value).\n      // See ZH_BLOCK_BODY_SCOPE.md (#2 sweep / ms profile).\n      id: \"set-ms-full\",\n      language: \"ms\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"tetapkan {destination} ke {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"tetapkan\", alternatives: [\"setkan\", \"set\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"ke\", alternatives: [\"kepada\", \"menjadi\", \"jadi\"] },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { position: 3 }\n      }\n    }\n  ];\n}\nfunction getSetPatternsIt() {\n  return [\n    {\n      id: \"set-it-full\",\n      language: \"it\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"impostare {destination} a {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"impostare\", alternatives: [\"imposta\", \"set\", \"definire\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            // property-path opts the of-possessive matcher in (mirrors set-es-full;\n            // `impostare the *--primary-color di #theme in …` truncated without it)\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              // 'in' is what the it grammar transformer emits for en 'to'\n              { type: \"literal\", value: \"a\", alternatives: [\"su\", \"come\", \"in\"] },\n              { type: \"role\", role: \"patient\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { marker: \"a\", markerAlternatives: [\"su\", \"come\", \"in\"] }\n      }\n    },\n    {\n      id: \"set-it-simple\",\n      language: \"it\",\n      command: \"set\",\n      priority: 90,\n      template: {\n        format: \"impostare {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"impostare\", alternatives: [\"imposta\", \"set\"] },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getSetPatternsPl() {\n  return [\n    {\n      id: \"set-pl-full\",\n      language: \"pl\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"ustaw {destination} na {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"ustaw\", alternatives: [\"okre\\u015Bl\", \"okresl\", \"przypisz\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            // property-path opts the of-possessive matcher in (mirrors set-es-full)\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"na\", alternatives: [\"do\", \"jako\"] },\n              { type: \"role\", role: \"patient\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { marker: \"na\", markerAlternatives: [\"do\", \"jako\"] }\n      }\n    },\n    {\n      id: \"set-pl-simple\",\n      language: \"pl\",\n      command: \"set\",\n      priority: 90,\n      template: {\n        format: \"ustaw {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"ustaw\", alternatives: [\"okre\\u015Bl\", \"okresl\"] },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getSetPatternsPt() {\n  return [\n    {\n      id: \"set-pt-full\",\n      language: \"pt\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"definir {destination} para {patient}\",\n        tokens: [\n          // colocar is deliberately ABSENT: it is pt's PUT verb — listing it here\n          // made every transformed put (`colocar isso para corpo`) parse as set.\n          { type: \"literal\", value: \"definir\", alternatives: [\"estabelecer\", \"set\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"para\", alternatives: [\"como\", \"a\", \"em\"] },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { position: 3 }\n      }\n    },\n    {\n      id: \"set-pt-em-direct\",\n      language: \"pt\",\n      command: \"set\",\n      priority: 98,\n      template: {\n        format: \"definir em {destination} {patient}\",\n        tokens: [\n          // colocar deliberately absent — see above.\n          { type: \"literal\", value: \"definir\", alternatives: [\"estabelecer\"] },\n          { type: \"literal\", value: \"em\", alternatives: [\"para\", \"a\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 2 },\n        patient: { position: 3 }\n      }\n    },\n    {\n      id: \"set-pt-equals\",\n      language: \"pt\",\n      command: \"set\",\n      priority: 95,\n      template: {\n        format: \"{destination} = {patient}\",\n        tokens: [\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"=\" },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 0 },\n        patient: { position: 2 }\n      }\n    }\n  ];\n}\nfunction getSetPatternsRu() {\n  return [\n    {\n      id: \"set-ru-full\",\n      language: \"ru\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"\\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\\u0442\\u044C {destination} \\u0432 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\\u0442\\u044C\", alternatives: [\"\\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\", \"\\u0437\\u0430\\u0434\\u0430\\u0442\\u044C\", \"\\u0437\\u0430\\u0434\\u0430\\u0439\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            // property-path opts the of-possessive matcher in (mirrors set-es-full)\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u0432\", alternatives: [\"\\u043D\\u0430\", \"\\u043A\\u0430\\u043A\"] },\n              { type: \"role\", role: \"patient\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { marker: \"\\u0432\", markerAlternatives: [\"\\u043D\\u0430\", \"\\u043A\\u0430\\u043A\"] }\n      }\n    },\n    {\n      id: \"set-ru-simple\",\n      language: \"ru\",\n      command: \"set\",\n      priority: 90,\n      template: {\n        format: \"\\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\\u0442\\u044C {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\\u0442\\u044C\", alternatives: [\"\\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\", \"\\u0437\\u0430\\u0434\\u0430\\u0442\\u044C\", \"\\u0437\\u0430\\u0434\\u0430\\u0439\"] },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getSetPatternsSw() {\n  return [\n    {\n      // After the i18n dict realign (set → `seti`, was the put verb `weka`), the\n      // transformer emits `seti {destination} kwa {patient}` for `set X to Y` — the\n      // variable being set leads (unmarked), and `kwa` (\"to\"/\"with\") introduces the\n      // value. The generated pattern arranged the markers differently, so the\n      // transformed `set` dropped. This maps the transform to the canonical set roles\n      // (destination = the var, patient = the value). See ZH_BLOCK_BODY_SCOPE.md (#2).\n      id: \"set-sw-kwa\",\n      language: \"sw\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"seti {destination} kwa {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"seti\", alternatives: [\"weka thamani\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"kwa\", alternatives: [\"kwenye\"] },\n          {\n            type: \"role\",\n            role: \"patient\",\n            expectedTypes: [\"literal\", \"expression\", \"reference\", \"selector\"]\n          }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { marker: \"kwa\", markerAlternatives: [\"kwenye\"] }\n      }\n    }\n  ];\n}\nfunction getSetPatternsTh() {\n  return [\n    // Marker pattern: ตั้ง X ใน \"val\" — every th corpus emission marks the\n    // value with ใน (en 'to'); positional patient mis-captured multi-token\n    // destinations (property paths) and fabricated bogus values.\n    {\n      id: \"set-th-simple\",\n      language: \"th\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"\\u0E15\\u0E31\\u0E49\\u0E07 {destination} \\u0E43\\u0E19 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E15\\u0E31\\u0E49\\u0E07\", alternatives: [\"\\u0E01\\u0E33\\u0E2B\\u0E19\\u0E14\", \"\\u0E15\\u0E31\\u0E49\\u0E07\\u0E04\\u0E48\\u0E32\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            // property-path opts the of-possessive matcher in (mirrors set-es-full)\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u0E43\\u0E19\", alternatives: [\"\\u0E40\\u0E1B\\u0E47\\u0E19\"] },\n              { type: \"role\", role: \"patient\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { marker: \"\\u0E43\\u0E19\", markerAlternatives: [\"\\u0E40\\u0E1B\\u0E47\\u0E19\"] }\n      }\n    }\n  ];\n}\nfunction getSetPatternsUk() {\n  return [\n    {\n      id: \"set-uk-full\",\n      language: \"uk\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"\\u0432\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\\u0442\\u0438 {destination} \\u0432 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0432\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\\u0442\\u0438\", alternatives: [\"\\u0432\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\", \"\\u0437\\u0430\\u0434\\u0430\\u0442\\u0438\", \"\\u0437\\u0430\\u0434\\u0430\\u0439\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            // property-path opts the of-possessive matcher in (mirrors set-es-full)\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u0432\", alternatives: [\"\\u043D\\u0430\", \"\\u044F\\u043A\"] },\n              { type: \"role\", role: \"patient\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { marker: \"\\u0432\", markerAlternatives: [\"\\u043D\\u0430\", \"\\u044F\\u043A\"] }\n      }\n    },\n    {\n      id: \"set-uk-simple\",\n      language: \"uk\",\n      command: \"set\",\n      priority: 90,\n      template: {\n        format: \"\\u0432\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\\u0442\\u0438 {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0432\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\\u0442\\u0438\", alternatives: [\"\\u0432\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\", \"\\u0437\\u0430\\u0434\\u0430\\u0442\\u0438\", \"\\u0437\\u0430\\u0434\\u0430\\u0439\"] },\n          { type: \"role\", role: \"destination\" }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getSetPatternsHe() {\n  return [\n    {\n      // Hebrew set. The i18n grammar transformer emits the accusative-fronted form\n      // `קבע את {destination} על {patient}` for `set X to Y` — `את` is the direct-\n      // object marker on the variable being set, and `על` (\"on\"/\"to\") introduces\n      // the value. The generated pattern used the bare profile markers (destination\n      // → על, patient → את) in the opposite arrangement, so the transformed form\n      // didn't match and the `set` dropped (degenerate `template-literal-list-build`\n      // in he). `את` is required: the transformer always fronts the accusative for\n      // set, and keeping it required (rather than an optional group) avoids the\n      // matcher producing an empty partial match on unrelated `…את…` inputs.\n      // See docs-internal/ZH_BLOCK_BODY_SCOPE.md (#2 sweep — per-language set marking).\n      id: \"set-he-full\",\n      language: \"he\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"\\u05E7\\u05D1\\u05E2 \\u05D0\\u05EA {destination} \\u05E2\\u05DC {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u05E7\\u05D1\\u05E2\", alternatives: [\"\\u05D4\\u05D2\\u05D3\\u05E8\"] },\n          { type: \"literal\", value: \"\\u05D0\\u05EA\" },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"\\u05E2\\u05DC\", alternatives: [\"\\u05D1\", \"\\u05D0\\u05DC\", \"\\u05DC\", \"\\u05DB\"] },\n          {\n            type: \"role\",\n            role: \"patient\",\n            expectedTypes: [\"literal\", \"expression\", \"reference\", \"selector\"]\n          }\n        ]\n      },\n      extraction: {\n        destination: { marker: \"\\u05D0\\u05EA\" },\n        patient: { marker: \"\\u05E2\\u05DC\", markerAlternatives: [\"\\u05D1\", \"\\u05D0\\u05DC\", \"\\u05DC\", \"\\u05DB\"] }\n      }\n    }\n  ];\n}\nfunction getSetPatternsVi() {\n  return [\n    {\n      // The i18n grammar transformer emits `gán {destination} vào {patient}` for\n      // `set X to Y` — `vào` is vi's destination/\"into\" marker, and the variable\n      // being set leads (unmarked). The existing `set-vi-full` below uses a\n      // different marker (`thành`) and non-canonical roles (var → `patient`), so it\n      // never matched the transform output and the `set` dropped (degenerate vi in\n      // template-literal-list-build etc.). This pattern matches the transform and\n      // assigns the canonical set roles (destination = the var, patient = the value)\n      // that the AST mapper reads. See ZH_BLOCK_BODY_SCOPE.md (#2 sweep).\n      id: \"set-vi-vao\",\n      language: \"vi\",\n      command: \"set\",\n      priority: 101,\n      template: {\n        format: \"g\\xE1n {destination} v\\xE0o {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"g\\xE1n\", alternatives: [\"thi\\u1EBFt l\\u1EADp\", \"\\u0111\\u1EB7t gi\\xE1 tr\\u1ECB\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"v\\xE0o\", alternatives: [\"cho\", \"\\u0111\\u1EBFn\"] },\n          {\n            type: \"role\",\n            role: \"patient\",\n            expectedTypes: [\"literal\", \"expression\", \"reference\", \"selector\"]\n          }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { marker: \"v\\xE0o\", markerAlternatives: [\"cho\", \"\\u0111\\u1EBFn\"] }\n      }\n    },\n    {\n      id: \"set-vi-full\",\n      language: \"vi\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"g\\xE1n {destination} th\\xE0nh {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"g\\xE1n\", alternatives: [\"thi\\u1EBFt l\\u1EADp\", \"\\u0111\\u1EB7t gi\\xE1 tr\\u1ECB\"] },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"th\\xE0nh\", alternatives: [\"b\\u1EB1ng\", \"l\\xE0\"] },\n          { type: \"role\", role: \"goal\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        goal: { marker: \"th\\xE0nh\", markerAlternatives: [\"b\\u1EB1ng\", \"l\\xE0\"] }\n      }\n    },\n    {\n      id: \"set-vi-simple\",\n      language: \"vi\",\n      command: \"set\",\n      priority: 90,\n      template: {\n        format: \"\\u0111\\u1EB7t {destination} l\\xE0 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0111\\u1EB7t\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"l\\xE0\" },\n          { type: \"role\", role: \"goal\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        goal: { marker: \"l\\xE0\" }\n      }\n    }\n  ];\n}\nfunction getSetPatternsZh() {\n  return [\n    {\n      id: \"set-zh-full\",\n      language: \"zh\",\n      command: \"set\",\n      priority: 100,\n      template: {\n        format: \"\\u8BBE\\u7F6E {destination} \\u4E3A {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u8BBE\\u7F6E\", alternatives: [\"\\u8A2D\\u7F6E\", \"\\u8BBE\\u5B9A\", \"\\u8A2D\\u5B9A\"] },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"\\u4E3A\", alternatives: [\"\\u70BA\", \"\\u5230\", \"\\u6210\"] },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { marker: \"\\u4E3A\", markerAlternatives: [\"\\u70BA\", \"\\u5230\", \"\\u6210\"] }\n      }\n    },\n    {\n      // BA-fronted set. The i18n grammar transformer emits the *split* verb form\n      // `把 {destination} 设置 到 {patient}` for `set X to Y` (verb 设置 + a\n      // separate \"to\"-marker 到), so the marker is matched as an optional group —\n      // when absent, the merged verb forms (设置为/设定为) carry the \"as\"\n      // themselves. Mirrors the put-zh-ba fix. See ZH_BLOCK_BODY_SCOPE.md (#3/#2).\n      id: \"set-zh-ba\",\n      language: \"zh\",\n      command: \"set\",\n      priority: 95,\n      template: {\n        format: \"\\u628A {destination} \\u8BBE\\u7F6E \\u5230 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u628A\" },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          {\n            type: \"literal\",\n            value: \"\\u8BBE\\u7F6E\",\n            alternatives: [\"\\u8A2D\\u7F6E\", \"\\u8BBE\\u5B9A\", \"\\u8A2D\\u5B9A\", \"\\u8BBE\\u7F6E\\u4E3A\", \"\\u8A2D\\u7F6E\\u70BA\", \"\\u8BBE\\u5B9A\\u4E3A\", \"\\u8A2D\\u5B9A\\u70BA\"]\n          },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [{ type: \"literal\", value: \"\\u5230\", alternatives: [\"\\u4E3A\", \"\\u70BA\", \"\\u6210\"] }]\n          },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 1 },\n        patient: { marker: \"\\u5230\", markerAlternatives: [\"\\u4E3A\", \"\\u70BA\", \"\\u6210\"] }\n      }\n    },\n    {\n      // Verb-first BA: 设置 把 {destination} 到 {patient}. For an `on click set\n      // X to Y` handler the i18n transformer fronts the verb and marks the\n      // leading argument with 把 (its generic argument parser defaults the\n      // leading argument to the patient role; zh marks patient with 把) —\n      // `当 点击 时 设置 把 @disabled 到 真`. Neither set-zh-full (no 把) nor\n      // set-zh-ba (把 BEFORE the verb) matches, so the whole set body dropped\n      // across the set-* corpus patterns. Same BA-tolerance family as\n      // wait-zh-ba / put-zh-ba. See ZH_BLOCK_BODY_SCOPE.md.\n      id: \"set-zh-vba\",\n      language: \"zh\",\n      command: \"set\",\n      priority: 96,\n      template: {\n        format: \"\\u8BBE\\u7F6E \\u628A {destination} \\u5230 {patient}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"\\u8BBE\\u7F6E\",\n            alternatives: [\"\\u8A2D\\u7F6E\", \"\\u8BBE\\u5B9A\", \"\\u8A2D\\u5B9A\"]\n          },\n          { type: \"literal\", value: \"\\u628A\" },\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [{ type: \"literal\", value: \"\\u5230\", alternatives: [\"\\u4E3A\", \"\\u70BA\", \"\\u6210\"] }]\n          },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 2 },\n        patient: { marker: \"\\u5230\", markerAlternatives: [\"\\u4E3A\", \"\\u70BA\", \"\\u6210\"] }\n      }\n    },\n    {\n      id: \"set-zh-simple\",\n      language: \"zh\",\n      command: \"set\",\n      priority: 90,\n      template: {\n        format: \"{destination} = {patient}\",\n        tokens: [\n          {\n            type: \"role\",\n            role: \"destination\",\n            expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n          },\n          { type: \"literal\", value: \"=\" },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        destination: { position: 0 },\n        patient: { position: 2 }\n      }\n    }\n  ];\n}\nfunction withTrailingScope(patterns) {\n  return patterns.map((p) => {\n    if (p.extraction?.scope) return p;\n    return {\n      ...p,\n      template: {\n        ...p.template,\n        tokens: [\n          ...p.template.tokens,\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"on\" },\n              {\n                type: \"role\",\n                role: \"scope\",\n                optional: true,\n                expectedTypes: [\"selector\", \"reference\"]\n              }\n            ]\n          }\n        ]\n      },\n      extraction: { ...p.extraction, scope: { marker: \"on\" } }\n    };\n  });\n}\nfunction getSetPatternsForLanguage(language) {\n  switch (language) {\n    case \"bn\":\n      return withTrailingScope(getSetPatternsBn());\n    case \"de\":\n      return withTrailingScope(getSetPatternsDe());\n    case \"es\":\n      return withTrailingScope(getSetPatternsEs());\n    case \"fr\":\n      return withTrailingScope(getSetPatternsFr());\n    case \"he\":\n      return withTrailingScope(getSetPatternsHe());\n    case \"hi\":\n      return withTrailingScope(getSetPatternsHi());\n    case \"id\":\n      return withTrailingScope(getSetPatternsId());\n    case \"ms\":\n      return withTrailingScope(getSetPatternsMs());\n    case \"it\":\n      return withTrailingScope(getSetPatternsIt());\n    case \"pl\":\n      return withTrailingScope(getSetPatternsPl());\n    case \"pt\":\n      return withTrailingScope(getSetPatternsPt());\n    case \"ru\":\n      return withTrailingScope(getSetPatternsRu());\n    case \"sw\":\n      return withTrailingScope(getSetPatternsSw());\n    case \"th\":\n      return withTrailingScope(getSetPatternsTh());\n    case \"uk\":\n      return withTrailingScope(getSetPatternsUk());\n    case \"vi\":\n      return withTrailingScope(getSetPatternsVi());\n    case \"zh\":\n      return withTrailingScope(getSetPatternsZh());\n    default:\n      return [];\n  }\n}\n\n// src/patterns/get.ts\nfunction getGetPatternsBn() {\n  return [\n    // Full pattern: :x থেকে পান\n    {\n      id: \"get-bn-full\",\n      language: \"bn\",\n      command: \"get\",\n      priority: 100,\n      template: {\n        format: \"{source} \\u09A5\\u09C7\\u0995\\u09C7 \\u09AA\\u09BE\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"source\" },\n          { type: \"literal\", value: \"\\u09A5\\u09C7\\u0995\\u09C7\" },\n          { type: \"literal\", value: \"\\u09AA\\u09BE\\u09A8\", alternatives: [\"\\u09A8\\u09BF\\u09A8\"] }\n        ]\n      },\n      extraction: {\n        source: { position: 0 }\n      }\n    },\n    // Simple pattern: পান :x\n    {\n      id: \"get-bn-simple\",\n      language: \"bn\",\n      command: \"get\",\n      priority: 90,\n      template: {\n        format: \"\\u09AA\\u09BE\\u09A8 {source}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u09AA\\u09BE\\u09A8\", alternatives: [\"\\u09A8\\u09BF\\u09A8\"] },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        source: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getGetPatternsDe() {\n  return [\n    {\n      id: \"get-de-full\",\n      language: \"de\",\n      command: \"get\",\n      priority: 100,\n      template: {\n        format: \"hole {source}\",\n        tokens: [\n          { type: \"literal\", value: \"hole\", alternatives: [\"holen\", \"get\", \"bekomme\", \"bekommen\"] },\n          { type: \"role\", role: \"source\", expectedTypes: [\"selector\", \"reference\", \"expression\"] }\n        ]\n      },\n      extraction: {\n        source: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getGetPatternsHi() {\n  return [\n    // Full pattern: #element से प्राप्त करें\n    {\n      id: \"get-hi-full\",\n      language: \"hi\",\n      command: \"get\",\n      priority: 100,\n      template: {\n        format: \"{source} \\u0938\\u0947 \\u092A\\u094D\\u0930\\u093E\\u092A\\u094D\\u0924 \\u0915\\u0930\\u0947\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"source\" },\n          { type: \"literal\", value: \"\\u0938\\u0947\" },\n          { type: \"literal\", value: \"\\u092A\\u094D\\u0930\\u093E\\u092A\\u094D\\u0924\", alternatives: [\"\\u092A\\u093E\\u090F\\u0902\"] },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [{ type: \"literal\", value: \"\\u0915\\u0930\\u0947\\u0902\", alternatives: [\"\\u0915\\u0930\\u094B\"] }]\n          }\n        ]\n      },\n      extraction: {\n        source: { position: 0 }\n      }\n    },\n    // Simple pattern: प्राप्त #element\n    {\n      id: \"get-hi-simple\",\n      language: \"hi\",\n      command: \"get\",\n      priority: 90,\n      template: {\n        format: \"\\u092A\\u094D\\u0930\\u093E\\u092A\\u094D\\u0924 {source}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u092A\\u094D\\u0930\\u093E\\u092A\\u094D\\u0924\", alternatives: [\"\\u092A\\u093E\\u090F\\u0902\"] },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        source: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getGetPatternsIt() {\n  return [\n    {\n      id: \"get-it-full\",\n      language: \"it\",\n      command: \"get\",\n      priority: 100,\n      template: {\n        format: \"ottenere {patient} da {source}\",\n        tokens: [\n          { type: \"literal\", value: \"ottenere\", alternatives: [\"ottieni\", \"get\", \"prendere\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"da\", alternatives: [\"di\"] },\n              { type: \"role\", role: \"source\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: { marker: \"da\", markerAlternatives: [\"di\"] }\n      }\n    },\n    {\n      id: \"get-it-simple\",\n      language: \"it\",\n      command: \"get\",\n      priority: 90,\n      template: {\n        format: \"ottenere {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"ottenere\", alternatives: [\"ottieni\", \"get\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getGetPatternsPl() {\n  return [\n    {\n      id: \"get-pl-full\",\n      language: \"pl\",\n      command: \"get\",\n      priority: 100,\n      template: {\n        format: \"uzyskaj {patient} z {source}\",\n        tokens: [\n          { type: \"literal\", value: \"uzyskaj\" },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"z\", alternatives: [\"od\", \"ze\"] },\n              { type: \"role\", role: \"source\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: { marker: \"z\", markerAlternatives: [\"od\", \"ze\"] }\n      }\n    },\n    {\n      id: \"get-pl-simple\",\n      language: \"pl\",\n      command: \"get\",\n      priority: 90,\n      template: {\n        format: \"uzyskaj {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"uzyskaj\" },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getGetPatternsRu() {\n  return [\n    {\n      id: \"get-ru-full\",\n      language: \"ru\",\n      command: \"get\",\n      priority: 100,\n      template: {\n        format: \"\\u043F\\u043E\\u043B\\u0443\\u0447\\u0438\\u0442\\u044C {patient} \\u0438\\u0437 {source}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u043E\\u043B\\u0443\\u0447\\u0438\\u0442\\u044C\", alternatives: [\"\\u043F\\u043E\\u043B\\u0443\\u0447\\u0438\", \"\\u0432\\u0437\\u044F\\u0442\\u044C\", \"\\u0432\\u043E\\u0437\\u044C\\u043C\\u0438\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u0438\\u0437\", alternatives: [\"\\u043E\\u0442\", \"\\u0441\"] },\n              { type: \"role\", role: \"source\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: { marker: \"\\u0438\\u0437\", markerAlternatives: [\"\\u043E\\u0442\", \"\\u0441\"] }\n      }\n    },\n    {\n      id: \"get-ru-simple\",\n      language: \"ru\",\n      command: \"get\",\n      priority: 90,\n      template: {\n        format: \"\\u043F\\u043E\\u043B\\u0443\\u0447\\u0438\\u0442\\u044C {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043F\\u043E\\u043B\\u0443\\u0447\\u0438\\u0442\\u044C\", alternatives: [\"\\u043F\\u043E\\u043B\\u0443\\u0447\\u0438\", \"\\u0432\\u0437\\u044F\\u0442\\u044C\", \"\\u0432\\u043E\\u0437\\u044C\\u043C\\u0438\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getGetPatternsTh() {\n  return [\n    // Simple pattern: รับค่า :x\n    {\n      id: \"get-th-simple\",\n      language: \"th\",\n      command: \"get\",\n      priority: 100,\n      template: {\n        format: \"\\u0E23\\u0E31\\u0E1A\\u0E04\\u0E48\\u0E32 {source}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E23\\u0E31\\u0E1A\\u0E04\\u0E48\\u0E32\" },\n          { type: \"role\", role: \"source\" }\n        ]\n      },\n      extraction: {\n        source: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getGetPatternsUk() {\n  return [\n    {\n      id: \"get-uk-full\",\n      language: \"uk\",\n      command: \"get\",\n      priority: 100,\n      template: {\n        format: \"\\u043E\\u0442\\u0440\\u0438\\u043C\\u0430\\u0442\\u0438 {patient} \\u0437 {source}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043E\\u0442\\u0440\\u0438\\u043C\\u0430\\u0442\\u0438\", alternatives: [\"\\u043E\\u0442\\u0440\\u0438\\u043C\\u0430\\u0439\", \"\\u0432\\u0437\\u044F\\u0442\\u0438\", \"\\u0432\\u0456\\u0437\\u044C\\u043C\\u0438\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u0437\", alternatives: [\"\\u0432\\u0456\\u0434\", \"\\u0456\\u0437\"] },\n              { type: \"role\", role: \"source\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        source: { marker: \"\\u0437\", markerAlternatives: [\"\\u0432\\u0456\\u0434\", \"\\u0456\\u0437\"] }\n      }\n    },\n    {\n      id: \"get-uk-simple\",\n      language: \"uk\",\n      command: \"get\",\n      priority: 90,\n      template: {\n        format: \"\\u043E\\u0442\\u0440\\u0438\\u043C\\u0430\\u0442\\u0438 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u043E\\u0442\\u0440\\u0438\\u043C\\u0430\\u0442\\u0438\", alternatives: [\"\\u043E\\u0442\\u0440\\u0438\\u043C\\u0430\\u0439\", \"\\u0432\\u0437\\u044F\\u0442\\u0438\", \"\\u0432\\u0456\\u0437\\u044C\\u043C\\u0438\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getGetPatternsVi() {\n  return [\n    {\n      id: \"get-vi-full\",\n      language: \"vi\",\n      command: \"get\",\n      priority: 100,\n      template: {\n        format: \"l\\u1EA5y gi\\xE1 tr\\u1ECB c\\u1EE7a {target}\",\n        tokens: [\n          { type: \"literal\", value: \"l\\u1EA5y gi\\xE1 tr\\u1ECB\", alternatives: [\"nh\\u1EADn\", \"l\\u1EA5y\"] },\n          { type: \"group\", optional: true, tokens: [{ type: \"literal\", value: \"c\\u1EE7a\" }] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    {\n      id: \"get-vi-simple\",\n      language: \"vi\",\n      command: \"get\",\n      priority: 90,\n      template: {\n        format: \"l\\u1EA5y {target}\",\n        tokens: [\n          { type: \"literal\", value: \"l\\u1EA5y\", alternatives: [\"nh\\u1EADn\", \"l\\u1EA5y gi\\xE1 tr\\u1ECB\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getGetPatternsZh() {\n  return [\n    // `get #x.value` → zh `获取 把 #x.value` (BA object marker). The generated zh get\n    // pattern doesn't tolerate 把, so the corpus form fell through to `fetch-zh-ba`\n    // (which used to list 获得) and mis-parsed as fetch. Mirror fetch-zh-ba: the get\n    // verb (获取/获得/取得) + an optional 把-marked source.\n    {\n      id: \"get-zh-ba\",\n      language: \"zh\",\n      command: \"get\",\n      priority: 105,\n      template: {\n        format: \"\\u83B7\\u53D6 \\u628A {source}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u83B7\\u53D6\", alternatives: [\"\\u83B7\\u5F97\", \"\\u53D6\\u5F97\"] },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [{ type: \"literal\", value: \"\\u628A\", alternatives: [\"\\u4ECE\", \"\\u7531\"] }]\n          },\n          { type: \"role\", role: \"source\", expectedTypes: [\"selector\", \"reference\", \"expression\"] }\n        ]\n      },\n      extraction: {\n        source: { marker: \"\\u628A\", markerAlternatives: [\"\\u4ECE\", \"\\u7531\"] }\n      }\n    }\n  ];\n}\nfunction getGetPatternsForLanguage(language) {\n  switch (language) {\n    case \"bn\":\n      return getGetPatternsBn();\n    case \"de\":\n      return getGetPatternsDe();\n    case \"zh\":\n      return getGetPatternsZh();\n    case \"hi\":\n      return getGetPatternsHi();\n    case \"it\":\n      return getGetPatternsIt();\n    case \"pl\":\n      return getGetPatternsPl();\n    case \"ru\":\n      return getGetPatternsRu();\n    case \"th\":\n      return getGetPatternsTh();\n    case \"uk\":\n      return getGetPatternsUk();\n    case \"vi\":\n      return getGetPatternsVi();\n    default:\n      return [];\n  }\n}\n\n// src/patterns/increment.ts\nfunction getIncrementPatternsBn() {\n  return [\n    // Full pattern: :counter কে বৃদ্ধি করুন\n    {\n      id: \"increment-bn-full\",\n      language: \"bn\",\n      command: \"increment\",\n      priority: 100,\n      template: {\n        format: \"{patient} \\u0995\\u09C7 \\u09AC\\u09C3\\u09A6\\u09CD\\u09A7\\u09BF \\u0995\\u09B0\\u09C1\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0995\\u09C7\" },\n          { type: \"literal\", value: \"\\u09AC\\u09C3\\u09A6\\u09CD\\u09A7\\u09BF\", alternatives: [\"\\u09AC\\u09BE\\u09A1\\u09BC\\u09BE\\u09A8\"] },\n          { type: \"literal\", value: \"\\u0995\\u09B0\\u09C1\\u09A8\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 }\n      }\n    },\n    // With quantity: :counter কে 5 দিয়ে বৃদ্ধি করুন\n    {\n      id: \"increment-bn-with-quantity\",\n      language: \"bn\",\n      command: \"increment\",\n      priority: 95,\n      template: {\n        format: \"{patient} \\u0995\\u09C7 {quantity} \\u09A6\\u09BF\\u09AF\\u09BC\\u09C7 \\u09AC\\u09C3\\u09A6\\u09CD\\u09A7\\u09BF \\u0995\\u09B0\\u09C1\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0995\\u09C7\" },\n          { type: \"role\", role: \"quantity\" },\n          { type: \"literal\", value: \"\\u09A6\\u09BF\\u09AF\\u09BC\\u09C7\" },\n          { type: \"literal\", value: \"\\u09AC\\u09C3\\u09A6\\u09CD\\u09A7\\u09BF\", alternatives: [\"\\u09AC\\u09BE\\u09A1\\u09BC\\u09BE\\u09A8\"] },\n          { type: \"literal\", value: \"\\u0995\\u09B0\\u09C1\\u09A8\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        quantity: { marker: \"\\u09A6\\u09BF\\u09AF\\u09BC\\u09C7\", position: 2 }\n      }\n    },\n    // Simple pattern: বৃদ্ধি :counter\n    {\n      id: \"increment-bn-simple\",\n      language: \"bn\",\n      command: \"increment\",\n      priority: 90,\n      template: {\n        format: \"\\u09AC\\u09C3\\u09A6\\u09CD\\u09A7\\u09BF {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u09AC\\u09C3\\u09A6\\u09CD\\u09A7\\u09BF\", alternatives: [\"\\u09AC\\u09BE\\u09A1\\u09BC\\u09BE\\u09A8\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getIncrementPatternsDe() {\n  const verbAlternatives = [\"erhoehe\", \"erh\\xF6hen\", \"inkrementiere\", \"inkrementieren\", \"increment\"];\n  return [\n    // With quantity: erhöhe :counter um 5 — the by-marker langs need an explicit\n    // pattern because de uses the hand-crafted `increment-de-full` (the schema\n    // markerOverride reaches only the generated es/fr/pt patterns). `um` marks\n    // the amount; priority 105 > 100 so it wins when the amount is present.\n    {\n      id: \"increment-de-with-quantity\",\n      language: \"de\",\n      command: \"increment\",\n      priority: 105,\n      template: {\n        format: \"erh\\xF6he {patient} um {quantity}\",\n        tokens: [\n          { type: \"literal\", value: \"erh\\xF6he\", alternatives: verbAlternatives },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"selector\", \"reference\", \"expression\"] },\n          { type: \"literal\", value: \"um\" },\n          { type: \"role\", role: \"quantity\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { marker: \"um\", position: 3 }\n      }\n    },\n    {\n      id: \"increment-de-full\",\n      language: \"de\",\n      command: \"increment\",\n      priority: 100,\n      template: {\n        format: \"erh\\xF6he {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"erh\\xF6he\", alternatives: verbAlternatives },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"selector\", \"reference\", \"expression\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getIncrementPatternsHi() {\n  return [\n    // Full pattern: :counter को बढ़ाएं\n    {\n      id: \"increment-hi-full\",\n      language: \"hi\",\n      command: \"increment\",\n      priority: 100,\n      template: {\n        format: \"{patient} \\u0915\\u094B \\u092C\\u0922\\u093C\\u093E\\u090F\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0915\\u094B\" },\n          { type: \"literal\", value: \"\\u092C\\u0922\\u093C\\u093E\\u090F\\u0902\", alternatives: [\"\\u092C\\u0922\\u093C\\u093E\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 }\n      }\n    },\n    // With quantity: :counter को 5 से बढ़ाएं\n    {\n      id: \"increment-hi-with-quantity\",\n      language: \"hi\",\n      command: \"increment\",\n      priority: 95,\n      template: {\n        format: \"{patient} \\u0915\\u094B {quantity} \\u0938\\u0947 \\u092C\\u0922\\u093C\\u093E\\u090F\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0915\\u094B\" },\n          { type: \"role\", role: \"quantity\" },\n          { type: \"literal\", value: \"\\u0938\\u0947\" },\n          { type: \"literal\", value: \"\\u092C\\u0922\\u093C\\u093E\\u090F\\u0902\", alternatives: [\"\\u092C\\u0922\\u093C\\u093E\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        quantity: { marker: \"\\u0938\\u0947\", position: 2 }\n      }\n    },\n    // Simple pattern: बढ़ाएं :counter\n    {\n      id: \"increment-hi-simple\",\n      language: \"hi\",\n      command: \"increment\",\n      priority: 90,\n      template: {\n        format: \"\\u092C\\u0922\\u093C\\u093E\\u090F\\u0902 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u092C\\u0922\\u093C\\u093E\\u090F\\u0902\", alternatives: [\"\\u092C\\u0922\\u093C\\u093E\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getIncrementPatternsIt() {\n  return [\n    {\n      id: \"increment-it-full\",\n      language: \"it\",\n      command: \"increment\",\n      priority: 100,\n      template: {\n        format: \"incrementare {patient} di {quantity}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"incrementare\",\n            alternatives: [\"incrementa\", \"aumentare\", \"increment\"]\n          },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"di\", alternatives: [\"per\"] },\n              { type: \"role\", role: \"quantity\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: {\n          marker: \"di\",\n          markerAlternatives: [\"per\"],\n          default: { type: \"literal\", value: \"1\" }\n        }\n      }\n    },\n    {\n      id: \"increment-it-simple\",\n      language: \"it\",\n      command: \"increment\",\n      priority: 90,\n      template: {\n        format: \"incrementare {patient}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"incrementare\",\n            alternatives: [\"incrementa\", \"aumentare\", \"increment\"]\n          },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { default: { type: \"literal\", value: \"1\" } }\n      }\n    }\n  ];\n}\nfunction getIncrementPatternsPl() {\n  return [\n    {\n      id: \"increment-pl-full\",\n      language: \"pl\",\n      command: \"increment\",\n      priority: 100,\n      template: {\n        format: \"zwi\\u0119ksz {patient} o {quantity}\",\n        tokens: [\n          { type: \"literal\", value: \"zwi\\u0119ksz\", alternatives: [\"zwieksz\", \"podnie\\u015B\", \"podnies\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"o\" },\n              { type: \"role\", role: \"quantity\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { marker: \"o\", default: { type: \"literal\", value: 1 } }\n      }\n    },\n    {\n      id: \"increment-pl-simple\",\n      language: \"pl\",\n      command: \"increment\",\n      priority: 90,\n      template: {\n        format: \"zwi\\u0119ksz {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"zwi\\u0119ksz\", alternatives: [\"zwieksz\", \"podnie\\u015B\", \"podnies\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { default: { type: \"literal\", value: 1 } }\n      }\n    }\n  ];\n}\nfunction getIncrementPatternsRu() {\n  return [\n    {\n      id: \"increment-ru-full\",\n      language: \"ru\",\n      command: \"increment\",\n      priority: 100,\n      template: {\n        format: \"\\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u0438\\u0442\\u044C {patient} \\u043D\\u0430 {quantity}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u0438\\u0442\\u044C\", alternatives: [\"\\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u044C\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u043D\\u0430\" },\n              { type: \"role\", role: \"quantity\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { marker: \"\\u043D\\u0430\", default: { type: \"literal\", value: 1 } }\n      }\n    },\n    {\n      id: \"increment-ru-simple\",\n      language: \"ru\",\n      command: \"increment\",\n      priority: 90,\n      template: {\n        format: \"\\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u0438\\u0442\\u044C {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u0438\\u0442\\u044C\", alternatives: [\"\\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u044C\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { default: { type: \"literal\", value: 1 } }\n      }\n    }\n  ];\n}\nfunction getIncrementPatternsTh() {\n  return [\n    // Simple pattern: เพิ่มค่า :counter\n    {\n      id: \"increment-th-simple\",\n      language: \"th\",\n      command: \"increment\",\n      priority: 100,\n      template: {\n        format: \"\\u0E40\\u0E1E\\u0E34\\u0E48\\u0E21\\u0E04\\u0E48\\u0E32 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E40\\u0E1E\\u0E34\\u0E48\\u0E21\\u0E04\\u0E48\\u0E32\" },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    // With quantity: เพิ่มค่า :counter ด้วย 5\n    {\n      id: \"increment-th-with-quantity\",\n      language: \"th\",\n      command: \"increment\",\n      priority: 95,\n      template: {\n        format: \"\\u0E40\\u0E1E\\u0E34\\u0E48\\u0E21\\u0E04\\u0E48\\u0E32 {patient} \\u0E14\\u0E49\\u0E27\\u0E22 {quantity}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E40\\u0E1E\\u0E34\\u0E48\\u0E21\\u0E04\\u0E48\\u0E32\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0E14\\u0E49\\u0E27\\u0E22\" },\n          { type: \"role\", role: \"quantity\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { marker: \"\\u0E14\\u0E49\\u0E27\\u0E22\", position: 3 }\n      }\n    }\n  ];\n}\nfunction getIncrementPatternsUk() {\n  return [\n    {\n      id: \"increment-uk-full\",\n      language: \"uk\",\n      command: \"increment\",\n      priority: 100,\n      template: {\n        format: \"\\u0437\\u0431\\u0456\\u043B\\u044C\\u0448\\u0438\\u0442\\u0438 {patient} \\u043D\\u0430 {quantity}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0437\\u0431\\u0456\\u043B\\u044C\\u0448\\u0438\\u0442\\u0438\", alternatives: [\"\\u0437\\u0431\\u0456\\u043B\\u044C\\u0448\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u043D\\u0430\" },\n              { type: \"role\", role: \"quantity\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { marker: \"\\u043D\\u0430\", default: { type: \"literal\", value: 1 } }\n      }\n    },\n    {\n      id: \"increment-uk-simple\",\n      language: \"uk\",\n      command: \"increment\",\n      priority: 90,\n      template: {\n        format: \"\\u0437\\u0431\\u0456\\u043B\\u044C\\u0448\\u0438\\u0442\\u0438 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0437\\u0431\\u0456\\u043B\\u044C\\u0448\\u0438\\u0442\\u0438\", alternatives: [\"\\u0437\\u0431\\u0456\\u043B\\u044C\\u0448\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { default: { type: \"literal\", value: 1 } }\n      }\n    }\n  ];\n}\nfunction getIncrementPatternsVi() {\n  return [\n    {\n      id: \"increment-vi-full\",\n      language: \"vi\",\n      command: \"increment\",\n      priority: 100,\n      template: {\n        format: \"t\\u0103ng {target} th\\xEAm {amount}\",\n        tokens: [\n          { type: \"literal\", value: \"t\\u0103ng\", alternatives: [\"t\\u0103ng l\\xEAn\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"th\\xEAm\", alternatives: [\"l\\xEAn\"] },\n              { type: \"role\", role: \"quantity\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: {\n          marker: \"th\\xEAm\",\n          markerAlternatives: [\"l\\xEAn\"],\n          default: { type: \"literal\", value: \"1\" }\n        }\n      }\n    },\n    {\n      id: \"increment-vi-simple\",\n      language: \"vi\",\n      command: \"increment\",\n      priority: 90,\n      template: {\n        format: \"t\\u0103ng {target}\",\n        tokens: [\n          { type: \"literal\", value: \"t\\u0103ng\", alternatives: [\"t\\u0103ng l\\xEAn\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { default: { type: \"literal\", value: \"1\" } }\n      }\n    }\n  ];\n}\nfunction getIncrementPatternsQu() {\n  return [\n    // SOV pattern: #counter ta yapachiy (patient + verb)\n    {\n      id: \"increment-qu-sov\",\n      language: \"qu\",\n      command: \"increment\",\n      priority: 100,\n      template: {\n        format: \"{patient} ta yapachiy\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"ta\" },\n          { type: \"literal\", value: \"yapachiy\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        quantity: { default: { type: \"literal\", value: 1 } }\n      }\n    },\n    // Verb-first (more casual): yapachiy #counter\n    {\n      id: \"increment-qu-simple\",\n      language: \"qu\",\n      command: \"increment\",\n      priority: 90,\n      template: {\n        format: \"yapachiy {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"yapachiy\" },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { default: { type: \"literal\", value: 1 } }\n      }\n    }\n  ];\n}\nfunction getIncrementPatternsZh() {\n  return [\n    {\n      id: \"increment-zh-full\",\n      language: \"zh\",\n      command: \"increment\",\n      priority: 100,\n      template: {\n        format: \"\\u589E\\u52A0 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u589E\\u52A0\", alternatives: [\"\\u9012\\u589E\", \"\\u52A0\", \"\\u589E\", \"increment\"] },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"selector\", \"reference\", \"expression\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getIncrementPatternsForLanguage(language) {\n  switch (language) {\n    case \"bn\":\n      return getIncrementPatternsBn();\n    case \"de\":\n      return getIncrementPatternsDe();\n    case \"hi\":\n      return getIncrementPatternsHi();\n    case \"it\":\n      return getIncrementPatternsIt();\n    case \"pl\":\n      return getIncrementPatternsPl();\n    case \"ru\":\n      return getIncrementPatternsRu();\n    case \"th\":\n      return getIncrementPatternsTh();\n    case \"uk\":\n      return getIncrementPatternsUk();\n    case \"qu\":\n      return getIncrementPatternsQu();\n    case \"vi\":\n      return getIncrementPatternsVi();\n    case \"zh\":\n      return getIncrementPatternsZh();\n    default:\n      return [];\n  }\n}\n\n// src/patterns/decrement.ts\nfunction getDecrementPatternsBn() {\n  return [\n    // Full pattern: :counter কে হ্রাস করুন\n    {\n      id: \"decrement-bn-full\",\n      language: \"bn\",\n      command: \"decrement\",\n      priority: 100,\n      template: {\n        format: \"{patient} \\u0995\\u09C7 \\u09B9\\u09CD\\u09B0\\u09BE\\u09B8 \\u0995\\u09B0\\u09C1\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0995\\u09C7\" },\n          { type: \"literal\", value: \"\\u09B9\\u09CD\\u09B0\\u09BE\\u09B8\", alternatives: [\"\\u0995\\u09AE\\u09BE\\u09A8\"] },\n          { type: \"literal\", value: \"\\u0995\\u09B0\\u09C1\\u09A8\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 }\n      }\n    },\n    // With quantity: :counter কে 5 দিয়ে হ্রাস করুন\n    {\n      id: \"decrement-bn-with-quantity\",\n      language: \"bn\",\n      command: \"decrement\",\n      priority: 95,\n      template: {\n        format: \"{patient} \\u0995\\u09C7 {quantity} \\u09A6\\u09BF\\u09AF\\u09BC\\u09C7 \\u09B9\\u09CD\\u09B0\\u09BE\\u09B8 \\u0995\\u09B0\\u09C1\\u09A8\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0995\\u09C7\" },\n          { type: \"role\", role: \"quantity\" },\n          { type: \"literal\", value: \"\\u09A6\\u09BF\\u09AF\\u09BC\\u09C7\" },\n          { type: \"literal\", value: \"\\u09B9\\u09CD\\u09B0\\u09BE\\u09B8\", alternatives: [\"\\u0995\\u09AE\\u09BE\\u09A8\"] },\n          { type: \"literal\", value: \"\\u0995\\u09B0\\u09C1\\u09A8\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        quantity: { marker: \"\\u09A6\\u09BF\\u09AF\\u09BC\\u09C7\", position: 2 }\n      }\n    },\n    // Simple pattern: হ্রাস :counter\n    {\n      id: \"decrement-bn-simple\",\n      language: \"bn\",\n      command: \"decrement\",\n      priority: 90,\n      template: {\n        format: \"\\u09B9\\u09CD\\u09B0\\u09BE\\u09B8 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u09B9\\u09CD\\u09B0\\u09BE\\u09B8\", alternatives: [\"\\u0995\\u09AE\\u09BE\\u09A8\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getDecrementPatternsDe() {\n  return [\n    {\n      id: \"decrement-de-full\",\n      language: \"de\",\n      command: \"decrement\",\n      priority: 100,\n      template: {\n        format: \"verringere {patient}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"verringere\",\n            alternatives: [\n              \"verringern\",\n              \"dekrementiere\",\n              \"dekrementieren\",\n              \"reduziere\",\n              \"decrement\"\n            ]\n          },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"selector\", \"reference\", \"expression\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getDecrementPatternsHi() {\n  return [\n    // Full pattern: :counter को घटाएं\n    {\n      id: \"decrement-hi-full\",\n      language: \"hi\",\n      command: \"decrement\",\n      priority: 100,\n      template: {\n        format: \"{patient} \\u0915\\u094B \\u0918\\u091F\\u093E\\u090F\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0915\\u094B\" },\n          { type: \"literal\", value: \"\\u0918\\u091F\\u093E\\u090F\\u0902\", alternatives: [\"\\u0918\\u091F\\u093E\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 }\n      }\n    },\n    // With quantity: :counter को 5 से घटाएं\n    {\n      id: \"decrement-hi-with-quantity\",\n      language: \"hi\",\n      command: \"decrement\",\n      priority: 95,\n      template: {\n        format: \"{patient} \\u0915\\u094B {quantity} \\u0938\\u0947 \\u0918\\u091F\\u093E\\u090F\\u0902\",\n        tokens: [\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0915\\u094B\" },\n          { type: \"role\", role: \"quantity\" },\n          { type: \"literal\", value: \"\\u0938\\u0947\" },\n          { type: \"literal\", value: \"\\u0918\\u091F\\u093E\\u090F\\u0902\", alternatives: [\"\\u0918\\u091F\\u093E\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 0 },\n        quantity: { marker: \"\\u0938\\u0947\", position: 2 }\n      }\n    },\n    // Simple pattern: घटाएं :counter\n    {\n      id: \"decrement-hi-simple\",\n      language: \"hi\",\n      command: \"decrement\",\n      priority: 90,\n      template: {\n        format: \"\\u0918\\u091F\\u093E\\u090F\\u0902 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0918\\u091F\\u093E\\u090F\\u0902\", alternatives: [\"\\u0918\\u091F\\u093E\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getDecrementPatternsIt() {\n  return [\n    {\n      id: \"decrement-it-full\",\n      language: \"it\",\n      command: \"decrement\",\n      priority: 100,\n      template: {\n        format: \"decrementare {patient} di {quantity}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"decrementare\",\n            alternatives: [\"decrementa\", \"diminuire\", \"decrement\"]\n          },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"di\", alternatives: [\"per\"] },\n              { type: \"role\", role: \"quantity\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: {\n          marker: \"di\",\n          markerAlternatives: [\"per\"],\n          default: { type: \"literal\", value: \"1\" }\n        }\n      }\n    },\n    {\n      id: \"decrement-it-simple\",\n      language: \"it\",\n      command: \"decrement\",\n      priority: 90,\n      template: {\n        format: \"decrementare {patient}\",\n        tokens: [\n          {\n            type: \"literal\",\n            value: \"decrementare\",\n            alternatives: [\"decrementa\", \"diminuire\", \"decrement\"]\n          },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { default: { type: \"literal\", value: \"1\" } }\n      }\n    }\n  ];\n}\nfunction getDecrementPatternsPl() {\n  return [\n    {\n      id: \"decrement-pl-full\",\n      language: \"pl\",\n      command: \"decrement\",\n      priority: 100,\n      template: {\n        format: \"zmniejsz {patient} o {quantity}\",\n        tokens: [\n          { type: \"literal\", value: \"zmniejsz\", alternatives: [\"obni\\u017C\", \"obniz\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"o\" },\n              { type: \"role\", role: \"quantity\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { marker: \"o\", default: { type: \"literal\", value: 1 } }\n      }\n    },\n    {\n      id: \"decrement-pl-simple\",\n      language: \"pl\",\n      command: \"decrement\",\n      priority: 90,\n      template: {\n        format: \"zmniejsz {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"zmniejsz\", alternatives: [\"obni\\u017C\", \"obniz\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { default: { type: \"literal\", value: 1 } }\n      }\n    }\n  ];\n}\nfunction getDecrementPatternsRu() {\n  return [\n    {\n      id: \"decrement-ru-full\",\n      language: \"ru\",\n      command: \"decrement\",\n      priority: 100,\n      template: {\n        format: \"\\u0443\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\\u0442\\u044C {patient} \\u043D\\u0430 {quantity}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0443\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\\u0442\\u044C\", alternatives: [\"\\u0443\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u043D\\u0430\" },\n              { type: \"role\", role: \"quantity\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { marker: \"\\u043D\\u0430\", default: { type: \"literal\", value: 1 } }\n      }\n    },\n    {\n      id: \"decrement-ru-simple\",\n      language: \"ru\",\n      command: \"decrement\",\n      priority: 90,\n      template: {\n        format: \"\\u0443\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\\u0442\\u044C {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0443\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\\u0442\\u044C\", alternatives: [\"\\u0443\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { default: { type: \"literal\", value: 1 } }\n      }\n    }\n  ];\n}\nfunction getDecrementPatternsTh() {\n  return [\n    // Simple pattern: ลดค่า :counter\n    {\n      id: \"decrement-th-simple\",\n      language: \"th\",\n      command: \"decrement\",\n      priority: 100,\n      template: {\n        format: \"\\u0E25\\u0E14\\u0E04\\u0E48\\u0E32 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E25\\u0E14\\u0E04\\u0E48\\u0E32\" },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    },\n    // With quantity: ลดค่า :counter ด้วย 5\n    {\n      id: \"decrement-th-with-quantity\",\n      language: \"th\",\n      command: \"decrement\",\n      priority: 95,\n      template: {\n        format: \"\\u0E25\\u0E14\\u0E04\\u0E48\\u0E32 {patient} \\u0E14\\u0E49\\u0E27\\u0E22 {quantity}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0E25\\u0E14\\u0E04\\u0E48\\u0E32\" },\n          { type: \"role\", role: \"patient\" },\n          { type: \"literal\", value: \"\\u0E14\\u0E49\\u0E27\\u0E22\" },\n          { type: \"role\", role: \"quantity\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { marker: \"\\u0E14\\u0E49\\u0E27\\u0E22\", position: 3 }\n      }\n    }\n  ];\n}\nfunction getDecrementPatternsUk() {\n  return [\n    {\n      id: \"decrement-uk-full\",\n      language: \"uk\",\n      command: \"decrement\",\n      priority: 100,\n      template: {\n        format: \"\\u0437\\u043C\\u0435\\u043D\\u0448\\u0438\\u0442\\u0438 {patient} \\u043D\\u0430 {quantity}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0437\\u043C\\u0435\\u043D\\u0448\\u0438\\u0442\\u0438\", alternatives: [\"\\u0437\\u043C\\u0435\\u043D\\u0448\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u043D\\u0430\" },\n              { type: \"role\", role: \"quantity\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { marker: \"\\u043D\\u0430\", default: { type: \"literal\", value: 1 } }\n      }\n    },\n    {\n      id: \"decrement-uk-simple\",\n      language: \"uk\",\n      command: \"decrement\",\n      priority: 90,\n      template: {\n        format: \"\\u0437\\u043C\\u0435\\u043D\\u0448\\u0438\\u0442\\u0438 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u0437\\u043C\\u0435\\u043D\\u0448\\u0438\\u0442\\u0438\", alternatives: [\"\\u0437\\u043C\\u0435\\u043D\\u0448\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { default: { type: \"literal\", value: 1 } }\n      }\n    }\n  ];\n}\nfunction getDecrementPatternsVi() {\n  return [\n    {\n      id: \"decrement-vi-full\",\n      language: \"vi\",\n      command: \"decrement\",\n      priority: 100,\n      template: {\n        format: \"gi\\u1EA3m {target} \\u0111i {amount}\",\n        tokens: [\n          { type: \"literal\", value: \"gi\\u1EA3m\", alternatives: [\"gi\\u1EA3m \\u0111i\"] },\n          { type: \"role\", role: \"patient\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u0111i\", alternatives: [\"xu\\u1ED1ng\"] },\n              { type: \"role\", role: \"quantity\" }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: {\n          marker: \"\\u0111i\",\n          markerAlternatives: [\"xu\\u1ED1ng\"],\n          default: { type: \"literal\", value: \"1\" }\n        }\n      }\n    },\n    {\n      id: \"decrement-vi-simple\",\n      language: \"vi\",\n      command: \"decrement\",\n      priority: 90,\n      template: {\n        format: \"gi\\u1EA3m {target}\",\n        tokens: [\n          { type: \"literal\", value: \"gi\\u1EA3m\", alternatives: [\"gi\\u1EA3m \\u0111i\"] },\n          { type: \"role\", role: \"patient\" }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        quantity: { default: { type: \"literal\", value: \"1\" } }\n      }\n    }\n  ];\n}\nfunction getDecrementPatternsZh() {\n  return [\n    {\n      id: \"decrement-zh-full\",\n      language: \"zh\",\n      command: \"decrement\",\n      priority: 100,\n      template: {\n        format: \"\\u51CF\\u5C11 {patient}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u51CF\\u5C11\", alternatives: [\"\\u9012\\u51CF\", \"\\u51CF\", \"\\u964D\\u4F4E\", \"decrement\"] },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"selector\", \"reference\", \"expression\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 }\n      }\n    }\n  ];\n}\nfunction getDecrementPatternsForLanguage(language) {\n  switch (language) {\n    case \"bn\":\n      return getDecrementPatternsBn();\n    case \"de\":\n      return getDecrementPatternsDe();\n    case \"hi\":\n      return getDecrementPatternsHi();\n    case \"it\":\n      return getDecrementPatternsIt();\n    case \"pl\":\n      return getDecrementPatternsPl();\n    case \"ru\":\n      return getDecrementPatternsRu();\n    case \"th\":\n      return getDecrementPatternsTh();\n    case \"uk\":\n      return getDecrementPatternsUk();\n    case \"vi\":\n      return getDecrementPatternsVi();\n    case \"zh\":\n      return getDecrementPatternsZh();\n    default:\n      return [];\n  }\n}\n\n// src/patterns/builders.ts\ninit_wait();\n\n// src/patterns/fetch.ts\nfunction getFetchPatternsZh() {\n  return [\n    {\n      id: \"fetch-zh-ba\",\n      language: \"zh\",\n      command: \"fetch\",\n      priority: 105,\n      template: {\n        format: \"\\u6293\\u53D6 \\u628A {source} \\u7684 {responseType}\",\n        tokens: [\n          // `获得` removed: it is the zh dict's `get` word (profile get is 获取/获得/\n          // 取得), so listing it here let `获得 把 #x` mis-parse as fetch (get-value\n          // lossy → phantom fetch). The dedicated `get-zh-ba` pattern now claims it.\n          { type: \"literal\", value: \"\\u6293\\u53D6\", alternatives: [\"\\u53D6\"] },\n          // BA-marked source (transformer output); 从 also tolerated for symmetry\n          // with the generated source-marked form.\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [{ type: \"literal\", value: \"\\u628A\", alternatives: [\"\\u4ECE\", \"\\u7531\"] }]\n          },\n          { type: \"role\", role: \"source\", expectedTypes: [\"literal\", \"expression\"] },\n          // Optional \"as <responseType>\": transformer emits 的; 作为 is the natural form.\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u7684\", alternatives: [\"\\u4F5C\\u4E3A\", \"\\u5F53\\u4F5C\"] },\n              { type: \"role\", role: \"responseType\", expectedTypes: [\"literal\", \"expression\"] }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        source: { marker: \"\\u628A\", markerAlternatives: [\"\\u4ECE\", \"\\u7531\"] },\n        responseType: { marker: \"\\u7684\", markerAlternatives: [\"\\u4F5C\\u4E3A\", \"\\u5F53\\u4F5C\"] }\n      }\n    }\n  ];\n}\nfunction getFetchPatternsMs() {\n  return [\n    {\n      // Malay fetch. The transformer emits `ambil_dari {source}` for `fetch <url>`\n      // (the verb `ambil_dari` already carries \"from\"), and `… sebagai {responseType}`\n      // for `as json`. The generated pattern expected a separate `dari` source marker\n      // (`ambil_dari dari …`), so the marker-less transform output dropped. This\n      // tolerates the optional `dari` and the `sebagai` responseType. See\n      // ZH_BLOCK_BODY_SCOPE.md (#2 sweep / ms profile; same shape as fetch-zh-ba).\n      id: \"fetch-ms\",\n      language: \"ms\",\n      command: \"fetch\",\n      priority: 105,\n      template: {\n        format: \"ambil_dari dari {source} sebagai {responseType}\",\n        tokens: [\n          { type: \"literal\", value: \"ambil_dari\", alternatives: [\"muat\", \"ambil\"] },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [{ type: \"literal\", value: \"dari\" }]\n          },\n          { type: \"role\", role: \"source\", expectedTypes: [\"literal\", \"expression\"] },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"sebagai\", alternatives: [\"sbg\"] },\n              { type: \"role\", role: \"responseType\", expectedTypes: [\"literal\", \"expression\"] }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        source: { marker: \"dari\" },\n        responseType: { marker: \"sebagai\", markerAlternatives: [\"sbg\"] }\n      }\n    }\n  ];\n}\nfunction getFetchPatternsFr() {\n  return [\n    {\n      // French fetch. For `fetch <url>` (no `from`) the i18n transformer emits a\n      // marker-less `récupérer /api/data` (dict `fetch: récupérer`; profile primary\n      // `chercher`), but the generated pattern requires a `de` source marker\n      // (`chercher de …`), so the marker-less form dropped — collapsing an\n      // `async fetch … then put …` / `fetch … as JSON then put …` body to a phantom\n      // `set` (degenerate `{on, set}`). Tolerates the optional `de` and the `comme`\n      // responseType. Same shape as fetch-ms / fetch-zh-ba; the `de`-marked form is\n      // still covered by the generated pattern.\n      id: \"fetch-fr\",\n      language: \"fr\",\n      command: \"fetch\",\n      priority: 105,\n      template: {\n        format: \"chercher de {source} comme {responseType}\",\n        tokens: [\n          { type: \"literal\", value: \"chercher\", alternatives: [\"r\\xE9cup\\xE9rer\"] },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [{ type: \"literal\", value: \"de\" }]\n          },\n          { type: \"role\", role: \"source\", expectedTypes: [\"literal\", \"expression\"] },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"comme\" },\n              { type: \"role\", role: \"responseType\", expectedTypes: [\"literal\", \"expression\"] }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        source: { marker: \"de\" },\n        responseType: { marker: \"comme\" }\n      }\n    }\n  ];\n}\nfunction getFetchPatternsPt() {\n  return [\n    {\n      // Portuguese fetch — same marker-less-transform shape as French (above).\n      // `fetch <url>` emits `buscar /api/data` (dict + profile `buscar`), but the\n      // generated pattern requires a `de` source marker, so the marker-less form\n      // dropped. Tolerates the optional `de` and the `como` responseType.\n      id: \"fetch-pt\",\n      language: \"pt\",\n      command: \"fetch\",\n      priority: 105,\n      template: {\n        format: \"buscar de {source} como {responseType}\",\n        tokens: [\n          { type: \"literal\", value: \"buscar\" },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [{ type: \"literal\", value: \"de\" }]\n          },\n          { type: \"role\", role: \"source\", expectedTypes: [\"literal\", \"expression\"] },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"como\" },\n              { type: \"role\", role: \"responseType\", expectedTypes: [\"literal\", \"expression\"] }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        source: { marker: \"de\" },\n        responseType: { marker: \"como\" }\n      }\n    }\n  ];\n}\nfunction markerlessFetch(id, language, verb, fromMarker, asMarker, verbAlternatives, fromMarkerAlternatives, asMarkerAlternatives) {\n  return {\n    id,\n    language,\n    command: \"fetch\",\n    priority: 105,\n    template: {\n      format: `${verb} ${fromMarker} {source} ${asMarker} {responseType}`,\n      tokens: [\n        {\n          type: \"literal\",\n          value: verb,\n          ...verbAlternatives ? { alternatives: verbAlternatives } : {}\n        },\n        {\n          type: \"group\",\n          optional: true,\n          tokens: [\n            {\n              type: \"literal\",\n              value: fromMarker,\n              ...fromMarkerAlternatives ? { alternatives: fromMarkerAlternatives } : {}\n            }\n          ]\n        },\n        { type: \"role\", role: \"source\", expectedTypes: [\"literal\", \"expression\"] },\n        {\n          type: \"group\",\n          optional: true,\n          tokens: [\n            {\n              type: \"literal\",\n              value: asMarker,\n              ...asMarkerAlternatives ? { alternatives: asMarkerAlternatives } : {}\n            },\n            { type: \"role\", role: \"responseType\", expectedTypes: [\"literal\", \"expression\"] }\n          ]\n        }\n      ]\n    },\n    extraction: {\n      source: {\n        marker: fromMarker,\n        ...fromMarkerAlternatives ? { markerAlternatives: fromMarkerAlternatives } : {}\n      },\n      responseType: {\n        marker: asMarker,\n        ...asMarkerAlternatives ? { markerAlternatives: asMarkerAlternatives } : {}\n      }\n    }\n  };\n}\nfunction sovFetch(id, language, verb, patientMarker, verbAlternatives, patientMarkerAlternatives) {\n  return {\n    id,\n    language,\n    command: \"fetch\",\n    priority: 105,\n    template: {\n      format: `{source} ${patientMarker} ${verb}`,\n      tokens: [\n        { type: \"role\", role: \"source\", expectedTypes: [\"literal\", \"expression\"] },\n        {\n          type: \"group\",\n          optional: true,\n          tokens: [\n            {\n              type: \"literal\",\n              value: patientMarker,\n              ...patientMarkerAlternatives ? { alternatives: patientMarkerAlternatives } : {}\n            }\n          ]\n        },\n        {\n          type: \"literal\",\n          value: verb,\n          ...verbAlternatives ? { alternatives: verbAlternatives } : {}\n        }\n      ]\n    },\n    extraction: {\n      source: {\n        marker: patientMarker,\n        ...patientMarkerAlternatives ? { markerAlternatives: patientMarkerAlternatives } : {}\n      }\n    }\n  };\n}\nfunction getFetchPatternsForLanguage(language) {\n  switch (language) {\n    case \"zh\":\n      return getFetchPatternsZh();\n    case \"ms\":\n      return getFetchPatternsMs();\n    case \"fr\":\n      return getFetchPatternsFr();\n    case \"pt\":\n      return getFetchPatternsPt();\n    // Marker-less fetch recovery for languages whose generated pattern requires a\n    // source marker the transformer doesn't emit for `fetch <url>` (no `from`).\n    case \"es\":\n      return [markerlessFetch(\"fetch-es\", \"es\", \"buscar\", \"de\", \"como\")];\n    case \"pl\":\n      return [markerlessFetch(\"fetch-pl\", \"pl\", \"pobierz\", \"z\", \"jako\")];\n    case \"id\":\n      return [markerlessFetch(\"fetch-id\", \"id\", \"muat\", \"dari\", \"sebagai\", [\"ambil\"])];\n    case \"sw\":\n      return [\n        markerlessFetch(\"fetch-sw\", \"sw\", \"leta\", \"kutoka\", \"kuwa\", void 0, void 0, [\"kama\"])\n      ];\n    case \"he\":\n      return [markerlessFetch(\"fetch-he\", \"he\", \"\\u05D4\\u05D1\\u05D0\", \"\\u05DE\", \"\\u05DB\", [\"\\u05D8\\u05E2\\u05DF\"], [\"\\u05D0\\u05EA\"])];\n    // fetch-loading-state / event-debounce cluster (9 langs): same marker-less\n    // shape — the dict verb matches the profile, but `fetch <url>` emits no\n    // source marker so the generated pattern never anchors mid then-chain.\n    case \"de\":\n      return [markerlessFetch(\"fetch-de\", \"de\", \"abrufen\", \"von\", \"als\", [\"laden\"])];\n    case \"ru\":\n      return [markerlessFetch(\"fetch-ru\", \"ru\", \"\\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u0438\\u0442\\u044C\", \"\\u0438\\u0437\", \"\\u043A\\u0430\\u043A\", [\"\\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u0438\"])];\n    case \"uk\":\n      return [markerlessFetch(\"fetch-uk\", \"uk\", \"\\u0437\\u0430\\u0432\\u0430\\u043D\\u0442\\u0430\\u0436\\u0438\\u0442\\u0438\", \"\\u0437\", \"\\u044F\\u043A\", [\"\\u0437\\u0430\\u0432\\u0430\\u043D\\u0442\\u0430\\u0436\"])];\n    case \"it\":\n      return [markerlessFetch(\"fetch-it\", \"it\", \"recuperare\", \"da\", \"come\")];\n    case \"vi\":\n      return [markerlessFetch(\"fetch-vi\", \"vi\", \"t\\u1EA3i\", \"t\\u1EEB\", \"nh\\u01B0\")];\n    case \"th\":\n      return [markerlessFetch(\"fetch-th\", \"th\", \"\\u0E14\\u0E36\\u0E07\\u0E02\\u0E49\\u0E2D\\u0E21\\u0E39\\u0E25\", \"\\u0E08\\u0E32\\u0E01\", \"\\u0E40\\u0E1B\\u0E47\\u0E19\")];\n    case \"ar\":\n      return [markerlessFetch(\"fetch-ar\", \"ar\", \"\\u0627\\u062D\\u0636\\u0631\", \"\\u0645\\u0646\", \"\\u0643\\u0640\", [\"\\u062C\\u0644\\u0628\"])];\n    case \"tl\":\n      return [\n        markerlessFetch(\"fetch-tl\", \"tl\", \"kuhanin_mula\", \"mula_sa\", \"bilang\", [\"kunin_mula\"])\n      ];\n    // Verb-final SOV `fetch <url>` — patient-marked URL → source (see sovFetch).\n    // Verbs/markers from each profile (the transformer may emit a keyword\n    // *alternative*, e.g. ko 가져오기, so both primary + alternatives are listed).\n    case \"ja\":\n      return [sovFetch(\"fetch-ja-sov\", \"ja\", \"\\u30D5\\u30A7\\u30C3\\u30C1\", \"\\u3092\", [\"\\u53D6\\u5F97\"])];\n    case \"ko\":\n      return [sovFetch(\"fetch-ko-sov\", \"ko\", \"\\uD328\\uCE58\", \"\\uC744\", [\"\\uAC00\\uC838\\uC624\\uAE30\"], [\"\\uB97C\"])];\n    case \"tr\":\n      return [\n        sovFetch(\"fetch-tr-sov\", \"tr\", \"getir\", \"i\", void 0, [\n          \"\\u0131\",\n          \"u\",\n          \"\\xFC\",\n          \"yi\",\n          \"y\\u0131\",\n          \"yu\",\n          \"y\\xFC\"\n        ])\n      ];\n    case \"hi\":\n      return [sovFetch(\"fetch-hi-sov\", \"hi\", \"\\u0932\\u093E\\u090F\\u0902\", \"\\u0915\\u094B\")];\n    case \"qu\":\n      return [sovFetch(\"fetch-qu-sov\", \"qu\", \"apamuy\", \"ta\", [\"taripakaramuy\"])];\n    case \"bn\":\n      return [sovFetch(\"fetch-bn-sov\", \"bn\", \"\\u0986\\u09A8\\u09C1\\u09A8\", \"\\u0995\\u09C7\")];\n    default:\n      return [];\n  }\n}\n\n// src/patterns/builders.ts\ninit_repeat();\n\n// src/patterns/append.ts\nfunction getAppendPatternsEn() {\n  return [\n    {\n      id: \"append-en-full\",\n      language: \"en\",\n      command: \"append\",\n      priority: 100,\n      template: {\n        format: \"append {patient} to {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"append\" },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"selector\", \"expression\"] },\n          { type: \"literal\", value: \"to\" },\n          { type: \"role\", role: \"destination\", expectedTypes: [\"selector\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"to\" }\n      }\n    }\n  ];\n}\nfunction getAppendPatternsForLanguage(language) {\n  switch (language) {\n    case \"en\":\n      return getAppendPatternsEn();\n    default:\n      return [];\n  }\n}\n\n// src/patterns/prepend.ts\nfunction getPrependPatternsEn() {\n  return [\n    {\n      id: \"prepend-en-full\",\n      language: \"en\",\n      command: \"prepend\",\n      priority: 100,\n      template: {\n        format: \"prepend {patient} to {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"prepend\" },\n          { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"selector\", \"expression\"] },\n          { type: \"literal\", value: \"to\" },\n          { type: \"role\", role: \"destination\", expectedTypes: [\"selector\", \"reference\"] }\n        ]\n      },\n      extraction: {\n        patient: { position: 1 },\n        destination: { marker: \"to\" }\n      }\n    }\n  ];\n}\nfunction getPrependPatternsForLanguage(language) {\n  switch (language) {\n    case \"en\":\n      return getPrependPatternsEn();\n    default:\n      return [];\n  }\n}\n\n// src/patterns/trigger.ts\nfunction getTriggerPatternsEn() {\n  return [\n    {\n      id: \"trigger-en-full\",\n      language: \"en\",\n      command: \"trigger\",\n      priority: 100,\n      template: {\n        format: \"trigger {event} on {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"trigger\" },\n          { type: \"role\", role: \"event\", expectedTypes: [\"literal\", \"expression\"] },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"on\" },\n              { type: \"role\", role: \"destination\", expectedTypes: [\"selector\", \"reference\"] }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        destination: {\n          marker: \"on\",\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    },\n    {\n      id: \"trigger-en-simple\",\n      language: \"en\",\n      command: \"trigger\",\n      priority: 90,\n      template: {\n        format: \"trigger {event}\",\n        tokens: [\n          { type: \"literal\", value: \"trigger\" },\n          { type: \"role\", role: \"event\", expectedTypes: [\"literal\", \"expression\"] }\n        ]\n      },\n      extraction: {\n        event: { position: 1 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getTriggerPatternsZh() {\n  return [\n    {\n      // Verb-first BA: 触发 把 {event}. The i18n transformer marks trigger's\n      // leading argument with 把 (`当 加载 时 触发 把 init`); the generated\n      // `触发 {event}` has no 把, so the trailing trigger dropped. Same\n      // BA-tolerance family as wait-zh-ba / set-zh-vba.\n      id: \"trigger-zh-ba\",\n      language: \"zh\",\n      command: \"trigger\",\n      priority: 105,\n      template: {\n        format: \"\\u89E6\\u53D1 \\u628A {event}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u89E6\\u53D1\", alternatives: [\"\\u89F8\\u767C\"] },\n          { type: \"literal\", value: \"\\u628A\" },\n          { type: \"role\", role: \"event\", expectedTypes: [\"literal\", \"expression\"] }\n        ]\n      },\n      extraction: {\n        event: { position: 2 },\n        destination: { default: { type: \"reference\", value: \"me\" } }\n      }\n    }\n  ];\n}\nfunction getTriggerPatternsHe() {\n  return [\n    {\n      // Accusative-marked trigger (`הפעל את init`) — see send-he-et.\n      id: \"trigger-he-et\",\n      language: \"he\",\n      command: \"trigger\",\n      priority: 105,\n      template: {\n        format: \"\\u05D4\\u05E4\\u05E2\\u05DC \\u05D0\\u05EA {event} \\u05E2\\u05DC {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u05D4\\u05E4\\u05E2\\u05DC\", alternatives: [\"\\u05E9\\u05D2\\u05E8\"] },\n          { type: \"literal\", value: \"\\u05D0\\u05EA\" },\n          { type: \"role\", role: \"event\", expectedTypes: [\"literal\", \"expression\"] },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u05E2\\u05DC\", alternatives: [\"\\u05DC\", \"\\u05D0\\u05DC\"] },\n              {\n                type: \"role\",\n                role: \"destination\",\n                expectedTypes: [\"selector\", \"reference\", \"expression\"]\n              }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        event: { position: 2 },\n        destination: {\n          marker: \"\\u05E2\\u05DC\",\n          markerAlternatives: [\"\\u05DC\", \"\\u05D0\\u05DC\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    }\n  ];\n}\nfunction getTriggerPatternsForLanguage(language) {\n  switch (language) {\n    case \"en\":\n      return getTriggerPatternsEn();\n    case \"zh\":\n      return getTriggerPatternsZh();\n    case \"he\":\n      return getTriggerPatternsHe();\n    default:\n      return [];\n  }\n}\n\n// src/patterns/send.ts\nfunction getSendPatternsZh() {\n  return [\n    {\n      id: \"send-zh-ba\",\n      language: \"zh\",\n      command: \"send\",\n      priority: 105,\n      template: {\n        format: \"\\u53D1\\u9001 \\u628A {event} \\u5230 {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u53D1\\u9001\", alternatives: [\"\\u767C\\u9001\", \"\\u4F20\\u9001\", \"\\u50B3\\u9001\"] },\n          { type: \"literal\", value: \"\\u628A\" },\n          { type: \"role\", role: \"event\", expectedTypes: [\"literal\", \"expression\"] },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u5230\", alternatives: [\"\\u7ED9\", \"\\u7D66\", \"\\u5411\"] },\n              {\n                type: \"role\",\n                role: \"destination\",\n                expectedTypes: [\"selector\", \"reference\", \"expression\"]\n              }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        event: { position: 2 },\n        destination: {\n          marker: \"\\u5230\",\n          markerAlternatives: [\"\\u7ED9\", \"\\u7D66\", \"\\u5411\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    }\n  ];\n}\nfunction getSendPatternsHe() {\n  return [\n    {\n      // The transformer marks send's object with the accusative את\n      // (`שלח את refresh על #widget`); the generated pattern is marker-less\n      // (`שלח {event}`), so every send dropped (send-event, send-event-to-form,\n      // send-with-detail, socket-send — the he tail). Same shape as send-zh-ba\n      // (zh marks the same slot with 把).\n      id: \"send-he-et\",\n      language: \"he\",\n      command: \"send\",\n      priority: 105,\n      template: {\n        format: \"\\u05E9\\u05DC\\u05D7 \\u05D0\\u05EA {event} \\u05E2\\u05DC {destination}\",\n        tokens: [\n          { type: \"literal\", value: \"\\u05E9\\u05DC\\u05D7\" },\n          { type: \"literal\", value: \"\\u05D0\\u05EA\" },\n          { type: \"role\", role: \"event\", expectedTypes: [\"literal\", \"expression\"] },\n          {\n            type: \"group\",\n            optional: true,\n            tokens: [\n              { type: \"literal\", value: \"\\u05E2\\u05DC\", alternatives: [\"\\u05DC\", \"\\u05D0\\u05DC\"] },\n              {\n                type: \"role\",\n                role: \"destination\",\n                expectedTypes: [\"selector\", \"reference\", \"expression\"]\n              }\n            ]\n          }\n        ]\n      },\n      extraction: {\n        event: { position: 2 },\n        destination: {\n          marker: \"\\u05E2\\u05DC\",\n          markerAlternatives: [\"\\u05DC\", \"\\u05D0\\u05DC\"],\n          default: { type: \"reference\", value: \"me\" }\n        }\n      }\n    }\n  ];\n}\nfunction getSendPatternsForLanguage(language) {\n  switch (language) {\n    case \"zh\":\n      return getSendPatternsZh();\n    case \"he\":\n      return getSendPatternsHe();\n    default:\n      return [];\n  }\n}\n\n// src/patterns/languages/en/fetch.ts\nvar fetchWithResponseTypeEnglish2 = {\n  id: \"fetch-en-with-response-type\",\n  language: \"en\",\n  command: \"fetch\",\n  priority: 90,\n  // Higher than simple pattern (80) to capture \"as\" modifier first\n  template: {\n    format: \"fetch {source} as {responseType}\",\n    tokens: [\n      { type: \"literal\", value: \"fetch\" },\n      { type: \"role\", role: \"source\", expectedTypes: [\"literal\", \"expression\"] },\n      { type: \"literal\", value: \"as\" },\n      // json/text/html are identifiers not keywords, so we need to accept 'expression' type\n      { type: \"role\", role: \"responseType\", expectedTypes: [\"literal\", \"expression\"] }\n    ]\n  },\n  extraction: {\n    source: { position: 1 },\n    responseType: { marker: \"as\" }\n  }\n};\nvar fetchSimpleEnglish2 = {\n  id: \"fetch-en-simple\",\n  language: \"en\",\n  command: \"fetch\",\n  priority: 80,\n  // Lower than response type pattern (90) - fallback when \"as\" not present\n  template: {\n    format: \"fetch {source}\",\n    tokens: [\n      { type: \"literal\", value: \"fetch\" },\n      { type: \"role\", role: \"source\" }\n    ]\n  },\n  extraction: {\n    source: { position: 1 }\n  }\n};\nvar fetchPatternsEn = [\n  fetchWithResponseTypeEnglish2,\n  fetchSimpleEnglish2\n];\n\n// src/patterns/languages/en/swap.ts\nvar swapSimpleEnglish2 = {\n  id: \"swap-en-handcrafted\",\n  language: \"en\",\n  command: \"swap\",\n  priority: 110,\n  // Higher than generated patterns\n  template: {\n    format: \"swap {method} {destination}\",\n    tokens: [\n      { type: \"literal\", value: \"swap\" },\n      { type: \"role\", role: \"method\" },\n      { type: \"role\", role: \"destination\" }\n    ]\n  },\n  extraction: {\n    method: { position: 1 },\n    destination: { position: 2 }\n  }\n};\nvar swapElementEnglish2 = {\n  id: \"swap-en-element\",\n  language: \"en\",\n  command: \"swap\",\n  priority: 120,\n  template: {\n    format: \"swap {destination} with {patient}\",\n    tokens: [\n      { type: \"literal\", value: \"swap\" },\n      { type: \"role\", role: \"destination\" },\n      { type: \"literal\", value: \"with\" },\n      { type: \"role\", role: \"patient\" }\n    ]\n  },\n  extraction: {}\n};\nvar swapPatternsEn = [swapElementEnglish2, swapSimpleEnglish2];\n\n// src/patterns/languages/en/repeat.ts\nvar repeatUntilEventFromEnglish2 = {\n  id: \"repeat-en-until-event-from\",\n  language: \"en\",\n  command: \"repeat\",\n  priority: 120,\n  // Highest priority - most specific pattern\n  template: {\n    format: \"repeat until event {event} from {source}\",\n    tokens: [\n      { type: \"literal\", value: \"repeat\" },\n      { type: \"literal\", value: \"until\" },\n      { type: \"literal\", value: \"event\" },\n      { type: \"role\", role: \"event\", expectedTypes: [\"literal\", \"expression\"] },\n      { type: \"literal\", value: \"from\" },\n      { type: \"role\", role: \"source\", expectedTypes: [\"selector\", \"reference\", \"expression\"] }\n    ]\n  },\n  extraction: {\n    event: { marker: \"event\" },\n    source: { marker: \"from\" },\n    loopType: { default: { type: \"literal\", value: \"until-event\" } }\n  }\n};\nvar repeatUntilEventEnglish2 = {\n  id: \"repeat-en-until-event\",\n  language: \"en\",\n  command: \"repeat\",\n  priority: 110,\n  // Lower than \"from\" variant, but higher than quantity-based repeat\n  template: {\n    format: \"repeat until event {event}\",\n    tokens: [\n      { type: \"literal\", value: \"repeat\" },\n      { type: \"literal\", value: \"until\" },\n      { type: \"literal\", value: \"event\" },\n      { type: \"role\", role: \"event\", expectedTypes: [\"literal\", \"expression\"] }\n    ]\n  },\n  extraction: {\n    event: { marker: \"event\" },\n    loopType: { default: { type: \"literal\", value: \"until-event\" } }\n  }\n};\nvar repeatPatternsEn = [\n  repeatUntilEventFromEnglish2,\n  repeatUntilEventEnglish2\n];\n\n// src/patterns/languages/en/set.ts\nvar setPossessiveEnglish2 = {\n  id: \"set-en-possessive\",\n  language: \"en\",\n  command: \"set\",\n  priority: 100,\n  // Higher than generated setSchema (80)\n  template: {\n    format: \"set {destination} to {patient}\",\n    tokens: [\n      { type: \"literal\", value: \"set\" },\n      // Role token with property-path support for possessive syntax\n      {\n        type: \"role\",\n        role: \"destination\",\n        expectedTypes: [\"property-path\", \"selector\", \"reference\", \"expression\"]\n      },\n      { type: \"literal\", value: \"to\" },\n      { type: \"role\", role: \"patient\", expectedTypes: [\"literal\", \"expression\", \"reference\"] }\n    ]\n  },\n  extraction: {\n    destination: { position: 1 },\n    patient: { marker: \"to\" }\n  }\n};\nvar setPatternsEn = [setPossessiveEnglish2];\n\n// src/patterns/languages/en/control-flow.ts\nvar forEnglish2 = {\n  id: \"for-en-basic\",\n  language: \"en\",\n  command: \"for\",\n  priority: 100,\n  template: {\n    format: \"for {patient} in {source}\",\n    tokens: [\n      { type: \"literal\", value: \"for\" },\n      { type: \"role\", role: \"patient\", expectedTypes: [\"expression\", \"reference\"] },\n      // Loop variable\n      { type: \"literal\", value: \"in\" },\n      { type: \"role\", role: \"source\", expectedTypes: [\"selector\", \"expression\", \"reference\"] }\n      // Collection\n    ]\n  },\n  extraction: {\n    patient: { position: 1 },\n    source: { marker: \"in\" }\n    // NOTE: no `loopType` default — see the rationale in patterns/en.ts\n    // `forEnglish` (the `for` schema has no loopType role; a `loopType:literal=\"for\"`\n    // here only duplicates the action name and is the R1 outlier no translation\n    // reproduces). R2-safe (forMapper reads only patient+source). Kept in sync.\n  }\n};\nvar ifEnglish2 = {\n  id: \"if-en-basic\",\n  language: \"en\",\n  command: \"if\",\n  priority: 100,\n  template: {\n    format: \"if {condition}\",\n    tokens: [\n      { type: \"literal\", value: \"if\" },\n      { type: \"role\", role: \"condition\", expectedTypes: [\"expression\", \"reference\", \"selector\"] }\n    ]\n  },\n  extraction: {\n    condition: { position: 1 }\n  }\n};\nvar unlessEnglish2 = {\n  id: \"unless-en-basic\",\n  language: \"en\",\n  command: \"unless\",\n  priority: 100,\n  template: {\n    format: \"unless {condition}\",\n    tokens: [\n      { type: \"literal\", value: \"unless\" },\n      { type: \"role\", role: \"condition\", expectedTypes: [\"expression\", \"reference\", \"selector\"] }\n    ]\n  },\n  extraction: {\n    condition: { position: 1 }\n  }\n};\nvar controlFlowPatternsEn = [forEnglish2, ifEnglish2, unlessEnglish2];\n\n// src/patterns/languages/en/temporal.ts\nvar temporalInEnglish2 = {\n  id: \"temporal-en-in\",\n  language: \"en\",\n  command: \"wait\",\n  priority: 95,\n  // Lower than standard wait patterns\n  template: {\n    format: \"in {duration}\",\n    tokens: [\n      { type: \"literal\", value: \"in\" },\n      { type: \"role\", role: \"duration\", expectedTypes: [\"literal\", \"expression\"] }\n    ]\n  },\n  extraction: {\n    duration: { position: 1 }\n  }\n};\nvar temporalAfterEnglish2 = {\n  id: \"temporal-en-after\",\n  language: \"en\",\n  command: \"wait\",\n  priority: 95,\n  // Lower than standard wait patterns\n  template: {\n    format: \"after {duration}\",\n    tokens: [\n      { type: \"literal\", value: \"after\" },\n      { type: \"role\", role: \"duration\", expectedTypes: [\"literal\", \"expression\"] }\n    ]\n  },\n  extraction: {\n    duration: { position: 1 }\n  }\n};\nvar temporalPatternsEn = [temporalInEnglish2, temporalAfterEnglish2];\n\n// src/patterns/languages/en/index.ts\nvar allEnglishOnlyPatterns = [\n  ...fetchPatternsEn,\n  ...swapPatternsEn,\n  ...repeatPatternsEn,\n  ...setPatternsEn,\n  ...controlFlowPatternsEn,\n  ...temporalPatternsEn\n];\nfunction getEnglishOnlyPatterns() {\n  return allEnglishOnlyPatterns;\n}\n\n// src/patterns/builders.ts\ninit_pattern_generator();\ninit_registry();\nvar PATTERN_LOADERS = [\n  // Hand-crafted core patterns\n  getTogglePatternsForLanguage,\n  getTakePatternsForLanguage,\n  getPutPatternsForLanguage,\n  getEventHandlerPatternsForLanguage,\n  // Multilingual command patterns\n  getAddPatternsForLanguage,\n  getRemovePatternsForLanguage,\n  getShowPatternsForLanguage,\n  getHidePatternsForLanguage,\n  getSetPatternsForLanguage,\n  getGetPatternsForLanguage,\n  getIncrementPatternsForLanguage,\n  getDecrementPatternsForLanguage,\n  getWaitPatternsForLanguage,\n  getFetchPatternsForLanguage,\n  getRepeatPatternsForLanguage,\n  getAppendPatternsForLanguage,\n  getPrependPatternsForLanguage,\n  getTriggerPatternsForLanguage,\n  getSendPatternsForLanguage,\n  // Grammar-transformed patterns (for SOV/VSO grammar output)\n  getGrammarTransformedPatternsForLanguage\n];\nvar _generatedPatternsPerLanguage = /* @__PURE__ */ new Map();\nfunction getGeneratedPatternsForLanguage(language) {\n  const cached = _generatedPatternsPerLanguage.get(language);\n  if (cached) {\n    return cached;\n  }\n  const profile = tryGetProfile(language);\n  if (!profile) {\n    return [];\n  }\n  const patterns = generatePatternsForLanguage(profile);\n  _generatedPatternsPerLanguage.set(language, patterns);\n  return patterns;\n}\nfunction buildPatternsForLanguage(language) {\n  const patterns = PATTERN_LOADERS.flatMap((loader) => loader(language));\n  if (language === \"en\") {\n    patterns.push(...getEnglishOnlyPatterns());\n  }\n  patterns.push(...getGeneratedPatternsForLanguage(language));\n  return patterns;\n}\nvar handcraftedLanguages = [\n  \"en\",\n  \"ja\",\n  \"ar\",\n  \"es\",\n  \"ko\",\n  \"zh\",\n  \"tr\",\n  \"pt\",\n  \"fr\",\n  \"de\",\n  \"id\",\n  \"qu\",\n  \"sw\",\n  \"it\",\n  \"vi\",\n  \"pl\",\n  \"ru\",\n  \"uk\",\n  \"hi\",\n  \"bn\",\n  \"th\",\n  \"ms\",\n  \"tl\",\n  \"he\"\n];\nfunction getHandcraftedLanguages() {\n  return handcraftedLanguages;\n}\n\n// src/patterns/registry.ts\nvar patternCache2 = /* @__PURE__ */ new Map();\nvar _allPatterns = null;\nfunction ensureAllPatterns() {\n  if (_allPatterns === null) {\n    const all = [];\n    for (const lang of getHandcraftedLanguages()) {\n      all.push(...buildPatternsForLanguage(lang));\n    }\n    _allPatterns = all;\n  }\n  return _allPatterns;\n}\nfunction getPatternsForLanguage2(language) {\n  if (patternCache2.has(language)) {\n    return patternCache2.get(language);\n  }\n  const patterns = buildPatternsForLanguage(language);\n  patternCache2.set(language, patterns);\n  return patterns;\n}\nfunction getPatternsForLanguageAndCommand2(language, command) {\n  return getPatternsForLanguage2(language).filter((p) => p.command === command).sort((a, b) => b.priority - a.priority);\n}\nfunction getSupportedLanguages2() {\n  const languages = new Set(ensureAllPatterns().map((p) => p.language));\n  return Array.from(languages);\n}\nfunction getSupportedCommands() {\n  const commands = new Set(ensureAllPatterns().map((p) => p.command));\n  return Array.from(commands);\n}\nfunction getPatternById(id) {\n  return ensureAllPatterns().find((p) => p.id === id);\n}\nfunction getPatternStats() {\n  const byLanguage = {};\n  const byCommand = {};\n  const patterns = ensureAllPatterns();\n  for (const pattern of patterns) {\n    byLanguage[pattern.language] = (byLanguage[pattern.language] || 0) + 1;\n    byCommand[pattern.command] = (byCommand[pattern.command] || 0) + 1;\n  }\n  return {\n    totalPatterns: patterns.length,\n    byLanguage,\n    byCommand\n  };\n}\n\n// src/patterns/index.ts\ninit_toggle();\ninit_put();\ninit_event_handler();\ninit_event_handler();\ninit_registry();\nfunction patternGeneratorForProfile(profile) {\n  return buildPatternsForLanguage(profile.code);\n}\nsetPatternGenerator(patternGeneratorForProfile);\n\n// src/index.ts\ninit_extractors();\ninit_extractor_helpers();\ninit_generic_extractors();\n\n// src/tokenizers/context-aware-extractor.ts\nimport { isContextAwareExtractor, createTokenizerContext } from \"@lokascript/framework\";\n\n// src/index.ts\ninit_registry();\n\n// src/generators/language-profiles.ts\ninit_arabic();\ninit_bengali();\ninit_chinese();\ninit_english();\ninit_french();\ninit_german();\ninit_he();\ninit_hindi();\ninit_indonesian();\ninit_italian();\ninit_japanese();\ninit_korean();\ninit_ms();\ninit_polish();\ninit_portuguese();\ninit_quechua();\ninit_russian();\ninit_spanish();\ninit_swahili();\ninit_thai();\ninit_tl();\ninit_turkish();\ninit_ukrainian();\ninit_vietnamese();\n\n// src/generators/profile-queries.ts\nfunction getKeywordTranslations(keyword, languages) {\n  const codes = languages ?? Object.keys(KNOWN_PROFILES);\n  const translations = {};\n  for (const code of codes) {\n    const translation = KNOWN_PROFILES[code]?.keywords[keyword];\n    if (translation) translations[code] = translation;\n  }\n  return translations;\n}\nfunction getRoleMarkers(language, role) {\n  const markers = KNOWN_PROFILES[language]?.roleMarkers ?? {};\n  return role ? markers[role] : markers;\n}\n\n// src/generators/index.ts\ninit_command_schemas();\ninit_pattern_generator();\ninit_schema_validator();\n\n// src/validators/command-validator.ts\ninit_command_schemas();\nvar schemaRegistry = new Map(\n  Object.entries(commandSchemas)\n);\nfunction getSchema2(action) {\n  return schemaRegistry.get(action);\n}\nfunction registerSchema(action, schema) {\n  schemaRegistry.set(action, schema);\n}\nfunction getStringValue(value) {\n  if (value.type === \"literal\" && typeof value.value === \"string\") {\n    return value.value;\n  }\n  if (value.type === \"selector\") {\n    return value.value;\n  }\n  if (value.type === \"reference\") {\n    return value.value;\n  }\n  return void 0;\n}\nfunction valueMatchesType(value, expectedTypes) {\n  if (value === null || value === void 0) {\n    return false;\n  }\n  for (const expectedType of expectedTypes) {\n    switch (expectedType) {\n      case \"selector\":\n        if (value.type === \"selector\") {\n          return true;\n        }\n        const selectorStr = getStringValue(value);\n        if (selectorStr && (selectorStr.startsWith(\".\") || selectorStr.startsWith(\"#\") || selectorStr.startsWith(\"[\"))) {\n          return true;\n        }\n        break;\n      case \"literal\":\n        if (value.type === \"literal\") {\n          return true;\n        }\n        if (value.type === \"property-path\") {\n          return true;\n        }\n        break;\n      case \"reference\":\n        if (value.type === \"reference\") {\n          return true;\n        }\n        if (value.type === \"property-path\") {\n          return true;\n        }\n        const refStr = getStringValue(value);\n        if (refStr && [\"me\", \"you\", \"it\", \"my\", \"its\", \"result\", \"event\", \"target\"].includes(\n          refStr.toLowerCase()\n        )) {\n          return true;\n        }\n        break;\n      case \"expression\":\n        if (value.type === \"expression\") {\n          return true;\n        }\n        if (value.type === \"property-path\") {\n          return true;\n        }\n        break;\n    }\n  }\n  return false;\n}\nfunction validateSemanticResult(result) {\n  const errors = [];\n  const warnings = [];\n  const suggestions = [];\n  let confidenceAdjustment = 0;\n  const schema = getSchema2(result.action);\n  if (!schema) {\n    warnings.push({\n      code: \"UNKNOWN_ROLE\",\n      message: `No schema found for action '${result.action}'. Skipping validation.`,\n      severity: \"warning\"\n    });\n    return {\n      valid: true,\n      errors,\n      warnings,\n      confidenceAdjustment: -0.1,\n      // Slight penalty for unknown command\n      suggestions\n    };\n  }\n  const assignedRoles = /* @__PURE__ */ new Map();\n  for (const arg of result.arguments) {\n    if (arg.role) {\n      assignedRoles.set(arg.role, arg);\n    }\n  }\n  for (const roleSpec of schema.roles) {\n    const assignedValue = assignedRoles.get(roleSpec.role);\n    if (roleSpec.required && !assignedValue) {\n      if (roleSpec.default) {\n        warnings.push({\n          code: \"MISSING_REQUIRED_ROLE\",\n          message: `Role '${roleSpec.role}' not provided, using default.`,\n          role: roleSpec.role,\n          severity: \"warning\"\n        });\n      } else {\n        errors.push({\n          code: \"MISSING_REQUIRED_ROLE\",\n          message: `Required role '${roleSpec.role}' (${roleSpec.description}) is missing.`,\n          role: roleSpec.role,\n          expected: roleSpec.expectedTypes,\n          severity: \"error\"\n        });\n        suggestions.push(`Add ${roleSpec.description.toLowerCase()} to the command.`);\n        confidenceAdjustment -= 0.2;\n      }\n      continue;\n    }\n    if (assignedValue && !valueMatchesType(assignedValue, roleSpec.expectedTypes)) {\n      warnings.push({\n        code: \"INVALID_TYPE\",\n        message: `Role '${roleSpec.role}' expected ${roleSpec.expectedTypes.join(\" or \")}, got ${assignedValue.type}.`,\n        role: roleSpec.role,\n        expected: roleSpec.expectedTypes,\n        actual: assignedValue,\n        severity: \"warning\"\n      });\n      confidenceAdjustment -= 0.1;\n    }\n  }\n  for (const arg of result.arguments) {\n    if (arg.role) {\n      const isKnownRole = schema.roles.some((spec) => spec.role === arg.role);\n      if (!isKnownRole) {\n        warnings.push({\n          code: \"UNKNOWN_ROLE\",\n          message: `Role '${arg.role}' is not recognized for command '${result.action}'.`,\n          role: arg.role,\n          severity: \"warning\"\n        });\n        confidenceAdjustment -= 0.05;\n      }\n    }\n  }\n  const allRequiredPresent = schema.roles.filter((spec) => spec.required && !spec.default).every((spec) => assignedRoles.has(spec.role));\n  if (allRequiredPresent && errors.length === 0) {\n    confidenceAdjustment += 0.1;\n  }\n  return {\n    valid: errors.length === 0,\n    errors,\n    warnings,\n    confidenceAdjustment: Math.max(-1, Math.min(1, confidenceAdjustment)),\n    suggestions\n  };\n}\nfunction validateAndAdjustConfidence(result) {\n  const validation = validateSemanticResult(result);\n  return {\n    ...result,\n    confidence: Math.max(0, Math.min(1, result.confidence + validation.confidenceAdjustment)),\n    validation\n  };\n}\n\n// src/types/unified-profile.ts\nfunction markingStrategyToAdpositionType(strategy) {\n  switch (strategy) {\n    case \"preposition\":\n      return \"preposition\";\n    case \"postposition\":\n    case \"particle\":\n    case \"case-suffix\":\n      return \"postposition\";\n    default:\n      return \"none\";\n  }\n}\nfunction toGrammaticalMarker(role, marker, strategy) {\n  const result = {\n    form: marker.primary,\n    role,\n    position: markingStrategyToAdpositionType(strategy),\n    required: marker.required ?? false\n  };\n  if (marker.alternatives) {\n    result.alternatives = marker.alternatives;\n  }\n  return result;\n}\nfunction toI18nProfile(unified) {\n  const markers = [];\n  for (const [role, marker] of Object.entries(unified.roleMarkers)) {\n    if (marker) {\n      markers.push(toGrammaticalMarker(role, marker, unified.markingStrategy));\n    }\n  }\n  return {\n    code: unified.code,\n    name: unified.nativeName,\n    wordOrder: unified.wordOrder,\n    adpositionType: markingStrategyToAdpositionType(unified.markingStrategy),\n    morphology: unified.morphology,\n    direction: unified.direction,\n    markers,\n    canonicalOrder: unified.canonicalOrder\n  };\n}\nfunction isUnifiedProfile(obj) {\n  if (!obj || typeof obj !== \"object\") return false;\n  const profile = obj;\n  return typeof profile.code === \"string\" && typeof profile.name === \"string\" && typeof profile.wordOrder === \"string\" && typeof profile.markingStrategy === \"string\" && typeof profile.morphology === \"string\" && typeof profile.keywords === \"object\" && Array.isArray(profile.canonicalOrder);\n}\n\n// src/analysis/index.ts\nvar DEFAULT_CONFIG = {\n  accessibility: true,\n  performance: true,\n  schema: true,\n  strict: false\n};\nvar HIGH_FREQUENCY_TRIGGERS = /* @__PURE__ */ new Set([\n  \"scroll\",\n  \"mousemove\",\n  \"touchmove\",\n  \"resize\",\n  \"input\",\n  \"keydown\",\n  \"keyup\",\n  \"keypress\"\n]);\nvar THROTTLE_RECOMMENDED_TRIGGERS = /* @__PURE__ */ new Set([\"scroll\", \"mousemove\", \"touchmove\", \"resize\"]);\nfunction checkAccessibility(node, input) {\n  const warnings = [];\n  if (node.kind === \"event-handler\") {\n    const event = node.roles.get(\"event\");\n    if (event && event.type === \"literal\") {\n      const eventValue = String(event.value).toLowerCase();\n      if (eventValue === \"mouseenter\" || eventValue === \"mouseover\" || eventValue === \"hover\") {\n        warnings.push({\n          code: \"HOVER_ONLY_INTERACTION\",\n          severity: \"warning\",\n          message: `Hover-only interaction detected (${eventValue}). Not accessible to keyboard or touch users.`,\n          suggestion: \"Add keyboard equivalent (focus) or use a click-based interaction.\",\n          location: { input, role: \"event\" }\n        });\n      }\n    }\n  }\n  return warnings;\n}\nfunction checkPerformance(node, input) {\n  const warnings = [];\n  if (node.kind === \"event-handler\") {\n    const event = node.roles.get(\"event\");\n    if (event && event.type === \"literal\") {\n      const eventValue = String(event.value).toLowerCase();\n      if (HIGH_FREQUENCY_TRIGGERS.has(eventValue)) {\n        const severity = THROTTLE_RECOMMENDED_TRIGGERS.has(eventValue) ? \"warning\" : \"info\";\n        warnings.push({\n          code: \"HIGH_FREQUENCY_TRIGGER\",\n          severity,\n          message: `High-frequency event '${eventValue}' may cause performance issues.`,\n          suggestion: THROTTLE_RECOMMENDED_TRIGGERS.has(eventValue) ? `Consider using 'on ${eventValue} throttled:100ms' to limit execution frequency.` : \"Consider debouncing or throttling this handler.\",\n          location: { input, role: \"event\" }\n        });\n      }\n    }\n  }\n  return warnings;\n}\nfunction checkSchema(node, input) {\n  const warnings = [];\n  if (node.kind !== \"command\") return warnings;\n  const schema = getSchema2(node.action);\n  if (!schema) return warnings;\n  const roleArray = Array.isArray(schema.roles) ? schema.roles : [];\n  const validRoles = /* @__PURE__ */ new Set();\n  for (const roleSpec of roleArray) {\n    if (roleSpec && typeof roleSpec === \"object\" && \"role\" in roleSpec) {\n      validRoles.add(roleSpec.role);\n      if (roleSpec.required && !node.roles.has(roleSpec.role)) {\n        warnings.push({\n          code: \"MISSING_REQUIRED_ROLE\",\n          severity: \"error\",\n          message: `Command '${node.action}' requires '${roleSpec.role}' but it was not provided.`,\n          suggestion: roleSpec.description,\n          location: { input }\n        });\n      }\n    }\n  }\n  node.roles.forEach((_, role) => {\n    if (!validRoles.has(role)) {\n      warnings.push({\n        code: \"INVALID_ROLE_FOR_COMMAND\",\n        severity: \"warning\",\n        message: `Role '${role}' is not typically used with '${node.action}' command.`,\n        location: { input, role }\n      });\n    }\n  });\n  return warnings;\n}\nfunction getBodyCommands(node) {\n  if (node.kind === \"event-handler\") {\n    const handler = node;\n    return handler.body ?? [];\n  }\n  return [];\n}\nfunction analyzeMultiple(nodes, _config = {}) {\n  const warnings = [];\n  const handlersByEvent = /* @__PURE__ */ new Map();\n  for (const node of nodes) {\n    if (node.kind === \"event-handler\") {\n      const event = node.roles.get(\"event\");\n      const source = node.roles.get(\"source\");\n      const key = `${event?.type === \"literal\" ? event.value : \"unknown\"}:${source?.type === \"selector\" ? source.value : \"self\"}`;\n      if (!handlersByEvent.has(key)) {\n        handlersByEvent.set(key, []);\n      }\n      const commands = getBodyCommands(node);\n      handlersByEvent.get(key).push({ handler: node, commands });\n    }\n  }\n  handlersByEvent.forEach((handlers, key) => {\n    if (handlers.length > 1) {\n      const allActions = [];\n      const allPatients = [];\n      for (const { commands } of handlers) {\n        for (const cmd of commands) {\n          allActions.push(cmd.action);\n          const p = cmd.roles.get(\"patient\");\n          allPatients.push(p?.type === \"selector\" ? p.value : \"unknown\");\n        }\n      }\n      const hasToggle = allActions.includes(\"toggle\");\n      const hasShow = allActions.includes(\"show\");\n      const hasHide = allActions.includes(\"hide\");\n      if (hasToggle && (hasShow || hasHide)) {\n        const conflictingPatients = allPatients.filter(\n          (p, i) => (allActions[i] === \"toggle\" || allActions[i] === \"show\" || allActions[i] === \"hide\") && allPatients.some((p2, i2) => i !== i2 && p === p2)\n        );\n        if (conflictingPatients.length > 0) {\n          warnings.push({\n            code: \"CONFLICTING_ACTIONS\",\n            severity: \"warning\",\n            message: `Conflicting actions on '${key}': ${[...new Set(allActions)].join(\", \")} may interfere with each other.`,\n            suggestion: \"Consider using a single toggle or conditional logic.\"\n          });\n        }\n      }\n      const hasAsync = allActions.some((a) => [\"fetch\", \"wait\", \"send\"].includes(a));\n      if (hasAsync && handlers.length > 1) {\n        warnings.push({\n          code: \"POTENTIAL_RACE_CONDITION\",\n          severity: \"info\",\n          message: `Multiple handlers on '${key}' include async operations. Consider sequencing.`,\n          suggestion: 'Use \"then\" to chain operations or add loading states.'\n        });\n      }\n    }\n  });\n  return warnings;\n}\nfunction analyze(input, lang = \"en\", config = {}) {\n  const cfg = { ...DEFAULT_CONFIG, ...config };\n  const warnings = [];\n  let node = null;\n  try {\n    node = parse(input, lang);\n  } catch {\n  }\n  if (!node) {\n    return {\n      valid: false,\n      warnings: [\n        {\n          code: \"UNREACHABLE_BEHAVIOR\",\n          severity: \"error\",\n          message: \"Could not parse input to semantic representation.\",\n          location: { input }\n        }\n      ],\n      node: null\n    };\n  }\n  if (cfg.accessibility) {\n    warnings.push(...checkAccessibility(node, input));\n  }\n  if (cfg.performance) {\n    warnings.push(...checkPerformance(node, input));\n  }\n  if (cfg.schema) {\n    warnings.push(...checkSchema(node, input));\n  }\n  const hasErrors = warnings.some((w) => w.severity === \"error\");\n  const hasWarnings = warnings.some((w) => w.severity === \"warning\");\n  const valid = cfg.strict ? !hasErrors && !hasWarnings : !hasErrors;\n  return { valid, warnings, node };\n}\nfunction analyzeAll(inputs, lang = \"en\", config = {}) {\n  const allWarnings = [];\n  const nodes = [];\n  for (const input of inputs) {\n    const result = analyze(input, lang, config);\n    allWarnings.push(...result.warnings);\n    if (result.node) {\n      nodes.push(result.node);\n    }\n  }\n  allWarnings.push(...analyzeMultiple(nodes, config));\n  const hasErrors = allWarnings.some((w) => w.severity === \"error\");\n  const cfg = { ...DEFAULT_CONFIG, ...config };\n  const hasWarnings = allWarnings.some((w) => w.severity === \"warning\");\n  const valid = cfg.strict ? !hasErrors && !hasWarnings : !hasErrors;\n  return {\n    valid,\n    warnings: allWarnings,\n    node: nodes[0] ?? null\n    // Return first node for single-input compat\n  };\n}\nvar _devModeEnabled = false;\nvar _devModeConfig = {};\nfunction enableDevMode(config = {}) {\n  _devModeEnabled = true;\n  _devModeConfig = config;\n}\nfunction disableDevMode() {\n  _devModeEnabled = false;\n}\nfunction isDevModeEnabled() {\n  return _devModeEnabled;\n}\nfunction getDevModeConfig() {\n  return { ..._devModeConfig };\n}\nfunction devModeAnalyze(input, lang, node) {\n  if (!_devModeEnabled) return;\n  if (!node) {\n    console.warn(`[hyperfixi] Parse failed: ${input}`);\n    return;\n  }\n  const result = analyze(input, lang, _devModeConfig);\n  for (const warning of result.warnings) {\n    const icon = warning.severity === \"error\" ? \"\\u274C\" : warning.severity === \"warning\" ? \"\\u26A0\\uFE0F\" : \"\\u2139\\uFE0F\";\n    const method = warning.severity === \"error\" ? \"error\" : warning.severity === \"warning\" ? \"warn\" : \"info\";\n    console[method](\n      `${icon} [hyperfixi:${warning.code}] ${warning.message}`,\n      warning.suggestion ? `\n   \\u{1F4A1} ${warning.suggestion}` : \"\",\n      warning.location?.input ? `\n   \\u{1F4CD} ${warning.location.input}` : \"\"\n    );\n  }\n}\n\n// src/interchange/from-semantic.ts\nfunction pos(node) {\n  const p = {};\n  if (typeof node.start === \"number\") p.start = node.start;\n  if (typeof node.end === \"number\") p.end = node.end;\n  if (typeof node.line === \"number\") p.line = node.line;\n  if (typeof node.column === \"number\") p.column = node.column;\n  return p;\n}\nfunction fromSemanticAST(node) {\n  if (!node) return { type: \"literal\", value: null };\n  switch (node.type) {\n    case \"eventHandler\":\n      return convertEventHandler(node);\n    case \"command\":\n      return convertCommand(node);\n    case \"CommandSequence\":\n      return convertCommandSequence(node);\n    case \"block\":\n      return convertBlock(node);\n    case \"if\":\n      return convertIfNode(node);\n    // Expression types\n    case \"literal\":\n      return {\n        type: \"literal\",\n        value: node.value,\n        ...pos(node)\n      };\n    case \"string\":\n      return { type: \"literal\", value: node.value, ...pos(node) };\n    case \"selector\":\n      return {\n        type: \"selector\",\n        value: node.value ?? node.selector ?? \"\",\n        ...pos(node)\n      };\n    case \"contextReference\":\n      return {\n        type: \"identifier\",\n        value: node.name ?? node.contextType ?? \"\",\n        ...pos(node)\n      };\n    case \"identifier\":\n      return {\n        type: \"identifier\",\n        value: node.name ?? node.value ?? \"\",\n        name: node.name ?? \"\",\n        ...pos(node)\n      };\n    case \"propertyAccess\":\n      return convertPropertyAccess(node);\n    case \"possessiveExpression\":\n      return convertPossessive(node);\n    case \"memberExpression\":\n      return convertMember(node);\n    case \"binaryExpression\":\n      return convertBinary(node);\n    case \"callExpression\":\n      return convertCall(node);\n    case \"unaryExpression\":\n      return {\n        type: \"unary\",\n        operator: node.operator,\n        operand: fromSemanticAST(node.operand),\n        ...pos(node)\n      };\n    case \"timeExpression\":\n      return { type: \"literal\", value: node.value, ...pos(node) };\n    case \"templateLiteral\":\n      return { type: \"literal\", value: node.raw ?? \"\", ...pos(node) };\n    case \"variable\":\n      return {\n        type: \"variable\",\n        name: node.name ?? \"\",\n        scope: node.scope ?? \"local\",\n        ...pos(node)\n      };\n    case \"htmlSelector\":\n      return {\n        type: \"selector\",\n        value: node.value ?? node.selector ?? \"\",\n        ...pos(node)\n      };\n    case \"positional\":\n      return {\n        type: \"positional\",\n        position: node.position,\n        ...node.target ? { target: fromSemanticAST(node.target) } : {},\n        ...pos(node)\n      };\n    case \"positionalExpression\":\n      return {\n        type: \"positional\",\n        position: node.operator,\n        ...node.argument ? { target: fromSemanticAST(node.argument) } : {},\n        ...pos(node)\n      };\n    default:\n      return {\n        type: \"literal\",\n        value: node.value ?? null,\n        ...pos(node)\n      };\n  }\n}\nfunction convertEventHandler(node) {\n  const event = node.event ?? \"click\";\n  const commands = node.commands ?? node.body ?? [];\n  const body = commands.map((cmd) => fromSemanticAST(cmd));\n  const modifiers = buildEventModifiers(node);\n  return { type: \"event\", event, modifiers, body, ...pos(node) };\n}\nfunction convertCommand(node) {\n  const name = node.name;\n  if (name === \"if\" || name === \"unless\") return convertIfCommand(node);\n  if (name === \"repeat\") return convertRepeatCommand(node);\n  const args = (node.args ?? []).map((arg) => fromSemanticAST(arg));\n  const target = node.target ? fromSemanticAST(node.target) : void 0;\n  const modifiers = node.modifiers ? convertModifiers(node.modifiers) : void 0;\n  const semanticRoles = node.semanticRoles;\n  const roles = semanticRoles ? convertSemanticRoles(semanticRoles) : void 0;\n  return {\n    type: \"command\",\n    name,\n    args,\n    ...target ? { target } : {},\n    ...modifiers && Object.keys(modifiers).length > 0 ? { modifiers } : {},\n    ...roles && Object.keys(roles).length > 0 ? { roles } : {},\n    ...pos(node)\n  };\n}\nfunction convertIfCommand(node) {\n  const args = node.args ?? [];\n  let condition = args[0] ? fromSemanticAST(args[0]) : { type: \"literal\", value: true };\n  const thenBranch = extractBlockCommands(args[1]);\n  const elseBranch = args[2] ? extractBlockCommands(args[2]) : void 0;\n  if (node.name === \"unless\") {\n    condition = { type: \"unary\", operator: \"not\", operand: condition };\n  }\n  return {\n    type: \"if\",\n    condition,\n    thenBranch,\n    ...elseBranch ? { elseBranch } : {},\n    ...pos(node)\n  };\n}\nfunction convertRepeatCommand(node) {\n  const args = node.args ?? [];\n  if (args.length === 0) {\n    return { type: \"repeat\", body: [], ...pos(node) };\n  }\n  const loopTypeNode = args[0];\n  const loopType = loopTypeNode?.name ?? loopTypeNode?.value ?? \"forever\";\n  const bodyBlock = args[args.length - 1];\n  switch (loopType) {\n    case \"times\": {\n      const count = args[1] ? fromSemanticAST(args[1]) : void 0;\n      return {\n        type: \"repeat\",\n        count,\n        body: extractBlockCommands(bodyBlock),\n        ...pos(node)\n      };\n    }\n    case \"for\": {\n      const itemName = args[1]?.value ?? \"item\";\n      const collection = args[2] ? fromSemanticAST(args[2]) : { type: \"identifier\", value: \"[]\" };\n      return {\n        type: \"foreach\",\n        itemName,\n        collection,\n        body: extractBlockCommands(bodyBlock),\n        ...pos(node)\n      };\n    }\n    case \"while\": {\n      const condition = args[1] ? fromSemanticAST(args[1]) : { type: \"literal\", value: true };\n      return {\n        type: \"while\",\n        condition,\n        body: extractBlockCommands(bodyBlock),\n        ...pos(node)\n      };\n    }\n    case \"until\": {\n      const condition = args[1] ? fromSemanticAST(args[1]) : { type: \"literal\", value: false };\n      return {\n        type: \"while\",\n        condition: { type: \"unary\", operator: \"not\", operand: condition },\n        body: extractBlockCommands(bodyBlock),\n        ...pos(node)\n      };\n    }\n    default:\n      return { type: \"repeat\", body: extractBlockCommands(bodyBlock), ...pos(node) };\n  }\n}\nfunction convertCommandSequence(node) {\n  const commands = node.commands ?? [];\n  if (commands.length === 1) return fromSemanticAST(commands[0]);\n  return {\n    type: \"event\",\n    event: \"click\",\n    body: commands.map((cmd) => fromSemanticAST(cmd)),\n    ...pos(node)\n  };\n}\nfunction convertBlock(node) {\n  const commands = node.commands ?? [];\n  if (commands.length === 1) return fromSemanticAST(commands[0]);\n  return {\n    type: \"event\",\n    event: \"click\",\n    body: commands.map((cmd) => fromSemanticAST(cmd)),\n    ...pos(node)\n  };\n}\nfunction convertIfNode(node) {\n  const condition = node.condition ? fromSemanticAST(node.condition) : { type: \"literal\", value: true };\n  const thenBranch = (node.thenBranch ?? []).map((n) => fromSemanticAST(n));\n  const elseBranch = node.elseBranch ? node.elseBranch.map((n) => fromSemanticAST(n)) : void 0;\n  return {\n    type: \"if\",\n    condition,\n    thenBranch,\n    ...elseBranch ? { elseBranch } : {},\n    ...pos(node)\n  };\n}\nfunction convertPropertyAccess(node) {\n  const object = node.object ? fromSemanticAST(node.object) : { type: \"identifier\", value: \"me\" };\n  return { type: \"possessive\", object, property: node.property ?? \"\", ...pos(node) };\n}\nfunction convertPossessive(node) {\n  const object = node.object ? fromSemanticAST(node.object) : { type: \"identifier\", value: \"me\" };\n  const property = typeof node.property === \"string\" ? node.property : node.property?.name ?? node.property?.value ?? \"\";\n  return { type: \"possessive\", object, property, ...pos(node) };\n}\nfunction convertMember(node) {\n  const object = node.object ? fromSemanticAST(node.object) : { type: \"identifier\", value: \"me\" };\n  const property = typeof node.property === \"string\" ? node.property : node.property ? fromSemanticAST(node.property) : { type: \"literal\", value: \"\" };\n  return {\n    type: \"member\",\n    object,\n    property,\n    computed: node.computed ?? false,\n    ...pos(node)\n  };\n}\nfunction convertBinary(node) {\n  return {\n    type: \"binary\",\n    operator: node.operator ?? \"\",\n    left: fromSemanticAST(node.left),\n    right: fromSemanticAST(node.right),\n    ...pos(node)\n  };\n}\nfunction convertCall(node) {\n  const callee = typeof node.callee === \"string\" ? { type: \"identifier\", value: node.callee, name: node.callee } : fromSemanticAST(node.callee);\n  const args = (node.arguments ?? node.args ?? []).map(\n    (a) => fromSemanticAST(a)\n  );\n  return { type: \"call\", callee, args, ...pos(node) };\n}\nfunction convertSemanticRoles(roles) {\n  const result = {};\n  for (const [key, value] of Object.entries(roles)) {\n    result[key] = fromSemanticAST(value);\n  }\n  return result;\n}\nfunction convertModifiers(modifiers) {\n  const result = {};\n  for (const [key, value] of Object.entries(modifiers)) {\n    result[key] = fromSemanticAST(value);\n  }\n  return result;\n}\nfunction buildEventModifiers(node) {\n  const em = node.eventModifiers;\n  return {\n    ...node.once || em?.once ? { once: true } : {},\n    ...node.debounce || em?.debounce ? { debounce: node.debounce ?? em?.debounce } : {},\n    ...node.throttle || em?.throttle ? { throttle: node.throttle ?? em?.throttle } : {},\n    ...node.prevent || em?.prevent ? { prevent: true } : {},\n    ...node.stop || em?.stop ? { stop: true } : {},\n    ...node.capture || em?.capture ? { capture: true } : {},\n    ...node.passive || em?.passive ? { passive: true } : {},\n    ...node.from || em?.from ? { from: node.from ?? em?.from } : node.selector ? { from: node.selector } : {}\n  };\n}\nfunction extractBlockCommands(block) {\n  if (!block) return [];\n  if (block.type === \"block\") {\n    return (block.commands ?? []).map((cmd) => fromSemanticAST(cmd));\n  }\n  return [fromSemanticAST(block)];\n}\n\n// src/index.ts\nfunction getSupportedLanguages3() {\n  return [...SUPPORTED_LANGUAGES];\n}\nvar VERSION = \"0.1.0\";\nfunction parseSemantic(code, language) {\n  return parseWithConfidence(code, language);\n}\nexport {\n  ASTBuilder,\n  CssSelectorExtractor,\n  DEFAULT_CONFIDENCE_THRESHOLD,\n  EventModifierExtractor,\n  HIGH_CONFIDENCE_THRESHOLD,\n  IdentifierExtractor,\n  KNOWN_PROFILES,\n  SUPPORTED_LANGUAGES as LAZY_LOAD_LANGUAGES,\n  NumberExtractor,\n  OperatorExtractor,\n  PatternMatcher,\n  PunctuationExtractor,\n  SUPPORTED_LANGUAGES,\n  SchemaErrorCodes,\n  SemanticCache,\n  SemanticParserImpl,\n  SemanticRendererImpl,\n  StringLiteralExtractor,\n  TokenStreamImpl,\n  UrlExtractor,\n  VERSION,\n  VariableRefExtractor,\n  addSchema,\n  analyze,\n  analyzeAll,\n  analyzeMultiple,\n  appendSchema,\n  arabicProfile,\n  arabicTokenizer,\n  bengaliProfile,\n  buildAST,\n  calculateTranslationConfidence,\n  canLoadLanguage,\n  canParse,\n  checkAccessibility,\n  checkPerformance,\n  checkSchema,\n  chineseProfile,\n  chineseTokenizer,\n  commandSchemas,\n  convertExpression,\n  convertLiteral,\n  convertPropertyPath,\n  convertReference,\n  convertSelector,\n  convertValue,\n  createCommandNode2 as createCommandNode,\n  createCompoundNode,\n  createConditionalNode,\n  createEventHandler,\n  createLiteral,\n  createLoopNode,\n  createPropertyPath,\n  createReference,\n  createSelector,\n  createSemanticCache,\n  createTokenizerContext,\n  decrementSchema,\n  devModeAnalyze,\n  disableDevMode,\n  enableDevMode,\n  englishProfile,\n  englishTokenizer,\n  eventNameTranslations,\n  fetchSchema,\n  fillSchemaDefaults,\n  formatValidationResults,\n  frenchProfile,\n  fromExplicit,\n  fromSemanticAST,\n  generateAllPatterns,\n  generatePattern,\n  generatePatternVariants,\n  generatePatternsForCommand,\n  generatePatternsForLanguage,\n  generateSimplePattern,\n  germanProfile,\n  getAllTranslations,\n  getCommandMapper,\n  getCommandType,\n  getDefaultExtractors,\n  getDefinedSchemas,\n  getDevModeConfig,\n  getEventHandlerPatternsForLanguage,\n  getGeneratorSummary,\n  getHyperscriptExtractors,\n  getKeywordTranslations,\n  getLoadedLanguages,\n  getPatternById,\n  getPatternStats,\n  getPatternsForLanguage2 as getPatternsForLanguage,\n  getPatternsForLanguageAndCommand2 as getPatternsForLanguageAndCommand,\n  getPutPatternsForLanguage,\n  getRegisteredLanguages,\n  getRegisteredMappers,\n  getRoleMarkers,\n  getSchema,\n  getSchemasByCategory,\n  getSupportedCommands,\n  getSupportedLanguages3 as getSupportedLanguages,\n  getSupportedLanguages2 as getSupportedPatternLanguages,\n  getSupportedLanguages as getSupportedTokenizerLanguages,\n  getTogglePatternsForLanguage,\n  getTokenizer2 as getTokenizer,\n  getUnloadedLanguages,\n  getValidationStats,\n  getSchema2 as getValidatorSchema,\n  hebrewProfile,\n  hideSchema,\n  hindiProfile,\n  incrementSchema,\n  indonesianProfile,\n  isContextAwareExtractor,\n  isDevModeEnabled,\n  isExplicitSyntax,\n  isLanguageRegistered,\n  isLanguageSupported,\n  isUnifiedProfile,\n  italianProfile,\n  japaneseProfile,\n  japaneseTokenizer,\n  koreanProfile,\n  koreanTokenizer,\n  loadLanguage,\n  loadLanguages,\n  localizeEventName,\n  malayProfile,\n  markingStrategyToAdpositionType,\n  matchBest,\n  matchPattern,\n  normalizeEventName,\n  onSchema,\n  parse,\n  parseAny,\n  parseExplicit,\n  parseSemantic,\n  parseWithConfidence,\n  patternMatcher,\n  polishProfile,\n  portugueseProfile,\n  prependSchema,\n  putSchema,\n  quechuaProfile,\n  registerCommandMapper,\n  registerSchema,\n  registerTokenizer2 as registerTokenizer,\n  removeSchema,\n  render,\n  renderExplicit,\n  roundTrip,\n  russianProfile,\n  schemaRegistry,\n  semanticCache,\n  semanticParser,\n  semanticRenderer,\n  setSchema,\n  showSchema,\n  spanishProfile,\n  spanishTokenizer,\n  swahiliProfile,\n  tagalogProfile,\n  thaiProfile,\n  toExplicit,\n  toGrammaticalMarker,\n  toI18nProfile,\n  toggleSchema,\n  tokenize3 as tokenize,\n  translate,\n  triggerSchema,\n  tryGetProfile,\n  turkishProfile,\n  turkishTokenizer,\n  ukrainianProfile,\n  validateAllSchemas,\n  validateAndAdjustConfidence,\n  validateCommandSchema,\n  validateLanguageKeywords,\n  validateSemanticResult,\n  validateTranslation,\n  vietnameseProfile,\n  waitSchema,\n  withCache\n};\n//# sourceMappingURL=index.js.map",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/**\n * Core Parser Adapter\n *\n * Bridges @hyperfixi/core's parser output into AOT ASTNode types.\n * Delegates AST conversion to the shared interchange format (fromCoreAST)\n * exported by @hyperfixi/core.\n */\n\nimport type { ASTNode } from '../types/aot-types.js';\n\n// =============================================================================\n// CORE TYPES (imported dynamically)\n// =============================================================================\n\n// Locally-declared types to avoid requiring the peer dependency at compile time.\n\ninterface CoreCompileResult {\n  ok: boolean;\n  ast?: CoreASTNode;\n  errors?: Array<{ message: string }>;\n}\n\ninterface CoreASTNode {\n  type: string;\n  [key: string]: unknown;\n}\n\ninterface CoreHyperscriptAPI {\n  compileSync(\n    code: string,\n    options?: { language?: string; traditional?: boolean }\n  ): CoreCompileResult;\n}\n\n/** Interchange converter function signature */\ntype InterchangeConverter = (node: CoreASTNode) => ASTNode;\n\n// =============================================================================\n// CORE PARSER ADAPTER\n// =============================================================================\n\n/**\n * Adapts @hyperfixi/core's compileSync() output into the Parser interface\n * expected by AOTCompiler.\n */\nexport class CoreParserAdapter {\n  private api: CoreHyperscriptAPI;\n  private converter: InterchangeConverter;\n\n  constructor(api: CoreHyperscriptAPI, converter: InterchangeConverter) {\n    this.api = api;\n    this.converter = converter;\n  }\n\n  /**\n   * Parse hyperscript code to an AOT-compatible AST.\n   */\n  parse(code: string, language?: string): ASTNode {\n    const result = this.api.compileSync(code, {\n      language: language ?? 'en',\n      traditional: true,\n    });\n\n    if (!result.ok || !result.ast) {\n      throw new Error(result.errors?.[0]?.message ?? `Core parser failed for: ${code}`);\n    }\n\n    return this.converter(result.ast);\n  }\n}\n\n// =============================================================================\n// STANDALONE CONVERTER (backward compat)\n// =============================================================================\n\n/**\n * Module-level converter, set by createCoreParserAdapter().\n * Falls back to a passthrough if not yet initialized (shouldn't happen in practice).\n */\nlet _converter: InterchangeConverter | null = null;\n\n/**\n * Convert a core parser AST node to an AOT AST node.\n *\n * Delegates to `fromCoreAST` from `@hyperfixi/core`'s interchange format.\n * This function is available after `createCoreParserAdapter()` has been called.\n *\n * @deprecated Import `fromCoreAST` from `@hyperfixi/core` directly instead.\n */\nexport function convertCoreASTToAOT(node: CoreASTNode): ASTNode {\n  if (_converter) return _converter(node);\n  // Should not reach here — factory sets _converter before anything uses it\n  return node as ASTNode;\n}\n\n// =============================================================================\n// FACTORY FUNCTION\n// =============================================================================\n\n/**\n * Create a CoreParserAdapter by dynamically importing @hyperfixi/core.\n * Throws if the package is not available.\n */\nexport async function createCoreParserAdapter(): Promise<CoreParserAdapter> {\n  const core = await import('@hyperfixi/core');\n  // The core package exports `hyperscript` with compileSync\n  const api = core.hyperscript ?? core.default ?? core;\n\n  if (!api?.compileSync) {\n    throw new Error(\n      '@hyperfixi/core does not export compileSync. ' +\n        'Ensure @hyperfixi/core >= 1.0.0 is installed.'\n    );\n  }\n\n  // Use the interchange converter from core\n  const converter = (core as Record<string, unknown>).fromCoreAST as InterchangeConverter;\n  if (!converter) {\n    throw new Error(\n      '@hyperfixi/core does not export fromCoreAST. ' +\n        'Ensure @hyperfixi/core >= 1.3.0 is installed.'\n    );\n  }\n\n  // Cache for standalone convertCoreASTToAOT()\n  _converter = converter;\n\n  return new CoreParserAdapter(api as unknown as CoreHyperscriptAPI, converter);\n}\n","/**\n * Semantic Parser Adapter\n *\n * Bridges @lokascript/semantic's parse output into AOT ASTNode types.\n * Delegates AST conversion to the shared interchange format (fromSemanticAST)\n * exported by @lokascript/semantic.\n */\n\nimport type { ASTNode } from '../types/aot-types.js';\n\n// =============================================================================\n// SEMANTIC TYPES (imported dynamically)\n// =============================================================================\n\n// These mirror the types from @lokascript/semantic but are declared locally\n// so the adapter can be compiled without the optional peer dependency.\n\ninterface SemanticAnalysisResult {\n  confidence: number;\n  node?: SemanticNodeLike;\n  errors?: string[];\n}\n\ninterface SemanticAnalyzerLike {\n  analyze(input: string, language: string): SemanticAnalysisResult;\n  supportsLanguage(language: string): boolean;\n}\n\ninterface SemanticNodeLike {\n  kind: string;\n  action: string;\n  roles: ReadonlyMap<string, unknown>;\n  metadata?: { confidence?: number };\n  body?: SemanticNodeLike[];\n  eventModifiers?: Record<string, unknown>;\n  parameterNames?: readonly string[];\n  thenBranch?: SemanticNodeLike[];\n  elseBranch?: SemanticNodeLike[];\n  statements?: SemanticNodeLike[];\n  loopVariant?: string;\n  loopVariable?: string;\n  indexVariable?: string;\n}\n\ninterface ASTBuilderLike {\n  build(node: SemanticNodeLike): SemanticASTNodeLike;\n  warnings: string[];\n}\n\ninterface SemanticASTNodeLike {\n  type: string;\n  [key: string]: unknown;\n}\n\ntype ParseWithConfidenceFn = (\n  code: string,\n  language: string\n) => { node: SemanticNodeLike | null; confidence: number; error: string | undefined };\n\n/** Interchange converter function signature */\ntype InterchangeConverter = (node: SemanticASTNodeLike) => ASTNode;\n\n// =============================================================================\n// SEMANTIC PARSER ADAPTER\n// =============================================================================\n\n/**\n * Adapts @lokascript/semantic into the SemanticParser interface expected by\n * AOTCompiler.\n *\n * Uses `parseWithConfidence()` for analysis — this is the full semantic parser\n * (not just the pattern matcher), so it correctly handles event handlers with\n * body commands, compound statements, etc.\n */\nexport class SemanticParserAdapter {\n  private analyzer: SemanticAnalyzerLike;\n  private ASTBuilderClass: new () => ASTBuilderLike;\n  private parseWithConfidenceFn: ParseWithConfidenceFn;\n  private converter: InterchangeConverter;\n\n  constructor(\n    analyzer: SemanticAnalyzerLike,\n    ASTBuilderClass: new () => ASTBuilderLike,\n    parseWithConfidenceFn: ParseWithConfidenceFn,\n    converter: InterchangeConverter\n  ) {\n    this.analyzer = analyzer;\n    this.ASTBuilderClass = ASTBuilderClass;\n    this.parseWithConfidenceFn = parseWithConfidenceFn;\n    this.converter = converter;\n  }\n\n  /**\n   * Analyze code in the given language.\n   * Uses the full semantic parser (parseWithConfidence) which correctly\n   * returns event-handler nodes with body commands.\n   */\n  analyze(\n    code: string,\n    language: string\n  ): { node?: unknown; confidence: number; errors?: string[] } {\n    try {\n      const result = this.parseWithConfidenceFn(code, language);\n      return {\n        node: result.node ?? undefined,\n        confidence: result.confidence,\n        errors: result.error ? [result.error] : undefined,\n      };\n    } catch (error) {\n      return {\n        confidence: 0,\n        errors: [error instanceof Error ? error.message : String(error)],\n      };\n    }\n  }\n\n  /**\n   * Build an AOT-compatible AST from the SemanticNode.\n   * Converts the semantic package's AST format to AOT types via interchange.\n   */\n  buildAST(node: unknown): { ast: ASTNode; warnings: string[] } {\n    const semanticNode = node as SemanticNodeLike;\n\n    const builder = new this.ASTBuilderClass();\n    const semanticAST = builder.build(semanticNode);\n    const aotAST = this.converter(semanticAST);\n\n    return { ast: aotAST, warnings: builder.warnings };\n  }\n\n  /**\n   * Check if the given language is supported.\n   */\n  supportsLanguage(language: string): boolean {\n    return this.analyzer.supportsLanguage(language);\n  }\n}\n\n// =============================================================================\n// STANDALONE CONVERTER (backward compat)\n// =============================================================================\n\nlet _converter: InterchangeConverter | null = null;\n\n/**\n * Convert a semantic package AST node to an AOT AST node.\n *\n * Delegates to `fromSemanticAST` from `@lokascript/semantic`'s interchange format.\n * This function is available after `createSemanticAdapter()` has been called.\n *\n * @deprecated Import `fromSemanticAST` from `@lokascript/semantic` directly instead.\n */\nexport function convertSemanticASTToAOT(node: SemanticASTNodeLike): ASTNode {\n  if (_converter) return _converter(node);\n  return node as ASTNode;\n}\n\n// =============================================================================\n// FACTORY FUNCTION\n// =============================================================================\n\n/**\n * Create a SemanticParserAdapter by dynamically importing @lokascript/semantic.\n * Throws if the package is not available.\n */\nexport async function createSemanticAdapter(): Promise<SemanticParserAdapter> {\n  const semantic = await import('@lokascript/semantic');\n  const ASTBuilderClass = semantic.ASTBuilder;\n  const parseWithConfidence = semantic.parseWithConfidence;\n  const isLanguageRegistered = semantic.isLanguageRegistered;\n\n  // Build a lightweight analyzer-like object — just supportsLanguage is read\n  // by SemanticParserAdapter; analyze() goes through parseWithConfidence directly.\n  const analyzer: SemanticAnalyzerLike = {\n    analyze() {\n      // Not used by SemanticParserAdapter; analysis goes through parseWithConfidenceFn.\n      throw new Error('SemanticParserAdapter routes analyze() through parseWithConfidence.');\n    },\n    supportsLanguage(language: string) {\n      return isLanguageRegistered(language);\n    },\n  };\n\n  // Use the interchange converter from semantic\n  const converter = (semantic as Record<string, unknown>).fromSemanticAST as InterchangeConverter;\n  if (!converter) {\n    throw new Error(\n      '@lokascript/semantic does not export fromSemanticAST. ' +\n        'Ensure @lokascript/semantic >= 1.3.0 is installed.'\n    );\n  }\n\n  // Cache for standalone convertSemanticASTToAOT()\n  _converter = converter;\n\n  return new SemanticParserAdapter(\n    analyzer,\n    ASTBuilderClass as unknown as new () => ASTBuilderLike,\n    parseWithConfidence as unknown as ParseWithConfidenceFn,\n    converter\n  );\n}\n","import {\n  CoreParserAdapter,\n  convertCoreASTToAOT,\n  createCoreParserAdapter\n} from \"./chunk-PPZXJJ57.js\";\nexport {\n  CoreParserAdapter,\n  convertCoreASTToAOT,\n  createCoreParserAdapter\n};\n//# sourceMappingURL=core-parser-adapter-VCJB52SO.js.map","import {\n  SemanticParserAdapter,\n  convertSemanticASTToAOT,\n  createSemanticAdapter\n} from \"./chunk-MMZ3JFI7.js\";\nexport {\n  SemanticParserAdapter,\n  convertSemanticASTToAOT,\n  createSemanticAdapter\n};\n//# sourceMappingURL=semantic-adapter-JAAALHRO.js.map","/**\n * HTML Scanner\n *\n * Extracts hyperscript code from HTML files and other source formats.\n * Supports _ attributes, data-hs attributes, and script tags.\n */\n\nimport type { ExtractedScript, SourceLocation, ScannerOptions, ScanResult } from '../types/aot-types.js';\n\n// =============================================================================\n// DEFAULT OPTIONS\n// =============================================================================\n\nconst DEFAULT_OPTIONS: Required<ScannerOptions> = {\n  attributeNames: ['_', 'data-hs', 'data-hyperscript'],\n  includeScriptTags: true,\n  defaultLanguage: 'en',\n};\n\n// =============================================================================\n// REGEX PATTERNS\n// =============================================================================\n\n/**\n * Match an HTML attribute with its value.\n * Handles: attr=\"value\", attr='value', attr=value\n */\nfunction createAttributeRegex(attrName: string): RegExp {\n  const escaped = attrName.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n  return new RegExp(\n    `${escaped}\\\\s*=\\\\s*(?:\"([^\"]*?)\"|'([^']*?)'|([^\\\\s>]+))`,\n    'gi'\n  );\n}\n\n/**\n * Match an HTML element with its attributes.\n */\nconst ELEMENT_REGEX = /<([a-z][a-z0-9-]*)\\s+([^>]*?)>/gi;\n\n/**\n * Match script tags with type=\"text/hyperscript\".\n */\nconst SCRIPT_TAG_REGEX = /<script\\s+[^>]*type\\s*=\\s*[\"']text\\/hyperscript[\"'][^>]*>([\\s\\S]*?)<\\/script>/gi;\n\n/**\n * Extract id attribute from element.\n */\nconst ID_REGEX = /\\bid\\s*=\\s*[\"']([^\"']+)[\"']/i;\n\n/**\n * Extract class attribute from element.\n */\nconst CLASS_REGEX = /\\bclass\\s*=\\s*[\"']([^\"']+)[\"']/i;\n\n/**\n * Extract lang attribute from element.\n */\nconst LANG_REGEX = /\\blang\\s*=\\s*[\"']([^\"']+)[\"']/i;\n\n// =============================================================================\n// HTML SCANNER CLASS\n// =============================================================================\n\n/**\n * Scanner for extracting hyperscript from HTML sources.\n */\nexport class HTMLScanner {\n  private options: Required<ScannerOptions>;\n  private attributeRegexes: Map<string, RegExp>;\n\n  constructor(options: ScannerOptions = {}) {\n    this.options = { ...DEFAULT_OPTIONS, ...options };\n    this.attributeRegexes = new Map();\n\n    for (const attr of this.options.attributeNames) {\n      this.attributeRegexes.set(attr, createAttributeRegex(attr));\n    }\n  }\n\n  /**\n   * Extract hyperscript from HTML source code.\n   */\n  extract(source: string, filename: string): ExtractedScript[] {\n    const scripts: ExtractedScript[] = [];\n\n    // Extract from attributes\n    scripts.push(...this.extractFromAttributes(source, filename));\n\n    // Extract from script tags\n    if (this.options.includeScriptTags) {\n      scripts.push(...this.extractFromScriptTags(source, filename));\n    }\n\n    return scripts;\n  }\n\n  /**\n   * Extract hyperscript from element attributes.\n   */\n  private extractFromAttributes(source: string, filename: string): ExtractedScript[] {\n    const scripts: ExtractedScript[] = [];\n    let elementMatch: RegExpExecArray | null;\n\n    // Reset regex state\n    ELEMENT_REGEX.lastIndex = 0;\n\n    while ((elementMatch = ELEMENT_REGEX.exec(source)) !== null) {\n      const tagName = elementMatch[1];\n      const attributes = elementMatch[2];\n      const elementStart = elementMatch.index;\n\n      // Calculate line/column for this element\n      const location = this.calculateLocation(source, elementStart, filename);\n\n      // Check each hyperscript attribute\n      for (const [attrName, regex] of this.attributeRegexes) {\n        regex.lastIndex = 0;\n        const attrMatch = regex.exec(attributes);\n\n        if (attrMatch) {\n          // Value can be in groups 1, 2, or 3 depending on quote style\n          const code = attrMatch[1] ?? attrMatch[2] ?? attrMatch[3];\n\n          if (code && code.trim()) {\n            // Get element identifiers\n            const elementId = this.extractId(attributes);\n            const elementSelector = this.buildSelector(tagName, attributes, elementId);\n            const language = this.extractLanguage(attributes) ?? this.options.defaultLanguage;\n\n            // Decode HTML entities\n            const decodedCode = this.decodeHTMLEntities(code);\n\n            scripts.push({\n              code: decodedCode,\n              location: {\n                ...location,\n                column: location.column + attrMatch.index,\n              },\n              elementId,\n              elementSelector,\n              language,\n              attributeName: attrName,\n            });\n          }\n        }\n      }\n    }\n\n    return scripts;\n  }\n\n  /**\n   * Extract hyperscript from script tags.\n   */\n  private extractFromScriptTags(source: string, filename: string): ExtractedScript[] {\n    const scripts: ExtractedScript[] = [];\n    let match: RegExpExecArray | null;\n\n    // Reset regex state\n    SCRIPT_TAG_REGEX.lastIndex = 0;\n\n    while ((match = SCRIPT_TAG_REGEX.exec(source)) !== null) {\n      const code = match[1].trim();\n\n      if (code) {\n        const location = this.calculateLocation(source, match.index, filename);\n\n        scripts.push({\n          code,\n          location,\n          language: this.options.defaultLanguage,\n          attributeName: 'script',\n        });\n      }\n    }\n\n    return scripts;\n  }\n\n  /**\n   * Calculate line and column from character offset.\n   */\n  private calculateLocation(source: string, offset: number, filename: string): SourceLocation {\n    const before = source.slice(0, offset);\n    const lines = before.split('\\n');\n    const line = lines.length;\n    const column = (lines[lines.length - 1]?.length ?? 0) + 1;\n\n    return { file: filename, line, column };\n  }\n\n  /**\n   * Extract ID from attributes string.\n   */\n  private extractId(attributes: string): string | undefined {\n    const match = ID_REGEX.exec(attributes);\n    return match?.[1];\n  }\n\n  /**\n   * Extract language from attributes string.\n   */\n  private extractLanguage(attributes: string): string | undefined {\n    const match = LANG_REGEX.exec(attributes);\n    return match?.[1];\n  }\n\n  /**\n   * Build a CSS selector for an element.\n   */\n  private buildSelector(tagName: string, attributes: string, elementId?: string): string {\n    // Prefer ID selector\n    if (elementId) {\n      return `#${elementId}`;\n    }\n\n    // Build selector from tag and classes\n    let selector = tagName;\n\n    const classMatch = CLASS_REGEX.exec(attributes);\n    if (classMatch) {\n      const classes = classMatch[1].split(/\\s+/).filter(Boolean);\n      if (classes.length > 0) {\n        selector += '.' + classes.join('.');\n      }\n    }\n\n    // Add attribute selector as fallback\n    for (const attrName of this.options.attributeNames) {\n      if (attributes.includes(attrName + '=')) {\n        selector += `[${attrName}]`;\n        break;\n      }\n    }\n\n    return selector;\n  }\n\n  /**\n   * Decode HTML entities in attribute values.\n   */\n  private decodeHTMLEntities(text: string): string {\n    return text\n      .replace(/&quot;/g, '\"')\n      .replace(/&apos;/g, \"'\")\n      .replace(/&lt;/g, '<')\n      .replace(/&gt;/g, '>')\n      .replace(/&amp;/g, '&')\n      .replace(/&#(\\d+);/g, (_, code) => String.fromCharCode(parseInt(code, 10)))\n      .replace(/&#x([0-9a-f]+);/gi, (_, code) => String.fromCharCode(parseInt(code, 16)));\n  }\n}\n\n// =============================================================================\n// VUE SCANNER\n// =============================================================================\n\n/**\n * Scanner for Vue Single File Components.\n */\nexport class VueScanner extends HTMLScanner {\n  /**\n   * Extract hyperscript from Vue SFC.\n   */\n  extract(source: string, filename: string): ExtractedScript[] {\n    // Extract template section\n    const templateMatch = /<template[^>]*>([\\s\\S]*?)<\\/template>/i.exec(source);\n\n    if (!templateMatch) {\n      return [];\n    }\n\n    const template = templateMatch[1];\n    const templateOffset = templateMatch.index + templateMatch[0].indexOf('>') + 1;\n\n    // Extract from template content\n    const scripts = super.extract(template, filename);\n\n    // Adjust line numbers for template offset\n    const linesBefore = source.slice(0, templateOffset).split('\\n').length - 1;\n\n    for (const script of scripts) {\n      script.location.line += linesBefore;\n    }\n\n    return scripts;\n  }\n}\n\n// =============================================================================\n// SVELTE SCANNER\n// =============================================================================\n\n/**\n * Scanner for Svelte components.\n */\nexport class SvelteScanner extends HTMLScanner {\n  /**\n   * Extract hyperscript from Svelte component.\n   * Svelte components are HTML-like, so we can use the base scanner\n   * but need to exclude script and style blocks.\n   */\n  extract(source: string, filename: string): ExtractedScript[] {\n    // Remove script and style blocks\n    let cleanedSource = source\n      .replace(/<script[^>]*>[\\s\\S]*?<\\/script>/gi, match => ' '.repeat(match.length))\n      .replace(/<style[^>]*>[\\s\\S]*?<\\/style>/gi, match => ' '.repeat(match.length));\n\n    return super.extract(cleanedSource, filename);\n  }\n}\n\n// =============================================================================\n// JSX SCANNER\n// =============================================================================\n\n/**\n * Scanner for JSX/TSX files.\n */\nexport class JSXScanner {\n  private options: Required<ScannerOptions>;\n\n  constructor(options: ScannerOptions = {}) {\n    this.options = { ...DEFAULT_OPTIONS, ...options };\n  }\n\n  /**\n   * Extract hyperscript from JSX source.\n   * Handles both regular attributes and spread attributes.\n   */\n  extract(source: string, filename: string): ExtractedScript[] {\n    const scripts: ExtractedScript[] = [];\n\n    // Match JSX hyperscript attributes: _=\"code\" or _={'code'} or _={`code`}\n    for (const attrName of this.options.attributeNames) {\n      const escaped = attrName.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\n      // String literal value: _=\"...\"\n      const stringRegex = new RegExp(`${escaped}\\\\s*=\\\\s*[\"']([^\"']+)[\"']`, 'g');\n      let match: RegExpExecArray | null;\n\n      while ((match = stringRegex.exec(source)) !== null) {\n        const code = match[1];\n        if (code && code.trim()) {\n          scripts.push({\n            code,\n            location: this.calculateLocation(source, match.index, filename),\n            language: this.options.defaultLanguage,\n            attributeName: attrName,\n          });\n        }\n      }\n\n      // Template literal value: _={`...`}\n      const templateRegex = new RegExp(`${escaped}\\\\s*=\\\\s*\\\\{\\\\s*\\`([^\\`]+)\\`\\\\s*\\\\}`, 'g');\n\n      while ((match = templateRegex.exec(source)) !== null) {\n        const code = match[1];\n        if (code && code.trim()) {\n          scripts.push({\n            code,\n            location: this.calculateLocation(source, match.index, filename),\n            language: this.options.defaultLanguage,\n            attributeName: attrName,\n          });\n        }\n      }\n\n      // String expression value: _={'...'} or _={\"...\"}\n      const exprRegex = new RegExp(`${escaped}\\\\s*=\\\\s*\\\\{\\\\s*[\"']([^\"']+)[\"']\\\\s*\\\\}`, 'g');\n\n      while ((match = exprRegex.exec(source)) !== null) {\n        const code = match[1];\n        if (code && code.trim()) {\n          scripts.push({\n            code,\n            location: this.calculateLocation(source, match.index, filename),\n            language: this.options.defaultLanguage,\n            attributeName: attrName,\n          });\n        }\n      }\n    }\n\n    return scripts;\n  }\n\n  /**\n   * Calculate line and column from character offset.\n   */\n  private calculateLocation(source: string, offset: number, filename: string): SourceLocation {\n    const before = source.slice(0, offset);\n    const lines = before.split('\\n');\n    const line = lines.length;\n    const column = (lines[lines.length - 1]?.length ?? 0) + 1;\n\n    return { file: filename, line, column };\n  }\n}\n\n// =============================================================================\n// MULTI-FILE SCANNER\n// =============================================================================\n\n/**\n * Scan multiple files for hyperscript.\n */\nexport async function scanFiles(\n  files: string[],\n  readFile: (path: string) => Promise<string>,\n  options: ScannerOptions = {}\n): Promise<ScanResult> {\n  const result: ScanResult = {\n    scripts: [],\n    files: [],\n    errors: [],\n  };\n\n  const htmlScanner = new HTMLScanner(options);\n  const vueScanner = new VueScanner(options);\n  const svelteScanner = new SvelteScanner(options);\n  const jsxScanner = new JSXScanner(options);\n\n  for (const file of files) {\n    try {\n      const content = await readFile(file);\n      let scripts: ExtractedScript[] = [];\n\n      if (file.endsWith('.vue')) {\n        scripts = vueScanner.extract(content, file);\n      } else if (file.endsWith('.svelte')) {\n        scripts = svelteScanner.extract(content, file);\n      } else if (file.match(/\\.(jsx|tsx)$/)) {\n        scripts = jsxScanner.extract(content, file);\n      } else if (file.match(/\\.(html|htm)$/)) {\n        scripts = htmlScanner.extract(content, file);\n      }\n\n      result.scripts.push(...scripts);\n      result.files.push(file);\n    } catch (error) {\n      result.errors.push({\n        file,\n        error: error instanceof Error ? error.message : String(error),\n      });\n    }\n  }\n\n  return result;\n}\n\n// =============================================================================\n// CONVENIENCE EXPORTS\n// =============================================================================\n\n/**\n * Create a scanner for the appropriate file type.\n */\nexport function createScanner(filename: string, options?: ScannerOptions): HTMLScanner | JSXScanner {\n  if (filename.endsWith('.vue')) {\n    return new VueScanner(options);\n  }\n  if (filename.endsWith('.svelte')) {\n    return new SvelteScanner(options);\n  }\n  if (filename.match(/\\.(jsx|tsx)$/)) {\n    return new JSXScanner(options);\n  }\n  return new HTMLScanner(options);\n}\n\nexport default HTMLScanner;\n","/**\n * Static Analyzer\n *\n * Performs static analysis on hyperscript AST to gather information\n * for optimization and code generation.\n */\n\nimport type {\n  ASTNode,\n  AnalysisResult,\n  VariableInfo,\n  SelectorInfo,\n  SourceLocation,\n  CommandNode,\n  EventHandlerNode,\n  IdentifierNode,\n  IfNode,\n  RepeatNode,\n  ForEachNode,\n  WhileNode,\n  VariableNode,\n  SelectorNode,\n  BinaryExpressionNode,\n  CallExpressionNode,\n} from '../types/aot-types.js';\n\n// =============================================================================\n// ANALYZER CLASS\n// =============================================================================\n\n/**\n * Static analyzer for hyperscript AST.\n */\nexport class Analyzer {\n  /**\n   * Analyze an AST and return analysis results.\n   */\n  analyze(ast: ASTNode): AnalysisResult {\n    const visitor = new AnalysisVisitor();\n    visitor.visit(ast);\n    return visitor.getResult();\n  }\n}\n\n// =============================================================================\n// ANALYSIS VISITOR\n// =============================================================================\n\n/**\n * Visitor that walks the AST and collects analysis data.\n */\nclass AnalysisVisitor {\n  private commandsUsed = new Set<string>();\n  private localVars = new Map<string, VariableInfo>();\n  private globalVars = new Map<string, VariableInfo>();\n  private contextVars = new Set<string>();\n  private pureExpressions: ASTNode[] = [];\n  private dynamicExpressions: ASTNode[] = [];\n  private selectors: SelectorInfo[] = [];\n  private selectorMap = new Map<string, SelectorInfo>();\n  private domQueries: string[] = [];\n  private eventTypes: string[] = [];\n  private behaviors: string[] = [];\n  private runtimeHelpers = new Set<string>();\n  private warnings: string[] = [];\n\n  private hasAsync = false;\n  private hasLoops = false;\n  private hasConditionals = false;\n  private canThrow = false;\n  private currentNestingDepth = 0;\n  private maxNestingDepth = 0;\n\n  private currentLocation?: SourceLocation;\n\n  /**\n   * Visit an AST node and its children.\n   */\n  visit(node: ASTNode): void {\n    if (!node) return;\n\n    switch (node.type) {\n      case 'event':\n        this.visitEvent(node as EventHandlerNode);\n        break;\n      case 'command':\n        this.visitCommand(node as CommandNode);\n        break;\n      case 'if':\n        this.visitIf(node as IfNode);\n        break;\n      case 'repeat':\n        this.visitRepeat(node as RepeatNode);\n        break;\n      case 'foreach':\n        this.visitForEach(node as ForEachNode);\n        break;\n      case 'while':\n        this.visitWhile(node as WhileNode);\n        break;\n      case 'variable':\n        this.visitVariable(node as VariableNode, 'read');\n        break;\n      case 'selector':\n        this.visitSelector(node as SelectorNode);\n        break;\n      case 'binary':\n        this.visitBinary(node as BinaryExpressionNode);\n        break;\n      case 'call':\n        this.visitCall(node as CallExpressionNode);\n        break;\n      case 'identifier':\n        this.visitIdentifier(node as IdentifierNode);\n        break;\n      default:\n        // Visit children for other node types\n        this.visitChildren(node);\n    }\n  }\n\n  /**\n   * Get the analysis result.\n   */\n  getResult(): AnalysisResult {\n    return {\n      commandsUsed: this.commandsUsed,\n      variables: {\n        locals: this.localVars,\n        globals: this.globalVars,\n        contextVars: this.contextVars,\n      },\n      expressions: {\n        pure: this.pureExpressions,\n        dynamic: this.dynamicExpressions,\n        selectors: this.selectors,\n      },\n      controlFlow: {\n        hasAsync: this.hasAsync,\n        hasLoops: this.hasLoops,\n        hasConditionals: this.hasConditionals,\n        canThrow: this.canThrow,\n        maxNestingDepth: this.maxNestingDepth,\n      },\n      dependencies: {\n        domQueries: [...new Set(this.domQueries)],\n        eventTypes: [...new Set(this.eventTypes)],\n        behaviors: [...new Set(this.behaviors)],\n        runtimeHelpers: Array.from(this.runtimeHelpers),\n      },\n      warnings: this.warnings,\n    };\n  }\n\n  // ===========================================================================\n  // VISITOR METHODS\n  // ===========================================================================\n\n  private visitEvent(node: EventHandlerNode): void {\n    this.eventTypes.push(node.event);\n\n    // Check for event modifiers that need runtime helpers\n    if (node.modifiers?.debounce) {\n      this.runtimeHelpers.add('debounce');\n    }\n    if (node.modifiers?.throttle) {\n      this.runtimeHelpers.add('throttle');\n    }\n\n    // Visit body\n    if (node.body) {\n      for (const child of node.body) {\n        this.visit(child);\n      }\n    }\n  }\n\n  private visitCommand(node: CommandNode): void {\n    this.commandsUsed.add(node.name);\n\n    // Track commands that need runtime helpers\n    switch (node.name) {\n      case 'fetch':\n        this.hasAsync = true;\n        this.runtimeHelpers.add('fetchJSON');\n        this.runtimeHelpers.add('fetchText');\n        break;\n      case 'wait':\n      case 'settle':\n        this.hasAsync = true;\n        this.runtimeHelpers.add('wait');\n        break;\n      case 'toggle':\n        this.runtimeHelpers.add('toggle');\n        break;\n      case 'set':\n        this.runtimeHelpers.add('setProp');\n        break;\n      case 'put':\n        this.runtimeHelpers.add('put');\n        break;\n      case 'increment':\n      case 'decrement':\n        this.runtimeHelpers.add('setProp');\n        break;\n      case 'send':\n      case 'trigger':\n        this.runtimeHelpers.add('send');\n        break;\n      case 'halt':\n      case 'exit':\n        this.canThrow = true;\n        break;\n      case 'throw':\n        this.canThrow = true;\n        break;\n      case 'call':\n        // May need behavior lookup\n        if (node.args?.[0]?.type === 'identifier') {\n          this.behaviors.push((node.args[0] as IdentifierNode).value);\n        }\n        break;\n    }\n\n    // Visit arguments and target\n    if (node.args) {\n      for (const arg of node.args) {\n        this.visit(arg);\n      }\n    }\n    if (node.target) {\n      this.visit(node.target);\n    }\n  }\n\n  private visitIf(node: IfNode): void {\n    this.hasConditionals = true;\n    this.enterNesting();\n\n    this.visit(node.condition);\n\n    for (const child of node.thenBranch) {\n      this.visit(child);\n    }\n\n    if (node.elseIfBranches) {\n      for (const branch of node.elseIfBranches) {\n        this.visit(branch.condition);\n        for (const child of branch.body) {\n          this.visit(child);\n        }\n      }\n    }\n\n    if (node.elseBranch) {\n      for (const child of node.elseBranch) {\n        this.visit(child);\n      }\n    }\n\n    this.exitNesting();\n  }\n\n  private visitRepeat(node: RepeatNode): void {\n    this.hasLoops = true;\n    this.enterNesting();\n\n    if (node.count && typeof node.count !== 'number') {\n      this.visit(node.count);\n    }\n    if (node.whileCondition) {\n      this.visit(node.whileCondition);\n    }\n\n    for (const child of node.body) {\n      this.visit(child);\n    }\n\n    this.exitNesting();\n  }\n\n  private visitForEach(node: ForEachNode): void {\n    this.hasLoops = true;\n    this.enterNesting();\n\n    // Register loop variable as local\n    this.registerVariable(node.itemName, 'local', 'write');\n    if (node.indexName) {\n      this.registerVariable(node.indexName, 'local', 'write');\n    }\n\n    this.visit(node.collection);\n\n    for (const child of node.body) {\n      this.visit(child);\n    }\n\n    this.exitNesting();\n  }\n\n  private visitWhile(node: WhileNode): void {\n    this.hasLoops = true;\n    this.enterNesting();\n\n    this.visit(node.condition);\n\n    for (const child of node.body) {\n      this.visit(child);\n    }\n\n    this.exitNesting();\n  }\n\n  private visitVariable(node: VariableNode, access: 'read' | 'write'): void {\n    const name =\n      node.name.startsWith(':') || node.name.startsWith('$') ? node.name.slice(1) : node.name;\n\n    this.registerVariable(name, node.scope, access);\n  }\n\n  private visitSelector(node: SelectorNode): void {\n    const selector = node.value;\n\n    // Track for selector caching optimization\n    if (!this.selectorMap.has(selector)) {\n      const info: SelectorInfo = {\n        selector,\n        usages: [],\n        isId: selector.startsWith('#') && !selector.includes(' '),\n        canCache: this.canCacheSelector(selector),\n      };\n      this.selectorMap.set(selector, info);\n      this.selectors.push(info);\n    }\n\n    this.selectorMap\n      .get(selector)!\n      .usages.push(this.currentLocation ?? { file: '', line: 0, column: 0 });\n    this.domQueries.push(selector);\n\n    // Pure if it's a simple selector without pseudo-elements\n    if (this.isPureSelector(selector)) {\n      this.pureExpressions.push(node);\n    } else {\n      this.dynamicExpressions.push(node);\n    }\n  }\n\n  private visitBinary(node: BinaryExpressionNode): void {\n    this.visit(node.left);\n    this.visit(node.right);\n\n    // Check if this is a pure expression\n    if (this.isPureExpression(node)) {\n      this.pureExpressions.push(node);\n    }\n\n    // Some operators need runtime helpers\n    switch (node.operator) {\n      case 'contains':\n        this.runtimeHelpers.add('contains');\n        break;\n      case 'matches':\n        this.runtimeHelpers.add('matches');\n        break;\n    }\n  }\n\n  private visitCall(node: CallExpressionNode): void {\n    this.visit(node.callee);\n    if (node.args) {\n      for (const arg of node.args) {\n        this.visit(arg);\n      }\n    }\n\n    // Mark as dynamic expression\n    this.dynamicExpressions.push(node);\n  }\n\n  private visitIdentifier(node: IdentifierNode): void {\n    const value = node.value ?? node.name;\n\n    if (!value) return;\n\n    // Track context variable usage\n    switch (value) {\n      case 'me':\n      case 'my':\n        this.contextVars.add('me');\n        break;\n      case 'you':\n      case 'your':\n        this.contextVars.add('you');\n        break;\n      case 'it':\n      case 'result':\n        this.contextVars.add('it');\n        break;\n      case 'event':\n        this.contextVars.add('event');\n        break;\n      case 'body':\n      case 'document':\n      case 'window':\n        // Global references - always available\n        break;\n      default:\n        // Could be a behavior or external reference\n        if (value.charAt(0) === value.charAt(0).toUpperCase()) {\n          this.behaviors.push(value);\n        }\n    }\n  }\n\n  // ===========================================================================\n  // HELPER METHODS\n  // ===========================================================================\n\n  private visitChildren(node: ASTNode): void {\n    for (const key of Object.keys(node)) {\n      const value = node[key];\n      if (value && typeof value === 'object') {\n        if (Array.isArray(value)) {\n          for (const item of value) {\n            if (item && typeof item === 'object' && 'type' in item) {\n              this.visit(item as ASTNode);\n            }\n          }\n        } else if ('type' in value) {\n          this.visit(value as ASTNode);\n        }\n      }\n    }\n  }\n\n  private registerVariable(\n    name: string,\n    scope: 'local' | 'global' | 'element',\n    access: 'read' | 'write'\n  ): void {\n    const map = scope === 'global' ? this.globalVars : this.localVars;\n\n    if (!map.has(name)) {\n      map.set(name, {\n        name,\n        scope,\n        reads: [],\n        writes: [],\n        type: 'unknown',\n      });\n    }\n\n    const info = map.get(name)!;\n    const location = this.currentLocation ?? { file: '', line: 0, column: 0 };\n\n    if (access === 'read') {\n      info.reads.push(location);\n    } else {\n      info.writes.push(location);\n    }\n  }\n\n  private enterNesting(): void {\n    this.currentNestingDepth++;\n    this.maxNestingDepth = Math.max(this.maxNestingDepth, this.currentNestingDepth);\n  }\n\n  private exitNesting(): void {\n    this.currentNestingDepth--;\n  }\n\n  private canCacheSelector(selector: string): boolean {\n    // Can cache simple selectors that don't change\n    // Cannot cache if it uses :not(), :has(), or other dynamic pseudo-classes\n    const dynamicPseudo =\n      /:(not|has|is|where|nth-|first-|last-|only-|empty|focus|hover|active|visited)/i;\n    return !dynamicPseudo.test(selector);\n  }\n\n  private isPureSelector(selector: string): boolean {\n    // Pure selectors are static ID or class selectors\n    return /^[#.][a-zA-Z_][a-zA-Z0-9_-]*$/.test(selector);\n  }\n\n  private isPureExpression(node: ASTNode): boolean {\n    if (!node) return true;\n\n    switch (node.type) {\n      case 'literal':\n        return true;\n      case 'identifier': {\n        const value = (node as IdentifierNode).value;\n        // Context variables are not pure (they change per invocation)\n        return !['me', 'you', 'it', 'result', 'event'].includes(value ?? '');\n      }\n      case 'binary': {\n        const bin = node as BinaryExpressionNode;\n        return this.isPureExpression(bin.left) && this.isPureExpression(bin.right);\n      }\n      default:\n        return false;\n    }\n  }\n}\n\n// =============================================================================\n// CONVENIENCE FUNCTIONS\n// =============================================================================\n\n/**\n * Analyze an AST and return results.\n */\nexport function analyze(ast: ASTNode): AnalysisResult {\n  const analyzer = new Analyzer();\n  return analyzer.analyze(ast);\n}\n\n/**\n * Check if an AST contains async operations.\n */\nexport function hasAsyncOperations(ast: ASTNode): boolean {\n  const result = analyze(ast);\n  return result.controlFlow.hasAsync;\n}\n\n/**\n * Get all commands used in an AST.\n */\nexport function getCommandsUsed(ast: ASTNode): string[] {\n  const result = analyze(ast);\n  return Array.from(result.commandsUsed);\n}\n\n/**\n * Get required runtime helpers for an AST.\n */\nexport function getRequiredHelpers(ast: ASTNode): string[] {\n  const result = analyze(ast);\n  return result.dependencies.runtimeHelpers;\n}\n\nexport default Analyzer;\n","/**\n * Class Batching Optimization Pass\n *\n * Detects consecutive classList.add/remove/toggle commands targeting the same\n * element and merges them into a single BatchedClassOpsNode. This reduces DOM\n * mutations by leveraging the varargs form of classList.add() and classList.remove().\n *\n * Example:\n *   add .active on me → then add .visible on me → then add .highlighted on me\n * Becomes:\n *   _ctx.me.classList.add('active', 'visible', 'highlighted')  // 1 mutation instead of 3\n */\n\nimport type {\n  ASTNode,\n  CommandNode,\n  EventHandlerNode,\n  SelectorNode,\n  AnalysisResult,\n  OptimizationPass,\n  BatchedClassOpsNode,\n  IfNode,\n  RepeatNode,\n  ForEachNode,\n  WhileNode,\n} from '../types/aot-types.js';\n\n// Commands eligible for batching\nconst CLASS_COMMANDS = new Set(['add', 'remove', 'toggle']);\n\n/**\n * Extract a class name from a command node if it's a simple class operation.\n * Returns null if the command is not a simple class add/remove/toggle.\n */\nfunction extractClassOp(\n  node: ASTNode\n): { command: 'add' | 'remove' | 'toggle'; className: string; hasExplicitTarget: boolean } | null {\n  if (node.type !== 'command') return null;\n\n  const cmd = node as CommandNode;\n  if (!CLASS_COMMANDS.has(cmd.name)) return null;\n\n  const args = cmd.args ?? [];\n  if (args.length === 0) return null;\n\n  const arg = args[0];\n  if (arg.type !== 'selector') return null;\n\n  const selector = (arg as SelectorNode).value;\n  if (!selector.startsWith('.')) return null;\n\n  const className = selector.slice(1);\n  if (!className) return null;\n\n  return {\n    command: cmd.name as 'add' | 'remove' | 'toggle',\n    className,\n    hasExplicitTarget: !!cmd.target,\n  };\n}\n\n/**\n * Check if two commands target the same element.\n * Batches when both use implicit `me`, or both have identical explicit targets.\n */\nfunction isSameTarget(a: ASTNode, b: ASTNode): boolean {\n  if (a.type !== 'command' || b.type !== 'command') return false;\n  const cmdA = a as CommandNode;\n  const cmdB = b as CommandNode;\n\n  // Both implicit me (no explicit target)\n  if (!cmdA.target && !cmdB.target) return true;\n\n  // Both have explicit targets — check structural equality\n  if (cmdA.target && cmdB.target) {\n    return getTargetKey(cmdA.target) === getTargetKey(cmdB.target);\n  }\n\n  // One has target, one doesn't — different\n  return false;\n}\n\n/**\n * Get a string key for a target node for equality comparison.\n * Only supports selector and identifier targets (the common cases).\n */\nfunction getTargetKey(target: ASTNode): string | null {\n  if (target.type === 'selector') {\n    return `selector:${(target as SelectorNode).value}`;\n  }\n  if (target.type === 'identifier') {\n    return `identifier:${(target as { value: string }).value}`;\n  }\n  return null;\n}\n\n/**\n * Resolve the target expression string for codegen.\n * Converts selector/identifier targets to JavaScript expressions.\n */\nfunction resolveTarget(cmd: CommandNode): string {\n  if (!cmd.target) return '_ctx.me';\n\n  if (cmd.target.type === 'selector') {\n    const sel = (cmd.target as SelectorNode).value;\n    if (sel.startsWith('#') && !sel.includes(' ') && !sel.includes('.')) {\n      return `document.getElementById('${sel.slice(1)}')`;\n    }\n    return `document.querySelector('${sel}')`;\n  }\n\n  if (cmd.target.type === 'identifier') {\n    const val = (cmd.target as { value: string }).value;\n    if (val === 'me') return '_ctx.me';\n    return val;\n  }\n\n  return '_ctx.me';\n}\n\n/**\n * Create a BatchedClassOpsNode from a run of class commands.\n */\nfunction createBatchNode(run: ASTNode[]): BatchedClassOpsNode {\n  const adds: string[] = [];\n  const removes: string[] = [];\n  const toggles: string[] = [];\n\n  for (const node of run) {\n    const op = extractClassOp(node)!;\n    switch (op.command) {\n      case 'add':\n        adds.push(op.className);\n        break;\n      case 'remove':\n        removes.push(op.className);\n        break;\n      case 'toggle':\n        toggles.push(op.className);\n        break;\n    }\n  }\n\n  // Resolve target from the first command (all commands in a run share the same target)\n  const target = resolveTarget(run[0] as CommandNode);\n\n  return {\n    type: 'batchedClassOps',\n    target,\n    adds,\n    removes,\n    toggles,\n  };\n}\n\n/**\n * Process a body array, batching consecutive class operations on the same target.\n */\nfunction batchBody(nodes: ASTNode[]): ASTNode[] {\n  const result: ASTNode[] = [];\n  let currentRun: ASTNode[] = [];\n\n  function flushRun() {\n    if (currentRun.length >= 2) {\n      result.push(createBatchNode(currentRun));\n    } else if (currentRun.length === 1) {\n      result.push(currentRun[0]);\n    }\n    currentRun = [];\n  }\n\n  for (const node of nodes) {\n    const op = extractClassOp(node);\n    if (op) {\n      // This is a class op — check if it matches the current run's target\n      if (currentRun.length > 0 && isSameTarget(currentRun[0], node)) {\n        currentRun.push(node);\n      } else {\n        flushRun();\n        currentRun = [node];\n      }\n    } else {\n      flushRun();\n      result.push(node);\n    }\n  }\n\n  flushRun();\n  return result;\n}\n\n/**\n * Recursively walk the AST and batch class operations in all body arrays.\n */\nfunction walkAndBatch(node: ASTNode): ASTNode {\n  switch (node.type) {\n    case 'event': {\n      const event = node as EventHandlerNode;\n      if (event.body && event.body.length > 0) {\n        return { ...event, body: batchBody(event.body).map(walkAndBatch) };\n      }\n      return node;\n    }\n    case 'if': {\n      const ifNode = node as IfNode;\n      const result: Record<string, unknown> = { ...ifNode };\n      result.thenBranch = batchBody(ifNode.thenBranch).map(walkAndBatch);\n      if (ifNode.elseBranch) {\n        result.elseBranch = batchBody(ifNode.elseBranch).map(walkAndBatch);\n      }\n      if (ifNode.elseIfBranches) {\n        result.elseIfBranches = ifNode.elseIfBranches.map(branch => ({\n          condition: branch.condition,\n          body: batchBody(branch.body).map(walkAndBatch),\n        }));\n      }\n      return result as ASTNode;\n    }\n    case 'repeat': {\n      const repeat = node as RepeatNode;\n      return { ...repeat, body: batchBody(repeat.body).map(walkAndBatch) } as ASTNode;\n    }\n    case 'foreach': {\n      const forEach = node as ForEachNode;\n      return { ...forEach, body: batchBody(forEach.body).map(walkAndBatch) } as ASTNode;\n    }\n    case 'while': {\n      const whileNode = node as WhileNode;\n      return { ...whileNode, body: batchBody(whileNode.body).map(walkAndBatch) } as ASTNode;\n    }\n    default:\n      return node;\n  }\n}\n\n/**\n * Optimization pass that batches consecutive class manipulation commands\n * targeting the same element into single compound DOM operations.\n */\nexport class ClassBatchingPass implements OptimizationPass {\n  readonly name = 'class-batching';\n\n  shouldRun(analysis: AnalysisResult): boolean {\n    // Only run if at least one class manipulation command is used\n    return (\n      analysis.commandsUsed.has('add') ||\n      analysis.commandsUsed.has('remove') ||\n      analysis.commandsUsed.has('toggle')\n    );\n  }\n\n  transform(ast: ASTNode, _analysis: AnalysisResult): ASTNode {\n    return walkAndBatch(ast);\n  }\n}\n","/**\n * Optimization Passes\n *\n * AST optimization passes that run before code generation.\n */\n\nimport type {\n  ASTNode,\n  CommandNode,\n  OptimizationPass,\n  OptimizedAST,\n  AnalysisResult,\n  BinaryExpressionNode,\n  LiteralNode,\n  RepeatNode,\n  SelectorNode,\n  SequenceNode,\n} from '../types/aot-types.js';\nimport { ClassBatchingPass } from './class-batching.js';\n\n// =============================================================================\n// CONSTANT FOLDING PASS\n// =============================================================================\n\n/**\n * Evaluates constant expressions at compile time.\n *\n * Examples:\n *   5 + 3 → 8\n *   \"hello\" & \" world\" → \"hello world\"\n *   true and false → false\n */\nexport class ConstantFoldingPass implements OptimizationPass {\n  readonly name = 'constant-folding';\n\n  shouldRun(analysis: AnalysisResult): boolean {\n    // Run if there are pure expressions\n    return analysis.expressions.pure.length > 0;\n  }\n\n  transform(ast: ASTNode, _analysis: AnalysisResult): ASTNode {\n    return this.foldNode(ast);\n  }\n\n  private foldNode(node: ASTNode): ASTNode {\n    if (!node) return node;\n\n    // Process children first (bottom-up)\n    const processed = this.processChildren(node);\n\n    // Try to fold binary expressions\n    if (processed.type === 'binary') {\n      return this.foldBinary(processed as BinaryExpressionNode);\n    }\n\n    return processed;\n  }\n\n  private processChildren(node: ASTNode): ASTNode {\n    const result: Record<string, unknown> = { ...node };\n\n    for (const key of Object.keys(node)) {\n      const value = node[key];\n\n      if (Array.isArray(value)) {\n        result[key] = value.map(item =>\n          item && typeof item === 'object' && 'type' in item ? this.foldNode(item as ASTNode) : item\n        );\n      } else if (value && typeof value === 'object' && 'type' in value) {\n        result[key] = this.foldNode(value as ASTNode);\n      }\n    }\n\n    return result as ASTNode;\n  }\n\n  private foldBinary(node: BinaryExpressionNode): ASTNode {\n    const left = node.left;\n    const right = node.right;\n\n    // Both must be literals to fold\n    if (left.type !== 'literal' || right.type !== 'literal') {\n      return node;\n    }\n\n    const leftVal = (left as LiteralNode).value;\n    const rightVal = (right as LiteralNode).value;\n\n    let result: unknown;\n\n    switch (node.operator) {\n      // Arithmetic\n      case '+':\n        if (typeof leftVal === 'number' && typeof rightVal === 'number') {\n          result = leftVal + rightVal;\n        }\n        break;\n      case '-':\n        if (typeof leftVal === 'number' && typeof rightVal === 'number') {\n          result = leftVal - rightVal;\n        }\n        break;\n      case '*':\n        if (typeof leftVal === 'number' && typeof rightVal === 'number') {\n          result = leftVal * rightVal;\n        }\n        break;\n      case '/':\n        if (typeof leftVal === 'number' && typeof rightVal === 'number' && rightVal !== 0) {\n          result = leftVal / rightVal;\n        }\n        break;\n      case '%':\n        if (typeof leftVal === 'number' && typeof rightVal === 'number' && rightVal !== 0) {\n          result = leftVal % rightVal;\n        }\n        break;\n\n      // String concatenation\n      case '&':\n        result = String(leftVal) + String(rightVal);\n        break;\n\n      // Logical\n      case 'and':\n      case '&&':\n        result = leftVal && rightVal;\n        break;\n      case 'or':\n      case '||':\n        result = leftVal || rightVal;\n        break;\n\n      // Comparison\n      case 'is':\n      case '==':\n        result = leftVal === rightVal;\n        break;\n      case 'is not':\n      case '!=':\n        result = leftVal !== rightVal;\n        break;\n      case '<':\n        if (typeof leftVal === 'number' && typeof rightVal === 'number') {\n          result = leftVal < rightVal;\n        }\n        break;\n      case '>':\n        if (typeof leftVal === 'number' && typeof rightVal === 'number') {\n          result = leftVal > rightVal;\n        }\n        break;\n      case '<=':\n        if (typeof leftVal === 'number' && typeof rightVal === 'number') {\n          result = leftVal <= rightVal;\n        }\n        break;\n      case '>=':\n        if (typeof leftVal === 'number' && typeof rightVal === 'number') {\n          result = leftVal >= rightVal;\n        }\n        break;\n    }\n\n    if (result !== undefined) {\n      return {\n        type: 'literal',\n        value: result,\n      } as LiteralNode;\n    }\n\n    return node;\n  }\n}\n\n// =============================================================================\n// SELECTOR CACHING PASS\n// =============================================================================\n\n/**\n * Identifies selectors that are used multiple times and marks them for caching.\n *\n * This pass adds metadata to selector nodes that the code generator can use\n * to generate cached selector lookups.\n */\nexport class SelectorCachingPass implements OptimizationPass {\n  readonly name = 'selector-caching';\n\n  shouldRun(analysis: AnalysisResult): boolean {\n    // Run if there are multiple selector usages\n    return analysis.expressions.selectors.some(s => s.usages.length > 1 && s.canCache);\n  }\n\n  transform(ast: ASTNode, analysis: AnalysisResult): ASTNode {\n    // Build set of selectors to cache\n    const selectorsToCache = new Set<string>();\n\n    for (const info of analysis.expressions.selectors) {\n      if (info.usages.length > 1 && info.canCache) {\n        selectorsToCache.add(info.selector);\n      }\n    }\n\n    if (selectorsToCache.size === 0) {\n      return ast;\n    }\n\n    // Mark selector nodes for caching\n    return this.markSelectors(ast, selectorsToCache);\n  }\n\n  private markSelectors(node: ASTNode, toCache: Set<string>): ASTNode {\n    if (!node) return node;\n\n    // Mark selector nodes\n    if (node.type === 'selector') {\n      const selector = (node as SelectorNode).value;\n      if (toCache.has(selector)) {\n        return {\n          ...node,\n          _cached: true,\n          _cacheKey: this.generateCacheKey(selector),\n        };\n      }\n      return node;\n    }\n\n    // Process children\n    const result: Record<string, unknown> = { ...node };\n\n    for (const key of Object.keys(node)) {\n      const value = node[key];\n\n      if (Array.isArray(value)) {\n        result[key] = value.map(item =>\n          item && typeof item === 'object' && 'type' in item\n            ? this.markSelectors(item as ASTNode, toCache)\n            : item\n        );\n      } else if (value && typeof value === 'object' && 'type' in value) {\n        result[key] = this.markSelectors(value as ASTNode, toCache);\n      }\n    }\n\n    return result as ASTNode;\n  }\n\n  private generateCacheKey(selector: string): string {\n    // Generate a short cache key from the selector\n    return (\n      '_sel_' +\n      selector\n        .replace(/[^a-zA-Z0-9]/g, '_')\n        .replace(/_+/g, '_')\n        .slice(0, 20)\n    );\n  }\n}\n\n// =============================================================================\n// DEAD CODE ELIMINATION PASS\n// =============================================================================\n\n/**\n * Removes unreachable code after halt, exit, return, or throw.\n */\nexport class DeadCodeEliminationPass implements OptimizationPass {\n  readonly name = 'dead-code-elimination';\n\n  shouldRun(analysis: AnalysisResult): boolean {\n    // Run if there are control flow statements\n    return analysis.controlFlow.canThrow;\n  }\n\n  transform(ast: ASTNode, _analysis: AnalysisResult): ASTNode {\n    return this.eliminateDeadCode(ast) as ASTNode;\n  }\n\n  private eliminateDeadCode(node: ASTNode | ASTNode[]): ASTNode | ASTNode[] {\n    if (!node) return node;\n\n    // Process arrays (command sequences)\n    if (Array.isArray(node)) {\n      return this.eliminateFromArray(node);\n    }\n\n    // Process body arrays in nodes\n    const result: Record<string, unknown> = { ...node };\n\n    for (const key of ['body', 'thenBranch', 'elseBranch']) {\n      const value = node[key];\n      if (Array.isArray(value)) {\n        result[key] = this.eliminateFromArray(value as ASTNode[]);\n      }\n    }\n\n    // Process children\n    for (const key of Object.keys(node)) {\n      if (['body', 'thenBranch', 'elseBranch'].includes(key)) continue;\n\n      const value = node[key];\n      if (value && typeof value === 'object' && 'type' in value) {\n        result[key] = this.eliminateDeadCode(value as ASTNode);\n      }\n    }\n\n    return result as ASTNode;\n  }\n\n  private eliminateFromArray(nodes: ASTNode[]): ASTNode[] {\n    const result: ASTNode[] = [];\n\n    for (const node of nodes) {\n      const processed = this.eliminateDeadCode(node);\n      result.push(processed as ASTNode);\n\n      // Check if this terminates execution\n      if (this.isTerminator(node)) {\n        // Everything after this is dead code\n        break;\n      }\n    }\n\n    return result;\n  }\n\n  private isTerminator(node: ASTNode): boolean {\n    if (node.type === 'command') {\n      return ['halt', 'exit', 'return', 'throw'].includes((node as CommandNode).name);\n    }\n    return false;\n  }\n}\n\n// =============================================================================\n// LOOP UNROLLING PASS\n// =============================================================================\n\n/**\n * Unrolls small fixed-count loops.\n *\n * Example:\n *   repeat 3 times add .active end\n * Becomes:\n *   add .active\n *   add .active\n *   add .active\n */\nexport class LoopUnrollingPass implements OptimizationPass {\n  readonly name = 'loop-unrolling';\n\n  private maxUnrollCount = 5;\n\n  shouldRun(analysis: AnalysisResult): boolean {\n    return analysis.controlFlow.hasLoops;\n  }\n\n  transform(ast: ASTNode, _analysis: AnalysisResult): ASTNode {\n    return this.unrollLoops(ast);\n  }\n\n  private unrollLoops(node: ASTNode): ASTNode {\n    if (!node) return node;\n\n    // Check if this is an unrollable repeat\n    if (node.type === 'repeat') {\n      const unrolled = this.tryUnroll(node);\n      if (unrolled) {\n        return unrolled;\n      }\n    }\n\n    // Process children\n    const result: Record<string, unknown> = { ...node };\n\n    for (const key of Object.keys(node)) {\n      const value = node[key];\n\n      if (Array.isArray(value)) {\n        result[key] = value.map(item =>\n          item && typeof item === 'object' && 'type' in item\n            ? this.unrollLoops(item as ASTNode)\n            : item\n        );\n      } else if (value && typeof value === 'object' && 'type' in value) {\n        result[key] = this.unrollLoops(value as ASTNode);\n      }\n    }\n\n    return result as ASTNode;\n  }\n\n  private tryUnroll(node: ASTNode): ASTNode | null {\n    const repeatNode = node as RepeatNode;\n\n    // Must have a fixed numeric count\n    if (typeof repeatNode.count !== 'number') {\n      return null;\n    }\n\n    const count = repeatNode.count;\n    const body = repeatNode.body ?? [];\n\n    // Don't unroll if too many iterations\n    if (count > this.maxUnrollCount) {\n      return null;\n    }\n\n    // Don't unroll if body is too large\n    if (body.length > 3) {\n      return null;\n    }\n\n    // Don't unroll if body uses 'index' variable\n    if (this.usesIndex(body)) {\n      return null;\n    }\n\n    // Unroll: create sequence of body copies\n    const unrolled: ASTNode[] = [];\n    for (let i = 0; i < count; i++) {\n      unrolled.push(...this.cloneBody(body));\n    }\n\n    return {\n      type: 'sequence',\n      commands: unrolled,\n      _unrolled: true,\n    } as SequenceNode;\n  }\n\n  private usesIndex(nodes: ASTNode[]): boolean {\n    for (const node of nodes) {\n      if (this.nodeUsesIndex(node)) {\n        return true;\n      }\n    }\n    return false;\n  }\n\n  private nodeUsesIndex(node: ASTNode): boolean {\n    if (!node) return false;\n\n    // Check identifiers\n    if (node.type === 'identifier') {\n      if (node.value === 'index' || node.value === ':index') {\n        return true;\n      }\n    }\n    if (node.type === 'variable') {\n      if (node.name === 'index' || node.name === ':index') {\n        return true;\n      }\n    }\n\n    // Check children\n    for (const key of Object.keys(node)) {\n      const value = node[key];\n      if (Array.isArray(value)) {\n        for (const item of value) {\n          if (item && typeof item === 'object' && 'type' in item) {\n            if (this.nodeUsesIndex(item as ASTNode)) {\n              return true;\n            }\n          }\n        }\n      } else if (value && typeof value === 'object' && 'type' in value) {\n        if (this.nodeUsesIndex(value as ASTNode)) {\n          return true;\n        }\n      }\n    }\n\n    return false;\n  }\n\n  private cloneBody(nodes: ASTNode[]): ASTNode[] {\n    return JSON.parse(JSON.stringify(nodes));\n  }\n}\n\n// =============================================================================\n// OPTIMIZATION PIPELINE\n// =============================================================================\n\n/**\n * Runs all optimization passes on an AST.\n */\nexport class OptimizationPipeline {\n  private passes: OptimizationPass[] = [\n    new ConstantFoldingPass(),\n    new SelectorCachingPass(),\n    new DeadCodeEliminationPass(),\n    new ClassBatchingPass(),\n    new LoopUnrollingPass(),\n  ];\n\n  /**\n   * Run all applicable optimizations on the AST.\n   */\n  optimize(ast: ASTNode, analysis: AnalysisResult, level: 0 | 1 | 2 = 2): OptimizedAST {\n    if (level === 0) {\n      return ast as OptimizedAST;\n    }\n\n    let current = ast;\n    const appliedOptimizations: string[] = [];\n\n    const passesToRun =\n      level === 1\n        ? this.passes.slice(0, 2) // Basic: constant folding and selector caching\n        : this.passes; // Full: all passes\n\n    for (const pass of passesToRun) {\n      if (pass.shouldRun(analysis)) {\n        current = pass.transform(current, analysis);\n        appliedOptimizations.push(pass.name);\n      }\n    }\n\n    return {\n      ...current,\n      _optimizations: appliedOptimizations,\n    } as OptimizedAST;\n  }\n\n  /**\n   * Add a custom optimization pass.\n   */\n  addPass(pass: OptimizationPass): void {\n    this.passes.push(pass);\n  }\n}\n\n// =============================================================================\n// CONVENIENCE EXPORTS\n// =============================================================================\n\n/**\n * Create a default optimization pipeline.\n */\nexport function createOptimizer(): OptimizationPipeline {\n  return /*#__PURE__*/ new OptimizationPipeline();\n}\n\n/**\n * Optimize an AST with default settings.\n */\nexport function optimize(\n  ast: ASTNode,\n  analysis: AnalysisResult,\n  level: 0 | 1 | 2 = 2\n): OptimizedAST {\n  const pipeline = new OptimizationPipeline();\n  return pipeline.optimize(ast, analysis, level);\n}\n\nexport default OptimizationPipeline;\n","/**\n * Init Block Pre-Rendering\n *\n * Analyzes init blocks for pure/static DOM writes and applies them directly\n * to the HTML template at build time, eliminating flash-of-empty-content.\n *\n * Pure commands are those that:\n * - Write to the DOM (put, add class, remove class, set attribute)\n * - Target a statically-known #id selector\n * - Use literal values (not variables, expressions, or function calls)\n *\n * Pre-rendered commands are stripped from the init block in the output HTML.\n * Impure commands remain for normal runtime execution.\n */\n\nimport type {\n  ASTNode,\n  CommandNode,\n  SelectorNode,\n  LiteralNode,\n  PreRenderResult,\n} from '../types/aot-types.js';\n\n// =============================================================================\n// PURITY ANALYSIS\n// =============================================================================\n\n/**\n * A command classified as pure and safe to pre-render.\n */\nexport interface PureCommand {\n  type: 'addClass' | 'removeClass' | 'putContent' | 'setAttribute';\n  /** CSS ID selector target (without #) */\n  targetId: string;\n  /** Value to apply */\n  value: string;\n  /** For setAttribute: attribute name */\n  attrName?: string;\n}\n\n/**\n * Classify a command as pure (pre-renderable) or impure.\n * Only #id targets are supported — class/complex selectors are left for runtime.\n */\nexport function classifyCommand(node: ASTNode): PureCommand | null {\n  if (node.type !== 'command') return null;\n  const cmd = node as CommandNode;\n\n  switch (cmd.name) {\n    case 'add':\n      return classifyAddCommand(cmd);\n    case 'remove':\n      return classifyRemoveCommand(cmd);\n    case 'put':\n      return classifyPutCommand(cmd);\n    case 'set':\n      return classifySetCommand(cmd);\n    default:\n      return null;\n  }\n}\n\nfunction getIdTarget(cmd: CommandNode): string | null {\n  if (!cmd.target) return null;\n  if (cmd.target.type !== 'selector') return null;\n  const sel = (cmd.target as SelectorNode).value;\n  if (!sel.startsWith('#')) return null;\n  return sel.slice(1);\n}\n\nfunction classifyAddCommand(cmd: CommandNode): PureCommand | null {\n  const targetId = getIdTarget(cmd);\n  if (!targetId) return null;\n\n  const args = cmd.args ?? [];\n  if (args.length === 0) return null;\n\n  const arg = args[0];\n  if (arg.type !== 'selector') return null;\n  const val = (arg as SelectorNode).value;\n  if (!val.startsWith('.')) return null;\n\n  return { type: 'addClass', targetId, value: val.slice(1) };\n}\n\nfunction classifyRemoveCommand(cmd: CommandNode): PureCommand | null {\n  const targetId = getIdTarget(cmd);\n  if (!targetId) return null;\n\n  const args = cmd.args ?? [];\n  if (args.length === 0) return null;\n\n  const arg = args[0];\n  if (arg.type !== 'selector') return null;\n  const val = (arg as SelectorNode).value;\n  if (!val.startsWith('.')) return null;\n\n  return { type: 'removeClass', targetId, value: val.slice(1) };\n}\n\nfunction classifyPutCommand(cmd: CommandNode): PureCommand | null {\n  const targetId = getIdTarget(cmd);\n  if (!targetId) return null;\n\n  const args = cmd.args ?? [];\n  if (args.length === 0) return null;\n\n  const arg = args[0];\n  if (arg.type !== 'literal') return null;\n  const val = (arg as LiteralNode).value;\n  if (typeof val !== 'string') return null;\n\n  return { type: 'putContent', targetId, value: val };\n}\n\nfunction classifySetCommand(cmd: CommandNode): PureCommand | null {\n  // Only support set @attr to 'value' form\n  const targetId = getIdTarget(cmd);\n  if (!targetId) return null;\n\n  const args = cmd.args ?? [];\n  if (args.length < 2) return null;\n\n  // First arg should be identifier starting with @\n  const attrArg = args[0];\n  if (attrArg.type !== 'identifier') return null;\n  const attrValue = (attrArg as { value?: string }).value;\n  if (!attrValue || !attrValue.startsWith('@')) return null;\n  const attrName = attrValue.slice(1);\n\n  // Second arg should be literal value\n  const valArg = args[1];\n  if (valArg.type !== 'literal') return null;\n  const val = (valArg as LiteralNode).value;\n  if (typeof val !== 'string' && typeof val !== 'number') return null;\n\n  return { type: 'setAttribute', targetId, value: String(val), attrName };\n}\n\n/**\n * Classify all commands in an init block as pure or impure.\n */\nexport function classifyInitCommands(commands: ASTNode[]): {\n  pure: { index: number; command: PureCommand }[];\n  impure: { index: number; node: ASTNode }[];\n} {\n  const pure: { index: number; command: PureCommand }[] = [];\n  const impure: { index: number; node: ASTNode }[] = [];\n\n  for (let i = 0; i < commands.length; i++) {\n    const classified = classifyCommand(commands[i]);\n    if (classified) {\n      pure.push({ index: i, command: classified });\n    } else {\n      impure.push({ index: i, node: commands[i] });\n    }\n  }\n\n  return { pure, impure };\n}\n\n// =============================================================================\n// HTML MUTATION\n// =============================================================================\n\n/**\n * Apply a pure command to an HTML string, modifying the target element in-place.\n * Returns the modified HTML, or the original if the target element was not found.\n */\nexport function applyPureCommand(html: string, cmd: PureCommand): string {\n  switch (cmd.type) {\n    case 'addClass':\n      return addClassToElement(html, cmd.targetId, cmd.value);\n    case 'removeClass':\n      return removeClassFromElement(html, cmd.targetId, cmd.value);\n    case 'putContent':\n      return putContentIntoElement(html, cmd.targetId, cmd.value);\n    case 'setAttribute':\n      return setAttributeOnElement(html, cmd.targetId, cmd.attrName!, cmd.value);\n    default:\n      return html;\n  }\n}\n\n/**\n * Find an element by ID in HTML and apply a transform to its opening tag.\n * Returns original HTML if element not found.\n */\nfunction transformElementById(\n  html: string,\n  id: string,\n  transform: (openingTag: string) => string\n): string {\n  // Match opening tag containing id=\"<id>\"\n  const idPattern = new RegExp(`(<[^>]*\\\\bid=[\"']${escapeRegExp(id)}[\"'][^>]*>)`, 'i');\n  const match = html.match(idPattern);\n  if (!match) return html;\n\n  return html.replace(match[1], transform(match[1]));\n}\n\nfunction addClassToElement(html: string, id: string, className: string): string {\n  return transformElementById(html, id, tag => {\n    const classMatch = tag.match(/\\bclass=[\"']([^\"']*)[\"']/i);\n    if (classMatch) {\n      const existing = classMatch[1];\n      const classes = existing.split(/\\s+/).filter(Boolean);\n      if (!classes.includes(className)) {\n        classes.push(className);\n      }\n      return tag.replace(classMatch[0], `class=\"${classes.join(' ')}\"`);\n    }\n    // No existing class attribute — add one before the closing >\n    return tag.replace(/>$/, ` class=\"${className}\">`);\n  });\n}\n\nfunction removeClassFromElement(html: string, id: string, className: string): string {\n  return transformElementById(html, id, tag => {\n    const classMatch = tag.match(/\\bclass=[\"']([^\"']*)[\"']/i);\n    if (!classMatch) return tag;\n    const classes = classMatch[1].split(/\\s+/).filter(c => c !== className);\n    if (classes.length === 0) {\n      return tag.replace(classMatch[0], '').replace(/\\s+>/, '>');\n    }\n    return tag.replace(classMatch[0], `class=\"${classes.join(' ')}\"`);\n  });\n}\n\nfunction putContentIntoElement(html: string, id: string, content: string): string {\n  // Match opening tag, then capture everything until matching closing tag\n  const idPattern = new RegExp(\n    `(<[a-zA-Z][^>]*\\\\bid=[\"']${escapeRegExp(id)}[\"'][^>]*>)((?:(?!<\\\\/[a-zA-Z]).)*?)(<\\\\/[a-zA-Z][^>]*>)`,\n    'is'\n  );\n  const match = html.match(idPattern);\n  if (!match) return html;\n\n  return html.replace(match[0], `${match[1]}${escapeHtml(content)}${match[3]}`);\n}\n\nfunction setAttributeOnElement(html: string, id: string, attrName: string, value: string): string {\n  return transformElementById(html, id, tag => {\n    const attrPattern = new RegExp(`\\\\b${escapeRegExp(attrName)}=[\"'][^\"']*[\"']`, 'i');\n    const attrMatch = tag.match(attrPattern);\n    if (attrMatch) {\n      return tag.replace(attrMatch[0], `${attrName}=\"${escapeHtml(value)}\"`);\n    }\n    return tag.replace(/>$/, ` ${attrName}=\"${escapeHtml(value)}\">`);\n  });\n}\n\n// =============================================================================\n// UTILITIES\n// =============================================================================\n\nfunction escapeRegExp(str: string): string {\n  return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\nfunction escapeHtml(str: string): string {\n  return str\n    .replace(/&/g, '&amp;')\n    .replace(/</g, '&lt;')\n    .replace(/>/g, '&gt;')\n    .replace(/\"/g, '&quot;');\n}\n\n// =============================================================================\n// PUBLIC API\n// =============================================================================\n\n/**\n * Pre-render pure init commands into an HTML template.\n *\n * @param html - The HTML template string\n * @param initCommands - Parsed commands from an init block\n * @returns Modified HTML, remaining impure commands, and count of pre-rendered commands\n */\nexport function preRenderInitBlock(html: string, initCommands: ASTNode[]): PreRenderResult {\n  const { pure, impure } = classifyInitCommands(initCommands);\n\n  let modifiedHtml = html;\n  let preRenderedCount = 0;\n\n  for (const { command } of pure) {\n    const before = modifiedHtml;\n    modifiedHtml = applyPureCommand(modifiedHtml, command);\n    if (modifiedHtml !== before) {\n      preRenderedCount++;\n    }\n  }\n\n  return {\n    html: modifiedHtml,\n    remainingInitCommands: impure.map(i => i.node),\n    preRenderedCount,\n  };\n}\n","/**\n * Expression Transforms\n *\n * Transforms hyperscript expression AST nodes to JavaScript code.\n */\n\nimport type {\n  ASTNode,\n  CodegenContext,\n  LiteralNode,\n  IdentifierNode,\n  SelectorNode,\n  VariableNode,\n  BinaryExpressionNode,\n  UnaryExpressionNode,\n  MemberExpressionNode,\n  PossessiveNode,\n  CallExpressionNode,\n  PositionalNode,\n  ConditionalNode,\n  ArrayExpressionNode,\n  ObjectExpressionNode,\n  TemplateNode,\n} from '../types/aot-types.js';\n\n// =============================================================================\n// SANITIZATION UTILITIES\n// =============================================================================\n\n/**\n * Sanitize a class name for safe interpolation into JavaScript string literals.\n */\nexport function sanitizeClassName(name: string): string | null {\n  // CSS class names: must start with letter, underscore, or hyphen\n  // followed by letters, digits, underscores, or hyphens\n  if (!/^-?[a-zA-Z_][a-zA-Z0-9_-]*$/.test(name)) {\n    return null;\n  }\n  return name;\n}\n\n/**\n * Sanitize a CSS selector for safe interpolation into JavaScript string literals.\n */\nexport function sanitizeSelector(selector: string): string {\n  return selector\n    .replace(/\\\\/g, '\\\\\\\\')\n    .replace(/'/g, \"\\\\'\")\n    .replace(/\"/g, '\\\\\"')\n    .replace(/\\n/g, '\\\\n')\n    .replace(/\\r/g, '\\\\r')\n    .replace(/\\0/g, '');\n}\n\n/**\n * Sanitize an identifier for use as a JavaScript variable name.\n */\nexport function sanitizeIdentifier(name: string): string {\n  // Replace invalid characters with underscores\n  return name.replace(/[^a-zA-Z0-9_$]/g, '_');\n}\n\n// =============================================================================\n// EXPRESSION CODEGEN CLASS\n// =============================================================================\n\n/**\n * Code generator for expressions.\n */\nexport class ExpressionCodegen {\n  private ctx: CodegenContext;\n\n  constructor(ctx: CodegenContext) {\n    this.ctx = ctx;\n  }\n\n  /**\n   * Generate JavaScript code for an expression.\n   */\n  generate(node: ASTNode): string {\n    if (!node) {\n      return 'undefined';\n    }\n\n    switch (node.type) {\n      case 'literal':\n        return this.generateLiteral(node as LiteralNode);\n\n      case 'identifier':\n        return this.generateIdentifier(node as IdentifierNode);\n\n      case 'selector':\n        return this.generateSelector(node as SelectorNode);\n\n      case 'variable':\n        return this.generateVariable(node as VariableNode);\n\n      case 'binary':\n        return this.generateBinary(node as BinaryExpressionNode);\n\n      case 'member':\n        return this.generateMember(node as MemberExpressionNode);\n\n      case 'possessive':\n        return this.generatePossessive(node as PossessiveNode);\n\n      case 'call':\n        return this.generateCall(node as CallExpressionNode);\n\n      case 'positional':\n        return this.generatePositional(node as PositionalNode);\n\n      case 'array':\n        return this.generateArray(node);\n\n      case 'object':\n        return this.generateObject(node);\n\n      case 'template':\n        return this.generateTemplate(node);\n\n      case 'unary':\n        return this.generateUnary(node);\n\n      case 'conditional':\n        return this.generateConditional(node);\n\n      case 'sequence':\n        return 'undefined';\n\n      default:\n        // Unknown node type - return as-is if it has a value\n        if ('value' in node) {\n          return JSON.stringify(node.value);\n        }\n        throw new Error(`Unknown expression type: ${node.type}`);\n    }\n  }\n\n  // ===========================================================================\n  // LITERAL EXPRESSIONS\n  // ===========================================================================\n\n  private generateLiteral(node: LiteralNode): string {\n    const value = node.value;\n\n    if (value === null) {\n      return 'null';\n    }\n    if (value === undefined) {\n      return 'undefined';\n    }\n    if (typeof value === 'string') {\n      return JSON.stringify(value);\n    }\n    if (typeof value === 'number') {\n      return String(value);\n    }\n    if (typeof value === 'boolean') {\n      return String(value);\n    }\n\n    return JSON.stringify(value);\n  }\n\n  // ===========================================================================\n  // IDENTIFIER EXPRESSIONS\n  // ===========================================================================\n\n  private generateIdentifier(node: IdentifierNode): string {\n    const name = node.value ?? node.name ?? '';\n\n    // Context variables\n    switch (name) {\n      case 'me':\n      case 'my':\n        return '_ctx.me';\n      case 'you':\n      case 'your':\n        return '_ctx.you';\n      case 'it':\n      case 'result':\n        return '_ctx.it';\n      case 'event':\n        return '_ctx.event';\n      case 'body':\n        return 'document.body';\n      case 'document':\n        return 'document';\n      case 'window':\n        return 'window';\n      case 'true':\n        return 'true';\n      case 'false':\n        return 'false';\n      case 'null':\n        return 'null';\n      case 'undefined':\n        return 'undefined';\n      default:\n        // Check if it's a local variable reference\n        if (name.startsWith(':')) {\n          const varName = sanitizeIdentifier(name.slice(1));\n          return `_ctx.locals.get('${varName}')`;\n        }\n        // Global variable reference\n        if (name.startsWith('$') || name.startsWith('::')) {\n          const varName = sanitizeIdentifier(name.replace(/^(\\$|::)/, ''));\n          this.ctx.requireHelper('globals');\n          return `_rt.globals.get('${varName}')`;\n        }\n        // Plain identifier - assume it's defined elsewhere\n        return sanitizeIdentifier(name);\n    }\n  }\n\n  // ===========================================================================\n  // SELECTOR EXPRESSIONS\n  // ===========================================================================\n\n  private generateSelector(node: SelectorNode): string {\n    const selector = node.value;\n    const sanitized = sanitizeSelector(selector);\n\n    // Check if we can use a cached selector\n    if (this.ctx.canCacheSelector(selector)) {\n      return this.ctx.getCachedSelector(selector);\n    }\n\n    // ID selector optimization\n    if (selector.startsWith('#') && !selector.includes(' ') && !selector.includes('.')) {\n      const id = selector.slice(1);\n      return `document.getElementById('${sanitizeSelector(id)}')`;\n    }\n\n    // General selector\n    return `document.querySelector('${sanitized}')`;\n  }\n\n  // ===========================================================================\n  // VARIABLE EXPRESSIONS\n  // ===========================================================================\n\n  private generateVariable(node: VariableNode): string {\n    const name = node.name;\n    const varName = sanitizeIdentifier(\n      name.startsWith(':') || name.startsWith('$') ? name.slice(1) : name\n    );\n\n    switch (node.scope) {\n      case 'local':\n        return `_ctx.locals.get('${varName}')`;\n      case 'global':\n        this.ctx.requireHelper('globals');\n        return `_rt.globals.get('${varName}')`;\n      case 'element':\n        return `_ctx.me.${varName}`;\n      default:\n        return `_ctx.locals.get('${varName}')`;\n    }\n  }\n\n  // ===========================================================================\n  // BINARY EXPRESSIONS\n  // ===========================================================================\n\n  private generateBinary(node: BinaryExpressionNode): string {\n    const left = this.generate(node.left);\n    const right = this.generate(node.right);\n    const op = node.operator;\n\n    // Map hyperscript operators to JavaScript\n    switch (op) {\n      // Equality\n      case 'is':\n      case '==':\n        return `(${left} === ${right})`;\n      case 'is not':\n      case '!=':\n        return `(${left} !== ${right})`;\n\n      // Comparison\n      case '<':\n      case '>':\n      case '<=':\n      case '>=':\n        return `(${left} ${op} ${right})`;\n\n      // Arithmetic\n      case '+':\n      case '-':\n      case '*':\n      case '/':\n      case '%':\n        return `(${left} ${op} ${right})`;\n\n      // Logical\n      case 'and':\n      case '&&':\n        return `(${left} && ${right})`;\n      case 'or':\n      case '||':\n        return `(${left} || ${right})`;\n\n      // String/collection operators\n      case 'contains':\n        this.ctx.requireHelper('contains');\n        return `_rt.contains(${left}, ${right})`;\n\n      case 'matches':\n        this.ctx.requireHelper('matches');\n        return `_rt.matches(${left}, ${right})`;\n\n      case 'starts with':\n        return `${left}.startsWith(${right})`;\n\n      case 'ends with':\n        return `${left}.endsWith(${right})`;\n\n      // Class check\n      case 'has':\n        // \"element has .class\" pattern\n        if (node.right.type === 'selector') {\n          const sel = (node.right as SelectorNode).value;\n          if (sel.startsWith('.')) {\n            const className = sanitizeClassName(sel.slice(1));\n            if (className) {\n              return `${left}.classList.contains('${className}')`;\n            }\n          }\n        }\n        this.ctx.requireHelper('contains');\n        return `_rt.contains(${left}, ${right})`;\n\n      // Type check\n      case 'is a':\n      case 'is an':\n        return `(typeof ${left} === ${right} || ${left} instanceof ${right})`;\n\n      case 'is not a':\n      case 'is not an':\n        return `(typeof ${left} !== ${right} && !(${left} instanceof ${right}))`;\n\n      // Concatenation\n      case '&':\n        return `(String(${left}) + String(${right}))`;\n\n      default:\n        // Unknown operator - use as-is\n        return `(${left} ${op} ${right})`;\n    }\n  }\n\n  // ===========================================================================\n  // MEMBER EXPRESSIONS\n  // ===========================================================================\n\n  private generateMember(node: MemberExpressionNode): string {\n    const object = this.generate(node.object);\n\n    if (typeof node.property === 'string') {\n      const prop = node.property;\n\n      // Style property (*opacity, *color, etc.)\n      if (prop.startsWith('*')) {\n        const styleProp = prop.slice(1);\n        return `${object}.style.${styleProp}`;\n      }\n\n      // Attribute (@disabled, @checked, etc.)\n      if (prop.startsWith('@')) {\n        const attrName = prop.slice(1);\n        return `${object}.getAttribute('${sanitizeSelector(attrName)}')`;\n      }\n\n      // Computed property\n      if (node.computed) {\n        return `${object}[${JSON.stringify(prop)}]`;\n      }\n\n      return `${object}.${sanitizeIdentifier(prop)}`;\n    }\n\n    // Computed property with expression\n    const propExpr = this.generate(node.property as ASTNode);\n    return `${object}[${propExpr}]`;\n  }\n\n  // ===========================================================================\n  // POSSESSIVE EXPRESSIONS\n  // ===========================================================================\n\n  private generatePossessive(node: PossessiveNode): string {\n    const object = this.generate(node.object);\n    const property = node.property;\n\n    // Style property (*opacity, etc.)\n    if (property.startsWith('*')) {\n      const styleProp = property.slice(1);\n      return `${object}.style.${styleProp}`;\n    }\n\n    // Attribute (@disabled, etc.)\n    if (property.startsWith('@')) {\n      const attrName = property.slice(1);\n      return `${object}.getAttribute('${sanitizeSelector(attrName)}')`;\n    }\n\n    // Form values pseudo-property\n    if (property === 'values') {\n      this.ctx.requireHelper('getValues');\n      return `_rt.getValues(${object})`;\n    }\n\n    // Common DOM properties\n    const domProps = [\n      'value',\n      'textContent',\n      'innerHTML',\n      'innerText',\n      'outerHTML',\n      'checked',\n      'disabled',\n      'selected',\n      'hidden',\n      'src',\n      'href',\n      'id',\n      'className',\n      'classList',\n      'parentElement',\n      'parentNode',\n      'children',\n      'firstChild',\n      'lastChild',\n      'nextSibling',\n      'previousSibling',\n      'nextElementSibling',\n      'previousElementSibling',\n      'offsetWidth',\n      'offsetHeight',\n      'offsetTop',\n      'offsetLeft',\n      'clientWidth',\n      'clientHeight',\n      'scrollWidth',\n      'scrollHeight',\n      'scrollTop',\n      'scrollLeft',\n    ];\n\n    if (domProps.includes(property)) {\n      return `${object}.${property}`;\n    }\n\n    // General property access - try property first, then attribute\n    this.ctx.requireHelper('getProp');\n    return `_rt.getProp(${object}, '${sanitizeSelector(property)}')`;\n  }\n\n  // ===========================================================================\n  // CALL EXPRESSIONS\n  // ===========================================================================\n\n  private generateCall(node: CallExpressionNode): string {\n    const args = (node.args ?? []).map(arg => this.generate(arg)).join(', ');\n\n    // Method call\n    if (node.callee.type === 'member' || node.callee.type === 'possessive') {\n      const memberNode = node.callee as MemberExpressionNode | PossessiveNode;\n      const object = this.generate(memberNode.object);\n      const method =\n        typeof memberNode.property === 'string'\n          ? memberNode.property\n          : this.generate(memberNode.property as ASTNode);\n\n      if (typeof memberNode.property === 'string') {\n        return `${object}.${sanitizeIdentifier(memberNode.property)}(${args})`;\n      }\n      return `${object}[${method}](${args})`;\n    }\n\n    // Direct function call\n    const callee = this.generate(node.callee);\n    return `${callee}(${args})`;\n  }\n\n  // ===========================================================================\n  // POSITIONAL EXPRESSIONS\n  // ===========================================================================\n\n  private generatePositional(node: PositionalNode): string {\n    const position = node.position;\n    const target = node.target ? this.generate(node.target) : null;\n\n    switch (position) {\n      case 'first':\n        if (target) {\n          // first in collection\n          if (node.target?.type === 'selector') {\n            const sel = (node.target as SelectorNode).value;\n            return `document.querySelector('${sanitizeSelector(sel)}')`;\n          }\n          this.ctx.requireHelper('first');\n          return `_rt.first(${target})`;\n        }\n        return '_ctx.me';\n\n      case 'last':\n        if (target) {\n          if (node.target?.type === 'selector') {\n            const sel = (node.target as SelectorNode).value;\n            const sanitized = sanitizeSelector(sel);\n            return `(()=>{const _els=document.querySelectorAll('${sanitized}');return _els[_els.length-1]})()`;\n          }\n          this.ctx.requireHelper('last');\n          return `_rt.last(${target})`;\n        }\n        return '_ctx.me';\n\n      case 'random':\n        if (target) {\n          this.ctx.requireHelper('random');\n          return `_rt.random(${target})`;\n        }\n        return '_ctx.me';\n\n      case 'next':\n        return '_ctx.me.nextElementSibling';\n\n      case 'previous':\n        return '_ctx.me.previousElementSibling';\n\n      case 'closest':\n        if (target && node.target?.type === 'selector') {\n          const sel = (node.target as SelectorNode).value;\n          return `_ctx.me.closest('${sanitizeSelector(sel)}')`;\n        }\n        if (target) {\n          return `_ctx.me.closest(${target})`;\n        }\n        return '_ctx.me.parentElement';\n\n      case 'parent':\n        return '_ctx.me.parentElement';\n\n      default:\n        throw new Error(`Unknown positional: ${position}`);\n    }\n  }\n\n  // ===========================================================================\n  // ARRAY EXPRESSIONS\n  // ===========================================================================\n\n  private generateArray(node: ArrayExpressionNode): string {\n    const elements = node.elements ?? [];\n    const items = elements.map(el => this.generate(el)).join(', ');\n    return `[${items}]`;\n  }\n\n  // ===========================================================================\n  // OBJECT EXPRESSIONS\n  // ===========================================================================\n\n  private generateObject(node: ObjectExpressionNode): string {\n    const properties = node.properties ?? [];\n    const pairs = properties\n      .map(prop => {\n        const key =\n          typeof prop.key === 'string' ? JSON.stringify(prop.key) : this.generate(prop.key);\n        const value = this.generate(prop.value);\n        return `${key}: ${value}`;\n      })\n      .join(', ');\n    return `{${pairs}}`;\n  }\n\n  // ===========================================================================\n  // TEMPLATE EXPRESSIONS\n  // ===========================================================================\n\n  private generateTemplate(node: TemplateNode): string {\n    const parts = node.parts ?? [];\n    const segments = parts\n      .map(part => {\n        if (typeof part === 'string') {\n          return part.replace(/`/g, '\\\\`').replace(/\\$/g, '\\\\$');\n        }\n        return '${' + this.generate(part) + '}';\n      })\n      .join('');\n    return '`' + segments + '`';\n  }\n\n  // ===========================================================================\n  // UNARY EXPRESSIONS\n  // ===========================================================================\n\n  private generateUnary(node: UnaryExpressionNode): string {\n    const operand = this.generate(node.operand);\n\n    switch (node.operator) {\n      case 'not':\n      case '!':\n        return `!${operand}`;\n      case '-':\n        return `-${operand}`;\n      case '+':\n        return `+${operand}`;\n      case 'no':\n        return `!${operand}`;\n      default:\n        return `${node.operator}${operand}`;\n    }\n  }\n\n  // ===========================================================================\n  // CONDITIONAL EXPRESSIONS\n  // ===========================================================================\n\n  private generateConditional(node: ConditionalNode): string {\n    const condition = this.generate(node.condition);\n    const consequent = this.generate(node.consequent);\n    const alternate = this.generate(node.alternate);\n    return `(${condition} ? ${consequent} : ${alternate})`;\n  }\n}\n\n// =============================================================================\n// CONVENIENCE FUNCTION\n// =============================================================================\n\n/**\n * Generate JavaScript code for an expression.\n */\nexport function generateExpression(node: ASTNode, ctx: CodegenContext): string {\n  const codegen = new ExpressionCodegen(ctx);\n  return codegen.generate(node);\n}\n\nexport default ExpressionCodegen;\n","/**\n * Command Transforms\n *\n * Transforms hyperscript command AST nodes to JavaScript code.\n * Each command has a dedicated code generator.\n */\n\nimport type {\n  ASTNode,\n  CommandNode,\n  CodegenContext,\n  GeneratedExpression,\n  HtmlLiteralNode,\n  IdentifierNode,\n  LiteralNode,\n  SelectorNode,\n  VariableNode,\n  PossessiveNode,\n  IfNode,\n  RepeatNode,\n  ForEachNode,\n  WhileNode,\n} from '../types/aot-types.js';\nimport {\n  ExpressionCodegen,\n  sanitizeClassName,\n  sanitizeSelector,\n  sanitizeIdentifier,\n} from './expression-transforms.js';\n\n// =============================================================================\n// COMMAND CODEGEN INTERFACE\n// =============================================================================\n\n/**\n * Interface for command code generators.\n */\nexport interface CommandCodegen {\n  /** Command name this generator handles */\n  readonly command: string;\n\n  /** Generate JavaScript for this command */\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null;\n}\n\n// =============================================================================\n// COMMAND GENERATOR IMPLEMENTATIONS\n// =============================================================================\n\n/**\n * Toggle command: toggle .class [on target]\n */\nclass ToggleCodegen implements CommandCodegen {\n  readonly command = 'toggle';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    if (args.length === 0) return null;\n\n    const target = node.target ? ctx.generateExpression(node.target) : '_ctx.me';\n\n    const arg = args[0];\n\n    // Class toggle: .active\n    if (arg.type === 'selector') {\n      const selector = (arg as SelectorNode).value;\n      if (selector.startsWith('.')) {\n        const className = sanitizeClassName(selector.slice(1));\n        if (!className) return null;\n\n        if (target === '_ctx.me') {\n          return {\n            code: `_ctx.me.classList.toggle('${className}')`,\n            async: false,\n            sideEffects: true,\n          };\n        }\n\n        // Multiple elements\n        return {\n          code: `Array.from(document.querySelectorAll('${sanitizeSelector(selector.slice(1))}')).forEach(el => el.classList.toggle('${className}'))`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n    }\n\n    // Attribute toggle: @disabled\n    if (arg.type === 'identifier') {\n      const value = (arg as { value?: string }).value ?? '';\n      if (value.startsWith('@')) {\n        const attrName = value.slice(1);\n        ctx.requireHelper('toggleAttr');\n        return {\n          code: `_rt.toggleAttr(${target}, '${sanitizeSelector(attrName)}')`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n    }\n\n    // Generic toggle\n    ctx.requireHelper('toggle');\n    return {\n      code: `_rt.toggle(${ctx.generateExpression(arg)}, ${target})`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Add command: add .class [to target]\n */\nclass AddCodegen implements CommandCodegen {\n  readonly command = 'add';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    if (args.length === 0) return null;\n\n    const target = node.target ? ctx.generateExpression(node.target) : '_ctx.me';\n\n    const arg = args[0];\n\n    // Class add: .active\n    if (arg.type === 'selector') {\n      const selector = (arg as SelectorNode).value;\n      if (selector.startsWith('.')) {\n        const className = sanitizeClassName(selector.slice(1));\n        if (!className) return null;\n\n        if (target === '_ctx.me') {\n          return {\n            code: `_ctx.me.classList.add('${className}')`,\n            async: false,\n            sideEffects: true,\n          };\n        }\n\n        return {\n          code: `${target}.classList.add('${className}')`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n    }\n\n    // HTML element creation: <div.class/>\n    if (arg.type === 'htmlLiteral') {\n      const tagNode = arg as HtmlLiteralNode;\n      const tag = tagNode.tag ?? 'div';\n      const classes = tagNode.classes ?? [];\n      const id = tagNode.id;\n\n      let code = `(() => { const _el = document.createElement('${tag}');`;\n      if (classes.length > 0) {\n        code += ` _el.className = '${classes.join(' ')}';`;\n      }\n      if (id) {\n        code += ` _el.id = '${id}';`;\n      }\n      code += ` ${target}.appendChild(_el); return _el; })()`;\n\n      return { code, async: false, sideEffects: true };\n    }\n\n    // Attribute add\n    ctx.requireHelper('addClass');\n    return {\n      code: `_rt.addClass(${target}, ${ctx.generateExpression(arg)})`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Remove command: remove .class [from target] or remove element\n */\nclass RemoveCodegen implements CommandCodegen {\n  readonly command = 'remove';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n\n    // No args = remove the element itself\n    if (args.length === 0) {\n      const target = node.target ? ctx.generateExpression(node.target) : '_ctx.me';\n      return {\n        code: `${target}.remove()`,\n        async: false,\n        sideEffects: true,\n      };\n    }\n\n    const target = node.target ? ctx.generateExpression(node.target) : '_ctx.me';\n\n    const arg = args[0];\n\n    // Class remove: .active\n    if (arg.type === 'selector') {\n      const selector = (arg as SelectorNode).value;\n      if (selector.startsWith('.')) {\n        const className = sanitizeClassName(selector.slice(1));\n        if (!className) return null;\n\n        return {\n          code: `${target}.classList.remove('${className}')`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n    }\n\n    ctx.requireHelper('removeClass');\n    return {\n      code: `_rt.removeClass(${target}, ${ctx.generateExpression(arg)})`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Set command: set :var to value or set element's property to value\n */\nclass SetCodegen implements CommandCodegen {\n  readonly command = 'set';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const modifiers = node.modifiers as Record<string, ASTNode> | undefined;\n    const roles = node.roles;\n\n    // Resolve target and value from roles, modifiers, or args\n    const targetNode = roles?.destination ?? args[0];\n    const valueNode = roles?.patient ?? (modifiers?.to as ASTNode) ?? args[1];\n\n    if (!targetNode || !valueNode) return null;\n\n    const value = ctx.generateExpression(valueNode);\n\n    // Local variable: :varName\n    if (targetNode.type === 'variable') {\n      const varNode = targetNode as VariableNode;\n      const name = varNode.name.startsWith(':') ? varNode.name.slice(1) : varNode.name;\n      const safeName = sanitizeIdentifier(name);\n\n      if (varNode.scope === 'local') {\n        return {\n          code: `_ctx.locals.set('${safeName}', ${value})`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n\n      if (varNode.scope === 'global') {\n        ctx.requireHelper('globals');\n        return {\n          code: `_rt.globals.set('${safeName}', ${value})`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n    }\n\n    // Property assignment: element's property\n    if (targetNode.type === 'possessive') {\n      const possessive = targetNode as PossessiveNode;\n      const obj = ctx.generateExpression(possessive.object);\n      const prop = possessive.property;\n\n      // Style property\n      if (prop.startsWith('*')) {\n        const styleProp = prop.slice(1);\n        return {\n          code: `${obj}.style.${styleProp} = ${value}`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n\n      // Attribute\n      if (prop.startsWith('@')) {\n        const attrName = prop.slice(1);\n        return {\n          code: `${obj}.setAttribute('${sanitizeSelector(attrName)}', ${value})`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n\n      return {\n        code: `${obj}.${sanitizeIdentifier(prop)} = ${value}`,\n        async: false,\n        sideEffects: true,\n      };\n    }\n\n    // Member expression assignment\n    if (targetNode.type === 'member') {\n      const memberCode = ctx.generateExpression(targetNode);\n      return {\n        code: `${memberCode} = ${value}`,\n        async: false,\n        sideEffects: true,\n      };\n    }\n\n    return null;\n  }\n}\n\n/**\n * Put command: put value into/before/after target\n */\nclass PutCodegen implements CommandCodegen {\n  readonly command = 'put';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n    const modifiers = node.modifiers as Record<string, unknown> | undefined;\n\n    // Resolve content from roles or args\n    const contentNode = roles?.patient ?? args[0];\n    if (!contentNode) return null;\n\n    const content = ctx.generateExpression(contentNode as ASTNode);\n\n    // Resolve target: from roles, or from the modifier value, or from node.target\n    let target = '_ctx.me';\n    if (roles?.destination) {\n      target = ctx.generateExpression(roles.destination);\n    } else if (modifiers) {\n      // Semantic parser uses modifier keys as position: modifiers.into = target, modifiers.before = target\n      for (const key of ['into', 'before', 'after']) {\n        if (modifiers[key] && typeof modifiers[key] === 'object') {\n          target = ctx.generateExpression(modifiers[key] as ASTNode);\n          break;\n        }\n      }\n    }\n    if (target === '_ctx.me' && node.target) {\n      target = ctx.generateExpression(node.target);\n    }\n\n    // Detect position: from roles.method, modifier keys, or modifiers.position\n    let modifier = 'into';\n    if (roles?.method && (roles.method as { value?: unknown }).value) {\n      modifier = String((roles.method as { value?: unknown }).value);\n    } else if (modifiers) {\n      if (modifiers.before) modifier = 'before';\n      else if (modifiers.after) modifier = 'after';\n      else if (typeof modifiers.position === 'string') modifier = modifiers.position;\n    }\n\n    switch (modifier) {\n      case 'into':\n        return {\n          code: `${target}.innerHTML = ${content}`,\n          async: false,\n          sideEffects: true,\n        };\n      case 'before':\n        return {\n          code: `${target}.insertAdjacentHTML('beforebegin', ${content})`,\n          async: false,\n          sideEffects: true,\n        };\n      case 'after':\n        return {\n          code: `${target}.insertAdjacentHTML('afterend', ${content})`,\n          async: false,\n          sideEffects: true,\n        };\n      case 'at start of':\n      case 'start':\n        return {\n          code: `${target}.insertAdjacentHTML('afterbegin', ${content})`,\n          async: false,\n          sideEffects: true,\n        };\n      case 'at end of':\n      case 'end':\n        return {\n          code: `${target}.insertAdjacentHTML('beforeend', ${content})`,\n          async: false,\n          sideEffects: true,\n        };\n      default:\n        return {\n          code: `${target}.innerHTML = ${content}`,\n          async: false,\n          sideEffects: true,\n        };\n    }\n  }\n}\n\n/**\n * Show command: show [target]\n */\nclass ShowCodegen implements CommandCodegen {\n  readonly command = 'show';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression {\n    const target = node.target ? ctx.generateExpression(node.target) : '_ctx.me';\n\n    return {\n      code: `${target}.style.display = ''`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Hide command: hide [target]\n */\nclass HideCodegen implements CommandCodegen {\n  readonly command = 'hide';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression {\n    const target = node.target ? ctx.generateExpression(node.target) : '_ctx.me';\n\n    return {\n      code: `${target}.style.display = 'none'`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Focus command: focus [target]\n */\nclass FocusCodegen implements CommandCodegen {\n  readonly command = 'focus';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression {\n    const target = node.target ? ctx.generateExpression(node.target) : '_ctx.me';\n\n    return {\n      code: `${target}.focus()`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Blur command: blur [target]\n */\nclass BlurCodegen implements CommandCodegen {\n  readonly command = 'blur';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression {\n    const target = node.target ? ctx.generateExpression(node.target) : '_ctx.me';\n\n    return {\n      code: `${target}.blur()`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Log command: log value [, value2, ...]\n */\nclass LogCodegen implements CommandCodegen {\n  readonly command = 'log';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression {\n    const args = node.args ?? [];\n    const values = args.map(arg => ctx.generateExpression(arg)).join(', ');\n\n    return {\n      code: `console.log(${values || \"''\"})`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Wait command: wait 100ms or wait for event\n */\nclass WaitCodegen implements CommandCodegen {\n  readonly command = 'wait';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n\n    const arg = (roles?.duration ?? args[0]) as ASTNode | undefined;\n    if (!arg) return null;\n\n    // Duration wait: wait 100ms\n    if (arg.type === 'literal') {\n      const value = (arg as LiteralNode).value;\n      if (typeof value === 'number') {\n        ctx.requireHelper('wait');\n        return {\n          code: `await _rt.wait(${value})`,\n          async: true,\n          sideEffects: false,\n        };\n      }\n      // String duration like \"100ms\"\n      if (typeof value === 'string') {\n        const ms = parseDuration(value);\n        if (ms !== null) {\n          ctx.requireHelper('wait');\n          return {\n            code: `await _rt.wait(${ms})`,\n            async: true,\n            sideEffects: false,\n          };\n        }\n      }\n    }\n\n    // Expression duration\n    const duration = ctx.generateExpression(arg);\n    ctx.requireHelper('wait');\n    return {\n      code: `await _rt.wait(${duration})`,\n      async: true,\n      sideEffects: false,\n    };\n  }\n}\n\n/**\n * Fetch command: fetch url [as json/text/html]\n */\nclass FetchCodegen implements CommandCodegen {\n  readonly command = 'fetch';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n    const modifiers = node.modifiers as Record<string, unknown> | undefined;\n\n    // Resolve URL from roles or args\n    const urlNode = roles?.source ?? args[0];\n    if (!urlNode) return null;\n\n    const url = ctx.generateExpression(urlNode as ASTNode);\n\n    // Resolve response format from roles, modifiers (node or string)\n    let format = 'text';\n    if (roles?.responseType) {\n      const rt = roles.responseType as { value?: unknown; name?: string };\n      format = String(rt.name ?? rt.value ?? 'text');\n    } else if (modifiers?.as) {\n      const asVal = modifiers.as;\n      if (typeof asVal === 'string') {\n        format = asVal;\n      } else if (typeof asVal === 'object' && asVal !== null) {\n        format = String(\n          (asVal as { name?: string; value?: unknown }).name ??\n            (asVal as { value?: unknown }).value ??\n            'text'\n        );\n      }\n    }\n\n    switch (format) {\n      case 'json':\n        ctx.requireHelper('fetchJSON');\n        return {\n          code: `_ctx.it = await _rt.fetchJSON(${url})`,\n          async: true,\n          sideEffects: true,\n        };\n      case 'html':\n        ctx.requireHelper('fetchHTML');\n        return {\n          code: `_ctx.it = await _rt.fetchHTML(${url})`,\n          async: true,\n          sideEffects: true,\n        };\n      case 'text':\n      default:\n        ctx.requireHelper('fetchText');\n        return {\n          code: `_ctx.it = await _rt.fetchText(${url})`,\n          async: true,\n          sideEffects: true,\n        };\n    }\n  }\n}\n\n/**\n * Send/Trigger command: send eventName [to target]\n */\nclass SendCodegen implements CommandCodegen {\n  readonly command = 'send';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    if (args.length === 0) return null;\n\n    const eventName = ctx.generateExpression(args[0]);\n    const target = node.target ? ctx.generateExpression(node.target) : '_ctx.me';\n\n    const detail = args.length > 1 ? ctx.generateExpression(args[1]) : 'undefined';\n\n    ctx.requireHelper('send');\n    return {\n      code: `_rt.send(${target}, ${eventName}, ${detail})`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Increment command: increment :var [by amount]\n */\nclass IncrementCodegen implements CommandCodegen {\n  readonly command = 'increment';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n    const modifiers = node.modifiers as Record<string, unknown> | undefined;\n\n    const target = roles?.destination ?? roles?.patient ?? args[0];\n    if (!target) return null;\n\n    // Resolve amount from roles.quantity, modifiers.by, or args[1]\n    const amountNode = roles?.quantity ?? (modifiers?.by as ASTNode) ?? args[1];\n    const amount = amountNode ? ctx.generateExpression(amountNode as ASTNode) : '1';\n\n    if (target.type === 'variable') {\n      const varNode = target as VariableNode;\n      const name = varNode.name.startsWith(':') ? varNode.name.slice(1) : varNode.name;\n      const safeName = sanitizeIdentifier(name);\n\n      if (varNode.scope === 'local') {\n        return {\n          code: `_ctx.locals.set('${safeName}', (_ctx.locals.get('${safeName}') || 0) + ${amount})`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n\n      if (varNode.scope === 'global') {\n        ctx.requireHelper('globals');\n        return {\n          code: `_rt.globals.set('${safeName}', (_rt.globals.get('${safeName}') || 0) + ${amount})`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n    }\n\n    // Element textContent\n    const targetCode = ctx.generateExpression(target);\n    return {\n      code: `${targetCode}.textContent = (parseFloat(${targetCode}.textContent) || 0) + ${amount}`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Decrement command: decrement :var [by amount]\n */\nclass DecrementCodegen implements CommandCodegen {\n  readonly command = 'decrement';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n    const modifiers = node.modifiers as Record<string, unknown> | undefined;\n\n    const target = roles?.destination ?? roles?.patient ?? args[0];\n    if (!target) return null;\n\n    // Resolve amount from roles.quantity, modifiers.by, or args[1]\n    const amountNode = roles?.quantity ?? (modifiers?.by as ASTNode) ?? args[1];\n    const amount = amountNode ? ctx.generateExpression(amountNode as ASTNode) : '1';\n\n    if (target.type === 'variable') {\n      const varNode = target as VariableNode;\n      const name = varNode.name.startsWith(':') ? varNode.name.slice(1) : varNode.name;\n      const safeName = sanitizeIdentifier(name);\n\n      if (varNode.scope === 'local') {\n        return {\n          code: `_ctx.locals.set('${safeName}', (_ctx.locals.get('${safeName}') || 0) - ${amount})`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n\n      if (varNode.scope === 'global') {\n        ctx.requireHelper('globals');\n        return {\n          code: `_rt.globals.set('${safeName}', (_rt.globals.get('${safeName}') || 0) - ${amount})`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n    }\n\n    // Element textContent\n    const targetCode = ctx.generateExpression(target);\n    return {\n      code: `${targetCode}.textContent = (parseFloat(${targetCode}.textContent) || 0) - ${amount}`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Halt command: halt (prevents default and stops execution)\n */\nclass HaltCodegen implements CommandCodegen {\n  readonly command = 'halt';\n\n  generate(_node: CommandNode, ctx: CodegenContext): GeneratedExpression {\n    ctx.requireHelper('HALT');\n    return {\n      code: `throw _rt.HALT`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Exit command: exit (stops execution without preventing default)\n */\nclass ExitCodegen implements CommandCodegen {\n  readonly command = 'exit';\n\n  generate(_node: CommandNode, ctx: CodegenContext): GeneratedExpression {\n    ctx.requireHelper('EXIT');\n    return {\n      code: `throw _rt.EXIT`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Return command: return [value]\n */\nclass ReturnCodegen implements CommandCodegen {\n  readonly command = 'return';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression {\n    const args = node.args ?? [];\n    const value = args.length > 0 ? ctx.generateExpression(args[0]) : 'undefined';\n\n    return {\n      code: `return ${value}`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Call command: call function() or call behavior\n */\nclass CallCodegen implements CommandCodegen {\n  readonly command = 'call';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    if (args.length === 0) return null;\n\n    const fn = ctx.generateExpression(args[0]);\n    return {\n      code: fn,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Scroll command: scroll [to target] or scroll target into view\n */\nclass ScrollCodegen implements CommandCodegen {\n  readonly command = 'scroll';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression {\n    const target = node.target ? ctx.generateExpression(node.target) : '_ctx.me';\n\n    const behavior = (node.modifiers as { smooth?: boolean })?.smooth ? \"'smooth'\" : \"'auto'\";\n\n    return {\n      code: `${target}.scrollIntoView({ behavior: ${behavior} })`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Take command: take .class [from others]\n */\nclass TakeCodegen implements CommandCodegen {\n  readonly command = 'take';\n\n  generate(node: CommandNode, _ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    if (args.length === 0) return null;\n\n    const arg = args[0];\n    if (arg.type !== 'selector') return null;\n\n    const selector = (arg as SelectorNode).value;\n    if (!selector.startsWith('.')) return null;\n\n    const className = sanitizeClassName(selector.slice(1));\n    if (!className) return null;\n\n    // Remove from siblings, add to me\n    return {\n      code: `(() => { const _me = _ctx.me; _me.parentElement?.querySelectorAll('.${className}').forEach(el => el.classList.remove('${className}')); _me.classList.add('${className}'); })()`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n// =============================================================================\n// CONTROL FLOW GENERATORS\n// =============================================================================\n\n/**\n * Generate code for if/else statements.\n */\nexport function generateIf(\n  node: IfNode,\n  ctx: CodegenContext,\n  generateBody: (nodes: ASTNode[]) => string\n): string {\n  const exprCodegen = new ExpressionCodegen(ctx);\n  const condition = exprCodegen.generate(node.condition);\n  const thenBody = generateBody(node.thenBranch);\n\n  let code = `if (${condition}) {\\n${thenBody}\\n}`;\n\n  // Handle else-if branches\n  if (node.elseIfBranches) {\n    for (const branch of node.elseIfBranches) {\n      const branchCondition = exprCodegen.generate(branch.condition);\n      const branchBody = generateBody(branch.body);\n      code += ` else if (${branchCondition}) {\\n${branchBody}\\n}`;\n    }\n  }\n\n  // Handle else branch\n  if (node.elseBranch) {\n    const elseBody = generateBody(node.elseBranch);\n    code += ` else {\\n${elseBody}\\n}`;\n  }\n\n  return code;\n}\n\n/**\n * Generate code for repeat loops.\n */\nexport function generateRepeat(\n  node: RepeatNode,\n  ctx: CodegenContext,\n  generateBody: (nodes: ASTNode[]) => string\n): string {\n  const exprCodegen = new ExpressionCodegen(ctx);\n  const body = generateBody(node.body);\n\n  // Fixed count: repeat 5 times\n  if (node.count !== undefined) {\n    const count =\n      typeof node.count === 'number' ? String(node.count) : exprCodegen.generate(node.count);\n\n    return `for (let _i = 0; _i < ${count}; _i++) {\n  _ctx.locals.set('index', _i);\n${body}\n}`;\n  }\n\n  // While condition: repeat while condition\n  if (node.whileCondition) {\n    const condition = exprCodegen.generate(node.whileCondition);\n    return `while (${condition}) {\\n${body}\\n}`;\n  }\n\n  // Infinite loop (should have break inside)\n  return `while (true) {\\n${body}\\n}`;\n}\n\n/**\n * Generate code for for-each loops.\n */\nexport function generateForEach(\n  node: ForEachNode,\n  ctx: CodegenContext,\n  generateBody: (nodes: ASTNode[]) => string\n): string {\n  const exprCodegen = new ExpressionCodegen(ctx);\n  const collection = exprCodegen.generate(node.collection);\n  const itemName = sanitizeIdentifier(node.itemName);\n  const indexName = node.indexName ? sanitizeIdentifier(node.indexName) : 'index';\n  const body = generateBody(node.body);\n\n  return `{\n  const _collection = ${collection};\n  const _arr = Array.isArray(_collection) ? _collection : Array.from(_collection);\n  for (let _i = 0; _i < _arr.length; _i++) {\n    _ctx.locals.set('${itemName}', _arr[_i]);\n    _ctx.locals.set('${indexName}', _i);\n${body}\n  }\n}`;\n}\n\n/**\n * Generate code for while loops.\n */\nexport function generateWhile(\n  node: WhileNode,\n  ctx: CodegenContext,\n  generateBody: (nodes: ASTNode[]) => string\n): string {\n  const exprCodegen = new ExpressionCodegen(ctx);\n  const condition = exprCodegen.generate(node.condition);\n  const body = generateBody(node.body);\n\n  return `while (${condition}) {\\n${body}\\n}`;\n}\n\n// =============================================================================\n// ADDITIONAL COMMAND IMPLEMENTATIONS\n// =============================================================================\n\n/**\n * Unless command: unless condition (negated if — generates guard check)\n */\nclass UnlessCodegen implements CommandCodegen {\n  readonly command = 'unless';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    if (args.length === 0) return null;\n\n    const condition = ctx.generateExpression(args[0]);\n    return {\n      code: `if (!(${condition}))`,\n      async: false,\n      sideEffects: false,\n    };\n  }\n}\n\n/**\n * Throw command: throw \"message\" or throw expression\n */\nclass ThrowCodegen implements CommandCodegen {\n  readonly command = 'throw';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression {\n    const args = node.args ?? [];\n    const value = args.length > 0 ? ctx.generateExpression(args[0]) : \"'Error'\";\n\n    return {\n      code: `throw new Error(${value})`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Default command: default :var to value (set if undefined/null)\n */\nclass DefaultCodegen implements CommandCodegen {\n  readonly command = 'default';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n    const modifiers = node.modifiers as Record<string, ASTNode> | undefined;\n\n    const targetNode = roles?.destination ?? args[0];\n    const valueNode = roles?.patient ?? (modifiers?.to as ASTNode) ?? args[1];\n\n    if (!targetNode || !valueNode) return null;\n\n    const value = ctx.generateExpression(valueNode);\n\n    if (targetNode.type === 'variable') {\n      const varNode = targetNode as VariableNode;\n      const name = varNode.name.startsWith(':') ? varNode.name.slice(1) : varNode.name;\n      const safeName = sanitizeIdentifier(name);\n\n      if (varNode.scope === 'local') {\n        return {\n          code: `if (_ctx.locals.get('${safeName}') == null) _ctx.locals.set('${safeName}', ${value})`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n\n      if (varNode.scope === 'global') {\n        ctx.requireHelper('globals');\n        return {\n          code: `if (_rt.globals.get('${safeName}') == null) _rt.globals.set('${safeName}', ${value})`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n    }\n\n    return null;\n  }\n}\n\n/**\n * Go command: go to url, go back, go forward\n */\nclass GoCodegen implements CommandCodegen {\n  readonly command = 'go';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n\n    const target = roles?.destination ?? args[0];\n    if (!target) return null;\n\n    // go back / go forward\n    if (target.type === 'identifier') {\n      const name = (target as IdentifierNode).value;\n      if (name === 'back') {\n        return { code: 'history.back()', async: false, sideEffects: true };\n      }\n      if (name === 'forward') {\n        return { code: 'history.forward()', async: false, sideEffects: true };\n      }\n    }\n\n    // go to url\n    const url = ctx.generateExpression(target);\n    return {\n      code: `window.location.href = ${url}`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Append command: append content to target\n */\nclass AppendCodegen implements CommandCodegen {\n  readonly command = 'append';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n\n    const contentNode = roles?.patient ?? args[0];\n    if (!contentNode) return null;\n\n    const content = ctx.generateExpression(contentNode);\n    const target = node.target ? ctx.generateExpression(node.target) : '_ctx.me';\n\n    return {\n      code: `${target}.insertAdjacentHTML('beforeend', ${content})`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Pick command: pick random item from collection\n */\nclass PickCodegen implements CommandCodegen {\n  readonly command = 'pick';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n\n    const collection = roles?.source ?? args[0];\n    if (!collection) return null;\n\n    const arr = ctx.generateExpression(collection);\n    return {\n      code: `_ctx.it = (() => { const _a = ${arr}; return _a[Math.floor(Math.random() * _a.length)]; })()`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Push URL command: push url to browser history\n */\nclass PushUrlCodegen implements CommandCodegen {\n  readonly command = 'push-url';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n\n    const urlNode = roles?.destination ?? args[0];\n    if (!urlNode) return null;\n\n    const url = ctx.generateExpression(urlNode);\n    return {\n      code: `history.pushState({}, '', ${url})`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Replace URL command: replace url in browser history\n */\nclass ReplaceUrlCodegen implements CommandCodegen {\n  readonly command = 'replace-url';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n\n    const urlNode = roles?.destination ?? args[0];\n    if (!urlNode) return null;\n\n    const url = ctx.generateExpression(urlNode);\n    return {\n      code: `history.replaceState({}, '', ${url})`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Get command: get expression (evaluates and stores in `it`/`result`)\n */\nclass GetCodegen implements CommandCodegen {\n  readonly command = 'get';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n\n    const expr = roles?.patient ?? args[0];\n    if (!expr) return null;\n\n    const value = ctx.generateExpression(expr);\n    return {\n      code: `_ctx.it = _ctx.result = ${value}`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Break command: break out of a loop\n */\nclass BreakCodegen implements CommandCodegen {\n  readonly command = 'break';\n\n  generate(_node: CommandNode, _ctx: CodegenContext): GeneratedExpression {\n    return {\n      code: 'break',\n      async: false,\n      sideEffects: false,\n    };\n  }\n}\n\n/**\n * Continue command: skip to next iteration of a loop\n */\nclass ContinueCodegen implements CommandCodegen {\n  readonly command = 'continue';\n\n  generate(_node: CommandNode, _ctx: CodegenContext): GeneratedExpression {\n    return {\n      code: 'continue',\n      async: false,\n      sideEffects: false,\n    };\n  }\n}\n\n/**\n * Beep command: debug helper — logs expression with formatting\n */\nclass BeepCodegen implements CommandCodegen {\n  readonly command = 'beep';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression {\n    const args = node.args ?? [];\n    const roles = node.roles;\n\n    const expr = roles?.patient ?? args[0];\n    if (!expr) {\n      return {\n        code: `console.log('%c[beep]', 'color: orange; font-weight: bold')`,\n        async: false,\n        sideEffects: true,\n      };\n    }\n\n    const value = ctx.generateExpression(expr);\n    return {\n      code: `console.log('%c[beep]', 'color: orange; font-weight: bold', ${value})`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Js command: inline JavaScript block — passes through code string\n */\nclass JsCodegen implements CommandCodegen {\n  readonly command = 'js';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n\n    // The js command body is typically passed as a literal string or the first arg\n    const bodyNode = roles?.patient ?? args[0];\n    if (!bodyNode) return null;\n\n    if (bodyNode.type === 'literal') {\n      const code = (bodyNode as LiteralNode).value;\n      if (typeof code === 'string') {\n        // Inline the JS directly — it runs in handler scope with _ctx available\n        return {\n          code: `(function(_ctx) { ${code} })(_ctx)`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n    }\n\n    // Expression form: evaluate and store result\n    const value = ctx.generateExpression(bodyNode);\n    return {\n      code: `_ctx.it = _ctx.result = ${value}`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Copy command: copy text to clipboard\n */\nclass CopyCodegen implements CommandCodegen {\n  readonly command = 'copy';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n\n    const contentNode = roles?.patient ?? args[0];\n    if (!contentNode) return null;\n\n    const content = ctx.generateExpression(contentNode);\n    return {\n      code: `await navigator.clipboard.writeText(String(${content}))`,\n      async: true,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Make command: create a DOM element — `make <tag/> then ...`\n */\nclass MakeCodegen implements CommandCodegen {\n  readonly command = 'make';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n\n    const targetNode = roles?.patient ?? args[0];\n    if (!targetNode) return null;\n\n    // HTML literal: make <div.foo#bar/>\n    if (targetNode.type === 'htmlLiteral') {\n      const tagNode = targetNode as HtmlLiteralNode;\n      const tag = tagNode.tag ?? 'div';\n      const classes = tagNode.classes ?? [];\n      const id = tagNode.id;\n      const attrs = tagNode.attributes ?? {};\n\n      let code = `(() => { const _el = document.createElement('${tag}');`;\n      if (classes.length > 0) {\n        code += ` _el.className = '${classes.join(' ')}';`;\n      }\n      if (id) {\n        code += ` _el.id = '${sanitizeIdentifier(id)}';`;\n      }\n      for (const [attr, val] of Object.entries(attrs)) {\n        code += ` _el.setAttribute('${sanitizeSelector(attr)}', '${sanitizeSelector(val)}');`;\n      }\n      code += ` return _el; })()`;\n\n      return {\n        code: `_ctx.it = _ctx.result = ${code}`,\n        async: false,\n        sideEffects: true,\n      };\n    }\n\n    // String tag name: make \"div\"\n    if (targetNode.type === 'literal') {\n      const tag = (targetNode as LiteralNode).value;\n      if (typeof tag === 'string') {\n        return {\n          code: `_ctx.it = _ctx.result = document.createElement('${sanitizeSelector(tag)}')`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n    }\n\n    // Dynamic: make expr\n    const expr = ctx.generateExpression(targetNode);\n    return {\n      code: `_ctx.it = _ctx.result = document.createElement(${expr})`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n// =============================================================================\n// SWAP / MORPH COMMANDS\n// =============================================================================\n\n/**\n * Swap command: swap [strategy] of target with content\n *\n * Strategies: innerHTML (default), outerHTML, beforeBegin, afterBegin, beforeEnd, afterEnd, delete, morph\n */\nclass SwapCodegen implements CommandCodegen {\n  readonly command = 'swap';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n\n    // delete strategy: swap delete target\n    if (\n      args.length > 0 &&\n      args[0].type === 'identifier' &&\n      (args[0] as IdentifierNode).value === 'delete'\n    ) {\n      const targetNode = args[1] ?? node.target;\n      if (!targetNode) return null;\n      const target = ctx.generateExpression(targetNode);\n      return { code: `${target}.remove()`, async: false, sideEffects: true };\n    }\n\n    const contentNode = roles?.patient ?? args[args.length - 1];\n    const targetNode = roles?.destination ?? node.target ?? args[0];\n\n    if (!targetNode || !contentNode) return null;\n\n    const target = ctx.generateExpression(targetNode);\n    const content = ctx.generateExpression(contentNode);\n\n    // Determine strategy from modifiers or args\n    const strategy = this.resolveStrategy(node, args);\n\n    switch (strategy) {\n      case 'outerHTML':\n        return { code: `${target}.outerHTML = ${content}`, async: false, sideEffects: true };\n      case 'beforebegin':\n        return {\n          code: `${target}.insertAdjacentHTML('beforebegin', ${content})`,\n          async: false,\n          sideEffects: true,\n        };\n      case 'afterbegin':\n        return {\n          code: `${target}.insertAdjacentHTML('afterbegin', ${content})`,\n          async: false,\n          sideEffects: true,\n        };\n      case 'beforeend':\n        return {\n          code: `${target}.insertAdjacentHTML('beforeend', ${content})`,\n          async: false,\n          sideEffects: true,\n        };\n      case 'afterend':\n        return {\n          code: `${target}.insertAdjacentHTML('afterend', ${content})`,\n          async: false,\n          sideEffects: true,\n        };\n      case 'morph':\n        ctx.requireHelper('morph');\n        return { code: `_rt.morph(${target}, ${content})`, async: false, sideEffects: true };\n      case 'innerHTML':\n      default:\n        return { code: `${target}.innerHTML = ${content}`, async: false, sideEffects: true };\n    }\n  }\n\n  private resolveStrategy(node: CommandNode, args: ASTNode[]): string {\n    // Check modifiers for strategy\n    const mods = node.modifiers as Record<string, unknown> | undefined;\n    if (mods?.strategy && typeof mods.strategy === 'string') return mods.strategy.toLowerCase();\n\n    // Check first arg for strategy keyword\n    if (args.length >= 2 && args[0].type === 'identifier') {\n      const name = ((args[0] as IdentifierNode).value ?? '').toLowerCase();\n      const strategies: Record<string, string> = {\n        innerhtml: 'innerHTML',\n        outerhtml: 'outerHTML',\n        morph: 'morph',\n        beforebegin: 'beforebegin',\n        afterbegin: 'afterbegin',\n        beforeend: 'beforeend',\n        afterend: 'afterend',\n        into: 'innerHTML',\n        over: 'outerHTML',\n      };\n      if (strategies[name]) return strategies[name];\n    }\n\n    return 'innerHTML';\n  }\n}\n\n/**\n * Morph command: morph target with content (intelligent DOM diffing)\n */\nclass MorphCodegen implements CommandCodegen {\n  readonly command = 'morph';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n\n    const targetNode = roles?.destination ?? node.target ?? args[0];\n    const contentNode = roles?.patient ?? args[args.length > 1 ? args.length - 1 : 0];\n\n    if (!targetNode) return null;\n\n    const target = ctx.generateExpression(targetNode);\n    ctx.requireHelper('morph');\n\n    if (!contentNode || contentNode === targetNode) {\n      return { code: `_rt.morph(${target}, '')`, async: false, sideEffects: true };\n    }\n\n    const content = ctx.generateExpression(contentNode);\n    return { code: `_rt.morph(${target}, ${content})`, async: false, sideEffects: true };\n  }\n}\n\n// =============================================================================\n// ANIMATION COMMANDS (transition, measure, settle)\n// =============================================================================\n\n/**\n * Transition command: transition property to value [over duration] [with timing]\n *\n * Generates CSS transition setup + transitionend listener.\n */\nclass TransitionCodegen implements CommandCodegen {\n  readonly command = 'transition';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n    const mods = node.modifiers as Record<string, ASTNode | unknown> | undefined;\n\n    const propertyNode = roles?.patient ?? args[0];\n    if (!propertyNode) return null;\n\n    const property = ctx.generateExpression(propertyNode);\n\n    // Get value from 'to' modifier or second arg\n    const valueNode = (mods?.to as ASTNode | undefined) ?? args[1];\n    if (!valueNode) return null;\n\n    const value = ctx.generateExpression(valueNode);\n    const target = node.target ? ctx.generateExpression(node.target) : '_ctx.me';\n\n    // Duration from 'over' modifier\n    const durationNode = mods?.over as ASTNode | undefined;\n    const duration = durationNode ? ctx.generateExpression(durationNode) : '300';\n\n    // Timing from 'with' modifier\n    const timingNode = mods?.with as ASTNode | undefined;\n    const timing = timingNode ? ctx.generateExpression(timingNode) : \"'ease'\";\n\n    ctx.requireHelper('transition');\n    return {\n      code: `await _rt.transition(${target}, ${property}, ${value}, ${duration}, ${timing})`,\n      async: true,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Measure command: measure [target] [property]\n *\n * Measures element dimensions and stores in `it`/`result`.\n */\nclass MeasureCodegen implements CommandCodegen {\n  readonly command = 'measure';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n\n    const target = node.target ? ctx.generateExpression(node.target) : '_ctx.me';\n\n    // Determine property to measure\n    const propNode = roles?.patient ?? args[0];\n    if (!propNode) {\n      // No property — measure all (getBoundingClientRect)\n      return {\n        code: `_ctx.it = _ctx.result = ${target}.getBoundingClientRect()`,\n        async: false,\n        sideEffects: true,\n      };\n    }\n\n    if (propNode.type === 'identifier') {\n      const propName = (propNode as IdentifierNode).value ?? '';\n      // Common measurement shortcuts\n      const rectProps = ['width', 'height', 'top', 'left', 'right', 'bottom', 'x', 'y'];\n      if (rectProps.includes(propName.toLowerCase())) {\n        return {\n          code: `_ctx.it = _ctx.result = ${target}.getBoundingClientRect().${propName.toLowerCase()}`,\n          async: false,\n          sideEffects: true,\n        };\n      }\n    }\n\n    const prop = ctx.generateExpression(propNode);\n    ctx.requireHelper('measure');\n    return {\n      code: `_ctx.it = _ctx.result = _rt.measure(${target}, ${prop})`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Settle command: settle [target] [for timeout]\n *\n * Waits for CSS transitions/animations to complete.\n */\nclass SettleCodegen implements CommandCodegen {\n  readonly command = 'settle';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression {\n    const target = node.target ? ctx.generateExpression(node.target) : '_ctx.me';\n    const mods = node.modifiers as Record<string, ASTNode | unknown> | undefined;\n\n    const timeoutNode = mods?.for as ASTNode | undefined;\n    const timeout = timeoutNode ? ctx.generateExpression(timeoutNode) : '5000';\n\n    ctx.requireHelper('settle');\n    return {\n      code: `await _rt.settle(${target}, ${timeout})`,\n      async: true,\n      sideEffects: true,\n    };\n  }\n}\n\n// =============================================================================\n// EXECUTION COMMANDS (tell, async)\n// =============================================================================\n\n/**\n * Tell command: tell target command [command ...]\n *\n * Executes body commands with `me` rebound to the target element.\n * In AOT, generates a scoped block.\n */\nclass TellCodegen implements CommandCodegen {\n  readonly command = 'tell';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n\n    const targetNode = roles?.destination ?? args[0];\n    if (!targetNode) return null;\n\n    const target = ctx.generateExpression(targetNode);\n\n    // Generate a scoped block that rebinds _ctx.me\n    return {\n      code: `{ const _prevMe = _ctx.me; _ctx.me = ${target}; _ctx.you = ${target};`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Async command: async command [command ...]\n *\n * Wraps body in a fire-and-forget async IIFE.\n */\nclass AsyncCodegen implements CommandCodegen {\n  readonly command = 'async';\n\n  generate(_node: CommandNode, _ctx: CodegenContext): GeneratedExpression {\n    // The async command wraps its body in a fire-and-forget async IIFE.\n    // The actual body commands are generated by the event handler codegen.\n    // Here we just signal the start of the async block.\n    return {\n      code: `(async () => {`,\n      async: false, // The outer handler doesn't await this\n      sideEffects: true,\n    };\n  }\n}\n\n// =============================================================================\n// BEHAVIOR & TEMPLATE COMMANDS (install, render)\n// =============================================================================\n\n/**\n * Install command: install BehaviorName [(params)] [on target]\n *\n * Installs a named behavior on an element.\n */\nclass InstallCodegen implements CommandCodegen {\n  readonly command = 'install';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n\n    const behaviorNode = roles?.patient ?? args[0];\n    if (!behaviorNode) return null;\n\n    const target = node.target ? ctx.generateExpression(node.target) : '_ctx.me';\n\n    // Extract behavior name\n    let behaviorName: string;\n    if (behaviorNode.type === 'identifier') {\n      behaviorName = (behaviorNode as IdentifierNode).value ?? '';\n    } else if (behaviorNode.type === 'literal') {\n      behaviorName = String((behaviorNode as LiteralNode).value);\n    } else {\n      behaviorName = ctx.generateExpression(behaviorNode);\n      ctx.requireHelper('installBehavior');\n      return {\n        code: `_rt.installBehavior(${target}, ${behaviorName})`,\n        async: false,\n        sideEffects: true,\n      };\n    }\n\n    ctx.requireHelper('installBehavior');\n\n    // Check for parameters (second arg could be an object)\n    const paramsNode = args.length > 1 ? args[1] : undefined;\n    if (paramsNode && paramsNode.type === 'object') {\n      const params = ctx.generateExpression(paramsNode);\n      return {\n        code: `_rt.installBehavior(${target}, '${sanitizeIdentifier(behaviorName)}', ${params})`,\n        async: false,\n        sideEffects: true,\n      };\n    }\n\n    return {\n      code: `_rt.installBehavior(${target}, '${sanitizeIdentifier(behaviorName)}')`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n/**\n * Render command: render template [with variables]\n *\n * Renders a template with variable interpolation.\n */\nclass RenderCodegen implements CommandCodegen {\n  readonly command = 'render';\n\n  generate(node: CommandNode, ctx: CodegenContext): GeneratedExpression | null {\n    const args = node.args ?? [];\n    const roles = node.roles;\n    const mods = node.modifiers as Record<string, ASTNode | unknown> | undefined;\n\n    const templateNode = roles?.patient ?? args[0];\n    if (!templateNode) return null;\n\n    const template = ctx.generateExpression(templateNode);\n    const target = node.target ? ctx.generateExpression(node.target) : '_ctx.me';\n\n    // Check for 'with' modifier or second arg for variables\n    const varsNode = (mods?.with as ASTNode | undefined) ?? (args.length > 1 ? args[1] : undefined);\n\n    ctx.requireHelper('render');\n\n    if (varsNode) {\n      const vars = ctx.generateExpression(varsNode);\n      return {\n        code: `${target}.innerHTML = _rt.render(${template}, ${vars})`,\n        async: false,\n        sideEffects: true,\n      };\n    }\n\n    return {\n      code: `${target}.innerHTML = _rt.render(${template}, {})`,\n      async: false,\n      sideEffects: true,\n    };\n  }\n}\n\n// =============================================================================\n// COMMAND REGISTRY\n// =============================================================================\n\n/**\n * Registry of command code generators.\n */\nexport const commandCodegens = new Map<string, CommandCodegen>([\n  ['toggle', new ToggleCodegen()],\n  ['add', new AddCodegen()],\n  ['remove', new RemoveCodegen()],\n  ['set', new SetCodegen()],\n  ['put', new PutCodegen()],\n  ['show', new ShowCodegen()],\n  ['hide', new HideCodegen()],\n  ['focus', new FocusCodegen()],\n  ['blur', new BlurCodegen()],\n  ['log', new LogCodegen()],\n  ['wait', new WaitCodegen()],\n  ['fetch', new FetchCodegen()],\n  ['send', new SendCodegen()],\n  ['trigger', new SendCodegen()], // Alias\n  ['increment', new IncrementCodegen()],\n  ['decrement', new DecrementCodegen()],\n  ['halt', new HaltCodegen()],\n  ['exit', new ExitCodegen()],\n  ['return', new ReturnCodegen()],\n  ['call', new CallCodegen()],\n  ['scroll', new ScrollCodegen()],\n  ['take', new TakeCodegen()],\n  ['unless', new UnlessCodegen()],\n  ['throw', new ThrowCodegen()],\n  ['default', new DefaultCodegen()],\n  ['go', new GoCodegen()],\n  ['append', new AppendCodegen()],\n  ['pick', new PickCodegen()],\n  ['push-url', new PushUrlCodegen()],\n  ['replace-url', new ReplaceUrlCodegen()],\n  ['get', new GetCodegen()],\n  ['break', new BreakCodegen()],\n  ['continue', new ContinueCodegen()],\n  ['beep', new BeepCodegen()],\n  ['js', new JsCodegen()],\n  ['copy', new CopyCodegen()],\n  ['make', new MakeCodegen()],\n  // Phase 1 additions\n  ['swap', new SwapCodegen()],\n  ['morph', new MorphCodegen()],\n  ['transition', new TransitionCodegen()],\n  ['measure', new MeasureCodegen()],\n  ['settle', new SettleCodegen()],\n  ['tell', new TellCodegen()],\n  ['async', new AsyncCodegen()],\n  ['install', new InstallCodegen()],\n  ['render', new RenderCodegen()],\n]);\n\n/**\n * Generate code for a command.\n */\nexport function generateCommand(\n  node: CommandNode,\n  ctx: CodegenContext\n): GeneratedExpression | null {\n  const codegen = commandCodegens.get(node.name);\n  if (!codegen) {\n    return null;\n  }\n  return codegen.generate(node, ctx);\n}\n\n// =============================================================================\n// UTILITY FUNCTIONS\n// =============================================================================\n\n/**\n * Parse a duration string like \"100ms\" or \"2s\" to milliseconds.\n */\nfunction parseDuration(duration: string): number | null {\n  const match = /^(\\d+(?:\\.\\d+)?)\\s*(ms|s|m|h)?$/i.exec(duration.trim());\n  if (!match) return null;\n\n  const value = parseFloat(match[1]);\n  const unit = (match[2] ?? 'ms').toLowerCase();\n\n  switch (unit) {\n    case 'ms':\n      return value;\n    case 's':\n      return value * 1000;\n    case 'm':\n      return value * 60000;\n    case 'h':\n      return value * 3600000;\n    default:\n      return value;\n  }\n}\n\nexport default commandCodegens;\n","/**\n * Event Handler Transforms\n *\n * Generates complete event handler code including event binding,\n * modifier handling, and cleanup.\n */\n\nimport type {\n  ASTNode,\n  EventHandlerNode,\n  CommandNode,\n  BatchedClassOpsNode,\n  CodegenContext,\n  GeneratedHandler,\n  AnalysisResult,\n  EventModifiers,\n  IfNode,\n  RepeatNode,\n  ForEachNode,\n  WhileNode,\n} from '../types/aot-types.js';\nimport { sanitizeSelector } from './expression-transforms.js';\nimport {\n  generateCommand,\n  generateIf,\n  generateRepeat,\n  generateForEach,\n  generateWhile,\n} from './command-transforms.js';\n\n// =============================================================================\n// EVENT HANDLER CODEGEN\n// =============================================================================\n\n/**\n * Code generator for event handlers.\n */\nexport class EventHandlerCodegen {\n  private ctx: CodegenContext;\n  private analysis: AnalysisResult;\n\n  constructor(ctx: CodegenContext, analysis: AnalysisResult) {\n    this.ctx = ctx;\n    this.analysis = analysis;\n  }\n\n  /**\n   * Generate complete code for an event handler.\n   */\n  generate(node: EventHandlerNode): GeneratedHandler {\n    const eventName = node.event;\n    const modifiers = node.modifiers ?? {};\n    const body = node.body ?? [];\n\n    // Generate the handler function body\n    const bodyCode = this.generateBody(body);\n    const isAsync = this.analysis.controlFlow.hasAsync;\n\n    // Build event listener options\n    const listenerOptions = this.buildListenerOptions(modifiers);\n\n    // Generate modifier handling code\n    const modifierCode = this.generateModifierCode(modifiers);\n\n    // Generate the complete handler function\n    const handlerCode = this.generateHandlerFunction(eventName, bodyCode, modifierCode, isAsync);\n\n    // Generate binding code\n    const bindingCode = this.generateBindingCode(eventName, modifiers, listenerOptions);\n\n    // Generate cleanup code\n    const cleanup = this.generateCleanupCode(eventName, modifiers);\n\n    // Collect required imports\n    const imports = this.collectImports();\n\n    return {\n      handlerCode,\n      bindingCode,\n      cleanup,\n      async: isAsync,\n      imports,\n    };\n  }\n\n  // ===========================================================================\n  // BODY GENERATION\n  // ===========================================================================\n\n  /**\n   * Generate code for the handler body.\n   */\n  private generateBody(nodes: ASTNode[]): string {\n    const statements: string[] = [];\n\n    for (const node of nodes) {\n      const code = this.generateNode(node);\n      if (code) {\n        statements.push(code);\n      }\n    }\n\n    return statements.join('\\n');\n  }\n\n  /**\n   * Generate code for a single AST node.\n   */\n  private generateNode(node: ASTNode): string | null {\n    switch (node.type) {\n      case 'command':\n        return this.generateCommandCode(node as CommandNode);\n\n      case 'if':\n        return generateIf(node as IfNode, this.ctx, nodes => this.generateBody(nodes));\n\n      case 'repeat':\n        return generateRepeat(node as RepeatNode, this.ctx, nodes => this.generateBody(nodes));\n\n      case 'foreach':\n        return generateForEach(node as ForEachNode, this.ctx, nodes => this.generateBody(nodes));\n\n      case 'while':\n        return generateWhile(node as WhileNode, this.ctx, nodes => this.generateBody(nodes));\n\n      case 'event': {\n        // Nested event node (from CommandSequence conversion) — inline its body\n        const nested = node as EventHandlerNode;\n        return this.generateBody(nested.body ?? []);\n      }\n\n      case 'batchedClassOps': {\n        const batch = node as BatchedClassOpsNode;\n        const lines: string[] = [];\n        if (batch.adds.length > 0) {\n          lines.push(`${batch.target}.classList.add(${batch.adds.map(c => `'${c}'`).join(', ')})`);\n        }\n        if (batch.removes.length > 0) {\n          lines.push(\n            `${batch.target}.classList.remove(${batch.removes.map(c => `'${c}'`).join(', ')})`\n          );\n        }\n        for (const t of batch.toggles) {\n          lines.push(`${batch.target}.classList.toggle('${t}')`);\n        }\n        return lines.join(';\\n');\n      }\n\n      default:\n        // Unknown node type\n        return null;\n    }\n  }\n\n  /**\n   * Generate code for a command.\n   */\n  private generateCommandCode(node: CommandNode): string | null {\n    const result = generateCommand(node, this.ctx);\n    if (!result) {\n      return null;\n    }\n    return result.code;\n  }\n\n  // ===========================================================================\n  // MODIFIER HANDLING\n  // ===========================================================================\n\n  /**\n   * Build AddEventListenerOptions from modifiers.\n   */\n  private buildListenerOptions(modifiers: EventModifiers): AddEventListenerOptions {\n    const options: AddEventListenerOptions = {};\n\n    if (modifiers.once) {\n      options.once = true;\n    }\n    if (modifiers.passive) {\n      options.passive = true;\n    }\n    if (modifiers.capture) {\n      options.capture = true;\n    }\n\n    return options;\n  }\n\n  /**\n   * Generate code for event modifiers (prevent, stop).\n   */\n  private generateModifierCode(modifiers: EventModifiers): string {\n    const code: string[] = [];\n\n    if (modifiers.prevent) {\n      code.push('_event.preventDefault();');\n    }\n    if (modifiers.stop) {\n      code.push('_event.stopPropagation();');\n    }\n\n    return code.join('\\n');\n  }\n\n  // ===========================================================================\n  // HANDLER FUNCTION GENERATION\n  // ===========================================================================\n\n  /**\n   * Generate the complete handler function.\n   */\n  private generateHandlerFunction(\n    _eventName: string,\n    bodyCode: string,\n    modifierCode: string,\n    isAsync: boolean\n  ): string {\n    const asyncKeyword = isAsync ? 'async ' : '';\n    const handlerId = this.ctx.handlerId;\n\n    // Build context initialization\n    const contextInit = `const _ctx = _rt.createContext(_event, this);`;\n\n    // Combine modifier code and body\n    const combinedBody = [modifierCode, bodyCode].filter(Boolean).join('\\n');\n\n    // Wrap in try-catch for halt/exit handling\n    const needsTryCatch = this.analysis.controlFlow.canThrow;\n\n    let functionBody: string;\n\n    if (needsTryCatch) {\n      functionBody = `${contextInit}\n  try {\n    ${combinedBody}\n  } catch (_e) {\n    if (_e === _rt.HALT) {\n      _event.preventDefault();\n      return;\n    }\n    if (_e === _rt.EXIT) {\n      return;\n    }\n    throw _e;\n  }`;\n    } else {\n      functionBody = `${contextInit}\n  ${combinedBody}`;\n    }\n\n    return `${asyncKeyword}function _handler_${handlerId}(_event) {\n  ${functionBody}\n}`;\n  }\n\n  // ===========================================================================\n  // BINDING CODE GENERATION\n  // ===========================================================================\n\n  /**\n   * Generate code to bind the handler to an element.\n   */\n  private generateBindingCode(\n    eventName: string,\n    modifiers: EventModifiers,\n    options: AddEventListenerOptions\n  ): string {\n    const handlerId = this.ctx.handlerId;\n    const event = JSON.stringify(eventName);\n\n    // Build handler reference (may be wrapped)\n    let handler = `_handler_${handlerId}`;\n\n    // Apply debounce wrapper\n    if (modifiers.debounce) {\n      this.ctx.requireHelper('debounce');\n      handler = `_rt.debounce(${handler}, ${modifiers.debounce})`;\n    }\n\n    // Apply throttle wrapper\n    if (modifiers.throttle) {\n      this.ctx.requireHelper('throttle');\n      handler = `_rt.throttle(${handler}, ${modifiers.throttle})`;\n    }\n\n    // Build options argument\n    const optionsKeys = Object.keys(options).filter(k => (options as Record<string, unknown>)[k]);\n    const optionsArg =\n      optionsKeys.length > 0 ? `, { ${optionsKeys.map(k => `${k}: true`).join(', ')} }` : '';\n\n    // Event delegation\n    if (modifiers.from) {\n      const delegateSelector = JSON.stringify(modifiers.from);\n      this.ctx.requireHelper('delegate');\n      return `_rt.delegate(_el, ${event}, ${delegateSelector}, ${handler}${optionsArg});`;\n    }\n\n    return `_el.addEventListener(${event}, ${handler}${optionsArg});`;\n  }\n\n  // ===========================================================================\n  // CLEANUP CODE GENERATION\n  // ===========================================================================\n\n  /**\n   * Generate cleanup code for removing the handler.\n   */\n  private generateCleanupCode(eventName: string, modifiers: EventModifiers): string | null {\n    // No cleanup needed for once handlers\n    if (modifiers.once) {\n      return null;\n    }\n\n    const handlerId = this.ctx.handlerId;\n    const event = JSON.stringify(eventName);\n    const capture = modifiers.capture ? ', true' : '';\n\n    return `_el.removeEventListener(${event}, _handler_${handlerId}${capture});`;\n  }\n\n  // ===========================================================================\n  // IMPORTS COLLECTION\n  // ===========================================================================\n\n  /**\n   * Collect required runtime imports.\n   */\n  private collectImports(): string[] {\n    const imports = ['createContext'];\n\n    // Add helpers from context\n    for (const helper of this.ctx.requiredHelpers) {\n      if (!imports.includes(helper)) {\n        imports.push(helper);\n      }\n    }\n\n    // Add helpers from analysis\n    for (const helper of this.analysis.dependencies.runtimeHelpers) {\n      if (!imports.includes(helper)) {\n        imports.push(helper);\n      }\n    }\n\n    return imports;\n  }\n}\n\n// =============================================================================\n// CONVENIENCE FUNCTIONS\n// =============================================================================\n\n/**\n * Generate a complete event handler.\n */\nexport function generateEventHandler(\n  node: EventHandlerNode,\n  ctx: CodegenContext,\n  analysis: AnalysisResult\n): GeneratedHandler {\n  const codegen = new EventHandlerCodegen(ctx, analysis);\n  return codegen.generate(node);\n}\n\n/**\n * Generate binding code for multiple handlers.\n */\nexport function generateBindings(\n  handlers: Array<{\n    selector: string;\n    eventName: string;\n    handlerId: string;\n    options?: AddEventListenerOptions;\n  }>\n): string {\n  const bindings: string[] = [];\n\n  for (const { selector, eventName, handlerId, options } of handlers) {\n    const sanitized = sanitizeSelector(selector);\n    const event = JSON.stringify(eventName);\n\n    const optionsKeys = options\n      ? Object.keys(options).filter(k => (options as Record<string, unknown>)[k])\n      : [];\n    const optionsArg =\n      optionsKeys.length > 0 ? `, { ${optionsKeys.map(k => `${k}: true`).join(', ')} }` : '';\n\n    bindings.push(\n      `document.querySelectorAll('${sanitized}').forEach(_el => _el.addEventListener(${event}, _handler_${handlerId}${optionsArg}));`\n    );\n  }\n\n  return bindings.join('\\n');\n}\n\n/**\n * Generate initialization code that runs when DOM is ready.\n */\nexport function generateInitialization(\n  handlers: Array<{\n    selector: string;\n    eventName: string;\n    handlerId: string;\n    options?: AddEventListenerOptions;\n  }>\n): string {\n  const bindings = generateBindings(handlers);\n\n  return `_rt.ready(() => {\n${bindings}\n});`;\n}\n\nexport default EventHandlerCodegen;\n","/**\n * AOT Compiler\n *\n * Main orchestrator for the Ahead-of-Time compilation process.\n * Coordinates extraction, parsing, analysis, optimization, and code generation.\n */\n\nimport type {\n  ASTNode,\n  ExtractedScript,\n  CompileOptions,\n  CompilationResult,\n  BatchCompilationResult,\n  CodegenContext,\n  CodegenOptions,\n  AnalysisResult,\n  CompiledHandler,\n  FallbackScript,\n  EventHandlerNode,\n  PreRenderResult,\n} from '../types/aot-types.js';\nimport { HTMLScanner, VueScanner, SvelteScanner, JSXScanner } from '../scanner/html-scanner.js';\nimport { Analyzer } from './analyzer.js';\nimport { OptimizationPipeline } from '../optimizations/index.js';\nimport { preRenderInitBlock } from '../optimizations/init-prerender.js';\nimport { ExpressionCodegen, sanitizeIdentifier } from '../transforms/expression-transforms.js';\nimport { EventHandlerCodegen } from '../transforms/event-transforms.js';\nimport {\n  isExplicitSyntax,\n  parseExplicit,\n  fromProtocolJSON,\n  semanticNodeToRuntimeAST,\n} from '@lokascript/framework';\n\n// =============================================================================\n// DEFAULT OPTIONS\n// =============================================================================\n\nconst DEFAULT_COMPILE_OPTIONS: Required<CompileOptions> = {\n  language: 'en',\n  confidenceThreshold: 0.7,\n  debug: false,\n  codegen: {\n    target: 'es2020',\n    mode: 'esm',\n    minify: false,\n    sourceMaps: true,\n    runtimeImport: '@hyperfixi/aot-compiler/runtime',\n    preserveComments: false,\n    debugMode: false,\n  },\n  optimizationLevel: 2,\n};\n\nconst DEFAULT_CODEGEN_OPTIONS: CodegenOptions = {\n  target: 'es2020',\n  mode: 'esm',\n  minify: false,\n  sourceMaps: true,\n  runtimeImport: '@hyperfixi/aot-compiler/runtime',\n  preserveComments: false,\n  debugMode: false,\n};\n\n// =============================================================================\n// PARSER INTERFACE\n// =============================================================================\n\n/**\n * Parser interface for parsing hyperscript.\n * Can be backed by traditional or semantic parser.\n */\ninterface Parser {\n  parse(code: string, language?: string): ASTNode;\n}\n\n/**\n * Optional semantic parser integration.\n */\ninterface SemanticParser {\n  analyze(\n    code: string,\n    language: string\n  ): { node?: unknown; confidence: number; errors?: string[] };\n  buildAST(node: unknown): { ast: ASTNode; warnings: string[] };\n  supportsLanguage(language: string): boolean;\n}\n\n// =============================================================================\n// AOT COMPILER CLASS\n// =============================================================================\n\n/**\n * Main AOT compiler class.\n */\nexport class AOTCompiler {\n  private parser: Parser | null = null;\n  private semanticParser: SemanticParser | null = null;\n  private analyzer = new Analyzer();\n  private optimizer = new OptimizationPipeline();\n\n  private usedIds = new Set<string>();\n\n  /**\n   * Set the traditional parser instance.\n   */\n  setParser(parser: Parser): void {\n    this.parser = parser;\n  }\n\n  /**\n   * Set the semantic parser for multilingual support.\n   */\n  setSemanticParser(parser: SemanticParser): void {\n    this.semanticParser = parser;\n  }\n\n  /**\n   * Reset compiler state between compilations.\n   */\n  reset(): void {\n    this.usedIds.clear();\n  }\n\n  // ===========================================================================\n  // EXTRACTION\n  // ===========================================================================\n\n  /**\n   * Extract hyperscript from source code.\n   */\n  extract(source: string, filename: string): ExtractedScript[] {\n    const scanner = this.createScanner(filename);\n    return scanner.extract(source, filename);\n  }\n\n  /**\n   * Create appropriate scanner for file type.\n   */\n  private createScanner(filename: string): HTMLScanner | JSXScanner {\n    if (filename.endsWith('.vue')) {\n      return new VueScanner();\n    }\n    if (filename.endsWith('.svelte')) {\n      return new SvelteScanner();\n    }\n    if (filename.match(/\\.(jsx|tsx)$/)) {\n      return new JSXScanner();\n    }\n    return new HTMLScanner();\n  }\n\n  // ===========================================================================\n  // PARSING\n  // ===========================================================================\n\n  /**\n   * Parse a hyperscript string to AST.\n   * Supports natural language, explicit bracket syntax, and JSON input.\n   */\n  parse(code: string, options: CompileOptions = {}): ASTNode | null {\n    const { language = 'en', confidenceThreshold = 0.7, debug = false } = options;\n\n    let ast: ASTNode | null = null;\n\n    // Try explicit bracket syntax (language-agnostic, no parsers needed)\n    if (isExplicitSyntax(code)) {\n      try {\n        const node = parseExplicit(code);\n        ast = semanticNodeToRuntimeAST(node) as ASTNode;\n        if (debug) {\n          console.log(`[aot] Parsed explicit syntax: \"${code}\"`);\n        }\n      } catch (error) {\n        if (debug) {\n          console.log(`[aot] Explicit parse error for \"${code}\":`, error);\n        }\n      }\n      if (ast) return this.ensureEventHandler(ast);\n    }\n\n    // Try JSON input\n    if (this.looksLikeJSON(code)) {\n      try {\n        const json = JSON.parse(code.trim());\n        const node = fromProtocolJSON(json);\n        ast = semanticNodeToRuntimeAST(node) as ASTNode;\n        if (debug) {\n          console.log(`[aot] Parsed JSON input: \"${code.slice(0, 80)}...\"`);\n        }\n      } catch (error) {\n        if (debug) {\n          console.log(`[aot] JSON parse error for \"${code.slice(0, 80)}\":`, error);\n        }\n      }\n      if (ast) return this.ensureEventHandler(ast);\n    }\n\n    // Try semantic parser for non-English\n    if (language !== 'en' && this.semanticParser?.supportsLanguage(language)) {\n      const result = this.semanticParser.analyze(code, language);\n\n      if (result.node && result.confidence >= confidenceThreshold) {\n        const { ast: semanticAst, warnings } = this.semanticParser.buildAST(result.node);\n\n        if (debug && warnings.length > 0) {\n          console.log(`[aot] Semantic warnings for \"${code}\":`, warnings);\n        }\n\n        ast = semanticAst;\n      } else if (debug) {\n        console.log(\n          `[aot] Semantic parse failed for \"${code}\": ${result.errors?.join(', ') || 'low confidence'}`\n        );\n      }\n    }\n\n    // Fall back to traditional parser\n    if (!ast && this.parser) {\n      try {\n        ast = this.parser.parse(code, language);\n      } catch (error) {\n        if (debug) {\n          console.log(`[aot] Parse error for \"${code}\":`, error);\n        }\n      }\n    }\n\n    // No parser available - create a simple AST wrapper\n    if (!ast) {\n      ast = this.createSimpleAST(code);\n    }\n\n    return this.ensureEventHandler(ast);\n  }\n\n  /**\n   * Create a simple AST from code (for testing without full parser).\n   */\n  private createSimpleAST(code: string): ASTNode | null {\n    // Try to detect basic patterns\n    const eventMatch = /^on\\s+(\\w+)(?:\\.(\\w+))?\\s+(.+)$/i.exec(code.trim());\n\n    if (eventMatch) {\n      const [, eventName, modifier, body] = eventMatch;\n      return {\n        type: 'event',\n        event: eventName,\n        modifiers: modifier ? { [modifier]: true } : {},\n        body: [this.parseSimpleCommand(body)].filter(Boolean),\n      } as EventHandlerNode;\n    }\n\n    // Try as simple command\n    const cmd = this.parseSimpleCommand(code);\n    if (cmd) {\n      return {\n        type: 'event',\n        event: 'click',\n        body: [cmd],\n      } as EventHandlerNode;\n    }\n\n    return null;\n  }\n\n  /**\n   * Parse a simple command (for testing).\n   */\n  private parseSimpleCommand(code: string): ASTNode | null {\n    const trimmed = code.trim();\n\n    // toggle .class\n    const toggleMatch = /^toggle\\s+\\.([a-zA-Z_][a-zA-Z0-9_-]*)$/i.exec(trimmed);\n    if (toggleMatch) {\n      return {\n        type: 'command',\n        name: 'toggle',\n        args: [{ type: 'selector', value: '.' + toggleMatch[1] }],\n      };\n    }\n\n    // add .class\n    const addMatch = /^add\\s+\\.([a-zA-Z_][a-zA-Z0-9_-]*)$/i.exec(trimmed);\n    if (addMatch) {\n      return {\n        type: 'command',\n        name: 'add',\n        args: [{ type: 'selector', value: '.' + addMatch[1] }],\n      };\n    }\n\n    // remove .class\n    const removeMatch = /^remove\\s+\\.([a-zA-Z_][a-zA-Z0-9_-]*)$/i.exec(trimmed);\n    if (removeMatch) {\n      return {\n        type: 'command',\n        name: 'remove',\n        args: [{ type: 'selector', value: '.' + removeMatch[1] }],\n      };\n    }\n\n    // show/hide/focus/blur\n    if (/^show$/i.test(trimmed)) {\n      return { type: 'command', name: 'show', args: [] };\n    }\n    if (/^hide$/i.test(trimmed)) {\n      return { type: 'command', name: 'hide', args: [] };\n    }\n    if (/^focus$/i.test(trimmed)) {\n      return { type: 'command', name: 'focus', args: [] };\n    }\n    if (/^blur$/i.test(trimmed)) {\n      return { type: 'command', name: 'blur', args: [] };\n    }\n\n    // set :var to value\n    const setMatch = /^set\\s+:(\\w+)\\s+to\\s+(.+)$/i.exec(trimmed);\n    if (setMatch) {\n      const [, varName, valueStr] = setMatch;\n      return {\n        type: 'command',\n        name: 'set',\n        args: [{ type: 'variable', name: ':' + varName, scope: 'local' }],\n        modifiers: { to: this.parseSimpleValue(valueStr) },\n      };\n    }\n\n    // increment/decrement :var\n    const incrMatch = /^(increment|decrement)\\s+:(\\w+)$/i.exec(trimmed);\n    if (incrMatch) {\n      const [, cmd, varName] = incrMatch;\n      return {\n        type: 'command',\n        name: cmd.toLowerCase(),\n        args: [{ type: 'variable', name: ':' + varName, scope: 'local' }],\n      };\n    }\n\n    // wait Nms / wait Ns\n    const waitMatch = /^wait\\s+(\\d+(?:\\.\\d+)?)(ms|s)$/i.exec(trimmed);\n    if (waitMatch) {\n      const [, value, unit] = waitMatch;\n      const ms = unit.toLowerCase() === 's' ? parseFloat(value) * 1000 : parseFloat(value);\n      return {\n        type: 'command',\n        name: 'wait',\n        args: [{ type: 'literal', value: ms }],\n      };\n    }\n\n    // log \"string\" or log value\n    const logMatch = /^log\\s+(.+)$/i.exec(trimmed);\n    if (logMatch) {\n      return {\n        type: 'command',\n        name: 'log',\n        args: [this.parseSimpleValue(logMatch[1])],\n      };\n    }\n\n    // send \"event\" [to target]\n    const sendMatch = /^send\\s+\"([^\"]+)\"(?:\\s+to\\s+(\\w+))?$/i.exec(trimmed);\n    if (sendMatch) {\n      const [, eventName, target] = sendMatch;\n      const node: ASTNode = {\n        type: 'command',\n        name: 'send',\n        args: [{ type: 'literal', value: eventName }],\n      };\n      if (target) {\n        (node as Record<string, unknown>).target = { type: 'identifier', value: target };\n      }\n      return node;\n    }\n\n    // fetch url [as json/text/html]\n    const fetchMatch = /^fetch\\s+(\\S+)(?:\\s+as\\s+(\\w+))?$/i.exec(trimmed);\n    if (fetchMatch) {\n      const [, url, format] = fetchMatch;\n      const node: ASTNode = {\n        type: 'command',\n        name: 'fetch',\n        args: [{ type: 'literal', value: url }],\n      };\n      if (format) {\n        (node as Record<string, unknown>).modifiers = { as: format };\n      }\n      return node;\n    }\n\n    // put value into target\n    const putMatch = /^put\\s+\"([^\"]+)\"\\s+(into|before|after)\\s+(\\S+)$/i.exec(trimmed);\n    if (putMatch) {\n      const [, content, position, target] = putMatch;\n      return {\n        type: 'command',\n        name: 'put',\n        args: [{ type: 'literal', value: content }],\n        modifiers: { position, [position]: this.parseSimpleValue(target) },\n      };\n    }\n\n    return null;\n  }\n\n  /**\n   * Parse a simple value string to an AST node.\n   */\n  private parseSimpleValue(valueStr: string): ASTNode {\n    const trimmed = valueStr.trim();\n\n    // Quoted string\n    const strMatch = /^\"([^\"]*)\"$/.exec(trimmed) ?? /^'([^']*)'$/.exec(trimmed);\n    if (strMatch) {\n      return { type: 'literal', value: strMatch[1] };\n    }\n\n    // Number\n    if (/^-?\\d+(\\.\\d+)?$/.test(trimmed)) {\n      return { type: 'literal', value: parseFloat(trimmed) };\n    }\n\n    // Boolean\n    if (trimmed === 'true') return { type: 'literal', value: true };\n    if (trimmed === 'false') return { type: 'literal', value: false };\n\n    // Selector (#id or .class)\n    if (/^[#.][a-zA-Z_]/.test(trimmed)) {\n      return { type: 'selector', value: trimmed };\n    }\n\n    // Local variable\n    if (trimmed.startsWith(':')) {\n      return { type: 'variable', name: trimmed, scope: 'local' };\n    }\n\n    // Identifier\n    return { type: 'identifier', value: trimmed };\n  }\n\n  // ===========================================================================\n  // EXPLICIT / JSON INPUT HELPERS\n  // ===========================================================================\n\n  /**\n   * Check if input looks like JSON (LLM JSON format).\n   */\n  private looksLikeJSON(code: string): boolean {\n    const trimmed = code.trim();\n    return trimmed.startsWith('{') && trimmed.includes('\"action\"');\n  }\n\n  /**\n   * Ensure top-level node is always an event handler.\n   * The codegen pipeline (EventHandlerCodegen) requires this.\n   */\n  private ensureEventHandler(ast: ASTNode | null): ASTNode | null {\n    if (ast && ast.type !== 'event') {\n      return {\n        type: 'event',\n        event: 'click',\n        modifiers: {},\n        body: [ast],\n      } as EventHandlerNode;\n    }\n    return ast;\n  }\n\n  // ===========================================================================\n  // ANALYSIS\n  // ===========================================================================\n\n  /**\n   * Analyze an AST for optimization and code generation.\n   */\n  analyze(ast: ASTNode): AnalysisResult {\n    return this.analyzer.analyze(ast);\n  }\n\n  // ===========================================================================\n  // INIT PRE-RENDERING\n  // ===========================================================================\n\n  /**\n   * Pre-render pure init block commands into an HTML template at build time.\n   *\n   * Analyzes init block commands for purity (static DOM writes with literal\n   * values targeting #id selectors) and applies them directly to the HTML.\n   * Impure commands are preserved for normal runtime execution.\n   *\n   * @param html - The HTML template string\n   * @param initCommands - Parsed commands from an init block\n   * @returns Modified HTML, remaining impure commands, and count of pre-rendered commands\n   */\n  preRenderInit(html: string, initCommands: ASTNode[]): PreRenderResult {\n    return preRenderInitBlock(html, initCommands);\n  }\n\n  /**\n   * Extract init blocks from HTML, pre-render pure commands, and return modified HTML.\n   * This is a higher-level convenience that combines extraction, parsing, and pre-rendering.\n   *\n   * @param html - The HTML template string\n   * @param options - Compile options (language, etc.)\n   * @returns Modified HTML with pre-rendered init effects and compilation results\n   */\n  preRenderInitBlocks(\n    html: string,\n    options: CompileOptions = {}\n  ): { html: string; preRenderedCount: number; remainingScripts: ExtractedScript[] } {\n    const scripts = this.extract(html, 'template.html');\n    let modifiedHtml = html;\n    let totalPreRendered = 0;\n    const remainingScripts: ExtractedScript[] = [];\n\n    for (const script of scripts) {\n      // Parse the script to AST\n      const ast = this.parse(script.code, {\n        ...options,\n        language: script.language ?? options.language ?? 'en',\n      });\n      if (!ast) {\n        remainingScripts.push(script);\n        continue;\n      }\n\n      // Extract init block body (top-level event handler with 'init' event)\n      const eventNode = ast as EventHandlerNode;\n      if (eventNode.type === 'event' && eventNode.event === 'init' && eventNode.body) {\n        const result = preRenderInitBlock(modifiedHtml, eventNode.body);\n        modifiedHtml = result.html;\n        totalPreRendered += result.preRenderedCount;\n\n        // If there are remaining commands, keep a modified script\n        if (result.remainingInitCommands.length > 0) {\n          remainingScripts.push(script);\n        }\n        // If all commands were pre-rendered, the script is fully consumed\n      } else {\n        // Not an init block — keep as-is\n        remainingScripts.push(script);\n      }\n    }\n\n    return {\n      html: modifiedHtml,\n      preRenderedCount: totalPreRendered,\n      remainingScripts,\n    };\n  }\n\n  // ===========================================================================\n  // COMPILATION\n  // ===========================================================================\n\n  /**\n   * Compile a single hyperscript string to JavaScript.\n   */\n  compileScript(code: string, options: CompileOptions = {}): CompilationResult {\n    const mergedOptions = { ...DEFAULT_COMPILE_OPTIONS, ...options };\n\n    // Parse\n    const ast = this.parse(code, mergedOptions);\n    if (!ast) {\n      return {\n        success: false,\n        errors: ['Failed to parse hyperscript'],\n        warnings: [],\n        metadata: {\n          handlerId: '',\n          parserUsed: 'traditional',\n          commandsUsed: [],\n          optimizationsApplied: [],\n          needsRuntime: true,\n          runtimeHelpers: [],\n        },\n      };\n    }\n\n    // Analyze\n    const analysis = this.analyze(ast);\n\n    // Optimize\n    const optimized = this.optimizer.optimize(ast, analysis, mergedOptions.optimizationLevel ?? 2);\n\n    // Generate handler ID\n    const handlerId = this.generateHandlerId(ast, code);\n\n    // Create codegen context\n    const ctx = this.createCodegenContext(handlerId, analysis, mergedOptions);\n\n    // Generate code\n    const generated = this.generateCode(optimized, ctx, analysis);\n\n    // Merge codegen-reported imports with context-required helpers\n    const allHelpers = new Set([...ctx.requiredHelpers, ...generated.imports]);\n\n    // Silent-failure detection: warn if event handler has body commands\n    // but generated code has no actual command output\n    if (optimized.type === 'event') {\n      const eventNode = optimized as EventHandlerNode;\n      const bodyLen = eventNode.body?.length ?? 0;\n      if (bodyLen > 0 && generated.code) {\n        const handlerMatch = /function\\s+_handler_\\w+\\(_event\\)\\s*\\{([\\s\\S]*)\\}\\s*$/.exec(\n          generated.code\n        );\n        if (handlerMatch) {\n          const bodyContent = handlerMatch[1]\n            .replace(/const _ctx\\s*=\\s*[^;]*;/g, '')\n            .replace(/const _el\\s*=\\s*[^;]*;/g, '')\n            .trim();\n          if (!bodyContent) {\n            analysis.warnings.push(\n              `Event handler body appears empty despite ${bodyLen} parsed command(s). ` +\n                `This may indicate a code generation failure for: \"${code}\"`\n            );\n          }\n        }\n      }\n    }\n\n    return {\n      success: true,\n      code: generated.code,\n      warnings: analysis.warnings,\n      metadata: {\n        handlerId,\n        parserUsed: mergedOptions.language !== 'en' ? 'semantic' : 'traditional',\n        language: mergedOptions.language,\n        commandsUsed: Array.from(analysis.commandsUsed),\n        optimizationsApplied: (optimized as { _optimizations?: string[] })._optimizations ?? [],\n        needsRuntime: allHelpers.size > 0,\n        runtimeHelpers: Array.from(allHelpers),\n      },\n    };\n  }\n\n  /**\n   * Compile a pre-parsed AST to JavaScript.\n   * Skips parsing entirely — accepts an interchange-format ASTNode directly.\n   * Use this when the AST has already been produced by a semantic parser,\n   * explicit syntax parser, or other external source.\n   */\n  compileAST(ast: ASTNode, options: CompileOptions = {}): CompilationResult {\n    const mergedOptions = { ...DEFAULT_COMPILE_OPTIONS, ...options };\n\n    // Normalize: ensure top-level node is an event handler\n    let normalized = ast;\n    if (normalized.type !== 'event') {\n      normalized = {\n        type: 'event',\n        event: 'click',\n        modifiers: {},\n        body: [normalized],\n      } as EventHandlerNode;\n    }\n\n    // Analyze\n    const analysis = this.analyze(normalized);\n\n    // Optimize\n    const optimized = this.optimizer.optimize(\n      normalized,\n      analysis,\n      mergedOptions.optimizationLevel ?? 2\n    );\n\n    // Generate handler ID (use JSON hash since we have no source string)\n    const sourceHint = JSON.stringify(ast).slice(0, 200);\n    const handlerId = this.generateHandlerId(optimized, sourceHint);\n\n    // Create codegen context\n    const ctx = this.createCodegenContext(handlerId, analysis, mergedOptions);\n\n    // Generate code\n    const generated = this.generateCode(optimized, ctx, analysis);\n\n    // Merge helpers\n    const allHelpers = new Set([...ctx.requiredHelpers, ...generated.imports]);\n\n    // Silent-failure detection\n    if (optimized.type === 'event') {\n      const eventNode = optimized as EventHandlerNode;\n      const bodyLen = eventNode.body?.length ?? 0;\n      if (bodyLen > 0 && generated.code) {\n        const handlerMatch = /function\\s+_handler_\\w+\\(_event\\)\\s*\\{([\\s\\S]*)\\}\\s*$/.exec(\n          generated.code\n        );\n        if (handlerMatch) {\n          const bodyContent = handlerMatch[1]\n            .replace(/const _ctx\\s*=\\s*[^;]*;/g, '')\n            .replace(/const _el\\s*=\\s*[^;]*;/g, '')\n            .trim();\n          if (!bodyContent) {\n            analysis.warnings.push(\n              `Event handler body appears empty despite ${bodyLen} parsed command(s). ` +\n                `This may indicate a code generation failure for pre-parsed AST.`\n            );\n          }\n        }\n      }\n    }\n\n    return {\n      success: true,\n      code: generated.code,\n      warnings: analysis.warnings,\n      metadata: {\n        handlerId,\n        parserUsed: 'traditional', // pre-parsed, no parser involved\n        language: mergedOptions.language,\n        commandsUsed: Array.from(analysis.commandsUsed),\n        optimizationsApplied: (optimized as { _optimizations?: string[] })._optimizations ?? [],\n        needsRuntime: allHelpers.size > 0,\n        runtimeHelpers: Array.from(allHelpers),\n      },\n    };\n  }\n\n  /**\n   * Compile explicit bracket syntax or LLM JSON to JavaScript.\n   * Uses the framework IR directly — no semantic or traditional parser needed.\n   */\n  compileExplicit(code: string, options: CompileOptions = {}): CompilationResult {\n    try {\n      const ast = isExplicitSyntax(code)\n        ? (semanticNodeToRuntimeAST(parseExplicit(code)) as ASTNode)\n        : (semanticNodeToRuntimeAST(fromProtocolJSON(JSON.parse(code.trim()))) as ASTNode);\n\n      return this.compileAST(ast, options);\n    } catch (error) {\n      return {\n        success: false,\n        errors: [error instanceof Error ? error.message : String(error)],\n        warnings: [],\n        metadata: {\n          handlerId: '',\n          parserUsed: 'traditional',\n          commandsUsed: [],\n          optimizationsApplied: [],\n          needsRuntime: false,\n          runtimeHelpers: [],\n        },\n      };\n    }\n  }\n\n  /**\n   * Compile multiple extracted scripts.\n   */\n  compile(scripts: ExtractedScript[], options: CompileOptions = {}): BatchCompilationResult {\n    const handlers: CompiledHandler[] = [];\n    const fallbacks: FallbackScript[] = [];\n    const allImports = new Set<string>();\n\n    for (const script of scripts) {\n      const scriptOptions = {\n        ...options,\n        language: script.language ?? options.language ?? 'en',\n      };\n\n      const result = this.compileScript(script.code, scriptOptions);\n\n      if (result.success && result.code) {\n        handlers.push({\n          id: result.metadata.handlerId,\n          source: script.code,\n          events: this.extractEvents(result.code),\n          code: result.code,\n          binding: {\n            elementId: script.elementId,\n            elementSelector: script.elementSelector,\n          },\n        });\n\n        for (const helper of result.metadata.runtimeHelpers) {\n          allImports.add(helper);\n        }\n      } else {\n        fallbacks.push({\n          id: `fallback_${fallbacks.length}`,\n          script: script.code,\n          reason: result.errors?.join(', ') ?? 'Unknown error',\n          location: script.location,\n        });\n      }\n    }\n\n    // Generate combined code\n    const combinedCode = this.generateCombinedCode(handlers, Array.from(allImports), options);\n\n    return {\n      handlers,\n      code: combinedCode,\n      fallbacks,\n      stats: {\n        total: scripts.length,\n        compiled: handlers.length,\n        fallbacks: fallbacks.length,\n        totalSize: combinedCode.length,\n        runtimeSize: this.estimateRuntimeSize(allImports),\n      },\n    };\n  }\n\n  // ===========================================================================\n  // CODE GENERATION\n  // ===========================================================================\n\n  /**\n   * Generate JavaScript code from an optimized AST.\n   */\n  private generateCode(\n    ast: ASTNode,\n    ctx: CodegenContext,\n    analysis: AnalysisResult\n  ): { code: string; imports: string[] } {\n    // Event handler\n    if (ast.type === 'event') {\n      const eventCodegen = new EventHandlerCodegen(ctx, analysis);\n      const generated = eventCodegen.generate(ast as EventHandlerNode);\n      return {\n        code: generated.handlerCode,\n        imports: generated.imports,\n      };\n    }\n\n    // Command sequence or other\n    const exprCodegen = new ExpressionCodegen(ctx);\n    return {\n      code: exprCodegen.generate(ast),\n      imports: Array.from(ctx.requiredHelpers),\n    };\n  }\n\n  /**\n   * Generate combined code for multiple handlers.\n   */\n  private generateCombinedCode(\n    handlers: CompiledHandler[],\n    imports: string[],\n    options: CompileOptions\n  ): string {\n    const codegenOptions = { ...DEFAULT_CODEGEN_OPTIONS, ...options.codegen };\n    const lines: string[] = [];\n\n    // Ensure 'ready' is always included (binding code requires it)\n    const allImports = [...new Set([...imports, 'ready'])];\n\n    // Import statement and runtime alias\n    const importList = allImports.join(', ');\n    if (codegenOptions.mode === 'iife') {\n      lines.push('(function() {');\n      lines.push(\"var _ls = typeof lokascriptRuntime !== 'undefined' ? lokascriptRuntime : {};\");\n      lines.push('var _rt = { ' + allImports.map(i => `${i}: _ls.${i}`).join(', ') + ' };');\n    } else {\n      if (codegenOptions.mode === 'esm') {\n        lines.push(`import { ${importList} } from '${codegenOptions.runtimeImport}';`);\n      } else if (codegenOptions.mode === 'cjs') {\n        lines.push(`const { ${importList} } = require('${codegenOptions.runtimeImport}');`);\n      }\n      lines.push('const _rt = { ' + allImports.map(i => `${i}: ${i}`).join(', ') + ' };');\n    }\n    lines.push('');\n\n    // Handler functions\n    for (const handler of handlers) {\n      if (codegenOptions.preserveComments) {\n        lines.push(`// Original: ${handler.source}`);\n      }\n      lines.push(handler.code);\n      lines.push('');\n    }\n\n    // Binding code\n    lines.push('// Bind handlers to elements');\n    lines.push('_rt.ready(() => {');\n\n    for (const handler of handlers) {\n      const selector = handler.binding.elementId\n        ? `#${handler.binding.elementId}`\n        : (handler.binding.elementSelector ?? '[_]');\n\n      for (const event of handler.events) {\n        lines.push(`  document.querySelectorAll('${selector}').forEach(_el => {`);\n        lines.push(`    _el.addEventListener('${event}', _handler_${handler.id});`);\n        lines.push('  });');\n      }\n    }\n\n    lines.push('});');\n\n    // Close IIFE wrapper\n    if (codegenOptions.mode === 'iife') {\n      lines.push('})();');\n    }\n\n    return lines.join('\\n');\n  }\n\n  // ===========================================================================\n  // HELPERS\n  // ===========================================================================\n\n  /**\n   * Generate a unique handler ID.\n   */\n  private generateHandlerId(ast: ASTNode, code: string): string {\n    // Get event name if available\n    const event = (ast as EventHandlerNode).event ?? 'handler';\n\n    // Get primary command\n    const body = (ast as { body?: ASTNode[] }).body ?? [];\n    const firstCmd = body[0] as { name?: string } | undefined;\n    const command = firstCmd?.name ?? 'action';\n\n    // Hash the code for uniqueness\n    let hash = 5381;\n    for (let i = 0; i < code.length; i++) {\n      hash = ((hash << 5) + hash) ^ code.charCodeAt(i);\n    }\n    const hashStr = Math.abs(hash).toString(36).slice(0, 4);\n\n    // Generate ID\n    let id = `${event}_${command}_${hashStr}`;\n\n    // Handle collisions\n    let suffix = 0;\n    while (this.usedIds.has(id)) {\n      id = `${event}_${command}_${hashStr}${suffix++}`;\n    }\n\n    this.usedIds.add(id);\n    return id;\n  }\n\n  /**\n   * Create a codegen context.\n   */\n  private createCodegenContext(\n    handlerId: string,\n    analysis: AnalysisResult,\n    options: CompileOptions\n  ): CodegenContext {\n    const selectorCache = new Map<string, string>();\n    const requiredHelpers = new Set<string>();\n    let idCounter = 0;\n\n    // Pre-populate selector cache\n    for (const info of analysis.expressions.selectors) {\n      if (info.canCache && info.usages.length > 1) {\n        const cacheKey =\n          '_sel_' + sanitizeIdentifier(info.selector).slice(0, 20) + '_' + idCounter++;\n        selectorCache.set(info.selector, cacheKey);\n      }\n    }\n\n    const exprCodegenRef: { current: ExpressionCodegen | null } = { current: null };\n\n    const ctx: CodegenContext = {\n      handlerId,\n      generateId: (prefix = '_id') => `${prefix}_${idCounter++}`,\n      generateExpression: (node: ASTNode) => {\n        if (!exprCodegenRef.current) {\n          exprCodegenRef.current = new ExpressionCodegen(ctx);\n        }\n        return exprCodegenRef.current.generate(node);\n      },\n      implicitTarget: '_ctx.me',\n      localVarDeclarations: '',\n      canCacheSelector: (selector: string) => selectorCache.has(selector),\n      getCachedSelector: (selector: string) =>\n        selectorCache.get(selector) ?? `document.querySelector('${selector}')`,\n      requireHelper: (name: string) => {\n        requiredHelpers.add(name);\n      },\n      requiredHelpers,\n      analysis,\n      options: { ...DEFAULT_CODEGEN_OPTIONS, ...options.codegen },\n    };\n\n    return ctx;\n  }\n\n  /**\n   * Extract event names from generated code.\n   */\n  private extractEvents(code: string): string[] {\n    const events: string[] = [];\n    const match = /function\\s+_handler_\\w+\\s*\\(\\s*_event\\s*\\)/.exec(code);\n    if (match) {\n      // Default to click if we can't determine\n      events.push('click');\n    }\n    return events.length > 0 ? events : ['click'];\n  }\n\n  /**\n   * Estimate runtime size based on required helpers.\n   */\n  private estimateRuntimeSize(imports: Set<string>): number {\n    // Rough estimates in bytes\n    const helperSizes: Record<string, number> = {\n      createContext: 200,\n      HALT: 50,\n      EXIT: 50,\n      globals: 100,\n      toggle: 150,\n      toggleAttr: 100,\n      addClass: 80,\n      removeClass: 80,\n      getProp: 120,\n      setProp: 120,\n      getValues: 180,\n      contains: 150,\n      matches: 50,\n      debounce: 150,\n      throttle: 150,\n      wait: 80,\n      send: 150,\n      delegate: 200,\n      fetchJSON: 150,\n      fetchText: 150,\n      fetchHTML: 180,\n      ready: 100,\n    };\n\n    let total = 500; // Base runtime overhead\n    for (const helper of imports) {\n      total += helperSizes[helper] ?? 100;\n    }\n    return total;\n  }\n}\n\n// =============================================================================\n// CONVENIENCE EXPORTS\n// =============================================================================\n\n/**\n * Create a new AOT compiler instance.\n */\nexport function createCompiler(): AOTCompiler {\n  return new AOTCompiler();\n}\n\n/**\n * Compile hyperscript code to JavaScript (convenience function).\n */\nexport async function compileHyperscript(code: string, options?: CompileOptions): Promise<string> {\n  const compiler = new AOTCompiler();\n  const result = compiler.compileScript(code, options);\n\n  if (!result.success) {\n    throw new Error(result.errors?.join(', ') ?? 'Compilation failed');\n  }\n\n  return result.code ?? '';\n}\n\n/**\n * Create an AOT compiler with both core and semantic parsers wired up.\n * Dynamically imports @hyperfixi/core and @lokascript/semantic if available.\n */\nexport async function createMultilingualCompiler(): Promise<AOTCompiler> {\n  const compiler = new AOTCompiler();\n\n  try {\n    const { createCoreParserAdapter } = await import('./core-parser-adapter.js');\n    compiler.setParser(await createCoreParserAdapter());\n  } catch {\n    /* @hyperfixi/core not available */\n  }\n\n  try {\n    const { createSemanticAdapter } = await import('./semantic-adapter.js');\n    compiler.setSemanticParser(await createSemanticAdapter());\n  } catch {\n    /* @lokascript/semantic not available */\n  }\n\n  return compiler;\n}\n\nexport default AOTCompiler;\n","/**\n * @hyperfixi/aot-compiler\n *\n * Ahead-of-Time compiler for LokaScript/hyperscript.\n * Transforms hyperscript to optimized JavaScript at build time.\n *\n * @example\n * ```typescript\n * import { AOTCompiler, compileHyperscript } from '@hyperfixi/aot-compiler';\n *\n * // Simple usage\n * const js = await compileHyperscript('on click toggle .active');\n *\n * // Full compiler usage\n * const compiler = new AOTCompiler();\n * const scripts = compiler.extract(htmlSource, 'index.html');\n * const result = compiler.compile(scripts, { language: 'en' });\n * console.log(result.code);\n * ```\n */\n\n// =============================================================================\n// MAIN EXPORTS\n// =============================================================================\n\nexport {\n  AOTCompiler,\n  createCompiler,\n  compileHyperscript,\n  createMultilingualCompiler,\n} from './compiler/aot-compiler.js';\n\nexport { Analyzer, analyze } from './compiler/analyzer.js';\n\nexport { SemanticParserAdapter, createSemanticAdapter } from './compiler/semantic-adapter.js';\n\nexport { CoreParserAdapter, createCoreParserAdapter } from './compiler/core-parser-adapter.js';\n\nexport {\n  OptimizationPipeline,\n  ConstantFoldingPass,\n  SelectorCachingPass,\n  DeadCodeEliminationPass,\n  LoopUnrollingPass,\n  createOptimizer,\n  optimize,\n} from './optimizations/index.js';\n\n// =============================================================================\n// SCANNER EXPORTS\n// =============================================================================\n\nexport {\n  HTMLScanner,\n  VueScanner,\n  SvelteScanner,\n  JSXScanner,\n  scanFiles,\n  createScanner,\n} from './scanner/html-scanner.js';\n\n// =============================================================================\n// TRANSFORM EXPORTS\n// =============================================================================\n\nexport {\n  ExpressionCodegen,\n  generateExpression,\n  sanitizeClassName,\n  sanitizeSelector,\n  sanitizeIdentifier,\n} from './transforms/expression-transforms.js';\n\nexport {\n  commandCodegens,\n  generateCommand,\n  generateIf,\n  generateRepeat,\n  generateForEach,\n  generateWhile,\n} from './transforms/command-transforms.js';\n\nexport {\n  EventHandlerCodegen,\n  generateEventHandler,\n  generateBindings,\n  generateInitialization,\n} from './transforms/event-transforms.js';\n\n// =============================================================================\n// TYPE EXPORTS\n// =============================================================================\n\nexport type {\n  // Source extraction\n  SourceLocation,\n  ExtractedScript,\n  ScannerOptions,\n  ScanResult,\n\n  // AST types\n  ASTNode,\n  EventHandlerNode,\n  CommandNode,\n  LiteralNode,\n  IdentifierNode,\n  SelectorNode,\n  VariableNode,\n  BinaryExpressionNode,\n  UnaryExpressionNode,\n  MemberExpressionNode,\n  PossessiveNode,\n  CallExpressionNode,\n  PositionalNode,\n  IfNode,\n  RepeatNode,\n  ForEachNode,\n  WhileNode,\n\n  // Event modifiers\n  EventModifiers,\n\n  // Analysis\n  VariableInfo,\n  SelectorInfo,\n  AnalysisResult,\n\n  // Code generation\n  CodegenOptions,\n  GeneratedExpression,\n  GeneratedHandler,\n  GeneratedCode,\n  CodegenContext,\n  SourceMap,\n\n  // Optimization\n  OptimizationPass,\n  OptimizedAST,\n\n  // Compilation\n  CompileOptions,\n  ParseResult,\n  ParseError,\n  CompilationResult,\n  BatchCompilationResult,\n  CompiledHandler,\n  FallbackScript,\n\n  // Runtime\n  ExecutionContext,\n  CompiledBehavior,\n\n  // CLI\n  CLICompileOptions,\n  CLIAnalyzeOptions,\n} from './types/aot-types.js';\n\n// =============================================================================\n// VERSION\n// =============================================================================\n\nexport const VERSION = '1.0.0';\n","/**\n * @lokascript/compilation-service\n *\n * Semantic compilation service for LokaScript.\n * Validates and compiles hyperscript from 24 languages, explicit syntax, or LLM JSON.\n * Generates behavior-level tests from semantic analysis.\n * Generates framework components (React, Vue, Svelte) from abstract operations.\n */\n\n// Main service\nexport { CompilationService } from './service.js';\n\n// Types\nexport type {\n  CompileRequest,\n  CompileResponse,\n  ValidationResponse,\n  TranslateRequest,\n  TranslateResponse,\n  TestRequest,\n  TestResponse,\n  GeneratedTestOutput,\n  ComponentRequest,\n  ComponentResponse,\n  DiffRequest,\n  DiffResponse,\n  DiffInput,\n  TriggerDiff,\n  OperationDiff,\n  OperationChangeKind,\n  ServiceOptions,\n  SemanticJSON,\n  SemanticJSONValue,\n  Diagnostic,\n  InputFormat,\n} from './types.js';\n\n// Input utilities (for custom pipelines)\nexport { detectFormat } from './input/detect.js';\nexport { validateSemanticJSON, jsonToSemanticNode } from './input/json-schema.js';\n\n// Cache (for custom configurations)\nexport { SemanticCache, generateCacheKey } from './compile/cache.js';\n\n// Abstract operations (for custom renderers / Phase 3 codegen targets)\nexport type {\n  AbstractOperation,\n  TargetRef,\n  BehaviorSpec,\n  ToggleClassOp,\n  AddClassOp,\n  RemoveClassOp,\n  SetContentOp,\n  AppendContentOp,\n  ShowOp,\n  HideOp,\n  SetVariableOp,\n  IncrementOp,\n  DecrementOp,\n  NavigateOp,\n  FetchOp,\n  WaitOp,\n  TriggerEventOp,\n  FocusOp,\n  BlurOp,\n  LogOp,\n} from './operations/types.js';\nexport { extractOperations } from './operations/extract.js';\n\n// Diff engine (for custom pipelines)\nexport { diffBehaviors, canonicalizeOp } from './diff/diff.js';\n\n// Test renderers\nexport { PlaywrightRenderer } from './renderers/playwright.js';\nexport type { TestRenderer, TestRenderOptions, GeneratedTest } from './renderers/types.js';\n\n// Component renderers\nexport { ReactRenderer } from './renderers/react.js';\nexport { VueRenderer } from './renderers/vue.js';\nexport { SvelteRenderer } from './renderers/svelte.js';\nexport type {\n  ComponentRenderer,\n  ComponentRenderOptions,\n  GeneratedComponent,\n} from './renderers/component-types.js';\n","/**\n * Semantic Diff Engine\n *\n * Compares two BehaviorSpecs at the abstract operation level.\n * Uses LCS (longest common subsequence) for operation-level diffing\n * and post-processes to detect reorderings.\n */\n\nimport type { AbstractOperation, BehaviorSpec } from '../operations/types.js';\nimport type { TriggerDiff, OperationDiff, OperationChangeKind } from './types.js';\n\n// =============================================================================\n// Public API\n// =============================================================================\n\nexport interface DiffResult {\n  identical: boolean;\n  trigger: TriggerDiff | null;\n  operations: OperationDiff[];\n  summary: string;\n}\n\n/**\n * Compare two BehaviorSpecs and produce a structured diff.\n */\nexport function diffBehaviors(a: BehaviorSpec, b: BehaviorSpec): DiffResult {\n  const triggerDiff = diffTrigger(a, b);\n  const opDiffs = diffOperations(a.operations, b.operations);\n\n  const identical = triggerDiff === null && opDiffs.every(d => d.kind === 'unchanged');\n  const summary = generateSummary(triggerDiff, opDiffs);\n\n  return { identical, trigger: triggerDiff, operations: opDiffs, summary };\n}\n\n// =============================================================================\n// Trigger Comparison\n// =============================================================================\n\nfunction diffTrigger(a: BehaviorSpec, b: BehaviorSpec): TriggerDiff | null {\n  const changes: string[] = [];\n\n  if (a.trigger.event !== b.trigger.event) {\n    changes.push(`event: ${a.trigger.event} → ${b.trigger.event}`);\n  }\n\n  // Compare modifiers\n  const aModKeys = Object.keys(a.trigger.modifiers ?? {}).sort();\n  const bModKeys = Object.keys(b.trigger.modifiers ?? {}).sort();\n  const aMods = a.trigger.modifiers ?? {};\n  const bMods = b.trigger.modifiers ?? {};\n\n  for (const key of new Set([...aModKeys, ...bModKeys])) {\n    const aVal = aMods[key];\n    const bVal = bMods[key];\n    if (aVal === undefined) {\n      changes.push(`added modifier: ${key}`);\n    } else if (bVal === undefined) {\n      changes.push(`removed modifier: ${key}`);\n    } else if (JSON.stringify(aVal) !== JSON.stringify(bVal)) {\n      changes.push(`modifier ${key}: ${JSON.stringify(aVal)} → ${JSON.stringify(bVal)}`);\n    }\n  }\n\n  if (changes.length === 0) return null;\n\n  return {\n    a: { event: a.trigger.event, modifiers: a.trigger.modifiers },\n    b: { event: b.trigger.event, modifiers: b.trigger.modifiers },\n    changes,\n  };\n}\n\n// =============================================================================\n// Operation Comparison (LCS-based)\n// =============================================================================\n\nfunction diffOperations(a: AbstractOperation[], b: AbstractOperation[]): OperationDiff[] {\n  const aKeys = a.map(canonicalizeOp);\n  const bKeys = b.map(canonicalizeOp);\n\n  // Build LCS table\n  const lcs = computeLCS(aKeys, bKeys);\n\n  // Walk the LCS to produce diffs\n  const rawDiffs = buildDiffFromLCS(a, b, aKeys, bKeys, lcs);\n\n  // Post-process: detect reorderings among added/removed pairs\n  return detectReorderings(rawDiffs);\n}\n\n/**\n * Compute LCS length table.\n */\nfunction computeLCS(a: string[], b: string[]): number[][] {\n  const m = a.length;\n  const n = b.length;\n  const dp: number[][] = Array.from({ length: m + 1 }, () => new Array(n + 1).fill(0));\n\n  for (let i = 1; i <= m; i++) {\n    for (let j = 1; j <= n; j++) {\n      if (a[i - 1] === b[j - 1]) {\n        dp[i][j] = dp[i - 1][j - 1] + 1;\n      } else {\n        dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);\n      }\n    }\n  }\n\n  return dp;\n}\n\n/**\n * Walk the LCS table backwards to produce raw diffs.\n */\nfunction buildDiffFromLCS(\n  a: AbstractOperation[],\n  b: AbstractOperation[],\n  aKeys: string[],\n  bKeys: string[],\n  dp: number[][]\n): OperationDiff[] {\n  const diffs: OperationDiff[] = [];\n  let i = a.length;\n  let j = b.length;\n\n  while (i > 0 || j > 0) {\n    if (i > 0 && j > 0 && aKeys[i - 1] === bKeys[j - 1]) {\n      // Match — unchanged\n      diffs.push({\n        kind: 'unchanged',\n        index: { a: i - 1, b: j - 1 },\n        a: a[i - 1],\n        b: b[j - 1],\n      });\n      i--;\n      j--;\n    } else if (j > 0 && (i === 0 || dp[i][j - 1] >= dp[i - 1][j])) {\n      // Added in b\n      diffs.push({\n        kind: 'added',\n        index: { b: j - 1 },\n        b: b[j - 1],\n      });\n      j--;\n    } else {\n      // Removed from a\n      diffs.push({\n        kind: 'removed',\n        index: { a: i - 1 },\n        a: a[i - 1],\n      });\n      i--;\n    }\n  }\n\n  return diffs.reverse();\n}\n\n/**\n * Post-process raw diffs to detect reorderings and field-level changes.\n *\n * A reordering is when an operation appears in both sides but at different\n * positions (shows as removed+added pair with the same canonical key).\n *\n * A change is when an operation at the same position has the same op type\n * but different fields (shows as removed+added pair with the same op type).\n */\nfunction detectReorderings(diffs: OperationDiff[]): OperationDiff[] {\n  const removed: OperationDiff[] = [];\n  const added: OperationDiff[] = [];\n  const result: OperationDiff[] = [];\n\n  // Separate removed and added\n  for (const d of diffs) {\n    if (d.kind === 'removed') removed.push(d);\n    else if (d.kind === 'added') added.push(d);\n    else result.push(d);\n  }\n\n  // Match removed/added pairs\n  const usedRemoved = new Set<number>();\n  const usedAdded = new Set<number>();\n\n  // First pass: exact matches (reorderings)\n  for (let ri = 0; ri < removed.length; ri++) {\n    if (usedRemoved.has(ri)) continue;\n    const rKey = canonicalizeOp(removed[ri].a!);\n    for (let ai = 0; ai < added.length; ai++) {\n      if (usedAdded.has(ai)) continue;\n      const aKey = canonicalizeOp(added[ai].b!);\n      if (rKey === aKey) {\n        usedRemoved.add(ri);\n        usedAdded.add(ai);\n        result.push({\n          kind: 'reordered',\n          index: { a: removed[ri].index.a, b: added[ai].index.b },\n          a: removed[ri].a,\n          b: added[ai].b,\n        });\n        break;\n      }\n    }\n  }\n\n  // Second pass: same op type → changed\n  for (let ri = 0; ri < removed.length; ri++) {\n    if (usedRemoved.has(ri)) continue;\n    for (let ai = 0; ai < added.length; ai++) {\n      if (usedAdded.has(ai)) continue;\n      if (removed[ri].a!.op === added[ai].b!.op) {\n        usedRemoved.add(ri);\n        usedAdded.add(ai);\n        result.push({\n          kind: 'changed',\n          index: { a: removed[ri].index.a, b: added[ai].index.b },\n          a: removed[ri].a,\n          b: added[ai].b,\n          changes: describeChanges(removed[ri].a!, added[ai].b!),\n        });\n        break;\n      }\n    }\n  }\n\n  // Remaining unmatched\n  for (let ri = 0; ri < removed.length; ri++) {\n    if (!usedRemoved.has(ri)) result.push(removed[ri]);\n  }\n  for (let ai = 0; ai < added.length; ai++) {\n    if (!usedAdded.has(ai)) result.push(added[ai]);\n  }\n\n  // Sort by position for stable output\n  result.sort((x, y) => {\n    const xPos = x.index.a ?? x.index.b ?? 0;\n    const yPos = y.index.a ?? y.index.b ?? 0;\n    return xPos - yPos;\n  });\n\n  return result;\n}\n\n// =============================================================================\n// Canonicalization\n// =============================================================================\n\n/**\n * Produce a deterministic string key for an AbstractOperation.\n * Two operations with the same key are semantically identical.\n */\nexport function canonicalizeOp(op: AbstractOperation): string {\n  const parts: string[] = [op.op];\n\n  switch (op.op) {\n    case 'toggleClass':\n    case 'addClass':\n    case 'removeClass':\n      parts.push(op.className, canonicalizeTarget(op.target));\n      break;\n    case 'setContent':\n      parts.push(op.content, canonicalizeTarget(op.target), op.position);\n      break;\n    case 'appendContent':\n      parts.push(op.content, canonicalizeTarget(op.target));\n      break;\n    case 'show':\n    case 'hide':\n    case 'focus':\n    case 'blur':\n      parts.push(canonicalizeTarget(op.target));\n      break;\n    case 'setVariable':\n      parts.push(op.name, op.value, op.scope);\n      break;\n    case 'increment':\n    case 'decrement':\n      parts.push(canonicalizeTarget(op.target), String(op.amount));\n      break;\n    case 'navigate':\n      parts.push(op.url);\n      break;\n    case 'historyBack':\n    case 'historyForward':\n      break;\n    case 'fetch':\n      parts.push(op.url, op.format, op.target ? canonicalizeTarget(op.target) : '');\n      break;\n    case 'wait':\n      parts.push(String(op.durationMs));\n      break;\n    case 'triggerEvent':\n      parts.push(op.eventName, canonicalizeTarget(op.target), op.detail ?? '');\n      break;\n    case 'log':\n      parts.push(...op.values);\n      break;\n  }\n\n  return parts.join('|');\n}\n\nfunction canonicalizeTarget(t: { kind: string; value?: string }): string {\n  return t.kind === 'self' ? 'self' : `${t.kind}:${(t as { value?: string }).value ?? ''}`;\n}\n\n// =============================================================================\n// Change Description\n// =============================================================================\n\nfunction describeChanges(a: AbstractOperation, b: AbstractOperation): string[] {\n  const changes: string[] = [];\n  const aObj = a as unknown as Record<string, unknown>;\n  const bObj = b as unknown as Record<string, unknown>;\n\n  // Compare all fields except 'op'\n  const allKeys = new Set([...Object.keys(aObj), ...Object.keys(bObj)]);\n  for (const key of allKeys) {\n    if (key === 'op') continue;\n    const aVal = JSON.stringify(aObj[key]);\n    const bVal = JSON.stringify(bObj[key]);\n    if (aVal !== bVal) {\n      changes.push(`${key}: ${formatValue(aObj[key])} → ${formatValue(bObj[key])}`);\n    }\n  }\n\n  return changes;\n}\n\nfunction formatValue(v: unknown): string {\n  if (v === undefined) return '(none)';\n  if (typeof v === 'object' && v !== null) {\n    const obj = v as Record<string, unknown>;\n    if ('kind' in obj) return obj.kind === 'self' ? 'self' : `${obj.kind}:${obj.value ?? ''}`;\n    return JSON.stringify(v);\n  }\n  return String(v);\n}\n\n// =============================================================================\n// Summary Generation\n// =============================================================================\n\nfunction generateSummary(trigger: TriggerDiff | null, opDiffs: OperationDiff[]): string {\n  const parts: string[] = [];\n\n  if (!trigger && opDiffs.every(d => d.kind === 'unchanged')) {\n    return 'No semantic change';\n  }\n\n  if (trigger) {\n    parts.push(`Trigger: ${trigger.changes.join(', ')}`);\n  }\n\n  const counts: Record<OperationChangeKind, number> = {\n    added: 0,\n    removed: 0,\n    changed: 0,\n    reordered: 0,\n    unchanged: 0,\n  };\n  for (const d of opDiffs) counts[d.kind]++;\n\n  const opParts: string[] = [];\n  if (counts.added > 0) opParts.push(`${counts.added} added`);\n  if (counts.removed > 0) opParts.push(`${counts.removed} removed`);\n  if (counts.changed > 0) opParts.push(`${counts.changed} changed`);\n  if (counts.reordered > 0) opParts.push(`${counts.reordered} reordered`);\n\n  if (opParts.length > 0) {\n    parts.push(`Operations: ${opParts.join(', ')}`);\n  }\n\n  return parts.join('. ');\n}\n","/**\n * Input format detection.\n *\n * Determines whether input is natural language, explicit syntax, or LLM JSON.\n */\n\nimport type { InputFormat } from '../types.js';\n\n/**\n * Detect the input format from a string.\n */\nexport function detectFormat(input: string): InputFormat {\n  const trimmed = input.trim();\n\n  // Explicit syntax: [command role:value ...]\n  if (trimmed.startsWith('[') && trimmed.endsWith(']')) {\n    return 'explicit';\n  }\n\n  // LLM JSON: { \"action\": \"...\", ... }\n  if (trimmed.startsWith('{')) {\n    try {\n      const parsed = JSON.parse(trimmed);\n      if (parsed && typeof parsed === 'object' && typeof parsed.action === 'string') {\n        return 'json';\n      }\n    } catch {\n      // Not valid JSON — fall through to natural language\n    }\n  }\n\n  return 'natural';\n}\n","/**\n * Input normalization.\n *\n * Converts any input format (natural language, explicit syntax, LLM JSON)\n * to a SemanticNode for downstream validation and compilation.\n */\n\nimport type { CompileRequest, NormalizeResult, SemanticJSON, Diagnostic } from '../types.js';\nimport { detectFormat } from './detect.js';\nimport { validateProtocolJSON, fromProtocolJSON } from '@lokascript/framework';\n\n// =============================================================================\n// Dynamic imports (resolved at service creation time)\n// =============================================================================\n\n/** Semantic package functions, injected by CompilationService.create() */\nexport interface SemanticFunctions {\n  parseSemantic: (\n    code: string,\n    language: string\n  ) => { node: unknown; confidence: number; error?: string };\n  parseExplicit: (input: string) => unknown;\n  isExplicitSyntax: (input: string) => boolean;\n}\n\nlet _semantic: SemanticFunctions | null = null;\n\n/** Initialize with semantic package functions. */\nexport function initNormalizer(semantic: SemanticFunctions): void {\n  _semantic = semantic;\n}\n\n// =============================================================================\n// Normalization\n// =============================================================================\n\n/**\n * Normalize any input format to a SemanticNode.\n */\nexport function normalize(request: CompileRequest): NormalizeResult {\n  if (!_semantic) {\n    throw new Error('Normalizer not initialized. Call initNormalizer() first.');\n  }\n\n  // Determine which input format we're working with\n  if (request.semantic) {\n    return normalizeJSON(request.semantic);\n  }\n\n  const input = request.code ?? request.explicit;\n  if (!input) {\n    return {\n      node: null,\n      confidence: 0,\n      format: 'natural',\n      diagnostics: [\n        {\n          severity: 'error',\n          code: 'NO_INPUT',\n          message: 'No input provided. Supply one of: code, explicit, or semantic.',\n        },\n      ],\n    };\n  }\n\n  const format = request.explicit ? 'explicit' : detectFormat(input);\n\n  switch (format) {\n    case 'explicit':\n      return normalizeExplicit(input);\n    case 'json':\n      return normalizeJSON(JSON.parse(input.trim()) as SemanticJSON);\n    case 'natural':\n      return normalizeNatural(input, request.language ?? 'en');\n  }\n}\n\n// =============================================================================\n// Format-Specific Normalization\n// =============================================================================\n\nfunction normalizeNatural(code: string, language: string): NormalizeResult {\n  const diagnostics: Diagnostic[] = [];\n\n  try {\n    const result = _semantic!.parseSemantic(code, language);\n\n    if (result.error) {\n      diagnostics.push({\n        severity: 'error',\n        code: 'PARSE_ERROR',\n        message: result.error,\n      });\n    }\n\n    if (!result.node) {\n      diagnostics.push({\n        severity: 'error',\n        code: 'PARSE_FAILED',\n        message: `Failed to parse \"${code}\" as ${language} hyperscript.`,\n        suggestion: 'Check syntax or try explicit syntax: [command role:value ...]',\n      });\n      return { node: null, confidence: result.confidence, format: 'natural', diagnostics };\n    }\n\n    return {\n      node: result.node,\n      confidence: result.confidence,\n      format: 'natural',\n      diagnostics,\n    };\n  } catch (error) {\n    diagnostics.push({\n      severity: 'error',\n      code: 'PARSE_EXCEPTION',\n      message: error instanceof Error ? error.message : String(error),\n    });\n    return { node: null, confidence: 0, format: 'natural', diagnostics };\n  }\n}\n\nfunction normalizeExplicit(input: string): NormalizeResult {\n  const diagnostics: Diagnostic[] = [];\n\n  try {\n    const node = _semantic!.parseExplicit(input);\n    return {\n      node,\n      confidence: 1.0,\n      format: 'explicit',\n      diagnostics,\n    };\n  } catch (error) {\n    const message = error instanceof Error ? error.message : String(error);\n    const hasRoleGuidance =\n      message.includes('Valid roles') || message.includes('Missing required role');\n    diagnostics.push({\n      severity: 'error',\n      code: 'EXPLICIT_PARSE_ERROR',\n      message,\n      suggestion: hasRoleGuidance\n        ? undefined\n        : 'Use format: [command role:value ...] e.g. [toggle patient:.active]. Use get_command_docs(command) to see valid roles.',\n    });\n    return { node: null, confidence: 0, format: 'explicit', diagnostics };\n  }\n}\n\nfunction normalizeJSON(input: SemanticJSON): NormalizeResult {\n  // Validate structure (unified protocol JSON validator accepts optional kind + trigger)\n  const validationErrors = validateProtocolJSON(input);\n  if (validationErrors.some(d => d.severity === 'error')) {\n    return {\n      node: null,\n      confidence: 0,\n      format: 'json',\n      diagnostics: validationErrors,\n    };\n  }\n\n  // Convert to SemanticNode (unified path accepts optional kind + trigger)\n  const node = fromProtocolJSON(input as any);\n  return {\n    node,\n    confidence: 1.0,\n    format: 'json',\n    diagnostics: validationErrors, // May contain warnings\n  };\n}\n","/**\n * Validation pipeline.\n *\n * Sequential gates that validate a parsed SemanticNode before compilation.\n * Each gate can add diagnostics; errors block compilation.\n */\n\nimport type { Diagnostic } from '../types.js';\n\n// =============================================================================\n// Dynamic imports\n// =============================================================================\n\n/** Semantic validation functions, injected by CompilationService.create() */\nexport interface ValidationFunctions {\n  validateSemanticResult: (result: unknown) => {\n    valid: boolean;\n    errors: Array<{ code: string; message: string; role?: string; severity: string }>;\n    warnings: Array<{ code: string; message: string; role?: string; severity: string }>;\n    confidenceAdjustment: number;\n    suggestions: string[];\n  };\n}\n\nlet _validators: ValidationFunctions | null = null;\n\n/** Initialize with validation functions. */\nexport function initValidation(validators: ValidationFunctions): void {\n  _validators = validators;\n}\n\n// =============================================================================\n// Validation Pipeline\n// =============================================================================\n\nexport interface GateResult {\n  pass: boolean;\n  diagnostics: Diagnostic[];\n  adjustedConfidence: number;\n}\n\n/**\n * Run all validation gates on a parsed semantic node.\n */\nexport function runValidationGates(\n  node: unknown,\n  confidence: number,\n  confidenceThreshold: number\n): GateResult {\n  const diagnostics: Diagnostic[] = [];\n  let adjustedConfidence = confidence;\n\n  // Gate 1: Parse success\n  if (!node) {\n    diagnostics.push({\n      severity: 'error',\n      code: 'PARSE_FAILED',\n      message: 'No semantic node produced from input.',\n    });\n    return { pass: false, diagnostics, adjustedConfidence: 0 };\n  }\n\n  // Gate 2: Confidence threshold\n  if (confidence < confidenceThreshold) {\n    diagnostics.push({\n      severity: 'error',\n      code: 'LOW_CONFIDENCE',\n      message: `Parse confidence ${confidence.toFixed(2)} is below threshold ${confidenceThreshold.toFixed(2)}.`,\n      suggestion: 'Try explicit syntax [command role:value ...] for unambiguous input.',\n    });\n    return { pass: false, diagnostics, adjustedConfidence: confidence };\n  }\n\n  // Gate 3: Schema validation\n  if (_validators) {\n    const semanticResult = nodeToParseResult(node);\n    if (semanticResult) {\n      const validation = _validators.validateSemanticResult(semanticResult);\n\n      // Convert errors\n      for (const err of validation.errors) {\n        diagnostics.push({\n          severity: 'error',\n          code: err.code,\n          message: err.message,\n        });\n      }\n\n      // Convert warnings\n      for (const warn of validation.warnings) {\n        diagnostics.push({\n          severity: 'warning',\n          code: warn.code,\n          message: warn.message,\n        });\n      }\n\n      // Add suggestions\n      for (const suggestion of validation.suggestions) {\n        diagnostics.push({\n          severity: 'info',\n          code: 'SUGGESTION',\n          message: suggestion,\n        });\n      }\n\n      // Adjust confidence\n      adjustedConfidence = Math.max(0, Math.min(1, confidence + validation.confidenceAdjustment));\n\n      if (!validation.valid) {\n        return { pass: false, diagnostics, adjustedConfidence };\n      }\n    }\n  }\n\n  return { pass: true, diagnostics, adjustedConfidence };\n}\n\n// =============================================================================\n// Helpers\n// =============================================================================\n\n/**\n * Convert a SemanticNode to the SemanticParseResult format expected by\n * validateSemanticResult(). The validator expects { action, arguments, confidence }.\n */\nfunction nodeToParseResult(node: unknown): unknown {\n  const n = node as {\n    kind?: string;\n    action?: string;\n    roles?: ReadonlyMap<string, unknown>;\n  };\n\n  if (!n.action) return null;\n\n  // For event handlers, validate the body commands instead\n  const action = n.action === 'on' ? null : n.action;\n  if (!action) return null;\n\n  // Convert roles map to arguments array\n  const args: unknown[] = [];\n  if (n.roles && typeof n.roles.entries === 'function') {\n    for (const [role, value] of n.roles.entries()) {\n      args.push({ role, ...(value as Record<string, unknown>) });\n    }\n  }\n\n  return {\n    action,\n    arguments: args,\n    confidence: 1.0,\n  };\n}\n","/**\n * Compilation bridge.\n *\n * Converts a validated SemanticNode to AOT-compatible ASTNode\n * and compiles it to JavaScript.\n */\n\n// =============================================================================\n// Dynamic imports\n// =============================================================================\n\n/** AST building functions, injected by CompilationService.create() */\nexport interface BridgeFunctions {\n  ASTBuilder: new () => { build(node: unknown): unknown; warnings: string[] };\n  fromSemanticAST: (node: unknown) => unknown;\n}\n\n/** AOT compiler interface */\nexport interface AOTCompilerLike {\n  compileAST(\n    ast: unknown,\n    options?: Record<string, unknown>\n  ): {\n    success: boolean;\n    code?: string;\n    warnings: string[];\n    metadata: {\n      handlerId: string;\n      parserUsed: string;\n      language?: string;\n      commandsUsed: string[];\n      optimizationsApplied: string[];\n      needsRuntime: boolean;\n      runtimeHelpers: string[];\n    };\n    errors?: string[];\n  };\n}\n\nlet _bridge: BridgeFunctions | null = null;\nlet _compiler: AOTCompilerLike | null = null;\n\n/** Initialize with AST building functions and compiler. */\nexport function initBridge(bridge: BridgeFunctions, compiler: AOTCompilerLike): void {\n  _bridge = bridge;\n  _compiler = compiler;\n}\n\n// =============================================================================\n// Bridge\n// =============================================================================\n\nexport interface BridgeResult {\n  success: boolean;\n  code?: string;\n  helpers: string[];\n  warnings: string[];\n  errors: string[];\n}\n\n/**\n * Compile a SemanticNode to JavaScript via the AOT pipeline.\n *\n * SemanticNode → ASTBuilder.build() → fromSemanticAST() → compiler.compileAST()\n */\nexport function compileSemanticNode(\n  node: unknown,\n  options: {\n    language?: string;\n    optimization?: 0 | 1 | 2;\n    target?: 'esm' | 'iife';\n    minify?: boolean;\n  } = {}\n): BridgeResult {\n  if (!_bridge || !_compiler) {\n    throw new Error('Bridge not initialized. Call initBridge() first.');\n  }\n\n  const errors: string[] = [];\n  const warnings: string[] = [];\n\n  // Step 1: Build semantic AST\n  let semanticAST: unknown;\n  try {\n    const builder = new _bridge.ASTBuilder();\n    semanticAST = builder.build(node);\n    warnings.push(...builder.warnings);\n  } catch (error) {\n    errors.push(`AST build failed: ${error instanceof Error ? error.message : String(error)}`);\n    return { success: false, helpers: [], warnings, errors };\n  }\n\n  // Step 2: Convert to interchange format\n  let interchangeAST: unknown;\n  try {\n    interchangeAST = _bridge.fromSemanticAST(semanticAST);\n  } catch (error) {\n    errors.push(\n      `Interchange conversion failed: ${error instanceof Error ? error.message : String(error)}`\n    );\n    return { success: false, helpers: [], warnings, errors };\n  }\n\n  // Step 3: Compile via AOT\n  try {\n    const result = _compiler.compileAST(interchangeAST, {\n      language: options.language ?? 'en',\n      optimizationLevel: options.optimization ?? 2,\n      codegen: {\n        mode: options.target ?? 'esm',\n        minify: options.minify ?? false,\n      },\n    });\n\n    if (!result.success) {\n      return {\n        success: false,\n        helpers: [],\n        warnings: [...warnings, ...result.warnings],\n        errors: [...errors, ...(result.errors ?? ['Compilation failed'])],\n      };\n    }\n\n    return {\n      success: true,\n      code: result.code,\n      helpers: result.metadata.runtimeHelpers,\n      warnings: [...warnings, ...result.warnings],\n      errors,\n    };\n  } catch (error) {\n    errors.push(\n      `AOT compilation failed: ${error instanceof Error ? error.message : String(error)}`\n    );\n    return { success: false, helpers: [], warnings, errors };\n  }\n}\n","/**\n * Semantic-keyed LRU cache.\n *\n * Caches compilation results keyed by canonical semantic representation.\n * Different input languages that produce the same semantics hit the same cache.\n */\n\nimport type { CompileResponse } from '../types.js';\n\n/**\n * Simple LRU cache using Map insertion order.\n */\nexport class SemanticCache {\n  private cache: Map<string, CompileResponse>;\n  private readonly maxSize: number;\n\n  /** Cache hit/miss statistics */\n  hits = 0;\n  misses = 0;\n\n  constructor(maxSize = 500) {\n    this.maxSize = maxSize;\n    this.cache = new Map();\n  }\n\n  /**\n   * Get a cached response, or undefined if not cached.\n   */\n  get(key: string): CompileResponse | undefined {\n    const entry = this.cache.get(key);\n    if (entry) {\n      this.hits++;\n      // Move to end (most recently used)\n      this.cache.delete(key);\n      this.cache.set(key, entry);\n      return entry;\n    }\n    this.misses++;\n    return undefined;\n  }\n\n  /**\n   * Store a response in the cache.\n   */\n  set(key: string, value: CompileResponse): void {\n    // Delete first to reset insertion order\n    this.cache.delete(key);\n\n    // Evict oldest if at capacity\n    if (this.cache.size >= this.maxSize) {\n      const oldest = this.cache.keys().next().value;\n      if (oldest !== undefined) {\n        this.cache.delete(oldest);\n      }\n    }\n\n    this.cache.set(key, value);\n  }\n\n  /** Current cache size */\n  get size(): number {\n    return this.cache.size;\n  }\n\n  /** Clear all entries */\n  clear(): void {\n    this.cache.clear();\n    this.hits = 0;\n    this.misses = 0;\n  }\n}\n\n// =============================================================================\n// Cache Key Generation\n// =============================================================================\n\n/**\n * Generate a canonical cache key from a semantic node and compilation options.\n *\n * The key is based on semantic identity, not syntax — so the same behavior\n * described in English, Japanese, or explicit syntax produces the same key.\n */\nexport function generateCacheKey(\n  node: unknown,\n  options: { optimization?: number; target?: string; minify?: boolean }\n): string {\n  const canonical = canonicalize(node);\n  const optKey = `${options.optimization ?? 2}:${options.target ?? 'esm'}:${options.minify ?? false}`;\n  return `${canonical}|${optKey}`;\n}\n\n/**\n * Canonicalize a SemanticNode to a deterministic string.\n */\nfunction canonicalize(node: unknown): string {\n  if (!node || typeof node !== 'object') return String(node);\n\n  const n = node as Record<string, unknown>;\n  const parts: string[] = [];\n\n  // Action\n  if (n.action) parts.push(`a:${n.action}`);\n  if (n.kind) parts.push(`k:${n.kind}`);\n\n  // Roles (sorted for determinism)\n  if (n.roles && typeof (n.roles as Map<string, unknown>).entries === 'function') {\n    const roles = n.roles as ReadonlyMap<string, unknown>;\n    const sortedRoles = [...roles.entries()].sort(([a], [b]) => a.localeCompare(b));\n    for (const [role, value] of sortedRoles) {\n      parts.push(`r:${role}=${canonicalizeValue(value)}`);\n    }\n  }\n\n  // Body (for event handlers)\n  if (Array.isArray(n.body)) {\n    parts.push(`b:[${n.body.map(canonicalize).join(',')}]`);\n  }\n\n  // Trigger/event modifiers\n  if (n.eventModifiers && typeof n.eventModifiers === 'object') {\n    const mods = Object.entries(n.eventModifiers as Record<string, unknown>)\n      .sort(([a], [b]) => a.localeCompare(b))\n      .map(([k, v]) => `${k}=${v}`)\n      .join(',');\n    if (mods) parts.push(`m:${mods}`);\n  }\n\n  return parts.join(';');\n}\n\nfunction canonicalizeValue(value: unknown): string {\n  if (!value || typeof value !== 'object') return String(value);\n  const v = value as Record<string, unknown>;\n  return `${v.type}:${v.value ?? v.raw ?? ''}`;\n}\n","/**\n * Operation Extraction\n *\n * Converts a SemanticNode (from the parsing pipeline) into a BehaviorSpec\n * containing abstract operations. This is the bridge between semantic roles\n * and framework-agnostic behavior descriptions.\n */\n\nimport type { AbstractOperation, BehaviorSpec, TargetRef } from './types.js';\n\n// =============================================================================\n// Internal Types (mirrors SemanticNode shape without importing semantic types)\n// =============================================================================\n\ninterface RoleValue {\n  type?: string;\n  value?: unknown;\n  raw?: string;\n  selectorKind?: string;\n  dataType?: string;\n  scope?: string;\n}\n\ninterface NodeLike {\n  kind?: string;\n  action?: string;\n  roles?: ReadonlyMap<string, RoleValue>;\n  body?: NodeLike[];\n  eventModifiers?: Record<string, unknown>;\n  metadata?: { sourceText?: string };\n}\n\n// =============================================================================\n// Public API\n// =============================================================================\n\n/**\n * Extract abstract operations from a semantic node.\n *\n * Handles event handlers (extracts trigger + recurses into body)\n * and standalone commands.\n */\nexport function extractOperations(node: unknown): BehaviorSpec {\n  const n = node as NodeLike;\n  if (!n || typeof n !== 'object') {\n    return emptySpec();\n  }\n\n  // Event handler: extract trigger and recurse into body\n  if (n.kind === 'event-handler' || n.action === 'on') {\n    return extractEventHandler(n);\n  }\n\n  // Standalone command: wrap with default trigger\n  const ops = extractCommand(n);\n  return {\n    trigger: { event: 'click' },\n    triggerTarget: { kind: 'self' },\n    operations: ops,\n    async: ops.some(isAsyncOp),\n    source: n.metadata?.sourceText,\n  };\n}\n\n// =============================================================================\n// Event Handler Extraction\n// =============================================================================\n\nfunction extractEventHandler(n: NodeLike): BehaviorSpec {\n  const eventRole = n.roles?.get('event') as RoleValue | undefined;\n  const eventName = String(eventRole?.value ?? 'click');\n\n  const operations: AbstractOperation[] = [];\n\n  if (n.body && Array.isArray(n.body)) {\n    for (const child of n.body) {\n      operations.push(...extractCommand(child));\n    }\n  }\n\n  return {\n    trigger: {\n      event: eventName,\n      modifiers: n.eventModifiers,\n    },\n    triggerTarget: { kind: 'self' },\n    operations,\n    async: operations.some(isAsyncOp),\n    source: n.metadata?.sourceText,\n  };\n}\n\n// =============================================================================\n// Command Extraction\n// =============================================================================\n\nfunction extractCommand(n: NodeLike): AbstractOperation[] {\n  const action = n.action;\n  if (!action || action === 'on') return [];\n\n  const roles = n.roles;\n\n  switch (action) {\n    // --- DOM Class ---\n    case 'toggle':\n      return extractClassOp('toggleClass', roles);\n    case 'add':\n      return extractClassOp('addClass', roles);\n    case 'remove':\n      return extractClassOp('removeClass', roles);\n\n    // --- DOM Content ---\n    case 'put':\n      return extractPut(roles);\n    case 'append':\n      return extractAppend(roles);\n\n    // --- DOM Visibility ---\n    case 'show':\n      return extractVisibility('show', roles);\n    case 'hide':\n      return extractVisibility('hide', roles);\n\n    // --- Variables ---\n    case 'set':\n      return extractSet(roles);\n    case 'increment':\n      return extractIncrDecr('increment', roles);\n    case 'decrement':\n      return extractIncrDecr('decrement', roles);\n\n    // --- Navigation ---\n    case 'go':\n      return extractGo(roles);\n\n    // --- Async ---\n    case 'fetch':\n      return extractFetch(roles);\n    case 'wait':\n      return extractWait(roles);\n\n    // --- Events ---\n    case 'send':\n    case 'trigger':\n      return extractTriggerEvent(roles);\n\n    // --- Focus ---\n    case 'focus':\n      return [{ op: 'focus', target: resolveTarget(roles, 'patient') }];\n    case 'blur':\n      return [{ op: 'blur', target: resolveTarget(roles, 'patient') }];\n\n    // --- Utility ---\n    case 'log':\n      return extractLog(roles);\n\n    default:\n      return [];\n  }\n}\n\n// =============================================================================\n// Per-Command Extractors\n// =============================================================================\n\nfunction extractClassOp(\n  op: 'toggleClass' | 'addClass' | 'removeClass',\n  roles: ReadonlyMap<string, RoleValue> | undefined\n): AbstractOperation[] {\n  const patient = roles?.get('patient');\n  if (!patient) return [];\n\n  const value = String(patient.value ?? '');\n  const className = value.startsWith('.') ? value.slice(1) : value;\n  if (!className) return [];\n\n  const target = resolveTarget(roles, op === 'removeClass' ? 'source' : 'destination');\n\n  return [{ op, className, target }];\n}\n\nfunction extractPut(roles: ReadonlyMap<string, RoleValue> | undefined): AbstractOperation[] {\n  const patient = roles?.get('patient');\n  if (!patient) return [];\n\n  const content = String(patient.value ?? patient.raw ?? '');\n  const target = resolveTarget(roles, 'destination');\n\n  // Determine position from method role\n  const method = roles?.get('method');\n  let position: 'into' | 'before' | 'after' | 'start' | 'end' = 'into';\n  if (method?.value) {\n    const m = String(method.value);\n    if (m === 'before') position = 'before';\n    else if (m === 'after') position = 'after';\n    else if (m === 'start' || m === 'at start of') position = 'start';\n    else if (m === 'end' || m === 'at end of') position = 'end';\n  }\n\n  return [{ op: 'setContent', content, target, position }];\n}\n\nfunction extractAppend(roles: ReadonlyMap<string, RoleValue> | undefined): AbstractOperation[] {\n  const patient = roles?.get('patient');\n  if (!patient) return [];\n\n  const content = String(patient.value ?? patient.raw ?? '');\n  const target = resolveTarget(roles, 'destination');\n\n  return [{ op: 'appendContent', content, target }];\n}\n\nfunction extractVisibility(\n  op: 'show' | 'hide',\n  roles: ReadonlyMap<string, RoleValue> | undefined\n): AbstractOperation[] {\n  const target = resolveTarget(roles, 'patient');\n  return [{ op, target }];\n}\n\nfunction extractSet(roles: ReadonlyMap<string, RoleValue> | undefined): AbstractOperation[] {\n  const destination = roles?.get('destination');\n  const patient = roles?.get('patient');\n\n  if (!destination && !patient) return [];\n\n  // Variable assignment: set :count to 5\n  const targetRole = destination ?? patient;\n  const valueRole = destination ? patient : undefined;\n\n  const name = String(targetRole?.value ?? '');\n  const value = valueRole ? String(valueRole.value ?? '') : '';\n  const scope = (targetRole?.scope ?? 'local') as 'local' | 'element' | 'global';\n\n  return [{ op: 'setVariable', name, value, scope }];\n}\n\nfunction extractIncrDecr(\n  op: 'increment' | 'decrement',\n  roles: ReadonlyMap<string, RoleValue> | undefined\n): AbstractOperation[] {\n  const target = resolveTarget(roles, 'patient');\n\n  // Amount from quantity role\n  const quantity = roles?.get('quantity');\n  const amount = quantity?.value ? Number(quantity.value) : 1;\n\n  return [{ op, target, amount }];\n}\n\nfunction extractGo(roles: ReadonlyMap<string, RoleValue> | undefined): AbstractOperation[] {\n  const destination = roles?.get('destination');\n  if (!destination) return [];\n\n  const url = String(destination.value ?? '');\n\n  if (url === 'back') return [{ op: 'historyBack' }];\n  if (url === 'forward') return [{ op: 'historyForward' }];\n\n  return [{ op: 'navigate', url }];\n}\n\nfunction extractFetch(roles: ReadonlyMap<string, RoleValue> | undefined): AbstractOperation[] {\n  const source = roles?.get('source');\n  if (!source) return [];\n\n  const url = String(source.value ?? source.raw ?? '');\n\n  const responseType = roles?.get('responseType');\n  let format: 'json' | 'text' | 'html' = 'text';\n  if (responseType?.value) {\n    const f = String(responseType.value);\n    if (f === 'json') format = 'json';\n    else if (f === 'html') format = 'html';\n  }\n\n  const destRole = roles?.get('destination');\n  const target = destRole ? resolveTargetFromRole(destRole) : undefined;\n\n  return [{ op: 'fetch', url, format, target }];\n}\n\nfunction extractWait(roles: ReadonlyMap<string, RoleValue> | undefined): AbstractOperation[] {\n  const duration = roles?.get('duration') ?? roles?.get('patient');\n  if (!duration) return [];\n\n  let ms = 0;\n  const val = duration.value;\n  if (typeof val === 'number') {\n    ms = val;\n  } else if (typeof val === 'string') {\n    ms = parseDurationMs(val);\n  }\n\n  return [{ op: 'wait', durationMs: ms }];\n}\n\nfunction extractTriggerEvent(\n  roles: ReadonlyMap<string, RoleValue> | undefined\n): AbstractOperation[] {\n  const patient = roles?.get('patient');\n  if (!patient) return [];\n\n  const eventName = String(patient.value ?? '');\n  const target = resolveTarget(roles, 'destination');\n\n  return [{ op: 'triggerEvent', eventName, target }];\n}\n\nfunction extractLog(roles: ReadonlyMap<string, RoleValue> | undefined): AbstractOperation[] {\n  const patient = roles?.get('patient');\n  const values: string[] = [];\n\n  if (patient) {\n    values.push(String(patient.value ?? patient.raw ?? ''));\n  }\n\n  return [{ op: 'log', values }];\n}\n\n// =============================================================================\n// Helpers\n// =============================================================================\n\n/**\n * Resolve a target reference from the roles map.\n * Falls back to { kind: 'self' } if the role is missing or defaults to 'me'.\n */\nfunction resolveTarget(\n  roles: ReadonlyMap<string, RoleValue> | undefined,\n  roleName: string\n): TargetRef {\n  const role = roles?.get(roleName);\n  if (!role) return { kind: 'self' };\n  return resolveTargetFromRole(role);\n}\n\nfunction resolveTargetFromRole(role: RoleValue): TargetRef {\n  const value = String(role.value ?? '');\n\n  // Reference to self\n  if (role.type === 'reference' && (value === 'me' || value === 'it')) {\n    return { kind: 'self' };\n  }\n\n  // Variable reference\n  if (value.startsWith(':') || role.scope) {\n    return { kind: 'variable', value };\n  }\n\n  // CSS selector\n  if (\n    role.type === 'selector' ||\n    value.startsWith('#') ||\n    value.startsWith('.') ||\n    value.startsWith('[')\n  ) {\n    return { kind: 'selector', value };\n  }\n\n  // Literal URL or other value — treat as selector if it looks like one\n  if (value) {\n    return { kind: 'selector', value };\n  }\n\n  return { kind: 'self' };\n}\n\nfunction isAsyncOp(op: AbstractOperation): boolean {\n  return op.op === 'fetch' || op.op === 'wait';\n}\n\nfunction parseDurationMs(value: string): number {\n  const match = value.match(/^(\\d+(?:\\.\\d+)?)\\s*(ms|s|m|h)?$/);\n  if (!match) return 0;\n\n  const num = parseFloat(match[1]);\n  const unit = match[2] ?? 'ms';\n\n  switch (unit) {\n    case 'ms':\n      return num;\n    case 's':\n      return num * 1000;\n    case 'm':\n      return num * 60000;\n    case 'h':\n      return num * 3600000;\n    default:\n      return num;\n  }\n}\n\nfunction emptySpec(): BehaviorSpec {\n  return {\n    trigger: { event: 'click' },\n    triggerTarget: { kind: 'self' },\n    operations: [],\n    async: false,\n  };\n}\n","/**\n * HTML Fixture Generator\n *\n * Generates minimal HTML pages that contain all elements referenced\n * by a BehaviorSpec. Used by test renderers to create test fixtures.\n */\n\nimport type { AbstractOperation, BehaviorSpec, TargetRef } from '../operations/types.js';\n\n// =============================================================================\n// Public API\n// =============================================================================\n\n/**\n * Generate a minimal HTML fixture for a behavior spec.\n *\n * @param spec - The behavior to create a fixture for\n * @param hyperscript - Original hyperscript source to embed as `_=\"...\"` attribute\n */\nexport function generateFixture(spec: BehaviorSpec, hyperscript?: string): string {\n  const elements = collectElements(spec);\n  const triggerSelector = targetToSelector(spec.triggerTarget);\n\n  // When trigger is 'self', the hyperscript attribute goes on the first\n  // operation target (since 'self' means the element the script is on).\n  // When trigger is a specific selector, check if it matches an operation target.\n  const triggerIsSeparate =\n    triggerSelector !== null && !elements.some(e => e.selector === triggerSelector);\n\n  // Track whether the _= attribute has been placed on an element\n  let hyperscriptPlaced = false;\n\n  const lines: string[] = [];\n\n  // Add initial styles for visibility tests\n  if (needsInitialStyles(spec.operations)) {\n    lines.push('<style>');\n    for (const op of spec.operations) {\n      if (op.op === 'hide') {\n        const sel = targetToSelector(op.target);\n        if (sel) lines.push(`  ${sel} { display: block; }`);\n      }\n      if (op.op === 'show') {\n        const sel = targetToSelector(op.target);\n        if (sel) lines.push(`  ${sel} { display: none; }`);\n      }\n    }\n    lines.push('</style>');\n  }\n\n  // Generate elements\n  if (triggerIsSeparate) {\n    // Trigger element is separate from targets\n    const triggerEl = createTriggerElement(triggerSelector!, hyperscript);\n    lines.push(triggerEl);\n    hyperscriptPlaced = true;\n  }\n\n  for (const el of elements) {\n    // Place _= attribute on this element if:\n    // 1. It matches the trigger selector, OR\n    // 2. Trigger is 'self' and this is the first element (hasn't been placed yet)\n    const isTrigger =\n      (!triggerIsSeparate && el.selector === triggerSelector) ||\n      (triggerSelector === null && !hyperscriptPlaced);\n    const attrs = isTrigger && hyperscript ? ` _=\"${escapeAttr(hyperscript)}\"` : '';\n    if (isTrigger && hyperscript) hyperscriptPlaced = true;\n    const extraClasses = getInitialClasses(el.selector, spec.operations);\n\n    let tag = el.tag;\n    let className = el.className;\n    if (extraClasses.length > 0) {\n      className = className ? `${className} ${extraClasses.join(' ')}` : extraClasses.join(' ');\n    }\n\n    const classAttr = className ? ` class=\"${className}\"` : '';\n    const idAttr = el.id ? ` id=\"${el.id}\"` : '';\n\n    if (tag === 'input') {\n      lines.push(`<${tag}${idAttr}${classAttr}${attrs} />`);\n    } else {\n      const content = el.defaultContent ?? '';\n      lines.push(`<${tag}${idAttr}${classAttr}${attrs}>${content}</${tag}>`);\n    }\n  }\n\n  // If trigger is self and no explicit elements, create a self-targeting button\n  if (elements.length === 0 && spec.triggerTarget.kind === 'self') {\n    const attr = hyperscript ? ` _=\"${escapeAttr(hyperscript)}\"` : '';\n    lines.push(`<button id=\"trigger\"${attr}>Click me</button>`);\n  }\n\n  return lines.join('\\n');\n}\n\n// =============================================================================\n// Element Collection\n// =============================================================================\n\ninterface FixtureElement {\n  selector: string;\n  id?: string;\n  className?: string;\n  tag: string;\n  defaultContent?: string;\n}\n\nfunction collectElements(spec: BehaviorSpec): FixtureElement[] {\n  const seen = new Set<string>();\n  const elements: FixtureElement[] = [];\n\n  for (const op of spec.operations) {\n    for (const ref of getTargetRefs(op)) {\n      if (ref.kind !== 'selector') continue;\n      if (seen.has(ref.value)) continue;\n      seen.add(ref.value);\n\n      elements.push(selectorToElement(ref.value));\n    }\n  }\n\n  return elements;\n}\n\nfunction getTargetRefs(op: AbstractOperation): TargetRef[] {\n  const refs: TargetRef[] = [];\n\n  if ('target' in op && op.target) {\n    refs.push(op.target as TargetRef);\n  }\n\n  return refs;\n}\n\nfunction selectorToElement(selector: string): FixtureElement {\n  // ID selector: #foo\n  if (selector.startsWith('#')) {\n    const id = selector.slice(1);\n    return {\n      selector,\n      id,\n      tag: inferTagFromId(id),\n      defaultContent: inferContent(id),\n    };\n  }\n\n  // Class selector: .foo\n  if (selector.startsWith('.')) {\n    const className = selector.slice(1);\n    return {\n      selector,\n      className,\n      tag: 'div',\n      defaultContent: className,\n    };\n  }\n\n  // Attribute or complex selector — use div\n  return {\n    selector,\n    tag: 'div',\n    defaultContent: '',\n  };\n}\n\n// =============================================================================\n// Smart Element Type Inference\n// =============================================================================\n\nconst BUTTON_IDS = new Set(['btn', 'button', 'submit', 'trigger', 'action']);\nconst INPUT_IDS = new Set(['input', 'search', 'email', 'text', 'field', 'query']);\nconst FORM_IDS = new Set(['form', 'signup', 'login']);\nconst DIALOG_IDS = new Set(['modal', 'dialog', 'popup', 'overlay']);\nconst LIST_IDS = new Set(['list', 'items', 'results', 'options']);\n\nfunction inferTagFromId(id: string): string {\n  const lower = id.toLowerCase();\n  if (BUTTON_IDS.has(lower)) return 'button';\n  if (INPUT_IDS.has(lower)) return 'input';\n  if (FORM_IDS.has(lower)) return 'form';\n  if (DIALOG_IDS.has(lower)) return 'div';\n  if (LIST_IDS.has(lower)) return 'ul';\n  return 'div';\n}\n\nfunction inferContent(id: string): string {\n  const lower = id.toLowerCase();\n  if (BUTTON_IDS.has(lower)) return 'Click';\n  if (INPUT_IDS.has(lower)) return '';\n  if (LIST_IDS.has(lower)) return '';\n  // Capitalize first letter\n  return id.charAt(0).toUpperCase() + id.slice(1);\n}\n\n// =============================================================================\n// Helpers\n// =============================================================================\n\nfunction createTriggerElement(selector: string, hyperscript?: string): string {\n  const attr = hyperscript ? ` _=\"${escapeAttr(hyperscript)}\"` : '';\n  // If the trigger selector refers to an existing element type, use it\n  if (selector.startsWith('#')) {\n    const id = selector.slice(1);\n    return `<button id=\"${id}\"${attr}>Click</button>`;\n  }\n  return `<button id=\"trigger\"${attr}>Click</button>`;\n}\n\nfunction targetToSelector(ref: TargetRef): string | null {\n  if (ref.kind === 'selector') return ref.value;\n  if (ref.kind === 'self') return null;\n  return null;\n}\n\nfunction needsInitialStyles(ops: AbstractOperation[]): boolean {\n  return ops.some(op => op.op === 'hide' || op.op === 'show');\n}\n\nfunction getInitialClasses(selector: string, ops: AbstractOperation[]): string[] {\n  const classes: string[] = [];\n  for (const op of ops) {\n    if (op.op === 'removeClass' && 'target' in op) {\n      const targetSel = targetToSelector(op.target);\n      if (targetSel === selector || (op.target.kind === 'self' && selector === null)) {\n        classes.push(op.className);\n      }\n    }\n  }\n  return classes;\n}\n\nfunction escapeAttr(s: string): string {\n  return s\n    .replace(/&/g, '&amp;')\n    .replace(/\"/g, '&quot;')\n    .replace(/</g, '&lt;')\n    .replace(/>/g, '&gt;');\n}\n","/**\n * Playwright Test Renderer\n *\n * Generates complete Playwright test files from BehaviorSpecs.\n * Each generated test creates an HTML fixture, triggers the behavior,\n * and asserts the expected DOM changes.\n */\n\nimport type { AbstractOperation, BehaviorSpec, TargetRef } from '../operations/types.js';\nimport type { TestRenderer, TestRenderOptions, GeneratedTest } from './types.js';\nimport { generateFixture } from './html-fixture.js';\n\n// =============================================================================\n// Renderer\n// =============================================================================\n\nexport class PlaywrightRenderer implements TestRenderer {\n  readonly framework = 'playwright';\n\n  render(spec: BehaviorSpec, options: TestRenderOptions = {}): GeneratedTest {\n    const testName = options.testName ?? generateTestName(spec);\n    const html = generateFixture(spec, options.hyperscript);\n\n    const lines: string[] = [];\n\n    // Import\n    lines.push(\"import { test, expect } from '@playwright/test';\");\n    lines.push('');\n\n    // Test\n    lines.push(`test('${escapeString(testName)}', async ({ page }) => {`);\n\n    // Setup fixture\n    lines.push(`  await page.setContent(\\`${escapeTemplate(wrapHtml(html))}\\`);`);\n\n    // Load runtime or compiled JS\n    if (options.executionMode === 'compiled' && options.compiledJs) {\n      lines.push(\n        `  await page.addScriptTag({ content: \\`${escapeTemplate(options.compiledJs)}\\` });`\n      );\n    } else {\n      const bundlePath =\n        options.bundlePath ?? './node_modules/@hyperfixi/core/dist/lokascript-browser.js';\n      lines.push(`  await page.addScriptTag({ path: '${escapeString(bundlePath)}' });`);\n      lines.push(\"  await page.waitForFunction(() => document.querySelector('[_]') !== null);\");\n      // Wait for LokaScript to process attributes\n      lines.push('  await page.waitForTimeout(100);');\n    }\n    lines.push('');\n\n    // Determine trigger locator\n    const triggerLocator = getTriggerLocator(spec);\n\n    // Generate assertions for each operation\n    for (const op of spec.operations) {\n      const assertions = generateAssertions(op, spec, triggerLocator);\n      lines.push(...assertions.map(l => `  ${l}`));\n    }\n\n    lines.push('});');\n    lines.push('');\n\n    return {\n      name: testName,\n      code: lines.join('\\n'),\n      html,\n      framework: 'playwright',\n      operations: spec.operations,\n    };\n  }\n}\n\n// =============================================================================\n// Assertion Generation\n// =============================================================================\n\nfunction generateAssertions(\n  op: AbstractOperation,\n  spec: BehaviorSpec,\n  triggerLocator: string\n): string[] {\n  switch (op.op) {\n    case 'toggleClass':\n      return generateToggleClassAssertions(op, spec, triggerLocator);\n    case 'addClass':\n      return generateAddClassAssertions(op, spec, triggerLocator);\n    case 'removeClass':\n      return generateRemoveClassAssertions(op, spec, triggerLocator);\n    case 'setContent':\n      return generateSetContentAssertions(op, spec, triggerLocator);\n    case 'appendContent':\n      return generateAppendContentAssertions(op, spec, triggerLocator);\n    case 'show':\n      return generateShowAssertions(op, spec, triggerLocator);\n    case 'hide':\n      return generateHideAssertions(op, spec, triggerLocator);\n    case 'navigate':\n      return generateNavigateAssertions(op, spec, triggerLocator);\n    case 'focus':\n      return generateFocusAssertions(op, spec, triggerLocator);\n    case 'blur':\n      return generateBlurAssertions(op, spec, triggerLocator);\n    case 'triggerEvent':\n      return generateTriggerEventAssertions(op, spec, triggerLocator);\n    case 'fetch':\n      return generateFetchAssertions(op, spec, triggerLocator);\n    case 'wait':\n      return generateWaitAssertions(op);\n    case 'setVariable':\n    case 'increment':\n    case 'decrement':\n      return generateVariableAssertions(op, spec, triggerLocator);\n    case 'log':\n      return generateLogAssertions(op, spec, triggerLocator);\n    default:\n      return [`// Unsupported operation: ${(op as AbstractOperation).op}`];\n  }\n}\n\n// --- DOM Class ---\n\nfunction generateToggleClassAssertions(\n  op: { className: string; target: TargetRef },\n  spec: BehaviorSpec,\n  triggerLocator: string\n): string[] {\n  const locator = targetToLocator(op.target, spec);\n  const lines: string[] = [];\n\n  lines.push(`// Toggle .${op.className}`);\n  lines.push(`await ${triggerLocator}.${triggerAction(spec)};`);\n  if (spec.async) lines.push('await page.waitForTimeout(100);');\n  lines.push(`await expect(${locator}).toHaveClass(/${op.className}/);`);\n  lines.push('');\n  lines.push(`// Toggle back`);\n  lines.push(`await ${triggerLocator}.${triggerAction(spec)};`);\n  if (spec.async) lines.push('await page.waitForTimeout(100);');\n  lines.push(`await expect(${locator}).not.toHaveClass(/${op.className}/);`);\n\n  return lines;\n}\n\nfunction generateAddClassAssertions(\n  op: { className: string; target: TargetRef },\n  spec: BehaviorSpec,\n  triggerLocator: string\n): string[] {\n  const locator = targetToLocator(op.target, spec);\n  return [\n    `// Add .${op.className}`,\n    `await ${triggerLocator}.${triggerAction(spec)};`,\n    ...(spec.async ? ['await page.waitForTimeout(100);'] : []),\n    `await expect(${locator}).toHaveClass(/${op.className}/);`,\n  ];\n}\n\nfunction generateRemoveClassAssertions(\n  op: { className: string; target: TargetRef },\n  spec: BehaviorSpec,\n  triggerLocator: string\n): string[] {\n  const locator = targetToLocator(op.target, spec);\n  return [\n    `// Remove .${op.className} (should have it initially)`,\n    `await expect(${locator}).toHaveClass(/${op.className}/);`,\n    `await ${triggerLocator}.${triggerAction(spec)};`,\n    ...(spec.async ? ['await page.waitForTimeout(100);'] : []),\n    `await expect(${locator}).not.toHaveClass(/${op.className}/);`,\n  ];\n}\n\n// --- DOM Content ---\n\nfunction generateSetContentAssertions(\n  op: { content: string; target: TargetRef },\n  spec: BehaviorSpec,\n  triggerLocator: string\n): string[] {\n  const locator = targetToLocator(op.target, spec);\n  return [\n    `// Put \"${op.content}\" into element`,\n    `await ${triggerLocator}.${triggerAction(spec)};`,\n    ...(spec.async ? ['await page.waitForTimeout(100);'] : []),\n    `await expect(${locator}).toContainText('${escapeString(op.content)}');`,\n  ];\n}\n\nfunction generateAppendContentAssertions(\n  op: { content: string; target: TargetRef },\n  spec: BehaviorSpec,\n  triggerLocator: string\n): string[] {\n  const locator = targetToLocator(op.target, spec);\n  return [\n    `// Append \"${op.content}\"`,\n    `await ${triggerLocator}.${triggerAction(spec)};`,\n    ...(spec.async ? ['await page.waitForTimeout(100);'] : []),\n    `await expect(${locator}).toContainText('${escapeString(op.content)}');`,\n  ];\n}\n\n// --- DOM Visibility ---\n\nfunction generateShowAssertions(\n  op: { target: TargetRef },\n  spec: BehaviorSpec,\n  triggerLocator: string\n): string[] {\n  const locator = targetToLocator(op.target, spec);\n  return [\n    '// Show element (initially hidden)',\n    `await expect(${locator}).not.toBeVisible();`,\n    `await ${triggerLocator}.${triggerAction(spec)};`,\n    ...(spec.async ? ['await page.waitForTimeout(100);'] : []),\n    `await expect(${locator}).toBeVisible();`,\n  ];\n}\n\nfunction generateHideAssertions(\n  op: { target: TargetRef },\n  spec: BehaviorSpec,\n  triggerLocator: string\n): string[] {\n  const locator = targetToLocator(op.target, spec);\n  return [\n    '// Hide element (initially visible)',\n    `await expect(${locator}).toBeVisible();`,\n    `await ${triggerLocator}.${triggerAction(spec)};`,\n    ...(spec.async ? ['await page.waitForTimeout(100);'] : []),\n    `await expect(${locator}).not.toBeVisible();`,\n  ];\n}\n\n// --- Navigation ---\n\nfunction generateNavigateAssertions(\n  op: { url: string },\n  spec: BehaviorSpec,\n  triggerLocator: string\n): string[] {\n  return [\n    `// Navigate to ${op.url}`,\n    `// Note: Navigation will change the page URL`,\n    `await ${triggerLocator}.${triggerAction(spec)};`,\n    `await page.waitForURL('**${op.url}**');`,\n  ];\n}\n\n// --- Focus ---\n\nfunction generateFocusAssertions(\n  op: { target: TargetRef },\n  spec: BehaviorSpec,\n  triggerLocator: string\n): string[] {\n  const locator = targetToLocator(op.target, spec);\n  return [\n    '// Focus element',\n    `await ${triggerLocator}.${triggerAction(spec)};`,\n    ...(spec.async ? ['await page.waitForTimeout(100);'] : []),\n    `await expect(${locator}).toBeFocused();`,\n  ];\n}\n\nfunction generateBlurAssertions(\n  op: { target: TargetRef },\n  spec: BehaviorSpec,\n  triggerLocator: string\n): string[] {\n  const locator = targetToLocator(op.target, spec);\n  return [\n    '// Blur element',\n    `await ${locator}.focus();`,\n    `await expect(${locator}).toBeFocused();`,\n    `await ${triggerLocator}.${triggerAction(spec)};`,\n    ...(spec.async ? ['await page.waitForTimeout(100);'] : []),\n    `await expect(${locator}).not.toBeFocused();`,\n  ];\n}\n\n// --- Events ---\n\nfunction generateTriggerEventAssertions(\n  op: { eventName: string; target: TargetRef },\n  spec: BehaviorSpec,\n  triggerLocator: string\n): string[] {\n  return [\n    `// Trigger '${op.eventName}' event`,\n    `const eventReceived = page.evaluate((sel) => {`,\n    `  return new Promise<boolean>((resolve) => {`,\n    `    const el = document.querySelector(sel) ?? document.body;`,\n    `    el.addEventListener('${escapeString(op.eventName)}', () => resolve(true), { once: true });`,\n    `    setTimeout(() => resolve(false), 2000);`,\n    `  });`,\n    `}, '${escapeString(targetToCssSelector(op.target))}');`,\n    `await ${triggerLocator}.${triggerAction(spec)};`,\n    `expect(await eventReceived).toBe(true);`,\n  ];\n}\n\n// --- Async ---\n\nfunction generateFetchAssertions(\n  op: { url: string; format: string; target?: TargetRef },\n  spec: BehaviorSpec,\n  triggerLocator: string\n): string[] {\n  const lines: string[] = [];\n\n  lines.push(`// Fetch ${op.url} as ${op.format}`);\n\n  // Mock the network request\n  if (op.format === 'json') {\n    lines.push(`await page.route('**${op.url}**', route => {`);\n    lines.push(`  route.fulfill({`);\n    lines.push(`    contentType: 'application/json',`);\n    lines.push(`    body: JSON.stringify({ data: 'mock' }),`);\n    lines.push(`  });`);\n    lines.push(`});`);\n  } else if (op.format === 'html') {\n    lines.push(`await page.route('**${op.url}**', route => {`);\n    lines.push(`  route.fulfill({`);\n    lines.push(`    contentType: 'text/html',`);\n    lines.push(`    body: '<div>Mock HTML</div>',`);\n    lines.push(`  });`);\n    lines.push(`});`);\n  } else {\n    lines.push(`await page.route('**${op.url}**', route => {`);\n    lines.push(`  route.fulfill({`);\n    lines.push(`    contentType: 'text/plain',`);\n    lines.push(`    body: 'Mock response',`);\n    lines.push(`  });`);\n    lines.push(`});`);\n  }\n\n  lines.push(`await ${triggerLocator}.${triggerAction(spec)};`);\n  lines.push('await page.waitForTimeout(500);');\n\n  // If there's a target, verify content was placed\n  if (op.target) {\n    const locator = targetToLocator(op.target, spec);\n    lines.push(`await expect(${locator}).not.toBeEmpty();`);\n  }\n\n  return lines;\n}\n\nfunction generateWaitAssertions(op: { durationMs: number }): string[] {\n  return [`// Wait ${op.durationMs}ms`, `// (no assertion — wait is a timing operation)`];\n}\n\n// --- Variables ---\n\nfunction generateVariableAssertions(\n  op: AbstractOperation,\n  spec: BehaviorSpec,\n  triggerLocator: string\n): string[] {\n  // Variable operations don't have direct DOM assertions\n  // but we can verify the behavior executed without errors\n  return [\n    `// ${op.op} (variable operation — verify no errors)`,\n    'const errors: string[] = [];',\n    \"page.on('pageerror', (err) => errors.push(err.message));\",\n    `await ${triggerLocator}.${triggerAction(spec)};`,\n    ...(spec.async ? ['await page.waitForTimeout(100);'] : []),\n    'expect(errors).toHaveLength(0);',\n  ];\n}\n\n// --- Utility ---\n\nfunction generateLogAssertions(\n  op: { values: string[] },\n  spec: BehaviorSpec,\n  triggerLocator: string\n): string[] {\n  return [\n    `// Log: ${op.values.join(', ')}`,\n    'const logs: string[] = [];',\n    \"page.on('console', msg => { if (msg.type() === 'log') logs.push(msg.text()); });\",\n    `await ${triggerLocator}.${triggerAction(spec)};`,\n    ...(spec.async ? ['await page.waitForTimeout(100);'] : []),\n    'expect(logs.length).toBeGreaterThan(0);',\n  ];\n}\n\n// =============================================================================\n// Helpers\n// =============================================================================\n\nfunction generateTestName(spec: BehaviorSpec): string {\n  if (spec.source) return spec.source;\n\n  const parts: string[] = [];\n  parts.push(`on ${spec.trigger.event}`);\n\n  for (const op of spec.operations) {\n    parts.push(describeOp(op));\n  }\n\n  return parts.join(' ');\n}\n\nfunction describeOp(op: AbstractOperation): string {\n  switch (op.op) {\n    case 'toggleClass':\n      return `toggle .${op.className}${describeTarget(op.target)}`;\n    case 'addClass':\n      return `add .${op.className}${describeTarget(op.target)}`;\n    case 'removeClass':\n      return `remove .${op.className}${describeTarget(op.target)}`;\n    case 'setContent':\n      return `put \"${op.content}\"${describeTarget(op.target)}`;\n    case 'appendContent':\n      return `append \"${op.content}\"${describeTarget(op.target)}`;\n    case 'show':\n      return `show${describeTarget(op.target)}`;\n    case 'hide':\n      return `hide${describeTarget(op.target)}`;\n    case 'navigate':\n      return `go to ${op.url}`;\n    case 'focus':\n      return `focus${describeTarget(op.target)}`;\n    case 'blur':\n      return `blur${describeTarget(op.target)}`;\n    case 'fetch':\n      return `fetch ${op.url} as ${op.format}`;\n    case 'wait':\n      return `wait ${op.durationMs}ms`;\n    case 'setVariable':\n      return `set ${op.name} to ${op.value}`;\n    case 'increment':\n      return `increment${describeTarget(op.target)}`;\n    case 'decrement':\n      return `decrement${describeTarget(op.target)}`;\n    case 'triggerEvent':\n      return `trigger ${op.eventName}${describeTarget(op.target)}`;\n    case 'log':\n      return `log ${op.values.join(', ')}`;\n    case 'historyBack':\n      return 'go back';\n    case 'historyForward':\n      return 'go forward';\n    default:\n      return (op as AbstractOperation).op;\n  }\n}\n\nfunction describeTarget(target: TargetRef): string {\n  if (target.kind === 'self') return '';\n  if (target.kind === 'selector') return ` on ${target.value}`;\n  if (target.kind === 'variable') return ` on ${target.value}`;\n  return '';\n}\n\nfunction getTriggerLocator(spec: BehaviorSpec): string {\n  if (spec.triggerTarget.kind === 'selector') {\n    return `page.locator('${escapeString(spec.triggerTarget.value)}')`;\n  }\n\n  // Self — find the element with the _=\"...\" attribute\n  // If operations have a target, use that; otherwise use a generic trigger\n  for (const op of spec.operations) {\n    if ('target' in op && (op as { target: TargetRef }).target.kind === 'selector') {\n      const t = (op as { target: TargetRef }).target;\n      if (t.kind === 'selector') {\n        return `page.locator('${escapeString(t.value)}')`;\n      }\n    }\n  }\n\n  return \"page.locator('[_]')\";\n}\n\nfunction targetToLocator(target: TargetRef, spec: BehaviorSpec): string {\n  if (target.kind === 'selector') {\n    return `page.locator('${escapeString(target.value)}')`;\n  }\n  if (target.kind === 'self') {\n    return getTriggerLocator(spec);\n  }\n  // Variable target — fall back to trigger\n  return getTriggerLocator(spec);\n}\n\nfunction targetToCssSelector(target: TargetRef): string {\n  if (target.kind === 'selector') return target.value;\n  if (target.kind === 'self') return '[_]';\n  return 'body';\n}\n\nfunction triggerAction(spec: BehaviorSpec): string {\n  const event = spec.trigger.event;\n  switch (event) {\n    case 'click':\n      return 'click()';\n    case 'dblclick':\n      return 'dblclick()';\n    case 'mouseenter':\n      return 'hover()';\n    case 'mouseover':\n      return 'hover()';\n    case 'focus':\n      return 'focus()';\n    case 'blur':\n      return 'blur()';\n    case 'keydown':\n    case 'keyup':\n    case 'keypress':\n      return \"press('Enter')\";\n    case 'input':\n    case 'change':\n      return \"fill('test')\";\n    case 'submit':\n      return 'click()';\n    default:\n      return `dispatchEvent(new Event('${escapeString(event)}'))`;\n  }\n}\n\nfunction wrapHtml(body: string): string {\n  return `<!DOCTYPE html>\\n<html>\\n<body>\\n${body}\\n</body>\\n</html>`;\n}\n\nfunction escapeString(s: string): string {\n  return s.replace(/\\\\/g, '\\\\\\\\').replace(/'/g, \"\\\\'\");\n}\n\nfunction escapeTemplate(s: string): string {\n  return s.replace(/`/g, '\\\\`').replace(/\\$\\{/g, '\\\\${');\n}\n","/**\n * Shared Renderer Helpers\n *\n * Pure utility functions used by React, Vue, and Svelte component renderers.\n * Framework-agnostic: naming, type inference, tag inference, string escaping.\n */\n\nimport type { BehaviorSpec, TargetRef } from '../operations/types.js';\n\n// =============================================================================\n// String Utilities\n// =============================================================================\n\nexport function capitalize(s: string): string {\n  if (!s) return s;\n  return s.charAt(0).toUpperCase() + s.slice(1);\n}\n\nexport function escapeString(s: string): string {\n  return s.replace(/\\\\/g, '\\\\\\\\').replace(/'/g, \"\\\\'\");\n}\n\nexport function isNumeric(s: string): boolean {\n  return /^-?\\d+(\\.\\d+)?$/.test(s);\n}\n\nexport function cleanVarName(name: string): string {\n  return name.replace(/^:/, '').replace(/[^a-zA-Z0-9]/g, '');\n}\n\n// =============================================================================\n// Target Helpers\n// =============================================================================\n\nexport function targetKey(target: TargetRef): string {\n  if (target.kind === 'self') return 'self';\n  return target.value;\n}\n\nexport function stateKey(prefix: string, name: string, target: TargetRef): string {\n  return `${prefix}:${name}:${targetKey(target)}`;\n}\n\nexport function targetStateName(target: TargetRef, suffix: string): string {\n  if (target.kind === 'selector') {\n    const clean = target.value.replace(/^[#.]/, '');\n    return clean + suffix;\n  }\n  return suffix.toLowerCase();\n}\n\nexport function targetRefName(target: TargetRef): string {\n  if (target.kind === 'selector') {\n    const clean = target.value.replace(/^[#.]/, '');\n    return clean + 'Ref';\n  }\n  return 'elementRef';\n}\n\n// =============================================================================\n// Type Inference\n// =============================================================================\n\nexport function inferType(value: string): string {\n  if (isNumeric(value)) return '<number>';\n  if (value === 'true' || value === 'false') return '<boolean>';\n  return '<string>';\n}\n\nexport function inferInitial(value: string, typeAnn: string): string {\n  if (typeAnn === '<number>') return isNumeric(value) ? value : '0';\n  if (typeAnn === '<boolean>') return value === 'true' ? 'true' : 'false';\n  return `'${escapeString(value)}'`;\n}\n\n// =============================================================================\n// Tag and Selector Inference\n// =============================================================================\n\nexport function selectorToTag(selector: string): string {\n  if (selector.startsWith('#')) {\n    const id = selector.slice(1).toLowerCase();\n    if (['btn', 'button', 'submit', 'trigger'].includes(id)) return 'button';\n    if (['input', 'search', 'email', 'text', 'field'].includes(id)) return 'input';\n    if (['form', 'signup', 'login'].includes(id)) return 'form';\n    return 'div';\n  }\n  return 'div';\n}\n\nexport function inferTriggerTag(spec: BehaviorSpec): string {\n  if (spec.triggerTarget.kind === 'selector') {\n    return selectorToTag(spec.triggerTarget.value);\n  }\n  if (spec.trigger.event === 'submit') return 'form';\n  if (spec.trigger.event === 'input' || spec.trigger.event === 'change') return 'input';\n  return 'button';\n}\n\nexport function inferTriggerContent(spec: BehaviorSpec): string {\n  const tag = inferTriggerTag(spec);\n  if (tag === 'input' || tag === 'form') return '';\n  if (spec.triggerTarget.kind === 'selector') {\n    const id = spec.triggerTarget.value.replace(/^[#.]/, '');\n    return capitalize(id);\n  }\n  return 'Click';\n}\n\n// =============================================================================\n// Component Naming\n// =============================================================================\n\nexport function generateComponentName(spec: BehaviorSpec): string {\n  if (spec.operations.length === 0) return 'Component';\n\n  const parts: string[] = [];\n  const firstOp = spec.operations[0];\n\n  switch (firstOp.op) {\n    case 'toggleClass':\n      parts.push('Toggle', capitalize(firstOp.className));\n      break;\n    case 'addClass':\n      parts.push('Add', capitalize(firstOp.className));\n      break;\n    case 'removeClass':\n      parts.push('Remove', capitalize(firstOp.className));\n      break;\n    case 'show':\n      parts.push('Show');\n      appendTargetName(parts, firstOp.target);\n      break;\n    case 'hide':\n      parts.push('Hide');\n      appendTargetName(parts, firstOp.target);\n      break;\n    case 'setContent':\n      parts.push('SetContent');\n      appendTargetName(parts, firstOp.target);\n      break;\n    case 'navigate':\n      parts.push('NavigateTo');\n      parts.push(capitalize(firstOp.url.replace(/[^a-zA-Z0-9]/g, '')));\n      break;\n    case 'fetch':\n      parts.push('FetchData');\n      break;\n    case 'increment':\n      parts.push('Increment');\n      appendTargetName(parts, firstOp.target);\n      break;\n    case 'decrement':\n      parts.push('Decrement');\n      appendTargetName(parts, firstOp.target);\n      break;\n    case 'focus':\n      parts.push('Focus');\n      appendTargetName(parts, firstOp.target);\n      break;\n    default:\n      parts.push('Component');\n  }\n\n  if (spec.trigger.event !== 'click') {\n    parts.push('On', capitalize(spec.trigger.event));\n  }\n\n  return parts.join('') || 'Component';\n}\n\nfunction appendTargetName(parts: string[], target: TargetRef): void {\n  if (target.kind === 'selector') {\n    const clean = target.value.replace(/^[#.]/, '');\n    parts.push(capitalize(clean));\n  }\n}\n\n// =============================================================================\n// Class State Extraction\n// =============================================================================\n\n/**\n * Find class operations on the trigger element ('self') and look up their state variable names.\n * Works with any renderer's stateMap as long as keys follow the `target:class:className` pattern.\n */\nexport function getSelfClassStates(\n  spec: BehaviorSpec,\n  stateMap: Map<string, string>\n): { stateName: string; className: string }[] {\n  const result: { stateName: string; className: string }[] = [];\n  for (const op of spec.operations) {\n    if (\n      (op.op === 'toggleClass' || op.op === 'addClass' || op.op === 'removeClass') &&\n      op.target.kind === 'self'\n    ) {\n      const stateVar = stateMap.get('self:class:' + op.className);\n      if (stateVar) {\n        result.push({ stateName: stateVar, className: op.className });\n      }\n    }\n  }\n  return result;\n}\n","/**\n * React Component Renderer\n *\n * Generates complete React functional components from BehaviorSpecs.\n * Maps abstract operations to React hooks (useState, useRef, useCallback) and JSX.\n */\n\nimport type { AbstractOperation, BehaviorSpec, TargetRef } from '../operations/types.js';\nimport type {\n  ComponentRenderer,\n  ComponentRenderOptions,\n  GeneratedComponent,\n} from './component-types.js';\nimport {\n  capitalize,\n  cleanVarName,\n  escapeString,\n  generateComponentName,\n  getSelfClassStates,\n  inferInitial,\n  inferTriggerContent,\n  inferTriggerTag,\n  inferType,\n  isNumeric,\n  selectorToTag,\n  stateKey,\n  targetKey,\n  targetRefName,\n  targetStateName,\n} from './renderer-helpers.js';\n\n// =============================================================================\n// Renderer\n// =============================================================================\n\nexport class ReactRenderer implements ComponentRenderer {\n  readonly framework = 'react';\n\n  render(spec: BehaviorSpec, options: ComponentRenderOptions = {}): GeneratedComponent {\n    const componentName = options.componentName ?? generateComponentName(spec);\n    const ts = options.typescript !== false;\n\n    // Pre-pass: analyze what hooks and state we need\n    const analysis = analyzeOperations(spec);\n\n    const lines: string[] = [];\n\n    // Imports\n    const hooksList = [...analysis.hooks];\n    if (hooksList.length > 0) {\n      lines.push(`import { ${hooksList.join(', ')} } from 'react';`);\n    }\n    lines.push('');\n\n    // Component function\n    const propsType = ts ? '()' : '()';\n    lines.push(`export function ${componentName}${propsType} {`);\n\n    // State declarations\n    for (const state of analysis.states) {\n      const typeAnn = ts ? state.typeAnnotation : '';\n      lines.push(\n        `  const [${state.name}, ${state.setter}] = useState${typeAnn}(${state.initialValue});`\n      );\n    }\n\n    // Ref declarations\n    for (const ref of analysis.refs) {\n      const typeAnn = ts ? ref.typeAnnotation : '';\n      lines.push(`  const ${ref.name} = useRef${typeAnn}(null);`);\n    }\n\n    if (analysis.states.length > 0 || analysis.refs.length > 0) {\n      lines.push('');\n    }\n\n    // Event handler\n    const handlerName = `handle${capitalize(spec.trigger.event)}`;\n    const asyncPrefix = spec.async ? 'async ' : '';\n    lines.push(`  const ${handlerName} = useCallback(${asyncPrefix}() => {`);\n\n    for (const op of spec.operations) {\n      const opLines = generateOperationCode(op, analysis);\n      for (const l of opLines) {\n        lines.push(`    ${l}`);\n      }\n    }\n\n    lines.push('  }, []);');\n    lines.push('');\n\n    // JSX return\n    lines.push('  return (');\n    const jsx = generateJSX(spec, analysis, handlerName);\n    for (const l of jsx) {\n      lines.push(`    ${l}`);\n    }\n    lines.push('  );');\n    lines.push('}');\n    lines.push('');\n\n    return {\n      name: componentName,\n      code: lines.join('\\n'),\n      framework: 'react',\n      operations: spec.operations,\n      hooks: hooksList,\n    };\n  }\n}\n\n// =============================================================================\n// Operation Analysis (pre-pass)\n// =============================================================================\n\ninterface StateDecl {\n  name: string;\n  setter: string;\n  typeAnnotation: string;\n  initialValue: string;\n  /** The target selector this state is associated with */\n  targetKey: string;\n}\n\ninterface RefDecl {\n  name: string;\n  typeAnnotation: string;\n  targetKey: string;\n}\n\ninterface OperationAnalysis {\n  hooks: Set<string>;\n  states: StateDecl[];\n  refs: RefDecl[];\n  /** Map from target key → state variable name */\n  stateMap: Map<string, string>;\n  /** Map from target key → ref variable name */\n  refMap: Map<string, string>;\n}\n\nfunction analyzeOperations(spec: BehaviorSpec): OperationAnalysis {\n  const hooks = new Set<string>();\n  const states: StateDecl[] = [];\n  const refs: RefDecl[] = [];\n  const stateMap = new Map<string, string>();\n  const refMap = new Map<string, string>();\n  const seenStates = new Set<string>();\n\n  // Always need useCallback for the handler\n  hooks.add('useCallback');\n\n  for (const op of spec.operations) {\n    switch (op.op) {\n      case 'toggleClass': {\n        const key = stateKey('has', op.className, op.target);\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          hooks.add('useState');\n          const name = `has${capitalize(op.className)}`;\n          states.push({\n            name,\n            setter: `set${capitalize(name)}`,\n            typeAnnotation: '<boolean>',\n            initialValue: 'false',\n            targetKey: targetKey(op.target),\n          });\n          stateMap.set(targetKey(op.target) + ':class:' + op.className, name);\n        }\n        break;\n      }\n\n      case 'addClass':\n      case 'removeClass': {\n        const key = stateKey('has', op.className, op.target);\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          hooks.add('useState');\n          const name = `has${capitalize(op.className)}`;\n          const initial = op.op === 'removeClass' ? 'true' : 'false';\n          states.push({\n            name,\n            setter: `set${capitalize(name)}`,\n            typeAnnotation: '<boolean>',\n            initialValue: initial,\n            targetKey: targetKey(op.target),\n          });\n          stateMap.set(targetKey(op.target) + ':class:' + op.className, name);\n        }\n        break;\n      }\n\n      case 'show':\n      case 'hide': {\n        const tk = targetKey(op.target);\n        const key = 'visible:' + tk;\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          hooks.add('useState');\n          const name = targetStateName(op.target, 'Visible');\n          states.push({\n            name,\n            setter: `set${capitalize(name)}`,\n            typeAnnotation: '<boolean>',\n            initialValue: op.op === 'hide' ? 'true' : 'false',\n            targetKey: tk,\n          });\n          stateMap.set(tk + ':visible', name);\n        }\n        break;\n      }\n\n      case 'setContent':\n      case 'appendContent': {\n        const tk = targetKey(op.target);\n        const key = 'content:' + tk;\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          hooks.add('useState');\n          const name = targetStateName(op.target, 'Content');\n          states.push({\n            name,\n            setter: `set${capitalize(name)}`,\n            typeAnnotation: '<string>',\n            initialValue: \"''\",\n            targetKey: tk,\n          });\n          stateMap.set(tk + ':content', name);\n        }\n        break;\n      }\n\n      case 'setVariable': {\n        const key = 'var:' + op.name;\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          hooks.add('useState');\n          const name = cleanVarName(op.name);\n          const typeAnn = inferType(op.value);\n          states.push({\n            name,\n            setter: `set${capitalize(name)}`,\n            typeAnnotation: typeAnn,\n            initialValue: inferInitial(op.value, typeAnn),\n            targetKey: 'var:' + op.name,\n          });\n          stateMap.set('var:' + op.name, name);\n        }\n        break;\n      }\n\n      case 'increment':\n      case 'decrement': {\n        const tk = targetKey(op.target);\n        const key = 'num:' + tk;\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          hooks.add('useState');\n          const name = targetStateName(op.target, 'Count');\n          states.push({\n            name,\n            setter: `set${capitalize(name)}`,\n            typeAnnotation: '<number>',\n            initialValue: '0',\n            targetKey: tk,\n          });\n          stateMap.set(tk + ':num', name);\n        }\n        break;\n      }\n\n      case 'fetch': {\n        // Need state for the fetched data\n        if (op.target) {\n          const tk = targetKey(op.target);\n          const key = 'content:' + tk;\n          if (!seenStates.has(key)) {\n            seenStates.add(key);\n            hooks.add('useState');\n            const name = targetStateName(op.target, 'Content');\n            states.push({\n              name,\n              setter: `set${capitalize(name)}`,\n              typeAnnotation: '<string>',\n              initialValue: \"''\",\n              targetKey: tk,\n            });\n            stateMap.set(tk + ':content', name);\n          }\n        }\n        break;\n      }\n\n      case 'focus':\n      case 'blur': {\n        const tk = targetKey(op.target);\n        if (!refMap.has(tk)) {\n          hooks.add('useRef');\n          const name = targetRefName(op.target);\n          refs.push({\n            name,\n            typeAnnotation: '<HTMLElement>',\n            targetKey: tk,\n          });\n          refMap.set(tk, name);\n        }\n        break;\n      }\n\n      case 'triggerEvent': {\n        const tk = targetKey(op.target);\n        if (!refMap.has(tk)) {\n          hooks.add('useRef');\n          const name = targetRefName(op.target);\n          refs.push({\n            name,\n            typeAnnotation: '<HTMLElement>',\n            targetKey: tk,\n          });\n          refMap.set(tk, name);\n        }\n        break;\n      }\n\n      // navigate, historyBack, historyForward, wait, log — no state/refs needed\n    }\n  }\n\n  return { hooks, states, refs, stateMap, refMap };\n}\n\n// =============================================================================\n// Operation Code Generation\n// =============================================================================\n\nfunction generateOperationCode(op: AbstractOperation, analysis: OperationAnalysis): string[] {\n  switch (op.op) {\n    case 'toggleClass': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':class:' + op.className);\n      const setter = stateVar ? `set${capitalize(stateVar)}` : 'setState';\n      return [`${setter}(prev => !prev);`];\n    }\n\n    case 'addClass': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':class:' + op.className);\n      const setter = stateVar ? `set${capitalize(stateVar)}` : 'setState';\n      return [`${setter}(true);`];\n    }\n\n    case 'removeClass': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':class:' + op.className);\n      const setter = stateVar ? `set${capitalize(stateVar)}` : 'setState';\n      return [`${setter}(false);`];\n    }\n\n    case 'show': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':visible');\n      const setter = stateVar ? `set${capitalize(stateVar)}` : 'setVisible';\n      return [`${setter}(true);`];\n    }\n\n    case 'hide': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':visible');\n      const setter = stateVar ? `set${capitalize(stateVar)}` : 'setVisible';\n      return [`${setter}(false);`];\n    }\n\n    case 'setContent': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':content');\n      const setter = stateVar ? `set${capitalize(stateVar)}` : 'setContent';\n      return [`${setter}('${escapeString(op.content)}');`];\n    }\n\n    case 'appendContent': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':content');\n      const setter = stateVar ? `set${capitalize(stateVar)}` : 'setContent';\n      return [`${setter}(prev => prev + '${escapeString(op.content)}');`];\n    }\n\n    case 'setVariable': {\n      const stateVar = analysis.stateMap.get('var:' + op.name);\n      const setter = stateVar ? `set${capitalize(stateVar)}` : 'setValue';\n      const val = isNumeric(op.value) ? op.value : `'${escapeString(op.value)}'`;\n      return [`${setter}(${val});`];\n    }\n\n    case 'increment': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':num');\n      const setter = stateVar ? `set${capitalize(stateVar)}` : 'setCount';\n      return [`${setter}(prev => prev + ${op.amount});`];\n    }\n\n    case 'decrement': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':num');\n      const setter = stateVar ? `set${capitalize(stateVar)}` : 'setCount';\n      return [`${setter}(prev => prev - ${op.amount});`];\n    }\n\n    case 'navigate':\n      return [`window.location.href = '${escapeString(op.url)}';`];\n\n    case 'historyBack':\n      return ['window.history.back();'];\n\n    case 'historyForward':\n      return ['window.history.forward();'];\n\n    case 'fetch': {\n      const lines: string[] = [];\n      lines.push(`const response = await fetch('${escapeString(op.url)}');`);\n      if (op.format === 'json') {\n        lines.push('const data = await response.json();');\n      } else if (op.format === 'html') {\n        lines.push('const data = await response.text();');\n      } else {\n        lines.push('const data = await response.text();');\n      }\n      if (op.target) {\n        const stateVar = analysis.stateMap.get(targetKey(op.target) + ':content');\n        const setter = stateVar ? `set${capitalize(stateVar)}` : 'setContent';\n        if (op.format === 'json') {\n          lines.push(`${setter}(JSON.stringify(data));`);\n        } else {\n          lines.push(`${setter}(data);`);\n        }\n      }\n      return lines;\n    }\n\n    case 'wait':\n      return [`await new Promise(resolve => setTimeout(resolve, ${op.durationMs}));`];\n\n    case 'focus': {\n      const refName = analysis.refMap.get(targetKey(op.target));\n      return [`${refName ?? 'ref'}?.current?.focus();`];\n    }\n\n    case 'blur': {\n      const refName = analysis.refMap.get(targetKey(op.target));\n      return [`${refName ?? 'ref'}?.current?.blur();`];\n    }\n\n    case 'triggerEvent': {\n      const refName = analysis.refMap.get(targetKey(op.target));\n      return [\n        `${refName ?? 'ref'}?.current?.dispatchEvent(new CustomEvent('${escapeString(op.eventName)}', { bubbles: true }));`,\n      ];\n    }\n\n    case 'log':\n      return [`console.log(${op.values.map(v => `'${escapeString(v)}'`).join(', ')});`];\n\n    default:\n      return [`// Unsupported: ${(op as AbstractOperation).op}`];\n  }\n}\n\n// =============================================================================\n// JSX Generation\n// =============================================================================\n\nfunction generateJSX(\n  spec: BehaviorSpec,\n  analysis: OperationAnalysis,\n  handlerName: string\n): string[] {\n  const lines: string[] = [];\n  const elements = collectJSXElements(spec, analysis);\n  const eventProp = eventToReactProp(spec.trigger.event);\n\n  const needsFragment = elements.length > 1 || elements.length === 0;\n\n  if (needsFragment) lines.push('<>');\n\n  // Trigger element\n  const triggerTag = inferTriggerTag(spec);\n  const triggerAttrs: string[] = [`${eventProp}={${handlerName}}`];\n\n  // If trigger is 'self' and there are class operations on self, add className\n  const selfClassStates = getSelfClassStates(spec, analysis.stateMap);\n  if (selfClassStates.length > 0) {\n    const classExpr = selfClassStates\n      .map(s => `\\${${s.stateName} ? '${s.className}' : ''}`)\n      .join(' ')\n      .trim();\n    triggerAttrs.push(`className={\\`${classExpr}\\`.trim()}`);\n  }\n\n  const indent = needsFragment ? '  ' : '';\n  lines.push(\n    `${indent}<${triggerTag} ${triggerAttrs.join(' ')}>${inferTriggerContent(spec)}</${triggerTag}>`\n  );\n\n  // Target elements (that aren't the trigger)\n  for (const el of elements) {\n    const elLines = renderJSXElement(el, analysis);\n    for (const l of elLines) {\n      lines.push(`${indent}${l}`);\n    }\n  }\n\n  if (needsFragment) lines.push('</>');\n\n  return lines;\n}\n\ninterface JSXElement {\n  selector: string;\n  tag: string;\n  id?: string;\n  className?: string;\n  content?: string;\n  /** Operations targeting this element */\n  ops: AbstractOperation[];\n}\n\nfunction collectJSXElements(spec: BehaviorSpec, _analysis: OperationAnalysis): JSXElement[] {\n  const seen = new Set<string>();\n  const elements: JSXElement[] = [];\n\n  for (const op of spec.operations) {\n    if (!('target' in op)) continue;\n    const target = (op as { target: TargetRef }).target;\n    if (target.kind !== 'selector') continue;\n\n    // Skip if this is the trigger element (it's rendered separately)\n    if (spec.triggerTarget.kind === 'selector' && spec.triggerTarget.value === target.value)\n      continue;\n\n    const sel = target.value;\n    if (seen.has(sel)) {\n      // Add op to existing element\n      const existing = elements.find(e => e.selector === sel);\n      if (existing) existing.ops.push(op);\n      continue;\n    }\n    seen.add(sel);\n\n    const tag = selectorToTag(sel);\n    const id = sel.startsWith('#') ? sel.slice(1) : undefined;\n    const cls = sel.startsWith('.') ? sel.slice(1) : undefined;\n\n    elements.push({\n      selector: sel,\n      tag,\n      id,\n      className: cls,\n      ops: [op],\n    });\n  }\n\n  return elements;\n}\n\nfunction renderJSXElement(el: JSXElement, analysis: OperationAnalysis): string[] {\n  const lines: string[] = [];\n  const attrs: string[] = [];\n\n  if (el.id) attrs.push(`id=\"${el.id}\"`);\n\n  // Check for class state on this element\n  const classStates: { stateName: string; className: string }[] = [];\n  for (const op of el.ops) {\n    if (op.op === 'toggleClass' || op.op === 'addClass' || op.op === 'removeClass') {\n      const stateVar = analysis.stateMap.get(el.selector + ':class:' + op.className);\n      if (stateVar) {\n        classStates.push({ stateName: stateVar, className: op.className });\n      }\n    }\n  }\n\n  if (classStates.length > 0) {\n    const parts = classStates.map(s => `\\${${s.stateName} ? '${s.className}' : ''}`);\n    if (el.className) {\n      attrs.push(`className={\\`${el.className} ${parts.join(' ')}\\`.trim()}`);\n    } else {\n      attrs.push(`className={\\`${parts.join(' ')}\\`.trim()}`);\n    }\n  } else if (el.className) {\n    attrs.push(`className=\"${el.className}\"`);\n  }\n\n  // Check for ref on this element\n  const refName = analysis.refMap.get(el.selector);\n  if (refName) {\n    attrs.push(`ref={${refName}}`);\n  }\n\n  // Check for visibility state\n  const visState = analysis.stateMap.get(el.selector + ':visible');\n\n  // Check for content state\n  const contentState = analysis.stateMap.get(el.selector + ':content');\n\n  // Check for numeric state\n  const numState = analysis.stateMap.get(el.selector + ':num');\n\n  const attrStr = attrs.length > 0 ? ' ' + attrs.join(' ') : '';\n  const content = contentState\n    ? `{${contentState}}`\n    : numState\n      ? `{${numState}}`\n      : (el.content ?? el.id ?? '');\n\n  const elementLine = `<${el.tag}${attrStr}>${content}</${el.tag}>`;\n\n  if (visState) {\n    lines.push(`{${visState} && ${elementLine}}`);\n  } else {\n    lines.push(elementLine);\n  }\n\n  return lines;\n}\n\n// =============================================================================\n// React-specific Helpers\n// =============================================================================\n\nfunction eventToReactProp(event: string): string {\n  switch (event) {\n    case 'click':\n      return 'onClick';\n    case 'dblclick':\n      return 'onDoubleClick';\n    case 'mouseenter':\n      return 'onMouseEnter';\n    case 'mouseover':\n      return 'onMouseOver';\n    case 'mouseleave':\n      return 'onMouseLeave';\n    case 'focus':\n      return 'onFocus';\n    case 'blur':\n      return 'onBlur';\n    case 'keydown':\n      return 'onKeyDown';\n    case 'keyup':\n      return 'onKeyUp';\n    case 'keypress':\n      return 'onKeyPress';\n    case 'input':\n      return 'onInput';\n    case 'change':\n      return 'onChange';\n    case 'submit':\n      return 'onSubmit';\n    default:\n      return `on${capitalize(event)}`;\n  }\n}\n","/**\n * Vue 3 Component Renderer\n *\n * Generates Vue 3 Single File Components (SFC) with Composition API\n * (<script setup>) from BehaviorSpecs.\n * Maps abstract operations to Vue refs and template directives.\n */\n\nimport type { AbstractOperation, BehaviorSpec, TargetRef } from '../operations/types.js';\nimport type {\n  ComponentRenderer,\n  ComponentRenderOptions,\n  GeneratedComponent,\n} from './component-types.js';\nimport {\n  capitalize,\n  cleanVarName,\n  escapeString,\n  generateComponentName,\n  getSelfClassStates,\n  inferInitial,\n  inferTriggerContent,\n  inferTriggerTag,\n  inferType,\n  isNumeric,\n  selectorToTag,\n  stateKey,\n  targetKey,\n  targetRefName,\n  targetStateName,\n} from './renderer-helpers.js';\n\n// =============================================================================\n// Renderer\n// =============================================================================\n\nexport class VueRenderer implements ComponentRenderer {\n  readonly framework = 'vue';\n\n  render(spec: BehaviorSpec, options: ComponentRenderOptions = {}): GeneratedComponent {\n    const componentName = options.componentName ?? generateComponentName(spec);\n    const ts = options.typescript !== false;\n\n    const analysis = analyzeOperations(spec);\n\n    // -- <script setup> block --\n    const scriptLines: string[] = [];\n\n    // Imports\n    const vueImports: string[] = [];\n    if (analysis.states.length > 0 || analysis.refs.length > 0) {\n      vueImports.push('ref');\n    }\n    if (vueImports.length > 0) {\n      scriptLines.push(`import { ${vueImports.join(', ')} } from 'vue'`);\n      scriptLines.push('');\n    }\n\n    // State declarations\n    for (const state of analysis.states) {\n      if (ts) {\n        scriptLines.push(`const ${state.name} = ref${state.typeAnnotation}(${state.initialValue})`);\n      } else {\n        scriptLines.push(`const ${state.name} = ref(${state.initialValue})`);\n      }\n    }\n\n    // Ref declarations\n    for (const r of analysis.refs) {\n      if (ts) {\n        scriptLines.push(`const ${r.name} = ref<HTMLElement | null>(null)`);\n      } else {\n        scriptLines.push(`const ${r.name} = ref(null)`);\n      }\n    }\n\n    if (analysis.states.length > 0 || analysis.refs.length > 0) {\n      scriptLines.push('');\n    }\n\n    // Event handler\n    const handlerName = `handle${capitalize(spec.trigger.event)}`;\n    const asyncPrefix = spec.async ? 'async ' : '';\n    scriptLines.push(`${asyncPrefix}function ${handlerName}() {`);\n\n    for (const op of spec.operations) {\n      const opLines = generateOperationCode(op, analysis);\n      for (const l of opLines) {\n        scriptLines.push(`  ${l}`);\n      }\n    }\n\n    scriptLines.push('}');\n\n    // -- <template> block --\n    const templateLines = generateTemplate(spec, analysis, handlerName);\n\n    // -- Combine SFC --\n    const langAttr = ts ? ' lang=\"ts\"' : '';\n    const lines: string[] = [];\n    lines.push(`<script setup${langAttr}>`);\n    for (const l of scriptLines) {\n      lines.push(l);\n    }\n    lines.push('</script>');\n    lines.push('');\n    lines.push('<template>');\n    for (const l of templateLines) {\n      lines.push(`  ${l}`);\n    }\n    lines.push('</template>');\n    lines.push('');\n\n    const hooks = vueImports.length > 0 ? [...vueImports] : [];\n\n    return {\n      name: componentName,\n      code: lines.join('\\n'),\n      framework: 'vue',\n      operations: spec.operations,\n      hooks,\n    };\n  }\n}\n\n// =============================================================================\n// Operation Analysis\n// =============================================================================\n\ninterface VueStateDecl {\n  name: string;\n  typeAnnotation: string;\n  initialValue: string;\n  targetKey: string;\n}\n\ninterface VueRefDecl {\n  name: string;\n  targetKey: string;\n}\n\ninterface VueAnalysis {\n  states: VueStateDecl[];\n  refs: VueRefDecl[];\n  stateMap: Map<string, string>;\n  refMap: Map<string, string>;\n}\n\nfunction analyzeOperations(spec: BehaviorSpec): VueAnalysis {\n  const states: VueStateDecl[] = [];\n  const refs: VueRefDecl[] = [];\n  const stateMap = new Map<string, string>();\n  const refMap = new Map<string, string>();\n  const seenStates = new Set<string>();\n\n  for (const op of spec.operations) {\n    switch (op.op) {\n      case 'toggleClass': {\n        const key = stateKey('has', op.className, op.target);\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          const name = `has${capitalize(op.className)}`;\n          states.push({\n            name,\n            typeAnnotation: '<boolean>',\n            initialValue: 'false',\n            targetKey: targetKey(op.target),\n          });\n          stateMap.set(targetKey(op.target) + ':class:' + op.className, name);\n        }\n        break;\n      }\n\n      case 'addClass':\n      case 'removeClass': {\n        const key = stateKey('has', op.className, op.target);\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          const name = `has${capitalize(op.className)}`;\n          const initial = op.op === 'removeClass' ? 'true' : 'false';\n          states.push({\n            name,\n            typeAnnotation: '<boolean>',\n            initialValue: initial,\n            targetKey: targetKey(op.target),\n          });\n          stateMap.set(targetKey(op.target) + ':class:' + op.className, name);\n        }\n        break;\n      }\n\n      case 'show':\n      case 'hide': {\n        const tk = targetKey(op.target);\n        const key = 'visible:' + tk;\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          const name = targetStateName(op.target, 'Visible');\n          states.push({\n            name,\n            typeAnnotation: '<boolean>',\n            initialValue: op.op === 'hide' ? 'true' : 'false',\n            targetKey: tk,\n          });\n          stateMap.set(tk + ':visible', name);\n        }\n        break;\n      }\n\n      case 'setContent':\n      case 'appendContent': {\n        const tk = targetKey(op.target);\n        const key = 'content:' + tk;\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          const name = targetStateName(op.target, 'Content');\n          states.push({\n            name,\n            typeAnnotation: '<string>',\n            initialValue: \"''\",\n            targetKey: tk,\n          });\n          stateMap.set(tk + ':content', name);\n        }\n        break;\n      }\n\n      case 'setVariable': {\n        const key = 'var:' + op.name;\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          const name = cleanVarName(op.name);\n          const typeAnn = inferType(op.value);\n          states.push({\n            name,\n            typeAnnotation: typeAnn,\n            initialValue: inferInitial(op.value, typeAnn),\n            targetKey: 'var:' + op.name,\n          });\n          stateMap.set('var:' + op.name, name);\n        }\n        break;\n      }\n\n      case 'increment':\n      case 'decrement': {\n        const tk = targetKey(op.target);\n        const key = 'num:' + tk;\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          const name = targetStateName(op.target, 'Count');\n          states.push({\n            name,\n            typeAnnotation: '<number>',\n            initialValue: '0',\n            targetKey: tk,\n          });\n          stateMap.set(tk + ':num', name);\n        }\n        break;\n      }\n\n      case 'fetch': {\n        if (op.target) {\n          const tk = targetKey(op.target);\n          const key = 'content:' + tk;\n          if (!seenStates.has(key)) {\n            seenStates.add(key);\n            const name = targetStateName(op.target, 'Content');\n            states.push({\n              name,\n              typeAnnotation: '<string>',\n              initialValue: \"''\",\n              targetKey: tk,\n            });\n            stateMap.set(tk + ':content', name);\n          }\n        }\n        break;\n      }\n\n      case 'focus':\n      case 'blur': {\n        const tk = targetKey(op.target);\n        if (!refMap.has(tk)) {\n          const name = targetRefName(op.target);\n          refs.push({ name, targetKey: tk });\n          refMap.set(tk, name);\n        }\n        break;\n      }\n\n      case 'triggerEvent': {\n        const tk = targetKey(op.target);\n        if (!refMap.has(tk)) {\n          const name = targetRefName(op.target);\n          refs.push({ name, targetKey: tk });\n          refMap.set(tk, name);\n        }\n        break;\n      }\n    }\n  }\n\n  return { states, refs, stateMap, refMap };\n}\n\n// =============================================================================\n// Operation Code Generation (Vue: .value mutation)\n// =============================================================================\n\nfunction generateOperationCode(op: AbstractOperation, analysis: VueAnalysis): string[] {\n  switch (op.op) {\n    case 'toggleClass': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':class:' + op.className);\n      return [`${stateVar ?? 'state'}.value = !${stateVar ?? 'state'}.value`];\n    }\n\n    case 'addClass': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':class:' + op.className);\n      return [`${stateVar ?? 'state'}.value = true`];\n    }\n\n    case 'removeClass': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':class:' + op.className);\n      return [`${stateVar ?? 'state'}.value = false`];\n    }\n\n    case 'show': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':visible');\n      return [`${stateVar ?? 'visible'}.value = true`];\n    }\n\n    case 'hide': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':visible');\n      return [`${stateVar ?? 'visible'}.value = false`];\n    }\n\n    case 'setContent': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':content');\n      return [`${stateVar ?? 'content'}.value = '${escapeString(op.content)}'`];\n    }\n\n    case 'appendContent': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':content');\n      return [`${stateVar ?? 'content'}.value += '${escapeString(op.content)}'`];\n    }\n\n    case 'setVariable': {\n      const stateVar = analysis.stateMap.get('var:' + op.name);\n      const val = isNumeric(op.value) ? op.value : `'${escapeString(op.value)}'`;\n      return [`${stateVar ?? 'value'}.value = ${val}`];\n    }\n\n    case 'increment': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':num');\n      return [`${stateVar ?? 'count'}.value += ${op.amount}`];\n    }\n\n    case 'decrement': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':num');\n      return [`${stateVar ?? 'count'}.value -= ${op.amount}`];\n    }\n\n    case 'navigate':\n      return [`window.location.href = '${escapeString(op.url)}'`];\n\n    case 'historyBack':\n      return ['window.history.back()'];\n\n    case 'historyForward':\n      return ['window.history.forward()'];\n\n    case 'fetch': {\n      const lines: string[] = [];\n      lines.push(`const response = await fetch('${escapeString(op.url)}')`);\n      if (op.format === 'json') {\n        lines.push('const data = await response.json()');\n      } else {\n        lines.push('const data = await response.text()');\n      }\n      if (op.target) {\n        const stateVar = analysis.stateMap.get(targetKey(op.target) + ':content');\n        if (op.format === 'json') {\n          lines.push(`${stateVar ?? 'content'}.value = JSON.stringify(data)`);\n        } else {\n          lines.push(`${stateVar ?? 'content'}.value = data`);\n        }\n      }\n      return lines;\n    }\n\n    case 'wait':\n      return [`await new Promise(resolve => setTimeout(resolve, ${op.durationMs}))`];\n\n    case 'focus': {\n      const refName = analysis.refMap.get(targetKey(op.target));\n      return [`${refName ?? 'ref'}.value?.focus()`];\n    }\n\n    case 'blur': {\n      const refName = analysis.refMap.get(targetKey(op.target));\n      return [`${refName ?? 'ref'}.value?.blur()`];\n    }\n\n    case 'triggerEvent': {\n      const refName = analysis.refMap.get(targetKey(op.target));\n      return [\n        `${refName ?? 'ref'}.value?.dispatchEvent(new CustomEvent('${escapeString(op.eventName)}', { bubbles: true }))`,\n      ];\n    }\n\n    case 'log':\n      return [`console.log(${op.values.map(v => `'${escapeString(v)}'`).join(', ')})`];\n\n    default:\n      return [`// Unsupported: ${(op as AbstractOperation).op}`];\n  }\n}\n\n// =============================================================================\n// Template Generation\n// =============================================================================\n\nfunction generateTemplate(\n  spec: BehaviorSpec,\n  analysis: VueAnalysis,\n  handlerName: string\n): string[] {\n  const lines: string[] = [];\n  const elements = collectTargetElements(spec);\n  const eventDirective = `@${spec.trigger.event}`;\n\n  // Trigger element\n  const triggerTag = inferTriggerTag(spec);\n  const triggerAttrs: string[] = [`${eventDirective}=\"${handlerName}\"`];\n\n  // Class bindings on trigger\n  const selfClassStates = getSelfClassStates(spec, analysis.stateMap);\n  if (selfClassStates.length > 0) {\n    const classObj = selfClassStates.map(s => `${s.className}: ${s.stateName}`).join(', ');\n    triggerAttrs.push(`:class=\"{ ${classObj} }\"`);\n  }\n\n  const triggerContent = inferTriggerContent(spec);\n  lines.push(`<${triggerTag} ${triggerAttrs.join(' ')}>${triggerContent}</${triggerTag}>`);\n\n  // Target elements\n  for (const el of elements) {\n    const elLines = renderVueElement(el, analysis);\n    for (const l of elLines) {\n      lines.push(l);\n    }\n  }\n\n  return lines;\n}\n\ninterface TemplateElement {\n  selector: string;\n  tag: string;\n  id?: string;\n  className?: string;\n  ops: AbstractOperation[];\n}\n\nfunction collectTargetElements(spec: BehaviorSpec): TemplateElement[] {\n  const seen = new Set<string>();\n  const elements: TemplateElement[] = [];\n\n  for (const op of spec.operations) {\n    if (!('target' in op)) continue;\n    const target = (op as { target: TargetRef }).target;\n    if (target.kind !== 'selector') continue;\n\n    if (spec.triggerTarget.kind === 'selector' && spec.triggerTarget.value === target.value)\n      continue;\n\n    const sel = target.value;\n    if (seen.has(sel)) {\n      const existing = elements.find(e => e.selector === sel);\n      if (existing) existing.ops.push(op);\n      continue;\n    }\n    seen.add(sel);\n\n    const tag = selectorToTag(sel);\n    const id = sel.startsWith('#') ? sel.slice(1) : undefined;\n    const cls = sel.startsWith('.') ? sel.slice(1) : undefined;\n\n    elements.push({ selector: sel, tag, id, className: cls, ops: [op] });\n  }\n\n  return elements;\n}\n\nfunction renderVueElement(el: TemplateElement, analysis: VueAnalysis): string[] {\n  const lines: string[] = [];\n  const attrs: string[] = [];\n\n  if (el.id) attrs.push(`id=\"${el.id}\"`);\n\n  // Class bindings\n  const classStates: { stateName: string; className: string }[] = [];\n  for (const op of el.ops) {\n    if (op.op === 'toggleClass' || op.op === 'addClass' || op.op === 'removeClass') {\n      const stateVar = analysis.stateMap.get(el.selector + ':class:' + op.className);\n      if (stateVar) {\n        classStates.push({ stateName: stateVar, className: op.className });\n      }\n    }\n  }\n\n  if (classStates.length > 0) {\n    const classObj = classStates.map(s => `${s.className}: ${s.stateName}`).join(', ');\n    if (el.className) {\n      attrs.push(`class=\"${el.className}\"`);\n      attrs.push(`:class=\"{ ${classObj} }\"`);\n    } else {\n      attrs.push(`:class=\"{ ${classObj} }\"`);\n    }\n  } else if (el.className) {\n    attrs.push(`class=\"${el.className}\"`);\n  }\n\n  // Ref binding\n  const refName = analysis.refMap.get(el.selector);\n  if (refName) {\n    attrs.push(`ref=\"${refName}\"`);\n  }\n\n  // Visibility\n  const visState = analysis.stateMap.get(el.selector + ':visible');\n\n  // Content\n  const contentState = analysis.stateMap.get(el.selector + ':content');\n  const numState = analysis.stateMap.get(el.selector + ':num');\n\n  const attrStr = attrs.length > 0 ? ' ' + attrs.join(' ') : '';\n  const content = contentState\n    ? `{{ ${contentState} }}`\n    : numState\n      ? `{{ ${numState} }}`\n      : (el.id ?? '');\n\n  if (visState) {\n    lines.push(`<${el.tag}${attrStr} v-if=\"${visState}\">${content}</${el.tag}>`);\n  } else {\n    lines.push(`<${el.tag}${attrStr}>${content}</${el.tag}>`);\n  }\n\n  return lines;\n}\n","/**\n * Svelte 5 Component Renderer\n *\n * Generates Svelte 5 components with runes ($state, $derived, $effect)\n * from BehaviorSpecs.\n * Maps abstract operations to direct state mutation and Svelte template syntax.\n */\n\nimport type { AbstractOperation, BehaviorSpec, TargetRef } from '../operations/types.js';\nimport type {\n  ComponentRenderer,\n  ComponentRenderOptions,\n  GeneratedComponent,\n} from './component-types.js';\nimport {\n  capitalize,\n  cleanVarName,\n  escapeString,\n  generateComponentName,\n  getSelfClassStates,\n  inferInitial,\n  inferTriggerContent,\n  inferTriggerTag,\n  inferType,\n  isNumeric,\n  selectorToTag,\n  stateKey,\n  targetKey,\n  targetRefName,\n  targetStateName,\n} from './renderer-helpers.js';\n\n// =============================================================================\n// Renderer\n// =============================================================================\n\nexport class SvelteRenderer implements ComponentRenderer {\n  readonly framework = 'svelte';\n\n  render(spec: BehaviorSpec, options: ComponentRenderOptions = {}): GeneratedComponent {\n    const componentName = options.componentName ?? generateComponentName(spec);\n    const ts = options.typescript !== false;\n\n    const analysis = analyzeOperations(spec, ts);\n\n    // -- <script> block --\n    const scriptLines: string[] = [];\n\n    // State declarations ($state runes — no imports needed)\n    for (const state of analysis.states) {\n      scriptLines.push(`let ${state.name} = $state(${state.initialValue})`);\n    }\n\n    // Ref declarations (plain variables, bound via bind:this)\n    for (const r of analysis.refs) {\n      if (ts) {\n        scriptLines.push(`let ${r.name}: HTMLElement`);\n      } else {\n        scriptLines.push(`let ${r.name}`);\n      }\n    }\n\n    if (analysis.states.length > 0 || analysis.refs.length > 0) {\n      scriptLines.push('');\n    }\n\n    // Event handler\n    const handlerName = `handle${capitalize(spec.trigger.event)}`;\n    const asyncPrefix = spec.async ? 'async ' : '';\n    scriptLines.push(`${asyncPrefix}function ${handlerName}() {`);\n\n    for (const op of spec.operations) {\n      const opLines = generateOperationCode(op, analysis);\n      for (const l of opLines) {\n        scriptLines.push(`  ${l}`);\n      }\n    }\n\n    scriptLines.push('}');\n\n    // -- Template --\n    const templateLines = generateTemplate(spec, analysis, handlerName);\n\n    // -- Combine --\n    const langAttr = ts ? ' lang=\"ts\"' : '';\n    const lines: string[] = [];\n    lines.push(`<script${langAttr}>`);\n    for (const l of scriptLines) {\n      lines.push(`  ${l}`);\n    }\n    lines.push('</script>');\n    lines.push('');\n    for (const l of templateLines) {\n      lines.push(l);\n    }\n    lines.push('');\n\n    // Track which runes are used\n    const hooks: string[] = [];\n    if (analysis.states.length > 0) hooks.push('$state');\n\n    return {\n      name: componentName,\n      code: lines.join('\\n'),\n      framework: 'svelte',\n      operations: spec.operations,\n      hooks,\n    };\n  }\n}\n\n// =============================================================================\n// Operation Analysis\n// =============================================================================\n\ninterface SvelteStateDecl {\n  name: string;\n  initialValue: string;\n  targetKey: string;\n}\n\ninterface SvelteRefDecl {\n  name: string;\n  targetKey: string;\n}\n\ninterface SvelteAnalysis {\n  states: SvelteStateDecl[];\n  refs: SvelteRefDecl[];\n  stateMap: Map<string, string>;\n  refMap: Map<string, string>;\n  ts: boolean;\n}\n\nfunction analyzeOperations(spec: BehaviorSpec, ts: boolean): SvelteAnalysis {\n  const states: SvelteStateDecl[] = [];\n  const refs: SvelteRefDecl[] = [];\n  const stateMap = new Map<string, string>();\n  const refMap = new Map<string, string>();\n  const seenStates = new Set<string>();\n\n  for (const op of spec.operations) {\n    switch (op.op) {\n      case 'toggleClass': {\n        const key = stateKey('has', op.className, op.target);\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          const name = `has${capitalize(op.className)}`;\n          states.push({ name, initialValue: 'false', targetKey: targetKey(op.target) });\n          stateMap.set(targetKey(op.target) + ':class:' + op.className, name);\n        }\n        break;\n      }\n\n      case 'addClass':\n      case 'removeClass': {\n        const key = stateKey('has', op.className, op.target);\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          const name = `has${capitalize(op.className)}`;\n          const initial = op.op === 'removeClass' ? 'true' : 'false';\n          states.push({ name, initialValue: initial, targetKey: targetKey(op.target) });\n          stateMap.set(targetKey(op.target) + ':class:' + op.className, name);\n        }\n        break;\n      }\n\n      case 'show':\n      case 'hide': {\n        const tk = targetKey(op.target);\n        const key = 'visible:' + tk;\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          const name = targetStateName(op.target, 'Visible');\n          states.push({\n            name,\n            initialValue: op.op === 'hide' ? 'true' : 'false',\n            targetKey: tk,\n          });\n          stateMap.set(tk + ':visible', name);\n        }\n        break;\n      }\n\n      case 'setContent':\n      case 'appendContent': {\n        const tk = targetKey(op.target);\n        const key = 'content:' + tk;\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          const name = targetStateName(op.target, 'Content');\n          states.push({ name, initialValue: \"''\", targetKey: tk });\n          stateMap.set(tk + ':content', name);\n        }\n        break;\n      }\n\n      case 'setVariable': {\n        const key = 'var:' + op.name;\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          const name = cleanVarName(op.name);\n          const typeAnn = inferType(op.value);\n          states.push({\n            name,\n            initialValue: inferInitial(op.value, typeAnn),\n            targetKey: 'var:' + op.name,\n          });\n          stateMap.set('var:' + op.name, name);\n        }\n        break;\n      }\n\n      case 'increment':\n      case 'decrement': {\n        const tk = targetKey(op.target);\n        const key = 'num:' + tk;\n        if (!seenStates.has(key)) {\n          seenStates.add(key);\n          const name = targetStateName(op.target, 'Count');\n          states.push({ name, initialValue: '0', targetKey: tk });\n          stateMap.set(tk + ':num', name);\n        }\n        break;\n      }\n\n      case 'fetch': {\n        if (op.target) {\n          const tk = targetKey(op.target);\n          const key = 'content:' + tk;\n          if (!seenStates.has(key)) {\n            seenStates.add(key);\n            const name = targetStateName(op.target, 'Content');\n            states.push({ name, initialValue: \"''\", targetKey: tk });\n            stateMap.set(tk + ':content', name);\n          }\n        }\n        break;\n      }\n\n      case 'focus':\n      case 'blur': {\n        const tk = targetKey(op.target);\n        if (!refMap.has(tk)) {\n          const name = targetRefName(op.target);\n          refs.push({ name, targetKey: tk });\n          refMap.set(tk, name);\n        }\n        break;\n      }\n\n      case 'triggerEvent': {\n        const tk = targetKey(op.target);\n        if (!refMap.has(tk)) {\n          const name = targetRefName(op.target);\n          refs.push({ name, targetKey: tk });\n          refMap.set(tk, name);\n        }\n        break;\n      }\n    }\n  }\n\n  return { states, refs, stateMap, refMap, ts };\n}\n\n// =============================================================================\n// Operation Code Generation (Svelte: direct mutation)\n// =============================================================================\n\nfunction generateOperationCode(op: AbstractOperation, analysis: SvelteAnalysis): string[] {\n  switch (op.op) {\n    case 'toggleClass': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':class:' + op.className);\n      return [`${stateVar ?? 'state'} = !${stateVar ?? 'state'}`];\n    }\n\n    case 'addClass': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':class:' + op.className);\n      return [`${stateVar ?? 'state'} = true`];\n    }\n\n    case 'removeClass': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':class:' + op.className);\n      return [`${stateVar ?? 'state'} = false`];\n    }\n\n    case 'show': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':visible');\n      return [`${stateVar ?? 'visible'} = true`];\n    }\n\n    case 'hide': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':visible');\n      return [`${stateVar ?? 'visible'} = false`];\n    }\n\n    case 'setContent': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':content');\n      return [`${stateVar ?? 'content'} = '${escapeString(op.content)}'`];\n    }\n\n    case 'appendContent': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':content');\n      return [`${stateVar ?? 'content'} += '${escapeString(op.content)}'`];\n    }\n\n    case 'setVariable': {\n      const stateVar = analysis.stateMap.get('var:' + op.name);\n      const val = isNumeric(op.value) ? op.value : `'${escapeString(op.value)}'`;\n      return [`${stateVar ?? 'value'} = ${val}`];\n    }\n\n    case 'increment': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':num');\n      return [`${stateVar ?? 'count'} += ${op.amount}`];\n    }\n\n    case 'decrement': {\n      const stateVar = analysis.stateMap.get(targetKey(op.target) + ':num');\n      return [`${stateVar ?? 'count'} -= ${op.amount}`];\n    }\n\n    case 'navigate':\n      return [`window.location.href = '${escapeString(op.url)}'`];\n\n    case 'historyBack':\n      return ['window.history.back()'];\n\n    case 'historyForward':\n      return ['window.history.forward()'];\n\n    case 'fetch': {\n      const lines: string[] = [];\n      lines.push(`const response = await fetch('${escapeString(op.url)}')`);\n      if (op.format === 'json') {\n        lines.push('const data = await response.json()');\n      } else {\n        lines.push('const data = await response.text()');\n      }\n      if (op.target) {\n        const stateVar = analysis.stateMap.get(targetKey(op.target) + ':content');\n        if (op.format === 'json') {\n          lines.push(`${stateVar ?? 'content'} = JSON.stringify(data)`);\n        } else {\n          lines.push(`${stateVar ?? 'content'} = data`);\n        }\n      }\n      return lines;\n    }\n\n    case 'wait':\n      return [`await new Promise(resolve => setTimeout(resolve, ${op.durationMs}))`];\n\n    case 'focus': {\n      const refName = analysis.refMap.get(targetKey(op.target));\n      return [`${refName ?? 'ref'}?.focus()`];\n    }\n\n    case 'blur': {\n      const refName = analysis.refMap.get(targetKey(op.target));\n      return [`${refName ?? 'ref'}?.blur()`];\n    }\n\n    case 'triggerEvent': {\n      const refName = analysis.refMap.get(targetKey(op.target));\n      return [\n        `${refName ?? 'ref'}?.dispatchEvent(new CustomEvent('${escapeString(op.eventName)}', { bubbles: true }))`,\n      ];\n    }\n\n    case 'log':\n      return [`console.log(${op.values.map(v => `'${escapeString(v)}'`).join(', ')})`];\n\n    default:\n      return [`// Unsupported: ${(op as AbstractOperation).op}`];\n  }\n}\n\n// =============================================================================\n// Template Generation\n// =============================================================================\n\nfunction generateTemplate(\n  spec: BehaviorSpec,\n  analysis: SvelteAnalysis,\n  handlerName: string\n): string[] {\n  const lines: string[] = [];\n  const elements = collectTargetElements(spec);\n  const eventAttr = `on${spec.trigger.event}`;\n\n  // Trigger element\n  const triggerTag = inferTriggerTag(spec);\n  const triggerAttrs: string[] = [`${eventAttr}={${handlerName}}`];\n\n  // Class directives on trigger\n  const selfClassStates = getSelfClassStates(spec, analysis.stateMap);\n  for (const s of selfClassStates) {\n    triggerAttrs.push(`class:${s.className}={${s.stateName}}`);\n  }\n\n  const triggerContent = inferTriggerContent(spec);\n  lines.push(`<${triggerTag} ${triggerAttrs.join(' ')}>${triggerContent}</${triggerTag}>`);\n\n  // Target elements\n  for (const el of elements) {\n    const elLines = renderSvelteElement(el, analysis);\n    for (const l of elLines) {\n      lines.push(l);\n    }\n  }\n\n  return lines;\n}\n\ninterface TemplateElement {\n  selector: string;\n  tag: string;\n  id?: string;\n  className?: string;\n  ops: AbstractOperation[];\n}\n\nfunction collectTargetElements(spec: BehaviorSpec): TemplateElement[] {\n  const seen = new Set<string>();\n  const elements: TemplateElement[] = [];\n\n  for (const op of spec.operations) {\n    if (!('target' in op)) continue;\n    const target = (op as { target: TargetRef }).target;\n    if (target.kind !== 'selector') continue;\n\n    if (spec.triggerTarget.kind === 'selector' && spec.triggerTarget.value === target.value)\n      continue;\n\n    const sel = target.value;\n    if (seen.has(sel)) {\n      const existing = elements.find(e => e.selector === sel);\n      if (existing) existing.ops.push(op);\n      continue;\n    }\n    seen.add(sel);\n\n    const tag = selectorToTag(sel);\n    const id = sel.startsWith('#') ? sel.slice(1) : undefined;\n    const cls = sel.startsWith('.') ? sel.slice(1) : undefined;\n\n    elements.push({ selector: sel, tag, id, className: cls, ops: [op] });\n  }\n\n  return elements;\n}\n\nfunction renderSvelteElement(el: TemplateElement, analysis: SvelteAnalysis): string[] {\n  const lines: string[] = [];\n  const attrs: string[] = [];\n\n  if (el.id) attrs.push(`id=\"${el.id}\"`);\n\n  // Class directives\n  const classStates: { stateName: string; className: string }[] = [];\n  for (const op of el.ops) {\n    if (op.op === 'toggleClass' || op.op === 'addClass' || op.op === 'removeClass') {\n      const stateVar = analysis.stateMap.get(el.selector + ':class:' + op.className);\n      if (stateVar) {\n        classStates.push({ stateName: stateVar, className: op.className });\n      }\n    }\n  }\n\n  if (el.className) {\n    attrs.push(`class=\"${el.className}\"`);\n  }\n  for (const s of classStates) {\n    attrs.push(`class:${s.className}={${s.stateName}}`);\n  }\n\n  // Ref binding\n  const refName = analysis.refMap.get(el.selector);\n  if (refName) {\n    attrs.push(`bind:this={${refName}}`);\n  }\n\n  // Visibility\n  const visState = analysis.stateMap.get(el.selector + ':visible');\n\n  // Content\n  const contentState = analysis.stateMap.get(el.selector + ':content');\n  const numState = analysis.stateMap.get(el.selector + ':num');\n\n  const attrStr = attrs.length > 0 ? ' ' + attrs.join(' ') : '';\n  const content = contentState ? `{${contentState}}` : numState ? `{${numState}}` : (el.id ?? '');\n\n  const elementLine = `<${el.tag}${attrStr}>${content}</${el.tag}>`;\n\n  if (visState) {\n    lines.push(`{#if ${visState}}`);\n    lines.push(`  ${elementLine}`);\n    lines.push('{/if}');\n  } else {\n    lines.push(elementLine);\n  }\n\n  return lines;\n}\n","/**\n * CompilationService — the main orchestrator.\n *\n * Accepts hyperscript in three formats (natural language, explicit syntax, LLM JSON),\n * validates through semantic schemas, and compiles to optimized JavaScript.\n */\n\nimport type {\n  CompileRequest,\n  CompileResponse,\n  ValidationResponse,\n  TranslateRequest,\n  TranslateResponse,\n  TestRequest,\n  TestResponse,\n  ComponentRequest,\n  ComponentResponse,\n  DiffRequest,\n  DiffResponse,\n  GenerateRequest,\n  GenerateResponse,\n  ServiceOptions,\n  SemanticJSON,\n  SemanticJSONValue,\n  Diagnostic,\n} from './types.js';\nimport { diffBehaviors } from './diff/diff.js';\nimport { normalize, initNormalizer } from './input/normalize.js';\nimport {\n  runValidationGates,\n  initValidation,\n  type ValidationFunctions,\n} from './validation/gates.js';\nimport {\n  compileSemanticNode,\n  initBridge,\n  type BridgeFunctions,\n  type AOTCompilerLike,\n} from './compile/bridge.js';\nimport { SemanticCache, generateCacheKey } from './compile/cache.js';\nimport { extractOperations } from './operations/extract.js';\nimport { PlaywrightRenderer } from './renderers/playwright.js';\nimport { ReactRenderer } from './renderers/react.js';\nimport { VueRenderer } from './renderers/vue.js';\nimport { SvelteRenderer } from './renderers/svelte.js';\nimport type { TestRenderer } from './renderers/types.js';\nimport type { ComponentRenderer } from './renderers/component-types.js';\n\n// =============================================================================\n// Service\n// =============================================================================\n\nexport class CompilationService {\n  private cache: SemanticCache;\n  private confidenceThreshold: number;\n  private translateFn: ((code: string, from: string, to: string) => string) | null = null;\n  private testRenderers: Map<string, TestRenderer>;\n  private componentRenderers: Map<string, ComponentRenderer>;\n\n  private constructor(options: ServiceOptions = {}) {\n    this.confidenceThreshold = options.confidenceThreshold ?? 0.7;\n    this.cache = new SemanticCache(options.cacheSize ?? 500);\n\n    // Initialize renderer registries with defaults\n    this.testRenderers = new Map<string, TestRenderer>(\n      Object.entries(options.testRenderers ?? { playwright: new PlaywrightRenderer() })\n    );\n    this.componentRenderers = new Map<string, ComponentRenderer>(\n      Object.entries(\n        options.componentRenderers ?? {\n          react: new ReactRenderer(),\n          vue: new VueRenderer(),\n          svelte: new SvelteRenderer(),\n        }\n      )\n    );\n  }\n\n  /**\n   * Register a test renderer for a given framework.\n   */\n  registerTestRenderer(framework: string, renderer: TestRenderer): void {\n    this.testRenderers.set(framework, renderer);\n  }\n\n  /**\n   * Register a component renderer for a given framework.\n   */\n  registerComponentRenderer(framework: string, renderer: ComponentRenderer): void {\n    this.componentRenderers.set(framework, renderer);\n  }\n\n  /**\n   * Create a CompilationService by dynamically importing dependencies.\n   *\n   * This async factory resolves @lokascript/semantic and @hyperfixi/aot-compiler\n   * at runtime, following the same pattern as createMultilingualCompiler().\n   */\n  static async create(options: ServiceOptions = {}): Promise<CompilationService> {\n    const service = new CompilationService(options);\n\n    // Import semantic package\n    const semantic = await import('@lokascript/semantic');\n\n    // Initialize normalizer with semantic parsing functions\n    initNormalizer({\n      parseSemantic: semantic.parseSemantic,\n      parseExplicit: semantic.parseExplicit,\n      isExplicitSyntax: semantic.isExplicitSyntax,\n    });\n\n    // Initialize validation with schema validator\n    // Cast needed: our interface uses `unknown` to avoid importing semantic types\n    initValidation({\n      validateSemanticResult:\n        semantic.validateSemanticResult as ValidationFunctions['validateSemanticResult'],\n    });\n\n    // Import AOT compiler\n    const aot = await import('@hyperfixi/aot-compiler');\n    const compiler = aot.createCompiler();\n\n    // Initialize bridge with AST builder and compiler\n    // Cast needed: our interfaces use `unknown` to avoid direct type dependencies\n    initBridge(\n      {\n        ASTBuilder: semantic.ASTBuilder as unknown as BridgeFunctions['ASTBuilder'],\n        fromSemanticAST: semantic.fromSemanticAST as unknown as BridgeFunctions['fromSemanticAST'],\n      },\n      compiler as unknown as AOTCompilerLike\n    );\n\n    // Store translate function\n    service.translateFn = semantic.translate;\n\n    return service;\n  }\n\n  // ===========================================================================\n  // Public API\n  // ===========================================================================\n\n  /**\n   * Compile hyperscript to JavaScript.\n   *\n   * Accepts any of three input formats:\n   * - `code` + `language`: Natural language hyperscript\n   * - `explicit`: Bracket syntax [command role:value ...]\n   * - `semantic`: LLM JSON { action, roles, trigger }\n   *\n   * Returns compiled JS, semantic representation, and diagnostics.\n   */\n  compile(request: CompileRequest): CompileResponse {\n    const diagnostics: Diagnostic[] = [];\n\n    // Step 1: Normalize input to SemanticNode\n    const normalized = normalize(request);\n    diagnostics.push(...normalized.diagnostics);\n\n    if (!normalized.node) {\n      return { ok: false, diagnostics };\n    }\n\n    // Step 2: Validate\n    const threshold = request.confidence ?? this.confidenceThreshold;\n    const gateResult = runValidationGates(normalized.node, normalized.confidence, threshold);\n    diagnostics.push(...gateResult.diagnostics);\n\n    if (!gateResult.pass) {\n      return {\n        ok: false,\n        confidence: gateResult.adjustedConfidence,\n        diagnostics,\n      };\n    }\n\n    // Step 3: Check cache\n    const cacheKey = generateCacheKey(normalized.node, {\n      optimization: request.optimization,\n      target: request.target,\n      minify: request.minify,\n    });\n\n    const cached = this.cache.get(cacheKey);\n    if (cached) {\n      // Merge current diagnostics with cached (warnings may differ)\n      return {\n        ...cached,\n        confidence: gateResult.adjustedConfidence,\n        diagnostics: [...diagnostics, ...cached.diagnostics.filter(d => d.severity !== 'error')],\n      };\n    }\n\n    // Step 4: Compile\n    const result = compileSemanticNode(normalized.node, {\n      language: request.language,\n      optimization: request.optimization,\n      target: request.target,\n      minify: request.minify,\n    });\n\n    // Convert bridge warnings/errors to diagnostics\n    for (const warning of result.warnings) {\n      diagnostics.push({ severity: 'warning', code: 'COMPILE_WARNING', message: warning });\n    }\n    for (const error of result.errors) {\n      diagnostics.push({ severity: 'error', code: 'COMPILE_ERROR', message: error });\n    }\n\n    if (!result.success) {\n      return { ok: false, diagnostics };\n    }\n\n    // Step 5: Assemble response\n    const semanticJSON = nodeToSemanticJSON(normalized.node);\n    const response: CompileResponse = {\n      ok: true,\n      js: result.code,\n      helpers: result.helpers,\n      size: result.code ? new TextEncoder().encode(result.code).length : 0,\n      semantic: semanticJSON,\n      confidence: gateResult.adjustedConfidence,\n      diagnostics,\n    };\n\n    // Step 6: Cache\n    this.cache.set(cacheKey, response);\n\n    return response;\n  }\n\n  /**\n   * Validate input without compiling.\n   * Returns semantic representation and diagnostics.\n   */\n  validate(request: CompileRequest): ValidationResponse {\n    const diagnostics: Diagnostic[] = [];\n\n    // Normalize\n    const normalized = normalize(request);\n    diagnostics.push(...normalized.diagnostics);\n\n    if (!normalized.node) {\n      return { ok: false, diagnostics };\n    }\n\n    // Validate\n    const threshold = request.confidence ?? this.confidenceThreshold;\n    const gateResult = runValidationGates(normalized.node, normalized.confidence, threshold);\n    diagnostics.push(...gateResult.diagnostics);\n\n    const semanticJSON = gateResult.pass ? nodeToSemanticJSON(normalized.node) : undefined;\n\n    return {\n      ok: gateResult.pass,\n      semantic: semanticJSON,\n      confidence: gateResult.adjustedConfidence,\n      diagnostics,\n    };\n  }\n\n  /**\n   * Translate hyperscript between languages.\n   */\n  translate(request: TranslateRequest): TranslateResponse {\n    if (!this.translateFn) {\n      return {\n        ok: false,\n        diagnostics: [\n          {\n            severity: 'error',\n            code: 'NOT_INITIALIZED',\n            message: 'Translation not available.',\n          },\n        ],\n      };\n    }\n\n    try {\n      const result = this.translateFn(request.code, request.from, request.to);\n      return {\n        ok: true,\n        code: result,\n        diagnostics: [],\n      };\n    } catch (error) {\n      return {\n        ok: false,\n        diagnostics: [\n          {\n            severity: 'error',\n            code: 'TRANSLATE_ERROR',\n            message: error instanceof Error ? error.message : String(error),\n          },\n        ],\n      };\n    }\n  }\n\n  /**\n   * Generate behavior-level tests from hyperscript.\n   *\n   * Parses the input, extracts abstract operations (what the behavior does),\n   * and renders them as test code in the requested framework.\n   */\n  generateTests(request: TestRequest): TestResponse {\n    const diagnostics: Diagnostic[] = [];\n\n    // Step 1: Normalize input to SemanticNode (reuse existing pipeline)\n    const normalized = normalize({\n      code: request.code,\n      explicit: request.explicit,\n      semantic: request.semantic,\n      language: request.language,\n      confidence: request.confidence,\n    });\n    diagnostics.push(...normalized.diagnostics);\n\n    if (!normalized.node) {\n      return { ok: false, tests: [], operations: [], diagnostics };\n    }\n\n    // Step 2: Validate\n    const threshold = request.confidence ?? this.confidenceThreshold;\n    const gateResult = runValidationGates(normalized.node, normalized.confidence, threshold);\n    diagnostics.push(...gateResult.diagnostics);\n\n    if (!gateResult.pass) {\n      return { ok: false, tests: [], operations: [], diagnostics };\n    }\n\n    // Step 3: Extract abstract operations\n    const spec = extractOperations(normalized.node);\n\n    if (spec.operations.length === 0) {\n      diagnostics.push({\n        severity: 'warning',\n        code: 'NO_OPERATIONS',\n        message: 'No testable operations extracted from the input.',\n      });\n      return { ok: false, tests: [], operations: [], diagnostics };\n    }\n\n    // Attach source hyperscript for test naming\n    if (!spec.source && request.code) {\n      spec.source = request.code;\n    }\n\n    // Step 4: Render tests\n    const frameworkName = request.framework ?? 'playwright';\n    const renderer = this.testRenderers.get(frameworkName);\n    if (!renderer) {\n      diagnostics.push({\n        severity: 'error',\n        code: 'UNKNOWN_FRAMEWORK',\n        message: `No test renderer registered for framework '${frameworkName}'. Available: ${[...this.testRenderers.keys()].join(', ')}`,\n      });\n      return { ok: false, tests: [], operations: [], diagnostics };\n    }\n\n    // Optionally compile for 'compiled' execution mode\n    let compiledJs: string | undefined;\n    if (request.executionMode === 'compiled') {\n      const compileResult = this.compile({\n        code: request.code,\n        explicit: request.explicit,\n        semantic: request.semantic,\n        language: request.language,\n      });\n      if (compileResult.ok && compileResult.js) {\n        compiledJs = compileResult.js;\n      }\n    }\n\n    const generated = renderer.render(spec, {\n      testName: request.testName,\n      executionMode: request.executionMode,\n      bundlePath: request.bundlePath,\n      hyperscript: request.code ?? request.explicit,\n      compiledJs,\n    });\n\n    const semanticJSON = nodeToSemanticJSON(normalized.node);\n\n    return {\n      ok: true,\n      tests: [\n        {\n          name: generated.name,\n          code: generated.code,\n          html: generated.html,\n          framework: generated.framework,\n        },\n      ],\n      operations: spec.operations,\n      semantic: semanticJSON,\n      diagnostics,\n    };\n  }\n\n  /**\n   * Generate a framework component from hyperscript.\n   *\n   * Parses the input, extracts abstract operations, and renders\n   * them as a framework-specific component (React, Vue, or Svelte).\n   */\n  generateComponent(request: ComponentRequest): ComponentResponse {\n    const diagnostics: Diagnostic[] = [];\n\n    // Step 1: Normalize input to SemanticNode\n    const normalized = normalize({\n      code: request.code,\n      explicit: request.explicit,\n      semantic: request.semantic,\n      language: request.language,\n      confidence: request.confidence,\n    });\n    diagnostics.push(...normalized.diagnostics);\n\n    if (!normalized.node) {\n      return { ok: false, operations: [], diagnostics };\n    }\n\n    // Step 2: Validate\n    const threshold = request.confidence ?? this.confidenceThreshold;\n    const gateResult = runValidationGates(normalized.node, normalized.confidence, threshold);\n    diagnostics.push(...gateResult.diagnostics);\n\n    if (!gateResult.pass) {\n      return { ok: false, operations: [], diagnostics };\n    }\n\n    // Step 3: Extract abstract operations\n    const spec = extractOperations(normalized.node);\n\n    if (spec.operations.length === 0) {\n      diagnostics.push({\n        severity: 'warning',\n        code: 'NO_OPERATIONS',\n        message: 'No operations extracted from the input.',\n      });\n      return { ok: false, operations: [], diagnostics };\n    }\n\n    if (!spec.source && request.code) {\n      spec.source = request.code;\n    }\n\n    // Step 4: Render component\n    const frameworkName = request.framework ?? 'react';\n    const renderer = this.componentRenderers.get(frameworkName);\n    if (!renderer) {\n      diagnostics.push({\n        severity: 'error',\n        code: 'UNKNOWN_FRAMEWORK',\n        message: `No component renderer registered for framework '${frameworkName}'. Available: ${[...this.componentRenderers.keys()].join(', ')}`,\n      });\n      return { ok: false, operations: [], diagnostics };\n    }\n    const generated = renderer.render(spec, {\n      componentName: request.componentName,\n      typescript: request.typescript,\n    });\n\n    const semanticJSON = nodeToSemanticJSON(normalized.node);\n\n    return {\n      ok: true,\n      component: {\n        name: generated.name,\n        code: generated.code,\n        hooks: generated.hooks,\n        framework: generated.framework,\n      },\n      operations: spec.operations,\n      semantic: semanticJSON,\n      diagnostics,\n    };\n  }\n\n  /**\n   * Compare two hyperscript inputs at the behavior level.\n   *\n   * Both sides are independently normalized and validated, then compared\n   * as abstract operations. Same behavior in different languages → identical.\n   */\n  diff(request: DiffRequest): DiffResponse {\n    const diagnostics: Diagnostic[] = [];\n    const threshold = request.confidence ?? this.confidenceThreshold;\n\n    // Normalize both sides independently\n    const normA = normalize({\n      code: request.a.code,\n      explicit: request.a.explicit,\n      semantic: request.a.semantic,\n      language: request.a.language,\n      confidence: request.confidence,\n    });\n    diagnostics.push(...normA.diagnostics.map(d => ({ ...d, message: `[a] ${d.message}` })));\n\n    const normB = normalize({\n      code: request.b.code,\n      explicit: request.b.explicit,\n      semantic: request.b.semantic,\n      language: request.b.language,\n      confidence: request.confidence,\n    });\n    diagnostics.push(...normB.diagnostics.map(d => ({ ...d, message: `[b] ${d.message}` })));\n\n    if (!normA.node || !normB.node) {\n      return {\n        ok: false,\n        identical: false,\n        trigger: null,\n        operations: [],\n        summary: 'Parse failed',\n        diagnostics,\n      };\n    }\n\n    // Validate both sides\n    const gateA = runValidationGates(normA.node, normA.confidence, threshold);\n    diagnostics.push(...gateA.diagnostics.map(d => ({ ...d, message: `[a] ${d.message}` })));\n\n    const gateB = runValidationGates(normB.node, normB.confidence, threshold);\n    diagnostics.push(...gateB.diagnostics.map(d => ({ ...d, message: `[b] ${d.message}` })));\n\n    if (!gateA.pass || !gateB.pass) {\n      return {\n        ok: false,\n        identical: false,\n        trigger: null,\n        operations: [],\n        summary: 'Validation failed',\n        diagnostics,\n      };\n    }\n\n    // Extract operations from both\n    const specA = extractOperations(normA.node);\n    const specB = extractOperations(normB.node);\n\n    // Diff\n    const result = diffBehaviors(specA, specB);\n\n    return {\n      ok: true,\n      identical: result.identical,\n      trigger: result.trigger,\n      operations: result.operations,\n      summary: result.summary,\n      diagnostics,\n    };\n  }\n\n  /**\n   * Generate a target-specific output from LSE (bracket syntax or protocol JSON).\n   *\n   * Accepts LSE produced by an LLM (via `lse_generate_with_correction` MCP tool),\n   * validates it, and renders to the requested target format.\n   *\n   * Targets:\n   * - 'js'             — compiled JavaScript (default)\n   * - 'react'          — React component\n   * - 'vue'            — Vue component\n   * - 'svelte'         — Svelte component\n   * - 'intent-element' — HTML snippet with embedded `<lse-intent>` JSON\n   */\n  async generate(request: GenerateRequest): Promise<GenerateResponse> {\n    const { lse, target = 'js', task } = request;\n    const diagnostics: Diagnostic[] = [];\n\n    const isJSON = lse.trimStart().startsWith('{');\n\n    // ── intent-element: validate via @lokascript/intent, render HTML ───────\n    if (target === 'intent-element') {\n      try {\n        const { parseExplicit, toProtocolJSON, validateProtocolJSON, fromProtocolJSON } =\n          await import('@lokascript/framework');\n\n        let node: import('@lokascript/framework').SemanticNode | null = null;\n\n        if (isJSON) {\n          let parsed: unknown;\n          try {\n            parsed = JSON.parse(lse);\n          } catch {\n            return {\n              ok: false,\n              diagnostics: [\n                { severity: 'error', code: 'INVALID_JSON', message: 'LSE is not valid JSON' },\n              ],\n            };\n          }\n          const protoDiags = validateProtocolJSON(parsed as Record<string, unknown>);\n          for (const d of protoDiags) {\n            diagnostics.push({\n              severity: d.severity as 'error' | 'warning' | 'info',\n              code: d.code,\n              message: d.message,\n            });\n          }\n          if (!protoDiags.some(d => d.severity === 'error')) {\n            node = fromProtocolJSON(parsed as Parameters<typeof fromProtocolJSON>[0]);\n          }\n        } else {\n          try {\n            node = parseExplicit(lse);\n          } catch (e) {\n            return {\n              ok: false,\n              diagnostics: [\n                {\n                  severity: 'error',\n                  code: 'PARSE_ERROR',\n                  message: e instanceof Error ? e.message : String(e),\n                },\n              ],\n            };\n          }\n        }\n\n        if (!node) {\n          return { ok: false, diagnostics };\n        }\n\n        const protocol = toProtocolJSON(node);\n        const protocolStr = JSON.stringify(protocol, null, 2);\n        const taskComment = task ? `<!-- Task: ${task.replace(/-->/g, '-\\\\->')} -->\\n` : '';\n\n        // Infer a declarative trigger attribute from the node.\n        //\n        // - event-handler nodes carry their event name in roles.get('event')\n        //   as a literal (wire-format trigger sugar is unwrapped into this\n        //   shape by fromProtocolJSON). Emit trigger=\"<event>\".\n        // - Everything else gets trigger=\"load\" — the element fires\n        //   validation+execution on connect. This matches the default\n        //   behavior and is the safest choice when no event is specified.\n        let triggerAttr = 'load';\n        if (node.kind === 'event-handler') {\n          const eventValue = node.roles.get('event');\n          if (\n            eventValue &&\n            eventValue.type === 'literal' &&\n            typeof eventValue.value === 'string' &&\n            eventValue.value.length > 0\n          ) {\n            triggerAttr = eventValue.value;\n          }\n        }\n        const escapedTrigger = triggerAttr.replace(/\"/g, '&quot;');\n\n        const output = [\n          `${taskComment}<lse-intent trigger=\"${escapedTrigger}\">`,\n          `  <script type=\"application/lse+json\">`,\n          protocolStr\n            .split('\\n')\n            .map(l => `    ${l}`)\n            .join('\\n'),\n          `  </script>`,\n          `</lse-intent>`,\n        ].join('\\n');\n\n        const semanticJSON = nodeToSemanticJSON(node);\n\n        return { ok: true, output, protocol: semanticJSON, diagnostics };\n      } catch (e) {\n        return {\n          ok: false,\n          diagnostics: [\n            {\n              severity: 'error',\n              code: 'INTERNAL_ERROR',\n              message: e instanceof Error ? e.message : String(e),\n            },\n          ],\n        };\n      }\n    }\n\n    // ── framework targets: delegate to existing pipeline ───────────────────\n\n    const componentTargets = ['react', 'vue', 'svelte'] as const;\n    type ComponentTarget = (typeof componentTargets)[number];\n\n    if ((componentTargets as readonly string[]).includes(target)) {\n      const componentRequest: ComponentRequest = isJSON\n        ? { semantic: JSON.parse(lse) as SemanticJSON }\n        : { explicit: lse };\n      const result = this.generateComponent({\n        ...componentRequest,\n        framework: target as ComponentTarget,\n      });\n      return {\n        ok: result.ok,\n        output: result.component?.code,\n        protocol: result.semantic,\n        diagnostics: result.diagnostics,\n      };\n    }\n\n    // ── js (default): compile to JavaScript ────────────────────────────────\n\n    const compileRequest: CompileRequest = isJSON\n      ? { semantic: JSON.parse(lse) as SemanticJSON }\n      : { explicit: lse };\n    const result = this.compile(compileRequest);\n    return {\n      ok: result.ok,\n      output: result.js,\n      protocol: result.semantic,\n      diagnostics: result.diagnostics,\n    };\n  }\n\n  /**\n   * Get cache statistics.\n   */\n  getCacheStats(): { size: number; hits: number; misses: number; hitRate: number } {\n    const total = this.cache.hits + this.cache.misses;\n    return {\n      size: this.cache.size,\n      hits: this.cache.hits,\n      misses: this.cache.misses,\n      hitRate: total > 0 ? this.cache.hits / total : 0,\n    };\n  }\n\n  /**\n   * Clear the compilation cache.\n   */\n  clearCache(): void {\n    this.cache.clear();\n  }\n}\n\n// =============================================================================\n// Helpers\n// =============================================================================\n\n/**\n * Flatten a SemanticValue (possibly nested property-path) to a string.\n */\nfunction extractSemanticValueString(v: unknown): string {\n  if (!v || typeof v !== 'object') return '';\n  const sv = v as {\n    type?: string;\n    value?: unknown;\n    raw?: string;\n    object?: unknown;\n    property?: string;\n  };\n  if (sv.type === 'property-path') {\n    return `${extractSemanticValueString(sv.object)}.${sv.property ?? ''}`;\n  }\n  return String(sv.value ?? sv.raw ?? '');\n}\n\n/**\n * Convert a SemanticNode to SemanticJSON for the response.\n */\nfunction nodeToSemanticJSON(node: unknown): SemanticJSON | undefined {\n  if (!node || typeof node !== 'object') return undefined;\n\n  const n = node as {\n    kind?: string;\n    action?: string;\n    roles?: ReadonlyMap<string, unknown>;\n    body?: unknown[];\n    eventModifiers?: Record<string, unknown>;\n  };\n\n  if (!n.action) return undefined;\n\n  const roles: Record<string, SemanticJSONValue> = {};\n\n  if (n.roles && typeof n.roles.entries === 'function') {\n    for (const [role, value] of n.roles.entries()) {\n      if (role === 'event') continue; // Handled via trigger\n      const v = value as { type?: string; value?: unknown; raw?: string };\n      if (v && v.type) {\n        if (v.type === 'property-path') {\n          roles[role] = {\n            type: 'property-path',\n            value: extractSemanticValueString(v),\n          };\n        } else {\n          const valueType = v.type as SemanticJSONValue['type'];\n          roles[role] = {\n            type: (['selector', 'literal', 'reference', 'expression'].includes(valueType)\n              ? valueType\n              : 'literal') as SemanticJSONValue['type'],\n            value: (v.value ?? v.raw ?? '') as string | number | boolean,\n          };\n        }\n      }\n    }\n  }\n\n  // Handle event handlers\n  if (n.kind === 'event-handler' || n.action === 'on') {\n    const eventRole =\n      n.roles && typeof n.roles.get === 'function'\n        ? (n.roles.get('event') as { value?: string } | undefined)\n        : undefined;\n\n    // For event handlers, return the body command's semantic JSON\n    if (n.body && n.body.length > 0) {\n      const bodyJSON = nodeToSemanticJSON(n.body[0]);\n      if (bodyJSON) {\n        bodyJSON.trigger = {\n          event: eventRole?.value ?? 'click',\n          modifiers: n.eventModifiers,\n        };\n        return bodyJSON;\n      }\n    }\n\n    return {\n      action: n.action,\n      roles,\n      trigger: {\n        event: eventRole?.value ?? 'click',\n        modifiers: n.eventModifiers,\n      },\n    };\n  }\n\n  return { action: n.action, roles };\n}\n","/**\n * LLM JSON input validation and conversion.\n *\n * Re-exports from @lokascript/framework/ir — the canonical IR layer.\n */\n\nexport {\n  validateSemanticJSON,\n  jsonToSemanticNode,\n  semanticNodeToJSON,\n} from '@lokascript/framework/ir';\n"],"mappings":"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SM,IAAMR,iBAAe,oBAAI,IAAI,CAAC,MAAM,MAAM,OAAO,UAAU,MAAM,OAAO,MAAM,CAAC;AAK/E,IAAMH,sBAAoB,oBAAI,IAAI,CAAC,OAAO,MAAM,OAAO,IAAI,CAAC;AAgB5D,IAAM,uBAAuB,oBAAI,IAAI;MAC1C;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MAEA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MAEA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MAIA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MAIA;MAMA;MACA;MACA;MACA;IACD,CAAA;AAKM,IAAM,aAAa,oBAAI,IAAI;MAChC;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IACD,CAAA;AAWM,IAAM,qBAAqB,oBAAI,IAAI;MACxC;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MAEA;MACA;MACA;MAEA;MAEA;MACA;MAEA;MACA;MACA;MACA;MACA;MACA;MAEA;MACA;MACA;MACA;IACD,CAAA;ACpiBD,KAAA,SAAYoJ,YAAS;AAEnB,MAAAA,WAAA,YAAA,IAAA;AAEA,MAAAA,WAAA,QAAA,IAAA;AAEA,MAAAA,WAAA,QAAA,IAAA;AAEA,MAAAA,WAAA,UAAA,IAAA;AAEA,MAAAA,WAAA,UAAA,IAAA;AAEA,MAAAA,WAAA,MAAA,IAAA;AAEA,MAAAA,WAAA,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","names":["tokenize","pos","prefix","TIME_UNITS","LOGICAL_OPERATORS","err","isKeyword","CONTEXT_VARS","isString","isNumber","isBoolean","v","isIdSelector","createLiteral","createSelector","KEYWORDS","preposition","targetExpr","varToken","domCommands.parsePutCommand","eventCommands.parseTriggerCommand","domCommands.parseRemoveCommand","domCommands.parseToggleCommand","variableCommands.parseSetCommand","controlFlowCommands.parseHaltCommand","animationCommands.parseMeasureCommand","animationCommands.parseStartCommand","domCommands.parseSwapCommand","parse","isHTMLElement","value","isInputElement","isFormElement","isOptionElement","getElementProperty","index","validator","convertValue","ok","elements","escaped","doc","left","right","command","options","leftNum","rightNum","success","createAdditionExpression","AdditionExpression","createMultiplicationExpression","MultiplicationExpression","config","hasAttribute","str","val","normalized","isPopoverElement","evaluateCondition","createReference","createPropertyPath","createCommandNode","createConditionalNode","createCompoundNode","createLoopNode","isValidReference","parseExplicit","isExplicitSyntax","inferSelectorKind","renderExplicit","toProtocolJSON","fromProtocolJSON","toEnvelopeJSON","fromEnvelopeJSON","isEnvelope","validateProtocolJSON","VALID_VALUE_TYPES","isTypeCompatible","getPossessiveReference","matchPattern","patternMatcher","matchBest","generatePattern","defaultConfig","buildTokens","buildExtractionRules","buildFormatString","sortRolesByWordOrder","generatePatternVariants","fromInterchangeNode","convertEvent","convertCommand","convertIf","convertRepeat","convertForEach","convertWhile","inferRoles","convertLiteral","semanticNodeToRuntimeAST","convertEventHandler","profiles","extractCssSelector","extractUrl","getDefaultExtractors","OperatorExtractor","PunctuationExtractor","meta","peek","advance","skipWhitespace","isValidReferenceBase","parseExplicitBase","hyperscript","SemanticCache","module","convertCommandSequence","convertBlock","convertPossessive","convertMember","convertBinary","convertCall","buildEventModifiers","convertIfCommand","convertRepeatCommand","convertModifiers","extractBlockCommands","resolveTarget","compileSync","compileAsync","DEFAULT_LANGUAGE","process","SemanticGrammarBridge","parseSemantic","render","parseToResult","bridge","result","errorMsg","boundedPush","MAX_HISTORY_SIZE","isDebugEnabled","DEFAULT_CONFIDENCE_THRESHOLD","itsExpression","_PatternMatcher","PatternMatcher","DEFAULT_OPERATORS","DEFAULT_PUNCTUATION","__defProp","__getOwnPropNames","__esm","__export","TokenKind","parseExpression","PRATT_STOP_TOKENS","PRATT_STOP_DELIMITERS","utilityCommands.parseCompoundCommand","controlFlowCommands.parseRepeatCommand","controlFlowCommands.parseForCommand","asyncCommands.parseWaitCommand","asyncCommands.parseInstallCommand","animationCommands.parseTransitionCommand","domCommands.parseAddCommand","controlFlowCommands.parseIfCommand","utilityCommands.parseRegularCommand","token","isKeywordPredicate","isCommandPredicate","isCommand","astHelpers.createErrorCommandNode","astHelpers.createCommandSequence","parsingHelpers.getMultiWordPattern","parsingHelpers.isKeyword","utilityCommands.parseMultiWordCommand","utilityCommands.parseFetchCommand","astHelpers.createPartialCommandNode","variableCommands.parseIncrementDecrementCommand","astHelpers.createLiteral","astHelpers.createIdentifier","astHelpers.createBinaryExpression","astHelpers.createUnaryExpression","astHelpers.createCallExpression","astHelpers.createMemberExpression","astHelpers.createSelector","astHelpers.createPossessiveExpression","astHelpers.createErrorNode","astHelpers.createProgramNode","isHTMLEl","defaultRegistry","targets","duration","untilEvent","resolveOpts","expression","property","isLiteral","morphlexMorph","morphlexMorphInner","resolveElementHelper","resolveElementsHelper","newValue","cssVal","num","methodName","methodArgs","targetExpression","formatValue","source","DEBUG","ARABIC_VERBS","PREFERRED_PREPOSITIONS","_BaseTokenizer","_options","renderExplicitBase","_SemanticParserImpl","isEvent","processDOMElements","queue","DiagnosticSeverity","SymbolKind","CompletionItemKind","_converter","createSemanticAdapter","parseWithConfidence","isLanguageRegistered","createSemanticAdapter","analyze","extractClassOp","resolveTarget","escapeHtml","command","parseDuration","createCoreParserAdapter","createSemanticAdapter","import_framework","VERSION","target","targetNode","debug","normalized","prefix","v","err","bridge","v","hyperscript","escapeString","prefix","escapeString","v","analyzeOperations","generateOperationCode","escapeString","v","analyzeOperations","generateOperationCode","generateTemplate","escapeString","v","collectTargetElements","normalized","parseExplicit","toProtocolJSON","validateProtocolJSON","fromProtocolJSON","result","v"]}