@nac3/forge-cli 0.2.1-alpha.60 → 1.0.1

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 (303) hide show
  1. package/README.md +5 -1
  2. package/dist/agents/bridge.d.ts.map +1 -1
  3. package/dist/agents/bridge.js +27 -0
  4. package/dist/agents/bridge.js.map +1 -1
  5. package/dist/agents/config_resolver.d.ts.map +1 -1
  6. package/dist/agents/config_resolver.js +15 -15
  7. package/dist/agents/config_resolver.js.map +1 -1
  8. package/dist/agents/runner.d.ts +8 -0
  9. package/dist/agents/runner.d.ts.map +1 -1
  10. package/dist/agents/runner.js +58 -11
  11. package/dist/agents/runner.js.map +1 -1
  12. package/dist/agents/system_prompt.d.ts.map +1 -1
  13. package/dist/agents/system_prompt.js +2 -1
  14. package/dist/agents/system_prompt.js.map +1 -1
  15. package/dist/bin/yf.d.ts.map +1 -1
  16. package/dist/bin/yf.js +18 -0
  17. package/dist/bin/yf.js.map +1 -1
  18. package/dist/chat/claude.d.ts +13 -0
  19. package/dist/chat/claude.d.ts.map +1 -1
  20. package/dist/chat/claude.js +95 -10
  21. package/dist/chat/claude.js.map +1 -1
  22. package/dist/chat/claude_cli.d.ts +10 -0
  23. package/dist/chat/claude_cli.d.ts.map +1 -1
  24. package/dist/chat/claude_cli.js +97 -16
  25. package/dist/chat/claude_cli.js.map +1 -1
  26. package/dist/chat/completion_hallucination_detector.d.ts +11 -0
  27. package/dist/chat/completion_hallucination_detector.d.ts.map +1 -1
  28. package/dist/chat/completion_hallucination_detector.js +37 -2
  29. package/dist/chat/completion_hallucination_detector.js.map +1 -1
  30. package/dist/chat/doctrine_digest.d.ts.map +1 -1
  31. package/dist/chat/doctrine_digest.js +10 -6
  32. package/dist/chat/doctrine_digest.js.map +1 -1
  33. package/dist/chat/panel.d.ts.map +1 -1
  34. package/dist/chat/panel.js +923 -50
  35. package/dist/chat/panel.js.map +1 -1
  36. package/dist/chat/refusal_detector.d.ts.map +1 -1
  37. package/dist/chat/refusal_detector.js +2 -1
  38. package/dist/chat/refusal_detector.js.map +1 -1
  39. package/dist/chat/server.d.ts +1 -0
  40. package/dist/chat/server.d.ts.map +1 -1
  41. package/dist/chat/server.js +960 -73
  42. package/dist/chat/server.js.map +1 -1
  43. package/dist/chat/session_projects.d.ts +31 -0
  44. package/dist/chat/session_projects.d.ts.map +1 -0
  45. package/dist/chat/session_projects.js +36 -0
  46. package/dist/chat/session_projects.js.map +1 -0
  47. package/dist/chat/session_store.d.ts +32 -0
  48. package/dist/chat/session_store.d.ts.map +1 -0
  49. package/dist/chat/session_store.js +58 -0
  50. package/dist/chat/session_store.js.map +1 -0
  51. package/dist/chat/tooling_section.d.ts +11 -0
  52. package/dist/chat/tooling_section.d.ts.map +1 -0
  53. package/dist/chat/tooling_section.js +70 -0
  54. package/dist/chat/tooling_section.js.map +1 -0
  55. package/dist/chat/tools/app_backend_dispatch.d.ts.map +1 -1
  56. package/dist/chat/tools/app_backend_dispatch.js +44 -1
  57. package/dist/chat/tools/app_backend_dispatch.js.map +1 -1
  58. package/dist/chat/tools/fs_editor.d.ts.map +1 -1
  59. package/dist/chat/tools/fs_editor.js +53 -3
  60. package/dist/chat/tools/fs_editor.js.map +1 -1
  61. package/dist/chat/tools/graph.js +2 -2
  62. package/dist/chat/tools/graph.js.map +1 -1
  63. package/dist/chat/tools/keys.d.ts.map +1 -1
  64. package/dist/chat/tools/keys.js +5 -18
  65. package/dist/chat/tools/keys.js.map +1 -1
  66. package/dist/chat/tools/nac3_invoke.d.ts.map +1 -1
  67. package/dist/chat/tools/nac3_invoke.js +16 -7
  68. package/dist/chat/tools/nac3_invoke.js.map +1 -1
  69. package/dist/chat/tools/shell.d.ts +6 -0
  70. package/dist/chat/tools/shell.d.ts.map +1 -1
  71. package/dist/chat/tools/shell.js +39 -0
  72. package/dist/chat/tools/shell.js.map +1 -1
  73. package/dist/chat/tools/workflow.d.ts +20 -0
  74. package/dist/chat/tools/workflow.d.ts.map +1 -1
  75. package/dist/chat/tools/workflow.js +98 -0
  76. package/dist/chat/tools/workflow.js.map +1 -1
  77. package/dist/chat/tools.d.ts.map +1 -1
  78. package/dist/chat/tools.js +79 -1
  79. package/dist/chat/tools.js.map +1 -1
  80. package/dist/chat/turn_control.d.ts +42 -0
  81. package/dist/chat/turn_control.d.ts.map +1 -0
  82. package/dist/chat/turn_control.js +53 -0
  83. package/dist/chat/turn_control.js.map +1 -0
  84. package/dist/commands/brain.js +1 -1
  85. package/dist/commands/chat.d.ts.map +1 -1
  86. package/dist/commands/chat.js +61 -10
  87. package/dist/commands/chat.js.map +1 -1
  88. package/dist/commands/graph.js +9 -9
  89. package/dist/commands/graph.js.map +1 -1
  90. package/dist/commands/keys_setup.d.ts +10 -28
  91. package/dist/commands/keys_setup.d.ts.map +1 -1
  92. package/dist/commands/keys_setup.js +54 -228
  93. package/dist/commands/keys_setup.js.map +1 -1
  94. package/dist/commands/license.d.ts.map +1 -1
  95. package/dist/commands/license.js +52 -28
  96. package/dist/commands/license.js.map +1 -1
  97. package/dist/commands/mcp.d.ts.map +1 -1
  98. package/dist/commands/mcp.js +62 -6
  99. package/dist/commands/mcp.js.map +1 -1
  100. package/dist/commands/mobile.d.ts +1 -1
  101. package/dist/commands/mobile.d.ts.map +1 -1
  102. package/dist/commands/mobile.js +32 -28
  103. package/dist/commands/mobile.js.map +1 -1
  104. package/dist/commands/onboard.d.ts +19 -0
  105. package/dist/commands/onboard.d.ts.map +1 -0
  106. package/dist/commands/onboard.js +126 -0
  107. package/dist/commands/onboard.js.map +1 -0
  108. package/dist/commands/pending.d.ts.map +1 -1
  109. package/dist/commands/pending.js +25 -1
  110. package/dist/commands/pending.js.map +1 -1
  111. package/dist/commands/projects.js +25 -1
  112. package/dist/commands/projects.js.map +1 -1
  113. package/dist/commands/review-screens.js +28 -1
  114. package/dist/commands/review-screens.js.map +1 -1
  115. package/dist/commands/workflow.d.ts +18 -0
  116. package/dist/commands/workflow.d.ts.map +1 -0
  117. package/dist/commands/workflow.js +253 -0
  118. package/dist/commands/workflow.js.map +1 -0
  119. package/dist/core/brain_config.d.ts +2 -0
  120. package/dist/core/brain_config.d.ts.map +1 -1
  121. package/dist/core/brain_config.js +18 -3
  122. package/dist/core/brain_config.js.map +1 -1
  123. package/dist/core/cf_tunnel.d.ts.map +1 -1
  124. package/dist/core/cf_tunnel.js +8 -2
  125. package/dist/core/cf_tunnel.js.map +1 -1
  126. package/dist/core/cost_router.d.ts.map +1 -1
  127. package/dist/core/cost_router.js +11 -2
  128. package/dist/core/cost_router.js.map +1 -1
  129. package/dist/core/desktop_open.d.ts +16 -0
  130. package/dist/core/desktop_open.d.ts.map +1 -0
  131. package/dist/core/desktop_open.js +114 -0
  132. package/dist/core/desktop_open.js.map +1 -0
  133. package/dist/core/keys_envelope.d.ts.map +1 -1
  134. package/dist/core/keys_envelope.js +5 -1
  135. package/dist/core/keys_envelope.js.map +1 -1
  136. package/dist/core/limits_config.d.ts +5 -0
  137. package/dist/core/limits_config.d.ts.map +1 -1
  138. package/dist/core/limits_config.js +5 -0
  139. package/dist/core/limits_config.js.map +1 -1
  140. package/dist/core/logger.d.ts.map +1 -1
  141. package/dist/core/logger.js +3 -0
  142. package/dist/core/logger.js.map +1 -1
  143. package/dist/core/pairing.d.ts +6 -0
  144. package/dist/core/pairing.d.ts.map +1 -1
  145. package/dist/core/pairing.js +41 -2
  146. package/dist/core/pairing.js.map +1 -1
  147. package/dist/core/provider_keys.d.ts.map +1 -1
  148. package/dist/core/provider_keys.js +25 -12
  149. package/dist/core/provider_keys.js.map +1 -1
  150. package/dist/core/provider_models.js +1 -1
  151. package/dist/deploy/cloudflare.d.ts.map +1 -1
  152. package/dist/deploy/cloudflare.js +13 -2
  153. package/dist/deploy/cloudflare.js.map +1 -1
  154. package/dist/design/yujin_design_resolver.d.ts +16 -0
  155. package/dist/design/yujin_design_resolver.d.ts.map +1 -1
  156. package/dist/design/yujin_design_resolver.js +103 -20
  157. package/dist/design/yujin_design_resolver.js.map +1 -1
  158. package/dist/docs/doctrine/default-design-system.md +32 -0
  159. package/dist/docs/doctrine/office-tools.md +20 -0
  160. package/dist/docs/doctrine/pizarron.md +40 -0
  161. package/dist/docs/doctrine/verb-composition.md +16 -0
  162. package/dist/docs/doctrine/workflow-kinds.md +39 -22
  163. package/dist/docs/doctrine/workflow.md +12 -4
  164. package/dist/license/auto_sync.d.ts +22 -0
  165. package/dist/license/auto_sync.d.ts.map +1 -0
  166. package/dist/license/auto_sync.js +91 -0
  167. package/dist/license/auto_sync.js.map +1 -0
  168. package/dist/license/handle_key.d.ts +32 -0
  169. package/dist/license/handle_key.d.ts.map +1 -0
  170. package/dist/license/handle_key.js +56 -0
  171. package/dist/license/handle_key.js.map +1 -0
  172. package/dist/license/hito4_client.d.ts.map +1 -1
  173. package/dist/license/hito4_client.js +63 -25
  174. package/dist/license/hito4_client.js.map +1 -1
  175. package/dist/llm/gemini_client.d.ts.map +1 -1
  176. package/dist/llm/gemini_client.js +5 -2
  177. package/dist/llm/gemini_client.js.map +1 -1
  178. package/dist/llm/managed_client.d.ts.map +1 -1
  179. package/dist/llm/managed_client.js +14 -9
  180. package/dist/llm/managed_client.js.map +1 -1
  181. package/dist/mcp/plan_bridges.d.ts +17 -0
  182. package/dist/mcp/plan_bridges.d.ts.map +1 -0
  183. package/dist/mcp/plan_bridges.js +119 -0
  184. package/dist/mcp/plan_bridges.js.map +1 -0
  185. package/dist/migrate/ai-apply.d.ts.map +1 -1
  186. package/dist/migrate/ai-apply.js +25 -2
  187. package/dist/migrate/ai-apply.js.map +1 -1
  188. package/dist/nac3/internal_manifest.d.ts.map +1 -1
  189. package/dist/nac3/internal_manifest.js +200 -10
  190. package/dist/nac3/internal_manifest.js.map +1 -1
  191. package/dist/nac3/verb_tier_map.d.ts.map +1 -1
  192. package/dist/nac3/verb_tier_map.js +3 -0
  193. package/dist/nac3/verb_tier_map.js.map +1 -1
  194. package/dist/onboarding/concierge_client.d.ts +34 -0
  195. package/dist/onboarding/concierge_client.d.ts.map +1 -0
  196. package/dist/onboarding/concierge_client.js +80 -0
  197. package/dist/onboarding/concierge_client.js.map +1 -0
  198. package/dist/onboarding/next_step.d.ts +32 -0
  199. package/dist/onboarding/next_step.d.ts.map +1 -0
  200. package/dist/onboarding/next_step.js +60 -0
  201. package/dist/onboarding/next_step.js.map +1 -0
  202. package/dist/pending/store.d.ts +7 -0
  203. package/dist/pending/store.d.ts.map +1 -1
  204. package/dist/pending/store.js +19 -0
  205. package/dist/pending/store.js.map +1 -1
  206. package/dist/pending/types.d.ts +20 -0
  207. package/dist/pending/types.d.ts.map +1 -1
  208. package/dist/pending/types.js.map +1 -1
  209. package/dist/reader/parsers/epub.d.ts.map +1 -1
  210. package/dist/reader/parsers/epub.js +6 -1
  211. package/dist/reader/parsers/epub.js.map +1 -1
  212. package/dist/relay/board_snapshot.d.ts +69 -0
  213. package/dist/relay/board_snapshot.d.ts.map +1 -0
  214. package/dist/relay/board_snapshot.js +149 -0
  215. package/dist/relay/board_snapshot.js.map +1 -0
  216. package/dist/relay/command_consumer.d.ts +97 -0
  217. package/dist/relay/command_consumer.d.ts.map +1 -0
  218. package/dist/relay/command_consumer.js +135 -0
  219. package/dist/relay/command_consumer.js.map +1 -0
  220. package/dist/relay/mock_relay.d.ts +34 -0
  221. package/dist/relay/mock_relay.d.ts.map +1 -0
  222. package/dist/relay/mock_relay.js +93 -0
  223. package/dist/relay/mock_relay.js.map +1 -0
  224. package/dist/relay/relay_client.d.ts +28 -0
  225. package/dist/relay/relay_client.d.ts.map +1 -0
  226. package/dist/relay/relay_client.js +80 -0
  227. package/dist/relay/relay_client.js.map +1 -0
  228. package/dist/relay/relay_publisher.d.ts +59 -0
  229. package/dist/relay/relay_publisher.d.ts.map +1 -0
  230. package/dist/relay/relay_publisher.js +101 -0
  231. package/dist/relay/relay_publisher.js.map +1 -0
  232. package/dist/relay/types.d.ts +54 -0
  233. package/dist/relay/types.d.ts.map +1 -0
  234. package/dist/relay/types.js +8 -0
  235. package/dist/relay/types.js.map +1 -0
  236. package/dist/semantic_graph/ast_extract.d.ts +5 -0
  237. package/dist/semantic_graph/ast_extract.d.ts.map +1 -1
  238. package/dist/semantic_graph/ast_extract.js +46 -0
  239. package/dist/semantic_graph/ast_extract.js.map +1 -1
  240. package/dist/semantic_graph/derive.d.ts +12 -0
  241. package/dist/semantic_graph/derive.d.ts.map +1 -1
  242. package/dist/semantic_graph/derive.js +325 -6
  243. package/dist/semantic_graph/derive.js.map +1 -1
  244. package/dist/semantic_graph/store.d.ts +9 -0
  245. package/dist/semantic_graph/store.d.ts.map +1 -1
  246. package/dist/semantic_graph/store.js +23 -1
  247. package/dist/semantic_graph/store.js.map +1 -1
  248. package/dist/semantic_graph/types.d.ts +1 -1
  249. package/dist/semantic_graph/types.d.ts.map +1 -1
  250. package/dist/support/github_dispatcher.d.ts.map +1 -1
  251. package/dist/support/github_dispatcher.js +30 -2
  252. package/dist/support/github_dispatcher.js.map +1 -1
  253. package/dist/tasks/supervisor.d.ts +88 -0
  254. package/dist/tasks/supervisor.d.ts.map +1 -0
  255. package/dist/tasks/supervisor.js +308 -0
  256. package/dist/tasks/supervisor.js.map +1 -0
  257. package/dist/tasks/task_type.d.ts +11 -0
  258. package/dist/tasks/task_type.d.ts.map +1 -0
  259. package/dist/tasks/task_type.js +21 -0
  260. package/dist/tasks/task_type.js.map +1 -0
  261. package/dist/vault/store.d.ts.map +1 -1
  262. package/dist/vault/store.js +6 -1
  263. package/dist/vault/store.js.map +1 -1
  264. package/dist/version.d.ts +3 -5
  265. package/dist/version.d.ts.map +1 -1
  266. package/dist/version.js +3 -5
  267. package/dist/version.js.map +1 -1
  268. package/dist/voice/providers/google.d.ts.map +1 -1
  269. package/dist/voice/providers/google.js +6 -4
  270. package/dist/voice/providers/google.js.map +1 -1
  271. package/dist/workflow/config.d.ts +43 -0
  272. package/dist/workflow/config.d.ts.map +1 -0
  273. package/dist/workflow/config.js +199 -0
  274. package/dist/workflow/config.js.map +1 -0
  275. package/dist/workflow/instances.d.ts +40 -0
  276. package/dist/workflow/instances.d.ts.map +1 -0
  277. package/dist/workflow/instances.js +122 -0
  278. package/dist/workflow/instances.js.map +1 -0
  279. package/dist/workflow/multi_view.d.ts +27 -0
  280. package/dist/workflow/multi_view.d.ts.map +1 -0
  281. package/dist/workflow/multi_view.js +76 -0
  282. package/dist/workflow/multi_view.js.map +1 -0
  283. package/dist/workflow/orchestrator.d.ts +111 -0
  284. package/dist/workflow/orchestrator.d.ts.map +1 -0
  285. package/dist/workflow/orchestrator.js +241 -0
  286. package/dist/workflow/orchestrator.js.map +1 -0
  287. package/docs/doctrine/default-design-system.md +32 -0
  288. package/docs/doctrine/office-tools.md +20 -0
  289. package/docs/doctrine/pizarron.md +40 -0
  290. package/docs/doctrine/verb-composition.md +16 -0
  291. package/docs/doctrine/workflow-kinds.md +39 -22
  292. package/docs/doctrine/workflow.md +12 -4
  293. package/package.json +2 -1
  294. package/src/i18n/catalogs/ar.json +223 -210
  295. package/src/i18n/catalogs/de.json +223 -210
  296. package/src/i18n/catalogs/en.json +223 -210
  297. package/src/i18n/catalogs/es.json +223 -210
  298. package/src/i18n/catalogs/fr.json +223 -210
  299. package/src/i18n/catalogs/hi.json +223 -210
  300. package/src/i18n/catalogs/it.json +223 -210
  301. package/src/i18n/catalogs/ja.json +223 -210
  302. package/src/i18n/catalogs/pt.json +223 -210
  303. package/src/i18n/catalogs/zh.json +223 -210
@@ -19,7 +19,39 @@
19
19
  import { promises as fs } from 'node:fs';
20
20
  import path from 'node:path';
21
21
  import { ingestFromPackageJson } from '../chat/semantic_graph_ingest.js';
22
- import { upsertNodes, upsertEdges, pruneDanglingEdges } from './store.js';
22
+ import { upsertNodes, upsertEdges, pruneDanglingEdges, pruneStaleDerivedNodes } from './store.js';
23
+ import { extractImportSpecifiersAst } from './ast_extract.js';
24
+ /* PND-078 -- prefer the TS AST import walk (robust to comments/strings);
25
+ * fall back to the regex for non-TS/JS files or on a parse failure. */
26
+ const TS_JS_FILE = /\.(tsx?|jsx?|mjs|cjs)$/i;
27
+ function importSpecifiersFor(source, fileName) {
28
+ if (TS_JS_FILE.test(fileName)) {
29
+ try {
30
+ return extractImportSpecifiersAst(source, fileName);
31
+ }
32
+ catch { /* fall back */ }
33
+ }
34
+ return extractImportSpecifiers(source);
35
+ }
36
+ /** Directorios que NUNCA son codigo del proyecto: caches, deps, build,
37
+ * control de versiones, entornos. Excluir siempre (antes el scanner
38
+ * tomaba src/__pycache__ como si fuera un modulo -- PND graph). */
39
+ const EXCLUDED_DIRS = new Set([
40
+ 'node_modules', 'dist', 'build', 'out', 'coverage',
41
+ '__pycache__', '.pytest_cache', '.mypy_cache', '.ruff_cache',
42
+ 'venv', '.venv', 'env', '.tox', 'site-packages',
43
+ '.git', '.svn', '.hg',
44
+ '.next', '.expo', '.expo-shared', '.gradle', '.idea', '.vscode',
45
+ 'target', 'bin', 'obj', '__snapshots__', '.cache',
46
+ ]);
47
+ function isExcludedDir(name) {
48
+ return name.startsWith('.') || EXCLUDED_DIRS.has(name);
49
+ }
50
+ /** Source files we index as nodes (multi-language, not just JS/TS). */
51
+ const SOURCE_FILE_RE = /\.(ts|tsx|js|jsx|mjs|cjs|py|go|rb|rs|java|kt|php|cs|swift|c|cpp|h|hpp)$/;
52
+ function isSourceFile(name) {
53
+ return SOURCE_FILE_RE.test(name) && !name.endsWith('.d.ts');
54
+ }
23
55
  /** Directorios que cuentan como un modulo (un nodo cada uno). */
24
56
  async function discoverModuleDirs(projectRoot) {
25
57
  const mods = [];
@@ -32,6 +64,11 @@ async function discoverModuleDirs(projectRoot) {
32
64
  /* packages/* y apps/* (sus raices son modulos de nivel superior). */
33
65
  await collectChildDirs(projectRoot, 'packages', add);
34
66
  await collectChildDirs(projectRoot, 'apps', add);
67
+ /* PND-089 -- proyectos React Native / Expo ponen el codigo en app/ +
68
+ * components/ en la raiz (no en src/). Sin esto el grafo de un proyecto
69
+ * RN queda vacio. */
70
+ await collectChildDirs(projectRoot, 'app', add);
71
+ await collectChildDirs(projectRoot, 'components', add);
35
72
  return mods;
36
73
  }
37
74
  async function collectChildDirs(root, parent, add) {
@@ -44,7 +81,7 @@ async function collectChildDirs(root, parent, add) {
44
81
  return;
45
82
  }
46
83
  for (const e of entries) {
47
- if (e.startsWith('.') || e === 'node_modules' || e === 'dist')
84
+ if (isExcludedDir(e))
48
85
  continue;
49
86
  let st;
50
87
  try {
@@ -57,6 +94,32 @@ async function collectChildDirs(root, parent, add) {
57
94
  add(parent + '/' + e);
58
95
  }
59
96
  }
97
+ /** Loose source FILES (not inside a sub-directory) at a given parent.
98
+ * These are real code units the dir-based scan misses -- e.g. a Python
99
+ * project with src/robot.py and no package sub-dir. One node per file. */
100
+ async function collectLooseFiles(root, parent, add) {
101
+ const abs = parent ? path.join(root, parent) : root;
102
+ let entries;
103
+ try {
104
+ entries = await fs.readdir(abs);
105
+ }
106
+ catch {
107
+ return;
108
+ }
109
+ for (const e of entries) {
110
+ if (e.startsWith('.') || !isSourceFile(e))
111
+ continue;
112
+ let st;
113
+ try {
114
+ st = await fs.stat(path.join(abs, e));
115
+ }
116
+ catch {
117
+ continue;
118
+ }
119
+ if (st.isFile())
120
+ add(parent ? parent + '/' + e : e, e);
121
+ }
122
+ }
60
123
  /** npm/dir name -> id token (lowercase, alfanumerico + dashes). */
61
124
  function sanitiseId(name) {
62
125
  return name.replace(/^@/, '').replace(/[/]/g, '-').replace(/[^a-z0-9\-_]/gi, '-').toLowerCase();
@@ -100,7 +163,7 @@ async function walkSourceFiles(absDir) {
100
163
  return out;
101
164
  }
102
165
  for (const e of entries) {
103
- if (e.startsWith('.') || e === 'node_modules' || e === 'dist')
166
+ if (isExcludedDir(e))
104
167
  continue;
105
168
  const full = path.join(absDir, e);
106
169
  let st;
@@ -117,6 +180,50 @@ async function walkSourceFiles(absDir) {
117
180
  }
118
181
  return out;
119
182
  }
183
+ /** Discover loose source files (incl. .py) as nodes. Looks at the
184
+ * project root + src/ + packages/* + apps/* roots -- files NOT nested
185
+ * in a sub-directory module. Returns {id, name, rel} per file. */
186
+ async function discoverLooseFiles(projectRoot) {
187
+ const seen = new Set();
188
+ const files = [];
189
+ const add = (rel, base) => {
190
+ const noExt = base.replace(/\.[^.]+$/, '');
191
+ const id = 'module.' + sanitiseId(noExt);
192
+ if (seen.has(id))
193
+ return;
194
+ seen.add(id);
195
+ files.push({ id, name: base, rel: rel.replace(/\\/g, '/') });
196
+ };
197
+ await collectLooseFiles(projectRoot, '', add);
198
+ await collectLooseFiles(projectRoot, 'src', add);
199
+ /* PND-089 -- RN/Expo flat files under app/ + components/ */
200
+ await collectLooseFiles(projectRoot, 'app', add);
201
+ await collectLooseFiles(projectRoot, 'components', add);
202
+ /* loose files directly under each packages/* and apps/* root */
203
+ for (const parent of ['packages', 'apps']) {
204
+ let subs;
205
+ try {
206
+ subs = await fs.readdir(path.join(projectRoot, parent));
207
+ }
208
+ catch {
209
+ continue;
210
+ }
211
+ for (const s of subs) {
212
+ if (isExcludedDir(s))
213
+ continue;
214
+ let st;
215
+ try {
216
+ st = await fs.stat(path.join(projectRoot, parent, s));
217
+ }
218
+ catch {
219
+ continue;
220
+ }
221
+ if (st.isDirectory())
222
+ await collectLooseFiles(projectRoot, parent + '/' + s, add);
223
+ }
224
+ }
225
+ return files;
226
+ }
120
227
  /** PND-081 -- purpose real de un modulo: el doc-comment inicial
121
228
  * (/​** ... *​/) del archivo "principal" del dir (index, o el de
122
229
  * igual nombre, o el mas grande). Cae a un texto generico si no
@@ -171,6 +278,161 @@ async function deriveModulePurpose(projectRoot, relDir, name) {
171
278
  const text = cleaned.length > 240 ? cleaned.slice(0, 237) + '...' : cleaned;
172
279
  return text + ' (' + relDir + ')';
173
280
  }
281
+ /** First meaningful comment / header line of a script, for a one-line
282
+ * purpose. Skips the shebang + blank lines; understands #, //, ;, --,
283
+ * and /​* *​/ comment styles. ASCII-trimmed to ~160 chars. */
284
+ function firstDocLine(content) {
285
+ const lines = content.split('\n').slice(0, 40);
286
+ for (let raw of lines) {
287
+ let l = raw.trim();
288
+ if (!l || l.startsWith('#!'))
289
+ continue; /* shebang */
290
+ /* strip a leading comment marker */
291
+ const m = l.match(/^(#+|\/\/+|;+|--|\/\*+|\*+)\s?(.*)$/);
292
+ if (!m)
293
+ continue;
294
+ l = (m[2] || '').replace(/\*+\/\s*$/, '').trim(); /* trailing */
295
+ if (l.length < 3)
296
+ continue;
297
+ return l.length > 160 ? l.slice(0, 157) + '...' : l;
298
+ }
299
+ return '';
300
+ }
301
+ /** Tooling we discover GENERICALLY across any repo (this ships to
302
+ * customers, each with their own CI/CD + scripts -- nothing hardcoded
303
+ * to yujin-forge). Three families, each a 'tooling' node so it lands in
304
+ * the graph + the prompt:
305
+ * - CI/CD: .github/workflows/*, plus single-file CIs (GitLab,
306
+ * CircleCI, Azure, Jenkins, Travis, Drone, Bitbucket).
307
+ * - npm scripts: package.json "scripts" (the universal task runner).
308
+ * - scripts dir: scripts/ (shell/node/python/powershell helpers).
309
+ * id prefix encodes the family: tool.ci.* / tool.npm.* / tool.script.*
310
+ * so the renderer can group them. */
311
+ export async function discoverTooling(projectRoot) {
312
+ const now = new Date().toISOString();
313
+ const out = [];
314
+ const mk = (id, name, purpose) => ({
315
+ id, kind: 'tooling', name, source: 'tooling-scan',
316
+ purpose: purpose.length > 200 ? purpose.slice(0, 197) + '...' : purpose,
317
+ solves: [], do_not_invent: [], api_surface: [],
318
+ confidence: 'auto', weight: 0.7, added_at: now, updated_at: now,
319
+ });
320
+ const read = async (rel) => {
321
+ try {
322
+ return await fs.readFile(path.join(projectRoot, rel), 'utf-8');
323
+ }
324
+ catch {
325
+ return null;
326
+ }
327
+ };
328
+ /* --- CI/CD: GitHub Actions (one node per workflow file) --- */
329
+ try {
330
+ const wfDir = path.join(projectRoot, '.github', 'workflows');
331
+ const entries = await fs.readdir(wfDir);
332
+ for (const e of entries) {
333
+ if (!/\.ya?ml$/i.test(e))
334
+ continue;
335
+ const content = (await read('.github/workflows/' + e)) || '';
336
+ const nameM = content.match(/^name:\s*['"]?(.+?)['"]?\s*$/m);
337
+ const wfName = nameM ? nameM[1].trim() : e;
338
+ const triggers = extractYamlTriggers(content);
339
+ const purpose = 'CI (GitHub Actions): ' + wfName
340
+ + (triggers.length ? '. Triggers: ' + triggers.join(', ') : '')
341
+ + ' [.github/workflows/' + e + ']';
342
+ out.push(mk('tool.ci.' + sanitiseId(e.replace(/\.ya?ml$/i, '')), e, purpose));
343
+ }
344
+ }
345
+ catch { /* no workflows dir */ }
346
+ /* --- CI/CD: single-file providers --- */
347
+ const singleCi = [
348
+ { rel: '.gitlab-ci.yml', provider: 'GitLab CI' },
349
+ { rel: '.circleci/config.yml', provider: 'CircleCI' },
350
+ { rel: 'azure-pipelines.yml', provider: 'Azure Pipelines' },
351
+ { rel: 'Jenkinsfile', provider: 'Jenkins' },
352
+ { rel: 'bitbucket-pipelines.yml', provider: 'Bitbucket Pipelines' },
353
+ { rel: '.drone.yml', provider: 'Drone CI' },
354
+ { rel: '.travis.yml', provider: 'Travis CI' },
355
+ ];
356
+ for (const ci of singleCi) {
357
+ const content = await read(ci.rel);
358
+ if (content == null)
359
+ continue;
360
+ const doc = firstDocLine(content);
361
+ out.push(mk('tool.ci.' + sanitiseId(ci.rel), ci.rel, 'CI (' + ci.provider + ')' + (doc ? ': ' + doc : '') + ' [' + ci.rel + ']'));
362
+ }
363
+ /* --- npm scripts (the universal task runner) --- */
364
+ const pkgRaw = await read('package.json');
365
+ if (pkgRaw) {
366
+ try {
367
+ const pkg = JSON.parse(pkgRaw);
368
+ const scripts = pkg.scripts || {};
369
+ const names = Object.keys(scripts).slice(0, 40); /* cap runaway repos */
370
+ for (const s of names) {
371
+ const cmd = String(scripts[s] || '');
372
+ out.push(mk('tool.npm.' + sanitiseId(s), s, 'npm script "' + s + '": ' + cmd + ' [run: npm run ' + s + ']'));
373
+ }
374
+ }
375
+ catch { /* malformed package.json */ }
376
+ }
377
+ /* --- scripts/ directory (shell/node/python/powershell helpers) --- */
378
+ const SCRIPT_RE = /\.(sh|bash|mjs|cjs|js|ts|py|ps1|rb)$/i;
379
+ for (const dir of ['scripts', 'script', 'tools']) {
380
+ let entries;
381
+ try {
382
+ entries = await fs.readdir(path.join(projectRoot, dir));
383
+ }
384
+ catch {
385
+ continue;
386
+ }
387
+ for (const e of entries.slice(0, 60)) {
388
+ if (e.startsWith('.') || !SCRIPT_RE.test(e))
389
+ continue;
390
+ let st;
391
+ try {
392
+ st = await fs.stat(path.join(projectRoot, dir, e));
393
+ }
394
+ catch {
395
+ continue;
396
+ }
397
+ if (!st.isFile())
398
+ continue;
399
+ const content = (await read(dir + '/' + e)) || '';
400
+ const doc = firstDocLine(content);
401
+ out.push(mk('tool.script.' + sanitiseId(dir + '-' + e), e, 'Script ' + e + (doc ? ': ' + doc : '') + ' [' + dir + '/' + e + ']'));
402
+ }
403
+ }
404
+ /* --- Makefile (list the first targets) --- */
405
+ const mkfile = (await read('Makefile')) || (await read('makefile'));
406
+ if (mkfile) {
407
+ const targets = [...mkfile.matchAll(/^([a-zA-Z0-9_][a-zA-Z0-9_\-.]*):/gm)]
408
+ .map((m) => m[1]).filter((t) => t && t !== '.PHONY').slice(0, 12);
409
+ if (targets.length) {
410
+ out.push(mk('tool.script.makefile', 'Makefile', 'Make targets: ' + targets.join(', ') + ' [run: make <target>]'));
411
+ }
412
+ }
413
+ return out;
414
+ }
415
+ /** Pull the trigger keywords out of a GitHub Actions `on:` block --
416
+ * handles `on: push`, `on: [push, pr]`, and the block form. Regex-only
417
+ * (no YAML dep); good enough for a one-line summary. */
418
+ function extractYamlTriggers(content) {
419
+ const known = ['push', 'pull_request', 'workflow_dispatch', 'schedule', 'release', 'workflow_call', 'workflow_run'];
420
+ const found = new Set();
421
+ const inline = content.match(/^on:\s*(.+)$/m);
422
+ if (inline && inline[1]) {
423
+ for (const k of known)
424
+ if (inline[1].includes(k))
425
+ found.add(k);
426
+ }
427
+ /* block form: indented keys under `on:` */
428
+ const blockM = content.match(/^on:\s*\n((?:[ \t]+.*\n?)+)/m);
429
+ if (blockM && blockM[1]) {
430
+ for (const k of known)
431
+ if (new RegExp('^[ \\t]+' + k + '\\b', 'm').test(blockM[1]))
432
+ found.add(k);
433
+ }
434
+ return [...found];
435
+ }
174
436
  /** Deriva nodos (modulo + libreria) + aristas validadas del
175
437
  * proyecto. No toca el store; el caller persiste. */
176
438
  export async function deriveProjectGraph(opts) {
@@ -198,9 +460,34 @@ export async function deriveProjectGraph(opts) {
198
460
  confidence: 'auto', weight: 0.6, added_at: now, updated_at: now,
199
461
  });
200
462
  }
201
- const allNodeIds = new Set([...mods.map((m) => m.id), ...libIds]);
463
+ /* Loose source files (incl. .py) as their own nodes -- the dir-based
464
+ * scan above misses a project whose code is a flat file (e.g.
465
+ * src/robot.py). rel -> id so import edges can resolve to them. */
466
+ const looseFiles = await discoverLooseFiles(opts.project_root);
467
+ const looseByRel = new Map();
468
+ for (const lf of looseFiles) {
469
+ looseByRel.set(lf.rel, lf.id);
470
+ moduleNodes.push({
471
+ id: lf.id, kind: 'module', name: lf.name,
472
+ source: 'ast', purpose: 'Archivo ' + lf.name + ' (' + lf.rel + ').',
473
+ solves: [], do_not_invent: [], api_surface: [],
474
+ confidence: 'auto', weight: 0.5, added_at: now, updated_at: now,
475
+ });
476
+ }
477
+ /* Tooling nodes (CI/CD + npm scripts + scripts dir). Generic across
478
+ * any repo so a customer's pipeline + helpers are DISCOVERED and land
479
+ * in the prompt -- the model stops inventing build/deploy commands. */
480
+ const toolingNodes = await discoverTooling(opts.project_root);
481
+ const allNodeIds = new Set([
482
+ ...mods.map((m) => m.id), ...libIds, ...looseFiles.map((f) => f.id),
483
+ ...toolingNodes.map((t) => t.id),
484
+ ]);
202
485
  function moduleForFile(absFile) {
203
486
  const rel = path.relative(opts.project_root, absFile).replace(/\\/g, '/');
487
+ /* exact loose-file match first (its own node), then dir prefix. */
488
+ const loose = looseByRel.get(rel);
489
+ if (loose)
490
+ return loose;
204
491
  for (const m of dirMap) {
205
492
  if (rel.startsWith(m.dir + '/'))
206
493
  return m.id;
@@ -236,7 +523,7 @@ export async function deriveProjectGraph(opts) {
236
523
  catch {
237
524
  continue;
238
525
  }
239
- for (const spec of extractImportSpecifiers(src)) {
526
+ for (const spec of importSpecifiersFor(src, f)) {
240
527
  if (spec.startsWith('node:') || spec.startsWith('bun:'))
241
528
  continue;
242
529
  if (spec.startsWith('.') || spec.startsWith('/')) {
@@ -250,6 +537,31 @@ export async function deriveProjectGraph(opts) {
250
537
  }
251
538
  }
252
539
  }
540
+ /* Loose-file imports (JS/TS specifiers only; .py yields none -- the
541
+ * Python-import grammar is not parsed here, so loose .py files appear
542
+ * as nodes without edges, which is correct for now). */
543
+ for (const lf of looseFiles) {
544
+ const abs = path.join(opts.project_root, lf.rel);
545
+ let src;
546
+ try {
547
+ src = await fs.readFile(abs, 'utf-8');
548
+ }
549
+ catch {
550
+ continue;
551
+ }
552
+ for (const spec of importSpecifiersFor(src, abs)) {
553
+ if (spec.startsWith('node:') || spec.startsWith('bun:'))
554
+ continue;
555
+ if (spec.startsWith('.') || spec.startsWith('/')) {
556
+ const target = moduleForFile(path.resolve(path.dirname(abs), spec));
557
+ if (target)
558
+ addEdge(lf.id, target, 'uses');
559
+ }
560
+ else {
561
+ addEdge(lf.id, libIdFor(spec), 'depends_on');
562
+ }
563
+ }
564
+ }
253
565
  /* Los nodos de libreria del ingest no traen added_at/updated_at
254
566
  * (su shape es IngestedNode); normalizarlos para el store. */
255
567
  const libNodes = libIngest.map((l) => ({
@@ -259,11 +571,12 @@ export async function deriveProjectGraph(opts) {
259
571
  }));
260
572
  const edges = [...edgeMap.values()];
261
573
  return {
262
- nodes: [...moduleNodes, ...libNodes],
574
+ nodes: [...moduleNodes, ...libNodes, ...toolingNodes],
263
575
  edges,
264
576
  stats: {
265
577
  module_nodes: moduleNodes.length,
266
578
  lib_nodes: libIngest.length,
579
+ tooling_nodes: toolingNodes.length,
267
580
  module_edges: edges.filter((e) => e.to_id.startsWith('module.')).length,
268
581
  lib_edges: edges.filter((e) => e.to_id.startsWith('lib.')).length,
269
582
  skipped_dangling: skipped,
@@ -279,6 +592,12 @@ export async function regenerateAndPersist(opts) {
279
592
  await upsertNodes(opts.project_slug, g.nodes);
280
593
  if (g.edges.length > 0)
281
594
  await upsertEdges(opts.project_slug, g.edges);
595
+ /* self-heal: drop auto-derived module./lib. nodes the fresh scan no
596
+ * longer produced (e.g. a stale module.__pycache__). Only when the
597
+ * scan actually found nodes, so a transient empty scan never wipes. */
598
+ if (g.nodes.length > 0) {
599
+ await pruneStaleDerivedNodes(opts.project_slug, g.nodes.map((n) => n.id));
600
+ }
282
601
  const pruned = await pruneDanglingEdges(opts.project_slug);
283
602
  return { ...g.stats, pruned: pruned.removed };
284
603
  }
@@ -1 +1 @@
1
- {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../src/semantic_graph/derive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../src/semantic_graph/derive.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,15 @@ export declare function summarize(project_slug: string): Promise<GraphSummary>;
35
35
  export declare function pruneDanglingEdges(project_slug: string): Promise<{
36
36
  removed: number;
37
37
  }>;
38
+ /** Prune stale auto-DERIVED nodes (module.* / lib.*) that the latest
39
+ * scan no longer produced -- e.g. an old `module.__pycache__` left over
40
+ * before the scanner learned to exclude it. Scoped tightly: only
41
+ * confidence='auto' nodes with a module./lib. id prefix, never the
42
+ * comp.* watcher nodes nor the chat-declared 'claimed' domain nodes.
43
+ * `keepIds` is the id set the fresh derive just upserted. */
44
+ export declare function pruneStaleDerivedNodes(project_slug: string, keepIds: Iterable<string>): Promise<{
45
+ removed: number;
46
+ }>;
38
47
  /** Wipe both tables for a project (yf graph forget). */
39
48
  export declare function forgetGraph(project_slug: string): Promise<void>;
40
49
  /** Test seam preserved for compatibility -- the store no longer
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/semantic_graph/store.ts"],"names":[],"mappings":"AA2BA,OAAO,EACL,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EACjD,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAiHpB,MAAM,WAAW,iBAAiB;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAAE;AACzE,MAAM,WAAW,iBAAiB;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAAE;AAEzE,wBAAsB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmDtG;AAED,wBAAsB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgCtG;AAED,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,IAAI,CAAC,EAAK,MAAM,CAAC;IACjB,KAAK,CAAC,EAAI,aAAa,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAI,MAAM,CAAC;IACjB;4CACwC;IACxC,cAAc,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;CAClD;AAID,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA2B/F;AAED,wBAAsB,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAOzF;AAED,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAO/F;AAED;;;oEAGoE;AACpE,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAO7E;AAED,wBAAsB,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAsB3E;AAED;;;;oEAIoE;AACpE,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAY3F;AAED,wDAAwD;AACxD,wBAAsB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUrE;AAyCD;;mCAEmC;AACnC,wBAAgB,gBAAgB,IAAI,IAAI,CAAgB"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/semantic_graph/store.ts"],"names":[],"mappings":"AA2BA,OAAO,EACL,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EACjD,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAiHpB,MAAM,WAAW,iBAAiB;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAAE;AACzE,MAAM,WAAW,iBAAiB;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAAE;AAEzE,wBAAsB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmDtG;AAED,wBAAsB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgCtG;AAED,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,IAAI,CAAC,EAAK,MAAM,CAAC;IACjB,KAAK,CAAC,EAAI,aAAa,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAI,MAAM,CAAC;IACjB;4CACwC;IACxC,cAAc,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;CAClD;AAID,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA2B/F;AAED,wBAAsB,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAOzF;AAED,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAO/F;AAED;;;oEAGoE;AACpE,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAO7E;AAED,wBAAsB,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAsB3E;AAED;;;;oEAIoE;AACpE,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAY3F;AAED;;;;;8DAK8D;AAC9D,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC9C,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB9B;AAED,wDAAwD;AACxD,wBAAsB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUrE;AAyCD;;mCAEmC;AACnC,wBAAgB,gBAAgB,IAAI,IAAI,CAAgB"}
@@ -278,7 +278,7 @@ export async function summarize(project_slug) {
278
278
  const node_count = db.prepare('SELECT COUNT(*) AS n FROM semantic_graph_nodes WHERE user_handle = ? AND project_slug = ?').get(LOCAL_USER_HANDLE, project_slug).n;
279
279
  const edge_count = db.prepare('SELECT COUNT(*) AS n FROM semantic_graph_edges WHERE user_handle = ? AND project_slug = ?').get(LOCAL_USER_HANDLE, project_slug).n;
280
280
  const by_kind_rows = db.prepare('SELECT kind, COUNT(*) AS n FROM semantic_graph_nodes WHERE user_handle = ? AND project_slug = ? GROUP BY kind').all(LOCAL_USER_HANDLE, project_slug);
281
- const by_kind = { library: 0, protocol: 0, component: 0, module: 0 };
281
+ const by_kind = { library: 0, protocol: 0, component: 0, module: 0, tooling: 0 };
282
282
  for (const r of by_kind_rows)
283
283
  by_kind[r.kind] = r.n;
284
284
  const last = db.prepare('SELECT MAX(updated_at) AS t FROM semantic_graph_nodes WHERE user_handle = ? AND project_slug = ?').get(LOCAL_USER_HANDLE, project_slug).t;
@@ -307,6 +307,28 @@ export async function pruneDanglingEdges(project_slug) {
307
307
  return { removed: r.changes };
308
308
  });
309
309
  }
310
+ /** Prune stale auto-DERIVED nodes (module.* / lib.*) that the latest
311
+ * scan no longer produced -- e.g. an old `module.__pycache__` left over
312
+ * before the scanner learned to exclude it. Scoped tightly: only
313
+ * confidence='auto' nodes with a module./lib. id prefix, never the
314
+ * comp.* watcher nodes nor the chat-declared 'claimed' domain nodes.
315
+ * `keepIds` is the id set the fresh derive just upserted. */
316
+ export async function pruneStaleDerivedNodes(project_slug, keepIds) {
317
+ const keep = new Set(keepIds);
318
+ return withDb(project_slug, (db) => {
319
+ const rows = db.prepare("SELECT id FROM semantic_graph_nodes WHERE user_handle = ? AND project_slug = ?"
320
+ + " AND confidence = 'auto' AND (id LIKE 'module.%' OR id LIKE 'lib.%' OR id LIKE 'tool.%')").all(LOCAL_USER_HANDLE, project_slug);
321
+ const del = db.prepare('DELETE FROM semantic_graph_nodes WHERE user_handle = ? AND project_slug = ? AND id = ?');
322
+ let removed = 0;
323
+ for (const r of rows) {
324
+ if (!keep.has(r.id)) {
325
+ del.run(LOCAL_USER_HANDLE, project_slug, r.id);
326
+ removed++;
327
+ }
328
+ }
329
+ return { removed };
330
+ });
331
+ }
310
332
  /** Wipe both tables for a project (yf graph forget). */
311
333
  export async function forgetGraph(project_slug) {
312
334
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/semantic_graph/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/semantic_graph/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAEe,sBAAsB,GAC3C,MAAM,YAAY,CAAC;AAEpB,MAAM,SAAS,GAAG,mBAAmB,CAAC;AACtC,MAAM,iBAAiB,GAAG,EAAE,CAAC,CAAG,+BAA+B;AAE/D;;;;;;;;;GASG;AAEH,SAAS,UAAU;IACjB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAAI,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC3C,IAAI,GAAG,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,UAAU,CAAC,YAAoB;IACtC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,OAAO,CAAC,YAAoB;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,YAAoB;IAC3C,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,YAAoB;IACtC,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/C,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACnC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAClC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,MAAM,CAAI,YAAoB,EAAE,EAAgC;IACvE,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QACpC,IAAI,CAAC;YAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;gBACd,CAAC;YAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,EAAqB;IACxC,iFAAiF;IACjF,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDP,CAAC,CAAC;AACL,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,YAAoB,EAAE,KAAkB;IACxE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC3D,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CACvB,0FAA0F,CAC3F,CAAC;QACF,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;GAkBtB,CAAC,CAAC;QACH,IAAI,QAAQ,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,IAAiB,EAAE,EAAE;YAC9C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChE,IAAI,KAAK;oBAAE,OAAO,EAAE,CAAC;;oBAAM,QAAQ,EAAE,CAAC;gBACtC,GAAG,CAAC,GAAG,CAAC;oBACN,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,YAAY;oBACrC,EAAE,EAAW,CAAC,CAAC,EAAE;oBACjB,IAAI,EAAS,CAAC,CAAC,IAAI;oBACnB,IAAI,EAAS,CAAC,CAAC,IAAI;oBACnB,OAAO,EAAM,CAAC,CAAC,OAAO,IAAI,IAAI;oBAC9B,MAAM,EAAO,CAAC,CAAC,MAAM;oBACrB,OAAO,EAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBACpC,MAAM,EAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;oBAC7C,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC;oBACpD,WAAW,EAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;oBAClD,UAAU,EAAG,CAAC,CAAC,UAAU;oBACzB,MAAM,EAAO,CAAC,CAAC,MAAM;oBACrB,QAAQ,EAAK,CAAC,CAAC,QAAQ;oBACvB,UAAU,EAAG,CAAC,CAAC,UAAU;iBAC1B,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,KAAK,CAAC,CAAC;QACV,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,YAAoB,EAAE,KAAkB;IACxE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC3D,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CACvB,0FAA0F,CAC3F,CAAC;QACF,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;GAUtB,CAAC,CAAC;QACH,IAAI,QAAQ,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,IAAiB,EAAE,EAAE;YAC9C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChE,IAAI,KAAK;oBAAE,OAAO,EAAE,CAAC;;oBAAM,QAAQ,EAAE,CAAC;gBACtC,GAAG,CAAC,GAAG,CAAC;oBACN,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,YAAY;oBACrC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK;oBACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,UAAU;iBAC1D,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,KAAK,CAAC,CAAC;QACV,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAYD,MAAM,SAAS,GAA2B,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AAE/E,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,YAAoB,EAAE,CAAgB;IACvE,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,sBAAsB,CAAC;QAChD,MAAM,MAAM,GAAa,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;QACjE,MAAM,MAAM,GAAc,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;YACrF,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,2CAA2C,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;cAChE,gDAAgD,CACnD,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,GAAG,CAAC,CAAiB,CAAC,CAAG,0CAA0C;QACzF,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAgB,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;gBAAE,SAAS;YACrD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK;gBAAE,MAAM;QACjC,CAAC;QACD,OAAO,GAAG,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,YAAoB,EAAE,EAAU;IAC5D,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAClB,0FAA0F,CAC3F,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,EAAE,EAAE,CAA2B,CAAC;QACrE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,YAAoB,EAAE,OAAe;IACvE,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,+FAA+F,CAChG,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,EAAE,OAAO,CAAiB,CAAC;QAChE,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;oEAGoE;AACpE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,YAAoB;IACrD,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,+EAA+E,CAChF,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAiB,CAAC;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,YAAoB;IAClD,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;QACjC,MAAM,UAAU,GAAI,EAAE,CAAC,OAAO,CAC5B,2FAA2F,CAC5F,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAmB,CAAC,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAI,EAAE,CAAC,OAAO,CAC5B,2FAA2F,CAC5F,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAmB,CAAC,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAC7B,+GAA+G,CAChH,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAA8C,CAAC;QACpF,MAAM,OAAO,GAAkC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAChH,KAAK,MAAM,CAAC,IAAI,YAAY;YAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,IAAI,GAAI,EAAE,CAAC,OAAO,CACtB,kGAAkG,CACnG,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAA0B,CAAC,CAAC,CAAC;QAClE,OAAO;YACL,WAAW,EAAG,iBAAiB;YAC/B,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO;YAC7C,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;oEAIoE;AACpE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,YAAoB;IAC3D,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;KAOpB,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;QAC1G,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;8DAK8D;AAC9D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,YAAoB,EAAE,OAAyB;IAE/C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,OAAO,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,gFAAgF;cAC9E,0FAA0F,CAC7F,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAA0B,CAAC;QAChE,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CACpB,wFAAwF,CACzF,CAAC;QACF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAC,OAAO,EAAE,CAAC;YAAC,CAAC;QACrF,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wDAAwD;AACxD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,YAAoB;IACpD,IAAI,CAAC;QAAC,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACpE,MAAM,IAAI,GAAG,GAAG,YAAY,KAAK,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC,CAAE,GAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACrG,IAAI,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;IACnC,CAAC;IACD;qEACiE;IACjE,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC;YAAC,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAgBD,SAAS,SAAS,CAAC,CAAa;IAC9B,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;QACpC,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;QACpC,MAAM,EAAS,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAChC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;QACvC,WAAW,EAAI,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;QACrC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM;QAC1C,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;KAC/C,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,CAAa;IAC9B,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK;QAC1D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;KAC7D,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,CAAS;IACxB,IAAI,CAAC;QAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,CAAC;IAChH,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACtB,CAAC;AAED;;mCAEmC;AACnC,MAAM,UAAU,gBAAgB,KAAuB,CAAC"}
@@ -12,7 +12,7 @@
12
12
  *
13
13
  * ASCII-only.
14
14
  */
15
- export type GraphNodeKind = 'library' | 'protocol' | 'component' | 'module';
15
+ export type GraphNodeKind = 'library' | 'protocol' | 'component' | 'module' | 'tooling';
16
16
  export type GraphEdgeKind = 'uses' | 'depends_on' | 'replaces' | 'implements' | 'solved_by';
17
17
  export type GraphConfidence = 'verified' | 'auto' | 'claimed';
18
18
  export interface GraphNode {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/semantic_graph/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE5E,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC;AAE5F,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAE9D,MAAM,WAAW,SAAS;IACxB,6FAA6F;IAC7F,EAAE,EAAa,MAAM,CAAC;IACtB,IAAI,EAAW,aAAa,CAAC;IAC7B,IAAI,EAAW,MAAM,CAAC;IACtB,OAAO,CAAC,EAAO,MAAM,CAAC;IACtB,iGAAiG;IACjG,MAAM,EAAS,MAAM,CAAC;IACtB,0CAA0C;IAC1C,OAAO,EAAQ,MAAM,CAAC;IACtB,0CAA0C;IAC1C,MAAM,EAAS,MAAM,EAAE,CAAC;IACxB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,+EAA+E;IAC/E,WAAW,EAAI,MAAM,EAAE,CAAC;IACxB,UAAU,EAAK,eAAe,CAAC;IAC/B,uDAAuD;IACvD,MAAM,EAAS,MAAM,CAAC;IACtB,QAAQ,EAAO,MAAM,CAAC;IACtB,UAAU,EAAK,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAU,MAAM,CAAC;IACnB,IAAI,EAAQ,aAAa,CAAC;IAC1B,OAAO,EAAK,MAAM,CAAC;IACnB,KAAK,EAAO,MAAM,CAAC;IACnB,MAAM,EAAM,MAAM,CAAC;IACnB,MAAM,EAAM,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAG,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAI,MAAM,CAAC;IACrB,UAAU,EAAI,MAAM,CAAC;IACrB,OAAO,EAAO,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC5C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,0EAA0E;AAC1E,eAAO,MAAM,sBAAsB,KAAK,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/semantic_graph/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC;AAE5F,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAE9D,MAAM,WAAW,SAAS;IACxB,6FAA6F;IAC7F,EAAE,EAAa,MAAM,CAAC;IACtB,IAAI,EAAW,aAAa,CAAC;IAC7B,IAAI,EAAW,MAAM,CAAC;IACtB,OAAO,CAAC,EAAO,MAAM,CAAC;IACtB,iGAAiG;IACjG,MAAM,EAAS,MAAM,CAAC;IACtB,0CAA0C;IAC1C,OAAO,EAAQ,MAAM,CAAC;IACtB,0CAA0C;IAC1C,MAAM,EAAS,MAAM,EAAE,CAAC;IACxB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,+EAA+E;IAC/E,WAAW,EAAI,MAAM,EAAE,CAAC;IACxB,UAAU,EAAK,eAAe,CAAC;IAC/B,uDAAuD;IACvD,MAAM,EAAS,MAAM,CAAC;IACtB,QAAQ,EAAO,MAAM,CAAC;IACtB,UAAU,EAAK,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAU,MAAM,CAAC;IACnB,IAAI,EAAQ,aAAa,CAAC;IAC1B,OAAO,EAAK,MAAM,CAAC;IACnB,KAAK,EAAO,MAAM,CAAC;IACnB,MAAM,EAAM,MAAM,CAAC;IACnB,MAAM,EAAM,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAG,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAI,MAAM,CAAC;IACrB,UAAU,EAAI,MAAM,CAAC;IACrB,OAAO,EAAO,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC5C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,0EAA0E;AAC1E,eAAO,MAAM,sBAAsB,KAAK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"github_dispatcher.d.ts","sourceRoot":"","sources":["../../src/support/github_dispatcher.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAmC/D;+DAC+D;AAC/D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAI1D;AAkFD,MAAM,WAAW,eAAe;IAC9B;mCAC+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;iCAC6B;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;mCAC+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,SAAS,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzF,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAuBD;4BAC4B;AAC5B,wBAAsB,8BAA8B,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CA6HxG"}
1
+ {"version":3,"file":"github_dispatcher.d.ts","sourceRoot":"","sources":["../../src/support/github_dispatcher.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAmC/D;+DAC+D;AAC/D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAI1D;AAkFD,MAAM,WAAW,eAAe;IAC9B;mCAC+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;iCAC6B;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;mCAC+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,SAAS,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzF,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAuBD;4BAC4B;AAC5B,wBAAsB,8BAA8B,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAsJxG"}