homegraph 1.1.1 → 1.1.3

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 (179) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +243 -243
  3. package/dist/bin/homegraph.js +371 -9
  4. package/dist/bin/homegraph.js.map +1 -1
  5. package/dist/db/migrations.js +18 -18
  6. package/dist/db/queries.js +140 -140
  7. package/dist/db/schema.sql +152 -152
  8. package/dist/directory.js +5 -5
  9. package/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
  10. package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  11. package/dist/installer/instructions-template.js +9 -9
  12. package/dist/installer/targets/deveco.d.ts +7 -2
  13. package/dist/installer/targets/deveco.d.ts.map +1 -1
  14. package/dist/installer/targets/deveco.js +62 -32
  15. package/dist/installer/targets/deveco.js.map +1 -1
  16. package/dist/installer/targets/shared.d.ts +5 -6
  17. package/dist/installer/targets/shared.d.ts.map +1 -1
  18. package/dist/installer/targets/shared.js +5 -6
  19. package/dist/installer/targets/shared.js.map +1 -1
  20. package/dist/mcp/liveness-watchdog.js +16 -16
  21. package/dist/mcp/server-instructions.js +69 -69
  22. package/dist/mcp/tools.d.ts +17 -4
  23. package/dist/mcp/tools.d.ts.map +1 -1
  24. package/dist/mcp/tools.js +192 -22
  25. package/dist/mcp/tools.js.map +1 -1
  26. package/dist/reasoning/reasoner.js +32 -32
  27. package/dist/spec/config.d.ts +43 -0
  28. package/dist/spec/config.d.ts.map +1 -0
  29. package/dist/spec/config.js +275 -0
  30. package/dist/spec/config.js.map +1 -0
  31. package/dist/spec/db/commit-node.d.ts +23 -0
  32. package/dist/spec/db/commit-node.d.ts.map +1 -0
  33. package/dist/spec/db/commit-node.js +62 -0
  34. package/dist/spec/db/commit-node.js.map +1 -0
  35. package/dist/spec/db/fragment-node.d.ts +23 -0
  36. package/dist/spec/db/fragment-node.d.ts.map +1 -0
  37. package/dist/spec/db/fragment-node.js +120 -0
  38. package/dist/spec/db/fragment-node.js.map +1 -0
  39. package/dist/spec/db/fts.d.ts +60 -0
  40. package/dist/spec/db/fts.d.ts.map +1 -0
  41. package/dist/spec/db/fts.js +285 -0
  42. package/dist/spec/db/fts.js.map +1 -0
  43. package/dist/spec/db/index.d.ts +13 -0
  44. package/dist/spec/db/index.d.ts.map +1 -0
  45. package/dist/spec/db/index.js +50 -0
  46. package/dist/spec/db/index.js.map +1 -0
  47. package/dist/spec/db/relations.d.ts +55 -0
  48. package/dist/spec/db/relations.d.ts.map +1 -0
  49. package/dist/spec/db/relations.js +158 -0
  50. package/dist/spec/db/relations.js.map +1 -0
  51. package/dist/spec/db/schema.d.ts +30 -0
  52. package/dist/spec/db/schema.d.ts.map +1 -0
  53. package/dist/spec/db/schema.js +87 -0
  54. package/dist/spec/db/schema.js.map +1 -0
  55. package/dist/spec/db/schema.sql +107 -0
  56. package/dist/spec/db/spec-node.d.ts +41 -0
  57. package/dist/spec/db/spec-node.d.ts.map +1 -0
  58. package/dist/spec/db/spec-node.js +114 -0
  59. package/dist/spec/db/spec-node.js.map +1 -0
  60. package/dist/spec/evolve/impact-locator.d.ts +13 -0
  61. package/dist/spec/evolve/impact-locator.d.ts.map +1 -0
  62. package/dist/spec/evolve/impact-locator.js +25 -0
  63. package/dist/spec/evolve/impact-locator.js.map +1 -0
  64. package/dist/spec/evolve/llm-client.d.ts +50 -0
  65. package/dist/spec/evolve/llm-client.d.ts.map +1 -0
  66. package/dist/spec/evolve/llm-client.js +176 -0
  67. package/dist/spec/evolve/llm-client.js.map +1 -0
  68. package/dist/spec/evolve/logic-checker.d.ts +12 -0
  69. package/dist/spec/evolve/logic-checker.d.ts.map +1 -0
  70. package/dist/spec/evolve/logic-checker.js +48 -0
  71. package/dist/spec/evolve/logic-checker.js.map +1 -0
  72. package/dist/spec/evolve/pipeline.d.ts +40 -0
  73. package/dist/spec/evolve/pipeline.d.ts.map +1 -0
  74. package/dist/spec/evolve/pipeline.js +314 -0
  75. package/dist/spec/evolve/pipeline.js.map +1 -0
  76. package/dist/spec/evolve/spec-rewriter.d.ts +42 -0
  77. package/dist/spec/evolve/spec-rewriter.d.ts.map +1 -0
  78. package/dist/spec/evolve/spec-rewriter.js +254 -0
  79. package/dist/spec/evolve/spec-rewriter.js.map +1 -0
  80. package/dist/spec/graph/queries.d.ts +58 -0
  81. package/dist/spec/graph/queries.d.ts.map +1 -0
  82. package/dist/spec/graph/queries.js +215 -0
  83. package/dist/spec/graph/queries.js.map +1 -0
  84. package/dist/spec/mining/diff-parser.d.ts +33 -0
  85. package/dist/spec/mining/diff-parser.d.ts.map +1 -0
  86. package/dist/spec/mining/diff-parser.js +166 -0
  87. package/dist/spec/mining/diff-parser.js.map +1 -0
  88. package/dist/spec/mining/git-scanner.d.ts +91 -0
  89. package/dist/spec/mining/git-scanner.d.ts.map +1 -0
  90. package/dist/spec/mining/git-scanner.js +266 -0
  91. package/dist/spec/mining/git-scanner.js.map +1 -0
  92. package/dist/spec/mining/pipeline.d.ts +53 -0
  93. package/dist/spec/mining/pipeline.d.ts.map +1 -0
  94. package/dist/spec/mining/pipeline.js +165 -0
  95. package/dist/spec/mining/pipeline.js.map +1 -0
  96. package/dist/spec/mining/scope-resolver.d.ts +45 -0
  97. package/dist/spec/mining/scope-resolver.d.ts.map +1 -0
  98. package/dist/spec/mining/scope-resolver.js +103 -0
  99. package/dist/spec/mining/scope-resolver.js.map +1 -0
  100. package/dist/spec/mining/spec-extractor.d.ts +69 -0
  101. package/dist/spec/mining/spec-extractor.d.ts.map +1 -0
  102. package/dist/spec/mining/spec-extractor.js +369 -0
  103. package/dist/spec/mining/spec-extractor.js.map +1 -0
  104. package/dist/spec/types.d.ts +149 -0
  105. package/dist/spec/types.d.ts.map +1 -0
  106. package/dist/spec/types.js +15 -0
  107. package/dist/spec/types.js.map +1 -0
  108. package/dist/spec/utils.d.ts +166 -0
  109. package/dist/spec/utils.d.ts.map +1 -0
  110. package/dist/spec/utils.js +461 -0
  111. package/dist/spec/utils.js.map +1 -0
  112. package/package.json +58 -57
  113. package/scripts/add-lang/bench.sh +60 -60
  114. package/scripts/add-lang/check-grammar.mjs +75 -75
  115. package/scripts/add-lang/dump-ast.mjs +103 -103
  116. package/scripts/add-lang/verify-extraction.mjs +70 -70
  117. package/scripts/agent-eval/ab-adoption.sh +91 -91
  118. package/scripts/agent-eval/ab-hook.sh +86 -86
  119. package/scripts/agent-eval/ab-impl.sh +78 -78
  120. package/scripts/agent-eval/ab-new-vs-baseline.sh +102 -102
  121. package/scripts/agent-eval/ab-sufficiency.sh +78 -78
  122. package/scripts/agent-eval/arms-F.sh +21 -21
  123. package/scripts/agent-eval/arms-matrix.sh +37 -37
  124. package/scripts/agent-eval/audit.sh +68 -68
  125. package/scripts/agent-eval/bench-readme.sh +28 -28
  126. package/scripts/agent-eval/bench-why-repo.sh +22 -22
  127. package/scripts/agent-eval/block-read-hook.sh +19 -19
  128. package/scripts/agent-eval/hook-settings.json +15 -15
  129. package/scripts/agent-eval/itrun.sh +120 -120
  130. package/scripts/agent-eval/offload-eval-3arm.sh +72 -72
  131. package/scripts/agent-eval/offload-eval-cost.mjs +133 -133
  132. package/scripts/agent-eval/offload-eval-effort.mjs +108 -108
  133. package/scripts/agent-eval/offload-eval-frontload-matrix.sh +25 -25
  134. package/scripts/agent-eval/offload-eval-frontload.sh +47 -47
  135. package/scripts/agent-eval/offload-eval-ground-truth.json +18 -18
  136. package/scripts/agent-eval/offload-eval-hook.mjs +84 -84
  137. package/scripts/agent-eval/offload-eval-judge.mjs +103 -103
  138. package/scripts/agent-eval/offload-eval-matrix.sh +20 -20
  139. package/scripts/agent-eval/offload-eval-metrics.mjs +94 -94
  140. package/scripts/agent-eval/offload-eval-refs1.sh +50 -50
  141. package/scripts/agent-eval/offload-eval-setup.sh +24 -24
  142. package/scripts/agent-eval/offload-eval-styles.sh +71 -71
  143. package/scripts/agent-eval/offload-eval-summarize.mjs +68 -68
  144. package/scripts/agent-eval/offload-eval.md +76 -76
  145. package/scripts/agent-eval/parse-arms.mjs +116 -116
  146. package/scripts/agent-eval/parse-bench-readme.mjs +84 -84
  147. package/scripts/agent-eval/parse-run.mjs +45 -45
  148. package/scripts/agent-eval/parse-session.mjs +93 -93
  149. package/scripts/agent-eval/probe-context.mjs +21 -21
  150. package/scripts/agent-eval/probe-explore.mjs +40 -40
  151. package/scripts/agent-eval/probe-node.mjs +20 -20
  152. package/scripts/agent-eval/probe-sweep.mjs +119 -119
  153. package/scripts/agent-eval/probe-trace.mjs +20 -20
  154. package/scripts/agent-eval/redirect-read-hook.sh +38 -38
  155. package/scripts/agent-eval/run-agent.sh +34 -34
  156. package/scripts/agent-eval/run-all.sh +69 -69
  157. package/scripts/agent-eval/run-arms.sh +56 -56
  158. package/scripts/agent-eval/seq-matrix.mjs +137 -137
  159. package/scripts/build-bundle.sh +118 -118
  160. package/scripts/extract-release-notes.mjs +130 -130
  161. package/scripts/local-install.sh +41 -41
  162. package/scripts/npm-sdk.js +75 -75
  163. package/scripts/npm-shim.js +246 -246
  164. package/scripts/pack-npm.sh +119 -119
  165. package/scripts/prepare-release.mjs +270 -270
  166. package/scripts/qa_eval/README.md +407 -400
  167. package/scripts/qa_eval/_test_deveco_probe.py +41 -0
  168. package/scripts/qa_eval/agent_runner.py +526 -526
  169. package/scripts/qa_eval/data/.gitignore +4 -4
  170. package/scripts/qa_eval/data/test-set.jsonl +2 -22
  171. package/scripts/qa_eval/eval_metrics.py +274 -233
  172. package/scripts/qa_eval/external_agent.py +976 -577
  173. package/scripts/qa_eval/llm_config.py +92 -92
  174. package/scripts/qa_eval/memory_monitor.py +132 -132
  175. package/scripts/qa_eval/my_answer_accuracy.py +187 -187
  176. package/scripts/qa_eval/requirements.txt +2 -2
  177. package/scripts/qa_eval/run_pipeline.py +804 -702
  178. package/scripts/qa_eval/stats_efficiency.py +279 -279
  179. package/scripts/qa_eval/stats_scores.py +207 -207
@@ -1,152 +1,152 @@
1
- -- HomeGraph SQLite Schema
2
- -- Version 1
3
-
4
- -- Schema version tracking
5
- CREATE TABLE IF NOT EXISTS schema_versions (
6
- version INTEGER PRIMARY KEY,
7
- applied_at INTEGER NOT NULL,
8
- description TEXT
9
- );
10
-
11
- -- Insert initial version
12
- INSERT INTO schema_versions (version, applied_at, description)
13
- VALUES (1, strftime('%s', 'now') * 1000, 'Initial schema');
14
-
15
- -- =============================================================================
16
- -- Core Tables
17
- -- =============================================================================
18
-
19
- -- Nodes: Code symbols (functions, classes, variables, etc.)
20
- CREATE TABLE IF NOT EXISTS nodes (
21
- id TEXT PRIMARY KEY,
22
- kind TEXT NOT NULL,
23
- name TEXT NOT NULL,
24
- qualified_name TEXT NOT NULL,
25
- file_path TEXT NOT NULL,
26
- language TEXT NOT NULL,
27
- start_line INTEGER NOT NULL,
28
- end_line INTEGER NOT NULL,
29
- start_column INTEGER NOT NULL,
30
- end_column INTEGER NOT NULL,
31
- docstring TEXT,
32
- signature TEXT,
33
- visibility TEXT,
34
- is_exported INTEGER DEFAULT 0,
35
- is_async INTEGER DEFAULT 0,
36
- is_static INTEGER DEFAULT 0,
37
- is_abstract INTEGER DEFAULT 0,
38
- decorators TEXT, -- JSON array
39
- type_parameters TEXT, -- JSON array
40
- return_type TEXT, -- normalized return/result type name (e.g. C++ method return, for receiver-type inference)
41
- updated_at INTEGER NOT NULL
42
- );
43
-
44
- -- Edges: Relationships between nodes
45
- CREATE TABLE IF NOT EXISTS edges (
46
- id INTEGER PRIMARY KEY AUTOINCREMENT,
47
- source TEXT NOT NULL,
48
- target TEXT NOT NULL,
49
- kind TEXT NOT NULL,
50
- metadata TEXT, -- JSON object
51
- line INTEGER,
52
- col INTEGER,
53
- provenance TEXT DEFAULT NULL,
54
- FOREIGN KEY (source) REFERENCES nodes(id) ON DELETE CASCADE,
55
- FOREIGN KEY (target) REFERENCES nodes(id) ON DELETE CASCADE
56
- );
57
-
58
- -- Files: Tracked source files
59
- CREATE TABLE IF NOT EXISTS files (
60
- path TEXT PRIMARY KEY,
61
- content_hash TEXT NOT NULL,
62
- language TEXT NOT NULL,
63
- size INTEGER NOT NULL,
64
- modified_at INTEGER NOT NULL,
65
- indexed_at INTEGER NOT NULL,
66
- node_count INTEGER DEFAULT 0,
67
- errors TEXT -- JSON array
68
- );
69
-
70
- -- Unresolved References: References that need resolution after full indexing
71
- CREATE TABLE IF NOT EXISTS unresolved_refs (
72
- id INTEGER PRIMARY KEY AUTOINCREMENT,
73
- from_node_id TEXT NOT NULL,
74
- reference_name TEXT NOT NULL,
75
- reference_kind TEXT NOT NULL,
76
- line INTEGER NOT NULL,
77
- col INTEGER NOT NULL,
78
- candidates TEXT, -- JSON array
79
- file_path TEXT NOT NULL DEFAULT '',
80
- language TEXT NOT NULL DEFAULT 'unknown',
81
- FOREIGN KEY (from_node_id) REFERENCES nodes(id) ON DELETE CASCADE
82
- );
83
-
84
- -- =============================================================================
85
- -- Indexes for Query Performance
86
- -- =============================================================================
87
-
88
- -- Node indexes
89
- CREATE INDEX IF NOT EXISTS idx_nodes_kind ON nodes(kind);
90
- CREATE INDEX IF NOT EXISTS idx_nodes_name ON nodes(name);
91
- CREATE INDEX IF NOT EXISTS idx_nodes_qualified_name ON nodes(qualified_name);
92
- CREATE INDEX IF NOT EXISTS idx_nodes_file_path ON nodes(file_path);
93
- CREATE INDEX IF NOT EXISTS idx_nodes_language ON nodes(language);
94
- CREATE INDEX IF NOT EXISTS idx_nodes_file_line ON nodes(file_path, start_line);
95
- CREATE INDEX IF NOT EXISTS idx_nodes_lower_name ON nodes(lower(name));
96
-
97
- -- Full-text search index on node names, docstrings, and signatures
98
- CREATE VIRTUAL TABLE IF NOT EXISTS nodes_fts USING fts5(
99
- id,
100
- name,
101
- qualified_name,
102
- docstring,
103
- signature,
104
- content='nodes',
105
- content_rowid='rowid'
106
- );
107
-
108
- -- Triggers to keep FTS index in sync
109
- CREATE TRIGGER IF NOT EXISTS nodes_ai AFTER INSERT ON nodes BEGIN
110
- INSERT INTO nodes_fts(rowid, id, name, qualified_name, docstring, signature)
111
- VALUES (NEW.rowid, NEW.id, NEW.name, NEW.qualified_name, NEW.docstring, NEW.signature);
112
- END;
113
-
114
- CREATE TRIGGER IF NOT EXISTS nodes_ad AFTER DELETE ON nodes BEGIN
115
- INSERT INTO nodes_fts(nodes_fts, rowid, id, name, qualified_name, docstring, signature)
116
- VALUES ('delete', OLD.rowid, OLD.id, OLD.name, OLD.qualified_name, OLD.docstring, OLD.signature);
117
- END;
118
-
119
- CREATE TRIGGER IF NOT EXISTS nodes_au AFTER UPDATE ON nodes BEGIN
120
- INSERT INTO nodes_fts(nodes_fts, rowid, id, name, qualified_name, docstring, signature)
121
- VALUES ('delete', OLD.rowid, OLD.id, OLD.name, OLD.qualified_name, OLD.docstring, OLD.signature);
122
- INSERT INTO nodes_fts(rowid, id, name, qualified_name, docstring, signature)
123
- VALUES (NEW.rowid, NEW.id, NEW.name, NEW.qualified_name, NEW.docstring, NEW.signature);
124
- END;
125
-
126
- -- Edge indexes.
127
- -- idx_edges_source / idx_edges_target are intentionally omitted —
128
- -- the (source, kind) and (target, kind) composites below cover the
129
- -- corresponding source-only / target-only lookups via SQLite's
130
- -- left-prefix scan, so the narrow indexes are dead weight on writes.
131
- -- Migration v4 drops them on existing databases.
132
- CREATE INDEX IF NOT EXISTS idx_edges_kind ON edges(kind);
133
- CREATE INDEX IF NOT EXISTS idx_edges_source_kind ON edges(source, kind);
134
- CREATE INDEX IF NOT EXISTS idx_edges_target_kind ON edges(target, kind);
135
-
136
- -- File indexes
137
- CREATE INDEX IF NOT EXISTS idx_files_language ON files(language);
138
- CREATE INDEX IF NOT EXISTS idx_files_modified_at ON files(modified_at);
139
-
140
- -- Unresolved refs indexes
141
- CREATE INDEX IF NOT EXISTS idx_unresolved_from_node ON unresolved_refs(from_node_id);
142
- CREATE INDEX IF NOT EXISTS idx_unresolved_name ON unresolved_refs(reference_name);
143
- CREATE INDEX IF NOT EXISTS idx_unresolved_file_path ON unresolved_refs(file_path);
144
- CREATE INDEX IF NOT EXISTS idx_unresolved_from_name ON unresolved_refs(from_node_id, reference_name);
145
- CREATE INDEX IF NOT EXISTS idx_edges_provenance ON edges(provenance);
146
-
147
- -- Project metadata for version/provenance tracking
148
- CREATE TABLE IF NOT EXISTS project_metadata (
149
- key TEXT PRIMARY KEY,
150
- value TEXT NOT NULL,
151
- updated_at INTEGER NOT NULL
152
- );
1
+ -- HomeGraph SQLite Schema
2
+ -- Version 1
3
+
4
+ -- Schema version tracking
5
+ CREATE TABLE IF NOT EXISTS schema_versions (
6
+ version INTEGER PRIMARY KEY,
7
+ applied_at INTEGER NOT NULL,
8
+ description TEXT
9
+ );
10
+
11
+ -- Insert initial version
12
+ INSERT INTO schema_versions (version, applied_at, description)
13
+ VALUES (1, strftime('%s', 'now') * 1000, 'Initial schema');
14
+
15
+ -- =============================================================================
16
+ -- Core Tables
17
+ -- =============================================================================
18
+
19
+ -- Nodes: Code symbols (functions, classes, variables, etc.)
20
+ CREATE TABLE IF NOT EXISTS nodes (
21
+ id TEXT PRIMARY KEY,
22
+ kind TEXT NOT NULL,
23
+ name TEXT NOT NULL,
24
+ qualified_name TEXT NOT NULL,
25
+ file_path TEXT NOT NULL,
26
+ language TEXT NOT NULL,
27
+ start_line INTEGER NOT NULL,
28
+ end_line INTEGER NOT NULL,
29
+ start_column INTEGER NOT NULL,
30
+ end_column INTEGER NOT NULL,
31
+ docstring TEXT,
32
+ signature TEXT,
33
+ visibility TEXT,
34
+ is_exported INTEGER DEFAULT 0,
35
+ is_async INTEGER DEFAULT 0,
36
+ is_static INTEGER DEFAULT 0,
37
+ is_abstract INTEGER DEFAULT 0,
38
+ decorators TEXT, -- JSON array
39
+ type_parameters TEXT, -- JSON array
40
+ return_type TEXT, -- normalized return/result type name (e.g. C++ method return, for receiver-type inference)
41
+ updated_at INTEGER NOT NULL
42
+ );
43
+
44
+ -- Edges: Relationships between nodes
45
+ CREATE TABLE IF NOT EXISTS edges (
46
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
47
+ source TEXT NOT NULL,
48
+ target TEXT NOT NULL,
49
+ kind TEXT NOT NULL,
50
+ metadata TEXT, -- JSON object
51
+ line INTEGER,
52
+ col INTEGER,
53
+ provenance TEXT DEFAULT NULL,
54
+ FOREIGN KEY (source) REFERENCES nodes(id) ON DELETE CASCADE,
55
+ FOREIGN KEY (target) REFERENCES nodes(id) ON DELETE CASCADE
56
+ );
57
+
58
+ -- Files: Tracked source files
59
+ CREATE TABLE IF NOT EXISTS files (
60
+ path TEXT PRIMARY KEY,
61
+ content_hash TEXT NOT NULL,
62
+ language TEXT NOT NULL,
63
+ size INTEGER NOT NULL,
64
+ modified_at INTEGER NOT NULL,
65
+ indexed_at INTEGER NOT NULL,
66
+ node_count INTEGER DEFAULT 0,
67
+ errors TEXT -- JSON array
68
+ );
69
+
70
+ -- Unresolved References: References that need resolution after full indexing
71
+ CREATE TABLE IF NOT EXISTS unresolved_refs (
72
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
73
+ from_node_id TEXT NOT NULL,
74
+ reference_name TEXT NOT NULL,
75
+ reference_kind TEXT NOT NULL,
76
+ line INTEGER NOT NULL,
77
+ col INTEGER NOT NULL,
78
+ candidates TEXT, -- JSON array
79
+ file_path TEXT NOT NULL DEFAULT '',
80
+ language TEXT NOT NULL DEFAULT 'unknown',
81
+ FOREIGN KEY (from_node_id) REFERENCES nodes(id) ON DELETE CASCADE
82
+ );
83
+
84
+ -- =============================================================================
85
+ -- Indexes for Query Performance
86
+ -- =============================================================================
87
+
88
+ -- Node indexes
89
+ CREATE INDEX IF NOT EXISTS idx_nodes_kind ON nodes(kind);
90
+ CREATE INDEX IF NOT EXISTS idx_nodes_name ON nodes(name);
91
+ CREATE INDEX IF NOT EXISTS idx_nodes_qualified_name ON nodes(qualified_name);
92
+ CREATE INDEX IF NOT EXISTS idx_nodes_file_path ON nodes(file_path);
93
+ CREATE INDEX IF NOT EXISTS idx_nodes_language ON nodes(language);
94
+ CREATE INDEX IF NOT EXISTS idx_nodes_file_line ON nodes(file_path, start_line);
95
+ CREATE INDEX IF NOT EXISTS idx_nodes_lower_name ON nodes(lower(name));
96
+
97
+ -- Full-text search index on node names, docstrings, and signatures
98
+ CREATE VIRTUAL TABLE IF NOT EXISTS nodes_fts USING fts5(
99
+ id,
100
+ name,
101
+ qualified_name,
102
+ docstring,
103
+ signature,
104
+ content='nodes',
105
+ content_rowid='rowid'
106
+ );
107
+
108
+ -- Triggers to keep FTS index in sync
109
+ CREATE TRIGGER IF NOT EXISTS nodes_ai AFTER INSERT ON nodes BEGIN
110
+ INSERT INTO nodes_fts(rowid, id, name, qualified_name, docstring, signature)
111
+ VALUES (NEW.rowid, NEW.id, NEW.name, NEW.qualified_name, NEW.docstring, NEW.signature);
112
+ END;
113
+
114
+ CREATE TRIGGER IF NOT EXISTS nodes_ad AFTER DELETE ON nodes BEGIN
115
+ INSERT INTO nodes_fts(nodes_fts, rowid, id, name, qualified_name, docstring, signature)
116
+ VALUES ('delete', OLD.rowid, OLD.id, OLD.name, OLD.qualified_name, OLD.docstring, OLD.signature);
117
+ END;
118
+
119
+ CREATE TRIGGER IF NOT EXISTS nodes_au AFTER UPDATE ON nodes BEGIN
120
+ INSERT INTO nodes_fts(nodes_fts, rowid, id, name, qualified_name, docstring, signature)
121
+ VALUES ('delete', OLD.rowid, OLD.id, OLD.name, OLD.qualified_name, OLD.docstring, OLD.signature);
122
+ INSERT INTO nodes_fts(rowid, id, name, qualified_name, docstring, signature)
123
+ VALUES (NEW.rowid, NEW.id, NEW.name, NEW.qualified_name, NEW.docstring, NEW.signature);
124
+ END;
125
+
126
+ -- Edge indexes.
127
+ -- idx_edges_source / idx_edges_target are intentionally omitted —
128
+ -- the (source, kind) and (target, kind) composites below cover the
129
+ -- corresponding source-only / target-only lookups via SQLite's
130
+ -- left-prefix scan, so the narrow indexes are dead weight on writes.
131
+ -- Migration v4 drops them on existing databases.
132
+ CREATE INDEX IF NOT EXISTS idx_edges_kind ON edges(kind);
133
+ CREATE INDEX IF NOT EXISTS idx_edges_source_kind ON edges(source, kind);
134
+ CREATE INDEX IF NOT EXISTS idx_edges_target_kind ON edges(target, kind);
135
+
136
+ -- File indexes
137
+ CREATE INDEX IF NOT EXISTS idx_files_language ON files(language);
138
+ CREATE INDEX IF NOT EXISTS idx_files_modified_at ON files(modified_at);
139
+
140
+ -- Unresolved refs indexes
141
+ CREATE INDEX IF NOT EXISTS idx_unresolved_from_node ON unresolved_refs(from_node_id);
142
+ CREATE INDEX IF NOT EXISTS idx_unresolved_name ON unresolved_refs(reference_name);
143
+ CREATE INDEX IF NOT EXISTS idx_unresolved_file_path ON unresolved_refs(file_path);
144
+ CREATE INDEX IF NOT EXISTS idx_unresolved_from_name ON unresolved_refs(from_node_id, reference_name);
145
+ CREATE INDEX IF NOT EXISTS idx_edges_provenance ON edges(provenance);
146
+
147
+ -- Project metadata for version/provenance tracking
148
+ CREATE TABLE IF NOT EXISTS project_metadata (
149
+ key TEXT PRIMARY KEY,
150
+ value TEXT NOT NULL,
151
+ updated_at INTEGER NOT NULL
152
+ );
package/dist/directory.js CHANGED
@@ -325,11 +325,11 @@ function planFrontload(cwd, prompt) {
325
325
  * explicit allowlist that never listed `daemon.pid` or the socket, so those
326
326
  * runtime files were silently committed.
327
327
  */
328
- const GITIGNORE_CONTENT = `# HomeGraph data files — local to each machine, not for committing.
329
- # Ignore everything in .homegraph/ except this file itself, so transient
330
- # files (the database, daemon.pid, sockets, logs) never show up in git.
331
- *
332
- !.gitignore
328
+ const GITIGNORE_CONTENT = `# HomeGraph data files — local to each machine, not for committing.
329
+ # Ignore everything in .homegraph/ except this file itself, so transient
330
+ # files (the database, daemon.pid, sockets, logs) never show up in git.
331
+ *
332
+ !.gitignore
333
333
  `;
334
334
  /** Header line that prefixes every .gitignore HomeGraph has auto-generated. */
335
335
  const GITIGNORE_MARKER = '# HomeGraph data files';
File without changes
File without changes
@@ -40,14 +40,14 @@ exports.HOMEGRAPH_SECTION_END = '<!-- HOMEGRAPH_END -->';
40
40
  * indexed" claim would send subagents into failing homegraph calls (the
41
41
  * noise the unindexed-session policy exists to prevent).
42
42
  */
43
- exports.HOMEGRAPH_INSTRUCTIONS_BLOCK = `${exports.HOMEGRAPH_SECTION_START}
44
- ## HomeGraph
45
-
46
- In repositories indexed by HomeGraph (a \`.homegraph/\` directory exists at the repo root), reach for it BEFORE grep/find or reading files when you need to understand or locate code:
47
-
48
- - **MCP tool** (when available): \`homegraph_explore\` answers most code questions in one call — the relevant symbols' verbatim source plus the call paths between them, including dynamic-dispatch hops grep can't follow. Name a file or symbol in the query to read its current line-numbered source. If it's listed but deferred, load it by name via tool search.
49
- - **Shell** (always works): \`homegraph explore "<symbol names or question>"\` prints the same output.
50
-
51
- If there is no \`.homegraph/\` directory, skip HomeGraph entirely — indexing is the user's decision.
43
+ exports.HOMEGRAPH_INSTRUCTIONS_BLOCK = `${exports.HOMEGRAPH_SECTION_START}
44
+ ## HomeGraph
45
+
46
+ In repositories indexed by HomeGraph (a \`.homegraph/\` directory exists at the repo root), reach for it BEFORE grep/find or reading files when you need to understand or locate code:
47
+
48
+ - **MCP tool** (when available): \`homegraph_explore\` answers most code questions in one call — the relevant symbols' verbatim source plus the call paths between them, including dynamic-dispatch hops grep can't follow. Name a file or symbol in the query to read its current line-numbered source. If it's listed but deferred, load it by name via tool search.
49
+ - **Shell** (always works): \`homegraph explore "<symbol names or question>"\` prints the same output.
50
+
51
+ If there is no \`.homegraph/\` directory, skip HomeGraph entirely — indexing is the user's decision.
52
52
  ${exports.HOMEGRAPH_SECTION_END}`;
53
53
  //# sourceMappingURL=instructions-template.js.map
@@ -11,12 +11,17 @@
11
11
  *
12
12
  * Config file resolution (per DevEco Code docs):
13
13
  * - local: `.deveco/deveco.jsonc` → `deveco.jsonc` (defaults to `.deveco/`)
14
- * - global: `~/.config/deveco/deveco.jsonc` (XDG-style;
15
- * `%APPDATA%/deveco/deveco.jsonc` on Windows)
14
+ * - global: `~/.config/deveco/deveco.jsonc` (XDG-style on EVERY platform,
15
+ * Windows included — DevEco uses the same `xdg-basedir` resolution
16
+ * as opencode, not `%APPDATA%`)
16
17
  *
17
18
  * Like Cursor, DevEco Code may launch MCP servers with a cwd that
18
19
  * isn't the workspace root, so we inject `--path` into the command
19
20
  * array.
21
+ *
22
+ * Early homegraph installs wrote the global entry to `%APPDATA%/deveco` on
23
+ * Windows; DevEco never reads it. install/uninstall sweep stale entries
24
+ * from that legacy location.
20
25
  */
21
26
  import { AgentTarget } from './types';
22
27
  export declare const devecoTarget: AgentTarget;
@@ -1 +1 @@
1
- {"version":3,"file":"deveco.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/deveco.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,OAAO,EACL,WAAW,EAKZ,MAAM,SAAS,CAAC;AA2LjB,eAAO,MAAM,YAAY,EAAE,WAAgC,CAAC"}
1
+ {"version":3,"file":"deveco.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/deveco.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH,OAAO,EACL,WAAW,EAKZ,MAAM,SAAS,CAAC;AAgNjB,eAAO,MAAM,YAAY,EAAE,WAAgC,CAAC"}
@@ -12,12 +12,17 @@
12
12
  *
13
13
  * Config file resolution (per DevEco Code docs):
14
14
  * - local: `.deveco/deveco.jsonc` → `deveco.jsonc` (defaults to `.deveco/`)
15
- * - global: `~/.config/deveco/deveco.jsonc` (XDG-style;
16
- * `%APPDATA%/deveco/deveco.jsonc` on Windows)
15
+ * - global: `~/.config/deveco/deveco.jsonc` (XDG-style on EVERY platform,
16
+ * Windows included — DevEco uses the same `xdg-basedir` resolution
17
+ * as opencode, not `%APPDATA%`)
17
18
  *
18
19
  * Like Cursor, DevEco Code may launch MCP servers with a cwd that
19
20
  * isn't the workspace root, so we inject `--path` into the command
20
21
  * array.
22
+ *
23
+ * Early homegraph installs wrote the global entry to `%APPDATA%/deveco` on
24
+ * Windows; DevEco never reads it. install/uninstall sweep stale entries
25
+ * from that legacy location.
21
26
  */
22
27
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
23
28
  if (k2 === undefined) k2 = k;
@@ -61,15 +66,23 @@ const jsonc_parser_1 = require("jsonc-parser");
61
66
  const shared_1 = require("./shared");
62
67
  const instructions_template_1 = require("../instructions-template");
63
68
  function globalConfigDir() {
64
- if (process.platform === 'win32') {
65
- const appData = process.env.APPDATA ?? path.join(os.homedir(), 'AppData', 'Roaming');
66
- return path.join(appData, 'deveco');
67
- }
68
69
  const xdg = process.env.XDG_CONFIG_HOME && process.env.XDG_CONFIG_HOME.trim().length > 0
69
70
  ? process.env.XDG_CONFIG_HOME
70
71
  : path.join(os.homedir(), '.config');
71
72
  return path.join(xdg, 'deveco');
72
73
  }
74
+ /**
75
+ * Early installs wrote the global entry to `%APPDATA%/deveco` on Windows — a
76
+ * dir DevEco never reads. Returns that legacy dir when it could hold stale
77
+ * state (APPDATA set and resolving somewhere other than the real config dir).
78
+ */
79
+ function legacyWindowsConfigDir() {
80
+ const appData = process.env.APPDATA;
81
+ if (!appData || !appData.trim())
82
+ return null;
83
+ const legacy = path.join(appData, 'deveco');
84
+ return path.resolve(legacy) === path.resolve(globalConfigDir()) ? null : legacy;
85
+ }
73
86
  function configBaseDir(loc) {
74
87
  return loc === 'global' ? globalConfigDir() : process.cwd();
75
88
  }
@@ -123,8 +136,9 @@ class DevecoTarget {
123
136
  const file = configPath(loc);
124
137
  const config = parseConfig(readConfigText(file));
125
138
  const alreadyConfigured = !!config.mcp?.homegraph;
139
+ const legacy = legacyWindowsConfigDir();
126
140
  const installed = loc === 'global'
127
- ? fs.existsSync(globalConfigDir())
141
+ ? fs.existsSync(globalConfigDir()) || (!!legacy && fs.existsSync(legacy))
128
142
  : fs.existsSync(path.join(process.cwd(), '.deveco'))
129
143
  || fs.existsSync(path.join(process.cwd(), 'deveco.jsonc'));
130
144
  return { installed, alreadyConfigured, configPath: file };
@@ -135,6 +149,8 @@ class DevecoTarget {
135
149
  const instrCleanup = removeInstructionsEntry(loc);
136
150
  if (instrCleanup.action === 'removed')
137
151
  files.push(instrCleanup);
152
+ if (loc === 'global')
153
+ files.push(...cleanupLegacyWindowsState());
138
154
  return {
139
155
  files,
140
156
  notes: ['Restart DevEco Code for MCP changes to take effect.'],
@@ -142,32 +158,10 @@ class DevecoTarget {
142
158
  }
143
159
  uninstall(loc) {
144
160
  const files = [];
145
- const file = configPath(loc);
146
- if (!fs.existsSync(file)) {
147
- files.push({ path: file, action: 'not-found' });
148
- }
149
- else {
150
- const text = readConfigText(file);
151
- const config = parseConfig(text);
152
- if (!config.mcp?.homegraph) {
153
- files.push({ path: file, action: 'not-found' });
154
- }
155
- else {
156
- let edits = (0, jsonc_parser_1.modify)(text, ['mcp', 'homegraph'], undefined, {
157
- formattingOptions: FORMATTING,
158
- });
159
- let updated = (0, jsonc_parser_1.applyEdits)(text, edits);
160
- const afterParsed = parseConfig(updated);
161
- if (afterParsed.mcp && typeof afterParsed.mcp === 'object' &&
162
- Object.keys(afterParsed.mcp).length === 0) {
163
- edits = (0, jsonc_parser_1.modify)(updated, ['mcp'], undefined, { formattingOptions: FORMATTING });
164
- updated = (0, jsonc_parser_1.applyEdits)(updated, edits);
165
- }
166
- (0, shared_1.atomicWriteFileSync)(file, updated);
167
- files.push({ path: file, action: 'removed' });
168
- }
169
- }
161
+ files.push(removeMcpEntryAt(configPath(loc)));
170
162
  files.push(removeInstructionsEntry(loc));
163
+ if (loc === 'global')
164
+ files.push(...cleanupLegacyWindowsState());
171
165
  return { files };
172
166
  }
173
167
  printConfig(loc) {
@@ -208,6 +202,42 @@ function writeMcpEntry(loc) {
208
202
  (0, shared_1.atomicWriteFileSync)(file, updated);
209
203
  return { path: file, action: existed ? 'updated' : 'created' };
210
204
  }
205
+ function removeMcpEntryAt(file) {
206
+ if (!fs.existsSync(file))
207
+ return { path: file, action: 'not-found' };
208
+ const text = readConfigText(file);
209
+ const config = parseConfig(text);
210
+ if (!config.mcp?.homegraph)
211
+ return { path: file, action: 'not-found' };
212
+ let edits = (0, jsonc_parser_1.modify)(text, ['mcp', 'homegraph'], undefined, {
213
+ formattingOptions: FORMATTING,
214
+ });
215
+ let updated = (0, jsonc_parser_1.applyEdits)(text, edits);
216
+ const afterParsed = parseConfig(updated);
217
+ if (afterParsed.mcp && typeof afterParsed.mcp === 'object' &&
218
+ Object.keys(afterParsed.mcp).length === 0) {
219
+ edits = (0, jsonc_parser_1.modify)(updated, ['mcp'], undefined, { formattingOptions: FORMATTING });
220
+ updated = (0, jsonc_parser_1.applyEdits)(updated, edits);
221
+ }
222
+ (0, shared_1.atomicWriteFileSync)(file, updated);
223
+ return { path: file, action: 'removed' };
224
+ }
225
+ function cleanupLegacyWindowsState() {
226
+ const dir = legacyWindowsConfigDir();
227
+ if (!dir || !fs.existsSync(dir))
228
+ return [];
229
+ const out = [];
230
+ for (const name of ['deveco.jsonc', 'deveco.json']) {
231
+ const res = removeMcpEntryAt(path.join(dir, name));
232
+ if (res.action === 'removed')
233
+ out.push(res);
234
+ }
235
+ const agents = path.join(dir, 'AGENTS.md');
236
+ const action = (0, shared_1.removeMarkedSection)(agents, instructions_template_1.HOMEGRAPH_SECTION_START, instructions_template_1.HOMEGRAPH_SECTION_END);
237
+ if (action === 'removed')
238
+ out.push({ path: agents, action });
239
+ return out;
240
+ }
211
241
  function removeInstructionsEntry(loc) {
212
242
  const file = instructionsPath(loc);
213
243
  const action = (0, shared_1.removeMarkedSection)(file, instructions_template_1.HOMEGRAPH_SECTION_START, instructions_template_1.HOMEGRAPH_SECTION_END);
@@ -1 +1 @@
1
- {"version":3,"file":"deveco.js","sourceRoot":"","sources":["../../../src/installer/targets/deveco.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deveco.js","sourceRoot":"","sources":["../../../src/installer/targets/deveco.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,+CAAuE;AAQvE,qCAIkB;AAClB,oEAGkC;AAElC,SAAS,eAAe;IACtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACtF,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe;QAC7B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IACpC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAClF,CAAC;AAED,SAAS,aAAa,CAAC,GAAa;IAClC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,UAAU,CAAC,GAAa;IAC/B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,cAAc,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IACtD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAa;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,IAAA,oBAAU,EAAC,IAAI,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,MAA6B,CAAC;AACvC,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAa;IACzC,MAAM,OAAO,GAAG,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;IACvE,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;QAC3D,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAEjE,MAAM,YAAY;IACP,EAAE,GAAG,QAAiB,CAAC;IACvB,WAAW,GAAG,aAAa,CAAC;IAC5B,OAAO,GAAG,oFAAoF,CAAC;IAExG,gBAAgB,CAAC,IAAc;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,GAAa;QAClB,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC;QAClD,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,GAAG,KAAK,QAAQ;YAChC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACzE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;mBAC/C,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;QAC/D,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED,OAAO,CAAC,GAAa,EAAE,KAAqB;QAC1C,MAAM,KAAK,GAAyB,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAE/B,MAAM,YAAY,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhE,IAAI,GAAG,KAAK,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,yBAAyB,EAAE,CAAC,CAAC;QAEjE,OAAO;YACL,KAAK;YACL,KAAK,EAAE,CAAC,qDAAqD,CAAC;SAC/D,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,GAAa;QACrB,MAAM,KAAK,GAAyB,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,GAAG,KAAK,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,yBAAyB,EAAE,CAAC,CAAC;QACjE,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,GAAa;QACvB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;YAC7B,OAAO,EAAE,iCAAiC;YAC1C,GAAG,EAAE,EAAE,SAAS,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE;SAC9C,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACZ,OAAO,YAAY,MAAM,OAAO,OAAO,IAAI,CAAC;IAC9C,CAAC;IAED,aAAa,CAAC,GAAa;QACzB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;CACF;AAED,SAAS,aAAa,CAAC,GAAa;IAClC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,IAAI,GAAG,wDAAwD,CAAC;IAClE,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC;IACrC,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAExC,IAAI,IAAA,sBAAa,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,WAAW,GAAG,IAAA,qBAAM,EAAC,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,iCAAiC,EAAE;YAC/E,iBAAiB,EAAE,UAAU;SAC9B,CAAC,CAAC;QACH,IAAI,GAAG,IAAA,yBAAU,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,qBAAM,EAAC,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE;QACtD,iBAAiB,EAAE,UAAU;KAC9B,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAA,yBAAU,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,IAAA,4BAAmB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEnC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACrE,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAEvE,IAAI,KAAK,GAAG,IAAA,qBAAM,EAAC,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE;QACxD,iBAAiB,EAAE,UAAU;KAC9B,CAAC,CAAC;IACH,IAAI,OAAO,GAAG,IAAA,yBAAU,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAEtC,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,WAAW,CAAC,GAAG,IAAI,OAAO,WAAW,CAAC,GAAG,KAAK,QAAQ;QACtD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,KAAK,GAAG,IAAA,qBAAM,EAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/E,OAAO,GAAG,IAAA,yBAAU,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,IAAA,4BAAmB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,yBAAyB;IAChC,MAAM,GAAG,GAAG,sBAAsB,EAAE,CAAC;IACrC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAyB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAA,4BAAmB,EAAC,MAAM,EAAE,+CAAuB,EAAE,6CAAqB,CAAC,CAAC;IAC3F,IAAI,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAa;IAC5C,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAA,4BAAmB,EAAC,IAAI,EAAE,+CAAuB,EAAE,6CAAqB,CAAC,CAAC;IACzF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAEY,QAAA,YAAY,GAAgB,IAAI,YAAY,EAAE,CAAC"}
@@ -21,12 +21,11 @@ export declare function getMcpServerConfig(): {
21
21
  * Permissions list for Claude `settings.json`. Other targets that
22
22
  * have a permissions concept can compose this list directly.
23
23
  *
24
- * One server-scoped wildcard rather than a per-tool list. By default only
25
- * `homegraph_explore` is even LISTED to the agent (see DEFAULT_MCP_TOOLS in
26
- * mcp/tools.ts), so in practice explore is the only tool this auto-approves —
27
- * but the wildcard means that if a user re-enables another tool via
28
- * HOMEGRAPH_MCP_TOOLS, it's already pre-approved (no permission prompt, no
29
- * hand-editing settings.json), and future tools are covered too. Claude only
24
+ * One server-scoped wildcard rather than a per-tool list. All homegraph tools
25
+ * are listed by default, and the wildcard pre-approves every current and
26
+ * future tool (no permission prompt, no hand-editing settings.json). Users who
27
+ * trim the surface via HOMEGRAPH_MCP_TOOLS still get pre-approval for whatever
28
+ * remains listed. Claude only
30
29
  * honors globs after a literal `mcp__<server>__` prefix, so this exact string
31
30
  * is the way to allow-all for one server; a bare `mcp__homegraph` or `*` is
32
31
  * ignored. The allowlist gates PROMPTING, not visibility, so a superset here
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAMtF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAelE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAa3E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAE/E;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAiB7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CA2BlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAA;CAAE,CAQnH;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,SAAS,GAAG,WAAW,GAAG,MAAM,CAwBlC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAMtF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAelE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAa3E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAE/E;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAiB7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CA2BlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAA;CAAE,CAQnH;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,SAAS,GAAG,WAAW,GAAG,MAAM,CAwBlC"}
@@ -70,12 +70,11 @@ function getMcpServerConfig() {
70
70
  * Permissions list for Claude `settings.json`. Other targets that
71
71
  * have a permissions concept can compose this list directly.
72
72
  *
73
- * One server-scoped wildcard rather than a per-tool list. By default only
74
- * `homegraph_explore` is even LISTED to the agent (see DEFAULT_MCP_TOOLS in
75
- * mcp/tools.ts), so in practice explore is the only tool this auto-approves —
76
- * but the wildcard means that if a user re-enables another tool via
77
- * HOMEGRAPH_MCP_TOOLS, it's already pre-approved (no permission prompt, no
78
- * hand-editing settings.json), and future tools are covered too. Claude only
73
+ * One server-scoped wildcard rather than a per-tool list. All homegraph tools
74
+ * are listed by default, and the wildcard pre-approves every current and
75
+ * future tool (no permission prompt, no hand-editing settings.json). Users who
76
+ * trim the surface via HOMEGRAPH_MCP_TOOLS still get pre-approval for whatever
77
+ * remains listed. Claude only
79
78
  * honors globs after a literal `mcp__<server>__` prefix, so this exact string
80
79
  * is the way to allow-all for one server; a bare `mcp__homegraph` or `*` is
81
80
  * ignored. The allowlist gates PROMPTING, not visibility, so a superset here