langmart-gateway-type3 3.0.0

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 (75) hide show
  1. package/.env.example +29 -0
  2. package/README.md +480 -0
  3. package/dist/bash-tools.d.ts +56 -0
  4. package/dist/bash-tools.d.ts.map +1 -0
  5. package/dist/bash-tools.js +188 -0
  6. package/dist/bash-tools.js.map +1 -0
  7. package/dist/core-tools.d.ts +94 -0
  8. package/dist/core-tools.d.ts.map +1 -0
  9. package/dist/core-tools.js +694 -0
  10. package/dist/core-tools.js.map +1 -0
  11. package/dist/debug-utils.d.ts +22 -0
  12. package/dist/debug-utils.d.ts.map +1 -0
  13. package/dist/debug-utils.js +37 -0
  14. package/dist/debug-utils.js.map +1 -0
  15. package/dist/devops-tools.d.ts +147 -0
  16. package/dist/devops-tools.d.ts.map +1 -0
  17. package/dist/devops-tools.js +718 -0
  18. package/dist/devops-tools.js.map +1 -0
  19. package/dist/gateway-config.d.ts +56 -0
  20. package/dist/gateway-config.d.ts.map +1 -0
  21. package/dist/gateway-config.js +198 -0
  22. package/dist/gateway-config.js.map +1 -0
  23. package/dist/gateway-mode.d.ts +58 -0
  24. package/dist/gateway-mode.d.ts.map +1 -0
  25. package/dist/gateway-mode.js +240 -0
  26. package/dist/gateway-mode.js.map +1 -0
  27. package/dist/gateway-server.d.ts +208 -0
  28. package/dist/gateway-server.d.ts.map +1 -0
  29. package/dist/gateway-server.js +1811 -0
  30. package/dist/gateway-server.js.map +1 -0
  31. package/dist/headless-session.d.ts +192 -0
  32. package/dist/headless-session.d.ts.map +1 -0
  33. package/dist/headless-session.js +584 -0
  34. package/dist/headless-session.js.map +1 -0
  35. package/dist/index-server.d.ts +4 -0
  36. package/dist/index-server.d.ts.map +1 -0
  37. package/dist/index-server.js +129 -0
  38. package/dist/index-server.js.map +1 -0
  39. package/dist/index.d.ts +6 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +101 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/key-vault.d.ts +102 -0
  44. package/dist/key-vault.d.ts.map +1 -0
  45. package/dist/key-vault.js +365 -0
  46. package/dist/key-vault.js.map +1 -0
  47. package/dist/local-vault.d.ts +195 -0
  48. package/dist/local-vault.d.ts.map +1 -0
  49. package/dist/local-vault.js +571 -0
  50. package/dist/local-vault.js.map +1 -0
  51. package/dist/marketplace-tools.d.ts +104 -0
  52. package/dist/marketplace-tools.d.ts.map +1 -0
  53. package/dist/marketplace-tools.js +2846 -0
  54. package/dist/marketplace-tools.js.map +1 -0
  55. package/dist/mcp-manager.d.ts +114 -0
  56. package/dist/mcp-manager.d.ts.map +1 -0
  57. package/dist/mcp-manager.js +338 -0
  58. package/dist/mcp-manager.js.map +1 -0
  59. package/dist/web-tools.d.ts +86 -0
  60. package/dist/web-tools.d.ts.map +1 -0
  61. package/dist/web-tools.js +431 -0
  62. package/dist/web-tools.js.map +1 -0
  63. package/dist/websocket-handler.d.ts +131 -0
  64. package/dist/websocket-handler.d.ts.map +1 -0
  65. package/dist/websocket-handler.js +596 -0
  66. package/dist/websocket-handler.js.map +1 -0
  67. package/dist/welcome-pages.d.ts +6 -0
  68. package/dist/welcome-pages.d.ts.map +1 -0
  69. package/dist/welcome-pages.js +200 -0
  70. package/dist/welcome-pages.js.map +1 -0
  71. package/package.json +168 -0
  72. package/scripts/install-remote.sh +282 -0
  73. package/scripts/start.sh +85 -0
  74. package/scripts/status.sh +79 -0
  75. package/scripts/stop.sh +67 -0
@@ -0,0 +1,85 @@
1
+ #!/bin/bash
2
+ # Start Gateway Type 3 in background with SSH disconnect protection
3
+
4
+ # Colors
5
+ GREEN='\033[0;32m'
6
+ YELLOW='\033[1;33m'
7
+ RED='\033[0;31m'
8
+ BLUE='\033[0;34m'
9
+ CYAN='\033[0;36m'
10
+ NC='\033[0m' # No Color
11
+
12
+ # Configuration
13
+ GATEWAY_PORT=8083
14
+ LOG_FILE="/tmp/gw3.log"
15
+ PID_FILE="/tmp/gw3.pid"
16
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
17
+ PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
18
+
19
+ # Detect host IP
20
+ HOST_IP=$(hostname -I | awk '{print $1}')
21
+ if [ -z "$HOST_IP" ]; then
22
+ HOST_IP="localhost"
23
+ fi
24
+
25
+ # Check if already running
26
+ if lsof -i :$GATEWAY_PORT -sTCP:LISTEN -t >/dev/null 2>&1; then
27
+ echo -e "${YELLOW}Gateway Type 3 is already running on port $GATEWAY_PORT${NC}"
28
+ exit 0
29
+ fi
30
+
31
+ # Check if dist folder exists
32
+ if [ ! -d "$PROJECT_DIR/dist" ]; then
33
+ echo -e "${YELLOW}Building TypeScript...${NC}"
34
+ cd "$PROJECT_DIR"
35
+ npm run build > /dev/null 2>&1 || echo -e "${RED}Build warnings (may be ignored)${NC}"
36
+ fi
37
+
38
+ # Change to project directory
39
+ cd "$PROJECT_DIR"
40
+
41
+ # Set environment variables (use existing or defaults)
42
+ export GATEWAY_API_KEY="${GATEWAY_API_KEY:-sk-test-inference-key}"
43
+ export MARKETPLACE_URL="${MARKETPLACE_URL:-ws://$HOST_IP:8081}"
44
+ export GATEWAY_PORT="${GATEWAY_PORT:-8083}"
45
+
46
+ echo -e "${BLUE}Starting Gateway Type 3...${NC}"
47
+ echo -e "${CYAN}Environment:${NC}"
48
+ echo -e " Port: $GATEWAY_PORT"
49
+ echo -e " Marketplace: $MARKETPLACE_URL"
50
+ echo -e " API Key: ${GATEWAY_API_KEY:0:10}..."
51
+
52
+ # Start gateway with nohup for SSH disconnect protection
53
+ nohup node dist/index-server.js > "$LOG_FILE" 2>&1 &
54
+ GATEWAY_PID=$!
55
+
56
+ # Save PID to file
57
+ echo $GATEWAY_PID > "$PID_FILE"
58
+
59
+ echo -e "${GREEN}✅ Gateway Type 3 started (PID: $GATEWAY_PID)${NC}"
60
+ echo -e "${GREEN}✅ Protected from SSH disconnection (nohup)${NC}"
61
+ echo -e "${CYAN}Logs: $LOG_FILE${NC}"
62
+ echo -e "${CYAN}PID File: $PID_FILE${NC}"
63
+
64
+ # Wait for gateway to start
65
+ echo -e "${YELLOW}Waiting for Gateway Type 3 to start...${NC}"
66
+ sleep 2
67
+
68
+ # Check health
69
+ RETRIES=0
70
+ MAX_RETRIES=10
71
+ while [ $RETRIES -lt $MAX_RETRIES ]; do
72
+ if curl -s "http://$HOST_IP:$GATEWAY_PORT/health" > /dev/null 2>&1; then
73
+ echo -e "${GREEN}✅ Gateway Type 3 is healthy${NC}"
74
+ echo -e "${CYAN}Management API: http://$HOST_IP:$GATEWAY_PORT${NC}"
75
+ exit 0
76
+ fi
77
+ sleep 1
78
+ RETRIES=$((RETRIES + 1))
79
+ echo -n "."
80
+ done
81
+
82
+ echo ""
83
+ echo -e "${RED}❌ Gateway failed to start within timeout${NC}"
84
+ echo -e "${CYAN}Check logs: tail -f $LOG_FILE${NC}"
85
+ exit 1
@@ -0,0 +1,79 @@
1
+ #!/bin/bash
2
+ # Check Gateway Type 3 status
3
+
4
+ # Colors
5
+ GREEN='\033[0;32m'
6
+ YELLOW='\033[1;33m'
7
+ RED='\033[0;31m'
8
+ CYAN='\033[0;36m'
9
+ NC='\033[0m' # No Color
10
+
11
+ # Configuration
12
+ GATEWAY_PORT=8083
13
+ PID_FILE="/tmp/gw3.pid"
14
+ LOG_FILE="/tmp/gw3.log"
15
+
16
+ # Detect host IP
17
+ HOST_IP=$(hostname -I | awk '{print $1}')
18
+ if [ -z "$HOST_IP" ]; then
19
+ HOST_IP="localhost"
20
+ fi
21
+
22
+ echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
23
+ echo -e "${CYAN} Gateway Type 3 Status${NC}"
24
+ echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
25
+
26
+ # Check if port is in use
27
+ if lsof -i :$GATEWAY_PORT -sTCP:LISTEN -t >/dev/null 2>&1; then
28
+ PID=$(lsof -ti :$GATEWAY_PORT)
29
+ echo -e "Status: ${GREEN}● Running${NC}"
30
+ echo -e "PID: ${GREEN}$PID${NC}"
31
+ echo -e "Port: ${GREEN}$GATEWAY_PORT${NC}"
32
+
33
+ # Check health endpoint
34
+ if curl -s "http://$HOST_IP:$GATEWAY_PORT/health" > /dev/null 2>&1; then
35
+ echo -e "Health: ${GREEN}✓ Healthy${NC}"
36
+ echo -e "Management API: ${CYAN}http://$HOST_IP:$GATEWAY_PORT${NC}"
37
+ else
38
+ echo -e "Health: ${YELLOW}⚠ Port open but API not responding${NC}"
39
+ fi
40
+
41
+ # Show PID file status
42
+ if [ -f "$PID_FILE" ]; then
43
+ SAVED_PID=$(cat "$PID_FILE")
44
+ if [ "$PID" = "$SAVED_PID" ]; then
45
+ echo -e "PID File: ${GREEN}✓ Match ($PID_FILE)${NC}"
46
+ else
47
+ echo -e "PID File: ${YELLOW}⚠ Mismatch (saved: $SAVED_PID, actual: $PID)${NC}"
48
+ fi
49
+ else
50
+ echo -e "PID File: ${YELLOW}⚠ Not found${NC}"
51
+ fi
52
+
53
+ # Show log file
54
+ if [ -f "$LOG_FILE" ]; then
55
+ echo -e "Logs: ${CYAN}$LOG_FILE${NC}"
56
+ LOG_SIZE=$(du -h "$LOG_FILE" | cut -f1)
57
+ echo -e "Log Size: ${CYAN}$LOG_SIZE${NC}"
58
+ fi
59
+ else
60
+ echo -e "Status: ${RED}● Not Running${NC}"
61
+ echo -e "Port: ${RED}$GATEWAY_PORT (not in use)${NC}"
62
+
63
+ # Check PID file
64
+ if [ -f "$PID_FILE" ]; then
65
+ echo -e "PID File: ${YELLOW}⚠ Exists but process not running (stale)${NC}"
66
+ echo -e " ${CYAN}Run 'npm run stop' to clean up${NC}"
67
+ fi
68
+ fi
69
+
70
+ echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
71
+ echo -e ""
72
+ echo -e "${CYAN}Commands:${NC}"
73
+ echo -e " npm start - Start gateway in background"
74
+ echo -e " npm stop - Stop gateway gracefully"
75
+ echo -e " npm restart - Restart gateway"
76
+ echo -e " npm run status - Show this status"
77
+ echo -e " npm run ui - Start interactive UI"
78
+ echo -e " npm run self - Start interactive UI (short form)"
79
+ echo -e ""
@@ -0,0 +1,67 @@
1
+ #!/bin/bash
2
+ # Stop Gateway Type 3 gracefully
3
+
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
10
+
11
+ # Configuration
12
+ GATEWAY_PORT=8083
13
+ PID_FILE="/tmp/gw3.pid"
14
+
15
+ # Detect host IP
16
+ HOST_IP=$(hostname -I | awk '{print $1}')
17
+ if [ -z "$HOST_IP" ]; then
18
+ HOST_IP="localhost"
19
+ fi
20
+
21
+ echo -e "${BLUE}Stopping Gateway Type 3...${NC}"
22
+
23
+ # 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
27
+ [ -f "$PID_FILE" ] && rm -f "$PID_FILE"
28
+ exit 0
29
+ fi
30
+
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}"
35
+
36
+ # Wait for graceful shutdown
37
+ sleep 2
38
+
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}"
42
+ rm -f "$PID_FILE"
43
+ exit 0
44
+ fi
45
+ fi
46
+
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)
50
+
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}"
65
+ rm -f "$PID_FILE"
66
+ exit 0
67
+ fi