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.
- package/.env.example +29 -0
- package/README.md +480 -0
- package/dist/bash-tools.d.ts +56 -0
- package/dist/bash-tools.d.ts.map +1 -0
- package/dist/bash-tools.js +188 -0
- package/dist/bash-tools.js.map +1 -0
- package/dist/core-tools.d.ts +94 -0
- package/dist/core-tools.d.ts.map +1 -0
- package/dist/core-tools.js +694 -0
- package/dist/core-tools.js.map +1 -0
- package/dist/debug-utils.d.ts +22 -0
- package/dist/debug-utils.d.ts.map +1 -0
- package/dist/debug-utils.js +37 -0
- package/dist/debug-utils.js.map +1 -0
- package/dist/devops-tools.d.ts +147 -0
- package/dist/devops-tools.d.ts.map +1 -0
- package/dist/devops-tools.js +718 -0
- package/dist/devops-tools.js.map +1 -0
- package/dist/gateway-config.d.ts +56 -0
- package/dist/gateway-config.d.ts.map +1 -0
- package/dist/gateway-config.js +198 -0
- package/dist/gateway-config.js.map +1 -0
- package/dist/gateway-mode.d.ts +58 -0
- package/dist/gateway-mode.d.ts.map +1 -0
- package/dist/gateway-mode.js +240 -0
- package/dist/gateway-mode.js.map +1 -0
- package/dist/gateway-server.d.ts +208 -0
- package/dist/gateway-server.d.ts.map +1 -0
- package/dist/gateway-server.js +1811 -0
- package/dist/gateway-server.js.map +1 -0
- package/dist/headless-session.d.ts +192 -0
- package/dist/headless-session.d.ts.map +1 -0
- package/dist/headless-session.js +584 -0
- package/dist/headless-session.js.map +1 -0
- package/dist/index-server.d.ts +4 -0
- package/dist/index-server.d.ts.map +1 -0
- package/dist/index-server.js +129 -0
- package/dist/index-server.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +101 -0
- package/dist/index.js.map +1 -0
- package/dist/key-vault.d.ts +102 -0
- package/dist/key-vault.d.ts.map +1 -0
- package/dist/key-vault.js +365 -0
- package/dist/key-vault.js.map +1 -0
- package/dist/local-vault.d.ts +195 -0
- package/dist/local-vault.d.ts.map +1 -0
- package/dist/local-vault.js +571 -0
- package/dist/local-vault.js.map +1 -0
- package/dist/marketplace-tools.d.ts +104 -0
- package/dist/marketplace-tools.d.ts.map +1 -0
- package/dist/marketplace-tools.js +2846 -0
- package/dist/marketplace-tools.js.map +1 -0
- package/dist/mcp-manager.d.ts +114 -0
- package/dist/mcp-manager.d.ts.map +1 -0
- package/dist/mcp-manager.js +338 -0
- package/dist/mcp-manager.js.map +1 -0
- package/dist/web-tools.d.ts +86 -0
- package/dist/web-tools.d.ts.map +1 -0
- package/dist/web-tools.js +431 -0
- package/dist/web-tools.js.map +1 -0
- package/dist/websocket-handler.d.ts +131 -0
- package/dist/websocket-handler.d.ts.map +1 -0
- package/dist/websocket-handler.js +596 -0
- package/dist/websocket-handler.js.map +1 -0
- package/dist/welcome-pages.d.ts +6 -0
- package/dist/welcome-pages.d.ts.map +1 -0
- package/dist/welcome-pages.js +200 -0
- package/dist/welcome-pages.js.map +1 -0
- package/package.json +168 -0
- package/scripts/install-remote.sh +282 -0
- package/scripts/start.sh +85 -0
- package/scripts/status.sh +79 -0
- 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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"}
|