claude-gateway 2.0.0 → 2.0.2
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/README.md +2 -3
- package/dist/installer.d.ts +21 -0
- package/dist/installer.d.ts.map +1 -0
- package/dist/installer.js +553 -0
- package/dist/installer.js.map +1 -0
- package/dist/router/translator.d.ts.map +1 -1
- package/dist/router/translator.js +167 -13
- package/dist/router/translator.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -70,7 +70,7 @@ client = OpenAI(
|
|
|
70
70
|
)
|
|
71
71
|
|
|
72
72
|
response = client.chat.completions.create(
|
|
73
|
-
model="claude-sonnet-4-5-20250929",
|
|
73
|
+
model="claude-sonnet-4-5-20250929",
|
|
74
74
|
messages=[
|
|
75
75
|
{"role": "system", "content": "You are a helpful assistant."},
|
|
76
76
|
{"role": "user", "content": "Hello!"}
|
|
@@ -91,7 +91,7 @@ const client = new OpenAI({
|
|
|
91
91
|
});
|
|
92
92
|
|
|
93
93
|
const response = await client.chat.completions.create({
|
|
94
|
-
model: 'claude-sonnet-4-5-20250929',
|
|
94
|
+
model: 'claude-sonnet-4-5-20250929',
|
|
95
95
|
messages: [
|
|
96
96
|
{ role: 'system', content: 'You are a helpful assistant.' },
|
|
97
97
|
{ role: 'user', content: 'Hello!' }
|
|
@@ -241,7 +241,6 @@ Claude Gateway uses OAuth to authenticate with your Claude Code subscription.
|
|
|
241
241
|
|
|
242
242
|
**Supported:**
|
|
243
243
|
- ✅ Message format translation (system/user/assistant roles)
|
|
244
|
-
- ✅ Model name mapping (gpt-4 → claude-sonnet-4-5)
|
|
245
244
|
- ✅ Streaming responses
|
|
246
245
|
- ✅ Tool/function calling
|
|
247
246
|
- ✅ Token usage reporting
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-platform installer for claude-gateway
|
|
3
|
+
* Supports systemd (Linux), launchd (macOS), and Task Scheduler (Windows)
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Install the service on the current platform
|
|
7
|
+
*/
|
|
8
|
+
export declare function installService(): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* Uninstall the service from the current platform
|
|
11
|
+
*/
|
|
12
|
+
export declare function uninstallService(): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Upgrade the service (reinstall with latest version)
|
|
15
|
+
*/
|
|
16
|
+
export declare function upgradeService(): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Get service status
|
|
19
|
+
*/
|
|
20
|
+
export declare function getServiceStatus(): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=installer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgZH;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAqDpD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+BtD;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAkDpD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8BtD"}
|
|
@@ -0,0 +1,553 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-platform installer for claude-gateway
|
|
3
|
+
* Supports systemd (Linux), launchd (macOS), and Task Scheduler (Windows)
|
|
4
|
+
*/
|
|
5
|
+
import { exec, execSync } from 'child_process';
|
|
6
|
+
import { promisify } from 'util';
|
|
7
|
+
import { writeFileSync, existsSync, mkdirSync, unlinkSync } from 'fs';
|
|
8
|
+
import { homedir, platform, userInfo } from 'os';
|
|
9
|
+
import { join, dirname } from 'path';
|
|
10
|
+
import { fileURLToPath } from 'url';
|
|
11
|
+
const execAsync = promisify(exec);
|
|
12
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
+
const __dirname = dirname(__filename);
|
|
14
|
+
/**
|
|
15
|
+
* Get the path to the node executable
|
|
16
|
+
*/
|
|
17
|
+
function getNodePath() {
|
|
18
|
+
try {
|
|
19
|
+
// Try to use the same node that's running this script
|
|
20
|
+
return process.execPath;
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return 'node';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get the path to npx
|
|
28
|
+
*/
|
|
29
|
+
function getNpxPath() {
|
|
30
|
+
try {
|
|
31
|
+
const npxPath = execSync('which npx || where npx', { encoding: 'utf-8' }).trim().split('\n')[0];
|
|
32
|
+
return npxPath || 'npx';
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return 'npx';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Detect if running via npx
|
|
40
|
+
*/
|
|
41
|
+
function isRunningViaNpx() {
|
|
42
|
+
// Check if we're in a temporary npm cache directory
|
|
43
|
+
const scriptPath = process.argv[1];
|
|
44
|
+
return scriptPath.includes('_npx') || scriptPath.includes('.npm/_npx');
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get the command to run claude-gateway
|
|
48
|
+
*/
|
|
49
|
+
function getGatewayCommand() {
|
|
50
|
+
if (isRunningViaNpx()) {
|
|
51
|
+
// Running via npx - use npx in the service
|
|
52
|
+
return `${getNpxPath()} claude-gateway start`;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
// Running from installed package or local development
|
|
56
|
+
try {
|
|
57
|
+
// Try to get the global npm bin directory
|
|
58
|
+
const npmBin = execSync('npm bin -g', { encoding: 'utf-8' }).trim();
|
|
59
|
+
const gatewayPath = join(npmBin, 'claude-gateway');
|
|
60
|
+
if (existsSync(gatewayPath)) {
|
|
61
|
+
return `${getNodePath()} ${gatewayPath} start`;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// Fallback to npx
|
|
66
|
+
}
|
|
67
|
+
return `${getNpxPath()} claude-gateway start`;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get service configuration
|
|
72
|
+
*/
|
|
73
|
+
function getServiceConfig() {
|
|
74
|
+
const home = homedir();
|
|
75
|
+
return {
|
|
76
|
+
name: 'claude-gateway',
|
|
77
|
+
description: 'Claude Gateway - OpenAI-compatible proxy for Claude Code',
|
|
78
|
+
command: getGatewayCommand(),
|
|
79
|
+
workingDirectory: home,
|
|
80
|
+
user: userInfo().username,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Linux/systemd installation
|
|
85
|
+
*/
|
|
86
|
+
async function installSystemd(config) {
|
|
87
|
+
const serviceName = `${config.name}.service`;
|
|
88
|
+
const systemdUserDir = join(homedir(), '.config', 'systemd', 'user');
|
|
89
|
+
const servicePath = join(systemdUserDir, serviceName);
|
|
90
|
+
// Create systemd user directory if it doesn't exist
|
|
91
|
+
if (!existsSync(systemdUserDir)) {
|
|
92
|
+
mkdirSync(systemdUserDir, { recursive: true });
|
|
93
|
+
}
|
|
94
|
+
// Create systemd service file
|
|
95
|
+
const serviceContent = `[Unit]
|
|
96
|
+
Description=${config.description}
|
|
97
|
+
After=network.target
|
|
98
|
+
|
|
99
|
+
[Service]
|
|
100
|
+
Type=simple
|
|
101
|
+
ExecStart=${config.command}
|
|
102
|
+
WorkingDirectory=${config.workingDirectory}
|
|
103
|
+
Restart=always
|
|
104
|
+
RestartSec=10
|
|
105
|
+
StandardOutput=journal
|
|
106
|
+
StandardError=journal
|
|
107
|
+
|
|
108
|
+
[Install]
|
|
109
|
+
WantedBy=default.target
|
|
110
|
+
`;
|
|
111
|
+
writeFileSync(servicePath, serviceContent);
|
|
112
|
+
console.log(`✅ Created systemd service file: ${servicePath}`);
|
|
113
|
+
// Reload systemd daemon
|
|
114
|
+
try {
|
|
115
|
+
await execAsync('systemctl --user daemon-reload');
|
|
116
|
+
console.log('✅ Reloaded systemd daemon');
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
console.warn('⚠️ Could not reload systemd daemon:', error);
|
|
120
|
+
}
|
|
121
|
+
// Enable the service
|
|
122
|
+
try {
|
|
123
|
+
await execAsync(`systemctl --user enable ${serviceName}`);
|
|
124
|
+
console.log(`✅ Enabled ${serviceName}`);
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
console.warn('⚠️ Could not enable service:', error);
|
|
128
|
+
throw error;
|
|
129
|
+
}
|
|
130
|
+
// Start the service
|
|
131
|
+
try {
|
|
132
|
+
await execAsync(`systemctl --user start ${serviceName}`);
|
|
133
|
+
console.log(`✅ Started ${serviceName}`);
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
console.warn('⚠️ Could not start service:', error);
|
|
137
|
+
throw error;
|
|
138
|
+
}
|
|
139
|
+
// Enable linger so service runs without user login
|
|
140
|
+
try {
|
|
141
|
+
await execAsync('loginctl enable-linger');
|
|
142
|
+
console.log('✅ Enabled linger (service will run at boot)');
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
console.warn('⚠️ Could not enable linger - service may not start at boot');
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Linux/systemd uninstallation
|
|
150
|
+
*/
|
|
151
|
+
async function uninstallSystemd(config) {
|
|
152
|
+
const serviceName = `${config.name}.service`;
|
|
153
|
+
const systemdUserDir = join(homedir(), '.config', 'systemd', 'user');
|
|
154
|
+
const servicePath = join(systemdUserDir, serviceName);
|
|
155
|
+
// Stop the service
|
|
156
|
+
try {
|
|
157
|
+
await execAsync(`systemctl --user stop ${serviceName}`);
|
|
158
|
+
console.log(`✅ Stopped ${serviceName}`);
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
console.warn('⚠️ Service may not be running');
|
|
162
|
+
}
|
|
163
|
+
// Disable the service
|
|
164
|
+
try {
|
|
165
|
+
await execAsync(`systemctl --user disable ${serviceName}`);
|
|
166
|
+
console.log(`✅ Disabled ${serviceName}`);
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
console.warn('⚠️ Could not disable service');
|
|
170
|
+
}
|
|
171
|
+
// Remove service file
|
|
172
|
+
if (existsSync(servicePath)) {
|
|
173
|
+
unlinkSync(servicePath);
|
|
174
|
+
console.log(`✅ Removed service file: ${servicePath}`);
|
|
175
|
+
}
|
|
176
|
+
// Reload systemd daemon
|
|
177
|
+
try {
|
|
178
|
+
await execAsync('systemctl --user daemon-reload');
|
|
179
|
+
console.log('✅ Reloaded systemd daemon');
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
console.warn('⚠️ Could not reload systemd daemon');
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* macOS/launchd installation
|
|
187
|
+
*/
|
|
188
|
+
async function installLaunchd(config) {
|
|
189
|
+
const plistName = `com.${config.name}.plist`;
|
|
190
|
+
const launchAgentsDir = join(homedir(), 'Library', 'LaunchAgents');
|
|
191
|
+
const plistPath = join(launchAgentsDir, plistName);
|
|
192
|
+
// Create LaunchAgents directory if it doesn't exist
|
|
193
|
+
if (!existsSync(launchAgentsDir)) {
|
|
194
|
+
mkdirSync(launchAgentsDir, { recursive: true });
|
|
195
|
+
}
|
|
196
|
+
// Parse command into array
|
|
197
|
+
const commandParts = config.command.split(' ');
|
|
198
|
+
// Create launchd plist file
|
|
199
|
+
const plistContent = `<?xml version="1.0" encoding="UTF-8"?>
|
|
200
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
201
|
+
<plist version="1.0">
|
|
202
|
+
<dict>
|
|
203
|
+
<key>Label</key>
|
|
204
|
+
<string>com.${config.name}</string>
|
|
205
|
+
<key>ProgramArguments</key>
|
|
206
|
+
<array>
|
|
207
|
+
${commandParts.map(part => `<string>${part}</string>`).join('\n ')}
|
|
208
|
+
</array>
|
|
209
|
+
<key>WorkingDirectory</key>
|
|
210
|
+
<string>${config.workingDirectory}</string>
|
|
211
|
+
<key>RunAtLoad</key>
|
|
212
|
+
<true/>
|
|
213
|
+
<key>KeepAlive</key>
|
|
214
|
+
<true/>
|
|
215
|
+
<key>StandardOutPath</key>
|
|
216
|
+
<string>${join(homedir(), 'Library', 'Logs', config.name + '.log')}</string>
|
|
217
|
+
<key>StandardErrorPath</key>
|
|
218
|
+
<string>${join(homedir(), 'Library', 'Logs', config.name + '-error.log')}</string>
|
|
219
|
+
</dict>
|
|
220
|
+
</plist>
|
|
221
|
+
`;
|
|
222
|
+
writeFileSync(plistPath, plistContent);
|
|
223
|
+
console.log(`✅ Created launchd plist file: ${plistPath}`);
|
|
224
|
+
// Create logs directory
|
|
225
|
+
const logsDir = join(homedir(), 'Library', 'Logs');
|
|
226
|
+
if (!existsSync(logsDir)) {
|
|
227
|
+
mkdirSync(logsDir, { recursive: true });
|
|
228
|
+
}
|
|
229
|
+
// Load the service
|
|
230
|
+
try {
|
|
231
|
+
await execAsync(`launchctl load ${plistPath}`);
|
|
232
|
+
console.log(`✅ Loaded ${plistName}`);
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
console.warn('⚠️ Could not load service:', error);
|
|
236
|
+
throw error;
|
|
237
|
+
}
|
|
238
|
+
// Start the service
|
|
239
|
+
try {
|
|
240
|
+
await execAsync(`launchctl start com.${config.name}`);
|
|
241
|
+
console.log(`✅ Started com.${config.name}`);
|
|
242
|
+
}
|
|
243
|
+
catch (error) {
|
|
244
|
+
console.warn('⚠️ Could not start service:', error);
|
|
245
|
+
throw error;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* macOS/launchd uninstallation
|
|
250
|
+
*/
|
|
251
|
+
async function uninstallLaunchd(config) {
|
|
252
|
+
const plistName = `com.${config.name}.plist`;
|
|
253
|
+
const launchAgentsDir = join(homedir(), 'Library', 'LaunchAgents');
|
|
254
|
+
const plistPath = join(launchAgentsDir, plistName);
|
|
255
|
+
// Stop the service
|
|
256
|
+
try {
|
|
257
|
+
await execAsync(`launchctl stop com.${config.name}`);
|
|
258
|
+
console.log(`✅ Stopped com.${config.name}`);
|
|
259
|
+
}
|
|
260
|
+
catch (error) {
|
|
261
|
+
console.warn('⚠️ Service may not be running');
|
|
262
|
+
}
|
|
263
|
+
// Unload the service
|
|
264
|
+
try {
|
|
265
|
+
await execAsync(`launchctl unload ${plistPath}`);
|
|
266
|
+
console.log(`✅ Unloaded ${plistName}`);
|
|
267
|
+
}
|
|
268
|
+
catch (error) {
|
|
269
|
+
console.warn('⚠️ Could not unload service');
|
|
270
|
+
}
|
|
271
|
+
// Remove plist file
|
|
272
|
+
if (existsSync(plistPath)) {
|
|
273
|
+
unlinkSync(plistPath);
|
|
274
|
+
console.log(`✅ Removed plist file: ${plistPath}`);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Windows/Task Scheduler installation
|
|
279
|
+
*/
|
|
280
|
+
async function installWindows(config) {
|
|
281
|
+
const taskName = config.name;
|
|
282
|
+
// Create XML for scheduled task
|
|
283
|
+
const taskXml = `<?xml version="1.0" encoding="UTF-16"?>
|
|
284
|
+
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
|
|
285
|
+
<RegistrationInfo>
|
|
286
|
+
<Description>${config.description}</Description>
|
|
287
|
+
</RegistrationInfo>
|
|
288
|
+
<Triggers>
|
|
289
|
+
<LogonTrigger>
|
|
290
|
+
<Enabled>true</Enabled>
|
|
291
|
+
</LogonTrigger>
|
|
292
|
+
</Triggers>
|
|
293
|
+
<Principals>
|
|
294
|
+
<Principal>
|
|
295
|
+
<LogonType>InteractiveToken</LogonType>
|
|
296
|
+
<RunLevel>LeastPrivilege</RunLevel>
|
|
297
|
+
</Principal>
|
|
298
|
+
</Principals>
|
|
299
|
+
<Settings>
|
|
300
|
+
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
|
|
301
|
+
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
|
|
302
|
+
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
|
|
303
|
+
<AllowHardTerminate>true</AllowHardTerminate>
|
|
304
|
+
<StartWhenAvailable>true</StartWhenAvailable>
|
|
305
|
+
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
|
|
306
|
+
<IdleSettings>
|
|
307
|
+
<StopOnIdleEnd>false</StopOnIdleEnd>
|
|
308
|
+
<RestartOnIdle>false</RestartOnIdle>
|
|
309
|
+
</IdleSettings>
|
|
310
|
+
<AllowStartOnDemand>true</AllowStartOnDemand>
|
|
311
|
+
<Enabled>true</Enabled>
|
|
312
|
+
<Hidden>false</Hidden>
|
|
313
|
+
<RunOnlyIfIdle>false</RunOnlyIfIdle>
|
|
314
|
+
<WakeToRun>false</WakeToRun>
|
|
315
|
+
<ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
|
|
316
|
+
<Priority>7</Priority>
|
|
317
|
+
<RestartOnFailure>
|
|
318
|
+
<Interval>PT1M</Interval>
|
|
319
|
+
<Count>3</Count>
|
|
320
|
+
</RestartOnFailure>
|
|
321
|
+
</Settings>
|
|
322
|
+
<Actions>
|
|
323
|
+
<Exec>
|
|
324
|
+
<Command>cmd.exe</Command>
|
|
325
|
+
<Arguments>/c ${config.command}</Arguments>
|
|
326
|
+
<WorkingDirectory>${config.workingDirectory}</WorkingDirectory>
|
|
327
|
+
</Exec>
|
|
328
|
+
</Actions>
|
|
329
|
+
</Task>
|
|
330
|
+
`;
|
|
331
|
+
// Write XML to temp file
|
|
332
|
+
const tempXmlPath = join(homedir(), `${taskName}-task.xml`);
|
|
333
|
+
writeFileSync(tempXmlPath, taskXml);
|
|
334
|
+
try {
|
|
335
|
+
// Create scheduled task
|
|
336
|
+
await execAsync(`schtasks /create /tn "${taskName}" /xml "${tempXmlPath}" /f`);
|
|
337
|
+
console.log(`✅ Created scheduled task: ${taskName}`);
|
|
338
|
+
// Run the task immediately
|
|
339
|
+
await execAsync(`schtasks /run /tn "${taskName}"`);
|
|
340
|
+
console.log(`✅ Started ${taskName}`);
|
|
341
|
+
}
|
|
342
|
+
finally {
|
|
343
|
+
// Clean up temp XML file
|
|
344
|
+
if (existsSync(tempXmlPath)) {
|
|
345
|
+
unlinkSync(tempXmlPath);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Windows/Task Scheduler uninstallation
|
|
351
|
+
*/
|
|
352
|
+
async function uninstallWindows(config) {
|
|
353
|
+
const taskName = config.name;
|
|
354
|
+
try {
|
|
355
|
+
// Delete scheduled task
|
|
356
|
+
await execAsync(`schtasks /end /tn "${taskName}"`);
|
|
357
|
+
console.log(`✅ Stopped ${taskName}`);
|
|
358
|
+
}
|
|
359
|
+
catch (error) {
|
|
360
|
+
console.warn('⚠️ Task may not be running');
|
|
361
|
+
}
|
|
362
|
+
try {
|
|
363
|
+
await execAsync(`schtasks /delete /tn "${taskName}" /f`);
|
|
364
|
+
console.log(`✅ Deleted scheduled task: ${taskName}`);
|
|
365
|
+
}
|
|
366
|
+
catch (error) {
|
|
367
|
+
console.warn('⚠️ Could not delete task:', error);
|
|
368
|
+
throw error;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Install the service on the current platform
|
|
373
|
+
*/
|
|
374
|
+
export async function installService() {
|
|
375
|
+
const config = getServiceConfig();
|
|
376
|
+
const os = platform();
|
|
377
|
+
console.log('\n' + '='.repeat(70));
|
|
378
|
+
console.log('INSTALL CLAUDE GATEWAY SERVICE');
|
|
379
|
+
console.log('='.repeat(70));
|
|
380
|
+
console.log(`\nPlatform: ${os}`);
|
|
381
|
+
console.log(`Command: ${config.command}`);
|
|
382
|
+
console.log('');
|
|
383
|
+
try {
|
|
384
|
+
if (os === 'linux') {
|
|
385
|
+
await installSystemd(config);
|
|
386
|
+
}
|
|
387
|
+
else if (os === 'darwin') {
|
|
388
|
+
await installLaunchd(config);
|
|
389
|
+
}
|
|
390
|
+
else if (os === 'win32') {
|
|
391
|
+
await installWindows(config);
|
|
392
|
+
}
|
|
393
|
+
else {
|
|
394
|
+
throw new Error(`Unsupported platform: ${os}`);
|
|
395
|
+
}
|
|
396
|
+
console.log('\n' + '='.repeat(70));
|
|
397
|
+
console.log('✅ Installation complete!');
|
|
398
|
+
console.log('='.repeat(70));
|
|
399
|
+
console.log('\nClaude Gateway is now installed and will start automatically.');
|
|
400
|
+
console.log('The service is currently running on http://localhost:45554');
|
|
401
|
+
console.log('');
|
|
402
|
+
console.log('Useful commands:');
|
|
403
|
+
if (os === 'linux') {
|
|
404
|
+
console.log(` systemctl --user status ${config.name} # Check status`);
|
|
405
|
+
console.log(` systemctl --user stop ${config.name} # Stop service`);
|
|
406
|
+
console.log(` systemctl --user start ${config.name} # Start service`);
|
|
407
|
+
console.log(` systemctl --user restart ${config.name} # Restart service`);
|
|
408
|
+
console.log(` journalctl --user -u ${config.name} -f # View logs`);
|
|
409
|
+
}
|
|
410
|
+
else if (os === 'darwin') {
|
|
411
|
+
console.log(` launchctl list | grep ${config.name} # Check status`);
|
|
412
|
+
console.log(` launchctl stop com.${config.name} # Stop service`);
|
|
413
|
+
console.log(` launchctl start com.${config.name} # Start service`);
|
|
414
|
+
console.log(` tail -f ~/Library/Logs/${config.name}.log # View logs`);
|
|
415
|
+
}
|
|
416
|
+
else if (os === 'win32') {
|
|
417
|
+
console.log(` schtasks /query /tn "${config.name}" # Check status`);
|
|
418
|
+
console.log(` schtasks /end /tn "${config.name}" # Stop service`);
|
|
419
|
+
console.log(` schtasks /run /tn "${config.name}" # Start service`);
|
|
420
|
+
}
|
|
421
|
+
console.log('');
|
|
422
|
+
}
|
|
423
|
+
catch (error) {
|
|
424
|
+
console.error('\n❌ Installation failed:', error instanceof Error ? error.message : error);
|
|
425
|
+
console.log('');
|
|
426
|
+
throw error;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Uninstall the service from the current platform
|
|
431
|
+
*/
|
|
432
|
+
export async function uninstallService() {
|
|
433
|
+
const config = getServiceConfig();
|
|
434
|
+
const os = platform();
|
|
435
|
+
console.log('\n' + '='.repeat(70));
|
|
436
|
+
console.log('UNINSTALL CLAUDE GATEWAY SERVICE');
|
|
437
|
+
console.log('='.repeat(70));
|
|
438
|
+
console.log(`\nPlatform: ${os}`);
|
|
439
|
+
console.log('');
|
|
440
|
+
try {
|
|
441
|
+
if (os === 'linux') {
|
|
442
|
+
await uninstallSystemd(config);
|
|
443
|
+
}
|
|
444
|
+
else if (os === 'darwin') {
|
|
445
|
+
await uninstallLaunchd(config);
|
|
446
|
+
}
|
|
447
|
+
else if (os === 'win32') {
|
|
448
|
+
await uninstallWindows(config);
|
|
449
|
+
}
|
|
450
|
+
else {
|
|
451
|
+
throw new Error(`Unsupported platform: ${os}`);
|
|
452
|
+
}
|
|
453
|
+
console.log('\n' + '='.repeat(70));
|
|
454
|
+
console.log('✅ Uninstallation complete!');
|
|
455
|
+
console.log('='.repeat(70));
|
|
456
|
+
console.log('\nClaude Gateway service has been removed.');
|
|
457
|
+
console.log('');
|
|
458
|
+
}
|
|
459
|
+
catch (error) {
|
|
460
|
+
console.error('\n❌ Uninstallation failed:', error instanceof Error ? error.message : error);
|
|
461
|
+
console.log('');
|
|
462
|
+
throw error;
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
/**
|
|
466
|
+
* Upgrade the service (reinstall with latest version)
|
|
467
|
+
*/
|
|
468
|
+
export async function upgradeService() {
|
|
469
|
+
console.log('\n' + '='.repeat(70));
|
|
470
|
+
console.log('UPGRADE CLAUDE GATEWAY SERVICE');
|
|
471
|
+
console.log('='.repeat(70));
|
|
472
|
+
console.log('');
|
|
473
|
+
try {
|
|
474
|
+
// First, check if service is installed
|
|
475
|
+
const config = getServiceConfig();
|
|
476
|
+
const os = platform();
|
|
477
|
+
let isInstalled = false;
|
|
478
|
+
if (os === 'linux') {
|
|
479
|
+
const servicePath = join(homedir(), '.config', 'systemd', 'user', `${config.name}.service`);
|
|
480
|
+
isInstalled = existsSync(servicePath);
|
|
481
|
+
}
|
|
482
|
+
else if (os === 'darwin') {
|
|
483
|
+
const plistPath = join(homedir(), 'Library', 'LaunchAgents', `com.${config.name}.plist`);
|
|
484
|
+
isInstalled = existsSync(plistPath);
|
|
485
|
+
}
|
|
486
|
+
else if (os === 'win32') {
|
|
487
|
+
try {
|
|
488
|
+
await execAsync(`schtasks /query /tn "${config.name}"`);
|
|
489
|
+
isInstalled = true;
|
|
490
|
+
}
|
|
491
|
+
catch {
|
|
492
|
+
isInstalled = false;
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
if (!isInstalled) {
|
|
496
|
+
console.log('⚠️ Service is not currently installed.');
|
|
497
|
+
console.log(' Run: claude-gateway install');
|
|
498
|
+
console.log('');
|
|
499
|
+
return;
|
|
500
|
+
}
|
|
501
|
+
console.log('Step 1: Stopping and removing old service...');
|
|
502
|
+
await uninstallService();
|
|
503
|
+
console.log('\nStep 2: Installing updated service...');
|
|
504
|
+
await installService();
|
|
505
|
+
console.log('\n' + '='.repeat(70));
|
|
506
|
+
console.log('✅ Upgrade complete!');
|
|
507
|
+
console.log('='.repeat(70));
|
|
508
|
+
console.log('\nClaude Gateway has been upgraded and restarted.');
|
|
509
|
+
console.log('');
|
|
510
|
+
}
|
|
511
|
+
catch (error) {
|
|
512
|
+
console.error('\n❌ Upgrade failed:', error instanceof Error ? error.message : error);
|
|
513
|
+
console.log('');
|
|
514
|
+
throw error;
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
/**
|
|
518
|
+
* Get service status
|
|
519
|
+
*/
|
|
520
|
+
export async function getServiceStatus() {
|
|
521
|
+
const config = getServiceConfig();
|
|
522
|
+
const os = platform();
|
|
523
|
+
console.log('\n' + '='.repeat(70));
|
|
524
|
+
console.log('SERVICE STATUS');
|
|
525
|
+
console.log('='.repeat(70));
|
|
526
|
+
console.log('');
|
|
527
|
+
try {
|
|
528
|
+
if (os === 'linux') {
|
|
529
|
+
const { stdout } = await execAsync(`systemctl --user status ${config.name} || true`);
|
|
530
|
+
console.log(stdout);
|
|
531
|
+
}
|
|
532
|
+
else if (os === 'darwin') {
|
|
533
|
+
const { stdout } = await execAsync(`launchctl list | grep ${config.name} || echo "Not running"`);
|
|
534
|
+
if (stdout.includes(config.name)) {
|
|
535
|
+
console.log(`✅ Service is running: com.${config.name}`);
|
|
536
|
+
console.log(stdout);
|
|
537
|
+
}
|
|
538
|
+
else {
|
|
539
|
+
console.log('❌ Service is not running');
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
else if (os === 'win32') {
|
|
543
|
+
const { stdout } = await execAsync(`schtasks /query /tn "${config.name}" /v /fo list`);
|
|
544
|
+
console.log(stdout);
|
|
545
|
+
}
|
|
546
|
+
console.log('');
|
|
547
|
+
}
|
|
548
|
+
catch (error) {
|
|
549
|
+
console.log('❌ Service is not installed or not running');
|
|
550
|
+
console.log('');
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
//# sourceMappingURL=installer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translator.d.ts","sourceRoot":"","sources":["../../src/router/translator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,2BAA2B,EAG3B,4BAA4B,EAC5B,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EAIlB,MAAM,aAAa,CAAC;AAmBrB;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,2BAA2B,GACzC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"translator.d.ts","sourceRoot":"","sources":["../../src/router/translator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,2BAA2B,EAG3B,4BAA4B,EAC5B,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EAIlB,MAAM,aAAa,CAAC;AAmBrB;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,2BAA2B,GACzC,gBAAgB,CAoJlB;AAiBD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,MAAM,GACpB,4BAA4B,CAwD9B;AAED;;;GAGG;AACH,wBAAuB,gCAAgC,CACrD,eAAe,EAAE,aAAa,CAAC,UAAU,CAAC,EAC1C,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CA+KvC;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAuBnF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAwBhF"}
|
|
@@ -40,34 +40,103 @@ export function translateOpenAIToAnthropic(openaiRequest) {
|
|
|
40
40
|
// Consolidate consecutive same-role messages for Anthropic's alternation requirement
|
|
41
41
|
const anthropicMessages = [];
|
|
42
42
|
let currentRole = null;
|
|
43
|
-
let
|
|
43
|
+
let currentContentBlocks = [];
|
|
44
44
|
for (const msg of conversationMessages) {
|
|
45
45
|
if (msg.role === 'tool') {
|
|
46
|
-
//
|
|
46
|
+
// Tool results must be included in a user message as tool_result content blocks
|
|
47
|
+
// Ensure we're building a user message
|
|
48
|
+
if (currentRole === 'assistant') {
|
|
49
|
+
// Flush the assistant message first
|
|
50
|
+
if (currentContentBlocks.length > 0) {
|
|
51
|
+
anthropicMessages.push({
|
|
52
|
+
role: 'assistant',
|
|
53
|
+
content: currentContentBlocks,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
currentRole = 'user';
|
|
57
|
+
currentContentBlocks = [];
|
|
58
|
+
}
|
|
59
|
+
else if (currentRole === null) {
|
|
60
|
+
currentRole = 'user';
|
|
61
|
+
}
|
|
62
|
+
// Add tool result as a content block
|
|
63
|
+
currentContentBlocks.push({
|
|
64
|
+
type: 'tool_result',
|
|
65
|
+
tool_use_id: msg.tool_call_id,
|
|
66
|
+
content: msg.content || '',
|
|
67
|
+
});
|
|
47
68
|
continue;
|
|
48
69
|
}
|
|
49
70
|
const role = msg.role;
|
|
50
71
|
if (role === currentRole) {
|
|
51
72
|
// Same role, accumulate content
|
|
52
|
-
|
|
73
|
+
if (msg.tool_calls) {
|
|
74
|
+
// Assistant message with tool calls - add tool_use blocks
|
|
75
|
+
if (msg.content) {
|
|
76
|
+
currentContentBlocks.push({
|
|
77
|
+
type: 'text',
|
|
78
|
+
text: msg.content,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
for (const toolCall of msg.tool_calls) {
|
|
82
|
+
currentContentBlocks.push({
|
|
83
|
+
type: 'tool_use',
|
|
84
|
+
id: toolCall.id,
|
|
85
|
+
name: toolCall.function.name,
|
|
86
|
+
input: JSON.parse(toolCall.function.arguments),
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else if (msg.content) {
|
|
91
|
+
// Regular text message
|
|
92
|
+
currentContentBlocks.push({
|
|
93
|
+
type: 'text',
|
|
94
|
+
text: msg.content,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
53
97
|
}
|
|
54
98
|
else {
|
|
55
99
|
// Role changed, flush current message
|
|
56
|
-
if (currentRole &&
|
|
100
|
+
if (currentRole && currentContentBlocks.length > 0) {
|
|
57
101
|
anthropicMessages.push({
|
|
58
102
|
role: currentRole,
|
|
59
|
-
content:
|
|
103
|
+
content: currentContentBlocks,
|
|
60
104
|
});
|
|
61
105
|
}
|
|
62
106
|
currentRole = role;
|
|
63
|
-
|
|
107
|
+
currentContentBlocks = [];
|
|
108
|
+
// Add content for new message
|
|
109
|
+
if (msg.tool_calls) {
|
|
110
|
+
// Assistant message with tool calls
|
|
111
|
+
if (msg.content) {
|
|
112
|
+
currentContentBlocks.push({
|
|
113
|
+
type: 'text',
|
|
114
|
+
text: msg.content,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
for (const toolCall of msg.tool_calls) {
|
|
118
|
+
currentContentBlocks.push({
|
|
119
|
+
type: 'tool_use',
|
|
120
|
+
id: toolCall.id,
|
|
121
|
+
name: toolCall.function.name,
|
|
122
|
+
input: JSON.parse(toolCall.function.arguments),
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
else if (msg.content) {
|
|
127
|
+
// Regular text message
|
|
128
|
+
currentContentBlocks.push({
|
|
129
|
+
type: 'text',
|
|
130
|
+
text: msg.content,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
64
133
|
}
|
|
65
134
|
}
|
|
66
135
|
// Flush final message
|
|
67
|
-
if (currentRole &&
|
|
136
|
+
if (currentRole && currentContentBlocks.length > 0) {
|
|
68
137
|
anthropicMessages.push({
|
|
69
138
|
role: currentRole,
|
|
70
|
-
content:
|
|
139
|
+
content: currentContentBlocks,
|
|
71
140
|
});
|
|
72
141
|
}
|
|
73
142
|
// Translate tools if present
|
|
@@ -78,7 +147,7 @@ export function translateOpenAIToAnthropic(openaiRequest) {
|
|
|
78
147
|
// Build the Anthropic request
|
|
79
148
|
const anthropicRequest = {
|
|
80
149
|
model: mapModelName(openaiRequest.model),
|
|
81
|
-
max_tokens: openaiRequest.max_tokens ||
|
|
150
|
+
max_tokens: openaiRequest.max_tokens || 64_000,
|
|
82
151
|
messages: anthropicMessages,
|
|
83
152
|
stream: openaiRequest.stream || false,
|
|
84
153
|
};
|
|
@@ -173,6 +242,8 @@ export async function* translateAnthropicStreamToOpenAI(anthropicStream, origina
|
|
|
173
242
|
let buffer = '';
|
|
174
243
|
let totalInputTokens = 0;
|
|
175
244
|
let totalOutputTokens = 0;
|
|
245
|
+
let stopReason = null;
|
|
246
|
+
const toolCalls = new Map();
|
|
176
247
|
// Send initial chunk with role
|
|
177
248
|
yield `data: ${JSON.stringify({
|
|
178
249
|
id: messageId,
|
|
@@ -214,9 +285,84 @@ export async function* translateAnthropicStreamToOpenAI(anthropicStream, origina
|
|
|
214
285
|
],
|
|
215
286
|
})}\n\n`;
|
|
216
287
|
}
|
|
217
|
-
else if (event.type === '
|
|
218
|
-
|
|
219
|
-
|
|
288
|
+
else if (event.type === 'content_block_start' &&
|
|
289
|
+
event.content_block?.type === 'tool_use') {
|
|
290
|
+
// Tool use block started
|
|
291
|
+
const index = event.index || 0;
|
|
292
|
+
const toolCall = {
|
|
293
|
+
id: event.content_block.id,
|
|
294
|
+
name: event.content_block.name,
|
|
295
|
+
arguments: '',
|
|
296
|
+
};
|
|
297
|
+
toolCalls.set(index, toolCall);
|
|
298
|
+
// Send tool call start
|
|
299
|
+
yield `data: ${JSON.stringify({
|
|
300
|
+
id: messageId,
|
|
301
|
+
object: 'chat.completion.chunk',
|
|
302
|
+
created: Math.floor(Date.now() / 1000),
|
|
303
|
+
model: originalModel,
|
|
304
|
+
choices: [
|
|
305
|
+
{
|
|
306
|
+
index: 0,
|
|
307
|
+
delta: {
|
|
308
|
+
tool_calls: [
|
|
309
|
+
{
|
|
310
|
+
index,
|
|
311
|
+
id: toolCall.id,
|
|
312
|
+
type: 'function',
|
|
313
|
+
function: {
|
|
314
|
+
name: toolCall.name,
|
|
315
|
+
arguments: '',
|
|
316
|
+
},
|
|
317
|
+
},
|
|
318
|
+
],
|
|
319
|
+
},
|
|
320
|
+
finish_reason: null,
|
|
321
|
+
},
|
|
322
|
+
],
|
|
323
|
+
})}\n\n`;
|
|
324
|
+
}
|
|
325
|
+
else if (event.type === 'content_block_delta' &&
|
|
326
|
+
event.delta?.type === 'input_json_delta') {
|
|
327
|
+
// Tool use input delta
|
|
328
|
+
const index = event.index || 0;
|
|
329
|
+
const toolCall = toolCalls.get(index);
|
|
330
|
+
if (toolCall) {
|
|
331
|
+
const argsDelta = event.delta.partial_json || '';
|
|
332
|
+
toolCall.arguments = (toolCall.arguments || '') + argsDelta;
|
|
333
|
+
// Send arguments delta
|
|
334
|
+
yield `data: ${JSON.stringify({
|
|
335
|
+
id: messageId,
|
|
336
|
+
object: 'chat.completion.chunk',
|
|
337
|
+
created: Math.floor(Date.now() / 1000),
|
|
338
|
+
model: originalModel,
|
|
339
|
+
choices: [
|
|
340
|
+
{
|
|
341
|
+
index: 0,
|
|
342
|
+
delta: {
|
|
343
|
+
tool_calls: [
|
|
344
|
+
{
|
|
345
|
+
index,
|
|
346
|
+
function: {
|
|
347
|
+
arguments: argsDelta,
|
|
348
|
+
},
|
|
349
|
+
},
|
|
350
|
+
],
|
|
351
|
+
},
|
|
352
|
+
finish_reason: null,
|
|
353
|
+
},
|
|
354
|
+
],
|
|
355
|
+
})}\n\n`;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
else if (event.type === 'message_delta') {
|
|
359
|
+
// Update token counts and stop reason
|
|
360
|
+
if (event.usage) {
|
|
361
|
+
totalOutputTokens = event.usage.output_tokens || totalOutputTokens;
|
|
362
|
+
}
|
|
363
|
+
if (event.delta?.stop_reason) {
|
|
364
|
+
stopReason = event.delta.stop_reason;
|
|
365
|
+
}
|
|
220
366
|
}
|
|
221
367
|
else if (event.type === 'message_start' && event.message?.usage) {
|
|
222
368
|
// Initial token count
|
|
@@ -229,6 +375,14 @@ export async function* translateAnthropicStreamToOpenAI(anthropicStream, origina
|
|
|
229
375
|
}
|
|
230
376
|
}
|
|
231
377
|
}
|
|
378
|
+
// Map stop reason to finish reason
|
|
379
|
+
let finishReason = 'stop';
|
|
380
|
+
if (stopReason === 'max_tokens') {
|
|
381
|
+
finishReason = 'length';
|
|
382
|
+
}
|
|
383
|
+
else if (stopReason === 'tool_use') {
|
|
384
|
+
finishReason = 'tool_calls';
|
|
385
|
+
}
|
|
232
386
|
// Send final chunk with usage information
|
|
233
387
|
yield `data: ${JSON.stringify({
|
|
234
388
|
id: messageId,
|
|
@@ -239,7 +393,7 @@ export async function* translateAnthropicStreamToOpenAI(anthropicStream, origina
|
|
|
239
393
|
{
|
|
240
394
|
index: 0,
|
|
241
395
|
delta: {},
|
|
242
|
-
finish_reason:
|
|
396
|
+
finish_reason: finishReason,
|
|
243
397
|
},
|
|
244
398
|
],
|
|
245
399
|
usage: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translator.js","sourceRoot":"","sources":["../../src/router/translator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAeH;;;GAGG;AACH,SAAS,YAAY,CAAC,WAAmB;IACvC,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAExC,gDAAgD;IAChD,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACtD,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,oEAAoE;IACpE,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,aAA0C;IAE1C,0CAA0C;IAC1C,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,oBAAoB,GAAoB,EAAE,CAAC;IAEjD,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,MAAM,iBAAiB,GAAc,EAAE,CAAC;IACxC,IAAI,WAAW,GAAgC,IAAI,CAAC;IACpD,IAAI,cAAc,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACvC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,0DAA0D;YAC1D,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAA4B,CAAC;QAE9C,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,gCAAgC;YAChC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,IAAI,WAAW,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,iBAAiB,CAAC,IAAI,CAAC;oBACrB,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;iBACrC,CAAC,CAAC;YACL,CAAC;YACD,WAAW,GAAG,IAAI,CAAC;YACnB,cAAc,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,WAAW,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,iBAAiB,CAAC,IAAI,CAAC;YACrB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;IAC7B,IAAI,cAAkC,CAAC;IACvC,IAAI,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC3E,CAAC;IAED,8BAA8B;IAC9B,MAAM,gBAAgB,GAAqB;QACzC,KAAK,EAAE,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC;QACxC,UAAU,EAAE,aAAa,CAAC,UAAU,IAAI,IAAI;QAC5C,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,aAAa,CAAC,MAAM,IAAI,KAAK;KACtC,CAAC;IAEF,iCAAiC;IACjC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,gBAAgB,CAAC,MAAM,GAAG;YACxB;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;aAClC;SACF,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,gBAAgB,CAAC,KAAK,GAAG,cAAc,CAAC;IAC1C,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,8BAA8B,CAAC,UAAsB;IAC5D,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI;QAC9B,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW;QAC5C,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU;YACrD,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ;SAClD;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,iBAAoC,EACpC,aAAqB;IAErB,uDAAuD;IACvD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CACjD,CAAC,KAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAC/C,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE7E,mCAAmC;IACnC,IAAI,YAAY,GAA+D,IAAI,CAAC;IACpF,IAAI,iBAAiB,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QACjD,YAAY,GAAG,MAAM,CAAC;IACxB,CAAC;SAAM,IAAI,iBAAiB,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;QAC1D,YAAY,GAAG,QAAQ,CAAC;IAC1B,CAAC;SAAM,IAAI,iBAAiB,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QACxD,YAAY,GAAG,YAAY,CAAC;IAC9B,CAAC;IAED,+BAA+B;IAC/B,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CACpD,CAAC,KAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CACnD,CAAC;IAEF,MAAM,SAAS,GACb,aAAa,CAAC,MAAM,GAAG,CAAC;QACtB,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE,CAAC,CAAC;YAC1C,EAAE,EAAE,KAAK,CAAC,EAAY;YACtB,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACR,IAAI,EAAE,KAAK,CAAC,IAAc;gBAC1B,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;aACvC;SACF,CAAC,CAAC;QACL,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,EAAE,EAAE,iBAAiB,CAAC,EAAE;QACxB,MAAM,EAAE,iBAAiB;QACzB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACtC,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,OAAO,IAAI,IAAI;oBACxB,GAAG,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;iBAC5C;gBACD,aAAa,EAAE,YAAY;aAC5B;SACF;QACD,KAAK,EAAE;YACL,aAAa,EAAE,iBAAiB,CAAC,KAAK,CAAC,YAAY;YACnD,iBAAiB,EAAE,iBAAiB,CAAC,KAAK,CAAC,aAAa;YACxD,YAAY,EAAE,iBAAiB,CAAC,KAAK,CAAC,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,aAAa;SAC3F;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,gCAAgC,CACrD,eAA0C,EAC1C,aAAqB,EACrB,SAAiB;IAEjB,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,+BAA+B;IAC/B,MAAM,SAAS,IAAI,CAAC,SAAS,CAAC;QAC5B,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,uBAAuB;QAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACtC,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;gBAC5B,aAAa,EAAE,IAAI;aACpB;SACF;KACF,CAAC,MAAM,CAAC;IAET,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QAC1C,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAEnD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAE3B,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAE/B,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;wBAC/E,qBAAqB;wBACrB,MAAM,SAAS,IAAI,CAAC,SAAS,CAAC;4BAC5B,EAAE,EAAE,SAAS;4BACb,MAAM,EAAE,uBAAuB;4BAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;4BACtC,KAAK,EAAE,aAAa;4BACpB,OAAO,EAAE;gCACP;oCACE,KAAK,EAAE,CAAC;oCACR,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;oCACpC,aAAa,EAAE,IAAI;iCACpB;6BACF;yBACF,CAAC,MAAM,CAAC;oBACX,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBACzD,sBAAsB;wBACtB,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,iBAAiB,CAAC;oBACrE,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;wBAClE,sBAAsB;wBACtB,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;oBAC3D,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,2CAA2C;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,MAAM,SAAS,IAAI,CAAC,SAAS,CAAC;QAC5B,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,uBAAuB;QAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACtC,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,MAAM;aACtB;SACF;QACD,KAAK,EAAE;YACL,aAAa,EAAE,gBAAgB;YAC/B,iBAAiB,EAAE,iBAAiB;YACpC,YAAY,EAAE,gBAAgB,GAAG,iBAAiB;SACnD;KACF,CAAC,MAAM,CAAC;IAET,qBAAqB;IACrB,MAAM,kBAAkB,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAAC,KAAc;IAC5D,0DAA0D;IAC1D,MAAM,GAAG,GAAG,KAA0E,CAAC;IACvF,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;QAC1C,OAAO;YACL,KAAK,EAAE;gBACL,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO;gBAC1B,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI;gBACpB,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,IAAI;aACX;SACF,CAAC;IACJ,CAAC;IAED,gBAAgB;IAChB,OAAO;QACL,KAAK,EAAE;YACL,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,mBAAmB;YAC3C,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI;SACX;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAoC;IACxE,2DAA2D;IAC3D,IAAI,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IAED,sFAAsF;IACtF,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"translator.js","sourceRoot":"","sources":["../../src/router/translator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED