@cortexkit/opencode-antigravity-auth 2.2.0 → 3.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 (957) hide show
  1. package/README.md +95 -89
  2. package/dist/cli.js +18469 -810
  3. package/dist/cli.js.map +4 -4
  4. package/dist/cli.meta.json +4079 -0
  5. package/dist/index.js +40923 -16450
  6. package/dist/index.js.map +4 -4
  7. package/dist/index.meta.json +6949 -0
  8. package/dist/server.js +50948 -0
  9. package/dist/server.js.map +7 -0
  10. package/dist/server.meta.json +7284 -0
  11. package/dist/src/cli.d.ts +46 -1
  12. package/dist/src/cli.d.ts.map +1 -1
  13. package/dist/src/cli.js +207 -2
  14. package/dist/src/cli.js.map +1 -1
  15. package/dist/src/common-auth-embedded/NOTICE.txt +21 -0
  16. package/dist/src/common-auth-embedded/auth-menu/accounts.d.ts +97 -0
  17. package/dist/src/common-auth-embedded/auth-menu/accounts.js +387 -0
  18. package/dist/src/common-auth-embedded/auth-menu/ansi.d.ts +26 -0
  19. package/dist/src/common-auth-embedded/auth-menu/ansi.js +98 -0
  20. package/dist/src/common-auth-embedded/auth-menu/confirm.d.ts +7 -0
  21. package/dist/src/common-auth-embedded/auth-menu/confirm.js +21 -0
  22. package/dist/src/common-auth-embedded/auth-menu/doctor.d.ts +52 -0
  23. package/dist/src/common-auth-embedded/auth-menu/doctor.js +81 -0
  24. package/dist/src/common-auth-embedded/auth-menu/index.d.ts +17 -0
  25. package/dist/src/common-auth-embedded/auth-menu/index.js +12 -0
  26. package/dist/src/common-auth-embedded/auth-menu/login.d.ts +55 -0
  27. package/dist/src/common-auth-embedded/auth-menu/login.js +83 -0
  28. package/dist/src/common-auth-embedded/auth-menu/menu.d.ts +59 -0
  29. package/dist/src/common-auth-embedded/auth-menu/menu.js +73 -0
  30. package/dist/src/common-auth-embedded/auth-menu/opencode-v1.d.ts +49 -0
  31. package/dist/src/common-auth-embedded/auth-menu/opencode-v1.js +47 -0
  32. package/dist/src/common-auth-embedded/auth-menu/select.d.ts +21 -0
  33. package/dist/src/common-auth-embedded/auth-menu/select.js +159 -0
  34. package/dist/src/common-auth-embedded/auth-menu/terminal.d.ts +43 -0
  35. package/dist/src/common-auth-embedded/auth-menu/terminal.js +19 -0
  36. package/dist/src/common-auth-embedded/claustrum/consumer.d.ts +102 -0
  37. package/dist/src/common-auth-embedded/claustrum/consumer.js +298 -0
  38. package/dist/src/common-auth-embedded/claustrum/custody.d.ts +175 -0
  39. package/dist/src/common-auth-embedded/claustrum/custody.js +354 -0
  40. package/dist/src/common-auth-embedded/claustrum/enrollment.d.ts +158 -0
  41. package/dist/src/common-auth-embedded/claustrum/enrollment.js +759 -0
  42. package/dist/src/common-auth-embedded/claustrum/errors.d.ts +16 -0
  43. package/dist/src/common-auth-embedded/claustrum/errors.js +8 -0
  44. package/dist/src/common-auth-embedded/claustrum/host-slot.d.ts +39 -0
  45. package/dist/src/common-auth-embedded/claustrum/host-slot.js +72 -0
  46. package/dist/src/common-auth-embedded/claustrum/index.d.ts +18 -0
  47. package/dist/src/common-auth-embedded/claustrum/index.js +22 -0
  48. package/dist/src/common-auth-embedded/claustrum/interlock.d.ts +27 -0
  49. package/dist/src/common-auth-embedded/claustrum/interlock.js +29 -0
  50. package/dist/src/common-auth-embedded/claustrum/roster.d.ts +208 -0
  51. package/dist/src/common-auth-embedded/claustrum/roster.js +536 -0
  52. package/dist/src/common-auth-embedded/commands/builtins.d.ts +71 -0
  53. package/dist/src/common-auth-embedded/commands/builtins.js +534 -0
  54. package/dist/src/common-auth-embedded/commands/index.d.ts +10 -0
  55. package/dist/src/common-auth-embedded/commands/index.js +5 -0
  56. package/dist/src/common-auth-embedded/commands/menu.d.ts +61 -0
  57. package/dist/src/common-auth-embedded/commands/menu.js +300 -0
  58. package/dist/src/common-auth-embedded/commands/model.d.ts +238 -0
  59. package/dist/src/common-auth-embedded/commands/model.js +16 -0
  60. package/dist/src/common-auth-embedded/commands/pi.d.ts +23 -0
  61. package/dist/src/common-auth-embedded/commands/pi.js +206 -0
  62. package/dist/src/common-auth-embedded/commands/seam.d.ts +72 -0
  63. package/dist/src/common-auth-embedded/commands/seam.js +301 -0
  64. package/dist/src/common-auth-embedded/fs/atomic-write.d.ts +20 -0
  65. package/dist/src/common-auth-embedded/fs/atomic-write.js +80 -0
  66. package/dist/src/common-auth-embedded/fs/index.d.ts +7 -0
  67. package/dist/src/common-auth-embedded/fs/index.js +6 -0
  68. package/dist/src/common-auth-embedded/fs/lock-constants.d.ts +14 -0
  69. package/dist/src/common-auth-embedded/fs/lock-constants.js +14 -0
  70. package/dist/src/common-auth-embedded/fs/refresh-file-lock.d.ts +33 -0
  71. package/dist/src/common-auth-embedded/fs/refresh-file-lock.js +501 -0
  72. package/dist/src/common-auth-embedded/fs/with-lock.d.ts +33 -0
  73. package/dist/src/common-auth-embedded/fs/with-lock.js +48 -0
  74. package/dist/src/common-auth-embedded/logger/capture-sink.d.ts +14 -0
  75. package/dist/src/common-auth-embedded/logger/capture-sink.js +13 -0
  76. package/dist/src/common-auth-embedded/logger/engine.d.ts +100 -0
  77. package/dist/src/common-auth-embedded/logger/engine.js +246 -0
  78. package/dist/src/common-auth-embedded/logger/index.d.ts +6 -0
  79. package/dist/src/common-auth-embedded/logger/index.js +3 -0
  80. package/dist/src/common-auth-embedded/logger/redact.d.ts +11 -0
  81. package/dist/src/common-auth-embedded/logger/redact.js +83 -0
  82. package/dist/src/common-auth-embedded/opencode2/errors.d.ts +25 -0
  83. package/dist/src/common-auth-embedded/opencode2/errors.js +15 -0
  84. package/dist/src/common-auth-embedded/opencode2/index.d.ts +8 -0
  85. package/dist/src/common-auth-embedded/opencode2/index.js +4 -0
  86. package/dist/src/common-auth-embedded/opencode2/install.d.ts +55 -0
  87. package/dist/src/common-auth-embedded/opencode2/install.js +886 -0
  88. package/dist/src/common-auth-embedded/opencode2/integration.d.ts +112 -0
  89. package/dist/src/common-auth-embedded/opencode2/integration.js +143 -0
  90. package/dist/src/common-auth-embedded/opencode2/sse.d.ts +12 -0
  91. package/dist/src/common-auth-embedded/opencode2/sse.js +60 -0
  92. package/dist/src/common-auth-embedded/opencode2/types.d.ts +413 -0
  93. package/dist/src/common-auth-embedded/pi-slot/index.d.ts +3 -0
  94. package/dist/src/common-auth-embedded/pi-slot/index.js +2 -0
  95. package/dist/src/common-auth-embedded/pi-slot/lock.js +212 -0
  96. package/dist/src/common-auth-embedded/pi-slot/slot.d.ts +49 -0
  97. package/dist/src/common-auth-embedded/pi-slot/slot.js +383 -0
  98. package/dist/src/common-auth-embedded/quota/codec.d.ts +11 -0
  99. package/dist/src/common-auth-embedded/quota/codec.js +12 -0
  100. package/dist/src/common-auth-embedded/quota/format.d.ts +46 -0
  101. package/dist/src/common-auth-embedded/quota/format.js +138 -0
  102. package/dist/src/common-auth-embedded/quota/index.d.ts +10 -0
  103. package/dist/src/common-auth-embedded/quota/index.js +5 -0
  104. package/dist/src/common-auth-embedded/quota/map.d.ts +63 -0
  105. package/dist/src/common-auth-embedded/quota/map.js +105 -0
  106. package/dist/src/common-auth-embedded/quota/merge.d.ts +48 -0
  107. package/dist/src/common-auth-embedded/quota/merge.js +162 -0
  108. package/dist/src/common-auth-embedded/quota/projection.d.ts +64 -0
  109. package/dist/src/common-auth-embedded/quota/projection.js +134 -0
  110. package/dist/src/common-auth-embedded/routing/admission.d.ts +93 -0
  111. package/dist/src/common-auth-embedded/routing/admission.js +142 -0
  112. package/dist/src/common-auth-embedded/routing/index.d.ts +8 -0
  113. package/dist/src/common-auth-embedded/routing/index.js +4 -0
  114. package/dist/src/common-auth-embedded/routing/ordered.d.ts +47 -0
  115. package/dist/src/common-auth-embedded/routing/ordered.js +58 -0
  116. package/dist/src/common-auth-embedded/routing/pins.d.ts +22 -0
  117. package/dist/src/common-auth-embedded/routing/pins.js +34 -0
  118. package/dist/src/common-auth-embedded/routing/sticky.d.ts +158 -0
  119. package/dist/src/common-auth-embedded/routing/sticky.js +339 -0
  120. package/dist/src/common-auth-embedded/rpc/client.d.ts +3 -0
  121. package/dist/src/common-auth-embedded/rpc/client.js +2 -0
  122. package/dist/src/common-auth-embedded/rpc/index.d.ts +10 -0
  123. package/dist/src/common-auth-embedded/rpc/index.js +5 -0
  124. package/dist/src/common-auth-embedded/rpc/notifications.d.ts +73 -0
  125. package/dist/src/common-auth-embedded/rpc/notifications.js +100 -0
  126. package/dist/src/common-auth-embedded/rpc/port-file.d.ts +33 -0
  127. package/dist/src/common-auth-embedded/rpc/port-file.js +217 -0
  128. package/dist/src/common-auth-embedded/rpc/rpc-client.d.ts +30 -0
  129. package/dist/src/common-auth-embedded/rpc/rpc-client.js +253 -0
  130. package/dist/src/common-auth-embedded/rpc/rpc-server.d.ts +58 -0
  131. package/dist/src/common-auth-embedded/rpc/rpc-server.js +311 -0
  132. package/dist/src/common-auth-embedded/rpc/server-registry.d.ts +11 -0
  133. package/dist/src/common-auth-embedded/rpc/server-registry.js +47 -0
  134. package/dist/src/common-auth-embedded/source-output.json +1326 -0
  135. package/dist/src/common-auth-embedded/store/attribution.d.ts +28 -0
  136. package/dist/src/common-auth-embedded/store/attribution.js +60 -0
  137. package/dist/src/common-auth-embedded/store/errors.d.ts +55 -0
  138. package/dist/src/common-auth-embedded/store/errors.js +38 -0
  139. package/dist/src/common-auth-embedded/store/hooks.d.ts +12 -0
  140. package/dist/src/common-auth-embedded/store/hooks.js +34 -0
  141. package/dist/src/common-auth-embedded/store/identity.d.ts +39 -0
  142. package/dist/src/common-auth-embedded/store/identity.js +79 -0
  143. package/dist/src/common-auth-embedded/store/index.d.ts +21 -0
  144. package/dist/src/common-auth-embedded/store/index.js +7 -0
  145. package/dist/src/common-auth-embedded/store/mutate.d.ts +189 -0
  146. package/dist/src/common-auth-embedded/store/mutate.js +500 -0
  147. package/dist/src/common-auth-embedded/store/pool.d.ts +196 -0
  148. package/dist/src/common-auth-embedded/store/pool.js +120 -0
  149. package/dist/src/common-auth-embedded/store/provider-state.d.ts +131 -0
  150. package/dist/src/common-auth-embedded/store/provider-state.js +226 -0
  151. package/dist/src/common-auth-embedded/store/publication.d.ts +47 -0
  152. package/dist/src/common-auth-embedded/store/publication.js +304 -0
  153. package/dist/src/common-auth-embedded/store/pull.d.ts +36 -0
  154. package/dist/src/common-auth-embedded/store/pull.js +143 -0
  155. package/dist/src/common-auth-embedded/store/refresh-lock.d.ts +63 -0
  156. package/dist/src/common-auth-embedded/store/refresh-lock.js +136 -0
  157. package/dist/src/common-auth-embedded/store/refresh.d.ts +72 -0
  158. package/dist/src/common-auth-embedded/store/refresh.js +225 -0
  159. package/dist/src/common-auth-embedded/store/reserved.js +13 -0
  160. package/dist/src/common-auth-embedded/store/rows.d.ts +313 -0
  161. package/dist/src/common-auth-embedded/store/rows.js +1258 -0
  162. package/dist/src/common-auth-embedded/store/runtime.d.ts +36 -0
  163. package/dist/src/common-auth-embedded/store/runtime.js +68 -0
  164. package/dist/src/common-auth-embedded/store/schema.d.ts +443 -0
  165. package/dist/src/common-auth-embedded/store/schema.js +754 -0
  166. package/dist/src/common-auth-embedded/store/settings.d.ts +63 -0
  167. package/dist/src/common-auth-embedded/store/settings.js +120 -0
  168. package/dist/src/common-auth-embedded/store/torn.d.ts +78 -0
  169. package/dist/src/common-auth-embedded/store/torn.js +294 -0
  170. package/dist/src/common-auth-embedded/tui/index.d.ts +8 -0
  171. package/dist/src/common-auth-embedded/tui/index.js +21 -0
  172. package/dist/src/common-auth-embedded/util/any-signal.js +42 -0
  173. package/dist/src/constants.d.ts +1 -0
  174. package/dist/src/constants.d.ts.map +1 -1
  175. package/dist/src/constants.js +4 -0
  176. package/dist/src/constants.js.map +1 -1
  177. package/dist/src/ga/proxy-guard.d.ts +120 -0
  178. package/dist/src/ga/proxy-guard.d.ts.map +1 -0
  179. package/dist/src/ga/proxy-guard.js +269 -0
  180. package/dist/src/ga/proxy-guard.js.map +1 -0
  181. package/dist/src/ga/rpc/protocol.d.ts +504 -0
  182. package/dist/src/ga/rpc/protocol.d.ts.map +1 -0
  183. package/dist/src/ga/rpc/protocol.js +1278 -0
  184. package/dist/src/ga/rpc/protocol.js.map +1 -0
  185. package/dist/src/ga/server/auth.d.ts +9 -0
  186. package/dist/src/ga/server/auth.d.ts.map +1 -0
  187. package/dist/src/ga/server/auth.js +37 -0
  188. package/dist/src/ga/server/auth.js.map +1 -0
  189. package/dist/src/ga/server/index.d.ts +576 -0
  190. package/dist/src/ga/server/index.d.ts.map +1 -0
  191. package/dist/src/ga/server/index.js +1012 -0
  192. package/dist/src/ga/server/index.js.map +1 -0
  193. package/dist/src/ga/tui/host-ga.d.ts +350 -0
  194. package/dist/src/ga/tui/host-ga.d.ts.map +1 -0
  195. package/dist/src/ga/tui/host-ga.js +1242 -0
  196. package/dist/src/ga/tui/host-ga.js.map +1 -0
  197. package/dist/src/logging/provider-key-policy.d.ts +9 -0
  198. package/dist/src/logging/provider-key-policy.d.ts.map +1 -0
  199. package/dist/src/logging/provider-key-policy.js +11 -0
  200. package/dist/src/logging/provider-key-policy.js.map +1 -0
  201. package/dist/src/plugin/account-access.d.ts +130 -15
  202. package/dist/src/plugin/account-access.d.ts.map +1 -1
  203. package/dist/src/plugin/account-access.js +331 -129
  204. package/dist/src/plugin/account-access.js.map +1 -1
  205. package/dist/src/plugin/account-blocks.d.ts +102 -0
  206. package/dist/src/plugin/account-blocks.d.ts.map +1 -0
  207. package/dist/src/plugin/account-blocks.js +196 -0
  208. package/dist/src/plugin/account-blocks.js.map +1 -0
  209. package/dist/src/plugin/accounts.d.ts +85 -1
  210. package/dist/src/plugin/accounts.d.ts.map +1 -1
  211. package/dist/src/plugin/accounts.js +127 -3
  212. package/dist/src/plugin/accounts.js.map +1 -1
  213. package/dist/src/plugin/auth-loader.d.ts +69 -5
  214. package/dist/src/plugin/auth-loader.d.ts.map +1 -1
  215. package/dist/src/plugin/auth-loader.js +355 -52
  216. package/dist/src/plugin/auth-loader.js.map +1 -1
  217. package/dist/src/plugin/background-quota-refresh.d.ts +54 -8
  218. package/dist/src/plugin/background-quota-refresh.d.ts.map +1 -1
  219. package/dist/src/plugin/background-quota-refresh.js +81 -24
  220. package/dist/src/plugin/background-quota-refresh.js.map +1 -1
  221. package/dist/src/plugin/cache/index.d.ts +1 -1
  222. package/dist/src/plugin/cache/index.d.ts.map +1 -1
  223. package/dist/src/plugin/cache/index.js +1 -1
  224. package/dist/src/plugin/cache/index.js.map +1 -1
  225. package/dist/src/plugin/cache/signature-cache.d.ts +55 -10
  226. package/dist/src/plugin/cache/signature-cache.d.ts.map +1 -1
  227. package/dist/src/plugin/cache/signature-cache.js +100 -41
  228. package/dist/src/plugin/cache/signature-cache.js.map +1 -1
  229. package/dist/src/plugin/cache.d.ts +80 -16
  230. package/dist/src/plugin/cache.d.ts.map +1 -1
  231. package/dist/src/plugin/cache.js +339 -200
  232. package/dist/src/plugin/cache.js.map +1 -1
  233. package/dist/src/plugin/catalog.d.ts +4 -18
  234. package/dist/src/plugin/catalog.d.ts.map +1 -1
  235. package/dist/src/plugin/catalog.js +11 -41
  236. package/dist/src/plugin/catalog.js.map +1 -1
  237. package/dist/src/plugin/command-apply.d.ts +58 -0
  238. package/dist/src/plugin/command-apply.d.ts.map +1 -0
  239. package/dist/src/plugin/command-apply.js +168 -0
  240. package/dist/src/plugin/command-apply.js.map +1 -0
  241. package/dist/src/plugin/command-data.d.ts +1 -0
  242. package/dist/src/plugin/command-data.d.ts.map +1 -1
  243. package/dist/src/plugin/command-data.js +2 -0
  244. package/dist/src/plugin/command-data.js.map +1 -1
  245. package/dist/src/plugin/commands.d.ts +142 -132
  246. package/dist/src/plugin/commands.d.ts.map +1 -1
  247. package/dist/src/plugin/commands.js +214 -686
  248. package/dist/src/plugin/commands.js.map +1 -1
  249. package/dist/src/plugin/config/index.d.ts +1 -1
  250. package/dist/src/plugin/config/index.d.ts.map +1 -1
  251. package/dist/src/plugin/config/index.js +1 -1
  252. package/dist/src/plugin/config/index.js.map +1 -1
  253. package/dist/src/plugin/config/loader.d.ts +37 -1
  254. package/dist/src/plugin/config/loader.d.ts.map +1 -1
  255. package/dist/src/plugin/config/loader.js +64 -9
  256. package/dist/src/plugin/config/loader.js.map +1 -1
  257. package/dist/src/plugin/config/operator-settings-schema.d.ts +2 -2
  258. package/dist/src/plugin/config/schema.d.ts +2 -2
  259. package/dist/src/plugin/config/writer.d.ts +7 -0
  260. package/dist/src/plugin/config/writer.d.ts.map +1 -1
  261. package/dist/src/plugin/config/writer.js +10 -1
  262. package/dist/src/plugin/config/writer.js.map +1 -1
  263. package/dist/src/plugin/debug.d.ts +72 -29
  264. package/dist/src/plugin/debug.d.ts.map +1 -1
  265. package/dist/src/plugin/debug.js +353 -239
  266. package/dist/src/plugin/debug.js.map +1 -1
  267. package/dist/src/plugin/fetch/retry-state.d.ts +1 -1
  268. package/dist/src/plugin/fetch/retry-state.d.ts.map +1 -1
  269. package/dist/src/plugin/fetch/retry-state.js.map +1 -1
  270. package/dist/src/plugin/fetch-interceptor.d.ts +66 -11
  271. package/dist/src/plugin/fetch-interceptor.d.ts.map +1 -1
  272. package/dist/src/plugin/fetch-interceptor.js +228 -1347
  273. package/dist/src/plugin/fetch-interceptor.js.map +1 -1
  274. package/dist/src/plugin/fetch-routing.d.ts +7 -2
  275. package/dist/src/plugin/fetch-routing.d.ts.map +1 -1
  276. package/dist/src/plugin/fetch-routing.js +7 -4
  277. package/dist/src/plugin/fetch-routing.js.map +1 -1
  278. package/dist/src/plugin/ga-location-services.d.ts +389 -0
  279. package/dist/src/plugin/ga-location-services.d.ts.map +1 -0
  280. package/dist/src/plugin/ga-location-services.js +1838 -0
  281. package/dist/src/plugin/ga-location-services.js.map +1 -0
  282. package/dist/src/plugin/gemini-dump.d.ts +37 -12
  283. package/dist/src/plugin/gemini-dump.d.ts.map +1 -1
  284. package/dist/src/plugin/gemini-dump.js +42 -21
  285. package/dist/src/plugin/gemini-dump.js.map +1 -1
  286. package/dist/src/plugin/google-search-tool.d.ts +2 -1
  287. package/dist/src/plugin/google-search-tool.d.ts.map +1 -1
  288. package/dist/src/plugin/google-search-tool.js +4 -1
  289. package/dist/src/plugin/google-search-tool.js.map +1 -1
  290. package/dist/src/plugin/index.d.ts.map +1 -1
  291. package/dist/src/plugin/index.js +505 -141
  292. package/dist/src/plugin/index.js.map +1 -1
  293. package/dist/src/plugin/killswitch.d.ts +1 -2
  294. package/dist/src/plugin/killswitch.d.ts.map +1 -1
  295. package/dist/src/plugin/lifecycle.d.ts +24 -1
  296. package/dist/src/plugin/lifecycle.d.ts.map +1 -1
  297. package/dist/src/plugin/lifecycle.js +95 -8
  298. package/dist/src/plugin/lifecycle.js.map +1 -1
  299. package/dist/src/plugin/logger.d.ts +61 -10
  300. package/dist/src/plugin/logger.d.ts.map +1 -1
  301. package/dist/src/plugin/logger.js +134 -63
  302. package/dist/src/plugin/logger.js.map +1 -1
  303. package/dist/src/plugin/neutral-types.d.ts +42 -0
  304. package/dist/src/plugin/neutral-types.d.ts.map +1 -0
  305. package/dist/src/plugin/neutral-types.js +12 -0
  306. package/dist/src/plugin/neutral-types.js.map +1 -0
  307. package/dist/src/plugin/oauth-methods.d.ts +2 -1
  308. package/dist/src/plugin/oauth-methods.d.ts.map +1 -1
  309. package/dist/src/plugin/oauth-methods.js +173 -88
  310. package/dist/src/plugin/oauth-methods.js.map +1 -1
  311. package/dist/src/plugin/operator-settings.d.ts +34 -0
  312. package/dist/src/plugin/operator-settings.d.ts.map +1 -1
  313. package/dist/src/plugin/operator-settings.js +105 -2
  314. package/dist/src/plugin/operator-settings.js.map +1 -1
  315. package/dist/src/plugin/persist-account-pool.d.ts +63 -2
  316. package/dist/src/plugin/persist-account-pool.d.ts.map +1 -1
  317. package/dist/src/plugin/persist-account-pool.js +125 -2
  318. package/dist/src/plugin/persist-account-pool.js.map +1 -1
  319. package/dist/src/plugin/quota.d.ts +335 -35
  320. package/dist/src/plugin/quota.d.ts.map +1 -1
  321. package/dist/src/plugin/quota.js +825 -95
  322. package/dist/src/plugin/quota.js.map +1 -1
  323. package/dist/src/plugin/refresh-queue.d.ts +35 -5
  324. package/dist/src/plugin/refresh-queue.d.ts.map +1 -1
  325. package/dist/src/plugin/refresh-queue.js +50 -16
  326. package/dist/src/plugin/refresh-queue.js.map +1 -1
  327. package/dist/src/plugin/request-helpers.d.ts +30 -5
  328. package/dist/src/plugin/request-helpers.d.ts.map +1 -1
  329. package/dist/src/plugin/request-helpers.js +82 -17
  330. package/dist/src/plugin/request-helpers.js.map +1 -1
  331. package/dist/src/plugin/request.d.ts +63 -15
  332. package/dist/src/plugin/request.d.ts.map +1 -1
  333. package/dist/src/plugin/request.js +190 -60
  334. package/dist/src/plugin/request.js.map +1 -1
  335. package/dist/src/plugin/session-context.d.ts.map +1 -1
  336. package/dist/src/plugin/session-context.js +5 -2
  337. package/dist/src/plugin/session-context.js.map +1 -1
  338. package/dist/src/plugin/shared/local-grant.d.ts +26 -0
  339. package/dist/src/plugin/shared/local-grant.d.ts.map +1 -0
  340. package/dist/src/plugin/shared/local-grant.js +19 -0
  341. package/dist/src/plugin/shared/local-grant.js.map +1 -0
  342. package/dist/src/plugin/shared/request-cancellation.d.ts +12 -0
  343. package/dist/src/plugin/shared/request-cancellation.d.ts.map +1 -0
  344. package/dist/src/plugin/shared/request-cancellation.js +118 -0
  345. package/dist/src/plugin/shared/request-cancellation.js.map +1 -0
  346. package/dist/src/plugin/shared/request-services.d.ts +375 -0
  347. package/dist/src/plugin/shared/request-services.d.ts.map +1 -0
  348. package/dist/src/plugin/shared/request-services.js +1743 -0
  349. package/dist/src/plugin/shared/request-services.js.map +1 -0
  350. package/dist/src/plugin/shared/runtime.d.ts +217 -0
  351. package/dist/src/plugin/shared/runtime.d.ts.map +1 -0
  352. package/dist/src/plugin/shared/runtime.js +345 -0
  353. package/dist/src/plugin/shared/runtime.js.map +1 -0
  354. package/dist/src/plugin/shared/source-sidebar.d.ts +15 -0
  355. package/dist/src/plugin/shared/source-sidebar.d.ts.map +1 -0
  356. package/dist/src/plugin/shared/source-sidebar.js +41 -0
  357. package/dist/src/plugin/shared/source-sidebar.js.map +1 -0
  358. package/dist/src/plugin/shared/vault-menu.d.ts +5 -0
  359. package/dist/src/plugin/shared/vault-menu.d.ts.map +1 -0
  360. package/dist/src/plugin/shared/vault-menu.js +49 -0
  361. package/dist/src/plugin/shared/vault-menu.js.map +1 -0
  362. package/dist/src/plugin/shared/vault-request-credentials.d.ts +168 -0
  363. package/dist/src/plugin/shared/vault-request-credentials.d.ts.map +1 -0
  364. package/dist/src/plugin/shared/vault-request-credentials.js +485 -0
  365. package/dist/src/plugin/shared/vault-request-credentials.js.map +1 -0
  366. package/dist/src/plugin/storage.d.ts +127 -1
  367. package/dist/src/plugin/storage.d.ts.map +1 -1
  368. package/dist/src/plugin/storage.js +188 -3
  369. package/dist/src/plugin/storage.js.map +1 -1
  370. package/dist/src/plugin/token.d.ts +23 -1
  371. package/dist/src/plugin/token.d.ts.map +1 -1
  372. package/dist/src/plugin/token.js +117 -58
  373. package/dist/src/plugin/token.js.map +1 -1
  374. package/dist/src/plugin/ui/quota-status.d.ts +1 -10
  375. package/dist/src/plugin/ui/quota-status.d.ts.map +1 -1
  376. package/dist/src/plugin/ui/quota-status.js +6 -42
  377. package/dist/src/plugin/ui/quota-status.js.map +1 -1
  378. package/dist/src/plugin/vault-activation.d.ts +11 -0
  379. package/dist/src/plugin/vault-activation.d.ts.map +1 -0
  380. package/dist/src/plugin/vault-activation.js +53 -0
  381. package/dist/src/plugin/vault-activation.js.map +1 -0
  382. package/dist/src/plugin/vault-custody.d.ts +131 -0
  383. package/dist/src/plugin/vault-custody.d.ts.map +1 -0
  384. package/dist/src/plugin/vault-custody.js +381 -0
  385. package/dist/src/plugin/vault-custody.js.map +1 -0
  386. package/dist/src/quota-presentation.d.ts +18 -0
  387. package/dist/src/quota-presentation.d.ts.map +1 -0
  388. package/dist/src/quota-presentation.js +58 -0
  389. package/dist/src/quota-presentation.js.map +1 -0
  390. package/dist/src/rpc/notifications.d.ts +2 -2
  391. package/dist/src/rpc/notifications.d.ts.map +1 -1
  392. package/dist/src/rpc/notifications.js +1 -1
  393. package/dist/src/rpc/notifications.js.map +1 -1
  394. package/dist/src/rpc/port-file.d.ts +2 -12
  395. package/dist/src/rpc/port-file.d.ts.map +1 -1
  396. package/dist/src/rpc/port-file.js +5 -107
  397. package/dist/src/rpc/port-file.js.map +1 -1
  398. package/dist/src/rpc/protocol.d.ts +47 -16
  399. package/dist/src/rpc/protocol.d.ts.map +1 -1
  400. package/dist/src/rpc/rpc-client.d.ts +27 -3
  401. package/dist/src/rpc/rpc-client.d.ts.map +1 -1
  402. package/dist/src/rpc/rpc-client.js +55 -45
  403. package/dist/src/rpc/rpc-client.js.map +1 -1
  404. package/dist/src/rpc/rpc-server.d.ts +13 -2
  405. package/dist/src/rpc/rpc-server.d.ts.map +1 -1
  406. package/dist/src/rpc/rpc-server.js +38 -212
  407. package/dist/src/rpc/rpc-server.js.map +1 -1
  408. package/dist/src/server.d.ts +30 -0
  409. package/dist/src/server.d.ts.map +1 -0
  410. package/dist/src/server.js +29 -0
  411. package/dist/src/server.js.map +1 -0
  412. package/dist/src/sidebar-projection.d.ts +102 -0
  413. package/dist/src/sidebar-projection.d.ts.map +1 -0
  414. package/dist/src/sidebar-projection.js +146 -0
  415. package/dist/src/sidebar-projection.js.map +1 -0
  416. package/dist/src/sidebar-state.d.ts +13 -5
  417. package/dist/src/sidebar-state.d.ts.map +1 -1
  418. package/dist/src/sidebar-state.js +49 -16
  419. package/dist/src/sidebar-state.js.map +1 -1
  420. package/dist/src/tui/command-dialogs.d.ts +58 -52
  421. package/dist/src/tui/command-dialogs.d.ts.map +1 -1
  422. package/dist/src/tui/command-dialogs.js +379 -571
  423. package/dist/src/tui/command-dialogs.js.map +1 -1
  424. package/dist/src/tui/file-logger.d.ts +2 -3
  425. package/dist/src/tui/file-logger.d.ts.map +1 -1
  426. package/dist/src/tui/file-logger.js +21 -7
  427. package/dist/src/tui/file-logger.js.map +1 -1
  428. package/dist/src/tui/host-api.d.ts +196 -0
  429. package/dist/src/tui/host-api.d.ts.map +1 -0
  430. package/dist/src/tui/host-api.js +357 -0
  431. package/dist/src/tui/host-api.js.map +1 -0
  432. package/dist/src/tui/host-v1.d.ts +60 -0
  433. package/dist/src/tui/host-v1.d.ts.map +1 -0
  434. package/dist/src/tui/host-v1.js +147 -0
  435. package/dist/src/tui/host-v1.js.map +1 -0
  436. package/dist/src/tui/vault-setup.d.ts +98 -0
  437. package/dist/src/tui/vault-setup.d.ts.map +1 -0
  438. package/dist/src/tui/vault-setup.js +198 -0
  439. package/dist/src/tui/vault-setup.js.map +1 -0
  440. package/dist/src/tui.d.ts +4 -11
  441. package/dist/src/tui.d.ts.map +1 -1
  442. package/dist/src/tui.js +33 -75
  443. package/dist/src/tui.js.map +1 -1
  444. package/dist/tui-build-map.json +380 -0
  445. package/dist/tui-ga-build-map.json +187 -0
  446. package/dist/types/src/antigravity/oauth.d.ts +2 -0
  447. package/dist/types/src/antigravity/oauth.d.ts.map +1 -0
  448. package/dist/types/src/cli.d.ts +66 -0
  449. package/dist/types/src/cli.d.ts.map +1 -0
  450. package/dist/types/src/common-auth-embedded/commands/builtins.d.ts +71 -0
  451. package/dist/types/src/common-auth-embedded/commands/index.d.ts +10 -0
  452. package/dist/types/src/common-auth-embedded/commands/menu.d.ts +61 -0
  453. package/dist/types/src/common-auth-embedded/commands/model.d.ts +238 -0
  454. package/dist/types/src/common-auth-embedded/commands/pi.d.ts +23 -0
  455. package/dist/types/src/common-auth-embedded/commands/seam.d.ts +72 -0
  456. package/dist/types/src/common-auth-embedded/fs/refresh-file-lock.d.ts +33 -0
  457. package/dist/types/src/common-auth-embedded/logger/capture-sink.d.ts +14 -0
  458. package/dist/types/src/common-auth-embedded/logger/engine.d.ts +100 -0
  459. package/dist/types/src/common-auth-embedded/logger/index.d.ts +6 -0
  460. package/dist/types/src/common-auth-embedded/logger/redact.d.ts +11 -0
  461. package/dist/types/src/common-auth-embedded/quota/codec.d.ts +11 -0
  462. package/dist/types/src/common-auth-embedded/quota/format.d.ts +46 -0
  463. package/dist/types/src/common-auth-embedded/quota/index.d.ts +10 -0
  464. package/dist/types/src/common-auth-embedded/quota/map.d.ts +63 -0
  465. package/dist/types/src/common-auth-embedded/quota/merge.d.ts +48 -0
  466. package/dist/types/src/common-auth-embedded/quota/projection.d.ts +64 -0
  467. package/dist/types/src/common-auth-embedded/store/attribution.d.ts +28 -0
  468. package/dist/types/src/common-auth-embedded/store/errors.d.ts +55 -0
  469. package/dist/types/src/common-auth-embedded/store/hooks.d.ts +12 -0
  470. package/dist/types/src/common-auth-embedded/store/identity.d.ts +39 -0
  471. package/dist/types/src/common-auth-embedded/store/index.d.ts +21 -0
  472. package/dist/types/src/common-auth-embedded/store/mutate.d.ts +189 -0
  473. package/dist/types/src/common-auth-embedded/store/pool.d.ts +196 -0
  474. package/dist/types/src/common-auth-embedded/store/provider-state.d.ts +131 -0
  475. package/dist/types/src/common-auth-embedded/store/publication.d.ts +47 -0
  476. package/dist/types/src/common-auth-embedded/store/pull.d.ts +36 -0
  477. package/dist/types/src/common-auth-embedded/store/refresh-lock.d.ts +63 -0
  478. package/dist/types/src/common-auth-embedded/store/refresh.d.ts +72 -0
  479. package/dist/types/src/common-auth-embedded/store/rows.d.ts +313 -0
  480. package/dist/types/src/common-auth-embedded/store/runtime.d.ts +36 -0
  481. package/dist/types/src/common-auth-embedded/store/schema.d.ts +443 -0
  482. package/dist/types/src/common-auth-embedded/store/settings.d.ts +63 -0
  483. package/dist/types/src/common-auth-embedded/store/torn.d.ts +78 -0
  484. package/dist/types/src/constants.d.ts +3 -0
  485. package/dist/types/src/constants.d.ts.map +1 -0
  486. package/dist/types/src/ga/proxy-guard.d.ts +120 -0
  487. package/dist/types/src/ga/proxy-guard.d.ts.map +1 -0
  488. package/dist/types/src/ga/rpc/protocol.d.ts +504 -0
  489. package/dist/types/src/ga/rpc/protocol.d.ts.map +1 -0
  490. package/dist/types/src/ga/server/auth.d.ts +9 -0
  491. package/dist/types/src/ga/server/auth.d.ts.map +1 -0
  492. package/dist/types/src/ga/server/index.d.ts +576 -0
  493. package/dist/types/src/ga/server/index.d.ts.map +1 -0
  494. package/dist/types/src/hooks/auto-update-checker/cache.d.ts +3 -0
  495. package/dist/types/src/hooks/auto-update-checker/cache.d.ts.map +1 -0
  496. package/dist/types/src/hooks/auto-update-checker/checker.d.ts +16 -0
  497. package/dist/types/src/hooks/auto-update-checker/checker.d.ts.map +1 -0
  498. package/dist/types/src/hooks/auto-update-checker/constants.d.ts +9 -0
  499. package/dist/types/src/hooks/auto-update-checker/constants.d.ts.map +1 -0
  500. package/dist/types/src/hooks/auto-update-checker/index.d.ts +34 -0
  501. package/dist/types/src/hooks/auto-update-checker/index.d.ts.map +1 -0
  502. package/dist/types/src/hooks/auto-update-checker/logging.d.ts +3 -0
  503. package/dist/types/src/hooks/auto-update-checker/logging.d.ts.map +1 -0
  504. package/dist/types/src/hooks/auto-update-checker/types.d.ts +25 -0
  505. package/dist/types/src/hooks/auto-update-checker/types.d.ts.map +1 -0
  506. package/dist/types/src/logging/provider-key-policy.d.ts +9 -0
  507. package/dist/types/src/logging/provider-key-policy.d.ts.map +1 -0
  508. package/dist/types/src/plugin/account-access.d.ts +214 -0
  509. package/dist/types/src/plugin/account-access.d.ts.map +1 -0
  510. package/dist/types/src/plugin/account-blocks.d.ts +102 -0
  511. package/dist/types/src/plugin/account-blocks.d.ts.map +1 -0
  512. package/dist/types/src/plugin/account-command-oauth.d.ts +34 -0
  513. package/dist/types/src/plugin/account-command-oauth.d.ts.map +1 -0
  514. package/dist/types/src/plugin/accounts.d.ts +94 -0
  515. package/dist/types/src/plugin/accounts.d.ts.map +1 -0
  516. package/dist/types/src/plugin/agy-request-metadata.d.ts +2 -0
  517. package/dist/types/src/plugin/agy-request-metadata.d.ts.map +1 -0
  518. package/dist/types/src/plugin/agy-transport.d.ts +2 -0
  519. package/dist/types/src/plugin/agy-transport.d.ts.map +1 -0
  520. package/dist/types/src/plugin/auth-doctor.d.ts +30 -0
  521. package/dist/types/src/plugin/auth-doctor.d.ts.map +1 -0
  522. package/dist/types/src/plugin/auth-drift.d.ts +13 -0
  523. package/dist/types/src/plugin/auth-drift.d.ts.map +1 -0
  524. package/dist/types/src/plugin/auth-loader.d.ts +114 -0
  525. package/dist/types/src/plugin/auth-loader.d.ts.map +1 -0
  526. package/dist/types/src/plugin/auth.d.ts +2 -0
  527. package/dist/types/src/plugin/auth.d.ts.map +1 -0
  528. package/dist/types/src/plugin/background-quota-refresh.d.ts +192 -0
  529. package/dist/types/src/plugin/background-quota-refresh.d.ts.map +1 -0
  530. package/dist/types/src/plugin/cache/signature-cache.d.ts +156 -0
  531. package/dist/types/src/plugin/cache/signature-cache.d.ts.map +1 -0
  532. package/dist/types/src/plugin/cache.d.ts +109 -0
  533. package/dist/types/src/plugin/cache.d.ts.map +1 -0
  534. package/dist/types/src/plugin/catalog.d.ts +9 -0
  535. package/dist/types/src/plugin/catalog.d.ts.map +1 -0
  536. package/dist/types/src/plugin/cli.d.ts +44 -0
  537. package/dist/types/src/plugin/cli.d.ts.map +1 -0
  538. package/dist/types/src/plugin/command-apply.d.ts +58 -0
  539. package/dist/types/src/plugin/command-apply.d.ts.map +1 -0
  540. package/dist/types/src/plugin/command-data.d.ts +330 -0
  541. package/dist/types/src/plugin/command-data.d.ts.map +1 -0
  542. package/dist/types/src/plugin/commands.d.ts +164 -0
  543. package/dist/types/src/plugin/commands.d.ts.map +1 -0
  544. package/dist/types/src/plugin/config/index.d.ts +16 -0
  545. package/dist/types/src/plugin/config/index.d.ts.map +1 -0
  546. package/dist/types/src/plugin/config/loader.d.ts +72 -0
  547. package/dist/types/src/plugin/config/loader.d.ts.map +1 -0
  548. package/dist/types/src/plugin/config/models.d.ts +3 -0
  549. package/dist/types/src/plugin/config/models.d.ts.map +1 -0
  550. package/dist/types/src/plugin/config/operator-settings-schema.d.ts +29 -0
  551. package/dist/types/src/plugin/config/operator-settings-schema.d.ts.map +1 -0
  552. package/dist/types/src/plugin/config/schema.d.ts +162 -0
  553. package/dist/types/src/plugin/config/schema.d.ts.map +1 -0
  554. package/dist/types/src/plugin/config/updater.d.ts +55 -0
  555. package/dist/types/src/plugin/config/updater.d.ts.map +1 -0
  556. package/dist/types/src/plugin/config/writer.d.ts +41 -0
  557. package/dist/types/src/plugin/config/writer.d.ts.map +1 -0
  558. package/dist/types/src/plugin/core/streaming/index.d.ts +3 -0
  559. package/dist/types/src/plugin/core/streaming/index.d.ts.map +1 -0
  560. package/dist/types/src/plugin/core/streaming/transformer.d.ts +12 -0
  561. package/dist/types/src/plugin/core/streaming/transformer.d.ts.map +1 -0
  562. package/dist/types/src/plugin/core/streaming/types.d.ts +34 -0
  563. package/dist/types/src/plugin/core/streaming/types.d.ts.map +1 -0
  564. package/dist/types/src/plugin/debug.d.ts +144 -0
  565. package/dist/types/src/plugin/debug.d.ts.map +1 -0
  566. package/dist/types/src/plugin/dependencies.d.ts +129 -0
  567. package/dist/types/src/plugin/dependencies.d.ts.map +1 -0
  568. package/dist/types/src/plugin/errors.d.ts +55 -0
  569. package/dist/types/src/plugin/errors.d.ts.map +1 -0
  570. package/dist/types/src/plugin/event-handler.d.ts +53 -0
  571. package/dist/types/src/plugin/event-handler.d.ts.map +1 -0
  572. package/dist/types/src/plugin/fetch/retry-state.d.ts +61 -0
  573. package/dist/types/src/plugin/fetch/retry-state.d.ts.map +1 -0
  574. package/dist/types/src/plugin/fetch/warmup.d.ts +30 -0
  575. package/dist/types/src/plugin/fetch/warmup.d.ts.map +1 -0
  576. package/dist/types/src/plugin/fetch-interceptor.d.ts +114 -0
  577. package/dist/types/src/plugin/fetch-interceptor.d.ts.map +1 -0
  578. package/dist/types/src/plugin/fetch-routing.d.ts +31 -0
  579. package/dist/types/src/plugin/fetch-routing.d.ts.map +1 -0
  580. package/dist/types/src/plugin/fingerprint.d.ts +2 -0
  581. package/dist/types/src/plugin/fingerprint.d.ts.map +1 -0
  582. package/dist/types/src/plugin/ga-location-services.d.ts +389 -0
  583. package/dist/types/src/plugin/ga-location-services.d.ts.map +1 -0
  584. package/dist/types/src/plugin/gemini-dump.d.ts +72 -0
  585. package/dist/types/src/plugin/gemini-dump.d.ts.map +1 -0
  586. package/dist/types/src/plugin/google-search-tool.d.ts +10 -0
  587. package/dist/types/src/plugin/google-search-tool.d.ts.map +1 -0
  588. package/dist/types/src/plugin/image-saver.d.ts +6 -0
  589. package/dist/types/src/plugin/image-saver.d.ts.map +1 -0
  590. package/dist/types/src/plugin/index.d.ts +30 -0
  591. package/dist/types/src/plugin/index.d.ts.map +1 -0
  592. package/dist/types/src/plugin/killswitch.d.ts +93 -0
  593. package/dist/types/src/plugin/killswitch.d.ts.map +1 -0
  594. package/dist/types/src/plugin/lifecycle.d.ts +63 -0
  595. package/dist/types/src/plugin/lifecycle.d.ts.map +1 -0
  596. package/dist/types/src/plugin/logger.d.ts +83 -0
  597. package/dist/types/src/plugin/logger.d.ts.map +1 -0
  598. package/dist/types/src/plugin/logging-utils.d.ts +57 -0
  599. package/dist/types/src/plugin/logging-utils.d.ts.map +1 -0
  600. package/dist/types/src/plugin/model-registry.d.ts +2 -0
  601. package/dist/types/src/plugin/model-registry.d.ts.map +1 -0
  602. package/dist/types/src/plugin/neutral-types.d.ts +42 -0
  603. package/dist/types/src/plugin/neutral-types.d.ts.map +1 -0
  604. package/dist/types/src/plugin/oauth-login.d.ts +22 -0
  605. package/dist/types/src/plugin/oauth-login.d.ts.map +1 -0
  606. package/dist/types/src/plugin/oauth-methods.d.ts +43 -0
  607. package/dist/types/src/plugin/oauth-methods.d.ts.map +1 -0
  608. package/dist/types/src/plugin/operator-settings.d.ts +74 -0
  609. package/dist/types/src/plugin/operator-settings.d.ts.map +1 -0
  610. package/dist/types/src/plugin/persist-account-pool.d.ts +98 -0
  611. package/dist/types/src/plugin/persist-account-pool.d.ts.map +1 -0
  612. package/dist/types/src/plugin/project.d.ts +2 -0
  613. package/dist/types/src/plugin/project.d.ts.map +1 -0
  614. package/dist/types/src/plugin/prompt-context.d.ts +18 -0
  615. package/dist/types/src/plugin/prompt-context.d.ts.map +1 -0
  616. package/dist/types/src/plugin/quota.d.ts +441 -0
  617. package/dist/types/src/plugin/quota.d.ts.map +1 -0
  618. package/dist/types/src/plugin/recovery/constants.d.ts +22 -0
  619. package/dist/types/src/plugin/recovery/constants.d.ts.map +1 -0
  620. package/dist/types/src/plugin/recovery/storage.d.ts +24 -0
  621. package/dist/types/src/plugin/recovery/storage.d.ts.map +1 -0
  622. package/dist/types/src/plugin/recovery/types.d.ts +116 -0
  623. package/dist/types/src/plugin/recovery/types.d.ts.map +1 -0
  624. package/dist/types/src/plugin/recovery.d.ts +61 -0
  625. package/dist/types/src/plugin/recovery.d.ts.map +1 -0
  626. package/dist/types/src/plugin/refresh-queue.d.ts +133 -0
  627. package/dist/types/src/plugin/refresh-queue.d.ts.map +1 -0
  628. package/dist/types/src/plugin/request-helpers.d.ts +304 -0
  629. package/dist/types/src/plugin/request-helpers.d.ts.map +1 -0
  630. package/dist/types/src/plugin/request.d.ts +161 -0
  631. package/dist/types/src/plugin/request.d.ts.map +1 -0
  632. package/dist/types/src/plugin/rotation.d.ts +2 -0
  633. package/dist/types/src/plugin/rotation.d.ts.map +1 -0
  634. package/dist/types/src/plugin/search.d.ts +25 -0
  635. package/dist/types/src/plugin/search.d.ts.map +1 -0
  636. package/dist/types/src/plugin/server.d.ts +23 -0
  637. package/dist/types/src/plugin/server.d.ts.map +1 -0
  638. package/dist/types/src/plugin/session-context.d.ts +22 -0
  639. package/dist/types/src/plugin/session-context.d.ts.map +1 -0
  640. package/dist/types/src/plugin/shared/local-grant.d.ts +26 -0
  641. package/dist/types/src/plugin/shared/local-grant.d.ts.map +1 -0
  642. package/dist/types/src/plugin/shared/request-cancellation.d.ts +12 -0
  643. package/dist/types/src/plugin/shared/request-cancellation.d.ts.map +1 -0
  644. package/dist/types/src/plugin/shared/request-services.d.ts +375 -0
  645. package/dist/types/src/plugin/shared/request-services.d.ts.map +1 -0
  646. package/dist/types/src/plugin/shared/runtime.d.ts +217 -0
  647. package/dist/types/src/plugin/shared/runtime.d.ts.map +1 -0
  648. package/dist/types/src/plugin/shared/source-sidebar.d.ts +15 -0
  649. package/dist/types/src/plugin/shared/source-sidebar.d.ts.map +1 -0
  650. package/dist/types/src/plugin/shared/vault-menu.d.ts +5 -0
  651. package/dist/types/src/plugin/shared/vault-menu.d.ts.map +1 -0
  652. package/dist/types/src/plugin/shared/vault-request-credentials.d.ts +168 -0
  653. package/dist/types/src/plugin/shared/vault-request-credentials.d.ts.map +1 -0
  654. package/dist/types/src/plugin/storage.d.ts +221 -0
  655. package/dist/types/src/plugin/storage.d.ts.map +1 -0
  656. package/dist/types/src/plugin/stores/signature-store.d.ts +5 -0
  657. package/dist/types/src/plugin/stores/signature-store.d.ts.map +1 -0
  658. package/dist/types/src/plugin/thinking-recovery.d.ts +90 -0
  659. package/dist/types/src/plugin/thinking-recovery.d.ts.map +1 -0
  660. package/dist/types/src/plugin/token.d.ts +41 -0
  661. package/dist/types/src/plugin/token.d.ts.map +1 -0
  662. package/dist/types/src/plugin/transform/cross-model-sanitizer.d.ts +2 -0
  663. package/dist/types/src/plugin/transform/cross-model-sanitizer.d.ts.map +1 -0
  664. package/dist/types/src/plugin/transform/index.d.ts +2 -0
  665. package/dist/types/src/plugin/transform/index.d.ts.map +1 -0
  666. package/dist/types/src/plugin/transform/model-resolver.d.ts +2 -0
  667. package/dist/types/src/plugin/transform/model-resolver.d.ts.map +1 -0
  668. package/dist/types/src/plugin/transform/types.d.ts +2 -0
  669. package/dist/types/src/plugin/transform/types.d.ts.map +1 -0
  670. package/dist/types/src/plugin/types.d.ts +36 -0
  671. package/dist/types/src/plugin/types.d.ts.map +1 -0
  672. package/dist/types/src/plugin/ui/ansi.d.ts +32 -0
  673. package/dist/types/src/plugin/ui/ansi.d.ts.map +1 -0
  674. package/dist/types/src/plugin/ui/auth-menu.d.ts +59 -0
  675. package/dist/types/src/plugin/ui/auth-menu.d.ts.map +1 -0
  676. package/dist/types/src/plugin/ui/confirm.d.ts +2 -0
  677. package/dist/types/src/plugin/ui/confirm.d.ts.map +1 -0
  678. package/dist/types/src/plugin/ui/quota-status.d.ts +73 -0
  679. package/dist/types/src/plugin/ui/quota-status.d.ts.map +1 -0
  680. package/dist/types/src/plugin/ui/select.d.ts +23 -0
  681. package/dist/types/src/plugin/ui/select.d.ts.map +1 -0
  682. package/dist/types/src/plugin/vault-activation.d.ts +11 -0
  683. package/dist/types/src/plugin/vault-activation.d.ts.map +1 -0
  684. package/dist/types/src/plugin/vault-custody.d.ts +131 -0
  685. package/dist/types/src/plugin/vault-custody.d.ts.map +1 -0
  686. package/dist/types/src/plugin/version.d.ts +2 -0
  687. package/dist/types/src/plugin/version.d.ts.map +1 -0
  688. package/dist/types/src/quota-presentation.d.ts +18 -0
  689. package/dist/types/src/quota-presentation.d.ts.map +1 -0
  690. package/dist/types/src/rpc/notifications.d.ts +6 -0
  691. package/dist/types/src/rpc/notifications.d.ts.map +1 -0
  692. package/dist/types/src/rpc/protocol.d.ts +53 -0
  693. package/dist/types/src/rpc/protocol.d.ts.map +1 -0
  694. package/dist/types/src/rpc/rpc-dir.d.ts +4 -0
  695. package/dist/types/src/rpc/rpc-dir.d.ts.map +1 -0
  696. package/dist/types/src/rpc/rpc-server.d.ts +24 -0
  697. package/dist/types/src/rpc/rpc-server.d.ts.map +1 -0
  698. package/dist/types/src/server.d.ts +30 -0
  699. package/dist/types/src/server.d.ts.map +1 -0
  700. package/dist/types/src/sidebar-state.d.ts +365 -0
  701. package/dist/types/src/sidebar-state.d.ts.map +1 -0
  702. package/dist/types/src/tui/host-api.d.ts +196 -0
  703. package/dist/types/src/tui/host-api.d.ts.map +1 -0
  704. package/package.json +45 -18
  705. package/server.js +6 -0
  706. package/src/common-auth-embedded/NOTICE.txt +21 -0
  707. package/src/common-auth-embedded/auth-menu/accounts.d.ts +97 -0
  708. package/src/common-auth-embedded/auth-menu/accounts.js +387 -0
  709. package/src/common-auth-embedded/auth-menu/ansi.d.ts +26 -0
  710. package/src/common-auth-embedded/auth-menu/ansi.js +98 -0
  711. package/src/common-auth-embedded/auth-menu/confirm.d.ts +7 -0
  712. package/src/common-auth-embedded/auth-menu/confirm.js +21 -0
  713. package/src/common-auth-embedded/auth-menu/doctor.d.ts +52 -0
  714. package/src/common-auth-embedded/auth-menu/doctor.js +81 -0
  715. package/src/common-auth-embedded/auth-menu/index.d.ts +17 -0
  716. package/src/common-auth-embedded/auth-menu/index.js +12 -0
  717. package/src/common-auth-embedded/auth-menu/login.d.ts +55 -0
  718. package/src/common-auth-embedded/auth-menu/login.js +83 -0
  719. package/src/common-auth-embedded/auth-menu/menu.d.ts +59 -0
  720. package/src/common-auth-embedded/auth-menu/menu.js +73 -0
  721. package/src/common-auth-embedded/auth-menu/opencode-v1.d.ts +49 -0
  722. package/src/common-auth-embedded/auth-menu/opencode-v1.js +47 -0
  723. package/src/common-auth-embedded/auth-menu/select.d.ts +21 -0
  724. package/src/common-auth-embedded/auth-menu/select.js +159 -0
  725. package/src/common-auth-embedded/auth-menu/terminal.d.ts +43 -0
  726. package/src/common-auth-embedded/auth-menu/terminal.js +19 -0
  727. package/src/common-auth-embedded/claustrum/consumer.d.ts +102 -0
  728. package/src/common-auth-embedded/claustrum/consumer.js +298 -0
  729. package/src/common-auth-embedded/claustrum/custody.d.ts +175 -0
  730. package/src/common-auth-embedded/claustrum/custody.js +354 -0
  731. package/src/common-auth-embedded/claustrum/enrollment.d.ts +158 -0
  732. package/src/common-auth-embedded/claustrum/enrollment.js +759 -0
  733. package/src/common-auth-embedded/claustrum/errors.d.ts +16 -0
  734. package/src/common-auth-embedded/claustrum/errors.js +8 -0
  735. package/src/common-auth-embedded/claustrum/host-slot.d.ts +39 -0
  736. package/src/common-auth-embedded/claustrum/host-slot.js +72 -0
  737. package/src/common-auth-embedded/claustrum/index.d.ts +18 -0
  738. package/src/common-auth-embedded/claustrum/index.js +22 -0
  739. package/src/common-auth-embedded/claustrum/interlock.d.ts +27 -0
  740. package/src/common-auth-embedded/claustrum/interlock.js +29 -0
  741. package/src/common-auth-embedded/claustrum/roster.d.ts +208 -0
  742. package/src/common-auth-embedded/claustrum/roster.js +536 -0
  743. package/src/common-auth-embedded/commands/builtins.d.ts +71 -0
  744. package/src/common-auth-embedded/commands/builtins.js +534 -0
  745. package/src/common-auth-embedded/commands/index.d.ts +10 -0
  746. package/src/common-auth-embedded/commands/index.js +5 -0
  747. package/src/common-auth-embedded/commands/menu.d.ts +61 -0
  748. package/src/common-auth-embedded/commands/menu.js +300 -0
  749. package/src/common-auth-embedded/commands/model.d.ts +238 -0
  750. package/src/common-auth-embedded/commands/model.js +16 -0
  751. package/src/common-auth-embedded/commands/pi.d.ts +23 -0
  752. package/src/common-auth-embedded/commands/pi.js +206 -0
  753. package/src/common-auth-embedded/commands/seam.d.ts +72 -0
  754. package/src/common-auth-embedded/commands/seam.js +301 -0
  755. package/src/common-auth-embedded/fs/atomic-write.d.ts +20 -0
  756. package/src/common-auth-embedded/fs/atomic-write.js +80 -0
  757. package/src/common-auth-embedded/fs/index.d.ts +7 -0
  758. package/src/common-auth-embedded/fs/index.js +6 -0
  759. package/src/common-auth-embedded/fs/lock-constants.d.ts +14 -0
  760. package/src/common-auth-embedded/fs/lock-constants.js +14 -0
  761. package/src/common-auth-embedded/fs/refresh-file-lock.d.ts +33 -0
  762. package/src/common-auth-embedded/fs/refresh-file-lock.js +501 -0
  763. package/src/common-auth-embedded/fs/with-lock.d.ts +33 -0
  764. package/src/common-auth-embedded/fs/with-lock.js +48 -0
  765. package/src/common-auth-embedded/logger/capture-sink.d.ts +14 -0
  766. package/src/common-auth-embedded/logger/capture-sink.js +13 -0
  767. package/src/common-auth-embedded/logger/engine.d.ts +100 -0
  768. package/src/common-auth-embedded/logger/engine.js +246 -0
  769. package/src/common-auth-embedded/logger/index.d.ts +6 -0
  770. package/src/common-auth-embedded/logger/index.js +3 -0
  771. package/src/common-auth-embedded/logger/redact.d.ts +11 -0
  772. package/src/common-auth-embedded/logger/redact.js +83 -0
  773. package/src/common-auth-embedded/opencode2/errors.d.ts +25 -0
  774. package/src/common-auth-embedded/opencode2/errors.js +15 -0
  775. package/src/common-auth-embedded/opencode2/index.d.ts +8 -0
  776. package/src/common-auth-embedded/opencode2/index.js +4 -0
  777. package/src/common-auth-embedded/opencode2/install.d.ts +55 -0
  778. package/src/common-auth-embedded/opencode2/install.js +886 -0
  779. package/src/common-auth-embedded/opencode2/integration.d.ts +112 -0
  780. package/src/common-auth-embedded/opencode2/integration.js +143 -0
  781. package/src/common-auth-embedded/opencode2/sse.d.ts +12 -0
  782. package/src/common-auth-embedded/opencode2/sse.js +60 -0
  783. package/src/common-auth-embedded/opencode2/types.d.ts +413 -0
  784. package/src/common-auth-embedded/pi-slot/index.d.ts +3 -0
  785. package/src/common-auth-embedded/pi-slot/index.js +2 -0
  786. package/src/common-auth-embedded/pi-slot/lock.js +212 -0
  787. package/src/common-auth-embedded/pi-slot/slot.d.ts +49 -0
  788. package/src/common-auth-embedded/pi-slot/slot.js +383 -0
  789. package/src/common-auth-embedded/quota/codec.d.ts +11 -0
  790. package/src/common-auth-embedded/quota/codec.js +12 -0
  791. package/src/common-auth-embedded/quota/format.d.ts +46 -0
  792. package/src/common-auth-embedded/quota/format.js +138 -0
  793. package/src/common-auth-embedded/quota/index.d.ts +10 -0
  794. package/src/common-auth-embedded/quota/index.js +5 -0
  795. package/src/common-auth-embedded/quota/map.d.ts +63 -0
  796. package/src/common-auth-embedded/quota/map.js +105 -0
  797. package/src/common-auth-embedded/quota/merge.d.ts +48 -0
  798. package/src/common-auth-embedded/quota/merge.js +162 -0
  799. package/src/common-auth-embedded/quota/projection.d.ts +64 -0
  800. package/src/common-auth-embedded/quota/projection.js +134 -0
  801. package/src/common-auth-embedded/routing/admission.d.ts +93 -0
  802. package/src/common-auth-embedded/routing/admission.js +142 -0
  803. package/src/common-auth-embedded/routing/index.d.ts +8 -0
  804. package/src/common-auth-embedded/routing/index.js +4 -0
  805. package/src/common-auth-embedded/routing/ordered.d.ts +47 -0
  806. package/src/common-auth-embedded/routing/ordered.js +58 -0
  807. package/src/common-auth-embedded/routing/pins.d.ts +22 -0
  808. package/src/common-auth-embedded/routing/pins.js +34 -0
  809. package/src/common-auth-embedded/routing/sticky.d.ts +158 -0
  810. package/src/common-auth-embedded/routing/sticky.js +339 -0
  811. package/src/common-auth-embedded/rpc/client.d.ts +3 -0
  812. package/src/common-auth-embedded/rpc/client.js +2 -0
  813. package/src/common-auth-embedded/rpc/index.d.ts +10 -0
  814. package/src/common-auth-embedded/rpc/index.js +5 -0
  815. package/src/common-auth-embedded/rpc/notifications.d.ts +73 -0
  816. package/src/common-auth-embedded/rpc/notifications.js +100 -0
  817. package/src/common-auth-embedded/rpc/port-file.d.ts +33 -0
  818. package/src/common-auth-embedded/rpc/port-file.js +217 -0
  819. package/src/common-auth-embedded/rpc/rpc-client.d.ts +30 -0
  820. package/src/common-auth-embedded/rpc/rpc-client.js +253 -0
  821. package/src/common-auth-embedded/rpc/rpc-server.d.ts +58 -0
  822. package/src/common-auth-embedded/rpc/rpc-server.js +311 -0
  823. package/src/common-auth-embedded/rpc/server-registry.d.ts +11 -0
  824. package/src/common-auth-embedded/rpc/server-registry.js +47 -0
  825. package/src/common-auth-embedded/source-output.json +1326 -0
  826. package/src/common-auth-embedded/store/attribution.d.ts +28 -0
  827. package/src/common-auth-embedded/store/attribution.js +60 -0
  828. package/src/common-auth-embedded/store/errors.d.ts +55 -0
  829. package/src/common-auth-embedded/store/errors.js +38 -0
  830. package/src/common-auth-embedded/store/hooks.d.ts +12 -0
  831. package/src/common-auth-embedded/store/hooks.js +34 -0
  832. package/src/common-auth-embedded/store/identity.d.ts +39 -0
  833. package/src/common-auth-embedded/store/identity.js +79 -0
  834. package/src/common-auth-embedded/store/index.d.ts +21 -0
  835. package/src/common-auth-embedded/store/index.js +7 -0
  836. package/src/common-auth-embedded/store/mutate.d.ts +189 -0
  837. package/src/common-auth-embedded/store/mutate.js +500 -0
  838. package/src/common-auth-embedded/store/pool.d.ts +196 -0
  839. package/src/common-auth-embedded/store/pool.js +120 -0
  840. package/src/common-auth-embedded/store/provider-state.d.ts +131 -0
  841. package/src/common-auth-embedded/store/provider-state.js +226 -0
  842. package/src/common-auth-embedded/store/publication.d.ts +47 -0
  843. package/src/common-auth-embedded/store/publication.js +304 -0
  844. package/src/common-auth-embedded/store/pull.d.ts +36 -0
  845. package/src/common-auth-embedded/store/pull.js +143 -0
  846. package/src/common-auth-embedded/store/refresh-lock.d.ts +63 -0
  847. package/src/common-auth-embedded/store/refresh-lock.js +136 -0
  848. package/src/common-auth-embedded/store/refresh.d.ts +72 -0
  849. package/src/common-auth-embedded/store/refresh.js +225 -0
  850. package/src/common-auth-embedded/store/reserved.js +13 -0
  851. package/src/common-auth-embedded/store/rows.d.ts +313 -0
  852. package/src/common-auth-embedded/store/rows.js +1258 -0
  853. package/src/common-auth-embedded/store/runtime.d.ts +36 -0
  854. package/src/common-auth-embedded/store/runtime.js +68 -0
  855. package/src/common-auth-embedded/store/schema.d.ts +443 -0
  856. package/src/common-auth-embedded/store/schema.js +754 -0
  857. package/src/common-auth-embedded/store/settings.d.ts +63 -0
  858. package/src/common-auth-embedded/store/settings.js +120 -0
  859. package/src/common-auth-embedded/store/torn.d.ts +78 -0
  860. package/src/common-auth-embedded/store/torn.js +294 -0
  861. package/src/common-auth-embedded/tui/index.d.ts +8 -0
  862. package/src/common-auth-embedded/tui/index.js +21 -0
  863. package/src/common-auth-embedded/util/any-signal.js +42 -0
  864. package/src/plugin/command-data.ts +3 -0
  865. package/src/rpc/port-file.ts +6 -140
  866. package/src/rpc/protocol.ts +59 -24
  867. package/src/rpc/rpc-client.ts +101 -71
  868. package/src/sidebar-state.ts +82 -24
  869. package/src/tui/command-dialogs.tsx +412 -776
  870. package/src/tui/entry.d.mts +17 -0
  871. package/src/tui/entry.mjs +34 -66
  872. package/src/tui/file-logger.ts +22 -7
  873. package/src/tui-compiled/common-auth-embedded/logger/capture-sink.js +13 -0
  874. package/src/tui-compiled/common-auth-embedded/logger/engine.js +246 -0
  875. package/src/tui-compiled/common-auth-embedded/logger/index.js +3 -0
  876. package/src/tui-compiled/common-auth-embedded/logger/redact.js +83 -0
  877. package/src/tui-compiled/common-auth-embedded/quota/codec.js +12 -0
  878. package/src/tui-compiled/common-auth-embedded/quota/format.js +138 -0
  879. package/src/tui-compiled/common-auth-embedded/quota/index.js +5 -0
  880. package/src/tui-compiled/common-auth-embedded/quota/map.js +105 -0
  881. package/src/tui-compiled/common-auth-embedded/quota/merge.js +162 -0
  882. package/src/tui-compiled/common-auth-embedded/quota/projection.js +134 -0
  883. package/src/tui-compiled/common-auth-embedded/rpc/client.js +2 -0
  884. package/src/tui-compiled/common-auth-embedded/rpc/port-file.js +217 -0
  885. package/src/tui-compiled/common-auth-embedded/rpc/rpc-client.js +253 -0
  886. package/src/tui-compiled/logging/provider-key-policy.js +3 -0
  887. package/src/tui-compiled/quota-presentation.js +42 -0
  888. package/src/tui-compiled/rpc/rpc-client.js +35 -0
  889. package/src/tui-compiled/rpc/rpc-dir.js +13 -0
  890. package/src/tui-compiled/selector.js +21 -0
  891. package/src/tui-compiled/sidebar-state.js +401 -0
  892. package/src/tui-compiled/tui/command-dialogs.js +424 -0
  893. package/src/tui-compiled/tui/file-logger.js +73 -0
  894. package/src/tui-compiled/tui/host-api.js +269 -0
  895. package/src/tui-compiled/tui/host-v1.js +228 -0
  896. package/src/tui-compiled/tui-preferences.js +230 -0
  897. package/src/tui-compiled/{tui.tsx → tui.js} +140 -231
  898. package/src/tui-ga-compiled/host-ga.js +1304 -0
  899. package/src/tui-ga-compiled/selector.js +21 -0
  900. package/src/tui-ga-compiled/shared/07365a7d2ccade4c-host-api.js +269 -0
  901. package/src/tui-ga-compiled/shared/0e19a88ff3535906-command-dialogs.js +424 -0
  902. package/src/tui-ga-compiled/shared/1ff34afa7c42d196-projection.js +134 -0
  903. package/src/tui-ga-compiled/shared/77138df80c7ae006-map.js +105 -0
  904. package/src/tui-ga-compiled/shared/8ae1927e5910ea81-sidebar-projection.js +112 -0
  905. package/src/tui-ga-compiled/shared/98cc0c186c46c42d-quota-presentation.js +42 -0
  906. package/src/tui-ga-compiled/shared/aef2402f8fc342f0-format.js +138 -0
  907. package/src/tui-ga-compiled/shared/bf17cbee28e58197-index.js +5 -0
  908. package/src/tui-ga-compiled/shared/ca21dc417b36dc5d-codec.js +12 -0
  909. package/src/tui-ga-compiled/shared/ecc214300932dfb6-merge.js +162 -0
  910. package/src/tui-ga-raw/host-ga.tsx +1740 -0
  911. package/src/tui-ga-raw/selector.js +21 -0
  912. package/src/tui-ga-raw/shared/07365a7d2ccade4c-host-api.js +269 -0
  913. package/src/tui-ga-raw/shared/0e19a88ff3535906-command-dialogs.tsx +468 -0
  914. package/src/tui-ga-raw/shared/1ff34afa7c42d196-projection.js +134 -0
  915. package/src/tui-ga-raw/shared/77138df80c7ae006-map.js +105 -0
  916. package/src/tui-ga-raw/shared/8ae1927e5910ea81-sidebar-projection.js +112 -0
  917. package/src/tui-ga-raw/shared/98cc0c186c46c42d-quota-presentation.js +42 -0
  918. package/src/tui-ga-raw/shared/aef2402f8fc342f0-format.js +138 -0
  919. package/src/tui-ga-raw/shared/bf17cbee28e58197-index.js +5 -0
  920. package/src/tui-ga-raw/shared/ca21dc417b36dc5d-codec.js +12 -0
  921. package/src/tui-ga-raw/shared/ecc214300932dfb6-merge.js +162 -0
  922. package/src/tui-raw/common-auth-embedded/logger/capture-sink.js +13 -0
  923. package/src/tui-raw/common-auth-embedded/logger/engine.js +246 -0
  924. package/src/tui-raw/common-auth-embedded/logger/index.js +3 -0
  925. package/src/tui-raw/common-auth-embedded/logger/redact.js +83 -0
  926. package/src/tui-raw/common-auth-embedded/quota/codec.js +12 -0
  927. package/src/tui-raw/common-auth-embedded/quota/format.js +138 -0
  928. package/src/tui-raw/common-auth-embedded/quota/index.js +5 -0
  929. package/src/tui-raw/common-auth-embedded/quota/map.js +105 -0
  930. package/src/tui-raw/common-auth-embedded/quota/merge.js +162 -0
  931. package/src/tui-raw/common-auth-embedded/quota/projection.js +134 -0
  932. package/src/tui-raw/common-auth-embedded/rpc/client.js +2 -0
  933. package/src/tui-raw/common-auth-embedded/rpc/port-file.js +217 -0
  934. package/src/tui-raw/common-auth-embedded/rpc/rpc-client.js +253 -0
  935. package/src/tui-raw/logging/provider-key-policy.js +3 -0
  936. package/src/tui-raw/quota-presentation.js +42 -0
  937. package/src/tui-raw/rpc/rpc-client.js +35 -0
  938. package/src/tui-raw/rpc/rpc-dir.js +13 -0
  939. package/src/tui-raw/selector.js +21 -0
  940. package/src/tui-raw/sidebar-state.js +401 -0
  941. package/src/tui-raw/tui/command-dialogs.tsx +468 -0
  942. package/src/tui-raw/tui/file-logger.js +73 -0
  943. package/src/tui-raw/tui/host-api.js +269 -0
  944. package/src/tui-raw/tui/host-v1.tsx +249 -0
  945. package/src/tui-raw/tui-preferences.js +230 -0
  946. package/src/tui-raw/tui.tsx +1088 -0
  947. package/src/tui.tsx +58 -141
  948. package/tui.js +6 -0
  949. package/src/tui-compiled/plugin/command-data.ts +0 -931
  950. package/src/tui-compiled/rpc/port-file.ts +0 -143
  951. package/src/tui-compiled/rpc/protocol.ts +0 -31
  952. package/src/tui-compiled/rpc/rpc-client.ts +0 -102
  953. package/src/tui-compiled/rpc/rpc-dir.ts +0 -24
  954. package/src/tui-compiled/sidebar-state.ts +0 -991
  955. package/src/tui-compiled/tui/command-dialogs.tsx +0 -779
  956. package/src/tui-compiled/tui/file-logger.ts +0 -145
  957. package/src/tui-compiled/tui-preferences.ts +0 -416
@@ -0,0 +1,98 @@
1
+ /**
2
+ * The Vault section of the `/antigravity` menu: a credential-free view and
3
+ * action model for setting up the Claustrum vault on OpenCode.
4
+ *
5
+ * The server owns everything with an effect (enrollment, switching the
6
+ * account source, any credential the vault hands out). This module only
7
+ * turns a non-secret status into the section's lines and decides which
8
+ * actions are offered, and each action calls an injected server effect. It
9
+ * imports nothing: no vault client, token, account store or OAuth code, so it
10
+ * can sit next to the TUI without widening what the TUI can reach.
11
+ *
12
+ * The section's shape is the shared command menu's provider extra
13
+ * (`PluginExtraSection` of `@cortexkit/common-auth/commands`), declared
14
+ * structurally here so the server can pass it straight to
15
+ * `createCommandMenu({ extras: [...] })`.
16
+ */
17
+ /** The enrollment name this host registers with the vault. */
18
+ export declare const OPENCODE_VAULT_ENROLLMENT_NAME: "antigravity-auth-opencode";
19
+ /** Where requests take their Antigravity accounts from. */
20
+ export type VaultSourceMode = 'local' | 'custody';
21
+ /**
22
+ * - `not-enrolled`: this host has never been enrolled.
23
+ * - `pending`: an enrollment was started and waits for approval in the vault.
24
+ * - `enrolled`: the vault knows this host.
25
+ * - `revoked`: the vault withdrew this host's enrollment.
26
+ * - `declined`: the vault refused the enrollment request.
27
+ * - `unavailable`: the vault could not be reached when status was read.
28
+ */
29
+ export type VaultEnrollmentState = 'not-enrolled' | 'pending' | 'enrolled' | 'revoked' | 'declined' | 'unavailable';
30
+ /** Why vault custody cannot be used even though enrollment may exist. */
31
+ export type VaultIneligibleReason = 'no-vault-configured' | 'host-login-present' | 'unsupported-host';
32
+ /** The non-secret facts the server reports about vault setup. */
33
+ export interface VaultSetupStatus {
34
+ readonly mode: VaultSourceMode;
35
+ readonly enrollment: VaultEnrollmentState;
36
+ /** Present when custody cannot be selected; the reason is shown as-is. */
37
+ readonly ineligible?: VaultIneligibleReason;
38
+ /** Accounts the vault currently serves to this host, when enrolled. */
39
+ readonly accounts?: number;
40
+ /** When the status was read (ms since epoch). */
41
+ readonly checkedAt: number;
42
+ }
43
+ /** What a vault action reports; `text` is shown to the user. */
44
+ export interface VaultActionOutcome {
45
+ readonly ok: boolean;
46
+ readonly text: string;
47
+ readonly code?: string;
48
+ }
49
+ /**
50
+ * The server effects behind the section's actions. Every one is owned by
51
+ * the server; this model never performs an effect itself.
52
+ */
53
+ export interface VaultSetupEffects {
54
+ /** Reads the current, non-secret status. Called for every menu build. */
55
+ status(): Promise<VaultSetupStatus>;
56
+ /** Starts enrollment under {@link OPENCODE_VAULT_ENROLLMENT_NAME}. */
57
+ enroll(): Promise<VaultActionOutcome>;
58
+ /** Routes requests through vault custody. */
59
+ useCustody(): Promise<VaultActionOutcome>;
60
+ /** Routes requests through the local accounts again. */
61
+ useLocal(): Promise<VaultActionOutcome>;
62
+ /** Withdraws this host's enrollment. */
63
+ disconnect(): Promise<VaultActionOutcome>;
64
+ }
65
+ export interface VaultSectionAction {
66
+ readonly id: string;
67
+ readonly label: string;
68
+ readonly description?: string;
69
+ readonly irreversible?: boolean;
70
+ readonly confirm?: string;
71
+ run(input: unknown): Promise<VaultActionOutcome>;
72
+ }
73
+ export interface VaultSectionContent {
74
+ readonly lines: string[];
75
+ readonly actions: VaultSectionAction[];
76
+ readonly facts: Record<string, string | number>;
77
+ }
78
+ export interface VaultExtraSection {
79
+ readonly id: 'vault';
80
+ readonly title: string;
81
+ build(invocation: unknown): Promise<VaultSectionContent>;
82
+ }
83
+ /**
84
+ * Checks a status from the server field by field. A status with any other
85
+ * field (a token, an email, a receipt) is refused rather than shown, so a
86
+ * server change that starts passing secrets cannot reach the menu.
87
+ */
88
+ export declare function parseVaultSetupStatus(value: unknown): VaultSetupStatus | undefined;
89
+ export interface VaultSetupView {
90
+ readonly lines: string[];
91
+ /** Ids of the actions offered for this status, in display order. */
92
+ readonly actions: Array<'enroll' | 'use-custody' | 'use-local' | 'disconnect'>;
93
+ }
94
+ /** The lines and the offered actions for one status. */
95
+ export declare function vaultSetupView(status: VaultSetupStatus | undefined): VaultSetupView;
96
+ /** The Vault provider extra for the server's `/antigravity` menu. */
97
+ export declare function createVaultSection(effects: VaultSetupEffects): VaultExtraSection;
98
+ //# sourceMappingURL=vault-setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault-setup.d.ts","sourceRoot":"","sources":["../../../src/tui/vault-setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,198 @@
1
+ /**
2
+ * The Vault section of the `/antigravity` menu: a credential-free view and
3
+ * action model for setting up the Claustrum vault on OpenCode.
4
+ *
5
+ * The server owns everything with an effect (enrollment, switching the
6
+ * account source, any credential the vault hands out). This module only
7
+ * turns a non-secret status into the section's lines and decides which
8
+ * actions are offered, and each action calls an injected server effect. It
9
+ * imports nothing: no vault client, token, account store or OAuth code, so it
10
+ * can sit next to the TUI without widening what the TUI can reach.
11
+ *
12
+ * The section's shape is the shared command menu's provider extra
13
+ * (`PluginExtraSection` of `@cortexkit/common-auth/commands`), declared
14
+ * structurally here so the server can pass it straight to
15
+ * `createCommandMenu({ extras: [...] })`.
16
+ */
17
+ /** The enrollment name this host registers with the vault. */
18
+ export const OPENCODE_VAULT_ENROLLMENT_NAME = 'antigravity-auth-opencode';
19
+ const ENROLLMENT_TEXT = {
20
+ 'not-enrolled': 'Not enrolled',
21
+ pending: 'Enrollment waiting for approval in the vault',
22
+ enrolled: 'Enrolled',
23
+ revoked: 'Enrollment revoked by the vault',
24
+ declined: 'Enrollment declined by the vault',
25
+ unavailable: 'Vault unreachable; status unknown',
26
+ };
27
+ const INELIGIBLE_TEXT = {
28
+ 'no-vault-configured': 'No vault is configured for this machine.',
29
+ 'host-login-present': 'An OpenCode login for this provider is present; remove it before using vault custody.',
30
+ 'unsupported-host': 'This OpenCode version cannot use vault custody.',
31
+ };
32
+ const MODES = ['local', 'custody'];
33
+ const STATES = Object.keys(ENROLLMENT_TEXT);
34
+ const REASONS = Object.keys(INELIGIBLE_TEXT);
35
+ const STATUS_KEYS = [
36
+ 'mode',
37
+ 'enrollment',
38
+ 'ineligible',
39
+ 'accounts',
40
+ 'checkedAt',
41
+ ];
42
+ /**
43
+ * Checks a status from the server field by field. A status with any other
44
+ * field (a token, an email, a receipt) is refused rather than shown, so a
45
+ * server change that starts passing secrets cannot reach the menu.
46
+ */
47
+ export function parseVaultSetupStatus(value) {
48
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
49
+ return undefined;
50
+ }
51
+ const record = value;
52
+ if (Object.keys(record).some((key) => !STATUS_KEYS.includes(key))) {
53
+ return undefined;
54
+ }
55
+ if (!MODES.includes(record.mode))
56
+ return undefined;
57
+ if (!STATES.includes(record.enrollment)) {
58
+ return undefined;
59
+ }
60
+ if (record.ineligible !== undefined &&
61
+ !REASONS.includes(record.ineligible)) {
62
+ return undefined;
63
+ }
64
+ if (record.accounts !== undefined &&
65
+ !(Number.isSafeInteger(record.accounts) && record.accounts >= 0)) {
66
+ return undefined;
67
+ }
68
+ if (!Number.isFinite(record.checkedAt))
69
+ return undefined;
70
+ return {
71
+ mode: record.mode,
72
+ enrollment: record.enrollment,
73
+ ...(record.ineligible === undefined
74
+ ? {}
75
+ : { ineligible: record.ineligible }),
76
+ ...(record.accounts === undefined
77
+ ? {}
78
+ : { accounts: record.accounts }),
79
+ checkedAt: record.checkedAt,
80
+ };
81
+ }
82
+ /** The lines and the offered actions for one status. */
83
+ export function vaultSetupView(status) {
84
+ if (!status) {
85
+ return {
86
+ lines: ['Vault status could not be read; no vault action is offered.'],
87
+ actions: [],
88
+ };
89
+ }
90
+ const lines = [
91
+ `Accounts come from: ${status.mode === 'custody' ? 'vault custody' : 'local accounts'}`,
92
+ `Host enrollment (${OPENCODE_VAULT_ENROLLMENT_NAME}): ${ENROLLMENT_TEXT[status.enrollment]}`,
93
+ ];
94
+ if (status.enrollment === 'enrolled' && status.accounts !== undefined) {
95
+ lines.push(`Vault accounts for this host: ${status.accounts}`);
96
+ }
97
+ if (status.ineligible)
98
+ lines.push(INELIGIBLE_TEXT[status.ineligible]);
99
+ const actions = [];
100
+ if (status.enrollment === 'unavailable') {
101
+ // Nothing can be decided while the vault cannot be reached; only the
102
+ // way back to local accounts stays open.
103
+ if (status.mode === 'custody')
104
+ actions.push('use-local');
105
+ return { lines, actions };
106
+ }
107
+ if (!status.ineligible &&
108
+ (status.enrollment === 'not-enrolled' ||
109
+ status.enrollment === 'revoked' ||
110
+ status.enrollment === 'declined')) {
111
+ actions.push('enroll');
112
+ }
113
+ if (status.enrollment === 'enrolled' &&
114
+ status.mode === 'local' &&
115
+ !status.ineligible) {
116
+ actions.push('use-custody');
117
+ }
118
+ if (status.mode === 'custody')
119
+ actions.push('use-local');
120
+ if (status.enrollment === 'enrolled' || status.enrollment === 'pending') {
121
+ actions.push('disconnect');
122
+ }
123
+ return { lines, actions };
124
+ }
125
+ const UNREADABLE = {
126
+ ok: false,
127
+ text: 'The vault action did not complete.',
128
+ code: 'vault-failed',
129
+ };
130
+ async function guarded(run) {
131
+ try {
132
+ const outcome = await run();
133
+ return typeof outcome?.text === 'string' && typeof outcome.ok === 'boolean'
134
+ ? {
135
+ ok: outcome.ok,
136
+ text: outcome.text,
137
+ ...(outcome.code ? { code: outcome.code } : {}),
138
+ }
139
+ : UNREADABLE;
140
+ }
141
+ catch {
142
+ // The effect's own error text may quote a request or a credential, so it
143
+ // is never shown; the server logs it on its side.
144
+ return UNREADABLE;
145
+ }
146
+ }
147
+ /** The Vault provider extra for the server's `/antigravity` menu. */
148
+ export function createVaultSection(effects) {
149
+ return {
150
+ id: 'vault',
151
+ title: 'Vault',
152
+ async build() {
153
+ let status;
154
+ try {
155
+ status = parseVaultSetupStatus(await effects.status());
156
+ }
157
+ catch {
158
+ status = undefined;
159
+ }
160
+ const view = vaultSetupView(status);
161
+ const definitions = {
162
+ enroll: {
163
+ id: 'enroll',
164
+ label: 'Set up vault for this host',
165
+ description: `Request enrollment as ${OPENCODE_VAULT_ENROLLMENT_NAME}; approve it in the vault.`,
166
+ run: () => guarded(() => effects.enroll()),
167
+ },
168
+ 'use-custody': {
169
+ id: 'use-custody',
170
+ label: 'Use vault accounts',
171
+ description: 'Send requests with accounts the vault serves to this host.',
172
+ confirm: 'Switch this host to vault custody? Local accounts stay on disk but are not used.',
173
+ run: () => guarded(() => effects.useCustody()),
174
+ },
175
+ 'use-local': {
176
+ id: 'use-local',
177
+ label: 'Use local accounts',
178
+ description: 'Send requests with the accounts stored on this machine.',
179
+ run: () => guarded(() => effects.useLocal()),
180
+ },
181
+ disconnect: {
182
+ id: 'disconnect',
183
+ label: 'Disconnect vault',
184
+ description: 'Withdraw this host from the vault.',
185
+ irreversible: true,
186
+ confirm: 'Withdraw this host from the vault? Setting it up again needs a new approval.',
187
+ run: () => guarded(() => effects.disconnect()),
188
+ },
189
+ };
190
+ return {
191
+ lines: view.lines,
192
+ actions: view.actions.map((action) => definitions[action]),
193
+ facts: {},
194
+ };
195
+ },
196
+ };
197
+ }
198
+ //# sourceMappingURL=vault-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault-setup.js","sourceRoot":"","sources":["../../../src/tui/vault-setup.ts"],"names":[],"mappings":"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"}
package/dist/src/tui.d.ts CHANGED
@@ -1,10 +1,9 @@
1
1
  /** @jsxImportSource @opentui/solid */
2
- import type { TuiPluginApi, TuiPluginModule, TuiThemeCurrent } from '@opencode-ai/plugin/tui';
2
+ import type { TuiPluginModule, TuiThemeCurrent } from '@opencode-ai/plugin/tui';
3
3
  import { createSlot } from '@opentui/solid';
4
4
  import { type JSX } from 'solid-js';
5
- import type { RpcNotification } from './rpc/protocol';
6
- import { type SidebarStateV1 } from './sidebar-state';
7
5
  import { type TuiLogger } from './tui/file-logger';
6
+ import { type V1Notification } from './tui/host-v1';
8
7
  import { type AntigravityAuthTuiPrefs } from './tui-preferences';
9
8
  type Theme = TuiThemeCurrent;
10
9
  export interface SidebarPanelProps {
@@ -32,12 +31,6 @@ export interface SidebarController {
32
31
  toggleCollapsed: () => void;
33
32
  }
34
33
  export declare function createSidebarController(initialPrefs: AntigravityAuthTuiPrefs): SidebarController;
35
- export declare function resolveQuotaDialogActiveId(state: SidebarStateV1, sessionId: string | undefined): string | undefined;
36
- export declare function QuotaDialogContent(props: {
37
- api: TuiPluginApi;
38
- controller: SidebarController;
39
- sessionId: string | undefined;
40
- }): JSX.Element;
41
34
  export declare function SidebarPanel(props: SidebarPanelProps): JSX.Element;
42
35
  /**
43
36
  * Solid slot registry binding exposed for hosts that want to mount the
@@ -47,9 +40,9 @@ export declare function SidebarPanel(props: SidebarPanelProps): JSX.Element;
47
40
  */
48
41
  export declare const sidebar_content: typeof createSlot;
49
42
  interface RpcNotificationPollOptions {
50
- pending: (lastReceivedId: number, sessionId?: string) => Promise<RpcNotification[]>;
43
+ pending: (lastReceivedId: number, sessionId?: string) => Promise<readonly V1Notification[]>;
51
44
  currentSessionId: () => string | undefined;
52
- dispatch: (notification: RpcNotification) => void | Promise<void>;
45
+ dispatch: (notification: V1Notification) => void | Promise<void>;
53
46
  schedule: (poll: () => Promise<void>, intervalMs: number) => void;
54
47
  /**
55
48
  * File logger used to surface poll errors. Must be a file logger — the
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/tui.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AAwCtC,OAAO,KAAK,EAEV,YAAY,EACZ,eAAe,EACf,eAAe,EAChB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAIL,KAAK,GAAG,EAIT,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGrD,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,EACL,KAAK,uBAAuB,EAU7B,MAAM,mBAAmB,CAAA;AA4E1B,KAAK,KAAK,GAAG,eAAe,CAAA;AAyG5B,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,uEAAuE;IACvE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB;8EAC0E;IAC1E,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B;;wEAEoE;IACpE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAA;IACnB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,uBAAuB,CAAA;IACpC,SAAS,EAAE,MAAM,OAAO,CAAA;IACxB,eAAe,EAAE,MAAM,IAAI,CAAA;CAC5B;AA2DD,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,uBAAuB,GACpC,iBAAiB,CA8CnB;AA4QD,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,GAAG,SAAS,CAKpB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,GAAG,EAAE,YAAY,CAAA;IACjB,UAAU,EAAE,iBAAiB,CAAA;IAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,GAAG,GAAG,CAAC,OAAO,CA0Cd;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAoSlE;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,mBAAa,CAAA;AAEzC,UAAU,0BAA0B;IAClC,OAAO,EAAE,CACP,cAAc,EAAE,MAAM,EACtB,SAAS,CAAC,EAAE,MAAM,KACf,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;IAC/B,gBAAgB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;IAC1C,QAAQ,EAAE,CAAC,YAAY,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE;;;;;;OAMG;IACH,MAAM,EAAE,SAAS,CAAA;CAClB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,0BAA0B,GAClC,IAAI,CA+CN;AA6ED,QAAA,MAAM,MAAM,EAAE,eAAe,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAG3C,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/tui.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AAwCtC,OAAO,KAAK,EAEV,eAAe,EACf,eAAe,EAChB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAqB,KAAK,GAAG,EAA4B,MAAM,UAAU,CAAA;AAUhF,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,KAAK,uBAAuB,EAU7B,MAAM,mBAAmB,CAAA;AA4E1B,KAAK,KAAK,GAAG,eAAe,CAAA;AAyG5B,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,uEAAuE;IACvE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB;8EAC0E;IAC1E,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B;;wEAEoE;IACpE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAA;IACnB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,uBAAuB,CAAA;IACpC,SAAS,EAAE,MAAM,OAAO,CAAA;IACxB,eAAe,EAAE,MAAM,IAAI,CAAA;CAC5B;AA2DD,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,uBAAuB,GACpC,iBAAiB,CA8CnB;AAyQD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CA6SlE;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,mBAAa,CAAA;AAEzC,UAAU,0BAA0B;IAClC,OAAO,EAAE,CACP,cAAc,EAAE,MAAM,EACtB,SAAS,CAAC,EAAE,MAAM,KACf,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAAA;IACvC,gBAAgB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;IAC1C,QAAQ,EAAE,CAAC,YAAY,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE;;;;;;OAMG;IACH,MAAM,EAAE,SAAS,CAAA;CAClB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,0BAA0B,GAClC,IAAI,CA+CN;AAsDD,QAAA,MAAM,MAAM,EAAE,eAAe,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAG3C,CAAA;AAED,eAAe,MAAM,CAAA"}
package/dist/src/tui.js CHANGED
@@ -38,12 +38,12 @@ import { readFileSync } from 'node:fs';
38
38
  import { dirname, join } from 'node:path';
39
39
  import { fileURLToPath } from 'node:url';
40
40
  import { createSlot } from '@opentui/solid';
41
- import { createEffect, createSignal, For, onCleanup, onMount, Show, } from 'solid-js';
42
- import { createRpcClient } from './rpc/rpc-client';
41
+ import { createSignal, For, onCleanup, onMount, Show } from 'solid-js';
42
+ import { formatQuotaReading, quotaReadingParts } from './quota-presentation';
43
43
  import { getRpcDir } from './rpc/rpc-dir';
44
44
  import { readSidebarState, } from './sidebar-state';
45
- import { openCommandDialog } from './tui/command-dialogs';
46
45
  import { createTuiFileLogger } from './tui/file-logger';
46
+ import { createV1MenuTransport, dispatchV1Notification, } from './tui/host-v1';
47
47
  import { computeEffectiveOrder, DEFAULT_PREFS, DEFAULT_SLOT_ORDER, PLUGIN_KEY, queueTuiPreferenceUpdate, readTuiPreferencesFile, resolveAntigravityAuthPrefs, watchTuiPreferences, } from './tui-preferences';
48
48
  const ID = 'cortexkit.antigravity-auth';
49
49
  const POLL_INTERVAL_MS = 2000;
@@ -180,10 +180,10 @@ function quotaTone(usedPct, appearance) {
180
180
  return 'warn';
181
181
  return 'err';
182
182
  }
183
- function quotaBarSegments(usedPct, appearance) {
183
+ function quotaBarSegments(remainingPct, appearance) {
184
184
  const width = appearance.barWidth;
185
- const usedCells = Math.max(0, Math.min(Math.round((usedPct / 100) * width), width));
186
- const tone = quotaTone(usedPct, appearance);
185
+ const usedCells = Math.max(0, Math.min(Math.round((remainingPct / 100) * width), width));
186
+ const tone = quotaTone(100 - remainingPct, appearance);
187
187
  return [
188
188
  { text: appearance.barFilledChar.repeat(usedCells), tone },
189
189
  { text: appearance.barEmptyChar.repeat(width - usedCells), tone },
@@ -347,17 +347,13 @@ function StatRow(props) {
347
347
  function CollapsedRow(props) {
348
348
  return (_jsxs("box", { width: '100%', flexDirection: 'row', justifyContent: 'space-between', children: [_jsx("text", { fg: props.theme().textMuted, children: props.label }), props.children] }));
349
349
  }
350
- // Fleet QuotaRow, adapted to Antigravity's `remainingPercent + resetAt`
351
- // shape. The left group stacks label + bar + pct in fixed columns so
352
- // bars line up across rows; the right group carries the reset countdown
353
- // when the plugin has cached a reset time. Tone is read off the
354
- // remaining percentage via the antigravity threshold rules — the fleet's
355
- // `usageTone` would invert the polarity (healthy = high remaining vs
356
- // healthy = low used), so we keep the antigravity-local `quotaTone`.
350
+ // The bar fills with remaining quota. The shared formatter supplies the
351
+ // figure, reset and reading age; the right column aligns reset and age text.
357
352
  function QuotaRow(props) {
358
- const used = () => props.entry ? 100 - clamp(props.entry.remainingPercent, 0, 100) : null;
359
- const reset = () => props.entry ? formatResetIn(props.entry.resetAt, props.now) : '';
360
- return (_jsx(Show, { when: used() != null, fallback: _jsxs("box", { width: '100%', flexDirection: 'row', justifyContent: 'space-between', children: [_jsx("text", { fg: props.theme().textMuted, children: props.label.padEnd(5) }), _jsx("text", { fg: props.theme().textMuted, children: '\u2014' })] }), children: _jsxs("box", { width: '100%', flexDirection: 'row', justifyContent: 'space-between', children: [_jsxs("box", { flexDirection: 'row', children: [_jsx("text", { width: 5, flexShrink: 0, fg: props.theme().textMuted, children: props.label }), _jsx("box", { width: props.appearance.barWidth, flexShrink: 0, flexDirection: 'row', children: _jsx(For, { each: quotaBarSegments(used() ?? 0, props.appearance), children: (segment) => (_jsx("text", { fg: toneColor(props.theme(), segment.tone), children: segment.text })) }) }), _jsx("text", { fg: toneColor(props.theme(), quotaTone(used() ?? 0, props.appearance)), children: ` ${String(Math.round(used() ?? 0)).padStart(3)}%` })] }), _jsx(Show, { when: reset(), children: _jsx("text", { fg: props.theme().textMuted, children: reset() }) })] }) }));
353
+ const parts = () => quotaReadingParts(props.label, props.entry, props.now());
354
+ const remaining = () => parts().remaining;
355
+ const reset = () => parts().detail;
356
+ return (_jsx(Show, { when: remaining() != null, fallback: _jsxs("box", { width: '100%', flexDirection: 'row', justifyContent: 'space-between', children: [_jsx("text", { fg: props.theme().textMuted, children: props.label.padEnd(5) }), _jsx("text", { fg: props.theme().textMuted, children: parts().figure })] }), children: _jsxs("box", { width: '100%', flexDirection: 'row', justifyContent: 'space-between', children: [_jsxs("box", { flexDirection: 'row', children: [_jsx("text", { width: 5, flexShrink: 0, fg: props.theme().textMuted, children: props.label }), _jsx("box", { width: props.appearance.barWidth, flexShrink: 0, flexDirection: 'row', children: _jsx(For, { each: quotaBarSegments(remaining() ?? 0, props.appearance), children: (segment) => (_jsx("text", { fg: toneColor(props.theme(), segment.tone), children: segment.text })) }) }), _jsx("text", { fg: toneColor(props.theme(), quotaTone(100 - (remaining() ?? 0), props.appearance)), children: ` ${parts().figure}` })] }), _jsx(Show, { when: reset(), children: _jsx("text", { fg: props.theme().textMuted, children: reset() }) })] }) }));
361
357
  }
362
358
  // Fleet AccountBlock, adapted to Antigravity's per-account data. Header
363
359
  // row is account label (left) + status word (right). The body renders one
@@ -410,6 +406,7 @@ function AccountBlock(props) {
410
406
  return (_jsx(_Fragment, { children: windows.map((w) => (_jsx(QuotaRow, { theme: props.theme, appearance: props.appearance, label: `${QUOTA_LABELS[key]} ${WINDOW_GUTTER[w.window] ?? w.window}`, entry: {
411
407
  remainingPercent: w.remainingPercent,
412
408
  resetAt: w.resetAt,
409
+ checkedAt: w.checkedAt,
413
410
  }, now: props.now }))) }));
414
411
  } }), _jsx("box", { width: '100%', flexDirection: 'row', children: _jsx("text", { fg: props.theme().textMuted, children: ` ${healthText()}` }) })] }));
415
412
  }
@@ -421,30 +418,6 @@ function formatWait(ms) {
421
418
  const remaining = seconds % 60;
422
419
  return remaining > 0 ? `${minutes}m ${remaining}s` : `${minutes}m`;
423
420
  }
424
- export function resolveQuotaDialogActiveId(state, sessionId) {
425
- return ((sessionId ? state.activeRouting[sessionId]?.accountId : undefined) ??
426
- state.accounts.find((account) => account.current)?.id);
427
- }
428
- export function QuotaDialogContent(props) {
429
- const prefs = props.controller.prefs;
430
- const [state, setState] = createSignal(EMPTY_STATE);
431
- const refresh = () => {
432
- setState(readSidebarState());
433
- };
434
- createEffect(() => {
435
- const timer = setInterval(refresh, prefs().pollMs);
436
- onCleanup(() => clearInterval(timer));
437
- });
438
- setTimeout(refresh, 0);
439
- const theme = () => props.api.theme.current;
440
- const visibleAccounts = () => {
441
- if (prefs().sections.fallbackAccounts)
442
- return state().accounts;
443
- return state().accounts.filter((account) => account.current);
444
- };
445
- const activeId = () => resolveQuotaDialogActiveId(state(), props.sessionId);
446
- return (_jsx("box", { flexDirection: 'column', padding: 2, width: '100%', alignItems: 'center', children: _jsxs("box", { flexDirection: 'column', width: 58, children: [_jsx("box", { width: '100%', justifyContent: 'center', marginBottom: 1, children: _jsx("text", { fg: theme().text, children: _jsx("b", { children: "Antigravity Quota" }) }) }), _jsx(For, { each: visibleAccounts(), children: (account, index) => (_jsx(AccountBlock, { theme: theme, appearance: prefs().appearance, account: account, active: activeId() === account.id, now: () => Date.now(), marginTop: index() === 0 ? 0 : 1 })) })] }) }));
447
- }
448
421
  // --- SidebarPanel ----------------------------------------------------------
449
422
  export function SidebarPanel(props) {
450
423
  const logger = resolveLogger(props.logger);
@@ -531,26 +504,19 @@ export function SidebarPanel(props) {
531
504
  }, children: [_jsx("box", { paddingLeft: 1, paddingRight: 1, backgroundColor: theme().accent, children: _jsx("text", { fg: theme().background, children: _jsx("b", { children: headerLabel() }) }) }), _jsx(Show, { when: degraded(), fallback: _jsx(Show, { when: prefs().header.showVersion && PLUGIN_VERSION !== '', children: _jsx("text", { fg: theme().textMuted, children: `v${PLUGIN_VERSION}` }) }), children: _jsx("box", { paddingLeft: 1, paddingRight: 1, backgroundColor: theme().warning, children: _jsx("text", { fg: theme().background, children: _jsx("b", { children: 'LIMITED' }) }) }) })] }), _jsx(Show, { when: collapsed() && hasData(), children: (() => {
532
505
  const account = () => visibleAccounts().find((entry) => entry.current) ??
533
506
  visibleAccounts()[0];
534
- const used = () => {
507
+ const remaining = () => {
535
508
  const q = account()?.quota;
536
- // Derive tone from the WORST (most-constrained) pool so a
537
- // critical non-gemini pool doesn't hide behind a healthy
538
- // gemini tone. Worst = highest used-percent across available pools.
539
- const geminiUsed = q?.gemini != null
540
- ? 100 - clamp(q.gemini.remainingPercent, 0, 100)
541
- : null;
542
- const nonGeminiUsed = q?.['non-gemini'] != null
543
- ? 100 - clamp(q['non-gemini'].remainingPercent, 0, 100)
544
- : null;
545
- if (geminiUsed === null && nonGeminiUsed === null)
509
+ // The lowest remaining percentage among dated readings determines the warning tone.
510
+ const gemini = quotaReadingParts('Gm', q?.gemini, now()).remaining;
511
+ const nonGemini = quotaReadingParts('NG', q?.['non-gemini'], now()).remaining;
512
+ if (gemini === null && nonGemini === null)
546
513
  return null;
547
- return Math.max(geminiUsed ?? 0, nonGeminiUsed ?? 0);
514
+ return Math.min(gemini ?? 100, nonGemini ?? 100);
548
515
  };
549
516
  const poolText = (key) => {
550
517
  const entry = account()?.quota[key];
551
518
  if (!entry)
552
- return `${QUOTA_LABELS[key]}: —`;
553
- const pct = Math.round(100 - clamp(entry.remainingPercent, 0, 100));
519
+ return `${QUOTA_LABELS[key]}: ${formatQuotaReading(QUOTA_LABELS[key], undefined, now())}`;
554
520
  // Show binding window when available, else just pool label.
555
521
  const bindingWindow = entry.windows?.reduce((best, w) => best === null || w.remainingPercent < best.remainingPercent
556
522
  ? w
@@ -558,7 +524,8 @@ export function SidebarPanel(props) {
558
524
  const gutter = bindingWindow
559
525
  ? ` ${WINDOW_GUTTER[bindingWindow.window] ?? bindingWindow.window}`
560
526
  : '';
561
- return `${QUOTA_LABELS[key]}${gutter}: ${pct}%`;
527
+ const text = formatQuotaReading(`${QUOTA_LABELS[key]}${gutter}`, bindingWindow ?? entry, now());
528
+ return bindingWindow ? `${QUOTA_LABELS[key]} ${text}` : text;
562
529
  };
563
530
  const unavailable = () => {
564
531
  const selected = account();
@@ -567,14 +534,16 @@ export function SidebarPanel(props) {
567
534
  (selected.cooldownUntil != null &&
568
535
  selected.cooldownUntil > now())));
569
536
  };
570
- return (_jsx(Show, { when: account(), children: (selected) => (_jsx(CollapsedRow, { theme: theme, label: selected().label, children: _jsxs("box", { flexDirection: 'row', children: [_jsx("text", { fg: toneColor(theme(), used() == null
537
+ return (_jsx(Show, { when: account(), children: (selected) => (_jsx(CollapsedRow, { theme: theme, label: selected().label, children: _jsxs("box", { flexDirection: 'row', children: [_jsx("text", { fg: toneColor(theme(), remaining() == null
571
538
  ? 'muted'
572
- : quotaTone(used() ?? 0, prefs().appearance)), children: _jsx("b", { children: account()?.quota.gemini == null &&
539
+ : quotaTone(100 - (remaining() ?? 100), prefs().appearance)), children: _jsx("b", { children: account()?.quota.gemini == null &&
573
540
  account()?.quota['non-gemini'] == null
574
541
  ? '—'
575
542
  : `${poolText('gemini')} · ${poolText('non-gemini')}` }) }), _jsx("text", { fg: toneColor(theme(), unavailable()
576
543
  ? 'err'
577
- : quotaTone(used() ?? 0, prefs().appearance)), children: unavailable() ? ' ⊘' : ' ●' })] }) })) }));
544
+ : remaining() == null
545
+ ? 'muted'
546
+ : quotaTone(100 - (remaining() ?? 100), prefs().appearance)), children: unavailable() ? ' ⊘' : ' ●' })] }) })) }));
578
547
  })() }), _jsx(Show, { when: !collapsed() || !hasData(), children: _jsxs(Show, { when: hasData(), fallback: _jsx("box", { marginTop: 1, width: '100%', children: _jsx("text", { fg: theme().textMuted, children: 'Waiting for quota\u2026' }) }), children: [_jsxs(Show, { when: prefs().sections.quota, children: [_jsx(SectionHeader, { theme: theme, title: 'Quota' }), _jsx(For, { each: visibleAccounts(), children: (account, index) => (_jsx(AccountBlock, { theme: theme, appearance: prefs().appearance, account: account, now: now, marginTop: index() === 0 ? 0 : 1 })) })] }), _jsxs(Show, { when: prefs().sections.routing, children: [_jsx(SectionHeader, { theme: theme, title: 'Routing' }), _jsx(Show, { when: currentRoute(), fallback: _jsx(StatRow, { theme: theme, label: 'Route', value: '\u2014', tone: 'muted' }), children: (route) => (_jsx(StatRow, { theme: theme, label: 'Route', value: `${route().strategy ? `${route().strategy} · ` : ''}${route().family}: ${route().style}`, tone: 'accent' })) })] }), _jsxs(Show, { when: degraded() && prefs().sections.health, children: [_jsx(SectionHeader, { theme: theme, title: 'Health' }), _jsx(Show, { when: backoffActive(), children: _jsx(StatRow, { theme: theme, label: 'Quota API', value: `backoff ${formatResetIn(state().loaded.quotaBackoffUntil, now)}`, tone: 'warn' }) }), _jsx(Show, { when: lastError(), children: _jsx(StatRow, { theme: theme, label: 'Last error', value: lastError() ?? '', tone: 'err' }) })] })] }) })] }));
579
548
  }
580
549
  /**
@@ -644,34 +613,23 @@ const tui = async (api) => {
644
613
  if (!sidebarController) {
645
614
  sidebarController = createSidebarController(resolveAntigravityAuthPrefs(prefsRoot));
646
615
  }
647
- const rpcClient = createRpcClient(getRpcDir(api.state.path.directory ?? ''), process.pid);
616
+ // The `/antigravity` drawer: the server pushes the menu as a notification
617
+ // on this process's private RPC; the drawer applies through the same RPC.
618
+ const transport = createV1MenuTransport(getRpcDir(api.state.path.directory ?? ''), process.pid);
648
619
  startRpcNotificationPolling({
649
- pending: (lastReceivedId, sessionId) => rpcClient.pendingNotifications(lastReceivedId, sessionId),
620
+ pending: (lastReceivedId, sessionId) => transport.pending(lastReceivedId, sessionId),
650
621
  currentSessionId: () => {
651
622
  const current = api.route.current;
652
623
  const resolved = typeof current === 'function' ? current() : current;
653
624
  return resolved
654
625
  ?.params?.sessionID;
655
626
  },
656
- dispatch: async (notification) => {
627
+ dispatch: (notification) => {
657
628
  logger.debug('rpc-notification-received', {
658
- command: notification.payload.command,
659
629
  id: notification.id,
660
630
  sessionId: notification.sessionId,
661
631
  });
662
- // Call the imperative dispatcher directly — the prior
663
- // two-phase `collectDialogFlow` + `renderDialogFlow` is gone.
664
- // The dispatcher awaits `apply`, toasts the result, then clears
665
- // (or replaces for multi-step flows). The RPC `apply` accepts the
666
- // optional `timeoutMs` knob so account add / refresh can opt into
667
- // the 120s RPC timeout without the dialog layer having to know
668
- // about it.
669
- if (notification.payload.command === 'antigravity-quota') {
670
- api.ui.dialog.setSize('xlarge');
671
- api.ui.dialog.replace(() => (_jsx(QuotaDialogContent, { api: api, controller: getSidebarController(), sessionId: notification.sessionId })));
672
- return;
673
- }
674
- openCommandDialog(api, notification.payload, (command, args, options) => rpcClient.apply({ command, arguments: args, sessionId: notification.sessionId }, options));
632
+ dispatchV1Notification(api, transport, notification, logger);
675
633
  },
676
634
  schedule: (poll, intervalMs) => {
677
635
  setInterval(() => void poll(), intervalMs);