@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 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.
@@ -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 agentRoot = (await findAgentRoot(dirname(filePath))) ?? dirname(filePath);
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
- const root = await findMergeRoot(agentRoot, entryFile);
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.0",
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": ">=18"
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.0",
50
- "@dot-agent/compiler": "0.10.0",
51
- "@dot-agent/tree-sitter": "0.10.0",
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
  }