@aster-cloud/aster-lang-ts 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/src/config/config-service.d.ts +4 -2
  3. package/dist/src/config/config-service.d.ts.map +1 -1
  4. package/dist/src/config/config-service.js +9 -6
  5. package/dist/src/config/config-service.js.map +1 -1
  6. package/dist/src/lsp/completion.d.ts +0 -23
  7. package/dist/src/lsp/completion.d.ts.map +1 -1
  8. package/dist/src/lsp/completion.js +2 -46
  9. package/dist/src/lsp/completion.js.map +1 -1
  10. package/dist/src/lsp/diagnostics.d.ts.map +1 -1
  11. package/dist/src/lsp/diagnostics.js +6 -6
  12. package/dist/src/lsp/diagnostics.js.map +1 -1
  13. package/dist/src/lsp/log-sink.d.ts +21 -0
  14. package/dist/src/lsp/log-sink.d.ts.map +1 -0
  15. package/dist/src/lsp/log-sink.js +37 -0
  16. package/dist/src/lsp/log-sink.js.map +1 -0
  17. package/dist/src/lsp/member-completion.d.ts +59 -0
  18. package/dist/src/lsp/member-completion.d.ts.map +1 -0
  19. package/dist/src/lsp/member-completion.js +112 -0
  20. package/dist/src/lsp/member-completion.js.map +1 -0
  21. package/dist/src/lsp/parse-document.d.ts +5 -0
  22. package/dist/src/lsp/parse-document.d.ts.map +1 -1
  23. package/dist/src/lsp/parse-document.js +8 -1
  24. package/dist/src/lsp/parse-document.js.map +1 -1
  25. package/dist/src/lsp/resolution.d.ts +6 -0
  26. package/dist/src/lsp/resolution.d.ts.map +1 -1
  27. package/dist/src/lsp/resolution.js +17 -0
  28. package/dist/src/lsp/resolution.js.map +1 -1
  29. package/dist/src/lsp/server.js +3 -0
  30. package/dist/src/lsp/server.js.map +1 -1
  31. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  32. package/dist/src/parser/expr-stmt-parser.js +8 -2
  33. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  34. package/dist/src/utils/logger.d.ts +11 -0
  35. package/dist/src/utils/logger.d.ts.map +1 -1
  36. package/dist/src/utils/logger.js +16 -2
  37. package/dist/src/utils/logger.js.map +1 -1
  38. package/dist/test/integration/lsp/lsp-member-completion.test.d.ts +2 -0
  39. package/dist/test/integration/lsp/lsp-member-completion.test.d.ts.map +1 -0
  40. package/dist/test/integration/lsp/lsp-member-completion.test.js +133 -0
  41. package/dist/test/integration/lsp/lsp-member-completion.test.js.map +1 -0
  42. package/dist/test/unit/config/config-service.test.js +13 -0
  43. package/dist/test/unit/config/config-service.test.js.map +1 -1
  44. package/dist/test/unit/lsp/log-levels.test.d.ts +2 -0
  45. package/dist/test/unit/lsp/log-levels.test.d.ts.map +1 -0
  46. package/dist/test/unit/lsp/log-levels.test.js +152 -0
  47. package/dist/test/unit/lsp/log-levels.test.js.map +1 -0
  48. package/dist/test/unit/lsp/resolution-completion.test.js +40 -3
  49. package/dist/test/unit/lsp/resolution-completion.test.js.map +1 -1
  50. package/dist/test/unit/parser/parser.test.js +19 -0
  51. package/dist/test/unit/parser/parser.test.js.map +1 -1
  52. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lsp-member-completion.test.js","sourceRoot":"","sources":["../../../../test/integration/lsp/lsp-member-completion.test.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ const ENV_KEYS = [
11
11
  'ASTER_CAPS',
12
12
  'ASTER_DEBUG_TYPES',
13
13
  'LOG_LEVEL',
14
+ 'ASTER_LOG_LEVEL',
14
15
  ];
15
16
  const ORIGINAL_ENV = Object.fromEntries(ENV_KEYS.map((key) => [key, process.env[key]]));
16
17
  const DEFAULT_HTTP_PREFIXES = ['IO.', 'Http.', 'AuthRepo.', 'ProfileSvc.', 'FeedSvc.'];
@@ -75,6 +76,18 @@ describe('ConfigService', () => {
75
76
  setEnv('LOG_LEVEL', 'verbose');
76
77
  const instance = ConfigService.getInstance();
77
78
  assert.strictEqual(instance.logLevel, LogLevel.INFO);
79
+ assert.strictEqual(instance.configuredLogLevel, undefined);
80
+ });
81
+ it('ASTER_LOG_LEVEL 优先于 LOG_LEVEL,并记录为显式配置', () => {
82
+ setEnv('LOG_LEVEL', 'error');
83
+ setEnv('ASTER_LOG_LEVEL', 'debug');
84
+ const instance = ConfigService.getInstance();
85
+ assert.strictEqual(instance.logLevel, LogLevel.DEBUG);
86
+ assert.strictEqual(instance.configuredLogLevel, LogLevel.DEBUG);
87
+ });
88
+ it('数字形式的日志级别视为非法', () => {
89
+ setEnv('ASTER_LOG_LEVEL', '2');
90
+ assert.strictEqual(ConfigService.getInstance().configuredLogLevel, undefined);
78
91
  });
79
92
  });
80
93
  describe('effect_config', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"config-service.test.js","sourceRoot":"","sources":["../../../../test/unit/config/config-service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-service.test.js","sourceRoot":"","sources":["../../../../test/unit/config/config-service.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=log-levels.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-levels.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/lsp/log-levels.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * LSP 日志级别:Logger 按真实级别映射到 window/logMessage 类型,
3
+ * 默认(WARN)不把 INFO / DEBUG 与 [TypecheckCache] 诊断日志推给客户端。
4
+ */
5
+ import { describe, it, afterEach } from 'node:test';
6
+ import assert from 'node:assert/strict';
7
+ import { LogLevel, Logger, installLogSink } from '../../../src/utils/logger.js';
8
+ import { createLspLogSink, installLspLogSink, LSP_DEFAULT_LOG_LEVEL } from '../../../src/lsp/log-sink.js';
9
+ import { computeDiagnostics, invalidateDiagnosticCache } from '../../../src/lsp/diagnostics.js';
10
+ import { ConfigService } from '../../../src/config/config-service.js';
11
+ import { ZH_CN } from '../../../src/config/lexicons/zh-CN.js';
12
+ import { DECLS, docOf, getOrParseWith } from './resolution-fixture.js';
13
+ /** 记录 logMessage 类型:1=Error 2=Warning 3=Info 4=Log */
14
+ function recordingConsole() {
15
+ const messages = [];
16
+ const push = (type) => (text) => void messages.push({ type, text });
17
+ return { console: { error: push(1), warn: push(2), info: push(3), log: push(4) }, messages };
18
+ }
19
+ const restores = [];
20
+ const envBackup = { ASTER_LOG_LEVEL: process.env.ASTER_LOG_LEVEL, LOG_LEVEL: process.env.LOG_LEVEL };
21
+ function install(sinkFactory) {
22
+ restores.push(sinkFactory());
23
+ }
24
+ afterEach(() => {
25
+ while (restores.length)
26
+ restores.pop()();
27
+ for (const [k, v] of Object.entries(envBackup)) {
28
+ if (v === undefined)
29
+ delete process.env[k];
30
+ else
31
+ process.env[k] = v;
32
+ }
33
+ ConfigService.resetForTesting();
34
+ });
35
+ function withEnv(key, value) {
36
+ if (value === undefined)
37
+ delete process.env[key];
38
+ else
39
+ process.env[key] = value;
40
+ ConfigService.resetForTesting();
41
+ }
42
+ describe('LSP 日志级别映射', () => {
43
+ it('默认 WARN:INFO / DEBUG 不产生 logMessage', () => {
44
+ withEnv('ASTER_LOG_LEVEL', undefined);
45
+ withEnv('LOG_LEVEL', undefined);
46
+ const { console, messages } = recordingConsole();
47
+ install(() => installLspLogSink(console));
48
+ const logger = new Logger('typecheck', LogLevel.DEBUG);
49
+ logger.debug('d');
50
+ logger.info('i');
51
+ assert.deepEqual(messages, []);
52
+ assert.equal(LSP_DEFAULT_LOG_LEVEL, LogLevel.WARN);
53
+ });
54
+ it('WARN 产生 type 2,ERROR 产生 type 1,且内容为 JSON 行', () => {
55
+ withEnv('ASTER_LOG_LEVEL', undefined);
56
+ withEnv('LOG_LEVEL', undefined);
57
+ const { console, messages } = recordingConsole();
58
+ install(() => installLspLogSink(console));
59
+ const logger = new Logger('typecheck');
60
+ logger.warn('w');
61
+ logger.error('e', new Error('boom'));
62
+ assert.deepEqual(messages.map((m) => m.type), [2, 1]);
63
+ assert.equal(JSON.parse(messages[0].text).level, 'WARN');
64
+ assert.equal(JSON.parse(messages[1].text).error, 'boom');
65
+ });
66
+ it('ASTER_LOG_LEVEL 可调高:INFO→3,DEBUG→4', () => {
67
+ withEnv('ASTER_LOG_LEVEL', 'debug');
68
+ const { console, messages } = recordingConsole();
69
+ install(() => installLspLogSink(console));
70
+ const logger = new Logger('typecheck');
71
+ logger.info('i');
72
+ logger.debug('d');
73
+ assert.deepEqual(messages.map((m) => m.type), [3, 4]);
74
+ });
75
+ it('ASTER_LOG_LEVEL=error 压低到只发 ERROR', () => {
76
+ withEnv('ASTER_LOG_LEVEL', 'error');
77
+ const { console, messages } = recordingConsole();
78
+ install(() => installLspLogSink(console));
79
+ const logger = new Logger('x');
80
+ logger.warn('w');
81
+ logger.error('e');
82
+ assert.deepEqual(messages.map((m) => m.type), [1]);
83
+ });
84
+ it('落点恢复后回到 stderr 行为', () => {
85
+ const { console, messages } = recordingConsole();
86
+ const restore = installLogSink(createLspLogSink(console, LogLevel.DEBUG));
87
+ restore();
88
+ const original = globalThis.console.error;
89
+ const seen = [];
90
+ globalThis.console.error = (line) => void seen.push(line);
91
+ try {
92
+ new Logger('x', LogLevel.INFO).info('cli');
93
+ }
94
+ finally {
95
+ globalThis.console.error = original;
96
+ }
97
+ assert.equal(messages.length, 0);
98
+ assert.equal(seen.length, 1);
99
+ });
100
+ it('CLI 默认不安装落点:INFO 仍写 stderr', () => {
101
+ const original = globalThis.console.error;
102
+ const seen = [];
103
+ globalThis.console.error = (line) => void seen.push(String(line));
104
+ try {
105
+ new Logger('cli', LogLevel.INFO).info('hello');
106
+ new Logger('cli', LogLevel.INFO).debug('hidden');
107
+ }
108
+ finally {
109
+ globalThis.console.error = original;
110
+ }
111
+ assert.equal(seen.length, 1);
112
+ assert.equal(JSON.parse(seen[0]).level, 'INFO');
113
+ });
114
+ });
115
+ describe('[TypecheckCache] 诊断日志', () => {
116
+ const GOOD = ['规则 检查 给定 x 作为 司机,产出 整数:', ' 返回 x.alter。', ''];
117
+ async function runTwice() {
118
+ const doc = docOf([...DECLS, ...GOOD]);
119
+ const getOrParse = getOrParseWith(ZH_CN);
120
+ await computeDiagnostics(doc.document, getOrParse, ZH_CN);
121
+ invalidateDiagnosticCache(doc.document.uri);
122
+ await computeDiagnostics(doc.document, getOrParse, ZH_CN);
123
+ }
124
+ it('默认级别下不输出,也不写 stderr', async () => {
125
+ withEnv('ASTER_LOG_LEVEL', undefined);
126
+ withEnv('LOG_LEVEL', undefined);
127
+ const { console, messages } = recordingConsole();
128
+ install(() => installLspLogSink(console));
129
+ const original = globalThis.console.error;
130
+ const stderr = [];
131
+ globalThis.console.error = (...a) => void stderr.push(a);
132
+ try {
133
+ await runTwice();
134
+ }
135
+ finally {
136
+ globalThis.console.error = original;
137
+ }
138
+ assert.deepEqual(messages.filter((m) => m.text.includes('TypecheckCache')), []);
139
+ assert.deepEqual(stderr.filter((a) => String(a).includes('TypecheckCache')), []);
140
+ });
141
+ it('调到 DEBUG 后以 type 4 输出(缓存写入与命中)', async () => {
142
+ withEnv('ASTER_LOG_LEVEL', 'debug');
143
+ const { console, messages } = recordingConsole();
144
+ install(() => installLspLogSink(console));
145
+ await runTwice();
146
+ const cache = messages.filter((m) => m.text.includes('[TypecheckCache]'));
147
+ assert.ok(cache.length >= 1, '应至少有一条 TypecheckCache 日志');
148
+ assert.ok(cache.every((m) => m.type === 4));
149
+ assert.ok(cache.some((m) => m.text.includes('Cached')));
150
+ });
151
+ });
152
+ //# sourceMappingURL=log-levels.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-levels.test.js","sourceRoot":"","sources":["../../../../test/unit/lsp/log-levels.test.ts"],"names":[],"mappings":"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"}
@@ -116,11 +116,48 @@ describe('构造字段补全(`T with …` 的字段名位置,#248)', () =>
116
116
  assert.deepEqual(labels(items), ['name']);
117
117
  });
118
118
  });
119
+ describe('成员位置识别(cloud#660 第 5 轮)', () => {
120
+ it('★行中:`x.` 后还有内容,按接收者类型补全,textEdit 为光标处空范围', () => {
121
+ const line = ' 返回 x. 加 1。';
122
+ const at = ' 返回 x.'.length;
123
+ const doc = docOf([...DECLS, '规则 f 给定 x 作为 司机,产出 整数:', line, '']);
124
+ const items = completeAt(doc, DECLS.length + 1, at);
125
+ assert.deepEqual(labels(items), ['alter', 'name']);
126
+ assert.deepEqual(items.find((i) => i.label === 'alter')?.textEdit, {
127
+ range: { start: { line: DECLS.length + 1, character: at }, end: { line: DECLS.length + 1, character: at } }, newText: 'alter',
128
+ });
129
+ });
130
+ it('★带前缀:`x.al` 的 textEdit 覆盖前缀 al,词汇本地化写法', () => {
131
+ const line = ' 返回 x.al';
132
+ const doc = docOf([...DECLS, '规则 f 给定 x 作为 司机,产出 整数:', line, '']);
133
+ const items = completeAt(doc, DECLS.length + 1, line.length);
134
+ assert.deepEqual(labels(items), ['alter', 'name']);
135
+ assert.equal(items[0].textEdit?.range.start.character, line.length - 2);
136
+ });
137
+ it('★未完成的块头 `如果 x.`(zh 句末为「。」):按参数类型补全', () => {
138
+ for (const line of [' 如果 x.', ' 如果 x.al']) {
139
+ const doc = docOf([...DECLS, '规则 f 给定 x 作为 司机,产出 整数:', line, '']);
140
+ assert.deepEqual(labels(completeAt(doc, DECLS.length + 1, line.length)), ['alter', 'name'], line);
141
+ }
142
+ });
143
+ it('块头后已有缩进的块体:仍可推断', () => {
144
+ const doc = docOf([...DECLS, '规则 f 给定 x 作为 司机,产出 整数:', ' 如果 x.', ' 返回 1。', ' 返回 0。', '']);
145
+ assert.deepEqual(labels(completeAt(doc, DECLS.length + 1, ' 如果 x.'.length)), ['alter', 'name']);
146
+ });
147
+ it('接收者是数字或光标不在成员位置:不给字段', () => {
148
+ const doc = docOf([...DECLS, '规则 f 给定 x 作为 司机,产出 整数:', ' 返回 1.', '']);
149
+ assert.ok(!labels(completeAt(doc, DECLS.length + 1, ' 返回 1.'.length)).includes('alter'));
150
+ });
151
+ });
119
152
  describe('语法不完整时降级', () => {
120
- it('★文档其它位置有语法错误:R2 跳过,不提供字段补全,不抛异常', () => {
153
+ it('★文档其它位置有语法错误:完整声明里的接收者类型仍可信,照常给字段补全(cloud#660 第 5 轮)', () => {
154
+ // 解析器只丢弃未完成的声明;x 所在的函数完整,其参数类型不受影响。诊断仍按原规则降级(见 resolution-diagnostics)。
121
155
  const items = labels(completeAfter('x 作为 司机', [' 返回 x.'], ['规则 坏 给定 h 作为 车主,产出 整数:', ' 返回 h.fahrer.al']));
122
- assert.ok(!items.includes('alter'), `语法不完整时不应给字段补全:${items}`);
123
- assert.ok(items.includes('返回'));
156
+ assert.deepEqual(items, ['alter', 'name']);
157
+ });
158
+ it('★未完成的那一行本身:`h.fahrer.al` 按 fahrer 的类型 Driver 补全(前缀 al)', () => {
159
+ const doc = docOf([...DECLS, '规则 坏 给定 h 作为 车主,产出 整数:', ' 返回 h.fahrer.al', '']);
160
+ assert.deepEqual(labels(completeAt(doc, DECLS.length + 1, ' 返回 h.fahrer.al'.length)), ['alter', 'name']);
124
161
  });
125
162
  it('半行输入不抛异常', () => {
126
163
  for (const tail of [' 返回 x.al', ' 返回 x', ' 令 y 定义为 司机 包含', ' 返回 .']) {
@@ -1 +1 @@
1
- {"version":3,"file":"resolution-completion.test.js","sourceRoot":"","sources":["../../../../test/unit/lsp/resolution-completion.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolution-completion.test.js","sourceRoot":"","sources":["../../../../test/unit/lsp/resolution-completion.test.ts"],"names":[],"mappings":"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"}
@@ -1384,6 +1384,25 @@ Rule greet given name as Text, produce Text:
1384
1384
  assert.equal(letStmt.name, 'result');
1385
1385
  });
1386
1386
  });
1387
+ /* 2026-10-30 生产复测 B2:`helper with 10`(with 调用后缀)编辑器报 "Expected identifier",
1388
+ * 服务端(Java,AsterParser.g4 malformedConstructField)报 "Expected 'set to' in construction"。
1389
+ * `X with` 一律按构造解析,首个字段位置不是名字时与 Java 同口径:只报一条 set to 诊断。 */
1390
+ describe('构造字段缺名字时与 Java 引擎同一诊断(复测 B2)', () => {
1391
+ const errors = (src) => parseWithDiag(src).diagnostics.filter(d => d.severity === 'error');
1392
+ it('★`helper with 10` → 只报 "Expected \'set to\' in construction"', () => {
1393
+ const errs = errors('Module a.b.\nRule helper given n as Int, produce Int:\n Return n plus 1.\n'
1394
+ + 'Rule f given x as Int, produce Int:\n Let y be helper with 10.\n Return y.\n');
1395
+ assert.deepEqual(errs.map(d => d.message), ["Expected 'set to' in construction"]);
1396
+ });
1397
+ it('字符串字面量作首个字段位置同样报 set to', () => {
1398
+ const errs = errors('Module a.b.\nDefine Box has v.\nRule f given x, produce:\n Return Box with "v".\n');
1399
+ assert.deepEqual(errs.map(d => d.message), ["Expected 'set to' in construction"]);
1400
+ });
1401
+ it('字段名后用 = 的既有诊断不变', () => {
1402
+ const errs = errors('Module a.b.\nDefine Box has v.\nRule f given x, produce:\n Return Box with v = 1.\n');
1403
+ assert.deepEqual(errs.map(d => d.message), ["Expected 'set to' in construction"]);
1404
+ });
1405
+ });
1387
1406
  describe('结构体位置式构造编译期报错', () => {
1388
1407
  it('对已声明类型用 TypeName(args) 应报错并提示用 with..set to', () => {
1389
1408
  const r = parseWithDiag('Module a.b.\nDefine Box has v, w.\nRule f given x, produce:\n Return Box(5, 6).\n');