@aster-cloud/aster-lang-ts 0.0.32 → 0.1.1

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 (262) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +4 -4
  3. package/dist/peg/headers-parser.js +233 -468
  4. package/dist/scripts/aster.js +5 -5
  5. package/dist/scripts/aster.js.map +1 -1
  6. package/dist/scripts/cleanup-examples.js +1 -1
  7. package/dist/scripts/cleanup-examples.js.map +1 -1
  8. package/dist/scripts/emit-classfiles.js +1 -50
  9. package/dist/scripts/emit-classfiles.js.map +1 -1
  10. package/dist/scripts/emit-core.js +1 -1
  11. package/dist/scripts/emit-core.js.map +1 -1
  12. package/dist/scripts/golden.js +5 -8
  13. package/dist/scripts/golden.js.map +1 -1
  14. package/dist/scripts/lsp-build-index.js +1 -1
  15. package/dist/scripts/lsp-build-index.js.map +1 -1
  16. package/dist/scripts/lsp-capmanifest-codeaction-smoke.js +2 -2
  17. package/dist/scripts/lsp-capmanifest-codeaction-smoke.js.map +1 -1
  18. package/dist/scripts/lsp-codeaction-smoke.js +2 -2
  19. package/dist/scripts/lsp-codeaction-smoke.js.map +1 -1
  20. package/dist/scripts/lsp-health-smoke.js +1 -1
  21. package/dist/scripts/lsp-health-smoke.js.map +1 -1
  22. package/dist/scripts/lsp-missing-header-codeaction-smoke.js +1 -1
  23. package/dist/scripts/lsp-missing-header-codeaction-smoke.js.map +1 -1
  24. package/dist/scripts/lsp-multi-rename.test.js +1 -1
  25. package/dist/scripts/lsp-multi-rename.test.js.map +1 -1
  26. package/dist/scripts/lsp-punct-codeaction-smoke.js +1 -1
  27. package/dist/scripts/lsp-punct-codeaction-smoke.js.map +1 -1
  28. package/dist/scripts/lsp-streaming-progress-smoke.js +2 -2
  29. package/dist/scripts/lsp-streaming-progress-smoke.js.map +1 -1
  30. package/dist/scripts/perf-benchmark.js +1 -1
  31. package/dist/scripts/perf-benchmark.js.map +1 -1
  32. package/dist/scripts/perf-diagnostics.js +1 -1
  33. package/dist/scripts/perf-diagnostics.js.map +1 -1
  34. package/dist/scripts/profile-medium-project.js +1 -1
  35. package/dist/scripts/profile-medium-project.js.map +1 -1
  36. package/dist/scripts/repl.js +1 -1
  37. package/dist/scripts/repl.js.map +1 -1
  38. package/dist/scripts/typecheck-cli.js +1 -1
  39. package/dist/scripts/typecheck-cli.js.map +1 -1
  40. package/dist/scripts/update-eff-violation-expected.js +1 -1
  41. package/dist/scripts/update-eff-violation-expected.js.map +1 -1
  42. package/dist/scripts/verify-capabilities.js +1 -1
  43. package/dist/scripts/verify-capabilities.js.map +1 -1
  44. package/dist/src/ai/validator.d.ts.map +1 -1
  45. package/dist/src/ai/validator.js +13 -1
  46. package/dist/src/ai/validator.js.map +1 -1
  47. package/dist/src/ast/ast.js +1 -1
  48. package/dist/src/ast/ast.js.map +1 -1
  49. package/dist/src/browser.d.ts +10 -18
  50. package/dist/src/browser.d.ts.map +1 -1
  51. package/dist/src/browser.js +36 -33
  52. package/dist/src/browser.js.map +1 -1
  53. package/dist/src/cli/policy-converter.js +1 -1
  54. package/dist/src/cli/policy-converter.js.map +1 -1
  55. package/dist/src/config/lexicons/diagnostic-messages.d.ts +23 -0
  56. package/dist/src/config/lexicons/diagnostic-messages.d.ts.map +1 -0
  57. package/dist/src/config/lexicons/diagnostic-messages.js +130 -0
  58. package/dist/src/config/lexicons/diagnostic-messages.js.map +1 -0
  59. package/dist/src/config/lexicons/input-generation-rules.d.ts +22 -0
  60. package/dist/src/config/lexicons/input-generation-rules.d.ts.map +1 -0
  61. package/dist/src/config/lexicons/input-generation-rules.js +142 -0
  62. package/dist/src/config/lexicons/input-generation-rules.js.map +1 -0
  63. package/dist/src/config/lexicons/lsp-ui-texts.d.ts +42 -0
  64. package/dist/src/config/lexicons/lsp-ui-texts.d.ts.map +1 -0
  65. package/dist/src/config/lexicons/lsp-ui-texts.js +75 -0
  66. package/dist/src/config/lexicons/lsp-ui-texts.js.map +1 -0
  67. package/dist/src/config/lexicons/overlay-loader.d.ts +55 -0
  68. package/dist/src/config/lexicons/overlay-loader.d.ts.map +1 -0
  69. package/dist/src/config/lexicons/overlay-loader.js +30 -0
  70. package/dist/src/config/lexicons/overlay-loader.js.map +1 -0
  71. package/dist/src/config/lexicons/type-inference-rules.d.ts +19 -0
  72. package/dist/src/config/lexicons/type-inference-rules.d.ts.map +1 -0
  73. package/dist/src/config/lexicons/type-inference-rules.js +56 -0
  74. package/dist/src/config/lexicons/type-inference-rules.js.map +1 -0
  75. package/dist/src/config/lexicons/types.d.ts +10 -0
  76. package/dist/src/config/lexicons/types.d.ts.map +1 -1
  77. package/dist/src/config/lexicons/types.js.map +1 -1
  78. package/dist/src/config/semantic.d.ts +0 -8
  79. package/dist/src/config/semantic.d.ts.map +1 -1
  80. package/dist/src/config/semantic.js +0 -16
  81. package/dist/src/config/semantic.js.map +1 -1
  82. package/dist/src/core/index.d.ts +2 -0
  83. package/dist/src/core/index.d.ts.map +1 -1
  84. package/dist/src/core/index.js +1 -0
  85. package/dist/src/core/index.js.map +1 -1
  86. package/dist/src/core/interpreter.d.ts +37 -0
  87. package/dist/src/core/interpreter.d.ts.map +1 -0
  88. package/dist/src/core/interpreter.js +454 -0
  89. package/dist/src/core/interpreter.js.map +1 -0
  90. package/dist/src/diagnostics/diagnostics.d.ts +6 -7
  91. package/dist/src/diagnostics/diagnostics.d.ts.map +1 -1
  92. package/dist/src/diagnostics/diagnostics.js +15 -9
  93. package/dist/src/diagnostics/diagnostics.js.map +1 -1
  94. package/dist/src/diagnostics/error_codes.d.ts +2 -1
  95. package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
  96. package/dist/src/diagnostics/error_codes.js +85 -480
  97. package/dist/src/diagnostics/error_codes.js.map +1 -1
  98. package/dist/src/formatter.js +9 -24
  99. package/dist/src/formatter.js.map +1 -1
  100. package/dist/src/frontend/lexer.d.ts +1 -1
  101. package/dist/src/frontend/lexer.js +1 -1
  102. package/dist/src/index.d.ts +4 -3
  103. package/dist/src/index.d.ts.map +1 -1
  104. package/dist/src/index.js +3 -3
  105. package/dist/src/index.js.map +1 -1
  106. package/dist/src/jvm/emitter.js +3 -3
  107. package/dist/src/jvm/emitter.js.map +1 -1
  108. package/dist/src/lower_to_core.d.ts +3 -3
  109. package/dist/src/lower_to_core.js +3 -3
  110. package/dist/src/lsp/codeaction.d.ts +2 -1
  111. package/dist/src/lsp/codeaction.d.ts.map +1 -1
  112. package/dist/src/lsp/codeaction.js +17 -14
  113. package/dist/src/lsp/codeaction.js.map +1 -1
  114. package/dist/src/lsp/completion.d.ts +4 -51
  115. package/dist/src/lsp/completion.d.ts.map +1 -1
  116. package/dist/src/lsp/completion.js +16 -84
  117. package/dist/src/lsp/completion.js.map +1 -1
  118. package/dist/src/lsp/diagnostics.d.ts +3 -2
  119. package/dist/src/lsp/diagnostics.d.ts.map +1 -1
  120. package/dist/src/lsp/diagnostics.js +14 -7
  121. package/dist/src/lsp/diagnostics.js.map +1 -1
  122. package/dist/src/lsp/navigation/definition.js +1 -1
  123. package/dist/src/lsp/navigation/definition.js.map +1 -1
  124. package/dist/src/lsp/navigation/document-symbol.js +1 -1
  125. package/dist/src/lsp/navigation/document-symbol.js.map +1 -1
  126. package/dist/src/lsp/navigation/hover.d.ts +2 -1
  127. package/dist/src/lsp/navigation/hover.d.ts.map +1 -1
  128. package/dist/src/lsp/navigation/hover.js +23 -36
  129. package/dist/src/lsp/navigation/hover.js.map +1 -1
  130. package/dist/src/lsp/navigation.d.ts +1 -1
  131. package/dist/src/lsp/navigation.d.ts.map +1 -1
  132. package/dist/src/lsp/navigation.js +2 -2
  133. package/dist/src/lsp/navigation.js.map +1 -1
  134. package/dist/src/lsp/pii_diagnostics.js +3 -13
  135. package/dist/src/lsp/pii_diagnostics.js.map +1 -1
  136. package/dist/src/lsp/server.js +35 -8
  137. package/dist/src/lsp/server.js.map +1 -1
  138. package/dist/src/lsp/tokens.js +2 -2
  139. package/dist/src/lsp/tokens.js.map +1 -1
  140. package/dist/src/lsp/workspace/document-indexer.js +2 -2
  141. package/dist/src/lsp/workspace/document-indexer.js.map +1 -1
  142. package/dist/src/package/resolver.js +6 -6
  143. package/dist/src/package/resolver.js.map +1 -1
  144. package/dist/src/parser/constraint-parser.d.ts +1 -10
  145. package/dist/src/parser/constraint-parser.d.ts.map +1 -1
  146. package/dist/src/parser/constraint-parser.js +0 -30
  147. package/dist/src/parser/constraint-parser.js.map +1 -1
  148. package/dist/src/parser/context.d.ts +3 -1
  149. package/dist/src/parser/context.d.ts.map +1 -1
  150. package/dist/src/parser/context.js +2 -1
  151. package/dist/src/parser/context.js.map +1 -1
  152. package/dist/src/parser/decl-parser.d.ts +6 -10
  153. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  154. package/dist/src/parser/decl-parser.js +86 -58
  155. package/dist/src/parser/decl-parser.js.map +1 -1
  156. package/dist/src/parser/expr-stmt-parser.js +3 -3
  157. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  158. package/dist/src/parser/field-variant-parser.js +1 -1
  159. package/dist/src/parser/field-variant-parser.js.map +1 -1
  160. package/dist/src/parser/import-parser.d.ts +1 -1
  161. package/dist/src/parser/import-parser.js +2 -2
  162. package/dist/src/parser/import-parser.js.map +1 -1
  163. package/dist/src/parser/input-generator.d.ts +20 -6
  164. package/dist/src/parser/input-generator.d.ts.map +1 -1
  165. package/dist/src/parser/input-generator.js +20 -403
  166. package/dist/src/parser/input-generator.js.map +1 -1
  167. package/dist/src/parser/type-inference.d.ts +10 -16
  168. package/dist/src/parser/type-inference.d.ts.map +1 -1
  169. package/dist/src/parser/type-inference.js +36 -127
  170. package/dist/src/parser/type-inference.js.map +1 -1
  171. package/dist/src/parser.d.ts +18 -5
  172. package/dist/src/parser.d.ts.map +1 -1
  173. package/dist/src/parser.js +11 -8
  174. package/dist/src/parser.js.map +1 -1
  175. package/dist/src/typecheck/context.d.ts +2 -0
  176. package/dist/src/typecheck/context.d.ts.map +1 -1
  177. package/dist/src/typecheck/context.js.map +1 -1
  178. package/dist/src/typecheck/diagnostics.d.ts +6 -0
  179. package/dist/src/typecheck/diagnostics.d.ts.map +1 -1
  180. package/dist/src/typecheck/diagnostics.js +11 -3
  181. package/dist/src/typecheck/diagnostics.js.map +1 -1
  182. package/dist/src/typecheck/module.d.ts.map +1 -1
  183. package/dist/src/typecheck/module.js +8 -2
  184. package/dist/src/typecheck/module.js.map +1 -1
  185. package/dist/src/typecheck/workflow.js +10 -10
  186. package/dist/src/typecheck/workflow.js.map +1 -1
  187. package/dist/src/types/type-inference.d.ts +20 -0
  188. package/dist/src/types/type-inference.d.ts.map +1 -0
  189. package/dist/src/types/type-inference.js +8 -0
  190. package/dist/src/types/type-inference.js.map +1 -0
  191. package/dist/src/types.d.ts +0 -21
  192. package/dist/src/types.d.ts.map +1 -1
  193. package/dist/src/types.js.map +1 -1
  194. package/dist/test/benchmark.js +8 -8
  195. package/dist/test/benchmark.js.map +1 -1
  196. package/dist/test/compiler/depends-on.test.js +1 -1
  197. package/dist/test/compiler/depends-on.test.js.map +1 -1
  198. package/dist/test/compiler/workflow-emitter-helpers.js +1 -1
  199. package/dist/test/compiler/workflow-emitter-helpers.js.map +1 -1
  200. package/dist/test/e2e/runner/golden-runner.js +3 -3
  201. package/dist/test/e2e/runner/golden-runner.js.map +1 -1
  202. package/dist/test/fuzz/formatter-fuzz.test.js +5 -1
  203. package/dist/test/fuzz/formatter-fuzz.test.js.map +1 -1
  204. package/dist/test/integration/compliance/compliance-smoke.test.js +4 -1
  205. package/dist/test/integration/compliance/compliance-smoke.test.js.map +1 -1
  206. package/dist/test/integration/lsp/lsp-completion.test.js +1 -1
  207. package/dist/test/integration/lsp/lsp-completion.test.js.map +1 -1
  208. package/dist/test/integration/lsp/lsp-diagnostics.test.js +1 -1
  209. package/dist/test/integration/lsp/lsp-diagnostics.test.js.map +1 -1
  210. package/dist/test/integration/lsp/lsp-modules.test.js +1 -1
  211. package/dist/test/integration/lsp/lsp-modules.test.js.map +1 -1
  212. package/dist/test/integration/lsp/lsp-navigation.test.js +1 -1
  213. package/dist/test/integration/lsp/lsp-navigation.test.js.map +1 -1
  214. package/dist/test/integration/pipeline/pipeline.test.js +4 -4
  215. package/dist/test/integration/pipeline/pipeline.test.js.map +1 -1
  216. package/dist/test/property/lsp-props.test.js +2 -2
  217. package/dist/test/property/lsp-props.test.js.map +1 -1
  218. package/dist/test/property/property.test.js +15 -15
  219. package/dist/test/property/property.test.js.map +1 -1
  220. package/dist/test/regression/type-checker-golden.test.js +1 -1
  221. package/dist/test/regression/type-checker-golden.test.js.map +1 -1
  222. package/dist/test/type-checker/cross-module-packages.test.js +1 -1
  223. package/dist/test/type-checker/cross-module-packages.test.js.map +1 -1
  224. package/dist/test/type-checker/pii-propagation.test.js +1 -2
  225. package/dist/test/type-checker/pii-propagation.test.js.map +1 -1
  226. package/dist/test/unit/async/async-discipline.test.js +1 -1
  227. package/dist/test/unit/async/async-discipline.test.js.map +1 -1
  228. package/dist/test/unit/async/async-schedule.test.js +1 -1
  229. package/dist/test/unit/async/async-schedule.test.js.map +1 -1
  230. package/dist/test/unit/browser/extract-schema.test.d.ts +2 -0
  231. package/dist/test/unit/browser/extract-schema.test.d.ts.map +1 -0
  232. package/dist/test/unit/browser/extract-schema.test.js +117 -0
  233. package/dist/test/unit/browser/extract-schema.test.js.map +1 -0
  234. package/dist/test/unit/emitter/emitter.test.js +30 -35
  235. package/dist/test/unit/emitter/emitter.test.js.map +1 -1
  236. package/dist/test/unit/interpreter/interpreter.test.d.ts +2 -0
  237. package/dist/test/unit/interpreter/interpreter.test.d.ts.map +1 -0
  238. package/dist/test/unit/interpreter/interpreter.test.js +507 -0
  239. package/dist/test/unit/interpreter/interpreter.test.js.map +1 -0
  240. package/dist/test/unit/keyword-translator.test.js +4 -4
  241. package/dist/test/unit/keyword-translator.test.js.map +1 -1
  242. package/dist/test/unit/lowering/lowering.test.js +2 -2
  243. package/dist/test/unit/lowering/lowering.test.js.map +1 -1
  244. package/dist/test/unit/lsp/pii-diagnostics.test.js +5 -5
  245. package/dist/test/unit/lsp/pii-diagnostics.test.js.map +1 -1
  246. package/dist/test/unit/parser/parser.test.js +39 -37
  247. package/dist/test/unit/parser/parser.test.js.map +1 -1
  248. package/dist/test/unit/parser/type-inference.test.js +50 -32
  249. package/dist/test/unit/parser/type-inference.test.js.map +1 -1
  250. package/dist/test/unit/typecheck/async-discipline-extended.test.js +1 -1
  251. package/dist/test/unit/typecheck/async-discipline-extended.test.js.map +1 -1
  252. package/dist/test/unit/typecheck/effects-and-capabilities.test.js +4 -4
  253. package/dist/test/unit/typecheck/effects-and-capabilities.test.js.map +1 -1
  254. package/dist/test/unit/typecheck/regression-fixes.test.js +12 -12
  255. package/dist/test/unit/typecheck/regression-fixes.test.js.map +1 -1
  256. package/dist/test/unit/typecheck/type-inference.test.js +1 -1
  257. package/dist/test/unit/typecheck/type-inference.test.js.map +1 -1
  258. package/dist/test/unit/typecheck/type-system.test.js +2 -2
  259. package/dist/test/unit/typecheck/type-system.test.js.map +1 -1
  260. package/dist/test/unit/typecheck/typecheck-advanced.test.js +3 -3
  261. package/dist/test/unit/typecheck/typecheck-advanced.test.js.map +1 -1
  262. package/package.json +6 -3
@@ -9,20 +9,23 @@
9
9
  * 2. 根据字段类型生成合适的默认值
10
10
  * 3. 支持嵌套结构(struct)和数组类型
11
11
  *
12
+ * 规则数据来源:
13
+ * - 语言特定规则由 input-generation-rules.ts 管理(overlay 模式)
14
+ * - 无 lexicon 时回退到英文基线规则
15
+ *
12
16
  * @example
13
17
  * ```typescript
14
- * // 金融领域
15
18
  * generateFieldValue('creditScore', 'Int') // → 720
16
19
  * generateFieldValue('loanAmount', 'Float') // → 50000.0
17
20
  * generateFieldValue('interestRate', 'Float') // → 5.5
18
21
  * generateFieldValue('isApproved', 'Bool') // → true
19
22
  *
20
- * // 用户信息
21
- * generateFieldValue('applicantId', 'Text') // → "APP-2024-001"
23
+ * generateFieldValue('applicantId', 'Text') // → "USR-2024-001"
22
24
  * generateFieldValue('applicantName', 'Text') // → "John Smith"
23
25
  * generateFieldValue('birthDate', 'DateTime') // → "1990-01-15"
24
26
  * ```
25
27
  */
28
+ import type { Lexicon } from '../config/lexicons/types.js';
26
29
  /** 类型种类 */
27
30
  export type TypeKind = 'primitive' | 'struct' | 'enum' | 'list' | 'map' | 'option' | 'result' | 'function' | 'unknown';
28
31
  /** 字段信息 */
@@ -41,6 +44,17 @@ export interface ParameterInfo {
41
44
  position: number;
42
45
  fields?: FieldInfo[];
43
46
  }
47
+ /**
48
+ * 值生成规则接口
49
+ */
50
+ export interface ValueGenerationRule {
51
+ /** 字段名匹配模式 */
52
+ pattern: RegExp;
53
+ /** 生成函数 */
54
+ generate: () => unknown;
55
+ /** 优先级(数值越大优先级越高) */
56
+ priority: number;
57
+ }
44
58
  /**
45
59
  * 根据字段名和类型生成示例值
46
60
  *
@@ -49,14 +63,14 @@ export interface ParameterInfo {
49
63
  * @param typeKind 类型种类(如 'primitive', 'struct', 'list')
50
64
  * @returns 生成的示例值
51
65
  */
52
- export declare function generateFieldValue(fieldName: string, typeName: string, typeKind?: TypeKind): unknown;
66
+ export declare function generateFieldValue(fieldName: string, typeName: string, typeKind?: TypeKind, lexicon?: Lexicon): unknown;
53
67
  /**
54
68
  * 为完整的参数列表生成输入值
55
69
  *
56
70
  * @param parameters 参数列表
57
71
  * @returns 生成的输入值对象
58
72
  */
59
- export declare function generateInputValues(parameters: ParameterInfo[]): Record<string, unknown>;
73
+ export declare function generateInputValues(parameters: ParameterInfo[], lexicon?: Lexicon): Record<string, unknown>;
60
74
  /**
61
75
  * 获取字段的示例值描述(用于 UI 提示)
62
76
  *
@@ -64,5 +78,5 @@ export declare function generateInputValues(parameters: ParameterInfo[]): Record
64
78
  * @param typeName 类型名称
65
79
  * @returns 示例值描述
66
80
  */
67
- export declare function getFieldValueHint(fieldName: string, typeName: string): string;
81
+ export declare function getFieldValueHint(fieldName: string, typeName: string, lexicon?: Lexicon): string;
68
82
  //# sourceMappingURL=input-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-generator.d.ts","sourceRoot":"","sources":["../../../src/parser/input-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,WAAW;AACX,MAAM,MAAM,QAAQ,GAChB,WAAW,GACX,QAAQ,GACR,MAAM,GACN,MAAM,GACN,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,SAAS,CAAC;AAEd,WAAW;AACX,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,WAAW;AACX,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAoZD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,QAAsB,GAC/B,OAAO,CAUT;AA0ID;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,aAAa,EAAE,GAC1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4BzB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQ7E"}
1
+ {"version":3,"file":"input-generator.d.ts","sourceRoot":"","sources":["../../../src/parser/input-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAG3D,WAAW;AACX,MAAM,MAAM,QAAQ,GAChB,WAAW,GACX,QAAQ,GACR,MAAM,GACN,MAAM,GACN,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,SAAS,CAAC;AAEd,WAAW;AACX,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,WAAW;AACX,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,QAAsB,EAChC,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAQT;AAwID;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,aAAa,EAAE,EAC3B,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4BzB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAQhG"}
@@ -9,400 +9,23 @@
9
9
  * 2. 根据字段类型生成合适的默认值
10
10
  * 3. 支持嵌套结构(struct)和数组类型
11
11
  *
12
+ * 规则数据来源:
13
+ * - 语言特定规则由 input-generation-rules.ts 管理(overlay 模式)
14
+ * - 无 lexicon 时回退到英文基线规则
15
+ *
12
16
  * @example
13
17
  * ```typescript
14
- * // 金融领域
15
18
  * generateFieldValue('creditScore', 'Int') // → 720
16
19
  * generateFieldValue('loanAmount', 'Float') // → 50000.0
17
20
  * generateFieldValue('interestRate', 'Float') // → 5.5
18
21
  * generateFieldValue('isApproved', 'Bool') // → true
19
22
  *
20
- * // 用户信息
21
- * generateFieldValue('applicantId', 'Text') // → "APP-2024-001"
23
+ * generateFieldValue('applicantId', 'Text') // → "USR-2024-001"
22
24
  * generateFieldValue('applicantName', 'Text') // → "John Smith"
23
25
  * generateFieldValue('birthDate', 'DateTime') // → "1990-01-15"
24
26
  * ```
25
27
  */
26
- /**
27
- * 金融领域值生成规则
28
- */
29
- const FINANCIAL_RULES = [
30
- // 信用评分
31
- {
32
- pattern: /(?:credit|fico).*?score/i,
33
- generate: () => 720,
34
- priority: 10,
35
- },
36
- // 贷款金额
37
- {
38
- pattern: /(?:loan|mortgage|principal).*?amount/i,
39
- generate: () => 50000.0,
40
- priority: 10,
41
- },
42
- // 收入
43
- {
44
- pattern: /(?:annual|monthly|yearly)?.*?(?:income|salary|earnings)/i,
45
- generate: () => 85000.0,
46
- priority: 9,
47
- },
48
- // 债务
49
- {
50
- pattern: /(?:monthly)?.*?(?:debt|obligation|payment)/i,
51
- generate: () => 1500.0,
52
- priority: 8,
53
- },
54
- // 利率
55
- {
56
- pattern: /(?:interest|apr|apy).*?rate/i,
57
- generate: () => 5.5,
58
- priority: 9,
59
- },
60
- {
61
- pattern: /(?:rate|interest)$/i,
62
- generate: () => 5.5,
63
- priority: 7,
64
- },
65
- // 贷款期限
66
- {
67
- pattern: /(?:loan|term).*?(?:months?|years?|term)/i,
68
- generate: () => 36,
69
- priority: 9,
70
- },
71
- // DTI (债务收入比)
72
- {
73
- pattern: /dti|debt.*?(?:to|income).*?ratio/i,
74
- generate: () => 0.35,
75
- priority: 10,
76
- },
77
- // LTV (贷款价值比)
78
- {
79
- pattern: /ltv|loan.*?(?:to|value).*?ratio/i,
80
- generate: () => 0.80,
81
- priority: 10,
82
- },
83
- ];
84
- /**
85
- * 保险领域值生成规则
86
- */
87
- const INSURANCE_RULES = [
88
- // 保费
89
- {
90
- pattern: /premium/i,
91
- generate: () => 1200,
92
- priority: 9,
93
- },
94
- // 免赔额
95
- {
96
- pattern: /deductible/i,
97
- generate: () => 500,
98
- priority: 9,
99
- },
100
- // 保险限额
101
- {
102
- pattern: /(?:coverage|policy).*?limit/i,
103
- generate: () => 100000,
104
- priority: 9,
105
- },
106
- // 驾驶年龄/驾龄
107
- {
108
- pattern: /(?:years?)?.*?licensed|driving.*?experience/i,
109
- generate: () => 8,
110
- priority: 8,
111
- },
112
- // 事故次数
113
- {
114
- pattern: /accident.*?(?:count|number)/i,
115
- generate: () => 0,
116
- priority: 8,
117
- },
118
- // 违章次数
119
- {
120
- pattern: /violation.*?(?:count|number)/i,
121
- generate: () => 1,
122
- priority: 8,
123
- },
124
- ];
125
- /**
126
- * 用户/个人信息值生成规则
127
- */
128
- const PERSONAL_RULES = [
129
- // 年龄
130
- {
131
- pattern: /^age$|.*?age$/i,
132
- generate: () => 35,
133
- priority: 10,
134
- },
135
- // ID 类型
136
- {
137
- pattern: /(?:applicant|customer|user|member|patient).*?id/i,
138
- generate: () => 'USR-2024-001',
139
- priority: 10,
140
- },
141
- {
142
- pattern: /(?:policy|claim|order|transaction).*?id/i,
143
- generate: () => 'POL-2024-001',
144
- priority: 10,
145
- },
146
- {
147
- pattern: /(?:id|identifier)$/i,
148
- generate: () => 'ID-001',
149
- priority: 6,
150
- },
151
- // 姓名
152
- {
153
- pattern: /(?:applicant|customer|user|patient|member)?.*?name/i,
154
- generate: () => 'John Smith',
155
- priority: 8,
156
- },
157
- // 邮箱
158
- {
159
- pattern: /email/i,
160
- generate: () => 'john.smith@example.com',
161
- priority: 9,
162
- },
163
- // 电话
164
- {
165
- pattern: /phone|mobile|tel/i,
166
- generate: () => '+1-555-123-4567',
167
- priority: 9,
168
- },
169
- // 地址
170
- {
171
- pattern: /address/i,
172
- generate: () => '123 Main Street, Anytown, ST 12345',
173
- priority: 8,
174
- },
175
- // 工作年限
176
- {
177
- pattern: /(?:years?)?.*?(?:employed|employment|work.*?experience)/i,
178
- generate: () => 5,
179
- priority: 8,
180
- },
181
- ];
182
- /**
183
- * 车辆信息值生成规则
184
- */
185
- const VEHICLE_RULES = [
186
- // 车辆品牌
187
- {
188
- pattern: /(?:vehicle)?.*?make/i,
189
- generate: () => 'Toyota',
190
- priority: 9,
191
- },
192
- // 车辆型号
193
- {
194
- pattern: /(?:vehicle)?.*?model/i,
195
- generate: () => 'Camry',
196
- priority: 9,
197
- },
198
- // 车辆年份(必须包含 vehicle 或 car 前缀,避免匹配 yearsLicensed)
199
- {
200
- pattern: /(?:vehicle|car).*?year/i,
201
- generate: () => 2022,
202
- priority: 9,
203
- },
204
- // VIN
205
- {
206
- pattern: /vin/i,
207
- generate: () => '1HGBH41JXMN109186',
208
- priority: 10,
209
- },
210
- // 里程
211
- {
212
- pattern: /mileage|odometer/i,
213
- generate: () => 35000,
214
- priority: 9,
215
- },
216
- ];
217
- /**
218
- * 医疗健康领域值生成规则
219
- */
220
- const HEALTHCARE_RULES = [
221
- // 患者 ID(优先级高于通用用户 ID)
222
- {
223
- pattern: /patient.*?id/i,
224
- generate: () => 'PAT-2024-001',
225
- priority: 11,
226
- },
227
- // 诊断代码
228
- {
229
- pattern: /(?:diagnosis|icd).*?code/i,
230
- generate: () => 'J06.9',
231
- priority: 10,
232
- },
233
- // 索赔金额
234
- {
235
- pattern: /claim.*?amount/i,
236
- generate: () => 2500.0,
237
- priority: 10,
238
- },
239
- // 服务类型
240
- {
241
- pattern: /service.*?(?:type|code)/i,
242
- generate: () => 'OFFICE_VISIT',
243
- priority: 8,
244
- },
245
- // 提供者 ID
246
- {
247
- pattern: /provider.*?id/i,
248
- generate: () => 'PRV-001',
249
- priority: 9,
250
- },
251
- ];
252
- /**
253
- * 通用数值类型值生成规则
254
- */
255
- const NUMERIC_RULES = [
256
- // 金额类
257
- {
258
- pattern: /amount|price|cost|fee|total|balance|payment/i,
259
- generate: () => 1000.0,
260
- priority: 5,
261
- },
262
- // 百分比/比率
263
- {
264
- pattern: /percentage|ratio|percent/i,
265
- generate: () => 0.25,
266
- priority: 6,
267
- },
268
- // 计数类
269
- {
270
- pattern: /count|number|qty|quantity/i,
271
- generate: () => 10,
272
- priority: 5,
273
- },
274
- // 评分/等级
275
- {
276
- pattern: /score|rating|level|rank/i,
277
- generate: () => 85,
278
- priority: 5,
279
- },
280
- // 限额
281
- {
282
- pattern: /limit|max|min|threshold/i,
283
- generate: () => 1000,
284
- priority: 5,
285
- },
286
- ];
287
- /**
288
- * 布尔类型值生成规则
289
- */
290
- const BOOLEAN_RULES = [
291
- // 审批/验证状态 - 默认通过
292
- {
293
- pattern: /(?:is|has)?.*?(?:approved|verified|valid|active|enabled|confirmed)/i,
294
- generate: () => true,
295
- priority: 8,
296
- },
297
- // 拒绝/禁用状态 - 默认否
298
- {
299
- pattern: /(?:is|has)?.*?(?:rejected|denied|disabled|blocked|suspended)/i,
300
- generate: () => false,
301
- priority: 8,
302
- },
303
- // 存在性检查 - 默认是
304
- {
305
- pattern: /^(?:has|is|can|should|does|did|will|was)/i,
306
- generate: () => true,
307
- priority: 6,
308
- },
309
- // Flag 后缀 - 默认是
310
- {
311
- pattern: /flag$/i,
312
- generate: () => true,
313
- priority: 5,
314
- },
315
- ];
316
- /**
317
- * 日期时间类型值生成规则
318
- */
319
- const DATETIME_RULES = [
320
- // 出生日期 - 1990年
321
- {
322
- pattern: /birth.*?(?:date|day)|birthday/i,
323
- generate: () => '1990-01-15',
324
- priority: 10,
325
- },
326
- // 创建/注册日期 - 最近
327
- {
328
- pattern: /(?:created|registered|signup|joined).*?(?:date|at|time)/i,
329
- generate: () => '2024-01-01T10:00:00Z',
330
- priority: 9,
331
- },
332
- // 过期日期 - 未来
333
- {
334
- pattern: /(?:expir|expire|expiry|expires).*?(?:date|at|time)/i,
335
- generate: () => '2025-12-31',
336
- priority: 9,
337
- },
338
- // 更新日期 - 最近
339
- {
340
- pattern: /(?:updated|modified|changed).*?(?:date|at|time)/i,
341
- generate: () => '2024-06-15T14:30:00Z',
342
- priority: 9,
343
- },
344
- // 通用日期 - 今天(使用词尾匹配避免误匹配 data 等)
345
- {
346
- pattern: /(?:date|time|timestamp)$/i,
347
- generate: () => new Date().toISOString().split('T')[0],
348
- priority: 4,
349
- },
350
- ];
351
- /**
352
- * 状态/类型枚举值生成规则
353
- */
354
- const ENUM_RULES = [
355
- // 账户状态
356
- {
357
- pattern: /account.*?status/i,
358
- generate: () => 'ACTIVE',
359
- priority: 9,
360
- },
361
- // 雇佣状态
362
- {
363
- pattern: /employment.*?(?:status|type)/i,
364
- generate: () => 'EMPLOYED',
365
- priority: 9,
366
- },
367
- // 婚姻状态
368
- {
369
- pattern: /marital.*?status/i,
370
- generate: () => 'MARRIED',
371
- priority: 9,
372
- },
373
- // 住房状态
374
- {
375
- pattern: /(?:housing|residence).*?(?:status|type)/i,
376
- generate: () => 'OWN',
377
- priority: 9,
378
- },
379
- // 通用状态
380
- {
381
- pattern: /status/i,
382
- generate: () => 'ACTIVE',
383
- priority: 4,
384
- },
385
- // 通用类型
386
- {
387
- pattern: /type|category|kind/i,
388
- generate: () => 'STANDARD',
389
- priority: 4,
390
- },
391
- ];
392
- /**
393
- * 所有规则(按优先级排序)
394
- */
395
- const ALL_RULES = [
396
- ...FINANCIAL_RULES,
397
- ...INSURANCE_RULES,
398
- ...PERSONAL_RULES,
399
- ...VEHICLE_RULES,
400
- ...HEALTHCARE_RULES,
401
- ...NUMERIC_RULES,
402
- ...BOOLEAN_RULES,
403
- ...DATETIME_RULES,
404
- ...ENUM_RULES,
405
- ].sort((a, b) => b.priority - a.priority);
28
+ import { getInputGenerationRules } from '../config/lexicons/input-generation-rules.js';
406
29
  /**
407
30
  * 根据字段名和类型生成示例值
408
31
  *
@@ -411,21 +34,19 @@ const ALL_RULES = [
411
34
  * @param typeKind 类型种类(如 'primitive', 'struct', 'list')
412
35
  * @returns 生成的示例值
413
36
  */
414
- export function generateFieldValue(fieldName, typeName, typeKind = 'primitive') {
415
- // 1. 尝试根据字段名匹配规则生成值
416
- const ruleBasedValue = generateFromRules(fieldName);
417
- if (ruleBasedValue !== undefined) {
418
- // 确保类型兼容
419
- return coerceToType(ruleBasedValue, typeName, typeKind);
37
+ export function generateFieldValue(fieldName, typeName, typeKind = 'primitive', lexicon) {
38
+ const rules = getInputGenerationRules(lexicon);
39
+ const matched = matchRule(fieldName, rules);
40
+ if (matched !== undefined) {
41
+ return coerceToType(matched, typeName, typeKind);
420
42
  }
421
- // 2. 根据类型生成默认值
422
43
  return generateDefaultValue(typeName, typeKind);
423
44
  }
424
45
  /**
425
- * 从规则中生成值
46
+ * 从指定规则集中匹配并生成值(按优先级降序匹配)
426
47
  */
427
- function generateFromRules(fieldName) {
428
- for (const rule of ALL_RULES) {
48
+ function matchRule(fieldName, rules) {
49
+ for (const rule of rules) {
429
50
  if (rule.pattern.test(fieldName)) {
430
51
  return rule.generate();
431
52
  }
@@ -514,10 +135,8 @@ function generatePrimitiveDefault(typeName) {
514
135
  if (isDateTimeType(normalized)) {
515
136
  return new Date().toISOString().split('T')[0];
516
137
  }
517
- // 默认为文本
518
138
  return '';
519
139
  }
520
- // 类型检查辅助函数
521
140
  function isIntType(typeName) {
522
141
  return ['int', 'integer', 'i32', 'i64', 'long', 'short'].some((t) => typeName.includes(t));
523
142
  }
@@ -539,23 +158,21 @@ function isDateTimeType(typeName) {
539
158
  * @param parameters 参数列表
540
159
  * @returns 生成的输入值对象
541
160
  */
542
- export function generateInputValues(parameters) {
161
+ export function generateInputValues(parameters, lexicon) {
543
162
  const result = {};
544
163
  for (const param of parameters) {
545
164
  if (param.typeKind === 'struct' && param.fields) {
546
- // 为结构体生成嵌套对象
547
165
  const structValue = {};
548
166
  for (const field of param.fields) {
549
- structValue[field.name] = generateFieldValue(field.name, field.type, field.typeKind);
167
+ structValue[field.name] = generateFieldValue(field.name, field.type, field.typeKind, lexicon);
550
168
  }
551
169
  result[param.name] = structValue;
552
170
  }
553
171
  else if (param.typeKind === 'list') {
554
- // 为列表生成包含一个示例元素的数组
555
- result[param.name] = [generateFieldValue(param.name, param.type, 'primitive')];
172
+ result[param.name] = [generateFieldValue(param.name, param.type, 'primitive', lexicon)];
556
173
  }
557
174
  else {
558
- result[param.name] = generateFieldValue(param.name, param.type, param.typeKind);
175
+ result[param.name] = generateFieldValue(param.name, param.type, param.typeKind, lexicon);
559
176
  }
560
177
  }
561
178
  return result;
@@ -567,8 +184,8 @@ export function generateInputValues(parameters) {
567
184
  * @param typeName 类型名称
568
185
  * @returns 示例值描述
569
186
  */
570
- export function getFieldValueHint(fieldName, typeName) {
571
- const value = generateFieldValue(fieldName, typeName, 'primitive');
187
+ export function getFieldValueHint(fieldName, typeName, lexicon) {
188
+ const value = generateFieldValue(fieldName, typeName, 'primitive', lexicon);
572
189
  if (typeof value === 'object') {
573
190
  return JSON.stringify(value);
574
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"input-generator.js","sourceRoot":"","sources":["../../../src/parser/input-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input-generator.js","sourceRoot":"","sources":["../../../src/parser/input-generator.ts"],"names":[],"mappings":"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"}
@@ -23,19 +23,9 @@
23
23
  * ```
24
24
  */
25
25
  import type { Constraint, Type } from '../types.js';
26
- /** 基础类型名称 */
27
- type PrimitiveTypeName = 'Text' | 'Int' | 'Float' | 'Bool' | 'DateTime';
28
- /**
29
- * 类型推断规则接口
30
- */
31
- export interface TypeInferenceRule {
32
- /** 字段名匹配模式 */
33
- readonly pattern: RegExp;
34
- /** 推断的类型 */
35
- readonly type: PrimitiveTypeName;
36
- /** 优先级(数值越大优先级越高) */
37
- readonly priority: number;
38
- }
26
+ import type { TypeInferenceRule, PrimitiveTypeName } from '../types/type-inference.js';
27
+ import type { Lexicon } from '../config/lexicons/types.js';
28
+ export type { TypeInferenceRule, PrimitiveTypeName };
39
29
  /**
40
30
  * 默认的字段命名类型推断规则
41
31
  *
@@ -49,7 +39,12 @@ export interface TypeInferenceRule {
49
39
  * - 分类类型(Type、Status、Category)
50
40
  * - 产品属性(Make、Model)
51
41
  */
52
- export declare const NAMING_RULES: readonly TypeInferenceRule[];
42
+ /**
43
+ * 语言无关的通用基线命名规则。
44
+ * 语言特定规则(英文布尔前缀、中文前缀、德语后缀等)
45
+ * 已拆分至 config/lexicons/type-inference-rules.ts(overlay 模式)。
46
+ */
47
+ export declare const BASE_NAMING_RULES: readonly TypeInferenceRule[];
53
48
  /**
54
49
  * 从约束列表推断类型
55
50
  *
@@ -74,7 +69,7 @@ export declare function inferTypeFromConstraints(constraints: readonly Constrain
74
69
  * @param constraints 可选的约束列表
75
70
  * @returns 推断的类型 AST 节点
76
71
  */
77
- export declare function inferFieldType(fieldName: string, constraints?: readonly Constraint[]): Type;
72
+ export declare function inferFieldType(fieldName: string, constraints?: readonly Constraint[], lexicon?: Lexicon): Type;
78
73
  /**
79
74
  * 根据约束修正已推断的类型
80
75
  *
@@ -86,5 +81,4 @@ export declare function inferFieldType(fieldName: string, constraints?: readonly
86
81
  * @returns 修正后的类型
87
82
  */
88
83
  export declare function refineInferredType(currentType: Type, constraints: readonly Constraint[]): Type;
89
- export {};
90
84
  //# sourceMappingURL=type-inference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-inference.d.ts","sourceRoot":"","sources":["../../../src/parser/type-inference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAmB,IAAI,EAAE,MAAM,aAAa,CAAC;AAErE,aAAa;AACb,KAAK,iBAAiB,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc;IACd,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,YAAY;IACZ,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,qBAAqB;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,iBAAiB,EA0HpD,CAAC;AAKF;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,iBAAiB,GAAG,IAAI,CAqBrG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,GAAE,SAAS,UAAU,EAAO,GAAG,IAAI,CAe/F;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CA8B9F"}
1
+ {"version":3,"file":"type-inference.d.ts","sourceRoot":"","sources":["../../../src/parser/type-inference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAmB,IAAI,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAE3D,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,iBAAiB,EAazD,CAAC;AAMF;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,iBAAiB,GAAG,IAAI,CAqBrG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,WAAW,GAAE,SAAS,UAAU,EAAO,EACvC,OAAO,CAAC,EAAE,OAAO,GAChB,IAAI,CAQN;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CA8B9F"}