@aster-cloud/aster-lang-ts 1.0.36 → 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 (341) 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/generate-lexicons.js +17 -1
  16. package/dist/scripts/generate-lexicons.js.map +1 -1
  17. package/dist/scripts/golden.js +16 -16
  18. package/dist/scripts/golden.js.map +1 -1
  19. package/dist/scripts/perf-benchmark.js +1 -0
  20. package/dist/scripts/perf-benchmark.js.map +1 -1
  21. package/dist/scripts/profile-medium-project.js +1 -1
  22. package/dist/scripts/profile-medium-project.js.map +1 -1
  23. package/dist/scripts/repl.js +3 -8
  24. package/dist/scripts/repl.js.map +1 -1
  25. package/dist/scripts/typecheck-cli.js +10 -9
  26. package/dist/scripts/typecheck-cli.js.map +1 -1
  27. package/dist/scripts/update-eff-violation-expected.js +6 -6
  28. package/dist/scripts/update-eff-violation-expected.js.map +1 -1
  29. package/dist/scripts/verify-capabilities.js +3 -6
  30. package/dist/scripts/verify-capabilities.js.map +1 -1
  31. package/dist/scripts/verify-lexicon-sync.js +10 -0
  32. package/dist/scripts/verify-lexicon-sync.js.map +1 -1
  33. package/dist/src/ai/validator.d.ts +1 -1
  34. package/dist/src/ai/validator.d.ts.map +1 -1
  35. package/dist/src/ai/validator.js +12 -12
  36. package/dist/src/ai/validator.js.map +1 -1
  37. package/dist/src/ast/ast.d.ts +1 -0
  38. package/dist/src/ast/ast.d.ts.map +1 -1
  39. package/dist/src/ast/ast.js.map +1 -1
  40. package/dist/src/browser.d.ts +27 -10
  41. package/dist/src/browser.d.ts.map +1 -1
  42. package/dist/src/browser.js +42 -54
  43. package/dist/src/browser.js.map +1 -1
  44. package/dist/src/cli/policy-converter.js +5 -9
  45. package/dist/src/cli/policy-converter.js.map +1 -1
  46. package/dist/src/compile-pipeline.d.ts +48 -0
  47. package/dist/src/compile-pipeline.d.ts.map +1 -0
  48. package/dist/src/compile-pipeline.js +89 -0
  49. package/dist/src/compile-pipeline.js.map +1 -0
  50. package/dist/src/config/lexicons/diagnostic-messages.d.ts.map +1 -1
  51. package/dist/src/config/lexicons/diagnostic-messages.js +20 -0
  52. package/dist/src/config/lexicons/diagnostic-messages.js.map +1 -1
  53. package/dist/src/config/lexicons/identifiers/casefold-table.generated.d.ts +9 -0
  54. package/dist/src/config/lexicons/identifiers/casefold-table.generated.d.ts.map +1 -0
  55. package/dist/src/config/lexicons/identifiers/casefold-table.generated.js +1467 -0
  56. package/dist/src/config/lexicons/identifiers/casefold-table.generated.js.map +1 -0
  57. package/dist/src/config/lexicons/identifiers/casefold.d.ts +7 -0
  58. package/dist/src/config/lexicons/identifiers/casefold.d.ts.map +1 -0
  59. package/dist/src/config/lexicons/identifiers/casefold.js +37 -0
  60. package/dist/src/config/lexicons/identifiers/casefold.js.map +1 -0
  61. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.d.ts.map +1 -1
  62. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.js +8 -0
  63. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.js.map +1 -1
  64. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.d.ts.map +1 -1
  65. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.js +8 -0
  66. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.js.map +1 -1
  67. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.d.ts.map +1 -1
  68. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.js +8 -0
  69. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.js.map +1 -1
  70. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.d.ts.map +1 -1
  71. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.js +6 -0
  72. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.js.map +1 -1
  73. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.d.ts.map +1 -1
  74. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.js +6 -0
  75. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.js.map +1 -1
  76. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.d.ts.map +1 -1
  77. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.js +6 -0
  78. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.js.map +1 -1
  79. package/dist/src/config/lexicons/identifiers/index.d.ts +7 -9
  80. package/dist/src/config/lexicons/identifiers/index.d.ts.map +1 -1
  81. package/dist/src/config/lexicons/identifiers/index.js +8 -9
  82. package/dist/src/config/lexicons/identifiers/index.js.map +1 -1
  83. package/dist/src/config/lexicons/identifiers/registry.d.ts +11 -5
  84. package/dist/src/config/lexicons/identifiers/registry.d.ts.map +1 -1
  85. package/dist/src/config/lexicons/identifiers/registry.js +20 -14
  86. package/dist/src/config/lexicons/identifiers/registry.js.map +1 -1
  87. package/dist/src/config/lexicons/identifiers/scopes.d.ts +52 -0
  88. package/dist/src/config/lexicons/identifiers/scopes.d.ts.map +1 -0
  89. package/dist/src/config/lexicons/identifiers/scopes.js +166 -0
  90. package/dist/src/config/lexicons/identifiers/scopes.js.map +1 -0
  91. package/dist/src/config/lexicons/identifiers/types.d.ts +15 -29
  92. package/dist/src/config/lexicons/identifiers/types.d.ts.map +1 -1
  93. package/dist/src/config/lexicons/identifiers/types.js +91 -101
  94. package/dist/src/config/lexicons/identifiers/types.js.map +1 -1
  95. package/dist/src/config/lexicons/lsp-ui-texts.d.ts +7 -0
  96. package/dist/src/config/lexicons/lsp-ui-texts.d.ts.map +1 -1
  97. package/dist/src/config/lexicons/lsp-ui-texts.js +12 -0
  98. package/dist/src/config/lexicons/lsp-ui-texts.js.map +1 -1
  99. package/dist/src/config/lexicons/zh-CN.d.ts.map +1 -1
  100. package/dist/src/config/lexicons/zh-CN.js +1 -0
  101. package/dist/src/config/lexicons/zh-CN.js.map +1 -1
  102. package/dist/src/config/semantic.d.ts +5 -0
  103. package/dist/src/config/semantic.d.ts.map +1 -1
  104. package/dist/src/config/semantic.js +12 -0
  105. package/dist/src/config/semantic.js.map +1 -1
  106. package/dist/src/core/inferred_fields.d.ts +10 -0
  107. package/dist/src/core/inferred_fields.d.ts.map +1 -1
  108. package/dist/src/core/inferred_fields.js +9 -0
  109. package/dist/src/core/inferred_fields.js.map +1 -1
  110. package/dist/src/core/interpreter.d.ts.map +1 -1
  111. package/dist/src/core/interpreter.js +37 -16
  112. package/dist/src/core/interpreter.js.map +1 -1
  113. package/dist/src/core/resolution-mark.d.ts +28 -0
  114. package/dist/src/core/resolution-mark.d.ts.map +1 -0
  115. package/dist/src/core/resolution-mark.js +19 -0
  116. package/dist/src/core/resolution-mark.js.map +1 -0
  117. package/dist/src/core/resolve-typed-references.d.ts +36 -0
  118. package/dist/src/core/resolve-typed-references.d.ts.map +1 -0
  119. package/dist/src/core/resolve-typed-references.js +703 -0
  120. package/dist/src/core/resolve-typed-references.js.map +1 -0
  121. package/dist/src/diagnostics/error_codes.d.ts +11 -1
  122. package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
  123. package/dist/src/diagnostics/error_codes.js +80 -0
  124. package/dist/src/diagnostics/error_codes.js.map +1 -1
  125. package/dist/src/frontend/canonicalizer.d.ts +8 -13
  126. package/dist/src/frontend/canonicalizer.d.ts.map +1 -1
  127. package/dist/src/frontend/canonicalizer.js +21 -50
  128. package/dist/src/frontend/canonicalizer.js.map +1 -1
  129. package/dist/src/frontend/resolution-choice.d.ts +34 -0
  130. package/dist/src/frontend/resolution-choice.d.ts.map +1 -0
  131. package/dist/src/frontend/resolution-choice.js +69 -0
  132. package/dist/src/frontend/resolution-choice.js.map +1 -0
  133. package/dist/src/frontend/resolution-context.d.ts +28 -0
  134. package/dist/src/frontend/resolution-context.d.ts.map +1 -0
  135. package/dist/src/frontend/resolution-context.js +7 -0
  136. package/dist/src/frontend/resolution-context.js.map +1 -0
  137. package/dist/src/frontend/resolve-declarations.d.ts +13 -0
  138. package/dist/src/frontend/resolve-declarations.d.ts.map +1 -0
  139. package/dist/src/frontend/resolve-declarations.js +611 -0
  140. package/dist/src/frontend/resolve-declarations.js.map +1 -0
  141. package/dist/src/frontend/resolve-policy-types.d.ts +54 -0
  142. package/dist/src/frontend/resolve-policy-types.d.ts.map +1 -0
  143. package/dist/src/frontend/resolve-policy-types.js +71 -0
  144. package/dist/src/frontend/resolve-policy-types.js.map +1 -0
  145. package/dist/src/frontend/transformers.d.ts +11 -2
  146. package/dist/src/frontend/transformers.d.ts.map +1 -1
  147. package/dist/src/frontend/transformers.js +153 -10
  148. package/dist/src/frontend/transformers.js.map +1 -1
  149. package/dist/src/index.d.ts +14 -7
  150. package/dist/src/index.d.ts.map +1 -1
  151. package/dist/src/index.js +14 -7
  152. package/dist/src/index.js.map +1 -1
  153. package/dist/src/lower_to_core.d.ts +2 -16
  154. package/dist/src/lower_to_core.d.ts.map +1 -1
  155. package/dist/src/lower_to_core.js +101 -44
  156. package/dist/src/lower_to_core.js.map +1 -1
  157. package/dist/src/lsp/canonicalize-options.d.ts +8 -11
  158. package/dist/src/lsp/canonicalize-options.d.ts.map +1 -1
  159. package/dist/src/lsp/canonicalize-options.js +8 -8
  160. package/dist/src/lsp/canonicalize-options.js.map +1 -1
  161. package/dist/src/lsp/completion.d.ts +32 -5
  162. package/dist/src/lsp/completion.d.ts.map +1 -1
  163. package/dist/src/lsp/completion.js +59 -0
  164. package/dist/src/lsp/completion.js.map +1 -1
  165. package/dist/src/lsp/diagnostics.d.ts +2 -0
  166. package/dist/src/lsp/diagnostics.d.ts.map +1 -1
  167. package/dist/src/lsp/diagnostics.js +77 -73
  168. package/dist/src/lsp/diagnostics.js.map +1 -1
  169. package/dist/src/lsp/navigation/hover.d.ts +12 -5
  170. package/dist/src/lsp/navigation/hover.d.ts.map +1 -1
  171. package/dist/src/lsp/navigation/hover.js +136 -90
  172. package/dist/src/lsp/navigation/hover.js.map +1 -1
  173. package/dist/src/lsp/parse-document.d.ts +3 -0
  174. package/dist/src/lsp/parse-document.d.ts.map +1 -1
  175. package/dist/src/lsp/parse-document.js +5 -17
  176. package/dist/src/lsp/parse-document.js.map +1 -1
  177. package/dist/src/lsp/resolution.d.ts +40 -0
  178. package/dist/src/lsp/resolution.d.ts.map +1 -0
  179. package/dist/src/lsp/resolution.js +179 -0
  180. package/dist/src/lsp/resolution.js.map +1 -0
  181. package/dist/src/lsp/server.js +3 -1
  182. package/dist/src/lsp/server.js.map +1 -1
  183. package/dist/src/lsp/source-positions.d.ts +3 -9
  184. package/dist/src/lsp/source-positions.d.ts.map +1 -1
  185. package/dist/src/lsp/source-positions.js +25 -19
  186. package/dist/src/lsp/source-positions.js.map +1 -1
  187. package/dist/src/mapping/candidate-generator.d.ts +19 -9
  188. package/dist/src/mapping/candidate-generator.d.ts.map +1 -1
  189. package/dist/src/mapping/candidate-generator.js +79 -40
  190. package/dist/src/mapping/candidate-generator.js.map +1 -1
  191. package/dist/src/mapping/pipeline.d.ts +6 -0
  192. package/dist/src/mapping/pipeline.d.ts.map +1 -1
  193. package/dist/src/mapping/pipeline.js +69 -75
  194. package/dist/src/mapping/pipeline.js.map +1 -1
  195. package/dist/src/mapping/review-queue.d.ts.map +1 -1
  196. package/dist/src/mapping/review-queue.js +3 -2
  197. package/dist/src/mapping/review-queue.js.map +1 -1
  198. package/dist/src/nodeid/node-id-map.d.ts +7 -0
  199. package/dist/src/nodeid/node-id-map.d.ts.map +1 -1
  200. package/dist/src/nodeid/node-id-map.js +23 -13
  201. package/dist/src/nodeid/node-id-map.js.map +1 -1
  202. package/dist/src/parser/context.d.ts +2 -0
  203. package/dist/src/parser/context.d.ts.map +1 -1
  204. package/dist/src/parser/context.js +1 -0
  205. package/dist/src/parser/context.js.map +1 -1
  206. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  207. package/dist/src/parser/decl-parser.js +1 -0
  208. package/dist/src/parser/decl-parser.js.map +1 -1
  209. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  210. package/dist/src/parser/expr-stmt-parser.js +2 -16
  211. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  212. package/dist/src/parser.d.ts.map +1 -1
  213. package/dist/src/parser.js +3 -1
  214. package/dist/src/parser.js.map +1 -1
  215. package/dist/src/typecheck/expression.d.ts.map +1 -1
  216. package/dist/src/typecheck/expression.js +35 -1
  217. package/dist/src/typecheck/expression.js.map +1 -1
  218. package/dist/src/typecheck/generics.d.ts +5 -0
  219. package/dist/src/typecheck/generics.d.ts.map +1 -1
  220. package/dist/src/typecheck/generics.js +15 -8
  221. package/dist/src/typecheck/generics.js.map +1 -1
  222. package/dist/src/typecheck/statement.d.ts +10 -0
  223. package/dist/src/typecheck/statement.d.ts.map +1 -1
  224. package/dist/src/typecheck/statement.js +19 -5
  225. package/dist/src/typecheck/statement.js.map +1 -1
  226. package/dist/src/types.d.ts +45 -13
  227. package/dist/src/types.d.ts.map +1 -1
  228. package/dist/src/types.js.map +1 -1
  229. package/dist/src/version.d.ts +17 -0
  230. package/dist/src/version.d.ts.map +1 -0
  231. package/dist/src/version.js +17 -0
  232. package/dist/src/version.js.map +1 -0
  233. package/dist/test/integration/builtin-enum-vocabulary.test.d.ts +2 -0
  234. package/dist/test/integration/builtin-enum-vocabulary.test.d.ts.map +1 -0
  235. package/dist/test/integration/builtin-enum-vocabulary.test.js +51 -0
  236. package/dist/test/integration/builtin-enum-vocabulary.test.js.map +1 -0
  237. package/dist/test/integration/compliance/compliance-smoke.test.js +16 -9
  238. package/dist/test/integration/compliance/compliance-smoke.test.js.map +1 -1
  239. package/dist/test/integration/lsp/lsp-rename-safety.test.js +0 -13
  240. package/dist/test/integration/lsp/lsp-rename-safety.test.js.map +1 -1
  241. package/dist/test/integration/name-resolution-entrypoints.test.d.ts +2 -0
  242. package/dist/test/integration/name-resolution-entrypoints.test.d.ts.map +1 -0
  243. package/dist/test/integration/name-resolution-entrypoints.test.js +109 -0
  244. package/dist/test/integration/name-resolution-entrypoints.test.js.map +1 -0
  245. package/dist/test/integration/vocabulary-resolution.test.d.ts +2 -0
  246. package/dist/test/integration/vocabulary-resolution.test.d.ts.map +1 -0
  247. package/dist/test/integration/vocabulary-resolution.test.js +291 -0
  248. package/dist/test/integration/vocabulary-resolution.test.js.map +1 -0
  249. package/dist/test/property/property.test.js +2 -1
  250. package/dist/test/property/property.test.js.map +1 -1
  251. package/dist/test/unit/allocation-budget.test.js +41 -0
  252. package/dist/test/unit/allocation-budget.test.js.map +1 -1
  253. package/dist/test/unit/canonicalizer/canonicalizer.test.js +7 -79
  254. package/dist/test/unit/canonicalizer/canonicalizer.test.js.map +1 -1
  255. package/dist/test/unit/canonicalizer/chinese-function-syntax.test.d.ts +2 -0
  256. package/dist/test/unit/canonicalizer/chinese-function-syntax.test.d.ts.map +1 -0
  257. package/dist/test/unit/canonicalizer/chinese-function-syntax.test.js +86 -0
  258. package/dist/test/unit/canonicalizer/chinese-function-syntax.test.js.map +1 -0
  259. package/dist/test/unit/canonicalizer/transformers.test.d.ts +2 -0
  260. package/dist/test/unit/canonicalizer/transformers.test.d.ts.map +1 -0
  261. package/dist/test/unit/canonicalizer/transformers.test.js +25 -0
  262. package/dist/test/unit/canonicalizer/transformers.test.js.map +1 -0
  263. package/dist/test/unit/config/lexicons/identifiers/identifier-mapping.test.js +134 -31
  264. package/dist/test/unit/config/lexicons/identifiers/identifier-mapping.test.js.map +1 -1
  265. package/dist/test/unit/config/lexicons/identifiers/literal-macro.test.js +16 -18
  266. package/dist/test/unit/config/lexicons/identifiers/literal-macro.test.js.map +1 -1
  267. package/dist/test/unit/core/resolve-typed-references.test.d.ts +2 -0
  268. package/dist/test/unit/core/resolve-typed-references.test.d.ts.map +1 -0
  269. package/dist/test/unit/core/resolve-typed-references.test.js +600 -0
  270. package/dist/test/unit/core/resolve-typed-references.test.js.map +1 -0
  271. package/dist/test/unit/diagnostics/resolution-codes.test.d.ts +6 -0
  272. package/dist/test/unit/diagnostics/resolution-codes.test.d.ts.map +1 -0
  273. package/dist/test/unit/diagnostics/resolution-codes.test.js +83 -0
  274. package/dist/test/unit/diagnostics/resolution-codes.test.js.map +1 -0
  275. package/dist/test/unit/formatter-corpus-roundtrip.test.js +9 -0
  276. package/dist/test/unit/formatter-corpus-roundtrip.test.js.map +1 -1
  277. package/dist/test/unit/frontend/resolve-declarations.test.d.ts +2 -0
  278. package/dist/test/unit/frontend/resolve-declarations.test.d.ts.map +1 -0
  279. package/dist/test/unit/frontend/resolve-declarations.test.js +400 -0
  280. package/dist/test/unit/frontend/resolve-declarations.test.js.map +1 -0
  281. package/dist/test/unit/identifiers/casefold.test.d.ts +2 -0
  282. package/dist/test/unit/identifiers/casefold.test.d.ts.map +1 -0
  283. package/dist/test/unit/identifiers/casefold.test.js +77 -0
  284. package/dist/test/unit/identifiers/casefold.test.js.map +1 -0
  285. package/dist/test/unit/identifiers/scopes.test.d.ts +2 -0
  286. package/dist/test/unit/identifiers/scopes.test.d.ts.map +1 -0
  287. package/dist/test/unit/identifiers/scopes.test.js +109 -0
  288. package/dist/test/unit/identifiers/scopes.test.js.map +1 -0
  289. package/dist/test/unit/lambda-capture-parity.test.js +12 -5
  290. package/dist/test/unit/lambda-capture-parity.test.js.map +1 -1
  291. package/dist/test/unit/lsp/lsp-locale-fixes.test.js +10 -11
  292. package/dist/test/unit/lsp/lsp-locale-fixes.test.js.map +1 -1
  293. package/dist/test/unit/lsp/parse-document.test.js +39 -0
  294. package/dist/test/unit/lsp/parse-document.test.js.map +1 -1
  295. package/dist/test/unit/lsp/resolution-completion.test.d.ts +2 -0
  296. package/dist/test/unit/lsp/resolution-completion.test.d.ts.map +1 -0
  297. package/dist/test/unit/lsp/resolution-completion.test.js +79 -0
  298. package/dist/test/unit/lsp/resolution-completion.test.js.map +1 -0
  299. package/dist/test/unit/lsp/resolution-diagnostics.test.d.ts +2 -0
  300. package/dist/test/unit/lsp/resolution-diagnostics.test.d.ts.map +1 -0
  301. package/dist/test/unit/lsp/resolution-diagnostics.test.js +88 -0
  302. package/dist/test/unit/lsp/resolution-diagnostics.test.js.map +1 -0
  303. package/dist/test/unit/lsp/resolution-fixture.d.ts +32 -0
  304. package/dist/test/unit/lsp/resolution-fixture.d.ts.map +1 -0
  305. package/dist/test/unit/lsp/resolution-fixture.js +69 -0
  306. package/dist/test/unit/lsp/resolution-fixture.js.map +1 -0
  307. package/dist/test/unit/lsp/resolution-hover.test.d.ts +2 -0
  308. package/dist/test/unit/lsp/resolution-hover.test.d.ts.map +1 -0
  309. package/dist/test/unit/lsp/resolution-hover.test.js +107 -0
  310. package/dist/test/unit/lsp/resolution-hover.test.js.map +1 -0
  311. package/dist/test/unit/lsp/tenant-vocabulary.test.js +21 -47
  312. package/dist/test/unit/lsp/tenant-vocabulary.test.js.map +1 -1
  313. package/dist/test/unit/mapping/candidate-generator.test.js +54 -1
  314. package/dist/test/unit/mapping/candidate-generator.test.js.map +1 -1
  315. package/dist/test/unit/mapping/pipeline.test.js +22 -1
  316. package/dist/test/unit/mapping/pipeline.test.js.map +1 -1
  317. package/dist/test/unit/parser/parser.test.js +22 -0
  318. package/dist/test/unit/parser/parser.test.js.map +1 -1
  319. package/dist/test/unit/public-api-checked-entries.test.d.ts +2 -0
  320. package/dist/test/unit/public-api-checked-entries.test.d.ts.map +1 -0
  321. package/dist/test/unit/public-api-checked-entries.test.js +28 -0
  322. package/dist/test/unit/public-api-checked-entries.test.js.map +1 -0
  323. package/dist/test/unit/typecheck/e104-block-scope-parity.test.d.ts +2 -0
  324. package/dist/test/unit/typecheck/e104-block-scope-parity.test.d.ts.map +1 -0
  325. package/dist/test/unit/typecheck/e104-block-scope-parity.test.js +82 -0
  326. package/dist/test/unit/typecheck/e104-block-scope-parity.test.js.map +1 -0
  327. package/dist/test/unit/typecheck/qualified-enum-member.test.d.ts +2 -0
  328. package/dist/test/unit/typecheck/qualified-enum-member.test.d.ts.map +1 -0
  329. package/dist/test/unit/typecheck/qualified-enum-member.test.js +73 -0
  330. package/dist/test/unit/typecheck/qualified-enum-member.test.js.map +1 -0
  331. package/dist/test/unit/typecheck/type-inference.test.js +22 -0
  332. package/dist/test/unit/typecheck/type-inference.test.js.map +1 -1
  333. package/dist/test/unit/version.test.d.ts +9 -0
  334. package/dist/test/unit/version.test.d.ts.map +1 -0
  335. package/dist/test/unit/version.test.js +34 -0
  336. package/dist/test/unit/version.test.js.map +1 -0
  337. package/package.json +1 -1
  338. package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.d.ts +0 -47
  339. package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.d.ts.map +0 -1
  340. package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.js +0 -142
  341. package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.js.map +0 -1
@@ -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":"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"}
@@ -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":""}