@descryy/mcp 0.11.4 → 0.11.5

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 (441) hide show
  1. package/package.json +7 -7
  2. package/dist/action-handshake.d.ts +0 -38
  3. package/dist/action-handshake.d.ts.map +0 -1
  4. package/dist/action-handshake.js +0 -127
  5. package/dist/action-handshake.js.map +0 -1
  6. package/dist/bin/descry-mcp.d.ts +0 -7
  7. package/dist/bin/descry-mcp.d.ts.map +0 -1
  8. package/dist/bin/descry-mcp.js +0 -72
  9. package/dist/bin/descry-mcp.js.map +0 -1
  10. package/dist/browser/auth.d.ts +0 -84
  11. package/dist/browser/auth.d.ts.map +0 -1
  12. package/dist/browser/auth.js +0 -233
  13. package/dist/browser/auth.js.map +0 -1
  14. package/dist/browser/capability-probe.d.ts +0 -109
  15. package/dist/browser/capability-probe.d.ts.map +0 -1
  16. package/dist/browser/capability-probe.js +0 -201
  17. package/dist/browser/capability-probe.js.map +0 -1
  18. package/dist/browser/driver.d.ts +0 -591
  19. package/dist/browser/driver.d.ts.map +0 -1
  20. package/dist/browser/driver.js +0 -116
  21. package/dist/browser/driver.js.map +0 -1
  22. package/dist/browser/evidence.d.ts +0 -28
  23. package/dist/browser/evidence.d.ts.map +0 -1
  24. package/dist/browser/evidence.js +0 -82
  25. package/dist/browser/evidence.js.map +0 -1
  26. package/dist/browser/fake-driver.d.ts +0 -116
  27. package/dist/browser/fake-driver.d.ts.map +0 -1
  28. package/dist/browser/fake-driver.js +0 -416
  29. package/dist/browser/fake-driver.js.map +0 -1
  30. package/dist/browser/fault-attribution.d.ts +0 -178
  31. package/dist/browser/fault-attribution.d.ts.map +0 -1
  32. package/dist/browser/fault-attribution.js +0 -266
  33. package/dist/browser/fault-attribution.js.map +0 -1
  34. package/dist/browser/graph-write.d.ts +0 -45
  35. package/dist/browser/graph-write.d.ts.map +0 -1
  36. package/dist/browser/graph-write.js +0 -103
  37. package/dist/browser/graph-write.js.map +0 -1
  38. package/dist/browser/identity-graph-write.d.ts +0 -55
  39. package/dist/browser/identity-graph-write.d.ts.map +0 -1
  40. package/dist/browser/identity-graph-write.js +0 -45
  41. package/dist/browser/identity-graph-write.js.map +0 -1
  42. package/dist/browser/page-probe.d.ts +0 -81
  43. package/dist/browser/page-probe.d.ts.map +0 -1
  44. package/dist/browser/page-probe.js +0 -202
  45. package/dist/browser/page-probe.js.map +0 -1
  46. package/dist/browser/playwright-driver.d.ts +0 -114
  47. package/dist/browser/playwright-driver.d.ts.map +0 -1
  48. package/dist/browser/playwright-driver.js +0 -1518
  49. package/dist/browser/playwright-driver.js.map +0 -1
  50. package/dist/browser/provider.d.ts +0 -26
  51. package/dist/browser/provider.d.ts.map +0 -1
  52. package/dist/browser/provider.js +0 -14
  53. package/dist/browser/provider.js.map +0 -1
  54. package/dist/browser/reach-recording-session.d.ts +0 -44
  55. package/dist/browser/reach-recording-session.d.ts.map +0 -1
  56. package/dist/browser/reach-recording-session.js +0 -151
  57. package/dist/browser/reach-recording-session.js.map +0 -1
  58. package/dist/browser/reachability.d.ts +0 -168
  59. package/dist/browser/reachability.d.ts.map +0 -1
  60. package/dist/browser/reachability.js +0 -294
  61. package/dist/browser/reachability.js.map +0 -1
  62. package/dist/browser/registry.d.ts +0 -126
  63. package/dist/browser/registry.d.ts.map +0 -1
  64. package/dist/browser/registry.js +0 -177
  65. package/dist/browser/registry.js.map +0 -1
  66. package/dist/browser/scenario-provenance.d.ts +0 -23
  67. package/dist/browser/scenario-provenance.d.ts.map +0 -1
  68. package/dist/browser/scenario-provenance.js +0 -73
  69. package/dist/browser/scenario-provenance.js.map +0 -1
  70. package/dist/browser/scenario-resolve.d.ts +0 -28
  71. package/dist/browser/scenario-resolve.d.ts.map +0 -1
  72. package/dist/browser/scenario-resolve.js +0 -96
  73. package/dist/browser/scenario-resolve.js.map +0 -1
  74. package/dist/browser/scenario-runner.d.ts +0 -72
  75. package/dist/browser/scenario-runner.d.ts.map +0 -1
  76. package/dist/browser/scenario-runner.js +0 -353
  77. package/dist/browser/scenario-runner.js.map +0 -1
  78. package/dist/browser/stack-parser.d.ts +0 -19
  79. package/dist/browser/stack-parser.d.ts.map +0 -1
  80. package/dist/browser/stack-parser.js +0 -85
  81. package/dist/browser/stack-parser.js.map +0 -1
  82. package/dist/browser/tool-support.d.ts +0 -71
  83. package/dist/browser/tool-support.d.ts.map +0 -1
  84. package/dist/browser/tool-support.js +0 -216
  85. package/dist/browser/tool-support.js.map +0 -1
  86. package/dist/browser/url-scheme.d.ts +0 -14
  87. package/dist/browser/url-scheme.d.ts.map +0 -1
  88. package/dist/browser/url-scheme.js +0 -38
  89. package/dist/browser/url-scheme.js.map +0 -1
  90. package/dist/browser/wait-target.d.ts +0 -37
  91. package/dist/browser/wait-target.d.ts.map +0 -1
  92. package/dist/browser/wait-target.js +0 -54
  93. package/dist/browser/wait-target.js.map +0 -1
  94. package/dist/cancellation.d.ts +0 -20
  95. package/dist/cancellation.d.ts.map +0 -1
  96. package/dist/cancellation.js +0 -41
  97. package/dist/cancellation.js.map +0 -1
  98. package/dist/capped.d.ts +0 -39
  99. package/dist/capped.d.ts.map +0 -1
  100. package/dist/capped.js +0 -43
  101. package/dist/capped.js.map +0 -1
  102. package/dist/credential-store.d.ts +0 -22
  103. package/dist/credential-store.d.ts.map +0 -1
  104. package/dist/credential-store.js +0 -33
  105. package/dist/credential-store.js.map +0 -1
  106. package/dist/disclosure-ledger.d.ts +0 -14
  107. package/dist/disclosure-ledger.d.ts.map +0 -1
  108. package/dist/disclosure-ledger.js +0 -18
  109. package/dist/disclosure-ledger.js.map +0 -1
  110. package/dist/evidence/observed-route-evidence.d.ts +0 -25
  111. package/dist/evidence/observed-route-evidence.d.ts.map +0 -1
  112. package/dist/evidence/observed-route-evidence.js +0 -76
  113. package/dist/evidence/observed-route-evidence.js.map +0 -1
  114. package/dist/heap.d.ts +0 -61
  115. package/dist/heap.d.ts.map +0 -1
  116. package/dist/heap.js +0 -82
  117. package/dist/heap.js.map +0 -1
  118. package/dist/heartbeat.d.ts +0 -46
  119. package/dist/heartbeat.d.ts.map +0 -1
  120. package/dist/heartbeat.js +0 -66
  121. package/dist/heartbeat.js.map +0 -1
  122. package/dist/index.d.ts +0 -32
  123. package/dist/index.d.ts.map +0 -1
  124. package/dist/index.js +0 -19
  125. package/dist/index.js.map +0 -1
  126. package/dist/module-trust.d.ts +0 -37
  127. package/dist/module-trust.d.ts.map +0 -1
  128. package/dist/module-trust.js +0 -77
  129. package/dist/module-trust.js.map +0 -1
  130. package/dist/path-confinement.d.ts +0 -31
  131. package/dist/path-confinement.d.ts.map +0 -1
  132. package/dist/path-confinement.js +0 -44
  133. package/dist/path-confinement.js.map +0 -1
  134. package/dist/planner/predict-then-propose.d.ts +0 -134
  135. package/dist/planner/predict-then-propose.d.ts.map +0 -1
  136. package/dist/planner/predict-then-propose.js +0 -138
  137. package/dist/planner/predict-then-propose.js.map +0 -1
  138. package/dist/planner/propose-journey.d.ts +0 -75
  139. package/dist/planner/propose-journey.d.ts.map +0 -1
  140. package/dist/planner/propose-journey.js +0 -96
  141. package/dist/planner/propose-journey.js.map +0 -1
  142. package/dist/protocol.d.ts +0 -57
  143. package/dist/protocol.d.ts.map +0 -1
  144. package/dist/protocol.js +0 -90
  145. package/dist/protocol.js.map +0 -1
  146. package/dist/registry.d.ts +0 -103
  147. package/dist/registry.d.ts.map +0 -1
  148. package/dist/registry.js +0 -327
  149. package/dist/registry.js.map +0 -1
  150. package/dist/render.d.ts +0 -623
  151. package/dist/render.d.ts.map +0 -1
  152. package/dist/render.js +0 -968
  153. package/dist/render.js.map +0 -1
  154. package/dist/runtime-registry.d.ts +0 -22
  155. package/dist/runtime-registry.d.ts.map +0 -1
  156. package/dist/runtime-registry.js +0 -142
  157. package/dist/runtime-registry.js.map +0 -1
  158. package/dist/sandbox-defaults.d.ts +0 -41
  159. package/dist/sandbox-defaults.d.ts.map +0 -1
  160. package/dist/sandbox-defaults.js +0 -14
  161. package/dist/sandbox-defaults.js.map +0 -1
  162. package/dist/scenarios/browser-run-plan-projection.d.ts +0 -161
  163. package/dist/scenarios/browser-run-plan-projection.d.ts.map +0 -1
  164. package/dist/scenarios/browser-run-plan-projection.js +0 -264
  165. package/dist/scenarios/browser-run-plan-projection.js.map +0 -1
  166. package/dist/scenarios/credential-ref.d.ts +0 -102
  167. package/dist/scenarios/credential-ref.d.ts.map +0 -1
  168. package/dist/scenarios/credential-ref.js +0 -148
  169. package/dist/scenarios/credential-ref.js.map +0 -1
  170. package/dist/scenarios/index.d.ts +0 -7
  171. package/dist/scenarios/index.d.ts.map +0 -1
  172. package/dist/scenarios/index.js +0 -7
  173. package/dist/scenarios/index.js.map +0 -1
  174. package/dist/scenarios/parse.d.ts +0 -18
  175. package/dist/scenarios/parse.d.ts.map +0 -1
  176. package/dist/scenarios/parse.js +0 -212
  177. package/dist/scenarios/parse.js.map +0 -1
  178. package/dist/scenarios/scenario.d.ts +0 -93
  179. package/dist/scenarios/scenario.d.ts.map +0 -1
  180. package/dist/scenarios/scenario.js +0 -27
  181. package/dist/scenarios/scenario.js.map +0 -1
  182. package/dist/scenarios/secret-ref.d.ts +0 -86
  183. package/dist/scenarios/secret-ref.d.ts.map +0 -1
  184. package/dist/scenarios/secret-ref.js +0 -125
  185. package/dist/scenarios/secret-ref.js.map +0 -1
  186. package/dist/scenarios/storage.d.ts +0 -21
  187. package/dist/scenarios/storage.d.ts.map +0 -1
  188. package/dist/scenarios/storage.js +0 -103
  189. package/dist/scenarios/storage.js.map +0 -1
  190. package/dist/server.d.ts +0 -61
  191. package/dist/server.d.ts.map +0 -1
  192. package/dist/server.js +0 -651
  193. package/dist/server.js.map +0 -1
  194. package/dist/session.d.ts +0 -356
  195. package/dist/session.d.ts.map +0 -1
  196. package/dist/session.js +0 -779
  197. package/dist/session.js.map +0 -1
  198. package/dist/tools/alias-kit.d.ts +0 -29
  199. package/dist/tools/alias-kit.d.ts.map +0 -1
  200. package/dist/tools/alias-kit.js +0 -21
  201. package/dist/tools/alias-kit.js.map +0 -1
  202. package/dist/tools/aliases.d.ts +0 -42
  203. package/dist/tools/aliases.d.ts.map +0 -1
  204. package/dist/tools/aliases.js +0 -52
  205. package/dist/tools/aliases.js.map +0 -1
  206. package/dist/tools/analyze-workspace.d.ts +0 -52
  207. package/dist/tools/analyze-workspace.d.ts.map +0 -1
  208. package/dist/tools/analyze-workspace.js +0 -207
  209. package/dist/tools/analyze-workspace.js.map +0 -1
  210. package/dist/tools/analyze.d.ts +0 -163
  211. package/dist/tools/analyze.d.ts.map +0 -1
  212. package/dist/tools/analyze.js +0 -724
  213. package/dist/tools/analyze.js.map +0 -1
  214. package/dist/tools/browser-click.d.ts +0 -18
  215. package/dist/tools/browser-click.d.ts.map +0 -1
  216. package/dist/tools/browser-click.js +0 -110
  217. package/dist/tools/browser-click.js.map +0 -1
  218. package/dist/tools/browser-close-session.d.ts +0 -39
  219. package/dist/tools/browser-close-session.d.ts.map +0 -1
  220. package/dist/tools/browser-close-session.js +0 -120
  221. package/dist/tools/browser-close-session.js.map +0 -1
  222. package/dist/tools/browser-fill.d.ts +0 -18
  223. package/dist/tools/browser-fill.d.ts.map +0 -1
  224. package/dist/tools/browser-fill.js +0 -117
  225. package/dist/tools/browser-fill.js.map +0 -1
  226. package/dist/tools/browser-navigate.d.ts +0 -15
  227. package/dist/tools/browser-navigate.d.ts.map +0 -1
  228. package/dist/tools/browser-navigate.js +0 -104
  229. package/dist/tools/browser-navigate.js.map +0 -1
  230. package/dist/tools/browser-read.d.ts +0 -33
  231. package/dist/tools/browser-read.d.ts.map +0 -1
  232. package/dist/tools/browser-read.js +0 -113
  233. package/dist/tools/browser-read.js.map +0 -1
  234. package/dist/tools/browser-run-scenario.d.ts +0 -28
  235. package/dist/tools/browser-run-scenario.d.ts.map +0 -1
  236. package/dist/tools/browser-run-scenario.js +0 -225
  237. package/dist/tools/browser-run-scenario.js.map +0 -1
  238. package/dist/tools/browser-save-scenario.d.ts +0 -19
  239. package/dist/tools/browser-save-scenario.d.ts.map +0 -1
  240. package/dist/tools/browser-save-scenario.js +0 -447
  241. package/dist/tools/browser-save-scenario.js.map +0 -1
  242. package/dist/tools/browser-select.d.ts +0 -20
  243. package/dist/tools/browser-select.d.ts.map +0 -1
  244. package/dist/tools/browser-select.js +0 -120
  245. package/dist/tools/browser-select.js.map +0 -1
  246. package/dist/tools/browser-snapshot.d.ts +0 -46
  247. package/dist/tools/browser-snapshot.d.ts.map +0 -1
  248. package/dist/tools/browser-snapshot.js +0 -127
  249. package/dist/tools/browser-snapshot.js.map +0 -1
  250. package/dist/tools/browser-start-session.d.ts +0 -24
  251. package/dist/tools/browser-start-session.d.ts.map +0 -1
  252. package/dist/tools/browser-start-session.js +0 -640
  253. package/dist/tools/browser-start-session.js.map +0 -1
  254. package/dist/tools/browser-submit.d.ts +0 -18
  255. package/dist/tools/browser-submit.d.ts.map +0 -1
  256. package/dist/tools/browser-submit.js +0 -106
  257. package/dist/tools/browser-submit.js.map +0 -1
  258. package/dist/tools/browser-type.d.ts +0 -18
  259. package/dist/tools/browser-type.d.ts.map +0 -1
  260. package/dist/tools/browser-type.js +0 -115
  261. package/dist/tools/browser-type.js.map +0 -1
  262. package/dist/tools/browser-wait-for.d.ts +0 -45
  263. package/dist/tools/browser-wait-for.d.ts.map +0 -1
  264. package/dist/tools/browser-wait-for.js +0 -150
  265. package/dist/tools/browser-wait-for.js.map +0 -1
  266. package/dist/tools/browser.d.ts +0 -69
  267. package/dist/tools/browser.d.ts.map +0 -1
  268. package/dist/tools/browser.js +0 -386
  269. package/dist/tools/browser.js.map +0 -1
  270. package/dist/tools/chain.d.ts +0 -41
  271. package/dist/tools/chain.d.ts.map +0 -1
  272. package/dist/tools/chain.js +0 -105
  273. package/dist/tools/chain.js.map +0 -1
  274. package/dist/tools/change-scope.d.ts +0 -25
  275. package/dist/tools/change-scope.d.ts.map +0 -1
  276. package/dist/tools/change-scope.js +0 -110
  277. package/dist/tools/change-scope.js.map +0 -1
  278. package/dist/tools/code-context.d.ts +0 -83
  279. package/dist/tools/code-context.d.ts.map +0 -1
  280. package/dist/tools/code-context.js +0 -444
  281. package/dist/tools/code-context.js.map +0 -1
  282. package/dist/tools/contracts.d.ts +0 -74
  283. package/dist/tools/contracts.d.ts.map +0 -1
  284. package/dist/tools/contracts.js +0 -196
  285. package/dist/tools/contracts.js.map +0 -1
  286. package/dist/tools/cross-pr.d.ts +0 -178
  287. package/dist/tools/cross-pr.d.ts.map +0 -1
  288. package/dist/tools/cross-pr.js +0 -370
  289. package/dist/tools/cross-pr.js.map +0 -1
  290. package/dist/tools/disclosure.d.ts +0 -75
  291. package/dist/tools/disclosure.d.ts.map +0 -1
  292. package/dist/tools/disclosure.js +0 -307
  293. package/dist/tools/disclosure.js.map +0 -1
  294. package/dist/tools/draw-conclusion.d.ts +0 -55
  295. package/dist/tools/draw-conclusion.d.ts.map +0 -1
  296. package/dist/tools/draw-conclusion.js +0 -259
  297. package/dist/tools/draw-conclusion.js.map +0 -1
  298. package/dist/tools/git-context.d.ts +0 -39
  299. package/dist/tools/git-context.d.ts.map +0 -1
  300. package/dist/tools/git-context.js +0 -385
  301. package/dist/tools/git-context.js.map +0 -1
  302. package/dist/tools/git-diff.d.ts +0 -45
  303. package/dist/tools/git-diff.d.ts.map +0 -1
  304. package/dist/tools/git-diff.js +0 -338
  305. package/dist/tools/git-diff.js.map +0 -1
  306. package/dist/tools/git-history.d.ts +0 -16
  307. package/dist/tools/git-history.d.ts.map +0 -1
  308. package/dist/tools/git-history.js +0 -106
  309. package/dist/tools/git-history.js.map +0 -1
  310. package/dist/tools/history.d.ts +0 -34
  311. package/dist/tools/history.d.ts.map +0 -1
  312. package/dist/tools/history.js +0 -121
  313. package/dist/tools/history.js.map +0 -1
  314. package/dist/tools/impact.d.ts +0 -46
  315. package/dist/tools/impact.d.ts.map +0 -1
  316. package/dist/tools/impact.js +0 -225
  317. package/dist/tools/impact.js.map +0 -1
  318. package/dist/tools/index.d.ts +0 -59
  319. package/dist/tools/index.d.ts.map +0 -1
  320. package/dist/tools/index.js +0 -70
  321. package/dist/tools/index.js.map +0 -1
  322. package/dist/tools/kit.d.ts +0 -165
  323. package/dist/tools/kit.d.ts.map +0 -1
  324. package/dist/tools/kit.js +0 -153
  325. package/dist/tools/kit.js.map +0 -1
  326. package/dist/tools/link-workspace.d.ts +0 -24
  327. package/dist/tools/link-workspace.d.ts.map +0 -1
  328. package/dist/tools/link-workspace.js +0 -131
  329. package/dist/tools/link-workspace.js.map +0 -1
  330. package/dist/tools/lookup.d.ts +0 -19
  331. package/dist/tools/lookup.d.ts.map +0 -1
  332. package/dist/tools/lookup.js +0 -63
  333. package/dist/tools/lookup.js.map +0 -1
  334. package/dist/tools/mark-incident.d.ts +0 -28
  335. package/dist/tools/mark-incident.d.ts.map +0 -1
  336. package/dist/tools/mark-incident.js +0 -188
  337. package/dist/tools/mark-incident.js.map +0 -1
  338. package/dist/tools/merged-browser.d.ts +0 -11
  339. package/dist/tools/merged-browser.d.ts.map +0 -1
  340. package/dist/tools/merged-browser.js +0 -20
  341. package/dist/tools/merged-browser.js.map +0 -1
  342. package/dist/tools/merged-context.d.ts +0 -11
  343. package/dist/tools/merged-context.d.ts.map +0 -1
  344. package/dist/tools/merged-context.js +0 -21
  345. package/dist/tools/merged-context.js.map +0 -1
  346. package/dist/tools/merged-observe.d.ts +0 -13
  347. package/dist/tools/merged-observe.d.ts.map +0 -1
  348. package/dist/tools/merged-observe.js +0 -21
  349. package/dist/tools/merged-observe.js.map +0 -1
  350. package/dist/tools/merged-workspace.d.ts +0 -14
  351. package/dist/tools/merged-workspace.d.ts.map +0 -1
  352. package/dist/tools/merged-workspace.js +0 -21
  353. package/dist/tools/merged-workspace.js.map +0 -1
  354. package/dist/tools/observe-runtime.d.ts +0 -262
  355. package/dist/tools/observe-runtime.d.ts.map +0 -1
  356. package/dist/tools/observe-runtime.js +0 -1901
  357. package/dist/tools/observe-runtime.js.map +0 -1
  358. package/dist/tools/observe-tests.d.ts +0 -57
  359. package/dist/tools/observe-tests.d.ts.map +0 -1
  360. package/dist/tools/observe-tests.js +0 -368
  361. package/dist/tools/observe-tests.js.map +0 -1
  362. package/dist/tools/observe.d.ts +0 -28
  363. package/dist/tools/observe.d.ts.map +0 -1
  364. package/dist/tools/observe.js +0 -330
  365. package/dist/tools/observe.js.map +0 -1
  366. package/dist/tools/pr-analysis.d.ts +0 -189
  367. package/dist/tools/pr-analysis.d.ts.map +0 -1
  368. package/dist/tools/pr-analysis.js +0 -374
  369. package/dist/tools/pr-analysis.js.map +0 -1
  370. package/dist/tools/pre-push.d.ts +0 -168
  371. package/dist/tools/pre-push.d.ts.map +0 -1
  372. package/dist/tools/pre-push.js +0 -416
  373. package/dist/tools/pre-push.js.map +0 -1
  374. package/dist/tools/predict-reach.d.ts +0 -57
  375. package/dist/tools/predict-reach.d.ts.map +0 -1
  376. package/dist/tools/predict-reach.js +0 -159
  377. package/dist/tools/predict-reach.js.map +0 -1
  378. package/dist/tools/propagation.d.ts +0 -37
  379. package/dist/tools/propagation.d.ts.map +0 -1
  380. package/dist/tools/propagation.js +0 -162
  381. package/dist/tools/propagation.js.map +0 -1
  382. package/dist/tools/propose-journey.d.ts +0 -16
  383. package/dist/tools/propose-journey.d.ts.map +0 -1
  384. package/dist/tools/propose-journey.js +0 -121
  385. package/dist/tools/propose-journey.js.map +0 -1
  386. package/dist/tools/prove-reach.d.ts +0 -74
  387. package/dist/tools/prove-reach.d.ts.map +0 -1
  388. package/dist/tools/prove-reach.js +0 -286
  389. package/dist/tools/prove-reach.js.map +0 -1
  390. package/dist/tools/questions.d.ts +0 -30
  391. package/dist/tools/questions.d.ts.map +0 -1
  392. package/dist/tools/questions.js +0 -232
  393. package/dist/tools/questions.js.map +0 -1
  394. package/dist/tools/refusal-fetch.d.ts +0 -35
  395. package/dist/tools/refusal-fetch.d.ts.map +0 -1
  396. package/dist/tools/refusal-fetch.js +0 -123
  397. package/dist/tools/refusal-fetch.js.map +0 -1
  398. package/dist/tools/runtime-incident.d.ts +0 -33
  399. package/dist/tools/runtime-incident.d.ts.map +0 -1
  400. package/dist/tools/runtime-incident.js +0 -67
  401. package/dist/tools/runtime-incident.js.map +0 -1
  402. package/dist/tools/runtime-journey-drive.d.ts +0 -102
  403. package/dist/tools/runtime-journey-drive.d.ts.map +0 -1
  404. package/dist/tools/runtime-journey-drive.js +0 -247
  405. package/dist/tools/runtime-journey-drive.js.map +0 -1
  406. package/dist/tools/scope.d.ts +0 -45
  407. package/dist/tools/scope.d.ts.map +0 -1
  408. package/dist/tools/scope.js +0 -217
  409. package/dist/tools/scope.js.map +0 -1
  410. package/dist/tools/similar-incidents.d.ts +0 -43
  411. package/dist/tools/similar-incidents.d.ts.map +0 -1
  412. package/dist/tools/similar-incidents.js +0 -203
  413. package/dist/tools/similar-incidents.js.map +0 -1
  414. package/dist/tools/validate.d.ts +0 -133
  415. package/dist/tools/validate.d.ts.map +0 -1
  416. package/dist/tools/validate.js +0 -520
  417. package/dist/tools/validate.js.map +0 -1
  418. package/dist/tools/verb.d.ts +0 -46
  419. package/dist/tools/verb.d.ts.map +0 -1
  420. package/dist/tools/verb.js +0 -78
  421. package/dist/tools/verb.js.map +0 -1
  422. package/dist/tools/verification-status.d.ts +0 -38
  423. package/dist/tools/verification-status.d.ts.map +0 -1
  424. package/dist/tools/verification-status.js +0 -203
  425. package/dist/tools/verification-status.js.map +0 -1
  426. package/dist/tools/verify-claim.d.ts +0 -29
  427. package/dist/tools/verify-claim.d.ts.map +0 -1
  428. package/dist/tools/verify-claim.js +0 -220
  429. package/dist/tools/verify-claim.js.map +0 -1
  430. package/dist/tools/workspace.d.ts +0 -28
  431. package/dist/tools/workspace.d.ts.map +0 -1
  432. package/dist/tools/workspace.js +0 -101
  433. package/dist/tools/workspace.js.map +0 -1
  434. package/dist/transport.d.ts +0 -32
  435. package/dist/transport.d.ts.map +0 -1
  436. package/dist/transport.js +0 -85
  437. package/dist/transport.js.map +0 -1
  438. package/dist/workspace-index.d.ts +0 -164
  439. package/dist/workspace-index.d.ts.map +0 -1
  440. package/dist/workspace-index.js +0 -381
  441. package/dist/workspace-index.js.map +0 -1
@@ -1,164 +0,0 @@
1
- /**
2
- * `indexWorkspace` — the cross-repo counterpart of `analyze`'s single-repo run.
3
- *
4
- * Gap 1 of `documents/plans/site-claims-closure-production-plan.md`. A
5
- * standalone function, **not** a second constructor on `Session` — see that
6
- * plan section for why: `session.ts`'s own header states "one repo, one
7
- * graph, one process", `DescryConfig` is singular throughout, and well over a
8
- * dozen other tool files read `session.config`/`session.repoPath` as singular
9
- * values. Widening `Session` itself would mean widening all of them. This
10
- * function instead does, once per repository in a loop, exactly what
11
- * `analyze.ts`'s `run()` already does once per source — load a repository's
12
- * own configured sources, detect, emit, read its git history — and then
13
- * merges and persists every repository's batches together in **one**
14
- * `buildGraph`/`persistGraph` pass, into one shared store.
15
- *
16
- * Ported in spirit from `descry-desktop`'s `packages/session/src/indexing
17
- * /index.ts` (`indexRepository`), which solved the same "index N
18
- * repositories into one store" problem for the desktop app's engine. The
19
- * adaptation reuses `descry-core`'s own existing per-repo pieces —
20
- * `loadConfig`, `registry.ts`'s `loadSources`/`detectSources`, `analyze.ts`'s
21
- * `optionalBatchLists`/`sourceFailureNote`/`sourceProvenanceNote` — instead of
22
- * re-discovering adapters or re-deriving batch handling, because those
23
- * already live in this package (`@descryy/mcp`) beside `analyze.ts`; there
24
- * was nothing to extract into `@descryy/core`.
25
- *
26
- * ## Why every repository's batches are merged in one `buildGraph` call,
27
- * ## not one call per repository
28
- *
29
- * `buildGraph`'s `JoinMetric`/`crossRepoJoins` (`packages/core/src/graph
30
- * /build.ts`) is computed from the batches handed to *that one call*: it
31
- * counts, per workspace-scoped node type, how many of the repositories
32
- * represented **in that call** supplied a node with the same id. A
33
- * `buildGraph` call given only one repository's batches at a time can never
34
- * see two repositories agreeing on an id — `crossRepoJoinPossible` would be
35
- * false for every type on every call, and the workspace join `analyze_workspace`
36
- * exists to prove would be invisible in its own reply. So every repository in
37
- * this call is read first, and their batches are combined into one list
38
- * before `buildGraph` runs once — the same shape `analyze.ts` already uses
39
- * for merging one repository's several *sources*, extended one level up to
40
- * merging several *repositories*. `persistGraph` still writes each batch's
41
- * rows under its own `producedBy` (DEC-014's per-adapter invalidation rule is
42
- * unaffected — a batch is still a batch, whichever repository it came from).
43
- *
44
- * ## What this deliberately does not do
45
- *
46
- * Unlike `analyze.ts`'s `run()`, this does not mint edges from confirmed
47
- * facts or re-project confirmed incidents — both are per-repository testimony
48
- * recorded in that repository's own `.descry/config.json`, and folding them
49
- * into a cross-repo indexing pass is a separate, unscoped question. A
50
- * repository indexed through `indexWorkspace` gets the code-reading half of
51
- * what `analyze` gives it; the two are not currently unified, and that is
52
- * disclosed by the caller (`analyze_workspace`), not silently assumed away
53
- * here.
54
- */
55
- import { type AmbiguousApiJoin, type AmbiguousTableJoin, type BuildResult, type GraphStamp, type ResolvedApiJoin, type ResolvedTableJoin, type StoreCounts } from "@descryy/core";
56
- import { type SourceRun } from "./tools/analyze.ts";
57
- export interface IndexWorkspaceRepoInput {
58
- /** Absolute path to the repository on disk. */
59
- readonly repoPath: string;
60
- /**
61
- * The repository's identity as `link_workspace` recorded it
62
- * (`WorkspaceRepo.repo`). Used only when the repository's own
63
- * `.descry/config.json` cannot be read at all — whenever it can, its own
64
- * `repo` field wins instead, because that is the value its adapters
65
- * actually hash node ids under; a mismatch between the two is disclosed,
66
- * never silently resolved one way (`repoIdentityNote`).
67
- */
68
- readonly repo: string;
69
- }
70
- export interface IndexWorkspaceRepoResult {
71
- readonly repo: string;
72
- readonly repoPath: string;
73
- /** `null` when this repository could not be read at all — not a git repository, or its config would not load. */
74
- readonly commitSha: string | null;
75
- readonly sources: readonly SourceRun[];
76
- readonly sourcesFailed: readonly {
77
- readonly module: string;
78
- readonly reason: string;
79
- }[];
80
- readonly sourcesSkipped: readonly {
81
- readonly source: string;
82
- readonly reason: string;
83
- }[];
84
- readonly notes: readonly string[];
85
- /** This repository's share of the one shared-store write this call made. */
86
- readonly written: {
87
- readonly nodes: number;
88
- readonly edges: number;
89
- readonly unresolved: number;
90
- readonly evictedFiles: number;
91
- };
92
- /** Lowest resolution reached by a code-reading source in this repository, or 0 if none ran. */
93
- readonly reachedResolution: number;
94
- }
95
- export interface IndexWorkspaceProgress {
96
- readonly repo: string;
97
- readonly phase: "detecting" | "emitting" | "history" | "merging" | "writing" | "done";
98
- readonly completed: number;
99
- readonly total: number;
100
- }
101
- export interface IndexWorkspaceOptions {
102
- readonly workspaceId: string;
103
- readonly repos: readonly IndexWorkspaceRepoInput[];
104
- /** Where to open/create the shared store. Passed straight to `openStore`. */
105
- readonly graphDbPath: string;
106
- /** Default true, matching `analyze`'s own default. */
107
- readonly includeHistory?: boolean;
108
- readonly maxCommits?: number;
109
- readonly onProgress?: (progress: IndexWorkspaceProgress) => void;
110
- readonly signal?: AbortSignal;
111
- }
112
- export interface IndexWorkspaceResult {
113
- readonly workspaceId: string;
114
- readonly graphDbPath: string;
115
- /** One entry per repository requested, in the order given — including one for a repository that could not be read at all. */
116
- readonly repos: readonly IndexWorkspaceRepoResult[];
117
- /** Row counts in the shared store after every repository has been indexed. */
118
- readonly stored: StoreCounts;
119
- /** The shared store's own stamp — `repoCount` here is the fact that this graph now spans more than one repository, not a staleness signal (`GraphStamp`'s own doc). `resolutionFloor` is this call's own, mirroring `analyze`'s (the minimum across every repository's code-reading sources; 0 if none ran anywhere). */
120
- readonly stamp: GraphStamp;
121
- readonly merge: {
122
- readonly mergedNodes: number;
123
- readonly mergedEdges: number;
124
- readonly collisions: number;
125
- readonly droppedEdges: number;
126
- readonly rejections: number;
127
- };
128
- /** Per workspace-scoped node type: whether this call actually saw the join happen (DEC-054).
129
- * API_ENDPOINT is no longer one of these types (DEC-NEXT-endpoint-identity-repo-scoping) —
130
- * see `apiJoins` for its own, separate join accounting. */
131
- readonly crossRepoJoins: BuildResult["crossRepoJoins"];
132
- /** The staged frontend-to-backend API_ENDPOINT join (Gap 10,
133
- * `packages/core/src/contracts/workspace-join.ts`) — run once, after `buildGraph`, over the
134
- * whole merged workspace graph. */
135
- readonly apiJoins: {
136
- readonly resolved: readonly ResolvedApiJoin[];
137
- readonly ambiguous: readonly AmbiguousApiJoin[];
138
- readonly unmatched: number;
139
- readonly unkeyed: number;
140
- };
141
- /** The staged cross-repo DATABASE_TABLE/DATABASE_COLUMN join (Gap 10's table
142
- * half, `packages/core/src/contracts/workspace-table-join.ts`) — run once,
143
- * after `buildGraph` and the API_ENDPOINT join, over the whole merged
144
- * workspace graph. */
145
- readonly tableJoins: {
146
- readonly resolved: readonly ResolvedTableJoin[];
147
- readonly ambiguous: readonly AmbiguousTableJoin[];
148
- readonly unkeyed: number;
149
- readonly singletons: number;
150
- };
151
- readonly notes: readonly string[];
152
- }
153
- /**
154
- * Index every repository in `options.repos` into one shared graph store at
155
- * `options.graphDbPath`, creating it if absent.
156
- *
157
- * One repository failing to read — not a git repository, an unreadable
158
- * config, every adapter refusing it — costs only its own rows; the others
159
- * are still read, merged and persisted, the same "one adapter's failure
160
- * costs its own rows and nothing else" posture `analyze.ts` already takes one
161
- * level down.
162
- */
163
- export declare function indexWorkspace(options: IndexWorkspaceOptions): Promise<IndexWorkspaceResult>;
164
- //# sourceMappingURL=workspace-index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-index.d.ts","sourceRoot":"","sources":["../src/workspace-index.ts"],"names":[],"mappings":"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"}
@@ -1,381 +0,0 @@
1
- /**
2
- * `indexWorkspace` — the cross-repo counterpart of `analyze`'s single-repo run.
3
- *
4
- * Gap 1 of `documents/plans/site-claims-closure-production-plan.md`. A
5
- * standalone function, **not** a second constructor on `Session` — see that
6
- * plan section for why: `session.ts`'s own header states "one repo, one
7
- * graph, one process", `DescryConfig` is singular throughout, and well over a
8
- * dozen other tool files read `session.config`/`session.repoPath` as singular
9
- * values. Widening `Session` itself would mean widening all of them. This
10
- * function instead does, once per repository in a loop, exactly what
11
- * `analyze.ts`'s `run()` already does once per source — load a repository's
12
- * own configured sources, detect, emit, read its git history — and then
13
- * merges and persists every repository's batches together in **one**
14
- * `buildGraph`/`persistGraph` pass, into one shared store.
15
- *
16
- * Ported in spirit from `descry-desktop`'s `packages/session/src/indexing
17
- * /index.ts` (`indexRepository`), which solved the same "index N
18
- * repositories into one store" problem for the desktop app's engine. The
19
- * adaptation reuses `descry-core`'s own existing per-repo pieces —
20
- * `loadConfig`, `registry.ts`'s `loadSources`/`detectSources`, `analyze.ts`'s
21
- * `optionalBatchLists`/`sourceFailureNote`/`sourceProvenanceNote` — instead of
22
- * re-discovering adapters or re-deriving batch handling, because those
23
- * already live in this package (`@descryy/mcp`) beside `analyze.ts`; there
24
- * was nothing to extract into `@descryy/core`.
25
- *
26
- * ## Why every repository's batches are merged in one `buildGraph` call,
27
- * ## not one call per repository
28
- *
29
- * `buildGraph`'s `JoinMetric`/`crossRepoJoins` (`packages/core/src/graph
30
- * /build.ts`) is computed from the batches handed to *that one call*: it
31
- * counts, per workspace-scoped node type, how many of the repositories
32
- * represented **in that call** supplied a node with the same id. A
33
- * `buildGraph` call given only one repository's batches at a time can never
34
- * see two repositories agreeing on an id — `crossRepoJoinPossible` would be
35
- * false for every type on every call, and the workspace join `analyze_workspace`
36
- * exists to prove would be invisible in its own reply. So every repository in
37
- * this call is read first, and their batches are combined into one list
38
- * before `buildGraph` runs once — the same shape `analyze.ts` already uses
39
- * for merging one repository's several *sources*, extended one level up to
40
- * merging several *repositories*. `persistGraph` still writes each batch's
41
- * rows under its own `producedBy` (DEC-014's per-adapter invalidation rule is
42
- * unaffected — a batch is still a batch, whichever repository it came from).
43
- *
44
- * ## What this deliberately does not do
45
- *
46
- * Unlike `analyze.ts`'s `run()`, this does not mint edges from confirmed
47
- * facts or re-project confirmed incidents — both are per-repository testimony
48
- * recorded in that repository's own `.descry/config.json`, and folding them
49
- * into a cross-repo indexing pass is a separate, unscoped question. A
50
- * repository indexed through `indexWorkspace` gets the code-reading half of
51
- * what `analyze` gives it; the two are not currently unified, and that is
52
- * disclosed by the caller (`analyze_workspace`), not silently assumed away
53
- * here.
54
- */
55
- import { mkdirSync } from "node:fs";
56
- import { dirname } from "node:path";
57
- import { buildGraph, counts, createGitSource, createStoreProvider, getNode, gitHead, isGitRepository, NodeSqliteDriver, openStore, persistGraph, rebuildStaleGraph, repoOfEndpoint, repoOfTable, resolveWorkspaceApiJoins, resolveWorkspaceTableJoins, } from "@descryy/core";
58
- import { detectSources, loadSources } from "./registry.js";
59
- import { loadConfig } from "./session.js";
60
- import { optionalBatchLists, sourceFailureNote, sourceProvenanceNote } from "./tools/analyze.js";
61
- /** Repairs a workspace graph database written under an older IR schema
62
- * version, mirroring `Session.repairStaleGraph`'s own pattern — a version
63
- * bump (e.g. DEC-NEXT-endpoint-identity-repo-scoping's API_ENDPOINT/
64
- * DATABASE_TABLE/DATABASE_COLUMN identity fix) makes every id of the
65
- * affected types wrong for what this build computes, and `openStore` alone
66
- * would otherwise just throw `SchemaVersionError` here with nothing to
67
- * repair it — `indexWorkspace` is the one caller entitled to fix this,
68
- * because it is about to rebuild from source anyway (DEC-017). Earned data
69
- * (R4 observations, edge corrections, incident links) survives; only the
70
- * derived tables (nodes/edges/...) are dropped, and this call's own re-read
71
- * of every repository repopulates them. A path that does not exist yet, or
72
- * is already current, is a no-op — not an error. */
73
- function repairStaleWorkspaceGraph(graphDbPath) {
74
- if (graphDbPath === ":memory:")
75
- return { rebuilt: false };
76
- const driver = new NodeSqliteDriver();
77
- try {
78
- driver.open(graphDbPath);
79
- return rebuildStaleGraph(driver);
80
- }
81
- catch {
82
- // Missing directory, corrupt file, or a store that doesn't exist yet —
83
- // not this function's job. `openStore` right after hits the same case
84
- // via its own disclosed error handling.
85
- return { rebuilt: false };
86
- }
87
- finally {
88
- driver.close();
89
- }
90
- }
91
- /** The declared identity disagreeing with the repository's own config is disclosed, never silently picked one way. */
92
- function repoIdentityNote(declared, actual) {
93
- if (declared === actual)
94
- return undefined;
95
- return (`The workspace declared this repository's identity as "${declared}" (from link_workspace), but its ` +
96
- `own .descry/config.json now says "${actual}". The config's own value was used — that is what its ` +
97
- `adapters actually hash repo-scoped node ids under — so update the workspace declaration if "${declared}" ` +
98
- "was the intended identity.");
99
- }
100
- /** Reads one repository's configured sources and git history into batches. Writes nothing — see this module's own header for why every repository is read before anything is merged or persisted. */
101
- async function readOneRepo(input, workspaceId, includeHistory, maxCommits, report, signal) {
102
- const notes = [];
103
- const empty = {
104
- repo: input.repo,
105
- repoPath: input.repoPath,
106
- commitSha: null,
107
- batches: [],
108
- sources: [],
109
- sourcesFailed: [],
110
- sourcesSkipped: [],
111
- notes,
112
- reachedResolution: 0,
113
- };
114
- if (!(await isGitRepository(input.repoPath))) {
115
- notes.push(`${input.repoPath} is not a git repository. Every node is stamped with the commit it was read at, ` +
116
- "so there is nothing honest to record for it — this repository was not indexed.");
117
- return empty;
118
- }
119
- const config = await loadConfig(input.repoPath).catch((error) => {
120
- notes.push(`${input.repoPath}'s .descry/config.json could not be read (${error instanceof Error ? error.message : String(error)}) — this repository was not indexed.`);
121
- return null;
122
- });
123
- if (config === null)
124
- return empty;
125
- const identityNote = repoIdentityNote(input.repo, config.repo);
126
- if (identityNote !== undefined)
127
- notes.push(identityNote);
128
- const repoLabel = config.repo;
129
- const commitSha = await gitHead(input.repoPath);
130
- const root = { repo: repoLabel, workspace: workspaceId, absolutePath: input.repoPath, commitSha };
131
- const context = { root, prepareTimeoutMs: 300_000, signal };
132
- const registry = await loadSources(config.sources, input.repoPath);
133
- for (const failure of registry.failed) {
134
- notes.push(`The source "${failure.spec.module}" could not be loaded (${failure.reason}). Anything it would ` +
135
- "have read is not analysable — not clean.");
136
- }
137
- for (const entry of registry.loaded)
138
- notes.push(sourceProvenanceNote(entry));
139
- if (config.sources.length === 0) {
140
- notes.push("No language adapters are configured for this repository, so nothing was read from source.");
141
- }
142
- const { applicable, skipped } = await detectSources(registry.loaded, root);
143
- for (const entry of skipped) {
144
- notes.push(`${entry.source.source.id} did not run: it ${entry.reason}.`);
145
- }
146
- const batches = [];
147
- const perSource = [];
148
- const codeResolutions = [];
149
- const total = applicable.length + (includeHistory ? 1 : 0);
150
- let done = 0;
151
- for (const entry of applicable) {
152
- report({ repo: repoLabel, phase: "detecting", completed: done, total });
153
- const started = Date.now();
154
- let batch;
155
- try {
156
- batch = await entry.source.emit(context);
157
- }
158
- catch (error) {
159
- notes.push(sourceFailureNote(entry.source.id, error, "emit"));
160
- await entry.adapter?.dispose();
161
- done += 1;
162
- continue;
163
- }
164
- try {
165
- const { skippedFiles, unresolved } = optionalBatchLists(batch);
166
- batches.push(batch);
167
- perSource.push({
168
- source: batch.producedBy,
169
- installedVersion: entry.packageVersion,
170
- files: batch.sourceFiles.length,
171
- nodes: batch.nodes.length,
172
- edges: batch.edges.length,
173
- unresolved: unresolved.length,
174
- skippedFiles: skippedFiles.length,
175
- reachedResolution: batch.reachedResolution,
176
- ms: Date.now() - started,
177
- });
178
- const ceiling = entry.adapter?.capabilities().maxResolution;
179
- if (ceiling !== undefined)
180
- codeResolutions.push(batch.reachedResolution);
181
- if (ceiling !== undefined && batch.reachedResolution < ceiling) {
182
- notes.push(`${entry.source.id} reached R${batch.reachedResolution} where it is capable of R${ceiling}.`);
183
- }
184
- }
185
- catch (error) {
186
- notes.push(sourceFailureNote(entry.source.id, error, "engine"));
187
- }
188
- finally {
189
- await entry.adapter?.dispose();
190
- done += 1;
191
- }
192
- }
193
- if (includeHistory) {
194
- report({ repo: repoLabel, phase: "history", completed: done, total });
195
- const historyStarted = Date.now();
196
- try {
197
- const history = await createGitSource({
198
- repo: repoLabel,
199
- cwd: input.repoPath,
200
- ...(typeof maxCommits === "number" ? { maxCommits } : {}),
201
- }).emit(context);
202
- batches.push(history);
203
- perSource.push({
204
- source: history.producedBy,
205
- installedVersion: null,
206
- files: history.sourceFiles.length,
207
- nodes: history.nodes.length,
208
- edges: history.edges.length,
209
- unresolved: history.unresolved.length,
210
- skippedFiles: history.skippedFiles.length,
211
- reachedResolution: history.reachedResolution,
212
- ms: Date.now() - historyStarted,
213
- });
214
- }
215
- catch (error) {
216
- notes.push(`Git history was not read (${error instanceof Error ? error.message : String(error)}), so ` +
217
- "co-change coupling is absent for this repository.");
218
- }
219
- done += 1;
220
- }
221
- report({ repo: repoLabel, phase: "done", completed: total, total });
222
- return {
223
- repo: repoLabel,
224
- repoPath: input.repoPath,
225
- commitSha,
226
- batches,
227
- sources: perSource,
228
- sourcesFailed: registry.failed.map((f) => ({ module: f.spec.module, reason: f.reason })),
229
- sourcesSkipped: skipped.map((s) => ({ source: s.source.source.id, reason: s.reason })),
230
- notes,
231
- reachedResolution: codeResolutions.length === 0 ? 0 : Math.min(...codeResolutions),
232
- };
233
- }
234
- /**
235
- * Index every repository in `options.repos` into one shared graph store at
236
- * `options.graphDbPath`, creating it if absent.
237
- *
238
- * One repository failing to read — not a git repository, an unreadable
239
- * config, every adapter refusing it — costs only its own rows; the others
240
- * are still read, merged and persisted, the same "one adapter's failure
241
- * costs its own rows and nothing else" posture `analyze.ts` already takes one
242
- * level down.
243
- */
244
- export async function indexWorkspace(options) {
245
- const report = options.onProgress ?? (() => { });
246
- const includeHistory = options.includeHistory ?? true;
247
- const signal = options.signal ?? new AbortController().signal;
248
- const reads = [];
249
- for (const repoInput of options.repos) {
250
- reads.push(await readOneRepo(repoInput, options.workspaceId, includeHistory, options.maxCommits, report, signal));
251
- }
252
- if (options.graphDbPath !== ":memory:") {
253
- mkdirSync(dirname(options.graphDbPath), { recursive: true });
254
- }
255
- // A shared workspace graph already on disk under an older IR schema version
256
- // (e.g. written before DEC-NEXT-endpoint-identity-repo-scoping) would
257
- // otherwise make the plain `openStore` below throw `SchemaVersionError` with
258
- // nothing here to repair it — see `repairStaleWorkspaceGraph`'s own doc.
259
- const { rebuilt } = repairStaleWorkspaceGraph(options.graphDbPath);
260
- const store = openStore(options.graphDbPath);
261
- try {
262
- const allBatches = reads.flatMap((r) => r.batches);
263
- report({ repo: options.workspaceId, phase: "merging", completed: reads.length, total: reads.length });
264
- const built = buildGraph(allBatches, { nodeExists: (id) => getNode(store.driver, id) != null });
265
- // Gap 10: the frontend-to-backend API_ENDPOINT join no longer happens
266
- // inside `buildGraph` (API_ENDPOINT is repo-scoped now) — resolve it here,
267
- // once, over the whole merged workspace graph, before persisting.
268
- const repoOf = repoOfEndpoint(allBatches);
269
- const apiJoins = resolveWorkspaceApiJoins(built.nodes, built.edges, repoOf);
270
- // Gap 10's table half: DATABASE_TABLE/DATABASE_COLUMN are repo-scoped now
271
- // too (same ruling), and the join runs the same way — once, over the
272
- // whole merged workspace graph, chained after the API_ENDPOINT join so
273
- // both rewrites land in the edges persisted below.
274
- const repoOfTables = repoOfTable(allBatches);
275
- const tableJoins = resolveWorkspaceTableJoins(built.nodes, apiJoins.edges, repoOfTables);
276
- const builtWithJoins = { ...built, edges: tableJoins.edges };
277
- report({ repo: options.workspaceId, phase: "writing", completed: reads.length, total: reads.length });
278
- const persisted = persistGraph(store.driver, allBatches, builtWithJoins);
279
- // `persistGraph` writes one `WriteResult` per batch, in the same order as
280
- // `allBatches` — zipped back against each batch's own `repo` field so a
281
- // per-repository written total can be reported without a second store
282
- // pass, matching the ordering guarantee `persist.ts`'s own doc states.
283
- const writtenByRepo = new Map();
284
- allBatches.forEach((batch, index) => {
285
- const write = persisted.writes[index];
286
- const bucket = writtenByRepo.get(batch.repo) ?? { nodes: 0, edges: 0, unresolved: 0, evictedFiles: new Set() };
287
- bucket.nodes += write.nodesWritten;
288
- bucket.edges += write.edgesWritten;
289
- bucket.unresolved += write.unresolvedWritten;
290
- for (const file of write.evictedFiles)
291
- bucket.evictedFiles.add(file);
292
- writtenByRepo.set(batch.repo, bucket);
293
- });
294
- const notes = [];
295
- if (rebuilt) {
296
- notes.push("This workspace's shared graph was written under an older IR schema version. Its derived " +
297
- "rows (nodes, edges, ...) have been dropped and are rebuilt by this run; earned data (R4 " +
298
- "observations, edge corrections, incident links) survives untouched (DEC-017).");
299
- }
300
- for (const join of apiJoins.resolved) {
301
- if (join.via === "caller-hint") {
302
- notes.push(`${join.key.method} ${join.key.pathTemplate} is served by more than one repository in this ` +
303
- "workspace; resolved to one of them using the caller's own reported origin.");
304
- }
305
- }
306
- for (const ambiguity of apiJoins.ambiguous) {
307
- notes.push(`API_ENDPOINT join: ${ambiguity.detail}`);
308
- }
309
- for (const ambiguity of tableJoins.ambiguous) {
310
- notes.push(`DATABASE_TABLE join: ${ambiguity.detail}`);
311
- }
312
- for (const collision of built.collisions) {
313
- notes.push(`Two different things claimed node id ${collision.nodeId}: a ${collision.kept.type} from ` +
314
- `${collision.kept.producedBy} and a ${collision.discarded.type} from ` +
315
- `${collision.discarded.producedBy}. The second was discarded (DEC-024).`);
316
- }
317
- if (built.droppedEdges > 0) {
318
- notes.push(`${built.droppedEdges} edge(s) were dropped because an endpoint did not resolve to a real node.`);
319
- }
320
- if (persisted.evictedFiles.length > 0) {
321
- notes.push(`${persisted.evictedFiles.length} file(s) covered by a previous run were not re-supplied by this ` +
322
- "one; their rows have been removed from the shared store.");
323
- }
324
- for (const warning of built.warnings)
325
- notes.push(warning.detail);
326
- const repos = reads.map((r) => {
327
- const bucket = writtenByRepo.get(r.repo);
328
- return {
329
- repo: r.repo,
330
- repoPath: r.repoPath,
331
- commitSha: r.commitSha,
332
- sources: r.sources,
333
- sourcesFailed: r.sourcesFailed,
334
- sourcesSkipped: r.sourcesSkipped,
335
- notes: r.notes,
336
- written: {
337
- nodes: bucket?.nodes ?? 0,
338
- edges: bucket?.edges ?? 0,
339
- unresolved: bucket?.unresolved ?? 0,
340
- evictedFiles: bucket?.evictedFiles.size ?? 0,
341
- },
342
- reachedResolution: r.reachedResolution,
343
- };
344
- });
345
- const codeResolutions = repos.map((r) => r.reachedResolution).filter((r) => r > 0);
346
- const resolutionFloor = (codeResolutions.length === 0 ? 0 : Math.min(...codeResolutions));
347
- const stamp = { ...createStoreProvider(store.driver).baseStamp(), resolutionFloor };
348
- return {
349
- workspaceId: options.workspaceId,
350
- graphDbPath: options.graphDbPath,
351
- repos,
352
- stored: counts(store.driver),
353
- stamp,
354
- merge: {
355
- mergedNodes: built.mergedNodes,
356
- mergedEdges: built.mergedEdges,
357
- collisions: built.collisions.length,
358
- droppedEdges: built.droppedEdges,
359
- rejections: built.rejections.length,
360
- },
361
- crossRepoJoins: built.crossRepoJoins,
362
- apiJoins: {
363
- resolved: apiJoins.resolved,
364
- ambiguous: apiJoins.ambiguous,
365
- unmatched: apiJoins.unmatched,
366
- unkeyed: apiJoins.unkeyed,
367
- },
368
- tableJoins: {
369
- resolved: tableJoins.resolved,
370
- ambiguous: tableJoins.ambiguous,
371
- unkeyed: tableJoins.unkeyed,
372
- singletons: tableJoins.singletons,
373
- },
374
- notes,
375
- };
376
- }
377
- finally {
378
- store.close();
379
- }
380
- }
381
- //# sourceMappingURL=workspace-index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-index.js","sourceRoot":"","sources":["../src/workspace-index.ts"],"names":[],"mappings":"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"}