@lokascript/semantic 1.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/LICENSE +21 -0
- package/README.md +686 -0
- package/dist/browser-ar.ar.global.js +2 -0
- package/dist/browser-core.core.global.js +2 -0
- package/dist/browser-de.de.global.js +2 -0
- package/dist/browser-east-asian.east-asian.global.js +2 -0
- package/dist/browser-en-tr.en-tr.global.js +2 -0
- package/dist/browser-en.en.global.js +2 -0
- package/dist/browser-es-en.es-en.global.js +2 -0
- package/dist/browser-es.es.global.js +2 -0
- package/dist/browser-fr.fr.global.js +2 -0
- package/dist/browser-id.id.global.js +2 -0
- package/dist/browser-ja.ja.global.js +2 -0
- package/dist/browser-ko.ko.global.js +2 -0
- package/dist/browser-lazy.lazy.global.js +2 -0
- package/dist/browser-priority.priority.global.js +2 -0
- package/dist/browser-pt.pt.global.js +2 -0
- package/dist/browser-qu.qu.global.js +2 -0
- package/dist/browser-sw.sw.global.js +2 -0
- package/dist/browser-tr.tr.global.js +2 -0
- package/dist/browser-western.western.global.js +2 -0
- package/dist/browser-zh.zh.global.js +2 -0
- package/dist/browser.global.js +3 -0
- package/dist/browser.global.js.map +1 -0
- package/dist/index.cjs +35051 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +3426 -0
- package/dist/index.d.ts +3426 -0
- package/dist/index.js +34890 -0
- package/dist/index.js.map +1 -0
- package/dist/languages/ar.d.ts +78 -0
- package/dist/languages/ar.js +1622 -0
- package/dist/languages/ar.js.map +1 -0
- package/dist/languages/de.d.ts +38 -0
- package/dist/languages/de.js +1168 -0
- package/dist/languages/de.js.map +1 -0
- package/dist/languages/en.d.ts +44 -0
- package/dist/languages/en.js +3491 -0
- package/dist/languages/en.js.map +1 -0
- package/dist/languages/es.d.ts +52 -0
- package/dist/languages/es.js +1493 -0
- package/dist/languages/es.js.map +1 -0
- package/dist/languages/fr.d.ts +37 -0
- package/dist/languages/fr.js +1159 -0
- package/dist/languages/fr.js.map +1 -0
- package/dist/languages/id.d.ts +35 -0
- package/dist/languages/id.js +1152 -0
- package/dist/languages/id.js.map +1 -0
- package/dist/languages/ja.d.ts +53 -0
- package/dist/languages/ja.js +1430 -0
- package/dist/languages/ja.js.map +1 -0
- package/dist/languages/ko.d.ts +51 -0
- package/dist/languages/ko.js +1729 -0
- package/dist/languages/ko.js.map +1 -0
- package/dist/languages/pt.d.ts +37 -0
- package/dist/languages/pt.js +1127 -0
- package/dist/languages/pt.js.map +1 -0
- package/dist/languages/qu.d.ts +36 -0
- package/dist/languages/qu.js +1143 -0
- package/dist/languages/qu.js.map +1 -0
- package/dist/languages/sw.d.ts +35 -0
- package/dist/languages/sw.js +1147 -0
- package/dist/languages/sw.js.map +1 -0
- package/dist/languages/tr.d.ts +45 -0
- package/dist/languages/tr.js +1529 -0
- package/dist/languages/tr.js.map +1 -0
- package/dist/languages/zh.d.ts +58 -0
- package/dist/languages/zh.js +1257 -0
- package/dist/languages/zh.js.map +1 -0
- package/dist/types-C4dcj53L.d.ts +600 -0
- package/package.json +202 -0
- package/src/__test-utils__/index.ts +7 -0
- package/src/__test-utils__/test-helpers.ts +8 -0
- package/src/__types__/test-helpers.ts +122 -0
- package/src/analysis/index.ts +479 -0
- package/src/ast-builder/command-mappers.ts +1133 -0
- package/src/ast-builder/expression-parser/index.ts +41 -0
- package/src/ast-builder/expression-parser/parser.ts +563 -0
- package/src/ast-builder/expression-parser/tokenizer.ts +394 -0
- package/src/ast-builder/expression-parser/types.ts +208 -0
- package/src/ast-builder/index.ts +536 -0
- package/src/ast-builder/value-converters.ts +172 -0
- package/src/bridge.ts +275 -0
- package/src/browser-ar.ts +162 -0
- package/src/browser-core.ts +231 -0
- package/src/browser-de.ts +162 -0
- package/src/browser-east-asian.ts +173 -0
- package/src/browser-en-tr.ts +165 -0
- package/src/browser-en.ts +157 -0
- package/src/browser-es-en.ts +200 -0
- package/src/browser-es.ts +170 -0
- package/src/browser-fr.ts +162 -0
- package/src/browser-id.ts +162 -0
- package/src/browser-ja.ts +162 -0
- package/src/browser-ko.ts +162 -0
- package/src/browser-lazy.ts +189 -0
- package/src/browser-priority.ts +214 -0
- package/src/browser-pt.ts +162 -0
- package/src/browser-qu.ts +162 -0
- package/src/browser-sw.ts +162 -0
- package/src/browser-tr.ts +162 -0
- package/src/browser-western.ts +181 -0
- package/src/browser-zh.ts +162 -0
- package/src/browser.ts +268 -0
- package/src/cache/index.ts +14 -0
- package/src/cache/semantic-cache.ts +344 -0
- package/src/core-bridge.ts +372 -0
- package/src/explicit/converter.ts +258 -0
- package/src/explicit/index.ts +18 -0
- package/src/explicit/parser.ts +236 -0
- package/src/explicit/renderer.ts +424 -0
- package/src/generators/command-schemas.ts +1636 -0
- package/src/generators/event-handler-generator.ts +109 -0
- package/src/generators/index.ts +117 -0
- package/src/generators/language-profiles.ts +139 -0
- package/src/generators/pattern-generator.ts +537 -0
- package/src/generators/profiles/arabic.ts +131 -0
- package/src/generators/profiles/bengali.ts +132 -0
- package/src/generators/profiles/chinese.ts +124 -0
- package/src/generators/profiles/english.ts +113 -0
- package/src/generators/profiles/french.ts +125 -0
- package/src/generators/profiles/german.ts +126 -0
- package/src/generators/profiles/hindi.ts +146 -0
- package/src/generators/profiles/index.ts +46 -0
- package/src/generators/profiles/indonesian.ts +125 -0
- package/src/generators/profiles/italian.ts +139 -0
- package/src/generators/profiles/japanese.ts +149 -0
- package/src/generators/profiles/korean.ts +127 -0
- package/src/generators/profiles/marker-templates.ts +288 -0
- package/src/generators/profiles/ms.ts +130 -0
- package/src/generators/profiles/polish.ts +249 -0
- package/src/generators/profiles/portuguese.ts +115 -0
- package/src/generators/profiles/quechua.ts +113 -0
- package/src/generators/profiles/russian.ts +260 -0
- package/src/generators/profiles/spanish.ts +130 -0
- package/src/generators/profiles/swahili.ts +129 -0
- package/src/generators/profiles/thai.ts +132 -0
- package/src/generators/profiles/tl.ts +128 -0
- package/src/generators/profiles/turkish.ts +124 -0
- package/src/generators/profiles/types.ts +165 -0
- package/src/generators/profiles/ukrainian.ts +270 -0
- package/src/generators/profiles/vietnamese.ts +133 -0
- package/src/generators/schema-error-codes.ts +160 -0
- package/src/generators/schema-validator.ts +391 -0
- package/src/index.ts +429 -0
- package/src/language-building-schema.ts +3170 -0
- package/src/language-loader.ts +394 -0
- package/src/languages/_all.ts +65 -0
- package/src/languages/ar.ts +15 -0
- package/src/languages/bn.ts +16 -0
- package/src/languages/de.ts +15 -0
- package/src/languages/en.ts +29 -0
- package/src/languages/es.ts +15 -0
- package/src/languages/fr.ts +15 -0
- package/src/languages/hi.ts +26 -0
- package/src/languages/id.ts +15 -0
- package/src/languages/index.ts +18 -0
- package/src/languages/it.ts +15 -0
- package/src/languages/ja.ts +15 -0
- package/src/languages/ko.ts +15 -0
- package/src/languages/ms.ts +16 -0
- package/src/languages/pl.ts +18 -0
- package/src/languages/pt.ts +15 -0
- package/src/languages/qu.ts +15 -0
- package/src/languages/ru.ts +26 -0
- package/src/languages/sw.ts +15 -0
- package/src/languages/th.ts +16 -0
- package/src/languages/tl.ts +16 -0
- package/src/languages/tr.ts +15 -0
- package/src/languages/uk.ts +26 -0
- package/src/languages/vi.ts +16 -0
- package/src/languages/zh.ts +15 -0
- package/src/parser/index.ts +15 -0
- package/src/parser/pattern-matcher.ts +1181 -0
- package/src/parser/semantic-parser.ts +573 -0
- package/src/parser/utils/index.ts +35 -0
- package/src/parser/utils/marker-resolution.ts +111 -0
- package/src/parser/utils/possessive-keywords.ts +43 -0
- package/src/parser/utils/role-positioning.ts +70 -0
- package/src/parser/utils/type-validation.ts +134 -0
- package/src/patterns/add/ar.ts +71 -0
- package/src/patterns/add/bn.ts +70 -0
- package/src/patterns/add/hi.ts +69 -0
- package/src/patterns/add/index.ts +87 -0
- package/src/patterns/add/it.ts +61 -0
- package/src/patterns/add/ja.ts +93 -0
- package/src/patterns/add/ko.ts +74 -0
- package/src/patterns/add/ms.ts +30 -0
- package/src/patterns/add/pl.ts +62 -0
- package/src/patterns/add/ru.ts +62 -0
- package/src/patterns/add/th.ts +49 -0
- package/src/patterns/add/tl.ts +30 -0
- package/src/patterns/add/tr.ts +71 -0
- package/src/patterns/add/uk.ts +62 -0
- package/src/patterns/add/vi.ts +61 -0
- package/src/patterns/add/zh.ts +71 -0
- package/src/patterns/builders.ts +207 -0
- package/src/patterns/decrement/bn.ts +70 -0
- package/src/patterns/decrement/de.ts +42 -0
- package/src/patterns/decrement/hi.ts +68 -0
- package/src/patterns/decrement/index.ts +79 -0
- package/src/patterns/decrement/it.ts +69 -0
- package/src/patterns/decrement/ms.ts +30 -0
- package/src/patterns/decrement/pl.ts +58 -0
- package/src/patterns/decrement/ru.ts +58 -0
- package/src/patterns/decrement/th.ts +49 -0
- package/src/patterns/decrement/tl.ts +30 -0
- package/src/patterns/decrement/tr.ts +48 -0
- package/src/patterns/decrement/uk.ts +58 -0
- package/src/patterns/decrement/vi.ts +61 -0
- package/src/patterns/decrement/zh.ts +32 -0
- package/src/patterns/en.ts +302 -0
- package/src/patterns/event-handler/ar.ts +151 -0
- package/src/patterns/event-handler/bn.ts +72 -0
- package/src/patterns/event-handler/de.ts +117 -0
- package/src/patterns/event-handler/en.ts +117 -0
- package/src/patterns/event-handler/es.ts +136 -0
- package/src/patterns/event-handler/fr.ts +117 -0
- package/src/patterns/event-handler/hi.ts +64 -0
- package/src/patterns/event-handler/id.ts +117 -0
- package/src/patterns/event-handler/index.ts +119 -0
- package/src/patterns/event-handler/it.ts +54 -0
- package/src/patterns/event-handler/ja.ts +118 -0
- package/src/patterns/event-handler/ko.ts +133 -0
- package/src/patterns/event-handler/ms.ts +30 -0
- package/src/patterns/event-handler/pl.ts +62 -0
- package/src/patterns/event-handler/pt.ts +117 -0
- package/src/patterns/event-handler/qu.ts +66 -0
- package/src/patterns/event-handler/ru.ts +62 -0
- package/src/patterns/event-handler/shared.ts +270 -0
- package/src/patterns/event-handler/sw.ts +117 -0
- package/src/patterns/event-handler/th.ts +53 -0
- package/src/patterns/event-handler/tl.ts +30 -0
- package/src/patterns/event-handler/tr.ts +170 -0
- package/src/patterns/event-handler/uk.ts +62 -0
- package/src/patterns/event-handler/vi.ts +61 -0
- package/src/patterns/event-handler/zh.ts +150 -0
- package/src/patterns/get/ar.ts +49 -0
- package/src/patterns/get/bn.ts +47 -0
- package/src/patterns/get/de.ts +32 -0
- package/src/patterns/get/hi.ts +52 -0
- package/src/patterns/get/index.ts +83 -0
- package/src/patterns/get/it.ts +56 -0
- package/src/patterns/get/ja.ts +53 -0
- package/src/patterns/get/ko.ts +53 -0
- package/src/patterns/get/ms.ts +30 -0
- package/src/patterns/get/pl.ts +57 -0
- package/src/patterns/get/ru.ts +57 -0
- package/src/patterns/get/th.ts +29 -0
- package/src/patterns/get/tl.ts +30 -0
- package/src/patterns/get/uk.ts +57 -0
- package/src/patterns/get/vi.ts +48 -0
- package/src/patterns/grammar-transformed/index.ts +39 -0
- package/src/patterns/grammar-transformed/ja.ts +1713 -0
- package/src/patterns/grammar-transformed/ko.ts +1311 -0
- package/src/patterns/grammar-transformed/tr.ts +1067 -0
- package/src/patterns/hide/ar.ts +67 -0
- package/src/patterns/hide/bn.ts +47 -0
- package/src/patterns/hide/de.ts +36 -0
- package/src/patterns/hide/hi.ts +61 -0
- package/src/patterns/hide/index.ts +91 -0
- package/src/patterns/hide/it.ts +56 -0
- package/src/patterns/hide/ja.ts +69 -0
- package/src/patterns/hide/ko.ts +69 -0
- package/src/patterns/hide/ms.ts +30 -0
- package/src/patterns/hide/pl.ts +57 -0
- package/src/patterns/hide/ru.ts +57 -0
- package/src/patterns/hide/th.ts +29 -0
- package/src/patterns/hide/tl.ts +30 -0
- package/src/patterns/hide/tr.ts +65 -0
- package/src/patterns/hide/uk.ts +57 -0
- package/src/patterns/hide/vi.ts +56 -0
- package/src/patterns/hide/zh.ts +68 -0
- package/src/patterns/increment/bn.ts +70 -0
- package/src/patterns/increment/de.ts +36 -0
- package/src/patterns/increment/hi.ts +68 -0
- package/src/patterns/increment/index.ts +79 -0
- package/src/patterns/increment/it.ts +69 -0
- package/src/patterns/increment/ms.ts +30 -0
- package/src/patterns/increment/pl.ts +58 -0
- package/src/patterns/increment/ru.ts +58 -0
- package/src/patterns/increment/th.ts +49 -0
- package/src/patterns/increment/tl.ts +30 -0
- package/src/patterns/increment/tr.ts +52 -0
- package/src/patterns/increment/uk.ts +58 -0
- package/src/patterns/increment/vi.ts +61 -0
- package/src/patterns/increment/zh.ts +32 -0
- package/src/patterns/index.ts +84 -0
- package/src/patterns/languages/en/control-flow.ts +93 -0
- package/src/patterns/languages/en/fetch.ts +62 -0
- package/src/patterns/languages/en/index.ts +42 -0
- package/src/patterns/languages/en/repeat.ts +67 -0
- package/src/patterns/languages/en/set.ts +48 -0
- package/src/patterns/languages/en/swap.ts +38 -0
- package/src/patterns/languages/en/temporal.ts +57 -0
- package/src/patterns/put/ar.ts +74 -0
- package/src/patterns/put/bn.ts +53 -0
- package/src/patterns/put/en.ts +74 -0
- package/src/patterns/put/es.ts +74 -0
- package/src/patterns/put/hi.ts +69 -0
- package/src/patterns/put/id.ts +96 -0
- package/src/patterns/put/index.ts +99 -0
- package/src/patterns/put/it.ts +56 -0
- package/src/patterns/put/ja.ts +75 -0
- package/src/patterns/put/ko.ts +67 -0
- package/src/patterns/put/ms.ts +30 -0
- package/src/patterns/put/pl.ts +81 -0
- package/src/patterns/put/ru.ts +85 -0
- package/src/patterns/put/th.ts +32 -0
- package/src/patterns/put/tl.ts +30 -0
- package/src/patterns/put/tr.ts +67 -0
- package/src/patterns/put/uk.ts +85 -0
- package/src/patterns/put/vi.ts +72 -0
- package/src/patterns/put/zh.ts +62 -0
- package/src/patterns/registry.ts +163 -0
- package/src/patterns/remove/ar.ts +71 -0
- package/src/patterns/remove/bn.ts +68 -0
- package/src/patterns/remove/hi.ts +69 -0
- package/src/patterns/remove/index.ts +87 -0
- package/src/patterns/remove/it.ts +69 -0
- package/src/patterns/remove/ja.ts +74 -0
- package/src/patterns/remove/ko.ts +78 -0
- package/src/patterns/remove/ms.ts +30 -0
- package/src/patterns/remove/pl.ts +62 -0
- package/src/patterns/remove/ru.ts +62 -0
- package/src/patterns/remove/th.ts +49 -0
- package/src/patterns/remove/tl.ts +30 -0
- package/src/patterns/remove/tr.ts +78 -0
- package/src/patterns/remove/uk.ts +62 -0
- package/src/patterns/remove/vi.ts +61 -0
- package/src/patterns/remove/zh.ts +72 -0
- package/src/patterns/set/ar.ts +84 -0
- package/src/patterns/set/bn.ts +53 -0
- package/src/patterns/set/de.ts +84 -0
- package/src/patterns/set/es.ts +92 -0
- package/src/patterns/set/fr.ts +88 -0
- package/src/patterns/set/hi.ts +56 -0
- package/src/patterns/set/id.ts +84 -0
- package/src/patterns/set/index.ts +107 -0
- package/src/patterns/set/it.ts +56 -0
- package/src/patterns/set/ja.ts +86 -0
- package/src/patterns/set/ko.ts +85 -0
- package/src/patterns/set/ms.ts +30 -0
- package/src/patterns/set/pl.ts +57 -0
- package/src/patterns/set/pt.ts +84 -0
- package/src/patterns/set/ru.ts +57 -0
- package/src/patterns/set/th.ts +31 -0
- package/src/patterns/set/tl.ts +30 -0
- package/src/patterns/set/tr.ts +107 -0
- package/src/patterns/set/uk.ts +57 -0
- package/src/patterns/set/vi.ts +53 -0
- package/src/patterns/set/zh.ts +84 -0
- package/src/patterns/show/ar.ts +67 -0
- package/src/patterns/show/bn.ts +47 -0
- package/src/patterns/show/de.ts +32 -0
- package/src/patterns/show/fr.ts +32 -0
- package/src/patterns/show/hi.ts +61 -0
- package/src/patterns/show/index.ts +95 -0
- package/src/patterns/show/it.ts +56 -0
- package/src/patterns/show/ja.ts +69 -0
- package/src/patterns/show/ko.ts +73 -0
- package/src/patterns/show/ms.ts +30 -0
- package/src/patterns/show/pl.ts +57 -0
- package/src/patterns/show/ru.ts +57 -0
- package/src/patterns/show/th.ts +29 -0
- package/src/patterns/show/tl.ts +30 -0
- package/src/patterns/show/tr.ts +65 -0
- package/src/patterns/show/uk.ts +57 -0
- package/src/patterns/show/vi.ts +56 -0
- package/src/patterns/show/zh.ts +68 -0
- package/src/patterns/take/ar.ts +51 -0
- package/src/patterns/take/index.ts +31 -0
- package/src/patterns/toggle/ar.ts +61 -0
- package/src/patterns/toggle/bn.ts +70 -0
- package/src/patterns/toggle/en.ts +61 -0
- package/src/patterns/toggle/es.ts +61 -0
- package/src/patterns/toggle/hi.ts +80 -0
- package/src/patterns/toggle/index.ts +95 -0
- package/src/patterns/toggle/it.ts +69 -0
- package/src/patterns/toggle/ja.ts +156 -0
- package/src/patterns/toggle/ko.ts +113 -0
- package/src/patterns/toggle/ms.ts +30 -0
- package/src/patterns/toggle/pl.ts +62 -0
- package/src/patterns/toggle/ru.ts +62 -0
- package/src/patterns/toggle/th.ts +50 -0
- package/src/patterns/toggle/tl.ts +30 -0
- package/src/patterns/toggle/tr.ts +88 -0
- package/src/patterns/toggle/uk.ts +62 -0
- package/src/patterns/toggle/vi.ts +61 -0
- package/src/patterns/toggle/zh.ts +99 -0
- package/src/public-api.ts +286 -0
- package/src/registry.ts +441 -0
- package/src/tokenizers/arabic.ts +723 -0
- package/src/tokenizers/base.ts +1300 -0
- package/src/tokenizers/bengali.ts +289 -0
- package/src/tokenizers/chinese.ts +481 -0
- package/src/tokenizers/english.ts +416 -0
- package/src/tokenizers/french.ts +326 -0
- package/src/tokenizers/german.ts +324 -0
- package/src/tokenizers/hindi.ts +319 -0
- package/src/tokenizers/index.ts +127 -0
- package/src/tokenizers/indonesian.ts +306 -0
- package/src/tokenizers/italian.ts +458 -0
- package/src/tokenizers/japanese.ts +447 -0
- package/src/tokenizers/korean.ts +642 -0
- package/src/tokenizers/morphology/arabic-normalizer.ts +242 -0
- package/src/tokenizers/morphology/french-normalizer.ts +268 -0
- package/src/tokenizers/morphology/german-normalizer.ts +256 -0
- package/src/tokenizers/morphology/index.ts +46 -0
- package/src/tokenizers/morphology/italian-normalizer.ts +329 -0
- package/src/tokenizers/morphology/japanese-normalizer.ts +288 -0
- package/src/tokenizers/morphology/korean-normalizer.ts +428 -0
- package/src/tokenizers/morphology/polish-normalizer.ts +264 -0
- package/src/tokenizers/morphology/portuguese-normalizer.ts +310 -0
- package/src/tokenizers/morphology/spanish-normalizer.ts +327 -0
- package/src/tokenizers/morphology/turkish-normalizer.ts +412 -0
- package/src/tokenizers/morphology/types.ts +211 -0
- package/src/tokenizers/ms.ts +198 -0
- package/src/tokenizers/polish.ts +354 -0
- package/src/tokenizers/portuguese.ts +304 -0
- package/src/tokenizers/quechua.ts +339 -0
- package/src/tokenizers/russian.ts +375 -0
- package/src/tokenizers/spanish.ts +403 -0
- package/src/tokenizers/swahili.ts +303 -0
- package/src/tokenizers/thai.ts +236 -0
- package/src/tokenizers/tl.ts +198 -0
- package/src/tokenizers/turkish.ts +411 -0
- package/src/tokenizers/ukrainian.ts +369 -0
- package/src/tokenizers/vietnamese.ts +410 -0
- package/src/types/grammar-types.ts +617 -0
- package/src/types/unified-profile.ts +267 -0
- package/src/types.ts +709 -0
- package/src/utils/confidence-calculator.ts +147 -0
- package/src/validators/command-validator.ts +380 -0
- package/src/validators/index.ts +15 -0
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public API Surface
|
|
3
|
+
*
|
|
4
|
+
* This file defines the stable public API for @lokascript/semantic.
|
|
5
|
+
* All exports here are considered stable and follow semver guarantees:
|
|
6
|
+
* - Major version: Breaking changes to public API
|
|
7
|
+
* - Minor version: New features, backward compatible
|
|
8
|
+
* - Patch version: Bug fixes only
|
|
9
|
+
*
|
|
10
|
+
* Internal modules (tokenizers, generators, patterns) may change without notice.
|
|
11
|
+
*
|
|
12
|
+
* @module @lokascript/semantic
|
|
13
|
+
* @version 1.0.0
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
// =============================================================================
|
|
17
|
+
// Core Parsing Functions
|
|
18
|
+
// =============================================================================
|
|
19
|
+
|
|
20
|
+
export {
|
|
21
|
+
/**
|
|
22
|
+
* Parse hyperscript code from any supported language into a SemanticNode.
|
|
23
|
+
* Throws if parsing fails.
|
|
24
|
+
*
|
|
25
|
+
* @param input - The hyperscript code to parse
|
|
26
|
+
* @param language - ISO 639-1 language code (e.g., 'en', 'ja', 'ko')
|
|
27
|
+
* @returns SemanticNode representing the parsed command
|
|
28
|
+
* @throws Error if parsing fails
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* const node = parse('toggle .active', 'en');
|
|
32
|
+
* const jaNode = parse('.active を トグル', 'ja');
|
|
33
|
+
*/
|
|
34
|
+
parse,
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Check if input can be successfully parsed.
|
|
38
|
+
* Returns false instead of throwing on parse failure.
|
|
39
|
+
*
|
|
40
|
+
* @param input - The hyperscript code to check
|
|
41
|
+
* @param language - ISO 639-1 language code
|
|
42
|
+
* @returns true if parseable, false otherwise
|
|
43
|
+
*/
|
|
44
|
+
canParse,
|
|
45
|
+
} from './parser/semantic-parser';
|
|
46
|
+
|
|
47
|
+
// =============================================================================
|
|
48
|
+
// AST Building
|
|
49
|
+
// =============================================================================
|
|
50
|
+
|
|
51
|
+
export {
|
|
52
|
+
/**
|
|
53
|
+
* Convert a SemanticNode to a runtime-compatible AST.
|
|
54
|
+
* Use this to get AST for execution by the hyperfixi runtime.
|
|
55
|
+
*
|
|
56
|
+
* @param node - The SemanticNode from parse()
|
|
57
|
+
* @returns Object with ast and warnings array
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* const semanticNode = parse('toggle .active', 'en');
|
|
61
|
+
* const { ast, warnings } = buildAST(semanticNode);
|
|
62
|
+
* if (warnings.length > 0) {
|
|
63
|
+
* console.warn('AST build warnings:', warnings);
|
|
64
|
+
* }
|
|
65
|
+
* await runtime.execute(ast, context);
|
|
66
|
+
*/
|
|
67
|
+
buildAST,
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* The ASTBuilder class for advanced use cases.
|
|
71
|
+
* Usually you should use buildAST() instead.
|
|
72
|
+
*/
|
|
73
|
+
ASTBuilder,
|
|
74
|
+
} from './ast-builder';
|
|
75
|
+
|
|
76
|
+
export type {
|
|
77
|
+
/**
|
|
78
|
+
* Result type returned by buildAST().
|
|
79
|
+
* Contains the compiled AST and any warnings from the build process.
|
|
80
|
+
*/
|
|
81
|
+
BuildASTResult,
|
|
82
|
+
} from './ast-builder';
|
|
83
|
+
|
|
84
|
+
// =============================================================================
|
|
85
|
+
// Translation
|
|
86
|
+
// =============================================================================
|
|
87
|
+
|
|
88
|
+
export {
|
|
89
|
+
/**
|
|
90
|
+
* Translate hyperscript between languages.
|
|
91
|
+
*
|
|
92
|
+
* @param input - Source hyperscript code
|
|
93
|
+
* @param sourceLang - Source language code
|
|
94
|
+
* @param targetLang - Target language code
|
|
95
|
+
* @returns Translated hyperscript in target language
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* const japanese = translate('toggle .active', 'en', 'ja');
|
|
99
|
+
* // Returns: '.active を トグル'
|
|
100
|
+
*/
|
|
101
|
+
translate,
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Get translations for all supported languages.
|
|
105
|
+
*
|
|
106
|
+
* @param input - Source hyperscript code
|
|
107
|
+
* @param sourceLang - Source language code
|
|
108
|
+
* @returns Object mapping language codes to translations
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* const all = getAllTranslations('toggle .active', 'en');
|
|
112
|
+
* // Returns: { en: 'toggle .active', ja: '.active を トグル', ... }
|
|
113
|
+
*/
|
|
114
|
+
getAllTranslations,
|
|
115
|
+
} from './parser/semantic-parser';
|
|
116
|
+
|
|
117
|
+
// =============================================================================
|
|
118
|
+
// Semantic Analyzer
|
|
119
|
+
// =============================================================================
|
|
120
|
+
|
|
121
|
+
export {
|
|
122
|
+
/**
|
|
123
|
+
* Create a semantic analyzer for parsing with confidence scores.
|
|
124
|
+
* Use this when you need to check parse confidence before execution.
|
|
125
|
+
*
|
|
126
|
+
* @returns SemanticAnalyzer instance
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* const analyzer = createSemanticAnalyzer();
|
|
130
|
+
* const result = analyzer.analyze('toggle .active', 'en');
|
|
131
|
+
* if (result.confidence >= 0.5) {
|
|
132
|
+
* const ast = buildAST(result.node);
|
|
133
|
+
* }
|
|
134
|
+
*/
|
|
135
|
+
createSemanticAnalyzer,
|
|
136
|
+
} from './parser/semantic-parser';
|
|
137
|
+
|
|
138
|
+
// =============================================================================
|
|
139
|
+
// Language Information
|
|
140
|
+
// =============================================================================
|
|
141
|
+
|
|
142
|
+
export {
|
|
143
|
+
/**
|
|
144
|
+
* Get list of supported language codes.
|
|
145
|
+
*
|
|
146
|
+
* @returns Array of ISO 639-1 language codes
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* const langs = getSupportedLanguages();
|
|
150
|
+
* // Returns: ['en', 'ja', 'ar', 'es', 'ko', 'zh', 'tr', 'pt', 'fr', 'de', 'id', 'qu', 'sw']
|
|
151
|
+
*/
|
|
152
|
+
getSupportedLanguages,
|
|
153
|
+
} from './parser/semantic-parser';
|
|
154
|
+
|
|
155
|
+
// =============================================================================
|
|
156
|
+
// Constants & Thresholds
|
|
157
|
+
// =============================================================================
|
|
158
|
+
|
|
159
|
+
export {
|
|
160
|
+
/**
|
|
161
|
+
* Default confidence threshold for semantic parsing (0.5).
|
|
162
|
+
* Results with confidence >= this threshold are considered reliable.
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* const result = analyzer.analyze('toggle .active', 'en');
|
|
166
|
+
* if (result.confidence >= DEFAULT_CONFIDENCE_THRESHOLD) {
|
|
167
|
+
* // Use semantic result
|
|
168
|
+
* }
|
|
169
|
+
*/
|
|
170
|
+
DEFAULT_CONFIDENCE_THRESHOLD,
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* High confidence threshold (0.8) for very certain matches.
|
|
174
|
+
* Use this when you need stricter validation.
|
|
175
|
+
*/
|
|
176
|
+
HIGH_CONFIDENCE_THRESHOLD,
|
|
177
|
+
} from './core-bridge';
|
|
178
|
+
|
|
179
|
+
// =============================================================================
|
|
180
|
+
// Rendering
|
|
181
|
+
// =============================================================================
|
|
182
|
+
|
|
183
|
+
export {
|
|
184
|
+
/**
|
|
185
|
+
* Render a SemanticNode back to hyperscript in a specific language.
|
|
186
|
+
*
|
|
187
|
+
* @param node - The SemanticNode to render
|
|
188
|
+
* @param language - Target language code
|
|
189
|
+
* @returns Hyperscript string in target language
|
|
190
|
+
*/
|
|
191
|
+
render,
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Render a SemanticNode in explicit syntax format.
|
|
195
|
+
* Explicit syntax is a language-agnostic intermediate representation.
|
|
196
|
+
*
|
|
197
|
+
* @param node - The SemanticNode to render
|
|
198
|
+
* @returns Explicit syntax string
|
|
199
|
+
*
|
|
200
|
+
* @example
|
|
201
|
+
* const explicit = renderExplicit(node);
|
|
202
|
+
* // Returns: '[toggle patient:.active destination:#button]'
|
|
203
|
+
*/
|
|
204
|
+
renderExplicit,
|
|
205
|
+
} from './parser/semantic-parser';
|
|
206
|
+
|
|
207
|
+
// =============================================================================
|
|
208
|
+
// Tokenization (Advanced)
|
|
209
|
+
// =============================================================================
|
|
210
|
+
|
|
211
|
+
export {
|
|
212
|
+
/**
|
|
213
|
+
* Tokenize input for a specific language.
|
|
214
|
+
* This is a lower-level function for advanced use cases.
|
|
215
|
+
*
|
|
216
|
+
* @param input - The hyperscript code to tokenize
|
|
217
|
+
* @param language - ISO 639-1 language code
|
|
218
|
+
* @returns Tokenization result with tokens array
|
|
219
|
+
*/
|
|
220
|
+
tokenize,
|
|
221
|
+
} from './parser/semantic-parser';
|
|
222
|
+
|
|
223
|
+
// =============================================================================
|
|
224
|
+
// Explicit Syntax (Advanced)
|
|
225
|
+
// =============================================================================
|
|
226
|
+
|
|
227
|
+
export {
|
|
228
|
+
/**
|
|
229
|
+
* Parse explicit syntax format.
|
|
230
|
+
* Explicit syntax is language-agnostic and unambiguous.
|
|
231
|
+
*
|
|
232
|
+
* @param input - Explicit syntax string
|
|
233
|
+
* @returns SemanticNode
|
|
234
|
+
*/
|
|
235
|
+
parseExplicit,
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Convert natural language to explicit syntax.
|
|
239
|
+
*/
|
|
240
|
+
toExplicit,
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* Convert explicit syntax to natural language.
|
|
244
|
+
*/
|
|
245
|
+
fromExplicit,
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Round-trip conversion for testing.
|
|
249
|
+
*/
|
|
250
|
+
roundTrip,
|
|
251
|
+
} from './parser/semantic-parser';
|
|
252
|
+
|
|
253
|
+
// =============================================================================
|
|
254
|
+
// Types
|
|
255
|
+
// =============================================================================
|
|
256
|
+
|
|
257
|
+
export type {
|
|
258
|
+
// Core semantic types
|
|
259
|
+
ActionType,
|
|
260
|
+
SemanticNode,
|
|
261
|
+
CommandSemanticNode,
|
|
262
|
+
EventHandlerSemanticNode,
|
|
263
|
+
ConditionalSemanticNode,
|
|
264
|
+
CompoundSemanticNode,
|
|
265
|
+
LoopSemanticNode,
|
|
266
|
+
LoopVariant,
|
|
267
|
+
|
|
268
|
+
// Value types
|
|
269
|
+
SemanticValue,
|
|
270
|
+
LiteralValue,
|
|
271
|
+
SelectorValue,
|
|
272
|
+
ReferenceValue,
|
|
273
|
+
PropertyPathValue,
|
|
274
|
+
ExpressionValue,
|
|
275
|
+
|
|
276
|
+
// Metadata
|
|
277
|
+
SemanticMetadata,
|
|
278
|
+
SourcePosition,
|
|
279
|
+
EventModifiers,
|
|
280
|
+
} from './types';
|
|
281
|
+
|
|
282
|
+
// =============================================================================
|
|
283
|
+
// Semantic Role Type
|
|
284
|
+
// =============================================================================
|
|
285
|
+
|
|
286
|
+
export type { SemanticRole } from './types';
|