@aster-cloud/aster-lang-ts 0.0.28 → 0.0.30

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 (172) hide show
  1. package/dist/peg/headers-parser.js +459 -233
  2. package/dist/scripts/aster.js +0 -0
  3. package/dist/scripts/emit-core.js +0 -0
  4. package/dist/scripts/generate-lexicons.d.ts +13 -0
  5. package/dist/scripts/generate-lexicons.d.ts.map +1 -0
  6. package/dist/scripts/generate-lexicons.js +152 -0
  7. package/dist/scripts/generate-lexicons.js.map +1 -0
  8. package/dist/scripts/generate-vocabularies.d.ts +13 -0
  9. package/dist/scripts/generate-vocabularies.d.ts.map +1 -0
  10. package/dist/scripts/generate-vocabularies.js +205 -0
  11. package/dist/scripts/generate-vocabularies.js.map +1 -0
  12. package/dist/scripts/golden.js +4 -4
  13. package/dist/scripts/golden.js.map +1 -1
  14. package/dist/scripts/perf-assert.js +2 -2
  15. package/dist/scripts/perf-assert.js.map +1 -1
  16. package/dist/scripts/perf-lsp.js +2 -2
  17. package/dist/scripts/perf-lsp.js.map +1 -1
  18. package/dist/scripts/scaffold.js +4 -4
  19. package/dist/scripts/verify-lexicon-sync.d.ts +14 -0
  20. package/dist/scripts/verify-lexicon-sync.d.ts.map +1 -0
  21. package/dist/scripts/verify-lexicon-sync.js +248 -0
  22. package/dist/scripts/verify-lexicon-sync.js.map +1 -0
  23. package/dist/src/browser.d.ts +2 -0
  24. package/dist/src/browser.d.ts.map +1 -1
  25. package/dist/src/browser.js +14 -3
  26. package/dist/src/browser.js.map +1 -1
  27. package/dist/src/cli/policy-converter.js +0 -0
  28. package/dist/src/config/lexicons/de-DE.d.ts +0 -9
  29. package/dist/src/config/lexicons/de-DE.d.ts.map +1 -1
  30. package/dist/src/config/lexicons/de-DE.js +27 -53
  31. package/dist/src/config/lexicons/de-DE.js.map +1 -1
  32. package/dist/src/config/lexicons/en-US.d.ts +0 -12
  33. package/dist/src/config/lexicons/en-US.d.ts.map +1 -1
  34. package/dist/src/config/lexicons/en-US.js +27 -50
  35. package/dist/src/config/lexicons/en-US.js.map +1 -1
  36. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.d.ts +3 -0
  37. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.d.ts.map +1 -0
  38. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.js +310 -0
  39. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.js.map +1 -0
  40. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.d.ts +3 -0
  41. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.d.ts.map +1 -0
  42. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.js +291 -0
  43. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.js.map +1 -0
  44. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.d.ts +1 -11
  45. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.d.ts.map +1 -1
  46. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.js +47 -33
  47. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.js.map +1 -1
  48. package/dist/src/config/lexicons/identifiers/domains/index.d.ts +7 -0
  49. package/dist/src/config/lexicons/identifiers/domains/index.d.ts.map +1 -0
  50. package/dist/src/config/lexicons/identifiers/domains/index.js +8 -0
  51. package/dist/src/config/lexicons/identifiers/domains/index.js.map +1 -0
  52. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.d.ts +3 -0
  53. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.d.ts.map +1 -0
  54. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.js +275 -0
  55. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.js.map +1 -0
  56. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.d.ts +3 -0
  57. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.d.ts.map +1 -0
  58. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.js +261 -0
  59. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.js.map +1 -0
  60. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.d.ts +1 -23
  61. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.d.ts.map +1 -1
  62. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.js +81 -155
  63. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.js.map +1 -1
  64. package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.js +8 -8
  65. package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.js.map +1 -1
  66. package/dist/src/config/lexicons/identifiers/index.d.ts +1 -2
  67. package/dist/src/config/lexicons/identifiers/index.d.ts.map +1 -1
  68. package/dist/src/config/lexicons/identifiers/index.js +2 -3
  69. package/dist/src/config/lexicons/identifiers/index.js.map +1 -1
  70. package/dist/src/config/lexicons/identifiers/registry.d.ts +2 -2
  71. package/dist/src/config/lexicons/identifiers/registry.d.ts.map +1 -1
  72. package/dist/src/config/lexicons/identifiers/registry.js +16 -3
  73. package/dist/src/config/lexicons/identifiers/registry.js.map +1 -1
  74. package/dist/src/config/lexicons/template.d.ts.map +1 -1
  75. package/dist/src/config/lexicons/template.js +18 -8
  76. package/dist/src/config/lexicons/template.js.map +1 -1
  77. package/dist/src/config/lexicons/types.d.ts +1 -1
  78. package/dist/src/config/lexicons/types.d.ts.map +1 -1
  79. package/dist/src/config/lexicons/zh-CN.d.ts +0 -18
  80. package/dist/src/config/lexicons/zh-CN.d.ts.map +1 -1
  81. package/dist/src/config/lexicons/zh-CN.js +26 -61
  82. package/dist/src/config/lexicons/zh-CN.js.map +1 -1
  83. package/dist/src/config/semantic.d.ts +9 -4
  84. package/dist/src/config/semantic.d.ts.map +1 -1
  85. package/dist/src/config/semantic.js +16 -5
  86. package/dist/src/config/semantic.js.map +1 -1
  87. package/dist/src/config/token-kind.d.ts +17 -5
  88. package/dist/src/config/token-kind.d.ts.map +1 -1
  89. package/dist/src/config/token-kind.js +23 -7
  90. package/dist/src/config/token-kind.js.map +1 -1
  91. package/dist/src/frontend/canonicalizer.d.ts +20 -2
  92. package/dist/src/frontend/canonicalizer.d.ts.map +1 -1
  93. package/dist/src/frontend/canonicalizer.js +58 -2
  94. package/dist/src/frontend/canonicalizer.js.map +1 -1
  95. package/dist/src/frontend/index.d.ts +1 -0
  96. package/dist/src/frontend/index.d.ts.map +1 -1
  97. package/dist/src/frontend/index.js.map +1 -1
  98. package/dist/src/frontend/keyword-translator.d.ts.map +1 -1
  99. package/dist/src/frontend/keyword-translator.js +51 -15
  100. package/dist/src/frontend/keyword-translator.js.map +1 -1
  101. package/dist/src/lsp/codeaction.js +9 -9
  102. package/dist/src/lsp/codeaction.js.map +1 -1
  103. package/dist/src/lsp/completion.js +2 -2
  104. package/dist/src/lsp/completion.js.map +1 -1
  105. package/dist/src/lsp/module_cache.js +2 -2
  106. package/dist/src/lsp/module_cache.js.map +1 -1
  107. package/dist/src/lsp/server.js +0 -0
  108. package/dist/src/lsp/symbols.js +2 -2
  109. package/dist/src/lsp/symbols.js.map +1 -1
  110. package/dist/src/parser/decl-parser.d.ts +2 -2
  111. package/dist/src/parser/decl-parser.js +12 -12
  112. package/dist/src/parser/decl-parser.js.map +1 -1
  113. package/dist/src/parser/expr-stmt-parser.js +2 -2
  114. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  115. package/dist/src/parser.d.ts +1 -1
  116. package/dist/src/parser.js +1 -1
  117. package/dist/test/compiler/depends-on.test.js +2 -2
  118. package/dist/test/compiler/depends-on.test.js.map +1 -1
  119. package/dist/test/compiler/workflow-emitter-helpers.js +2 -2
  120. package/dist/test/compiler/workflow-emitter-helpers.js.map +1 -1
  121. package/dist/test/generators.js +18 -18
  122. package/dist/test/generators.js.map +1 -1
  123. package/dist/test/integration/lsp/lsp-completion.test.js +13 -13
  124. package/dist/test/integration/lsp/lsp-completion.test.js.map +1 -1
  125. package/dist/test/integration/lsp/lsp-diagnostics.test.js +7 -7
  126. package/dist/test/integration/lsp/lsp-diagnostics.test.js.map +1 -1
  127. package/dist/test/integration/lsp/lsp-file-watcher.test.js +8 -8
  128. package/dist/test/integration/lsp/lsp-file-watcher.test.js.map +1 -1
  129. package/dist/test/integration/lsp/lsp-modules.test.js +6 -6
  130. package/dist/test/integration/lsp/lsp-multi-rename.test.js +1 -1
  131. package/dist/test/integration/lsp/lsp-multi-rename.test.js.map +1 -1
  132. package/dist/test/integration/lsp/lsp-navigation.test.js +21 -21
  133. package/dist/test/integration/lsp/lsp-navigation.test.js.map +1 -1
  134. package/dist/test/integration/pipeline/pipeline.test.js +38 -38
  135. package/dist/test/integration/pipeline/pipeline.test.js.map +1 -1
  136. package/dist/test/property/lsp-props.test.js +2 -2
  137. package/dist/test/property/lsp-props.test.js.map +1 -1
  138. package/dist/test/property/property.test.js +25 -25
  139. package/dist/test/property/property.test.js.map +1 -1
  140. package/dist/test/type-checker/cross-module-packages.test.js +2 -1
  141. package/dist/test/type-checker/cross-module-packages.test.js.map +1 -1
  142. package/dist/test/unit/async/async-discipline.test.js +81 -81
  143. package/dist/test/unit/async/async-schedule.test.js +23 -23
  144. package/dist/test/unit/canonicalizer/canonicalizer.test.js +19 -13
  145. package/dist/test/unit/canonicalizer/canonicalizer.test.js.map +1 -1
  146. package/dist/test/unit/config/lexicons/zh-CN.test.js +44 -71
  147. package/dist/test/unit/config/lexicons/zh-CN.test.js.map +1 -1
  148. package/dist/test/unit/generator.test.js +3 -3
  149. package/dist/test/unit/generator.test.js.map +1 -1
  150. package/dist/test/unit/keyword-translator.test.js +55 -56
  151. package/dist/test/unit/keyword-translator.test.js.map +1 -1
  152. package/dist/test/unit/lexer/lexer.test.js +5 -5
  153. package/dist/test/unit/lexer/lexer.test.js.map +1 -1
  154. package/dist/test/unit/lowering/lowering.test.js +13 -13
  155. package/dist/test/unit/lsp/codeaction.test.js +9 -9
  156. package/dist/test/unit/lsp/codeaction.test.js.map +1 -1
  157. package/dist/test/unit/lsp/symbols.test.js +2 -2
  158. package/dist/test/unit/lsp/symbols.test.js.map +1 -1
  159. package/dist/test/unit/module-cache-packages.test.js +4 -4
  160. package/dist/test/unit/module-cache-packages.test.js.map +1 -1
  161. package/dist/test/unit/parser/parser.test.js +137 -137
  162. package/dist/test/unit/parser/parser.test.js.map +1 -1
  163. package/dist/test/unit/provenance-integration.test.js +16 -16
  164. package/dist/test/unit/provenance.test.js +5 -5
  165. package/dist/test/unit/provenance.test.js.map +1 -1
  166. package/dist/test/unit/typecheck/async-discipline-extended.test.js +4 -4
  167. package/dist/test/unit/typecheck/effects-and-capabilities.test.js +18 -18
  168. package/dist/test/unit/typecheck/type-inference.test.js +23 -23
  169. package/dist/test/unit/typecheck/typecheck-advanced.test.js +10 -10
  170. package/dist/test/unit/validator.test.js +14 -14
  171. package/dist/test/unit/validator.test.js.map +1 -1
  172. package/package.json +57 -39
@@ -75,9 +75,9 @@ describe('泛型诊断', () => {
75
75
  describe('模式匹配 Result/Maybe 绑定', () => {
76
76
  it('Result Ok 模式应正确绑定内部类型', () => {
77
77
  const diagnostics = runTypecheck(`
78
- This module is test.typecheck.pattern.result_ok.
78
+ Module test.typecheck.pattern.result_ok.
79
79
 
80
- To unwrap with value: Result of Int and Text, produce Int:
80
+ Rule unwrap given value: Result of Int and Text, produce Int:
81
81
  Match value:
82
82
  When Ok(number), Return number.
83
83
  When Err(err), Return 0.
@@ -86,9 +86,9 @@ To unwrap with value: Result of Int and Text, produce Int:
86
86
  });
87
87
  it('Maybe Some 模式应正确绑定内部类型', () => {
88
88
  const diagnostics = runTypecheck(`
89
- This module is test.typecheck.pattern.maybe_some.
89
+ Module test.typecheck.pattern.maybe_some.
90
90
 
91
- To unwrap with value: Option of Text, produce Text:
91
+ Rule unwrap given value: Option of Text, produce Text:
92
92
  Match value:
93
93
  When Some(text), Return text.
94
94
  When None, Return "fallback".
@@ -99,22 +99,22 @@ To unwrap with value: Option of Text, produce Text:
99
99
  describe('构造器字段诊断', () => {
100
100
  it('缺失必须字段应触发 MISSING_REQUIRED_FIELD', () => {
101
101
  const diagnostics = runTypecheck(`
102
- This module is test.typecheck.construct.missing.
102
+ Module test.typecheck.construct.missing.
103
103
 
104
- Define Profile with id: Int, name: Text.
104
+ Define Profile has id: Int, name: Text.
105
105
 
106
- To build, produce Profile:
106
+ Rule build, produce Profile:
107
107
  Return Profile with id = 1.
108
108
  `);
109
109
  assert.equal(diagnostics.some(d => d.code === "E013" /* ErrorCode.MISSING_REQUIRED_FIELD */), true, '缺失字段必须提示错误');
110
110
  });
111
111
  it('重复字段类型不符应触发 FIELD_TYPE_MISMATCH', () => {
112
112
  const diagnostics = runTypecheck(`
113
- This module is test.typecheck.construct.duplicate.
113
+ Module test.typecheck.construct.duplicate.
114
114
 
115
- Define Profile with id: Int, name: Text.
115
+ Define Profile has id: Int, name: Text.
116
116
 
117
- To build, produce Profile:
117
+ Rule build, produce Profile:
118
118
  Return Profile with id = 1, id = "oops", name = "Alice".
119
119
  `);
120
120
  const mismatch = diagnostics.find(d => d.code === "E012" /* ErrorCode.FIELD_TYPE_MISMATCH */);
@@ -2,32 +2,32 @@ import { describe, test } from 'node:test';
2
2
  import assert from 'node:assert/strict';
3
3
  import { PolicyValidator } from '../../src/ai/validator.js';
4
4
  // 测试数据
5
- const validCNL = `This module is tests.ai.valid.
5
+ const validCNL = `Module tests.ai.valid.
6
6
 
7
- To add with x: Int, y: Int, produce Int:
7
+ Rule add given x: Int, y: Int, produce Int:
8
8
  Return x plus y.
9
9
  `;
10
- const validCNLComplex = `This module is tests.ai.complex.
10
+ const validCNLComplex = `Module tests.ai.complex.
11
11
 
12
- To greet with name: Text, produce Text:
12
+ Rule greet given name: Text, produce Text:
13
13
  Return "Hello".
14
14
 
15
- To double with n: Int, produce Int:
15
+ Rule double given n: Int, produce Int:
16
16
  Return n times 2.
17
17
  `;
18
- const invalidCNL_TypeMismatch = `This module is tests.ai.invalid.
18
+ const invalidCNL_TypeMismatch = `Module tests.ai.invalid.
19
19
 
20
- To returnMismatch, produce Int:
20
+ Rule returnMismatch produce Int:
21
21
  Return "invalid".
22
22
  `;
23
- const invalidCNL_SyntaxError = `This module is tests.ai.syntax.
23
+ const invalidCNL_SyntaxError = `Module tests.ai.syntax.
24
24
 
25
- To badSyntax, produce Int:
25
+ Rule badSyntax produce Int:
26
26
  Return x plus.
27
27
  `;
28
- const invalidCNL_UndefinedVariable = `This module is tests.ai.undefined.
28
+ const invalidCNL_UndefinedVariable = `Module tests.ai.undefined.
29
29
 
30
- To useUndefined, produce Int:
30
+ Rule useUndefined produce Int:
31
31
  Return undefinedVar.
32
32
  `;
33
33
  describe('Policy Validator', () => {
@@ -124,7 +124,7 @@ describe('Policy Validator', () => {
124
124
  });
125
125
  test('應該處理僅包含模塊聲明的代碼', async () => {
126
126
  const validator = new PolicyValidator();
127
- const result = await validator.validate('This module is tests.ai.minimal.');
127
+ const result = await validator.validate('Module tests.ai.minimal.');
128
128
  // 僅有模塊聲明可能會通過或產生警告(取決於類型檢查器)
129
129
  // 至少不應該崩潰
130
130
  assert.ok(result);
@@ -139,10 +139,10 @@ describe('Policy Validator', () => {
139
139
  });
140
140
  test('應該處理包含註釋的 CNL 代碼', async () => {
141
141
  const cnlWithComments = `// This is a comment
142
- This module is tests.ai.comments.
142
+ Module tests.ai.comments.
143
143
 
144
144
  // Add two numbers
145
- To add with x: Int, y: Int, produce Int:
145
+ Rule add given x: Int, y: Int, produce Int:
146
146
  Return x plus y.
147
147
  `;
148
148
  const validator = new PolicyValidator();
@@ -1 +1 @@
1
- {"version":3,"file":"validator.test.js","sourceRoot":"","sources":["../../../test/unit/validator.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO;AACP,MAAM,QAAQ,GAAG;;;;CAIhB,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;CAOvB,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;CAI/B,CAAC;AAEF,MAAM,sBAAsB,GAAG;;;;CAI9B,CAAC;AAEF,MAAM,4BAA4B,GAAG;;;;CAIpC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAElD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,8CAA8C,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAEzD,eAAe;QACf,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,mCAAmC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5F,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAEjE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEvC,aAAa;QACb,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE7B,kBAAkB;QAClB,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC/C,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CACvC,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,gCAAgC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAEhE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEvC,eAAe;QACf,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;QACtE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QAEtE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QAExC,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAElE,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAElD,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;QAE/D,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QAExC,eAAe;QACf,qCAAqC;QACrC,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEhE,aAAa;QACb,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE5C,sBAAsB;QACtB,yBAAyB;QACzB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAClB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC;QAE5E,6BAA6B;QAC7B,UAAU;QACV,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAClB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QAExC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEnD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,eAAe,GAAG;;;;;;CAM3B,CAAC;QAEE,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAEzD,YAAY;QACZ,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"validator.test.js","sourceRoot":"","sources":["../../../test/unit/validator.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aster-cloud/aster-lang-ts",
3
- "version": "0.0.28",
3
+ "version": "0.0.30",
4
4
  "description": "Aster CNL (Controlled Natural Language) TypeScript Compiler - Lexer, Parser, AST, Core IR, Type Checker",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -42,6 +42,18 @@
42
42
  "types": "./dist/src/config/lexicons/registry.d.ts",
43
43
  "import": "./dist/src/config/lexicons/registry.js"
44
44
  },
45
+ "./lexicons/identifiers": {
46
+ "types": "./dist/src/config/lexicons/identifiers/index.d.ts",
47
+ "import": "./dist/src/config/lexicons/identifiers/index.js"
48
+ },
49
+ "./lexicons/identifiers/types": {
50
+ "types": "./dist/src/config/lexicons/identifiers/types.d.ts",
51
+ "import": "./dist/src/config/lexicons/identifiers/types.js"
52
+ },
53
+ "./lexicons/identifiers/registry": {
54
+ "types": "./dist/src/config/lexicons/identifiers/registry.d.ts",
55
+ "import": "./dist/src/config/lexicons/identifiers/registry.js"
56
+ },
45
57
  "./token-kind": {
46
58
  "types": "./dist/src/config/token-kind.d.ts",
47
59
  "import": "./dist/src/config/token-kind.js"
@@ -77,6 +89,47 @@
77
89
  "aster-lsp": "./dist/src/lsp/server.js",
78
90
  "aster-convert": "./dist/src/cli/policy-converter.js"
79
91
  },
92
+ "scripts": {
93
+ "build": "tsc && node dist/scripts/build-peg.js",
94
+ "build:browser": "pnpm run build && node scripts/build-browser.js",
95
+ "build:watch": "tsc --watch",
96
+ "clean": "rm -rf dist",
97
+ "dev": "pnpm run build:watch",
98
+ "test": "pnpm run build && pnpm run test:unit:run && pnpm run test:integration:run",
99
+ "test:unit": "pnpm run build && pnpm run test:unit:run",
100
+ "test:unit:run": "node --test 'dist/test/unit/**/*.test.js' 'dist/test/type-checker/**/*.test.js'",
101
+ "test:unit:coverage": "pnpm run build && c8 node --test 'dist/test/unit/**/*.test.js' 'dist/test/type-checker/**/*.test.js'",
102
+ "test:integration": "pnpm run build && pnpm run test:integration:run",
103
+ "test:integration:run": "node --test 'dist/test/integration/**/*.test.js'",
104
+ "test:golden": "pnpm run build && pnpm run test:golden:run",
105
+ "test:golden:run": "node dist/scripts/golden.js",
106
+ "test:property": "pnpm run build && pnpm run test:property:run",
107
+ "test:property:run": "node --test 'dist/test/property/**/*.test.js'",
108
+ "test:fuzz": "pnpm run build && pnpm run test:fuzz:run",
109
+ "test:fuzz:run": "node --test 'dist/test/fuzz/**/*.test.js'",
110
+ "test:lsp": "pnpm run build && pnpm run test:lsp:run",
111
+ "test:lsp:run": "node dist/test/property/lsp-props.test.js",
112
+ "test:converter": "pnpm run build && pnpm run test:converter:run",
113
+ "test:converter:run": "node --test 'dist/test/policy-converter/**/*.test.js'",
114
+ "coverage:report": "c8 report --reporter=html --reporter=text",
115
+ "coverage:check": "c8 check-coverage --lines 75 --functions 75 --branches 70",
116
+ "lint": "eslint src scripts --ext .ts",
117
+ "lint:fix": "eslint src scripts --ext .ts --fix",
118
+ "format": "prettier --write src scripts",
119
+ "format:check": "prettier --check src scripts",
120
+ "generate:lexicons": "npx tsx scripts/generate-lexicons.ts",
121
+ "generate:vocabularies": "npx tsx scripts/generate-vocabularies.ts",
122
+ "verify:lexicons": "pnpm run build && node dist/scripts/verify-lexicon-sync.js",
123
+ "verify:lexicon-sync": "pnpm run build && node dist/scripts/verify-lexicon-sync.js",
124
+ "typecheck": "tsc --noEmit",
125
+ "lsp": "node dist/src/lsp/server.js --stdio",
126
+ "repl": "node dist/scripts/repl.js",
127
+ "docs:api": "typedoc --options typedoc.json",
128
+ "prepublishOnly": "pnpm run clean && pnpm run build && pnpm run test",
129
+ "release:patch": "npm version patch && git push && git push --tags",
130
+ "release:minor": "npm version minor && git push && git push --tags",
131
+ "release:major": "npm version major && git push && git push --tags"
132
+ },
80
133
  "keywords": [
81
134
  "programming-language",
82
135
  "compiler",
@@ -110,7 +163,7 @@
110
163
  "ora": "^9.0.0",
111
164
  "p-limit": "^7.2.0",
112
165
  "semver": "^7.7.3",
113
- "tar": "^7.5.2",
166
+ "tar": "^7.5.8",
114
167
  "vscode-languageserver": "^9.0.1",
115
168
  "vscode-languageserver-textdocument": "^1.0.12",
116
169
  "vscode-languageserver-types": "^3.17.5"
@@ -143,40 +196,5 @@
143
196
  "publishConfig": {
144
197
  "access": "public"
145
198
  },
146
- "scripts": {
147
- "build": "tsc && node dist/scripts/build-peg.js",
148
- "build:browser": "pnpm run build && node scripts/build-browser.js",
149
- "build:watch": "tsc --watch",
150
- "clean": "rm -rf dist",
151
- "dev": "pnpm run build:watch",
152
- "test": "pnpm run build && pnpm run test:unit:run && pnpm run test:integration:run",
153
- "test:unit": "pnpm run build && pnpm run test:unit:run",
154
- "test:unit:run": "node --test 'dist/test/unit/**/*.test.js' 'dist/test/type-checker/**/*.test.js'",
155
- "test:unit:coverage": "pnpm run build && c8 node --test 'dist/test/unit/**/*.test.js' 'dist/test/type-checker/**/*.test.js'",
156
- "test:integration": "pnpm run build && pnpm run test:integration:run",
157
- "test:integration:run": "node --test 'dist/test/integration/**/*.test.js'",
158
- "test:golden": "pnpm run build && pnpm run test:golden:run",
159
- "test:golden:run": "node dist/scripts/golden.js",
160
- "test:property": "pnpm run build && pnpm run test:property:run",
161
- "test:property:run": "node --test 'dist/test/property/**/*.test.js'",
162
- "test:fuzz": "pnpm run build && pnpm run test:fuzz:run",
163
- "test:fuzz:run": "node --test 'dist/test/fuzz/**/*.test.js'",
164
- "test:lsp": "pnpm run build && pnpm run test:lsp:run",
165
- "test:lsp:run": "node dist/test/property/lsp-props.test.js",
166
- "test:converter": "pnpm run build && pnpm run test:converter:run",
167
- "test:converter:run": "node --test 'dist/test/policy-converter/**/*.test.js'",
168
- "coverage:report": "c8 report --reporter=html --reporter=text",
169
- "coverage:check": "c8 check-coverage --lines 75 --functions 75 --branches 70",
170
- "lint": "eslint src scripts --ext .ts",
171
- "lint:fix": "eslint src scripts --ext .ts --fix",
172
- "format": "prettier --write src scripts",
173
- "format:check": "prettier --check src scripts",
174
- "typecheck": "tsc --noEmit",
175
- "lsp": "node dist/src/lsp/server.js --stdio",
176
- "repl": "node dist/scripts/repl.js",
177
- "docs:api": "typedoc --options typedoc.json",
178
- "release:patch": "npm version patch && git push && git push --tags",
179
- "release:minor": "npm version minor && git push && git push --tags",
180
- "release:major": "npm version major && git push && git push --tags"
181
- }
182
- }
199
+ "packageManager": "pnpm@10.28.0+sha512.05df71d1421f21399e053fde567cea34d446fa02c76571441bfc1c7956e98e363088982d940465fd34480d4d90a0668bc12362f8aa88000a64e83d0b0e47be48"
200
+ }