@lokascript/framework 6.3.0 → 7.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 (283) hide show
  1. package/CHANGELOG.md +104 -1
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/languages/ar.cjs +7 -0
  6. package/dist/languages/ar.cjs.map +1 -0
  7. package/dist/languages/ar.d.ts +49 -0
  8. package/dist/languages/ar.d.ts.map +1 -0
  9. package/dist/languages/ar.js +7 -0
  10. package/dist/languages/ar.js.map +1 -0
  11. package/dist/languages/bn.cjs +7 -0
  12. package/dist/languages/bn.cjs.map +1 -0
  13. package/dist/languages/bn.d.ts +58 -0
  14. package/dist/languages/bn.d.ts.map +1 -0
  15. package/dist/languages/bn.js +7 -0
  16. package/dist/languages/bn.js.map +1 -0
  17. package/dist/languages/chunks/chunk-2Y3XXFQO.cjs +47 -0
  18. package/dist/languages/chunks/chunk-2Y3XXFQO.cjs.map +1 -0
  19. package/dist/languages/chunks/chunk-7JFC6YCG.cjs +38 -0
  20. package/dist/languages/chunks/chunk-7JFC6YCG.cjs.map +1 -0
  21. package/dist/languages/chunks/chunk-7M7D3AZV.js +36 -0
  22. package/dist/languages/chunks/chunk-7M7D3AZV.js.map +1 -0
  23. package/dist/languages/chunks/chunk-BLWOTGS4.cjs +33 -0
  24. package/dist/languages/chunks/chunk-BLWOTGS4.cjs.map +1 -0
  25. package/dist/languages/chunks/chunk-BNU64ZWY.cjs +33 -0
  26. package/dist/languages/chunks/chunk-BNU64ZWY.cjs.map +1 -0
  27. package/dist/languages/chunks/chunk-CCC73SLG.js +33 -0
  28. package/dist/languages/chunks/chunk-CCC73SLG.js.map +1 -0
  29. package/dist/languages/chunks/chunk-CEZSJJBE.js +35 -0
  30. package/dist/languages/chunks/chunk-CEZSJJBE.js.map +1 -0
  31. package/dist/languages/chunks/chunk-CJPWN3UM.cjs +33 -0
  32. package/dist/languages/chunks/chunk-CJPWN3UM.cjs.map +1 -0
  33. package/dist/languages/chunks/chunk-CZUFBVAP.cjs +36 -0
  34. package/dist/languages/chunks/chunk-CZUFBVAP.cjs.map +1 -0
  35. package/dist/languages/chunks/chunk-DFQ7CZ43.js +32 -0
  36. package/dist/languages/chunks/chunk-DFQ7CZ43.js.map +1 -0
  37. package/dist/languages/chunks/chunk-DZIG3L3C.js +33 -0
  38. package/dist/languages/chunks/chunk-DZIG3L3C.js.map +1 -0
  39. package/dist/languages/chunks/chunk-EEEJDKZH.cjs +41 -0
  40. package/dist/languages/chunks/chunk-EEEJDKZH.cjs.map +1 -0
  41. package/dist/languages/chunks/chunk-EH3CS6QF.cjs +39 -0
  42. package/dist/languages/chunks/chunk-EH3CS6QF.cjs.map +1 -0
  43. package/dist/languages/chunks/chunk-EQVZR5WU.js +36 -0
  44. package/dist/languages/chunks/chunk-EQVZR5WU.js.map +1 -0
  45. package/dist/languages/chunks/chunk-EY2I2PZI.cjs +42 -0
  46. package/dist/languages/chunks/chunk-EY2I2PZI.cjs.map +1 -0
  47. package/dist/languages/chunks/chunk-FDD6SCYE.js +38 -0
  48. package/dist/languages/chunks/chunk-FDD6SCYE.js.map +1 -0
  49. package/dist/languages/chunks/chunk-FDL3DCUR.cjs +38 -0
  50. package/dist/languages/chunks/chunk-FDL3DCUR.cjs.map +1 -0
  51. package/dist/languages/chunks/chunk-FQZEBNEC.js +32 -0
  52. package/dist/languages/chunks/chunk-FQZEBNEC.js.map +1 -0
  53. package/dist/languages/chunks/chunk-FXKGDEEF.js +32 -0
  54. package/dist/languages/chunks/chunk-FXKGDEEF.js.map +1 -0
  55. package/dist/languages/chunks/chunk-G727KC5F.js +34 -0
  56. package/dist/languages/chunks/chunk-G727KC5F.js.map +1 -0
  57. package/dist/languages/chunks/chunk-HRTBXKAS.js +34 -0
  58. package/dist/languages/chunks/chunk-HRTBXKAS.js.map +1 -0
  59. package/dist/languages/chunks/chunk-HTWLJAXE.cjs +34 -0
  60. package/dist/languages/chunks/chunk-HTWLJAXE.cjs.map +1 -0
  61. package/dist/languages/chunks/chunk-IG2BHTIU.js +50 -0
  62. package/dist/languages/chunks/chunk-IG2BHTIU.js.map +1 -0
  63. package/dist/languages/chunks/chunk-JJGECSB7.js +44 -0
  64. package/dist/languages/chunks/chunk-JJGECSB7.js.map +1 -0
  65. package/dist/languages/chunks/chunk-KPGJSWSP.js +32 -0
  66. package/dist/languages/chunks/chunk-KPGJSWSP.js.map +1 -0
  67. package/dist/languages/chunks/chunk-LGZCHKVL.cjs +50 -0
  68. package/dist/languages/chunks/chunk-LGZCHKVL.cjs.map +1 -0
  69. package/dist/languages/chunks/chunk-LMRNA2XQ.cjs +35 -0
  70. package/dist/languages/chunks/chunk-LMRNA2XQ.cjs.map +1 -0
  71. package/dist/languages/chunks/chunk-NS4L6RCJ.js +42 -0
  72. package/dist/languages/chunks/chunk-NS4L6RCJ.js.map +1 -0
  73. package/dist/languages/chunks/chunk-OGVDC4MV.js +33 -0
  74. package/dist/languages/chunks/chunk-OGVDC4MV.js.map +1 -0
  75. package/dist/languages/chunks/chunk-OOI6MH2H.js +47 -0
  76. package/dist/languages/chunks/chunk-OOI6MH2H.js.map +1 -0
  77. package/dist/languages/chunks/chunk-OSHTQPFA.js +35 -0
  78. package/dist/languages/chunks/chunk-OSHTQPFA.js.map +1 -0
  79. package/dist/languages/chunks/chunk-P2ONCOPE.js +33 -0
  80. package/dist/languages/chunks/chunk-P2ONCOPE.js.map +1 -0
  81. package/dist/languages/chunks/chunk-PC4BLDMN.js +41 -0
  82. package/dist/languages/chunks/chunk-PC4BLDMN.js.map +1 -0
  83. package/dist/languages/chunks/chunk-Q7Z57FEP.js +39 -0
  84. package/dist/languages/chunks/chunk-Q7Z57FEP.js.map +1 -0
  85. package/dist/languages/chunks/chunk-SFDLZDQC.cjs +36 -0
  86. package/dist/languages/chunks/chunk-SFDLZDQC.cjs.map +1 -0
  87. package/dist/languages/chunks/chunk-SLSZETLO.js +39 -0
  88. package/dist/languages/chunks/chunk-SLSZETLO.js.map +1 -0
  89. package/dist/languages/chunks/chunk-T5QEXBP6.cjs +39 -0
  90. package/dist/languages/chunks/chunk-T5QEXBP6.cjs.map +1 -0
  91. package/dist/languages/chunks/chunk-TM54B2L7.cjs +34 -0
  92. package/dist/languages/chunks/chunk-TM54B2L7.cjs.map +1 -0
  93. package/dist/languages/chunks/chunk-UYYD7BWL.cjs +32 -0
  94. package/dist/languages/chunks/chunk-UYYD7BWL.cjs.map +1 -0
  95. package/dist/languages/chunks/chunk-V3EPOWJS.cjs +32 -0
  96. package/dist/languages/chunks/chunk-V3EPOWJS.cjs.map +1 -0
  97. package/dist/languages/chunks/chunk-W4Y2BHDV.cjs +33 -0
  98. package/dist/languages/chunks/chunk-W4Y2BHDV.cjs.map +1 -0
  99. package/dist/languages/chunks/chunk-W7UIUU64.cjs +32 -0
  100. package/dist/languages/chunks/chunk-W7UIUU64.cjs.map +1 -0
  101. package/dist/languages/chunks/chunk-WOTY3GYE.cjs +44 -0
  102. package/dist/languages/chunks/chunk-WOTY3GYE.cjs.map +1 -0
  103. package/dist/languages/chunks/chunk-WYH4M6NK.js +78 -0
  104. package/dist/languages/chunks/chunk-WYH4M6NK.js.map +1 -0
  105. package/dist/languages/chunks/chunk-XFSNOEMB.cjs +32 -0
  106. package/dist/languages/chunks/chunk-XFSNOEMB.cjs.map +1 -0
  107. package/dist/languages/chunks/chunk-XHHTLZRZ.cjs +78 -0
  108. package/dist/languages/chunks/chunk-XHHTLZRZ.cjs.map +1 -0
  109. package/dist/languages/chunks/chunk-YTZILXWL.cjs +35 -0
  110. package/dist/languages/chunks/chunk-YTZILXWL.cjs.map +1 -0
  111. package/dist/languages/chunks/chunk-ZLMXABY7.js +38 -0
  112. package/dist/languages/chunks/chunk-ZLMXABY7.js.map +1 -0
  113. package/dist/languages/de.cjs +7 -0
  114. package/dist/languages/de.cjs.map +1 -0
  115. package/dist/languages/de.d.ts +47 -0
  116. package/dist/languages/de.d.ts.map +1 -0
  117. package/dist/languages/de.js +7 -0
  118. package/dist/languages/de.js.map +1 -0
  119. package/dist/languages/en.cjs +7 -0
  120. package/dist/languages/en.cjs.map +1 -0
  121. package/dist/languages/en.d.ts +54 -0
  122. package/dist/languages/en.d.ts.map +1 -0
  123. package/dist/languages/en.js +7 -0
  124. package/dist/languages/en.js.map +1 -0
  125. package/dist/languages/es.cjs +7 -0
  126. package/dist/languages/es.cjs.map +1 -0
  127. package/dist/languages/es.d.ts +47 -0
  128. package/dist/languages/es.d.ts.map +1 -0
  129. package/dist/languages/es.js +7 -0
  130. package/dist/languages/es.js.map +1 -0
  131. package/dist/languages/fr.cjs +7 -0
  132. package/dist/languages/fr.cjs.map +1 -0
  133. package/dist/languages/fr.d.ts +47 -0
  134. package/dist/languages/fr.d.ts.map +1 -0
  135. package/dist/languages/fr.js +7 -0
  136. package/dist/languages/fr.js.map +1 -0
  137. package/dist/languages/he.cjs +7 -0
  138. package/dist/languages/he.cjs.map +1 -0
  139. package/dist/languages/he.d.ts +51 -0
  140. package/dist/languages/he.d.ts.map +1 -0
  141. package/dist/languages/he.js +7 -0
  142. package/dist/languages/he.js.map +1 -0
  143. package/dist/languages/hi.cjs +7 -0
  144. package/dist/languages/hi.cjs.map +1 -0
  145. package/dist/languages/hi.d.ts +54 -0
  146. package/dist/languages/hi.d.ts.map +1 -0
  147. package/dist/languages/hi.js +7 -0
  148. package/dist/languages/hi.js.map +1 -0
  149. package/dist/languages/id.cjs +7 -0
  150. package/dist/languages/id.cjs.map +1 -0
  151. package/dist/languages/id.d.ts +45 -0
  152. package/dist/languages/id.d.ts.map +1 -0
  153. package/dist/languages/id.js +7 -0
  154. package/dist/languages/id.js.map +1 -0
  155. package/dist/languages/index.cjs +99 -0
  156. package/dist/languages/index.cjs.map +1 -0
  157. package/dist/languages/index.d.ts +30 -0
  158. package/dist/languages/index.d.ts.map +1 -0
  159. package/dist/languages/index.js +99 -0
  160. package/dist/languages/index.js.map +1 -0
  161. package/dist/languages/it.cjs +7 -0
  162. package/dist/languages/it.cjs.map +1 -0
  163. package/dist/languages/it.d.ts +48 -0
  164. package/dist/languages/it.d.ts.map +1 -0
  165. package/dist/languages/it.js +7 -0
  166. package/dist/languages/it.js.map +1 -0
  167. package/dist/languages/ja.cjs +7 -0
  168. package/dist/languages/ja.cjs.map +1 -0
  169. package/dist/languages/ja.d.ts +58 -0
  170. package/dist/languages/ja.d.ts.map +1 -0
  171. package/dist/languages/ja.js +7 -0
  172. package/dist/languages/ja.js.map +1 -0
  173. package/dist/languages/ko.cjs +7 -0
  174. package/dist/languages/ko.cjs.map +1 -0
  175. package/dist/languages/ko.d.ts +61 -0
  176. package/dist/languages/ko.d.ts.map +1 -0
  177. package/dist/languages/ko.js +7 -0
  178. package/dist/languages/ko.js.map +1 -0
  179. package/dist/languages/ms.cjs +7 -0
  180. package/dist/languages/ms.cjs.map +1 -0
  181. package/dist/languages/ms.d.ts +44 -0
  182. package/dist/languages/ms.d.ts.map +1 -0
  183. package/dist/languages/ms.js +7 -0
  184. package/dist/languages/ms.js.map +1 -0
  185. package/dist/languages/pl.cjs +7 -0
  186. package/dist/languages/pl.cjs.map +1 -0
  187. package/dist/languages/pl.d.ts +50 -0
  188. package/dist/languages/pl.d.ts.map +1 -0
  189. package/dist/languages/pl.js +7 -0
  190. package/dist/languages/pl.js.map +1 -0
  191. package/dist/languages/pt.cjs +7 -0
  192. package/dist/languages/pt.cjs.map +1 -0
  193. package/dist/languages/pt.d.ts +46 -0
  194. package/dist/languages/pt.d.ts.map +1 -0
  195. package/dist/languages/pt.js +7 -0
  196. package/dist/languages/pt.js.map +1 -0
  197. package/dist/languages/qu.cjs +7 -0
  198. package/dist/languages/qu.cjs.map +1 -0
  199. package/dist/languages/qu.d.ts +48 -0
  200. package/dist/languages/qu.d.ts.map +1 -0
  201. package/dist/languages/qu.js +7 -0
  202. package/dist/languages/qu.js.map +1 -0
  203. package/dist/languages/ru.cjs +7 -0
  204. package/dist/languages/ru.cjs.map +1 -0
  205. package/dist/languages/ru.d.ts +50 -0
  206. package/dist/languages/ru.d.ts.map +1 -0
  207. package/dist/languages/ru.js +7 -0
  208. package/dist/languages/ru.js.map +1 -0
  209. package/dist/languages/sw.cjs +7 -0
  210. package/dist/languages/sw.cjs.map +1 -0
  211. package/dist/languages/sw.d.ts +45 -0
  212. package/dist/languages/sw.d.ts.map +1 -0
  213. package/dist/languages/sw.js +7 -0
  214. package/dist/languages/sw.js.map +1 -0
  215. package/dist/languages/th.cjs +7 -0
  216. package/dist/languages/th.cjs.map +1 -0
  217. package/dist/languages/th.d.ts +48 -0
  218. package/dist/languages/th.d.ts.map +1 -0
  219. package/dist/languages/th.js +7 -0
  220. package/dist/languages/th.js.map +1 -0
  221. package/dist/languages/tl.cjs +7 -0
  222. package/dist/languages/tl.cjs.map +1 -0
  223. package/dist/languages/tl.d.ts +44 -0
  224. package/dist/languages/tl.d.ts.map +1 -0
  225. package/dist/languages/tl.js +7 -0
  226. package/dist/languages/tl.js.map +1 -0
  227. package/dist/languages/tr.cjs +7 -0
  228. package/dist/languages/tr.cjs.map +1 -0
  229. package/dist/languages/tr.d.ts +57 -0
  230. package/dist/languages/tr.d.ts.map +1 -0
  231. package/dist/languages/tr.js +7 -0
  232. package/dist/languages/tr.js.map +1 -0
  233. package/dist/languages/types.d.ts +137 -0
  234. package/dist/languages/types.d.ts.map +1 -0
  235. package/dist/languages/uk.cjs +7 -0
  236. package/dist/languages/uk.cjs.map +1 -0
  237. package/dist/languages/uk.d.ts +50 -0
  238. package/dist/languages/uk.d.ts.map +1 -0
  239. package/dist/languages/uk.js +7 -0
  240. package/dist/languages/uk.js.map +1 -0
  241. package/dist/languages/vi.cjs +7 -0
  242. package/dist/languages/vi.cjs.map +1 -0
  243. package/dist/languages/vi.d.ts +47 -0
  244. package/dist/languages/vi.d.ts.map +1 -0
  245. package/dist/languages/vi.js +7 -0
  246. package/dist/languages/vi.js.map +1 -0
  247. package/dist/languages/zh.cjs +7 -0
  248. package/dist/languages/zh.cjs.map +1 -0
  249. package/dist/languages/zh.d.ts +49 -0
  250. package/dist/languages/zh.d.ts.map +1 -0
  251. package/dist/languages/zh.js +7 -0
  252. package/dist/languages/zh.js.map +1 -0
  253. package/dist/testing/index.js +1416 -930
  254. package/dist/testing/index.js.map +1 -1
  255. package/package.json +130 -5
  256. package/src/index.ts +2 -0
  257. package/src/languages/ar.ts +41 -0
  258. package/src/languages/bn.ts +45 -0
  259. package/src/languages/de.ts +37 -0
  260. package/src/languages/en.ts +36 -0
  261. package/src/languages/es.ts +40 -0
  262. package/src/languages/fr.ts +36 -0
  263. package/src/languages/he.ts +38 -0
  264. package/src/languages/hi.ts +44 -0
  265. package/src/languages/id.ts +34 -0
  266. package/src/languages/index.ts +42 -0
  267. package/src/languages/it.ts +38 -0
  268. package/src/languages/ja.ts +49 -0
  269. package/src/languages/ko.ts +50 -0
  270. package/src/languages/languages.test.ts +57 -0
  271. package/src/languages/ms.ts +33 -0
  272. package/src/languages/pl.ts +39 -0
  273. package/src/languages/pt.ts +34 -0
  274. package/src/languages/qu.ts +34 -0
  275. package/src/languages/ru.ts +37 -0
  276. package/src/languages/sw.ts +34 -0
  277. package/src/languages/th.ts +44 -0
  278. package/src/languages/tl.ts +37 -0
  279. package/src/languages/tr.ts +76 -0
  280. package/src/languages/types.ts +145 -0
  281. package/src/languages/uk.ts +37 -0
  282. package/src/languages/vi.ts +36 -0
  283. package/src/languages/zh.ts +36 -0
@@ -0,0 +1,44 @@
1
+ // src/languages/th.ts
2
+ var thaiGrammar = {
3
+ code: "th",
4
+ name: "Thai",
5
+ nativeName: "\u0E44\u0E17\u0E22",
6
+ direction: "ltr",
7
+ script: "thai",
8
+ wordOrder: "SVO",
9
+ markingStrategy: "preposition",
10
+ usesSpaces: false,
11
+ // Thai doesn't use spaces between words
12
+ defaultVerbForm: "base",
13
+ verb: {
14
+ position: "second",
15
+ subjectDrop: true
16
+ },
17
+ possessive: {
18
+ marker: "\u0E02\u0E2D\u0E07",
19
+ markerPosition: "between"
20
+ },
21
+ roleMarkers: {
22
+ patient: { primary: "", position: "before" },
23
+ // Thai is isolating - no case markers
24
+ destination: { primary: "\u0E43\u0E19", alternatives: ["\u0E44\u0E1B\u0E22\u0E31\u0E07"], position: "before" },
25
+ source: { primary: "\u0E08\u0E32\u0E01", position: "before" },
26
+ style: { primary: "\u0E14\u0E49\u0E27\u0E22", position: "before" }
27
+ // No `event` role marker: a command's event argument (`trigger foo` /
28
+ // `send foo`) is an UNMARKED object in Thai, like every other SVO profile
29
+ // (es/zh/id/…). `เมื่อ` is the temporal "when/on" marker and belongs only on
30
+ // the event-HANDLER head — which uses `eventHandler.eventMarker` (below),
31
+ // not this role marker. Carrying it here generated `ทริกเกอร์ เมื่อ {event}`,
32
+ // which never matched the transformer's `ทริกเกอร์ {event}` → trigger/send
33
+ // dropped (th behavior-draggable/removable/resizable/sortable lossy).
34
+ },
35
+ tokenization: {
36
+ boundaryStrategy: "character"
37
+ // Character-based like Chinese/Japanese
38
+ }
39
+ };
40
+
41
+ export {
42
+ thaiGrammar
43
+ };
44
+ //# sourceMappingURL=chunk-JJGECSB7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/languages/th.ts"],"sourcesContent":["/**\n * Thai Grammar\n *\n * SVO word order, prepositions, Thai script.\n * Isolating language (like Chinese) with no inflection.\n */\n\nimport type { GrammarProfile } from './types';\n\nexport const thaiGrammar = {\n code: 'th',\n name: 'Thai',\n nativeName: 'ไทย',\n direction: 'ltr',\n script: 'thai',\n wordOrder: 'SVO',\n markingStrategy: 'preposition',\n usesSpaces: false, // Thai doesn't use spaces between words\n defaultVerbForm: 'base',\n verb: {\n position: 'second',\n subjectDrop: true,\n },\n possessive: {\n marker: 'ของ',\n markerPosition: 'between',\n },\n roleMarkers: {\n patient: { primary: '', position: 'before' }, // Thai is isolating - no case markers\n destination: { primary: 'ใน', alternatives: ['ไปยัง'], position: 'before' },\n source: { primary: 'จาก', position: 'before' },\n style: { primary: 'ด้วย', position: 'before' },\n // No `event` role marker: a command's event argument (`trigger foo` /\n // `send foo`) is an UNMARKED object in Thai, like every other SVO profile\n // (es/zh/id/…). `เมื่อ` is the temporal \"when/on\" marker and belongs only on\n // the event-HANDLER head — which uses `eventHandler.eventMarker` (below),\n // not this role marker. Carrying it here generated `ทริกเกอร์ เมื่อ {event}`,\n // which never matched the transformer's `ทริกเกอร์ {event}` → trigger/send\n // dropped (th behavior-draggable/removable/resizable/sortable lossy).\n },\n tokenization: {\n boundaryStrategy: 'character', // Character-based like Chinese/Japanese\n },\n} satisfies GrammarProfile;\n"],"mappings":";AASO,IAAM,cAAc;AAAA,EACzB,MAAM;AAAA,EACN,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,YAAY;AAAA;AAAA,EACZ,iBAAiB;AAAA,EACjB,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA,IACR,gBAAgB;AAAA,EAClB;AAAA,EACA,aAAa;AAAA,IACX,SAAS,EAAE,SAAS,IAAI,UAAU,SAAS;AAAA;AAAA,IAC3C,aAAa,EAAE,SAAS,gBAAM,cAAc,CAAC,gCAAO,GAAG,UAAU,SAAS;AAAA,IAC1E,QAAQ,EAAE,SAAS,sBAAO,UAAU,SAAS;AAAA,IAC7C,OAAO,EAAE,SAAS,4BAAQ,UAAU,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/C;AAAA,EACA,cAAc;AAAA,IACZ,kBAAkB;AAAA;AAAA,EACpB;AACF;","names":[]}
@@ -0,0 +1,32 @@
1
+ // src/languages/ms.ts
2
+ var malayGrammar = {
3
+ code: "ms",
4
+ name: "Malay",
5
+ nativeName: "Melayu",
6
+ direction: "ltr",
7
+ script: "latin",
8
+ wordOrder: "SVO",
9
+ markingStrategy: "preposition",
10
+ usesSpaces: true,
11
+ defaultVerbForm: "base",
12
+ verb: {
13
+ position: "start",
14
+ subjectDrop: true
15
+ },
16
+ possessive: {
17
+ marker: "",
18
+ // Malay often uses suffix or juxtaposition
19
+ markerPosition: "after-object"
20
+ },
21
+ roleMarkers: {
22
+ destination: { primary: "ke", alternatives: ["pada"], position: "before" },
23
+ source: { primary: "dari", position: "before" },
24
+ patient: { primary: "", position: "before" },
25
+ style: { primary: "dengan", position: "before" }
26
+ }
27
+ };
28
+
29
+ export {
30
+ malayGrammar
31
+ };
32
+ //# sourceMappingURL=chunk-KPGJSWSP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/languages/ms.ts"],"sourcesContent":["/**\n * Malay Grammar\n *\n * SVO word order, prepositions, space-separated.\n */\n\nimport type { GrammarProfile } from './types';\n\nexport const malayGrammar = {\n code: 'ms',\n name: 'Malay',\n nativeName: 'Melayu',\n direction: 'ltr',\n script: 'latin',\n wordOrder: 'SVO',\n markingStrategy: 'preposition',\n usesSpaces: true,\n defaultVerbForm: 'base',\n verb: {\n position: 'start',\n subjectDrop: true,\n },\n possessive: {\n marker: '', // Malay often uses suffix or juxtaposition\n markerPosition: 'after-object',\n },\n roleMarkers: {\n destination: { primary: 'ke', alternatives: ['pada'], position: 'before' },\n source: { primary: 'dari', position: 'before' },\n patient: { primary: '', position: 'before' },\n style: { primary: 'dengan', position: 'before' },\n },\n} satisfies GrammarProfile;\n"],"mappings":";AAQO,IAAM,eAAe;AAAA,EAC1B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA;AAAA,IACR,gBAAgB;AAAA,EAClB;AAAA,EACA,aAAa;AAAA,IACX,aAAa,EAAE,SAAS,MAAM,cAAc,CAAC,MAAM,GAAG,UAAU,SAAS;AAAA,IACzE,QAAQ,EAAE,SAAS,QAAQ,UAAU,SAAS;AAAA,IAC9C,SAAS,EAAE,SAAS,IAAI,UAAU,SAAS;AAAA,IAC3C,OAAO,EAAE,SAAS,UAAU,UAAU,SAAS;AAAA,EACjD;AACF;","names":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/languages/ko.ts
2
+ var koreanGrammar = {
3
+ code: "ko",
4
+ name: "Korean",
5
+ nativeName: "\uD55C\uAD6D\uC5B4",
6
+ direction: "ltr",
7
+ script: "hangul",
8
+ wordOrder: "SOV",
9
+ markingStrategy: "particle",
10
+ usesSpaces: true,
11
+ // Korean uses spaces between words, but particles attach
12
+ verb: {
13
+ position: "end",
14
+ suffixes: ["\uB2E4", "\uC694", "\uB2C8\uB2E4", "\uC138\uC694"],
15
+ subjectDrop: true
16
+ },
17
+ possessive: {
18
+ marker: "\uC758",
19
+ // Possessive particle
20
+ markerPosition: "between"
21
+ },
22
+ roleMarkers: {
23
+ patient: { primary: "\uC744", alternatives: ["\uB97C"], position: "after" },
24
+ // 에서 is deliberately NOT a destination alternative: it is the SOURCE
25
+ // primary ("at/from"), and listing it here let an unconsumed wait-line
26
+ // tail (`문서 에서` — from document) satisfy the next SOV clause's
27
+ // optional destination group (behavior-draggable's add captured
28
+ // destination=문서 instead of the schema `me` default). A real Korean
29
+ // destination renders 에/으로/로/의.
30
+ destination: { primary: "\uC5D0", alternatives: ["\uC73C\uB85C", "\uB85C", "\uC758"], position: "after" },
31
+ source: { primary: "\uC5D0\uC11C", alternatives: ["\uBD80\uD130"], position: "after" },
32
+ style: { primary: "\uB85C", alternatives: ["\uC73C\uB85C"], position: "after" },
33
+ event: { primary: "\uC744", alternatives: ["\uB97C"], position: "after" }
34
+ // Event as object marker
35
+ },
36
+ tokenization: {
37
+ particles: ["\uC744", "\uB97C", "\uC774", "\uAC00", "\uC740", "\uB294", "\uC5D0", "\uC5D0\uC11C", "\uC73C\uB85C", "\uB85C", "\uC640", "\uACFC", "\uB3C4"],
38
+ boundaryStrategy: "space"
39
+ },
40
+ // Korean writes a particle onto its noun (`#out에`, `나를`; M2 N5).
41
+ attachedMarkers: {
42
+ markers: ["\uC744", "\uB97C", "\uC5D0", "\uC73C\uB85C", "\uB85C", "\uC758", "\uC5D0\uC11C", "\uBD80\uD130", "\uC5D0\uAC8C"],
43
+ afterWords: "all"
44
+ }
45
+ };
46
+
47
+
48
+
49
+ exports.koreanGrammar = koreanGrammar;
50
+ //# sourceMappingURL=chunk-LGZCHKVL.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/hyperfixi/hyperfixi/packages/framework/dist/languages/chunks/chunk-LGZCHKVL.cjs","../../../src/languages/ko.ts"],"names":[],"mappings":"AAAA;ACSO,IAAM,cAAA,EAAgB;AAAA,EAC3B,IAAA,EAAM,IAAA;AAAA,EACN,IAAA,EAAM,QAAA;AAAA,EACN,UAAA,EAAY,oBAAA;AAAA,EACZ,SAAA,EAAW,KAAA;AAAA,EACX,MAAA,EAAQ,QAAA;AAAA,EACR,SAAA,EAAW,KAAA;AAAA,EACX,eAAA,EAAiB,UAAA;AAAA,EACjB,UAAA,EAAY,IAAA;AAAA;AAAA,EACZ,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,KAAA;AAAA,IACV,QAAA,EAAU,CAAC,QAAA,EAAK,QAAA,EAAK,cAAA,EAAM,cAAI,CAAA;AAAA,IAC/B,WAAA,EAAa;AAAA,EACf,CAAA;AAAA,EACA,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ,QAAA;AAAA;AAAA,IACR,cAAA,EAAgB;AAAA,EAClB,CAAA;AAAA,EACA,WAAA,EAAa;AAAA,IACX,OAAA,EAAS,EAAE,OAAA,EAAS,QAAA,EAAK,YAAA,EAAc,CAAC,QAAG,CAAA,EAAG,QAAA,EAAU,QAAQ,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOhE,WAAA,EAAa,EAAE,OAAA,EAAS,QAAA,EAAK,YAAA,EAAc,CAAC,cAAA,EAAM,QAAA,EAAK,QAAG,CAAA,EAAG,QAAA,EAAU,QAAQ,CAAA;AAAA,IAC/E,MAAA,EAAQ,EAAE,OAAA,EAAS,cAAA,EAAM,YAAA,EAAc,CAAC,cAAI,CAAA,EAAG,QAAA,EAAU,QAAQ,CAAA;AAAA,IACjE,KAAA,EAAO,EAAE,OAAA,EAAS,QAAA,EAAK,YAAA,EAAc,CAAC,cAAI,CAAA,EAAG,QAAA,EAAU,QAAQ,CAAA;AAAA,IAC/D,KAAA,EAAO,EAAE,OAAA,EAAS,QAAA,EAAK,YAAA,EAAc,CAAC,QAAG,CAAA,EAAG,QAAA,EAAU,QAAQ;AAAA;AAAA,EAChE,CAAA;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,SAAA,EAAW,CAAC,QAAA,EAAK,QAAA,EAAK,QAAA,EAAK,QAAA,EAAK,QAAA,EAAK,QAAA,EAAK,QAAA,EAAK,cAAA,EAAM,cAAA,EAAM,QAAA,EAAK,QAAA,EAAK,QAAA,EAAK,QAAG,CAAA;AAAA,IAC7E,gBAAA,EAAkB;AAAA,EACpB,CAAA;AAAA;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS,CAAC,QAAA,EAAK,QAAA,EAAK,QAAA,EAAK,cAAA,EAAM,QAAA,EAAK,QAAA,EAAK,cAAA,EAAM,cAAA,EAAM,cAAI,CAAA;AAAA,IACzD,UAAA,EAAY;AAAA,EACd;AACF,CAAA;ADJA;AACA;AACE;AACF,sCAAC","file":"/home/runner/work/hyperfixi/hyperfixi/packages/framework/dist/languages/chunks/chunk-LGZCHKVL.cjs","sourcesContent":[null,"/**\n * Korean Grammar\n *\n * SOV word order, particles (을/를, 에, 에서, etc.), space-separated between words.\n * Agglutinative language with particles attaching to words.\n */\n\nimport type { GrammarProfile } from './types';\n\nexport const koreanGrammar = {\n code: 'ko',\n name: 'Korean',\n nativeName: '한국어',\n direction: 'ltr',\n script: 'hangul',\n wordOrder: 'SOV',\n markingStrategy: 'particle',\n usesSpaces: true, // Korean uses spaces between words, but particles attach\n verb: {\n position: 'end',\n suffixes: ['다', '요', '니다', '세요'],\n subjectDrop: true,\n },\n possessive: {\n marker: '의', // Possessive particle\n markerPosition: 'between',\n },\n roleMarkers: {\n patient: { primary: '을', alternatives: ['를'], position: 'after' },\n // 에서 is deliberately NOT a destination alternative: it is the SOURCE\n // primary (\"at/from\"), and listing it here let an unconsumed wait-line\n // tail (`문서 에서` — from document) satisfy the next SOV clause's\n // optional destination group (behavior-draggable's add captured\n // destination=문서 instead of the schema `me` default). A real Korean\n // destination renders 에/으로/로/의.\n destination: { primary: '에', alternatives: ['으로', '로', '의'], position: 'after' },\n source: { primary: '에서', alternatives: ['부터'], position: 'after' },\n style: { primary: '로', alternatives: ['으로'], position: 'after' },\n event: { primary: '을', alternatives: ['를'], position: 'after' }, // Event as object marker\n },\n tokenization: {\n particles: ['을', '를', '이', '가', '은', '는', '에', '에서', '으로', '로', '와', '과', '도'],\n boundaryStrategy: 'space',\n },\n // Korean writes a particle onto its noun (`#out에`, `나를`; M2 N5).\n attachedMarkers: {\n markers: ['을', '를', '에', '으로', '로', '의', '에서', '부터', '에게'],\n afterWords: 'all',\n },\n} satisfies GrammarProfile;\n"]}
@@ -0,0 +1,35 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/languages/it.ts
2
+ var italianGrammar = {
3
+ code: "it",
4
+ name: "Italian",
5
+ nativeName: "Italiano",
6
+ direction: "ltr",
7
+ script: "latin",
8
+ wordOrder: "SVO",
9
+ markingStrategy: "preposition",
10
+ usesSpaces: true,
11
+ // Infinitive is standard for Italian software UI (Salvare, Annullare, Aprire)
12
+ // This matches macOS, Windows, and web app conventions
13
+ defaultVerbForm: "infinitive",
14
+ verb: {
15
+ position: "start",
16
+ subjectDrop: true
17
+ },
18
+ possessive: {
19
+ marker: "di",
20
+ // Italian uses "di" for general possession
21
+ markerPosition: "before-property",
22
+ usePossessiveAdjectives: true
23
+ },
24
+ roleMarkers: {
25
+ destination: { primary: "in", alternatives: ["su", "a"], position: "before" },
26
+ source: { primary: "da", alternatives: ["di"], position: "before" },
27
+ patient: { primary: "", position: "before" },
28
+ style: { primary: "con", position: "before" }
29
+ }
30
+ };
31
+
32
+
33
+
34
+ exports.italianGrammar = italianGrammar;
35
+ //# sourceMappingURL=chunk-LMRNA2XQ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/hyperfixi/hyperfixi/packages/framework/dist/languages/chunks/chunk-LMRNA2XQ.cjs","../../../src/languages/it.ts"],"names":[],"mappings":"AAAA;ACUO,IAAM,eAAA,EAAiB;AAAA,EAC5B,IAAA,EAAM,IAAA;AAAA,EACN,IAAA,EAAM,SAAA;AAAA,EACN,UAAA,EAAY,UAAA;AAAA,EACZ,SAAA,EAAW,KAAA;AAAA,EACX,MAAA,EAAQ,OAAA;AAAA,EACR,SAAA,EAAW,KAAA;AAAA,EACX,eAAA,EAAiB,aAAA;AAAA,EACjB,UAAA,EAAY,IAAA;AAAA;AAAA;AAAA,EAGZ,eAAA,EAAiB,YAAA;AAAA,EACjB,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,OAAA;AAAA,IACV,WAAA,EAAa;AAAA,EACf,CAAA;AAAA,EACA,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ,IAAA;AAAA;AAAA,IACR,cAAA,EAAgB,iBAAA;AAAA,IAChB,uBAAA,EAAyB;AAAA,EAC3B,CAAA;AAAA,EACA,WAAA,EAAa;AAAA,IACX,WAAA,EAAa,EAAE,OAAA,EAAS,IAAA,EAAM,YAAA,EAAc,CAAC,IAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAU,SAAS,CAAA;AAAA,IAC5E,MAAA,EAAQ,EAAE,OAAA,EAAS,IAAA,EAAM,YAAA,EAAc,CAAC,IAAI,CAAA,EAAG,QAAA,EAAU,SAAS,CAAA;AAAA,IAClE,OAAA,EAAS,EAAE,OAAA,EAAS,EAAA,EAAI,QAAA,EAAU,SAAS,CAAA;AAAA,IAC3C,KAAA,EAAO,EAAE,OAAA,EAAS,KAAA,EAAO,QAAA,EAAU,SAAS;AAAA,EAC9C;AACF,CAAA;ADPA;AACA;AACE;AACF,wCAAC","file":"/home/runner/work/hyperfixi/hyperfixi/packages/framework/dist/languages/chunks/chunk-LMRNA2XQ.cjs","sourcesContent":[null,"/**\n * Italian Grammar\n *\n * SVO word order, prepositions, space-separated.\n * Features rich verb conjugation with pro-drop (subject omission).\n * Very similar to Spanish but with Italian-specific vocabulary.\n */\n\nimport type { GrammarProfile } from './types';\n\nexport const italianGrammar = {\n code: 'it',\n name: 'Italian',\n nativeName: 'Italiano',\n direction: 'ltr',\n script: 'latin',\n wordOrder: 'SVO',\n markingStrategy: 'preposition',\n usesSpaces: true,\n // Infinitive is standard for Italian software UI (Salvare, Annullare, Aprire)\n // This matches macOS, Windows, and web app conventions\n defaultVerbForm: 'infinitive',\n verb: {\n position: 'start',\n subjectDrop: true,\n },\n possessive: {\n marker: 'di', // Italian uses \"di\" for general possession\n markerPosition: 'before-property',\n usePossessiveAdjectives: true,\n },\n roleMarkers: {\n destination: { primary: 'in', alternatives: ['su', 'a'], position: 'before' },\n source: { primary: 'da', alternatives: ['di'], position: 'before' },\n patient: { primary: '', position: 'before' },\n style: { primary: 'con', position: 'before' },\n },\n} satisfies GrammarProfile;\n"]}
@@ -0,0 +1,42 @@
1
+ // src/languages/bn.ts
2
+ var bengaliGrammar = {
3
+ code: "bn",
4
+ name: "Bengali",
5
+ nativeName: "\u09AC\u09BE\u0982\u09B2\u09BE",
6
+ direction: "ltr",
7
+ script: "bengali",
8
+ wordOrder: "SOV",
9
+ markingStrategy: "postposition",
10
+ usesSpaces: true,
11
+ defaultVerbForm: "imperative",
12
+ verb: {
13
+ position: "end",
14
+ suffixes: ["\u09C1\u09A8", "\u09CB", "\u09BE", "\u09C7", "\u09BF"],
15
+ subjectDrop: true
16
+ },
17
+ possessive: {
18
+ marker: "\u09B0",
19
+ markerPosition: "between"
20
+ },
21
+ roleMarkers: {
22
+ patient: { primary: "\u0995\u09C7", position: "after" },
23
+ destination: { primary: "\u09A4\u09C7", alternatives: ["\u098F"], position: "after" },
24
+ source: { primary: "\u09A5\u09C7\u0995\u09C7", position: "after" },
25
+ style: { primary: "\u09A6\u09BF\u09AF\u09BC\u09C7", position: "after" },
26
+ event: { primary: "\u09A4\u09C7", position: "after" }
27
+ },
28
+ tokenization: {
29
+ particles: ["\u0995\u09C7", "\u09A4\u09C7", "\u09A5\u09C7\u0995\u09C7", "\u09B0", "\u098F\u09B0", "\u09A6\u09BF\u09AF\u09BC\u09C7", "\u099C\u09A8\u09CD\u09AF", "\u09AA\u09B0\u09CD\u09AF\u09A8\u09CD\u09A4"],
30
+ boundaryStrategy: "space"
31
+ },
32
+ // Bengali writes a case ending onto its noun (`#outকে`, `#outএ`; M2 N5).
33
+ // After a Bengali word only `কে`, which never changes: the locative is `তে`
34
+ // after a vowel and the vowel sign `ে` after a consonant (`ক্লিকে`), which
35
+ // the reader does not split.
36
+ attachedMarkers: { markers: ["\u0995\u09C7", "\u09A4\u09C7", "\u098F"], afterWords: ["\u0995\u09C7"] }
37
+ };
38
+
39
+ export {
40
+ bengaliGrammar
41
+ };
42
+ //# sourceMappingURL=chunk-NS4L6RCJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/languages/bn.ts"],"sourcesContent":["/**\n * Bengali Grammar\n *\n * SOV word order, postpositions (কে, তে, থেকে, etc.), Bengali script.\n * Agglutinative language similar to Hindi.\n */\n\nimport type { GrammarProfile } from './types';\n\nexport const bengaliGrammar = {\n code: 'bn',\n name: 'Bengali',\n nativeName: 'বাংলা',\n direction: 'ltr',\n script: 'bengali',\n wordOrder: 'SOV',\n markingStrategy: 'postposition',\n usesSpaces: true,\n defaultVerbForm: 'imperative',\n verb: {\n position: 'end',\n suffixes: ['ুন', 'ো', 'া', 'ে', 'ি'],\n subjectDrop: true,\n },\n possessive: {\n marker: 'র',\n markerPosition: 'between',\n },\n roleMarkers: {\n patient: { primary: 'কে', position: 'after' },\n destination: { primary: 'তে', alternatives: ['এ'], position: 'after' },\n source: { primary: 'থেকে', position: 'after' },\n style: { primary: 'দিয়ে', position: 'after' },\n event: { primary: 'তে', position: 'after' },\n },\n tokenization: {\n particles: ['কে', 'তে', 'থেকে', 'র', 'এর', 'দিয়ে', 'জন্য', 'পর্যন্ত'],\n boundaryStrategy: 'space',\n },\n // Bengali writes a case ending onto its noun (`#outকে`, `#outএ`; M2 N5).\n // After a Bengali word only `কে`, which never changes: the locative is `তে`\n // after a vowel and the vowel sign `ে` after a consonant (`ক্লিকে`), which\n // the reader does not split.\n attachedMarkers: { markers: ['কে', 'তে', 'এ'], afterWords: ['কে'] },\n} satisfies GrammarProfile;\n"],"mappings":";AASO,IAAM,iBAAiB;AAAA,EAC5B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,UAAU,CAAC,gBAAM,UAAK,UAAK,UAAK,QAAG;AAAA,IACnC,aAAa;AAAA,EACf;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA,IACR,gBAAgB;AAAA,EAClB;AAAA,EACA,aAAa;AAAA,IACX,SAAS,EAAE,SAAS,gBAAM,UAAU,QAAQ;AAAA,IAC5C,aAAa,EAAE,SAAS,gBAAM,cAAc,CAAC,QAAG,GAAG,UAAU,QAAQ;AAAA,IACrE,QAAQ,EAAE,SAAS,4BAAQ,UAAU,QAAQ;AAAA,IAC7C,OAAO,EAAE,SAAS,kCAAS,UAAU,QAAQ;AAAA,IAC7C,OAAO,EAAE,SAAS,gBAAM,UAAU,QAAQ;AAAA,EAC5C;AAAA,EACA,cAAc;AAAA,IACZ,WAAW,CAAC,gBAAM,gBAAM,4BAAQ,UAAK,gBAAM,kCAAS,4BAAQ,4CAAS;AAAA,IACrE,kBAAkB;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,iBAAiB,EAAE,SAAS,CAAC,gBAAM,gBAAM,QAAG,GAAG,YAAY,CAAC,cAAI,EAAE;AACpE;","names":[]}
@@ -0,0 +1,33 @@
1
+ // src/languages/qu.ts
2
+ var quechuaGrammar = {
3
+ code: "qu",
4
+ name: "Quechua",
5
+ nativeName: "Runasimi",
6
+ direction: "ltr",
7
+ script: "latin",
8
+ wordOrder: "SOV",
9
+ markingStrategy: "postposition",
10
+ usesSpaces: true,
11
+ verb: {
12
+ position: "end",
13
+ subjectDrop: true
14
+ },
15
+ possessive: {
16
+ marker: "-pa",
17
+ // Genitive suffix
18
+ markerPosition: "after-object"
19
+ },
20
+ roleMarkers: {
21
+ patient: { primary: "ta", position: "after" },
22
+ destination: { primary: "man", alternatives: ["pa"], position: "after" },
23
+ source: { primary: "manta", position: "after" },
24
+ style: { primary: "wan", position: "after" },
25
+ event: { primary: "pi", position: "after" }
26
+ // Locative: event occurs "at" (pi)
27
+ }
28
+ };
29
+
30
+ export {
31
+ quechuaGrammar
32
+ };
33
+ //# sourceMappingURL=chunk-OGVDC4MV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/languages/qu.ts"],"sourcesContent":["/**\n * Quechua Grammar\n *\n * SOV word order, postpositions (suffixes), polysynthetic/agglutinative.\n * Indigenous language of the Andean region with rich morphology.\n */\n\nimport type { GrammarProfile } from './types';\n\nexport const quechuaGrammar = {\n code: 'qu',\n name: 'Quechua',\n nativeName: 'Runasimi',\n direction: 'ltr',\n script: 'latin',\n wordOrder: 'SOV',\n markingStrategy: 'postposition',\n usesSpaces: true,\n verb: {\n position: 'end',\n subjectDrop: true,\n },\n possessive: {\n marker: '-pa', // Genitive suffix\n markerPosition: 'after-object',\n },\n roleMarkers: {\n patient: { primary: 'ta', position: 'after' },\n destination: { primary: 'man', alternatives: ['pa'], position: 'after' },\n source: { primary: 'manta', position: 'after' },\n style: { primary: 'wan', position: 'after' },\n event: { primary: 'pi', position: 'after' }, // Locative: event occurs \"at\" (pi)\n },\n} satisfies GrammarProfile;\n"],"mappings":";AASO,IAAM,iBAAiB;AAAA,EAC5B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA;AAAA,IACR,gBAAgB;AAAA,EAClB;AAAA,EACA,aAAa;AAAA,IACX,SAAS,EAAE,SAAS,MAAM,UAAU,QAAQ;AAAA,IAC5C,aAAa,EAAE,SAAS,OAAO,cAAc,CAAC,IAAI,GAAG,UAAU,QAAQ;AAAA,IACvE,QAAQ,EAAE,SAAS,SAAS,UAAU,QAAQ;AAAA,IAC9C,OAAO,EAAE,SAAS,OAAO,UAAU,QAAQ;AAAA,IAC3C,OAAO,EAAE,SAAS,MAAM,UAAU,QAAQ;AAAA;AAAA,EAC5C;AACF;","names":[]}
@@ -0,0 +1,47 @@
1
+ // src/languages/ja.ts
2
+ var japaneseGrammar = {
3
+ code: "ja",
4
+ name: "Japanese",
5
+ nativeName: "\u65E5\u672C\u8A9E",
6
+ direction: "ltr",
7
+ script: "cjk",
8
+ wordOrder: "SOV",
9
+ markingStrategy: "particle",
10
+ usesSpaces: false,
11
+ // Japanese uses verb stem/masu-stem form, no clear infinitive/imperative distinction
12
+ // for UI commands. Uses katakana loanwords (トグル) or native stems (切り替え)
13
+ defaultVerbForm: "base",
14
+ verb: {
15
+ position: "end",
16
+ suffixes: ["\u308B", "\u3066", "\u305F", "\u307E\u3059", "\u306A\u3044"],
17
+ subjectDrop: true
18
+ },
19
+ possessive: {
20
+ marker: "\u306E",
21
+ markerPosition: "between"
22
+ },
23
+ roleMarkers: {
24
+ patient: { primary: "\u3092", position: "after" },
25
+ destination: { primary: "\u306B", alternatives: ["\u3078", "\u3067", "\u306E"], position: "after" },
26
+ source: { primary: "\u304B\u3089", position: "after" },
27
+ style: { primary: "\u3067", position: "after" },
28
+ event: { primary: "\u3092", position: "after" }
29
+ // Event as object marker
30
+ // Possession marker for "X's Y" patterns
31
+ // Note: の is used between target and patient: #button の .active
32
+ },
33
+ tokenization: {
34
+ particles: ["\u3092", "\u306B", "\u3067", "\u304B\u3089", "\u306E", "\u304C", "\u306F", "\u3082", "\u3078", "\u3068"],
35
+ boundaryStrategy: "particle"
36
+ },
37
+ // Japanese writes a particle onto its noun (`#outに`, `自分から`; M2 N5).
38
+ attachedMarkers: {
39
+ markers: ["\u3092", "\u306B", "\u3078", "\u3067", "\u306E", "\u304B\u3089", "\u3068\u3057\u3066", "\u306E\u9593\u3067"],
40
+ afterWords: "all"
41
+ }
42
+ };
43
+
44
+ export {
45
+ japaneseGrammar
46
+ };
47
+ //# sourceMappingURL=chunk-OOI6MH2H.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/languages/ja.ts"],"sourcesContent":["/**\n * Japanese Grammar\n *\n * SOV word order, particles (を, に, で, etc.), no spaces between words.\n * Agglutinative language with rich verb conjugation.\n */\n\nimport type { GrammarProfile } from './types';\n\nexport const japaneseGrammar = {\n code: 'ja',\n name: 'Japanese',\n nativeName: '日本語',\n direction: 'ltr',\n script: 'cjk',\n wordOrder: 'SOV',\n markingStrategy: 'particle',\n usesSpaces: false,\n // Japanese uses verb stem/masu-stem form, no clear infinitive/imperative distinction\n // for UI commands. Uses katakana loanwords (トグル) or native stems (切り替え)\n defaultVerbForm: 'base',\n verb: {\n position: 'end',\n suffixes: ['る', 'て', 'た', 'ます', 'ない'],\n subjectDrop: true,\n },\n possessive: {\n marker: 'の',\n markerPosition: 'between',\n },\n roleMarkers: {\n patient: { primary: 'を', position: 'after' },\n destination: { primary: 'に', alternatives: ['へ', 'で', 'の'], position: 'after' },\n source: { primary: 'から', position: 'after' },\n style: { primary: 'で', position: 'after' },\n event: { primary: 'を', position: 'after' }, // Event as object marker\n // Possession marker for \"X's Y\" patterns\n // Note: の is used between target and patient: #button の .active\n },\n tokenization: {\n particles: ['を', 'に', 'で', 'から', 'の', 'が', 'は', 'も', 'へ', 'と'],\n boundaryStrategy: 'particle',\n },\n // Japanese writes a particle onto its noun (`#outに`, `自分から`; M2 N5).\n attachedMarkers: {\n markers: ['を', 'に', 'へ', 'で', 'の', 'から', 'として', 'の間で'],\n afterWords: 'all',\n },\n} satisfies GrammarProfile;\n"],"mappings":";AASO,IAAM,kBAAkB;AAAA,EAC7B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,YAAY;AAAA;AAAA;AAAA,EAGZ,iBAAiB;AAAA,EACjB,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,UAAU,CAAC,UAAK,UAAK,UAAK,gBAAM,cAAI;AAAA,IACpC,aAAa;AAAA,EACf;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA,IACR,gBAAgB;AAAA,EAClB;AAAA,EACA,aAAa;AAAA,IACX,SAAS,EAAE,SAAS,UAAK,UAAU,QAAQ;AAAA,IAC3C,aAAa,EAAE,SAAS,UAAK,cAAc,CAAC,UAAK,UAAK,QAAG,GAAG,UAAU,QAAQ;AAAA,IAC9E,QAAQ,EAAE,SAAS,gBAAM,UAAU,QAAQ;AAAA,IAC3C,OAAO,EAAE,SAAS,UAAK,UAAU,QAAQ;AAAA,IACzC,OAAO,EAAE,SAAS,UAAK,UAAU,QAAQ;AAAA;AAAA;AAAA;AAAA,EAG3C;AAAA,EACA,cAAc;AAAA,IACZ,WAAW,CAAC,UAAK,UAAK,UAAK,gBAAM,UAAK,UAAK,UAAK,UAAK,UAAK,QAAG;AAAA,IAC7D,kBAAkB;AAAA,EACpB;AAAA;AAAA,EAEA,iBAAiB;AAAA,IACf,SAAS,CAAC,UAAK,UAAK,UAAK,UAAK,UAAK,gBAAM,sBAAO,oBAAK;AAAA,IACrD,YAAY;AAAA,EACd;AACF;","names":[]}
@@ -0,0 +1,35 @@
1
+ // src/languages/de.ts
2
+ var germanGrammar = {
3
+ code: "de",
4
+ name: "German",
5
+ nativeName: "Deutsch",
6
+ direction: "ltr",
7
+ script: "latin",
8
+ wordOrder: "SVO",
9
+ markingStrategy: "preposition",
10
+ usesSpaces: true,
11
+ // Infinitive is standard for German software UI (Speichern, Öffnen, Schließen)
12
+ // Also used in written instructions ("Bitte nicht stören")
13
+ defaultVerbForm: "infinitive",
14
+ verb: {
15
+ position: "start",
16
+ subjectDrop: false
17
+ },
18
+ possessive: {
19
+ marker: "",
20
+ // German uses possessive pronouns directly
21
+ markerPosition: "before-property",
22
+ usePossessiveAdjectives: true
23
+ },
24
+ roleMarkers: {
25
+ destination: { primary: "auf", alternatives: ["zu", "in"], position: "before" },
26
+ source: { primary: "von", alternatives: ["aus"], position: "before" },
27
+ patient: { primary: "", position: "before" },
28
+ style: { primary: "mit", position: "before" }
29
+ }
30
+ };
31
+
32
+ export {
33
+ germanGrammar
34
+ };
35
+ //# sourceMappingURL=chunk-OSHTQPFA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/languages/de.ts"],"sourcesContent":["/**\n * German Grammar\n *\n * SVO word order (V2 in main clauses), prepositions, space-separated.\n * Features case system, compound words, and verb-second word order in main clauses.\n */\n\nimport type { GrammarProfile } from './types';\n\nexport const germanGrammar = {\n code: 'de',\n name: 'German',\n nativeName: 'Deutsch',\n direction: 'ltr',\n script: 'latin',\n wordOrder: 'SVO',\n markingStrategy: 'preposition',\n usesSpaces: true,\n // Infinitive is standard for German software UI (Speichern, Öffnen, Schließen)\n // Also used in written instructions (\"Bitte nicht stören\")\n defaultVerbForm: 'infinitive',\n verb: {\n position: 'start',\n subjectDrop: false,\n },\n possessive: {\n marker: '', // German uses possessive pronouns directly\n markerPosition: 'before-property',\n usePossessiveAdjectives: true,\n },\n roleMarkers: {\n destination: { primary: 'auf', alternatives: ['zu', 'in'], position: 'before' },\n source: { primary: 'von', alternatives: ['aus'], position: 'before' },\n patient: { primary: '', position: 'before' },\n style: { primary: 'mit', position: 'before' },\n },\n} satisfies GrammarProfile;\n"],"mappings":";AASO,IAAM,gBAAgB;AAAA,EAC3B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,YAAY;AAAA;AAAA;AAAA,EAGZ,iBAAiB;AAAA,EACjB,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA;AAAA,IACR,gBAAgB;AAAA,IAChB,yBAAyB;AAAA,EAC3B;AAAA,EACA,aAAa;AAAA,IACX,aAAa,EAAE,SAAS,OAAO,cAAc,CAAC,MAAM,IAAI,GAAG,UAAU,SAAS;AAAA,IAC9E,QAAQ,EAAE,SAAS,OAAO,cAAc,CAAC,KAAK,GAAG,UAAU,SAAS;AAAA,IACpE,SAAS,EAAE,SAAS,IAAI,UAAU,SAAS;AAAA,IAC3C,OAAO,EAAE,SAAS,OAAO,UAAU,SAAS;AAAA,EAC9C;AACF;","names":[]}
@@ -0,0 +1,33 @@
1
+ // src/languages/vi.ts
2
+ var vietnameseGrammar = {
3
+ code: "vi",
4
+ name: "Vietnamese",
5
+ nativeName: "Ti\u1EBFng Vi\u1EC7t",
6
+ direction: "ltr",
7
+ script: "latin",
8
+ wordOrder: "SVO",
9
+ markingStrategy: "preposition",
10
+ usesSpaces: true,
11
+ // Vietnamese uses base/dictionary form for commands
12
+ defaultVerbForm: "base",
13
+ verb: {
14
+ position: "start",
15
+ subjectDrop: true
16
+ },
17
+ possessive: {
18
+ marker: "c\u1EE7a",
19
+ // Vietnamese uses "của" for possession (của tôi = my)
20
+ markerPosition: "between"
21
+ },
22
+ roleMarkers: {
23
+ destination: { primary: "v\xE0o", alternatives: ["cho", "\u0111\u1EBFn"], position: "before" },
24
+ source: { primary: "t\u1EEB", alternatives: ["kh\u1ECFi"], position: "before" },
25
+ patient: { primary: "", position: "before" },
26
+ style: { primary: "v\u1EDBi", position: "before" }
27
+ }
28
+ };
29
+
30
+ export {
31
+ vietnameseGrammar
32
+ };
33
+ //# sourceMappingURL=chunk-P2ONCOPE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/languages/vi.ts"],"sourcesContent":["/**\n * Vietnamese Grammar\n *\n * SVO word order, prepositions, space-separated.\n * Vietnamese is an isolating (analytic) language with no inflection.\n * Uses Latin script with extensive diacritics for tone marking.\n */\n\nimport type { GrammarProfile } from './types';\n\nexport const vietnameseGrammar = {\n code: 'vi',\n name: 'Vietnamese',\n nativeName: 'Tiếng Việt',\n direction: 'ltr',\n script: 'latin',\n wordOrder: 'SVO',\n markingStrategy: 'preposition',\n usesSpaces: true,\n // Vietnamese uses base/dictionary form for commands\n defaultVerbForm: 'base',\n verb: {\n position: 'start',\n subjectDrop: true,\n },\n possessive: {\n marker: 'của', // Vietnamese uses \"của\" for possession (của tôi = my)\n markerPosition: 'between',\n },\n roleMarkers: {\n destination: { primary: 'vào', alternatives: ['cho', 'đến'], position: 'before' },\n source: { primary: 'từ', alternatives: ['khỏi'], position: 'before' },\n patient: { primary: '', position: 'before' },\n style: { primary: 'với', position: 'before' },\n },\n} satisfies GrammarProfile;\n"],"mappings":";AAUO,IAAM,oBAAoB;AAAA,EAC/B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,YAAY;AAAA;AAAA,EAEZ,iBAAiB;AAAA,EACjB,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA;AAAA,IACR,gBAAgB;AAAA,EAClB;AAAA,EACA,aAAa;AAAA,IACX,aAAa,EAAE,SAAS,UAAO,cAAc,CAAC,OAAO,eAAK,GAAG,UAAU,SAAS;AAAA,IAChF,QAAQ,EAAE,SAAS,WAAM,cAAc,CAAC,WAAM,GAAG,UAAU,SAAS;AAAA,IACpE,SAAS,EAAE,SAAS,IAAI,UAAU,SAAS;AAAA,IAC3C,OAAO,EAAE,SAAS,YAAO,UAAU,SAAS;AAAA,EAC9C;AACF;","names":[]}
@@ -0,0 +1,41 @@
1
+ // src/languages/hi.ts
2
+ var hindiGrammar = {
3
+ code: "hi",
4
+ name: "Hindi",
5
+ nativeName: "\u0939\u093F\u0928\u094D\u0926\u0940",
6
+ direction: "ltr",
7
+ script: "devanagari",
8
+ wordOrder: "SOV",
9
+ markingStrategy: "postposition",
10
+ usesSpaces: true,
11
+ // Hindi uses imperative forms for commands in software UI
12
+ defaultVerbForm: "imperative",
13
+ verb: {
14
+ position: "end",
15
+ suffixes: ["\u0947\u0902", "\u093E", "\u0940", "\u0947", "\u094B"],
16
+ subjectDrop: true
17
+ },
18
+ possessive: {
19
+ marker: "\u0915\u093E",
20
+ markerPosition: "between"
21
+ },
22
+ roleMarkers: {
23
+ patient: { primary: "\u0915\u094B", position: "after" },
24
+ // `को` is the accusative/patient marker only — NOT a destination alternative.
25
+ // Listing it here made a `को`-marked patient mis-parse as a destination, the
26
+ // dominant source of phantom `into` commands in hi (precision audit 2026-06-15).
27
+ destination: { primary: "\u092E\u0947\u0902", alternatives: ["\u092A\u0930"], position: "after" },
28
+ source: { primary: "\u0938\u0947", position: "after" },
29
+ style: { primary: "\u0938\u0947", position: "after" },
30
+ event: { primary: "\u092A\u0930", position: "after" }
31
+ },
32
+ tokenization: {
33
+ particles: ["\u0915\u094B", "\u092E\u0947\u0902", "\u092A\u0930", "\u0938\u0947", "\u0915\u093E", "\u0915\u0940", "\u0915\u0947", "\u0924\u0915", "\u0928\u0947"],
34
+ boundaryStrategy: "space"
35
+ }
36
+ };
37
+
38
+ export {
39
+ hindiGrammar
40
+ };
41
+ //# sourceMappingURL=chunk-PC4BLDMN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/languages/hi.ts"],"sourcesContent":["/**\n * Hindi Grammar\n *\n * SOV word order, postpositions (को, में, पर, से, etc.), Devanagari script.\n * Fusional language with verb conjugation patterns.\n */\n\nimport type { GrammarProfile } from './types';\n\nexport const hindiGrammar = {\n code: 'hi',\n name: 'Hindi',\n nativeName: 'हिन्दी',\n direction: 'ltr',\n script: 'devanagari',\n wordOrder: 'SOV',\n markingStrategy: 'postposition',\n usesSpaces: true,\n // Hindi uses imperative forms for commands in software UI\n defaultVerbForm: 'imperative',\n verb: {\n position: 'end',\n suffixes: ['ें', 'ा', 'ी', 'े', 'ो'],\n subjectDrop: true,\n },\n possessive: {\n marker: 'का',\n markerPosition: 'between',\n },\n roleMarkers: {\n patient: { primary: 'को', position: 'after' },\n // `को` is the accusative/patient marker only — NOT a destination alternative.\n // Listing it here made a `को`-marked patient mis-parse as a destination, the\n // dominant source of phantom `into` commands in hi (precision audit 2026-06-15).\n destination: { primary: 'में', alternatives: ['पर'], position: 'after' },\n source: { primary: 'से', position: 'after' },\n style: { primary: 'से', position: 'after' },\n event: { primary: 'पर', position: 'after' },\n },\n tokenization: {\n particles: ['को', 'में', 'पर', 'से', 'का', 'की', 'के', 'तक', 'ने'],\n boundaryStrategy: 'space',\n },\n} satisfies GrammarProfile;\n"],"mappings":";AASO,IAAM,eAAe;AAAA,EAC1B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,YAAY;AAAA;AAAA,EAEZ,iBAAiB;AAAA,EACjB,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,UAAU,CAAC,gBAAM,UAAK,UAAK,UAAK,QAAG;AAAA,IACnC,aAAa;AAAA,EACf;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA,IACR,gBAAgB;AAAA,EAClB;AAAA,EACA,aAAa;AAAA,IACX,SAAS,EAAE,SAAS,gBAAM,UAAU,QAAQ;AAAA;AAAA;AAAA;AAAA,IAI5C,aAAa,EAAE,SAAS,sBAAO,cAAc,CAAC,cAAI,GAAG,UAAU,QAAQ;AAAA,IACvE,QAAQ,EAAE,SAAS,gBAAM,UAAU,QAAQ;AAAA,IAC3C,OAAO,EAAE,SAAS,gBAAM,UAAU,QAAQ;AAAA,IAC1C,OAAO,EAAE,SAAS,gBAAM,UAAU,QAAQ;AAAA,EAC5C;AAAA,EACA,cAAc;AAAA,IACZ,WAAW,CAAC,gBAAM,sBAAO,gBAAM,gBAAM,gBAAM,gBAAM,gBAAM,gBAAM,cAAI;AAAA,IACjE,kBAAkB;AAAA,EACpB;AACF;","names":[]}
@@ -0,0 +1,39 @@
1
+ // src/languages/tl.ts
2
+ var tagalogGrammar = {
3
+ code: "tl",
4
+ name: "Tagalog",
5
+ nativeName: "Tagalog",
6
+ direction: "ltr",
7
+ script: "latin",
8
+ wordOrder: "VSO",
9
+ markingStrategy: "preposition",
10
+ usesSpaces: true,
11
+ defaultVerbForm: "base",
12
+ verb: {
13
+ position: "start",
14
+ subjectDrop: true
15
+ },
16
+ possessive: {
17
+ marker: "ng",
18
+ // Linker used in possessive constructions
19
+ markerPosition: "between"
20
+ },
21
+ roleMarkers: {
22
+ // `bago` (before) / `matapos` (after) are positional destination markers for
23
+ // `put X before/after Y`, mirroring how Arabic lists قبل/بعد as destination
24
+ // alternatives. Without them the generated put pattern can't match a
25
+ // before/after target.
26
+ destination: { primary: "sa", alternatives: ["bago", "matapos"], position: "before" },
27
+ // "to/into"
28
+ source: { primary: "mula_sa", position: "before" },
29
+ // "from"
30
+ patient: { primary: "", position: "before" },
31
+ style: { primary: "nang", position: "before" }
32
+ // manner marker
33
+ }
34
+ };
35
+
36
+ export {
37
+ tagalogGrammar
38
+ };
39
+ //# sourceMappingURL=chunk-Q7Z57FEP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/languages/tl.ts"],"sourcesContent":["/**\n * Tagalog Grammar\n *\n * VSO word order, prepositions, space-separated.\n */\n\nimport type { GrammarProfile } from './types';\n\nexport const tagalogGrammar = {\n code: 'tl',\n name: 'Tagalog',\n nativeName: 'Tagalog',\n direction: 'ltr',\n script: 'latin',\n wordOrder: 'VSO',\n markingStrategy: 'preposition',\n usesSpaces: true,\n defaultVerbForm: 'base',\n verb: {\n position: 'start',\n subjectDrop: true,\n },\n possessive: {\n marker: 'ng', // Linker used in possessive constructions\n markerPosition: 'between',\n },\n roleMarkers: {\n // `bago` (before) / `matapos` (after) are positional destination markers for\n // `put X before/after Y`, mirroring how Arabic lists قبل/بعد as destination\n // alternatives. Without them the generated put pattern can't match a\n // before/after target.\n destination: { primary: 'sa', alternatives: ['bago', 'matapos'], position: 'before' }, // \"to/into\"\n source: { primary: 'mula_sa', position: 'before' }, // \"from\"\n patient: { primary: '', position: 'before' },\n style: { primary: 'nang', position: 'before' }, // manner marker\n },\n} satisfies GrammarProfile;\n"],"mappings":";AAQO,IAAM,iBAAiB;AAAA,EAC5B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA;AAAA,IACR,gBAAgB;AAAA,EAClB;AAAA,EACA,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,IAKX,aAAa,EAAE,SAAS,MAAM,cAAc,CAAC,QAAQ,SAAS,GAAG,UAAU,SAAS;AAAA;AAAA,IACpF,QAAQ,EAAE,SAAS,WAAW,UAAU,SAAS;AAAA;AAAA,IACjD,SAAS,EAAE,SAAS,IAAI,UAAU,SAAS;AAAA,IAC3C,OAAO,EAAE,SAAS,QAAQ,UAAU,SAAS;AAAA;AAAA,EAC/C;AACF;","names":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/languages/zh.ts
2
+ var chineseGrammar = {
3
+ code: "zh",
4
+ name: "Chinese",
5
+ nativeName: "\u4E2D\u6587",
6
+ direction: "ltr",
7
+ script: "cjk",
8
+ wordOrder: "SVO",
9
+ markingStrategy: "preposition",
10
+ // Uses prepositions but often implicit
11
+ usesSpaces: false,
12
+ verb: {
13
+ position: "second",
14
+ subjectDrop: true
15
+ },
16
+ possessive: {
17
+ marker: "\u7684",
18
+ // Possessive particle (de)
19
+ markerPosition: "between"
20
+ },
21
+ roleMarkers: {
22
+ destination: { primary: "\u5728", alternatives: ["\u5230", "\u4E8E"], position: "before" },
23
+ source: { primary: "\u4ECE", alternatives: ["\u7531"], position: "before" },
24
+ patient: { primary: "\u628A", position: "before" },
25
+ // BA construction
26
+ style: { primary: "\u7528", alternatives: ["\u4EE5"], position: "before" }
27
+ },
28
+ tokenization: {
29
+ boundaryStrategy: "character"
30
+ }
31
+ };
32
+
33
+
34
+
35
+ exports.chineseGrammar = chineseGrammar;
36
+ //# sourceMappingURL=chunk-SFDLZDQC.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/hyperfixi/hyperfixi/packages/framework/dist/languages/chunks/chunk-SFDLZDQC.cjs","../../../src/languages/zh.ts"],"names":[],"mappings":"AAAA;ACSO,IAAM,eAAA,EAAiB;AAAA,EAC5B,IAAA,EAAM,IAAA;AAAA,EACN,IAAA,EAAM,SAAA;AAAA,EACN,UAAA,EAAY,cAAA;AAAA,EACZ,SAAA,EAAW,KAAA;AAAA,EACX,MAAA,EAAQ,KAAA;AAAA,EACR,SAAA,EAAW,KAAA;AAAA,EACX,eAAA,EAAiB,aAAA;AAAA;AAAA,EACjB,UAAA,EAAY,KAAA;AAAA,EACZ,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,QAAA;AAAA,IACV,WAAA,EAAa;AAAA,EACf,CAAA;AAAA,EACA,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ,QAAA;AAAA;AAAA,IACR,cAAA,EAAgB;AAAA,EAClB,CAAA;AAAA,EACA,WAAA,EAAa;AAAA,IACX,WAAA,EAAa,EAAE,OAAA,EAAS,QAAA,EAAK,YAAA,EAAc,CAAC,QAAA,EAAK,QAAG,CAAA,EAAG,QAAA,EAAU,SAAS,CAAA;AAAA,IAC1E,MAAA,EAAQ,EAAE,OAAA,EAAS,QAAA,EAAK,YAAA,EAAc,CAAC,QAAG,CAAA,EAAG,QAAA,EAAU,SAAS,CAAA;AAAA,IAChE,OAAA,EAAS,EAAE,OAAA,EAAS,QAAA,EAAK,QAAA,EAAU,SAAS,CAAA;AAAA;AAAA,IAC5C,KAAA,EAAO,EAAE,OAAA,EAAS,QAAA,EAAK,YAAA,EAAc,CAAC,QAAG,CAAA,EAAG,QAAA,EAAU,SAAS;AAAA,EACjE,CAAA;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,gBAAA,EAAkB;AAAA,EACpB;AACF,CAAA;ADJA;AACA;AACE;AACF,wCAAC","file":"/home/runner/work/hyperfixi/hyperfixi/packages/framework/dist/languages/chunks/chunk-SFDLZDQC.cjs","sourcesContent":[null,"/**\n * Chinese (Simplified) Grammar\n *\n * SVO word order, no markers (relies on word order), no spaces between words.\n * Isolating language with topic-comment structure and optional BA construction.\n */\n\nimport type { GrammarProfile } from './types';\n\nexport const chineseGrammar = {\n code: 'zh',\n name: 'Chinese',\n nativeName: '中文',\n direction: 'ltr',\n script: 'cjk',\n wordOrder: 'SVO',\n markingStrategy: 'preposition', // Uses prepositions but often implicit\n usesSpaces: false,\n verb: {\n position: 'second',\n subjectDrop: true,\n },\n possessive: {\n marker: '的', // Possessive particle (de)\n markerPosition: 'between',\n },\n roleMarkers: {\n destination: { primary: '在', alternatives: ['到', '于'], position: 'before' },\n source: { primary: '从', alternatives: ['由'], position: 'before' },\n patient: { primary: '把', position: 'before' }, // BA construction\n style: { primary: '用', alternatives: ['以'], position: 'before' },\n },\n tokenization: {\n boundaryStrategy: 'character',\n },\n} satisfies GrammarProfile;\n"]}
@@ -0,0 +1,39 @@
1
+ // src/languages/ar.ts
2
+ var arabicGrammar = {
3
+ code: "ar",
4
+ name: "Arabic",
5
+ nativeName: "\u0627\u0644\u0639\u0631\u0628\u064A\u0629",
6
+ direction: "rtl",
7
+ script: "arabic",
8
+ wordOrder: "VSO",
9
+ markingStrategy: "preposition",
10
+ usesSpaces: true,
11
+ verb: {
12
+ position: "start",
13
+ subjectDrop: true
14
+ },
15
+ possessive: {
16
+ marker: "",
17
+ // No explicit marker - uses possessive pronouns
18
+ markerPosition: "after-object",
19
+ usePossessiveAdjectives: true
20
+ },
21
+ roleMarkers: {
22
+ destination: {
23
+ primary: "\u0639\u0644\u0649",
24
+ alternatives: ["\u0641\u064A", "\u0625\u0644\u0649", "\u0628", "\u0642\u0628\u0644", "\u0628\u0639\u062F"],
25
+ position: "before"
26
+ },
27
+ source: { primary: "\u0645\u0646", position: "before" },
28
+ patient: { primary: "", position: "before" },
29
+ style: { primary: "\u0628\u0640", alternatives: ["\u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645"], position: "before" }
30
+ },
31
+ tokenization: {
32
+ prefixes: ["\u0627\u0644", "\u0648", "\u0641", "\u0628", "\u0643", "\u0644"]
33
+ }
34
+ };
35
+
36
+ export {
37
+ arabicGrammar
38
+ };
39
+ //# sourceMappingURL=chunk-SLSZETLO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/languages/ar.ts"],"sourcesContent":["/**\n * Arabic Grammar\n *\n * VSO word order, prepositions, RTL (right-to-left), space-separated.\n * Features root-based morphology and rich verb conjugation.\n */\n\nimport type { GrammarProfile } from './types';\n\nexport const arabicGrammar = {\n code: 'ar',\n name: 'Arabic',\n nativeName: 'العربية',\n direction: 'rtl',\n script: 'arabic',\n wordOrder: 'VSO',\n markingStrategy: 'preposition',\n usesSpaces: true,\n verb: {\n position: 'start',\n subjectDrop: true,\n },\n possessive: {\n marker: '', // No explicit marker - uses possessive pronouns\n markerPosition: 'after-object',\n usePossessiveAdjectives: true,\n },\n roleMarkers: {\n destination: {\n primary: 'على',\n alternatives: ['في', 'إلى', 'ب', 'قبل', 'بعد'],\n position: 'before',\n },\n source: { primary: 'من', position: 'before' },\n patient: { primary: '', position: 'before' },\n style: { primary: 'بـ', alternatives: ['باستخدام'], position: 'before' },\n },\n tokenization: {\n prefixes: ['ال', 'و', 'ف', 'ب', 'ك', 'ل'],\n },\n} satisfies GrammarProfile;\n"],"mappings":";AASO,IAAM,gBAAgB;AAAA,EAC3B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA;AAAA,IACR,gBAAgB;AAAA,IAChB,yBAAyB;AAAA,EAC3B;AAAA,EACA,aAAa;AAAA,IACX,aAAa;AAAA,MACX,SAAS;AAAA,MACT,cAAc,CAAC,gBAAM,sBAAO,UAAK,sBAAO,oBAAK;AAAA,MAC7C,UAAU;AAAA,IACZ;AAAA,IACA,QAAQ,EAAE,SAAS,gBAAM,UAAU,SAAS;AAAA,IAC5C,SAAS,EAAE,SAAS,IAAI,UAAU,SAAS;AAAA,IAC3C,OAAO,EAAE,SAAS,gBAAM,cAAc,CAAC,kDAAU,GAAG,UAAU,SAAS;AAAA,EACzE;AAAA,EACA,cAAc;AAAA,IACZ,UAAU,CAAC,gBAAM,UAAK,UAAK,UAAK,UAAK,QAAG;AAAA,EAC1C;AACF;","names":[]}