@kaitranntt/ccs 7.56.0-dev.3 → 7.56.0-dev.5

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 (66) hide show
  1. package/README.md +23 -17
  2. package/dist/config/unified-config-loader.d.ts +16 -0
  3. package/dist/config/unified-config-loader.d.ts.map +1 -1
  4. package/dist/config/unified-config-loader.js +56 -12
  5. package/dist/config/unified-config-loader.js.map +1 -1
  6. package/dist/config/unified-config-types.d.ts +56 -10
  7. package/dist/config/unified-config-types.d.ts.map +1 -1
  8. package/dist/config/unified-config-types.js +20 -2
  9. package/dist/config/unified-config-types.js.map +1 -1
  10. package/dist/ui/assets/{accounts-_HKzUYeW.js → accounts-CcKtNJpZ.js} +1 -1
  11. package/dist/ui/assets/{alert-dialog-7NHGF_Xe.js → alert-dialog-D9ixkKjG.js} +1 -1
  12. package/dist/ui/assets/{api-DOfVbQ1z.js → api-ClWqAKR1.js} +2 -2
  13. package/dist/ui/assets/{auth-section-DqMIwU7c.js → auth-section-BQ4Kogh5.js} +1 -1
  14. package/dist/ui/assets/{backups-section-D4um8aUY.js → backups-section-fPK5pSgx.js} +1 -1
  15. package/dist/ui/assets/{checkbox-BOeXuNDh.js → checkbox-Cr_w2dBr.js} +1 -1
  16. package/dist/ui/assets/claude-extension-Blq0eREl.js +1 -0
  17. package/dist/ui/assets/{cliproxy-CzJfXgOZ.js → cliproxy-CPWxG68T.js} +2 -2
  18. package/dist/ui/assets/{cliproxy-ai-providers-BYWaYXvO.js → cliproxy-ai-providers-CWIwmTNM.js} +12 -12
  19. package/dist/ui/assets/{cliproxy-control-panel-77ZZmJI4.js → cliproxy-control-panel-CgEMwXOj.js} +1 -1
  20. package/dist/ui/assets/{confirm-dialog-Bz3IbucG.js → confirm-dialog-BLoDbdRn.js} +1 -1
  21. package/dist/ui/assets/{copilot-DzskqpA-.js → copilot-tFEndl-V.js} +2 -2
  22. package/dist/ui/assets/cursor-d_8EDsFB.js +1 -0
  23. package/dist/ui/assets/{droid-DR0b5dXu.js → droid-BIbPZCVp.js} +2 -2
  24. package/dist/ui/assets/{globalenv-section-O2tusa4k.js → globalenv-section-C1OjUAhr.js} +1 -1
  25. package/dist/ui/assets/{health-BPuHhvGU.js → health-BAy1igW2.js} +1 -1
  26. package/dist/ui/assets/{icons-DR-ORtNe.js → icons-BwsSbo2z.js} +1 -1
  27. package/dist/ui/assets/index-Bp4s-Led.css +1 -0
  28. package/dist/ui/assets/{index-eQOk8v6I.js → index-D-xh-rUY.js} +1 -1
  29. package/dist/ui/assets/index-DVgRJ--R.js +1 -0
  30. package/dist/ui/assets/{index-3azdVT3y.js → index-DjsOxm87.js} +1 -1
  31. package/dist/ui/assets/{index-ZlUC3TcJ.js → index-KQ7UM0Zx.js} +3 -3
  32. package/dist/ui/assets/{index-D0r4vaLi.js → index-L-WMPeHP.js} +1 -1
  33. package/dist/ui/assets/{proxy-status-widget-CU9RtUUZ.js → proxy-status-widget-CibAyvji.js} +1 -1
  34. package/dist/ui/assets/{searchable-select-DltMdKve.js → searchable-select-BCt9hVab.js} +1 -1
  35. package/dist/ui/assets/{separator-DvmULQuv.js → separator-B-7tcT70.js} +1 -1
  36. package/dist/ui/assets/{shared-3KjBmAma.js → shared-B5lECoNe.js} +1 -1
  37. package/dist/ui/assets/{switch-WfgHsT03.js → switch-ofCljueo.js} +1 -1
  38. package/dist/ui/assets/{updates-DEb1kb0C.js → updates-CDdcIRgb.js} +1 -1
  39. package/dist/ui/index.html +3 -3
  40. package/dist/utils/websearch/hook-env.d.ts.map +1 -1
  41. package/dist/utils/websearch/hook-env.js +17 -1
  42. package/dist/utils/websearch/hook-env.js.map +1 -1
  43. package/dist/utils/websearch/status.d.ts +5 -12
  44. package/dist/utils/websearch/status.d.ts.map +1 -1
  45. package/dist/utils/websearch/status.js +128 -87
  46. package/dist/utils/websearch/status.js.map +1 -1
  47. package/dist/utils/websearch/types.d.ts +37 -23
  48. package/dist/utils/websearch/types.d.ts.map +1 -1
  49. package/dist/utils/websearch/types.js +1 -1
  50. package/dist/utils/websearch-manager.d.ts +5 -4
  51. package/dist/utils/websearch-manager.d.ts.map +1 -1
  52. package/dist/utils/websearch-manager.js +5 -4
  53. package/dist/utils/websearch-manager.js.map +1 -1
  54. package/dist/web-server/health/websearch-checks.d.ts +2 -2
  55. package/dist/web-server/health/websearch-checks.d.ts.map +1 -1
  56. package/dist/web-server/health/websearch-checks.js +9 -11
  57. package/dist/web-server/health/websearch-checks.js.map +1 -1
  58. package/dist/web-server/routes/websearch-routes.d.ts.map +1 -1
  59. package/dist/web-server/routes/websearch-routes.js +33 -22
  60. package/dist/web-server/routes/websearch-routes.js.map +1 -1
  61. package/lib/hooks/websearch-transformer.cjs +488 -462
  62. package/package.json +1 -1
  63. package/dist/ui/assets/claude-extension-CelZ8ku0.js +0 -1
  64. package/dist/ui/assets/cursor-C8f14wrT.js +0 -1
  65. package/dist/ui/assets/index-BxTb3XSE.js +0 -1
  66. package/dist/ui/assets/index-kGiBvBM-.css +0 -1
@@ -13,154 +13,204 @@ const unified_config_loader_1 = require("../../config/unified-config-loader");
13
13
  const gemini_cli_1 = require("./gemini-cli");
14
14
  const grok_cli_1 = require("./grok-cli");
15
15
  const opencode_cli_1 = require("./opencode-cli");
16
- /**
17
- * Get all WebSearch CLI providers with their status
18
- */
19
- function getWebSearchCliProviders() {
16
+ function hasEnvValue(name) {
17
+ return (process.env[name] || '').trim().length > 0;
18
+ }
19
+ function hasAnyEnvValue(names) {
20
+ return names.some((name) => hasEnvValue(name));
21
+ }
22
+ function getLegacyProviderStatuses() {
23
+ const wsConfig = (0, unified_config_loader_1.getWebSearchConfig)();
20
24
  const geminiStatus = (0, gemini_cli_1.getGeminiCliStatus)();
21
25
  const grokStatus = (0, grok_cli_1.getGrokCliStatus)();
22
26
  const opencodeStatus = (0, opencode_cli_1.getOpenCodeCliStatus)();
27
+ const geminiAuthed = geminiStatus.installed && (0, gemini_cli_1.isGeminiAuthenticated)();
23
28
  return [
24
29
  {
25
30
  id: 'gemini',
31
+ kind: 'legacy-cli',
26
32
  name: 'Gemini CLI',
27
33
  command: 'gemini',
28
- installed: geminiStatus.installed,
34
+ enabled: wsConfig.providers?.gemini?.enabled ?? false,
35
+ available: geminiAuthed,
29
36
  version: geminiStatus.version ?? null,
30
37
  installCommand: 'npm install -g @google/gemini-cli',
31
38
  docsUrl: 'https://github.com/google-gemini/gemini-cli',
32
39
  requiresApiKey: false,
33
- description: 'Google Gemini with web search (FREE tier: 1000 req/day)',
34
- freeTier: true,
40
+ description: 'Optional legacy LLM fallback with Google web search.',
41
+ detail: geminiStatus.installed
42
+ ? geminiAuthed
43
+ ? 'Authenticated'
44
+ : "Run 'gemini' to login"
45
+ : 'Not installed',
35
46
  },
36
47
  {
37
48
  id: 'opencode',
49
+ kind: 'legacy-cli',
38
50
  name: 'OpenCode',
39
51
  command: 'opencode',
40
- installed: opencodeStatus.installed,
52
+ enabled: wsConfig.providers?.opencode?.enabled ?? false,
53
+ available: opencodeStatus.installed,
41
54
  version: opencodeStatus.version ?? null,
42
55
  installCommand: 'curl -fsSL https://opencode.ai/install | bash',
43
56
  docsUrl: 'https://github.com/sst/opencode',
44
57
  requiresApiKey: false,
45
- description: 'OpenCode with built-in web search (FREE via Zen)',
46
- freeTier: true,
58
+ description: 'Optional legacy LLM fallback via OpenCode.',
59
+ detail: opencodeStatus.installed ? 'Installed' : 'Not installed',
47
60
  },
48
61
  {
49
62
  id: 'grok',
63
+ kind: 'legacy-cli',
50
64
  name: 'Grok CLI',
51
65
  command: 'grok',
52
- installed: grokStatus.installed,
66
+ enabled: wsConfig.providers?.grok?.enabled ?? false,
67
+ available: grokStatus.installed && hasEnvValue('GROK_API_KEY'),
53
68
  version: grokStatus.version ?? null,
54
69
  installCommand: 'npm install -g @vibe-kit/grok-cli',
55
70
  docsUrl: 'https://github.com/superagent-ai/grok-cli',
56
71
  requiresApiKey: true,
57
72
  apiKeyEnvVar: 'GROK_API_KEY',
58
- description: 'xAI Grok CLI with AI coding agent capabilities',
59
- freeTier: false,
73
+ description: 'Optional legacy LLM fallback with xAI Grok.',
74
+ detail: grokStatus.installed
75
+ ? hasEnvValue('GROK_API_KEY')
76
+ ? 'Ready'
77
+ : 'Set GROK_API_KEY'
78
+ : 'Not installed',
60
79
  },
61
80
  ];
62
81
  }
82
+ /**
83
+ * Get all WebSearch providers with their current status.
84
+ */
85
+ function getWebSearchCliProviders() {
86
+ const wsConfig = (0, unified_config_loader_1.getWebSearchConfig)();
87
+ const providers = [
88
+ {
89
+ id: 'exa',
90
+ kind: 'backend',
91
+ name: 'Exa',
92
+ enabled: wsConfig.providers?.exa?.enabled ?? false,
93
+ available: (wsConfig.providers?.exa?.enabled ?? false) &&
94
+ hasAnyEnvValue(['EXA_API_KEY', 'CCS_WEBSEARCH_EXA_API_KEY']),
95
+ version: null,
96
+ docsUrl: 'https://docs.exa.ai/reference/search',
97
+ requiresApiKey: true,
98
+ apiKeyEnvVar: 'EXA_API_KEY',
99
+ description: 'API-backed search with strong relevance and content extraction.',
100
+ detail: hasAnyEnvValue(['EXA_API_KEY', 'CCS_WEBSEARCH_EXA_API_KEY'])
101
+ ? `API key detected (${wsConfig.providers?.exa?.max_results ?? 5} results)`
102
+ : 'Set EXA_API_KEY',
103
+ },
104
+ {
105
+ id: 'tavily',
106
+ kind: 'backend',
107
+ name: 'Tavily',
108
+ enabled: wsConfig.providers?.tavily?.enabled ?? false,
109
+ available: (wsConfig.providers?.tavily?.enabled ?? false) &&
110
+ hasAnyEnvValue(['TAVILY_API_KEY', 'CCS_WEBSEARCH_TAVILY_API_KEY']),
111
+ version: null,
112
+ docsUrl: 'https://docs.tavily.com/documentation/api-reference/endpoint/search',
113
+ requiresApiKey: true,
114
+ apiKeyEnvVar: 'TAVILY_API_KEY',
115
+ description: 'Search API optimized for agent workflows and concise web result synthesis.',
116
+ detail: hasAnyEnvValue(['TAVILY_API_KEY', 'CCS_WEBSEARCH_TAVILY_API_KEY'])
117
+ ? `API key detected (${wsConfig.providers?.tavily?.max_results ?? 5} results)`
118
+ : 'Set TAVILY_API_KEY',
119
+ },
120
+ {
121
+ id: 'duckduckgo',
122
+ kind: 'backend',
123
+ name: 'DuckDuckGo',
124
+ enabled: wsConfig.providers?.duckduckgo?.enabled ?? true,
125
+ available: wsConfig.providers?.duckduckgo?.enabled ?? true,
126
+ version: null,
127
+ docsUrl: 'https://duckduckgo.com',
128
+ requiresApiKey: false,
129
+ description: 'Default built-in HTML search backend. Zero setup.',
130
+ detail: `Built-in (${wsConfig.providers?.duckduckgo?.max_results ?? 5} results)`,
131
+ },
132
+ {
133
+ id: 'brave',
134
+ kind: 'backend',
135
+ name: 'Brave Search',
136
+ enabled: wsConfig.providers?.brave?.enabled ?? false,
137
+ available: (wsConfig.providers?.brave?.enabled ?? false) &&
138
+ hasAnyEnvValue(['BRAVE_API_KEY', 'CCS_WEBSEARCH_BRAVE_API_KEY']),
139
+ version: null,
140
+ docsUrl: 'https://brave.com/search/api/',
141
+ requiresApiKey: true,
142
+ apiKeyEnvVar: 'BRAVE_API_KEY',
143
+ description: 'API-backed web search with cleaner result metadata.',
144
+ detail: hasAnyEnvValue(['BRAVE_API_KEY', 'CCS_WEBSEARCH_BRAVE_API_KEY'])
145
+ ? `API key detected (${wsConfig.providers?.brave?.max_results ?? 5} results)`
146
+ : 'Set BRAVE_API_KEY',
147
+ },
148
+ ];
149
+ return [...providers, ...getLegacyProviderStatuses()];
150
+ }
63
151
  exports.getWebSearchCliProviders = getWebSearchCliProviders;
64
152
  /**
65
- * Check if any WebSearch CLI is available
153
+ * Check if any WebSearch provider is currently ready.
66
154
  */
67
155
  function hasAnyWebSearchCli() {
68
- return (0, gemini_cli_1.hasGeminiCli)() || (0, grok_cli_1.hasGrokCli)() || (0, opencode_cli_1.hasOpenCodeCli)();
156
+ return getWebSearchCliProviders().some((provider) => provider.enabled && provider.available);
69
157
  }
70
158
  exports.hasAnyWebSearchCli = hasAnyWebSearchCli;
71
159
  /**
72
- * Get install hints for CLI-only users when no WebSearch CLI is installed
73
- * Returns raw message strings (without indicator prefix) for display
160
+ * Get setup hints when no providers are ready.
74
161
  */
75
162
  function getCliInstallHints() {
76
163
  if (hasAnyWebSearchCli()) {
77
164
  return [];
78
165
  }
79
166
  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',
167
+ 'WebSearch: no ready providers',
168
+ ' Enable DuckDuckGo in Settings > WebSearch for zero-setup search',
169
+ ' Or export EXA_API_KEY, TAVILY_API_KEY, or BRAVE_API_KEY for API-backed search',
170
+ ' Optional legacy fallback: npm i -g @google/gemini-cli',
84
171
  ];
85
172
  }
86
173
  exports.getCliInstallHints = getCliInstallHints;
87
174
  /**
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.
175
+ * Get WebSearch readiness status for display.
92
176
  */
93
177
  function getWebSearchReadiness() {
94
178
  const wsConfig = (0, unified_config_loader_1.getWebSearchConfig)();
95
- // Check if WebSearch is disabled entirely
179
+ const providers = getWebSearchCliProviders();
96
180
  if (!wsConfig.enabled) {
97
181
  return {
98
182
  readiness: 'unavailable',
99
- geminiCli: false,
100
- geminiAuthenticated: false,
101
- grokCli: false,
102
- opencodeCli: false,
103
183
  message: 'Disabled in config',
184
+ providers,
104
185
  };
105
186
  }
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) {
187
+ const enabledProviders = providers.filter((provider) => provider.enabled);
188
+ const readyProviders = enabledProviders.filter((provider) => provider.available);
189
+ if (readyProviders.length > 0) {
130
190
  return {
131
191
  readiness: 'ready',
132
- geminiCli: geminiInstalled,
133
- geminiAuthenticated: geminiAuthed,
134
- grokCli: grokInstalled,
135
- opencodeCli: opencodeInstalled,
136
- message: `Ready (${readyClis.join(' + ')})`,
192
+ message: `Ready (${readyProviders.map((provider) => provider.name).join(' + ')})`,
193
+ providers,
137
194
  };
138
195
  }
139
- if (needsAuthClis.length > 0) {
196
+ if (enabledProviders.length > 0) {
140
197
  return {
141
- readiness: 'needs_auth',
142
- geminiCli: geminiInstalled,
143
- geminiAuthenticated: false,
144
- grokCli: grokInstalled,
145
- opencodeCli: opencodeInstalled,
146
- message: `Gemini: run 'gemini' to login`,
198
+ readiness: 'needs_setup',
199
+ message: enabledProviders
200
+ .map((provider) => `${provider.name}: ${provider.detail}`)
201
+ .join(' | '),
202
+ providers,
147
203
  };
148
204
  }
149
205
  return {
150
206
  readiness: 'unavailable',
151
- geminiCli: false,
152
- geminiAuthenticated: false,
153
- grokCli: false,
154
- opencodeCli: false,
155
- message: 'Install: npm i -g @google/gemini-cli',
207
+ message: 'Enable at least one provider in Settings > WebSearch',
208
+ providers,
156
209
  };
157
210
  }
158
211
  exports.getWebSearchReadiness = getWebSearchReadiness;
159
212
  /**
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.
213
+ * Display WebSearch status (single line, equilibrium UX).
164
214
  */
165
215
  function displayWebSearchStatus() {
166
216
  const status = getWebSearchReadiness();
@@ -168,22 +218,13 @@ function displayWebSearchStatus() {
168
218
  case 'ready':
169
219
  console.error((0, ui_1.ok)(`WebSearch: ${status.message}`));
170
220
  break;
171
- case 'needs_auth':
221
+ case 'needs_setup':
172
222
  console.error((0, ui_1.warn)(`WebSearch: ${status.message}`));
173
223
  break;
174
224
  case 'unavailable':
175
225
  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
- }
226
+ for (const [index, hint] of getCliInstallHints().entries()) {
227
+ console.error(index === 0 ? (0, ui_1.info)(hint) : hint);
187
228
  }
188
229
  break;
189
230
  }
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/utils/websearch/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/utils/websearch/status.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WebSearch Type Definitions
3
3
  *
4
- * Contains all type definitions for WebSearch CLI providers and status.
4
+ * Contains all type definitions for WebSearch providers and status.
5
5
  *
6
6
  * @module utils/websearch/types
7
7
  */
@@ -24,44 +24,53 @@ export type OpenCodeCliStatus = ComponentStatus;
24
24
  /**
25
25
  * WebSearch availability status for third-party profiles
26
26
  */
27
- export type WebSearchReadiness = 'ready' | 'needs_auth' | 'unavailable';
27
+ export type WebSearchReadiness = 'ready' | 'needs_setup' | 'unavailable';
28
28
  /**
29
- * WebSearch status for display
29
+ * WebSearch provider identifier
30
30
  */
31
- export interface WebSearchStatus {
32
- readiness: WebSearchReadiness;
33
- geminiCli: boolean;
34
- geminiAuthenticated: boolean;
35
- grokCli: boolean;
36
- opencodeCli: boolean;
37
- message: string;
38
- }
31
+ export type WebSearchProviderId = 'exa' | 'tavily' | 'duckduckgo' | 'brave' | 'gemini' | 'grok' | 'opencode';
32
+ /**
33
+ * Provider execution class.
34
+ */
35
+ export type WebSearchProviderKind = 'backend' | 'legacy-cli';
39
36
  /**
40
- * WebSearch CLI provider information for health checks and UI
37
+ * WebSearch provider information for health checks and UI
41
38
  */
42
39
  export interface WebSearchCliInfo {
43
40
  /** Provider ID */
44
- id: 'gemini' | 'grok' | 'opencode';
41
+ id: WebSearchProviderId;
42
+ /** Backend vs legacy CLI */
43
+ kind: WebSearchProviderKind;
45
44
  /** Display name */
46
45
  name: string;
47
- /** CLI command name */
48
- command: string;
49
- /** Whether CLI is installed */
50
- installed: boolean;
51
- /** CLI version if installed */
46
+ /** Command name for legacy providers */
47
+ command?: string;
48
+ /** Whether the provider is enabled in config */
49
+ enabled: boolean;
50
+ /** Whether the provider is ready right now */
51
+ available: boolean;
52
+ /** CLI version if applicable */
52
53
  version: string | null;
53
- /** Install command */
54
- installCommand: string;
54
+ /** Install or setup command when applicable */
55
+ installCommand?: string;
55
56
  /** Docs URL */
56
- docsUrl: string;
57
+ docsUrl?: string;
57
58
  /** Whether this provider requires an API key */
58
59
  requiresApiKey: boolean;
59
60
  /** API key environment variable name */
60
61
  apiKeyEnvVar?: string;
61
62
  /** Brief description */
62
63
  description: string;
63
- /** Free tier available? */
64
- freeTier: boolean;
64
+ /** Summary detail shown in status UIs */
65
+ detail: string;
66
+ }
67
+ /**
68
+ * WebSearch status for display
69
+ */
70
+ export interface WebSearchStatus {
71
+ readiness: WebSearchReadiness;
72
+ message: string;
73
+ providers: WebSearchCliInfo[];
65
74
  }
66
75
  /**
67
76
  * WebSearch provider configuration from config.yaml
@@ -70,6 +79,7 @@ export interface WebSearchProviderConfig {
70
79
  enabled?: boolean;
71
80
  model?: string;
72
81
  timeout?: number;
82
+ max_results?: number;
73
83
  }
74
84
  /**
75
85
  * WebSearch configuration from config.yaml
@@ -77,6 +87,10 @@ export interface WebSearchProviderConfig {
77
87
  export interface WebSearchConfig {
78
88
  enabled: boolean;
79
89
  providers?: {
90
+ exa?: WebSearchProviderConfig;
91
+ tavily?: WebSearchProviderConfig;
92
+ duckduckgo?: WebSearchProviderConfig;
93
+ brave?: WebSearchProviderConfig;
80
94
  gemini?: WebSearchProviderConfig;
81
95
  opencode?: WebSearchProviderConfig;
82
96
  grok?: WebSearchProviderConfig;
@@ -1 +1 @@
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
+ {"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,aAAa,GAAG,aAAa,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,KAAK,GACL,QAAQ,GACR,YAAY,GACZ,OAAO,GACP,QAAQ,GACR,MAAM,GACN,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,YAAY,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB;IAClB,EAAE,EAAE,mBAAmB,CAAC;IACxB,4BAA4B;IAC5B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;IACnB,gCAAgC;IAChC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,cAAc,EAAE,OAAO,CAAC;IACxB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE;QACV,GAAG,CAAC,EAAE,uBAAuB,CAAC;QAC9B,MAAM,CAAC,EAAE,uBAAuB,CAAC;QACjC,UAAU,CAAC,EAAE,uBAAuB,CAAC;QACrC,KAAK,CAAC,EAAE,uBAAuB,CAAC;QAChC,MAAM,CAAC,EAAE,uBAAuB,CAAC;QACjC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;QACnC,IAAI,CAAC,EAAE,uBAAuB,CAAC;KAChC,CAAC;CACH"}
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * WebSearch Type Definitions
4
4
  *
5
- * Contains all type definitions for WebSearch CLI providers and status.
5
+ * Contains all type definitions for WebSearch providers and status.
6
6
  *
7
7
  * @module utils/websearch/types
8
8
  */
@@ -3,12 +3,13 @@
3
3
  *
4
4
  * WebSearch is a server-side tool executed by Anthropic's API.
5
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.
6
+ * This manager installs a hook that uses deterministic local search backends,
7
+ * with legacy AI CLI tools kept only as optional fallback.
7
8
  *
8
9
  * Simplified Architecture:
9
- * - No MCP complexity
10
- * - Uses CLI tools (currently Gemini CLI)
11
- * - Easy to extend for future CLI tools (opencode, etc.)
10
+ * - No MCP dependency for the default path
11
+ * - Uses real search providers first (DuckDuckGo, Brave)
12
+ * - Keeps Gemini/OpenCode/Grok as compatibility fallback only
12
13
  *
13
14
  * @module utils/websearch-manager
14
15
  */
@@ -1 +1 @@
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
+ {"version":3,"file":"websearch-manager.d.ts","sourceRoot":"","sources":["../../src/utils/websearch-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;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"}
@@ -4,12 +4,13 @@
4
4
  *
5
5
  * WebSearch is a server-side tool executed by Anthropic's API.
6
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.
7
+ * This manager installs a hook that uses deterministic local search backends,
8
+ * with legacy AI CLI tools kept only as optional fallback.
8
9
  *
9
10
  * Simplified Architecture:
10
- * - No MCP complexity
11
- * - Uses CLI tools (currently Gemini CLI)
12
- * - Easy to extend for future CLI tools (opencode, etc.)
11
+ * - No MCP dependency for the default path
12
+ * - Uses real search providers first (DuckDuckGo, Brave)
13
+ * - Keeps Gemini/OpenCode/Grok as compatibility fallback only
13
14
  *
14
15
  * @module utils/websearch-manager
15
16
  */
@@ -1 +1 @@
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
+ {"version":3,"file":"websearch-manager.js","sourceRoot":"","sources":["../../src/utils/websearch-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;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,7 +1,7 @@
1
1
  /**
2
- * WebSearch CLI Health Checks
2
+ * WebSearch Health Checks
3
3
  *
4
- * Check WebSearch CLI providers (Gemini CLI, Grok CLI).
4
+ * Check WebSearch providers (real backends + legacy fallback).
5
5
  */
6
6
  import type { HealthCheck } from './types';
7
7
  /**
@@ -1 +1 @@
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
+ {"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,CAsClD"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /**
3
- * WebSearch CLI Health Checks
3
+ * WebSearch Health Checks
4
4
  *
5
- * Check WebSearch CLI providers (Gemini CLI, Grok CLI).
5
+ * Check WebSearch providers (real backends + legacy fallback).
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.checkWebSearchClis = void 0;
@@ -14,37 +14,35 @@ function checkWebSearchClis() {
14
14
  const providers = (0, websearch_manager_1.getWebSearchCliProviders)();
15
15
  const checks = [];
16
16
  for (const provider of providers) {
17
- if (provider.installed) {
18
- const freeTag = provider.freeTier ? ' (FREE)' : '';
17
+ if (provider.enabled && provider.available) {
19
18
  checks.push({
20
19
  id: `websearch-${provider.id}`,
21
20
  name: provider.name,
22
21
  status: 'ok',
23
- message: `v${provider.version || 'unknown'}${freeTag}`,
22
+ message: provider.detail,
24
23
  details: provider.description,
25
24
  });
26
25
  }
27
26
  else {
28
- const keyNote = provider.requiresApiKey ? ` (needs ${provider.apiKeyEnvVar})` : ' (FREE)';
29
27
  checks.push({
30
28
  id: `websearch-${provider.id}`,
31
29
  name: provider.name,
32
30
  status: 'info',
33
- message: `Not installed${keyNote}`,
31
+ message: provider.enabled ? provider.detail : 'Disabled',
34
32
  fix: provider.installCommand,
35
33
  details: provider.description,
36
34
  });
37
35
  }
38
36
  }
39
- // Add summary check if no providers installed
37
+ // Add summary check if no providers are ready
40
38
  if (!(0, websearch_manager_1.hasAnyWebSearchCli)()) {
41
39
  checks.push({
42
40
  id: 'websearch-summary',
43
41
  name: 'WebSearch Status',
44
42
  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',
43
+ message: 'No ready provider',
44
+ fix: 'Enable DuckDuckGo or set EXA_API_KEY, TAVILY_API_KEY, or BRAVE_API_KEY',
45
+ details: 'Third-party profiles need a local WebSearch backend.',
48
46
  });
49
47
  }
50
48
  return checks;
@@ -1 +1 @@
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
+ {"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,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC3C,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,QAAQ,CAAC,MAAM;gBACxB,OAAO,EAAE,QAAQ,CAAC,WAAW;aAC9B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,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,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;gBACxD,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,mBAAmB;YAC5B,GAAG,EAAE,wEAAwE;YAC7E,OAAO,EAAE,sDAAsD;SAChE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAtCD,gDAsCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"websearch-routes.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/websearch-routes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,QAAA,MAAM,MAAM,4CAAW,CAAC;AA0HxB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"websearch-routes.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/websearch-routes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,QAAA,MAAM,MAAM,4CAAW,CAAC;AA6IxB,eAAe,MAAM,CAAC"}