@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
@@ -0,0 +1,497 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/solid/jsx-runtime";
2
+ /**
3
+ * Mount the dialog for `payload.command` on the live TUI.
4
+ *
5
+ * The dispatcher branches on `payload.command` — each branch is
6
+ * self-contained: render the data body, render the host DialogSelect
7
+ * below it with the real actions, wire `onSelect` to await `apply(...)`,
8
+ * then toast the result and clear (or replace for multi-step flows).
9
+ * Unknown commands throw so a future command registered in
10
+ * `MODAL_COMMANDS` without a dispatcher branch fails loudly at the first
11
+ * dialog open.
12
+ */
13
+ export function openCommandDialog(api, payload, apply) {
14
+ if (payload.command === 'antigravity-dump') {
15
+ renderDumpDialog(api, payload, apply);
16
+ return;
17
+ }
18
+ if (payload.command === 'antigravity-logging') {
19
+ renderLoggingDialog(api, payload, apply);
20
+ return;
21
+ }
22
+ if (payload.command === 'antigravity-quota') {
23
+ throw new Error('antigravity-quota is rendered by the TUI quota panel');
24
+ }
25
+ if (payload.command === 'antigravity-account') {
26
+ renderAccountDialog(api, payload, apply);
27
+ return;
28
+ }
29
+ if (payload.command === 'antigravity-routing') {
30
+ renderRoutingDialog(api, payload, apply);
31
+ return;
32
+ }
33
+ if (payload.command === 'antigravity-killswitch') {
34
+ renderKillswitchDialog(api, payload, apply);
35
+ return;
36
+ }
37
+ const exhaustiveCheck = payload.command;
38
+ throw new Error(`Unknown command ${exhaustiveCheck}`);
39
+ }
40
+ // ---------------------------------------------------------------------------
41
+ // Fully wired branches — non-data-first dialogs.
42
+ // ---------------------------------------------------------------------------
43
+ /**
44
+ * /antigravity-dump: three actions (on / off / status). Each selection
45
+ * applies through the RPC, toasts the result text, and clears the
46
+ * dialog. Status is a read-only check that still goes through apply so
47
+ * the dump helper runs once and reports the current state.
48
+ */
49
+ function renderDumpDialog(api, _payload, apply) {
50
+ const DialogSelect = (api.ui.DialogSelect);
51
+ api.ui.dialog.setSize('xlarge');
52
+ api.ui.dialog.replace(() => (_jsx(DialogSelect, { title: 'Antigravity wire dump', options: [
53
+ {
54
+ title: 'Turn dump on',
55
+ value: 'on',
56
+ description: 'Write request and response bodies to the dump dir.',
57
+ },
58
+ {
59
+ title: 'Turn dump off',
60
+ value: 'off',
61
+ description: 'Stop writing new dump files.',
62
+ },
63
+ {
64
+ title: 'Show dump status',
65
+ value: 'status',
66
+ description: 'Display whether dumps are enabled and where they go.',
67
+ },
68
+ ], onSelect: (option) => {
69
+ void apply('antigravity-dump', String(option.value)).then((result) => {
70
+ api.ui.toast({ message: result.text });
71
+ api.ui.dialog.clear();
72
+ });
73
+ } })));
74
+ }
75
+ /**
76
+ * /antigravity-logging: every log level as an option. The dispatcher
77
+ * forwards the level as the apply arg; the apply path persists it
78
+ * through `OperatorSettingsController` and toasts the resolution text.
79
+ */
80
+ function renderLoggingDialog(api, payload, apply) {
81
+ const DialogSelect = (api.ui.DialogSelect);
82
+ const current = payload.knobs.log_level ?? 'info';
83
+ api.ui.dialog.setSize('xlarge');
84
+ api.ui.dialog.replace(() => (_jsx(DialogSelect, { title: 'Antigravity logging', current: current, options: [
85
+ { title: 'Error', value: 'error', description: 'Errors only.' },
86
+ { title: 'Warn', value: 'warn', description: 'Warnings and errors.' },
87
+ {
88
+ title: 'Info',
89
+ value: 'info',
90
+ description: 'Default. Includes informational events.',
91
+ },
92
+ {
93
+ title: 'Debug',
94
+ value: 'debug',
95
+ description: 'Includes debug-level events.',
96
+ },
97
+ {
98
+ title: 'Trace',
99
+ value: 'trace',
100
+ description: 'Most verbose — every diagnostic event.',
101
+ },
102
+ ], onSelect: (option) => {
103
+ void apply('antigravity-logging', String(option.value)).then((result) => {
104
+ api.ui.toast({ message: result.text });
105
+ api.ui.dialog.clear();
106
+ });
107
+ } })));
108
+ }
109
+ // ---------------------------------------------------------------------------
110
+ // Shared helpers — render data rows as plain text in the dialog body.
111
+ // ---------------------------------------------------------------------------
112
+ function formatQuotaRowLine(row) {
113
+ const status = row.enabled ? '' : ' (disabled)';
114
+ const current = row.current ? ' *' : '';
115
+ if (row.quota.length === 0) {
116
+ return `${row.label}${status}${current}: no cached quota`;
117
+ }
118
+ const parts = row.quota.map((q) => {
119
+ const pct = q.remainingPercent == null ? '–%' : `${q.remainingPercent}%`;
120
+ return `${q.label} ${pct}`;
121
+ });
122
+ return `${row.label}${status}${current}: ${parts.join(', ')}`;
123
+ }
124
+ /**
125
+ * /antigravity-account data-first dialog.
126
+ *
127
+ * The body lists each account row as a plain `<text>` node (cache-only
128
+ * — no network I/O on open). The DialogSelect carries ONLY real
129
+ * actions: Add account… and one drill-in entry per row. Drill-in
130
+ * navigates to a row-level subdialog that exposes toggle / set-current
131
+ * / remove with a DialogConfirm gate for the destructive path.
132
+ *
133
+ * Each action calls `apply('antigravity-account', '<verb> <index>')`,
134
+ * which the apply path translates into a locked-storage mutation.
135
+ * The service returns fresh `CommandAccountRow[]`; the dialog mutates
136
+ * its closed-over payload and re-renders via `renderMain()` so the
137
+ * user never sees a clear-then-redraw gap.
138
+ */
139
+ function renderAccountDialog(api, initialPayload, apply) {
140
+ // Closed-over payload: every render reads from the latest snapshot.
141
+ const payload = { ...initialPayload };
142
+ const rowsFromKnobs = () => {
143
+ const raw = payload.knobs.accounts;
144
+ return Array.isArray(raw) ? raw : [];
145
+ };
146
+ const runApply = async (args, options) => {
147
+ const result = await apply('antigravity-account', args, options);
148
+ api.ui.toast({ message: result.text });
149
+ const next = result.knobs.accounts;
150
+ if (Array.isArray(next)) {
151
+ payload.knobs = {
152
+ ...payload.knobs,
153
+ accounts: next,
154
+ };
155
+ renderMain();
156
+ return next;
157
+ }
158
+ renderMain();
159
+ return null;
160
+ };
161
+ const renderManageRow = (row) => {
162
+ const DialogSelect = (api.ui.DialogSelect);
163
+ api.ui.dialog.setSize('xlarge');
164
+ api.ui.dialog.replace(() => (_jsxs("box", { flexDirection: 'column', padding: 1, width: '100%', children: [_jsx("text", { children: row.label }), _jsx("text", { children: row.quota.length === 0
165
+ ? 'no cached quota'
166
+ : row.quota
167
+ .map((q) => q.remainingPercent == null
168
+ ? `${q.label} –%`
169
+ : `${q.label} ${q.remainingPercent}%`)
170
+ .join(', ') }), _jsx("box", { marginTop: 1, children: _jsx(DialogSelect, { title: `Manage ${row.label}`, options: [
171
+ {
172
+ title: row.enabled ? 'Disable account' : 'Enable account',
173
+ value: `toggle ${row.index}`,
174
+ description: row.enabled
175
+ ? 'Skip this account in rotation when its quota is low.'
176
+ : 'Include this account in rotation again.',
177
+ },
178
+ {
179
+ title: 'Set as current',
180
+ value: `current ${row.index}`,
181
+ description: 'Pin this account as the active Claude + Gemini choice.',
182
+ },
183
+ {
184
+ title: 'Remove account…',
185
+ value: `__remove_prompt__ ${row.index}`,
186
+ description: 'Permanently delete this account from the local pool.',
187
+ },
188
+ {
189
+ title: 'Back',
190
+ value: '__back__',
191
+ description: 'Return to the account list.',
192
+ },
193
+ ], onSelect: (option) => {
194
+ const raw = String(option.value);
195
+ if (raw === '__back__') {
196
+ renderMain();
197
+ return;
198
+ }
199
+ if (raw.startsWith('__remove_prompt__ ')) {
200
+ const targetIndex = Number.parseInt(raw.split(' ')[1] ?? '', 10);
201
+ promptRemove(targetIndex);
202
+ return;
203
+ }
204
+ if (raw.startsWith('toggle ') || raw.startsWith('current ')) {
205
+ void runApply(raw, { timeoutMs: 2_000 }).catch(() => {
206
+ api.ui.toast({
207
+ message: `${row.label}: action failed`,
208
+ });
209
+ });
210
+ return;
211
+ }
212
+ api.ui.toast({
213
+ message: `${row.label}: unknown action`,
214
+ });
215
+ } }) })] })));
216
+ };
217
+ const promptRemove = (index) => {
218
+ const DialogConfirm = api.ui.DialogConfirm;
219
+ const row = rowsFromKnobs()[index];
220
+ api.ui.dialog.setSize('xlarge');
221
+ api.ui.dialog.replace(() => (_jsx(DialogConfirm, { title: 'Remove account', message: `Permanently remove ${row?.label ?? `account ${index + 1}`} from the local pool? This cannot be undone.`, onConfirm: async () => {
222
+ try {
223
+ const next = await runApply(`remove ${index}`, {
224
+ timeoutMs: 2_000,
225
+ });
226
+ if (next === null) {
227
+ renderMain();
228
+ }
229
+ }
230
+ catch {
231
+ api.ui.toast({ message: 'Account remove failed' });
232
+ renderMain();
233
+ }
234
+ }, onCancel: () => {
235
+ renderMain();
236
+ } })));
237
+ };
238
+ const renderMain = () => {
239
+ const DialogSelect = (api.ui.DialogSelect);
240
+ api.ui.dialog.setSize('xlarge');
241
+ const rows = rowsFromKnobs();
242
+ const bodyLines = rows.length
243
+ ? rows.map(formatQuotaRowLine)
244
+ : ['No accounts configured. Add one via the menu below.'];
245
+ api.ui.dialog.replace(() => (_jsxs("box", { flexDirection: 'column', padding: 1, width: '100%', children: [bodyLines.map((line) => (_jsx("text", { children: line }))), _jsx("box", { marginTop: 1, children: _jsx(DialogSelect, { title: 'Antigravity accounts', options: [
246
+ {
247
+ title: 'Add account…',
248
+ value: 'add',
249
+ description: 'Open the OAuth flow to add a new account (120s timeout).',
250
+ },
251
+ ...rows.map((row) => ({
252
+ title: row.label,
253
+ value: `__manage__ ${row.index}`,
254
+ description: row.enabled
255
+ ? row.current
256
+ ? 'Current account — toggle, remove, or back.'
257
+ : 'Enabled — toggle, set as current, or remove.'
258
+ : 'Disabled — toggle to re-enable, or remove.',
259
+ })),
260
+ { title: 'Back', value: 'back' },
261
+ ], onSelect: (option) => {
262
+ const raw = String(option.value);
263
+ if (raw === 'back') {
264
+ api.ui.dialog.clear();
265
+ return;
266
+ }
267
+ if (raw === 'add') {
268
+ void runApply('add', { timeoutMs: 120_000 }).catch(() => {
269
+ api.ui.toast({ message: 'Account add failed' });
270
+ });
271
+ return;
272
+ }
273
+ if (raw.startsWith('__manage__ ')) {
274
+ const targetIndex = Number.parseInt(raw.split(' ')[1] ?? '', 10);
275
+ const target = rows[targetIndex];
276
+ if (target)
277
+ renderManageRow(target);
278
+ return;
279
+ }
280
+ api.ui.toast({ message: 'Unknown action' });
281
+ } }) })] })));
282
+ };
283
+ renderMain();
284
+ }
285
+ /**
286
+ * /antigravity-routing data-first dialog.
287
+ *
288
+ * The body lists the current persisted values (`cli_first`,
289
+ * `quota_style_fallback`) as plain `<text>` nodes so the data is
290
+ * visible without filtering the action list. The DialogSelect carries
291
+ * ONLY real toggle actions — each row flips exactly one flag, awaits
292
+ * apply, toasts the result, and re-renders in place from the
293
+ * freshly-returned state.
294
+ *
295
+ * Re-render contract mirrors the quota/account dialogs: the
296
+ * closed-over `payload.knobs` is mutated with the apply response and
297
+ * `renderMain()` is re-invoked. The dialog stack never sees a
298
+ * `clear()` between apply and re-render.
299
+ *
300
+ * Error path: when apply returns a `knobs.error === true` payload
301
+ * (lock contention, unreadable config), the dispatcher does NOT swap
302
+ * the closed-over payload — the dialog stays mounted on the previous
303
+ * state so the user can retry or back out. The error message was
304
+ * already toasted by `runApply`.
305
+ */
306
+ function renderRoutingDialog(api, initialPayload, apply) {
307
+ // Closed-over payload: every render reads from the latest snapshot.
308
+ const payload = { ...initialPayload };
309
+ const readRouting = () => ({
310
+ cliFirst: payload.knobs.cli_first === true,
311
+ quotaFallback: payload.knobs.quota_style_fallback === true,
312
+ });
313
+ const runApply = async (args) => {
314
+ const result = await apply('antigravity-routing', args, {
315
+ timeoutMs: 2_000,
316
+ });
317
+ api.ui.toast({ message: result.text });
318
+ if (result.knobs.error === true) {
319
+ return;
320
+ }
321
+ payload.knobs = {
322
+ ...payload.knobs,
323
+ cli_first: result.knobs.cli_first,
324
+ quota_style_fallback: result.knobs.quota_style_fallback,
325
+ };
326
+ renderMain();
327
+ };
328
+ const renderMain = () => {
329
+ const DialogSelect = (api.ui.DialogSelect);
330
+ api.ui.dialog.setSize('xlarge');
331
+ const { cliFirst, quotaFallback } = readRouting();
332
+ const bodyLines = [
333
+ `cli_first: ${cliFirst ? 'on' : 'off'}`,
334
+ `quota_style_fallback: ${quotaFallback ? 'on' : 'off'}`,
335
+ ];
336
+ api.ui.dialog.replace(() => (_jsxs("box", { flexDirection: 'column', padding: 1, width: '100%', children: [bodyLines.map((line) => (_jsx("text", { children: line }))), _jsx("box", { marginTop: 1, children: _jsx(DialogSelect, { title: 'Antigravity routing', options: [
337
+ {
338
+ title: `${cliFirst ? '●' : '○'} cli_first: ${cliFirst}`,
339
+ value: `cli_first=${!cliFirst}`,
340
+ description: cliFirst
341
+ ? 'CLI is preferred before Antigravity. Click to turn off.'
342
+ : 'Antigravity runs before CLI. Click to turn on.',
343
+ },
344
+ {
345
+ title: `${quotaFallback ? '●' : '○'} quota_style_fallback: ${quotaFallback}`,
346
+ value: `quota_style_fallback=${!quotaFallback}`,
347
+ description: quotaFallback
348
+ ? 'Falls back to the alternate quota style on exhaustion. Click to turn off.'
349
+ : 'No quota-style fallback today. Click to turn on.',
350
+ },
351
+ { title: 'Back', value: 'back' },
352
+ ], onSelect: (option) => {
353
+ const raw = String(option.value);
354
+ if (raw === 'back') {
355
+ api.ui.dialog.clear();
356
+ return;
357
+ }
358
+ if (!raw.startsWith('cli_first=') &&
359
+ !raw.startsWith('quota_style_fallback=')) {
360
+ api.ui.toast({ message: 'Unknown routing action' });
361
+ return;
362
+ }
363
+ void runApply(raw).catch(() => {
364
+ api.ui.toast({ message: 'Routing update failed' });
365
+ renderMain();
366
+ });
367
+ } }) })] })));
368
+ };
369
+ renderMain();
370
+ }
371
+ /**
372
+ * /antigravity-killswitch data-first dialog.
373
+ *
374
+ * The body lists the current persisted killswitch state (`enabled`,
375
+ * `minimum_remaining_percent`, and the per-account override map) as
376
+ * plain `<text>` nodes. The DialogSelect carries ONLY real actions:
377
+ * the global enabled toggle, the threshold-edit prompt, and a Back
378
+ * affordance. The threshold edit opens a DialogPrompt for a fresh
379
+ * integer in `0..100`; out-of-range input stays at the prompt without
380
+ * applying.
381
+ *
382
+ * Re-render contract matches the routing dialog: the closed-over
383
+ * `payload.knobs` is swapped to the apply response on success and
384
+ * `renderMain()` re-runs. Errors leave the payload untouched.
385
+ */
386
+ function renderKillswitchDialog(api, initialPayload, apply) {
387
+ const payload = { ...initialPayload };
388
+ const readKillswitch = () => {
389
+ const enabled = payload.knobs.enabled === true;
390
+ const rawMin = payload.knobs.minimum_remaining_percent;
391
+ const minimum = typeof rawMin === 'number' && Number.isFinite(rawMin)
392
+ ? Math.max(0, Math.min(100, Math.round(rawMin)))
393
+ : 0;
394
+ const rawAccounts = payload.knobs.accounts;
395
+ const accounts = rawAccounts &&
396
+ typeof rawAccounts === 'object' &&
397
+ !Array.isArray(rawAccounts)
398
+ ? rawAccounts
399
+ : {};
400
+ return { enabled, minimum, accounts };
401
+ };
402
+ const runApply = async (args) => {
403
+ const result = await apply('antigravity-killswitch', args, {
404
+ timeoutMs: 2_000,
405
+ });
406
+ api.ui.toast({ message: result.text });
407
+ if (result.knobs.error === true) {
408
+ return;
409
+ }
410
+ payload.knobs = {
411
+ ...payload.knobs,
412
+ enabled: result.knobs.enabled,
413
+ minimum_remaining_percent: result.knobs.minimum_remaining_percent,
414
+ accounts: result.knobs.accounts ?? {},
415
+ };
416
+ renderMain();
417
+ };
418
+ const openThresholdPrompt = (currentMinimum) => {
419
+ const DialogPrompt = api.ui.DialogPrompt;
420
+ api.ui.dialog.setSize('xlarge');
421
+ api.ui.dialog.replace(() => (_jsx(DialogPrompt, { title: 'Antigravity killswitch \u2014 set threshold', description: () => (_jsx("text", { children: "Enter a new minimum_remaining_percent (0-100). Empty input cancels." })), placeholder: `${currentMinimum}`, value: `${currentMinimum}`, onConfirm: (value) => {
422
+ const trimmed = value.trim();
423
+ if (!trimmed) {
424
+ renderMain();
425
+ return;
426
+ }
427
+ const parsed = Number.parseInt(trimmed, 10);
428
+ if (!Number.isInteger(parsed) ||
429
+ parsed < 0 ||
430
+ parsed > 100 ||
431
+ String(parsed) !== trimmed) {
432
+ api.ui.toast({
433
+ message: 'Threshold must be an integer between 0 and 100',
434
+ });
435
+ openThresholdPrompt(currentMinimum);
436
+ return;
437
+ }
438
+ void runApply(`minimum_remaining_percent=${parsed}`).catch(() => {
439
+ api.ui.toast({ message: 'Killswitch update failed' });
440
+ renderMain();
441
+ });
442
+ }, onCancel: () => {
443
+ renderMain();
444
+ } })));
445
+ };
446
+ const renderMain = () => {
447
+ const DialogSelect = (api.ui.DialogSelect);
448
+ api.ui.dialog.setSize('xlarge');
449
+ const { enabled, minimum, accounts } = readKillswitch();
450
+ const accountKeys = Object.keys(accounts);
451
+ const bodyLines = [
452
+ `Killswitch: ${enabled ? 'enabled' : 'disabled'}`,
453
+ `Minimum remaining percent: ${minimum}%`,
454
+ ...(accountKeys.length > 0
455
+ ? [
456
+ 'Per-account overrides:',
457
+ ...accountKeys.map((key) => ` ${key}: ${accounts[key] ?? 0}%`),
458
+ ]
459
+ : []),
460
+ ];
461
+ api.ui.dialog.replace(() => (_jsxs("box", { flexDirection: 'column', padding: 1, width: '100%', children: [bodyLines.map((line) => (_jsx("text", { children: line }))), _jsx("box", { marginTop: 1, children: _jsx(DialogSelect, { title: 'Antigravity killswitch', options: [
462
+ {
463
+ title: `${enabled ? '●' : '○'} Killswitch: ${enabled ? 'enabled' : 'disabled'}`,
464
+ value: `enabled=${!enabled}`,
465
+ description: enabled
466
+ ? 'Drop candidates below the floor before dispatch. Click to turn off.'
467
+ : 'Resume candidate selection regardless of quota. Click to turn on.',
468
+ },
469
+ {
470
+ title: `Set minimum remaining percent (${minimum}%)`,
471
+ value: '__edit_threshold__',
472
+ description: 'Prompt for a new global floor (0-100). Per-account overrides are listed above.',
473
+ },
474
+ { title: 'Back', value: 'back' },
475
+ ], onSelect: (option) => {
476
+ const raw = String(option.value);
477
+ if (raw === 'back') {
478
+ api.ui.dialog.clear();
479
+ return;
480
+ }
481
+ if (raw === '__edit_threshold__') {
482
+ openThresholdPrompt(minimum);
483
+ return;
484
+ }
485
+ if (raw === 'enabled=true' || raw === 'enabled=false') {
486
+ void runApply(raw).catch(() => {
487
+ api.ui.toast({ message: 'Killswitch update failed' });
488
+ renderMain();
489
+ });
490
+ return;
491
+ }
492
+ api.ui.toast({ message: 'Unknown killswitch action' });
493
+ } }) })] })));
494
+ };
495
+ renderMain();
496
+ }
497
+ //# sourceMappingURL=command-dialogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-dialogs.js","sourceRoot":"","sources":["../../../src/tui/command-dialogs.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * File-backed logger for the OpenTUI sidebar tree.
3
+ *
4
+ * The TUI renders directly into the host terminal. Any stray write to the
5
+ * terminal from inside the render path (or any module it imports) corrupts
6
+ * the frame buffer — a single byte out of place shoves every subsequent
7
+ * cell right and breaks the sidebar.
8
+ *
9
+ * This logger writes to a rotating file under the host's log directory and
10
+ * never touches stdout/stderr. The plugin already wires up the same kind of
11
+ * file logger via `debug.ts`; the sidebar gets its own file so log lines
12
+ * from this tree are easy to attribute.
13
+ */
14
+ export type TuiLogLevel = 'debug' | 'info' | 'warn' | 'error';
15
+ export interface TuiLogger {
16
+ debug(message: string, extra?: Record<string, unknown>): void;
17
+ info(message: string, extra?: Record<string, unknown>): void;
18
+ warn(message: string, extra?: Record<string, unknown>): void;
19
+ error(message: string, extra?: Record<string, unknown>): void;
20
+ /** Resolve the path the logger writes to. `undefined` when file logging is disabled. */
21
+ getLogPath(): string | undefined;
22
+ }
23
+ interface FileLoggerOptions {
24
+ filePath: string;
25
+ maxBytes?: number;
26
+ }
27
+ /**
28
+ * Resolve the on-disk path for the TUI's log file.
29
+ *
30
+ * - `ANTIGRAVITY_AUTH_TUI_LOG_FILE` wins when set (used by tests so they
31
+ * never touch a real user log file).
32
+ * - Otherwise write under `<xdg-state>/cortexkit/antigravity-auth/tui.log`.
33
+ *
34
+ * Falls back to a temp file when the host path cannot be resolved (e.g. no
35
+ * home directory on a hostile CI box); the file logger itself never throws,
36
+ * it just drops the line.
37
+ */
38
+ export declare function resolveTuiLogPath(): string;
39
+ export declare function createTuiFileLogger(options?: Partial<FileLoggerOptions>): TuiLogger;
40
+ export {};
41
+ //# sourceMappingURL=file-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-logger.d.ts","sourceRoot":"","sources":["../../../src/tui/file-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAcH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAE7D,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC7D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC7D,wFAAwF;IACxF,UAAU,IAAI,MAAM,GAAG,SAAS,CAAA;CACjC;AAYD,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAK1C;AAED,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACnC,SAAS,CAIX"}