@aster-cloud/aster-lang-ts 0.2.0 → 0.2.2

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 (169) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/src/ast/ast.d.ts +2 -2
  3. package/dist/src/ast/ast.d.ts.map +1 -1
  4. package/dist/src/ast/ast.js +5 -2
  5. package/dist/src/ast/ast.js.map +1 -1
  6. package/dist/src/browser.d.ts +16 -1
  7. package/dist/src/browser.d.ts.map +1 -1
  8. package/dist/src/browser.js +10 -2
  9. package/dist/src/browser.js.map +1 -1
  10. package/dist/src/config/effect_config.d.ts.map +1 -1
  11. package/dist/src/config/effect_config.js +7 -1
  12. package/dist/src/config/effect_config.js.map +1 -1
  13. package/dist/src/config/lexicons/de-DE.d.ts.map +1 -1
  14. package/dist/src/config/lexicons/de-DE.js +1 -0
  15. package/dist/src/config/lexicons/de-DE.js.map +1 -1
  16. package/dist/src/config/lexicons/en-US.d.ts.map +1 -1
  17. package/dist/src/config/lexicons/en-US.js +1 -0
  18. package/dist/src/config/lexicons/en-US.js.map +1 -1
  19. package/dist/src/config/lexicons/identifiers/registry.d.ts +9 -0
  20. package/dist/src/config/lexicons/identifiers/registry.d.ts.map +1 -1
  21. package/dist/src/config/lexicons/identifiers/registry.js +12 -0
  22. package/dist/src/config/lexicons/identifiers/registry.js.map +1 -1
  23. package/dist/src/config/lexicons/template.d.ts.map +1 -1
  24. package/dist/src/config/lexicons/template.js +2 -0
  25. package/dist/src/config/lexicons/template.js.map +1 -1
  26. package/dist/src/config/lexicons/zh-CN.d.ts.map +1 -1
  27. package/dist/src/config/lexicons/zh-CN.js +36 -20
  28. package/dist/src/config/lexicons/zh-CN.js.map +1 -1
  29. package/dist/src/config/semantic.d.ts +1 -0
  30. package/dist/src/config/semantic.d.ts.map +1 -1
  31. package/dist/src/config/semantic.js +1 -0
  32. package/dist/src/config/semantic.js.map +1 -1
  33. package/dist/src/config/token-kind.d.ts +2 -0
  34. package/dist/src/config/token-kind.d.ts.map +1 -1
  35. package/dist/src/config/token-kind.js +3 -1
  36. package/dist/src/config/token-kind.js.map +1 -1
  37. package/dist/src/core/core_ir.d.ts +2 -2
  38. package/dist/src/core/core_ir.d.ts.map +1 -1
  39. package/dist/src/core/core_ir.js +5 -2
  40. package/dist/src/core/core_ir.js.map +1 -1
  41. package/dist/src/core/interpreter.js +4 -1
  42. package/dist/src/core/interpreter.js.map +1 -1
  43. package/dist/src/diagnostics/error_codes.d.ts +2 -0
  44. package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
  45. package/dist/src/diagnostics/error_codes.js +11 -5
  46. package/dist/src/diagnostics/error_codes.js.map +1 -1
  47. package/dist/src/effects/effect_inference_browser.d.ts.map +1 -1
  48. package/dist/src/effects/effect_inference_browser.js +22 -4
  49. package/dist/src/effects/effect_inference_browser.js.map +1 -1
  50. package/dist/src/frontend/canonicalizer.d.ts +33 -0
  51. package/dist/src/frontend/canonicalizer.d.ts.map +1 -1
  52. package/dist/src/frontend/canonicalizer.js +77 -5
  53. package/dist/src/frontend/canonicalizer.js.map +1 -1
  54. package/dist/src/lower_to_core.js +2 -2
  55. package/dist/src/lower_to_core.js.map +1 -1
  56. package/dist/src/lsp/config.d.ts +13 -9
  57. package/dist/src/lsp/config.d.ts.map +1 -1
  58. package/dist/src/lsp/config.js +19 -5
  59. package/dist/src/lsp/config.js.map +1 -1
  60. package/dist/src/lsp/server.js +19 -7
  61. package/dist/src/lsp/server.js.map +1 -1
  62. package/dist/src/parser/context.d.ts.map +1 -1
  63. package/dist/src/parser/context.js +32 -12
  64. package/dist/src/parser/context.js.map +1 -1
  65. package/dist/src/parser/decl-parser.d.ts +2 -2
  66. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  67. package/dist/src/parser/decl-parser.js +101 -13
  68. package/dist/src/parser/decl-parser.js.map +1 -1
  69. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  70. package/dist/src/parser/expr-stmt-parser.js +31 -1
  71. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  72. package/dist/src/parser/import-parser.d.ts +3 -2
  73. package/dist/src/parser/import-parser.d.ts.map +1 -1
  74. package/dist/src/parser/import-parser.js +12 -3
  75. package/dist/src/parser/import-parser.js.map +1 -1
  76. package/dist/src/typecheck/alias.d.ts +24 -0
  77. package/dist/src/typecheck/alias.d.ts.map +1 -0
  78. package/dist/src/typecheck/alias.js +30 -0
  79. package/dist/src/typecheck/alias.js.map +1 -0
  80. package/dist/src/typecheck/browser.d.ts +41 -4
  81. package/dist/src/typecheck/browser.d.ts.map +1 -1
  82. package/dist/src/typecheck/browser.js +112 -16
  83. package/dist/src/typecheck/browser.js.map +1 -1
  84. package/dist/src/typecheck/context.js +1 -1
  85. package/dist/src/typecheck/context.js.map +1 -1
  86. package/dist/src/typecheck/effects.js +1 -1
  87. package/dist/src/typecheck/effects.js.map +1 -1
  88. package/dist/src/typecheck/expression.js +1 -1
  89. package/dist/src/typecheck/expression.js.map +1 -1
  90. package/dist/src/typecheck/generics.js +1 -1
  91. package/dist/src/typecheck/generics.js.map +1 -1
  92. package/dist/src/typecheck/module.d.ts.map +1 -1
  93. package/dist/src/typecheck/module.js +13 -8
  94. package/dist/src/typecheck/module.js.map +1 -1
  95. package/dist/src/typecheck/pattern.js +1 -1
  96. package/dist/src/typecheck/pattern.js.map +1 -1
  97. package/dist/src/typecheck/pure.d.ts +66 -0
  98. package/dist/src/typecheck/pure.d.ts.map +1 -0
  99. package/dist/src/typecheck/pure.js +163 -0
  100. package/dist/src/typecheck/pure.js.map +1 -0
  101. package/dist/src/typecheck/statement.js +1 -1
  102. package/dist/src/typecheck/statement.js.map +1 -1
  103. package/dist/src/typecheck/type_system.d.ts +6 -1
  104. package/dist/src/typecheck/type_system.d.ts.map +1 -1
  105. package/dist/src/typecheck/type_system.js +61 -13
  106. package/dist/src/typecheck/type_system.js.map +1 -1
  107. package/dist/src/typecheck/utils.d.ts +4 -69
  108. package/dist/src/typecheck/utils.d.ts.map +1 -1
  109. package/dist/src/typecheck/utils.js +17 -170
  110. package/dist/src/typecheck/utils.js.map +1 -1
  111. package/dist/src/typecheck/workflow.js +1 -1
  112. package/dist/src/typecheck/workflow.js.map +1 -1
  113. package/dist/src/typecheck-pii.d.ts.map +1 -1
  114. package/dist/src/typecheck-pii.js +11 -1
  115. package/dist/src/typecheck-pii.js.map +1 -1
  116. package/dist/src/types/base.d.ts +1 -0
  117. package/dist/src/types/base.d.ts.map +1 -1
  118. package/dist/src/types.d.ts +17 -0
  119. package/dist/src/types.d.ts.map +1 -1
  120. package/dist/src/types.js.map +1 -1
  121. package/dist/test/type-checker/pii-propagation.test.js +24 -18
  122. package/dist/test/type-checker/pii-propagation.test.js.map +1 -1
  123. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.d.ts +2 -0
  124. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.d.ts.map +1 -0
  125. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.js +193 -0
  126. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.js.map +1 -0
  127. package/dist/test/unit/browser/typecheck-browser-unsupported.test.js +21 -11
  128. package/dist/test/unit/browser/typecheck-browser-unsupported.test.js.map +1 -1
  129. package/dist/test/unit/canonicalizer/canonicalizer.test.js +91 -1
  130. package/dist/test/unit/canonicalizer/canonicalizer.test.js.map +1 -1
  131. package/dist/test/unit/canonicalizer/cjk-punctuation.test.d.ts +2 -0
  132. package/dist/test/unit/canonicalizer/cjk-punctuation.test.d.ts.map +1 -0
  133. package/dist/test/unit/canonicalizer/cjk-punctuation.test.js +118 -0
  134. package/dist/test/unit/canonicalizer/cjk-punctuation.test.js.map +1 -0
  135. package/dist/test/unit/canonicalizer/conformance-cjk-v2.test.d.ts +2 -0
  136. package/dist/test/unit/canonicalizer/conformance-cjk-v2.test.d.ts.map +1 -0
  137. package/dist/test/unit/canonicalizer/conformance-cjk-v2.test.js +40 -0
  138. package/dist/test/unit/canonicalizer/conformance-cjk-v2.test.js.map +1 -0
  139. package/dist/test/unit/config/lexicons/i18n.test.js +11 -3
  140. package/dist/test/unit/config/lexicons/i18n.test.js.map +1 -1
  141. package/dist/test/unit/config/lexicons/zh-CN.test.js +129 -132
  142. package/dist/test/unit/config/lexicons/zh-CN.test.js.map +1 -1
  143. package/dist/test/unit/keyword-translator.test.js +16 -19
  144. package/dist/test/unit/keyword-translator.test.js.map +1 -1
  145. package/dist/test/unit/lowering/lowering.test.js +12 -0
  146. package/dist/test/unit/lowering/lowering.test.js.map +1 -1
  147. package/dist/test/unit/parser/entry-annotations.test.d.ts +2 -0
  148. package/dist/test/unit/parser/entry-annotations.test.d.ts.map +1 -0
  149. package/dist/test/unit/parser/entry-annotations.test.js +110 -0
  150. package/dist/test/unit/parser/entry-annotations.test.js.map +1 -0
  151. package/dist/test/unit/parser/parser.test.js +30 -6
  152. package/dist/test/unit/parser/parser.test.js.map +1 -1
  153. package/dist/test/unit/scripts/verify-browser-entry.test.d.ts +2 -0
  154. package/dist/test/unit/scripts/verify-browser-entry.test.d.ts.map +1 -0
  155. package/dist/test/unit/scripts/verify-browser-entry.test.js +179 -0
  156. package/dist/test/unit/scripts/verify-browser-entry.test.js.map +1 -0
  157. package/dist/test/unit/typecheck/function-return-inference.test.d.ts +2 -0
  158. package/dist/test/unit/typecheck/function-return-inference.test.d.ts.map +1 -0
  159. package/dist/test/unit/typecheck/function-return-inference.test.js +79 -0
  160. package/dist/test/unit/typecheck/function-return-inference.test.js.map +1 -0
  161. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.d.ts +2 -0
  162. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.d.ts.map +1 -0
  163. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.js +191 -0
  164. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.js.map +1 -0
  165. package/dist/test/unit/typecheck/should-enforce-pii.test.js +25 -110
  166. package/dist/test/unit/typecheck/should-enforce-pii.test.js.map +1 -1
  167. package/dist/test/unit/typecheck/type-system.test.js +83 -3
  168. package/dist/test/unit/typecheck/type-system.test.js.map +1 -1
  169. package/package.json +38 -9
@@ -1,6 +1,8 @@
1
- import { describe, it } from 'node:test';
1
+ import { describe, it, beforeEach, afterEach } from 'node:test';
2
2
  import assert from 'node:assert/strict';
3
3
  import { canonicalize } from '../../../src/frontend/canonicalizer.js';
4
+ import { vocabularyRegistry, initBuiltinVocabularies, } from '../../../src/config/lexicons/identifiers/registry.js';
5
+ import { IdentifierKind } from '../../../src/config/lexicons/identifiers/types.js';
4
6
  describe('canonicalizer', () => {
5
7
  describe('注释处理', () => {
6
8
  it('应该删除行注释并保留空行占位', () => {
@@ -197,5 +199,93 @@ describe('canonicalizer', () => {
197
199
  assert.strictEqual(result, ['MODULE Sample', ' wait for option of value, please.', '', 'Return "Tab Inside".'].join('\n'));
198
200
  });
199
201
  });
202
+ describe('租户自定义词汇翻译(ADR 0014 线A)', () => {
203
+ // 租户自定义词汇:把本地化术语 pilot 翻译为规范化 Driver
204
+ const customVocab = {
205
+ id: 'my.custom',
206
+ name: 'Custom',
207
+ locale: 'en-US',
208
+ version: '1.0.0',
209
+ structs: [{ canonical: 'Driver', localized: 'pilot', kind: IdentifierKind.STRUCT }],
210
+ fields: [],
211
+ functions: [],
212
+ enumValues: [],
213
+ };
214
+ beforeEach(() => {
215
+ vocabularyRegistry.clear();
216
+ initBuiltinVocabularies();
217
+ vocabularyRegistry.registerCustom('tenant-42', customVocab);
218
+ });
219
+ afterEach(() => {
220
+ vocabularyRegistry.clear();
221
+ });
222
+ it('提供 tenantId 时应翻译该租户的自定义词汇', () => {
223
+ const result = canonicalize('Return pilot.', {
224
+ domain: 'my.custom',
225
+ locale: 'en-US',
226
+ tenantId: 'tenant-42',
227
+ });
228
+ assert.strictEqual(result, 'Return Driver.');
229
+ });
230
+ it('缺省 tenantId 时仅查内置词汇,自定义词汇不被翻译', () => {
231
+ const result = canonicalize('Return pilot.', {
232
+ domain: 'my.custom',
233
+ locale: 'en-US',
234
+ });
235
+ // my.custom 非内置领域,getWithCustom 回退后查无 → 不翻译
236
+ assert.strictEqual(result, 'Return pilot.');
237
+ });
238
+ it('tenantId 不匹配时回退内置,自定义词汇不被翻译', () => {
239
+ const result = canonicalize('Return pilot.', {
240
+ domain: 'my.custom',
241
+ locale: 'en-US',
242
+ tenantId: 'other-tenant',
243
+ });
244
+ assert.strictEqual(result, 'Return pilot.');
245
+ });
246
+ it('结构体+字段重命名规范化结果与 Java 执行端基线字节一致(跨引擎 parity)', () => {
247
+ // 与 aster-api VocabularyExecutionTest 同一词汇:Fahrer→Driver、alter→age。
248
+ // 断言 TS 规范化产出 = 该测试的 canonical 基线源(Java 据此求值得 42),
249
+ // 锁定两引擎对用户自定义词汇的翻译一致。
250
+ const vocab = {
251
+ id: 'insurance.custom',
252
+ name: 'Custom',
253
+ locale: 'en-US',
254
+ version: 'user',
255
+ structs: [{ canonical: 'Driver', localized: 'Fahrer', kind: IdentifierKind.STRUCT }],
256
+ fields: [{ canonical: 'age', localized: 'alter', kind: IdentifierKind.FIELD, parent: 'Driver' }],
257
+ functions: [],
258
+ enumValues: [],
259
+ };
260
+ vocabularyRegistry.clear();
261
+ initBuiltinVocabularies();
262
+ vocabularyRegistry.registerCustom('t-parity', vocab);
263
+ const localized = [
264
+ 'Module insurance.custom.',
265
+ 'Define Fahrer has alter as Int.',
266
+ 'Rule evaluate given driver as Fahrer, produce Int:',
267
+ ' Return driver.alter.',
268
+ ].join('\n');
269
+ const expectedCanonical = [
270
+ 'Module insurance.custom.',
271
+ 'Define Driver has age as Int.',
272
+ 'Rule evaluate given driver as Driver, produce Int:',
273
+ ' Return driver.age.',
274
+ ].join('\n');
275
+ const result = canonicalize(localized, {
276
+ domain: 'insurance.custom',
277
+ locale: 'en-US',
278
+ tenantId: 't-parity',
279
+ });
280
+ assert.strictEqual(result, expectedCanonical);
281
+ // 大小写不敏感:小写 fahrer/alter 同样翻译(与 Java 引擎等价)。
282
+ const lower = canonicalize('Return fahrer.alter.', {
283
+ domain: 'insurance.custom',
284
+ locale: 'en-US',
285
+ tenantId: 't-parity',
286
+ });
287
+ assert.strictEqual(lower, 'Return Driver.age.');
288
+ });
289
+ });
200
290
  });
201
291
  //# sourceMappingURL=canonicalizer.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"canonicalizer.test.js","sourceRoot":"","sources":["../../../../test/unit/canonicalizer/canonicalizer.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonicalizer.test.js","sourceRoot":"","sources":["../../../../test/unit/canonicalizer/canonicalizer.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cjk-punctuation.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cjk-punctuation.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/canonicalizer/cjk-punctuation.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,118 @@
1
+ // CJK 标点软边界归一化单元测试。
2
+ //
3
+ // 验证点:
4
+ // 1. 中文标点在字符串字面量外正确归一化为英文等价
5
+ // 2. 字符串字面量内的中文标点 100% 保留
6
+ // 3. 与现有 fullWidthToHalfWidth、关键字、冠词处理路径不冲突
7
+ // 4. 仅在 whitespaceMode === 'chinese' 的 lexicon 下生效;英文路径不受影响
8
+ // 5. 幂等性:再次 canonicalize 相同输入产生相同输出
9
+ import { describe, it } from 'node:test';
10
+ import assert from 'node:assert/strict';
11
+ import { canonicalize } from '../../../src/frontend/canonicalizer.js';
12
+ import { ZH_CN } from '../../../src/config/lexicons/zh-CN.js';
13
+ describe('CJK 标点软边界归一化', () => {
14
+ describe('字符串外的标点替换', () => {
15
+ it('。→ .(语句终止符)', () => {
16
+ const input = '模块 测试.示例。';
17
+ const result = canonicalize(input, ZH_CN);
18
+ assert.ok(result.endsWith('.'), `expected to end with '.', got: ${result}`);
19
+ assert.strictEqual(result.includes('。'), false);
20
+ });
21
+ it(':→ :(块起始符)', () => {
22
+ const input = '规则 验证 给定 患者:\n 返回 真值。';
23
+ const result = canonicalize(input, ZH_CN);
24
+ assert.ok(result.includes(':'), `expected ':', got: ${result}`);
25
+ assert.strictEqual(result.includes(':'), false);
26
+ });
27
+ it(',→ ,(列表分隔符)', () => {
28
+ const input = '规则 评估 给定 年龄,评分,产出:\n 返回 真值。';
29
+ const result = canonicalize(input, ZH_CN);
30
+ assert.strictEqual(result.includes(','), false);
31
+ // 「,」应转为半角逗号,与英文 fixture 等价
32
+ assert.ok(result.includes(','), `expected comma, got: ${result}`);
33
+ assert.ok(/年龄\s*,\s*评分/.test(result), `expected '年龄, 评分': ${result}`);
34
+ });
35
+ it(';→ ;', () => {
36
+ const input = '规则 评估 给定 年龄;评分,产出:\n 返回 真值。';
37
+ const result = canonicalize(input, ZH_CN);
38
+ assert.strictEqual(result.includes(';'), false);
39
+ assert.ok(result.includes(';'), 'expected semicolon');
40
+ });
41
+ it('、→ ,(枚举分隔,与列表分隔等价)', () => {
42
+ const input = '定义 决定 包含 是否批准、理由。';
43
+ const result = canonicalize(input, ZH_CN);
44
+ assert.strictEqual(result.includes('、'), false);
45
+ assert.ok(result.includes(','), `expected enum sep -> comma: ${result}`);
46
+ });
47
+ });
48
+ describe('字符串字面量内的标点保留', () => {
49
+ it('「」 内的中文句号保留', () => {
50
+ const input = '返回 「年龄不足。请重试」。';
51
+ const result = canonicalize(input, ZH_CN);
52
+ // 字符串内的 。 保持;字符串外的句号变 .
53
+ assert.ok(result.includes('年龄不足。请重试'), `string content lost: ${result}`);
54
+ });
55
+ it('「」 内的中文逗号保留', () => {
56
+ const input = '返回 「张三,李四」。';
57
+ const result = canonicalize(input, ZH_CN);
58
+ assert.ok(result.includes('张三,李四'), `string content lost: ${result}`);
59
+ });
60
+ it('「」 内的全部 CJK 标点都保留', () => {
61
+ const input = '返回 「测试。:,;、」。';
62
+ const result = canonicalize(input, ZH_CN);
63
+ assert.ok(result.includes('测试。:,;、'), `string content lost: ${result}`);
64
+ });
65
+ });
66
+ describe('英文 lexicon 路径不受影响', () => {
67
+ it('英文输入下中文标点不应被处理(中文标点应保持原样作为标识符外字符)', () => {
68
+ // 英文 lexicon 的 whitespaceMode !== 'chinese',不应触发归一化
69
+ const input = 'Module test.example.';
70
+ const result = canonicalize(input);
71
+ // 英文路径不应改变原句号语义
72
+ assert.ok(result.includes('Module test.example.'), `unexpected: ${result}`);
73
+ });
74
+ });
75
+ describe('幂等性', () => {
76
+ it('对已归一化的代码再次 canonicalize 产生相同结果', () => {
77
+ const input = '规则 验证 给定 患者:\n 如果 患者.年龄 大于 18,\n 返回 真值。';
78
+ const once = canonicalize(input, ZH_CN);
79
+ const twice = canonicalize(once, ZH_CN);
80
+ assert.strictEqual(twice, once, `not idempotent: once=${once}, twice=${twice}`);
81
+ });
82
+ });
83
+ describe('混合场景', () => {
84
+ it('完整中文规则示例的端到端归一化', () => {
85
+ const input = [
86
+ '模块 测试.控制流。',
87
+ '',
88
+ '定义 决定 包含 是否批准、理由。',
89
+ '',
90
+ '规则 评估申请 包含 年龄,评分,产出:',
91
+ ' 如果 年龄 小于 18',
92
+ ' 返回 决定 包含 是否批准 将 设为 假值,理由 将 设为 「年龄不足」。',
93
+ ' 否则',
94
+ ' 返回 决定 包含 是否批准 将 设为 真值,理由 将 设为 「通过」。',
95
+ ].join('\n');
96
+ const result = canonicalize(input, ZH_CN);
97
+ // 不应残留任何字符串外 CJK 标点(segmentString 用 lexicon 的 quotes,即「」)
98
+ const lexQuoteOpen = '「';
99
+ const lexQuoteClose = '」';
100
+ const segments = result.split(/[「」]/);
101
+ const stringOutside = segments.filter((_, i) => i % 2 === 0).join('');
102
+ assert.strictEqual(stringOutside.includes('。'), false, `句号未归一化: ${result}`);
103
+ assert.strictEqual(stringOutside.includes(','), false, `逗号未归一化: ${result}`);
104
+ assert.strictEqual(stringOutside.includes(':'), false, `冒号未归一化: ${result}`);
105
+ assert.strictEqual(stringOutside.includes('、'), false, `顿号未归一化: ${result}`);
106
+ // 字符串内的标点保留
107
+ assert.ok(result.includes('年龄不足') || result.includes('「年龄不足」'));
108
+ // 应当生成英文等价标点
109
+ assert.ok(stringOutside.includes(','), '应生成半角逗号');
110
+ assert.ok(stringOutside.includes(':'), '应生成半角冒号');
111
+ assert.ok(stringOutside.includes('.'), '应生成半角句号');
112
+ // ensure lexicon quotes preserved as-is (not normalized)
113
+ void lexQuoteOpen;
114
+ void lexQuoteClose;
115
+ });
116
+ });
117
+ });
118
+ //# sourceMappingURL=cjk-punctuation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cjk-punctuation.test.js","sourceRoot":"","sources":["../../../../test/unit/canonicalizer/cjk-punctuation.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=conformance-cjk-v2.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conformance-cjk-v2.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/canonicalizer/conformance-cjk-v2.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ // 跨实现 conformance 测试(TS 端)。
2
+ //
3
+ // 对 corpus/conformance/cjk-v2/*.aster 的每个文件,断言 TS canonicalizer
4
+ // 输出与 .expected.txt 字节相等。配套的 Java 端测试在
5
+ // aster-lang-core/src/test/java/aster/core/canonicalizer/CjkV2ConformanceTest.java
6
+ // 必须产生相同的字节输出。
7
+ //
8
+ // 这是 v2 关键字 + CJK 标点归一化的合同测试——任何 byte drift 都是 P0 阻塞。
9
+ import { describe, it } from 'node:test';
10
+ import assert from 'node:assert/strict';
11
+ import { readdirSync, readFileSync } from 'node:fs';
12
+ import { join, dirname } from 'node:path';
13
+ import { fileURLToPath } from 'node:url';
14
+ import { normalizeCJKPunctuationOnly } from '../../../src/frontend/canonicalizer.js';
15
+ const here = dirname(fileURLToPath(import.meta.url));
16
+ // 编译后位置:dist/test/unit/canonicalizer/ → 回退到 aster-lang-ts/,
17
+ // 然后进 node_modules 找 corpus 链接。同时也兼容直接从 src/ 跑(测试环境)。
18
+ const conformanceDir = join(here, '..', '..', '..', '..', // → aster-lang-ts/ (from dist/test/unit/canonicalizer/)
19
+ 'node_modules', '@aster-cloud', 'aster-lang-test', 'corpus', 'conformance', 'cjk-v2');
20
+ describe('Conformance: CJK v2 cross-impl 字节等价(TS 端)', () => {
21
+ const entries = readdirSync(conformanceDir);
22
+ const asterFiles = entries.filter((f) => f.endsWith('.aster'));
23
+ it('应至少有 4 个 conformance 测试用例', () => {
24
+ assert.ok(asterFiles.length >= 4, `期望 ≥4 个 .aster 文件,实际 ${asterFiles.length}`);
25
+ });
26
+ for (const file of asterFiles) {
27
+ it(`${file} 的 normalize-CJK 输出应与 .expected.txt 字节相等`, () => {
28
+ const srcPath = join(conformanceDir, file);
29
+ const expectedPath = srcPath.replace(/\.aster$/, '.expected.txt');
30
+ const source = readFileSync(srcPath, 'utf8');
31
+ const expected = readFileSync(expectedPath, 'utf8');
32
+ // 仅验证 v2 新增的 CJK 标点归一化层(不含关键字翻译、空格折叠等)
33
+ // 这是 Java/TS 字节等价的唯一可达层面;全 canonicalize 因双 parser 设计差异
34
+ // 不可能 byte-identical(见 ADR-0008 "范围之外")。
35
+ const actual = normalizeCJKPunctuationOnly(source);
36
+ assert.strictEqual(actual, expected, `${file} CJK 归一化 drift:\n--- expected ---\n${expected}\n--- actual ---\n${actual}\n`);
37
+ });
38
+ }
39
+ });
40
+ //# sourceMappingURL=conformance-cjk-v2.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conformance-cjk-v2.test.js","sourceRoot":"","sources":["../../../../test/unit/canonicalizer/conformance-cjk-v2.test.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,gEAAgE;AAChE,uCAAuC;AACvC,mFAAmF;AACnF,eAAe;AACf,EAAE;AACF,sDAAsD;AAEtD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAErF,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,8DAA8D;AAC9D,sDAAsD;AACtD,MAAM,cAAc,GAAG,IAAI,CACzB,IAAI,EACJ,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAG,wDAAwD;AACjF,cAAc,EAAE,cAAc,EAAE,iBAAiB,EACjD,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAClC,CAAC;AAEF,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACzD,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/D,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,wBAAwB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,EAAE,CAAC,GAAG,IAAI,0CAA0C,EAAE,GAAG,EAAE;YACzD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAEpD,uCAAuC;YACvC,uDAAuD;YACvD,yCAAyC;YACzC,MAAM,MAAM,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;YAEnD,MAAM,CAAC,WAAW,CAChB,MAAM,EACN,QAAQ,EACR,GAAG,IAAI,sCAAsC,QAAQ,qBAAqB,MAAM,IAAI,CACrF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -288,11 +288,19 @@ describe('I18N 多语言词法表测试套件', () => {
288
288
  assert.ok(result.canonical.includes('.'), '应有英文句号');
289
289
  assert.ok(result.canonical.includes(':'), '应有英文冒号');
290
290
  });
291
- it('中文: 应使用中文标点 (。:)', () => {
291
+ it('中文: 中文标点应归一化为英文等价(v2 软边界)', () => {
292
+ // v2 行为:。→ .,:→ :,,→ ,,、→ ,,;→ ;
293
+ // 字符串外的中文标点被替换;字符串内保留原样
292
294
  const result = parseFile('zh-CN', '01-hello', ZH_CN);
293
295
  assert.ok(result);
294
- assert.ok(result.canonical.includes('。'), '应有中文句号');
295
- assert.ok(result.canonical.includes(':'), '应有中文冒号');
296
+ // 不应在字符串外残留中文标点
297
+ const stringSegments = result.canonical.split(/[「」]/);
298
+ const outsideString = stringSegments.filter((_, i) => i % 2 === 0).join('');
299
+ assert.strictEqual(outsideString.includes('。'), false, '字符串外不应有「。」');
300
+ assert.strictEqual(outsideString.includes(':'), false, '字符串外不应有「:」');
301
+ // 应使用英文等价标点
302
+ assert.ok(result.canonical.includes('.'), '应有英文句号(归一化后)');
303
+ assert.ok(result.canonical.includes(':'), '应有英文冒号(归一化后)');
296
304
  });
297
305
  it('德语: 应使用英文标点 (., :)', () => {
298
306
  const result = parseFile('de-DE', '01-hello', DE_DE);
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.test.js","sourceRoot":"","sources":["../../../../../test/unit/config/lexicons/i18n.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.test.js","sourceRoot":"","sources":["../../../../../test/unit/config/lexicons/i18n.test.ts"],"names":[],"mappings":"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"}