@lokascript/semantic 1.0.0 → 1.1.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 (162) hide show
  1. package/dist/browser-ar.ar.global.js +2 -2
  2. package/dist/browser-core.core.global.js +2 -2
  3. package/dist/browser-de.de.global.js +2 -2
  4. package/dist/browser-east-asian.east-asian.global.js +2 -2
  5. package/dist/browser-en-tr.en-tr.global.js +2 -2
  6. package/dist/browser-en.en.global.js +2 -2
  7. package/dist/browser-es-en.es-en.global.js +2 -2
  8. package/dist/browser-es.es.global.js +2 -2
  9. package/dist/browser-fr.fr.global.js +2 -2
  10. package/dist/browser-id.id.global.js +2 -2
  11. package/dist/browser-ja.ja.global.js +2 -2
  12. package/dist/browser-ko.ko.global.js +2 -2
  13. package/dist/browser-lazy.lazy.global.js +2 -2
  14. package/dist/browser-priority.priority.global.js +2 -2
  15. package/dist/browser-pt.pt.global.js +2 -2
  16. package/dist/browser-qu.qu.global.js +2 -2
  17. package/dist/browser-sw.sw.global.js +2 -2
  18. package/dist/browser-tr.tr.global.js +2 -2
  19. package/dist/browser-western.western.global.js +2 -2
  20. package/dist/browser-zh.zh.global.js +2 -2
  21. package/dist/browser.global.js +2 -2
  22. package/dist/browser.global.js.map +1 -1
  23. package/dist/index.cjs +13042 -17462
  24. package/dist/index.cjs.map +1 -1
  25. package/dist/index.d.cts +49 -5
  26. package/dist/index.d.ts +49 -5
  27. package/dist/index.js +14044 -18464
  28. package/dist/index.js.map +1 -1
  29. package/dist/languages/ar.d.ts +1 -1
  30. package/dist/languages/ar.js +31 -44
  31. package/dist/languages/ar.js.map +1 -1
  32. package/dist/languages/de.d.ts +1 -1
  33. package/dist/languages/de.js +14 -2
  34. package/dist/languages/de.js.map +1 -1
  35. package/dist/languages/en.d.ts +1 -1
  36. package/dist/languages/en.js +558 -12
  37. package/dist/languages/en.js.map +1 -1
  38. package/dist/languages/es.d.ts +1 -1
  39. package/dist/languages/es.js +16 -0
  40. package/dist/languages/es.js.map +1 -1
  41. package/dist/languages/fr.d.ts +1 -1
  42. package/dist/languages/fr.js +14 -2
  43. package/dist/languages/fr.js.map +1 -1
  44. package/dist/languages/id.d.ts +1 -1
  45. package/dist/languages/id.js +14 -2
  46. package/dist/languages/id.js.map +1 -1
  47. package/dist/languages/ja.d.ts +1 -1
  48. package/dist/languages/ja.js +18 -3
  49. package/dist/languages/ja.js.map +1 -1
  50. package/dist/languages/ko.d.ts +8 -1
  51. package/dist/languages/ko.js +75 -43
  52. package/dist/languages/ko.js.map +1 -1
  53. package/dist/languages/pt.d.ts +1 -1
  54. package/dist/languages/pt.js +17 -0
  55. package/dist/languages/pt.js.map +1 -1
  56. package/dist/languages/qu.d.ts +12 -1
  57. package/dist/languages/qu.js +77 -2
  58. package/dist/languages/qu.js.map +1 -1
  59. package/dist/languages/sw.d.ts +1 -1
  60. package/dist/languages/sw.js.map +1 -1
  61. package/dist/languages/tr.d.ts +9 -1
  62. package/dist/languages/tr.js +96 -72
  63. package/dist/languages/tr.js.map +1 -1
  64. package/dist/languages/zh.d.ts +1 -1
  65. package/dist/languages/zh.js +16 -0
  66. package/dist/languages/zh.js.map +1 -1
  67. package/dist/{types-C4dcj53L.d.ts → types-BY3Id07j.d.ts} +20 -5
  68. package/package.json +20 -29
  69. package/src/generators/command-schemas.ts +21 -10
  70. package/src/generators/event-handler-generator.ts +50 -44
  71. package/src/generators/language-profiles.ts +6 -0
  72. package/src/generators/pattern-generator.ts +883 -1
  73. package/src/generators/profiles/arabic.ts +19 -3
  74. package/src/generators/profiles/bengali.ts +12 -1
  75. package/src/generators/profiles/chinese.ts +15 -0
  76. package/src/generators/profiles/french.ts +12 -1
  77. package/src/generators/profiles/german.ts +12 -1
  78. package/src/generators/profiles/hebrew.ts +148 -0
  79. package/src/generators/profiles/hindi.ts +12 -1
  80. package/src/generators/profiles/index.ts +2 -0
  81. package/src/generators/profiles/indonesian.ts +12 -1
  82. package/src/generators/profiles/italian.ts +16 -0
  83. package/src/generators/profiles/japanese.ts +11 -2
  84. package/src/generators/profiles/korean.ts +15 -1
  85. package/src/generators/profiles/polish.ts +12 -0
  86. package/src/generators/profiles/portuguese.ts +16 -0
  87. package/src/generators/profiles/russian.ts +11 -0
  88. package/src/generators/profiles/spanish.ts +15 -0
  89. package/src/generators/profiles/spanishMexico.ts +176 -0
  90. package/src/generators/profiles/thai.ts +11 -0
  91. package/src/generators/profiles/turkish.ts +49 -7
  92. package/src/generators/profiles/types.ts +21 -5
  93. package/src/generators/profiles/ukrainian.ts +11 -0
  94. package/src/generators/profiles/vietnamese.ts +11 -0
  95. package/src/language-building-schema.ts +111 -0
  96. package/src/languages/_all.ts +5 -1
  97. package/src/languages/es-MX.ts +32 -0
  98. package/src/languages/he.ts +15 -0
  99. package/src/parser/pattern-matcher.ts +10 -1
  100. package/src/parser/semantic-parser.ts +3 -0
  101. package/src/patterns/add/ar.ts +3 -59
  102. package/src/patterns/add/index.ts +5 -1
  103. package/src/patterns/add/ja.ts +3 -81
  104. package/src/patterns/add/ko.ts +3 -62
  105. package/src/patterns/add/qu.ts +69 -0
  106. package/src/patterns/add/tr.ts +3 -59
  107. package/src/patterns/builders.ts +1 -0
  108. package/src/patterns/decrement/tr.ts +3 -36
  109. package/src/patterns/event-handler/ar.ts +3 -139
  110. package/src/patterns/event-handler/he.ts +15 -0
  111. package/src/patterns/event-handler/index.ts +5 -1
  112. package/src/patterns/event-handler/ja.ts +3 -106
  113. package/src/patterns/event-handler/ko.ts +3 -121
  114. package/src/patterns/event-handler/ms.ts +45 -20
  115. package/src/patterns/event-handler/tr.ts +3 -158
  116. package/src/patterns/get/ar.ts +3 -37
  117. package/src/patterns/get/ja.ts +3 -41
  118. package/src/patterns/get/ko.ts +3 -41
  119. package/src/patterns/grammar-transformed/ja.ts +3 -1701
  120. package/src/patterns/grammar-transformed/ko.ts +3 -1299
  121. package/src/patterns/grammar-transformed/tr.ts +3 -1055
  122. package/src/patterns/hide/ar.ts +3 -55
  123. package/src/patterns/hide/ja.ts +3 -57
  124. package/src/patterns/hide/ko.ts +3 -57
  125. package/src/patterns/hide/tr.ts +3 -53
  126. package/src/patterns/increment/tr.ts +3 -40
  127. package/src/patterns/put/ar.ts +3 -62
  128. package/src/patterns/put/ja.ts +3 -63
  129. package/src/patterns/put/ko.ts +3 -55
  130. package/src/patterns/put/tr.ts +3 -55
  131. package/src/patterns/remove/ar.ts +3 -59
  132. package/src/patterns/remove/index.ts +5 -1
  133. package/src/patterns/remove/ja.ts +3 -62
  134. package/src/patterns/remove/ko.ts +3 -66
  135. package/src/patterns/remove/qu.ts +69 -0
  136. package/src/patterns/remove/tr.ts +3 -66
  137. package/src/patterns/set/ar.ts +3 -72
  138. package/src/patterns/set/ja.ts +3 -74
  139. package/src/patterns/set/ko.ts +3 -73
  140. package/src/patterns/set/tr.ts +3 -95
  141. package/src/patterns/show/ar.ts +3 -55
  142. package/src/patterns/show/ja.ts +3 -57
  143. package/src/patterns/show/ko.ts +3 -61
  144. package/src/patterns/show/tr.ts +3 -53
  145. package/src/patterns/take/ar.ts +3 -39
  146. package/src/patterns/toggle/ar.ts +3 -49
  147. package/src/patterns/toggle/index.ts +5 -1
  148. package/src/patterns/toggle/ja.ts +3 -144
  149. package/src/patterns/toggle/ko.ts +3 -101
  150. package/src/patterns/toggle/qu.ts +90 -0
  151. package/src/patterns/toggle/tr.ts +3 -76
  152. package/src/registry.ts +179 -15
  153. package/src/tokenizers/arabic.ts +13 -46
  154. package/src/tokenizers/bengali.ts +2 -16
  155. package/src/tokenizers/he.ts +542 -0
  156. package/src/tokenizers/index.ts +1 -0
  157. package/src/tokenizers/japanese.ts +3 -1
  158. package/src/tokenizers/korean.ts +104 -48
  159. package/src/tokenizers/ms.ts +3 -0
  160. package/src/tokenizers/quechua.ts +101 -2
  161. package/src/tokenizers/turkish.ts +64 -69
  162. package/src/types.ts +13 -0
@@ -1,4 +1,4 @@
1
- import { B as BaseTokenizer, T as TokenStream, a as TokenKind, L as LanguageProfile } from '../types-C4dcj53L.js';
1
+ import { B as BaseTokenizer, T as TokenStream, a as TokenKind, L as LanguageProfile } from '../types-BY3Id07j.js';
2
2
 
3
3
  /**
4
4
  * Arabic Tokenizer
@@ -1015,20 +1015,23 @@ var arabicProfile = {
1015
1015
  put: { primary: "\u0636\u0639", alternatives: ["\u0627\u062C\u0639\u0644"], normalized: "put" },
1016
1016
  append: { primary: "\u0623\u0644\u062D\u0642", normalized: "append" },
1017
1017
  prepend: { primary: "\u0633\u0628\u0642", normalized: "prepend" },
1018
- take: { primary: "\u062E\u0630", alternatives: ["\u0627\u062D\u0635\u0644"], normalized: "take" },
1018
+ take: { primary: "\u062E\u0630", normalized: "take" },
1019
+ // Removed احصل to avoid collision with get
1019
1020
  make: { primary: "\u0627\u0635\u0646\u0639", alternatives: ["\u0623\u0646\u0634\u0626"], normalized: "make" },
1020
1021
  clone: { primary: "\u0627\u0633\u062A\u0646\u0633\u062E", alternatives: ["\u0627\u0646\u0633\u062E"], normalized: "clone" },
1021
1022
  swap: { primary: "\u0627\u0633\u062A\u0628\u062F\u0644", alternatives: ["\u062A\u0628\u0627\u062F\u0644"], normalized: "swap" },
1022
1023
  morph: { primary: "\u062D\u0648\u0651\u0644", alternatives: ["\u063A\u064A\u0651\u0631"], normalized: "morph" },
1023
1024
  // Variable operations
1024
1025
  set: { primary: "\u0627\u0636\u0628\u0637", alternatives: ["\u0639\u064A\u0651\u0646", "\u062D\u062F\u062F"], normalized: "set" },
1025
- get: { primary: "\u0627\u062D\u0635\u0644", alternatives: ["\u062E\u0630"], normalized: "get" },
1026
+ get: { primary: "\u0627\u062D\u0635\u0644", normalized: "get" },
1027
+ // Removed خذ to avoid collision with take
1026
1028
  increment: { primary: "\u0632\u0650\u062F", alternatives: ["\u0632\u062F", "\u0627\u0631\u0641\u0639"], normalized: "increment" },
1027
1029
  decrement: { primary: "\u0623\u0646\u0642\u0635", alternatives: ["\u0627\u0646\u0642\u0635", "\u0642\u0644\u0644"], normalized: "decrement" },
1028
1030
  log: { primary: "\u0633\u062C\u0644", normalized: "log" },
1029
1031
  // Visibility
1030
1032
  show: { primary: "\u0627\u0638\u0647\u0631", alternatives: ["\u0623\u0638\u0647\u0631", "\u0627\u0639\u0631\u0636"], normalized: "show" },
1031
- hide: { primary: "\u0627\u062E\u0641", alternatives: ["\u0623\u062E\u0641\u0650", "\u0627\u062E\u0641\u064A"], normalized: "hide" },
1033
+ hide: { primary: "\u0627\u062E\u0641", alternatives: ["\u0623\u062E\u0641\u0650", "\u0627\u062E\u0641\u064A", "\u0623\u062E\u0641"], normalized: "hide" },
1034
+ // Added hamza variant
1032
1035
  transition: { primary: "\u0627\u0646\u062A\u0642\u0627\u0644", alternatives: ["\u0627\u0646\u062A\u0642\u0644"], normalized: "transition" },
1033
1036
  // Events
1034
1037
  on: { primary: "\u0639\u0644\u0649", alternatives: ["\u0639\u0646\u062F", "\u0644\u062F\u0649", "\u062D\u064A\u0646"], normalized: "on" },
@@ -1079,6 +1082,23 @@ var arabicProfile = {
1079
1082
  },
1080
1083
  tokenization: {
1081
1084
  prefixes: ["\u0627\u0644", "\u0648", "\u0641", "\u0628", "\u0643", "\u0644"]
1085
+ },
1086
+ eventHandler: {
1087
+ // Event marker: عند (at/upon), used in VSO pattern
1088
+ // Pattern: عند [event] [action] [patient] [على destination]
1089
+ // Example: عند النقر بدّل .active على #button
1090
+ // Includes temporal conjunctions (عندما = formal "when", حين = neutral, لمّا = dialectal)
1091
+ eventMarker: {
1092
+ primary: "\u0639\u0646\u062F",
1093
+ 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"],
1094
+ position: "before"
1095
+ },
1096
+ temporalMarkers: ["\u0639\u0646\u062F\u0645\u0627", "\u062D\u064A\u0646", "\u0644\u0645\u0651\u0627"],
1097
+ // kept for reference/documentation
1098
+ // Negation marker: عدم (not/lack of), used for negated events
1099
+ // Pattern: عند عدم [event] [action] [patient]
1100
+ // Example: عند عدم التركيز أخف #tooltip = "on blur hide #tooltip"
1101
+ negationMarker: { primary: "\u0639\u062F\u0645", alternatives: ["\u0639\u062F\u0645"], position: "before" }
1082
1102
  }
1083
1103
  };
1084
1104
 
@@ -1253,13 +1273,8 @@ var ARABIC_EXTRAS = [
1253
1273
  { native: "\u0645\u063A\u0627\u062F\u0631\u0629 \u0627\u0644\u0641\u0623\u0631\u0629", normalized: "mouseout" },
1254
1274
  { native: "\u062A\u062D\u0645\u064A\u0644", normalized: "load" },
1255
1275
  { native: "\u062A\u0645\u0631\u064A\u0631", normalized: "scroll" },
1256
- // References
1257
- { native: "\u0623\u0646\u0627", normalized: "me" },
1258
- { native: "\u0647\u0648", normalized: "it" },
1276
+ // References (feminine "it" not in profile)
1259
1277
  { native: "\u0647\u064A", normalized: "it" },
1260
- { native: "\u0627\u0644\u0646\u062A\u064A\u062C\u0629", normalized: "result" },
1261
- { native: "\u0627\u0644\u062D\u062F\u062B", normalized: "event" },
1262
- { native: "\u0627\u0644\u0647\u062F\u0641", normalized: "target" },
1263
1278
  // Time units
1264
1279
  { native: "\u062B\u0627\u0646\u064A\u0629", normalized: "s" },
1265
1280
  { native: "\u062B\u0648\u0627\u0646\u064A", normalized: "s" },
@@ -1267,43 +1282,15 @@ var ARABIC_EXTRAS = [
1267
1282
  { native: "\u062F\u0642\u064A\u0642\u0629", normalized: "m" },
1268
1283
  { native: "\u062F\u0642\u0627\u0626\u0642", normalized: "m" },
1269
1284
  { native: "\u0633\u0627\u0639\u0629", normalized: "h" },
1270
- { native: "\u0633\u0627\u0639\u0627\u062A", normalized: "h" },
1285
+ { native: "\u0633\u0627\u0639\u0627\u062A", normalized: "h" }
1271
1286
  // Note: Temporal markers (عندما, حينما, etc.) are in TEMPORAL_MARKERS map
1272
1287
  // with formality metadata, not in ARABIC_EXTRAS
1273
- // Additional spelling variants (without diacritics)
1274
- { native: "\u0628\u062F\u0644", normalized: "toggle" },
1275
- { native: "\u063A\u064A\u0631", normalized: "toggle" },
1276
- { native: "\u0627\u0636\u0641", normalized: "add" },
1277
- { native: "\u0627\u0632\u0644", normalized: "remove" },
1278
- { native: "\u0627\u0636\u0639", normalized: "put" },
1279
- { native: "\u064A\u0636\u0639", normalized: "put" },
1280
- { native: "\u0627\u062C\u0639\u0644", normalized: "put" },
1281
- { native: "\u0639\u064A\u0646", normalized: "set" },
1282
- { native: "\u0632\u062F", normalized: "increment" },
1283
- { native: "\u0627\u0631\u0641\u0639", normalized: "increment" },
1284
- { native: "\u0627\u0646\u0642\u0635", normalized: "decrement" },
1285
- { native: "\u0642\u0644\u0644", normalized: "decrement" },
1286
- { native: "\u0633\u062C\u0644", normalized: "log" },
1287
- { native: "\u0627\u0638\u0647\u0631", normalized: "show" },
1288
- { native: "\u0627\u0639\u0631\u0636", normalized: "show" },
1289
- { native: "\u0627\u062E\u0641", normalized: "hide" },
1290
- { native: "\u0627\u062E\u0641\u064A", normalized: "hide" },
1291
- { native: "\u0634\u063A\u0644", normalized: "trigger" },
1292
- { native: "\u0627\u0631\u0633\u0644", normalized: "send" },
1293
- { native: "\u0631\u0643\u0632", normalized: "focus" },
1294
- { native: "\u0634\u0648\u0634", normalized: "blur" },
1295
- { native: "\u0627\u0630\u0627", normalized: "if" },
1296
- { native: "\u0644\u0648", normalized: "if" },
1297
- { native: "\u0648\u0627\u0644\u0627", normalized: "else" },
1298
- { native: "\u062A\u0648\u0642\u0641", normalized: "halt" },
1299
- { native: "\u0627\u0646\u0633\u062E", normalized: "clone" },
1300
- // Control flow helpers
1301
- { native: "\u0625\u0630\u0646", normalized: "then" },
1302
- { native: "\u0641\u0625\u0646", normalized: "then" },
1303
- { native: "\u0646\u0647\u0627\u064A\u0629", normalized: "end" },
1304
- // Modifiers
1305
- { native: "\u0642\u0628\u0644", normalized: "before" },
1306
- { native: "\u0628\u0639\u062F", normalized: "after" }
1288
+ //
1289
+ // Command spelling variants are now in the profile alternatives:
1290
+ // - toggle: بدل, غيّر, غير (in profile)
1291
+ // - add: اضف, زِد (in profile)
1292
+ // - remove: أزل, امسح (in profile)
1293
+ // - etc.
1307
1294
  ];
1308
1295
  var ARABIC_TIME_UNITS = [
1309
1296
  { pattern: "\u0645\u0644\u064A \u062B\u0627\u0646\u064A\u0629", suffix: "ms", length: 9, caseInsensitive: false },