@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,7 +1,8 @@
1
1
  /**
2
2
  * Japanese Event Handler 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,109 +11,5 @@ import type { LanguagePattern } from '../../types';
10
11
  * Get Japanese event handler patterns.
11
12
  */
12
13
  export function getEventHandlerPatternsJa(): LanguagePattern[] {
13
- return [
14
- {
15
- id: 'event-ja-conditional-source',
16
- language: 'ja',
17
- command: 'on',
18
- priority: 115,
19
- template: {
20
- format: '{source} から {event}したら {body}',
21
- tokens: [
22
- { type: 'role', role: 'source' },
23
- { type: 'literal', value: 'から', alternatives: ['の'] },
24
- { type: 'role', role: 'event' },
25
- { type: 'literal', value: 'したら', alternatives: ['すると'] },
26
- ],
27
- },
28
- extraction: {
29
- source: { position: 0 },
30
- event: { marker: 'から', markerAlternatives: ['の'] },
31
- },
32
- },
33
- {
34
- id: 'event-ja-conditional-tara',
35
- language: 'ja',
36
- command: 'on',
37
- priority: 105,
38
- template: {
39
- format: '{event}したら {body}',
40
- tokens: [
41
- { type: 'role', role: 'event' },
42
- { type: 'literal', value: 'したら', alternatives: ['すると', 'すれば'] },
43
- ],
44
- },
45
- extraction: {
46
- event: { position: 0 },
47
- },
48
- },
49
- {
50
- id: 'event-ja-temporal-suffix',
51
- language: 'ja',
52
- command: 'on',
53
- priority: 102,
54
- template: {
55
- format: '{event}時に {body}',
56
- tokens: [
57
- { type: 'role', role: 'event' },
58
- { type: 'literal', value: '時に', alternatives: ['時'] },
59
- ],
60
- },
61
- extraction: {
62
- event: { position: 0 },
63
- },
64
- },
65
- {
66
- id: 'event-ja-standard',
67
- language: 'ja',
68
- command: 'on',
69
- priority: 100,
70
- template: {
71
- format: '{event} で {body}',
72
- tokens: [
73
- { type: 'role', role: 'event' },
74
- { type: 'literal', value: 'で', alternatives: ['のとき', 'の時', '時'] },
75
- ],
76
- },
77
- extraction: {
78
- event: { position: 0 },
79
- },
80
- },
81
- {
82
- id: 'event-ja-source',
83
- language: 'ja',
84
- command: 'on',
85
- priority: 110,
86
- template: {
87
- format: '{source} から {event} で {body}',
88
- tokens: [
89
- { type: 'role', role: 'source' },
90
- { type: 'literal', value: 'から', alternatives: ['の'] },
91
- { type: 'role', role: 'event' },
92
- { type: 'literal', value: 'で' },
93
- ],
94
- },
95
- extraction: {
96
- source: { position: 0 },
97
- event: { marker: 'から', markerAlternatives: ['の'] },
98
- },
99
- },
100
- {
101
- id: 'event-ja-when',
102
- language: 'ja',
103
- command: 'on',
104
- priority: 95,
105
- template: {
106
- format: '{event} の 時 {body}',
107
- tokens: [
108
- { type: 'role', role: 'event' },
109
- { type: 'literal', value: 'の' },
110
- { type: 'literal', value: '時', alternatives: ['とき'] },
111
- ],
112
- },
113
- extraction: {
114
- event: { position: 0 },
115
- },
116
- },
117
- ];
14
+ return [];
118
15
  }
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Korean Event Handler Patterns
3
3
  *
4
- * Tree-shakeable: Only included when Korean 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,124 +11,5 @@ import type { LanguagePattern } from '../../types';
10
11
  * Get Korean event handler patterns.
11
12
  */
12
13
  export function getEventHandlerPatternsKo(): LanguagePattern[] {
13
- return [
14
- {
15
- id: 'event-ko-conditional-source',
16
- language: 'ko',
17
- command: 'on',
18
- priority: 115,
19
- template: {
20
- format: '{source} 에서 {event}하면 {body}',
21
- tokens: [
22
- { type: 'role', role: 'source' },
23
- { type: 'literal', value: '에서' },
24
- { type: 'role', role: 'event' },
25
- { type: 'literal', value: '하면', alternatives: ['으면'] },
26
- ],
27
- },
28
- extraction: {
29
- source: { position: 0 },
30
- event: { marker: '에서' },
31
- },
32
- },
33
- {
34
- id: 'event-ko-honorific-conditional',
35
- language: 'ko',
36
- command: 'on',
37
- priority: 106,
38
- template: {
39
- format: '{event}하시면 {body}',
40
- tokens: [
41
- { type: 'role', role: 'event' },
42
- { type: 'literal', value: '하시면', alternatives: ['으시면', '시면'] },
43
- ],
44
- },
45
- extraction: {
46
- event: { position: 0 },
47
- },
48
- },
49
- {
50
- id: 'event-ko-conditional-myeon',
51
- language: 'ko',
52
- command: 'on',
53
- priority: 105,
54
- template: {
55
- format: '{event}하면 {body}',
56
- tokens: [
57
- { type: 'role', role: 'event' },
58
- { type: 'literal', value: '하면', alternatives: ['으면', '면'] },
59
- ],
60
- },
61
- extraction: {
62
- event: { position: 0 },
63
- },
64
- },
65
- {
66
- id: 'event-ko-immediate',
67
- language: 'ko',
68
- command: 'on',
69
- priority: 104,
70
- template: {
71
- format: '{event}하자마자 {body}',
72
- tokens: [
73
- { type: 'role', role: 'event' },
74
- { type: 'literal', value: '하자마자', alternatives: ['자마자'] },
75
- ],
76
- },
77
- extraction: {
78
- event: { position: 0 },
79
- },
80
- },
81
- {
82
- id: 'event-ko-sequential-after',
83
- language: 'ko',
84
- command: 'on',
85
- priority: 103,
86
- template: {
87
- format: '{event}하고 나서 {body}',
88
- tokens: [
89
- { type: 'role', role: 'event' },
90
- { type: 'literal', value: '하고 나서', alternatives: ['하고나서', '고 나서', '고나서'] },
91
- ],
92
- },
93
- extraction: {
94
- event: { position: 0 },
95
- },
96
- },
97
- {
98
- id: 'event-ko-temporal-ttae',
99
- language: 'ko',
100
- command: 'on',
101
- priority: 102,
102
- template: {
103
- format: '{event}할때 {body}',
104
- tokens: [
105
- { type: 'role', role: 'event' },
106
- { type: 'literal', value: '할때', alternatives: ['할 때', '을때', '을 때'] },
107
- ],
108
- },
109
- extraction: {
110
- event: { position: 0 },
111
- },
112
- },
113
- {
114
- id: 'event-ko-source',
115
- language: 'ko',
116
- command: 'on',
117
- priority: 110,
118
- template: {
119
- format: '{source} 에서 {event} 에 {body}',
120
- tokens: [
121
- { type: 'role', role: 'source' },
122
- { type: 'literal', value: '에서' },
123
- { type: 'role', role: 'event' },
124
- { type: 'literal', value: '에' },
125
- ],
126
- },
127
- extraction: {
128
- source: { position: 0 },
129
- event: { marker: '에서' },
130
- },
131
- },
132
- ];
14
+ return [];
133
15
  }
@@ -1,30 +1,55 @@
1
1
  /**
2
- * Malay Event-handler Patterns
2
+ * Malay Event Handler Patterns
3
3
  *
4
- * Patterns for parsing "event-handler" command in Malay.
4
+ * Malay uses SVO word order with "apabila" (when) as the primary event keyword.
5
+ * Structure: apabila {event} {command} {patient} [pada {destination}]
6
+ *
7
+ * Examples:
8
+ * - "apabila klik togol .active" - on click toggle .active
9
+ * - "apabila klik togol .active pada #button" - on click toggle .active on #button
10
+ * - "apabila hantar togol .loading" - on submit toggle .loading
5
11
  */
6
12
 
7
13
  import type { LanguagePattern } from '../../types';
8
14
 
9
15
  export function getEventHandlerPatternsMs(): LanguagePattern[] {
10
16
  return [
11
- // TODO: Add patterns for event-handler
12
- // Example:
13
- // {
14
- // id: 'event-handler-ms-simple',
15
- // language: 'ms',
16
- // command: 'event-handler',
17
- // priority: 100,
18
- // template: {
19
- // format: 'TODO {patient}',
20
- // tokens: [
21
- // { type: 'literal', value: 'TODO' },
22
- // { type: 'role', role: 'patient' },
23
- // ],
24
- // },
25
- // extraction: {
26
- // patient: { position: 1 },
27
- // },
28
- // },
17
+ // Pattern: apabila {event} {body} - simple event handler
18
+ {
19
+ id: 'event-ms-apabila',
20
+ language: 'ms',
21
+ command: 'on',
22
+ priority: 100,
23
+ template: {
24
+ format: 'apabila {event} {body}',
25
+ tokens: [
26
+ { type: 'literal', value: 'apabila', alternatives: ['bila', 'ketika'] },
27
+ { type: 'role', role: 'event' },
28
+ ],
29
+ },
30
+ extraction: {
31
+ event: { position: 1 },
32
+ },
33
+ },
34
+ // Pattern: apabila {event} dari {source} - with source
35
+ {
36
+ id: 'event-ms-apabila-source',
37
+ language: 'ms',
38
+ command: 'on',
39
+ priority: 110,
40
+ template: {
41
+ format: 'apabila {event} dari {source} {body}',
42
+ tokens: [
43
+ { type: 'literal', value: 'apabila', alternatives: ['bila', 'ketika'] },
44
+ { type: 'role', role: 'event' },
45
+ { type: 'literal', value: 'dari' },
46
+ { type: 'role', role: 'source' },
47
+ ],
48
+ },
49
+ extraction: {
50
+ event: { position: 1 },
51
+ source: { marker: 'dari' },
52
+ },
53
+ },
29
54
  ];
30
55
  }
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Turkish Event Handler Patterns
3
3
  *
4
- * Tree-shakeable: Only included when Turkish 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,161 +11,5 @@ import type { LanguagePattern } from '../../types';
10
11
  * Get Turkish event handler patterns.
11
12
  */
12
13
  export function getEventHandlerPatternsTr(): LanguagePattern[] {
13
- return [
14
- {
15
- id: 'event-tr-conditional-source',
16
- language: 'tr',
17
- command: 'on',
18
- priority: 115,
19
- template: {
20
- format: '{source} den {event}dığında {body}',
21
- tokens: [
22
- { type: 'role', role: 'source' },
23
- { type: 'literal', value: 'den', alternatives: ['dan', 'ten', 'tan'] },
24
- { type: 'role', role: 'event' },
25
- {
26
- type: 'literal',
27
- value: 'dığında',
28
- alternatives: [
29
- 'diğinde',
30
- 'duğunda',
31
- 'düğünde',
32
- 'tığında',
33
- 'tiğinde',
34
- 'tuğunda',
35
- 'tüğünde',
36
- 'dıgında',
37
- 'diginde',
38
- 'dugunda',
39
- 'dügünde',
40
- ],
41
- },
42
- ],
43
- },
44
- extraction: {
45
- source: { position: 0 },
46
- event: { marker: 'den', markerAlternatives: ['dan', 'ten', 'tan'] },
47
- },
48
- },
49
- {
50
- id: 'event-tr-conditional-diginda',
51
- language: 'tr',
52
- command: 'on',
53
- priority: 105,
54
- template: {
55
- format: '{event}dığında {body}',
56
- tokens: [
57
- { type: 'role', role: 'event' },
58
- {
59
- type: 'literal',
60
- value: 'dığında',
61
- alternatives: [
62
- 'diğinde',
63
- 'duğunda',
64
- 'düğünde',
65
- 'tığında',
66
- 'tiğinde',
67
- 'tuğunda',
68
- 'tüğünde',
69
- 'dıgında',
70
- 'diginde',
71
- 'dugunda',
72
- 'dügünde',
73
- ],
74
- },
75
- ],
76
- },
77
- extraction: {
78
- event: { position: 0 },
79
- },
80
- },
81
- {
82
- id: 'event-tr-temporal-inca',
83
- language: 'tr',
84
- command: 'on',
85
- priority: 103,
86
- template: {
87
- format: '{event}ınca {body}',
88
- tokens: [
89
- { type: 'role', role: 'event' },
90
- {
91
- type: 'literal',
92
- value: 'ınca',
93
- alternatives: ['ince', 'unca', 'ünce', 'yınca', 'yince', 'yunca', 'yünce'],
94
- },
95
- ],
96
- },
97
- extraction: {
98
- event: { position: 0 },
99
- },
100
- },
101
- {
102
- id: 'event-tr-conditional-sa',
103
- language: 'tr',
104
- command: 'on',
105
- priority: 102,
106
- template: {
107
- format: '{event}rsa {body}',
108
- tokens: [
109
- { type: 'role', role: 'event' },
110
- { type: 'literal', value: 'rsa', alternatives: ['rse', 'sa', 'se'] },
111
- ],
112
- },
113
- extraction: {
114
- event: { position: 0 },
115
- },
116
- },
117
- {
118
- id: 'event-tr-simultaneity-ken',
119
- language: 'tr',
120
- command: 'on',
121
- priority: 95,
122
- template: {
123
- format: '{event}ken {body}',
124
- tokens: [
125
- { type: 'role', role: 'event' },
126
- { type: 'literal', value: 'ken' },
127
- ],
128
- },
129
- extraction: {
130
- event: { position: 0 },
131
- },
132
- },
133
- {
134
- id: 'event-tr-repetitive-dikce',
135
- language: 'tr',
136
- command: 'on',
137
- priority: 93,
138
- template: {
139
- format: '{event}dikçe {body}',
140
- tokens: [
141
- { type: 'role', role: 'event' },
142
- {
143
- type: 'literal',
144
- value: 'dikçe',
145
- alternatives: ['dıkça', 'dukça', 'dükçe', 'tikçe', 'tıkça', 'tukça', 'tükçe'],
146
- },
147
- ],
148
- },
149
- extraction: {
150
- event: { position: 0 },
151
- },
152
- },
153
- {
154
- id: 'event-tr-standard',
155
- language: 'tr',
156
- command: 'on',
157
- priority: 100,
158
- template: {
159
- format: '{event} olduğunda {body}',
160
- tokens: [
161
- { type: 'role', role: 'event' },
162
- { type: 'literal', value: 'olduğunda', alternatives: ['oldugunda', 'de', 'da'] },
163
- ],
164
- },
165
- extraction: {
166
- event: { position: 0 },
167
- },
168
- },
169
- ];
14
+ return [];
170
15
  }
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Arabic Get Patterns
3
3
  *
4
- * Hand-crafted patterns for "get" command.
5
- * Arabic: احصل على #element
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,39 +11,5 @@ import type { LanguagePattern } from '../../types';
11
11
  * Get Arabic get patterns.
12
12
  */
13
13
  export function getGetPatternsAr(): LanguagePattern[] {
14
- return [
15
- {
16
- id: 'get-ar-full',
17
- language: 'ar',
18
- command: 'get',
19
- priority: 100,
20
- template: {
21
- format: 'احصل على {source}',
22
- tokens: [
23
- { type: 'literal', value: 'احصل', alternatives: ['أحصل', 'خذ', 'أخذ', 'جلب'] },
24
- { type: 'literal', value: 'على', alternatives: ['علي'] },
25
- { type: 'role', role: 'source', expectedTypes: ['selector', 'reference', 'expression'] },
26
- ],
27
- },
28
- extraction: {
29
- source: { position: 2 },
30
- },
31
- },
32
- {
33
- id: 'get-ar-simple',
34
- language: 'ar',
35
- command: 'get',
36
- priority: 90,
37
- template: {
38
- format: 'احصل {source}',
39
- tokens: [
40
- { type: 'literal', value: 'احصل', alternatives: ['أحصل', 'خذ'] },
41
- { type: 'role', role: 'source', expectedTypes: ['selector', 'reference', 'expression'] },
42
- ],
43
- },
44
- extraction: {
45
- source: { position: 1 },
46
- },
47
- },
48
- ];
14
+ return [];
49
15
  }
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Japanese Get Patterns
3
3
  *
4
- * Hand-crafted patterns for "get" command.
5
- * Japanese: #element 取得
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,43 +11,5 @@ import type { LanguagePattern } from '../../types';
11
11
  * Get Japanese get patterns.
12
12
  */
13
13
  export function getGetPatternsJa(): LanguagePattern[] {
14
- return [
15
- {
16
- id: 'get-ja-full',
17
- language: 'ja',
18
- command: 'get',
19
- priority: 100,
20
- template: {
21
- format: '{source} を 取得',
22
- tokens: [
23
- { type: 'role', role: 'source', expectedTypes: ['selector', 'reference', 'expression'] },
24
- { type: 'literal', value: 'を' },
25
- {
26
- type: 'literal',
27
- value: '取得',
28
- alternatives: ['取得する', 'ゲット', 'ゲットする', '得る', '取る'],
29
- },
30
- ],
31
- },
32
- extraction: {
33
- source: { position: 0 },
34
- },
35
- },
36
- {
37
- id: 'get-ja-simple',
38
- language: 'ja',
39
- command: 'get',
40
- priority: 90,
41
- template: {
42
- format: '取得 {source}',
43
- tokens: [
44
- { type: 'literal', value: '取得', alternatives: ['取得する'] },
45
- { type: 'role', role: 'source', expectedTypes: ['selector', 'reference', 'expression'] },
46
- ],
47
- },
48
- extraction: {
49
- source: { position: 1 },
50
- },
51
- },
52
- ];
14
+ return [];
53
15
  }
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Korean Get Patterns
3
3
  *
4
- * Hand-crafted patterns for "get" command.
5
- * Korean: #element 가져오기
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,43 +11,5 @@ import type { LanguagePattern } from '../../types';
11
11
  * Get Korean get patterns.
12
12
  */
13
13
  export function getGetPatternsKo(): LanguagePattern[] {
14
- return [
15
- {
16
- id: 'get-ko-full',
17
- language: 'ko',
18
- command: 'get',
19
- priority: 100,
20
- template: {
21
- format: '{source} 를 가져오기',
22
- tokens: [
23
- { type: 'role', role: 'source', expectedTypes: ['selector', 'reference', 'expression'] },
24
- { type: 'literal', value: '를', alternatives: ['을'] },
25
- {
26
- type: 'literal',
27
- value: '가져오기',
28
- alternatives: ['가져오다', '얻다', '얻기', '취득', '취득하다'],
29
- },
30
- ],
31
- },
32
- extraction: {
33
- source: { position: 0 },
34
- },
35
- },
36
- {
37
- id: 'get-ko-simple',
38
- language: 'ko',
39
- command: 'get',
40
- priority: 90,
41
- template: {
42
- format: '가져오기 {source}',
43
- tokens: [
44
- { type: 'literal', value: '가져오기', alternatives: ['가져오다'] },
45
- { type: 'role', role: 'source', expectedTypes: ['selector', 'reference', 'expression'] },
46
- ],
47
- },
48
- extraction: {
49
- source: { position: 1 },
50
- },
51
- },
52
- ];
14
+ return [];
53
15
  }