@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 @@
1
+ {"version":3,"file":"sdd.js","sourceRoot":"","sources":["../../src/commands/sdd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * DER BAUPLAN fuer Befehle, deren Faehigkeit es NOCH NICHT GIBT.
3
+ *
4
+ * STAND: DIESE DATEI FUEHRT DERZEIT KEINEN BEFEHL MEHR. `watch` ist mit
5
+ * WP-128 hier ausgezogen, `graph` und `flow` mit WP-229 — beide lesen den
6
+ * Graphen jetzt wirklich zurueck (`commands/graph/`, `commands/flow/`).
7
+ * Geblieben ist {@link createUnavailableCommand}: der Bauplan fuer den
8
+ * naechsten Befehl, der angelegt, aber noch nicht gebaut ist. Er wird
9
+ * absichtlich NICHT geloescht — die Alternative zu einem ehrlichen
10
+ * Platzhalter ist erfahrungsgemaess kein fertiger Befehl, sondern ein
11
+ * stiller.
12
+ *
13
+ * Sie stehen in der Oberflaeche, weil ihre Abwesenheit sonst unsichtbar waere
14
+ * — ein Nutzer wuesste nicht, ob `untangle index` fehlt, falsch geschrieben
15
+ * ist oder heimlich nichts tut. BUILD_PLAN E4 verlangt genau das Gegenteil:
16
+ * jedes Ueberspringen bekommt einen Grund.
17
+ *
18
+ * Deshalb tut jeder dieser Befehle drei Dinge und nichts sonst:
19
+ * 1. er sagt, WAS fehlt — pruefbar, mit Paket- und Typnamen;
20
+ * 2. er sagt, was HEUTE schon geht, wenn es etwas gibt;
21
+ * 3. er nennt GENAU EINEN naechsten Schritt.
22
+ * Und er endet mit Exit-Code 3, nie mit 0 und nie mit 1.
23
+ */
24
+ import type { FlagSpecs } from "../cli/args.js";
25
+ import type { Command } from "../cli/command.js";
26
+ interface UnavailableDefinition {
27
+ readonly name: string;
28
+ readonly summary: string;
29
+ readonly usage: string;
30
+ /** Was fehlt — die pruefbare Aussage, nicht „nicht implementiert". */
31
+ readonly missing: readonly string[];
32
+ /** Was heute schon geht; leer, wenn es nichts gibt. */
33
+ readonly worksToday?: readonly string[];
34
+ /** GENAU EIN naechster Schritt. */
35
+ readonly nextStep: string;
36
+ readonly extraFlags?: FlagSpecs;
37
+ }
38
+ export declare function createUnavailableCommand(definition: UnavailableDefinition): Command;
39
+ export {};
40
+ //# sourceMappingURL=unavailable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unavailable.d.ts","sourceRoot":"","sources":["../../src/commands/unavailable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAA+B,MAAM,mBAAmB,CAAC;AAc9E,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,uDAAuD;IACvD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;CACjC;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAuCnF"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * DER BAUPLAN fuer Befehle, deren Faehigkeit es NOCH NICHT GIBT.
3
+ *
4
+ * STAND: DIESE DATEI FUEHRT DERZEIT KEINEN BEFEHL MEHR. `watch` ist mit
5
+ * WP-128 hier ausgezogen, `graph` und `flow` mit WP-229 — beide lesen den
6
+ * Graphen jetzt wirklich zurueck (`commands/graph/`, `commands/flow/`).
7
+ * Geblieben ist {@link createUnavailableCommand}: der Bauplan fuer den
8
+ * naechsten Befehl, der angelegt, aber noch nicht gebaut ist. Er wird
9
+ * absichtlich NICHT geloescht — die Alternative zu einem ehrlichen
10
+ * Platzhalter ist erfahrungsgemaess kein fertiger Befehl, sondern ein
11
+ * stiller.
12
+ *
13
+ * Sie stehen in der Oberflaeche, weil ihre Abwesenheit sonst unsichtbar waere
14
+ * — ein Nutzer wuesste nicht, ob `untangle index` fehlt, falsch geschrieben
15
+ * ist oder heimlich nichts tut. BUILD_PLAN E4 verlangt genau das Gegenteil:
16
+ * jedes Ueberspringen bekommt einen Grund.
17
+ *
18
+ * Deshalb tut jeder dieser Befehle drei Dinge und nichts sonst:
19
+ * 1. er sagt, WAS fehlt — pruefbar, mit Paket- und Typnamen;
20
+ * 2. er sagt, was HEUTE schon geht, wenn es etwas gibt;
21
+ * 3. er nennt GENAU EINEN naechsten Schritt.
22
+ * Und er endet mit Exit-Code 3, nie mit 0 und nie mit 1.
23
+ */
24
+ import { wrap } from "../cli/command.js";
25
+ import { EXIT, UnavailableError } from "../cli/exit.js";
26
+ import { note } from "../cli/io.js";
27
+ const COMMON_FLAGS = {
28
+ root: {
29
+ kind: "string",
30
+ placeholder: "PATH",
31
+ describe: "Project directory; configuration is discovered from here.",
32
+ defaultLabel: "current directory",
33
+ },
34
+ };
35
+ export function createUnavailableCommand(definition) {
36
+ const spec = {
37
+ name: definition.name,
38
+ // Alle drei Platzhalter kommen aus DIESEM Modul. Das ist die Kehrseite
39
+ // von `implementedBy`: ein Befehl, der hierher zeigt, gibt zu, dass
40
+ // seine Faehigkeit noch fehlt (`notYetBuilt`) — und ein Befehl, der
41
+ // NICHT hierher zeigt, behauptet das Gegenteil und wird daran gemessen.
42
+ implementedBy: "commands/unavailable.js",
43
+ summary: `${definition.summary}; not available yet`,
44
+ usage: definition.usage,
45
+ details: [
46
+ `This command is registered, but its capability is not implemented. It performs no action and exits with code ${String(EXIT.unavailable)}; it neither reports success nor invents an operational error.`,
47
+ ...definition.missing,
48
+ ...(definition.worksToday ?? []),
49
+ ],
50
+ flags: { ...COMMON_FLAGS, ...(definition.extraFlags ?? {}) },
51
+ exitCodes: [[EXIT.unavailable, "This capability is not implemented."]],
52
+ notYetBuilt: true,
53
+ };
54
+ return {
55
+ spec,
56
+ run(ctx) {
57
+ note(ctx.io, `untangle ${definition.name}: not available yet.`);
58
+ note(ctx.io, "");
59
+ for (const paragraph of definition.missing) {
60
+ for (const wrapped of wrap(paragraph, 76))
61
+ note(ctx.io, ` ${wrapped}`);
62
+ note(ctx.io, "");
63
+ }
64
+ for (const paragraph of definition.worksToday ?? []) {
65
+ for (const wrapped of wrap(paragraph, 76))
66
+ note(ctx.io, ` ${wrapped}`);
67
+ note(ctx.io, "");
68
+ }
69
+ throw new UnavailableError(`The capability behind "untangle ${definition.name}" is not implemented.`, definition.nextStep);
70
+ },
71
+ };
72
+ }
73
+ //# sourceMappingURL=unavailable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unavailable.js","sourceRoot":"","sources":["../../src/commands/unavailable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,MAAM,YAAY,GAAc;IAC9B,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,MAAM;QACnB,QAAQ,EAAE,2DAA2D;QACrE,YAAY,EAAE,mBAAmB;KAClC;CACF,CAAC;AAeF,MAAM,UAAU,wBAAwB,CAAC,UAAiC;IACxE,MAAM,IAAI,GAAgB;QACxB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,uEAAuE;QACvE,oEAAoE;QACpE,oEAAoE;QACpE,wEAAwE;QACxE,aAAa,EAAE,yBAAyB;QACxC,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,qBAAqB;QACnD,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,OAAO,EAAE;YACP,gHAAgH,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,gEAAgE;YACxM,GAAG,UAAU,CAAC,OAAO;YACrB,GAAG,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;SACjC;QACD,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE;QAC5D,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,qCAAqC,CAAC,CAAC;QACtE,WAAW,EAAE,IAAI;KAClB,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,GAAG,CAAC,GAAmB;YACrB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,UAAU,CAAC,IAAI,sBAAsB,CAAC,CAAC;YAChE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACjB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC3C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;oBAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnB,CAAC;YACD,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;gBACpD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;oBAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnB,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,mCAAmC,UAAU,CAAC,IAAI,uBAAuB,EACzE,UAAU,CAAC,QAAQ,CACpB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { type ParseQuality, type ParserRegistry, type SkipLedgerEntryV1 } from "@untangle-code/domain";
2
+ import { type MetricKey, type MetricValues } from "./events.js";
3
+ /** Ein gemessener Scope, so wie ihn der Waechter zwischen zwei Staenden vergleicht. */
4
+ export interface ScopeReadingV1 {
5
+ /** `metrics_scope_id` (spec.md §16.10) — eindeutig INNERHALB dieser Messung. */
6
+ metricsScopeId: string;
7
+ /**
8
+ * Schluessel fuer den Vergleich ZWISCHEN zwei Messungen.
9
+ *
10
+ * WARUM NICHT `metricsScopeId`: `withUniqueScopeIds` bildet die eindeutige
11
+ * Id aus der Byte-Range des Scopes. Das ist innerhalb einer Messung genau
12
+ * richtig und ueber zwei Messungen hinweg unbrauchbar — schon eine
13
+ * eingefuegte Zeile verschiebt jede Range und damit jede Id, und der
14
+ * Waechter meldete dann fuer jede Aenderung "alle Scopes weg, alle Scopes
15
+ * neu". Der Vergleichsschluessel ist deshalb die urspruengliche
16
+ * Adapter-Id (qualifizierter Name plus Ordinal) plus ein Ordinal fuer den
17
+ * Fall, dass der Adapter dieselbe Id mehrfach vergeben hat.
18
+ */
19
+ matchKey: string;
20
+ label: string;
21
+ kind: string;
22
+ line: number;
23
+ /** Wert je Metrik in der Lesart `"execution_unit"`; nur ausgewaehlte Scopes haben einen. */
24
+ values: MetricValues;
25
+ /** True, wenn dieser Scope in der Lesart `"execution_unit"` ein Summand ist. */
26
+ selected: boolean;
27
+ }
28
+ /** Das Messergebnis EINER Datei. */
29
+ export interface FileReadingV1 {
30
+ path: string;
31
+ languageId: string;
32
+ contentHash: string;
33
+ parseQuality: ParseQuality;
34
+ totals: MetricValues;
35
+ scopes: ScopeReadingV1[];
36
+ /** Anzahl der Chunks, in die der chunker die Datei zerlegt. */
37
+ chunkUnits: number;
38
+ /** Wie viele davon `symbol_fragment` sind: ein Symbol passte nicht in einen Chunk. */
39
+ chunkFragments: number;
40
+ scopeCount: number;
41
+ scopeIdCollisions: number;
42
+ nodeKindFallbacks: number;
43
+ /** Einschraenkungen dieser Messung im Klartext; leer heisst: keine. */
44
+ notes: string[];
45
+ }
46
+ export type AnalysisOutcomeV1 = {
47
+ ok: true;
48
+ reading: FileReadingV1;
49
+ } | {
50
+ ok: false;
51
+ entry: SkipLedgerEntryV1;
52
+ };
53
+ export interface FileAnalyzerOptions {
54
+ registry: ParserRegistry;
55
+ repoId: string;
56
+ refId: string;
57
+ workspaceId: string;
58
+ /** Menschenlesbares Ref-Label fuer den Chunker-Kopf (spec.md §8.6). */
59
+ refName: string;
60
+ repoLabel: string;
61
+ }
62
+ /**
63
+ * Baut den Analysator EINMAL (die Grammatiken laden faul beim ersten
64
+ * `parse()`) und liefert eine reine Funktion `analyze(path, content)`.
65
+ */
66
+ export declare function createFileAnalyzer(options: FileAnalyzerOptions): (relativePath: string, content: string) => AnalysisOutcomeV1;
67
+ /** Die Metrik-Reihenfolge, an die sich jede Darstellung haelt. */
68
+ export declare const ORDERED_METRICS: readonly MetricKey[];
69
+ //# sourceMappingURL=analyze.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../src/commands/watch/analyze.ts"],"names":[],"mappings":"AA6EA,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAiC,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAY/F,uFAAuF;AACvF,MAAM,WAAW,cAAc;IAC7B,gFAAgF;IAChF,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;OAWG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,MAAM,EAAE,YAAY,CAAC;IACrB,gFAAgF;IAChF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,MAAM,iBAAiB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEjF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,mBAAmB,GAC3B,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,iBAAiB,CAE9D;AA6aD,kEAAkE;AAClE,eAAO,MAAM,eAAe,EAAE,SAAS,SAAS,EAAgB,CAAC"}
@@ -0,0 +1,402 @@
1
+ /**
2
+ * Die Messung einer Datei — die Stelle, an der parser-registry, chunker und
3
+ * complexity zu EINER Messung zusammenlaufen.
4
+ *
5
+ * Der Weg einer Datei durch dieses Modul:
6
+ *
7
+ * Inhalt
8
+ * -> `ParserRegistry.getAdapterForPath` (parser-registry)
9
+ * -> `adapter.parse` / `extractChunks` / `extractSymbols` / `extractCalls`
10
+ * / `computeComplexity`
11
+ * -> `chunkFile` (chunker) .... semantische Ladung
12
+ * -> `withUniqueScopeIds` (complexity) .... eindeutige metrics_scope_id
13
+ * -> `computeStructural` / `computeCyclomatic` / `computeCognitive`
14
+ * -> `checkScopeTreeInvariants` + `checkAllScopeCoverage`
15
+ * -> `aggregateScopeTree` / `selectScopeEntries` (scope-aggregate)
16
+ *
17
+ * ## Die vier Metriken (vision.md §1b)
18
+ *
19
+ * DREI davon sind Scope-Metriken und werden ueber `metrics_scope_id`
20
+ * aggregiert, ohne Doppelzaehlung — die ausgewiesene Zahl ist die Lesart
21
+ * `"execution_unit"` aus `packages/complexity/src/scope-aggregate.ts`: jede
22
+ * aeusserste Ausfuehrungseinheit genau einmal, verschachtelte Closures darin
23
+ * enthalten.
24
+ *
25
+ * - `cognitive` — `computeCognitive` ueber die IR (`untangle-cognitive-v1`,
26
+ * spec.md §16.4).
27
+ * - `cyclomatic` — `computeCyclomatic(...).extended` (spec.md §16.3).
28
+ * - `structural` — `parameter_count + return_count + exit_point_count` aus
29
+ * `computeStructural` (spec.md §16.5). WARUM GENAU DIESE DREI: die Lesarten
30
+ * der Scope-Aggregation SUMMIEREN. Summierbar und ueberschneidungsfrei
31
+ * zerlegbar sind von den strukturellen Metriken nur die zaehlenden; `sloc`
32
+ * und `max_nesting` sind es nicht (`sloc` eines Elternscopes enthaelt die
33
+ * Zeilen seiner Kinder, `max_nesting` ist ein Maximum, keine Summe) — sie
34
+ * waeren als Summe entweder doppelt gezaehlt oder bedeutungslos. Die drei
35
+ * gewaehlten zaehlen die strukturelle Oberflaeche eines Scopes: wie viele
36
+ * Groessen hineingehen und wie viele Wege hinausfuehren.
37
+ *
38
+ * DIE VIERTE ist bewusst KEINE Scope-Metrik:
39
+ *
40
+ * - `semantic` — die semantische Ladung der Datei: die Summe der
41
+ * Token-Schaetzungen ueber alle Chunks, die der chunker fuer die Datei
42
+ * erzeugt (`CodeChunkDraft.tokenEstimate`, architecture.md §14.4).
43
+ * Sie beantwortet "wie viel Kontext muss geladen werden, um diese Datei zu
44
+ * verstehen" und faellt genau dann, wenn dieselbe Aussage mit weniger
45
+ * Bedeutungseinheiten auskommt (vision.md §1d). Sie wird ueber CHUNKS
46
+ * summiert, nicht ueber Scopes; deshalb traegt sie die Lesart
47
+ * `"file_chunks"` und niemals `"execution_unit"`.
48
+ *
49
+ * OFFEN GESAGT: spec.md §16 kennt keine Metrik "semantisch". Dies ist eine
50
+ * untangle-lokale Lesart mit ausgewiesener Herkunft, keine
51
+ * Spezifikationsmetrik — sie wird als solche benannt und nicht als §16-Wert
52
+ * ausgegeben.
53
+ *
54
+ * ## Warum eine Messung scheitern DARF
55
+ *
56
+ * Jeder Fehlschlag endet als `SkipLedgerEntryV1` mit Grund und Detailtext,
57
+ * nie als stiller `continue` (E4). Insbesondere geht eine Datei mit
58
+ * `parseQuality !== "complete"` NICHT in die Zahlen ein: ein beschaedigter
59
+ * Syntaxbaum liefert nachweislich falsche Scope-Grenzen (siehe
60
+ * `scripts/complexity-report.mjs`, Kopfkommentar Punkt 5). Sie erscheint
61
+ * stattdessen als `unanalyzed`-Ereignis im Strom.
62
+ */
63
+ import { chunkFile } from "@untangle-code/chunker";
64
+ import { buildSymbolIR, checkAllScopeCoverage, checkScopeTreeInvariants, computeCognitive, computeCyclomatic, computeStructural, containsRange, selectScopeEntries, selectSymbolFacts, withUniqueScopeIds, } from "@untangle-code/complexity";
65
+ import { buildSkipLedgerEntry, classifyAdapterFailure, classifyTextFormat, compareCodepoints, COGNITIVE_ALGORITHM_ID, METRICS_VERSION, sha256Hex, } from "@untangle-code/domain";
66
+ import { METRIC_KEYS, zeroMetricValues } from "./events.js";
67
+ /**
68
+ * Scope-Arten, die eine eigene Ausfuehrungseinheit sind.
69
+ * `SymbolScopeFact.kind` ist ein adapterspezifischer String;
70
+ * `packages/complexity` kennt bewusst keine Sprach-Taxonomie, die Zuordnung
71
+ * trifft deshalb der Aufrufer (siehe `ScopeMetricNodeV1.executionUnit`).
72
+ * Identisch zu `scripts/complexity-report.mjs`, damit Waechter und Report
73
+ * dieselbe Zahl meinen.
74
+ */
75
+ const EXECUTION_UNIT_KINDS = new Set(["function", "method", "constructor", "lambda"]);
76
+ /**
77
+ * Baut den Analysator EINMAL (die Grammatiken laden faul beim ersten
78
+ * `parse()`) und liefert eine reine Funktion `analyze(path, content)`.
79
+ */
80
+ export function createFileAnalyzer(options) {
81
+ return (relativePath, content) => analyzeFile(options, relativePath, content);
82
+ }
83
+ function skip(relativePath, reason, stage, detail, recoverable) {
84
+ return {
85
+ ok: false,
86
+ entry: buildSkipLedgerEntry({
87
+ stage,
88
+ subjectKind: "file",
89
+ path: relativePath,
90
+ reason,
91
+ detail,
92
+ recoverable,
93
+ }),
94
+ };
95
+ }
96
+ function analyzeFile(options, relativePath, content) {
97
+ const adapter = options.registry.getAdapterForPath(relativePath);
98
+ if (adapter === null) {
99
+ return skip(relativePath, "unsupported_language", "parse", `No language adapter is registered for "${relativePath}"; the file contributes to no ` +
100
+ `complexity measurement and its change produces no delta.`, false);
101
+ }
102
+ if (classifyTextFormat(relativePath) === "generated") {
103
+ return skip(relativePath, "generated_content", "parse", `"${relativePath}" is generated content (such as a lockfile). It contains no ` +
104
+ `authored statement; its change produces no delta.`, false);
105
+ }
106
+ // WP-217: Stufe `text` hat keine Scopes und keine Entscheidungspunkte. Die
107
+ // vier Metriken dieses Moduls (cognitive, cyclomatic, structural, semantic)
108
+ // sind Code-Metriken; sie auf ein Dokument anzuwenden ergaebe vier Nullen,
109
+ // die wie eine Messung aussehen. Der Watcher sagt deshalb, was er NICHT
110
+ // gerechnet hat — samt der Stelle, an der es gerechnet wird.
111
+ if (adapter.supportLevel === "text") {
112
+ const prose = classifyTextFormat(relativePath) === "prose";
113
+ return skip(relativePath, "no_metric_defined", "parse", prose
114
+ ? `"${relativePath}" is prose (tier "text"). Prose metrics are defined and ` +
115
+ `computed by "untangle complexity --prose"; this watcher path does not compute ` +
116
+ `them yet. Cognitive, cyclomatic and structural metrics would show zeros ` +
117
+ `that could be mistaken for measurements; this note is emitted ` +
118
+ `instead of a delta.`
119
+ : `"${relativePath}" is structured configuration (tier "text"): supported ` +
120
+ `for chunks and search, but without control flow or section structure. ` +
121
+ `Neither a code metric nor a prose metric is defined for it.`, false);
122
+ }
123
+ const contentHash = sha256Hex(content);
124
+ const source = {
125
+ fileId: relativePath,
126
+ repoId: options.repoId,
127
+ refId: options.refId,
128
+ path: relativePath,
129
+ languageId: adapter.languageId,
130
+ content,
131
+ contentHash,
132
+ sizeBytes: Buffer.byteLength(content, "utf8"),
133
+ };
134
+ let parseResult;
135
+ try {
136
+ parseResult = adapter.parse(source);
137
+ }
138
+ catch (error) {
139
+ // WP-216: benannter Grund statt durchgereichtem Ausnahmetext (E4).
140
+ const failure = classifyAdapterFailure(error, { sizeBytes: source.sizeBytes });
141
+ return skip(relativePath, failure.reason, "parse", `Adapter "${adapter.languageId}": ${failure.detail}`, failure.recoverable);
142
+ }
143
+ if (parseResult.ast === null) {
144
+ return skip(relativePath, "parse_failed", "parse", `parseQuality="${parseResult.parseQuality}" has no syntax tree; no facts can be derived.`, false);
145
+ }
146
+ if (parseResult.parseQuality !== "complete") {
147
+ const damagedBytes = parseResult.diagnostics.reduce((sum, diagnostic) => sum + (diagnostic.range.endByte - diagnostic.range.startByte), 0);
148
+ return skip(relativePath, "parse_failed", "parse", `parseQuality="${parseResult.parseQuality}": ${String(parseResult.errorNodeCount)} ` +
149
+ `error nodes and ${String(parseResult.missingNodeCount)} missing nodes ` +
150
+ `(${String(damagedBytes)} of ${String(source.sizeBytes)} bytes fall below ` +
151
+ `error nodes). Scope boundaries and decision points would be unreliable; ` +
152
+ `the file therefore contributes to no measurement rather than silently distorting deltas.`, true);
153
+ }
154
+ const ast = parseResult.ast;
155
+ let rawFacts;
156
+ let regions;
157
+ let symbols;
158
+ let rawCalls;
159
+ try {
160
+ regions = adapter.extractChunks(ast);
161
+ symbols = adapter.extractSymbols(ast);
162
+ rawCalls = adapter.extractCalls(ast);
163
+ rawFacts = adapter.computeComplexity(ast);
164
+ }
165
+ catch (error) {
166
+ return skip(relativePath, "parse_failed", "parse", `The adapter for "${adapter.languageId}" failed while evaluating the syntax tree: ` +
167
+ `geworfen: ${messageOf(error)}`, false);
168
+ }
169
+ // --- semantische Ladung: der chunker ---------------------------------
170
+ let chunkResult;
171
+ try {
172
+ chunkResult = chunkFile({
173
+ identity: {
174
+ workspaceId: options.workspaceId,
175
+ repoId: options.repoId,
176
+ refId: options.refId,
177
+ fileId: relativePath,
178
+ filePath: relativePath,
179
+ languageId: adapter.languageId,
180
+ },
181
+ content,
182
+ parseResult,
183
+ regions,
184
+ symbols,
185
+ config: {
186
+ preparedText: {
187
+ documentPrefix: "search_document:",
188
+ repoLabel: options.repoLabel,
189
+ refName: options.refName,
190
+ },
191
+ },
192
+ });
193
+ }
194
+ catch (error) {
195
+ return skip(relativePath, "parse_failed", "chunk", `The chunker failed: ${messageOf(error)}`, false);
196
+ }
197
+ const notes = parseResult.diagnostics
198
+ .filter((diagnostic) => diagnostic.code === "analysis_scope_limited")
199
+ .map((diagnostic) => diagnostic.message);
200
+ for (const degradation of chunkResult.degradations) {
201
+ notes.push(`Chunker fallback (${degradation.reason}, strategy "${degradation.strategy}"): ` +
202
+ degradation.detail);
203
+ }
204
+ const semantic = chunkResult.drafts.reduce((sum, draft) => sum + draft.tokenEstimate, 0);
205
+ const chunkFragments = chunkResult.drafts.filter((draft) => draft.chunkKind === "symbol_fragment").length;
206
+ // --- Scope-Metriken: complexity ---------------------------------------
207
+ const repaired = withUniqueScopeIds(rawFacts, rawCalls, relativePath);
208
+ const facts = repaired.facts;
209
+ const calls = repaired.calls;
210
+ if (repaired.collisions.length > 0) {
211
+ const scopes = repaired.collisions.reduce((sum, c) => sum + c.scopeCount, 0);
212
+ notes.push(`${String(repaired.collisions.length)} ambiguous adapter scope ID(s) across ` +
213
+ `${String(scopes)} scopes remapped to unique metrics_scope_id values (WP-82).`);
214
+ }
215
+ if (repaired.nodeKindsAttributedByFallback > 0) {
216
+ notes.push(`${String(repaired.nodeKindsAttributedByFallback)} NodeKindFact(s) without SourceRange ` +
217
+ `could only be assigned through a fallback; this file's structural metric ` +
218
+ `therefore has only approximate scope precision.`);
219
+ }
220
+ const subtreeIds = subtreeIdsOf(facts);
221
+ const perMetricNodes = {
222
+ structural: [],
223
+ cyclomatic: [],
224
+ cognitive: [],
225
+ };
226
+ const meta = new Map();
227
+ const matchOrdinals = new Map();
228
+ for (const scope of facts.symbolScopes) {
229
+ const id = scope.symbolScopeId;
230
+ const ownFacts = selectSymbolFacts(facts, id);
231
+ const ids = subtreeIds.get(id) ?? new Set([id]);
232
+ const shared = {
233
+ metricsScopeId: id,
234
+ executionUnit: EXECUTION_UNIT_KINDS.has(scope.kind),
235
+ sloc: Math.max(1, scope.range.endLine - scope.range.startLine + 1),
236
+ ...(scope.parentScopeId === undefined ? {} : { parentScopeId: scope.parentScopeId }),
237
+ };
238
+ // cognitive: derselbe Calculator, einmal auf den ungefilterten Datei-Facts
239
+ // (der IR-Builder zieht alle Nachfahren hinein) und einmal auf den
240
+ // eigenen Facts des Scopes.
241
+ const inclusiveIr = buildSymbolIR(facts, id, { calls });
242
+ const ownIr = buildSymbolIR(ownFacts, id, { calls });
243
+ perMetricNodes.cognitive.push({
244
+ ...shared,
245
+ inclusiveValue: inclusiveIr === undefined ? 0 : computeCognitive(inclusiveIr, COGNITIVE_ALGORITHM_ID).value,
246
+ selfValue: ownIr === undefined ? 0 : computeCognitive(ownIr, COGNITIVE_ALGORITHM_ID).value,
247
+ });
248
+ // cyclomatic: Entscheidungspunkte des Scopes UND aller Nachfahren
249
+ // (Byte-Containment), damit "inclusive" dasselbe bedeutet wie bei cognitive.
250
+ const subtreeDecisionFacts = {
251
+ ...facts,
252
+ decisions: facts.decisions.filter((d) => containsRange(scope.range, d.range)),
253
+ };
254
+ perMetricNodes.cyclomatic.push({
255
+ ...shared,
256
+ inclusiveValue: computeCyclomatic(subtreeDecisionFacts, scope.range.startLine, METRICS_VERSION).extended,
257
+ selfValue: computeCyclomatic(ownFacts, scope.range.startLine, METRICS_VERSION).extended,
258
+ });
259
+ // structural: die zaehlenden Metriken aus §16.5. `NodeKindFact`s tragen
260
+ // eine `symbolScopeId`, also ist die Zerlegung ueber die Scope-Ids des
261
+ // Teilbaums exakt: inclusive = self + Summe der Kinder, per Konstruktion.
262
+ const subtreeNodeKindFacts = {
263
+ ...facts,
264
+ nodeKinds: facts.nodeKinds.filter((fact) => ids.has(fact.symbolScopeId)),
265
+ };
266
+ perMetricNodes.structural.push({
267
+ ...shared,
268
+ inclusiveValue: structuralLoad(subtreeNodeKindFacts, content, scope.range),
269
+ selfValue: structuralLoad(ownFacts, content, scope.range),
270
+ });
271
+ const adapterId = repaired.originalScopeIds.get(id) ?? id;
272
+ const ordinal = matchOrdinals.get(adapterId) ?? 0;
273
+ matchOrdinals.set(adapterId, ordinal + 1);
274
+ meta.set(id, {
275
+ matchKey: `${adapterId}#${String(ordinal)}`,
276
+ label: scope.qualifiedName || scope.name || `(${scope.kind})`,
277
+ kind: scope.kind,
278
+ line: scope.range.startLine,
279
+ });
280
+ }
281
+ // --- Invarianten: erst pruefen, dann summieren ------------------------
282
+ const violations = [];
283
+ for (const metric of ["structural", "cyclomatic", "cognitive"]) {
284
+ const nodes = perMetricNodes[metric];
285
+ violations.push(...checkScopeTreeInvariants(nodes, treeOptionsFor(metric)));
286
+ violations.push(...checkAllScopeCoverage(nodes));
287
+ }
288
+ if (violations.length > 0) {
289
+ const first = violations
290
+ .slice()
291
+ .sort((a, b) => compareCodepoints(a.metricsScopeId, b.metricsScopeId))
292
+ .slice(0, 3)
293
+ .map((v) => `${v.code} @ ${v.metricsScopeId}: ${v.detail}`)
294
+ .join(" | ");
295
+ return skip(relativePath, "parse_failed", "parse", `${String(violations.length)} invariant violation(s) in the scope tree; a total ` +
296
+ `over an inconsistent tree would be meaningless. First: ${first}`, false);
297
+ }
298
+ const totals = { ...zeroMetricValues(), semantic };
299
+ const selectedValues = new Map();
300
+ for (const metric of ["structural", "cyclomatic", "cognitive"]) {
301
+ const entries = selectScopeEntries(perMetricNodes[metric], "execution_unit");
302
+ let sum = 0;
303
+ for (const entry of entries) {
304
+ sum += entry.value;
305
+ const bucket = selectedValues.get(entry.metricsScopeId) ?? { ...zeroMetricValues() };
306
+ bucket[metric] = entry.value;
307
+ selectedValues.set(entry.metricsScopeId, bucket);
308
+ }
309
+ totals[metric] = sum;
310
+ }
311
+ const scopes = [];
312
+ for (const [id, info] of meta) {
313
+ const values = selectedValues.get(id);
314
+ scopes.push({
315
+ metricsScopeId: id,
316
+ matchKey: info.matchKey,
317
+ label: info.label,
318
+ kind: info.kind,
319
+ line: info.line,
320
+ values: values ?? zeroMetricValues(),
321
+ selected: values !== undefined,
322
+ });
323
+ }
324
+ scopes.sort((a, b) => compareCodepoints(a.matchKey, b.matchKey));
325
+ return {
326
+ ok: true,
327
+ reading: {
328
+ path: relativePath,
329
+ languageId: adapter.languageId,
330
+ contentHash,
331
+ parseQuality: parseResult.parseQuality,
332
+ totals,
333
+ scopes,
334
+ chunkUnits: chunkResult.drafts.length,
335
+ chunkFragments,
336
+ scopeCount: facts.symbolScopes.length,
337
+ scopeIdCollisions: repaired.collisions.length,
338
+ nodeKindFallbacks: repaired.nodeKindsAttributedByFallback,
339
+ notes,
340
+ },
341
+ };
342
+ }
343
+ /**
344
+ * `perScopeBase` je Metrik. `computeCyclomatic` legt IMMER den
345
+ * `M = 1 + decision_points`-Sockel an; ohne diese Angabe meldete die
346
+ * Eltern/Kind-Pruefung Scheinverstoesse, sobald ein Scope mehr als ein Kind
347
+ * hat (siehe `ScopeTreeOptions.perScopeBase`).
348
+ */
349
+ function treeOptionsFor(metric) {
350
+ return { perScopeBase: metric === "cyclomatic" ? 1 : 0 };
351
+ }
352
+ /**
353
+ * Die strukturelle Last eines Scopes: `parameter_count + return_count +
354
+ * exit_point_count` aus `computeStructural` (spec.md §16.5) — siehe
355
+ * Modul-Doku fuer die Begruendung, warum genau diese drei.
356
+ */
357
+ function structuralLoad(facts, content, range) {
358
+ const metrics = computeStructural(facts, content, range).metrics;
359
+ return ((metrics["parameter_count"] ?? 0) +
360
+ (metrics["return_count"] ?? 0) +
361
+ (metrics["exit_point_count"] ?? 0));
362
+ }
363
+ /**
364
+ * Fuer jeden Scope die Menge seiner eigenen Id plus aller Nachfahren-Ids.
365
+ * Die Elternkette ist nach `checkScopeTreeInvariants` zyklenfrei; hier wird
366
+ * trotzdem gegen Zyklen abgesichert, weil diese Funktion VOR der Pruefung
367
+ * laeuft.
368
+ */
369
+ function subtreeIdsOf(facts) {
370
+ const children = new Map();
371
+ const all = [];
372
+ for (const scope of facts.symbolScopes) {
373
+ all.push(scope.symbolScopeId);
374
+ const parent = scope.parentScopeId;
375
+ if (parent === undefined)
376
+ continue;
377
+ const bucket = children.get(parent) ?? [];
378
+ bucket.push(scope.symbolScopeId);
379
+ children.set(parent, bucket);
380
+ }
381
+ const result = new Map();
382
+ for (const id of all) {
383
+ const collected = new Set();
384
+ const stack = [id];
385
+ while (stack.length > 0) {
386
+ const current = stack.pop();
387
+ if (collected.has(current))
388
+ continue;
389
+ collected.add(current);
390
+ for (const child of children.get(current) ?? [])
391
+ stack.push(child);
392
+ }
393
+ result.set(id, collected);
394
+ }
395
+ return result;
396
+ }
397
+ function messageOf(error) {
398
+ return error instanceof Error ? error.message : String(error);
399
+ }
400
+ /** Die Metrik-Reihenfolge, an die sich jede Darstellung haelt. */
401
+ export const ORDERED_METRICS = METRIC_KEYS;
402
+ //# sourceMappingURL=analyze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/commands/watch/analyze.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GAGnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,SAAS,GAKV,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAqC,MAAM,aAAa,CAAC;AAE/F;;;;;;;GAOG;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AA4DtF;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAA4B;IAE5B,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,IAAI,CACX,YAAoB,EACpB,MAAmC,EACnC,KAAiC,EACjC,MAAc,EACd,WAAoB;IAEpB,OAAO;QACL,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,oBAAoB,CAAC;YAC1B,KAAK;YACL,WAAW,EAAE,MAAM;YACnB,IAAI,EAAE,YAAY;YAClB,MAAM;YACN,MAAM;YACN,WAAW;SACZ,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAClB,OAA4B,EAC5B,YAAoB,EACpB,OAAe;IAEf,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACjE,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CACT,YAAY,EACZ,sBAAsB,EACtB,OAAO,EACP,0CAA0C,YAAY,gCAAgC;YACpF,0DAA0D,EAC5D,KAAK,CACN,CAAC;IACJ,CAAC;IAED,IAAI,kBAAkB,CAAC,YAAY,CAAC,KAAK,WAAW,EAAE,CAAC;QACrD,OAAO,IAAI,CACT,YAAY,EACZ,mBAAmB,EACnB,OAAO,EACP,IAAI,YAAY,8DAA8D;YAC5E,mDAAmD,EACrD,KAAK,CACN,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,6DAA6D;IAC7D,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,kBAAkB,CAAC,YAAY,CAAC,KAAK,OAAO,CAAC;QAC3D,OAAO,IAAI,CACT,YAAY,EACZ,mBAAmB,EACnB,OAAO,EACP,KAAK;YACH,CAAC,CAAC,IAAI,YAAY,0DAA0D;gBACxE,gFAAgF;gBAChF,0EAA0E;gBAC1E,gEAAgE;gBAChE,qBAAqB;YACzB,CAAC,CAAC,IAAI,YAAY,yDAAyD;gBACvE,wEAAwE;gBACxE,6DAA6D,EACnE,KAAK,CACN,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO;QACP,WAAW;QACX,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC;KAC9C,CAAC;IAEF,IAAI,WAAW,CAAC;IAChB,IAAI,CAAC;QACH,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mEAAmE;QACnE,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/E,OAAO,IAAI,CACT,YAAY,EACZ,OAAO,CAAC,MAAM,EACd,OAAO,EACP,YAAY,OAAO,CAAC,UAAU,MAAM,OAAO,CAAC,MAAM,EAAE,EACpD,OAAO,CAAC,WAAW,CACpB,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,IAAI,CACT,YAAY,EACZ,cAAc,EACd,OAAO,EACP,iBAAiB,WAAW,CAAC,YAAY,gDAAgD,EACzF,KAAK,CACN,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CACjD,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,EAClF,CAAC,CACF,CAAC;QACF,OAAO,IAAI,CACT,YAAY,EACZ,cAAc,EACd,OAAO,EACP,iBAAiB,WAAW,CAAC,YAAY,MAAM,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG;YAClF,mBAAmB,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,iBAAiB;YACxE,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB;YAC3E,0EAA0E;YAC1E,0FAA0F,EAC5F,IAAI,CACL,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;IAC5B,IAAI,QAAyB,CAAC;IAC9B,IAAI,OAAO,CAAC;IACZ,IAAI,OAAO,CAAC;IACZ,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACtC,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACrC,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CACT,YAAY,EACZ,cAAc,EACd,OAAO,EACP,oBAAoB,OAAO,CAAC,UAAU,6CAA6C;YACjF,aAAa,SAAS,CAAC,KAAK,CAAC,EAAE,EACjC,KAAK,CACN,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,IAAI,WAAW,CAAC;IAChB,IAAI,CAAC;QACH,WAAW,GAAG,SAAS,CAAC;YACtB,QAAQ,EAAE;gBACR,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,YAAY;gBACpB,QAAQ,EAAE,YAAY;gBACtB,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B;YACD,OAAO;YACP,WAAW;YACX,OAAO;YACP,OAAO;YACP,MAAM,EAAE;gBACN,YAAY,EAAE;oBACZ,cAAc,EAAE,kBAAkB;oBAClC,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CACT,YAAY,EACZ,cAAc,EACd,OAAO,EACP,uBAAuB,SAAS,CAAC,KAAK,CAAC,EAAE,EACzC,KAAK,CACN,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAa,WAAW,CAAC,WAAW;SAC5C,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,wBAAwB,CAAC;SACpE,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3C,KAAK,MAAM,WAAW,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CACR,qBAAqB,WAAW,CAAC,MAAM,eAAe,WAAW,CAAC,QAAQ,MAAM;YAC9E,WAAW,CAAC,MAAM,CACrB,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACzF,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAC9C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,iBAAiB,CACjD,CAAC,MAAM,CAAC;IAET,yEAAyE;IACzE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAE7B,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC7E,KAAK,CAAC,IAAI,CACR,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,wCAAwC;YAC3E,GAAG,MAAM,CAAC,MAAM,CAAC,6DAA6D,CACjF,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,6BAA6B,GAAG,CAAC,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CACR,GAAG,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC,uCAAuC;YACtF,2EAA2E;YAC3E,iDAAiD,CACpD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,cAAc,GAAgE;QAClF,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;KACd,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,GAAG,EAA2E,CAAC;IAChG,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEhD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC;QAC/B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG;YACb,cAAc,EAAE,EAAE;YAClB,aAAa,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;YAClE,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;SACrF,CAAC;QAEF,2EAA2E;QAC3E,mEAAmE;QACnE,4BAA4B;QAC5B,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACrD,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC;YAC5B,GAAG,MAAM;YACT,cAAc,EACZ,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC,KAAK;YAC7F,SAAS,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC,KAAK;SAC3F,CAAC,CAAC;QAEH,kEAAkE;QAClE,6EAA6E;QAC7E,MAAM,oBAAoB,GAAoB;YAC5C,GAAG,KAAK;YACR,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E,CAAC;QACF,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC;YAC7B,GAAG,MAAM;YACT,cAAc,EAAE,iBAAiB,CAC/B,oBAAoB,EACpB,KAAK,CAAC,KAAK,CAAC,SAAS,EACrB,eAAe,CAChB,CAAC,QAAQ;YACV,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,QAAQ;SACxF,CAAC,CAAC;QAEH,wEAAwE;QACxE,uEAAuE;QACvE,0EAA0E;QAC1E,MAAM,oBAAoB,GAAoB;YAC5C,GAAG,KAAK;YACR,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACzE,CAAC;QACF,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC;YAC7B,GAAG,MAAM;YACT,cAAc,EAAE,cAAc,CAAC,oBAAoB,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;YAC1E,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;SAC1D,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClD,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YACX,QAAQ,EAAE,GAAG,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE;YAC3C,KAAK,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG;YAC7D,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,MAAM,UAAU,GAAgC,EAAE,CAAC;IACnD,KAAK,MAAM,MAAM,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAU,EAAE,CAAC;QACxE,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACrC,UAAU,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5E,UAAU,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,UAAU;aACrB,KAAK,EAAE;aACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;aACrE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;aAC1D,IAAI,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,IAAI,CACT,YAAY,EACZ,cAAc,EACd,OAAO,EACP,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,qDAAqD;YAC/E,0DAA0D,KAAK,EAAE,EACnE,KAAK,CACN,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAA8B,EAAE,GAAG,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAqC,CAAC;IACpE,KAAK,MAAM,MAAM,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAU,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAC7E,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC;YACnB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,gBAAgB,EAAE,EAAE,CAAC;YACrF,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YAC7B,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;IACvB,CAAC;IAED,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,cAAc,EAAE,EAAE;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,MAAM,IAAI,gBAAgB,EAAE;YACpC,QAAQ,EAAE,MAAM,KAAK,SAAS;SAC/B,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjE,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE;YACP,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW;YACX,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,MAAM;YACN,MAAM;YACN,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM;YACrC,cAAc;YACd,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM;YACrC,iBAAiB,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM;YAC7C,iBAAiB,EAAE,QAAQ,CAAC,6BAA6B;YACzD,KAAK;SACN;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,MAAiD;IAGvE,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACrB,KAAsB,EACtB,OAAe,EACf,KAAiF;IAEjF,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC;IACjE,OAAO,CACL,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CACnC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,KAAsB;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC;QACnC,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS;QACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACjC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAY,CAAC;YACtC,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YACrC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,kEAAkE;AAClE,MAAM,CAAC,MAAM,eAAe,GAAyB,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Fuehrt `untangle watch` aus und liefert den Exit-Code.
4
+ *
5
+ * 0 = sauber beendet, 1 = Betriebsfehler, 2 = Aufruffehler.
6
+ */
7
+ export declare function runWatchCli(argv: readonly string[]): Promise<number>;
8
+ //# sourceMappingURL=cli.d.ts.map