@tdk-landscape/tdk-cli-core 1.3.44 → 1.3.48

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 (431) hide show
  1. package/.github/workflows/release-binaries.yml +54 -0
  2. package/.pre-commit-config.yaml +57 -0
  3. package/Makefile +92 -0
  4. package/bun.lock +538 -0
  5. package/cli/AGENTS.md +390 -0
  6. package/cli/DESIGN.md +735 -0
  7. package/cli/biome.json +44 -0
  8. package/cli/dependency-graph.svg +1135 -0
  9. package/cli/knip.json +6 -0
  10. package/cli/package.json +77 -0
  11. package/cli/pnpm-lock.yaml +2305 -0
  12. package/cli/pnpm-workspace.yaml +2 -0
  13. package/cli/shared-platform-engineering/docker-templates/bun-hoisted-symlink-fix.sh +23 -0
  14. package/cli/shared-platform-engineering/docker-templates/infisical-entrypoint.sh +464 -0
  15. package/cli/shared-platform-engineering/docker-templates/install-deps.sh +152 -0
  16. package/cli/shared-platform-engineering/docker-templates/prisma-bun-client-link-fix.sh +12 -0
  17. package/cli/shared-platform-engineering/docker-templates/prisma-normalize-client.sh +56 -0
  18. package/{dist/cli.js → cli/src/cli.ts} +21 -13
  19. package/cli/src/commands/__tests__/always-enabled-infra.test.ts +115 -0
  20. package/cli/src/commands/__tests__/config.test.ts +146 -0
  21. package/cli/src/commands/__tests__/doctor.test.ts +557 -0
  22. package/cli/src/commands/__tests__/error-handling.test.ts +78 -0
  23. package/cli/src/commands/__tests__/phases-model.test.ts +163 -0
  24. package/cli/src/commands/__tests__/project-resource-features-e2e.test.ts +207 -0
  25. package/cli/src/commands/__tests__/project.test.ts +68 -0
  26. package/cli/src/commands/__tests__/resource.test.ts +226 -0
  27. package/cli/src/commands/__tests__/saas-starter-integration.test.ts +196 -0
  28. package/cli/src/commands/__tests__/stack-features-e2e.test.ts +129 -0
  29. package/cli/src/commands/__tests__/upgrade.test.ts +101 -0
  30. package/{dist/commands/completion.js → cli/src/commands/completion.ts} +78 -72
  31. package/cli/src/commands/config.ts +299 -0
  32. package/cli/src/commands/doctor.ts +790 -0
  33. package/cli/src/commands/down.ts +37 -0
  34. package/cli/src/commands/help.ts +150 -0
  35. package/cli/src/commands/networks-design.md +80 -0
  36. package/cli/src/commands/networks.ts +332 -0
  37. package/cli/src/commands/project.ts +439 -0
  38. package/cli/src/commands/projects.ts +82 -0
  39. package/cli/src/commands/resource.ts +652 -0
  40. package/cli/src/commands/resources.ts +95 -0
  41. package/cli/src/commands/stack.ts +128 -0
  42. package/cli/src/commands/stacks.ts +52 -0
  43. package/cli/src/commands/status.ts +88 -0
  44. package/cli/src/commands/ui.tsx +843 -0
  45. package/cli/src/commands/up.ts +150 -0
  46. package/cli/src/commands/upgrade.ts +570 -0
  47. package/{dist/commands/version.js → cli/src/commands/version.ts} +5 -5
  48. package/cli/src/components/Accessible.tsx +21 -0
  49. package/cli/src/components/BaseTooltip.tsx +66 -0
  50. package/cli/src/components/DetailPanel.tsx +146 -0
  51. package/cli/src/components/FileTree.tsx +89 -0
  52. package/cli/src/components/ResourceSelectInput.tsx +30 -0
  53. package/cli/src/components/ResourceTable.tsx +78 -0
  54. package/cli/src/components/TabBar.tsx +53 -0
  55. package/cli/src/components/Tooltip.tsx +11 -0
  56. package/{dist/components/index.js → cli/src/components/index.ts} +0 -1
  57. package/cli/src/config/platform-standards.test.ts +11 -0
  58. package/cli/src/config/platform-standards.ts +196 -0
  59. package/cli/src/generator/__tests__/extension-fetch.test.ts +220 -0
  60. package/cli/src/generator/__tests__/template-engine.test.ts +70 -0
  61. package/cli/src/generator/extension-fetch.ts +279 -0
  62. package/cli/src/generator/template-engine.ts +754 -0
  63. package/cli/src/index.ts +86 -0
  64. package/cli/src/templates.d.ts +4 -0
  65. package/cli/src/types/index.ts +351 -0
  66. package/cli/src/utils/__tests__/cache.test.ts +98 -0
  67. package/cli/src/utils/__tests__/formatting.test.ts +170 -0
  68. package/cli/src/utils/__tests__/paths.test.ts +180 -0
  69. package/cli/src/utils/__tests__/port-assignment.test.ts +121 -0
  70. package/cli/src/utils/__tests__/service-urls.test.ts +174 -0
  71. package/cli/src/utils/__tests__/services.test.ts +531 -0
  72. package/cli/src/utils/__tests__/tilt.test.ts +143 -0
  73. package/cli/src/utils/__tests__/validation.test.ts +148 -0
  74. package/cli/src/utils/cache.ts +76 -0
  75. package/cli/src/utils/command-helpers.ts +54 -0
  76. package/cli/src/utils/constants.ts +126 -0
  77. package/cli/src/utils/discovery-context.ts +49 -0
  78. package/cli/src/utils/docker.ts +20 -0
  79. package/cli/src/utils/doctor-runtime.ts +604 -0
  80. package/cli/src/utils/env-validator.ts +139 -0
  81. package/cli/src/utils/errors.ts +168 -0
  82. package/cli/src/utils/file-helpers.ts +62 -0
  83. package/cli/src/utils/formatting.ts +215 -0
  84. package/cli/src/utils/paths.ts +53 -0
  85. package/cli/src/utils/port-assignment.ts +106 -0
  86. package/cli/src/utils/project-features.ts +118 -0
  87. package/cli/src/utils/project-templates.ts +28 -0
  88. package/cli/src/utils/prompt.ts +123 -0
  89. package/cli/src/utils/resource-features.ts +209 -0
  90. package/cli/src/utils/service-urls.ts +124 -0
  91. package/cli/src/utils/services.ts +363 -0
  92. package/cli/src/utils/stack-features.ts +30 -0
  93. package/cli/src/utils/tar.ts +24 -0
  94. package/cli/src/utils/tilt.ts +113 -0
  95. package/cli/src/utils/validation.ts +67 -0
  96. package/{templates → cli/templates}/Tiltfile.hbs +1 -1
  97. package/cli/tsconfig.json +25 -0
  98. package/cli/tsconfig.typecheck.json +8 -0
  99. package/docs/FEATURES.md +279 -0
  100. package/engine/topologies/platform/docker/dockerfile/dockerfile.star +3 -3
  101. package/engine/topologies/platform/docker/generators/golden_docker_generator_v2.star +1 -1
  102. package/engine/topologies/platform/docker/layers/l2_dependency_layers.star +0 -3
  103. package/engine/topologies/platform/docker/layers/l3_builder_layers.star +1 -1
  104. package/engine/topologies/platform/docker/layers/l4_runtime_layers.star +1 -1
  105. package/engine/topologies/platform/docker/secrets/infisical.star +19 -47
  106. package/engine/topologies/tilt/resources/orchestrator/apply_migrator_orchestration.star +1 -1
  107. package/install.sh +242 -0
  108. package/knip.json +10 -0
  109. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/.openspec.yaml +2 -0
  110. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/design.md +102 -0
  111. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/proposal.md +31 -0
  112. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/specs/vscode-tdk-notifications/spec.md +48 -0
  113. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/specs/vscode-tdk-orchestration/spec.md +63 -0
  114. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/specs/vscode-tdk-troubleshooting/spec.md +56 -0
  115. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/tasks.md +61 -0
  116. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/.openspec.yaml +2 -0
  117. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/design.md +114 -0
  118. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/proposal.md +32 -0
  119. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/specs/manifest-field-migration/spec.md +20 -0
  120. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/specs/resource-terminology-standard/spec.md +20 -0
  121. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/specs/stack-terminology-standard/spec.md +20 -0
  122. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/tasks.md +194 -0
  123. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/.openspec.yaml +2 -0
  124. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/design.md +111 -0
  125. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/proposal.md +33 -0
  126. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/function-naming-alignment/spec.md +12 -0
  127. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/optional-parameter-patterns/spec.md +18 -0
  128. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/parameter-documentation/spec.md +16 -0
  129. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/parameter-naming-consistency/spec.md +12 -0
  130. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/parameter-ordering-standard/spec.md +12 -0
  131. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/tasks.md +194 -0
  132. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/.openspec.yaml +2 -0
  133. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/codebase-audit-report.md +62 -0
  134. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/design.md +84 -0
  135. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/proposal.md +31 -0
  136. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/specs/codebase-audit/spec.md +27 -0
  137. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/specs/dead-code-cleanup/spec.md +27 -0
  138. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/specs/test-gap-fill/spec.md +23 -0
  139. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/specs/todo-resolution/spec.md +27 -0
  140. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/tasks.md +39 -0
  141. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/.openspec.yaml +5 -0
  142. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/design.md +94 -0
  143. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/proposal.md +46 -0
  144. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/ai-slop-cleanup/CLEANUP_REPORT_8.md +174 -0
  145. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/ai-slop-cleanup/CRITICAL_ASSESSMENT_8.md +160 -0
  146. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/circular-deps/CRITICAL_ASSESSMENT_4.md +381 -0
  147. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/dead-code/CRITICAL_ASSESSMENT_3.md +316 -0
  148. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/deduplication/CRITICAL_ASSESSMENT_1.md +290 -0
  149. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/deduplication/IMPLEMENTATION_SUMMARY_1.md +233 -0
  150. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/defensive-cleanup/CRITICAL_ASSESSMENT_6.md +835 -0
  151. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/legacy-cleanup/CRITICAL_ASSESSMENT_7.md +254 -0
  152. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/legacy-cleanup/IMPLEMENTATION_SUMMARY_7.md +187 -0
  153. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/strong-typing/CRITICAL_ASSESSMENT_5.md +269 -0
  154. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/type-consolidation/CRITICAL_ASSESSMENT_2.md +312 -0
  155. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/type-consolidation/IMPLEMENTATION_SUMMARY.md +170 -0
  156. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/tasks.md +137 -0
  157. package/openspec/changes/archive/2026-06-25-landscape-consolidation/.openspec.yaml +2 -0
  158. package/openspec/changes/archive/2026-06-25-landscape-consolidation/design.md +80 -0
  159. package/openspec/changes/archive/2026-06-25-landscape-consolidation/proposal.md +40 -0
  160. package/openspec/changes/archive/2026-06-25-landscape-consolidation/spec.md +52 -0
  161. package/openspec/changes/archive/2026-06-25-landscape-consolidation/tasks.md +51 -0
  162. package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/.openspec.yaml +2 -0
  163. package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/design.md +43 -0
  164. package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/proposal.md +29 -0
  165. package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/specs/self-contained-generated-projects/spec.md +67 -0
  166. package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/tasks.md +27 -0
  167. package/openspec/specs/manifest-field-migration/spec.md +24 -0
  168. package/openspec/specs/resource-terminology-standard/spec.md +24 -0
  169. package/openspec/specs/self-contained-generated-projects/spec.md +67 -0
  170. package/openspec/specs/stack-terminology-standard/spec.md +24 -0
  171. package/package.json +27 -64
  172. package/platform/services/platform/proxy/service.yaml +14 -0
  173. package/scripts/audit-codebase.sh +213 -0
  174. package/scripts/install-git-hooks.sh +14 -0
  175. package/scripts/release-binaries.sh +94 -0
  176. package/scripts/setup-pre-commit.sh +33 -0
  177. package/scripts/stage-npm-engine.sh +36 -0
  178. package/shared-platform-engineering/docker-templates/bun-hoisted-symlink-fix.sh +23 -0
  179. package/shared-platform-engineering/docker-templates/infisical-entrypoint.sh +464 -0
  180. package/shared-platform-engineering/docker-templates/install-deps.sh +152 -0
  181. package/shared-platform-engineering/docker-templates/prisma-bun-client-link-fix.sh +12 -0
  182. package/shared-platform-engineering/docker-templates/prisma-normalize-client.sh +56 -0
  183. package/tests/tilt-engine/__init__.py +5 -0
  184. package/tests/tilt-engine/conftest.py +182 -0
  185. package/tests/tilt-engine/fixtures/appointment-frontend-service.json +11 -0
  186. package/tests/tilt-engine/fixtures/identity-backend-service.json +12 -0
  187. package/tests/tilt-engine/fixtures/invalid-service.json +4 -0
  188. package/tests/tilt-engine/test_agents_md_generator.py +341 -0
  189. package/tests/tilt-engine/test_agents_md_integration.py +378 -0
  190. package/tests/tilt-engine/test_cache_operations.py +181 -0
  191. package/tests/tilt-engine/test_cache_persistence.py +142 -0
  192. package/tests/tilt-engine/test_code_executor.py +152 -0
  193. package/tests/tilt-engine/test_code_viewer.py +127 -0
  194. package/tests/tilt-engine/test_compose_port_anchors.py +310 -0
  195. package/tests/tilt-engine/test_config_inspector.py +162 -0
  196. package/tests/tilt-engine/test_daemon_focus_mode.py +89 -0
  197. package/tests/tilt-engine/test_daemon_polling.py +122 -0
  198. package/tests/tilt-engine/test_daemon_registration.py +115 -0
  199. package/tests/tilt-engine/test_daemon_validation.py +107 -0
  200. package/tests/tilt-engine/test_docker_generator_bugs.py +493 -0
  201. package/tests/tilt-engine/test_docker_prune.py +119 -0
  202. package/tests/tilt-engine/test_dockerignore_path_bug.py +82 -0
  203. package/tests/tilt-engine/test_file_browser.py +193 -0
  204. package/tests/tilt-engine/test_frontend_basepath_manifest.py +27 -0
  205. package/tests/tilt-engine/test_health_dependencies.py +130 -0
  206. package/tests/tilt-engine/test_health_endpoints.py +118 -0
  207. package/tests/tilt-engine/test_health_tilt_ui.py +85 -0
  208. package/tests/tilt-engine/test_safety_aliases.py +84 -0
  209. package/tests/tilt-engine/test_snapshot_diff.py +136 -0
  210. package/tests/tilt-engine/test_snapshot_persistence.py +163 -0
  211. package/tests/tilt-engine/test_snapshot_scanning.py +123 -0
  212. package/tests/tilt-engine/test_standalone_project_boot.py +61 -0
  213. package/tests/tilt-engine/test_standalone_traefik.py +108 -0
  214. package/dist/cli.d.ts +0 -3
  215. package/dist/cli.d.ts.map +0 -1
  216. package/dist/cli.js.map +0 -1
  217. package/dist/commands/completion.d.ts +0 -3
  218. package/dist/commands/completion.d.ts.map +0 -1
  219. package/dist/commands/completion.js.map +0 -1
  220. package/dist/commands/config.d.ts +0 -3
  221. package/dist/commands/config.d.ts.map +0 -1
  222. package/dist/commands/config.js +0 -231
  223. package/dist/commands/config.js.map +0 -1
  224. package/dist/commands/doctor.d.ts +0 -7
  225. package/dist/commands/doctor.d.ts.map +0 -1
  226. package/dist/commands/doctor.js +0 -597
  227. package/dist/commands/doctor.js.map +0 -1
  228. package/dist/commands/down.d.ts +0 -3
  229. package/dist/commands/down.d.ts.map +0 -1
  230. package/dist/commands/down.js +0 -32
  231. package/dist/commands/down.js.map +0 -1
  232. package/dist/commands/help.d.ts +0 -2
  233. package/dist/commands/help.d.ts.map +0 -1
  234. package/dist/commands/help.js +0 -130
  235. package/dist/commands/help.js.map +0 -1
  236. package/dist/commands/networks.d.ts +0 -3
  237. package/dist/commands/networks.d.ts.map +0 -1
  238. package/dist/commands/networks.js +0 -260
  239. package/dist/commands/networks.js.map +0 -1
  240. package/dist/commands/project.d.ts +0 -3
  241. package/dist/commands/project.d.ts.map +0 -1
  242. package/dist/commands/project.js +0 -373
  243. package/dist/commands/project.js.map +0 -1
  244. package/dist/commands/projects.d.ts +0 -3
  245. package/dist/commands/projects.d.ts.map +0 -1
  246. package/dist/commands/projects.js +0 -71
  247. package/dist/commands/projects.js.map +0 -1
  248. package/dist/commands/resource.d.ts +0 -69
  249. package/dist/commands/resource.d.ts.map +0 -1
  250. package/dist/commands/resource.js +0 -579
  251. package/dist/commands/resource.js.map +0 -1
  252. package/dist/commands/resources.d.ts +0 -3
  253. package/dist/commands/resources.d.ts.map +0 -1
  254. package/dist/commands/resources.js +0 -73
  255. package/dist/commands/resources.js.map +0 -1
  256. package/dist/commands/stack.d.ts +0 -3
  257. package/dist/commands/stack.d.ts.map +0 -1
  258. package/dist/commands/stack.js +0 -97
  259. package/dist/commands/stack.js.map +0 -1
  260. package/dist/commands/stacks.d.ts +0 -3
  261. package/dist/commands/stacks.d.ts.map +0 -1
  262. package/dist/commands/stacks.js +0 -43
  263. package/dist/commands/stacks.js.map +0 -1
  264. package/dist/commands/status.d.ts +0 -3
  265. package/dist/commands/status.d.ts.map +0 -1
  266. package/dist/commands/status.js +0 -71
  267. package/dist/commands/status.js.map +0 -1
  268. package/dist/commands/ui.d.ts +0 -3
  269. package/dist/commands/ui.d.ts.map +0 -1
  270. package/dist/commands/ui.js +0 -445
  271. package/dist/commands/ui.js.map +0 -1
  272. package/dist/commands/up.d.ts +0 -3
  273. package/dist/commands/up.d.ts.map +0 -1
  274. package/dist/commands/up.js +0 -110
  275. package/dist/commands/up.js.map +0 -1
  276. package/dist/commands/upgrade.d.ts +0 -11
  277. package/dist/commands/upgrade.d.ts.map +0 -1
  278. package/dist/commands/upgrade.js +0 -496
  279. package/dist/commands/upgrade.js.map +0 -1
  280. package/dist/commands/version.d.ts +0 -3
  281. package/dist/commands/version.d.ts.map +0 -1
  282. package/dist/commands/version.js.map +0 -1
  283. package/dist/components/Accessible.d.ts +0 -8
  284. package/dist/components/Accessible.d.ts.map +0 -1
  285. package/dist/components/Accessible.js +0 -10
  286. package/dist/components/Accessible.js.map +0 -1
  287. package/dist/components/BaseTooltip.d.ts +0 -4
  288. package/dist/components/BaseTooltip.d.ts.map +0 -1
  289. package/dist/components/BaseTooltip.js +0 -28
  290. package/dist/components/BaseTooltip.js.map +0 -1
  291. package/dist/components/DetailPanel.d.ts +0 -4
  292. package/dist/components/DetailPanel.d.ts.map +0 -1
  293. package/dist/components/DetailPanel.js +0 -18
  294. package/dist/components/DetailPanel.js.map +0 -1
  295. package/dist/components/FileTree.d.ts +0 -4
  296. package/dist/components/FileTree.d.ts.map +0 -1
  297. package/dist/components/FileTree.js +0 -47
  298. package/dist/components/FileTree.js.map +0 -1
  299. package/dist/components/ResourceSelectInput.d.ts +0 -4
  300. package/dist/components/ResourceSelectInput.d.ts.map +0 -1
  301. package/dist/components/ResourceSelectInput.js +0 -7
  302. package/dist/components/ResourceSelectInput.js.map +0 -1
  303. package/dist/components/ResourceTable.d.ts +0 -4
  304. package/dist/components/ResourceTable.d.ts.map +0 -1
  305. package/dist/components/ResourceTable.js +0 -18
  306. package/dist/components/ResourceTable.js.map +0 -1
  307. package/dist/components/TabBar.d.ts +0 -4
  308. package/dist/components/TabBar.d.ts.map +0 -1
  309. package/dist/components/TabBar.js +0 -17
  310. package/dist/components/TabBar.js.map +0 -1
  311. package/dist/components/Tooltip.d.ts +0 -12
  312. package/dist/components/Tooltip.d.ts.map +0 -1
  313. package/dist/components/Tooltip.js +0 -12
  314. package/dist/components/Tooltip.js.map +0 -1
  315. package/dist/components/index.d.ts +0 -8
  316. package/dist/components/index.d.ts.map +0 -1
  317. package/dist/components/index.js.map +0 -1
  318. package/dist/config/platform-standards.d.ts +0 -159
  319. package/dist/config/platform-standards.d.ts.map +0 -1
  320. package/dist/config/platform-standards.js +0 -181
  321. package/dist/config/platform-standards.js.map +0 -1
  322. package/dist/generator/extension-fetch.d.ts +0 -25
  323. package/dist/generator/extension-fetch.d.ts.map +0 -1
  324. package/dist/generator/extension-fetch.js +0 -252
  325. package/dist/generator/extension-fetch.js.map +0 -1
  326. package/dist/generator/template-engine.d.ts +0 -61
  327. package/dist/generator/template-engine.d.ts.map +0 -1
  328. package/dist/generator/template-engine.js +0 -557
  329. package/dist/generator/template-engine.js.map +0 -1
  330. package/dist/index.d.ts +0 -11
  331. package/dist/index.d.ts.map +0 -1
  332. package/dist/index.js +0 -11
  333. package/dist/index.js.map +0 -1
  334. package/dist/types/index.d.ts +0 -255
  335. package/dist/types/index.d.ts.map +0 -1
  336. package/dist/types/index.js +0 -17
  337. package/dist/types/index.js.map +0 -1
  338. package/dist/utils/cache.d.ts +0 -19
  339. package/dist/utils/cache.d.ts.map +0 -1
  340. package/dist/utils/cache.js +0 -64
  341. package/dist/utils/cache.js.map +0 -1
  342. package/dist/utils/command-helpers.d.ts +0 -17
  343. package/dist/utils/command-helpers.d.ts.map +0 -1
  344. package/dist/utils/command-helpers.js +0 -41
  345. package/dist/utils/command-helpers.js.map +0 -1
  346. package/dist/utils/constants.d.ts +0 -52
  347. package/dist/utils/constants.d.ts.map +0 -1
  348. package/dist/utils/constants.js +0 -112
  349. package/dist/utils/constants.js.map +0 -1
  350. package/dist/utils/discovery-context.d.ts +0 -4
  351. package/dist/utils/discovery-context.d.ts.map +0 -1
  352. package/dist/utils/discovery-context.js +0 -39
  353. package/dist/utils/discovery-context.js.map +0 -1
  354. package/dist/utils/docker.d.ts +0 -4
  355. package/dist/utils/docker.d.ts.map +0 -1
  356. package/dist/utils/docker.js +0 -19
  357. package/dist/utils/docker.js.map +0 -1
  358. package/dist/utils/doctor-runtime.d.ts +0 -66
  359. package/dist/utils/doctor-runtime.d.ts.map +0 -1
  360. package/dist/utils/doctor-runtime.js +0 -469
  361. package/dist/utils/doctor-runtime.js.map +0 -1
  362. package/dist/utils/env-validator.d.ts +0 -15
  363. package/dist/utils/env-validator.d.ts.map +0 -1
  364. package/dist/utils/env-validator.js +0 -109
  365. package/dist/utils/env-validator.js.map +0 -1
  366. package/dist/utils/errors.d.ts +0 -31
  367. package/dist/utils/errors.d.ts.map +0 -1
  368. package/dist/utils/errors.js +0 -140
  369. package/dist/utils/errors.js.map +0 -1
  370. package/dist/utils/file-helpers.d.ts +0 -14
  371. package/dist/utils/file-helpers.d.ts.map +0 -1
  372. package/dist/utils/file-helpers.js +0 -45
  373. package/dist/utils/file-helpers.js.map +0 -1
  374. package/dist/utils/formatting.d.ts +0 -30
  375. package/dist/utils/formatting.d.ts.map +0 -1
  376. package/dist/utils/formatting.js +0 -164
  377. package/dist/utils/formatting.js.map +0 -1
  378. package/dist/utils/paths.d.ts +0 -3
  379. package/dist/utils/paths.d.ts.map +0 -1
  380. package/dist/utils/paths.js +0 -41
  381. package/dist/utils/paths.js.map +0 -1
  382. package/dist/utils/port-assignment.d.ts +0 -6
  383. package/dist/utils/port-assignment.d.ts.map +0 -1
  384. package/dist/utils/port-assignment.js +0 -81
  385. package/dist/utils/port-assignment.js.map +0 -1
  386. package/dist/utils/project-features.d.ts +0 -23
  387. package/dist/utils/project-features.d.ts.map +0 -1
  388. package/dist/utils/project-features.js +0 -98
  389. package/dist/utils/project-features.js.map +0 -1
  390. package/dist/utils/project-templates.d.ts +0 -7
  391. package/dist/utils/project-templates.d.ts.map +0 -1
  392. package/dist/utils/project-templates.js +0 -24
  393. package/dist/utils/project-templates.js.map +0 -1
  394. package/dist/utils/prompt.d.ts +0 -28
  395. package/dist/utils/prompt.d.ts.map +0 -1
  396. package/dist/utils/prompt.js +0 -79
  397. package/dist/utils/prompt.js.map +0 -1
  398. package/dist/utils/resource-features.d.ts +0 -29
  399. package/dist/utils/resource-features.d.ts.map +0 -1
  400. package/dist/utils/resource-features.js +0 -171
  401. package/dist/utils/resource-features.js.map +0 -1
  402. package/dist/utils/service-urls.d.ts +0 -30
  403. package/dist/utils/service-urls.d.ts.map +0 -1
  404. package/dist/utils/service-urls.js +0 -93
  405. package/dist/utils/service-urls.js.map +0 -1
  406. package/dist/utils/services.d.ts +0 -18
  407. package/dist/utils/services.d.ts.map +0 -1
  408. package/dist/utils/services.js +0 -291
  409. package/dist/utils/services.js.map +0 -1
  410. package/dist/utils/stack-features.d.ts +0 -22
  411. package/dist/utils/stack-features.d.ts.map +0 -1
  412. package/dist/utils/stack-features.js +0 -13
  413. package/dist/utils/stack-features.js.map +0 -1
  414. package/dist/utils/tar.d.ts +0 -7
  415. package/dist/utils/tar.d.ts.map +0 -1
  416. package/dist/utils/tar.js +0 -21
  417. package/dist/utils/tar.js.map +0 -1
  418. package/dist/utils/tilt.d.ts +0 -19
  419. package/dist/utils/tilt.d.ts.map +0 -1
  420. package/dist/utils/tilt.js +0 -78
  421. package/dist/utils/tilt.js.map +0 -1
  422. package/dist/utils/validation.d.ts +0 -16
  423. package/dist/utils/validation.d.ts.map +0 -1
  424. package/dist/utils/validation.js +0 -58
  425. package/dist/utils/validation.js.map +0 -1
  426. /package/{README.md → cli/README.md} +0 -0
  427. /package/{bin → cli/bin}/tdk.js +0 -0
  428. /package/{templates → cli/templates}/.tiltignore.hbs +0 -0
  429. /package/{templates → cli/templates}/TILT_RESOURCE_DEFAULTS.star.hbs +0 -0
  430. /package/{templates → cli/templates}/TILT_TECH_STACK.star.hbs +0 -0
  431. /package/{templates → cli/templates}/spec.master.hbs +0 -0
@@ -1,11 +0,0 @@
1
- import { Command } from "commander";
2
- export interface BinaryRelease {
3
- tag: string;
4
- assetName: string;
5
- downloadUrl: string;
6
- engineDownloadUrl: string;
7
- }
8
- export declare function isWritable(path: string): boolean;
9
- export declare function upgradeViaBinary(tdkPath: string, release: BinaryRelease): Promise<boolean>;
10
- export declare const upgradeCommand: Command;
11
- //# sourceMappingURL=upgrade.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2EpC,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AA0BD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOhD;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAkEhG;AA4ID,eAAO,MAAM,cAAc,SAmPvB,CAAC"}
@@ -1,496 +0,0 @@
1
- import { execSync } from "node:child_process";
2
- import { accessSync, constants, existsSync, realpathSync } from "node:fs";
3
- import { dirname, join, resolve } from "node:path";
4
- import { fileURLToPath } from "node:url";
5
- import chalk from "chalk";
6
- import { Command } from "commander";
7
- import ora from "ora";
8
- import { getErrorMessage, logVerbose, showErrorAndExit } from "../utils/errors.js";
9
- import { showCancelled } from "../utils/formatting.js";
10
- import { getPackageVersion } from "../utils/paths.js";
11
- import { promptConfirm } from "../utils/prompt.js";
12
- function isStandaloneBinary(tdkPath) {
13
- try {
14
- const fileInfo = execSync(`file -b ${JSON.stringify(tdkPath)}`, { encoding: "utf-8" });
15
- return /Mach-O|ELF/.test(fileInfo);
16
- }
17
- catch (err) {
18
- logVerbose("Binary detection (file command) error", err);
19
- return false;
20
- }
21
- }
22
- function detectInstallation() {
23
- try {
24
- const tdkPath = execSync("which tdk", { encoding: "utf-8" }).trim();
25
- // `readlink -f` is not available on macOS. Use Node's cross-platform
26
- // realpath implementation so standalone binaries are detected there too.
27
- const realPath = realpathSync(tdkPath);
28
- // If the real path contains tdk-cli and has .git, it's a linked git install
29
- if (realPath.includes("tdk-cli")) {
30
- const possibleGitRoot = resolve(realPath, "..", "..", "..");
31
- if (existsSync(join(possibleGitRoot, ".git"))) {
32
- return { method: "git", path: possibleGitRoot };
33
- }
34
- }
35
- if (tdkPath.includes("node_modules") || tdkPath.includes(".npm") || tdkPath.includes(".bun")) {
36
- if (tdkPath.includes(".bun")) {
37
- return { method: "bun", path: tdkPath };
38
- }
39
- return { method: "npm", path: tdkPath };
40
- }
41
- const cliRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..", "..", "..");
42
- if (existsSync(join(cliRoot, ".git"))) {
43
- return { method: "git", path: cliRoot };
44
- }
45
- // Standalone prebuilt binary from tdk-cli-releases (installed to e.g. /usr/local/bin),
46
- // not a node_modules/.bun link and not sitting inside a git checkout.
47
- if (isStandaloneBinary(realPath)) {
48
- return { method: "binary", path: realPath };
49
- }
50
- return { method: "unknown", path: tdkPath };
51
- }
52
- catch (err) {
53
- console.warn(chalk.yellow("⚠️ Could not detect installation method"));
54
- logVerbose("Installation detection error", err);
55
- return { method: "unknown" };
56
- }
57
- }
58
- const BINARY_RELEASE_REPO = "tdk-landscape/tdk-cli-releases";
59
- function binaryAssetName() {
60
- const osName = process.platform === "darwin" ? "darwin" : process.platform === "linux" ? "linux" : null;
61
- const archName = process.arch === "arm64" ? "arm64" : process.arch === "x64" ? "amd64" : null;
62
- if (!osName || !archName)
63
- return null;
64
- return `tdk-${osName}-${archName}`;
65
- }
66
- const ENGINE_ASSET_NAME = "tdk-cli-engine.tar.gz";
67
- async function getLatestBinaryRelease() {
68
- const assetName = binaryAssetName();
69
- if (!assetName)
70
- return null;
71
- try {
72
- const raw = execSync(`curl -fsSL https://api.github.com/repos/${BINARY_RELEASE_REPO}/releases/latest`, { encoding: "utf-8", timeout: 10000 });
73
- const data = JSON.parse(raw);
74
- if (!data.tag_name)
75
- return null;
76
- return {
77
- tag: data.tag_name,
78
- assetName,
79
- downloadUrl: `https://github.com/${BINARY_RELEASE_REPO}/releases/download/${data.tag_name}/${assetName}`,
80
- engineDownloadUrl: `https://github.com/${BINARY_RELEASE_REPO}/releases/download/${data.tag_name}/${ENGINE_ASSET_NAME}`,
81
- };
82
- }
83
- catch (err) {
84
- logVerbose("Binary release lookup error", err);
85
- return null;
86
- }
87
- }
88
- export function isWritable(path) {
89
- try {
90
- accessSync(path, constants.W_OK);
91
- return true;
92
- }
93
- catch {
94
- return false;
95
- }
96
- }
97
- export async function upgradeViaBinary(tdkPath, release) {
98
- // Never shells out to sudo - if the install dir isn't user-writable, fail
99
- // fast with the manual curl command instead of downloading first and
100
- // elevating automatically. The user runs that curl themselves.
101
- const installDir = dirname(tdkPath);
102
- if (!isWritable(installDir)) {
103
- console.log(chalk.yellow(`\n🔒 ${installDir} isn't writable by your user.`));
104
- console.log(chalk.yellow("💡 Upgrade manually instead:"));
105
- console.log(chalk.cyan(` curl -fsSL -o ${tdkPath} ${release.downloadUrl}`));
106
- console.log(chalk.cyan(` chmod +x ${tdkPath}`));
107
- return false;
108
- }
109
- const spinner = ora(`Downloading ${release.assetName} (${release.tag})...`).start();
110
- // Download to /tmp first (both the binary and the engine bundle below) so a
111
- // failed network step can't leave a half-written binary at tdkPath.
112
- const tmpPath = `/tmp/tdk-upgrade-${release.assetName}`;
113
- const engineTmpPath = `/tmp/tdk-upgrade-engine-${release.tag}.tar.gz`;
114
- const engineDir = join(installDir, "tdk-cli");
115
- try {
116
- execSync(`curl -fsSL -o ${JSON.stringify(tmpPath)} ${JSON.stringify(release.downloadUrl)}`, {
117
- stdio: "pipe",
118
- timeout: 120000,
119
- });
120
- execSync(`chmod +x ${JSON.stringify(tmpPath)}`);
121
- // The compiled binary has no source checkout to find engine/ or
122
- // cli/templates/ in, so it looks for a tdk-cli/ folder next to itself
123
- // (see template-engine.ts loadTemplate() / vendorTdkExtension()).
124
- // `tdk upgrade` only used to swap the binary, leaving that folder
125
- // stale/missing after an upgrade - refresh it here too, every time,
126
- // the same way install.sh does on a fresh install.
127
- spinner.text = `Downloading bundled engine (${release.tag})...`;
128
- execSync(`curl -fsSL -o ${JSON.stringify(engineTmpPath)} ${JSON.stringify(release.engineDownloadUrl)}`, { stdio: "pipe", timeout: 120000 });
129
- execSync(`mv ${JSON.stringify(tmpPath)} ${JSON.stringify(tdkPath)}`);
130
- execSync(`rm -rf ${JSON.stringify(engineDir)}`);
131
- execSync(`mkdir -p ${JSON.stringify(engineDir)}`);
132
- execSync(`tar -xzf ${JSON.stringify(engineTmpPath)} -C ${JSON.stringify(engineDir)} --strip-components=1`);
133
- spinner.succeed(`Upgraded to ${release.tag}`);
134
- return true;
135
- }
136
- catch (err) {
137
- spinner.fail(`Binary upgrade failed: ${getErrorMessage(err)}`);
138
- logVerbose("Binary upgrade error", err);
139
- console.log(chalk.yellow("\n💡 If this failed due to permissions, upgrade manually instead:"));
140
- console.log(chalk.cyan(` curl -fsSL -o ${tdkPath} ${release.downloadUrl}`));
141
- console.log(chalk.cyan(` chmod +x ${tdkPath}`));
142
- console.log(chalk.cyan(` rm -rf ${engineDir} && mkdir -p ${engineDir}`));
143
- console.log(chalk.cyan(` curl -fsSL ${release.engineDownloadUrl} | tar -xzf - -C ${engineDir} --strip-components=1`));
144
- return false;
145
- }
146
- finally {
147
- try {
148
- execSync(`rm -f ${JSON.stringify(tmpPath)} ${JSON.stringify(engineTmpPath)}`);
149
- }
150
- catch {
151
- // best-effort cleanup
152
- }
153
- }
154
- }
155
- function getCurrentVersion() {
156
- try {
157
- return getPackageVersion();
158
- }
159
- catch (err) {
160
- logVerbose("Version detection error", err);
161
- return "unknown";
162
- }
163
- }
164
- async function getLatestVersion() {
165
- const spinner = ora("Checking for latest version...").start();
166
- try {
167
- const result = execSync("npm view @tdk-landscape/tdk-cli-core version", {
168
- encoding: "utf-8",
169
- timeout: 10000,
170
- }).trim();
171
- spinner.succeed(`Latest version: ${chalk.green(result)}`);
172
- return result;
173
- }
174
- catch (_err) {
175
- // npm registry failed - package not published yet
176
- spinner.warn("Package not yet published to npm registry");
177
- console.log(chalk.yellow("\n💡 For now, please upgrade manually from GitHub:"));
178
- console.log(chalk.cyan(" npm install -g github:tdk-landscape/tdk-cli-core"));
179
- console.log(chalk.cyan(" bun install -g github:tdk-landscape/tdk-cli-core"));
180
- console.log(chalk.gray("\n (npm package will be available soon)"));
181
- return null;
182
- }
183
- }
184
- async function upgradeViaNpm() {
185
- const spinner = ora("Upgrading via npm...").start();
186
- try {
187
- execSync("npm install -g @tdk-landscape/tdk-cli-core@latest", {
188
- stdio: "inherit",
189
- timeout: 120000,
190
- });
191
- spinner.succeed("Upgraded successfully via npm");
192
- return true;
193
- }
194
- catch (err) {
195
- // npm registry failed (package may not exist or network issue) - try GitHub fallback
196
- spinner.text = "npm registry failed, trying GitHub...";
197
- logVerbose("npm registry error", err);
198
- try {
199
- execSync("npm install -g github:tdk-landscape/tdk-cli-core", {
200
- stdio: "inherit",
201
- timeout: 120000,
202
- });
203
- spinner.succeed("Upgraded successfully via GitHub");
204
- return true;
205
- }
206
- catch (err) {
207
- spinner.fail(`Upgrade failed: ${getErrorMessage(err)}`);
208
- return false;
209
- }
210
- }
211
- }
212
- async function upgradeViaBun() {
213
- const spinner = ora("Upgrading via bun...").start();
214
- try {
215
- execSync("bun install -g @tdk-landscape/tdk-cli-core@latest", {
216
- stdio: "inherit",
217
- timeout: 120000,
218
- });
219
- spinner.succeed("Upgraded successfully via bun");
220
- return true;
221
- }
222
- catch (err) {
223
- // bun registry failed (package may not exist or network issue) - try GitHub fallback
224
- spinner.text = "bun registry failed, trying GitHub...";
225
- logVerbose("bun registry error", err);
226
- try {
227
- execSync("bun install -g github:tdk-landscape/tdk-cli-core", {
228
- stdio: "inherit",
229
- timeout: 120000,
230
- });
231
- spinner.succeed("Upgraded successfully via GitHub");
232
- return true;
233
- }
234
- catch (err) {
235
- spinner.fail(`Upgrade failed: ${getErrorMessage(err)}`);
236
- return false;
237
- }
238
- }
239
- }
240
- async function upgradeViaGit(path) {
241
- const spinner = ora("Pulling latest changes from git...").start();
242
- try {
243
- execSync("git rev-parse --git-dir", {
244
- cwd: path,
245
- stdio: "pipe",
246
- });
247
- spinner.text = "Fetching from origin...";
248
- execSync("git fetch origin", {
249
- cwd: path,
250
- stdio: "pipe",
251
- timeout: 30000,
252
- });
253
- const branch = execSync("git rev-parse --abbrev-ref HEAD", {
254
- cwd: path,
255
- encoding: "utf-8",
256
- }).trim();
257
- spinner.text = `Pulling latest on ${branch}...`;
258
- execSync(`git pull origin ${branch}`, {
259
- cwd: path,
260
- stdio: "pipe",
261
- timeout: 30000,
262
- });
263
- if (existsSync(join(path, "cli", "package.json"))) {
264
- spinner.text = "Rebuilding CLI...";
265
- execSync("bun install && bun run build", {
266
- cwd: join(path, "cli"),
267
- stdio: "pipe",
268
- timeout: 60000,
269
- });
270
- }
271
- spinner.text = "Re-linking CLI...";
272
- execSync("bun link --force", {
273
- cwd: join(path, "cli"),
274
- stdio: "pipe",
275
- timeout: 30000,
276
- });
277
- spinner.succeed("Upgraded successfully via git pull");
278
- return true;
279
- }
280
- catch (err) {
281
- spinner.fail(`Git upgrade failed: ${getErrorMessage(err)}`);
282
- return false;
283
- }
284
- }
285
- export const upgradeCommand = new Command("upgrade")
286
- .alias("update")
287
- .description("Upgrade TDK CLI to the latest version")
288
- .option("-f, --force", "Force upgrade even if already on latest", false)
289
- .option("--dry-run", "Show what would be upgraded without actually doing it", false)
290
- .option("-y, --yes", "Skip confirmation prompt", false)
291
- .action(async (options) => {
292
- console.log(chalk.cyan("🚀 TDK CLI Upgrade\n"));
293
- const currentVersion = getCurrentVersion();
294
- console.log(chalk.gray(`Current version: ${currentVersion}`));
295
- const installInfo = detectInstallation();
296
- console.log(chalk.gray(`Installation method: ${installInfo.method}`));
297
- console.log();
298
- if (installInfo.method === "unknown") {
299
- console.error(chalk.red("❌ Could not detect installation method"));
300
- console.log(chalk.yellow("\n💡 Manual upgrade (package not on npm yet, use GitHub):"));
301
- console.log(chalk.cyan(" npm: npm install -g github:tdk-landscape/tdk-cli-core"));
302
- console.log(chalk.cyan(" bun: bun install -g github:tdk-landscape/tdk-cli-core"));
303
- console.log(chalk.cyan(" git: cd /path/to/tdk-cli && git pull && bun link --force"));
304
- process.exit(1);
305
- }
306
- let latestVersion = null;
307
- let binaryRelease = null;
308
- if (installInfo.method === "binary" && installInfo.path) {
309
- console.log(chalk.blue("📦 Standalone binary installation detected"));
310
- binaryRelease = await getLatestBinaryRelease();
311
- if (!binaryRelease) {
312
- showErrorAndExit(`Could not determine latest release for this platform (${process.platform}/${process.arch})`);
313
- }
314
- latestVersion = binaryRelease.tag.replace(/^v/, "").split("-")[0];
315
- if (latestVersion === currentVersion && !options.force) {
316
- console.log(chalk.green("\n✅ You are already on the latest version!"));
317
- console.log(chalk.gray(` ${currentVersion} (current) = ${latestVersion} (latest)`));
318
- process.exit(0);
319
- }
320
- if (latestVersion !== currentVersion) {
321
- console.log(chalk.yellow(`\n⬆️ Upgrade available: ${currentVersion} → ${latestVersion}`));
322
- }
323
- else if (options.force) {
324
- console.log(chalk.yellow(`\n🔄 Force upgrade requested (currently ${currentVersion})`));
325
- }
326
- }
327
- else if (installInfo.method === "git" && installInfo.path) {
328
- console.log(chalk.blue("📦 Git installation detected - will pull latest from origin"));
329
- try {
330
- execSync("git fetch origin", { cwd: installInfo.path, stdio: "pipe" });
331
- const localHash = execSync("git rev-parse HEAD", {
332
- cwd: installInfo.path,
333
- encoding: "utf-8",
334
- }).trim();
335
- const remoteHash = execSync("git rev-parse origin/main", {
336
- cwd: installInfo.path,
337
- encoding: "utf-8",
338
- }).trim();
339
- if (localHash === remoteHash && !options.force) {
340
- console.log(chalk.green("\n✅ Already up to date with origin/main!"));
341
- console.log(chalk.gray(` Current: ${localHash.substring(0, 7)}`));
342
- console.log(chalk.gray("\n Tip: Use --force to pull and rebuild anyway"));
343
- process.exit(0);
344
- }
345
- if (localHash !== remoteHash) {
346
- console.log(chalk.yellow(`\n⬆️ Updates available:`));
347
- console.log(chalk.gray(` Local: ${localHash.substring(0, 7)}`));
348
- console.log(chalk.gray(` Remote: ${remoteHash.substring(0, 7)}`));
349
- }
350
- else {
351
- console.log(chalk.yellow(`\n🔄 Force upgrade requested`));
352
- }
353
- latestVersion = remoteHash.substring(0, 7);
354
- }
355
- catch (err) {
356
- console.warn(chalk.yellow("⚠️ Could not check git remote, will attempt upgrade anyway"));
357
- logVerbose("Git remote check failed", err);
358
- latestVersion = "latest";
359
- }
360
- }
361
- else {
362
- latestVersion = await getLatestVersion();
363
- if (!latestVersion) {
364
- showErrorAndExit("Could not determine latest version");
365
- }
366
- if (currentVersion === latestVersion && !options.force) {
367
- console.log(chalk.green("\n✅ You are already on the latest version!"));
368
- console.log(chalk.gray(` ${currentVersion} (current) = ${latestVersion} (latest)`));
369
- process.exit(0);
370
- }
371
- if (currentVersion !== latestVersion) {
372
- console.log(chalk.yellow(`\n⬆️ Upgrade available: ${currentVersion} → ${latestVersion}`));
373
- }
374
- else if (options.force) {
375
- console.log(chalk.yellow(`\n🔄 Force upgrade requested (currently ${currentVersion})`));
376
- }
377
- }
378
- if (options.dryRun) {
379
- console.log(chalk.blue("\n📋 Dry run mode - would perform:"));
380
- console.log(chalk.gray(` Method: ${installInfo.method}`));
381
- if (installInfo.path) {
382
- console.log(chalk.gray(` Path: ${installInfo.path}`));
383
- }
384
- if (installInfo.method === "git") {
385
- console.log(chalk.gray(" Action: git pull origin main && bun install && bun link --force"));
386
- }
387
- else if (installInfo.method === "binary" && binaryRelease) {
388
- console.log(chalk.gray(` Action: Download and replace with ${binaryRelease.downloadUrl}`));
389
- console.log(chalk.gray(` Action: Refresh bundled engine from ${binaryRelease.engineDownloadUrl}`));
390
- }
391
- else {
392
- console.log(chalk.gray(` Action: Upgrade to ${latestVersion}`));
393
- }
394
- console.log(chalk.yellow("\n (Not actually upgrading due to --dry-run)"));
395
- process.exit(0);
396
- }
397
- if (!options.yes) {
398
- console.log();
399
- const confirm = await promptConfirm({
400
- message: "Proceed with upgrade?",
401
- initial: true,
402
- });
403
- if (!confirm) {
404
- showCancelled();
405
- process.exit(0);
406
- }
407
- }
408
- else {
409
- console.log(chalk.gray("⚡ Auto-confirming (--yes flag)\n"));
410
- }
411
- console.log();
412
- let success = false;
413
- switch (installInfo.method) {
414
- case "npm":
415
- success = await upgradeViaNpm();
416
- break;
417
- case "bun":
418
- success = await upgradeViaBun();
419
- break;
420
- case "git":
421
- if (installInfo.path) {
422
- success = await upgradeViaGit(installInfo.path);
423
- }
424
- break;
425
- case "binary":
426
- if (installInfo.path && binaryRelease) {
427
- success = await upgradeViaBinary(installInfo.path, binaryRelease);
428
- }
429
- break;
430
- }
431
- if (!success) {
432
- console.error(chalk.red("\n❌ Upgrade failed"));
433
- console.log(chalk.yellow("\n💡 Try manual upgrade (use GitHub until npm package is published):"));
434
- if (installInfo.method === "npm") {
435
- console.log(chalk.cyan(" npm install -g github:tdk-landscape/tdk-cli-core"));
436
- }
437
- else if (installInfo.method === "bun") {
438
- console.log(chalk.cyan(" bun install -g github:tdk-landscape/tdk-cli-core"));
439
- }
440
- else if (installInfo.method === "git") {
441
- console.log(chalk.cyan(` cd ${installInfo.path} && git pull && bun link --force`));
442
- }
443
- else if (installInfo.method === "binary" && binaryRelease && installInfo.path) {
444
- const engineDir = join(dirname(installInfo.path), "tdk-cli");
445
- console.log(chalk.cyan(` curl -fsSL -o ${installInfo.path} ${binaryRelease.downloadUrl}`));
446
- console.log(chalk.cyan(` chmod +x ${installInfo.path}`));
447
- console.log(chalk.cyan(` rm -rf ${engineDir} && mkdir -p ${engineDir}`));
448
- console.log(chalk.cyan(` curl -fsSL ${binaryRelease.engineDownloadUrl} | tar -xzf - -C ${engineDir} --strip-components=1`));
449
- }
450
- process.exit(1);
451
- }
452
- console.log();
453
- const verifySpinner = ora("Verifying upgrade...").start();
454
- try {
455
- const newVersion = execSync("tdk version", { encoding: "utf-8" }).trim();
456
- verifySpinner.succeed(`Verified: now running ${chalk.green(newVersion)}`);
457
- console.log();
458
- console.log(chalk.green.bold("✨ Upgrade complete!"));
459
- console.log(chalk.gray(` Version: ${currentVersion} → ${newVersion}`));
460
- console.log();
461
- console.log(chalk.cyan.bold("📍 Installation Details:"));
462
- if (installInfo.method === "git" && installInfo.path) {
463
- console.log(chalk.gray(` Location: ${installInfo.path}`));
464
- console.log(chalk.gray(` Method: git clone + bun link`));
465
- }
466
- else {
467
- console.log(chalk.gray(` Method: ${installInfo.method}`));
468
- }
469
- console.log(chalk.gray(` Binary: ${execSync("which tdk", { encoding: "utf-8" }).trim()}`));
470
- console.log();
471
- console.log(chalk.cyan.bold("🚀 Quick Start:"));
472
- console.log(chalk.white(` tdk --help Show all commands`));
473
- console.log(chalk.white(` tdk networks View service URLs`));
474
- console.log(chalk.white(` tdk doctor Check environment`));
475
- if (newVersion === currentVersion && !options.force) {
476
- console.log();
477
- console.log(chalk.yellow("💡 Tip: Version appears unchanged. You may need to restart your terminal."));
478
- }
479
- console.log();
480
- console.log(chalk.green("Happy coding! 🎉"));
481
- }
482
- catch (err) {
483
- verifySpinner.warn("Could not verify new version");
484
- console.error(chalk.red(`Verification error: ${getErrorMessage(err)}`));
485
- console.log();
486
- console.log(chalk.yellow("⚠️ Upgrade status unknown - verification failed"));
487
- console.log();
488
- console.log(chalk.yellow("💡 Verify manually:"));
489
- console.log(chalk.white(" 1. Restart your terminal"));
490
- console.log(chalk.white(" 2. Run: tdk version"));
491
- if (installInfo.path) {
492
- console.log(chalk.white(` 3. Compare with: git -C ${installInfo.path} rev-parse HEAD`));
493
- }
494
- }
495
- });
496
- //# sourceMappingURL=upgrade.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from "commander";
2
- export declare const versionCommand: Command;
3
- //# sourceMappingURL=version.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,eAAO,MAAM,cAAc,SAKvB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,wBAAwB,CAAC;KACrC,KAAK,CAAC,GAAG,CAAC;KACV,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- import type React from "react";
2
- import type { BaseTooltipProps } from "../types/index.js";
3
- /**
4
- * Info tooltip variant with predefined accessibility styling.
5
- * Uses ℹ prefix and adds margin for better visibility.
6
- */
7
- export declare const AccessibleTooltip: React.FC<Pick<BaseTooltipProps, "content" | "shortcut" | "visible">>;
8
- //# sourceMappingURL=Accessible.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Accessible.d.ts","sourceRoot":"","sources":["../../src/components/Accessible.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CACtC,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CAW3D,CAAC"}
@@ -1,10 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { BaseTooltip } from "./BaseTooltip.js";
3
- /**
4
- * Info tooltip variant with predefined accessibility styling.
5
- * Uses ℹ prefix and adds margin for better visibility.
6
- */
7
- export const AccessibleTooltip = ({ content, shortcut, visible }) => {
8
- return (_jsx(BaseTooltip, { content: content, shortcut: shortcut, visible: visible, prefix: "\u2139 ", marginTop: 1 }));
9
- };
10
- //# sourceMappingURL=Accessible.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Accessible.js","sourceRoot":"","sources":["../../src/components/Accessible.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAE1B,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IACrC,OAAO,CACL,KAAC,WAAW,IACV,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAC,SAAI,EACX,SAAS,EAAE,CAAC,GACZ,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import type React from "react";
2
- import type { BaseTooltipProps } from "../types/index.js";
3
- export declare const BaseTooltip: React.FC<BaseTooltipProps>;
4
- //# sourceMappingURL=BaseTooltip.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseTooltip.d.ts","sourceRoot":"","sources":["../../src/components/BaseTooltip.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA0ClD,CAAC"}
@@ -1,28 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Text } from "ink";
3
- export const BaseTooltip = ({ content, shortcut, visible, maxWidth = 40, wrapText = false, prefix = "", marginTop = 0, }) => {
4
- if (!visible)
5
- return null;
6
- // Wrap text to maxWidth if requested
7
- const lines = wrapText ? wrapContent(content, maxWidth) : [content];
8
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "yellow", paddingX: 1, paddingY: 1, backgroundColor: "black", marginTop: marginTop, children: [lines.map((line, i) => (_jsxs(Text, { color: "yellow", children: [prefix, line] }, i))), shortcut && (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "gray", children: "Press " }), _jsx(Text, { color: "cyan", bold: true, children: shortcut.startsWith("[") ? shortcut : `[${shortcut}]` }), _jsx(Text, { color: "gray", children: " to use" })] }))] }));
9
- };
10
- function wrapContent(content, maxWidth) {
11
- const words = content.split(" ");
12
- const lines = [];
13
- let currentLine = "";
14
- for (const word of words) {
15
- if ((currentLine + word).length > maxWidth - 2) {
16
- lines.push(currentLine.trim());
17
- currentLine = `${word} `;
18
- }
19
- else {
20
- currentLine += `${word} `;
21
- }
22
- }
23
- if (currentLine) {
24
- lines.push(currentLine.trim());
25
- }
26
- return lines;
27
- }
28
- //# sourceMappingURL=BaseTooltip.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseTooltip.js","sourceRoot":"","sources":["../../src/components/BaseTooltip.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAIhC,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EACtD,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,EAAE,EACb,QAAQ,GAAG,KAAK,EAChB,MAAM,GAAG,EAAE,EACX,SAAS,GAAG,CAAC,GACd,EAAE,EAAE;IACH,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,qCAAqC;IACrC,MAAM,KAAK,GAAa,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE9E,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,eAAe,EAAC,OAAO,EACvB,SAAS,EAAE,SAAS,aAEnB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAEtB,MAAC,IAAI,IAAS,KAAK,EAAC,QAAQ,aACzB,MAAM,EACN,IAAI,KAFI,CAAC,CAGL,CACR,CAAC,EACD,QAAQ,IAAI,CACX,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBAAc,EAChC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,kBACpB,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,GACjD,EACP,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,wBAAe,IAC7B,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,WAAW,CAAC,OAAe,EAAE,QAAgB;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAAW,GAAG,EAAE,CAAC;IAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/B,WAAW,GAAG,GAAG,IAAI,GAAG,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,WAAW,IAAI,GAAG,IAAI,GAAG,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,4 +0,0 @@
1
- import type React from "react";
2
- import type { DetailPanelProps } from "../types/index.js";
3
- export declare const DetailPanel: React.FC<DetailPanelProps>;
4
- //# sourceMappingURL=DetailPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DetailPanel.d.ts","sourceRoot":"","sources":["../../src/components/DetailPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA4IlD,CAAC"}