@cortexkit/opencode-antigravity-auth 1.0.1 → 2.0.0

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 (374) hide show
  1. package/README.md +225 -553
  2. package/dist/cli.js +3790 -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 +18951 -13145
  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/accounts.d.ts +7 -236
  38. package/dist/src/plugin/accounts.d.ts.map +1 -1
  39. package/dist/src/plugin/accounts.js +31 -1166
  40. package/dist/src/plugin/accounts.js.map +1 -1
  41. package/dist/src/plugin/agy-request-metadata.d.ts +2 -0
  42. package/dist/src/plugin/agy-request-metadata.d.ts.map +1 -0
  43. package/dist/src/plugin/agy-request-metadata.js +2 -0
  44. package/dist/src/plugin/agy-request-metadata.js.map +1 -0
  45. package/dist/src/plugin/agy-transport.d.ts +1 -1
  46. package/dist/src/plugin/agy-transport.js +1 -1
  47. package/dist/src/plugin/auth-doctor.d.ts +6 -6
  48. package/dist/src/plugin/auth-doctor.d.ts.map +1 -1
  49. package/dist/src/plugin/auth-doctor.js +79 -62
  50. package/dist/src/plugin/auth-doctor.js.map +1 -1
  51. package/dist/src/plugin/auth-drift.d.ts +4 -4
  52. package/dist/src/plugin/auth-drift.d.ts.map +1 -1
  53. package/dist/src/plugin/auth-drift.js +15 -15
  54. package/dist/src/plugin/auth-drift.js.map +1 -1
  55. package/dist/src/plugin/auth-loader.d.ts +35 -0
  56. package/dist/src/plugin/auth-loader.d.ts.map +1 -0
  57. package/dist/src/plugin/auth-loader.js +144 -0
  58. package/dist/src/plugin/auth-loader.js.map +1 -0
  59. package/dist/src/plugin/auth.d.ts +1 -1
  60. package/dist/src/plugin/auth.js +1 -1
  61. package/dist/src/plugin/cache/index.d.ts +1 -1
  62. package/dist/src/plugin/cache/index.d.ts.map +1 -1
  63. package/dist/src/plugin/cache/index.js +1 -1
  64. package/dist/src/plugin/cache/index.js.map +1 -1
  65. package/dist/src/plugin/cache/signature-cache.d.ts +1 -1
  66. package/dist/src/plugin/cache/signature-cache.d.ts.map +1 -1
  67. package/dist/src/plugin/cache/signature-cache.js +23 -24
  68. package/dist/src/plugin/cache/signature-cache.js.map +1 -1
  69. package/dist/src/plugin/cache.d.ts +6 -5
  70. package/dist/src/plugin/cache.d.ts.map +1 -1
  71. package/dist/src/plugin/cache.js +21 -7
  72. package/dist/src/plugin/cache.js.map +1 -1
  73. package/dist/src/plugin/catalog.d.ts +23 -0
  74. package/dist/src/plugin/catalog.d.ts.map +1 -0
  75. package/dist/src/plugin/catalog.js +60 -0
  76. package/dist/src/plugin/catalog.js.map +1 -0
  77. package/dist/src/plugin/cli.d.ts +7 -7
  78. package/dist/src/plugin/cli.d.ts.map +1 -1
  79. package/dist/src/plugin/cli.js +62 -55
  80. package/dist/src/plugin/cli.js.map +1 -1
  81. package/dist/src/plugin/command-data.d.ts +276 -0
  82. package/dist/src/plugin/command-data.d.ts.map +1 -0
  83. package/dist/src/plugin/command-data.js +325 -0
  84. package/dist/src/plugin/command-data.js.map +1 -0
  85. package/dist/src/plugin/commands.d.ts +151 -0
  86. package/dist/src/plugin/commands.d.ts.map +1 -0
  87. package/dist/src/plugin/commands.js +639 -0
  88. package/dist/src/plugin/commands.js.map +1 -0
  89. package/dist/src/plugin/config/index.d.ts +2 -2
  90. package/dist/src/plugin/config/index.d.ts.map +1 -1
  91. package/dist/src/plugin/config/index.js +2 -2
  92. package/dist/src/plugin/config/index.js.map +1 -1
  93. package/dist/src/plugin/config/loader.d.ts +1 -1
  94. package/dist/src/plugin/config/loader.d.ts.map +1 -1
  95. package/dist/src/plugin/config/loader.js +18 -16
  96. package/dist/src/plugin/config/loader.js.map +1 -1
  97. package/dist/src/plugin/config/models.d.ts +2 -2
  98. package/dist/src/plugin/config/models.d.ts.map +1 -1
  99. package/dist/src/plugin/config/models.js +1 -1
  100. package/dist/src/plugin/config/models.js.map +1 -1
  101. package/dist/src/plugin/config/operator-settings-schema.d.ts +29 -0
  102. package/dist/src/plugin/config/operator-settings-schema.d.ts.map +1 -0
  103. package/dist/src/plugin/config/operator-settings-schema.js +28 -0
  104. package/dist/src/plugin/config/operator-settings-schema.js.map +1 -0
  105. package/dist/src/plugin/config/schema.d.ts +21 -2
  106. package/dist/src/plugin/config/schema.d.ts.map +1 -1
  107. package/dist/src/plugin/config/schema.js +85 -25
  108. package/dist/src/plugin/config/schema.js.map +1 -1
  109. package/dist/src/plugin/config/updater.d.ts.map +1 -1
  110. package/dist/src/plugin/config/updater.js +15 -15
  111. package/dist/src/plugin/config/updater.js.map +1 -1
  112. package/dist/src/plugin/config/writer.d.ts +34 -0
  113. package/dist/src/plugin/config/writer.d.ts.map +1 -0
  114. package/dist/src/plugin/config/writer.js +81 -0
  115. package/dist/src/plugin/config/writer.js.map +1 -0
  116. package/dist/src/plugin/core/streaming/index.d.ts +1 -1
  117. package/dist/src/plugin/core/streaming/index.d.ts.map +1 -1
  118. package/dist/src/plugin/core/streaming/index.js +1 -1
  119. package/dist/src/plugin/core/streaming/index.js.map +1 -1
  120. package/dist/src/plugin/core/streaming/transformer.d.ts.map +1 -1
  121. package/dist/src/plugin/core/streaming/transformer.js +85 -44
  122. package/dist/src/plugin/core/streaming/transformer.js.map +1 -1
  123. package/dist/src/plugin/core/streaming/types.d.ts.map +1 -1
  124. package/dist/src/plugin/debug.d.ts +3 -3
  125. package/dist/src/plugin/debug.d.ts.map +1 -1
  126. package/dist/src/plugin/debug.js +85 -47
  127. package/dist/src/plugin/debug.js.map +1 -1
  128. package/dist/src/plugin/dependencies.d.ts +129 -0
  129. package/dist/src/plugin/dependencies.d.ts.map +1 -0
  130. package/dist/src/plugin/dependencies.js +107 -0
  131. package/dist/src/plugin/dependencies.js.map +1 -0
  132. package/dist/src/plugin/errors.d.ts +27 -0
  133. package/dist/src/plugin/errors.d.ts.map +1 -1
  134. package/dist/src/plugin/errors.js +29 -3
  135. package/dist/src/plugin/errors.js.map +1 -1
  136. package/dist/src/plugin/event-handler.d.ts +53 -0
  137. package/dist/src/plugin/event-handler.d.ts.map +1 -0
  138. package/dist/src/plugin/event-handler.js +101 -0
  139. package/dist/src/plugin/event-handler.js.map +1 -0
  140. package/dist/src/plugin/fetch/retry-state.d.ts +61 -0
  141. package/dist/src/plugin/fetch/retry-state.d.ts.map +1 -0
  142. package/dist/src/plugin/fetch/retry-state.js +248 -0
  143. package/dist/src/plugin/fetch/retry-state.js.map +1 -0
  144. package/dist/src/plugin/fetch/warmup.d.ts +30 -0
  145. package/dist/src/plugin/fetch/warmup.d.ts.map +1 -0
  146. package/dist/src/plugin/fetch/warmup.js +76 -0
  147. package/dist/src/plugin/fetch/warmup.js.map +1 -0
  148. package/dist/src/plugin/fetch-interceptor.d.ts +59 -0
  149. package/dist/src/plugin/fetch-interceptor.d.ts.map +1 -0
  150. package/dist/src/plugin/fetch-interceptor.js +1387 -0
  151. package/dist/src/plugin/fetch-interceptor.js.map +1 -0
  152. package/dist/src/plugin/fetch-routing.d.ts +26 -0
  153. package/dist/src/plugin/fetch-routing.d.ts.map +1 -0
  154. package/dist/src/plugin/fetch-routing.js +99 -0
  155. package/dist/src/plugin/fetch-routing.js.map +1 -0
  156. package/dist/src/plugin/fingerprint.d.ts +1 -1
  157. package/dist/src/plugin/fingerprint.js +1 -1
  158. package/dist/src/plugin/gemini-dump.d.ts +5 -5
  159. package/dist/src/plugin/gemini-dump.d.ts.map +1 -1
  160. package/dist/src/plugin/gemini-dump.js +109 -55
  161. package/dist/src/plugin/gemini-dump.js.map +1 -1
  162. package/dist/src/plugin/google-search-tool.d.ts +9 -0
  163. package/dist/src/plugin/google-search-tool.d.ts.map +1 -0
  164. package/dist/src/plugin/google-search-tool.js +56 -0
  165. package/dist/src/plugin/google-search-tool.js.map +1 -0
  166. package/dist/src/plugin/image-saver.d.ts +2 -21
  167. package/dist/src/plugin/image-saver.d.ts.map +1 -1
  168. package/dist/src/plugin/image-saver.js +22 -56
  169. package/dist/src/plugin/image-saver.js.map +1 -1
  170. package/dist/src/plugin/index.d.ts +23 -0
  171. package/dist/src/plugin/index.d.ts.map +1 -0
  172. package/dist/src/plugin/index.js +308 -0
  173. package/dist/src/plugin/index.js.map +1 -0
  174. package/dist/src/plugin/killswitch.d.ts +94 -0
  175. package/dist/src/plugin/killswitch.d.ts.map +1 -0
  176. package/dist/src/plugin/killswitch.js +194 -0
  177. package/dist/src/plugin/killswitch.js.map +1 -0
  178. package/dist/src/plugin/lifecycle.d.ts +40 -0
  179. package/dist/src/plugin/lifecycle.d.ts.map +1 -0
  180. package/dist/src/plugin/lifecycle.js +73 -0
  181. package/dist/src/plugin/lifecycle.js.map +1 -0
  182. package/dist/src/plugin/logger.d.ts +10 -1
  183. package/dist/src/plugin/logger.d.ts.map +1 -1
  184. package/dist/src/plugin/logger.js +38 -12
  185. package/dist/src/plugin/logger.js.map +1 -1
  186. package/dist/src/plugin/logging-utils.d.ts +35 -1
  187. package/dist/src/plugin/logging-utils.d.ts.map +1 -1
  188. package/dist/src/plugin/logging-utils.js +98 -15
  189. package/dist/src/plugin/logging-utils.js.map +1 -1
  190. package/dist/src/plugin/model-registry.d.ts +1 -1
  191. package/dist/src/plugin/model-registry.js +1 -1
  192. package/dist/src/plugin/oauth-login.d.ts +22 -0
  193. package/dist/src/plugin/oauth-login.d.ts.map +1 -0
  194. package/dist/src/plugin/oauth-login.js +37 -0
  195. package/dist/src/plugin/oauth-login.js.map +1 -0
  196. package/dist/src/plugin/oauth-methods.d.ts +42 -0
  197. package/dist/src/plugin/oauth-methods.d.ts.map +1 -0
  198. package/dist/src/plugin/oauth-methods.js +1284 -0
  199. package/dist/src/plugin/oauth-methods.js.map +1 -0
  200. package/dist/src/plugin/operator-settings.d.ts +40 -0
  201. package/dist/src/plugin/operator-settings.d.ts.map +1 -0
  202. package/dist/src/plugin/operator-settings.js +148 -0
  203. package/dist/src/plugin/operator-settings.js.map +1 -0
  204. package/dist/src/plugin/persist-account-pool.d.ts +37 -0
  205. package/dist/src/plugin/persist-account-pool.d.ts.map +1 -0
  206. package/dist/src/plugin/persist-account-pool.js +142 -0
  207. package/dist/src/plugin/persist-account-pool.js.map +1 -0
  208. package/dist/src/plugin/project.d.ts +1 -1
  209. package/dist/src/plugin/project.js +1 -1
  210. package/dist/src/plugin/prompt-context.d.ts.map +1 -1
  211. package/dist/src/plugin/prompt-context.js +11 -11
  212. package/dist/src/plugin/prompt-context.js.map +1 -1
  213. package/dist/src/plugin/quota.d.ts +97 -41
  214. package/dist/src/plugin/quota.d.ts.map +1 -1
  215. package/dist/src/plugin/quota.js +273 -285
  216. package/dist/src/plugin/quota.js.map +1 -1
  217. package/dist/src/plugin/recovery/constants.d.ts.map +1 -1
  218. package/dist/src/plugin/recovery/constants.js +24 -15
  219. package/dist/src/plugin/recovery/constants.js.map +1 -1
  220. package/dist/src/plugin/recovery/index.d.ts +3 -3
  221. package/dist/src/plugin/recovery/index.d.ts.map +1 -1
  222. package/dist/src/plugin/recovery/index.js +3 -3
  223. package/dist/src/plugin/recovery/index.js.map +1 -1
  224. package/dist/src/plugin/recovery/storage.d.ts +1 -1
  225. package/dist/src/plugin/recovery/storage.d.ts.map +1 -1
  226. package/dist/src/plugin/recovery/storage.js +31 -39
  227. package/dist/src/plugin/recovery/storage.js.map +1 -1
  228. package/dist/src/plugin/recovery/types.d.ts +12 -12
  229. package/dist/src/plugin/recovery/types.d.ts.map +1 -1
  230. package/dist/src/plugin/recovery.d.ts +3 -3
  231. package/dist/src/plugin/recovery.d.ts.map +1 -1
  232. package/dist/src/plugin/recovery.js +62 -58
  233. package/dist/src/plugin/recovery.js.map +1 -1
  234. package/dist/src/plugin/refresh-queue.d.ts +5 -2
  235. package/dist/src/plugin/refresh-queue.d.ts.map +1 -1
  236. package/dist/src/plugin/refresh-queue.js +37 -15
  237. package/dist/src/plugin/refresh-queue.js.map +1 -1
  238. package/dist/src/plugin/request-helpers.d.ts +2 -1
  239. package/dist/src/plugin/request-helpers.d.ts.map +1 -1
  240. package/dist/src/plugin/request-helpers.js +458 -354
  241. package/dist/src/plugin/request-helpers.js.map +1 -1
  242. package/dist/src/plugin/request.d.ts +12 -6
  243. package/dist/src/plugin/request.d.ts.map +1 -1
  244. package/dist/src/plugin/request.js +801 -390
  245. package/dist/src/plugin/request.js.map +1 -1
  246. package/dist/src/plugin/rotation.d.ts +1 -168
  247. package/dist/src/plugin/rotation.d.ts.map +1 -1
  248. package/dist/src/plugin/rotation.js +1 -327
  249. package/dist/src/plugin/rotation.js.map +1 -1
  250. package/dist/src/plugin/search.d.ts.map +1 -1
  251. package/dist/src/plugin/search.js +39 -35
  252. package/dist/src/plugin/search.js.map +1 -1
  253. package/dist/src/plugin/server.d.ts +1 -1
  254. package/dist/src/plugin/server.d.ts.map +1 -1
  255. package/dist/src/plugin/server.js +42 -37
  256. package/dist/src/plugin/server.js.map +1 -1
  257. package/dist/src/plugin/session-context.d.ts +22 -0
  258. package/dist/src/plugin/session-context.d.ts.map +1 -0
  259. package/dist/src/plugin/session-context.js +67 -0
  260. package/dist/src/plugin/session-context.js.map +1 -0
  261. package/dist/src/plugin/storage.d.ts +59 -114
  262. package/dist/src/plugin/storage.d.ts.map +1 -1
  263. package/dist/src/plugin/storage.js +140 -474
  264. package/dist/src/plugin/storage.js.map +1 -1
  265. package/dist/src/plugin/stores/signature-store.d.ts.map +1 -1
  266. package/dist/src/plugin/stores/signature-store.js.map +1 -1
  267. package/dist/src/plugin/thinking-recovery.d.ts.map +1 -1
  268. package/dist/src/plugin/thinking-recovery.js +35 -33
  269. package/dist/src/plugin/thinking-recovery.js.map +1 -1
  270. package/dist/src/plugin/token.d.ts +2 -2
  271. package/dist/src/plugin/token.d.ts.map +1 -1
  272. package/dist/src/plugin/token.js +30 -21
  273. package/dist/src/plugin/token.js.map +1 -1
  274. package/dist/src/plugin/transform/cross-model-sanitizer.d.ts +1 -1
  275. package/dist/src/plugin/transform/cross-model-sanitizer.js +1 -1
  276. package/dist/src/plugin/transform/index.d.ts +1 -1
  277. package/dist/src/plugin/transform/index.js +1 -1
  278. package/dist/src/plugin/transform/model-resolver.d.ts +1 -1
  279. package/dist/src/plugin/transform/model-resolver.js +1 -1
  280. package/dist/src/plugin/transform/types.d.ts +1 -1
  281. package/dist/src/plugin/transform/types.js +1 -1
  282. package/dist/src/plugin/types.d.ts +25 -69
  283. package/dist/src/plugin/types.d.ts.map +1 -1
  284. package/dist/src/plugin/ui/ansi.d.ts.map +1 -1
  285. package/dist/src/plugin/ui/ansi.js.map +1 -1
  286. package/dist/src/plugin/ui/auth-menu.d.ts +2 -2
  287. package/dist/src/plugin/ui/auth-menu.d.ts.map +1 -1
  288. package/dist/src/plugin/ui/auth-menu.js +84 -31
  289. package/dist/src/plugin/ui/auth-menu.js.map +1 -1
  290. package/dist/src/plugin/ui/confirm.d.ts.map +1 -1
  291. package/dist/src/plugin/ui/confirm.js.map +1 -1
  292. package/dist/src/plugin/ui/model-status.d.ts +3 -3
  293. package/dist/src/plugin/ui/model-status.d.ts.map +1 -1
  294. package/dist/src/plugin/ui/model-status.js +3 -3
  295. package/dist/src/plugin/ui/model-status.js.map +1 -1
  296. package/dist/src/plugin/ui/quota-status.d.ts +4 -4
  297. package/dist/src/plugin/ui/quota-status.d.ts.map +1 -1
  298. package/dist/src/plugin/ui/quota-status.js +51 -48
  299. package/dist/src/plugin/ui/quota-status.js.map +1 -1
  300. package/dist/src/plugin/ui/select.d.ts.map +1 -1
  301. package/dist/src/plugin/ui/select.js +22 -12
  302. package/dist/src/plugin/ui/select.js.map +1 -1
  303. package/dist/src/plugin/version.d.ts +1 -1
  304. package/dist/src/plugin/version.js +1 -1
  305. package/dist/src/rpc/notifications.d.ts +6 -0
  306. package/dist/src/rpc/notifications.d.ts.map +1 -0
  307. package/dist/src/rpc/notifications.js +46 -0
  308. package/dist/src/rpc/notifications.js.map +1 -0
  309. package/dist/src/rpc/port-file.d.ts +13 -0
  310. package/dist/src/rpc/port-file.d.ts.map +1 -0
  311. package/dist/src/rpc/port-file.js +109 -0
  312. package/dist/src/rpc/port-file.js.map +1 -0
  313. package/dist/src/rpc/protocol.d.ts +22 -0
  314. package/dist/src/rpc/protocol.d.ts.map +1 -0
  315. package/dist/src/rpc/protocol.js +1 -0
  316. package/dist/src/rpc/protocol.js.map +1 -0
  317. package/dist/src/rpc/rpc-client.d.ts +10 -0
  318. package/dist/src/rpc/rpc-client.d.ts.map +1 -0
  319. package/dist/src/rpc/rpc-client.js +58 -0
  320. package/dist/src/rpc/rpc-client.js.map +1 -0
  321. package/dist/src/rpc/rpc-dir.d.ts +4 -0
  322. package/dist/src/rpc/rpc-dir.d.ts.map +1 -0
  323. package/dist/src/rpc/rpc-dir.js +19 -0
  324. package/dist/src/rpc/rpc-dir.js.map +1 -0
  325. package/dist/src/rpc/rpc-server.d.ts +13 -0
  326. package/dist/src/rpc/rpc-server.d.ts.map +1 -0
  327. package/dist/src/rpc/rpc-server.js +231 -0
  328. package/dist/src/rpc/rpc-server.js.map +1 -0
  329. package/dist/src/sidebar-state.d.ts +240 -0
  330. package/dist/src/sidebar-state.d.ts.map +1 -0
  331. package/dist/src/sidebar-state.js +520 -0
  332. package/dist/src/sidebar-state.js.map +1 -0
  333. package/dist/src/tui/command-dialogs.d.ts +61 -0
  334. package/dist/src/tui/command-dialogs.d.ts.map +1 -0
  335. package/dist/src/tui/command-dialogs.js +497 -0
  336. package/dist/src/tui/command-dialogs.js.map +1 -0
  337. package/dist/src/tui/file-logger.d.ts +41 -0
  338. package/dist/src/tui/file-logger.d.ts.map +1 -0
  339. package/dist/src/tui/file-logger.js +114 -0
  340. package/dist/src/tui/file-logger.js.map +1 -0
  341. package/dist/src/tui-preferences.d.ts +40 -0
  342. package/dist/src/tui-preferences.d.ts.map +1 -0
  343. package/dist/src/tui-preferences.js +328 -0
  344. package/dist/src/tui-preferences.js.map +1 -0
  345. package/dist/src/tui.d.ts +68 -0
  346. package/dist/src/tui.d.ts.map +1 -0
  347. package/dist/src/tui.js +662 -0
  348. package/dist/src/tui.js.map +1 -0
  349. package/package.json +46 -22
  350. package/src/plugin/command-data.ts +651 -0
  351. package/src/rpc/port-file.ts +143 -0
  352. package/src/rpc/protocol.ts +31 -0
  353. package/src/rpc/rpc-client.ts +102 -0
  354. package/src/rpc/rpc-dir.ts +24 -0
  355. package/src/sidebar-state.ts +717 -0
  356. package/src/tui/command-dialogs.tsx +699 -0
  357. package/src/tui/entry.mjs +74 -0
  358. package/src/tui/file-logger.ts +145 -0
  359. package/src/tui-compiled/plugin/command-data.ts +651 -0
  360. package/src/tui-compiled/rpc/port-file.ts +143 -0
  361. package/src/tui-compiled/rpc/protocol.ts +31 -0
  362. package/src/tui-compiled/rpc/rpc-client.ts +102 -0
  363. package/src/tui-compiled/rpc/rpc-dir.ts +24 -0
  364. package/src/tui-compiled/sidebar-state.ts +717 -0
  365. package/src/tui-compiled/tui/command-dialogs.tsx +659 -0
  366. package/src/tui-compiled/tui/file-logger.ts +145 -0
  367. package/src/tui-compiled/tui-preferences.ts +416 -0
  368. package/src/tui-compiled/tui.tsx +1150 -0
  369. package/src/tui-preferences.ts +416 -0
  370. package/src/tui.tsx +1117 -0
  371. package/dist/src/plugin.d.ts +0 -32
  372. package/dist/src/plugin.d.ts.map +0 -1
  373. package/dist/src/plugin.js +0 -3151
  374. package/dist/src/plugin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-dump.js","sourceRoot":"","sources":["../../../src/plugin/gemini-dump.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini-dump.js","sourceRoot":"","sources":["../../../src/plugin/gemini-dump.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { GetAuth, PluginClient, PluginTool } from './types';
2
+ type GoogleSearchAuthLoader = () => Promise<Awaited<ReturnType<GetAuth>> | null | undefined>;
3
+ export declare function createGoogleSearchTool({ getAuth, client, providerId, }: {
4
+ getAuth: GoogleSearchAuthLoader;
5
+ client: PluginClient;
6
+ providerId: string;
7
+ }): PluginTool;
8
+ export {};
9
+ //# sourceMappingURL=google-search-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-search-tool.d.ts","sourceRoot":"","sources":["../../../src/plugin/google-search-tool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAIhE,KAAK,sBAAsB,GAAG,MAAM,OAAO,CACzC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAChD,CAAA;AAED,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,MAAM,EACN,UAAU,GACX,EAAE;IACD,OAAO,EAAE,sBAAsB,CAAA;IAC/B,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB,GAAG,UAAU,CA8Db"}
@@ -0,0 +1,56 @@
1
+ import { tool } from '@opencode-ai/plugin';
2
+ import { accessTokenExpired, isOAuthAuth, parseRefreshParts } from './auth';
3
+ import { createLogger } from './logger';
4
+ import { executeSearch } from './search';
5
+ import { refreshAccessToken } from './token';
6
+ const log = createLogger('plugin');
7
+ export function createGoogleSearchTool({ getAuth, client, providerId, }) {
8
+ return tool({
9
+ description: "Search the web using Google Search and analyze URLs. Returns real-time information from the internet with source citations. Use this when you need up-to-date information about current events, recent developments, or any topic that may have changed. You can also provide specific URLs to analyze. IMPORTANT: If the user mentions or provides any URLs in their query, you MUST extract those URLs and pass them in the 'urls' parameter for direct analysis.",
10
+ args: {
11
+ query: tool.schema
12
+ .string()
13
+ .describe('The search query or question to answer using web search'),
14
+ urls: tool.schema
15
+ .array(tool.schema.string())
16
+ .optional()
17
+ .describe('List of specific URLs to fetch and analyze. IMPORTANT: Always extract and include any URLs mentioned by the user in their query here.'),
18
+ thinking: tool.schema
19
+ .boolean()
20
+ .optional()
21
+ .default(true)
22
+ .describe('Enable deep thinking for more thorough analysis (default: true)'),
23
+ },
24
+ async execute(args, ctx) {
25
+ log.debug('Google Search tool called', {
26
+ query: args.query,
27
+ urlCount: args.urls?.length ?? 0,
28
+ });
29
+ const auth = await getAuth();
30
+ if (!auth || !isOAuthAuth(auth)) {
31
+ return 'Error: Not authenticated with Antigravity. Please run `opencode auth login` to authenticate.';
32
+ }
33
+ const parts = parseRefreshParts(auth.refresh);
34
+ const projectId = parts.managedProjectId || parts.projectId || 'unknown';
35
+ let accessToken = auth.access;
36
+ if (!accessToken || accessTokenExpired(auth)) {
37
+ try {
38
+ const refreshed = await refreshAccessToken(auth, client, providerId);
39
+ accessToken = refreshed?.access;
40
+ }
41
+ catch (error) {
42
+ return `Error: Failed to refresh access token: ${error instanceof Error ? error.message : String(error)}`;
43
+ }
44
+ }
45
+ if (!accessToken) {
46
+ return 'Error: No valid access token available. Please run `opencode auth login` to re-authenticate.';
47
+ }
48
+ return executeSearch({
49
+ query: args.query,
50
+ urls: args.urls,
51
+ thinking: args.thinking,
52
+ }, accessToken, projectId, ctx.abort);
53
+ },
54
+ });
55
+ }
56
+ //# sourceMappingURL=google-search-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-search-tool.js","sourceRoot":"","sources":["../../../src/plugin/google-search-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAG5C,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AAMlC,MAAM,UAAU,sBAAsB,CAAC,EACrC,OAAO,EACP,MAAM,EACN,UAAU,GAKX;IACC,OAAO,IAAI,CAAC;QACV,WAAW,EACT,qcAAqc;QACvc,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI,CAAC,MAAM;iBACf,MAAM,EAAE;iBACR,QAAQ,CAAC,yDAAyD,CAAC;YACtE,IAAI,EAAE,IAAI,CAAC,MAAM;iBACd,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;iBAC3B,QAAQ,EAAE;iBACV,QAAQ,CACP,uIAAuI,CACxI;YACH,QAAQ,EAAE,IAAI,CAAC,MAAM;iBAClB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,iEAAiE,CAClE;SACJ;QACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;YACrB,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBACrC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;aACjC,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAA;YAC5B,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,OAAO,8FAA8F,CAAA;YACvG,CAAC;YAED,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,SAAS,IAAI,SAAS,CAAA;YAExE,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAA;YAC7B,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;oBACpE,WAAW,GAAG,SAAS,EAAE,MAAM,CAAA;gBACjC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,0CAA0C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;gBAC3G,CAAC;YACH,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,8FAA8F,CAAA;YACvG,CAAC;YAED,OAAO,aAAa,CAClB;gBACE,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,EACD,WAAW,EACX,SAAS,EACT,GAAG,CAAC,KAAK,CACV,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -1,25 +1,6 @@
1
- /**
2
- * Image Saving Utility
3
- *
4
- * Handles saving generated images to disk and returning file paths.
5
- */
6
- /**
7
- * Save base64 image data to disk and return the file path.
8
- *
9
- * @param base64Data - The base64-encoded image data
10
- * @param mimeType - The MIME type of the image (e.g., "image/jpeg")
11
- * @returns The absolute path to the saved image file
12
- */
13
- export declare function saveImageToDisk(base64Data: string, mimeType: string): string;
14
- /**
15
- * Process inlineData and return either a file path or base64 data URL.
16
- * Attempts to save to disk first, falls back to base64 if saving fails.
17
- *
18
- * @param inlineData - Object containing mimeType and base64 data
19
- * @returns Markdown image string with either file path or data URL
20
- */
1
+ export declare function saveImageToDisk(base64Data: string, mimeType: string, outputDir?: string): string;
21
2
  export declare function processImageData(inlineData: {
22
3
  mimeType?: string;
23
4
  data?: string;
24
- }): string | null;
5
+ }, outputDir?: string): string | null;
25
6
  //# sourceMappingURL=image-saver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-saver.d.ts","sourceRoot":"","sources":["../../../src/plugin/image-saver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0CH;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgB5E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAkBhG"}
1
+ {"version":3,"file":"image-saver.d.ts","sourceRoot":"","sources":["../../../src/plugin/image-saver.ts"],"names":[],"mappings":"AA8BA,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAWR;AAED,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAChD,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAaf"}
@@ -1,86 +1,52 @@
1
- /**
2
- * Image Saving Utility
3
- *
4
- * Handles saving generated images to disk and returning file paths.
5
- */
6
- import * as fs from 'fs';
7
- import * as path from 'path';
8
- import * as os from 'os';
9
- /**
10
- * Default directory for saving generated images.
11
- * Uses ~/.opencode/generated-images/
12
- */
13
- function getImageOutputDir() {
14
- const homeDir = os.homedir();
15
- const outputDir = path.join(homeDir, '.opencode', 'generated-images');
16
- // Create directory if it doesn't exist
17
- if (!fs.existsSync(outputDir)) {
18
- fs.mkdirSync(outputDir, { recursive: true });
19
- }
20
- return outputDir;
1
+ import { chmodSync, existsSync, mkdirSync, writeFileSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { join } from 'node:path';
4
+ function getImageOutputDir(outputDir) {
5
+ const resolved = outputDir ?? join(homedir(), '.opencode', 'generated-images');
6
+ if (!existsSync(resolved)) {
7
+ mkdirSync(resolved, { recursive: true, mode: 0o700 });
8
+ }
9
+ chmodSync(resolved, 0o700);
10
+ return resolved;
21
11
  }
22
- /**
23
- * Generate a unique filename for the image.
24
- */
25
12
  function generateImageFilename(mimeType) {
26
13
  const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
27
14
  const random = Math.random().toString(36).substring(2, 8);
28
- // Determine extension from mime type
29
- let ext = 'png';
15
+ let extension = 'png';
30
16
  if (mimeType.includes('jpeg') || mimeType.includes('jpg')) {
31
- ext = 'jpg';
17
+ extension = 'jpg';
32
18
  }
33
19
  else if (mimeType.includes('gif')) {
34
- ext = 'gif';
20
+ extension = 'gif';
35
21
  }
36
22
  else if (mimeType.includes('webp')) {
37
- ext = 'webp';
23
+ extension = 'webp';
38
24
  }
39
- return `image-${timestamp}-${random}.${ext}`;
25
+ return `image-${timestamp}-${random}.${extension}`;
40
26
  }
41
- /**
42
- * Save base64 image data to disk and return the file path.
43
- *
44
- * @param base64Data - The base64-encoded image data
45
- * @param mimeType - The MIME type of the image (e.g., "image/jpeg")
46
- * @returns The absolute path to the saved image file
47
- */
48
- export function saveImageToDisk(base64Data, mimeType) {
27
+ export function saveImageToDisk(base64Data, mimeType, outputDir) {
49
28
  try {
50
- const outputDir = getImageOutputDir();
51
- const filename = generateImageFilename(mimeType);
52
- const filePath = path.join(outputDir, filename);
53
- // Decode base64 and write to file
54
- const buffer = Buffer.from(base64Data, 'base64');
55
- fs.writeFileSync(filePath, buffer);
29
+ const resolvedOutputDir = getImageOutputDir(outputDir);
30
+ const filePath = join(resolvedOutputDir, generateImageFilename(mimeType));
31
+ writeFileSync(filePath, Buffer.from(base64Data, 'base64'), { mode: 0o600 });
32
+ chmodSync(filePath, 0o600);
56
33
  return filePath;
57
34
  }
58
35
  catch (error) {
59
- // If saving fails, return empty string (caller will fall back to base64)
60
36
  console.error('[image-saver] Failed to save image:', error);
61
37
  return '';
62
38
  }
63
39
  }
64
- /**
65
- * Process inlineData and return either a file path or base64 data URL.
66
- * Attempts to save to disk first, falls back to base64 if saving fails.
67
- *
68
- * @param inlineData - Object containing mimeType and base64 data
69
- * @returns Markdown image string with either file path or data URL
70
- */
71
- export function processImageData(inlineData) {
40
+ export function processImageData(inlineData, outputDir) {
72
41
  const mimeType = inlineData.mimeType || 'image/png';
73
42
  const data = inlineData.data;
74
43
  if (!data) {
75
44
  return null;
76
45
  }
77
- // Try to save to disk first
78
- const filePath = saveImageToDisk(data, mimeType);
46
+ const filePath = saveImageToDisk(data, mimeType, outputDir);
79
47
  if (filePath) {
80
- // Successfully saved - return file path with open command hint
81
48
  return `![Generated Image](${filePath})\n\nImage saved to: \`${filePath}\`\n\nTo view: \`open "${filePath}"\``;
82
49
  }
83
- // Fall back to base64 data URL
84
50
  return `![Generated Image](data:${mimeType};base64,${data})`;
85
51
  }
86
52
  //# sourceMappingURL=image-saver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-saver.js","sourceRoot":"","sources":["../../../src/plugin/image-saver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-saver.js","sourceRoot":"","sources":["../../../src/plugin/image-saver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,SAAS,iBAAiB,CAAC,SAAkB;IAC3C,MAAM,QAAQ,GAAG,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAA;IAE9E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACvD,CAAC;IACD,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC1B,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAEzD,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,SAAS,GAAG,KAAK,CAAA;IACnB,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,SAAS,GAAG,KAAK,CAAA;IACnB,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,SAAS,GAAG,MAAM,CAAA;IACpB,CAAC;IAED,OAAO,SAAS,SAAS,IAAI,MAAM,IAAI,SAAS,EAAE,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,UAAkB,EAClB,QAAgB,EAChB,SAAkB;IAElB,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAA;QACzE,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC3E,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC1B,OAAO,QAAQ,CAAA;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAA;QAC3D,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,UAAgD,EAChD,SAAkB;IAElB,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,WAAW,CAAA;IACnD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;IAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC3D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,sBAAsB,QAAQ,0BAA0B,QAAQ,0BAA0B,QAAQ,KAAK,CAAA;IAChH,CAAC;IAED,OAAO,2BAA2B,QAAQ,WAAW,IAAI,GAAG,CAAA;AAC9D,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { type PluginDependencyOverrides } from './dependencies';
2
+ import { type PluginLifecycle } from './lifecycle';
3
+ import { type QuotaManager } from './quota';
4
+ import type { PluginInput, PluginResult } from './types';
5
+ export type { PluginResult } from './types';
6
+ /**
7
+ * High-level options for the plugin factory. Production callers omit it
8
+ * entirely; the e2e workspace injects overrides so the same factory can
9
+ * build against a mock Antigravity server bound to 127.0.0.1.
10
+ */
11
+ export interface CreateAntigravityPluginOptions {
12
+ /**
13
+ * Dependency overrides for the composition seam — fetch implementation,
14
+ * Antigravity transport, OAuth primitives, filesystem roots, clock, and
15
+ * randomness. Defaults to production implementations.
16
+ */
17
+ dependencies?: PluginDependencyOverrides;
18
+ }
19
+ export declare function registerQuotaManagerProducer(lifecycle: PluginLifecycle, quotaManager: QuotaManager): void;
20
+ export declare const createAntigravityPlugin: (providerId: string, options?: CreateAntigravityPluginOptions) => (input: PluginInput) => Promise<PluginResult>;
21
+ export declare const AntigravityCLIOAuthPlugin: (input: PluginInput) => Promise<PluginResult>;
22
+ export declare const GoogleOAuthPlugin: (input: PluginInput) => Promise<PluginResult>;
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugin/index.ts"],"names":[],"mappings":"AA8BA,OAAO,EAEL,KAAK,yBAAyB,EAE/B,MAAM,gBAAgB,CAAA;AAIvB,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAQzE,OAAO,EAA8B,KAAK,YAAY,EAAE,MAAM,SAAS,CAAA;AAUvE,OAAO,KAAK,EAA0B,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEhF,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAM3C;;;;GAIG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,YAAY,CAAC,EAAE,yBAAyB,CAAA;CACzC;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,eAAe,EAC1B,YAAY,EAAE,YAAY,GACzB,IAAI,CAEN;AAED,eAAO,MAAM,uBAAuB,GACjC,YAAY,MAAM,EAAE,UAAS,8BAAmC,MAC1D,OAAO,WAAW,KAAG,OAAO,CAAC,YAAY,CAgS/C,CAAA;AAEH,eAAO,MAAM,yBAAyB,UAlStB,WAAW,KAAG,OAAO,CAAC,YAAY,CAoSjD,CAAA;AACD,eAAO,MAAM,iBAAiB,UArSd,WAAW,KAAG,OAAO,CAAC,YAAY,CAqSQ,CAAA"}
@@ -0,0 +1,308 @@
1
+ import { join } from 'node:path';
2
+ import { ANTIGRAVITY_PROVIDER_ID } from '../constants';
3
+ import { createAutoUpdateCheckerHook } from '../hooks/auto-update-checker';
4
+ import { drainNotifications, pushNotification } from '../rpc/notifications';
5
+ import { getRpcDir } from '../rpc/rpc-dir';
6
+ import { startRpcServer } from '../rpc/rpc-server';
7
+ import { drainSidebarWrites, getSidebarStateFile } from '../sidebar-state';
8
+ import { createAccountAccessService, promptAccountIndexForVerification, promptOpenVerificationUrl, } from './account-access';
9
+ import { createAuthLoader } from './auth-loader';
10
+ import { initDiskSignatureCache, shutdownDiskSignatureCache } from './cache';
11
+ import { applyAntigravityProviderCatalog, registerAntigravityCommands, } from './catalog';
12
+ import { createCommandDataService, } from './command-data';
13
+ import { applyCommand, createCommandExecuteBefore, createSidebarRefresher, } from './commands';
14
+ import { initRuntimeConfig, loadConfig } from './config';
15
+ import { getUserConfigPath as getUserConfigDir } from './config/loader';
16
+ import { initializeDebug } from './debug';
17
+ import { resolvePluginDependencies, } from './dependencies';
18
+ import { createEventHandler } from './event-handler';
19
+ import { createFetchInterceptor } from './fetch-interceptor';
20
+ import { createGoogleSearchTool } from './google-search-tool';
21
+ import { createPluginLifecycle } from './lifecycle';
22
+ import { createLogger, initLogger, setRuntimeLogLevel } from './logger';
23
+ import { createOAuthMethods, openBrowserWithSystem } from './oauth-methods';
24
+ import { createOperatorSettingsController, } from './operator-settings';
25
+ import { persistAccountPool } from './persist-account-pool';
26
+ import { createOpenCodeQuotaManager } from './quota';
27
+ import { createSessionRecoveryHook } from './recovery';
28
+ import { initHealthTracker, initTokenTracker } from './rotation';
29
+ import { AgySessionRegistry } from './session-context';
30
+ import { clearAccounts, getStoragePath, loadAccounts, mutateAccountStorage, } from './storage';
31
+ import { initAntigravityVersion } from './version';
32
+ const logger = createLogger('plugin');
33
+ export function registerQuotaManagerProducer(lifecycle, quotaManager) {
34
+ lifecycle.register({ dispose: () => quotaManager.dispose() }, 'producer');
35
+ }
36
+ export const createAntigravityPlugin = (providerId, options = {}) => async (input) => {
37
+ const dependencies = resolvePluginDependencies(options.dependencies);
38
+ const { client, directory } = input;
39
+ const config = loadConfig(directory);
40
+ initRuntimeConfig(config);
41
+ initializeDebug(config);
42
+ initLogger(client);
43
+ await initAntigravityVersion();
44
+ if (config.health_score) {
45
+ initHealthTracker({
46
+ initial: config.health_score.initial,
47
+ successReward: config.health_score.success_reward,
48
+ rateLimitPenalty: config.health_score.rate_limit_penalty,
49
+ failurePenalty: config.health_score.failure_penalty,
50
+ recoveryRatePerHour: config.health_score.recovery_rate_per_hour,
51
+ minUsable: config.health_score.min_usable,
52
+ maxScore: config.health_score.max_score,
53
+ });
54
+ }
55
+ if (config.token_bucket) {
56
+ initTokenTracker({
57
+ maxTokens: config.token_bucket.max_tokens,
58
+ regenerationRatePerMinute: config.token_bucket.regeneration_rate_per_minute,
59
+ initialTokens: config.token_bucket.initial_tokens,
60
+ });
61
+ }
62
+ if (config.keep_thinking) {
63
+ initDiskSignatureCache(config.signature_cache);
64
+ }
65
+ const sessionRegistry = new AgySessionRegistry(directory);
66
+ let cachedGetAuth = null;
67
+ const lifecycle = createPluginLifecycle({
68
+ sessionRegistry,
69
+ shutdownDiskSignatureCache,
70
+ clearFetchState: () => {
71
+ cachedGetAuth = null;
72
+ },
73
+ // Drain pending sidebar writes BEFORE tearing down the RPC server
74
+ // and file logger — a fetch-interceptor routing upsert enqueued at
75
+ // shutdown must land before the host closes the terminal.
76
+ drainSidebarWrites,
77
+ });
78
+ const quotaManager = createOpenCodeQuotaManager(client, providerId, {
79
+ // Bind to the live AccountManager so every refresh (manual or
80
+ // background) pushes the freshly-updated quota percentages into the
81
+ // sidebar without an extra RPC. The wrapper reads lazily so the
82
+ // AccountManager reference stays stable across reloads.
83
+ getAccountsForSidebar: () => {
84
+ const manager = lifecycle.getAccountManager();
85
+ if (!manager)
86
+ return null;
87
+ return manager.getAccounts().map((entry) => ({
88
+ index: entry.index,
89
+ label: entry.label,
90
+ enabled: entry.enabled,
91
+ coolingDownUntil: entry.coolingDownUntil,
92
+ cachedQuota: entry.cachedQuota,
93
+ }));
94
+ },
95
+ });
96
+ // Producer phase: the quota manager emits fire-and-forget sidebar
97
+ // writes after every refresh. Its dispose() awaits any in-flight
98
+ // refresh, so disposing it BEFORE the sidebar drain guarantees the
99
+ // final post-refresh write is enqueued before the drain flushes —
100
+ // a consumer-phase registration could let a refresh enqueue a write
101
+ // after drainSidebarWrites() already asserted the queue was empty.
102
+ registerQuotaManagerProducer(lifecycle, quotaManager);
103
+ // Operator settings controller backs the /antigravity-* slash commands.
104
+ // The controller loads existing persisted settings at first read, mutates
105
+ // runtime config immediately, and serializes through the fenced-lock
106
+ // writer so a crash mid-write cannot corrupt the file.
107
+ const operatorSettings = createOperatorSettingsController({
108
+ projectConfigPath: join(directory, '.opencode', 'antigravity.json'),
109
+ userConfigPath: join(getUserConfigDir(), 'antigravity.json'),
110
+ });
111
+ setRuntimeLogLevel(operatorSettings.get().log_level);
112
+ lifecycle.register({ dispose: () => operatorSettings.dispose() });
113
+ const sessionRecovery = createSessionRecoveryHook({ client, directory }, config);
114
+ const updateChecker = createAutoUpdateCheckerHook(client, directory, {
115
+ showStartupToast: true,
116
+ autoUpdate: config.auto_update,
117
+ });
118
+ const event = createEventHandler({
119
+ client,
120
+ config,
121
+ directory,
122
+ lifecycle,
123
+ sessionRegistry,
124
+ sessionRecovery,
125
+ updateChecker,
126
+ logger,
127
+ });
128
+ // This service intentionally closes over lifecycle getters, so both OPEN
129
+ // notifications and RPC apply actions observe the current account manager.
130
+ const commandData = createCommandDataService({
131
+ accountManagerView: {
132
+ getAccounts: () => {
133
+ const manager = lifecycle.getAccountManager();
134
+ if (!manager)
135
+ return [];
136
+ const current = manager.getCurrentAccountForFamily('claude')?.index ?? 0;
137
+ return manager.getAccounts().map((entry, index) => ({
138
+ index,
139
+ refreshToken: entry.parts.refreshToken,
140
+ label: entry.label,
141
+ enabled: entry.enabled !== false,
142
+ active: index === current,
143
+ cachedQuota: entry.cachedQuota,
144
+ cachedQuotaUpdatedAt: entry.cachedQuotaUpdatedAt,
145
+ accountIneligible: entry.accountIneligible,
146
+ }));
147
+ },
148
+ getAccountsForQuotaCheck: () => {
149
+ const manager = lifecycle.getAccountManager();
150
+ return manager ? manager.getAccountsForQuotaCheck() : [];
151
+ },
152
+ updateQuotaCache: (index, groups) => {
153
+ lifecycle.getAccountManager()?.updateQuotaCache(index, groups);
154
+ },
155
+ requestSaveToDisk: () => {
156
+ lifecycle.getAccountManager()?.requestSaveToDisk();
157
+ },
158
+ flushSaveToDisk: async () => {
159
+ await lifecycle.getAccountManager()?.flushSaveToDisk();
160
+ },
161
+ activeIndex: () => {
162
+ const manager = lifecycle.getAccountManager();
163
+ return manager
164
+ ? (manager.getCurrentAccountForFamily('claude')?.index ?? 0)
165
+ : 0;
166
+ },
167
+ setAccountEnabled: (index, enabled) => {
168
+ const manager = lifecycle.getAccountManager();
169
+ if (!manager)
170
+ return false;
171
+ return manager.setAccountEnabled(index, enabled);
172
+ },
173
+ setAccountCurrent: (index) => {
174
+ const manager = lifecycle.getAccountManager();
175
+ if (!manager)
176
+ return false;
177
+ const account = manager.getAccounts()[index];
178
+ if (!account)
179
+ return false;
180
+ manager.markSwitched(account, 'initial', 'claude');
181
+ manager.markSwitched(account, 'initial', 'gemini');
182
+ return true;
183
+ },
184
+ removeAccountByIndex: (index) => {
185
+ const manager = lifecycle.getAccountManager();
186
+ if (!manager)
187
+ return false;
188
+ return manager.removeAccountByIndex(index);
189
+ },
190
+ getRefreshTokenAt: (index) => {
191
+ const manager = lifecycle.getAccountManager();
192
+ if (!manager)
193
+ return undefined;
194
+ return manager.getAccounts()[index]?.parts.refreshToken;
195
+ },
196
+ },
197
+ quotaManager,
198
+ sidebarStateFile: getSidebarStateFile(),
199
+ storage: {
200
+ mutate: (mutator) => mutateAccountStorage(getStoragePath(), mutator),
201
+ },
202
+ });
203
+ const commandExecuteBefore = createCommandExecuteBefore(client, operatorSettings, pushNotification, commandData);
204
+ const googleSearchTool = createGoogleSearchTool({
205
+ getAuth: async () => (cachedGetAuth ? cachedGetAuth() : null),
206
+ client,
207
+ providerId,
208
+ });
209
+ const accountAccess = createAccountAccessService({
210
+ client,
211
+ providerId,
212
+ store: {
213
+ load: loadAccounts,
214
+ mutate: (mutate) => mutateAccountStorage(getStoragePath(), mutate),
215
+ clear: clearAccounts,
216
+ persistAccountPool,
217
+ },
218
+ openBrowser: openBrowserWithSystem,
219
+ prompt: {
220
+ selectAccount: promptAccountIndexForVerification,
221
+ confirmOpenVerificationUrl: promptOpenVerificationUrl,
222
+ },
223
+ });
224
+ const oauthMethods = createOAuthMethods({
225
+ client,
226
+ providerId,
227
+ config,
228
+ lifecycle,
229
+ accountAccess,
230
+ quotaManager,
231
+ getAuth: async () => (cachedGetAuth ? cachedGetAuth() : undefined),
232
+ });
233
+ const authLoader = createAuthLoader({
234
+ client,
235
+ providerId,
236
+ config,
237
+ lifecycle,
238
+ onGetAuth: (getAuth) => {
239
+ cachedGetAuth = getAuth;
240
+ },
241
+ createFetch: ({ accountManager, getAuth }) => createFetchInterceptor({
242
+ client,
243
+ directory,
244
+ providerId,
245
+ config,
246
+ accountManager,
247
+ quotaManager,
248
+ getAuth,
249
+ agySessionRegistry: sessionRegistry,
250
+ operatorSettings,
251
+ agyTransport: dependencies.agyTransport,
252
+ fetchImpl: dependencies.fetchImpl,
253
+ }),
254
+ });
255
+ const rpcServer = await startRpcServer({
256
+ dir: getRpcDir(directory),
257
+ apply: async (request) => {
258
+ // Sidebar refresher is bound to the live account manager so every
259
+ // /antigravity-* mutation bumps `checkedAt` for the next TUI poll.
260
+ // The refresher is best-effort and never breaks the apply response.
261
+ const refreshSidebar = createSidebarRefresher(() => {
262
+ const manager = lifecycle.getAccountManager();
263
+ if (!manager)
264
+ return null;
265
+ return manager.getAccounts().map((entry) => ({
266
+ index: entry.index,
267
+ label: entry.label,
268
+ enabled: entry.enabled,
269
+ coolingDownUntil: entry.coolingDownUntil,
270
+ cachedQuota: entry.cachedQuota,
271
+ }));
272
+ });
273
+ const result = await applyCommand(request, {
274
+ client,
275
+ sessionID: request.sessionId ?? '',
276
+ settings: operatorSettings,
277
+ onApplied: refreshSidebar,
278
+ commandData,
279
+ });
280
+ // /antigravity-logging mutates the log level — propagate
281
+ // immediately so subsequent log calls in this session respect it.
282
+ setRuntimeLogLevel(operatorSettings.get().log_level);
283
+ return result;
284
+ },
285
+ drain: drainNotifications,
286
+ });
287
+ lifecycle.register({ dispose: () => rpcServer.stop() });
288
+ return {
289
+ dispose: async () => {
290
+ await lifecycle.dispose();
291
+ },
292
+ config: async (opencodeConfig) => {
293
+ applyAntigravityProviderCatalog(opencodeConfig, providerId);
294
+ registerAntigravityCommands(opencodeConfig);
295
+ },
296
+ 'command.execute.before': commandExecuteBefore,
297
+ event,
298
+ tool: { google_search: googleSearchTool },
299
+ auth: {
300
+ provider: providerId,
301
+ loader: authLoader,
302
+ methods: oauthMethods,
303
+ },
304
+ };
305
+ };
306
+ export const AntigravityCLIOAuthPlugin = createAntigravityPlugin(ANTIGRAVITY_PROVIDER_ID);
307
+ export const GoogleOAuthPlugin = AntigravityCLIOAuthPlugin;
308
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugin/index.ts"],"names":[],"mappings":"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"}