langmart-gateway-type3 3.0.41 → 3.0.43
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 +3 -3
- package/README.md +38 -38
- package/dist/automation-tools.d.ts +18 -57
- package/dist/automation-tools.d.ts.map +1 -1
- package/dist/automation-tools.js +348 -497
- package/dist/automation-tools.js.map +1 -1
- package/dist/gateway-server.d.ts +52 -26
- package/dist/gateway-server.d.ts.map +1 -1
- package/dist/gateway-server.js +423 -145
- package/dist/gateway-server.js.map +1 -1
- package/dist/headless-session.d.ts +22 -2
- package/dist/headless-session.d.ts.map +1 -1
- package/dist/headless-session.js +209 -7
- package/dist/headless-session.js.map +1 -1
- package/dist/index-server.d.ts.map +1 -1
- package/dist/index-server.js +11 -21
- package/dist/index-server.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -20
- package/dist/index.js.map +1 -1
- package/dist/{marketplace-tools.d.ts → registry-tools.d.ts} +30 -8
- package/dist/registry-tools.d.ts.map +1 -0
- package/dist/{marketplace-tools.js → registry-tools.js} +565 -144
- package/dist/registry-tools.js.map +1 -0
- package/package.json +8 -7
- package/scripts/install.ps1 +14 -14
- package/scripts/install.sh +9 -9
- package/scripts/start.ps1 +5 -5
- package/scripts/start.sh +4 -4
- package/dist/marketplace-tools.d.ts.map +0 -1
- package/dist/marketplace-tools.js.map +0 -1
package/.env.example
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
INSTANCE_ID=gw3-local-001
|
|
6
6
|
GATEWAY_PORT=8083
|
|
7
7
|
|
|
8
|
-
#
|
|
9
|
-
|
|
8
|
+
# Platform connection
|
|
9
|
+
PLATFORM_URL=ws://10.0.1.117:8081
|
|
10
10
|
|
|
11
|
-
# Gateway authentication (required for
|
|
11
|
+
# Gateway authentication (required for platform connection)
|
|
12
12
|
GATEWAY_API_KEY=sk-test-inference-key
|
|
13
13
|
# Alternative: API_KEY=sk-test-inference-key
|
|
14
14
|
|
package/README.md
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/langmart-gateway-type3)
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
|
-
Type 3 Gateway is a seller-managed gateway client that runs on the seller's infrastructure. It connects to the
|
|
6
|
+
Type 3 Gateway is a seller-managed gateway client that runs on the seller's infrastructure. It connects to the platform via WebSocket and uses the seller's own API keys to fulfill requests.
|
|
7
7
|
|
|
8
8
|
## Architecture
|
|
9
9
|
- **Deployment**: Seller's own infrastructure
|
|
10
10
|
- **Credentials**: Seller's own API keys
|
|
11
|
-
- **Connection**: WebSocket client to
|
|
11
|
+
- **Connection**: WebSocket client to platform
|
|
12
12
|
- **Control**: Fully managed by seller
|
|
13
13
|
|
|
14
14
|
## Features
|
|
@@ -33,7 +33,7 @@ Install the gateway on any Linux/macOS server with a single command:
|
|
|
33
33
|
```bash
|
|
34
34
|
# Using unpkg CDN (recommended)
|
|
35
35
|
curl -fsSL https://unpkg.com/langmart-gateway-type3/scripts/install.sh | bash -s -- \
|
|
36
|
-
--
|
|
36
|
+
--platform-url ws://your-platform:8081 \
|
|
37
37
|
--api-key YOUR_API_KEY \
|
|
38
38
|
--full \
|
|
39
39
|
--service
|
|
@@ -45,11 +45,11 @@ Install on Windows using PowerShell:
|
|
|
45
45
|
|
|
46
46
|
```powershell
|
|
47
47
|
# One-liner installation
|
|
48
|
-
$env:
|
|
48
|
+
$env:PLATFORM_URL="ws://your-platform:8081"; $env:GATEWAY_API_KEY="YOUR_API_KEY"; iwr -useb https://unpkg.com/langmart-gateway-type3/scripts/install.ps1 | iex
|
|
49
49
|
|
|
50
50
|
# Or download and run with parameters
|
|
51
51
|
iwr -OutFile install.ps1 https://unpkg.com/langmart-gateway-type3/scripts/install.ps1
|
|
52
|
-
.\install.ps1 -
|
|
52
|
+
.\install.ps1 -PlatformUrl "ws://your-platform:8081" -ApiKey "YOUR_API_KEY" -Full -Service
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
### Install Options
|
|
@@ -58,7 +58,7 @@ iwr -OutFile install.ps1 https://unpkg.com/langmart-gateway-type3/scripts/instal
|
|
|
58
58
|
|
|
59
59
|
| Option | Description | Default |
|
|
60
60
|
|--------|-------------|---------|
|
|
61
|
-
| `--
|
|
61
|
+
| `--platform-url URL` | Platform WebSocket URL | `ws://localhost:8081` |
|
|
62
62
|
| `--api-key KEY` | Gateway API key for authentication | (none) |
|
|
63
63
|
| `--port PORT` | Gateway port | `8083` |
|
|
64
64
|
| `--install-dir DIR` | Installation directory | `/opt/langmart-gateway` |
|
|
@@ -70,7 +70,7 @@ iwr -OutFile install.ps1 https://unpkg.com/langmart-gateway-type3/scripts/instal
|
|
|
70
70
|
|
|
71
71
|
| Parameter | Description | Default |
|
|
72
72
|
|-----------|-------------|---------|
|
|
73
|
-
| `-
|
|
73
|
+
| `-PlatformUrl URL` | Platform WebSocket URL | `ws://localhost:8081` |
|
|
74
74
|
| `-ApiKey KEY` | Gateway API key for authentication | (none) |
|
|
75
75
|
| `-Port PORT` | Gateway port | `8083` |
|
|
76
76
|
| `-InstallDir DIR` | Installation directory | `C:\langmart-gateway` |
|
|
@@ -85,19 +85,19 @@ iwr -OutFile install.ps1 https://unpkg.com/langmart-gateway-type3/scripts/instal
|
|
|
85
85
|
```bash
|
|
86
86
|
# LLM routing only (default)
|
|
87
87
|
curl -fsSL https://unpkg.com/langmart-gateway-type3/scripts/install.sh | bash -s -- \
|
|
88
|
-
--
|
|
88
|
+
--platform-url ws://10.0.1.117:8081 \
|
|
89
89
|
--api-key sk-test-inference-key
|
|
90
90
|
|
|
91
91
|
# Full Automation mode with systemd service
|
|
92
92
|
curl -fsSL https://unpkg.com/langmart-gateway-type3/scripts/install.sh | bash -s -- \
|
|
93
|
-
--
|
|
93
|
+
--platform-url ws://10.0.1.117:8081 \
|
|
94
94
|
--api-key sk-test-inference-key \
|
|
95
95
|
--full \
|
|
96
96
|
--service
|
|
97
97
|
|
|
98
98
|
# Custom port and directory
|
|
99
99
|
curl -fsSL https://unpkg.com/langmart-gateway-type3/scripts/install.sh | bash -s -- \
|
|
100
|
-
--
|
|
100
|
+
--platform-url ws://10.0.1.117:8081 \
|
|
101
101
|
--api-key sk-test-inference-key \
|
|
102
102
|
--port 9000 \
|
|
103
103
|
--install-dir /home/user/gateway
|
|
@@ -107,13 +107,13 @@ curl -fsSL https://unpkg.com/langmart-gateway-type3/scripts/install.sh | bash -s
|
|
|
107
107
|
|
|
108
108
|
```powershell
|
|
109
109
|
# LLM routing only (default)
|
|
110
|
-
.\install.ps1 -
|
|
110
|
+
.\install.ps1 -PlatformUrl "ws://10.0.1.117:8081" -ApiKey "sk-test-inference-key"
|
|
111
111
|
|
|
112
112
|
# Full Automation mode with Windows Service
|
|
113
|
-
.\install.ps1 -
|
|
113
|
+
.\install.ps1 -PlatformUrl "ws://10.0.1.117:8081" -ApiKey "sk-test-inference-key" -Full -Service
|
|
114
114
|
|
|
115
115
|
# Custom port and directory
|
|
116
|
-
.\install.ps1 -
|
|
116
|
+
.\install.ps1 -PlatformUrl "ws://10.0.1.117:8081" -ApiKey "sk-test-inference-key" -Port 9000 -InstallDir "D:\gateway"
|
|
117
117
|
```
|
|
118
118
|
|
|
119
119
|
### Alternative CDN
|
|
@@ -146,7 +146,7 @@ npm install langmart-gateway-type3
|
|
|
146
146
|
cat > .env << EOF
|
|
147
147
|
INSTANCE_ID=gw3-$(hostname)-$(date +%s | tail -c 5)
|
|
148
148
|
GATEWAY_PORT=8083
|
|
149
|
-
|
|
149
|
+
PLATFORM_URL=ws://your-platform:8081
|
|
150
150
|
GATEWAY_API_KEY=your-api-key
|
|
151
151
|
GATEWAY_CAPABILITIES=llm
|
|
152
152
|
NODE_ENV=production
|
|
@@ -188,9 +188,9 @@ npm start
|
|
|
188
188
|
INSTANCE_ID=gw3-server-001 # Gateway identifier (auto-generated if not set)
|
|
189
189
|
GATEWAY_PORT=8083 # Gateway HTTP/WebSocket port
|
|
190
190
|
|
|
191
|
-
#
|
|
192
|
-
|
|
193
|
-
GATEWAY_API_KEY=sk-your-key
|
|
191
|
+
# Platform connection
|
|
192
|
+
PLATFORM_URL=ws://localhost:8081 # Platform WebSocket URL
|
|
193
|
+
GATEWAY_API_KEY=sk-your-key # Platform API key
|
|
194
194
|
|
|
195
195
|
# Capabilities
|
|
196
196
|
GATEWAY_CAPABILITIES=llm # "llm" or "session,llm" for full Automation
|
|
@@ -265,12 +265,12 @@ curl http://localhost:8083/health
|
|
|
265
265
|
|
|
266
266
|
## How It Works
|
|
267
267
|
|
|
268
|
-
1. **Connection**: Gateway connects to
|
|
269
|
-
2. **Authentication**: Authenticates using
|
|
268
|
+
1. **Connection**: Gateway connects to platform via WebSocket
|
|
269
|
+
2. **Authentication**: Authenticates using platform API key
|
|
270
270
|
3. **Registration**: Registers available models and capabilities
|
|
271
|
-
4. **Requests**: Receives inference requests from
|
|
271
|
+
4. **Requests**: Receives inference requests from platform
|
|
272
272
|
5. **Processing**: Routes requests to appropriate provider using seller's keys
|
|
273
|
-
6. **Response**: Streams responses back to
|
|
273
|
+
6. **Response**: Streams responses back to platform
|
|
274
274
|
|
|
275
275
|
---
|
|
276
276
|
|
|
@@ -318,7 +318,7 @@ Press `Tab` key to enter model selection mode where you can:
|
|
|
318
318
|
- Browse available models
|
|
319
319
|
- Filter models by typing keywords (AND-condition search)
|
|
320
320
|
- View model details (pricing, context window, capabilities)
|
|
321
|
-
- Select models from your own connections or the
|
|
321
|
+
- Select models from your own connections or the platform
|
|
322
322
|
|
|
323
323
|
### Slash Commands
|
|
324
324
|
Type `/` to see available commands:
|
|
@@ -458,7 +458,7 @@ Type `/` and the CLI will suggest commands:
|
|
|
458
458
|
### Tool Calling
|
|
459
459
|
|
|
460
460
|
The CLI supports native function calling with:
|
|
461
|
-
-
|
|
461
|
+
- Platform tools (connections, models, vault, logs)
|
|
462
462
|
- Web tools (search, fetch)
|
|
463
463
|
- Core tools (system operations)
|
|
464
464
|
- MCP tools (Model Context Protocol servers)
|
|
@@ -483,7 +483,7 @@ This allows resuming conversations across sessions.
|
|
|
483
483
|
1. Verify your model has `image_gen` capability
|
|
484
484
|
2. Include both action and subject keywords
|
|
485
485
|
3. Check model is properly selected (not "No model selected")
|
|
486
|
-
4. Verify
|
|
486
|
+
4. Verify platform connection is active
|
|
487
487
|
|
|
488
488
|
**Problem**: Image preview not showing
|
|
489
489
|
**Solutions**:
|
|
@@ -497,7 +497,7 @@ This allows resuming conversations across sessions.
|
|
|
497
497
|
**Problem**: CLI shows "Not connected"
|
|
498
498
|
**Solutions**:
|
|
499
499
|
1. Verify Gateway Type 3 server is running
|
|
500
|
-
2. Check `
|
|
500
|
+
2. Check `PLATFORM_URL` environment variable
|
|
501
501
|
3. Ensure API key is valid and authenticated
|
|
502
502
|
4. Review gateway logs for connection errors
|
|
503
503
|
|
|
@@ -533,15 +533,15 @@ docker exec -it <container-name> npm run ui
|
|
|
533
533
|
|
|
534
534
|
The container needs these environment variables:
|
|
535
535
|
```bash
|
|
536
|
-
GATEWAY_API_KEY=sk-test-inference-key # Your
|
|
537
|
-
|
|
538
|
-
|
|
536
|
+
GATEWAY_API_KEY=sk-test-inference-key # Your platform API key
|
|
537
|
+
PLATFORM_URL=ws://localhost:8081 # WebSocket URL for gateway connection
|
|
538
|
+
PLATFORM_API_URL=http://localhost:8081 # HTTP URL for REST API calls
|
|
539
539
|
USER_ID=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa # Your user ID
|
|
540
540
|
```
|
|
541
541
|
|
|
542
542
|
**Important**: The Docker container needs **both** URLs:
|
|
543
|
-
- `
|
|
544
|
-
- `
|
|
543
|
+
- `PLATFORM_URL` (ws://) for WebSocket gateway connection
|
|
544
|
+
- `PLATFORM_API_URL` (http://) for REST API calls (models, connections, etc.)
|
|
545
545
|
|
|
546
546
|
### Persistent Data in Docker
|
|
547
547
|
|
|
@@ -556,8 +556,8 @@ docker run -d \
|
|
|
556
556
|
--name my-gateway-type3 \
|
|
557
557
|
--network host \
|
|
558
558
|
-e GATEWAY_API_KEY=sk-test-inference-key \
|
|
559
|
-
-e
|
|
560
|
-
-e
|
|
559
|
+
-e PLATFORM_URL=ws://localhost:8081 \
|
|
560
|
+
-e PLATFORM_API_URL=http://localhost:8081 \
|
|
561
561
|
-v gateway-type3-data:/app/data \
|
|
562
562
|
langmart-gateway-type3-ui:latest
|
|
563
563
|
```
|
|
@@ -626,7 +626,7 @@ fantasy art style, ethereal atmosphere
|
|
|
626
626
|
## Related Documentation
|
|
627
627
|
|
|
628
628
|
- **Gateway Server**: See main README sections above for server operations
|
|
629
|
-
- **Tool Calling**: See `
|
|
629
|
+
- **Tool Calling**: See `registry-tools.ts` for available platform tools
|
|
630
630
|
- **MCP Integration**: See `mcp-manager.ts` for Model Context Protocol support
|
|
631
631
|
- **Local Vault**: See `local-vault.ts` for credential management
|
|
632
632
|
- **Web Tools**: See `web-tools.ts` for web search and fetch capabilities
|
|
@@ -635,7 +635,7 @@ fantasy art style, ethereal atmosphere
|
|
|
635
635
|
|
|
636
636
|
### Connection
|
|
637
637
|
```javascript
|
|
638
|
-
ws://
|
|
638
|
+
ws://platform.api/gateway
|
|
639
639
|
Headers: {
|
|
640
640
|
'Authorization': 'Bearer sk-...',
|
|
641
641
|
'X-Gateway-ID': 'gw3-seller-001'
|
|
@@ -645,15 +645,15 @@ Headers: {
|
|
|
645
645
|
### Message Types
|
|
646
646
|
- `auth`: Authentication handshake
|
|
647
647
|
- `heartbeat`: Keep-alive ping/pong
|
|
648
|
-
- `request`: Inference request from
|
|
649
|
-
- `response`: Streaming response to
|
|
648
|
+
- `request`: Inference request from platform
|
|
649
|
+
- `response`: Streaming response to platform
|
|
650
650
|
- `error`: Error notification
|
|
651
651
|
- `update`: Version/configuration updates
|
|
652
652
|
|
|
653
653
|
## Monitoring
|
|
654
654
|
|
|
655
655
|
The gateway emits events for monitoring:
|
|
656
|
-
- `connected`: Successfully connected to
|
|
656
|
+
- `connected`: Successfully connected to platform
|
|
657
657
|
- `disconnected`: Connection lost
|
|
658
658
|
- `error`: Error occurred
|
|
659
659
|
- `request`: Processing request
|
|
@@ -675,7 +675,7 @@ The gateway emits events for monitoring:
|
|
|
675
675
|
|
|
676
676
|
### Connection Issues
|
|
677
677
|
- Check firewall rules for WebSocket
|
|
678
|
-
- Verify
|
|
678
|
+
- Verify platform URL
|
|
679
679
|
- Ensure API key is valid
|
|
680
680
|
|
|
681
681
|
### Provider Errors
|
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides MCP tools for remote server management and script execution.
|
|
5
5
|
* These tools interact with the Gateway Type 1 API to:
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
6
|
+
* - Manage remote servers (add, list, test)
|
|
7
|
+
* - Manage automation sessions
|
|
8
|
+
* - Manage automation templates
|
|
9
|
+
* - List SSH keys
|
|
9
10
|
* - Execute scripts on remote servers
|
|
10
|
-
* - View
|
|
11
|
+
* - View execution logs
|
|
11
12
|
*/
|
|
12
13
|
export interface AutomationToolResult {
|
|
13
14
|
success: boolean;
|
|
@@ -46,6 +47,7 @@ export interface RemoteScript {
|
|
|
46
47
|
timeout_seconds: number;
|
|
47
48
|
tags: string[];
|
|
48
49
|
is_system: boolean;
|
|
50
|
+
script_content: string;
|
|
49
51
|
}
|
|
50
52
|
export interface ScriptParameter {
|
|
51
53
|
name: string;
|
|
@@ -70,77 +72,36 @@ export interface ScriptExecutionLog {
|
|
|
70
72
|
export declare class AutomationTools {
|
|
71
73
|
private static instance;
|
|
72
74
|
private client;
|
|
73
|
-
private
|
|
75
|
+
private registryUrl;
|
|
74
76
|
private apiKey;
|
|
75
77
|
private sessionId;
|
|
76
78
|
private serverMap;
|
|
77
79
|
private scriptMap;
|
|
78
|
-
constructor(
|
|
79
|
-
static getInstance(
|
|
80
|
+
constructor(registryUrl: string, apiKey: string);
|
|
81
|
+
static getInstance(registryUrl?: string, apiKey?: string): AutomationTools;
|
|
80
82
|
setSessionId(sessionId: string): void;
|
|
81
|
-
/**
|
|
82
|
-
* Get tool definitions for AI
|
|
83
|
-
*/
|
|
84
83
|
getTools(): any[];
|
|
85
|
-
/**
|
|
86
|
-
* Resolve server ID (handle sequence numbers like "1", "2", etc.)
|
|
87
|
-
*/
|
|
88
84
|
private resolveServerId;
|
|
89
|
-
/**
|
|
90
|
-
* Resolve script slug (handle sequence numbers like "1", "2", etc.)
|
|
91
|
-
*/
|
|
92
85
|
private resolveScriptSlug;
|
|
93
|
-
/**
|
|
94
|
-
* Execute an automation tool
|
|
95
|
-
*/
|
|
96
86
|
executeTool(toolName: string, args: Record<string, any>): Promise<AutomationToolResult>;
|
|
97
|
-
/**
|
|
98
|
-
* List remote servers
|
|
99
|
-
*/
|
|
100
87
|
private listServers;
|
|
101
|
-
|
|
102
|
-
* Test server connection
|
|
103
|
-
*/
|
|
88
|
+
private addServer;
|
|
104
89
|
private testServerConnection;
|
|
105
|
-
/**
|
|
106
|
-
* Get server info
|
|
107
|
-
*/
|
|
108
90
|
private getServerInfo;
|
|
109
|
-
/**
|
|
110
|
-
* List available scripts
|
|
111
|
-
*/
|
|
112
91
|
private listScripts;
|
|
113
|
-
/**
|
|
114
|
-
* Get script info
|
|
115
|
-
*/
|
|
116
92
|
private getScriptInfo;
|
|
117
|
-
/**
|
|
118
|
-
* Execute a script on a remote server
|
|
119
|
-
*/
|
|
120
93
|
private executeScript;
|
|
121
|
-
/**
|
|
122
|
-
* Get execution logs
|
|
123
|
-
*/
|
|
124
94
|
private getExecutionLogs;
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
private
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
private
|
|
133
|
-
/**
|
|
134
|
-
* Create execution log entry
|
|
135
|
-
*/
|
|
95
|
+
private listSessions;
|
|
96
|
+
private createSession;
|
|
97
|
+
private getSession;
|
|
98
|
+
private deleteSession;
|
|
99
|
+
private listTemplates;
|
|
100
|
+
private createTemplate;
|
|
101
|
+
private listSSHKeys;
|
|
102
|
+
private buildEnvironmentExports;
|
|
136
103
|
private createExecutionLog;
|
|
137
|
-
/**
|
|
138
|
-
* Update execution log with results
|
|
139
|
-
*/
|
|
140
104
|
private updateExecutionLog;
|
|
141
|
-
/**
|
|
142
|
-
* Execute script on remote server via SSH
|
|
143
|
-
*/
|
|
144
105
|
private executeRemoteScript;
|
|
145
106
|
}
|
|
146
107
|
export default AutomationTools;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automation-tools.d.ts","sourceRoot":"","sources":["../automation-tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"automation-tools.d.ts","sourceRoot":"","sources":["../automation-tools.ts"],"names":[],"mappings":"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"}
|