@aster-cloud/aster-lang-ts 1.0.37 → 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 (292) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +13 -7
  3. package/dist/scripts/aster.js +10 -5
  4. package/dist/scripts/aster.js.map +1 -1
  5. package/dist/scripts/core-ir-json.js +8 -3
  6. package/dist/scripts/core-ir-json.js.map +1 -1
  7. package/dist/scripts/emit-classfiles.js +3 -2
  8. package/dist/scripts/emit-classfiles.js.map +1 -1
  9. package/dist/scripts/emit-core.js +8 -5
  10. package/dist/scripts/emit-core.js.map +1 -1
  11. package/dist/scripts/generate-casefold.d.ts +2 -0
  12. package/dist/scripts/generate-casefold.d.ts.map +1 -0
  13. package/dist/scripts/generate-casefold.js +34 -0
  14. package/dist/scripts/generate-casefold.js.map +1 -0
  15. package/dist/scripts/golden.js +16 -16
  16. package/dist/scripts/golden.js.map +1 -1
  17. package/dist/scripts/perf-benchmark.js +1 -0
  18. package/dist/scripts/perf-benchmark.js.map +1 -1
  19. package/dist/scripts/profile-medium-project.js +1 -1
  20. package/dist/scripts/profile-medium-project.js.map +1 -1
  21. package/dist/scripts/repl.js +3 -8
  22. package/dist/scripts/repl.js.map +1 -1
  23. package/dist/scripts/typecheck-cli.js +10 -9
  24. package/dist/scripts/typecheck-cli.js.map +1 -1
  25. package/dist/scripts/update-eff-violation-expected.js +6 -6
  26. package/dist/scripts/update-eff-violation-expected.js.map +1 -1
  27. package/dist/scripts/verify-capabilities.js +3 -6
  28. package/dist/scripts/verify-capabilities.js.map +1 -1
  29. package/dist/src/ai/validator.d.ts +1 -1
  30. package/dist/src/ai/validator.d.ts.map +1 -1
  31. package/dist/src/ai/validator.js +12 -12
  32. package/dist/src/ai/validator.js.map +1 -1
  33. package/dist/src/ast/ast.d.ts +1 -0
  34. package/dist/src/ast/ast.d.ts.map +1 -1
  35. package/dist/src/ast/ast.js.map +1 -1
  36. package/dist/src/browser.d.ts +27 -10
  37. package/dist/src/browser.d.ts.map +1 -1
  38. package/dist/src/browser.js +42 -54
  39. package/dist/src/browser.js.map +1 -1
  40. package/dist/src/cli/policy-converter.js +5 -9
  41. package/dist/src/cli/policy-converter.js.map +1 -1
  42. package/dist/src/compile-pipeline.d.ts +48 -0
  43. package/dist/src/compile-pipeline.d.ts.map +1 -0
  44. package/dist/src/compile-pipeline.js +89 -0
  45. package/dist/src/compile-pipeline.js.map +1 -0
  46. package/dist/src/config/lexicons/diagnostic-messages.d.ts.map +1 -1
  47. package/dist/src/config/lexicons/diagnostic-messages.js +20 -0
  48. package/dist/src/config/lexicons/diagnostic-messages.js.map +1 -1
  49. package/dist/src/config/lexicons/identifiers/casefold-table.generated.d.ts +9 -0
  50. package/dist/src/config/lexicons/identifiers/casefold-table.generated.d.ts.map +1 -0
  51. package/dist/src/config/lexicons/identifiers/casefold-table.generated.js +1467 -0
  52. package/dist/src/config/lexicons/identifiers/casefold-table.generated.js.map +1 -0
  53. package/dist/src/config/lexicons/identifiers/casefold.d.ts +7 -0
  54. package/dist/src/config/lexicons/identifiers/casefold.d.ts.map +1 -0
  55. package/dist/src/config/lexicons/identifiers/casefold.js +37 -0
  56. package/dist/src/config/lexicons/identifiers/casefold.js.map +1 -0
  57. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.d.ts.map +1 -1
  58. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.js +8 -0
  59. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.js.map +1 -1
  60. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.d.ts.map +1 -1
  61. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.js +8 -0
  62. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.js.map +1 -1
  63. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.d.ts.map +1 -1
  64. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.js +8 -0
  65. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.js.map +1 -1
  66. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.d.ts.map +1 -1
  67. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.js +6 -0
  68. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.js.map +1 -1
  69. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.d.ts.map +1 -1
  70. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.js +6 -0
  71. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.js.map +1 -1
  72. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.d.ts.map +1 -1
  73. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.js +6 -0
  74. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.js.map +1 -1
  75. package/dist/src/config/lexicons/identifiers/index.d.ts +7 -9
  76. package/dist/src/config/lexicons/identifiers/index.d.ts.map +1 -1
  77. package/dist/src/config/lexicons/identifiers/index.js +8 -9
  78. package/dist/src/config/lexicons/identifiers/index.js.map +1 -1
  79. package/dist/src/config/lexicons/identifiers/registry.d.ts +11 -5
  80. package/dist/src/config/lexicons/identifiers/registry.d.ts.map +1 -1
  81. package/dist/src/config/lexicons/identifiers/registry.js +20 -14
  82. package/dist/src/config/lexicons/identifiers/registry.js.map +1 -1
  83. package/dist/src/config/lexicons/identifiers/scopes.d.ts +52 -0
  84. package/dist/src/config/lexicons/identifiers/scopes.d.ts.map +1 -0
  85. package/dist/src/config/lexicons/identifiers/scopes.js +166 -0
  86. package/dist/src/config/lexicons/identifiers/scopes.js.map +1 -0
  87. package/dist/src/config/lexicons/identifiers/types.d.ts +15 -29
  88. package/dist/src/config/lexicons/identifiers/types.d.ts.map +1 -1
  89. package/dist/src/config/lexicons/identifiers/types.js +91 -101
  90. package/dist/src/config/lexicons/identifiers/types.js.map +1 -1
  91. package/dist/src/config/lexicons/lsp-ui-texts.d.ts +7 -0
  92. package/dist/src/config/lexicons/lsp-ui-texts.d.ts.map +1 -1
  93. package/dist/src/config/lexicons/lsp-ui-texts.js +12 -0
  94. package/dist/src/config/lexicons/lsp-ui-texts.js.map +1 -1
  95. package/dist/src/config/semantic.d.ts +5 -0
  96. package/dist/src/config/semantic.d.ts.map +1 -1
  97. package/dist/src/config/semantic.js +12 -0
  98. package/dist/src/config/semantic.js.map +1 -1
  99. package/dist/src/core/inferred_fields.d.ts +10 -0
  100. package/dist/src/core/inferred_fields.d.ts.map +1 -1
  101. package/dist/src/core/inferred_fields.js +9 -0
  102. package/dist/src/core/inferred_fields.js.map +1 -1
  103. package/dist/src/core/interpreter.d.ts.map +1 -1
  104. package/dist/src/core/interpreter.js +12 -10
  105. package/dist/src/core/interpreter.js.map +1 -1
  106. package/dist/src/core/resolution-mark.d.ts +28 -0
  107. package/dist/src/core/resolution-mark.d.ts.map +1 -0
  108. package/dist/src/core/resolution-mark.js +19 -0
  109. package/dist/src/core/resolution-mark.js.map +1 -0
  110. package/dist/src/core/resolve-typed-references.d.ts +36 -0
  111. package/dist/src/core/resolve-typed-references.d.ts.map +1 -0
  112. package/dist/src/core/resolve-typed-references.js +703 -0
  113. package/dist/src/core/resolve-typed-references.js.map +1 -0
  114. package/dist/src/diagnostics/error_codes.d.ts +11 -1
  115. package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
  116. package/dist/src/diagnostics/error_codes.js +80 -0
  117. package/dist/src/diagnostics/error_codes.js.map +1 -1
  118. package/dist/src/frontend/canonicalizer.d.ts +8 -13
  119. package/dist/src/frontend/canonicalizer.d.ts.map +1 -1
  120. package/dist/src/frontend/canonicalizer.js +19 -48
  121. package/dist/src/frontend/canonicalizer.js.map +1 -1
  122. package/dist/src/frontend/resolution-choice.d.ts +34 -0
  123. package/dist/src/frontend/resolution-choice.d.ts.map +1 -0
  124. package/dist/src/frontend/resolution-choice.js +69 -0
  125. package/dist/src/frontend/resolution-choice.js.map +1 -0
  126. package/dist/src/frontend/resolution-context.d.ts +28 -0
  127. package/dist/src/frontend/resolution-context.d.ts.map +1 -0
  128. package/dist/src/frontend/resolution-context.js +7 -0
  129. package/dist/src/frontend/resolution-context.js.map +1 -0
  130. package/dist/src/frontend/resolve-declarations.d.ts +13 -0
  131. package/dist/src/frontend/resolve-declarations.d.ts.map +1 -0
  132. package/dist/src/frontend/resolve-declarations.js +611 -0
  133. package/dist/src/frontend/resolve-declarations.js.map +1 -0
  134. package/dist/src/frontend/resolve-policy-types.d.ts +54 -0
  135. package/dist/src/frontend/resolve-policy-types.d.ts.map +1 -0
  136. package/dist/src/frontend/resolve-policy-types.js +71 -0
  137. package/dist/src/frontend/resolve-policy-types.js.map +1 -0
  138. package/dist/src/index.d.ts +14 -7
  139. package/dist/src/index.d.ts.map +1 -1
  140. package/dist/src/index.js +14 -7
  141. package/dist/src/index.js.map +1 -1
  142. package/dist/src/lower_to_core.d.ts +2 -16
  143. package/dist/src/lower_to_core.d.ts.map +1 -1
  144. package/dist/src/lower_to_core.js +101 -44
  145. package/dist/src/lower_to_core.js.map +1 -1
  146. package/dist/src/lsp/canonicalize-options.d.ts +8 -11
  147. package/dist/src/lsp/canonicalize-options.d.ts.map +1 -1
  148. package/dist/src/lsp/canonicalize-options.js +8 -8
  149. package/dist/src/lsp/canonicalize-options.js.map +1 -1
  150. package/dist/src/lsp/completion.d.ts +32 -5
  151. package/dist/src/lsp/completion.d.ts.map +1 -1
  152. package/dist/src/lsp/completion.js +59 -0
  153. package/dist/src/lsp/completion.js.map +1 -1
  154. package/dist/src/lsp/diagnostics.d.ts +2 -0
  155. package/dist/src/lsp/diagnostics.d.ts.map +1 -1
  156. package/dist/src/lsp/diagnostics.js +77 -73
  157. package/dist/src/lsp/diagnostics.js.map +1 -1
  158. package/dist/src/lsp/navigation/hover.d.ts +12 -5
  159. package/dist/src/lsp/navigation/hover.d.ts.map +1 -1
  160. package/dist/src/lsp/navigation/hover.js +136 -90
  161. package/dist/src/lsp/navigation/hover.js.map +1 -1
  162. package/dist/src/lsp/parse-document.d.ts +3 -0
  163. package/dist/src/lsp/parse-document.d.ts.map +1 -1
  164. package/dist/src/lsp/parse-document.js +5 -17
  165. package/dist/src/lsp/parse-document.js.map +1 -1
  166. package/dist/src/lsp/resolution.d.ts +40 -0
  167. package/dist/src/lsp/resolution.d.ts.map +1 -0
  168. package/dist/src/lsp/resolution.js +179 -0
  169. package/dist/src/lsp/resolution.js.map +1 -0
  170. package/dist/src/lsp/server.js +3 -1
  171. package/dist/src/lsp/server.js.map +1 -1
  172. package/dist/src/lsp/source-positions.d.ts +2 -8
  173. package/dist/src/lsp/source-positions.d.ts.map +1 -1
  174. package/dist/src/lsp/source-positions.js +4 -16
  175. package/dist/src/lsp/source-positions.js.map +1 -1
  176. package/dist/src/mapping/pipeline.js +3 -2
  177. package/dist/src/mapping/pipeline.js.map +1 -1
  178. package/dist/src/mapping/review-queue.d.ts.map +1 -1
  179. package/dist/src/mapping/review-queue.js +3 -2
  180. package/dist/src/mapping/review-queue.js.map +1 -1
  181. package/dist/src/parser/context.d.ts +2 -0
  182. package/dist/src/parser/context.d.ts.map +1 -1
  183. package/dist/src/parser/context.js +1 -0
  184. package/dist/src/parser/context.js.map +1 -1
  185. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  186. package/dist/src/parser/decl-parser.js +1 -0
  187. package/dist/src/parser/decl-parser.js.map +1 -1
  188. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  189. package/dist/src/parser/expr-stmt-parser.js +2 -16
  190. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  191. package/dist/src/parser.d.ts.map +1 -1
  192. package/dist/src/parser.js +3 -1
  193. package/dist/src/parser.js.map +1 -1
  194. package/dist/src/typecheck/expression.d.ts.map +1 -1
  195. package/dist/src/typecheck/expression.js +13 -0
  196. package/dist/src/typecheck/expression.js.map +1 -1
  197. package/dist/src/typecheck/generics.d.ts +5 -0
  198. package/dist/src/typecheck/generics.d.ts.map +1 -1
  199. package/dist/src/typecheck/generics.js +15 -8
  200. package/dist/src/typecheck/generics.js.map +1 -1
  201. package/dist/src/types.d.ts +45 -13
  202. package/dist/src/types.d.ts.map +1 -1
  203. package/dist/src/types.js.map +1 -1
  204. package/dist/src/version.d.ts +17 -0
  205. package/dist/src/version.d.ts.map +1 -0
  206. package/dist/src/version.js +17 -0
  207. package/dist/src/version.js.map +1 -0
  208. package/dist/test/integration/builtin-enum-vocabulary.test.d.ts +2 -0
  209. package/dist/test/integration/builtin-enum-vocabulary.test.d.ts.map +1 -0
  210. package/dist/test/integration/builtin-enum-vocabulary.test.js +51 -0
  211. package/dist/test/integration/builtin-enum-vocabulary.test.js.map +1 -0
  212. package/dist/test/integration/lsp/lsp-rename-safety.test.js +0 -13
  213. package/dist/test/integration/lsp/lsp-rename-safety.test.js.map +1 -1
  214. package/dist/test/integration/name-resolution-entrypoints.test.d.ts +2 -0
  215. package/dist/test/integration/name-resolution-entrypoints.test.d.ts.map +1 -0
  216. package/dist/test/integration/name-resolution-entrypoints.test.js +109 -0
  217. package/dist/test/integration/name-resolution-entrypoints.test.js.map +1 -0
  218. package/dist/test/integration/vocabulary-resolution.test.d.ts +2 -0
  219. package/dist/test/integration/vocabulary-resolution.test.d.ts.map +1 -0
  220. package/dist/test/integration/vocabulary-resolution.test.js +291 -0
  221. package/dist/test/integration/vocabulary-resolution.test.js.map +1 -0
  222. package/dist/test/property/property.test.js +2 -1
  223. package/dist/test/property/property.test.js.map +1 -1
  224. package/dist/test/unit/canonicalizer/canonicalizer.test.js +7 -79
  225. package/dist/test/unit/canonicalizer/canonicalizer.test.js.map +1 -1
  226. package/dist/test/unit/config/lexicons/identifiers/identifier-mapping.test.js +134 -31
  227. package/dist/test/unit/config/lexicons/identifiers/identifier-mapping.test.js.map +1 -1
  228. package/dist/test/unit/config/lexicons/identifiers/literal-macro.test.js +16 -18
  229. package/dist/test/unit/config/lexicons/identifiers/literal-macro.test.js.map +1 -1
  230. package/dist/test/unit/core/resolve-typed-references.test.d.ts +2 -0
  231. package/dist/test/unit/core/resolve-typed-references.test.d.ts.map +1 -0
  232. package/dist/test/unit/core/resolve-typed-references.test.js +600 -0
  233. package/dist/test/unit/core/resolve-typed-references.test.js.map +1 -0
  234. package/dist/test/unit/diagnostics/resolution-codes.test.d.ts +6 -0
  235. package/dist/test/unit/diagnostics/resolution-codes.test.d.ts.map +1 -0
  236. package/dist/test/unit/diagnostics/resolution-codes.test.js +83 -0
  237. package/dist/test/unit/diagnostics/resolution-codes.test.js.map +1 -0
  238. package/dist/test/unit/formatter-corpus-roundtrip.test.js +9 -0
  239. package/dist/test/unit/formatter-corpus-roundtrip.test.js.map +1 -1
  240. package/dist/test/unit/frontend/resolve-declarations.test.d.ts +2 -0
  241. package/dist/test/unit/frontend/resolve-declarations.test.d.ts.map +1 -0
  242. package/dist/test/unit/frontend/resolve-declarations.test.js +400 -0
  243. package/dist/test/unit/frontend/resolve-declarations.test.js.map +1 -0
  244. package/dist/test/unit/identifiers/casefold.test.d.ts +2 -0
  245. package/dist/test/unit/identifiers/casefold.test.d.ts.map +1 -0
  246. package/dist/test/unit/identifiers/casefold.test.js +77 -0
  247. package/dist/test/unit/identifiers/casefold.test.js.map +1 -0
  248. package/dist/test/unit/identifiers/scopes.test.d.ts +2 -0
  249. package/dist/test/unit/identifiers/scopes.test.d.ts.map +1 -0
  250. package/dist/test/unit/identifiers/scopes.test.js +109 -0
  251. package/dist/test/unit/identifiers/scopes.test.js.map +1 -0
  252. package/dist/test/unit/lambda-capture-parity.test.js +12 -5
  253. package/dist/test/unit/lambda-capture-parity.test.js.map +1 -1
  254. package/dist/test/unit/lsp/lsp-locale-fixes.test.js +10 -11
  255. package/dist/test/unit/lsp/lsp-locale-fixes.test.js.map +1 -1
  256. package/dist/test/unit/lsp/resolution-completion.test.d.ts +2 -0
  257. package/dist/test/unit/lsp/resolution-completion.test.d.ts.map +1 -0
  258. package/dist/test/unit/lsp/resolution-completion.test.js +79 -0
  259. package/dist/test/unit/lsp/resolution-completion.test.js.map +1 -0
  260. package/dist/test/unit/lsp/resolution-diagnostics.test.d.ts +2 -0
  261. package/dist/test/unit/lsp/resolution-diagnostics.test.d.ts.map +1 -0
  262. package/dist/test/unit/lsp/resolution-diagnostics.test.js +88 -0
  263. package/dist/test/unit/lsp/resolution-diagnostics.test.js.map +1 -0
  264. package/dist/test/unit/lsp/resolution-fixture.d.ts +32 -0
  265. package/dist/test/unit/lsp/resolution-fixture.d.ts.map +1 -0
  266. package/dist/test/unit/lsp/resolution-fixture.js +69 -0
  267. package/dist/test/unit/lsp/resolution-fixture.js.map +1 -0
  268. package/dist/test/unit/lsp/resolution-hover.test.d.ts +2 -0
  269. package/dist/test/unit/lsp/resolution-hover.test.d.ts.map +1 -0
  270. package/dist/test/unit/lsp/resolution-hover.test.js +107 -0
  271. package/dist/test/unit/lsp/resolution-hover.test.js.map +1 -0
  272. package/dist/test/unit/lsp/tenant-vocabulary.test.js +21 -47
  273. package/dist/test/unit/lsp/tenant-vocabulary.test.js.map +1 -1
  274. package/dist/test/unit/parser/parser.test.js +22 -0
  275. package/dist/test/unit/parser/parser.test.js.map +1 -1
  276. package/dist/test/unit/public-api-checked-entries.test.d.ts +2 -0
  277. package/dist/test/unit/public-api-checked-entries.test.d.ts.map +1 -0
  278. package/dist/test/unit/public-api-checked-entries.test.js +28 -0
  279. package/dist/test/unit/public-api-checked-entries.test.js.map +1 -0
  280. package/dist/test/unit/typecheck/qualified-enum-member.test.d.ts +2 -0
  281. package/dist/test/unit/typecheck/qualified-enum-member.test.d.ts.map +1 -0
  282. package/dist/test/unit/typecheck/qualified-enum-member.test.js +73 -0
  283. package/dist/test/unit/typecheck/qualified-enum-member.test.js.map +1 -0
  284. package/dist/test/unit/version.test.d.ts +9 -0
  285. package/dist/test/unit/version.test.d.ts.map +1 -0
  286. package/dist/test/unit/version.test.js +34 -0
  287. package/dist/test/unit/version.test.js.map +1 -0
  288. package/package.json +1 -1
  289. package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.d.ts +0 -47
  290. package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.d.ts.map +0 -1
  291. package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.js +0 -142
  292. package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import { describe, it, beforeEach, afterEach } from 'node:test';
1
+ import { describe, it } 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';
4
+ import { buildVocabularyScopes } from '../../../src/config/lexicons/identifiers/scopes.js';
5
5
  import { IdentifierKind } from '../../../src/config/lexicons/identifiers/types.js';
6
6
  import { DE_DE } from '../../../src/config/lexicons/de-DE.js';
7
7
  describe('canonicalizer', () => {
@@ -263,55 +263,9 @@ describe('canonicalizer', () => {
263
263
  assert.strictEqual(result, ['MODULE Sample', ' wait for option of value, please.', '', 'Return "Tab Inside".'].join('\n'));
264
264
  });
265
265
  });
266
- describe('租户自定义词汇翻译(ADR 0014 线A)', () => {
267
- // 租户自定义词汇:把本地化术语 pilot 翻译为规范化 Driver
268
- const customVocab = {
269
- id: 'my.custom',
270
- name: 'Custom',
271
- locale: 'en-US',
272
- version: '1.0.0',
273
- structs: [{ canonical: 'Driver', localized: 'pilot', kind: IdentifierKind.STRUCT }],
274
- fields: [],
275
- functions: [],
276
- enumValues: [],
277
- };
278
- beforeEach(() => {
279
- vocabularyRegistry.clear();
280
- initBuiltinVocabularies();
281
- vocabularyRegistry.registerCustom('tenant-42', customVocab);
282
- });
283
- afterEach(() => {
284
- vocabularyRegistry.clear();
285
- });
286
- it('提供 tenantId 时应翻译该租户的自定义词汇', () => {
287
- const result = canonicalize('Return pilot.', {
288
- domain: 'my.custom',
289
- locale: 'en-US',
290
- tenantId: 'tenant-42',
291
- });
292
- assert.strictEqual(result, 'Return Driver.');
293
- });
294
- it('缺省 tenantId 时仅查内置词汇,自定义词汇不被翻译', () => {
295
- const result = canonicalize('Return pilot.', {
296
- domain: 'my.custom',
297
- locale: 'en-US',
298
- });
299
- // my.custom 非内置领域,getWithCustom 回退后查无 → 不翻译
300
- assert.strictEqual(result, 'Return pilot.');
301
- });
302
- it('tenantId 不匹配时回退内置,自定义词汇不被翻译', () => {
303
- const result = canonicalize('Return pilot.', {
304
- domain: 'my.custom',
305
- locale: 'en-US',
306
- tenantId: 'other-tenant',
307
- });
308
- assert.strictEqual(result, 'Return pilot.');
309
- });
310
- it('结构体+字段重命名规范化结果与 Java 执行端基线字节一致(跨引擎 parity)', () => {
311
- // 与 aster-api VocabularyExecutionTest 同一词汇:Fahrer→Driver、alter→age。
312
- // 断言 TS 规范化产出 = 该测试的 canonical 基线源(Java 据此求值得 42),
313
- // 锁定两引擎对用户自定义词汇的翻译一致。
314
- const vocab = {
266
+ describe('领域词汇不在 canonicalize 中替换标识符(ADR 0051)', () => {
267
+ it('结构体 / 字段词汇保持原写法,由解析后的名称解析按位置处理', () => {
268
+ const scopes = buildVocabularyScopes({
315
269
  id: 'insurance.custom',
316
270
  name: 'Custom',
317
271
  locale: 'en-US',
@@ -320,35 +274,9 @@ describe('canonicalizer', () => {
320
274
  fields: [{ canonical: 'age', localized: 'alter', kind: IdentifierKind.FIELD, parent: 'Driver' }],
321
275
  functions: [],
322
276
  enumValues: [],
323
- };
324
- vocabularyRegistry.clear();
325
- initBuiltinVocabularies();
326
- vocabularyRegistry.registerCustom('t-parity', vocab);
327
- const localized = [
328
- 'Module insurance.custom.',
329
- 'Define Fahrer has alter as Int.',
330
- 'Rule evaluate given driver as Fahrer, produce Int:',
331
- ' Return driver.alter.',
332
- ].join('\n');
333
- const expectedCanonical = [
334
- 'Module insurance.custom.',
335
- 'Define Driver has age as Int.',
336
- 'Rule evaluate given driver as Driver, produce Int:',
337
- ' Return driver.age.',
338
- ].join('\n');
339
- const result = canonicalize(localized, {
340
- domain: 'insurance.custom',
341
- locale: 'en-US',
342
- tenantId: 't-parity',
343
- });
344
- assert.strictEqual(result, expectedCanonical);
345
- // 大小写不敏感:小写 fahrer/alter 同样翻译(与 Java 引擎等价)。
346
- const lower = canonicalize('Return fahrer.alter.', {
347
- domain: 'insurance.custom',
348
- locale: 'en-US',
349
- tenantId: 't-parity',
350
277
  });
351
- assert.strictEqual(lower, 'Return Driver.age.');
278
+ const src = 'Define Fahrer has alter as Int.\nRule evaluate given fahrer as Fahrer, produce Int:\n Return fahrer.alter.';
279
+ assert.strictEqual(canonicalize(src, { vocabulary: scopes }), canonicalize(src));
352
280
  });
353
281
  });
354
282
  describe('德文二合字母转写(只转关键词,不碰标识符)', () => {
@@ -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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"}
@@ -5,7 +5,17 @@
5
5
  */
6
6
  import { describe, it, beforeEach } from 'node:test';
7
7
  import assert from 'node:assert';
8
- import { vocabularyRegistry, initBuiltinVocabularies, canonicalizeIdentifier, localizeIdentifier, buildIdentifierIndex, validateVocabulary, IdentifierKind, INSURANCE_AUTO_ZH_CN, FINANCE_LOAN_ZH_CN, } from '../../../../../src/config/lexicons/identifiers/index.js';
8
+ import { vocabularyRegistry, initBuiltinVocabularies, localizeIdentifier, buildIdentifierIndex, buildVocabularyScopes, lookup, validateVocabulary, IdentifierKind, INSURANCE_AUTO_ZH_CN, FINANCE_LOAN_ZH_CN, } from '../../../../../src/config/lexicons/identifiers/index.js';
9
+ /** 写法在类型 / 函数 / 各 struct 字段作用域中精确命中的规范名(按位置解析的候选集合)。 */
10
+ function canonicalsOf(scopes, written) {
11
+ const maps = [scopes.types, scopes.functions, ...scopes.fields.values()];
12
+ return [...new Set(maps.flatMap((m) => lookup(m, written).exact.map((c) => c.canonical)))];
13
+ }
14
+ function scopesOf(domain, tenantId) {
15
+ const scopes = vocabularyRegistry.getWithCustom(tenantId, domain, 'zh-CN');
16
+ assert.ok(scopes, `${domain} 应已注册`);
17
+ return scopes;
18
+ }
9
19
  describe('标识符映射模块', () => {
10
20
  beforeEach(() => {
11
21
  vocabularyRegistry.clear();
@@ -43,23 +53,79 @@ describe('标识符映射模块', () => {
43
53
  assert.ok(result.errors.some(e => e.includes('无效名称')));
44
54
  });
45
55
  });
56
+ describe('词汇表验证:按角色与作用域判定冲突(ADR 0051)', () => {
57
+ const base = { id: 't', name: 'T', locale: 'de-DE', version: '1', structs: [], functions: [] };
58
+ const field = (canonical, localized, parent) => ({
59
+ canonical, localized, kind: IdentifierKind.FIELD, ...(parent ? { parent } : {}),
60
+ });
61
+ it('不同父类型下的同规范名字段合法,registerCustom 不拒绝', () => {
62
+ const vocab = { ...base, fields: [field('age', 'alter', 'Driver'), field('age', 'alter', 'Car')] };
63
+ const result = validateVocabulary(vocab);
64
+ assert.deepStrictEqual(result.errors, []);
65
+ assert.strictEqual(result.valid, true);
66
+ vocabularyRegistry.registerCustom('tenant-scope', vocab);
67
+ const scopes = vocabularyRegistry.getWithCustom('tenant-scope', 't', 'de-DE');
68
+ assert.deepStrictEqual([...scopes.fields.keys()].sort(), ['Car', 'Driver']);
69
+ });
70
+ it('同义词(同规范名多写法)与仅大小写不同的写法合法', () => {
71
+ const vocab = {
72
+ ...base,
73
+ structs: [
74
+ { canonical: 'Level', localized: 'Stufe', kind: IdentifierKind.STRUCT },
75
+ { canonical: 'Grade', localized: 'STUFE', kind: IdentifierKind.STRUCT },
76
+ ],
77
+ fields: [field('level', 'stufe', 'Driver'), field('level', 'niveau', 'Driver')],
78
+ };
79
+ assert.deepStrictEqual(validateVocabulary(vocab).errors, []);
80
+ });
81
+ it('同角色同作用域内写法完全相同但规范名不同 → error', () => {
82
+ const vocab = { ...base, fields: [field('age', 'alter', 'Driver'), field('years', 'alter', 'Driver')] };
83
+ const result = validateVocabulary(vocab);
84
+ assert.strictEqual(result.valid, false);
85
+ assert.ok(result.errors.some((e) => /写法 "alter" 在 fields\[Driver\] 中对应多个规范名/.test(e)), result.errors.join('\n'));
86
+ assert.throws(() => vocabularyRegistry.registerCustom('tenant-scope', vocab));
87
+ });
88
+ it('NFC 等价写法视为相同写法', () => {
89
+ const vocab = {
90
+ ...base,
91
+ functions: [
92
+ { canonical: 'approve', localized: 'café', kind: IdentifierKind.FUNCTION },
93
+ { canonical: 'reject', localized: 'cafe\u0301', kind: IdentifierKind.FUNCTION },
94
+ ],
95
+ fields: [],
96
+ };
97
+ assert.strictEqual(validateVocabulary(vocab).valid, false);
98
+ });
99
+ it('字段与枚举成员缺 parent → error', () => {
100
+ const vocab = {
101
+ ...base,
102
+ fields: [field('age', 'alter')],
103
+ enumValues: [{ canonical: 'High', localized: 'Hoch', kind: IdentifierKind.ENUM_VALUE }],
104
+ };
105
+ const result = validateVocabulary(vocab);
106
+ assert.strictEqual(result.valid, false);
107
+ assert.ok(result.errors.some((e) => e.includes('字段 "alter" 没有指定父结构体')));
108
+ assert.ok(result.errors.some((e) => e.includes('枚举成员 "Hoch" 没有指定父枚举')));
109
+ });
110
+ });
46
111
  describe('索引构建', () => {
47
- it('构建双向映射索引', () => {
112
+ it('构建双向映射:本地化 → 规范化按作用域,规范化 → 本地化走展示索引', () => {
48
113
  const index = buildIdentifierIndex(INSURANCE_AUTO_ZH_CN);
114
+ const scopes = buildVocabularyScopes({ ...INSURANCE_AUTO_ZH_CN, enumValues: [] });
49
115
  // 测试本地化 → 规范化
50
- assert.strictEqual(index.toCanonical.get('驾驶员'), 'Driver');
51
- assert.strictEqual(index.toCanonical.get('年龄'), 'age');
52
- assert.strictEqual(index.toCanonical.get('月保费'), 'monthlyPremium');
116
+ assert.deepStrictEqual(canonicalsOf(scopes, '驾驶员'), ['Driver']);
117
+ assert.deepStrictEqual(canonicalsOf(scopes, '年龄'), ['age']);
118
+ assert.deepStrictEqual(canonicalsOf(scopes, '月保费'), ['monthlyPremium']);
53
119
  // 测试规范化 → 本地化
54
120
  assert.strictEqual(index.toLocalized.get('driver'), '驾驶员');
55
121
  assert.strictEqual(index.toLocalized.get('quoteresult'), '报价结果');
56
122
  });
57
123
  it('支持别名映射', () => {
58
- const index = buildIdentifierIndex(INSURANCE_AUTO_ZH_CN);
59
- // 别名应该也能映射到规范化名称
60
- assert.strictEqual(index.toCanonical.get('司机'), 'Driver');
61
- assert.strictEqual(index.toCanonical.get('驾驶人'), 'Driver');
62
- assert.strictEqual(index.toCanonical.get('车牌'), 'plateNo');
124
+ const scopes = scopesOf('insurance.auto');
125
+ // 别名(synonym 候选)也能映射到规范化名称
126
+ assert.deepStrictEqual(canonicalsOf(scopes, '司机'), ['Driver']);
127
+ assert.deepStrictEqual(canonicalsOf(scopes, '驾驶人'), ['Driver']);
128
+ assert.deepStrictEqual(canonicalsOf(scopes, '车牌'), ['plateNo']);
63
129
  });
64
130
  it('按类型分类映射', () => {
65
131
  const index = buildIdentifierIndex(INSURANCE_AUTO_ZH_CN);
@@ -84,10 +150,10 @@ describe('标识符映射模块', () => {
84
150
  });
85
151
  describe('标识符转换', () => {
86
152
  it('本地化到规范化', () => {
87
- const index = vocabularyRegistry.getIndex('insurance.auto', 'zh-CN');
88
- assert.strictEqual(canonicalizeIdentifier(index, '驾驶员'), 'Driver');
89
- assert.strictEqual(canonicalizeIdentifier(index, '报价结果'), 'QuoteResult');
90
- assert.strictEqual(canonicalizeIdentifier(index, '计算保费'), 'calculatePremium');
153
+ const scopes = scopesOf('insurance.auto');
154
+ assert.deepStrictEqual(canonicalsOf(scopes, '驾驶员'), ['Driver']);
155
+ assert.deepStrictEqual(canonicalsOf(scopes, '报价结果'), ['QuoteResult']);
156
+ assert.deepStrictEqual(canonicalsOf(scopes, '计算保费'), ['calculatePremium']);
91
157
  });
92
158
  it('规范化到本地化', () => {
93
159
  const index = vocabularyRegistry.getIndex('insurance.auto', 'zh-CN');
@@ -97,12 +163,11 @@ describe('标识符映射模块', () => {
97
163
  });
98
164
  it('未映射的标识符返回原值', () => {
99
165
  const index = vocabularyRegistry.getIndex('insurance.auto', 'zh-CN');
100
- assert.strictEqual(canonicalizeIdentifier(index, '未知标识符'), '未知标识符');
166
+ assert.deepStrictEqual(canonicalsOf(scopesOf('insurance.auto'), '未知标识符'), []);
101
167
  assert.strictEqual(localizeIdentifier(index, 'UnknownIdentifier'), 'UnknownIdentifier');
102
168
  });
103
169
  it('大小写不敏感', () => {
104
170
  const index = vocabularyRegistry.getIndex('insurance.auto', 'zh-CN');
105
- assert.strictEqual(canonicalizeIdentifier(index, '驾驶员'), 'Driver');
106
171
  assert.strictEqual(localizeIdentifier(index, 'DRIVER'), '驾驶员');
107
172
  assert.strictEqual(localizeIdentifier(index, 'driver'), '驾驶员');
108
173
  });
@@ -153,27 +218,65 @@ describe('标识符映射模块', () => {
153
218
  functions: [],
154
219
  };
155
220
  vocabularyRegistry.registerCustom('tenant-123', customVocab);
156
- // 使用租户 ID 查询时应返回自定义词汇表
157
- const entry = vocabularyRegistry.getWithCustom('tenant-123', 'insurance.auto', 'zh-CN');
158
- assert.strictEqual(entry?.vocabulary.name, '自定义汽车保险');
159
- // 不使用租户 ID 时应返回内置词汇表
160
- const builtinEntry = vocabularyRegistry.getWithCustom(undefined, 'insurance.auto', 'zh-CN');
161
- assert.strictEqual(builtinEntry?.vocabulary.name, '汽车保险');
221
+ // 使用租户 ID 查询时应返回自定义词汇的作用域
222
+ const custom = scopesOf('insurance.auto', 'tenant-123');
223
+ assert.deepStrictEqual(canonicalsOf(custom, '自定义驾驶员'), ['CustomDriver']);
224
+ assert.deepStrictEqual(canonicalsOf(custom, '驾驶员'), []);
225
+ // 不使用租户 ID 时应返回内置词汇的作用域
226
+ const builtin = scopesOf('insurance.auto');
227
+ assert.deepStrictEqual(canonicalsOf(builtin, '驾驶员'), ['Driver']);
228
+ assert.deepStrictEqual(canonicalsOf(builtin, '自定义驾驶员'), []);
229
+ });
230
+ });
231
+ describe('注册中心的词汇作用域', () => {
232
+ it('没有所属类型的字段 / 枚举成员:registerCustom 拒绝(ADR 0051 §14 第 3 条)', () => {
233
+ assert.throws(() => vocabularyRegistry.registerCustom('tenant-scope', {
234
+ id: 'scope.test',
235
+ name: '作用域',
236
+ locale: 'zh-CN',
237
+ version: '1.0.0',
238
+ structs: [{ canonical: 'Level', localized: '等级', kind: IdentifierKind.STRUCT }],
239
+ fields: [
240
+ { canonical: 'score', localized: '分数', kind: IdentifierKind.FIELD, parent: 'Level' },
241
+ { canonical: 'orphan', localized: '孤立', kind: IdentifierKind.FIELD },
242
+ ],
243
+ functions: [],
244
+ enumValues: [
245
+ { canonical: 'High', localized: '高', kind: IdentifierKind.ENUM_VALUE, parent: 'Level' },
246
+ { canonical: 'Low', localized: '低', kind: IdentifierKind.ENUM_VALUE },
247
+ ],
248
+ }), /字段 "孤立" 没有指定父结构体[\s\S]*枚举成员 "低" 没有指定父枚举/);
249
+ assert.strictEqual(vocabularyRegistry.getWithCustom('tenant-scope', 'scope.test', 'zh-CN'), undefined);
250
+ });
251
+ it('内置词汇的枚举成员归属到各自的枚举(14 个成员)', () => {
252
+ const members = (domain) => Object.fromEntries([...scopesOf(domain).enumMembers.entries()].map(([parent, byKey]) => [
253
+ parent,
254
+ [...new Set([...byKey.values()].flatMap((cs) => cs.map((c) => c.canonical)))].sort(),
255
+ ]));
256
+ assert.deepStrictEqual(members('finance.loan'), {
257
+ CreditLevel: ['Excellent', 'Fair', 'Good', 'Poor'],
258
+ LoanType: ['Auto', 'Business', 'Mortgage', 'Personal'],
259
+ });
260
+ assert.deepStrictEqual(members('insurance.auto'), {
261
+ QuoteStatus: ['Approved', 'Pending', 'Rejected'],
262
+ RiskLevel: ['HighRisk', 'LowRisk', 'MediumRisk'],
263
+ });
264
+ assert.deepStrictEqual(canonicalsOf(scopesOf('insurance.auto'), '驾驶员'), ['Driver']);
162
265
  });
163
266
  });
164
267
  describe('贷款金融领域', () => {
165
268
  it('贷款领域标识符转换', () => {
166
- const index = vocabularyRegistry.getIndex('finance.loan', 'zh-CN');
167
- assert.strictEqual(canonicalizeIdentifier(index, '申请人'), 'Applicant');
168
- assert.strictEqual(canonicalizeIdentifier(index, '贷款申请'), 'LoanRequest');
169
- assert.strictEqual(canonicalizeIdentifier(index, '信用评分'), 'creditScore');
170
- assert.strictEqual(canonicalizeIdentifier(index, '评估贷款'), 'evaluateLoan');
269
+ const scopes = scopesOf('finance.loan');
270
+ assert.deepStrictEqual(canonicalsOf(scopes, '申请人'), ['Applicant']);
271
+ assert.deepStrictEqual(canonicalsOf(scopes, '贷款申请'), ['LoanRequest']);
272
+ assert.deepStrictEqual(canonicalsOf(scopes, '信用评分'), ['creditScore']);
273
+ assert.deepStrictEqual(canonicalsOf(scopes, '评估贷款'), ['evaluateLoan']);
171
274
  });
172
275
  it('支持贷款领域别名', () => {
173
- const index = vocabularyRegistry.getIndex('finance.loan', 'zh-CN');
174
- assert.strictEqual(canonicalizeIdentifier(index, '借款人'), 'Applicant');
175
- assert.strictEqual(canonicalizeIdentifier(index, '征信分'), 'creditScore');
176
- assert.strictEqual(canonicalizeIdentifier(index, '工龄'), 'workYears');
276
+ const scopes = scopesOf('finance.loan');
277
+ assert.deepStrictEqual(canonicalsOf(scopes, '借款人'), ['Applicant']);
278
+ assert.deepStrictEqual(canonicalsOf(scopes, '征信分'), ['creditScore']);
279
+ assert.deepStrictEqual(canonicalsOf(scopes, '工龄'), ['workYears']);
177
280
  });
178
281
  });
179
282
  });
@@ -1 +1 @@
1
- {"version":3,"file":"identifier-mapping.test.js","sourceRoot":"","sources":["../../../../../../test/unit/config/lexicons/identifiers/identifier-mapping.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identifier-mapping.test.js","sourceRoot":"","sources":["../../../../../../test/unit/config/lexicons/identifiers/identifier-mapping.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,MAAM,EACN,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,yDAAyD,CAAC;AAGjE,wDAAwD;AACxD,SAAS,YAAY,CAAC,MAAwB,EAAE,OAAe;IAC7D,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc,EAAE,QAAiB;IACjD,MAAM,MAAM,GAAG,kBAAkB,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3E,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,UAAU,CAAC,GAAG,EAAE;QACd,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC3B,uBAAuB,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YACnB,MAAM,MAAM,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;YACxD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACvC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YACnB,MAAM,MAAM,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACvC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YACpB,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE;oBACP;wBACE,SAAS,EAAE,MAAM,EAAE,UAAU;wBAC7B,SAAS,EAAE,IAAI;wBACf,IAAI,EAAE,cAAc,CAAC,MAAM;qBAC5B;iBACF;gBACD,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE,EAAE;aACd,CAAC;YAEF,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACxC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC3C,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAC/F,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAE,SAAiB,EAAE,MAAe,EAAqB,EAAE,CAAC,CAAC;YAC3F,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,KAAK,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;YACnG,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACvC,kBAAkB,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,kBAAkB,CAAC,aAAa,CAAC,cAAc,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9E,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,MAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,MAAM,KAAK,GAAG;gBACZ,GAAG,IAAI;gBACP,OAAO,EAAE;oBACP,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE;oBACvE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE;iBACxE;gBACD,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAChF,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,KAAK,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YACxG,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACxC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wCAAwC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACjH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;YACxB,MAAM,KAAK,GAAG;gBACZ,GAAG,IAAI;gBACP,SAAS,EAAE;oBACT,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE;oBAC1E,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE;iBAChF;gBACD,MAAM,EAAE,EAAE;aACX,CAAC;YACF,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,MAAM,KAAK,GAAG;gBACZ,GAAG,IAAI;gBACP,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC/B,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,UAAU,EAAE,CAAC;aACxF,CAAC;YACF,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACxC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACxE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,KAAK,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,qBAAqB,CAAC,EAAE,GAAG,oBAAoB,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;YAElF,cAAc;YACd,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAExE,cAAc;YACd,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3D,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAChB,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAE1C,2BAA2B;YAC3B,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/D,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACjB,MAAM,KAAK,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;YAEzD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAE9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7B,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC5D,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YACnB,MAAM,KAAK,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;YAEzD,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxD,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAEnC,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1D,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAE1C,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;YACtE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACjB,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAE,CAAC;YAEtE,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;YAC/D,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;YACrE,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YACrB,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAE,CAAC;YAEtE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9E,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAChB,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAE,CAAC;YAEtE,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;YAC/D,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YACnB,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAChE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACjB,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAC3D,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAChB,MAAM,OAAO,GAAG,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAClB,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YACnB,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CACrC,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAClC,OAAO,CACR,CAAC;YAEF,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAClB,MAAM,CAAC,WAAW,CAAC,MAAO,CAAC,EAAE,EAAE,6BAA6B,CAAC,CAAC;YAE9D,kBAAkB;YAClB,MAAM,WAAW,GAAG,MAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC1D,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;YACvB,MAAM,WAAW,GAAG;gBAClB,EAAE,EAAE,gBAAgB;gBACpB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE;oBACP;wBACE,SAAS,EAAE,cAAc;wBACzB,SAAS,EAAE,QAAQ;wBACnB,IAAI,EAAE,cAAc,CAAC,MAAM;qBAC5B;iBACF;gBACD,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE,EAAE;aACd,CAAC;YAEF,kBAAkB,CAAC,cAAc,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAE7D,0BAA0B;YAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;YACxD,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;YACzE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAExD,wBAAwB;YACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC3C,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,kBAAkB,CAAC,cAAc,CAAC,cAAc,EAAE;gBACtD,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC/E,MAAM,EAAE;oBACN,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;oBACpF,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE;iBACrE;gBACD,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE;oBACV,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE;oBACvF,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,UAAU,EAAE;iBACtE;aACF,CAAC,EACF,yCAAyC,CAC1C,CAAC;YACF,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,aAAa,CAAC,cAAc,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,OAAO,GAAG,CAAC,MAAc,EAA4B,EAAE,CAC3D,MAAM,CAAC,WAAW,CAChB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;gBACnE,MAAM;gBACN,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;aACrF,CAAC,CACH,CAAC;YACJ,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;gBAC9C,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAClD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;aACvD,CAAC,CAAC;YACH,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;gBAChD,WAAW,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC;gBAChD,SAAS,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC;aACjD,CAAC,CAAC;YACH,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YACnB,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;YAExC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YACnE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;YACtE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;YACtE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAClB,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;YAExC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YACnE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;YACrE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { describe, it } from 'node:test';
2
2
  import assert from 'node:assert/strict';
3
- import { buildIdentifierIndex, validateVocabulary, IdentifierKind, } from '../../../../../src/config/lexicons/identifiers/index.js';
3
+ import { buildIdentifierIndex, buildVocabularyScopes, foldKey, validateVocabulary, IdentifierKind, } from '../../../../../src/config/lexicons/identifiers/index.js';
4
4
  import { canonicalize } from '../../../../../src/frontend/canonicalizer.js';
5
5
  import { ZH_CN, HI_IN, EN_US, initializeAllBundledLexicons } from '../../../../../src/browser.js';
6
6
  import { vocabularyRegistry } from '../../../../../src/config/lexicons/identifiers/registry.js';
7
7
  initializeAllBundledLexicons();
8
- // 字面量宏(IdentifierKind.LITERAL):canonicalize 时把 localized token 展开成字符串
8
+ // 字面量宏(IdentifierKind.LITERAL):canonicalize 时把触发词 token 展开成字符串
9
9
  // 字面量(用 lexicon 引号包裹),内容受严格校验防注入。与 aster-lang-core LiteralMacroTest
10
10
  // 逐条对齐(双引擎 parity)。动机:《静夜思》demo 里 思故乡 → "静夜思"。
11
11
  function vocab(literals, extra = {}) {
@@ -20,20 +20,17 @@ describe('字面量宏 IdentifierKind.LITERAL', () => {
20
20
  it('canonicalize 把 思故乡 展开成 lexicon 引号包裹的字符串字面量', () => {
21
21
  const v = vocab([{ localized: '思故乡', canonical: '静夜思', kind: IdentifierKind.LITERAL }]);
22
22
  assert.equal(validateVocabulary(v).valid, true, '合法字面量宏应通过校验');
23
- const index = buildIdentifierIndex(v);
24
- assert.equal(index.literals.has('思故乡'), true, '思故乡 标记为字面量宏');
25
- assert.equal(index.toCanonical.get('思故乡'), '静夜思', 'toCanonical 存内容(不含引号)');
26
- // zh-CN 引号「」;替换后 canonicalize 里 ASCII 步会把 " 归一到「」,此处直接检出现「静夜思」
27
- const out = canonicalize('低头 思故乡。', ZH_CN);
28
- // 注:ZH_CN 无字面量宏词汇;用 registry 走 domain 路径验证
29
- // 见下方 registerCustom 用例。此处仅确认 buildIdentifierIndex 层正确。
30
- assert.ok(out.length > 0);
23
+ const scopes = buildVocabularyScopes(v);
24
+ assert.equal(scopes.literals.get(foldKey('思故乡')), '静夜思', 'literals 存内容(不含引号)');
25
+ // zh-CN 引号「」:展开结果用 lexicon 引号包裹
26
+ const out = canonicalize('低头 思故乡。', { lexicon: ZH_CN, vocabulary: scopes });
27
+ assert.match(out, /「静夜思」/, `字面量宏应展开成 lexicon 引号字符串,实际: ${out}`);
31
28
  });
32
- it('端到端 canonicalize(domain 路径):思故乡 → 「静夜思」', () => {
29
+ it('端到端 canonicalize(注册中心路径):思故乡 → 「静夜思」', () => {
33
30
  const TENANT = 'jingyesi-t';
34
31
  vocabularyRegistry.registerCustom(TENANT, vocab([{ localized: '思故乡', canonical: '静夜思', kind: IdentifierKind.LITERAL }], { locale: 'zh-CN' }));
35
32
  const out = canonicalize('低头 思故乡。', {
36
- lexicon: ZH_CN, domain: 'jingyesi', locale: 'zh-CN', tenantId: TENANT,
33
+ lexicon: ZH_CN, vocabulary: vocabularyRegistry.getWithCustom(TENANT, 'jingyesi', 'zh-CN'),
37
34
  });
38
35
  assert.match(out, /「静夜思」/, `字面量宏应展开成 lexicon 引号字符串,实际: ${out}`);
39
36
  assert.doesNotMatch(out, /思故乡/, '原 token 不应残留');
@@ -79,7 +76,7 @@ describe('字面量宏 IdentifierKind.LITERAL', () => {
79
76
  // (丢失元音符号 matra ा/े,属 Unicode Mark \p{M} 而非 Letter \p{L}),导致天城文触发词
80
77
  // 永不匹配。修为 [\p{L}_][\p{L}\p{M}\p{Nd}_]* 后 जागे 作为整词匹配并展开。与 Java 引擎
81
78
  // isIdentifierPart 纳入 Mark 对齐。动机:Gitanjali #35 印地语 demo。
82
- it('端到端 canonicalize(Hindi domain 路径):जागे → 英文名句字面量', () => {
79
+ it('端到端 canonicalize(Hindi 注册中心路径):जागे → 英文名句字面量', () => {
83
80
  const TENANT = 'gitanjali-t';
84
81
  vocabularyRegistry.registerCustom(TENANT, {
85
82
  id: 'gitanjali', name: 'Gitanjali', locale: 'hi-IN', version: '1.0.0',
@@ -91,7 +88,7 @@ describe('字面量宏 IdentifierKind.LITERAL', () => {
91
88
  }],
92
89
  });
93
90
  const out = canonicalize('लौटाएं जागे।', {
94
- lexicon: HI_IN, domain: 'gitanjali', locale: 'hi-IN', tenantId: TENANT,
91
+ lexicon: HI_IN, vocabulary: vocabularyRegistry.getWithCustom(TENANT, 'gitanjali', 'hi-IN'),
95
92
  });
96
93
  assert.match(out, /"Into that heaven of freedom, let my country awake"/, `天城文触发词应展开成英文字符串字面量,实际: ${out}`);
97
94
  assert.doesNotMatch(out, /जागे/, '原天城文 token 不应残留(含元音符号也须整词匹配)');
@@ -103,9 +100,10 @@ describe('字面量宏 IdentifierKind.LITERAL', () => {
103
100
  structs: [], fields: [], functions: [], enumValues: [],
104
101
  literals: [{ localized: 'निर्भय', canonical: 'fearless', kind: IdentifierKind.LITERAL }],
105
102
  };
106
- const index = buildIdentifierIndex(v);
107
- assert.equal(index.literals.has('निर्भय'), true, 'निर्भय 整词进 index');
108
- assert.equal(index.toCanonical.get('निर्भय'), 'fearless', 'toCanonical 存内容');
103
+ const scopes = buildVocabularyScopes(v);
104
+ assert.equal(scopes.literals.get(foldKey('निर्भय')), 'fearless', 'निर्भय 整词进 literals');
105
+ const out = canonicalize('लौटाएं निर्भय।', { lexicon: HI_IN, vocabulary: scopes });
106
+ assert.match(out, /"fearless"/, `含元音符号的触发词应整词展开,实际: ${out}`);
109
107
  });
110
108
  // 跨引擎 parity 边界(Codex 审查):identifier 数字部分用 \p{Nd}(十进制)而非 \p{N},
111
109
  // 与 Java Character.isDigit 对齐。\p{N} 会含 Nl(罗马数字 Ⅻ)/No(上标 ²)→ Java 在这些
@@ -121,7 +119,7 @@ describe('字面量宏 IdentifierKind.LITERAL', () => {
121
119
  literals: [{ localized: 'aⅫ', canonical: 'ROMAN', kind: IdentifierKind.LITERAL }],
122
120
  });
123
121
  const out = canonicalize('Return aⅫ.', {
124
- lexicon: EN_US, domain: 'ndp', locale: 'en-US', tenantId: TENANT,
122
+ lexicon: EN_US, vocabulary: vocabularyRegistry.getWithCustom(TENANT, 'ndp', 'en-US'),
125
123
  });
126
124
  // 触发词 "aⅫ" 不应被当整词展开(因为 Ⅻ 不是 \p{Nd} → identifier 在 a 后断开)。
127
125
  assert.doesNotMatch(out, /ROMAN/, `\\p{Nd} 下 Nl 字符不应粘进 identifier,实际: ${out}`);
@@ -1 +1 @@
1
- {"version":3,"file":"literal-macro.test.js","sourceRoot":"","sources":["../../../../../../test/unit/config/lexicons/identifiers/literal-macro.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"literal-macro.test.js","sourceRoot":"","sources":["../../../../../../test/unit/config/lexicons/identifiers/literal-macro.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resolve-typed-references.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-typed-references.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/core/resolve-typed-references.test.ts"],"names":[],"mappings":""}