@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
package/CHANGELOG.md ADDED
@@ -0,0 +1,46 @@
1
+ # Changelog
2
+
3
+ ## [0.1.0] - 2026-02-24
4
+
5
+ ### BREAKING CHANGES
6
+
7
+ - **PEG headers 语法**:移除 `FuncHeaderLegacy`(旧 `To` 语法)、`ParamPart`(旧 `with` 参数)、legacy `Data`(旧 `Define with`)、`this module is` 回退分支。类型标注从 `:` 改为 `as`。
8
+ - **公开 API**:移除 `validateSyntax()`(零消费者)。
9
+ - **废弃符号**:移除 `NAMING_RULES` 别名、`annotationToConstraint()` 函数、3 个旧 `DiagnosticCode` 枚举成员(`DEPENDENCY_RESOLUTION_TIMEOUT`、`VERSION_CONFLICT_UNRESOLVABLE`、`PACKAGE_NOT_FOUND`)。
10
+ - **Annotation 类型**:移除已废弃的 `Annotation` 接口及 `Field`/`Parameter`/`TypeName` 上的 `annotations` 字段(使用 `Constraint` 替代)。
11
+ - **KW 常量**:移除 8 个未使用的 KW 常量(`FOR_EACH`、`IS`、`MORE_THAN`、`OVER`、`RESULT_IS`、`UNDER`、`FALSE`、`TRUE`)及对应 `KW_TO_SEMANTIC` 映射。
12
+ - **Formatter 输出**:类型标注从 `:` 改为 `as`(与解析器对齐)。
13
+
14
+ ### 迁移指南
15
+
16
+ **语法变更**(Phase 1 + Phase 2a):
17
+
18
+ | 旧语法 | 新语法 |
19
+ |--------|--------|
20
+ | `This module is X.` | `Module X.` |
21
+ | `To func with params` | `Rule func given params` |
22
+ | `Define X with fields` | `Define X has fields` |
23
+ | `name: Text` (类型标注) | `name as Text` |
24
+
25
+ **API 变更**:
26
+
27
+ - `validateSyntax()` → 使用 `compile()` + 检查 `diagnostics`
28
+ - `NAMING_RULES` → 使用 `BASE_NAMING_RULES`
29
+ - `annotationToConstraint()` → 已由解析器内置约束解析替代
30
+ - `DiagnosticCode.PACKAGE_NOT_FOUND` → `DiagnosticCode.V003_PackageNotFound`
31
+ - `DiagnosticCode.DEPENDENCY_RESOLUTION_TIMEOUT` → `DiagnosticCode.V001_DependencyResolutionTimeout`
32
+ - `DiagnosticCode.VERSION_CONFLICT_UNRESOLVABLE` → `DiagnosticCode.V002_VersionConflictUnresolvable`
33
+ - `Annotation` 接口 → 使用 `Constraint` 类型
34
+ - `Field.annotations` / `Parameter.annotations` → 使用 `.constraints`
35
+
36
+ ### 新增
37
+
38
+ - `extractSchema` 测试套件(7 个用例)
39
+ - AI 训练数据重新生成(适配新语法)
40
+
41
+ ### 修复
42
+
43
+ - 训练数据无效操作符语法 `>(a,b)` → `a greater than b`
44
+ - Formatter fuzz 测试路径修复 + `existsSync` 保护
45
+ - `test_loan.aster` 补充显式类型确保格式化幂等
46
+ - 全部文档/脚本/注释从旧语法迁移到新规范语法
package/README.md CHANGED
@@ -26,9 +26,9 @@ import { canonicalize, lex, parse, lowerModule } from '@aster-cloud/aster-lang-t
26
26
 
27
27
  // Compile pipeline
28
28
  const source = `
29
- This module is greeting.
29
+ Module greeting.
30
30
 
31
- To greet with name, produce:
31
+ Rule greet given name, produce:
32
32
  Return Text.concat("Hello, ", name).
33
33
  `;
34
34
 
@@ -47,9 +47,9 @@ import { canonicalize, lex, parse } from '@aster-cloud/aster-lang-ts';
47
47
  import { ZH_CN } from '@aster-cloud/aster-lang-ts/lexicons/zh-CN';
48
48
 
49
49
  const zhSource = `
50
- 【模块】问候。
50
+ 模块 问候。
51
51
 
52
- 问候 入参 姓名,产出:
52
+ 规则 问候 给定 姓名,产出:
53
53
  返回「你好,」 加 姓名。
54
54
  `;
55
55