synapse-mcp 1.0.0 → 1.0.2
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/README.md +1820 -147
- package/dist/constants.d.ts +10 -4
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +18 -8
- package/dist/constants.js.map +1 -1
- package/dist/events/emitter.d.ts +63 -0
- package/dist/events/emitter.d.ts.map +1 -0
- package/dist/events/emitter.js +112 -0
- package/dist/events/emitter.js.map +1 -0
- package/dist/events/index.d.ts +3 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +3 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/types.d.ts +51 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +3 -0
- package/dist/events/types.js.map +1 -0
- package/dist/formatters/compose.d.ts +185 -0
- package/dist/formatters/compose.d.ts.map +1 -0
- package/dist/formatters/compose.js +397 -0
- package/dist/formatters/compose.js.map +1 -0
- package/dist/formatters/container.d.ts +84 -0
- package/dist/formatters/container.d.ts.map +1 -0
- package/dist/formatters/container.js +323 -0
- package/dist/formatters/container.js.map +1 -0
- package/dist/formatters/diagnostics.d.ts +20 -0
- package/dist/formatters/diagnostics.d.ts.map +1 -0
- package/dist/formatters/diagnostics.js +73 -0
- package/dist/formatters/diagnostics.js.map +1 -0
- package/dist/formatters/docker.d.ts +139 -0
- package/dist/formatters/docker.d.ts.map +1 -0
- package/dist/formatters/docker.js +216 -0
- package/dist/formatters/docker.js.map +1 -0
- package/dist/formatters/host.d.ts +137 -0
- package/dist/formatters/host.d.ts.map +1 -0
- package/dist/formatters/host.js +198 -0
- package/dist/formatters/host.js.map +1 -0
- package/dist/formatters/index.d.ts +17 -270
- package/dist/formatters/index.d.ts.map +1 -1
- package/dist/formatters/index.js +21 -456
- package/dist/formatters/index.js.map +1 -1
- package/dist/formatters/scout.d.ts +424 -0
- package/dist/formatters/scout.d.ts.map +1 -0
- package/dist/formatters/scout.js +687 -0
- package/dist/formatters/scout.js.map +1 -0
- package/dist/formatters/strategy.d.ts +105 -0
- package/dist/formatters/strategy.d.ts.map +1 -0
- package/dist/formatters/strategy.js +120 -0
- package/dist/formatters/strategy.js.map +1 -0
- package/dist/formatters/utils.d.ts +84 -0
- package/dist/formatters/utils.d.ts.map +1 -0
- package/dist/formatters/utils.js +129 -0
- package/dist/formatters/utils.js.map +1 -0
- package/dist/health-rate-limiter.d.ts +59 -0
- package/dist/health-rate-limiter.d.ts.map +1 -0
- package/dist/health-rate-limiter.js +159 -0
- package/dist/health-rate-limiter.js.map +1 -0
- package/dist/index.js +61 -100
- package/dist/index.js.map +1 -1
- package/dist/middleware/async-handler.d.ts +62 -0
- package/dist/middleware/async-handler.d.ts.map +1 -0
- package/dist/middleware/async-handler.js +58 -0
- package/dist/middleware/async-handler.js.map +1 -0
- package/dist/middleware/auth.d.ts +32 -0
- package/dist/middleware/auth.d.ts.map +1 -0
- package/dist/middleware/auth.js +63 -0
- package/dist/middleware/auth.js.map +1 -0
- package/dist/middleware/csrf-protection.d.ts +58 -0
- package/dist/middleware/csrf-protection.d.ts.map +1 -0
- package/dist/middleware/csrf-protection.js +123 -0
- package/dist/middleware/csrf-protection.js.map +1 -0
- package/dist/middleware/error-handler.d.ts +49 -0
- package/dist/middleware/error-handler.d.ts.map +1 -0
- package/dist/middleware/error-handler.js +90 -0
- package/dist/middleware/error-handler.js.map +1 -0
- package/dist/middleware/error-mapper.d.ts +44 -0
- package/dist/middleware/error-mapper.d.ts.map +1 -0
- package/dist/middleware/error-mapper.js +127 -0
- package/dist/middleware/error-mapper.js.map +1 -0
- package/dist/middleware/index.d.ts +13 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +13 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/request-id.d.ts +22 -0
- package/dist/middleware/request-id.d.ts.map +1 -0
- package/dist/middleware/request-id.js +31 -0
- package/dist/middleware/request-id.js.map +1 -0
- package/dist/middleware/types.d.ts +33 -0
- package/dist/middleware/types.d.ts.map +1 -0
- package/dist/middleware/types.js +2 -0
- package/dist/middleware/types.js.map +1 -0
- package/dist/schemas/common.d.ts +205 -8
- package/dist/schemas/common.d.ts.map +1 -1
- package/dist/schemas/common.js +290 -17
- package/dist/schemas/common.js.map +1 -1
- package/dist/schemas/flux/compose.d.ts +307 -44
- package/dist/schemas/flux/compose.d.ts.map +1 -1
- package/dist/schemas/flux/compose.js +74 -48
- package/dist/schemas/flux/compose.js.map +1 -1
- package/dist/schemas/flux/container.d.ts +423 -56
- package/dist/schemas/flux/container.d.ts.map +1 -1
- package/dist/schemas/flux/container.js +83 -61
- package/dist/schemas/flux/container.js.map +1 -1
- package/dist/schemas/flux/docker.d.ts +254 -37
- package/dist/schemas/flux/docker.d.ts.map +1 -1
- package/dist/schemas/flux/docker.js +69 -39
- package/dist/schemas/flux/docker.js.map +1 -1
- package/dist/schemas/flux/host.d.ts +312 -29
- package/dist/schemas/flux/host.d.ts.map +1 -1
- package/dist/schemas/flux/host.js +74 -31
- package/dist/schemas/flux/host.js.map +1 -1
- package/dist/schemas/flux/index.d.ts +503 -11
- package/dist/schemas/flux/index.d.ts.map +1 -1
- package/dist/schemas/flux/index.js +34 -70
- package/dist/schemas/flux/index.js.map +1 -1
- package/dist/schemas/host-config.d.ts +76 -0
- package/dist/schemas/host-config.d.ts.map +1 -0
- package/dist/schemas/host-config.js +105 -0
- package/dist/schemas/host-config.js.map +1 -0
- package/dist/schemas/scout/index.d.ts +80 -23
- package/dist/schemas/scout/index.d.ts.map +1 -1
- package/dist/schemas/scout/index.js +26 -11
- package/dist/schemas/scout/index.js.map +1 -1
- package/dist/schemas/scout/logs.d.ts +17 -5
- package/dist/schemas/scout/logs.d.ts.map +1 -1
- package/dist/schemas/scout/logs.js +41 -31
- package/dist/schemas/scout/logs.js.map +1 -1
- package/dist/schemas/scout/simple.d.ts +126 -11
- package/dist/schemas/scout/simple.d.ts.map +1 -1
- package/dist/schemas/scout/simple.js +112 -57
- package/dist/schemas/scout/simple.js.map +1 -1
- package/dist/schemas/scout/zfs.d.ts +17 -5
- package/dist/schemas/scout/zfs.d.ts.map +1 -1
- package/dist/schemas/scout/zfs.js +34 -25
- package/dist/schemas/scout/zfs.js.map +1 -1
- package/dist/services/cache-layer.d.ts +160 -0
- package/dist/services/cache-layer.d.ts.map +1 -0
- package/dist/services/cache-layer.js +138 -0
- package/dist/services/cache-layer.js.map +1 -0
- package/dist/services/compose-cache.d.ts +75 -0
- package/dist/services/compose-cache.d.ts.map +1 -0
- package/dist/services/compose-cache.js +178 -0
- package/dist/services/compose-cache.js.map +1 -0
- package/dist/services/compose-discovery.d.ts +46 -0
- package/dist/services/compose-discovery.d.ts.map +1 -0
- package/dist/services/compose-discovery.js +219 -0
- package/dist/services/compose-discovery.js.map +1 -0
- package/dist/services/compose-project-lister.d.ts +27 -0
- package/dist/services/compose-project-lister.d.ts.map +1 -0
- package/dist/services/compose-project-lister.js +71 -0
- package/dist/services/compose-project-lister.js.map +1 -0
- package/dist/services/compose-scanner.d.ts +63 -0
- package/dist/services/compose-scanner.d.ts.map +1 -0
- package/dist/services/compose-scanner.js +253 -0
- package/dist/services/compose-scanner.js.map +1 -0
- package/dist/services/compose.d.ts +64 -28
- package/dist/services/compose.d.ts.map +1 -1
- package/dist/services/compose.js +220 -98
- package/dist/services/compose.js.map +1 -1
- package/dist/services/config-loader.d.ts +23 -0
- package/dist/services/config-loader.d.ts.map +1 -0
- package/dist/services/config-loader.js +124 -0
- package/dist/services/config-loader.js.map +1 -0
- package/dist/services/config-service.d.ts +38 -0
- package/dist/services/config-service.d.ts.map +1 -0
- package/dist/services/config-service.js +225 -0
- package/dist/services/config-service.js.map +1 -0
- package/dist/services/container-host-map-cache.d.ts +121 -0
- package/dist/services/container-host-map-cache.d.ts.map +1 -0
- package/dist/services/container-host-map-cache.js +188 -0
- package/dist/services/container-host-map-cache.js.map +1 -0
- package/dist/services/container.d.ts +194 -6
- package/dist/services/container.d.ts.map +1 -1
- package/dist/services/container.js +386 -11
- package/dist/services/container.js.map +1 -1
- package/dist/services/diagnostics.d.ts +57 -0
- package/dist/services/diagnostics.d.ts.map +1 -0
- package/dist/services/diagnostics.js +271 -0
- package/dist/services/diagnostics.js.map +1 -0
- package/dist/services/docker/container-service.d.ts +123 -0
- package/dist/services/docker/container-service.d.ts.map +1 -0
- package/dist/services/docker/container-service.js +347 -0
- package/dist/services/docker/container-service.js.map +1 -0
- package/dist/services/docker/image-service.d.ts +82 -0
- package/dist/services/docker/image-service.d.ts.map +1 -0
- package/dist/services/docker/image-service.js +193 -0
- package/dist/services/docker/image-service.js.map +1 -0
- package/dist/services/docker/index.d.ts +80 -0
- package/dist/services/docker/index.d.ts.map +1 -0
- package/dist/services/docker/index.js +103 -0
- package/dist/services/docker/index.js.map +1 -0
- package/dist/services/docker/network-service.d.ts +22 -0
- package/dist/services/docker/network-service.d.ts.map +1 -0
- package/dist/services/docker/network-service.js +43 -0
- package/dist/services/docker/network-service.js.map +1 -0
- package/dist/services/docker/system-service.d.ts +49 -0
- package/dist/services/docker/system-service.d.ts.map +1 -0
- package/dist/services/docker/system-service.js +215 -0
- package/dist/services/docker/system-service.js.map +1 -0
- package/dist/services/docker/utils/client-factory.d.ts +56 -0
- package/dist/services/docker/utils/client-factory.d.ts.map +1 -0
- package/dist/services/docker/utils/client-factory.js +139 -0
- package/dist/services/docker/utils/client-factory.js.map +1 -0
- package/dist/services/docker/utils/client-manager.d.ts +88 -0
- package/dist/services/docker/utils/client-manager.d.ts.map +1 -0
- package/dist/services/docker/utils/client-manager.js +124 -0
- package/dist/services/docker/utils/client-manager.js.map +1 -0
- package/dist/services/docker/utils/exec-handler.d.ts +94 -0
- package/dist/services/docker/utils/exec-handler.d.ts.map +1 -0
- package/dist/services/docker/utils/exec-handler.js +197 -0
- package/dist/services/docker/utils/exec-handler.js.map +1 -0
- package/dist/services/docker/utils/formatters.d.ts +13 -0
- package/dist/services/docker/utils/formatters.d.ts.map +1 -0
- package/dist/services/docker/utils/formatters.js +33 -0
- package/dist/services/docker/utils/formatters.js.map +1 -0
- package/dist/services/docker/utils/log-parser.d.ts +10 -0
- package/dist/services/docker/utils/log-parser.d.ts.map +1 -0
- package/dist/services/docker/utils/log-parser.js +48 -0
- package/dist/services/docker/utils/log-parser.js.map +1 -0
- package/dist/services/docker/utils/stats-calculator.d.ts +68 -0
- package/dist/services/docker/utils/stats-calculator.d.ts.map +1 -0
- package/dist/services/docker/utils/stats-calculator.js +61 -0
- package/dist/services/docker/utils/stats-calculator.js.map +1 -0
- package/dist/services/docker/volume-service.d.ts +22 -0
- package/dist/services/docker/volume-service.d.ts.map +1 -0
- package/dist/services/docker/volume-service.js +48 -0
- package/dist/services/docker/volume-service.js.map +1 -0
- package/dist/services/docker-interfaces.d.ts +283 -0
- package/dist/services/docker-interfaces.d.ts.map +1 -0
- package/dist/services/docker-interfaces.js +13 -0
- package/dist/services/docker-interfaces.js.map +1 -0
- package/dist/services/docker.d.ts +42 -5
- package/dist/services/docker.d.ts.map +1 -1
- package/dist/services/docker.js +335 -127
- package/dist/services/docker.js.map +1 -1
- package/dist/services/file-service.d.ts +6 -2
- package/dist/services/file-service.d.ts.map +1 -1
- package/dist/services/file-service.js +156 -52
- package/dist/services/file-service.js.map +1 -1
- package/dist/services/host-config-repository.d.ts +133 -0
- package/dist/services/host-config-repository.d.ts.map +1 -0
- package/dist/services/host-config-repository.js +323 -0
- package/dist/services/host-config-repository.js.map +1 -0
- package/dist/services/host-resolver.d.ts +49 -0
- package/dist/services/host-resolver.d.ts.map +1 -0
- package/dist/services/host-resolver.js +176 -0
- package/dist/services/host-resolver.js.map +1 -0
- package/dist/services/interfaces.d.ts +61 -194
- package/dist/services/interfaces.d.ts.map +1 -1
- package/dist/services/local-executor.d.ts +31 -0
- package/dist/services/local-executor.d.ts.map +1 -0
- package/dist/services/local-executor.js +71 -0
- package/dist/services/local-executor.js.map +1 -0
- package/dist/services/ssh-config-loader.d.ts +35 -0
- package/dist/services/ssh-config-loader.d.ts.map +1 -0
- package/dist/services/ssh-config-loader.js +218 -0
- package/dist/services/ssh-config-loader.js.map +1 -0
- package/dist/services/ssh-pool.d.ts +26 -1
- package/dist/services/ssh-pool.d.ts.map +1 -1
- package/dist/services/ssh-pool.js +166 -25
- package/dist/services/ssh-pool.js.map +1 -1
- package/dist/services/ssh-service.d.ts +3 -0
- package/dist/services/ssh-service.d.ts.map +1 -1
- package/dist/services/ssh-service.js +53 -31
- package/dist/services/ssh-service.js.map +1 -1
- package/dist/services/ssh.d.ts +2 -6
- package/dist/services/ssh.d.ts.map +1 -1
- package/dist/services/ssh.js +9 -40
- package/dist/services/ssh.js.map +1 -1
- package/dist/tools/definitions/flux.d.ts +13 -0
- package/dist/tools/definitions/flux.d.ts.map +1 -0
- package/dist/tools/definitions/flux.js +101 -0
- package/dist/tools/definitions/flux.js.map +1 -0
- package/dist/tools/definitions/index.d.ts +8 -0
- package/dist/tools/definitions/index.d.ts.map +1 -0
- package/dist/tools/definitions/index.js +8 -0
- package/dist/tools/definitions/index.js.map +1 -0
- package/dist/tools/definitions/scout.d.ts +13 -0
- package/dist/tools/definitions/scout.d.ts.map +1 -0
- package/dist/tools/definitions/scout.js +78 -0
- package/dist/tools/definitions/scout.js.map +1 -0
- package/dist/tools/flux.d.ts +16 -8
- package/dist/tools/flux.d.ts.map +1 -1
- package/dist/tools/flux.js +27 -66
- package/dist/tools/flux.js.map +1 -1
- package/dist/tools/handlers/base-handler.d.ts +172 -0
- package/dist/tools/handlers/base-handler.d.ts.map +1 -0
- package/dist/tools/handlers/base-handler.js +234 -0
- package/dist/tools/handlers/base-handler.js.map +1 -0
- package/dist/tools/handlers/compose-handlers.d.ts +108 -0
- package/dist/tools/handlers/compose-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/compose-handlers.js +293 -0
- package/dist/tools/handlers/compose-handlers.js.map +1 -0
- package/dist/tools/handlers/compose-utils.d.ts +35 -0
- package/dist/tools/handlers/compose-utils.d.ts.map +1 -0
- package/dist/tools/handlers/compose-utils.js +76 -0
- package/dist/tools/handlers/compose-utils.js.map +1 -0
- package/dist/tools/handlers/compose.d.ts +23 -0
- package/dist/tools/handlers/compose.d.ts.map +1 -0
- package/dist/tools/handlers/compose.js +125 -0
- package/dist/tools/handlers/compose.js.map +1 -0
- package/dist/tools/handlers/container.d.ts +23 -0
- package/dist/tools/handlers/container.d.ts.map +1 -0
- package/dist/tools/handlers/container.js +333 -0
- package/dist/tools/handlers/container.js.map +1 -0
- package/dist/tools/handlers/docker.d.ts +24 -0
- package/dist/tools/handlers/docker.d.ts.map +1 -0
- package/dist/tools/handlers/docker.js +155 -0
- package/dist/tools/handlers/docker.js.map +1 -0
- package/dist/tools/handlers/host.d.ts +23 -0
- package/dist/tools/handlers/host.d.ts.map +1 -0
- package/dist/tools/handlers/host.js +196 -0
- package/dist/tools/handlers/host.js.map +1 -0
- package/dist/tools/handlers/scout-logs.d.ts +24 -0
- package/dist/tools/handlers/scout-logs.d.ts.map +1 -0
- package/dist/tools/handlers/scout-logs.js +119 -0
- package/dist/tools/handlers/scout-logs.js.map +1 -0
- package/dist/tools/handlers/scout-simple.d.ts +23 -0
- package/dist/tools/handlers/scout-simple.d.ts.map +1 -0
- package/dist/tools/handlers/scout-simple.js +286 -0
- package/dist/tools/handlers/scout-simple.js.map +1 -0
- package/dist/tools/handlers/scout-zfs.d.ts +23 -0
- package/dist/tools/handlers/scout-zfs.d.ts.map +1 -0
- package/dist/tools/handlers/scout-zfs.js +82 -0
- package/dist/tools/handlers/scout-zfs.js.map +1 -0
- package/dist/tools/index.d.ts +32 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +41 -35
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/registry.d.ts +135 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +151 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/scout.d.ts +16 -8
- package/dist/tools/scout.d.ts.map +1 -1
- package/dist/tools/scout.js +36 -78
- package/dist/tools/scout.js.map +1 -1
- package/dist/types.d.ts +629 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/command-security.d.ts +82 -0
- package/dist/utils/command-security.d.ts.map +1 -0
- package/dist/utils/command-security.js +122 -0
- package/dist/utils/command-security.js.map +1 -0
- package/dist/utils/error-sanitization.d.ts +77 -0
- package/dist/utils/error-sanitization.d.ts.map +1 -0
- package/dist/utils/error-sanitization.js +107 -0
- package/dist/utils/error-sanitization.js.map +1 -0
- package/dist/utils/errors.d.ts +30 -6
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +91 -12
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/help-handler.d.ts +23 -0
- package/dist/utils/help-handler.d.ts.map +1 -0
- package/dist/utils/help-handler.js +21 -0
- package/dist/utils/help-handler.js.map +1 -0
- package/dist/utils/help.d.ts +1 -1
- package/dist/utils/help.d.ts.map +1 -1
- package/dist/utils/help.js +57 -16
- package/dist/utils/help.js.map +1 -1
- package/dist/utils/host-utils.d.ts +31 -0
- package/dist/utils/host-utils.d.ts.map +1 -0
- package/dist/utils/host-utils.js +80 -0
- package/dist/utils/host-utils.js.map +1 -0
- package/dist/utils/index.d.ts +8 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +8 -2
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/init-detection.d.ts +36 -0
- package/dist/utils/init-detection.d.ts.map +1 -0
- package/dist/utils/init-detection.js +79 -0
- package/dist/utils/init-detection.js.map +1 -0
- package/dist/utils/logger.d.ts +11 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +32 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/pagination.d.ts +20 -0
- package/dist/utils/pagination.d.ts.map +1 -0
- package/dist/utils/pagination.js +29 -0
- package/dist/utils/pagination.js.map +1 -0
- package/dist/utils/path-security.d.ts +132 -18
- package/dist/utils/path-security.d.ts.map +1 -1
- package/dist/utils/path-security.js +164 -35
- package/dist/utils/path-security.js.map +1 -1
- package/dist/utils/sorting.d.ts +33 -0
- package/dist/utils/sorting.d.ts.map +1 -0
- package/dist/utils/sorting.js +57 -0
- package/dist/utils/sorting.js.map +1 -0
- package/dist/utils/text-filters.d.ts +13 -0
- package/dist/utils/text-filters.d.ts.map +1 -0
- package/dist/utils/text-filters.js +18 -0
- package/dist/utils/text-filters.js.map +1 -0
- package/dist/utils/time.d.ts +11 -0
- package/dist/utils/time.d.ts.map +1 -0
- package/dist/utils/time.js +13 -0
- package/dist/utils/time.js.map +1 -0
- package/dist/utils/validation.d.ts +25 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +56 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +45 -19
- package/dist/schemas/discriminator.d.ts +0 -20
- package/dist/schemas/discriminator.d.ts.map +0 -1
- package/dist/schemas/discriminator.js +0 -25
- package/dist/schemas/discriminator.js.map +0 -1
- package/dist/schemas/unified.d.ts +0 -674
- package/dist/schemas/unified.d.ts.map +0 -1
- package/dist/schemas/unified.js +0 -453
- package/dist/schemas/unified.js.map +0 -1
- package/dist/tools/unified.d.ts +0 -7
- package/dist/tools/unified.d.ts.map +0 -1
- package/dist/tools/unified.js +0 -827
- package/dist/tools/unified.js.map +0 -1
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Docker Compose formatting utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides consistent markdown formatting for Compose project
|
|
5
|
+
* listing and status display.
|
|
6
|
+
* Follows docs/STYLE.md canonical output templates.
|
|
7
|
+
*/
|
|
8
|
+
import { COMPOSE_PROJECT_SEVERITY, COMPOSE_SERVICE_SEVERITY, sortBySeverity, } from "../utils/sorting.js";
|
|
9
|
+
import { getTimestamp } from "./utils.js";
|
|
10
|
+
/**
|
|
11
|
+
* Get canonical state symbol for compose project status
|
|
12
|
+
* STYLE.md Section 4.1: Status and State symbols
|
|
13
|
+
*/
|
|
14
|
+
function getStatusSymbol(status) {
|
|
15
|
+
if (status === "running")
|
|
16
|
+
return "●"; // running/active
|
|
17
|
+
if (status === "partial")
|
|
18
|
+
return "◐"; // partial/degraded
|
|
19
|
+
return "○"; // stopped/inactive
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Format compose project list as markdown following STYLE.md section 7.4
|
|
23
|
+
*/
|
|
24
|
+
export function formatComposeListMarkdown(projects, host, total, offset, hasMore, filters) {
|
|
25
|
+
if (projects.length === 0)
|
|
26
|
+
return `No compose projects found on ${host}.`;
|
|
27
|
+
// Count by status for status breakdown - STYLE.md Section 7.4
|
|
28
|
+
const statusCounts = projects.reduce((acc, p) => {
|
|
29
|
+
if (p.status === "running")
|
|
30
|
+
acc.running++;
|
|
31
|
+
else if (p.status === "partial")
|
|
32
|
+
acc.partial++;
|
|
33
|
+
else
|
|
34
|
+
acc.stopped++;
|
|
35
|
+
return acc;
|
|
36
|
+
}, { running: 0, partial: 0, stopped: 0 });
|
|
37
|
+
// Title - STYLE.md Section 3.1
|
|
38
|
+
const totalDisplay = total !== undefined ? ` (${total} total)` : "";
|
|
39
|
+
const title = `Docker Compose Stacks on ${host}${totalDisplay}`;
|
|
40
|
+
// Status breakdown - STYLE.md Section 7.4
|
|
41
|
+
const breakdownParts = [];
|
|
42
|
+
if (statusCounts.running > 0)
|
|
43
|
+
breakdownParts.push(`running: ${statusCounts.running}`);
|
|
44
|
+
if (statusCounts.partial > 0)
|
|
45
|
+
breakdownParts.push(`partial: ${statusCounts.partial}`);
|
|
46
|
+
if (statusCounts.stopped > 0)
|
|
47
|
+
breakdownParts.push(`stopped: ${statusCounts.stopped}`);
|
|
48
|
+
const statusBreakdown = `Status breakdown: ${breakdownParts.join(", ")}`;
|
|
49
|
+
// Request Echo - STYLE.md Section 3.5 (filters affect output)
|
|
50
|
+
const filterLine = filters
|
|
51
|
+
? `Filters: ${Object.entries(filters)
|
|
52
|
+
.map(([k, v]) => `${k}=${v}`)
|
|
53
|
+
.join(", ")}`
|
|
54
|
+
: "";
|
|
55
|
+
// Legend - STYLE.md Section 3.3 (for mixed states)
|
|
56
|
+
const states = new Set(projects.map((p) => p.status));
|
|
57
|
+
const hasMultipleStates = states.size > 1;
|
|
58
|
+
const legend = hasMultipleStates ? "Legend: ● running ◐ partial ○ stopped" : "";
|
|
59
|
+
// STYLE.md Section 3.6: Freshness timestamp for volatile data (discovery scans)
|
|
60
|
+
const timestamp = getTimestamp();
|
|
61
|
+
const lines = [title, statusBreakdown];
|
|
62
|
+
if (filterLine)
|
|
63
|
+
lines.push(filterLine);
|
|
64
|
+
lines.push(timestamp);
|
|
65
|
+
if (legend)
|
|
66
|
+
lines.push(legend);
|
|
67
|
+
lines.push(""); // blank line before table
|
|
68
|
+
// Table header - STYLE.md Section 5.1
|
|
69
|
+
lines.push(" Stack Status Services");
|
|
70
|
+
lines.push(" ------------------------- ---------- -------------------------");
|
|
71
|
+
// Sort by severity first - STYLE.md Section 12
|
|
72
|
+
const sorted = sortBySeverity(projects, (p) => p.status, COMPOSE_PROJECT_SEVERITY, (p) => p.name);
|
|
73
|
+
for (const p of sorted) {
|
|
74
|
+
const symbol = getStatusSymbol(p.status);
|
|
75
|
+
// Format services: [N] service1,service2…
|
|
76
|
+
const serviceCount = p.services.length;
|
|
77
|
+
const serviceNames = serviceCount === 0
|
|
78
|
+
? "—"
|
|
79
|
+
: serviceCount <= 2
|
|
80
|
+
? `[${serviceCount}] ${p.services.join(",")}`
|
|
81
|
+
: `[${serviceCount}] ${p.services.slice(0, 2).join(",")}…`;
|
|
82
|
+
// Format row with aligned columns
|
|
83
|
+
const nameCol = p.name.length > 25 ? `${p.name.slice(0, 24)}…` : p.name.padEnd(25);
|
|
84
|
+
const statusCol = p.status.padEnd(10);
|
|
85
|
+
const servicesCol = serviceNames.length > 25 ? `${serviceNames.slice(0, 24)}…` : serviceNames;
|
|
86
|
+
lines.push(`${symbol} ${nameCol} ${statusCol} ${servicesCol}`);
|
|
87
|
+
}
|
|
88
|
+
// Pagination footer - STYLE.md Section 12
|
|
89
|
+
if (hasMore && total !== undefined && offset !== undefined) {
|
|
90
|
+
lines.push("");
|
|
91
|
+
lines.push(`Showing ${offset + 1}–${offset + projects.length} of ${total} | next_offset: ${offset + projects.length}`);
|
|
92
|
+
}
|
|
93
|
+
return lines.join("\n");
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Format compose up operation result.
|
|
97
|
+
*
|
|
98
|
+
* Follows STYLE.md sections:
|
|
99
|
+
* - 3.1: Title format "Operation for project on host"
|
|
100
|
+
* - 3.2: Summary line with service count
|
|
101
|
+
* - 4.1: Canonical ● symbol for active services
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* formatComposeUpMarkdown(project, "host1", { servicesStarted: 3 })
|
|
105
|
+
* // Returns:
|
|
106
|
+
* // Compose Up for myapp on host1
|
|
107
|
+
* // Services started: 3
|
|
108
|
+
* //
|
|
109
|
+
* // ● myapp (3 services)
|
|
110
|
+
*/
|
|
111
|
+
export function formatComposeUpMarkdown(projectData, host, options) {
|
|
112
|
+
const title = `Compose Up for ${projectData.name} on ${host}`;
|
|
113
|
+
if (options.servicesStarted === 0) {
|
|
114
|
+
return `${title}\nNo services started`;
|
|
115
|
+
}
|
|
116
|
+
const summary = `Services started: ${options.servicesStarted}`;
|
|
117
|
+
const statusSymbol = "●"; // Canonical running symbol per STYLE.md 4.1
|
|
118
|
+
const statusLine = `${statusSymbol} ${projectData.name} (${options.servicesStarted} services)`;
|
|
119
|
+
return `${title}\n${summary}\n\n${statusLine}`;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Format compose project status as markdown following STYLE.md section 8.3
|
|
123
|
+
*/
|
|
124
|
+
export function formatComposeStatusMarkdown(project, totalServices, offset, hasMore) {
|
|
125
|
+
const statusSymbol = getStatusSymbol(project.status);
|
|
126
|
+
// Title - STYLE.md Section 3.1
|
|
127
|
+
const title = `Compose Stack: ${project.name} (${statusSymbol} ${project.status})`;
|
|
128
|
+
// Summary - STYLE.md Section 3.2
|
|
129
|
+
const summary = totalServices !== undefined
|
|
130
|
+
? `Services: ${totalServices} | Showing: ${offset || 0 + 1}–${(offset || 0) + project.services.length}`
|
|
131
|
+
: `Services: ${project.services.length}`;
|
|
132
|
+
// STYLE.md Section 3.6: Freshness timestamp for volatile data (status queries)
|
|
133
|
+
const timestamp = getTimestamp();
|
|
134
|
+
const lines = [title, summary, timestamp];
|
|
135
|
+
if (project.services.length === 0) {
|
|
136
|
+
lines.push("", "No services found.");
|
|
137
|
+
return lines.join("\n");
|
|
138
|
+
}
|
|
139
|
+
// Legend - STYLE.md Section 3.3 (for mixed service states)
|
|
140
|
+
const serviceStates = new Set(project.services.map((s) => s.status));
|
|
141
|
+
const hasMultipleStates = serviceStates.size > 1;
|
|
142
|
+
const legend = hasMultipleStates ? "Legend: ● running ○ stopped" : "";
|
|
143
|
+
if (legend)
|
|
144
|
+
lines.push(legend);
|
|
145
|
+
lines.push(""); // blank line before table
|
|
146
|
+
// Table header - STYLE.md Section 5.1
|
|
147
|
+
lines.push(" Service Status Health Ports");
|
|
148
|
+
lines.push(" ------------------------- ---------- ---------- ---------------");
|
|
149
|
+
// Sort by severity: stopped → running
|
|
150
|
+
const sorted = sortBySeverity(project.services, (s) => s.status, COMPOSE_SERVICE_SEVERITY, (s) => s.name);
|
|
151
|
+
for (const svc of sorted) {
|
|
152
|
+
const symbol = svc.status === "running" ? "●" : "○";
|
|
153
|
+
const health = svc.health || "—";
|
|
154
|
+
// Format ports with overflow notation
|
|
155
|
+
const ports = svc.publishers?.map((p) => `${p.publishedPort}→${p.targetPort}`) || [];
|
|
156
|
+
const portsDisplay = ports.length === 0
|
|
157
|
+
? "—"
|
|
158
|
+
: ports.length <= 3
|
|
159
|
+
? ports.join(",")
|
|
160
|
+
: `${ports.slice(0, 3).join(",")}+${ports.length - 3}`;
|
|
161
|
+
// Format row with aligned columns
|
|
162
|
+
const nameCol = svc.name.length > 25 ? `${svc.name.slice(0, 24)}…` : svc.name.padEnd(25);
|
|
163
|
+
const statusCol = svc.status.padEnd(10);
|
|
164
|
+
const healthCol = health.padEnd(10);
|
|
165
|
+
const portsCol = portsDisplay.length > 15 ? `${portsDisplay.slice(0, 14)}…` : portsDisplay;
|
|
166
|
+
lines.push(`${symbol} ${nameCol} ${statusCol} ${healthCol} ${portsCol}`);
|
|
167
|
+
}
|
|
168
|
+
// Pagination footer - STYLE.md Section 12
|
|
169
|
+
if (hasMore && totalServices !== undefined && offset !== undefined) {
|
|
170
|
+
lines.push("");
|
|
171
|
+
lines.push(`Showing ${offset + 1}–${offset + project.services.length} of ${totalServices} | next_offset: ${offset + project.services.length}`);
|
|
172
|
+
}
|
|
173
|
+
return lines.join("\n");
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Format compose down operation result.
|
|
177
|
+
*
|
|
178
|
+
* Follows STYLE.md sections:
|
|
179
|
+
* - 3.1: Title format "Operation for project on host"
|
|
180
|
+
* - 3.2: Summary line with counts
|
|
181
|
+
* - 4.1: Canonical ○ symbol for stopped services
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* formatComposeDownMarkdown(project, "host1", { servicesStopped: 3, volumesRemoved: 2 })
|
|
185
|
+
* // Returns:
|
|
186
|
+
* // Compose Down for myapp on host1
|
|
187
|
+
* // Services stopped: 3 | Volumes removed: 2
|
|
188
|
+
* //
|
|
189
|
+
* // ○ myapp (3 services stopped)
|
|
190
|
+
*/
|
|
191
|
+
export function formatComposeDownMarkdown(projectData, host, options) {
|
|
192
|
+
const title = `Compose Down for ${projectData.name} on ${host}`;
|
|
193
|
+
if (options.servicesStopped === 0) {
|
|
194
|
+
return `${title}\nNo services stopped`;
|
|
195
|
+
}
|
|
196
|
+
const summaryParts = [`Services stopped: ${options.servicesStopped}`];
|
|
197
|
+
if (options.volumesRemoved !== undefined && options.volumesRemoved > 0) {
|
|
198
|
+
summaryParts.push(`Volumes removed: ${options.volumesRemoved}`);
|
|
199
|
+
}
|
|
200
|
+
const summary = summaryParts.join(" | ");
|
|
201
|
+
const statusSymbol = "○"; // Stopped symbol per STYLE.md 4.1
|
|
202
|
+
const statusLine = `${statusSymbol} ${projectData.name} (${options.servicesStopped} services stopped)`;
|
|
203
|
+
return `${title}\n${summary}\n\n${statusLine}`;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Format compose restart operation result.
|
|
207
|
+
*
|
|
208
|
+
* Follows STYLE.md sections:
|
|
209
|
+
* - 3.1: Title format "Operation for project on host"
|
|
210
|
+
* - 3.2: Summary line with count
|
|
211
|
+
* - 4.1: Canonical ◐ symbol for restarting services
|
|
212
|
+
*
|
|
213
|
+
* @example
|
|
214
|
+
* formatComposeRestartMarkdown(project, "host1", { servicesRestarted: 3 })
|
|
215
|
+
* // Returns:
|
|
216
|
+
* // Compose Restart for myapp on host1
|
|
217
|
+
* // Services restarted: 3
|
|
218
|
+
* //
|
|
219
|
+
* // ◐ myapp (3 services restarted)
|
|
220
|
+
*/
|
|
221
|
+
export function formatComposeRestartMarkdown(projectData, host, options) {
|
|
222
|
+
const title = `Compose Restart for ${projectData.name} on ${host}`;
|
|
223
|
+
if (options.servicesRestarted === 0) {
|
|
224
|
+
return `${title}\nNo services restarted`;
|
|
225
|
+
}
|
|
226
|
+
const summary = `Services restarted: ${options.servicesRestarted}`;
|
|
227
|
+
const statusSymbol = "◐"; // Restarting symbol per STYLE.md 4.1
|
|
228
|
+
const statusLine = `${statusSymbol} ${projectData.name} (${options.servicesRestarted} services restarted)`;
|
|
229
|
+
return `${title}\n${summary}\n\n${statusLine}`;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Format compose recreate operation result.
|
|
233
|
+
*
|
|
234
|
+
* Follows STYLE.md sections:
|
|
235
|
+
* - 3.1: Title format "Operation for project on host"
|
|
236
|
+
* - 3.2: Summary line with count
|
|
237
|
+
* - 4.1: Canonical ● symbol (recreated = running)
|
|
238
|
+
*
|
|
239
|
+
* @example
|
|
240
|
+
* formatComposeRecreateMarkdown(project, "host1", { servicesRecreated: 3 })
|
|
241
|
+
* // Returns:
|
|
242
|
+
* // Compose Recreate for myapp on host1
|
|
243
|
+
* // Services recreated: 3
|
|
244
|
+
* //
|
|
245
|
+
* // ● myapp (3 services recreated)
|
|
246
|
+
*/
|
|
247
|
+
export function formatComposeRecreateMarkdown(projectData, host, options) {
|
|
248
|
+
const title = `Compose Recreate for ${projectData.name} on ${host}`;
|
|
249
|
+
if (options.servicesRecreated === 0) {
|
|
250
|
+
return `${title}\nNo services recreated`;
|
|
251
|
+
}
|
|
252
|
+
const summary = `Services recreated: ${options.servicesRecreated}`;
|
|
253
|
+
const statusSymbol = "●"; // Running symbol per STYLE.md 4.1
|
|
254
|
+
const statusLine = `${statusSymbol} ${projectData.name} (${options.servicesRecreated} services recreated)`;
|
|
255
|
+
return `${title}\n${summary}\n\n${statusLine}`;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Format compose pull operation result.
|
|
259
|
+
*
|
|
260
|
+
* Follows STYLE.md sections:
|
|
261
|
+
* - 3.1: Title format "Operation for project on host"
|
|
262
|
+
* - 3.2: Summary with counts (conditional parts)
|
|
263
|
+
* - 4.1: Canonical ✓ symbol for success
|
|
264
|
+
*
|
|
265
|
+
* @example
|
|
266
|
+
* formatComposePullMarkdown(project, "host1", { imagesPulled: 2, imagesUpToDate: 1 })
|
|
267
|
+
* // Returns:
|
|
268
|
+
* // Compose Pull for myapp on host1
|
|
269
|
+
* // Images pulled: 2 | Up-to-date: 1
|
|
270
|
+
* //
|
|
271
|
+
* // ✓ myapp (2 images updated, 1 already current)
|
|
272
|
+
*/
|
|
273
|
+
export function formatComposePullMarkdown(projectData, host, options) {
|
|
274
|
+
const title = `Compose Pull for ${projectData.name} on ${host}`;
|
|
275
|
+
if (options.imagesPulled === 0 && options.imagesUpToDate === 0) {
|
|
276
|
+
return `${title}\nNo images to pull`;
|
|
277
|
+
}
|
|
278
|
+
const summaryParts = [];
|
|
279
|
+
if (options.imagesPulled > 0) {
|
|
280
|
+
summaryParts.push(`Images pulled: ${options.imagesPulled}`);
|
|
281
|
+
}
|
|
282
|
+
if (options.imagesUpToDate > 0) {
|
|
283
|
+
summaryParts.push(`Up-to-date: ${options.imagesUpToDate}`);
|
|
284
|
+
}
|
|
285
|
+
const summary = summaryParts.join(" | ");
|
|
286
|
+
const statusSymbol = "✓"; // Success symbol per STYLE.md 4.1
|
|
287
|
+
const statusLine = `${statusSymbol} ${projectData.name} (${options.imagesPulled} images updated, ${options.imagesUpToDate} already current)`;
|
|
288
|
+
return `${title}\n${summary}\n\n${statusLine}`;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Format compose build operation result.
|
|
292
|
+
*
|
|
293
|
+
* Follows STYLE.md sections:
|
|
294
|
+
* - 3.1: Title format "Operation for project on host"
|
|
295
|
+
* - 3.2: Summary with counts and optional duration
|
|
296
|
+
* - 4.1: Canonical ✓ symbol for success
|
|
297
|
+
*
|
|
298
|
+
* @example
|
|
299
|
+
* formatComposeBuildMarkdown(project, "host1", { servicesBuilt: 2, duration: 45 })
|
|
300
|
+
* // Returns:
|
|
301
|
+
* // Compose Build for myapp on host1
|
|
302
|
+
* // Services built: 2 | Duration: 45s
|
|
303
|
+
* //
|
|
304
|
+
* // ✓ myapp (2 services built in 45s)
|
|
305
|
+
*/
|
|
306
|
+
export function formatComposeBuildMarkdown(projectData, host, options) {
|
|
307
|
+
const title = `Compose Build for ${projectData.name} on ${host}`;
|
|
308
|
+
if (options.servicesBuilt === 0) {
|
|
309
|
+
return `${title}\nNo services built`;
|
|
310
|
+
}
|
|
311
|
+
const summaryParts = [`Services built: ${options.servicesBuilt}`];
|
|
312
|
+
if (options.duration !== undefined) {
|
|
313
|
+
summaryParts.push(`Duration: ${options.duration}s`);
|
|
314
|
+
}
|
|
315
|
+
const summary = summaryParts.join(" | ");
|
|
316
|
+
const statusSymbol = "✓"; // Success symbol per STYLE.md 4.1
|
|
317
|
+
const statusParts = [`${options.servicesBuilt} services built`];
|
|
318
|
+
if (options.duration !== undefined) {
|
|
319
|
+
statusParts.push(`in ${options.duration}s`);
|
|
320
|
+
}
|
|
321
|
+
const statusLine = `${statusSymbol} ${projectData.name} (${statusParts.join(" ")})`;
|
|
322
|
+
return `${title}\n${summary}\n\n${statusLine}`;
|
|
323
|
+
}
|
|
324
|
+
/** Preview threshold for log output - show preview format when exceeding this */
|
|
325
|
+
const PREVIEW_THRESHOLD = 10;
|
|
326
|
+
/**
|
|
327
|
+
* Format compose logs operation result.
|
|
328
|
+
*
|
|
329
|
+
* Follows STYLE.md sections:
|
|
330
|
+
* - 3.1: Title format "Container Logs for project on host"
|
|
331
|
+
* - 3.2: Summary with counts and flags
|
|
332
|
+
* - 7.5: Preview format (first 5 + last 5) for outputs >10 lines
|
|
333
|
+
* - 4.1: Stream labels [stdout]/[stderr]
|
|
334
|
+
*
|
|
335
|
+
* @example
|
|
336
|
+
* formatComposeLogsMarkdown(project, "host1", {
|
|
337
|
+
* logs: [{ stream: 'stdout', message: 'line 1' }],
|
|
338
|
+
* requested: 10,
|
|
339
|
+
* truncated: false,
|
|
340
|
+
* follow: false
|
|
341
|
+
* })
|
|
342
|
+
* // Returns:
|
|
343
|
+
* // Container Logs for myapp on host1
|
|
344
|
+
* // Lines returned: 1 (requested: 10) | truncated: no | follow: no
|
|
345
|
+
* //
|
|
346
|
+
* // [stdout] line 1
|
|
347
|
+
*/
|
|
348
|
+
export function formatComposeLogsMarkdown(projectData, host, options) {
|
|
349
|
+
const title = `Container Logs for ${projectData.name} on ${host}`;
|
|
350
|
+
const summary = [
|
|
351
|
+
`Lines returned: ${options.logs.length} (requested: ${options.requested})`,
|
|
352
|
+
`truncated: ${options.truncated ? "yes" : "no"}`,
|
|
353
|
+
`follow: ${options.follow ? "yes" : "no"}`,
|
|
354
|
+
].join(" | ");
|
|
355
|
+
// STYLE.md Section 3.6: Freshness timestamp for volatile data (logs)
|
|
356
|
+
const timestamp = getTimestamp();
|
|
357
|
+
const formatLogLine = (log) => ` [${log.stream}] ${log.message}`;
|
|
358
|
+
let logOutput;
|
|
359
|
+
if (options.logs.length <= PREVIEW_THRESHOLD) {
|
|
360
|
+
// Show all lines
|
|
361
|
+
logOutput = options.logs.map(formatLogLine).join("\n");
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
// Preview format per STYLE.md 7.5
|
|
365
|
+
const first5 = options.logs.slice(0, 5).map(formatLogLine).join("\n");
|
|
366
|
+
const last5 = options.logs.slice(-5).map(formatLogLine).join("\n");
|
|
367
|
+
logOutput = `Preview (first 5):\n${first5}\n ...\n\nPreview (last 5):\n${last5}\n ...`;
|
|
368
|
+
}
|
|
369
|
+
return `${title}\n${summary}\n${timestamp}\n\n${logOutput}`;
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Format compose refresh/discovery operation result.
|
|
373
|
+
*
|
|
374
|
+
* Follows STYLE.md sections:
|
|
375
|
+
* - 3.1: Title format "Operation on host"
|
|
376
|
+
* - 3.2: Summary with counts
|
|
377
|
+
* - 4.1: Canonical ✓ symbol for success
|
|
378
|
+
*
|
|
379
|
+
* @example
|
|
380
|
+
* formatComposeRefreshMarkdown("host1", { discovered: 2, updated: 1 })
|
|
381
|
+
* // Returns:
|
|
382
|
+
* // Compose Refresh on host1
|
|
383
|
+
* // Discovered: 2 | Updated: 1
|
|
384
|
+
* //
|
|
385
|
+
* // ✓ Compose projects refreshed (2 discovered, 1 updated)
|
|
386
|
+
*/
|
|
387
|
+
export function formatComposeRefreshMarkdown(host, options) {
|
|
388
|
+
const title = `Compose Refresh on ${host}`;
|
|
389
|
+
if (options.discovered === 0 && options.updated === 0) {
|
|
390
|
+
return `${title}\nNo changes detected`;
|
|
391
|
+
}
|
|
392
|
+
const summary = `Discovered: ${options.discovered} | Updated: ${options.updated}`;
|
|
393
|
+
const statusSymbol = "✓"; // Success symbol per STYLE.md 4.1
|
|
394
|
+
const statusLine = `${statusSymbol} Compose projects refreshed (${options.discovered} discovered, ${options.updated} updated)`;
|
|
395
|
+
return `${title}\n${summary}\n\n${statusLine}`;
|
|
396
|
+
}
|
|
397
|
+
//# sourceMappingURL=compose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/formatters/compose.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Container formatting utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides consistent markdown formatting for container operations:
|
|
5
|
+
* listing, logs, stats, inspection, and search.
|
|
6
|
+
*/
|
|
7
|
+
import type { ContainerInfo, ContainerStats, DockerRawContainerInspectInfo } from "../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Format container list as markdown following STYLE.md section 7.3
|
|
10
|
+
*/
|
|
11
|
+
export declare function formatContainersMarkdown(containers: ContainerInfo[], total: number, offset: number, hasMore: boolean, filters?: Record<string, string | number | boolean>): string;
|
|
12
|
+
/**
|
|
13
|
+
* Format container logs as markdown following STYLE.md section 7.5
|
|
14
|
+
*
|
|
15
|
+
* Uses preview format (first 5 + last 5) for outputs >10 lines
|
|
16
|
+
*/
|
|
17
|
+
export declare function formatLogsMarkdown(logs: Array<{
|
|
18
|
+
stream: "stdout" | "stderr";
|
|
19
|
+
message: string;
|
|
20
|
+
}>, container: string, host: string, requested: number, truncated: boolean, follow: boolean): string;
|
|
21
|
+
/**
|
|
22
|
+
* Format single container stats as markdown following STYLE.md
|
|
23
|
+
*/
|
|
24
|
+
export declare function formatStatsMarkdown(stats: ContainerStats[], host: string): string;
|
|
25
|
+
/**
|
|
26
|
+
* Format multiple container stats as markdown table
|
|
27
|
+
* STYLE.md Section 3.1: Plain text title
|
|
28
|
+
* STYLE.md Section 3.2: Summary with rollup counts
|
|
29
|
+
* STYLE.md Section 3.6: Freshness timestamp for volatile data
|
|
30
|
+
* STYLE.md Section 10.2: Warning thresholds (CPU>90%, MEM>90%)
|
|
31
|
+
* STYLE.md Section 12: Severity-first sorting
|
|
32
|
+
*/
|
|
33
|
+
export declare function formatMultiStatsMarkdown(allStats: Array<{
|
|
34
|
+
stats: ContainerStats;
|
|
35
|
+
host: string;
|
|
36
|
+
}>): string;
|
|
37
|
+
/**
|
|
38
|
+
* Format container inspection as markdown
|
|
39
|
+
* STYLE.md Section 3.1: Plain text title (no markdown ##/###)
|
|
40
|
+
* STYLE.md Section 4.1: Canonical → for port mapping
|
|
41
|
+
*/
|
|
42
|
+
export declare function formatInspectMarkdown(info: DockerRawContainerInspectInfo, host: string): string;
|
|
43
|
+
/**
|
|
44
|
+
* Format search results as markdown
|
|
45
|
+
*/
|
|
46
|
+
export declare function formatSearchResultsMarkdown(containers: ContainerInfo[], query: string, total: number): string;
|
|
47
|
+
/**
|
|
48
|
+
* Container inspect summary type
|
|
49
|
+
*/
|
|
50
|
+
export interface ContainerInspectSummary {
|
|
51
|
+
id: string;
|
|
52
|
+
name: string;
|
|
53
|
+
image: string;
|
|
54
|
+
state: string;
|
|
55
|
+
created: string;
|
|
56
|
+
started: string;
|
|
57
|
+
restartCount: number;
|
|
58
|
+
ports: string[];
|
|
59
|
+
mounts: Array<{
|
|
60
|
+
src?: string;
|
|
61
|
+
dst?: string;
|
|
62
|
+
type?: string;
|
|
63
|
+
}>;
|
|
64
|
+
networks: string[];
|
|
65
|
+
env_count: number;
|
|
66
|
+
labels_count: number;
|
|
67
|
+
host: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Format container inspect summary as markdown (condensed version)
|
|
71
|
+
*/
|
|
72
|
+
export declare function formatInspectSummaryMarkdown(summary: ContainerInspectSummary): string;
|
|
73
|
+
/**
|
|
74
|
+
* Format container lifecycle operations as one-liners
|
|
75
|
+
* Simple success messages per STYLE.md - no elaborate formatting needed
|
|
76
|
+
*/
|
|
77
|
+
export declare function formatContainerStartMarkdown(container: string, host: string): string;
|
|
78
|
+
export declare function formatContainerStopMarkdown(container: string, host: string): string;
|
|
79
|
+
export declare function formatContainerRestartMarkdown(container: string, host: string): string;
|
|
80
|
+
export declare function formatContainerPauseMarkdown(container: string, host: string): string;
|
|
81
|
+
export declare function formatContainerResumeMarkdown(container: string, host: string): string;
|
|
82
|
+
export declare function formatContainerExecMarkdown(container: string, host: string, command: string, output: string, exitCode: number): string;
|
|
83
|
+
export declare function formatContainerTopMarkdown(container: string, host: string, processes: string): string;
|
|
84
|
+
//# sourceMappingURL=container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/formatters/container.ts"],"names":[],"mappings":"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"}
|