@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.
Files changed (435) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +686 -0
  3. package/dist/browser-ar.ar.global.js +2 -0
  4. package/dist/browser-core.core.global.js +2 -0
  5. package/dist/browser-de.de.global.js +2 -0
  6. package/dist/browser-east-asian.east-asian.global.js +2 -0
  7. package/dist/browser-en-tr.en-tr.global.js +2 -0
  8. package/dist/browser-en.en.global.js +2 -0
  9. package/dist/browser-es-en.es-en.global.js +2 -0
  10. package/dist/browser-es.es.global.js +2 -0
  11. package/dist/browser-fr.fr.global.js +2 -0
  12. package/dist/browser-id.id.global.js +2 -0
  13. package/dist/browser-ja.ja.global.js +2 -0
  14. package/dist/browser-ko.ko.global.js +2 -0
  15. package/dist/browser-lazy.lazy.global.js +2 -0
  16. package/dist/browser-priority.priority.global.js +2 -0
  17. package/dist/browser-pt.pt.global.js +2 -0
  18. package/dist/browser-qu.qu.global.js +2 -0
  19. package/dist/browser-sw.sw.global.js +2 -0
  20. package/dist/browser-tr.tr.global.js +2 -0
  21. package/dist/browser-western.western.global.js +2 -0
  22. package/dist/browser-zh.zh.global.js +2 -0
  23. package/dist/browser.global.js +3 -0
  24. package/dist/browser.global.js.map +1 -0
  25. package/dist/index.cjs +35051 -0
  26. package/dist/index.cjs.map +1 -0
  27. package/dist/index.d.cts +3426 -0
  28. package/dist/index.d.ts +3426 -0
  29. package/dist/index.js +34890 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/languages/ar.d.ts +78 -0
  32. package/dist/languages/ar.js +1622 -0
  33. package/dist/languages/ar.js.map +1 -0
  34. package/dist/languages/de.d.ts +38 -0
  35. package/dist/languages/de.js +1168 -0
  36. package/dist/languages/de.js.map +1 -0
  37. package/dist/languages/en.d.ts +44 -0
  38. package/dist/languages/en.js +3491 -0
  39. package/dist/languages/en.js.map +1 -0
  40. package/dist/languages/es.d.ts +52 -0
  41. package/dist/languages/es.js +1493 -0
  42. package/dist/languages/es.js.map +1 -0
  43. package/dist/languages/fr.d.ts +37 -0
  44. package/dist/languages/fr.js +1159 -0
  45. package/dist/languages/fr.js.map +1 -0
  46. package/dist/languages/id.d.ts +35 -0
  47. package/dist/languages/id.js +1152 -0
  48. package/dist/languages/id.js.map +1 -0
  49. package/dist/languages/ja.d.ts +53 -0
  50. package/dist/languages/ja.js +1430 -0
  51. package/dist/languages/ja.js.map +1 -0
  52. package/dist/languages/ko.d.ts +51 -0
  53. package/dist/languages/ko.js +1729 -0
  54. package/dist/languages/ko.js.map +1 -0
  55. package/dist/languages/pt.d.ts +37 -0
  56. package/dist/languages/pt.js +1127 -0
  57. package/dist/languages/pt.js.map +1 -0
  58. package/dist/languages/qu.d.ts +36 -0
  59. package/dist/languages/qu.js +1143 -0
  60. package/dist/languages/qu.js.map +1 -0
  61. package/dist/languages/sw.d.ts +35 -0
  62. package/dist/languages/sw.js +1147 -0
  63. package/dist/languages/sw.js.map +1 -0
  64. package/dist/languages/tr.d.ts +45 -0
  65. package/dist/languages/tr.js +1529 -0
  66. package/dist/languages/tr.js.map +1 -0
  67. package/dist/languages/zh.d.ts +58 -0
  68. package/dist/languages/zh.js +1257 -0
  69. package/dist/languages/zh.js.map +1 -0
  70. package/dist/types-C4dcj53L.d.ts +600 -0
  71. package/package.json +202 -0
  72. package/src/__test-utils__/index.ts +7 -0
  73. package/src/__test-utils__/test-helpers.ts +8 -0
  74. package/src/__types__/test-helpers.ts +122 -0
  75. package/src/analysis/index.ts +479 -0
  76. package/src/ast-builder/command-mappers.ts +1133 -0
  77. package/src/ast-builder/expression-parser/index.ts +41 -0
  78. package/src/ast-builder/expression-parser/parser.ts +563 -0
  79. package/src/ast-builder/expression-parser/tokenizer.ts +394 -0
  80. package/src/ast-builder/expression-parser/types.ts +208 -0
  81. package/src/ast-builder/index.ts +536 -0
  82. package/src/ast-builder/value-converters.ts +172 -0
  83. package/src/bridge.ts +275 -0
  84. package/src/browser-ar.ts +162 -0
  85. package/src/browser-core.ts +231 -0
  86. package/src/browser-de.ts +162 -0
  87. package/src/browser-east-asian.ts +173 -0
  88. package/src/browser-en-tr.ts +165 -0
  89. package/src/browser-en.ts +157 -0
  90. package/src/browser-es-en.ts +200 -0
  91. package/src/browser-es.ts +170 -0
  92. package/src/browser-fr.ts +162 -0
  93. package/src/browser-id.ts +162 -0
  94. package/src/browser-ja.ts +162 -0
  95. package/src/browser-ko.ts +162 -0
  96. package/src/browser-lazy.ts +189 -0
  97. package/src/browser-priority.ts +214 -0
  98. package/src/browser-pt.ts +162 -0
  99. package/src/browser-qu.ts +162 -0
  100. package/src/browser-sw.ts +162 -0
  101. package/src/browser-tr.ts +162 -0
  102. package/src/browser-western.ts +181 -0
  103. package/src/browser-zh.ts +162 -0
  104. package/src/browser.ts +268 -0
  105. package/src/cache/index.ts +14 -0
  106. package/src/cache/semantic-cache.ts +344 -0
  107. package/src/core-bridge.ts +372 -0
  108. package/src/explicit/converter.ts +258 -0
  109. package/src/explicit/index.ts +18 -0
  110. package/src/explicit/parser.ts +236 -0
  111. package/src/explicit/renderer.ts +424 -0
  112. package/src/generators/command-schemas.ts +1636 -0
  113. package/src/generators/event-handler-generator.ts +109 -0
  114. package/src/generators/index.ts +117 -0
  115. package/src/generators/language-profiles.ts +139 -0
  116. package/src/generators/pattern-generator.ts +537 -0
  117. package/src/generators/profiles/arabic.ts +131 -0
  118. package/src/generators/profiles/bengali.ts +132 -0
  119. package/src/generators/profiles/chinese.ts +124 -0
  120. package/src/generators/profiles/english.ts +113 -0
  121. package/src/generators/profiles/french.ts +125 -0
  122. package/src/generators/profiles/german.ts +126 -0
  123. package/src/generators/profiles/hindi.ts +146 -0
  124. package/src/generators/profiles/index.ts +46 -0
  125. package/src/generators/profiles/indonesian.ts +125 -0
  126. package/src/generators/profiles/italian.ts +139 -0
  127. package/src/generators/profiles/japanese.ts +149 -0
  128. package/src/generators/profiles/korean.ts +127 -0
  129. package/src/generators/profiles/marker-templates.ts +288 -0
  130. package/src/generators/profiles/ms.ts +130 -0
  131. package/src/generators/profiles/polish.ts +249 -0
  132. package/src/generators/profiles/portuguese.ts +115 -0
  133. package/src/generators/profiles/quechua.ts +113 -0
  134. package/src/generators/profiles/russian.ts +260 -0
  135. package/src/generators/profiles/spanish.ts +130 -0
  136. package/src/generators/profiles/swahili.ts +129 -0
  137. package/src/generators/profiles/thai.ts +132 -0
  138. package/src/generators/profiles/tl.ts +128 -0
  139. package/src/generators/profiles/turkish.ts +124 -0
  140. package/src/generators/profiles/types.ts +165 -0
  141. package/src/generators/profiles/ukrainian.ts +270 -0
  142. package/src/generators/profiles/vietnamese.ts +133 -0
  143. package/src/generators/schema-error-codes.ts +160 -0
  144. package/src/generators/schema-validator.ts +391 -0
  145. package/src/index.ts +429 -0
  146. package/src/language-building-schema.ts +3170 -0
  147. package/src/language-loader.ts +394 -0
  148. package/src/languages/_all.ts +65 -0
  149. package/src/languages/ar.ts +15 -0
  150. package/src/languages/bn.ts +16 -0
  151. package/src/languages/de.ts +15 -0
  152. package/src/languages/en.ts +29 -0
  153. package/src/languages/es.ts +15 -0
  154. package/src/languages/fr.ts +15 -0
  155. package/src/languages/hi.ts +26 -0
  156. package/src/languages/id.ts +15 -0
  157. package/src/languages/index.ts +18 -0
  158. package/src/languages/it.ts +15 -0
  159. package/src/languages/ja.ts +15 -0
  160. package/src/languages/ko.ts +15 -0
  161. package/src/languages/ms.ts +16 -0
  162. package/src/languages/pl.ts +18 -0
  163. package/src/languages/pt.ts +15 -0
  164. package/src/languages/qu.ts +15 -0
  165. package/src/languages/ru.ts +26 -0
  166. package/src/languages/sw.ts +15 -0
  167. package/src/languages/th.ts +16 -0
  168. package/src/languages/tl.ts +16 -0
  169. package/src/languages/tr.ts +15 -0
  170. package/src/languages/uk.ts +26 -0
  171. package/src/languages/vi.ts +16 -0
  172. package/src/languages/zh.ts +15 -0
  173. package/src/parser/index.ts +15 -0
  174. package/src/parser/pattern-matcher.ts +1181 -0
  175. package/src/parser/semantic-parser.ts +573 -0
  176. package/src/parser/utils/index.ts +35 -0
  177. package/src/parser/utils/marker-resolution.ts +111 -0
  178. package/src/parser/utils/possessive-keywords.ts +43 -0
  179. package/src/parser/utils/role-positioning.ts +70 -0
  180. package/src/parser/utils/type-validation.ts +134 -0
  181. package/src/patterns/add/ar.ts +71 -0
  182. package/src/patterns/add/bn.ts +70 -0
  183. package/src/patterns/add/hi.ts +69 -0
  184. package/src/patterns/add/index.ts +87 -0
  185. package/src/patterns/add/it.ts +61 -0
  186. package/src/patterns/add/ja.ts +93 -0
  187. package/src/patterns/add/ko.ts +74 -0
  188. package/src/patterns/add/ms.ts +30 -0
  189. package/src/patterns/add/pl.ts +62 -0
  190. package/src/patterns/add/ru.ts +62 -0
  191. package/src/patterns/add/th.ts +49 -0
  192. package/src/patterns/add/tl.ts +30 -0
  193. package/src/patterns/add/tr.ts +71 -0
  194. package/src/patterns/add/uk.ts +62 -0
  195. package/src/patterns/add/vi.ts +61 -0
  196. package/src/patterns/add/zh.ts +71 -0
  197. package/src/patterns/builders.ts +207 -0
  198. package/src/patterns/decrement/bn.ts +70 -0
  199. package/src/patterns/decrement/de.ts +42 -0
  200. package/src/patterns/decrement/hi.ts +68 -0
  201. package/src/patterns/decrement/index.ts +79 -0
  202. package/src/patterns/decrement/it.ts +69 -0
  203. package/src/patterns/decrement/ms.ts +30 -0
  204. package/src/patterns/decrement/pl.ts +58 -0
  205. package/src/patterns/decrement/ru.ts +58 -0
  206. package/src/patterns/decrement/th.ts +49 -0
  207. package/src/patterns/decrement/tl.ts +30 -0
  208. package/src/patterns/decrement/tr.ts +48 -0
  209. package/src/patterns/decrement/uk.ts +58 -0
  210. package/src/patterns/decrement/vi.ts +61 -0
  211. package/src/patterns/decrement/zh.ts +32 -0
  212. package/src/patterns/en.ts +302 -0
  213. package/src/patterns/event-handler/ar.ts +151 -0
  214. package/src/patterns/event-handler/bn.ts +72 -0
  215. package/src/patterns/event-handler/de.ts +117 -0
  216. package/src/patterns/event-handler/en.ts +117 -0
  217. package/src/patterns/event-handler/es.ts +136 -0
  218. package/src/patterns/event-handler/fr.ts +117 -0
  219. package/src/patterns/event-handler/hi.ts +64 -0
  220. package/src/patterns/event-handler/id.ts +117 -0
  221. package/src/patterns/event-handler/index.ts +119 -0
  222. package/src/patterns/event-handler/it.ts +54 -0
  223. package/src/patterns/event-handler/ja.ts +118 -0
  224. package/src/patterns/event-handler/ko.ts +133 -0
  225. package/src/patterns/event-handler/ms.ts +30 -0
  226. package/src/patterns/event-handler/pl.ts +62 -0
  227. package/src/patterns/event-handler/pt.ts +117 -0
  228. package/src/patterns/event-handler/qu.ts +66 -0
  229. package/src/patterns/event-handler/ru.ts +62 -0
  230. package/src/patterns/event-handler/shared.ts +270 -0
  231. package/src/patterns/event-handler/sw.ts +117 -0
  232. package/src/patterns/event-handler/th.ts +53 -0
  233. package/src/patterns/event-handler/tl.ts +30 -0
  234. package/src/patterns/event-handler/tr.ts +170 -0
  235. package/src/patterns/event-handler/uk.ts +62 -0
  236. package/src/patterns/event-handler/vi.ts +61 -0
  237. package/src/patterns/event-handler/zh.ts +150 -0
  238. package/src/patterns/get/ar.ts +49 -0
  239. package/src/patterns/get/bn.ts +47 -0
  240. package/src/patterns/get/de.ts +32 -0
  241. package/src/patterns/get/hi.ts +52 -0
  242. package/src/patterns/get/index.ts +83 -0
  243. package/src/patterns/get/it.ts +56 -0
  244. package/src/patterns/get/ja.ts +53 -0
  245. package/src/patterns/get/ko.ts +53 -0
  246. package/src/patterns/get/ms.ts +30 -0
  247. package/src/patterns/get/pl.ts +57 -0
  248. package/src/patterns/get/ru.ts +57 -0
  249. package/src/patterns/get/th.ts +29 -0
  250. package/src/patterns/get/tl.ts +30 -0
  251. package/src/patterns/get/uk.ts +57 -0
  252. package/src/patterns/get/vi.ts +48 -0
  253. package/src/patterns/grammar-transformed/index.ts +39 -0
  254. package/src/patterns/grammar-transformed/ja.ts +1713 -0
  255. package/src/patterns/grammar-transformed/ko.ts +1311 -0
  256. package/src/patterns/grammar-transformed/tr.ts +1067 -0
  257. package/src/patterns/hide/ar.ts +67 -0
  258. package/src/patterns/hide/bn.ts +47 -0
  259. package/src/patterns/hide/de.ts +36 -0
  260. package/src/patterns/hide/hi.ts +61 -0
  261. package/src/patterns/hide/index.ts +91 -0
  262. package/src/patterns/hide/it.ts +56 -0
  263. package/src/patterns/hide/ja.ts +69 -0
  264. package/src/patterns/hide/ko.ts +69 -0
  265. package/src/patterns/hide/ms.ts +30 -0
  266. package/src/patterns/hide/pl.ts +57 -0
  267. package/src/patterns/hide/ru.ts +57 -0
  268. package/src/patterns/hide/th.ts +29 -0
  269. package/src/patterns/hide/tl.ts +30 -0
  270. package/src/patterns/hide/tr.ts +65 -0
  271. package/src/patterns/hide/uk.ts +57 -0
  272. package/src/patterns/hide/vi.ts +56 -0
  273. package/src/patterns/hide/zh.ts +68 -0
  274. package/src/patterns/increment/bn.ts +70 -0
  275. package/src/patterns/increment/de.ts +36 -0
  276. package/src/patterns/increment/hi.ts +68 -0
  277. package/src/patterns/increment/index.ts +79 -0
  278. package/src/patterns/increment/it.ts +69 -0
  279. package/src/patterns/increment/ms.ts +30 -0
  280. package/src/patterns/increment/pl.ts +58 -0
  281. package/src/patterns/increment/ru.ts +58 -0
  282. package/src/patterns/increment/th.ts +49 -0
  283. package/src/patterns/increment/tl.ts +30 -0
  284. package/src/patterns/increment/tr.ts +52 -0
  285. package/src/patterns/increment/uk.ts +58 -0
  286. package/src/patterns/increment/vi.ts +61 -0
  287. package/src/patterns/increment/zh.ts +32 -0
  288. package/src/patterns/index.ts +84 -0
  289. package/src/patterns/languages/en/control-flow.ts +93 -0
  290. package/src/patterns/languages/en/fetch.ts +62 -0
  291. package/src/patterns/languages/en/index.ts +42 -0
  292. package/src/patterns/languages/en/repeat.ts +67 -0
  293. package/src/patterns/languages/en/set.ts +48 -0
  294. package/src/patterns/languages/en/swap.ts +38 -0
  295. package/src/patterns/languages/en/temporal.ts +57 -0
  296. package/src/patterns/put/ar.ts +74 -0
  297. package/src/patterns/put/bn.ts +53 -0
  298. package/src/patterns/put/en.ts +74 -0
  299. package/src/patterns/put/es.ts +74 -0
  300. package/src/patterns/put/hi.ts +69 -0
  301. package/src/patterns/put/id.ts +96 -0
  302. package/src/patterns/put/index.ts +99 -0
  303. package/src/patterns/put/it.ts +56 -0
  304. package/src/patterns/put/ja.ts +75 -0
  305. package/src/patterns/put/ko.ts +67 -0
  306. package/src/patterns/put/ms.ts +30 -0
  307. package/src/patterns/put/pl.ts +81 -0
  308. package/src/patterns/put/ru.ts +85 -0
  309. package/src/patterns/put/th.ts +32 -0
  310. package/src/patterns/put/tl.ts +30 -0
  311. package/src/patterns/put/tr.ts +67 -0
  312. package/src/patterns/put/uk.ts +85 -0
  313. package/src/patterns/put/vi.ts +72 -0
  314. package/src/patterns/put/zh.ts +62 -0
  315. package/src/patterns/registry.ts +163 -0
  316. package/src/patterns/remove/ar.ts +71 -0
  317. package/src/patterns/remove/bn.ts +68 -0
  318. package/src/patterns/remove/hi.ts +69 -0
  319. package/src/patterns/remove/index.ts +87 -0
  320. package/src/patterns/remove/it.ts +69 -0
  321. package/src/patterns/remove/ja.ts +74 -0
  322. package/src/patterns/remove/ko.ts +78 -0
  323. package/src/patterns/remove/ms.ts +30 -0
  324. package/src/patterns/remove/pl.ts +62 -0
  325. package/src/patterns/remove/ru.ts +62 -0
  326. package/src/patterns/remove/th.ts +49 -0
  327. package/src/patterns/remove/tl.ts +30 -0
  328. package/src/patterns/remove/tr.ts +78 -0
  329. package/src/patterns/remove/uk.ts +62 -0
  330. package/src/patterns/remove/vi.ts +61 -0
  331. package/src/patterns/remove/zh.ts +72 -0
  332. package/src/patterns/set/ar.ts +84 -0
  333. package/src/patterns/set/bn.ts +53 -0
  334. package/src/patterns/set/de.ts +84 -0
  335. package/src/patterns/set/es.ts +92 -0
  336. package/src/patterns/set/fr.ts +88 -0
  337. package/src/patterns/set/hi.ts +56 -0
  338. package/src/patterns/set/id.ts +84 -0
  339. package/src/patterns/set/index.ts +107 -0
  340. package/src/patterns/set/it.ts +56 -0
  341. package/src/patterns/set/ja.ts +86 -0
  342. package/src/patterns/set/ko.ts +85 -0
  343. package/src/patterns/set/ms.ts +30 -0
  344. package/src/patterns/set/pl.ts +57 -0
  345. package/src/patterns/set/pt.ts +84 -0
  346. package/src/patterns/set/ru.ts +57 -0
  347. package/src/patterns/set/th.ts +31 -0
  348. package/src/patterns/set/tl.ts +30 -0
  349. package/src/patterns/set/tr.ts +107 -0
  350. package/src/patterns/set/uk.ts +57 -0
  351. package/src/patterns/set/vi.ts +53 -0
  352. package/src/patterns/set/zh.ts +84 -0
  353. package/src/patterns/show/ar.ts +67 -0
  354. package/src/patterns/show/bn.ts +47 -0
  355. package/src/patterns/show/de.ts +32 -0
  356. package/src/patterns/show/fr.ts +32 -0
  357. package/src/patterns/show/hi.ts +61 -0
  358. package/src/patterns/show/index.ts +95 -0
  359. package/src/patterns/show/it.ts +56 -0
  360. package/src/patterns/show/ja.ts +69 -0
  361. package/src/patterns/show/ko.ts +73 -0
  362. package/src/patterns/show/ms.ts +30 -0
  363. package/src/patterns/show/pl.ts +57 -0
  364. package/src/patterns/show/ru.ts +57 -0
  365. package/src/patterns/show/th.ts +29 -0
  366. package/src/patterns/show/tl.ts +30 -0
  367. package/src/patterns/show/tr.ts +65 -0
  368. package/src/patterns/show/uk.ts +57 -0
  369. package/src/patterns/show/vi.ts +56 -0
  370. package/src/patterns/show/zh.ts +68 -0
  371. package/src/patterns/take/ar.ts +51 -0
  372. package/src/patterns/take/index.ts +31 -0
  373. package/src/patterns/toggle/ar.ts +61 -0
  374. package/src/patterns/toggle/bn.ts +70 -0
  375. package/src/patterns/toggle/en.ts +61 -0
  376. package/src/patterns/toggle/es.ts +61 -0
  377. package/src/patterns/toggle/hi.ts +80 -0
  378. package/src/patterns/toggle/index.ts +95 -0
  379. package/src/patterns/toggle/it.ts +69 -0
  380. package/src/patterns/toggle/ja.ts +156 -0
  381. package/src/patterns/toggle/ko.ts +113 -0
  382. package/src/patterns/toggle/ms.ts +30 -0
  383. package/src/patterns/toggle/pl.ts +62 -0
  384. package/src/patterns/toggle/ru.ts +62 -0
  385. package/src/patterns/toggle/th.ts +50 -0
  386. package/src/patterns/toggle/tl.ts +30 -0
  387. package/src/patterns/toggle/tr.ts +88 -0
  388. package/src/patterns/toggle/uk.ts +62 -0
  389. package/src/patterns/toggle/vi.ts +61 -0
  390. package/src/patterns/toggle/zh.ts +99 -0
  391. package/src/public-api.ts +286 -0
  392. package/src/registry.ts +441 -0
  393. package/src/tokenizers/arabic.ts +723 -0
  394. package/src/tokenizers/base.ts +1300 -0
  395. package/src/tokenizers/bengali.ts +289 -0
  396. package/src/tokenizers/chinese.ts +481 -0
  397. package/src/tokenizers/english.ts +416 -0
  398. package/src/tokenizers/french.ts +326 -0
  399. package/src/tokenizers/german.ts +324 -0
  400. package/src/tokenizers/hindi.ts +319 -0
  401. package/src/tokenizers/index.ts +127 -0
  402. package/src/tokenizers/indonesian.ts +306 -0
  403. package/src/tokenizers/italian.ts +458 -0
  404. package/src/tokenizers/japanese.ts +447 -0
  405. package/src/tokenizers/korean.ts +642 -0
  406. package/src/tokenizers/morphology/arabic-normalizer.ts +242 -0
  407. package/src/tokenizers/morphology/french-normalizer.ts +268 -0
  408. package/src/tokenizers/morphology/german-normalizer.ts +256 -0
  409. package/src/tokenizers/morphology/index.ts +46 -0
  410. package/src/tokenizers/morphology/italian-normalizer.ts +329 -0
  411. package/src/tokenizers/morphology/japanese-normalizer.ts +288 -0
  412. package/src/tokenizers/morphology/korean-normalizer.ts +428 -0
  413. package/src/tokenizers/morphology/polish-normalizer.ts +264 -0
  414. package/src/tokenizers/morphology/portuguese-normalizer.ts +310 -0
  415. package/src/tokenizers/morphology/spanish-normalizer.ts +327 -0
  416. package/src/tokenizers/morphology/turkish-normalizer.ts +412 -0
  417. package/src/tokenizers/morphology/types.ts +211 -0
  418. package/src/tokenizers/ms.ts +198 -0
  419. package/src/tokenizers/polish.ts +354 -0
  420. package/src/tokenizers/portuguese.ts +304 -0
  421. package/src/tokenizers/quechua.ts +339 -0
  422. package/src/tokenizers/russian.ts +375 -0
  423. package/src/tokenizers/spanish.ts +403 -0
  424. package/src/tokenizers/swahili.ts +303 -0
  425. package/src/tokenizers/thai.ts +236 -0
  426. package/src/tokenizers/tl.ts +198 -0
  427. package/src/tokenizers/turkish.ts +411 -0
  428. package/src/tokenizers/ukrainian.ts +369 -0
  429. package/src/tokenizers/vietnamese.ts +410 -0
  430. package/src/types/grammar-types.ts +617 -0
  431. package/src/types/unified-profile.ts +267 -0
  432. package/src/types.ts +709 -0
  433. package/src/utils/confidence-calculator.ts +147 -0
  434. package/src/validators/command-validator.ts +380 -0
  435. package/src/validators/index.ts +15 -0
package/src/index.ts ADDED
@@ -0,0 +1,429 @@
1
+ /**
2
+ * Semantic-First Multilingual Hyperscript
3
+ *
4
+ * This package provides a semantic-first approach to multilingual hyperscript,
5
+ * enabling true native-language syntax that feels natural to speakers of any language.
6
+ *
7
+ * Key Features:
8
+ * - Parse hyperscript from any supported language (en, ja, ar, es)
9
+ * - Translate between languages while preserving semantic meaning
10
+ * - Explicit mode syntax for learning and debugging
11
+ * - Bidirectional conversion: natural ↔ explicit ↔ natural
12
+ *
13
+ * @example
14
+ * // Parse Japanese to semantic
15
+ * const node = parse('#button の .active を 切り替え', 'ja');
16
+ *
17
+ * // Render in English
18
+ * const english = render(node, 'en');
19
+ * // → 'toggle .active on #button'
20
+ *
21
+ * // Render in explicit mode
22
+ * const explicit = renderExplicit(node);
23
+ * // → '[toggle patient:.active destination:#button]'
24
+ *
25
+ * // Translate directly
26
+ * const arabic = translate('toggle .active on #button', 'en', 'ar');
27
+ * // → 'بدّل .active على #button'
28
+ */
29
+
30
+ // =============================================================================
31
+ // Register All Languages (Full Bundle)
32
+ // =============================================================================
33
+
34
+ // Import to register all 13 languages. This enables tree-shaking for minimal bundles
35
+ // by importing only specific languages (e.g., './languages/en').
36
+ import './languages/_all';
37
+
38
+ // =============================================================================
39
+ // Core Types
40
+ // =============================================================================
41
+
42
+ export type {
43
+ // Semantic types
44
+ ActionType,
45
+ SemanticRole,
46
+ SemanticValue,
47
+ LiteralValue,
48
+ SelectorValue,
49
+ ReferenceValue,
50
+ PropertyPathValue,
51
+ ExpressionValue,
52
+ SemanticNode,
53
+ CommandSemanticNode,
54
+ EventHandlerSemanticNode,
55
+ ConditionalSemanticNode,
56
+ CompoundSemanticNode,
57
+ LoopSemanticNode,
58
+ LoopVariant,
59
+ SemanticMetadata,
60
+ SourcePosition,
61
+ EventModifiers,
62
+
63
+ // Pattern types
64
+ LanguagePattern,
65
+ PatternTemplate,
66
+ PatternToken,
67
+ LiteralPatternToken,
68
+ RolePatternToken,
69
+ GroupPatternToken,
70
+ ExtractionRules,
71
+ ExtractionRule,
72
+ PatternConstraints,
73
+ PatternMatchResult,
74
+ PatternMatchError,
75
+
76
+ // Token types
77
+ LanguageToken,
78
+ TokenKind,
79
+ TokenStream,
80
+ StreamMark,
81
+ LanguageTokenizer,
82
+
83
+ // Parser/Renderer interfaces
84
+ SemanticParser,
85
+ SemanticRenderer,
86
+ } from './types';
87
+
88
+ // =============================================================================
89
+ // Type Helpers
90
+ // =============================================================================
91
+
92
+ export {
93
+ createSelector,
94
+ createLiteral,
95
+ createReference,
96
+ createPropertyPath,
97
+ createCommandNode,
98
+ createEventHandler,
99
+ createCompoundNode,
100
+ createConditionalNode,
101
+ createLoopNode,
102
+ } from './types';
103
+
104
+ // =============================================================================
105
+ // Patterns
106
+ // =============================================================================
107
+
108
+ export {
109
+ getAllPatterns,
110
+ getPatternsForLanguage,
111
+ getPatternsForLanguageAndCommand,
112
+ getSupportedLanguages as getSupportedPatternLanguages,
113
+ getSupportedCommands,
114
+ getPatternById,
115
+ getPatternStats,
116
+ getTogglePatternsForLanguage,
117
+ getPutPatternsForLanguage,
118
+ getEventHandlerPatternsForLanguage,
119
+ eventNameTranslations,
120
+ normalizeEventName,
121
+ } from './patterns';
122
+
123
+ // =============================================================================
124
+ // Tokenizers
125
+ // =============================================================================
126
+
127
+ export {
128
+ getTokenizer,
129
+ tokenize,
130
+ getSupportedLanguages as getSupportedTokenizerLanguages,
131
+ isLanguageSupported,
132
+ registerTokenizer,
133
+ englishTokenizer,
134
+ japaneseTokenizer,
135
+ koreanTokenizer,
136
+ arabicTokenizer,
137
+ spanishTokenizer,
138
+ turkishTokenizer,
139
+ chineseTokenizer,
140
+ TokenStreamImpl,
141
+ } from './tokenizers';
142
+
143
+ // =============================================================================
144
+ // Parser
145
+ // =============================================================================
146
+
147
+ export {
148
+ SemanticParserImpl,
149
+ semanticParser,
150
+ parse,
151
+ canParse,
152
+ getCommandType,
153
+ PatternMatcher,
154
+ patternMatcher,
155
+ matchPattern,
156
+ matchBest,
157
+ } from './parser';
158
+
159
+ // =============================================================================
160
+ // Explicit Mode
161
+ // =============================================================================
162
+
163
+ export {
164
+ parseExplicit,
165
+ isExplicitSyntax,
166
+ SemanticRendererImpl,
167
+ semanticRenderer,
168
+ render,
169
+ renderExplicit,
170
+ toExplicit,
171
+ fromExplicit,
172
+ translate,
173
+ parseAny,
174
+ roundTrip,
175
+ getAllTranslations,
176
+ validateTranslation,
177
+ } from './explicit';
178
+
179
+ // =============================================================================
180
+ // Registry (for language profile and pattern access)
181
+ // =============================================================================
182
+
183
+ export {
184
+ tryGetProfile,
185
+ getRegisteredLanguages,
186
+ // Note: getPatternsForLanguage and getPatternsForLanguageAndCommand
187
+ // are already exported from './patterns'
188
+ } from './registry';
189
+
190
+ // Note: LanguageProfile and related types are already exported from './generators'
191
+ // PossessiveConfig is exported below
192
+ export type { PossessiveConfig } from './registry';
193
+
194
+ // =============================================================================
195
+ // Convenience: Main API
196
+ // =============================================================================
197
+
198
+ /**
199
+ * Get all supported languages for parsing.
200
+ */
201
+ export function getSupportedLanguages(): string[] {
202
+ return ['en', 'ja', 'ar', 'es', 'ko', 'zh', 'tr', 'pt', 'fr', 'de', 'id', 'qu', 'sw'];
203
+ }
204
+
205
+ /**
206
+ * Version of the semantic package.
207
+ */
208
+ export const VERSION = '0.1.0';
209
+
210
+ // =============================================================================
211
+ // Core Parser Bridge
212
+ // =============================================================================
213
+
214
+ export {
215
+ // Types
216
+ type SemanticAnalysisResult,
217
+ type SemanticAnalyzer,
218
+ // Implementation
219
+ SemanticAnalyzerImpl,
220
+ createSemanticAnalyzer,
221
+ // Thresholds
222
+ DEFAULT_CONFIDENCE_THRESHOLD,
223
+ HIGH_CONFIDENCE_THRESHOLD,
224
+ // Helpers
225
+ shouldUseSemanticResult,
226
+ rolesToCommandArgs,
227
+ } from './core-bridge';
228
+
229
+ // =============================================================================
230
+ // Pattern Generators (for creating patterns programmatically)
231
+ // =============================================================================
232
+
233
+ export {
234
+ // Language profiles
235
+ type LanguageProfile,
236
+ type WordOrder,
237
+ type MarkingStrategy,
238
+ type RoleMarker,
239
+ type VerbConfig,
240
+ type VerbForm,
241
+ type KeywordTranslation,
242
+ type TokenizationConfig,
243
+ englishProfile,
244
+ japaneseProfile,
245
+ arabicProfile,
246
+ spanishProfile,
247
+ koreanProfile,
248
+ chineseProfile,
249
+ turkishProfile,
250
+ portugueseProfile,
251
+ frenchProfile,
252
+ germanProfile,
253
+ indonesianProfile,
254
+ quechuaProfile,
255
+ swahiliProfile,
256
+ languageProfiles,
257
+ getProfile,
258
+ getSupportedLanguages as getGeneratorLanguages,
259
+ isLanguageSupported as isGeneratorLanguageSupported,
260
+
261
+ // Command schemas
262
+ type CommandSchema,
263
+ type RoleSpec,
264
+ type CommandCategory,
265
+ toggleSchema,
266
+ addSchema,
267
+ removeSchema,
268
+ putSchema,
269
+ setSchema,
270
+ showSchema,
271
+ hideSchema,
272
+ onSchema,
273
+ triggerSchema,
274
+ waitSchema,
275
+ fetchSchema,
276
+ incrementSchema,
277
+ decrementSchema,
278
+ appendSchema,
279
+ prependSchema,
280
+ commandSchemas,
281
+ getSchema,
282
+ getSchemasByCategory,
283
+ getDefinedSchemas,
284
+
285
+ // Pattern generator
286
+ type GeneratorConfig,
287
+ generatePattern,
288
+ generateSimplePattern,
289
+ generatePatternVariants,
290
+ generatePatternsForLanguage,
291
+ generatePatternsForCommand,
292
+ generateAllPatterns,
293
+ getGeneratorSummary,
294
+ validateLanguageKeywords,
295
+ } from './generators';
296
+
297
+ // =============================================================================
298
+ // Validators (Per-Command Semantic Validation)
299
+ // =============================================================================
300
+
301
+ export {
302
+ validateSemanticResult,
303
+ validateAndAdjustConfidence,
304
+ getSchema as getValidatorSchema,
305
+ registerSchema,
306
+ schemaRegistry,
307
+ type ValidationError,
308
+ type ValidationResult,
309
+ } from './validators';
310
+
311
+ // =============================================================================
312
+ // Cache (Performance Optimization)
313
+ // =============================================================================
314
+
315
+ export {
316
+ SemanticCache,
317
+ semanticCache,
318
+ createSemanticCache,
319
+ withCache,
320
+ type SemanticCacheConfig,
321
+ type CacheStats,
322
+ } from './cache';
323
+
324
+ // =============================================================================
325
+ // Unified Language Profile (Package Integration)
326
+ // =============================================================================
327
+
328
+ export {
329
+ // Types (using aliases to avoid conflicts with existing exports)
330
+ type UnifiedLanguageProfile,
331
+ type UnifiedRoleMarker,
332
+ type GrammarRule as UnifiedGrammarRule,
333
+ type PatternMatcher as UnifiedPatternMatcher,
334
+ type PatternTransform as UnifiedPatternTransform,
335
+ // Utilities
336
+ markingStrategyToAdpositionType,
337
+ toGrammaticalMarker,
338
+ toI18nProfile,
339
+ isUnifiedProfile,
340
+ } from './types/unified-profile';
341
+
342
+ // =============================================================================
343
+ // Static Analysis
344
+ // =============================================================================
345
+
346
+ export {
347
+ // Main functions
348
+ analyze,
349
+ analyzeAll,
350
+ analyzeMultiple,
351
+ // Individual checks
352
+ checkAccessibility,
353
+ checkPerformance,
354
+ checkSchema,
355
+ // Dev mode
356
+ enableDevMode,
357
+ disableDevMode,
358
+ isDevModeEnabled,
359
+ getDevModeConfig,
360
+ devModeAnalyze,
361
+ // Types
362
+ type AnalysisResult,
363
+ type AnalysisWarning,
364
+ type AnalysisConfig,
365
+ type WarningSeverity,
366
+ type WarningCode,
367
+ } from './analysis';
368
+
369
+ // =============================================================================
370
+ // AST Builder (Direct Semantic-to-AST conversion)
371
+ // =============================================================================
372
+
373
+ export {
374
+ // Main builder
375
+ ASTBuilder,
376
+ buildAST,
377
+ // Value converters
378
+ convertValue,
379
+ convertLiteral,
380
+ convertSelector,
381
+ convertReference,
382
+ convertPropertyPath,
383
+ convertExpression,
384
+ // Command mappers
385
+ getCommandMapper,
386
+ registerCommandMapper,
387
+ getRegisteredMappers,
388
+ // Types
389
+ type ASTNode,
390
+ type CommandNode,
391
+ type EventHandlerNode,
392
+ type ConditionalNode,
393
+ type CommandSequenceNode,
394
+ type BlockNode,
395
+ type ASTBuilderOptions,
396
+ type CommandMapper,
397
+ type CommandMapperResult,
398
+ type BuildASTResult,
399
+ } from './ast-builder';
400
+
401
+ // =============================================================================
402
+ // Language Loader (Lazy Loading)
403
+ // =============================================================================
404
+
405
+ export {
406
+ // Core functions
407
+ loadLanguage,
408
+ loadLanguages,
409
+ // Helpers
410
+ canLoadLanguage,
411
+ getLoadedLanguages,
412
+ getUnloadedLanguages,
413
+ SUPPORTED_LANGUAGES as LAZY_LOAD_LANGUAGES,
414
+ // Types
415
+ type LoadLanguageOptions,
416
+ type LoadLanguageResult,
417
+ type LanguageModule,
418
+ } from './language-loader';
419
+
420
+ // =============================================================================
421
+ // Confidence Calculator (Translation Verification)
422
+ // =============================================================================
423
+
424
+ export {
425
+ calculateTranslationConfidence,
426
+ parseWithConfidence,
427
+ type ConfidenceResult,
428
+ type ParseWithConfidenceResult,
429
+ } from './utils/confidence-calculator';