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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/LICENSE +201 -0
  3. package/README.md +2 -0
  4. package/dist/scripts/core-ir-json.d.ts +3 -0
  5. package/dist/scripts/core-ir-json.d.ts.map +1 -0
  6. package/dist/scripts/core-ir-json.js +72 -0
  7. package/dist/scripts/core-ir-json.js.map +1 -0
  8. package/dist/scripts/golden.js +49 -0
  9. package/dist/scripts/golden.js.map +1 -1
  10. package/dist/src/ai/providers/anthropic.d.ts +17 -0
  11. package/dist/src/ai/providers/anthropic.d.ts.map +1 -1
  12. package/dist/src/ai/providers/anthropic.js +58 -15
  13. package/dist/src/ai/providers/anthropic.js.map +1 -1
  14. package/dist/src/ast/ast.d.ts +2 -2
  15. package/dist/src/ast/ast.d.ts.map +1 -1
  16. package/dist/src/ast/ast.js +5 -2
  17. package/dist/src/ast/ast.js.map +1 -1
  18. package/dist/src/browser/schema.d.ts +52 -0
  19. package/dist/src/browser/schema.d.ts.map +1 -0
  20. package/dist/src/browser/schema.js +205 -0
  21. package/dist/src/browser/schema.js.map +1 -0
  22. package/dist/src/browser.d.ts +19 -54
  23. package/dist/src/browser.d.ts.map +1 -1
  24. package/dist/src/browser.js +30 -188
  25. package/dist/src/browser.js.map +1 -1
  26. package/dist/src/cli/policy-converter.js +8 -1
  27. package/dist/src/cli/policy-converter.js.map +1 -1
  28. package/dist/src/config/effect_config.d.ts.map +1 -1
  29. package/dist/src/config/effect_config.js +7 -1
  30. package/dist/src/config/effect_config.js.map +1 -1
  31. package/dist/src/config/lexicons/de-DE.d.ts.map +1 -1
  32. package/dist/src/config/lexicons/de-DE.js +1 -0
  33. package/dist/src/config/lexicons/de-DE.js.map +1 -1
  34. package/dist/src/config/lexicons/en-US.d.ts.map +1 -1
  35. package/dist/src/config/lexicons/en-US.js +1 -0
  36. package/dist/src/config/lexicons/en-US.js.map +1 -1
  37. package/dist/src/config/lexicons/fallback-lexicon.d.ts +41 -0
  38. package/dist/src/config/lexicons/fallback-lexicon.d.ts.map +1 -0
  39. package/dist/src/config/lexicons/fallback-lexicon.js +88 -0
  40. package/dist/src/config/lexicons/fallback-lexicon.js.map +1 -0
  41. package/dist/src/config/lexicons/identifiers/registry.d.ts +9 -0
  42. package/dist/src/config/lexicons/identifiers/registry.d.ts.map +1 -1
  43. package/dist/src/config/lexicons/identifiers/registry.js +12 -0
  44. package/dist/src/config/lexicons/identifiers/registry.js.map +1 -1
  45. package/dist/src/config/lexicons/index.d.ts +25 -3
  46. package/dist/src/config/lexicons/index.d.ts.map +1 -1
  47. package/dist/src/config/lexicons/index.js +42 -7
  48. package/dist/src/config/lexicons/index.js.map +1 -1
  49. package/dist/src/config/lexicons/registry.d.ts.map +1 -1
  50. package/dist/src/config/lexicons/registry.js +43 -5
  51. package/dist/src/config/lexicons/registry.js.map +1 -1
  52. package/dist/src/config/lexicons/template.d.ts.map +1 -1
  53. package/dist/src/config/lexicons/template.js +2 -0
  54. package/dist/src/config/lexicons/template.js.map +1 -1
  55. package/dist/src/config/lexicons/zh-CN.d.ts.map +1 -1
  56. package/dist/src/config/lexicons/zh-CN.js +36 -20
  57. package/dist/src/config/lexicons/zh-CN.js.map +1 -1
  58. package/dist/src/config/semantic.d.ts +13 -0
  59. package/dist/src/config/semantic.d.ts.map +1 -1
  60. package/dist/src/config/semantic.js +17 -0
  61. package/dist/src/config/semantic.js.map +1 -1
  62. package/dist/src/config/token-kind.d.ts +2 -0
  63. package/dist/src/config/token-kind.d.ts.map +1 -1
  64. package/dist/src/config/token-kind.js +3 -1
  65. package/dist/src/config/token-kind.js.map +1 -1
  66. package/dist/src/core/core_ir.d.ts +2 -2
  67. package/dist/src/core/core_ir.d.ts.map +1 -1
  68. package/dist/src/core/core_ir.js +5 -2
  69. package/dist/src/core/core_ir.js.map +1 -1
  70. package/dist/src/core/interpreter.js +6 -1
  71. package/dist/src/core/interpreter.js.map +1 -1
  72. package/dist/src/core/visitor.d.ts.map +1 -1
  73. package/dist/src/core/visitor.js +17 -0
  74. package/dist/src/core/visitor.js.map +1 -1
  75. package/dist/src/diagnostics/error_codes.d.ts +2 -0
  76. package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
  77. package/dist/src/diagnostics/error_codes.js +11 -5
  78. package/dist/src/diagnostics/error_codes.js.map +1 -1
  79. package/dist/src/effects/effect_inference_browser.d.ts.map +1 -1
  80. package/dist/src/effects/effect_inference_browser.js +22 -4
  81. package/dist/src/effects/effect_inference_browser.js.map +1 -1
  82. package/dist/src/frontend/canonicalizer.d.ts +33 -0
  83. package/dist/src/frontend/canonicalizer.d.ts.map +1 -1
  84. package/dist/src/frontend/canonicalizer.js +77 -5
  85. package/dist/src/frontend/canonicalizer.js.map +1 -1
  86. package/dist/src/frontend/lexer.d.ts.map +1 -1
  87. package/dist/src/frontend/lexer.js +7 -1
  88. package/dist/src/frontend/lexer.js.map +1 -1
  89. package/dist/src/jvm/emitter.js +2 -2
  90. package/dist/src/jvm/emitter.js.map +1 -1
  91. package/dist/src/lower_to_core.js +2 -2
  92. package/dist/src/lower_to_core.js.map +1 -1
  93. package/dist/src/lsp/config.d.ts +13 -9
  94. package/dist/src/lsp/config.d.ts.map +1 -1
  95. package/dist/src/lsp/config.js +19 -5
  96. package/dist/src/lsp/config.js.map +1 -1
  97. package/dist/src/lsp/diagnostics.d.ts +10 -0
  98. package/dist/src/lsp/diagnostics.d.ts.map +1 -1
  99. package/dist/src/lsp/diagnostics.js +43 -1
  100. package/dist/src/lsp/diagnostics.js.map +1 -1
  101. package/dist/src/lsp/pii_diagnostics.d.ts.map +1 -1
  102. package/dist/src/lsp/pii_diagnostics.js +4 -1
  103. package/dist/src/lsp/pii_diagnostics.js.map +1 -1
  104. package/dist/src/lsp/server.js +49 -17
  105. package/dist/src/lsp/server.js.map +1 -1
  106. package/dist/src/lsp/utils.js +1 -1
  107. package/dist/src/lsp/utils.js.map +1 -1
  108. package/dist/src/parser/context.d.ts.map +1 -1
  109. package/dist/src/parser/context.js +32 -12
  110. package/dist/src/parser/context.js.map +1 -1
  111. package/dist/src/parser/decl-parser.d.ts +2 -2
  112. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  113. package/dist/src/parser/decl-parser.js +113 -14
  114. package/dist/src/parser/decl-parser.js.map +1 -1
  115. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  116. package/dist/src/parser/expr-stmt-parser.js +111 -4
  117. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  118. package/dist/src/parser/import-parser.d.ts +3 -2
  119. package/dist/src/parser/import-parser.d.ts.map +1 -1
  120. package/dist/src/parser/import-parser.js +12 -3
  121. package/dist/src/parser/import-parser.js.map +1 -1
  122. package/dist/src/parser/input-generator.d.ts +2 -0
  123. package/dist/src/parser/input-generator.d.ts.map +1 -1
  124. package/dist/src/parser/input-generator.js +11 -1
  125. package/dist/src/parser/input-generator.js.map +1 -1
  126. package/dist/src/parser/type-parser.js +1 -1
  127. package/dist/src/parser/type-parser.js.map +1 -1
  128. package/dist/src/typecheck/alias.d.ts +24 -0
  129. package/dist/src/typecheck/alias.d.ts.map +1 -0
  130. package/dist/src/typecheck/alias.js +30 -0
  131. package/dist/src/typecheck/alias.js.map +1 -0
  132. package/dist/src/typecheck/browser.d.ts +41 -4
  133. package/dist/src/typecheck/browser.d.ts.map +1 -1
  134. package/dist/src/typecheck/browser.js +189 -14
  135. package/dist/src/typecheck/browser.js.map +1 -1
  136. package/dist/src/typecheck/context.js +1 -1
  137. package/dist/src/typecheck/context.js.map +1 -1
  138. package/dist/src/typecheck/effects.d.ts.map +1 -1
  139. package/dist/src/typecheck/effects.js +18 -4
  140. package/dist/src/typecheck/effects.js.map +1 -1
  141. package/dist/src/typecheck/expression.js +1 -1
  142. package/dist/src/typecheck/expression.js.map +1 -1
  143. package/dist/src/typecheck/generics.js +1 -1
  144. package/dist/src/typecheck/generics.js.map +1 -1
  145. package/dist/src/typecheck/module.d.ts.map +1 -1
  146. package/dist/src/typecheck/module.js +13 -8
  147. package/dist/src/typecheck/module.js.map +1 -1
  148. package/dist/src/typecheck/pattern.js +1 -1
  149. package/dist/src/typecheck/pattern.js.map +1 -1
  150. package/dist/src/typecheck/pure.d.ts +66 -0
  151. package/dist/src/typecheck/pure.d.ts.map +1 -0
  152. package/dist/src/typecheck/pure.js +163 -0
  153. package/dist/src/typecheck/pure.js.map +1 -0
  154. package/dist/src/typecheck/statement.js +1 -1
  155. package/dist/src/typecheck/statement.js.map +1 -1
  156. package/dist/src/typecheck/type_system.d.ts +6 -1
  157. package/dist/src/typecheck/type_system.d.ts.map +1 -1
  158. package/dist/src/typecheck/type_system.js +61 -13
  159. package/dist/src/typecheck/type_system.js.map +1 -1
  160. package/dist/src/typecheck/utils.d.ts +4 -69
  161. package/dist/src/typecheck/utils.d.ts.map +1 -1
  162. package/dist/src/typecheck/utils.js +17 -170
  163. package/dist/src/typecheck/utils.js.map +1 -1
  164. package/dist/src/typecheck/workflow.js +1 -1
  165. package/dist/src/typecheck/workflow.js.map +1 -1
  166. package/dist/src/typecheck-pii.d.ts.map +1 -1
  167. package/dist/src/typecheck-pii.js +11 -1
  168. package/dist/src/typecheck-pii.js.map +1 -1
  169. package/dist/src/types/base.d.ts +1 -0
  170. package/dist/src/types/base.d.ts.map +1 -1
  171. package/dist/src/types.d.ts +18 -0
  172. package/dist/src/types.d.ts.map +1 -1
  173. package/dist/src/types.js +1 -0
  174. package/dist/src/types.js.map +1 -1
  175. package/dist/test/e2e/runner/golden-runner.js +21 -10
  176. package/dist/test/e2e/runner/golden-runner.js.map +1 -1
  177. package/dist/test/integration/compliance/compliance-smoke.test.js +27 -35
  178. package/dist/test/integration/compliance/compliance-smoke.test.js.map +1 -1
  179. package/dist/test/integration/lsp/lsp-multi-rename.test.js +8 -7
  180. package/dist/test/integration/lsp/lsp-multi-rename.test.js.map +1 -1
  181. package/dist/test/policy-converter/round-trip.test.js +6 -4
  182. package/dist/test/policy-converter/round-trip.test.js.map +1 -1
  183. package/dist/test/regression/type-checker-golden.test.js +8 -4
  184. package/dist/test/regression/type-checker-golden.test.js.map +1 -1
  185. package/dist/test/type-checker/cross-module-packages.test.js +5 -3
  186. package/dist/test/type-checker/cross-module-packages.test.js.map +1 -1
  187. package/dist/test/type-checker/pii-propagation.test.js +24 -18
  188. package/dist/test/type-checker/pii-propagation.test.js.map +1 -1
  189. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.d.ts +2 -0
  190. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.d.ts.map +1 -0
  191. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.js +193 -0
  192. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.js.map +1 -0
  193. package/dist/test/unit/browser/typecheck-browser-unsupported.test.d.ts +2 -0
  194. package/dist/test/unit/browser/typecheck-browser-unsupported.test.d.ts.map +1 -0
  195. package/dist/test/unit/browser/typecheck-browser-unsupported.test.js +110 -0
  196. package/dist/test/unit/browser/typecheck-browser-unsupported.test.js.map +1 -0
  197. package/dist/test/unit/canonicalizer/canonicalizer.test.js +91 -1
  198. package/dist/test/unit/canonicalizer/canonicalizer.test.js.map +1 -1
  199. package/dist/test/unit/canonicalizer/cjk-punctuation.test.d.ts +2 -0
  200. package/dist/test/unit/canonicalizer/cjk-punctuation.test.d.ts.map +1 -0
  201. package/dist/test/unit/canonicalizer/cjk-punctuation.test.js +118 -0
  202. package/dist/test/unit/canonicalizer/cjk-punctuation.test.js.map +1 -0
  203. package/dist/test/unit/canonicalizer/conformance-cjk-v2.test.d.ts +2 -0
  204. package/dist/test/unit/canonicalizer/conformance-cjk-v2.test.d.ts.map +1 -0
  205. package/dist/test/unit/canonicalizer/conformance-cjk-v2.test.js +40 -0
  206. package/dist/test/unit/canonicalizer/conformance-cjk-v2.test.js.map +1 -0
  207. package/dist/test/unit/config/lexicons/i18n.test.js +31 -14
  208. package/dist/test/unit/config/lexicons/i18n.test.js.map +1 -1
  209. package/dist/test/unit/config/lexicons/zh-CN.test.js +150 -143
  210. package/dist/test/unit/config/lexicons/zh-CN.test.js.map +1 -1
  211. package/dist/test/unit/keyword-translator.test.js +16 -19
  212. package/dist/test/unit/keyword-translator.test.js.map +1 -1
  213. package/dist/test/unit/lexicons/fallback-lexicon.test.d.ts +16 -0
  214. package/dist/test/unit/lexicons/fallback-lexicon.test.d.ts.map +1 -0
  215. package/dist/test/unit/lexicons/fallback-lexicon.test.js +98 -0
  216. package/dist/test/unit/lexicons/fallback-lexicon.test.js.map +1 -0
  217. package/dist/test/unit/llm-providers.test.js +105 -93
  218. package/dist/test/unit/llm-providers.test.js.map +1 -1
  219. package/dist/test/unit/lowering/lowering.test.js +12 -0
  220. package/dist/test/unit/lowering/lowering.test.js.map +1 -1
  221. package/dist/test/unit/parser/entry-annotations.test.d.ts +2 -0
  222. package/dist/test/unit/parser/entry-annotations.test.d.ts.map +1 -0
  223. package/dist/test/unit/parser/entry-annotations.test.js +110 -0
  224. package/dist/test/unit/parser/entry-annotations.test.js.map +1 -0
  225. package/dist/test/unit/parser/parser.test.js +30 -6
  226. package/dist/test/unit/parser/parser.test.js.map +1 -1
  227. package/dist/test/unit/scripts/verify-browser-entry.test.d.ts +2 -0
  228. package/dist/test/unit/scripts/verify-browser-entry.test.d.ts.map +1 -0
  229. package/dist/test/unit/scripts/verify-browser-entry.test.js +179 -0
  230. package/dist/test/unit/scripts/verify-browser-entry.test.js.map +1 -0
  231. package/dist/test/unit/typecheck/function-return-inference.test.d.ts +2 -0
  232. package/dist/test/unit/typecheck/function-return-inference.test.d.ts.map +1 -0
  233. package/dist/test/unit/typecheck/function-return-inference.test.js +79 -0
  234. package/dist/test/unit/typecheck/function-return-inference.test.js.map +1 -0
  235. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.d.ts +2 -0
  236. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.d.ts.map +1 -0
  237. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.js +191 -0
  238. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.js.map +1 -0
  239. package/dist/test/unit/typecheck/should-enforce-pii.test.js +25 -110
  240. package/dist/test/unit/typecheck/should-enforce-pii.test.js.map +1 -1
  241. package/dist/test/unit/typecheck/type-system.test.js +83 -3
  242. package/dist/test/unit/typecheck/type-system.test.js.map +1 -1
  243. package/package.json +41 -9
@@ -41,9 +41,12 @@ export { Node } from './ast/ast.js';
41
41
  export { evaluate } from './core/interpreter.js';
42
42
  // Input value generation (for policy execution)
43
43
  export { generateFieldValue, generateInputValues, getFieldValueHint, } from './parser/input-generator.js';
44
- // Lexicons for multi-language support
45
- import { LexiconRegistry, initializeDefaultLexicons } from './config/lexicons/index.js';
46
- export { EN_US, ZH_CN, DE_DE, LexiconRegistry, initializeDefaultLexicons } from './config/lexicons/index.js';
44
+ // Lexicons for multi-language support.
45
+ // 浏览器路径下使用 initializeAllBundledLexicons —— 因为浏览器 bundle 本来就把
46
+ // en/zh/de 编译进去,不存在"按需加载"的服务端约束。后续可在 next major
47
+ // 由消费者改用 initializeDefaultLexicons + 显式 register。
48
+ import { LexiconRegistry, initializeAllBundledLexicons } from './config/lexicons/index.js';
49
+ export { EN_US, ZH_CN, DE_DE, LexiconRegistry, initializeDefaultLexicons, initializeAllBundledLexicons, } from './config/lexicons/index.js';
47
50
  // LSP UI texts (localized labels for hover, completion, etc.)
48
51
  export { getLspUiTexts } from './config/lexicons/lsp-ui-texts.js';
49
52
  // ============================================================================
@@ -86,13 +89,15 @@ export function compile(source, options) {
86
89
  try {
87
90
  const lexicon = options?.lexicon;
88
91
  const domain = options?.domain;
92
+ const tenantId = options?.tenantId;
89
93
  // Step 1: Canonicalize source WITH lexicon for language-specific normalization
90
94
  // If domain is specified, pass CanonicalizerOptions to enable identifier translation
91
95
  let canonical;
92
96
  if (domain) {
93
97
  // Resolve effective lexicon for domain translation (default to EN_US)
94
- const effectiveLexicon = lexicon ?? (initializeDefaultLexicons(), LexiconRegistry.getDefault());
95
- canonical = canonicalize(source, { lexicon: effectiveLexicon, domain, locale: effectiveLexicon.id });
98
+ // M3: 浏览器入口预注册 en + zh + de(这些已在 bundle 里)
99
+ const effectiveLexicon = lexicon ?? (initializeAllBundledLexicons(), LexiconRegistry.getDefault());
100
+ canonical = canonicalize(source, { lexicon: effectiveLexicon, domain, locale: effectiveLexicon.id, tenantId });
96
101
  }
97
102
  else {
98
103
  canonical = canonicalize(source, lexicon);
@@ -109,8 +114,11 @@ export function compile(source, options) {
109
114
  // Step 4: Parse to AST (now with English tokens)
110
115
  const effectiveLex = lexicon ? attachTypeInferenceRules(lexicon) : undefined;
111
116
  const parseResult = parse(tokens, effectiveLex);
112
- // Check for parse errors
113
- if (parseResult.diagnostics.length > 0 && parseResult.ast.decls.length === 0) {
117
+ // Parse 诊断分级:error 必须导致 success=false(即使部分 decl 可恢复),
118
+ // warning 不阻塞编译。原实现仅在 decls 全空时才报失败,导致调用方在
119
+ // 部分恢复场景下误以为编译成功 —— 实际产物(Core IR)来自残缺 AST。
120
+ const parseErrorDiagnostics = parseResult.diagnostics.filter(d => d.severity === 'error');
121
+ if (parseErrorDiagnostics.length > 0) {
114
122
  const result = {
115
123
  success: false,
116
124
  parseErrors: parseResult.diagnostics.map(d => ({
@@ -131,6 +139,7 @@ export function compile(source, options) {
131
139
  core,
132
140
  };
133
141
  if (parseResult.diagnostics.length > 0) {
142
+ // 此时只剩 warning(error 已在上面 short-circuit),保留以便调用方展示
134
143
  result.parseErrors = parseResult.diagnostics.map(d => ({ message: d.message, span: d.span }));
135
144
  }
136
145
  if (options?.includeIntermediates) {
@@ -212,186 +221,12 @@ export function tokenize(source, lexicon) {
212
221
  const canonical = canonicalize(source, lexicon);
213
222
  return lex(canonical, lexicon);
214
223
  }
215
- /**
216
- * Convert AST Type to type kind
217
- */
218
- function getTypeKind(type) {
219
- if (!type || typeof type !== 'object' || !('kind' in type)) {
220
- return 'unknown';
221
- }
222
- switch (type.kind) {
223
- case 'TypeName': {
224
- const name = type.name.toLowerCase();
225
- if (['int', 'float', 'double', 'number', 'bool', 'boolean', 'text', 'string', 'datetime', 'date', 'time'].includes(name)) {
226
- return 'primitive';
227
- }
228
- // Custom type names are typically structs
229
- return 'struct';
230
- }
231
- case 'List':
232
- return 'list';
233
- case 'Map':
234
- return 'map';
235
- case 'Option':
236
- case 'Maybe':
237
- return 'option';
238
- case 'Result':
239
- return 'result';
240
- case 'FuncType':
241
- return 'function';
242
- default:
243
- return 'unknown';
244
- }
245
- }
246
- /**
247
- * Convert AST Type to display string
248
- */
249
- function typeToString(type) {
250
- if (!type || typeof type !== 'object' || !('kind' in type)) {
251
- return 'Unknown';
252
- }
253
- switch (type.kind) {
254
- case 'TypeName':
255
- return type.name;
256
- case 'List':
257
- return `List<${typeToString(type.type)}>`;
258
- case 'Map':
259
- return `Map<${typeToString(type.key)}, ${typeToString(type.val)}>`;
260
- case 'Option':
261
- return `Option<${typeToString(type.type)}>`;
262
- case 'Maybe':
263
- return `Maybe<${typeToString(type.type)}>`;
264
- case 'Result':
265
- return `Result<${typeToString(type.ok)}, ${typeToString(type.err)}>`;
266
- default:
267
- return 'Unknown';
268
- }
269
- }
270
- /**
271
- * Extract schema from CNL source code
272
- *
273
- * Parses CNL source and extracts parameter schema for the specified function,
274
- * suitable for dynamic form generation.
275
- *
276
- * @param source - CNL source code
277
- * @param options - Schema extraction options
278
- * @returns Schema extraction result
279
- *
280
- * @example
281
- * ```typescript
282
- * const result = extractSchema(`
283
- * Module loan.
284
- * Define LoanApplication has creditScore as Int, amount as Float, term as Int.
285
- * Rule evaluate given application as LoanApplication, produce Bool:
286
- * If application.creditScore >= 700 then Return true
287
- * Otherwise Return false.
288
- * `);
289
- *
290
- * if (result.success) {
291
- * console.log(result.parameters);
292
- * // [{ name: 'application', type: 'LoanApplication', typeKind: 'struct', ... }]
293
- * }
294
- * ```
295
- */
296
- export function extractSchema(source, options) {
297
- try {
298
- const lexicon = options?.lexicon;
299
- // Canonicalize with lexicon for language-specific normalization
300
- const canonical = canonicalize(source, lexicon);
301
- let tokens = lex(canonical, lexicon);
302
- // Translate non-English tokens to English for parser compatibility
303
- if (lexicon && needsKeywordTranslation(lexicon)) {
304
- const translator = createKeywordTranslator(lexicon);
305
- tokens = translator.translateTokens(tokens);
306
- }
307
- // Parse to AST
308
- const effectiveLexForSchema = lexicon ? attachTypeInferenceRules(lexicon) : undefined;
309
- const parseResult = parse(tokens, effectiveLexForSchema);
310
- if (parseResult.diagnostics.length > 0 && parseResult.ast.decls.length === 0) {
311
- return {
312
- success: false,
313
- error: parseResult.diagnostics[0]?.message ?? 'Parse failed',
314
- };
315
- }
316
- const module = parseResult.ast;
317
- const moduleName = module.name ?? 'unknown';
318
- // Find all Data declarations (for struct field resolution)
319
- const dataDecls = new Map();
320
- for (const decl of module.decls) {
321
- if (decl.kind === 'Data') {
322
- const data = decl;
323
- const fields = data.fields.map((f) => ({
324
- name: f.name,
325
- type: typeToString(f.type),
326
- typeKind: getTypeKind(f.type),
327
- }));
328
- dataDecls.set(data.name, fields);
329
- }
330
- }
331
- // Find the target function
332
- const funcs = module.decls.filter((d) => d.kind === 'Func');
333
- if (funcs.length === 0) {
334
- return {
335
- success: false,
336
- error: 'No functions found in module',
337
- };
338
- }
339
- const targetFuncName = options?.functionName;
340
- const func = targetFuncName
341
- ? funcs.find((f) => f.name === targetFuncName)
342
- : funcs[0];
343
- if (!func) {
344
- return {
345
- success: false,
346
- error: targetFuncName
347
- ? `Function '${targetFuncName}' not found`
348
- : 'No functions found in module',
349
- };
350
- }
351
- // Extract parameters
352
- const parameters = func.params.map((param, index) => {
353
- let typeName = typeToString(param.type);
354
- let typeKind = getTypeKind(param.type);
355
- let fields;
356
- // Resolve struct fields if applicable
357
- if (typeKind === 'struct' && dataDecls.has(typeName)) {
358
- fields = dataDecls.get(typeName);
359
- }
360
- else if (typeKind === 'primitive' && dataDecls.has(param.name)) {
361
- // 当参数类型为基本类型但参数名与 Data 定义匹配时,
362
- // 推断参数类型为该 Data 类型(支持中文无类型参数语法)
363
- // 例如:规则 评估贷款 给定 申请人:
364
- // 此时参数名"申请人"与 Data "申请人"匹配,推断类型为结构体
365
- typeName = param.name;
366
- typeKind = 'struct';
367
- fields = dataDecls.get(param.name);
368
- }
369
- const result = {
370
- name: param.name,
371
- type: typeName,
372
- typeKind,
373
- optional: false, // Parameters don't have optional field in AST
374
- position: index,
375
- };
376
- if (fields) {
377
- result.fields = fields;
378
- }
379
- return result;
380
- });
381
- return {
382
- success: true,
383
- moduleName,
384
- functionName: func.name,
385
- parameters,
386
- };
387
- }
388
- catch (error) {
389
- return {
390
- success: false,
391
- error: error instanceof Error ? error.message : String(error),
392
- };
393
- }
394
- }
224
+ // ============================================================================
225
+ // Schema extraction API (for dynamic form generation)
226
+ // ============================================================================
227
+ // 实现移到 ./browser/schema.ts;这里只再导出以保持公共 API 不变。
228
+ // Round-3 codex 重构记录。
229
+ export { extractSchema } from './browser/schema.js';
395
230
  // ============================================================================
396
231
  // Browser-compatible Type Checking API
397
232
  // ============================================================================
@@ -402,8 +237,13 @@ export { typecheckBrowser } from './typecheck/browser.js';
402
237
  * This is the recommended API for browser/edge use when you need
403
238
  * both compilation and type checking.
404
239
  *
240
+ * **PII flow analysis is always enabled** since ADR-0009 P0-1. The
241
+ * `enforcePii` option is accepted for source-level backwards compatibility
242
+ * but is ignored — see {@link compileAndTypecheck} options below.
243
+ *
405
244
  * @param source - CNL source code
406
- * @param options - Compile and type check options
245
+ * @param options - Compile and type check options. Note: `enforcePii` is
246
+ * **deprecated** and ignored; PII checks are always on.
407
247
  * @returns Object containing compilation result and type diagnostics
408
248
  *
409
249
  * @example
@@ -433,6 +273,8 @@ export function compileAndTypecheck(source, options) {
433
273
  typeErrors: [],
434
274
  };
435
275
  }
276
+ // enforcePii is forwarded only for source-level compat. _typecheckBrowser
277
+ // ignores it (PII checks always on).
436
278
  const typecheckOptions = {};
437
279
  if (options?.enforcePii !== undefined) {
438
280
  typecheckOptions.enforcePii = options.enforcePii;
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,14 @@ function compileToJson(inputPath, outputPath) {
39
39
  // 编译管线:CNL → Canonical → Tokens → AST → Core IR
40
40
  const canonical = canonicalize(source);
41
41
  const tokens = lex(canonical);
42
- const { ast } = parse(tokens);
42
+ const { ast, diagnostics } = parse(tokens);
43
+ // CLI 转换必须严格:解析错误不应被 silently 忽略,否则会生成 Core IR
44
+ // 缺失片段的 JSON 文件。warning/info/hint 允许通过。
45
+ const parseErrors = diagnostics.filter(d => d.severity === 'error');
46
+ if (parseErrors.length > 0) {
47
+ throw new Error(`Parse error${parseErrors.length > 1 ? 's' : ''}:\n` +
48
+ parseErrors.map(d => ` - ${d.message} (line ${d.span.start.line}, col ${d.span.start.col})`).join('\n'));
49
+ }
43
50
  const coreIR = lowerModule(ast);
44
51
  // 序列化为 JSON
45
52
  const metadata = {
@@ -1 +1 @@
1
- {"version":3,"file":"policy-converter.js","sourceRoot":"","sources":["../../../src/cli/policy-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy-converter.js","sourceRoot":"","sources":["../../../src/cli/policy-converter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"effect_config.d.ts","sourceRoot":"","sources":["../../../src/config/effect_config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,QAAQ,EAAE;QACR;;WAEG;QACH,EAAE,EAAE;YACF,uCAAuC;YACvC,IAAI,EAAE,MAAM,EAAE,CAAC;YACf,mCAAmC;YACnC,GAAG,EAAE,MAAM,EAAE,CAAC;YACd,kCAAkC;YAClC,KAAK,EAAE,MAAM,EAAE,CAAC;YAChB,wCAAwC;YACxC,OAAO,EAAE,MAAM,EAAE,CAAC;YAClB,mCAAmC;YACnC,IAAI,EAAE,MAAM,EAAE,CAAC;SAChB,CAAC;QACF,4CAA4C;QAC5C,GAAG,EAAE,MAAM,EAAE,CAAC;QACd,oCAAoC;QACpC,EAAE,EAAE,MAAM,EAAE,CAAC;KACd,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,kBAAkB;IAClB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AA4CD;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AA+GD,wBAAgB,gBAAgB,IAAI,qBAAqB,CAiCxD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,UAAQ,GAAG,qBAAqB,CAKvE;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,IAAI,SAAS,MAAM,EAAE,CASjD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,IAAI,SAAS,MAAM,EAAE,CAGlD"}
1
+ {"version":3,"file":"effect_config.d.ts","sourceRoot":"","sources":["../../../src/config/effect_config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,QAAQ,EAAE;QACR;;WAEG;QACH,EAAE,EAAE;YACF,uCAAuC;YACvC,IAAI,EAAE,MAAM,EAAE,CAAC;YACf,mCAAmC;YACnC,GAAG,EAAE,MAAM,EAAE,CAAC;YACd,kCAAkC;YAClC,KAAK,EAAE,MAAM,EAAE,CAAC;YAChB,wCAAwC;YACxC,OAAO,EAAE,MAAM,EAAE,CAAC;YAClB,mCAAmC;YACnC,IAAI,EAAE,MAAM,EAAE,CAAC;SAChB,CAAC;QACF,4CAA4C;QAC5C,GAAG,EAAE,MAAM,EAAE,CAAC;QACd,oCAAoC;QACpC,EAAE,EAAE,MAAM,EAAE,CAAC;KACd,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,kBAAkB;IAClB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AA4CD;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AA+GD,wBAAgB,gBAAgB,IAAI,qBAAqB,CAuCxD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,UAAQ,GAAG,qBAAqB,CAKvE;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,IAAI,SAAS,MAAM,EAAE,CASjD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,IAAI,SAAS,MAAM,EAAE,CAGlD"}
@@ -166,7 +166,13 @@ export function loadEffectConfig() {
166
166
  const stat = fs.statSync(configPath);
167
167
  // 尝试读取配置文件(参考 src/lsp/server.ts:752-755 的模式)
168
168
  const content = fs.readFileSync(configPath, 'utf8');
169
- const userConfig = JSON.parse(content);
169
+ // R31-6 audit P2:JSON.parse 返回 unknown,as cast 掩盖了 shape 校验
170
+ // 缺失的事实。加最小 guard:必须是 object,不是 array / null / 原始值。
171
+ const parsed = JSON.parse(content);
172
+ if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) {
173
+ throw new Error('effect config must be a JSON object');
174
+ }
175
+ const userConfig = parsed;
170
176
  // 合并用户配置与默认配置,确保所有字段都存在
171
177
  const config = mergeWithDefault(userConfig);
172
178
  cachedSnapshot = {
@@ -1 +1 @@
1
- {"version":3,"file":"effect_config.js","sourceRoot":"","sources":["../../../src/config/effect_config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"effect_config.js","sourceRoot":"","sources":["../../../src/config/effect_config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"de-DE.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/de-DE.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,KAAK,EAAE,OAuHnB,CAAC"}
1
+ {"version":3,"file":"de-DE.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/de-DE.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,KAAK,EAAE,OAwHnB,CAAC"}
@@ -8,6 +8,7 @@ export const DE_DE = {
8
8
  [SemanticTokenKind.MODULE_DECL]: 'Modul',
9
9
  [SemanticTokenKind.IMPORT]: 'verwende',
10
10
  [SemanticTokenKind.IMPORT_ALIAS]: 'als',
11
+ [SemanticTokenKind.IMPORT_VERSION]: 'version',
11
12
  [SemanticTokenKind.TYPE_DEF]: 'Definiere',
12
13
  [SemanticTokenKind.TYPE_WITH]: 'mit',
13
14
  [SemanticTokenKind.TYPE_HAS]: 'hat',
@@ -1 +1 @@
1
- {"version":3,"file":"de-DE.js","sourceRoot":"","sources":["../../../../src/config/lexicons/de-DE.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"de-DE.js","sourceRoot":"","sources":["../../../../src/config/lexicons/de-DE.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"en-US.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/en-US.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,KAAK,EAAE,OAiHnB,CAAC"}
1
+ {"version":3,"file":"en-US.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/en-US.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,KAAK,EAAE,OAkHnB,CAAC"}
@@ -8,6 +8,7 @@ export const EN_US = {
8
8
  [SemanticTokenKind.MODULE_DECL]: 'Module',
9
9
  [SemanticTokenKind.IMPORT]: 'use',
10
10
  [SemanticTokenKind.IMPORT_ALIAS]: 'as',
11
+ [SemanticTokenKind.IMPORT_VERSION]: 'version',
11
12
  [SemanticTokenKind.TYPE_DEF]: 'Define',
12
13
  [SemanticTokenKind.TYPE_WITH]: 'with',
13
14
  [SemanticTokenKind.TYPE_HAS]: 'has',
@@ -1 +1 @@
1
- {"version":3,"file":"en-US.js","sourceRoot":"","sources":["../../../../src/config/lexicons/en-US.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"en-US.js","sourceRoot":"","sources":["../../../../src/config/lexicons/en-US.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @module config/lexicons/fallback-lexicon
3
+ *
4
+ * Lexicon 装饰器:把 target lexicon(如 zh-CN)与 fallback lexicon(始终 en-US)合并。
5
+ *
6
+ * 语义:
7
+ * - keywords:预合并 Record(en-US 全集 + target 覆盖)。零运行时开销。
8
+ * - punctuation / canonicalization / messages:透传 target(语言强相关,fallback 无意义)
9
+ * - id / name / direction:透传 target(FallbackLexicon 对外仍是 target 身份)
10
+ * - overlay 字段(typeInferenceRules / diagnosticMessages 等):仅在 target 提供时
11
+ * 通过 Object.defineProperty 挂载,满足 exactOptionalPropertyTypes 严格语义
12
+ *
13
+ * 与 Java 侧 FallbackLexicon 对齐(aster-lang-core/.../FallbackLexicon.java)。
14
+ *
15
+ * en-US 自身不应被 wrap —— registry.get() 通过 id 判断跳过此装饰。
16
+ */
17
+ import type { Lexicon } from './types.js';
18
+ /**
19
+ * 创建一个 FallbackLexicon 装饰器对象。
20
+ *
21
+ * 返回的对象满足 Lexicon 接口,并额外暴露 target / fallback 供测试 / 调试。
22
+ */
23
+ export declare function createFallbackLexicon(target: Lexicon, fallback: Lexicon): Lexicon;
24
+ /**
25
+ * 类型守卫:判断一个 Lexicon 是否已被 FallbackLexicon 装饰。
26
+ *
27
+ * 用于 registry.get() 防御性检查,避免重复装饰。
28
+ */
29
+ export declare function isFallbackLexicon(lex: Lexicon): boolean;
30
+ /**
31
+ * 历史兼容导出 —— 旧代码可能用 `new FallbackLexicon(target, fallback)`
32
+ * 或 `instanceof FallbackLexicon`。这里用 callable + constructable 的桥接
33
+ * 保持源码兼容,内部转发到 createFallbackLexicon。
34
+ *
35
+ * @deprecated 推荐改用 createFallbackLexicon + isFallbackLexicon。
36
+ */
37
+ export declare const FallbackLexicon: {
38
+ new (target: Lexicon, fallback: Lexicon): Lexicon;
39
+ (target: Lexicon, fallback: Lexicon): Lexicon;
40
+ };
41
+ //# sourceMappingURL=fallback-lexicon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback-lexicon.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/fallback-lexicon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAiB1C;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CA0CjF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEvD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAMZ;IACd,KAAK,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;IAClD,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;CAC/C,CAAC"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * @module config/lexicons/fallback-lexicon
3
+ *
4
+ * Lexicon 装饰器:把 target lexicon(如 zh-CN)与 fallback lexicon(始终 en-US)合并。
5
+ *
6
+ * 语义:
7
+ * - keywords:预合并 Record(en-US 全集 + target 覆盖)。零运行时开销。
8
+ * - punctuation / canonicalization / messages:透传 target(语言强相关,fallback 无意义)
9
+ * - id / name / direction:透传 target(FallbackLexicon 对外仍是 target 身份)
10
+ * - overlay 字段(typeInferenceRules / diagnosticMessages 等):仅在 target 提供时
11
+ * 通过 Object.defineProperty 挂载,满足 exactOptionalPropertyTypes 严格语义
12
+ *
13
+ * 与 Java 侧 FallbackLexicon 对齐(aster-lang-core/.../FallbackLexicon.java)。
14
+ *
15
+ * en-US 自身不应被 wrap —— registry.get() 通过 id 判断跳过此装饰。
16
+ */
17
+ /**
18
+ * 内部品牌符号 —— 用于 isFallbackLexicon() 类型守卫,
19
+ * 在 exactOptionalPropertyTypes 下取代 `instanceof FallbackLexicon`。
20
+ *
21
+ * 跨包/跨 realm 的 instanceof 不可靠,且品牌符号比 class 更轻量。
22
+ */
23
+ const FALLBACK_BRAND = Symbol.for('aster-lang/fallback-lexicon');
24
+ /**
25
+ * 创建一个 FallbackLexicon 装饰器对象。
26
+ *
27
+ * 返回的对象满足 Lexicon 接口,并额外暴露 target / fallback 供测试 / 调试。
28
+ */
29
+ export function createFallbackLexicon(target, fallback) {
30
+ if (!target)
31
+ throw new Error('FallbackLexicon: target required');
32
+ if (!fallback)
33
+ throw new Error('FallbackLexicon: fallback required');
34
+ const merged = { ...fallback.keywords };
35
+ for (const k of Object.keys(target.keywords)) {
36
+ const v = target.keywords[k];
37
+ if (v && v.length > 0) {
38
+ merged[k] = v;
39
+ }
40
+ }
41
+ const base = {
42
+ [FALLBACK_BRAND]: true,
43
+ id: target.id,
44
+ name: target.name,
45
+ direction: target.direction,
46
+ keywords: Object.freeze(merged),
47
+ punctuation: target.punctuation,
48
+ canonicalization: target.canonicalization,
49
+ messages: target.messages,
50
+ target,
51
+ fallback,
52
+ };
53
+ // overlay 字段:仅在 target 显式提供时附加。条件展开避免 undefined 污染。
54
+ const overlayFields = {
55
+ ...(target.typeInferenceRules !== undefined && {
56
+ typeInferenceRules: target.typeInferenceRules,
57
+ }),
58
+ ...(target.inputGenerationRules !== undefined && {
59
+ inputGenerationRules: target.inputGenerationRules,
60
+ }),
61
+ ...(target.diagnosticMessages !== undefined && {
62
+ diagnosticMessages: target.diagnosticMessages,
63
+ }),
64
+ ...(target.diagnosticHelp !== undefined && {
65
+ diagnosticHelp: target.diagnosticHelp,
66
+ }),
67
+ };
68
+ return Object.freeze({ ...base, ...overlayFields });
69
+ }
70
+ /**
71
+ * 类型守卫:判断一个 Lexicon 是否已被 FallbackLexicon 装饰。
72
+ *
73
+ * 用于 registry.get() 防御性检查,避免重复装饰。
74
+ */
75
+ export function isFallbackLexicon(lex) {
76
+ return lex[FALLBACK_BRAND] === true;
77
+ }
78
+ /**
79
+ * 历史兼容导出 —— 旧代码可能用 `new FallbackLexicon(target, fallback)`
80
+ * 或 `instanceof FallbackLexicon`。这里用 callable + constructable 的桥接
81
+ * 保持源码兼容,内部转发到 createFallbackLexicon。
82
+ *
83
+ * @deprecated 推荐改用 createFallbackLexicon + isFallbackLexicon。
84
+ */
85
+ export const FallbackLexicon = function FallbackLexicon(target, fallback) {
86
+ return createFallbackLexicon(target, fallback);
87
+ };
88
+ //# sourceMappingURL=fallback-lexicon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback-lexicon.js","sourceRoot":"","sources":["../../../../src/config/lexicons/fallback-lexicon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH;;;;;GAKG;AACH,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAQjE;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAe,EAAE,QAAiB;IACtE,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACjE,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAErE,MAAM,MAAM,GAAsC,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC3E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAwB,EAAE,CAAC;QACpE,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG;QACX,CAAC,cAAc,CAAC,EAAE,IAAa;QAC/B,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAgD;QAC9E,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM;QACN,QAAQ;KACT,CAAC;IAEF,oDAAoD;IACpD,MAAM,aAAa,GAAG;QACpB,GAAG,CAAC,MAAM,CAAC,kBAAkB,KAAK,SAAS,IAAI;YAC7C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;SAC9C,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,oBAAoB,KAAK,SAAS,IAAI;YAC/C,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;SAClD,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,kBAAkB,KAAK,SAAS,IAAI;YAC7C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;SAC9C,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI;YACzC,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC;KACH,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,aAAa,EAAE,CAAmB,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,OAAQ,GAA+B,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;AACnE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,eAAe,CAErD,MAAe,EACf,QAAiB;IAEjB,OAAO,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACjD,CAGC,CAAC"}
@@ -47,6 +47,15 @@ declare class VocabularyRegistry {
47
47
  * @param vocabulary - 领域词汇表
48
48
  */
49
49
  registerCustom(tenantId: string, vocabulary: DomainVocabulary): void;
50
+ /**
51
+ * 注销租户自定义词汇(用于用户清空某领域词汇后回退到内置)。
52
+ *
53
+ * @param tenantId - 租户标识符
54
+ * @param domain - 领域标识符
55
+ * @param locale - 语言代码
56
+ * @returns 若存在并被移除返回 true,否则 false
57
+ */
58
+ unregisterCustom(tenantId: string, domain: string, locale: string): boolean;
50
59
  /**
51
60
  * 获取领域词汇表。
52
61
  *