homegraph 1.5.2 → 1.5.4

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 (242) hide show
  1. package/CHANGELOG.md +156 -0
  2. package/README.md +63 -10
  3. package/dist/addons/dynamic-import.d.ts +18 -0
  4. package/dist/addons/dynamic-import.d.ts.map +1 -0
  5. package/dist/addons/dynamic-import.js +25 -0
  6. package/dist/addons/dynamic-import.js.map +1 -0
  7. package/dist/addons/init-template.d.ts +15 -0
  8. package/dist/addons/init-template.d.ts.map +1 -0
  9. package/dist/addons/init-template.js +290 -0
  10. package/dist/addons/init-template.js.map +1 -0
  11. package/dist/addons/loader.d.ts +18 -0
  12. package/dist/addons/loader.d.ts.map +1 -0
  13. package/dist/addons/loader.js +88 -0
  14. package/dist/addons/loader.js.map +1 -0
  15. package/dist/addons/manager.d.ts +106 -0
  16. package/dist/addons/manager.d.ts.map +1 -0
  17. package/dist/addons/manager.js +437 -0
  18. package/dist/addons/manager.js.map +1 -0
  19. package/dist/addons/paths.d.ts +22 -0
  20. package/dist/addons/paths.d.ts.map +1 -0
  21. package/dist/addons/paths.js +65 -0
  22. package/dist/addons/paths.js.map +1 -0
  23. package/dist/addons/registry.d.ts +38 -0
  24. package/dist/addons/registry.d.ts.map +1 -0
  25. package/dist/addons/registry.js +160 -0
  26. package/dist/addons/registry.js.map +1 -0
  27. package/dist/addons/semver.d.ts +21 -0
  28. package/dist/addons/semver.d.ts.map +1 -0
  29. package/dist/addons/semver.js +79 -0
  30. package/dist/addons/semver.js.map +1 -0
  31. package/dist/addons/types.d.ts +51 -0
  32. package/dist/addons/types.d.ts.map +1 -0
  33. package/dist/addons/types.js +14 -0
  34. package/dist/addons/types.js.map +1 -0
  35. package/dist/addons/validate.d.ts +38 -0
  36. package/dist/addons/validate.d.ts.map +1 -0
  37. package/dist/addons/validate.js +165 -0
  38. package/dist/addons/validate.js.map +1 -0
  39. package/dist/arkui/index.d.ts +4 -0
  40. package/dist/arkui/index.d.ts.map +1 -0
  41. package/dist/arkui/index.js +23 -0
  42. package/dist/arkui/index.js.map +1 -0
  43. package/dist/arkui/migrate-passage.d.ts +28 -0
  44. package/dist/arkui/migrate-passage.d.ts.map +1 -0
  45. package/dist/arkui/migrate-passage.js +310 -0
  46. package/dist/arkui/migrate-passage.js.map +1 -0
  47. package/dist/arkui/migrate-semantics.d.ts +47 -0
  48. package/dist/arkui/migrate-semantics.d.ts.map +1 -0
  49. package/dist/arkui/migrate-semantics.js +229 -0
  50. package/dist/arkui/migrate-semantics.js.map +1 -0
  51. package/dist/arkui/migrate-snapshot.d.ts +79 -0
  52. package/dist/arkui/migrate-snapshot.d.ts.map +1 -0
  53. package/dist/arkui/migrate-snapshot.js +364 -0
  54. package/dist/arkui/migrate-snapshot.js.map +1 -0
  55. package/dist/bin/addon-commands.d.ts +27 -0
  56. package/dist/bin/addon-commands.d.ts.map +1 -0
  57. package/dist/bin/addon-commands.js +254 -0
  58. package/dist/bin/addon-commands.js.map +1 -0
  59. package/dist/bin/fatal-handler.js +2 -2
  60. package/dist/bin/homegraph.js +111 -157
  61. package/dist/bin/homegraph.js.map +1 -1
  62. package/dist/bin/node-version-check.d.ts +6 -15
  63. package/dist/bin/node-version-check.d.ts.map +1 -1
  64. package/dist/bin/node-version-check.js +8 -37
  65. package/dist/bin/node-version-check.js.map +1 -1
  66. package/dist/db/index.d.ts +36 -1
  67. package/dist/db/index.d.ts.map +1 -1
  68. package/dist/db/index.js +92 -6
  69. package/dist/db/index.js.map +1 -1
  70. package/dist/db/migrations.d.ts +1 -1
  71. package/dist/db/migrations.d.ts.map +1 -1
  72. package/dist/db/migrations.js +15 -1
  73. package/dist/db/migrations.js.map +1 -1
  74. package/dist/db/queries.d.ts +42 -0
  75. package/dist/db/queries.d.ts.map +1 -1
  76. package/dist/db/queries.js +177 -10
  77. package/dist/db/queries.js.map +1 -1
  78. package/dist/db/schema.sql +6 -1
  79. package/dist/db/sqlite-adapter.d.ts +7 -3
  80. package/dist/db/sqlite-adapter.d.ts.map +1 -1
  81. package/dist/db/sqlite-adapter.js +44 -3
  82. package/dist/db/sqlite-adapter.js.map +1 -1
  83. package/dist/extraction/extraction-version.d.ts +1 -1
  84. package/dist/extraction/extraction-version.js +1 -1
  85. package/dist/extraction/generated-detection.d.ts +42 -11
  86. package/dist/extraction/generated-detection.d.ts.map +1 -1
  87. package/dist/extraction/generated-detection.js +141 -20
  88. package/dist/extraction/generated-detection.js.map +1 -1
  89. package/dist/extraction/index.d.ts +42 -0
  90. package/dist/extraction/index.d.ts.map +1 -1
  91. package/dist/extraction/index.js +96 -0
  92. package/dist/extraction/index.js.map +1 -1
  93. package/dist/extraction/languages/arkts.d.ts +33 -2
  94. package/dist/extraction/languages/arkts.d.ts.map +1 -1
  95. package/dist/extraction/languages/arkts.js +525 -129
  96. package/dist/extraction/languages/arkts.js.map +1 -1
  97. package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -1
  98. package/dist/extraction/wasm-runtime-flags.js +9 -6
  99. package/dist/extraction/wasm-runtime-flags.js.map +1 -1
  100. package/dist/graph-sources.d.ts +41 -0
  101. package/dist/graph-sources.d.ts.map +1 -0
  102. package/dist/graph-sources.js +82 -0
  103. package/dist/graph-sources.js.map +1 -0
  104. package/dist/index.d.ts +20 -1
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +79 -9
  107. package/dist/index.js.map +1 -1
  108. package/dist/installer/index.d.ts.map +1 -1
  109. package/dist/installer/index.js +0 -48
  110. package/dist/installer/index.js.map +1 -1
  111. package/dist/installer/targets/antigravity.js +1 -1
  112. package/dist/installer/targets/antigravity.js.map +1 -1
  113. package/dist/installer/targets/deveco.js +1 -1
  114. package/dist/installer/targets/deveco.js.map +1 -1
  115. package/dist/installer/targets/hermes.d.ts +1 -1
  116. package/dist/installer/targets/hermes.js +2 -2
  117. package/dist/installer/targets/hermes.js.map +1 -1
  118. package/dist/installer/targets/opencode.js +1 -1
  119. package/dist/installer/targets/opencode.js.map +1 -1
  120. package/dist/installer/targets/shared.js +1 -1
  121. package/dist/installer/targets/shared.js.map +1 -1
  122. package/dist/mcp/daemon-paths.d.ts +5 -4
  123. package/dist/mcp/daemon-paths.d.ts.map +1 -1
  124. package/dist/mcp/daemon-paths.js +28 -13
  125. package/dist/mcp/daemon-paths.js.map +1 -1
  126. package/dist/mcp/daemon-registry.d.ts.map +1 -1
  127. package/dist/mcp/daemon-registry.js +4 -1
  128. package/dist/mcp/daemon-registry.js.map +1 -1
  129. package/dist/mcp/daemon.d.ts +1 -1
  130. package/dist/mcp/daemon.js +1 -1
  131. package/dist/mcp/engine.d.ts.map +1 -1
  132. package/dist/mcp/engine.js +12 -3
  133. package/dist/mcp/engine.js.map +1 -1
  134. package/dist/mcp/explore-dedup.d.ts +137 -0
  135. package/dist/mcp/explore-dedup.d.ts.map +1 -0
  136. package/dist/mcp/explore-dedup.js +236 -0
  137. package/dist/mcp/explore-dedup.js.map +1 -0
  138. package/dist/mcp/explore-repeat-guard.d.ts +123 -0
  139. package/dist/mcp/explore-repeat-guard.d.ts.map +1 -0
  140. package/dist/mcp/explore-repeat-guard.js +503 -0
  141. package/dist/mcp/explore-repeat-guard.js.map +1 -0
  142. package/dist/mcp/explore-session-state.d.ts +237 -0
  143. package/dist/mcp/explore-session-state.d.ts.map +1 -0
  144. package/dist/mcp/explore-session-state.js +353 -0
  145. package/dist/mcp/explore-session-state.js.map +1 -0
  146. package/dist/mcp/index.d.ts.map +1 -1
  147. package/dist/mcp/index.js +4 -7
  148. package/dist/mcp/index.js.map +1 -1
  149. package/dist/mcp/proxy.d.ts.map +1 -1
  150. package/dist/mcp/proxy.js +20 -18
  151. package/dist/mcp/proxy.js.map +1 -1
  152. package/dist/mcp/query-pool.d.ts.map +1 -1
  153. package/dist/mcp/query-pool.js +10 -13
  154. package/dist/mcp/query-pool.js.map +1 -1
  155. package/dist/mcp/query-worker.d.ts +1 -1
  156. package/dist/mcp/query-worker.js +1 -1
  157. package/dist/mcp/server-instructions.d.ts +5 -2
  158. package/dist/mcp/server-instructions.d.ts.map +1 -1
  159. package/dist/mcp/server-instructions.js +43 -32
  160. package/dist/mcp/server-instructions.js.map +1 -1
  161. package/dist/mcp/session.d.ts +14 -3
  162. package/dist/mcp/session.d.ts.map +1 -1
  163. package/dist/mcp/session.js +17 -14
  164. package/dist/mcp/session.js.map +1 -1
  165. package/dist/mcp/startup-handshake.d.ts +1 -1
  166. package/dist/mcp/startup-handshake.js +1 -1
  167. package/dist/mcp/tools.d.ts +149 -8
  168. package/dist/mcp/tools.d.ts.map +1 -1
  169. package/dist/mcp/tools.js +4265 -575
  170. package/dist/mcp/tools.js.map +1 -1
  171. package/dist/resolution/callback-synthesizer.d.ts.map +1 -1
  172. package/dist/resolution/callback-synthesizer.js +166 -0
  173. package/dist/resolution/callback-synthesizer.js.map +1 -1
  174. package/dist/resolution/frameworks/arkts-napi.d.ts +14 -0
  175. package/dist/resolution/frameworks/arkts-napi.d.ts.map +1 -1
  176. package/dist/resolution/frameworks/arkts-napi.js +169 -49
  177. package/dist/resolution/frameworks/arkts-napi.js.map +1 -1
  178. package/dist/search/query-utils.d.ts +157 -5
  179. package/dist/search/query-utils.d.ts.map +1 -1
  180. package/dist/search/query-utils.js +1105 -70
  181. package/dist/search/query-utils.js.map +1 -1
  182. package/dist/spec/build/scan.js +1 -1
  183. package/dist/spec/build/scan.js.map +1 -1
  184. package/dist/spec/build/scope-resolver.d.ts +24 -5
  185. package/dist/spec/build/scope-resolver.d.ts.map +1 -1
  186. package/dist/spec/build/scope-resolver.js +76 -10
  187. package/dist/spec/build/scope-resolver.js.map +1 -1
  188. package/dist/spec/config.d.ts +8 -0
  189. package/dist/spec/config.d.ts.map +1 -1
  190. package/dist/spec/config.js +3 -0
  191. package/dist/spec/config.js.map +1 -1
  192. package/dist/spec/evolve/pipeline.d.ts.map +1 -1
  193. package/dist/spec/evolve/pipeline.js +2 -1
  194. package/dist/spec/evolve/pipeline.js.map +1 -1
  195. package/dist/spec/git/commits.d.ts +8 -3
  196. package/dist/spec/git/commits.d.ts.map +1 -1
  197. package/dist/spec/git/commits.js +12 -11
  198. package/dist/spec/git/commits.js.map +1 -1
  199. package/dist/spec/mine/addon/adapter.d.ts +45 -0
  200. package/dist/spec/mine/addon/adapter.d.ts.map +1 -0
  201. package/dist/spec/mine/addon/adapter.js +118 -0
  202. package/dist/spec/mine/addon/adapter.js.map +1 -0
  203. package/dist/spec/mine/addon/render.d.ts +20 -0
  204. package/dist/spec/mine/addon/render.d.ts.map +1 -0
  205. package/dist/spec/mine/addon/render.js +41 -0
  206. package/dist/spec/mine/addon/render.js.map +1 -0
  207. package/dist/spec/mine/addon/types.d.ts +70 -0
  208. package/dist/spec/mine/addon/types.d.ts.map +1 -0
  209. package/dist/spec/mine/addon/types.js +14 -0
  210. package/dist/spec/mine/addon/types.js.map +1 -0
  211. package/dist/spec/mine/generator.d.ts +5 -1
  212. package/dist/spec/mine/generator.d.ts.map +1 -1
  213. package/dist/spec/mine/generator.js +69 -7
  214. package/dist/spec/mine/generator.js.map +1 -1
  215. package/dist/spec/mine/pipeline.d.ts.map +1 -1
  216. package/dist/spec/mine/pipeline.js +5 -1
  217. package/dist/spec/mine/pipeline.js.map +1 -1
  218. package/dist/spec/mine/scanner.d.ts +1 -0
  219. package/dist/spec/mine/scanner.d.ts.map +1 -1
  220. package/dist/spec/mine/scanner.js +1 -1
  221. package/dist/spec/mine/scanner.js.map +1 -1
  222. package/dist/spec/types.d.ts +1 -1
  223. package/dist/spec/types.d.ts.map +1 -1
  224. package/dist/types.d.ts +8 -0
  225. package/dist/types.d.ts.map +1 -1
  226. package/dist/upgrade/index.d.ts +14 -26
  227. package/dist/upgrade/index.d.ts.map +1 -1
  228. package/dist/upgrade/index.js +28 -123
  229. package/dist/upgrade/index.js.map +1 -1
  230. package/dist/upgrade/remove-binary.d.ts +19 -19
  231. package/dist/upgrade/remove-binary.d.ts.map +1 -1
  232. package/dist/upgrade/remove-binary.js +20 -21
  233. package/dist/upgrade/remove-binary.js.map +1 -1
  234. package/dist/upgrade/update-check.d.ts +4 -3
  235. package/dist/upgrade/update-check.d.ts.map +1 -1
  236. package/dist/upgrade/update-check.js +4 -3
  237. package/dist/upgrade/update-check.js.map +1 -1
  238. package/package.json +13 -9
  239. package/dist/telemetry/index.d.ts +0 -143
  240. package/dist/telemetry/index.d.ts.map +0 -1
  241. package/dist/telemetry/index.js +0 -541
  242. package/dist/telemetry/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"wasm-runtime-flags.d.ts","sourceRoot":"","sources":["../../src/extraction/wasm-runtime-flags.ts"],"names":[],"mappings":"AAkCA;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAAuB,CAAC;AAExE,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAiBvC,mFAAmF;AACnF,wBAAgB,wBAAwB,IAAI,MAAM,CAOjD;AAED,wBAAgB,mBAAmB,CAAC,EAAE,GAAE,MAAmC,GAAG,MAAM,CAEnF;AAMD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,wBAAwB,CAAC;AAEnD,mFAAmF;AACnF,wBAAgB,0BAA0B,CACxC,QAAQ,GAAE,SAAS,MAAM,EAAqB,GAC7C,OAAO,CAET;AAED,+EAA+E;AAC/E,wBAAgB,8BAA8B,CAC5C,QAAQ,GAAE,SAAS,MAAM,EAAqB,GAC7C,OAAO,CAET;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,QAAQ,GAAE,SAAS,MAAM,EAAqB,GAC7C,MAAM,EAAE,CAcV;AAED;;;;;;;;GAQG;AACH,wBAAgB,oCAAoC,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAkB7E"}
1
+ {"version":3,"file":"wasm-runtime-flags.d.ts","sourceRoot":"","sources":["../../src/extraction/wasm-runtime-flags.ts"],"names":[],"mappings":"AAqCA;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAAuB,CAAC;AAExE,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAiBvC,mFAAmF;AACnF,wBAAgB,wBAAwB,IAAI,MAAM,CAOjD;AAED,wBAAgB,mBAAmB,CAAC,EAAE,GAAE,MAAmC,GAAG,MAAM,CAEnF;AAMD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,wBAAwB,CAAC;AAEnD,mFAAmF;AACnF,wBAAgB,0BAA0B,CACxC,QAAQ,GAAE,SAAS,MAAM,EAAqB,GAC7C,OAAO,CAET;AAED,+EAA+E;AAC/E,wBAAgB,8BAA8B,CAC5C,QAAQ,GAAE,SAAS,MAAM,EAAqB,GAC7C,OAAO,CAET;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,QAAQ,GAAE,SAAS,MAAM,EAAqB,GAC7C,MAAM,EAAE,CAcV;AAED;;;;;;;;GAQG;AACH,wBAAgB,oCAAoC,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAkB7E"}
@@ -15,8 +15,12 @@ exports.relaunchWithWasmRuntimeFlagsIfNeeded = relaunchWithWasmRuntimeFlagsIfNee
15
15
  * arena while compiling these grammars on a background thread, aborting the
16
16
  * whole process with `Fatal process out of memory: Zone` — even with tens of
17
17
  * GB of system memory free, because the Zone is a V8-internal arena, not the
18
- * JS heap. Reproduced on Node 22 and 24; Node 25 is already hard-blocked for
19
- * the same crash (see ../bin/node-version-check.ts). See issues #293 and #298.
18
+ * JS heap. The trigger is not mere `Language.load` (lazy compile stays on
19
+ * Liftoff): after a large grammar is hot from repeated parse, turboshaft's
20
+ * background optimizing compile OOMs the Zone. Reproduced on Node 24 and 25+
21
+ * (see test/fixtures/wasm-zone-oom-harness.cjs); mitigated here rather than by
22
+ * blocking majors (see ../bin/node-version-check.ts for the supported floor
23
+ * only). See issues #293 and #298.
20
24
  *
21
25
  * `--liftoff-only` forces every WASM module to the Liftoff baseline compiler
22
26
  * and never runs turboshaft, which eliminates the crash. Parsing stays fully
@@ -31,10 +35,9 @@ exports.relaunchWithWasmRuntimeFlagsIfNeeded = relaunchWithWasmRuntimeFlagsIfNee
31
35
  * Also empirically, `--no-wasm-tier-up` / `--no-wasm-dynamic-tiering` do NOT
32
36
  * prevent the crash — only disabling the optimizing tier entirely does.
33
37
  *
34
- * Delivery: the bundled launcher passes the flag directly (see
35
- * scripts/build-bundle.sh and scripts/npm-shim.js); for any other launch path
36
- * (running dist directly, from source, etc.) the CLI re-execs itself once with
37
- * the flag via {@link relaunchWithWasmRuntimeFlagsIfNeeded}. V8 flags are
38
+ * Delivery: the CLI re-execs itself once with the flag via
39
+ * {@link relaunchWithWasmRuntimeFlagsIfNeeded} when launched without it
40
+ * (running dist directly, from source, npm global, etc.). V8 flags are
38
41
  * PROCESS-global, and the parse worker is created with default (inherited)
39
42
  * execArgv, so flagging the main process governs the worker's WASM compilation
40
43
  * too.
@@ -1 +1 @@
1
- {"version":3,"file":"wasm-runtime-flags.js","sourceRoot":"","sources":["../../src/extraction/wasm-runtime-flags.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wasm-runtime-flags.js","sourceRoot":"","sources":["../../src/extraction/wasm-runtime-flags.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * MCP / query-time graph source selection — project index vs OHOS SDK API db.
3
+ *
4
+ * Spec: docs/specs/0005-mcp-graph-sources-switch.md
5
+ *
6
+ * CLI: `homegraph serve mcp --sources both|project|sdk|none`
7
+ * Env: `HOMEGRAPH_SOURCES` (used when CLI omits --sources)
8
+ * Priority: explicit CLI/options > env > `both`
9
+ */
10
+ export declare const GRAPH_SOURCES_ENV = "HOMEGRAPH_SOURCES";
11
+ export type GraphSourcesMode = 'both' | 'project' | 'sdk' | 'none';
12
+ export declare const GRAPH_SOURCES_MODES: readonly GraphSourcesMode[];
13
+ export interface GraphSourceFlags {
14
+ /** Include symbols from the project's `.homegraph` main graph. */
15
+ project: boolean;
16
+ /** ATTACH + query `~/.homegraph/api` OHOS API db. */
17
+ sdk: boolean;
18
+ /** Open a HomeGraph instance at all (false only for `none`). */
19
+ openProjectDb: boolean;
20
+ }
21
+ /**
22
+ * Parse a raw mode string. Returns null when empty/undefined (caller applies default).
23
+ * Throws on non-empty invalid values.
24
+ */
25
+ export declare function parseGraphSourcesMode(raw: string | undefined | null): GraphSourcesMode | null;
26
+ /** Map mode → runtime flags. */
27
+ export declare function graphSourceFlags(mode: GraphSourcesMode): GraphSourceFlags;
28
+ /**
29
+ * Resolve effective mode.
30
+ * @param explicit - from `--sources` or `OpenOptions.sources` (wins over env)
31
+ * @param env - defaults to `process.env.HOMEGRAPH_SOURCES`
32
+ */
33
+ export declare function resolveGraphSources(explicit?: string | null, env?: NodeJS.ProcessEnv): GraphSourcesMode;
34
+ /**
35
+ * Apply CLI `--sources` into the process env so detached daemons and nested
36
+ * opens in this process see the same mode without re-parsing argv.
37
+ */
38
+ export declare function applyGraphSourcesToEnv(mode: GraphSourcesMode, env?: NodeJS.ProcessEnv): void;
39
+ /** Short success-shaped guidance when sources=none (or no usable graph). */
40
+ export declare function graphSourcesDisabledGuidance(mode?: GraphSourcesMode): string;
41
+ //# sourceMappingURL=graph-sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-sources.d.ts","sourceRoot":"","sources":["../src/graph-sources.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AAEnE,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EAKjD,CAAC;AAEX,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,OAAO,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,GAAG,EAAE,OAAO,CAAC;IACb,gEAAgE;IAChE,aAAa,EAAE,OAAO,CAAC;CACxB;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,gBAAgB,GAAG,IAAI,CAW7F;AAED,gCAAgC;AAChC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB,CAWzE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,gBAAgB,CAMlB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAEzG;AAED,4EAA4E;AAC5E,wBAAgB,4BAA4B,CAAC,IAAI,GAAE,gBAAwC,GAAG,MAAM,CAMnG"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ /**
3
+ * MCP / query-time graph source selection — project index vs OHOS SDK API db.
4
+ *
5
+ * Spec: docs/specs/0005-mcp-graph-sources-switch.md
6
+ *
7
+ * CLI: `homegraph serve mcp --sources both|project|sdk|none`
8
+ * Env: `HOMEGRAPH_SOURCES` (used when CLI omits --sources)
9
+ * Priority: explicit CLI/options > env > `both`
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.GRAPH_SOURCES_MODES = exports.GRAPH_SOURCES_ENV = void 0;
13
+ exports.parseGraphSourcesMode = parseGraphSourcesMode;
14
+ exports.graphSourceFlags = graphSourceFlags;
15
+ exports.resolveGraphSources = resolveGraphSources;
16
+ exports.applyGraphSourcesToEnv = applyGraphSourcesToEnv;
17
+ exports.graphSourcesDisabledGuidance = graphSourcesDisabledGuidance;
18
+ exports.GRAPH_SOURCES_ENV = 'HOMEGRAPH_SOURCES';
19
+ exports.GRAPH_SOURCES_MODES = [
20
+ 'both',
21
+ 'project',
22
+ 'sdk',
23
+ 'none',
24
+ ];
25
+ const MODE_SET = new Set(exports.GRAPH_SOURCES_MODES);
26
+ /**
27
+ * Parse a raw mode string. Returns null when empty/undefined (caller applies default).
28
+ * Throws on non-empty invalid values.
29
+ */
30
+ function parseGraphSourcesMode(raw) {
31
+ if (raw == null)
32
+ return null;
33
+ const trimmed = raw.trim();
34
+ if (!trimmed)
35
+ return null;
36
+ const lower = trimmed.toLowerCase();
37
+ if (!MODE_SET.has(lower)) {
38
+ throw new Error(`Invalid graph sources "${raw}". Expected one of: ${exports.GRAPH_SOURCES_MODES.join(', ')}`);
39
+ }
40
+ return lower;
41
+ }
42
+ /** Map mode → runtime flags. */
43
+ function graphSourceFlags(mode) {
44
+ switch (mode) {
45
+ case 'both':
46
+ return { project: true, sdk: true, openProjectDb: true };
47
+ case 'project':
48
+ return { project: true, sdk: false, openProjectDb: true };
49
+ case 'sdk':
50
+ return { project: false, sdk: true, openProjectDb: true };
51
+ case 'none':
52
+ return { project: false, sdk: false, openProjectDb: false };
53
+ }
54
+ }
55
+ /**
56
+ * Resolve effective mode.
57
+ * @param explicit - from `--sources` or `OpenOptions.sources` (wins over env)
58
+ * @param env - defaults to `process.env.HOMEGRAPH_SOURCES`
59
+ */
60
+ function resolveGraphSources(explicit, env = process.env) {
61
+ const fromCli = parseGraphSourcesMode(explicit ?? undefined);
62
+ if (fromCli)
63
+ return fromCli;
64
+ const fromEnv = parseGraphSourcesMode(env[exports.GRAPH_SOURCES_ENV]);
65
+ if (fromEnv)
66
+ return fromEnv;
67
+ return 'both';
68
+ }
69
+ /**
70
+ * Apply CLI `--sources` into the process env so detached daemons and nested
71
+ * opens in this process see the same mode without re-parsing argv.
72
+ */
73
+ function applyGraphSourcesToEnv(mode, env = process.env) {
74
+ env[exports.GRAPH_SOURCES_ENV] = mode;
75
+ }
76
+ /** Short success-shaped guidance when sources=none (or no usable graph). */
77
+ function graphSourcesDisabledGuidance(mode = resolveGraphSources()) {
78
+ return (`HomeGraph graph sources are set to "${mode}" — no project/SDK graph is available for this session. ` +
79
+ `Pass \`--sources both|project|sdk\` on \`homegraph serve mcp\`, or set ${exports.GRAPH_SOURCES_ENV}. ` +
80
+ `Default is both (project index + OHOS SDK API db when bound).`);
81
+ }
82
+ //# sourceMappingURL=graph-sources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-sources.js","sourceRoot":"","sources":["../src/graph-sources.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA4BH,sDAWC;AAGD,4CAWC;AAOD,kDASC;AAMD,wDAEC;AAGD,oEAMC;AApFY,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAIxC,QAAA,mBAAmB,GAAgC;IAC9D,MAAM;IACN,SAAS;IACT,KAAK;IACL,MAAM;CACE,CAAC;AAWX,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,2BAAmB,CAAC,CAAC;AAEtD;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,GAA8B;IAClE,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,0BAA0B,GAAG,uBAAuB,2BAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAC;IACJ,CAAC;IACD,OAAO,KAAyB,CAAC;AACnC,CAAC;AAED,gCAAgC;AAChC,SAAgB,gBAAgB,CAAC,IAAsB;IACrD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAC3D,KAAK,SAAS;YACZ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAC5D,KAAK,KAAK;YACR,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAC5D,KAAK,MAAM;YACT,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CACjC,QAAwB,EACxB,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;IAC7D,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,yBAAiB,CAAC,CAAC,CAAC;IAC9D,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,IAAsB,EAAE,MAAyB,OAAO,CAAC,GAAG;IACjG,GAAG,CAAC,yBAAiB,CAAC,GAAG,IAAI,CAAC;AAChC,CAAC;AAED,4EAA4E;AAC5E,SAAgB,4BAA4B,CAAC,OAAyB,mBAAmB,EAAE;IACzF,OAAO,CACL,uCAAuC,IAAI,0DAA0D;QACrG,0EAA0E,yBAAiB,IAAI;QAC/F,+DAA+D,CAChE,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -9,8 +9,11 @@ import { QueryBuilder } from './db/queries';
9
9
  import { IndexProgress, IndexResult, SyncResult } from './extraction';
10
10
  import { type OhosApiDbBinding } from './extraction/languages/arkts';
11
11
  import { ResolutionResult } from './resolution';
12
+ import { type ArkUIMigrateSnapshot } from './arkui/migrate-snapshot';
12
13
  import { WatchOptions, PendingFile } from './sync';
14
+ import { type GraphSourcesMode } from './graph-sources';
13
15
  export * from './types';
16
+ export { type GraphSourcesMode, GRAPH_SOURCES_ENV, GRAPH_SOURCES_MODES, resolveGraphSources, graphSourceFlags, parseGraphSourcesMode, } from './graph-sources';
14
17
  export { getDatabasePath, DatabaseConnection } from './db';
15
18
  export { QueryBuilder } from './db/queries';
16
19
  export { getHomeGraphDir, isInitialized, findNearestHomeGraphRoot, HOMEGRAPH_DIR, } from './directory';
@@ -21,6 +24,8 @@ export { HomeGraphError, FileError, ParseError, DatabaseError, SearchError, Vect
21
24
  export { Mutex, FileLock, processInBatches, debounce, throttle, MemoryMonitor } from './utils';
22
25
  export { FileWatcher, WatchOptions, PendingFile, LockUnavailableError } from './sync';
23
26
  export { MCPServer } from './mcp';
27
+ export { buildArkUIMigrateSnapshot, ARKUI_MIGRATE_SCHEMA_VERSION, DEFAULT_DIRECTORY_COMPONENT_LIMIT, type ArkUIMigrateSnapshot, } from './arkui';
28
+ export type { AddonCommitInput, EnrichInput, Supplement, BuildPromptContext, SpecMineAddon, } from './spec/mine/addon/types';
24
29
  /**
25
30
  * Options for initializing a new HomeGraph project
26
31
  */
@@ -38,6 +43,11 @@ export interface OpenOptions {
38
43
  sync?: boolean;
39
44
  /** Whether to run in read-only mode */
40
45
  readOnly?: boolean;
46
+ /**
47
+ * Which graph sources to use for lookups (project index and/or OHOS SDK API).
48
+ * Defaults to `HOMEGRAPH_SOURCES` env, then `both`. See Spec 0005.
49
+ */
50
+ sources?: GraphSourcesMode | string;
41
51
  }
42
52
  /**
43
53
  * Options for indexing
@@ -69,6 +79,8 @@ export declare class HomeGraph {
69
79
  private indexMutex;
70
80
  private fileLock;
71
81
  private watcher;
82
+ /** Effective graph sources for this instance (Spec 0005). */
83
+ private graphSources;
72
84
  private constructor();
73
85
  /**
74
86
  * (Re)build the query/extraction/graph layers over the current `this.queries`
@@ -134,7 +146,7 @@ export declare class HomeGraph {
134
146
  /**
135
147
  * Open synchronously (without sync)
136
148
  */
137
- static openSync(projectRoot: string): HomeGraph;
149
+ static openSync(projectRoot: string, options?: OpenOptions): HomeGraph;
138
150
  /**
139
151
  * Check if a directory has been initialized as a HomeGraph project
140
152
  */
@@ -147,6 +159,8 @@ export declare class HomeGraph {
147
159
  * Get the project root directory
148
160
  */
149
161
  getProjectRoot(): string;
162
+ /** Effective graph sources for this open (`both` | `project` | `sdk`). */
163
+ getGraphSources(): GraphSourcesMode;
150
164
  /**
151
165
  * Index all files in the project
152
166
  *
@@ -435,6 +449,11 @@ export declare class HomeGraph {
435
449
  * Get incoming edges to a node
436
450
  */
437
451
  getIncomingEdges(nodeId: string): Edge[];
452
+ /**
453
+ * ArkUI migrate / state-semantics snapshot for a scope (spec 0007).
454
+ * Scope: component name, relative file path, or directory prefix.
455
+ */
456
+ getArkUIMigrateSnapshot(scope: string): ArkUIMigrateSnapshot;
438
457
  /**
439
458
  * Get a file record by path
440
459
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -42,7 +42,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
42
42
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
43
43
  };
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.HomeGraph = exports.MCPServer = exports.LockUnavailableError = exports.FileWatcher = exports.MemoryMonitor = exports.throttle = exports.debounce = exports.processInBatches = exports.FileLock = exports.Mutex = exports.defaultLogger = exports.silentLogger = exports.getLogger = exports.setLogger = exports.ConfigError = exports.VectorError = exports.SearchError = exports.DatabaseError = exports.ParseError = exports.FileError = exports.HomeGraphError = exports.loadAllGrammars = exports.loadGrammarsForLanguages = exports.initGrammars = exports.getSupportedLanguages = exports.isGrammarLoaded = exports.isLanguageSupported = exports.detectLanguage = exports.HOMEGRAPH_DIR = exports.findNearestHomeGraphRoot = exports.isInitialized = exports.getHomeGraphDir = exports.QueryBuilder = exports.DatabaseConnection = exports.getDatabasePath = void 0;
45
+ exports.HomeGraph = exports.DEFAULT_DIRECTORY_COMPONENT_LIMIT = exports.ARKUI_MIGRATE_SCHEMA_VERSION = exports.buildArkUIMigrateSnapshot = exports.MCPServer = exports.LockUnavailableError = exports.FileWatcher = exports.MemoryMonitor = exports.throttle = exports.debounce = exports.processInBatches = exports.FileLock = exports.Mutex = exports.defaultLogger = exports.silentLogger = exports.getLogger = exports.setLogger = exports.ConfigError = exports.VectorError = exports.SearchError = exports.DatabaseError = exports.ParseError = exports.FileError = exports.HomeGraphError = exports.loadAllGrammars = exports.loadGrammarsForLanguages = exports.initGrammars = exports.getSupportedLanguages = exports.isGrammarLoaded = exports.isLanguageSupported = exports.detectLanguage = exports.HOMEGRAPH_DIR = exports.findNearestHomeGraphRoot = exports.isInitialized = exports.getHomeGraphDir = exports.QueryBuilder = exports.DatabaseConnection = exports.getDatabasePath = exports.parseGraphSourcesMode = exports.graphSourceFlags = exports.resolveGraphSources = exports.GRAPH_SOURCES_MODES = exports.GRAPH_SOURCES_ENV = void 0;
46
46
  const path = __importStar(require("path"));
47
47
  const db_1 = require("./db");
48
48
  const wal_valve_1 = require("./db/wal-valve");
@@ -53,6 +53,7 @@ const context_1 = require("./extraction/context");
53
53
  const arkts_1 = require("./extraction/languages/arkts");
54
54
  const resolution_1 = require("./resolution");
55
55
  const graph_1 = require("./graph");
56
+ const migrate_snapshot_1 = require("./arkui/migrate-snapshot");
56
57
  const context_2 = require("./context");
57
58
  const utils_1 = require("./utils");
58
59
  const sync_1 = require("./sync");
@@ -63,8 +64,15 @@ const identifier_segments_1 = require("./search/identifier-segments");
63
64
  const cooperative_yield_1 = require("./resolution/cooperative-yield");
64
65
  const resolver_pool_1 = require("./resolution/resolver-pool");
65
66
  const version_1 = require("./mcp/version");
67
+ const graph_sources_1 = require("./graph-sources");
66
68
  // Re-export types for consumers
67
69
  __exportStar(require("./types"), exports);
70
+ var graph_sources_2 = require("./graph-sources");
71
+ Object.defineProperty(exports, "GRAPH_SOURCES_ENV", { enumerable: true, get: function () { return graph_sources_2.GRAPH_SOURCES_ENV; } });
72
+ Object.defineProperty(exports, "GRAPH_SOURCES_MODES", { enumerable: true, get: function () { return graph_sources_2.GRAPH_SOURCES_MODES; } });
73
+ Object.defineProperty(exports, "resolveGraphSources", { enumerable: true, get: function () { return graph_sources_2.resolveGraphSources; } });
74
+ Object.defineProperty(exports, "graphSourceFlags", { enumerable: true, get: function () { return graph_sources_2.graphSourceFlags; } });
75
+ Object.defineProperty(exports, "parseGraphSourcesMode", { enumerable: true, get: function () { return graph_sources_2.parseGraphSourcesMode; } });
68
76
  // Storage building blocks for embedded/SDK consumers that drive the graph
69
77
  // directly (open a DB, run prepared queries) rather than through the HomeGraph
70
78
  // facade. Exposed from the package entry so they no longer require deep imports
@@ -111,6 +119,10 @@ Object.defineProperty(exports, "FileWatcher", { enumerable: true, get: function
111
119
  Object.defineProperty(exports, "LockUnavailableError", { enumerable: true, get: function () { return sync_2.LockUnavailableError; } });
112
120
  var mcp_1 = require("./mcp");
113
121
  Object.defineProperty(exports, "MCPServer", { enumerable: true, get: function () { return mcp_1.MCPServer; } });
122
+ var arkui_1 = require("./arkui");
123
+ Object.defineProperty(exports, "buildArkUIMigrateSnapshot", { enumerable: true, get: function () { return arkui_1.buildArkUIMigrateSnapshot; } });
124
+ Object.defineProperty(exports, "ARKUI_MIGRATE_SCHEMA_VERSION", { enumerable: true, get: function () { return arkui_1.ARKUI_MIGRATE_SCHEMA_VERSION; } });
125
+ Object.defineProperty(exports, "DEFAULT_DIRECTORY_COMPONENT_LIMIT", { enumerable: true, get: function () { return arkui_1.DEFAULT_DIRECTORY_COMPONENT_LIMIT; } });
114
126
  /**
115
127
  * Main HomeGraph class
116
128
  *
@@ -134,10 +146,13 @@ class HomeGraph {
134
146
  fileLock;
135
147
  // File watcher for auto-sync on file changes
136
148
  watcher = null;
137
- constructor(db, queries, projectRoot) {
149
+ /** Effective graph sources for this instance (Spec 0005). */
150
+ graphSources;
151
+ constructor(db, queries, projectRoot, sources) {
138
152
  this.db = db;
139
153
  this.queries = queries;
140
154
  this.projectRoot = projectRoot;
155
+ this.graphSources = sources ?? 'both';
141
156
  (0, context_1.bindExtractionContext)(projectRoot, queries);
142
157
  this.fileLock = new utils_1.FileLock(path.join((0, directory_2.getHomeGraphDir)(projectRoot), 'homegraph.lock'));
143
158
  this.wireLayers();
@@ -162,10 +177,17 @@ class HomeGraph {
162
177
  this.graphManager = new graph_1.GraphQueryManager(this.queries);
163
178
  this.traverser = new graph_1.GraphTraverser(this.queries);
164
179
  this.contextBuilder = (0, context_2.createContextBuilder)(this.projectRoot, this.queries, this.traverser);
165
- (0, arkts_1.restoreOhosApiDbAttach)(this.queries);
166
- if (!this.queries.getOhosApiDbPath()) {
167
- // Open path: attach a prebuilt ~/.homegraph/api db only — never build here.
168
- (0, arkts_1.attachExistingOhosApiDbForProject)(this.projectRoot, this.queries);
180
+ const flags = (0, graph_sources_1.graphSourceFlags)(this.graphSources);
181
+ this.queries.setIncludeProjectNodes(flags.project);
182
+ if (flags.sdk) {
183
+ (0, arkts_1.restoreOhosApiDbAttach)(this.queries);
184
+ if (!this.queries.getOhosApiDbPath()) {
185
+ // Open path: attach a prebuilt ~/.homegraph/api db only — never build here.
186
+ (0, arkts_1.attachExistingOhosApiDbForProject)(this.projectRoot, this.queries);
187
+ }
188
+ }
189
+ else {
190
+ this.queries.attachOhosApiDb(null);
169
191
  }
170
192
  }
171
193
  /**
@@ -261,6 +283,11 @@ class HomeGraph {
261
283
  static async open(projectRoot, options = {}) {
262
284
  await (0, extraction_1.initGrammars)();
263
285
  const resolvedRoot = path.resolve(projectRoot);
286
+ const sources = (0, graph_sources_1.resolveGraphSources)(options.sources);
287
+ if (!(0, graph_sources_1.graphSourceFlags)(sources).openProjectDb) {
288
+ throw new Error(`Cannot open HomeGraph when graph sources are "${sources}". ` +
289
+ `Use --sources both|project|sdk or unset HOMEGRAPH_SOURCES.`);
290
+ }
264
291
  // Check if initialized
265
292
  if (!(0, directory_1.isInitialized)(resolvedRoot)) {
266
293
  throw new Error(`HomeGraph not initialized in ${resolvedRoot}. Run init() first.`);
@@ -274,7 +301,7 @@ class HomeGraph {
274
301
  const dbPath = (0, db_1.getDatabasePath)(resolvedRoot);
275
302
  const db = db_1.DatabaseConnection.open(dbPath);
276
303
  const queries = new queries_1.QueryBuilder(db.getDb());
277
- const instance = new HomeGraph(db, queries, resolvedRoot);
304
+ const instance = new HomeGraph(db, queries, resolvedRoot, sources);
278
305
  // Sync if requested
279
306
  if (options.sync) {
280
307
  await instance.sync();
@@ -326,8 +353,13 @@ class HomeGraph {
326
353
  /**
327
354
  * Open synchronously (without sync)
328
355
  */
329
- static openSync(projectRoot) {
356
+ static openSync(projectRoot, options = {}) {
330
357
  const resolvedRoot = path.resolve(projectRoot);
358
+ const sources = (0, graph_sources_1.resolveGraphSources)(options.sources);
359
+ if (!(0, graph_sources_1.graphSourceFlags)(sources).openProjectDb) {
360
+ throw new Error(`Cannot open HomeGraph when graph sources are "${sources}". ` +
361
+ `Use --sources both|project|sdk or unset HOMEGRAPH_SOURCES.`);
362
+ }
331
363
  // Check if initialized
332
364
  if (!(0, directory_1.isInitialized)(resolvedRoot)) {
333
365
  throw new Error(`HomeGraph not initialized in ${resolvedRoot}. Run init() first.`);
@@ -341,7 +373,7 @@ class HomeGraph {
341
373
  const dbPath = (0, db_1.getDatabasePath)(resolvedRoot);
342
374
  const db = db_1.DatabaseConnection.open(dbPath);
343
375
  const queries = new queries_1.QueryBuilder(db.getDb());
344
- return new HomeGraph(db, queries, resolvedRoot);
376
+ return new HomeGraph(db, queries, resolvedRoot, sources);
345
377
  }
346
378
  /**
347
379
  * Check if a directory has been initialized as a HomeGraph project
@@ -364,6 +396,10 @@ class HomeGraph {
364
396
  getProjectRoot() {
365
397
  return this.projectRoot;
366
398
  }
399
+ /** Effective graph sources for this open (`both` | `project` | `sdk`). */
400
+ getGraphSources() {
401
+ return this.graphSources;
402
+ }
367
403
  // ===========================================================================
368
404
  // Indexing
369
405
  // ===========================================================================
@@ -668,6 +704,24 @@ class HomeGraph {
668
704
  }, backpressure);
669
705
  }
670
706
  }
707
+ // Re-open resolution edges this sync may have invalidated ELSEWHERE in
708
+ // the repo. Everything above re-resolves references in the changed
709
+ // files; this covers the opposite direction — references in files the
710
+ // sync never touched whose answer depended on a definition that just
711
+ // appeared or disappeared. Without it a synced index never converges
712
+ // to a full rebuild. The resurrected refs are pending rows, so the
713
+ // orphan sweep immediately below is what resolves them — batched,
714
+ // yielding, multi-pass, exactly as a full index resolves.
715
+ //
716
+ // `definitionDelta` is empty for a body-only edit, so the overwhelmingly
717
+ // common sync pays one branch. HOMEGRAPH_NO_REBIND=1 disables it.
718
+ if (result.definitionDelta && process.env.HOMEGRAPH_NO_REBIND !== '1') {
719
+ const tRebind = Date.now();
720
+ const rebound = this.orchestrator.resurrectStaleResolutionEdges(result.definitionDelta, result.changedFilePaths ?? []);
721
+ if (process.env.HOMEGRAPH_SYNTH_TIMINGS) {
722
+ console.error(`[phase-timing] sync-rebind: ${Date.now() - tRebind}ms (${result.definitionDelta.length} changed names, ${rebound} edges re-opened)`);
723
+ }
724
+ }
671
725
  const orphanCount = this.queries.getUnresolvedReferencesCount();
672
726
  if (orphanCount > 0) {
673
727
  options.onProgress?.({
@@ -950,6 +1004,7 @@ class HomeGraph {
950
1004
  getStats() {
951
1005
  const stats = this.queries.getStats();
952
1006
  stats.dbSizeBytes = this.db.getSize();
1007
+ stats.walSizeBytes = this.db.getWalSizeBytes();
953
1008
  return stats;
954
1009
  }
955
1010
  /**
@@ -1230,6 +1285,21 @@ class HomeGraph {
1230
1285
  getIncomingEdges(nodeId) {
1231
1286
  return this.queries.getIncomingEdges(nodeId);
1232
1287
  }
1288
+ /**
1289
+ * ArkUI migrate / state-semantics snapshot for a scope (spec 0007).
1290
+ * Scope: component name, relative file path, or directory prefix.
1291
+ */
1292
+ getArkUIMigrateSnapshot(scope) {
1293
+ return (0, migrate_snapshot_1.buildArkUIMigrateSnapshot)({
1294
+ getNodesByKind: (kind) => this.getNodesByKind(kind),
1295
+ getNodesByName: (name) => this.getNodesByName(name),
1296
+ getNodesInFile: (filePath) => this.getNodesInFile(filePath),
1297
+ getOutgoingEdges: (id) => this.getOutgoingEdges(id),
1298
+ getIncomingEdges: (id) => this.getIncomingEdges(id),
1299
+ getNode: (id) => this.getNode(id),
1300
+ getAllFiles: () => this.getFiles(),
1301
+ }, scope);
1302
+ }
1233
1303
  // ===========================================================================
1234
1304
  // File Operations
1235
1305
  // ===========================================================================