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 @@
1
+ {"version":3,"file":"devops-tools.js","sourceRoot":"","sources":["../devops-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ export interface GatewayConfig {
2
+ gateway_id: string;
3
+ instance_id: string;
4
+ created_at: string;
5
+ last_started_at: string;
6
+ }
7
+ /**
8
+ * Gateway Configuration Manager
9
+ * Manages persistent gateway and instance IDs with datetime-seeded generation
10
+ */
11
+ export declare class GatewayConfigManager {
12
+ private configPath;
13
+ private config;
14
+ constructor(configPath?: string);
15
+ /**
16
+ * Get or create gateway configuration
17
+ * If GATEWAY_ID env var is set, uses that (for Docker containers)
18
+ * If config exists, returns existing IDs
19
+ * If config doesn't exist, generates new IDs with datetime seeding
20
+ */
21
+ getOrCreateConfig(): GatewayConfig;
22
+ /**
23
+ * Generate new gateway configuration with datetime-seeded IDs
24
+ * Format: gw3-docker-ui-YYYYMMDD-NNNN
25
+ * Where NNNN is a 4-digit number seeded from timestamp
26
+ */
27
+ private generateNewConfig;
28
+ /**
29
+ * Load configuration from file
30
+ * Returns null if file doesn't exist or is invalid
31
+ */
32
+ private loadConfig;
33
+ /**
34
+ * Save configuration to file
35
+ */
36
+ private saveConfig;
37
+ /**
38
+ * Get current configuration
39
+ * Returns null if config hasn't been loaded/generated
40
+ */
41
+ getConfig(): GatewayConfig | null;
42
+ /**
43
+ * Get gateway ID
44
+ */
45
+ getGatewayId(): string | null;
46
+ /**
47
+ * Get instance ID
48
+ */
49
+ getInstanceId(): string | null;
50
+ /**
51
+ * Reset configuration (delete config file)
52
+ * Use with caution - this will force regeneration of IDs on next start
53
+ */
54
+ resetConfig(): void;
55
+ }
56
+ //# sourceMappingURL=gateway-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-config.d.ts","sourceRoot":"","sources":["../gateway-config.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAA8B;gBAEhC,UAAU,CAAC,EAAE,MAAM;IAK/B;;;;;OAKG;IACI,iBAAiB,IAAI,aAAa;IA4CzC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAuBlB;;OAEG;IACH,OAAO,CAAC,UAAU;IAelB;;;OAGG;IACI,SAAS,IAAI,aAAa,GAAG,IAAI;IAIxC;;OAEG;IACI,YAAY,IAAI,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACI,aAAa,IAAI,MAAM,GAAG,IAAI;IAIrC;;;OAGG;IACI,WAAW,IAAI,IAAI;CAW3B"}
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ // File: gateway-type3/gateway-config.ts
3
+ // Gateway configuration management with persistent ID generation
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.GatewayConfigManager = void 0;
39
+ const fs = __importStar(require("fs"));
40
+ const path = __importStar(require("path"));
41
+ /**
42
+ * Gateway Configuration Manager
43
+ * Manages persistent gateway and instance IDs with datetime-seeded generation
44
+ */
45
+ class GatewayConfigManager {
46
+ constructor(configPath) {
47
+ this.config = null;
48
+ // Default to gateway-config.json in the current directory
49
+ this.configPath = configPath || path.join(process.cwd(), 'gateway-config.json');
50
+ }
51
+ /**
52
+ * Get or create gateway configuration
53
+ * If GATEWAY_ID env var is set, uses that (for Docker containers)
54
+ * If config exists, returns existing IDs
55
+ * If config doesn't exist, generates new IDs with datetime seeding
56
+ */
57
+ getOrCreateConfig() {
58
+ // Check for GATEWAY_ID environment variable override (for Docker containers)
59
+ const envGatewayId = process.env.GATEWAY_ID;
60
+ if (envGatewayId) {
61
+ const now = new Date();
62
+ this.config = {
63
+ gateway_id: envGatewayId,
64
+ instance_id: `node-${envGatewayId}-${process.pid}`,
65
+ created_at: now.toISOString(),
66
+ last_started_at: now.toISOString()
67
+ };
68
+ console.log('[GatewayConfig] Using GATEWAY_ID from environment variable');
69
+ console.log(`[GatewayConfig] Gateway ID: ${this.config.gateway_id}`);
70
+ console.log(`[GatewayConfig] Instance ID: ${this.config.instance_id}`);
71
+ return this.config;
72
+ }
73
+ // Try to load existing config
74
+ this.config = this.loadConfig();
75
+ if (this.config) {
76
+ console.log('[GatewayConfig] Loaded existing configuration');
77
+ console.log(`[GatewayConfig] Gateway ID: ${this.config.gateway_id}`);
78
+ console.log(`[GatewayConfig] Instance ID: ${this.config.instance_id}`);
79
+ console.log(`[GatewayConfig] Created: ${this.config.created_at}`);
80
+ // Update last_started_at
81
+ this.config.last_started_at = new Date().toISOString();
82
+ this.saveConfig();
83
+ return this.config;
84
+ }
85
+ // Generate new configuration
86
+ console.log('[GatewayConfig] No existing configuration found, generating new IDs');
87
+ this.config = this.generateNewConfig();
88
+ this.saveConfig();
89
+ console.log(`[GatewayConfig] Generated Gateway ID: ${this.config.gateway_id}`);
90
+ console.log(`[GatewayConfig] Generated Instance ID: ${this.config.instance_id}`);
91
+ return this.config;
92
+ }
93
+ /**
94
+ * Generate new gateway configuration with datetime-seeded IDs
95
+ * Format: gw3-docker-ui-YYYYMMDD-NNNN
96
+ * Where NNNN is a 4-digit number seeded from timestamp
97
+ */
98
+ generateNewConfig() {
99
+ const now = new Date();
100
+ const timestamp = now.getTime();
101
+ // Generate date string: YYYYMMDD
102
+ const year = now.getFullYear();
103
+ const month = String(now.getMonth() + 1).padStart(2, '0');
104
+ const day = String(now.getDate()).padStart(2, '0');
105
+ const dateString = `${year}${month}${day}`;
106
+ // Generate 4-digit number seeded from timestamp
107
+ // Use last 4 digits of timestamp modulo 10000 to ensure 0-9999 range
108
+ const seed = timestamp % 10000;
109
+ const fourDigitNumber = String(seed).padStart(4, '0');
110
+ // Generate gateway_id and instance_id
111
+ const gateway_id = `gw3-docker-ui-${dateString}-${fourDigitNumber}`;
112
+ const instance_id = `node-${gateway_id}-${process.pid}`;
113
+ return {
114
+ gateway_id,
115
+ instance_id,
116
+ created_at: now.toISOString(),
117
+ last_started_at: now.toISOString()
118
+ };
119
+ }
120
+ /**
121
+ * Load configuration from file
122
+ * Returns null if file doesn't exist or is invalid
123
+ */
124
+ loadConfig() {
125
+ try {
126
+ if (!fs.existsSync(this.configPath)) {
127
+ console.log(`[GatewayConfig] Config file not found: ${this.configPath}`);
128
+ return null;
129
+ }
130
+ const fileContent = fs.readFileSync(this.configPath, 'utf-8');
131
+ const config = JSON.parse(fileContent);
132
+ // Validate config structure
133
+ if (!config.gateway_id || !config.instance_id || !config.created_at) {
134
+ console.warn('[GatewayConfig] Invalid config structure, regenerating');
135
+ return null;
136
+ }
137
+ return config;
138
+ }
139
+ catch (error) {
140
+ console.error(`[GatewayConfig] Failed to load config: ${error.message}`);
141
+ return null;
142
+ }
143
+ }
144
+ /**
145
+ * Save configuration to file
146
+ */
147
+ saveConfig() {
148
+ if (!this.config) {
149
+ console.error('[GatewayConfig] No config to save');
150
+ return;
151
+ }
152
+ try {
153
+ const configJson = JSON.stringify(this.config, null, 2);
154
+ fs.writeFileSync(this.configPath, configJson, 'utf-8');
155
+ console.log(`[GatewayConfig] Configuration saved to ${this.configPath}`);
156
+ }
157
+ catch (error) {
158
+ console.error(`[GatewayConfig] Failed to save config: ${error.message}`);
159
+ }
160
+ }
161
+ /**
162
+ * Get current configuration
163
+ * Returns null if config hasn't been loaded/generated
164
+ */
165
+ getConfig() {
166
+ return this.config;
167
+ }
168
+ /**
169
+ * Get gateway ID
170
+ */
171
+ getGatewayId() {
172
+ return this.config?.gateway_id || null;
173
+ }
174
+ /**
175
+ * Get instance ID
176
+ */
177
+ getInstanceId() {
178
+ return this.config?.instance_id || null;
179
+ }
180
+ /**
181
+ * Reset configuration (delete config file)
182
+ * Use with caution - this will force regeneration of IDs on next start
183
+ */
184
+ resetConfig() {
185
+ try {
186
+ if (fs.existsSync(this.configPath)) {
187
+ fs.unlinkSync(this.configPath);
188
+ console.log('[GatewayConfig] Configuration file deleted');
189
+ }
190
+ this.config = null;
191
+ }
192
+ catch (error) {
193
+ console.error(`[GatewayConfig] Failed to reset config: ${error.message}`);
194
+ }
195
+ }
196
+ }
197
+ exports.GatewayConfigManager = GatewayConfigManager;
198
+ //# sourceMappingURL=gateway-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-config.js","sourceRoot":"","sources":["../gateway-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Gateway Operating Modes
3
+ *
4
+ * Mode 1: REMOTE_LLM_SESSION_ONLY - Remote LLM chat sessions with tool execution only
5
+ * - Session manager enabled
6
+ * - Tool calling enabled
7
+ * - LLM routing DISABLED
8
+ * - Use case: Pure automation, no LLM pass-through
9
+ *
10
+ * Mode 2: LLM_ROUTING_ONLY - Remote gateway for LLM routing only
11
+ * - LLM routing enabled
12
+ * - Session manager DISABLED
13
+ * - Tool calling DISABLED
14
+ * - Use case: Pure LLM proxy, seller API keys
15
+ *
16
+ * Mode 3: FULL - Support both remote sessions and LLM routing
17
+ * - All features enabled
18
+ * - Use case: Full-featured gateway
19
+ */
20
+ export declare enum GatewayMode {
21
+ REMOTE_LLM_SESSION_ONLY = 1,// Remote LLM chat sessions with tool execution only
22
+ LLM_ROUTING_ONLY = 2,// Remote gateway for LLM routing only
23
+ FULL = 3
24
+ }
25
+ export interface GatewayModeConfig {
26
+ mode: GatewayMode;
27
+ enableRemoteLLMSession: boolean;
28
+ enableLLMRouting: boolean;
29
+ modeName: string;
30
+ description: string;
31
+ }
32
+ /**
33
+ * Get configuration for a gateway mode
34
+ */
35
+ export declare function getModeConfig(mode: GatewayMode): GatewayModeConfig;
36
+ /**
37
+ * Parse capabilities from environment variable (CSV format)
38
+ *
39
+ * Examples:
40
+ * GATEWAY_CAPABILITIES=session -> Remote Session Only
41
+ * GATEWAY_CAPABILITIES=llm -> LLM Routing Only (default)
42
+ * GATEWAY_CAPABILITIES=session,llm -> Full (both)
43
+ * Legacy support: devops -> session, inference -> llm
44
+ */
45
+ export declare function parseCapabilitiesFromEnv(): GatewayModeConfig | null;
46
+ /**
47
+ * Display mode selection menu and get user choice
48
+ */
49
+ export declare function promptForMode(): Promise<GatewayMode>;
50
+ /**
51
+ * Get mode - either from environment or by prompting user
52
+ */
53
+ export declare function getGatewayMode(): Promise<GatewayModeConfig>;
54
+ /**
55
+ * Display selected mode banner
56
+ */
57
+ export declare function displayModeBanner(config: GatewayModeConfig): void;
58
+ //# sourceMappingURL=gateway-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-mode.d.ts","sourceRoot":"","sources":["../gateway-mode.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;GAkBG;AACH,oBAAY,WAAW;IACnB,uBAAuB,IAAI,CAAG,oDAAoD;IAClF,gBAAgB,IAAI,CAAM,sCAAsC;IAChE,IAAI,IAAI;CACX;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,sBAAsB,EAAE,OAAO,CAAC;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,iBAAiB,CA6BlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,IAAI,iBAAiB,GAAG,IAAI,CAyCnE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAiD1D;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAmBjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAYjE"}
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ // File: gateway-type3/gateway-mode.ts
3
+ // Gateway Mode Configuration - Defines operating modes for Type 3 Gateway
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.GatewayMode = void 0;
39
+ exports.getModeConfig = getModeConfig;
40
+ exports.parseCapabilitiesFromEnv = parseCapabilitiesFromEnv;
41
+ exports.promptForMode = promptForMode;
42
+ exports.getGatewayMode = getGatewayMode;
43
+ exports.displayModeBanner = displayModeBanner;
44
+ const readline = __importStar(require("readline"));
45
+ /**
46
+ * Gateway Operating Modes
47
+ *
48
+ * Mode 1: REMOTE_LLM_SESSION_ONLY - Remote LLM chat sessions with tool execution only
49
+ * - Session manager enabled
50
+ * - Tool calling enabled
51
+ * - LLM routing DISABLED
52
+ * - Use case: Pure automation, no LLM pass-through
53
+ *
54
+ * Mode 2: LLM_ROUTING_ONLY - Remote gateway for LLM routing only
55
+ * - LLM routing enabled
56
+ * - Session manager DISABLED
57
+ * - Tool calling DISABLED
58
+ * - Use case: Pure LLM proxy, seller API keys
59
+ *
60
+ * Mode 3: FULL - Support both remote sessions and LLM routing
61
+ * - All features enabled
62
+ * - Use case: Full-featured gateway
63
+ */
64
+ var GatewayMode;
65
+ (function (GatewayMode) {
66
+ GatewayMode[GatewayMode["REMOTE_LLM_SESSION_ONLY"] = 1] = "REMOTE_LLM_SESSION_ONLY";
67
+ GatewayMode[GatewayMode["LLM_ROUTING_ONLY"] = 2] = "LLM_ROUTING_ONLY";
68
+ GatewayMode[GatewayMode["FULL"] = 3] = "FULL"; // Support both
69
+ })(GatewayMode || (exports.GatewayMode = GatewayMode = {}));
70
+ /**
71
+ * Get configuration for a gateway mode
72
+ */
73
+ function getModeConfig(mode) {
74
+ switch (mode) {
75
+ case GatewayMode.REMOTE_LLM_SESSION_ONLY:
76
+ return {
77
+ mode,
78
+ enableRemoteLLMSession: true,
79
+ enableLLMRouting: false,
80
+ modeName: 'Remote LLM Session Only',
81
+ description: 'Remote LLM chat sessions - Tool execution enabled, LLM routing disabled'
82
+ };
83
+ case GatewayMode.LLM_ROUTING_ONLY:
84
+ return {
85
+ mode,
86
+ enableRemoteLLMSession: false,
87
+ enableLLMRouting: true,
88
+ modeName: 'LLM Routing Only',
89
+ description: 'LLM routing gateway - Provider forwarding enabled, remote sessions disabled'
90
+ };
91
+ case GatewayMode.FULL:
92
+ return {
93
+ mode,
94
+ enableRemoteLLMSession: true,
95
+ enableLLMRouting: true,
96
+ modeName: 'Full',
97
+ description: 'Full-featured gateway - Both remote LLM sessions and LLM routing enabled'
98
+ };
99
+ default:
100
+ throw new Error(`Invalid gateway mode: ${mode}`);
101
+ }
102
+ }
103
+ /**
104
+ * Parse capabilities from environment variable (CSV format)
105
+ *
106
+ * Examples:
107
+ * GATEWAY_CAPABILITIES=session -> Remote Session Only
108
+ * GATEWAY_CAPABILITIES=llm -> LLM Routing Only (default)
109
+ * GATEWAY_CAPABILITIES=session,llm -> Full (both)
110
+ * Legacy support: devops -> session, inference -> llm
111
+ */
112
+ function parseCapabilitiesFromEnv() {
113
+ const capsStr = process.env.GATEWAY_CAPABILITIES;
114
+ if (!capsStr)
115
+ return null;
116
+ // Parse CSV list
117
+ const caps = capsStr.toLowerCase().split(',').map(c => c.trim()).filter(c => c);
118
+ // Support both new and legacy capability names
119
+ const hasRemoteLLMSession = caps.includes('session') || caps.includes('devops');
120
+ const hasLLMRouting = caps.includes('llm') || caps.includes('inference');
121
+ // Determine mode based on capabilities
122
+ if (hasRemoteLLMSession && hasLLMRouting) {
123
+ return {
124
+ mode: GatewayMode.FULL,
125
+ enableRemoteLLMSession: true,
126
+ enableLLMRouting: true,
127
+ modeName: 'Full',
128
+ description: 'Full-featured gateway - Both remote LLM sessions and LLM routing enabled'
129
+ };
130
+ }
131
+ else if (hasRemoteLLMSession) {
132
+ return {
133
+ mode: GatewayMode.REMOTE_LLM_SESSION_ONLY,
134
+ enableRemoteLLMSession: true,
135
+ enableLLMRouting: false,
136
+ modeName: 'Remote LLM Session Only',
137
+ description: 'Remote LLM chat sessions - Tool execution enabled, LLM routing disabled'
138
+ };
139
+ }
140
+ else if (hasLLMRouting) {
141
+ return {
142
+ mode: GatewayMode.LLM_ROUTING_ONLY,
143
+ enableRemoteLLMSession: false,
144
+ enableLLMRouting: true,
145
+ modeName: 'LLM Routing Only',
146
+ description: 'LLM routing gateway - Provider forwarding enabled, remote sessions disabled'
147
+ };
148
+ }
149
+ // Invalid capabilities specified
150
+ console.warn(`[Gateway Mode] Warning: Invalid GATEWAY_CAPABILITIES="${capsStr}". Valid values: session, llm (legacy: devops, inference)`);
151
+ return null;
152
+ }
153
+ /**
154
+ * Display mode selection menu and get user choice
155
+ */
156
+ async function promptForMode() {
157
+ const rl = readline.createInterface({
158
+ input: process.stdin,
159
+ output: process.stdout
160
+ });
161
+ return new Promise((resolve) => {
162
+ console.log('\n╔══════════════════════════════════════════════════════════════╗');
163
+ console.log('║ Gateway Type 3 - Mode Selection ║');
164
+ console.log('╠══════════════════════════════════════════════════════════════╣');
165
+ console.log('║ ║');
166
+ console.log('║ Select the operating mode for this gateway: ║');
167
+ console.log('║ ║');
168
+ console.log('║ [1] Remote LLM Session Only ║');
169
+ console.log('║ • Remote LLM chat sessions with tool execution ║');
170
+ console.log('║ • Tool calling (bash, files, web) ║');
171
+ console.log('║ • NO LLM routing ║');
172
+ console.log('║ ║');
173
+ console.log('║ [2] LLM Routing Only ║');
174
+ console.log('║ • LLM request forwarding to providers ║');
175
+ console.log('║ • Seller API key management ║');
176
+ console.log('║ • NO remote LLM sessions or tools ║');
177
+ console.log('║ ║');
178
+ console.log('║ [3] Full (Both) ║');
179
+ console.log('║ • All features enabled ║');
180
+ console.log('║ • Remote LLM sessions + LLM routing ║');
181
+ console.log('║ • Recommended for most use cases ║');
182
+ console.log('║ ║');
183
+ console.log('╚══════════════════════════════════════════════════════════════╝');
184
+ console.log('');
185
+ console.log(' Note: Mode cannot be changed after startup.');
186
+ console.log(' Set GATEWAY_CAPABILITIES=session,llm to skip this prompt.');
187
+ console.log('');
188
+ const askQuestion = () => {
189
+ rl.question(' Enter mode [1/2/3]: ', (answer) => {
190
+ const mode = parseInt(answer.trim());
191
+ if (mode >= 1 && mode <= 3) {
192
+ rl.close();
193
+ resolve(mode);
194
+ }
195
+ else {
196
+ console.log(' Invalid choice. Please enter 1, 2, or 3.');
197
+ askQuestion();
198
+ }
199
+ });
200
+ };
201
+ askQuestion();
202
+ });
203
+ }
204
+ /**
205
+ * Get mode - either from environment or by prompting user
206
+ */
207
+ async function getGatewayMode() {
208
+ // First check GATEWAY_CAPABILITIES environment variable
209
+ const envConfig = parseCapabilitiesFromEnv();
210
+ if (envConfig !== null) {
211
+ console.log(`[Gateway Mode] Using capabilities from env: ${envConfig.modeName}`);
212
+ return envConfig;
213
+ }
214
+ // Check if stdin is a TTY (interactive terminal)
215
+ if (!process.stdin.isTTY) {
216
+ // Non-interactive mode - default to LLM Routing Only
217
+ console.log('[Gateway Mode] Non-interactive mode detected, defaulting to LLM Routing Only');
218
+ console.log('[Gateway Mode] Set GATEWAY_CAPABILITIES=session,llm to enable both');
219
+ return getModeConfig(GatewayMode.LLM_ROUTING_ONLY);
220
+ }
221
+ // Interactive mode - prompt user
222
+ const mode = await promptForMode();
223
+ return getModeConfig(mode);
224
+ }
225
+ /**
226
+ * Display selected mode banner
227
+ */
228
+ function displayModeBanner(config) {
229
+ const modeEmoji = config.mode === GatewayMode.REMOTE_LLM_SESSION_ONLY ? '🔧' :
230
+ config.mode === GatewayMode.LLM_ROUTING_ONLY ? '🚀' : '⚡';
231
+ console.log('');
232
+ console.log(`╔══════════════════════════════════════════════════════════════╗`);
233
+ console.log(`║ ${modeEmoji} Gateway Mode: ${config.modeName.padEnd(44)}║`);
234
+ console.log(`╠══════════════════════════════════════════════════════════════╣`);
235
+ console.log(`║ Remote LLM Sessions: ${(config.enableRemoteLLMSession ? '✅ Enabled' : '❌ Disabled').padEnd(38)}║`);
236
+ console.log(`║ LLM Routing: ${(config.enableLLMRouting ? '✅ Enabled' : '❌ Disabled').padEnd(42)}║`);
237
+ console.log(`╚══════════════════════════════════════════════════════════════╝`);
238
+ console.log('');
239
+ }
240
+ //# sourceMappingURL=gateway-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-mode.js","sourceRoot":"","sources":["../gateway-mode.ts"],"names":[],"mappings":"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"}