@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,152 @@
1
+ # Third-party licenses — @untangle-code/cli
2
+
3
+ Generated by `pnpm third-party-licenses` from this package's installed
4
+ production dependency tree: transitive `dependencies`, across
5
+ workspace edges, with no `devDependencies` included. The generator reads
6
+ each resolved package's `package.json` in `node_modules`; nothing is maintained by hand
7
+ or estimated.
8
+
9
+ Do not edit manually: `pnpm third-party-licenses --check` fails on drift,
10
+ and `pnpm check-publishable` rejects packages without a current file.
11
+
12
+ This file exists because `docs/BUILD_PLAN.md`, risk R6, makes
13
+ per-package `THIRD_PARTY_LICENSES.md` a release gate for npm publication.
14
+
15
+ Untangle itself is **AGPL-3.0-only** (see `LICENSE` and `NOTICE` in
16
+ this package). The packages below are third-party works; their own
17
+ licenses and copyright notices continue to apply unchanged. Workspace
18
+ packages (`@untangle-code/*`) are not listed here; they belong to the same
19
+ work and use the same AGPL-3.0-only license.
20
+
21
+ ## Production dependencies (transitive, 66)
22
+
23
+ | Package | Version | License | Project |
24
+ | --- | --- | --- | --- |
25
+ | `@ast-grep/lang-python` | 0.0.6 | ISC | — |
26
+ | `@ast-grep/napi` | 0.45.3 | MIT | <https://ast-grep.github.io> |
27
+ | `@ast-grep/setup-lang` | 0.0.6 | ISC | — |
28
+ | `@babel/helper-string-parser` | 7.29.7 | MIT | <https://babel.dev/docs/en/next/babel-helper-string-parser> |
29
+ | `@babel/helper-validator-identifier` | 7.29.7 | MIT | <https://github.com/babel/babel> |
30
+ | `@babel/parser` | 7.29.9 | MIT | <https://babel.dev/docs/en/next/babel-parser> |
31
+ | `@babel/types` | 7.29.8 | MIT | <https://babel.dev/docs/en/next/babel-types> |
32
+ | `@jridgewell/sourcemap-codec` | 1.6.0 | MIT | <https://github.com/jridgewell/sourcemaps/tree/main/packages/sourcemap-codec> |
33
+ | `@lancedb/lancedb` | 0.30.0 | Apache-2.0 | <https://github.com/lancedb/lancedb> |
34
+ | `@modelcontextprotocol/core` | 2.0.0 | MIT | <https://modelcontextprotocol.io> |
35
+ | `@modelcontextprotocol/server` | 2.0.0 | MIT | <https://modelcontextprotocol.io> |
36
+ | `@nodable/entities` | 3.0.0 | MIT | <https://github.com/nodable/val-parsers> |
37
+ | `@swc/helpers` | 0.5.24 | Apache-2.0 | <https://swc.rs> |
38
+ | `@types/command-line-args` | 5.2.3 | MIT | <https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/command-line-args> |
39
+ | `@types/command-line-usage` | 5.0.4 | MIT | <https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/command-line-usage> |
40
+ | `@types/node` | 20.19.43 | MIT | <https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node> |
41
+ | `@vue/compiler-core` | 3.5.44 | MIT | <https://github.com/vuejs/core/tree/main/packages/compiler-core#readme> |
42
+ | `@vue/compiler-dom` | 3.5.44 | MIT | <https://github.com/vuejs/core/tree/main/packages/compiler-dom#readme> |
43
+ | `@vue/compiler-sfc` | 3.5.44 | MIT | <https://github.com/vuejs/core/tree/main/packages/compiler-sfc#readme> |
44
+ | `@vue/compiler-ssr` | 3.5.44 | MIT | <https://github.com/vuejs/core/tree/main/packages/compiler-ssr#readme> |
45
+ | `@vue/shared` | 3.5.44 | MIT | <https://github.com/vuejs/core/tree/main/packages/shared#readme> |
46
+ | `ansi-styles` | 4.3.0 | MIT | `chalk/ansi-styles` |
47
+ | `anynum` | 1.0.1 | MIT | <https://github.com/NaturalIntelligence/anynum> |
48
+ | `apache-arrow` | 18.1.0 | Apache-2.0 | <https://github.com/apache/arrow/blob/main/js/README.md> |
49
+ | `array-back` | 3.1.0 | MIT | <https://github.com/75lb/array-back> |
50
+ | `array-back` | 6.2.3 | MIT | <https://github.com/75lb/array-back> |
51
+ | `chalk` | 4.1.2 | MIT | `chalk/chalk` |
52
+ | `chalk-template` | 0.4.0 | MIT | `chalk/chalk-template` |
53
+ | `color-convert` | 2.0.1 | MIT | `Qix-/color-convert` |
54
+ | `color-name` | 1.1.4 | MIT | <https://github.com/colorjs/color-name> |
55
+ | `command-line-args` | 5.2.1 | MIT | <https://github.com/75lb/command-line-args> |
56
+ | `command-line-usage` | 7.0.4 | MIT | <https://github.com/75lb/command-line-usage> |
57
+ | `entities` | 7.0.1 | BSD-2-Clause | <https://github.com/fb55/entities> |
58
+ | `estree-walker` | 2.0.2 | MIT | <https://github.com/Rich-Harris/estree-walker> |
59
+ | `fast-xml-builder` | 1.3.1 | MIT | <https://github.com/NaturalIntelligence/fast-xml-builder> |
60
+ | `fast-xml-parser` | 5.11.1 | MIT | <https://github.com/NaturalIntelligence/fast-xml-parser> |
61
+ | `find-replace` | 3.0.0 | MIT | <https://github.com/75lb/find-replace> |
62
+ | `flatbuffers` | 24.12.23 | Apache-2.0 | <https://google.github.io/flatbuffers/> |
63
+ | `has-flag` | 4.0.0 | MIT | `sindresorhus/has-flag` |
64
+ | `is-unsafe` | 2.0.2 | MIT | <https://github.com/NaturalIntelligence/is-unsafe> |
65
+ | `json-bignum` | 0.0.3 | MIT | <https://github.com/datalanche/json-bignum> |
66
+ | `lodash.camelcase` | 4.3.0 | MIT | <https://lodash.com/> |
67
+ | `magic-string` | 0.30.21 | MIT | <https://github.com/Rich-Harris/magic-string> |
68
+ | `nanoid` | 3.3.20 | MIT | `ai/nanoid` |
69
+ | `node-addon-api` | 8.9.2 | MIT | <https://github.com/nodejs/node-addon-api> |
70
+ | `node-gyp-build` | 4.8.4 | MIT | <https://github.com/prebuild/node-gyp-build> |
71
+ | `path-expression-matcher` | 1.6.2 | MIT | <https://github.com/NaturalIntelligence/path-expression-matcher#readme> |
72
+ | `picocolors` | 1.1.1 | ISC | `alexeyraspopov/picocolors` |
73
+ | `postcss` | 8.5.31 | MIT | <https://postcss.org/> |
74
+ | `reflect-metadata` | 0.2.2 | Apache-2.0 | <http://rbuckton.github.io/reflect-metadata> |
75
+ | `smol-toml` | 1.8.0 | BSD-3-Clause | `github:squirrelchat/smol-toml` |
76
+ | `source-map-js` | 1.2.2 | BSD-3-Clause | <https://github.com/7rulnik/source-map-js> |
77
+ | `strnum` | 2.4.2 | MIT | <https://github.com/NaturalIntelligence/strnum> |
78
+ | `supports-color` | 7.2.0 | MIT | `chalk/supports-color` |
79
+ | `table-layout` | 4.1.1 | MIT | <https://github.com/75lb/table-layout> |
80
+ | `tree-sitter` | 0.21.1 | MIT | <http://github.com/tree-sitter/node-tree-sitter> |
81
+ | `tree-sitter-javascript` | 0.23.1 | MIT | <https://github.com/tree-sitter/tree-sitter-javascript> |
82
+ | `tree-sitter-typescript` | 0.23.2 | MIT | <https://github.com/tree-sitter/tree-sitter-typescript> |
83
+ | `tslib` | 2.8.1 | 0BSD | <https://www.typescriptlang.org/> |
84
+ | `typical` | 4.0.0 | MIT | <https://github.com/75lb/typical> |
85
+ | `typical` | 7.3.0 | MIT | <https://github.com/75lb/typical> |
86
+ | `undici-types` | 6.21.0 | MIT | <https://undici.nodejs.org> |
87
+ | `wordwrapjs` | 5.1.1 | MIT | <https://github.com/75lb/wordwrapjs> |
88
+ | `xml-naming` | 0.3.0 | MIT | <https://github.com/NaturalIntelligence/xml-naming> |
89
+ | `yaml` | 2.9.0 | ISC | <https://eemeli.org/yaml/> |
90
+ | `zod` | 4.5.4 | MIT | <https://zod.dev> |
91
+
92
+ The allowlist (MIT / Apache-2.0 / BSD / ISC / …) is checked by
93
+ `scripts/check-licenses.mjs` against this exact tree on every run;
94
+ the GPL family is excluded (architecture.md §2.4, BUILD_PLAN R6).
95
+
96
+ ## Embedded tree-sitter grammars (12)
97
+
98
+ The `@ast-grep/lang-*` packages distribute third-party tree-sitter grammars:
99
+ their `src/parser.c` files are byte-identical to the listed grammar versions,
100
+ as verified by `pnpm grammar-provenance --update`
101
+ (field `parserMatchesGrammar`). However, their own `LICENSE` only names
102
+ `Copyright (c) 2025 ast-grep`; the grammar authors are not listed there.
103
+ Untangle therefore records their notices here.
104
+
105
+ | Language package | Dependency | Grammar | License | Copyright notice |
106
+ | --- | --- | --- | --- | --- |
107
+ | `@ast-grep/lang-bash` | optional; install separately | `tree-sitter-bash` 0.25.1 | MIT | Copyright (c) 2017 Max Brunsfeld |
108
+ | `@ast-grep/lang-c` | optional; install separately | `tree-sitter-c` 0.24.1 | MIT | Copyright (c) 2014 Max Brunsfeld |
109
+ | `@ast-grep/lang-cpp` | optional; install separately | `tree-sitter-cpp` 0.23.4 | MIT | Copyright (c) 2014 Max Brunsfeld |
110
+ | `@ast-grep/lang-csharp` | optional; install separately | `tree-sitter-c-sharp` 0.23.1 | MIT | Copyright (c) 2014-2023 Max Brunsfeld, Damien Guard, Amaan Qureshi, and contributors. |
111
+ | `@ast-grep/lang-go` | optional; install separately | `tree-sitter-go` 0.25.0 | MIT | Copyright (c) 2014 Max Brunsfeld |
112
+ | `@ast-grep/lang-java` | optional; install separately | `tree-sitter-java` 0.23.5 | MIT | Copyright (c) 2017 Ayman Nadeem |
113
+ | `@ast-grep/lang-kotlin` | optional; install separately | `tree-sitter-kotlin` 0.3.8 | MIT | Copyright (c) 2019 fwcd |
114
+ | `@ast-grep/lang-php` | optional; install separately | `tree-sitter-php` 0.24.2 | MIT | Copyright (c) 2017 Josh Vera, GitHub<br>Copyright (c) 2019 Max Brunsfeld, Amaan Qureshi, Christian Frøystad, Caleb White |
115
+ | `@ast-grep/lang-python` | Dependency | `tree-sitter-python` 0.25.0 | MIT | Copyright (c) 2016 Max Brunsfeld |
116
+ | `@ast-grep/lang-ruby` | optional; install separately | `tree-sitter-ruby` 0.23.1 | MIT | Copyright (c) 2016 Rob Rix |
117
+ | `@ast-grep/lang-rust` | optional; install separately | `tree-sitter-rust` 0.23.2 | MIT | Copyright (c) 2017 Maxim Sokolov |
118
+ | `@ast-grep/lang-swift` | optional; install separately | `tree-sitter-swift` 0.7.1 | MIT | Copyright (c) 2021 alex-pinkus |
119
+
120
+ **An unresolved question that Untangle cannot decide.** All language packages above
121
+ declare `"license": "ISC"` in `package.json`, but include an **MIT** license text.
122
+ Both declarations cannot apply simultaneously. Which declaration ast-grep intends
123
+ cannot be determined externally; this file records
124
+ the contradiction instead of inventing a resolution. For the embedded
125
+ grammars, the license is unambiguous: the table uses the license text
126
+ inside each grammar version's tarball rather than its
127
+ registry metadata's `license` field.
128
+
129
+ Packages marked *optional* are not included in an Untangle installation:
130
+ they are optional `peerDependencies`, which npm
131
+ does not install automatically. They are listed for users who
132
+ add them to enable the corresponding language.
133
+
134
+ ## LanceDB platform-native runtime packages
135
+
136
+ The SDK declares the following native optional dependencies. Package names, pinned versions
137
+ and SPDX license declarations come from the published version manifests recorded with hashes
138
+ in `scripts/lancedb-native-provenance.json`. Every native variant actually resolved on the
139
+ generating platform is checked against that metadata; its dependencies are included above.
140
+ This table is a declaration inventory, not a claim that all seven binaries were installed or
141
+ inspected. The release's installed production SBOM records the actual platform selection.
142
+ Upstream package license files and notices continue to apply and remain distributed by npm.
143
+
144
+ | Native package | Version | Declared license | Published manifest |
145
+ | --- | --- | --- | --- |
146
+ | `@lancedb/lancedb-darwin-arm64` | 0.30.0 | Apache-2.0 | <https://registry.npmjs.org/%40lancedb%2Flancedb-darwin-arm64/0.30.0> |
147
+ | `@lancedb/lancedb-linux-arm64-gnu` | 0.30.0 | Apache-2.0 | <https://registry.npmjs.org/%40lancedb%2Flancedb-linux-arm64-gnu/0.30.0> |
148
+ | `@lancedb/lancedb-linux-arm64-musl` | 0.30.0 | Apache-2.0 | <https://registry.npmjs.org/%40lancedb%2Flancedb-linux-arm64-musl/0.30.0> |
149
+ | `@lancedb/lancedb-linux-x64-gnu` | 0.30.0 | Apache-2.0 | <https://registry.npmjs.org/%40lancedb%2Flancedb-linux-x64-gnu/0.30.0> |
150
+ | `@lancedb/lancedb-linux-x64-musl` | 0.30.0 | Apache-2.0 | <https://registry.npmjs.org/%40lancedb%2Flancedb-linux-x64-musl/0.30.0> |
151
+ | `@lancedb/lancedb-win32-arm64-msvc` | 0.30.0 | Apache-2.0 | <https://registry.npmjs.org/%40lancedb%2Flancedb-win32-arm64-msvc/0.30.0> |
152
+ | `@lancedb/lancedb-win32-x64-msvc` | 0.30.0 | Apache-2.0 | <https://registry.npmjs.org/%40lancedb%2Flancedb-win32-x64-msvc/0.30.0> |
@@ -0,0 +1,48 @@
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
+ export type FlagKind = "boolean" | "string" | "number" | "list" | "boolean-or-number";
15
+ export interface FlagSpec {
16
+ readonly kind: FlagKind;
17
+ /** Einbuchstabige Kurzform ohne Bindestrich, z. B. "n". */
18
+ readonly alias?: string;
19
+ /** Was hinter der Option steht, z. B. "N" oder "MUSTER". */
20
+ readonly placeholder?: string;
21
+ /** Eine Zeile Hilfetext. */
22
+ readonly describe: string;
23
+ /** Nur zur Anzeige in `--help`. */
24
+ readonly defaultLabel?: string;
25
+ }
26
+ export type FlagSpecs = Readonly<Record<string, FlagSpec>>;
27
+ export type FlagValue = boolean | string | number | readonly string[];
28
+ export interface ParsedArgs {
29
+ readonly positionals: readonly string[];
30
+ readonly flags: Readonly<Record<string, FlagValue>>;
31
+ }
32
+ /**
33
+ * Zerlegt `argv` gegen `specs`. Wirft {@link UsageError} bei allem, was nicht
34
+ * eindeutig ist — unbekannte Option, fehlender Wert, keine Zahl.
35
+ */
36
+ export declare function parseArgs(argv: readonly string[], specs: FlagSpecs): ParsedArgs;
37
+ export declare function boolFlag(args: ParsedArgs, name: string, fallback?: boolean): boolean;
38
+ export declare function stringFlag(args: ParsedArgs, name: string): string | undefined;
39
+ export declare function numberFlag(args: ParsedArgs, name: string): number | undefined;
40
+ export declare function listFlag(args: ParsedArgs, name: string): string[];
41
+ /**
42
+ * Liest eine Option, deren Wert aus einer festen Menge stammen MUSS.
43
+ * Ein Tippfehler wird abgelehnt statt auf den Default zurueckzufallen.
44
+ */
45
+ export declare function enumFlag<T extends string>(args: ParsedArgs, name: string, allowed: readonly T[], fallback: T): T;
46
+ /** Eine ganze, nicht-negative Zahl — oder eine klare Absage. */
47
+ export declare function integerFlag(args: ParsedArgs, name: string, fallback: number): number;
48
+ //# sourceMappingURL=args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,mBAAmB,CAAC;AAEtF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,mCAAmC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE3D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;AAEtE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CACrD;AAMD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,UAAU,CAiI/E;AAID,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,OAAO,CAGlF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG7E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG7E;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAGjE;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EACvC,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,QAAQ,EAAE,CAAC,GACV,CAAC,CAQH;AAED,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUpF"}
@@ -0,0 +1,167 @@
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
+ import { UsageError } from "./exit.js";
15
+ function isNegatedBoolean(token) {
16
+ return token.startsWith("--no-");
17
+ }
18
+ /**
19
+ * Zerlegt `argv` gegen `specs`. Wirft {@link UsageError} bei allem, was nicht
20
+ * eindeutig ist — unbekannte Option, fehlender Wert, keine Zahl.
21
+ */
22
+ export function parseArgs(argv, specs) {
23
+ const byAlias = new Map();
24
+ for (const [name, spec] of Object.entries(specs)) {
25
+ if (spec.alias !== undefined)
26
+ byAlias.set(spec.alias, name);
27
+ }
28
+ const positionals = [];
29
+ const flags = {};
30
+ let sawTerminator = false;
31
+ const resolve = (token) => {
32
+ const bare = token.startsWith("--") ? token.slice(2) : token.slice(1);
33
+ const name = token.startsWith("--") ? bare : (byAlias.get(bare) ?? bare);
34
+ const spec = specs[name];
35
+ if (spec === undefined) {
36
+ throw new UsageError(`Unknown option "${token}".`, "See `--help` for this command's supported options.");
37
+ }
38
+ return { name, spec };
39
+ };
40
+ const assign = (name, spec, raw) => {
41
+ if (spec.kind === "number" || spec.kind === "boolean-or-number") {
42
+ const value = Number(raw);
43
+ if (!Number.isFinite(value)) {
44
+ throw new UsageError(`Option "--${name}" requires a number; received "${raw}".`, `Example: --${name}=10`);
45
+ }
46
+ flags[name] = value;
47
+ return;
48
+ }
49
+ if (spec.kind === "list") {
50
+ const previous = flags[name];
51
+ const list = Array.isArray(previous) ? [...previous] : [];
52
+ list.push(raw);
53
+ flags[name] = list;
54
+ return;
55
+ }
56
+ flags[name] = raw;
57
+ };
58
+ for (let i = 0; i < argv.length; i++) {
59
+ const token = argv[i];
60
+ if (sawTerminator) {
61
+ positionals.push(token);
62
+ continue;
63
+ }
64
+ if (token === "--") {
65
+ sawTerminator = true;
66
+ continue;
67
+ }
68
+ if (token === "-" || !token.startsWith("-")) {
69
+ positionals.push(token);
70
+ continue;
71
+ }
72
+ // --name=wert
73
+ const equals = token.indexOf("=");
74
+ if (token.startsWith("--") && equals > 2) {
75
+ const head = token.slice(0, equals);
76
+ const raw = token.slice(equals + 1);
77
+ const { name, spec } = resolve(head);
78
+ if (spec.kind === "boolean") {
79
+ if (raw !== "true" && raw !== "false") {
80
+ throw new UsageError(`Option "--${name}" is a switch accepting only "true" or "false"; received "${raw}".`, `Use --${name} or --no-${name}.`);
81
+ }
82
+ flags[name] = raw === "true";
83
+ continue;
84
+ }
85
+ if (spec.kind === "boolean-or-number" && (raw === "true" || raw === "false")) {
86
+ flags[name] = raw === "true";
87
+ continue;
88
+ }
89
+ assign(name, spec, raw);
90
+ continue;
91
+ }
92
+ // --no-name
93
+ if (isNegatedBoolean(token)) {
94
+ const name = token.slice(5);
95
+ const spec = specs[name];
96
+ if (spec === undefined || (spec.kind !== "boolean" && spec.kind !== "boolean-or-number")) {
97
+ throw new UsageError(`Unknown switch "${token}".`, "See `--help` for this command's supported options.");
98
+ }
99
+ flags[name] = false;
100
+ continue;
101
+ }
102
+ const { name, spec } = resolve(token);
103
+ if (spec.kind === "boolean") {
104
+ flags[name] = true;
105
+ continue;
106
+ }
107
+ if (spec.kind === "boolean-or-number") {
108
+ const next = argv[i + 1];
109
+ if (next !== undefined && next !== "" && Number.isFinite(Number(next))) {
110
+ i++;
111
+ assign(name, spec, next);
112
+ }
113
+ else {
114
+ flags[name] = true;
115
+ }
116
+ continue;
117
+ }
118
+ const next = argv[i + 1];
119
+ if (next === undefined ||
120
+ (next.startsWith("-") && next !== "-" && Number.isNaN(Number(next)))) {
121
+ throw new UsageError(`Option "--${name}" requires a value.`, `Use --${name}=<${spec.placeholder ?? "value"}> or --${name} <${spec.placeholder ?? "value"}>.`);
122
+ }
123
+ i++;
124
+ assign(name, spec, next);
125
+ }
126
+ return { positionals, flags };
127
+ }
128
+ /* --- Typisierte Leser. Sie erfinden nichts: fehlt ein Wert, kommt der Default. */
129
+ export function boolFlag(args, name, fallback = false) {
130
+ const value = args.flags[name];
131
+ return typeof value === "boolean" ? value : fallback;
132
+ }
133
+ export function stringFlag(args, name) {
134
+ const value = args.flags[name];
135
+ return typeof value === "string" ? value : undefined;
136
+ }
137
+ export function numberFlag(args, name) {
138
+ const value = args.flags[name];
139
+ return typeof value === "number" ? value : undefined;
140
+ }
141
+ export function listFlag(args, name) {
142
+ const value = args.flags[name];
143
+ return Array.isArray(value) ? [...value] : [];
144
+ }
145
+ /**
146
+ * Liest eine Option, deren Wert aus einer festen Menge stammen MUSS.
147
+ * Ein Tippfehler wird abgelehnt statt auf den Default zurueckzufallen.
148
+ */
149
+ export function enumFlag(args, name, allowed, fallback) {
150
+ const value = stringFlag(args, name);
151
+ if (value === undefined)
152
+ return fallback;
153
+ if (allowed.includes(value))
154
+ return value;
155
+ throw new UsageError(`Option "--${name}" does not support value "${value}" is not supported.`, `Choose one of: ${allowed.join(", ")}.`);
156
+ }
157
+ /** Eine ganze, nicht-negative Zahl — oder eine klare Absage. */
158
+ export function integerFlag(args, name, fallback) {
159
+ const value = numberFlag(args, name);
160
+ if (value === undefined)
161
+ return fallback;
162
+ if (!Number.isInteger(value) || value < 0) {
163
+ throw new UsageError(`Option "--${name}" requires an integer >= 0; received "${String(value)}".`, `Example: --${name}=5`);
164
+ }
165
+ return value;
166
+ }
167
+ //# sourceMappingURL=args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
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
+ import type { FlagSpecs, ParsedArgs } from "./args.js";
10
+ import type { Io } from "./io.js";
11
+ export interface CommandContext {
12
+ readonly io: Io;
13
+ readonly cwd: string;
14
+ readonly env: Readonly<Record<string, string | undefined>>;
15
+ /** Wird bei SIGINT/SIGTERM ausgeloest; jeder Port bekommt ihn gereicht. */
16
+ readonly signal: AbortSignal;
17
+ }
18
+ export interface CommandSpec {
19
+ readonly name: string;
20
+ /**
21
+ * Das Modul, das die FAEHIGKEIT dieses Befehls enthaelt — als Spezifikator
22
+ * relativ zu `apps/cli/src`, genau so geschrieben, wie ihn ein Import
23
+ * traegt (z. B. `commands/init/index.js`).
24
+ *
25
+ * Warum eine Zeichenkette und nicht „das ergibt sich doch aus dem Import":
26
+ * WEIL ES SICH NICHT ERGAB. Bis WP-218 lagen zwei Module namens `init`
27
+ * nebeneinander — `commands/init.ts`, ein Stub ohne Erkennung, und
28
+ * `commands/init/index.ts`, die fertige, getestete Implementierung. Der
29
+ * Einstiegspunkt importierte den Stub. Alles uebersetzte, alle Tests
30
+ * liefen gruen, und das ausgelieferte Binaer tat etwas anderes als das,
31
+ * was gebaut worden war. Ein Import allein KANN diesen Fehler nicht
32
+ * melden, weil beide Pfade gueltig sind.
33
+ *
34
+ * Mit diesem Feld ist die Zuordnung eine BEHAUPTUNG, die sich pruefen
35
+ * laesst: `command-wiring.test.ts` laedt das genannte Modul und verlangt,
36
+ * dass der registrierte Befehl DASSELBE OBJEKT ist, das dieses Modul
37
+ * ausliefert — und dass kein zweites Modul im Baum einen Befehl anbietet,
38
+ * der nirgends registriert ist.
39
+ */
40
+ readonly implementedBy: string;
41
+ /** Eine Zeile fuer die Uebersicht in `untangle --help`. */
42
+ readonly summary: string;
43
+ /** Aufrufform, z. B. `untangle query <text> [optionen]`. */
44
+ readonly usage: string;
45
+ /** Absaetze, die den Befehl EHRLICH beschreiben — auch seine Grenzen. */
46
+ readonly details?: readonly string[];
47
+ readonly flags: FlagSpecs;
48
+ readonly examples?: readonly string[];
49
+ /** Welche Exit-Codes dieser Befehl belegt, jeweils mit Bedeutung. */
50
+ readonly exitCodes?: readonly (readonly [number, string])[];
51
+ /**
52
+ * True, wenn der Befehl angelegt, seine Faehigkeit aber noch nicht gebaut
53
+ * ist (siehe `commands/unavailable.ts`).
54
+ *
55
+ * Das Merkmal steht hier und nicht in einer Liste im Einstiegspunkt, weil
56
+ * eine solche Liste driftet: als `watch` gebaut wurde, blieb sie stehen und
57
+ * behauptete weiter, es fehle. Ein Befehl traegt seinen Stand selbst.
58
+ */
59
+ readonly notYetBuilt?: boolean;
60
+ }
61
+ export interface Command {
62
+ readonly spec: CommandSpec;
63
+ run(ctx: CommandContext, args: ParsedArgs): Promise<number>;
64
+ }
65
+ /** Rendert `--help` eines Unterbefehls. Deterministisch: Optionen codepoint-sortiert. */
66
+ export declare function renderCommandHelp(spec: CommandSpec): string;
67
+ /** Weicher Zeilenumbruch auf `width` Zeichen; bricht nie mitten im Wort. */
68
+ export declare function wrap(text: string, width: number): string[];
69
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAChB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC3D,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,qEAAqE;IACrE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;IAC5D;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7D;AAgBD,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAwC3D;AAED,4EAA4E;AAC5E,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAgB1D"}
@@ -0,0 +1,82 @@
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
+ import { compareCodepoints } from "@untangle-code/domain";
10
+ function padEnd(text, width) {
11
+ return text.length >= width ? text : text + " ".repeat(width - text.length);
12
+ }
13
+ /** Die Optionszeile einer Option, z. B. `-n, --limit=N`. */
14
+ function flagLabel(name, spec) {
15
+ const short = spec.alias === undefined ? " " : `-${spec.alias}, `;
16
+ const value = spec.kind === "boolean" || spec.kind === "boolean-or-number"
17
+ ? ""
18
+ : `=<${spec.placeholder ?? "value"}>`;
19
+ return `${short}--${name}${value}`;
20
+ }
21
+ /** Rendert `--help` eines Unterbefehls. Deterministisch: Optionen codepoint-sortiert. */
22
+ export function renderCommandHelp(spec) {
23
+ const lines = [];
24
+ lines.push(`untangle ${spec.name} — ${spec.summary}`, "");
25
+ lines.push("USAGE", ` ${spec.usage}`, "");
26
+ if (spec.details !== undefined && spec.details.length > 0) {
27
+ lines.push("DESCRIPTION");
28
+ for (const paragraph of spec.details) {
29
+ for (const wrapped of wrap(paragraph, 76))
30
+ lines.push(` ${wrapped}`);
31
+ lines.push("");
32
+ }
33
+ }
34
+ const names = Object.keys(spec.flags).sort(compareCodepoints);
35
+ if (names.length > 0) {
36
+ lines.push("OPTIONS");
37
+ const labels = names.map((name) => flagLabel(name, spec.flags[name]));
38
+ const width = Math.max(...labels.map((l) => l.length));
39
+ for (let i = 0; i < names.length; i++) {
40
+ const name = names[i];
41
+ const flag = spec.flags[name];
42
+ const suffix = flag.defaultLabel === undefined ? "" : ` (default: ${flag.defaultLabel})`;
43
+ lines.push(` ${padEnd(labels[i], width)} ${flag.describe}${suffix}`);
44
+ }
45
+ lines.push("");
46
+ }
47
+ if (spec.examples !== undefined && spec.examples.length > 0) {
48
+ lines.push("EXAMPLES");
49
+ for (const example of spec.examples)
50
+ lines.push(` ${example}`);
51
+ lines.push("");
52
+ }
53
+ if (spec.exitCodes !== undefined && spec.exitCodes.length > 0) {
54
+ lines.push("EXIT-CODES");
55
+ for (const [code, meaning] of spec.exitCodes)
56
+ lines.push(` ${String(code)} ${meaning}`);
57
+ lines.push("");
58
+ }
59
+ return `${lines.join("\n").trimEnd()}\n`;
60
+ }
61
+ /** Weicher Zeilenumbruch auf `width` Zeichen; bricht nie mitten im Wort. */
62
+ export function wrap(text, width) {
63
+ const words = text.split(/\s+/u).filter((w) => w.length > 0);
64
+ const lines = [];
65
+ let current = "";
66
+ for (const word of words) {
67
+ if (current.length === 0) {
68
+ current = word;
69
+ }
70
+ else if (current.length + 1 + word.length <= width) {
71
+ current = `${current} ${word}`;
72
+ }
73
+ else {
74
+ lines.push(current);
75
+ current = word;
76
+ }
77
+ }
78
+ if (current.length > 0)
79
+ lines.push(current);
80
+ return lines.length === 0 ? [""] : lines;
81
+ }
82
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
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
+ /** Ergebnis eines Laufs mit Frist. `timedOut` unterscheidet Frist von Fehler. */
16
+ export type DeadlineOutcome<T> = {
17
+ readonly ok: true;
18
+ readonly value: T;
19
+ } | {
20
+ readonly ok: false;
21
+ readonly timedOut: boolean;
22
+ readonly error: unknown;
23
+ };
24
+ /**
25
+ * Fuehrt `work` mit einer eigenen Frist aus und reicht ihm dafuer ein Signal.
26
+ *
27
+ * Das Signal des Aufrufers bleibt wirksam: ein Strg-C bricht sofort ab, nicht
28
+ * erst nach der Frist. `work` MUSS das gereichte Signal durchreichen — sonst
29
+ * kehrt der Aufruf zwar zurueck, laeuft aber im Hintergrund weiter (siehe
30
+ * `main()` in index.ts, das den Prozess deshalb ausdruecklich beendet).
31
+ */
32
+ export declare function withDeadline<T>(work: (signal: AbortSignal) => Promise<T>, timeoutMs: number, outerSignal: AbortSignal): Promise<DeadlineOutcome<T>>;
33
+ //# sourceMappingURL=deadline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deadline.d.ts","sourceRoot":"","sources":["../../src/cli/deadline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,iFAAiF;AACjF,MAAM,MAAM,eAAe,CAAC,CAAC,IACzB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhF;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EACzC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAuB7B"}
@@ -0,0 +1,49 @@
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
+ * Fuehrt `work` mit einer eigenen Frist aus und reicht ihm dafuer ein Signal.
17
+ *
18
+ * Das Signal des Aufrufers bleibt wirksam: ein Strg-C bricht sofort ab, nicht
19
+ * erst nach der Frist. `work` MUSS das gereichte Signal durchreichen — sonst
20
+ * kehrt der Aufruf zwar zurueck, laeuft aber im Hintergrund weiter (siehe
21
+ * `main()` in index.ts, das den Prozess deshalb ausdruecklich beendet).
22
+ */
23
+ export async function withDeadline(work, timeoutMs, outerSignal) {
24
+ const controller = new AbortController();
25
+ const onOuterAbort = () => {
26
+ controller.abort(outerSignal.reason);
27
+ };
28
+ if (outerSignal.aborted)
29
+ controller.abort(outerSignal.reason);
30
+ else
31
+ outerSignal.addEventListener("abort", onOuterAbort, { once: true });
32
+ let timedOut = false;
33
+ const timer = setTimeout(() => {
34
+ timedOut = true;
35
+ controller.abort(new Error(`Deadline of ${String(timeoutMs)}ms expired`));
36
+ }, timeoutMs);
37
+ try {
38
+ return { ok: true, value: await work(controller.signal) };
39
+ }
40
+ catch (error) {
41
+ // Der Abbruch des AUFRUFERS ist kein Fristablauf — er ist ein Abbruch.
42
+ return { ok: false, timedOut: timedOut && !outerSignal.aborted, error };
43
+ }
44
+ finally {
45
+ clearTimeout(timer);
46
+ outerSignal.removeEventListener("abort", onOuterAbort);
47
+ }
48
+ }
49
+ //# sourceMappingURL=deadline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deadline.js","sourceRoot":"","sources":["../../src/cli/deadline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAyC,EACzC,SAAiB,EACjB,WAAwB;IAExB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,GAAS,EAAE;QAC9B,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC,CAAC;IACF,IAAI,WAAW,CAAC,OAAO;QAAE,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;;QACzD,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzE,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;QAC5B,QAAQ,GAAG,IAAI,CAAC;QAChB,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,eAAe,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5E,CAAC,EAAE,SAAS,CAAC,CAAC;IAEd,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uEAAuE;QACvE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAC1E,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}