@kaitranntt/ccs 7.73.0-dev.1 → 7.73.0-dev.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/config/base-claude.settings.json +1 -1
- package/dist/ccs.js +47 -13
- package/dist/ccs.js.map +1 -1
- package/dist/cliproxy/executor/index.d.ts.map +1 -1
- package/dist/cliproxy/executor/index.js +32 -11
- package/dist/cliproxy/executor/index.js.map +1 -1
- package/dist/cliproxy/model-catalog.d.ts.map +1 -1
- package/dist/cliproxy/model-catalog.js +15 -1
- package/dist/cliproxy/model-catalog.js.map +1 -1
- package/dist/commands/browser-command.d.ts.map +1 -1
- package/dist/commands/browser-command.js +168 -11
- package/dist/commands/browser-command.js.map +1 -1
- package/dist/commands/command-catalog.d.ts +1 -1
- package/dist/commands/command-catalog.d.ts.map +1 -1
- package/dist/commands/command-catalog.js +4 -2
- package/dist/commands/command-catalog.js.map +1 -1
- package/dist/commands/completion-backend.d.ts.map +1 -1
- package/dist/commands/completion-backend.js +14 -1
- package/dist/commands/completion-backend.js.map +1 -1
- package/dist/commands/proxy-command.d.ts +1 -0
- package/dist/commands/proxy-command.d.ts.map +1 -1
- package/dist/commands/proxy-command.js +93 -23
- package/dist/commands/proxy-command.js.map +1 -1
- package/dist/config/unified-config-loader.d.ts.map +1 -1
- package/dist/config/unified-config-loader.js +9 -0
- package/dist/config/unified-config-loader.js.map +1 -1
- package/dist/config/unified-config-types.d.ts +12 -2
- package/dist/config/unified-config-types.d.ts.map +1 -1
- package/dist/config/unified-config-types.js +9 -2
- package/dist/config/unified-config-types.js.map +1 -1
- package/dist/cursor/cursor-default-models.d.ts +1 -1
- package/dist/cursor/cursor-default-models.d.ts.map +1 -1
- package/dist/cursor/cursor-default-models.js +11 -1
- package/dist/cursor/cursor-default-models.js.map +1 -1
- package/dist/glmt/delta-accumulator.d.ts +4 -0
- package/dist/glmt/delta-accumulator.d.ts.map +1 -1
- package/dist/glmt/delta-accumulator.js +17 -5
- package/dist/glmt/delta-accumulator.js.map +1 -1
- package/dist/glmt/pipeline/stream-parser.d.ts +0 -3
- package/dist/glmt/pipeline/stream-parser.d.ts.map +1 -1
- package/dist/glmt/pipeline/stream-parser.js +20 -27
- package/dist/glmt/pipeline/stream-parser.js.map +1 -1
- package/dist/glmt/pipeline/tool-call-handler.d.ts +0 -7
- package/dist/glmt/pipeline/tool-call-handler.d.ts.map +1 -1
- package/dist/glmt/pipeline/tool-call-handler.js +15 -24
- package/dist/glmt/pipeline/tool-call-handler.js.map +1 -1
- package/dist/proxy/index.d.ts +1 -0
- package/dist/proxy/index.d.ts.map +1 -1
- package/dist/proxy/index.js +1 -0
- package/dist/proxy/index.js.map +1 -1
- package/dist/proxy/proxy-daemon-paths.d.ts +5 -2
- package/dist/proxy/proxy-daemon-paths.d.ts.map +1 -1
- package/dist/proxy/proxy-daemon-paths.js +17 -5
- package/dist/proxy/proxy-daemon-paths.js.map +1 -1
- package/dist/proxy/proxy-daemon-state.d.ts +10 -5
- package/dist/proxy/proxy-daemon-state.d.ts.map +1 -1
- package/dist/proxy/proxy-daemon-state.js +81 -12
- package/dist/proxy/proxy-daemon-state.js.map +1 -1
- package/dist/proxy/proxy-daemon.d.ts +4 -3
- package/dist/proxy/proxy-daemon.d.ts.map +1 -1
- package/dist/proxy/proxy-daemon.js +351 -93
- package/dist/proxy/proxy-daemon.js.map +1 -1
- package/dist/proxy/proxy-port-resolver.d.ts +7 -0
- package/dist/proxy/proxy-port-resolver.d.ts.map +1 -0
- package/dist/proxy/proxy-port-resolver.js +22 -0
- package/dist/proxy/proxy-port-resolver.js.map +1 -0
- package/dist/proxy/server/messages-route.d.ts.map +1 -1
- package/dist/proxy/server/messages-route.js +2 -7
- package/dist/proxy/server/messages-route.js.map +1 -1
- package/dist/proxy/server/proxy-server.d.ts.map +1 -1
- package/dist/proxy/server/proxy-server.js +35 -23
- package/dist/proxy/server/proxy-server.js.map +1 -1
- package/dist/proxy/transformers/request-transformer.d.ts.map +1 -1
- package/dist/proxy/transformers/request-transformer.js +21 -16
- package/dist/proxy/transformers/request-transformer.js.map +1 -1
- package/dist/targets/target-resolver.d.ts.map +1 -1
- package/dist/targets/target-resolver.js +15 -0
- package/dist/targets/target-resolver.js.map +1 -1
- package/dist/utils/browser/browser-policy.d.ts +22 -0
- package/dist/utils/browser/browser-policy.d.ts.map +1 -0
- package/dist/utils/browser/browser-policy.js +65 -0
- package/dist/utils/browser/browser-policy.js.map +1 -0
- package/dist/utils/browser/browser-setup.js +2 -0
- package/dist/utils/browser/browser-setup.js.map +1 -1
- package/dist/utils/browser/browser-status.d.ts +4 -0
- package/dist/utils/browser/browser-status.d.ts.map +1 -1
- package/dist/utils/browser/browser-status.js +59 -13
- package/dist/utils/browser/browser-status.js.map +1 -1
- package/dist/utils/browser/index.d.ts +2 -0
- package/dist/utils/browser/index.d.ts.map +1 -1
- package/dist/utils/browser/index.js +7 -1
- package/dist/utils/browser/index.js.map +1 -1
- package/dist/web-server/model-pricing.d.ts.map +1 -1
- package/dist/web-server/model-pricing.js +7 -0
- package/dist/web-server/model-pricing.js.map +1 -1
- package/dist/web-server/routes/browser-routes.d.ts.map +1 -1
- package/dist/web-server/routes/browser-routes.js +51 -10
- package/dist/web-server/routes/browser-routes.js.map +1 -1
- package/package.json +1 -1
- package/scripts/ensure-deps.sh +18 -0
|
@@ -23,16 +23,27 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.startOpenAICompatProxy = exports.stopOpenAICompatProxy = exports.getOpenAICompatProxyStatus = exports.isOpenAICompatProxyRunning = void 0;
|
|
26
|
+
exports.startOpenAICompatProxy = exports.stopOpenAICompatProxy = exports.getOpenAICompatProxyStatus = exports.listOpenAICompatProxyStatuses = exports.isOpenAICompatProxyRunning = void 0;
|
|
27
27
|
const child_process_1 = require("child_process");
|
|
28
28
|
const crypto = __importStar(require("crypto"));
|
|
29
29
|
const fs = __importStar(require("fs"));
|
|
30
30
|
const http = __importStar(require("http"));
|
|
31
|
-
const net = __importStar(require("net"));
|
|
32
31
|
const lockfile = __importStar(require("proper-lockfile"));
|
|
33
32
|
const daemon_process_ownership_1 = require("../cursor/daemon-process-ownership");
|
|
34
33
|
const proxy_daemon_paths_1 = require("./proxy-daemon-paths");
|
|
35
34
|
const proxy_daemon_state_1 = require("./proxy-daemon-state");
|
|
35
|
+
const proxy_port_resolver_1 = require("./proxy-port-resolver");
|
|
36
|
+
function escapeRegExp(value) {
|
|
37
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
38
|
+
}
|
|
39
|
+
function verifyProxyProcessOwnership(pid, profileName) {
|
|
40
|
+
const profilePattern = profileName
|
|
41
|
+
? new RegExp(`(^|\\s)--profile(?:\\s+|=)${escapeRegExp(profileName)}(?=\\s|$)`)
|
|
42
|
+
: null;
|
|
43
|
+
return (0, daemon_process_ownership_1.verifyProcessOwnership)(pid, (commandLine) => commandLine.includes('--ccs-openai-proxy-daemon') &&
|
|
44
|
+
commandLine.includes('proxy-daemon-entry') &&
|
|
45
|
+
(!profilePattern || profilePattern.test(commandLine)));
|
|
46
|
+
}
|
|
36
47
|
function generateProxyAuthToken() {
|
|
37
48
|
return crypto.randomBytes(24).toString('hex');
|
|
38
49
|
}
|
|
@@ -64,28 +75,52 @@ async function withOpenAICompatProxyLock(operation) {
|
|
|
64
75
|
}
|
|
65
76
|
}
|
|
66
77
|
}
|
|
67
|
-
async function
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
async function terminateDaemonProcess(pid) {
|
|
79
|
+
if (!pid) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
process.kill(pid, 'SIGTERM');
|
|
84
|
+
let attempts = 0;
|
|
85
|
+
while (attempts < 10) {
|
|
86
|
+
await new Promise((resolve) => setTimeout(resolve, 200));
|
|
87
|
+
try {
|
|
88
|
+
process.kill(pid, 0);
|
|
89
|
+
attempts += 1;
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
process.kill(pid, 'SIGKILL');
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
// Best-effort cleanup for a daemon we just spawned.
|
|
99
|
+
}
|
|
81
100
|
}
|
|
82
|
-
|
|
101
|
+
function listOpenAICompatProxyCandidatePorts(preferredPort, exact, excludedPorts = new Set()) {
|
|
102
|
+
if (exact) {
|
|
103
|
+
return excludedPorts.has(preferredPort) ? [] : [preferredPort];
|
|
104
|
+
}
|
|
105
|
+
const candidates = new Set();
|
|
106
|
+
if (!excludedPorts.has(preferredPort)) {
|
|
107
|
+
candidates.add(preferredPort);
|
|
108
|
+
}
|
|
83
109
|
for (let candidate = proxy_daemon_paths_1.OPENAI_COMPAT_PROXY_DEFAULT_PORT; candidate <= proxy_daemon_paths_1.OPENAI_COMPAT_PROXY_DEFAULT_PORT + 10; candidate += 1) {
|
|
84
|
-
if (!(
|
|
85
|
-
|
|
110
|
+
if (!excludedPorts.has(candidate)) {
|
|
111
|
+
candidates.add(candidate);
|
|
86
112
|
}
|
|
87
113
|
}
|
|
88
|
-
return
|
|
114
|
+
return [...candidates];
|
|
115
|
+
}
|
|
116
|
+
function isPortBindConflictMessage(message) {
|
|
117
|
+
if (!message) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
const normalized = message.toLowerCase();
|
|
121
|
+
return (message.includes('EADDRINUSE') ||
|
|
122
|
+
normalized.includes('address already in use') ||
|
|
123
|
+
(normalized.includes('is port') && normalized.includes('in use')));
|
|
89
124
|
}
|
|
90
125
|
async function resolveDaemonEntrypoint() {
|
|
91
126
|
for (const candidate of (0, proxy_daemon_state_1.resolveOpenAICompatProxyEntrypointCandidates)()) {
|
|
@@ -99,7 +134,7 @@ async function resolveDaemonEntrypoint() {
|
|
|
99
134
|
}
|
|
100
135
|
return null;
|
|
101
136
|
}
|
|
102
|
-
async function isOpenAICompatProxyRunning(port) {
|
|
137
|
+
async function isOpenAICompatProxyRunning(port, expectedProfileName) {
|
|
103
138
|
return new Promise((resolve) => {
|
|
104
139
|
const req = http.request({ hostname: '127.0.0.1', port, path: '/health', method: 'GET', timeout: 3000 }, (res) => {
|
|
105
140
|
let body = '';
|
|
@@ -112,7 +147,8 @@ async function isOpenAICompatProxyRunning(port) {
|
|
|
112
147
|
}
|
|
113
148
|
try {
|
|
114
149
|
const payload = JSON.parse(body);
|
|
115
|
-
resolve(payload.service === proxy_daemon_paths_1.OPENAI_COMPAT_PROXY_SERVICE_NAME
|
|
150
|
+
resolve(payload.service === proxy_daemon_paths_1.OPENAI_COMPAT_PROXY_SERVICE_NAME &&
|
|
151
|
+
(!expectedProfileName || payload.profile === expectedProfileName));
|
|
116
152
|
}
|
|
117
153
|
catch {
|
|
118
154
|
resolve(false);
|
|
@@ -128,27 +164,96 @@ async function isOpenAICompatProxyRunning(port) {
|
|
|
128
164
|
});
|
|
129
165
|
}
|
|
130
166
|
exports.isOpenAICompatProxyRunning = isOpenAICompatProxyRunning;
|
|
131
|
-
async function
|
|
132
|
-
const
|
|
133
|
-
const
|
|
134
|
-
|
|
167
|
+
async function getOpenAICompatProxyStatusForProfile(profileName) {
|
|
168
|
+
const state = getOpenAICompatProxyStateForProfile(profileName);
|
|
169
|
+
const session = state.session;
|
|
170
|
+
if (!session) {
|
|
171
|
+
return { running: false, profileName, pid: state.pid || undefined };
|
|
172
|
+
}
|
|
173
|
+
const port = session.port;
|
|
174
|
+
const running = await isOpenAICompatProxyRunning(port, profileName);
|
|
175
|
+
return {
|
|
176
|
+
running,
|
|
177
|
+
pid: running ? state.pid || undefined : undefined,
|
|
178
|
+
...session,
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
async function getLegacyOpenAICompatProxyStatus() {
|
|
182
|
+
const session = (0, proxy_daemon_state_1.readLegacyOpenAICompatProxySession)();
|
|
183
|
+
const pid = (0, proxy_daemon_state_1.getLegacyOpenAICompatProxyPid)();
|
|
184
|
+
if (!session && !pid) {
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
187
|
+
const port = session?.port;
|
|
188
|
+
const running = typeof port === 'number' ? await isOpenAICompatProxyRunning(port, session?.profileName) : false;
|
|
135
189
|
return {
|
|
136
190
|
running,
|
|
137
|
-
pid: running ?
|
|
191
|
+
pid: running ? pid || undefined : pid || undefined,
|
|
138
192
|
...session,
|
|
139
193
|
};
|
|
140
194
|
}
|
|
195
|
+
function getOpenAICompatProxyStateForProfile(profileName) {
|
|
196
|
+
const session = (0, proxy_daemon_state_1.readOpenAICompatProxySession)(profileName);
|
|
197
|
+
if (session) {
|
|
198
|
+
return {
|
|
199
|
+
pid: (0, proxy_daemon_state_1.getOpenAICompatProxyPid)(profileName),
|
|
200
|
+
session,
|
|
201
|
+
source: 'profile',
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
const legacySession = (0, proxy_daemon_state_1.readLegacyOpenAICompatProxySession)();
|
|
205
|
+
if (legacySession?.profileName === profileName) {
|
|
206
|
+
return {
|
|
207
|
+
pid: (0, proxy_daemon_state_1.getLegacyOpenAICompatProxyPid)(),
|
|
208
|
+
session: legacySession,
|
|
209
|
+
source: 'legacy',
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
return { pid: null, session: null, source: 'profile' };
|
|
213
|
+
}
|
|
214
|
+
async function listOpenAICompatProxyStatuses() {
|
|
215
|
+
const profileNames = new Set((0, proxy_daemon_state_1.listOpenAICompatProxyProfileNames)());
|
|
216
|
+
const legacySession = (0, proxy_daemon_state_1.readLegacyOpenAICompatProxySession)();
|
|
217
|
+
if (legacySession?.profileName) {
|
|
218
|
+
profileNames.add(legacySession.profileName);
|
|
219
|
+
}
|
|
220
|
+
const profileStatuses = await Promise.all([...profileNames].map((profileName) => getOpenAICompatProxyStatusForProfile(profileName)));
|
|
221
|
+
const statuses = profileStatuses.filter((status) => status.profileName);
|
|
222
|
+
if (!legacySession?.profileName) {
|
|
223
|
+
const legacyStatus = await getLegacyOpenAICompatProxyStatus();
|
|
224
|
+
if (legacyStatus) {
|
|
225
|
+
statuses.push(legacyStatus);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
return statuses;
|
|
229
|
+
}
|
|
230
|
+
exports.listOpenAICompatProxyStatuses = listOpenAICompatProxyStatuses;
|
|
231
|
+
async function getOpenAICompatProxyStatus(profileName) {
|
|
232
|
+
if (profileName) {
|
|
233
|
+
return getOpenAICompatProxyStatusForProfile(profileName);
|
|
234
|
+
}
|
|
235
|
+
const statuses = await listOpenAICompatProxyStatuses();
|
|
236
|
+
const running = statuses.filter((status) => status.running);
|
|
237
|
+
if (running.length === 1) {
|
|
238
|
+
return running[0];
|
|
239
|
+
}
|
|
240
|
+
if (running.length > 1) {
|
|
241
|
+
return { running: true };
|
|
242
|
+
}
|
|
243
|
+
const latestKnown = statuses[0];
|
|
244
|
+
return latestKnown ?? { running: false };
|
|
245
|
+
}
|
|
141
246
|
exports.getOpenAICompatProxyStatus = getOpenAICompatProxyStatus;
|
|
142
|
-
async function stopOpenAICompatProxyUnlocked() {
|
|
143
|
-
const
|
|
247
|
+
async function stopOpenAICompatProxyUnlocked(profileName) {
|
|
248
|
+
const state = getOpenAICompatProxyStateForProfile(profileName);
|
|
249
|
+
const pid = state.pid;
|
|
144
250
|
if (!pid) {
|
|
145
|
-
(
|
|
251
|
+
removeOpenAICompatProxyState(state, profileName);
|
|
146
252
|
return { success: true };
|
|
147
253
|
}
|
|
148
|
-
const ownership = (
|
|
149
|
-
commandLine.includes('proxy-daemon-entry'));
|
|
254
|
+
const ownership = verifyProxyProcessOwnership(pid, profileName);
|
|
150
255
|
if (ownership === 'not-owned') {
|
|
151
|
-
(
|
|
256
|
+
removeOpenAICompatProxyState(state, profileName);
|
|
152
257
|
return { success: true };
|
|
153
258
|
}
|
|
154
259
|
if (ownership === 'unknown') {
|
|
@@ -158,10 +263,63 @@ async function stopOpenAICompatProxyUnlocked() {
|
|
|
158
263
|
};
|
|
159
264
|
}
|
|
160
265
|
if (ownership === 'not-running') {
|
|
161
|
-
(
|
|
162
|
-
|
|
266
|
+
removeOpenAICompatProxyState(state, profileName);
|
|
267
|
+
return { success: true };
|
|
268
|
+
}
|
|
269
|
+
try {
|
|
270
|
+
process.kill(pid, 'SIGTERM');
|
|
271
|
+
let attempts = 0;
|
|
272
|
+
while (attempts < 10) {
|
|
273
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
274
|
+
try {
|
|
275
|
+
process.kill(pid, 0);
|
|
276
|
+
attempts += 1;
|
|
277
|
+
}
|
|
278
|
+
catch {
|
|
279
|
+
break;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
if (attempts >= 10) {
|
|
283
|
+
try {
|
|
284
|
+
process.kill(pid, 'SIGKILL');
|
|
285
|
+
}
|
|
286
|
+
catch {
|
|
287
|
+
// Already exited.
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
catch (error) {
|
|
292
|
+
const err = error;
|
|
293
|
+
if (err.code !== 'ESRCH') {
|
|
294
|
+
return { success: false, error: `Failed to stop daemon: ${err.message}` };
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
removeOpenAICompatProxyState(state, profileName);
|
|
298
|
+
return { success: true };
|
|
299
|
+
}
|
|
300
|
+
async function stopLegacyOpenAICompatProxyUnlocked() {
|
|
301
|
+
const legacySession = (0, proxy_daemon_state_1.readLegacyOpenAICompatProxySession)();
|
|
302
|
+
if (legacySession?.profileName) {
|
|
303
|
+
return stopOpenAICompatProxyUnlocked(legacySession.profileName);
|
|
304
|
+
}
|
|
305
|
+
const pid = (0, proxy_daemon_state_1.getLegacyOpenAICompatProxyPid)();
|
|
306
|
+
if (!pid) {
|
|
307
|
+
(0, proxy_daemon_state_1.removeLegacyOpenAICompatProxyPid)();
|
|
308
|
+
(0, proxy_daemon_state_1.removeLegacyOpenAICompatProxySession)();
|
|
163
309
|
return { success: true };
|
|
164
310
|
}
|
|
311
|
+
const ownership = verifyProxyProcessOwnership(pid);
|
|
312
|
+
if (ownership === 'not-owned' || ownership === 'not-running') {
|
|
313
|
+
(0, proxy_daemon_state_1.removeLegacyOpenAICompatProxyPid)();
|
|
314
|
+
(0, proxy_daemon_state_1.removeLegacyOpenAICompatProxySession)();
|
|
315
|
+
return { success: true };
|
|
316
|
+
}
|
|
317
|
+
if (ownership === 'unknown') {
|
|
318
|
+
return {
|
|
319
|
+
success: false,
|
|
320
|
+
error: `Refusing to stop PID ${pid}: unable to verify daemon ownership`,
|
|
321
|
+
};
|
|
322
|
+
}
|
|
165
323
|
try {
|
|
166
324
|
process.kill(pid, 'SIGTERM');
|
|
167
325
|
let attempts = 0;
|
|
@@ -190,59 +348,73 @@ async function stopOpenAICompatProxyUnlocked() {
|
|
|
190
348
|
return { success: false, error: `Failed to stop daemon: ${err.message}` };
|
|
191
349
|
}
|
|
192
350
|
}
|
|
193
|
-
(0, proxy_daemon_state_1.
|
|
194
|
-
(0, proxy_daemon_state_1.
|
|
351
|
+
(0, proxy_daemon_state_1.removeLegacyOpenAICompatProxyPid)();
|
|
352
|
+
(0, proxy_daemon_state_1.removeLegacyOpenAICompatProxySession)();
|
|
195
353
|
return { success: true };
|
|
196
354
|
}
|
|
197
|
-
|
|
198
|
-
|
|
355
|
+
function removeOpenAICompatProxyState(state, profileName) {
|
|
356
|
+
if (state.source === 'legacy') {
|
|
357
|
+
(0, proxy_daemon_state_1.removeLegacyOpenAICompatProxyPid)();
|
|
358
|
+
(0, proxy_daemon_state_1.removeLegacyOpenAICompatProxySession)();
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
361
|
+
(0, proxy_daemon_state_1.removeOpenAICompatProxyPid)(profileName);
|
|
362
|
+
(0, proxy_daemon_state_1.removeOpenAICompatProxySession)(profileName);
|
|
363
|
+
}
|
|
364
|
+
async function stopOpenAICompatProxy(profileName) {
|
|
365
|
+
return withOpenAICompatProxyLock(async () => {
|
|
366
|
+
if (profileName) {
|
|
367
|
+
return stopOpenAICompatProxyUnlocked(profileName);
|
|
368
|
+
}
|
|
369
|
+
const statuses = await listOpenAICompatProxyStatuses();
|
|
370
|
+
const failures = [];
|
|
371
|
+
for (const status of statuses) {
|
|
372
|
+
const stopped = status.profileName
|
|
373
|
+
? await stopOpenAICompatProxyUnlocked(status.profileName)
|
|
374
|
+
: await stopLegacyOpenAICompatProxyUnlocked();
|
|
375
|
+
if (!stopped.success) {
|
|
376
|
+
failures.push(status.profileName
|
|
377
|
+
? `${status.profileName}: ${stopped.error || 'failed to stop proxy'}`
|
|
378
|
+
: `legacy proxy: ${stopped.error || 'failed to stop proxy'}`);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
if (failures.length > 0) {
|
|
382
|
+
return { success: false, error: `Failed to stop some proxies: ${failures.join('; ')}` };
|
|
383
|
+
}
|
|
384
|
+
return { success: true };
|
|
385
|
+
});
|
|
199
386
|
}
|
|
200
387
|
exports.stopOpenAICompatProxy = stopOpenAICompatProxy;
|
|
201
388
|
async function startOpenAICompatProxy(profile, options = {}) {
|
|
202
389
|
return withOpenAICompatProxyLock(async () => {
|
|
203
|
-
const status = await getOpenAICompatProxyStatus();
|
|
390
|
+
const status = await getOpenAICompatProxyStatus(profile.profileName);
|
|
204
391
|
const host = options.host?.trim() || status.host || '127.0.0.1';
|
|
205
|
-
const
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
port: proxy_daemon_paths_1.OPENAI_COMPAT_PROXY_DEFAULT_PORT,
|
|
214
|
-
error: `No free proxy port found in range ${proxy_daemon_paths_1.OPENAI_COMPAT_PROXY_DEFAULT_PORT}-${proxy_daemon_paths_1.OPENAI_COMPAT_PROXY_DEFAULT_PORT + 10}`,
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
if (!Number.isInteger(port) || port < 1 || port > 65535) {
|
|
218
|
-
return { success: false, port, error: `Invalid port: ${port}` };
|
|
219
|
-
}
|
|
220
|
-
if (status.running &&
|
|
221
|
-
status.profileName === profile.profileName &&
|
|
222
|
-
status.port === port &&
|
|
223
|
-
(status.host || '127.0.0.1') === host) {
|
|
392
|
+
const portPreference = (0, proxy_port_resolver_1.resolveOpenAICompatProxyPortPreference)(profile.profileName);
|
|
393
|
+
const explicitPort = typeof options.port === 'number' ? options.port : undefined;
|
|
394
|
+
const preferredPort = explicitPort ??
|
|
395
|
+
(portPreference.source === 'profile'
|
|
396
|
+
? portPreference.port
|
|
397
|
+
: status.port || portPreference.port);
|
|
398
|
+
const requiresExactPort = explicitPort !== undefined || portPreference.source === 'profile';
|
|
399
|
+
if (status.running && status.port === preferredPort && (status.host || '127.0.0.1') === host) {
|
|
224
400
|
return {
|
|
225
401
|
success: true,
|
|
226
402
|
alreadyRunning: true,
|
|
227
403
|
pid: status.pid,
|
|
228
|
-
port,
|
|
404
|
+
port: preferredPort,
|
|
229
405
|
authToken: status.authToken,
|
|
230
406
|
};
|
|
231
407
|
}
|
|
232
|
-
if (
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
error: `Proxy already running for profile "${status.profileName}" on port ${status.port}. Stop it before starting a different profile.`,
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
const stopped = await stopOpenAICompatProxyUnlocked();
|
|
408
|
+
if (!Number.isInteger(preferredPort) || preferredPort < 1 || preferredPort > 65535) {
|
|
409
|
+
return { success: false, port: preferredPort, error: `Invalid port: ${preferredPort}` };
|
|
410
|
+
}
|
|
411
|
+
if (status.pid && !status.port) {
|
|
412
|
+
const stopped = await stopOpenAICompatProxyUnlocked(profile.profileName);
|
|
241
413
|
if (!stopped.success) {
|
|
242
414
|
return {
|
|
243
415
|
success: false,
|
|
244
|
-
port,
|
|
245
|
-
error: stopped.error || 'Failed to
|
|
416
|
+
port: preferredPort,
|
|
417
|
+
error: stopped.error || 'Failed to clear stale proxy state',
|
|
246
418
|
};
|
|
247
419
|
}
|
|
248
420
|
}
|
|
@@ -250,23 +422,39 @@ async function startOpenAICompatProxy(profile, options = {}) {
|
|
|
250
422
|
if (!daemonEntry) {
|
|
251
423
|
return {
|
|
252
424
|
success: false,
|
|
253
|
-
port,
|
|
425
|
+
port: preferredPort,
|
|
254
426
|
error: 'OpenAI proxy daemon entrypoint not found. Run `bun run build` and retry.',
|
|
255
427
|
};
|
|
256
428
|
}
|
|
257
|
-
|
|
429
|
+
const launchOnPort = (port, persistState) => new Promise((resolve) => {
|
|
258
430
|
let resolved = false;
|
|
259
431
|
let timeout = null;
|
|
432
|
+
let stderr = '';
|
|
260
433
|
const authToken = generateProxyAuthToken();
|
|
434
|
+
const commitState = () => {
|
|
435
|
+
if (proc.pid) {
|
|
436
|
+
(0, proxy_daemon_state_1.writeOpenAICompatProxyPid)(profile.profileName, proc.pid);
|
|
437
|
+
}
|
|
438
|
+
(0, proxy_daemon_state_1.writeOpenAICompatProxySession)({
|
|
439
|
+
profileName: profile.profileName,
|
|
440
|
+
settingsPath: profile.settingsPath,
|
|
441
|
+
host,
|
|
442
|
+
port,
|
|
443
|
+
baseUrl: profile.baseUrl,
|
|
444
|
+
authToken,
|
|
445
|
+
model: profile.model,
|
|
446
|
+
insecure: options.insecure,
|
|
447
|
+
});
|
|
448
|
+
};
|
|
261
449
|
const finish = (result) => {
|
|
262
450
|
if (resolved)
|
|
263
451
|
return;
|
|
264
452
|
resolved = true;
|
|
265
453
|
if (timeout)
|
|
266
454
|
clearTimeout(timeout);
|
|
267
|
-
if (!result.success) {
|
|
268
|
-
(0, proxy_daemon_state_1.removeOpenAICompatProxyPid)();
|
|
269
|
-
(0, proxy_daemon_state_1.removeOpenAICompatProxySession)();
|
|
455
|
+
if (!result.success && persistState) {
|
|
456
|
+
(0, proxy_daemon_state_1.removeOpenAICompatProxyPid)(profile.profileName);
|
|
457
|
+
(0, proxy_daemon_state_1.removeOpenAICompatProxySession)(profile.profileName);
|
|
270
458
|
}
|
|
271
459
|
resolve(result);
|
|
272
460
|
};
|
|
@@ -284,26 +472,33 @@ async function startOpenAICompatProxy(profile, options = {}) {
|
|
|
284
472
|
authToken,
|
|
285
473
|
...(options.insecure ? ['--insecure'] : []),
|
|
286
474
|
'--ccs-openai-proxy-daemon',
|
|
287
|
-
], { stdio: 'ignore', detached: true });
|
|
475
|
+
], { stdio: ['ignore', 'ignore', 'pipe'], detached: true });
|
|
288
476
|
proc.unref();
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
(0, proxy_daemon_state_1.writeOpenAICompatProxySession)({
|
|
293
|
-
profileName: profile.profileName,
|
|
294
|
-
settingsPath: profile.settingsPath,
|
|
295
|
-
host,
|
|
296
|
-
port,
|
|
297
|
-
baseUrl: profile.baseUrl,
|
|
298
|
-
authToken,
|
|
299
|
-
model: profile.model,
|
|
300
|
-
insecure: options.insecure,
|
|
477
|
+
proc.stderr?.setEncoding('utf8');
|
|
478
|
+
proc.stderr?.on('data', (chunk) => {
|
|
479
|
+
stderr += chunk;
|
|
301
480
|
});
|
|
302
481
|
let attempts = 0;
|
|
303
482
|
const poll = async () => {
|
|
304
483
|
attempts += 1;
|
|
305
|
-
if (await isOpenAICompatProxyRunning(port)) {
|
|
306
|
-
|
|
484
|
+
if (await isOpenAICompatProxyRunning(port, profile.profileName)) {
|
|
485
|
+
if (persistState) {
|
|
486
|
+
commitState();
|
|
487
|
+
}
|
|
488
|
+
finish({
|
|
489
|
+
success: true,
|
|
490
|
+
pid: proc.pid,
|
|
491
|
+
port,
|
|
492
|
+
authToken,
|
|
493
|
+
...(persistState
|
|
494
|
+
? {}
|
|
495
|
+
: {
|
|
496
|
+
commitState,
|
|
497
|
+
stop: async () => {
|
|
498
|
+
await terminateDaemonProcess(proc.pid);
|
|
499
|
+
},
|
|
500
|
+
}),
|
|
501
|
+
});
|
|
307
502
|
return;
|
|
308
503
|
}
|
|
309
504
|
if (attempts >= 30) {
|
|
@@ -318,14 +513,21 @@ async function startOpenAICompatProxy(profile, options = {}) {
|
|
|
318
513
|
};
|
|
319
514
|
timeout = setTimeout(poll, 1000);
|
|
320
515
|
proc.on('error', (error) => {
|
|
321
|
-
finish({
|
|
516
|
+
finish({
|
|
517
|
+
success: false,
|
|
518
|
+
port,
|
|
519
|
+
error: error.message,
|
|
520
|
+
bindConflict: isPortBindConflictMessage(error.message),
|
|
521
|
+
});
|
|
322
522
|
});
|
|
323
523
|
proc.on('exit', (code, signal) => {
|
|
524
|
+
const bindConflict = isPortBindConflictMessage(stderr);
|
|
324
525
|
if (code === 0) {
|
|
325
526
|
finish({
|
|
326
527
|
success: false,
|
|
327
528
|
port,
|
|
328
529
|
error: 'Proxy daemon exited before becoming healthy',
|
|
530
|
+
bindConflict,
|
|
329
531
|
});
|
|
330
532
|
return;
|
|
331
533
|
}
|
|
@@ -333,7 +535,8 @@ async function startOpenAICompatProxy(profile, options = {}) {
|
|
|
333
535
|
finish({
|
|
334
536
|
success: false,
|
|
335
537
|
port,
|
|
336
|
-
error: `Proxy daemon exited with code ${code}`,
|
|
538
|
+
error: stderr.trim() || `Proxy daemon exited with code ${code}`,
|
|
539
|
+
bindConflict,
|
|
337
540
|
});
|
|
338
541
|
return;
|
|
339
542
|
}
|
|
@@ -341,9 +544,64 @@ async function startOpenAICompatProxy(profile, options = {}) {
|
|
|
341
544
|
success: false,
|
|
342
545
|
port,
|
|
343
546
|
error: `Proxy daemon was killed by signal ${signal}`,
|
|
547
|
+
bindConflict,
|
|
344
548
|
});
|
|
345
549
|
});
|
|
346
550
|
});
|
|
551
|
+
const launchProxy = async (persistState) => {
|
|
552
|
+
const attemptedPorts = new Set();
|
|
553
|
+
let lastResult = null;
|
|
554
|
+
const candidates = listOpenAICompatProxyCandidatePorts(preferredPort, requiresExactPort, attemptedPorts);
|
|
555
|
+
if (candidates.length === 0) {
|
|
556
|
+
return {
|
|
557
|
+
success: false,
|
|
558
|
+
port: preferredPort,
|
|
559
|
+
error: `No free proxy port found in range ${proxy_daemon_paths_1.OPENAI_COMPAT_PROXY_DEFAULT_PORT}-${proxy_daemon_paths_1.OPENAI_COMPAT_PROXY_DEFAULT_PORT + 10}`,
|
|
560
|
+
};
|
|
561
|
+
}
|
|
562
|
+
for (const port of candidates) {
|
|
563
|
+
const result = await launchOnPort(port, persistState);
|
|
564
|
+
if (result.success) {
|
|
565
|
+
return result;
|
|
566
|
+
}
|
|
567
|
+
if (requiresExactPort && result.bindConflict) {
|
|
568
|
+
return {
|
|
569
|
+
...result,
|
|
570
|
+
error: `Requested proxy port ${preferredPort} is already in use`,
|
|
571
|
+
};
|
|
572
|
+
}
|
|
573
|
+
lastResult = result;
|
|
574
|
+
attemptedPorts.add(port);
|
|
575
|
+
if (!result.bindConflict) {
|
|
576
|
+
return result;
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
return (lastResult ?? {
|
|
580
|
+
success: false,
|
|
581
|
+
port: preferredPort,
|
|
582
|
+
error: requiresExactPort
|
|
583
|
+
? `Requested proxy port ${preferredPort} is already in use`
|
|
584
|
+
: 'No free proxy port found in the proxy port range',
|
|
585
|
+
});
|
|
586
|
+
};
|
|
587
|
+
if (status.running) {
|
|
588
|
+
const launched = await launchProxy(false);
|
|
589
|
+
if (!launched.success) {
|
|
590
|
+
return launched;
|
|
591
|
+
}
|
|
592
|
+
const stopped = await stopOpenAICompatProxyUnlocked(profile.profileName);
|
|
593
|
+
if (!stopped.success) {
|
|
594
|
+
await launched.stop?.();
|
|
595
|
+
return {
|
|
596
|
+
success: false,
|
|
597
|
+
port: launched.port,
|
|
598
|
+
error: stopped.error || 'Failed to replace the running proxy',
|
|
599
|
+
};
|
|
600
|
+
}
|
|
601
|
+
launched.commitState?.();
|
|
602
|
+
return launched;
|
|
603
|
+
}
|
|
604
|
+
return launchProxy(true);
|
|
347
605
|
});
|
|
348
606
|
}
|
|
349
607
|
exports.startOpenAICompatProxy = startOpenAICompatProxy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-daemon.js","sourceRoot":"","sources":["../../src/proxy/proxy-daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"proxy-daemon.js","sourceRoot":"","sources":["../../src/proxy/proxy-daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface OpenAICompatProxyPortPreference {
|
|
2
|
+
port: number;
|
|
3
|
+
source: 'default' | 'profile';
|
|
4
|
+
}
|
|
5
|
+
export declare function resolveOpenAICompatProxyPortPreference(profileName: string): OpenAICompatProxyPortPreference;
|
|
6
|
+
export declare function resolveOpenAICompatProxyPreferredPort(profileName: string): number;
|
|
7
|
+
//# sourceMappingURL=proxy-port-resolver.d.ts.map
|