@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,8 +1,8 @@
1
1
  /**
2
2
  * Arabic Hide Patterns
3
3
  *
4
- * Hand-crafted patterns for "hide" command.
5
- * Arabic: أخفِ {patient}
4
+ * Strategy: Return empty array to rely on auto-generated patterns from profile.
5
+ * This follows the Tagalog model which achieves 100% pass rate with pure generation.
6
6
  */
7
7
 
8
8
  import type { LanguagePattern } from '../../types';
@@ -11,57 +11,5 @@ import type { LanguagePattern } from '../../types';
11
11
  * Get Arabic hide patterns.
12
12
  */
13
13
  export function getHidePatternsAr(): LanguagePattern[] {
14
- return [
15
- {
16
- id: 'hide-ar-full',
17
- language: 'ar',
18
- command: 'hide',
19
- priority: 100,
20
- template: {
21
- format: 'أخفِ {patient}',
22
- tokens: [
23
- { type: 'literal', value: 'أخفِ', alternatives: ['اخف', 'أخف', 'اخفي', 'إخفاء'] },
24
- { type: 'role', role: 'patient' },
25
- ],
26
- },
27
- extraction: {
28
- patient: { position: 1 },
29
- },
30
- },
31
- {
32
- id: 'hide-ar-with-من',
33
- language: 'ar',
34
- command: 'hide',
35
- priority: 95,
36
- template: {
37
- format: 'أخفِ {patient} من {destination}',
38
- tokens: [
39
- { type: 'literal', value: 'أخفِ', alternatives: ['اخف', 'أخف'] },
40
- { type: 'role', role: 'patient' },
41
- { type: 'literal', value: 'من' },
42
- { type: 'role', role: 'destination' },
43
- ],
44
- },
45
- extraction: {
46
- patient: { position: 1 },
47
- destination: { marker: 'من' },
48
- },
49
- },
50
- {
51
- id: 'hide-ar-definite',
52
- language: 'ar',
53
- command: 'hide',
54
- priority: 90,
55
- template: {
56
- format: 'إخفاء {patient}',
57
- tokens: [
58
- { type: 'literal', value: 'إخفاء', alternatives: ['اخفاء'] },
59
- { type: 'role', role: 'patient' },
60
- ],
61
- },
62
- extraction: {
63
- patient: { position: 1 },
64
- },
65
- },
66
- ];
14
+ return [];
67
15
  }
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Japanese Hide Patterns
3
3
  *
4
- * Hand-crafted patterns for "hide" command.
5
- * Japanese: {patient} 非表示
4
+ * Relying on auto-generated patterns from profile.
5
+ * Empty stub follows Hindi/Tagalog model for simpler implementation.
6
6
  */
7
7
 
8
8
  import type { LanguagePattern } from '../../types';
@@ -11,59 +11,5 @@ import type { LanguagePattern } from '../../types';
11
11
  * Get Japanese hide patterns.
12
12
  */
13
13
  export function getHidePatternsJa(): LanguagePattern[] {
14
- return [
15
- {
16
- id: 'hide-ja-full',
17
- language: 'ja',
18
- command: 'hide',
19
- priority: 100,
20
- template: {
21
- format: '{patient} を 非表示',
22
- tokens: [
23
- { type: 'role', role: 'patient' },
24
- { type: 'literal', value: 'を' },
25
- { type: 'literal', value: '非表示', alternatives: ['非表示にする', '隠す', '隠れる'] },
26
- ],
27
- },
28
- extraction: {
29
- patient: { position: 0 },
30
- },
31
- },
32
- {
33
- id: 'hide-ja-imperative',
34
- language: 'ja',
35
- command: 'hide',
36
- priority: 90,
37
- template: {
38
- format: '非表示 {patient}',
39
- tokens: [
40
- { type: 'literal', value: '非表示', alternatives: ['非表示にする'] },
41
- { type: 'role', role: 'patient' },
42
- ],
43
- },
44
- extraction: {
45
- patient: { position: 1 },
46
- },
47
- },
48
- {
49
- id: 'hide-ja-possessive',
50
- language: 'ja',
51
- command: 'hide',
52
- priority: 95,
53
- template: {
54
- format: '{destination} の {patient} を 非表示',
55
- tokens: [
56
- { type: 'role', role: 'destination' },
57
- { type: 'literal', value: 'の' },
58
- { type: 'role', role: 'patient' },
59
- { type: 'literal', value: 'を' },
60
- { type: 'literal', value: '非表示', alternatives: ['非表示にする', '隠す'] },
61
- ],
62
- },
63
- extraction: {
64
- destination: { position: 0 },
65
- patient: { marker: 'を' },
66
- },
67
- },
68
- ];
14
+ return [];
69
15
  }
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Korean Hide Patterns
3
3
  *
4
- * Hand-crafted patterns for "hide" command.
5
- * Korean: {patient} 숨기다
4
+ * Strategy: Return empty array to rely on auto-generated patterns from profile.
5
+ * This follows the Tagalog model which achieves 100% pass rate with pure generation.
6
6
  */
7
7
 
8
8
  import type { LanguagePattern } from '../../types';
@@ -11,59 +11,5 @@ import type { LanguagePattern } from '../../types';
11
11
  * Get Korean hide patterns.
12
12
  */
13
13
  export function getHidePatternsKo(): LanguagePattern[] {
14
- return [
15
- {
16
- id: 'hide-ko-full',
17
- language: 'ko',
18
- command: 'hide',
19
- priority: 100,
20
- template: {
21
- format: '{patient} 를 숨기다',
22
- tokens: [
23
- { type: 'role', role: 'patient' },
24
- { type: 'literal', value: '를', alternatives: ['을'] },
25
- { type: 'literal', value: '숨기다', alternatives: ['숨겨', '감추다', '숨김', '숨기기'] },
26
- ],
27
- },
28
- extraction: {
29
- patient: { position: 0 },
30
- },
31
- },
32
- {
33
- id: 'hide-ko-simple',
34
- language: 'ko',
35
- command: 'hide',
36
- priority: 90,
37
- template: {
38
- format: '숨기다 {patient}',
39
- tokens: [
40
- { type: 'literal', value: '숨기다', alternatives: ['숨겨', '숨기기'] },
41
- { type: 'role', role: 'patient' },
42
- ],
43
- },
44
- extraction: {
45
- patient: { position: 1 },
46
- },
47
- },
48
- {
49
- id: 'hide-ko-possessive',
50
- language: 'ko',
51
- command: 'hide',
52
- priority: 95,
53
- template: {
54
- format: '{destination} 의 {patient} 를 숨기다',
55
- tokens: [
56
- { type: 'role', role: 'destination' },
57
- { type: 'literal', value: '의' },
58
- { type: 'role', role: 'patient' },
59
- { type: 'literal', value: '를', alternatives: ['을'] },
60
- { type: 'literal', value: '숨기다', alternatives: ['숨겨', '감추다'] },
61
- ],
62
- },
63
- extraction: {
64
- destination: { position: 0 },
65
- patient: { marker: '를', markerAlternatives: ['을'] },
66
- },
67
- },
68
- ];
14
+ return [];
69
15
  }
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Turkish Hide Patterns
3
3
  *
4
- * Hand-crafted patterns for "hide" command.
5
- * Turkish: {patient} gizle
4
+ * Strategy: Return empty array to rely on auto-generated patterns from profile.
5
+ * This follows the Tagalog model which achieves 100% pass rate with pure generation.
6
6
  */
7
7
 
8
8
  import type { LanguagePattern } from '../../types';
@@ -11,55 +11,5 @@ import type { LanguagePattern } from '../../types';
11
11
  * Get Turkish hide patterns.
12
12
  */
13
13
  export function getHidePatternsTr(): LanguagePattern[] {
14
- return [
15
- {
16
- id: 'hide-tr-full',
17
- language: 'tr',
18
- command: 'hide',
19
- priority: 100,
20
- template: {
21
- format: '{patient} gizle',
22
- tokens: [
23
- { type: 'role', role: 'patient' },
24
- { type: 'literal', value: 'gizle', alternatives: ['gizlemek', 'sakla', 'saklamak'] },
25
- ],
26
- },
27
- extraction: {
28
- patient: { position: 0 },
29
- },
30
- },
31
- {
32
- id: 'hide-tr-accusative',
33
- language: 'tr',
34
- command: 'hide',
35
- priority: 95,
36
- template: {
37
- format: "{patient}'i gizle",
38
- tokens: [
39
- { type: 'role', role: 'patient' },
40
- { type: 'literal', value: "'i", alternatives: ["'ı", "'u", "'ü", '-i', '-ı'] },
41
- { type: 'literal', value: 'gizle', alternatives: ['gizlemek', 'sakla'] },
42
- ],
43
- },
44
- extraction: {
45
- patient: { position: 0 },
46
- },
47
- },
48
- {
49
- id: 'hide-tr-imperative',
50
- language: 'tr',
51
- command: 'hide',
52
- priority: 90,
53
- template: {
54
- format: 'gizle {patient}',
55
- tokens: [
56
- { type: 'literal', value: 'gizle', alternatives: ['gizlemek', 'sakla'] },
57
- { type: 'role', role: 'patient' },
58
- ],
59
- },
60
- extraction: {
61
- patient: { position: 1 },
62
- },
63
- },
64
- ];
14
+ return [];
65
15
  }
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Turkish Increment Patterns
3
3
  *
4
- * Hand-crafted patterns for "increment" command.
5
- * Turkish: counter artır (SOV order)
4
+ * Strategy: Return empty array to rely on auto-generated patterns from profile.
5
+ * This follows the Tagalog model which achieves 100% pass rate with pure generation.
6
6
  */
7
7
 
8
8
  import type { LanguagePattern } from '../../types';
@@ -11,42 +11,5 @@ import type { LanguagePattern } from '../../types';
11
11
  * Get Turkish increment patterns.
12
12
  */
13
13
  export function getIncrementPatternsTr(): LanguagePattern[] {
14
- return [
15
- {
16
- id: 'increment-tr-full',
17
- language: 'tr',
18
- command: 'increment',
19
- priority: 100,
20
- template: {
21
- format: '{patient} artır',
22
- tokens: [
23
- { type: 'role', role: 'patient', expectedTypes: ['selector', 'reference', 'expression'] },
24
- {
25
- type: 'literal',
26
- value: 'artır',
27
- alternatives: ['artir', 'artırmak', 'artirmak', 'arttır', 'increment'],
28
- },
29
- ],
30
- },
31
- extraction: {
32
- patient: { position: 0 },
33
- },
34
- },
35
- {
36
- id: 'increment-tr-svo',
37
- language: 'tr',
38
- command: 'increment',
39
- priority: 90,
40
- template: {
41
- format: 'artır {patient}',
42
- tokens: [
43
- { type: 'literal', value: 'artır', alternatives: ['artir', 'artırmak'] },
44
- { type: 'role', role: 'patient', expectedTypes: ['selector', 'reference', 'expression'] },
45
- ],
46
- },
47
- extraction: {
48
- patient: { position: 1 },
49
- },
50
- },
51
- ];
14
+ return [];
52
15
  }
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Arabic Put Patterns
3
3
  *
4
- * Tree-shakeable: Only included when Arabic is imported.
4
+ * Strategy: Return empty array to rely on auto-generated patterns from profile.
5
+ * This follows the Tagalog model which achieves 100% pass rate with pure generation.
5
6
  */
6
7
 
7
8
  import type { LanguagePattern } from '../../types';
@@ -10,65 +11,5 @@ import type { LanguagePattern } from '../../types';
10
11
  * Get Arabic put patterns.
11
12
  */
12
13
  export function getPutPatternsAr(): LanguagePattern[] {
13
- return [
14
- {
15
- id: 'put-ar-full',
16
- language: 'ar',
17
- command: 'put',
18
- priority: 100,
19
- template: {
20
- format: 'ضع {patient} في {destination}',
21
- tokens: [
22
- { type: 'literal', value: 'ضع', alternatives: ['اضع', 'يضع'] },
23
- { type: 'role', role: 'patient' },
24
- { type: 'literal', value: 'في', alternatives: ['إلى', 'الى'] },
25
- { type: 'role', role: 'destination' },
26
- ],
27
- },
28
- extraction: {
29
- patient: { position: 1 },
30
- destination: { marker: 'في', markerAlternatives: ['إلى', 'الى'] },
31
- },
32
- },
33
- {
34
- id: 'put-ar-before',
35
- language: 'ar',
36
- command: 'put',
37
- priority: 95,
38
- template: {
39
- format: 'ضع {patient} قبل {destination}',
40
- tokens: [
41
- { type: 'literal', value: 'ضع' },
42
- { type: 'role', role: 'patient' },
43
- { type: 'literal', value: 'قبل' },
44
- { type: 'role', role: 'destination' },
45
- ],
46
- },
47
- extraction: {
48
- patient: { position: 1 },
49
- destination: { marker: 'قبل' },
50
- manner: { default: { type: 'literal', value: 'before' } },
51
- },
52
- },
53
- {
54
- id: 'put-ar-after',
55
- language: 'ar',
56
- command: 'put',
57
- priority: 95,
58
- template: {
59
- format: 'ضع {patient} بعد {destination}',
60
- tokens: [
61
- { type: 'literal', value: 'ضع' },
62
- { type: 'role', role: 'patient' },
63
- { type: 'literal', value: 'بعد' },
64
- { type: 'role', role: 'destination' },
65
- ],
66
- },
67
- extraction: {
68
- patient: { position: 1 },
69
- destination: { marker: 'بعد' },
70
- manner: { default: { type: 'literal', value: 'after' } },
71
- },
72
- },
73
- ];
14
+ return [];
74
15
  }
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Japanese Put Patterns
3
3
  *
4
- * Tree-shakeable: Only included when Japanese is imported.
4
+ * Relying on auto-generated patterns from profile.
5
+ * Empty stub follows Hindi/Tagalog model for simpler implementation.
5
6
  */
6
7
 
7
8
  import type { LanguagePattern } from '../../types';
@@ -10,66 +11,5 @@ import type { LanguagePattern } from '../../types';
10
11
  * Get Japanese put patterns.
11
12
  */
12
13
  export function getPutPatternsJa(): LanguagePattern[] {
13
- return [
14
- {
15
- id: 'put-ja-full',
16
- language: 'ja',
17
- command: 'put',
18
- priority: 100,
19
- template: {
20
- format: '{patient} を {destination} に 置く',
21
- tokens: [
22
- { type: 'role', role: 'patient' },
23
- { type: 'literal', value: 'を' },
24
- { type: 'role', role: 'destination' },
25
- { type: 'literal', value: 'に', alternatives: ['へ'] },
26
- { type: 'literal', value: '置く', alternatives: ['入れる', 'セット', 'セットする'] },
27
- ],
28
- },
29
- extraction: {
30
- patient: { position: 0 },
31
- destination: { marker: 'に', markerAlternatives: ['へ'] },
32
- },
33
- },
34
- {
35
- id: 'put-ja-insert',
36
- language: 'ja',
37
- command: 'put',
38
- priority: 95,
39
- template: {
40
- format: '{patient} を {destination} に 入れる',
41
- tokens: [
42
- { type: 'role', role: 'patient' },
43
- { type: 'literal', value: 'を' },
44
- { type: 'role', role: 'destination' },
45
- { type: 'literal', value: 'に' },
46
- { type: 'literal', value: '入れる' },
47
- ],
48
- },
49
- extraction: {
50
- patient: { position: 0 },
51
- destination: { marker: 'に' },
52
- },
53
- },
54
- {
55
- id: 'put-ja-topic',
56
- language: 'ja',
57
- command: 'put',
58
- priority: 90,
59
- template: {
60
- format: '{destination} に {patient} を 置く',
61
- tokens: [
62
- { type: 'role', role: 'destination' },
63
- { type: 'literal', value: 'に' },
64
- { type: 'role', role: 'patient' },
65
- { type: 'literal', value: 'を' },
66
- { type: 'literal', value: '置く', alternatives: ['入れる'] },
67
- ],
68
- },
69
- extraction: {
70
- destination: { position: 0 },
71
- patient: { marker: 'を' },
72
- },
73
- },
74
- ];
14
+ return [];
75
15
  }
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Korean Put Patterns
3
3
  *
4
- * Hand-crafted patterns for "put" command.
5
- * Korean: "안녕하세요" #output 넣기
4
+ * Strategy: Return empty array to rely on auto-generated patterns from profile.
5
+ * This follows the Tagalog model which achieves 100% pass rate with pure generation.
6
6
  */
7
7
 
8
8
  import type { LanguagePattern } from '../../types';
@@ -11,57 +11,5 @@ import type { LanguagePattern } from '../../types';
11
11
  * Get Korean put patterns.
12
12
  */
13
13
  export function getPutPatternsKo(): LanguagePattern[] {
14
- return [
15
- {
16
- id: 'put-ko-full',
17
- language: 'ko',
18
- command: 'put',
19
- priority: 100,
20
- template: {
21
- format: '{patient} 를 {destination} 에 넣기',
22
- tokens: [
23
- {
24
- type: 'role',
25
- role: 'patient',
26
- expectedTypes: ['literal', 'selector', 'reference', 'expression'],
27
- },
28
- { type: 'literal', value: '를', alternatives: ['을'] },
29
- { type: 'role', role: 'destination', expectedTypes: ['selector', 'reference'] },
30
- { type: 'literal', value: '에', alternatives: ['에게', '으로', '로'] },
31
- {
32
- type: 'literal',
33
- value: '넣기',
34
- alternatives: ['넣다', '넣어', '놓다', '놓기', '두다', '두기'],
35
- },
36
- ],
37
- },
38
- extraction: {
39
- patient: { position: 0 },
40
- destination: { position: 2 },
41
- },
42
- },
43
- {
44
- id: 'put-ko-simple',
45
- language: 'ko',
46
- command: 'put',
47
- priority: 90,
48
- template: {
49
- format: '{patient} 를 {destination} 넣기',
50
- tokens: [
51
- {
52
- type: 'role',
53
- role: 'patient',
54
- expectedTypes: ['literal', 'selector', 'reference', 'expression'],
55
- },
56
- { type: 'literal', value: '를', alternatives: ['을'] },
57
- { type: 'role', role: 'destination', expectedTypes: ['selector', 'reference'] },
58
- { type: 'literal', value: '넣기', alternatives: ['넣다', '넣어'] },
59
- ],
60
- },
61
- extraction: {
62
- patient: { position: 0 },
63
- destination: { position: 2 },
64
- },
65
- },
66
- ];
14
+ return [];
67
15
  }
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Turkish Put Patterns
3
3
  *
4
- * Hand-crafted patterns for "put" command.
5
- * Turkish: "merhaba" yi #output a koy
4
+ * Strategy: Return empty array to rely on auto-generated patterns from profile.
5
+ * This follows the Tagalog model which achieves 100% pass rate with pure generation.
6
6
  */
7
7
 
8
8
  import type { LanguagePattern } from '../../types';
@@ -11,57 +11,5 @@ import type { LanguagePattern } from '../../types';
11
11
  * Get Turkish put patterns.
12
12
  */
13
13
  export function getPutPatternsTr(): LanguagePattern[] {
14
- return [
15
- {
16
- id: 'put-tr-full',
17
- language: 'tr',
18
- command: 'put',
19
- priority: 100,
20
- template: {
21
- format: '{patient} yi {destination} a koy',
22
- tokens: [
23
- {
24
- type: 'role',
25
- role: 'patient',
26
- expectedTypes: ['literal', 'selector', 'reference', 'expression'],
27
- },
28
- {
29
- type: 'literal',
30
- value: 'yi',
31
- alternatives: ['yı', 'yu', 'yü', 'i', 'ı', 'u', 'ü', "'i", "'ı"],
32
- },
33
- { type: 'role', role: 'destination', expectedTypes: ['selector', 'reference'] },
34
- { type: 'literal', value: 'a', alternatives: ['e', "'a", "'e", '-a', '-e'] },
35
- { type: 'literal', value: 'koy', alternatives: ['koymak', 'yerleştir', 'yerleştirmek'] },
36
- ],
37
- },
38
- extraction: {
39
- patient: { position: 0 },
40
- destination: { position: 2 },
41
- },
42
- },
43
- {
44
- id: 'put-tr-simple',
45
- language: 'tr',
46
- command: 'put',
47
- priority: 90,
48
- template: {
49
- format: '{destination} a {patient} koy',
50
- tokens: [
51
- { type: 'role', role: 'destination', expectedTypes: ['selector', 'reference'] },
52
- { type: 'literal', value: 'a', alternatives: ['e', "'a", "'e"] },
53
- {
54
- type: 'role',
55
- role: 'patient',
56
- expectedTypes: ['literal', 'selector', 'reference', 'expression'],
57
- },
58
- { type: 'literal', value: 'koy', alternatives: ['koymak'] },
59
- ],
60
- },
61
- extraction: {
62
- destination: { position: 0 },
63
- patient: { position: 2 },
64
- },
65
- },
66
- ];
14
+ return [];
67
15
  }