@cortexkit/opencode-antigravity-auth 2.2.1 → 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 +40914 -16441
  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 -1352
  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
@@ -1,18 +1,49 @@
1
+ import { type AccountManager as CoreAccountManager, type EnrollmentAuthority } from '@cortexkit/antigravity-auth-core';
1
2
  import { AccountManager } from './accounts';
2
3
  import type { AntigravityConfig } from './config';
3
4
  import { getLogFilePath, isDebugEnabled } from './debug';
5
+ import type { FetchImpl } from './dependencies';
4
6
  import type { PluginLifecycle } from './lifecycle';
5
- import { createProactiveRefreshQueue } from './refresh-queue';
6
- import { clearAccounts, loadAccounts } from './storage';
7
+ import { createLocationProactiveRefreshQueue, createProactiveRefreshQueue } from './refresh-queue';
8
+ import { type AccountStoreOpening, clearAccounts, loadAccounts } from './storage';
7
9
  import type { GetAuth, LoaderResult, PluginClient, Provider } from './types';
8
10
  export interface AuthFetchRuntime {
9
11
  fetch: LoaderResult['fetch'];
10
12
  dispose(): Promise<void> | void;
11
13
  }
14
+ /**
15
+ * The runtime of this plugin's own accounts. A reload retires the runtime it
16
+ * replaces instead of disposing it: requests it already admitted keep
17
+ * running on the account manager they started with, and that manager is
18
+ * disposed only after they finish.
19
+ */
20
+ export interface LocalFetchRuntime extends AuthFetchRuntime {
21
+ /** Refuses new requests; resolves once admitted requests have finished. */
22
+ retire(): Promise<void>;
23
+ }
24
+ /**
25
+ * Request routing uses the repository manager for an active account store.
26
+ * The pool-file manager remains only for the fresh-install compatibility
27
+ * path; an existing pool cannot serve before explicit offline migration.
28
+ */
29
+ export type RuntimeAccountManager = AccountManager | CoreAccountManager;
12
30
  export type CreateAuthFetch = (input: {
13
- accountManager: AccountManager;
31
+ accountManager: RuntimeAccountManager;
14
32
  getAuth: GetAuth;
15
- }) => AuthFetchRuntime;
33
+ /**
34
+ * Where `accountManager`'s accounts come from: the pool file, or the
35
+ * account store through the repository of the same opening the manager
36
+ * was loaded from.
37
+ */
38
+ source: {
39
+ kind: 'pool-file';
40
+ } | {
41
+ kind: 'store';
42
+ repository: Extract<AccountStoreOpening, {
43
+ status: 'ready';
44
+ }>['repository'];
45
+ };
46
+ }) => LocalFetchRuntime;
16
47
  /**
17
48
  * Loader returned by `createAuthLoader`. The function loads the
18
49
  * account pool from disk and installs the runtime.
@@ -27,24 +58,57 @@ export type ReloadAccountRuntime = (getAuth: GetAuth) => Promise<void>;
27
58
  export interface AuthLoaderHandle {
28
59
  load: LoadAndInstallRuntime;
29
60
  reload: ReloadAccountRuntime;
61
+ /**
62
+ * This plugin's single opening of its account pool's store. OAuth
63
+ * additions and account commands must use this same opening, so they
64
+ * write through the very repository request routing reads.
65
+ */
66
+ accountStore(): Promise<AccountStoreOpening>;
67
+ /** Whether that opening leaves the pool file as the source of accounts. */
68
+ usesPoolFile(opening: AccountStoreOpening): boolean;
69
+ /**
70
+ * The explicit first-account step of a genuinely fresh installation: when
71
+ * the plugin's account pool has neither a pool file nor a store
72
+ * (`initialization-required`), creates an empty account store and opens
73
+ * it, so the first login is admitted by the store rather than written to
74
+ * a new pool file. Any other opening is returned unchanged; nothing is
75
+ * initialized over an existing pool file or store.
76
+ */
77
+ initializeFreshStore(): Promise<AccountStoreOpening>;
30
78
  }
31
79
  interface AuthLoaderDependencies {
32
80
  loadAccounts: typeof loadAccounts;
33
81
  clearAccounts: typeof clearAccounts;
34
82
  loadAccountManager(auth: Parameters<typeof AccountManager.loadFromDisk>[0]): Promise<AccountManager>;
35
83
  createRefreshQueue: typeof createProactiveRefreshQueue;
84
+ /** The proactive queue of a store-backed manager; see `installRuntime`. */
85
+ createStoreRefreshQueue: typeof createLocationProactiveRefreshQueue;
86
+ /** Creates the empty store of a fresh installation. */
87
+ initializeFreshStore(): Promise<{
88
+ status: string;
89
+ }>;
36
90
  isDebugEnabled: typeof isDebugEnabled;
37
91
  getLogFilePath: typeof getLogFilePath;
92
+ /**
93
+ * Opens the account store (`openAccountStore`). An existing unmigrated pool
94
+ * makes local requests unavailable without loading the pool. Pending work,
95
+ * rollback, or invalid store files refuse rather than falling back to it.
96
+ */
97
+ openAccountStore(): Promise<AccountStoreOpening>;
38
98
  }
39
99
  interface CreateAuthLoaderOptions {
100
+ publishSidebar?: () => Promise<void>;
40
101
  client: PluginClient;
41
102
  providerId: string;
42
103
  config: AntigravityConfig;
43
104
  lifecycle: PluginLifecycle;
44
105
  createFetch: CreateAuthFetch;
106
+ fetchImpl?: FetchImpl;
107
+ readAuthority?: () => Promise<EnrollmentAuthority>;
108
+ createVaultFetch?: () => Promise<AuthFetchRuntime>;
45
109
  onGetAuth?(getAuth: GetAuth): void;
46
110
  dependencies?: Partial<AuthLoaderDependencies>;
47
111
  }
48
- export declare function createAuthLoader({ client, providerId, config, lifecycle, createFetch, onGetAuth, dependencies, }: CreateAuthLoaderOptions): LoadAndInstallRuntime & AuthLoaderHandle;
112
+ export declare function createAuthLoader({ publishSidebar, client, providerId, config, lifecycle, createFetch, fetchImpl, readAuthority, createVaultFetch, onGetAuth, dependencies, }: CreateAuthLoaderOptions): LoadAndInstallRuntime & AuthLoaderHandle;
49
113
  export {};
50
114
  //# sourceMappingURL=auth-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-loader.d.ts","sourceRoot":"","sources":["../../../src/plugin/auth-loader.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAM3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EACL,2BAA2B,EAE5B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAEL,aAAa,EACb,YAAY,EACb,MAAM,WAAW,CAAA;AAClB,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,QAAQ,EAET,MAAM,SAAS,CAAA;AAgBhB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;IAC5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAChC;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE;IACpC,cAAc,EAAE,cAAc,CAAA;IAC9B,OAAO,EAAE,OAAO,CAAA;CACjB,KAAK,gBAAgB,CAAA;AAEtB;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,KACf,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAEpD;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEtE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,qBAAqB,CAAA;IAC3B,MAAM,EAAE,oBAAoB,CAAA;CAC7B;AAED,UAAU,sBAAsB;IAC9B,YAAY,EAAE,OAAO,YAAY,CAAA;IACjC,aAAa,EAAE,OAAO,aAAa,CAAA;IACnC,kBAAkB,CAChB,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACtD,OAAO,CAAC,cAAc,CAAC,CAAA;IAC1B,kBAAkB,EAAE,OAAO,2BAA2B,CAAA;IACtD,cAAc,EAAE,OAAO,cAAc,CAAA;IACrC,cAAc,EAAE,OAAO,cAAc,CAAA;CACtC;AAED,UAAU,uBAAuB;IAC/B,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,iBAAiB,CAAA;IACzB,SAAS,EAAE,eAAe,CAAA;IAC1B,WAAW,EAAE,eAAe,CAAA;IAC5B,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;CAC/C;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,UAAU,EACV,MAAM,EACN,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,GACb,EAAE,uBAAuB,GAAG,qBAAqB,GAAG,gBAAgB,CA2OpE"}
1
+ {"version":3,"file":"auth-loader.d.ts","sourceRoot":"","sources":["../../../src/plugin/auth-loader.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,IAAI,kBAAkB,EAEzC,KAAK,mBAAmB,EAKzB,MAAM,kCAAkC,CAAA;AAOzC,OAAO,EACL,cAAc,EAGf,MAAM,YAAY,CAAA;AAMnB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EACL,mCAAmC,EACnC,2BAA2B,EAE5B,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAEL,KAAK,mBAAmB,EACxB,aAAa,EAEb,YAAY,EAGb,MAAM,WAAW,CAAA;AAElB,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,QAAQ,EAET,MAAM,SAAS,CAAA;AAgBhB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;IAC5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAChC;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,2EAA2E;IAC3E,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAEvE,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE;IACpC,cAAc,EAAE,qBAAqB,CAAA;IACrC,OAAO,EAAE,OAAO,CAAA;IAChB;;;;OAIG;IACH,MAAM,EACF;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,GACrB;QACE,IAAI,EAAE,OAAO,CAAA;QACb,UAAU,EAAE,OAAO,CACjB,mBAAmB,EACnB;YAAE,MAAM,EAAE,OAAO,CAAA;SAAE,CACpB,CAAC,YAAY,CAAC,CAAA;KAChB,CAAA;CACN,KAAK,iBAAiB,CAAA;AAEvB;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,KACf,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAEpD;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEtE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,qBAAqB,CAAA;IAC3B,MAAM,EAAE,oBAAoB,CAAA;IAC5B;;;;OAIG;IACH,YAAY,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC5C,2EAA2E;IAC3E,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAA;IACnD;;;;;;;OAOG;IACH,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAA;CACrD;AAED,UAAU,sBAAsB;IAC9B,YAAY,EAAE,OAAO,YAAY,CAAA;IACjC,aAAa,EAAE,OAAO,aAAa,CAAA;IACnC,kBAAkB,CAChB,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACtD,OAAO,CAAC,cAAc,CAAC,CAAA;IAC1B,kBAAkB,EAAE,OAAO,2BAA2B,CAAA;IACtD,2EAA2E;IAC3E,uBAAuB,EAAE,OAAO,mCAAmC,CAAA;IACnE,uDAAuD;IACvD,oBAAoB,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACnD,cAAc,EAAE,OAAO,cAAc,CAAA;IACrC,cAAc,EAAE,OAAO,cAAc,CAAA;IACrC;;;;OAIG;IACH,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAA;CACjD;AAiDD,UAAU,uBAAuB;IAC/B,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,iBAAiB,CAAA;IACzB,SAAS,EAAE,eAAe,CAAA;IAC1B,WAAW,EAAE,eAAe,CAAA;IAC5B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAClD,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAClD,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;CAC/C;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,cAAc,EACd,MAAM,EACN,UAAU,EACV,MAAM,EACN,SAAS,EACT,WAAW,EACX,SAA0D,EAC1D,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,YAAY,GACb,EAAE,uBAAuB,GAAG,qBAAqB,GAAG,gBAAgB,CAkgBpE"}
@@ -1,13 +1,15 @@
1
1
  import { createHash } from 'node:crypto';
2
- import { getHealthTracker } from '@cortexkit/antigravity-auth-core';
2
+ import { createAccountRepositoryFactory, getHealthTracker, loadCommonAuthClaustrum, loadCommonAuthStoreModules, VAULT_ACCOUNT_REMEDY, } from '@cortexkit/antigravity-auth-core';
3
3
  import { buildSidebarMachineStateFromAccounts, isAccountCurrent, setSidebarMachineState, toCapturedTier, } from '../sidebar-state';
4
- import { AccountManager } from './accounts';
4
+ import { AccountManager, createLocalAccountCredentials, loadAccountManagerFromRepository, } from './accounts';
5
5
  import { isOAuthAuth } from './auth';
6
6
  import { buildAuthFromStoredAccount, detectAuthStorageDrift, } from './auth-drift';
7
7
  import { getLogFilePath, isDebugEnabled } from './debug';
8
8
  import { createLogger } from './logger';
9
- import { createProactiveRefreshQueue, } from './refresh-queue';
10
- import { AccountStorageUnreadableError, clearAccounts, loadAccounts, } from './storage';
9
+ import { createLocationProactiveRefreshQueue, createProactiveRefreshQueue, } from './refresh-queue';
10
+ import { isGenerativeLanguageRequest } from './request';
11
+ import { AccountStorageUnreadableError, clearAccounts, initializeFreshAccountStoreFor, loadAccounts, openAccountStore, UNMIGRATED_ACCOUNT_MESSAGE, } from './storage';
12
+ import { createAntigravityTokenExchange } from './token';
11
13
  const log = createLogger('auth-loader');
12
14
  /**
13
15
  * Opaque identity derived from a refresh token. Mirrors the local
@@ -20,29 +22,113 @@ const log = createLogger('auth-loader');
20
22
  function refreshTokenIdentity(refreshToken) {
21
23
  return createHash('sha256').update(refreshToken).digest('hex').slice(0, 16);
22
24
  }
23
- export function createAuthLoader({ client, providerId, config, lifecycle, createFetch, onGetAuth, dependencies, }) {
25
+ async function initializeDefaultFreshStore() {
26
+ return initializeFreshAccountStoreFor(await loadCommonAuthStoreModules());
27
+ }
28
+ async function openDefaultAccountStore() {
29
+ const modules = await loadCommonAuthStoreModules();
30
+ return openAccountStore({
31
+ modules,
32
+ createRepository: createAccountRepositoryFactory(modules),
33
+ exchange: createAntigravityTokenExchange(),
34
+ });
35
+ }
36
+ /**
37
+ * A fresh installation may still obtain its first account. An existing pool
38
+ * needs explicit offline migration before local accounts can be used; absence
39
+ * of a store pointer is not permission to serve or update that pool.
40
+ */
41
+ function usesPoolFile(opening) {
42
+ return opening.status === 'initialization-required';
43
+ }
44
+ async function fetchWithoutLocalAccounts(input, init, upstreamFetch) {
45
+ if (!isGenerativeLanguageRequest(input))
46
+ return upstreamFetch(input, init);
47
+ const callerSignal = init?.signal !== undefined
48
+ ? init.signal
49
+ : input instanceof Request
50
+ ? input.signal
51
+ : undefined;
52
+ callerSignal?.throwIfAborted();
53
+ return Response.json({
54
+ error: {
55
+ code: 412,
56
+ status: 'FAILED_PRECONDITION',
57
+ message: UNMIGRATED_ACCOUNT_MESSAGE,
58
+ },
59
+ }, { status: 412 });
60
+ }
61
+ export function createAuthLoader({ publishSidebar, client, providerId, config, lifecycle, createFetch, fetchImpl = (input, init) => globalThis.fetch(input, init), readAuthority, createVaultFetch, onGetAuth, dependencies, }) {
24
62
  const deps = {
25
63
  loadAccounts: dependencies?.loadAccounts ?? loadAccounts,
26
64
  clearAccounts: dependencies?.clearAccounts ?? clearAccounts,
27
65
  loadAccountManager: dependencies?.loadAccountManager ??
28
66
  ((auth) => AccountManager.loadFromDisk(auth)),
29
67
  createRefreshQueue: dependencies?.createRefreshQueue ?? createProactiveRefreshQueue,
68
+ createStoreRefreshQueue: dependencies?.createStoreRefreshQueue ??
69
+ createLocationProactiveRefreshQueue,
70
+ initializeFreshStore: dependencies?.initializeFreshStore ?? initializeDefaultFreshStore,
30
71
  isDebugEnabled: dependencies?.isDebugEnabled ?? isDebugEnabled,
31
72
  getLogFilePath: dependencies?.getLogFilePath ?? getLogFilePath,
73
+ openAccountStore: dependencies?.openAccountStore ?? openDefaultAccountStore,
74
+ };
75
+ // The account store is opened once per plugin; reloads read the same
76
+ // repository again, and it is closed with the plugin.
77
+ let storeOpening = null;
78
+ const openStore = () => {
79
+ storeOpening ??= deps.openAccountStore().then((opening) => {
80
+ if (opening.status === 'ready') {
81
+ lifecycle.register({
82
+ async dispose() {
83
+ await opening.repository.dispose();
84
+ },
85
+ });
86
+ }
87
+ return opening;
88
+ });
89
+ return storeOpening;
90
+ };
91
+ const initializeFreshStore = async () => {
92
+ const opening = await openStore();
93
+ if (opening.status !== 'initialization-required')
94
+ return opening;
95
+ const initialized = await deps.initializeFreshStore();
96
+ if (initialized.status !== 'completed') {
97
+ throw new Error('The new account store could not be created yet; try again');
98
+ }
99
+ storeOpening = null;
100
+ return openStore();
101
+ };
102
+ let closed = false;
103
+ const isClosed = () => closed || lifecycle.isClosing();
104
+ const assertOpen = () => {
105
+ if (isClosed())
106
+ throw new Error('The account loader is disposed');
32
107
  };
33
108
  let fetchRuntime = null;
109
+ let localUnavailable = false;
110
+ let vaultFetchRuntime = null;
111
+ let currentRequestSource;
112
+ let latestGetAuth;
113
+ // The reload started by the first local request after vault custody (or
114
+ // before any local runtime exists). Concurrent requests join it instead of
115
+ // each installing a runtime of their own.
116
+ let localRequestReload = null;
34
117
  // Reload chain — `installRuntime` swaps the fetch runtime and
35
- // (previously) discarded the previous runtime's dispose with `void`,
36
- // so two overlapping reloads could interleave teardown. Serialize
118
+ // overlapping reloads must not interleave the swap. Serialize
37
119
  // reloads through a single shared promise so each new install waits
38
- // for the previous one to fully settle (including its dispose)
39
- // before tearing down the runtime it depends on.
120
+ // for the previous one to settle before replacing the runtime it
121
+ // installed.
40
122
  let reloadChain = Promise.resolve();
41
123
  lifecycle.register({
42
124
  async dispose() {
43
- const runtime = fetchRuntime;
125
+ closed = true;
126
+ await reloadChain;
127
+ // Every local runtime was handed to the lifecycle, which aborts and
128
+ // drains it (and every retired one) before disposing their managers.
44
129
  fetchRuntime = null;
45
- await runtime?.dispose();
130
+ await (await vaultFetchRuntime?.catch(() => null))?.dispose();
131
+ vaultFetchRuntime = null;
46
132
  },
47
133
  }, 'producer');
48
134
  // Reload hook: invoked after out-of-band storage mutations (e.g.
@@ -50,57 +136,192 @@ export function createAuthLoader({ client, providerId, config, lifecycle, create
50
136
  // newly-persisted account without waiting for a plugin restart. The
51
137
  // handle returned below wires this through to the OAuth finish flow.
52
138
  let reloadRuntime = async () => { };
53
- const installRuntime = async (accountManager, getAuth) => {
139
+ const installRuntime = async (accountManager, getAuth, source) => {
140
+ if (isClosed()) {
141
+ await accountManager.dispose();
142
+ throw new Error('The account loader is disposed');
143
+ }
144
+ currentRequestSource = 'local';
145
+ localUnavailable = false;
54
146
  if (accountManager.getAccountCount() > 0) {
55
147
  accountManager.requestSaveToDisk();
56
148
  }
149
+ // Proactive refresh. The pool-file queue refreshes through the host
150
+ // client and writes the new token back into the pool-file record; for a
151
+ // store-backed manager that would bypass the store, which accepts a new
152
+ // token only from the repository's own refresh fenced on the row's
153
+ // credential. So a store-backed manager gets its own queue whose
154
+ // refresher is `createLocalAccountCredentials(manager).refresh`: each
155
+ // due account is refreshed through the repository on that account's
156
+ // RowRef, and the host client is never used.
57
157
  let refreshQueue = null;
158
+ const queueConfig = {
159
+ ...(readAuthority && {
160
+ mayRun: async () => (await readAuthority()) === 'local',
161
+ }),
162
+ enabled: config.proactive_token_refresh,
163
+ bufferSeconds: config.proactive_refresh_buffer_seconds,
164
+ checkIntervalSeconds: config.proactive_refresh_check_interval_seconds,
165
+ };
58
166
  if (config.proactive_token_refresh &&
59
167
  accountManager.getAccountCount() > 0) {
60
- refreshQueue = deps.createRefreshQueue(client, providerId, {
61
- enabled: config.proactive_token_refresh,
62
- bufferSeconds: config.proactive_refresh_buffer_seconds,
63
- checkIntervalSeconds: config.proactive_refresh_check_interval_seconds,
168
+ if (source === 'pool-file' && accountManager instanceof AccountManager) {
169
+ refreshQueue = deps.createRefreshQueue(client, providerId, queueConfig);
170
+ refreshQueue.setAccountManager(accountManager);
171
+ }
172
+ else if (source === 'store') {
173
+ const opening = await openStore();
174
+ if (isClosed()) {
175
+ await accountManager.dispose();
176
+ throw new Error('The account loader is disposed');
177
+ }
178
+ if (opening.status !== 'ready') {
179
+ throw new Error('the account store closed while it was in use');
180
+ }
181
+ const credentials = createLocalAccountCredentials(accountManager, {
182
+ repository: opening.repository,
183
+ });
184
+ refreshQueue = deps.createStoreRefreshQueue({
185
+ logger: log,
186
+ refreshToken: (_auth, account) => credentials.refresh(account),
187
+ }, queueConfig);
188
+ refreshQueue.setAccountManager(accountManager);
189
+ }
190
+ }
191
+ // A store-backed manager was loaded from this plugin's single store
192
+ // opening; its fetch checks every send against that same repository.
193
+ const opening = source === 'store' ? await openStore() : undefined;
194
+ if (isClosed() || (opening !== undefined && opening.status !== 'ready')) {
195
+ await refreshQueue?.dispose();
196
+ await accountManager.dispose();
197
+ throw new Error(isClosed()
198
+ ? 'The account loader is disposed'
199
+ : 'the account store closed while it was in use');
200
+ }
201
+ const nextRuntime = createFetch({
202
+ accountManager,
203
+ getAuth,
204
+ source: opening === undefined
205
+ ? { kind: 'pool-file' }
206
+ : { kind: 'store', repository: opening.repository },
207
+ });
208
+ // Route new requests to the new runtime FIRST, so the host's captured
209
+ // fetch (a call-time delegating wrapper below) never reaches a runtime
210
+ // after it is retired. The lifecycle then retires the previous runtime:
211
+ // it refuses new requests but finishes the ones it already admitted, and
212
+ // its account manager is disposed only after they have finished.
213
+ fetchRuntime = nextRuntime;
214
+ let published;
215
+ try {
216
+ published = await lifecycle.replaceAccountRuntime(accountManager, refreshQueue, {
217
+ retire: () => nextRuntime.retire(),
218
+ // The lifecycle disposes a request runtime only while it is itself
219
+ // disposing; stop admitting requests before their runtime aborts.
220
+ dispose: async () => {
221
+ closed = true;
222
+ await nextRuntime.dispose();
223
+ },
64
224
  });
65
- refreshQueue.setAccountManager(accountManager);
66
225
  }
67
- await lifecycle.replaceAccountRuntime(accountManager, refreshQueue);
226
+ catch (error) {
227
+ // Nothing owns the new runtime when it was not published; close it
228
+ // and leave no runtime to route to, rather than an untracked one.
229
+ if (fetchRuntime === nextRuntime)
230
+ fetchRuntime = null;
231
+ await nextRuntime.dispose();
232
+ await refreshQueue?.dispose();
233
+ await accountManager.dispose();
234
+ throw error;
235
+ }
236
+ if (!published)
237
+ throw new Error('The account loader is disposed');
238
+ assertOpen();
68
239
  refreshQueue?.start();
69
- // Swap the fetch runtime FIRST so the host's captured fetch
70
- // reference (a call-time delegating wrapper below) immediately
71
- // routes through the new interceptor, then await the previous
72
- // runtime's dispose. The swap-then-dispose order guarantees there
73
- // is no fetch gap between the old and new runtimes.
74
- const previousRuntime = fetchRuntime;
75
- fetchRuntime = createFetch({ accountManager, getAuth });
76
- await previousRuntime?.dispose();
77
240
  // Push the freshly materialized account pool into the sidebar so the
78
241
  // TUI's next poll renders the labels / health / cooldown it needs
79
242
  // without waiting for the first fetch to complete.
80
- await setSidebarMachineState(buildSidebarMachineStateFromAccounts(accountManager.getAccounts().map((entry) => {
81
- const activeByFamily = accountManager.getActiveIndexByFamily();
82
- return {
83
- index: entry.index,
84
- label: entry.label,
85
- enabled: entry.enabled,
86
- current: isAccountCurrent(entry.index, activeByFamily),
87
- coolingDownUntil: entry.coolingDownUntil,
88
- healthScore: getHealthTracker().getScore(entry.index),
89
- cachedQuota: entry.cachedQuota,
90
- // Stamp the sidebar snapshot so the projection can detect a
91
- // stale cache that landed on the wrong account (the manager's
92
- // `cachedQuotaAccountId` is keyed to whatever account actually
93
- // produced the snapshot — the live refresh-token hash is the
94
- // expected identity at this slot).
95
- cachedQuotaAccountId: entry.cachedQuotaAccountId,
96
- currentQuotaAccountId: refreshTokenIdentity(entry.parts.refreshToken),
97
- tier: toCapturedTier(entry),
98
- };
99
- })));
243
+ if (publishSidebar)
244
+ await publishSidebar();
245
+ else
246
+ await setSidebarMachineState(buildSidebarMachineStateFromAccounts(accountManager.getAccounts().map((entry) => {
247
+ const activeByFamily = accountManager.getActiveIndexByFamily();
248
+ return {
249
+ index: entry.index,
250
+ label: entry.label,
251
+ enabled: entry.enabled,
252
+ current: isAccountCurrent(entry.index, activeByFamily),
253
+ coolingDownUntil: entry.coolingDownUntil,
254
+ healthScore: getHealthTracker().getScore(entry.index),
255
+ cachedQuota: entry.cachedQuota,
256
+ cachedQuotaUpdatedAt: entry.cachedQuotaUpdatedAt,
257
+ // Stamp the sidebar snapshot so the projection can detect a
258
+ // stale cache that landed on the wrong account (the manager's
259
+ // `cachedQuotaAccountId` is keyed to whatever account actually
260
+ // produced the snapshot — the live refresh-token hash is the
261
+ // expected identity at this slot).
262
+ cachedQuotaAccountId: entry.cachedQuotaAccountId,
263
+ currentQuotaAccountId: refreshTokenIdentity(entry.parts.refreshToken),
264
+ tier: toCapturedTier(entry),
265
+ };
266
+ })));
100
267
  };
268
+ async function readLocalHostAuth(getAuth) {
269
+ const auth = await getAuth();
270
+ assertOpen();
271
+ // After disconnect, the activation marker is not a local account.
272
+ // Refuse before opening or repairing the pool; a real sign-in is required.
273
+ const claustrum = await loadCommonAuthClaustrum();
274
+ assertOpen();
275
+ claustrum.assertHostSlotMatchesMode({
276
+ mode: 'local',
277
+ auth,
278
+ provider: providerId,
279
+ });
280
+ return auth;
281
+ }
101
282
  async function runLoader(getAuth, provider) {
283
+ assertOpen();
102
284
  onGetAuth?.(getAuth);
103
- let auth = await getAuth();
285
+ latestGetAuth = getAuth;
286
+ const authority = (await readAuthority?.()) ?? 'local';
287
+ assertOpen();
288
+ if (authority !== 'local')
289
+ return finishLoad(provider);
290
+ let auth = await readLocalHostAuth(getAuth);
291
+ assertOpen();
292
+ const opening = await openStore();
293
+ assertOpen();
294
+ if (opening.status === 'migration-required') {
295
+ localUnavailable = true;
296
+ currentRequestSource = 'local';
297
+ return finishLoad(provider);
298
+ }
299
+ if (opening.status === 'ready') {
300
+ // This plugin's account pool now comes only from the store's
301
+ // repository; the retired pool file is never read or cleared here.
302
+ if (!isOAuthAuth(auth) && !readAuthority) {
303
+ log.warn('The host holds no Antigravity sign-in; the account store is left untouched');
304
+ return {};
305
+ }
306
+ const accountManager = await loadAccountManagerFromRepository(opening.repository);
307
+ await installRuntime(accountManager, getAuth, 'store');
308
+ return finishLoad(provider);
309
+ }
310
+ if (!usesPoolFile(opening)) {
311
+ const message = opening.status === 'refused' || opening.status === 'recovery-required'
312
+ ? opening.message
313
+ : 'The Antigravity account store cannot be opened';
314
+ log.error('Refusing to start: the account store cannot serve', {
315
+ message,
316
+ });
317
+ try {
318
+ await client.tui.showToast({
319
+ body: { message, variant: 'error', duration: 30_000 },
320
+ });
321
+ }
322
+ catch { }
323
+ throw new Error(message);
324
+ }
104
325
  if (!isOAuthAuth(auth)) {
105
326
  let storedAccounts;
106
327
  try {
@@ -131,6 +352,7 @@ export function createAuthLoader({ client, providerId, config, lifecycle, create
131
352
  }
132
353
  throw error;
133
354
  }
355
+ assertOpen();
134
356
  const drift = detectAuthStorageDrift(auth, storedAccounts);
135
357
  if (drift.status === 'restorable' && drift.account) {
136
358
  auth = buildAuthFromStoredAccount(drift.account);
@@ -155,6 +377,7 @@ export function createAuthLoader({ client, providerId, config, lifecycle, create
155
377
  }
156
378
  }
157
379
  if (!isOAuthAuth(auth)) {
380
+ assertOpen();
158
381
  try {
159
382
  await deps.clearAccounts();
160
383
  }
@@ -162,7 +385,11 @@ export function createAuthLoader({ client, providerId, config, lifecycle, create
162
385
  return {};
163
386
  }
164
387
  const accountManager = await deps.loadAccountManager(auth);
165
- await installRuntime(accountManager, getAuth);
388
+ await installRuntime(accountManager, getAuth, 'pool-file');
389
+ return finishLoad(provider);
390
+ }
391
+ async function finishLoad(provider) {
392
+ assertOpen();
166
393
  if (deps.isDebugEnabled()) {
167
394
  const logPath = deps.getLogFilePath();
168
395
  if (logPath) {
@@ -174,6 +401,7 @@ export function createAuthLoader({ client, providerId, config, lifecycle, create
174
401
  catch { }
175
402
  }
176
403
  }
404
+ assertOpen();
177
405
  if (provider.models) {
178
406
  for (const model of Object.values(provider.models)) {
179
407
  if (model)
@@ -189,15 +417,86 @@ export function createAuthLoader({ client, providerId, config, lifecycle, create
189
417
  // through the OLD interceptor after an OAuth add. The wrapper
190
418
  // matches the host's `LoaderResult.fetch` signature exactly
191
419
  // (no `this` binding) so behavior is preserved.
192
- fetch: (input, init) => fetchRuntime.fetch(input, init),
420
+ fetch: async (input, init) => {
421
+ assertOpen();
422
+ const authority = (await readAuthority?.()) ?? 'local';
423
+ // Shutdown may have begun while the authority was read; nothing is
424
+ // built or sent after admission closes, even while disposal drains.
425
+ assertOpen();
426
+ if (authority === 'unreadable')
427
+ throw new Error(VAULT_ACCOUNT_REMEDY);
428
+ if (authority === 'vault') {
429
+ currentRequestSource = 'vault';
430
+ if (!createVaultFetch)
431
+ throw new Error(VAULT_ACCOUNT_REMEDY);
432
+ vaultFetchRuntime ??= createVaultFetch().catch((error) => {
433
+ vaultFetchRuntime = null;
434
+ throw error;
435
+ });
436
+ const vaultRuntime = await vaultFetchRuntime;
437
+ assertOpen();
438
+ return vaultRuntime.fetch(input, init);
439
+ }
440
+ // Check authority first: an approved vault remains usable even when
441
+ // this location's local pool is waiting for offline migration.
442
+ if (localUnavailable) {
443
+ return fetchWithoutLocalAccounts(input, init, fetchImpl);
444
+ }
445
+ if (readAuthority &&
446
+ (localRequestReload ||
447
+ currentRequestSource !== 'local' ||
448
+ !fetchRuntime)) {
449
+ if (!latestGetAuth)
450
+ throw new Error('The host sign-in reader is unavailable');
451
+ // Requests arriving together share one reload, so a later one
452
+ // never replaces the runtime an earlier one is already sending on.
453
+ if (!localRequestReload) {
454
+ const started = reload(latestGetAuth).finally(() => {
455
+ if (localRequestReload === started)
456
+ localRequestReload = null;
457
+ });
458
+ localRequestReload = started;
459
+ }
460
+ await localRequestReload;
461
+ assertOpen();
462
+ if ((await readAuthority()) !== 'local')
463
+ throw new Error(VAULT_ACCOUNT_REMEDY);
464
+ assertOpen();
465
+ }
466
+ if (localUnavailable)
467
+ return fetchWithoutLocalAccounts(input, init, fetchImpl);
468
+ if (currentRequestSource !== 'local' || !fetchRuntime)
469
+ throw new Error('The local account runtime is unavailable');
470
+ return fetchRuntime.fetch(input, init);
471
+ },
193
472
  };
194
473
  }
195
474
  reloadRuntime = async (getAuth) => {
196
- const auth = await getAuth();
197
- if (!isOAuthAuth(auth))
475
+ assertOpen();
476
+ const authority = (await readAuthority?.()) ?? 'local';
477
+ assertOpen();
478
+ if (authority !== 'local')
479
+ return;
480
+ const auth = await readLocalHostAuth(getAuth);
481
+ assertOpen();
482
+ if (!isOAuthAuth(auth) && !readAuthority)
483
+ return;
484
+ const opening = await openStore();
485
+ assertOpen();
486
+ if (opening.status === 'migration-required') {
487
+ localUnavailable = true;
488
+ currentRequestSource = 'local';
489
+ return;
490
+ }
491
+ if (opening.status === 'ready') {
492
+ const nextManager = await loadAccountManagerFromRepository(opening.repository);
493
+ await installRuntime(nextManager, getAuth, 'store');
494
+ return;
495
+ }
496
+ if (!usesPoolFile(opening) || !isOAuthAuth(auth))
198
497
  return;
199
498
  const nextManager = await deps.loadAccountManager(auth);
200
- await installRuntime(nextManager, getAuth);
499
+ await installRuntime(nextManager, getAuth, 'pool-file');
201
500
  };
202
501
  // Return a callable object: `plugin.auth.loader` is invoked with
203
502
  // `(getAuth, provider)` (host contract), and `authLoader.reload(...)`
@@ -208,6 +507,7 @@ export function createAuthLoader({ client, providerId, config, lifecycle, create
208
507
  return runLoader(getAuth, provider);
209
508
  }
210
509
  async function reload(getAuth) {
510
+ assertOpen();
211
511
  const next = reloadChain.then(() => reloadRuntime(getAuth));
212
512
  reloadChain = next.catch(() => { });
213
513
  return next;
@@ -219,6 +519,9 @@ export function createAuthLoader({ client, providerId, config, lifecycle, create
219
519
  const authLoader = Object.assign(authLoaderCallable, {
220
520
  reload,
221
521
  load: authLoaderCallable,
522
+ accountStore: openStore,
523
+ usesPoolFile,
524
+ initializeFreshStore,
222
525
  });
223
526
  return authLoader;
224
527
  }