@jonnyhoo/ccs 1.1.1 → 1.1.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/.claude/skills/ccs-delegation/SKILL.md +7 -7
- package/.claude/skills/ccs-delegation/references/troubleshooting.md +20 -20
- package/config/base-codex.settings.json +3 -3
- package/dist/api/services/profile-writer.d.ts +1 -1
- package/dist/api/services/profile-writer.d.ts.map +1 -1
- package/dist/api/services/profile-writer.js +8 -9
- package/dist/api/services/profile-writer.js.map +1 -1
- package/dist/auth/profile-detector.d.ts +3 -1
- package/dist/auth/profile-detector.d.ts.map +1 -1
- package/dist/auth/profile-detector.js +16 -17
- package/dist/auth/profile-detector.js.map +1 -1
- package/dist/ccs.js +303 -44
- package/dist/ccs.js.map +1 -1
- package/dist/cliproxy/anthropic-to-openai-proxy.d.ts +15 -1
- package/dist/cliproxy/anthropic-to-openai-proxy.d.ts.map +1 -1
- package/dist/cliproxy/anthropic-to-openai-proxy.js +1100 -296
- package/dist/cliproxy/anthropic-to-openai-proxy.js.map +1 -1
- package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -1
- package/dist/cliproxy/cliproxy-executor.js +58 -44
- package/dist/cliproxy/cliproxy-executor.js.map +1 -1
- package/dist/cliproxy/config-generator.d.ts.map +1 -1
- package/dist/cliproxy/config-generator.js +16 -2
- package/dist/cliproxy/config-generator.js.map +1 -1
- package/dist/cliproxy/model-catalog.d.ts.map +1 -1
- package/dist/cliproxy/model-catalog.js +12 -1
- package/dist/cliproxy/model-catalog.js.map +1 -1
- package/dist/cliproxy/services/variant-settings.d.ts.map +1 -1
- package/dist/cliproxy/services/variant-settings.js +0 -5
- package/dist/cliproxy/services/variant-settings.js.map +1 -1
- package/dist/cliproxy/tool-name-sanitizer.d.ts +17 -21
- package/dist/cliproxy/tool-name-sanitizer.d.ts.map +1 -1
- package/dist/cliproxy/tool-name-sanitizer.js +46 -33
- package/dist/cliproxy/tool-name-sanitizer.js.map +1 -1
- package/dist/cliproxy/tool-sanitization-proxy.d.ts.map +1 -1
- package/dist/cliproxy/tool-sanitization-proxy.js +18 -1
- package/dist/cliproxy/tool-sanitization-proxy.js.map +1 -1
- package/dist/commands/api-command.d.ts.map +1 -1
- package/dist/commands/api-command.js +21 -1
- package/dist/commands/api-command.js.map +1 -1
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +15 -107
- package/dist/commands/help-command.js.map +1 -1
- package/dist/commands/index.d.ts +0 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -3
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/install-command.d.ts.map +1 -1
- package/dist/commands/install-command.js +2 -9
- package/dist/commands/install-command.js.map +1 -1
- package/dist/commands/router.js +1 -1
- package/dist/commands/router.js.map +1 -1
- package/dist/config/unified-config-loader.d.ts +0 -32
- package/dist/config/unified-config-loader.d.ts.map +1 -1
- package/dist/config/unified-config-loader.js +6 -95
- package/dist/config/unified-config-loader.js.map +1 -1
- package/dist/config/unified-config-types.d.ts +3 -75
- package/dist/config/unified-config-types.d.ts.map +1 -1
- package/dist/config/unified-config-types.js +0 -20
- package/dist/config/unified-config-types.js.map +1 -1
- package/dist/delegation/background-monitor.d.ts +80 -0
- package/dist/delegation/background-monitor.d.ts.map +1 -0
- package/dist/delegation/background-monitor.js +295 -0
- package/dist/delegation/background-monitor.js.map +1 -0
- package/dist/delegation/delegation-handler.d.ts +2 -1
- package/dist/delegation/delegation-handler.d.ts.map +1 -1
- package/dist/delegation/delegation-handler.js +48 -30
- package/dist/delegation/delegation-handler.js.map +1 -1
- package/dist/delegation/executor/types.d.ts +2 -0
- package/dist/delegation/executor/types.d.ts.map +1 -1
- package/dist/delegation/headless-executor.d.ts +3 -0
- package/dist/delegation/headless-executor.d.ts.map +1 -1
- package/dist/delegation/headless-executor.js +162 -14
- package/dist/delegation/headless-executor.js.map +1 -1
- package/dist/hello.d.ts +7 -0
- package/dist/hello.d.ts.map +1 -0
- package/dist/hello.js +13 -0
- package/dist/hello.js.map +1 -0
- package/dist/management/checks/image-analysis-check.d.ts.map +1 -1
- package/dist/management/checks/image-analysis-check.js.map +1 -1
- package/dist/router/index.d.ts +3 -3
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +1 -1
- package/dist/router/index.js.map +1 -1
- package/dist/router/scenario-router.d.ts +2 -8
- package/dist/router/scenario-router.d.ts.map +1 -1
- package/dist/router/scenario-router.js +3 -22
- package/dist/router/scenario-router.js.map +1 -1
- package/dist/router/scenario-routing-proxy.d.ts.map +1 -1
- package/dist/router/scenario-routing-proxy.js +19 -4
- package/dist/router/scenario-routing-proxy.js.map +1 -1
- package/dist/router/settings-routing-executor.d.ts.map +1 -1
- package/dist/router/settings-routing-executor.js.map +1 -1
- package/dist/router/types.d.ts +1 -1
- package/dist/router/types.d.ts.map +1 -1
- package/dist/utils/shell-executor.d.ts.map +1 -1
- package/dist/utils/shell-executor.js +1 -6
- package/dist/utils/shell-executor.js.map +1 -1
- package/dist/web-server/health/index.d.ts +0 -1
- package/dist/web-server/health/index.d.ts.map +1 -1
- package/dist/web-server/health/index.js +1 -4
- package/dist/web-server/health/index.js.map +1 -1
- package/dist/web-server/health-service.d.ts.map +1 -1
- package/dist/web-server/health-service.js +0 -4
- package/dist/web-server/health-service.js.map +1 -1
- package/dist/web-server/routes/index.d.ts.map +1 -1
- package/dist/web-server/routes/index.js +0 -3
- package/dist/web-server/routes/index.js.map +1 -1
- package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
- package/dist/web-server/routes/settings-routes.js +0 -4
- package/dist/web-server/routes/settings-routes.js.map +1 -1
- package/package.json +1 -1
- package/scripts/background-redis-bridge.js +320 -0
- package/scripts/monitor-task.js +313 -0
- package/dist/commands/cliproxy-command.d.ts +0 -21
- package/dist/commands/cliproxy-command.d.ts.map +0 -1
- package/dist/commands/cliproxy-command.js +0 -1099
- package/dist/commands/cliproxy-command.js.map +0 -1
- package/dist/commands/cliproxy-sync-handler.d.ts +0 -19
- package/dist/commands/cliproxy-sync-handler.d.ts.map +0 -1
- package/dist/commands/cliproxy-sync-handler.js +0 -99
- package/dist/commands/cliproxy-sync-handler.js.map +0 -1
- package/dist/utils/websearch/gemini-cli.d.ts +0 -36
- package/dist/utils/websearch/gemini-cli.d.ts.map +0 -1
- package/dist/utils/websearch/gemini-cli.js +0 -132
- package/dist/utils/websearch/gemini-cli.js.map +0 -1
- package/dist/utils/websearch/grok-cli.d.ts +0 -26
- package/dist/utils/websearch/grok-cli.d.ts.map +0 -1
- package/dist/utils/websearch/grok-cli.js +0 -81
- package/dist/utils/websearch/grok-cli.js.map +0 -1
- package/dist/utils/websearch/hook-config.d.ts +0 -27
- package/dist/utils/websearch/hook-config.d.ts.map +0 -1
- package/dist/utils/websearch/hook-config.js +0 -280
- package/dist/utils/websearch/hook-config.js.map +0 -1
- package/dist/utils/websearch/hook-env.d.ts +0 -16
- package/dist/utils/websearch/hook-env.d.ts.map +0 -1
- package/dist/utils/websearch/hook-env.js +0 -62
- package/dist/utils/websearch/hook-env.js.map +0 -1
- package/dist/utils/websearch/hook-installer.d.ts +0 -30
- package/dist/utils/websearch/hook-installer.d.ts.map +0 -1
- package/dist/utils/websearch/hook-installer.js +0 -148
- package/dist/utils/websearch/hook-installer.js.map +0 -1
- package/dist/utils/websearch/hook-utils.d.ts +0 -18
- package/dist/utils/websearch/hook-utils.d.ts.map +0 -1
- package/dist/utils/websearch/hook-utils.js +0 -59
- package/dist/utils/websearch/hook-utils.js.map +0 -1
- package/dist/utils/websearch/index.d.ts +0 -17
- package/dist/utils/websearch/index.d.ts.map +0 -1
- package/dist/utils/websearch/index.js +0 -51
- package/dist/utils/websearch/index.js.map +0 -1
- package/dist/utils/websearch/opencode-cli.d.ts +0 -26
- package/dist/utils/websearch/opencode-cli.d.ts.map +0 -1
- package/dist/utils/websearch/opencode-cli.js +0 -81
- package/dist/utils/websearch/opencode-cli.js.map +0 -1
- package/dist/utils/websearch/profile-hook-injector.d.ts +0 -20
- package/dist/utils/websearch/profile-hook-injector.d.ts.map +0 -1
- package/dist/utils/websearch/profile-hook-injector.js +0 -250
- package/dist/utils/websearch/profile-hook-injector.js.map +0 -1
- package/dist/utils/websearch/status.d.ts +0 -36
- package/dist/utils/websearch/status.d.ts.map +0 -1
- package/dist/utils/websearch/status.js +0 -192
- package/dist/utils/websearch/status.js.map +0 -1
- package/dist/utils/websearch/types.d.ts +0 -85
- package/dist/utils/websearch/types.d.ts.map +0 -1
- package/dist/utils/websearch/types.js +0 -10
- package/dist/utils/websearch/types.js.map +0 -1
- package/dist/utils/websearch-manager.d.ts +0 -31
- package/dist/utils/websearch-manager.d.ts.map +0 -1
- package/dist/utils/websearch-manager.js +0 -72
- package/dist/utils/websearch-manager.js.map +0 -1
- package/dist/web-server/health/websearch-checks.d.ts +0 -11
- package/dist/web-server/health/websearch-checks.d.ts.map +0 -1
- package/dist/web-server/health/websearch-checks.js +0 -53
- package/dist/web-server/health/websearch-checks.js.map +0 -1
- package/dist/web-server/routes/websearch-routes.d.ts +0 -6
- package/dist/web-server/routes/websearch-routes.d.ts.map +0 -1
- package/dist/web-server/routes/websearch-routes.js +0 -130
- package/dist/web-server/routes/websearch-routes.js.map +0 -1
- package/lib/hooks/block-websearch.cjs +0 -75
- package/lib/hooks/websearch-transformer.cjs +0 -632
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* WebSearch Status and Readiness
|
|
4
|
-
*
|
|
5
|
-
* Provides status checking and display functions for WebSearch.
|
|
6
|
-
*
|
|
7
|
-
* @module utils/websearch/status
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.displayWebSearchStatus = exports.getWebSearchReadiness = exports.getCliInstallHints = exports.hasAnyWebSearchCli = exports.getWebSearchCliProviders = void 0;
|
|
11
|
-
const ui_1 = require("../ui");
|
|
12
|
-
const unified_config_loader_1 = require("../../config/unified-config-loader");
|
|
13
|
-
const gemini_cli_1 = require("./gemini-cli");
|
|
14
|
-
const grok_cli_1 = require("./grok-cli");
|
|
15
|
-
const opencode_cli_1 = require("./opencode-cli");
|
|
16
|
-
/**
|
|
17
|
-
* Get all WebSearch CLI providers with their status
|
|
18
|
-
*/
|
|
19
|
-
function getWebSearchCliProviders() {
|
|
20
|
-
const geminiStatus = (0, gemini_cli_1.getGeminiCliStatus)();
|
|
21
|
-
const grokStatus = (0, grok_cli_1.getGrokCliStatus)();
|
|
22
|
-
const opencodeStatus = (0, opencode_cli_1.getOpenCodeCliStatus)();
|
|
23
|
-
return [
|
|
24
|
-
{
|
|
25
|
-
id: 'gemini',
|
|
26
|
-
name: 'Gemini CLI',
|
|
27
|
-
command: 'gemini',
|
|
28
|
-
installed: geminiStatus.installed,
|
|
29
|
-
version: geminiStatus.version ?? null,
|
|
30
|
-
installCommand: 'npm install -g @google/gemini-cli',
|
|
31
|
-
docsUrl: 'https://github.com/google-gemini/gemini-cli',
|
|
32
|
-
requiresApiKey: false,
|
|
33
|
-
description: 'Google Gemini with web search (FREE tier: 1000 req/day)',
|
|
34
|
-
freeTier: true,
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
id: 'opencode',
|
|
38
|
-
name: 'OpenCode',
|
|
39
|
-
command: 'opencode',
|
|
40
|
-
installed: opencodeStatus.installed,
|
|
41
|
-
version: opencodeStatus.version ?? null,
|
|
42
|
-
installCommand: 'curl -fsSL https://opencode.ai/install | bash',
|
|
43
|
-
docsUrl: 'https://github.com/sst/opencode',
|
|
44
|
-
requiresApiKey: false,
|
|
45
|
-
description: 'OpenCode with built-in web search (FREE via Zen)',
|
|
46
|
-
freeTier: true,
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
id: 'grok',
|
|
50
|
-
name: 'Grok CLI',
|
|
51
|
-
command: 'grok',
|
|
52
|
-
installed: grokStatus.installed,
|
|
53
|
-
version: grokStatus.version ?? null,
|
|
54
|
-
installCommand: 'npm install -g @vibe-kit/grok-cli',
|
|
55
|
-
docsUrl: 'https://github.com/superagent-ai/grok-cli',
|
|
56
|
-
requiresApiKey: true,
|
|
57
|
-
apiKeyEnvVar: 'GROK_API_KEY',
|
|
58
|
-
description: 'xAI Grok CLI with AI coding agent capabilities',
|
|
59
|
-
freeTier: false,
|
|
60
|
-
},
|
|
61
|
-
];
|
|
62
|
-
}
|
|
63
|
-
exports.getWebSearchCliProviders = getWebSearchCliProviders;
|
|
64
|
-
/**
|
|
65
|
-
* Check if any WebSearch CLI is available
|
|
66
|
-
*/
|
|
67
|
-
function hasAnyWebSearchCli() {
|
|
68
|
-
return (0, gemini_cli_1.hasGeminiCli)() || (0, grok_cli_1.hasGrokCli)() || (0, opencode_cli_1.hasOpenCodeCli)();
|
|
69
|
-
}
|
|
70
|
-
exports.hasAnyWebSearchCli = hasAnyWebSearchCli;
|
|
71
|
-
/**
|
|
72
|
-
* Get install hints for CLI-only users when no WebSearch CLI is installed
|
|
73
|
-
* Returns raw message strings (without indicator prefix) for display
|
|
74
|
-
*/
|
|
75
|
-
function getCliInstallHints() {
|
|
76
|
-
if (hasAnyWebSearchCli()) {
|
|
77
|
-
return [];
|
|
78
|
-
}
|
|
79
|
-
return [
|
|
80
|
-
'WebSearch: No CLI tools installed',
|
|
81
|
-
' Gemini CLI (FREE): npm i -g @google/gemini-cli',
|
|
82
|
-
' OpenCode (FREE): curl -fsSL https://opencode.ai/install | bash',
|
|
83
|
-
' Grok CLI (paid): npm i -g @vibe-kit/grok-cli',
|
|
84
|
-
];
|
|
85
|
-
}
|
|
86
|
-
exports.getCliInstallHints = getCliInstallHints;
|
|
87
|
-
/**
|
|
88
|
-
* Get WebSearch readiness status for display
|
|
89
|
-
*
|
|
90
|
-
* Called on third-party profile startup to inform user.
|
|
91
|
-
* Checks both installation AND authentication status for Gemini CLI.
|
|
92
|
-
*/
|
|
93
|
-
function getWebSearchReadiness() {
|
|
94
|
-
const wsConfig = (0, unified_config_loader_1.getWebSearchConfig)();
|
|
95
|
-
// Check if WebSearch is disabled entirely
|
|
96
|
-
if (!wsConfig.enabled) {
|
|
97
|
-
return {
|
|
98
|
-
readiness: 'unavailable',
|
|
99
|
-
geminiCli: false,
|
|
100
|
-
geminiAuthenticated: false,
|
|
101
|
-
grokCli: false,
|
|
102
|
-
opencodeCli: false,
|
|
103
|
-
message: 'Disabled in config',
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
// Check all CLIs
|
|
107
|
-
const geminiInstalled = (0, gemini_cli_1.hasGeminiCli)();
|
|
108
|
-
const geminiAuthed = geminiInstalled && (0, gemini_cli_1.isGeminiAuthenticated)();
|
|
109
|
-
const grokInstalled = (0, grok_cli_1.hasGrokCli)();
|
|
110
|
-
const opencodeInstalled = (0, opencode_cli_1.hasOpenCodeCli)();
|
|
111
|
-
// Build message based on installed + authenticated CLIs
|
|
112
|
-
const readyClis = [];
|
|
113
|
-
const needsAuthClis = [];
|
|
114
|
-
// Gemini requires auth check
|
|
115
|
-
if (geminiInstalled) {
|
|
116
|
-
if (geminiAuthed) {
|
|
117
|
-
readyClis.push('Gemini');
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
needsAuthClis.push('Gemini');
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
// Other CLIs don't require auth check (for now)
|
|
124
|
-
if (grokInstalled)
|
|
125
|
-
readyClis.push('Grok');
|
|
126
|
-
if (opencodeInstalled)
|
|
127
|
-
readyClis.push('OpenCode');
|
|
128
|
-
// Determine overall status
|
|
129
|
-
if (readyClis.length > 0) {
|
|
130
|
-
return {
|
|
131
|
-
readiness: 'ready',
|
|
132
|
-
geminiCli: geminiInstalled,
|
|
133
|
-
geminiAuthenticated: geminiAuthed,
|
|
134
|
-
grokCli: grokInstalled,
|
|
135
|
-
opencodeCli: opencodeInstalled,
|
|
136
|
-
message: `Ready (${readyClis.join(' + ')})`,
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
if (needsAuthClis.length > 0) {
|
|
140
|
-
return {
|
|
141
|
-
readiness: 'needs_auth',
|
|
142
|
-
geminiCli: geminiInstalled,
|
|
143
|
-
geminiAuthenticated: false,
|
|
144
|
-
grokCli: grokInstalled,
|
|
145
|
-
opencodeCli: opencodeInstalled,
|
|
146
|
-
message: `Gemini: run 'gemini' to login`,
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
return {
|
|
150
|
-
readiness: 'unavailable',
|
|
151
|
-
geminiCli: false,
|
|
152
|
-
geminiAuthenticated: false,
|
|
153
|
-
grokCli: false,
|
|
154
|
-
opencodeCli: false,
|
|
155
|
-
message: 'Install: npm i -g @google/gemini-cli',
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
exports.getWebSearchReadiness = getWebSearchReadiness;
|
|
159
|
-
/**
|
|
160
|
-
* Display WebSearch status (single line, equilibrium UX)
|
|
161
|
-
*
|
|
162
|
-
* Only call for third-party profiles.
|
|
163
|
-
* Shows detailed install hints when no CLI is installed.
|
|
164
|
-
*/
|
|
165
|
-
function displayWebSearchStatus() {
|
|
166
|
-
const status = getWebSearchReadiness();
|
|
167
|
-
switch (status.readiness) {
|
|
168
|
-
case 'ready':
|
|
169
|
-
console.error((0, ui_1.ok)(`WebSearch: ${status.message}`));
|
|
170
|
-
break;
|
|
171
|
-
case 'needs_auth':
|
|
172
|
-
console.error((0, ui_1.warn)(`WebSearch: ${status.message}`));
|
|
173
|
-
break;
|
|
174
|
-
case 'unavailable':
|
|
175
|
-
console.error((0, ui_1.fail)(`WebSearch: ${status.message}`));
|
|
176
|
-
const hints = getCliInstallHints();
|
|
177
|
-
if (hints.length > 0) {
|
|
178
|
-
// First line gets [i] prefix, rest are continuation (indented, no prefix)
|
|
179
|
-
for (let i = 0; i < hints.length; i++) {
|
|
180
|
-
if (i === 0) {
|
|
181
|
-
console.error((0, ui_1.info)(hints[i]));
|
|
182
|
-
}
|
|
183
|
-
else {
|
|
184
|
-
console.error(hints[i]);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
break;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
exports.displayWebSearchStatus = displayWebSearchStatus;
|
|
192
|
-
//# sourceMappingURL=status.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/utils/websearch/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WebSearch Type Definitions
|
|
3
|
-
*
|
|
4
|
-
* Contains all type definitions for WebSearch CLI providers and status.
|
|
5
|
-
*
|
|
6
|
-
* @module utils/websearch/types
|
|
7
|
-
*/
|
|
8
|
-
import type { ComponentStatus } from '../../types/utils';
|
|
9
|
-
/**
|
|
10
|
-
* Gemini CLI installation status
|
|
11
|
-
* @deprecated Use ComponentStatus directly
|
|
12
|
-
*/
|
|
13
|
-
export type GeminiCliStatus = ComponentStatus;
|
|
14
|
-
/**
|
|
15
|
-
* Grok CLI installation status
|
|
16
|
-
* @deprecated Use ComponentStatus directly
|
|
17
|
-
*/
|
|
18
|
-
export type GrokCliStatus = ComponentStatus;
|
|
19
|
-
/**
|
|
20
|
-
* OpenCode CLI installation status
|
|
21
|
-
* @deprecated Use ComponentStatus directly
|
|
22
|
-
*/
|
|
23
|
-
export type OpenCodeCliStatus = ComponentStatus;
|
|
24
|
-
/**
|
|
25
|
-
* WebSearch availability status for third-party profiles
|
|
26
|
-
*/
|
|
27
|
-
export type WebSearchReadiness = 'ready' | 'needs_auth' | 'unavailable';
|
|
28
|
-
/**
|
|
29
|
-
* WebSearch status for display
|
|
30
|
-
*/
|
|
31
|
-
export interface WebSearchStatus {
|
|
32
|
-
readiness: WebSearchReadiness;
|
|
33
|
-
geminiCli: boolean;
|
|
34
|
-
geminiAuthenticated: boolean;
|
|
35
|
-
grokCli: boolean;
|
|
36
|
-
opencodeCli: boolean;
|
|
37
|
-
message: string;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* WebSearch CLI provider information for health checks and UI
|
|
41
|
-
*/
|
|
42
|
-
export interface WebSearchCliInfo {
|
|
43
|
-
/** Provider ID */
|
|
44
|
-
id: 'gemini' | 'grok' | 'opencode';
|
|
45
|
-
/** Display name */
|
|
46
|
-
name: string;
|
|
47
|
-
/** CLI command name */
|
|
48
|
-
command: string;
|
|
49
|
-
/** Whether CLI is installed */
|
|
50
|
-
installed: boolean;
|
|
51
|
-
/** CLI version if installed */
|
|
52
|
-
version: string | null;
|
|
53
|
-
/** Install command */
|
|
54
|
-
installCommand: string;
|
|
55
|
-
/** Docs URL */
|
|
56
|
-
docsUrl: string;
|
|
57
|
-
/** Whether this provider requires an API key */
|
|
58
|
-
requiresApiKey: boolean;
|
|
59
|
-
/** API key environment variable name */
|
|
60
|
-
apiKeyEnvVar?: string;
|
|
61
|
-
/** Brief description */
|
|
62
|
-
description: string;
|
|
63
|
-
/** Free tier available? */
|
|
64
|
-
freeTier: boolean;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* WebSearch provider configuration from config.yaml
|
|
68
|
-
*/
|
|
69
|
-
export interface WebSearchProviderConfig {
|
|
70
|
-
enabled?: boolean;
|
|
71
|
-
model?: string;
|
|
72
|
-
timeout?: number;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* WebSearch configuration from config.yaml
|
|
76
|
-
*/
|
|
77
|
-
export interface WebSearchConfig {
|
|
78
|
-
enabled: boolean;
|
|
79
|
-
providers?: {
|
|
80
|
-
gemini?: WebSearchProviderConfig;
|
|
81
|
-
opencode?: WebSearchProviderConfig;
|
|
82
|
-
grok?: WebSearchProviderConfig;
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,eAAe,CAAC;AAE5C;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB;IAClB,EAAE,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACnC,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,cAAc,EAAE,OAAO,CAAC;IACxB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,uBAAuB,CAAC;QACjC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;QACnC,IAAI,CAAC,EAAE,uBAAuB,CAAC;KAChC,CAAC;CACH"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* WebSearch Type Definitions
|
|
4
|
-
*
|
|
5
|
-
* Contains all type definitions for WebSearch CLI providers and status.
|
|
6
|
-
*
|
|
7
|
-
* @module utils/websearch/types
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/websearch/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WebSearch Manager - Manages WebSearch hook for CCS
|
|
3
|
-
*
|
|
4
|
-
* WebSearch is a server-side tool executed by Anthropic's API.
|
|
5
|
-
* Third-party providers (gemini, agy, codex, qwen) don't have access.
|
|
6
|
-
* This manager installs a hook that uses CLI tools (Gemini CLI) as fallback.
|
|
7
|
-
*
|
|
8
|
-
* Simplified Architecture:
|
|
9
|
-
* - No MCP complexity
|
|
10
|
-
* - Uses CLI tools (currently Gemini CLI)
|
|
11
|
-
* - Easy to extend for future CLI tools (opencode, etc.)
|
|
12
|
-
*
|
|
13
|
-
* @module utils/websearch-manager
|
|
14
|
-
*/
|
|
15
|
-
export type { GeminiCliStatus, GrokCliStatus, OpenCodeCliStatus, WebSearchReadiness, WebSearchStatus, WebSearchCliInfo, } from './websearch/types';
|
|
16
|
-
export { getGeminiCliStatus, hasGeminiCli, isGeminiAuthenticated, clearGeminiCliCache, } from './websearch/gemini-cli';
|
|
17
|
-
export { getGrokCliStatus, hasGrokCli, clearGrokCliCache } from './websearch/grok-cli';
|
|
18
|
-
export { getOpenCodeCliStatus, hasOpenCodeCli, clearOpenCodeCliCache, } from './websearch/opencode-cli';
|
|
19
|
-
export { getHookPath, hasWebSearchHook, getWebSearchHookConfig, installWebSearchHook, uninstallWebSearchHook, } from './websearch/hook-installer';
|
|
20
|
-
export { getWebSearchHookEnv } from './websearch/hook-env';
|
|
21
|
-
export { getWebSearchCliProviders, hasAnyWebSearchCli, getCliInstallHints, getWebSearchReadiness, displayWebSearchStatus, } from './websearch/status';
|
|
22
|
-
export { ensureProfileHooks, removeMigrationMarker } from './websearch/profile-hook-injector';
|
|
23
|
-
/**
|
|
24
|
-
* Clear all CLI caches
|
|
25
|
-
*/
|
|
26
|
-
export declare function clearAllCliCaches(): void;
|
|
27
|
-
/**
|
|
28
|
-
* @deprecated Use installWebSearchHook instead - MCP is no longer used
|
|
29
|
-
*/
|
|
30
|
-
export declare function ensureMcpWebSearch(): boolean;
|
|
31
|
-
//# sourceMappingURL=websearch-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websearch-manager.d.ts","sourceRoot":"","sources":["../../src/utils/websearch-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,YAAY,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAK9F;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAIxC;AAID;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* WebSearch Manager - Manages WebSearch hook for CCS
|
|
4
|
-
*
|
|
5
|
-
* WebSearch is a server-side tool executed by Anthropic's API.
|
|
6
|
-
* Third-party providers (gemini, agy, codex, qwen) don't have access.
|
|
7
|
-
* This manager installs a hook that uses CLI tools (Gemini CLI) as fallback.
|
|
8
|
-
*
|
|
9
|
-
* Simplified Architecture:
|
|
10
|
-
* - No MCP complexity
|
|
11
|
-
* - Uses CLI tools (currently Gemini CLI)
|
|
12
|
-
* - Easy to extend for future CLI tools (opencode, etc.)
|
|
13
|
-
*
|
|
14
|
-
* @module utils/websearch-manager
|
|
15
|
-
*/
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.ensureMcpWebSearch = exports.clearAllCliCaches = exports.removeMigrationMarker = exports.ensureProfileHooks = exports.displayWebSearchStatus = exports.getWebSearchReadiness = exports.getCliInstallHints = exports.hasAnyWebSearchCli = exports.getWebSearchCliProviders = exports.getWebSearchHookEnv = exports.uninstallWebSearchHook = exports.installWebSearchHook = exports.getWebSearchHookConfig = exports.hasWebSearchHook = exports.getHookPath = exports.clearOpenCodeCliCache = exports.hasOpenCodeCli = exports.getOpenCodeCliStatus = exports.clearGrokCliCache = exports.hasGrokCli = exports.getGrokCliStatus = exports.clearGeminiCliCache = exports.isGeminiAuthenticated = exports.hasGeminiCli = exports.getGeminiCliStatus = void 0;
|
|
18
|
-
// Re-export CLI detection functions
|
|
19
|
-
var gemini_cli_1 = require("./websearch/gemini-cli");
|
|
20
|
-
Object.defineProperty(exports, "getGeminiCliStatus", { enumerable: true, get: function () { return gemini_cli_1.getGeminiCliStatus; } });
|
|
21
|
-
Object.defineProperty(exports, "hasGeminiCli", { enumerable: true, get: function () { return gemini_cli_1.hasGeminiCli; } });
|
|
22
|
-
Object.defineProperty(exports, "isGeminiAuthenticated", { enumerable: true, get: function () { return gemini_cli_1.isGeminiAuthenticated; } });
|
|
23
|
-
Object.defineProperty(exports, "clearGeminiCliCache", { enumerable: true, get: function () { return gemini_cli_1.clearGeminiCliCache; } });
|
|
24
|
-
var grok_cli_1 = require("./websearch/grok-cli");
|
|
25
|
-
Object.defineProperty(exports, "getGrokCliStatus", { enumerable: true, get: function () { return grok_cli_1.getGrokCliStatus; } });
|
|
26
|
-
Object.defineProperty(exports, "hasGrokCli", { enumerable: true, get: function () { return grok_cli_1.hasGrokCli; } });
|
|
27
|
-
Object.defineProperty(exports, "clearGrokCliCache", { enumerable: true, get: function () { return grok_cli_1.clearGrokCliCache; } });
|
|
28
|
-
var opencode_cli_1 = require("./websearch/opencode-cli");
|
|
29
|
-
Object.defineProperty(exports, "getOpenCodeCliStatus", { enumerable: true, get: function () { return opencode_cli_1.getOpenCodeCliStatus; } });
|
|
30
|
-
Object.defineProperty(exports, "hasOpenCodeCli", { enumerable: true, get: function () { return opencode_cli_1.hasOpenCodeCli; } });
|
|
31
|
-
Object.defineProperty(exports, "clearOpenCodeCliCache", { enumerable: true, get: function () { return opencode_cli_1.clearOpenCodeCliCache; } });
|
|
32
|
-
// Re-export hook management functions
|
|
33
|
-
var hook_installer_1 = require("./websearch/hook-installer");
|
|
34
|
-
Object.defineProperty(exports, "getHookPath", { enumerable: true, get: function () { return hook_installer_1.getHookPath; } });
|
|
35
|
-
Object.defineProperty(exports, "hasWebSearchHook", { enumerable: true, get: function () { return hook_installer_1.hasWebSearchHook; } });
|
|
36
|
-
Object.defineProperty(exports, "getWebSearchHookConfig", { enumerable: true, get: function () { return hook_installer_1.getWebSearchHookConfig; } });
|
|
37
|
-
Object.defineProperty(exports, "installWebSearchHook", { enumerable: true, get: function () { return hook_installer_1.installWebSearchHook; } });
|
|
38
|
-
Object.defineProperty(exports, "uninstallWebSearchHook", { enumerable: true, get: function () { return hook_installer_1.uninstallWebSearchHook; } });
|
|
39
|
-
// Re-export hook environment
|
|
40
|
-
var hook_env_1 = require("./websearch/hook-env");
|
|
41
|
-
Object.defineProperty(exports, "getWebSearchHookEnv", { enumerable: true, get: function () { return hook_env_1.getWebSearchHookEnv; } });
|
|
42
|
-
// Re-export status and readiness functions
|
|
43
|
-
var status_1 = require("./websearch/status");
|
|
44
|
-
Object.defineProperty(exports, "getWebSearchCliProviders", { enumerable: true, get: function () { return status_1.getWebSearchCliProviders; } });
|
|
45
|
-
Object.defineProperty(exports, "hasAnyWebSearchCli", { enumerable: true, get: function () { return status_1.hasAnyWebSearchCli; } });
|
|
46
|
-
Object.defineProperty(exports, "getCliInstallHints", { enumerable: true, get: function () { return status_1.getCliInstallHints; } });
|
|
47
|
-
Object.defineProperty(exports, "getWebSearchReadiness", { enumerable: true, get: function () { return status_1.getWebSearchReadiness; } });
|
|
48
|
-
Object.defineProperty(exports, "displayWebSearchStatus", { enumerable: true, get: function () { return status_1.displayWebSearchStatus; } });
|
|
49
|
-
// Re-export profile hook injection
|
|
50
|
-
var profile_hook_injector_1 = require("./websearch/profile-hook-injector");
|
|
51
|
-
Object.defineProperty(exports, "ensureProfileHooks", { enumerable: true, get: function () { return profile_hook_injector_1.ensureProfileHooks; } });
|
|
52
|
-
Object.defineProperty(exports, "removeMigrationMarker", { enumerable: true, get: function () { return profile_hook_injector_1.removeMigrationMarker; } });
|
|
53
|
-
// Import for local use
|
|
54
|
-
const websearch_1 = require("./websearch");
|
|
55
|
-
/**
|
|
56
|
-
* Clear all CLI caches
|
|
57
|
-
*/
|
|
58
|
-
function clearAllCliCaches() {
|
|
59
|
-
(0, websearch_1.clearGeminiCliCache)();
|
|
60
|
-
(0, websearch_1.clearGrokCliCache)();
|
|
61
|
-
(0, websearch_1.clearOpenCodeCliCache)();
|
|
62
|
-
}
|
|
63
|
-
exports.clearAllCliCaches = clearAllCliCaches;
|
|
64
|
-
// ========== Backward Compatibility Exports ==========
|
|
65
|
-
/**
|
|
66
|
-
* @deprecated Use installWebSearchHook instead - MCP is no longer used
|
|
67
|
-
*/
|
|
68
|
-
function ensureMcpWebSearch() {
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
exports.ensureMcpWebSearch = ensureMcpWebSearch;
|
|
72
|
-
//# sourceMappingURL=websearch-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websearch-manager.js","sourceRoot":"","sources":["../../src/utils/websearch-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAYH,oCAAoC;AACpC,qDAKgC;AAJ9B,gHAAA,kBAAkB,OAAA;AAClB,0GAAA,YAAY,OAAA;AACZ,mHAAA,qBAAqB,OAAA;AACrB,iHAAA,mBAAmB,OAAA;AAGrB,iDAAuF;AAA9E,4GAAA,gBAAgB,OAAA;AAAE,sGAAA,UAAU,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAExD,yDAIkC;AAHhC,oHAAA,oBAAoB,OAAA;AACpB,8GAAA,cAAc,OAAA;AACd,qHAAA,qBAAqB,OAAA;AAGvB,sCAAsC;AACtC,6DAMoC;AALlC,6GAAA,WAAW,OAAA;AACX,kHAAA,gBAAgB,OAAA;AAChB,wHAAA,sBAAsB,OAAA;AACtB,sHAAA,oBAAoB,OAAA;AACpB,wHAAA,sBAAsB,OAAA;AAGxB,6BAA6B;AAC7B,iDAA2D;AAAlD,+GAAA,mBAAmB,OAAA;AAE5B,2CAA2C;AAC3C,6CAM4B;AAL1B,kHAAA,wBAAwB,OAAA;AACxB,4GAAA,kBAAkB,OAAA;AAClB,4GAAA,kBAAkB,OAAA;AAClB,+GAAA,qBAAqB,OAAA;AACrB,gHAAA,sBAAsB,OAAA;AAGxB,mCAAmC;AACnC,2EAA8F;AAArF,2HAAA,kBAAkB,OAAA;AAAE,8HAAA,qBAAqB,OAAA;AAElD,uBAAuB;AACvB,2CAA4F;AAE5F;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,IAAA,+BAAmB,GAAE,CAAC;IACtB,IAAA,6BAAiB,GAAE,CAAC;IACpB,IAAA,iCAAqB,GAAE,CAAC;AAC1B,CAAC;AAJD,8CAIC;AAED,uDAAuD;AAEvD;;GAEG;AACH,SAAgB,kBAAkB;IAChC,OAAO,KAAK,CAAC;AACf,CAAC;AAFD,gDAEC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WebSearch CLI Health Checks
|
|
3
|
-
*
|
|
4
|
-
* Check WebSearch CLI providers (Gemini CLI, Grok CLI).
|
|
5
|
-
*/
|
|
6
|
-
import type { HealthCheck } from './types';
|
|
7
|
-
/**
|
|
8
|
-
* Check WebSearch CLI providers
|
|
9
|
-
*/
|
|
10
|
-
export declare function checkWebSearchClis(): HealthCheck[];
|
|
11
|
-
//# sourceMappingURL=websearch-checks.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websearch-checks.d.ts","sourceRoot":"","sources":["../../../src/web-server/health/websearch-checks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,WAAW,EAAE,CAwClD"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* WebSearch CLI Health Checks
|
|
4
|
-
*
|
|
5
|
-
* Check WebSearch CLI providers (Gemini CLI, Grok CLI).
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.checkWebSearchClis = void 0;
|
|
9
|
-
const websearch_manager_1 = require("../../utils/websearch-manager");
|
|
10
|
-
/**
|
|
11
|
-
* Check WebSearch CLI providers
|
|
12
|
-
*/
|
|
13
|
-
function checkWebSearchClis() {
|
|
14
|
-
const providers = (0, websearch_manager_1.getWebSearchCliProviders)();
|
|
15
|
-
const checks = [];
|
|
16
|
-
for (const provider of providers) {
|
|
17
|
-
if (provider.installed) {
|
|
18
|
-
const freeTag = provider.freeTier ? ' (FREE)' : '';
|
|
19
|
-
checks.push({
|
|
20
|
-
id: `websearch-${provider.id}`,
|
|
21
|
-
name: provider.name,
|
|
22
|
-
status: 'ok',
|
|
23
|
-
message: `v${provider.version || 'unknown'}${freeTag}`,
|
|
24
|
-
details: provider.description,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
const keyNote = provider.requiresApiKey ? ` (needs ${provider.apiKeyEnvVar})` : ' (FREE)';
|
|
29
|
-
checks.push({
|
|
30
|
-
id: `websearch-${provider.id}`,
|
|
31
|
-
name: provider.name,
|
|
32
|
-
status: 'info',
|
|
33
|
-
message: `Not installed${keyNote}`,
|
|
34
|
-
fix: provider.installCommand,
|
|
35
|
-
details: provider.description,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
// Add summary check if no providers installed
|
|
40
|
-
if (!(0, websearch_manager_1.hasAnyWebSearchCli)()) {
|
|
41
|
-
checks.push({
|
|
42
|
-
id: 'websearch-summary',
|
|
43
|
-
name: 'WebSearch Status',
|
|
44
|
-
status: 'warning',
|
|
45
|
-
message: 'No CLI tools installed',
|
|
46
|
-
fix: 'npm install -g @google/gemini-cli (FREE)',
|
|
47
|
-
details: 'Install a WebSearch CLI for real-time web access',
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
return checks;
|
|
51
|
-
}
|
|
52
|
-
exports.checkWebSearchClis = checkWebSearchClis;
|
|
53
|
-
//# sourceMappingURL=websearch-checks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websearch-checks.js","sourceRoot":"","sources":["../../../src/web-server/health/websearch-checks.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qEAA6F;AAG7F;;GAEG;AACH,SAAgB,kBAAkB;IAChC,MAAM,SAAS,GAAG,IAAA,4CAAwB,GAAE,CAAC;IAC7C,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,aAAa,QAAQ,CAAC,EAAE,EAAE;gBAC9B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI,QAAQ,CAAC,OAAO,IAAI,SAAS,GAAG,OAAO,EAAE;gBACtD,OAAO,EAAE,QAAQ,CAAC,WAAW;aAC9B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1F,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,aAAa,QAAQ,CAAC,EAAE,EAAE;gBAC9B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,gBAAgB,OAAO,EAAE;gBAClC,GAAG,EAAE,QAAQ,CAAC,cAAc;gBAC5B,OAAO,EAAE,QAAQ,CAAC,WAAW;aAC9B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,IAAI,CAAC,IAAA,sCAAkB,GAAE,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,mBAAmB;YACvB,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,wBAAwB;YACjC,GAAG,EAAE,0CAA0C;YAC/C,OAAO,EAAE,kDAAkD;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAxCD,gDAwCC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websearch-routes.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/websearch-routes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,QAAA,MAAM,MAAM,4CAAW,CAAC;AAwIxB,eAAe,MAAM,CAAC"}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* WebSearch Routes - WebSearch configuration and status
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const express_1 = require("express");
|
|
7
|
-
const unified_config_loader_1 = require("../../config/unified-config-loader");
|
|
8
|
-
const websearch_manager_1 = require("../../utils/websearch-manager");
|
|
9
|
-
const router = (0, express_1.Router)();
|
|
10
|
-
/**
|
|
11
|
-
* GET /api/websearch - Get WebSearch configuration
|
|
12
|
-
* Returns: WebSearchConfig with enabled, provider, fallback
|
|
13
|
-
*/
|
|
14
|
-
router.get('/', (_req, res) => {
|
|
15
|
-
try {
|
|
16
|
-
const config = (0, unified_config_loader_1.getWebSearchConfig)();
|
|
17
|
-
res.json(config);
|
|
18
|
-
}
|
|
19
|
-
catch (error) {
|
|
20
|
-
res.status(500).json({ error: error.message });
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
/**
|
|
24
|
-
* PUT /api/websearch - Update WebSearch configuration
|
|
25
|
-
* Body: WebSearchConfig fields (enabled, providers)
|
|
26
|
-
* Dashboard is the source of truth for provider selection.
|
|
27
|
-
*/
|
|
28
|
-
router.put('/', (req, res) => {
|
|
29
|
-
const { enabled, providers } = req.body;
|
|
30
|
-
// Validate enabled
|
|
31
|
-
if (enabled !== undefined && typeof enabled !== 'boolean') {
|
|
32
|
-
res.status(400).json({ error: 'Invalid value for enabled. Must be a boolean.' });
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
// Validate providers if specified
|
|
36
|
-
if (providers !== undefined && typeof providers !== 'object') {
|
|
37
|
-
res.status(400).json({ error: 'Invalid value for providers. Must be an object.' });
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
try {
|
|
41
|
-
// Load existing config and update websearch section
|
|
42
|
-
const existingConfig = (0, unified_config_loader_1.loadUnifiedConfig)();
|
|
43
|
-
if (!existingConfig) {
|
|
44
|
-
res.status(500).json({ error: 'Failed to load config' });
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
// Merge updates - supports Gemini CLI and Grok CLI
|
|
48
|
-
existingConfig.websearch = {
|
|
49
|
-
enabled: enabled ?? existingConfig.websearch?.enabled ?? true,
|
|
50
|
-
providers: providers
|
|
51
|
-
? {
|
|
52
|
-
gemini: {
|
|
53
|
-
enabled: providers.gemini?.enabled ??
|
|
54
|
-
existingConfig.websearch?.providers?.gemini?.enabled ??
|
|
55
|
-
true,
|
|
56
|
-
model: providers.gemini?.model ??
|
|
57
|
-
existingConfig.websearch?.providers?.gemini?.model ??
|
|
58
|
-
'gemini-2.5-flash',
|
|
59
|
-
timeout: providers.gemini?.timeout ??
|
|
60
|
-
existingConfig.websearch?.providers?.gemini?.timeout ??
|
|
61
|
-
55,
|
|
62
|
-
},
|
|
63
|
-
grok: {
|
|
64
|
-
enabled: providers.grok?.enabled ??
|
|
65
|
-
existingConfig.websearch?.providers?.grok?.enabled ??
|
|
66
|
-
false,
|
|
67
|
-
timeout: providers.grok?.timeout ?? existingConfig.websearch?.providers?.grok?.timeout ?? 55,
|
|
68
|
-
},
|
|
69
|
-
opencode: {
|
|
70
|
-
enabled: providers.opencode?.enabled ??
|
|
71
|
-
existingConfig.websearch?.providers?.opencode?.enabled ??
|
|
72
|
-
false,
|
|
73
|
-
model: providers.opencode?.model ??
|
|
74
|
-
existingConfig.websearch?.providers?.opencode?.model ??
|
|
75
|
-
'opencode/grok-code',
|
|
76
|
-
timeout: providers.opencode?.timeout ??
|
|
77
|
-
existingConfig.websearch?.providers?.opencode?.timeout ??
|
|
78
|
-
60,
|
|
79
|
-
},
|
|
80
|
-
}
|
|
81
|
-
: existingConfig.websearch?.providers,
|
|
82
|
-
};
|
|
83
|
-
(0, unified_config_loader_1.saveUnifiedConfig)(existingConfig);
|
|
84
|
-
res.json({
|
|
85
|
-
success: true,
|
|
86
|
-
websearch: existingConfig.websearch,
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
catch (error) {
|
|
90
|
-
res.status(500).json({ error: error.message });
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
/**
|
|
94
|
-
* GET /api/websearch/status - Get WebSearch status
|
|
95
|
-
* Returns: { geminiCli, grokCli, opencodeCli, readiness }
|
|
96
|
-
*/
|
|
97
|
-
router.get('/status', (_req, res) => {
|
|
98
|
-
try {
|
|
99
|
-
const geminiCli = (0, websearch_manager_1.getGeminiCliStatus)();
|
|
100
|
-
const grokCli = (0, websearch_manager_1.getGrokCliStatus)();
|
|
101
|
-
const opencodeCli = (0, websearch_manager_1.getOpenCodeCliStatus)();
|
|
102
|
-
const readiness = (0, websearch_manager_1.getWebSearchReadiness)();
|
|
103
|
-
res.json({
|
|
104
|
-
geminiCli: {
|
|
105
|
-
installed: geminiCli.installed,
|
|
106
|
-
path: geminiCli.path,
|
|
107
|
-
version: geminiCli.version,
|
|
108
|
-
},
|
|
109
|
-
grokCli: {
|
|
110
|
-
installed: grokCli.installed,
|
|
111
|
-
path: grokCli.path,
|
|
112
|
-
version: grokCli.version,
|
|
113
|
-
},
|
|
114
|
-
opencodeCli: {
|
|
115
|
-
installed: opencodeCli.installed,
|
|
116
|
-
path: opencodeCli.path,
|
|
117
|
-
version: opencodeCli.version,
|
|
118
|
-
},
|
|
119
|
-
readiness: {
|
|
120
|
-
status: readiness.readiness,
|
|
121
|
-
message: readiness.message,
|
|
122
|
-
},
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
catch (error) {
|
|
126
|
-
res.status(500).json({ error: error.message });
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
exports.default = router;
|
|
130
|
-
//# sourceMappingURL=websearch-routes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websearch-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/websearch-routes.ts"],"names":[],"mappings":"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"}
|