anypick 1.0.0 → 1.1.1

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 (1231) hide show
  1. package/README.md +16 -582
  2. package/bin/anypick.js +249 -0
  3. package/package.json +14 -106
  4. package/dist/adapters.d.ts +0 -4
  5. package/dist/adapters.d.ts.map +0 -1
  6. package/dist/adapters.js +0 -2
  7. package/dist/catalog/model-fetch.d.ts +0 -34
  8. package/dist/catalog/model-fetch.d.ts.map +0 -1
  9. package/dist/catalog/model-fetch.js +0 -99
  10. package/dist/catalog/model-fetch.js.map +0 -1
  11. package/dist/catalog/providers.d.ts +0 -42
  12. package/dist/catalog/providers.d.ts.map +0 -1
  13. package/dist/catalog/providers.js +0 -424
  14. package/dist/catalog/providers.js.map +0 -1
  15. package/dist/cli/bootstrap.d.ts +0 -3
  16. package/dist/cli/bootstrap.d.ts.map +0 -1
  17. package/dist/cli/bootstrap.js +0 -78
  18. package/dist/cli/bootstrap.js.map +0 -1
  19. package/dist/cli/commands.d.ts +0 -29
  20. package/dist/cli/commands.d.ts.map +0 -1
  21. package/dist/cli/commands.js +0 -1043
  22. package/dist/cli/commands.js.map +0 -1
  23. package/dist/cli/completion.d.ts +0 -6
  24. package/dist/cli/completion.d.ts.map +0 -1
  25. package/dist/cli/completion.js +0 -202
  26. package/dist/cli/completion.js.map +0 -1
  27. package/dist/cli/errors.d.ts +0 -20
  28. package/dist/cli/errors.d.ts.map +0 -1
  29. package/dist/cli/errors.js +0 -47
  30. package/dist/cli/errors.js.map +0 -1
  31. package/dist/cli/format.d.ts +0 -6
  32. package/dist/cli/format.d.ts.map +0 -1
  33. package/dist/cli/format.js +0 -75
  34. package/dist/cli/format.js.map +0 -1
  35. package/dist/cli/help.d.ts +0 -6
  36. package/dist/cli/help.d.ts.map +0 -1
  37. package/dist/cli/help.js +0 -66
  38. package/dist/cli/help.js.map +0 -1
  39. package/dist/cli/interactive-accounts.d.ts +0 -3
  40. package/dist/cli/interactive-accounts.d.ts.map +0 -1
  41. package/dist/cli/interactive-accounts.js +0 -86
  42. package/dist/cli/interactive-accounts.js.map +0 -1
  43. package/dist/cli/interactive-maintenance.d.ts +0 -4
  44. package/dist/cli/interactive-maintenance.d.ts.map +0 -1
  45. package/dist/cli/interactive-maintenance.js +0 -30
  46. package/dist/cli/interactive-maintenance.js.map +0 -1
  47. package/dist/cli/interactive.d.ts +0 -14
  48. package/dist/cli/interactive.d.ts.map +0 -1
  49. package/dist/cli/interactive.js +0 -242
  50. package/dist/cli/interactive.js.map +0 -1
  51. package/dist/cli/launch-client.d.ts +0 -18
  52. package/dist/cli/launch-client.d.ts.map +0 -1
  53. package/dist/cli/launch-client.js +0 -117
  54. package/dist/cli/launch-client.js.map +0 -1
  55. package/dist/cli/launcher-model.d.ts +0 -64
  56. package/dist/cli/launcher-model.d.ts.map +0 -1
  57. package/dist/cli/launcher-model.js +0 -200
  58. package/dist/cli/launcher-model.js.map +0 -1
  59. package/dist/cli/launcher-render.d.ts +0 -22
  60. package/dist/cli/launcher-render.d.ts.map +0 -1
  61. package/dist/cli/launcher-render.js +0 -113
  62. package/dist/cli/launcher-render.js.map +0 -1
  63. package/dist/cli/launcher.d.ts +0 -27
  64. package/dist/cli/launcher.d.ts.map +0 -1
  65. package/dist/cli/launcher.js +0 -93
  66. package/dist/cli/launcher.js.map +0 -1
  67. package/dist/cli/local-health.d.ts +0 -17
  68. package/dist/cli/local-health.d.ts.map +0 -1
  69. package/dist/cli/local-health.js +0 -31
  70. package/dist/cli/local-health.js.map +0 -1
  71. package/dist/cli/plugin-commands.d.ts +0 -4
  72. package/dist/cli/plugin-commands.d.ts.map +0 -1
  73. package/dist/cli/plugin-commands.js +0 -160
  74. package/dist/cli/plugin-commands.js.map +0 -1
  75. package/dist/cli/primary.d.ts +0 -18
  76. package/dist/cli/primary.d.ts.map +0 -1
  77. package/dist/cli/primary.js +0 -593
  78. package/dist/cli/primary.js.map +0 -1
  79. package/dist/cli/render-util.d.ts +0 -24
  80. package/dist/cli/render-util.d.ts.map +0 -1
  81. package/dist/cli/render-util.js +0 -58
  82. package/dist/cli/render-util.js.map +0 -1
  83. package/dist/cli/ux.d.ts +0 -43
  84. package/dist/cli/ux.d.ts.map +0 -1
  85. package/dist/cli/ux.js +0 -114
  86. package/dist/cli/ux.js.map +0 -1
  87. package/dist/cli.d.ts +0 -3
  88. package/dist/cli.d.ts.map +0 -1
  89. package/dist/cli.js +0 -35
  90. package/dist/cli.js.map +0 -1
  91. package/dist/clients/claude-client-apply.d.ts +0 -8
  92. package/dist/clients/claude-client-apply.d.ts.map +0 -1
  93. package/dist/clients/claude-client-apply.js +0 -108
  94. package/dist/clients/claude-client-apply.js.map +0 -1
  95. package/dist/clients/claude-code.d.ts +0 -5
  96. package/dist/clients/claude-code.d.ts.map +0 -1
  97. package/dist/clients/claude-code.js +0 -189
  98. package/dist/clients/claude-code.js.map +0 -1
  99. package/dist/clients/claude-settings-guard.d.ts +0 -18
  100. package/dist/clients/claude-settings-guard.d.ts.map +0 -1
  101. package/dist/clients/codex-desktop-catalog.d.ts +0 -67
  102. package/dist/clients/codex-desktop-catalog.d.ts.map +0 -1
  103. package/dist/clients/codex-desktop-catalog.js +0 -212
  104. package/dist/clients/codex-desktop-catalog.js.map +0 -1
  105. package/dist/clients/codex.d.ts +0 -181
  106. package/dist/clients/codex.d.ts.map +0 -1
  107. package/dist/clients/codex.js +0 -783
  108. package/dist/clients/codex.js.map +0 -1
  109. package/dist/clients/env-files.d.ts +0 -14
  110. package/dist/clients/env-files.d.ts.map +0 -1
  111. package/dist/clients/env-files.js +0 -50
  112. package/dist/clients/env-files.js.map +0 -1
  113. package/dist/clients/gemini-client-utils.d.ts +0 -4
  114. package/dist/clients/gemini-client-utils.d.ts.map +0 -1
  115. package/dist/clients/gemini-client-utils.js +0 -33
  116. package/dist/clients/gemini-client-utils.js.map +0 -1
  117. package/dist/clients/gemini.d.ts +0 -16
  118. package/dist/clients/gemini.d.ts.map +0 -1
  119. package/dist/clients/gemini.js +0 -233
  120. package/dist/clients/gemini.js.map +0 -1
  121. package/dist/clients/index.d.ts +0 -14
  122. package/dist/clients/index.d.ts.map +0 -1
  123. package/dist/clients/index.js +0 -18
  124. package/dist/clients/index.js.map +0 -1
  125. package/dist/clients/isolation.d.ts +0 -28
  126. package/dist/clients/isolation.d.ts.map +0 -1
  127. package/dist/clients/isolation.js +0 -131
  128. package/dist/clients/isolation.js.map +0 -1
  129. package/dist/clients/kiro.d.ts +0 -10
  130. package/dist/clients/kiro.d.ts.map +0 -1
  131. package/dist/clients/kiro.js +0 -168
  132. package/dist/clients/kiro.js.map +0 -1
  133. package/dist/clients/model-roles.d.ts +0 -58
  134. package/dist/clients/model-roles.d.ts.map +0 -1
  135. package/dist/clients/model-roles.js +0 -139
  136. package/dist/clients/model-roles.js.map +0 -1
  137. package/dist/clients/registry.d.ts +0 -7
  138. package/dist/clients/registry.d.ts.map +0 -1
  139. package/dist/clients/registry.js +0 -16
  140. package/dist/clients/registry.js.map +0 -1
  141. package/dist/clients/resolve.d.ts +0 -27
  142. package/dist/clients/resolve.d.ts.map +0 -1
  143. package/dist/clients/resolve.js +0 -49
  144. package/dist/clients/resolve.js.map +0 -1
  145. package/dist/core/account-codec.d.ts +0 -32
  146. package/dist/core/account-codec.d.ts.map +0 -1
  147. package/dist/core/account-codec.js +0 -134
  148. package/dist/core/account-codec.js.map +0 -1
  149. package/dist/core/account-transfer.d.ts +0 -20
  150. package/dist/core/account-transfer.d.ts.map +0 -1
  151. package/dist/core/account-transfer.js +0 -136
  152. package/dist/core/account-transfer.js.map +0 -1
  153. package/dist/core/activation-executor.d.ts +0 -72
  154. package/dist/core/activation-executor.d.ts.map +0 -1
  155. package/dist/core/activation-executor.js +0 -690
  156. package/dist/core/activation-executor.js.map +0 -1
  157. package/dist/core/activation-models.d.ts +0 -6
  158. package/dist/core/activation-models.d.ts.map +0 -1
  159. package/dist/core/activation-models.js +0 -33
  160. package/dist/core/activation-models.js.map +0 -1
  161. package/dist/core/activation-planner.d.ts +0 -38
  162. package/dist/core/activation-planner.d.ts.map +0 -1
  163. package/dist/core/activation-planner.js +0 -248
  164. package/dist/core/activation-planner.js.map +0 -1
  165. package/dist/core/activation-protocol.d.ts +0 -3
  166. package/dist/core/activation-protocol.d.ts.map +0 -1
  167. package/dist/core/activation-protocol.js +0 -9
  168. package/dist/core/activation-protocol.js.map +0 -1
  169. package/dist/core/activation-transport.d.ts +0 -15
  170. package/dist/core/activation-transport.d.ts.map +0 -1
  171. package/dist/core/activation-transport.js +0 -23
  172. package/dist/core/activation-transport.js.map +0 -1
  173. package/dist/core/app.d.ts +0 -149
  174. package/dist/core/app.d.ts.map +0 -1
  175. package/dist/core/app.js +0 -372
  176. package/dist/core/app.js.map +0 -1
  177. package/dist/core/binding-service.d.ts +0 -93
  178. package/dist/core/binding-service.d.ts.map +0 -1
  179. package/dist/core/binding-service.js +0 -281
  180. package/dist/core/binding-service.js.map +0 -1
  181. package/dist/core/binding-store.d.ts +0 -23
  182. package/dist/core/binding-store.d.ts.map +0 -1
  183. package/dist/core/binding-store.js +0 -154
  184. package/dist/core/binding-store.js.map +0 -1
  185. package/dist/core/brand.d.ts +0 -18
  186. package/dist/core/brand.d.ts.map +0 -1
  187. package/dist/core/brand.js +0 -22
  188. package/dist/core/brand.js.map +0 -1
  189. package/dist/core/capabilities.d.ts +0 -30
  190. package/dist/core/capabilities.d.ts.map +0 -1
  191. package/dist/core/capabilities.js +0 -27
  192. package/dist/core/capabilities.js.map +0 -1
  193. package/dist/core/client-state-store.d.ts +0 -17
  194. package/dist/core/client-state-store.d.ts.map +0 -1
  195. package/dist/core/client-state-store.js +0 -47
  196. package/dist/core/client-state-store.js.map +0 -1
  197. package/dist/core/codec/account.d.ts +0 -52
  198. package/dist/core/codec/account.d.ts.map +0 -1
  199. package/dist/core/codec/account.js +0 -69
  200. package/dist/core/codec/account.js.map +0 -1
  201. package/dist/core/codec/bindings.d.ts +0 -38
  202. package/dist/core/codec/bindings.d.ts.map +0 -1
  203. package/dist/core/codec/bindings.js +0 -79
  204. package/dist/core/codec/bindings.js.map +0 -1
  205. package/dist/core/codec/operations.d.ts +0 -36
  206. package/dist/core/codec/operations.d.ts.map +0 -1
  207. package/dist/core/codec/operations.js +0 -82
  208. package/dist/core/codec/operations.js.map +0 -1
  209. package/dist/core/codec/primitives.d.ts +0 -59
  210. package/dist/core/codec/primitives.d.ts.map +0 -1
  211. package/dist/core/codec/primitives.js +0 -123
  212. package/dist/core/codec/primitives.js.map +0 -1
  213. package/dist/core/codec/proxy-hub.d.ts +0 -43
  214. package/dist/core/codec/proxy-hub.d.ts.map +0 -1
  215. package/dist/core/codec/proxy-hub.js +0 -69
  216. package/dist/core/codec/proxy-hub.js.map +0 -1
  217. package/dist/core/codec/runtime.d.ts +0 -41
  218. package/dist/core/codec/runtime.d.ts.map +0 -1
  219. package/dist/core/codec/runtime.js +0 -66
  220. package/dist/core/codec/runtime.js.map +0 -1
  221. package/dist/core/codec.d.ts +0 -43
  222. package/dist/core/codec.d.ts.map +0 -1
  223. package/dist/core/codec.js +0 -69
  224. package/dist/core/codec.js.map +0 -1
  225. package/dist/core/codex-live-config.d.ts +0 -92
  226. package/dist/core/codex-live-config.d.ts.map +0 -1
  227. package/dist/core/codex-live-config.js +0 -263
  228. package/dist/core/codex-live-config.js.map +0 -1
  229. package/dist/core/config-service.d.ts +0 -35
  230. package/dist/core/config-service.d.ts.map +0 -1
  231. package/dist/core/config-service.js +0 -87
  232. package/dist/core/config-service.js.map +0 -1
  233. package/dist/core/config.d.ts +0 -14
  234. package/dist/core/config.d.ts.map +0 -1
  235. package/dist/core/config.js +0 -45
  236. package/dist/core/config.js.map +0 -1
  237. package/dist/core/db-schema.d.ts +0 -30
  238. package/dist/core/db-schema.d.ts.map +0 -1
  239. package/dist/core/db-schema.js +0 -278
  240. package/dist/core/db-schema.js.map +0 -1
  241. package/dist/core/db.d.ts +0 -72
  242. package/dist/core/db.d.ts.map +0 -1
  243. package/dist/core/db.js +0 -192
  244. package/dist/core/db.js.map +0 -1
  245. package/dist/core/doctor-fixes.d.ts +0 -3
  246. package/dist/core/doctor-fixes.d.ts.map +0 -1
  247. package/dist/core/doctor-fixes.js +0 -102
  248. package/dist/core/doctor-fixes.js.map +0 -1
  249. package/dist/core/doctor-format.d.ts +0 -10
  250. package/dist/core/doctor-format.d.ts.map +0 -1
  251. package/dist/core/doctor-format.js +0 -45
  252. package/dist/core/doctor-format.js.map +0 -1
  253. package/dist/core/doctor-report.d.ts +0 -3
  254. package/dist/core/doctor-report.d.ts.map +0 -1
  255. package/dist/core/doctor-report.js +0 -174
  256. package/dist/core/doctor-report.js.map +0 -1
  257. package/dist/core/doctor-scan.d.ts +0 -7
  258. package/dist/core/doctor-scan.d.ts.map +0 -1
  259. package/dist/core/doctor-scan.js +0 -139
  260. package/dist/core/doctor-scan.js.map +0 -1
  261. package/dist/core/doctor-types.d.ts +0 -89
  262. package/dist/core/doctor-types.d.ts.map +0 -1
  263. package/dist/core/doctor-types.js +0 -14
  264. package/dist/core/doctor-types.js.map +0 -1
  265. package/dist/core/doctor-utils.d.ts +0 -3
  266. package/dist/core/doctor-utils.d.ts.map +0 -1
  267. package/dist/core/doctor-utils.js +0 -36
  268. package/dist/core/doctor-utils.js.map +0 -1
  269. package/dist/core/doctor.d.ts +0 -14
  270. package/dist/core/doctor.d.ts.map +0 -1
  271. package/dist/core/doctor.js +0 -127
  272. package/dist/core/doctor.js.map +0 -1
  273. package/dist/core/events.d.ts +0 -58
  274. package/dist/core/events.d.ts.map +0 -1
  275. package/dist/core/events.js +0 -88
  276. package/dist/core/events.js.map +0 -1
  277. package/dist/core/journal.d.ts +0 -23
  278. package/dist/core/journal.d.ts.map +0 -1
  279. package/dist/core/journal.js +0 -93
  280. package/dist/core/journal.js.map +0 -1
  281. package/dist/core/lease-store.d.ts +0 -22
  282. package/dist/core/lease-store.d.ts.map +0 -1
  283. package/dist/core/lease-store.js +0 -81
  284. package/dist/core/lease-store.js.map +0 -1
  285. package/dist/core/migrate-bindings.d.ts +0 -10
  286. package/dist/core/migrate-bindings.d.ts.map +0 -1
  287. package/dist/core/migrate-bindings.js +0 -98
  288. package/dist/core/migrate-bindings.js.map +0 -1
  289. package/dist/core/migrate-fs.d.ts +0 -11
  290. package/dist/core/migrate-fs.d.ts.map +0 -1
  291. package/dist/core/migrate-fs.js +0 -184
  292. package/dist/core/migrate-fs.js.map +0 -1
  293. package/dist/core/model-cache-store.d.ts +0 -27
  294. package/dist/core/model-cache-store.d.ts.map +0 -1
  295. package/dist/core/model-cache-store.js +0 -50
  296. package/dist/core/model-cache-store.js.map +0 -1
  297. package/dist/core/model-discovery.d.ts +0 -66
  298. package/dist/core/model-discovery.d.ts.map +0 -1
  299. package/dist/core/model-discovery.js +0 -127
  300. package/dist/core/model-discovery.js.map +0 -1
  301. package/dist/core/model-policy.d.ts +0 -40
  302. package/dist/core/model-policy.d.ts.map +0 -1
  303. package/dist/core/model-policy.js +0 -77
  304. package/dist/core/model-policy.js.map +0 -1
  305. package/dist/core/model-roles.d.ts +0 -9
  306. package/dist/core/model-roles.d.ts.map +0 -1
  307. package/dist/core/model-roles.js +0 -20
  308. package/dist/core/model-roles.js.map +0 -1
  309. package/dist/core/mutation-lock.d.ts +0 -31
  310. package/dist/core/mutation-lock.d.ts.map +0 -1
  311. package/dist/core/mutation-lock.js +0 -69
  312. package/dist/core/mutation-lock.js.map +0 -1
  313. package/dist/core/paths.d.ts +0 -49
  314. package/dist/core/paths.d.ts.map +0 -1
  315. package/dist/core/paths.js +0 -110
  316. package/dist/core/paths.js.map +0 -1
  317. package/dist/core/plugin-loader.d.ts +0 -40
  318. package/dist/core/plugin-loader.d.ts.map +0 -1
  319. package/dist/core/plugin-loader.js +0 -184
  320. package/dist/core/plugin-loader.js.map +0 -1
  321. package/dist/core/plugin-service.d.ts +0 -32
  322. package/dist/core/plugin-service.d.ts.map +0 -1
  323. package/dist/core/plugin-service.js +0 -110
  324. package/dist/core/plugin-service.js.map +0 -1
  325. package/dist/core/plugin-store.d.ts +0 -18
  326. package/dist/core/plugin-store.d.ts.map +0 -1
  327. package/dist/core/plugin-store.js +0 -50
  328. package/dist/core/plugin-store.js.map +0 -1
  329. package/dist/core/pool-store.d.ts +0 -44
  330. package/dist/core/pool-store.d.ts.map +0 -1
  331. package/dist/core/pool-store.js +0 -198
  332. package/dist/core/pool-store.js.map +0 -1
  333. package/dist/core/preset-store.d.ts +0 -29
  334. package/dist/core/preset-store.d.ts.map +0 -1
  335. package/dist/core/preset-store.js +0 -105
  336. package/dist/core/preset-store.js.map +0 -1
  337. package/dist/core/profile-service.d.ts +0 -50
  338. package/dist/core/profile-service.d.ts.map +0 -1
  339. package/dist/core/profile-service.js +0 -149
  340. package/dist/core/profile-service.js.map +0 -1
  341. package/dist/core/profile-store.d.ts +0 -20
  342. package/dist/core/profile-store.d.ts.map +0 -1
  343. package/dist/core/profile-store.js +0 -92
  344. package/dist/core/profile-store.js.map +0 -1
  345. package/dist/core/profile-synth.d.ts +0 -24
  346. package/dist/core/profile-synth.d.ts.map +0 -1
  347. package/dist/core/profile-synth.js +0 -30
  348. package/dist/core/profile-synth.js.map +0 -1
  349. package/dist/core/project-root.d.ts +0 -7
  350. package/dist/core/project-root.d.ts.map +0 -1
  351. package/dist/core/project-root.js +0 -23
  352. package/dist/core/project-root.js.map +0 -1
  353. package/dist/core/proxy-hub-cli.d.ts +0 -3
  354. package/dist/core/proxy-hub-cli.d.ts.map +0 -1
  355. package/dist/core/proxy-hub-cli.js +0 -80
  356. package/dist/core/proxy-hub-cli.js.map +0 -1
  357. package/dist/core/proxy-hub-routes.d.ts +0 -22
  358. package/dist/core/proxy-hub-routes.d.ts.map +0 -1
  359. package/dist/core/proxy-hub-routes.js +0 -92
  360. package/dist/core/proxy-hub-routes.js.map +0 -1
  361. package/dist/core/proxy-hub-server.d.ts +0 -59
  362. package/dist/core/proxy-hub-server.d.ts.map +0 -1
  363. package/dist/core/proxy-hub-server.js +0 -409
  364. package/dist/core/proxy-hub-server.js.map +0 -1
  365. package/dist/core/proxy-hub-service.d.ts +0 -97
  366. package/dist/core/proxy-hub-service.d.ts.map +0 -1
  367. package/dist/core/proxy-hub-service.js +0 -553
  368. package/dist/core/proxy-hub-service.js.map +0 -1
  369. package/dist/core/proxy-hub-store.d.ts +0 -28
  370. package/dist/core/proxy-hub-store.d.ts.map +0 -1
  371. package/dist/core/proxy-hub-store.js +0 -152
  372. package/dist/core/proxy-hub-store.js.map +0 -1
  373. package/dist/core/proxy-lifecycle.d.ts +0 -26
  374. package/dist/core/proxy-lifecycle.d.ts.map +0 -1
  375. package/dist/core/proxy-lifecycle.js +0 -33
  376. package/dist/core/proxy-lifecycle.js.map +0 -1
  377. package/dist/core/proxy-ports.d.ts +0 -50
  378. package/dist/core/proxy-ports.d.ts.map +0 -1
  379. package/dist/core/proxy-ports.js +0 -86
  380. package/dist/core/proxy-ports.js.map +0 -1
  381. package/dist/core/proxy-service.d.ts +0 -184
  382. package/dist/core/proxy-service.d.ts.map +0 -1
  383. package/dist/core/proxy-service.js +0 -860
  384. package/dist/core/proxy-service.js.map +0 -1
  385. package/dist/core/quota-guard-policy.d.ts +0 -8
  386. package/dist/core/quota-guard-policy.d.ts.map +0 -1
  387. package/dist/core/quota-guard-policy.js +0 -21
  388. package/dist/core/quota-guard-policy.js.map +0 -1
  389. package/dist/core/realign-proxy-clients.d.ts +0 -19
  390. package/dist/core/realign-proxy-clients.d.ts.map +0 -1
  391. package/dist/core/realign-proxy-clients.js +0 -40
  392. package/dist/core/realign-proxy-clients.js.map +0 -1
  393. package/dist/core/refs.d.ts +0 -84
  394. package/dist/core/refs.d.ts.map +0 -1
  395. package/dist/core/refs.js +0 -250
  396. package/dist/core/refs.js.map +0 -1
  397. package/dist/core/registry.d.ts +0 -46
  398. package/dist/core/registry.d.ts.map +0 -1
  399. package/dist/core/registry.js +0 -70
  400. package/dist/core/registry.js.map +0 -1
  401. package/dist/core/resolve-source.d.ts +0 -54
  402. package/dist/core/resolve-source.d.ts.map +0 -1
  403. package/dist/core/resolve-source.js +0 -148
  404. package/dist/core/resolve-source.js.map +0 -1
  405. package/dist/core/runtime-service.d.ts +0 -158
  406. package/dist/core/runtime-service.d.ts.map +0 -1
  407. package/dist/core/runtime-service.js +0 -422
  408. package/dist/core/runtime-service.js.map +0 -1
  409. package/dist/core/service.d.ts +0 -200
  410. package/dist/core/service.d.ts.map +0 -1
  411. package/dist/core/service.js +0 -643
  412. package/dist/core/service.js.map +0 -1
  413. package/dist/core/store-snapshot.d.ts +0 -10
  414. package/dist/core/store-snapshot.d.ts.map +0 -1
  415. package/dist/core/store-snapshot.js +0 -79
  416. package/dist/core/store-snapshot.js.map +0 -1
  417. package/dist/core/store.d.ts +0 -68
  418. package/dist/core/store.d.ts.map +0 -1
  419. package/dist/core/store.js +0 -159
  420. package/dist/core/store.js.map +0 -1
  421. package/dist/core/tray-runtime.d.ts +0 -15
  422. package/dist/core/tray-runtime.d.ts.map +0 -1
  423. package/dist/core/tray-runtime.js +0 -33
  424. package/dist/core/tray-runtime.js.map +0 -1
  425. package/dist/core/tray-settings-service.d.ts +0 -7
  426. package/dist/core/tray-settings-service.d.ts.map +0 -1
  427. package/dist/core/tray-settings-service.js +0 -24
  428. package/dist/core/tray-settings-service.js.map +0 -1
  429. package/dist/core/update.d.ts +0 -26
  430. package/dist/core/update.d.ts.map +0 -1
  431. package/dist/core/update.js +0 -128
  432. package/dist/core/update.js.map +0 -1
  433. package/dist/index.d.ts +0 -12
  434. package/dist/index.d.ts.map +0 -1
  435. package/dist/index.js +0 -7
  436. package/dist/network/egress/allowlist.d.ts +0 -2
  437. package/dist/network/egress/allowlist.d.ts.map +0 -1
  438. package/dist/network/egress/allowlist.js +0 -14
  439. package/dist/network/egress/allowlist.js.map +0 -1
  440. package/dist/network/egress/direct.d.ts +0 -17
  441. package/dist/network/egress/direct.d.ts.map +0 -1
  442. package/dist/network/egress/direct.js +0 -28
  443. package/dist/network/egress/direct.js.map +0 -1
  444. package/dist/network/egress/errors.d.ts +0 -4
  445. package/dist/network/egress/errors.d.ts.map +0 -1
  446. package/dist/network/egress/errors.js +0 -8
  447. package/dist/network/egress/errors.js.map +0 -1
  448. package/dist/network/egress/index.d.ts +0 -6
  449. package/dist/network/egress/index.d.ts.map +0 -1
  450. package/dist/network/egress/index.js +0 -11
  451. package/dist/network/egress/index.js.map +0 -1
  452. package/dist/network/egress/types.d.ts +0 -16
  453. package/dist/network/egress/types.d.ts.map +0 -1
  454. package/dist/presentation/client-name.d.ts +0 -14
  455. package/dist/presentation/client-name.d.ts.map +0 -1
  456. package/dist/presentation/client-name.js +0 -22
  457. package/dist/presentation/client-name.js.map +0 -1
  458. package/dist/presentation/layout.d.ts +0 -7
  459. package/dist/presentation/layout.d.ts.map +0 -1
  460. package/dist/presentation/layout.js +0 -10
  461. package/dist/presentation/layout.js.map +0 -1
  462. package/dist/providers/auth-fingerprint.d.ts +0 -56
  463. package/dist/providers/auth-fingerprint.d.ts.map +0 -1
  464. package/dist/providers/auth-fingerprint.js +0 -163
  465. package/dist/providers/auth-fingerprint.js.map +0 -1
  466. package/dist/providers/claude.d.ts +0 -43
  467. package/dist/providers/claude.d.ts.map +0 -1
  468. package/dist/providers/claude.js +0 -191
  469. package/dist/providers/claude.js.map +0 -1
  470. package/dist/providers/codex-identity.d.ts +0 -13
  471. package/dist/providers/codex-identity.d.ts.map +0 -1
  472. package/dist/providers/codex-identity.js +0 -69
  473. package/dist/providers/codex-identity.js.map +0 -1
  474. package/dist/providers/codex-refresh.d.ts +0 -30
  475. package/dist/providers/codex-refresh.d.ts.map +0 -1
  476. package/dist/providers/codex-refresh.js +0 -64
  477. package/dist/providers/codex-refresh.js.map +0 -1
  478. package/dist/providers/codex-usage.d.ts +0 -3
  479. package/dist/providers/codex-usage.d.ts.map +0 -1
  480. package/dist/providers/codex-usage.js +0 -42
  481. package/dist/providers/codex-usage.js.map +0 -1
  482. package/dist/providers/codex.d.ts +0 -61
  483. package/dist/providers/codex.d.ts.map +0 -1
  484. package/dist/providers/codex.js +0 -212
  485. package/dist/providers/codex.js.map +0 -1
  486. package/dist/providers/gemini-antigravity-oauth.d.ts +0 -83
  487. package/dist/providers/gemini-antigravity-oauth.d.ts.map +0 -1
  488. package/dist/providers/gemini-antigravity-oauth.js +0 -343
  489. package/dist/providers/gemini-antigravity-oauth.js.map +0 -1
  490. package/dist/providers/gemini-antigravity-state.d.ts +0 -35
  491. package/dist/providers/gemini-antigravity-state.d.ts.map +0 -1
  492. package/dist/providers/gemini-antigravity-state.js +0 -433
  493. package/dist/providers/gemini-antigravity-state.js.map +0 -1
  494. package/dist/providers/gemini-env.d.ts +0 -8
  495. package/dist/providers/gemini-env.d.ts.map +0 -1
  496. package/dist/providers/gemini-env.js +0 -78
  497. package/dist/providers/gemini-env.js.map +0 -1
  498. package/dist/providers/gemini-identity.d.ts +0 -2
  499. package/dist/providers/gemini-identity.d.ts.map +0 -1
  500. package/dist/providers/gemini-identity.js +0 -14
  501. package/dist/providers/gemini-identity.js.map +0 -1
  502. package/dist/providers/gemini-proxy/main.d.ts +0 -3
  503. package/dist/providers/gemini-proxy/main.d.ts.map +0 -1
  504. package/dist/providers/gemini-proxy/main.js +0 -176
  505. package/dist/providers/gemini-proxy/main.js.map +0 -1
  506. package/dist/providers/gemini-proxy/server.d.ts +0 -57
  507. package/dist/providers/gemini-proxy/server.d.ts.map +0 -1
  508. package/dist/providers/gemini-proxy/server.js +0 -1240
  509. package/dist/providers/gemini-proxy/server.js.map +0 -1
  510. package/dist/providers/gemini-proxy-entry.d.ts +0 -2
  511. package/dist/providers/gemini-proxy-entry.d.ts.map +0 -1
  512. package/dist/providers/gemini-proxy-entry.js +0 -16
  513. package/dist/providers/gemini-proxy-entry.js.map +0 -1
  514. package/dist/providers/gemini-proxy-lifecycle.d.ts +0 -11
  515. package/dist/providers/gemini-proxy-lifecycle.d.ts.map +0 -1
  516. package/dist/providers/gemini-proxy-lifecycle.js +0 -131
  517. package/dist/providers/gemini-proxy-lifecycle.js.map +0 -1
  518. package/dist/providers/gemini.d.ts +0 -137
  519. package/dist/providers/gemini.d.ts.map +0 -1
  520. package/dist/providers/gemini.js +0 -471
  521. package/dist/providers/gemini.js.map +0 -1
  522. package/dist/providers/grok-proxy/auth.d.ts +0 -27
  523. package/dist/providers/grok-proxy/auth.d.ts.map +0 -1
  524. package/dist/providers/grok-proxy/auth.js +0 -123
  525. package/dist/providers/grok-proxy/auth.js.map +0 -1
  526. package/dist/providers/grok-proxy/main.d.ts +0 -3
  527. package/dist/providers/grok-proxy/main.d.ts.map +0 -1
  528. package/dist/providers/grok-proxy/main.js +0 -111
  529. package/dist/providers/grok-proxy/main.js.map +0 -1
  530. package/dist/providers/grok-proxy/server.d.ts +0 -46
  531. package/dist/providers/grok-proxy/server.d.ts.map +0 -1
  532. package/dist/providers/grok-proxy/server.js +0 -595
  533. package/dist/providers/grok-proxy/server.js.map +0 -1
  534. package/dist/providers/grok.d.ts +0 -38
  535. package/dist/providers/grok.d.ts.map +0 -1
  536. package/dist/providers/grok.js +0 -250
  537. package/dist/providers/grok.js.map +0 -1
  538. package/dist/providers/index.d.ts +0 -14
  539. package/dist/providers/index.d.ts.map +0 -1
  540. package/dist/providers/index.js +0 -23
  541. package/dist/providers/index.js.map +0 -1
  542. package/dist/providers/kiro-secret-store.d.ts +0 -39
  543. package/dist/providers/kiro-secret-store.d.ts.map +0 -1
  544. package/dist/providers/kiro-secret-store.js +0 -168
  545. package/dist/providers/kiro-secret-store.js.map +0 -1
  546. package/dist/providers/kiro.d.ts +0 -50
  547. package/dist/providers/kiro.d.ts.map +0 -1
  548. package/dist/providers/kiro.js +0 -373
  549. package/dist/providers/kiro.js.map +0 -1
  550. package/dist/providers/model-policy.d.ts +0 -15
  551. package/dist/providers/model-policy.d.ts.map +0 -1
  552. package/dist/providers/model-policy.js +0 -26
  553. package/dist/providers/model-policy.js.map +0 -1
  554. package/dist/providers/opencode-auth.d.ts +0 -67
  555. package/dist/providers/opencode-auth.d.ts.map +0 -1
  556. package/dist/providers/opencode-auth.js +0 -146
  557. package/dist/providers/opencode-auth.js.map +0 -1
  558. package/dist/providers/opencode-cli-entry.d.ts +0 -36
  559. package/dist/providers/opencode-cli-entry.d.ts.map +0 -1
  560. package/dist/providers/opencode-cli-entry.js +0 -90
  561. package/dist/providers/opencode-cli-entry.js.map +0 -1
  562. package/dist/providers/opencode-proxy/abort.d.ts +0 -8
  563. package/dist/providers/opencode-proxy/abort.d.ts.map +0 -1
  564. package/dist/providers/opencode-proxy/abort.js +0 -42
  565. package/dist/providers/opencode-proxy/abort.js.map +0 -1
  566. package/dist/providers/opencode-proxy/anthropic-handler.d.ts +0 -4
  567. package/dist/providers/opencode-proxy/anthropic-handler.d.ts.map +0 -1
  568. package/dist/providers/opencode-proxy/anthropic-handler.js +0 -108
  569. package/dist/providers/opencode-proxy/anthropic-handler.js.map +0 -1
  570. package/dist/providers/opencode-proxy/auth.d.ts +0 -38
  571. package/dist/providers/opencode-proxy/auth.d.ts.map +0 -1
  572. package/dist/providers/opencode-proxy/auth.js +0 -128
  573. package/dist/providers/opencode-proxy/auth.js.map +0 -1
  574. package/dist/providers/opencode-proxy/body.d.ts +0 -9
  575. package/dist/providers/opencode-proxy/body.d.ts.map +0 -1
  576. package/dist/providers/opencode-proxy/body.js +0 -69
  577. package/dist/providers/opencode-proxy/body.js.map +0 -1
  578. package/dist/providers/opencode-proxy/catalog-handlers.d.ts +0 -7
  579. package/dist/providers/opencode-proxy/catalog-handlers.d.ts.map +0 -1
  580. package/dist/providers/opencode-proxy/catalog-handlers.js +0 -132
  581. package/dist/providers/opencode-proxy/catalog-handlers.js.map +0 -1
  582. package/dist/providers/opencode-proxy/catalog.d.ts +0 -41
  583. package/dist/providers/opencode-proxy/catalog.d.ts.map +0 -1
  584. package/dist/providers/opencode-proxy/catalog.js +0 -146
  585. package/dist/providers/opencode-proxy/catalog.js.map +0 -1
  586. package/dist/providers/opencode-proxy/cli.d.ts +0 -2
  587. package/dist/providers/opencode-proxy/cli.d.ts.map +0 -1
  588. package/dist/providers/opencode-proxy/cli.js +0 -162
  589. package/dist/providers/opencode-proxy/cli.js.map +0 -1
  590. package/dist/providers/opencode-proxy/constants.d.ts +0 -13
  591. package/dist/providers/opencode-proxy/constants.d.ts.map +0 -1
  592. package/dist/providers/opencode-proxy/constants.js +0 -15
  593. package/dist/providers/opencode-proxy/constants.js.map +0 -1
  594. package/dist/providers/opencode-proxy/context-budget.d.ts +0 -31
  595. package/dist/providers/opencode-proxy/context-budget.d.ts.map +0 -1
  596. package/dist/providers/opencode-proxy/context-budget.js +0 -165
  597. package/dist/providers/opencode-proxy/context-budget.js.map +0 -1
  598. package/dist/providers/opencode-proxy/errors.d.ts +0 -5
  599. package/dist/providers/opencode-proxy/errors.d.ts.map +0 -1
  600. package/dist/providers/opencode-proxy/errors.js +0 -45
  601. package/dist/providers/opencode-proxy/errors.js.map +0 -1
  602. package/dist/providers/opencode-proxy/forwarders.d.ts +0 -7
  603. package/dist/providers/opencode-proxy/forwarders.d.ts.map +0 -1
  604. package/dist/providers/opencode-proxy/forwarders.js +0 -214
  605. package/dist/providers/opencode-proxy/forwarders.js.map +0 -1
  606. package/dist/providers/opencode-proxy/http.d.ts +0 -11
  607. package/dist/providers/opencode-proxy/http.d.ts.map +0 -1
  608. package/dist/providers/opencode-proxy/http.js +0 -97
  609. package/dist/providers/opencode-proxy/http.js.map +0 -1
  610. package/dist/providers/opencode-proxy/models.d.ts +0 -42
  611. package/dist/providers/opencode-proxy/models.d.ts.map +0 -1
  612. package/dist/providers/opencode-proxy/models.js +0 -148
  613. package/dist/providers/opencode-proxy/models.js.map +0 -1
  614. package/dist/providers/opencode-proxy/openai-handler.d.ts +0 -5
  615. package/dist/providers/opencode-proxy/openai-handler.d.ts.map +0 -1
  616. package/dist/providers/opencode-proxy/openai-handler.js +0 -115
  617. package/dist/providers/opencode-proxy/openai-handler.js.map +0 -1
  618. package/dist/providers/opencode-proxy/router.d.ts +0 -4
  619. package/dist/providers/opencode-proxy/router.d.ts.map +0 -1
  620. package/dist/providers/opencode-proxy/router.js +0 -65
  621. package/dist/providers/opencode-proxy/router.js.map +0 -1
  622. package/dist/providers/opencode-proxy/runtime.d.ts +0 -23
  623. package/dist/providers/opencode-proxy/runtime.d.ts.map +0 -1
  624. package/dist/providers/opencode-proxy/runtime.js +0 -158
  625. package/dist/providers/opencode-proxy/runtime.js.map +0 -1
  626. package/dist/providers/opencode-proxy/server.d.ts +0 -13
  627. package/dist/providers/opencode-proxy/server.d.ts.map +0 -1
  628. package/dist/providers/opencode-proxy/server.js +0 -52
  629. package/dist/providers/opencode-proxy/server.js.map +0 -1
  630. package/dist/providers/opencode-proxy/stream.d.ts +0 -4
  631. package/dist/providers/opencode-proxy/stream.d.ts.map +0 -1
  632. package/dist/providers/opencode-proxy/stream.js +0 -71
  633. package/dist/providers/opencode-proxy/stream.js.map +0 -1
  634. package/dist/providers/opencode-proxy/translate-stream.d.ts +0 -3
  635. package/dist/providers/opencode-proxy/translate-stream.d.ts.map +0 -1
  636. package/dist/providers/opencode-proxy/translate-stream.js +0 -205
  637. package/dist/providers/opencode-proxy/translate-stream.js.map +0 -1
  638. package/dist/providers/opencode-proxy/translate.d.ts +0 -11
  639. package/dist/providers/opencode-proxy/translate.d.ts.map +0 -1
  640. package/dist/providers/opencode-proxy/translate.js +0 -250
  641. package/dist/providers/opencode-proxy/translate.js.map +0 -1
  642. package/dist/providers/opencode-proxy/types.d.ts +0 -110
  643. package/dist/providers/opencode-proxy/types.d.ts.map +0 -1
  644. package/dist/providers/opencode-proxy/types.js +0 -38
  645. package/dist/providers/opencode-proxy/types.js.map +0 -1
  646. package/dist/providers/opencode-proxy-lifecycle.d.ts +0 -11
  647. package/dist/providers/opencode-proxy-lifecycle.d.ts.map +0 -1
  648. package/dist/providers/opencode-proxy-lifecycle.js +0 -144
  649. package/dist/providers/opencode-proxy-lifecycle.js.map +0 -1
  650. package/dist/providers/opencode.d.ts +0 -40
  651. package/dist/providers/opencode.d.ts.map +0 -1
  652. package/dist/providers/opencode.js +0 -190
  653. package/dist/providers/opencode.js.map +0 -1
  654. package/dist/providers/protocol/anthropic-convert.d.ts +0 -12
  655. package/dist/providers/protocol/anthropic-convert.d.ts.map +0 -1
  656. package/dist/providers/protocol/anthropic-convert.js +0 -113
  657. package/dist/providers/protocol/anthropic-convert.js.map +0 -1
  658. package/dist/providers/protocol/anthropic-helpers.d.ts +0 -13
  659. package/dist/providers/protocol/anthropic-helpers.d.ts.map +0 -1
  660. package/dist/providers/protocol/anthropic-helpers.js +0 -179
  661. package/dist/providers/protocol/anthropic-helpers.js.map +0 -1
  662. package/dist/providers/protocol/anthropic-stream-reader.d.ts +0 -13
  663. package/dist/providers/protocol/anthropic-stream-reader.d.ts.map +0 -1
  664. package/dist/providers/protocol/anthropic-stream-reader.js +0 -46
  665. package/dist/providers/protocol/anthropic-stream-reader.js.map +0 -1
  666. package/dist/providers/protocol/anthropic-stream.d.ts +0 -7
  667. package/dist/providers/protocol/anthropic-stream.d.ts.map +0 -1
  668. package/dist/providers/protocol/anthropic-stream.js +0 -318
  669. package/dist/providers/protocol/anthropic-stream.js.map +0 -1
  670. package/dist/providers/protocol/anthropic-types.d.ts +0 -240
  671. package/dist/providers/protocol/anthropic-types.d.ts.map +0 -1
  672. package/dist/providers/protocol/anthropic.d.ts +0 -20
  673. package/dist/providers/protocol/anthropic.d.ts.map +0 -1
  674. package/dist/providers/protocol/gemini/translate-anthropic.d.ts +0 -15
  675. package/dist/providers/protocol/gemini/translate-anthropic.d.ts.map +0 -1
  676. package/dist/providers/protocol/gemini/translate-anthropic.js +0 -84
  677. package/dist/providers/protocol/gemini/translate-anthropic.js.map +0 -1
  678. package/dist/providers/protocol/gemini/translate-chat.d.ts +0 -5
  679. package/dist/providers/protocol/gemini/translate-chat.d.ts.map +0 -1
  680. package/dist/providers/protocol/gemini/translate-chat.js +0 -142
  681. package/dist/providers/protocol/gemini/translate-chat.js.map +0 -1
  682. package/dist/providers/protocol/gemini/translate-models.d.ts +0 -40
  683. package/dist/providers/protocol/gemini/translate-models.d.ts.map +0 -1
  684. package/dist/providers/protocol/gemini/translate-models.js +0 -186
  685. package/dist/providers/protocol/gemini/translate-models.js.map +0 -1
  686. package/dist/providers/protocol/gemini/translate-responses.d.ts +0 -6
  687. package/dist/providers/protocol/gemini/translate-responses.d.ts.map +0 -1
  688. package/dist/providers/protocol/gemini/translate-responses.js +0 -187
  689. package/dist/providers/protocol/gemini/translate-responses.js.map +0 -1
  690. package/dist/providers/protocol/gemini/translate-schema.d.ts +0 -9
  691. package/dist/providers/protocol/gemini/translate-schema.d.ts.map +0 -1
  692. package/dist/providers/protocol/gemini/translate-schema.js +0 -48
  693. package/dist/providers/protocol/gemini/translate-schema.js.map +0 -1
  694. package/dist/providers/protocol/gemini/translate-shared.d.ts +0 -8
  695. package/dist/providers/protocol/gemini/translate-shared.d.ts.map +0 -1
  696. package/dist/providers/protocol/gemini/translate-shared.js +0 -47
  697. package/dist/providers/protocol/gemini/translate-shared.js.map +0 -1
  698. package/dist/providers/protocol/gemini/translate-thinking.d.ts +0 -7
  699. package/dist/providers/protocol/gemini/translate-thinking.d.ts.map +0 -1
  700. package/dist/providers/protocol/gemini/translate-thinking.js +0 -65
  701. package/dist/providers/protocol/gemini/translate-thinking.js.map +0 -1
  702. package/dist/providers/protocol/gemini/translate-types.d.ts +0 -133
  703. package/dist/providers/protocol/gemini/translate-types.d.ts.map +0 -1
  704. package/dist/providers/protocol/gemini/translate.d.ts +0 -7
  705. package/dist/providers/protocol/gemini/translate.d.ts.map +0 -1
  706. package/dist/providers/protocol/json-schema.d.ts +0 -52
  707. package/dist/providers/protocol/json-schema.d.ts.map +0 -1
  708. package/dist/providers/protocol/json-schema.js +0 -189
  709. package/dist/providers/protocol/json-schema.js.map +0 -1
  710. package/dist/providers/protocol/token-estimate.d.ts +0 -15
  711. package/dist/providers/protocol/token-estimate.d.ts.map +0 -1
  712. package/dist/providers/protocol/token-estimate.js +0 -34
  713. package/dist/providers/protocol/token-estimate.js.map +0 -1
  714. package/dist/providers/proxy-hub-backend.d.ts +0 -4
  715. package/dist/providers/proxy-hub-backend.d.ts.map +0 -1
  716. package/dist/providers/proxy-hub-backend.js +0 -11
  717. package/dist/providers/proxy-hub-backend.js.map +0 -1
  718. package/dist/providers/proxy-process.d.ts +0 -35
  719. package/dist/providers/proxy-process.d.ts.map +0 -1
  720. package/dist/providers/proxy-process.js +0 -119
  721. package/dist/providers/proxy-process.js.map +0 -1
  722. package/dist/providers/proxy-shared.d.ts +0 -43
  723. package/dist/providers/proxy-shared.d.ts.map +0 -1
  724. package/dist/providers/proxy-shared.js +0 -128
  725. package/dist/providers/proxy-shared.js.map +0 -1
  726. package/dist/providers/quota-guard.d.ts +0 -49
  727. package/dist/providers/quota-guard.d.ts.map +0 -1
  728. package/dist/providers/quota-guard.js +0 -107
  729. package/dist/providers/quota-guard.js.map +0 -1
  730. package/dist/providers/reasoning.d.ts +0 -27
  731. package/dist/providers/reasoning.d.ts.map +0 -1
  732. package/dist/providers/reasoning.js +0 -61
  733. package/dist/providers/reasoning.js.map +0 -1
  734. package/dist/providers/upstream-policy.d.ts +0 -33
  735. package/dist/providers/upstream-policy.d.ts.map +0 -1
  736. package/dist/providers/upstream-policy.js +0 -97
  737. package/dist/providers/upstream-policy.js.map +0 -1
  738. package/dist/public-types.d.ts +0 -3
  739. package/dist/public-types.d.ts.map +0 -1
  740. package/dist/public.d.ts +0 -19
  741. package/dist/public.d.ts.map +0 -1
  742. package/dist/public.js +0 -16
  743. package/dist/public.js.map +0 -1
  744. package/dist/sources/account-adapters.d.ts +0 -64
  745. package/dist/sources/account-adapters.d.ts.map +0 -1
  746. package/dist/sources/account-adapters.js +0 -205
  747. package/dist/sources/account-adapters.js.map +0 -1
  748. package/dist/sources/gateway-adapters.d.ts +0 -26
  749. package/dist/sources/gateway-adapters.d.ts.map +0 -1
  750. package/dist/sources/gateway-adapters.js +0 -43
  751. package/dist/sources/gateway-adapters.js.map +0 -1
  752. package/dist/sources/kiro-proxy-bin.d.ts +0 -41
  753. package/dist/sources/kiro-proxy-bin.d.ts.map +0 -1
  754. package/dist/sources/kiro-proxy-bin.js +0 -140
  755. package/dist/sources/kiro-proxy-bin.js.map +0 -1
  756. package/dist/sources/proxy-hub-adapters.d.ts +0 -7
  757. package/dist/sources/proxy-hub-adapters.d.ts.map +0 -1
  758. package/dist/sources/proxy-hub-adapters.js +0 -26
  759. package/dist/sources/proxy-hub-adapters.js.map +0 -1
  760. package/dist/testing.d.ts +0 -9
  761. package/dist/testing.d.ts.map +0 -1
  762. package/dist/testing.js +0 -6
  763. package/dist/tray/AnyPickTray.swift +0 -3
  764. package/dist/tray/activity.d.ts +0 -18
  765. package/dist/tray/activity.d.ts.map +0 -1
  766. package/dist/tray/activity.js +0 -51
  767. package/dist/tray/activity.js.map +0 -1
  768. package/dist/tray/app-icons/icon-1024.png +0 -0
  769. package/dist/tray/app-icons/icon-128.png +0 -0
  770. package/dist/tray/app-icons/icon-16.png +0 -0
  771. package/dist/tray/app-icons/icon-256.png +0 -0
  772. package/dist/tray/app-icons/icon-32.png +0 -0
  773. package/dist/tray/app-icons/icon-512.png +0 -0
  774. package/dist/tray/app-icons/icon-64.png +0 -0
  775. package/dist/tray/icons/claude.svg +0 -1
  776. package/dist/tray/icons/googlegemini.svg +0 -1
  777. package/dist/tray/icons/grok.svg +0 -1
  778. package/dist/tray/icons/kiro.svg +0 -1
  779. package/dist/tray/icons/openai.svg +0 -1
  780. package/dist/tray/icons/opencode.svg +0 -1
  781. package/dist/tray/icons/openrouter.svg +0 -1
  782. package/dist/tray/model-role-actions.d.ts +0 -15
  783. package/dist/tray/model-role-actions.d.ts.map +0 -1
  784. package/dist/tray/model-role-actions.js +0 -41
  785. package/dist/tray/model-role-actions.js.map +0 -1
  786. package/dist/tray/native/AccountsPanel.swift +0 -434
  787. package/dist/tray/native/AppEntry.swift +0 -229
  788. package/dist/tray/native/MainWindow.swift +0 -300
  789. package/dist/tray/native/ManageFormChrome.swift +0 -332
  790. package/dist/tray/native/ManageForms.swift +0 -472
  791. package/dist/tray/native/ManagePanel.swift +0 -356
  792. package/dist/tray/native/Models.swift +0 -259
  793. package/dist/tray/native/ModelsEditor.swift +0 -390
  794. package/dist/tray/native/ModelsOverview.swift +0 -76
  795. package/dist/tray/native/ModelsPickers.swift +0 -273
  796. package/dist/tray/native/ModelsRoutePickers.swift +0 -718
  797. package/dist/tray/native/MonitorPanel.swift +0 -375
  798. package/dist/tray/native/ProxyPanel.swift +0 -326
  799. package/dist/tray/native/QuickActivityRow.swift +0 -40
  800. package/dist/tray/native/QuickNav.swift +0 -62
  801. package/dist/tray/native/QuickPanel.swift +0 -447
  802. package/dist/tray/native/QuickRouteRow.swift +0 -189
  803. package/dist/tray/native/QuickServiceRows.swift +0 -292
  804. package/dist/tray/native/RoutingIssues.swift +0 -293
  805. package/dist/tray/native/SettingsPanel.swift +0 -225
  806. package/dist/tray/native/SharedUI.swift +0 -681
  807. package/dist/tray/native/Store.swift +0 -540
  808. package/dist/tray/native/Theme.swift +0 -139
  809. package/dist/tray/native/TrayChrome.swift +0 -657
  810. package/dist/tray/native/TrayControls.swift +0 -475
  811. package/dist/tray/native/TrayPreferences.swift +0 -46
  812. package/dist/tray/native/sources.txt +0 -26
  813. package/dist/tray/native-sources.d.ts +0 -8
  814. package/dist/tray/native-sources.d.ts.map +0 -1
  815. package/dist/tray/native-sources.js +0 -19
  816. package/dist/tray/native-sources.js.map +0 -1
  817. package/dist/tray/protocol.d.ts +0 -79
  818. package/dist/tray/protocol.d.ts.map +0 -1
  819. package/dist/tray/protocol.js +0 -145
  820. package/dist/tray/protocol.js.map +0 -1
  821. package/dist/tray/settings.d.ts +0 -15
  822. package/dist/tray/settings.d.ts.map +0 -1
  823. package/dist/tray/settings.js +0 -72
  824. package/dist/tray/settings.js.map +0 -1
  825. package/dist/tray/snapshot-client-routes.d.ts +0 -11
  826. package/dist/tray/snapshot-client-routes.d.ts.map +0 -1
  827. package/dist/tray/snapshot-client-routes.js +0 -305
  828. package/dist/tray/snapshot-client-routes.js.map +0 -1
  829. package/dist/tray/snapshot-helpers.d.ts +0 -20
  830. package/dist/tray/snapshot-helpers.d.ts.map +0 -1
  831. package/dist/tray/snapshot-helpers.js +0 -74
  832. package/dist/tray/snapshot-helpers.js.map +0 -1
  833. package/dist/tray/snapshot-hub.d.ts +0 -7
  834. package/dist/tray/snapshot-hub.d.ts.map +0 -1
  835. package/dist/tray/snapshot-hub.js +0 -93
  836. package/dist/tray/snapshot-hub.js.map +0 -1
  837. package/dist/tray/snapshot-resources.d.ts +0 -19
  838. package/dist/tray/snapshot-resources.d.ts.map +0 -1
  839. package/dist/tray/snapshot-resources.js +0 -216
  840. package/dist/tray/snapshot-resources.js.map +0 -1
  841. package/dist/tray/snapshot-types.d.ts +0 -229
  842. package/dist/tray/snapshot-types.d.ts.map +0 -1
  843. package/dist/tray/snapshot-usage.d.ts +0 -9
  844. package/dist/tray/snapshot-usage.d.ts.map +0 -1
  845. package/dist/tray/snapshot-usage.js +0 -35
  846. package/dist/tray/snapshot-usage.js.map +0 -1
  847. package/dist/tray/snapshot.d.ts +0 -7
  848. package/dist/tray/snapshot.d.ts.map +0 -1
  849. package/dist/tray/snapshot.js +0 -48
  850. package/dist/tray/snapshot.js.map +0 -1
  851. package/dist/tray/supervisor-actions.d.ts +0 -19
  852. package/dist/tray/supervisor-actions.d.ts.map +0 -1
  853. package/dist/tray/supervisor-actions.js +0 -224
  854. package/dist/tray/supervisor-actions.js.map +0 -1
  855. package/dist/tray/supervisor-activity.d.ts +0 -5
  856. package/dist/tray/supervisor-activity.d.ts.map +0 -1
  857. package/dist/tray/supervisor-activity.js +0 -19
  858. package/dist/tray/supervisor-activity.js.map +0 -1
  859. package/dist/tray/supervisor-errors.d.ts +0 -9
  860. package/dist/tray/supervisor-errors.d.ts.map +0 -1
  861. package/dist/tray/supervisor-errors.js +0 -91
  862. package/dist/tray/supervisor-errors.js.map +0 -1
  863. package/dist/tray/supervisor-logs.d.ts +0 -6
  864. package/dist/tray/supervisor-logs.d.ts.map +0 -1
  865. package/dist/tray/supervisor-logs.js +0 -52
  866. package/dist/tray/supervisor-logs.js.map +0 -1
  867. package/dist/tray/supervisor-mutations.d.ts +0 -14
  868. package/dist/tray/supervisor-mutations.d.ts.map +0 -1
  869. package/dist/tray/supervisor-mutations.js +0 -218
  870. package/dist/tray/supervisor-mutations.js.map +0 -1
  871. package/dist/tray/supervisor-native.d.ts +0 -22
  872. package/dist/tray/supervisor-native.d.ts.map +0 -1
  873. package/dist/tray/supervisor-native.js +0 -227
  874. package/dist/tray/supervisor-native.js.map +0 -1
  875. package/dist/tray/supervisor-proxies.d.ts +0 -6
  876. package/dist/tray/supervisor-proxies.d.ts.map +0 -1
  877. package/dist/tray/supervisor-proxies.js +0 -37
  878. package/dist/tray/supervisor-proxies.js.map +0 -1
  879. package/dist/tray/supervisor-tauri.d.ts +0 -13
  880. package/dist/tray/supervisor-tauri.d.ts.map +0 -1
  881. package/dist/tray/supervisor-tauri.js +0 -36
  882. package/dist/tray/supervisor-tauri.js.map +0 -1
  883. package/dist/tray/supervisor.d.ts +0 -17
  884. package/dist/tray/supervisor.d.ts.map +0 -1
  885. package/dist/tray/supervisor.js +0 -372
  886. package/dist/tray/supervisor.js.map +0 -1
  887. package/dist/tray/terminal-launcher.d.ts +0 -12
  888. package/dist/tray/terminal-launcher.d.ts.map +0 -1
  889. package/dist/tray/terminal-launcher.js +0 -130
  890. package/dist/tray/terminal-launcher.js.map +0 -1
  891. package/dist/tui/actions/ensure-proxy-up.d.ts +0 -15
  892. package/dist/tui/actions/ensure-proxy-up.d.ts.map +0 -1
  893. package/dist/tui/actions/ensure-proxy-up.js +0 -41
  894. package/dist/tui/actions/ensure-proxy-up.js.map +0 -1
  895. package/dist/tui/actions/use-account-actions.d.ts +0 -35
  896. package/dist/tui/actions/use-account-actions.d.ts.map +0 -1
  897. package/dist/tui/actions/use-account-actions.js +0 -527
  898. package/dist/tui/actions/use-account-actions.js.map +0 -1
  899. package/dist/tui/actions/use-app-bindings.d.ts +0 -83
  900. package/dist/tui/actions/use-app-bindings.d.ts.map +0 -1
  901. package/dist/tui/actions/use-app-bindings.js +0 -472
  902. package/dist/tui/actions/use-app-bindings.js.map +0 -1
  903. package/dist/tui/actions/use-gateway-actions.d.ts +0 -45
  904. package/dist/tui/actions/use-gateway-actions.d.ts.map +0 -1
  905. package/dist/tui/actions/use-gateway-actions.js +0 -370
  906. package/dist/tui/actions/use-gateway-actions.js.map +0 -1
  907. package/dist/tui/actions/use-home-filter.d.ts +0 -24
  908. package/dist/tui/actions/use-home-filter.d.ts.map +0 -1
  909. package/dist/tui/actions/use-home-filter.js +0 -48
  910. package/dist/tui/actions/use-home-filter.js.map +0 -1
  911. package/dist/tui/actions/use-model-role-editor.d.ts +0 -44
  912. package/dist/tui/actions/use-model-role-editor.d.ts.map +0 -1
  913. package/dist/tui/actions/use-model-role-editor.js +0 -68
  914. package/dist/tui/actions/use-model-role-editor.js.map +0 -1
  915. package/dist/tui/actions/use-provider-filter.d.ts +0 -10
  916. package/dist/tui/actions/use-provider-filter.d.ts.map +0 -1
  917. package/dist/tui/actions/use-provider-filter.js +0 -22
  918. package/dist/tui/actions/use-provider-filter.js.map +0 -1
  919. package/dist/tui/actions/use-proxy-actions.d.ts +0 -31
  920. package/dist/tui/actions/use-proxy-actions.d.ts.map +0 -1
  921. package/dist/tui/actions/use-proxy-actions.js +0 -474
  922. package/dist/tui/actions/use-proxy-actions.js.map +0 -1
  923. package/dist/tui/actions/use-text-input-submit.d.ts +0 -16
  924. package/dist/tui/actions/use-text-input-submit.d.ts.map +0 -1
  925. package/dist/tui/actions/use-text-input-submit.js +0 -96
  926. package/dist/tui/actions/use-text-input-submit.js.map +0 -1
  927. package/dist/tui/actions/use-tray-runtime-actions.d.ts +0 -18
  928. package/dist/tui/actions/use-tray-runtime-actions.d.ts.map +0 -1
  929. package/dist/tui/actions/use-tray-runtime-actions.js +0 -78
  930. package/dist/tui/actions/use-tray-runtime-actions.js.map +0 -1
  931. package/dist/tui/app-ui-helpers.d.ts +0 -14
  932. package/dist/tui/app-ui-helpers.d.ts.map +0 -1
  933. package/dist/tui/app-ui-helpers.js +0 -48
  934. package/dist/tui/app-ui-helpers.js.map +0 -1
  935. package/dist/tui/app-ui.d.ts +0 -19
  936. package/dist/tui/app-ui.d.ts.map +0 -1
  937. package/dist/tui/app-ui.js +0 -98
  938. package/dist/tui/app-ui.js.map +0 -1
  939. package/dist/tui/components/chrome/header.d.ts +0 -39
  940. package/dist/tui/components/chrome/header.d.ts.map +0 -1
  941. package/dist/tui/components/chrome/header.js +0 -161
  942. package/dist/tui/components/chrome/header.js.map +0 -1
  943. package/dist/tui/components/chrome/inputs.d.ts +0 -34
  944. package/dist/tui/components/chrome/inputs.d.ts.map +0 -1
  945. package/dist/tui/components/chrome/inputs.js +0 -82
  946. package/dist/tui/components/chrome/inputs.js.map +0 -1
  947. package/dist/tui/components/chrome/layout.d.ts +0 -61
  948. package/dist/tui/components/chrome/layout.d.ts.map +0 -1
  949. package/dist/tui/components/chrome/layout.js +0 -119
  950. package/dist/tui/components/chrome/layout.js.map +0 -1
  951. package/dist/tui/components/chrome/legacy.d.ts +0 -84
  952. package/dist/tui/components/chrome/legacy.d.ts.map +0 -1
  953. package/dist/tui/components/chrome/legacy.js +0 -6
  954. package/dist/tui/components/chrome/rows.d.ts +0 -89
  955. package/dist/tui/components/chrome/rows.d.ts.map +0 -1
  956. package/dist/tui/components/chrome/rows.js +0 -151
  957. package/dist/tui/components/chrome/rows.js.map +0 -1
  958. package/dist/tui/components/chrome/status.d.ts +0 -50
  959. package/dist/tui/components/chrome/status.d.ts.map +0 -1
  960. package/dist/tui/components/chrome/status.js +0 -157
  961. package/dist/tui/components/chrome/status.js.map +0 -1
  962. package/dist/tui/components/chrome.d.ts +0 -7
  963. package/dist/tui/components/chrome.d.ts.map +0 -1
  964. package/dist/tui/components/chrome.js +0 -7
  965. package/dist/tui/components.d.ts +0 -26
  966. package/dist/tui/components.d.ts.map +0 -1
  967. package/dist/tui/components.js +0 -182
  968. package/dist/tui/components.js.map +0 -1
  969. package/dist/tui/model/anypick.d.ts +0 -106
  970. package/dist/tui/model/anypick.d.ts.map +0 -1
  971. package/dist/tui/model/anypick.js +0 -116
  972. package/dist/tui/model/anypick.js.map +0 -1
  973. package/dist/tui/model/bindings.d.ts +0 -39
  974. package/dist/tui/model/bindings.d.ts.map +0 -1
  975. package/dist/tui/model/bindings.js +0 -102
  976. package/dist/tui/model/bindings.js.map +0 -1
  977. package/dist/tui/model/detail.d.ts +0 -6
  978. package/dist/tui/model/detail.d.ts.map +0 -1
  979. package/dist/tui/model/detail.js +0 -85
  980. package/dist/tui/model/detail.js.map +0 -1
  981. package/dist/tui/model/gateway.d.ts +0 -46
  982. package/dist/tui/model/gateway.d.ts.map +0 -1
  983. package/dist/tui/model/gateway.js +0 -134
  984. package/dist/tui/model/gateway.js.map +0 -1
  985. package/dist/tui/model/home-format.d.ts +0 -52
  986. package/dist/tui/model/home-format.d.ts.map +0 -1
  987. package/dist/tui/model/home-format.js +0 -64
  988. package/dist/tui/model/home-format.js.map +0 -1
  989. package/dist/tui/model/home-load.d.ts +0 -8
  990. package/dist/tui/model/home-load.d.ts.map +0 -1
  991. package/dist/tui/model/home-load.js +0 -244
  992. package/dist/tui/model/home-load.js.map +0 -1
  993. package/dist/tui/model/identity.d.ts +0 -53
  994. package/dist/tui/model/identity.d.ts.map +0 -1
  995. package/dist/tui/model/identity.js +0 -176
  996. package/dist/tui/model/identity.js.map +0 -1
  997. package/dist/tui/model/line-editor.d.ts +0 -99
  998. package/dist/tui/model/line-editor.d.ts.map +0 -1
  999. package/dist/tui/model/line-editor.js +0 -186
  1000. package/dist/tui/model/line-editor.js.map +0 -1
  1001. package/dist/tui/model/names.d.ts +0 -28
  1002. package/dist/tui/model/names.d.ts.map +0 -1
  1003. package/dist/tui/model/names.js +0 -42
  1004. package/dist/tui/model/names.js.map +0 -1
  1005. package/dist/tui/model/pool.d.ts +0 -11
  1006. package/dist/tui/model/pool.d.ts.map +0 -1
  1007. package/dist/tui/model/pool.js +0 -115
  1008. package/dist/tui/model/pool.js.map +0 -1
  1009. package/dist/tui/model/provider-filter.d.ts +0 -14
  1010. package/dist/tui/model/provider-filter.d.ts.map +0 -1
  1011. package/dist/tui/model/provider-filter.js +0 -46
  1012. package/dist/tui/model/provider-filter.js.map +0 -1
  1013. package/dist/tui/model/proxy-hub.d.ts +0 -23
  1014. package/dist/tui/model/proxy-hub.d.ts.map +0 -1
  1015. package/dist/tui/model/proxy-hub.js +0 -69
  1016. package/dist/tui/model/proxy-hub.js.map +0 -1
  1017. package/dist/tui/model/proxy-labels.d.ts +0 -5
  1018. package/dist/tui/model/proxy-labels.d.ts.map +0 -1
  1019. package/dist/tui/model/proxy-labels.js +0 -18
  1020. package/dist/tui/model/proxy-labels.js.map +0 -1
  1021. package/dist/tui/model/proxy.d.ts +0 -15
  1022. package/dist/tui/model/proxy.d.ts.map +0 -1
  1023. package/dist/tui/model/proxy.js +0 -214
  1024. package/dist/tui/model/proxy.js.map +0 -1
  1025. package/dist/tui/model/root.d.ts +0 -20
  1026. package/dist/tui/model/root.d.ts.map +0 -1
  1027. package/dist/tui/model/root.js +0 -126
  1028. package/dist/tui/model/root.js.map +0 -1
  1029. package/dist/tui/model/route-builder.d.ts +0 -25
  1030. package/dist/tui/model/route-builder.d.ts.map +0 -1
  1031. package/dist/tui/model/route-builder.js +0 -199
  1032. package/dist/tui/model/route-builder.js.map +0 -1
  1033. package/dist/tui/model/screen.d.ts +0 -260
  1034. package/dist/tui/model/screen.d.ts.map +0 -1
  1035. package/dist/tui/model/types.d.ts +0 -179
  1036. package/dist/tui/model/types.d.ts.map +0 -1
  1037. package/dist/tui/model.d.ts +0 -18
  1038. package/dist/tui/model.d.ts.map +0 -1
  1039. package/dist/tui/model.js +0 -17
  1040. package/dist/tui/proxy-models-fetch.d.ts +0 -34
  1041. package/dist/tui/proxy-models-fetch.d.ts.map +0 -1
  1042. package/dist/tui/proxy-models-fetch.js +0 -87
  1043. package/dist/tui/proxy-models-fetch.js.map +0 -1
  1044. package/dist/tui/routes/account.d.ts +0 -4
  1045. package/dist/tui/routes/account.d.ts.map +0 -1
  1046. package/dist/tui/routes/account.js +0 -327
  1047. package/dist/tui/routes/account.js.map +0 -1
  1048. package/dist/tui/routes/apps.d.ts +0 -3
  1049. package/dist/tui/routes/apps.d.ts.map +0 -1
  1050. package/dist/tui/routes/apps.js +0 -296
  1051. package/dist/tui/routes/apps.js.map +0 -1
  1052. package/dist/tui/routes/common.d.ts +0 -4
  1053. package/dist/tui/routes/common.d.ts.map +0 -1
  1054. package/dist/tui/routes/common.js +0 -117
  1055. package/dist/tui/routes/common.js.map +0 -1
  1056. package/dist/tui/routes/context.d.ts +0 -43
  1057. package/dist/tui/routes/context.d.ts.map +0 -1
  1058. package/dist/tui/routes/gateway.d.ts +0 -3
  1059. package/dist/tui/routes/gateway.d.ts.map +0 -1
  1060. package/dist/tui/routes/gateway.js +0 -199
  1061. package/dist/tui/routes/gateway.js.map +0 -1
  1062. package/dist/tui/routes/proxy.d.ts +0 -3
  1063. package/dist/tui/routes/proxy.d.ts.map +0 -1
  1064. package/dist/tui/routes/proxy.js +0 -234
  1065. package/dist/tui/routes/proxy.js.map +0 -1
  1066. package/dist/tui/screens/account-detail.d.ts +0 -14
  1067. package/dist/tui/screens/account-detail.d.ts.map +0 -1
  1068. package/dist/tui/screens/account-detail.js +0 -98
  1069. package/dist/tui/screens/account-detail.js.map +0 -1
  1070. package/dist/tui/screens/accounts-home.d.ts +0 -42
  1071. package/dist/tui/screens/accounts-home.d.ts.map +0 -1
  1072. package/dist/tui/screens/accounts-home.js +0 -321
  1073. package/dist/tui/screens/accounts-home.js.map +0 -1
  1074. package/dist/tui/screens/add-account.d.ts +0 -70
  1075. package/dist/tui/screens/add-account.d.ts.map +0 -1
  1076. package/dist/tui/screens/add-account.js +0 -323
  1077. package/dist/tui/screens/add-account.js.map +0 -1
  1078. package/dist/tui/screens/anypick-home.d.ts +0 -39
  1079. package/dist/tui/screens/anypick-home.d.ts.map +0 -1
  1080. package/dist/tui/screens/anypick-home.js +0 -253
  1081. package/dist/tui/screens/anypick-home.js.map +0 -1
  1082. package/dist/tui/screens/anypick-preview.d.ts +0 -13
  1083. package/dist/tui/screens/anypick-preview.d.ts.map +0 -1
  1084. package/dist/tui/screens/anypick-preview.js +0 -49
  1085. package/dist/tui/screens/anypick-preview.js.map +0 -1
  1086. package/dist/tui/screens/app-route-preview.d.ts +0 -14
  1087. package/dist/tui/screens/app-route-preview.d.ts.map +0 -1
  1088. package/dist/tui/screens/app-route-preview.js +0 -35
  1089. package/dist/tui/screens/app-route-preview.js.map +0 -1
  1090. package/dist/tui/screens/app-route-source.d.ts +0 -15
  1091. package/dist/tui/screens/app-route-source.d.ts.map +0 -1
  1092. package/dist/tui/screens/app-route-source.js +0 -97
  1093. package/dist/tui/screens/app-route-source.js.map +0 -1
  1094. package/dist/tui/screens/apps-home.d.ts +0 -22
  1095. package/dist/tui/screens/apps-home.d.ts.map +0 -1
  1096. package/dist/tui/screens/apps-home.js +0 -111
  1097. package/dist/tui/screens/apps-home.js.map +0 -1
  1098. package/dist/tui/screens/confirm.d.ts +0 -19
  1099. package/dist/tui/screens/confirm.d.ts.map +0 -1
  1100. package/dist/tui/screens/confirm.js +0 -42
  1101. package/dist/tui/screens/confirm.js.map +0 -1
  1102. package/dist/tui/screens/credential-form.d.ts +0 -30
  1103. package/dist/tui/screens/credential-form.d.ts.map +0 -1
  1104. package/dist/tui/screens/credential-form.js +0 -241
  1105. package/dist/tui/screens/credential-form.js.map +0 -1
  1106. package/dist/tui/screens/gateway-connection-form.d.ts +0 -16
  1107. package/dist/tui/screens/gateway-connection-form.d.ts.map +0 -1
  1108. package/dist/tui/screens/gateway-connection-form.js +0 -127
  1109. package/dist/tui/screens/gateway-connection-form.js.map +0 -1
  1110. package/dist/tui/screens/gateway-pick-provider.d.ts +0 -19
  1111. package/dist/tui/screens/gateway-pick-provider.d.ts.map +0 -1
  1112. package/dist/tui/screens/gateway-pick-provider.js +0 -62
  1113. package/dist/tui/screens/gateway-pick-provider.js.map +0 -1
  1114. package/dist/tui/screens/gateways-home.d.ts +0 -38
  1115. package/dist/tui/screens/gateways-home.d.ts.map +0 -1
  1116. package/dist/tui/screens/gateways-home.js +0 -247
  1117. package/dist/tui/screens/gateways-home.js.map +0 -1
  1118. package/dist/tui/screens/health.d.ts +0 -16
  1119. package/dist/tui/screens/health.d.ts.map +0 -1
  1120. package/dist/tui/screens/health.js +0 -109
  1121. package/dist/tui/screens/health.js.map +0 -1
  1122. package/dist/tui/screens/help.d.ts +0 -10
  1123. package/dist/tui/screens/help.d.ts.map +0 -1
  1124. package/dist/tui/screens/help.js +0 -213
  1125. package/dist/tui/screens/help.js.map +0 -1
  1126. package/dist/tui/screens/manage-apps.d.ts +0 -29
  1127. package/dist/tui/screens/manage-apps.d.ts.map +0 -1
  1128. package/dist/tui/screens/manage-apps.js +0 -165
  1129. package/dist/tui/screens/manage-apps.js.map +0 -1
  1130. package/dist/tui/screens/proxy-board-helpers.d.ts +0 -9
  1131. package/dist/tui/screens/proxy-board-helpers.d.ts.map +0 -1
  1132. package/dist/tui/screens/proxy-board-helpers.js +0 -70
  1133. package/dist/tui/screens/proxy-board-helpers.js.map +0 -1
  1134. package/dist/tui/screens/proxy-board.d.ts +0 -43
  1135. package/dist/tui/screens/proxy-board.d.ts.map +0 -1
  1136. package/dist/tui/screens/proxy-board.js +0 -351
  1137. package/dist/tui/screens/proxy-board.js.map +0 -1
  1138. package/dist/tui/screens/proxy-hub.d.ts +0 -21
  1139. package/dist/tui/screens/proxy-hub.d.ts.map +0 -1
  1140. package/dist/tui/screens/proxy-hub.js +0 -150
  1141. package/dist/tui/screens/proxy-hub.js.map +0 -1
  1142. package/dist/tui/screens/proxy-models-utils.d.ts +0 -13
  1143. package/dist/tui/screens/proxy-models-utils.d.ts.map +0 -1
  1144. package/dist/tui/screens/proxy-models-utils.js +0 -53
  1145. package/dist/tui/screens/proxy-models-utils.js.map +0 -1
  1146. package/dist/tui/screens/proxy-models.d.ts +0 -65
  1147. package/dist/tui/screens/proxy-models.d.ts.map +0 -1
  1148. package/dist/tui/screens/proxy-models.js +0 -252
  1149. package/dist/tui/screens/proxy-models.js.map +0 -1
  1150. package/dist/tui/screens/proxy.d.ts +0 -26
  1151. package/dist/tui/screens/proxy.d.ts.map +0 -1
  1152. package/dist/tui/screens/text-input.d.ts +0 -18
  1153. package/dist/tui/screens/text-input.d.ts.map +0 -1
  1154. package/dist/tui/screens/text-input.js +0 -67
  1155. package/dist/tui/screens/text-input.js.map +0 -1
  1156. package/dist/tui/screens/tray-runtime.d.ts +0 -19
  1157. package/dist/tui/screens/tray-runtime.d.ts.map +0 -1
  1158. package/dist/tui/screens/tray-runtime.js +0 -108
  1159. package/dist/tui/screens/tray-runtime.js.map +0 -1
  1160. package/dist/tui/use-tui-nav.d.ts +0 -40
  1161. package/dist/tui/use-tui-nav.d.ts.map +0 -1
  1162. package/dist/tui/use-tui-nav.js +0 -256
  1163. package/dist/tui/use-tui-nav.js.map +0 -1
  1164. package/dist/tui/use-tui-shell.d.ts +0 -46
  1165. package/dist/tui/use-tui-shell.d.ts.map +0 -1
  1166. package/dist/tui/use-tui-shell.js +0 -95
  1167. package/dist/tui/use-tui-shell.js.map +0 -1
  1168. package/dist/types/account.d.ts +0 -410
  1169. package/dist/types/account.d.ts.map +0 -1
  1170. package/dist/types/account.js +0 -7
  1171. package/dist/types/account.js.map +0 -1
  1172. package/dist/types/bindings.d.ts +0 -300
  1173. package/dist/types/bindings.d.ts.map +0 -1
  1174. package/dist/types/catalog.d.ts +0 -165
  1175. package/dist/types/catalog.d.ts.map +0 -1
  1176. package/dist/types/clients.d.ts +0 -174
  1177. package/dist/types/clients.d.ts.map +0 -1
  1178. package/dist/types/clients.js +0 -11
  1179. package/dist/types/clients.js.map +0 -1
  1180. package/dist/types/plugins.d.ts +0 -89
  1181. package/dist/types/plugins.d.ts.map +0 -1
  1182. package/dist/types/plugins.js +0 -14
  1183. package/dist/types/plugins.js.map +0 -1
  1184. package/dist/types/proxy-hub.d.ts +0 -109
  1185. package/dist/types/proxy-hub.d.ts.map +0 -1
  1186. package/dist/types.d.ts +0 -7
  1187. package/dist/types.d.ts.map +0 -1
  1188. package/dist/types.js +0 -1
  1189. package/dist/utils/errors.d.ts +0 -61
  1190. package/dist/utils/errors.d.ts.map +0 -1
  1191. package/dist/utils/errors.js +0 -119
  1192. package/dist/utils/errors.js.map +0 -1
  1193. package/dist/utils/fs.d.ts +0 -39
  1194. package/dist/utils/fs.d.ts.map +0 -1
  1195. package/dist/utils/fs.js +0 -126
  1196. package/dist/utils/fs.js.map +0 -1
  1197. package/dist/utils/lock.d.ts +0 -33
  1198. package/dist/utils/lock.d.ts.map +0 -1
  1199. package/dist/utils/lock.js +0 -95
  1200. package/dist/utils/lock.js.map +0 -1
  1201. package/dist/utils/log.d.ts +0 -10
  1202. package/dist/utils/log.d.ts.map +0 -1
  1203. package/dist/utils/log.js +0 -21
  1204. package/dist/utils/log.js.map +0 -1
  1205. package/dist/utils/network.d.ts +0 -3
  1206. package/dist/utils/network.d.ts.map +0 -1
  1207. package/dist/utils/network.js +0 -13
  1208. package/dist/utils/network.js.map +0 -1
  1209. package/dist/utils/process/binary.d.ts +0 -14
  1210. package/dist/utils/process/binary.d.ts.map +0 -1
  1211. package/dist/utils/process/binary.js +0 -29
  1212. package/dist/utils/process/binary.js.map +0 -1
  1213. package/dist/utils/process/follow.d.ts +0 -2
  1214. package/dist/utils/process/follow.d.ts.map +0 -1
  1215. package/dist/utils/process/follow.js +0 -90
  1216. package/dist/utils/process/follow.js.map +0 -1
  1217. package/dist/utils/process/health.d.ts +0 -43
  1218. package/dist/utils/process/health.d.ts.map +0 -1
  1219. package/dist/utils/process/health.js +0 -132
  1220. package/dist/utils/process/health.js.map +0 -1
  1221. package/dist/utils/process/pid.d.ts +0 -95
  1222. package/dist/utils/process/pid.d.ts.map +0 -1
  1223. package/dist/utils/process/pid.js +0 -243
  1224. package/dist/utils/process/pid.js.map +0 -1
  1225. package/dist/utils/process.d.ts +0 -5
  1226. package/dist/utils/process.d.ts.map +0 -1
  1227. package/dist/utils/process.js +0 -5
  1228. package/dist/utils/slug.d.ts +0 -18
  1229. package/dist/utils/slug.d.ts.map +0 -1
  1230. package/dist/utils/slug.js +0 -42
  1231. package/dist/utils/slug.js.map +0 -1
@@ -1,471 +0,0 @@
1
- import { AnyPickError } from "../utils/errors.js";
2
- import { copyFileSafe, ensureDir, pathExists, readJsonFile, writeJsonFile, writeTextFile } from "../utils/fs.js";
3
- import { geminiAccountAdapter, poolAdapterFor } from "../sources/account-adapters.js";
4
- import { readGeminiApiKeyFromEnvFile, stripEnvAuthKeys, upsertEnvFile } from "./gemini-env.js";
5
- import { readIdentityFromDir } from "./gemini-identity.js";
6
- import { antigravityApplicationRunning, assertAntigravityStateSafeToMutate, readAntigravityStateOAuthPayload } from "./gemini-antigravity-state.js";
7
- import { antigravityCredentialExists, antigravityKeychainSupported, deleteAntigravityOAuthCredential, hydrateAntigravityOAuthPayload, loadAntigravityOAuthCredentials, readAntigravityOAuthPayload, saveAntigravityOAuthCredential } from "./gemini-antigravity-oauth.js";
8
- import { rolesFromLiveDiscovery } from "./model-policy.js";
9
- import { geminiProxyStatus, readGeminiProxyLogs, startGeminiProxy, stopGeminiProxy } from "./gemini-proxy-lifecycle.js";
10
- import { listenGeminiProxy } from "./gemini-proxy/server.js";
11
- import { closeProxyHubBackend } from "./proxy-hub-backend.js";
12
- import { join } from "node:path";
13
- import { readFile, rm } from "node:fs/promises";
14
- import { homedir } from "node:os";
15
- import { createHash } from "node:crypto";
16
- //#region src/providers/gemini.ts
17
- /**
18
- * Google Gemini CLI
19
- *
20
- * Live auth under ~/.gemini/:
21
- * .env — GEMINI_API_KEY / GOOGLE_CLOUD_* (API key + Vertex)
22
- * oauth_creds.json — Login with Google OAuth tokens (when on disk)
23
- * google_accounts.json — active email + history
24
- * settings.json — security.auth.selectedType (merged, not fully replaced)
25
- *
26
- * Built-in dual-protocol proxy (API key accounts):
27
- * OpenAI (/v1/responses) → Codex
28
- * Anthropic (/v1/messages) → Claude Code
29
- * Translates to Google Generative Language API (generateContent).
30
- *
31
- * Notes:
32
- * - Personal OAuth may also live in the OS keychain; we snapshot file-based
33
- * material only. API-key accounts via .env drive the proxy most reliably.
34
- */
35
- var SNAPSHOT_FILES = [
36
- ".env",
37
- "oauth_creds.json",
38
- "google_accounts.json"
39
- ];
40
- var ANTIGRAVITY_SNAPSHOT_FILE = "antigravity_oauth.json";
41
- var DEFAULT_PORT = 4130;
42
- /**
43
- * Identify a Gemini CLI login by its long-lived credential material.
44
- *
45
- * The refresh token, not the access token: the access token rotates hourly and
46
- * both the CLI and the proxy rewrite the file in place.
47
- */
48
- async function geminiAuthFingerprint(dir) {
49
- const parts = [];
50
- const oauthPath = join(dir, "oauth_creds.json");
51
- if (await pathExists(oauthPath)) try {
52
- const creds = await readJsonFile(oauthPath);
53
- if (typeof creds.refresh_token === "string" && creds.refresh_token.trim()) parts.push(`rt:${createHash("sha256").update(creds.refresh_token.trim()).digest("hex")}`);
54
- } catch {}
55
- const key = await readGeminiApiKeyFromEnvFile(join(dir, ".env")).catch(() => void 0);
56
- if (key) parts.push(`key:${createHash("sha256").update(key).digest("hex")}`);
57
- return parts.length > 0 ? parts.sort().join("|") : null;
58
- }
59
- /**
60
- * Antigravity exposes no email, so identify a login by its durable grant.
61
- * Keep the refresh token itself out of account metadata and UI output.
62
- */
63
- function antigravityIdentity(payload) {
64
- const refreshToken = payload?.token?.refresh_token?.trim();
65
- return refreshToken ? `antigravity:${createHash("sha256").update(refreshToken).digest("hex").slice(0, 12)}` : void 0;
66
- }
67
- var GeminiProvider = class {
68
- home;
69
- saveAntigravityCredential;
70
- hydrateAntigravityCredential;
71
- deleteAntigravityCredential;
72
- readAntigravityStateCredential;
73
- id = "gemini";
74
- name = "Gemini CLI";
75
- shortName = "Gemini";
76
- /** Gemini CLI vs Antigravity — TUI offers a source picker before mode. */
77
- requiresAccountSourcePick = true;
78
- description = "Manages ~/.gemini auth + OpenAI/Anthropic→Gemini proxy (Codex + Claude)";
79
- defaultProxyPort = DEFAULT_PORT;
80
- proxyCompatibility = "OpenAI + Anthropic → Gemini API";
81
- /** The Gemini proxy cannot be driven from an OAuth-only snapshot. */
82
- proxyRequiresApiKey = true;
83
- async proxyApiKeyStatus(snapshotDir) {
84
- try {
85
- if (await readGeminiApiKeyFromEnvFile(join(snapshotDir, ".env"))) return { present: true };
86
- return {
87
- present: false,
88
- hint: "Needs GEMINI_API_KEY in .env — OAuth-only cannot run this proxy"
89
- };
90
- } catch {
91
- return {
92
- present: false,
93
- hint: "Could not read Gemini API key for this login"
94
- };
95
- }
96
- }
97
- roleDefaults() {
98
- return rolesFromLiveDiscovery();
99
- }
100
- /** Gemini names cheap models "flash"/"lite" and strong models "pro". */
101
- roleModelHints() {
102
- return {
103
- default: ["pro"],
104
- opus: ["pro"],
105
- sonnet: ["flash", "lite"],
106
- haiku: ["flash", "lite"]
107
- };
108
- }
109
- constructor(home = homedir(), saveAntigravityCredential = saveAntigravityOAuthCredential, hydrateAntigravityCredential = hydrateAntigravityOAuthPayload, deleteAntigravityCredential = deleteAntigravityOAuthCredential, readAntigravityStateCredential = readAntigravityStateOAuthPayload) {
110
- this.home = home;
111
- this.saveAntigravityCredential = saveAntigravityCredential;
112
- this.hydrateAntigravityCredential = hydrateAntigravityCredential;
113
- this.deleteAntigravityCredential = deleteAntigravityCredential;
114
- this.readAntigravityStateCredential = readAntigravityStateCredential;
115
- }
116
- sourceAdapter(account) {
117
- return geminiAccountAdapter(account);
118
- }
119
- poolSourceAdapter() {
120
- return poolAdapterFor(this.id, this);
121
- }
122
- async createProxyHubBackend(ctx) {
123
- const [primary, ...rest] = ctx.accounts;
124
- if (!primary) throw new Error("Gemini Hub backend requires at least one account");
125
- const options = primary.proxy.options ?? {};
126
- const oauthSource = options.oauthSource === "gemini-cli" || options.oauthSource === "antigravity" || options.oauthSource === "auto" ? options.oauthSource : "auto";
127
- const { server, endpoint } = await listenGeminiProxy({
128
- host: "127.0.0.1",
129
- port: 0,
130
- authDir: primary.snapshotDir,
131
- authDirs: rest.map((account) => account.snapshotDir),
132
- authAccountNames: ctx.accounts.map((account) => account.name),
133
- oauthSource,
134
- antigravityOAuthFile: typeof options.antigravityOAuthFile === "string" ? options.antigravityOAuthFile : void 0,
135
- upstream: typeof options.upstream === "string" ? options.upstream : void 0,
136
- codeAssistUpstream: typeof options.codeAssistUpstream === "string" ? options.codeAssistUpstream : void 0,
137
- token: ctx.token,
138
- log: ctx.log
139
- });
140
- return {
141
- endpoint,
142
- close: () => closeProxyHubBackend(server)
143
- };
144
- }
145
- get geminiDir() {
146
- return process.env.GEMINI_CONFIG_DIR ?? join(this.home, ".gemini");
147
- }
148
- livePath(name) {
149
- return join(this.geminiDir, name);
150
- }
151
- /** True when ~/.gemini holds credential material the CLI backup can snapshot. */
152
- async hasGeminiCliAuth() {
153
- return await this.hasApiKeyMaterial() || await pathExists(this.livePath("oauth_creds.json"));
154
- }
155
- /**
156
- * Which source a source-less operation acts on.
157
- *
158
- * Gemini CLI files win whenever they exist, so restoring a CLI account always
159
- * takes precedence over a lingering Antigravity keychain entry. Antigravity
160
- * only surfaces when there is no CLI login at all — otherwise a user signed in
161
- * through Antigravity alone would look signed out everywhere.
162
- */
163
- async resolveAutoSource() {
164
- if (await this.hasGeminiCliAuth()) return "gemini-cli";
165
- return await antigravityCredentialExists() ? "antigravity" : null;
166
- }
167
- async detectLive() {
168
- const cli = await this.detectGeminiCliLive();
169
- if (cli.present) return cli;
170
- if (!await antigravityCredentialExists()) return { present: false };
171
- return {
172
- present: true,
173
- identity: antigravityIdentity(await this.readAntigravityStateCredential().catch(() => null)),
174
- details: "antigravity oauth"
175
- };
176
- }
177
- async detectGeminiCliLive() {
178
- const hasEnv = await this.hasApiKeyMaterial();
179
- const hasOauth = await pathExists(this.livePath("oauth_creds.json"));
180
- if (!hasEnv && !hasOauth) return { present: false };
181
- const identity = await this.readIdentity();
182
- const details = [];
183
- if (hasOauth) details.push("oauth");
184
- if (hasEnv) details.push("api-key");
185
- const authType = await this.readSelectedAuthType();
186
- if (authType) details.push(authType);
187
- return {
188
- present: true,
189
- identity,
190
- details: details.join(", ")
191
- };
192
- }
193
- /**
194
- * Explicit Antigravity liveness check. Reads the macOS Keychain (or a portable
195
- * file), so it MUST NOT be folded into detectLive() — that runs on every home
196
- * refresh and would trigger repeated Keychain permission prompts. Only call it
197
- * when the user explicitly chose the Antigravity source.
198
- */
199
- async detectAntigravityLive(credentialFile) {
200
- if (!credentialFile && !antigravityKeychainSupported()) throw new AnyPickError(`Antigravity accounts are not supported on ${process.platform} yet.`, "NO_LIVE_AUTH");
201
- try {
202
- const creds = await loadAntigravityOAuthCredentials(credentialFile);
203
- if (!creds) return { present: false };
204
- return {
205
- present: true,
206
- identity: creds.refresh_token ? antigravityIdentity({ token: { refresh_token: creds.refresh_token } }) : void 0,
207
- details: "antigravity oauth"
208
- };
209
- } catch {
210
- return { present: false };
211
- }
212
- }
213
- /**
214
- * Snapshot the Antigravity credential into the account dir.
215
- *
216
- * The whole credential-store payload is written, not the reduced
217
- * {refresh_token, token_type} the proxy needs: restoring this account has to
218
- * put the credential back into the store, and a token stripped of its access
219
- * token and expiry is not the one that was saved. The proxy is unaffected —
220
- * parseAntigravityOAuthCredential accepts this nested shape too.
221
- */
222
- async backupAntigravity(destDir, credentialFile) {
223
- if (!credentialFile && !antigravityKeychainSupported()) throw new AnyPickError(`Antigravity accounts are not supported on ${process.platform} yet.`, "NO_LIVE_AUTH");
224
- const payload = await readAntigravityOAuthPayload(credentialFile);
225
- if (!payload) throw new AnyPickError("No Antigravity OAuth credential found. Sign in with Antigravity first.", "NO_LIVE_AUTH");
226
- await ensureDir(destDir);
227
- await writeJsonFile(join(destDir, ANTIGRAVITY_SNAPSHOT_FILE), payload, 384);
228
- return {
229
- identity: antigravityIdentity(payload),
230
- notes: "Antigravity login"
231
- };
232
- }
233
- async detectLiveSource(source) {
234
- return source === "antigravity" ? this.detectAntigravityLive() : this.detectGeminiCliLive();
235
- }
236
- async backupSource(source, destDir) {
237
- return source === "antigravity" ? this.backupAntigravity(destDir) : this.backup(destDir);
238
- }
239
- async clearLiveSource(source) {
240
- return source === "antigravity" ? this.clearAntigravityLive() : this.clearLive();
241
- }
242
- /**
243
- * Drop the Antigravity credential from the OS credential store so Antigravity
244
- * asks for a new sign-in. The ~/.gemini CLI files belong to the other source
245
- * and are deliberately left alone.
246
- */
247
- async clearAntigravityLive() {
248
- if (!antigravityKeychainSupported()) throw new AnyPickError(`Antigravity accounts are not supported on ${process.platform} yet.`, "NO_LIVE_AUTH");
249
- await deleteAntigravityOAuthCredential();
250
- }
251
- async backup(destDir) {
252
- if (await this.resolveAutoSource() === "antigravity") return this.backupAntigravity(destDir);
253
- await ensureDir(destDir);
254
- let copied = 0;
255
- for (const file of SNAPSHOT_FILES) if (await copyFileSafe(this.livePath(file), join(destDir, file))) copied += 1;
256
- const authSettings = await this.readAuthSettingsSlice();
257
- if (authSettings) {
258
- await writeJsonFile(join(destDir, "auth-settings.json"), authSettings, 384);
259
- copied += 1;
260
- }
261
- if (copied === 0) throw new AnyPickError("No Gemini CLI auth found under ~/.gemini (.env, oauth_creds.json, or google_accounts.json).", "NO_LIVE_AUTH");
262
- const hasCred = await pathExists(join(destDir, ".env")) || await pathExists(join(destDir, "oauth_creds.json"));
263
- if (!hasCred) throw new AnyPickError("Gemini google_accounts.json alone is not enough — need .env (API key) or oauth_creds.json.", "NO_LIVE_AUTH");
264
- return {
265
- identity: await readIdentityFromDir(destDir) ?? await this.readIdentity(),
266
- notes: hasCred ? void 0 : "Partial Gemini snapshot"
267
- };
268
- }
269
- async restore(srcDir) {
270
- await ensureDir(this.geminiDir);
271
- let restored = 0;
272
- for (const file of SNAPSHOT_FILES) {
273
- const src = join(srcDir, file);
274
- if (await pathExists(src)) {
275
- await copyFileSafe(src, this.livePath(file));
276
- restored += 1;
277
- } else await rm(this.livePath(file), { force: true }).catch(() => {});
278
- }
279
- const authSlicePath = join(srcDir, "auth-settings.json");
280
- if (await pathExists(authSlicePath)) try {
281
- const slice = await readJsonFile(authSlicePath);
282
- await this.mergeAuthSettings(slice);
283
- restored += 1;
284
- } catch {}
285
- const antigravitySnapshot = join(srcDir, ANTIGRAVITY_SNAPSHOT_FILE);
286
- if (await pathExists(antigravitySnapshot)) {
287
- await this.restoreAntigravity(antigravitySnapshot);
288
- restored += 1;
289
- } else if (antigravityKeychainSupported()) await this.deleteAntigravityCredential().catch(() => {});
290
- if (restored === 0) throw new AnyPickError(`No Gemini auth files in snapshot: ${srcDir}`, "SNAPSHOT_INVALID");
291
- }
292
- /**
293
- * Refuse an Antigravity switch before AccountService checkpoints or mutates
294
- * anything. Without this early guard, the late SQLite rejection caused core
295
- * to attempt a rollback that the same running app also rejected.
296
- */
297
- async preflightRestore(srcDir) {
298
- const snapshotFile = join(srcDir, ANTIGRAVITY_SNAPSHOT_FILE);
299
- if (!await pathExists(snapshotFile)) return;
300
- const payload = await readAntigravityOAuthPayload(snapshotFile);
301
- if (!payload) throw new AnyPickError("Saved Antigravity credential has no refresh token and cannot be restored.", "ANTIGRAVITY_RESTORE_FAILED");
302
- try {
303
- await assertAntigravityStateSafeToMutate({ expectedPayload: payload });
304
- } catch (err) {
305
- if (err instanceof Error && /Antigravity is running/i.test(err.message)) throw new AnyPickError("Antigravity is still open.", {
306
- code: "RESTORE_OWNER_RUNNING",
307
- suggestions: ["Quit Antigravity completely, return to AnyPick, then press Enter again."]
308
- });
309
- throw err;
310
- }
311
- }
312
- async restoreOwnerStatus(srcDir) {
313
- if (!await pathExists(join(srcDir, ANTIGRAVITY_SNAPSHOT_FILE))) return null;
314
- return {
315
- name: "Antigravity",
316
- running: await antigravityApplicationRunning()
317
- };
318
- }
319
- async accountSource(srcDir) {
320
- return await pathExists(join(srcDir, ANTIGRAVITY_SNAPSHOT_FILE)) ? {
321
- id: "antigravity",
322
- name: "Antigravity"
323
- } : {
324
- id: "gemini-cli",
325
- name: "Gemini CLI"
326
- };
327
- }
328
- async liveAccountSource(live) {
329
- return live.details?.toLowerCase().includes("antigravity") ? {
330
- id: "antigravity",
331
- name: "Antigravity"
332
- } : {
333
- id: "gemini-cli",
334
- name: "Gemini CLI"
335
- };
336
- }
337
- /** Push a snapshotted Antigravity credential back into the OS credential store. */
338
- async restoreAntigravity(snapshotFile) {
339
- if (!antigravityKeychainSupported()) throw new AnyPickError(`Writing the Antigravity OAuth credential is not supported on ${process.platform}.`, "ANTIGRAVITY_RESTORE_FAILED");
340
- const payload = await readAntigravityOAuthPayload(snapshotFile);
341
- if (!payload) throw new AnyPickError("Saved Antigravity credential has no refresh token and cannot be restored.", "ANTIGRAVITY_RESTORE_FAILED");
342
- await this.saveAntigravityCredential(await this.hydrateAntigravityCredential(payload));
343
- }
344
- /**
345
- * Clear local Gemini CLI auth files so the user can sign in as someone else.
346
- * Does not revoke OAuth server-side or remove OS keychain entries.
347
- */
348
- async clearLive() {
349
- if (await this.resolveAutoSource() === "antigravity") {
350
- await this.clearAntigravityLive();
351
- return;
352
- }
353
- for (const file of ["oauth_creds.json", "google_accounts.json"]) await rm(this.livePath(file), { force: true }).catch(() => {});
354
- const envPath = this.livePath(".env");
355
- if (await pathExists(envPath)) {
356
- const next = await stripEnvAuthKeys(envPath);
357
- if (next.trim()) await writeTextFile(envPath, next.endsWith("\n") ? next : `${next}\n`, 384);
358
- else await rm(envPath, { force: true }).catch(() => {});
359
- }
360
- try {
361
- const settingsPath = this.livePath("settings.json");
362
- if (await pathExists(settingsPath)) {
363
- const doc = await readJsonFile(settingsPath);
364
- const security = doc.security && typeof doc.security === "object" ? { ...doc.security } : {};
365
- if (security.auth && typeof security.auth === "object") {
366
- const auth = { ...security.auth };
367
- delete auth.selectedType;
368
- if (Object.keys(auth).length === 0) delete security.auth;
369
- else security.auth = auth;
370
- }
371
- if (Object.keys(security).length === 0) delete doc.security;
372
- else doc.security = security;
373
- await writeJsonFile(settingsPath, doc, 384);
374
- }
375
- } catch {}
376
- }
377
- async startProxy(ctx) {
378
- return startGeminiProxy(ctx, {
379
- liveDir: this.geminiDir,
380
- compatibility: this.proxyCompatibility,
381
- defaultPort: DEFAULT_PORT
382
- });
383
- }
384
- async stopProxy(ctx) {
385
- await stopGeminiProxy(ctx);
386
- }
387
- async proxyStatus(ctx) {
388
- return geminiProxyStatus(ctx, this.proxyCompatibility, DEFAULT_PORT);
389
- }
390
- async readProxyLogs(ctx, lines = 50) {
391
- return readGeminiProxyLogs(ctx, lines);
392
- }
393
- /**
394
- * Gemini keeps no `auth.json`, so the shared default could never find a live
395
- * file to compare and reported every saved account as not-live.
396
- *
397
- * Only credential material is compared, and only its durable part: the CLI
398
- * rewrites `oauth_creds.json` on every access-token refresh, so hashing the
399
- * whole file would mark the live account "changed" within the hour.
400
- */
401
- async snapshotMatchesLive(snapshotDir) {
402
- if (await pathExists(join(snapshotDir, ANTIGRAVITY_SNAPSHOT_FILE))) {
403
- const snapshot = await readAntigravityOAuthPayload(join(snapshotDir, ANTIGRAVITY_SNAPSHOT_FILE));
404
- const live = await this.readAntigravityStateCredential().catch(() => null);
405
- const snapshotIdentity = antigravityIdentity(snapshot);
406
- const liveIdentity = antigravityIdentity(live);
407
- if (!snapshotIdentity || !liveIdentity) throw new AnyPickError("The current Antigravity login cannot be fingerprinted from unified state.", "NOT_DETERMINABLE");
408
- return snapshotIdentity === liveIdentity;
409
- }
410
- const snap = await geminiAuthFingerprint(snapshotDir);
411
- if (!snap) return false;
412
- return snap === await geminiAuthFingerprint(this.geminiDir);
413
- }
414
- async hasApiKeyMaterial() {
415
- if (process.env.GEMINI_API_KEY?.trim() || process.env.GOOGLE_API_KEY?.trim()) {}
416
- const envPath = this.livePath(".env");
417
- if (!await pathExists(envPath)) return Boolean(process.env.GEMINI_API_KEY?.trim() || process.env.GOOGLE_API_KEY?.trim());
418
- try {
419
- const raw = await readFile(envPath, "utf8");
420
- return /^(?:export\s+)?(?:GEMINI_API_KEY|GOOGLE_API_KEY|GOOGLE_APPLICATION_CREDENTIALS)=/m.test(raw);
421
- } catch {
422
- return false;
423
- }
424
- }
425
- async readIdentity() {
426
- return readIdentityFromDir(this.geminiDir);
427
- }
428
- async readSelectedAuthType() {
429
- try {
430
- const settingsPath = this.livePath("settings.json");
431
- if (!await pathExists(settingsPath)) return;
432
- const auth = (await readJsonFile(settingsPath)).security?.auth;
433
- return typeof auth?.selectedType === "string" ? auth.selectedType : void 0;
434
- } catch {
435
- return;
436
- }
437
- }
438
- async readAuthSettingsSlice() {
439
- try {
440
- const settingsPath = this.livePath("settings.json");
441
- if (!await pathExists(settingsPath)) return null;
442
- const security = (await readJsonFile(settingsPath)).security;
443
- if (!security || typeof security !== "object") return null;
444
- return { security: { ...security } };
445
- } catch {
446
- return null;
447
- }
448
- }
449
- async mergeAuthSettings(slice) {
450
- const settingsPath = this.livePath("settings.json");
451
- let doc = {};
452
- if (await pathExists(settingsPath)) try {
453
- doc = await readJsonFile(settingsPath);
454
- } catch {
455
- doc = {};
456
- }
457
- if (slice.security && typeof slice.security === "object") {
458
- const existing = doc.security && typeof doc.security === "object" ? doc.security : {};
459
- doc.security = {
460
- ...existing,
461
- ...slice.security
462
- };
463
- }
464
- await writeJsonFile(settingsPath, doc, 384);
465
- }
466
- };
467
- var geminiProvider = new GeminiProvider();
468
- //#endregion
469
- export { GeminiProvider, geminiProvider, readGeminiApiKeyFromEnvFile, upsertEnvFile };
470
-
471
- //# sourceMappingURL=gemini.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gemini.js","names":[],"sources":["../../src/providers/gemini.ts"],"sourcesContent":["/**\n * Google Gemini CLI\n *\n * Live auth under ~/.gemini/:\n * .env — GEMINI_API_KEY / GOOGLE_CLOUD_* (API key + Vertex)\n * oauth_creds.json — Login with Google OAuth tokens (when on disk)\n * google_accounts.json — active email + history\n * settings.json — security.auth.selectedType (merged, not fully replaced)\n *\n * Built-in dual-protocol proxy (API key accounts):\n * OpenAI (/v1/responses) → Codex\n * Anthropic (/v1/messages) → Claude Code\n * Translates to Google Generative Language API (generateContent).\n *\n * Notes:\n * - Personal OAuth may also live in the OS keychain; we snapshot file-based\n * material only. API-key accounts via .env drive the proxy most reliably.\n */\n\nimport { join } from 'node:path';\nimport { homedir } from 'node:os';\nimport { readFile, rm } from 'node:fs/promises';\nimport { createHash } from 'node:crypto';\nimport type {\n Account,\n AccountMeta,\n LiveAuthStatus,\n Provider,\n ProxyContext,\n ProxyHubBackendContext,\n ProxyHubBackendHandle,\n ProxyHandle,\n ProxyStatus,\n SourceAdapter,\n} from '../types';\nimport { geminiAccountAdapter, poolAdapterFor } from '../sources/account-adapters';\nimport {\n copyFileSafe,\n ensureDir,\n pathExists,\n readJsonFile,\n writeJsonFile,\n writeTextFile,\n} from '../utils/fs';\nimport { AnyPickError } from '../utils/errors';\nimport { readGeminiApiKeyFromEnvFile, stripEnvAuthKeys } from './gemini-env';\nimport { readIdentityFromDir } from './gemini-identity';\nimport {\n loadAntigravityOAuthCredentials,\n readAntigravityOAuthPayload,\n hydrateAntigravityOAuthPayload,\n saveAntigravityOAuthCredential,\n deleteAntigravityOAuthCredential,\n antigravityCredentialExists,\n antigravityKeychainSupported,\n type AntigravityKeyringPayload,\n} from './gemini-antigravity-oauth';\nimport {\n antigravityApplicationRunning,\n assertAntigravityStateSafeToMutate,\n readAntigravityStateOAuthPayload,\n} from './gemini-antigravity-state';\nimport { rolesFromLiveDiscovery } from './model-policy';\nimport {\n startGeminiProxy,\n stopGeminiProxy,\n geminiProxyStatus,\n readGeminiProxyLogs,\n} from './gemini-proxy-lifecycle';\nimport { listenGeminiProxy } from './gemini-proxy/server';\nimport { closeProxyHubBackend } from './proxy-hub-backend';\n\nconst SNAPSHOT_FILES = ['.env', 'oauth_creds.json', 'google_accounts.json'] as const;\nconst ANTIGRAVITY_SNAPSHOT_FILE = 'antigravity_oauth.json';\nconst DEFAULT_PORT = 4130;\n\n/**\n * Identify a Gemini CLI login by its long-lived credential material.\n *\n * The refresh token, not the access token: the access token rotates hourly and\n * both the CLI and the proxy rewrite the file in place.\n */\nasync function geminiAuthFingerprint(dir: string): Promise<string | null> {\n const parts: string[] = [];\n\n const oauthPath = join(dir, 'oauth_creds.json');\n if (await pathExists(oauthPath)) {\n try {\n const creds = await readJsonFile<{ refresh_token?: unknown }>(oauthPath);\n if (typeof creds.refresh_token === 'string' && creds.refresh_token.trim()) {\n parts.push(`rt:${createHash('sha256').update(creds.refresh_token.trim()).digest('hex')}`);\n }\n } catch {\n // Unreadable credential is no credential.\n }\n }\n\n const key = await readGeminiApiKeyFromEnvFile(join(dir, '.env')).catch(() => undefined);\n if (key) {\n parts.push(`key:${createHash('sha256').update(key).digest('hex')}`);\n }\n\n return parts.length > 0 ? parts.sort().join('|') : null;\n}\n\n/**\n * Antigravity exposes no email, so identify a login by its durable grant.\n * Keep the refresh token itself out of account metadata and UI output.\n */\nfunction antigravityIdentity(payload: AntigravityKeyringPayload | null): string | undefined {\n const refreshToken = payload?.token?.refresh_token?.trim();\n return refreshToken\n ? `antigravity:${createHash('sha256').update(refreshToken).digest('hex').slice(0, 12)}`\n : undefined;\n}\n\nexport class GeminiProvider implements Provider {\n readonly id = 'gemini';\n readonly name = 'Gemini CLI';\n readonly shortName = 'Gemini';\n /** Gemini CLI vs Antigravity — TUI offers a source picker before mode. */\n readonly requiresAccountSourcePick = true;\n readonly description = 'Manages ~/.gemini auth + OpenAI/Anthropic→Gemini proxy (Codex + Claude)';\n readonly defaultProxyPort = DEFAULT_PORT;\n readonly proxyCompatibility = 'OpenAI + Anthropic → Gemini API';\n /** The Gemini proxy cannot be driven from an OAuth-only snapshot. */\n readonly proxyRequiresApiKey = true;\n\n async proxyApiKeyStatus(snapshotDir: string): Promise<{ present: boolean; hint?: string }> {\n try {\n const key = await readGeminiApiKeyFromEnvFile(join(snapshotDir, '.env'));\n if (key) {\n return { present: true };\n }\n return {\n present: false,\n hint: 'Needs GEMINI_API_KEY in .env — OAuth-only cannot run this proxy',\n };\n } catch {\n return { present: false, hint: 'Could not read Gemini API key for this login' };\n }\n }\n\n // Model rollout differs between API-key and Code Assist OAuth accounts, so\n // roles are resolved from the proxy's live model list.\n roleDefaults(): Record<string, string> {\n return rolesFromLiveDiscovery();\n }\n\n /** Gemini names cheap models \"flash\"/\"lite\" and strong models \"pro\". */\n roleModelHints(): Record<string, readonly string[]> {\n return {\n default: ['pro'],\n opus: ['pro'],\n sonnet: ['flash', 'lite'],\n haiku: ['flash', 'lite'],\n };\n }\n\n constructor(\n private readonly home = homedir(),\n private readonly saveAntigravityCredential: (\n payload: AntigravityKeyringPayload,\n ) => Promise<void> = saveAntigravityOAuthCredential,\n private readonly hydrateAntigravityCredential: (\n payload: AntigravityKeyringPayload,\n ) => Promise<AntigravityKeyringPayload> = hydrateAntigravityOAuthPayload,\n private readonly deleteAntigravityCredential: () => Promise<boolean> = deleteAntigravityOAuthCredential,\n private readonly readAntigravityStateCredential: () => Promise<AntigravityKeyringPayload | null> = readAntigravityStateOAuthPayload,\n ) {}\n\n sourceAdapter(account: Account): SourceAdapter {\n return geminiAccountAdapter(account);\n }\n\n poolSourceAdapter(): SourceAdapter {\n return poolAdapterFor(this.id, this);\n }\n\n async createProxyHubBackend(ctx: ProxyHubBackendContext): Promise<ProxyHubBackendHandle> {\n const [primary, ...rest] = ctx.accounts;\n if (!primary) {\n throw new Error('Gemini Hub backend requires at least one account');\n }\n const options = primary.proxy.options ?? {};\n const oauthSource =\n options.oauthSource === 'gemini-cli' ||\n options.oauthSource === 'antigravity' ||\n options.oauthSource === 'auto'\n ? options.oauthSource\n : 'auto';\n const { server, endpoint } = await listenGeminiProxy({\n host: '127.0.0.1',\n port: 0,\n authDir: primary.snapshotDir,\n authDirs: rest.map((account) => account.snapshotDir),\n authAccountNames: ctx.accounts.map((account) => account.name),\n oauthSource,\n antigravityOAuthFile:\n typeof options.antigravityOAuthFile === 'string' ? options.antigravityOAuthFile : undefined,\n upstream: typeof options.upstream === 'string' ? options.upstream : undefined,\n codeAssistUpstream:\n typeof options.codeAssistUpstream === 'string' ? options.codeAssistUpstream : undefined,\n token: ctx.token,\n log: ctx.log,\n });\n return { endpoint, close: () => closeProxyHubBackend(server) };\n }\n\n private get geminiDir(): string {\n return process.env.GEMINI_CONFIG_DIR ?? join(this.home, '.gemini');\n }\n\n private livePath(name: string): string {\n return join(this.geminiDir, name);\n }\n\n /** True when ~/.gemini holds credential material the CLI backup can snapshot. */\n private async hasGeminiCliAuth(): Promise<boolean> {\n return (\n (await this.hasApiKeyMaterial()) || (await pathExists(this.livePath('oauth_creds.json')))\n );\n }\n\n /**\n * Which source a source-less operation acts on.\n *\n * Gemini CLI files win whenever they exist, so restoring a CLI account always\n * takes precedence over a lingering Antigravity keychain entry. Antigravity\n * only surfaces when there is no CLI login at all — otherwise a user signed in\n * through Antigravity alone would look signed out everywhere.\n */\n private async resolveAutoSource(): Promise<'gemini-cli' | 'antigravity' | null> {\n if (await this.hasGeminiCliAuth()) {\n return 'gemini-cli';\n }\n return (await antigravityCredentialExists()) ? 'antigravity' : null;\n }\n\n async detectLive(): Promise<LiveAuthStatus> {\n const cli = await this.detectGeminiCliLive();\n if (cli.present) {\n return cli;\n }\n // Existence-only probe: reads no secret, so no Keychain prompt.\n if (!(await antigravityCredentialExists())) {\n return { present: false };\n }\n // Unified state is a local SQLite database, so it is safe to fingerprint\n // during routine detection. Never fall back to reading the Keychain here.\n const payload = await this.readAntigravityStateCredential().catch(() => null);\n return {\n present: true,\n identity: antigravityIdentity(payload),\n details: 'antigravity oauth',\n };\n }\n\n private async detectGeminiCliLive(): Promise<LiveAuthStatus> {\n const hasEnv = await this.hasApiKeyMaterial();\n const hasOauth = await pathExists(this.livePath('oauth_creds.json'));\n if (!hasEnv && !hasOauth) {\n return { present: false };\n }\n\n const identity = await this.readIdentity();\n const details: string[] = [];\n if (hasOauth) {\n details.push('oauth');\n }\n if (hasEnv) {\n details.push('api-key');\n }\n const authType = await this.readSelectedAuthType();\n if (authType) {\n details.push(authType);\n }\n\n return {\n present: true,\n identity,\n details: details.join(', '),\n };\n }\n\n /**\n * Explicit Antigravity liveness check. Reads the macOS Keychain (or a portable\n * file), so it MUST NOT be folded into detectLive() — that runs on every home\n * refresh and would trigger repeated Keychain permission prompts. Only call it\n * when the user explicitly chose the Antigravity source.\n */\n async detectAntigravityLive(credentialFile?: string): Promise<LiveAuthStatus> {\n if (!credentialFile && !antigravityKeychainSupported()) {\n throw new AnyPickError(\n `Antigravity accounts are not supported on ${process.platform} yet.`,\n 'NO_LIVE_AUTH',\n );\n }\n try {\n const creds = await loadAntigravityOAuthCredentials(credentialFile);\n if (!creds) {\n return { present: false };\n }\n const identity = creds.refresh_token\n ? antigravityIdentity({ token: { refresh_token: creds.refresh_token } })\n : undefined;\n return { present: true, identity, details: 'antigravity oauth' };\n } catch {\n return { present: false };\n }\n }\n\n /**\n * Snapshot the Antigravity credential into the account dir.\n *\n * The whole credential-store payload is written, not the reduced\n * {refresh_token, token_type} the proxy needs: restoring this account has to\n * put the credential back into the store, and a token stripped of its access\n * token and expiry is not the one that was saved. The proxy is unaffected —\n * parseAntigravityOAuthCredential accepts this nested shape too.\n */\n async backupAntigravity(\n destDir: string,\n credentialFile?: string,\n ): Promise<Partial<Pick<AccountMeta, 'identity' | 'label' | 'notes'>>> {\n if (!credentialFile && !antigravityKeychainSupported()) {\n throw new AnyPickError(\n `Antigravity accounts are not supported on ${process.platform} yet.`,\n 'NO_LIVE_AUTH',\n );\n }\n const payload = await readAntigravityOAuthPayload(credentialFile);\n if (!payload) {\n throw new AnyPickError(\n 'No Antigravity OAuth credential found. Sign in with Antigravity first.',\n 'NO_LIVE_AUTH',\n );\n }\n await ensureDir(destDir);\n await writeJsonFile(join(destDir, ANTIGRAVITY_SNAPSHOT_FILE), payload, 0o600);\n return { identity: antigravityIdentity(payload), notes: 'Antigravity login' };\n }\n\n async detectLiveSource(source: string): Promise<LiveAuthStatus> {\n // Pinned to one source: `gemini-cli` must not fall through to Antigravity,\n // or the source picker would report a login the chosen source cannot use.\n return source === 'antigravity' ? this.detectAntigravityLive() : this.detectGeminiCliLive();\n }\n\n async backupSource(\n source: string,\n destDir: string,\n ): Promise<Partial<Pick<AccountMeta, 'identity' | 'label' | 'notes'>>> {\n return source === 'antigravity' ? this.backupAntigravity(destDir) : this.backup(destDir);\n }\n\n async clearLiveSource(source: string): Promise<void> {\n return source === 'antigravity' ? this.clearAntigravityLive() : this.clearLive();\n }\n\n /**\n * Drop the Antigravity credential from the OS credential store so Antigravity\n * asks for a new sign-in. The ~/.gemini CLI files belong to the other source\n * and are deliberately left alone.\n */\n async clearAntigravityLive(): Promise<void> {\n if (!antigravityKeychainSupported()) {\n throw new AnyPickError(\n `Antigravity accounts are not supported on ${process.platform} yet.`,\n 'NO_LIVE_AUTH',\n );\n }\n await deleteAntigravityOAuthCredential();\n }\n\n async backup(\n destDir: string,\n ): Promise<Partial<Pick<AccountMeta, 'identity' | 'label' | 'notes'>>> {\n // Must agree with detectLive(): callers that snapshot whatever it reported\n // live (checkpointLiveAuth, save, stash) would otherwise fail outright for\n // an Antigravity-only login.\n if ((await this.resolveAutoSource()) === 'antigravity') {\n return this.backupAntigravity(destDir);\n }\n await ensureDir(destDir);\n let copied = 0;\n\n for (const file of SNAPSHOT_FILES) {\n const ok = await copyFileSafe(this.livePath(file), join(destDir, file));\n if (ok) {\n copied += 1;\n }\n }\n\n // Auth-related settings slice only (do not clobber MCP/hooks on restore)\n const authSettings = await this.readAuthSettingsSlice();\n if (authSettings) {\n await writeJsonFile(join(destDir, 'auth-settings.json'), authSettings, 0o600);\n copied += 1;\n }\n\n if (copied === 0) {\n throw new AnyPickError(\n 'No Gemini CLI auth found under ~/.gemini (.env, oauth_creds.json, or google_accounts.json).',\n 'NO_LIVE_AUTH',\n );\n }\n\n // Require at least one credential-bearing file\n const hasCred =\n (await pathExists(join(destDir, '.env'))) ||\n (await pathExists(join(destDir, 'oauth_creds.json')));\n if (!hasCred) {\n throw new AnyPickError(\n 'Gemini google_accounts.json alone is not enough — need .env (API key) or oauth_creds.json.',\n 'NO_LIVE_AUTH',\n );\n }\n\n const identity = (await readIdentityFromDir(destDir)) ?? (await this.readIdentity());\n return {\n identity,\n notes: hasCred ? undefined : 'Partial Gemini snapshot',\n };\n }\n\n async restore(srcDir: string): Promise<void> {\n await ensureDir(this.geminiDir);\n let restored = 0;\n\n for (const file of SNAPSHOT_FILES) {\n const src = join(srcDir, file);\n if (await pathExists(src)) {\n await copyFileSafe(src, this.livePath(file));\n restored += 1;\n } else {\n // Clear every credential file not present in the snapshot so accounts\n // do not mix. Previously only .env and oauth_creds.json were removed;\n // google_accounts.json had the same stale-state risk when restoring an\n // Antigravity-only snapshot — the ghost identity confused\n // snapshotMatchesLive into fingerprint-matching the wrong account.\n await rm(this.livePath(file), { force: true }).catch(() => {});\n }\n }\n\n const authSlicePath = join(srcDir, 'auth-settings.json');\n if (await pathExists(authSlicePath)) {\n try {\n const slice = await readJsonFile<Record<string, unknown>>(authSlicePath);\n await this.mergeAuthSettings(slice);\n restored += 1;\n } catch {\n // ignore corrupt slice\n }\n }\n\n // An Antigravity credential has no home under ~/.gemini: it lives in the OS\n // credential store. AnyPick's own proxy reads it straight from the snapshot\n // dir, but Antigravity itself only ever reads the store — so without this\n // write a switch changes nothing the user can see.\n const antigravitySnapshot = join(srcDir, ANTIGRAVITY_SNAPSHOT_FILE);\n if (await pathExists(antigravitySnapshot)) {\n await this.restoreAntigravity(antigravitySnapshot);\n restored += 1;\n } else if (antigravityKeychainSupported()) {\n // Restoring a Gemini CLI account: clear the Antigravity credential so\n // Antigravity itself follows the switch rather than retaining a stale\n // login from the previous account. Best-effort — a missing or\n // inaccessible entry is the desired end state either way (ADR 0004).\n await this.deleteAntigravityCredential().catch(() => {});\n }\n\n if (restored === 0) {\n throw new AnyPickError(`No Gemini auth files in snapshot: ${srcDir}`, 'SNAPSHOT_INVALID');\n }\n }\n\n /**\n * Refuse an Antigravity switch before AccountService checkpoints or mutates\n * anything. Without this early guard, the late SQLite rejection caused core\n * to attempt a rollback that the same running app also rejected.\n */\n async preflightRestore(srcDir: string): Promise<void> {\n const snapshotFile = join(srcDir, ANTIGRAVITY_SNAPSHOT_FILE);\n if (!(await pathExists(snapshotFile))) {\n return;\n }\n const payload = await readAntigravityOAuthPayload(snapshotFile);\n if (!payload) {\n throw new AnyPickError(\n 'Saved Antigravity credential has no refresh token and cannot be restored.',\n 'ANTIGRAVITY_RESTORE_FAILED',\n );\n }\n try {\n await assertAntigravityStateSafeToMutate({ expectedPayload: payload });\n } catch (err) {\n if (err instanceof Error && /Antigravity is running/i.test(err.message)) {\n throw new AnyPickError('Antigravity is still open.', {\n code: 'RESTORE_OWNER_RUNNING',\n suggestions: ['Quit Antigravity completely, return to AnyPick, then press Enter again.'],\n });\n }\n throw err;\n }\n }\n\n async restoreOwnerStatus(srcDir: string): Promise<{ name: string; running: boolean } | null> {\n if (!(await pathExists(join(srcDir, ANTIGRAVITY_SNAPSHOT_FILE)))) {\n return null;\n }\n return {\n name: 'Antigravity',\n running: await antigravityApplicationRunning(),\n };\n }\n\n async accountSource(srcDir: string): Promise<{ id: string; name: string }> {\n return (await pathExists(join(srcDir, ANTIGRAVITY_SNAPSHOT_FILE)))\n ? { id: 'antigravity', name: 'Antigravity' }\n : { id: 'gemini-cli', name: 'Gemini CLI' };\n }\n\n async liveAccountSource(live: LiveAuthStatus): Promise<{ id: string; name: string }> {\n return live.details?.toLowerCase().includes('antigravity')\n ? { id: 'antigravity', name: 'Antigravity' }\n : { id: 'gemini-cli', name: 'Gemini CLI' };\n }\n\n /** Push a snapshotted Antigravity credential back into the OS credential store. */\n private async restoreAntigravity(snapshotFile: string): Promise<void> {\n if (!antigravityKeychainSupported()) {\n throw new AnyPickError(\n `Writing the Antigravity OAuth credential is not supported on ${process.platform}.`,\n 'ANTIGRAVITY_RESTORE_FAILED',\n );\n }\n const payload = await readAntigravityOAuthPayload(snapshotFile);\n if (!payload) {\n throw new AnyPickError(\n 'Saved Antigravity credential has no refresh token and cannot be restored.',\n 'ANTIGRAVITY_RESTORE_FAILED',\n );\n }\n // Do not hide this error. AccountService rolls the live checkpoint and\n // active pointer back when restore rejects; pretending success leaves the\n // UI pointing at an account Antigravity never received.\n await this.saveAntigravityCredential(await this.hydrateAntigravityCredential(payload));\n }\n\n /**\n * Clear local Gemini CLI auth files so the user can sign in as someone else.\n * Does not revoke OAuth server-side or remove OS keychain entries.\n */\n async clearLive(): Promise<void> {\n if ((await this.resolveAutoSource()) === 'antigravity') {\n await this.clearAntigravityLive();\n return;\n }\n for (const file of ['oauth_creds.json', 'google_accounts.json'] as const) {\n await rm(this.livePath(file), { force: true }).catch(() => {});\n }\n\n // Strip known auth keys from .env; remove file if empty\n const envPath = this.livePath('.env');\n if (await pathExists(envPath)) {\n const next = await stripEnvAuthKeys(envPath);\n if (next.trim()) {\n await writeTextFile(envPath, next.endsWith('\\n') ? next : `${next}\\n`, 0o600);\n } else {\n await rm(envPath, { force: true }).catch(() => {});\n }\n }\n\n // Clear selected auth type in settings (keep the rest of user config)\n try {\n const settingsPath = this.livePath('settings.json');\n if (await pathExists(settingsPath)) {\n const doc = await readJsonFile<Record<string, unknown>>(settingsPath);\n const security =\n doc.security && typeof doc.security === 'object'\n ? { ...(doc.security as Record<string, unknown>) }\n : {};\n if (security.auth && typeof security.auth === 'object') {\n const auth = { ...(security.auth as Record<string, unknown>) };\n delete auth.selectedType;\n if (Object.keys(auth).length === 0) {\n delete security.auth;\n } else {\n security.auth = auth;\n }\n }\n if (Object.keys(security).length === 0) {\n delete doc.security;\n } else {\n doc.security = security;\n }\n await writeJsonFile(settingsPath, doc, 0o600);\n }\n } catch {\n // best-effort\n }\n }\n\n // ── Built-in proxy (API key → Codex + Claude) ───────────────────\n\n async startProxy(ctx: ProxyContext): Promise<ProxyHandle> {\n return startGeminiProxy(ctx, {\n liveDir: this.geminiDir,\n compatibility: this.proxyCompatibility,\n defaultPort: DEFAULT_PORT,\n });\n }\n\n async stopProxy(ctx: ProxyContext): Promise<void> {\n await stopGeminiProxy(ctx);\n }\n\n async proxyStatus(ctx: ProxyContext): Promise<ProxyStatus> {\n return geminiProxyStatus(ctx, this.proxyCompatibility, DEFAULT_PORT);\n }\n\n async readProxyLogs(ctx: ProxyContext, lines = 50): Promise<string> {\n return readGeminiProxyLogs(ctx, lines);\n }\n\n /**\n * Gemini keeps no `auth.json`, so the shared default could never find a live\n * file to compare and reported every saved account as not-live.\n *\n * Only credential material is compared, and only its durable part: the CLI\n * rewrites `oauth_creds.json` on every access-token refresh, so hashing the\n * whole file would mark the live account \"changed\" within the hour.\n */\n async snapshotMatchesLive(snapshotDir: string): Promise<boolean> {\n if (await pathExists(join(snapshotDir, ANTIGRAVITY_SNAPSHOT_FILE))) {\n // Compare against the local unified-state token rather than Keychain.\n // This avoids permission prompts on every list refresh while still\n // preventing an identity-less active pointer from choosing a snapshot.\n const snapshot = await readAntigravityOAuthPayload(\n join(snapshotDir, ANTIGRAVITY_SNAPSHOT_FILE),\n );\n const live = await this.readAntigravityStateCredential().catch(() => null);\n const snapshotIdentity = antigravityIdentity(snapshot);\n const liveIdentity = antigravityIdentity(live);\n if (!snapshotIdentity || !liveIdentity) {\n throw new AnyPickError(\n 'The current Antigravity login cannot be fingerprinted from unified state.',\n 'NOT_DETERMINABLE',\n );\n }\n return snapshotIdentity === liveIdentity;\n }\n const snap = await geminiAuthFingerprint(snapshotDir);\n if (!snap) {\n return false;\n }\n return snap === (await geminiAuthFingerprint(this.geminiDir));\n }\n\n private async hasApiKeyMaterial(): Promise<boolean> {\n if (process.env.GEMINI_API_KEY?.trim() || process.env.GOOGLE_API_KEY?.trim()) {\n // Env may be set outside ~/.gemini — still counts as live for detect\n // but backup prefers on-disk .env\n }\n const envPath = this.livePath('.env');\n if (!(await pathExists(envPath))) {\n return Boolean(process.env.GEMINI_API_KEY?.trim() || process.env.GOOGLE_API_KEY?.trim());\n }\n try {\n const raw = await readFile(envPath, 'utf8');\n return /^(?:export\\s+)?(?:GEMINI_API_KEY|GOOGLE_API_KEY|GOOGLE_APPLICATION_CREDENTIALS)=/m.test(\n raw,\n );\n } catch {\n return false;\n }\n }\n\n private async readIdentity(): Promise<string | undefined> {\n return readIdentityFromDir(this.geminiDir);\n }\n\n private async readSelectedAuthType(): Promise<string | undefined> {\n try {\n const settingsPath = this.livePath('settings.json');\n if (!(await pathExists(settingsPath))) {\n return undefined;\n }\n const doc = await readJsonFile<Record<string, unknown>>(settingsPath);\n const security = doc.security as Record<string, unknown> | undefined;\n const auth = security?.auth as Record<string, unknown> | undefined;\n return typeof auth?.selectedType === 'string' ? auth.selectedType : undefined;\n } catch {\n return undefined;\n }\n }\n\n private async readAuthSettingsSlice(): Promise<Record<string, unknown> | null> {\n try {\n const settingsPath = this.livePath('settings.json');\n if (!(await pathExists(settingsPath))) {\n return null;\n }\n const doc = await readJsonFile<Record<string, unknown>>(settingsPath);\n const security = doc.security as Record<string, unknown> | undefined;\n if (!security || typeof security !== 'object') {\n return null;\n }\n return { security: { ...security } };\n } catch {\n return null;\n }\n }\n\n private async mergeAuthSettings(slice: Record<string, unknown>): Promise<void> {\n const settingsPath = this.livePath('settings.json');\n let doc: Record<string, unknown> = {};\n if (await pathExists(settingsPath)) {\n try {\n doc = await readJsonFile<Record<string, unknown>>(settingsPath);\n } catch {\n doc = {};\n }\n }\n if (slice.security && typeof slice.security === 'object') {\n const existing =\n doc.security && typeof doc.security === 'object'\n ? (doc.security as Record<string, unknown>)\n : {};\n doc.security = {\n ...existing,\n ...(slice.security as Record<string, unknown>),\n };\n }\n await writeJsonFile(settingsPath, doc, 0o600);\n }\n}\n\nexport { readGeminiApiKeyFromEnvFile, upsertEnvFile } from './gemini-env';\n\nexport const geminiProvider = new GeminiProvider();\n"],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- export interface GrokSession {
2
- /** Access token (JWT) sent as Bearer to cli-chat-proxy. */
3
- accessToken: string;
4
- refreshToken: string;
5
- expiresAt?: string;
6
- email?: string;
7
- oidcIssuer: string;
8
- oidcClientId: string;
9
- /** Map key in auth.json (issuer::clientId). */
10
- storageKey: string;
11
- raw: Record<string, unknown>;
12
- }
13
- export interface GrokAuthFile {
14
- [key: string]: Record<string, unknown>;
15
- }
16
- export declare function loadGrokSession(authPath: string): Promise<GrokSession>;
17
- export declare function isExpired(session: GrokSession, now?: number): boolean;
18
- /**
19
- * Ensure a valid access token, refreshing via OIDC if needed.
20
- * Writes refreshed tokens back to authPath so Grok CLI stays in sync.
21
- */
22
- export declare function ensureAccessToken(authPath: string, session?: GrokSession): Promise<{
23
- token: string;
24
- session: GrokSession;
25
- }>;
26
- export declare function refreshSession(authPath: string, session: GrokSession): Promise<GrokSession>;
27
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/providers/grok-proxy/auth.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAID,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAuC5E;AAeD,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,SAAa,GAAG,OAAO,CASzE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC,CAUlD;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAmBjG"}