@ekkos/cli 1.2.17 → 1.2.18
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/dist/commands/run.js +8 -9
- package/package.json +1 -1
package/dist/commands/run.js
CHANGED
|
@@ -469,13 +469,12 @@ function getEkkosEnv() {
|
|
|
469
469
|
env.EKKOS_PROXY_MODE = '1';
|
|
470
470
|
// Enable ultra-minimal mode by default (30%→20% eviction for constant-cost infinite context)
|
|
471
471
|
env.EKKOS_ULTRA_MINIMAL = '1';
|
|
472
|
-
//
|
|
473
|
-
//
|
|
472
|
+
// Generate a deterministic word-triple session name from a fresh UUID.
|
|
473
|
+
// This eliminates _pending-* placeholders — proxy sees a real name from request #1.
|
|
474
474
|
if (!cliSessionName) {
|
|
475
|
-
|
|
476
|
-
cliSessionName =
|
|
477
|
-
|
|
478
|
-
console.log(chalk_1.default.gray(` 📂 Session: pending (will bind to Claude session)`));
|
|
475
|
+
cliSessionId = crypto.randomUUID();
|
|
476
|
+
cliSessionName = (0, state_1.uuidToWords)(cliSessionId);
|
|
477
|
+
console.log(chalk_1.default.gray(` 📂 Session: ${cliSessionName}`));
|
|
479
478
|
}
|
|
480
479
|
// Get full userId from config (NOT the truncated version from auth token)
|
|
481
480
|
// Config has full UUID like "d4532ba0-0a86-42ce-bab4-22aa62b55ce6"
|
|
@@ -499,7 +498,7 @@ function getEkkosEnv() {
|
|
|
499
498
|
// Project path is base64-encoded to handle special chars safely
|
|
500
499
|
const projectPath = process.cwd();
|
|
501
500
|
const projectPathEncoded = Buffer.from(projectPath).toString('base64url');
|
|
502
|
-
const proxyUrl = `${EKKOS_PROXY_URL}/proxy/${encodeURIComponent(userId)}/${encodeURIComponent(cliSessionName)}?project=${projectPathEncoded}`;
|
|
501
|
+
const proxyUrl = `${EKKOS_PROXY_URL}/proxy/${encodeURIComponent(userId)}/${encodeURIComponent(cliSessionName)}?project=${projectPathEncoded}&sid=${encodeURIComponent(cliSessionId)}`;
|
|
503
502
|
env.ANTHROPIC_BASE_URL = proxyUrl;
|
|
504
503
|
// Proxy URL contains userId + project path — don't leak to terminal
|
|
505
504
|
}
|
|
@@ -1352,7 +1351,7 @@ async function run(options) {
|
|
|
1352
1351
|
}
|
|
1353
1352
|
// Track state — only use explicit -s option; never inherit stale session from state.json
|
|
1354
1353
|
// The real session name will be detected from Claude Code's output (line ~2552)
|
|
1355
|
-
let currentSession = options.session || null;
|
|
1354
|
+
let currentSession = options.session || cliSessionName || null;
|
|
1356
1355
|
// Write initial instance file
|
|
1357
1356
|
const startedAt = new Date().toISOString();
|
|
1358
1357
|
writeInstanceFile(instanceId, {
|
|
@@ -1657,7 +1656,7 @@ async function run(options) {
|
|
|
1657
1656
|
return;
|
|
1658
1657
|
if (boundProxySession === sessionName || bindingSessionInFlight === sessionName)
|
|
1659
1658
|
return;
|
|
1660
|
-
const pendingSession =
|
|
1659
|
+
const pendingSession = undefined; // CLI session names are real word-triples from the start
|
|
1661
1660
|
const bindSessionId = sessionIdHint || currentSessionId || undefined;
|
|
1662
1661
|
bindingSessionInFlight = sessionName;
|
|
1663
1662
|
void (async () => {
|