@cortexkit/opencode-antigravity-auth 3.0.5 → 3.0.6

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 (370) hide show
  1. package/README.md +38 -352
  2. package/dist/cli.js +9199 -8799
  3. package/dist/cli.js.map +4 -4
  4. package/dist/cli.meta.json +1286 -1064
  5. package/dist/index.js +13641 -14559
  6. package/dist/index.js.map +4 -4
  7. package/dist/index.meta.json +1333 -1342
  8. package/dist/server.js +10618 -11080
  9. package/dist/server.js.map +4 -4
  10. package/dist/server.meta.json +1 -1
  11. package/dist/src/auth-method-labels.d.ts +3 -0
  12. package/dist/src/auth-method-labels.d.ts.map +1 -0
  13. package/dist/src/auth-method-labels.js +5 -0
  14. package/dist/src/auth-method-labels.js.map +1 -0
  15. package/dist/src/cli.d.ts +3 -1
  16. package/dist/src/cli.d.ts.map +1 -1
  17. package/dist/src/cli.js +98 -12
  18. package/dist/src/cli.js.map +1 -1
  19. package/dist/src/common-auth-embedded/claustrum/consumer.d.ts +33 -3
  20. package/dist/src/common-auth-embedded/claustrum/consumer.js +96 -1
  21. package/dist/src/common-auth-embedded/claustrum/custody.d.ts +4 -1
  22. package/dist/src/common-auth-embedded/claustrum/enrollment.d.ts +6 -1
  23. package/dist/src/common-auth-embedded/claustrum/enrollment.js +6 -1
  24. package/dist/src/common-auth-embedded/claustrum/index.d.ts +2 -1
  25. package/dist/src/common-auth-embedded/claustrum/index.js +5 -3
  26. package/dist/src/common-auth-embedded/claustrum/insula.d.ts +69 -0
  27. package/dist/src/common-auth-embedded/claustrum/insula.js +152 -0
  28. package/dist/src/common-auth-embedded/claustrum/roster.d.ts +13 -0
  29. package/dist/src/common-auth-embedded/claustrum/roster.js +33 -3
  30. package/dist/src/common-auth-embedded/fs/refresh-file-lock.js +20 -11
  31. package/dist/src/common-auth-embedded/quota/codec.d.ts +2 -0
  32. package/dist/src/common-auth-embedded/quota/codec.js +2 -1
  33. package/dist/src/common-auth-embedded/quota/format.d.ts +26 -0
  34. package/dist/src/common-auth-embedded/quota/format.js +78 -42
  35. package/dist/src/common-auth-embedded/quota/index.d.ts +4 -4
  36. package/dist/src/common-auth-embedded/quota/index.js +2 -2
  37. package/dist/src/common-auth-embedded/quota/map.d.ts +11 -0
  38. package/dist/src/common-auth-embedded/quota/map.js +36 -1
  39. package/dist/src/common-auth-embedded/quota/merge.d.ts +3 -1
  40. package/dist/src/common-auth-embedded/quota/merge.js +21 -5
  41. package/dist/src/common-auth-embedded/quota/projection.d.ts +2 -1
  42. package/dist/src/common-auth-embedded/quota/projection.js +3 -1
  43. package/dist/src/common-auth-embedded/setup/command-runner.js +49 -0
  44. package/dist/src/common-auth-embedded/setup/command.d.ts +3 -0
  45. package/dist/src/common-auth-embedded/setup/command.js +215 -0
  46. package/dist/src/common-auth-embedded/setup/config-write.js +60 -0
  47. package/dist/src/common-auth-embedded/setup/detect.d.ts +6 -0
  48. package/dist/src/common-auth-embedded/setup/detect.js +224 -0
  49. package/dist/src/common-auth-embedded/setup/enroll.js +70 -0
  50. package/dist/src/common-auth-embedded/setup/index.d.ts +5 -0
  51. package/dist/src/common-auth-embedded/setup/index.js +4 -0
  52. package/dist/src/common-auth-embedded/setup/paths.js +33 -0
  53. package/dist/src/common-auth-embedded/setup/process-fence.d.ts +43 -0
  54. package/dist/src/common-auth-embedded/setup/process-fence.js +270 -0
  55. package/dist/src/common-auth-embedded/setup/prompts.js +26 -0
  56. package/dist/src/common-auth-embedded/setup/register.d.ts +11 -0
  57. package/dist/src/common-auth-embedded/setup/register.js +130 -0
  58. package/dist/src/common-auth-embedded/setup/types.d.ts +136 -0
  59. package/dist/src/common-auth-embedded/source-output.json +228 -80
  60. package/dist/src/common-auth-embedded/store/schema.d.ts +2 -0
  61. package/dist/src/common-auth-embedded/store/schema.js +3 -2
  62. package/dist/src/ga/rpc/protocol.d.ts +4 -7
  63. package/dist/src/ga/rpc/protocol.d.ts.map +1 -1
  64. package/dist/src/ga/rpc/protocol.js +5 -13
  65. package/dist/src/ga/rpc/protocol.js.map +1 -1
  66. package/dist/src/ga/server/auth.d.ts +8 -3
  67. package/dist/src/ga/server/auth.d.ts.map +1 -1
  68. package/dist/src/ga/server/auth.js +25 -9
  69. package/dist/src/ga/server/auth.js.map +1 -1
  70. package/dist/src/ga/server/index.d.ts +39 -12
  71. package/dist/src/ga/server/index.d.ts.map +1 -1
  72. package/dist/src/ga/server/index.js +214 -53
  73. package/dist/src/ga/server/index.js.map +1 -1
  74. package/dist/src/ga/server/pool-login.d.ts +22 -0
  75. package/dist/src/ga/server/pool-login.d.ts.map +1 -0
  76. package/dist/src/ga/server/pool-login.js +150 -0
  77. package/dist/src/ga/server/pool-login.js.map +1 -0
  78. package/dist/src/ga/tui/host-ga.d.ts +2 -5
  79. package/dist/src/ga/tui/host-ga.d.ts.map +1 -1
  80. package/dist/src/ga/tui/host-ga.js +17 -49
  81. package/dist/src/ga/tui/host-ga.js.map +1 -1
  82. package/dist/src/plugin/accounts.d.ts +1 -1
  83. package/dist/src/plugin/accounts.d.ts.map +1 -1
  84. package/dist/src/plugin/accounts.js +1 -0
  85. package/dist/src/plugin/accounts.js.map +1 -1
  86. package/dist/src/plugin/background-vault-quota-refresh.d.ts +2 -0
  87. package/dist/src/plugin/background-vault-quota-refresh.d.ts.map +1 -1
  88. package/dist/src/plugin/background-vault-quota-refresh.js +125 -10
  89. package/dist/src/plugin/background-vault-quota-refresh.js.map +1 -1
  90. package/dist/src/plugin/command-apply.d.ts +2 -2
  91. package/dist/src/plugin/command-apply.d.ts.map +1 -1
  92. package/dist/src/plugin/command-apply.js +3 -10
  93. package/dist/src/plugin/command-apply.js.map +1 -1
  94. package/dist/src/plugin/commands.d.ts +1 -0
  95. package/dist/src/plugin/commands.d.ts.map +1 -1
  96. package/dist/src/plugin/commands.js +2 -2
  97. package/dist/src/plugin/commands.js.map +1 -1
  98. package/dist/src/plugin/config/operator-settings-schema.d.ts +0 -4
  99. package/dist/src/plugin/config/operator-settings-schema.d.ts.map +1 -1
  100. package/dist/src/plugin/config/operator-settings-schema.js +0 -5
  101. package/dist/src/plugin/config/operator-settings-schema.js.map +1 -1
  102. package/dist/src/plugin/config/schema.d.ts +0 -7
  103. package/dist/src/plugin/config/schema.d.ts.map +1 -1
  104. package/dist/src/plugin/config/schema.js +0 -43
  105. package/dist/src/plugin/config/schema.js.map +1 -1
  106. package/dist/src/plugin/config/writer.d.ts +1 -1
  107. package/dist/src/plugin/config/writer.js +1 -1
  108. package/dist/src/plugin/fetch/retry-state.d.ts +19 -3
  109. package/dist/src/plugin/fetch/retry-state.d.ts.map +1 -1
  110. package/dist/src/plugin/fetch/retry-state.js +0 -6
  111. package/dist/src/plugin/fetch/retry-state.js.map +1 -1
  112. package/dist/src/plugin/fetch-interceptor.d.ts.map +1 -1
  113. package/dist/src/plugin/fetch-interceptor.js +0 -3
  114. package/dist/src/plugin/fetch-interceptor.js.map +1 -1
  115. package/dist/src/plugin/fetch-routing.d.ts +0 -16
  116. package/dist/src/plugin/fetch-routing.d.ts.map +1 -1
  117. package/dist/src/plugin/fetch-routing.js +0 -49
  118. package/dist/src/plugin/fetch-routing.js.map +1 -1
  119. package/dist/src/plugin/ga-location-services.d.ts +14 -9
  120. package/dist/src/plugin/ga-location-services.d.ts.map +1 -1
  121. package/dist/src/plugin/ga-location-services.js +120 -40
  122. package/dist/src/plugin/ga-location-services.js.map +1 -1
  123. package/dist/src/plugin/google-origin.d.ts +7 -0
  124. package/dist/src/plugin/google-origin.d.ts.map +1 -0
  125. package/dist/src/plugin/google-origin.js +14 -0
  126. package/dist/src/plugin/google-origin.js.map +1 -0
  127. package/dist/src/plugin/index.d.ts.map +1 -1
  128. package/dist/src/plugin/index.js +15 -4
  129. package/dist/src/plugin/index.js.map +1 -1
  130. package/dist/src/plugin/oauth-methods.d.ts.map +1 -1
  131. package/dist/src/plugin/oauth-methods.js +0 -33
  132. package/dist/src/plugin/oauth-methods.js.map +1 -1
  133. package/dist/src/plugin/operator-settings.d.ts +1 -1
  134. package/dist/src/plugin/operator-settings.d.ts.map +1 -1
  135. package/dist/src/plugin/operator-settings.js +1 -8
  136. package/dist/src/plugin/operator-settings.js.map +1 -1
  137. package/dist/src/plugin/quota.d.ts +11 -7
  138. package/dist/src/plugin/quota.d.ts.map +1 -1
  139. package/dist/src/plugin/quota.js +128 -102
  140. package/dist/src/plugin/quota.js.map +1 -1
  141. package/dist/src/plugin/request.d.ts +5 -3
  142. package/dist/src/plugin/request.d.ts.map +1 -1
  143. package/dist/src/plugin/request.js +87 -168
  144. package/dist/src/plugin/request.js.map +1 -1
  145. package/dist/src/plugin/server.d.ts.map +1 -1
  146. package/dist/src/plugin/server.js +60 -53
  147. package/dist/src/plugin/server.js.map +1 -1
  148. package/dist/src/plugin/shared/advisory-repository.d.ts +20 -0
  149. package/dist/src/plugin/shared/advisory-repository.d.ts.map +1 -0
  150. package/dist/src/plugin/shared/advisory-repository.js +91 -0
  151. package/dist/src/plugin/shared/advisory-repository.js.map +1 -0
  152. package/dist/src/plugin/shared/request-services.d.ts +19 -25
  153. package/dist/src/plugin/shared/request-services.d.ts.map +1 -1
  154. package/dist/src/plugin/shared/request-services.js +105 -188
  155. package/dist/src/plugin/shared/request-services.js.map +1 -1
  156. package/dist/src/plugin/shared/runtime.js +4 -2
  157. package/dist/src/plugin/shared/runtime.js.map +1 -1
  158. package/dist/src/plugin/shared/vault-request-credentials.d.ts +4 -1
  159. package/dist/src/plugin/shared/vault-request-credentials.d.ts.map +1 -1
  160. package/dist/src/plugin/shared/vault-request-credentials.js +41 -7
  161. package/dist/src/plugin/shared/vault-request-credentials.js.map +1 -1
  162. package/dist/src/plugin/storage.d.ts +2 -2
  163. package/dist/src/plugin/storage.d.ts.map +1 -1
  164. package/dist/src/plugin/storage.js.map +1 -1
  165. package/dist/src/plugin/vault-custody.d.ts.map +1 -1
  166. package/dist/src/plugin/vault-custody.js +147 -35
  167. package/dist/src/plugin/vault-custody.js.map +1 -1
  168. package/dist/src/plugin/vault-quota-outcome.d.ts +19 -0
  169. package/dist/src/plugin/vault-quota-outcome.d.ts.map +1 -0
  170. package/dist/src/plugin/vault-quota-outcome.js +47 -0
  171. package/dist/src/plugin/vault-quota-outcome.js.map +1 -0
  172. package/dist/src/quota-presentation.d.ts +29 -1
  173. package/dist/src/quota-presentation.d.ts.map +1 -1
  174. package/dist/src/quota-presentation.js +52 -17
  175. package/dist/src/quota-presentation.js.map +1 -1
  176. package/dist/src/setup.d.ts +15 -0
  177. package/dist/src/setup.d.ts.map +1 -0
  178. package/dist/src/setup.js +320 -0
  179. package/dist/src/setup.js.map +1 -0
  180. package/dist/src/sidebar-projection.d.ts +1 -1
  181. package/dist/src/sidebar-projection.d.ts.map +1 -1
  182. package/dist/src/sidebar-state.d.ts +1 -1
  183. package/dist/src/sidebar-state.d.ts.map +1 -1
  184. package/dist/src/sidebar-state.js +19 -1
  185. package/dist/src/sidebar-state.js.map +1 -1
  186. package/dist/src/tui.d.ts.map +1 -1
  187. package/dist/src/tui.js +205 -110
  188. package/dist/src/tui.js.map +1 -1
  189. package/dist/tui-build-map.json +37 -37
  190. package/dist/tui-ga-build-map.json +33 -33
  191. package/dist/types/src/auth-method-labels.d.ts +3 -0
  192. package/dist/types/src/auth-method-labels.d.ts.map +1 -0
  193. package/dist/types/src/cli.d.ts +3 -1
  194. package/dist/types/src/cli.d.ts.map +1 -1
  195. package/dist/types/src/common-auth-embedded/auth-menu/terminal.d.ts +43 -0
  196. package/dist/types/src/common-auth-embedded/claustrum/consumer.d.ts +132 -0
  197. package/dist/types/src/common-auth-embedded/claustrum/custody.d.ts +178 -0
  198. package/dist/types/src/common-auth-embedded/claustrum/enrollment.d.ts +164 -0
  199. package/dist/types/src/common-auth-embedded/claustrum/errors.d.ts +16 -0
  200. package/dist/types/src/common-auth-embedded/claustrum/host-slot.d.ts +39 -0
  201. package/dist/types/src/common-auth-embedded/claustrum/index.d.ts +19 -0
  202. package/dist/types/src/common-auth-embedded/claustrum/insula.d.ts +69 -0
  203. package/dist/types/src/common-auth-embedded/claustrum/interlock.d.ts +27 -0
  204. package/dist/types/src/common-auth-embedded/claustrum/roster.d.ts +221 -0
  205. package/dist/types/src/common-auth-embedded/opencode2/errors.d.ts +25 -0
  206. package/dist/types/src/common-auth-embedded/opencode2/index.d.ts +8 -0
  207. package/dist/types/src/common-auth-embedded/opencode2/install.d.ts +55 -0
  208. package/dist/types/src/common-auth-embedded/opencode2/integration.d.ts +112 -0
  209. package/dist/types/src/common-auth-embedded/opencode2/sse.d.ts +12 -0
  210. package/dist/types/src/common-auth-embedded/opencode2/types.d.ts +413 -0
  211. package/dist/types/src/common-auth-embedded/quota/codec.d.ts +2 -0
  212. package/dist/types/src/common-auth-embedded/quota/format.d.ts +26 -0
  213. package/dist/types/src/common-auth-embedded/quota/index.d.ts +4 -4
  214. package/dist/types/src/common-auth-embedded/quota/map.d.ts +11 -0
  215. package/dist/types/src/common-auth-embedded/quota/merge.d.ts +3 -1
  216. package/dist/types/src/common-auth-embedded/quota/projection.d.ts +2 -1
  217. package/dist/types/src/common-auth-embedded/routing/admission.d.ts +93 -0
  218. package/dist/types/src/common-auth-embedded/routing/index.d.ts +8 -0
  219. package/dist/types/src/common-auth-embedded/routing/ordered.d.ts +47 -0
  220. package/dist/types/src/common-auth-embedded/routing/pins.d.ts +22 -0
  221. package/dist/types/src/common-auth-embedded/routing/sticky.d.ts +158 -0
  222. package/dist/types/src/common-auth-embedded/setup/command.d.ts +3 -0
  223. package/dist/types/src/common-auth-embedded/setup/detect.d.ts +6 -0
  224. package/dist/types/src/common-auth-embedded/setup/index.d.ts +5 -0
  225. package/dist/types/src/common-auth-embedded/setup/process-fence.d.ts +43 -0
  226. package/dist/types/src/common-auth-embedded/setup/register.d.ts +11 -0
  227. package/dist/types/src/common-auth-embedded/setup/types.d.ts +136 -0
  228. package/dist/types/src/common-auth-embedded/store/schema.d.ts +2 -0
  229. package/dist/types/src/ga/rpc/protocol.d.ts +4 -7
  230. package/dist/types/src/ga/rpc/protocol.d.ts.map +1 -1
  231. package/dist/types/src/ga/server/auth.d.ts +8 -3
  232. package/dist/types/src/ga/server/auth.d.ts.map +1 -1
  233. package/dist/types/src/ga/server/index.d.ts +39 -12
  234. package/dist/types/src/ga/server/index.d.ts.map +1 -1
  235. package/dist/types/src/ga/server/pool-login.d.ts +22 -0
  236. package/dist/types/src/ga/server/pool-login.d.ts.map +1 -0
  237. package/dist/types/src/plugin/accounts.d.ts +1 -1
  238. package/dist/types/src/plugin/accounts.d.ts.map +1 -1
  239. package/dist/types/src/plugin/background-vault-quota-refresh.d.ts +2 -0
  240. package/dist/types/src/plugin/background-vault-quota-refresh.d.ts.map +1 -1
  241. package/dist/types/src/plugin/command-apply.d.ts +2 -2
  242. package/dist/types/src/plugin/command-apply.d.ts.map +1 -1
  243. package/dist/types/src/plugin/commands.d.ts +1 -0
  244. package/dist/types/src/plugin/commands.d.ts.map +1 -1
  245. package/dist/types/src/plugin/config/operator-settings-schema.d.ts +0 -4
  246. package/dist/types/src/plugin/config/operator-settings-schema.d.ts.map +1 -1
  247. package/dist/types/src/plugin/config/schema.d.ts +0 -7
  248. package/dist/types/src/plugin/config/schema.d.ts.map +1 -1
  249. package/dist/types/src/plugin/config/writer.d.ts +1 -1
  250. package/dist/types/src/plugin/fetch/retry-state.d.ts +19 -3
  251. package/dist/types/src/plugin/fetch/retry-state.d.ts.map +1 -1
  252. package/dist/types/src/plugin/fetch-interceptor.d.ts.map +1 -1
  253. package/dist/types/src/plugin/fetch-routing.d.ts +0 -16
  254. package/dist/types/src/plugin/fetch-routing.d.ts.map +1 -1
  255. package/dist/types/src/plugin/ga-location-services.d.ts +14 -9
  256. package/dist/types/src/plugin/ga-location-services.d.ts.map +1 -1
  257. package/dist/types/src/plugin/google-origin.d.ts +7 -0
  258. package/dist/types/src/plugin/google-origin.d.ts.map +1 -0
  259. package/dist/types/src/plugin/index.d.ts.map +1 -1
  260. package/dist/types/src/plugin/oauth-methods.d.ts.map +1 -1
  261. package/dist/types/src/plugin/operator-settings.d.ts +1 -1
  262. package/dist/types/src/plugin/operator-settings.d.ts.map +1 -1
  263. package/dist/types/src/plugin/quota.d.ts +11 -7
  264. package/dist/types/src/plugin/quota.d.ts.map +1 -1
  265. package/dist/types/src/plugin/request.d.ts +5 -3
  266. package/dist/types/src/plugin/request.d.ts.map +1 -1
  267. package/dist/types/src/plugin/server.d.ts.map +1 -1
  268. package/dist/types/src/plugin/shared/advisory-repository.d.ts +20 -0
  269. package/dist/types/src/plugin/shared/advisory-repository.d.ts.map +1 -0
  270. package/dist/types/src/plugin/shared/request-services.d.ts +19 -25
  271. package/dist/types/src/plugin/shared/request-services.d.ts.map +1 -1
  272. package/dist/types/src/plugin/shared/vault-request-credentials.d.ts +4 -1
  273. package/dist/types/src/plugin/shared/vault-request-credentials.d.ts.map +1 -1
  274. package/dist/types/src/plugin/storage.d.ts +2 -2
  275. package/dist/types/src/plugin/storage.d.ts.map +1 -1
  276. package/dist/types/src/plugin/vault-custody.d.ts.map +1 -1
  277. package/dist/types/src/plugin/vault-quota-outcome.d.ts +19 -0
  278. package/dist/types/src/plugin/vault-quota-outcome.d.ts.map +1 -0
  279. package/dist/types/src/setup.d.ts +15 -0
  280. package/dist/types/src/setup.d.ts.map +1 -0
  281. package/dist/types/src/sidebar-state.d.ts +1 -1
  282. package/dist/types/src/sidebar-state.d.ts.map +1 -1
  283. package/package.json +5 -4
  284. package/src/common-auth-embedded/claustrum/consumer.d.ts +33 -3
  285. package/src/common-auth-embedded/claustrum/consumer.js +96 -1
  286. package/src/common-auth-embedded/claustrum/custody.d.ts +4 -1
  287. package/src/common-auth-embedded/claustrum/enrollment.d.ts +6 -1
  288. package/src/common-auth-embedded/claustrum/enrollment.js +6 -1
  289. package/src/common-auth-embedded/claustrum/index.d.ts +2 -1
  290. package/src/common-auth-embedded/claustrum/index.js +5 -3
  291. package/src/common-auth-embedded/claustrum/insula.d.ts +69 -0
  292. package/src/common-auth-embedded/claustrum/insula.js +152 -0
  293. package/src/common-auth-embedded/claustrum/roster.d.ts +13 -0
  294. package/src/common-auth-embedded/claustrum/roster.js +33 -3
  295. package/src/common-auth-embedded/fs/refresh-file-lock.js +20 -11
  296. package/src/common-auth-embedded/quota/codec.d.ts +2 -0
  297. package/src/common-auth-embedded/quota/codec.js +2 -1
  298. package/src/common-auth-embedded/quota/format.d.ts +26 -0
  299. package/src/common-auth-embedded/quota/format.js +78 -42
  300. package/src/common-auth-embedded/quota/index.d.ts +4 -4
  301. package/src/common-auth-embedded/quota/index.js +2 -2
  302. package/src/common-auth-embedded/quota/map.d.ts +11 -0
  303. package/src/common-auth-embedded/quota/map.js +36 -1
  304. package/src/common-auth-embedded/quota/merge.d.ts +3 -1
  305. package/src/common-auth-embedded/quota/merge.js +21 -5
  306. package/src/common-auth-embedded/quota/projection.d.ts +2 -1
  307. package/src/common-auth-embedded/quota/projection.js +3 -1
  308. package/src/common-auth-embedded/setup/command-runner.js +49 -0
  309. package/src/common-auth-embedded/setup/command.d.ts +3 -0
  310. package/src/common-auth-embedded/setup/command.js +215 -0
  311. package/src/common-auth-embedded/setup/config-write.js +60 -0
  312. package/src/common-auth-embedded/setup/detect.d.ts +6 -0
  313. package/src/common-auth-embedded/setup/detect.js +224 -0
  314. package/src/common-auth-embedded/setup/enroll.js +70 -0
  315. package/src/common-auth-embedded/setup/index.d.ts +5 -0
  316. package/src/common-auth-embedded/setup/index.js +4 -0
  317. package/src/common-auth-embedded/setup/paths.js +33 -0
  318. package/src/common-auth-embedded/setup/process-fence.d.ts +43 -0
  319. package/src/common-auth-embedded/setup/process-fence.js +270 -0
  320. package/src/common-auth-embedded/setup/prompts.js +26 -0
  321. package/src/common-auth-embedded/setup/register.d.ts +11 -0
  322. package/src/common-auth-embedded/setup/register.js +130 -0
  323. package/src/common-auth-embedded/setup/types.d.ts +136 -0
  324. package/src/common-auth-embedded/source-output.json +228 -80
  325. package/src/common-auth-embedded/store/schema.d.ts +2 -0
  326. package/src/common-auth-embedded/store/schema.js +3 -2
  327. package/src/sidebar-state.ts +19 -2
  328. package/src/tui-compiled/common-auth-embedded/quota/codec.js +2 -1
  329. package/src/tui-compiled/common-auth-embedded/quota/format.js +78 -42
  330. package/src/tui-compiled/common-auth-embedded/quota/index.js +2 -2
  331. package/src/tui-compiled/common-auth-embedded/quota/map.js +36 -1
  332. package/src/tui-compiled/common-auth-embedded/quota/merge.js +21 -5
  333. package/src/tui-compiled/common-auth-embedded/quota/projection.js +3 -1
  334. package/src/tui-compiled/quota-presentation.js +42 -9
  335. package/src/tui-compiled/sidebar-state.js +15 -1
  336. package/src/tui-compiled/tui.js +516 -334
  337. package/src/tui-ga-compiled/host-ga.js +11 -38
  338. package/src/tui-ga-compiled/shared/1ff34afa7c42d196-projection.js +3 -1
  339. package/src/tui-ga-compiled/shared/77138df80c7ae006-map.js +36 -1
  340. package/src/tui-ga-compiled/shared/98cc0c186c46c42d-quota-presentation.js +42 -9
  341. package/src/tui-ga-compiled/shared/aef2402f8fc342f0-format.js +78 -42
  342. package/src/tui-ga-compiled/shared/bf17cbee28e58197-index.js +2 -2
  343. package/src/tui-ga-compiled/shared/ca21dc417b36dc5d-codec.js +2 -1
  344. package/src/tui-ga-compiled/shared/ecc214300932dfb6-merge.js +21 -5
  345. package/src/tui-ga-raw/host-ga.tsx +31 -62
  346. package/src/tui-ga-raw/shared/1ff34afa7c42d196-projection.js +3 -1
  347. package/src/tui-ga-raw/shared/77138df80c7ae006-map.js +36 -1
  348. package/src/tui-ga-raw/shared/98cc0c186c46c42d-quota-presentation.js +42 -9
  349. package/src/tui-ga-raw/shared/aef2402f8fc342f0-format.js +78 -42
  350. package/src/tui-ga-raw/shared/bf17cbee28e58197-index.js +2 -2
  351. package/src/tui-ga-raw/shared/ca21dc417b36dc5d-codec.js +2 -1
  352. package/src/tui-ga-raw/shared/ecc214300932dfb6-merge.js +21 -5
  353. package/src/tui-raw/common-auth-embedded/quota/codec.js +2 -1
  354. package/src/tui-raw/common-auth-embedded/quota/format.js +78 -42
  355. package/src/tui-raw/common-auth-embedded/quota/index.js +2 -2
  356. package/src/tui-raw/common-auth-embedded/quota/map.js +36 -1
  357. package/src/tui-raw/common-auth-embedded/quota/merge.js +21 -5
  358. package/src/tui-raw/common-auth-embedded/quota/projection.js +3 -1
  359. package/src/tui-raw/quota-presentation.js +42 -9
  360. package/src/tui-raw/sidebar-state.js +15 -1
  361. package/src/tui-raw/tui.tsx +423 -218
  362. package/src/tui.tsx +423 -218
  363. package/dist/src/tui/vault-setup.d.ts +0 -98
  364. package/dist/src/tui/vault-setup.d.ts.map +0 -1
  365. package/dist/src/tui/vault-setup.js +0 -198
  366. package/dist/src/tui/vault-setup.js.map +0 -1
  367. package/dist/types/src/plugin/transform/model-resolver.d.ts +0 -2
  368. package/dist/types/src/plugin/transform/model-resolver.d.ts.map +0 -1
  369. package/dist/types/src/quota-presentation.d.ts +0 -18
  370. package/dist/types/src/quota-presentation.d.ts.map +0 -1
@@ -0,0 +1,3 @@
1
+ export declare const OPENCODE2_POOL_AUTH_LABEL = "Google (antigravity-auth pool, browser)";
2
+ export declare const OPENCODE2_VAULT_AUTH_LABEL = "Use approved Antigravity vault";
3
+ //# sourceMappingURL=auth-method-labels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-method-labels.d.ts","sourceRoot":"","sources":["../../src/auth-method-labels.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,4CACK,CAAA;AAC3C,eAAO,MAAM,0BAA0B,mCAAmC,CAAA"}
@@ -0,0 +1,5 @@
1
+ // Keep login-menu labels in a dependency-free module: displaying a host's choices
2
+ // must not load the setup command or initialize vault credential clients.
3
+ export const OPENCODE2_POOL_AUTH_LABEL = 'Google (antigravity-auth pool, browser)';
4
+ export const OPENCODE2_VAULT_AUTH_LABEL = 'Use approved Antigravity vault';
5
+ //# sourceMappingURL=auth-method-labels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-method-labels.js","sourceRoot":"","sources":["../../src/auth-method-labels.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,yBAAyB,GACpC,yCAAyC,CAAA;AAC3C,MAAM,CAAC,MAAM,0BAA0B,GAAG,gCAAgC,CAAA"}
package/dist/src/cli.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { type AccountMetadataV3, type AccountMigrationOutcome, type AccountQuotaResult, type AccountRow, type AccountStorageV4 } from '@cortexkit/antigravity-auth-core';
2
+ import type { SetupCallbackContext, SetupHost, SetupIO } from './common-auth-embedded/setup/index.js';
2
3
  import { type AntigravityTokenExchangeSuccess, type OAuthLoginRequest, performOAuthLogin } from './plugin/oauth-login.js';
3
4
  interface WritableOutput {
4
5
  write(value: string): unknown;
@@ -9,13 +10,14 @@ export interface CliDependencies {
9
10
  prompt(message: string): Promise<string>;
10
11
  openBrowser(url: string): Promise<void>;
11
12
  isHeadless?(): boolean;
12
- performLogin(request: OAuthLoginRequest, openBrowser: (url: string) => Promise<void>): Promise<AntigravityTokenExchangeSuccess>;
13
+ performLogin(request: OAuthLoginRequest, openBrowser: (url: string) => Promise<void>, host?: SetupHost, context?: SetupCallbackContext): Promise<AntigravityTokenExchangeSuccess>;
13
14
  loadAccounts(): Promise<AccountStorageV4 | null>;
14
15
  getQuota(accounts: AccountMetadataV3[], options: {
15
16
  refresh: boolean;
16
17
  }): Promise<AccountQuotaResult[]>;
17
18
  /** Offline operations on the account store; see `AccountStoreOperations`. */
18
19
  accountStore: AccountStoreOperations;
20
+ setupIO?: SetupIO;
19
21
  }
20
22
  /**
21
23
  * The offline account-store operations, each bound to the canonical
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,gBAAgB,EAQtB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EACL,KAAK,+BAA+B,EACpC,KAAK,iBAAiB,EACtB,iBAAiB,EAClB,MAAM,sBAAsB,CAAA;AAM7B,UAAU,cAAc;IACtB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,UAAU,CAAC,IAAI,OAAO,CAAA;IACtB,YAAY,CACV,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAC1C,OAAO,CAAC,+BAA+B,CAAC,CAAA;IAC3C,YAAY,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IAChD,QAAQ,CACN,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAChC,6EAA6E;IAC7E,YAAY,EAAE,sBAAsB,CAAA;CACrC;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,iFAAiF;IACjF,UAAU,IAAI,MAAM,CAAA;IACpB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAC7D,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAC9D,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAChE,+DAA+D;IAC/D,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;CACnD;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AA8M3C,wBAAsB,MAAM,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,MAAM,CAAC,CA6GjB;AAcD,wBAAgB,4BAA4B,IAAI,eAAe,CAyC9D;AAMD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,iBAAiB,CAoC/D;AAqDD;;;;;GAKG;AACH,wBAAgB,mCAAmC,IAAI,sBAAsB,CAuB5E;AASD,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EAEvB,KAAK,UAAU,EACf,KAAK,gBAAgB,EAQtB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,KAAK,EACV,oBAAoB,EACpB,SAAS,EACT,OAAO,EACR,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACL,KAAK,+BAA+B,EACpC,KAAK,iBAAiB,EACtB,iBAAiB,EAClB,MAAM,sBAAsB,CAAA;AAiB7B,UAAU,cAAc;IACtB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,UAAU,CAAC,IAAI,OAAO,CAAA;IACtB,YAAY,CACV,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAC3C,IAAI,CAAC,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,+BAA+B,CAAC,CAAA;IAC3C,YAAY,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IAChD,QAAQ,CACN,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAChC,6EAA6E;IAC7E,YAAY,EAAE,sBAAsB,CAAA;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,iFAAiF;IACjF,UAAU,IAAI,MAAM,CAAA;IACpB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAC7D,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAC9D,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAChE,+DAA+D;IAC/D,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;CACnD;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAiN3C,wBAAsB,MAAM,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,MAAM,CAAC,CAsHjB;AAcD,wBAAgB,4BAA4B,IAAI,eAAe,CAiE9D;AAmED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,iBAAiB,CAoC/D;AAqDD;;;;;GAKG;AACH,wBAAgB,mCAAmC,IAAI,sBAAsB,CAuB5E;AAsBD,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
package/dist/src/cli.js CHANGED
@@ -1,17 +1,21 @@
1
1
  import { execFile } from 'node:child_process';
2
+ import { realpathSync } from 'node:fs';
2
3
  import { resolve } from 'node:path';
3
4
  import { createInterface } from 'node:readline/promises';
5
+ import { fileURLToPath } from 'node:url';
4
6
  import { promisify } from 'node:util';
5
7
  import { createAccountMigrationFactory, createAccountRepositoryFactory, createAccountRollbackFactory, initializeFreshAccountStore, loadCommonAuthStoreModules, readAccountStoreBinding, refreshAntigravityToken, } from '@cortexkit/antigravity-auth-core';
6
8
  import { authorizeAntigravity, exchangeAntigravity } from './antigravity/oauth';
7
9
  import { performOAuthLogin, } from './plugin/oauth-login';
8
- import { persistAccountPool } from './plugin/persist-account-pool';
10
+ import { commitLogins, replacePoolLogins } from './plugin/persist-account-pool';
9
11
  import { checkAccountsQuotaStandalone } from './plugin/quota';
10
12
  import { startOAuthListener } from './plugin/server';
11
- import { getStoragePath, loadAccounts } from './plugin/storage';
13
+ import { getStoragePath, initializeFreshAccountStoreFor, loadAccounts, openAccountStore, } from './plugin/storage';
14
+ import { assertLocalOpenCodeLogin, assertSetupHostsStopped, persistPiSetupLogin, runPluginSetup, } from "./setup.js";
12
15
  const HELP = `Usage: antigravity-auth <command> [options]
13
16
 
14
17
  Commands:
18
+ setup [--yes] [--dry-run] [--claustrum|--no-claustrum] [--login] [--opencode=1|2|both]
15
19
  login [--project <id>] [--no-browser]
16
20
  list [--json]
17
21
  quota [--json] [--refresh]
@@ -35,6 +39,8 @@ function parseArgs(argv) {
35
39
  }
36
40
  if (!command)
37
41
  return { ok: false, error: 'Missing command' };
42
+ if (command === 'setup')
43
+ return { ok: true, value: { command, args } };
38
44
  if (command === 'login') {
39
45
  let projectId;
40
46
  let noBrowser = false;
@@ -199,6 +205,10 @@ export async function runCli(argv, deps) {
199
205
  return 0;
200
206
  }
201
207
  try {
208
+ if (parsed.value.command === 'setup') {
209
+ await runPluginSetup(parsed.value.args, deps, () => runCli(['migrate', '--offline', '--yes'], deps), deps.setupIO);
210
+ return 0;
211
+ }
202
212
  if (parsed.value.command === 'init') {
203
213
  const legacyPath = deps.accountStore.legacyPath();
204
214
  const outcome = await deps.accountStore.initialize(legacyPath);
@@ -301,20 +311,84 @@ export function createDefaultCliDependencies() {
301
311
  process.env.SSH_CLIENT ||
302
312
  process.env.SSH_TTY ||
303
313
  process.env.OPENCODE_HEADLESS),
304
- performLogin: async (request, openBrowser) => performOAuthLogin(request, {
305
- authorize: authorizeAntigravity,
306
- exchange: exchangeAntigravity,
307
- startListener: startOAuthListener,
308
- openBrowser,
309
- upsert: async (result) => {
310
- await persistAccountPool([result], request.startFresh && request.accounts.length === 0);
311
- },
312
- }),
314
+ performLogin: async (request, openBrowser, host, context) => {
315
+ if (host === 'pi' && !context)
316
+ throw new Error('Pi setup requires its detected native agent directory.');
317
+ const legacyPath = resolve(getStoragePath());
318
+ const repository = host === 'pi'
319
+ ? undefined
320
+ : await prepareCliLoginStore(legacyPath, context?.opencodeGeneration);
321
+ try {
322
+ return await performOAuthLogin(request, {
323
+ authorize: authorizeAntigravity,
324
+ exchange: exchangeAntigravity,
325
+ startListener: startOAuthListener,
326
+ openBrowser,
327
+ upsert: async (result) => {
328
+ if (host === 'pi') {
329
+ await persistPiSetupLogin(result, context);
330
+ return;
331
+ }
332
+ if (host === 'opencode')
333
+ await assertSetupHostsStopped();
334
+ await assertLocalOpenCodeLogin(legacyPath, context?.opencodeGeneration);
335
+ await persistCliStoreLogin(repository, result, request.startFresh && request.accounts.length === 0);
336
+ },
337
+ });
338
+ }
339
+ finally {
340
+ await repository?.dispose();
341
+ }
342
+ },
313
343
  loadAccounts,
314
344
  getQuota: (accounts, options) => checkAccountsQuotaStandalone(accounts, options),
315
345
  accountStore: createDefaultAccountStoreOperations(),
316
346
  };
317
347
  }
348
+ async function prepareCliLoginStore(legacyPath, generation) {
349
+ await assertLocalOpenCodeLogin(legacyPath, generation);
350
+ const modules = await loadCommonAuthStoreModules();
351
+ const options = {
352
+ legacyPath,
353
+ modules,
354
+ createRepository: createAccountRepositoryFactory(modules),
355
+ exchange: async ({ refreshToken }) => {
356
+ const result = await refreshAntigravityToken(refreshToken);
357
+ return {
358
+ accessToken: result.access,
359
+ refreshToken: result.refresh,
360
+ expiresAt: result.expires,
361
+ };
362
+ },
363
+ };
364
+ let opened = await openAccountStore(options);
365
+ if (opened.status === 'initialization-required') {
366
+ const outcome = await initializeFreshAccountStoreFor(modules, {
367
+ legacyPath,
368
+ });
369
+ if (outcome.status !== 'completed')
370
+ throw new Error(describeOutcome('Initialization', outcome).text.trim());
371
+ opened = await openAccountStore(options);
372
+ }
373
+ if (opened.status !== 'ready')
374
+ throw new Error(opened.status === 'initialization-required'
375
+ ? 'The account store changed while it was initialized; try again.'
376
+ : opened.message);
377
+ return opened.repository;
378
+ }
379
+ async function persistCliStoreLogin(repository, result, replaceAll) {
380
+ if (replaceAll) {
381
+ const receipt = await replacePoolLogins(repository, [result]);
382
+ if (receipt.outcome !== 'completed')
383
+ throw new Error('Account pool replacement is pending; finish it before using the accounts.');
384
+ return;
385
+ }
386
+ const [login] = await commitLogins(repository, [result]);
387
+ if (login?.status === 'refused')
388
+ throw new Error(`Login refused: ${login.message} Use re-authentication for an existing account.`);
389
+ if (login?.status !== 'committed')
390
+ throw new Error('Login returned no usable refresh token; no account was saved.');
391
+ }
318
392
  function present(value) {
319
393
  return value === null ? undefined : value;
320
394
  }
@@ -435,7 +509,19 @@ export function createDefaultAccountStoreOperations() {
435
509
  read: readAccountStore,
436
510
  };
437
511
  }
438
- if (import.meta.main) {
512
+ function isCliEntry() {
513
+ if (import.meta.main !== undefined)
514
+ return import.meta.main;
515
+ // Node 20 has no import.meta.main; npx also invokes the CLI through a symlink.
516
+ try {
517
+ return (!!process.argv[1] &&
518
+ realpathSync(process.argv[1]) === fileURLToPath(import.meta.url));
519
+ }
520
+ catch {
521
+ return false;
522
+ }
523
+ }
524
+ if (isCliEntry()) {
439
525
  process.exitCode = await runCli(process.argv.slice(2), createDefaultCliDependencies());
440
526
  }
441
527
  export { performOAuthLogin };
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,9 @@ import type { QuotaObservation } from '../quota/index.js';
3
3
  import type { RoutingRow } from '../routing/index.js';
4
4
  import { type ClaustrumFamily, type ClaustrumScopedAttempt, type ClaustrumScopedClient, type IdentityParser } from './custody.js';
5
5
  import { type ClaustrumLogger } from './errors.js';
6
+ import { type InsulaQuotaOptions } from './insula.js';
6
7
  import { type AccountMapper, type QuotaReceipt, type VaultRosterFile } from './roster.js';
7
- export interface ClaustrumConsumerOptions {
8
+ export interface ClaustrumConsumerOptions<Q = QuotaObservation> {
8
9
  /**
9
10
  * The roster file: one row per vault account (route id, credential id,
10
11
  * account identity, state, quota), plus the accounts the user declined. It
@@ -45,6 +46,8 @@ export interface ClaustrumConsumerOptions {
45
46
  clearTimeoutImpl?: typeof clearTimeout;
46
47
  now?: () => number;
47
48
  logger?: ClaustrumLogger;
49
+ /** Optional background quota source. In-band readings still use recordQuota. */
50
+ insula?: InsulaQuotaOptions<Q>;
48
51
  }
49
52
  export interface SendOptions {
50
53
  /**
@@ -63,15 +66,34 @@ export interface SendOptions {
63
66
  * never are. It never enrolls: a missing token is an error here, and setup
64
67
  * is where enrollment happens.
65
68
  */
66
- export declare class ClaustrumConsumer {
69
+ export declare class ClaustrumConsumer<Q = QuotaObservation> {
67
70
  #private;
68
- constructor(options: ClaustrumConsumerOptions);
71
+ constructor(options: ClaustrumConsumerOptions<Q>);
69
72
  /** The last committed roster this instance saw, without any I/O. */
70
73
  snapshot(): VaultRosterFile | undefined;
71
74
  /** Rows for `/routing`, from the last committed roster. */
72
75
  routingRows(): RoutingRow[];
73
76
  refresh(): Promise<VaultRosterFile | undefined>;
74
77
  start(): void;
78
+ /**
79
+ * Fetch on a background tick, at most once per minute across projects with
80
+ * the same daemon and enrollment token path. Admission must use the cache
81
+ * instead, so an optional quota daemon never delays a provider request.
82
+ */
83
+ refreshInsulaQuota(): Promise<void>;
84
+ /**
85
+ * Cache-only, for unknown-quota admission with a served receipt. Undefined
86
+ * means poll the provider normally. Only get_scoped's asserted account_id
87
+ * joins insula; parsed identities and display metadata cannot substitute.
88
+ * Background polling should use cachedInsulaQuotaForRoute instead.
89
+ */
90
+ cachedInsulaQuota(receipt: Pick<ClaustrumScopedAttempt, 'assertedAccountIdentity'>): Promise<Q | undefined>;
91
+ /**
92
+ * Background cache lookup without fetching a credential. Re-read the roster
93
+ * so a peer's account replacement invalidates the old route immediately.
94
+ * A route without a known provider account cannot join an insula entry.
95
+ */
96
+ cachedInsulaQuotaForRoute(routeId: string): Promise<Q | undefined>;
75
97
  /**
76
98
  * Authorize one physical send on a vault route. The roster file is re-read
77
99
  * first, so a decline committed by another process applies before the next
@@ -98,5 +120,13 @@ export declare class ClaustrumConsumer {
98
120
  * (see `recordVaultQuota`), so a reading for a replaced account is dropped.
99
121
  */
100
122
  recordQuota(routeId: string, observation: QuotaObservation, attempt: QuotaReceipt): Promise<boolean>;
123
+ /**
124
+ * Store a background observation that belongs to an account rather than to
125
+ * a served credential (an insula reading from `cachedInsulaQuotaForRoute`).
126
+ * It lands only while the route is still bound to that known account, so no
127
+ * credential fetch is needed and a replaced account's reading is dropped.
128
+ * The in-memory roster is reloaded from the file, without a vault call.
129
+ */
130
+ recordAccountQuota(routeId: string, accountIdentity: string, observation: QuotaObservation): Promise<boolean>;
101
131
  close(): void;
102
132
  }
@@ -1,8 +1,10 @@
1
1
  import { createLogger } from '../logger/index.js';
2
2
  import { combineAbortSignals } from '../util/any-signal.js';
3
3
  import { ClaustrumScopedCustody, decideScopedRetryAfter401, } from './custody.js';
4
+ import { readClaustrumEnrollmentToken } from './enrollment.js';
4
5
  import { ClaustrumConsumerError } from './errors.js';
5
- import { acceptVaultRoute, declineVaultRoute, readVaultRoster, recordVaultQuota, refreshVaultRoster, vaultRoutingRows, } from './roster.js';
6
+ import { acquireInsulaQuotaSource } from './insula.js';
7
+ import { acceptVaultRoute, declineVaultRoute, readVaultRoster, recordVaultAccountQuota, recordVaultQuota, refreshVaultRoster, vaultRoutingRows, } from './roster.js';
6
8
  /**
7
9
  * One plugin host's view of its vault accounts. It turns vault credentials
8
10
  * into rows for `/routing`, authorizes each physical send with the vault, and
@@ -21,6 +23,7 @@ export class ClaustrumConsumer {
21
23
  #roster;
22
24
  #timer;
23
25
  #started = false;
26
+ #insula;
24
27
  constructor(options) {
25
28
  this.#options = options;
26
29
  this.#logger = options.logger ?? createLogger('claustrum');
@@ -84,6 +87,9 @@ export class ClaustrumConsumer {
84
87
  now: this.#options.now,
85
88
  logger: this.#logger,
86
89
  });
90
+ if (this.#options.insula && client.insula) {
91
+ this.#insula = acquireInsulaQuotaSource(client.insula, this.#options.tokenPath);
92
+ }
87
93
  return this.#custody;
88
94
  })
89
95
  .finally(() => {
@@ -109,6 +115,8 @@ export class ClaustrumConsumer {
109
115
  this.#roster = undefined;
110
116
  this.#custody?.close();
111
117
  this.#custody = undefined;
118
+ this.#insula?.release();
119
+ this.#insula = undefined;
112
120
  return undefined;
113
121
  }
114
122
  const custody = await this.#getCustody();
@@ -145,6 +153,7 @@ export class ClaustrumConsumer {
145
153
  const tick = async () => {
146
154
  try {
147
155
  await this.refresh();
156
+ await this.refreshInsulaQuota();
148
157
  }
149
158
  catch (error) {
150
159
  if (!this.#shutdown.signal.aborted)
@@ -163,6 +172,72 @@ export class ClaustrumConsumer {
163
172
  };
164
173
  void tick();
165
174
  }
175
+ /**
176
+ * Fetch on a background tick, at most once per minute across projects with
177
+ * the same daemon and enrollment token path. Admission must use the cache
178
+ * instead, so an optional quota daemon never delays a provider request.
179
+ */
180
+ async refreshInsulaQuota() {
181
+ if (!this.#options.insula ||
182
+ this.#shutdown.signal.aborted ||
183
+ !(await this.#active()))
184
+ return;
185
+ try {
186
+ await readClaustrumEnrollmentToken(this.#options.tokenPath);
187
+ await this.#getCustody();
188
+ await this.#insula?.source.refresh((this.#options.now ?? Date.now)());
189
+ }
190
+ catch {
191
+ // An optional source must never prevent the plugin's own quota poll.
192
+ }
193
+ }
194
+ /**
195
+ * Cache-only, for unknown-quota admission with a served receipt. Undefined
196
+ * means poll the provider normally. Only get_scoped's asserted account_id
197
+ * joins insula; parsed identities and display metadata cannot substitute.
198
+ * Background polling should use cachedInsulaQuotaForRoute instead.
199
+ */
200
+ async cachedInsulaQuota(receipt) {
201
+ if (!this.#options.insula ||
202
+ this.#shutdown.signal.aborted ||
203
+ !(await this.#active()))
204
+ return undefined;
205
+ try {
206
+ await readClaustrumEnrollmentToken(this.#options.tokenPath);
207
+ return this.#normalizeInsulaQuota(receipt.assertedAccountIdentity);
208
+ }
209
+ catch {
210
+ return undefined;
211
+ }
212
+ }
213
+ /**
214
+ * Background cache lookup without fetching a credential. Re-read the roster
215
+ * so a peer's account replacement invalidates the old route immediately.
216
+ * A route without a known provider account cannot join an insula entry.
217
+ */
218
+ async cachedInsulaQuotaForRoute(routeId) {
219
+ if (!this.#options.insula ||
220
+ this.#shutdown.signal.aborted ||
221
+ !(await this.#active()))
222
+ return undefined;
223
+ try {
224
+ await readClaustrumEnrollmentToken(this.#options.tokenPath);
225
+ const roster = await readVaultRoster(this.#options.rosterPath);
226
+ const row = roster?.rows.find((entry) => entry.routeId === routeId);
227
+ return this.#normalizeInsulaQuota(row?.accountIdentity);
228
+ }
229
+ catch {
230
+ return undefined;
231
+ }
232
+ }
233
+ #normalizeInsulaQuota(accountIdentity) {
234
+ if (!this.#options.insula || !accountIdentity)
235
+ return undefined;
236
+ const current = this.#insula?.source.current(this.#options.insula.provider, accountIdentity, (this.#options.now ?? Date.now)());
237
+ return current
238
+ ? this.#options.insula.normalize(current.entry, current.context)
239
+ : undefined;
240
+ }
166
241
  /**
167
242
  * Authorize one physical send on a vault route. The roster file is re-read
168
243
  * first, so a decline committed by another process applies before the next
@@ -285,6 +360,24 @@ export class ClaustrumConsumer {
285
360
  this.#roster = await readVaultRoster(this.#options.rosterPath);
286
361
  return kept;
287
362
  }
363
+ /**
364
+ * Store a background observation that belongs to an account rather than to
365
+ * a served credential (an insula reading from `cachedInsulaQuotaForRoute`).
366
+ * It lands only while the route is still bound to that known account, so no
367
+ * credential fetch is needed and a replaced account's reading is dropped.
368
+ * The in-memory roster is reloaded from the file, without a vault call.
369
+ */
370
+ async recordAccountQuota(routeId, accountIdentity, observation) {
371
+ this.#assertOpen();
372
+ const kept = await recordVaultAccountQuota(this.#options.rosterPath, {
373
+ routeId,
374
+ accountIdentity,
375
+ observation,
376
+ });
377
+ if (kept)
378
+ this.#roster = await readVaultRoster(this.#options.rosterPath);
379
+ return kept;
380
+ }
288
381
  close() {
289
382
  if (this.#shutdown.signal.aborted)
290
383
  return;
@@ -293,6 +386,8 @@ export class ClaustrumConsumer {
293
386
  (this.#options.clearTimeoutImpl ?? clearTimeout)(this.#timer);
294
387
  this.#timer = undefined;
295
388
  this.#custody?.close();
389
+ this.#insula?.release();
390
+ this.#insula = undefined;
296
391
  this.#roster = undefined;
297
392
  }
298
393
  }
@@ -1,6 +1,9 @@
1
1
  import { type ClaustrumClient, type ClaustrumReporterSource, type EnrollmentTokenFile } from '@cortexkit/claustrum-client';
2
2
  import { type ClaustrumLogger } from './errors.js';
3
- export type ClaustrumScopedClient = Pick<ClaustrumClient, 'listScoped' | 'getScoped' | 'reportAuthFailureScoped' | 'close'>;
3
+ import type { InsulaUsageTransport } from './insula.js';
4
+ export type ClaustrumScopedClient = Pick<ClaustrumClient, 'listScoped' | 'getScoped' | 'reportAuthFailureScoped' | 'close'> & {
5
+ insula?: InsulaUsageTransport;
6
+ };
4
7
  /** The two credential types a plugin's family can hold; routing differs by type. */
5
8
  export type VaultCredentialType = 'oauth' | 'api_key';
6
9
  /**
@@ -103,7 +103,12 @@ export interface EnrollmentAncestorOptions {
103
103
  */
104
104
  export declare function refuseWritableAncestor(parent: string, options?: EnrollmentAncestorOptions): Promise<void>;
105
105
  export declare function readClaustrumEnrollmentStatus(paths: ClaustrumEnrollmentPaths, proposedName: string): Promise<ClaustrumEnrollmentStatus>;
106
- /** Resolve the host's account mode from its enrollment files without writing. */
106
+ /**
107
+ * Resolve the host's account mode from its enrollment files. It never changes
108
+ * their contents or the host's mode. On Windows, reading them may create a
109
+ * missing private state folder and tighten an enrollment file's permissions to
110
+ * owner-only, as every private-file read there does.
111
+ */
107
112
  export declare function enrollmentAuthority(paths: ClaustrumEnrollmentPaths, proposedName: string): Promise<'vault' | 'local' | 'unreadable'>;
108
113
  /**
109
114
  * Read fresh bearer material for one scoped operation; never publish it.
@@ -419,7 +419,12 @@ export async function readClaustrumEnrollmentStatus(paths, proposedName) {
419
419
  }
420
420
  return statusFromState(state);
421
421
  }
422
- /** Resolve the host's account mode from its enrollment files without writing. */
422
+ /**
423
+ * Resolve the host's account mode from its enrollment files. It never changes
424
+ * their contents or the host's mode. On Windows, reading them may create a
425
+ * missing private state folder and tighten an enrollment file's permissions to
426
+ * owner-only, as every private-file read there does.
427
+ */
423
428
  export async function enrollmentAuthority(paths, proposedName) {
424
429
  let status;
425
430
  try {
@@ -6,8 +6,9 @@ export { type AccountIdentitySource, type ClaustrumFamily, type ClaustrumScopedA
6
6
  export { type ClaustrumEnrollmentClient, type ClaustrumEnrollmentConnection, type ClaustrumEnrollmentDisconnectResult, ClaustrumEnrollmentManager, type ClaustrumEnrollmentPaths, type ClaustrumEnrollmentResetResult, type ClaustrumEnrollmentStatus, classifyEnrollmentError, connectClaustrumEnrollmentClient, disconnectClaustrumEnrollment, type EnrollmentDisposition, enrollmentAuthority, enrollmentName, getClaustrumEnrollmentPaths, hostEnrollmentPaths, RETRYABLE_ENROLLMENT_CODES, readClaustrumEnrollmentStatus, readClaustrumEnrollmentToken, resetClaustrumEnrollmentState, TERMINAL_ENROLLMENT_CODES, } from './enrollment.js';
7
7
  export { ClaustrumConsumerError, type ClaustrumConsumerFailureKind, type ClaustrumLogger, } from './errors.js';
8
8
  export { assertHostSlotMatchesMode, assertNotCustodyPlaceholder, CUSTODY_PLACEHOLDER_PREFIX, classifyHostSlot, custodyPlaceholder, custodyPlaceholderKey, type HostSlotContent, isCustodyPlaceholder, isCustodyPlaceholderValue, } from './host-slot.js';
9
+ export type { InsulaQuotaContext, InsulaQuotaOptions, InsulaUsageEntry, InsulaUsageTransport, InsulaUsageWindow, } from './insula.js';
9
10
  export { acceptAccount, type DeclinedAccount, declineAccount, isDeclined, } from './interlock.js';
10
- export { type AccountMapper, acceptVaultRoute, DEFAULT_ROUTE_PREFIX, declineVaultRoute, type MutateVaultRosterOptions, mutateVaultRoster, type ProjectionOptions, projectVaultRoster, type QuotaReceipt, readVaultRoster, recordVaultQuota, refreshVaultRoster, resolveVaultPrimary, type VaultPrimary, type VaultPrimaryBinding, type VaultPrimaryUnavailableReason, type VaultRosterFile, type VaultRosterLockContext, type VaultRosterRow, vaultRoutingRows, } from './roster.js';
11
+ export { type AccountMapper, acceptVaultRoute, DEFAULT_ROUTE_PREFIX, declineVaultRoute, type MutateVaultRosterOptions, mutateVaultRoster, type ProjectionOptions, projectVaultRoster, type QuotaReceipt, readVaultRoster, recordVaultAccountQuota, recordVaultQuota, refreshVaultRoster, resolveVaultPrimary, type VaultPrimary, type VaultPrimaryBinding, type VaultPrimaryUnavailableReason, type VaultRosterFile, type VaultRosterLockContext, type VaultRosterRow, vaultRoutingRows, } from './roster.js';
11
12
  /**
12
13
  * Connect the client that lists and fetches this consumer's vault credentials
13
14
  * on the request path. `connectionFile` is required: this library
@@ -4,6 +4,7 @@
4
4
  // declined-account interlock and the host-slot guard. Needs the optional
5
5
  // peer `@cortexkit/claustrum-client`.
6
6
  import { ClaustrumClient, } from '@cortexkit/claustrum-client';
7
+ import { insulaUsageTransport } from './insula.js';
7
8
  export { ClaustrumCredentialError, } from '@cortexkit/claustrum-client';
8
9
  export { ClaustrumConsumer, } from './consumer.js';
9
10
  export { ClaustrumScopedCustody, decideScopedRetryAfter401, isScopedCredentialRotation, SERVING_MARGIN_MS, } from './custody.js';
@@ -11,12 +12,13 @@ export { ClaustrumEnrollmentManager, classifyEnrollmentError, connectClaustrumEn
11
12
  export { ClaustrumConsumerError, } from './errors.js';
12
13
  export { assertHostSlotMatchesMode, assertNotCustodyPlaceholder, CUSTODY_PLACEHOLDER_PREFIX, classifyHostSlot, custodyPlaceholder, custodyPlaceholderKey, isCustodyPlaceholder, isCustodyPlaceholderValue, } from './host-slot.js';
13
14
  export { acceptAccount, declineAccount, isDeclined, } from './interlock.js';
14
- export { acceptVaultRoute, DEFAULT_ROUTE_PREFIX, declineVaultRoute, mutateVaultRoster, projectVaultRoster, readVaultRoster, recordVaultQuota, refreshVaultRoster, resolveVaultPrimary, vaultRoutingRows, } from './roster.js';
15
+ export { acceptVaultRoute, DEFAULT_ROUTE_PREFIX, declineVaultRoute, mutateVaultRoster, projectVaultRoster, readVaultRoster, recordVaultAccountQuota, recordVaultQuota, refreshVaultRoster, resolveVaultPrimary, vaultRoutingRows, } from './roster.js';
15
16
  /**
16
17
  * Connect the client that lists and fetches this consumer's vault credentials
17
18
  * on the request path. `connectionFile` is required: this library
18
19
  * reads no environment, so the plugin resolves the vault's connection file.
19
20
  */
20
- export function connectClaustrumScopedClient(options) {
21
- return ClaustrumClient.connect(options);
21
+ export async function connectClaustrumScopedClient(options) {
22
+ const client = await ClaustrumClient.connect(options);
23
+ return Object.assign(client, { insula: insulaUsageTransport(options) });
22
24
  }