langmart-gateway-type3 3.0.8 → 3.0.10

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.
@@ -0,0 +1,102 @@
1
+ # Gateway Type 3 Stop Script for Windows
2
+ # Features: Service mode detection, graceful shutdown, RESULT output
3
+
4
+ $ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
5
+ $ProjectDir = Split-Path -Parent $ScriptDir
6
+ $InstallDir = if ($ProjectDir -like "*node_modules*") { (Get-Location).Path } else { $ProjectDir }
7
+
8
+ $EnvFile = Join-Path $InstallDir ".env"
9
+ $PidFile = Join-Path $InstallDir "gateway.pid"
10
+ $ServiceModeFile = Join-Path $InstallDir ".service-mode"
11
+ $ServiceName = "LangMartGateway"
12
+
13
+ function Write-Log { param([string]$Message, [string]$Type = "INFO"); Write-Output "[$Type] $(Get-Date -Format 'HH:mm:ss') - $Message" }
14
+
15
+ function Test-ServiceMode {
16
+ if (Test-Path $ServiceModeFile) {
17
+ $mode = Get-Content $ServiceModeFile -ErrorAction SilentlyContinue
18
+ if ($mode -eq "windows-service") {
19
+ if (Get-Service -Name $ServiceName -ErrorAction SilentlyContinue) { return $true }
20
+ }
21
+ }
22
+ return $false
23
+ }
24
+
25
+ # Load .env for GATEWAY_PORT
26
+ if (Test-Path $EnvFile) {
27
+ Get-Content $EnvFile | ForEach-Object {
28
+ if ($_ -match '^([^#=]+)=(.*)$') {
29
+ [Environment]::SetEnvironmentVariable($matches[1].Trim(), $matches[2].Trim().Trim('"').Trim("'"), 'Process')
30
+ }
31
+ }
32
+ }
33
+
34
+ $GatewayPort = if ($env:GATEWAY_PORT) { [int]$env:GATEWAY_PORT } else { 8083 }
35
+
36
+ Write-Log "=== Gateway Type 3 Stop Script ==="
37
+ Write-Log "Install directory: $InstallDir"
38
+ Write-Log "Port: $GatewayPort"
39
+
40
+ # CHECK SERVICE MODE
41
+ $serviceMode = Test-ServiceMode
42
+ if ($serviceMode) {
43
+ Write-Log "Service mode detected (Windows Service)"
44
+ $service = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue
45
+ if ($service.Status -ne "Running") {
46
+ Write-Log "Service is not running" "SUCCESS"
47
+ if (Test-Path $PidFile) { Remove-Item $PidFile -Force -ErrorAction SilentlyContinue }
48
+ Write-Output "RESULT:stopped=true,mode=service"; exit 0
49
+ }
50
+ Write-Log "Stopping service via Windows Service Manager..."
51
+ try {
52
+ Stop-Service -Name $ServiceName -Force -ErrorAction Stop; Start-Sleep -Seconds 2
53
+ $checkPid = (Get-NetTCPConnection -LocalPort $GatewayPort -State Listen -ErrorAction SilentlyContinue).OwningProcess | Select-Object -First 1
54
+ if (-not $checkPid) {
55
+ Write-Log "Service stopped successfully" "SUCCESS"
56
+ if (Test-Path $PidFile) { Remove-Item $PidFile -Force }
57
+ Write-Output "RESULT:stopped=true,mode=service"; exit 0
58
+ }
59
+ } catch { Write-Log "Service stop via manager failed: $_" "WARN" }
60
+ }
61
+
62
+ # STANDALONE MODE / FALLBACK
63
+ if (-not $serviceMode) { Write-Log "Running in standalone mode" }
64
+
65
+ try {
66
+ $existingPID = (Get-NetTCPConnection -LocalPort $GatewayPort -State Listen -ErrorAction SilentlyContinue).OwningProcess | Select-Object -First 1
67
+ } catch { $existingPID = $null }
68
+
69
+ if (-not $existingPID) {
70
+ Write-Log "Gateway is not running on port $GatewayPort" "SUCCESS"
71
+ if (Test-Path $PidFile) { Remove-Item $PidFile -Force -ErrorAction SilentlyContinue }
72
+ Write-Output "RESULT:stopped=true,mode=standalone"; exit 0
73
+ }
74
+
75
+ Write-Log "Found gateway running on port $GatewayPort (PID: $existingPID)"
76
+
77
+ # Try graceful shutdown via API
78
+ Write-Log "Attempting graceful shutdown via API..."
79
+ try {
80
+ Invoke-WebRequest -Uri "http://localhost:$GatewayPort/shutdown" -Method POST -TimeoutSec 5 -ErrorAction SilentlyContinue | Out-Null
81
+ Write-Log "Shutdown signal sent"; Start-Sleep -Seconds 2
82
+ $checkPid = (Get-NetTCPConnection -LocalPort $GatewayPort -State Listen -ErrorAction SilentlyContinue).OwningProcess | Select-Object -First 1
83
+ if (-not $checkPid) {
84
+ Write-Log "Gateway stopped gracefully" "SUCCESS"
85
+ if (Test-Path $PidFile) { Remove-Item $PidFile -Force }
86
+ Write-Output "RESULT:stopped=true,mode=standalone"; exit 0
87
+ }
88
+ } catch { Write-Log "Graceful shutdown failed" "WARN" }
89
+
90
+ # Force kill
91
+ Write-Log "Graceful shutdown failed, forcing stop..." "WARN"
92
+ try { Stop-Process -Id $existingPID -Force -ErrorAction SilentlyContinue; Start-Sleep -Seconds 1 } catch {}
93
+
94
+ $checkPid = (Get-NetTCPConnection -LocalPort $GatewayPort -State Listen -ErrorAction SilentlyContinue).OwningProcess | Select-Object -First 1
95
+ if (-not $checkPid) {
96
+ Write-Log "Gateway stopped (forced)" "SUCCESS"
97
+ if (Test-Path $PidFile) { Remove-Item $PidFile -Force }
98
+ Write-Output "RESULT:stopped=true,mode=standalone"; exit 0
99
+ } else {
100
+ Write-Log "Failed to stop gateway" "ERROR"
101
+ Write-Output "RESULT:stopped=false,mode=standalone"; exit 1
102
+ }
package/scripts/stop.sh CHANGED
@@ -1,67 +1,145 @@
1
1
  #!/bin/bash
2
- # Stop Gateway Type 3 gracefully
2
+ # Gateway Type 3 Stop Script
3
+ # Gracefully stops the gateway with fallback to force kill
4
+ # Handles both service mode and standalone mode
5
+ #
6
+ # Output: RESULT:stopped=true|false,mode=service|standalone
3
7
 
4
- # Colors
5
- GREEN='\033[0;32m'
6
- YELLOW='\033[1;33m'
7
- RED='\033[0;31m'
8
- BLUE='\033[0;34m'
9
- NC='\033[0m' # No Color
8
+ set -e
9
+
10
+ # Get script directory and project directory
11
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
12
+ PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
13
+
14
+ # If running from node_modules, find the actual install dir
15
+ if [[ "$PROJECT_DIR" == *"node_modules"* ]]; then
16
+ INSTALL_DIR="$(cd "$PROJECT_DIR/../.." && pwd)"
17
+ else
18
+ INSTALL_DIR="$PROJECT_DIR"
19
+ fi
10
20
 
11
21
  # Configuration
12
- GATEWAY_PORT=8083
13
- PID_FILE="/tmp/gw3.pid"
22
+ ENV_FILE="${INSTALL_DIR}/.env"
23
+ PID_FILE="${INSTALL_DIR}/gateway.pid"
24
+ SERVICE_MODE_FILE="${INSTALL_DIR}/.service-mode"
25
+ SERVICE_NAME="langmart-gateway"
26
+ service_mode=false
14
27
 
15
- # Detect host IP
16
- HOST_IP=$(hostname -I | awk '{print $1}')
17
- if [ -z "$HOST_IP" ]; then
18
- HOST_IP="localhost"
28
+ # Load .env for GATEWAY_PORT
29
+ if [ -f "$ENV_FILE" ]; then
30
+ set -a
31
+ source "$ENV_FILE"
32
+ set +a
19
33
  fi
20
34
 
21
- echo -e "${BLUE}Stopping Gateway Type 3...${NC}"
35
+ GATEWAY_PORT="${GATEWAY_PORT:-8083}"
36
+
37
+ # Log function
38
+ log() {
39
+ local level="${2:-INFO}"
40
+ local timestamp=$(date +"%H:%M:%S")
41
+ echo "[$level] $timestamp - $1"
42
+ }
43
+
44
+ # Check if running in service mode
45
+ check_service_mode() {
46
+ if [ -f "$SERVICE_MODE_FILE" ]; then
47
+ local mode=$(cat "$SERVICE_MODE_FILE" 2>/dev/null || echo "")
48
+ if [ "$mode" = "systemd" ]; then
49
+ if systemctl list-unit-files 2>/dev/null | grep -q "^${SERVICE_NAME}.service"; then
50
+ service_mode=true
51
+ return 0
52
+ fi
53
+ fi
54
+ fi
55
+ service_mode=false
56
+ return 1
57
+ }
58
+
59
+ log "=== Gateway Type 3 Stop Script ==="
60
+ log "Install directory: $INSTALL_DIR"
61
+ log "Port: $GATEWAY_PORT"
62
+
63
+ # ============================================
64
+ # CHECK SERVICE MODE
65
+ # ============================================
66
+ check_service_mode
67
+ if [ "$service_mode" = true ]; then
68
+ log "Service mode detected (systemd)"
69
+
70
+ service_status=$(systemctl is-active "$SERVICE_NAME" 2>/dev/null || echo "inactive")
71
+
72
+ if [ "$service_status" != "active" ]; then
73
+ log "Service is not running" "SUCCESS"
74
+ [ -f "$PID_FILE" ] && rm -f "$PID_FILE"
75
+ echo "RESULT:stopped=true,mode=service"
76
+ exit 0
77
+ fi
78
+
79
+ log "Stopping service via systemctl..."
80
+ if sudo systemctl stop "$SERVICE_NAME" 2>/dev/null || systemctl stop "$SERVICE_NAME" 2>/dev/null; then
81
+ sleep 2
82
+ check_pid=$(lsof -ti:$GATEWAY_PORT 2>/dev/null || true)
83
+ if [ -z "$check_pid" ]; then
84
+ log "Service stopped successfully" "SUCCESS"
85
+ rm -f "$PID_FILE"
86
+ echo "RESULT:stopped=true,mode=service"
87
+ exit 0
88
+ fi
89
+ fi
90
+ log "Service stop via systemctl failed, trying direct stop..." "WARN"
91
+ fi
92
+
93
+ # ============================================
94
+ # STANDALONE MODE / FALLBACK
95
+ # ============================================
96
+ [ "$service_mode" != true ] && log "Running in standalone mode"
22
97
 
23
98
  # Check if running
24
- if ! lsof -i :$GATEWAY_PORT -sTCP:LISTEN -t >/dev/null 2>&1; then
25
- echo -e "${YELLOW}Gateway Type 3 is not running${NC}"
26
- # Clean up PID file if exists
99
+ existing_pid=$(lsof -ti:$GATEWAY_PORT 2>/dev/null || true)
100
+
101
+ if [ -z "$existing_pid" ]; then
102
+ log "Gateway is not running on port $GATEWAY_PORT" "SUCCESS"
27
103
  [ -f "$PID_FILE" ] && rm -f "$PID_FILE"
104
+ echo "RESULT:stopped=true,mode=standalone"
28
105
  exit 0
29
106
  fi
30
107
 
31
- # Try graceful shutdown via management API
32
- echo -e "${YELLOW}Attempting graceful shutdown via API...${NC}"
33
- if curl -s -X POST "http://$HOST_IP:$GATEWAY_PORT/shutdown" > /dev/null 2>&1; then
34
- echo -e "${GREEN} Shutdown signal sent${NC}"
108
+ log "Found gateway running on port $GATEWAY_PORT (PID: $existing_pid)"
109
+
110
+ # Get host IP for API call
111
+ HOST_IP=$(hostname -I 2>/dev/null | awk '{print $1}' || echo "localhost")
112
+ [ -z "$HOST_IP" ] && HOST_IP="localhost"
35
113
 
36
- # Wait for graceful shutdown
114
+ # Try graceful shutdown via API
115
+ log "Attempting graceful shutdown via API..."
116
+ if curl -s -X POST "http://$HOST_IP:$GATEWAY_PORT/shutdown" > /dev/null 2>&1; then
117
+ log "Shutdown signal sent"
37
118
  sleep 2
38
119
 
39
- # Check if it stopped
40
- if ! lsof -i :$GATEWAY_PORT -sTCP:LISTEN -t >/dev/null 2>&1; then
41
- echo -e "${GREEN}✅ Gateway Type 3 stopped gracefully${NC}"
120
+ check_pid=$(lsof -ti:$GATEWAY_PORT 2>/dev/null || true)
121
+ if [ -z "$check_pid" ]; then
122
+ log "Gateway stopped gracefully" "SUCCESS"
42
123
  rm -f "$PID_FILE"
124
+ echo "RESULT:stopped=true,mode=standalone"
43
125
  exit 0
44
126
  fi
45
127
  fi
46
128
 
47
- # Fallback: Force kill using port
48
- echo -e "${YELLOW}Graceful shutdown failed, forcing stop...${NC}"
49
- PIDS=$(lsof -ti :$GATEWAY_PORT 2>/dev/null)
129
+ # Fallback: Force kill
130
+ log "Graceful shutdown failed, forcing stop..." "WARN"
131
+ kill -9 $existing_pid 2>/dev/null || true
132
+ sleep 1
50
133
 
51
- if [ -n "$PIDS" ]; then
52
- kill -9 $PIDS 2>/dev/null
53
- sleep 1
54
-
55
- if ! lsof -i :$GATEWAY_PORT -sTCP:LISTEN -t >/dev/null 2>&1; then
56
- echo -e "${GREEN}✅ Gateway Type 3 stopped${NC}"
57
- rm -f "$PID_FILE"
58
- exit 0
59
- else
60
- echo -e "${RED}❌ Failed to stop Gateway Type 3${NC}"
61
- exit 1
62
- fi
63
- else
64
- echo -e "${YELLOW}No process found on port $GATEWAY_PORT${NC}"
134
+ # Verify stopped
135
+ check_pid=$(lsof -ti:$GATEWAY_PORT 2>/dev/null || true)
136
+ if [ -z "$check_pid" ]; then
137
+ log "Gateway stopped (forced)" "SUCCESS"
65
138
  rm -f "$PID_FILE"
139
+ echo "RESULT:stopped=true,mode=standalone"
66
140
  exit 0
141
+ else
142
+ log "Failed to stop gateway" "ERROR"
143
+ echo "RESULT:stopped=false,mode=standalone"
144
+ exit 1
67
145
  fi
@@ -1 +0,0 @@
1
- {"version":3,"file":"devops-tools.d.ts","sourceRoot":"","sources":["../devops-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"devops-tools.js","sourceRoot":"","sources":["../devops-tools.ts"],"names":[],"mappings":"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"}