@untangle-code/cli 0.0.0-stage → 0.1.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 (571) hide show
  1. package/LICENSE +661 -0
  2. package/NOTICE +90 -0
  3. package/README.md +451 -2
  4. package/THIRD_PARTY_LICENSES.md +152 -0
  5. package/dist/cli/args.d.ts +48 -0
  6. package/dist/cli/args.d.ts.map +1 -0
  7. package/dist/cli/args.js +167 -0
  8. package/dist/cli/args.js.map +1 -0
  9. package/dist/cli/command.d.ts +69 -0
  10. package/dist/cli/command.d.ts.map +1 -0
  11. package/dist/cli/command.js +82 -0
  12. package/dist/cli/command.js.map +1 -0
  13. package/dist/cli/deadline.d.ts +33 -0
  14. package/dist/cli/deadline.d.ts.map +1 -0
  15. package/dist/cli/deadline.js +49 -0
  16. package/dist/cli/deadline.js.map +1 -0
  17. package/dist/cli/embedder-deadline.d.ts +72 -0
  18. package/dist/cli/embedder-deadline.d.ts.map +1 -0
  19. package/dist/cli/embedder-deadline.js +117 -0
  20. package/dist/cli/embedder-deadline.js.map +1 -0
  21. package/dist/cli/exit.d.ts +71 -0
  22. package/dist/cli/exit.d.ts.map +1 -0
  23. package/dist/cli/exit.js +81 -0
  24. package/dist/cli/exit.js.map +1 -0
  25. package/dist/cli/graphs.d.ts +65 -0
  26. package/dist/cli/graphs.d.ts.map +1 -0
  27. package/dist/cli/graphs.js +108 -0
  28. package/dist/cli/graphs.js.map +1 -0
  29. package/dist/cli/index-freshness.d.ts +13 -0
  30. package/dist/cli/index-freshness.d.ts.map +1 -0
  31. package/dist/cli/index-freshness.js +226 -0
  32. package/dist/cli/index-freshness.js.map +1 -0
  33. package/dist/cli/index-refresh.d.ts +10 -0
  34. package/dist/cli/index-refresh.d.ts.map +1 -0
  35. package/dist/cli/index-refresh.js +76 -0
  36. package/dist/cli/index-refresh.js.map +1 -0
  37. package/dist/cli/index-state.d.ts +184 -0
  38. package/dist/cli/index-state.d.ts.map +1 -0
  39. package/dist/cli/index-state.js +852 -0
  40. package/dist/cli/index-state.js.map +1 -0
  41. package/dist/cli/io.d.ts +29 -0
  42. package/dist/cli/io.d.ts.map +1 -0
  43. package/dist/cli/io.js +42 -0
  44. package/dist/cli/io.js.map +1 -0
  45. package/dist/cli/language-support.d.ts +77 -0
  46. package/dist/cli/language-support.d.ts.map +1 -0
  47. package/dist/cli/language-support.js +152 -0
  48. package/dist/cli/language-support.js.map +1 -0
  49. package/dist/cli/renewing-lease.d.ts +26 -0
  50. package/dist/cli/renewing-lease.d.ts.map +1 -0
  51. package/dist/cli/renewing-lease.js +102 -0
  52. package/dist/cli/renewing-lease.js.map +1 -0
  53. package/dist/cli/search-graph-enrichment.d.ts +16 -0
  54. package/dist/cli/search-graph-enrichment.d.ts.map +1 -0
  55. package/dist/cli/search-graph-enrichment.js +428 -0
  56. package/dist/cli/search-graph-enrichment.js.map +1 -0
  57. package/dist/cli/system.d.ts +34 -0
  58. package/dist/cli/system.d.ts.map +1 -0
  59. package/dist/cli/system.js +89 -0
  60. package/dist/cli/system.js.map +1 -0
  61. package/dist/cli/vector-store-policy.d.ts +116 -0
  62. package/dist/cli/vector-store-policy.d.ts.map +1 -0
  63. package/dist/cli/vector-store-policy.js +160 -0
  64. package/dist/cli/vector-store-policy.js.map +1 -0
  65. package/dist/cli/version.d.ts +3 -0
  66. package/dist/cli/version.d.ts.map +1 -0
  67. package/dist/cli/version.js +3 -0
  68. package/dist/cli/version.js.map +1 -0
  69. package/dist/cli/workspace.d.ts +105 -0
  70. package/dist/cli/workspace.d.ts.map +1 -0
  71. package/dist/cli/workspace.js +215 -0
  72. package/dist/cli/workspace.js.map +1 -0
  73. package/dist/commands/complexity.d.ts +72 -0
  74. package/dist/commands/complexity.d.ts.map +1 -0
  75. package/dist/commands/complexity.js +580 -0
  76. package/dist/commands/complexity.js.map +1 -0
  77. package/dist/commands/doctor.d.ts +66 -0
  78. package/dist/commands/doctor.d.ts.map +1 -0
  79. package/dist/commands/doctor.js +764 -0
  80. package/dist/commands/doctor.js.map +1 -0
  81. package/dist/commands/doctor.languages.d.ts +37 -0
  82. package/dist/commands/doctor.languages.d.ts.map +1 -0
  83. package/dist/commands/doctor.languages.js +143 -0
  84. package/dist/commands/doctor.languages.js.map +1 -0
  85. package/dist/commands/doctor.storage.d.ts +17 -0
  86. package/dist/commands/doctor.storage.d.ts.map +1 -0
  87. package/dist/commands/doctor.storage.js +91 -0
  88. package/dist/commands/doctor.storage.js.map +1 -0
  89. package/dist/commands/extensions/add.d.ts +10 -0
  90. package/dist/commands/extensions/add.d.ts.map +1 -0
  91. package/dist/commands/extensions/add.js +213 -0
  92. package/dist/commands/extensions/add.js.map +1 -0
  93. package/dist/commands/extensions/configure.d.ts +5 -0
  94. package/dist/commands/extensions/configure.d.ts.map +1 -0
  95. package/dist/commands/extensions/configure.js +58 -0
  96. package/dist/commands/extensions/configure.js.map +1 -0
  97. package/dist/commands/extensions/container.d.ts +15 -0
  98. package/dist/commands/extensions/container.d.ts.map +1 -0
  99. package/dist/commands/extensions/container.js +135 -0
  100. package/dist/commands/extensions/container.js.map +1 -0
  101. package/dist/commands/extensions/context.d.ts +37 -0
  102. package/dist/commands/extensions/context.d.ts.map +1 -0
  103. package/dist/commands/extensions/context.js +72 -0
  104. package/dist/commands/extensions/context.js.map +1 -0
  105. package/dist/commands/extensions/enable.d.ts +6 -0
  106. package/dist/commands/extensions/enable.d.ts.map +1 -0
  107. package/dist/commands/extensions/enable.js +180 -0
  108. package/dist/commands/extensions/enable.js.map +1 -0
  109. package/dist/commands/extensions/environment.d.ts +74 -0
  110. package/dist/commands/extensions/environment.d.ts.map +1 -0
  111. package/dist/commands/extensions/environment.js +168 -0
  112. package/dist/commands/extensions/environment.js.map +1 -0
  113. package/dist/commands/extensions/feature-scan.d.ts +48 -0
  114. package/dist/commands/extensions/feature-scan.d.ts.map +1 -0
  115. package/dist/commands/extensions/feature-scan.js +156 -0
  116. package/dist/commands/extensions/feature-scan.js.map +1 -0
  117. package/dist/commands/extensions/invoke.d.ts +60 -0
  118. package/dist/commands/extensions/invoke.d.ts.map +1 -0
  119. package/dist/commands/extensions/invoke.js +275 -0
  120. package/dist/commands/extensions/invoke.js.map +1 -0
  121. package/dist/commands/extensions/list.d.ts +5 -0
  122. package/dist/commands/extensions/list.d.ts.map +1 -0
  123. package/dist/commands/extensions/list.js +125 -0
  124. package/dist/commands/extensions/list.js.map +1 -0
  125. package/dist/commands/extensions/logs.d.ts +5 -0
  126. package/dist/commands/extensions/logs.d.ts.map +1 -0
  127. package/dist/commands/extensions/logs.js +74 -0
  128. package/dist/commands/extensions/logs.js.map +1 -0
  129. package/dist/commands/extensions/provision.d.ts +36 -0
  130. package/dist/commands/extensions/provision.d.ts.map +1 -0
  131. package/dist/commands/extensions/provision.js +137 -0
  132. package/dist/commands/extensions/provision.js.map +1 -0
  133. package/dist/commands/extensions/remove.d.ts +5 -0
  134. package/dist/commands/extensions/remove.d.ts.map +1 -0
  135. package/dist/commands/extensions/remove.js +77 -0
  136. package/dist/commands/extensions/remove.js.map +1 -0
  137. package/dist/commands/extensions/render.d.ts +16 -0
  138. package/dist/commands/extensions/render.d.ts.map +1 -0
  139. package/dist/commands/extensions/render.js +25 -0
  140. package/dist/commands/extensions/render.js.map +1 -0
  141. package/dist/commands/extensions/run.d.ts +30 -0
  142. package/dist/commands/extensions/run.d.ts.map +1 -0
  143. package/dist/commands/extensions/run.js +292 -0
  144. package/dist/commands/extensions/run.js.map +1 -0
  145. package/dist/commands/extensions/secret-store.d.ts +15 -0
  146. package/dist/commands/extensions/secret-store.d.ts.map +1 -0
  147. package/dist/commands/extensions/secret-store.js +164 -0
  148. package/dist/commands/extensions/secret-store.js.map +1 -0
  149. package/dist/commands/extensions/setup.d.ts +17 -0
  150. package/dist/commands/extensions/setup.d.ts.map +1 -0
  151. package/dist/commands/extensions/setup.js +94 -0
  152. package/dist/commands/extensions/setup.js.map +1 -0
  153. package/dist/commands/extensions/source.d.ts +47 -0
  154. package/dist/commands/extensions/source.d.ts.map +1 -0
  155. package/dist/commands/extensions/source.js +142 -0
  156. package/dist/commands/extensions/source.js.map +1 -0
  157. package/dist/commands/extensions/state.d.ts +62 -0
  158. package/dist/commands/extensions/state.d.ts.map +1 -0
  159. package/dist/commands/extensions/state.js +177 -0
  160. package/dist/commands/extensions/state.js.map +1 -0
  161. package/dist/commands/extensions/status.d.ts +9 -0
  162. package/dist/commands/extensions/status.d.ts.map +1 -0
  163. package/dist/commands/extensions/status.js +239 -0
  164. package/dist/commands/extensions/status.js.map +1 -0
  165. package/dist/commands/extensions.d.ts +3 -0
  166. package/dist/commands/extensions.d.ts.map +1 -0
  167. package/dist/commands/extensions.js +223 -0
  168. package/dist/commands/extensions.js.map +1 -0
  169. package/dist/commands/flow/index.d.ts +3 -0
  170. package/dist/commands/flow/index.d.ts.map +1 -0
  171. package/dist/commands/flow/index.js +295 -0
  172. package/dist/commands/flow/index.js.map +1 -0
  173. package/dist/commands/flow/limits.d.ts +12 -0
  174. package/dist/commands/flow/limits.d.ts.map +1 -0
  175. package/dist/commands/flow/limits.js +13 -0
  176. package/dist/commands/flow/limits.js.map +1 -0
  177. package/dist/commands/flow/output.d.ts +8 -0
  178. package/dist/commands/flow/output.d.ts.map +1 -0
  179. package/dist/commands/flow/output.js +11 -0
  180. package/dist/commands/flow/output.js.map +1 -0
  181. package/dist/commands/flow/render.d.ts +51 -0
  182. package/dist/commands/flow/render.d.ts.map +1 -0
  183. package/dist/commands/flow/render.js +220 -0
  184. package/dist/commands/flow/render.js.map +1 -0
  185. package/dist/commands/flow/select.d.ts +31 -0
  186. package/dist/commands/flow/select.d.ts.map +1 -0
  187. package/dist/commands/flow/select.js +62 -0
  188. package/dist/commands/flow/select.js.map +1 -0
  189. package/dist/commands/graph/boundaries-input.d.ts +26 -0
  190. package/dist/commands/graph/boundaries-input.d.ts.map +1 -0
  191. package/dist/commands/graph/boundaries-input.js +54 -0
  192. package/dist/commands/graph/boundaries-input.js.map +1 -0
  193. package/dist/commands/graph/boundaries.d.ts +4 -0
  194. package/dist/commands/graph/boundaries.d.ts.map +1 -0
  195. package/dist/commands/graph/boundaries.js +141 -0
  196. package/dist/commands/graph/boundaries.js.map +1 -0
  197. package/dist/commands/graph/bounds.d.ts +16 -0
  198. package/dist/commands/graph/bounds.d.ts.map +1 -0
  199. package/dist/commands/graph/bounds.js +22 -0
  200. package/dist/commands/graph/bounds.js.map +1 -0
  201. package/dist/commands/graph/category-clusters.d.ts +20 -0
  202. package/dist/commands/graph/category-clusters.d.ts.map +1 -0
  203. package/dist/commands/graph/category-clusters.js +158 -0
  204. package/dist/commands/graph/category-clusters.js.map +1 -0
  205. package/dist/commands/graph/feature-3d.d.ts +22 -0
  206. package/dist/commands/graph/feature-3d.d.ts.map +1 -0
  207. package/dist/commands/graph/feature-3d.js +114 -0
  208. package/dist/commands/graph/feature-3d.js.map +1 -0
  209. package/dist/commands/graph/feature-clusters.d.ts +17 -0
  210. package/dist/commands/graph/feature-clusters.d.ts.map +1 -0
  211. package/dist/commands/graph/feature-clusters.js +94 -0
  212. package/dist/commands/graph/feature-clusters.js.map +1 -0
  213. package/dist/commands/graph/feature-html.d.ts +26 -0
  214. package/dist/commands/graph/feature-html.d.ts.map +1 -0
  215. package/dist/commands/graph/feature-html.js +314 -0
  216. package/dist/commands/graph/feature-html.js.map +1 -0
  217. package/dist/commands/graph/feature-map.d.ts +31 -0
  218. package/dist/commands/graph/feature-map.d.ts.map +1 -0
  219. package/dist/commands/graph/feature-map.js +217 -0
  220. package/dist/commands/graph/feature-map.js.map +1 -0
  221. package/dist/commands/graph/feature-model.d.ts +55 -0
  222. package/dist/commands/graph/feature-model.d.ts.map +1 -0
  223. package/dist/commands/graph/feature-model.js +167 -0
  224. package/dist/commands/graph/feature-model.js.map +1 -0
  225. package/dist/commands/graph/feature-untangle-motion.d.ts +33 -0
  226. package/dist/commands/graph/feature-untangle-motion.d.ts.map +1 -0
  227. package/dist/commands/graph/feature-untangle-motion.js +155 -0
  228. package/dist/commands/graph/feature-untangle-motion.js.map +1 -0
  229. package/dist/commands/graph/index.d.ts +3 -0
  230. package/dist/commands/graph/index.d.ts.map +1 -0
  231. package/dist/commands/graph/index.js +414 -0
  232. package/dist/commands/graph/index.js.map +1 -0
  233. package/dist/commands/graph/render.d.ts +63 -0
  234. package/dist/commands/graph/render.d.ts.map +1 -0
  235. package/dist/commands/graph/render.js +352 -0
  236. package/dist/commands/graph/render.js.map +1 -0
  237. package/dist/commands/graph/select.d.ts +34 -0
  238. package/dist/commands/graph/select.d.ts.map +1 -0
  239. package/dist/commands/graph/select.js +55 -0
  240. package/dist/commands/graph/select.js.map +1 -0
  241. package/dist/commands/index/index.d.ts +6 -0
  242. package/dist/commands/index/index.d.ts.map +1 -0
  243. package/dist/commands/index/index.js +461 -0
  244. package/dist/commands/index/index.js.map +1 -0
  245. package/dist/commands/index/render.d.ts +53 -0
  246. package/dist/commands/index/render.d.ts.map +1 -0
  247. package/dist/commands/index/render.js +205 -0
  248. package/dist/commands/index/render.js.map +1 -0
  249. package/dist/commands/index/target.d.ts +34 -0
  250. package/dist/commands/index/target.d.ts.map +1 -0
  251. package/dist/commands/index/target.js +97 -0
  252. package/dist/commands/index/target.js.map +1 -0
  253. package/dist/commands/index-watch.d.ts +30 -0
  254. package/dist/commands/index-watch.d.ts.map +1 -0
  255. package/dist/commands/index-watch.js +138 -0
  256. package/dist/commands/index-watch.js.map +1 -0
  257. package/dist/commands/init/command.d.ts +25 -0
  258. package/dist/commands/init/command.d.ts.map +1 -0
  259. package/dist/commands/init/command.js +198 -0
  260. package/dist/commands/init/command.js.map +1 -0
  261. package/dist/commands/init/config-draft.d.ts +48 -0
  262. package/dist/commands/init/config-draft.d.ts.map +1 -0
  263. package/dist/commands/init/config-draft.js +201 -0
  264. package/dist/commands/init/config-draft.js.map +1 -0
  265. package/dist/commands/init/diff.d.ts +33 -0
  266. package/dist/commands/init/diff.d.ts.map +1 -0
  267. package/dist/commands/init/diff.js +109 -0
  268. package/dist/commands/init/diff.js.map +1 -0
  269. package/dist/commands/init/http-probe.d.ts +26 -0
  270. package/dist/commands/init/http-probe.d.ts.map +1 -0
  271. package/dist/commands/init/http-probe.js +144 -0
  272. package/dist/commands/init/http-probe.js.map +1 -0
  273. package/dist/commands/init/ignore-rules.d.ts +70 -0
  274. package/dist/commands/init/ignore-rules.d.ts.map +1 -0
  275. package/dist/commands/init/ignore-rules.js +146 -0
  276. package/dist/commands/init/ignore-rules.js.map +1 -0
  277. package/dist/commands/init/index.d.ts +33 -0
  278. package/dist/commands/init/index.d.ts.map +1 -0
  279. package/dist/commands/init/index.js +32 -0
  280. package/dist/commands/init/index.js.map +1 -0
  281. package/dist/commands/init/integrations-apply.d.ts +50 -0
  282. package/dist/commands/init/integrations-apply.d.ts.map +1 -0
  283. package/dist/commands/init/integrations-apply.js +452 -0
  284. package/dist/commands/init/integrations-apply.js.map +1 -0
  285. package/dist/commands/init/integrations-plan.d.ts +68 -0
  286. package/dist/commands/init/integrations-plan.d.ts.map +1 -0
  287. package/dist/commands/init/integrations-plan.js +515 -0
  288. package/dist/commands/init/integrations-plan.js.map +1 -0
  289. package/dist/commands/init/integrations.d.ts +5 -0
  290. package/dist/commands/init/integrations.d.ts.map +1 -0
  291. package/dist/commands/init/integrations.js +4 -0
  292. package/dist/commands/init/integrations.js.map +1 -0
  293. package/dist/commands/init/languages.d.ts +55 -0
  294. package/dist/commands/init/languages.d.ts.map +1 -0
  295. package/dist/commands/init/languages.js +245 -0
  296. package/dist/commands/init/languages.js.map +1 -0
  297. package/dist/commands/init/product-context.d.ts +63 -0
  298. package/dist/commands/init/product-context.d.ts.map +1 -0
  299. package/dist/commands/init/product-context.js +390 -0
  300. package/dist/commands/init/product-context.js.map +1 -0
  301. package/dist/commands/init/render.d.ts +38 -0
  302. package/dist/commands/init/render.d.ts.map +1 -0
  303. package/dist/commands/init/render.js +501 -0
  304. package/dist/commands/init/render.js.map +1 -0
  305. package/dist/commands/init/report.d.ts +24 -0
  306. package/dist/commands/init/report.d.ts.map +1 -0
  307. package/dist/commands/init/report.js +163 -0
  308. package/dist/commands/init/report.js.map +1 -0
  309. package/dist/commands/init/run.d.ts +71 -0
  310. package/dist/commands/init/run.d.ts.map +1 -0
  311. package/dist/commands/init/run.js +253 -0
  312. package/dist/commands/init/run.js.map +1 -0
  313. package/dist/commands/init/services.d.ts +82 -0
  314. package/dist/commands/init/services.d.ts.map +1 -0
  315. package/dist/commands/init/services.js +209 -0
  316. package/dist/commands/init/services.js.map +1 -0
  317. package/dist/commands/init/storage.d.ts +8 -0
  318. package/dist/commands/init/storage.d.ts.map +1 -0
  319. package/dist/commands/init/storage.js +102 -0
  320. package/dist/commands/init/storage.js.map +1 -0
  321. package/dist/commands/init/toml.d.ts +65 -0
  322. package/dist/commands/init/toml.d.ts.map +1 -0
  323. package/dist/commands/init/toml.js +159 -0
  324. package/dist/commands/init/toml.js.map +1 -0
  325. package/dist/commands/init/topology.d.ts +54 -0
  326. package/dist/commands/init/topology.d.ts.map +1 -0
  327. package/dist/commands/init/topology.js +146 -0
  328. package/dist/commands/init/topology.js.map +1 -0
  329. package/dist/commands/init/types.d.ts +334 -0
  330. package/dist/commands/init/types.d.ts.map +1 -0
  331. package/dist/commands/init/types.js +31 -0
  332. package/dist/commands/init/types.js.map +1 -0
  333. package/dist/commands/init/wizard-terminal.d.ts +36 -0
  334. package/dist/commands/init/wizard-terminal.d.ts.map +1 -0
  335. package/dist/commands/init/wizard-terminal.js +163 -0
  336. package/dist/commands/init/wizard-terminal.js.map +1 -0
  337. package/dist/commands/init/wizard.d.ts +25 -0
  338. package/dist/commands/init/wizard.d.ts.map +1 -0
  339. package/dist/commands/init/wizard.js +358 -0
  340. package/dist/commands/init/wizard.js.map +1 -0
  341. package/dist/commands/mcp.d.ts +4 -0
  342. package/dist/commands/mcp.d.ts.map +1 -0
  343. package/dist/commands/mcp.js +111 -0
  344. package/dist/commands/mcp.js.map +1 -0
  345. package/dist/commands/product-test-runner.d.ts +4 -0
  346. package/dist/commands/product-test-runner.d.ts.map +1 -0
  347. package/dist/commands/product-test-runner.js +85 -0
  348. package/dist/commands/product-test-runner.js.map +1 -0
  349. package/dist/commands/product.d.ts +16 -0
  350. package/dist/commands/product.d.ts.map +1 -0
  351. package/dist/commands/product.js +262 -0
  352. package/dist/commands/product.js.map +1 -0
  353. package/dist/commands/query.d.ts +114 -0
  354. package/dist/commands/query.d.ts.map +1 -0
  355. package/dist/commands/query.js +783 -0
  356. package/dist/commands/query.js.map +1 -0
  357. package/dist/commands/scan.d.ts +10 -0
  358. package/dist/commands/scan.d.ts.map +1 -0
  359. package/dist/commands/scan.js +302 -0
  360. package/dist/commands/scan.js.map +1 -0
  361. package/dist/commands/sdd.d.ts +24 -0
  362. package/dist/commands/sdd.d.ts.map +1 -0
  363. package/dist/commands/sdd.js +195 -0
  364. package/dist/commands/sdd.js.map +1 -0
  365. package/dist/commands/unavailable.d.ts +40 -0
  366. package/dist/commands/unavailable.d.ts.map +1 -0
  367. package/dist/commands/unavailable.js +73 -0
  368. package/dist/commands/unavailable.js.map +1 -0
  369. package/dist/commands/watch/analyze.d.ts +69 -0
  370. package/dist/commands/watch/analyze.d.ts.map +1 -0
  371. package/dist/commands/watch/analyze.js +402 -0
  372. package/dist/commands/watch/analyze.js.map +1 -0
  373. package/dist/commands/watch/cli.d.ts +8 -0
  374. package/dist/commands/watch/cli.d.ts.map +1 -0
  375. package/dist/commands/watch/cli.js +97 -0
  376. package/dist/commands/watch/cli.js.map +1 -0
  377. package/dist/commands/watch/delta.d.ts +46 -0
  378. package/dist/commands/watch/delta.d.ts.map +1 -0
  379. package/dist/commands/watch/delta.js +170 -0
  380. package/dist/commands/watch/delta.js.map +1 -0
  381. package/dist/commands/watch/events.d.ts +214 -0
  382. package/dist/commands/watch/events.d.ts.map +1 -0
  383. package/dist/commands/watch/events.js +13 -0
  384. package/dist/commands/watch/events.js.map +1 -0
  385. package/dist/commands/watch/index.d.ts +19 -0
  386. package/dist/commands/watch/index.d.ts.map +1 -0
  387. package/dist/commands/watch/index.js +15 -0
  388. package/dist/commands/watch/index.js.map +1 -0
  389. package/dist/commands/watch/options.d.ts +43 -0
  390. package/dist/commands/watch/options.d.ts.map +1 -0
  391. package/dist/commands/watch/options.js +193 -0
  392. package/dist/commands/watch/options.js.map +1 -0
  393. package/dist/commands/watch/render.d.ts +26 -0
  394. package/dist/commands/watch/render.d.ts.map +1 -0
  395. package/dist/commands/watch/render.js +175 -0
  396. package/dist/commands/watch/render.js.map +1 -0
  397. package/dist/commands/watch/run.d.ts +14 -0
  398. package/dist/commands/watch/run.d.ts.map +1 -0
  399. package/dist/commands/watch/run.js +460 -0
  400. package/dist/commands/watch/run.js.map +1 -0
  401. package/dist/commands/watch/runtime.d.ts +67 -0
  402. package/dist/commands/watch/runtime.d.ts.map +1 -0
  403. package/dist/commands/watch/runtime.js +149 -0
  404. package/dist/commands/watch/runtime.js.map +1 -0
  405. package/dist/commands/watch-command.d.ts +3 -0
  406. package/dist/commands/watch-command.d.ts.map +1 -0
  407. package/dist/commands/watch-command.js +273 -0
  408. package/dist/commands/watch-command.js.map +1 -0
  409. package/dist/entry-point.d.ts +11 -0
  410. package/dist/entry-point.d.ts.map +1 -0
  411. package/dist/entry-point.js +65 -0
  412. package/dist/entry-point.js.map +1 -0
  413. package/dist/index.d.ts +38 -0
  414. package/dist/index.d.ts.map +1 -0
  415. package/dist/index.js +245 -0
  416. package/dist/index.js.map +1 -0
  417. package/dist/mcp/boundaries-schema.d.ts +262 -0
  418. package/dist/mcp/boundaries-schema.d.ts.map +1 -0
  419. package/dist/mcp/boundaries-schema.js +183 -0
  420. package/dist/mcp/boundaries-schema.js.map +1 -0
  421. package/dist/mcp/default-runtime.d.ts +16 -0
  422. package/dist/mcp/default-runtime.d.ts.map +1 -0
  423. package/dist/mcp/default-runtime.js +718 -0
  424. package/dist/mcp/default-runtime.js.map +1 -0
  425. package/dist/mcp/envelope.d.ts +13 -0
  426. package/dist/mcp/envelope.d.ts.map +1 -0
  427. package/dist/mcp/envelope.js +29 -0
  428. package/dist/mcp/envelope.js.map +1 -0
  429. package/dist/mcp/index.d.ts +8 -0
  430. package/dist/mcp/index.d.ts.map +1 -0
  431. package/dist/mcp/index.js +8 -0
  432. package/dist/mcp/index.js.map +1 -0
  433. package/dist/mcp/output-schemas.d.ts +5928 -0
  434. package/dist/mcp/output-schemas.d.ts.map +1 -0
  435. package/dist/mcp/output-schemas.js +2814 -0
  436. package/dist/mcp/output-schemas.js.map +1 -0
  437. package/dist/mcp/path-sandbox.d.ts +35 -0
  438. package/dist/mcp/path-sandbox.d.ts.map +1 -0
  439. package/dist/mcp/path-sandbox.js +128 -0
  440. package/dist/mcp/path-sandbox.js.map +1 -0
  441. package/dist/mcp/server.d.ts +155 -0
  442. package/dist/mcp/server.d.ts.map +1 -0
  443. package/dist/mcp/server.js +257 -0
  444. package/dist/mcp/server.js.map +1 -0
  445. package/dist/mcp/stdio.d.ts +20 -0
  446. package/dist/mcp/stdio.d.ts.map +1 -0
  447. package/dist/mcp/stdio.js +71 -0
  448. package/dist/mcp/stdio.js.map +1 -0
  449. package/dist/mcp/tools.d.ts +355 -0
  450. package/dist/mcp/tools.d.ts.map +1 -0
  451. package/dist/mcp/tools.js +319 -0
  452. package/dist/mcp/tools.js.map +1 -0
  453. package/dist/mcp/types.d.ts +15 -0
  454. package/dist/mcp/types.d.ts.map +1 -0
  455. package/dist/mcp/types.js +45 -0
  456. package/dist/mcp/types.js.map +1 -0
  457. package/package.json +99 -3
  458. package/src/cli/args.ts +231 -0
  459. package/src/cli/command.ts +146 -0
  460. package/src/cli/deadline.ts +56 -0
  461. package/src/cli/embedder-deadline.ts +187 -0
  462. package/src/cli/exit.ts +94 -0
  463. package/src/cli/graphs.ts +191 -0
  464. package/src/cli/index-freshness.ts +303 -0
  465. package/src/cli/index-refresh.ts +125 -0
  466. package/src/cli/index-state.ts +1217 -0
  467. package/src/cli/io.ts +56 -0
  468. package/src/cli/language-support.ts +203 -0
  469. package/src/cli/renewing-lease.ts +121 -0
  470. package/src/cli/search-graph-enrichment.ts +639 -0
  471. package/src/cli/system.ts +94 -0
  472. package/src/cli/vector-store-policy.ts +213 -0
  473. package/src/cli/version.ts +2 -0
  474. package/src/cli/workspace.ts +324 -0
  475. package/src/commands/complexity.ts +776 -0
  476. package/src/commands/doctor.languages.ts +187 -0
  477. package/src/commands/doctor.storage.ts +124 -0
  478. package/src/commands/doctor.ts +946 -0
  479. package/src/commands/extensions/add.ts +312 -0
  480. package/src/commands/extensions/configure.ts +82 -0
  481. package/src/commands/extensions/container.ts +209 -0
  482. package/src/commands/extensions/context.ts +109 -0
  483. package/src/commands/extensions/enable.ts +237 -0
  484. package/src/commands/extensions/environment.ts +218 -0
  485. package/src/commands/extensions/feature-scan.ts +232 -0
  486. package/src/commands/extensions/invoke.ts +368 -0
  487. package/src/commands/extensions/list.ts +158 -0
  488. package/src/commands/extensions/logs.ts +104 -0
  489. package/src/commands/extensions/provision.ts +206 -0
  490. package/src/commands/extensions/remove.ts +110 -0
  491. package/src/commands/extensions/render.ts +32 -0
  492. package/src/commands/extensions/run.ts +386 -0
  493. package/src/commands/extensions/secret-store.ts +223 -0
  494. package/src/commands/extensions/setup.ts +140 -0
  495. package/src/commands/extensions/source.ts +189 -0
  496. package/src/commands/extensions/state.ts +252 -0
  497. package/src/commands/extensions/status.ts +320 -0
  498. package/src/commands/extensions.ts +280 -0
  499. package/src/commands/flow/index.ts +402 -0
  500. package/src/commands/flow/limits.ts +14 -0
  501. package/src/commands/flow/output.ts +16 -0
  502. package/src/commands/flow/render.ts +318 -0
  503. package/src/commands/flow/select.ts +101 -0
  504. package/src/commands/graph/boundaries-input.ts +63 -0
  505. package/src/commands/graph/boundaries.ts +182 -0
  506. package/src/commands/graph/bounds.ts +25 -0
  507. package/src/commands/graph/category-clusters.ts +194 -0
  508. package/src/commands/graph/feature-3d.ts +141 -0
  509. package/src/commands/graph/feature-clusters.ts +125 -0
  510. package/src/commands/graph/feature-html.ts +336 -0
  511. package/src/commands/graph/feature-map.ts +270 -0
  512. package/src/commands/graph/feature-model.ts +234 -0
  513. package/src/commands/graph/feature-untangle-motion.ts +192 -0
  514. package/src/commands/graph/index.ts +562 -0
  515. package/src/commands/graph/render.ts +503 -0
  516. package/src/commands/graph/select.ts +77 -0
  517. package/src/commands/index/index.ts +595 -0
  518. package/src/commands/index/render.ts +325 -0
  519. package/src/commands/index/target.ts +136 -0
  520. package/src/commands/index-watch.ts +206 -0
  521. package/src/commands/init/command.ts +238 -0
  522. package/src/commands/init/config-draft.ts +235 -0
  523. package/src/commands/init/diff.ts +117 -0
  524. package/src/commands/init/http-probe.ts +150 -0
  525. package/src/commands/init/ignore-rules.ts +170 -0
  526. package/src/commands/init/index.ts +63 -0
  527. package/src/commands/init/integrations-apply.ts +618 -0
  528. package/src/commands/init/integrations-plan.ts +634 -0
  529. package/src/commands/init/integrations.ts +8 -0
  530. package/src/commands/init/languages.ts +320 -0
  531. package/src/commands/init/product-context.ts +576 -0
  532. package/src/commands/init/render.ts +598 -0
  533. package/src/commands/init/report.ts +204 -0
  534. package/src/commands/init/run.ts +349 -0
  535. package/src/commands/init/services.ts +271 -0
  536. package/src/commands/init/storage.ts +136 -0
  537. package/src/commands/init/toml.ts +174 -0
  538. package/src/commands/init/topology.ts +192 -0
  539. package/src/commands/init/types.ts +366 -0
  540. package/src/commands/init/wizard-terminal.ts +206 -0
  541. package/src/commands/init/wizard.ts +450 -0
  542. package/src/commands/mcp.ts +123 -0
  543. package/src/commands/product-test-runner.ts +80 -0
  544. package/src/commands/product.ts +331 -0
  545. package/src/commands/query.ts +1032 -0
  546. package/src/commands/scan.ts +360 -0
  547. package/src/commands/sdd.ts +243 -0
  548. package/src/commands/unavailable.ts +92 -0
  549. package/src/commands/watch/README.md +160 -0
  550. package/src/commands/watch/analyze.ts +600 -0
  551. package/src/commands/watch/cli.ts +108 -0
  552. package/src/commands/watch/delta.ts +186 -0
  553. package/src/commands/watch/events.ts +235 -0
  554. package/src/commands/watch/index.ts +53 -0
  555. package/src/commands/watch/options.ts +234 -0
  556. package/src/commands/watch/render.ts +240 -0
  557. package/src/commands/watch/run.ts +553 -0
  558. package/src/commands/watch/runtime.ts +167 -0
  559. package/src/commands/watch-command.ts +294 -0
  560. package/src/entry-point.ts +67 -0
  561. package/src/index.ts +291 -0
  562. package/src/mcp/boundaries-schema.ts +193 -0
  563. package/src/mcp/default-runtime.ts +1034 -0
  564. package/src/mcp/envelope.ts +57 -0
  565. package/src/mcp/index.ts +28 -0
  566. package/src/mcp/output-schemas.ts +3071 -0
  567. package/src/mcp/path-sandbox.ts +156 -0
  568. package/src/mcp/server.ts +358 -0
  569. package/src/mcp/stdio.ts +92 -0
  570. package/src/mcp/tools.ts +563 -0
  571. package/src/mcp/types.ts +66 -0
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Deltas mit RICHTUNG — der eigentliche Zweck des Waechters.
3
+ *
4
+ * vision.md §1b: eine Aenderung, die Komplexitaet senkt, wird als
5
+ * Verbesserung AUSGEWIESEN und nicht nur stillschweigend hingenommen; eine
6
+ * Verschlechterung wird mit ihrer Beitragsstelle benannt. Eine nackte Zahl
7
+ * leistet weder das eine noch das andere.
8
+ *
9
+ * Fuer alle vier Metriken gilt dieselbe Leserichtung: kleiner ist einfacher.
10
+ * Ein negatives Delta heisst deshalb `"abgebaut"`, ein positives
11
+ * `"aufgebaut"`.
12
+ *
13
+ * ## Was diese Datei NICHT behauptet
14
+ *
15
+ * vision.md §1b macht die Qualitaetsaussage von drei Bedingungen abhaengig
16
+ * (unveraenderte oeffentliche Symboloberflaeche, unveraenderte Testergebnisse,
17
+ * keine neuen Abhaengigkeitskanten). Der Waechter misst hier NUR die
18
+ * Komplexitaet. `"abgebaut"` heisst also "die Komplexitaet ist gefallen" und
19
+ * ausdruecklich NICHT "die Aenderung war eine Verbesserung" — das waere ein
20
+ * Beweis, den eine statische Messung nicht fuehren kann.
21
+ */
22
+ import { compareCodepoints } from "@untangle-code/domain";
23
+
24
+ import type { FileReadingV1, ScopeReadingV1 } from "./analyze.js";
25
+ import {
26
+ METRIC_KEYS,
27
+ zeroMetricValues,
28
+ type ComplexityDirection,
29
+ type MetricDeltaV1,
30
+ type MetricKey,
31
+ type MetricValues,
32
+ type ScopeDeltaV1,
33
+ } from "./events.js";
34
+
35
+ /** Kleiner ist einfacher: negatives Delta = abgebaut. */
36
+ export function directionOf(delta: number): ComplexityDirection {
37
+ if (delta < 0) return "abgebaut";
38
+ if (delta > 0) return "aufgebaut";
39
+ return "unveraendert";
40
+ }
41
+
42
+ /** Die Lesart, in der ein Metrikwert entstanden ist (siehe `analyze.ts`). */
43
+ export function readingOf(metric: MetricKey): "execution_unit" | "file_chunks" {
44
+ return metric === "semantic" ? "file_chunks" : "execution_unit";
45
+ }
46
+
47
+ /**
48
+ * Deltas je Metrik zwischen zwei Messungen derselben Datei. `previous` fehlt
49
+ * bei einer neu hinzugekommenen Datei, `current` bei einer geloeschten — in
50
+ * beiden Faellen wird die fehlende Seite als 0 gelesen, damit das Delta die
51
+ * tatsaechliche Wirkung auf die Gesamtlage beschreibt.
52
+ */
53
+ export function metricDeltas(
54
+ previous: FileReadingV1 | undefined,
55
+ current: FileReadingV1 | undefined,
56
+ ): MetricDeltaV1[] {
57
+ return METRIC_KEYS.map((metric) => {
58
+ const before = previous === undefined ? null : previous.totals[metric];
59
+ const after = current === undefined ? null : current.totals[metric];
60
+ const delta = (after ?? 0) - (before ?? 0);
61
+ return {
62
+ metric,
63
+ reading: readingOf(metric),
64
+ previous: before,
65
+ current: after,
66
+ delta,
67
+ direction: directionOf(delta),
68
+ };
69
+ });
70
+ }
71
+
72
+ /**
73
+ * Deltas je Scope, ueber `metrics_scope_id` aggregiert und ueber den
74
+ * stabilen `matchKey` zwischen den Staenden zugeordnet (siehe
75
+ * `ScopeReadingV1.matchKey`: die eindeutige `metrics_scope_id` ist
76
+ * byte-range-basiert und ueber zwei Staende hinweg absichtlich nicht stabil).
77
+ *
78
+ * Nur Scopes, die in der Lesart `"execution_unit"` ein Summand sind, kommen
79
+ * vor — sonst zaehlte dieselbe Aenderung zweimal, einmal an der Closure und
80
+ * einmal an ihrer umschliessenden Funktion.
81
+ *
82
+ * Sortierung: Betrag absteigend, bei Gleichstand Metrik-Reihenfolge, dann
83
+ * Codepoint-Ordnung des Labels. Nie `localeCompare`.
84
+ */
85
+ export function scopeDeltas(
86
+ previous: FileReadingV1 | undefined,
87
+ current: FileReadingV1 | undefined,
88
+ limit: number,
89
+ ): ScopeDeltaV1[] {
90
+ const before = indexSelected(previous);
91
+ const after = indexSelected(current);
92
+ const keys = new Set<string>([...before.keys(), ...after.keys()]);
93
+ const deltas: ScopeDeltaV1[] = [];
94
+
95
+ for (const key of keys) {
96
+ const from = before.get(key);
97
+ const to = after.get(key);
98
+ for (const metric of METRIC_KEYS) {
99
+ if (metric === "semantic") continue; // semantische Ladung ist keine Scope-Groesse
100
+ const previousValue = from === undefined ? null : from.values[metric];
101
+ const currentValue = to === undefined ? null : to.values[metric];
102
+ const delta = (currentValue ?? 0) - (previousValue ?? 0);
103
+ if (delta === 0) continue;
104
+ const anchor = to ?? from;
105
+ if (anchor === undefined) continue;
106
+ deltas.push({
107
+ metricsScopeId: anchor.metricsScopeId,
108
+ label: anchor.label,
109
+ kind: anchor.kind,
110
+ line: anchor.line,
111
+ metric,
112
+ previous: previousValue,
113
+ current: currentValue,
114
+ delta,
115
+ direction: directionOf(delta),
116
+ });
117
+ }
118
+ }
119
+
120
+ deltas.sort(
121
+ (a, b) =>
122
+ Math.abs(b.delta) - Math.abs(a.delta) ||
123
+ METRIC_KEYS.indexOf(a.metric) - METRIC_KEYS.indexOf(b.metric) ||
124
+ compareCodepoints(a.label, b.label) ||
125
+ a.line - b.line,
126
+ );
127
+ return deltas.slice(0, limit);
128
+ }
129
+
130
+ function indexSelected(reading: FileReadingV1 | undefined): Map<string, ScopeReadingV1> {
131
+ const map = new Map<string, ScopeReadingV1>();
132
+ if (reading === undefined) return map;
133
+ for (const scope of reading.scopes) {
134
+ if (!scope.selected) continue;
135
+ map.set(scope.matchKey, scope);
136
+ }
137
+ return map;
138
+ }
139
+
140
+ /**
141
+ * Gesamtrichtung einer Aenderung ueber alle vier Metriken.
142
+ *
143
+ * ENTSCHEIDUNG: gezaehlt werden die Metriken, nicht die Betraege — die vier
144
+ * Metriken haben keine gemeinsame Einheit (ein semantisches Delta von 240
145
+ * geschaetzten Tokens ist nicht mit 13 kognitiven Punkten verrechenbar), eine
146
+ * Summe ueber sie waere eine erfundene Zahl. Ueberwiegt keine Richtung, ist
147
+ * das Urteil `"unveraendert"` — das ist ehrlicher als eine Scheinpraezision.
148
+ */
149
+ export function verdictOf(deltas: readonly MetricDeltaV1[]): ComplexityDirection {
150
+ let down = 0;
151
+ let up = 0;
152
+ for (const delta of deltas) {
153
+ if (delta.direction === "abgebaut") down++;
154
+ if (delta.direction === "aufgebaut") up++;
155
+ }
156
+ if (down > up) return "abgebaut";
157
+ if (up > down) return "aufgebaut";
158
+ return "unveraendert";
159
+ }
160
+
161
+ /**
162
+ * Gesamtrichtung einer Netto-Bilanz. Zaehlt wie `verdictOf` die Metriken,
163
+ * nicht die Betraege — aus demselben Grund: die vier haben keine gemeinsame
164
+ * Einheit.
165
+ */
166
+ export function netDirectionOf(net: MetricValues): ComplexityDirection {
167
+ let down = 0;
168
+ let up = 0;
169
+ for (const metric of METRIC_KEYS) {
170
+ if (net[metric] < 0) down++;
171
+ if (net[metric] > 0) up++;
172
+ }
173
+ if (down > up) return "abgebaut";
174
+ if (up > down) return "aufgebaut";
175
+ return "unveraendert";
176
+ }
177
+
178
+ /** Addiert Metrikwerte (fuer die Netto-Bilanz der Sitzung). */
179
+ export function addMetricValues(
180
+ base: MetricValues,
181
+ deltas: readonly MetricDeltaV1[],
182
+ ): MetricValues {
183
+ const next: Record<MetricKey, number> = { ...zeroMetricValues(), ...base };
184
+ for (const delta of deltas) next[delta.metric] += delta.delta;
185
+ return next;
186
+ }
@@ -0,0 +1,235 @@
1
+ /**
2
+ * Die Ereignisse des Komplexitaetswaechters — der Strom, den `untangle watch`
3
+ * ausgibt (vision.md §1b "Ratsche", §1d "Auffindbarkeit ist selbst ein
4
+ * Qualitaetssignal").
5
+ *
6
+ * Diese Datei fixiert die FORM des Stroms; `render.ts` fixiert nur seine
7
+ * Darstellung. Beide Ausgabewege (Text, JSON) speisen sich aus denselben
8
+ * Werten, damit die maschinenlesbare Ausgabe nie etwas anderes behauptet als
9
+ * die lesbare.
10
+ *
11
+ * ENTSCHEIDUNG (E4 an der Oberflaeche): `WatchUnanalyzedEventV1` ist ein
12
+ * ERSTKLASSIGES Stromereignis, kein Log-Rauschen. Eine Datei, die der
13
+ * Waechter nicht messen konnte, MUSS im selben Strom auftauchen wie eine, die
14
+ * er messen konnte — sonst liest der Nutzer aus dem Schweigen "nichts
15
+ * passiert", und genau das waere schlimmer als kein Waechter.
16
+ */
17
+ import type { SkipLedgerEntryV1 } from "@untangle-code/domain";
18
+
19
+ /**
20
+ * Die vier Metriken des Waechters (vision.md §1b: "strukturell, semantisch,
21
+ * cyclomatic, cognitive").
22
+ *
23
+ * Reihenfolge ist normativ: sie ist die Ausgabereihenfolge in JEDER
24
+ * Darstellung, damit zwei Laeufe zeilenweise vergleichbar bleiben.
25
+ */
26
+ export const METRIC_KEYS = ["structural", "semantic", "cyclomatic", "cognitive"] as const;
27
+ export type MetricKey = (typeof METRIC_KEYS)[number];
28
+
29
+ /** Metrikwerte einer Messung, immer vollstaendig — kein Feld fehlt je. */
30
+ export type MetricValues = Readonly<Record<MetricKey, number>>;
31
+
32
+ /**
33
+ * Die Richtung einer Aenderung. Fuer ALLE vier Metriken gilt: kleiner ist
34
+ * einfacher, also bedeutet ein negatives Delta abgebaute Komplexitaet. Eine
35
+ * nackte Zahl hilft niemandem — die Richtung ist der Teil, der die Aussage
36
+ * traegt.
37
+ */
38
+ export type ComplexityDirection = "abgebaut" | "aufgebaut" | "unveraendert";
39
+
40
+ /**
41
+ * Welche Lesart einer Scope-Summe hinter einem Metrikwert steht
42
+ * (`packages/complexity/src/scope-aggregate.ts`). Eine Zahl ohne Lesart waere
43
+ * bedeutungslos, deshalb reist sie mit.
44
+ *
45
+ * - `"execution_unit"` — Summe ueber die aeussersten Ausfuehrungseinheiten,
46
+ * jede genau einmal, verschachtelte Closures darin enthalten. Die Vorgabe
47
+ * fuer strukturell/cyclomatic/cognitive.
48
+ * - `"file_chunks"` — die semantische Ladung wird nicht ueber Scopes
49
+ * summiert, sondern ueber die Chunks der Datei (siehe `analyze.ts`).
50
+ */
51
+ export type MetricReadingKind = "execution_unit" | "file_chunks";
52
+
53
+ /** Ein Delta EINER Metrik, mit Richtung. */
54
+ export interface MetricDeltaV1 {
55
+ metric: MetricKey;
56
+ reading: MetricReadingKind;
57
+ /** Wert vor der Aenderung; `null` bei einer neu hinzugekommenen Datei. */
58
+ previous: number | null;
59
+ /** Wert nach der Aenderung; `null` bei einer geloeschten Datei. */
60
+ current: number | null;
61
+ /** `current - previous`, mit fehlender Seite als 0 gelesen. */
62
+ delta: number;
63
+ direction: ComplexityDirection;
64
+ }
65
+
66
+ /** Ein Delta EINES Scopes — die Stelle, an der der Preis entsteht. */
67
+ export interface ScopeDeltaV1 {
68
+ /** `metrics_scope_id` nach spec.md §16.10. */
69
+ metricsScopeId: string;
70
+ /** Qualifizierter Name des Scopes, wie ihn der Sprachadapter meldet. */
71
+ label: string;
72
+ kind: string;
73
+ /** Erste Zeile des Scopes NACH der Aenderung, sonst davor. */
74
+ line: number;
75
+ metric: MetricKey;
76
+ previous: number | null;
77
+ current: number | null;
78
+ delta: number;
79
+ direction: ComplexityDirection;
80
+ }
81
+
82
+ /** Der Waechter hat den Lock erworben und die Grundmessung begonnen. */
83
+ export interface WatchStartedEventV1 {
84
+ kind: "started";
85
+ sequence: number;
86
+ at: string;
87
+ root: string;
88
+ repoId: string;
89
+ refId: string;
90
+ lockKey: string;
91
+ }
92
+
93
+ /**
94
+ * Die Grundmessung ist fertig: ab hier sind alle Deltas gegen einen bekannten
95
+ * Stand gemessen und nicht gegen Nichts.
96
+ */
97
+ export interface WatchBaselineEventV1 {
98
+ kind: "baseline";
99
+ sequence: number;
100
+ at: string;
101
+ filesAnalyzed: number;
102
+ /** Wie viele Dateien mit Grund im Ledger stehen (E4). */
103
+ filesUnanalyzed: number;
104
+ /**
105
+ * Wie viele Pfade der Scanner ueber Ignorierregeln ausgeschlossen hat
106
+ * (`.gitignore`, Vorgabeausschluesse, Konfiguration).
107
+ *
108
+ * WARUM NUR EINE ZAHL UND KEIN EREIGNIS JE PFAD: das sind auf einem
109
+ * gewoehnlichen Repository zehntausende Pfade (`node_modules/`, `dist/`),
110
+ * und ein Strom, der davon ueberflutet wird, verbirgt genau das, was E4
111
+ * sichtbar machen will. Ausgeschlossen-nach-Regel ist zudem eine
112
+ * Konfigurationsentscheidung des Nutzers, kein Analysefehlschlag. Jeder
113
+ * Ausschluss, der NICHT auf einer Regel beruht — binaerer Inhalt,
114
+ * Groessengrenze, unlesbar — bekommt sein eigenes `unanalyzed`-Ereignis.
115
+ */
116
+ filesExcludedByRules: number;
117
+ totals: MetricValues;
118
+ /** Summe der Scopes, die in die drei Scope-Metriken eingehen. */
119
+ scopeCount: number;
120
+ /**
121
+ * Wie viele Scope-Ids der Sprachadapter innerhalb einer Datei doppelt
122
+ * vergeben hat und `withUniqueScopeIds` reparieren musste (WP-82). `> 0`
123
+ * ist kein Fehler, aber eine Einschraenkung, die sichtbar bleiben muss.
124
+ */
125
+ scopeIdCollisions: number;
126
+ /**
127
+ * Wie viele `NodeKindFact`s nur ueber den Ersatzweg zugeordnet werden
128
+ * konnten (sie tragen keine `SourceRange`). Betrifft ausschliesslich die
129
+ * strukturelle Metrik.
130
+ */
131
+ nodeKindFallbacks: number;
132
+ durationMs: number;
133
+ }
134
+
135
+ /** Eine Aenderung an einer Datei, mit Deltas je Metrik und je Scope. */
136
+ export interface WatchChangeEventV1 {
137
+ kind: "change";
138
+ sequence: number;
139
+ at: string;
140
+ changeKind: "added" | "modified" | "deleted";
141
+ /** "/"-normalisierter, repo-relativer Pfad. */
142
+ path: string;
143
+ languageId: string | null;
144
+ contentHash: string | null;
145
+ metrics: MetricDeltaV1[];
146
+ /**
147
+ * Die Scopes, deren Wert sich geaendert hat — nach Betrag absteigend,
148
+ * bei Gleichstand nach Scope-Id (Codepoint-Ordnung).
149
+ */
150
+ scopes: ScopeDeltaV1[];
151
+ /** Gesamtrichtung ueber alle vier Metriken (siehe `delta.ts`). */
152
+ verdict: ComplexityDirection;
153
+ /**
154
+ * Einschraenkungen dieser einen Messung im Klartext (Parse-Qualitaet,
155
+ * Chunker-Abstufung, Scope-Id-Kollisionen). Leer heisst: keine.
156
+ */
157
+ notes: string[];
158
+ analysisMs: number;
159
+ }
160
+
161
+ /**
162
+ * E4 an der Oberflaeche: eine Datei, die NICHT analysiert werden konnte,
163
+ * erscheint im Strom als solche — mit Grund, Detailtext und der Angabe, ob
164
+ * ein spaeterer Versuch Aussicht auf Erfolg hat.
165
+ */
166
+ export interface WatchUnanalyzedEventV1 {
167
+ kind: "unanalyzed";
168
+ sequence: number;
169
+ at: string;
170
+ /** Woher die Datei kam: Grundmessung oder eine laufende Aenderung. */
171
+ origin: "baseline" | "change";
172
+ entry: SkipLedgerEntryV1;
173
+ }
174
+
175
+ /** Zustandswechsel des Watchers (`starting` → `running` → `degraded` → `stopped`). */
176
+ export interface WatchStatusEventV1 {
177
+ kind: "status";
178
+ sequence: number;
179
+ at: string;
180
+ status: "starting" | "running" | "degraded" | "stopped";
181
+ /** Fehlertext, wenn der Wechsel durch einen Fehler ausgeloest wurde. */
182
+ detail: string | null;
183
+ }
184
+
185
+ /** Der Waechter hat sauber beendet: Strom geschlossen, Lock freigegeben. */
186
+ export interface WatchStoppedEventV1 {
187
+ kind: "stopped";
188
+ sequence: number;
189
+ at: string;
190
+ /**
191
+ * `"signal"` = SIGINT/SIGTERM, `"limit"` = `--exit-after` erreicht,
192
+ * `"baseline"` = `--baseline-only`, `"error"` = Abbruch.
193
+ */
194
+ reason: "signal" | "limit" | "baseline" | "error";
195
+ signal: string | null;
196
+ changesObserved: number;
197
+ filesUnanalyzed: number;
198
+ /** Netto-Delta der Sitzung je Metrik: was diese Sitzung insgesamt bewirkt hat. */
199
+ net: MetricValues;
200
+ netDirection: ComplexityDirection;
201
+ /** Rueckstau-Kennzahlen der `BoundedQueue` (architecture.md §13.2). */
202
+ queue: {
203
+ maxDepthObserved: number;
204
+ maxBytesObserved: number;
205
+ overBudgetAdmissions: number;
206
+ };
207
+ lockReleased: boolean;
208
+ durationMs: number;
209
+ }
210
+
211
+ export type WatchStreamEventV1 =
212
+ | WatchStartedEventV1
213
+ | WatchBaselineEventV1
214
+ | WatchChangeEventV1
215
+ | WatchUnanalyzedEventV1
216
+ | WatchStatusEventV1
217
+ | WatchStoppedEventV1;
218
+
219
+ /** Nullwerte fuer alle vier Metriken — nie `{}` weiterreichen. */
220
+ export function zeroMetricValues(): MetricValues {
221
+ return { structural: 0, semantic: 0, cyclomatic: 0, cognitive: 0 };
222
+ }
223
+
224
+ /**
225
+ * Ein Ereignis OHNE Umschlag (`sequence`, `at`) — die Form, in der der
226
+ * Waechter ein Ereignis meldet; den Umschlag setzt `runWatch` an genau einer
227
+ * Stelle, damit die laufende Nummer luecken- und sprungfrei bleibt.
228
+ *
229
+ * Die Verteilung ueber die Vereinigung (`T extends unknown ? ... : never`)
230
+ * ist notwendig: ein `Omit` DIREKT auf der Vereinigung behielte nur die
231
+ * gemeinsamen Felder aller Varianten uebrig und verwuerfe genau die Felder,
232
+ * um die es geht.
233
+ */
234
+ type WithoutEnvelope<T> = T extends unknown ? Omit<T, "sequence" | "at"> : never;
235
+ export type WatchStreamEventDraftV1 = WithoutEnvelope<WatchStreamEventV1>;
@@ -0,0 +1,53 @@
1
+ /**
2
+ * `untangle watch` — der Komplexitaetswaechter (vision.md §1b, §1d).
3
+ *
4
+ * Dies ist die EINZIGE oeffentliche Schnittstelle des Kommandos; `main.ts`
5
+ * und die Tests importieren nur von hier.
6
+ */
7
+ export { createFileAnalyzer, ORDERED_METRICS } from "./analyze.js";
8
+ export type {
9
+ AnalysisOutcomeV1,
10
+ FileAnalyzerOptions,
11
+ FileReadingV1,
12
+ ScopeReadingV1,
13
+ } from "./analyze.js";
14
+ export {
15
+ addMetricValues,
16
+ directionOf,
17
+ metricDeltas,
18
+ netDirectionOf,
19
+ readingOf,
20
+ scopeDeltas,
21
+ verdictOf,
22
+ } from "./delta.js";
23
+ export { METRIC_KEYS, zeroMetricValues } from "./events.js";
24
+ export type {
25
+ ComplexityDirection,
26
+ MetricDeltaV1,
27
+ MetricKey,
28
+ MetricReadingKind,
29
+ MetricValues,
30
+ ScopeDeltaV1,
31
+ WatchBaselineEventV1,
32
+ WatchChangeEventV1,
33
+ WatchStartedEventV1,
34
+ WatchStatusEventV1,
35
+ WatchStoppedEventV1,
36
+ WatchStreamEventDraftV1,
37
+ WatchStreamEventV1,
38
+ WatchUnanalyzedEventV1,
39
+ } from "./events.js";
40
+ export { parseWatchArgs, WATCH_USAGE } from "./options.js";
41
+ export type { ParseWatchArgsEnv, WatchOptionsV1 } from "./options.js";
42
+ export { formatNumber, formatSigned, renderJson, renderText } from "./render.js";
43
+ export { runWatch } from "./run.js";
44
+ export type { RunWatchDeps } from "./run.js";
45
+ export {
46
+ createIgnorePredicate,
47
+ createStreamSink,
48
+ CryptoRandom,
49
+ STATE_DIR_NAME,
50
+ stripAnsi,
51
+ SystemClock,
52
+ } from "./runtime.js";
53
+ export { runWatchCli } from "./cli.js";