@kaitranntt/ccs 6.7.0 → 6.7.1-dev.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 (628) hide show
  1. package/README.md +45 -23
  2. package/dist/api/index.d.ts +7 -0
  3. package/dist/api/index.d.ts.map +1 -0
  4. package/dist/api/index.js +24 -0
  5. package/dist/api/index.js.map +1 -0
  6. package/dist/api/services/index.d.ts +10 -0
  7. package/dist/api/services/index.d.ts.map +1 -0
  8. package/dist/api/services/index.js +26 -0
  9. package/dist/api/services/index.js.map +1 -0
  10. package/dist/api/services/profile-reader.d.ts +28 -0
  11. package/dist/api/services/profile-reader.d.ts.map +1 -0
  12. package/dist/api/services/profile-reader.js +148 -0
  13. package/dist/api/services/profile-reader.js.map +1 -0
  14. package/dist/api/services/profile-types.d.ts +42 -0
  15. package/dist/api/services/profile-types.d.ts.map +1 -0
  16. package/dist/api/services/profile-types.js +8 -0
  17. package/dist/api/services/profile-types.js.map +1 -0
  18. package/dist/api/services/profile-writer.d.ts +6 -0
  19. package/dist/api/services/profile-writer.d.ts.map +1 -0
  20. package/dist/api/services/profile-writer.js +176 -0
  21. package/dist/api/services/profile-writer.js.map +1 -0
  22. package/dist/api/services/validation-service.d.ts +26 -0
  23. package/dist/api/services/validation-service.d.ts.map +1 -0
  24. package/dist/api/services/validation-service.js +77 -0
  25. package/dist/api/services/validation-service.js.map +1 -0
  26. package/dist/auth/auth-commands.d.ts +16 -22
  27. package/dist/auth/auth-commands.d.ts.map +1 -1
  28. package/dist/auth/auth-commands.js +29 -467
  29. package/dist/auth/auth-commands.js.map +1 -1
  30. package/dist/auth/commands/create-command.d.ts +11 -0
  31. package/dist/auth/commands/create-command.d.ts.map +1 -0
  32. package/dist/auth/commands/create-command.js +137 -0
  33. package/dist/auth/commands/create-command.js.map +1 -0
  34. package/dist/auth/commands/default-command.d.ts +15 -0
  35. package/dist/auth/commands/default-command.d.ts.map +1 -0
  36. package/dist/auth/commands/default-command.js +71 -0
  37. package/dist/auth/commands/default-command.js.map +1 -0
  38. package/dist/auth/commands/index.d.ts +12 -0
  39. package/dist/auth/commands/index.d.ts.map +1 -0
  40. package/dist/auth/commands/index.js +25 -0
  41. package/dist/auth/commands/index.js.map +1 -0
  42. package/dist/auth/commands/list-command.d.ts +11 -0
  43. package/dist/auth/commands/list-command.d.ts.map +1 -0
  44. package/dist/auth/commands/list-command.js +124 -0
  45. package/dist/auth/commands/list-command.js.map +1 -0
  46. package/dist/auth/commands/remove-command.d.ts +11 -0
  47. package/dist/auth/commands/remove-command.d.ts.map +1 -0
  48. package/dist/auth/commands/remove-command.js +102 -0
  49. package/dist/auth/commands/remove-command.js.map +1 -0
  50. package/dist/auth/commands/show-command.d.ts +11 -0
  51. package/dist/auth/commands/show-command.d.ts.map +1 -0
  52. package/dist/auth/commands/show-command.js +103 -0
  53. package/dist/auth/commands/show-command.js.map +1 -0
  54. package/dist/auth/commands/types.d.ts +50 -0
  55. package/dist/auth/commands/types.d.ts.map +1 -0
  56. package/dist/auth/commands/types.js +26 -0
  57. package/dist/auth/commands/types.js.map +1 -0
  58. package/dist/auth/index.d.ts +8 -0
  59. package/dist/auth/index.d.ts.map +1 -0
  60. package/dist/auth/index.js +16 -0
  61. package/dist/auth/index.js.map +1 -0
  62. package/dist/auth/profile-detector.d.ts +0 -5
  63. package/dist/auth/profile-detector.d.ts.map +1 -1
  64. package/dist/auth/profile-detector.js +1 -9
  65. package/dist/auth/profile-detector.js.map +1 -1
  66. package/dist/auth/profile-registry.d.ts +0 -4
  67. package/dist/auth/profile-registry.d.ts.map +1 -1
  68. package/dist/auth/profile-registry.js +3 -10
  69. package/dist/auth/profile-registry.js.map +1 -1
  70. package/dist/ccs.js +21 -4
  71. package/dist/ccs.js.map +1 -1
  72. package/dist/cliproxy/auth/auth-types.d.ts +85 -0
  73. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -0
  74. package/dist/cliproxy/auth/auth-types.js +100 -0
  75. package/dist/cliproxy/auth/auth-types.js.map +1 -0
  76. package/dist/cliproxy/auth/environment-detector.d.ts +30 -0
  77. package/dist/cliproxy/auth/environment-detector.d.ts.map +1 -0
  78. package/dist/cliproxy/auth/environment-detector.js +124 -0
  79. package/dist/cliproxy/auth/environment-detector.js.map +1 -0
  80. package/dist/cliproxy/auth/index.d.ts +11 -0
  81. package/dist/cliproxy/auth/index.d.ts.map +1 -0
  82. package/dist/cliproxy/auth/index.js +35 -0
  83. package/dist/cliproxy/auth/index.js.map +1 -0
  84. package/dist/cliproxy/auth/oauth-handler.d.ts +29 -0
  85. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -0
  86. package/dist/cliproxy/auth/oauth-handler.js +205 -0
  87. package/dist/cliproxy/auth/oauth-handler.js.map +1 -0
  88. package/dist/cliproxy/auth/oauth-process.d.ts +27 -0
  89. package/dist/cliproxy/auth/oauth-process.d.ts.map +1 -0
  90. package/dist/cliproxy/auth/oauth-process.js +209 -0
  91. package/dist/cliproxy/auth/oauth-process.js.map +1 -0
  92. package/dist/cliproxy/auth/token-manager.d.ts +53 -0
  93. package/dist/cliproxy/auth/token-manager.d.ts.map +1 -0
  94. package/dist/cliproxy/auth/token-manager.js +250 -0
  95. package/dist/cliproxy/auth/token-manager.js.map +1 -0
  96. package/dist/cliproxy/auth-handler.d.ts +13 -103
  97. package/dist/cliproxy/auth-handler.d.ts.map +1 -1
  98. package/dist/cliproxy/auth-handler.js +35 -766
  99. package/dist/cliproxy/auth-handler.js.map +1 -1
  100. package/dist/cliproxy/binary/downloader.d.ts +29 -0
  101. package/dist/cliproxy/binary/downloader.d.ts.map +1 -0
  102. package/dist/cliproxy/binary/downloader.js +218 -0
  103. package/dist/cliproxy/binary/downloader.js.map +1 -0
  104. package/dist/cliproxy/binary/extractor.d.ts +12 -0
  105. package/dist/cliproxy/binary/extractor.d.ts.map +1 -0
  106. package/dist/cliproxy/binary/extractor.js +27 -0
  107. package/dist/cliproxy/binary/extractor.js.map +1 -0
  108. package/dist/cliproxy/binary/index.d.ts +13 -0
  109. package/dist/cliproxy/binary/index.d.ts.map +1 -0
  110. package/dist/cliproxy/binary/index.js +53 -0
  111. package/dist/cliproxy/binary/index.js.map +1 -0
  112. package/dist/cliproxy/binary/installer.d.ts +24 -0
  113. package/dist/cliproxy/binary/installer.d.ts.map +1 -0
  114. package/dist/cliproxy/binary/installer.js +117 -0
  115. package/dist/cliproxy/binary/installer.js.map +1 -0
  116. package/dist/cliproxy/binary/lifecycle.d.ts +11 -0
  117. package/dist/cliproxy/binary/lifecycle.d.ts.map +1 -0
  118. package/dist/cliproxy/binary/lifecycle.js +106 -0
  119. package/dist/cliproxy/binary/lifecycle.js.map +1 -0
  120. package/dist/cliproxy/binary/tar-extractor.d.ts +9 -0
  121. package/dist/cliproxy/binary/tar-extractor.d.ts.map +1 -0
  122. package/dist/cliproxy/binary/tar-extractor.js +118 -0
  123. package/dist/cliproxy/binary/tar-extractor.js.map +1 -0
  124. package/dist/cliproxy/binary/types.d.ts +24 -0
  125. package/dist/cliproxy/binary/types.d.ts.map +1 -0
  126. package/dist/cliproxy/binary/types.js +14 -0
  127. package/dist/cliproxy/binary/types.js.map +1 -0
  128. package/dist/cliproxy/binary/updater.d.ts +7 -0
  129. package/dist/cliproxy/binary/updater.d.ts.map +1 -0
  130. package/dist/cliproxy/binary/updater.js +18 -0
  131. package/dist/cliproxy/binary/updater.js.map +1 -0
  132. package/dist/cliproxy/binary/verifier.d.ts +18 -0
  133. package/dist/cliproxy/binary/verifier.d.ts.map +1 -0
  134. package/dist/cliproxy/binary/verifier.js +82 -0
  135. package/dist/cliproxy/binary/verifier.js.map +1 -0
  136. package/dist/cliproxy/binary/version-cache.d.ts +46 -0
  137. package/dist/cliproxy/binary/version-cache.d.ts.map +1 -0
  138. package/dist/cliproxy/binary/version-cache.js +171 -0
  139. package/dist/cliproxy/binary/version-cache.js.map +1 -0
  140. package/dist/cliproxy/binary/version-checker.d.ts +19 -0
  141. package/dist/cliproxy/binary/version-checker.d.ts.map +1 -0
  142. package/dist/cliproxy/binary/version-checker.js +77 -0
  143. package/dist/cliproxy/binary/version-checker.js.map +1 -0
  144. package/dist/cliproxy/binary/zip-extractor.d.ts +9 -0
  145. package/dist/cliproxy/binary/zip-extractor.d.ts.map +1 -0
  146. package/dist/cliproxy/binary/zip-extractor.js +110 -0
  147. package/dist/cliproxy/binary/zip-extractor.js.map +1 -0
  148. package/dist/cliproxy/binary-manager.d.ts +16 -170
  149. package/dist/cliproxy/binary-manager.d.ts.map +1 -1
  150. package/dist/cliproxy/binary-manager.js +38 -865
  151. package/dist/cliproxy/binary-manager.js.map +1 -1
  152. package/dist/cliproxy/remote-proxy-client.d.ts +3 -0
  153. package/dist/cliproxy/remote-proxy-client.d.ts.map +1 -1
  154. package/dist/cliproxy/remote-proxy-client.js +7 -3
  155. package/dist/cliproxy/remote-proxy-client.js.map +1 -1
  156. package/dist/cliproxy/services/binary-service.d.ts +65 -0
  157. package/dist/cliproxy/services/binary-service.d.ts.map +1 -0
  158. package/dist/cliproxy/services/binary-service.js +140 -0
  159. package/dist/cliproxy/services/binary-service.js.map +1 -0
  160. package/dist/cliproxy/services/index.d.ts +8 -0
  161. package/dist/cliproxy/services/index.d.ts.map +1 -0
  162. package/dist/cliproxy/services/index.js +31 -0
  163. package/dist/cliproxy/services/index.js.map +1 -0
  164. package/dist/cliproxy/services/proxy-lifecycle-service.d.ts +38 -0
  165. package/dist/cliproxy/services/proxy-lifecycle-service.d.ts.map +1 -0
  166. package/dist/cliproxy/services/proxy-lifecycle-service.js +41 -0
  167. package/dist/cliproxy/services/proxy-lifecycle-service.js.map +1 -0
  168. package/dist/cliproxy/services/variant-config-adapter.d.ts +38 -0
  169. package/dist/cliproxy/services/variant-config-adapter.d.ts.map +1 -0
  170. package/dist/cliproxy/services/variant-config-adapter.js +172 -0
  171. package/dist/cliproxy/services/variant-config-adapter.js.map +1 -0
  172. package/dist/cliproxy/services/variant-service.d.ts +37 -0
  173. package/dist/cliproxy/services/variant-service.d.ts.map +1 -0
  174. package/dist/cliproxy/services/variant-service.js +128 -0
  175. package/dist/cliproxy/services/variant-service.js.map +1 -0
  176. package/dist/cliproxy/services/variant-settings.d.ts +32 -0
  177. package/dist/cliproxy/services/variant-settings.d.ts.map +1 -0
  178. package/dist/cliproxy/services/variant-settings.js +128 -0
  179. package/dist/cliproxy/services/variant-settings.js.map +1 -0
  180. package/dist/commands/api-command.d.ts +3 -6
  181. package/dist/commands/api-command.d.ts.map +1 -1
  182. package/dist/commands/api-command.js +84 -445
  183. package/dist/commands/api-command.js.map +1 -1
  184. package/dist/commands/cliproxy-command.d.ts +0 -3
  185. package/dist/commands/cliproxy-command.d.ts.map +1 -1
  186. package/dist/commands/cliproxy-command.js +182 -621
  187. package/dist/commands/cliproxy-command.js.map +1 -1
  188. package/dist/commands/index.d.ts +17 -0
  189. package/dist/commands/index.d.ts.map +1 -0
  190. package/dist/commands/index.js +33 -0
  191. package/dist/commands/index.js.map +1 -0
  192. package/dist/config/unified-config-loader.d.ts +7 -0
  193. package/dist/config/unified-config-loader.d.ts.map +1 -1
  194. package/dist/config/unified-config-loader.js +11 -1
  195. package/dist/config/unified-config-loader.js.map +1 -1
  196. package/dist/delegation/executor/index.d.ts +7 -0
  197. package/dist/delegation/executor/index.d.ts.map +1 -0
  198. package/dist/delegation/executor/index.js +28 -0
  199. package/dist/delegation/executor/index.js.map +1 -0
  200. package/dist/delegation/executor/result-aggregator.d.ts +30 -0
  201. package/dist/delegation/executor/result-aggregator.d.ts.map +1 -0
  202. package/dist/delegation/executor/result-aggregator.js +66 -0
  203. package/dist/delegation/executor/result-aggregator.js.map +1 -0
  204. package/dist/delegation/executor/stream-parser.d.ts +28 -0
  205. package/dist/delegation/executor/stream-parser.d.ts.map +1 -0
  206. package/dist/delegation/executor/stream-parser.js +140 -0
  207. package/dist/delegation/executor/stream-parser.js.map +1 -0
  208. package/dist/delegation/executor/types.d.ts +121 -0
  209. package/dist/delegation/executor/types.d.ts.map +1 -0
  210. package/dist/delegation/executor/types.js +6 -0
  211. package/dist/delegation/executor/types.js.map +1 -0
  212. package/dist/delegation/headless-executor.d.ts +13 -91
  213. package/dist/delegation/headless-executor.d.ts.map +1 -1
  214. package/dist/delegation/headless-executor.js +84 -291
  215. package/dist/delegation/headless-executor.js.map +1 -1
  216. package/dist/delegation/index.d.ts +11 -0
  217. package/dist/delegation/index.d.ts.map +1 -0
  218. package/dist/delegation/index.js +33 -0
  219. package/dist/delegation/index.js.map +1 -0
  220. package/dist/delegation/result-formatter.d.ts +1 -30
  221. package/dist/delegation/result-formatter.d.ts.map +1 -1
  222. package/dist/delegation/result-formatter.js.map +1 -1
  223. package/dist/errors/cleanup-registry.d.ts +64 -0
  224. package/dist/errors/cleanup-registry.d.ts.map +1 -0
  225. package/dist/errors/cleanup-registry.js +141 -0
  226. package/dist/errors/cleanup-registry.js.map +1 -0
  227. package/dist/errors/error-handler.d.ts +45 -0
  228. package/dist/errors/error-handler.d.ts.map +1 -0
  229. package/dist/errors/error-handler.js +150 -0
  230. package/dist/errors/error-handler.js.map +1 -0
  231. package/dist/errors/error-types.d.ts +102 -0
  232. package/dist/errors/error-types.d.ts.map +1 -0
  233. package/dist/errors/error-types.js +158 -0
  234. package/dist/errors/error-types.js.map +1 -0
  235. package/dist/errors/exit-codes.d.ts +49 -0
  236. package/dist/errors/exit-codes.d.ts.map +1 -0
  237. package/dist/errors/exit-codes.js +72 -0
  238. package/dist/errors/exit-codes.js.map +1 -0
  239. package/dist/errors/index.d.ts +29 -0
  240. package/dist/errors/index.d.ts.map +1 -0
  241. package/dist/errors/index.js +62 -0
  242. package/dist/errors/index.js.map +1 -0
  243. package/dist/glmt/glmt-transformer.d.ts +29 -248
  244. package/dist/glmt/glmt-transformer.d.ts.map +1 -1
  245. package/dist/glmt/glmt-transformer.js +63 -718
  246. package/dist/glmt/glmt-transformer.js.map +1 -1
  247. package/dist/glmt/index.d.ts +14 -0
  248. package/dist/glmt/index.d.ts.map +1 -0
  249. package/dist/glmt/index.js +41 -0
  250. package/dist/glmt/index.js.map +1 -0
  251. package/dist/glmt/pipeline/content-transformer.d.ts +39 -0
  252. package/dist/glmt/pipeline/content-transformer.d.ts.map +1 -0
  253. package/dist/glmt/pipeline/content-transformer.js +162 -0
  254. package/dist/glmt/pipeline/content-transformer.js.map +1 -0
  255. package/dist/glmt/pipeline/index.d.ts +12 -0
  256. package/dist/glmt/pipeline/index.d.ts.map +1 -0
  257. package/dist/glmt/pipeline/index.js +20 -0
  258. package/dist/glmt/pipeline/index.js.map +1 -0
  259. package/dist/glmt/pipeline/request-transformer.d.ts +31 -0
  260. package/dist/glmt/pipeline/request-transformer.d.ts.map +1 -0
  261. package/dist/glmt/pipeline/request-transformer.js +116 -0
  262. package/dist/glmt/pipeline/request-transformer.js.map +1 -0
  263. package/dist/glmt/pipeline/response-builder.d.ts +52 -0
  264. package/dist/glmt/pipeline/response-builder.d.ts.map +1 -0
  265. package/dist/glmt/pipeline/response-builder.js +205 -0
  266. package/dist/glmt/pipeline/response-builder.js.map +1 -0
  267. package/dist/glmt/pipeline/stream-parser.d.ts +59 -0
  268. package/dist/glmt/pipeline/stream-parser.d.ts.map +1 -0
  269. package/dist/glmt/pipeline/stream-parser.js +241 -0
  270. package/dist/glmt/pipeline/stream-parser.js.map +1 -0
  271. package/dist/glmt/pipeline/tool-call-handler.d.ts +22 -0
  272. package/dist/glmt/pipeline/tool-call-handler.d.ts.map +1 -0
  273. package/dist/glmt/pipeline/tool-call-handler.js +87 -0
  274. package/dist/glmt/pipeline/tool-call-handler.js.map +1 -0
  275. package/dist/glmt/pipeline/types.d.ts +159 -0
  276. package/dist/glmt/pipeline/types.d.ts.map +1 -0
  277. package/dist/glmt/pipeline/types.js +6 -0
  278. package/dist/glmt/pipeline/types.js.map +1 -0
  279. package/dist/management/checks/cliproxy-check.d.ts +37 -0
  280. package/dist/management/checks/cliproxy-check.d.ts.map +1 -0
  281. package/dist/management/checks/cliproxy-check.js +187 -0
  282. package/dist/management/checks/cliproxy-check.js.map +1 -0
  283. package/dist/management/checks/config-check.d.ts +27 -0
  284. package/dist/management/checks/config-check.d.ts.map +1 -0
  285. package/dist/management/checks/config-check.js +158 -0
  286. package/dist/management/checks/config-check.js.map +1 -0
  287. package/dist/management/checks/env-check.d.ts +17 -0
  288. package/dist/management/checks/env-check.d.ts.map +1 -0
  289. package/dist/management/checks/env-check.js +71 -0
  290. package/dist/management/checks/env-check.js.map +1 -0
  291. package/dist/management/checks/index.d.ts +12 -0
  292. package/dist/management/checks/index.d.ts.map +1 -0
  293. package/dist/management/checks/index.js +48 -0
  294. package/dist/management/checks/index.js.map +1 -0
  295. package/dist/management/checks/oauth-check.d.ts +16 -0
  296. package/dist/management/checks/oauth-check.d.ts.map +1 -0
  297. package/dist/management/checks/oauth-check.js +68 -0
  298. package/dist/management/checks/oauth-check.js.map +1 -0
  299. package/dist/management/checks/profile-check.d.ts +36 -0
  300. package/dist/management/checks/profile-check.d.ts.map +1 -0
  301. package/dist/management/checks/profile-check.js +165 -0
  302. package/dist/management/checks/profile-check.js.map +1 -0
  303. package/dist/management/checks/symlink-check.d.ts +30 -0
  304. package/dist/management/checks/symlink-check.d.ts.map +1 -0
  305. package/dist/management/checks/symlink-check.js +204 -0
  306. package/dist/management/checks/symlink-check.js.map +1 -0
  307. package/dist/management/checks/system-check.d.ts +25 -0
  308. package/dist/management/checks/system-check.d.ts.map +1 -0
  309. package/dist/management/checks/system-check.js +136 -0
  310. package/dist/management/checks/system-check.js.map +1 -0
  311. package/dist/management/checks/types.d.ts +64 -0
  312. package/dist/management/checks/types.d.ts.map +1 -0
  313. package/dist/management/checks/types.js +63 -0
  314. package/dist/management/checks/types.js.map +1 -0
  315. package/dist/management/doctor.d.ts +3 -92
  316. package/dist/management/doctor.d.ts.map +1 -1
  317. package/dist/management/doctor.js +15 -831
  318. package/dist/management/doctor.js.map +1 -1
  319. package/dist/management/index.d.ts +15 -0
  320. package/dist/management/index.d.ts.map +1 -0
  321. package/dist/management/index.js +56 -0
  322. package/dist/management/index.js.map +1 -0
  323. package/dist/management/repair/auto-repair.d.ts +13 -0
  324. package/dist/management/repair/auto-repair.d.ts.map +1 -0
  325. package/dist/management/repair/auto-repair.js +170 -0
  326. package/dist/management/repair/auto-repair.js.map +1 -0
  327. package/dist/management/repair/index.d.ts +5 -0
  328. package/dist/management/repair/index.d.ts.map +1 -0
  329. package/dist/management/repair/index.js +9 -0
  330. package/dist/management/repair/index.js.map +1 -0
  331. package/dist/types/delegation.d.ts +1 -13
  332. package/dist/types/delegation.d.ts.map +1 -1
  333. package/dist/types/utils.d.ts +27 -0
  334. package/dist/types/utils.d.ts.map +1 -1
  335. package/dist/ui/assets/{accounts-p1_nf0Jy.js → accounts--0JKEYYO.js} +1 -1
  336. package/dist/ui/assets/analytics-CX5PurM9.js +1 -0
  337. package/dist/ui/assets/api-D80tfZOx.js +1 -0
  338. package/dist/ui/assets/{card-CCDc-Mx9.js → card-B-DPlvgo.js} +1 -1
  339. package/dist/ui/assets/cliproxy-D4AoDTZB.js +3 -0
  340. package/dist/ui/assets/cliproxy-control-panel-CJ2CfYod.js +1 -0
  341. package/dist/ui/assets/{code-editor-Br9x-r-E.js → code-editor-DIj6qdUG.js} +1 -1
  342. package/dist/ui/assets/confirm-dialog-DZkzZLrs.js +1 -0
  343. package/dist/ui/assets/copilot-Q9tyCgYD.js +4 -0
  344. package/dist/ui/assets/form-utils-DP6ILe7Z.js +20 -0
  345. package/dist/ui/assets/health-Cw76uZRy.js +1 -0
  346. package/dist/ui/assets/{icons-BOsxPbiD.js → icons-ZmwVoUeR.js} +1 -1
  347. package/dist/ui/assets/index-C1W0iP_Z.js +46 -0
  348. package/dist/ui/assets/index-It66SkKf.css +1 -0
  349. package/dist/ui/assets/{radix-ui-DFHQr9A5.js → radix-ui-CV3R9pD6.js} +3 -3
  350. package/dist/ui/assets/settings-CDdHW_gU.js +1 -0
  351. package/dist/ui/assets/{shared-BfYhSN4-.js → shared--pI8rTbP.js} +1 -1
  352. package/dist/ui/assets/{switch-CMk95lwf.js → switch-BP6SzLyZ.js} +1 -1
  353. package/dist/ui/assets/{tanstack-C4gT2P7V.js → tanstack-Df9bCj5R.js} +1 -1
  354. package/dist/ui/index.html +6 -6
  355. package/dist/utils/claude-spawner.d.ts +54 -0
  356. package/dist/utils/claude-spawner.d.ts.map +1 -0
  357. package/dist/utils/claude-spawner.js +118 -0
  358. package/dist/utils/claude-spawner.js.map +1 -0
  359. package/dist/utils/delegation-validator.d.ts +8 -4
  360. package/dist/utils/delegation-validator.d.ts.map +1 -1
  361. package/dist/utils/delegation-validator.js.map +1 -1
  362. package/dist/utils/helpers.d.ts +0 -11
  363. package/dist/utils/helpers.d.ts.map +1 -1
  364. package/dist/utils/helpers.js +1 -57
  365. package/dist/utils/helpers.js.map +1 -1
  366. package/dist/utils/index.d.ts +15 -0
  367. package/dist/utils/index.d.ts.map +1 -0
  368. package/dist/utils/index.js +50 -0
  369. package/dist/utils/index.js.map +1 -0
  370. package/dist/utils/time.d.ts +10 -0
  371. package/dist/utils/time.d.ts.map +1 -0
  372. package/dist/utils/time.js +27 -0
  373. package/dist/utils/time.js.map +1 -0
  374. package/dist/utils/ui/boxes.d.ts +24 -0
  375. package/dist/utils/ui/boxes.d.ts.map +1 -0
  376. package/dist/utils/ui/boxes.js +108 -0
  377. package/dist/utils/ui/boxes.js.map +1 -0
  378. package/dist/utils/ui/colors.d.ts +25 -0
  379. package/dist/utils/ui/colors.d.ts.map +1 -0
  380. package/dist/utils/ui/colors.js +70 -0
  381. package/dist/utils/ui/colors.js.map +1 -0
  382. package/dist/utils/ui/index.d.ts +51 -0
  383. package/dist/utils/ui/index.d.ts.map +1 -0
  384. package/dist/utils/ui/index.js +96 -0
  385. package/dist/utils/ui/index.js.map +1 -0
  386. package/dist/utils/ui/indicators.d.ts +23 -0
  387. package/dist/utils/ui/indicators.d.ts.map +1 -0
  388. package/dist/utils/ui/indicators.js +39 -0
  389. package/dist/utils/ui/indicators.js.map +1 -0
  390. package/dist/utils/ui/init.d.ts +30 -0
  391. package/dist/utils/ui/init.d.ts.map +1 -0
  392. package/dist/utils/ui/init.js +102 -0
  393. package/dist/utils/ui/init.js.map +1 -0
  394. package/dist/utils/ui/spinner.d.ts +13 -0
  395. package/dist/utils/ui/spinner.d.ts.map +1 -0
  396. package/dist/utils/ui/spinner.js +89 -0
  397. package/dist/utils/ui/spinner.js.map +1 -0
  398. package/dist/utils/ui/tables.d.ts +12 -0
  399. package/dist/utils/ui/tables.d.ts.map +1 -0
  400. package/dist/utils/ui/tables.js +69 -0
  401. package/dist/utils/ui/tables.js.map +1 -0
  402. package/dist/utils/ui/tasks.d.ts +26 -0
  403. package/dist/utils/ui/tasks.d.ts.map +1 -0
  404. package/dist/utils/ui/tasks.js +102 -0
  405. package/dist/utils/ui/tasks.js.map +1 -0
  406. package/dist/utils/ui/text.d.ts +24 -0
  407. package/dist/utils/ui/text.d.ts.map +1 -0
  408. package/dist/utils/ui/text.js +60 -0
  409. package/dist/utils/ui/text.js.map +1 -0
  410. package/dist/utils/ui/types.d.ts +36 -0
  411. package/dist/utils/ui/types.d.ts.map +1 -0
  412. package/dist/utils/ui/types.js +33 -0
  413. package/dist/utils/ui/types.js.map +1 -0
  414. package/dist/utils/ui.d.ts +3 -138
  415. package/dist/utils/ui.d.ts.map +1 -1
  416. package/dist/utils/ui.js +40 -567
  417. package/dist/utils/ui.js.map +1 -1
  418. package/dist/utils/websearch/gemini-cli.d.ts +36 -0
  419. package/dist/utils/websearch/gemini-cli.d.ts.map +1 -0
  420. package/dist/utils/websearch/gemini-cli.js +132 -0
  421. package/dist/utils/websearch/gemini-cli.js.map +1 -0
  422. package/dist/utils/websearch/grok-cli.d.ts +26 -0
  423. package/dist/utils/websearch/grok-cli.d.ts.map +1 -0
  424. package/dist/utils/websearch/grok-cli.js +81 -0
  425. package/dist/utils/websearch/grok-cli.js.map +1 -0
  426. package/dist/utils/websearch/hook-config.d.ts +21 -0
  427. package/dist/utils/websearch/hook-config.d.ts.map +1 -0
  428. package/dist/utils/websearch/hook-config.js +183 -0
  429. package/dist/utils/websearch/hook-config.js.map +1 -0
  430. package/dist/utils/websearch/hook-env.d.ts +16 -0
  431. package/dist/utils/websearch/hook-env.d.ts.map +1 -0
  432. package/dist/utils/websearch/hook-env.js +62 -0
  433. package/dist/utils/websearch/hook-env.js.map +1 -0
  434. package/dist/utils/websearch/hook-installer.d.ts +27 -0
  435. package/dist/utils/websearch/hook-installer.d.ts.map +1 -0
  436. package/dist/utils/websearch/hook-installer.js +141 -0
  437. package/dist/utils/websearch/hook-installer.js.map +1 -0
  438. package/dist/utils/websearch/index.d.ts +15 -0
  439. package/dist/utils/websearch/index.d.ts.map +1 -0
  440. package/dist/utils/websearch/index.js +44 -0
  441. package/dist/utils/websearch/index.js.map +1 -0
  442. package/dist/utils/websearch/opencode-cli.d.ts +26 -0
  443. package/dist/utils/websearch/opencode-cli.d.ts.map +1 -0
  444. package/dist/utils/websearch/opencode-cli.js +81 -0
  445. package/dist/utils/websearch/opencode-cli.js.map +1 -0
  446. package/dist/utils/websearch/status.d.ts +35 -0
  447. package/dist/utils/websearch/status.d.ts.map +1 -0
  448. package/dist/utils/websearch/status.js +185 -0
  449. package/dist/utils/websearch/status.js.map +1 -0
  450. package/dist/utils/websearch/types.d.ts +85 -0
  451. package/dist/utils/websearch/types.d.ts.map +1 -0
  452. package/dist/utils/websearch/types.js +10 -0
  453. package/dist/utils/websearch/types.js.map +1 -0
  454. package/dist/utils/websearch-manager.d.ts +7 -186
  455. package/dist/utils/websearch-manager.d.ts.map +1 -1
  456. package/dist/utils/websearch-manager.js +37 -710
  457. package/dist/utils/websearch-manager.js.map +1 -1
  458. package/dist/web-server/data-aggregator.d.ts +3 -51
  459. package/dist/web-server/data-aggregator.d.ts.map +1 -1
  460. package/dist/web-server/data-aggregator.js +18 -386
  461. package/dist/web-server/data-aggregator.js.map +1 -1
  462. package/dist/web-server/health/cliproxy-checks.d.ts +23 -0
  463. package/dist/web-server/health/cliproxy-checks.d.ts.map +1 -0
  464. package/dist/web-server/health/cliproxy-checks.js +145 -0
  465. package/dist/web-server/health/cliproxy-checks.js.map +1 -0
  466. package/dist/web-server/health/config-checks.d.ts +19 -0
  467. package/dist/web-server/health/config-checks.d.ts.map +1 -0
  468. package/dist/web-server/health/config-checks.js +174 -0
  469. package/dist/web-server/health/config-checks.js.map +1 -0
  470. package/dist/web-server/health/environment-checks.d.ts +11 -0
  471. package/dist/web-server/health/environment-checks.d.ts.map +1 -0
  472. package/dist/web-server/health/environment-checks.js +40 -0
  473. package/dist/web-server/health/environment-checks.js.map +1 -0
  474. package/dist/web-server/health/index.d.ts +13 -0
  475. package/dist/web-server/health/index.d.ts.map +1 -0
  476. package/dist/web-server/health/index.js +41 -0
  477. package/dist/web-server/health/index.js.map +1 -0
  478. package/dist/web-server/health/oauth-checks.d.ts +11 -0
  479. package/dist/web-server/health/oauth-checks.d.ts.map +1 -0
  480. package/dist/web-server/health/oauth-checks.js +34 -0
  481. package/dist/web-server/health/oauth-checks.js.map +1 -0
  482. package/dist/web-server/health/profile-checks.d.ts +19 -0
  483. package/dist/web-server/health/profile-checks.d.ts.map +1 -0
  484. package/dist/web-server/health/profile-checks.js +152 -0
  485. package/dist/web-server/health/profile-checks.js.map +1 -0
  486. package/dist/web-server/health/symlink-checks.d.ts +15 -0
  487. package/dist/web-server/health/symlink-checks.d.ts.map +1 -0
  488. package/dist/web-server/health/symlink-checks.js +173 -0
  489. package/dist/web-server/health/symlink-checks.js.map +1 -0
  490. package/dist/web-server/health/system-checks.d.ts +19 -0
  491. package/dist/web-server/health/system-checks.d.ts.map +1 -0
  492. package/dist/web-server/health/system-checks.js +127 -0
  493. package/dist/web-server/health/system-checks.js.map +1 -0
  494. package/dist/web-server/health/types.d.ts +34 -0
  495. package/dist/web-server/health/types.d.ts.map +1 -0
  496. package/dist/web-server/health/types.js +8 -0
  497. package/dist/web-server/health/types.js.map +1 -0
  498. package/dist/web-server/health/websearch-checks.d.ts +11 -0
  499. package/dist/web-server/health/websearch-checks.d.ts.map +1 -0
  500. package/dist/web-server/health/websearch-checks.js +53 -0
  501. package/dist/web-server/health/websearch-checks.js.map +1 -0
  502. package/dist/web-server/health-service.d.ts +4 -30
  503. package/dist/web-server/health-service.d.ts.map +1 -1
  504. package/dist/web-server/health-service.js +28 -695
  505. package/dist/web-server/health-service.js.map +1 -1
  506. package/dist/web-server/index.d.ts.map +1 -1
  507. package/dist/web-server/index.js +2 -5
  508. package/dist/web-server/index.js.map +1 -1
  509. package/dist/web-server/routes/cliproxy-auth-routes.d.ts +6 -0
  510. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -0
  511. package/dist/web-server/routes/cliproxy-auth-routes.js +202 -0
  512. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -0
  513. package/dist/web-server/routes/cliproxy-stats-routes.d.ts +6 -0
  514. package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -0
  515. package/dist/web-server/routes/cliproxy-stats-routes.js +253 -0
  516. package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -0
  517. package/dist/web-server/routes/config-routes.d.ts +6 -0
  518. package/dist/web-server/routes/config-routes.d.ts.map +1 -0
  519. package/dist/web-server/routes/config-routes.js +145 -0
  520. package/dist/web-server/routes/config-routes.js.map +1 -0
  521. package/dist/web-server/routes/copilot-routes.d.ts +6 -0
  522. package/dist/web-server/routes/copilot-routes.d.ts.map +1 -0
  523. package/dist/web-server/routes/copilot-routes.js +195 -0
  524. package/dist/web-server/routes/copilot-routes.js.map +1 -0
  525. package/dist/web-server/routes/copilot-settings-routes.d.ts +6 -0
  526. package/dist/web-server/routes/copilot-settings-routes.d.ts.map +1 -0
  527. package/dist/web-server/routes/copilot-settings-routes.js +122 -0
  528. package/dist/web-server/routes/copilot-settings-routes.js.map +1 -0
  529. package/dist/web-server/routes/health-routes.d.ts +6 -0
  530. package/dist/web-server/routes/health-routes.d.ts.map +1 -0
  531. package/dist/web-server/routes/health-routes.js +30 -0
  532. package/dist/web-server/routes/health-routes.js.map +1 -0
  533. package/dist/web-server/routes/index.d.ts +8 -0
  534. package/dist/web-server/routes/index.d.ts.map +1 -0
  535. package/dist/web-server/routes/index.js +54 -0
  536. package/dist/web-server/routes/index.js.map +1 -0
  537. package/dist/web-server/routes/misc-routes.d.ts +6 -0
  538. package/dist/web-server/routes/misc-routes.d.ts.map +1 -0
  539. package/dist/web-server/routes/misc-routes.js +219 -0
  540. package/dist/web-server/routes/misc-routes.js.map +1 -0
  541. package/dist/web-server/routes/profile-routes.d.ts +6 -0
  542. package/dist/web-server/routes/profile-routes.d.ts.map +1 -0
  543. package/dist/web-server/routes/profile-routes.js +164 -0
  544. package/dist/web-server/routes/profile-routes.js.map +1 -0
  545. package/dist/web-server/routes/provider-routes.d.ts +6 -0
  546. package/dist/web-server/routes/provider-routes.d.ts.map +1 -0
  547. package/dist/web-server/routes/provider-routes.js +146 -0
  548. package/dist/web-server/routes/provider-routes.js.map +1 -0
  549. package/dist/web-server/routes/route-helpers.d.ts +55 -0
  550. package/dist/web-server/routes/route-helpers.d.ts.map +1 -0
  551. package/dist/web-server/routes/route-helpers.js +201 -0
  552. package/dist/web-server/routes/route-helpers.js.map +1 -0
  553. package/dist/web-server/routes/settings-routes.d.ts +6 -0
  554. package/dist/web-server/routes/settings-routes.d.ts.map +1 -0
  555. package/dist/web-server/routes/settings-routes.js +207 -0
  556. package/dist/web-server/routes/settings-routes.js.map +1 -0
  557. package/dist/web-server/routes/variant-routes.d.ts +6 -0
  558. package/dist/web-server/routes/variant-routes.d.ts.map +1 -0
  559. package/dist/web-server/routes/variant-routes.js +158 -0
  560. package/dist/web-server/routes/variant-routes.js.map +1 -0
  561. package/dist/web-server/routes/websearch-routes.d.ts +6 -0
  562. package/dist/web-server/routes/websearch-routes.d.ts.map +1 -0
  563. package/dist/web-server/routes/websearch-routes.js +130 -0
  564. package/dist/web-server/routes/websearch-routes.js.map +1 -0
  565. package/dist/web-server/services/index.d.ts +7 -0
  566. package/dist/web-server/services/index.d.ts.map +1 -0
  567. package/dist/web-server/services/index.js +21 -0
  568. package/dist/web-server/services/index.js.map +1 -0
  569. package/dist/web-server/services/usage-aggregator.d.ts +7 -0
  570. package/dist/web-server/services/usage-aggregator.d.ts.map +1 -0
  571. package/dist/web-server/services/usage-aggregator.js +23 -0
  572. package/dist/web-server/services/usage-aggregator.js.map +1 -0
  573. package/dist/web-server/usage/aggregator.d.ts +54 -0
  574. package/dist/web-server/usage/aggregator.d.ts.map +1 -0
  575. package/dist/web-server/usage/aggregator.js +470 -0
  576. package/dist/web-server/usage/aggregator.js.map +1 -0
  577. package/dist/web-server/usage/data-aggregator.d.ts +55 -0
  578. package/dist/web-server/usage/data-aggregator.d.ts.map +1 -0
  579. package/dist/web-server/usage/data-aggregator.js +391 -0
  580. package/dist/web-server/usage/data-aggregator.js.map +1 -0
  581. package/dist/web-server/usage/disk-cache.d.ts +46 -0
  582. package/dist/web-server/usage/disk-cache.d.ts.map +1 -0
  583. package/dist/web-server/usage/disk-cache.js +162 -0
  584. package/dist/web-server/usage/disk-cache.js.map +1 -0
  585. package/dist/web-server/usage/handlers.d.ts +50 -0
  586. package/dist/web-server/usage/handlers.d.ts.map +1 -0
  587. package/dist/web-server/usage/handlers.js +524 -0
  588. package/dist/web-server/usage/handlers.js.map +1 -0
  589. package/dist/web-server/usage/index.d.ts +12 -0
  590. package/dist/web-server/usage/index.d.ts.map +1 -0
  591. package/dist/web-server/usage/index.js +54 -0
  592. package/dist/web-server/usage/index.js.map +1 -0
  593. package/dist/web-server/usage/routes.d.ts +11 -0
  594. package/dist/web-server/usage/routes.d.ts.map +1 -0
  595. package/dist/web-server/usage/routes.js +37 -0
  596. package/dist/web-server/usage/routes.js.map +1 -0
  597. package/dist/web-server/usage/types.d.ts +119 -0
  598. package/dist/web-server/usage/types.d.ts.map +1 -0
  599. package/dist/web-server/usage/types.js +9 -0
  600. package/dist/web-server/usage/types.js.map +1 -0
  601. package/dist/web-server/usage-disk-cache.d.ts +3 -42
  602. package/dist/web-server/usage-disk-cache.d.ts.map +1 -1
  603. package/dist/web-server/usage-disk-cache.js +5 -144
  604. package/dist/web-server/usage-disk-cache.js.map +1 -1
  605. package/dist/web-server/usage-routes.d.ts +3 -31
  606. package/dist/web-server/usage-routes.d.ts.map +1 -1
  607. package/dist/web-server/usage-routes.js +8 -1139
  608. package/dist/web-server/usage-routes.js.map +1 -1
  609. package/dist/web-server/usage-types.d.ts +3 -115
  610. package/dist/web-server/usage-types.d.ts.map +1 -1
  611. package/dist/web-server/usage-types.js +17 -3
  612. package/dist/web-server/usage-types.js.map +1 -1
  613. package/package.json +1 -1
  614. package/scripts/dev-release.sh +113 -0
  615. package/dist/ui/assets/analytics-D1k2nYcF.js +0 -1
  616. package/dist/ui/assets/api-D9VVmZ1j.js +0 -1
  617. package/dist/ui/assets/cliproxy-CTt_Nsft.js +0 -1
  618. package/dist/ui/assets/cliproxy-control-panel-DKMAi4_4.js +0 -1
  619. package/dist/ui/assets/copilot-C6F8PT_L.js +0 -4
  620. package/dist/ui/assets/form-utils-BuXDJb0w.js +0 -20
  621. package/dist/ui/assets/health-DiAvJaSn.js +0 -1
  622. package/dist/ui/assets/index-Brq6EBKZ.css +0 -1
  623. package/dist/ui/assets/index-ByU8ZhED.js +0 -48
  624. package/dist/ui/assets/settings-CEomZLGl.js +0 -1
  625. package/dist/web-server/routes.d.ts +0 -7
  626. package/dist/web-server/routes.d.ts.map +0 -1
  627. package/dist/web-server/routes.js +0 -1891
  628. package/dist/web-server/routes.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini-cli.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/gemini-cli.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAK/C;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAgDpD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAe/C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ /**
3
+ * Gemini CLI Detection
4
+ *
5
+ * Detects and manages Gemini CLI installation status.
6
+ *
7
+ * @module utils/websearch/gemini-cli
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.clearGeminiCliCache = exports.isGeminiAuthenticated = exports.hasGeminiCli = exports.getGeminiCliStatus = void 0;
34
+ const fs = __importStar(require("fs"));
35
+ const path = __importStar(require("path"));
36
+ const os = __importStar(require("os"));
37
+ const child_process_1 = require("child_process");
38
+ // Cache for Gemini CLI status (per process)
39
+ let geminiCliCache = null;
40
+ /**
41
+ * Check if Gemini CLI is installed globally
42
+ *
43
+ * Requires global install: `npm install -g @google/gemini-cli`
44
+ * No npx fallback - must be in PATH
45
+ *
46
+ * @returns Gemini CLI status with path and version
47
+ */
48
+ function getGeminiCliStatus() {
49
+ // Return cached result if available
50
+ if (geminiCliCache) {
51
+ return geminiCliCache;
52
+ }
53
+ const result = {
54
+ installed: false,
55
+ path: undefined,
56
+ version: undefined,
57
+ };
58
+ try {
59
+ const isWindows = process.platform === 'win32';
60
+ const whichCmd = isWindows ? 'where gemini' : 'which gemini';
61
+ const pathResult = (0, child_process_1.execSync)(whichCmd, {
62
+ encoding: 'utf8',
63
+ timeout: 5000,
64
+ stdio: ['pipe', 'pipe', 'pipe'],
65
+ });
66
+ const geminiPath = pathResult.trim().split('\n')[0]; // First result on Windows
67
+ if (geminiPath) {
68
+ result.installed = true;
69
+ result.path = geminiPath;
70
+ // Try to get version
71
+ try {
72
+ const versionResult = (0, child_process_1.execSync)('gemini --version', {
73
+ encoding: 'utf8',
74
+ timeout: 5000,
75
+ stdio: ['pipe', 'pipe', 'pipe'],
76
+ });
77
+ result.version = versionResult.trim();
78
+ }
79
+ catch {
80
+ // Version check failed, but CLI is installed
81
+ result.version = 'unknown';
82
+ }
83
+ }
84
+ }
85
+ catch {
86
+ // Command not found - Gemini CLI not installed
87
+ }
88
+ // Cache result
89
+ geminiCliCache = result;
90
+ return result;
91
+ }
92
+ exports.getGeminiCliStatus = getGeminiCliStatus;
93
+ /**
94
+ * Check if Gemini CLI is available (quick boolean check)
95
+ */
96
+ function hasGeminiCli() {
97
+ return getGeminiCliStatus().installed;
98
+ }
99
+ exports.hasGeminiCli = hasGeminiCli;
100
+ /**
101
+ * Check if Gemini CLI is authenticated
102
+ *
103
+ * Gemini CLI stores OAuth credentials in ~/.gemini/oauth_creds.json
104
+ * Authentication is done by running `gemini` which opens browser for OAuth.
105
+ * Note: There is NO `gemini auth login` command - just run `gemini` to authenticate.
106
+ *
107
+ * @returns true if oauth_creds.json exists with access_token
108
+ */
109
+ function isGeminiAuthenticated() {
110
+ const oauthPath = path.join(os.homedir(), '.gemini', 'oauth_creds.json');
111
+ if (!fs.existsSync(oauthPath)) {
112
+ return false;
113
+ }
114
+ try {
115
+ const content = fs.readFileSync(oauthPath, 'utf8');
116
+ const creds = JSON.parse(content);
117
+ // Check if access_token exists (doesn't validate expiry - Gemini CLI handles refresh)
118
+ return !!creds.access_token;
119
+ }
120
+ catch {
121
+ return false;
122
+ }
123
+ }
124
+ exports.isGeminiAuthenticated = isGeminiAuthenticated;
125
+ /**
126
+ * Clear Gemini CLI cache (for testing or after installation)
127
+ */
128
+ function clearGeminiCliCache() {
129
+ geminiCliCache = null;
130
+ }
131
+ exports.clearGeminiCliCache = clearGeminiCliCache;
132
+ //# sourceMappingURL=gemini-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini-cli.js","sourceRoot":"","sources":["../../../src/utils/websearch/gemini-cli.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,iDAAyC;AAGzC,4CAA4C;AAC5C,IAAI,cAAc,GAA2B,IAAI,CAAC;AAElD;;;;;;;GAOG;AACH,SAAgB,kBAAkB;IAChC,oCAAoC;IACpC,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAoB;QAC9B,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;KACnB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;QAC/C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;QAE7D,MAAM,UAAU,GAAG,IAAA,wBAAQ,EAAC,QAAQ,EAAE;YACpC,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;QAE/E,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;YAEzB,qBAAqB;YACrB,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,IAAA,wBAAQ,EAAC,kBAAkB,EAAE;oBACjD,QAAQ,EAAE,MAAM;oBAChB,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;iBAChC,CAAC,CAAC;gBACH,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,6CAA6C;gBAC7C,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;IAED,eAAe;IACf,cAAc,GAAG,MAAM,CAAC;IACxB,OAAO,MAAM,CAAC;AAChB,CAAC;AAhDD,gDAgDC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,OAAO,kBAAkB,EAAE,CAAC,SAAS,CAAC;AACxC,CAAC;AAFD,oCAEC;AAED;;;;;;;;GAQG;AACH,SAAgB,qBAAqB;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAEzE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,sFAAsF;QACtF,OAAO,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAfD,sDAeC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC;AAFD,kDAEC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Grok CLI Detection
3
+ *
4
+ * Detects and manages Grok CLI installation status.
5
+ *
6
+ * @module utils/websearch/grok-cli
7
+ */
8
+ import type { GrokCliStatus } from './types';
9
+ /**
10
+ * Check if Grok CLI is installed globally
11
+ *
12
+ * Grok CLI (grok-4-cli by lalomorales22) provides web search + X search.
13
+ * Requires: `npm install -g grok-cli` and XAI_API_KEY env var.
14
+ *
15
+ * @returns Grok CLI status with path and version
16
+ */
17
+ export declare function getGrokCliStatus(): GrokCliStatus;
18
+ /**
19
+ * Check if Grok CLI is available (quick boolean check)
20
+ */
21
+ export declare function hasGrokCli(): boolean;
22
+ /**
23
+ * Clear Grok CLI cache (for testing or after installation)
24
+ */
25
+ export declare function clearGrokCliCache(): void;
26
+ //# sourceMappingURL=grok-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grok-cli.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/grok-cli.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAK7C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAgDhD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ /**
3
+ * Grok CLI Detection
4
+ *
5
+ * Detects and manages Grok CLI installation status.
6
+ *
7
+ * @module utils/websearch/grok-cli
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.clearGrokCliCache = exports.hasGrokCli = exports.getGrokCliStatus = void 0;
11
+ const child_process_1 = require("child_process");
12
+ // Cache for Grok CLI status (per process)
13
+ let grokCliCache = null;
14
+ /**
15
+ * Check if Grok CLI is installed globally
16
+ *
17
+ * Grok CLI (grok-4-cli by lalomorales22) provides web search + X search.
18
+ * Requires: `npm install -g grok-cli` and XAI_API_KEY env var.
19
+ *
20
+ * @returns Grok CLI status with path and version
21
+ */
22
+ function getGrokCliStatus() {
23
+ // Return cached result if available
24
+ if (grokCliCache) {
25
+ return grokCliCache;
26
+ }
27
+ const result = {
28
+ installed: false,
29
+ path: undefined,
30
+ version: undefined,
31
+ };
32
+ try {
33
+ const isWindows = process.platform === 'win32';
34
+ const whichCmd = isWindows ? 'where grok' : 'which grok';
35
+ const pathResult = (0, child_process_1.execSync)(whichCmd, {
36
+ encoding: 'utf8',
37
+ timeout: 5000,
38
+ stdio: ['pipe', 'pipe', 'pipe'],
39
+ });
40
+ const grokPath = pathResult.trim().split('\n')[0]; // First result on Windows
41
+ if (grokPath) {
42
+ result.installed = true;
43
+ result.path = grokPath;
44
+ // Try to get version
45
+ try {
46
+ const versionResult = (0, child_process_1.execSync)('grok --version', {
47
+ encoding: 'utf8',
48
+ timeout: 5000,
49
+ stdio: ['pipe', 'pipe', 'pipe'],
50
+ });
51
+ result.version = versionResult.trim();
52
+ }
53
+ catch {
54
+ // Version check failed, but CLI is installed
55
+ result.version = 'unknown';
56
+ }
57
+ }
58
+ }
59
+ catch {
60
+ // Command not found - Grok CLI not installed
61
+ }
62
+ // Cache result
63
+ grokCliCache = result;
64
+ return result;
65
+ }
66
+ exports.getGrokCliStatus = getGrokCliStatus;
67
+ /**
68
+ * Check if Grok CLI is available (quick boolean check)
69
+ */
70
+ function hasGrokCli() {
71
+ return getGrokCliStatus().installed;
72
+ }
73
+ exports.hasGrokCli = hasGrokCli;
74
+ /**
75
+ * Clear Grok CLI cache (for testing or after installation)
76
+ */
77
+ function clearGrokCliCache() {
78
+ grokCliCache = null;
79
+ }
80
+ exports.clearGrokCliCache = clearGrokCliCache;
81
+ //# sourceMappingURL=grok-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grok-cli.js","sourceRoot":"","sources":["../../../src/utils/websearch/grok-cli.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,iDAAyC;AAGzC,0CAA0C;AAC1C,IAAI,YAAY,GAAyB,IAAI,CAAC;AAE9C;;;;;;;GAOG;AACH,SAAgB,gBAAgB;IAC9B,oCAAoC;IACpC,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,MAAM,GAAkB;QAC5B,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;KACnB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;QAC/C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;QAEzD,MAAM,UAAU,GAAG,IAAA,wBAAQ,EAAC,QAAQ,EAAE;YACpC,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;QAE7E,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YAEvB,qBAAqB;YACrB,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,IAAA,wBAAQ,EAAC,gBAAgB,EAAE;oBAC/C,QAAQ,EAAE,MAAM;oBAChB,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;iBAChC,CAAC,CAAC;gBACH,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,6CAA6C;gBAC7C,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;IAED,eAAe;IACf,YAAY,GAAG,MAAM,CAAC;IACtB,OAAO,MAAM,CAAC;AAChB,CAAC;AAhDD,4CAgDC;AAED;;GAEG;AACH,SAAgB,UAAU;IACxB,OAAO,gBAAgB,EAAE,CAAC,SAAS,CAAC;AACtC,CAAC;AAFD,gCAEC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,YAAY,GAAG,IAAI,CAAC;AACtB,CAAC;AAFD,8CAEC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * WebSearch Hook Configuration
3
+ *
4
+ * Manages hook configuration in Claude settings.json.
5
+ *
6
+ * @module utils/websearch/hook-config
7
+ */
8
+ /**
9
+ * Get path to WebSearch hook
10
+ */
11
+ export declare function getHookPath(): string;
12
+ /**
13
+ * Get WebSearch hook configuration for settings.json
14
+ * Timeout is computed from max provider timeout in config.yaml + buffer
15
+ */
16
+ export declare function getWebSearchHookConfig(): Record<string, unknown>;
17
+ /**
18
+ * Ensure WebSearch hook is configured in ~/.claude/settings.json
19
+ */
20
+ export declare function ensureHookConfig(): boolean;
21
+ //# sourceMappingURL=hook-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-config.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/hook-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAuBH;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkChE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAoG1C"}
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+ /**
3
+ * WebSearch Hook Configuration
4
+ *
5
+ * Manages hook configuration in Claude settings.json.
6
+ *
7
+ * @module utils/websearch/hook-config
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.ensureHookConfig = exports.getWebSearchHookConfig = exports.getHookPath = void 0;
34
+ const fs = __importStar(require("fs"));
35
+ const path = __importStar(require("path"));
36
+ const os = __importStar(require("os"));
37
+ const ui_1 = require("../ui");
38
+ const unified_config_loader_1 = require("../../config/unified-config-loader");
39
+ // Path to Claude settings.json
40
+ const CLAUDE_SETTINGS_PATH = path.join(os.homedir(), '.claude', 'settings.json');
41
+ // CCS hooks directory
42
+ const CCS_HOOKS_DIR = path.join(os.homedir(), '.ccs', 'hooks');
43
+ // Hook file name
44
+ const WEBSEARCH_HOOK = 'websearch-transformer.cjs';
45
+ // Buffer time added to max provider timeout for hook timeout (seconds)
46
+ const HOOK_TIMEOUT_BUFFER = 30;
47
+ // Minimum hook timeout in seconds (fallback if no providers configured)
48
+ const MIN_HOOK_TIMEOUT = 60;
49
+ /**
50
+ * Get path to WebSearch hook
51
+ */
52
+ function getHookPath() {
53
+ return path.join(CCS_HOOKS_DIR, WEBSEARCH_HOOK);
54
+ }
55
+ exports.getHookPath = getHookPath;
56
+ /**
57
+ * Get WebSearch hook configuration for settings.json
58
+ * Timeout is computed from max provider timeout in config.yaml + buffer
59
+ */
60
+ function getWebSearchHookConfig() {
61
+ const hookPath = getHookPath();
62
+ const wsConfig = (0, unified_config_loader_1.getWebSearchConfig)();
63
+ // Compute max timeout from enabled providers
64
+ const timeouts = [];
65
+ if (wsConfig.providers?.gemini?.enabled && wsConfig.providers.gemini.timeout) {
66
+ timeouts.push(wsConfig.providers.gemini.timeout);
67
+ }
68
+ if (wsConfig.providers?.opencode?.enabled && wsConfig.providers.opencode.timeout) {
69
+ timeouts.push(wsConfig.providers.opencode.timeout);
70
+ }
71
+ if (wsConfig.providers?.grok?.enabled && wsConfig.providers.grok.timeout) {
72
+ timeouts.push(wsConfig.providers.grok.timeout);
73
+ }
74
+ // Hook timeout = max provider timeout + buffer (or minimum if none configured)
75
+ const maxProviderTimeout = timeouts.length > 0 ? Math.max(...timeouts) : MIN_HOOK_TIMEOUT;
76
+ const hookTimeout = maxProviderTimeout + HOOK_TIMEOUT_BUFFER;
77
+ return {
78
+ PreToolUse: [
79
+ {
80
+ matcher: 'WebSearch',
81
+ hooks: [
82
+ {
83
+ type: 'command',
84
+ command: `node "${hookPath}"`,
85
+ timeout: hookTimeout,
86
+ },
87
+ ],
88
+ },
89
+ ],
90
+ };
91
+ }
92
+ exports.getWebSearchHookConfig = getWebSearchHookConfig;
93
+ /**
94
+ * Ensure WebSearch hook is configured in ~/.claude/settings.json
95
+ */
96
+ function ensureHookConfig() {
97
+ try {
98
+ const wsConfig = (0, unified_config_loader_1.getWebSearchConfig)();
99
+ if (!wsConfig.enabled) {
100
+ return false;
101
+ }
102
+ // Read existing settings or start fresh
103
+ let settings = {};
104
+ if (fs.existsSync(CLAUDE_SETTINGS_PATH)) {
105
+ try {
106
+ const content = fs.readFileSync(CLAUDE_SETTINGS_PATH, 'utf8');
107
+ settings = JSON.parse(content);
108
+ }
109
+ catch {
110
+ if (process.env.CCS_DEBUG) {
111
+ console.error((0, ui_1.warn)('Malformed settings.json - will merge carefully'));
112
+ }
113
+ }
114
+ }
115
+ // Check if WebSearch hook already configured
116
+ const hooks = settings.hooks;
117
+ const expectedHookPath = getHookPath();
118
+ const expectedCommand = `node "${expectedHookPath}"`;
119
+ if (hooks?.PreToolUse) {
120
+ const webSearchHookIndex = hooks.PreToolUse.findIndex((h) => {
121
+ const hook = h;
122
+ return hook.matcher === 'WebSearch';
123
+ });
124
+ if (webSearchHookIndex !== -1) {
125
+ // Hook exists - check if it needs updating
126
+ const existingHook = hooks.PreToolUse[webSearchHookIndex];
127
+ const existingHooks = existingHook.hooks;
128
+ const currentHookConfig = getWebSearchHookConfig();
129
+ const expectedHooks = currentHookConfig.PreToolUse[0]
130
+ .hooks;
131
+ const expectedTimeout = expectedHooks[0].timeout;
132
+ let needsUpdate = false;
133
+ if (existingHooks?.[0]?.command !== expectedCommand) {
134
+ existingHooks[0].command = expectedCommand;
135
+ needsUpdate = true;
136
+ }
137
+ if (existingHooks?.[0]?.timeout !== expectedTimeout) {
138
+ existingHooks[0].timeout = expectedTimeout;
139
+ needsUpdate = true;
140
+ }
141
+ if (needsUpdate) {
142
+ fs.writeFileSync(CLAUDE_SETTINGS_PATH, JSON.stringify(settings, null, 2), 'utf8');
143
+ if (process.env.CCS_DEBUG) {
144
+ console.error((0, ui_1.info)('Updated WebSearch hook config in settings.json'));
145
+ }
146
+ }
147
+ return true;
148
+ }
149
+ }
150
+ // Get hook config
151
+ const hookConfig = getWebSearchHookConfig();
152
+ // Merge hook config into settings
153
+ if (!settings.hooks) {
154
+ settings.hooks = {};
155
+ }
156
+ const settingsHooks = settings.hooks;
157
+ if (!settingsHooks.PreToolUse) {
158
+ settingsHooks.PreToolUse = [];
159
+ }
160
+ // Add our hook config
161
+ const preToolUseHooks = hookConfig.PreToolUse;
162
+ settingsHooks.PreToolUse.push(...preToolUseHooks);
163
+ // Ensure ~/.claude directory exists
164
+ const claudeDir = path.dirname(CLAUDE_SETTINGS_PATH);
165
+ if (!fs.existsSync(claudeDir)) {
166
+ fs.mkdirSync(claudeDir, { recursive: true, mode: 0o700 });
167
+ }
168
+ // Write updated settings
169
+ fs.writeFileSync(CLAUDE_SETTINGS_PATH, JSON.stringify(settings, null, 2), 'utf8');
170
+ if (process.env.CCS_DEBUG) {
171
+ console.error((0, ui_1.info)('Added WebSearch hook to settings.json'));
172
+ }
173
+ return true;
174
+ }
175
+ catch (error) {
176
+ if (process.env.CCS_DEBUG) {
177
+ console.error((0, ui_1.warn)(`Failed to configure WebSearch hook: ${error.message}`));
178
+ }
179
+ return false;
180
+ }
181
+ }
182
+ exports.ensureHookConfig = ensureHookConfig;
183
+ //# sourceMappingURL=hook-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-config.js","sourceRoot":"","sources":["../../../src/utils/websearch/hook-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * WebSearch Hook Environment Variables
3
+ *
4
+ * Provides environment variables for WebSearch hook configuration.
5
+ *
6
+ * @module utils/websearch/hook-env
7
+ */
8
+ /**
9
+ * Get environment variables for WebSearch hook configuration.
10
+ *
11
+ * Simple env vars - hook reads these to control behavior.
12
+ *
13
+ * @returns Record of environment variables to set before spawning Claude
14
+ */
15
+ export declare function getWebSearchHookEnv(): Record<string, string>;
16
+ //# sourceMappingURL=hook-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-env.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/hook-env.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgD5D"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ /**
3
+ * WebSearch Hook Environment Variables
4
+ *
5
+ * Provides environment variables for WebSearch hook configuration.
6
+ *
7
+ * @module utils/websearch/hook-env
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.getWebSearchHookEnv = void 0;
11
+ const unified_config_loader_1 = require("../../config/unified-config-loader");
12
+ /**
13
+ * Get environment variables for WebSearch hook configuration.
14
+ *
15
+ * Simple env vars - hook reads these to control behavior.
16
+ *
17
+ * @returns Record of environment variables to set before spawning Claude
18
+ */
19
+ function getWebSearchHookEnv() {
20
+ const wsConfig = (0, unified_config_loader_1.getWebSearchConfig)();
21
+ const env = {};
22
+ // Skip hook entirely if disabled
23
+ if (!wsConfig.enabled) {
24
+ env.CCS_WEBSEARCH_SKIP = '1';
25
+ return env;
26
+ }
27
+ // Pass master switch
28
+ env.CCS_WEBSEARCH_ENABLED = '1';
29
+ // Pass individual provider enabled states
30
+ // Hook will only use providers that are BOTH enabled AND installed
31
+ if (wsConfig.providers?.gemini?.enabled) {
32
+ env.CCS_WEBSEARCH_GEMINI = '1';
33
+ if (wsConfig.providers.gemini.model) {
34
+ env.CCS_WEBSEARCH_GEMINI_MODEL = wsConfig.providers.gemini.model;
35
+ }
36
+ env.CCS_WEBSEARCH_TIMEOUT = String(wsConfig.providers.gemini.timeout || 55);
37
+ }
38
+ if (wsConfig.providers?.opencode?.enabled) {
39
+ env.CCS_WEBSEARCH_OPENCODE = '1';
40
+ if (wsConfig.providers.opencode.model) {
41
+ env.CCS_WEBSEARCH_OPENCODE_MODEL = wsConfig.providers.opencode.model;
42
+ }
43
+ // Use opencode timeout if no gemini timeout set
44
+ if (!env.CCS_WEBSEARCH_TIMEOUT) {
45
+ env.CCS_WEBSEARCH_TIMEOUT = String(wsConfig.providers.opencode.timeout || 90);
46
+ }
47
+ }
48
+ if (wsConfig.providers?.grok?.enabled) {
49
+ env.CCS_WEBSEARCH_GROK = '1';
50
+ // Use grok timeout if no other timeout set
51
+ if (!env.CCS_WEBSEARCH_TIMEOUT) {
52
+ env.CCS_WEBSEARCH_TIMEOUT = String(wsConfig.providers.grok.timeout || 55);
53
+ }
54
+ }
55
+ // Default timeout if none set
56
+ if (!env.CCS_WEBSEARCH_TIMEOUT) {
57
+ env.CCS_WEBSEARCH_TIMEOUT = '55';
58
+ }
59
+ return env;
60
+ }
61
+ exports.getWebSearchHookEnv = getWebSearchHookEnv;
62
+ //# sourceMappingURL=hook-env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-env.js","sourceRoot":"","sources":["../../../src/utils/websearch/hook-env.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,8EAAwE;AAExE;;;;;;GAMG;AACH,SAAgB,mBAAmB;IACjC,MAAM,QAAQ,GAAG,IAAA,0CAAkB,GAAE,CAAC;IACtC,MAAM,GAAG,GAA2B,EAAE,CAAC;IAEvC,iCAAiC;IACjC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtB,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC;QAC7B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,qBAAqB;IACrB,GAAG,CAAC,qBAAqB,GAAG,GAAG,CAAC;IAEhC,0CAA0C;IAC1C,mEAAmE;IACnE,IAAI,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACxC,GAAG,CAAC,oBAAoB,GAAG,GAAG,CAAC;QAC/B,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACpC,GAAG,CAAC,0BAA0B,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;QACnE,CAAC;QACD,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAC1C,GAAG,CAAC,sBAAsB,GAAG,GAAG,CAAC;QACjC,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtC,GAAG,CAAC,4BAA4B,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvE,CAAC;QACD,gDAAgD;QAChD,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;YAC/B,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACtC,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC;QAC7B,2CAA2C;QAC3C,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;YAC/B,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;QAC/B,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAhDD,kDAgDC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * WebSearch Hook Installer
3
+ *
4
+ * Manages installation and uninstallation of the WebSearch hook.
5
+ *
6
+ * @module utils/websearch/hook-installer
7
+ */
8
+ export { getHookPath, getWebSearchHookConfig } from './hook-config';
9
+ /**
10
+ * Check if WebSearch hook is installed
11
+ */
12
+ export declare function hasWebSearchHook(): boolean;
13
+ /**
14
+ * Install WebSearch hook to ~/.ccs/hooks/
15
+ *
16
+ * This hook intercepts WebSearch and executes via Gemini CLI.
17
+ *
18
+ * @returns true if hook installed successfully
19
+ */
20
+ export declare function installWebSearchHook(): boolean;
21
+ /**
22
+ * Uninstall WebSearch hook from ~/.ccs/hooks/
23
+ *
24
+ * @returns true if hook uninstalled successfully
25
+ */
26
+ export declare function uninstallWebSearchHook(): boolean;
27
+ //# sourceMappingURL=hook-installer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-installer.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/hook-installer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAQpE;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CA6D9C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAoBhD"}