@aster-cloud/aster-lang-ts 1.0.1 → 1.0.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 (82) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/dist/src/browser.d.ts +1 -1
  3. package/dist/src/browser.d.ts.map +1 -1
  4. package/dist/src/browser.js +1 -1
  5. package/dist/src/browser.js.map +1 -1
  6. package/dist/src/config/lexicons/overlay-loader.d.ts.map +1 -1
  7. package/dist/src/config/lexicons/overlay-loader.js +33 -10
  8. package/dist/src/config/lexicons/overlay-loader.js.map +1 -1
  9. package/dist/src/config/lexicons/regex-guard.d.ts +47 -0
  10. package/dist/src/config/lexicons/regex-guard.d.ts.map +1 -0
  11. package/dist/src/config/lexicons/regex-guard.js +126 -0
  12. package/dist/src/config/lexicons/regex-guard.js.map +1 -0
  13. package/dist/src/diagnostics/diagnostics.d.ts +2 -0
  14. package/dist/src/diagnostics/diagnostics.d.ts.map +1 -1
  15. package/dist/src/diagnostics/diagnostics.js +4 -0
  16. package/dist/src/diagnostics/diagnostics.js.map +1 -1
  17. package/dist/src/frontend/canonicalizer.d.ts.map +1 -1
  18. package/dist/src/frontend/canonicalizer.js +15 -4
  19. package/dist/src/frontend/canonicalizer.js.map +1 -1
  20. package/dist/src/frontend/keyword-translator.d.ts.map +1 -1
  21. package/dist/src/frontend/keyword-translator.js +11 -5
  22. package/dist/src/frontend/keyword-translator.js.map +1 -1
  23. package/dist/src/jvm/emitter.d.ts.map +1 -1
  24. package/dist/src/jvm/emitter.js +5 -2
  25. package/dist/src/jvm/emitter.js.map +1 -1
  26. package/dist/src/lsp/codeaction.d.ts.map +1 -1
  27. package/dist/src/lsp/codeaction.js +7 -6
  28. package/dist/src/lsp/codeaction.js.map +1 -1
  29. package/dist/src/lsp/diagnostics.d.ts.map +1 -1
  30. package/dist/src/lsp/diagnostics.js +12 -1
  31. package/dist/src/lsp/diagnostics.js.map +1 -1
  32. package/dist/src/lsp/navigation/shared.d.ts +6 -0
  33. package/dist/src/lsp/navigation/shared.d.ts.map +1 -1
  34. package/dist/src/lsp/navigation/shared.js +9 -1
  35. package/dist/src/lsp/navigation/shared.js.map +1 -1
  36. package/dist/src/lsp/type-guards.d.ts +7 -7
  37. package/dist/src/lsp/type-guards.d.ts.map +1 -1
  38. package/dist/src/lsp/type-guards.js.map +1 -1
  39. package/dist/src/lsp/workspace/index-manager.d.ts.map +1 -1
  40. package/dist/src/lsp/workspace/index-manager.js +12 -1
  41. package/dist/src/lsp/workspace/index-manager.js.map +1 -1
  42. package/dist/src/package/manifest-parser.d.ts.map +1 -1
  43. package/dist/src/package/manifest-parser.js +36 -12
  44. package/dist/src/package/manifest-parser.js.map +1 -1
  45. package/dist/src/package/package-cache.d.ts.map +1 -1
  46. package/dist/src/package/package-cache.js +29 -2
  47. package/dist/src/package/package-cache.js.map +1 -1
  48. package/dist/src/parser/context.d.ts +25 -0
  49. package/dist/src/parser/context.d.ts.map +1 -1
  50. package/dist/src/parser/context.js +28 -0
  51. package/dist/src/parser/context.js.map +1 -1
  52. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  53. package/dist/src/parser/decl-parser.js +23 -11
  54. package/dist/src/parser/decl-parser.js.map +1 -1
  55. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  56. package/dist/src/parser/expr-stmt-parser.js +11 -1
  57. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  58. package/dist/test/unit/corpus-version.test.d.ts +14 -0
  59. package/dist/test/unit/corpus-version.test.d.ts.map +1 -0
  60. package/dist/test/unit/corpus-version.test.js +37 -0
  61. package/dist/test/unit/corpus-version.test.js.map +1 -0
  62. package/dist/test/unit/emitter/emitter.test.js +10 -13
  63. package/dist/test/unit/emitter/emitter.test.js.map +1 -1
  64. package/dist/test/unit/lexicons/hi-in-export.test.d.ts +9 -0
  65. package/dist/test/unit/lexicons/hi-in-export.test.d.ts.map +1 -0
  66. package/dist/test/unit/lexicons/hi-in-export.test.js +38 -0
  67. package/dist/test/unit/lexicons/hi-in-export.test.js.map +1 -0
  68. package/dist/test/unit/manifest-corrupt-json.test.d.ts +8 -0
  69. package/dist/test/unit/manifest-corrupt-json.test.d.ts.map +1 -0
  70. package/dist/test/unit/manifest-corrupt-json.test.js +51 -0
  71. package/dist/test/unit/manifest-corrupt-json.test.js.map +1 -0
  72. package/dist/test/unit/parser/depth-limit.test.d.ts +9 -0
  73. package/dist/test/unit/parser/depth-limit.test.d.ts.map +1 -0
  74. package/dist/test/unit/parser/depth-limit.test.js +39 -0
  75. package/dist/test/unit/parser/depth-limit.test.js.map +1 -0
  76. package/dist/test/unit/parser/parser.test.js +40 -1
  77. package/dist/test/unit/parser/parser.test.js.map +1 -1
  78. package/dist/test/unit/regex-guard.test.d.ts +12 -0
  79. package/dist/test/unit/regex-guard.test.d.ts.map +1 -0
  80. package/dist/test/unit/regex-guard.test.js +66 -0
  81. package/dist/test/unit/regex-guard.test.js.map +1 -0
  82. package/package.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/lsp/navigation/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/lsp/navigation/shared.ts"],"names":[],"mappings":"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"}
@@ -2,17 +2,17 @@
2
2
  * LSP Navigation 类型守卫
3
3
  * 提供类型安全的类型检查函数,替代 `as any` 类型断言
4
4
  */
5
- import type { Func as AstFunc, Data as AstData, Enum as AstEnum, Block as AstBlock, Span } from '../types.js';
5
+ import type { Func as AstFunc, Data as AstData, Enum as AstEnum, Block as AstBlock, Declaration, Statement, Token, Span } from '../types.js';
6
6
  /**
7
7
  * 类型守卫:检查是否为带有 decls 的 Module
8
8
  */
9
9
  export declare function isModule(ast: unknown): ast is {
10
- decls: readonly any[];
10
+ decls: readonly Declaration[];
11
11
  };
12
12
  /**
13
13
  * 类型守卫:检查是否为 Token 数组
14
14
  */
15
- export declare function isTokenArray(tokens: unknown): tokens is readonly any[];
15
+ export declare function isTokenArray(tokens: unknown): tokens is readonly Token[];
16
16
  /**
17
17
  * 类型守卫:检查节点是否有 span 字段
18
18
  */
@@ -34,7 +34,7 @@ export declare function hasNameSpan(node: unknown): node is {
34
34
  /**
35
35
  * 安全地获取 AST 节点的 decls
36
36
  */
37
- export declare function getDecls(ast: unknown): readonly any[];
37
+ export declare function getDecls(ast: unknown): readonly Declaration[];
38
38
  /**
39
39
  * 类型守卫:检查是否为 Func 声明
40
40
  */
@@ -66,15 +66,15 @@ export declare function getVariantSpans(node: unknown): (Span | undefined)[];
66
66
  /**
67
67
  * 类型守卫:检查是否为 Statement 数组
68
68
  */
69
- export declare function isStatementArray(arr: unknown): arr is readonly any[];
69
+ export declare function isStatementArray(arr: unknown): arr is readonly Statement[];
70
70
  /**
71
71
  * 类型守卫:检查节点是否有 statements 字段
72
72
  */
73
73
  export declare function hasStatements(node: unknown): node is {
74
- statements: readonly any[];
74
+ statements: readonly Statement[];
75
75
  };
76
76
  /**
77
77
  * 安全地获取节点的 statements,如果不存在则返回空数组
78
78
  */
79
- export declare function getStatements(node: unknown): readonly any[];
79
+ export declare function getStatements(node: unknown): readonly Statement[];
80
80
  //# sourceMappingURL=type-guards.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../../../src/lsp/type-guards.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,IAAI,IAAI,OAAO,EACf,IAAI,IAAI,OAAO,EACf,IAAI,IAAI,OAAO,EACf,KAAK,IAAI,QAAQ,EACjB,IAAI,EACL,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI;IAAE,KAAK,EAAE,SAAS,GAAG,EAAE,CAAA;CAAE,CAOvE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,SAAS,GAAG,EAAE,CAEtE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAO7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI;IAAE,YAAY,EAAE,IAAI,EAAE,GAAG,SAAS,CAAA;CAAE,CAM3F;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI;IAAE,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAA;CAAE,CAMjF;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,EAAE,CAKrD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,OAAO,CAOxD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,OAAO,CAOxD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,OAAO,CAOxD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,QAAQ,CAO1D;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAEvD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAE3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAKnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,SAAS,GAAG,EAAE,CAEpE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI;IAAE,UAAU,EAAE,SAAS,GAAG,EAAE,CAAA;CAAE,CAOnF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,EAAE,CAE3D"}
1
+ {"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../../../src/lsp/type-guards.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,IAAI,IAAI,OAAO,EACf,IAAI,IAAI,OAAO,EACf,IAAI,IAAI,OAAO,EACf,KAAK,IAAI,QAAQ,EACjB,WAAW,EACX,SAAS,EACT,KAAK,EACL,IAAI,EACL,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI;IAAE,KAAK,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,CAO/E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,SAAS,KAAK,EAAE,CAExE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAO7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI;IAAE,YAAY,EAAE,IAAI,EAAE,GAAG,SAAS,CAAA;CAAE,CAM3F;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI;IAAE,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAA;CAAE,CAMjF;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,WAAW,EAAE,CAK7D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,OAAO,CAOxD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,OAAO,CAOxD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,OAAO,CAOxD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,QAAQ,CAO1D;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAEvD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAE3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAKnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,SAAS,SAAS,EAAE,CAE1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI;IAAE,UAAU,EAAE,SAAS,SAAS,EAAE,CAAA;CAAE,CAOzF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,SAAS,EAAE,CAEjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../../src/lsp/type-guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../../src/lsp/type-guards.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index-manager.d.ts","sourceRoot":"","sources":["../../../../src/lsp/workspace/index-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAc3D;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEnE;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,WAAW,EAAE,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CAc1E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAMpD;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA6BnE;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhE;AAuBD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAEjE;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAOjC"}
1
+ {"version":3,"file":"index-manager.d.ts","sourceRoot":"","sources":["../../../../src/lsp/workspace/index-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAc3D;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEnE;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,WAAW,EAAE,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CAc1E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAMpD;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA2CnE;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhE;AAuBD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAEjE;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAOjC"}
@@ -65,7 +65,18 @@ export function invalidateDocument(uri) {
65
65
  export async function loadIndex(indexPath) {
66
66
  try {
67
67
  const content = await fs.readFile(indexPath, 'utf-8');
68
- const data = JSON.parse(content);
68
+ const parsed = JSON.parse(content);
69
+ // Validate the persisted shape rather than blind-casting: a corrupt index
70
+ // file must not crash the LSP. Both fields must be arrays of [key, value]
71
+ // pairs; anything else is treated as "no usable index".
72
+ if (parsed === null ||
73
+ typeof parsed !== 'object' ||
74
+ !Array.isArray(parsed.indexByUri) ||
75
+ !Array.isArray(parsed.indexByModule)) {
76
+ console.error('[LSP Index] Ignoring malformed index file:', indexPath);
77
+ return false;
78
+ }
79
+ const data = parsed;
69
80
  indexByUri.clear();
70
81
  indexByModule.clear();
71
82
  for (const [uri, index] of data.indexByUri) {
@@ -1 +1 @@
1
- {"version":3,"file":"index-manager.js","sourceRoot":"","sources":["../../../../src/lsp/workspace/index-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index-manager.js","sourceRoot":"","sources":["../../../../src/lsp/workspace/index-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-parser.d.ts","sourceRoot":"","sources":["../../../src/package/manifest-parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAcnG;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,EAAE,CAyDvE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CAqGjE"}
1
+ {"version":3,"file":"manifest-parser.d.ts","sourceRoot":"","sources":["../../../src/package/manifest-parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAiCnG;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,EAAE,CA4DvE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CAqGjE"}
@@ -14,9 +14,30 @@ const __filename = fileURLToPath(import.meta.url);
14
14
  const __dirname = dirname(__filename);
15
15
  // 从dist/src/package回到项目根目录:../../../
16
16
  const schemaPath = join(__dirname, '..', '..', '..', 'manifest.schema.json');
17
- const schema = JSON.parse(readFileSync(schemaPath, 'utf-8'));
18
- const ajv = new Ajv({ strict: true, allErrors: true });
19
- const validateSchema = ajv.compile(schema);
17
+ // 懒加载并缓存编译后的校验函数。
18
+ // 之前在模块顶层直接 `JSON.parse(readFileSync(...))`:schema 文件缺失或
19
+ // 损坏会在 *import 时* 抛异常并使整个进程崩溃(无法降级为诊断)。改为
20
+ // 在首次解析 manifest 时再加载、用 try/catch 包裹,失败时返回一个永远
21
+ // 通过的 validator(让 schema 校验被跳过,语义校验仍生效)而不是崩溃。
22
+ let cachedValidateSchema = null;
23
+ let schemaLoadFailed = false;
24
+ function getValidateSchema() {
25
+ if (cachedValidateSchema)
26
+ return cachedValidateSchema;
27
+ if (schemaLoadFailed)
28
+ return null;
29
+ try {
30
+ const schema = JSON.parse(readFileSync(schemaPath, 'utf-8'));
31
+ const ajv = new Ajv({ strict: true, allErrors: true });
32
+ cachedValidateSchema = ajv.compile(schema);
33
+ return cachedValidateSchema;
34
+ }
35
+ catch {
36
+ // schema 文件缺失/损坏:记一次失败,跳过 schema 校验(语义校验仍跑)。
37
+ schemaLoadFailed = true;
38
+ return null;
39
+ }
40
+ }
20
41
  /**
21
42
  * 解析manifest.json文件
22
43
  *
@@ -60,16 +81,19 @@ export function parseManifest(filePath) {
60
81
  .build(),
61
82
  ];
62
83
  }
63
- // JSON Schema验证
64
- const isValid = validateSchema(manifest);
65
- if (!isValid && validateSchema.errors) {
66
- const diagnostics = [];
67
- for (const error of validateSchema.errors) {
68
- const fieldPath = error.instancePath || '/';
69
- const errorDiagnostic = mapAjvErrorToDiagnostic(error, fieldPath, manifest);
70
- diagnostics.push(errorDiagnostic);
84
+ // JSON Schema验证(schema 加载失败时跳过,仅靠语义校验兜底)
85
+ const validateSchema = getValidateSchema();
86
+ if (validateSchema) {
87
+ const isValid = validateSchema(manifest);
88
+ if (!isValid && validateSchema.errors) {
89
+ const diagnostics = [];
90
+ for (const error of validateSchema.errors) {
91
+ const fieldPath = error.instancePath || '/';
92
+ const errorDiagnostic = mapAjvErrorToDiagnostic(error, fieldPath, manifest);
93
+ diagnostics.push(errorDiagnostic);
94
+ }
95
+ return diagnostics;
71
96
  }
72
- return diagnostics;
73
97
  }
74
98
  // 语义验证
75
99
  const typedManifest = manifest;
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-parser.js","sourceRoot":"","sources":["../../../src/package/manifest-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest-parser.js","sourceRoot":"","sources":["../../../src/package/manifest-parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"package-cache.d.ts","sourceRoot":"","sources":["../../../src/package/package-cache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EACL,KAAK,UAAU,EAIhB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAOD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEjB,MAAM,EAAE,WAAW;IAS/B;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAyBvD;;;;;;OAMG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAI1D;;;;;;OAMG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,CAAC;IAyCzG;;;;;;OAMG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwB3E;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAiCpC"}
1
+ {"version":3,"file":"package-cache.d.ts","sourceRoot":"","sources":["../../../src/package/package-cache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EACL,KAAK,UAAU,EAIhB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AA8BD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEjB,MAAM,EAAE,WAAW;IAS/B;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IA4BvD;;;;;;OAMG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAI1D;;;;;;OAMG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,CAAC;IAyCzG;;;;;;OAMG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwB3E;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAoCpC"}
@@ -9,6 +9,27 @@ import { join } from 'node:path';
9
9
  import { extract } from 'tar';
10
10
  import { parseManifest } from './manifest-parser.js';
11
11
  import { DiagnosticCode, DiagnosticBuilder, dummyPosition, } from '../diagnostics/diagnostics.js';
12
+ /**
13
+ * 校验从磁盘 JSON 反序列化得到的对象是否符合 CacheMetadata 形状,
14
+ * 而非盲目 `as CacheMetadata`。损坏/被篡改的元数据返回 null,调用方按
15
+ * “缓存无效/过期”处理。
16
+ */
17
+ function parseCacheMetadata(json) {
18
+ let raw;
19
+ try {
20
+ raw = JSON.parse(json);
21
+ }
22
+ catch {
23
+ return null;
24
+ }
25
+ if (raw === null ||
26
+ typeof raw !== 'object' ||
27
+ typeof raw.cachedAt !== 'number' ||
28
+ typeof raw.version !== 'string') {
29
+ return null;
30
+ }
31
+ return raw;
32
+ }
12
33
  /**
13
34
  * 基于文件系统的包缓存管理器
14
35
  */
@@ -38,7 +59,10 @@ export class PackageCache {
38
59
  }
39
60
  try {
40
61
  const metadataJson = readFileSync(metadataPath, 'utf-8');
41
- const metadataContent = JSON.parse(metadataJson);
62
+ const metadataContent = parseCacheMetadata(metadataJson);
63
+ if (!metadataContent) {
64
+ return false;
65
+ }
42
66
  const cachedAt = metadataContent.cachedAt;
43
67
  const now = Date.now();
44
68
  if (now - cachedAt > this.ttl) {
@@ -145,7 +169,10 @@ export class PackageCache {
145
169
  }
146
170
  try {
147
171
  const metadataContent = await readFile(metadataPath, 'utf-8');
148
- const metadata = JSON.parse(metadataContent);
172
+ const metadata = parseCacheMetadata(metadataContent);
173
+ if (!metadata) {
174
+ continue;
175
+ }
149
176
  const now = Date.now();
150
177
  if (now - metadata.cachedAt > this.ttl) {
151
178
  const cachePath = join(packagePath, version);
@@ -1 +1 @@
1
- {"version":3,"file":"package-cache.js","sourceRoot":"","sources":["../../../src/package/package-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-cache.js","sourceRoot":"","sources":["../../../src/package/package-cache.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,32 @@ export interface ParserContext {
48
48
  popCompoundContext(): void;
49
49
  /** 检查是否在指定复合模式上下文内 */
50
50
  inCompoundContext(opener: string): boolean;
51
+ /** 当前递归下降嵌套深度(用于防止栈溢出 / DoS) */
52
+ recursionDepth: number;
53
+ /**
54
+ * 进入一层递归下降。超过 MAX_RECURSION_DEPTH 时抛出可恢复的
55
+ * DiagnosticError(而非原生 RangeError),调用方应在 finally 中
56
+ * 调用 exitRecursion()。
57
+ */
58
+ enterRecursion(): void;
59
+ /** 退出一层递归下降。 */
60
+ exitRecursion(): void;
51
61
  }
62
+ /**
63
+ * 递归下降解析器允许的最大嵌套深度。
64
+ *
65
+ * 单线程 JS 无法对深递归做真正的超时;恶意/病态输入(如 5000 个嵌套
66
+ * 括号)会撑爆原生调用栈并以 RangeError 崩溃。在解析器入口处显式计数,
67
+ * 超限时抛出**可恢复**的 DiagnosticError,让 decl-parser 的恢复逻辑捕获
68
+ * 并降级为诊断信息,而不是让整个进程崩溃。
69
+ *
70
+ * 选值说明:每层括号嵌套会走完整条表达式优先级链(parseExpr→parseOr→
71
+ * parseAnd→parseNot→parseComparison→parseAddition→parseMultiplication→
72
+ * parsePrimary,外加 peek/assignSpan 等辅助帧),约 10+ 原生栈帧/层。Node
73
+ * 默认原生栈约 ~12500 个简单帧,故每层成本越高,安全上限越低。取 300 在
74
+ * “远高于任何合法源码真实嵌套需求”与“远低于原生溢出阈值”之间留足余量。
75
+ */
76
+ export declare const MAX_RECURSION_DEPTH = 300;
52
77
  /**
53
78
  * 将关键字短语拆分为单词数组
54
79
  * @param phrase 关键字短语(如 "module is")
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/parser/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKlD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACxC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACvE,+BAA+B;IAC/B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,iCAAiC;IACjC,UAAU,IAAI,IAAI,CAAC;IACnB,6CAA6C;IAC7C,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAClC,iCAAiC;IACjC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC7B,kCAAkC;IAClC,IAAI,IAAI,KAAK,CAAC;IACd,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACrD,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IAChD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;IAChD,QAAQ,IAAI,KAAK,CAAC;IAClB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,aAAa,IAAI,IAAI,CAAC;IACtB,eAAe,IAAI,IAAI,CAAC;IACxB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC,eAAe,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC;IACnC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IAChD,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5D,gBAAgB;IAChB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,gBAAgB;IAChB,kBAAkB,IAAI,IAAI,CAAC;IAC3B,sBAAsB;IACtB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5C;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAEhD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUzE;AAID,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,CA0K9F"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/parser/context.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,21 @@ import { TokenKind } from '../frontend/tokens.js';
2
2
  import { ConfigService } from '../config/config-service.js';
3
3
  import { Diagnostics } from '../diagnostics/diagnostics.js';
4
4
  import { createLogger } from '../utils/logger.js';
5
+ /**
6
+ * 递归下降解析器允许的最大嵌套深度。
7
+ *
8
+ * 单线程 JS 无法对深递归做真正的超时;恶意/病态输入(如 5000 个嵌套
9
+ * 括号)会撑爆原生调用栈并以 RangeError 崩溃。在解析器入口处显式计数,
10
+ * 超限时抛出**可恢复**的 DiagnosticError,让 decl-parser 的恢复逻辑捕获
11
+ * 并降级为诊断信息,而不是让整个进程崩溃。
12
+ *
13
+ * 选值说明:每层括号嵌套会走完整条表达式优先级链(parseExpr→parseOr→
14
+ * parseAnd→parseNot→parseComparison→parseAddition→parseMultiplication→
15
+ * parsePrimary,外加 peek/assignSpan 等辅助帧),约 10+ 原生栈帧/层。Node
16
+ * 默认原生栈约 ~12500 个简单帧,故每层成本越高,安全上限越低。取 300 在
17
+ * “远高于任何合法源码真实嵌套需求”与“远低于原生溢出阈值”之间留足余量。
18
+ */
19
+ export const MAX_RECURSION_DEPTH = 300;
5
20
  /**
6
21
  * 将关键字短语拆分为单词数组
7
22
  * @param phrase 关键字短语(如 "module is")
@@ -203,6 +218,19 @@ export function createParserContext(tokens, lexicon) {
203
218
  inCompoundContext: (opener) => {
204
219
  return compoundContextStack.includes(opener);
205
220
  },
221
+ recursionDepth: 0,
222
+ enterRecursion: () => {
223
+ ctx.recursionDepth++;
224
+ if (ctx.recursionDepth > MAX_RECURSION_DEPTH) {
225
+ // Throw a recoverable DiagnosticError (NOT a raw RangeError) so the
226
+ // decl-parser recovery loop can catch it and continue.
227
+ Diagnostics.nestingTooDeep(MAX_RECURSION_DEPTH, ctx.peek().start).throw();
228
+ }
229
+ },
230
+ exitRecursion: () => {
231
+ if (ctx.recursionDepth > 0)
232
+ ctx.recursionDepth--;
233
+ },
206
234
  };
207
235
  return ctx;
208
236
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/parser/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/parser/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"decl-parser.d.ts","sourceRoot":"","sources":["../../../src/parser/decl-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAyC,WAAW,EAAE,KAAK,EAAQ,MAAM,aAAa,CAAC;AAC/G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAsIrD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,EAC1C,SAAS,EAAE,MAAM,IAAI,EACrB,cAAc,EAAE,MAAM,MAAM,GAC3B,WAAW,CA4Bb;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,EAC1C,SAAS,EAAE,MAAM,IAAI,EACrB,cAAc,EAAE,MAAM,MAAM,GAC3B,WAAW,CAiCb;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,EAC1C,aAAa,EAAE,MAAM,IAAI,EACzB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,EAChD,aAAa,EAAE,MAAM,IAAI,EACzB,UAAU,EAAE,MAAM,MAAM,EACxB,WAAW,GAAE,SAAS,UAAU,EAAO,EACvC,YAAY,CAAC,EAAE,KAAK,GACnB,WAAW,CAiRb;AA2CD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,WAAW,GACjB;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,CA0GrD"}
1
+ {"version":3,"file":"decl-parser.d.ts","sourceRoot":"","sources":["../../../src/parser/decl-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAyC,WAAW,EAAE,KAAK,EAAQ,MAAM,aAAa,CAAC;AAC/G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAsIrD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,EAC1C,SAAS,EAAE,MAAM,IAAI,EACrB,cAAc,EAAE,MAAM,MAAM,GAC3B,WAAW,CA4Bb;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,EAC1C,SAAS,EAAE,MAAM,IAAI,EACrB,cAAc,EAAE,MAAM,MAAM,GAC3B,WAAW,CAiCb;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,EAC1C,aAAa,EAAE,MAAM,IAAI,EACzB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,EAChD,aAAa,EAAE,MAAM,IAAI,EACzB,UAAU,EAAE,MAAM,MAAM,EACxB,WAAW,GAAE,SAAS,UAAU,EAAO,EACvC,YAAY,CAAC,EAAE,KAAK,GACnB,WAAW,CA4Rb;AA2CD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,WAAW,GACjB;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,CA0GrD"}
@@ -288,25 +288,37 @@ export function parseFuncDecl(ctx, error, expectCommaOr, expectKeyword, expectNe
288
288
  expectCommaOr();
289
289
  else if (ctx.at(TokenKind.COMMA))
290
290
  ctx.next();
291
- // 期望 'produce' 和返回类型
291
+ // `produce` 子句可选(与 core grammar `(PRODUCE annotatedType?)?` 对齐,ADR 0019 G0):
292
+ // - `produce T`:显式返回类型
293
+ // - `produce`(无类型)/ `produce .` / `produce :`:返回类型推断
294
+ // - 完全省略 produce(`Rule greet given name:` 直接接块/`.`/`It performs`):同样推断
295
+ // 省略 produce 时直接走下方场景分派(COLON 块 / DOT 无体 / It performs)。
292
296
  skipLayoutTrivia();
293
297
  const produceTok = ctx.peek();
294
- expectKeyword(KW.PRODUCE, "Expected 'produce' and return type");
295
- skipLayoutTrivia();
296
298
  let retType;
297
299
  let retTypeInferred = false;
298
- if (ctx.at(TokenKind.COLON) ||
299
- ctx.at(TokenKind.DOT) ||
300
- ctx.isKeyword(KW.WITH) ||
301
- ctx.isKeywordSeq(KW.PERFORMS) ||
302
- (tokLowerAt(ctx, ctx.index) === 'it' && tokLowerAt(ctx, ctx.index + 1) === 'performs')) {
300
+ if (ctx.isKeyword(KW.PRODUCE)) {
301
+ ctx.nextWords(kwParts(KW.PRODUCE));
302
+ skipLayoutTrivia();
303
+ if (ctx.at(TokenKind.COLON) ||
304
+ ctx.at(TokenKind.DOT) ||
305
+ ctx.isKeyword(KW.WITH) ||
306
+ ctx.isKeywordSeq(KW.PERFORMS) ||
307
+ (tokLowerAt(ctx, ctx.index) === 'it' && tokLowerAt(ctx, ctx.index + 1) === 'performs')) {
308
+ retTypeInferred = true;
309
+ retType = Node.TypeName('Unknown');
310
+ assignSpan(retType, spanFromTokens(produceTok, produceTok));
311
+ }
312
+ else {
313
+ retType = parseType(ctx, error);
314
+ }
315
+ }
316
+ else {
317
+ // 完全省略 produce:返回类型推断,直接进入函数体/效果场景分派。
303
318
  retTypeInferred = true;
304
319
  retType = Node.TypeName('Unknown');
305
320
  assignSpan(retType, spanFromTokens(produceTok, produceTok));
306
321
  }
307
- else {
308
- retType = parseType(ctx, error);
309
- }
310
322
  let effects = [];
311
323
  // 允许在返回类型后声明效果:produce Result ... with IO.
312
324
  if (ctx.isKeyword(KW.WITH)) {