@dot-agent/language-server 0.10.0 → 0.10.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.
- package/CHANGELOG.md +29 -0
- package/features/diagnostics.js +11 -2
- package/package.json +5 -8
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@dot-agent/language-server` will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## [0.10.2] - 2026-07-16
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- **Diagnosing a `.behavior` file outside any agent bundle no longer crawls the filesystem.** When no `*.description` agent root was found, `diagnose()` fell back to the file's own directory and still ran the backward merge-edge scan (`findMergeRoot` → `collectBehaviorFiles`), a recursive depth-6 `readdir`. For a lone file opened at or near the filesystem root / home directory that meant walking huge protected trees — slow enough to time out and, on macOS, tripping the "access data from other apps" (TCC) permission prompt. The merge-edge walk is now gated on actually finding an agent bundle; a file outside any bundle has no merge graph and gets local-only lint.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
- `@dot-agent/parser-dsl` and `@dot-agent/compiler` pins bumped to `0.10.2` to pick up the browser-bundle fix from this release round. `@dot-agent/tree-sitter` stays `0.10.1`.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## [0.10.1] - 2026-07-14
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
- Pin-only release: `@dot-agent/parser-dsl`, `@dot-agent/compiler`, and `@dot-agent/tree-sitter` pins bumped to `0.10.1` to pick up their fixes from this release round. No code change in this package — it ships JS source directly and has no build step.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## [0.10.0] - 2026-07-10
|
|
28
|
+
|
|
29
|
+
- First public release on npm. See repository history for prior development.
|
package/features/diagnostics.js
CHANGED
|
@@ -63,7 +63,8 @@ export async function diagnose(uri, langId, text) {
|
|
|
63
63
|
// uses to define an agent bundle. Falls back to the file's own directory
|
|
64
64
|
// when no manifest is found, e.g. a lone .behavior file opened outside
|
|
65
65
|
// an agent.
|
|
66
|
-
const
|
|
66
|
+
const foundRoot = await findAgentRoot(dirname(filePath));
|
|
67
|
+
const agentRoot = foundRoot ?? dirname(filePath);
|
|
67
68
|
const entryFile = relative(agentRoot, filePath);
|
|
68
69
|
|
|
69
70
|
// behavior: run consolidated lint when the file uses merge declarations
|
|
@@ -74,7 +75,15 @@ export async function diagnose(uri, langId, text) {
|
|
|
74
75
|
// consolidated state set, so cross-file transitions don't show as
|
|
75
76
|
// dangling (E005) and this fragment isn't wrongly held to whole-tree
|
|
76
77
|
// rules like E016 (init required) that only make sense at the root.
|
|
77
|
-
|
|
78
|
+
//
|
|
79
|
+
// Only do this when we actually found an agent bundle (a *.description
|
|
80
|
+
// marker). Without one, `agentRoot` is just the file's own directory,
|
|
81
|
+
// and findMergeRoot's backward scan (collectBehaviorFiles) would crawl
|
|
82
|
+
// it recursively — for a lone file opened at `/` or under the home dir
|
|
83
|
+
// that means a huge filesystem walk that trips macOS TCC prompts and
|
|
84
|
+
// times out. A file outside any bundle has no merge graph anyway, so
|
|
85
|
+
// local-only lint below is the correct answer.
|
|
86
|
+
const root = foundRoot ? await findMergeRoot(agentRoot, entryFile) : null;
|
|
78
87
|
if (root) {
|
|
79
88
|
try {
|
|
80
89
|
const { mergedText } = await consolidate(agentRoot, root);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dot-agent/language-server",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.2",
|
|
4
4
|
"description": "LSP server for .agent DSL files",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": {
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"type": "module",
|
|
38
38
|
"main": "server.js",
|
|
39
39
|
"engines": {
|
|
40
|
-
"node": ">=
|
|
40
|
+
"node": ">=24.0.0"
|
|
41
41
|
},
|
|
42
42
|
"scripts": {
|
|
43
43
|
"start": "node server.js --stdio",
|
|
@@ -46,16 +46,13 @@
|
|
|
46
46
|
"test:watch": "vitest"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@dot-agent/parser-dsl": "0.10.
|
|
50
|
-
"@dot-agent/compiler": "0.10.
|
|
51
|
-
"@dot-agent/tree-sitter": "0.10.
|
|
49
|
+
"@dot-agent/parser-dsl": "0.10.2",
|
|
50
|
+
"@dot-agent/compiler": "0.10.2",
|
|
51
|
+
"@dot-agent/tree-sitter": "0.10.1",
|
|
52
52
|
"vscode-languageserver": "^10.0.0",
|
|
53
53
|
"vscode-languageserver-textdocument": "^1.0.12",
|
|
54
54
|
"web-tree-sitter": "^0.26.9"
|
|
55
55
|
},
|
|
56
|
-
"devDependencies": {
|
|
57
|
-
"vitest": "^1.6.0"
|
|
58
|
-
},
|
|
59
56
|
"publishConfig": {
|
|
60
57
|
"access": "public"
|
|
61
58
|
}
|