@untangle-code/cli 0.0.0-stage → 0.1.0

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 +424 -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":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { type LanguageSupportV1 } from "../cli/language-support.js";
2
+ import type { CheckResult } from "./doctor.js";
3
+ /**
4
+ * Woher der Sprachtest seine Tatsachen nimmt. Die Vorgabe misst wirklich;
5
+ * ein Test schiebt stattdessen eine Maschine unter, auf der eine Grammatik
6
+ * fehlt.
7
+ */
8
+ export interface LanguageProbeSource {
9
+ /** Alle registrierten Sprachen, gemessen. */
10
+ measure(): LanguageSupportV1[];
11
+ /**
12
+ * Die ast-grep-EIGENEN Namen der Sprachen, die das Backend selbst als nicht
13
+ * verfuegbar fuehrt. Sie unterscheiden sich von unseren Sprach-IDs ("bash"
14
+ * gegen "shell") und nennen damit das Paket, um das es geht.
15
+ */
16
+ astGrepUnavailable(): string[];
17
+ }
18
+ /** Die echte Quelle: Registry bauen, jede Grammatik einmal anfassen. */
19
+ export declare function defaultLanguageProbeSource(): Promise<LanguageProbeSource>;
20
+ /**
21
+ * WP-246: WELCHE SPRACHEN HIER WIRKLICH FUNKTIONIEREN.
22
+ *
23
+ * Bis hierher konnte ein Nutzer das nicht herausfinden. Die Registry meldet
24
+ * achtzehn Sprachen, elf davon mit Stufe "deep" — aber "deep" steht als
25
+ * Konstante in einer Tabelle und nicht in der Maschine. Fehlt der Prebuild
26
+ * eines `@ast-grep/lang-*`-Pakets (auf Alpine, Windows ARM64 und Windows
27
+ * ia32 gibt es keinen), meldete die Installation trotzdem Erfolg, und der
28
+ * Ausfall zeigte sich erst beim ersten Parse.
29
+ *
30
+ * Dieser Test misst deshalb (`cli/language-support.ts`) und nennt je Sprache
31
+ * Backend, gemessene Stufe und im Fehlschlag den benannten Grund. Ein
32
+ * Fehlschlag ist hier ein FAIL und kein WARN: eine Sprache, die als "deep"
33
+ * angekuendigt ist und nur Text liefert, ist ein Umgebungsdefekt — und genau
34
+ * dafuer gibt es Exit-Code 4.
35
+ */
36
+ export declare function checkLanguages(source?: LanguageProbeSource | Promise<LanguageProbeSource>): Promise<CheckResult>;
37
+ //# sourceMappingURL=doctor.languages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.languages.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.languages.ts"],"names":[],"mappings":"AAQA,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE7F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,OAAO,IAAI,iBAAiB,EAAE,CAAC;IAC/B;;;;OAIG;IACH,kBAAkB,IAAI,MAAM,EAAE,CAAC;CAChC;AAED,wEAAwE;AACxE,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAe/E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAClC,MAAM,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAC1D,OAAO,CAAC,WAAW,CAAC,CAqGtB"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Der Sprachtest von `untangle doctor` (WP-246) — eigene Datei, weil er als
3
+ * einziger Test dieses Befehls eine INJIZIERBARE Abhaengigkeit braucht: die
4
+ * Ehrlichkeit im Ausfall laesst sich sonst nur pruefen, indem man auf der
5
+ * Testmaschine wirklich eine Grammatik zerstoert.
6
+ */
7
+ import { compareCodepoints, knownParserLanguages } from "@untangle-code/domain";
8
+ import { probeAllLanguageSupport } from "../cli/language-support.js";
9
+ /** Die echte Quelle: Registry bauen, jede Grammatik einmal anfassen. */
10
+ export async function defaultLanguageProbeSource() {
11
+ const { astGrepLanguageStates, createParserRegistry } = await import("@untangle-code/parser-registry");
12
+ const registry = createParserRegistry();
13
+ return {
14
+ measure: () => probeAllLanguageSupport(registry),
15
+ // WP-246: der Zustand, den das ast-grep-Backend SELBST fuehrt — gelesen
16
+ // NEBEN der Messung, nicht an ihrer Stelle. Er ist erst nach dem ersten
17
+ // Parse gefuellt, also nach `measure()`.
18
+ astGrepUnavailable: () => astGrepLanguageStates()
19
+ .filter((entry) => entry.status.state === "unavailable")
20
+ .map((entry) => entry.languageName)
21
+ .sort(compareCodepoints),
22
+ };
23
+ }
24
+ /**
25
+ * WP-246: WELCHE SPRACHEN HIER WIRKLICH FUNKTIONIEREN.
26
+ *
27
+ * Bis hierher konnte ein Nutzer das nicht herausfinden. Die Registry meldet
28
+ * achtzehn Sprachen, elf davon mit Stufe "deep" — aber "deep" steht als
29
+ * Konstante in einer Tabelle und nicht in der Maschine. Fehlt der Prebuild
30
+ * eines `@ast-grep/lang-*`-Pakets (auf Alpine, Windows ARM64 und Windows
31
+ * ia32 gibt es keinen), meldete die Installation trotzdem Erfolg, und der
32
+ * Ausfall zeigte sich erst beim ersten Parse.
33
+ *
34
+ * Dieser Test misst deshalb (`cli/language-support.ts`) und nennt je Sprache
35
+ * Backend, gemessene Stufe und im Fehlschlag den benannten Grund. Ein
36
+ * Fehlschlag ist hier ein FAIL und kein WARN: eine Sprache, die als "deep"
37
+ * angekuendigt ist und nur Text liefert, ist ein Umgebungsdefekt — und genau
38
+ * dafuer gibt es Exit-Code 4.
39
+ */
40
+ export async function checkLanguages(source) {
41
+ let measured;
42
+ let astGrepUnavailable;
43
+ try {
44
+ const probe = await (source ?? defaultLanguageProbeSource());
45
+ measured = probe.measure();
46
+ astGrepUnavailable = probe.astGrepUnavailable();
47
+ }
48
+ catch (error) {
49
+ return {
50
+ id: "languages",
51
+ title: "Languages",
52
+ status: "fail",
53
+ detail: `Could not load the language table: ${errorText(error)}`,
54
+ nextStep: "Reinstall dependencies: `npm install` in the Untangle installation directory.",
55
+ };
56
+ }
57
+ const unavailable = measured.filter((entry) => !entry.available);
58
+ const unknownBackend = measured.filter((entry) => entry.backend === null);
59
+ // Die Gegenrichtung: eine Sprache, die `@untangle-code/domain` kennt, die
60
+ // aber keinen Adapter mehr hat. Beides zusammen ist die Vertragsgrenze aus
61
+ // WP-240 — eine Falschaussage in JEDE Richtung wird hier sichtbar.
62
+ const registered = new Set(measured.map((entry) => entry.languageId));
63
+ const orphaned = knownParserLanguages()
64
+ .filter((languageId) => !registered.has(languageId))
65
+ .sort(compareCodepoints);
66
+ const facts = {
67
+ "astgrep:nichtVerfuegbar": astGrepUnavailable.length === 0 ? "(none)" : astGrepUnavailable.join(", "),
68
+ "sprachen:registriert": measured.length,
69
+ "sprachen:verfuegbar": measured.length - unavailable.length,
70
+ };
71
+ for (const entry of measured) {
72
+ facts[`sprache:${entry.languageId}`] = describeLanguageSupport(entry);
73
+ }
74
+ if (unavailable.length === 0 && unknownBackend.length === 0 && orphaned.length === 0) {
75
+ return {
76
+ id: "languages",
77
+ title: "Languages",
78
+ status: "ok",
79
+ detail: `All ${String(measured.length)} registered languages are actually available here, ` +
80
+ "measured by parsing a word with each adapter to load its grammar.",
81
+ facts,
82
+ };
83
+ }
84
+ // Die Vertragsgrenze aus WP-240, in BEIDE Richtungen. Sie wird auch dann
85
+ // ausgesprochen, wenn zugleich Grammatiken fehlen — ein zweiter Befund
86
+ // verschwindet nicht hinter dem ersten (E4).
87
+ const driftNotes = [];
88
+ if (unknownBackend.length > 0) {
89
+ driftNotes.push(`${unknownBackend.map((entry) => entry.languageId).join(", ")} is registered, ` +
90
+ "but has no backend mapping in @untangle-code/domain");
91
+ }
92
+ if (orphaned.length > 0) {
93
+ driftNotes.push(`${orphaned.join(", ")} is listed in @untangle-code/domain but is not registered`);
94
+ }
95
+ const driftSuffix = driftNotes.length === 0
96
+ ? ""
97
+ : ` The language table and registry also disagree: ${driftNotes.join("; ")}.`;
98
+ if (unavailable.length > 0) {
99
+ const first = unavailable[0];
100
+ return {
101
+ id: "languages",
102
+ title: "Languages",
103
+ status: "fail",
104
+ detail: `${String(unavailable.length)} of ${String(measured.length)} languages are not available here: ` +
105
+ `unavailable: ${unavailable.map((entry) => `${entry.languageId} (${entry.failureKind ?? "no reason given"})`).join(", ")}. ` +
106
+ `They are therefore reported as tier "text", not the claimed tier "${first.declaredSupportLevel}". ` +
107
+ `REASON (${entry0Kind(first)}): ${first.reason ?? "no details"} ` +
108
+ `CONSEQUENCE: ${first.consequence ?? "no details"}${driftSuffix}`,
109
+ nextStep: first.nextStep ?? "Reinstall dependencies.",
110
+ facts,
111
+ };
112
+ }
113
+ // Kein Ausfall der Grammatiken, aber die Tabelle in
114
+ // `@untangle-code/domain` und die Registry sind auseinandergelaufen.
115
+ return {
116
+ id: "languages",
117
+ title: "Languages",
118
+ status: "fail",
119
+ detail: "All grammars load, but the language table and registry disagree: " +
120
+ `${driftNotes.join("; ")}. ` +
121
+ "Either the parser version or the backend declaration for this language is incorrect.",
122
+ nextStep: "Compare `packages/domain/src/versions.ts` with the registered adapters; " +
123
+ "the corresponding check is in `apps/cli/src/commands/doctor.languages.test.ts`.",
124
+ facts,
125
+ };
126
+ }
127
+ /** Eine Zeile je Sprache: Backend, gemessene Stufe, und im Ausfall der Grund. */
128
+ function describeLanguageSupport(entry) {
129
+ const backend = entry.backend ?? "NO BACKEND MAPPING";
130
+ if (entry.available) {
131
+ return `${backend} · ${entry.effectiveSupportLevel} · available`;
132
+ }
133
+ return (`${backend} · claimed ${entry.declaredSupportLevel}, measured ` +
134
+ `${entry.effectiveSupportLevel} · unavailable (${entry.failureKind ?? "no reason given"})`);
135
+ }
136
+ /** Der benannte Grund einer Sprache, oder ein ehrlicher Ersatz. */
137
+ function entry0Kind(entry) {
138
+ return entry.failureKind ?? "no reason specified";
139
+ }
140
+ function errorText(error) {
141
+ return error instanceof Error ? error.message : String(error);
142
+ }
143
+ //# sourceMappingURL=doctor.languages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.languages.js","sourceRoot":"","sources":["../../src/commands/doctor.languages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { IndexStateResolution } from "../cli/index-state.js";
2
+ import type { StorageWiring, WorkspaceView } from "../cli/workspace.js";
3
+ import type { CheckResult } from "./doctor.js";
4
+ /** Diagnose the same single current embedding space that automatic local queries select. */
5
+ export declare function selectLanceIndexProfile(view: WorkspaceView, wiring: StorageWiring, resolution: IndexStateResolution): {
6
+ view: WorkspaceView;
7
+ collection: string;
8
+ embedder: "service" | "offline";
9
+ } | {
10
+ check: CheckResult;
11
+ };
12
+ /** A local storage diagnosis must not open a database merely to discover a missing directory. */
13
+ export declare function inspectLanceDirectory(directory: string, signal: AbortSignal): Promise<{
14
+ check: CheckResult;
15
+ exists: boolean;
16
+ }>;
17
+ //# sourceMappingURL=doctor.storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.storage.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.storage.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,4FAA4F;AAC5F,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,oBAAoB,GAE9B;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,GAC5E;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,CAkDzB;AAED,iGAAiG;AACjG,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC;IACT,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC,CA8CD"}
@@ -0,0 +1,91 @@
1
+ import { stat } from "node:fs/promises";
2
+ import { OFFLINE_EMBEDDING_PROFILE } from "@untangle-code/core";
3
+ import { buildEmbeddingProfileId, embeddingProfileShortId } from "@untangle-code/domain";
4
+ import { codeCollectionName } from "@untangle-code/storage-qdrant";
5
+ /** Diagnose the same single current embedding space that automatic local queries select. */
6
+ export function selectLanceIndexProfile(view, wiring, resolution) {
7
+ if (resolution.kind === "none")
8
+ return { view, collection: wiring.codeCollection, embedder: "service" };
9
+ const fail = (detail) => ({
10
+ check: {
11
+ id: "index-profile",
12
+ title: "Current local index profile",
13
+ status: "fail",
14
+ detail,
15
+ nextStep: "Rerun the affected indexing job with one embedding profile before retrying `untangle doctor`.",
16
+ },
17
+ });
18
+ if (resolution.kind === "invalid")
19
+ return fail(`The local index state is invalid; no embedding profile was guessed. ${resolution.diagnostics.map((item) => `${item.path}: ${item.message}`).join("; ")}`);
20
+ if (resolution.kind === "ambiguous")
21
+ return fail("Current local repository/ref states use different embedders; no profile was guessed.");
22
+ if (new Set(resolution.current.map(({ state }) => `${state.embeddingProfileId}:${state.collection}`)).size !== 1)
23
+ return fail("Current local repository/ref states use different embedding profiles or collections; no partial profile was chosen.");
24
+ const state = resolution.found.state;
25
+ if (resolution.current.some(({ state }) => state.outcome !== "completed"))
26
+ return fail("The current local indexing run did not complete. Existing points do not prove a usable completed index.");
27
+ let selectedView = view;
28
+ if (state.embedder === "offline") {
29
+ const profileId = buildEmbeddingProfileId(OFFLINE_EMBEDDING_PROFILE);
30
+ selectedView = {
31
+ ...view,
32
+ profile: OFFLINE_EMBEDDING_PROFILE,
33
+ profileId,
34
+ profileShortId: embeddingProfileShortId(profileId),
35
+ };
36
+ }
37
+ const collection = codeCollectionName(wiring.collectionPrefix, selectedView.profileShortId);
38
+ if (state.embeddingProfileId !== selectedView.profileId || state.collection !== collection)
39
+ return fail("The current local index profile does not match the configured service or the supported offline profile; it was not silently adopted.");
40
+ return { view: selectedView, collection, embedder: state.embedder };
41
+ }
42
+ /** A local storage diagnosis must not open a database merely to discover a missing directory. */
43
+ export async function inspectLanceDirectory(directory, signal) {
44
+ signal.throwIfAborted();
45
+ try {
46
+ const info = await stat(directory);
47
+ signal.throwIfAborted();
48
+ if (!info.isDirectory())
49
+ return {
50
+ exists: false,
51
+ check: {
52
+ id: "lancedb",
53
+ title: "LanceDB",
54
+ status: "fail",
55
+ detail: `The local storage path is not a directory: ${directory}.`,
56
+ nextStep: "Set storage.path to an accessible local directory before indexing.",
57
+ facts: { backend: "lancedb", path: directory, directoryExists: false },
58
+ },
59
+ };
60
+ return {
61
+ exists: true,
62
+ check: {
63
+ id: "lancedb",
64
+ title: "LanceDB",
65
+ status: "ok",
66
+ detail: `Local storage directory exists at ${directory}. No database service is required.`,
67
+ facts: { backend: "lancedb", path: directory, directoryExists: true },
68
+ },
69
+ };
70
+ }
71
+ catch (error) {
72
+ signal.throwIfAborted();
73
+ const missing = error.code === "ENOENT";
74
+ return {
75
+ exists: false,
76
+ check: {
77
+ id: "lancedb",
78
+ title: "LanceDB",
79
+ status: missing ? "ok" : "fail",
80
+ detail: missing
81
+ ? `Local storage is configured at ${directory}; its directory has not been created. Doctor created no files.`
82
+ : `Cannot inspect local storage directory ${directory}: ${error instanceof Error ? error.message : String(error)}.`,
83
+ ...(missing
84
+ ? {}
85
+ : { nextStep: "Check read permissions for storage.path and rerun `untangle doctor`." }),
86
+ facts: { backend: "lancedb", path: directory, directoryExists: false },
87
+ },
88
+ };
89
+ }
90
+ }
91
+ //# sourceMappingURL=doctor.storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.storage.js","sourceRoot":"","sources":["../../src/commands/doctor.storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type ParsedArgs } from "../../cli/args.js";
2
+ import { type Io } from "../../cli/io.js";
3
+ import { type ExtensionEnvironmentV1 } from "./environment.js";
4
+ import { type FetchManifestOptions } from "./source.js";
5
+ export interface AddDeps {
6
+ /** Injected in tests so no unit test opens a socket. */
7
+ fetchOptions?: FetchManifestOptions;
8
+ }
9
+ export declare function runAdd(environment: ExtensionEnvironmentV1, args: ParsedArgs, io: Io, format: "text" | "json", deps?: AddDeps): Promise<number>;
10
+ //# sourceMappingURL=add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/commands/extensions/add.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAAc,KAAK,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAiC,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE9F,OAAO,EAML,KAAK,oBAAoB,EAE1B,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,OAAO;IACtB,wDAAwD;IACxD,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC;AAED,wBAAsB,MAAM,CAC1B,WAAW,EAAE,sBAAsB,EACnC,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,IAAI,GAAE,OAAY,GACjB,OAAO,CAAC,MAAM,CAAC,CAkMjB"}
@@ -0,0 +1,213 @@
1
+ /**
2
+ * `untangle extensions add --from <url|path>`
3
+ *
4
+ * Installs ONE manifest into the user's extension root
5
+ * (`~/.untangle/extensions/<id>/manifest.toml`). Four gates stand between the
6
+ * argument and the file on disk, and none of them is optional:
7
+ *
8
+ * 1. **Transport.** A URL must be https and must carry `--digest`
9
+ * (`source.ts` explains why).
10
+ * 2. **Project boundary.** A path inside a project directory is refused
11
+ * unless the user types `--allow-project-local` in the same invocation.
12
+ * Automatic loading from a project directory does not exist at all: a
13
+ * cloned repository must not be able to hand a tool definition to the
14
+ * runtime (extensions.md §17).
15
+ * 3. **Manifest validity.** Structure and semantics both, X6 included: a
16
+ * container manifest without a fully pinned sha256 digest is rejected.
17
+ * 4. **License gate (X5).** Installing never acknowledges anything. A
18
+ * restricted tool is installed in state `unacknowledged`, and the exact
19
+ * command that would grant the acknowledgment is printed.
20
+ *
21
+ * `add` starts nothing — no process, no pull, no container (X1).
22
+ */
23
+ import { join } from "node:path";
24
+ import { MANIFEST_FILE_NAME, buildAcknowledgment, extensionDirectory, extensionManifestPath, isProjectLocalManifest, loadExtensionManifestFile, parseExtensionManifest, } from "@untangle-code/extension-runtime";
25
+ import { boolFlag, listFlag, stringFlag } from "../../cli/args.js";
26
+ import { EXIT, OperationalError, UsageError } from "../../cli/exit.js";
27
+ import { line, note } from "../../cli/io.js";
28
+ import { gateFor, loadExtensionContext } from "./context.js";
29
+ import { canonicalize, resolveUserPath } from "./environment.js";
30
+ import { emitJson } from "./render.js";
31
+ import { DIGEST_PATTERN, ManifestSourceError, fetchManifestFromUrl, isUrlSource, readManifestFromPath, } from "./source.js";
32
+ import { saveAcknowledgments, upsertAcknowledgment } from "./state.js";
33
+ export async function runAdd(environment, args, io, format, deps = {}) {
34
+ const from = stringFlag(args, "from");
35
+ if (from === undefined) {
36
+ throw new UsageError("`untangle extensions add` needs a source.", "Write --from=<path to a manifest.toml> or --from=<https URL> --digest=sha256:<64 hex>.");
37
+ }
38
+ const expectedDigest = stringFlag(args, "digest");
39
+ if (expectedDigest !== undefined && !DIGEST_PATTERN.test(expectedDigest)) {
40
+ throw new UsageError(`--digest must look like "sha256:<64 lowercase hex>", got "${expectedDigest}".`, "Compute it with: shasum -a 256 manifest.toml");
41
+ }
42
+ const source = await readSource(environment, from, expectedDigest, args, deps);
43
+ if (expectedDigest !== undefined && source.digest !== expectedDigest) {
44
+ throw new OperationalError(`Digest mismatch for ${source.resolved}: expected ${expectedDigest}, got ${source.digest}. ` +
45
+ "Nothing was installed.", "Verify the digest with the publisher before installing this manifest.");
46
+ }
47
+ // --- manifest validity (structure + semantics, X6 included) -------------
48
+ const parsed = parseExtensionManifest(source.text);
49
+ if (parsed.manifest === null) {
50
+ note(io, `The manifest at ${source.resolved} is not valid; nothing was installed:`);
51
+ for (const issue of parsed.issues) {
52
+ note(io, ` ${issue.field}: ${issue.message}`);
53
+ }
54
+ throw new OperationalError(`${String(parsed.issues.length)} problem(s) in the manifest at ${source.resolved}.`, "Fix the fields listed above; the manifest schema is documented in extensions.md §5.2.");
55
+ }
56
+ const manifest = parsed.manifest;
57
+ // --- write --------------------------------------------------------------
58
+ const root = environment.roots[0];
59
+ if (root === undefined) {
60
+ throw new OperationalError("No extension root could be resolved for this user profile.", "Set UNTANGLE_EXTENSIONS_HOME to a writable directory outside any project.");
61
+ }
62
+ const targetDirectory = extensionDirectory(root, manifest.id);
63
+ const targetPath = extensionManifestPath(root, manifest.id);
64
+ const existing = await environment.fs.stat(targetPath);
65
+ if (existing !== null && !boolFlag(args, "force")) {
66
+ throw new OperationalError(`"${manifest.id}" is already installed at ${targetPath}.`, `Repeat with --force to replace it, or remove it first: untangle extensions remove ${manifest.id}`);
67
+ }
68
+ await environment.fs.mkdir(targetDirectory, { recursive: true });
69
+ const temporary = join(targetDirectory, `${MANIFEST_FILE_NAME}.tmp`);
70
+ await environment.fs.writeFile(temporary, source.bytes);
71
+ await environment.fs.rename(temporary, targetPath);
72
+ // Re-read through the loader, so what is reported is what the runtime will
73
+ // see — not what this command believed it wrote.
74
+ const loaded = await loadExtensionManifestFile(environment.fs, targetPath, "user-data-dir", {
75
+ expectedId: manifest.id,
76
+ });
77
+ if (loaded.extension === null) {
78
+ for (const issue of loaded.issues) {
79
+ note(io, ` ${issue.field}: ${issue.message}`);
80
+ }
81
+ throw new OperationalError(`The installed manifest at ${targetPath} does not load back.`, "Remove the directory and install the manifest again.");
82
+ }
83
+ const installed = loaded.extension;
84
+ // --- license gate (X5) --------------------------------------------------
85
+ const context = await loadExtensionContext(environment);
86
+ let acknowledgments = context.acknowledgments;
87
+ const acknowledgedNow = [];
88
+ if (boolFlag(args, "acknowledge-license")) {
89
+ acknowledgments = upsertAcknowledgment(acknowledgments, buildAcknowledgment({
90
+ manifest,
91
+ acknowledgedAt: environment.clock.nowIso(),
92
+ acknowledgedBy: environment.userName,
93
+ }));
94
+ acknowledgedNow.push(`tool:${manifest.id}`);
95
+ }
96
+ for (const ruleset of listFlag(args, "acknowledge-ruleset")) {
97
+ acknowledgments = upsertAcknowledgment(acknowledgments, buildAcknowledgment({
98
+ manifest,
99
+ ruleset,
100
+ acknowledgedAt: environment.clock.nowIso(),
101
+ acknowledgedBy: environment.userName,
102
+ }));
103
+ acknowledgedNow.push(`ruleset:${ruleset}`);
104
+ }
105
+ let acknowledgmentFile;
106
+ if (acknowledgedNow.length > 0) {
107
+ acknowledgmentFile = await saveAcknowledgments(environment.fs, environment.userDataDir, acknowledgments);
108
+ }
109
+ const gate = gateFor({ ...context, acknowledgments }, installed);
110
+ if (format === "json") {
111
+ emitJson(io, {
112
+ command: "extensions add",
113
+ extensionId: manifest.id,
114
+ displayName: manifest.displayName,
115
+ category: manifest.category,
116
+ invocation: manifest.invocation,
117
+ outputFormat: manifest.outputFormat,
118
+ source: { kind: source.kind, requested: source.requested, resolved: source.resolved },
119
+ manifestDigest: source.digest,
120
+ manifestSha256: installed.manifestSha256,
121
+ installedTo: targetPath,
122
+ replacedExisting: existing !== null,
123
+ containerDigest: manifest.container?.digest,
124
+ license: {
125
+ spdxId: manifest.license.spdxId,
126
+ usageRestriction: manifest.license.usageRestriction,
127
+ requiresAcknowledgment: manifest.requiresLicenseAcknowledgment,
128
+ gateStatus: gate.tool.status,
129
+ gateReason: gate.tool.reason,
130
+ rulesets: gate.rulesets.map((entry) => ({
131
+ ruleset: entry.ruleset,
132
+ status: entry.status,
133
+ reason: entry.reason,
134
+ })),
135
+ acknowledgedNow,
136
+ acknowledgmentFile,
137
+ },
138
+ networkAccess: manifest.networkAccess,
139
+ telemetry: manifest.telemetry,
140
+ enabled: false,
141
+ started: false,
142
+ nextSteps: gate.allowed
143
+ ? [`untangle extensions enable ${manifest.id}`]
144
+ : gate.acknowledgeCommands,
145
+ warnings: context.warnings,
146
+ });
147
+ }
148
+ else {
149
+ line(io, `installed "${manifest.id}" (${manifest.displayName})`);
150
+ line(io, ` from ${source.resolved}`);
151
+ line(io, ` manifest ${targetPath}`);
152
+ line(io, ` digest ${source.digest}`);
153
+ if (manifest.container !== undefined) {
154
+ line(io, ` image ${manifest.container.image}@${manifest.container.digest}`);
155
+ }
156
+ line(io, ` invocation ${manifest.invocation.join(", ")}`);
157
+ line(io, ` format ${manifest.outputFormat}`);
158
+ line(io, ` license ${manifest.license.spdxId} (${manifest.license.usageRestriction}) — gate: ${gate.tool.status}`);
159
+ for (const entry of gate.rulesets) {
160
+ line(io, ` ruleset ${entry.ruleset} — gate: ${entry.status}`);
161
+ }
162
+ line(io, ` network ${manifest.networkAccess}`);
163
+ line(io, " enabled no — installing starts nothing (X1); enable it with " +
164
+ `untangle extensions enable ${manifest.id}`);
165
+ }
166
+ for (const warning of context.warnings) {
167
+ note(io, `warning: ${warning}`);
168
+ }
169
+ if (!gate.allowed) {
170
+ note(io, `The license gate is not satisfied: ${gate.tool.reason}`);
171
+ note(io, "Nothing will run until you acknowledge it:");
172
+ for (const command of gate.acknowledgeCommands) {
173
+ note(io, ` ${command}`);
174
+ }
175
+ }
176
+ // Installing succeeded even when the gate is still open: the manifest is on
177
+ // disk and `list` will show it. The gate is enforced where it matters — at
178
+ // `run` — so a successful install is not reported as a failure.
179
+ return EXIT.ok;
180
+ }
181
+ async function readSource(environment, from, expectedDigest, args, deps) {
182
+ if (isUrlSource(from)) {
183
+ if (expectedDigest === undefined) {
184
+ throw new UsageError(`Refusing to install from a URL without --digest. "${from}" is not a fixed artifact: ` +
185
+ "whatever the server returns today would become a program invocation on this machine.", "Ask the publisher for the sha256 of the manifest and pass --digest=sha256:<64 hex>, " +
186
+ "or download the file and use --from=<path>.");
187
+ }
188
+ try {
189
+ return await fetchManifestFromUrl(from, deps.fetchOptions ?? {});
190
+ }
191
+ catch (cause) {
192
+ throw new OperationalError(cause instanceof ManifestSourceError ? cause.message : String(cause), "Check the URL, or download the manifest and install the local copy with --from=<path>.", { cause });
193
+ }
194
+ }
195
+ // The boundary check compares lexically and does not resolve symlinks — the
196
+ // runtime says so explicitly. Canonicalizing here is what makes the check
197
+ // sound: without it a symlink (or, on macOS, the /var alias alone) would
198
+ // carry a path out of the project it really lives in.
199
+ const path = await canonicalize(environment.fs, resolveUserPath(environment.cwd, from));
200
+ if (isProjectLocalManifest(path, environment.projectRoots) &&
201
+ !boolFlag(args, "allow-project-local")) {
202
+ throw new UsageError(`Refusing to read a manifest from a project directory: "${path}" lies inside ` +
203
+ `${environment.projectRoots.join(", ")}. A manifest describes how to start a program, so a ` +
204
+ "cloned repository must never be able to supply one unnoticed (extensions.md §17).", "If you wrote this manifest yourself, repeat the command with --allow-project-local.");
205
+ }
206
+ try {
207
+ return await readManifestFromPath(environment.fs, path);
208
+ }
209
+ catch (cause) {
210
+ throw new OperationalError(cause instanceof ManifestSourceError ? cause.message : String(cause), "Check the path; --from accepts a manifest.toml or the directory containing it.", { cause });
211
+ }
212
+ }
213
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/extensions/add.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type ParsedArgs } from "../../cli/args.js";
2
+ import { type Io } from "../../cli/io.js";
3
+ import { type ExtensionEnvironmentV1 } from "./environment.js";
4
+ export declare function runConfigure(environment: ExtensionEnvironmentV1, args: ParsedArgs, io: Io, format: "text" | "json"): Promise<number>;
5
+ //# sourceMappingURL=configure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../../src/commands/extensions/configure.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAQ,KAAK,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAUhF,wBAAsB,YAAY,CAChC,WAAW,EAAE,sBAAsB,EACnC,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,MAAM,GAAG,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CA0DjB"}