@cortexkit/opencode-antigravity-auth 1.1.0 → 2.0.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 (379) hide show
  1. package/README.md +225 -569
  2. package/dist/cli.js +4017 -0
  3. package/dist/cli.js.map +7 -0
  4. package/dist/index.d.ts +1 -3
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +20742 -14586
  7. package/dist/index.js.map +4 -4
  8. package/dist/src/antigravity/oauth.d.ts +1 -1
  9. package/dist/src/antigravity/oauth.js +1 -1
  10. package/dist/src/cli.d.ts +21 -0
  11. package/dist/src/cli.d.ts.map +1 -0
  12. package/dist/src/cli.js +237 -0
  13. package/dist/src/cli.js.map +1 -0
  14. package/dist/src/constants.d.ts +1 -1
  15. package/dist/src/constants.js +1 -1
  16. package/dist/src/hooks/auto-update-checker/cache.d.ts.map +1 -1
  17. package/dist/src/hooks/auto-update-checker/cache.js +13 -13
  18. package/dist/src/hooks/auto-update-checker/cache.js.map +1 -1
  19. package/dist/src/hooks/auto-update-checker/checker.d.ts +1 -1
  20. package/dist/src/hooks/auto-update-checker/checker.d.ts.map +1 -1
  21. package/dist/src/hooks/auto-update-checker/checker.js +75 -51
  22. package/dist/src/hooks/auto-update-checker/checker.js.map +1 -1
  23. package/dist/src/hooks/auto-update-checker/constants.d.ts.map +1 -1
  24. package/dist/src/hooks/auto-update-checker/constants.js +12 -12
  25. package/dist/src/hooks/auto-update-checker/constants.js.map +1 -1
  26. package/dist/src/hooks/auto-update-checker/index.d.ts +6 -6
  27. package/dist/src/hooks/auto-update-checker/index.d.ts.map +1 -1
  28. package/dist/src/hooks/auto-update-checker/index.js +17 -17
  29. package/dist/src/hooks/auto-update-checker/index.js.map +1 -1
  30. package/dist/src/hooks/auto-update-checker/logging.js +2 -2
  31. package/dist/src/hooks/auto-update-checker/logging.js.map +1 -1
  32. package/dist/src/hooks/auto-update-checker/types.d.ts.map +1 -1
  33. package/dist/src/plugin/account-access.d.ts +99 -0
  34. package/dist/src/plugin/account-access.d.ts.map +1 -0
  35. package/dist/src/plugin/account-access.js +480 -0
  36. package/dist/src/plugin/account-access.js.map +1 -0
  37. package/dist/src/plugin/account-command-oauth.d.ts +34 -0
  38. package/dist/src/plugin/account-command-oauth.d.ts.map +1 -0
  39. package/dist/src/plugin/account-command-oauth.js +156 -0
  40. package/dist/src/plugin/account-command-oauth.js.map +1 -0
  41. package/dist/src/plugin/accounts.d.ts +7 -256
  42. package/dist/src/plugin/accounts.d.ts.map +1 -1
  43. package/dist/src/plugin/accounts.js +31 -1367
  44. package/dist/src/plugin/accounts.js.map +1 -1
  45. package/dist/src/plugin/agy-request-metadata.d.ts +1 -1
  46. package/dist/src/plugin/agy-request-metadata.js +1 -1
  47. package/dist/src/plugin/agy-transport.d.ts +1 -1
  48. package/dist/src/plugin/agy-transport.js +1 -1
  49. package/dist/src/plugin/auth-doctor.d.ts +6 -6
  50. package/dist/src/plugin/auth-doctor.d.ts.map +1 -1
  51. package/dist/src/plugin/auth-doctor.js +74 -66
  52. package/dist/src/plugin/auth-doctor.js.map +1 -1
  53. package/dist/src/plugin/auth-drift.d.ts +4 -4
  54. package/dist/src/plugin/auth-drift.d.ts.map +1 -1
  55. package/dist/src/plugin/auth-drift.js +15 -15
  56. package/dist/src/plugin/auth-drift.js.map +1 -1
  57. package/dist/src/plugin/auth-loader.d.ts +50 -0
  58. package/dist/src/plugin/auth-loader.d.ts.map +1 -0
  59. package/dist/src/plugin/auth-loader.js +225 -0
  60. package/dist/src/plugin/auth-loader.js.map +1 -0
  61. package/dist/src/plugin/auth.d.ts +1 -1
  62. package/dist/src/plugin/auth.js +1 -1
  63. package/dist/src/plugin/background-quota-refresh.d.ts +146 -0
  64. package/dist/src/plugin/background-quota-refresh.d.ts.map +1 -0
  65. package/dist/src/plugin/background-quota-refresh.js +347 -0
  66. package/dist/src/plugin/background-quota-refresh.js.map +1 -0
  67. package/dist/src/plugin/cache/index.d.ts +1 -1
  68. package/dist/src/plugin/cache/index.d.ts.map +1 -1
  69. package/dist/src/plugin/cache/index.js +1 -1
  70. package/dist/src/plugin/cache/index.js.map +1 -1
  71. package/dist/src/plugin/cache/signature-cache.d.ts +1 -1
  72. package/dist/src/plugin/cache/signature-cache.d.ts.map +1 -1
  73. package/dist/src/plugin/cache/signature-cache.js +23 -24
  74. package/dist/src/plugin/cache/signature-cache.js.map +1 -1
  75. package/dist/src/plugin/cache.d.ts +6 -5
  76. package/dist/src/plugin/cache.d.ts.map +1 -1
  77. package/dist/src/plugin/cache.js +21 -7
  78. package/dist/src/plugin/cache.js.map +1 -1
  79. package/dist/src/plugin/catalog.d.ts +23 -0
  80. package/dist/src/plugin/catalog.d.ts.map +1 -0
  81. package/dist/src/plugin/catalog.js +60 -0
  82. package/dist/src/plugin/catalog.js.map +1 -0
  83. package/dist/src/plugin/cli.d.ts +7 -7
  84. package/dist/src/plugin/cli.d.ts.map +1 -1
  85. package/dist/src/plugin/cli.js +62 -55
  86. package/dist/src/plugin/cli.js.map +1 -1
  87. package/dist/src/plugin/command-data.d.ts +329 -0
  88. package/dist/src/plugin/command-data.d.ts.map +1 -0
  89. package/dist/src/plugin/command-data.js +517 -0
  90. package/dist/src/plugin/command-data.js.map +1 -0
  91. package/dist/src/plugin/commands.d.ts +154 -0
  92. package/dist/src/plugin/commands.d.ts.map +1 -0
  93. package/dist/src/plugin/commands.js +746 -0
  94. package/dist/src/plugin/commands.js.map +1 -0
  95. package/dist/src/plugin/config/index.d.ts +2 -2
  96. package/dist/src/plugin/config/index.d.ts.map +1 -1
  97. package/dist/src/plugin/config/index.js +2 -2
  98. package/dist/src/plugin/config/index.js.map +1 -1
  99. package/dist/src/plugin/config/loader.d.ts +1 -1
  100. package/dist/src/plugin/config/loader.d.ts.map +1 -1
  101. package/dist/src/plugin/config/loader.js +18 -16
  102. package/dist/src/plugin/config/loader.js.map +1 -1
  103. package/dist/src/plugin/config/models.d.ts +2 -2
  104. package/dist/src/plugin/config/models.d.ts.map +1 -1
  105. package/dist/src/plugin/config/models.js +1 -1
  106. package/dist/src/plugin/config/models.js.map +1 -1
  107. package/dist/src/plugin/config/operator-settings-schema.d.ts +29 -0
  108. package/dist/src/plugin/config/operator-settings-schema.d.ts.map +1 -0
  109. package/dist/src/plugin/config/operator-settings-schema.js +28 -0
  110. package/dist/src/plugin/config/operator-settings-schema.js.map +1 -0
  111. package/dist/src/plugin/config/schema.d.ts +23 -2
  112. package/dist/src/plugin/config/schema.d.ts.map +1 -1
  113. package/dist/src/plugin/config/schema.js +109 -25
  114. package/dist/src/plugin/config/schema.js.map +1 -1
  115. package/dist/src/plugin/config/updater.d.ts.map +1 -1
  116. package/dist/src/plugin/config/updater.js +15 -15
  117. package/dist/src/plugin/config/updater.js.map +1 -1
  118. package/dist/src/plugin/config/writer.d.ts +34 -0
  119. package/dist/src/plugin/config/writer.d.ts.map +1 -0
  120. package/dist/src/plugin/config/writer.js +81 -0
  121. package/dist/src/plugin/config/writer.js.map +1 -0
  122. package/dist/src/plugin/core/streaming/index.d.ts +1 -1
  123. package/dist/src/plugin/core/streaming/index.d.ts.map +1 -1
  124. package/dist/src/plugin/core/streaming/index.js +1 -1
  125. package/dist/src/plugin/core/streaming/index.js.map +1 -1
  126. package/dist/src/plugin/core/streaming/transformer.d.ts.map +1 -1
  127. package/dist/src/plugin/core/streaming/transformer.js +85 -44
  128. package/dist/src/plugin/core/streaming/transformer.js.map +1 -1
  129. package/dist/src/plugin/core/streaming/types.d.ts.map +1 -1
  130. package/dist/src/plugin/debug.d.ts +10 -3
  131. package/dist/src/plugin/debug.d.ts.map +1 -1
  132. package/dist/src/plugin/debug.js +110 -47
  133. package/dist/src/plugin/debug.js.map +1 -1
  134. package/dist/src/plugin/dependencies.d.ts +129 -0
  135. package/dist/src/plugin/dependencies.d.ts.map +1 -0
  136. package/dist/src/plugin/dependencies.js +107 -0
  137. package/dist/src/plugin/dependencies.js.map +1 -0
  138. package/dist/src/plugin/errors.d.ts +27 -0
  139. package/dist/src/plugin/errors.d.ts.map +1 -1
  140. package/dist/src/plugin/errors.js +29 -3
  141. package/dist/src/plugin/errors.js.map +1 -1
  142. package/dist/src/plugin/event-handler.d.ts +53 -0
  143. package/dist/src/plugin/event-handler.d.ts.map +1 -0
  144. package/dist/src/plugin/event-handler.js +101 -0
  145. package/dist/src/plugin/event-handler.js.map +1 -0
  146. package/dist/src/plugin/fetch/retry-state.d.ts +61 -0
  147. package/dist/src/plugin/fetch/retry-state.d.ts.map +1 -0
  148. package/dist/src/plugin/fetch/retry-state.js +248 -0
  149. package/dist/src/plugin/fetch/retry-state.js.map +1 -0
  150. package/dist/src/plugin/fetch/warmup.d.ts +30 -0
  151. package/dist/src/plugin/fetch/warmup.d.ts.map +1 -0
  152. package/dist/src/plugin/fetch/warmup.js +76 -0
  153. package/dist/src/plugin/fetch/warmup.js.map +1 -0
  154. package/dist/src/plugin/fetch-interceptor.d.ts +59 -0
  155. package/dist/src/plugin/fetch-interceptor.d.ts.map +1 -0
  156. package/dist/src/plugin/fetch-interceptor.js +1399 -0
  157. package/dist/src/plugin/fetch-interceptor.js.map +1 -0
  158. package/dist/src/plugin/fetch-routing.d.ts +26 -0
  159. package/dist/src/plugin/fetch-routing.d.ts.map +1 -0
  160. package/dist/src/plugin/fetch-routing.js +99 -0
  161. package/dist/src/plugin/fetch-routing.js.map +1 -0
  162. package/dist/src/plugin/fingerprint.d.ts +1 -1
  163. package/dist/src/plugin/fingerprint.js +1 -1
  164. package/dist/src/plugin/gemini-dump.d.ts +5 -5
  165. package/dist/src/plugin/gemini-dump.d.ts.map +1 -1
  166. package/dist/src/plugin/gemini-dump.js +109 -55
  167. package/dist/src/plugin/gemini-dump.js.map +1 -1
  168. package/dist/src/plugin/google-search-tool.d.ts +9 -0
  169. package/dist/src/plugin/google-search-tool.d.ts.map +1 -0
  170. package/dist/src/plugin/google-search-tool.js +56 -0
  171. package/dist/src/plugin/google-search-tool.js.map +1 -0
  172. package/dist/src/plugin/image-saver.d.ts.map +1 -1
  173. package/dist/src/plugin/image-saver.js +16 -16
  174. package/dist/src/plugin/image-saver.js.map +1 -1
  175. package/dist/src/plugin/index.d.ts +30 -0
  176. package/dist/src/plugin/index.d.ts.map +1 -0
  177. package/dist/src/plugin/index.js +411 -0
  178. package/dist/src/plugin/index.js.map +1 -0
  179. package/dist/src/plugin/killswitch.d.ts +94 -0
  180. package/dist/src/plugin/killswitch.d.ts.map +1 -0
  181. package/dist/src/plugin/killswitch.js +197 -0
  182. package/dist/src/plugin/killswitch.js.map +1 -0
  183. package/dist/src/plugin/lifecycle.d.ts +40 -0
  184. package/dist/src/plugin/lifecycle.d.ts.map +1 -0
  185. package/dist/src/plugin/lifecycle.js +73 -0
  186. package/dist/src/plugin/lifecycle.js.map +1 -0
  187. package/dist/src/plugin/logger.d.ts +10 -1
  188. package/dist/src/plugin/logger.d.ts.map +1 -1
  189. package/dist/src/plugin/logger.js +38 -12
  190. package/dist/src/plugin/logger.js.map +1 -1
  191. package/dist/src/plugin/logging-utils.d.ts +35 -1
  192. package/dist/src/plugin/logging-utils.d.ts.map +1 -1
  193. package/dist/src/plugin/logging-utils.js +98 -15
  194. package/dist/src/plugin/logging-utils.js.map +1 -1
  195. package/dist/src/plugin/model-registry.d.ts +1 -1
  196. package/dist/src/plugin/model-registry.js +1 -1
  197. package/dist/src/plugin/oauth-login.d.ts +22 -0
  198. package/dist/src/plugin/oauth-login.d.ts.map +1 -0
  199. package/dist/src/plugin/oauth-login.js +37 -0
  200. package/dist/src/plugin/oauth-login.js.map +1 -0
  201. package/dist/src/plugin/oauth-methods.d.ts +42 -0
  202. package/dist/src/plugin/oauth-methods.d.ts.map +1 -0
  203. package/dist/src/plugin/oauth-methods.js +1276 -0
  204. package/dist/src/plugin/oauth-methods.js.map +1 -0
  205. package/dist/src/plugin/operator-settings.d.ts +40 -0
  206. package/dist/src/plugin/operator-settings.d.ts.map +1 -0
  207. package/dist/src/plugin/operator-settings.js +148 -0
  208. package/dist/src/plugin/operator-settings.js.map +1 -0
  209. package/dist/src/plugin/persist-account-pool.d.ts +37 -0
  210. package/dist/src/plugin/persist-account-pool.d.ts.map +1 -0
  211. package/dist/src/plugin/persist-account-pool.js +142 -0
  212. package/dist/src/plugin/persist-account-pool.js.map +1 -0
  213. package/dist/src/plugin/project.d.ts +1 -1
  214. package/dist/src/plugin/project.js +1 -1
  215. package/dist/src/plugin/prompt-context.d.ts.map +1 -1
  216. package/dist/src/plugin/prompt-context.js +11 -11
  217. package/dist/src/plugin/prompt-context.js.map +1 -1
  218. package/dist/src/plugin/quota.d.ts +138 -41
  219. package/dist/src/plugin/quota.d.ts.map +1 -1
  220. package/dist/src/plugin/quota.js +417 -285
  221. package/dist/src/plugin/quota.js.map +1 -1
  222. package/dist/src/plugin/recovery/constants.d.ts.map +1 -1
  223. package/dist/src/plugin/recovery/constants.js +24 -15
  224. package/dist/src/plugin/recovery/constants.js.map +1 -1
  225. package/dist/src/plugin/recovery/index.d.ts +3 -3
  226. package/dist/src/plugin/recovery/index.d.ts.map +1 -1
  227. package/dist/src/plugin/recovery/index.js +3 -3
  228. package/dist/src/plugin/recovery/index.js.map +1 -1
  229. package/dist/src/plugin/recovery/storage.d.ts +1 -1
  230. package/dist/src/plugin/recovery/storage.d.ts.map +1 -1
  231. package/dist/src/plugin/recovery/storage.js +31 -39
  232. package/dist/src/plugin/recovery/storage.js.map +1 -1
  233. package/dist/src/plugin/recovery/types.d.ts +12 -12
  234. package/dist/src/plugin/recovery/types.d.ts.map +1 -1
  235. package/dist/src/plugin/recovery.d.ts +3 -3
  236. package/dist/src/plugin/recovery.d.ts.map +1 -1
  237. package/dist/src/plugin/recovery.js +62 -58
  238. package/dist/src/plugin/recovery.js.map +1 -1
  239. package/dist/src/plugin/refresh-queue.d.ts +5 -2
  240. package/dist/src/plugin/refresh-queue.d.ts.map +1 -1
  241. package/dist/src/plugin/refresh-queue.js +37 -15
  242. package/dist/src/plugin/refresh-queue.js.map +1 -1
  243. package/dist/src/plugin/request-helpers.d.ts +1 -1
  244. package/dist/src/plugin/request-helpers.d.ts.map +1 -1
  245. package/dist/src/plugin/request-helpers.js +451 -352
  246. package/dist/src/plugin/request-helpers.js.map +1 -1
  247. package/dist/src/plugin/request.d.ts +7 -7
  248. package/dist/src/plugin/request.d.ts.map +1 -1
  249. package/dist/src/plugin/request.js +622 -384
  250. package/dist/src/plugin/request.js.map +1 -1
  251. package/dist/src/plugin/rotation.d.ts +1 -168
  252. package/dist/src/plugin/rotation.d.ts.map +1 -1
  253. package/dist/src/plugin/rotation.js +1 -327
  254. package/dist/src/plugin/rotation.js.map +1 -1
  255. package/dist/src/plugin/search.d.ts.map +1 -1
  256. package/dist/src/plugin/search.js +39 -35
  257. package/dist/src/plugin/search.js.map +1 -1
  258. package/dist/src/plugin/server.d.ts +1 -1
  259. package/dist/src/plugin/server.d.ts.map +1 -1
  260. package/dist/src/plugin/server.js +42 -37
  261. package/dist/src/plugin/server.js.map +1 -1
  262. package/dist/src/plugin/session-context.d.ts +2 -1
  263. package/dist/src/plugin/session-context.d.ts.map +1 -1
  264. package/dist/src/plugin/session-context.js +11 -7
  265. package/dist/src/plugin/session-context.js.map +1 -1
  266. package/dist/src/plugin/storage.d.ts +59 -120
  267. package/dist/src/plugin/storage.d.ts.map +1 -1
  268. package/dist/src/plugin/storage.js +140 -485
  269. package/dist/src/plugin/storage.js.map +1 -1
  270. package/dist/src/plugin/stores/signature-store.d.ts.map +1 -1
  271. package/dist/src/plugin/stores/signature-store.js.map +1 -1
  272. package/dist/src/plugin/thinking-recovery.d.ts.map +1 -1
  273. package/dist/src/plugin/thinking-recovery.js +35 -33
  274. package/dist/src/plugin/thinking-recovery.js.map +1 -1
  275. package/dist/src/plugin/token.d.ts +2 -2
  276. package/dist/src/plugin/token.d.ts.map +1 -1
  277. package/dist/src/plugin/token.js +30 -21
  278. package/dist/src/plugin/token.js.map +1 -1
  279. package/dist/src/plugin/transform/cross-model-sanitizer.d.ts +1 -1
  280. package/dist/src/plugin/transform/cross-model-sanitizer.js +1 -1
  281. package/dist/src/plugin/transform/index.d.ts +1 -1
  282. package/dist/src/plugin/transform/index.js +1 -1
  283. package/dist/src/plugin/transform/model-resolver.d.ts +1 -1
  284. package/dist/src/plugin/transform/model-resolver.js +1 -1
  285. package/dist/src/plugin/transform/types.d.ts +1 -1
  286. package/dist/src/plugin/transform/types.js +1 -1
  287. package/dist/src/plugin/types.d.ts +25 -69
  288. package/dist/src/plugin/types.d.ts.map +1 -1
  289. package/dist/src/plugin/ui/ansi.d.ts.map +1 -1
  290. package/dist/src/plugin/ui/ansi.js.map +1 -1
  291. package/dist/src/plugin/ui/auth-menu.d.ts +1 -1
  292. package/dist/src/plugin/ui/auth-menu.d.ts.map +1 -1
  293. package/dist/src/plugin/ui/auth-menu.js +84 -35
  294. package/dist/src/plugin/ui/auth-menu.js.map +1 -1
  295. package/dist/src/plugin/ui/confirm.d.ts.map +1 -1
  296. package/dist/src/plugin/ui/confirm.js.map +1 -1
  297. package/dist/src/plugin/ui/model-status.d.ts +3 -3
  298. package/dist/src/plugin/ui/model-status.d.ts.map +1 -1
  299. package/dist/src/plugin/ui/model-status.js +3 -3
  300. package/dist/src/plugin/ui/model-status.js.map +1 -1
  301. package/dist/src/plugin/ui/quota-status.d.ts +4 -4
  302. package/dist/src/plugin/ui/quota-status.d.ts.map +1 -1
  303. package/dist/src/plugin/ui/quota-status.js +49 -49
  304. package/dist/src/plugin/ui/quota-status.js.map +1 -1
  305. package/dist/src/plugin/ui/select.d.ts.map +1 -1
  306. package/dist/src/plugin/ui/select.js +22 -12
  307. package/dist/src/plugin/ui/select.js.map +1 -1
  308. package/dist/src/plugin/version.d.ts +1 -1
  309. package/dist/src/plugin/version.js +1 -1
  310. package/dist/src/rpc/notifications.d.ts +6 -0
  311. package/dist/src/rpc/notifications.d.ts.map +1 -0
  312. package/dist/src/rpc/notifications.js +46 -0
  313. package/dist/src/rpc/notifications.js.map +1 -0
  314. package/dist/src/rpc/port-file.d.ts +13 -0
  315. package/dist/src/rpc/port-file.d.ts.map +1 -0
  316. package/dist/src/rpc/port-file.js +109 -0
  317. package/dist/src/rpc/port-file.js.map +1 -0
  318. package/dist/src/rpc/protocol.d.ts +22 -0
  319. package/dist/src/rpc/protocol.d.ts.map +1 -0
  320. package/dist/src/rpc/protocol.js +1 -0
  321. package/dist/src/rpc/protocol.js.map +1 -0
  322. package/dist/src/rpc/rpc-client.d.ts +10 -0
  323. package/dist/src/rpc/rpc-client.d.ts.map +1 -0
  324. package/dist/src/rpc/rpc-client.js +58 -0
  325. package/dist/src/rpc/rpc-client.js.map +1 -0
  326. package/dist/src/rpc/rpc-dir.d.ts +4 -0
  327. package/dist/src/rpc/rpc-dir.d.ts.map +1 -0
  328. package/dist/src/rpc/rpc-dir.js +19 -0
  329. package/dist/src/rpc/rpc-dir.js.map +1 -0
  330. package/dist/src/rpc/rpc-server.d.ts +13 -0
  331. package/dist/src/rpc/rpc-server.d.ts.map +1 -0
  332. package/dist/src/rpc/rpc-server.js +231 -0
  333. package/dist/src/rpc/rpc-server.js.map +1 -0
  334. package/dist/src/sidebar-state.d.ts +357 -0
  335. package/dist/src/sidebar-state.d.ts.map +1 -0
  336. package/dist/src/sidebar-state.js +680 -0
  337. package/dist/src/sidebar-state.js.map +1 -0
  338. package/dist/src/tui/command-dialogs.d.ts +61 -0
  339. package/dist/src/tui/command-dialogs.d.ts.map +1 -0
  340. package/dist/src/tui/command-dialogs.js +595 -0
  341. package/dist/src/tui/command-dialogs.js.map +1 -0
  342. package/dist/src/tui/file-logger.d.ts +41 -0
  343. package/dist/src/tui/file-logger.d.ts.map +1 -0
  344. package/dist/src/tui/file-logger.js +114 -0
  345. package/dist/src/tui/file-logger.js.map +1 -0
  346. package/dist/src/tui-preferences.d.ts +40 -0
  347. package/dist/src/tui-preferences.d.ts.map +1 -0
  348. package/dist/src/tui-preferences.js +328 -0
  349. package/dist/src/tui-preferences.js.map +1 -0
  350. package/dist/src/tui.d.ts +68 -0
  351. package/dist/src/tui.d.ts.map +1 -0
  352. package/dist/src/tui.js +697 -0
  353. package/dist/src/tui.js.map +1 -0
  354. package/package.json +46 -22
  355. package/src/plugin/command-data.ts +931 -0
  356. package/src/rpc/port-file.ts +143 -0
  357. package/src/rpc/protocol.ts +31 -0
  358. package/src/rpc/rpc-client.ts +102 -0
  359. package/src/rpc/rpc-dir.ts +24 -0
  360. package/src/sidebar-state.ts +991 -0
  361. package/src/tui/command-dialogs.tsx +832 -0
  362. package/src/tui/entry.mjs +74 -0
  363. package/src/tui/file-logger.ts +145 -0
  364. package/src/tui-compiled/plugin/command-data.ts +931 -0
  365. package/src/tui-compiled/rpc/port-file.ts +143 -0
  366. package/src/tui-compiled/rpc/protocol.ts +31 -0
  367. package/src/tui-compiled/rpc/rpc-client.ts +102 -0
  368. package/src/tui-compiled/rpc/rpc-dir.ts +24 -0
  369. package/src/tui-compiled/sidebar-state.ts +991 -0
  370. package/src/tui-compiled/tui/command-dialogs.tsx +779 -0
  371. package/src/tui-compiled/tui/file-logger.ts +145 -0
  372. package/src/tui-compiled/tui-preferences.ts +416 -0
  373. package/src/tui-compiled/tui.tsx +1193 -0
  374. package/src/tui-preferences.ts +416 -0
  375. package/src/tui.tsx +1171 -0
  376. package/dist/src/plugin.d.ts +0 -48
  377. package/dist/src/plugin.d.ts.map +0 -1
  378. package/dist/src/plugin.js +0 -3311
  379. package/dist/src/plugin.js.map +0 -1
@@ -0,0 +1,357 @@
1
+ /**
2
+ * Sidebar state contract for the OpenTUI sidebar.
3
+ *
4
+ * This module is the read-only seam between the long-running plugin and the
5
+ * Solid/OpenTUI sidebar tree. It deliberately does NOT import account storage,
6
+ * the account manager, OAuth code, or any other privileged host-side module:
7
+ * the TUI is rendered inside the host's terminal and a single stray import
8
+ * could leak credentials or pull a heavy manager into the render path.
9
+ *
10
+ * The plugin writes a redacted snapshot to the file resolved by
11
+ * `getSidebarStateFile()` and the TUI polls it. The contract version is `1`:
12
+ * any future field that the TUI cannot understand must be ignored, and any
13
+ * broken/missing file must collapse to `DEFAULT_SIDEBAR_STATE`.
14
+ *
15
+ * ## Writer surface
16
+ *
17
+ * The plugin-side writers live here too so the read and write halves of the
18
+ * contract evolve together. They are imported by the plugin (auth-loader,
19
+ * quota, fetch-interceptor, event-handler, commands) but never invoked from
20
+ * the TUI's compiled tree — that tree only calls the readers, so the
21
+ * heavyweight core imports below never run inside the host's render path.
22
+ *
23
+ * Every disk mutation follows the same recipe:
24
+ *
25
+ * 1. Serialize through `sidebarWriteChain` so concurrent in-process calls
26
+ * never interleave merges against the same file.
27
+ * 2. Acquire Task 7's `acquireFencedFileLock` with bounded retry+jitter
28
+ * (≤2s). A live cross-process holder that does not release in time
29
+ * surfaces as `SidebarStateLockContentionError`.
30
+ * 3. Re-read and normalize the on-disk state while holding the lock.
31
+ * 4. Merge the new machine or routing payload against the re-read state.
32
+ * 5. `assertOwned()` + `writeJsonAtomic` with mode 0o600, then release.
33
+ *
34
+ * The merge step is deterministic: machine fields adopt only when the new
35
+ * `checkedAt` is ≥ the on-disk one, `routingAuthoritative` is sticky-true,
36
+ * and `activeRouting` is merged independently and pruned to the freshest
37
+ * 100 entries within 24h.
38
+ */
39
+ export declare const SIDEBAR_STATE_VERSION: 1;
40
+ export type SidebarQuotaKey = 'gemini' | 'non-gemini';
41
+ export interface SidebarQuotaWindowEntry {
42
+ window: 'weekly' | '5h';
43
+ remainingPercent: number;
44
+ resetAt?: number;
45
+ }
46
+ export interface SidebarQuotaEntry {
47
+ /** Most-constrained window's remaining % (derived, for back-compat). */
48
+ remainingPercent: number;
49
+ resetAt?: number;
50
+ /** Per-window breakdown. Omitted in pre-windows snapshots. */
51
+ windows?: SidebarQuotaWindowEntry[];
52
+ }
53
+ export interface SidebarAccountState {
54
+ id: string;
55
+ label: string;
56
+ enabled: boolean;
57
+ health: number;
58
+ current: boolean;
59
+ cooldownUntil?: number;
60
+ quota: Partial<Record<SidebarQuotaKey, SidebarQuotaEntry>>;
61
+ /**
62
+ * Captured plan tier. Absent when unknown — do NOT default to `free-tier`.
63
+ * `id` is the raw upstream string (e.g. `"free-tier"`); never normalised.
64
+ */
65
+ tier?: {
66
+ id: string;
67
+ paidId?: string;
68
+ capturedAt: number;
69
+ };
70
+ }
71
+ export interface SidebarRoutingEntry {
72
+ accountId: string;
73
+ modelFamily: 'claude' | 'gemini';
74
+ headerStyle: 'antigravity' | 'gemini-cli';
75
+ strategy?: 'sticky' | 'round-robin' | 'hybrid';
76
+ updatedAt: number;
77
+ }
78
+ export interface SidebarStateV1 {
79
+ version: typeof SIDEBAR_STATE_VERSION;
80
+ checkedAt: number;
81
+ accounts: SidebarAccountState[];
82
+ activeRouting: Record<string, SidebarRoutingEntry>;
83
+ routingAuthoritative: boolean;
84
+ quotaBackoffUntil?: number;
85
+ lastError?: string;
86
+ }
87
+ /**
88
+ * The subset of `SidebarStateV1` that a non-routing writer may set. The
89
+ * fetch interceptor writes `activeRouting` directly via its own entry point
90
+ * because routing is session-scoped, not machine-scoped.
91
+ */
92
+ export interface SidebarMachineState {
93
+ checkedAt: number;
94
+ accounts: SidebarAccountState[];
95
+ quotaBackoffUntil?: number;
96
+ lastError?: string;
97
+ /**
98
+ * Optional: opt in to mark the snapshot as authoritative. When `true`,
99
+ * the merge keeps the existing `routingAuthoritative: true` even if a
100
+ * later non-authoritative machine write lands. Sticky-true semantics.
101
+ */
102
+ routingAuthoritative?: boolean;
103
+ }
104
+ export declare const DEFAULT_SIDEBAR_STATE: SidebarStateV1;
105
+ export declare const SIDEBAR_STATE_ENV = "ANTIGRAVITY_AUTH_SIDEBAR_STATE_FILE";
106
+ /**
107
+ * Thrown by every writer when the cross-process lock cannot be acquired
108
+ * within `SIDEBAR_LOCK_TIMEOUT_MS`. The caller decides whether to surface
109
+ * a toast, drop the write, or retry the next tick.
110
+ */
111
+ export declare class SidebarStateLockContentionError extends Error {
112
+ readonly details: {
113
+ stateFile: string;
114
+ timeoutMs: number;
115
+ };
116
+ constructor(stateFile: string, timeoutMs: number);
117
+ }
118
+ /**
119
+ * Steps exposed to the merge hooks. Race tests pause writers here; production
120
+ * callers leave the hooks unset (a no-op fast path).
121
+ *
122
+ * - `await-lock` — before invoking `acquireFencedFileLock`.
123
+ * - `acquired-lock` — after the lock is granted and before the read.
124
+ * - `read-state` — after the on-disk state is normalized.
125
+ * - `merged-state` — after the merge but before `writeJsonAtomic`.
126
+ * - `wrote-state` — after the rename but before `lock.release()`.
127
+ */
128
+ export type SidebarMergeStep = 'await-lock' | 'acquired-lock' | 'read-state' | 'merged-state' | 'wrote-state';
129
+ export interface SidebarMergeHooks {
130
+ onStep?: (step: SidebarMergeStep) => Promise<void> | void;
131
+ }
132
+ /**
133
+ * Install (or clear with `null`) the deterministic race hooks. Tests use
134
+ * these to inject interleavings; production callers leave them unset. The
135
+ * module-level state means a test must reset hooks in its own `afterEach`
136
+ * to avoid bleeding into the next test.
137
+ */
138
+ export declare function setSidebarMergeHooks(hooks: SidebarMergeHooks | null): void;
139
+ /**
140
+ * Resolve the on-disk path the plugin writes to and the TUI reads from.
141
+ *
142
+ * - `ANTIGRAVITY_AUTH_SIDEBAR_STATE_FILE` wins when set (tests, packaged
143
+ * installers, and any user override).
144
+ * - Otherwise fall back to the XDG state directory, mirroring the path
145
+ * conventions used elsewhere in the project.
146
+ */
147
+ export declare function getSidebarStateFile(): string;
148
+ /**
149
+ * Read and normalize the sidebar state file. Returns the default state when
150
+ * the file is missing, unreadable, malformed, or schema-incompatible — the TUI
151
+ * must never throw out of `readSidebarState()`, the panel just shows
152
+ * "Awaiting Antigravity state" and the next poll retries.
153
+ *
154
+ * The read is sync on purpose: the TUI polls on a 2-second timer and the file
155
+ * is tiny (a handful of accounts); an async read here would just add race
156
+ * surface area against Solid's reactive render cycle.
157
+ */
158
+ export declare function readSidebarState(path?: string): SidebarStateV1;
159
+ /**
160
+ * Ensure the parent directory for the sidebar state file exists. Convenience
161
+ * helper used by writers (tests, plugins) — the TUI itself does not write.
162
+ */
163
+ export declare function ensureSidebarStateDir(path?: string): void;
164
+ /**
165
+ * Drop active-routing entries older than 24h and cap the map at the freshest
166
+ * 100. Pure helper exposed for unit testing; the writers call it on every
167
+ * merge so the on-disk map never grows without bound.
168
+ */
169
+ export declare function pruneActiveRouting(map: Record<string, SidebarRoutingEntry>, now: number): Record<string, SidebarRoutingEntry>;
170
+ /**
171
+ * Structural input for `redactAccountForSidebar`. Decoupled from the core
172
+ * `ManagedAccount` type so this module never forces a type-level import
173
+ * shape on callers (and so the TUI's compiled tree does not see the core
174
+ * ManagedAccount shape beyond what's actually used).
175
+ *
176
+ * Deliberately excludes `email`: the sidebar/redaction boundary is a PII
177
+ * firewall. Adding `email` here would re-introduce the leak this boundary
178
+ * exists to prevent. Legacy profile labels are accepted but never serialized.
179
+ */
180
+ export interface SidebarAccountRedactionInput {
181
+ /** Position in the harness-visible account array. */
182
+ index: number;
183
+ /** Legacy profile label; deliberately ignored by the redactor. */
184
+ label?: string;
185
+ enabled?: boolean;
186
+ current?: boolean;
187
+ coolingDownUntil?: number;
188
+ /** Health score in `[0, 100]`. Defaults to 100 when missing. */
189
+ healthScore?: number;
190
+ cachedQuota?: {
191
+ gemini?: {
192
+ remainingFraction?: number;
193
+ resetTime?: string;
194
+ windows?: Array<{
195
+ window: 'weekly' | '5h';
196
+ remainingFraction: number;
197
+ resetTime: string;
198
+ }>;
199
+ };
200
+ 'non-gemini'?: {
201
+ remainingFraction?: number;
202
+ resetTime?: string;
203
+ windows?: Array<{
204
+ window: 'weekly' | '5h';
205
+ remainingFraction: number;
206
+ resetTime: string;
207
+ }>;
208
+ };
209
+ [legacyKey: string]: {
210
+ remainingFraction?: number;
211
+ resetTime?: string;
212
+ modelCount?: number;
213
+ windows?: Array<{
214
+ window: 'weekly' | '5h';
215
+ remainingFraction: number;
216
+ resetTime: string;
217
+ }>;
218
+ } | undefined;
219
+ };
220
+ /**
221
+ * Opaque identity stamp that was attached to the persisted quota snapshot.
222
+ * Used together with `currentQuotaAccountId` to detect a stale cache that
223
+ * landed on the wrong account after an index shift or token replacement.
224
+ * PII-safe — it is a 16-char hash, not the refresh token itself.
225
+ */
226
+ cachedQuotaAccountId?: string;
227
+ /**
228
+ * Opaque identity stamp for the account that is currently at this index.
229
+ * The redactor drops `cachedQuota` when `cachedQuotaAccountId` is set
230
+ * AND does not match this value, mirroring `toCommandAccountRow` in the
231
+ * command-data service. Omitted in the persisted sidebar state.
232
+ */
233
+ currentQuotaAccountId?: string;
234
+ /**
235
+ * Captured plan tier from `loadCodeAssist`. Absent when unknown. The `id`
236
+ * is the raw upstream string; `capturedAt` is epoch ms. Not PII — tier
237
+ * metadata survives the redaction boundary unchanged.
238
+ */
239
+ tier?: {
240
+ id: string;
241
+ paidId?: string;
242
+ capturedAt: number;
243
+ };
244
+ }
245
+ /**
246
+ * Build a `{ id, capturedAt }` tier object from account fields, or `undefined`
247
+ * when either field is absent. Centralised so every producer (index.ts,
248
+ * background-quota-refresh.ts, command-data.ts) uses the same guard and the
249
+ * same shape -- the same pattern shipped as inline literals across three files
250
+ * and produced six missed-field bugs; one helper ends that.
251
+ */
252
+ export declare function toCapturedTier(account: {
253
+ capturedTierId?: string;
254
+ capturedPaidTierId?: string;
255
+ capturedTierAt?: number;
256
+ }): {
257
+ id: string;
258
+ paidId?: string;
259
+ capturedAt: number;
260
+ } | undefined;
261
+ /**
262
+ * Map pre-pool legacy quota keys to the current two-pool schema at read time.
263
+ *
264
+ * Legacy mappings (empirically settled from burn tests):
265
+ * `gemini-pro` + `gemini-flash` → `gemini`
266
+ * `claude` + `gpt-oss` → `non-gemini`
267
+ *
268
+ * Where multiple legacy keys collapse into one pool the MIN remainingFraction
269
+ * and earliest resetTime are used (most-constrained-first, matching the
270
+ * window-level rule). No `windows` arrays are invented for migrated entries;
271
+ * the single aggregate bar is the correct render for pre-window snapshots.
272
+ *
273
+ * Non-legacy keys that are already canonical (`gemini`, `non-gemini`) are
274
+ * carried through unchanged. The next real quota refresh overwrites any
275
+ * migrated snapshot with authoritative data.
276
+ */
277
+ export declare function normalizeLegacyCachedQuota(raw: SidebarAccountRedactionInput['cachedQuota']): SidebarAccountRedactionInput['cachedQuota'];
278
+ /**
279
+ * Project a raw cachedQuota pool entry into the sidebar-safe shape.
280
+ *
281
+ * Centralized seam — every producer (quota.ts pushSidebarQuotaSnapshot,
282
+ * auth-loader.ts materializer, command-data.ts writeSidebar) routes
283
+ * through here so the `windows` array is never dropped by an inline
284
+ * `{ remainingFraction, resetTime }` literal.
285
+ *
286
+ * Tolerant: returns `undefined` when the source is missing or the
287
+ * `remainingFraction` is not a finite number. Legacy entries without
288
+ * `windows` produce `{ remainingPercent, resetAt }` only — the TUI's
289
+ * legacy path then renders a single bar.
290
+ */
291
+ export declare function projectQuotaPoolForSidebar(source: {
292
+ remainingFraction?: number;
293
+ resetTime?: string;
294
+ windows?: ReadonlyArray<{
295
+ window: 'weekly' | '5h';
296
+ remainingFraction: number;
297
+ resetTime: string;
298
+ }>;
299
+ }): SidebarQuotaEntry | undefined;
300
+ /**
301
+ * Returns `true` when an account at `index` is the active account for
302
+ * at least one model family. Two accounts CAN both be current — one
303
+ * serving claude, one serving gemini — so this must not collapse to one.
304
+ */
305
+ export declare function isAccountCurrent(index: number, activeIndexByFamily: {
306
+ claude: number;
307
+ gemini: number;
308
+ }): boolean;
309
+ /**
310
+ * Convert a live account snapshot into the redacted shape the TUI renders.
311
+ * The redacted `SidebarAccountState` carries no email, refresh token, access
312
+ * token, project ID, fingerprint, OAuth profile name, or other personal or
313
+ * credential-shaped fields. Display labels are generated ordinal account names.
314
+ */
315
+ export declare function redactAccountForSidebar(source: SidebarAccountRedactionInput): SidebarAccountState;
316
+ /**
317
+ * Build a `SidebarMachineState` from a list of live account snapshots.
318
+ * Convenience for the auth-loader / quota writer call sites that already
319
+ * hold an array of accounts and want to push a single snapshot.
320
+ */
321
+ export declare function buildSidebarMachineStateFromAccounts(accounts: SidebarAccountRedactionInput[], options?: {
322
+ checkedAt?: number;
323
+ quotaBackoffUntil?: number;
324
+ lastError?: string;
325
+ routingAuthoritative?: boolean;
326
+ }): SidebarMachineState;
327
+ interface SidebarStateWriteOptions {
328
+ stateFile?: string;
329
+ }
330
+ /**
331
+ * Wait for any in-flight sidebar state write to drain. The plugin lifecycle
332
+ * calls this during `dispose()` so the file logger and RPC server are torn
333
+ * down only after every queued write has either landed or thrown.
334
+ */
335
+ export declare function drainSidebarWrites(): Promise<void>;
336
+ /**
337
+ * Upsert a single session's active routing entry. The fetch interceptor calls
338
+ * this with `authoritative: true` after every final route selection; the
339
+ * `accountId`/`modelFamily`/`headerStyle` fields are already redacted by the
340
+ * caller (the writer never sees token or project fields).
341
+ */
342
+ export declare function upsertSidebarActiveRouting(sessionId: string, entry: SidebarRoutingEntry, options?: SidebarStateWriteOptions & {
343
+ authoritative?: boolean;
344
+ }): Promise<void>;
345
+ /**
346
+ * Remove one session's active routing entry. The event handler calls this
347
+ * when a session is deleted so the sidebar does not retain dead routes.
348
+ */
349
+ export declare function removeSidebarActiveRouting(sessionId: string, options?: SidebarStateWriteOptions): Promise<void>;
350
+ /**
351
+ * Write a new machine-state snapshot. The fetch interceptor and quota
352
+ * manager call this after each refresh; auth-loader calls it after the
353
+ * account pool is materialized.
354
+ */
355
+ export declare function setSidebarMachineState(next: SidebarMachineState, options?: SidebarStateWriteOptions): Promise<void>;
356
+ export {};
357
+ //# sourceMappingURL=sidebar-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-state.d.ts","sourceRoot":"","sources":["../../src/sidebar-state.ts"],"names":[],"mappings":"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"}