ceetrix 1.0.16 → 1.0.17
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/constants.d.ts +16 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +51 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/constants.d.ts
CHANGED
|
@@ -16,4 +16,20 @@ export declare const DEFAULT_PORT = 54321;
|
|
|
16
16
|
export declare const PORT_RANGE: number[];
|
|
17
17
|
/** MCP server URL for Claude Code config (HTTP transport) */
|
|
18
18
|
export declare function getMcpServerUrl(): string;
|
|
19
|
+
/**
|
|
20
|
+
* Check if we're using a custom (non-production) API URL.
|
|
21
|
+
*
|
|
22
|
+
* @returns true if CEETRIX_API_URL is set to something other than production
|
|
23
|
+
*/
|
|
24
|
+
export declare function isCustomApiUrl(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Get the auto-generated config file path for custom API URLs.
|
|
27
|
+
*
|
|
28
|
+
* Extracts the hostname from CEETRIX_API_URL and creates a path like:
|
|
29
|
+
* ~/.claude-ceetrix-staging-api.json (for staging-api.ceetrix.com)
|
|
30
|
+
* ~/.claude-ceetrix-localhost.json (for localhost:8787)
|
|
31
|
+
*
|
|
32
|
+
* @returns Config file path, or null if using production URL
|
|
33
|
+
*/
|
|
34
|
+
export declare function getAutoConfigPath(): string | null;
|
|
19
35
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8EAA8E;AAC9E,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,yBAAyB;AACzB,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,yDAAyD;AACzD,eAAO,MAAM,eAAe,QAAgB,CAAC;AAE7C,6CAA6C;AAC7C,eAAO,MAAM,YAAY,QAAQ,CAAC;AAElC,4DAA4D;AAC5D,eAAO,MAAM,UAAU,UAAsC,CAAC;AAE9D,6DAA6D;AAC7D,wBAAgB,eAAe,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8EAA8E;AAC9E,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,yBAAyB;AACzB,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,yDAAyD;AACzD,eAAO,MAAM,eAAe,QAAgB,CAAC;AAE7C,6CAA6C;AAC7C,eAAO,MAAM,YAAY,QAAQ,CAAC;AAElC,4DAA4D;AAC5D,eAAO,MAAM,UAAU,UAAsC,CAAC;AAE9D,6DAA6D;AAC7D,wBAAgB,eAAe,IAAI,MAAM,CAexC;AAKD;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAOxC;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAajD"}
|
package/dist/constants.js
CHANGED
|
@@ -20,6 +20,56 @@ export const DEFAULT_PORT = 54321;
|
|
|
20
20
|
export const PORT_RANGE = [54321, 54322, 54323, 54324, 54325];
|
|
21
21
|
/** MCP server URL for Claude Code config (HTTP transport) */
|
|
22
22
|
export function getMcpServerUrl() {
|
|
23
|
-
|
|
23
|
+
// Explicit CEETRIX_MCP_URL takes precedence
|
|
24
|
+
if (process.env.CEETRIX_MCP_URL) {
|
|
25
|
+
return process.env.CEETRIX_MCP_URL;
|
|
26
|
+
}
|
|
27
|
+
// If custom API URL is set, derive MCP URL from it (append /sse)
|
|
28
|
+
// This prevents the common mistake of setting CEETRIX_API_URL but forgetting CEETRIX_MCP_URL
|
|
29
|
+
if (process.env.CEETRIX_API_URL) {
|
|
30
|
+
const apiUrl = process.env.CEETRIX_API_URL.replace(/\/+$/, '');
|
|
31
|
+
return `${apiUrl}/sse`;
|
|
32
|
+
}
|
|
33
|
+
// Default to production
|
|
34
|
+
return 'https://api.ceetrix.com/mcp';
|
|
35
|
+
}
|
|
36
|
+
/** Production API base URL (for comparison) */
|
|
37
|
+
const PRODUCTION_API_URL = 'https://api.ceetrix.com';
|
|
38
|
+
/**
|
|
39
|
+
* Check if we're using a custom (non-production) API URL.
|
|
40
|
+
*
|
|
41
|
+
* @returns true if CEETRIX_API_URL is set to something other than production
|
|
42
|
+
*/
|
|
43
|
+
export function isCustomApiUrl() {
|
|
44
|
+
const apiUrl = process.env.CEETRIX_API_URL;
|
|
45
|
+
if (!apiUrl)
|
|
46
|
+
return false;
|
|
47
|
+
// Normalize by removing trailing slashes
|
|
48
|
+
const normalized = apiUrl.replace(/\/+$/, '');
|
|
49
|
+
return normalized !== PRODUCTION_API_URL;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get the auto-generated config file path for custom API URLs.
|
|
53
|
+
*
|
|
54
|
+
* Extracts the hostname from CEETRIX_API_URL and creates a path like:
|
|
55
|
+
* ~/.claude-ceetrix-staging-api.json (for staging-api.ceetrix.com)
|
|
56
|
+
* ~/.claude-ceetrix-localhost.json (for localhost:8787)
|
|
57
|
+
*
|
|
58
|
+
* @returns Config file path, or null if using production URL
|
|
59
|
+
*/
|
|
60
|
+
export function getAutoConfigPath() {
|
|
61
|
+
const apiUrl = process.env.CEETRIX_API_URL;
|
|
62
|
+
if (!apiUrl || !isCustomApiUrl())
|
|
63
|
+
return null;
|
|
64
|
+
try {
|
|
65
|
+
const url = new URL(apiUrl);
|
|
66
|
+
// Extract hostname, replace dots/colons with dashes for filename safety
|
|
67
|
+
const hostname = url.host.replace(/[.:]/g, '-');
|
|
68
|
+
return `${process.env.HOME}/.claude-ceetrix-${hostname}.json`;
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
// Invalid URL - shouldn't happen but handle gracefully
|
|
72
|
+
return `${process.env.HOME}/.claude-ceetrix-custom.json`;
|
|
73
|
+
}
|
|
24
74
|
}
|
|
25
75
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8EAA8E;AAC9E,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAC;AAClE,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,WAAW;IACzB,OAAO,GAAG,aAAa,EAAE,QAAQ,CAAC;AACpC,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7C,6CAA6C;AAC7C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC;AAElC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE9D,6DAA6D;AAC7D,MAAM,UAAU,eAAe;IAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8EAA8E;AAC9E,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAC;AAClE,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,WAAW;IACzB,OAAO,GAAG,aAAa,EAAE,QAAQ,CAAC;AACpC,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7C,6CAA6C;AAC7C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC;AAElC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE9D,6DAA6D;AAC7D,MAAM,UAAU,eAAe;IAC7B,4CAA4C;IAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACrC,CAAC;IAED,iEAAiE;IACjE,6FAA6F;IAC7F,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/D,OAAO,GAAG,MAAM,MAAM,CAAC;IACzB,CAAC;IAED,wBAAwB;IACxB,OAAO,6BAA6B,CAAC;AACvC,CAAC;AAED,+CAA+C;AAC/C,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;AAErD;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC3C,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE1B,yCAAyC;IACzC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9C,OAAO,UAAU,KAAK,kBAAkB,CAAC;AAC3C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO,IAAI,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,wEAAwE;QACxE,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAChD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,oBAAoB,QAAQ,OAAO,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;QACvD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,8BAA8B,CAAC;IAC3D,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwCH;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwCH;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAuG1C"}
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import { startCallbackServer } from './server.js';
|
|
|
7
7
|
import { openBrowser } from './browser.js';
|
|
8
8
|
import { promptForRepo, promptExistingConfig } from './prompts.js';
|
|
9
9
|
import { checkClaudeCli, addConfig, writeConfigToFile } from './claude.js';
|
|
10
|
-
import { getSetupUrl, AUTH_TIMEOUT_MS, getMcpServerUrl } from './constants.js';
|
|
10
|
+
import { getSetupUrl, AUTH_TIMEOUT_MS, getMcpServerUrl, isCustomApiUrl, getAutoConfigPath } from './constants.js';
|
|
11
11
|
import { printDebugInfo } from './debug.js';
|
|
12
12
|
import { enforceLatestVersion } from './version-check.js';
|
|
13
13
|
import { requestPermissionOrExit } from './permissions.js';
|
|
@@ -38,6 +38,18 @@ export async function main() {
|
|
|
38
38
|
await printDebugInfo();
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
|
+
// Auto-detect custom API URL and use separate config file
|
|
42
|
+
// This prevents clobbering production ~/.claude.json when testing staging
|
|
43
|
+
if (!cliContext.configPath && isCustomApiUrl()) {
|
|
44
|
+
const autoPath = getAutoConfigPath();
|
|
45
|
+
if (autoPath) {
|
|
46
|
+
cliContext.configPath = autoPath;
|
|
47
|
+
console.log('\n⚠️ Custom API URL detected');
|
|
48
|
+
console.log(` CEETRIX_API_URL = ${process.env.CEETRIX_API_URL}`);
|
|
49
|
+
console.log(` Config will be saved to: ${autoPath}`);
|
|
50
|
+
console.log(' Your production ~/.claude.json will NOT be modified.\n');
|
|
51
|
+
}
|
|
52
|
+
}
|
|
41
53
|
console.log('\nCeetrix Setup');
|
|
42
54
|
console.log('─────────────\n');
|
|
43
55
|
// Version check - refuse to run outdated cached versions
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAsB,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|