@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.
Files changed (179) hide show
  1. package/.claude/skills/ccs-delegation/SKILL.md +7 -7
  2. package/.claude/skills/ccs-delegation/references/troubleshooting.md +20 -20
  3. package/config/base-codex.settings.json +3 -3
  4. package/dist/api/services/profile-writer.d.ts +1 -1
  5. package/dist/api/services/profile-writer.d.ts.map +1 -1
  6. package/dist/api/services/profile-writer.js +8 -9
  7. package/dist/api/services/profile-writer.js.map +1 -1
  8. package/dist/auth/profile-detector.d.ts +3 -1
  9. package/dist/auth/profile-detector.d.ts.map +1 -1
  10. package/dist/auth/profile-detector.js +16 -17
  11. package/dist/auth/profile-detector.js.map +1 -1
  12. package/dist/ccs.js +303 -44
  13. package/dist/ccs.js.map +1 -1
  14. package/dist/cliproxy/anthropic-to-openai-proxy.d.ts +15 -1
  15. package/dist/cliproxy/anthropic-to-openai-proxy.d.ts.map +1 -1
  16. package/dist/cliproxy/anthropic-to-openai-proxy.js +1100 -296
  17. package/dist/cliproxy/anthropic-to-openai-proxy.js.map +1 -1
  18. package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -1
  19. package/dist/cliproxy/cliproxy-executor.js +58 -44
  20. package/dist/cliproxy/cliproxy-executor.js.map +1 -1
  21. package/dist/cliproxy/config-generator.d.ts.map +1 -1
  22. package/dist/cliproxy/config-generator.js +16 -2
  23. package/dist/cliproxy/config-generator.js.map +1 -1
  24. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  25. package/dist/cliproxy/model-catalog.js +12 -1
  26. package/dist/cliproxy/model-catalog.js.map +1 -1
  27. package/dist/cliproxy/services/variant-settings.d.ts.map +1 -1
  28. package/dist/cliproxy/services/variant-settings.js +0 -5
  29. package/dist/cliproxy/services/variant-settings.js.map +1 -1
  30. package/dist/cliproxy/tool-name-sanitizer.d.ts +17 -21
  31. package/dist/cliproxy/tool-name-sanitizer.d.ts.map +1 -1
  32. package/dist/cliproxy/tool-name-sanitizer.js +46 -33
  33. package/dist/cliproxy/tool-name-sanitizer.js.map +1 -1
  34. package/dist/cliproxy/tool-sanitization-proxy.d.ts.map +1 -1
  35. package/dist/cliproxy/tool-sanitization-proxy.js +18 -1
  36. package/dist/cliproxy/tool-sanitization-proxy.js.map +1 -1
  37. package/dist/commands/api-command.d.ts.map +1 -1
  38. package/dist/commands/api-command.js +21 -1
  39. package/dist/commands/api-command.js.map +1 -1
  40. package/dist/commands/help-command.d.ts.map +1 -1
  41. package/dist/commands/help-command.js +15 -107
  42. package/dist/commands/help-command.js.map +1 -1
  43. package/dist/commands/index.d.ts +0 -1
  44. package/dist/commands/index.d.ts.map +1 -1
  45. package/dist/commands/index.js +1 -3
  46. package/dist/commands/index.js.map +1 -1
  47. package/dist/commands/install-command.d.ts.map +1 -1
  48. package/dist/commands/install-command.js +2 -9
  49. package/dist/commands/install-command.js.map +1 -1
  50. package/dist/commands/router.js +1 -1
  51. package/dist/commands/router.js.map +1 -1
  52. package/dist/config/unified-config-loader.d.ts +0 -32
  53. package/dist/config/unified-config-loader.d.ts.map +1 -1
  54. package/dist/config/unified-config-loader.js +6 -95
  55. package/dist/config/unified-config-loader.js.map +1 -1
  56. package/dist/config/unified-config-types.d.ts +3 -75
  57. package/dist/config/unified-config-types.d.ts.map +1 -1
  58. package/dist/config/unified-config-types.js +0 -20
  59. package/dist/config/unified-config-types.js.map +1 -1
  60. package/dist/delegation/background-monitor.d.ts +80 -0
  61. package/dist/delegation/background-monitor.d.ts.map +1 -0
  62. package/dist/delegation/background-monitor.js +295 -0
  63. package/dist/delegation/background-monitor.js.map +1 -0
  64. package/dist/delegation/delegation-handler.d.ts +2 -1
  65. package/dist/delegation/delegation-handler.d.ts.map +1 -1
  66. package/dist/delegation/delegation-handler.js +48 -30
  67. package/dist/delegation/delegation-handler.js.map +1 -1
  68. package/dist/delegation/executor/types.d.ts +2 -0
  69. package/dist/delegation/executor/types.d.ts.map +1 -1
  70. package/dist/delegation/headless-executor.d.ts +3 -0
  71. package/dist/delegation/headless-executor.d.ts.map +1 -1
  72. package/dist/delegation/headless-executor.js +162 -14
  73. package/dist/delegation/headless-executor.js.map +1 -1
  74. package/dist/hello.d.ts +7 -0
  75. package/dist/hello.d.ts.map +1 -0
  76. package/dist/hello.js +13 -0
  77. package/dist/hello.js.map +1 -0
  78. package/dist/management/checks/image-analysis-check.d.ts.map +1 -1
  79. package/dist/management/checks/image-analysis-check.js.map +1 -1
  80. package/dist/router/index.d.ts +3 -3
  81. package/dist/router/index.d.ts.map +1 -1
  82. package/dist/router/index.js +1 -1
  83. package/dist/router/index.js.map +1 -1
  84. package/dist/router/scenario-router.d.ts +2 -8
  85. package/dist/router/scenario-router.d.ts.map +1 -1
  86. package/dist/router/scenario-router.js +3 -22
  87. package/dist/router/scenario-router.js.map +1 -1
  88. package/dist/router/scenario-routing-proxy.d.ts.map +1 -1
  89. package/dist/router/scenario-routing-proxy.js +19 -4
  90. package/dist/router/scenario-routing-proxy.js.map +1 -1
  91. package/dist/router/settings-routing-executor.d.ts.map +1 -1
  92. package/dist/router/settings-routing-executor.js.map +1 -1
  93. package/dist/router/types.d.ts +1 -1
  94. package/dist/router/types.d.ts.map +1 -1
  95. package/dist/utils/shell-executor.d.ts.map +1 -1
  96. package/dist/utils/shell-executor.js +1 -6
  97. package/dist/utils/shell-executor.js.map +1 -1
  98. package/dist/web-server/health/index.d.ts +0 -1
  99. package/dist/web-server/health/index.d.ts.map +1 -1
  100. package/dist/web-server/health/index.js +1 -4
  101. package/dist/web-server/health/index.js.map +1 -1
  102. package/dist/web-server/health-service.d.ts.map +1 -1
  103. package/dist/web-server/health-service.js +0 -4
  104. package/dist/web-server/health-service.js.map +1 -1
  105. package/dist/web-server/routes/index.d.ts.map +1 -1
  106. package/dist/web-server/routes/index.js +0 -3
  107. package/dist/web-server/routes/index.js.map +1 -1
  108. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  109. package/dist/web-server/routes/settings-routes.js +0 -4
  110. package/dist/web-server/routes/settings-routes.js.map +1 -1
  111. package/package.json +1 -1
  112. package/scripts/background-redis-bridge.js +320 -0
  113. package/scripts/monitor-task.js +313 -0
  114. package/dist/commands/cliproxy-command.d.ts +0 -21
  115. package/dist/commands/cliproxy-command.d.ts.map +0 -1
  116. package/dist/commands/cliproxy-command.js +0 -1099
  117. package/dist/commands/cliproxy-command.js.map +0 -1
  118. package/dist/commands/cliproxy-sync-handler.d.ts +0 -19
  119. package/dist/commands/cliproxy-sync-handler.d.ts.map +0 -1
  120. package/dist/commands/cliproxy-sync-handler.js +0 -99
  121. package/dist/commands/cliproxy-sync-handler.js.map +0 -1
  122. package/dist/utils/websearch/gemini-cli.d.ts +0 -36
  123. package/dist/utils/websearch/gemini-cli.d.ts.map +0 -1
  124. package/dist/utils/websearch/gemini-cli.js +0 -132
  125. package/dist/utils/websearch/gemini-cli.js.map +0 -1
  126. package/dist/utils/websearch/grok-cli.d.ts +0 -26
  127. package/dist/utils/websearch/grok-cli.d.ts.map +0 -1
  128. package/dist/utils/websearch/grok-cli.js +0 -81
  129. package/dist/utils/websearch/grok-cli.js.map +0 -1
  130. package/dist/utils/websearch/hook-config.d.ts +0 -27
  131. package/dist/utils/websearch/hook-config.d.ts.map +0 -1
  132. package/dist/utils/websearch/hook-config.js +0 -280
  133. package/dist/utils/websearch/hook-config.js.map +0 -1
  134. package/dist/utils/websearch/hook-env.d.ts +0 -16
  135. package/dist/utils/websearch/hook-env.d.ts.map +0 -1
  136. package/dist/utils/websearch/hook-env.js +0 -62
  137. package/dist/utils/websearch/hook-env.js.map +0 -1
  138. package/dist/utils/websearch/hook-installer.d.ts +0 -30
  139. package/dist/utils/websearch/hook-installer.d.ts.map +0 -1
  140. package/dist/utils/websearch/hook-installer.js +0 -148
  141. package/dist/utils/websearch/hook-installer.js.map +0 -1
  142. package/dist/utils/websearch/hook-utils.d.ts +0 -18
  143. package/dist/utils/websearch/hook-utils.d.ts.map +0 -1
  144. package/dist/utils/websearch/hook-utils.js +0 -59
  145. package/dist/utils/websearch/hook-utils.js.map +0 -1
  146. package/dist/utils/websearch/index.d.ts +0 -17
  147. package/dist/utils/websearch/index.d.ts.map +0 -1
  148. package/dist/utils/websearch/index.js +0 -51
  149. package/dist/utils/websearch/index.js.map +0 -1
  150. package/dist/utils/websearch/opencode-cli.d.ts +0 -26
  151. package/dist/utils/websearch/opencode-cli.d.ts.map +0 -1
  152. package/dist/utils/websearch/opencode-cli.js +0 -81
  153. package/dist/utils/websearch/opencode-cli.js.map +0 -1
  154. package/dist/utils/websearch/profile-hook-injector.d.ts +0 -20
  155. package/dist/utils/websearch/profile-hook-injector.d.ts.map +0 -1
  156. package/dist/utils/websearch/profile-hook-injector.js +0 -250
  157. package/dist/utils/websearch/profile-hook-injector.js.map +0 -1
  158. package/dist/utils/websearch/status.d.ts +0 -36
  159. package/dist/utils/websearch/status.d.ts.map +0 -1
  160. package/dist/utils/websearch/status.js +0 -192
  161. package/dist/utils/websearch/status.js.map +0 -1
  162. package/dist/utils/websearch/types.d.ts +0 -85
  163. package/dist/utils/websearch/types.d.ts.map +0 -1
  164. package/dist/utils/websearch/types.js +0 -10
  165. package/dist/utils/websearch/types.js.map +0 -1
  166. package/dist/utils/websearch-manager.d.ts +0 -31
  167. package/dist/utils/websearch-manager.d.ts.map +0 -1
  168. package/dist/utils/websearch-manager.js +0 -72
  169. package/dist/utils/websearch-manager.js.map +0 -1
  170. package/dist/web-server/health/websearch-checks.d.ts +0 -11
  171. package/dist/web-server/health/websearch-checks.d.ts.map +0 -1
  172. package/dist/web-server/health/websearch-checks.js +0 -53
  173. package/dist/web-server/health/websearch-checks.js.map +0 -1
  174. package/dist/web-server/routes/websearch-routes.d.ts +0 -6
  175. package/dist/web-server/routes/websearch-routes.d.ts.map +0 -1
  176. package/dist/web-server/routes/websearch-routes.js +0 -130
  177. package/dist/web-server/routes/websearch-routes.js.map +0 -1
  178. package/lib/hooks/block-websearch.cjs +0 -75
  179. 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,6 +0,0 @@
1
- /**
2
- * WebSearch Routes - WebSearch configuration and status
3
- */
4
- declare const router: import("express-serve-static-core").Router;
5
- export default router;
6
- //# sourceMappingURL=websearch-routes.d.ts.map
@@ -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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"}