@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":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { ToolResponseEnvelopeV1 } from "@untangle-code/domain";
2
+ export interface McpInvocationContext {
3
+ readonly cwd: string;
4
+ readonly env: Readonly<Record<string, string | undefined>>;
5
+ readonly signal: AbortSignal;
6
+ }
7
+ /** Application boundary used by the MCP adapter. */
8
+ export interface UntangleMcpRuntime {
9
+ invoke(operation: UntangleMcpToolName, input: Readonly<Record<string, unknown>>, context: McpInvocationContext): Promise<ToolResponseEnvelopeV1<unknown>>;
10
+ }
11
+ export declare const UNTANGLE_MCP_TOOL_NAMES: readonly ["untangle_index", "untangle_update", "untangle_stop", "untangle_watch", "untangle_status", "untangle_health", "untangle_projects", "untangle_search", "untangle_search_session", "untangle_context_list", "untangle_context_index", "untangle_context_search", "untangle_context_remove", "untangle_graph_build", "untangle_graph_status", "untangle_graph_query", "untangle_graph_stats", "untangle_graph_cycles", "untangle_graph_visualize", "untangle_graph_remove", "untangle_symbols", "untangle_symbol", "untangle_flow", "untangle_impact", "untangle_cross_repo_impact", "untangle_complexity", "untangle_complexity_explain", "untangle_hotspots", "untangle_complexity_diff", "untangle_changes", "untangle_change_search", "untangle_quality_gate", "untangle_about", "untangle_portfolio_scan", "untangle_stack_matrix", "untangle_who_uses", "untangle_conventions", "untangle_archetypes", "untangle_tech_radar", "untangle_blueprint", "untangle_product", "untangle_boundaries"];
12
+ export type UntangleMcpToolName = (typeof UNTANGLE_MCP_TOOL_NAMES)[number];
13
+ export type { UntangleMcpInputByOperation, UntangleMcpOperationMap } from "./tools.js";
14
+ export type { UntangleMcpSuccessDataByOperation } from "./output-schemas.js";
15
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CACJ,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;CAC7C;AAED,eAAO,MAAM,uBAAuB,68BA2C1B,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E,YAAY,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACvF,YAAY,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,45 @@
1
+ export const UNTANGLE_MCP_TOOL_NAMES = [
2
+ "untangle_index",
3
+ "untangle_update",
4
+ "untangle_stop",
5
+ "untangle_watch",
6
+ "untangle_status",
7
+ "untangle_health",
8
+ "untangle_projects",
9
+ "untangle_search",
10
+ "untangle_search_session",
11
+ "untangle_context_list",
12
+ "untangle_context_index",
13
+ "untangle_context_search",
14
+ "untangle_context_remove",
15
+ "untangle_graph_build",
16
+ "untangle_graph_status",
17
+ "untangle_graph_query",
18
+ "untangle_graph_stats",
19
+ "untangle_graph_cycles",
20
+ "untangle_graph_visualize",
21
+ "untangle_graph_remove",
22
+ "untangle_symbols",
23
+ "untangle_symbol",
24
+ "untangle_flow",
25
+ "untangle_impact",
26
+ "untangle_cross_repo_impact",
27
+ "untangle_complexity",
28
+ "untangle_complexity_explain",
29
+ "untangle_hotspots",
30
+ "untangle_complexity_diff",
31
+ "untangle_changes",
32
+ "untangle_change_search",
33
+ "untangle_quality_gate",
34
+ "untangle_about",
35
+ "untangle_portfolio_scan",
36
+ "untangle_stack_matrix",
37
+ "untangle_who_uses",
38
+ "untangle_conventions",
39
+ "untangle_archetypes",
40
+ "untangle_tech_radar",
41
+ "untangle_blueprint",
42
+ "untangle_product",
43
+ "untangle_boundaries",
44
+ ];
45
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,gBAAgB;IAChB,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,yBAAyB;IACzB,uBAAuB;IACvB,wBAAwB;IACxB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,uBAAuB;IACvB,sBAAsB;IACtB,sBAAsB;IACtB,uBAAuB;IACvB,0BAA0B;IAC1B,uBAAuB;IACvB,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,iBAAiB;IACjB,4BAA4B;IAC5B,qBAAqB;IACrB,6BAA6B;IAC7B,mBAAmB;IACnB,0BAA0B;IAC1B,kBAAkB;IAClB,wBAAwB;IACxB,uBAAuB;IACvB,gBAAgB;IAChB,yBAAyB;IACzB,uBAAuB;IACvB,mBAAmB;IACnB,sBAAsB;IACtB,qBAAqB;IACrB,qBAAqB;IACrB,oBAAoB;IACpB,kBAAkB;IAClB,qBAAqB;CACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,102 @@
1
1
  {
2
2
  "name": "@untangle-code/cli",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.1.1",
4
+ "private": false,
5
+ "type": "module",
6
+ "description": "Local search and complexity harness for coding agents: code graphs, declared feature ownership and spec-to-code evidence.",
7
+ "keywords": [
8
+ "coding-agents",
9
+ "mcp",
10
+ "spec-driven-development",
11
+ "code-complexity",
12
+ "feature-complexity",
13
+ "local-search",
14
+ "ast"
15
+ ],
16
+ "license": "AGPL-3.0-only",
17
+ "homepage": "https://github.com/lboel/untangle",
18
+ "bugs": {
19
+ "url": "https://github.com/lboel/untangle/issues"
20
+ },
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "git+https://github.com/lboel/untangle.git",
24
+ "directory": "apps/cli"
25
+ },
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
29
+ "engines": {
30
+ "node": "^22.13.0 || >=24.0.0"
31
+ },
32
+ "bin": {
33
+ "untangle": "./dist/index.js"
34
+ },
35
+ "exports": {
36
+ ".": {
37
+ "types": "./dist/index.d.ts",
38
+ "default": "./dist/index.js"
39
+ },
40
+ "./mcp": {
41
+ "types": "./dist/mcp/index.d.ts",
42
+ "default": "./dist/mcp/index.js"
43
+ }
44
+ },
45
+ "files": [
46
+ "dist",
47
+ "!dist/**/*.test.*",
48
+ "!dist/**/test-helpers.*",
49
+ "!dist/**/test-support.*",
50
+ "!dist/**/test-support/**",
51
+ "!dist/**/testing/**",
52
+ "!dist/**/__tests__/**",
53
+ "src",
54
+ "!src/**/*.test.ts",
55
+ "!src/**/test-helpers.ts",
56
+ "!src/**/test-support.ts",
57
+ "!src/**/test-support/**",
58
+ "!src/**/testing/**",
59
+ "LICENSE",
60
+ "NOTICE",
61
+ "README.md",
62
+ "THIRD_PARTY_LICENSES.md"
63
+ ],
64
+ "dependencies": {
65
+ "@modelcontextprotocol/server": "2.0.0",
66
+ "zod": "4.5.4",
67
+ "@untangle-code/chunker": "0.1.1",
68
+ "@untangle-code/complexity": "0.1.1",
69
+ "@untangle-code/config": "0.1.1",
70
+ "@untangle-code/domain": "0.1.1",
71
+ "@untangle-code/core": "0.1.1",
72
+ "@untangle-code/embeddings-ollama": "0.1.1",
73
+ "@untangle-code/extension-runtime": "0.1.1",
74
+ "@untangle-code/file-graph": "0.1.1",
75
+ "@untangle-code/jobs": "0.1.1",
76
+ "@untangle-code/graph-explorer": "0.1.1",
77
+ "@untangle-code/observability": "0.1.1",
78
+ "@untangle-code/parser-registry": "0.1.1",
79
+ "@untangle-code/scanner": "0.1.1",
80
+ "@untangle-code/search": "0.1.1",
81
+ "@untangle-code/storage-lancedb": "0.1.1",
82
+ "@untangle-code/storage-local": "0.1.1",
83
+ "@untangle-code/storage-qdrant": "0.1.1",
84
+ "@untangle-code/symbol-graph": "0.1.1",
85
+ "@untangle-code/watcher": "0.1.1"
86
+ },
87
+ "devDependencies": {
88
+ "@modelcontextprotocol/client": "2.0.0",
89
+ "@types/node": "22.19.7",
90
+ "typescript": "5.9.3",
91
+ "vitest": "3.2.7",
92
+ "@untangle-code/testkit": "0.1.1"
93
+ },
94
+ "scripts": {
95
+ "pretest": "pnpm run build",
96
+ "build": "node ../../scripts/tsc-build.mjs tsconfig.json",
97
+ "typecheck": "tsc -p tsconfig.typecheck.json",
98
+ "test": "vitest run",
99
+ "clean": "rm -rf dist *.tsbuildinfo",
100
+ "build:watch": "tsc -p tsconfig.watch.json"
101
+ }
6
102
  }
@@ -0,0 +1,231 @@
1
+ /**
2
+ * Ein kleiner, abhaengigkeitsfreier Argumentparser.
3
+ *
4
+ * WARUM KEINE BIBLIOTHEK: Die Oberflaeche ist der Ort, an dem E4 am
5
+ * leichtesten verletzt wird — die meisten Parser ignorieren eine unbekannte
6
+ * Option stillschweigend oder schieben sie in die Positionsargumente. Dann
7
+ * tippt ein Nutzer `--explaine` und bekommt eine Ausgabe ohne Zerlegung, ohne
8
+ * je zu erfahren, dass seine Option nie ankam. Dieser Parser LEHNT jede
9
+ * unbekannte Option ab.
10
+ *
11
+ * Unterstuetzt: `--name`, `--name=wert`, `--name wert`, `-k` (Kurzform),
12
+ * `--no-name` (Boolesche Negation), `--` (alles danach ist Positionsargument).
13
+ */
14
+
15
+ import { UsageError } from "./exit.js";
16
+
17
+ export type FlagKind = "boolean" | "string" | "number" | "list" | "boolean-or-number";
18
+
19
+ export interface FlagSpec {
20
+ readonly kind: FlagKind;
21
+ /** Einbuchstabige Kurzform ohne Bindestrich, z. B. "n". */
22
+ readonly alias?: string;
23
+ /** Was hinter der Option steht, z. B. "N" oder "MUSTER". */
24
+ readonly placeholder?: string;
25
+ /** Eine Zeile Hilfetext. */
26
+ readonly describe: string;
27
+ /** Nur zur Anzeige in `--help`. */
28
+ readonly defaultLabel?: string;
29
+ }
30
+
31
+ export type FlagSpecs = Readonly<Record<string, FlagSpec>>;
32
+
33
+ export type FlagValue = boolean | string | number | readonly string[];
34
+
35
+ export interface ParsedArgs {
36
+ readonly positionals: readonly string[];
37
+ readonly flags: Readonly<Record<string, FlagValue>>;
38
+ }
39
+
40
+ function isNegatedBoolean(token: string): boolean {
41
+ return token.startsWith("--no-");
42
+ }
43
+
44
+ /**
45
+ * Zerlegt `argv` gegen `specs`. Wirft {@link UsageError} bei allem, was nicht
46
+ * eindeutig ist — unbekannte Option, fehlender Wert, keine Zahl.
47
+ */
48
+ export function parseArgs(argv: readonly string[], specs: FlagSpecs): ParsedArgs {
49
+ const byAlias = new Map<string, string>();
50
+ for (const [name, spec] of Object.entries(specs)) {
51
+ if (spec.alias !== undefined) byAlias.set(spec.alias, name);
52
+ }
53
+
54
+ const positionals: string[] = [];
55
+ const flags: Record<string, FlagValue> = {};
56
+ let sawTerminator = false;
57
+
58
+ const resolve = (token: string): { name: string; spec: FlagSpec } => {
59
+ const bare = token.startsWith("--") ? token.slice(2) : token.slice(1);
60
+ const name = token.startsWith("--") ? bare : (byAlias.get(bare) ?? bare);
61
+ const spec = specs[name];
62
+ if (spec === undefined) {
63
+ throw new UsageError(
64
+ `Unknown option "${token}".`,
65
+ "See `--help` for this command's supported options.",
66
+ );
67
+ }
68
+ return { name, spec };
69
+ };
70
+
71
+ const assign = (name: string, spec: FlagSpec, raw: string): void => {
72
+ if (spec.kind === "number" || spec.kind === "boolean-or-number") {
73
+ const value = Number(raw);
74
+ if (!Number.isFinite(value)) {
75
+ throw new UsageError(
76
+ `Option "--${name}" requires a number; received "${raw}".`,
77
+ `Example: --${name}=10`,
78
+ );
79
+ }
80
+ flags[name] = value;
81
+ return;
82
+ }
83
+ if (spec.kind === "list") {
84
+ const previous = flags[name];
85
+ const list = Array.isArray(previous) ? [...(previous as readonly string[])] : [];
86
+ list.push(raw);
87
+ flags[name] = list;
88
+ return;
89
+ }
90
+ flags[name] = raw;
91
+ };
92
+
93
+ for (let i = 0; i < argv.length; i++) {
94
+ const token = argv[i] as string;
95
+
96
+ if (sawTerminator) {
97
+ positionals.push(token);
98
+ continue;
99
+ }
100
+ if (token === "--") {
101
+ sawTerminator = true;
102
+ continue;
103
+ }
104
+ if (token === "-" || !token.startsWith("-")) {
105
+ positionals.push(token);
106
+ continue;
107
+ }
108
+
109
+ // --name=wert
110
+ const equals = token.indexOf("=");
111
+ if (token.startsWith("--") && equals > 2) {
112
+ const head = token.slice(0, equals);
113
+ const raw = token.slice(equals + 1);
114
+ const { name, spec } = resolve(head);
115
+ if (spec.kind === "boolean") {
116
+ if (raw !== "true" && raw !== "false") {
117
+ throw new UsageError(
118
+ `Option "--${name}" is a switch accepting only "true" or "false"; received "${raw}".`,
119
+ `Use --${name} or --no-${name}.`,
120
+ );
121
+ }
122
+ flags[name] = raw === "true";
123
+ continue;
124
+ }
125
+ if (spec.kind === "boolean-or-number" && (raw === "true" || raw === "false")) {
126
+ flags[name] = raw === "true";
127
+ continue;
128
+ }
129
+ assign(name, spec, raw);
130
+ continue;
131
+ }
132
+
133
+ // --no-name
134
+ if (isNegatedBoolean(token)) {
135
+ const name = token.slice(5);
136
+ const spec = specs[name];
137
+ if (spec === undefined || (spec.kind !== "boolean" && spec.kind !== "boolean-or-number")) {
138
+ throw new UsageError(
139
+ `Unknown switch "${token}".`,
140
+ "See `--help` for this command's supported options.",
141
+ );
142
+ }
143
+ flags[name] = false;
144
+ continue;
145
+ }
146
+
147
+ const { name, spec } = resolve(token);
148
+ if (spec.kind === "boolean") {
149
+ flags[name] = true;
150
+ continue;
151
+ }
152
+ if (spec.kind === "boolean-or-number") {
153
+ const next = argv[i + 1];
154
+ if (next !== undefined && next !== "" && Number.isFinite(Number(next))) {
155
+ i++;
156
+ assign(name, spec, next);
157
+ } else {
158
+ flags[name] = true;
159
+ }
160
+ continue;
161
+ }
162
+ const next = argv[i + 1];
163
+ if (
164
+ next === undefined ||
165
+ (next.startsWith("-") && next !== "-" && Number.isNaN(Number(next)))
166
+ ) {
167
+ throw new UsageError(
168
+ `Option "--${name}" requires a value.`,
169
+ `Use --${name}=<${spec.placeholder ?? "value"}> or --${name} <${spec.placeholder ?? "value"}>.`,
170
+ );
171
+ }
172
+ i++;
173
+ assign(name, spec, next);
174
+ }
175
+
176
+ return { positionals, flags };
177
+ }
178
+
179
+ /* --- Typisierte Leser. Sie erfinden nichts: fehlt ein Wert, kommt der Default. */
180
+
181
+ export function boolFlag(args: ParsedArgs, name: string, fallback = false): boolean {
182
+ const value = args.flags[name];
183
+ return typeof value === "boolean" ? value : fallback;
184
+ }
185
+
186
+ export function stringFlag(args: ParsedArgs, name: string): string | undefined {
187
+ const value = args.flags[name];
188
+ return typeof value === "string" ? value : undefined;
189
+ }
190
+
191
+ export function numberFlag(args: ParsedArgs, name: string): number | undefined {
192
+ const value = args.flags[name];
193
+ return typeof value === "number" ? value : undefined;
194
+ }
195
+
196
+ export function listFlag(args: ParsedArgs, name: string): string[] {
197
+ const value = args.flags[name];
198
+ return Array.isArray(value) ? [...(value as readonly string[])] : [];
199
+ }
200
+
201
+ /**
202
+ * Liest eine Option, deren Wert aus einer festen Menge stammen MUSS.
203
+ * Ein Tippfehler wird abgelehnt statt auf den Default zurueckzufallen.
204
+ */
205
+ export function enumFlag<T extends string>(
206
+ args: ParsedArgs,
207
+ name: string,
208
+ allowed: readonly T[],
209
+ fallback: T,
210
+ ): T {
211
+ const value = stringFlag(args, name);
212
+ if (value === undefined) return fallback;
213
+ if ((allowed as readonly string[]).includes(value)) return value as T;
214
+ throw new UsageError(
215
+ `Option "--${name}" does not support value "${value}" is not supported.`,
216
+ `Choose one of: ${allowed.join(", ")}.`,
217
+ );
218
+ }
219
+
220
+ /** Eine ganze, nicht-negative Zahl — oder eine klare Absage. */
221
+ export function integerFlag(args: ParsedArgs, name: string, fallback: number): number {
222
+ const value = numberFlag(args, name);
223
+ if (value === undefined) return fallback;
224
+ if (!Number.isInteger(value) || value < 0) {
225
+ throw new UsageError(
226
+ `Option "--${name}" requires an integer >= 0; received "${String(value)}".`,
227
+ `Example: --${name}=5`,
228
+ );
229
+ }
230
+ return value;
231
+ }
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Der Vertrag eines Unterbefehls und die Hilfe-Ausgabe.
3
+ *
4
+ * Die Hilfe wird AUS DER SPEZIFIKATION erzeugt, nicht danebengeschrieben.
5
+ * Eine handgepflegte Hilfe ist die erste Stelle, an der ein Werkzeug luegt:
6
+ * die Option verschwindet, der Text bleibt. Hier kann das nicht passieren —
7
+ * dieselbe `FlagSpecs`, die der Parser akzeptiert, erzeugt den Text.
8
+ */
9
+
10
+ import { compareCodepoints } from "@untangle-code/domain";
11
+
12
+ import type { FlagSpecs, ParsedArgs } from "./args.js";
13
+ import type { Io } from "./io.js";
14
+
15
+ export interface CommandContext {
16
+ readonly io: Io;
17
+ readonly cwd: string;
18
+ readonly env: Readonly<Record<string, string | undefined>>;
19
+ /** Wird bei SIGINT/SIGTERM ausgeloest; jeder Port bekommt ihn gereicht. */
20
+ readonly signal: AbortSignal;
21
+ }
22
+
23
+ export interface CommandSpec {
24
+ readonly name: string;
25
+ /**
26
+ * Das Modul, das die FAEHIGKEIT dieses Befehls enthaelt — als Spezifikator
27
+ * relativ zu `apps/cli/src`, genau so geschrieben, wie ihn ein Import
28
+ * traegt (z. B. `commands/init/index.js`).
29
+ *
30
+ * Warum eine Zeichenkette und nicht „das ergibt sich doch aus dem Import":
31
+ * WEIL ES SICH NICHT ERGAB. Bis WP-218 lagen zwei Module namens `init`
32
+ * nebeneinander — `commands/init.ts`, ein Stub ohne Erkennung, und
33
+ * `commands/init/index.ts`, die fertige, getestete Implementierung. Der
34
+ * Einstiegspunkt importierte den Stub. Alles uebersetzte, alle Tests
35
+ * liefen gruen, und das ausgelieferte Binaer tat etwas anderes als das,
36
+ * was gebaut worden war. Ein Import allein KANN diesen Fehler nicht
37
+ * melden, weil beide Pfade gueltig sind.
38
+ *
39
+ * Mit diesem Feld ist die Zuordnung eine BEHAUPTUNG, die sich pruefen
40
+ * laesst: `command-wiring.test.ts` laedt das genannte Modul und verlangt,
41
+ * dass der registrierte Befehl DASSELBE OBJEKT ist, das dieses Modul
42
+ * ausliefert — und dass kein zweites Modul im Baum einen Befehl anbietet,
43
+ * der nirgends registriert ist.
44
+ */
45
+ readonly implementedBy: string;
46
+ /** Eine Zeile fuer die Uebersicht in `untangle --help`. */
47
+ readonly summary: string;
48
+ /** Aufrufform, z. B. `untangle query <text> [optionen]`. */
49
+ readonly usage: string;
50
+ /** Absaetze, die den Befehl EHRLICH beschreiben — auch seine Grenzen. */
51
+ readonly details?: readonly string[];
52
+ readonly flags: FlagSpecs;
53
+ readonly examples?: readonly string[];
54
+ /** Welche Exit-Codes dieser Befehl belegt, jeweils mit Bedeutung. */
55
+ readonly exitCodes?: readonly (readonly [number, string])[];
56
+ /**
57
+ * True, wenn der Befehl angelegt, seine Faehigkeit aber noch nicht gebaut
58
+ * ist (siehe `commands/unavailable.ts`).
59
+ *
60
+ * Das Merkmal steht hier und nicht in einer Liste im Einstiegspunkt, weil
61
+ * eine solche Liste driftet: als `watch` gebaut wurde, blieb sie stehen und
62
+ * behauptete weiter, es fehle. Ein Befehl traegt seinen Stand selbst.
63
+ */
64
+ readonly notYetBuilt?: boolean;
65
+ }
66
+
67
+ export interface Command {
68
+ readonly spec: CommandSpec;
69
+ run(ctx: CommandContext, args: ParsedArgs): Promise<number>;
70
+ }
71
+
72
+ function padEnd(text: string, width: number): string {
73
+ return text.length >= width ? text : text + " ".repeat(width - text.length);
74
+ }
75
+
76
+ /** Die Optionszeile einer Option, z. B. `-n, --limit=N`. */
77
+ function flagLabel(name: string, spec: FlagSpecs[string]): string {
78
+ const short = spec.alias === undefined ? " " : `-${spec.alias}, `;
79
+ const value =
80
+ spec.kind === "boolean" || spec.kind === "boolean-or-number"
81
+ ? ""
82
+ : `=<${spec.placeholder ?? "value"}>`;
83
+ return `${short}--${name}${value}`;
84
+ }
85
+
86
+ /** Rendert `--help` eines Unterbefehls. Deterministisch: Optionen codepoint-sortiert. */
87
+ export function renderCommandHelp(spec: CommandSpec): string {
88
+ const lines: string[] = [];
89
+ lines.push(`untangle ${spec.name} — ${spec.summary}`, "");
90
+ lines.push("USAGE", ` ${spec.usage}`, "");
91
+
92
+ if (spec.details !== undefined && spec.details.length > 0) {
93
+ lines.push("DESCRIPTION");
94
+ for (const paragraph of spec.details) {
95
+ for (const wrapped of wrap(paragraph, 76)) lines.push(` ${wrapped}`);
96
+ lines.push("");
97
+ }
98
+ }
99
+
100
+ const names = Object.keys(spec.flags).sort(compareCodepoints);
101
+ if (names.length > 0) {
102
+ lines.push("OPTIONS");
103
+ const labels = names.map((name) => flagLabel(name, spec.flags[name] as FlagSpecs[string]));
104
+ const width = Math.max(...labels.map((l) => l.length));
105
+ for (let i = 0; i < names.length; i++) {
106
+ const name = names[i] as string;
107
+ const flag = spec.flags[name] as FlagSpecs[string];
108
+ const suffix = flag.defaultLabel === undefined ? "" : ` (default: ${flag.defaultLabel})`;
109
+ lines.push(` ${padEnd(labels[i] as string, width)} ${flag.describe}${suffix}`);
110
+ }
111
+ lines.push("");
112
+ }
113
+
114
+ if (spec.examples !== undefined && spec.examples.length > 0) {
115
+ lines.push("EXAMPLES");
116
+ for (const example of spec.examples) lines.push(` ${example}`);
117
+ lines.push("");
118
+ }
119
+
120
+ if (spec.exitCodes !== undefined && spec.exitCodes.length > 0) {
121
+ lines.push("EXIT-CODES");
122
+ for (const [code, meaning] of spec.exitCodes) lines.push(` ${String(code)} ${meaning}`);
123
+ lines.push("");
124
+ }
125
+
126
+ return `${lines.join("\n").trimEnd()}\n`;
127
+ }
128
+
129
+ /** Weicher Zeilenumbruch auf `width` Zeichen; bricht nie mitten im Wort. */
130
+ export function wrap(text: string, width: number): string[] {
131
+ const words = text.split(/\s+/u).filter((w) => w.length > 0);
132
+ const lines: string[] = [];
133
+ let current = "";
134
+ for (const word of words) {
135
+ if (current.length === 0) {
136
+ current = word;
137
+ } else if (current.length + 1 + word.length <= width) {
138
+ current = `${current} ${word}`;
139
+ } else {
140
+ lines.push(current);
141
+ current = word;
142
+ }
143
+ }
144
+ if (current.length > 0) lines.push(current);
145
+ return lines.length === 0 ? [""] : lines;
146
+ }
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Eine Frist um einen Portaufruf.
3
+ *
4
+ * WARUM DIE OBERFLAECHE EINE EIGENE FRIST BRAUCHT, obwohl jeder Adapter schon
5
+ * eine hat: die Fristen der Adapter sind fuer den INDEXLAUF bemessen, und dort
6
+ * ist Durchhalten mehr wert als Tempo. Gemessen an einem ausgelasteten Ollama
7
+ * wiederholt die Bereitschaftsfolge des Embedding-Adapters ihren Zeitueberlauf
8
+ * mit Backoff und meldet den Fehlschlag erst nach ueber DREI MINUTEN. Fuer
9
+ * einen Menschen am Terminal, der eine Frage gestellt hat, ist das kaputt.
10
+ *
11
+ * Die Frist der Oberflaeche kuerzt nichts weg und verschweigt nichts: ein
12
+ * abgebrochener Aufruf ist ein FEHLSCHLAG mit eigenem, benanntem Grund — nie
13
+ * ein leeres Ergebnis, das wie „nichts gefunden" aussieht (BUILD_PLAN E4).
14
+ */
15
+
16
+ /** Ergebnis eines Laufs mit Frist. `timedOut` unterscheidet Frist von Fehler. */
17
+ export type DeadlineOutcome<T> =
18
+ | { readonly ok: true; readonly value: T }
19
+ | { readonly ok: false; readonly timedOut: boolean; readonly error: unknown };
20
+
21
+ /**
22
+ * Fuehrt `work` mit einer eigenen Frist aus und reicht ihm dafuer ein Signal.
23
+ *
24
+ * Das Signal des Aufrufers bleibt wirksam: ein Strg-C bricht sofort ab, nicht
25
+ * erst nach der Frist. `work` MUSS das gereichte Signal durchreichen — sonst
26
+ * kehrt der Aufruf zwar zurueck, laeuft aber im Hintergrund weiter (siehe
27
+ * `main()` in index.ts, das den Prozess deshalb ausdruecklich beendet).
28
+ */
29
+ export async function withDeadline<T>(
30
+ work: (signal: AbortSignal) => Promise<T>,
31
+ timeoutMs: number,
32
+ outerSignal: AbortSignal,
33
+ ): Promise<DeadlineOutcome<T>> {
34
+ const controller = new AbortController();
35
+ const onOuterAbort = (): void => {
36
+ controller.abort(outerSignal.reason);
37
+ };
38
+ if (outerSignal.aborted) controller.abort(outerSignal.reason);
39
+ else outerSignal.addEventListener("abort", onOuterAbort, { once: true });
40
+
41
+ let timedOut = false;
42
+ const timer = setTimeout(() => {
43
+ timedOut = true;
44
+ controller.abort(new Error(`Deadline of ${String(timeoutMs)}ms expired`));
45
+ }, timeoutMs);
46
+
47
+ try {
48
+ return { ok: true, value: await work(controller.signal) };
49
+ } catch (error) {
50
+ // Der Abbruch des AUFRUFERS ist kein Fristablauf — er ist ein Abbruch.
51
+ return { ok: false, timedOut: timedOut && !outerSignal.aborted, error };
52
+ } finally {
53
+ clearTimeout(timer);
54
+ outerSignal.removeEventListener("abort", onOuterAbort);
55
+ }
56
+ }