@aster-cloud/aster-lang-ts 0.0.32 → 0.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 (174) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +4 -4
  3. package/dist/peg/headers-parser.js +233 -468
  4. package/dist/scripts/cleanup-examples.js +1 -1
  5. package/dist/scripts/cleanup-examples.js.map +1 -1
  6. package/dist/scripts/emit-classfiles.js +0 -49
  7. package/dist/scripts/emit-classfiles.js.map +1 -1
  8. package/dist/scripts/golden.js +0 -3
  9. package/dist/scripts/golden.js.map +1 -1
  10. package/dist/scripts/lsp-capmanifest-codeaction-smoke.js +2 -2
  11. package/dist/scripts/lsp-capmanifest-codeaction-smoke.js.map +1 -1
  12. package/dist/scripts/lsp-codeaction-smoke.js +2 -2
  13. package/dist/scripts/lsp-codeaction-smoke.js.map +1 -1
  14. package/dist/scripts/lsp-health-smoke.js +1 -1
  15. package/dist/scripts/lsp-health-smoke.js.map +1 -1
  16. package/dist/scripts/lsp-missing-header-codeaction-smoke.js +1 -1
  17. package/dist/scripts/lsp-missing-header-codeaction-smoke.js.map +1 -1
  18. package/dist/scripts/lsp-multi-rename.test.js +1 -1
  19. package/dist/scripts/lsp-multi-rename.test.js.map +1 -1
  20. package/dist/scripts/lsp-punct-codeaction-smoke.js +1 -1
  21. package/dist/scripts/lsp-punct-codeaction-smoke.js.map +1 -1
  22. package/dist/scripts/lsp-streaming-progress-smoke.js +2 -2
  23. package/dist/scripts/lsp-streaming-progress-smoke.js.map +1 -1
  24. package/dist/src/ast/ast.js +1 -1
  25. package/dist/src/ast/ast.js.map +1 -1
  26. package/dist/src/browser.d.ts +6 -18
  27. package/dist/src/browser.d.ts.map +1 -1
  28. package/dist/src/browser.js +14 -24
  29. package/dist/src/browser.js.map +1 -1
  30. package/dist/src/config/lexicons/diagnostic-messages.d.ts +23 -0
  31. package/dist/src/config/lexicons/diagnostic-messages.d.ts.map +1 -0
  32. package/dist/src/config/lexicons/diagnostic-messages.js +130 -0
  33. package/dist/src/config/lexicons/diagnostic-messages.js.map +1 -0
  34. package/dist/src/config/lexicons/input-generation-rules.d.ts +22 -0
  35. package/dist/src/config/lexicons/input-generation-rules.d.ts.map +1 -0
  36. package/dist/src/config/lexicons/input-generation-rules.js +142 -0
  37. package/dist/src/config/lexicons/input-generation-rules.js.map +1 -0
  38. package/dist/src/config/lexicons/lsp-ui-texts.d.ts +42 -0
  39. package/dist/src/config/lexicons/lsp-ui-texts.d.ts.map +1 -0
  40. package/dist/src/config/lexicons/lsp-ui-texts.js +75 -0
  41. package/dist/src/config/lexicons/lsp-ui-texts.js.map +1 -0
  42. package/dist/src/config/lexicons/overlay-loader.d.ts +55 -0
  43. package/dist/src/config/lexicons/overlay-loader.d.ts.map +1 -0
  44. package/dist/src/config/lexicons/overlay-loader.js +30 -0
  45. package/dist/src/config/lexicons/overlay-loader.js.map +1 -0
  46. package/dist/src/config/lexicons/type-inference-rules.d.ts +19 -0
  47. package/dist/src/config/lexicons/type-inference-rules.d.ts.map +1 -0
  48. package/dist/src/config/lexicons/type-inference-rules.js +56 -0
  49. package/dist/src/config/lexicons/type-inference-rules.js.map +1 -0
  50. package/dist/src/config/lexicons/types.d.ts +10 -0
  51. package/dist/src/config/lexicons/types.d.ts.map +1 -1
  52. package/dist/src/config/lexicons/types.js.map +1 -1
  53. package/dist/src/config/semantic.d.ts +0 -8
  54. package/dist/src/config/semantic.d.ts.map +1 -1
  55. package/dist/src/config/semantic.js +0 -16
  56. package/dist/src/config/semantic.js.map +1 -1
  57. package/dist/src/diagnostics/diagnostics.d.ts +1 -7
  58. package/dist/src/diagnostics/diagnostics.d.ts.map +1 -1
  59. package/dist/src/diagnostics/diagnostics.js +2 -9
  60. package/dist/src/diagnostics/diagnostics.js.map +1 -1
  61. package/dist/src/diagnostics/error_codes.d.ts +2 -1
  62. package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
  63. package/dist/src/diagnostics/error_codes.js +85 -480
  64. package/dist/src/diagnostics/error_codes.js.map +1 -1
  65. package/dist/src/formatter.js +8 -23
  66. package/dist/src/formatter.js.map +1 -1
  67. package/dist/src/frontend/lexer.d.ts +1 -1
  68. package/dist/src/frontend/lexer.js +1 -1
  69. package/dist/src/index.d.ts +3 -3
  70. package/dist/src/index.js +3 -3
  71. package/dist/src/lower_to_core.d.ts +3 -3
  72. package/dist/src/lower_to_core.js +3 -3
  73. package/dist/src/lsp/codeaction.d.ts +2 -1
  74. package/dist/src/lsp/codeaction.d.ts.map +1 -1
  75. package/dist/src/lsp/codeaction.js +17 -14
  76. package/dist/src/lsp/codeaction.js.map +1 -1
  77. package/dist/src/lsp/completion.d.ts +4 -51
  78. package/dist/src/lsp/completion.d.ts.map +1 -1
  79. package/dist/src/lsp/completion.js +15 -83
  80. package/dist/src/lsp/completion.js.map +1 -1
  81. package/dist/src/lsp/diagnostics.d.ts +3 -2
  82. package/dist/src/lsp/diagnostics.d.ts.map +1 -1
  83. package/dist/src/lsp/diagnostics.js +14 -7
  84. package/dist/src/lsp/diagnostics.js.map +1 -1
  85. package/dist/src/lsp/navigation/hover.d.ts +2 -1
  86. package/dist/src/lsp/navigation/hover.d.ts.map +1 -1
  87. package/dist/src/lsp/navigation/hover.js +22 -35
  88. package/dist/src/lsp/navigation/hover.js.map +1 -1
  89. package/dist/src/lsp/navigation.d.ts +1 -1
  90. package/dist/src/lsp/navigation.d.ts.map +1 -1
  91. package/dist/src/lsp/navigation.js +2 -2
  92. package/dist/src/lsp/navigation.js.map +1 -1
  93. package/dist/src/lsp/pii_diagnostics.js +3 -13
  94. package/dist/src/lsp/pii_diagnostics.js.map +1 -1
  95. package/dist/src/lsp/server.js +35 -8
  96. package/dist/src/lsp/server.js.map +1 -1
  97. package/dist/src/lsp/workspace/document-indexer.js +1 -1
  98. package/dist/src/lsp/workspace/document-indexer.js.map +1 -1
  99. package/dist/src/package/resolver.js +6 -6
  100. package/dist/src/package/resolver.js.map +1 -1
  101. package/dist/src/parser/constraint-parser.d.ts +1 -10
  102. package/dist/src/parser/constraint-parser.d.ts.map +1 -1
  103. package/dist/src/parser/constraint-parser.js +0 -30
  104. package/dist/src/parser/constraint-parser.js.map +1 -1
  105. package/dist/src/parser/context.d.ts +3 -1
  106. package/dist/src/parser/context.d.ts.map +1 -1
  107. package/dist/src/parser/context.js +2 -1
  108. package/dist/src/parser/context.js.map +1 -1
  109. package/dist/src/parser/decl-parser.d.ts +1 -1
  110. package/dist/src/parser/decl-parser.js +3 -3
  111. package/dist/src/parser/decl-parser.js.map +1 -1
  112. package/dist/src/parser/expr-stmt-parser.js +3 -3
  113. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  114. package/dist/src/parser/field-variant-parser.js +1 -1
  115. package/dist/src/parser/field-variant-parser.js.map +1 -1
  116. package/dist/src/parser/import-parser.d.ts +1 -1
  117. package/dist/src/parser/import-parser.js +2 -2
  118. package/dist/src/parser/import-parser.js.map +1 -1
  119. package/dist/src/parser/input-generator.d.ts +20 -6
  120. package/dist/src/parser/input-generator.d.ts.map +1 -1
  121. package/dist/src/parser/input-generator.js +20 -403
  122. package/dist/src/parser/input-generator.js.map +1 -1
  123. package/dist/src/parser/type-inference.d.ts +10 -16
  124. package/dist/src/parser/type-inference.d.ts.map +1 -1
  125. package/dist/src/parser/type-inference.js +36 -127
  126. package/dist/src/parser/type-inference.js.map +1 -1
  127. package/dist/src/parser.d.ts +1 -1
  128. package/dist/src/parser.d.ts.map +1 -1
  129. package/dist/src/parser.js +6 -3
  130. package/dist/src/parser.js.map +1 -1
  131. package/dist/src/typecheck/context.d.ts +2 -0
  132. package/dist/src/typecheck/context.d.ts.map +1 -1
  133. package/dist/src/typecheck/context.js.map +1 -1
  134. package/dist/src/typecheck/diagnostics.d.ts +6 -0
  135. package/dist/src/typecheck/diagnostics.d.ts.map +1 -1
  136. package/dist/src/typecheck/diagnostics.js +11 -3
  137. package/dist/src/typecheck/diagnostics.js.map +1 -1
  138. package/dist/src/typecheck/module.d.ts.map +1 -1
  139. package/dist/src/typecheck/module.js +8 -2
  140. package/dist/src/typecheck/module.js.map +1 -1
  141. package/dist/src/typecheck/workflow.js +10 -10
  142. package/dist/src/typecheck/workflow.js.map +1 -1
  143. package/dist/src/types/type-inference.d.ts +20 -0
  144. package/dist/src/types/type-inference.d.ts.map +1 -0
  145. package/dist/src/types/type-inference.js +8 -0
  146. package/dist/src/types/type-inference.js.map +1 -0
  147. package/dist/src/types.d.ts +0 -21
  148. package/dist/src/types.d.ts.map +1 -1
  149. package/dist/src/types.js.map +1 -1
  150. package/dist/test/fuzz/formatter-fuzz.test.js +5 -1
  151. package/dist/test/fuzz/formatter-fuzz.test.js.map +1 -1
  152. package/dist/test/integration/compliance/compliance-smoke.test.js +4 -1
  153. package/dist/test/integration/compliance/compliance-smoke.test.js.map +1 -1
  154. package/dist/test/type-checker/pii-propagation.test.js +1 -2
  155. package/dist/test/type-checker/pii-propagation.test.js.map +1 -1
  156. package/dist/test/unit/browser/extract-schema.test.d.ts +2 -0
  157. package/dist/test/unit/browser/extract-schema.test.d.ts.map +1 -0
  158. package/dist/test/unit/browser/extract-schema.test.js +117 -0
  159. package/dist/test/unit/browser/extract-schema.test.js.map +1 -0
  160. package/dist/test/unit/emitter/emitter.test.js +30 -35
  161. package/dist/test/unit/emitter/emitter.test.js.map +1 -1
  162. package/dist/test/unit/lowering/lowering.test.js +1 -1
  163. package/dist/test/unit/lowering/lowering.test.js.map +1 -1
  164. package/dist/test/unit/lsp/pii-diagnostics.test.js +5 -5
  165. package/dist/test/unit/lsp/pii-diagnostics.test.js.map +1 -1
  166. package/dist/test/unit/parser/type-inference.test.js +50 -32
  167. package/dist/test/unit/parser/type-inference.test.js.map +1 -1
  168. package/dist/test/unit/typecheck/regression-fixes.test.js +12 -12
  169. package/dist/test/unit/typecheck/regression-fixes.test.js.map +1 -1
  170. package/dist/test/unit/typecheck/type-system.test.js +2 -2
  171. package/dist/test/unit/typecheck/type-system.test.js.map +1 -1
  172. package/dist/test/unit/typecheck/typecheck-advanced.test.js +2 -2
  173. package/dist/test/unit/typecheck/typecheck-advanced.test.js.map +1 -1
  174. package/package.json +1 -1
@@ -36,122 +36,24 @@ import { Node } from '../ast/ast.js';
36
36
  * - 分类类型(Type、Status、Category)
37
37
  * - 产品属性(Make、Model)
38
38
  */
39
- export const NAMING_RULES = [
40
- // 明确的文本字段(避免误匹配 age 等数值后缀)
39
+ /**
40
+ * 语言无关的通用基线命名规则。
41
+ * 语言特定规则(英文布尔前缀、中文前缀、德语后缀等)
42
+ * 已拆分至 config/lexicons/type-inference-rules.ts(overlay 模式)。
43
+ */
44
+ export const BASE_NAMING_RULES = [
45
+ // 明确文本
41
46
  { pattern: /(?:Message|Dosage)$/i, type: 'Text', priority: 11 },
42
- // ID 类型 - 各种标识符
47
+ // ID/标识符(所有语言通用)
43
48
  { pattern: /(?:Id|ID|Identifier)$/i, type: 'Text', priority: 10 },
44
49
  { pattern: /(?:Code|Key|Token|Uuid|Guid|Vin)$/i, type: 'Text', priority: 8 },
45
- // 金额/价格类型 - 金融相关(Float 表示精确小数)
46
- {
47
- pattern: /(?:Amount|Price|Cost|Fee|Total|Balance|Salary|Income|Payment|Percentage|Ratio)$/i,
48
- type: 'Float',
49
- priority: 10,
50
- },
51
- // 利率类型 - 通常为小数(APR/APY 在业务中常用整数基点表示,见下方规则)
52
- {
53
- pattern: /(?:Rate|Interest)$/i,
54
- type: 'Float',
55
- priority: 9,
56
- },
57
- // 利率/费率(中文)
58
- {
59
- pattern: /(?:利率|费率|比率|百分比)$/,
60
- type: 'Float',
61
- priority: 9,
62
- },
63
- // 计数/数量类型 - 整数相关(英文)
64
- {
65
- pattern: /(?:Count|Number|Qty|Quantity|Age|Score|Level|Rank|Index|Size|Length|Width|Height)$/i,
66
- type: 'Int',
67
- priority: 10,
68
- },
69
- // 计数/数量类型 - 整数相关(中文)
70
- // 评分/年龄/数量/次数/额度 等
71
- {
72
- pattern: /(?:评分|年龄|数量|次数|额度|金额|保费|免赔额|账龄|卡数)$/,
73
- type: 'Int',
74
- priority: 10,
75
- },
76
- {
77
- pattern: /(?:Checked)$/i,
78
- type: 'Int',
79
- priority: 8,
80
- },
81
- // 业务指标类型 - 整数(评级、限额、保费等)
82
- {
83
- pattern: /(?:Rating|Limit|Premium|Deductible|Multiplier|Deposit|Line|Utilization|Inquiries|Rent|Debt|Cards|Value|Payments)$/i,
84
- type: 'Int',
85
- priority: 9,
86
- },
87
- // 经验/工龄类型 - 整数
88
- {
89
- pattern: /(?:Licensed|Employed|Job|Experience)$/i,
90
- type: 'Int',
91
- priority: 8,
92
- },
93
- // 基点表示(整数)
94
- {
95
- pattern: /(?:Bps|APR|APY)$/i,
96
- type: 'Int',
97
- priority: 9,
98
- },
99
- // 时间单位(整数)
100
- {
101
- pattern: /(?:Years?|Months?|Weeks?|Days?|Hours?|Minutes?|Seconds?)$/i,
102
- type: 'Int',
103
- priority: 9,
104
- },
105
- // 布尔类型 - 前缀匹配(英文)
106
- {
107
- pattern: /^(?:is|has|can|should|was|will|did|does|allow|enable|disable|active|valid|require)/i,
108
- type: 'Bool',
109
- priority: 11,
110
- },
111
- // 布尔类型 - 前缀匹配(中文)
112
- // 是否* = "whether", 有无* = "has/have", 能否* = "can", 可否* = "may"
113
- {
114
- pattern: /^(?:是否|有无|能否|可否|允许|启用|禁用)/,
115
- type: 'Bool',
116
- priority: 11,
117
- },
118
- // 布尔类型 - 后缀匹配(英文)
119
- {
120
- pattern: /(?:Flag|Enabled|Disabled|Active|Valid|Approved|Rejected|Completed|Confirmed|Sufficient|Success|Passed|Verified)$/i,
121
- type: 'Bool',
122
- priority: 8,
123
- },
124
- // 布尔类型 - 后缀匹配(中文)
125
- // 仅包含明确的布尔语义词汇,排除可能是状态枚举的词(成功/失败/完成)
126
- {
127
- pattern: /(?:批准|通过|有效|合格|可疑|确认|验证)$/,
128
- type: 'Bool',
129
- priority: 8,
130
- },
131
- // 日期时间类型
132
- {
133
- pattern: /(?:Date|Time|At|Timestamp|Created|Updated|Modified|Expired|Birthday|Anniversary)$/i,
134
- type: 'DateTime',
135
- priority: 10,
136
- },
137
- // 分类/状态类型 - 文本
138
- {
139
- pattern: /(?:Type|Status|Category|Kind|Mode)$/i,
140
- type: 'Text',
141
- priority: 8,
142
- },
143
- // 产品/车辆属性 - 文本
144
- {
145
- pattern: /(?:Make|Model|Brand|Manufacturer)$/i,
146
- type: 'Text',
147
- priority: 7,
148
- },
149
- // 名称/描述类型 - 明确为文本
150
- {
151
- pattern: /(?:Name|Title|Description|Comment|Note|Remark|Address|Email|Phone|Url|Path|Reason|Recommendation|Factors|Purpose)$/i,
152
- type: 'Text',
153
- priority: 7,
154
- },
50
+ // 金额/价格
51
+ { pattern: /(?:Amount|Price|Cost|Fee|Total|Balance|Salary|Income|Payment|Percentage|Ratio)$/i, type: 'Float', priority: 10 },
52
+ { pattern: /(?:Rate|Interest)$/i, type: 'Float', priority: 9 },
53
+ // 计数/数量
54
+ { pattern: /(?:Count|Number|Qty|Quantity|Age|Score|Level|Rank|Index|Size|Length|Width|Height)$/i, type: 'Int', priority: 10 },
55
+ // 时间单位
56
+ { pattern: /(?:Years?|Months?|Weeks?|Days?|Hours?|Minutes?|Seconds?)$/i, type: 'Int', priority: 9 },
155
57
  ];
156
58
  /** 默认推断类型 */
157
59
  const DEFAULT_TYPE = 'Text';
@@ -196,18 +98,13 @@ export function inferTypeFromConstraints(constraints) {
196
98
  * @param constraints 可选的约束列表
197
99
  * @returns 推断的类型 AST 节点
198
100
  */
199
- export function inferFieldType(fieldName, constraints = []) {
200
- // 优先使用约束推断
101
+ export function inferFieldType(fieldName, constraints = [], lexicon) {
201
102
  const constraintDriven = inferTypeFromConstraints(constraints);
202
- if (constraintDriven) {
103
+ if (constraintDriven)
203
104
  return createPrimitiveType(constraintDriven);
204
- }
205
- // 其次使用命名推断
206
- const nameDriven = inferFromName(fieldName);
207
- if (nameDriven) {
105
+ const nameDriven = inferFromName(fieldName, lexicon);
106
+ if (nameDriven)
208
107
  return createPrimitiveType(nameDriven);
209
- }
210
- // 默认类型
211
108
  return createPrimitiveType(DEFAULT_TYPE);
212
109
  }
213
110
  /**
@@ -269,16 +166,28 @@ function inferConstraintType(constraint) {
269
166
  function hasFractionalBound(range) {
270
167
  return [range.min, range.max].some((value) => value !== undefined && !Number.isInteger(value));
271
168
  }
169
+ /** 规则缓存(按 lexicon id) */
170
+ const ruleCache = new Map();
171
+ function getMergedRules(lexicon) {
172
+ if (!lexicon?.typeInferenceRules)
173
+ return BASE_NAMING_RULES;
174
+ const id = lexicon.id;
175
+ const cached = ruleCache.get(id);
176
+ if (cached)
177
+ return cached;
178
+ const merged = [...BASE_NAMING_RULES, ...lexicon.typeInferenceRules];
179
+ ruleCache.set(id, merged);
180
+ return merged;
181
+ }
272
182
  /**
273
183
  * 从字段名推断类型
274
184
  */
275
- function inferFromName(fieldName) {
185
+ function inferFromName(fieldName, lexicon) {
186
+ const rules = getMergedRules(lexicon);
276
187
  let matchedRule = null;
277
- for (const rule of NAMING_RULES) {
278
- if (!rule.pattern.test(fieldName)) {
188
+ for (const rule of rules) {
189
+ if (!rule.pattern.test(fieldName))
279
190
  continue;
280
- }
281
- // 选择优先级最高的匹配规则
282
191
  if (!matchedRule || rule.priority > matchedRule.priority) {
283
192
  matchedRule = rule;
284
193
  }
@@ -1 +1 @@
1
- {"version":3,"file":"type-inference.js","sourceRoot":"","sources":["../../../src/parser/type-inference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-inference.js","sourceRoot":"","sources":["../../../src/parser/type-inference.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ import type { Lexicon } from './config/lexicons/types.js';
17
17
  * @param tokens 词法标记数组(应为英文关键词或已翻译的 token)
18
18
  * @returns 模块 AST
19
19
  */
20
- export declare function parse(tokens: readonly Token[]): Module;
20
+ export declare function parse(tokens: readonly Token[], lexicon?: Lexicon): Module;
21
21
  /**
22
22
  * 使用指定 Lexicon 解析 token 流。
23
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAgB1D;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,MAAM,CAStD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,OAAO,GAAE,OAAe,GACvB,MAAM,CAWR"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAiB1D;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CASzE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,OAAO,GAAE,OAAe,GACvB,MAAM,CAaR"}
@@ -12,6 +12,7 @@ import { createParserTools } from './parser/parser-tools.js';
12
12
  import { collectTopLevelDecls } from './parser/decl-parser.js';
13
13
  import { assignSpan, firstSignificantToken, lastSignificantTokenInStream, spanFromTokens, } from './parser/span-utils.js';
14
14
  import { createKeywordTranslator, needsKeywordTranslation, } from './frontend/keyword-translator.js';
15
+ import { attachTypeInferenceRules } from './config/lexicons/type-inference-rules.js';
15
16
  import { EN_US } from './config/lexicons/en-US.js';
16
17
  /**
17
18
  * 解析标记流生成 AST
@@ -22,9 +23,9 @@ import { EN_US } from './config/lexicons/en-US.js';
22
23
  * @param tokens 词法标记数组(应为英文关键词或已翻译的 token)
23
24
  * @returns 模块 AST
24
25
  */
25
- export function parse(tokens) {
26
+ export function parse(tokens, lexicon) {
26
27
  const moduleStart = firstSignificantToken(tokens);
27
- const ctx = createParserContext(tokens);
28
+ const ctx = createParserContext(tokens, lexicon);
28
29
  const tools = createParserTools(ctx);
29
30
  const decls = collectTopLevelDecls(ctx, tools);
30
31
  const moduleNode = Node.Module(ctx.moduleName, decls);
@@ -65,6 +66,8 @@ export function parseWithLexicon(tokens, lexicon = EN_US) {
65
66
  // 使用 keyword-translator 将本地化关键词翻译为英文
66
67
  const translator = createKeywordTranslator(lexicon);
67
68
  const translatedTokens = translator.translateTokens(tokens);
68
- return parse(translatedTokens);
69
+ // 附加类型推断规则后传递给 parse
70
+ const effective = attachTypeInferenceRules(lexicon);
71
+ return parse(translatedTokens, effective);
69
72
  }
70
73
  //# sourceMappingURL=parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,UAAU,KAAK,CAAC,MAAwB;IAC5C,MAAM,WAAW,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACvD,UAAU,CAAC,UAAU,EAAE,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/D,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAwB,EACxB,UAAmB,KAAK;IAExB,gCAAgC;IAChC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,qCAAqC;IACrC,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAE5D,OAAO,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,UAAU,KAAK,CAAC,MAAwB,EAAE,OAAiB;IAC/D,MAAM,WAAW,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACvD,UAAU,CAAC,UAAU,EAAE,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/D,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAwB,EACxB,UAAmB,KAAK;IAExB,gCAAgC;IAChC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,qCAAqC;IACrC,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAE5D,qBAAqB;IACrB,MAAM,SAAS,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { Core, Span } from '../types.js';
2
2
  import type { EffectSignature } from '../effects/effect_signature.js';
3
3
  import type { ModuleCache } from '../lsp/module_cache.js';
4
+ import type { Lexicon } from '../config/lexicons/types.js';
4
5
  import { DiagnosticBuilder } from './diagnostics.js';
5
6
  import { SymbolTable } from './symbol_table.js';
6
7
  import type { SymbolKind } from './symbol_table.js';
@@ -25,6 +26,7 @@ export interface TypecheckOptions {
25
26
  uri?: string | null;
26
27
  moduleSearchPaths?: readonly string[];
27
28
  moduleCache?: ModuleCache;
29
+ lexicon?: Lexicon | undefined;
28
30
  }
29
31
  export declare function defineSymbol(context: TypecheckWalkerContext, name: string, type: Core.Type, kind: SymbolKind, span?: Span): void;
30
32
  export declare function assignSymbol(context: TypecheckWalkerContext, name: string, type: Core.Type, span?: Span): void;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/typecheck/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC/C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC9C,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,UAAU,EAChB,IAAI,CAAC,EAAE,IAAI,GACV,IAAI,CAcN;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAc9G"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/typecheck/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC/C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC9C,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,UAAU,EAChB,IAAI,CAAC,EAAE,IAAI,GACV,IAAI,CAcN;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAc9G"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/typecheck/context.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA8BpD,MAAM,UAAU,YAAY,CAC1B,OAA+B,EAC/B,IAAY,EACZ,IAAe,EACf,IAAgB,EAChB,IAAW;IAEX,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACb,kBAAkB;QAClB,OAAO,CAAC,WAAW,CAAC,KAAK,0CAA6B,IAAI,EAAE;YAC1D,IAAI;YACJ,QAAQ,EAAE,QAAQ,CAAC,IAAI;SACxB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAuC,EAAE,CAAC;IACvD,IAAI,IAAI;QAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC;IACnC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAA+B,EAAE,IAAY,EAAE,IAAe,EAAE,IAAW;IACtG,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/E,OAAO,CAAC,WAAW,CAAC,KAAK,8CAAiC,IAAI,EAAE;YAC9D,IAAI;YACJ,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;SACzB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/typecheck/context.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA+BpD,MAAM,UAAU,YAAY,CAC1B,OAA+B,EAC/B,IAAY,EACZ,IAAe,EACf,IAAgB,EAChB,IAAW;IAEX,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACb,kBAAkB;QAClB,OAAO,CAAC,WAAW,CAAC,KAAK,0CAA6B,IAAI,EAAE;YAC1D,IAAI;YACJ,QAAQ,EAAE,QAAQ,CAAC,IAAI;SACxB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAuC,EAAE,CAAC;IACvD,IAAI,IAAI;QAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC;IACnC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAA+B,EAAE,IAAY,EAAE,IAAe,EAAE,IAAW;IACtG,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/E,OAAO,CAAC,WAAW,CAAC,KAAK,8CAAiC,IAAI,EAAE;YAC9D,IAAI;YACJ,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;SACzB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,CAAC"}
@@ -2,6 +2,12 @@ import type { Core, Span, TypecheckDiagnostic } from '../types.js';
2
2
  import { ErrorCode } from '../diagnostics/error_codes.js';
3
3
  export declare class DiagnosticBuilder {
4
4
  private readonly diagnostics;
5
+ private readonly localizedMessages;
6
+ private readonly localizedHelp;
7
+ constructor(options?: {
8
+ diagnosticMessages?: Readonly<Partial<Record<string, string>>> | undefined;
9
+ diagnosticHelp?: Readonly<Partial<Record<string, string>>> | undefined;
10
+ });
5
11
  error(code: ErrorCode, span: Span | undefined, params?: Record<string, unknown>): this;
6
12
  warning(code: ErrorCode, span: Span | undefined, params?: Record<string, unknown>): this;
7
13
  info(code: ErrorCode, span: Span | undefined, params?: Record<string, unknown>): this;
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/typecheck/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,SAAS,EAAkC,MAAM,+BAA+B,CAAC;AAc1F,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAEzD,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI;IAI1F,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI;IAI5F,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI;IAIzF,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI;IAOlF,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI;IAI7D,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI;IAkCrF,cAAc,IAAI,mBAAmB,EAAE;IAIvC,SAAS,IAAI,OAAO;IAIpB,OAAO,CAAC,GAAG;CAkBZ"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/typecheck/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,SAAS,EAAkC,MAAM,+BAA+B,CAAC;AAc1F,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwD;IAC1F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwD;gBAE1E,OAAO,CAAC,EAAE;QACpB,kBAAkB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QAC3E,cAAc,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;KACxE;IAKD,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI;IAI1F,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI;IAI5F,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI;IAIzF,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI;IAOlF,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI;IAI7D,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI;IAkCrF,cAAc,IAAI,mBAAmB,EAAE;IAIvC,SAAS,IAAI,OAAO;IAIpB,OAAO,CAAC,GAAG;CAoBZ"}
@@ -12,6 +12,12 @@ function formatMessage(template, params) {
12
12
  }
13
13
  export class DiagnosticBuilder {
14
14
  diagnostics = [];
15
+ localizedMessages;
16
+ localizedHelp;
17
+ constructor(options) {
18
+ this.localizedMessages = options?.diagnosticMessages;
19
+ this.localizedHelp = options?.diagnosticHelp;
20
+ }
15
21
  error(code, span, params = {}) {
16
22
  return this.add(code, span, params, 'error');
17
23
  }
@@ -72,7 +78,9 @@ export class DiagnosticBuilder {
72
78
  }
73
79
  add(code, span, params, severityOverride) {
74
80
  const metadata = ERROR_METADATA[code];
75
- const template = ERROR_MESSAGES[code] ?? metadata.message;
81
+ // 优先使用 lexicon 翻译,回退到英文基线
82
+ const template = this.localizedMessages?.[code] ?? ERROR_MESSAGES[code] ?? metadata.message;
83
+ const help = this.localizedHelp?.[code] ?? metadata.help;
76
84
  const severity = severityOverride ?? metadata.severity;
77
85
  const diagnostic = {
78
86
  severity,
@@ -81,8 +89,8 @@ export class DiagnosticBuilder {
81
89
  };
82
90
  if (span)
83
91
  diagnostic.span = span;
84
- if (metadata.help)
85
- diagnostic.help = metadata.help;
92
+ if (help)
93
+ diagnostic.help = help;
86
94
  if (Object.keys(params).length > 0)
87
95
  diagnostic.data = params;
88
96
  this.diagnostics.push(diagnostic);
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/typecheck/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/typecheck/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/typecheck/module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAsB,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAGL,KAAK,gBAAgB,EAEtB,MAAM,cAAc,CAAC;AA4BtB,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CAuFjG;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,IAAI,CAAC,MAAM,EAAE,EAC/B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,mBAAmB,CAyCpD;AAED,wBAAgB,+BAA+B,CAC7C,CAAC,EAAE,IAAI,CAAC,MAAM,EACd,QAAQ,EAAE,kBAAkB,GAAG,IAAI,EACnC,OAAO,CAAC,EAAE,gBAAgB,GACzB,mBAAmB,EAAE,CAwCvB"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/typecheck/module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAsB,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAGL,KAAK,gBAAgB,EAEtB,MAAM,cAAc,CAAC;AA4BtB,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CA0FjG;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,IAAI,CAAC,MAAM,EAAE,EAC/B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,mBAAmB,CAyCpD;AAED,wBAAgB,+BAA+B,CAC7C,CAAC,EAAE,IAAI,CAAC,MAAM,EACd,QAAQ,EAAE,kBAAkB,GAAG,IAAI,EACnC,OAAO,CAAC,EAAE,gBAAgB,GACzB,mBAAmB,EAAE,CA2CvB"}
@@ -24,7 +24,10 @@ export function typecheckModule(m, options) {
24
24
  try {
25
25
  const moduleCache = options?.moduleCache ?? defaultModuleCache;
26
26
  const moduleSearchPaths = normalizeModuleSearchPaths(options?.moduleSearchPaths);
27
- const diagnostics = new DiagnosticBuilder();
27
+ const diagnostics = new DiagnosticBuilder({
28
+ diagnosticMessages: options?.lexicon?.diagnosticMessages,
29
+ diagnosticHelp: options?.lexicon?.diagnosticHelp,
30
+ });
28
31
  const ctx = {
29
32
  datas: new Map(),
30
33
  enums: new Map(),
@@ -155,7 +158,10 @@ export function typecheckModuleWithCapabilities(m, manifest, options) {
155
158
  const baseDiagnostics = typecheckModule(m, options);
156
159
  if (!normalizedManifest)
157
160
  return baseDiagnostics;
158
- const builder = new DiagnosticBuilder();
161
+ const builder = new DiagnosticBuilder({
162
+ diagnosticMessages: options?.lexicon?.diagnosticMessages,
163
+ diagnosticHelp: options?.lexicon?.diagnosticHelp,
164
+ });
159
165
  const capCtx = { moduleName: m.name ?? '' };
160
166
  for (const d of m.decls) {
161
167
  if (d.kind !== 'Func')
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/typecheck/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/typecheck/module.ts"],"names":[],"mappings":"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"}
@@ -23,17 +23,17 @@ function estimateRetryWaitMs(retry) {
23
23
  }
24
24
  function describeDuration(ms) {
25
25
  if (!Number.isFinite(ms) || ms === Number.POSITIVE_INFINITY) {
26
- return '不可估算';
26
+ return 'incalculable';
27
27
  }
28
28
  if (ms < 1_000)
29
29
  return `${ms}ms`;
30
30
  if (ms < 600_000)
31
- return `${Math.round(ms / 1_000)}秒`;
31
+ return `${Math.round(ms / 1_000)}s`;
32
32
  if (ms < 3_600_000)
33
- return `${Math.round(ms / 60_000)}分钟`;
33
+ return `${Math.round(ms / 60_000)}min`;
34
34
  if (ms < 86_400_000)
35
- return `${Math.round(ms / 3_600_000)}小时`;
36
- return `${Math.round(ms / 86_400_000)}天`;
35
+ return `${Math.round(ms / 3_600_000)}h`;
36
+ return `${Math.round(ms / 86_400_000)}d`;
37
37
  }
38
38
  export function checkRetrySemantics(workflow, diagnostics) {
39
39
  if (!workflow.retry)
@@ -47,20 +47,20 @@ export function checkRetrySemantics(workflow, diagnostics) {
47
47
  const reasonPrefix = `retry(backoff=${backoff}, maxAttempts=${maxAttempts})`;
48
48
  if (timeoutMs && timeoutMs > 0 && estimatedWaitMs > timeoutMs) {
49
49
  diagnostics.warning("W105" /* ErrorCode.WORKFLOW_RETRY_INCONSISTENT */, originToSpan(workflow.origin), {
50
- reason: `${reasonPrefix} 预估累计等待 ${describeDuration(estimatedWaitMs)},超过 timeout=${describeDuration(timeoutMs)}`,
50
+ reason: `${reasonPrefix} estimated total wait ${describeDuration(estimatedWaitMs)} exceeds timeout=${describeDuration(timeoutMs)}`,
51
51
  });
52
52
  return;
53
53
  }
54
54
  if (maxAttempts > RETRY_RECOMMENDED_MAX_ATTEMPTS) {
55
55
  diagnostics.warning("W105" /* ErrorCode.WORKFLOW_RETRY_INCONSISTENT */, originToSpan(workflow.origin), {
56
- reason: `${reasonPrefix} 预计累计等待 ${describeDuration(estimatedWaitMs)},建议最多 ${RETRY_RECOMMENDED_MAX_ATTEMPTS} 次`,
56
+ reason: `${reasonPrefix} estimated total wait ${describeDuration(estimatedWaitMs)}, recommended max ${RETRY_RECOMMENDED_MAX_ATTEMPTS} attempts`,
57
57
  });
58
58
  return;
59
59
  }
60
60
  const waitLimit = backoff === 'linear' ? RETRY_LINEAR_WAIT_LIMIT_MS : RETRY_EXPONENTIAL_WAIT_LIMIT_MS;
61
61
  if (estimatedWaitMs > waitLimit) {
62
62
  diagnostics.warning("W105" /* ErrorCode.WORKFLOW_RETRY_INCONSISTENT */, originToSpan(workflow.origin), {
63
- reason: `${reasonPrefix} 预计累计等待 ${describeDuration(estimatedWaitMs)},超过推荐窗口 ${describeDuration(waitLimit)}`,
63
+ reason: `${reasonPrefix} estimated total wait ${describeDuration(estimatedWaitMs)} exceeds recommended window ${describeDuration(waitLimit)}`,
64
64
  });
65
65
  }
66
66
  }
@@ -72,12 +72,12 @@ export function checkTimeoutSemantics(workflow, diagnostics) {
72
72
  return;
73
73
  if (milliseconds <= 1_000) {
74
74
  diagnostics.warning("W106" /* ErrorCode.WORKFLOW_TIMEOUT_UNREASONABLE */, originToSpan(workflow.origin), {
75
- reason: `timeout=${milliseconds}ms (${Math.round(milliseconds / 1_000)}) 过短,可能导致正常操作超时`,
75
+ reason: `timeout=${milliseconds}ms (${Math.round(milliseconds / 1_000)}s) too short, may cause normal operations to time out`,
76
76
  });
77
77
  }
78
78
  if (milliseconds > 3_600_000) {
79
79
  diagnostics.warning("W106" /* ErrorCode.WORKFLOW_TIMEOUT_UNREASONABLE */, originToSpan(workflow.origin), {
80
- reason: `timeout=${milliseconds}ms (${Math.round(milliseconds / 60_000)}分钟) 过长,建议不超过 1 小时`,
80
+ reason: `timeout=${milliseconds}ms (${Math.round(milliseconds / 60_000)}min) too long, recommended maximum 1 hour`,
81
81
  });
82
82
  }
83
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/typecheck/workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/typecheck/workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * 类型推断共享类型定义
3
+ *
4
+ * 独立于 parser 层,供 config/lexicons overlay 和 parser/type-inference 共同使用,
5
+ * 避免 config -> parser 循环依赖。
6
+ */
7
+ /** 基础类型名称 */
8
+ export type PrimitiveTypeName = 'Text' | 'Int' | 'Float' | 'Bool' | 'DateTime';
9
+ /**
10
+ * 类型推断规则接口
11
+ */
12
+ export interface TypeInferenceRule {
13
+ /** 字段名匹配模式 */
14
+ readonly pattern: RegExp;
15
+ /** 推断的类型 */
16
+ readonly type: PrimitiveTypeName;
17
+ /** 优先级(数值越大优先级越高) */
18
+ readonly priority: number;
19
+ }
20
+ //# sourceMappingURL=type-inference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-inference.d.ts","sourceRoot":"","sources":["../../../src/types/type-inference.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,aAAa;AACb,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc;IACd,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,YAAY;IACZ,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,qBAAqB;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 类型推断共享类型定义
3
+ *
4
+ * 独立于 parser 层,供 config/lexicons overlay 和 parser/type-inference 共同使用,
5
+ * 避免 config -> parser 循环依赖。
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=type-inference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-inference.js","sourceRoot":"","sources":["../../../src/types/type-inference.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}