ceetrix 1.0.0 → 1.0.7
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/bin/ceetrix.js +21 -18
- package/dist/claude.d.ts +8 -4
- package/dist/claude.d.ts.map +1 -1
- package/dist/claude.js +73 -8
- package/dist/claude.js.map +1 -1
- package/dist/constants.js +1 -1
- package/dist/debug.d.ts +8 -0
- package/dist/debug.d.ts.map +1 -0
- package/dist/debug.js +116 -0
- package/dist/debug.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -9
- package/dist/index.js.map +1 -1
- package/package.json +4 -2
package/bin/ceetrix.js
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { main } from '../dist/index.js';
|
|
3
|
-
import
|
|
3
|
+
import { printDebugInfo } from '../dist/debug.js';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
5
|
+
const args = process.argv.slice(2);
|
|
6
|
+
|
|
7
|
+
if (args.includes('--debug') || args.includes('-d')) {
|
|
8
|
+
printDebugInfo()
|
|
9
|
+
.then(() => process.exit(0))
|
|
10
|
+
.catch((err) => {
|
|
11
|
+
console.error('Debug failed:', err.message);
|
|
12
|
+
process.exit(1);
|
|
13
|
+
});
|
|
14
|
+
} else {
|
|
15
|
+
main()
|
|
16
|
+
.then(() => {
|
|
17
|
+
// @inquirer/prompts leaves stdin open - unref it so Node can exit
|
|
18
|
+
process.stdin.unref();
|
|
19
|
+
})
|
|
20
|
+
.catch((err) => {
|
|
21
|
+
console.error(err.message);
|
|
22
|
+
process.exit(1);
|
|
23
|
+
});
|
|
24
|
+
}
|
package/dist/claude.d.ts
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Claude CLI integration
|
|
3
|
+
*
|
|
4
|
+
* Uses the `which` package for cross-platform executable detection.
|
|
5
|
+
* This handles non-login shells (e.g., npx context) where PATH may not
|
|
6
|
+
* include user-configured directories like /opt/homebrew/bin.
|
|
3
7
|
*/
|
|
4
8
|
/**
|
|
5
|
-
* Check if the Claude CLI is available
|
|
9
|
+
* Check if the Claude CLI is available.
|
|
6
10
|
*
|
|
7
|
-
* @returns true if claude command is available
|
|
11
|
+
* @returns true if claude command is available and responds to --version
|
|
8
12
|
*/
|
|
9
13
|
export declare function checkClaudeCli(): Promise<boolean>;
|
|
10
14
|
/**
|
|
11
15
|
* Add Ceetrix MCP server configuration to Claude Code.
|
|
12
16
|
*
|
|
13
17
|
* @param apiKey - The API key to use for authentication
|
|
14
|
-
* @throws Error if
|
|
18
|
+
* @throws Error if Claude CLI not found or command fails
|
|
15
19
|
*/
|
|
16
20
|
export declare function addConfig(apiKey: string): Promise<void>;
|
|
17
21
|
/**
|
|
@@ -23,7 +27,7 @@ export declare function checkExistingConfig(): Promise<boolean>;
|
|
|
23
27
|
/**
|
|
24
28
|
* Remove Ceetrix configuration from Claude Code.
|
|
25
29
|
*
|
|
26
|
-
* @throws Error if
|
|
30
|
+
* @throws Error if Claude CLI not found or command fails
|
|
27
31
|
*/
|
|
28
32
|
export declare function removeConfig(): Promise<void>;
|
|
29
33
|
//# sourceMappingURL=claude.d.ts.map
|
package/dist/claude.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA8DH;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAYvD;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB7D;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAY5D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CASlD"}
|
package/dist/claude.js
CHANGED
|
@@ -1,20 +1,74 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Claude CLI integration
|
|
3
|
+
*
|
|
4
|
+
* Uses the `which` package for cross-platform executable detection.
|
|
5
|
+
* This handles non-login shells (e.g., npx context) where PATH may not
|
|
6
|
+
* include user-configured directories like /opt/homebrew/bin.
|
|
3
7
|
*/
|
|
4
8
|
import { exec } from 'child_process';
|
|
5
9
|
import { promisify } from 'util';
|
|
10
|
+
import which from 'which';
|
|
6
11
|
import { getMcpServerUrl } from './constants.js';
|
|
7
12
|
const execAsync = promisify(exec);
|
|
8
13
|
/** Timeout for Claude CLI commands in milliseconds */
|
|
9
14
|
const CLAUDE_COMMAND_TIMEOUT_MS = 10000;
|
|
15
|
+
/** Common installation paths for Claude CLI (fallback when not in PATH) */
|
|
16
|
+
const COMMON_CLAUDE_PATHS = [
|
|
17
|
+
'/opt/homebrew/bin/claude', // macOS Homebrew ARM
|
|
18
|
+
'/usr/local/bin/claude', // macOS Homebrew Intel / Linux
|
|
19
|
+
`${process.env.HOME}/.local/bin/claude`, // pip/pipx style installs
|
|
20
|
+
];
|
|
21
|
+
/** Cached path to claude executable */
|
|
22
|
+
let cachedClaudePath = null;
|
|
23
|
+
/**
|
|
24
|
+
* Find claude executable using the `which` package.
|
|
25
|
+
* Falls back to common installation paths if not in PATH.
|
|
26
|
+
*
|
|
27
|
+
* @returns Full path to claude executable, or null if not found
|
|
28
|
+
*/
|
|
29
|
+
async function findClaudePath() {
|
|
30
|
+
// Try standard PATH lookup first
|
|
31
|
+
try {
|
|
32
|
+
return await which('claude');
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// Not in PATH, try common locations
|
|
36
|
+
}
|
|
37
|
+
// Fallback: check common installation paths
|
|
38
|
+
for (const path of COMMON_CLAUDE_PATHS) {
|
|
39
|
+
try {
|
|
40
|
+
// which() can verify a specific path exists and is executable
|
|
41
|
+
await which(path);
|
|
42
|
+
return path;
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
// Try next path
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
10
50
|
/**
|
|
11
|
-
*
|
|
51
|
+
* Get the cached claude path, finding it if not already cached.
|
|
12
52
|
*
|
|
13
|
-
* @returns
|
|
53
|
+
* @returns Full path to claude executable, or empty string if not found
|
|
54
|
+
*/
|
|
55
|
+
async function getClaudePath() {
|
|
56
|
+
if (cachedClaudePath === null) {
|
|
57
|
+
cachedClaudePath = (await findClaudePath()) ?? '';
|
|
58
|
+
}
|
|
59
|
+
return cachedClaudePath;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Check if the Claude CLI is available.
|
|
63
|
+
*
|
|
64
|
+
* @returns true if claude command is available and responds to --version
|
|
14
65
|
*/
|
|
15
66
|
export async function checkClaudeCli() {
|
|
67
|
+
const claudePath = await getClaudePath();
|
|
68
|
+
if (!claudePath)
|
|
69
|
+
return false;
|
|
16
70
|
try {
|
|
17
|
-
await execAsync(
|
|
71
|
+
await execAsync(`"${claudePath}" --version`, {
|
|
18
72
|
timeout: CLAUDE_COMMAND_TIMEOUT_MS,
|
|
19
73
|
});
|
|
20
74
|
return true;
|
|
@@ -27,9 +81,13 @@ export async function checkClaudeCli() {
|
|
|
27
81
|
* Add Ceetrix MCP server configuration to Claude Code.
|
|
28
82
|
*
|
|
29
83
|
* @param apiKey - The API key to use for authentication
|
|
30
|
-
* @throws Error if
|
|
84
|
+
* @throws Error if Claude CLI not found or command fails
|
|
31
85
|
*/
|
|
32
86
|
export async function addConfig(apiKey) {
|
|
87
|
+
const claudePath = await getClaudePath();
|
|
88
|
+
if (!claudePath) {
|
|
89
|
+
throw new Error('Claude CLI not found');
|
|
90
|
+
}
|
|
33
91
|
const config = {
|
|
34
92
|
type: 'http',
|
|
35
93
|
url: getMcpServerUrl(),
|
|
@@ -40,7 +98,7 @@ export async function addConfig(apiKey) {
|
|
|
40
98
|
const configJson = JSON.stringify(config);
|
|
41
99
|
// Escape single quotes for shell
|
|
42
100
|
const escaped = configJson.replace(/'/g, "'\\''");
|
|
43
|
-
await execAsync(`
|
|
101
|
+
await execAsync(`"${claudePath}" mcp add-json ceetrix '${escaped}' --scope user`, {
|
|
44
102
|
timeout: CLAUDE_COMMAND_TIMEOUT_MS,
|
|
45
103
|
});
|
|
46
104
|
}
|
|
@@ -50,8 +108,11 @@ export async function addConfig(apiKey) {
|
|
|
50
108
|
* @returns true if ceetrix server is configured
|
|
51
109
|
*/
|
|
52
110
|
export async function checkExistingConfig() {
|
|
111
|
+
const claudePath = await getClaudePath();
|
|
112
|
+
if (!claudePath)
|
|
113
|
+
return false;
|
|
53
114
|
try {
|
|
54
|
-
const { stdout } = await execAsync(
|
|
115
|
+
const { stdout } = await execAsync(`"${claudePath}" mcp list`, {
|
|
55
116
|
timeout: CLAUDE_COMMAND_TIMEOUT_MS,
|
|
56
117
|
});
|
|
57
118
|
return stdout.includes('ceetrix:');
|
|
@@ -63,10 +124,14 @@ export async function checkExistingConfig() {
|
|
|
63
124
|
/**
|
|
64
125
|
* Remove Ceetrix configuration from Claude Code.
|
|
65
126
|
*
|
|
66
|
-
* @throws Error if
|
|
127
|
+
* @throws Error if Claude CLI not found or command fails
|
|
67
128
|
*/
|
|
68
129
|
export async function removeConfig() {
|
|
69
|
-
|
|
130
|
+
const claudePath = await getClaudePath();
|
|
131
|
+
if (!claudePath) {
|
|
132
|
+
throw new Error('Claude CLI not found');
|
|
133
|
+
}
|
|
134
|
+
await execAsync(`"${claudePath}" mcp remove ceetrix`, {
|
|
70
135
|
timeout: CLAUDE_COMMAND_TIMEOUT_MS,
|
|
71
136
|
});
|
|
72
137
|
}
|
package/dist/claude.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
/** Base URL for Ceetrix API, can be overridden via CEETRIX_API_URL env var */
|
|
8
8
|
export function getApiBaseUrl() {
|
|
9
|
-
return process.env.CEETRIX_API_URL || 'https://
|
|
9
|
+
return process.env.CEETRIX_API_URL || 'https://api.ceetrix.com';
|
|
10
10
|
}
|
|
11
11
|
/** Setup endpoint URL */
|
|
12
12
|
export function getSetupUrl() {
|
package/dist/debug.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAmGpD"}
|
package/dist/debug.js
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Debug diagnostics for troubleshooting installation issues
|
|
3
|
+
*/
|
|
4
|
+
import { exec } from 'child_process';
|
|
5
|
+
import { promisify } from 'util';
|
|
6
|
+
import which from 'which';
|
|
7
|
+
const execAsync = promisify(exec);
|
|
8
|
+
/** Common installation paths for Claude CLI */
|
|
9
|
+
const COMMON_CLAUDE_PATHS = [
|
|
10
|
+
'/opt/homebrew/bin/claude',
|
|
11
|
+
'/usr/local/bin/claude',
|
|
12
|
+
`${process.env.HOME}/.local/bin/claude`,
|
|
13
|
+
];
|
|
14
|
+
/** Command timeout for diagnostics */
|
|
15
|
+
const DIAG_TIMEOUT_MS = 5000;
|
|
16
|
+
/**
|
|
17
|
+
* Print debug diagnostics and exit.
|
|
18
|
+
*/
|
|
19
|
+
export async function printDebugInfo() {
|
|
20
|
+
console.log('\nCeetrix Debug Diagnostics');
|
|
21
|
+
console.log('═════════════════════════\n');
|
|
22
|
+
// Platform info
|
|
23
|
+
console.log('Platform');
|
|
24
|
+
console.log('────────');
|
|
25
|
+
console.log(` OS: ${process.platform}`);
|
|
26
|
+
console.log(` Arch: ${process.arch}`);
|
|
27
|
+
console.log(` Node: ${process.version}`);
|
|
28
|
+
console.log('');
|
|
29
|
+
// PATH
|
|
30
|
+
console.log('PATH');
|
|
31
|
+
console.log('────');
|
|
32
|
+
const pathDirs = (process.env.PATH || '').split(':');
|
|
33
|
+
for (const dir of pathDirs) {
|
|
34
|
+
console.log(` ${dir}`);
|
|
35
|
+
}
|
|
36
|
+
console.log('');
|
|
37
|
+
// Claude CLI detection
|
|
38
|
+
console.log('Claude CLI Detection');
|
|
39
|
+
console.log('────────────────────');
|
|
40
|
+
// Try which
|
|
41
|
+
try {
|
|
42
|
+
const foundPath = await which('claude');
|
|
43
|
+
console.log(` which('claude'): ${foundPath}`);
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
console.log(` which('claude'): NOT FOUND`);
|
|
47
|
+
}
|
|
48
|
+
// Try common paths
|
|
49
|
+
for (const path of COMMON_CLAUDE_PATHS) {
|
|
50
|
+
try {
|
|
51
|
+
await which(path);
|
|
52
|
+
console.log(` ${path}: EXISTS`);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
console.log(` ${path}: NOT FOUND`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
console.log('');
|
|
59
|
+
// Claude version (if found)
|
|
60
|
+
console.log('Claude CLI Version');
|
|
61
|
+
console.log('──────────────────');
|
|
62
|
+
try {
|
|
63
|
+
const { stdout } = await execAsync('claude --version', { timeout: DIAG_TIMEOUT_MS });
|
|
64
|
+
console.log(` ${stdout.trim()}`);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
// Try with full path
|
|
68
|
+
for (const path of COMMON_CLAUDE_PATHS) {
|
|
69
|
+
try {
|
|
70
|
+
const { stdout } = await execAsync(`"${path}" --version`, { timeout: DIAG_TIMEOUT_MS });
|
|
71
|
+
console.log(` ${stdout.trim()} (via ${path})`);
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
// Continue
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
console.log('');
|
|
80
|
+
// Existing MCP config
|
|
81
|
+
console.log('Ceetrix MCP Config');
|
|
82
|
+
console.log('──────────────────');
|
|
83
|
+
try {
|
|
84
|
+
const { stdout } = await execAsync('claude mcp list', { timeout: DIAG_TIMEOUT_MS });
|
|
85
|
+
if (stdout.includes('ceetrix:')) {
|
|
86
|
+
const lines = stdout.split('\n');
|
|
87
|
+
const ceetrixLine = lines.find(l => l.includes('ceetrix'));
|
|
88
|
+
console.log(` Status: CONFIGURED`);
|
|
89
|
+
if (ceetrixLine) {
|
|
90
|
+
console.log(` Entry: ${ceetrixLine.trim()}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
console.log(` Status: NOT CONFIGURED`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch (e) {
|
|
98
|
+
console.log(` Status: UNABLE TO CHECK (claude mcp list failed)`);
|
|
99
|
+
}
|
|
100
|
+
console.log('');
|
|
101
|
+
// Shell info
|
|
102
|
+
console.log('Shell Environment');
|
|
103
|
+
console.log('─────────────────');
|
|
104
|
+
console.log(` SHELL: ${process.env.SHELL || 'not set'}`);
|
|
105
|
+
console.log(` HOME: ${process.env.HOME || 'not set'}`);
|
|
106
|
+
console.log(` USER: ${process.env.USER || 'not set'}`);
|
|
107
|
+
console.log('');
|
|
108
|
+
console.log('─────────────────────────────────────────────────────');
|
|
109
|
+
console.log('Ceetrix currently supports macOS + Claude Code only.');
|
|
110
|
+
console.log('');
|
|
111
|
+
console.log('If you have this combination and still have issues,');
|
|
112
|
+
console.log('copy the above and post to the Ceetrix Discord:');
|
|
113
|
+
console.log('https://ceetrix.com/discord');
|
|
114
|
+
console.log('');
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"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"}
|
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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA4D1C"}
|
package/dist/index.js
CHANGED
|
@@ -8,19 +8,31 @@ import { openBrowser } from './browser.js';
|
|
|
8
8
|
import { promptForRepo, promptExistingConfig } from './prompts.js';
|
|
9
9
|
import { checkClaudeCli, addConfig } from './claude.js';
|
|
10
10
|
import { getSetupUrl, AUTH_TIMEOUT_MS } from './constants.js';
|
|
11
|
+
/** Supported platform for this release */
|
|
12
|
+
const SUPPORTED_PLATFORM = 'darwin';
|
|
11
13
|
/**
|
|
12
14
|
* Main CLI entry point
|
|
13
15
|
*/
|
|
14
16
|
export async function main() {
|
|
15
|
-
console.log('[DEBUG] main() started');
|
|
16
17
|
console.log('\nCeetrix Setup');
|
|
17
18
|
console.log('─────────────\n');
|
|
19
|
+
// Platform check - macOS only for now
|
|
20
|
+
if (process.platform !== SUPPORTED_PLATFORM) {
|
|
21
|
+
console.error(`✗ Unsupported platform: ${process.platform}\n`);
|
|
22
|
+
console.error('Ceetrix currently supports macOS + Claude Code only.');
|
|
23
|
+
console.error('Windows and Linux support coming soon.');
|
|
24
|
+
console.error('');
|
|
25
|
+
console.error('Join the Discord for updates: https://ceetrix.com/discord\n');
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
18
28
|
// Check Claude CLI is available
|
|
19
29
|
const claudeAvailable = await checkClaudeCli();
|
|
20
30
|
if (!claudeAvailable) {
|
|
21
31
|
console.error('✗ Claude Code CLI not found\n');
|
|
22
|
-
console.error('Install Claude Code first:');
|
|
23
|
-
console.error('
|
|
32
|
+
console.error('Install Claude Code first: https://claude.ai/download');
|
|
33
|
+
console.error('');
|
|
34
|
+
console.error('If Claude Code is installed, run: npx ceetrix --debug');
|
|
35
|
+
console.error('and post the output to: https://ceetrix.com/discord\n');
|
|
24
36
|
process.exit(1);
|
|
25
37
|
}
|
|
26
38
|
// Check if already configured
|
|
@@ -55,9 +67,7 @@ export async function main() {
|
|
|
55
67
|
repo = await promptForRepo();
|
|
56
68
|
}
|
|
57
69
|
// Run the setup flow
|
|
58
|
-
console.log('[DEBUG] Calling runSetupFlow...');
|
|
59
70
|
await runSetupFlow(repo);
|
|
60
|
-
console.log('[DEBUG] runSetupFlow completed, main() returning');
|
|
61
71
|
}
|
|
62
72
|
/**
|
|
63
73
|
* Handle case when Ceetrix is already configured.
|
|
@@ -142,14 +152,10 @@ async function runSetupFlow(repo) {
|
|
|
142
152
|
console.log('✓ Configuration added\n');
|
|
143
153
|
// Show restart notice
|
|
144
154
|
printRestartNotice();
|
|
145
|
-
console.log('[DEBUG] About to close server...');
|
|
146
155
|
}
|
|
147
156
|
finally {
|
|
148
|
-
console.log('[DEBUG] In finally block, calling close()...');
|
|
149
157
|
close();
|
|
150
|
-
console.log('[DEBUG] Server closed');
|
|
151
158
|
}
|
|
152
|
-
console.log('[DEBUG] runSetupFlow() returning');
|
|
153
159
|
}
|
|
154
160
|
/**
|
|
155
161
|
* Create a cancellable timeout promise.
|
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,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ceetrix",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "Set up Ceetrix backlog management for Claude Code",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ceetrix": "./bin/ceetrix.js"
|
|
@@ -19,10 +19,12 @@
|
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@inquirer/prompts": "^7.0.0",
|
|
22
|
-
"open": "^10.0.0"
|
|
22
|
+
"open": "^10.0.0",
|
|
23
|
+
"which": "^6.0.0"
|
|
23
24
|
},
|
|
24
25
|
"devDependencies": {
|
|
25
26
|
"@types/node": "^20.0.0",
|
|
27
|
+
"@types/which": "^3.0.4",
|
|
26
28
|
"typescript": "^5.0.0",
|
|
27
29
|
"vitest": "^2.0.0",
|
|
28
30
|
"why-is-node-running": "^3.2.2"
|