@lokascript/semantic 1.3.0 → 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 +7 -30
- package/dist/languages/bn.d.ts.map +1 -0
- package/dist/languages/bn.js +83 -21
- package/dist/languages/bn.js.map +1 -1
- 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 +18 -17
- package/dist/languages/es-MX.d.ts.map +1 -0
- package/dist/languages/es-MX.js +66 -13
- package/dist/languages/es-MX.js.map +1 -1
- package/dist/languages/es.d.ts +6 -10
- 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 +6 -67
- package/dist/languages/he.d.ts.map +1 -0
- package/dist/languages/he.js +60 -13
- package/dist/languages/he.js.map +1 -1
- package/dist/languages/hi.d.ts +14 -32
- package/dist/languages/hi.d.ts.map +1 -0
- package/dist/languages/hi.js +60 -13
- package/dist/languages/hi.js.map +1 -1
- 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 +6 -50
- package/dist/languages/it.d.ts.map +1 -0
- package/dist/languages/it.js +60 -13
- package/dist/languages/it.js.map +1 -1
- 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 +7 -29
- package/dist/languages/ms.d.ts.map +1 -0
- package/dist/languages/ms.js +58 -13
- package/dist/languages/ms.js.map +1 -1
- package/dist/languages/pl.d.ts +8 -33
- package/dist/languages/pl.d.ts.map +1 -0
- package/dist/languages/pl.js +277 -22
- package/dist/languages/pl.js.map +1 -1
- 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 +14 -33
- package/dist/languages/ru.d.ts.map +1 -0
- package/dist/languages/ru.js +371 -22
- package/dist/languages/ru.js.map +1 -1
- 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 +7 -32
- package/dist/languages/th.d.ts.map +1 -0
- package/dist/languages/th.js +60 -13
- package/dist/languages/th.js.map +1 -1
- package/dist/languages/tl.d.ts +7 -29
- package/dist/languages/tl.d.ts.map +1 -0
- package/dist/languages/tl.js +75 -23
- package/dist/languages/tl.js.map +1 -1
- 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 +14 -33
- package/dist/languages/uk.d.ts.map +1 -0
- package/dist/languages/uk.js +357 -22
- package/dist/languages/uk.js.map +1 -1
- package/dist/languages/vi.d.ts +7 -56
- package/dist/languages/vi.d.ts.map +1 -0
- package/dist/languages/vi.js +59 -13
- package/dist/languages/vi.js.map +1 -1
- 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/{spanish-BedpM-NU.d.ts → tokenizers/spanish.d.ts} +5 -7
- 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 +38 -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 LokaScriptSemanticAr=(()=>{var he=Object.defineProperty;var ct=Object.getOwnPropertyDescriptor;var lt=Object.getOwnPropertyNames;var ut=Object.prototype.hasOwnProperty;var dt=(r,e)=>{for(var t in e)he(r,t,{get:e[t],enumerable:!0})},pt=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of lt(e))!ut.call(r,i)&&i!==t&&he(r,i,{get:()=>e[i],enumerable:!(n=ct(e,i))||n.enumerable});return r};var mt=r=>pt(he({},"__esModule",{value:!0}),r);var In={};dt(In,{ASTBuilder:()=>ne,DEFAULT_CONFIDENCE_THRESHOLD:()=>ze,HIGH_CONFIDENCE_THRESHOLD:()=>it,SemanticAnalyzerImpl:()=>re,VERSION:()=>Mn,arabicProfile:()=>K,arabicTokenizer:()=>ue,buildAST:()=>nt,canParse:()=>Pe,createCommandNode:()=>O,createEventHandler:()=>D,createLiteral:()=>T,createPropertyPath:()=>F,createReference:()=>C,createSelector:()=>V,createSemanticAnalyzer:()=>rt,fromExplicit:()=>Ce,getCommandMapper:()=>te,getPatternsForLanguage:()=>st,getPatternsForLanguageAndCommand:()=>On,getProfile:()=>Se,getSupportedLanguages:()=>zn,getTokenizer:()=>xe,isExplicitSyntax:()=>q,isLanguageSupported:()=>je,parse:()=>H,parseAny:()=>Re,parseExplicit:()=>$,registerCommandMapper:()=>Me,render:()=>J,renderExplicit:()=>ee,shouldUseSemanticResult:()=>ot,toExplicit:()=>we,tokenize:()=>Vn,tryGetProfile:()=>M});var w=new Map,I=new Map,X=new Map;var Ve=null;function Ie(r,e){let t={...r};for(let n of Object.keys(e)){let i=e[n],o=r[n];i!==void 0&&(typeof i=="object"&&i!==null&&!Array.isArray(i)&&typeof o=="object"&&o!==null&&!Array.isArray(o)?t[n]=Ie(o,i):t[n]=i)}return t}function ft(r,e){return Ie(r,e)}function ye(r){if(!r.extends)return r;let e=I.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=ye(e);return ft(t,r)}function _e(r,e,t){w.set(r,e),I.set(r,t),X.delete(r)}var Oe=new Map;function _(r){return r.split("-")[0]}function B(r){return r.includes("-")}function xe(r){let e=w.get(r);if(!e&&B(r)){let t=_(r);e=w.get(t)}if(!e){let t=Array.from(w.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 Se(r){let e=I.get(r);if(!e&&B(r)){let t=_(r);e=I.get(t)}if(!e){let t=Array.from(I.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 ye(e)}function Be(r){let e=w.get(r);return!e&&B(r)&&(e=w.get(_(r))),e}function M(r){let e=I.get(r);return!e&&B(r)&&(e=I.get(_(r))),e?ye(e):void 0}function ie(){return Array.from(w.keys())}function je(r){return w.has(r)?!0:B(r)?w.has(_(r)):!1}function Ke(r,e){return xe(e).tokenize(r)}function N(r){let e=X.get(r);if(!e&&B(r)&&(e=X.get(_(r))),e)return e;let t=Oe.get(r);if(!t&&B(r)&&(t=Oe.get(_(r))),t)return X.set(r,t),t;if(!Ve)throw new Error(`No patterns registered for language '${r}'. Either import the language module or set a pattern generator.`);let n=Se(r),i=Ve(n);return X.set(r,i),i}function We(r,e){return N(r).filter(t=>t.command===e).sort((t,n)=>n.priority-t.priority)}var j=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 v(r,e,t,n){if(typeof n=="string")return{value:r,kind:e,position:t,normalized:n};if(n){let{normalized:i,stem:o,stemConfidence:s}=n,a={value:r,kind:e,position:t};return i!==void 0&&(a.normalized=i),o!==void 0&&(a.stem=o,s!==void 0&&(a.stemConfidence=s)),a}return{value:r,kind:e,position:t}}function A(r){return/\s/.test(r)}function ae(r){return r==="#"||r==="."||r==="["||r==="@"||r==="*"||r==="<"}function se(r){return r==='"'||r==="'"||r==="`"||r==="\u300C"||r==="\u300D"}function P(r){return/\d/.test(r)}function $e(r){return/[a-zA-Z]/.test(r)}function E(r){return/[a-zA-Z0-9_-]/.test(r)}function ve(r){return e=>{let t=e.charCodeAt(0);return r.some(([n,i])=>t>=n&&t<=i)}}function Ue(r,e){if(e>=r.length)return null;let t=r[e];if(!ae(t))return null;let n=e,i="";if(t==="#"||t==="."){for(i+=r[n++];n<r.length&&E(r[n]);)i+=r[n++];if(i.length<=1)return null;if(n<r.length&&r[n]==="."&&t==="#"){let s=n+1;for(;s<r.length&&E(r[s]);)s++;if(s<r.length&&r[s]==="(")return i}}else if(t==="["){let o=1,s=!1,a=null,c=!1;for(i+=r[n++];n<r.length&&o>0;){let l=r[n];i+=l,c?c=!1:l==="\\"?c=!0:s?l===a&&(s=!1,a=null):l==='"'||l==="'"||l==="`"?(s=!0,a=l):l==="["?o++:l==="]"&&o--,n++}if(o!==0)return null}else if(t==="@"){for(i+=r[n++];n<r.length&&E(r[n]);)i+=r[n++];if(i.length<=1)return null}else if(t==="*"){for(i+=r[n++];n<r.length&&E(r[n]);)i+=r[n++];if(i.length<=1)return null}else if(t==="<"){if(i+=r[n++],n>=r.length||!$e(r[n]))return null;for(;n<r.length&&E(r[n]);)i+=r[n++];for(;n<r.length;){let o=r[n];if(o==="."){if(i+=r[n++],n>=r.length||!E(r[n]))return null;for(;n<r.length&&E(r[n]);)i+=r[n++]}else if(o==="#"){if(i+=r[n++],n>=r.length||!E(r[n]))return null;for(;n<r.length&&E(r[n]);)i+=r[n++]}else if(o==="["){let s=1,a=!1,c=null,l=!1;for(i+=r[n++];n<r.length&&s>0;){let p=r[n];i+=p,l?l=!1:p==="\\"?l=!0:a?p===c&&(a=!1,c=null):p==='"'||p==="'"||p==="`"?(a=!0,c=p):p==="["?s++:p==="]"&&s--,n++}if(s!==0)return null}else break}for(;n<r.length&&A(r[n]);)i+=r[n++];if(n<r.length&&r[n]==="/")for(i+=r[n++];n<r.length&&A(r[n]);)i+=r[n++];if(n>=r.length||r[n]!==">")return null;i+=r[n++]}return i||null}function gt(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 A(n)||n==="*"||!E(n)}function Fe(r,e){if(e>=r.length)return null;let t=r[e];if(!se(t)||t==="'"&>(r,e))return null;let i={'"':'"',"'":"'","`":"`","\u300C":"\u300D"}[t];if(!i)return null;let o=e+1,s=t,a=!1;for(;o<r.length;){let c=r[o];if(s+=c,a)a=!1;else if(c==="\\")a=!0;else if(c===i)return s;o++}return s}function ce(r,e){if(e>=r.length)return!1;let t=r[e],n=r[e+1]||"",i=r[e+2]||"";if(t==="/"&&n!=="/"&&/[a-zA-Z0-9._-]/.test(n)||t==="/"&&n==="/"&&/[a-zA-Z]/.test(i)||t==="."&&(n==="/"||n==="."&&i==="/"))return!0;let o=r.slice(e,e+8).toLowerCase();return!!(o.startsWith("http://")||o.startsWith("https://"))}function De(r,e){if(!ce(r,e))return null;let t=e,n="",i=/[a-zA-Z0-9/:._\-?&=%@+~!$'()*,;[\]]/;for(;t<r.length;){let o=r[t];if(o==="#"){if(n.length>0&&/[a-zA-Z0-9/.]$/.test(n))for(n+=o,t++;t<r.length&&/[a-zA-Z0-9_-]/.test(r[t]);)n+=r[t++];break}if(i.test(o))n+=o,t++;else break}return n.length<2?null:n}function qe(r,e){if(e>=r.length)return null;let t=r[e];if(!P(t)&&t!=="-"&&t!=="+")return null;let n=e,i="";if((r[n]==="-"||r[n]==="+")&&(i+=r[n++]),n>=r.length||!P(r[n]))return null;for(;n<r.length&&P(r[n]);)i+=r[n++];if(n<r.length&&r[n]===".")for(i+=r[n++];n<r.length&&P(r[n]);)i+=r[n++];return n<r.length&&(r.slice(n,n+2)==="ms"?i+="ms":(r[n]==="s"||r[n]==="m"||r[n]==="h")&&(i+=r[n])),i}var oe=class oe{constructor(){this.profileKeywords=[];this.profileKeywordMap=new Map}initializeKeywordsFromProfile(e,t=[]){let n=new Map;if(e.keywords){for(let[i,o]of Object.entries(e.keywords))if(n.set(o.primary,{native:o.primary,normalized:o.normalized||i}),o.alternatives)for(let s of o.alternatives)n.set(s,{native:s,normalized:o.normalized||i})}if(e.references)for(let[i,o]of Object.entries(e.references))n.set(o,{native:o,normalized:i});if(e.roleMarkers){for(let[i,o]of Object.entries(e.roleMarkers))if(o.primary&&n.set(o.primary,{native:o.primary,normalized:i}),o.alternatives)for(let s of o.alternatives)n.set(s,{native:s,normalized:i})}for(let i of t)n.set(i.native,i);this.profileKeywords=Array.from(n.values()).sort((i,o)=>o.native.length-i.native.length),this.profileKeywordMap=new Map;for(let i of this.profileKeywords){this.profileKeywordMap.set(i.native.toLowerCase(),i);let o=this.removeDiacritics(i.native);o!==i.native&&!this.profileKeywordMap.has(o.toLowerCase())&&this.profileKeywordMap.set(o.toLowerCase(),i)}}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 v(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(i=>n.startsWith(i.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 i=this.tryNormalize(e);if(!i)return null;let o=this.lookupKeyword(i.stem);if(!o)return null;let s={normalized:o.normalized,stem:i.stem,stemConfidence:i.confidence};return v(e,"keyword",S(t,n),s)}trySelector(e,t){let n=Ue(e,t);return n?v(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 i=n[0].replace(/(\s|\.)$/,""),o=i.slice(1).split("(")[0],s=n[1];return{...v(i,"event-modifier",S(t,t+i.length)),metadata:{modifierName:o,value:s?o==="queue"?s:parseInt(s,10):void 0}}}tryString(e,t){let n=Fe(e,t);return n?v(n,"literal",S(t,t+n.length)):null}tryNumber(e,t){let n=qe(e,t);return n?v(n,"literal",S(t,t+n.length)):null}tryMatchTimeUnit(e,t,n,i=!1){let o=t;if(i)for(;o<e.length&&A(e[o]);)o++;let s=e.slice(o);for(let a of n){let c=s.slice(0,a.length);if(a.caseInsensitive?c.toLowerCase()===a.pattern.toLowerCase():c===a.pattern){if(a.notFollowedBy&&(s[a.length]||"")===a.notFollowedBy)continue;if(a.checkBoundary){let p=s[a.length]||"";if(E(p))continue}return{suffix:a.suffix,endPos:o+a.length}}}return null}parseBaseNumber(e,t,n=!0){let i=t,o="";if(n&&(e[i]==="-"||e[i]==="+")&&(o+=e[i++]),i>=e.length||!P(e[i]))return null;for(;i<e.length&&P(e[i]);)o+=e[i++];if(i<e.length&&e[i]===".")for(o+=e[i++];i<e.length&&P(e[i]);)o+=e[i++];return!o||o==="-"||o==="+"?null:{number:o,endPos:i}}tryNumberWithTimeUnits(e,t,n,i={}){let{allowSign:o=!0,skipWhitespace:s=!1}=i,a=this.parseBaseNumber(e,t,o);if(!a)return null;let{number:c,endPos:l}=a,p=[...n,...oe.STANDARD_TIME_UNITS],x=this.tryMatchTimeUnit(e,l,p,s);return x&&(c+=x.suffix,l=x.endPos),v(c,"literal",S(t,l))}tryUrl(e,t){let n=De(e,t);return n?v(n,"url",S(t,t+n.length)):null}tryVariableRef(e,t){if(e[t]!==":"||t+1>=e.length||!E(e[t+1]))return null;let n=t+1;for(;n<e.length&&E(e[n]);)n++;let i=e.slice(t,n);return v(i,"identifier",S(t,n))}tryOperator(e,t){let n=e.slice(t,t+2);if(["==","!=","<=",">=","&&","||","->"].includes(n))return v(n,"operator",S(t,t+2));let i=e[t];return["<",">","!","+","-","*","/","="].includes(i)?v(i,"operator",S(t,t+1)):["(",")","{","}",",",";",":"].includes(i)?v(i,"punctuation",S(t,t+1)):null}tryMultiCharParticle(e,t,n){for(let i of n)if(e.slice(t,t+i.length)===i)return v(i,"particle",S(t,t+i.length));return null}};oe.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 Z=oe;function He(r){return{stem:r,confidence:1}}function Ge(r,e,t){return t?{stem:r,confidence:e,metadata:t}:{stem:r,confidence:e}}function ht(r){let e=r.charCodeAt(0);return e>=1536&&e<=1791||e>=1872&&e<=1919||e>=2208&&e<=2303||e>=64336&&e<=65023||e>=65136&&e<=65279}function yt(r){for(let e of r)if(ht(e))return!0;return!1}function xt(r){return r.replace(/[\u064B-\u0652\u0670]/g,"")}var St=[{pattern:"\u0648\u0627\u0644",confidencePenalty:.15,prefixType:"conjunction"},{pattern:"\u0641\u0627\u0644",confidencePenalty:.15,prefixType:"conjunction"},{pattern:"\u0628\u0627\u0644",confidencePenalty:.15,prefixType:"preposition"},{pattern:"\u0643\u0627\u0644",confidencePenalty:.15,prefixType:"preposition"},{pattern:"\u0644\u0644",confidencePenalty:.12,prefixType:"preposition"}],vt=[{pattern:"\u0627\u0644",confidencePenalty:.08,prefixType:"article",minRemaining:2},{pattern:"\u0648",confidencePenalty:.08,prefixType:"conjunction",minRemaining:3},{pattern:"\u0641",confidencePenalty:.08,prefixType:"conjunction",minRemaining:3},{pattern:"\u0628",confidencePenalty:.1,prefixType:"preposition",minRemaining:3},{pattern:"\u0644",confidencePenalty:.1,prefixType:"preposition",minRemaining:3},{pattern:"\u0643",confidencePenalty:.1,prefixType:"preposition",minRemaining:3}],Tt=[{pattern:"\u064A",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3},{pattern:"\u062A",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3},{pattern:"\u0646",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3},{pattern:"\u0623",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3},{pattern:"\u0627",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3}],bt=[{pattern:"\u0648\u0646",confidencePenalty:.1,type:"masculine-plural"},{pattern:"\u064A\u0646",confidencePenalty:.1,type:"masculine-plural-accusative"},{pattern:"\u0627\u062A",confidencePenalty:.1,type:"feminine-plural"},{pattern:"\u0627\u0646",confidencePenalty:.1,type:"dual-nominative"},{pattern:"\u064A\u0646",confidencePenalty:.1,type:"dual-accusative"},{pattern:"\u0647\u0627",confidencePenalty:.1,type:"pronoun-her"},{pattern:"\u0647\u0645",confidencePenalty:.1,type:"pronoun-them"},{pattern:"\u0647\u0646",confidencePenalty:.1,type:"pronoun-them-f"},{pattern:"\u0646\u0627",confidencePenalty:.1,type:"pronoun-us"},{pattern:"\u0643\u0645",confidencePenalty:.1,type:"pronoun-you-pl"},{pattern:"\u0643",confidencePenalty:.08,type:"pronoun-you"},{pattern:"\u0647",confidencePenalty:.08,type:"pronoun-him"},{pattern:"\u064A",confidencePenalty:.08,type:"pronoun-me"},{pattern:"\u0629",confidencePenalty:.08,type:"feminine"}],Q=class{constructor(){this.language="ar"}isNormalizable(e){return!(!yt(e)||e.length<2)}normalize(e){let t=xt(e),n=1,i=[],o=[];for(let a of St)if(t.startsWith(a.pattern)){let c=t.slice(a.pattern.length);if(c.length>=2){t=c,n-=a.confidencePenalty,i.push(a.pattern);break}}if(i.length===0){for(let a of vt)if(t.startsWith(a.pattern)){let c=t.slice(a.pattern.length),l=a.minRemaining??2;if(c.length>=l){t=c,n-=a.confidencePenalty,i.push(a.pattern);break}}}if(!(t.endsWith("\u0627\u062A")||t.endsWith("\u0629")||t.endsWith("\u0648\u0646")||t.endsWith("\u064A\u0646")||t.endsWith("\u0647\u0627")||t.endsWith("\u0647\u0645")||t.endsWith("\u0647\u0646")||t.endsWith("\u0646\u0627")||t.endsWith("\u0643\u0645"))&&(i.length===0||i[0]==="\u0648"||i[0]==="\u0641")){for(let a of Tt)if(t.startsWith(a.pattern)){let c=t.slice(a.pattern.length),l=a.minRemaining??3;if(c.length>=l){t=c,n-=a.confidencePenalty,i.push(a.pattern);break}}}for(let a of bt)if(t.endsWith(a.pattern)){let c=t.slice(0,-a.pattern.length);c.length>=2&&(t=c,n-=a.confidencePenalty,o.push(a.pattern))}return n=Math.max(.5,n),i.length===0&&o.length===0?He(e):Ge(t,n,{removedPrefixes:i,removedSuffixes:o})}},$n=new Q;var K={code:"ar",name:"Arabic",nativeName:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629",direction:"rtl",wordOrder:"VSO",markingStrategy:"preposition",usesSpaces:!0,verb:{position:"start",subjectDrop:!0},references:{me:"\u0623\u0646\u0627",it:"\u0647\u0648",you:"\u0623\u0646\u062A",result:"\u0627\u0644\u0646\u062A\u064A\u062C\u0629",event:"\u0627\u0644\u062D\u062F\u062B",target:"\u0627\u0644\u0647\u062F\u0641",body:"\u0627\u0644\u062C\u0633\u0645"},possessive:{marker:"",markerPosition:"after-object",usePossessiveAdjectives:!0,specialForms:{me:"\u0644\u064A",it:"\u0644\u0647",you:"\u0644\u0643"},keywords:{\u0644\u064A:"me",\u0644\u0643:"you",\u0644\u0647:"it",\u0644\u0647\u0627:"it"}},roleMarkers:{destination:{primary:"\u0639\u0644\u0649",alternatives:["\u0641\u064A","\u0625\u0644\u0649","\u0628"],position:"before"},source:{primary:"\u0645\u0646",position:"before"},patient:{primary:"",position:"before"},style:{primary:"\u0628\u0640",alternatives:["\u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645"],position:"before"}},keywords:{toggle:{primary:"\u0628\u062F\u0651\u0644",alternatives:["\u0628\u062F\u0644","\u063A\u064A\u0651\u0631","\u063A\u064A\u0631"],normalized:"toggle"},add:{primary:"\u0623\u0636\u0641",alternatives:["\u0627\u0636\u0641","\u0632\u0650\u062F"],normalized:"add"},remove:{primary:"\u0627\u062D\u0630\u0641",alternatives:["\u0623\u0632\u0644","\u0627\u0645\u0633\u062D"],normalized:"remove"},put:{primary:"\u0636\u0639",alternatives:["\u0627\u062C\u0639\u0644"],normalized:"put"},append:{primary:"\u0623\u0644\u062D\u0642",normalized:"append"},prepend:{primary:"\u0633\u0628\u0642",normalized:"prepend"},take:{primary:"\u062E\u0630",normalized:"take"},make:{primary:"\u0627\u0635\u0646\u0639",alternatives:["\u0623\u0646\u0634\u0626"],normalized:"make"},clone:{primary:"\u0627\u0633\u062A\u0646\u0633\u062E",alternatives:["\u0627\u0646\u0633\u062E"],normalized:"clone"},swap:{primary:"\u0627\u0633\u062A\u0628\u062F\u0644",alternatives:["\u062A\u0628\u0627\u062F\u0644"],normalized:"swap"},morph:{primary:"\u062D\u0648\u0651\u0644",alternatives:["\u063A\u064A\u0651\u0631"],normalized:"morph"},set:{primary:"\u0627\u0636\u0628\u0637",alternatives:["\u0639\u064A\u0651\u0646","\u062D\u062F\u062F"],normalized:"set"},get:{primary:"\u0627\u062D\u0635\u0644",normalized:"get"},increment:{primary:"\u0632\u0650\u062F",alternatives:["\u0632\u062F","\u0627\u0631\u0641\u0639"],normalized:"increment"},decrement:{primary:"\u0623\u0646\u0642\u0635",alternatives:["\u0627\u0646\u0642\u0635","\u0642\u0644\u0644"],normalized:"decrement"},log:{primary:"\u0633\u062C\u0644",normalized:"log"},show:{primary:"\u0627\u0638\u0647\u0631",alternatives:["\u0623\u0638\u0647\u0631","\u0627\u0639\u0631\u0636"],normalized:"show"},hide:{primary:"\u0627\u062E\u0641",alternatives:["\u0623\u062E\u0641\u0650","\u0627\u062E\u0641\u064A","\u0623\u062E\u0641"],normalized:"hide"},transition:{primary:"\u0627\u0646\u062A\u0642\u0627\u0644",alternatives:["\u0627\u0646\u062A\u0642\u0644"],normalized:"transition"},on:{primary:"\u0639\u0644\u0649",alternatives:["\u0639\u0646\u062F","\u0644\u062F\u0649","\u062D\u064A\u0646"],normalized:"on"},trigger:{primary:"\u062A\u0634\u063A\u064A\u0644",alternatives:["\u0623\u0637\u0644\u0642","\u0641\u0639\u0651\u0644"],normalized:"trigger"},send:{primary:"\u0623\u0631\u0633\u0644",normalized:"send"},focus:{primary:"\u062A\u0631\u0643\u064A\u0632",alternatives:["\u0631\u0643\u0632"],normalized:"focus"},blur:{primary:"\u0636\u0628\u0627\u0628\u064A\u0629",alternatives:["\u0634\u0648\u0634"],normalized:"blur"},go:{primary:"\u0627\u0630\u0647\u0628",alternatives:["\u0627\u0646\u062A\u0642\u0644"],normalized:"go"},wait:{primary:"\u0627\u0646\u062A\u0638\u0631",normalized:"wait"},fetch:{primary:"\u0627\u062D\u0636\u0631",alternatives:["\u062C\u0644\u0628"],normalized:"fetch"},settle:{primary:"\u0627\u0633\u062A\u0642\u0631",normalized:"settle"},if:{primary:"\u0625\u0630\u0627",normalized:"if"},when:{primary:"\u0639\u0646\u062F\u0645\u0627",normalized:"when"},where:{primary:"\u0623\u064A\u0646",normalized:"where"},else:{primary:"\u0648\u0625\u0644\u0627",alternatives:["\u062E\u0644\u0627\u0641 \u0630\u0644\u0643"],normalized:"else"},repeat:{primary:"\u0643\u0631\u0631",normalized:"repeat"},for:{primary:"\u0644\u0643\u0644",normalized:"for"},while:{primary:"\u0628\u064A\u0646\u0645\u0627",normalized:"while"},continue:{primary:"\u0648\u0627\u0635\u0644",normalized:"continue"},halt:{primary:"\u0623\u0648\u0642\u0641",alternatives:["\u062A\u0648\u0642\u0641"],normalized:"halt"},throw:{primary:"\u0627\u0631\u0645",alternatives:["\u0627\u0631\u0645\u0650"],normalized:"throw"},call:{primary:"\u0627\u0633\u062A\u062F\u0639",alternatives:["\u0646\u0627\u062F\u0650"],normalized:"call"},return:{primary:"\u0627\u0631\u062C\u0639",alternatives:["\u0639\u064F\u062F"],normalized:"return"},then:{primary:"\u062B\u0645",alternatives:["\u0628\u0639\u062F\u0647\u0627","\u062B\u0645\u0651"],normalized:"then"},and:{primary:"\u0648\u0623\u064A\u0636\u0627\u064B",alternatives:["\u0623\u064A\u0636\u0627\u064B"],normalized:"and"},end:{primary:"\u0646\u0647\u0627\u064A\u0629",alternatives:["\u0627\u0646\u062A\u0647\u0649","\u0622\u062E\u0631"],normalized:"end"},js:{primary:"\u062C\u0627\u0641\u0627\u0633\u0643\u0631\u0628\u062A",alternatives:["js"],normalized:"js"},async:{primary:"\u0645\u062A\u0632\u0627\u0645\u0646",normalized:"async"},tell:{primary:"\u0623\u062E\u0628\u0631",normalized:"tell"},default:{primary:"\u0627\u0641\u062A\u0631\u0627\u0636\u064A",normalized:"default"},init:{primary:"\u062A\u0647\u064A\u0626\u0629",alternatives:["\u0628\u062F\u0621"],normalized:"init"},behavior:{primary:"\u0633\u0644\u0648\u0643",normalized:"behavior"},install:{primary:"\u062A\u062B\u0628\u064A\u062A",alternatives:["\u062B\u0628\u0651\u062A"],normalized:"install"},measure:{primary:"\u0642\u064A\u0627\u0633",alternatives:["\u0642\u0650\u0633"],normalized:"measure"},into:{primary:"\u0641\u064A",alternatives:["\u0625\u0644\u0649"],normalized:"into"},before:{primary:"\u0642\u0628\u0644",normalized:"before"},after:{primary:"\u0628\u0639\u062F",normalized:"after"},until:{primary:"\u062D\u062A\u0649",normalized:"until"},event:{primary:"\u062D\u062F\u062B",normalized:"event"},from:{primary:"\u0645\u0646",normalized:"from"}},tokenization:{prefixes:["\u0627\u0644","\u0648","\u0641","\u0628","\u0643","\u0644"]},eventHandler:{eventMarker:{primary:"\u0639\u0646\u062F",alternatives:["\u0641\u064A","\u0644\u062F\u0649","\u0639\u0646\u062F\u0645\u0627","\u062D\u064A\u0646","\u062D\u064A\u0646\u0645\u0627","\u0644\u0645\u0651\u0627","\u0644\u0645\u0627"],position:"before"},temporalMarkers:["\u0639\u0646\u062F\u0645\u0627","\u062D\u064A\u0646","\u0644\u0645\u0651\u0627"],negationMarker:{primary:"\u0639\u062F\u0645",alternatives:["\u0639\u062F\u0645"],position:"before"}}};var z=ve([[1536,1791],[1872,1919],[2208,2303],[64336,65023],[65136,65279]]),Et=new Set(["\u0628\u0640","\u0644\u0640","\u0643\u0640","\u0648\u0640"]),Te=new Map([["\u0648",{normalized:"and",type:"conjunction"}],["\u0641",{normalized:"then",type:"conjunction"}],["\u0628",{normalized:"with",type:"preposition"}],["\u0644",{normalized:"to",type:"preposition"}],["\u0643",{normalized:"like",type:"preposition"}],["\u0648\u0644",{normalized:"and-to",type:"conjunction"}],["\u0648\u0628",{normalized:"and-with",type:"conjunction"}],["\u0648\u0643",{normalized:"and-like",type:"conjunction"}],["\u0641\u0644",{normalized:"then-to",type:"conjunction"}],["\u0641\u0628",{normalized:"then-with",type:"conjunction"}],["\u0641\u0643",{normalized:"then-like",type:"conjunction"}]]),Xe=new Map([["\u0639\u0646\u062F\u0645\u0627",{normalized:"on",formality:"formal",confidence:.95,description:"when (formal MSA)"}],["\u062D\u064A\u0646\u0645\u0627",{normalized:"on",formality:"formal",confidence:.93,description:"when/whenever (formal)"}],["\u0639\u0646\u062F",{normalized:"on",formality:"neutral",confidence:.88,description:"at/when (neutral)"}],["\u062D\u064A\u0646",{normalized:"on",formality:"neutral",confidence:.85,description:"when/time (neutral)"}],["\u0644\u0645\u0651\u0627",{normalized:"on",formality:"dialectal",confidence:.7,description:"when (dialectal, with shadda)"}],["\u0644\u0645\u0627",{normalized:"on",formality:"dialectal",confidence:.68,description:"when (dialectal, no diacritic)"}],["\u0644\u062F\u0649",{normalized:"on",formality:"neutral",confidence:.82,description:"at/with (temporal)"}]]),le=new Set(["\u0641\u064A","\u0639\u0644\u0649","\u0645\u0646","\u0625\u0644\u0649","\u0627\u0644\u0649","\u0645\u0639","\u0639\u0646","\u0642\u0628\u0644","\u0628\u0639\u062F","\u0628\u064A\u0646"]),kt=[{native:"\u0635\u062D\u064A\u062D",normalized:"true"},{native:"\u062E\u0637\u0623",normalized:"false"},{native:"null",normalized:"null"},{native:"\u0641\u0627\u0631\u063A",normalized:"null"},{native:"\u063A\u064A\u0631 \u0645\u0639\u0631\u0641",normalized:"undefined"},{native:"\u0627\u0644\u0623\u0648\u0644",normalized:"first"},{native:"\u0623\u0648\u0644",normalized:"first"},{native:"\u0627\u0644\u0623\u062E\u064A\u0631",normalized:"last"},{native:"\u0622\u062E\u0631",normalized:"last"},{native:"\u0627\u0644\u062A\u0627\u0644\u064A",normalized:"next"},{native:"\u0627\u0644\u0633\u0627\u0628\u0642",normalized:"previous"},{native:"\u0627\u0644\u0623\u0642\u0631\u0628",normalized:"closest"},{native:"\u0627\u0644\u0623\u0628",normalized:"parent"},{native:"\u0627\u0644\u0646\u0642\u0631",normalized:"click"},{native:"\u0646\u0642\u0631",normalized:"click"},{native:"\u0627\u0644\u0625\u062F\u062E\u0627\u0644",normalized:"input"},{native:"\u0625\u062F\u062E\u0627\u0644",normalized:"input"},{native:"\u0627\u0644\u062A\u063A\u064A\u064A\u0631",normalized:"change"},{native:"\u062A\u063A\u064A\u064A\u0631",normalized:"change"},{native:"\u0627\u0644\u0625\u0631\u0633\u0627\u0644",normalized:"submit"},{native:"\u0625\u0631\u0633\u0627\u0644",normalized:"submit"},{native:"\u0627\u0644\u062A\u0631\u0643\u064A\u0632",normalized:"focus"},{native:"\u0641\u0642\u062F\u0627\u0646 \u0627\u0644\u062A\u0631\u0643\u064A\u0632",normalized:"blur"},{native:"\u0636\u063A\u0637",normalized:"keydown"},{native:"\u0631\u0641\u0639",normalized:"keyup"},{native:"\u062A\u0645\u0631\u064A\u0631 \u0627\u0644\u0641\u0623\u0631\u0629",normalized:"mouseover"},{native:"\u0645\u063A\u0627\u062F\u0631\u0629 \u0627\u0644\u0641\u0623\u0631\u0629",normalized:"mouseout"},{native:"\u062A\u062D\u0645\u064A\u0644",normalized:"load"},{native:"\u062A\u0645\u0631\u064A\u0631",normalized:"scroll"},{native:"\u0647\u064A",normalized:"it"},{native:"\u062B\u0627\u0646\u064A\u0629",normalized:"s"},{native:"\u062B\u0648\u0627\u0646\u064A",normalized:"s"},{native:"\u0645\u0644\u064A \u062B\u0627\u0646\u064A\u0629",normalized:"ms"},{native:"\u062F\u0642\u064A\u0642\u0629",normalized:"m"},{native:"\u062F\u0642\u0627\u0626\u0642",normalized:"m"},{native:"\u0633\u0627\u0639\u0629",normalized:"h"},{native:"\u0633\u0627\u0639\u0627\u062A",normalized:"h"}],Nt=[{pattern:"\u0645\u0644\u064A \u062B\u0627\u0646\u064A\u0629",suffix:"ms",length:9,caseInsensitive:!1},{pattern:"\u0645\u0644\u064A_\u062B\u0627\u0646\u064A\u0629",suffix:"ms",length:8,caseInsensitive:!1},{pattern:"\u062F\u0642\u0627\u0626\u0642",suffix:"m",length:5,caseInsensitive:!1},{pattern:"\u062F\u0642\u064A\u0642\u0629",suffix:"m",length:5,caseInsensitive:!1},{pattern:"\u062B\u0648\u0627\u0646\u064A",suffix:"s",length:5,caseInsensitive:!1},{pattern:"\u062B\u0627\u0646\u064A\u0629",suffix:"s",length:5,caseInsensitive:!1},{pattern:"\u0633\u0627\u0639\u0627\u062A",suffix:"h",length:5,caseInsensitive:!1},{pattern:"\u0633\u0627\u0639\u0629",suffix:"h",length:4,caseInsensitive:!1}],be=class extends Z{constructor(){super();this.language="ar";this.direction="rtl";this.initializeKeywordsFromProfile(K,kt),this.normalizer=new Q}tokenize(t){let n=[],i=0;for(;i<t.length;){if(A(t[i])){i++;continue}if(ae(t[i])){let a=this.tryEventModifier(t,i);if(a){n.push(a),i=a.position.end;continue}let c=this.trySelector(t,i);if(c){n.push(c),i=c.position.end;continue}}if(se(t[i])){let a=this.tryString(t,i);if(a){n.push(a),i=a.position.end;continue}}if(ce(t,i)){let a=this.tryUrl(t,i);if(a){n.push(a),i=a.position.end;continue}}if(P(t[i])){let a=this.extractArabicNumber(t,i);if(a){n.push(a),i=a.position.end;continue}}let o=this.tryVariableRef(t,i);if(o){n.push(o),i=o.position.end;continue}let s=this.tryPreposition(t,i);if(s){n.push(s),i=s.position.end;continue}if(z(t[i])){let a=this.tryProclitic(t,i);if(a){n.push(a.conjunction),i=a.conjunction.position.end;continue}let c=this.extractArabicWord(t,i);if(c){n.push(c),i=c.position.end;continue}}if(E(t[i])){let a=this.extractAsciiWord(t,i);if(a){n.push(a),i=a.position.end;continue}}i++}return new j(n,"ar")}classifyToken(t){return le.has(t)?"particle":this.isKeyword(t)?"keyword":t.startsWith("#")||t.startsWith(".")||t.startsWith("[")?"selector":t.startsWith('"')||t.startsWith("'")||/^\d/.test(t)?"literal":"identifier"}tryPreposition(t,n){let i=Array.from(le).sort((o,s)=>s.length-o.length);for(let o of i)if(t.slice(n,n+o.length)===o){let s=n+o.length;if(s>=t.length||A(t[s])||!z(t[s]))return{...v(o,"particle",S(n,s)),metadata:{prepositionValue:o}}}return null}tryProclitic(t,n){let i=n;for(;i<t.length&&(z(t[i])||t[i]==="\u0640");)i++;let o=t.slice(n,i);if(this.lookupKeyword(o)||Xe.has(o)||le.has(o))return null;if(n+2<=t.length){let y=t.slice(n,n+2),g=Te.get(y);if(g){let d=n+2;if(d<t.length&&z(t[d])){let m=0,h=d;for(;h<t.length&&z(t[h]);)m++,h++;if(m>=2)if(Te.get(t[n])){let L=t.slice(n+1,i);if(!this.lookupKeyword(L)){let G=g.type==="conjunction"?"conjunction":"particle";return{conjunction:v(y,G,S(n,d),g.normalized)}}}else{let L=g.type==="conjunction"?"conjunction":"particle";return{conjunction:v(y,L,S(n,d),g.normalized)}}}}}let s=t[n],a=Te.get(s);if(!a)return null;let c=n+1;if(c>=t.length||!z(t[c]))return null;let l=0,p=c;for(;p<t.length&&z(t[p]);)l++,p++;if(l<2)return null;let x=a.type==="conjunction"?"conjunction":"particle";return{conjunction:v(s,x,S(n,c),a.normalized)}}extractArabicWord(t,n){let i=n,o="";for(let l of Et){let p=l.replace("\u0640","");t.slice(i,i+p.length)}for(;i<t.length&&(z(t[i])||t[i]==="\u0640");)o+=t[i++];if(!o)return null;let s=Xe.get(o);if(s)return{...v(o,"keyword",S(n,i),s.normalized),metadata:{temporalFormality:s.formality,temporalConfidence:s.confidence}};let a=this.lookupKeyword(o);if(a)return v(o,"keyword",S(n,i),a.normalized);if(le.has(o))return{...v(o,"particle",S(n,i)),metadata:{prepositionValue:o}};let c=this.tryMorphKeywordMatch(o,n,i);return c||v(o,"identifier",S(n,i))}extractAsciiWord(t,n){let i=n,o="";for(;i<t.length&&E(t[i]);)o+=t[i++];return o?v(o,"identifier",S(n,i)):null}extractArabicNumber(t,n){return this.tryNumberWithTimeUnits(t,n,Nt,{allowSign:!1,skipWhitespace:!0})}},ue=new be;_e("ar",ue,K);function Ze(r){return Be(r)}function de(r,e){return Ke(r,e)}function pe(){return ie()}function V(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 T(r,e){let t={type:"literal",value:r};return e!==void 0?{type:"literal",value:r,dataType:e}:t}function C(r){return{type:"reference",value:r}}function F(r,e){return{type:"property-path",object:r,property:e}}function O(r,e,t){let n={kind:"command",action:r,roles:new Map(Object.entries(e))};return t!==void 0?{...n,metadata:t}:n}function D(r,e,t,n,i){let o=new Map;o.set("event",r);let s={kind:"event-handler",action:"on",roles:o,body:e};return t!==void 0&&(s.eventModifiers=t),n!==void 0&&(s.metadata=n),i!==void 0&&i.length>0&&(s.parameterNames=i),s}function Qe(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 Ee(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 Ye(r,e){return r.possessive?.keywords?.[e]}var R=class R{constructor(){this.stemMatchCount=0;this.totalKeywordMatches=0}matchPattern(e,t){let n=e.mark(),i=new Map;if(this.currentProfile=M(t.language),this.stemMatchCount=0,this.totalKeywordMatches=0,!this.matchTokenSequence(e,t.template.tokens,i))return e.reset(n),null;let s=this.calculateConfidence(t,i);return this.applyExtractionRules(t,i),{pattern:t,captured:i,consumedTokens:e.position()-n.position,confidence:s}}matchBest(e,t){let n=[];for(let o of t){let s=e.mark(),a=this.matchPattern(e,o);a&&n.push(a),e.reset(s)}if(n.length===0)return null;n.sort((o,s)=>{let a=s.pattern.priority-o.pattern.priority;return a!==0?a:s.confidence-o.confidence});let i=n[0];return this.matchPattern(e,i.pattern),i}matchTokenSequence(e,t,n){let i=t[0],o=i?.type==="literal"&&(i.value==="and"||i.value==="then"||i.alternatives?.includes("and")||i.alternatives?.includes("then"));if(this.currentProfile?.code==="ar"&&!o)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 i=this.getMatchType(n,t.value);if(i!=="none")return this.totalKeywordMatches++,i==="stem"&&this.stemMatchCount++,e.advance(),!0;if(t.alternatives)for(let o of t.alternatives){let s=this.getMatchType(n,o);if(s!=="none")return this.totalKeywordMatches++,s==="stem"&&this.stemMatchCount++,e.advance(),!0}return!1}matchRoleToken(e,t,n){this.skipNoiseWords(e);let i=e.peek();if(!i)return t.optional||!1;let o=this.tryMatchPossessiveExpression(e);if(o)return t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(o.type)&&!t.expectedTypes.includes("expression")?t.optional||!1:(n.set(t.role,o),!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&&!Ee(a.type,t.expectedTypes)?t.optional||!1:(n.set(t.role,a),!0);let c=this.tryMatchPropertyAccessExpression(e);if(c)return t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(c.type)&&!t.expectedTypes.includes("expression")?t.optional||!1:(n.set(t.role,c),!0);let l=this.tryMatchSelectorPropertyExpression(e);if(l)return t.expectedTypes&&t.expectedTypes.length>0&&!Ee(l.type,t.expectedTypes)?t.optional||!1:(n.set(t.role,l),!0);let p=this.tokenToSemanticValue(i);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(),i=Ye(this.currentProfile,n);if(!i)return null;let o=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(C(i),s.value)):(e.reset(o),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 i=e.peek();if(!i||i.kind!=="operator"||i.value!==".")return e.reset(n),null;e.advance();let o=e.peek();if(!o||o.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<R.MAX_METHOD_ARGS;){let l=e.peek();if(!l)break;if(l.kind==="punctuation"&&l.value===")"){e.advance();break}if(l.kind==="punctuation"&&l.value===","){e.advance();continue}a.push(l.value),e.advance()}return{type:"expression",raw:`${t.value}.${o.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 i=e.peek();if(!i||i.kind!=="operator"||i.value!==".")return e.reset(n),null;e.advance();let o=e.peek();if(!o||o.kind!=="identifier")return e.reset(n),null;e.advance();let s=`${t.value}.${o.value}`,a=1;for(;!e.isAtEnd()&&a<R.MAX_PROPERTY_DEPTH;){let l=e.peek();if(!l||l.kind!=="operator"||l.value!==".")break;e.advance();let p=e.peek();if(!p||p.kind!=="identifier")break;e.advance(),s+=`.${p.value}`,a++}let c=e.peek();if(c&&c.kind==="punctuation"&&c.value==="("){e.advance();let l=[],p=0;for(;!e.isAtEnd()&&l.length<R.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}l.push(y.value),e.advance()}return{type:"expression",raw:`${s}(${l.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 i=e.peek();if(!i||i.kind!=="punctuation"||i.value!=="'s")return e.reset(n),null;e.advance();let o=e.peek();return!o||o.kind!=="selector"&&o.kind!=="identifier"?(e.reset(n),null):(e.advance(),F(V(t.value),o.value))}tryMatchSelectorPropertyExpression(e){let t=e.peek();if(!t||t.kind!=="selector"||!t.value.startsWith("#"))return null;let n=e.mark();e.advance();let i=e.peek();if(!i||i.kind!=="selector"||!i.value.startsWith("."))return e.reset(n),null;let o=e.peek(1);o&&o.kind,e.advance();let s=i.value.slice(1);return F(V(t.value),s)}matchGroupToken(e,t,n){let i=e.mark(),o=new Set(n.keys());if(!this.matchTokenSequence(e,t.tokens,n)){e.reset(i);for(let a of n.keys())o.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 V(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)?C(t):T(e.normalized||e.value);case"identifier":if(e.value.startsWith(":"))return C(e.value);let n=e.value.toLowerCase();return["me","you","it","result","event","target","body"].includes(n)?C(n):{type:"expression",raw:e.value};case"url":return T(e.value,"string");default:return null}}parseLiteralValue(e){if(e.startsWith('"')||e.startsWith("'")||e.startsWith("`")||e.startsWith("\u300C")){let i=e.slice(1,-1);return T(i,"string")}if(e==="true")return T(!0,"boolean");if(e==="false")return T(!1,"boolean");let t=e.match(/^(\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(t){let i=parseFloat(t[1]);return t[2]?T(e,"duration"):T(i,"number")}let n=parseFloat(e);return isNaN(n)?T(e,"string"):T(n,"number")}applyExtractionRules(e,t){for(let[n,i]of Object.entries(e.extraction))!t.has(n)&&i.default&&t.set(n,i.default)}isOptional(e){return e.optional===!0}calculateConfidence(e,t){let n=0,i=0,o=l=>e.extraction?.[l]?.default!==void 0;for(let l of e.template.tokens)if(l.type==="role")i+=1,t.has(l.role)&&(n+=1);else if(l.type==="group"){for(let p of l.tokens)if(p.type==="role"){let x=o(p.role),y=.8;i+=y,t.has(p.role)?n+=y:x&&(n+=y*.6)}}let s=i>0?n/i:1;if(this.stemMatchCount>0&&this.totalKeywordMatches>0){let l=this.stemMatchCount/this.totalKeywordMatches*.15;s=Math.max(.5,s-l)}let a=this.calculateVSOConfidenceBoost(e);s=Math.min(1,s+a);let c=this.arabicPrepositionDisambiguation(e,t);return s=Math.max(0,Math.min(1,s+c)),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 i of t.alternatives)if(n.has(i))return .15}return 0}arabicPrepositionDisambiguation(e,t){if(e.language!=="ar")return 0;let n=0,i={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[o,s]of t.entries()){let a=i[o];if(!a||a.length===0)continue;let c=s.metadata;if(c&&typeof c.prepositionValue=="string"){let l=c.prepositionValue;a.includes(l)?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(R.ENGLISH_NOISE_WORDS.has(n)){let i=e.mark();e.advance();let o=e.peek();if(o&&o.kind==="selector")return;e.reset(i)}n==="class"&&e.advance()}extractEventModifiers(e){let t={},n=!1;for(;!e.isAtEnd();){let i=e.peek();if(!i||i.kind!=="event-modifier")break;let o=i.metadata;if(!o)break;switch(n=!0,o.modifierName){case"once":t.once=!0;break;case"debounce":typeof o.value=="number"&&(t.debounce=o.value);break;case"throttle":typeof o.value=="number"&&(t.throttle=o.value);break;case"queue":(o.value==="first"||o.value==="last"||o.value==="all"||o.value==="none")&&(t.queue=o.value);break}e.advance()}return n?t:void 0}};R.MAX_PROPERTY_DEPTH=10,R.MAX_METHOD_ARGS=20,R.ENGLISH_NOISE_WORDS=new Set(["the","a","an"]);var Y=R,W=new Y;var me=class{render(e,t){if(e.kind==="compound")return this.renderCompound(e,t);let n=We(t,e.action);if(n.length===0)return this.renderExplicit(e);let i=this.findBestPattern(e,n);return i?this.renderWithPattern(e,i):this.renderExplicit(e)}renderCompound(e,t){let n=e.statements.map(o=>this.render(o,t)),i=this.getChainWord(e.chainType,t);return n.join(` ${i} `)}getChainWord(e,t){let n=M(t);return n?.keywords?n.keywords[e]?.primary??e:e}renderExplicit(e){if(e.kind==="compound"){let n=e;return n.statements.map(o=>this.renderExplicit(o)).join(` ${n.chainType} `)}let t=[e.action];for(let[n,i]of e.roles)t.push(`${n}:${this.valueToString(i)}`);if(e.kind==="event-handler"){let n=e;if(n.body&&n.body.length>0){let i=n.body.map(o=>this.renderExplicit(o));t.push(`body:${i.join(" ")}`)}}return`[${t.join(" ")}]`}supportedLanguages(){return pe()}findBestPattern(e,t){let n=t.map(i=>{let o=i.priority;for(let s of i.template.tokens)s.type==="role"&&(e.roles.has(s.role)?o+=10:s.optional||(o-=50));return i.language==="en"&&((i.id.includes("standard")||i.id.includes("en-source"))&&(o+=20),(i.id.includes("-when")||i.id.includes("-if")||i.id.includes("-upon"))&&(o-=15)),{pattern:i,score:o}});return n.sort((i,o)=>o.score-i.score),n.length>0?n[0].pattern:null}renderWithPattern(e,t){let n=[],i=t.language;for(let o of t.template.tokens){let s=this.renderPatternToken(o,e,i);s!==null&&n.push(s)}if(e.kind==="event-handler"){let o=e;if(o.body&&o.body.length>0){let s=o.body.map(a=>this.render(a,i));n.push(s.join(" "))}}return n.join(" ")}renderPatternToken(e,t,n){switch(e.type){case"literal":return e.value;case"role":{let i=t.roles.get(e.role);return i?this.valueToNaturalString(i,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 o=[];for(let s of e.tokens){let a=this.renderPatternToken(s,t,n);a!==null&&o.push(a)}return o.length>0?o.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=M(t);return n?.references?n.references[e.value]??e.value:e.value}renderPropertyPath(e,t){let n=M(t),i=e.property,o=e.object.type==="reference"?e.object.value:null;if(n?.possessive?.specialForms&&o){let a=n.possessive.specialForms[o];if(a){let{markerPosition:c,usePossessiveAdjectives:l}=n.possessive;return l&&c==="after-object"?`${i} ${a}`:`${a} ${i}`}}let s=this.valueToNaturalString(e.object,t);if(n?.possessive){let{marker:a,markerPosition:c,usePossessiveAdjectives:l}=n.possessive;if(l&&o&&c==="after-object")return`${i} ${s}`;if(a)switch(c){case"between":return n.usesSpaces?`${s}${a} ${i}`:`${s}${a}${i}`;case"after-object":return`${s}${a} ${i}`;case"before-property":return`${s} ${a} ${i}`}}return t==="en"||!n?.possessive?s==="me"?`my ${i}`:s==="it"?`its ${i}`:`${s}'s ${i}`:`${s} ${i}`}},ke=new me;function J(r,e){return ke.render(r,e)}function ee(r){return ke.renderExplicit(r)}function $(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=Pt(t);if(n.length===0)throw new Error("No command specified in explicit statement");let i=n[0].toLowerCase(),o=new Map;for(let a=1;a<n.length;a++){let c=n[a],l=c.indexOf(":");if(l===-1)throw new Error(`Invalid role format: "${c}". Expected role:value`);let p=c.slice(0,l),x=c.slice(l+1);if(p==="body"&&x.startsWith("[")){let g=Ct(c,l+1),d=c.slice(l+1,g+1);o.set(p,{type:"expression",raw:d});continue}let y=wt(x);o.set(p,y)}if(i==="on"){let a=o.get("event");if(!a)throw new Error("Event handler requires event role: [on event:click ...]");let c=o.get("body"),l=[];return c&&c.type==="expression"&&l.push($(c.raw)),o.delete("body"),D(a,l,void 0,{sourceLanguage:"explicit"})}let s={};for(let[a,c]of o)s[a]=c;return O(i,s,{sourceLanguage:"explicit"})}function Pt(r){let e=[],t="",n=!1,i="",o=0;for(let s=0;s<r.length;s++){let a=r[s];if(n){t+=a,a===i&&r[s-1]!=="\\"&&(n=!1);continue}if(a==='"'||a==="'"){n=!0,i=a,t+=a;continue}if(a==="["){o++,t+=a;continue}if(a==="]"){o--,t+=a;continue}if(a===" "&&o===0){t&&(e.push(t),t="");continue}t+=a}return t&&e.push(t),e}function wt(r){if(r.startsWith("#")||r.startsWith(".")||r.startsWith("[")||r.startsWith("@")||r.startsWith("*"))return V(r);if(r.startsWith('"')||r.startsWith("'")){let t=r.slice(1,-1);return T(t,"string")}if(r==="true")return T(!0,"boolean");if(r==="false")return T(!1,"boolean");if(["me","you","it","result","event","target","body"].includes(r.toLowerCase()))return C(r.toLowerCase());let e=r.match(/^(-?\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(e){let t=parseFloat(e[1]);return e[2]?T(r,"duration"):T(t,"number")}return T(r,"string")}function Ct(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 fe=class{parse(e,t){let n=de(e,t),i=N(t);if(i.length===0)throw new Error(`No patterns available for language: ${t}`);let o=[...i].sort((p,x)=>x.priority-p.priority),s=o.filter(p=>p.command==="on"),a=W.matchBest(n,s);if(a)return this.buildEventHandler(a,n,t);let c=o.filter(p=>p.command!=="on"),l=W.matchBest(n,c);if(l)return this.buildCommand(l,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 pe()}buildCommand(e,t){if(!e)throw new Error("No match to build command from");let n={};for(let[i,o]of e.captured)n[i]=o;return O(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 i=e.captured.get("event");if(!i)throw new Error("Event handler pattern matched but no event captured");let o=W.extractEventModifiers(t),s,a=e.captured.get("action");if(a&&a.type==="literal"){let c=a.value,l={};for(let[y,g]of e.captured)y!=="event"&&y!=="action"&&y!=="continues"&&(l[y]=g);let p=O(c,l,{sourceLanguage:n,patternId:e.pattern.id,confidence:e.confidence}),x=e.captured.get("continues");if(x&&x.type==="literal"&&x.value==="then"){let y=N(n).filter(m=>m.command!=="on").sort((m,h)=>h.priority-m.priority),g=N(n).filter(m=>m.id.startsWith("grammar-")&&m.id.includes("-continuation")).sort((m,h)=>h.priority-m.priority),d=this.parseBodyWithGrammarPatterns(t,y,g,n);d.length>0?s=[p,...d]:s=[p]}else s=[p]}else{let c=N(n).filter(l=>l.command!=="on").sort((l,p)=>p.priority-l.priority);s=this.parseBodyWithClauses(t,c,n)}return D(i,s,o,{sourceLanguage:n,patternId:e.pattern.id,confidence:e.confidence})}parseBodyWithClauses(e,t,n){let i=[],o=[];for(;!e.isAtEnd();){let s=e.peek();if(!s)break;let a=s.kind==="conjunction"||s.kind==="keyword"&&this.isThenKeyword(s.value,n),c=s.kind==="keyword"&&this.isEndKeyword(s.value,n);if(a){if(o.length>0){let l=this.parseClause(o,t,n);i.push(...l),o.length=0}e.advance();continue}if(c){if(o.length>0){let l=this.parseClause(o,t,n);i.push(...l)}e.advance();break}o.push(s),e.advance()}if(o.length>0){let s=this.parseClause(o,t,n);i.push(...s)}return i.length>1?[Qe(i,"then",{sourceLanguage:n})]:i}parseClause(e,t,n){if(e.length===0)return[];let i=new j(e,n),o=[];for(;!i.isAtEnd();){let s=W.matchBest(i,t);s?o.push(this.buildCommand(s,n)):i.advance()}return o}parseBodyWithGrammarPatterns(e,t,n,i){let o=[];for(;!e.isAtEnd();){let s=e.peek();if(s&&this.isThenKeyword(s.value,i)){e.advance();continue}if(s&&this.isEndKeyword(s.value,i)){e.advance();break}let a=!1;if(n.length>0){let c=W.matchBest(e,n);if(c){let l=c.pattern.command,p={};for(let[g,d]of c.captured)g!=="event"&&g!=="action"&&g!=="continues"&&(p[g]=d);let x=O(l,p,{sourceLanguage:i,patternId:c.pattern.id});o.push(x),a=!0;let y=c.captured.get("continues");if(y&&y.type==="literal"&&y.value==="then")continue}}if(!a){let c=W.matchBest(e,t);c&&(o.push(this.buildCommand(c,i)),a=!0)}a||e.advance()}return o}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())}},Ne=new fe;function H(r,e){return Ne.parse(r,e)}function Pe(r,e){return Ne.canParse(r,e)}function we(r,e){if(q(r))return r;let t=H(r,e);return ee(t)}function Ce(r,e){let t=$(r);return J(t,e)}function Re(r,e){return q(r)?$(r):H(r,e)}var Rt=new Set(["me","my","myself","you","your","yourself","it","its","result","event","target","body","detail","window","document"]),Lt=new Set(["and","or","not","no"]),Mt=new Set(["true","false","null","undefined"]),At=new Set(["ms","s","seconds","second","milliseconds","millisecond","minutes","minute","hours","hour"]);function Je(r){let e=[],t=0,n=1,i=1;function o(){if(e.length===0)return!0;let d=e[e.length-1];return["OPERATOR","COMPARISON","LOGICAL","LPAREN","LBRACKET","LBRACE","COMMA","COLON"].includes(d.type)}function s(d=0){return r[t+d]??""}function a(){let d=r[t];return t++,d===`
|
|
2
|
-
`?(n++,i=1):i++,d}function c(){for(;t<r.length&&/\s/.test(r[t]);)a()}function l(d){let m="";for(;t<r.length&&d(r[t]);)m+=a();return m}function p(d){let m=d;for(a();t<r.length&&r[t]!==d;)r[t]==="\\"&&t+1<r.length&&(m+=a()),m+=a();return t<r.length&&(m+=a()),m}function x(){let d="`";for(a();t<r.length&&r[t]!=="`";)r[t]==="\\"&&t+1<r.length&&(d+=a()),d+=a();return t<r.length&&(d+=a()),d}function y(){let d="<";for(a();t<r.length&&(d+=a(),!d.endsWith("/>")););return d}function g(d,m,h){return{type:d,value:m,start:h,end:t,line:n,column:i-m.length}}for(;t<r.length&&(c(),!(t>=r.length));){let d=t,m=s();if(m==="'"&&s(1)==="s"&&!/\w/.test(s(2))){a(),a(),e.push(g("POSSESSIVE","'s",d));continue}if(m==='"'||m==="'"){let h=p(m);e.push(g("STRING",h,d));continue}if(m==="`"){let h=x();e.push(g("TEMPLATE_LITERAL",h,d));continue}if(m==="<"&&/[a-zA-Z.#\[]/.test(s(1))){let h=y();e.push(g("QUERY_SELECTOR",h,d));continue}if(m==="#"&&o()){a();let h=l(b=>/[\w-]/.test(b));e.push(g("ID_SELECTOR","#"+h,d));continue}if(m==="."&&/[a-zA-Z_-]/.test(s(1))&&o()){a();let h=l(b=>/[\w-]/.test(b));e.push(g("CLASS_SELECTOR","."+h,d));continue}if(m==="["&&o()){let h=s(1);if(h==="@"||/[a-zA-Z]/.test(h)){let b="";for(b+=a();t<r.length&&r[t]!=="]";)r[t]==='"'||r[t]==="'"?b+=p(r[t]):b+=a();t<r.length&&(b+=a()),e.push(g("ATTRIBUTE_SELECTOR",b,d));continue}}if(m==="["){a(),e.push(g("LBRACKET","[",d));continue}if(m==="]"){a(),e.push(g("RBRACKET","]",d));continue}if(/\d/.test(m)){let h=l(G=>/[\d.]/.test(G)),b=t,L=l(G=>/[a-zA-Z]/.test(G));At.has(L)?e.push(g("TIME_EXPRESSION",h+L,d)):(t=b,e.push(g("NUMBER",h,d)));continue}if(m==="("){a(),e.push(g("LPAREN","(",d));continue}if(m===")"){a(),e.push(g("RPAREN",")",d));continue}if(m==="{"){a(),e.push(g("LBRACE","{",d));continue}if(m==="}"){a(),e.push(g("RBRACE","}",d));continue}if(m===","){a(),e.push(g("COMMA",",",d));continue}if(m===":"){a(),e.push(g("COLON",":",d));continue}if(m==="."){a(),e.push(g("DOT",".",d));continue}if(m==="+"||m==="-"||m==="*"||m==="/"||m==="%"){a(),e.push(g("OPERATOR",m,d));continue}if(m==="="||m==="!"||m==="<"||m===">"){let h=a();s()==="="&&(h+=a()),e.push(g("COMPARISON",h,d));continue}if(/[a-zA-Z_$]/.test(m)){let h=l(L=>/[\w$]/.test(L)),b=h.toLowerCase();Rt.has(b)?e.push(g("CONTEXT_VAR",h,d)):Lt.has(b)?e.push(g("LOGICAL",h,d)):Mt.has(b)?e.push(g("BOOLEAN",h,d)):e.push(g("IDENTIFIER",h,d));continue}a()}return e.push(g("EOF","",t)),e}var ge=class{constructor(){this.tokens=[];this.current=0}parse(e){try{return this.tokens=Je(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 i=this.parseExpression();e.push({key:n,value:i})}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]),i=t[2].toLowerCase();return{type:"timeExpression",value:n,unit:i,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 Le(r){return new ge().parse(r)}function k(r,e){switch(r.type){case"literal":return zt(r);case"selector":return Vt(r,e);case"reference":return Ot(r);case"property-path":return It(r,e);case"expression":return _t(r);default:let t=r;throw new Error(`Unknown semantic value type: ${t.type}`)}}function zt(r){let e={type:"literal",value:r.value};return r.dataType?{...e,dataType:r.dataType}:e}function Vt(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 Ot(r){return{type:"contextReference",contextType:r.value,name:r.value}}function It(r,e){return{type:"propertyAccess",object:k(r.object,e),property:r.property}}function _t(r){let e=Le(r.raw);return!e.success||!e.node?{type:"identifier",name:r.raw}:e.node}function et(r,e){return r.roles.get(e)}function u(r,e,t){let n=et(r,e);return n?k(n,t):void 0}function f(r,e=[],t,n={}){let i={type:"command",name:r,args:e};return t&&Object.keys(t).length>0&&(i.modifiers=t),n.isBlocking&&(i.isBlocking=n.isBlocking),n.implicitTarget&&(i.implicitTarget=n.implicitTarget),i}var Bt={action:"toggle",toAST(r,e){let t=u(r,"patient"),n=u(r,"destination"),i=u(r,"duration"),o=t?[t]:[],s={};return n&&(s.on=n),i&&(s.for=i),f("toggle",o,s)}},jt={action:"add",toAST(r,e){let t=u(r,"patient"),n=u(r,"destination"),i=t?[t]:[],o={};return n&&(o.to=n),f("add",i,o)}},Kt={action:"remove",toAST(r,e){let t=u(r,"patient"),n=u(r,"source"),i=t?[t]:[],o={};return n&&(o.from=n),f("remove",i,o)}},Wt={action:"set",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),i=[],o={};return t&&i.push(t),n&&(o.to=n),f("set",i,o)}},$t={action:"show",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),i=u(r,"duration"),o=[],s={},a=t??n;return a&&o.push(a),i&&(s.with=i),f("show",o,s)}},Ut={action:"hide",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),i=u(r,"duration"),o=[],s={},a=t??n;return a&&o.push(a),i&&(s.with=i),f("hide",o,s)}},Ft={action:"increment",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),i=u(r,"quantity"),o=[],s={},a=t??n;return a&&o.push(a),i&&(s.by=i),f("increment",o,s)}},Dt={action:"decrement",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),i=u(r,"quantity"),o=[],s={},a=t??n;return a&&o.push(a),i&&(s.by=i),f("decrement",o,s)}},qt={action:"wait",toAST(r,e){let t=u(r,"duration");return f("wait",t?[t]:[],void 0,{isBlocking:!0})}},Ht={action:"log",toAST(r,e){let t=u(r,"patient"),n=[];return t&&n.push(t),f("log",n)}},Gt={action:"put",toAST(r,e){let t=u(r,"patient"),n=u(r,"destination"),i=et(r,"method"),o=t?[t]:[],s={};if(n){let a=i?.type==="literal"?String(i.value):"into";s[a]=n}return f("put",o,s)}},Xt={action:"fetch",toAST(r,e){let t=u(r,"source"),n=u(r,"method"),i=u(r,"responseType"),o=u(r,"patient"),s=t?[t]:[],a={};return n&&(a.with=n),i&&(a.as=i),o&&(a.body=o),f("fetch",s,a,{isBlocking:!0})}},Zt={action:"append",toAST(r,e){let t=u(r,"patient"),n=u(r,"destination"),i=t?[t]:[],o={};return n&&(o.to=n),f("append",i,o)}},Qt={action:"prepend",toAST(r,e){let t=u(r,"patient"),n=u(r,"destination"),i=t?[t]:[],o={};return n&&(o.to=n),f("prepend",i,o)}},Yt={action:"trigger",toAST(r,e){let t=u(r,"event"),n=u(r,"destination"),i=t?[t]:[],o={};return n&&(o.on=n),f("trigger",i,o)}},Jt={action:"send",toAST(r,e){let t=u(r,"event"),n=u(r,"destination"),i=u(r,"patient"),o=t?[t]:[],s={};return n&&(s.to=n),i&&(s.detail=i),f("send",o,s)}},en={action:"go",toAST(r,e){let t=u(r,"source"),n=u(r,"destination"),i=[],o={};return t&&i.push(t),n&&(o.to=n),f("go",i,o)}},tn={action:"transition",toAST(r,e){let t=u(r,"patient"),n=u(r,"goal"),i=u(r,"duration"),o=u(r,"destination"),s=t?[t]:[],a={};return n&&(a.to=n),i&&(a.over=i),o&&(a.on=o),f("transition",s,a)}},nn={action:"focus",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),i=[],o={},s=t??n;return s&&i.push(s),f("focus",i,o)}},rn={action:"blur",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),i=[],o=t??n;return o&&i.push(o),f("blur",i)}},on={action:"get",toAST(r,e){let t=u(r,"source"),n=u(r,"patient"),i=[],o=t??n;return o&&i.push(o),f("get",i)}},an={action:"take",toAST(r,e){let t=u(r,"patient"),n=u(r,"source"),i=t?[t]:[],o={};return n&&(o.from=n),f("take",i,o)}},sn={action:"call",toAST(r,e){let t=u(r,"patient");return f("call",t?[t]:[])}},cn={action:"return",toAST(r,e){let t=u(r,"patient");return f("return",t?[t]:[])}},ln={action:"halt",toAST(r,e){return f("halt",[])}},un={action:"throw",toAST(r,e){let t=u(r,"patient");return f("throw",t?[t]:[])}},dn={action:"settle",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),i=[],o=t??n;return o&&i.push(o),f("settle",i,void 0,{isBlocking:!0})}},pn={action:"swap",toAST(r,e){let t=u(r,"patient"),n=u(r,"source"),i=u(r,"destination"),o=u(r,"style"),s=[],a={};return t&&s.push(t),n&&s.push(n),i&&(a.on=i),o&&(a.with=o),f("swap",s,a)}},mn={action:"morph",toAST(r,e){let t=u(r,"source"),n=u(r,"destination"),i=u(r,"patient"),o=[],s={},a=t??i;return a&&o.push(a),n&&(s.on=n),f("morph",o,s)}},fn={action:"clone",toAST(r,e){let t=u(r,"source"),n=u(r,"destination"),i=u(r,"patient"),o=[],s={},a=t??i;return a&&o.push(a),n&&(s.into=n),f("clone",o,s)}},gn={action:"make",toAST(r,e){let t=u(r,"patient");return f("make",t?[t]:[])}},hn={action:"measure",toAST(r,e){let t=u(r,"patient"),n=u(r,"destination"),i=u(r,"source"),o=[],s={};t&&o.push(t);let a=n??i;return a&&(s.of=a),f("measure",o,s)}},yn={action:"tell",toAST(r,e){let t=u(r,"destination"),n=u(r,"patient"),i=[],o=t??n;return o&&i.push(o),f("tell",i)}},xn={action:"js",toAST(r,e){let t=u(r,"patient");return f("js",t?[t]:[])}},Sn={action:"async",toAST(r,e){return f("async",[])}},vn={action:"if",toAST(r,e){let t=u(r,"condition");return f("if",t?[t]:[])}},Tn={action:"unless",toAST(r,e){let t=u(r,"condition");return f("unless",t?[t]:[])}},bn={action:"repeat",toAST(r,e){let t=u(r,"quantity"),n=u(r,"patient"),i=[],o=t??n;return o&&i.push(o),f("repeat",i)}},En={action:"for",toAST(r,e){let t=u(r,"patient"),n=u(r,"source"),i=t?[t]:[],o={};return n&&(o.in=n),f("for",i,o)}},kn={action:"while",toAST(r,e){let t=u(r,"condition");return f("while",t?[t]:[])}},Nn={action:"continue",toAST(r,e){return f("continue",[])}},Pn={action:"default",toAST(r,e){let t=u(r,"patient"),n=u(r,"source"),i=t?[t]:[],o={};return n&&(o.to=n),f("default",i,o)}},wn={action:"init",toAST(r,e){return f("init",[])}},Cn={action:"behavior",toAST(r,e){let t=u(r,"patient");return f("behavior",t?[t]:[])}},Rn={action:"install",toAST(r,e){let t=u(r,"patient"),n=u(r,"destination"),i=t?[t]:[],o={};return n&&(o.on=n),f("install",i,o)}},Ln={action:"on",toAST(r,e){let t=u(r,"event"),n=u(r,"source"),i=t?[t]:[],o={};return n&&(o.from=n),f("on",i,o)}},tt=new Map([["toggle",Bt],["add",jt],["remove",Kt],["set",Wt],["show",$t],["hide",Ut],["increment",Ft],["decrement",Dt],["wait",qt],["log",Ht],["put",Gt],["fetch",Xt],["append",Zt],["prepend",Qt],["get",on],["take",an],["trigger",Yt],["send",Jt],["on",Ln],["go",en],["transition",tn],["focus",nn],["blur",rn],["call",sn],["return",cn],["halt",ln],["throw",un],["settle",dn],["swap",pn],["morph",mn],["clone",fn],["measure",hn],["make",gn],["tell",yn],["default",Pn],["js",xn],["async",Sn],["if",vn],["unless",Tn],["repeat",bn],["for",En],["while",kn],["continue",Nn],["init",wn],["behavior",Cn],["install",Rn]]);function te(r){return tt.get(r)}function Me(r){tt.set(r.action,r)}var ne=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=te(e.action);if(t){let n=t.toAST(e,this);if("ast"in n&&"warnings"in n){let i=n;return this.warnings.push(...i.warnings),i.ast}else return n}return this.buildGenericCommand(e)}buildGenericCommand(e){let t=[],n={},i=["patient","source","quantity"],o=["destination","duration","method","style"];for(let a of i){let c=e.roles.get(a);c&&t.push(k(c))}for(let a of o){let c=e.roles.get(a);if(c){let l=this.roleToModifierKey(a);n[l]=k(c)}}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,i;if(t?.type==="literal"){let h=String(t.value);h.includes("|")||h.includes(" or ")?(i=h.split(/\s+or\s+|\|/).map(b=>b.trim()),n=i[0]):n=h}else t?.type==="reference"?n=t.value:n="click";let o=e.body.map(h=>this.build(h)),s=e.roles.get("source"),a,c;s?.type==="selector"?(a=s.value,c=s.value):s?.type==="reference"?c=s.value:s?.type==="literal"&&(c=String(s.value));let l=e.roles.get("condition"),p=l?k(l):void 0,x=e.roles.get("destination"),y=x?k(x):void 0,g=e.eventModifiers,d=a;if(g?.from){let h=g.from;h.type==="selector"&&!a&&(d=h.value)}let m=e.parameterNames?[...e.parameterNames]:void 0;return{type:"eventHandler",event:n,commands:o,...i&&i.length>1?{events:i}:{},...d?{selector:d}:{},...c?{target:c}:{},...p?{condition:p}:{},...y?{watchTarget:y}:{},...m&&m.length>0?{args:m,params:m}:{}}}buildConditional(e){let t=e.roles.get("condition");if(!t)throw new Error("Conditional node missing condition");let n=k(t),i=e.thenBranch.map(a=>this.build(a)),o=e.elseBranch?.map(a=>this.build(a)),s=[n,{type:"block",commands:i}];return o&&o.length>0&&s.push({type:"block",commands:o}),{type:"command",name:"if",args:s}}buildCompound(e){let t=e.statements.map(i=>this.build(i));return t.length===1?t[0]:t.length===0?{type:"block",commands:[]}:{type:"CommandSequence",commands:t}}buildLoop(e){let t=e.body.map(i=>this.build(i)),n=[{type:"identifier",name:e.loopVariant}];switch(e.loopVariant){case"times":{let i=e.roles.get("quantity");i&&n.push(k(i));break}case"for":{e.loopVariable&&n.push({type:"string",value:e.loopVariable});let i=e.roles.get("source");i&&n.push(k(i));break}case"while":case"until":{let i=e.roles.get("condition");i&&n.push(k(i));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 nt(r){let e=new ne;return{ast:e.build(r),warnings:e.warnings}}var U=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),i=this.cache.get(n);if(!i){this.stats.misses++;return}if(this.isExpired(i)){this.cache.delete(n),this.stats.expirations++,this.stats.misses++;return}return this.cache.delete(n),i.lastAccessed=Date.now(),this.cache.set(n,i),this.stats.hits++,i.result}set(e,t,n){if(!this.config.enabled||n.confidence===0)return;let i=this.makeKey(e,t),o=Date.now();for(;this.cache.size>=this.config.maxSize;)this.evictLRU();this.cache.set(i,{result:n,createdAt:o,lastAccessed:o})}has(e,t){if(!this.config.enabled)return!1;let n=this.makeKey(e,t),i=this.cache.get(n);return i?this.isExpired(i)?(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}}},Ae=new U;var re=class{constructor(e={}){this.patternMatcher=new Y,this.languages=new Set(ie()),e.cache===!1?this.cache=new U({enabled:!1}):this.cache=e.cache?new U(e.cache):Ae}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 i=this.analyzeUncached(e,t);return this.cache.set(e,t,i),i}analyzeUncached(e,t){try{let n=Ze(t);if(!n)return{confidence:0,errors:[`No tokenizer available for language '${t}'`]};let i=n.tokenize(e),o=N(t);if(o.length===0)return{confidence:0,errors:[`No patterns available for language '${t}'`]};let s=this.patternMatcher.matchBest(i,o);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 rt(r){return new re(r)}var ze=.5,it=.8;function ot(r,e=ze){return r.confidence>=e&&r.command!==void 0}var Mn="1.0.0-ar",An=["ar"];function zn(){return[...An]}function at(r){if(r!=="ar")throw new Error(`Language not supported in this bundle: ${r}. Supported: ar`)}function Vn(r,e){return at(e),[...de(r,e).tokens]}function st(r){return at(r),N(r)}function On(r,e){return st(r).filter(t=>t.command===e).sort((t,n)=>n.priority-t.priority)}return mt(In);})();
|
|
1
|
+
"use strict";var LokaScriptSemanticAr=(()=>{var Oe=Object.defineProperty;var Nt=Object.getOwnPropertyDescriptor;var Rt=Object.getOwnPropertyNames;var Ct=Object.prototype.hasOwnProperty;var Pt=(i,e)=>{for(var t in e)Oe(i,t,{get:e[t],enumerable:!0})},Lt=(i,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Rt(e))!Ct.call(i,r)&&r!==t&&Oe(i,r,{get:()=>e[r],enumerable:!(n=Nt(e,r))||n.enumerable});return i};var Mt=i=>Lt(Oe({},"__esModule",{value:!0}),i);var nr={};Pt(nr,{ASTBuilder:()=>fe,DEFAULT_CONFIDENCE_THRESHOLD:()=>Ye,HIGH_CONFIDENCE_THRESHOLD:()=>kt,SemanticAnalyzerImpl:()=>ge,VERSION:()=>Qn,arabicProfile:()=>H,arabicTokenizer:()=>Re,buildAST:()=>vt,canParse:()=>De,createCommandNode:()=>_,createEventHandler:()=>G,createLiteral:()=>b,createPropertyPath:()=>re,createReference:()=>P,createSelector:()=>A,createSemanticAnalyzer:()=>St,fromExplicit:()=>He,getCommandMapper:()=>me,getPatternsForLanguage:()=>Et,getPatternsForLanguageAndCommand:()=>tr,getProfile:()=>je,getSupportedLanguages:()=>Jn,getTokenizer:()=>_e,isExplicitSyntax:()=>ie,isLanguageSupported:()=>at,parse:()=>F,parseAny:()=>Ge,parseExplicit:()=>Z,registerCommandMapper:()=>Ze,render:()=>de,renderExplicit:()=>pe,shouldUseSemanticResult:()=>bt,toExplicit:()=>qe,tokenize:()=>er,tryGetProfile:()=>z});var I=new Map,U=new Map,ae=new Map;var tt=null;function rt(i,e){let t={...i};for(let n of Object.keys(e)){let r=e[n],o=i[n];r!==void 0&&(typeof r=="object"&&r!==null&&!Array.isArray(r)&&typeof o=="object"&&o!==null&&!Array.isArray(o)?t[n]=rt(o,r):t[n]=r)}return t}function At(i,e){return rt(i,e)}function Ie(i){if(!i.extends)return i;let e=U.get(i.extends);if(!e)return console.warn(`[Registry] Profile '${i.code}' extends '${i.extends}' but base is not registered. Make sure to import the base language before the variant.`),i;let t=Ie(e);return At(t,i)}function it(i,e,t){I.set(i,e),U.set(i,t),ae.delete(i)}var nt=new Map;function D(i){return i.split("-")[0]}function q(i){return i.includes("-")}function _e(i){let e=I.get(i);if(!e&&q(i)){let t=D(i);e=I.get(t)}if(!e){let t=Array.from(I.keys()).join(", ");throw new Error(`Language '${i}' is not registered. Registered languages: ${t||"none"}. Import the language module first: import '@lokascript/semantic/languages/${i}';`)}return e}function je(i){let e=U.get(i);if(!e&&q(i)){let t=D(i);e=U.get(t)}if(!e){let t=Array.from(U.keys()).join(", ");throw new Error(`Language profile '${i}' is not registered. Registered languages: ${t||"none"}. Import the language module first: import '@lokascript/semantic/languages/${i}';`)}return Ie(e)}function ot(i){let e=I.get(i);return!e&&q(i)&&(e=I.get(D(i))),e}function z(i){let e=U.get(i);return!e&&q(i)&&(e=U.get(D(i))),e?Ie(e):void 0}function xe(){return Array.from(I.keys())}function at(i){return I.has(i)?!0:q(i)?I.has(D(i)):!1}function st(i,e){return _e(e).tokenize(i)}function V(i){let e=ae.get(i);if(!e&&q(i)&&(e=ae.get(D(i))),e)return e;let t=nt.get(i);if(!t&&q(i)&&(t=nt.get(D(i))),t)return ae.set(i,t),t;if(!tt)throw new Error(`No patterns registered for language '${i}'. Either import the language module or set a pattern generator.`);let n=je(i),r=tt(n);return ae.set(i,r),r}function ct(i,e){return V(i).filter(t=>t.command===e).sort((t,n)=>n.priority-t.priority)}var O=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(i,e){return{start:i,end:e}}function k(i,e,t,n){if(typeof n=="string")return{value:i,kind:e,position:t,normalized:n};if(n){let{normalized:r,stem:o,stemConfidence:s}=n;return{value:i,kind:e,position:t,...r!==void 0&&{normalized:r},...o!==void 0&&{stem:o},...s!==void 0&&{stemConfidence:s}}}return{value:i,kind:e,position:t}}function M(i){return/\s/.test(i)}function J(i){return i==="#"||i==="."||i==="["||i==="@"||i==="*"||i==="<"}function ee(i){return i==='"'||i==="'"||i==="`"||i==="\u300C"||i==="\u300D"}function C(i){return/\d/.test(i)}function ve(i){return/[a-zA-Z]/.test(i)}function E(i){return/[a-zA-Z0-9_-]/.test(i)}function Se(i){return e=>{let t=e.charCodeAt(0);return i.some(([n,r])=>t>=n&&t<=r)}}function ke(i,e){if(e>=i.length)return null;let t=i[e];if(!J(t))return null;let n=e,r="";if(t==="#"||t==="."){for(r+=i[n++];n<i.length&&E(i[n]);)r+=i[n++];if(r.length<=1)return null;if(n<i.length&&i[n]==="."&&t==="#"){let s=n+1;for(;s<i.length&&E(i[s]);)s++;if(s<i.length&&i[s]==="(")return r}}else if(t==="["){let o=1,s=!1,a=null,c=!1;for(r+=i[n++];n<i.length&&o>0;){let l=i[n];r+=l,c?c=!1:l==="\\"?c=!0:s?l===a&&(s=!1,a=null):l==='"'||l==="'"||l==="`"?(s=!0,a=l):l==="["?o++:l==="]"&&o--,n++}if(o!==0)return null}else if(t==="@"){for(r+=i[n++];n<i.length&&E(i[n]);)r+=i[n++];if(r.length<=1)return null}else if(t==="*"){for(r+=i[n++];n<i.length&&E(i[n]);)r+=i[n++];if(r.length<=1)return null}else if(t==="<"){if(r+=i[n++],n>=i.length||!ve(i[n]))return null;for(;n<i.length&&E(i[n]);)r+=i[n++];for(;n<i.length;){let o=i[n];if(o==="."){if(r+=i[n++],n>=i.length||!E(i[n]))return null;for(;n<i.length&&E(i[n]);)r+=i[n++]}else if(o==="#"){if(r+=i[n++],n>=i.length||!E(i[n]))return null;for(;n<i.length&&E(i[n]);)r+=i[n++]}else if(o==="["){let s=1,a=!1,c=null,l=!1;for(r+=i[n++];n<i.length&&s>0;){let m=i[n];r+=m,l?l=!1:m==="\\"?l=!0:a?m===c&&(a=!1,c=null):m==='"'||m==="'"||m==="`"?(a=!0,c=m):m==="["?s++:m==="]"&&s--,n++}if(s!==0)return null}else break}for(;n<i.length&&M(i[n]);)r+=i[n++];if(n<i.length&&i[n]==="/")for(r+=i[n++];n<i.length&&M(i[n]);)r+=i[n++];if(n>=i.length||i[n]!==">")return null;r+=i[n++]}return r||null}function lt(i,e){if(e>=i.length||i[e]!=="'"||e+1>=i.length||i[e+1].toLowerCase()!=="s")return!1;if(e+2>=i.length)return!0;let n=i[e+2];return M(n)||n==="*"||!E(n)}function be(i,e){if(e>=i.length)return null;let t=i[e];if(!ee(t)||t==="'"&<(i,e))return null;let r={'"':'"',"'":"'","`":"`","\u300C":"\u300D"}[t];if(!r)return null;let o=e+1,s=t,a=!1;for(;o<i.length;){let c=i[o];if(s+=c,a)a=!1;else if(c==="\\")a=!0;else if(c===r)return s;o++}return s}function se(i,e){if(e>=i.length)return!1;let t=i[e],n=i[e+1]||"",r=i[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 o=i.slice(e,e+8).toLowerCase();return!!(o.startsWith("http://")||o.startsWith("https://"))}function Te(i,e){if(!se(i,e))return null;let t=e,n="",r=/[a-zA-Z0-9/:._\-?&=%@+~!$'()*,;[\]]/;for(;t<i.length;){let o=i[t];if(o==="#"){if(n.length>0&&/[a-zA-Z0-9/.]$/.test(n))for(n+=o,t++;t<i.length&&/[a-zA-Z0-9_-]/.test(i[t]);)n+=i[t++];break}if(r.test(o))n+=o,t++;else break}return n.length<2?null:n}function Ee(i,e){if(e>=i.length)return null;let t=i[e];if(!C(t)&&t!=="-"&&t!=="+")return null;let n=e,r="";if((i[n]==="-"||i[n]==="+")&&(r+=i[n++]),n>=i.length||!C(i[n]))return null;for(;n<i.length&&C(i[n]);)r+=i[n++];if(n<i.length&&i[n]===".")for(r+=i[n++];n<i.length&&C(i[n]);)r+=i[n++];return n<i.length&&(i.slice(n,n+2)==="ms"?r+="ms":(i[n]==="s"||i[n]==="m"||i[n]==="h")&&(r+=i[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],o=r&&r.position.end<t;if(r&&!o&&(r.kind==="identifier"||r.kind==="keyword"||r.kind==="selector"))return n.push(k(".","operator",S(t,t+1))),!0;let c=t+1;for(;c<e.length&&E(e[c]);)c++;return c<e.length&&e[c]==="("?(n.push(k(".","operator",S(t,t+1))),!0):!1}initializeKeywordsFromProfile(e,t=[]){let n=new Map;if(e.keywords){for(let[r,o]of Object.entries(e.keywords))if(n.set(o.primary,{native:o.primary,normalized:o.normalized||r}),o.alternatives)for(let s of o.alternatives)n.set(s,{native:s,normalized:o.normalized||r})}if(e.references){for(let[r,o]of Object.entries(e.references))n.set(o,{native:o,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,o]of Object.entries(e.roleMarkers))if(o.primary&&n.set(o.primary,{native:o.primary,normalized:r}),o.alternatives)for(let s of o.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,o)=>o.native.length-r.native.length),this.profileKeywordMap=new Map;for(let r of this.profileKeywords){this.profileKeywordMap.set(r.native.toLowerCase(),r);let o=this.removeDiacritics(r.native);o!==r.native&&!this.profileKeywordMap.has(o.toLowerCase())&&this.profileKeywordMap.set(o.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",S(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 o=this.lookupKeyword(r.stem);if(!o)return null;let s={normalized:o.normalized,stem:r.stem,stemConfidence:r.confidence};return k(e,"keyword",S(t,n),s)}trySelector(e,t){let n=ke(e,t);return n?k(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 r=n[0].replace(/(\s|\.)$/,""),o=r.slice(1).split("(")[0],s=n[1];return{...k(r,"event-modifier",S(t,t+r.length)),metadata:{modifierName:o,value:s?o==="queue"?s:parseInt(s,10):void 0}}}tryString(e,t){let n=be(e,t);return n?k(n,"literal",S(t,t+n.length)):null}tryNumber(e,t){let n=Ee(e,t);return n?k(n,"literal",S(t,t+n.length)):null}tryMatchTimeUnit(e,t,n,r=!1){let o=t;if(r)for(;o<e.length&&M(e[o]);)o++;let s=e.slice(o);for(let a of n){let c=s.slice(0,a.length);if(a.caseInsensitive?c.toLowerCase()===a.pattern.toLowerCase():c===a.pattern){if(a.notFollowedBy&&(s[a.length]||"")===a.notFollowedBy)continue;if(a.checkBoundary){let m=s[a.length]||"";if(E(m))continue}return{suffix:a.suffix,endPos:o+a.length}}}return null}parseBaseNumber(e,t,n=!0){let r=t,o="";if(n&&(e[r]==="-"||e[r]==="+")&&(o+=e[r++]),r>=e.length||!C(e[r]))return null;for(;r<e.length&&C(e[r]);)o+=e[r++];if(r<e.length&&e[r]===".")for(o+=e[r++];r<e.length&&C(e[r]);)o+=e[r++];return!o||o==="-"||o==="+"?null:{number:o,endPos:r}}tryNumberWithTimeUnits(e,t,n,r={}){let{allowSign:o=!0,skipWhitespace:s=!1}=r,a=this.parseBaseNumber(e,t,o);if(!a)return null;let{number:c,endPos:l}=a,m=[...n,...we.STANDARD_TIME_UNITS],x=this.tryMatchTimeUnit(e,l,m,s);return x&&(c+=x.suffix,l=x.endPos),k(c,"literal",S(t,l))}tryUrl(e,t){let n=Te(e,t);return n?k(n,"url",S(t,t+n.length)):null}tryVariableRef(e,t){if(e[t]!==":"||t+1>=e.length||!E(e[t+1]))return null;let n=t+1;for(;n<e.length&&E(e[n]);)n++;let r=e.slice(t,n);return k(r,"identifier",S(t,n))}tryOperator(e,t){let n=e.slice(t,t+2);if(["==","!=","<=",">=","&&","||","->"].includes(n))return k(n,"operator",S(t,t+2));let r=e[t];return["<",">","!","+","-","*","/","="].includes(r)?k(r,"operator",S(t,t+1)):["(",")","{","}",",",";",":"].includes(r)?k(r,"punctuation",S(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",S(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 te=we;function ut(i){return{stem:i,confidence:1}}function dt(i,e,t){return t?{stem:i,confidence:e,metadata:t}:{stem:i,confidence:e}}function Ot(i){let e=i.charCodeAt(0);return e>=1536&&e<=1791||e>=1872&&e<=1919||e>=2208&&e<=2303||e>=64336&&e<=65023||e>=65136&&e<=65279}function It(i){for(let e of i)if(Ot(e))return!0;return!1}function _t(i){return i.replace(/[\u064B-\u0652\u0670]/g,"")}var jt=[{pattern:"\u0648\u0627\u0644",confidencePenalty:.15,prefixType:"conjunction"},{pattern:"\u0641\u0627\u0644",confidencePenalty:.15,prefixType:"conjunction"},{pattern:"\u0628\u0627\u0644",confidencePenalty:.15,prefixType:"preposition"},{pattern:"\u0643\u0627\u0644",confidencePenalty:.15,prefixType:"preposition"},{pattern:"\u0644\u0644",confidencePenalty:.12,prefixType:"preposition"}],Bt=[{pattern:"\u0627\u0644",confidencePenalty:.08,prefixType:"article",minRemaining:2},{pattern:"\u0648",confidencePenalty:.08,prefixType:"conjunction",minRemaining:3},{pattern:"\u0641",confidencePenalty:.08,prefixType:"conjunction",minRemaining:3},{pattern:"\u0628",confidencePenalty:.1,prefixType:"preposition",minRemaining:3},{pattern:"\u0644",confidencePenalty:.1,prefixType:"preposition",minRemaining:3},{pattern:"\u0643",confidencePenalty:.1,prefixType:"preposition",minRemaining:3}],Wt=[{pattern:"\u064A",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3},{pattern:"\u062A",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3},{pattern:"\u0646",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3},{pattern:"\u0623",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3},{pattern:"\u0627",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3}],Kt=[{pattern:"\u0648\u0646",confidencePenalty:.1,type:"masculine-plural"},{pattern:"\u064A\u0646",confidencePenalty:.1,type:"masculine-plural-accusative"},{pattern:"\u0627\u062A",confidencePenalty:.1,type:"feminine-plural"},{pattern:"\u0627\u0646",confidencePenalty:.1,type:"dual-nominative"},{pattern:"\u064A\u0646",confidencePenalty:.1,type:"dual-accusative"},{pattern:"\u0647\u0627",confidencePenalty:.1,type:"pronoun-her"},{pattern:"\u0647\u0645",confidencePenalty:.1,type:"pronoun-them"},{pattern:"\u0647\u0646",confidencePenalty:.1,type:"pronoun-them-f"},{pattern:"\u0646\u0627",confidencePenalty:.1,type:"pronoun-us"},{pattern:"\u0643\u0645",confidencePenalty:.1,type:"pronoun-you-pl"},{pattern:"\u0643",confidencePenalty:.08,type:"pronoun-you"},{pattern:"\u0647",confidencePenalty:.08,type:"pronoun-him"},{pattern:"\u064A",confidencePenalty:.08,type:"pronoun-me"},{pattern:"\u0629",confidencePenalty:.08,type:"feminine"}],ce=class{constructor(){this.language="ar"}isNormalizable(e){return!(!It(e)||e.length<2)}normalize(e){let t=_t(e),n=1,r=[],o=[];for(let a of jt)if(t.startsWith(a.pattern)){let c=t.slice(a.pattern.length);if(c.length>=2){t=c,n-=a.confidencePenalty,r.push(a.pattern);break}}if(r.length===0){for(let a of Bt)if(t.startsWith(a.pattern)){let c=t.slice(a.pattern.length),l=a.minRemaining??2;if(c.length>=l){t=c,n-=a.confidencePenalty,r.push(a.pattern);break}}}if(!(t.endsWith("\u0627\u062A")||t.endsWith("\u0629")||t.endsWith("\u0648\u0646")||t.endsWith("\u064A\u0646")||t.endsWith("\u0647\u0627")||t.endsWith("\u0647\u0645")||t.endsWith("\u0647\u0646")||t.endsWith("\u0646\u0627")||t.endsWith("\u0643\u0645"))&&(r.length===0||r[0]==="\u0648"||r[0]==="\u0641")){for(let a of Wt)if(t.startsWith(a.pattern)){let c=t.slice(a.pattern.length),l=a.minRemaining??3;if(c.length>=l){t=c,n-=a.confidencePenalty,r.push(a.pattern);break}}}for(let a of Kt)if(t.endsWith(a.pattern)){let c=t.slice(0,-a.pattern.length);c.length>=2&&(t=c,n-=a.confidencePenalty,o.push(a.pattern))}return n=Math.max(.5,n),r.length===0&&o.length===0?ut(e):dt(t,n,{removedPrefixes:r,removedSuffixes:o})}},vr=new ce;var H={code:"ar",name:"Arabic",nativeName:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629",direction:"rtl",wordOrder:"VSO",markingStrategy:"preposition",usesSpaces:!0,verb:{position:"start",subjectDrop:!0},references:{me:"\u0623\u0646\u0627",it:"\u0647\u0648",you:"\u0623\u0646\u062A",result:"\u0627\u0644\u0646\u062A\u064A\u062C\u0629",event:"\u0627\u0644\u062D\u062F\u062B",target:"\u0627\u0644\u0647\u062F\u0641",body:"\u0627\u0644\u062C\u0633\u0645"},possessive:{marker:"",markerPosition:"after-object",usePossessiveAdjectives:!0,specialForms:{me:"\u0644\u064A",it:"\u0644\u0647",you:"\u0644\u0643"},keywords:{\u0644\u064A:"me",\u0644\u0643:"you",\u0644\u0647:"it",\u0644\u0647\u0627:"it"}},roleMarkers:{destination:{primary:"\u0639\u0644\u0649",alternatives:["\u0641\u064A","\u0625\u0644\u0649","\u0628","\u0642\u0628\u0644","\u0628\u0639\u062F"],position:"before"},source:{primary:"\u0645\u0646",position:"before"},patient:{primary:"",position:"before"},style:{primary:"\u0628\u0640",alternatives:["\u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645"],position:"before"}},keywords:{toggle:{primary:"\u0628\u062F\u0651\u0644",alternatives:["\u0628\u062F\u0644","\u063A\u064A\u0651\u0631","\u063A\u064A\u0631"],normalized:"toggle"},add:{primary:"\u0623\u0636\u0641",alternatives:["\u0627\u0636\u0641","\u0632\u0650\u062F"],normalized:"add"},remove:{primary:"\u0627\u062D\u0630\u0641",alternatives:["\u0623\u0632\u0644","\u0627\u0645\u0633\u062D"],normalized:"remove"},put:{primary:"\u0636\u0639",alternatives:["\u0627\u062C\u0639\u0644"],normalized:"put"},append:{primary:"\u0623\u0644\u062D\u0642",normalized:"append"},prepend:{primary:"\u0633\u0628\u0642",normalized:"prepend"},take:{primary:"\u062E\u0630",normalized:"take"},make:{primary:"\u0627\u0635\u0646\u0639",alternatives:["\u0623\u0646\u0634\u0626"],normalized:"make"},clone:{primary:"\u0627\u0633\u062A\u0646\u0633\u062E",alternatives:["\u0627\u0646\u0633\u062E"],normalized:"clone"},swap:{primary:"\u0627\u0633\u062A\u0628\u062F\u0644",alternatives:["\u062A\u0628\u0627\u062F\u0644"],normalized:"swap"},morph:{primary:"\u062D\u0648\u0651\u0644",alternatives:["\u063A\u064A\u0651\u0631"],normalized:"morph"},set:{primary:"\u0627\u0636\u0628\u0637",alternatives:["\u0639\u064A\u0651\u0646","\u062D\u062F\u062F"],normalized:"set"},get:{primary:"\u0627\u062D\u0635\u0644",normalized:"get"},increment:{primary:"\u0632\u0650\u062F",alternatives:["\u0632\u062F","\u0627\u0631\u0641\u0639"],normalized:"increment"},decrement:{primary:"\u0623\u0646\u0642\u0635",alternatives:["\u0627\u0646\u0642\u0635","\u0642\u0644\u0644"],normalized:"decrement"},log:{primary:"\u0633\u062C\u0644",normalized:"log"},show:{primary:"\u0627\u0638\u0647\u0631",alternatives:["\u0623\u0638\u0647\u0631","\u0627\u0639\u0631\u0636"],normalized:"show"},hide:{primary:"\u0627\u062E\u0641",alternatives:["\u0623\u062E\u0641\u0650","\u0627\u062E\u0641\u064A","\u0623\u062E\u0641"],normalized:"hide"},transition:{primary:"\u0627\u0646\u062A\u0642\u0627\u0644",alternatives:["\u0627\u0646\u062A\u0642\u0644"],normalized:"transition"},on:{primary:"\u0639\u0644\u0649",alternatives:["\u0639\u0646\u062F","\u0644\u062F\u0649","\u062D\u064A\u0646"],normalized:"on"},trigger:{primary:"\u062A\u0634\u063A\u064A\u0644",alternatives:["\u0623\u0637\u0644\u0642","\u0641\u0639\u0651\u0644"],normalized:"trigger"},send:{primary:"\u0623\u0631\u0633\u0644",normalized:"send"},focus:{primary:"\u062A\u0631\u0643\u064A\u0632",alternatives:["\u0631\u0643\u0632"],normalized:"focus"},blur:{primary:"\u0636\u0628\u0627\u0628\u064A\u0629",alternatives:["\u0634\u0648\u0634"],normalized:"blur"},go:{primary:"\u0627\u0630\u0647\u0628",alternatives:["\u0627\u0646\u062A\u0642\u0644"],normalized:"go"},wait:{primary:"\u0627\u0646\u062A\u0638\u0631",normalized:"wait"},fetch:{primary:"\u0627\u062D\u0636\u0631",alternatives:["\u062C\u0644\u0628"],normalized:"fetch"},settle:{primary:"\u0627\u0633\u062A\u0642\u0631",normalized:"settle"},if:{primary:"\u0625\u0630\u0627",normalized:"if"},when:{primary:"\u0639\u0646\u062F\u0645\u0627",normalized:"when"},where:{primary:"\u0623\u064A\u0646",normalized:"where"},else:{primary:"\u0648\u0625\u0644\u0627",alternatives:["\u062E\u0644\u0627\u0641 \u0630\u0644\u0643"],normalized:"else"},repeat:{primary:"\u0643\u0631\u0631",normalized:"repeat"},for:{primary:"\u0644\u0643\u0644",normalized:"for"},while:{primary:"\u0628\u064A\u0646\u0645\u0627",normalized:"while"},continue:{primary:"\u0648\u0627\u0635\u0644",normalized:"continue"},halt:{primary:"\u0623\u0648\u0642\u0641",alternatives:["\u062A\u0648\u0642\u0641"],normalized:"halt"},throw:{primary:"\u0627\u0631\u0645",alternatives:["\u0627\u0631\u0645\u0650"],normalized:"throw"},call:{primary:"\u0627\u0633\u062A\u062F\u0639",alternatives:["\u0646\u0627\u062F\u0650"],normalized:"call"},return:{primary:"\u0627\u0631\u062C\u0639",alternatives:["\u0639\u064F\u062F"],normalized:"return"},then:{primary:"\u062B\u0645",alternatives:["\u0628\u0639\u062F\u0647\u0627","\u062B\u0645\u0651"],normalized:"then"},and:{primary:"\u0648\u0623\u064A\u0636\u0627\u064B",alternatives:["\u0623\u064A\u0636\u0627\u064B"],normalized:"and"},end:{primary:"\u0646\u0647\u0627\u064A\u0629",alternatives:["\u0627\u0646\u062A\u0647\u0649","\u0622\u062E\u0631"],normalized:"end"},js:{primary:"\u062C\u0627\u0641\u0627\u0633\u0643\u0631\u0628\u062A",alternatives:["js"],normalized:"js"},async:{primary:"\u0645\u062A\u0632\u0627\u0645\u0646",normalized:"async"},tell:{primary:"\u0623\u062E\u0628\u0631",normalized:"tell"},default:{primary:"\u0627\u0641\u062A\u0631\u0627\u0636\u064A",normalized:"default"},init:{primary:"\u062A\u0647\u064A\u0626\u0629",alternatives:["\u0628\u062F\u0621"],normalized:"init"},behavior:{primary:"\u0633\u0644\u0648\u0643",normalized:"behavior"},install:{primary:"\u062A\u062B\u0628\u064A\u062A",alternatives:["\u062B\u0628\u0651\u062A"],normalized:"install"},measure:{primary:"\u0642\u064A\u0627\u0633",alternatives:["\u0642\u0650\u0633"],normalized:"measure"},beep:{primary:"\u0635\u0641\u0651\u0631",normalized:"beep"},break:{primary:"\u062A\u0648\u0642\u0641",normalized:"break"},copy:{primary:"\u0627\u0646\u0633\u062E",normalized:"copy"},exit:{primary:"\u0627\u062E\u0631\u062C",normalized:"exit"},pick:{primary:"\u0627\u062E\u062A\u0631",normalized:"pick"},render:{primary:"\u0627\u0631\u0633\u0645",normalized:"render"},into:{primary:"\u0641\u064A",alternatives:["\u0625\u0644\u0649"],normalized:"into"},before:{primary:"\u0642\u0628\u0644",normalized:"before"},after:{primary:"\u0628\u0639\u062F",normalized:"after"},until:{primary:"\u062D\u062A\u0649",normalized:"until"},event:{primary:"\u062D\u062F\u062B",normalized:"event"},from:{primary:"\u0645\u0646",normalized:"from"}},tokenization:{prefixes:["\u0627\u0644","\u0648","\u0641","\u0628","\u0643","\u0644"]},eventHandler:{eventMarker:{primary:"\u0639\u0646\u062F",alternatives:["\u0641\u064A","\u0644\u062F\u0649","\u0639\u0646\u062F\u0645\u0627","\u062D\u064A\u0646","\u062D\u064A\u0646\u0645\u0627","\u0644\u0645\u0651\u0627","\u0644\u0645\u0627"],position:"before"},temporalMarkers:["\u0639\u0646\u062F\u0645\u0627","\u062D\u064A\u0646","\u0644\u0645\u0651\u0627"],negationMarker:{primary:"\u0639\u062F\u0645",alternatives:["\u0639\u062F\u0645"],position:"before"}}};var $=Se([[1536,1791],[1872,1919],[2208,2303],[64336,65023],[65136,65279]]),$t=new Set(["\u0628\u0640","\u0644\u0640","\u0643\u0640","\u0648\u0640"]),Be=new Map([["\u0648",{normalized:"and",type:"conjunction"}],["\u0641",{normalized:"then",type:"conjunction"}],["\u0628",{normalized:"with",type:"preposition"}],["\u0644",{normalized:"to",type:"preposition"}],["\u0643",{normalized:"like",type:"preposition"}],["\u0648\u0644",{normalized:"and-to",type:"conjunction"}],["\u0648\u0628",{normalized:"and-with",type:"conjunction"}],["\u0648\u0643",{normalized:"and-like",type:"conjunction"}],["\u0641\u0644",{normalized:"then-to",type:"conjunction"}],["\u0641\u0628",{normalized:"then-with",type:"conjunction"}],["\u0641\u0643",{normalized:"then-like",type:"conjunction"}]]),pt=new Map([["\u0639\u0646\u062F\u0645\u0627",{normalized:"on",formality:"formal",confidence:.95,description:"when (formal MSA)"}],["\u062D\u064A\u0646\u0645\u0627",{normalized:"on",formality:"formal",confidence:.93,description:"when/whenever (formal)"}],["\u0639\u0646\u062F",{normalized:"on",formality:"neutral",confidence:.88,description:"at/when (neutral)"}],["\u062D\u064A\u0646",{normalized:"on",formality:"neutral",confidence:.85,description:"when/time (neutral)"}],["\u0644\u0645\u0651\u0627",{normalized:"on",formality:"dialectal",confidence:.7,description:"when (dialectal, with shadda)"}],["\u0644\u0645\u0627",{normalized:"on",formality:"dialectal",confidence:.68,description:"when (dialectal, no diacritic)"}],["\u0644\u062F\u0649",{normalized:"on",formality:"neutral",confidence:.82,description:"at/with (temporal)"}]]),Ne=new Set(["\u0641\u064A","\u0639\u0644\u0649","\u0645\u0646","\u0625\u0644\u0649","\u0627\u0644\u0649","\u0645\u0639","\u0639\u0646","\u0642\u0628\u0644","\u0628\u0639\u062F","\u0628\u064A\u0646"]),Ft=[{native:"\u0635\u062D\u064A\u062D",normalized:"true"},{native:"\u062E\u0637\u0623",normalized:"false"},{native:"null",normalized:"null"},{native:"\u0641\u0627\u0631\u063A",normalized:"null"},{native:"\u063A\u064A\u0631 \u0645\u0639\u0631\u0641",normalized:"undefined"},{native:"\u0627\u0644\u0623\u0648\u0644",normalized:"first"},{native:"\u0623\u0648\u0644",normalized:"first"},{native:"\u0627\u0644\u0623\u062E\u064A\u0631",normalized:"last"},{native:"\u0622\u062E\u0631",normalized:"last"},{native:"\u0627\u0644\u062A\u0627\u0644\u064A",normalized:"next"},{native:"\u0627\u0644\u0633\u0627\u0628\u0642",normalized:"previous"},{native:"\u0627\u0644\u0623\u0642\u0631\u0628",normalized:"closest"},{native:"\u0627\u0644\u0623\u0628",normalized:"parent"},{native:"\u0627\u0644\u0646\u0642\u0631",normalized:"click"},{native:"\u0646\u0642\u0631",normalized:"click"},{native:"\u0627\u0644\u0625\u062F\u062E\u0627\u0644",normalized:"input"},{native:"\u0625\u062F\u062E\u0627\u0644",normalized:"input"},{native:"\u0627\u0644\u062A\u063A\u064A\u064A\u0631",normalized:"change"},{native:"\u062A\u063A\u064A\u064A\u0631",normalized:"change"},{native:"\u0627\u0644\u0625\u0631\u0633\u0627\u0644",normalized:"submit"},{native:"\u0625\u0631\u0633\u0627\u0644",normalized:"submit"},{native:"\u0627\u0644\u062A\u0631\u0643\u064A\u0632",normalized:"focus"},{native:"\u0641\u0642\u062F\u0627\u0646 \u0627\u0644\u062A\u0631\u0643\u064A\u0632",normalized:"blur"},{native:"\u0636\u063A\u0637",normalized:"keydown"},{native:"\u0631\u0641\u0639",normalized:"keyup"},{native:"\u062A\u0645\u0631\u064A\u0631 \u0627\u0644\u0641\u0623\u0631\u0629",normalized:"mouseover"},{native:"\u0645\u063A\u0627\u062F\u0631\u0629 \u0627\u0644\u0641\u0623\u0631\u0629",normalized:"mouseout"},{native:"\u062A\u062D\u0645\u064A\u0644",normalized:"load"},{native:"\u062A\u0645\u0631\u064A\u0631",normalized:"scroll"},{native:"\u0647\u064A",normalized:"it"},{native:"\u062B\u0627\u0646\u064A\u0629",normalized:"s"},{native:"\u062B\u0648\u0627\u0646\u064A",normalized:"s"},{native:"\u0645\u0644\u064A \u062B\u0627\u0646\u064A\u0629",normalized:"ms"},{native:"\u062F\u0642\u064A\u0642\u0629",normalized:"m"},{native:"\u062F\u0642\u0627\u0626\u0642",normalized:"m"},{native:"\u0633\u0627\u0639\u0629",normalized:"h"},{native:"\u0633\u0627\u0639\u0627\u062A",normalized:"h"}],Ut=[{pattern:"\u0645\u0644\u064A \u062B\u0627\u0646\u064A\u0629",suffix:"ms",length:9,caseInsensitive:!1},{pattern:"\u0645\u0644\u064A_\u062B\u0627\u0646\u064A\u0629",suffix:"ms",length:8,caseInsensitive:!1},{pattern:"\u062F\u0642\u0627\u0626\u0642",suffix:"m",length:5,caseInsensitive:!1},{pattern:"\u062F\u0642\u064A\u0642\u0629",suffix:"m",length:5,caseInsensitive:!1},{pattern:"\u062B\u0648\u0627\u0646\u064A",suffix:"s",length:5,caseInsensitive:!1},{pattern:"\u062B\u0627\u0646\u064A\u0629",suffix:"s",length:5,caseInsensitive:!1},{pattern:"\u0633\u0627\u0639\u0627\u062A",suffix:"h",length:5,caseInsensitive:!1},{pattern:"\u0633\u0627\u0639\u0629",suffix:"h",length:4,caseInsensitive:!1}],We=class extends te{constructor(){super();this.language="ar";this.direction="rtl";this.initializeKeywordsFromProfile(H,Ft),this.normalizer=new ce}tokenize(t){let n=[],r=0;for(;r<t.length;){if(M(t[r])){r++;continue}if(J(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 c=this.trySelector(t,r);if(c){n.push(c),r=c.position.end;continue}}if(ee(t[r])){let a=this.tryString(t,r);if(a){n.push(a),r=a.position.end;continue}}if(se(t,r)){let a=this.tryUrl(t,r);if(a){n.push(a),r=a.position.end;continue}}if(C(t[r])){let a=this.extractArabicNumber(t,r);if(a){n.push(a),r=a.position.end;continue}}let o=this.tryVariableRef(t,r);if(o){n.push(o),r=o.position.end;continue}let s=this.tryPreposition(t,r);if(s){n.push(s),r=s.position.end;continue}if($(t[r])){let a=this.tryProclitic(t,r);if(a){n.push(a.conjunction),r=a.conjunction.position.end;continue}let c=this.extractArabicWord(t,r);if(c){n.push(c),r=c.position.end;continue}}if(E(t[r])){let a=this.extractAsciiWord(t,r);if(a){n.push(a),r=a.position.end;continue}}r++}return new O(n,"ar")}classifyToken(t){return Ne.has(t)?"particle":this.isKeyword(t)?"keyword":t.startsWith("#")||t.startsWith(".")||t.startsWith("[")||t.startsWith("*")||t.startsWith("<")?"selector":t.startsWith('"')||t.startsWith("'")||/^\d/.test(t)?"literal":"identifier"}tryPreposition(t,n){let r=Array.from(Ne).sort((o,s)=>s.length-o.length);for(let o of r)if(t.slice(n,n+o.length)===o){let s=n+o.length;if(s>=t.length||M(t[s])||!$(t[s]))return{...k(o,"particle",S(n,s)),metadata:{prepositionValue:o}}}return null}tryProclitic(t,n){let r=n;for(;r<t.length&&($(t[r])||t[r]==="\u0640");)r++;let o=t.slice(n,r);if(this.lookupKeyword(o)||pt.has(o)||Ne.has(o))return null;if(n+2<=t.length){let h=t.slice(n,n+2),f=Be.get(h);if(f){let u=n+2;if(u<t.length&&$(t[u])){let p=0,g=u;for(;g<t.length&&$(t[g]);)p++,g++;if(p>=2)if(Be.get(t[n])){let w=t.slice(n+1,r);if(!this.lookupKeyword(w)){let B=f.type==="conjunction"?"conjunction":"particle";return{conjunction:k(h,B,S(n,u),f.normalized)}}}else{let w=f.type==="conjunction"?"conjunction":"particle";return{conjunction:k(h,w,S(n,u),f.normalized)}}}}}let s=t[n],a=Be.get(s);if(!a)return null;let c=n+1;if(c>=t.length||!$(t[c]))return null;let l=0,m=c;for(;m<t.length&&$(t[m]);)l++,m++;if(l<2)return null;let x=a.type==="conjunction"?"conjunction":"particle";return{conjunction:k(s,x,S(n,c),a.normalized)}}extractArabicWord(t,n){let r=n,o="";for(let l of $t){let m=l.replace("\u0640","");t.slice(r,r+m.length)}for(;r<t.length&&($(t[r])||t[r]==="\u0640");)o+=t[r++];if(!o)return null;let s=pt.get(o);if(s)return{...k(o,"keyword",S(n,r),s.normalized),metadata:{temporalFormality:s.formality,temporalConfidence:s.confidence}};let a=this.lookupKeyword(o);if(a)return k(o,"keyword",S(n,r),a.normalized);if(Ne.has(o))return{...k(o,"particle",S(n,r)),metadata:{prepositionValue:o}};let c=this.tryMorphKeywordMatch(o,n,r);return c||k(o,"identifier",S(n,r))}extractAsciiWord(t,n){let r=n,o="";for(;r<t.length&&E(t[r]);)o+=t[r++];return o?k(o,"identifier",S(n,r)):null}extractArabicNumber(t,n){return this.tryNumberWithTimeUnits(t,n,Ut,{allowSign:!1,skipWhitespace:!0})}},Re=new We;it("ar",Re,H);function mt(i){return ot(i)}function ne(i,e){return st(i,e)}function Ce(){return xe()}function A(i){let e="complex";return i.startsWith("#")&&!i.includes(" ")?e="id":i.startsWith(".")&&!i.includes(" ")?e="class":i.startsWith("[")&&i.endsWith("]")?e="attribute":/^[a-z][a-z0-9]*$/i.test(i)&&(e="element"),{type:"selector",value:i,selectorKind:e}}function b(i,e){let t={type:"literal",value:i};return e!==void 0?{type:"literal",value:i,dataType:e}:t}var Dt=new Set(["me","you","it","result","event","target","body"]);function le(i){return Dt.has(i)}function P(i){return{type:"reference",value:i}}function re(i,e){return{type:"property-path",object:i,property:e}}function _(i,e,t){let n={kind:"command",action:i,roles:new Map(Object.entries(e))};return t!==void 0?{...n,metadata:t}:n}function G(i,e,t,n,r,o){let s=new Map;s.set("event",i);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),o!==void 0&&o.length>0&&(a.additionalEvents=o),a}function Ke(i,e="then",t){let n={kind:"compound",action:"compound",roles:new Map,statements:i,chainType:e};return t!==void 0&&(n.metadata=t),n}function $e(i,e){return!e||e.length===0||e.includes(i)||e.includes("expression")?!0:i==="property-path"?e.some(t=>["selector","reference","expression"].includes(t)):!1}function ft(i,e){return i.possessive?.keywords?.[e]}var j=class j{constructor(){this.stemMatchCount=0;this.totalKeywordMatches=0}matchPattern(e,t){let n=e.mark(),r=new Map;if(this.currentProfile=z(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 o of t){let s=e.mark(),a=this.matchPattern(e,o);a&&n.push(a),e.reset(s)}if(n.length===0)return null;n.sort((o,s)=>{let a=s.pattern.priority-o.pattern.priority;return a!==0?a:s.confidence-o.confidence});let r=n[0];return this.matchPattern(e,r.pattern),r}matchTokenSequence(e,t,n){let r=t[0],o=r?.type==="literal"&&(r.value==="and"||r.value==="then"||r.alternatives?.includes("and")||r.alternatives?.includes("then"));if(this.currentProfile?.code==="ar"&&!o)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 o of t.alternatives){let s=this.getMatchType(n,o);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 o=this.tryMatchPossessiveExpression(e);if(o)return t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(o.type)&&!t.expectedTypes.includes("expression")?t.optional||!1:(n.set(t.role,o),!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&&!$e(a.type,t.expectedTypes)?t.optional||!1:(n.set(t.role,a),!0);let c=this.tryMatchPropertyAccessExpression(e);if(c)return t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(c.type)&&!t.expectedTypes.includes("expression")?t.optional||!1:(n.set(t.role,c),!0);let l=this.tryMatchSelectorPropertyExpression(e);if(l)return t.expectedTypes&&t.expectedTypes.length>0&&!$e(l.type,t.expectedTypes)?t.optional||!1:(n.set(t.role,l),!0);let m=this.tokenToSemanticValue(r);return!m||t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(m.type)?t.optional||!1:(n.set(t.role,m),e.advance(),!0)}tryMatchPossessiveExpression(e){let t=e.peek();if(!t||!this.currentProfile)return null;let n=(t.normalized||t.value).toLowerCase(),r=ft(this.currentProfile,n);if(!r)return null;let o=e.mark();e.advance();let s=e.peek();if(!s)return e.reset(o),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 c=a;for(;e.peek()?.kind==="selector"&&e.peek().value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(e.peek().value);)c+=e.peek().value,e.advance();let l=e.peek();return l?.kind==="literal"&&l.value.startsWith("(")&&(c+=l.value,e.advance()),re(P(r),c)}return e.reset(o),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 o=e.peek();if(!o||o.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<j.MAX_METHOD_ARGS;){let l=e.peek();if(!l)break;if(l.kind==="punctuation"&&l.value===")"){e.advance();break}if(l.kind==="punctuation"&&l.value===","){e.advance();continue}a.push(l.value),e.advance()}return{type:"expression",raw:`${t.value}.${o.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 o=e.peek();if(!o||o.kind!=="identifier")return e.reset(n),null;e.advance();let s=`${t.value}.${o.value}`,a=1;for(;!e.isAtEnd()&&a<j.MAX_PROPERTY_DEPTH;){let l=e.peek();if(!l||l.kind!=="operator"||l.value!==".")break;e.advance();let m=e.peek();if(!m||m.kind!=="identifier")break;e.advance(),s+=`.${m.value}`,a++}let c=e.peek();if(c&&c.kind==="punctuation"&&c.value==="("){e.advance();let l=[],m=0;for(;!e.isAtEnd()&&l.length<j.MAX_METHOD_ARGS;){let h=e.peek();if(!h)break;if(h.kind==="punctuation"&&h.value===")"){if(m===0){e.advance();break}m--}if(h.kind==="punctuation"&&h.value==="("&&m++,h.kind==="punctuation"&&h.value===","){e.advance();continue}l.push(h.value),e.advance()}return{type:"expression",raw:`${s}(${l.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 o=e.peek();return!o||o.kind!=="selector"&&o.kind!=="identifier"?(e.reset(n),null):(e.advance(),re(A(t.value),o.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 o=e.peek(1);o&&o.kind,e.advance();let s=r.value.slice(1);return re(A(t.value),s)}matchGroupToken(e,t,n){let r=e.mark(),o=new Set(n.keys());if(!this.matchTokenSequence(e,t.tokens,n)){e.reset(r);for(let a of n.keys())o.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 le(t)?P(t):b(e.normalized||e.value);case"identifier":if(e.value.startsWith(":"))return P(e.value);let n=e.value.toLowerCase();return le(n)?P(n):{type:"expression",raw:e.value};case"url":return b(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 b(r,"string")}if(e==="true")return b(!0,"boolean");if(e==="false")return b(!1,"boolean");let t=e.match(/^(\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(t){let r=parseFloat(t[1]);return t[2]?b(e,"duration"):b(r,"number")}let n=parseFloat(e);return isNaN(n)?b(e,"string"):b(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,o=l=>e.extraction?.[l]?.default!==void 0;for(let l of e.template.tokens)if(l.type==="role")r+=1,t.has(l.role)&&(n+=1);else if(l.type==="group"){for(let m of l.tokens)if(m.type==="role"){let x=o(m.role),h=.8;r+=h,t.has(m.role)?n+=h:x&&(n+=h*.6)}}let s=r>0?n/r:1;if(this.stemMatchCount>0&&this.totalKeywordMatches>0){let l=this.stemMatchCount/this.totalKeywordMatches*.15;s=Math.max(.5,s-l)}let a=this.calculateVSOConfidenceBoost(e);s=Math.min(1,s+a);let c=this.arabicPrepositionDisambiguation(e,t);return s=Math.max(0,Math.min(1,s+c)),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[o,s]of t.entries()){let a=r[o];if(!a||a.length===0)continue;let c="metadata"in s?s.metadata:void 0;if(c&&typeof c.prepositionValue=="string"){let l=c.prepositionValue;a.includes(l)?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(j.ENGLISH_NOISE_WORDS.has(n)){let r=e.mark();e.advance();let o=e.peek();if(o&&o.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 o=r.metadata;if(!o)break;switch(n=!0,o.modifierName){case"once":t.once=!0;break;case"debounce":typeof o.value=="number"&&(t.debounce=o.value);break;case"throttle":typeof o.value=="number"&&(t.throttle=o.value);break;case"queue":(o.value==="first"||o.value==="last"||o.value==="all"||o.value==="none")&&(t.queue=o.value);break}e.advance()}return n?t:void 0}};j.MAX_PROPERTY_DEPTH=10,j.MAX_METHOD_ARGS=20,j.ENGLISH_NOISE_WORDS=new Set(["the","a","an"]);var ue=j,X=new ue;var gt={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 Pe=class{render(e,t){if(e.kind==="compound")return this.renderCompound(e,t);let n=ct(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(o=>this.render(o,t)),r=this.getChainWord(e.chainType,t);return n.join(` ${r} `)}getChainWord(e,t){let n=z(t);return n?.keywords?n.keywords[e]?.primary??e:e}renderExplicit(e){if(e.kind==="compound"){let n=e;return n.statements.map(o=>this.renderExplicit(o)).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(o=>this.renderExplicit(o));t.push(`body:${r.join(" ")}`)}}return`[${t.join(" ")}]`}supportedLanguages(){return Ce()}findBestPattern(e,t){let n=t.map(r=>{let o=r.priority;for(let s of r.template.tokens)s.type==="role"&&(e.roles.has(s.role)?o+=10:s.optional||(o-=50));return r.language==="en"&&((r.id.includes("standard")||r.id.includes("en-source"))&&(o+=20),(r.id.includes("-when")||r.id.includes("-if")||r.id.includes("-upon"))&&(o-=15)),{pattern:r,score:o}});return n.sort((r,o)=>o.score-r.score),n.length>0?n[0].pattern:null}renderWithPattern(e,t){let n=[],r=t.language;for(let o of t.template.tokens){let s=this.renderPatternToken(o,e,r);s!==null&&n.push(s)}if(e.kind==="event-handler"){let o=e;if(o.body&&o.body.length>0){let s=o.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 o=[];for(let s of e.tokens){let a=this.renderPatternToken(s,t,n);a!==null&&o.push(a)}return o.length>0?o.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=z(t);return n?.references?n.references[e.value]??e.value:e.value}renderPropertyPath(e,t){let n=z(t),r=e.property,o=e.object.type==="reference"?e.object.value:null;if(n?.possessive?.specialForms&&o){let a=n.possessive.specialForms[o];if(a){let{markerPosition:c,usePossessiveAdjectives:l}=n.possessive;return l&&c==="after-object"?`${r} ${a}`:`${a} ${r}`}}let s=this.valueToNaturalString(e.object,t);if(n?.possessive){let{marker:a,markerPosition:c,usePossessiveAdjectives:l}=n.possessive;if(l&&o&&c==="after-object")return`${r} ${s}`;if(a)switch(c){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}`}},Fe=new Pe;function de(i,e){return Fe.render(i,e)}function pe(i){return Fe.renderExplicit(i)}function Z(i){let e=i.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=qt(t);if(n.length===0)throw new Error("No command specified in explicit statement");let r=n[0].toLowerCase(),o=new Map;for(let a=1;a<n.length;a++){let c=n[a],l=c.indexOf(":");if(l===-1)throw new Error(`Invalid role format: "${c}". Expected role:value`);let m=c.slice(0,l),x=c.slice(l+1);if(m==="body"&&x.startsWith("[")){let f=Gt(c,l+1),u=c.slice(l+1,f+1);o.set(m,{type:"expression",raw:u});continue}let h=Ht(x);o.set(m,h)}if(r==="on"){let a=o.get("event");if(!a)throw new Error("Event handler requires event role: [on event:click ...]");let c=o.get("body"),l=[];return c&&c.type==="expression"&&l.push(Z(c.raw)),o.delete("body"),G(a,l,void 0,{sourceLanguage:"explicit"})}let s={};for(let[a,c]of o)s[a]=c;return _(r,s,{sourceLanguage:"explicit"})}function qt(i){let e=[],t="",n=!1,r="",o=0;for(let s=0;s<i.length;s++){let a=i[s];if(n){t+=a,a===r&&i[s-1]!=="\\"&&(n=!1);continue}if(a==='"'||a==="'"){n=!0,r=a,t+=a;continue}if(a==="["){o++,t+=a;continue}if(a==="]"){o--,t+=a;continue}if(a===" "&&o===0){t&&(e.push(t),t="");continue}t+=a}return t&&e.push(t),e}function Ht(i){if(i.startsWith("#")||i.startsWith(".")||i.startsWith("[")||i.startsWith("@")||i.startsWith("*"))return A(i);if(i.startsWith('"')||i.startsWith("'")){let n=i.slice(1,-1);return b(n,"string")}if(i==="true")return b(!0,"boolean");if(i==="false")return b(!1,"boolean");let e=i.toLowerCase();if(le(e))return P(e);let t=i.match(/^(-?\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(t){let n=parseFloat(t[1]);return t[2]?b(i,"duration"):b(n,"number")}return b(i,"string")}function Gt(i,e){let t=0;for(let n=e;n<i.length;n++)if(i[n]==="[")t++;else if(i[n]==="]"&&(t--,t===0))return n;return i.length-1}function ie(i){let e=i.trim();return e.startsWith("[")&&e.endsWith("]")}var N=class N{parse(e,t){let{modifiers:n,remainingInput:r}=this.extractStandaloneModifiers(e,t),o=r||e,s=ne(o,t),a=V(t);if(a.length===0)throw new Error(`No patterns available for language: ${t}`);let c=[...a].sort((p,g)=>g.priority-p.priority),l=c.filter(p=>p.command==="on"),m=X.matchBest(s,l);if(m){let p=this.buildEventHandler(m,s,t);return n?this.applyModifiers(p,n):p}let x=c.filter(p=>p.command!=="on"),h=X.matchBest(s,x);if(h)return this.buildCommand(h,t);let f=this.trySOVEventExtraction(o,t,c);if(f)return n?this.applyModifiers(f,n):f;let u=this.tryCompoundCommandParsing(s,x,t);if(u)return u;throw new Error(`Could not parse input in ${t}: ${o}`)}canParse(e,t){try{return this.parse(e,t),!0}catch{return!1}}supportedLanguages(){return Ce()}buildCommand(e,t){if(!e)throw new Error("No match to build command from");let n={};for(let[r,o]of e.captured)n[r]=o;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 o=X.extractEventModifiers(t),s=this.extractOrConjunctionEvents(t,n),a=r;s.length>0&&r.type==="literal"&&(a={type:"literal",value:[String(r.value),...s.map(x=>String("value"in x?x.value:""))].join(" or ")});let c,l=e.captured.get("action");if(l&&l.type==="literal"){let m=l.value,x={};for(let[u,p]of e.captured)u!=="event"&&u!=="action"&&u!=="continues"&&(x[u]=p);let h=_(m,x,{sourceLanguage:n,patternId:e.pattern.id,confidence:e.confidence}),f=e.captured.get("continues");if(f&&f.type==="literal"&&f.value==="then"){let u=V(n).filter(v=>v.command!=="on").sort((v,w)=>w.priority-v.priority),p=V(n).filter(v=>v.id.startsWith("grammar-")&&v.id.includes("-continuation")).sort((v,w)=>w.priority-v.priority),g=this.parseBodyWithGrammarPatterns(t,u,p,n);g.length>0?c=[h,...g]:c=[h]}else c=[h]}else{let m=V(n).filter(x=>x.command!=="on").sort((x,h)=>h.priority-x.priority);c=this.parseBodyWithClauses(t,m,n)}return G(a,c,o,{sourceLanguage:n,patternId:e.pattern.id,confidence:e.confidence})}parseBodyWithClauses(e,t,n){let r=[],o=[];for(;!e.isAtEnd();){let s=e.peek();if(!s)break;let a=s.kind==="conjunction"||s.kind==="keyword"&&this.isThenKeyword(s.value,n),c=s.kind==="keyword"&&this.isEndKeyword(s.value,n);if(a){if(o.length>0){let l=this.parseClause(o,t,n);r.push(...l),o.length=0}e.advance();continue}if(c){if(o.length>0){let l=this.parseClause(o,t,n);r.push(...l)}e.advance();break}o.push(s),e.advance()}if(o.length>0){let s=this.parseClause(o,t,n);r.push(...s)}return r.length>1?[Ke(r,"then",{sourceLanguage:n})]:r}parseClause(e,t,n){if(e.length===0)return[];let r=new O(e,n),o=[];for(;!r.isAtEnd();){let s=X.matchBest(r,t);s?o.push(this.buildCommand(s,n)):r.advance()}if(o.length===0){let s=this.parseSOVClauseByVerbAnchoring(e,n);if(s.length>0)return s}return o}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 o of r.alternatives)t.set(o.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 o of r.alternatives)t.has(o)||t.set(o,n);return t}parseSOVClauseByVerbAnchoring(e,t){let n=z(t);if(!n||n.wordOrder!=="SOV")return[];let r=N.buildVerbLookup(n),o=N.buildMarkerToRoleLookup(n),s=[],a=0;for(;a<e.length;){let c=-1,l="";for(let u=a;u<e.length;u++){let p=e[u],g=r.get(p.value.toLowerCase()),v=p.normalized?r.get(p.normalized.toLowerCase()):void 0,w=g||v;if(w){c=u,l=w;break}}if(c===-1)break;let m=e.slice(a,c),x=e.length;for(let u=c+1;u<e.length;u++){let p=e[u];if(p.kind==="conjunction"||this.isThenKeyword(p.value,t)){x=u;break}if(u>c+1&&(r.get(p.value.toLowerCase())||(p.normalized?r.get(p.normalized.toLowerCase()):void 0))){x=u;break}}let h=e.slice(c+1,x),f=this.extractRolesFromMarkedTokens(m,h,o,l,t);if(s.push(_(l,f,{sourceLanguage:t,confidence:.7})),a=x,a<e.length){let u=e[a];(u.kind==="conjunction"||this.isThenKeyword(u.value,t))&&a++}}return s}extractRolesFromMarkedTokens(e,t,n,r,o){let s={},a=c=>{let l=[];for(let m of c){let x=n.get(m.value);if(x&&m.kind==="particle"&&l.length>0){let h=this.tokensToSemanticValue(l);if(h){let f=this.mapRoleForCommand(x,r,s);f&&(s[f]=h)}l=[]}else l.push(m)}if(l.length>0){let m=this.tokensToSemanticValue(l);m&&(s.patient?s.destination||(s.destination=m):s.patient=m)}};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(o=>o.kind!=="whitespace");if(t.length===0)return null;if(t.length===1)return this.tokenToSemanticValue(t[0]);let n=t.map(o=>o.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("'")?b(n):r.kind==="reference"?P(n):b(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 b(t);if(/^-?\d+(\.\d+)?$/.test(t))return b(parseFloat(t));if(t==="true"||t==="\u771F"||t==="\uCC38"||t==="do\u011Fru")return b(!0);if(t==="false"||t==="\u507D"||t==="\uAC70\uC9D3"||t==="yanl\u0131\u015F")return b(!1);let n=e.normalized?.toLowerCase();return n==="me"||n==="it"||n==="you"||n==="result"||n==="body"?P(n):e.kind==="reference"?P(e.normalized||"me"):b(t)}parseBodyWithGrammarPatterns(e,t,n,r){let o=[];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 c=X.matchBest(e,n);if(c){let l=c.pattern.command,m={};for(let[f,u]of c.captured)f!=="event"&&f!=="action"&&f!=="continues"&&(m[f]=u);let x=_(l,m,{sourceLanguage:r,patternId:c.pattern.id});o.push(x),a=!0;let h=c.captured.get("continues");if(h&&h.type==="literal"&&h.value==="then")continue}}if(!a){let c=X.matchBest(e,t);c&&(o.push(this.buildCommand(c,r)),a=!0)}a||e.advance()}return o}tryCompoundCommandParsing(e,t,n){let r=e.tokens;if(!r.some(c=>c.kind==="conjunction"||c.kind==="keyword"&&this.isThenKeyword(c.value,n)))return null;let s=new O(r,n),a=this.parseBodyWithClauses(s,t,n);return a.length===0?null:a.length===1?a[0]:Ke(a,"then",{sourceLanguage:n,confidence:.65})}trySOVEventExtraction(e,t,n){let r=N.SOV_EVENT_MARKERS[t];if(!r)return null;let s=ne(e,t).tokens,a=gt[t],c=new Set;if(a)for(let T of Object.keys(a))c.add(T.toLowerCase());let l=N.SOV_SOURCE_MARKERS[t],m=-1,x="",h="",f=1;for(let T=0;T<s.length;T++){let R=s[T],W=R.value.toLowerCase(),K=W,Y="",Ae=W.indexOf("[");Ae>0&&(K=W.slice(0,Ae),Y=R.value.slice(Ae));let ze=R.normalized?.toLowerCase(),Je=ze&&N.KNOWN_EVENTS.has(ze),et=c.has(W)||c.has(K),wt=N.KNOWN_EVENTS.has(K);if(Je||et||wt){let oe;if(Je?oe=ze:et?oe=a?.[W]??a?.[K]??K:oe=K,r.size>0){let he=1,Ve=s[T+1];Ve&&Ve.kind==="selector"&&Ve.value.startsWith("[")&&(he=2);let ye=s[T+he];if(ye&&(ye.kind==="particle"||ye.kind==="keyword")&&r.has(ye.value)){m=T,x=oe,h=Y||(he===2?s[T+1].value:""),f=he+1;break}}else{m=T,x=oe,h=Y,f=1;break}}}if(m===-1)return null;let u=new Set;for(let T=m;T<m+f;T++)u.add(T);if(l){let T=m+f;if(T<s.length){let R=s[T];(R.kind==="particle"||R.kind==="keyword")&&l.markers.has(R.value)&&u.add(T)}for(let R=0;R<m;R++){let W=s[R],K=W.value.toLowerCase(),Y=W.normalized?.toLowerCase();if(l.windowTokens.has(K)||Y&&l.windowTokens.has(Y)){u.add(R);break}}}let p=s.filter((T,R)=>!u.has(R));if(p.length===0)return null;let g=n.filter(T=>T.command!=="on"),v=new O(p,t),w=this.parseBodyWithClauses(v,g,t);if(w.length===0)return null;let B={sourceLanguage:t,confidence:.75};return h&&(B.keyFilter=h),G({type:"literal",value:x},w,void 0,B)}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=ne(e,t).tokens;if(r.length===0)return{modifiers:null,remainingInput:null};let s=r[0].value.toLowerCase(),a=N.STANDALONE_MODIFIERS[s];if(!a)return{modifiers:null,remainingInput:null};let c={},l=1;if(a==="once")c.once=!0;else{let f=1;if(f<r.length){let u=r[f];(u.kind==="keyword"||u.kind==="particle")&&(f++,l++)}if(f<r.length){let u=r[f];if(u.kind==="literal"){let p=u.value.match(/^(\d+)(ms|s|m)?$/);if(p){let g=parseInt(p[1],10),v=p[2]||"ms";v==="s"?g*=1e3:v==="m"&&(g*=6e4),c[a]=g,l=f+1}}}c[a]||(c[a]=a==="debounce"?300:100)}let m=r.slice(l);if(m.length===0)return{modifiers:null,remainingInput:null};let x=m[0].position.start,h=e.slice(x);return{modifiers:c,remainingInput:h}}applyModifiers(e,t){return{...e,eventModifiers:{...e.eventModifiers,...t}}}extractOrConjunctionEvents(e,t){let n=[];for(;;){let r=e.mark(),o=e.peek();if(!o)break;let s=(o.normalized||o.value).toLowerCase();if(!N.OR_KEYWORDS.has(s)){e.reset(r);break}e.advance();let a=e.peek();if(!a){e.reset(r);break}let c=(a.normalized||a.value).toLowerCase();e.advance(),n.push({type:"literal",value:c})}return n}};N.KNOWN_EVENTS=new Set(["click","dblclick","input","change","submit","keydown","keyup","keypress","mouseover","mouseout","mousedown","mouseup","focus","blur","load","scroll","resize","contextmenu"]),N.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"])},N.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"])}},N.STANDALONE_MODIFIERS={once:"once",debounced:"debounce",debounce:"debounce",throttled:"throttle",throttle:"throttle"},N.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 Le=N,Ue=new Le;function F(i,e){return Ue.parse(i,e)}function De(i,e){return Ue.canParse(i,e)}function qe(i,e){if(ie(i))return i;let t=F(i,e);return pe(t)}function He(i,e){let t=Z(i);return de(t,e)}function Ge(i,e){return ie(i)?Z(i):F(i,e)}var Xt=new Set(["me","my","myself","you","your","yourself","it","its","result","event","target","body","detail","window","document"]),Zt=new Set(["and","or","not","no"]),Qt=new Set(["true","false","null","undefined"]),Yt=new Set(["ms","s","seconds","second","milliseconds","millisecond","minutes","minute","hours","hour"]);function ht(i){let e=[],t=0,n=1,r=1;function o(){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 i[t+u]??""}function a(){let u=i[t];return t++,u===`
|
|
2
|
+
`?(n++,r=1):r++,u}function c(){for(;t<i.length&&/\s/.test(i[t]);)a()}function l(u){let p="";for(;t<i.length&&u(i[t]);)p+=a();return p}function m(u){let p=u;for(a();t<i.length&&i[t]!==u;)i[t]==="\\"&&t+1<i.length&&(p+=a()),p+=a();return t<i.length&&(p+=a()),p}function x(){let u="`";for(a();t<i.length&&i[t]!=="`";)i[t]==="\\"&&t+1<i.length&&(u+=a()),u+=a();return t<i.length&&(u+=a()),u}function h(){let u="<";for(a();t<i.length&&(u+=a(),!u.endsWith("/>")););return u}function f(u,p,g){return{type:u,value:p,start:g,end:t,line:n,column:r-p.length}}for(;t<i.length&&(c(),!(t>=i.length));){let u=t,p=s();if(p==="'"&&s(1)==="s"&&!/\w/.test(s(2))){a(),a(),e.push(f("POSSESSIVE","'s",u));continue}if(p==='"'||p==="'"){let g=m(p);e.push(f("STRING",g,u));continue}if(p==="`"){let g=x();e.push(f("TEMPLATE_LITERAL",g,u));continue}if(p==="<"&&/[a-zA-Z.#\[]/.test(s(1))){let g=h();e.push(f("QUERY_SELECTOR",g,u));continue}if(p==="#"&&o()){a();let g=l(v=>/[\w-]/.test(v));e.push(f("ID_SELECTOR","#"+g,u));continue}if(p==="."&&/[a-zA-Z_-]/.test(s(1))&&o()){a();let g=l(v=>/[\w-]/.test(v));e.push(f("CLASS_SELECTOR","."+g,u));continue}if(p==="["&&o()){let g=s(1);if(g==="@"||/[a-zA-Z]/.test(g)){let v="";for(v+=a();t<i.length&&i[t]!=="]";)i[t]==='"'||i[t]==="'"?v+=m(i[t]):v+=a();t<i.length&&(v+=a()),e.push(f("ATTRIBUTE_SELECTOR",v,u));continue}}if(p==="["){a(),e.push(f("LBRACKET","[",u));continue}if(p==="]"){a(),e.push(f("RBRACKET","]",u));continue}if(/\d/.test(p)){let g=l(B=>/[\d.]/.test(B)),v=t,w=l(B=>/[a-zA-Z]/.test(B));Yt.has(w)?e.push(f("TIME_EXPRESSION",g+w,u)):(t=v,e.push(f("NUMBER",g,u)));continue}if(p==="("){a(),e.push(f("LPAREN","(",u));continue}if(p===")"){a(),e.push(f("RPAREN",")",u));continue}if(p==="{"){a(),e.push(f("LBRACE","{",u));continue}if(p==="}"){a(),e.push(f("RBRACE","}",u));continue}if(p===","){a(),e.push(f("COMMA",",",u));continue}if(p===":"){a(),e.push(f("COLON",":",u));continue}if(p==="."){a(),e.push(f("DOT",".",u));continue}if(p==="+"||p==="-"||p==="*"||p==="/"||p==="%"){a(),e.push(f("OPERATOR",p,u));continue}if(p==="="||p==="!"||p==="<"||p===">"){let g=a();s()==="="&&(g+=a()),e.push(f("COMPARISON",g,u));continue}if(/[a-zA-Z_$]/.test(p)){let g=l(w=>/[\w$]/.test(w)),v=g.toLowerCase();Xt.has(v)?e.push(f("CONTEXT_VAR",g,u)):Zt.has(v)?e.push(f("LOGICAL",g,u)):Qt.has(v)?e.push(f("BOOLEAN",g,u)):e.push(f("IDENTIFIER",g,u));continue}a()}return e.push(f("EOF","",t)),e}var Me=class{constructor(){this.tokens=[];this.current=0}parse(e){try{return this.tokens=ht(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 Xe(i){return new Me().parse(i)}function L(i,e){switch(i.type){case"literal":return Jt(i);case"selector":return en(i,e);case"reference":return tn(i);case"property-path":return nn(i,e);case"expression":return rn(i);default:let t=i;throw new Error(`Unknown semantic value type: ${t.type}`)}}function Jt(i){let e={type:"literal",value:i.value};return i.dataType?{...e,dataType:i.dataType}:e}function en(i,e){return e&&i.value.startsWith("*")&&/^[a-zA-Z-]/.test(i.value.slice(1))&&e.push(`Converted '${i.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:i.value,selector:i.value,selectorType:i.selectorKind}}function tn(i){return{type:"contextReference",contextType:i.value,name:i.value}}function nn(i,e){return{type:"propertyAccess",object:L(i.object,e),property:i.property}}function rn(i){let e=Xe(i.raw);return!e.success||!e.node?{type:"identifier",name:i.raw}:e.node}function yt(i,e){return i.roles.get(e)}function d(i,e,t){let n=yt(i,e);return n?L(n,t):void 0}function y(i,e=[],t,n={}){let r={type:"command",name:i,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 on={action:"toggle",toAST(i,e){let t=d(i,"patient"),n=d(i,"destination"),r=d(i,"duration"),o=t?[t]:[],s={};return n&&(s.on=n),r&&(s.for=r),y("toggle",o,s)}},an={action:"add",toAST(i,e){let t=d(i,"patient"),n=d(i,"destination"),r=t?[t]:[],o={};return n&&(o.to=n),y("add",r,o)}},sn={action:"remove",toAST(i,e){let t=d(i,"patient"),n=d(i,"source"),r=t?[t]:[],o={};return n&&(o.from=n),y("remove",r,o)}},cn={action:"set",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=[],o={};return t&&r.push(t),n&&(o.to=n),y("set",r,o)}},ln={action:"show",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=d(i,"duration"),o=[],s={},a=t??n;return a&&o.push(a),r&&(s.with=r),y("show",o,s)}},un={action:"hide",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=d(i,"duration"),o=[],s={},a=t??n;return a&&o.push(a),r&&(s.with=r),y("hide",o,s)}},dn={action:"increment",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=d(i,"quantity"),o=[],s={},a=t??n;return a&&o.push(a),r&&(s.by=r),y("increment",o,s)}},pn={action:"decrement",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=d(i,"quantity"),o=[],s={},a=t??n;return a&&o.push(a),r&&(s.by=r),y("decrement",o,s)}},mn={action:"wait",toAST(i,e){let t=d(i,"duration");return y("wait",t?[t]:[],void 0,{isBlocking:!0})}},fn={action:"log",toAST(i,e){let t=d(i,"patient"),n=[];return t&&n.push(t),y("log",n)}},gn={action:"put",toAST(i,e){let t=d(i,"patient"),n=d(i,"destination"),r=yt(i,"method"),o=t?[t]:[],s={};if(n){let a=r?.type==="literal"?String(r.value):"into";s[a]=n}return y("put",o,s)}},hn={action:"fetch",toAST(i,e){let t=d(i,"source"),n=d(i,"method"),r=d(i,"responseType"),o=d(i,"patient"),s=t?[t]:[],a={};return n&&(a.with=n),r&&(a.as=r),o&&(a.body=o),y("fetch",s,a,{isBlocking:!0})}},yn={action:"append",toAST(i,e){let t=d(i,"patient"),n=d(i,"destination"),r=t?[t]:[],o={};return n&&(o.to=n),y("append",r,o)}},xn={action:"prepend",toAST(i,e){let t=d(i,"patient"),n=d(i,"destination"),r=t?[t]:[],o={};return n&&(o.to=n),y("prepend",r,o)}},vn={action:"trigger",toAST(i,e){let t=d(i,"event"),n=d(i,"destination"),r=t?[t]:[],o={};return n&&(o.on=n),y("trigger",r,o)}},Sn={action:"send",toAST(i,e){let t=d(i,"event"),n=d(i,"destination"),r=d(i,"patient"),o=t?[t]:[],s={};return n&&(s.to=n),r&&(s.detail=r),y("send",o,s)}},kn={action:"go",toAST(i,e){let t=d(i,"source"),n=d(i,"destination"),r=[],o={};return t&&r.push(t),n&&(o.to=n),y("go",r,o)}},bn={action:"transition",toAST(i,e){let t=d(i,"patient"),n=d(i,"goal"),r=d(i,"duration"),o=d(i,"destination"),s=t?[t]:[],a={};return n&&(a.to=n),r&&(a.over=r),o&&(a.on=o),y("transition",s,a)}},Tn={action:"focus",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=[],o={},s=t??n;return s&&r.push(s),y("focus",r,o)}},En={action:"blur",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=[],o=t??n;return o&&r.push(o),y("blur",r)}},wn={action:"get",toAST(i,e){let t=d(i,"source"),n=d(i,"patient"),r=[],o=t??n;return o&&r.push(o),y("get",r)}},Nn={action:"take",toAST(i,e){let t=d(i,"patient"),n=d(i,"source"),r=t?[t]:[],o={};return n&&(o.from=n),y("take",r,o)}},Rn={action:"call",toAST(i,e){let t=d(i,"patient");return y("call",t?[t]:[])}},Cn={action:"return",toAST(i,e){let t=d(i,"patient");return y("return",t?[t]:[])}},Pn={action:"halt",toAST(i,e){return y("halt",[])}},Ln={action:"throw",toAST(i,e){let t=d(i,"patient");return y("throw",t?[t]:[])}},Mn={action:"settle",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=[],o=t??n;return o&&r.push(o),y("settle",r,void 0,{isBlocking:!0})}},An={action:"swap",toAST(i,e){let t=d(i,"patient"),n=d(i,"source"),r=d(i,"destination"),o=d(i,"style"),s=[],a={};return t&&s.push(t),n&&s.push(n),r&&(a.on=r),o&&(a.with=o),y("swap",s,a)}},zn={action:"morph",toAST(i,e){let t=d(i,"source"),n=d(i,"destination"),r=d(i,"patient"),o=[],s={},a=t??r;return a&&o.push(a),n&&(s.on=n),y("morph",o,s)}},Vn={action:"clone",toAST(i,e){let t=d(i,"source"),n=d(i,"destination"),r=d(i,"patient"),o=[],s={},a=t??r;return a&&o.push(a),n&&(s.into=n),y("clone",o,s)}},On={action:"make",toAST(i,e){let t=d(i,"patient");return y("make",t?[t]:[])}},In={action:"measure",toAST(i,e){let t=d(i,"patient"),n=d(i,"destination"),r=d(i,"source"),o=[],s={};t&&o.push(t);let a=n??r;return a&&(s.of=a),y("measure",o,s)}},_n={action:"tell",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=[],o=t??n;return o&&r.push(o),y("tell",r)}},jn={action:"js",toAST(i,e){let t=d(i,"patient");return y("js",t?[t]:[])}},Bn={action:"async",toAST(i,e){return y("async",[])}},Wn={action:"if",toAST(i,e){let t=d(i,"condition");return y("if",t?[t]:[])}},Kn={action:"unless",toAST(i,e){let t=d(i,"condition");return y("unless",t?[t]:[])}},$n={action:"repeat",toAST(i,e){let t=d(i,"quantity"),n=d(i,"patient"),r=[],o=t??n;return o&&r.push(o),y("repeat",r)}},Fn={action:"for",toAST(i,e){let t=d(i,"patient"),n=d(i,"source"),r=t?[t]:[],o={};return n&&(o.in=n),y("for",r,o)}},Un={action:"while",toAST(i,e){let t=d(i,"condition");return y("while",t?[t]:[])}},Dn={action:"continue",toAST(i,e){return y("continue",[])}},qn={action:"default",toAST(i,e){let t=d(i,"patient"),n=d(i,"source"),r=t?[t]:[],o={};return n&&(o.to=n),y("default",r,o)}},Hn={action:"init",toAST(i,e){return y("init",[])}},Gn={action:"behavior",toAST(i,e){let t=d(i,"patient");return y("behavior",t?[t]:[])}},Xn={action:"install",toAST(i,e){let t=d(i,"patient"),n=d(i,"destination"),r=t?[t]:[],o={};return n&&(o.on=n),y("install",r,o)}},Zn={action:"on",toAST(i,e){let t=d(i,"event"),n=d(i,"source"),r=t?[t]:[],o={};return n&&(o.from=n),y("on",r,o)}},xt=new Map([["toggle",on],["add",an],["remove",sn],["set",cn],["show",ln],["hide",un],["increment",dn],["decrement",pn],["wait",mn],["log",fn],["put",gn],["fetch",hn],["append",yn],["prepend",xn],["get",wn],["take",Nn],["trigger",vn],["send",Sn],["on",Zn],["go",kn],["transition",bn],["focus",Tn],["blur",En],["call",Rn],["return",Cn],["halt",Pn],["throw",Ln],["settle",Mn],["swap",An],["morph",zn],["clone",Vn],["measure",In],["make",On],["tell",_n],["default",qn],["js",jn],["async",Bn],["if",Wn],["unless",Kn],["repeat",$n],["for",Fn],["while",Un],["continue",Dn],["init",Hn],["behavior",Gn],["install",Xn]]);function me(i){return xt.get(i)}function Ze(i){xt.set(i.action,i)}var fe=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=me(e.action),n;if(t){let r=t.toAST(e,this);if("ast"in r&&"warnings"in r){let o=r;this.warnings.push(...o.warnings),n=o.ast}else n=r}else n=this.buildGenericCommand(e);if(e.roles&&e.roles.size>0){let r={};for(let[o,s]of e.roles)r[o]=L(s);Object.keys(r).length>0&&(n.semanticRoles=r)}return n}buildGenericCommand(e){let t=[],n={},r=["patient","source","quantity"],o=["destination","duration","method","style"];for(let a of r){let c=e.roles.get(a);c&&t.push(L(c))}for(let a of o){let c=e.roles.get(a);if(c){let l=this.roleToModifierKey(a);n[l]=L(c)}}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 g=String(t.value);g.includes("|")||g.includes(" or ")?(r=g.split(/\s+or\s+|\|/).map(v=>v.trim()),n=r[0]):n=g}else t?.type==="reference"?n=t.value:n="click";let o=e.body.map(g=>this.build(g)),s=e.roles.get("source"),a,c;s?.type==="selector"?(a=s.value,c=s.value):s?.type==="reference"?c=s.value:s?.type==="literal"&&(c=String(s.value));let l=e.roles.get("condition"),m=l?L(l):void 0,x=e.roles.get("destination"),h=x?L(x):void 0,f=e.eventModifiers,u=a;if(f?.from){let g=f.from;g.type==="selector"&&!a&&(u=g.value)}let p=e.parameterNames?[...e.parameterNames]:void 0;return{type:"eventHandler",event:n,commands:o,...r&&r.length>1?{events:r}:{},...u?{selector:u}:{},...c?{target:c}:{},...m?{condition:m}:{},...h?{watchTarget:h}:{},...p&&p.length>0?{args:p,params:p}:{}}}buildConditional(e){let t=e.roles.get("condition");if(!t)throw new Error("Conditional node missing condition");let n=L(t),r=e.thenBranch.map(a=>this.build(a)),o=e.elseBranch?.map(a=>this.build(a)),s=[n,{type:"block",commands:r}];return o&&o.length>0&&s.push({type:"block",commands:o}),{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(L(r));break}case"for":{e.loopVariable&&n.push({type:"string",value:e.loopVariable});let r=e.roles.get("source");r&&n.push(L(r));break}case"while":case"until":{let r=e.roles.get("condition");r&&n.push(L(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 vt(i){let e=new fe;return{ast:e.build(i),warnings:e.warnings}}var Q=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),o=Date.now();for(;this.cache.size>=this.config.maxSize;)this.evictLRU();this.cache.set(r,{result:n,createdAt:o,lastAccessed:o})}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}}},Qe=new Q;var ge=class{constructor(e={}){this.patternMatcher=new ue,this.languages=new Set(xe()),e.cache===!1?this.cache=new Q({enabled:!1}):this.cache=e.cache?new Q(e.cache):Qe}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=F(e,t),c={confidence:a.metadata?.confidence??.8,node:a};return a.kind==="command"?{...c,command:{name:a.action,roles:a.roles}}:c}catch{}let n=mt(t);if(!n)return{confidence:0,errors:[`No tokenizer available for language '${t}'`]};let r=n.tokenize(e),o=V(t);if(o.length===0)return{confidence:0,errors:[`No patterns available for language '${t}'`]};let s=this.patternMatcher.matchBest(r,o);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 St(i){return new ge(i)}var Ye=.5,kt=.8;function bt(i,e=Ye){return i.confidence>=e&&i.command!==void 0}var Qn="1.0.0-ar",Yn=["ar"];function Jn(){return[...Yn]}function Tt(i){if(i!=="ar")throw new Error(`Language not supported in this bundle: ${i}. Supported: ar`)}function er(i,e){return Tt(e),[...ne(i,e).tokens]}function Et(i){return Tt(i),V(i)}function tr(i,e){return Et(i).filter(t=>t.command===e).sort((t,n)=>n.priority-t.priority)}return Mt(nr);})();
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arabic Browser Bundle Entry Point
|
|
3
|
+
*
|
|
4
|
+
* Minimal single-language bundle.
|
|
5
|
+
* Estimated size: ~69 KB (~24 KB gzip)
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```html
|
|
9
|
+
* <script src="hyperfixi-semantic.ar.global.js"></script>
|
|
10
|
+
* <script>
|
|
11
|
+
* const ast = LokaScriptSemanticAr.parse('toggle .active', 'ar');
|
|
12
|
+
* </script>
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
import './languages/ar';
|
|
16
|
+
export declare const VERSION = "1.0.0-ar";
|
|
17
|
+
/**
|
|
18
|
+
* Get all supported languages in this bundle.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getSupportedLanguages(): string[];
|
|
21
|
+
export { getTokenizer, isLanguageSupported } from './registry';
|
|
22
|
+
import type { LanguageToken } from './types';
|
|
23
|
+
/**
|
|
24
|
+
* Tokenize input and return array of tokens (browser-friendly wrapper).
|
|
25
|
+
*/
|
|
26
|
+
export declare function tokenize(input: string, language: string): LanguageToken[];
|
|
27
|
+
export { arabicTokenizer } from './tokenizers/arabic';
|
|
28
|
+
import type { LanguagePattern, ActionType } from './types';
|
|
29
|
+
/**
|
|
30
|
+
* Get all patterns for a language.
|
|
31
|
+
*/
|
|
32
|
+
export declare function getPatternsForLanguage(language: string): LanguagePattern[];
|
|
33
|
+
/**
|
|
34
|
+
* Get patterns for a language and specific command.
|
|
35
|
+
*/
|
|
36
|
+
export declare function getPatternsForLanguageAndCommand(language: string, command: ActionType): LanguagePattern[];
|
|
37
|
+
export { getProfile, tryGetProfile } from './registry';
|
|
38
|
+
export { arabicProfile } from './generators/language-profiles';
|
|
39
|
+
export { parse, canParse } from './parser';
|
|
40
|
+
export { parseAny, parseExplicit, isExplicitSyntax } from './explicit';
|
|
41
|
+
export { render, renderExplicit, toExplicit, fromExplicit } from './explicit';
|
|
42
|
+
export { buildAST, ASTBuilder, getCommandMapper, registerCommandMapper } from './ast-builder';
|
|
43
|
+
export { createSemanticAnalyzer, SemanticAnalyzerImpl, shouldUseSemanticResult, DEFAULT_CONFIDENCE_THRESHOLD, HIGH_CONFIDENCE_THRESHOLD, } from './core-bridge';
|
|
44
|
+
export type { SemanticAnalyzer, SemanticAnalysisResult } from './core-bridge';
|
|
45
|
+
export { createSelector, createLiteral, createReference, createPropertyPath, createCommandNode, createEventHandler, } from './types';
|
|
46
|
+
export type { ActionType, SemanticRole, SemanticValue, SemanticNode, LanguageToken, TokenStream, } from './types';
|
|
47
|
+
//# sourceMappingURL=browser-ar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-ar.d.ts","sourceRoot":"","sources":["../src/browser-ar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,gBAAgB,CAAC;AAMxB,eAAO,MAAM,OAAO,aAAa,CAAC;AAQlC;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD;AAeD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAIzE;AAGD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAOtD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE3D;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,CAG1E;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,UAAU,GAClB,eAAe,EAAE,CAInB;AAMD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAM/D,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMvE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM9E,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAM9F,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAM9E,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAMjB,YAAY,EACV,UAAU,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,MAAM,SAAS,CAAC"}
|