@tdk-landscape/tdk-cli-core 1.3.15 β 1.3.22
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.
- package/Tiltfile +144 -0
- package/discovery/AGENTS.md +362 -0
- package/discovery/TILT_DISCOVERY.star +424 -0
- package/discovery/Tiltfile +58 -0
- package/discovery/config.star +258 -0
- package/discovery/constants.star +127 -0
- package/discovery/deterministic.star +211 -0
- package/discovery/discovery_daemon.star +191 -0
- package/discovery/discovery_orchestrator.star +460 -0
- package/discovery/filtering.star +5 -0
- package/discovery/identity-management-backend/service.yaml +26 -0
- package/discovery/identity-management-frontend/service.yaml +29 -0
- package/discovery/identity-sdk/service.yaml +9 -0
- package/discovery/incremental_discovery.star +213 -0
- package/discovery/indexing.star +7 -0
- package/discovery/json_manifest_scanner.star +51 -0
- package/discovery/libraries.star +46 -0
- package/discovery/loading.star +23 -0
- package/discovery/manifest/constants.star +104 -0
- package/discovery/manifest/loading.star +386 -0
- package/discovery/manifest/normalize.star +281 -0
- package/discovery/manifest/validation.star +108 -0
- package/discovery/normalization.star +11 -0
- package/discovery/registry.star +544 -0
- package/discovery/resource_snapshot.py +382 -0
- package/discovery/resource_snapshot.star +143 -0
- package/discovery/schemas.star +1 -0
- package/discovery/services/platform/cdc/debezium/nats-connector/service.yaml +9 -0
- package/discovery/services/platform/cdc/nats-http-bridge/service.yaml +9 -0
- package/discovery/services/platform/orchestrator/orchestrator-glue-backend/service.yaml +26 -0
- package/discovery/services/platform/synthetic-monitor/service.yaml +9 -0
- package/discovery/test_resource_snapshot.py +251 -0
- package/discovery/validation.star +78 -0
- package/discovery/versioning.star +1 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +11 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +1 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/project.d.ts.map +1 -1
- package/dist/commands/project.js +36 -41
- package/dist/commands/project.js.map +1 -1
- package/dist/commands/resource.d.ts.map +1 -1
- package/dist/commands/resource.js +51 -55
- package/dist/commands/resource.js.map +1 -1
- package/dist/commands/stack.d.ts.map +1 -1
- package/dist/commands/stack.js +22 -24
- package/dist/commands/stack.js.map +1 -1
- package/dist/commands/ui.d.ts.map +1 -1
- package/dist/commands/ui.js +1 -2
- package/dist/commands/ui.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +1 -2
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/upgrade.d.ts +8 -0
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +59 -18
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/generator/extension-fetch.d.ts +19 -0
- package/dist/generator/extension-fetch.d.ts.map +1 -1
- package/dist/generator/extension-fetch.js +71 -5
- package/dist/generator/extension-fetch.js.map +1 -1
- package/dist/generator/template-engine.d.ts +1 -0
- package/dist/generator/template-engine.d.ts.map +1 -1
- package/dist/generator/template-engine.js +50 -6
- package/dist/generator/template-engine.js.map +1 -1
- package/dist/utils/command-helpers.d.ts.map +1 -1
- package/dist/utils/command-helpers.js +7 -9
- package/dist/utils/command-helpers.js.map +1 -1
- package/dist/utils/constants.d.ts +1 -0
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +1 -0
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/errors.d.ts +2 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +6 -1
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/project-features.d.ts.map +1 -1
- package/dist/utils/project-features.js +1 -1
- package/dist/utils/project-features.js.map +1 -1
- package/dist/utils/resource-features.d.ts.map +1 -1
- package/dist/utils/resource-features.js +2 -2
- package/dist/utils/resource-features.js.map +1 -1
- package/dist/utils/tar.js +4 -4
- package/dist/utils/tar.js.map +1 -1
- package/dist/utils/validation.d.ts +7 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +9 -0
- package/dist/utils/validation.js.map +1 -1
- package/engine/AGENTS.md +705 -0
- package/engine/README.md +29 -0
- package/engine/REFACTORING_MANIFEST_SYSTEM.md +974 -0
- package/engine/Tiltfile +80 -0
- package/engine/assets/docker/golden-layers.Dockerfile +221 -0
- package/engine/assets/scripts/cleanup-completed-migrator-images.sh +37 -0
- package/engine/assets/scripts/cleanup-tilt-images.sh +120 -0
- package/engine/assets/scripts/mac-m1-resource-monitor.sh +121 -0
- package/engine/config.star +3 -0
- package/engine/docs/AUTODISCOVERY_TEST.md +182 -0
- package/engine/docs/C4-ARCHITECTURE-operations.md +396 -0
- package/engine/docs/C4-ARCHITECTURE-overview.md +284 -0
- package/engine/docs/C4-ARCHITECTURE.md +17 -0
- package/engine/docs/GOLDEN_IMAGE_INTEGRATION.md +349 -0
- package/engine/docs/MANIFEST_DRIVEN_ARCHITECTURE.md +357 -0
- package/engine/docs/README.md +284 -0
- package/engine/entrypoint.star +97 -0
- package/engine/lifecycle/orchestrator.star +260 -0
- package/engine/paths.star +717 -0
- package/engine/schemas/manifest-schema.json +301 -0
- package/engine/schemas/service-schema.json +301 -0
- package/engine/scripts/README.md +89 -0
- package/engine/scripts/build-and-publish-lib.sh +205 -0
- package/engine/scripts/check-lib-publish.sh +85 -0
- package/engine/scripts/debug-container.sh +258 -0
- package/engine/scripts/generate-manifest.sh +197 -0
- package/engine/spec.master +702 -0
- package/engine/spec.master.example +341 -0
- package/engine/topologies/README.md +34 -0
- package/engine/topologies/platform/docker/AGENTS.md +59 -0
- package/engine/topologies/platform/docker/auth/auth.star +167 -0
- package/engine/topologies/platform/docker/build/golden_image.star +37 -0
- package/engine/topologies/platform/docker/build/golden_image_build.star +82 -0
- package/engine/topologies/platform/docker/build/golden_image_constants.star +93 -0
- package/engine/topologies/platform/docker/build/golden_image_dockerfile.star +291 -0
- package/engine/topologies/platform/docker/compose/compose.star +636 -0
- package/engine/topologies/platform/docker/compose/compose_helpers.star +52 -0
- package/engine/topologies/platform/docker/compose/traefik_standalone.star +53 -0
- package/engine/topologies/platform/docker/config/bunignore.star +142 -0
- package/engine/topologies/platform/docker/config/dockerignore.star +150 -0
- package/engine/topologies/platform/docker/constants.star +170 -0
- package/engine/topologies/platform/docker/dockerfile/dockerfile.star +54 -0
- package/engine/topologies/platform/docker/generators/golden_docker_generator_v2.star +73 -0
- package/engine/topologies/platform/docker/index.star +27 -0
- package/engine/topologies/platform/docker/layers/bun_helpers.star +23 -0
- package/engine/topologies/platform/docker/layers/infisical/index.star +40 -0
- package/engine/topologies/platform/docker/layers/infisical/infisical_docker.star +262 -0
- package/engine/topologies/platform/docker/layers/l1_base_layers.star +87 -0
- package/engine/topologies/platform/docker/layers/l2_dependency_layers.star +125 -0
- package/engine/topologies/platform/docker/layers/l3_builder_layers.star +209 -0
- package/engine/topologies/platform/docker/layers/l4_runtime_layers.star +214 -0
- package/engine/topologies/platform/docker/layers/prisma/constants.star +135 -0
- package/engine/topologies/platform/docker/layers/prisma/db_readiness.star +96 -0
- package/engine/topologies/platform/docker/layers/prisma/filesystem_setup.star +109 -0
- package/engine/topologies/platform/docker/layers/prisma/migrate_script.star +98 -0
- package/engine/topologies/platform/docker/layers/prisma/prisma_build.star +126 -0
- package/engine/topologies/platform/docker/layers/prisma/prisma_runtime.star +161 -0
- package/engine/topologies/platform/docker/layers/prisma/secret_resolution.star +119 -0
- package/engine/topologies/platform/docker/networking/api_path_constants.star +230 -0
- package/engine/topologies/platform/docker/networking/sablier_container_cycle.star +27 -0
- package/engine/topologies/platform/docker/networking/traefik.star +232 -0
- package/engine/topologies/platform/docker/networking/traefik_constants.star +146 -0
- package/engine/topologies/platform/docker/networking/traefik_helpers.star +160 -0
- package/engine/topologies/platform/docker/secrets/infisical.star +135 -0
- package/engine/topologies/platform/net/proxy.star +4 -0
- package/engine/topologies/platform/registries/local.star +4 -0
- package/engine/topologies/platform/security/secrets.star +239 -0
- package/engine/topologies/platform/state/relational.star +4 -0
- package/engine/topologies/tilt/common/AGENTS.md +59 -0
- package/engine/topologies/tilt/common/utils.star +364 -0
- package/engine/topologies/tilt/common/utils_debug.star +69 -0
- package/engine/topologies/tilt/common/utils_deterministic.star +168 -0
- package/engine/topologies/tilt/common/utils_docker_networks.star +46 -0
- package/engine/topologies/tilt/common/utils_env.star +43 -0
- package/engine/topologies/tilt/common/utils_output.star +97 -0
- package/engine/topologies/tilt/config/AGENTS.md +68 -0
- package/engine/topologies/tilt/config/defaults.star +3 -0
- package/engine/topologies/tilt/config/feature_flags.star +10 -0
- package/engine/topologies/tilt/config/global.star +55 -0
- package/engine/topologies/tilt/config/profiles.star +382 -0
- package/engine/topologies/tilt/generators/agents_md.star +62 -0
- package/engine/topologies/tilt/generators/api_gateway.star +145 -0
- package/engine/topologies/tilt/generators/index.star +124 -0
- package/engine/topologies/tilt/generators/infisical/README.md +424 -0
- package/engine/topologies/tilt/generators/infisical/examples.star +312 -0
- package/engine/topologies/tilt/generators/infisical/index.star +57 -0
- package/engine/topologies/tilt/generators/infisical/machine_identity.star +420 -0
- package/engine/topologies/tilt/generators/infisical/organization.star +534 -0
- package/engine/topologies/tilt/generators/infisical/path_manager.star +476 -0
- package/engine/topologies/tilt/generators/infisical/secrets_generator.star +420 -0
- package/engine/topologies/tilt/generators/nginx_conf.star +143 -0
- package/engine/topologies/tilt/generators/npmrc.star +111 -0
- package/engine/topologies/tilt/generators/tsconfig.star +23 -0
- package/engine/topologies/tilt/generators/typescript/backend_library_tsconfig.star +71 -0
- package/engine/topologies/tilt/generators/typescript/backend_tsconfig.star +124 -0
- package/engine/topologies/tilt/generators/typescript/common.star +7 -0
- package/engine/topologies/tilt/generators/typescript/frontend_library_tsconfig.star +76 -0
- package/engine/topologies/tilt/generators/typescript/frontend_tsconfig.star +110 -0
- package/engine/topologies/tilt/generators/typescript/include.star +23 -0
- package/engine/topologies/tilt/generators/typescript/playwright_config.star +40 -0
- package/engine/topologies/tilt/generators/typescript/prisma_config.star +49 -0
- package/engine/topologies/tilt/generators/validators.star +853 -0
- package/engine/topologies/tilt/generators/vite/backend.star +78 -0
- package/engine/topologies/tilt/generators/vite/frontend.star +98 -0
- package/engine/topologies/tilt/generators/vite/generators.star +43 -0
- package/engine/topologies/tilt/generators/vite/helpers.star +244 -0
- package/engine/topologies/tilt/generators/vite/library.star +65 -0
- package/engine/topologies/tilt/generators/vite/sdk.star +73 -0
- package/engine/topologies/tilt/generators/vite/templates.star +737 -0
- package/engine/topologies/tilt/generators/vite_config.star +22 -0
- package/engine/topologies/tilt/manifest/AGENTS.md +61 -0
- package/engine/topologies/tilt/manifest/README.md +693 -0
- package/engine/topologies/tilt/manifest/__init__.star +218 -0
- package/engine/topologies/tilt/manifest/constants.star +252 -0
- package/engine/topologies/tilt/manifest/errors.star +266 -0
- package/engine/topologies/tilt/manifest/integration.star +339 -0
- package/engine/topologies/tilt/manifest/json_to_yaml.py +54 -0
- package/engine/topologies/tilt/manifest/loader.star +214 -0
- package/engine/topologies/tilt/manifest/mapper.star +227 -0
- package/engine/topologies/tilt/manifest/parser.star +400 -0
- package/engine/topologies/tilt/manifest/schema.star +462 -0
- package/engine/topologies/tilt/manifest/tests/test_integration.star +276 -0
- package/engine/topologies/tilt/manifest/tests/test_loader_parser.star +397 -0
- package/engine/topologies/tilt/manifest/tests/test_manifest.star +316 -0
- package/engine/topologies/tilt/manifest/tests/test_validator.star +470 -0
- package/engine/topologies/tilt/manifest/validator.star +717 -0
- package/engine/topologies/tilt/manifest/yaml_to_json.py +18 -0
- package/engine/topologies/tilt/resources/AGENTS.md +71 -0
- package/engine/topologies/tilt/resources/conditions.star +3 -0
- package/engine/topologies/tilt/resources/databases.star +244 -0
- package/engine/topologies/tilt/resources/declaration.star +3 -0
- package/engine/topologies/tilt/resources/deps.star +3 -0
- package/engine/topologies/tilt/resources/infra-loader.star +437 -0
- package/engine/topologies/tilt/resources/libs.star +30 -0
- package/engine/topologies/tilt/resources/libs_discovery.star +102 -0
- package/engine/topologies/tilt/resources/libs_paths.star +79 -0
- package/engine/topologies/tilt/resources/libs_resource_definition.star +151 -0
- package/engine/topologies/tilt/resources/libs_setup.star +164 -0
- package/engine/topologies/tilt/resources/libs_tsconfig.star +37 -0
- package/engine/topologies/tilt/resources/orchestrator/apply.star +77 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_compose_resource_registration.star +431 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_manifest_orchestration.star +81 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_migrator_orchestration.star +148 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_resource_validation.star +36 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_runtime_flags.star +44 -0
- package/engine/topologies/tilt/resources/orchestrator/builders/typescript.star +164 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/dependencies/AGENTS.md +75 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/dependencies/index.star +21 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/dependencies/resolver.star +134 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/env.star +258 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/frontend.star +169 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/manifest_resource.star +524 -0
- package/engine/topologies/tilt/resources/orchestrator/helpers.star +33 -0
- package/engine/topologies/tilt/resources/orchestrator.star +54 -0
- package/engine/topologies/tilt/resources/ordering.star +3 -0
- package/engine/topologies/tilt/resources/triggers.star +3 -0
- package/engine/topologies/tilt/resources/watchers.star +299 -0
- package/engine/where-things-live.star +717 -0
- package/ext/Tiltfile +66 -0
- package/ext/ide-components/README.md +219 -0
- package/ext/ide-components/code_executor/server.py +268 -0
- package/ext/ide-components/code_viewer/server.py +206 -0
- package/ext/ide-components/config_inspector/server.py +1050 -0
- package/ext/ide-components/file_browser/server.py +285 -0
- package/ext/ide-components/shared/config_service.py +469 -0
- package/ext/ide-components/shared/file_utils.py +298 -0
- package/ext/ide-components/shared/http_utils.py +232 -0
- package/ext/ide-components/shared/static/styles.css +1334 -0
- package/ext/ide-components/shared/syntax_highlighter.py +140 -0
- package/ext/ide-components/shared/template_engine.py +123 -0
- package/ext/ide-components/shared/templates/base.html +121 -0
- package/ext/ide-components/shared/test_config_service.py +326 -0
- package/ext/ide-components/shared/tilt_integration.py +158 -0
- package/ext/ui-enhancements/cron-status-server.sh +49 -0
- package/ext/ui-enhancements/cron-status-tracker.sh +146 -0
- package/ext/ui-enhancements/extension.yaml +36 -0
- package/ext/ui-enhancements/tiltfile.py +99 -0
- package/ext/ui-enhancements/ui/cron-jobs-tab.css +396 -0
- package/ext/ui-enhancements/ui/help-panel.css +279 -0
- package/ext/ui-enhancements/ui/icons.css +125 -0
- package/ext/ui-enhancements/ui/tooltips.css +114 -0
- package/package.json +13 -9
- package/specs/specs/TILT_SERVICE_DEFAULTS.star +205 -0
- package/specs/specs/TILT_TECH_STACK.star +159 -0
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# ποΈ TILT SDK - FILE WATCHERS
|
|
3
|
+
# =============================================================================
|
|
4
|
+
# Path: .tilt/provisioner/watchers.star
|
|
5
|
+
# Purpose: Set up file watchers for automatic config regeneration
|
|
6
|
+
# =============================================================================
|
|
7
|
+
#
|
|
8
|
+
# This module sets up watchers for package.json files across all services.
|
|
9
|
+
# When a developer runs `bun add @tdk/x`, the watcher triggers
|
|
10
|
+
# automatic regeneration of TSConfig and Vite configurations.
|
|
11
|
+
#
|
|
12
|
+
# Usage:
|
|
13
|
+
# Watchers.setup_package_json(services, should_enable_fn)
|
|
14
|
+
# =============================================================================
|
|
15
|
+
|
|
16
|
+
# =============================================================================
|
|
17
|
+
# π¦ PACKAGE.JSON WATCHERS
|
|
18
|
+
# =============================================================================
|
|
19
|
+
|
|
20
|
+
def setup_package_json_watchers(services, should_enable):
|
|
21
|
+
"""
|
|
22
|
+
Set up file watchers for package.json across all services.
|
|
23
|
+
|
|
24
|
+
When package.json changes (e.g., via `bun add @tdk/x`),
|
|
25
|
+
Tilt will automatically trigger config regeneration.
|
|
26
|
+
|
|
27
|
+
Args:
|
|
28
|
+
services: List of APP_RESOURCES from registry
|
|
29
|
+
should_enable: Function that takes service name and returns bool
|
|
30
|
+
"""
|
|
31
|
+
watched_paths = []
|
|
32
|
+
|
|
33
|
+
for app_service in services:
|
|
34
|
+
service_name = app_service.get('name', '')
|
|
35
|
+
if not service_name:
|
|
36
|
+
continue
|
|
37
|
+
if not should_enable(service_name):
|
|
38
|
+
continue
|
|
39
|
+
|
|
40
|
+
resource_path = app_service.get('path', '')
|
|
41
|
+
if not resource_path:
|
|
42
|
+
# Skip services without path (libraries or incomplete manifests)
|
|
43
|
+
continue
|
|
44
|
+
|
|
45
|
+
for resource in app_service.get('resources', []):
|
|
46
|
+
resource_name = resource.get('name', '')
|
|
47
|
+
if not resource_name:
|
|
48
|
+
continue
|
|
49
|
+
full_resource_path = resource_path + '/' + resource_name
|
|
50
|
+
pkg_json_path = full_resource_path + '/package.json'
|
|
51
|
+
|
|
52
|
+
if pkg_json_path not in watched_paths:
|
|
53
|
+
watched_paths.append(pkg_json_path)
|
|
54
|
+
watch_file(pkg_json_path)
|
|
55
|
+
|
|
56
|
+
if watched_paths:
|
|
57
|
+
print("π¦ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ")
|
|
58
|
+
print("π¦ AUTOMATIC BRIDGE: Watching " + str(len(watched_paths)) + " package.json files")
|
|
59
|
+
print("π¦ When you 'bun add @tdk/x', configs auto-regenerate!")
|
|
60
|
+
print("π¦ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ")
|
|
61
|
+
|
|
62
|
+
return watched_paths
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
# =============================================================================
|
|
66
|
+
# π οΈ UTILITY RESOURCES
|
|
67
|
+
# =============================================================================
|
|
68
|
+
|
|
69
|
+
def setup_utility_resources():
|
|
70
|
+
"""Set up common utility resources."""
|
|
71
|
+
local_resource('lint',
|
|
72
|
+
cmd='bun biome lint --write .',
|
|
73
|
+
labels=['dev.quality'],
|
|
74
|
+
auto_init=False
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
local_resource('format',
|
|
78
|
+
cmd='bun biome check --write . && bun biome format --write .',
|
|
79
|
+
labels=['dev.quality'],
|
|
80
|
+
auto_init=False
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
local_resource('build-shared',
|
|
84
|
+
cmd='bun run build:shared',
|
|
85
|
+
labels=['dev.quality'],
|
|
86
|
+
auto_init=False
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
local_resource('prune-images',
|
|
90
|
+
cmd='./.tdk/.tdk-out/ext/assets/scripts/cleanup-tilt-images.sh --keep 0 --force && docker image prune -f',
|
|
91
|
+
resource_deps=[],
|
|
92
|
+
labels=['dev.maintenance'],
|
|
93
|
+
auto_init=False
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
local_resource('memory-optimizer',
|
|
97
|
+
cmd='./.tdk/.tdk-out/ext/assets/scripts/mac-m1-resource-monitor.sh && ./.tdk/.tdk-out/ext/assets/scripts/cleanup-tilt-images.sh --keep 0 --force && docker image prune -f && docker builder prune -af --filter "until=24h"',
|
|
98
|
+
resource_deps=[],
|
|
99
|
+
labels=['dev.maintenance', 'mac-m1'],
|
|
100
|
+
auto_init=False
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
local_resource('prune-builder-cache',
|
|
104
|
+
cmd='docker builder prune -af && docker image prune -f',
|
|
105
|
+
resource_deps=[],
|
|
106
|
+
labels=['dev.maintenance', 'mac-m1'],
|
|
107
|
+
auto_init=False
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
# Continuous dangling image cleanup - runs every 5 minutes via serve_cmd loop
|
|
111
|
+
local_resource('auto-prune-dangling',
|
|
112
|
+
serve_cmd='''
|
|
113
|
+
echo "π§Ή Auto-prune started (every 300s)"
|
|
114
|
+
while true; do
|
|
115
|
+
count=$(docker images -f "dangling=true" -q 2>/dev/null | wc -l | tr -d ' ')
|
|
116
|
+
if [ "$count" -gt "5" ]; then
|
|
117
|
+
echo "$(date +%H:%M:%S) π§Ή Cleaning $count dangling images..."
|
|
118
|
+
docker image prune -f 2>/dev/null || true
|
|
119
|
+
else
|
|
120
|
+
echo "$(date +%H:%M:%S) β $count dangling images (threshold: 5)"
|
|
121
|
+
fi
|
|
122
|
+
sleep 300
|
|
123
|
+
done
|
|
124
|
+
''',
|
|
125
|
+
resource_deps=[],
|
|
126
|
+
labels=['dev.maintenance', 'mac-m1'],
|
|
127
|
+
auto_init=False,
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
# Continuously reclaim heavyweight migrator images once migration succeeds.
|
|
131
|
+
local_resource('auto-prune-migrator-images',
|
|
132
|
+
serve_cmd='''
|
|
133
|
+
echo "π§Ή Migrator image cleanup started (every 45s)"
|
|
134
|
+
while true; do
|
|
135
|
+
./.tdk/.tdk-out/ext/assets/scripts/cleanup-completed-migrator-images.sh || true
|
|
136
|
+
sleep 45
|
|
137
|
+
done
|
|
138
|
+
''',
|
|
139
|
+
resource_deps=[],
|
|
140
|
+
labels=['dev.maintenance'],
|
|
141
|
+
auto_init=True,
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
def setup_dependency_sync_status():
|
|
146
|
+
"""Set up dependency sync status display resource."""
|
|
147
|
+
local_resource('dependency-sync-status',
|
|
148
|
+
cmd='''
|
|
149
|
+
echo "π βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ"
|
|
150
|
+
echo "π AUTOMATED DEPENDENCY SYNCHRONIZATION STATUS v2.0"
|
|
151
|
+
echo "π SDK: engine/ directory structure"
|
|
152
|
+
echo "π βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ"
|
|
153
|
+
echo ""
|
|
154
|
+
echo "π AUTOMATIC BRIDGE - HOW IT WORKS:"
|
|
155
|
+
echo " 1. bun add @tdk/auth"
|
|
156
|
+
echo " 2. Tilt watches package.json"
|
|
157
|
+
echo " 3. TSConfig/Vite/Manifest auto-update"
|
|
158
|
+
echo ""
|
|
159
|
+
echo "π― CONVENTION OVER CONFIGURATION:"
|
|
160
|
+
echo " @tdk/platform-x β shared-platform-engineering/platform-x/src"
|
|
161
|
+
echo " @tdk/product-x β shared-product-engineering/product-x/src"
|
|
162
|
+
echo ""
|
|
163
|
+
echo "π βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ"
|
|
164
|
+
''',
|
|
165
|
+
labels=['dev.tools', 'dependency-sync'],
|
|
166
|
+
auto_init=False
|
|
167
|
+
)
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
def setup_cron_resources():
|
|
171
|
+
"""Set up cron job resources that run periodically."""
|
|
172
|
+
# Initialize status tracking
|
|
173
|
+
local_resource('cron-status-init',
|
|
174
|
+
cmd='./.tdk/.tdk-out/ext/ui-enhancements/cron-status-tracker.sh init',
|
|
175
|
+
labels=['dev.quality', 'cron', 'setup'],
|
|
176
|
+
auto_init=True,
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
# Cron lint - runs every 60 seconds
|
|
180
|
+
local_resource('cron-lint',
|
|
181
|
+
serve_cmd='''
|
|
182
|
+
echo "π§Ή Cron lint started (every 60s) - auto-fixing issues..."
|
|
183
|
+
./.tdk/.tdk-out/ext/ui-enhancements/cron-status-tracker.sh update cron-lint running
|
|
184
|
+
while true; do
|
|
185
|
+
start_time=$(date +%s)
|
|
186
|
+
|
|
187
|
+
# Check for pause signal
|
|
188
|
+
if [ -f /tmp/cron-jobs-control/cron-lint.pause ]; then
|
|
189
|
+
echo "$(date +%H:%M:%S) βΈοΈ cron-lint paused"
|
|
190
|
+
sleep 5
|
|
191
|
+
continue
|
|
192
|
+
fi
|
|
193
|
+
|
|
194
|
+
# Check for manual trigger
|
|
195
|
+
if [ -f /tmp/cron-jobs-control/cron-lint.trigger ]; then
|
|
196
|
+
rm /tmp/cron-jobs-control/cron-lint.trigger
|
|
197
|
+
echo "$(date +%H:%M:%S) βΆοΈ Manual trigger received"
|
|
198
|
+
fi
|
|
199
|
+
|
|
200
|
+
echo "$(date +%H:%M:%S) π§Ή Running lint..."
|
|
201
|
+
./.tdk/.tdk-out/ext/ui-enhancements/cron-status-tracker.sh update cron-lint running
|
|
202
|
+
|
|
203
|
+
if bun biome lint --write . 2>&1; then
|
|
204
|
+
end_time=$(date +%s)
|
|
205
|
+
duration=$((end_time - start_time))
|
|
206
|
+
echo "$(date +%H:%M:%S) β
Lint complete (${duration}s)"
|
|
207
|
+
./.tdk/.tdk-out/ext/ui-enhancements/cron-status-tracker.sh update cron-lint success "${duration}s"
|
|
208
|
+
else
|
|
209
|
+
end_time=$(date +%s)
|
|
210
|
+
duration=$((end_time - start_time))
|
|
211
|
+
echo "$(date +%H:%M:%S) β οΈ Lint found issues (${duration}s)"
|
|
212
|
+
./.tdk/.tdk-out/ext/ui-enhancements/cron-status-tracker.sh update cron-lint failure "${duration}s"
|
|
213
|
+
fi
|
|
214
|
+
|
|
215
|
+
echo "$(date +%H:%M:%S) π΄ Sleeping 60s..."
|
|
216
|
+
sleep 60
|
|
217
|
+
done
|
|
218
|
+
''',
|
|
219
|
+
resource_deps=['cron-status-init'],
|
|
220
|
+
labels=['dev.quality', 'cron'],
|
|
221
|
+
auto_init=True,
|
|
222
|
+
)
|
|
223
|
+
|
|
224
|
+
# Cron format - runs every 60 seconds
|
|
225
|
+
local_resource('cron-format',
|
|
226
|
+
serve_cmd='''
|
|
227
|
+
echo "π¨ Cron format started (every 60s) - auto-fixing formatting..."
|
|
228
|
+
./.tdk/.tdk-out/ext/ui-enhancements/cron-status-tracker.sh update cron-format running
|
|
229
|
+
while true; do
|
|
230
|
+
start_time=$(date +%s)
|
|
231
|
+
|
|
232
|
+
# Check for pause signal
|
|
233
|
+
if [ -f /tmp/cron-jobs-control/cron-format.pause ]; then
|
|
234
|
+
echo "$(date +%H:%M:%S) βΈοΈ cron-format paused"
|
|
235
|
+
sleep 5
|
|
236
|
+
continue
|
|
237
|
+
fi
|
|
238
|
+
|
|
239
|
+
# Check for manual trigger
|
|
240
|
+
if [ -f /tmp/cron-jobs-control/cron-format.trigger ]; then
|
|
241
|
+
rm /tmp/cron-jobs-control/cron-format.trigger
|
|
242
|
+
echo "$(date +%H:%M:%S) βΆοΈ Manual trigger received"
|
|
243
|
+
fi
|
|
244
|
+
|
|
245
|
+
echo "$(date +%H:%M:%S) π¨ Running format..."
|
|
246
|
+
./.tdk/.tdk-out/ext/ui-enhancements/cron-status-tracker.sh update cron-format running
|
|
247
|
+
|
|
248
|
+
if bun biome check --write . && bun biome format --write . 2>&1; then
|
|
249
|
+
end_time=$(date +%s)
|
|
250
|
+
duration=$((end_time - start_time))
|
|
251
|
+
echo "$(date +%H:%M:%S) β
Format complete (${duration}s)"
|
|
252
|
+
./.tdk/.tdk-out/ext/ui-enhancements/cron-status-tracker.sh update cron-format success "${duration}s"
|
|
253
|
+
else
|
|
254
|
+
end_time=$(date +%s)
|
|
255
|
+
duration=$((end_time - start_time))
|
|
256
|
+
echo "$(date +%H:%M:%S) β οΈ Format had issues (${duration}s)"
|
|
257
|
+
./.tdk/.tdk-out/ext/ui-enhancements/cron-status-tracker.sh update cron-format failure "${duration}s"
|
|
258
|
+
fi
|
|
259
|
+
|
|
260
|
+
echo "$(date +%H:%M:%S) π΄ Sleeping 60s..."
|
|
261
|
+
sleep 60
|
|
262
|
+
done
|
|
263
|
+
''',
|
|
264
|
+
resource_deps=['cron-status-init'],
|
|
265
|
+
labels=['dev.quality', 'cron'],
|
|
266
|
+
auto_init=True,
|
|
267
|
+
)
|
|
268
|
+
|
|
269
|
+
# Status HTTP server for cron jobs
|
|
270
|
+
local_resource('cron-jobs-status-server',
|
|
271
|
+
serve_cmd='./.tdk/.tdk-out/ext/ui-enhancements/cron-status-server.sh',
|
|
272
|
+
resource_deps=['cron-status-init'],
|
|
273
|
+
labels=['dev.quality', 'cron', 'api'],
|
|
274
|
+
auto_init=True,
|
|
275
|
+
)
|
|
276
|
+
|
|
277
|
+
print("β° βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ")
|
|
278
|
+
print("β° CRON JOBS CONFIGURED")
|
|
279
|
+
print("β° - cron-lint: runs every 60 seconds")
|
|
280
|
+
print("β° - cron-format: runs every 60 seconds")
|
|
281
|
+
print("β° - auto-prune-dangling: runs every 5 minutes (existing)")
|
|
282
|
+
print("β° - auto-prune-migrator-images: runs every 45 seconds (existing)")
|
|
283
|
+
print("β° - Status API: http://localhost:10352/api/cron-jobs-status")
|
|
284
|
+
print("β° βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ")
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
# =============================================================================
|
|
288
|
+
# π¦ WATCHERS STRUCT (Public API)
|
|
289
|
+
# =============================================================================
|
|
290
|
+
|
|
291
|
+
Watchers = struct(
|
|
292
|
+
# Package.json watchers
|
|
293
|
+
setup_package_json = setup_package_json_watchers,
|
|
294
|
+
|
|
295
|
+
# Utility resources
|
|
296
|
+
setup_utilities = setup_utility_resources,
|
|
297
|
+
setup_dep_sync_status = setup_dependency_sync_status,
|
|
298
|
+
setup_cron_resources = setup_cron_resources,
|
|
299
|
+
)
|