@slkiser/opencode-quota 4.0.1 → 4.2.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 (358) hide show
  1. package/README.md +94 -28
  2. package/dist/bin/opencode-quota.d.ts.map +1 -1
  3. package/dist/bin/opencode-quota.js +8 -0
  4. package/dist/bin/opencode-quota.js.map +1 -1
  5. package/dist/index.d.ts +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/lib/anthropic.d.ts.map +1 -1
  8. package/dist/lib/anthropic.js +78 -72
  9. package/dist/lib/anthropic.js.map +1 -1
  10. package/dist/lib/api-key-resolver.d.ts +73 -22
  11. package/dist/lib/api-key-resolver.d.ts.map +1 -1
  12. package/dist/lib/api-key-resolver.js +116 -39
  13. package/dist/lib/api-key-resolver.js.map +1 -1
  14. package/dist/lib/atomic-json.d.ts +3 -1
  15. package/dist/lib/atomic-json.d.ts.map +1 -1
  16. package/dist/lib/atomic-json.js +23 -9
  17. package/dist/lib/atomic-json.js.map +1 -1
  18. package/dist/lib/chutes-config.d.ts.map +1 -1
  19. package/dist/lib/chutes-config.js +2 -4
  20. package/dist/lib/chutes-config.js.map +1 -1
  21. package/dist/lib/chutes.d.ts.map +1 -1
  22. package/dist/lib/chutes.js +28 -23
  23. package/dist/lib/chutes.js.map +1 -1
  24. package/dist/lib/cli-show.d.ts +9 -0
  25. package/dist/lib/cli-show.d.ts.map +1 -1
  26. package/dist/lib/cli-show.js +34 -5
  27. package/dist/lib/cli-show.js.map +1 -1
  28. package/dist/lib/cli-status.d.ts +8 -0
  29. package/dist/lib/cli-status.d.ts.map +1 -0
  30. package/dist/lib/cli-status.js +125 -0
  31. package/dist/lib/cli-status.js.map +1 -0
  32. package/dist/lib/config.d.ts +1 -1
  33. package/dist/lib/config.d.ts.map +1 -1
  34. package/dist/lib/config.js +47 -12
  35. package/dist/lib/config.js.map +1 -1
  36. package/dist/lib/copilot.d.ts +11 -5
  37. package/dist/lib/copilot.d.ts.map +1 -1
  38. package/dist/lib/copilot.js +378 -79
  39. package/dist/lib/copilot.js.map +1 -1
  40. package/dist/lib/deepseek-auth.d.ts.map +1 -1
  41. package/dist/lib/deepseek-auth.js +3 -7
  42. package/dist/lib/deepseek-auth.js.map +1 -1
  43. package/dist/lib/deepseek.d.ts.map +1 -1
  44. package/dist/lib/deepseek.js +22 -17
  45. package/dist/lib/deepseek.js.map +1 -1
  46. package/dist/lib/display-sanitize.d.ts.map +1 -1
  47. package/dist/lib/display-sanitize.js +8 -0
  48. package/dist/lib/display-sanitize.js.map +1 -1
  49. package/dist/lib/entries.d.ts +14 -0
  50. package/dist/lib/entries.d.ts.map +1 -1
  51. package/dist/lib/entries.js.map +1 -1
  52. package/dist/lib/format-utils.d.ts +7 -0
  53. package/dist/lib/format-utils.d.ts.map +1 -1
  54. package/dist/lib/format-utils.js +18 -0
  55. package/dist/lib/format-utils.js.map +1 -1
  56. package/dist/lib/format.d.ts +1 -0
  57. package/dist/lib/format.d.ts.map +1 -1
  58. package/dist/lib/format.js +22 -7
  59. package/dist/lib/format.js.map +1 -1
  60. package/dist/lib/glm-coding-plan.d.ts +18 -0
  61. package/dist/lib/glm-coding-plan.d.ts.map +1 -0
  62. package/dist/lib/glm-coding-plan.js +68 -0
  63. package/dist/lib/glm-coding-plan.js.map +1 -0
  64. package/dist/lib/google-agy-companion.d.ts +4 -25
  65. package/dist/lib/google-agy-companion.d.ts.map +1 -1
  66. package/dist/lib/google-agy-companion.js +47 -272
  67. package/dist/lib/google-agy-companion.js.map +1 -1
  68. package/dist/lib/google-agy.d.ts.map +1 -1
  69. package/dist/lib/google-agy.js +204 -111
  70. package/dist/lib/google-agy.js.map +1 -1
  71. package/dist/lib/google-antigravity-companion.d.ts +4 -25
  72. package/dist/lib/google-antigravity-companion.d.ts.map +1 -1
  73. package/dist/lib/google-antigravity-companion.js +44 -283
  74. package/dist/lib/google-antigravity-companion.js.map +1 -1
  75. package/dist/lib/google-companion-credentials.d.ts +70 -0
  76. package/dist/lib/google-companion-credentials.d.ts.map +1 -0
  77. package/dist/lib/google-companion-credentials.js +265 -0
  78. package/dist/lib/google-companion-credentials.js.map +1 -0
  79. package/dist/lib/google-gemini-cli-companion.d.ts +4 -25
  80. package/dist/lib/google-gemini-cli-companion.d.ts.map +1 -1
  81. package/dist/lib/google-gemini-cli-companion.js +47 -258
  82. package/dist/lib/google-gemini-cli-companion.js.map +1 -1
  83. package/dist/lib/google-gemini-cli.d.ts.map +1 -1
  84. package/dist/lib/google-gemini-cli.js +55 -61
  85. package/dist/lib/google-gemini-cli.js.map +1 -1
  86. package/dist/lib/google-token-cache.d.ts.map +1 -1
  87. package/dist/lib/google-token-cache.js +87 -34
  88. package/dist/lib/google-token-cache.js.map +1 -1
  89. package/dist/lib/google.d.ts.map +1 -1
  90. package/dist/lib/google.js +80 -84
  91. package/dist/lib/google.js.map +1 -1
  92. package/dist/lib/grouped-entry-normalization.d.ts.map +1 -1
  93. package/dist/lib/grouped-entry-normalization.js +7 -1
  94. package/dist/lib/grouped-entry-normalization.js.map +1 -1
  95. package/dist/lib/http.d.ts +12 -7
  96. package/dist/lib/http.d.ts.map +1 -1
  97. package/dist/lib/http.js +28 -15
  98. package/dist/lib/http.js.map +1 -1
  99. package/dist/lib/init-installer.d.ts +2 -1
  100. package/dist/lib/init-installer.d.ts.map +1 -1
  101. package/dist/lib/init-installer.js +29 -2
  102. package/dist/lib/init-installer.js.map +1 -1
  103. package/dist/lib/kimi-auth.d.ts +3 -26
  104. package/dist/lib/kimi-auth.d.ts.map +1 -1
  105. package/dist/lib/kimi-auth.js +24 -91
  106. package/dist/lib/kimi-auth.js.map +1 -1
  107. package/dist/lib/kimi.d.ts.map +1 -1
  108. package/dist/lib/kimi.js +20 -15
  109. package/dist/lib/kimi.js.map +1 -1
  110. package/dist/lib/maintainer-announcements.d.ts.map +1 -1
  111. package/dist/lib/maintainer-announcements.js +5 -0
  112. package/dist/lib/maintainer-announcements.js.map +1 -1
  113. package/dist/lib/map-with-concurrency.d.ts +2 -0
  114. package/dist/lib/map-with-concurrency.d.ts.map +1 -0
  115. package/dist/lib/map-with-concurrency.js +17 -0
  116. package/dist/lib/map-with-concurrency.js.map +1 -0
  117. package/dist/lib/mimo-config.d.ts +29 -0
  118. package/dist/lib/mimo-config.d.ts.map +1 -0
  119. package/dist/lib/mimo-config.js +147 -0
  120. package/dist/lib/mimo-config.js.map +1 -0
  121. package/dist/lib/mimo.d.ts +35 -0
  122. package/dist/lib/mimo.d.ts.map +1 -0
  123. package/dist/lib/mimo.js +236 -0
  124. package/dist/lib/mimo.js.map +1 -0
  125. package/dist/lib/modelsdev-pricing.d.ts.map +1 -1
  126. package/dist/lib/modelsdev-pricing.js +39 -27
  127. package/dist/lib/modelsdev-pricing.js.map +1 -1
  128. package/dist/lib/nanogpt-config.d.ts.map +1 -1
  129. package/dist/lib/nanogpt-config.js +2 -4
  130. package/dist/lib/nanogpt-config.js.map +1 -1
  131. package/dist/lib/nanogpt.d.ts.map +1 -1
  132. package/dist/lib/nanogpt.js +40 -30
  133. package/dist/lib/nanogpt.js.map +1 -1
  134. package/dist/lib/ollama-cloud.d.ts +1 -1
  135. package/dist/lib/ollama-cloud.d.ts.map +1 -1
  136. package/dist/lib/ollama-cloud.js +73 -68
  137. package/dist/lib/ollama-cloud.js.map +1 -1
  138. package/dist/lib/openai.d.ts.map +1 -1
  139. package/dist/lib/openai.js +53 -48
  140. package/dist/lib/openai.js.map +1 -1
  141. package/dist/lib/opencode-config-providers.d.ts.map +1 -1
  142. package/dist/lib/opencode-config-providers.js +13 -16
  143. package/dist/lib/opencode-config-providers.js.map +1 -1
  144. package/dist/lib/opencode-config-read.d.ts +23 -0
  145. package/dist/lib/opencode-config-read.d.ts.map +1 -0
  146. package/dist/lib/opencode-config-read.js +30 -0
  147. package/dist/lib/opencode-config-read.js.map +1 -0
  148. package/dist/lib/opencode-go.d.ts.map +1 -1
  149. package/dist/lib/opencode-go.js +44 -39
  150. package/dist/lib/opencode-go.js.map +1 -1
  151. package/dist/lib/opencode-zen-config.d.ts +34 -0
  152. package/dist/lib/opencode-zen-config.d.ts.map +1 -0
  153. package/dist/lib/opencode-zen-config.js +103 -0
  154. package/dist/lib/opencode-zen-config.js.map +1 -0
  155. package/dist/lib/opencode-zen.d.ts +27 -0
  156. package/dist/lib/opencode-zen.d.ts.map +1 -0
  157. package/dist/lib/opencode-zen.js +143 -0
  158. package/dist/lib/opencode-zen.js.map +1 -0
  159. package/dist/lib/openrouter.d.ts +13 -0
  160. package/dist/lib/openrouter.d.ts.map +1 -0
  161. package/dist/lib/openrouter.js +41 -0
  162. package/dist/lib/openrouter.js.map +1 -0
  163. package/dist/lib/provider-add-command.d.ts.map +1 -1
  164. package/dist/lib/provider-add-command.js +4 -12
  165. package/dist/lib/provider-add-command.js.map +1 -1
  166. package/dist/lib/provider-add-json-v1-questionnaire.d.ts +32 -0
  167. package/dist/lib/provider-add-json-v1-questionnaire.d.ts.map +1 -0
  168. package/dist/lib/provider-add-json-v1-questionnaire.js +336 -0
  169. package/dist/lib/provider-add-json-v1-questionnaire.js.map +1 -0
  170. package/dist/lib/provider-availability.d.ts +2 -2
  171. package/dist/lib/provider-availability.d.ts.map +1 -1
  172. package/dist/lib/provider-availability.js +2 -3
  173. package/dist/lib/provider-availability.js.map +1 -1
  174. package/dist/lib/provider-metadata.d.ts +300 -1
  175. package/dist/lib/provider-metadata.d.ts.map +1 -1
  176. package/dist/lib/provider-metadata.js +332 -227
  177. package/dist/lib/provider-metadata.js.map +1 -1
  178. package/dist/lib/quota-command-format.d.ts.map +1 -1
  179. package/dist/lib/quota-command-format.js +12 -16
  180. package/dist/lib/quota-command-format.js.map +1 -1
  181. package/dist/lib/quota-dialog-commands.d.ts +59 -2
  182. package/dist/lib/quota-dialog-commands.d.ts.map +1 -1
  183. package/dist/lib/quota-dialog-commands.js +73 -39
  184. package/dist/lib/quota-dialog-commands.js.map +1 -1
  185. package/dist/lib/quota-entry-display.d.ts +2 -0
  186. package/dist/lib/quota-entry-display.d.ts.map +1 -1
  187. package/dist/lib/quota-entry-display.js +27 -13
  188. package/dist/lib/quota-entry-display.js.map +1 -1
  189. package/dist/lib/quota-providers-remote.d.ts +0 -1
  190. package/dist/lib/quota-providers-remote.d.ts.map +1 -1
  191. package/dist/lib/quota-providers-remote.js +3 -16
  192. package/dist/lib/quota-providers-remote.js.map +1 -1
  193. package/dist/lib/quota-render-data.d.ts +4 -0
  194. package/dist/lib/quota-render-data.d.ts.map +1 -1
  195. package/dist/lib/quota-render-data.js +118 -127
  196. package/dist/lib/quota-render-data.js.map +1 -1
  197. package/dist/lib/quota-runtime-context.d.ts +9 -1
  198. package/dist/lib/quota-runtime-context.d.ts.map +1 -1
  199. package/dist/lib/quota-runtime-context.js +5 -0
  200. package/dist/lib/quota-runtime-context.js.map +1 -1
  201. package/dist/lib/quota-state.d.ts.map +1 -1
  202. package/dist/lib/quota-state.js +25 -1
  203. package/dist/lib/quota-state.js.map +1 -1
  204. package/dist/lib/quota-stats.d.ts +1 -0
  205. package/dist/lib/quota-stats.d.ts.map +1 -1
  206. package/dist/lib/quota-stats.js +14 -4
  207. package/dist/lib/quota-stats.js.map +1 -1
  208. package/dist/lib/quota-status.d.ts +7 -17
  209. package/dist/lib/quota-status.d.ts.map +1 -1
  210. package/dist/lib/quota-status.js +123 -948
  211. package/dist/lib/quota-status.js.map +1 -1
  212. package/dist/lib/runtime-provider-ids.d.ts +4 -0
  213. package/dist/lib/runtime-provider-ids.d.ts.map +1 -0
  214. package/dist/lib/runtime-provider-ids.js +10 -0
  215. package/dist/lib/runtime-provider-ids.js.map +1 -0
  216. package/dist/lib/session-tokens.d.ts +2 -0
  217. package/dist/lib/session-tokens.d.ts.map +1 -1
  218. package/dist/lib/session-tokens.js +4 -2
  219. package/dist/lib/session-tokens.js.map +1 -1
  220. package/dist/lib/synthetic-config.d.ts.map +1 -1
  221. package/dist/lib/synthetic-config.js +2 -4
  222. package/dist/lib/synthetic-config.js.map +1 -1
  223. package/dist/lib/synthetic.d.ts.map +1 -1
  224. package/dist/lib/synthetic.js +37 -32
  225. package/dist/lib/synthetic.js.map +1 -1
  226. package/dist/lib/toast-format-grouped.d.ts +1 -0
  227. package/dist/lib/toast-format-grouped.d.ts.map +1 -1
  228. package/dist/lib/toast-format-grouped.js +33 -29
  229. package/dist/lib/toast-format-grouped.js.map +1 -1
  230. package/dist/lib/tui-refresh-lifecycle.d.ts +17 -0
  231. package/dist/lib/tui-refresh-lifecycle.d.ts.map +1 -0
  232. package/dist/lib/tui-refresh-lifecycle.js +83 -0
  233. package/dist/lib/tui-refresh-lifecycle.js.map +1 -0
  234. package/dist/lib/tui-runtime.d.ts +0 -5
  235. package/dist/lib/tui-runtime.d.ts.map +1 -1
  236. package/dist/lib/tui-runtime.js +1 -6
  237. package/dist/lib/tui-runtime.js.map +1 -1
  238. package/dist/lib/tui-sidebar-format.d.ts +1 -1
  239. package/dist/lib/tui-sidebar-format.d.ts.map +1 -1
  240. package/dist/lib/tui-sidebar-format.js +1 -0
  241. package/dist/lib/tui-sidebar-format.js.map +1 -1
  242. package/dist/lib/types.d.ts +72 -8
  243. package/dist/lib/types.d.ts.map +1 -1
  244. package/dist/lib/types.js +2 -0
  245. package/dist/lib/types.js.map +1 -1
  246. package/dist/lib/xai.d.ts +39 -0
  247. package/dist/lib/xai.d.ts.map +1 -0
  248. package/dist/lib/xai.js +153 -0
  249. package/dist/lib/xai.js.map +1 -0
  250. package/dist/lib/zai-auth.d.ts +3 -26
  251. package/dist/lib/zai-auth.d.ts.map +1 -1
  252. package/dist/lib/zai-auth.js +24 -94
  253. package/dist/lib/zai-auth.js.map +1 -1
  254. package/dist/lib/zai.d.ts +1 -8
  255. package/dist/lib/zai.d.ts.map +1 -1
  256. package/dist/lib/zai.js +11 -91
  257. package/dist/lib/zai.js.map +1 -1
  258. package/dist/lib/zhipu-auth.d.ts +3 -26
  259. package/dist/lib/zhipu-auth.d.ts.map +1 -1
  260. package/dist/lib/zhipu-auth.js +24 -94
  261. package/dist/lib/zhipu-auth.js.map +1 -1
  262. package/dist/lib/zhipu.d.ts +1 -8
  263. package/dist/lib/zhipu.d.ts.map +1 -1
  264. package/dist/lib/zhipu.js +10 -84
  265. package/dist/lib/zhipu.js.map +1 -1
  266. package/dist/plugin.d.ts.map +1 -1
  267. package/dist/plugin.js +20 -145
  268. package/dist/plugin.js.map +1 -1
  269. package/dist/providers/alibaba-coding-plan.d.ts.map +1 -1
  270. package/dist/providers/alibaba-coding-plan.js +33 -6
  271. package/dist/providers/alibaba-coding-plan.js.map +1 -1
  272. package/dist/providers/anthropic.d.ts.map +1 -1
  273. package/dist/providers/anthropic.js +35 -7
  274. package/dist/providers/anthropic.js.map +1 -1
  275. package/dist/providers/chutes.d.ts.map +1 -1
  276. package/dist/providers/chutes.js +10 -3
  277. package/dist/providers/chutes.js.map +1 -1
  278. package/dist/providers/copilot.d.ts.map +1 -1
  279. package/dist/providers/copilot.js +102 -31
  280. package/dist/providers/copilot.js.map +1 -1
  281. package/dist/providers/cursor.d.ts.map +1 -1
  282. package/dist/providers/cursor.js +34 -6
  283. package/dist/providers/cursor.js.map +1 -1
  284. package/dist/providers/deepseek.d.ts.map +1 -1
  285. package/dist/providers/deepseek.js +10 -3
  286. package/dist/providers/deepseek.js.map +1 -1
  287. package/dist/providers/glm-coding-plan-provider.d.ts +44 -0
  288. package/dist/providers/glm-coding-plan-provider.d.ts.map +1 -0
  289. package/dist/providers/glm-coding-plan-provider.js +62 -0
  290. package/dist/providers/glm-coding-plan-provider.js.map +1 -0
  291. package/dist/providers/google-agy.d.ts.map +1 -1
  292. package/dist/providers/google-agy.js +83 -42
  293. package/dist/providers/google-agy.js.map +1 -1
  294. package/dist/providers/google-antigravity.d.ts.map +1 -1
  295. package/dist/providers/google-antigravity.js +31 -6
  296. package/dist/providers/google-antigravity.js.map +1 -1
  297. package/dist/providers/google-gemini-cli.d.ts.map +1 -1
  298. package/dist/providers/google-gemini-cli.js +24 -6
  299. package/dist/providers/google-gemini-cli.js.map +1 -1
  300. package/dist/providers/kimi-code.d.ts.map +1 -1
  301. package/dist/providers/kimi-code.js +27 -8
  302. package/dist/providers/kimi-code.js.map +1 -1
  303. package/dist/providers/mimo.d.ts +3 -0
  304. package/dist/providers/mimo.d.ts.map +1 -0
  305. package/dist/providers/mimo.js +127 -0
  306. package/dist/providers/mimo.js.map +1 -0
  307. package/dist/providers/minimax-coding-plan.d.ts.map +1 -1
  308. package/dist/providers/minimax-coding-plan.js +68 -32
  309. package/dist/providers/minimax-coding-plan.js.map +1 -1
  310. package/dist/providers/nanogpt.d.ts.map +1 -1
  311. package/dist/providers/nanogpt.js +41 -4
  312. package/dist/providers/nanogpt.js.map +1 -1
  313. package/dist/providers/openai.d.ts.map +1 -1
  314. package/dist/providers/openai.js +20 -3
  315. package/dist/providers/openai.js.map +1 -1
  316. package/dist/providers/opencode-go.d.ts.map +1 -1
  317. package/dist/providers/opencode-go.js +33 -15
  318. package/dist/providers/opencode-go.js.map +1 -1
  319. package/dist/providers/opencode-zen.d.ts +3 -0
  320. package/dist/providers/opencode-zen.d.ts.map +1 -0
  321. package/dist/providers/opencode-zen.js +99 -0
  322. package/dist/providers/opencode-zen.js.map +1 -0
  323. package/dist/providers/openrouter.d.ts +6 -0
  324. package/dist/providers/openrouter.d.ts.map +1 -0
  325. package/dist/providers/openrouter.js +25 -0
  326. package/dist/providers/openrouter.js.map +1 -0
  327. package/dist/providers/quota-providers.d.ts.map +1 -1
  328. package/dist/providers/quota-providers.js +3 -3
  329. package/dist/providers/quota-providers.js.map +1 -1
  330. package/dist/providers/qwen-code.d.ts.map +1 -1
  331. package/dist/providers/qwen-code.js +19 -5
  332. package/dist/providers/qwen-code.js.map +1 -1
  333. package/dist/providers/registry.d.ts.map +1 -1
  334. package/dist/providers/registry.js +8 -0
  335. package/dist/providers/registry.js.map +1 -1
  336. package/dist/providers/result-helpers.d.ts +29 -1
  337. package/dist/providers/result-helpers.d.ts.map +1 -1
  338. package/dist/providers/result-helpers.js +69 -0
  339. package/dist/providers/result-helpers.js.map +1 -1
  340. package/dist/providers/synthetic.d.ts.map +1 -1
  341. package/dist/providers/synthetic.js +10 -3
  342. package/dist/providers/synthetic.js.map +1 -1
  343. package/dist/providers/xai.d.ts +6 -0
  344. package/dist/providers/xai.d.ts.map +1 -0
  345. package/dist/providers/xai.js +51 -0
  346. package/dist/providers/xai.js.map +1 -0
  347. package/dist/providers/zai.d.ts +1 -7
  348. package/dist/providers/zai.d.ts.map +1 -1
  349. package/dist/providers/zai.js +11 -46
  350. package/dist/providers/zai.js.map +1 -1
  351. package/dist/providers/zhipu.d.ts +1 -7
  352. package/dist/providers/zhipu.d.ts.map +1 -1
  353. package/dist/providers/zhipu.js +11 -46
  354. package/dist/providers/zhipu.js.map +1 -1
  355. package/dist/tui.d.ts.map +1 -1
  356. package/dist/tui.js +47 -136
  357. package/dist/tui.tsx +62 -179
  358. package/package.json +1 -1
@@ -1,300 +1,61 @@
1
- import { readFile } from "fs/promises";
2
- import { readdirSync } from "node:fs";
3
- import { createRequire } from "node:module";
4
- import { dirname, join } from "node:path";
5
- import { pathToFileURL } from "node:url";
6
- import { getOpencodeRuntimeDirCandidates } from "./opencode-runtime-paths.js";
7
- const require = createRequire(import.meta.url);
8
- const COMPANION_PACKAGE_NAME = "opencode-antigravity-auth";
9
- const COMPANION_JS_IMPORT_SPECIFIERS = [
10
- `${COMPANION_PACKAGE_NAME}/dist/src/constants.js`,
11
- `${COMPANION_PACKAGE_NAME}/src/constants.js`,
12
- ];
13
- const COMPANION_SOURCE_IMPORT_SPECIFIER = `${COMPANION_PACKAGE_NAME}/src/constants.ts`;
14
- const COMPANION_PACKAGE_JSON_SPECIFIER = `${COMPANION_PACKAGE_NAME}/package.json`;
15
- const COMPANION_DIRECT_CANDIDATE_PATHS = [
1
+ import { createGoogleCompanionCredentialResolver, } from "./google-companion-credentials.js";
2
+ const PACKAGE_NAME = "opencode-antigravity-auth";
3
+ const SOURCE_SPECIFIER = `${PACKAGE_NAME}/src/constants.ts`;
4
+ const RUNTIME_CANDIDATES = [
16
5
  ["dist", "src", "constants.js"],
17
6
  ["src", "constants.ts"],
18
7
  ["src", "constants.js"],
19
8
  ["dist", "index.js"],
20
9
  ];
21
- const COMPANION_MISSING_ERROR = `Install ${COMPANION_PACKAGE_NAME} separately to enable Google Antigravity quota`;
22
- const COMPANION_INVALID_ERROR = `Installed ${COMPANION_PACKAGE_NAME} package is incompatible`;
23
- let resolvedCompanionStatePromise = null;
24
- function isModuleNotFoundError(error) {
25
- if (!error || typeof error !== "object") {
26
- return false;
27
- }
28
- const code = "code" in error ? error.code : undefined;
29
- if (code === "MODULE_NOT_FOUND") {
30
- return true;
31
- }
32
- const message = error instanceof Error ? error.message : "";
33
- return message.includes("Cannot find module");
34
- }
35
- function isPackagePathNotExportedError(error) {
36
- if (!error || typeof error !== "object") {
37
- return false;
38
- }
39
- return "code" in error && error.code === "ERR_PACKAGE_PATH_NOT_EXPORTED";
40
- }
41
- function isFallthroughResolutionError(error) {
42
- return isModuleNotFoundError(error) || isPackagePathNotExportedError(error);
43
- }
44
- function normalizeCredential(value) {
45
- return typeof value === "string" ? value.trim() : "";
46
- }
47
- function getCompanionResolvePaths() {
48
- const paths = [
49
- ...getOpencodeRuntimeDirCandidates().cacheDirs,
50
- ];
51
- return paths;
52
- }
53
- function getRuntimePackageRoots() {
54
- const cacheDirs = getOpencodeRuntimeDirCandidates().cacheDirs;
55
- const packageRoots = cacheDirs.map((cacheDir) => join(cacheDir, "node_modules", COMPANION_PACKAGE_NAME));
56
- for (const cacheDir of cacheDirs) {
57
- try {
58
- const packagesDir = join(cacheDir, "packages");
59
- const entries = readdirSync(packagesDir, { withFileTypes: true });
60
- for (const entry of entries) {
61
- if (entry.isDirectory() && entry.name.startsWith(COMPANION_PACKAGE_NAME)) {
62
- packageRoots.push(join(packagesDir, entry.name));
63
- packageRoots.push(join(packagesDir, entry.name, "node_modules", COMPANION_PACKAGE_NAME));
64
- }
65
- }
66
- }
67
- catch {
68
- // Ignore if packages dir doesn't exist
69
- }
70
- }
71
- return packageRoots;
72
- }
73
- function markPackageFoundForExportBlock(error, context) {
74
- if (isPackagePathNotExportedError(error)) {
75
- context.packageFound = true;
76
- }
77
- }
78
- function resolveCompanionSpecifier(specifier, context) {
79
- try {
80
- return require.resolve(specifier);
81
- }
82
- catch (error) {
83
- markPackageFoundForExportBlock(error, context);
84
- if (!isFallthroughResolutionError(error)) {
85
- throw error;
86
- }
87
- try {
88
- return require.resolve(specifier, { paths: getCompanionResolvePaths() });
89
- }
90
- catch (resolvePathsError) {
91
- markPackageFoundForExportBlock(resolvePathsError, context);
92
- throw resolvePathsError;
93
- }
94
- }
95
- }
96
- function buildConfiguredState(params) {
97
- return {
98
- presence: {
99
- state: "present",
100
- importSpecifier: params.importSpecifier,
101
- resolvedPath: params.resolvedPath,
10
+ const descriptor = {
11
+ packageName: PACKAGE_NAME,
12
+ packageScan: "unscoped",
13
+ clientIdExport: "ANTIGRAVITY_CLIENT_ID",
14
+ clientSecretExport: "ANTIGRAVITY_CLIENT_SECRET",
15
+ missingImportSpecifier: SOURCE_SPECIFIER,
16
+ missingError: `Install ${PACKAGE_NAME} separately to enable Google Antigravity quota`,
17
+ invalidError: `Installed ${PACKAGE_NAME} package is incompatible`,
18
+ stages: [
19
+ {
20
+ kind: "dynamic-import",
21
+ specifiers: [`${PACKAGE_NAME}/dist/src/constants.js`, `${PACKAGE_NAME}/src/constants.js`],
102
22
  },
103
- credentials: {
104
- state: "configured",
105
- clientId: params.clientId,
106
- clientSecret: params.clientSecret,
107
- resolvedPath: params.resolvedPath,
23
+ {
24
+ kind: "runtime-files",
25
+ importSpecifier: SOURCE_SPECIFIER,
26
+ candidatePaths: RUNTIME_CANDIDATES,
27
+ readErrors: "fallthrough-missing",
108
28
  },
109
- };
110
- }
111
- function buildInvalidState(importSpecifier, resolvedPath) {
112
- return {
113
- presence: {
114
- state: "invalid",
115
- importSpecifier,
116
- ...(resolvedPath ? { resolvedPath } : {}),
117
- error: COMPANION_INVALID_ERROR,
118
- },
119
- credentials: {
120
- state: "invalid",
121
- ...(resolvedPath ? { resolvedPath } : {}),
122
- error: COMPANION_INVALID_ERROR,
29
+ {
30
+ kind: "source-specifier",
31
+ importSpecifier: SOURCE_SPECIFIER,
32
+ searchRuntimePaths: true,
33
+ readErrors: "fallthrough-missing",
123
34
  },
124
- };
125
- }
126
- function parseSourceCredentials(content) {
127
- const clientId = content
128
- .match(/(?:export\s+const|const|var)\s+ANTIGRAVITY_CLIENT_ID\s*=\s*["']([^"']+)["']/)?.[1]
129
- ?.trim() ?? "";
130
- const clientSecret = content
131
- .match(/(?:export\s+const|const|var)\s+ANTIGRAVITY_CLIENT_SECRET\s*=\s*["']([^"']+)["']/)?.[1]
132
- ?.trim() ?? "";
133
- return clientId && clientSecret ? { clientId, clientSecret } : null;
134
- }
135
- function getPackageCredentialPaths(packageRoot) {
136
- return COMPANION_DIRECT_CANDIDATE_PATHS.map((parts) => join(packageRoot, ...parts));
137
- }
138
- function getRuntimeCredentialPaths() {
139
- return getRuntimePackageRoots().flatMap((packageRoot) => getPackageCredentialPaths(packageRoot));
140
- }
141
- function isMissingFileError(error) {
142
- if (!error || typeof error !== "object") {
143
- return false;
144
- }
145
- const code = "code" in error ? error.code : undefined;
146
- return code === "ENOENT" || code === "ENOTDIR";
147
- }
148
- async function tryReadCredentialsPath(importSpecifier, resolvedPath) {
149
- let content;
150
- try {
151
- content = await readFile(resolvedPath, "utf8");
152
- }
153
- catch (error) {
154
- return isMissingFileError(error) ? null : buildInvalidState(importSpecifier, resolvedPath);
155
- }
156
- const credentials = parseSourceCredentials(content);
157
- if (!credentials) {
158
- return buildInvalidState(importSpecifier, resolvedPath);
159
- }
160
- return buildConfiguredState({
161
- importSpecifier,
162
- resolvedPath,
163
- clientId: credentials.clientId,
164
- clientSecret: credentials.clientSecret,
165
- });
166
- }
167
- async function tryResolveJsConstants(importSpecifier, context) {
168
- let resolvedPath;
169
- try {
170
- resolvedPath = resolveCompanionSpecifier(importSpecifier, context);
171
- }
172
- catch (error) {
173
- if (isFallthroughResolutionError(error)) {
174
- return null;
175
- }
176
- return buildInvalidState(importSpecifier);
177
- }
178
- let companionModule;
179
- try {
180
- companionModule = (await import(pathToFileURL(resolvedPath).href));
181
- }
182
- catch {
183
- return buildInvalidState(importSpecifier, resolvedPath);
184
- }
185
- const clientId = normalizeCredential(companionModule.ANTIGRAVITY_CLIENT_ID);
186
- const clientSecret = normalizeCredential(companionModule.ANTIGRAVITY_CLIENT_SECRET);
187
- if (!clientId || !clientSecret) {
188
- return buildInvalidState(importSpecifier, resolvedPath);
189
- }
190
- return buildConfiguredState({ importSpecifier, resolvedPath, clientId, clientSecret });
191
- }
192
- async function tryRuntimeCredentialPaths() {
193
- for (const candidatePath of getRuntimeCredentialPaths()) {
194
- const resolved = await tryReadCredentialsPath(COMPANION_SOURCE_IMPORT_SPECIFIER, candidatePath);
195
- if (resolved) {
196
- return resolved;
197
- }
198
- }
199
- return null;
200
- }
201
- async function tryResolveSourceConstants(context) {
202
- let resolvedPath;
203
- try {
204
- resolvedPath = resolveCompanionSpecifier(COMPANION_SOURCE_IMPORT_SPECIFIER, context);
205
- }
206
- catch (error) {
207
- return isFallthroughResolutionError(error)
208
- ? null
209
- : buildInvalidState(COMPANION_SOURCE_IMPORT_SPECIFIER);
210
- }
211
- return ((await tryReadCredentialsPath(COMPANION_SOURCE_IMPORT_SPECIFIER, resolvedPath)) ??
212
- buildInvalidState(COMPANION_SOURCE_IMPORT_SPECIFIER, resolvedPath));
213
- }
214
- async function tryResolvePackageJson(context) {
215
- let packageJsonPath;
216
- try {
217
- packageJsonPath = resolveCompanionSpecifier(COMPANION_PACKAGE_JSON_SPECIFIER, context);
218
- }
219
- catch (error) {
220
- return isFallthroughResolutionError(error)
221
- ? null
222
- : buildInvalidState(COMPANION_PACKAGE_JSON_SPECIFIER);
223
- }
224
- const packageRoot = dirname(packageJsonPath);
225
- for (const candidatePath of getPackageCredentialPaths(packageRoot)) {
226
- const resolved = await tryReadCredentialsPath(COMPANION_PACKAGE_JSON_SPECIFIER, candidatePath);
227
- if (resolved) {
228
- return resolved;
229
- }
230
- }
231
- return buildInvalidState(COMPANION_PACKAGE_JSON_SPECIFIER, packageJsonPath);
232
- }
233
- async function tryResolvePackageEntry(context) {
234
- let packageEntryPath;
235
- try {
236
- packageEntryPath = resolveCompanionSpecifier(COMPANION_PACKAGE_NAME, context);
237
- }
238
- catch (error) {
239
- return isFallthroughResolutionError(error) ? null : buildInvalidState(COMPANION_PACKAGE_NAME);
240
- }
241
- return ((await tryReadCredentialsPath(COMPANION_PACKAGE_NAME, packageEntryPath)) ??
242
- buildInvalidState(COMPANION_PACKAGE_NAME, packageEntryPath));
243
- }
244
- async function resolveCompanionState() {
245
- const context = { packageFound: false };
246
- for (const importSpecifier of COMPANION_JS_IMPORT_SPECIFIERS) {
247
- const resolved = await tryResolveJsConstants(importSpecifier, context);
248
- if (resolved) {
249
- return resolved;
250
- }
251
- }
252
- const runtimeResolved = await tryRuntimeCredentialPaths();
253
- if (runtimeResolved) {
254
- return runtimeResolved;
255
- }
256
- const sourceResolved = await tryResolveSourceConstants(context);
257
- if (sourceResolved) {
258
- return sourceResolved;
259
- }
260
- const packageJsonResolved = await tryResolvePackageJson(context);
261
- if (packageJsonResolved) {
262
- return packageJsonResolved;
263
- }
264
- const packageEntryResolved = await tryResolvePackageEntry(context);
265
- if (packageEntryResolved) {
266
- return packageEntryResolved;
267
- }
268
- if (context.packageFound) {
269
- return buildInvalidState(COMPANION_PACKAGE_NAME);
270
- }
271
- return {
272
- presence: {
273
- state: "missing",
274
- importSpecifier: COMPANION_SOURCE_IMPORT_SPECIFIER,
275
- error: COMPANION_MISSING_ERROR,
35
+ {
36
+ kind: "package-json",
37
+ importSpecifier: `${PACKAGE_NAME}/package.json`,
38
+ candidateImportSpecifier: `${PACKAGE_NAME}/package.json`,
39
+ candidatePaths: RUNTIME_CANDIDATES,
40
+ readErrors: "fallthrough-missing",
41
+ resolutionErrorImportSpecifier: `${PACKAGE_NAME}/package.json`,
42
+ exhaustedInvalidPath: "package-json",
276
43
  },
277
- credentials: {
278
- state: "missing",
279
- error: COMPANION_MISSING_ERROR,
44
+ {
45
+ kind: "package-entry",
46
+ importSpecifier: PACKAGE_NAME,
47
+ readErrors: "fallthrough-missing",
280
48
  },
281
- };
282
- }
283
- async function getResolvedCompanionState() {
284
- if (!resolvedCompanionStatePromise) {
285
- resolvedCompanionStatePromise = resolveCompanionState();
286
- }
287
- return resolvedCompanionStatePromise;
288
- }
49
+ ],
50
+ };
51
+ const resolver = createGoogleCompanionCredentialResolver(descriptor);
289
52
  export async function inspectAntigravityCompanionPresence() {
290
- const resolved = await getResolvedCompanionState();
291
- return resolved.presence;
53
+ return resolver.inspect();
292
54
  }
293
55
  export async function resolveAntigravityClientCredentials() {
294
- const resolved = await getResolvedCompanionState();
295
- return resolved.credentials;
56
+ return resolver.resolveCredentials();
296
57
  }
297
58
  export function clearAntigravityCompanionCacheForTests() {
298
- resolvedCompanionStatePromise = null;
59
+ resolver.clearCacheForTests();
299
60
  }
300
61
  //# sourceMappingURL=google-antigravity-companion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"google-antigravity-companion.js","sourceRoot":"","sources":["../../src/lib/google-antigravity-companion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google-antigravity-companion.js","sourceRoot":"","sources":["../../src/lib/google-antigravity-companion.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uCAAuC,GAKxC,MAAM,mCAAmC,CAAC;AAE3C,MAAM,YAAY,GAAG,2BAA2B,CAAC;AACjD,MAAM,gBAAgB,GAAG,GAAG,YAAY,mBAAmB,CAAC;AAC5D,MAAM,kBAAkB,GAAG;IACzB,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC;IAC/B,CAAC,KAAK,EAAE,cAAc,CAAC;IACvB,CAAC,KAAK,EAAE,cAAc,CAAC;IACvB,CAAC,MAAM,EAAE,UAAU,CAAC;CACZ,CAAC;AAEX,MAAM,UAAU,GAAG;IACjB,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,UAAU;IACvB,cAAc,EAAE,uBAAuB;IACvC,kBAAkB,EAAE,2BAA2B;IAC/C,sBAAsB,EAAE,gBAAgB;IACxC,YAAY,EAAE,WAAW,YAAY,gDAAgD;IACrF,YAAY,EAAE,aAAa,YAAY,0BAA0B;IACjE,MAAM,EAAE;QACN;YACE,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE,CAAC,GAAG,YAAY,wBAAwB,EAAE,GAAG,YAAY,mBAAmB,CAAC;SAC1F;QACD;YACE,IAAI,EAAE,eAAe;YACrB,eAAe,EAAE,gBAAgB;YACjC,cAAc,EAAE,kBAAkB;YAClC,UAAU,EAAE,qBAAqB;SAClC;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,eAAe,EAAE,gBAAgB;YACjC,kBAAkB,EAAE,IAAI;YACxB,UAAU,EAAE,qBAAqB;SAClC;QACD;YACE,IAAI,EAAE,cAAc;YACpB,eAAe,EAAE,GAAG,YAAY,eAAe;YAC/C,wBAAwB,EAAE,GAAG,YAAY,eAAe;YACxD,cAAc,EAAE,kBAAkB;YAClC,UAAU,EAAE,qBAAqB;YACjC,8BAA8B,EAAE,GAAG,YAAY,eAAe;YAC9D,oBAAoB,EAAE,cAAc;SACrC;QACD;YACE,IAAI,EAAE,eAAe;YACrB,eAAe,EAAE,YAAY;YAC7B,UAAU,EAAE,qBAAqB;SAClC;KACF;CAC2C,CAAC;AAE/C,MAAM,QAAQ,GAAG,uCAAuC,CAAC,UAAU,CAAC,CAAC;AAMrE,MAAM,CAAC,KAAK,UAAU,mCAAmC;IACvD,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mCAAmC;IACvD,OAAO,QAAQ,CAAC,kBAAkB,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,sCAAsC;IACpD,QAAQ,CAAC,kBAAkB,EAAE,CAAC;AAChC,CAAC"}
@@ -0,0 +1,70 @@
1
+ type RelativePath = readonly string[];
2
+ type ReadErrorPolicy = "fallthrough-all" | "fallthrough-missing";
3
+ export type GoogleCompanionPresence = {
4
+ state: "present";
5
+ importSpecifier: string;
6
+ resolvedPath: string;
7
+ } | {
8
+ state: "missing";
9
+ importSpecifier: string;
10
+ error: string;
11
+ } | {
12
+ state: "invalid";
13
+ importSpecifier: string;
14
+ error: string;
15
+ resolvedPath?: string;
16
+ };
17
+ export type GoogleCompanionConfiguredCredentials = {
18
+ state: "configured";
19
+ clientId: string;
20
+ clientSecret: string;
21
+ resolvedPath: string;
22
+ };
23
+ export type GoogleCompanionClientCredentials = GoogleCompanionConfiguredCredentials | {
24
+ state: "missing" | "invalid";
25
+ error: string;
26
+ resolvedPath?: string;
27
+ };
28
+ export type GoogleCompanionResolutionStage = {
29
+ kind: "dynamic-import";
30
+ specifiers: readonly string[];
31
+ } | {
32
+ kind: "runtime-files";
33
+ importSpecifier: string;
34
+ candidatePaths: readonly RelativePath[];
35
+ readErrors: ReadErrorPolicy;
36
+ } | {
37
+ kind: "source-specifier";
38
+ importSpecifier: string;
39
+ searchRuntimePaths: boolean;
40
+ readErrors: ReadErrorPolicy;
41
+ } | {
42
+ kind: "package-json";
43
+ importSpecifier: string;
44
+ candidateImportSpecifier: string;
45
+ candidatePaths: readonly RelativePath[];
46
+ readErrors: ReadErrorPolicy;
47
+ resolutionErrorImportSpecifier: string;
48
+ exhaustedInvalidPath: "package-json" | "first-candidate";
49
+ } | {
50
+ kind: "package-entry";
51
+ importSpecifier: string;
52
+ readErrors: ReadErrorPolicy;
53
+ };
54
+ export type GoogleCompanionDescriptor = {
55
+ packageName: string;
56
+ packageScan: "scoped" | "unscoped";
57
+ clientIdExport: string;
58
+ clientSecretExport: string;
59
+ missingImportSpecifier: string;
60
+ missingError: string;
61
+ invalidError: string;
62
+ stages: readonly GoogleCompanionResolutionStage[];
63
+ };
64
+ export declare function createGoogleCompanionCredentialResolver(descriptor: GoogleCompanionDescriptor): {
65
+ inspect: () => Promise<GoogleCompanionPresence>;
66
+ resolveCredentials: () => Promise<GoogleCompanionClientCredentials>;
67
+ clearCacheForTests: () => void;
68
+ };
69
+ export {};
70
+ //# sourceMappingURL=google-companion-credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-companion-credentials.d.ts","sourceRoot":"","sources":["../../src/lib/google-companion-credentials.ts"],"names":[],"mappings":"AAUA,KAAK,YAAY,GAAG,SAAS,MAAM,EAAE,CAAC;AACtC,KAAK,eAAe,GAAG,iBAAiB,GAAG,qBAAqB,CAAC;AAEjE,MAAM,MAAM,uBAAuB,GAC/B;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5D;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEN,MAAM,MAAM,oCAAoC,GAAG;IACjD,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GACxC,oCAAoC,GACpC;IACE,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AASN,MAAM,MAAM,8BAA8B,GACtC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACzD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,UAAU,EAAE,eAAe,CAAC;CAC7B,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,eAAe,CAAC;CAC7B,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,wBAAwB,EAAE,MAAM,CAAC;IACjC,cAAc,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,UAAU,EAAE,eAAe,CAAC;IAC5B,8BAA8B,EAAE,MAAM,CAAC;IACvC,oBAAoB,EAAE,cAAc,GAAG,iBAAiB,CAAC;CAC1D,GACD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEN,MAAM,MAAM,yBAAyB,GAAG;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,QAAQ,GAAG,UAAU,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,8BAA8B,EAAE,CAAC;CACnD,CAAC;AAsSF,wBAAgB,uCAAuC,CAAC,UAAU,EAAE,yBAAyB,GAAG;IAC9F,OAAO,EAAE,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAChD,kBAAkB,EAAE,MAAM,OAAO,CAAC,gCAAgC,CAAC,CAAC;IACpE,kBAAkB,EAAE,MAAM,IAAI,CAAC;CAChC,CAmCA"}