@lokascript/semantic 1.2.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__test-utils__/index.d.ts +6 -0
- package/dist/__test-utils__/index.d.ts.map +1 -0
- package/dist/__test-utils__/test-helpers.d.ts +7 -0
- package/dist/__test-utils__/test-helpers.d.ts.map +1 -0
- package/dist/__types__/test-helpers.d.ts +67 -0
- package/dist/__types__/test-helpers.d.ts.map +1 -0
- package/dist/analysis/index.d.ts +106 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/ast-builder/command-mappers.d.ts +50 -0
- package/dist/ast-builder/command-mappers.d.ts.map +1 -0
- package/dist/ast-builder/expression-parser/index.d.ts +14 -0
- package/dist/ast-builder/expression-parser/index.d.ts.map +1 -0
- package/dist/ast-builder/expression-parser/parser.d.ts +50 -0
- package/dist/ast-builder/expression-parser/parser.d.ts.map +1 -0
- package/dist/ast-builder/expression-parser/tokenizer.d.ts +44 -0
- package/dist/ast-builder/expression-parser/tokenizer.d.ts.map +1 -0
- package/dist/ast-builder/expression-parser/types.d.ts +111 -0
- package/dist/ast-builder/expression-parser/types.d.ts.map +1 -0
- package/dist/ast-builder/index.d.ts +183 -0
- package/dist/ast-builder/index.d.ts.map +1 -0
- package/dist/ast-builder/value-converters.d.ts +51 -0
- package/dist/ast-builder/value-converters.d.ts.map +1 -0
- package/dist/browser-ar.ar.global.js +2 -2
- package/dist/browser-ar.d.ts +47 -0
- package/dist/browser-ar.d.ts.map +1 -0
- package/dist/browser-bn.bn.global.js +2 -0
- package/dist/browser-bn.d.ts +47 -0
- package/dist/browser-bn.d.ts.map +1 -0
- package/dist/browser-core.core.global.js +2 -2
- package/dist/browser-core.d.ts +83 -0
- package/dist/browser-core.d.ts.map +1 -0
- package/dist/browser-de.d.ts +47 -0
- package/dist/browser-de.d.ts.map +1 -0
- package/dist/browser-de.de.global.js +2 -2
- package/dist/browser-east-asian.d.ts +59 -0
- package/dist/browser-east-asian.d.ts.map +1 -0
- package/dist/browser-east-asian.east-asian.global.js +2 -2
- package/dist/browser-en-tr.d.ts +50 -0
- package/dist/browser-en-tr.d.ts.map +1 -0
- package/dist/browser-en-tr.en-tr.global.js +2 -2
- package/dist/browser-en.d.ts +48 -0
- package/dist/browser-en.d.ts.map +1 -0
- package/dist/browser-en.en.global.js +2 -2
- package/dist/browser-es-en.d.ts +62 -0
- package/dist/browser-es-en.d.ts.map +1 -0
- package/dist/browser-es-en.es-en.global.js +2 -2
- package/dist/browser-es.d.ts +51 -0
- package/dist/browser-es.d.ts.map +1 -0
- package/dist/browser-es.es.global.js +2 -2
- package/dist/browser-fr.d.ts +47 -0
- package/dist/browser-fr.d.ts.map +1 -0
- package/dist/browser-fr.fr.global.js +2 -2
- package/dist/browser-hi.d.ts +47 -0
- package/dist/browser-hi.d.ts.map +1 -0
- package/dist/browser-hi.hi.global.js +2 -0
- package/dist/browser-id.d.ts +47 -0
- package/dist/browser-id.d.ts.map +1 -0
- package/dist/browser-id.id.global.js +2 -2
- package/dist/browser-it.d.ts +47 -0
- package/dist/browser-it.d.ts.map +1 -0
- package/dist/browser-it.it.global.js +2 -0
- package/dist/browser-ja.d.ts +47 -0
- package/dist/browser-ja.d.ts.map +1 -0
- package/dist/browser-ja.ja.global.js +2 -2
- package/dist/browser-ko.d.ts +47 -0
- package/dist/browser-ko.d.ts.map +1 -0
- package/dist/browser-ko.ko.global.js +2 -2
- package/dist/browser-lazy.d.ts +52 -0
- package/dist/browser-lazy.d.ts.map +1 -0
- package/dist/browser-lazy.lazy.global.js +2 -2
- package/dist/browser-ms.d.ts +47 -0
- package/dist/browser-ms.d.ts.map +1 -0
- package/dist/browser-ms.ms.global.js +2 -0
- package/dist/browser-pl.d.ts +47 -0
- package/dist/browser-pl.d.ts.map +1 -0
- package/dist/browser-pl.pl.global.js +2 -0
- package/dist/browser-priority.d.ts +83 -0
- package/dist/browser-priority.d.ts.map +1 -0
- package/dist/browser-priority.priority.global.js +2 -2
- package/dist/browser-pt.d.ts +47 -0
- package/dist/browser-pt.d.ts.map +1 -0
- package/dist/browser-pt.pt.global.js +2 -2
- package/dist/browser-qu.d.ts +47 -0
- package/dist/browser-qu.d.ts.map +1 -0
- package/dist/browser-qu.qu.global.js +2 -2
- package/dist/browser-ru.d.ts +47 -0
- package/dist/browser-ru.d.ts.map +1 -0
- package/dist/browser-ru.ru.global.js +2 -0
- package/dist/browser-sw.d.ts +47 -0
- package/dist/browser-sw.d.ts.map +1 -0
- package/dist/browser-sw.sw.global.js +2 -2
- package/dist/browser-th.d.ts +47 -0
- package/dist/browser-th.d.ts.map +1 -0
- package/dist/browser-th.th.global.js +2 -0
- package/dist/browser-tl.d.ts +47 -0
- package/dist/browser-tl.d.ts.map +1 -0
- package/dist/browser-tl.tl.global.js +2 -0
- package/dist/browser-tr.d.ts +47 -0
- package/dist/browser-tr.d.ts.map +1 -0
- package/dist/browser-tr.tr.global.js +2 -2
- package/dist/browser-uk.d.ts +47 -0
- package/dist/browser-uk.d.ts.map +1 -0
- package/dist/browser-uk.uk.global.js +2 -0
- package/dist/browser-vi.d.ts +47 -0
- package/dist/browser-vi.d.ts.map +1 -0
- package/dist/browser-vi.vi.global.js +2 -0
- package/dist/browser-western.d.ts +67 -0
- package/dist/browser-western.d.ts.map +1 -0
- package/dist/browser-western.western.global.js +2 -2
- package/dist/browser-zh.d.ts +47 -0
- package/dist/browser-zh.d.ts.map +1 -0
- package/dist/browser-zh.zh.global.js +2 -2
- package/dist/browser.d.ts +69 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.global.js +2 -2
- package/dist/browser.global.js.map +1 -1
- package/dist/cache/index.d.ts +7 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/semantic-cache.d.ts +138 -0
- package/dist/cache/semantic-cache.d.ts.map +1 -0
- package/dist/core-bridge.d.ts +154 -0
- package/dist/core-bridge.d.ts.map +1 -0
- package/dist/core.d.ts +24 -1235
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +6433 -1731
- package/dist/core.js.map +1 -1
- package/dist/explicit/converter.d.ts +98 -0
- package/dist/explicit/converter.d.ts.map +1 -0
- package/dist/explicit/index.d.ts +10 -0
- package/dist/explicit/index.d.ts.map +1 -0
- package/dist/explicit/parser.d.ts +25 -0
- package/dist/explicit/parser.d.ts.map +1 -0
- package/dist/explicit/renderer.d.ts +82 -0
- package/dist/explicit/renderer.d.ts.map +1 -0
- package/dist/generators/command-schemas.d.ts +358 -0
- package/dist/generators/command-schemas.d.ts.map +1 -0
- package/dist/generators/event-handlers-sov.d.ts +91 -0
- package/dist/generators/event-handlers-sov.d.ts.map +1 -0
- package/dist/generators/event-handlers-vso.d.ts +69 -0
- package/dist/generators/event-handlers-vso.d.ts.map +1 -0
- package/dist/generators/index.d.ts +12 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/language-profiles.d.ts +65 -0
- package/dist/generators/language-profiles.d.ts.map +1 -0
- package/dist/generators/pattern-generator.d.ts +81 -0
- package/dist/generators/pattern-generator.d.ts.map +1 -0
- package/dist/generators/profiles/arabic.d.ts +9 -0
- package/dist/generators/profiles/arabic.d.ts.map +1 -0
- package/dist/generators/profiles/bengali.d.ts +9 -0
- package/dist/generators/profiles/bengali.d.ts.map +1 -0
- package/dist/generators/profiles/chinese.d.ts +9 -0
- package/dist/generators/profiles/chinese.d.ts.map +1 -0
- package/dist/generators/profiles/english.d.ts +8 -0
- package/dist/generators/profiles/english.d.ts.map +1 -0
- package/dist/generators/profiles/french.d.ts +9 -0
- package/dist/generators/profiles/french.d.ts.map +1 -0
- package/dist/generators/profiles/german.d.ts +9 -0
- package/dist/generators/profiles/german.d.ts.map +1 -0
- package/dist/generators/profiles/hebrew.d.ts +10 -0
- package/dist/generators/profiles/hebrew.d.ts.map +1 -0
- package/dist/generators/profiles/hindi.d.ts +9 -0
- package/dist/generators/profiles/hindi.d.ts.map +1 -0
- package/dist/generators/profiles/index.d.ts +36 -0
- package/dist/generators/profiles/index.d.ts.map +1 -0
- package/dist/generators/profiles/indonesian.d.ts +9 -0
- package/dist/generators/profiles/indonesian.d.ts.map +1 -0
- package/dist/generators/profiles/italian.d.ts +10 -0
- package/dist/generators/profiles/italian.d.ts.map +1 -0
- package/dist/generators/profiles/japanese.d.ts +9 -0
- package/dist/generators/profiles/japanese.d.ts.map +1 -0
- package/dist/generators/profiles/korean.d.ts +9 -0
- package/dist/generators/profiles/korean.d.ts.map +1 -0
- package/dist/generators/profiles/marker-templates.d.ts +119 -0
- package/dist/generators/profiles/marker-templates.d.ts.map +1 -0
- package/dist/generators/profiles/ms.d.ts +8 -0
- package/dist/generators/profiles/ms.d.ts.map +1 -0
- package/dist/generators/profiles/polish.d.ts +10 -0
- package/dist/generators/profiles/polish.d.ts.map +1 -0
- package/dist/generators/profiles/portuguese.d.ts +9 -0
- package/dist/generators/profiles/portuguese.d.ts.map +1 -0
- package/dist/generators/profiles/quechua.d.ts +9 -0
- package/dist/generators/profiles/quechua.d.ts.map +1 -0
- package/dist/generators/profiles/russian.d.ts +10 -0
- package/dist/generators/profiles/russian.d.ts.map +1 -0
- package/dist/generators/profiles/spanish.d.ts +9 -0
- package/dist/generators/profiles/spanish.d.ts.map +1 -0
- package/dist/generators/profiles/spanishMexico.d.ts +19 -0
- package/dist/generators/profiles/spanishMexico.d.ts.map +1 -0
- package/dist/generators/profiles/swahili.d.ts +9 -0
- package/dist/generators/profiles/swahili.d.ts.map +1 -0
- package/dist/generators/profiles/thai.d.ts +9 -0
- package/dist/generators/profiles/thai.d.ts.map +1 -0
- package/dist/generators/profiles/tl.d.ts +8 -0
- package/dist/generators/profiles/tl.d.ts.map +1 -0
- package/dist/generators/profiles/turkish.d.ts +9 -0
- package/dist/generators/profiles/turkish.d.ts.map +1 -0
- package/dist/generators/profiles/types.d.ts +170 -0
- package/dist/generators/profiles/types.d.ts.map +1 -0
- package/dist/generators/profiles/ukrainian.d.ts +10 -0
- package/dist/generators/profiles/ukrainian.d.ts.map +1 -0
- package/dist/generators/profiles/vietnamese.d.ts +10 -0
- package/dist/generators/profiles/vietnamese.d.ts.map +1 -0
- package/dist/generators/schema-error-codes.d.ts +60 -0
- package/dist/generators/schema-error-codes.d.ts.map +1 -0
- package/dist/generators/schema-validator.d.ts +77 -0
- package/dist/generators/schema-validator.d.ts.map +1 -0
- package/dist/index.cjs +5451 -2522
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +50 -3436
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5448 -2526
- package/dist/index.js.map +1 -1
- package/dist/interchange/from-semantic.d.ts +23 -0
- package/dist/interchange/from-semantic.d.ts.map +1 -0
- package/dist/interchange/index.d.ts +7 -0
- package/dist/interchange/index.d.ts.map +1 -0
- package/dist/interchange/types.d.ts +132 -0
- package/dist/interchange/types.d.ts.map +1 -0
- package/dist/language-building-schema.d.ts +163 -0
- package/dist/language-building-schema.d.ts.map +1 -0
- package/dist/language-loader.d.ts +126 -0
- package/dist/language-loader.d.ts.map +1 -0
- package/dist/languages/_all.d.ts +66 -0
- package/dist/languages/_all.d.ts.map +1 -0
- package/dist/languages/ar.d.ts +6 -75
- package/dist/languages/ar.d.ts.map +1 -0
- package/dist/languages/ar.js +65 -14
- package/dist/languages/ar.js.map +1 -1
- package/dist/languages/bn.d.ts +10 -0
- package/dist/languages/bn.d.ts.map +1 -0
- package/dist/languages/bn.js +1163 -0
- package/dist/languages/bn.js.map +1 -0
- package/dist/languages/de.d.ts +6 -35
- package/dist/languages/de.d.ts.map +1 -0
- package/dist/languages/de.js +260 -22
- package/dist/languages/de.js.map +1 -1
- package/dist/languages/en.d.ts +13 -40
- package/dist/languages/en.d.ts.map +1 -0
- package/dist/languages/en.js +788 -241
- package/dist/languages/en.js.map +1 -1
- package/dist/languages/es-MX.d.ts +24 -0
- package/dist/languages/es-MX.d.ts.map +1 -0
- package/dist/languages/es-MX.js +1729 -0
- package/dist/languages/es-MX.js.map +1 -0
- package/dist/languages/es.d.ts +6 -49
- package/dist/languages/es.d.ts.map +1 -0
- package/dist/languages/es.js +60 -13
- package/dist/languages/es.js.map +1 -1
- package/dist/languages/fr.d.ts +6 -34
- package/dist/languages/fr.d.ts.map +1 -0
- package/dist/languages/fr.js +309 -22
- package/dist/languages/fr.js.map +1 -1
- package/dist/languages/he.d.ts +9 -0
- package/dist/languages/he.d.ts.map +1 -0
- package/dist/languages/he.js +1378 -0
- package/dist/languages/he.js.map +1 -0
- package/dist/languages/hi.d.ts +18 -0
- package/dist/languages/hi.d.ts.map +1 -0
- package/dist/languages/hi.js +1209 -0
- package/dist/languages/hi.js.map +1 -0
- package/dist/languages/id.d.ts +6 -32
- package/dist/languages/id.d.ts.map +1 -0
- package/dist/languages/id.js +60 -13
- package/dist/languages/id.js.map +1 -1
- package/dist/languages/index.d.ts +18 -0
- package/dist/languages/index.d.ts.map +1 -0
- package/dist/languages/it.d.ts +9 -0
- package/dist/languages/it.d.ts.map +1 -0
- package/dist/languages/it.js +1647 -0
- package/dist/languages/it.js.map +1 -0
- package/dist/languages/ja.d.ts +6 -50
- package/dist/languages/ja.d.ts.map +1 -0
- package/dist/languages/ja.js +60 -13
- package/dist/languages/ja.js.map +1 -1
- package/dist/languages/ko.d.ts +6 -55
- package/dist/languages/ko.d.ts.map +1 -0
- package/dist/languages/ko.js +64 -13
- package/dist/languages/ko.js.map +1 -1
- package/dist/languages/ms.d.ts +10 -0
- package/dist/languages/ms.d.ts.map +1 -0
- package/dist/languages/ms.js +1088 -0
- package/dist/languages/ms.js.map +1 -0
- package/dist/languages/pl.d.ts +12 -0
- package/dist/languages/pl.d.ts.map +1 -0
- package/dist/languages/pl.js +1586 -0
- package/dist/languages/pl.js.map +1 -0
- package/dist/languages/pt.d.ts +6 -34
- package/dist/languages/pt.d.ts.map +1 -0
- package/dist/languages/pt.js +344 -22
- package/dist/languages/pt.js.map +1 -1
- package/dist/languages/qu.d.ts +6 -44
- package/dist/languages/qu.d.ts.map +1 -0
- package/dist/languages/qu.js +105 -28
- package/dist/languages/qu.js.map +1 -1
- package/dist/languages/ru.d.ts +18 -0
- package/dist/languages/ru.d.ts.map +1 -0
- package/dist/languages/ru.js +1705 -0
- package/dist/languages/ru.js.map +1 -0
- package/dist/languages/sw.d.ts +6 -32
- package/dist/languages/sw.d.ts.map +1 -0
- package/dist/languages/sw.js +69 -17
- package/dist/languages/sw.js.map +1 -1
- package/dist/languages/th.d.ts +10 -0
- package/dist/languages/th.d.ts.map +1 -0
- package/dist/languages/th.js +1123 -0
- package/dist/languages/th.js.map +1 -0
- package/dist/languages/tl.d.ts +10 -0
- package/dist/languages/tl.d.ts.map +1 -0
- package/dist/languages/tl.js +1086 -0
- package/dist/languages/tl.js.map +1 -0
- package/dist/languages/tr.d.ts +6 -50
- package/dist/languages/tr.d.ts.map +1 -0
- package/dist/languages/tr.js +67 -16
- package/dist/languages/tr.js.map +1 -1
- package/dist/languages/uk.d.ts +18 -0
- package/dist/languages/uk.d.ts.map +1 -0
- package/dist/languages/uk.js +1691 -0
- package/dist/languages/uk.js.map +1 -0
- package/dist/languages/vi.d.ts +10 -0
- package/dist/languages/vi.d.ts.map +1 -0
- package/dist/languages/vi.js +1266 -0
- package/dist/languages/vi.js.map +1 -0
- package/dist/languages/zh.d.ts +6 -55
- package/dist/languages/zh.d.ts.map +1 -0
- package/dist/languages/zh.js +59 -13
- package/dist/languages/zh.js.map +1 -1
- package/dist/parser/index.d.ts +8 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/pattern-matcher.d.ts +188 -0
- package/dist/parser/pattern-matcher.d.ts.map +1 -0
- package/dist/parser/semantic-parser.d.ts +238 -0
- package/dist/parser/semantic-parser.d.ts.map +1 -0
- package/dist/parser/utils/index.d.ts +9 -0
- package/dist/parser/utils/index.d.ts.map +1 -0
- package/dist/parser/utils/marker-resolution.d.ts +57 -0
- package/dist/parser/utils/marker-resolution.d.ts.map +1 -0
- package/dist/parser/utils/possessive-keywords.d.ts +31 -0
- package/dist/parser/utils/possessive-keywords.d.ts.map +1 -0
- package/dist/parser/utils/role-positioning.d.ts +42 -0
- package/dist/parser/utils/role-positioning.d.ts.map +1 -0
- package/dist/parser/utils/type-validation.d.ts +63 -0
- package/dist/parser/utils/type-validation.d.ts.map +1 -0
- package/dist/patterns/add/ar.d.ts +12 -0
- package/dist/patterns/add/ar.d.ts.map +1 -0
- package/dist/patterns/add/bn.d.ts +8 -0
- package/dist/patterns/add/bn.d.ts.map +1 -0
- package/dist/patterns/add/hi.d.ts +8 -0
- package/dist/patterns/add/hi.d.ts.map +1 -0
- package/dist/patterns/add/index.d.ts +31 -0
- package/dist/patterns/add/index.d.ts.map +1 -0
- package/dist/patterns/add/it.d.ts +11 -0
- package/dist/patterns/add/it.d.ts.map +1 -0
- package/dist/patterns/add/ja.d.ts +12 -0
- package/dist/patterns/add/ja.d.ts.map +1 -0
- package/dist/patterns/add/ko.d.ts +12 -0
- package/dist/patterns/add/ko.d.ts.map +1 -0
- package/dist/patterns/add/pl.d.ts +12 -0
- package/dist/patterns/add/pl.d.ts.map +1 -0
- package/dist/patterns/add/qu.d.ts +9 -0
- package/dist/patterns/add/qu.d.ts.map +1 -0
- package/dist/patterns/add/ru.d.ts +12 -0
- package/dist/patterns/add/ru.d.ts.map +1 -0
- package/dist/patterns/add/th.d.ts +8 -0
- package/dist/patterns/add/th.d.ts.map +1 -0
- package/dist/patterns/add/tr.d.ts +12 -0
- package/dist/patterns/add/tr.d.ts.map +1 -0
- package/dist/patterns/add/uk.d.ts +12 -0
- package/dist/patterns/add/uk.d.ts.map +1 -0
- package/dist/patterns/add/vi.d.ts +11 -0
- package/dist/patterns/add/vi.d.ts.map +1 -0
- package/dist/patterns/add/zh.d.ts +12 -0
- package/dist/patterns/add/zh.d.ts.map +1 -0
- package/dist/patterns/builders.d.ts +52 -0
- package/dist/patterns/builders.d.ts.map +1 -0
- package/dist/patterns/decrement/bn.d.ts +8 -0
- package/dist/patterns/decrement/bn.d.ts.map +1 -0
- package/dist/patterns/decrement/de.d.ts +12 -0
- package/dist/patterns/decrement/de.d.ts.map +1 -0
- package/dist/patterns/decrement/hi.d.ts +8 -0
- package/dist/patterns/decrement/hi.d.ts.map +1 -0
- package/dist/patterns/decrement/index.d.ts +28 -0
- package/dist/patterns/decrement/index.d.ts.map +1 -0
- package/dist/patterns/decrement/it.d.ts +11 -0
- package/dist/patterns/decrement/it.d.ts.map +1 -0
- package/dist/patterns/decrement/pl.d.ts +12 -0
- package/dist/patterns/decrement/pl.d.ts.map +1 -0
- package/dist/patterns/decrement/ru.d.ts +12 -0
- package/dist/patterns/decrement/ru.d.ts.map +1 -0
- package/dist/patterns/decrement/th.d.ts +8 -0
- package/dist/patterns/decrement/th.d.ts.map +1 -0
- package/dist/patterns/decrement/tr.d.ts +12 -0
- package/dist/patterns/decrement/tr.d.ts.map +1 -0
- package/dist/patterns/decrement/uk.d.ts +12 -0
- package/dist/patterns/decrement/uk.d.ts.map +1 -0
- package/dist/patterns/decrement/vi.d.ts +11 -0
- package/dist/patterns/decrement/vi.d.ts.map +1 -0
- package/dist/patterns/decrement/zh.d.ts +12 -0
- package/dist/patterns/decrement/zh.d.ts.map +1 -0
- package/dist/patterns/en.d.ts +13 -0
- package/dist/patterns/en.d.ts.map +1 -0
- package/dist/patterns/event-handler/ar.d.ts +12 -0
- package/dist/patterns/event-handler/ar.d.ts.map +1 -0
- package/dist/patterns/event-handler/bn.d.ts +8 -0
- package/dist/patterns/event-handler/bn.d.ts.map +1 -0
- package/dist/patterns/event-handler/de.d.ts +11 -0
- package/dist/patterns/event-handler/de.d.ts.map +1 -0
- package/dist/patterns/event-handler/en.d.ts +11 -0
- package/dist/patterns/event-handler/en.d.ts.map +1 -0
- package/dist/patterns/event-handler/es.d.ts +11 -0
- package/dist/patterns/event-handler/es.d.ts.map +1 -0
- package/dist/patterns/event-handler/fr.d.ts +11 -0
- package/dist/patterns/event-handler/fr.d.ts.map +1 -0
- package/dist/patterns/event-handler/he.d.ts +12 -0
- package/dist/patterns/event-handler/he.d.ts.map +1 -0
- package/dist/patterns/event-handler/hi.d.ts +9 -0
- package/dist/patterns/event-handler/hi.d.ts.map +1 -0
- package/dist/patterns/event-handler/id.d.ts +11 -0
- package/dist/patterns/event-handler/id.d.ts.map +1 -0
- package/dist/patterns/event-handler/index.d.ts +41 -0
- package/dist/patterns/event-handler/index.d.ts.map +1 -0
- package/dist/patterns/event-handler/it.d.ts +11 -0
- package/dist/patterns/event-handler/it.d.ts.map +1 -0
- package/dist/patterns/event-handler/ja.d.ts +12 -0
- package/dist/patterns/event-handler/ja.d.ts.map +1 -0
- package/dist/patterns/event-handler/ko.d.ts +12 -0
- package/dist/patterns/event-handler/ko.d.ts.map +1 -0
- package/dist/patterns/event-handler/ms.d.ts +14 -0
- package/dist/patterns/event-handler/ms.d.ts.map +1 -0
- package/dist/patterns/event-handler/pl.d.ts +12 -0
- package/dist/patterns/event-handler/pl.d.ts.map +1 -0
- package/dist/patterns/event-handler/pt.d.ts +11 -0
- package/dist/patterns/event-handler/pt.d.ts.map +1 -0
- package/dist/patterns/event-handler/qu.d.ts +11 -0
- package/dist/patterns/event-handler/qu.d.ts.map +1 -0
- package/dist/patterns/event-handler/ru.d.ts +12 -0
- package/dist/patterns/event-handler/ru.d.ts.map +1 -0
- package/dist/patterns/event-handler/shared.d.ts +15 -0
- package/dist/patterns/event-handler/shared.d.ts.map +1 -0
- package/dist/patterns/event-handler/sw.d.ts +11 -0
- package/dist/patterns/event-handler/sw.d.ts.map +1 -0
- package/dist/patterns/event-handler/th.d.ts +8 -0
- package/dist/patterns/event-handler/th.d.ts.map +1 -0
- package/dist/patterns/event-handler/tl.d.ts +9 -0
- package/dist/patterns/event-handler/tl.d.ts.map +1 -0
- package/dist/patterns/event-handler/tr.d.ts +12 -0
- package/dist/patterns/event-handler/tr.d.ts.map +1 -0
- package/dist/patterns/event-handler/uk.d.ts +12 -0
- package/dist/patterns/event-handler/uk.d.ts.map +1 -0
- package/dist/patterns/event-handler/vi.d.ts +11 -0
- package/dist/patterns/event-handler/vi.d.ts.map +1 -0
- package/dist/patterns/event-handler/zh.d.ts +11 -0
- package/dist/patterns/event-handler/zh.d.ts.map +1 -0
- package/dist/patterns/get/ar.d.ts +12 -0
- package/dist/patterns/get/ar.d.ts.map +1 -0
- package/dist/patterns/get/bn.d.ts +8 -0
- package/dist/patterns/get/bn.d.ts.map +1 -0
- package/dist/patterns/get/de.d.ts +12 -0
- package/dist/patterns/get/de.d.ts.map +1 -0
- package/dist/patterns/get/hi.d.ts +8 -0
- package/dist/patterns/get/hi.d.ts.map +1 -0
- package/dist/patterns/get/index.d.ts +29 -0
- package/dist/patterns/get/index.d.ts.map +1 -0
- package/dist/patterns/get/it.d.ts +11 -0
- package/dist/patterns/get/it.d.ts.map +1 -0
- package/dist/patterns/get/ja.d.ts +12 -0
- package/dist/patterns/get/ja.d.ts.map +1 -0
- package/dist/patterns/get/ko.d.ts +12 -0
- package/dist/patterns/get/ko.d.ts.map +1 -0
- package/dist/patterns/get/pl.d.ts +12 -0
- package/dist/patterns/get/pl.d.ts.map +1 -0
- package/dist/patterns/get/ru.d.ts +12 -0
- package/dist/patterns/get/ru.d.ts.map +1 -0
- package/dist/patterns/get/th.d.ts +8 -0
- package/dist/patterns/get/th.d.ts.map +1 -0
- package/dist/patterns/get/uk.d.ts +12 -0
- package/dist/patterns/get/uk.d.ts.map +1 -0
- package/dist/patterns/get/vi.d.ts +11 -0
- package/dist/patterns/get/vi.d.ts.map +1 -0
- package/dist/patterns/grammar-transformed/index.d.ts +20 -0
- package/dist/patterns/grammar-transformed/index.d.ts.map +1 -0
- package/dist/patterns/grammar-transformed/ja.d.ts +12 -0
- package/dist/patterns/grammar-transformed/ja.d.ts.map +1 -0
- package/dist/patterns/grammar-transformed/ko.d.ts +12 -0
- package/dist/patterns/grammar-transformed/ko.d.ts.map +1 -0
- package/dist/patterns/grammar-transformed/tr.d.ts +12 -0
- package/dist/patterns/grammar-transformed/tr.d.ts.map +1 -0
- package/dist/patterns/hide/ar.d.ts +12 -0
- package/dist/patterns/hide/ar.d.ts.map +1 -0
- package/dist/patterns/hide/bn.d.ts +8 -0
- package/dist/patterns/hide/bn.d.ts.map +1 -0
- package/dist/patterns/hide/de.d.ts +12 -0
- package/dist/patterns/hide/de.d.ts.map +1 -0
- package/dist/patterns/hide/hi.d.ts +8 -0
- package/dist/patterns/hide/hi.d.ts.map +1 -0
- package/dist/patterns/hide/index.d.ts +31 -0
- package/dist/patterns/hide/index.d.ts.map +1 -0
- package/dist/patterns/hide/it.d.ts +11 -0
- package/dist/patterns/hide/it.d.ts.map +1 -0
- package/dist/patterns/hide/ja.d.ts +12 -0
- package/dist/patterns/hide/ja.d.ts.map +1 -0
- package/dist/patterns/hide/ko.d.ts +12 -0
- package/dist/patterns/hide/ko.d.ts.map +1 -0
- package/dist/patterns/hide/pl.d.ts +12 -0
- package/dist/patterns/hide/pl.d.ts.map +1 -0
- package/dist/patterns/hide/ru.d.ts +12 -0
- package/dist/patterns/hide/ru.d.ts.map +1 -0
- package/dist/patterns/hide/th.d.ts +8 -0
- package/dist/patterns/hide/th.d.ts.map +1 -0
- package/dist/patterns/hide/tr.d.ts +12 -0
- package/dist/patterns/hide/tr.d.ts.map +1 -0
- package/dist/patterns/hide/uk.d.ts +12 -0
- package/dist/patterns/hide/uk.d.ts.map +1 -0
- package/dist/patterns/hide/vi.d.ts +11 -0
- package/dist/patterns/hide/vi.d.ts.map +1 -0
- package/dist/patterns/hide/zh.d.ts +12 -0
- package/dist/patterns/hide/zh.d.ts.map +1 -0
- package/dist/patterns/increment/bn.d.ts +8 -0
- package/dist/patterns/increment/bn.d.ts.map +1 -0
- package/dist/patterns/increment/de.d.ts +12 -0
- package/dist/patterns/increment/de.d.ts.map +1 -0
- package/dist/patterns/increment/hi.d.ts +8 -0
- package/dist/patterns/increment/hi.d.ts.map +1 -0
- package/dist/patterns/increment/index.d.ts +28 -0
- package/dist/patterns/increment/index.d.ts.map +1 -0
- package/dist/patterns/increment/it.d.ts +11 -0
- package/dist/patterns/increment/it.d.ts.map +1 -0
- package/dist/patterns/increment/pl.d.ts +12 -0
- package/dist/patterns/increment/pl.d.ts.map +1 -0
- package/dist/patterns/increment/ru.d.ts +12 -0
- package/dist/patterns/increment/ru.d.ts.map +1 -0
- package/dist/patterns/increment/th.d.ts +8 -0
- package/dist/patterns/increment/th.d.ts.map +1 -0
- package/dist/patterns/increment/tr.d.ts +12 -0
- package/dist/patterns/increment/tr.d.ts.map +1 -0
- package/dist/patterns/increment/uk.d.ts +12 -0
- package/dist/patterns/increment/uk.d.ts.map +1 -0
- package/dist/patterns/increment/vi.d.ts +11 -0
- package/dist/patterns/increment/vi.d.ts.map +1 -0
- package/dist/patterns/increment/zh.d.ts +12 -0
- package/dist/patterns/increment/zh.d.ts.map +1 -0
- package/dist/patterns/index.d.ts +21 -0
- package/dist/patterns/index.d.ts.map +1 -0
- package/dist/patterns/languages/en/control-flow.d.ts +40 -0
- package/dist/patterns/languages/en/control-flow.d.ts.map +1 -0
- package/dist/patterns/languages/en/fetch.d.ts +22 -0
- package/dist/patterns/languages/en/fetch.d.ts.map +1 -0
- package/dist/patterns/languages/en/index.d.ts +22 -0
- package/dist/patterns/languages/en/index.d.ts.map +1 -0
- package/dist/patterns/languages/en/repeat.d.ts +22 -0
- package/dist/patterns/languages/en/repeat.d.ts.map +1 -0
- package/dist/patterns/languages/en/set.d.ts +23 -0
- package/dist/patterns/languages/en/set.d.ts.map +1 -0
- package/dist/patterns/languages/en/swap.d.ts +19 -0
- package/dist/patterns/languages/en/swap.d.ts.map +1 -0
- package/dist/patterns/languages/en/temporal.d.ts +24 -0
- package/dist/patterns/languages/en/temporal.d.ts.map +1 -0
- package/dist/patterns/put/ar.d.ts +12 -0
- package/dist/patterns/put/ar.d.ts.map +1 -0
- package/dist/patterns/put/bn.d.ts +8 -0
- package/dist/patterns/put/bn.d.ts.map +1 -0
- package/dist/patterns/put/en.d.ts +11 -0
- package/dist/patterns/put/en.d.ts.map +1 -0
- package/dist/patterns/put/es.d.ts +11 -0
- package/dist/patterns/put/es.d.ts.map +1 -0
- package/dist/patterns/put/hi.d.ts +8 -0
- package/dist/patterns/put/hi.d.ts.map +1 -0
- package/dist/patterns/put/id.d.ts +15 -0
- package/dist/patterns/put/id.d.ts.map +1 -0
- package/dist/patterns/put/index.d.ts +33 -0
- package/dist/patterns/put/index.d.ts.map +1 -0
- package/dist/patterns/put/it.d.ts +11 -0
- package/dist/patterns/put/it.d.ts.map +1 -0
- package/dist/patterns/put/ja.d.ts +12 -0
- package/dist/patterns/put/ja.d.ts.map +1 -0
- package/dist/patterns/put/ko.d.ts +12 -0
- package/dist/patterns/put/ko.d.ts.map +1 -0
- package/dist/patterns/put/pl.d.ts +12 -0
- package/dist/patterns/put/pl.d.ts.map +1 -0
- package/dist/patterns/put/ru.d.ts +12 -0
- package/dist/patterns/put/ru.d.ts.map +1 -0
- package/dist/patterns/put/th.d.ts +8 -0
- package/dist/patterns/put/th.d.ts.map +1 -0
- package/dist/patterns/put/tr.d.ts +12 -0
- package/dist/patterns/put/tr.d.ts.map +1 -0
- package/dist/patterns/put/uk.d.ts +12 -0
- package/dist/patterns/put/uk.d.ts.map +1 -0
- package/dist/patterns/put/vi.d.ts +11 -0
- package/dist/patterns/put/vi.d.ts.map +1 -0
- package/dist/patterns/put/zh.d.ts +12 -0
- package/dist/patterns/put/zh.d.ts.map +1 -0
- package/dist/patterns/registry.d.ts +53 -0
- package/dist/patterns/registry.d.ts.map +1 -0
- package/dist/patterns/remove/ar.d.ts +12 -0
- package/dist/patterns/remove/ar.d.ts.map +1 -0
- package/dist/patterns/remove/bn.d.ts +8 -0
- package/dist/patterns/remove/bn.d.ts.map +1 -0
- package/dist/patterns/remove/hi.d.ts +8 -0
- package/dist/patterns/remove/hi.d.ts.map +1 -0
- package/dist/patterns/remove/index.d.ts +31 -0
- package/dist/patterns/remove/index.d.ts.map +1 -0
- package/dist/patterns/remove/it.d.ts +11 -0
- package/dist/patterns/remove/it.d.ts.map +1 -0
- package/dist/patterns/remove/ja.d.ts +12 -0
- package/dist/patterns/remove/ja.d.ts.map +1 -0
- package/dist/patterns/remove/ko.d.ts +12 -0
- package/dist/patterns/remove/ko.d.ts.map +1 -0
- package/dist/patterns/remove/pl.d.ts +12 -0
- package/dist/patterns/remove/pl.d.ts.map +1 -0
- package/dist/patterns/remove/qu.d.ts +9 -0
- package/dist/patterns/remove/qu.d.ts.map +1 -0
- package/dist/patterns/remove/ru.d.ts +12 -0
- package/dist/patterns/remove/ru.d.ts.map +1 -0
- package/dist/patterns/remove/th.d.ts +8 -0
- package/dist/patterns/remove/th.d.ts.map +1 -0
- package/dist/patterns/remove/tr.d.ts +12 -0
- package/dist/patterns/remove/tr.d.ts.map +1 -0
- package/dist/patterns/remove/uk.d.ts +12 -0
- package/dist/patterns/remove/uk.d.ts.map +1 -0
- package/dist/patterns/remove/vi.d.ts +11 -0
- package/dist/patterns/remove/vi.d.ts.map +1 -0
- package/dist/patterns/remove/zh.d.ts +12 -0
- package/dist/patterns/remove/zh.d.ts.map +1 -0
- package/dist/patterns/set/ar.d.ts +12 -0
- package/dist/patterns/set/ar.d.ts.map +1 -0
- package/dist/patterns/set/bn.d.ts +8 -0
- package/dist/patterns/set/bn.d.ts.map +1 -0
- package/dist/patterns/set/de.d.ts +12 -0
- package/dist/patterns/set/de.d.ts.map +1 -0
- package/dist/patterns/set/es.d.ts +12 -0
- package/dist/patterns/set/es.d.ts.map +1 -0
- package/dist/patterns/set/fr.d.ts +12 -0
- package/dist/patterns/set/fr.d.ts.map +1 -0
- package/dist/patterns/set/hi.d.ts +8 -0
- package/dist/patterns/set/hi.d.ts.map +1 -0
- package/dist/patterns/set/id.d.ts +12 -0
- package/dist/patterns/set/id.d.ts.map +1 -0
- package/dist/patterns/set/index.d.ts +35 -0
- package/dist/patterns/set/index.d.ts.map +1 -0
- package/dist/patterns/set/it.d.ts +11 -0
- package/dist/patterns/set/it.d.ts.map +1 -0
- package/dist/patterns/set/ja.d.ts +12 -0
- package/dist/patterns/set/ja.d.ts.map +1 -0
- package/dist/patterns/set/ko.d.ts +12 -0
- package/dist/patterns/set/ko.d.ts.map +1 -0
- package/dist/patterns/set/pl.d.ts +12 -0
- package/dist/patterns/set/pl.d.ts.map +1 -0
- package/dist/patterns/set/pt.d.ts +12 -0
- package/dist/patterns/set/pt.d.ts.map +1 -0
- package/dist/patterns/set/ru.d.ts +12 -0
- package/dist/patterns/set/ru.d.ts.map +1 -0
- package/dist/patterns/set/th.d.ts +8 -0
- package/dist/patterns/set/th.d.ts.map +1 -0
- package/dist/patterns/set/tr.d.ts +12 -0
- package/dist/patterns/set/tr.d.ts.map +1 -0
- package/dist/patterns/set/uk.d.ts +12 -0
- package/dist/patterns/set/uk.d.ts.map +1 -0
- package/dist/patterns/set/vi.d.ts +11 -0
- package/dist/patterns/set/vi.d.ts.map +1 -0
- package/dist/patterns/set/zh.d.ts +12 -0
- package/dist/patterns/set/zh.d.ts.map +1 -0
- package/dist/patterns/show/ar.d.ts +12 -0
- package/dist/patterns/show/ar.d.ts.map +1 -0
- package/dist/patterns/show/bn.d.ts +8 -0
- package/dist/patterns/show/bn.d.ts.map +1 -0
- package/dist/patterns/show/de.d.ts +12 -0
- package/dist/patterns/show/de.d.ts.map +1 -0
- package/dist/patterns/show/fr.d.ts +12 -0
- package/dist/patterns/show/fr.d.ts.map +1 -0
- package/dist/patterns/show/hi.d.ts +8 -0
- package/dist/patterns/show/hi.d.ts.map +1 -0
- package/dist/patterns/show/index.d.ts +32 -0
- package/dist/patterns/show/index.d.ts.map +1 -0
- package/dist/patterns/show/it.d.ts +11 -0
- package/dist/patterns/show/it.d.ts.map +1 -0
- package/dist/patterns/show/ja.d.ts +12 -0
- package/dist/patterns/show/ja.d.ts.map +1 -0
- package/dist/patterns/show/ko.d.ts +12 -0
- package/dist/patterns/show/ko.d.ts.map +1 -0
- package/dist/patterns/show/pl.d.ts +12 -0
- package/dist/patterns/show/pl.d.ts.map +1 -0
- package/dist/patterns/show/ru.d.ts +12 -0
- package/dist/patterns/show/ru.d.ts.map +1 -0
- package/dist/patterns/show/th.d.ts +8 -0
- package/dist/patterns/show/th.d.ts.map +1 -0
- package/dist/patterns/show/tr.d.ts +12 -0
- package/dist/patterns/show/tr.d.ts.map +1 -0
- package/dist/patterns/show/uk.d.ts +12 -0
- package/dist/patterns/show/uk.d.ts.map +1 -0
- package/dist/patterns/show/vi.d.ts +11 -0
- package/dist/patterns/show/vi.d.ts.map +1 -0
- package/dist/patterns/show/zh.d.ts +12 -0
- package/dist/patterns/show/zh.d.ts.map +1 -0
- package/dist/patterns/take/ar.d.ts +12 -0
- package/dist/patterns/take/ar.d.ts.map +1 -0
- package/dist/patterns/take/index.d.ts +18 -0
- package/dist/patterns/take/index.d.ts.map +1 -0
- package/dist/patterns/toggle/ar.d.ts +12 -0
- package/dist/patterns/toggle/ar.d.ts.map +1 -0
- package/dist/patterns/toggle/bn.d.ts +8 -0
- package/dist/patterns/toggle/bn.d.ts.map +1 -0
- package/dist/patterns/toggle/en.d.ts +11 -0
- package/dist/patterns/toggle/en.d.ts.map +1 -0
- package/dist/patterns/toggle/es.d.ts +11 -0
- package/dist/patterns/toggle/es.d.ts.map +1 -0
- package/dist/patterns/toggle/hi.d.ts +9 -0
- package/dist/patterns/toggle/hi.d.ts.map +1 -0
- package/dist/patterns/toggle/index.d.ts +33 -0
- package/dist/patterns/toggle/index.d.ts.map +1 -0
- package/dist/patterns/toggle/it.d.ts +11 -0
- package/dist/patterns/toggle/it.d.ts.map +1 -0
- package/dist/patterns/toggle/ja.d.ts +12 -0
- package/dist/patterns/toggle/ja.d.ts.map +1 -0
- package/dist/patterns/toggle/ko.d.ts +12 -0
- package/dist/patterns/toggle/ko.d.ts.map +1 -0
- package/dist/patterns/toggle/pl.d.ts +12 -0
- package/dist/patterns/toggle/pl.d.ts.map +1 -0
- package/dist/patterns/toggle/qu.d.ts +9 -0
- package/dist/patterns/toggle/qu.d.ts.map +1 -0
- package/dist/patterns/toggle/ru.d.ts +12 -0
- package/dist/patterns/toggle/ru.d.ts.map +1 -0
- package/dist/patterns/toggle/th.d.ts +9 -0
- package/dist/patterns/toggle/th.d.ts.map +1 -0
- package/dist/patterns/toggle/tr.d.ts +12 -0
- package/dist/patterns/toggle/tr.d.ts.map +1 -0
- package/dist/patterns/toggle/uk.d.ts +12 -0
- package/dist/patterns/toggle/uk.d.ts.map +1 -0
- package/dist/patterns/toggle/vi.d.ts +11 -0
- package/dist/patterns/toggle/vi.d.ts.map +1 -0
- package/dist/patterns/toggle/zh.d.ts +11 -0
- package/dist/patterns/toggle/zh.d.ts.map +1 -0
- package/dist/public-api.d.ts +190 -0
- package/dist/public-api.d.ts.map +1 -0
- package/dist/registry.d.ts +225 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/tokenizers/arabic.d.ts +67 -0
- package/dist/tokenizers/arabic.d.ts.map +1 -0
- package/dist/tokenizers/base-tokenizer.d.ts +240 -0
- package/dist/tokenizers/base-tokenizer.d.ts.map +1 -0
- package/dist/tokenizers/base.d.ts +14 -0
- package/dist/tokenizers/base.d.ts.map +1 -0
- package/dist/tokenizers/bengali.d.ts +22 -0
- package/dist/tokenizers/bengali.d.ts.map +1 -0
- package/dist/tokenizers/char-classifiers.d.ts +56 -0
- package/dist/tokenizers/char-classifiers.d.ts.map +1 -0
- package/dist/tokenizers/chinese.d.ts +47 -0
- package/dist/tokenizers/chinese.d.ts.map +1 -0
- package/dist/tokenizers/english.d.ts +34 -0
- package/dist/tokenizers/english.d.ts.map +1 -0
- package/dist/tokenizers/extractors.d.ts +61 -0
- package/dist/tokenizers/extractors.d.ts.map +1 -0
- package/dist/tokenizers/french.d.ts +26 -0
- package/dist/tokenizers/french.d.ts.map +1 -0
- package/dist/tokenizers/german.d.ts +27 -0
- package/dist/tokenizers/german.d.ts.map +1 -0
- package/dist/tokenizers/he.d.ts +58 -0
- package/dist/tokenizers/he.d.ts.map +1 -0
- package/dist/tokenizers/hindi.d.ts +25 -0
- package/dist/tokenizers/hindi.d.ts.map +1 -0
- package/dist/tokenizers/index.d.ts +64 -0
- package/dist/tokenizers/index.d.ts.map +1 -0
- package/dist/tokenizers/indonesian.d.ts +24 -0
- package/dist/tokenizers/indonesian.d.ts.map +1 -0
- package/dist/tokenizers/italian.d.ts +41 -0
- package/dist/tokenizers/italian.d.ts.map +1 -0
- package/dist/tokenizers/japanese.d.ts +42 -0
- package/dist/tokenizers/japanese.d.ts.map +1 -0
- package/dist/tokenizers/korean.d.ts +47 -0
- package/dist/tokenizers/korean.d.ts.map +1 -0
- package/dist/tokenizers/morphology/arabic-normalizer.d.ts +37 -0
- package/dist/tokenizers/morphology/arabic-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/french-normalizer.d.ts +46 -0
- package/dist/tokenizers/morphology/french-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/german-normalizer.d.ts +55 -0
- package/dist/tokenizers/morphology/german-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/index.d.ts +20 -0
- package/dist/tokenizers/morphology/index.d.ts.map +1 -0
- package/dist/tokenizers/morphology/italian-normalizer.d.ts +52 -0
- package/dist/tokenizers/morphology/italian-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/japanese-normalizer.d.ts +43 -0
- package/dist/tokenizers/morphology/japanese-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/korean-normalizer.d.ts +45 -0
- package/dist/tokenizers/morphology/korean-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/polish-normalizer.d.ts +61 -0
- package/dist/tokenizers/morphology/polish-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/portuguese-normalizer.d.ts +51 -0
- package/dist/tokenizers/morphology/portuguese-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/russian-normalizer.d.ts +72 -0
- package/dist/tokenizers/morphology/russian-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/spanish-normalizer.d.ts +49 -0
- package/dist/tokenizers/morphology/spanish-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/turkish-normalizer.d.ts +52 -0
- package/dist/tokenizers/morphology/turkish-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/types.d.ts +110 -0
- package/dist/tokenizers/morphology/types.d.ts.map +1 -0
- package/dist/tokenizers/morphology/ukrainian-normalizer.d.ts +76 -0
- package/dist/tokenizers/morphology/ukrainian-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/ms.d.ts +22 -0
- package/dist/tokenizers/ms.d.ts.map +1 -0
- package/dist/tokenizers/polish.d.ts +25 -0
- package/dist/tokenizers/polish.d.ts.map +1 -0
- package/dist/tokenizers/portuguese.d.ts +26 -0
- package/dist/tokenizers/portuguese.d.ts.map +1 -0
- package/dist/tokenizers/quechua.d.ts +36 -0
- package/dist/tokenizers/quechua.d.ts.map +1 -0
- package/dist/tokenizers/russian.d.ts +25 -0
- package/dist/tokenizers/russian.d.ts.map +1 -0
- package/dist/tokenizers/spanish.d.ts +41 -0
- package/dist/tokenizers/spanish.d.ts.map +1 -0
- package/dist/tokenizers/swahili.d.ts +24 -0
- package/dist/tokenizers/swahili.d.ts.map +1 -0
- package/dist/tokenizers/thai.d.ts +24 -0
- package/dist/tokenizers/thai.d.ts.map +1 -0
- package/dist/tokenizers/tl.d.ts +22 -0
- package/dist/tokenizers/tl.d.ts.map +1 -0
- package/dist/tokenizers/token-utils.d.ts +97 -0
- package/dist/tokenizers/token-utils.d.ts.map +1 -0
- package/dist/tokenizers/turkish.d.ts +42 -0
- package/dist/tokenizers/turkish.d.ts.map +1 -0
- package/dist/tokenizers/ukrainian.d.ts +25 -0
- package/dist/tokenizers/ukrainian.d.ts.map +1 -0
- package/dist/tokenizers/vietnamese.d.ts +47 -0
- package/dist/tokenizers/vietnamese.d.ts.map +1 -0
- package/dist/types/grammar-types.d.ts +224 -0
- package/dist/types/grammar-types.d.ts.map +1 -0
- package/dist/types/unified-profile.d.ts +167 -0
- package/dist/types/unified-profile.d.ts.map +1 -0
- package/dist/types.d.ts +401 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/confidence-calculator.d.ts +43 -0
- package/dist/utils/confidence-calculator.d.ts.map +1 -0
- package/dist/validators/command-validator.d.ts +83 -0
- package/dist/validators/command-validator.d.ts.map +1 -0
- package/dist/validators/index.d.ts +7 -0
- package/dist/validators/index.d.ts.map +1 -0
- package/package.json +86 -6
- package/src/ast-builder/command-mappers.ts +9 -1
- package/src/ast-builder/expression-parser/parser.ts +13 -2
- package/src/ast-builder/index.ts +20 -6
- package/src/browser-bn.ts +162 -0
- package/src/browser-east-asian.ts +1 -1
- package/src/browser-hi.ts +162 -0
- package/src/browser-it.ts +162 -0
- package/src/browser-ms.ts +162 -0
- package/src/browser-pl.ts +162 -0
- package/src/browser-priority.ts +1 -1
- package/src/browser-ru.ts +162 -0
- package/src/browser-th.ts +162 -0
- package/src/browser-tl.ts +162 -0
- package/src/browser-uk.ts +162 -0
- package/src/browser-vi.ts +162 -0
- package/src/browser-western.ts +1 -1
- package/src/core-bridge.ts +43 -16
- package/src/core.ts +13 -0
- package/src/explicit/parser.ts +4 -2
- package/src/explicit/renderer.ts +1 -1
- package/src/generators/command-schemas.ts +214 -2
- package/src/generators/event-handlers-sov.ts +686 -0
- package/src/generators/event-handlers-vso.ts +489 -0
- package/src/generators/pattern-generator.ts +93 -736
- package/src/generators/profiles/arabic.ts +11 -1
- package/src/generators/profiles/bengali.ts +6 -0
- package/src/generators/profiles/chinese.ts +6 -0
- package/src/generators/profiles/english.ts +6 -0
- package/src/generators/profiles/french.ts +6 -0
- package/src/generators/profiles/german.ts +6 -0
- package/src/generators/profiles/hebrew.ts +6 -0
- package/src/generators/profiles/hindi.ts +6 -0
- package/src/generators/profiles/indonesian.ts +6 -0
- package/src/generators/profiles/italian.ts +6 -0
- package/src/generators/profiles/japanese.ts +6 -0
- package/src/generators/profiles/korean.ts +6 -0
- package/src/generators/profiles/ms.ts +6 -0
- package/src/generators/profiles/polish.ts +6 -0
- package/src/generators/profiles/portuguese.ts +6 -0
- package/src/generators/profiles/quechua.ts +35 -13
- package/src/generators/profiles/russian.ts +6 -0
- package/src/generators/profiles/spanish.ts +6 -0
- package/src/generators/profiles/spanishMexico.ts +6 -0
- package/src/generators/profiles/swahili.ts +14 -3
- package/src/generators/profiles/thai.ts +6 -0
- package/src/generators/profiles/tl.ts +22 -9
- package/src/generators/profiles/turkish.ts +7 -1
- package/src/generators/profiles/ukrainian.ts +6 -0
- package/src/generators/profiles/vietnamese.ts +6 -0
- package/src/generators/schema-validator.ts +8 -3
- package/src/index.ts +54 -0
- package/src/interchange/from-semantic.ts +440 -0
- package/src/interchange/index.ts +26 -0
- package/src/interchange/types.ts +186 -0
- package/src/parser/pattern-matcher.ts +65 -15
- package/src/parser/semantic-parser.ts +850 -8
- package/src/patterns/add/index.ts +1 -9
- package/src/patterns/builders.ts +2 -2
- package/src/patterns/decrement/index.ts +1 -9
- package/src/patterns/event-handler/shared.ts +30 -0
- package/src/patterns/event-handler/tl.ts +39 -19
- package/src/patterns/get/index.ts +1 -9
- package/src/patterns/hide/index.ts +1 -9
- package/src/patterns/increment/index.ts +1 -9
- package/src/patterns/put/index.ts +1 -9
- package/src/patterns/registry.ts +2 -2
- package/src/patterns/remove/index.ts +1 -9
- package/src/patterns/set/index.ts +1 -9
- package/src/patterns/show/index.ts +1 -9
- package/src/patterns/toggle/index.ts +1 -9
- package/src/tokenizers/arabic.ts +14 -1
- package/src/tokenizers/base-tokenizer.ts +644 -0
- package/src/tokenizers/base.ts +39 -1297
- package/src/tokenizers/bengali.ts +37 -10
- package/src/tokenizers/char-classifiers.ts +79 -0
- package/src/tokenizers/chinese.ts +7 -0
- package/src/tokenizers/english.ts +8 -1
- package/src/tokenizers/extractors.ts +452 -0
- package/src/tokenizers/french.ts +16 -1
- package/src/tokenizers/german.ts +16 -1
- package/src/tokenizers/he.ts +14 -1
- package/src/tokenizers/hindi.ts +14 -1
- package/src/tokenizers/indonesian.ts +14 -1
- package/src/tokenizers/italian.ts +14 -1
- package/src/tokenizers/japanese.ts +14 -1
- package/src/tokenizers/korean.ts +19 -1
- package/src/tokenizers/morphology/index.ts +17 -0
- package/src/tokenizers/morphology/polish-normalizer.ts +147 -131
- package/src/tokenizers/morphology/russian-normalizer.ts +397 -0
- package/src/tokenizers/morphology/ukrainian-normalizer.ts +366 -0
- package/src/tokenizers/ms.ts +14 -1
- package/src/tokenizers/polish.ts +16 -1
- package/src/tokenizers/portuguese.ts +16 -1
- package/src/tokenizers/quechua.ts +30 -1
- package/src/tokenizers/russian.ts +16 -1
- package/src/tokenizers/spanish.ts +14 -1
- package/src/tokenizers/swahili.ts +14 -1
- package/src/tokenizers/thai.ts +14 -1
- package/src/tokenizers/tl.ts +14 -1
- package/src/tokenizers/token-utils.ts +205 -0
- package/src/tokenizers/turkish.ts +21 -2
- package/src/tokenizers/ukrainian.ts +16 -1
- package/src/tokenizers/vietnamese.ts +7 -0
- package/src/types.ts +41 -2
- package/src/validators/command-validator.ts +17 -40
- package/dist/index.d.cts +0 -3470
- package/dist/types-BY3Id07j.d.ts +0 -615
- package/src/bridge.ts +0 -275
- package/src/generators/event-handler-generator.ts +0 -115
- package/src/patterns/add/ms.ts +0 -30
- package/src/patterns/add/tl.ts +0 -30
- package/src/patterns/decrement/ms.ts +0 -30
- package/src/patterns/decrement/tl.ts +0 -30
- package/src/patterns/get/ms.ts +0 -30
- package/src/patterns/get/tl.ts +0 -30
- package/src/patterns/hide/ms.ts +0 -30
- package/src/patterns/hide/tl.ts +0 -30
- package/src/patterns/increment/ms.ts +0 -30
- package/src/patterns/increment/tl.ts +0 -30
- package/src/patterns/put/ms.ts +0 -30
- package/src/patterns/put/tl.ts +0 -30
- package/src/patterns/remove/ms.ts +0 -30
- package/src/patterns/remove/tl.ts +0 -30
- package/src/patterns/set/ms.ts +0 -30
- package/src/patterns/set/tl.ts +0 -30
- package/src/patterns/show/ms.ts +0 -30
- package/src/patterns/show/tl.ts +0 -30
- package/src/patterns/toggle/ms.ts +0 -30
- package/src/patterns/toggle/tl.ts +0 -30
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var LokaScriptSemanticEnTr=(()=>{var ve=Object.defineProperty;var wt=Object.getOwnPropertyDescriptor;var Nt=Object.getOwnPropertyNames;var zt=Object.prototype.hasOwnProperty;var Mt=(r,e)=>{for(var t in e)ve(r,t,{get:e[t],enumerable:!0})},At=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Nt(e))!zt.call(r,o)&&o!==t&&ve(r,o,{get:()=>e[o],enumerable:!(n=wt(e,o))||n.enumerable});return r};var jt=r=>At(ve({},"__esModule",{value:!0}),r);var To={};Mt(To,{ASTBuilder:()=>oe,DEFAULT_CONFIDENCE_THRESHOLD:()=>Be,HIGH_CONFIDENCE_THRESHOLD:()=>bt,SemanticAnalyzerImpl:()=>ie,VERSION:()=>yo,buildAST:()=>kt,canParse:()=>je,createCommandNode:()=>V,createEventHandler:()=>X,createLiteral:()=>k,createPropertyPath:()=>F,createReference:()=>z,createSelector:()=>j,createSemanticAnalyzer:()=>Pt,englishProfile:()=>N,englishTokenizer:()=>pe,fromExplicit:()=>Oe,getCommandMapper:()=>re,getPatternsForLanguage:()=>Ct,getPatternsForLanguageAndCommand:()=>So,getProfile:()=>ke,getSupportedLanguages:()=>ho,getTokenizer:()=>xe,isExplicitSyntax:()=>Q,isLanguageSupported:()=>He,parse:()=>Z,parseAny:()=>Ie,parseExplicit:()=>W,registerCommandMapper:()=>qe,render:()=>te,renderExplicit:()=>ne,shouldUseSemanticResult:()=>Lt,toExplicit:()=>Ve,tokenize:()=>vo,tryGetProfile:()=>A,turkishProfile:()=>$,turkishTokenizer:()=>ue});var C=new Map,O=new Map,G=new Map;var We=null;function Ke(r,e){let t={...r};for(let n of Object.keys(e)){let o=e[n],i=r[n];o!==void 0&&(typeof o=="object"&&o!==null&&!Array.isArray(o)&&typeof i=="object"&&i!==null&&!Array.isArray(i)?t[n]=Ke(i,o):t[n]=o)}return t}function Vt(r,e){return Ke(r,e)}function Te(r){if(!r.extends)return r;let e=O.get(r.extends);if(!e)return console.warn(`[Registry] Profile '${r.code}' extends '${r.extends}' but base is not registered. Make sure to import the base language before the variant.`),r;let t=Te(e);return Vt(t,r)}function se(r,e,t){C.set(r,e),O.set(r,t),G.delete(r)}var Se=new Map;function Ge(r,e){Se.set(r,e),G.delete(r)}function I(r){return r.split("-")[0]}function _(r){return r.includes("-")}function xe(r){let e=C.get(r);if(!e&&_(r)){let t=I(r);e=C.get(t)}if(!e){let t=Array.from(C.keys()).join(", ");throw new Error(`Language '${r}' is not registered. Registered languages: ${t||"none"}. Import the language module first: import '@lokascript/semantic/languages/${r}';`)}return e}function ke(r){let e=O.get(r);if(!e&&_(r)){let t=I(r);e=O.get(t)}if(!e){let t=Array.from(O.keys()).join(", ");throw new Error(`Language profile '${r}' is not registered. Registered languages: ${t||"none"}. Import the language module first: import '@lokascript/semantic/languages/${r}';`)}return Te(e)}function Ue(r){let e=C.get(r);return!e&&_(r)&&(e=C.get(I(r))),e}function A(r){let e=O.get(r);return!e&&_(r)&&(e=O.get(I(r))),e?Te(e):void 0}function le(){return Array.from(C.keys())}function He(r){return C.has(r)?!0:_(r)?C.has(I(r)):!1}function De(r,e){return xe(e).tokenize(r)}function E(r){let e=G.get(r);if(!e&&_(r)&&(e=G.get(I(r))),e)return e;let t=Se.get(r);if(!t&&_(r)&&(t=Se.get(I(r))),t)return G.set(r,t),t;if(!We)throw new Error(`No patterns registered for language '${r}'. Either import the language module or set a pattern generator.`);let n=ke(r),o=We(n);return G.set(r,o),o}function Fe(r,e){return E(r).filter(t=>t.command===e).sort((t,n)=>n.priority-t.priority)}var w=class{constructor(e,t){this.pos=0;this.tokens=e,this.language=t}peek(e=0){let t=this.pos+e;return t<0||t>=this.tokens.length?null:this.tokens[t]}advance(){if(this.isAtEnd())throw new Error("Unexpected end of token stream");return this.tokens[this.pos++]}isAtEnd(){return this.pos>=this.tokens.length}mark(){return{position:this.pos}}reset(e){this.pos=e.position}position(){return this.pos}remaining(){return this.tokens.slice(this.pos)}takeWhile(e){let t=[];for(;!this.isAtEnd()&&e(this.peek());)t.push(this.advance());return t}skipWhile(e){for(;!this.isAtEnd()&&e(this.peek());)this.advance()}};function S(r,e){return{start:r,end:e}}function T(r,e,t,n){if(typeof n=="string")return{value:r,kind:e,position:t,normalized:n};if(n){let{normalized:o,stem:i,stemConfidence:s}=n,a={value:r,kind:e,position:t};return o!==void 0&&(a.normalized=o),i!==void 0&&(a.stem=i,s!==void 0&&(a.stemConfidence=s)),a}return{value:r,kind:e,position:t}}function R(r){return/\s/.test(r)}function U(r){return r==="#"||r==="."||r==="["||r==="@"||r==="*"||r==="<"}function H(r){return r==='"'||r==="'"||r==="`"||r==="\u300C"||r==="\u300D"}function b(r){return/\d/.test(r)}function Xe(r){return/[a-zA-Z]/.test(r)}function x(r){return/[a-zA-Z0-9_-]/.test(r)}function Pe(r){let e=n=>r.test(n);return{isLetter:e,isIdentifierChar:n=>e(n)||/[0-9_-]/.test(n)}}function Qe(r,e){if(e>=r.length)return null;let t=r[e];if(!U(t))return null;let n=e,o="";if(t==="#"||t==="."){for(o+=r[n++];n<r.length&&x(r[n]);)o+=r[n++];if(o.length<=1)return null;if(n<r.length&&r[n]==="."&&t==="#"){let s=n+1;for(;s<r.length&&x(r[s]);)s++;if(s<r.length&&r[s]==="(")return o}}else if(t==="["){let i=1,s=!1,a=null,l=!1;for(o+=r[n++];n<r.length&&i>0;){let c=r[n];o+=c,l?l=!1:c==="\\"?l=!0:s?c===a&&(s=!1,a=null):c==='"'||c==="'"||c==="`"?(s=!0,a=c):c==="["?i++:c==="]"&&i--,n++}if(i!==0)return null}else if(t==="@"){for(o+=r[n++];n<r.length&&x(r[n]);)o+=r[n++];if(o.length<=1)return null}else if(t==="*"){for(o+=r[n++];n<r.length&&x(r[n]);)o+=r[n++];if(o.length<=1)return null}else if(t==="<"){if(o+=r[n++],n>=r.length||!Xe(r[n]))return null;for(;n<r.length&&x(r[n]);)o+=r[n++];for(;n<r.length;){let i=r[n];if(i==="."){if(o+=r[n++],n>=r.length||!x(r[n]))return null;for(;n<r.length&&x(r[n]);)o+=r[n++]}else if(i==="#"){if(o+=r[n++],n>=r.length||!x(r[n]))return null;for(;n<r.length&&x(r[n]);)o+=r[n++]}else if(i==="["){let s=1,a=!1,l=null,c=!1;for(o+=r[n++];n<r.length&&s>0;){let p=r[n];o+=p,c?c=!1:p==="\\"?c=!0:a?p===l&&(a=!1,l=null):p==='"'||p==="'"||p==="`"?(a=!0,l=p):p==="["?s++:p==="]"&&s--,n++}if(s!==0)return null}else break}for(;n<r.length&&R(r[n]);)o+=r[n++];if(n<r.length&&r[n]==="/")for(o+=r[n++];n<r.length&&R(r[n]);)o+=r[n++];if(n>=r.length||r[n]!==">")return null;o+=r[n++]}return o||null}function be(r,e){if(e>=r.length||r[e]!=="'"||e+1>=r.length||r[e+1].toLowerCase()!=="s")return!1;if(e+2>=r.length)return!0;let n=r[e+2];return R(n)||n==="*"||!x(n)}function Ze(r,e){if(e>=r.length)return null;let t=r[e];if(!H(t)||t==="'"&&be(r,e))return null;let o={'"':'"',"'":"'","`":"`","\u300C":"\u300D"}[t];if(!o)return null;let i=e+1,s=t,a=!1;for(;i<r.length;){let l=r[i];if(s+=l,a)a=!1;else if(l==="\\")a=!0;else if(l===o)return s;i++}return s}function D(r,e){if(e>=r.length)return!1;let t=r[e],n=r[e+1]||"",o=r[e+2]||"";if(t==="/"&&n!=="/"&&/[a-zA-Z0-9._-]/.test(n)||t==="/"&&n==="/"&&/[a-zA-Z]/.test(o)||t==="."&&(n==="/"||n==="."&&o==="/"))return!0;let i=r.slice(e,e+8).toLowerCase();return!!(i.startsWith("http://")||i.startsWith("https://"))}function Ye(r,e){if(!D(r,e))return null;let t=e,n="",o=/[a-zA-Z0-9/:._\-?&=%@+~!$'()*,;[\]]/;for(;t<r.length;){let i=r[t];if(i==="#"){if(n.length>0&&/[a-zA-Z0-9/.]$/.test(n))for(n+=i,t++;t<r.length&&/[a-zA-Z0-9_-]/.test(r[t]);)n+=r[t++];break}if(o.test(i))n+=i,t++;else break}return n.length<2?null:n}function Je(r,e){if(e>=r.length)return null;let t=r[e];if(!b(t)&&t!=="-"&&t!=="+")return null;let n=e,o="";if((r[n]==="-"||r[n]==="+")&&(o+=r[n++]),n>=r.length||!b(r[n]))return null;for(;n<r.length&&b(r[n]);)o+=r[n++];if(n<r.length&&r[n]===".")for(o+=r[n++];n<r.length&&b(r[n]);)o+=r[n++];return n<r.length&&(r.slice(n,n+2)==="ms"?o+="ms":(r[n]==="s"||r[n]==="m"||r[n]==="h")&&(o+=r[n])),o}var ce=class ce{constructor(){this.profileKeywords=[];this.profileKeywordMap=new Map}initializeKeywordsFromProfile(e,t=[]){let n=new Map;if(e.keywords){for(let[o,i]of Object.entries(e.keywords))if(n.set(i.primary,{native:i.primary,normalized:i.normalized||o}),i.alternatives)for(let s of i.alternatives)n.set(s,{native:s,normalized:i.normalized||o})}if(e.references)for(let[o,i]of Object.entries(e.references))n.set(i,{native:i,normalized:o});if(e.roleMarkers){for(let[o,i]of Object.entries(e.roleMarkers))if(i.primary&&n.set(i.primary,{native:i.primary,normalized:o}),i.alternatives)for(let s of i.alternatives)n.set(s,{native:s,normalized:o})}for(let o of t)n.set(o.native,o);this.profileKeywords=Array.from(n.values()).sort((o,i)=>i.native.length-o.native.length),this.profileKeywordMap=new Map;for(let o of this.profileKeywords){this.profileKeywordMap.set(o.native.toLowerCase(),o);let i=this.removeDiacritics(o.native);i!==o.native&&!this.profileKeywordMap.has(i.toLowerCase())&&this.profileKeywordMap.set(i.toLowerCase(),o)}}removeDiacritics(e){return e.replace(/[\u064B-\u0652\u0670]/g,"")}tryProfileKeyword(e,t){for(let n of this.profileKeywords)if(e.slice(t).startsWith(n.native))return T(n.native,"keyword",S(t,t+n.native.length),n.normalized);return null}isKeywordStart(e,t){let n=e.slice(t);return this.profileKeywords.some(o=>n.startsWith(o.native))}lookupKeyword(e){return this.profileKeywordMap.get(e.toLowerCase())}isKeyword(e){return this.profileKeywordMap.has(e.toLowerCase())}setNormalizer(e){this.normalizer=e}tryNormalize(e){if(!this.normalizer)return null;let t=this.normalizer.normalize(e);return t.stem!==e&&t.confidence>=.7?t:null}tryMorphKeywordMatch(e,t,n){let o=this.tryNormalize(e);if(!o)return null;let i=this.lookupKeyword(o.stem);if(!i)return null;let s={normalized:i.normalized,stem:o.stem,stemConfidence:o.confidence};return T(e,"keyword",S(t,n),s)}trySelector(e,t){let n=Qe(e,t);return n?T(n,"selector",S(t,t+n.length)):null}tryEventModifier(e,t){if(e[t]!==".")return null;let n=e.slice(t).match(/^\.(?:once|debounce|throttle|queue)(?:\(([^)]+)\))?(?:\s|$|\.)/);if(!n)return null;let o=n[0].replace(/(\s|\.)$/,""),i=o.slice(1).split("(")[0],s=n[1];return{...T(o,"event-modifier",S(t,t+o.length)),metadata:{modifierName:i,value:s?i==="queue"?s:parseInt(s,10):void 0}}}tryString(e,t){let n=Ze(e,t);return n?T(n,"literal",S(t,t+n.length)):null}tryNumber(e,t){let n=Je(e,t);return n?T(n,"literal",S(t,t+n.length)):null}tryMatchTimeUnit(e,t,n,o=!1){let i=t;if(o)for(;i<e.length&&R(e[i]);)i++;let s=e.slice(i);for(let a of n){let l=s.slice(0,a.length);if(a.caseInsensitive?l.toLowerCase()===a.pattern.toLowerCase():l===a.pattern){if(a.notFollowedBy&&(s[a.length]||"")===a.notFollowedBy)continue;if(a.checkBoundary){let p=s[a.length]||"";if(x(p))continue}return{suffix:a.suffix,endPos:i+a.length}}}return null}parseBaseNumber(e,t,n=!0){let o=t,i="";if(n&&(e[o]==="-"||e[o]==="+")&&(i+=e[o++]),o>=e.length||!b(e[o]))return null;for(;o<e.length&&b(e[o]);)i+=e[o++];if(o<e.length&&e[o]===".")for(i+=e[o++];o<e.length&&b(e[o]);)i+=e[o++];return!i||i==="-"||i==="+"?null:{number:i,endPos:o}}tryNumberWithTimeUnits(e,t,n,o={}){let{allowSign:i=!0,skipWhitespace:s=!1}=o,a=this.parseBaseNumber(e,t,i);if(!a)return null;let{number:l,endPos:c}=a,p=[...n,...ce.STANDARD_TIME_UNITS],g=this.tryMatchTimeUnit(e,c,p,s);return g&&(l+=g.suffix,c=g.endPos),T(l,"literal",S(t,c))}tryUrl(e,t){let n=Ye(e,t);return n?T(n,"url",S(t,t+n.length)):null}tryVariableRef(e,t){if(e[t]!==":"||t+1>=e.length||!x(e[t+1]))return null;let n=t+1;for(;n<e.length&&x(e[n]);)n++;let o=e.slice(t,n);return T(o,"identifier",S(t,n))}tryOperator(e,t){let n=e.slice(t,t+2);if(["==","!=","<=",">=","&&","||","->"].includes(n))return T(n,"operator",S(t,t+2));let o=e[t];return["<",">","!","+","-","*","/","="].includes(o)?T(o,"operator",S(t,t+1)):["(",")","{","}",",",";",":"].includes(o)?T(o,"punctuation",S(t,t+1)):null}tryMultiCharParticle(e,t,n){for(let o of n)if(e.slice(t,t+o.length)===o)return T(o,"particle",S(t,t+o.length));return null}};ce.STANDARD_TIME_UNITS=[{pattern:"ms",suffix:"ms",length:2},{pattern:"s",suffix:"s",length:1,checkBoundary:!0},{pattern:"m",suffix:"m",length:1,checkBoundary:!0,notFollowedBy:"s"},{pattern:"h",suffix:"h",length:1,checkBoundary:!0}];var q=ce;var N={code:"en",name:"English",nativeName:"English",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!0,defaultVerbForm:"base",verb:{position:"start",subjectDrop:!1},references:{me:"me",it:"it",you:"you",result:"result",event:"event",target:"target",body:"body"},possessive:{marker:"'s",markerPosition:"after-object",specialForms:{me:"my",it:"its",you:"your"},keywords:{my:"me",your:"you",its:"it"}},roleMarkers:{destination:{primary:"on",alternatives:["to","from"],position:"before"},source:{primary:"from",position:"before"},patient:{primary:"",position:"before"},style:{primary:"with",alternatives:["by","using"],position:"before"},responseType:{primary:"as",position:"before"},method:{primary:"via",alternatives:["using"],position:"before"}},keywords:{toggle:{primary:"toggle"},add:{primary:"add"},remove:{primary:"remove"},put:{primary:"put"},append:{primary:"append"},prepend:{primary:"prepend"},take:{primary:"take"},make:{primary:"make"},clone:{primary:"clone"},swap:{primary:"swap"},morph:{primary:"morph"},set:{primary:"set"},get:{primary:"get"},increment:{primary:"increment"},decrement:{primary:"decrement"},log:{primary:"log"},show:{primary:"show"},hide:{primary:"hide"},transition:{primary:"transition"},on:{primary:"on"},trigger:{primary:"trigger"},send:{primary:"send"},focus:{primary:"focus"},blur:{primary:"blur"},go:{primary:"go"},wait:{primary:"wait"},fetch:{primary:"fetch"},settle:{primary:"settle"},if:{primary:"if"},when:{primary:"when",normalized:"when"},where:{primary:"where",normalized:"where"},else:{primary:"else"},repeat:{primary:"repeat"},for:{primary:"for"},while:{primary:"while"},continue:{primary:"continue"},halt:{primary:"halt"},throw:{primary:"throw"},call:{primary:"call"},return:{primary:"return"},then:{primary:"then"},and:{primary:"and"},end:{primary:"end"},js:{primary:"js"},async:{primary:"async"},tell:{primary:"tell"},default:{primary:"default"},init:{primary:"init"},behavior:{primary:"behavior"},install:{primary:"install"},measure:{primary:"measure"},into:{primary:"into"},before:{primary:"before"},after:{primary:"after"},until:{primary:"until"},event:{primary:"event"},from:{primary:"from"}}};var Ot=[{native:"true",normalized:"true"},{native:"false",normalized:"false"},{native:"null",normalized:"null"},{native:"undefined",normalized:"undefined"},{native:"first",normalized:"first"},{native:"last",normalized:"last"},{native:"next",normalized:"next"},{native:"previous",normalized:"previous"},{native:"closest",normalized:"closest"},{native:"click",normalized:"click"},{native:"dblclick",normalized:"dblclick"},{native:"mousedown",normalized:"mousedown"},{native:"mouseup",normalized:"mouseup"},{native:"mouseover",normalized:"mouseover"},{native:"mouseout",normalized:"mouseout"},{native:"mouseenter",normalized:"mouseenter"},{native:"mouseleave",normalized:"mouseleave"},{native:"mousemove",normalized:"mousemove"},{native:"keydown",normalized:"keydown"},{native:"keyup",normalized:"keyup"},{native:"keypress",normalized:"keypress"},{native:"input",normalized:"input"},{native:"change",normalized:"change"},{native:"submit",normalized:"submit"},{native:"reset",normalized:"reset"},{native:"load",normalized:"load"},{native:"unload",normalized:"unload"},{native:"scroll",normalized:"scroll"},{native:"resize",normalized:"resize"},{native:"dragstart",normalized:"dragstart"},{native:"drag",normalized:"drag"},{native:"dragend",normalized:"dragend"},{native:"dragenter",normalized:"dragenter"},{native:"dragleave",normalized:"dragleave"},{native:"dragover",normalized:"dragover"},{native:"drop",normalized:"drop"},{native:"touchstart",normalized:"touchstart"},{native:"touchmove",normalized:"touchmove"},{native:"touchend",normalized:"touchend"},{native:"touchcancel",normalized:"touchcancel"},{native:"in",normalized:"in"},{native:"to",normalized:"to"},{native:"at",normalized:"at"},{native:"by",normalized:"by"},{native:"with",normalized:"with"},{native:"without",normalized:"without"},{native:"of",normalized:"of"},{native:"as",normalized:"as"},{native:"every",normalized:"every"},{native:"upon",normalized:"upon"},{native:"unless",normalized:"unless"},{native:"forever",normalized:"forever"},{native:"times",normalized:"times"},{native:"and",normalized:"and"},{native:"or",normalized:"or"},{native:"not",normalized:"not"},{native:"is",normalized:"is"},{native:"exists",normalized:"exists"},{native:"empty",normalized:"empty"},{native:"my",normalized:"my"},{native:"your",normalized:"your"},{native:"its",normalized:"its"},{native:"the",normalized:"the"},{native:"a",normalized:"a"},{native:"an",normalized:"an"},{native:"delete",normalized:"delete"},{native:"innerHTML",normalized:"innerHTML"},{native:"outerHTML",normalized:"outerHTML"},{native:"beforebegin",normalized:"beforebegin"},{native:"afterend",normalized:"afterend"},{native:"beforeend",normalized:"beforeend"},{native:"afterbegin",normalized:"afterbegin"},{native:"flip",normalized:"toggle"},{native:"switch",normalized:"toggle"},{native:"increase",normalized:"increment"},{native:"decrease",normalized:"decrement"},{native:"display",normalized:"show"},{native:"reveal",normalized:"show"},{native:"conceal",normalized:"hide"},{native:"colour",normalized:"color"},{native:"grey",normalized:"gray"},{native:"centre",normalized:"center"},{native:"behaviour",normalized:"behavior"},{native:"initialise",normalized:"initialize"},{native:"favourite",normalized:"favorite"}],Le=class extends q{constructor(){super();this.language="en";this.direction="ltr";this.initializeKeywordsFromProfile(N,Ot)}tokenize(t){let n=[],o=0;for(;o<t.length;){if(R(t[o])){o++;continue}if(U(t[o])){let a=this.tryEventModifier(t,o);if(a){n.push(a),o=a.position.end;continue}if(t[o]==="."){let c=n[n.length-1],p=c&&c.position.end<o;if(c&&!p&&(c.kind==="identifier"||c.kind==="keyword"||c.kind==="selector")){n.push(T(".","operator",S(o,o+1))),o++;continue}let d=o+1;for(;d<t.length&&x(t[d]);)d++;if(d<t.length&&t[d]==="("){n.push(T(".","operator",S(o,o+1))),o++;continue}}let l=this.trySelector(t,o);if(l){n.push(l),o=l.position.end;continue}}if(H(t[o])){if(t[o]==="'"&&be(t,o)){n.push(T("'s","punctuation",S(o,o+2))),o+=2;continue}let a=this.tryString(t,o);if(a){n.push(a),o=a.position.end;continue}}if(D(t,o)){let a=this.tryUrl(t,o);if(a){n.push(a),o=a.position.end;continue}}if(b(t[o])||t[o]==="-"&&o+1<t.length&&b(t[o+1])){let a=this.tryNumber(t,o);if(a){n.push(a),o=a.position.end;continue}}let i=this.tryVariableRef(t,o);if(i){n.push(i),o=i.position.end;continue}if(x(t[o])){let a=this.extractWord(t,o);if(a){n.push(a),o=a.position.end;continue}}let s=this.tryOperator(t,o);if(s){n.push(s),o=s.position.end;continue}o++}return new w(n,"en")}classifyToken(t){return this.isKeyword(t)?"keyword":t.startsWith("#")||t.startsWith(".")||t.startsWith("[")?"selector":t.startsWith('"')||t.startsWith("'")||/^\d/.test(t)?"literal":["==","!=","<=",">=","<",">","&&","||","!"].includes(t)?"operator":t.startsWith("/")||t.startsWith("./")||t.startsWith("http")?"url":"identifier"}extractWord(t,n){let o=n,i="";for(;o<t.length&&x(t[o]);)i+=t[o++];if(!i)return null;if(o<t.length&&t[o]===":"){let c=o;o++;let p="";for(;o<t.length&&x(t[o]);)p+=t[o++];p?i=i+":"+p:o=c}let s=this.classifyToken(i),a=this.lookupKeyword(i),l=a&&a.normalized!==a.native?a.normalized:void 0;if(s==="identifier"){let c=this.tryConvertToClassSelector(t,o,i);if(c)return c.token}return T(i,s,S(n,o),l)}tryConvertToClassSelector(t,n,o){let i=n;for(;i<t.length&&/\s/.test(t[i]);)i++;if(t.slice(i,i+5).toLowerCase()==="class"){let s=i+5;if(s>=t.length||!x(t[s])){let a="."+o;return{token:T(a,"selector",S(n-o.length,n)),endPos:n}}}return null}},pe=new Le;var It={action:"toggle",description:"Toggle a class or attribute on/off",category:"dom-class",primaryRole:"patient",roles:[{role:"patient",description:"The class or attribute to toggle",required:!0,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES","INVALID_CSS_PROPERTY"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"toggle command requires an argument"},{condition:"Class names are valid CSS identifiers",errorCode:"NO_VALID_CLASS_NAMES",message:"toggle command: no valid class names found"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to toggle",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers",INVALID_CSS_PROPERTY:"Check CSS property name syntax (use kebab-case)"}},_t={action:"add",description:"Add a class or attribute to an element",category:"dom-class",primaryRole:"patient",roles:[{role:"patient",description:"The class or attribute to add",required:!0,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES","PROPERTY_REQUIRES_VALUE"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"add command requires an argument"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to add",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers",PROPERTY_REQUIRES_VALUE:"When adding a property (*prop), provide a value argument"}},qt={action:"remove",description:"Remove a class or attribute from an element",category:"dom-class",primaryRole:"patient",roles:[{role:"patient",description:"The class or attribute to remove",required:!0,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"source",description:"The element to remove from (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"remove command requires an argument"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to remove",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers"}},$t={action:"put",description:"Put content into a target element or variable",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The content to put",required:!0,expectedTypes:["literal","selector","reference","expression"],svoPosition:1,sovPosition:1},{role:"destination",description:"Where to put the content",required:!0,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:2}],errorCodes:["MISSING_ARGUMENTS","MISSING_CONTENT","MISSING_POSITION","INVALID_POSITION","NO_TARGET","NO_ELEMENTS"],preconditions:[{condition:"Command has content and position arguments",errorCode:"MISSING_ARGUMENTS",message:"put requires arguments"},{condition:"Content to put is specified",errorCode:"MISSING_CONTENT",message:"put requires content"},{condition:"Position keyword is specified (into, before, after, etc.)",errorCode:"MISSING_POSITION",message:"put requires position keyword"}],recoveryHints:{MISSING_ARGUMENTS:"Use syntax: put <content> into/before/after <target>",MISSING_CONTENT:"Add content to put (string, element, or expression)",MISSING_POSITION:"Add position keyword: into, before, after, at start of, at end of",INVALID_POSITION:"Valid positions: into, before, after, at start of, at end of",NO_TARGET:'Ensure target element exists or use "me" reference',NO_ELEMENTS:"Check that the selector matches existing elements"}},Bt={action:"set",description:"Set a property or variable to a value",category:"variable",primaryRole:"destination",roles:[{role:"destination",description:"The property or variable to set",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:1,markerOverride:{en:"",ja:"\u3092",ko:"\uB97C",tr:"i",ar:""}},{role:"patient",description:"The value to set",required:!0,expectedTypes:["literal","expression","reference"],svoPosition:2,sovPosition:2,markerOverride:{en:"to",es:"a",pt:"para",fr:"\xE0",de:"auf",id:"ke",ja:"\u306B",ko:"\uC73C\uB85C",tr:"e",ar:"\u0625\u0644\u0649"}}],errorCodes:["MISSING_TARGET","INVALID_TARGET","MISSING_VALUE","INVALID_SYNTAX"],preconditions:[{condition:"Command has a target variable or property",errorCode:"MISSING_TARGET",message:"set command requires a target"},{condition:"Target is a valid variable or property reference",errorCode:"INVALID_TARGET",message:"set command target must be a string or object literal"},{condition:'Value is specified with "to" keyword',errorCode:"MISSING_VALUE",message:'set command requires a value (use "to" keyword)'}],recoveryHints:{MISSING_TARGET:"Add a target: set :variable to value OR set element.property to value",INVALID_TARGET:'Use local variable (:name), element property (el.prop), or "the X of Y" syntax',MISSING_VALUE:'Add "to <value>" to specify what to set',INVALID_SYNTAX:"Use syntax: set <target> to <value>"}},Wt={action:"show",description:"Make an element visible",category:"dom-visibility",primaryRole:"patient",roles:[{role:"patient",description:"The element to show",required:!0,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1},{role:"style",description:"Animation style (fade, slide, etc.)",required:!1,expectedTypes:["literal"],svoPosition:2,sovPosition:2}]},Kt={action:"hide",description:"Make an element invisible",category:"dom-visibility",primaryRole:"patient",roles:[{role:"patient",description:"The element to hide",required:!0,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1},{role:"style",description:"Animation style (fade, slide, etc.)",required:!1,expectedTypes:["literal"],svoPosition:2,sovPosition:2}]},Gt={action:"on",description:"Handle an event",category:"event",primaryRole:"event",hasBody:!0,roles:[{role:"event",description:"The event to handle",required:!0,expectedTypes:["literal"],svoPosition:1,sovPosition:2},{role:"source",description:"The element to listen on (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},Ut={action:"trigger",description:"Trigger/dispatch an event",category:"event",primaryRole:"event",roles:[{role:"event",description:"The event to trigger (supports namespaced events like draggable:start)",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},Ht={action:"wait",description:"Wait for a duration or event",category:"async",primaryRole:"patient",roles:[{role:"patient",description:"Duration or event to wait for",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1}]},Dt={action:"fetch",description:"Fetch data from a URL",category:"async",primaryRole:"source",roles:[{role:"source",description:"The URL to fetch from",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1},{role:"responseType",description:"Response format (json, text, html, blob, etc.)",required:!1,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:2},{role:"method",description:"HTTP method (GET, POST, etc.)",required:!1,expectedTypes:["literal"],svoPosition:3,sovPosition:3},{role:"destination",description:"Where to store the result",required:!1,expectedTypes:["selector","reference"],svoPosition:4,sovPosition:4}]},Ft={action:"increment",description:"Increment a numeric value",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The value to increment",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:1},{role:"quantity",description:"Amount to increment by (defaults to 1)",required:!1,expectedTypes:["literal"],default:{type:"literal",value:1,dataType:"number"},svoPosition:2,sovPosition:2}]},Xt={action:"decrement",description:"Decrement a numeric value",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The value to decrement",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:1},{role:"quantity",description:"Amount to decrement by (defaults to 1)",required:!1,expectedTypes:["literal"],default:{type:"literal",value:1,dataType:"number"},svoPosition:2,sovPosition:2}]},Qt={action:"append",description:"Append content to an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The content to append",required:!0,expectedTypes:["literal","selector","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"The element to append to",required:!0,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1}]},Zt={action:"prepend",description:"Prepend content to an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The content to prepend",required:!0,expectedTypes:["literal","selector","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"The element to prepend to",required:!0,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1}]},Yt={action:"log",description:"Log a value to the console",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The value to log",required:!0,expectedTypes:["literal","selector","reference","expression"],svoPosition:1,sovPosition:1}]},Jt={action:"get",description:"Get a value from a source",category:"variable",primaryRole:"source",roles:[{role:"source",description:"The source to get from",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:2,markerOverride:{en:"",es:"",pt:"",fr:"",de:"",ja:"\u3092",zh:"",ko:"\uB97C",ar:"\u0639\u0644\u0649",tr:"i",id:""}},{role:"destination",description:"Where to store the result (optional)",required:!1,expectedTypes:["reference"],svoPosition:2,sovPosition:1}]},en={action:"take",description:"Take content from a source element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The class or element to take",required:!0,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"source",description:"The element to take from (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},tn={action:"make",description:"Create a new element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element type or selector to create",required:!0,expectedTypes:["literal","selector"],svoPosition:1,sovPosition:1}]},nn={action:"halt",description:"Halt/stop execution or event propagation",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"What to halt (event, default, bubbling, etc.)",required:!1,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:1}]},rn={action:"settle",description:"Wait for animations/transitions to settle",category:"async",primaryRole:"patient",roles:[{role:"patient",description:"The element to settle (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},on={action:"throw",description:"Throw an error",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"The error message or object to throw",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1}]},an={action:"send",description:"Send an event to an element",category:"event",primaryRole:"event",roles:[{role:"event",description:"The event to send",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1,markerOverride:{en:"to",ja:"\u306B",ar:"\u0625\u0644\u0649",es:"a",ko:"\uC5D0\uAC8C",zh:"\u5230",tr:"-e",pt:"para",fr:"\xE0",de:"an",id:"ke",qu:"-man",sw:"kwa"}}]},sn={action:"if",description:"Conditional execution",category:"control-flow",primaryRole:"condition",hasBody:!0,roles:[{role:"condition",description:"The condition to evaluate",required:!0,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},ln={action:"unless",description:"Negated conditional execution (executes when condition is false)",category:"control-flow",primaryRole:"condition",hasBody:!0,roles:[{role:"condition",description:"The condition to evaluate (body executes when false)",required:!0,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},cn={action:"else",description:"Else branch of conditional",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[]},pn={action:"repeat",description:"Repeat a block of commands",category:"control-flow",primaryRole:"loopType",hasBody:!0,roles:[{role:"loopType",description:"Loop variant: forever, times, for, while, until, until-event",required:!0,expectedTypes:["literal"],svoPosition:0,sovPosition:0},{role:"quantity",description:"Number of times to repeat",required:!1,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1},{role:"event",description:"Event to wait for (terminates loop)",required:!1,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:2},{role:"source",description:"Element to listen for event on",required:!1,expectedTypes:["selector","reference"],svoPosition:3,sovPosition:3}],notes:'Can also use "repeat forever", "repeat until condition", or "repeat until event X from Y"'},un={action:"for",description:"Iterate over a collection",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[{role:"patient",description:"The iteration variable",required:!0,expectedTypes:["reference"],svoPosition:1,sovPosition:2},{role:"source",description:"The collection to iterate over",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:2,sovPosition:1}]},dn={action:"while",description:"Loop while condition is true",category:"control-flow",primaryRole:"condition",hasBody:!0,roles:[{role:"condition",description:"The condition to check",required:!0,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},mn={action:"continue",description:"Continue to next loop iteration",category:"control-flow",primaryRole:"patient",roles:[]},fn={action:"go",description:"Navigate to a URL",category:"navigation",primaryRole:"destination",roles:[{role:"destination",description:"The URL to navigate to",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1}]},gn={action:"transition",description:"Transition an element with animation",category:"dom-visibility",primaryRole:"patient",roles:[{role:"patient",description:"The property to transition (opacity, *background-color, etc.)",required:!0,expectedTypes:["literal"],svoPosition:1,sovPosition:2},{role:"goal",description:"The target value to transition to",required:!0,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:3},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:3,sovPosition:1},{role:"duration",description:"Transition duration (over 500ms, for 2 seconds)",required:!1,expectedTypes:["literal"],svoPosition:4,sovPosition:4},{role:"style",description:"Easing function (ease-in, linear, etc.)",required:!1,expectedTypes:["literal"],svoPosition:5,sovPosition:5}]},yn={action:"clone",description:"Clone an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element to clone",required:!0,expectedTypes:["selector","reference"],svoPosition:1,sovPosition:2},{role:"destination",description:"Where to put the clone",required:!1,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1}]},hn={action:"focus",description:"Focus an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element to focus (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},vn={action:"blur",description:"Remove focus from an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element to blur (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},Sn={action:"call",description:"Call a function",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"The function to call",required:!0,expectedTypes:["expression","reference"],svoPosition:1,sovPosition:1}]},Tn={action:"return",description:"Return a value from a function",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"The value to return",required:!1,expectedTypes:["literal","expression","reference"],svoPosition:1,sovPosition:1}]},xn={action:"js",description:"Execute raw JavaScript code",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[{role:"patient",description:"The JavaScript code to execute",required:!1,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},kn={action:"async",description:"Execute commands asynchronously",category:"async",primaryRole:"patient",hasBody:!0,roles:[]},Pn={action:"tell",description:"Execute commands in context of another element",category:"control-flow",primaryRole:"destination",hasBody:!0,roles:[{role:"destination",description:"The element to tell",required:!0,expectedTypes:["selector","reference"],svoPosition:1,sovPosition:1}]},bn={action:"default",description:"Set a default value for a variable",category:"variable",primaryRole:"destination",roles:[{role:"destination",description:"The variable to set default for",required:!0,expectedTypes:["reference"],svoPosition:1,sovPosition:1},{role:"patient",description:"The default value",required:!0,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:2}]},Ln={action:"init",description:"Initialization block that runs once",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[]},En={action:"behavior",description:"Define a reusable behavior",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[{role:"patient",description:"The behavior name (PascalCase identifier)",required:!0,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:1}]},Rn={action:"install",description:"Install a behavior on an element",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"The behavior name to install",required:!0,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"Element to install on (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},Cn={action:"measure",description:"Measure element dimensions (x, y, width, height, etc.)",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"Property to measure (x, y, width, height, top, left, etc.)",required:!1,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1},{role:"source",description:"Element to measure (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:2}]},wn={action:"swap",description:"Swap DOM content using various strategies (innerHTML, outerHTML, delete, etc.)",category:"dom-content",primaryRole:"destination",roles:[{role:"method",description:"The swap strategy (innerHTML, outerHTML, beforebegin, afterend, delete)",required:!1,expectedTypes:["literal"],svoPosition:1,sovPosition:3},{role:"destination",description:"The element to swap content in/for",required:!0,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1},{role:"patient",description:"The content to swap in (optional for delete)",required:!1,expectedTypes:["literal","expression","selector"],svoPosition:3,sovPosition:2}]},Nn={action:"morph",description:"Morph an element into another using DOM diffing",category:"dom-content",primaryRole:"destination",roles:[{role:"destination",description:"The element to morph",required:!0,expectedTypes:["selector","reference"],svoPosition:1,sovPosition:1},{role:"patient",description:"The target content/element to morph into",required:!0,expectedTypes:["literal","expression","selector"],svoPosition:2,sovPosition:2}]},zn={toggle:It,add:_t,remove:qt,put:$t,set:Bt,show:Wt,hide:Kt,on:Gt,trigger:Ut,wait:Ht,fetch:Dt,increment:Ft,decrement:Xt,append:Qt,prepend:Zt,log:Yt,get:Jt,take:en,make:tn,halt:nn,settle:rn,throw:on,send:an,if:sn,unless:ln,else:cn,repeat:pn,for:un,while:dn,continue:mn,go:fn,transition:gn,clone:yn,focus:hn,blur:vn,call:Sn,return:Tn,js:xn,async:kn,tell:Pn,default:bn,init:Ln,behavior:En,install:Rn,measure:Cn,swap:wn,morph:Nn,compound:{action:"compound",description:"A compound node representing chained statements",primaryRole:"patient",category:"control-flow",hasBody:!0,roles:[]}};function et(){return Object.values(zn).filter(r=>r.roles.length>0)}function Ee(r,e){let t=e==="SOV"?"sovPosition":"svoPosition";return[...r].sort((n,o)=>{let i=n[t]??99,s=o[t]??99;return i-s})}function tt(r,e){let t=r.markerOverride?.[e.code],n=e.roleMarkers[r.role];if(t!==void 0)return{primary:t,position:n?.position??"before",isOverride:!0};if(n&&n.primary){let o={primary:n.primary,position:n.position,isOverride:!1};return n.alternatives&&(o.alternatives=n.alternatives),o}return null}var Y={basePriority:100,generateSimpleVariants:!0,generateAlternatives:!0};function ot(r,e,t=Y){let n=`${r.action}-${e.code}-generated`,o=t.basePriority??100,i=e.keywords[r.action];if(!i)throw new Error(`No keyword translation for '${r.action}' in ${e.code}`);let s=Wn(r,e,i),a=at(r,e),l=Hn(r,e,i);return{id:n,language:e.code,command:r.action,priority:o,template:{format:l,tokens:s},extraction:a}}function Mn(r,e,t=Y){if(r.roles.filter(a=>!a.required).length===0)return null;let o=r.roles.filter(a=>a.required),i={...r,roles:o};return{...ot(i,e,t),id:`${r.action}-${e.code}-simple`,priority:(t.basePriority??100)-5,extraction:at(r,e)}}function An(r,e,t=Y){let n=[];if(n.push(ot(r,e,t)),t.generateSimpleVariants){let o=Mn(r,e,t);o&&n.push(o)}return n}function it(r,e=Y){let t=[],n=et();for(let o of n){if(!r.keywords[o.action])continue;let i=An(o,r,e);if(t.push(...i),r.eventHandler?.eventMarker){let s=jn(o,r,e);t.push(...s)}}return t}function jn(r,e,t=Y){if(!e.eventHandler||!e.eventHandler.eventMarker)return[];let n=[],o=e.eventHandler.eventMarker,i=e.keywords[r.action];if(!i)return[];let a=r.roles.filter(l=>l.required).length===2;if(e.wordOrder==="SOV")if(a)n.push(qn(r,e,i,o,t));else{n.push(Vn(r,e,i,o,t));let l=o.primary.split(/\s+/),c=o.alternatives?.some(g=>!g.includes(" ")&&g.length>1);l.length>1&&c&&n.push(On(r,e,i,o,t)),n.push(In(r,e,i,o,t));let p=_n(r,e,i,t);p&&n.push(p)}else e.wordOrder==="VSO"?a?n.push(rt(r,e,i,o,t)):(n.push(nt(r,e,i,o,t)),e.eventHandler?.negationMarker&&n.push($n(r,e,i,o,t)),e.tokenization?.prefixes&&n.push(Bn(r,e,i,t))):a?n.push(rt(r,e,i,o,t)):n.push(nt(r,e,i,o,t));return n}function Vn(r,e,t,n,o){let i=[];if(i.push({type:"role",role:"event",optional:!1}),n.position==="after"){let c=n.primary.split(/\s+/);if(c.length>1)for(let p of c)i.push({type:"literal",value:p});else{let p=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(p)}}let s=e.roleMarkers.destination;s&&i.push({type:"group",optional:!0,tokens:[{type:"role",role:"destination",optional:!0},s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary}]}),i.push({type:"role",role:"patient",optional:!1});let a=e.roleMarkers.patient;if(a){let c=a.alternatives?{type:"literal",value:a.primary,alternatives:a.alternatives}:{type:"literal",value:a.primary};i.push(c)}let l=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};return i.push(l),{id:`${r.action}-event-${e.code}-sov`,language:e.code,command:"on",priority:(o.basePriority??100)+50,template:{format:`{event} ${n.primary} {destination?} {patient} ${a?.primary||""} ${t.primary}`,tokens:i},extraction:{action:{value:r.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function On(r,e,t,n,o){let i=[];i.push({type:"role",role:"event",optional:!1});let s=n.alternatives?.filter(p=>!p.includes(" ")&&p.length>1)||[];s.length>0&&i.push({type:"literal",value:s[0],alternatives:s.slice(1)});let a=e.roleMarkers.destination;a&&i.push({type:"group",optional:!0,tokens:[{type:"role",role:"destination",optional:!0},a.alternatives?{type:"literal",value:a.primary,alternatives:a.alternatives}:{type:"literal",value:a.primary}]}),i.push({type:"role",role:"patient",optional:!1});let l=e.roleMarkers.patient;if(l){let p=l.alternatives?{type:"literal",value:l.primary,alternatives:l.alternatives}:{type:"literal",value:l.primary};i.push(p)}let c=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};return i.push(c),{id:`${r.action}-event-${e.code}-sov-compact`,language:e.code,command:"on",priority:(o.basePriority??100)+52,template:{format:`{event}${s[0]||""} {patient} ${t.primary}`,tokens:i},extraction:{action:{value:r.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function In(r,e,t,n,o){let i=[];if(i.push({type:"role",role:"event",optional:!1}),n.position==="after"){let a=n.primary.split(/\s+/);if(a.length>1)for(let l of a)i.push({type:"literal",value:l});else{let l=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(l)}}let s=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};return i.push(s),{id:`${r.action}-event-${e.code}-sov-simple`,language:e.code,command:"on",priority:(o.basePriority??100)+48,template:{format:`{event} ${n.primary} ${t.primary}`,tokens:i},extraction:{action:{value:r.action},event:{fromRole:"event"},patient:{default:{type:"reference",value:"me"}}}}}function _n(r,e,t,n){let o=e.eventHandler?.temporalMarkers;if(!o||o.length===0)return null;let i=[];i.push({type:"role",role:"event",optional:!1}),e.possessive?.marker&&i.push({type:"group",optional:!0,tokens:[{type:"literal",value:e.possessive.marker}]}),i.push({type:"literal",value:o[0],alternatives:o.slice(1)}),i.push({type:"role",role:"patient",optional:!1});let s=e.roleMarkers.patient;if(s?.primary){let l=s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary};i.push(l)}let a=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};return i.push(a),{id:`${r.action}-event-${e.code}-sov-temporal`,language:e.code,command:"on",priority:(n.basePriority??100)+49,template:{format:`{event} ${o[0]} {patient} ${t.primary}`,tokens:i},extraction:{action:{value:r.action},event:{fromRole:"event"},patient:{fromRole:"patient"}}}}function nt(r,e,t,n,o){let i=[];if(n.position==="before"){let l=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(l)}i.push({type:"role",role:"event",optional:!1});let s=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};i.push(s),i.push({type:"role",role:"patient",optional:!1});let a=e.roleMarkers.destination;return a&&i.push({type:"group",optional:!0,tokens:[a.alternatives?{type:"literal",value:a.primary,alternatives:a.alternatives}:{type:"literal",value:a.primary},{type:"role",role:"destination",optional:!0}]}),{id:`${r.action}-event-${e.code}-vso`,language:e.code,command:"on",priority:(o.basePriority??100)+50,template:{format:`${n.primary} {event} ${t.primary} {patient} ${a?.primary||""} {destination?}`,tokens:i},extraction:{action:{value:r.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function qn(r,e,t,n,o){let i=[];if(i.push({type:"role",role:"event",optional:!1}),n.position==="after"){let p=n.primary.split(/\s+/);if(p.length>1)for(let g of p)i.push({type:"literal",value:g});else{let g=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(g)}}let a=[...r.roles.filter(p=>p.required)].sort((p,g)=>{let h=p.sovPosition??999,d=g.sovPosition??999;return h-d});for(let p of a){i.push({type:"role",role:p.role,optional:!1});let g,h;if(p.markerOverride&&p.markerOverride[e.code])g=p.markerOverride[e.code];else{let d=e.roleMarkers[p.role];d&&(g=d.primary,h=d.alternatives)}if(g){let d=h?{type:"literal",value:g,alternatives:h}:{type:"literal",value:g};i.push(d)}}let l=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};i.push(l);let c=a.map(p=>`{${p.role}}`).join(" ");return{id:`${r.action}-event-${e.code}-sov-2role`,language:e.code,command:"on",priority:(o.basePriority??100)+55,template:{format:`{event} ${n.primary} ${c} ${t.primary}`,tokens:i},extraction:{action:{value:r.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination"}}}}function rt(r,e,t,n,o){let i=[];if(n.position==="before"){let p=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(p)}i.push({type:"role",role:"event",optional:!1});let s=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};i.push(s);let l=[...r.roles.filter(p=>p.required)].sort((p,g)=>{let h=p.svoPosition??999,d=g.svoPosition??999;return h-d});for(let p of l){let g,h;if(p.markerOverride&&p.markerOverride[e.code])g=p.markerOverride[e.code];else{let d=e.roleMarkers[p.role];d&&(g=d.primary,h=d.alternatives)}if(g){let d=h?{type:"literal",value:g,alternatives:h}:{type:"literal",value:g};i.push(d)}i.push({type:"role",role:p.role,optional:!1})}let c=l.map(p=>`{${p.role}}`).join(" ");return{id:`${r.action}-event-${e.code}-vso-2role`,language:e.code,command:"on",priority:(o.basePriority??100)+55,template:{format:`${n.primary} {event} ${t.primary} ${c}`,tokens:i},extraction:{action:{value:r.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination"}}}}function $n(r,e,t,n,o){let i=[],s=e.eventHandler?.negationMarker;if(n.position==="before"){let c=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(c)}if(s){let c=s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary};i.push(c)}i.push({type:"role",role:"event",optional:!1});let a=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};i.push(a),i.push({type:"role",role:"patient",optional:!1});let l=e.roleMarkers.destination;return l&&i.push({type:"group",optional:!0,tokens:[l.alternatives?{type:"literal",value:l.primary,alternatives:l.alternatives}:{type:"literal",value:l.primary},{type:"role",role:"destination",optional:!0}]}),{id:`${r.action}-event-${e.code}-vso-negated`,language:e.code,command:"on",priority:(o.basePriority??100)+48,template:{format:`${n.primary} ${s?.primary||""} {event} ${t.primary} {patient} ${l?.primary||""} {destination?}`,tokens:i},extraction:{action:{value:r.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function Bn(r,e,t,n){let o=[];o.push({type:"literal",value:"and",alternatives:["then"]}),o.push({type:"role",role:"event",optional:!1});let i=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};o.push(i),o.push({type:"role",role:"patient",optional:!1});let s=e.roleMarkers.destination;return s&&o.push({type:"group",optional:!0,tokens:[s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary},{type:"role",role:"destination",optional:!0}]}),{id:`${r.action}-event-${e.code}-vso-proclitic`,language:e.code,command:"on",priority:(n.basePriority??100)+45,template:{format:`[proclitic?] {event} ${t.primary} {patient} ${s?.primary||""} {destination?}`,tokens:o},extraction:{action:{value:r.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function Wn(r,e,t){let n=[],o=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary},i=Kn(r,e);switch(e.wordOrder){case"SVO":n.push(o),n.push(...i);break;case"SOV":n.push(...i),n.push(o);break;case"VSO":n.push(o),n.push(...i);break;default:n.push(o),n.push(...i)}return n}function Kn(r,e){let t=[],n=Ee(r.roles,e.wordOrder);for(let o of n){let i=Gn(o,e);o.required?t.push(...i):t.push({type:"group",optional:!0,tokens:i})}return t}function Gn(r,e){let t=[],n=r.markerOverride?.[e.code],o=e.roleMarkers[r.role],i={type:"role",role:r.role,optional:!r.required,expectedTypes:r.expectedTypes};if(n!==void 0)(o?.position??"before")==="before"?(n&&t.push({type:"literal",value:n}),t.push(i)):(t.push(i),n&&t.push({type:"literal",value:n}));else if(o)if(o.position==="before"){if(o.primary){let s=o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary};t.push(s)}t.push(i)}else{t.push(i);let s=o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary};t.push(s)}else t.push(i);return t}function Un(r,e){let t={};for(let n of r.roles){let o=n.markerOverride?.[e.code],i=e.roleMarkers[n.role];o!==void 0?t[n.role]=o?{marker:o}:{}:i&&i.primary?t[n.role]=i.alternatives?{marker:i.primary,markerAlternatives:i.alternatives}:{marker:i.primary}:t[n.role]={}}return t}function at(r,e){let t=Un(r,e),n={};for(let o of r.roles){let i=t[o.role]||{};!o.required&&o.default?n[o.role]={...i,default:o.default}:n[o.role]=i}return n}function Hn(r,e,t){let n=[],i=Ee(r.roles,e.wordOrder).map(s=>{let a=tt(s,e),l="";return a&&a.primary?a.position==="before"?l=`${a.primary} {${s.role}}`:l=`{${s.role}} ${a.primary}`:l=`{${s.role}}`,s.required?l:`[${l}]`});switch(e.wordOrder){case"SVO":case"VSO":n.push(t.primary,...i);break;case"SOV":n.push(...i,t.primary);break;default:n.push(t.primary,...i)}return n.join(" ")}function st(){return[{id:"toggle-en-full",language:"en",command:"toggle",priority:100,template:{format:"toggle {patient} on {target}",tokens:[{type:"literal",value:"toggle"},{type:"role",role:"patient"},{type:"group",optional:!0,tokens:[{type:"literal",value:"on",alternatives:["from"]},{type:"role",role:"destination"}]}]},extraction:{patient:{position:1},destination:{marker:"on",markerAlternatives:["from"],default:{type:"reference",value:"me"}}}},{id:"toggle-en-simple",language:"en",command:"toggle",priority:90,template:{format:"toggle {patient}",tokens:[{type:"literal",value:"toggle"},{type:"role",role:"patient"}]},extraction:{patient:{position:1},destination:{default:{type:"reference",value:"me"}}}}]}function lt(){return[{id:"put-en-into",language:"en",command:"put",priority:100,template:{format:"put {patient} into {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"into",alternatives:["in","to"]},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"into",markerAlternatives:["in","to"]}}},{id:"put-en-before",language:"en",command:"put",priority:95,template:{format:"put {patient} before {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"before"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"before"},manner:{default:{type:"literal",value:"before"}}}},{id:"put-en-after",language:"en",command:"put",priority:95,template:{format:"put {patient} after {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"after"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"after"},manner:{default:{type:"literal",value:"after"}}}}]}function ct(){return[{id:"event-en-when-source",language:"en",command:"on",priority:115,template:{format:"when {event} from {source} {body}",tokens:[{type:"literal",value:"when"},{type:"role",role:"event"},{type:"literal",value:"from"},{type:"role",role:"source"}]},extraction:{event:{position:1},source:{marker:"from"}}},{id:"event-en-when",language:"en",command:"on",priority:105,template:{format:"when {event} {body}",tokens:[{type:"literal",value:"when"},{type:"role",role:"event"}]},extraction:{event:{position:1}}},{id:"event-en-source",language:"en",command:"on",priority:110,template:{format:"on {event} from {source} {body}",tokens:[{type:"literal",value:"on"},{type:"role",role:"event"},{type:"literal",value:"from"},{type:"role",role:"source"}]},extraction:{event:{position:1},source:{marker:"from"}}},{id:"event-en-standard",language:"en",command:"on",priority:100,template:{format:"on {event} {body}",tokens:[{type:"literal",value:"on"},{type:"role",role:"event"}]},extraction:{event:{position:1}}},{id:"event-en-upon",language:"en",command:"on",priority:98,template:{format:"upon {event} {body}",tokens:[{type:"literal",value:"upon"},{type:"role",role:"event"}]},extraction:{event:{position:1}}},{id:"event-en-if",language:"en",command:"on",priority:95,template:{format:"if {event} {body}",tokens:[{type:"literal",value:"if"},{type:"role",role:"event"}]},extraction:{event:{position:1}}}]}var Dn={id:"fetch-en-with-response-type",language:"en",command:"fetch",priority:90,template:{format:"fetch {source} as {responseType}",tokens:[{type:"literal",value:"fetch"},{type:"role",role:"source",expectedTypes:["literal","expression"]},{type:"literal",value:"as"},{type:"role",role:"responseType",expectedTypes:["literal","expression"]}]},extraction:{source:{position:1},responseType:{marker:"as"}}},Fn={id:"fetch-en-simple",language:"en",command:"fetch",priority:80,template:{format:"fetch {source}",tokens:[{type:"literal",value:"fetch"},{type:"role",role:"source"}]},extraction:{source:{position:1}}},Xn={id:"swap-en-handcrafted",language:"en",command:"swap",priority:110,template:{format:"swap {method} {destination}",tokens:[{type:"literal",value:"swap"},{type:"role",role:"method"},{type:"role",role:"destination"}]},extraction:{method:{position:1},destination:{position:2}}},Qn={id:"repeat-en-until-event-from",language:"en",command:"repeat",priority:120,template:{format:"repeat until event {event} from {source}",tokens:[{type:"literal",value:"repeat"},{type:"literal",value:"until"},{type:"literal",value:"event"},{type:"role",role:"event",expectedTypes:["literal","expression"]},{type:"literal",value:"from"},{type:"role",role:"source",expectedTypes:["selector","reference","expression"]}]},extraction:{event:{marker:"event"},source:{marker:"from"},loopType:{default:{type:"literal",value:"until-event"}}}},Zn={id:"repeat-en-until-event",language:"en",command:"repeat",priority:110,template:{format:"repeat until event {event}",tokens:[{type:"literal",value:"repeat"},{type:"literal",value:"until"},{type:"literal",value:"event"},{type:"role",role:"event",expectedTypes:["literal","expression"]}]},extraction:{event:{marker:"event"},loopType:{default:{type:"literal",value:"until-event"}}}},Yn={id:"set-en-possessive",language:"en",command:"set",priority:100,template:{format:"set {destination} to {patient}",tokens:[{type:"literal",value:"set"},{type:"role",role:"destination",expectedTypes:["property-path","selector","reference","expression"]},{type:"literal",value:"to"},{type:"role",role:"patient",expectedTypes:["literal","expression","reference"]}]},extraction:{destination:{position:1},patient:{marker:"to"}}},Jn={id:"for-en-basic",language:"en",command:"for",priority:100,template:{format:"for {patient} in {source}",tokens:[{type:"literal",value:"for"},{type:"role",role:"patient",expectedTypes:["expression","reference"]},{type:"literal",value:"in"},{type:"role",role:"source",expectedTypes:["selector","expression","reference"]}]},extraction:{patient:{position:1},source:{marker:"in"},loopType:{default:{type:"literal",value:"for"}}}},er={id:"if-en-basic",language:"en",command:"if",priority:100,template:{format:"if {condition}",tokens:[{type:"literal",value:"if"},{type:"role",role:"condition",expectedTypes:["expression","reference","selector"]}]},extraction:{condition:{position:1}}},tr={id:"unless-en-basic",language:"en",command:"unless",priority:100,template:{format:"unless {condition}",tokens:[{type:"literal",value:"unless"},{type:"role",role:"condition",expectedTypes:["expression","reference","selector"]}]},extraction:{condition:{position:1}}},nr={id:"temporal-en-in",language:"en",command:"wait",priority:95,template:{format:"in {duration}",tokens:[{type:"literal",value:"in"},{type:"role",role:"duration",expectedTypes:["literal","expression"]}]},extraction:{duration:{position:1}}},rr={id:"temporal-en-after",language:"en",command:"wait",priority:95,template:{format:"after {duration}",tokens:[{type:"literal",value:"after"},{type:"role",role:"duration",expectedTypes:["literal","expression"]}]},extraction:{duration:{position:1}}};function pt(){let r=[];r.push(...st()),r.push(...lt()),r.push(...ct()),r.push(Dn,Fn,Xn,Qn,Zn,Yn,Jn,er,tr,nr,rr);let e=it(N);return r.push(...e),r}se("en",pe,N);Ge("en",pt());function ut(r){return{stem:r,confidence:1}}function Re(r,e,t){return t?{stem:r,confidence:e,metadata:t}:{stem:r,confidence:e}}function or(r){let e=r.charCodeAt(0);return e>=65&&e<=90||e>=97&&e<=122?!0:"\xE7\xC7\u011F\u011E\u0131\u0130\xF6\xD6\u015F\u015E\xFC\xDC".includes(r)}function ir(r){for(let e of r)if(or(e))return!0;return!1}function Ce(r){return"a\u0131ouAIOU".includes(r)}function dt(r){return"ei\xF6\xFCE\u0130\xD6\xDC".includes(r)}function mt(r){return Ce(r)||dt(r)}function ar(r){for(let e=r.length-1;e>=0;e--)if(mt(r[e]))return r[e];return null}function sr(r,e){let t=ar(r);if(!t)return!0;let n=e.split("").find(o=>mt(o));return n?Ce(t)?Ce(n):dt(n):!0}var lr=[{pattern:"iyorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"iyorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"iyoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"iyorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"uyorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"iyorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"eceksiniz",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"acaks\u0131n\u0131z",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"eceksin",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"acaks\u0131n",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"ece\u011Fiz",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"aca\u011F\u0131z",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"ece\u011Fim",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"aca\u011F\u0131m",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"ecekler",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"acaklar",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"mi\u015Fsiniz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015Fs\u0131n\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015Fs\xFCn\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fsunuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fsin",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015Fs\u0131n",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015Fs\xFCn",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fsun",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fiz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015F\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015F\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fim",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015F\u0131m",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015F\xFCm",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fum",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015Flar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015Fler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Flar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"diniz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131n\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCn\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dunuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tiniz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131n\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCn\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tunuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"diler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131lar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dular",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tiler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131lar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tular",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"din",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131n",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCn",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dun",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tin",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131n",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCn",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tun",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dik",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131k",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"duk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tik",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131k",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tuk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dim",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\u0131m",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\xFCm",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"dum",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"tim",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\u0131m",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\xFCm",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"tum",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"iyor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"uyor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"ecek",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"acak",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"mi\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mu\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"di",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\u0131",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\xFC",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"du",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"ti",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\u0131",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\xFC",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"tu",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mek",confidence:.88,conjugationType:"dictionary",minStemLength:2},{pattern:"mak",confidence:.88,conjugationType:"dictionary",minStemLength:2},{pattern:"eyelim",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"ayal\u0131m",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"eyim",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"ay\u0131m",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"elim",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"al\u0131m",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"melisiniz",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131s\u0131n\u0131z",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"melisin",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131s\u0131n",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"meliyiz",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131y\u0131z",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"meliyim",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131y\u0131m",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"meliler",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131lar",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"meli",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"ebiliyor",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"abiliyor",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"ebilir",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"abilir",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"ebildi",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"abildi",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"ebilmek",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"abilmek",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"iniz",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"\u0131n\u0131z",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"\xFCn\xFCz",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"unuz",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"in",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"\u0131n",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"\xFCn",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"un",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"ildi",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\u0131ld\u0131",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\xFCld\xFC",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"uldu",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"ilir",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\u0131l\u0131r",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\xFCl\xFCr",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"ulur",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"tirmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"t\u0131rmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"t\xFCrmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"turmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"dirmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"d\u0131rmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"d\xFCrmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"durmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"miyorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"muyorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"miyorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"muyorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"miyoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"muyoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"miyorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"muyorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"miyor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"muyor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"medi",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"mad\u0131",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"me",confidence:.75,conjugationType:"negative",minStemLength:3},{pattern:"ma",confidence:.75,conjugationType:"negative",minStemLength:3}],J=class{constructor(){this.language="tr"}isNormalizable(e){return!(!ir(e)||e.length<3)}normalize(e){let t=e.toLowerCase();for(let n of lr)if(t.endsWith(n.pattern)){let o=t.slice(0,-n.pattern.length),i=n.minStemLength??2;if(o.length<i)continue;if(!sr(o,n.pattern)){let a=n.confidence*.9,l={removedSuffixes:[n.pattern]};return n.conjugationType&&(l.conjugationType=n.conjugationType),Re(o,a,l)}let s={removedSuffixes:[n.pattern]};return n.conjugationType&&(s.conjugationType=n.conjugationType),Re(o,n.confidence,s)}return ut(e)}},Zo=new J;var $={code:"tr",name:"Turkish",nativeName:"T\xFCrk\xE7e",direction:"ltr",wordOrder:"SOV",markingStrategy:"case-suffix",usesSpaces:!0,verb:{position:"end",suffixes:["mek","mak","yor","di","mi\u015F"],subjectDrop:!0},references:{me:"ben",it:"o",you:"sen",result:"sonu\xE7",event:"olay",target:"hedef",body:"g\xF6vde"},possessive:{marker:"",markerPosition:"after-object",usePossessiveAdjectives:!0,specialForms:{me:"benim",it:"onun",you:"senin"},keywords:{benim:"me",senin:"you",onun:"it"}},roleMarkers:{patient:{primary:"i",alternatives:["\u0131","u","\xFC","yi","y\u0131","yu","y\xFC","ni","n\u0131","nu","n\xFC"],position:"after"},destination:{primary:"e",alternatives:["a","ye","ya","ne","na","de","da","te","ta","\u0131n","in","un","\xFCn","n\u0131n","nin","nun","n\xFCn"],position:"after"},source:{primary:"den",alternatives:["dan","ten","tan"],position:"after"},style:{primary:"le",alternatives:["la","yle","yla"],position:"after"},event:{primary:"i",alternatives:["\u0131","u","\xFC"],position:"after"}},keywords:{toggle:{primary:"de\u011Fi\u015Ftir",alternatives:["a\xE7/kapat"],normalized:"toggle"},add:{primary:"ekle",normalized:"add"},remove:{primary:"kald\u0131r",alternatives:["sil"],normalized:"remove"},put:{primary:"koy",normalized:"put"},append:{primary:"ekle",normalized:"append"},take:{primary:"tut",normalized:"take"},make:{primary:"yap",normalized:"make"},clone:{primary:"kopyala",normalized:"clone"},swap:{primary:"takas",normalized:"swap"},morph:{primary:"d\xF6n\xFC\u015Ft\xFCr",alternatives:["\u015Fekil de\u011Fi\u015Ftir"],normalized:"morph"},set:{primary:"ayarla",alternatives:["yap","belirle"],normalized:"set"},get:{primary:"al",normalized:"get"},increment:{primary:"art\u0131r",normalized:"increment"},decrement:{primary:"azalt",normalized:"decrement"},log:{primary:"kaydet",normalized:"log"},show:{primary:"g\xF6ster",normalized:"show"},hide:{primary:"gizle",normalized:"hide"},transition:{primary:"ge\xE7i\u015F",normalized:"transition"},on:{primary:"\xFCzerinde",alternatives:["oldu\u011Funda","zaman"],normalized:"on"},trigger:{primary:"tetikle",normalized:"trigger"},send:{primary:"g\xF6nder",normalized:"send"},focus:{primary:"odak",alternatives:["odaklanma"],normalized:"focus"},blur:{primary:"bulan\u0131k",alternatives:["bulan\u0131kl\u0131k"],normalized:"blur"},click:{primary:"t\u0131klama",alternatives:["t\u0131kla"],normalized:"click"},hover:{primary:"\xFCzerine gelme",alternatives:["\xFCzerinde gezinme"],normalized:"hover"},submit:{primary:"g\xF6nderme",alternatives:["g\xF6nder"],normalized:"submit"},input:{primary:"giri\u015F",alternatives:["girdi"],normalized:"input"},change:{primary:"de\u011Fi\u015Fiklik",alternatives:["de\u011Fi\u015Fim"],normalized:"change"},go:{primary:"git",normalized:"go"},wait:{primary:"bekle",normalized:"wait"},fetch:{primary:"getir",normalized:"fetch"},settle:{primary:"sabitlen",normalized:"settle"},if:{primary:"e\u011Fer",normalized:"if"},when:{primary:"iken",alternatives:["durumunda","oldu\u011Funda"],normalized:"when"},where:{primary:"nerede",normalized:"where"},else:{primary:"yoksa",normalized:"else"},repeat:{primary:"tekrarla",normalized:"repeat"},for:{primary:"i\xE7in",normalized:"for"},while:{primary:"iken",normalized:"while"},continue:{primary:"devam",normalized:"continue"},halt:{primary:"durdur",normalized:"halt"},throw:{primary:"f\u0131rlat",normalized:"throw"},call:{primary:"\xE7a\u011F\u0131r",normalized:"call"},return:{primary:"d\xF6n",normalized:"return"},then:{primary:"sonra",alternatives:["ard\u0131ndan","daha sonra"],normalized:"then"},and:{primary:"ve",alternatives:["ayr\u0131ca","hem de"],normalized:"and"},end:{primary:"son",alternatives:["biti\u015F","bitti"],normalized:"end"},js:{primary:"js",normalized:"js"},async:{primary:"asenkron",normalized:"async"},tell:{primary:"s\xF6yle",normalized:"tell"},default:{primary:"varsay\u0131lan",normalized:"default"},init:{primary:"ba\u015Flat",normalized:"init"},behavior:{primary:"davran\u0131\u015F",normalized:"behavior"},install:{primary:"y\xFCkle",normalized:"install"},measure:{primary:"\xF6l\xE7",normalized:"measure"},into:{primary:"i\xE7ine",normalized:"into"},before:{primary:"\xF6nce",normalized:"before"},after:{primary:"sonra",normalized:"after"},until:{primary:"kadar",normalized:"until"},event:{primary:"olay",normalized:"event"},from:{primary:"den",alternatives:["dan"],normalized:"from"}},eventHandler:{eventMarker:{primary:"da",alternatives:["de","ta","te"],position:"after"},temporalMarkers:["d\u0131\u011F\u0131nda","di\u011Finde"]}};var{isLetter:we}=Pe(/[a-zA-ZçÇğĞıİöÖşŞüÜ]/),ft=new Set(["ile","i\xE7in","kadar","gibi","sonra","\xF6nce","\xFCzerinde","alt\u0131nda","i\xE7inde","d\u0131\u015F\u0131nda","aras\u0131nda","kar\u015F\u0131","g\xF6re","ra\u011Fmen","do\u011Fru","boyunca"]),gt=new Set(["de","da","te","ta","den","dan","ten","tan","e","a","ye","ya","i","\u0131","u","\xFC","in","\u0131n","un","\xFCn","le","la","yle","yla"]),cr=[{native:"do\u011Fru",normalized:"true"},{native:"dogru",normalized:"true"},{native:"yanl\u0131\u015F",normalized:"false"},{native:"yanlis",normalized:"false"},{native:"null",normalized:"null"},{native:"bo\u015F",normalized:"null"},{native:"bos",normalized:"null"},{native:"tan\u0131ms\u0131z",normalized:"undefined"},{native:"tanimsiz",normalized:"undefined"},{native:"ilk",normalized:"first"},{native:"son",normalized:"last"},{native:"sonraki",normalized:"next"},{native:"\xF6nceki",normalized:"previous"},{native:"onceki",normalized:"previous"},{native:"en_yak\u0131n",normalized:"closest"},{native:"en_yakin",normalized:"closest"},{native:"ebeveyn",normalized:"parent"},{native:"t\u0131klama",normalized:"click"},{native:"tiklama",normalized:"click"},{native:"t\u0131k",normalized:"click"},{native:"tik",normalized:"click"},{native:"giri\u015F",normalized:"input"},{native:"giris",normalized:"input"},{native:"de\u011Fi\u015Fim",normalized:"change"},{native:"degisim",normalized:"change"},{native:"odak",normalized:"focus"},{native:"bulan\u0131k",normalized:"blur"},{native:"bulanik",normalized:"blur"},{native:"fare \xFCzerinde",normalized:"mouseover"},{native:"fare uzerinde",normalized:"mouseover"},{native:"fare d\u0131\u015F\u0131nda",normalized:"mouseout"},{native:"fare disinda",normalized:"mouseout"},{native:"kayd\u0131r",normalized:"scroll"},{native:"kaydir",normalized:"scroll"},{native:"tu\u015F_bas",normalized:"keydown"},{native:"tus_bas",normalized:"keydown"},{native:"tu\u015F_b\u0131rak",normalized:"keyup"},{native:"tus_birak",normalized:"keyup"},{native:"benim",normalized:"my"},{native:"onun",normalized:"its"},{native:"saniye",normalized:"s"},{native:"milisaniye",normalized:"ms"},{native:"dakika",normalized:"m"},{native:"saat",normalized:"h"},{native:"ve",normalized:"and"},{native:"veya",normalized:"or"},{native:"de\u011Fil",normalized:"not"},{native:"degil",normalized:"not"}],pr=[{pattern:"milisaniye",suffix:"ms",length:10,caseInsensitive:!0},{pattern:"dakika",suffix:"m",length:6,caseInsensitive:!0},{pattern:"saniye",suffix:"s",length:6,caseInsensitive:!0},{pattern:"saat",suffix:"h",length:4,caseInsensitive:!0},{pattern:"dk",suffix:"m",length:2,checkBoundary:!0},{pattern:"sa",suffix:"h",length:2,checkBoundary:!0}],Ne=class extends q{constructor(){super();this.language="tr";this.direction="ltr";this.initializeKeywordsFromProfile($,cr),this.normalizer=new J}tokenize(t){let n=[],o=0;for(;o<t.length;){if(R(t[o])){o++;continue}if(U(t[o])){let a=this.tryEventModifier(t,o);if(a){n.push(a),o=a.position.end;continue}let l=this.trySelector(t,o);if(l){n.push(l),o=l.position.end;continue}}if(H(t[o])){let a=this.tryString(t,o);if(a){n.push(a),o=a.position.end;continue}}if(D(t,o)){let a=this.tryUrl(t,o);if(a){n.push(a),o=a.position.end;continue}}if(b(t[o])){let a=this.extractTurkishNumber(t,o);if(a){n.push(a),o=a.position.end;continue}}let i=this.tryVariableRef(t,o);if(i){n.push(i),o=i.position.end;continue}let s=this.tryMultiWordPhrase(t,o);if(s){n.push(s),o=s.position.end;continue}if(we(t[o])){let a=this.extractTurkishWord(t,o);if(a){n.push(a),o=a.position.end;continue}}o++}return new w(n,"tr")}classifyToken(t){let n=t.toLowerCase();return ft.has(n)||gt.has(n)?"particle":this.isKeyword(n)?"keyword":t.startsWith("#")||t.startsWith(".")||t.startsWith("[")?"selector":t.startsWith('"')||t.startsWith("'")||/^\d/.test(t)?"literal":"identifier"}tryMultiWordPhrase(t,n){for(let o of this.profileKeywords){if(!o.native.includes(" "))continue;let i=o.native;if(t.slice(n,n+i.length).toLowerCase()===i.toLowerCase()){let a=n+i.length;if(a>=t.length||R(t[a])||!we(t[a]))return T(t.slice(n,n+i.length),"keyword",S(n,a),o.normalized)}}return null}extractTurkishWord(t,n){let o=n,i="";for(;o<t.length&&(we(t[o])||t[o]==="_");)i+=t[o++];if(!i)return null;let s=i.toLowerCase();if(gt.has(s))return T(i,"particle",S(n,o));if(ft.has(s))return T(i,"particle",S(n,o));let a=this.lookupKeyword(s);if(a)return T(i,"keyword",S(n,o),a.normalized);let l=this.tryMorphKeywordMatch(s,n,o);return l||T(i,"identifier",S(n,o))}extractTurkishNumber(t,n){return this.tryNumberWithTimeUnits(t,n,pr,{allowSign:!1,skipWhitespace:!0})}},ue=new Ne;se("tr",ue,$);function yt(r){return Ue(r)}function de(r,e){return De(r,e)}function me(){return le()}function j(r){let e="complex";return r.startsWith("#")&&!r.includes(" ")?e="id":r.startsWith(".")&&!r.includes(" ")?e="class":r.startsWith("[")&&r.endsWith("]")?e="attribute":/^[a-z][a-z0-9]*$/i.test(r)&&(e="element"),{type:"selector",value:r,selectorKind:e}}function k(r,e){let t={type:"literal",value:r};return e!==void 0?{type:"literal",value:r,dataType:e}:t}function z(r){return{type:"reference",value:r}}function F(r,e){return{type:"property-path",object:r,property:e}}function V(r,e,t){let n={kind:"command",action:r,roles:new Map(Object.entries(e))};return t!==void 0?{...n,metadata:t}:n}function X(r,e,t,n,o){let i=new Map;i.set("event",r);let s={kind:"event-handler",action:"on",roles:i,body:e};return t!==void 0&&(s.eventModifiers=t),n!==void 0&&(s.metadata=n),o!==void 0&&o.length>0&&(s.parameterNames=o),s}function ht(r,e="then",t){let n={kind:"compound",action:"compound",roles:new Map,statements:r,chainType:e};return t!==void 0&&(n.metadata=t),n}function ze(r,e){return!e||e.length===0||e.includes(r)||e.includes("expression")?!0:r==="property-path"?e.some(t=>["selector","reference","expression"].includes(t)):!1}function vt(r,e){return r.possessive?.keywords?.[e]}var M=class M{constructor(){this.stemMatchCount=0;this.totalKeywordMatches=0}matchPattern(e,t){let n=e.mark(),o=new Map;if(this.currentProfile=A(t.language),this.stemMatchCount=0,this.totalKeywordMatches=0,!this.matchTokenSequence(e,t.template.tokens,o))return e.reset(n),null;let s=this.calculateConfidence(t,o);return this.applyExtractionRules(t,o),{pattern:t,captured:o,consumedTokens:e.position()-n.position,confidence:s}}matchBest(e,t){let n=[];for(let i of t){let s=e.mark(),a=this.matchPattern(e,i);a&&n.push(a),e.reset(s)}if(n.length===0)return null;n.sort((i,s)=>{let a=s.pattern.priority-i.pattern.priority;return a!==0?a:s.confidence-i.confidence});let o=n[0];return this.matchPattern(e,o.pattern),o}matchTokenSequence(e,t,n){let o=t[0],i=o?.type==="literal"&&(o.value==="and"||o.value==="then"||o.alternatives?.includes("and")||o.alternatives?.includes("then"));if(this.currentProfile?.code==="ar"&&!i)for(;e.peek()?.kind==="conjunction";)e.advance();for(let s of t)if(!this.matchPatternToken(e,s,n)){if(this.isOptional(s))continue;return!1}return!0}matchPatternToken(e,t,n){switch(t.type){case"literal":return this.matchLiteralToken(e,t);case"role":return this.matchRoleToken(e,t,n);case"group":return this.matchGroupToken(e,t,n);default:return!1}}matchLiteralToken(e,t){let n=e.peek();if(!n)return!1;let o=this.getMatchType(n,t.value);if(o!=="none")return this.totalKeywordMatches++,o==="stem"&&this.stemMatchCount++,e.advance(),!0;if(t.alternatives)for(let i of t.alternatives){let s=this.getMatchType(n,i);if(s!=="none")return this.totalKeywordMatches++,s==="stem"&&this.stemMatchCount++,e.advance(),!0}return!1}matchRoleToken(e,t,n){this.skipNoiseWords(e);let o=e.peek();if(!o)return t.optional||!1;let i=this.tryMatchPossessiveExpression(e);if(i)return t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(i.type)&&!t.expectedTypes.includes("expression")?t.optional||!1:(n.set(t.role,i),!0);let s=this.tryMatchMethodCallExpression(e);if(s)return t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(s.type)&&!t.expectedTypes.includes("expression")?t.optional||!1:(n.set(t.role,s),!0);let a=this.tryMatchPossessiveSelectorExpression(e);if(a)return t.expectedTypes&&t.expectedTypes.length>0&&!ze(a.type,t.expectedTypes)?t.optional||!1:(n.set(t.role,a),!0);let l=this.tryMatchPropertyAccessExpression(e);if(l)return t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(l.type)&&!t.expectedTypes.includes("expression")?t.optional||!1:(n.set(t.role,l),!0);let c=this.tryMatchSelectorPropertyExpression(e);if(c)return t.expectedTypes&&t.expectedTypes.length>0&&!ze(c.type,t.expectedTypes)?t.optional||!1:(n.set(t.role,c),!0);let p=this.tokenToSemanticValue(o);return!p||t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(p.type)?t.optional||!1:(n.set(t.role,p),e.advance(),!0)}tryMatchPossessiveExpression(e){let t=e.peek();if(!t||!this.currentProfile)return null;let n=(t.normalized||t.value).toLowerCase(),o=vt(this.currentProfile,n);if(!o)return null;let i=e.mark();e.advance();let s=e.peek();return s&&(s.kind==="identifier"||s.kind==="keyword"&&!this.isStructuralKeyword(s.value)||s.kind==="selector"&&s.value.startsWith("*"))?(e.advance(),F(z(o),s.value)):(e.reset(i),null)}isStructuralKeyword(e){return new Set(["into","in","to","from","at","by","with","without","before","after","of","as","on","then","end","else","if","repeat","while","for","toggle","add","remove","put","set","show","hide","increment","decrement","send","trigger","call"]).has(e.toLowerCase())}tryMatchMethodCallExpression(e){let t=e.peek();if(!t||t.kind!=="selector")return null;let n=e.mark();e.advance();let o=e.peek();if(!o||o.kind!=="operator"||o.value!==".")return e.reset(n),null;e.advance();let i=e.peek();if(!i||i.kind!=="identifier")return e.reset(n),null;e.advance();let s=e.peek();if(!s||s.kind!=="punctuation"||s.value!=="(")return e.reset(n),null;e.advance();let a=[];for(;!e.isAtEnd()&&a.length<M.MAX_METHOD_ARGS;){let c=e.peek();if(!c)break;if(c.kind==="punctuation"&&c.value===")"){e.advance();break}if(c.kind==="punctuation"&&c.value===","){e.advance();continue}a.push(c.value),e.advance()}return{type:"expression",raw:`${t.value}.${i.value}(${a.join(", ")})`}}tryMatchPropertyAccessExpression(e){let t=e.peek();if(!t||t.kind!=="identifier"&&t.kind!=="keyword")return null;let n=e.mark();e.advance();let o=e.peek();if(!o||o.kind!=="operator"||o.value!==".")return e.reset(n),null;e.advance();let i=e.peek();if(!i||i.kind!=="identifier")return e.reset(n),null;e.advance();let s=`${t.value}.${i.value}`,a=1;for(;!e.isAtEnd()&&a<M.MAX_PROPERTY_DEPTH;){let c=e.peek();if(!c||c.kind!=="operator"||c.value!==".")break;e.advance();let p=e.peek();if(!p||p.kind!=="identifier")break;e.advance(),s+=`.${p.value}`,a++}let l=e.peek();if(l&&l.kind==="punctuation"&&l.value==="("){e.advance();let c=[],p=0;for(;!e.isAtEnd()&&c.length<M.MAX_METHOD_ARGS;){let h=e.peek();if(!h)break;if(h.kind==="punctuation"&&h.value===")"){if(p===0){e.advance();break}p--}if(h.kind==="punctuation"&&h.value==="("&&p++,h.kind==="punctuation"&&h.value===","){e.advance();continue}c.push(h.value),e.advance()}return{type:"expression",raw:`${s}(${c.join(", ")})`}}return{type:"expression",raw:s}}tryMatchPossessiveSelectorExpression(e){let t=e.peek();if(!t||t.kind!=="selector")return null;let n=e.mark();e.advance();let o=e.peek();if(!o||o.kind!=="punctuation"||o.value!=="'s")return e.reset(n),null;e.advance();let i=e.peek();return!i||i.kind!=="selector"&&i.kind!=="identifier"?(e.reset(n),null):(e.advance(),F(j(t.value),i.value))}tryMatchSelectorPropertyExpression(e){let t=e.peek();if(!t||t.kind!=="selector"||!t.value.startsWith("#"))return null;let n=e.mark();e.advance();let o=e.peek();if(!o||o.kind!=="selector"||!o.value.startsWith("."))return e.reset(n),null;let i=e.peek(1);i&&i.kind,e.advance();let s=o.value.slice(1);return F(j(t.value),s)}matchGroupToken(e,t,n){let o=e.mark(),i=new Set(n.keys());if(!this.matchTokenSequence(e,t.tokens,n)){e.reset(o);for(let a of n.keys())i.has(a)||n.delete(a);return t.optional||!1}return!0}getMatchType(e,t){return e.value===t?"exact":e.normalized===t?"normalized":e.stem===t&&e.stemConfidence!==void 0&&e.stemConfidence>=.7?"stem":e.kind==="keyword"&&e.value.toLowerCase()===t.toLowerCase()?"case-insensitive":"none"}tokenToSemanticValue(e){switch(e.kind){case"selector":return j(e.value);case"literal":return this.parseLiteralValue(e.value);case"keyword":let t=(e.normalized||e.value).toLowerCase();return["me","you","it","result","event","target","body"].includes(t)?z(t):k(e.normalized||e.value);case"identifier":if(e.value.startsWith(":"))return z(e.value);let n=e.value.toLowerCase();return["me","you","it","result","event","target","body"].includes(n)?z(n):{type:"expression",raw:e.value};case"url":return k(e.value,"string");default:return null}}parseLiteralValue(e){if(e.startsWith('"')||e.startsWith("'")||e.startsWith("`")||e.startsWith("\u300C")){let o=e.slice(1,-1);return k(o,"string")}if(e==="true")return k(!0,"boolean");if(e==="false")return k(!1,"boolean");let t=e.match(/^(\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(t){let o=parseFloat(t[1]);return t[2]?k(e,"duration"):k(o,"number")}let n=parseFloat(e);return isNaN(n)?k(e,"string"):k(n,"number")}applyExtractionRules(e,t){for(let[n,o]of Object.entries(e.extraction))!t.has(n)&&o.default&&t.set(n,o.default)}isOptional(e){return e.optional===!0}calculateConfidence(e,t){let n=0,o=0,i=c=>e.extraction?.[c]?.default!==void 0;for(let c of e.template.tokens)if(c.type==="role")o+=1,t.has(c.role)&&(n+=1);else if(c.type==="group"){for(let p of c.tokens)if(p.type==="role"){let g=i(p.role),h=.8;o+=h,t.has(p.role)?n+=h:g&&(n+=h*.6)}}let s=o>0?n/o:1;if(this.stemMatchCount>0&&this.totalKeywordMatches>0){let c=this.stemMatchCount/this.totalKeywordMatches*.15;s=Math.max(.5,s-c)}let a=this.calculateVSOConfidenceBoost(e);s=Math.min(1,s+a);let l=this.arabicPrepositionDisambiguation(e,t);return s=Math.max(0,Math.min(1,s+l)),s}calculateVSOConfidenceBoost(e){if(e.language!=="ar")return 0;let t=e.template.tokens[0];if(!t||t.type!=="literal")return 0;let n=new Set(["\u0628\u062F\u0644","\u063A\u064A\u0631","\u0623\u0636\u0641","\u0623\u0632\u0644","\u0636\u0639","\u0627\u062C\u0639\u0644","\u0639\u064A\u0646","\u0632\u062F","\u0627\u0646\u0642\u0635","\u0633\u062C\u0644","\u0623\u0638\u0647\u0631","\u0623\u062E\u0641","\u0634\u063A\u0644","\u0623\u0631\u0633\u0644","\u0631\u0643\u0632","\u0634\u0648\u0634","\u062A\u0648\u0642\u0641","\u0627\u0646\u0633\u062E","\u0627\u062D\u0630\u0641","\u0627\u0635\u0646\u0639","\u0627\u0646\u062A\u0638\u0631","\u0627\u0646\u062A\u0642\u0627\u0644","\u0623\u0648"]);if(n.has(t.value))return .15;if(t.alternatives){for(let o of t.alternatives)if(n.has(o))return .15}return 0}arabicPrepositionDisambiguation(e,t){if(e.language!=="ar")return 0;let n=0,o={patient:["\u0639\u0644\u0649"],destination:["\u0625\u0644\u0649","\u0627\u0644\u0649"],source:["\u0645\u0646"],agent:["\u0645\u0646"],manner:["\u0628"],style:["\u0628"],goal:["\u0625\u0644\u0649","\u0627\u0644\u0649"],method:["\u0628"]};for(let[i,s]of t.entries()){let a=o[i];if(!a||a.length===0)continue;let l=s.metadata;if(l&&typeof l.prepositionValue=="string"){let c=l.prepositionValue;a.includes(c)?n+=.1:n-=.1}}return Math.max(-.1,Math.min(.1,n))}skipNoiseWords(e){let t=e.peek();if(!t)return;let n=t.value.toLowerCase();if(M.ENGLISH_NOISE_WORDS.has(n)){let o=e.mark();e.advance();let i=e.peek();if(i&&i.kind==="selector")return;e.reset(o)}n==="class"&&e.advance()}extractEventModifiers(e){let t={},n=!1;for(;!e.isAtEnd();){let o=e.peek();if(!o||o.kind!=="event-modifier")break;let i=o.metadata;if(!i)break;switch(n=!0,i.modifierName){case"once":t.once=!0;break;case"debounce":typeof i.value=="number"&&(t.debounce=i.value);break;case"throttle":typeof i.value=="number"&&(t.throttle=i.value);break;case"queue":(i.value==="first"||i.value==="last"||i.value==="all"||i.value==="none")&&(t.queue=i.value);break}e.advance()}return n?t:void 0}};M.MAX_PROPERTY_DEPTH=10,M.MAX_METHOD_ARGS=20,M.ENGLISH_NOISE_WORDS=new Set(["the","a","an"]);var ee=M,B=new ee;var fe=class{render(e,t){if(e.kind==="compound")return this.renderCompound(e,t);let n=Fe(t,e.action);if(n.length===0)return this.renderExplicit(e);let o=this.findBestPattern(e,n);return o?this.renderWithPattern(e,o):this.renderExplicit(e)}renderCompound(e,t){let n=e.statements.map(i=>this.render(i,t)),o=this.getChainWord(e.chainType,t);return n.join(` ${o} `)}getChainWord(e,t){let n=A(t);return n?.keywords?n.keywords[e]?.primary??e:e}renderExplicit(e){if(e.kind==="compound"){let n=e;return n.statements.map(i=>this.renderExplicit(i)).join(` ${n.chainType} `)}let t=[e.action];for(let[n,o]of e.roles)t.push(`${n}:${this.valueToString(o)}`);if(e.kind==="event-handler"){let n=e;if(n.body&&n.body.length>0){let o=n.body.map(i=>this.renderExplicit(i));t.push(`body:${o.join(" ")}`)}}return`[${t.join(" ")}]`}supportedLanguages(){return me()}findBestPattern(e,t){let n=t.map(o=>{let i=o.priority;for(let s of o.template.tokens)s.type==="role"&&(e.roles.has(s.role)?i+=10:s.optional||(i-=50));return o.language==="en"&&((o.id.includes("standard")||o.id.includes("en-source"))&&(i+=20),(o.id.includes("-when")||o.id.includes("-if")||o.id.includes("-upon"))&&(i-=15)),{pattern:o,score:i}});return n.sort((o,i)=>i.score-o.score),n.length>0?n[0].pattern:null}renderWithPattern(e,t){let n=[],o=t.language;for(let i of t.template.tokens){let s=this.renderPatternToken(i,e,o);s!==null&&n.push(s)}if(e.kind==="event-handler"){let i=e;if(i.body&&i.body.length>0){let s=i.body.map(a=>this.render(a,o));n.push(s.join(" "))}}return n.join(" ")}renderPatternToken(e,t,n){switch(e.type){case"literal":return e.value;case"role":{let o=t.roles.get(e.role);return o?this.valueToNaturalString(o,n):(e.optional,null)}case"group":{if(!e.tokens.filter(s=>s.type==="role"&&!s.optional).every(s=>t.roles.has(s.role))&&e.optional)return null;if(e.optional&&e.tokens.find(a=>a.type==="role"&&a.role==="destination")){let a=t.roles.get("destination");if(a?.type==="reference"&&a.value==="me")return null}let i=[];for(let s of e.tokens){let a=this.renderPatternToken(s,t,n);a!==null&&i.push(a)}return i.length>0?i.join(" "):null}default:return null}}valueToString(e){switch(e.type){case"literal":return typeof e.value=="string"?e.dataType==="string"||/\s/.test(e.value)?`"${e.value}"`:e.value:String(e.value);case"selector":return e.value;case"reference":return e.value;case"property-path":return`${this.valueToString(e.object)}'s ${e.property}`;case"expression":return e.raw}}valueToNaturalString(e,t="en"){switch(e.type){case"literal":return typeof e.value=="string"&&e.dataType==="string"?`"${e.value}"`:String(e.value);case"selector":return e.value;case"reference":return this.renderReference(e,t);case"property-path":return this.renderPropertyPath(e,t);case"expression":return e.raw}}renderReference(e,t){let n=A(t);return n?.references?n.references[e.value]??e.value:e.value}renderPropertyPath(e,t){let n=A(t),o=e.property,i=e.object.type==="reference"?e.object.value:null;if(n?.possessive?.specialForms&&i){let a=n.possessive.specialForms[i];if(a){let{markerPosition:l,usePossessiveAdjectives:c}=n.possessive;return c&&l==="after-object"?`${o} ${a}`:`${a} ${o}`}}let s=this.valueToNaturalString(e.object,t);if(n?.possessive){let{marker:a,markerPosition:l,usePossessiveAdjectives:c}=n.possessive;if(c&&i&&l==="after-object")return`${o} ${s}`;if(a)switch(l){case"between":return n.usesSpaces?`${s}${a} ${o}`:`${s}${a}${o}`;case"after-object":return`${s}${a} ${o}`;case"before-property":return`${s} ${a} ${o}`}}return t==="en"||!n?.possessive?s==="me"?`my ${o}`:s==="it"?`its ${o}`:`${s}'s ${o}`:`${s} ${o}`}},Me=new fe;function te(r,e){return Me.render(r,e)}function ne(r){return Me.renderExplicit(r)}function W(r){let e=r.trim();if(!e.startsWith("[")||!e.endsWith("]"))throw new Error("Explicit syntax must be wrapped in brackets: [command role:value ...]");let t=e.slice(1,-1).trim();if(!t)throw new Error("Empty explicit statement");let n=ur(t);if(n.length===0)throw new Error("No command specified in explicit statement");let o=n[0].toLowerCase(),i=new Map;for(let a=1;a<n.length;a++){let l=n[a],c=l.indexOf(":");if(c===-1)throw new Error(`Invalid role format: "${l}". Expected role:value`);let p=l.slice(0,c),g=l.slice(c+1);if(p==="body"&&g.startsWith("[")){let d=mr(l,c+1),m=l.slice(c+1,d+1);i.set(p,{type:"expression",raw:m});continue}let h=dr(g);i.set(p,h)}if(o==="on"){let a=i.get("event");if(!a)throw new Error("Event handler requires event role: [on event:click ...]");let l=i.get("body"),c=[];return l&&l.type==="expression"&&c.push(W(l.raw)),i.delete("body"),X(a,c,void 0,{sourceLanguage:"explicit"})}let s={};for(let[a,l]of i)s[a]=l;return V(o,s,{sourceLanguage:"explicit"})}function ur(r){let e=[],t="",n=!1,o="",i=0;for(let s=0;s<r.length;s++){let a=r[s];if(n){t+=a,a===o&&r[s-1]!=="\\"&&(n=!1);continue}if(a==='"'||a==="'"){n=!0,o=a,t+=a;continue}if(a==="["){i++,t+=a;continue}if(a==="]"){i--,t+=a;continue}if(a===" "&&i===0){t&&(e.push(t),t="");continue}t+=a}return t&&e.push(t),e}function dr(r){if(r.startsWith("#")||r.startsWith(".")||r.startsWith("[")||r.startsWith("@")||r.startsWith("*"))return j(r);if(r.startsWith('"')||r.startsWith("'")){let t=r.slice(1,-1);return k(t,"string")}if(r==="true")return k(!0,"boolean");if(r==="false")return k(!1,"boolean");if(["me","you","it","result","event","target","body"].includes(r.toLowerCase()))return z(r.toLowerCase());let e=r.match(/^(-?\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(e){let t=parseFloat(e[1]);return e[2]?k(r,"duration"):k(t,"number")}return k(r,"string")}function mr(r,e){let t=0;for(let n=e;n<r.length;n++)if(r[n]==="[")t++;else if(r[n]==="]"&&(t--,t===0))return n;return r.length-1}function Q(r){let e=r.trim();return e.startsWith("[")&&e.endsWith("]")}var ge=class{parse(e,t){let n=de(e,t),o=E(t);if(o.length===0)throw new Error(`No patterns available for language: ${t}`);let i=[...o].sort((p,g)=>g.priority-p.priority),s=i.filter(p=>p.command==="on"),a=B.matchBest(n,s);if(a)return this.buildEventHandler(a,n,t);let l=i.filter(p=>p.command!=="on"),c=B.matchBest(n,l);if(c)return this.buildCommand(c,t);throw new Error(`Could not parse input in ${t}: ${e}`)}canParse(e,t){try{return this.parse(e,t),!0}catch{return!1}}supportedLanguages(){return me()}buildCommand(e,t){if(!e)throw new Error("No match to build command from");let n={};for(let[o,i]of e.captured)n[o]=i;return V(e.pattern.command,n,{sourceLanguage:t,patternId:e.pattern.id,confidence:e.confidence})}buildEventHandler(e,t,n){if(!e)throw new Error("No match to build event handler from");let o=e.captured.get("event");if(!o)throw new Error("Event handler pattern matched but no event captured");let i=B.extractEventModifiers(t),s,a=e.captured.get("action");if(a&&a.type==="literal"){let l=a.value,c={};for(let[h,d]of e.captured)h!=="event"&&h!=="action"&&h!=="continues"&&(c[h]=d);let p=V(l,c,{sourceLanguage:n,patternId:e.pattern.id,confidence:e.confidence}),g=e.captured.get("continues");if(g&&g.type==="literal"&&g.value==="then"){let h=E(n).filter(f=>f.command!=="on").sort((f,v)=>v.priority-f.priority),d=E(n).filter(f=>f.id.startsWith("grammar-")&&f.id.includes("-continuation")).sort((f,v)=>v.priority-f.priority),m=this.parseBodyWithGrammarPatterns(t,h,d,n);m.length>0?s=[p,...m]:s=[p]}else s=[p]}else{let l=E(n).filter(c=>c.command!=="on").sort((c,p)=>p.priority-c.priority);s=this.parseBodyWithClauses(t,l,n)}return X(o,s,i,{sourceLanguage:n,patternId:e.pattern.id,confidence:e.confidence})}parseBodyWithClauses(e,t,n){let o=[],i=[];for(;!e.isAtEnd();){let s=e.peek();if(!s)break;let a=s.kind==="conjunction"||s.kind==="keyword"&&this.isThenKeyword(s.value,n),l=s.kind==="keyword"&&this.isEndKeyword(s.value,n);if(a){if(i.length>0){let c=this.parseClause(i,t,n);o.push(...c),i.length=0}e.advance();continue}if(l){if(i.length>0){let c=this.parseClause(i,t,n);o.push(...c)}e.advance();break}i.push(s),e.advance()}if(i.length>0){let s=this.parseClause(i,t,n);o.push(...s)}return o.length>1?[ht(o,"then",{sourceLanguage:n})]:o}parseClause(e,t,n){if(e.length===0)return[];let o=new w(e,n),i=[];for(;!o.isAtEnd();){let s=B.matchBest(o,t);s?i.push(this.buildCommand(s,n)):o.advance()}return i}parseBodyWithGrammarPatterns(e,t,n,o){let i=[];for(;!e.isAtEnd();){let s=e.peek();if(s&&this.isThenKeyword(s.value,o)){e.advance();continue}if(s&&this.isEndKeyword(s.value,o)){e.advance();break}let a=!1;if(n.length>0){let l=B.matchBest(e,n);if(l){let c=l.pattern.command,p={};for(let[d,m]of l.captured)d!=="event"&&d!=="action"&&d!=="continues"&&(p[d]=m);let g=V(c,p,{sourceLanguage:o,patternId:l.pattern.id});i.push(g),a=!0;let h=l.captured.get("continues");if(h&&h.type==="literal"&&h.value==="then")continue}}if(!a){let l=B.matchBest(e,t);l&&(i.push(this.buildCommand(l,o)),a=!0)}a||e.advance()}return i}isThenKeyword(e,t){let n={en:new Set(["then"]),ja:new Set(["\u305D\u308C\u304B\u3089","\u6B21\u306B","\u305D\u3057\u3066"]),ar:new Set(["\u062B\u0645","\u0628\u0639\u062F\u0647\u0627","\u062B\u0645\u0651"]),es:new Set(["entonces","luego","despu\xE9s"]),ko:new Set(["\uADF8\uB2E4\uC74C","\uADF8\uB9AC\uACE0","\uADF8\uB7F0\uD6C4"]),zh:new Set(["\u7136\u540E","\u63A5\u7740","\u4E4B\u540E"]),tr:new Set(["sonra","ard\u0131ndan","daha sonra"]),pt:new Set(["ent\xE3o","depois","logo"]),fr:new Set(["puis","ensuite","alors"]),de:new Set(["dann","danach","anschlie\xDFend"]),id:new Set(["lalu","kemudian","setelah itu"]),qu:new Set(["chaymantataq","hinaspa","chaymanta"]),sw:new Set(["kisha","halafu","baadaye"])};return(n[t]||n.en).has(e.toLowerCase())}isEndKeyword(e,t){let n={en:new Set(["end"]),ja:new Set(["\u7D42\u308F\u308A","\u7D42\u4E86","\u304A\u308F\u308A"]),ar:new Set(["\u0646\u0647\u0627\u064A\u0629","\u0627\u0646\u062A\u0647\u0649","\u0622\u062E\u0631"]),es:new Set(["fin","final","terminar"]),ko:new Set(["\uB05D","\uC885\uB8CC","\uB9C8\uCE68"]),zh:new Set(["\u7ED3\u675F","\u7EC8\u6B62","\u5B8C"]),tr:new Set(["son","biti\u015F","bitti"]),pt:new Set(["fim","final","t\xE9rmino"]),fr:new Set(["fin","terminer","finir"]),de:new Set(["ende","beenden","fertig"]),id:new Set(["selesai","akhir","tamat"]),qu:new Set(["tukukuy","tukuy","puchukay"]),sw:new Set(["mwisho","maliza","tamati"])};return(n[t]||n.en).has(e.toLowerCase())}},Ae=new ge;function Z(r,e){return Ae.parse(r,e)}function je(r,e){return Ae.canParse(r,e)}function Ve(r,e){if(Q(r))return r;let t=Z(r,e);return ne(t)}function Oe(r,e){let t=W(r);return te(t,e)}function Ie(r,e){return Q(r)?W(r):Z(r,e)}var fr=new Set(["me","my","myself","you","your","yourself","it","its","result","event","target","body","detail","window","document"]),gr=new Set(["and","or","not","no"]),yr=new Set(["true","false","null","undefined"]),hr=new Set(["ms","s","seconds","second","milliseconds","millisecond","minutes","minute","hours","hour"]);function St(r){let e=[],t=0,n=1,o=1;function i(){if(e.length===0)return!0;let m=e[e.length-1];return["OPERATOR","COMPARISON","LOGICAL","LPAREN","LBRACKET","LBRACE","COMMA","COLON"].includes(m.type)}function s(m=0){return r[t+m]??""}function a(){let m=r[t];return t++,m===`
|
|
2
|
-
`?(n++,o=1):o++,m}function l(){for(;t<r.length&&/\s/.test(r[t]);)a()}function c(m){let f="";for(;t<r.length&&m(r[t]);)f+=a();return f}function p(m){let f=m;for(a();t<r.length&&r[t]!==m;)r[t]==="\\"&&t+1<r.length&&(f+=a()),f+=a();return t<r.length&&(f+=a()),f}function g(){let m="`";for(a();t<r.length&&r[t]!=="`";)r[t]==="\\"&&t+1<r.length&&(m+=a()),m+=a();return t<r.length&&(m+=a()),m}function h(){let m="<";for(a();t<r.length&&(m+=a(),!m.endsWith("/>")););return m}function d(m,f,v){return{type:m,value:f,start:v,end:t,line:n,column:o-f.length}}for(;t<r.length&&(l(),!(t>=r.length));){let m=t,f=s();if(f==="'"&&s(1)==="s"&&!/\w/.test(s(2))){a(),a(),e.push(d("POSSESSIVE","'s",m));continue}if(f==='"'||f==="'"){let v=p(f);e.push(d("STRING",v,m));continue}if(f==="`"){let v=g();e.push(d("TEMPLATE_LITERAL",v,m));continue}if(f==="<"&&/[a-zA-Z.#\[]/.test(s(1))){let v=h();e.push(d("QUERY_SELECTOR",v,m));continue}if(f==="#"&&i()){a();let v=c(P=>/[\w-]/.test(P));e.push(d("ID_SELECTOR","#"+v,m));continue}if(f==="."&&/[a-zA-Z_-]/.test(s(1))&&i()){a();let v=c(P=>/[\w-]/.test(P));e.push(d("CLASS_SELECTOR","."+v,m));continue}if(f==="["&&i()){let v=s(1);if(v==="@"||/[a-zA-Z]/.test(v)){let P="";for(P+=a();t<r.length&&r[t]!=="]";)r[t]==='"'||r[t]==="'"?P+=p(r[t]):P+=a();t<r.length&&(P+=a()),e.push(d("ATTRIBUTE_SELECTOR",P,m));continue}}if(f==="["){a(),e.push(d("LBRACKET","[",m));continue}if(f==="]"){a(),e.push(d("RBRACKET","]",m));continue}if(/\d/.test(f)){let v=c(he=>/[\d.]/.test(he)),P=t,ae=c(he=>/[a-zA-Z]/.test(he));hr.has(ae)?e.push(d("TIME_EXPRESSION",v+ae,m)):(t=P,e.push(d("NUMBER",v,m)));continue}if(f==="("){a(),e.push(d("LPAREN","(",m));continue}if(f===")"){a(),e.push(d("RPAREN",")",m));continue}if(f==="{"){a(),e.push(d("LBRACE","{",m));continue}if(f==="}"){a(),e.push(d("RBRACE","}",m));continue}if(f===","){a(),e.push(d("COMMA",",",m));continue}if(f===":"){a(),e.push(d("COLON",":",m));continue}if(f==="."){a(),e.push(d("DOT",".",m));continue}if(f==="+"||f==="-"||f==="*"||f==="/"||f==="%"){a(),e.push(d("OPERATOR",f,m));continue}if(f==="="||f==="!"||f==="<"||f===">"){let v=a();s()==="="&&(v+=a()),e.push(d("COMPARISON",v,m));continue}if(/[a-zA-Z_$]/.test(f)){let v=c(ae=>/[\w$]/.test(ae)),P=v.toLowerCase();fr.has(P)?e.push(d("CONTEXT_VAR",v,m)):gr.has(P)?e.push(d("LOGICAL",v,m)):yr.has(P)?e.push(d("BOOLEAN",v,m)):e.push(d("IDENTIFIER",v,m));continue}a()}return e.push(d("EOF","",t)),e}var ye=class{constructor(){this.tokens=[];this.current=0}parse(e){try{return this.tokens=St(e),this.current=0,this.isAtEnd()?{success:!1,error:"Empty expression"}:{success:!0,node:this.parseExpression(),consumed:this.current}}catch(t){return{success:!1,error:t instanceof Error?t.message:"Parse error"}}}peek(){return this.tokens[this.current]??{type:"EOF",value:"",start:0,end:0}}previous(){return this.tokens[this.current-1]??{type:"EOF",value:"",start:0,end:0}}isAtEnd(){return this.peek().type==="EOF"}advance(){return this.isAtEnd()||this.current++,this.previous()}check(e){return this.peek().type===e}checkValue(e){return this.peek().value.toLowerCase()===e.toLowerCase()}match(...e){for(let t of e)if(this.check(t))return this.advance(),!0;return!1}parseExpression(){return this.parseOr()}parseOr(){let e=this.parseAnd();for(;this.checkValue("or");){let t=this.advance().value,n=this.parseAnd();e=this.createBinaryExpression(t,e,n)}return e}parseAnd(){let e=this.parseEquality();for(;this.checkValue("and");){let t=this.advance().value,n=this.parseEquality();e=this.createBinaryExpression(t,e,n)}return e}parseEquality(){let e=this.parseComparison();for(;this.match("COMPARISON")||this.checkValue("is")||this.checkValue("matches")||this.checkValue("contains")||this.checkValue("in");){let t=this.previous().value,n=this.parseComparison();e=this.createBinaryExpression(t,e,n)}return e}parseComparison(){let e=this.parseAddition();for(;this.check("COMPARISON");){let t=this.advance().value,n=this.parseAddition();e=this.createBinaryExpression(t,e,n)}return e}parseAddition(){let e=this.parseMultiplication();for(;this.peek().value==="+"||this.peek().value==="-";){let t=this.advance().value,n=this.parseMultiplication();e=this.createBinaryExpression(t,e,n)}return e}parseMultiplication(){let e=this.parseUnary();for(;this.peek().value==="*"||this.peek().value==="/"||this.peek().value==="%";){let t=this.advance().value,n=this.parseUnary();e=this.createBinaryExpression(t,e,n)}return e}parseUnary(){if(this.checkValue("not")||this.checkValue("no")||this.peek().value==="-"){let e=this.advance().value,t=this.parseUnary();return this.createUnaryExpression(e,t)}return this.parsePostfix()}parsePostfix(){let e=this.parsePrimary();for(;;)if(this.match("DOT"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let t=this.advance().value;e=this.createPropertyAccess(e,t)}else break;else if(this.match("POSSESSIVE"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let t=this.advance().value;e=this.createPossessiveExpression(e,t)}else break;else if(this.match("LPAREN")){let t=this.parseArguments();e=this.createCallExpression(e,t)}else if(this.match("LBRACKET")){let t=this.parseExpression();if(!this.match("RBRACKET"))throw new Error("Expected ] after index");e=this.createPropertyAccess(e,t)}else break;return e}parsePrimary(){let e=this.peek();if(this.match("NUMBER"))return this.createLiteral(parseFloat(e.value),"number",e);if(this.match("STRING")){let t=e.value.slice(1,-1);return this.createLiteral(t,"string",e)}if(this.match("BOOLEAN")){let t=e.value==="true"?!0:e.value==="false"?!1:e.value==="null"?null:void 0;return this.createLiteral(t,e.value,e)}if(this.match("TEMPLATE_LITERAL"))return{type:"templateLiteral",value:e.value,start:e.start,end:e.end,line:e.line,column:e.column};if(this.match("TIME_EXPRESSION"))return this.parseTimeExpression(e);if(this.match("ID_SELECTOR"))return this.createSelector(e.value,"id",e);if(this.match("CLASS_SELECTOR"))return this.createSelector(e.value,"class",e);if(this.match("ATTRIBUTE_SELECTOR"))return this.createSelector(e.value,"attribute",e);if(this.match("QUERY_SELECTOR")){let t=e.value.slice(1,-2);return this.createSelector(t,"query",e)}if(this.match("CONTEXT_VAR"))return this.createContextReference(e.value,e);if(this.match("IDENTIFIER"))return this.createIdentifier(e.value,e);if(this.match("LPAREN")){let t=this.parseExpression();if(!this.match("RPAREN"))throw new Error("Expected ) after expression");return t}if(this.match("LBRACKET"))return this.parseArrayLiteral();if(this.match("LBRACE"))return this.parseObjectLiteral();throw new Error(`Unexpected token: ${e.value}`)}parseArguments(){let e=[];if(!this.check("RPAREN"))do e.push(this.parseExpression());while(this.match("COMMA"));if(!this.match("RPAREN"))throw new Error("Expected ) after arguments");return e}parseArrayLiteral(){let e=[],t=this.previous().start;if(!this.check("RBRACKET"))do e.push(this.parseExpression());while(this.match("COMMA"));if(!this.match("RBRACKET"))throw new Error("Expected ] after array elements");return{type:"arrayLiteral",elements:e,start:t,end:this.previous().end}}parseObjectLiteral(){let e=[],t=this.previous().start;if(!this.check("RBRACE"))do{let n;if(this.check("STRING"))n=this.advance().value.slice(1,-1);else if(this.check("IDENTIFIER"))n=this.advance().value;else throw new Error("Expected property name");if(!this.match("COLON"))throw new Error("Expected : after property name");let o=this.parseExpression();e.push({key:n,value:o})}while(this.match("COMMA"));if(!this.match("RBRACE"))throw new Error("Expected } after object properties");return{type:"objectLiteral",properties:e.map(n=>({type:"objectProperty",key:n.key,value:n.value})),start:t,end:this.previous().end}}parseTimeExpression(e){let t=e.value.match(/^(\d+(?:\.\d+)?)(ms|s|seconds?|milliseconds?|minutes?|hours?)$/i);if(!t)throw new Error(`Invalid time expression: ${e.value}`);let n=parseFloat(t[1]),o=t[2].toLowerCase();return{type:"timeExpression",value:n,unit:o,raw:e.value,start:e.start,end:e.end,line:e.line,column:e.column}}createLiteral(e,t,n){return{type:"literal",value:e,dataType:t,raw:n.value,start:n.start,end:n.end,line:n.line,column:n.column}}createSelector(e,t,n){return{type:"selector",value:e,selector:e,selectorType:t,start:n.start,end:n.end,line:n.line,column:n.column}}createContextReference(e,t){return{type:"contextReference",contextType:e,name:t.value,start:t.start,end:t.end,line:t.line,column:t.column}}createIdentifier(e,t){return{type:"identifier",name:e,start:t.start,end:t.end,line:t.line,column:t.column}}createPropertyAccess(e,t){return{type:"propertyAccess",object:e,property:typeof t=="string"?t:t.name??"",start:e.start,end:this.previous().end}}createPossessiveExpression(e,t){return{type:"possessiveExpression",object:e,property:t,start:e.start,end:this.previous().end}}createBinaryExpression(e,t,n){return{type:"binaryExpression",operator:e,left:t,right:n,start:t.start,end:n.end}}createUnaryExpression(e,t){return{type:"unaryExpression",operator:e,operand:t,prefix:!0,start:this.previous().start,end:t.end}}createCallExpression(e,t){return{type:"callExpression",callee:e,arguments:t,start:e.start,end:this.previous().end}}};function _e(r){return new ye().parse(r)}function L(r,e){switch(r.type){case"literal":return vr(r);case"selector":return Sr(r,e);case"reference":return Tr(r);case"property-path":return xr(r,e);case"expression":return kr(r);default:let t=r;throw new Error(`Unknown semantic value type: ${t.type}`)}}function vr(r){let e={type:"literal",value:r.value};return r.dataType?{...e,dataType:r.dataType}:e}function Sr(r,e){return e&&r.value.startsWith("*")&&/^[a-zA-Z-]/.test(r.value.slice(1))&&e.push(`Converted '${r.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.`),{type:"selector",value:r.value,selector:r.value,selectorType:r.selectorKind}}function Tr(r){return{type:"contextReference",contextType:r.value,name:r.value}}function xr(r,e){return{type:"propertyAccess",object:L(r.object,e),property:r.property}}function kr(r){let e=_e(r.raw);return!e.success||!e.node?{type:"identifier",name:r.raw}:e.node}function Tt(r,e){return r.roles.get(e)}function u(r,e,t){let n=Tt(r,e);return n?L(n,t):void 0}function y(r,e=[],t,n={}){let o={type:"command",name:r,args:e};return t&&Object.keys(t).length>0&&(o.modifiers=t),n.isBlocking&&(o.isBlocking=n.isBlocking),n.implicitTarget&&(o.implicitTarget=n.implicitTarget),o}var Pr={action:"toggle",toAST(r,e){let t=u(r,"patient"),n=u(r,"destination"),o=u(r,"duration"),i=t?[t]:[],s={};return n&&(s.on=n),o&&(s.for=o),y("toggle",i,s)}},br={action:"add",toAST(r,e){let t=u(r,"patient"),n=u(r,"destination"),o=t?[t]:[],i={};return n&&(i.to=n),y("add",o,i)}},Lr={action:"remove",toAST(r,e){let t=u(r,"patient"),n=u(r,"source"),o=t?[t]:[],i={};return n&&(i.from=n),y("remove",o,i)}},Er={action:"set",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),o=[],i={};return t&&o.push(t),n&&(i.to=n),y("set",o,i)}},Rr={action:"show",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),o=u(r,"duration"),i=[],s={},a=t??n;return a&&i.push(a),o&&(s.with=o),y("show",i,s)}},Cr={action:"hide",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),o=u(r,"duration"),i=[],s={},a=t??n;return a&&i.push(a),o&&(s.with=o),y("hide",i,s)}},wr={action:"increment",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),o=u(r,"quantity"),i=[],s={},a=t??n;return a&&i.push(a),o&&(s.by=o),y("increment",i,s)}},Nr={action:"decrement",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),o=u(r,"quantity"),i=[],s={},a=t??n;return a&&i.push(a),o&&(s.by=o),y("decrement",i,s)}},zr={action:"wait",toAST(r,e){let t=u(r,"duration");return y("wait",t?[t]:[],void 0,{isBlocking:!0})}},Mr={action:"log",toAST(r,e){let t=u(r,"patient"),n=[];return t&&n.push(t),y("log",n)}},Ar={action:"put",toAST(r,e){let t=u(r,"patient"),n=u(r,"destination"),o=Tt(r,"method"),i=t?[t]:[],s={};if(n){let a=o?.type==="literal"?String(o.value):"into";s[a]=n}return y("put",i,s)}},jr={action:"fetch",toAST(r,e){let t=u(r,"source"),n=u(r,"method"),o=u(r,"responseType"),i=u(r,"patient"),s=t?[t]:[],a={};return n&&(a.with=n),o&&(a.as=o),i&&(a.body=i),y("fetch",s,a,{isBlocking:!0})}},Vr={action:"append",toAST(r,e){let t=u(r,"patient"),n=u(r,"destination"),o=t?[t]:[],i={};return n&&(i.to=n),y("append",o,i)}},Or={action:"prepend",toAST(r,e){let t=u(r,"patient"),n=u(r,"destination"),o=t?[t]:[],i={};return n&&(i.to=n),y("prepend",o,i)}},Ir={action:"trigger",toAST(r,e){let t=u(r,"event"),n=u(r,"destination"),o=t?[t]:[],i={};return n&&(i.on=n),y("trigger",o,i)}},_r={action:"send",toAST(r,e){let t=u(r,"event"),n=u(r,"destination"),o=u(r,"patient"),i=t?[t]:[],s={};return n&&(s.to=n),o&&(s.detail=o),y("send",i,s)}},qr={action:"go",toAST(r,e){let t=u(r,"source"),n=u(r,"destination"),o=[],i={};return t&&o.push(t),n&&(i.to=n),y("go",o,i)}},$r={action:"transition",toAST(r,e){let t=u(r,"patient"),n=u(r,"goal"),o=u(r,"duration"),i=u(r,"destination"),s=t?[t]:[],a={};return n&&(a.to=n),o&&(a.over=o),i&&(a.on=i),y("transition",s,a)}},Br={action:"focus",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),o=[],i={},s=t??n;return s&&o.push(s),y("focus",o,i)}},Wr={action:"blur",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),o=[],i=t??n;return i&&o.push(i),y("blur",o)}},Kr={action:"get",toAST(r,e){let t=u(r,"source"),n=u(r,"patient"),o=[],i=t??n;return i&&o.push(i),y("get",o)}},Gr={action:"take",toAST(r,e){let t=u(r,"patient"),n=u(r,"source"),o=t?[t]:[],i={};return n&&(i.from=n),y("take",o,i)}},Ur={action:"call",toAST(r,e){let t=u(r,"patient");return y("call",t?[t]:[])}},Hr={action:"return",toAST(r,e){let t=u(r,"patient");return y("return",t?[t]:[])}},Dr={action:"halt",toAST(r,e){return y("halt",[])}},Fr={action:"throw",toAST(r,e){let t=u(r,"patient");return y("throw",t?[t]:[])}},Xr={action:"settle",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),o=[],i=t??n;return i&&o.push(i),y("settle",o,void 0,{isBlocking:!0})}},Qr={action:"swap",toAST(r,e){let t=u(r,"patient"),n=u(r,"source"),o=u(r,"destination"),i=u(r,"style"),s=[],a={};return t&&s.push(t),n&&s.push(n),o&&(a.on=o),i&&(a.with=i),y("swap",s,a)}},Zr={action:"morph",toAST(r,e){let t=u(r,"source"),n=u(r,"destination"),o=u(r,"patient"),i=[],s={},a=t??o;return a&&i.push(a),n&&(s.on=n),y("morph",i,s)}},Yr={action:"clone",toAST(r,e){let t=u(r,"source"),n=u(r,"destination"),o=u(r,"patient"),i=[],s={},a=t??o;return a&&i.push(a),n&&(s.into=n),y("clone",i,s)}},Jr={action:"make",toAST(r,e){let t=u(r,"patient");return y("make",t?[t]:[])}},eo={action:"measure",toAST(r,e){let t=u(r,"patient"),n=u(r,"destination"),o=u(r,"source"),i=[],s={};t&&i.push(t);let a=n??o;return a&&(s.of=a),y("measure",i,s)}},to={action:"tell",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),o=[],i=t??n;return i&&o.push(i),y("tell",o)}},no={action:"js",toAST(r,e){let t=u(r,"patient");return y("js",t?[t]:[])}},ro={action:"async",toAST(r,e){return y("async",[])}},oo={action:"if",toAST(r,e){let t=u(r,"condition");return y("if",t?[t]:[])}},io={action:"unless",toAST(r,e){let t=u(r,"condition");return y("unless",t?[t]:[])}},ao={action:"repeat",toAST(r,e){let t=u(r,"quantity"),n=u(r,"patient"),o=[],i=t??n;return i&&o.push(i),y("repeat",o)}},so={action:"for",toAST(r,e){let t=u(r,"patient"),n=u(r,"source"),o=t?[t]:[],i={};return n&&(i.in=n),y("for",o,i)}},lo={action:"while",toAST(r,e){let t=u(r,"condition");return y("while",t?[t]:[])}},co={action:"continue",toAST(r,e){return y("continue",[])}},po={action:"default",toAST(r,e){let t=u(r,"patient"),n=u(r,"source"),o=t?[t]:[],i={};return n&&(i.to=n),y("default",o,i)}},uo={action:"init",toAST(r,e){return y("init",[])}},mo={action:"behavior",toAST(r,e){let t=u(r,"patient");return y("behavior",t?[t]:[])}},fo={action:"install",toAST(r,e){let t=u(r,"patient"),n=u(r,"destination"),o=t?[t]:[],i={};return n&&(i.on=n),y("install",o,i)}},go={action:"on",toAST(r,e){let t=u(r,"event"),n=u(r,"source"),o=t?[t]:[],i={};return n&&(i.from=n),y("on",o,i)}},xt=new Map([["toggle",Pr],["add",br],["remove",Lr],["set",Er],["show",Rr],["hide",Cr],["increment",wr],["decrement",Nr],["wait",zr],["log",Mr],["put",Ar],["fetch",jr],["append",Vr],["prepend",Or],["get",Kr],["take",Gr],["trigger",Ir],["send",_r],["on",go],["go",qr],["transition",$r],["focus",Br],["blur",Wr],["call",Ur],["return",Hr],["halt",Dr],["throw",Fr],["settle",Xr],["swap",Qr],["morph",Zr],["clone",Yr],["measure",eo],["make",Jr],["tell",to],["default",po],["js",no],["async",ro],["if",oo],["unless",io],["repeat",ao],["for",so],["while",lo],["continue",co],["init",uo],["behavior",mo],["install",fo]]);function re(r){return xt.get(r)}function qe(r){xt.set(r.action,r)}var oe=class{constructor(e={}){this.warnings=[]}build(e){switch(e.kind){case"command":return this.buildCommand(e);case"event-handler":return this.buildEventHandler(e);case"conditional":return this.buildConditional(e);case"compound":return this.buildCompound(e);case"loop":return this.buildLoop(e);default:throw new Error(`Unknown semantic node kind: ${e.kind}`)}}buildCommand(e){let t=re(e.action);if(t){let n=t.toAST(e,this);if("ast"in n&&"warnings"in n){let o=n;return this.warnings.push(...o.warnings),o.ast}else return n}return this.buildGenericCommand(e)}buildGenericCommand(e){let t=[],n={},o=["patient","source","quantity"],i=["destination","duration","method","style"];for(let a of o){let l=e.roles.get(a);l&&t.push(L(l))}for(let a of i){let l=e.roles.get(a);if(l){let c=this.roleToModifierKey(a);n[c]=L(l)}}let s={type:"command",name:e.action,args:t};return Object.keys(n).length>0?{...s,modifiers:n}:s}roleToModifierKey(e){return{destination:"on",duration:"for",source:"from",condition:"if",method:"via",style:"with"}[e]??e}buildEventHandler(e){let t=e.roles.get("event"),n,o;if(t?.type==="literal"){let v=String(t.value);v.includes("|")||v.includes(" or ")?(o=v.split(/\s+or\s+|\|/).map(P=>P.trim()),n=o[0]):n=v}else t?.type==="reference"?n=t.value:n="click";let i=e.body.map(v=>this.build(v)),s=e.roles.get("source"),a,l;s?.type==="selector"?(a=s.value,l=s.value):s?.type==="reference"?l=s.value:s?.type==="literal"&&(l=String(s.value));let c=e.roles.get("condition"),p=c?L(c):void 0,g=e.roles.get("destination"),h=g?L(g):void 0,d=e.eventModifiers,m=a;if(d?.from){let v=d.from;v.type==="selector"&&!a&&(m=v.value)}let f=e.parameterNames?[...e.parameterNames]:void 0;return{type:"eventHandler",event:n,commands:i,...o&&o.length>1?{events:o}:{},...m?{selector:m}:{},...l?{target:l}:{},...p?{condition:p}:{},...h?{watchTarget:h}:{},...f&&f.length>0?{args:f,params:f}:{}}}buildConditional(e){let t=e.roles.get("condition");if(!t)throw new Error("Conditional node missing condition");let n=L(t),o=e.thenBranch.map(a=>this.build(a)),i=e.elseBranch?.map(a=>this.build(a)),s=[n,{type:"block",commands:o}];return i&&i.length>0&&s.push({type:"block",commands:i}),{type:"command",name:"if",args:s}}buildCompound(e){let t=e.statements.map(o=>this.build(o));return t.length===1?t[0]:t.length===0?{type:"block",commands:[]}:{type:"CommandSequence",commands:t}}buildLoop(e){let t=e.body.map(o=>this.build(o)),n=[{type:"identifier",name:e.loopVariant}];switch(e.loopVariant){case"times":{let o=e.roles.get("quantity");o&&n.push(L(o));break}case"for":{e.loopVariable&&n.push({type:"string",value:e.loopVariable});let o=e.roles.get("source");o&&n.push(L(o));break}case"while":case"until":{let o=e.roles.get("condition");o&&n.push(L(o));break}case"forever":break}return n.push({type:"block",commands:t}),{type:"command",name:"repeat",args:n}}buildBlock(e){return{type:"block",commands:e.map(n=>this.build(n))}}};function kt(r){let e=new oe;return{ast:e.build(r),warnings:e.warnings}}var K=class{constructor(e={}){this.cache=new Map,this.config={maxSize:e.maxSize??1e3,ttlMs:e.ttlMs??0,enabled:e.enabled??!0},this.stats={hits:0,misses:0,evictions:0,expirations:0}}makeKey(e,t){return`${t}:${e}`}isExpired(e){return this.config.ttlMs===0?!1:Date.now()-e.createdAt>this.config.ttlMs}evictLRU(){let e=this.cache.keys().next().value;e!==void 0&&(this.cache.delete(e),this.stats.evictions++)}get(e,t){if(!this.config.enabled){this.stats.misses++;return}let n=this.makeKey(e,t),o=this.cache.get(n);if(!o){this.stats.misses++;return}if(this.isExpired(o)){this.cache.delete(n),this.stats.expirations++,this.stats.misses++;return}return this.cache.delete(n),o.lastAccessed=Date.now(),this.cache.set(n,o),this.stats.hits++,o.result}set(e,t,n){if(!this.config.enabled||n.confidence===0)return;let o=this.makeKey(e,t),i=Date.now();for(;this.cache.size>=this.config.maxSize;)this.evictLRU();this.cache.set(o,{result:n,createdAt:i,lastAccessed:i})}has(e,t){if(!this.config.enabled)return!1;let n=this.makeKey(e,t),o=this.cache.get(n);return o?this.isExpired(o)?(this.cache.delete(n),this.stats.expirations++,!1):!0:!1}delete(e,t){let n=this.makeKey(e,t);return this.cache.delete(n)}clear(){this.cache.clear()}resetStats(){this.stats={hits:0,misses:0,evictions:0,expirations:0}}getStats(){let e=this.stats.hits+this.stats.misses;return{hits:this.stats.hits,misses:this.stats.misses,size:this.cache.size,maxSize:this.config.maxSize,hitRate:e>0?this.stats.hits/e:0,evictions:this.stats.evictions,expirations:this.stats.expirations,enabled:this.config.enabled}}configure(e){if(e.maxSize!==void 0)for(this.config.maxSize=e.maxSize;this.cache.size>this.config.maxSize;)this.evictLRU();e.ttlMs!==void 0&&(this.config.ttlMs=e.ttlMs),e.enabled!==void 0&&(this.config.enabled=e.enabled)}enable(){this.config.enabled=!0}disable(){this.config.enabled=!1}getConfig(){return{...this.config}}},$e=new K;var ie=class{constructor(e={}){this.patternMatcher=new ee,this.languages=new Set(le()),e.cache===!1?this.cache=new K({enabled:!1}):this.cache=e.cache?new K(e.cache):$e}analyze(e,t){if(!this.supportsLanguage(t))return{confidence:0,errors:[`Language '${t}' is not supported for semantic parsing`]};let n=this.cache.get(e,t);if(n)return n;let o=this.analyzeUncached(e,t);return this.cache.set(e,t,o),o}analyzeUncached(e,t){try{let n=yt(t);if(!n)return{confidence:0,errors:[`No tokenizer available for language '${t}'`]};let o=n.tokenize(e),i=E(t);if(i.length===0)return{confidence:0,errors:[`No patterns available for language '${t}'`]};let s=this.patternMatcher.matchBest(o,i);if(!s)return{confidence:0,errors:["No pattern matched the input"]};let a=this.buildSemanticNode(s);return{confidence:s.confidence,command:{name:s.pattern.command,roles:s.captured},node:a,tokensConsumed:s.consumedTokens}}catch(n){return{confidence:0,errors:[n instanceof Error?n.message:String(n)]}}}supportsLanguage(e){return this.languages.has(e)}supportedLanguages(){return Array.from(this.languages)}getCacheStats(){return this.cache.getStats()}clearCache(){this.cache.clear()}configureCache(e){this.cache.configure(e)}buildSemanticNode(e){return{kind:"command",action:e.pattern.command,roles:e.captured,metadata:{patternId:e.pattern.id}}}};function Pt(r){return new ie(r)}var Be=.5,bt=.8;function Lt(r,e=Be){return r.confidence>=e&&r.command!==void 0}var yo="1.0.0-en-tr",Et=["en","tr"];function ho(){return[...Et]}function Rt(r){if(!Et.includes(r))throw new Error(`Language not supported in this bundle: ${r}. Supported: en, tr`)}function vo(r,e){return Rt(e),[...de(r,e).tokens]}function Ct(r){return Rt(r),E(r)}function So(r,e){return Ct(r).filter(t=>t.command===e).sort((t,n)=>n.priority-t.priority)}return jt(To);})();
|
|
1
|
+
"use strict";var LokaScriptSemanticEnTr=(()=>{var _e=Object.defineProperty;var on=Object.getOwnPropertyDescriptor;var an=Object.getOwnPropertyNames;var sn=Object.prototype.hasOwnProperty;var ln=(o,e)=>{for(var t in e)_e(o,t,{get:e[t],enumerable:!0})},cn=(o,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of an(e))!sn.call(o,r)&&r!==t&&_e(o,r,{get:()=>e[r],enumerable:!(n=on(e,r))||n.enumerable});return o};var pn=o=>cn(_e({},"__esModule",{value:!0}),o);var Zo={};ln(Zo,{ASTBuilder:()=>ge,DEFAULT_CONFIDENCE_THRESHOLD:()=>lt,HIGH_CONFIDENCE_THRESHOLD:()=>Yt,SemanticAnalyzerImpl:()=>ye,VERSION:()=>Do,buildAST:()=>Qt,canParse:()=>tt,createCommandNode:()=>_,createEventHandler:()=>Z,createLiteral:()=>x,createPropertyPath:()=>ie,createReference:()=>N,createSelector:()=>A,createSemanticAnalyzer:()=>Zt,englishProfile:()=>I,englishTokenizer:()=>Ce,fromExplicit:()=>rt,getCommandMapper:()=>fe,getPatternsForLanguage:()=>nn,getPatternsForLanguageAndCommand:()=>Qo,getProfile:()=>Be,getSupportedLanguages:()=>Fo,getTokenizer:()=>We,isExplicitSyntax:()=>ae,isLanguageSupported:()=>gt,parse:()=>U,parseAny:()=>ot,parseExplicit:()=>J,registerCommandMapper:()=>at,render:()=>de,renderExplicit:()=>me,shouldUseSemanticResult:()=>Jt,toExplicit:()=>nt,tokenize:()=>Xo,tryGetProfile:()=>V,turkishProfile:()=>Q,turkishTokenizer:()=>Ne});var j=new Map,H=new Map,re=new Map;var ut=null;function dt(o,e){let t={...o};for(let n of Object.keys(e)){let r=e[n],i=o[n];r!==void 0&&(typeof r=="object"&&r!==null&&!Array.isArray(r)&&typeof i=="object"&&i!==null&&!Array.isArray(i)?t[n]=dt(i,r):t[n]=r)}return t}function un(o,e){return dt(o,e)}function $e(o){if(!o.extends)return o;let e=H.get(o.extends);if(!e)return console.warn(`[Registry] Profile '${o.code}' extends '${o.extends}' but base is not registered. Make sure to import the base language before the variant.`),o;let t=$e(e);return un(t,o)}function Se(o,e,t){j.set(o,e),H.set(o,t),re.delete(o)}var qe=new Map;function mt(o,e){qe.set(o,e),re.delete(o)}function D(o){return o.split("-")[0]}function F(o){return o.includes("-")}function We(o){let e=j.get(o);if(!e&&F(o)){let t=D(o);e=j.get(t)}if(!e){let t=Array.from(j.keys()).join(", ");throw new Error(`Language '${o}' is not registered. Registered languages: ${t||"none"}. Import the language module first: import '@lokascript/semantic/languages/${o}';`)}return e}function Be(o){let e=H.get(o);if(!e&&F(o)){let t=D(o);e=H.get(t)}if(!e){let t=Array.from(H.keys()).join(", ");throw new Error(`Language profile '${o}' is not registered. Registered languages: ${t||"none"}. Import the language module first: import '@lokascript/semantic/languages/${o}';`)}return $e(e)}function ft(o){let e=j.get(o);return!e&&F(o)&&(e=j.get(D(o))),e}function V(o){let e=H.get(o);return!e&&F(o)&&(e=H.get(D(o))),e?$e(e):void 0}function Te(){return Array.from(j.keys())}function gt(o){return j.has(o)?!0:F(o)?j.has(D(o)):!1}function yt(o,e){return We(e).tokenize(o)}function O(o){let e=re.get(o);if(!e&&F(o)&&(e=re.get(D(o))),e)return e;let t=qe.get(o);if(!t&&F(o)&&(t=qe.get(D(o))),t)return re.set(o,t),t;if(!ut)throw new Error(`No patterns registered for language '${o}'. Either import the language module or set a pattern generator.`);let n=Be(o),r=ut(n);return re.set(o,r),r}function ht(o,e){return O(o).filter(t=>t.command===e).sort((t,n)=>n.priority-t.priority)}var M=class{constructor(e,t){this.pos=0;this.tokens=e,this.language=t}peek(e=0){let t=this.pos+e;return t<0||t>=this.tokens.length?null:this.tokens[t]}advance(){if(this.isAtEnd())throw new Error("Unexpected end of token stream");return this.tokens[this.pos++]}isAtEnd(){return this.pos>=this.tokens.length}mark(){return{position:this.pos}}reset(e){this.pos=e.position}position(){return this.pos}remaining(){return this.tokens.slice(this.pos)}takeWhile(e){let t=[];for(;!this.isAtEnd()&&e(this.peek());)t.push(this.advance());return t}skipWhile(e){for(;!this.isAtEnd()&&e(this.peek());)this.advance()}};function T(o,e){return{start:o,end:e}}function k(o,e,t,n){if(typeof n=="string")return{value:o,kind:e,position:t,normalized:n};if(n){let{normalized:r,stem:i,stemConfidence:s}=n;return{value:o,kind:e,position:t,...r!==void 0&&{normalized:r},...i!==void 0&&{stem:i},...s!==void 0&&{stemConfidence:s}}}return{value:o,kind:e,position:t}}function C(o){return/\s/.test(o)}function B(o){return o==="#"||o==="."||o==="["||o==="@"||o==="*"||o==="<"}function K(o){return o==='"'||o==="'"||o==="`"||o==="\u300C"||o==="\u300D"}function E(o){return/\d/.test(o)}function ke(o){return/[a-zA-Z]/.test(o)}function b(o){return/[a-zA-Z0-9_-]/.test(o)}function xe(o){let e=n=>o.test(n);return{isLetter:e,isIdentifierChar:n=>e(n)||/[0-9_-]/.test(n)}}function be(o,e){if(e>=o.length)return null;let t=o[e];if(!B(t))return null;let n=e,r="";if(t==="#"||t==="."){for(r+=o[n++];n<o.length&&b(o[n]);)r+=o[n++];if(r.length<=1)return null;if(n<o.length&&o[n]==="."&&t==="#"){let s=n+1;for(;s<o.length&&b(o[s]);)s++;if(s<o.length&&o[s]==="(")return r}}else if(t==="["){let i=1,s=!1,a=null,l=!1;for(r+=o[n++];n<o.length&&i>0;){let c=o[n];r+=c,l?l=!1:c==="\\"?l=!0:s?c===a&&(s=!1,a=null):c==='"'||c==="'"||c==="`"?(s=!0,a=c):c==="["?i++:c==="]"&&i--,n++}if(i!==0)return null}else if(t==="@"){for(r+=o[n++];n<o.length&&b(o[n]);)r+=o[n++];if(r.length<=1)return null}else if(t==="*"){for(r+=o[n++];n<o.length&&b(o[n]);)r+=o[n++];if(r.length<=1)return null}else if(t==="<"){if(r+=o[n++],n>=o.length||!ke(o[n]))return null;for(;n<o.length&&b(o[n]);)r+=o[n++];for(;n<o.length;){let i=o[n];if(i==="."){if(r+=o[n++],n>=o.length||!b(o[n]))return null;for(;n<o.length&&b(o[n]);)r+=o[n++]}else if(i==="#"){if(r+=o[n++],n>=o.length||!b(o[n]))return null;for(;n<o.length&&b(o[n]);)r+=o[n++]}else if(i==="["){let s=1,a=!1,l=null,c=!1;for(r+=o[n++];n<o.length&&s>0;){let p=o[n];r+=p,c?c=!1:p==="\\"?c=!0:a?p===l&&(a=!1,l=null):p==='"'||p==="'"||p==="`"?(a=!0,l=p):p==="["?s++:p==="]"&&s--,n++}if(s!==0)return null}else break}for(;n<o.length&&C(o[n]);)r+=o[n++];if(n<o.length&&o[n]==="/")for(r+=o[n++];n<o.length&&C(o[n]);)r+=o[n++];if(n>=o.length||o[n]!==">")return null;r+=o[n++]}return r||null}function Pe(o,e){if(e>=o.length||o[e]!=="'"||e+1>=o.length||o[e+1].toLowerCase()!=="s")return!1;if(e+2>=o.length)return!0;let n=o[e+2];return C(n)||n==="*"||!b(n)}function Ee(o,e){if(e>=o.length)return null;let t=o[e];if(!K(t)||t==="'"&&Pe(o,e))return null;let r={'"':'"',"'":"'","`":"`","\u300C":"\u300D"}[t];if(!r)return null;let i=e+1,s=t,a=!1;for(;i<o.length;){let l=o[i];if(s+=l,a)a=!1;else if(l==="\\")a=!0;else if(l===r)return s;i++}return s}function X(o,e){if(e>=o.length)return!1;let t=o[e],n=o[e+1]||"",r=o[e+2]||"";if(t==="/"&&n!=="/"&&/[a-zA-Z0-9._-]/.test(n)||t==="/"&&n==="/"&&/[a-zA-Z]/.test(r)||t==="."&&(n==="/"||n==="."&&r==="/"))return!0;let i=o.slice(e,e+8).toLowerCase();return!!(i.startsWith("http://")||i.startsWith("https://"))}function Le(o,e){if(!X(o,e))return null;let t=e,n="",r=/[a-zA-Z0-9/:._\-?&=%@+~!$'()*,;[\]]/;for(;t<o.length;){let i=o[t];if(i==="#"){if(n.length>0&&/[a-zA-Z0-9/.]$/.test(n))for(n+=i,t++;t<o.length&&/[a-zA-Z0-9_-]/.test(o[t]);)n+=o[t++];break}if(r.test(i))n+=i,t++;else break}return n.length<2?null:n}function Re(o,e){if(e>=o.length)return null;let t=o[e];if(!E(t)&&t!=="-"&&t!=="+")return null;let n=e,r="";if((o[n]==="-"||o[n]==="+")&&(r+=o[n++]),n>=o.length||!E(o[n]))return null;for(;n<o.length&&E(o[n]);)r+=o[n++];if(n<o.length&&o[n]===".")for(r+=o[n++];n<o.length&&E(o[n]);)r+=o[n++];return n<o.length&&(o.slice(n,n+2)==="ms"?r+="ms":(o[n]==="s"||o[n]==="m"||o[n]==="h")&&(r+=o[n])),r}var we=class we{constructor(){this.profileKeywords=[];this.profileKeywordMap=new Map}tryPropertyAccess(e,t,n){if(e[t]!==".")return!1;let r=n[n.length-1],i=r&&r.position.end<t;if(r&&!i&&(r.kind==="identifier"||r.kind==="keyword"||r.kind==="selector"))return n.push(k(".","operator",T(t,t+1))),!0;let l=t+1;for(;l<e.length&&b(e[l]);)l++;return l<e.length&&e[l]==="("?(n.push(k(".","operator",T(t,t+1))),!0):!1}initializeKeywordsFromProfile(e,t=[]){let n=new Map;if(e.keywords){for(let[r,i]of Object.entries(e.keywords))if(n.set(i.primary,{native:i.primary,normalized:i.normalized||r}),i.alternatives)for(let s of i.alternatives)n.set(s,{native:s,normalized:i.normalized||r})}if(e.references){for(let[r,i]of Object.entries(e.references))n.set(i,{native:i,normalized:r});for(let r of Object.keys(e.references))n.has(r)||n.set(r,{native:r,normalized:r})}if(e.roleMarkers){for(let[r,i]of Object.entries(e.roleMarkers))if(i.primary&&n.set(i.primary,{native:i.primary,normalized:r}),i.alternatives)for(let s of i.alternatives)n.set(s,{native:s,normalized:r})}for(let r of t)n.set(r.native,r);this.profileKeywords=Array.from(n.values()).sort((r,i)=>i.native.length-r.native.length),this.profileKeywordMap=new Map;for(let r of this.profileKeywords){this.profileKeywordMap.set(r.native.toLowerCase(),r);let i=this.removeDiacritics(r.native);i!==r.native&&!this.profileKeywordMap.has(i.toLowerCase())&&this.profileKeywordMap.set(i.toLowerCase(),r)}}removeDiacritics(e){return e.replace(/[\u064B-\u0652\u0670]/g,"")}tryProfileKeyword(e,t){for(let n of this.profileKeywords)if(e.slice(t).startsWith(n.native))return k(n.native,"keyword",T(t,t+n.native.length),n.normalized);return null}isKeywordStart(e,t){let n=e.slice(t);return this.profileKeywords.some(r=>n.startsWith(r.native))}lookupKeyword(e){return this.profileKeywordMap.get(e.toLowerCase())}isKeyword(e){return this.profileKeywordMap.has(e.toLowerCase())}setNormalizer(e){this.normalizer=e}tryNormalize(e){if(!this.normalizer)return null;let t=this.normalizer.normalize(e);return t.stem!==e&&t.confidence>=.7?t:null}tryMorphKeywordMatch(e,t,n){let r=this.tryNormalize(e);if(!r)return null;let i=this.lookupKeyword(r.stem);if(!i)return null;let s={normalized:i.normalized,stem:r.stem,stemConfidence:r.confidence};return k(e,"keyword",T(t,n),s)}trySelector(e,t){let n=be(e,t);return n?k(n,"selector",T(t,t+n.length)):null}tryEventModifier(e,t){if(e[t]!==".")return null;let n=e.slice(t).match(/^\.(?:once|debounce|throttle|queue)(?:\(([^)]+)\))?(?:\s|$|\.)/);if(!n)return null;let r=n[0].replace(/(\s|\.)$/,""),i=r.slice(1).split("(")[0],s=n[1];return{...k(r,"event-modifier",T(t,t+r.length)),metadata:{modifierName:i,value:s?i==="queue"?s:parseInt(s,10):void 0}}}tryString(e,t){let n=Ee(e,t);return n?k(n,"literal",T(t,t+n.length)):null}tryNumber(e,t){let n=Re(e,t);return n?k(n,"literal",T(t,t+n.length)):null}tryMatchTimeUnit(e,t,n,r=!1){let i=t;if(r)for(;i<e.length&&C(e[i]);)i++;let s=e.slice(i);for(let a of n){let l=s.slice(0,a.length);if(a.caseInsensitive?l.toLowerCase()===a.pattern.toLowerCase():l===a.pattern){if(a.notFollowedBy&&(s[a.length]||"")===a.notFollowedBy)continue;if(a.checkBoundary){let p=s[a.length]||"";if(b(p))continue}return{suffix:a.suffix,endPos:i+a.length}}}return null}parseBaseNumber(e,t,n=!0){let r=t,i="";if(n&&(e[r]==="-"||e[r]==="+")&&(i+=e[r++]),r>=e.length||!E(e[r]))return null;for(;r<e.length&&E(e[r]);)i+=e[r++];if(r<e.length&&e[r]===".")for(i+=e[r++];r<e.length&&E(e[r]);)i+=e[r++];return!i||i==="-"||i==="+"?null:{number:i,endPos:r}}tryNumberWithTimeUnits(e,t,n,r={}){let{allowSign:i=!0,skipWhitespace:s=!1}=r,a=this.parseBaseNumber(e,t,i);if(!a)return null;let{number:l,endPos:c}=a,p=[...n,...we.STANDARD_TIME_UNITS],f=this.tryMatchTimeUnit(e,c,p,s);return f&&(l+=f.suffix,c=f.endPos),k(l,"literal",T(t,c))}tryUrl(e,t){let n=Le(e,t);return n?k(n,"url",T(t,t+n.length)):null}tryVariableRef(e,t){if(e[t]!==":"||t+1>=e.length||!b(e[t+1]))return null;let n=t+1;for(;n<e.length&&b(e[n]);)n++;let r=e.slice(t,n);return k(r,"identifier",T(t,n))}tryOperator(e,t){let n=e.slice(t,t+2);if(["==","!=","<=",">=","&&","||","->"].includes(n))return k(n,"operator",T(t,t+2));let r=e[t];return["<",">","!","+","-","*","/","="].includes(r)?k(r,"operator",T(t,t+1)):["(",")","{","}",",",";",":"].includes(r)?k(r,"punctuation",T(t,t+1)):null}tryMultiCharParticle(e,t,n){for(let r of n)if(e.slice(t,t+r.length)===r)return k(r,"particle",T(t,t+r.length));return null}};we.STANDARD_TIME_UNITS=[{pattern:"ms",suffix:"ms",length:2},{pattern:"s",suffix:"s",length:1,checkBoundary:!0},{pattern:"m",suffix:"m",length:1,checkBoundary:!0,notFollowedBy:"s"},{pattern:"h",suffix:"h",length:1,checkBoundary:!0}];var G=we;var I={code:"en",name:"English",nativeName:"English",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!0,defaultVerbForm:"base",verb:{position:"start",subjectDrop:!1},references:{me:"me",it:"it",you:"you",result:"result",event:"event",target:"target",body:"body"},possessive:{marker:"'s",markerPosition:"after-object",specialForms:{me:"my",it:"its",you:"your"},keywords:{my:"me",your:"you",its:"it"}},roleMarkers:{destination:{primary:"on",alternatives:["to","from"],position:"before"},source:{primary:"from",position:"before"},patient:{primary:"",position:"before"},style:{primary:"with",alternatives:["by","using"],position:"before"},responseType:{primary:"as",position:"before"},method:{primary:"via",alternatives:["using"],position:"before"}},keywords:{toggle:{primary:"toggle"},add:{primary:"add"},remove:{primary:"remove"},put:{primary:"put"},append:{primary:"append"},prepend:{primary:"prepend"},take:{primary:"take"},make:{primary:"make"},clone:{primary:"clone"},swap:{primary:"swap"},morph:{primary:"morph"},set:{primary:"set"},get:{primary:"get"},increment:{primary:"increment"},decrement:{primary:"decrement"},log:{primary:"log"},show:{primary:"show"},hide:{primary:"hide"},transition:{primary:"transition"},on:{primary:"on"},trigger:{primary:"trigger"},send:{primary:"send"},focus:{primary:"focus"},blur:{primary:"blur"},go:{primary:"go"},wait:{primary:"wait"},fetch:{primary:"fetch"},settle:{primary:"settle"},if:{primary:"if"},when:{primary:"when",normalized:"when"},where:{primary:"where",normalized:"where"},else:{primary:"else"},repeat:{primary:"repeat"},for:{primary:"for"},while:{primary:"while"},continue:{primary:"continue"},halt:{primary:"halt"},throw:{primary:"throw"},call:{primary:"call"},return:{primary:"return"},then:{primary:"then"},and:{primary:"and"},end:{primary:"end"},js:{primary:"js"},async:{primary:"async"},tell:{primary:"tell"},default:{primary:"default"},init:{primary:"init"},behavior:{primary:"behavior"},install:{primary:"install"},measure:{primary:"measure"},beep:{primary:"beep"},break:{primary:"break"},copy:{primary:"copy"},exit:{primary:"exit"},pick:{primary:"pick"},render:{primary:"render"},into:{primary:"into"},before:{primary:"before"},after:{primary:"after"},until:{primary:"until"},event:{primary:"event"},from:{primary:"from"}}};var fn=[{native:"true",normalized:"true"},{native:"false",normalized:"false"},{native:"null",normalized:"null"},{native:"undefined",normalized:"undefined"},{native:"first",normalized:"first"},{native:"last",normalized:"last"},{native:"next",normalized:"next"},{native:"previous",normalized:"previous"},{native:"closest",normalized:"closest"},{native:"click",normalized:"click"},{native:"dblclick",normalized:"dblclick"},{native:"mousedown",normalized:"mousedown"},{native:"mouseup",normalized:"mouseup"},{native:"mouseover",normalized:"mouseover"},{native:"mouseout",normalized:"mouseout"},{native:"mouseenter",normalized:"mouseenter"},{native:"mouseleave",normalized:"mouseleave"},{native:"mousemove",normalized:"mousemove"},{native:"keydown",normalized:"keydown"},{native:"keyup",normalized:"keyup"},{native:"keypress",normalized:"keypress"},{native:"input",normalized:"input"},{native:"change",normalized:"change"},{native:"submit",normalized:"submit"},{native:"reset",normalized:"reset"},{native:"load",normalized:"load"},{native:"unload",normalized:"unload"},{native:"scroll",normalized:"scroll"},{native:"resize",normalized:"resize"},{native:"dragstart",normalized:"dragstart"},{native:"drag",normalized:"drag"},{native:"dragend",normalized:"dragend"},{native:"dragenter",normalized:"dragenter"},{native:"dragleave",normalized:"dragleave"},{native:"dragover",normalized:"dragover"},{native:"drop",normalized:"drop"},{native:"touchstart",normalized:"touchstart"},{native:"touchmove",normalized:"touchmove"},{native:"touchend",normalized:"touchend"},{native:"touchcancel",normalized:"touchcancel"},{native:"in",normalized:"in"},{native:"to",normalized:"to"},{native:"at",normalized:"at"},{native:"by",normalized:"by"},{native:"with",normalized:"with"},{native:"without",normalized:"without"},{native:"of",normalized:"of"},{native:"as",normalized:"as"},{native:"every",normalized:"every"},{native:"upon",normalized:"upon"},{native:"unless",normalized:"unless"},{native:"forever",normalized:"forever"},{native:"times",normalized:"times"},{native:"and",normalized:"and"},{native:"or",normalized:"or"},{native:"not",normalized:"not"},{native:"is",normalized:"is"},{native:"exists",normalized:"exists"},{native:"empty",normalized:"empty"},{native:"my",normalized:"my"},{native:"your",normalized:"your"},{native:"its",normalized:"its"},{native:"the",normalized:"the"},{native:"a",normalized:"a"},{native:"an",normalized:"an"},{native:"delete",normalized:"delete"},{native:"innerHTML",normalized:"innerHTML"},{native:"outerHTML",normalized:"outerHTML"},{native:"beforebegin",normalized:"beforebegin"},{native:"afterend",normalized:"afterend"},{native:"beforeend",normalized:"beforeend"},{native:"afterbegin",normalized:"afterbegin"},{native:"flip",normalized:"toggle"},{native:"switch",normalized:"toggle"},{native:"increase",normalized:"increment"},{native:"decrease",normalized:"decrement"},{native:"display",normalized:"show"},{native:"reveal",normalized:"show"},{native:"conceal",normalized:"hide"},{native:"colour",normalized:"color"},{native:"grey",normalized:"gray"},{native:"centre",normalized:"center"},{native:"behaviour",normalized:"behavior"},{native:"initialise",normalized:"initialize"},{native:"favourite",normalized:"favorite"}],Ke=class extends G{constructor(){super();this.language="en";this.direction="ltr";this.initializeKeywordsFromProfile(I,fn)}tokenize(t){let n=[],r=0;for(;r<t.length;){if(C(t[r])){r++;continue}if(B(t[r])){let a=this.tryEventModifier(t,r);if(a){n.push(a),r=a.position.end;continue}if(t[r]==="."){let c=n[n.length-1],p=c&&c.position.end<r;if(c&&!p&&(c.kind==="identifier"||c.kind==="keyword"||c.kind==="selector")){n.push(k(".","operator",T(r,r+1))),r++;continue}let d=r+1;for(;d<t.length&&b(t[d]);)d++;if(d<t.length&&t[d]==="("){n.push(k(".","operator",T(r,r+1))),r++;continue}}let l=this.trySelector(t,r);if(l){n.push(l),r=l.position.end;continue}}if(K(t[r])){if(t[r]==="'"&&Pe(t,r)){n.push(k("'s","punctuation",T(r,r+2))),r+=2;continue}let a=this.tryString(t,r);if(a){n.push(a),r=a.position.end;continue}}if(X(t,r)){let a=this.tryUrl(t,r);if(a){n.push(a),r=a.position.end;continue}}if(E(t[r])||t[r]==="-"&&r+1<t.length&&E(t[r+1])){let a=this.tryNumber(t,r);if(a){n.push(a),r=a.position.end;continue}}let i=this.tryVariableRef(t,r);if(i){n.push(i),r=i.position.end;continue}if(b(t[r])){let a=this.extractWord(t,r);if(a){n.push(a),r=a.position.end;continue}}let s=this.tryOperator(t,r);if(s){n.push(s),r=s.position.end;continue}r++}return new M(n,"en")}classifyToken(t){return this.isKeyword(t)?"keyword":t.startsWith("#")||t.startsWith(".")||t.startsWith("[")||t.startsWith("*")||t.startsWith("<")?"selector":t.startsWith('"')||t.startsWith("'")||/^\d/.test(t)?"literal":["==","!=","<=",">=","<",">","&&","||","!"].includes(t)?"operator":t.startsWith("/")||t.startsWith("./")||t.startsWith("http")?"url":"identifier"}extractWord(t,n){let r=n,i="";for(;r<t.length&&b(t[r]);)i+=t[r++];if(!i)return null;if(r<t.length&&t[r]===":"){let c=r;r++;let p="";for(;r<t.length&&b(t[r]);)p+=t[r++];p?i=i+":"+p:r=c}let s=this.classifyToken(i),a=this.lookupKeyword(i),l=a&&a.normalized!==a.native?a.normalized:void 0;if(s==="identifier"){let c=this.tryConvertToClassSelector(t,r,i);if(c)return c.token}return k(i,s,T(n,r),l)}tryConvertToClassSelector(t,n,r){let i=n;for(;i<t.length&&/\s/.test(t[i]);)i++;if(t.slice(i,i+5).toLowerCase()==="class"){let s=i+5;if(s>=t.length||!b(t[s])){let a="."+r;return{token:k(a,"selector",T(n-r.length,n)),endPos:n}}}return null}},Ce=new Ke;var gn={action:"toggle",description:"Toggle a class or attribute on/off",category:"dom-class",primaryRole:"patient",roles:[{role:"patient",description:"The class or attribute to toggle",required:!0,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES","INVALID_CSS_PROPERTY"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"toggle command requires an argument"},{condition:"Class names are valid CSS identifiers",errorCode:"NO_VALID_CLASS_NAMES",message:"toggle command: no valid class names found"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to toggle",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers",INVALID_CSS_PROPERTY:"Check CSS property name syntax (use kebab-case)"}},yn={action:"add",description:"Add a class or attribute to an element",category:"dom-class",primaryRole:"patient",roles:[{role:"patient",description:"The class or attribute to add",required:!0,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1,markerOverride:{en:"to"}}],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES","PROPERTY_REQUIRES_VALUE"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"add command requires an argument"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to add",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers",PROPERTY_REQUIRES_VALUE:"When adding a property (*prop), provide a value argument"}},hn={action:"remove",description:"Remove a class or attribute from an element",category:"dom-class",primaryRole:"patient",roles:[{role:"patient",description:"The class or attribute to remove",required:!0,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"source",description:"The element to remove from (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"remove command requires an argument"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to remove",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers"}},vn={action:"put",description:"Put content into a target element or variable",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The content to put",required:!0,expectedTypes:["literal","selector","reference","expression"],svoPosition:1,sovPosition:1},{role:"destination",description:"Where to put the content",required:!0,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:2,markerOverride:{en:"into"}}],errorCodes:["MISSING_ARGUMENTS","MISSING_CONTENT","MISSING_POSITION","INVALID_POSITION","NO_TARGET","NO_ELEMENTS"],preconditions:[{condition:"Command has content and position arguments",errorCode:"MISSING_ARGUMENTS",message:"put requires arguments"},{condition:"Content to put is specified",errorCode:"MISSING_CONTENT",message:"put requires content"},{condition:"Position keyword is specified (into, before, after, etc.)",errorCode:"MISSING_POSITION",message:"put requires position keyword"}],recoveryHints:{MISSING_ARGUMENTS:"Use syntax: put <content> into/before/after <target>",MISSING_CONTENT:"Add content to put (string, element, or expression)",MISSING_POSITION:"Add position keyword: into, before, after, at start of, at end of",INVALID_POSITION:"Valid positions: into, before, after, at start of, at end of",NO_TARGET:'Ensure target element exists or use "me" reference',NO_ELEMENTS:"Check that the selector matches existing elements"}},Sn={action:"set",description:"Set a property or variable to a value",category:"variable",primaryRole:"destination",roles:[{role:"destination",description:"The property or variable to set",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:1,markerOverride:{en:"",ja:"\u3092",ko:"\uB97C",tr:"i",ar:"",sw:"",tl:"",bn:"\u0995\u09C7",qu:"ta"}},{role:"patient",description:"The value to set",required:!0,expectedTypes:["literal","expression","reference"],svoPosition:2,sovPosition:2,markerOverride:{en:"to",es:"a",pt:"para",fr:"\xE0",de:"auf",id:"ke",ja:"\u306B",ko:"\uC73C\uB85C",tr:"e",ar:"\u0625\u0644\u0649",sw:"kwenye",tl:"sa",bn:"\u09A4\u09C7",qu:"man"}}],errorCodes:["MISSING_TARGET","INVALID_TARGET","MISSING_VALUE","INVALID_SYNTAX"],preconditions:[{condition:"Command has a target variable or property",errorCode:"MISSING_TARGET",message:"set command requires a target"},{condition:"Target is a valid variable or property reference",errorCode:"INVALID_TARGET",message:"set command target must be a string or object literal"},{condition:'Value is specified with "to" keyword',errorCode:"MISSING_VALUE",message:'set command requires a value (use "to" keyword)'}],recoveryHints:{MISSING_TARGET:"Add a target: set :variable to value OR set element.property to value",INVALID_TARGET:'Use local variable (:name), element property (el.prop), or "the X of Y" syntax',MISSING_VALUE:'Add "to <value>" to specify what to set',INVALID_SYNTAX:"Use syntax: set <target> to <value>"}},Tn={action:"show",description:"Make an element visible",category:"dom-visibility",primaryRole:"patient",roles:[{role:"patient",description:"The element to show",required:!0,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1},{role:"style",description:"Animation style (fade, slide, etc.)",required:!1,expectedTypes:["literal"],svoPosition:2,sovPosition:2}]},kn={action:"hide",description:"Make an element invisible",category:"dom-visibility",primaryRole:"patient",roles:[{role:"patient",description:"The element to hide",required:!0,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1},{role:"style",description:"Animation style (fade, slide, etc.)",required:!1,expectedTypes:["literal"],svoPosition:2,sovPosition:2}]},xn={action:"on",description:"Handle an event",category:"event",primaryRole:"event",hasBody:!0,roles:[{role:"event",description:"The event to handle",required:!0,expectedTypes:["literal"],svoPosition:1,sovPosition:2},{role:"source",description:"The element to listen on (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},bn={action:"trigger",description:"Trigger/dispatch an event",category:"event",primaryRole:"event",roles:[{role:"event",description:"The event to trigger (supports namespaced events like draggable:start)",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},Pn={action:"wait",description:"Wait for a duration or event",category:"async",primaryRole:"patient",roles:[{role:"patient",description:"Duration or event to wait for",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1}]},En={action:"fetch",description:"Fetch data from a URL",category:"async",primaryRole:"source",roles:[{role:"source",description:"The URL to fetch from",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1,renderOverride:{en:""}},{role:"responseType",description:"Response format (json, text, html, blob, etc.)",required:!1,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:2},{role:"method",description:"HTTP method (GET, POST, etc.)",required:!1,expectedTypes:["literal"],svoPosition:3,sovPosition:3},{role:"destination",description:"Where to store the result",required:!1,expectedTypes:["selector","reference"],svoPosition:4,sovPosition:4}]},Ln={action:"increment",description:"Increment a numeric value",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The value to increment",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:1},{role:"quantity",description:"Amount to increment by (defaults to 1)",required:!1,expectedTypes:["literal"],default:{type:"literal",value:1,dataType:"number"},svoPosition:2,sovPosition:2,markerOverride:{en:"by"}}]},Rn={action:"decrement",description:"Decrement a numeric value",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The value to decrement",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:1},{role:"quantity",description:"Amount to decrement by (defaults to 1)",required:!1,expectedTypes:["literal"],default:{type:"literal",value:1,dataType:"number"},svoPosition:2,sovPosition:2,markerOverride:{en:"by"}}]},wn={action:"append",description:"Append content to an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The content to append",required:!0,expectedTypes:["literal","selector","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"The element to append to",required:!0,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1,markerOverride:{en:"to"}}]},Cn={action:"prepend",description:"Prepend content to an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The content to prepend",required:!0,expectedTypes:["literal","selector","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"The element to prepend to",required:!0,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1,markerOverride:{en:"to"}}]},Nn={action:"log",description:"Log a value to the console",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The value to log",required:!0,expectedTypes:["literal","selector","reference","expression"],svoPosition:1,sovPosition:1}]},zn={action:"get",description:"Get a value from a source",category:"variable",primaryRole:"source",roles:[{role:"source",description:"The source to get from",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:2,markerOverride:{en:"",es:"",pt:"",fr:"",de:"",ja:"\u3092",zh:"",ko:"\uB97C",ar:"\u0639\u0644\u0649",tr:"i",id:"",sw:"",tl:"",bn:"\u0995\u09C7",qu:"ta"}},{role:"destination",description:"Where to store the result (optional)",required:!1,expectedTypes:["reference"],svoPosition:2,sovPosition:1}]},Mn={action:"take",description:"Take content from a source element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The class or element to take",required:!0,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"source",description:"The element to take from (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},An={action:"make",description:"Create a new element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element type or selector to create",required:!0,expectedTypes:["literal","selector"],svoPosition:1,sovPosition:1}]},Vn={action:"halt",description:"Halt/stop execution or event propagation",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"What to halt (event, default, bubbling, etc.)",required:!1,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:1}]},On={action:"settle",description:"Wait for animations/transitions to settle",category:"async",primaryRole:"patient",roles:[{role:"patient",description:"The element to settle (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},jn={action:"throw",description:"Throw an error",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"The error message or object to throw",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1}]},In={action:"send",description:"Send an event to an element",category:"event",primaryRole:"event",roles:[{role:"event",description:"The event to send",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1,markerOverride:{en:"to",ja:"\u306B",ar:"\u0625\u0644\u0649",es:"a",ko:"\uC5D0\uAC8C",zh:"\u5230",tr:"-e",pt:"para",fr:"\xE0",de:"an",id:"ke",qu:"-man",sw:"kwa"}}]},_n={action:"if",description:"Conditional execution",category:"control-flow",primaryRole:"condition",hasBody:!0,roles:[{role:"condition",description:"The condition to evaluate",required:!0,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},qn={action:"unless",description:"Negated conditional execution (executes when condition is false)",category:"control-flow",primaryRole:"condition",hasBody:!0,roles:[{role:"condition",description:"The condition to evaluate (body executes when false)",required:!0,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},$n={action:"else",description:"Else branch of conditional",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[]},Wn={action:"repeat",description:"Repeat a block of commands",category:"control-flow",primaryRole:"loopType",hasBody:!0,roles:[{role:"loopType",description:"Loop variant: forever, times, for, while, until, until-event",required:!0,expectedTypes:["literal"],svoPosition:0,sovPosition:0},{role:"quantity",description:"Number of times to repeat",required:!1,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1},{role:"event",description:"Event to wait for (terminates loop)",required:!1,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:2},{role:"source",description:"Element to listen for event on",required:!1,expectedTypes:["selector","reference"],svoPosition:3,sovPosition:3}],notes:'Can also use "repeat forever", "repeat until condition", or "repeat until event X from Y"'},Bn={action:"for",description:"Iterate over a collection",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[{role:"patient",description:"The iteration variable",required:!0,expectedTypes:["reference"],svoPosition:1,sovPosition:2},{role:"source",description:"The collection to iterate over",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:2,sovPosition:1,markerOverride:{en:"in"}}]},Kn={action:"while",description:"Loop while condition is true",category:"control-flow",primaryRole:"condition",hasBody:!0,roles:[{role:"condition",description:"The condition to check",required:!0,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},Gn={action:"continue",description:"Continue to next loop iteration",category:"control-flow",primaryRole:"patient",roles:[]},Un={action:"go",description:"Navigate to a URL",category:"navigation",primaryRole:"destination",roles:[{role:"destination",description:"The URL to navigate to",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1,markerOverride:{en:"to"},renderOverride:{en:""}}]},Hn={action:"transition",description:"Transition an element with animation",category:"dom-visibility",primaryRole:"patient",roles:[{role:"patient",description:"The property to transition (opacity, *background-color, etc.)",required:!0,expectedTypes:["literal"],svoPosition:1,sovPosition:2,markerOverride:{en:"",ar:"",tl:"",sw:""}},{role:"goal",description:"The target value to transition to",required:!0,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:3,markerOverride:{en:"to",ar:"\u0625\u0644\u0649",tl:"sa",sw:"kwenye",bn:"\u09A4\u09C7",qu:"man",es:"a",pt:"para",fr:"\xE0",de:"auf",ja:"\u306B",ko:"\uC73C\uB85C",tr:"e",id:"ke"}},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:3,sovPosition:1},{role:"duration",description:"Transition duration (over 500ms, for 2 seconds)",required:!1,expectedTypes:["literal"],svoPosition:4,sovPosition:4,markerOverride:{en:"over"}},{role:"style",description:"Easing function (ease-in, linear, etc.)",required:!1,expectedTypes:["literal"],svoPosition:5,sovPosition:5}]},Dn={action:"clone",description:"Clone an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element to clone",required:!0,expectedTypes:["selector","reference"],svoPosition:1,sovPosition:2},{role:"destination",description:"Where to put the clone",required:!1,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1,markerOverride:{en:"into"}}]},Fn={action:"focus",description:"Focus an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element to focus (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},Xn={action:"blur",description:"Remove focus from an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element to blur (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},Qn={action:"call",description:"Call a function",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"The function to call",required:!0,expectedTypes:["expression","reference"],svoPosition:1,sovPosition:1}]},Zn={action:"return",description:"Return a value from a function",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"The value to return",required:!1,expectedTypes:["literal","expression","reference"],svoPosition:1,sovPosition:1}]},Yn={action:"js",description:"Execute raw JavaScript code",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[{role:"patient",description:"The JavaScript code to execute",required:!1,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},Jn={action:"async",description:"Execute commands asynchronously",category:"async",primaryRole:"patient",hasBody:!0,roles:[]},er={action:"tell",description:"Execute commands in context of another element",category:"control-flow",primaryRole:"destination",hasBody:!0,roles:[{role:"destination",description:"The element to tell",required:!0,expectedTypes:["selector","reference"],svoPosition:1,sovPosition:1,markerOverride:{en:""}}]},tr={action:"default",description:"Set a default value for a variable",category:"variable",primaryRole:"destination",roles:[{role:"destination",description:"The variable to set default for",required:!0,expectedTypes:["reference"],svoPosition:1,sovPosition:1,markerOverride:{en:"",ar:"",tl:"",sw:"",bn:"\u0995\u09C7",qu:"ta"}},{role:"patient",description:"The default value",required:!0,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:2,markerOverride:{en:"to",ar:"\u0625\u0644\u0649",tl:"sa",sw:"kwenye",bn:"\u09A4\u09C7",qu:"man"}}]},nr={action:"init",description:"Initialization block that runs once",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[]},rr={action:"behavior",description:"Define a reusable behavior",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[{role:"patient",description:"The behavior name (PascalCase identifier)",required:!0,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:1}]},or={action:"install",description:"Install a behavior on an element",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"The behavior name to install",required:!0,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"Element to install on (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},ir={action:"measure",description:"Measure element dimensions (x, y, width, height, etc.)",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"Property to measure (x, y, width, height, top, left, etc.)",required:!1,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1},{role:"source",description:"Element to measure (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:2,markerOverride:{en:"of"}}]},ar={action:"swap",description:"Swap DOM content using various strategies (innerHTML, outerHTML, delete, etc.)",category:"dom-content",primaryRole:"destination",roles:[{role:"method",description:"The swap strategy (innerHTML, outerHTML, beforebegin, afterend, delete)",required:!1,expectedTypes:["literal"],svoPosition:1,sovPosition:3,markerOverride:{en:""}},{role:"destination",description:"The element to swap content in/for",required:!0,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1,markerOverride:{en:"of"}},{role:"patient",description:"The content to swap in (optional for delete)",required:!1,expectedTypes:["literal","expression","selector"],svoPosition:3,sovPosition:2,markerOverride:{en:"with"}}]},sr={action:"morph",description:"Morph an element into another using DOM diffing",category:"dom-content",primaryRole:"destination",roles:[{role:"destination",description:"The element to morph",required:!0,expectedTypes:["selector","reference"],svoPosition:1,sovPosition:1,markerOverride:{en:""}},{role:"patient",description:"The target content/element to morph into",required:!0,expectedTypes:["literal","expression","selector"],svoPosition:2,sovPosition:2,markerOverride:{en:"to"}}]},lr={action:"beep",description:"Debug output for expressions with type information",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The expression(s) to debug",required:!1,expectedTypes:["literal","selector","reference","expression"],svoPosition:1,sovPosition:1}]},cr={action:"break",description:"Exit from the current loop",category:"control-flow",primaryRole:"patient",roles:[]},pr={action:"copy",description:"Copy text or element content to the clipboard",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The text or element to copy",required:!0,expectedTypes:["literal","selector","reference","expression"],svoPosition:1,sovPosition:1}]},ur={action:"exit",description:"Exit from the current event handler",category:"control-flow",primaryRole:"patient",roles:[]},dr={action:"pick",description:"Select a random element from a collection",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The items to pick from",required:!0,expectedTypes:["literal","expression","reference"],svoPosition:1,sovPosition:1},{role:"source",description:'The array to pick from (with "from" keyword)',required:!1,expectedTypes:["reference","expression"],svoPosition:2,sovPosition:2}]},mr={action:"render",description:"Render a template with optional variables",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The template to render",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:2},{role:"style",description:"Variables to pass to the template (with keyword)",required:!1,expectedTypes:["expression","reference"],svoPosition:2,sovPosition:1}]},fr={toggle:gn,add:yn,remove:hn,put:vn,set:Sn,show:Tn,hide:kn,on:xn,trigger:bn,wait:Pn,fetch:En,increment:Ln,decrement:Rn,append:wn,prepend:Cn,log:Nn,get:zn,take:Mn,make:An,halt:Vn,settle:On,throw:jn,send:In,if:_n,unless:qn,else:$n,repeat:Wn,for:Bn,while:Kn,continue:Gn,go:Un,transition:Hn,clone:Dn,focus:Fn,blur:Xn,call:Qn,return:Zn,js:Yn,async:Jn,tell:er,default:tr,init:nr,behavior:rr,install:or,measure:ir,swap:ar,morph:sr,beep:lr,break:cr,copy:pr,exit:ur,pick:dr,render:mr,compound:{action:"compound",description:"A compound node representing chained statements",primaryRole:"patient",category:"control-flow",hasBody:!0,roles:[]}};function vt(){return Object.values(fr).filter(o=>o.roles.length>0)}function Ge(o,e){let t=e==="SOV"?"sovPosition":"svoPosition";return[...o].sort((n,r)=>{let i=n[t]??99,s=r[t]??99;return i-s})}function St(o,e){let t=o.markerOverride?.[e.code],n=e.roleMarkers[o.role];if(t!==void 0)return{primary:t,position:n?.position??"before",isOverride:!0};if(n&&n.primary){let r={primary:n.primary,position:n.position,isOverride:!1};return n.alternatives&&(r.alternatives=n.alternatives),r}return null}function Tt(o,e,t,n,r){let i=[];if(i.push({type:"role",role:"event",optional:!1}),n.position==="after"){let c=n.primary.split(/\s+/);if(c.length>1)for(let p of c)i.push({type:"literal",value:p});else{let p=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(p)}}let s=e.roleMarkers.destination;s&&i.push({type:"group",optional:!0,tokens:[{type:"role",role:"destination",optional:!0},s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary}]}),i.push({type:"role",role:"patient",optional:!1});let a=e.roleMarkers.patient;if(a){let c=a.alternatives?{type:"literal",value:a.primary,alternatives:a.alternatives}:{type:"literal",value:a.primary};i.push(c)}let l=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};return i.push(l),{id:`${o.action}-event-${e.code}-sov`,language:e.code,command:"on",priority:(r.basePriority??100)+50,template:{format:`{event} ${n.primary} {destination?} {patient} ${a?.primary||""} ${t.primary}`,tokens:i},extraction:{action:{value:o.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function kt(o,e,t,n,r){let i=[];i.push({type:"role",role:"patient",optional:!1});let s=e.roleMarkers.patient;if(s){let l=s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary};i.push(l)}if(i.push({type:"role",role:"event",optional:!1}),n.position==="after"){let l=n.primary.split(/\s+/);if(l.length>1)for(let c of l)i.push({type:"literal",value:c});else{let c=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(c)}}let a=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};return i.push(a),{id:`${o.action}-event-${e.code}-sov-patient-first`,language:e.code,command:"on",priority:(r.basePriority??100)+45,template:{format:`{patient} ${s?.primary||""} {event} ${n.primary} ${t.primary}`,tokens:i},extraction:{action:{value:o.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function xt(o,e,t,n,r){let i=[];i.push({type:"role",role:"patient",optional:!1});let s=e.roleMarkers.patient;if(s){let c=s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary};i.push(c)}let a=e.roleMarkers.destination;if(a&&(i.push({type:"role",role:"destination",optional:!1}),i.push(a.alternatives?{type:"literal",value:a.primary,alternatives:a.alternatives}:{type:"literal",value:a.primary})),i.push({type:"role",role:"event",optional:!1}),n.position==="after"){let c=n.primary.split(/\s+/);if(c.length>1)for(let p of c)i.push({type:"literal",value:p});else{let p=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(p)}}let l=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};return i.push(l),{id:`${o.action}-event-${e.code}-sov-patient-first-dest`,language:e.code,command:"on",priority:(r.basePriority??100)+40,template:{format:`{patient} ${s?.primary||""} {destination} ${a?.primary||""} {event} ${n.primary} ${t.primary}`,tokens:i},extraction:{action:{value:o.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination"}}}}function bt(o,e,t,n,r){let i=[];i.push({type:"role",role:"event",optional:!1});let s=n.alternatives?.filter(p=>!p.includes(" ")&&p.length>1)||[];s.length>0&&i.push({type:"literal",value:s[0],alternatives:s.slice(1)});let a=e.roleMarkers.destination;a&&i.push({type:"group",optional:!0,tokens:[{type:"role",role:"destination",optional:!0},a.alternatives?{type:"literal",value:a.primary,alternatives:a.alternatives}:{type:"literal",value:a.primary}]}),i.push({type:"role",role:"patient",optional:!1});let l=e.roleMarkers.patient;if(l){let p=l.alternatives?{type:"literal",value:l.primary,alternatives:l.alternatives}:{type:"literal",value:l.primary};i.push(p)}let c=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};return i.push(c),{id:`${o.action}-event-${e.code}-sov-compact`,language:e.code,command:"on",priority:(r.basePriority??100)+52,template:{format:`{event}${s[0]||""} {patient} ${t.primary}`,tokens:i},extraction:{action:{value:o.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function Pt(o,e,t,n,r){let i=[];if(i.push({type:"role",role:"event",optional:!1}),n.position==="after"){let a=n.primary.split(/\s+/);if(a.length>1)for(let l of a)i.push({type:"literal",value:l});else{let l=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(l)}}let s=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};return i.push(s),{id:`${o.action}-event-${e.code}-sov-simple`,language:e.code,command:"on",priority:(r.basePriority??100)+48,template:{format:`{event} ${n.primary} ${t.primary}`,tokens:i},extraction:{action:{value:o.action},event:{fromRole:"event"},patient:{default:{type:"reference",value:"me"}}}}}function Et(o,e,t,n){let r=e.eventHandler?.temporalMarkers;if(!r||r.length===0)return null;let i=[];i.push({type:"role",role:"event",optional:!1}),e.possessive?.marker&&i.push({type:"group",optional:!0,tokens:[{type:"literal",value:e.possessive.marker}]}),i.push({type:"literal",value:r[0],alternatives:r.slice(1)}),i.push({type:"role",role:"patient",optional:!1});let s=e.roleMarkers.patient;if(s?.primary){let l=s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary};i.push(l)}let a=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};return i.push(a),{id:`${o.action}-event-${e.code}-sov-temporal`,language:e.code,command:"on",priority:(n.basePriority??100)+49,template:{format:`{event} ${r[0]} {patient} ${t.primary}`,tokens:i},extraction:{action:{value:o.action},event:{fromRole:"event"},patient:{fromRole:"patient"}}}}function Lt(o,e,t,n,r){let i=[];if(i.push({type:"role",role:"event",optional:!1}),n.position==="after"){let p=n.primary.split(/\s+/);if(p.length>1)for(let f of p)i.push({type:"literal",value:f});else{let f=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(f)}}let a=[...o.roles.filter(p=>p.required)].sort((p,f)=>{let y=p.sovPosition??999,d=f.sovPosition??999;return y-d});for(let p of a){i.push({type:"role",role:p.role,optional:!1});let f,y;if(p.markerOverride&&p.markerOverride[e.code]!==void 0)f=p.markerOverride[e.code];else{let d=e.roleMarkers[p.role];d&&(f=d.primary,y=d.alternatives)}if(f){let d=y?{type:"literal",value:f,alternatives:y}:{type:"literal",value:f};i.push(d)}}let l=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};i.push(l);let c=a.map(p=>`{${p.role}}`).join(" ");return{id:`${o.action}-event-${e.code}-sov-2role`,language:e.code,command:"on",priority:(r.basePriority??100)+55,template:{format:`{event} ${n.primary} ${c} ${t.primary}`,tokens:i},extraction:{action:{value:o.action},event:{fromRole:"event"},...Object.fromEntries(a.map(p=>[p.role,{fromRole:p.role}]))}}}function Rt(o,e,t,n,r){let i=[],a=[...o.roles.filter(u=>u.required)].sort((u,g)=>{let h=u.sovPosition??999,S=g.sovPosition??999;return h-S}),l=a[0];i.push({type:"role",role:l.role,optional:!1});let c;if(l.markerOverride&&l.markerOverride[e.code]!==void 0)c=l.markerOverride[e.code];else{let u=e.roleMarkers[l.role];u&&(c=u.primary)}if(c&&i.push({type:"literal",value:c}),i.push({type:"role",role:"event",optional:!1}),n.position==="after"){let u=n.primary.split(/\s+/);if(u.length>1)for(let g of u)i.push({type:"literal",value:g});else{let g=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(g)}}let p=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};i.push(p);let f=a[1];i.push({type:"role",role:f.role,optional:!1});let y,d;if(f.markerOverride&&f.markerOverride[e.code]!==void 0)y=f.markerOverride[e.code];else{let u=e.roleMarkers[f.role];u&&(y=u.primary,d=u.alternatives)}if(y){let u=d?{type:"literal",value:y,alternatives:d}:{type:"literal",value:y};i.push(u)}return{id:`${o.action}-event-${e.code}-sov-2role-dest-first`,language:e.code,command:"on",priority:(r.basePriority??100)+48,template:{format:`{${l.role}} {event} ${n.primary} ${t.primary} {${f.role}}`,tokens:i},extraction:{action:{value:o.action},event:{fromRole:"event"},[l.role]:{fromRole:l.role},[f.role]:{fromRole:f.role}}}}function Ue(o,e,t,n,r){let i=[];if(n.position==="before"){let l=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(l)}i.push({type:"role",role:"event",optional:!1});let s=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};i.push(s),i.push({type:"role",role:"patient",optional:!1});let a=e.roleMarkers.destination;return a&&i.push({type:"group",optional:!0,tokens:[a.alternatives?{type:"literal",value:a.primary,alternatives:a.alternatives}:{type:"literal",value:a.primary},{type:"role",role:"destination",optional:!0}]}),{id:`${o.action}-event-${e.code}-vso`,language:e.code,command:"on",priority:(r.basePriority??100)+50,template:{format:`${n.primary} {event} ${t.primary} {patient} ${a?.primary||""} {destination?}`,tokens:i},extraction:{action:{value:o.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function wt(o,e,t,n,r){let i=[],s=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};i.push(s),i.push({type:"role",role:"patient",optional:!1});let a=e.roleMarkers.destination;if(a&&i.push({type:"group",optional:!0,tokens:[a.alternatives?{type:"literal",value:a.primary,alternatives:a.alternatives}:{type:"literal",value:a.primary},{type:"role",role:"destination",optional:!0}]}),n.position==="before"){let l=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(l)}return i.push({type:"role",role:"event",optional:!1}),{id:`${o.action}-event-${e.code}-vso-verb-first`,language:e.code,command:"on",priority:(r.basePriority??100)+45,template:{format:`${t.primary} {patient} ${a?.primary||""} {destination?} ${n.primary} {event}`,tokens:i},extraction:{action:{value:o.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function Ct(o,e,t,n,r){let i=[],s=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};i.push(s);let l=[...o.roles.filter(p=>p.required)].sort((p,f)=>{let y=p.svoPosition??999,d=f.svoPosition??999;return y-d});for(let p of l){let f,y;if(p.markerOverride&&p.markerOverride[e.code]!==void 0)f=p.markerOverride[e.code];else{let d=e.roleMarkers[p.role];d&&(f=d.primary,y=d.alternatives)}if(f){let d=y?{type:"literal",value:f,alternatives:y}:{type:"literal",value:f};i.push(d)}i.push({type:"role",role:p.role,optional:!1})}if(n.position==="before"){let p=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(p)}i.push({type:"role",role:"event",optional:!1});let c=l.map(p=>`{${p.role}}`).join(" ");return{id:`${o.action}-event-${e.code}-vso-verb-first-2role`,language:e.code,command:"on",priority:(r.basePriority??100)+48,template:{format:`${t.primary} ${c} ${n.primary} {event}`,tokens:i},extraction:{action:{value:o.action},event:{fromRole:"event"},...Object.fromEntries(l.map(p=>[p.role,{fromRole:p.role}]))}}}function He(o,e,t,n,r){let i=[];if(n.position==="before"){let p=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(p)}i.push({type:"role",role:"event",optional:!1});let s=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};i.push(s);let l=[...o.roles.filter(p=>p.required)].sort((p,f)=>{let y=p.svoPosition??999,d=f.svoPosition??999;return y-d});for(let p of l){let f,y;if(p.markerOverride&&p.markerOverride[e.code]!==void 0)f=p.markerOverride[e.code];else{let d=e.roleMarkers[p.role];d&&(f=d.primary,y=d.alternatives)}if(f){let d=y?{type:"literal",value:f,alternatives:y}:{type:"literal",value:f};i.push(d)}i.push({type:"role",role:p.role,optional:!1})}let c=l.map(p=>`{${p.role}}`).join(" ");return{id:`${o.action}-event-${e.code}-vso-2role`,language:e.code,command:"on",priority:(r.basePriority??100)+55,template:{format:`${n.primary} {event} ${t.primary} ${c}`,tokens:i},extraction:{action:{value:o.action},event:{fromRole:"event"},...Object.fromEntries(l.map(p=>[p.role,{fromRole:p.role}]))}}}function Nt(o,e,t,n,r){let i=[],s=e.eventHandler?.negationMarker;if(n.position==="before"){let c=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};i.push(c)}if(s){let c=s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary};i.push(c)}i.push({type:"role",role:"event",optional:!1});let a=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};i.push(a),i.push({type:"role",role:"patient",optional:!1});let l=e.roleMarkers.destination;return l&&i.push({type:"group",optional:!0,tokens:[l.alternatives?{type:"literal",value:l.primary,alternatives:l.alternatives}:{type:"literal",value:l.primary},{type:"role",role:"destination",optional:!0}]}),{id:`${o.action}-event-${e.code}-vso-negated`,language:e.code,command:"on",priority:(r.basePriority??100)+48,template:{format:`${n.primary} ${s?.primary||""} {event} ${t.primary} {patient} ${l?.primary||""} {destination?}`,tokens:i},extraction:{action:{value:o.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function zt(o,e,t,n){let r=[];r.push({type:"literal",value:"and",alternatives:["then"]}),r.push({type:"role",role:"event",optional:!1});let i=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary};r.push(i),r.push({type:"role",role:"patient",optional:!1});let s=e.roleMarkers.destination;return s&&r.push({type:"group",optional:!0,tokens:[s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary},{type:"role",role:"destination",optional:!0}]}),{id:`${o.action}-event-${e.code}-vso-proclitic`,language:e.code,command:"on",priority:(n.basePriority??100)+45,template:{format:`[proclitic?] {event} ${t.primary} {patient} ${s?.primary||""} {destination?}`,tokens:r},extraction:{action:{value:o.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}var le={basePriority:100,generateSimpleVariants:!0,generateAlternatives:!0};function Mt(o,e,t=le){let n=`${o.action}-${e.code}-generated`,r=t.basePriority??100,i=e.keywords[o.action];if(!i)throw new Error(`No keyword translation for '${o.action}' in ${e.code}`);let s=vr(o,e,i),a=Vt(o,e),l=xr(o,e,i);return{id:n,language:e.code,command:o.action,priority:r,template:{format:l,tokens:s},extraction:a}}function gr(o,e,t=le){if(o.roles.filter(a=>!a.required).length===0)return null;let r=o.roles.filter(a=>a.required),i={...o,roles:r};return{...Mt(i,e,t),id:`${o.action}-${e.code}-simple`,priority:(t.basePriority??100)-5,extraction:Vt(o,e)}}function yr(o,e,t=le){let n=[];if(n.push(Mt(o,e,t)),t.generateSimpleVariants){let r=gr(o,e,t);r&&n.push(r)}return n}function At(o,e=le){let t=[],n=vt();for(let r of n){if(!o.keywords[r.action])continue;let i=yr(r,o,e);if(t.push(...i),o.eventHandler?.eventMarker){let s=hr(r,o,e);t.push(...s)}}return t}function hr(o,e,t=le){if(!e.eventHandler||!e.eventHandler.eventMarker)return[];let n=[],r=e.eventHandler.eventMarker,i=e.keywords[o.action];if(!i)return[];let a=o.roles.filter(l=>l.required).length===2;if(e.wordOrder==="SOV")if(a)n.push(Lt(o,e,i,r,t)),n.push(Rt(o,e,i,r,t));else{n.push(Tt(o,e,i,r,t)),n.push(kt(o,e,i,r,t));let l=e.roleMarkers.destination;l&&l.primary!==r.primary&&n.push(xt(o,e,i,r,t));let c=r.primary.split(/\s+/),p=r.alternatives?.some(y=>!y.includes(" ")&&y.length>1);c.length>1&&p&&n.push(bt(o,e,i,r,t)),n.push(Pt(o,e,i,r,t));let f=Et(o,e,i,t);f&&n.push(f)}else e.wordOrder==="VSO"?a?(n.push(He(o,e,i,r,t)),n.push(Ct(o,e,i,r,t))):(n.push(Ue(o,e,i,r,t)),n.push(wt(o,e,i,r,t)),e.eventHandler?.negationMarker&&n.push(Nt(o,e,i,r,t)),e.tokenization?.prefixes&&n.push(zt(o,e,i,t))):a?n.push(He(o,e,i,r,t)):n.push(Ue(o,e,i,r,t));return n}function vr(o,e,t){let n=[],r=t.alternatives?{type:"literal",value:t.primary,alternatives:t.alternatives}:{type:"literal",value:t.primary},i=Sr(o,e);switch(e.wordOrder){case"SVO":n.push(r),n.push(...i);break;case"SOV":n.push(...i),n.push(r);break;case"VSO":n.push(r),n.push(...i);break;default:n.push(r),n.push(...i)}return n}function Sr(o,e){let t=[],n=Ge(o.roles,e.wordOrder);for(let r of n){let i=Tr(r,e);r.required?t.push(...i):t.push({type:"group",optional:!0,tokens:i})}return t}function Tr(o,e){let t=[],n=o.markerOverride?.[e.code],r=e.roleMarkers[o.role],i={type:"role",role:o.role,optional:!o.required,expectedTypes:o.expectedTypes};if(n!==void 0)(r?.position??"before")==="before"?(n&&t.push({type:"literal",value:n}),t.push(i)):(t.push(i),n&&t.push({type:"literal",value:n}));else if(r)if(r.position==="before"){if(r.primary){let s=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};t.push(s)}t.push(i)}else{t.push(i);let s=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};t.push(s)}else t.push(i);return t}function kr(o,e){let t={};for(let n of o.roles){let r=n.markerOverride?.[e.code],i=e.roleMarkers[n.role];r!==void 0?t[n.role]=r?{marker:r}:{}:i&&i.primary?t[n.role]=i.alternatives?{marker:i.primary,markerAlternatives:i.alternatives}:{marker:i.primary}:t[n.role]={}}return t}function Vt(o,e){let t=kr(o,e),n={};for(let r of o.roles){let i=t[r.role]||{};!r.required&&r.default?n[r.role]={...i,default:r.default}:n[r.role]=i}return n}function xr(o,e,t){let n=[],i=Ge(o.roles,e.wordOrder).map(s=>{let a=St(s,e),l="";return a&&a.primary?a.position==="before"?l=`${a.primary} {${s.role}}`:l=`{${s.role}} ${a.primary}`:l=`{${s.role}}`,s.required?l:`[${l}]`});switch(e.wordOrder){case"SVO":case"VSO":n.push(t.primary,...i);break;case"SOV":n.push(...i,t.primary);break;default:n.push(t.primary,...i)}return n.join(" ")}function Ot(){return[{id:"toggle-en-full",language:"en",command:"toggle",priority:100,template:{format:"toggle {patient} on {target}",tokens:[{type:"literal",value:"toggle"},{type:"role",role:"patient"},{type:"group",optional:!0,tokens:[{type:"literal",value:"on",alternatives:["from"]},{type:"role",role:"destination"}]}]},extraction:{patient:{position:1},destination:{marker:"on",markerAlternatives:["from"],default:{type:"reference",value:"me"}}}},{id:"toggle-en-simple",language:"en",command:"toggle",priority:90,template:{format:"toggle {patient}",tokens:[{type:"literal",value:"toggle"},{type:"role",role:"patient"}]},extraction:{patient:{position:1},destination:{default:{type:"reference",value:"me"}}}}]}function jt(){return[{id:"put-en-into",language:"en",command:"put",priority:100,template:{format:"put {patient} into {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"into",alternatives:["in","to"]},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"into",markerAlternatives:["in","to"]}}},{id:"put-en-before",language:"en",command:"put",priority:95,template:{format:"put {patient} before {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"before"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"before"},manner:{default:{type:"literal",value:"before"}}}},{id:"put-en-after",language:"en",command:"put",priority:95,template:{format:"put {patient} after {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"after"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"after"},manner:{default:{type:"literal",value:"after"}}}}]}function It(){return[{id:"event-en-when-source",language:"en",command:"on",priority:115,template:{format:"when {event} from {source} {body}",tokens:[{type:"literal",value:"when"},{type:"role",role:"event"},{type:"literal",value:"from"},{type:"role",role:"source"}]},extraction:{event:{position:1},source:{marker:"from"}}},{id:"event-en-when",language:"en",command:"on",priority:105,template:{format:"when {event} {body}",tokens:[{type:"literal",value:"when"},{type:"role",role:"event"}]},extraction:{event:{position:1}}},{id:"event-en-source",language:"en",command:"on",priority:110,template:{format:"on {event} from {source} {body}",tokens:[{type:"literal",value:"on"},{type:"role",role:"event"},{type:"literal",value:"from"},{type:"role",role:"source"}]},extraction:{event:{position:1},source:{marker:"from"}}},{id:"event-en-standard",language:"en",command:"on",priority:100,template:{format:"on {event} {body}",tokens:[{type:"literal",value:"on"},{type:"role",role:"event"}]},extraction:{event:{position:1}}},{id:"event-en-upon",language:"en",command:"on",priority:98,template:{format:"upon {event} {body}",tokens:[{type:"literal",value:"upon"},{type:"role",role:"event"}]},extraction:{event:{position:1}}},{id:"event-en-if",language:"en",command:"on",priority:95,template:{format:"if {event} {body}",tokens:[{type:"literal",value:"if"},{type:"role",role:"event"}]},extraction:{event:{position:1}}}]}var br={id:"fetch-en-with-response-type",language:"en",command:"fetch",priority:90,template:{format:"fetch {source} as {responseType}",tokens:[{type:"literal",value:"fetch"},{type:"role",role:"source",expectedTypes:["literal","expression"]},{type:"literal",value:"as"},{type:"role",role:"responseType",expectedTypes:["literal","expression"]}]},extraction:{source:{position:1},responseType:{marker:"as"}}},Pr={id:"fetch-en-simple",language:"en",command:"fetch",priority:80,template:{format:"fetch {source}",tokens:[{type:"literal",value:"fetch"},{type:"role",role:"source"}]},extraction:{source:{position:1}}},Er={id:"swap-en-handcrafted",language:"en",command:"swap",priority:110,template:{format:"swap {method} {destination}",tokens:[{type:"literal",value:"swap"},{type:"role",role:"method"},{type:"role",role:"destination"}]},extraction:{method:{position:1},destination:{position:2}}},Lr={id:"repeat-en-until-event-from",language:"en",command:"repeat",priority:120,template:{format:"repeat until event {event} from {source}",tokens:[{type:"literal",value:"repeat"},{type:"literal",value:"until"},{type:"literal",value:"event"},{type:"role",role:"event",expectedTypes:["literal","expression"]},{type:"literal",value:"from"},{type:"role",role:"source",expectedTypes:["selector","reference","expression"]}]},extraction:{event:{marker:"event"},source:{marker:"from"},loopType:{default:{type:"literal",value:"until-event"}}}},Rr={id:"repeat-en-until-event",language:"en",command:"repeat",priority:110,template:{format:"repeat until event {event}",tokens:[{type:"literal",value:"repeat"},{type:"literal",value:"until"},{type:"literal",value:"event"},{type:"role",role:"event",expectedTypes:["literal","expression"]}]},extraction:{event:{marker:"event"},loopType:{default:{type:"literal",value:"until-event"}}}},wr={id:"set-en-possessive",language:"en",command:"set",priority:100,template:{format:"set {destination} to {patient}",tokens:[{type:"literal",value:"set"},{type:"role",role:"destination",expectedTypes:["property-path","selector","reference","expression"]},{type:"literal",value:"to"},{type:"role",role:"patient",expectedTypes:["literal","expression","reference"]}]},extraction:{destination:{position:1},patient:{marker:"to"}}},Cr={id:"for-en-basic",language:"en",command:"for",priority:100,template:{format:"for {patient} in {source}",tokens:[{type:"literal",value:"for"},{type:"role",role:"patient",expectedTypes:["expression","reference"]},{type:"literal",value:"in"},{type:"role",role:"source",expectedTypes:["selector","expression","reference"]}]},extraction:{patient:{position:1},source:{marker:"in"},loopType:{default:{type:"literal",value:"for"}}}},Nr={id:"if-en-basic",language:"en",command:"if",priority:100,template:{format:"if {condition}",tokens:[{type:"literal",value:"if"},{type:"role",role:"condition",expectedTypes:["expression","reference","selector"]}]},extraction:{condition:{position:1}}},zr={id:"unless-en-basic",language:"en",command:"unless",priority:100,template:{format:"unless {condition}",tokens:[{type:"literal",value:"unless"},{type:"role",role:"condition",expectedTypes:["expression","reference","selector"]}]},extraction:{condition:{position:1}}},Mr={id:"temporal-en-in",language:"en",command:"wait",priority:95,template:{format:"in {duration}",tokens:[{type:"literal",value:"in"},{type:"role",role:"duration",expectedTypes:["literal","expression"]}]},extraction:{duration:{position:1}}},Ar={id:"temporal-en-after",language:"en",command:"wait",priority:95,template:{format:"after {duration}",tokens:[{type:"literal",value:"after"},{type:"role",role:"duration",expectedTypes:["literal","expression"]}]},extraction:{duration:{position:1}}};function _t(){let o=[];o.push(...Ot()),o.push(...jt()),o.push(...It()),o.push(br,Pr,Er,Lr,Rr,wr,Cr,Nr,zr,Mr,Ar);let e=At(I);return o.push(...e),o}Se("en",Ce,I);mt("en",_t());function qt(o){return{stem:o,confidence:1}}function De(o,e,t){return t?{stem:o,confidence:e,metadata:t}:{stem:o,confidence:e}}function Vr(o){let e=o.charCodeAt(0);return e>=65&&e<=90||e>=97&&e<=122?!0:"\xE7\xC7\u011F\u011E\u0131\u0130\xF6\xD6\u015F\u015E\xFC\xDC".includes(o)}function Or(o){for(let e of o)if(Vr(e))return!0;return!1}function Fe(o){return"a\u0131ouAIOU".includes(o)}function $t(o){return"ei\xF6\xFCE\u0130\xD6\xDC".includes(o)}function Wt(o){return Fe(o)||$t(o)}function jr(o){for(let e=o.length-1;e>=0;e--)if(Wt(o[e]))return o[e];return null}function Ir(o,e){let t=jr(o);if(!t)return!0;let n=e.split("").find(r=>Wt(r));return n?Fe(t)?Fe(n):$t(n):!0}var _r=[{pattern:"iyorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"iyorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"iyoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"iyorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"uyorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"iyorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"eceksiniz",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"acaks\u0131n\u0131z",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"eceksin",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"acaks\u0131n",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"ece\u011Fiz",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"aca\u011F\u0131z",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"ece\u011Fim",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"aca\u011F\u0131m",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"ecekler",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"acaklar",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"mi\u015Fsiniz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015Fs\u0131n\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015Fs\xFCn\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fsunuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fsin",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015Fs\u0131n",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015Fs\xFCn",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fsun",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fiz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015F\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015F\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fim",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015F\u0131m",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015F\xFCm",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fum",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015Flar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015Fler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Flar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"diniz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131n\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCn\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dunuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tiniz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131n\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCn\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tunuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"diler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131lar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dular",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tiler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131lar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tular",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"din",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131n",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCn",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dun",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tin",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131n",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCn",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tun",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dik",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131k",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"duk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tik",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131k",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tuk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dim",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\u0131m",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\xFCm",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"dum",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"tim",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\u0131m",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\xFCm",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"tum",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"iyor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"uyor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"ecek",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"acak",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"mi\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mu\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"di",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\u0131",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\xFC",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"du",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"ti",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\u0131",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\xFC",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"tu",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mek",confidence:.88,conjugationType:"dictionary",minStemLength:2},{pattern:"mak",confidence:.88,conjugationType:"dictionary",minStemLength:2},{pattern:"eyelim",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"ayal\u0131m",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"eyim",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"ay\u0131m",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"elim",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"al\u0131m",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"melisiniz",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131s\u0131n\u0131z",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"melisin",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131s\u0131n",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"meliyiz",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131y\u0131z",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"meliyim",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131y\u0131m",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"meliler",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131lar",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"meli",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"ebiliyor",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"abiliyor",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"ebilir",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"abilir",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"ebildi",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"abildi",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"ebilmek",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"abilmek",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"iniz",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"\u0131n\u0131z",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"\xFCn\xFCz",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"unuz",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"in",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"\u0131n",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"\xFCn",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"un",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"ildi",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\u0131ld\u0131",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\xFCld\xFC",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"uldu",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"ilir",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\u0131l\u0131r",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\xFCl\xFCr",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"ulur",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"tirmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"t\u0131rmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"t\xFCrmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"turmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"dirmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"d\u0131rmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"d\xFCrmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"durmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"miyorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"muyorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"miyorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"muyorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"miyoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"muyoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"miyorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"muyorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"miyor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"muyor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"medi",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"mad\u0131",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"me",confidence:.75,conjugationType:"negative",minStemLength:3},{pattern:"ma",confidence:.75,conjugationType:"negative",minStemLength:3}],ce=class{constructor(){this.language="tr"}isNormalizable(e){return!(!Or(e)||e.length<3)}normalize(e){let t=e.toLowerCase();for(let n of _r)if(t.endsWith(n.pattern)){let r=t.slice(0,-n.pattern.length),i=n.minStemLength??2;if(r.length<i)continue;if(!Ir(r,n.pattern)){let a=n.confidence*.9,l={removedSuffixes:[n.pattern]};return n.conjugationType&&(l.conjugationType=n.conjugationType),De(r,a,l)}let s={removedSuffixes:[n.pattern]};return n.conjugationType&&(s.conjugationType=n.conjugationType),De(r,n.confidence,s)}return qt(e)}},Ki=new ce;var Q={code:"tr",name:"Turkish",nativeName:"T\xFCrk\xE7e",direction:"ltr",wordOrder:"SOV",markingStrategy:"case-suffix",usesSpaces:!0,verb:{position:"end",suffixes:["mek","mak","yor","di","mi\u015F"],subjectDrop:!0},references:{me:"ben",it:"o",you:"sen",result:"sonu\xE7",event:"olay",target:"hedef",body:"g\xF6vde"},possessive:{marker:"",markerPosition:"after-object",usePossessiveAdjectives:!0,specialForms:{me:"benim",it:"onun",you:"senin"},keywords:{benim:"me",senin:"you",onun:"it"}},roleMarkers:{patient:{primary:"i",alternatives:["\u0131","u","\xFC","yi","y\u0131","yu","y\xFC","ni","n\u0131","nu","n\xFC"],position:"after"},destination:{primary:"e",alternatives:["a","ye","ya","ne","na","de","da","te","ta","\u0131n","in","un","\xFCn","n\u0131n","nin","nun","n\xFCn"],position:"after"},source:{primary:"den",alternatives:["dan","ten","tan"],position:"after"},style:{primary:"le",alternatives:["la","yle","yla"],position:"after"},event:{primary:"i",alternatives:["\u0131","u","\xFC"],position:"after"}},keywords:{toggle:{primary:"de\u011Fi\u015Ftir",alternatives:["a\xE7/kapat"],normalized:"toggle"},add:{primary:"ekle",normalized:"add"},remove:{primary:"kald\u0131r",alternatives:["sil"],normalized:"remove"},put:{primary:"koy",normalized:"put"},append:{primary:"ekle",normalized:"append"},take:{primary:"tut",normalized:"take"},make:{primary:"yap",normalized:"make"},clone:{primary:"kopyala",normalized:"clone"},swap:{primary:"takas",normalized:"swap"},morph:{primary:"d\xF6n\xFC\u015Ft\xFCr",alternatives:["\u015Fekil de\u011Fi\u015Ftir"],normalized:"morph"},set:{primary:"ayarla",alternatives:["yap","belirle"],normalized:"set"},get:{primary:"al",normalized:"get"},increment:{primary:"art\u0131r",normalized:"increment"},decrement:{primary:"azalt",normalized:"decrement"},log:{primary:"kaydet",normalized:"log"},show:{primary:"g\xF6ster",normalized:"show"},hide:{primary:"gizle",normalized:"hide"},transition:{primary:"ge\xE7i\u015F",normalized:"transition"},on:{primary:"\xFCzerinde",alternatives:["oldu\u011Funda","zaman"],normalized:"on"},trigger:{primary:"tetikle",normalized:"trigger"},send:{primary:"g\xF6nder",normalized:"send"},focus:{primary:"odak",alternatives:["odaklanma"],normalized:"focus"},blur:{primary:"bulan\u0131k",alternatives:["bulan\u0131kl\u0131k"],normalized:"blur"},click:{primary:"t\u0131klama",alternatives:["t\u0131kla"],normalized:"click"},hover:{primary:"\xFCzerine gelme",alternatives:["\xFCzerinde gezinme"],normalized:"hover"},submit:{primary:"g\xF6nderme",alternatives:["g\xF6nder"],normalized:"submit"},input:{primary:"giri\u015F",alternatives:["girdi"],normalized:"input"},change:{primary:"de\u011Fi\u015Fiklik",alternatives:["de\u011Fi\u015Fim"],normalized:"change"},go:{primary:"git",normalized:"go"},wait:{primary:"bekle",normalized:"wait"},fetch:{primary:"getir",normalized:"fetch"},settle:{primary:"sabitlen",normalized:"settle"},if:{primary:"e\u011Fer",normalized:"if"},when:{primary:"iken",alternatives:["durumunda","oldu\u011Funda"],normalized:"when"},where:{primary:"nerede",normalized:"where"},else:{primary:"yoksa",normalized:"else"},repeat:{primary:"tekrarla",normalized:"repeat"},for:{primary:"i\xE7in",normalized:"for"},while:{primary:"iken",normalized:"while"},continue:{primary:"devam",normalized:"continue"},halt:{primary:"durdur",normalized:"halt"},throw:{primary:"f\u0131rlat",normalized:"throw"},call:{primary:"\xE7a\u011F\u0131r",normalized:"call"},return:{primary:"d\xF6n",normalized:"return"},then:{primary:"sonra",alternatives:["ard\u0131ndan","daha sonra"],normalized:"then"},and:{primary:"ve",alternatives:["ayr\u0131ca","hem de"],normalized:"and"},end:{primary:"son",alternatives:["biti\u015F","bitti"],normalized:"end"},js:{primary:"js",normalized:"js"},async:{primary:"asenkron",normalized:"async"},tell:{primary:"s\xF6yle",normalized:"tell"},default:{primary:"varsay\u0131lan",normalized:"default"},init:{primary:"ba\u015Flat",normalized:"init"},behavior:{primary:"davran\u0131\u015F",normalized:"behavior"},install:{primary:"y\xFCkle",alternatives:["kur","y\xFCklemek"],normalized:"install"},measure:{primary:"\xF6l\xE7",normalized:"measure"},beep:{primary:"bip",normalized:"beep"},break:{primary:"dur",normalized:"break"},copy:{primary:"kopyala",normalized:"copy"},exit:{primary:"\xE7\u0131k",normalized:"exit"},pick:{primary:"se\xE7",normalized:"pick"},render:{primary:"render",normalized:"render"},into:{primary:"i\xE7ine",normalized:"into"},before:{primary:"\xF6nce",normalized:"before"},after:{primary:"sonra",normalized:"after"},until:{primary:"kadar",normalized:"until"},event:{primary:"olay",normalized:"event"},from:{primary:"den",alternatives:["dan"],normalized:"from"}},eventHandler:{eventMarker:{primary:"da",alternatives:["de","ta","te"],position:"after"},temporalMarkers:["d\u0131\u011F\u0131nda","di\u011Finde"]}};var{isLetter:Xe}=xe(/[a-zA-ZçÇğĞıİöÖşŞüÜ]/),Bt=new Set(["ile","i\xE7in","kadar","gibi","\xF6nce","\xFCzerinde","alt\u0131nda","i\xE7inde","d\u0131\u015F\u0131nda","aras\u0131nda","kar\u015F\u0131","g\xF6re","ra\u011Fmen","do\u011Fru","boyunca"]),Kt=new Set(["de","da","te","ta","den","dan","ten","tan","e","a","ye","ya","i","\u0131","u","\xFC","in","\u0131n","un","\xFCn","le","la","yle","yla"]),qr=[{native:"do\u011Fru",normalized:"true"},{native:"dogru",normalized:"true"},{native:"yanl\u0131\u015F",normalized:"false"},{native:"yanlis",normalized:"false"},{native:"null",normalized:"null"},{native:"bo\u015F",normalized:"null"},{native:"bos",normalized:"null"},{native:"tan\u0131ms\u0131z",normalized:"undefined"},{native:"tanimsiz",normalized:"undefined"},{native:"ilk",normalized:"first"},{native:"son",normalized:"last"},{native:"sonraki",normalized:"next"},{native:"\xF6nceki",normalized:"previous"},{native:"onceki",normalized:"previous"},{native:"en_yak\u0131n",normalized:"closest"},{native:"en_yakin",normalized:"closest"},{native:"ebeveyn",normalized:"parent"},{native:"t\u0131klama",normalized:"click"},{native:"tiklama",normalized:"click"},{native:"t\u0131k",normalized:"click"},{native:"tik",normalized:"click"},{native:"giri\u015F",normalized:"input"},{native:"giris",normalized:"input"},{native:"de\u011Fi\u015Fim",normalized:"change"},{native:"degisim",normalized:"change"},{native:"odak",normalized:"focus"},{native:"bulan\u0131k",normalized:"blur"},{native:"bulanik",normalized:"blur"},{native:"fare \xFCzerinde",normalized:"mouseover"},{native:"fare uzerinde",normalized:"mouseover"},{native:"fare d\u0131\u015F\u0131nda",normalized:"mouseout"},{native:"fare disinda",normalized:"mouseout"},{native:"kayd\u0131r",normalized:"scroll"},{native:"kaydir",normalized:"scroll"},{native:"tu\u015F_bas",normalized:"keydown"},{native:"tus_bas",normalized:"keydown"},{native:"tu\u015F_b\u0131rak",normalized:"keyup"},{native:"tus_birak",normalized:"keyup"},{native:"benim",normalized:"my"},{native:"onun",normalized:"its"},{native:"saniye",normalized:"s"},{native:"milisaniye",normalized:"ms"},{native:"dakika",normalized:"m"},{native:"saat",normalized:"h"},{native:"sonra",normalized:"then"},{native:"ard\u0131ndan",normalized:"then"},{native:"ardindan",normalized:"then"},{native:"daha sonra",normalized:"then"},{native:"ve",normalized:"and"},{native:"veya",normalized:"or"},{native:"de\u011Fil",normalized:"not"},{native:"degil",normalized:"not"}],$r=[{pattern:"milisaniye",suffix:"ms",length:10,caseInsensitive:!0},{pattern:"dakika",suffix:"m",length:6,caseInsensitive:!0},{pattern:"saniye",suffix:"s",length:6,caseInsensitive:!0},{pattern:"saat",suffix:"h",length:4,caseInsensitive:!0},{pattern:"dk",suffix:"m",length:2,checkBoundary:!0},{pattern:"sa",suffix:"h",length:2,checkBoundary:!0}],Qe=class extends G{constructor(){super();this.language="tr";this.direction="ltr";this.initializeKeywordsFromProfile(Q,qr),this.normalizer=new ce}tokenize(t){let n=[],r=0;for(;r<t.length;){if(C(t[r])){r++;continue}if(B(t[r])){let a=this.tryEventModifier(t,r);if(a){n.push(a),r=a.position.end;continue}if(this.tryPropertyAccess(t,r,n)){r++;continue}let l=this.trySelector(t,r);if(l){n.push(l),r=l.position.end;continue}}if(K(t[r])){let a=this.tryString(t,r);if(a){n.push(a),r=a.position.end;continue}}if(X(t,r)){let a=this.tryUrl(t,r);if(a){n.push(a),r=a.position.end;continue}}if(E(t[r])){let a=this.extractTurkishNumber(t,r);if(a){n.push(a),r=a.position.end;continue}}let i=this.tryVariableRef(t,r);if(i){n.push(i),r=i.position.end;continue}let s=this.tryMultiWordPhrase(t,r);if(s){n.push(s),r=s.position.end;continue}if(Xe(t[r])){let a=this.extractTurkishWord(t,r);if(a){n.push(a),r=a.position.end;continue}}r++}return new M(n,"tr")}classifyToken(t){let n=t.toLowerCase();return Bt.has(n)||Kt.has(n)?"particle":this.isKeyword(n)?"keyword":t.startsWith("#")||t.startsWith(".")||t.startsWith("[")||t.startsWith("*")||t.startsWith("<")?"selector":t.startsWith('"')||t.startsWith("'")||/^\d/.test(t)?"literal":"identifier"}tryMultiWordPhrase(t,n){for(let r of this.profileKeywords){if(!r.native.includes(" "))continue;let i=r.native;if(t.slice(n,n+i.length).toLowerCase()===i.toLowerCase()){let a=n+i.length;if(a>=t.length||C(t[a])||!Xe(t[a]))return k(t.slice(n,n+i.length),"keyword",T(n,a),r.normalized)}}return null}extractTurkishWord(t,n){let r=n,i="";for(;r<t.length&&(Xe(t[r])||t[r]==="_");)i+=t[r++];if(!i)return null;let s=i.toLowerCase();if(Kt.has(s))return k(i,"particle",T(n,r));if(Bt.has(s))return k(i,"particle",T(n,r));let a=this.lookupKeyword(s);if(a)return k(i,"keyword",T(n,r),a.normalized);let l=this.tryMorphKeywordMatch(s,n,r);return l||k(i,"identifier",T(n,r))}extractTurkishNumber(t,n){return this.tryNumberWithTimeUnits(t,n,$r,{allowSign:!1,skipWhitespace:!0})}},Ne=new Qe;Se("tr",Ne,Q);function Gt(o){return ft(o)}function oe(o,e){return yt(o,e)}function ze(){return Te()}function A(o){let e="complex";return o.startsWith("#")&&!o.includes(" ")?e="id":o.startsWith(".")&&!o.includes(" ")?e="class":o.startsWith("[")&&o.endsWith("]")?e="attribute":/^[a-z][a-z0-9]*$/i.test(o)&&(e="element"),{type:"selector",value:o,selectorKind:e}}function x(o,e){let t={type:"literal",value:o};return e!==void 0?{type:"literal",value:o,dataType:e}:t}var Wr=new Set(["me","you","it","result","event","target","body"]);function pe(o){return Wr.has(o)}function N(o){return{type:"reference",value:o}}function ie(o,e){return{type:"property-path",object:o,property:e}}function _(o,e,t){let n={kind:"command",action:o,roles:new Map(Object.entries(e))};return t!==void 0?{...n,metadata:t}:n}function Z(o,e,t,n,r,i){let s=new Map;s.set("event",o);let a={kind:"event-handler",action:"on",roles:s,body:e};return t!==void 0&&(a.eventModifiers=t),n!==void 0&&(a.metadata=n),r!==void 0&&r.length>0&&(a.parameterNames=r),i!==void 0&&i.length>0&&(a.additionalEvents=i),a}function Ze(o,e="then",t){let n={kind:"compound",action:"compound",roles:new Map,statements:o,chainType:e};return t!==void 0&&(n.metadata=t),n}function Ye(o,e){return!e||e.length===0||e.includes(o)||e.includes("expression")?!0:o==="property-path"?e.some(t=>["selector","reference","expression"].includes(t)):!1}function Ut(o,e){return o.possessive?.keywords?.[e]}var q=class q{constructor(){this.stemMatchCount=0;this.totalKeywordMatches=0}matchPattern(e,t){let n=e.mark(),r=new Map;if(this.currentProfile=V(t.language),this.stemMatchCount=0,this.totalKeywordMatches=0,!this.matchTokenSequence(e,t.template.tokens,r))return e.reset(n),null;let s=this.calculateConfidence(t,r);return this.applyExtractionRules(t,r),{pattern:t,captured:r,consumedTokens:e.position()-n.position,confidence:s}}matchBest(e,t){let n=[];for(let i of t){let s=e.mark(),a=this.matchPattern(e,i);a&&n.push(a),e.reset(s)}if(n.length===0)return null;n.sort((i,s)=>{let a=s.pattern.priority-i.pattern.priority;return a!==0?a:s.confidence-i.confidence});let r=n[0];return this.matchPattern(e,r.pattern),r}matchTokenSequence(e,t,n){let r=t[0],i=r?.type==="literal"&&(r.value==="and"||r.value==="then"||r.alternatives?.includes("and")||r.alternatives?.includes("then"));if(this.currentProfile?.code==="ar"&&!i)for(;e.peek()?.kind==="conjunction";)e.advance();for(let s of t)if(!this.matchPatternToken(e,s,n)){if(this.isOptional(s))continue;return!1}return!0}matchPatternToken(e,t,n){switch(t.type){case"literal":return this.matchLiteralToken(e,t);case"role":return this.matchRoleToken(e,t,n);case"group":return this.matchGroupToken(e,t,n);default:return!1}}matchLiteralToken(e,t){let n=e.peek();if(!n)return!1;let r=this.getMatchType(n,t.value);if(r!=="none")return this.totalKeywordMatches++,r==="stem"&&this.stemMatchCount++,e.advance(),!0;if(t.alternatives)for(let i of t.alternatives){let s=this.getMatchType(n,i);if(s!=="none")return this.totalKeywordMatches++,s==="stem"&&this.stemMatchCount++,e.advance(),!0}return!1}matchRoleToken(e,t,n){this.skipNoiseWords(e);let r=e.peek();if(!r)return t.optional||!1;let i=this.tryMatchPossessiveExpression(e);if(i)return t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(i.type)&&!t.expectedTypes.includes("expression")?t.optional||!1:(n.set(t.role,i),!0);let s=this.tryMatchMethodCallExpression(e);if(s)return t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(s.type)&&!t.expectedTypes.includes("expression")?t.optional||!1:(n.set(t.role,s),!0);let a=this.tryMatchPossessiveSelectorExpression(e);if(a)return t.expectedTypes&&t.expectedTypes.length>0&&!Ye(a.type,t.expectedTypes)?t.optional||!1:(n.set(t.role,a),!0);let l=this.tryMatchPropertyAccessExpression(e);if(l)return t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(l.type)&&!t.expectedTypes.includes("expression")?t.optional||!1:(n.set(t.role,l),!0);let c=this.tryMatchSelectorPropertyExpression(e);if(c)return t.expectedTypes&&t.expectedTypes.length>0&&!Ye(c.type,t.expectedTypes)?t.optional||!1:(n.set(t.role,c),!0);let p=this.tokenToSemanticValue(r);return!p||t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(p.type)?t.optional||!1:(n.set(t.role,p),e.advance(),!0)}tryMatchPossessiveExpression(e){let t=e.peek();if(!t||!this.currentProfile)return null;let n=(t.normalized||t.value).toLowerCase(),r=Ut(this.currentProfile,n);if(!r)return null;let i=e.mark();e.advance();let s=e.peek();if(!s)return e.reset(i),null;if(s.kind==="identifier"||s.kind==="keyword"&&!this.isStructuralKeyword(s.value)||s.kind==="selector"&&s.value.startsWith("*")||s.kind==="selector"&&s.value.startsWith("@")||s.kind==="selector"&&s.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(s.value)){e.advance();let a=s.value;s.kind==="selector"&&a.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(a)&&(a=a.substring(1));let l=a;for(;e.peek()?.kind==="selector"&&e.peek().value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(e.peek().value);)l+=e.peek().value,e.advance();let c=e.peek();return c?.kind==="literal"&&c.value.startsWith("(")&&(l+=c.value,e.advance()),ie(N(r),l)}return e.reset(i),null}isStructuralKeyword(e){return new Set(["into","in","to","from","at","by","with","without","before","after","of","as","on","then","end","else","if","repeat","while","for","toggle","add","remove","put","set","show","hide","increment","decrement","send","trigger","call"]).has(e.toLowerCase())}tryMatchMethodCallExpression(e){let t=e.peek();if(!t||t.kind!=="selector")return null;let n=e.mark();e.advance();let r=e.peek();if(!r||r.kind!=="operator"||r.value!==".")return e.reset(n),null;e.advance();let i=e.peek();if(!i||i.kind!=="identifier")return e.reset(n),null;e.advance();let s=e.peek();if(!s||s.kind!=="punctuation"||s.value!=="(")return e.reset(n),null;e.advance();let a=[];for(;!e.isAtEnd()&&a.length<q.MAX_METHOD_ARGS;){let c=e.peek();if(!c)break;if(c.kind==="punctuation"&&c.value===")"){e.advance();break}if(c.kind==="punctuation"&&c.value===","){e.advance();continue}a.push(c.value),e.advance()}return{type:"expression",raw:`${t.value}.${i.value}(${a.join(", ")})`}}tryMatchPropertyAccessExpression(e){let t=e.peek();if(!t||t.kind!=="identifier"&&t.kind!=="keyword")return null;let n=e.mark();e.advance();let r=e.peek();if(!r||r.kind!=="operator"||r.value!==".")return e.reset(n),null;e.advance();let i=e.peek();if(!i||i.kind!=="identifier")return e.reset(n),null;e.advance();let s=`${t.value}.${i.value}`,a=1;for(;!e.isAtEnd()&&a<q.MAX_PROPERTY_DEPTH;){let c=e.peek();if(!c||c.kind!=="operator"||c.value!==".")break;e.advance();let p=e.peek();if(!p||p.kind!=="identifier")break;e.advance(),s+=`.${p.value}`,a++}let l=e.peek();if(l&&l.kind==="punctuation"&&l.value==="("){e.advance();let c=[],p=0;for(;!e.isAtEnd()&&c.length<q.MAX_METHOD_ARGS;){let y=e.peek();if(!y)break;if(y.kind==="punctuation"&&y.value===")"){if(p===0){e.advance();break}p--}if(y.kind==="punctuation"&&y.value==="("&&p++,y.kind==="punctuation"&&y.value===","){e.advance();continue}c.push(y.value),e.advance()}return{type:"expression",raw:`${s}(${c.join(", ")})`}}return{type:"expression",raw:s}}tryMatchPossessiveSelectorExpression(e){let t=e.peek();if(!t||t.kind!=="selector")return null;let n=e.mark();e.advance();let r=e.peek();if(!r||r.kind!=="punctuation"||r.value!=="'s")return e.reset(n),null;e.advance();let i=e.peek();return!i||i.kind!=="selector"&&i.kind!=="identifier"?(e.reset(n),null):(e.advance(),ie(A(t.value),i.value))}tryMatchSelectorPropertyExpression(e){let t=e.peek();if(!t||t.kind!=="selector"||!t.value.startsWith("#"))return null;let n=e.mark();e.advance();let r=e.peek();if(!r||r.kind!=="selector"||!r.value.startsWith("."))return e.reset(n),null;let i=e.peek(1);i&&i.kind,e.advance();let s=r.value.slice(1);return ie(A(t.value),s)}matchGroupToken(e,t,n){let r=e.mark(),i=new Set(n.keys());if(!this.matchTokenSequence(e,t.tokens,n)){e.reset(r);for(let a of n.keys())i.has(a)||n.delete(a);return t.optional||!1}return!0}getMatchType(e,t){return e.value===t?"exact":e.normalized===t?"normalized":e.stem===t&&e.stemConfidence!==void 0&&e.stemConfidence>=.7?"stem":e.kind==="keyword"&&e.value.toLowerCase()===t.toLowerCase()?"case-insensitive":"none"}tokenToSemanticValue(e){switch(e.kind){case"selector":return A(e.value);case"literal":return this.parseLiteralValue(e.value);case"keyword":let t=(e.normalized||e.value).toLowerCase();return pe(t)?N(t):x(e.normalized||e.value);case"identifier":if(e.value.startsWith(":"))return N(e.value);let n=e.value.toLowerCase();return pe(n)?N(n):{type:"expression",raw:e.value};case"url":return x(e.value,"string");default:return null}}parseLiteralValue(e){if(e.startsWith('"')||e.startsWith("'")||e.startsWith("`")||e.startsWith("\u300C")){let r=e.slice(1,-1);return x(r,"string")}if(e==="true")return x(!0,"boolean");if(e==="false")return x(!1,"boolean");let t=e.match(/^(\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(t){let r=parseFloat(t[1]);return t[2]?x(e,"duration"):x(r,"number")}let n=parseFloat(e);return isNaN(n)?x(e,"string"):x(n,"number")}applyExtractionRules(e,t){for(let[n,r]of Object.entries(e.extraction))t.has(n)||(r.value!==void 0?t.set(n,{type:"literal",value:r.value}):r.default&&t.set(n,r.default))}isOptional(e){return e.type!=="literal"&&e.optional===!0}calculateConfidence(e,t){let n=0,r=0,i=c=>e.extraction?.[c]?.default!==void 0;for(let c of e.template.tokens)if(c.type==="role")r+=1,t.has(c.role)&&(n+=1);else if(c.type==="group"){for(let p of c.tokens)if(p.type==="role"){let f=i(p.role),y=.8;r+=y,t.has(p.role)?n+=y:f&&(n+=y*.6)}}let s=r>0?n/r:1;if(this.stemMatchCount>0&&this.totalKeywordMatches>0){let c=this.stemMatchCount/this.totalKeywordMatches*.15;s=Math.max(.5,s-c)}let a=this.calculateVSOConfidenceBoost(e);s=Math.min(1,s+a);let l=this.arabicPrepositionDisambiguation(e,t);return s=Math.max(0,Math.min(1,s+l)),s}calculateVSOConfidenceBoost(e){if(e.language!=="ar")return 0;let t=e.template.tokens[0];if(!t||t.type!=="literal")return 0;let n=new Set(["\u0628\u062F\u0644","\u063A\u064A\u0631","\u0623\u0636\u0641","\u0623\u0632\u0644","\u0636\u0639","\u0627\u062C\u0639\u0644","\u0639\u064A\u0646","\u0632\u062F","\u0627\u0646\u0642\u0635","\u0633\u062C\u0644","\u0623\u0638\u0647\u0631","\u0623\u062E\u0641","\u0634\u063A\u0644","\u0623\u0631\u0633\u0644","\u0631\u0643\u0632","\u0634\u0648\u0634","\u062A\u0648\u0642\u0641","\u0627\u0646\u0633\u062E","\u0627\u062D\u0630\u0641","\u0627\u0635\u0646\u0639","\u0627\u0646\u062A\u0638\u0631","\u0627\u0646\u062A\u0642\u0627\u0644","\u0623\u0648"]);if(n.has(t.value))return .15;if(t.alternatives){for(let r of t.alternatives)if(n.has(r))return .15}return 0}arabicPrepositionDisambiguation(e,t){if(e.language!=="ar")return 0;let n=0,r={patient:["\u0639\u0644\u0649"],destination:["\u0625\u0644\u0649","\u0627\u0644\u0649"],source:["\u0645\u0646"],agent:["\u0645\u0646"],manner:["\u0628"],style:["\u0628"],goal:["\u0625\u0644\u0649","\u0627\u0644\u0649"],method:["\u0628"]};for(let[i,s]of t.entries()){let a=r[i];if(!a||a.length===0)continue;let l="metadata"in s?s.metadata:void 0;if(l&&typeof l.prepositionValue=="string"){let c=l.prepositionValue;a.includes(c)?n+=.1:n-=.1}}return Math.max(-.1,Math.min(.1,n))}skipNoiseWords(e){let t=e.peek();if(!t)return;let n=t.value.toLowerCase();if(q.ENGLISH_NOISE_WORDS.has(n)){let r=e.mark();e.advance();let i=e.peek();if(i&&i.kind==="selector")return;e.reset(r)}n==="class"&&e.advance()}extractEventModifiers(e){let t={},n=!1;for(;!e.isAtEnd();){let r=e.peek();if(!r||r.kind!=="event-modifier")break;let i=r.metadata;if(!i)break;switch(n=!0,i.modifierName){case"once":t.once=!0;break;case"debounce":typeof i.value=="number"&&(t.debounce=i.value);break;case"throttle":typeof i.value=="number"&&(t.throttle=i.value);break;case"queue":(i.value==="first"||i.value==="last"||i.value==="all"||i.value==="none")&&(t.queue=i.value);break}e.advance()}return n?t:void 0}};q.MAX_PROPERTY_DEPTH=10,q.MAX_METHOD_ARGS=20,q.ENGLISH_NOISE_WORDS=new Set(["the","a","an"]);var ue=q,Y=new ue;var Ht={ko:{\uD074\uB9AD:"click",\uC785\uB825:"input",\uBCC0\uACBD:"change",\uC81C\uCD9C:"submit",\uD0A4\uB2E4\uC6B4:"keydown",\uD0A4\uC5C5:"keyup",\uB9C8\uC6B0\uC2A4\uC624\uBC84:"mouseover",\uB9C8\uC6B0\uC2A4\uC544\uC6C3:"mouseout",\uB9C8\uC6B0\uC2A4\uB2E4\uC6B4:"mousedown",\uB9C8\uC6B0\uC2A4\uC5C5:"mouseup",\uD3EC\uCEE4\uC2A4:"focus",\uBE14\uB7EC:"blur",\uB85C\uB4DC:"load",\uB9AC\uC0AC\uC774\uC988:"resize",\uC2A4\uD06C\uB864:"scroll"},ja:{\u30AF\u30EA\u30C3\u30AF:"click",\u5165\u529B:"input",\u5909\u66F4:"change",\u9001\u4FE1:"submit",\u30AD\u30FC\u30C0\u30A6\u30F3:"keydown",\u30AD\u30FC\u30A2\u30C3\u30D7:"keyup",\u30AD\u30FC\u30D7\u30EC\u30B9:"keypress",\u30DE\u30A6\u30B9\u30AA\u30FC\u30D0\u30FC:"mouseover",\u30DE\u30A6\u30B9\u30A2\u30A6\u30C8:"mouseout",\u30DE\u30A6\u30B9\u62BC\u4E0B:"mousedown",\u30DE\u30A6\u30B9\u89E3\u653E:"mouseup",\u30D5\u30A9\u30FC\u30AB\u30B9:"focus",\u30D6\u30E9\u30FC:"blur",\u30ED\u30FC\u30C9:"load",\u8AAD\u307F\u8FBC\u307F:"load",\u30B5\u30A4\u30BA\u5909\u66F4:"resize",\u30B9\u30AF\u30ED\u30FC\u30EB:"scroll"},ar:{\u0627\u0644\u0646\u0642\u0631:"click",\u0646\u0642\u0631:"click",\u0627\u0644\u0625\u062F\u062E\u0627\u0644:"input",\u0625\u062F\u062E\u0627\u0644:"input",\u0627\u0644\u062A\u063A\u064A\u064A\u0631:"change",\u062A\u063A\u064A\u064A\u0631:"change",\u0627\u0644\u0625\u0631\u0633\u0627\u0644:"submit",\u0625\u0631\u0633\u0627\u0644:"submit","\u0636\u063A\u0637 \u0627\u0644\u0645\u0641\u062A\u0627\u062D":"keydown","\u0631\u0641\u0639 \u0627\u0644\u0645\u0641\u062A\u0627\u062D":"keyup","\u062A\u0645\u0631\u064A\u0631 \u0627\u0644\u0645\u0627\u0648\u0633":"mouseover",\u0627\u0644\u062A\u0631\u0643\u064A\u0632:"focus",\u062A\u062D\u0645\u064A\u0644:"load",\u062A\u0645\u0631\u064A\u0631:"scroll"},es:{clic:"click",click:"click",entrada:"input",cambio:"change",env\u00EDo:"submit",enviar:"submit","tecla abajo":"keydown","tecla arriba":"keyup","rat\xF3n encima":"mouseover","rat\xF3n fuera":"mouseout",enfoque:"focus",desenfoque:"blur",carga:"load",desplazamiento:"scroll"},tr:{t\u0131klama:"click",t\u0131kla:"click",t\u0131k:"click",giri\u015F:"input",girdi:"input",de\u011Fi\u015Fiklik:"change",de\u011Fi\u015Fim:"change",g\u00F6nderme:"submit",g\u00F6nder:"submit",tu\u015Fbasma:"keydown",tu\u015Fb\u0131rakma:"keyup",fare_bas:"mousedown",fare_b\u0131rak:"mouseup",farei\u00E7inde:"mouseover",fared\u0131\u015F\u0131nda:"mouseout",odaklanma:"focus",odak:"focus",bulan\u0131kl\u0131k:"blur",y\u00FCkleme:"load",y\u00FCkle:"load",boyut_de\u011Fi\u015Ftir:"resize",kayd\u0131rma:"scroll"},pt:{clique:"click",clicar:"click",click:"click",entrada:"input",inserir:"input",mudan\u00E7a:"change",mudanca:"change",alterar:"change",envio:"submit",enviar:"submit","tecla baixo":"keydown","tecla cima":"keyup","pressionar tecla":"keydown","soltar tecla":"keyup","mouse sobre":"mouseover","mouse fora":"mouseout",foco:"focus",focar:"focus",desfoque:"blur",desfocar:"blur",carregar:"load",carregamento:"load",rolagem:"scroll",rolar:"scroll"},zh:{\u70B9\u51FB:"click",\u5355\u51FB:"click",\u53CC\u51FB:"dblclick",\u8F93\u5165:"input",\u6539\u53D8:"change",\u53D8\u5316:"change",\u53D8\u66F4:"change",\u63D0\u4EA4:"submit",\u53D1\u9001:"submit",\u6309\u952E:"keydown",\u952E\u5165:"keydown",\u677E\u952E:"keyup",\u9F20\u6807\u8FDB\u5165:"mouseover",\u9F20\u6807\u79FB\u5165:"mouseover",\u9F20\u6807\u79BB\u5F00:"mouseout",\u9F20\u6807\u79FB\u51FA:"mouseout",\u7126\u70B9:"focus",\u805A\u7126:"focus",\u5931\u7126:"blur",\u6A21\u7CCA:"blur",\u52A0\u8F7D:"load",\u8F7D\u5165:"load",\u6EDA\u52A8:"scroll"},fr:{clic:"click",cliquer:"click",click:"click",saisie:"input",entr\u00E9e:"input",changement:"change",changer:"change",soumettre:"submit",soumission:"submit",envoi:"submit","touche bas":"keydown","touche haut":"keyup","souris dessus":"mouseover","souris dehors":"mouseout",focus:"focus",focaliser:"focus",d\u00E9focus:"blur",d\u00E9focaliser:"blur",chargement:"load",charger:"load",d\u00E9filement:"scroll",d\u00E9filer:"scroll"},de:{klick:"click",klicken:"click",click:"click",eingabe:"input",eingeben:"input",\u00E4nderung:"change",\u00E4ndern:"change",absenden:"submit",einreichen:"submit","taste runter":"keydown","taste hoch":"keyup","maus \xFCber":"mouseover","maus raus":"mouseout",fokus:"focus",fokussieren:"focus",defokussieren:"blur",unsch\u00E4rfe:"blur",laden:"load",ladung:"load",scrollen:"scroll",bl\u00E4ttern:"scroll"},id:{klik:"click",click:"click",masukan:"input",input:"input",ubah:"change",perubahan:"change",kirim:"submit","tekan tombol":"keydown","lepas tombol":"keyup","mouse masuk":"mouseover","mouse keluar":"mouseout",fokus:"focus",blur:"blur",muat:"load",memuat:"load",gulir:"scroll",menggulir:"scroll"},bn:{\u0995\u09CD\u09B2\u09BF\u0995:"click",\u0987\u09A8\u09AA\u09C1\u099F:"input",\u099C\u09AE\u09BE:"submit",\u09B2\u09CB\u09A1:"load",\u09B8\u09CD\u0995\u09CD\u09B0\u09CB\u09B2:"scroll",\u09B0\u09BF\u09B8\u09BE\u0987\u099C:"resize",\u099D\u09BE\u09AA\u09B8\u09BE:"blur",\u09AB\u09CB\u0995\u09BE\u09B8:"focus",\u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09A8:"change"},qu:{click:"click","\xF1it'iy":"click",\u00F1itiy:"click",yaykuchiy:"input",yaykuy:"input",tikray:"change","t'ikray":"change",apachiy:"submit",kachay:"submit","llave uray":"keydown","llave hawa":"keyup","q'away":"focus",qhaway:"focus",paqariy:"blur","mana q'away":"blur",cargay:"load",apakuy:"load",apamuy:"load",kunray:"scroll",muyuy:"scroll",hatun_kay:"resize"},sw:{bofya:"click",click:"click",kubofya:"click",ingiza:"input",kubadilisha:"change",mabadiliko:"change",tuma:"submit",kutuma:"submit","bonyeza chini":"keydown","bonyeza juu":"keyup","panya juu":"mouseover","panya nje":"mouseout",lenga:"focus",kulenga:"focus",blur:"blur",pakia:"load",kupakia:"load",sogeza:"scroll",kusogeza:"scroll"}};var Me=class{render(e,t){if(e.kind==="compound")return this.renderCompound(e,t);let n=ht(t,e.action);if(n.length===0)return this.renderExplicit(e);let r=this.findBestPattern(e,n);return r?this.renderWithPattern(e,r):this.renderExplicit(e)}renderCompound(e,t){let n=e.statements.map(i=>this.render(i,t)),r=this.getChainWord(e.chainType,t);return n.join(` ${r} `)}getChainWord(e,t){let n=V(t);return n?.keywords?n.keywords[e]?.primary??e:e}renderExplicit(e){if(e.kind==="compound"){let n=e;return n.statements.map(i=>this.renderExplicit(i)).join(` ${n.chainType} `)}let t=[e.action];for(let[n,r]of e.roles)t.push(`${n}:${this.valueToString(r)}`);if(e.kind==="event-handler"){let n=e;if(n.body&&n.body.length>0){let r=n.body.map(i=>this.renderExplicit(i));t.push(`body:${r.join(" ")}`)}}return`[${t.join(" ")}]`}supportedLanguages(){return ze()}findBestPattern(e,t){let n=t.map(r=>{let i=r.priority;for(let s of r.template.tokens)s.type==="role"&&(e.roles.has(s.role)?i+=10:s.optional||(i-=50));return r.language==="en"&&((r.id.includes("standard")||r.id.includes("en-source"))&&(i+=20),(r.id.includes("-when")||r.id.includes("-if")||r.id.includes("-upon"))&&(i-=15)),{pattern:r,score:i}});return n.sort((r,i)=>i.score-r.score),n.length>0?n[0].pattern:null}renderWithPattern(e,t){let n=[],r=t.language;for(let i of t.template.tokens){let s=this.renderPatternToken(i,e,r);s!==null&&n.push(s)}if(e.kind==="event-handler"){let i=e;if(i.body&&i.body.length>0){let s=i.body.map(a=>this.render(a,r));n.push(s.join(" "))}}return n.join(" ")}renderPatternToken(e,t,n){switch(e.type){case"literal":return e.value;case"role":{let r=t.roles.get(e.role);return r?this.valueToNaturalString(r,n):(e.optional,null)}case"group":{if(!e.tokens.filter(s=>s.type==="role"&&!s.optional).every(s=>t.roles.has(s.role))&&e.optional)return null;if(e.optional&&e.tokens.find(a=>a.type==="role"&&a.role==="destination")){let a=t.roles.get("destination");if(a?.type==="reference"&&a.value==="me")return null}let i=[];for(let s of e.tokens){let a=this.renderPatternToken(s,t,n);a!==null&&i.push(a)}return i.length>0?i.join(" "):null}default:return null}}valueToString(e){switch(e.type){case"literal":return typeof e.value=="string"?e.dataType==="string"||/\s/.test(e.value)?`"${e.value}"`:e.value:String(e.value);case"selector":return e.value;case"reference":return e.value;case"property-path":return`${this.valueToString(e.object)}'s ${e.property}`;case"expression":return e.raw}}valueToNaturalString(e,t="en"){switch(e.type){case"literal":return typeof e.value=="string"&&e.dataType==="string"?`"${e.value}"`:String(e.value);case"selector":return e.value;case"reference":return this.renderReference(e,t);case"property-path":return this.renderPropertyPath(e,t);case"expression":return e.raw}}renderReference(e,t){let n=V(t);return n?.references?n.references[e.value]??e.value:e.value}renderPropertyPath(e,t){let n=V(t),r=e.property,i=e.object.type==="reference"?e.object.value:null;if(n?.possessive?.specialForms&&i){let a=n.possessive.specialForms[i];if(a){let{markerPosition:l,usePossessiveAdjectives:c}=n.possessive;return c&&l==="after-object"?`${r} ${a}`:`${a} ${r}`}}let s=this.valueToNaturalString(e.object,t);if(n?.possessive){let{marker:a,markerPosition:l,usePossessiveAdjectives:c}=n.possessive;if(c&&i&&l==="after-object")return`${r} ${s}`;if(a)switch(l){case"between":return n.usesSpaces?`${s}${a} ${r}`:`${s}${a}${r}`;case"after-object":return`${s}${a} ${r}`;case"before-property":return`${s} ${a} ${r}`}}return t==="en"||!n?.possessive?s==="me"?`my ${r}`:s==="it"?`its ${r}`:`${s}'s ${r}`:`${s} ${r}`}},Je=new Me;function de(o,e){return Je.render(o,e)}function me(o){return Je.renderExplicit(o)}function J(o){let e=o.trim();if(!e.startsWith("[")||!e.endsWith("]"))throw new Error("Explicit syntax must be wrapped in brackets: [command role:value ...]");let t=e.slice(1,-1).trim();if(!t)throw new Error("Empty explicit statement");let n=Br(t);if(n.length===0)throw new Error("No command specified in explicit statement");let r=n[0].toLowerCase(),i=new Map;for(let a=1;a<n.length;a++){let l=n[a],c=l.indexOf(":");if(c===-1)throw new Error(`Invalid role format: "${l}". Expected role:value`);let p=l.slice(0,c),f=l.slice(c+1);if(p==="body"&&f.startsWith("[")){let d=Gr(l,c+1),u=l.slice(c+1,d+1);i.set(p,{type:"expression",raw:u});continue}let y=Kr(f);i.set(p,y)}if(r==="on"){let a=i.get("event");if(!a)throw new Error("Event handler requires event role: [on event:click ...]");let l=i.get("body"),c=[];return l&&l.type==="expression"&&c.push(J(l.raw)),i.delete("body"),Z(a,c,void 0,{sourceLanguage:"explicit"})}let s={};for(let[a,l]of i)s[a]=l;return _(r,s,{sourceLanguage:"explicit"})}function Br(o){let e=[],t="",n=!1,r="",i=0;for(let s=0;s<o.length;s++){let a=o[s];if(n){t+=a,a===r&&o[s-1]!=="\\"&&(n=!1);continue}if(a==='"'||a==="'"){n=!0,r=a,t+=a;continue}if(a==="["){i++,t+=a;continue}if(a==="]"){i--,t+=a;continue}if(a===" "&&i===0){t&&(e.push(t),t="");continue}t+=a}return t&&e.push(t),e}function Kr(o){if(o.startsWith("#")||o.startsWith(".")||o.startsWith("[")||o.startsWith("@")||o.startsWith("*"))return A(o);if(o.startsWith('"')||o.startsWith("'")){let n=o.slice(1,-1);return x(n,"string")}if(o==="true")return x(!0,"boolean");if(o==="false")return x(!1,"boolean");let e=o.toLowerCase();if(pe(e))return N(e);let t=o.match(/^(-?\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(t){let n=parseFloat(t[1]);return t[2]?x(o,"duration"):x(n,"number")}return x(o,"string")}function Gr(o,e){let t=0;for(let n=e;n<o.length;n++)if(o[n]==="[")t++;else if(o[n]==="]"&&(t--,t===0))return n;return o.length-1}function ae(o){let e=o.trim();return e.startsWith("[")&&e.endsWith("]")}var L=class L{parse(e,t){let{modifiers:n,remainingInput:r}=this.extractStandaloneModifiers(e,t),i=r||e,s=oe(i,t),a=O(t);if(a.length===0)throw new Error(`No patterns available for language: ${t}`);let l=[...a].sort((g,h)=>h.priority-g.priority),c=l.filter(g=>g.command==="on"),p=Y.matchBest(s,c);if(p){let g=this.buildEventHandler(p,s,t);return n?this.applyModifiers(g,n):g}let f=l.filter(g=>g.command!=="on"),y=Y.matchBest(s,f);if(y)return this.buildCommand(y,t);let d=this.trySOVEventExtraction(i,t,l);if(d)return n?this.applyModifiers(d,n):d;let u=this.tryCompoundCommandParsing(s,f,t);if(u)return u;throw new Error(`Could not parse input in ${t}: ${i}`)}canParse(e,t){try{return this.parse(e,t),!0}catch{return!1}}supportedLanguages(){return ze()}buildCommand(e,t){if(!e)throw new Error("No match to build command from");let n={};for(let[r,i]of e.captured)n[r]=i;return _(e.pattern.command,n,{sourceLanguage:t,patternId:e.pattern.id,confidence:e.confidence})}buildEventHandler(e,t,n){if(!e)throw new Error("No match to build event handler from");let r=e.captured.get("event");if(!r)throw new Error("Event handler pattern matched but no event captured");let i=Y.extractEventModifiers(t),s=this.extractOrConjunctionEvents(t,n),a=r;s.length>0&&r.type==="literal"&&(a={type:"literal",value:[String(r.value),...s.map(f=>String("value"in f?f.value:""))].join(" or ")});let l,c=e.captured.get("action");if(c&&c.type==="literal"){let p=c.value,f={};for(let[u,g]of e.captured)u!=="event"&&u!=="action"&&u!=="continues"&&(f[u]=g);let y=_(p,f,{sourceLanguage:n,patternId:e.pattern.id,confidence:e.confidence}),d=e.captured.get("continues");if(d&&d.type==="literal"&&d.value==="then"){let u=O(n).filter(S=>S.command!=="on").sort((S,R)=>R.priority-S.priority),g=O(n).filter(S=>S.id.startsWith("grammar-")&&S.id.includes("-continuation")).sort((S,R)=>R.priority-S.priority),h=this.parseBodyWithGrammarPatterns(t,u,g,n);h.length>0?l=[y,...h]:l=[y]}else l=[y]}else{let p=O(n).filter(f=>f.command!=="on").sort((f,y)=>y.priority-f.priority);l=this.parseBodyWithClauses(t,p,n)}return Z(a,l,i,{sourceLanguage:n,patternId:e.pattern.id,confidence:e.confidence})}parseBodyWithClauses(e,t,n){let r=[],i=[];for(;!e.isAtEnd();){let s=e.peek();if(!s)break;let a=s.kind==="conjunction"||s.kind==="keyword"&&this.isThenKeyword(s.value,n),l=s.kind==="keyword"&&this.isEndKeyword(s.value,n);if(a){if(i.length>0){let c=this.parseClause(i,t,n);r.push(...c),i.length=0}e.advance();continue}if(l){if(i.length>0){let c=this.parseClause(i,t,n);r.push(...c)}e.advance();break}i.push(s),e.advance()}if(i.length>0){let s=this.parseClause(i,t,n);r.push(...s)}return r.length>1?[Ze(r,"then",{sourceLanguage:n})]:r}parseClause(e,t,n){if(e.length===0)return[];let r=new M(e,n),i=[];for(;!r.isAtEnd();){let s=Y.matchBest(r,t);s?i.push(this.buildCommand(s,n)):r.advance()}if(i.length===0){let s=this.parseSOVClauseByVerbAnchoring(e,n);if(s.length>0)return s}return i}static buildVerbLookup(e){let t=new Map;for(let[n,r]of Object.entries(e.keywords))if(!["on","if","else","when","where","while","for","end","then","and"].includes(n)&&(t.set(r.primary.toLowerCase(),n),r.alternatives))for(let i of r.alternatives)t.set(i.toLowerCase(),n);return t}static buildMarkerToRoleLookup(e){let t=new Map;for(let[n,r]of Object.entries(e.roleMarkers))if(r&&(t.set(r.primary,n),r.alternatives))for(let i of r.alternatives)t.has(i)||t.set(i,n);return t}parseSOVClauseByVerbAnchoring(e,t){let n=V(t);if(!n||n.wordOrder!=="SOV")return[];let r=L.buildVerbLookup(n),i=L.buildMarkerToRoleLookup(n),s=[],a=0;for(;a<e.length;){let l=-1,c="";for(let u=a;u<e.length;u++){let g=e[u],h=r.get(g.value.toLowerCase()),S=g.normalized?r.get(g.normalized.toLowerCase()):void 0,R=h||S;if(R){l=u,c=R;break}}if(l===-1)break;let p=e.slice(a,l),f=e.length;for(let u=l+1;u<e.length;u++){let g=e[u];if(g.kind==="conjunction"||this.isThenKeyword(g.value,t)){f=u;break}if(u>l+1&&(r.get(g.value.toLowerCase())||(g.normalized?r.get(g.normalized.toLowerCase()):void 0))){f=u;break}}let y=e.slice(l+1,f),d=this.extractRolesFromMarkedTokens(p,y,i,c,t);if(s.push(_(c,d,{sourceLanguage:t,confidence:.7})),a=f,a<e.length){let u=e[a];(u.kind==="conjunction"||this.isThenKeyword(u.value,t))&&a++}}return s}extractRolesFromMarkedTokens(e,t,n,r,i){let s={},a=l=>{let c=[];for(let p of l){let f=n.get(p.value);if(f&&p.kind==="particle"&&c.length>0){let y=this.tokensToSemanticValue(c);if(y){let d=this.mapRoleForCommand(f,r,s);d&&(s[d]=y)}c=[]}else c.push(p)}if(c.length>0){let p=this.tokensToSemanticValue(c);p&&(s.patient?s.destination||(s.destination=p):s.patient=p)}};return a(e),a(t),s}mapRoleForCommand(e,t,n){return n[e]?e==="patient"&&!n.destination?"destination":e==="destination"&&!n.patient?"patient":e==="source"&&!n.source?"source":null:e}tokensToSemanticValue(e){if(e.length===0)return null;let t=e.filter(i=>i.kind!=="whitespace");if(t.length===0)return null;if(t.length===1)return this.tokenToSemanticValue(t[0]);let n=t.map(i=>i.value).join(""),r=t[0];return r.kind==="selector"||r.value.startsWith("#")||r.value.startsWith(".")||r.value.startsWith("@")||r.value.startsWith("*")?A(n):r.kind==="literal"||r.value.startsWith('"')||r.value.startsWith("'")?x(n):r.kind==="reference"?N(n):x(n)}tokenToSemanticValue(e){let t=e.value;if(e.kind==="selector"||t.startsWith("#")||t.startsWith(".")||t.startsWith("@")||t.startsWith("*"))return A(t);if(t.startsWith('"')||t.startsWith("'"))return x(t);if(/^-?\d+(\.\d+)?$/.test(t))return x(parseFloat(t));if(t==="true"||t==="\u771F"||t==="\uCC38"||t==="do\u011Fru")return x(!0);if(t==="false"||t==="\u507D"||t==="\uAC70\uC9D3"||t==="yanl\u0131\u015F")return x(!1);let n=e.normalized?.toLowerCase();return n==="me"||n==="it"||n==="you"||n==="result"||n==="body"?N(n):e.kind==="reference"?N(e.normalized||"me"):x(t)}parseBodyWithGrammarPatterns(e,t,n,r){let i=[];for(;!e.isAtEnd();){let s=e.peek();if(s&&this.isThenKeyword(s.value,r)){e.advance();continue}if(s&&this.isEndKeyword(s.value,r)){e.advance();break}let a=!1;if(n.length>0){let l=Y.matchBest(e,n);if(l){let c=l.pattern.command,p={};for(let[d,u]of l.captured)d!=="event"&&d!=="action"&&d!=="continues"&&(p[d]=u);let f=_(c,p,{sourceLanguage:r,patternId:l.pattern.id});i.push(f),a=!0;let y=l.captured.get("continues");if(y&&y.type==="literal"&&y.value==="then")continue}}if(!a){let l=Y.matchBest(e,t);l&&(i.push(this.buildCommand(l,r)),a=!0)}a||e.advance()}return i}tryCompoundCommandParsing(e,t,n){let r=e.tokens;if(!r.some(l=>l.kind==="conjunction"||l.kind==="keyword"&&this.isThenKeyword(l.value,n)))return null;let s=new M(r,n),a=this.parseBodyWithClauses(s,t,n);return a.length===0?null:a.length===1?a[0]:Ze(a,"then",{sourceLanguage:n,confidence:.65})}trySOVEventExtraction(e,t,n){let r=L.SOV_EVENT_MARKERS[t];if(!r)return null;let s=oe(e,t).tokens,a=Ht[t],l=new Set;if(a)for(let P of Object.keys(a))l.add(P.toLowerCase());let c=L.SOV_SOURCE_MARKERS[t],p=-1,f="",y="",d=1;for(let P=0;P<s.length;P++){let w=s[P],$=w.value.toLowerCase(),W=$,ne="",Oe=$.indexOf("[");Oe>0&&(W=$.slice(0,Oe),ne=w.value.slice(Oe));let je=w.normalized?.toLowerCase(),ct=je&&L.KNOWN_EVENTS.has(je),pt=l.has($)||l.has(W),rn=L.KNOWN_EVENTS.has(W);if(ct||pt||rn){let se;if(ct?se=je:pt?se=a?.[$]??a?.[W]??W:se=W,r.size>0){let he=1,Ie=s[P+1];Ie&&Ie.kind==="selector"&&Ie.value.startsWith("[")&&(he=2);let ve=s[P+he];if(ve&&(ve.kind==="particle"||ve.kind==="keyword")&&r.has(ve.value)){p=P,f=se,y=ne||(he===2?s[P+1].value:""),d=he+1;break}}else{p=P,f=se,y=ne,d=1;break}}}if(p===-1)return null;let u=new Set;for(let P=p;P<p+d;P++)u.add(P);if(c){let P=p+d;if(P<s.length){let w=s[P];(w.kind==="particle"||w.kind==="keyword")&&c.markers.has(w.value)&&u.add(P)}for(let w=0;w<p;w++){let $=s[w],W=$.value.toLowerCase(),ne=$.normalized?.toLowerCase();if(c.windowTokens.has(W)||ne&&c.windowTokens.has(ne)){u.add(w);break}}}let g=s.filter((P,w)=>!u.has(w));if(g.length===0)return null;let h=n.filter(P=>P.command!=="on"),S=new M(g,t),R=this.parseBodyWithClauses(S,h,t);if(R.length===0)return null;let te={sourceLanguage:t,confidence:.75};return y&&(te.keyFilter=y),Z({type:"literal",value:f},R,void 0,te)}isThenKeyword(e,t){let n={en:new Set(["then"]),ja:new Set(["\u305D\u308C\u304B\u3089","\u6B21\u306B","\u305D\u3057\u3066"]),ar:new Set(["\u062B\u0645","\u0628\u0639\u062F\u0647\u0627","\u062B\u0645\u0651"]),es:new Set(["entonces","luego","despu\xE9s"]),ko:new Set(["\uADF8\uB2E4\uC74C","\uADF8\uB9AC\uACE0","\uADF8\uB7F0\uD6C4","\uADF8\uB7EC\uBA74"]),zh:new Set(["\u7136\u540E","\u63A5\u7740","\u4E4B\u540E"]),tr:new Set(["sonra","ard\u0131ndan","daha sonra"]),pt:new Set(["ent\xE3o","depois","logo"]),fr:new Set(["puis","ensuite","alors"]),de:new Set(["dann","danach","anschlie\xDFend"]),id:new Set(["lalu","kemudian","setelah itu"]),tl:new Set(["pagkatapos","tapos"]),bn:new Set(["\u09A4\u09BE\u09B0\u09AA\u09B0","\u09AA\u09B0\u09C7"]),qu:new Set(["chaymantataq","hinaspa","chaymanta","chayqa"]),sw:new Set(["kisha","halafu","baadaye"])};return(n[t]||n.en).has(e.toLowerCase())}isEndKeyword(e,t){let n={en:new Set(["end"]),ja:new Set(["\u7D42\u308F\u308A","\u7D42\u4E86","\u304A\u308F\u308A"]),ar:new Set(["\u0646\u0647\u0627\u064A\u0629","\u0627\u0646\u062A\u0647\u0649","\u0622\u062E\u0631"]),es:new Set(["fin","final","terminar"]),ko:new Set(["\uB05D","\uC885\uB8CC","\uB9C8\uCE68"]),zh:new Set(["\u7ED3\u675F","\u7EC8\u6B62","\u5B8C"]),tr:new Set(["son","biti\u015F","bitti"]),pt:new Set(["fim","final","t\xE9rmino"]),fr:new Set(["fin","terminer","finir"]),de:new Set(["ende","beenden","fertig"]),id:new Set(["selesai","akhir","tamat"]),tl:new Set(["wakas","tapos"]),bn:new Set(["\u09B8\u09AE\u09BE\u09AA\u09CD\u09A4"]),qu:new Set(["tukukuy","tukuy","puchukay"]),sw:new Set(["mwisho","maliza","tamati"])};return(n[t]||n.en).has(e.toLowerCase())}extractStandaloneModifiers(e,t){let r=oe(e,t).tokens;if(r.length===0)return{modifiers:null,remainingInput:null};let s=r[0].value.toLowerCase(),a=L.STANDALONE_MODIFIERS[s];if(!a)return{modifiers:null,remainingInput:null};let l={},c=1;if(a==="once")l.once=!0;else{let d=1;if(d<r.length){let u=r[d];(u.kind==="keyword"||u.kind==="particle")&&(d++,c++)}if(d<r.length){let u=r[d];if(u.kind==="literal"){let g=u.value.match(/^(\d+)(ms|s|m)?$/);if(g){let h=parseInt(g[1],10),S=g[2]||"ms";S==="s"?h*=1e3:S==="m"&&(h*=6e4),l[a]=h,c=d+1}}}l[a]||(l[a]=a==="debounce"?300:100)}let p=r.slice(c);if(p.length===0)return{modifiers:null,remainingInput:null};let f=p[0].position.start,y=e.slice(f);return{modifiers:l,remainingInput:y}}applyModifiers(e,t){return{...e,eventModifiers:{...e.eventModifiers,...t}}}extractOrConjunctionEvents(e,t){let n=[];for(;;){let r=e.mark(),i=e.peek();if(!i)break;let s=(i.normalized||i.value).toLowerCase();if(!L.OR_KEYWORDS.has(s)){e.reset(r);break}e.advance();let a=e.peek();if(!a){e.reset(r);break}let l=(a.normalized||a.value).toLowerCase();e.advance(),n.push({type:"literal",value:l})}return n}};L.KNOWN_EVENTS=new Set(["click","dblclick","input","change","submit","keydown","keyup","keypress","mouseover","mouseout","mousedown","mouseup","focus","blur","load","scroll","resize","contextmenu"]),L.SOV_EVENT_MARKERS={ja:new Set(["\u3067"]),ko:new Set,tr:new Set(["de","da","te","ta"]),bn:new Set(["\u098F"]),qu:new Set(["pi"])},L.SOV_SOURCE_MARKERS={ja:{markers:new Set(["\u304B\u3089"]),windowTokens:new Set(["\u30A6\u30A3\u30F3\u30C9\u30A6","\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8","window","document"])},ko:{markers:new Set(["\uC5D0\uC11C"]),windowTokens:new Set(["\uCC3D","\uC708\uB3C4\uC6B0","\uBB38\uC11C","window","document"])},tr:{markers:new Set(["den","dan","ten","tan"]),windowTokens:new Set(["pencere","belge","window","document"])},bn:{markers:new Set(["\u09A5\u09C7\u0995\u09C7","\u09AE\u09A7\u09CD\u09AF\u09C7"]),windowTokens:new Set(["\u0989\u0987\u09A8\u09CD\u09A1\u09CB","\u09A1\u0995\u09C1\u09AE\u09C7\u09A8\u09CD\u099F","window","document"])},qu:{markers:new Set(["manta"]),windowTokens:new Set(["k_iri","ventana","window","document"])}},L.STANDALONE_MODIFIERS={once:"once",debounced:"debounce",debounce:"debounce",throttled:"throttle",throttle:"throttle"},L.OR_KEYWORDS=new Set(["or","\u0623\u0648","o","ou","oder","atau","atau","\u6216","\u307E\u305F\u306F","\uB610\uB294","veya","\u0985\u09A5\u09AC\u09BE","utaq","au","\u0430\u0431\u043E","\u0438\u043B\u0438","ho\u1EB7c","lub","\u05D0\u05D5","\u0E2B\u0E23\u0E37\u0E2D","o"]);var Ae=L,et=new Ae;function U(o,e){return et.parse(o,e)}function tt(o,e){return et.canParse(o,e)}function nt(o,e){if(ae(o))return o;let t=U(o,e);return me(t)}function rt(o,e){let t=J(o);return de(t,e)}function ot(o,e){return ae(o)?J(o):U(o,e)}var Ur=new Set(["me","my","myself","you","your","yourself","it","its","result","event","target","body","detail","window","document"]),Hr=new Set(["and","or","not","no"]),Dr=new Set(["true","false","null","undefined"]),Fr=new Set(["ms","s","seconds","second","milliseconds","millisecond","minutes","minute","hours","hour"]);function Dt(o){let e=[],t=0,n=1,r=1;function i(){if(e.length===0)return!0;let u=e[e.length-1];return["OPERATOR","COMPARISON","LOGICAL","LPAREN","LBRACKET","LBRACE","COMMA","COLON"].includes(u.type)}function s(u=0){return o[t+u]??""}function a(){let u=o[t];return t++,u===`
|
|
2
|
+
`?(n++,r=1):r++,u}function l(){for(;t<o.length&&/\s/.test(o[t]);)a()}function c(u){let g="";for(;t<o.length&&u(o[t]);)g+=a();return g}function p(u){let g=u;for(a();t<o.length&&o[t]!==u;)o[t]==="\\"&&t+1<o.length&&(g+=a()),g+=a();return t<o.length&&(g+=a()),g}function f(){let u="`";for(a();t<o.length&&o[t]!=="`";)o[t]==="\\"&&t+1<o.length&&(u+=a()),u+=a();return t<o.length&&(u+=a()),u}function y(){let u="<";for(a();t<o.length&&(u+=a(),!u.endsWith("/>")););return u}function d(u,g,h){return{type:u,value:g,start:h,end:t,line:n,column:r-g.length}}for(;t<o.length&&(l(),!(t>=o.length));){let u=t,g=s();if(g==="'"&&s(1)==="s"&&!/\w/.test(s(2))){a(),a(),e.push(d("POSSESSIVE","'s",u));continue}if(g==='"'||g==="'"){let h=p(g);e.push(d("STRING",h,u));continue}if(g==="`"){let h=f();e.push(d("TEMPLATE_LITERAL",h,u));continue}if(g==="<"&&/[a-zA-Z.#\[]/.test(s(1))){let h=y();e.push(d("QUERY_SELECTOR",h,u));continue}if(g==="#"&&i()){a();let h=c(S=>/[\w-]/.test(S));e.push(d("ID_SELECTOR","#"+h,u));continue}if(g==="."&&/[a-zA-Z_-]/.test(s(1))&&i()){a();let h=c(S=>/[\w-]/.test(S));e.push(d("CLASS_SELECTOR","."+h,u));continue}if(g==="["&&i()){let h=s(1);if(h==="@"||/[a-zA-Z]/.test(h)){let S="";for(S+=a();t<o.length&&o[t]!=="]";)o[t]==='"'||o[t]==="'"?S+=p(o[t]):S+=a();t<o.length&&(S+=a()),e.push(d("ATTRIBUTE_SELECTOR",S,u));continue}}if(g==="["){a(),e.push(d("LBRACKET","[",u));continue}if(g==="]"){a(),e.push(d("RBRACKET","]",u));continue}if(/\d/.test(g)){let h=c(te=>/[\d.]/.test(te)),S=t,R=c(te=>/[a-zA-Z]/.test(te));Fr.has(R)?e.push(d("TIME_EXPRESSION",h+R,u)):(t=S,e.push(d("NUMBER",h,u)));continue}if(g==="("){a(),e.push(d("LPAREN","(",u));continue}if(g===")"){a(),e.push(d("RPAREN",")",u));continue}if(g==="{"){a(),e.push(d("LBRACE","{",u));continue}if(g==="}"){a(),e.push(d("RBRACE","}",u));continue}if(g===","){a(),e.push(d("COMMA",",",u));continue}if(g===":"){a(),e.push(d("COLON",":",u));continue}if(g==="."){a(),e.push(d("DOT",".",u));continue}if(g==="+"||g==="-"||g==="*"||g==="/"||g==="%"){a(),e.push(d("OPERATOR",g,u));continue}if(g==="="||g==="!"||g==="<"||g===">"){let h=a();s()==="="&&(h+=a()),e.push(d("COMPARISON",h,u));continue}if(/[a-zA-Z_$]/.test(g)){let h=c(R=>/[\w$]/.test(R)),S=h.toLowerCase();Ur.has(S)?e.push(d("CONTEXT_VAR",h,u)):Hr.has(S)?e.push(d("LOGICAL",h,u)):Dr.has(S)?e.push(d("BOOLEAN",h,u)):e.push(d("IDENTIFIER",h,u));continue}a()}return e.push(d("EOF","",t)),e}var Ve=class{constructor(){this.tokens=[];this.current=0}parse(e){try{return this.tokens=Dt(e),this.current=0,this.isAtEnd()?{success:!1,error:"Empty expression"}:{success:!0,node:this.parseExpression(),consumed:this.current}}catch(t){return{success:!1,error:t instanceof Error?t.message:"Parse error"}}}peek(){return this.tokens[this.current]??{type:"EOF",value:"",start:0,end:0}}previous(){return this.tokens[this.current-1]??{type:"EOF",value:"",start:0,end:0}}isAtEnd(){return this.peek().type==="EOF"}advance(){return this.isAtEnd()||this.current++,this.previous()}check(e){return this.peek().type===e}checkValue(e){return this.peek().value.toLowerCase()===e.toLowerCase()}match(...e){for(let t of e)if(this.check(t))return this.advance(),!0;return!1}parseExpression(){return this.parseOr()}parseOr(){let e=this.parseAnd();for(;this.checkValue("or");){let t=this.advance().value,n=this.parseAnd();e=this.createBinaryExpression(t,e,n)}return e}parseAnd(){let e=this.parseEquality();for(;this.checkValue("and");){let t=this.advance().value,n=this.parseEquality();e=this.createBinaryExpression(t,e,n)}return e}parseEquality(){let e=this.parseComparison();for(;this.match("COMPARISON")||this.checkValue("is")||this.checkValue("matches")||this.checkValue("contains")||this.checkValue("in");){let t=this.previous().value,n=this.parseComparison();e=this.createBinaryExpression(t,e,n)}return e}parseComparison(){let e=this.parseAddition();for(;this.check("COMPARISON");){let t=this.advance().value,n=this.parseAddition();e=this.createBinaryExpression(t,e,n)}return e}parseAddition(){let e=this.parseMultiplication();for(;this.peek().value==="+"||this.peek().value==="-";){let t=this.advance().value,n=this.parseMultiplication();e=this.createBinaryExpression(t,e,n)}return e}parseMultiplication(){let e=this.parseUnary();for(;this.peek().value==="*"||this.peek().value==="/"||this.peek().value==="%";){let t=this.advance().value,n=this.parseUnary();e=this.createBinaryExpression(t,e,n)}return e}parseUnary(){if(this.checkValue("not")||this.checkValue("no")||this.peek().value==="-"){let e=this.advance().value,t=this.parseUnary();return this.createUnaryExpression(e,t)}return this.parsePostfix()}parsePostfix(){let e=this.parsePrimary();for(;;)if(this.match("DOT"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let t=this.advance().value;e=this.createPropertyAccess(e,t)}else break;else if(this.match("POSSESSIVE"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let t=this.advance().value;e=this.createPossessiveExpression(e,t)}else break;else if(this.match("LPAREN")){let t=this.parseArguments();e=this.createCallExpression(e,t)}else if(this.match("LBRACKET")){let t=this.parseExpression();if(!this.match("RBRACKET"))throw new Error("Expected ] after index");e=this.createPropertyAccess(e,t)}else break;return e}parsePrimary(){let e=this.peek();if(this.match("NUMBER"))return this.createLiteral(parseFloat(e.value),"number",e);if(this.match("STRING")){let t=e.value.slice(1,-1);return this.createLiteral(t,"string",e)}if(this.match("BOOLEAN")){let t=e.value==="true"?!0:e.value==="false"?!1:e.value==="null"?null:void 0,n={true:"boolean",false:"boolean",null:"null",undefined:"undefined"};return this.createLiteral(t,n[e.value]??"string",e)}if(this.match("TEMPLATE_LITERAL"))return{type:"templateLiteral",value:e.value,start:e.start,end:e.end,line:e.line,column:e.column};if(this.match("TIME_EXPRESSION"))return this.parseTimeExpression(e);if(this.match("ID_SELECTOR"))return this.createSelector(e.value,"id",e);if(this.match("CLASS_SELECTOR"))return this.createSelector(e.value,"class",e);if(this.match("ATTRIBUTE_SELECTOR"))return this.createSelector(e.value,"attribute",e);if(this.match("QUERY_SELECTOR")){let t=e.value.slice(1,-2);return this.createSelector(t,"query",e)}if(this.match("CONTEXT_VAR"))return this.createContextReference(e.value,e);if(this.match("IDENTIFIER"))return this.createIdentifier(e.value,e);if(this.match("LPAREN")){let t=this.parseExpression();if(!this.match("RPAREN"))throw new Error("Expected ) after expression");return t}if(this.match("LBRACKET"))return this.parseArrayLiteral();if(this.match("LBRACE"))return this.parseObjectLiteral();throw new Error(`Unexpected token: ${e.value}`)}parseArguments(){let e=[];if(!this.check("RPAREN"))do e.push(this.parseExpression());while(this.match("COMMA"));if(!this.match("RPAREN"))throw new Error("Expected ) after arguments");return e}parseArrayLiteral(){let e=[],t=this.previous().start;if(!this.check("RBRACKET"))do e.push(this.parseExpression());while(this.match("COMMA"));if(!this.match("RBRACKET"))throw new Error("Expected ] after array elements");return{type:"arrayLiteral",elements:e,start:t,end:this.previous().end}}parseObjectLiteral(){let e=[],t=this.previous().start;if(!this.check("RBRACE"))do{let n;if(this.check("STRING"))n=this.advance().value.slice(1,-1);else if(this.check("IDENTIFIER"))n=this.advance().value;else throw new Error("Expected property name");if(!this.match("COLON"))throw new Error("Expected : after property name");let r=this.parseExpression();e.push({key:n,value:r})}while(this.match("COMMA"));if(!this.match("RBRACE"))throw new Error("Expected } after object properties");return{type:"objectLiteral",properties:e.map(n=>({type:"objectProperty",key:n.key,value:n.value})),start:t,end:this.previous().end}}parseTimeExpression(e){let t=e.value.match(/^(\d+(?:\.\d+)?)(ms|s|seconds?|milliseconds?|minutes?|hours?)$/i);if(!t)throw new Error(`Invalid time expression: ${e.value}`);let n=parseFloat(t[1]),r=t[2].toLowerCase();return{type:"timeExpression",value:n,unit:r,raw:e.value,start:e.start,end:e.end,line:e.line,column:e.column}}createLiteral(e,t,n){return{type:"literal",value:e,dataType:t,raw:n.value,start:n.start,end:n.end,line:n.line,column:n.column}}createSelector(e,t,n){return{type:"selector",value:e,selector:e,selectorType:t,start:n.start,end:n.end,line:n.line,column:n.column}}createContextReference(e,t){return{type:"contextReference",contextType:e,name:t.value,start:t.start,end:t.end,line:t.line,column:t.column}}createIdentifier(e,t){return{type:"identifier",name:e,start:t.start,end:t.end,line:t.line,column:t.column}}createPropertyAccess(e,t){return{type:"propertyAccess",object:e,property:typeof t=="string"?t:t.type==="identifier"?t.name:"",start:e.start,end:this.previous().end}}createPossessiveExpression(e,t){return{type:"possessiveExpression",object:e,property:t,start:e.start,end:this.previous().end}}createBinaryExpression(e,t,n){return{type:"binaryExpression",operator:e,left:t,right:n,start:t.start,end:n.end}}createUnaryExpression(e,t){return{type:"unaryExpression",operator:e,operand:t,prefix:!0,start:this.previous().start,end:t.end}}createCallExpression(e,t){return{type:"callExpression",callee:e,arguments:t,start:e.start,end:this.previous().end}}};function it(o){return new Ve().parse(o)}function z(o,e){switch(o.type){case"literal":return Xr(o);case"selector":return Qr(o,e);case"reference":return Zr(o);case"property-path":return Yr(o,e);case"expression":return Jr(o);default:let t=o;throw new Error(`Unknown semantic value type: ${t.type}`)}}function Xr(o){let e={type:"literal",value:o.value};return o.dataType?{...e,dataType:o.dataType}:e}function Qr(o,e){return e&&o.value.startsWith("*")&&/^[a-zA-Z-]/.test(o.value.slice(1))&&e.push(`Converted '${o.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.`),{type:"selector",value:o.value,selector:o.value,selectorType:o.selectorKind}}function Zr(o){return{type:"contextReference",contextType:o.value,name:o.value}}function Yr(o,e){return{type:"propertyAccess",object:z(o.object,e),property:o.property}}function Jr(o){let e=it(o.raw);return!e.success||!e.node?{type:"identifier",name:o.raw}:e.node}function Ft(o,e){return o.roles.get(e)}function m(o,e,t){let n=Ft(o,e);return n?z(n,t):void 0}function v(o,e=[],t,n={}){let r={type:"command",name:o,args:e};return t&&Object.keys(t).length>0&&(r.modifiers=t),n.isBlocking&&(r.isBlocking=n.isBlocking),n.implicitTarget&&(r.implicitTarget=n.implicitTarget),n.semanticRoles&&Object.keys(n.semanticRoles).length>0&&(r.semanticRoles=n.semanticRoles),r}var eo={action:"toggle",toAST(o,e){let t=m(o,"patient"),n=m(o,"destination"),r=m(o,"duration"),i=t?[t]:[],s={};return n&&(s.on=n),r&&(s.for=r),v("toggle",i,s)}},to={action:"add",toAST(o,e){let t=m(o,"patient"),n=m(o,"destination"),r=t?[t]:[],i={};return n&&(i.to=n),v("add",r,i)}},no={action:"remove",toAST(o,e){let t=m(o,"patient"),n=m(o,"source"),r=t?[t]:[],i={};return n&&(i.from=n),v("remove",r,i)}},ro={action:"set",toAST(o,e){let t=m(o,"destination"),n=m(o,"patient"),r=[],i={};return t&&r.push(t),n&&(i.to=n),v("set",r,i)}},oo={action:"show",toAST(o,e){let t=m(o,"destination"),n=m(o,"patient"),r=m(o,"duration"),i=[],s={},a=t??n;return a&&i.push(a),r&&(s.with=r),v("show",i,s)}},io={action:"hide",toAST(o,e){let t=m(o,"destination"),n=m(o,"patient"),r=m(o,"duration"),i=[],s={},a=t??n;return a&&i.push(a),r&&(s.with=r),v("hide",i,s)}},ao={action:"increment",toAST(o,e){let t=m(o,"destination"),n=m(o,"patient"),r=m(o,"quantity"),i=[],s={},a=t??n;return a&&i.push(a),r&&(s.by=r),v("increment",i,s)}},so={action:"decrement",toAST(o,e){let t=m(o,"destination"),n=m(o,"patient"),r=m(o,"quantity"),i=[],s={},a=t??n;return a&&i.push(a),r&&(s.by=r),v("decrement",i,s)}},lo={action:"wait",toAST(o,e){let t=m(o,"duration");return v("wait",t?[t]:[],void 0,{isBlocking:!0})}},co={action:"log",toAST(o,e){let t=m(o,"patient"),n=[];return t&&n.push(t),v("log",n)}},po={action:"put",toAST(o,e){let t=m(o,"patient"),n=m(o,"destination"),r=Ft(o,"method"),i=t?[t]:[],s={};if(n){let a=r?.type==="literal"?String(r.value):"into";s[a]=n}return v("put",i,s)}},uo={action:"fetch",toAST(o,e){let t=m(o,"source"),n=m(o,"method"),r=m(o,"responseType"),i=m(o,"patient"),s=t?[t]:[],a={};return n&&(a.with=n),r&&(a.as=r),i&&(a.body=i),v("fetch",s,a,{isBlocking:!0})}},mo={action:"append",toAST(o,e){let t=m(o,"patient"),n=m(o,"destination"),r=t?[t]:[],i={};return n&&(i.to=n),v("append",r,i)}},fo={action:"prepend",toAST(o,e){let t=m(o,"patient"),n=m(o,"destination"),r=t?[t]:[],i={};return n&&(i.to=n),v("prepend",r,i)}},go={action:"trigger",toAST(o,e){let t=m(o,"event"),n=m(o,"destination"),r=t?[t]:[],i={};return n&&(i.on=n),v("trigger",r,i)}},yo={action:"send",toAST(o,e){let t=m(o,"event"),n=m(o,"destination"),r=m(o,"patient"),i=t?[t]:[],s={};return n&&(s.to=n),r&&(s.detail=r),v("send",i,s)}},ho={action:"go",toAST(o,e){let t=m(o,"source"),n=m(o,"destination"),r=[],i={};return t&&r.push(t),n&&(i.to=n),v("go",r,i)}},vo={action:"transition",toAST(o,e){let t=m(o,"patient"),n=m(o,"goal"),r=m(o,"duration"),i=m(o,"destination"),s=t?[t]:[],a={};return n&&(a.to=n),r&&(a.over=r),i&&(a.on=i),v("transition",s,a)}},So={action:"focus",toAST(o,e){let t=m(o,"destination"),n=m(o,"patient"),r=[],i={},s=t??n;return s&&r.push(s),v("focus",r,i)}},To={action:"blur",toAST(o,e){let t=m(o,"destination"),n=m(o,"patient"),r=[],i=t??n;return i&&r.push(i),v("blur",r)}},ko={action:"get",toAST(o,e){let t=m(o,"source"),n=m(o,"patient"),r=[],i=t??n;return i&&r.push(i),v("get",r)}},xo={action:"take",toAST(o,e){let t=m(o,"patient"),n=m(o,"source"),r=t?[t]:[],i={};return n&&(i.from=n),v("take",r,i)}},bo={action:"call",toAST(o,e){let t=m(o,"patient");return v("call",t?[t]:[])}},Po={action:"return",toAST(o,e){let t=m(o,"patient");return v("return",t?[t]:[])}},Eo={action:"halt",toAST(o,e){return v("halt",[])}},Lo={action:"throw",toAST(o,e){let t=m(o,"patient");return v("throw",t?[t]:[])}},Ro={action:"settle",toAST(o,e){let t=m(o,"destination"),n=m(o,"patient"),r=[],i=t??n;return i&&r.push(i),v("settle",r,void 0,{isBlocking:!0})}},wo={action:"swap",toAST(o,e){let t=m(o,"patient"),n=m(o,"source"),r=m(o,"destination"),i=m(o,"style"),s=[],a={};return t&&s.push(t),n&&s.push(n),r&&(a.on=r),i&&(a.with=i),v("swap",s,a)}},Co={action:"morph",toAST(o,e){let t=m(o,"source"),n=m(o,"destination"),r=m(o,"patient"),i=[],s={},a=t??r;return a&&i.push(a),n&&(s.on=n),v("morph",i,s)}},No={action:"clone",toAST(o,e){let t=m(o,"source"),n=m(o,"destination"),r=m(o,"patient"),i=[],s={},a=t??r;return a&&i.push(a),n&&(s.into=n),v("clone",i,s)}},zo={action:"make",toAST(o,e){let t=m(o,"patient");return v("make",t?[t]:[])}},Mo={action:"measure",toAST(o,e){let t=m(o,"patient"),n=m(o,"destination"),r=m(o,"source"),i=[],s={};t&&i.push(t);let a=n??r;return a&&(s.of=a),v("measure",i,s)}},Ao={action:"tell",toAST(o,e){let t=m(o,"destination"),n=m(o,"patient"),r=[],i=t??n;return i&&r.push(i),v("tell",r)}},Vo={action:"js",toAST(o,e){let t=m(o,"patient");return v("js",t?[t]:[])}},Oo={action:"async",toAST(o,e){return v("async",[])}},jo={action:"if",toAST(o,e){let t=m(o,"condition");return v("if",t?[t]:[])}},Io={action:"unless",toAST(o,e){let t=m(o,"condition");return v("unless",t?[t]:[])}},_o={action:"repeat",toAST(o,e){let t=m(o,"quantity"),n=m(o,"patient"),r=[],i=t??n;return i&&r.push(i),v("repeat",r)}},qo={action:"for",toAST(o,e){let t=m(o,"patient"),n=m(o,"source"),r=t?[t]:[],i={};return n&&(i.in=n),v("for",r,i)}},$o={action:"while",toAST(o,e){let t=m(o,"condition");return v("while",t?[t]:[])}},Wo={action:"continue",toAST(o,e){return v("continue",[])}},Bo={action:"default",toAST(o,e){let t=m(o,"patient"),n=m(o,"source"),r=t?[t]:[],i={};return n&&(i.to=n),v("default",r,i)}},Ko={action:"init",toAST(o,e){return v("init",[])}},Go={action:"behavior",toAST(o,e){let t=m(o,"patient");return v("behavior",t?[t]:[])}},Uo={action:"install",toAST(o,e){let t=m(o,"patient"),n=m(o,"destination"),r=t?[t]:[],i={};return n&&(i.on=n),v("install",r,i)}},Ho={action:"on",toAST(o,e){let t=m(o,"event"),n=m(o,"source"),r=t?[t]:[],i={};return n&&(i.from=n),v("on",r,i)}},Xt=new Map([["toggle",eo],["add",to],["remove",no],["set",ro],["show",oo],["hide",io],["increment",ao],["decrement",so],["wait",lo],["log",co],["put",po],["fetch",uo],["append",mo],["prepend",fo],["get",ko],["take",xo],["trigger",go],["send",yo],["on",Ho],["go",ho],["transition",vo],["focus",So],["blur",To],["call",bo],["return",Po],["halt",Eo],["throw",Lo],["settle",Ro],["swap",wo],["morph",Co],["clone",No],["measure",Mo],["make",zo],["tell",Ao],["default",Bo],["js",Vo],["async",Oo],["if",jo],["unless",Io],["repeat",_o],["for",qo],["while",$o],["continue",Wo],["init",Ko],["behavior",Go],["install",Uo]]);function fe(o){return Xt.get(o)}function at(o){Xt.set(o.action,o)}var ge=class{constructor(e={}){this.warnings=[]}build(e){switch(e.kind){case"command":return this.buildCommand(e);case"event-handler":return this.buildEventHandler(e);case"conditional":return this.buildConditional(e);case"compound":return this.buildCompound(e);case"loop":return this.buildLoop(e);default:throw new Error(`Unknown semantic node kind: ${e.kind}`)}}buildCommand(e){let t=fe(e.action),n;if(t){let r=t.toAST(e,this);if("ast"in r&&"warnings"in r){let i=r;this.warnings.push(...i.warnings),n=i.ast}else n=r}else n=this.buildGenericCommand(e);if(e.roles&&e.roles.size>0){let r={};for(let[i,s]of e.roles)r[i]=z(s);Object.keys(r).length>0&&(n.semanticRoles=r)}return n}buildGenericCommand(e){let t=[],n={},r=["patient","source","quantity"],i=["destination","duration","method","style"];for(let a of r){let l=e.roles.get(a);l&&t.push(z(l))}for(let a of i){let l=e.roles.get(a);if(l){let c=this.roleToModifierKey(a);n[c]=z(l)}}let s={type:"command",name:e.action,args:t};return Object.keys(n).length>0?{...s,modifiers:n}:s}roleToModifierKey(e){return{destination:"on",duration:"for",source:"from",condition:"if",method:"via",style:"with"}[e]??e}buildEventHandler(e){let t=e.roles.get("event"),n,r;if(t?.type==="literal"){let h=String(t.value);h.includes("|")||h.includes(" or ")?(r=h.split(/\s+or\s+|\|/).map(S=>S.trim()),n=r[0]):n=h}else t?.type==="reference"?n=t.value:n="click";let i=e.body.map(h=>this.build(h)),s=e.roles.get("source"),a,l;s?.type==="selector"?(a=s.value,l=s.value):s?.type==="reference"?l=s.value:s?.type==="literal"&&(l=String(s.value));let c=e.roles.get("condition"),p=c?z(c):void 0,f=e.roles.get("destination"),y=f?z(f):void 0,d=e.eventModifiers,u=a;if(d?.from){let h=d.from;h.type==="selector"&&!a&&(u=h.value)}let g=e.parameterNames?[...e.parameterNames]:void 0;return{type:"eventHandler",event:n,commands:i,...r&&r.length>1?{events:r}:{},...u?{selector:u}:{},...l?{target:l}:{},...p?{condition:p}:{},...y?{watchTarget:y}:{},...g&&g.length>0?{args:g,params:g}:{}}}buildConditional(e){let t=e.roles.get("condition");if(!t)throw new Error("Conditional node missing condition");let n=z(t),r=e.thenBranch.map(a=>this.build(a)),i=e.elseBranch?.map(a=>this.build(a)),s=[n,{type:"block",commands:r}];return i&&i.length>0&&s.push({type:"block",commands:i}),{type:"command",name:"if",args:s}}buildCompound(e){let t=e.statements.map(r=>this.build(r));return t.length===1?t[0]:t.length===0?{type:"block",commands:[]}:{type:"CommandSequence",commands:t}}buildLoop(e){let t=e.body.map(r=>this.build(r)),n=[{type:"identifier",name:e.loopVariant}];switch(e.loopVariant){case"times":{let r=e.roles.get("quantity");r&&n.push(z(r));break}case"for":{e.loopVariable&&n.push({type:"string",value:e.loopVariable});let r=e.roles.get("source");r&&n.push(z(r));break}case"while":case"until":{let r=e.roles.get("condition");r&&n.push(z(r));break}case"forever":break}return n.push({type:"block",commands:t}),{type:"command",name:"repeat",args:n}}buildBlock(e){return{type:"block",commands:e.map(n=>this.build(n))}}};function Qt(o){let e=new ge;return{ast:e.build(o),warnings:e.warnings}}var ee=class{constructor(e={}){this.cache=new Map,this.config={maxSize:e.maxSize??1e3,ttlMs:e.ttlMs??0,enabled:e.enabled??!0},this.stats={hits:0,misses:0,evictions:0,expirations:0}}makeKey(e,t){return`${t}:${e}`}isExpired(e){return this.config.ttlMs===0?!1:Date.now()-e.createdAt>this.config.ttlMs}evictLRU(){let e=this.cache.keys().next().value;e!==void 0&&(this.cache.delete(e),this.stats.evictions++)}get(e,t){if(!this.config.enabled){this.stats.misses++;return}let n=this.makeKey(e,t),r=this.cache.get(n);if(!r){this.stats.misses++;return}if(this.isExpired(r)){this.cache.delete(n),this.stats.expirations++,this.stats.misses++;return}return this.cache.delete(n),r.lastAccessed=Date.now(),this.cache.set(n,r),this.stats.hits++,r.result}set(e,t,n){if(!this.config.enabled||n.confidence===0)return;let r=this.makeKey(e,t),i=Date.now();for(;this.cache.size>=this.config.maxSize;)this.evictLRU();this.cache.set(r,{result:n,createdAt:i,lastAccessed:i})}has(e,t){if(!this.config.enabled)return!1;let n=this.makeKey(e,t),r=this.cache.get(n);return r?this.isExpired(r)?(this.cache.delete(n),this.stats.expirations++,!1):!0:!1}delete(e,t){let n=this.makeKey(e,t);return this.cache.delete(n)}clear(){this.cache.clear()}resetStats(){this.stats={hits:0,misses:0,evictions:0,expirations:0}}getStats(){let e=this.stats.hits+this.stats.misses;return{hits:this.stats.hits,misses:this.stats.misses,size:this.cache.size,maxSize:this.config.maxSize,hitRate:e>0?this.stats.hits/e:0,evictions:this.stats.evictions,expirations:this.stats.expirations,enabled:this.config.enabled}}configure(e){if(e.maxSize!==void 0)for(this.config.maxSize=e.maxSize;this.cache.size>this.config.maxSize;)this.evictLRU();e.ttlMs!==void 0&&(this.config.ttlMs=e.ttlMs),e.enabled!==void 0&&(this.config.enabled=e.enabled)}enable(){this.config.enabled=!0}disable(){this.config.enabled=!1}getConfig(){return{...this.config}}},st=new ee;var ye=class{constructor(e={}){this.patternMatcher=new ue,this.languages=new Set(Te()),e.cache===!1?this.cache=new ee({enabled:!1}):this.cache=e.cache?new ee(e.cache):st}analyze(e,t){if(!this.supportsLanguage(t))return{confidence:0,errors:[`Language '${t}' is not supported for semantic parsing`]};let n=this.cache.get(e,t);if(n)return n;let r=this.analyzeUncached(e,t);return this.cache.set(e,t,r),r}analyzeUncached(e,t){try{try{let a=U(e,t),l={confidence:a.metadata?.confidence??.8,node:a};return a.kind==="command"?{...l,command:{name:a.action,roles:a.roles}}:l}catch{}let n=Gt(t);if(!n)return{confidence:0,errors:[`No tokenizer available for language '${t}'`]};let r=n.tokenize(e),i=O(t);if(i.length===0)return{confidence:0,errors:[`No patterns available for language '${t}'`]};let s=this.patternMatcher.matchBest(r,i);if(s){let a=this.buildSemanticNode(s);return{confidence:s.confidence,command:{name:s.pattern.command,roles:s.captured},node:a,tokensConsumed:s.consumedTokens}}return{confidence:0,errors:["No pattern matched the input"]}}catch(n){return{confidence:0,errors:[n instanceof Error?n.message:String(n)]}}}supportsLanguage(e){return this.languages.has(e)}supportedLanguages(){return Array.from(this.languages)}getCacheStats(){return this.cache.getStats()}clearCache(){this.cache.clear()}configureCache(e){this.cache.configure(e)}buildSemanticNode(e){return{kind:"command",action:e.pattern.command,roles:e.captured,metadata:{patternId:e.pattern.id}}}};function Zt(o){return new ye(o)}var lt=.5,Yt=.8;function Jt(o,e=lt){return o.confidence>=e&&o.command!==void 0}var Do="1.0.0-en-tr",en=["en","tr"];function Fo(){return[...en]}function tn(o){if(!en.includes(o))throw new Error(`Language not supported in this bundle: ${o}. Supported: en, tr`)}function Xo(o,e){return tn(e),[...oe(o,e).tokens]}function nn(o){return tn(o),O(o)}function Qo(o,e){return nn(o).filter(t=>t.command===e).sort((t,n)=>n.priority-t.priority)}return pn(Zo);})();
|