@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
@@ -9,7 +9,7 @@ const websearch_manager_1 = require("../../utils/websearch-manager");
9
9
  const router = (0, express_1.Router)();
10
10
  /**
11
11
  * GET /api/websearch - Get WebSearch configuration
12
- * Returns: WebSearchConfig with enabled, provider, fallback
12
+ * Returns: normalized WebSearch configuration
13
13
  */
14
14
  router.get('/', (_req, res) => {
15
15
  try {
@@ -23,7 +23,6 @@ router.get('/', (_req, res) => {
23
23
  /**
24
24
  * PUT /api/websearch - Update WebSearch configuration
25
25
  * Body: WebSearchConfig fields (enabled, providers)
26
- * Dashboard is the source of truth for provider selection.
27
26
  */
28
27
  router.put('/', (req, res) => {
29
28
  const { enabled, providers } = req.body;
@@ -43,8 +42,36 @@ router.put('/', (req, res) => {
43
42
  enabled: enabled ?? config.websearch?.enabled ?? true,
44
43
  providers: providers
45
44
  ? {
45
+ exa: {
46
+ enabled: providers.exa?.enabled ?? config.websearch?.providers?.exa?.enabled ?? false,
47
+ max_results: providers.exa?.max_results ?? config.websearch?.providers?.exa?.max_results ?? 5,
48
+ },
49
+ tavily: {
50
+ enabled: providers.tavily?.enabled ??
51
+ config.websearch?.providers?.tavily?.enabled ??
52
+ false,
53
+ max_results: providers.tavily?.max_results ??
54
+ config.websearch?.providers?.tavily?.max_results ??
55
+ 5,
56
+ },
57
+ duckduckgo: {
58
+ enabled: providers.duckduckgo?.enabled ??
59
+ config.websearch?.providers?.duckduckgo?.enabled ??
60
+ true,
61
+ max_results: providers.duckduckgo?.max_results ??
62
+ config.websearch?.providers?.duckduckgo?.max_results ??
63
+ 5,
64
+ },
65
+ brave: {
66
+ enabled: providers.brave?.enabled ?? config.websearch?.providers?.brave?.enabled ?? false,
67
+ max_results: providers.brave?.max_results ??
68
+ config.websearch?.providers?.brave?.max_results ??
69
+ 5,
70
+ },
46
71
  gemini: {
47
- enabled: providers.gemini?.enabled ?? config.websearch?.providers?.gemini?.enabled ?? true,
72
+ enabled: providers.gemini?.enabled ??
73
+ config.websearch?.providers?.gemini?.enabled ??
74
+ false,
48
75
  model: providers.gemini?.model ??
49
76
  config.websearch?.providers?.gemini?.model ??
50
77
  'gemini-2.5-flash',
@@ -80,30 +107,14 @@ router.put('/', (req, res) => {
80
107
  });
81
108
  /**
82
109
  * GET /api/websearch/status - Get WebSearch status
83
- * Returns: { geminiCli, grokCli, opencodeCli, readiness }
110
+ * Returns: provider readiness + normalized provider status list
84
111
  */
85
112
  router.get('/status', (_req, res) => {
86
113
  try {
87
- const geminiCli = (0, websearch_manager_1.getGeminiCliStatus)();
88
- const grokCli = (0, websearch_manager_1.getGrokCliStatus)();
89
- const opencodeCli = (0, websearch_manager_1.getOpenCodeCliStatus)();
90
114
  const readiness = (0, websearch_manager_1.getWebSearchReadiness)();
115
+ const providers = (0, websearch_manager_1.getWebSearchCliProviders)();
91
116
  res.json({
92
- geminiCli: {
93
- installed: geminiCli.installed,
94
- path: geminiCli.path,
95
- version: geminiCli.version,
96
- },
97
- grokCli: {
98
- installed: grokCli.installed,
99
- path: grokCli.path,
100
- version: grokCli.version,
101
- },
102
- opencodeCli: {
103
- installed: opencodeCli.installed,
104
- path: opencodeCli.path,
105
- version: opencodeCli.version,
106
- },
117
+ providers,
107
118
  readiness: {
108
119
  status: readiness.readiness,
109
120
  message: readiness.message,
@@ -1 +1 @@
1
- {"version":3,"file":"websearch-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/websearch-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websearch-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/websearch-routes.ts"],"names":[],"mappings":"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"}