@tdk-landscape/tdk-cli-core 1.3.134 → 1.3.135

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 (297) hide show
  1. package/cli/bin/tdk.js +2 -0
  2. package/cli/dist/backend-frameworks/registry.js +2 -0
  3. package/cli/dist/backend-languages/registry.js +2 -0
  4. package/cli/dist/cli.js +2 -0
  5. package/cli/dist/commands/__tests__/project-e2e-helpers.js +2 -0
  6. package/cli/dist/commands/completion.js +2 -0
  7. package/cli/dist/commands/config.js +2 -0
  8. package/cli/dist/commands/doctor.js +2 -0
  9. package/cli/dist/commands/down.js +2 -0
  10. package/cli/dist/commands/eject.js +2 -0
  11. package/cli/dist/commands/help.js +2 -0
  12. package/cli/dist/commands/import.js +2 -0
  13. package/cli/dist/commands/logs.js +2 -0
  14. package/cli/dist/commands/maintainers.js +2 -0
  15. package/cli/dist/commands/mcp.js +2 -0
  16. package/cli/dist/commands/networks.js +2 -0
  17. package/cli/dist/commands/project.js +2 -0
  18. package/cli/dist/commands/projects.js +2 -0
  19. package/cli/dist/commands/resource.js +2 -0
  20. package/cli/dist/commands/resources.js +2 -0
  21. package/cli/dist/commands/runtime.js +2 -0
  22. package/cli/dist/commands/stack.js +2 -0
  23. package/cli/dist/commands/stacks.js +2 -0
  24. package/cli/dist/commands/status.js +2 -0
  25. package/cli/dist/commands/ui.js +2 -0
  26. package/cli/dist/commands/up.js +2 -0
  27. package/cli/dist/commands/upgrade.js +2 -0
  28. package/cli/dist/commands/version.js +2 -0
  29. package/cli/dist/components/BaseTooltip.js +2 -0
  30. package/cli/dist/components/DetailPanel.js +2 -0
  31. package/cli/dist/components/FileTree.js +2 -0
  32. package/cli/dist/components/ResourceSelectInput.js +2 -0
  33. package/cli/dist/components/ResourceTable.js +2 -0
  34. package/cli/dist/components/ServiceIssues.js +2 -0
  35. package/cli/dist/components/TUIHeader.js +2 -0
  36. package/cli/dist/components/TabBar.js +2 -0
  37. package/cli/dist/components/Tooltip.js +2 -0
  38. package/cli/dist/components/index.js +2 -0
  39. package/cli/dist/components/ui-theme.js +2 -0
  40. package/cli/dist/config/platform-standards.js +2 -0
  41. package/cli/dist/frontend-frameworks/registry.js +2 -0
  42. package/cli/dist/generator/__tests__/golden-helpers.js +2 -0
  43. package/cli/dist/generator/extension-fetch.js +2 -0
  44. package/cli/dist/generator/resource-templates.js +2 -0
  45. package/cli/dist/generator/template-engine.js +2 -0
  46. package/cli/dist/mcp/server.js +2 -0
  47. package/cli/dist/mcp/tools.js +2 -0
  48. package/cli/dist/utils/agent-host.js +2 -0
  49. package/cli/dist/utils/atomic-write.js +2 -0
  50. package/cli/dist/utils/bun-floor.js +2 -0
  51. package/cli/dist/utils/cold-preflight.js +2 -0
  52. package/cli/dist/utils/discovery-paths.js +2 -0
  53. package/cli/dist/utils/docker.js +2 -0
  54. package/cli/dist/utils/doctor-runtime.js +2 -0
  55. package/cli/dist/utils/doctor-starlark.js +2 -0
  56. package/cli/dist/utils/doctor-wiring.js +2 -0
  57. package/cli/dist/utils/down-cleanup.js +2 -0
  58. package/cli/dist/utils/env-validator.js +2 -0
  59. package/cli/dist/utils/errors.js +2 -0
  60. package/cli/dist/utils/exec-async.js +2 -0
  61. package/cli/dist/utils/file-helpers.js +2 -0
  62. package/cli/dist/utils/formatting.js +2 -0
  63. package/cli/dist/utils/generated-paths.js +2 -0
  64. package/cli/dist/utils/host-port-config.js +2 -0
  65. package/cli/dist/utils/host-port-plan.js +2 -0
  66. package/cli/dist/utils/json-output.js +2 -0
  67. package/cli/dist/utils/machine-output.js +2 -0
  68. package/cli/dist/utils/paths.js +2 -0
  69. package/cli/dist/utils/platform.js +2 -0
  70. package/cli/dist/utils/port-assignment.js +2 -0
  71. package/cli/dist/utils/port-conflict-fix.js +2 -0
  72. package/cli/dist/utils/port-listener-probe.js +2 -0
  73. package/cli/dist/utils/project-config-defaults.js +2 -0
  74. package/cli/dist/utils/project-features.js +2 -0
  75. package/cli/dist/utils/prompt.js +2 -0
  76. package/cli/dist/utils/resource-features.js +2 -0
  77. package/cli/dist/utils/resource-kind.js +2 -0
  78. package/cli/dist/utils/schema-version-gate.js +2 -0
  79. package/cli/dist/utils/secret-redaction.js +2 -0
  80. package/cli/dist/utils/service-config-checks.js +2 -0
  81. package/cli/dist/utils/service-manifest.js +2 -0
  82. package/cli/dist/utils/service-urls.js +2 -0
  83. package/cli/dist/utils/services.js +2 -0
  84. package/cli/dist/utils/shared-platform-postgres.js +2 -0
  85. package/cli/dist/utils/single-flight.js +2 -0
  86. package/cli/dist/utils/smoke.js +2 -0
  87. package/cli/dist/utils/spinner.js +2 -0
  88. package/cli/dist/utils/startup-report.js +2 -0
  89. package/cli/dist/utils/suggestions.js +2 -0
  90. package/cli/dist/utils/tar.js +2 -0
  91. package/cli/dist/utils/tdk-version.js +2 -0
  92. package/cli/dist/utils/tilt-process.js +2 -0
  93. package/cli/dist/utils/tilt-resource-state.js +2 -0
  94. package/cli/dist/utils/tilt-startup.js +2 -0
  95. package/cli/dist/utils/tilt-unreachable-message.js +2 -0
  96. package/cli/dist/utils/tilt.js +2 -0
  97. package/cli/dist/utils/up-readiness.js +2 -0
  98. package/cli/dist/utils/which.js +2 -0
  99. package/cli/dist/utils/windows-doctor.js +2 -0
  100. package/cli/dist-bundle/{chunk-DLEX3BP5.js → chunk-M4T3FXXB.js} +1 -1
  101. package/cli/dist-bundle/cli.js +3 -3
  102. package/cli/dist-bundle/{cold-preflight-6X67ZFII.js → cold-preflight-DQVK4J7J.js} +1 -1
  103. package/cli/package.json +2 -1
  104. package/cli/shared-platform-engineering/docker-templates/bun-hoisted-symlink-fix.sh +2 -0
  105. package/cli/shared-platform-engineering/docker-templates/infisical-entrypoint.sh +2 -0
  106. package/cli/shared-platform-engineering/docker-templates/install-deps.sh +2 -0
  107. package/cli/shared-platform-engineering/docker-templates/prisma-bun-client-link-fix.sh +2 -0
  108. package/cli/shared-platform-engineering/docker-templates/prisma-normalize-client.sh +2 -0
  109. package/discovery/TILT_DISCOVERY.star +2 -0
  110. package/discovery/config.star +2 -0
  111. package/discovery/constants.star +2 -0
  112. package/discovery/deterministic.star +2 -0
  113. package/discovery/discovery_daemon.star +2 -0
  114. package/discovery/discovery_orchestrator.star +2 -0
  115. package/discovery/filtering.star +2 -0
  116. package/discovery/incremental_discovery.star +2 -0
  117. package/discovery/indexing.star +2 -0
  118. package/discovery/json_manifest_scanner.star +2 -0
  119. package/discovery/libraries.star +2 -0
  120. package/discovery/loading.star +2 -0
  121. package/discovery/manifest/constants.star +2 -0
  122. package/discovery/manifest/loading.star +2 -0
  123. package/discovery/manifest/normalize.star +2 -0
  124. package/discovery/manifest/validation.star +2 -0
  125. package/discovery/normalization.star +2 -0
  126. package/discovery/registry.star +2 -0
  127. package/discovery/resource_snapshot.py +2 -0
  128. package/discovery/resource_snapshot.star +2 -0
  129. package/discovery/schemas.star +2 -0
  130. package/discovery/test_resource_snapshot.py +2 -0
  131. package/discovery/validation.star +2 -0
  132. package/discovery/versioning.star +2 -0
  133. package/engine/assets/docker/wake-gateway/decide.test.ts +2 -0
  134. package/engine/assets/docker/wake-gateway/decide.ts +2 -0
  135. package/engine/assets/docker/wake-gateway/server.ts +2 -0
  136. package/engine/assets/scripts/cleanup-completed-migrator-images.sh +2 -0
  137. package/engine/assets/scripts/cleanup-tilt-images.sh +2 -0
  138. package/engine/assets/scripts/mac-m1-resource-monitor.sh +2 -0
  139. package/engine/config.star +2 -0
  140. package/engine/entrypoint.star +2 -0
  141. package/engine/lifecycle/orchestrator.star +2 -0
  142. package/engine/paths.star +2 -0
  143. package/engine/scripts/build-and-publish-lib.sh +2 -0
  144. package/engine/scripts/check-lib-publish.sh +2 -0
  145. package/engine/scripts/debug-container.sh +2 -0
  146. package/engine/scripts/generate-manifest.sh +2 -0
  147. package/engine/topologies/platform/docker/auth/auth.star +2 -0
  148. package/engine/topologies/platform/docker/compose/compose.star +2 -0
  149. package/engine/topologies/platform/docker/compose/compose_helpers.star +2 -0
  150. package/engine/topologies/platform/docker/compose/traefik_standalone.star +2 -0
  151. package/engine/topologies/platform/docker/config/bunignore.star +2 -0
  152. package/engine/topologies/platform/docker/config/dockerignore.star +2 -0
  153. package/engine/topologies/platform/docker/config/healthcheck.star +2 -0
  154. package/engine/topologies/platform/docker/constants.star +2 -0
  155. package/engine/topologies/platform/docker/dockerfile/dockerfile.star +2 -0
  156. package/engine/topologies/platform/docker/dockerfile/language_dockerfile.star +2 -0
  157. package/engine/topologies/platform/docker/index.star +2 -0
  158. package/engine/topologies/platform/docker/layers/bun_helpers.star +2 -0
  159. package/engine/topologies/platform/docker/layers/infisical/index.star +2 -0
  160. package/engine/topologies/platform/docker/layers/infisical/infisical_docker.star +2 -0
  161. package/engine/topologies/platform/docker/layers/l1_base_layers.star +2 -0
  162. package/engine/topologies/platform/docker/layers/l2_dependency_layers.star +2 -0
  163. package/engine/topologies/platform/docker/layers/l3_builder_layers.star +2 -0
  164. package/engine/topologies/platform/docker/layers/l4_runtime_layers.star +2 -0
  165. package/engine/topologies/platform/docker/layers/prisma/constants.star +2 -0
  166. package/engine/topologies/platform/docker/layers/prisma/db_readiness.star +2 -0
  167. package/engine/topologies/platform/docker/layers/prisma/filesystem_setup.star +2 -0
  168. package/engine/topologies/platform/docker/layers/prisma/migrate_script.star +2 -0
  169. package/engine/topologies/platform/docker/layers/prisma/prisma_build.star +2 -0
  170. package/engine/topologies/platform/docker/layers/prisma/prisma_runtime.star +2 -0
  171. package/engine/topologies/platform/docker/layers/prisma/secret_resolution.star +2 -0
  172. package/engine/topologies/platform/docker/networking/api_path_constants.star +2 -0
  173. package/engine/topologies/platform/docker/networking/sablier_container_cycle.star +2 -0
  174. package/engine/topologies/platform/docker/networking/traefik.star +2 -0
  175. package/engine/topologies/platform/docker/networking/traefik_constants.star +2 -0
  176. package/engine/topologies/platform/docker/networking/traefik_helpers.star +2 -0
  177. package/engine/topologies/platform/docker/networking/traefik_static_routes.star +2 -0
  178. package/engine/topologies/platform/docker/secrets/env_secrets.star +2 -0
  179. package/engine/topologies/platform/docker/secrets/infisical.star +2 -0
  180. package/engine/topologies/platform/net/proxy.star +2 -0
  181. package/engine/topologies/platform/registries/local.star +2 -0
  182. package/engine/topologies/platform/registries/verdaccio_loader.star +2 -0
  183. package/engine/topologies/platform/security/secrets.star +2 -0
  184. package/engine/topologies/platform/state/relational.star +2 -0
  185. package/engine/topologies/tilt/common/utils.star +2 -0
  186. package/engine/topologies/tilt/common/utils_debug.star +2 -0
  187. package/engine/topologies/tilt/common/utils_deterministic.star +2 -0
  188. package/engine/topologies/tilt/common/utils_docker_networks.star +2 -0
  189. package/engine/topologies/tilt/common/utils_env.star +2 -0
  190. package/engine/topologies/tilt/common/utils_output.star +2 -0
  191. package/engine/topologies/tilt/config/defaults.star +2 -0
  192. package/engine/topologies/tilt/config/feature_flags.star +2 -0
  193. package/engine/topologies/tilt/config/global.star +2 -0
  194. package/engine/topologies/tilt/config/profiles.star +2 -0
  195. package/engine/topologies/tilt/generators/agents_md.star +2 -0
  196. package/engine/topologies/tilt/generators/api_gateway.star +2 -0
  197. package/engine/topologies/tilt/generators/index.star +2 -0
  198. package/engine/topologies/tilt/generators/infisical/examples.star +2 -0
  199. package/engine/topologies/tilt/generators/infisical/index.star +2 -0
  200. package/engine/topologies/tilt/generators/infisical/machine_identity.star +2 -0
  201. package/engine/topologies/tilt/generators/infisical/organization.star +2 -0
  202. package/engine/topologies/tilt/generators/infisical/path_manager.star +2 -0
  203. package/engine/topologies/tilt/generators/infisical/secrets_generator.star +2 -0
  204. package/engine/topologies/tilt/generators/nginx_conf.star +2 -0
  205. package/engine/topologies/tilt/generators/npmrc.star +2 -0
  206. package/engine/topologies/tilt/generators/tsconfig.star +2 -0
  207. package/engine/topologies/tilt/generators/typescript/backend_library_tsconfig.star +2 -0
  208. package/engine/topologies/tilt/generators/typescript/backend_tsconfig.star +2 -0
  209. package/engine/topologies/tilt/generators/typescript/common.star +2 -0
  210. package/engine/topologies/tilt/generators/typescript/frontend_library_tsconfig.star +2 -0
  211. package/engine/topologies/tilt/generators/typescript/frontend_tsconfig.star +2 -0
  212. package/engine/topologies/tilt/generators/typescript/include.star +2 -0
  213. package/engine/topologies/tilt/generators/typescript/playwright_config.star +2 -0
  214. package/engine/topologies/tilt/generators/typescript/prisma_config.star +2 -0
  215. package/engine/topologies/tilt/generators/validators.star +2 -0
  216. package/engine/topologies/tilt/generators/vite/backend.star +2 -0
  217. package/engine/topologies/tilt/generators/vite/frameworks/lit.star +2 -0
  218. package/engine/topologies/tilt/generators/vite/frameworks/preact.star +2 -0
  219. package/engine/topologies/tilt/generators/vite/frameworks/qwik.star +2 -0
  220. package/engine/topologies/tilt/generators/vite/frameworks/react.star +2 -0
  221. package/engine/topologies/tilt/generators/vite/frameworks/solid.star +2 -0
  222. package/engine/topologies/tilt/generators/vite/frameworks/svelte.star +2 -0
  223. package/engine/topologies/tilt/generators/vite/frameworks/vanilla.star +2 -0
  224. package/engine/topologies/tilt/generators/vite/frameworks/vue.star +2 -0
  225. package/engine/topologies/tilt/generators/vite/frontend.star +2 -0
  226. package/engine/topologies/tilt/generators/vite/generators.star +2 -0
  227. package/engine/topologies/tilt/generators/vite/helpers.star +2 -0
  228. package/engine/topologies/tilt/generators/vite/library.star +2 -0
  229. package/engine/topologies/tilt/generators/vite/sdk.star +2 -0
  230. package/engine/topologies/tilt/generators/vite/templates.star +2 -0
  231. package/engine/topologies/tilt/generators/vite_config.star +2 -0
  232. package/engine/topologies/tilt/manifest/__init__.star +2 -0
  233. package/engine/topologies/tilt/manifest/constants.star +2 -0
  234. package/engine/topologies/tilt/manifest/errors.star +2 -0
  235. package/engine/topologies/tilt/manifest/integration.star +2 -0
  236. package/engine/topologies/tilt/manifest/json_to_yaml.py +2 -0
  237. package/engine/topologies/tilt/manifest/loader.star +2 -0
  238. package/engine/topologies/tilt/manifest/mapper.star +2 -0
  239. package/engine/topologies/tilt/manifest/parser.star +2 -0
  240. package/engine/topologies/tilt/manifest/schema.star +2 -0
  241. package/engine/topologies/tilt/manifest/tests/test_integration.star +2 -0
  242. package/engine/topologies/tilt/manifest/tests/test_loader_parser.star +2 -0
  243. package/engine/topologies/tilt/manifest/tests/test_manifest.star +2 -0
  244. package/engine/topologies/tilt/manifest/tests/test_validator.star +2 -0
  245. package/engine/topologies/tilt/manifest/validator.star +2 -0
  246. package/engine/topologies/tilt/manifest/yaml_to_json.py +2 -0
  247. package/engine/topologies/tilt/resources/conditions.star +2 -0
  248. package/engine/topologies/tilt/resources/databases.star +2 -0
  249. package/engine/topologies/tilt/resources/declaration.star +2 -0
  250. package/engine/topologies/tilt/resources/deps.star +2 -0
  251. package/engine/topologies/tilt/resources/infra-loader.star +2 -0
  252. package/engine/topologies/tilt/resources/libs.star +2 -0
  253. package/engine/topologies/tilt/resources/libs_discovery.star +2 -0
  254. package/engine/topologies/tilt/resources/libs_paths.star +2 -0
  255. package/engine/topologies/tilt/resources/libs_resource_definition.star +2 -0
  256. package/engine/topologies/tilt/resources/libs_setup.star +2 -0
  257. package/engine/topologies/tilt/resources/libs_tsconfig.star +2 -0
  258. package/engine/topologies/tilt/resources/orchestrator/apply.star +2 -0
  259. package/engine/topologies/tilt/resources/orchestrator/apply_compose_resource_registration.star +2 -0
  260. package/engine/topologies/tilt/resources/orchestrator/apply_manifest_orchestration.star +2 -0
  261. package/engine/topologies/tilt/resources/orchestrator/apply_migrator_orchestration.star +2 -0
  262. package/engine/topologies/tilt/resources/orchestrator/apply_resource_validation.star +2 -0
  263. package/engine/topologies/tilt/resources/orchestrator/apply_runtime_flags.star +2 -0
  264. package/engine/topologies/tilt/resources/orchestrator/builders/typescript.star +2 -0
  265. package/engine/topologies/tilt/resources/orchestrator/generators/dependencies/index.star +2 -0
  266. package/engine/topologies/tilt/resources/orchestrator/generators/dependencies/resolver.star +2 -0
  267. package/engine/topologies/tilt/resources/orchestrator/generators/env.star +2 -0
  268. package/engine/topologies/tilt/resources/orchestrator/generators/frontend.star +2 -0
  269. package/engine/topologies/tilt/resources/orchestrator/generators/manifest_resource.star +2 -0
  270. package/engine/topologies/tilt/resources/orchestrator/helpers.star +2 -0
  271. package/engine/topologies/tilt/resources/orchestrator.star +2 -0
  272. package/engine/topologies/tilt/resources/ordering.star +2 -0
  273. package/engine/topologies/tilt/resources/shared-platform-postgres.star +2 -0
  274. package/engine/topologies/tilt/resources/triggers.star +2 -0
  275. package/engine/topologies/tilt/resources/watchers.star +2 -0
  276. package/engine/where-things-live.star +2 -0
  277. package/ext/ide-components/code_viewer/server.py +2 -0
  278. package/ext/ide-components/config_inspector/server.py +2 -0
  279. package/ext/ide-components/file_browser/server.py +2 -0
  280. package/ext/ide-components/shared/config_service.py +2 -0
  281. package/ext/ide-components/shared/file_utils.py +2 -0
  282. package/ext/ide-components/shared/http_utils.py +2 -0
  283. package/ext/ide-components/shared/syntax_highlighter.py +2 -0
  284. package/ext/ide-components/shared/template_engine.py +2 -0
  285. package/ext/ide-components/shared/test_config_service.py +2 -0
  286. package/ext/ide-components/shared/tilt_integration.py +2 -0
  287. package/ext/ui-enhancements/cron-status-server.sh +2 -0
  288. package/ext/ui-enhancements/cron-status-tracker.sh +2 -0
  289. package/ext/ui-enhancements/tiltfile.py +2 -0
  290. package/package.json +1 -1
  291. package/shared-platform-engineering/docker-templates/bun-hoisted-symlink-fix.sh +2 -0
  292. package/shared-platform-engineering/docker-templates/infisical-entrypoint.sh +2 -0
  293. package/shared-platform-engineering/docker-templates/install-deps.sh +2 -0
  294. package/shared-platform-engineering/docker-templates/prisma-bun-client-link-fix.sh +2 -0
  295. package/shared-platform-engineering/docker-templates/prisma-normalize-client.sh +2 -0
  296. package/specs/specs/TILT_SERVICE_DEFAULTS.star +2 -0
  297. package/specs/specs/TILT_TECH_STACK.star +2 -0
package/cli/bin/tdk.js CHANGED
@@ -1,4 +1,6 @@
1
1
  #!/usr/bin/env node
2
+ // Copyright (c) 2026 TDK Landscape contributors
3
+ // SPDX-License-Identifier: MIT
2
4
 
3
5
  import { existsSync } from "node:fs";
4
6
  import { dirname, join } from "node:path";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { getBackendIndexTemplate } from "../backend-languages/bun.js";
2
4
  import { TdkError } from "../utils/errors.js";
3
5
  import { elysiaBackendProvider } from "./elysia.js";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { TdkError } from "../utils/errors.js";
2
4
  import { bunBackendProvider } from "./bun.js";
3
5
  import { goBackendProvider } from "./go.js";
package/cli/dist/cli.js CHANGED
@@ -1,4 +1,6 @@
1
1
  #!/usr/bin/env node
2
+ // Copyright (c) 2026 TDK Landscape contributors
3
+ // SPDX-License-Identifier: MIT
2
4
  import chalk from "chalk";
3
5
  import { Command } from "commander";
4
6
  import pkg from "../package.json" with { type: "json" };
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { execFileSync, spawnSync } from "node:child_process";
2
4
  import { dirname, join, resolve } from "node:path";
3
5
  import { fileURLToPath } from "node:url";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
4
  import { homedir } from "node:os";
3
5
  import { basename, join } from "node:path";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { spawnSync } from "node:child_process";
2
4
  import { existsSync, readFileSync, writeFileSync } from "node:fs";
3
5
  import { join } from "node:path";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { execFileSync, execSync } from "node:child_process";
2
4
  import { existsSync, readdirSync, readFileSync } from "node:fs";
3
5
  import { join, normalize, relative } from "node:path";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import chalk from "chalk";
2
4
  import { Command } from "commander";
3
5
  import { readProjectConfig } from "../generator/template-engine.js";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { existsSync, readdirSync, statSync, writeFileSync } from "node:fs";
2
4
  import { join } from "node:path";
3
5
  import chalk from "chalk";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import chalk from "chalk";
2
4
  import pkg from "../../package.json" with { type: "json" };
3
5
  const TDK_BANNER = `
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { spawn } from "node:child_process";
2
4
  import { Command } from "commander";
3
5
  /**
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { Command } from "commander";
2
4
  import { STANDARD_PORTS } from "../utils/constants.js";
3
5
  import { errorFactories, runCommand, showErrorAndExit, TdkError } from "../utils/errors.js";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { existsSync, readFileSync } from "node:fs";
2
4
  import { resolve } from "node:path";
3
5
  import { Command } from "commander";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { createInterface } from "node:readline";
2
4
  import { Command } from "commander";
3
5
  import { createMcpServer } from "../mcp/server.js";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { execFileSync, spawn } from "node:child_process";
2
4
  import chalk from "chalk";
3
5
  import { Command } from "commander";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { execFileSync } from "node:child_process";
2
4
  import { cpSync, existsSync, readdirSync, readFileSync, writeFileSync } from "node:fs";
3
5
  import { basename, dirname, join, resolve } from "node:path";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { existsSync } from "node:fs";
2
4
  import { join } from "node:path";
3
5
  import chalk from "chalk";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { existsSync, mkdirSync } from "node:fs";
2
4
  import { isAbsolute, relative, resolve } from "node:path";
3
5
  import chalk from "chalk";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import chalk from "chalk";
2
4
  import { Command } from "commander";
3
5
  import { VALID_RESOURCE_TYPES } from "../utils/constants.js";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { statSync } from "node:fs";
2
4
  import { join, resolve } from "node:path";
3
5
  import { Command } from "commander";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { readFileSync } from "node:fs";
2
4
  import chalk from "chalk";
3
5
  import { Command } from "commander";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import chalk from "chalk";
2
4
  import { Command } from "commander";
3
5
  import { createDiscoveryContext } from "../utils/discovery-context.js";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import chalk from "chalk";
2
4
  import { Command } from "commander";
3
5
  import { createDiscoveryContext } from "../utils/discovery-context.js";
@@ -1,4 +1,6 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // Copyright (c) 2026 TDK Landscape contributors
3
+ // SPDX-License-Identifier: MIT
2
4
  import { Command } from "commander";
3
5
  import { Box, render, Text, useApp, useInput, useStdin, useStdout } from "ink";
4
6
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { connect } from "node:net";
2
4
  import { join } from "node:path";
3
5
  import chalk from "chalk";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { execFileSync, execSync } from "node:child_process";
2
4
  import { createHash } from "node:crypto";
3
5
  import { accessSync, chmodSync, constants, existsSync, mkdirSync, readFileSync, realpathSync, renameSync, rmSync, writeFileSync, } from "node:fs";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { Command } from "commander";
2
4
  import { getPackageVersion } from "../utils/paths.js";
3
5
  export const versionCommand = new Command("version")
@@ -1,4 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // Copyright (c) 2026 TDK Landscape contributors
3
+ // SPDX-License-Identifier: MIT
2
4
  import { Box, Text } from "ink";
3
5
  import { useTUITheme } from "./ui-theme.js";
4
6
  export const BaseTooltip = ({ content, shortcut, visible, maxWidth = 40, wrapText = false, prefix = "", marginTop = 0, }) => {
@@ -1,4 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // Copyright (c) 2026 TDK Landscape contributors
3
+ // SPDX-License-Identifier: MIT
2
4
  import { Box, Text } from "ink";
3
5
  import { formatDate, getStatusColor, getStatusIcon } from "../utils/formatting.js";
4
6
  import { getTUIStatusColor, getTUIStatusIcon, useTUITheme } from "./ui-theme.js";
@@ -1,4 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // Copyright (c) 2026 TDK Landscape contributors
3
+ // SPDX-License-Identifier: MIT
2
4
  import { Box, Text } from "ink";
3
5
  import { useState } from "react";
4
6
  import { formatBytes } from "../utils/formatting.js";
@@ -1,4 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // Copyright (c) 2026 TDK Landscape contributors
3
+ // SPDX-License-Identifier: MIT
2
4
  import { Box, measureElement, Text, useInput } from "ink";
3
5
  import { useEffect, useLayoutEffect, useRef, useState } from "react";
4
6
  import { useTUITheme } from "./ui-theme.js";
@@ -1,4 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // Copyright (c) 2026 TDK Landscape contributors
3
+ // SPDX-License-Identifier: MIT
2
4
  import { Box, Text } from "ink";
3
5
  import { formatShortDate, getStatusColor, getStatusIcon, truncate } from "../utils/formatting.js";
4
6
  import { getTUIStatusColor, getTUIStatusIcon, useTUITheme } from "./ui-theme.js";
@@ -1,4 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // Copyright (c) 2026 TDK Landscape contributors
3
+ // SPDX-License-Identifier: MIT
2
4
  import { Box, Text } from "ink";
3
5
  import { useTUITheme } from "./ui-theme.js";
4
6
  /** One line per service that is not ready and has a reason, so a failed dependency is named on screen. */
@@ -1,4 +1,6 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // Copyright (c) 2026 TDK Landscape contributors
3
+ // SPDX-License-Identifier: MIT
2
4
  import { Box, Text } from "ink";
3
5
  import { useTUITheme } from "./ui-theme.js";
4
6
  export const TUIHeader = ({ projectRoot, resourceCount, terminalWidth, version, }) => {
@@ -1,4 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // Copyright (c) 2026 TDK Landscape contributors
3
+ // SPDX-License-Identifier: MIT
2
4
  import { Box, Text } from "ink";
3
5
  import { getTabBarDensity, getTerminalRuleWidth } from "../utils/terminal-layout.js";
4
6
  import { TABS } from "../utils/ui-keymap.js";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  export const TOOLTIPS = {
2
4
  overviewTab: "View all stacks and their resources",
3
5
  resourcesTab: "Detailed resource list with metadata",
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  export { AccessibleTooltip } from "./Accessible.js";
2
4
  export { DetailPanel } from "./DetailPanel.js";
3
5
  export { FileTree } from "./FileTree.js";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { createContext, useContext } from "react";
2
4
  const FILE_TYPES = ["docker", "tilt", "config", "prisma", "generated", "unknown"];
3
5
  const DEFAULT_FILE_COLORS = {
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { PORT_RANGES, STANDARD_PORTS } from "../utils/constants.js";
2
4
  const PLATFORM_VERSION = "1.0.0";
3
5
  const TECH_STACK = {
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { TdkError } from "../utils/errors.js";
2
4
  import { litFrontendProvider } from "./lit.js";
3
5
  import { preactFrontendProvider } from "./preact.js";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { existsSync, mkdirSync, readdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
2
4
  import { dirname, join } from "node:path";
3
5
  const normalize = (text) => text.replace(/\r\n/g, "\n");
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  // Fetches the paid-tier "premium" resource bundle (playwright, c4-diagram,
2
4
  // logging, agents-md, sablier, verdaccio, and a few other extras - see
3
5
  // tdk-cli-extensions/premium/) from the gated distribution worker, when a
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * The plain `Dockerfile` written next to service.json. `tdk up` does not build it: for generated
3
5
  * resources the engine builds `.autogenerated/Dockerfile.app.autogenerated`. It is a starting point
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import * as fs from "node:fs";
2
4
  import * as path from "node:path";
3
5
  import { fileURLToPath } from "node:url";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * A minimal Model Context Protocol server over newline-delimited JSON-RPC 2.0 (the stdio transport). It implements only
3
5
  * what a tools-only server needs: initialize, ping, tools/list and tools/call. Keeping it dependency-free keeps the
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { spawn } from "node:child_process";
2
4
  import { closeSync, existsSync, openSync, readFileSync } from "node:fs";
3
5
  import { tmpdir } from "node:os";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { existsSync } from "node:fs";
2
4
  export const WEBCONTAINER_DOCS = "docs/agent-hosts.md";
3
5
  export const WEBCONTAINER_UP_MESSAGE = `WebContainers cannot run TDK: there is no Docker daemon or Tilt. Run \`tdk up\` on a machine with Docker. See ${WEBCONTAINER_DOCS}.`;
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { randomBytes } from "node:crypto";
2
4
  import { closeSync, fchmodSync, fsyncSync, openSync, renameSync, rmSync, statSync, writeFileSync, } from "node:fs";
3
5
  import { basename, dirname, join } from "node:path";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { MIN_BUN_VERSION, versionMeetsMinimum } from "../commands/doctor.js";
2
4
  /** The Bun floor `tdk doctor` enforces, so `tdk up` cannot drift from it. */
3
5
  export function bunMeetsFloor(version) {
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { execFileSync } from "node:child_process";
2
4
  import { readFileSync } from "node:fs";
3
5
  import { join } from "node:path";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { existsSync, readFileSync } from "node:fs";
2
4
  import { join, relative, resolve, sep } from "node:path";
3
5
  // Mirrors discovery/json_manifest_scanner.star: every `discovery.paths` entry is a shell
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { execFileSync, execSync } from "node:child_process";
2
4
  import { findOnPath } from "./which.js";
3
5
  // A wedged daemon makes `docker ps` block forever instead of failing.
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { execFileSync, execSync } from "node:child_process";
2
4
  import { existsSync, readdirSync, readFileSync } from "node:fs";
3
5
  import { createServer } from "node:net";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { existsSync, readFileSync } from "node:fs";
2
4
  import { dirname, join, normalize } from "node:path";
3
5
  import { formatCount } from "./formatting.js";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { execFileSync, execSync } from "node:child_process";
2
4
  import { existsSync, readdirSync, readFileSync } from "node:fs";
3
5
  import { basename, dirname, join, relative } from "node:path";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { execFileSync } from "node:child_process";
2
4
  const run = (command, args) => execFileSync(command, args, { encoding: "utf-8", stdio: "pipe", windowsHide: true });
3
5
  /** Network names the engine creates per project (see engine/.../docker/constants.star and init-networks). */
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { randomBytes } from "node:crypto";
2
4
  import { existsSync, readFileSync, writeFileSync } from "node:fs";
3
5
  import { join } from "node:path";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import chalk from "chalk";
2
4
  import { QUICKSTART_DOCS_URL } from "./constants.js";
3
5
  import { getContainerRuntimeStatus } from "./docker.js";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { exec, execFile } from "node:child_process";
2
4
  import { promisify } from "node:util";
3
5
  import { findOnPath } from "./which.js";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
4
  import { resolve } from "node:path";
3
5
  import chalk from "chalk";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import chalk from "chalk";
2
4
  function pluralize(count, singular, plural) {
3
5
  return count === 1 ? singular : plural || `${singular}s`;
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { existsSync, lstatSync } from "node:fs";
2
4
  import { isAbsolute, normalize, relative, sep } from "node:path";
3
5
  /** Reviewed TDK-owned destinations written by `tdk config regenerate` or Tilt generation. */
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { execFileSync } from "node:child_process";
2
4
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
3
5
  import { join } from "node:path";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { createServer } from "node:net";
2
4
  import { hasLocalListener } from "./port-listener-probe.js";
3
5
  export const DEFAULT_HOST_PORT_RANGES = {
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { writeSync } from "node:fs";
2
4
  /**
3
5
  * Returns an emitter that writes at most one `{schemaVersion, data, errors}` object to stdout. If the process
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { TdkError } from "./errors.js";
2
4
  export function createMachineEnvelope(data, errors = []) {
3
5
  return { schemaVersion: 1, data, errors };
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { existsSync } from "node:fs";
2
4
  import { dirname, join, resolve } from "node:path";
3
5
  import { cwd } from "node:process";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { delimiter, extname } from "node:path";
2
4
  export function isWindows() {
3
5
  return process.platform === "win32";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { createConnection, createServer } from "node:net";
2
4
  import { PORT_RANGES } from "./constants.js";
3
5
  function isPortAvailable(port) {
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  /** The env var that moves each host port TDK publishes. Services publish no host ports, so only these conflict. */
2
4
  const PORT_ENV_VARS = {
3
5
  "80": "TDK_HTTP_PORT",
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { connect } from "node:net";
2
4
  /**
3
5
  * True when something already accepts connections on 127.0.0.1:port. Binding a socket to find out is not enough:
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * Defaults shared by project generation and CLI predicates.
3
5
  *
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * Project-Level Features
3
5
  *
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { stdin as input, stdout as output } from "node:process";
2
4
  import { createInterface } from "node:readline/promises";
3
5
  async function question(prompt) {
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * Resource-Level Features
3
5
  *
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  /**
2
4
  * True for a resource that runs as an HTTP API service behind the Traefik API host: a backend, or an `mcp` server (a Model Context
3
5
  * Protocol endpoint, which the engine builds, routes and health-checks exactly like a backend).
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { relative } from "node:path";
2
4
  import chalk from "chalk";
3
5
  import { formatCount } from "./formatting.js";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { existsSync, readFileSync } from "node:fs";
2
4
  import { join } from "node:path";
3
5
  import { parseEnv } from "./env-validator.js";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { relative } from "node:path";
2
4
  import chalk from "chalk";
3
5
  import { checkDuplicateResourceNames } from "./doctor-wiring.js";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { existsSync, readFileSync } from "node:fs";
2
4
  import { validateSmoke } from "./smoke.js";
3
5
  export const SERVICE_MANIFEST_SCHEMA_VERSION = 1;
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { readFileSync } from "node:fs";
2
4
  import { join } from "node:path";
3
5
  import { findProjectRoot } from "./paths.js";
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 TDK Landscape contributors
2
+ // SPDX-License-Identifier: MIT
1
3
  import { existsSync, readdirSync, readFileSync, statSync } from "node:fs";
2
4
  import { dirname, join } from "node:path";
3
5
  import { Cache, createCacheValidator } from "./cache.js";