claude-code-workflow 6.2.9 → 6.3.1
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/.claude/CLAUDE.md +17 -2
- package/.claude/commands/workflow/lite-plan.md +7 -4
- package/.claude/workflows/cli-templates/protocols/analysis-protocol.md +11 -4
- package/.claude/workflows/cli-templates/protocols/write-protocol.md +10 -75
- package/.claude/workflows/cli-tools-usage.md +14 -24
- package/.claude/workflows/context-tools-ace.md +105 -0
- package/.codex/AGENTS.md +51 -1
- package/.codex/prompts/compact.md +378 -0
- package/.gemini/GEMINI.md +57 -20
- package/ccw/dist/cli.d.ts.map +1 -1
- package/ccw/dist/cli.js +3 -1
- package/ccw/dist/cli.js.map +1 -1
- package/ccw/dist/commands/cli.d.ts +2 -0
- package/ccw/dist/commands/cli.d.ts.map +1 -1
- package/ccw/dist/commands/cli.js +129 -8
- package/ccw/dist/commands/cli.js.map +1 -1
- package/ccw/dist/commands/hook.d.ts.map +1 -1
- package/ccw/dist/commands/hook.js +3 -2
- package/ccw/dist/commands/hook.js.map +1 -1
- package/ccw/dist/config/litellm-api-config-manager.d.ts +180 -0
- package/ccw/dist/config/litellm-api-config-manager.d.ts.map +1 -0
- package/ccw/dist/config/litellm-api-config-manager.js +770 -0
- package/ccw/dist/config/litellm-api-config-manager.js.map +1 -0
- package/ccw/dist/config/provider-models.d.ts +73 -0
- package/ccw/dist/config/provider-models.d.ts.map +1 -0
- package/ccw/dist/config/provider-models.js +172 -0
- package/ccw/dist/config/provider-models.js.map +1 -0
- package/ccw/dist/core/cache-manager.d.ts.map +1 -1
- package/ccw/dist/core/cache-manager.js +3 -5
- package/ccw/dist/core/cache-manager.js.map +1 -1
- package/ccw/dist/core/dashboard-generator.d.ts.map +1 -1
- package/ccw/dist/core/dashboard-generator.js +3 -1
- package/ccw/dist/core/dashboard-generator.js.map +1 -1
- package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/cli-routes.js +208 -0
- package/ccw/dist/core/routes/cli-routes.js.map +1 -1
- package/ccw/dist/core/routes/codexlens-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/codexlens-routes.js +234 -18
- package/ccw/dist/core/routes/codexlens-routes.js.map +1 -1
- package/ccw/dist/core/routes/hooks-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/hooks-routes.js +30 -32
- package/ccw/dist/core/routes/hooks-routes.js.map +1 -1
- package/ccw/dist/core/routes/litellm-api-routes.d.ts +21 -0
- package/ccw/dist/core/routes/litellm-api-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/litellm-api-routes.js +780 -0
- package/ccw/dist/core/routes/litellm-api-routes.js.map +1 -0
- package/ccw/dist/core/routes/litellm-routes.d.ts +20 -0
- package/ccw/dist/core/routes/litellm-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/litellm-routes.js +85 -0
- package/ccw/dist/core/routes/litellm-routes.js.map +1 -0
- package/ccw/dist/core/routes/mcp-routes.js +2 -2
- package/ccw/dist/core/routes/mcp-routes.js.map +1 -1
- package/ccw/dist/core/routes/status-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/status-routes.js +39 -0
- package/ccw/dist/core/routes/status-routes.js.map +1 -1
- package/ccw/dist/core/server.d.ts.map +1 -1
- package/ccw/dist/core/server.js +15 -1
- package/ccw/dist/core/server.js.map +1 -1
- package/ccw/dist/mcp-server/index.js +1 -1
- package/ccw/dist/mcp-server/index.js.map +1 -1
- package/ccw/dist/tools/claude-cli-tools.d.ts +97 -0
- package/ccw/dist/tools/claude-cli-tools.d.ts.map +1 -0
- package/ccw/dist/tools/claude-cli-tools.js +276 -0
- package/ccw/dist/tools/claude-cli-tools.js.map +1 -0
- package/ccw/dist/tools/cli-executor.d.ts.map +1 -1
- package/ccw/dist/tools/cli-executor.js +80 -20
- package/ccw/dist/tools/cli-executor.js.map +1 -1
- package/ccw/dist/tools/codex-lens.d.ts +9 -2
- package/ccw/dist/tools/codex-lens.d.ts.map +1 -1
- package/ccw/dist/tools/codex-lens.js +114 -9
- package/ccw/dist/tools/codex-lens.js.map +1 -1
- package/ccw/dist/tools/context-cache-store.d.ts +136 -0
- package/ccw/dist/tools/context-cache-store.d.ts.map +1 -0
- package/ccw/dist/tools/context-cache-store.js +256 -0
- package/ccw/dist/tools/context-cache-store.js.map +1 -0
- package/ccw/dist/tools/context-cache.d.ts +56 -0
- package/ccw/dist/tools/context-cache.d.ts.map +1 -0
- package/ccw/dist/tools/context-cache.js +294 -0
- package/ccw/dist/tools/context-cache.js.map +1 -0
- package/ccw/dist/tools/core-memory.d.ts.map +1 -1
- package/ccw/dist/tools/core-memory.js +33 -19
- package/ccw/dist/tools/core-memory.js.map +1 -1
- package/ccw/dist/tools/index.d.ts.map +1 -1
- package/ccw/dist/tools/index.js +2 -0
- package/ccw/dist/tools/index.js.map +1 -1
- package/ccw/dist/tools/litellm-client.d.ts +85 -0
- package/ccw/dist/tools/litellm-client.d.ts.map +1 -0
- package/ccw/dist/tools/litellm-client.js +188 -0
- package/ccw/dist/tools/litellm-client.js.map +1 -0
- package/ccw/dist/tools/litellm-executor.d.ts +34 -0
- package/ccw/dist/tools/litellm-executor.d.ts.map +1 -0
- package/ccw/dist/tools/litellm-executor.js +192 -0
- package/ccw/dist/tools/litellm-executor.js.map +1 -0
- package/ccw/dist/tools/pattern-parser.d.ts +55 -0
- package/ccw/dist/tools/pattern-parser.d.ts.map +1 -0
- package/ccw/dist/tools/pattern-parser.js +237 -0
- package/ccw/dist/tools/pattern-parser.js.map +1 -0
- package/ccw/dist/tools/smart-search.d.ts +1 -0
- package/ccw/dist/tools/smart-search.d.ts.map +1 -1
- package/ccw/dist/tools/smart-search.js +117 -41
- package/ccw/dist/tools/smart-search.js.map +1 -1
- package/ccw/dist/types/litellm-api-config.d.ts +294 -0
- package/ccw/dist/types/litellm-api-config.d.ts.map +1 -0
- package/ccw/dist/types/litellm-api-config.js +8 -0
- package/ccw/dist/types/litellm-api-config.js.map +1 -0
- package/ccw/src/cli.ts +3 -1
- package/ccw/src/commands/cli.ts +153 -9
- package/ccw/src/commands/hook.ts +3 -2
- package/ccw/src/config/.litellm-api-config-manager.ts.2025-12-23T11-57-43-727Z.bak +441 -0
- package/ccw/src/config/litellm-api-config-manager.ts +1012 -0
- package/ccw/src/config/provider-models.ts +222 -0
- package/ccw/src/core/cache-manager.ts +292 -294
- package/ccw/src/core/dashboard-generator.ts +3 -1
- package/ccw/src/core/routes/cli-routes.ts +234 -0
- package/ccw/src/core/routes/codexlens-routes.ts +241 -19
- package/ccw/src/core/routes/hooks-routes.ts +399 -405
- package/ccw/src/core/routes/litellm-api-routes.ts +930 -0
- package/ccw/src/core/routes/litellm-routes.ts +107 -0
- package/ccw/src/core/routes/mcp-routes.ts +1271 -1271
- package/ccw/src/core/routes/status-routes.ts +51 -0
- package/ccw/src/core/server.ts +15 -1
- package/ccw/src/mcp-server/index.ts +1 -1
- package/ccw/src/templates/dashboard-css/12-cli-legacy.css +44 -0
- package/ccw/src/templates/dashboard-css/18-cli-settings.css +34 -0
- package/ccw/src/templates/dashboard-css/31-api-settings.css +2265 -0
- package/ccw/src/templates/dashboard-js/components/cli-history.js +15 -8
- package/ccw/src/templates/dashboard-js/components/cli-status.js +376 -9
- package/ccw/src/templates/dashboard-js/components/navigation.js +329 -313
- package/ccw/src/templates/dashboard-js/i18n.js +589 -3
- package/ccw/src/templates/dashboard-js/views/api-settings.js +3362 -0
- package/ccw/src/templates/dashboard-js/views/cli-manager.js +212 -24
- package/ccw/src/templates/dashboard-js/views/codexlens-manager.js +1265 -27
- package/ccw/src/templates/dashboard.html +840 -831
- package/ccw/src/tools/claude-cli-tools.ts +371 -0
- package/ccw/src/tools/cli-executor.ts +87 -20
- package/ccw/src/tools/codex-lens.ts +146 -9
- package/ccw/src/tools/context-cache-store.ts +368 -0
- package/ccw/src/tools/context-cache.ts +393 -0
- package/ccw/src/tools/core-memory.ts +33 -19
- package/ccw/src/tools/index.ts +2 -0
- package/ccw/src/tools/litellm-client.ts +246 -0
- package/ccw/src/tools/litellm-executor.ts +241 -0
- package/ccw/src/tools/pattern-parser.ts +329 -0
- package/ccw/src/tools/smart-search.ts +142 -41
- package/ccw/src/types/litellm-api-config.ts +402 -0
- package/ccw-litellm/README.md +180 -0
- package/ccw-litellm/pyproject.toml +35 -0
- package/ccw-litellm/src/ccw_litellm/__init__.py +47 -0
- package/ccw-litellm/src/ccw_litellm/__pycache__/__init__.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/__pycache__/cli.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/cli.py +108 -0
- package/ccw-litellm/src/ccw_litellm/clients/__init__.py +12 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/__init__.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_embedder.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_llm.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/litellm_embedder.py +251 -0
- package/ccw-litellm/src/ccw_litellm/clients/litellm_llm.py +165 -0
- package/ccw-litellm/src/ccw_litellm/config/__init__.py +22 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/__init__.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/loader.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/models.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/loader.py +316 -0
- package/ccw-litellm/src/ccw_litellm/config/models.py +130 -0
- package/ccw-litellm/src/ccw_litellm/interfaces/__init__.py +14 -0
- package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/__init__.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/embedder.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/llm.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/interfaces/embedder.py +52 -0
- package/ccw-litellm/src/ccw_litellm/interfaces/llm.py +45 -0
- package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/commands.py +360 -22
- package/codex-lens/src/codexlens/cli/embedding_manager.py +660 -56
- package/codex-lens/src/codexlens/cli/model_manager.py +31 -18
- package/codex-lens/src/codexlens/cli/output.py +12 -1
- package/codex-lens/src/codexlens/config.py +93 -0
- package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/chain_search.py +6 -2
- package/codex-lens/src/codexlens/search/hybrid_search.py +44 -21
- package/codex-lens/src/codexlens/search/ranking.py +1 -1
- package/codex-lens/src/codexlens/semantic/__init__.py +42 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/base.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/factory.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/litellm_embedder.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/base.py +61 -0
- package/codex-lens/src/codexlens/semantic/chunker.py +43 -20
- package/codex-lens/src/codexlens/semantic/embedder.py +60 -13
- package/codex-lens/src/codexlens/semantic/factory.py +98 -0
- package/codex-lens/src/codexlens/semantic/gpu_support.py +225 -3
- package/codex-lens/src/codexlens/semantic/litellm_embedder.py +144 -0
- package/codex-lens/src/codexlens/semantic/rotational_embedder.py +434 -0
- package/codex-lens/src/codexlens/semantic/vector_store.py +33 -8
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_004_dual_fts.cpython-313.pyc +0 -0
- package/package.json +3 -1
- package/.codex/prompts.zip +0 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
export interface ClaudeCliTool {
|
|
2
|
+
enabled: boolean;
|
|
3
|
+
isBuiltin: boolean;
|
|
4
|
+
command: string;
|
|
5
|
+
description: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ClaudeCacheSettings {
|
|
8
|
+
injectionMode: 'auto' | 'manual' | 'disabled';
|
|
9
|
+
defaultPrefix: string;
|
|
10
|
+
defaultSuffix: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ClaudeCliToolsConfig {
|
|
13
|
+
$schema?: string;
|
|
14
|
+
version: string;
|
|
15
|
+
tools: Record<string, ClaudeCliTool>;
|
|
16
|
+
customEndpoints: Array<{
|
|
17
|
+
id: string;
|
|
18
|
+
name: string;
|
|
19
|
+
enabled: boolean;
|
|
20
|
+
}>;
|
|
21
|
+
defaultTool: string;
|
|
22
|
+
settings: {
|
|
23
|
+
promptFormat: 'plain' | 'yaml' | 'json';
|
|
24
|
+
smartContext: {
|
|
25
|
+
enabled: boolean;
|
|
26
|
+
maxFiles: number;
|
|
27
|
+
};
|
|
28
|
+
nativeResume: boolean;
|
|
29
|
+
recursiveQuery: boolean;
|
|
30
|
+
cache: ClaudeCacheSettings;
|
|
31
|
+
codeIndexMcp: 'codexlens' | 'ace';
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Load CLI tools configuration with fallback:
|
|
36
|
+
* 1. Project: {projectDir}/.claude/cli-tools.json
|
|
37
|
+
* 2. Global: ~/.claude/cli-tools.json
|
|
38
|
+
* 3. Default config
|
|
39
|
+
*/
|
|
40
|
+
export declare function loadClaudeCliTools(projectDir: string): ClaudeCliToolsConfig & {
|
|
41
|
+
_source?: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Save CLI tools configuration to project .claude/cli-tools.json
|
|
45
|
+
* Always saves to project directory (not global)
|
|
46
|
+
*/
|
|
47
|
+
export declare function saveClaudeCliTools(projectDir: string, config: ClaudeCliToolsConfig & {
|
|
48
|
+
_source?: string;
|
|
49
|
+
}): void;
|
|
50
|
+
/**
|
|
51
|
+
* Update enabled status for a specific tool
|
|
52
|
+
*/
|
|
53
|
+
export declare function updateClaudeToolEnabled(projectDir: string, toolName: string, enabled: boolean): ClaudeCliToolsConfig;
|
|
54
|
+
/**
|
|
55
|
+
* Update cache settings
|
|
56
|
+
*/
|
|
57
|
+
export declare function updateClaudeCacheSettings(projectDir: string, cacheSettings: Partial<ClaudeCacheSettings>): ClaudeCliToolsConfig;
|
|
58
|
+
/**
|
|
59
|
+
* Update default tool
|
|
60
|
+
*/
|
|
61
|
+
export declare function updateClaudeDefaultTool(projectDir: string, defaultTool: string): ClaudeCliToolsConfig;
|
|
62
|
+
/**
|
|
63
|
+
* Add custom endpoint
|
|
64
|
+
*/
|
|
65
|
+
export declare function addClaudeCustomEndpoint(projectDir: string, endpoint: {
|
|
66
|
+
id: string;
|
|
67
|
+
name: string;
|
|
68
|
+
enabled: boolean;
|
|
69
|
+
}): ClaudeCliToolsConfig;
|
|
70
|
+
/**
|
|
71
|
+
* Remove custom endpoint
|
|
72
|
+
*/
|
|
73
|
+
export declare function removeClaudeCustomEndpoint(projectDir: string, endpointId: string): ClaudeCliToolsConfig;
|
|
74
|
+
/**
|
|
75
|
+
* Get config source info
|
|
76
|
+
*/
|
|
77
|
+
export declare function getClaudeCliToolsInfo(projectDir: string): {
|
|
78
|
+
projectPath: string;
|
|
79
|
+
globalPath: string;
|
|
80
|
+
activePath: string;
|
|
81
|
+
source: 'project' | 'global' | 'default';
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Update Code Index MCP provider and switch CLAUDE.md reference
|
|
85
|
+
* Strategy: Only modify global user-level CLAUDE.md (~/.claude/CLAUDE.md)
|
|
86
|
+
* This is consistent with Chinese response and Windows platform settings
|
|
87
|
+
*/
|
|
88
|
+
export declare function updateCodeIndexMcp(projectDir: string, provider: 'codexlens' | 'ace'): {
|
|
89
|
+
success: boolean;
|
|
90
|
+
error?: string;
|
|
91
|
+
config?: ClaudeCliToolsConfig;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Get current Code Index MCP provider
|
|
95
|
+
*/
|
|
96
|
+
export declare function getCodeIndexMcp(projectDir: string): 'codexlens' | 'ace';
|
|
97
|
+
//# sourceMappingURL=claude-cli-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-cli-tools.d.ts","sourceRoot":"","sources":["../../src/tools/claude-cli-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude CLI Tools Configuration Manager
|
|
3
|
+
* Manages .claude/cli-tools.json with fallback:
|
|
4
|
+
* 1. Project workspace: {projectDir}/.claude/cli-tools.json (priority)
|
|
5
|
+
* 2. Global: ~/.claude/cli-tools.json (fallback)
|
|
6
|
+
*/
|
|
7
|
+
import * as fs from 'fs';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
import * as os from 'os';
|
|
10
|
+
// ========== Default Config ==========
|
|
11
|
+
const DEFAULT_CONFIG = {
|
|
12
|
+
version: '1.0.0',
|
|
13
|
+
tools: {
|
|
14
|
+
gemini: {
|
|
15
|
+
enabled: true,
|
|
16
|
+
isBuiltin: true,
|
|
17
|
+
command: 'gemini',
|
|
18
|
+
description: 'Google AI for code analysis'
|
|
19
|
+
},
|
|
20
|
+
qwen: {
|
|
21
|
+
enabled: true,
|
|
22
|
+
isBuiltin: true,
|
|
23
|
+
command: 'qwen',
|
|
24
|
+
description: 'Alibaba AI assistant'
|
|
25
|
+
},
|
|
26
|
+
codex: {
|
|
27
|
+
enabled: true,
|
|
28
|
+
isBuiltin: true,
|
|
29
|
+
command: 'codex',
|
|
30
|
+
description: 'OpenAI code generation'
|
|
31
|
+
},
|
|
32
|
+
claude: {
|
|
33
|
+
enabled: true,
|
|
34
|
+
isBuiltin: true,
|
|
35
|
+
command: 'claude',
|
|
36
|
+
description: 'Anthropic AI assistant'
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
customEndpoints: [],
|
|
40
|
+
defaultTool: 'gemini',
|
|
41
|
+
settings: {
|
|
42
|
+
promptFormat: 'plain',
|
|
43
|
+
smartContext: {
|
|
44
|
+
enabled: false,
|
|
45
|
+
maxFiles: 10
|
|
46
|
+
},
|
|
47
|
+
nativeResume: true,
|
|
48
|
+
recursiveQuery: true,
|
|
49
|
+
cache: {
|
|
50
|
+
injectionMode: 'auto',
|
|
51
|
+
defaultPrefix: '',
|
|
52
|
+
defaultSuffix: ''
|
|
53
|
+
},
|
|
54
|
+
codeIndexMcp: 'codexlens' // Default to CodexLens
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
// ========== Helper Functions ==========
|
|
58
|
+
function getProjectConfigPath(projectDir) {
|
|
59
|
+
return path.join(projectDir, '.claude', 'cli-tools.json');
|
|
60
|
+
}
|
|
61
|
+
function getGlobalConfigPath() {
|
|
62
|
+
return path.join(os.homedir(), '.claude', 'cli-tools.json');
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Resolve config path with fallback:
|
|
66
|
+
* 1. Project: {projectDir}/.claude/cli-tools.json
|
|
67
|
+
* 2. Global: ~/.claude/cli-tools.json
|
|
68
|
+
* Returns { path, source } where source is 'project' | 'global' | 'default'
|
|
69
|
+
*/
|
|
70
|
+
function resolveConfigPath(projectDir) {
|
|
71
|
+
const projectPath = getProjectConfigPath(projectDir);
|
|
72
|
+
if (fs.existsSync(projectPath)) {
|
|
73
|
+
return { path: projectPath, source: 'project' };
|
|
74
|
+
}
|
|
75
|
+
const globalPath = getGlobalConfigPath();
|
|
76
|
+
if (fs.existsSync(globalPath)) {
|
|
77
|
+
return { path: globalPath, source: 'global' };
|
|
78
|
+
}
|
|
79
|
+
return { path: projectPath, source: 'default' };
|
|
80
|
+
}
|
|
81
|
+
function ensureClaudeDir(projectDir) {
|
|
82
|
+
const claudeDir = path.join(projectDir, '.claude');
|
|
83
|
+
if (!fs.existsSync(claudeDir)) {
|
|
84
|
+
fs.mkdirSync(claudeDir, { recursive: true });
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// ========== Main Functions ==========
|
|
88
|
+
/**
|
|
89
|
+
* Load CLI tools configuration with fallback:
|
|
90
|
+
* 1. Project: {projectDir}/.claude/cli-tools.json
|
|
91
|
+
* 2. Global: ~/.claude/cli-tools.json
|
|
92
|
+
* 3. Default config
|
|
93
|
+
*/
|
|
94
|
+
export function loadClaudeCliTools(projectDir) {
|
|
95
|
+
const resolved = resolveConfigPath(projectDir);
|
|
96
|
+
try {
|
|
97
|
+
if (resolved.source === 'default') {
|
|
98
|
+
// No config file found, return defaults
|
|
99
|
+
return { ...DEFAULT_CONFIG, _source: 'default' };
|
|
100
|
+
}
|
|
101
|
+
const content = fs.readFileSync(resolved.path, 'utf-8');
|
|
102
|
+
const parsed = JSON.parse(content);
|
|
103
|
+
// Merge with defaults
|
|
104
|
+
const config = {
|
|
105
|
+
...DEFAULT_CONFIG,
|
|
106
|
+
...parsed,
|
|
107
|
+
tools: { ...DEFAULT_CONFIG.tools, ...(parsed.tools || {}) },
|
|
108
|
+
settings: {
|
|
109
|
+
...DEFAULT_CONFIG.settings,
|
|
110
|
+
...(parsed.settings || {}),
|
|
111
|
+
smartContext: {
|
|
112
|
+
...DEFAULT_CONFIG.settings.smartContext,
|
|
113
|
+
...(parsed.settings?.smartContext || {})
|
|
114
|
+
},
|
|
115
|
+
cache: {
|
|
116
|
+
...DEFAULT_CONFIG.settings.cache,
|
|
117
|
+
...(parsed.settings?.cache || {})
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
_source: resolved.source
|
|
121
|
+
};
|
|
122
|
+
console.log(`[claude-cli-tools] Loaded config from ${resolved.source}: ${resolved.path}`);
|
|
123
|
+
return config;
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
console.error('[claude-cli-tools] Error loading config:', err);
|
|
127
|
+
return { ...DEFAULT_CONFIG, _source: 'default' };
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Save CLI tools configuration to project .claude/cli-tools.json
|
|
132
|
+
* Always saves to project directory (not global)
|
|
133
|
+
*/
|
|
134
|
+
export function saveClaudeCliTools(projectDir, config) {
|
|
135
|
+
ensureClaudeDir(projectDir);
|
|
136
|
+
const configPath = getProjectConfigPath(projectDir);
|
|
137
|
+
// Remove internal _source field before saving
|
|
138
|
+
const { _source, ...configToSave } = config;
|
|
139
|
+
try {
|
|
140
|
+
fs.writeFileSync(configPath, JSON.stringify(configToSave, null, 2), 'utf-8');
|
|
141
|
+
console.log(`[claude-cli-tools] Saved config to project: ${configPath}`);
|
|
142
|
+
}
|
|
143
|
+
catch (err) {
|
|
144
|
+
console.error('[claude-cli-tools] Error saving config:', err);
|
|
145
|
+
throw new Error(`Failed to save CLI tools config: ${err}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Update enabled status for a specific tool
|
|
150
|
+
*/
|
|
151
|
+
export function updateClaudeToolEnabled(projectDir, toolName, enabled) {
|
|
152
|
+
const config = loadClaudeCliTools(projectDir);
|
|
153
|
+
if (config.tools[toolName]) {
|
|
154
|
+
config.tools[toolName].enabled = enabled;
|
|
155
|
+
saveClaudeCliTools(projectDir, config);
|
|
156
|
+
}
|
|
157
|
+
return config;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Update cache settings
|
|
161
|
+
*/
|
|
162
|
+
export function updateClaudeCacheSettings(projectDir, cacheSettings) {
|
|
163
|
+
const config = loadClaudeCliTools(projectDir);
|
|
164
|
+
config.settings.cache = {
|
|
165
|
+
...config.settings.cache,
|
|
166
|
+
...cacheSettings
|
|
167
|
+
};
|
|
168
|
+
saveClaudeCliTools(projectDir, config);
|
|
169
|
+
return config;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Update default tool
|
|
173
|
+
*/
|
|
174
|
+
export function updateClaudeDefaultTool(projectDir, defaultTool) {
|
|
175
|
+
const config = loadClaudeCliTools(projectDir);
|
|
176
|
+
config.defaultTool = defaultTool;
|
|
177
|
+
saveClaudeCliTools(projectDir, config);
|
|
178
|
+
return config;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Add custom endpoint
|
|
182
|
+
*/
|
|
183
|
+
export function addClaudeCustomEndpoint(projectDir, endpoint) {
|
|
184
|
+
const config = loadClaudeCliTools(projectDir);
|
|
185
|
+
// Check if endpoint already exists
|
|
186
|
+
const existingIndex = config.customEndpoints.findIndex(e => e.id === endpoint.id);
|
|
187
|
+
if (existingIndex >= 0) {
|
|
188
|
+
config.customEndpoints[existingIndex] = endpoint;
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
config.customEndpoints.push(endpoint);
|
|
192
|
+
}
|
|
193
|
+
saveClaudeCliTools(projectDir, config);
|
|
194
|
+
return config;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Remove custom endpoint
|
|
198
|
+
*/
|
|
199
|
+
export function removeClaudeCustomEndpoint(projectDir, endpointId) {
|
|
200
|
+
const config = loadClaudeCliTools(projectDir);
|
|
201
|
+
config.customEndpoints = config.customEndpoints.filter(e => e.id !== endpointId);
|
|
202
|
+
saveClaudeCliTools(projectDir, config);
|
|
203
|
+
return config;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Get config source info
|
|
207
|
+
*/
|
|
208
|
+
export function getClaudeCliToolsInfo(projectDir) {
|
|
209
|
+
const resolved = resolveConfigPath(projectDir);
|
|
210
|
+
return {
|
|
211
|
+
projectPath: getProjectConfigPath(projectDir),
|
|
212
|
+
globalPath: getGlobalConfigPath(),
|
|
213
|
+
activePath: resolved.path,
|
|
214
|
+
source: resolved.source
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Update Code Index MCP provider and switch CLAUDE.md reference
|
|
219
|
+
* Strategy: Only modify global user-level CLAUDE.md (~/.claude/CLAUDE.md)
|
|
220
|
+
* This is consistent with Chinese response and Windows platform settings
|
|
221
|
+
*/
|
|
222
|
+
export function updateCodeIndexMcp(projectDir, provider) {
|
|
223
|
+
try {
|
|
224
|
+
// Update config
|
|
225
|
+
const config = loadClaudeCliTools(projectDir);
|
|
226
|
+
config.settings.codeIndexMcp = provider;
|
|
227
|
+
saveClaudeCliTools(projectDir, config);
|
|
228
|
+
// Only update global CLAUDE.md (consistent with Chinese response / Windows platform)
|
|
229
|
+
const globalClaudeMdPath = path.join(os.homedir(), '.claude', 'CLAUDE.md');
|
|
230
|
+
if (!fs.existsSync(globalClaudeMdPath)) {
|
|
231
|
+
// If global CLAUDE.md doesn't exist, check project-level
|
|
232
|
+
const projectClaudeMdPath = path.join(projectDir, '.claude', 'CLAUDE.md');
|
|
233
|
+
if (fs.existsSync(projectClaudeMdPath)) {
|
|
234
|
+
let content = fs.readFileSync(projectClaudeMdPath, 'utf-8');
|
|
235
|
+
// Define patterns for both formats
|
|
236
|
+
const codexlensPattern = /@~\/\.claude\/workflows\/context-tools\.md/g;
|
|
237
|
+
const acePattern = /@~\/\.claude\/workflows\/context-tools-ace\.md/g;
|
|
238
|
+
if (provider === 'ace') {
|
|
239
|
+
content = content.replace(codexlensPattern, '@~/.claude/workflows/context-tools-ace.md');
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
content = content.replace(acePattern, '@~/.claude/workflows/context-tools.md');
|
|
243
|
+
}
|
|
244
|
+
fs.writeFileSync(projectClaudeMdPath, content, 'utf-8');
|
|
245
|
+
console.log(`[claude-cli-tools] Updated project CLAUDE.md to use ${provider} (no global CLAUDE.md found)`);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
// Update global CLAUDE.md (primary target)
|
|
250
|
+
let content = fs.readFileSync(globalClaudeMdPath, 'utf-8');
|
|
251
|
+
const codexlensPattern = /@~\/\.claude\/workflows\/context-tools\.md/g;
|
|
252
|
+
const acePattern = /@~\/\.claude\/workflows\/context-tools-ace\.md/g;
|
|
253
|
+
if (provider === 'ace') {
|
|
254
|
+
content = content.replace(codexlensPattern, '@~/.claude/workflows/context-tools-ace.md');
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
content = content.replace(acePattern, '@~/.claude/workflows/context-tools.md');
|
|
258
|
+
}
|
|
259
|
+
fs.writeFileSync(globalClaudeMdPath, content, 'utf-8');
|
|
260
|
+
console.log(`[claude-cli-tools] Updated global CLAUDE.md to use ${provider}`);
|
|
261
|
+
}
|
|
262
|
+
return { success: true, config };
|
|
263
|
+
}
|
|
264
|
+
catch (err) {
|
|
265
|
+
console.error('[claude-cli-tools] Error updating Code Index MCP:', err);
|
|
266
|
+
return { success: false, error: err.message };
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Get current Code Index MCP provider
|
|
271
|
+
*/
|
|
272
|
+
export function getCodeIndexMcp(projectDir) {
|
|
273
|
+
const config = loadClaudeCliTools(projectDir);
|
|
274
|
+
return config.settings.codeIndexMcp || 'codexlens';
|
|
275
|
+
}
|
|
276
|
+
//# sourceMappingURL=claude-cli-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-cli-tools.js","sourceRoot":"","sources":["../../src/tools/claude-cli-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-executor.d.ts","sourceRoot":"","sources":["../../src/tools/cli-executor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-executor.d.ts","sourceRoot":"","sources":["../../src/tools/cli-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,9 @@ import { z } from 'zod';
|
|
|
6
6
|
import { spawn } from 'child_process';
|
|
7
7
|
import { existsSync, readdirSync } from 'fs';
|
|
8
8
|
import { join } from 'path';
|
|
9
|
+
// LiteLLM integration
|
|
10
|
+
import { executeLiteLLMEndpoint } from './litellm-executor.js';
|
|
11
|
+
import { findEndpointById } from '../config/litellm-api-config-manager.js';
|
|
9
12
|
// Native resume support
|
|
10
13
|
import { trackNewSession, supportsNativeResume } from './native-session-discovery.js';
|
|
11
14
|
import { determineResumeStrategy, buildContextPrefix, getResumeModeDescription } from './resume-strategy.js';
|
|
@@ -40,7 +43,7 @@ const ParamsSchema = z.object({
|
|
|
40
43
|
model: z.string().optional(),
|
|
41
44
|
cd: z.string().optional(),
|
|
42
45
|
includeDirs: z.string().optional(),
|
|
43
|
-
timeout: z.number().default(
|
|
46
|
+
timeout: z.number().default(0), // 0 = no internal timeout, controlled by external caller (e.g., bash timeout)
|
|
44
47
|
resume: z.union([z.boolean(), z.string()]).optional(), // true = last, string = single ID or comma-separated IDs
|
|
45
48
|
id: z.string().optional(), // Custom execution ID (e.g., IMPL-001-step1)
|
|
46
49
|
noNative: z.boolean().optional(), // Force prompt concatenation instead of native resume
|
|
@@ -186,9 +189,8 @@ function buildCommand(params) {
|
|
|
186
189
|
args.push(nativeResume.sessionId);
|
|
187
190
|
}
|
|
188
191
|
// Codex resume still supports additional flags
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
}
|
|
192
|
+
// Note: -C is NOT used because spawn's cwd already sets the working directory
|
|
193
|
+
// Using both would cause path to be applied twice (e.g., codex-lens/codex-lens)
|
|
192
194
|
// Permission configuration based on mode:
|
|
193
195
|
// - analysis: --full-auto (read-only sandbox, no prompts) - safer for read operations
|
|
194
196
|
// - write/auto: --dangerously-bypass-approvals-and-sandbox (full access for modifications)
|
|
@@ -213,9 +215,8 @@ function buildCommand(params) {
|
|
|
213
215
|
else {
|
|
214
216
|
// Standard exec mode
|
|
215
217
|
args.push('exec');
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
}
|
|
218
|
+
// Note: -C is NOT used because spawn's cwd already sets the working directory
|
|
219
|
+
// Using both would cause path to be applied twice (e.g., codex-lens/codex-lens)
|
|
219
220
|
// Permission configuration based on mode:
|
|
220
221
|
// - analysis: --full-auto (read-only sandbox, no prompts) - safer for read operations
|
|
221
222
|
// - write/auto: --dangerously-bypass-approvals-and-sandbox (full access for modifications)
|
|
@@ -405,6 +406,60 @@ async function executeCliTool(params, onOutput) {
|
|
|
405
406
|
// Determine working directory early (needed for conversation lookup)
|
|
406
407
|
const workingDir = cd || process.cwd();
|
|
407
408
|
ensureHistoryDir(workingDir); // Ensure history directory exists
|
|
409
|
+
// NEW: Check if model is a custom LiteLLM endpoint ID
|
|
410
|
+
if (model && !['gemini', 'qwen', 'codex'].includes(tool)) {
|
|
411
|
+
const endpoint = findEndpointById(workingDir, model);
|
|
412
|
+
if (endpoint) {
|
|
413
|
+
// Route to LiteLLM executor
|
|
414
|
+
if (onOutput) {
|
|
415
|
+
onOutput({ type: 'stderr', data: `[Routing to LiteLLM endpoint: ${model}]\n` });
|
|
416
|
+
}
|
|
417
|
+
const result = await executeLiteLLMEndpoint({
|
|
418
|
+
prompt,
|
|
419
|
+
endpointId: model,
|
|
420
|
+
baseDir: workingDir,
|
|
421
|
+
cwd: cd,
|
|
422
|
+
includeDirs: includeDirs ? includeDirs.split(',').map(d => d.trim()) : undefined,
|
|
423
|
+
enableCache: true,
|
|
424
|
+
onOutput: onOutput || undefined,
|
|
425
|
+
});
|
|
426
|
+
// Convert LiteLLM result to ExecutionOutput format
|
|
427
|
+
const startTime = Date.now();
|
|
428
|
+
const endTime = Date.now();
|
|
429
|
+
const duration = endTime - startTime;
|
|
430
|
+
const execution = {
|
|
431
|
+
id: customId || `${Date.now()}-litellm`,
|
|
432
|
+
timestamp: new Date(startTime).toISOString(),
|
|
433
|
+
tool: 'litellm',
|
|
434
|
+
model: result.model,
|
|
435
|
+
mode,
|
|
436
|
+
prompt,
|
|
437
|
+
status: result.success ? 'success' : 'error',
|
|
438
|
+
exit_code: result.success ? 0 : 1,
|
|
439
|
+
duration_ms: duration,
|
|
440
|
+
output: {
|
|
441
|
+
stdout: result.output,
|
|
442
|
+
stderr: result.error || '',
|
|
443
|
+
truncated: false,
|
|
444
|
+
},
|
|
445
|
+
};
|
|
446
|
+
const conversation = convertToConversation(execution);
|
|
447
|
+
// Try to save to history
|
|
448
|
+
try {
|
|
449
|
+
saveConversation(workingDir, conversation);
|
|
450
|
+
}
|
|
451
|
+
catch (err) {
|
|
452
|
+
console.error('[CLI Executor] Failed to save LiteLLM history:', err.message);
|
|
453
|
+
}
|
|
454
|
+
return {
|
|
455
|
+
success: result.success,
|
|
456
|
+
execution,
|
|
457
|
+
conversation,
|
|
458
|
+
stdout: result.output,
|
|
459
|
+
stderr: result.error || '',
|
|
460
|
+
};
|
|
461
|
+
}
|
|
462
|
+
}
|
|
408
463
|
// Get SQLite store for native session lookup
|
|
409
464
|
const store = await getSqliteStore(workingDir);
|
|
410
465
|
// Determine conversation ID and load existing conversation
|
|
@@ -792,18 +847,23 @@ async function executeCliTool(params, onOutput) {
|
|
|
792
847
|
child.on('error', (error) => {
|
|
793
848
|
reject(new Error(`Failed to spawn ${tool}: ${error.message}`));
|
|
794
849
|
});
|
|
795
|
-
// Timeout handling
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
850
|
+
// Timeout handling (timeout=0 disables internal timeout, controlled by external caller)
|
|
851
|
+
let timeoutId = null;
|
|
852
|
+
if (timeout > 0) {
|
|
853
|
+
timeoutId = setTimeout(() => {
|
|
854
|
+
timedOut = true;
|
|
855
|
+
child.kill('SIGTERM');
|
|
856
|
+
setTimeout(() => {
|
|
857
|
+
if (!child.killed) {
|
|
858
|
+
child.kill('SIGKILL');
|
|
859
|
+
}
|
|
860
|
+
}, 5000);
|
|
861
|
+
}, timeout);
|
|
862
|
+
}
|
|
805
863
|
child.on('close', () => {
|
|
806
|
-
|
|
864
|
+
if (timeoutId) {
|
|
865
|
+
clearTimeout(timeoutId);
|
|
866
|
+
}
|
|
807
867
|
});
|
|
808
868
|
});
|
|
809
869
|
}
|
|
@@ -847,8 +907,8 @@ Modes:
|
|
|
847
907
|
},
|
|
848
908
|
timeout: {
|
|
849
909
|
type: 'number',
|
|
850
|
-
description: 'Timeout in milliseconds (default:
|
|
851
|
-
default:
|
|
910
|
+
description: 'Timeout in milliseconds (default: 0 = disabled, controlled by external caller)',
|
|
911
|
+
default: 0
|
|
852
912
|
}
|
|
853
913
|
},
|
|
854
914
|
required: ['tool', 'prompt']
|