anypick 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1231) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +589 -0
  3. package/dist/adapters.d.ts +4 -0
  4. package/dist/adapters.d.ts.map +1 -0
  5. package/dist/adapters.js +2 -0
  6. package/dist/catalog/model-fetch.d.ts +34 -0
  7. package/dist/catalog/model-fetch.d.ts.map +1 -0
  8. package/dist/catalog/model-fetch.js +99 -0
  9. package/dist/catalog/model-fetch.js.map +1 -0
  10. package/dist/catalog/providers.d.ts +42 -0
  11. package/dist/catalog/providers.d.ts.map +1 -0
  12. package/dist/catalog/providers.js +424 -0
  13. package/dist/catalog/providers.js.map +1 -0
  14. package/dist/cli/bootstrap.d.ts +3 -0
  15. package/dist/cli/bootstrap.d.ts.map +1 -0
  16. package/dist/cli/bootstrap.js +78 -0
  17. package/dist/cli/bootstrap.js.map +1 -0
  18. package/dist/cli/commands.d.ts +29 -0
  19. package/dist/cli/commands.d.ts.map +1 -0
  20. package/dist/cli/commands.js +1043 -0
  21. package/dist/cli/commands.js.map +1 -0
  22. package/dist/cli/completion.d.ts +6 -0
  23. package/dist/cli/completion.d.ts.map +1 -0
  24. package/dist/cli/completion.js +202 -0
  25. package/dist/cli/completion.js.map +1 -0
  26. package/dist/cli/errors.d.ts +20 -0
  27. package/dist/cli/errors.d.ts.map +1 -0
  28. package/dist/cli/errors.js +47 -0
  29. package/dist/cli/errors.js.map +1 -0
  30. package/dist/cli/format.d.ts +6 -0
  31. package/dist/cli/format.d.ts.map +1 -0
  32. package/dist/cli/format.js +75 -0
  33. package/dist/cli/format.js.map +1 -0
  34. package/dist/cli/help.d.ts +6 -0
  35. package/dist/cli/help.d.ts.map +1 -0
  36. package/dist/cli/help.js +66 -0
  37. package/dist/cli/help.js.map +1 -0
  38. package/dist/cli/interactive-accounts.d.ts +3 -0
  39. package/dist/cli/interactive-accounts.d.ts.map +1 -0
  40. package/dist/cli/interactive-accounts.js +86 -0
  41. package/dist/cli/interactive-accounts.js.map +1 -0
  42. package/dist/cli/interactive-maintenance.d.ts +4 -0
  43. package/dist/cli/interactive-maintenance.d.ts.map +1 -0
  44. package/dist/cli/interactive-maintenance.js +30 -0
  45. package/dist/cli/interactive-maintenance.js.map +1 -0
  46. package/dist/cli/interactive.d.ts +14 -0
  47. package/dist/cli/interactive.d.ts.map +1 -0
  48. package/dist/cli/interactive.js +242 -0
  49. package/dist/cli/interactive.js.map +1 -0
  50. package/dist/cli/launch-client.d.ts +18 -0
  51. package/dist/cli/launch-client.d.ts.map +1 -0
  52. package/dist/cli/launch-client.js +117 -0
  53. package/dist/cli/launch-client.js.map +1 -0
  54. package/dist/cli/launcher-model.d.ts +64 -0
  55. package/dist/cli/launcher-model.d.ts.map +1 -0
  56. package/dist/cli/launcher-model.js +200 -0
  57. package/dist/cli/launcher-model.js.map +1 -0
  58. package/dist/cli/launcher-render.d.ts +22 -0
  59. package/dist/cli/launcher-render.d.ts.map +1 -0
  60. package/dist/cli/launcher-render.js +113 -0
  61. package/dist/cli/launcher-render.js.map +1 -0
  62. package/dist/cli/launcher.d.ts +27 -0
  63. package/dist/cli/launcher.d.ts.map +1 -0
  64. package/dist/cli/launcher.js +93 -0
  65. package/dist/cli/launcher.js.map +1 -0
  66. package/dist/cli/local-health.d.ts +17 -0
  67. package/dist/cli/local-health.d.ts.map +1 -0
  68. package/dist/cli/local-health.js +31 -0
  69. package/dist/cli/local-health.js.map +1 -0
  70. package/dist/cli/plugin-commands.d.ts +4 -0
  71. package/dist/cli/plugin-commands.d.ts.map +1 -0
  72. package/dist/cli/plugin-commands.js +160 -0
  73. package/dist/cli/plugin-commands.js.map +1 -0
  74. package/dist/cli/primary.d.ts +18 -0
  75. package/dist/cli/primary.d.ts.map +1 -0
  76. package/dist/cli/primary.js +593 -0
  77. package/dist/cli/primary.js.map +1 -0
  78. package/dist/cli/render-util.d.ts +24 -0
  79. package/dist/cli/render-util.d.ts.map +1 -0
  80. package/dist/cli/render-util.js +58 -0
  81. package/dist/cli/render-util.js.map +1 -0
  82. package/dist/cli/ux.d.ts +43 -0
  83. package/dist/cli/ux.d.ts.map +1 -0
  84. package/dist/cli/ux.js +114 -0
  85. package/dist/cli/ux.js.map +1 -0
  86. package/dist/cli.d.ts +3 -0
  87. package/dist/cli.d.ts.map +1 -0
  88. package/dist/cli.js +35 -0
  89. package/dist/cli.js.map +1 -0
  90. package/dist/clients/claude-client-apply.d.ts +8 -0
  91. package/dist/clients/claude-client-apply.d.ts.map +1 -0
  92. package/dist/clients/claude-client-apply.js +108 -0
  93. package/dist/clients/claude-client-apply.js.map +1 -0
  94. package/dist/clients/claude-code.d.ts +5 -0
  95. package/dist/clients/claude-code.d.ts.map +1 -0
  96. package/dist/clients/claude-code.js +189 -0
  97. package/dist/clients/claude-code.js.map +1 -0
  98. package/dist/clients/claude-settings-guard.d.ts +18 -0
  99. package/dist/clients/claude-settings-guard.d.ts.map +1 -0
  100. package/dist/clients/codex-desktop-catalog.d.ts +67 -0
  101. package/dist/clients/codex-desktop-catalog.d.ts.map +1 -0
  102. package/dist/clients/codex-desktop-catalog.js +212 -0
  103. package/dist/clients/codex-desktop-catalog.js.map +1 -0
  104. package/dist/clients/codex.d.ts +181 -0
  105. package/dist/clients/codex.d.ts.map +1 -0
  106. package/dist/clients/codex.js +783 -0
  107. package/dist/clients/codex.js.map +1 -0
  108. package/dist/clients/env-files.d.ts +14 -0
  109. package/dist/clients/env-files.d.ts.map +1 -0
  110. package/dist/clients/env-files.js +50 -0
  111. package/dist/clients/env-files.js.map +1 -0
  112. package/dist/clients/gemini-client-utils.d.ts +4 -0
  113. package/dist/clients/gemini-client-utils.d.ts.map +1 -0
  114. package/dist/clients/gemini-client-utils.js +33 -0
  115. package/dist/clients/gemini-client-utils.js.map +1 -0
  116. package/dist/clients/gemini.d.ts +16 -0
  117. package/dist/clients/gemini.d.ts.map +1 -0
  118. package/dist/clients/gemini.js +233 -0
  119. package/dist/clients/gemini.js.map +1 -0
  120. package/dist/clients/index.d.ts +14 -0
  121. package/dist/clients/index.d.ts.map +1 -0
  122. package/dist/clients/index.js +18 -0
  123. package/dist/clients/index.js.map +1 -0
  124. package/dist/clients/isolation.d.ts +28 -0
  125. package/dist/clients/isolation.d.ts.map +1 -0
  126. package/dist/clients/isolation.js +131 -0
  127. package/dist/clients/isolation.js.map +1 -0
  128. package/dist/clients/kiro.d.ts +10 -0
  129. package/dist/clients/kiro.d.ts.map +1 -0
  130. package/dist/clients/kiro.js +168 -0
  131. package/dist/clients/kiro.js.map +1 -0
  132. package/dist/clients/model-roles.d.ts +58 -0
  133. package/dist/clients/model-roles.d.ts.map +1 -0
  134. package/dist/clients/model-roles.js +139 -0
  135. package/dist/clients/model-roles.js.map +1 -0
  136. package/dist/clients/registry.d.ts +7 -0
  137. package/dist/clients/registry.d.ts.map +1 -0
  138. package/dist/clients/registry.js +16 -0
  139. package/dist/clients/registry.js.map +1 -0
  140. package/dist/clients/resolve.d.ts +27 -0
  141. package/dist/clients/resolve.d.ts.map +1 -0
  142. package/dist/clients/resolve.js +49 -0
  143. package/dist/clients/resolve.js.map +1 -0
  144. package/dist/core/account-codec.d.ts +32 -0
  145. package/dist/core/account-codec.d.ts.map +1 -0
  146. package/dist/core/account-codec.js +134 -0
  147. package/dist/core/account-codec.js.map +1 -0
  148. package/dist/core/account-transfer.d.ts +20 -0
  149. package/dist/core/account-transfer.d.ts.map +1 -0
  150. package/dist/core/account-transfer.js +136 -0
  151. package/dist/core/account-transfer.js.map +1 -0
  152. package/dist/core/activation-executor.d.ts +72 -0
  153. package/dist/core/activation-executor.d.ts.map +1 -0
  154. package/dist/core/activation-executor.js +690 -0
  155. package/dist/core/activation-executor.js.map +1 -0
  156. package/dist/core/activation-models.d.ts +6 -0
  157. package/dist/core/activation-models.d.ts.map +1 -0
  158. package/dist/core/activation-models.js +33 -0
  159. package/dist/core/activation-models.js.map +1 -0
  160. package/dist/core/activation-planner.d.ts +38 -0
  161. package/dist/core/activation-planner.d.ts.map +1 -0
  162. package/dist/core/activation-planner.js +248 -0
  163. package/dist/core/activation-planner.js.map +1 -0
  164. package/dist/core/activation-protocol.d.ts +3 -0
  165. package/dist/core/activation-protocol.d.ts.map +1 -0
  166. package/dist/core/activation-protocol.js +9 -0
  167. package/dist/core/activation-protocol.js.map +1 -0
  168. package/dist/core/activation-transport.d.ts +15 -0
  169. package/dist/core/activation-transport.d.ts.map +1 -0
  170. package/dist/core/activation-transport.js +23 -0
  171. package/dist/core/activation-transport.js.map +1 -0
  172. package/dist/core/app.d.ts +149 -0
  173. package/dist/core/app.d.ts.map +1 -0
  174. package/dist/core/app.js +372 -0
  175. package/dist/core/app.js.map +1 -0
  176. package/dist/core/binding-service.d.ts +93 -0
  177. package/dist/core/binding-service.d.ts.map +1 -0
  178. package/dist/core/binding-service.js +281 -0
  179. package/dist/core/binding-service.js.map +1 -0
  180. package/dist/core/binding-store.d.ts +23 -0
  181. package/dist/core/binding-store.d.ts.map +1 -0
  182. package/dist/core/binding-store.js +154 -0
  183. package/dist/core/binding-store.js.map +1 -0
  184. package/dist/core/brand.d.ts +18 -0
  185. package/dist/core/brand.d.ts.map +1 -0
  186. package/dist/core/brand.js +22 -0
  187. package/dist/core/brand.js.map +1 -0
  188. package/dist/core/capabilities.d.ts +30 -0
  189. package/dist/core/capabilities.d.ts.map +1 -0
  190. package/dist/core/capabilities.js +27 -0
  191. package/dist/core/capabilities.js.map +1 -0
  192. package/dist/core/client-state-store.d.ts +17 -0
  193. package/dist/core/client-state-store.d.ts.map +1 -0
  194. package/dist/core/client-state-store.js +47 -0
  195. package/dist/core/client-state-store.js.map +1 -0
  196. package/dist/core/codec/account.d.ts +52 -0
  197. package/dist/core/codec/account.d.ts.map +1 -0
  198. package/dist/core/codec/account.js +69 -0
  199. package/dist/core/codec/account.js.map +1 -0
  200. package/dist/core/codec/bindings.d.ts +38 -0
  201. package/dist/core/codec/bindings.d.ts.map +1 -0
  202. package/dist/core/codec/bindings.js +79 -0
  203. package/dist/core/codec/bindings.js.map +1 -0
  204. package/dist/core/codec/operations.d.ts +36 -0
  205. package/dist/core/codec/operations.d.ts.map +1 -0
  206. package/dist/core/codec/operations.js +82 -0
  207. package/dist/core/codec/operations.js.map +1 -0
  208. package/dist/core/codec/primitives.d.ts +59 -0
  209. package/dist/core/codec/primitives.d.ts.map +1 -0
  210. package/dist/core/codec/primitives.js +123 -0
  211. package/dist/core/codec/primitives.js.map +1 -0
  212. package/dist/core/codec/proxy-hub.d.ts +43 -0
  213. package/dist/core/codec/proxy-hub.d.ts.map +1 -0
  214. package/dist/core/codec/proxy-hub.js +69 -0
  215. package/dist/core/codec/proxy-hub.js.map +1 -0
  216. package/dist/core/codec/runtime.d.ts +41 -0
  217. package/dist/core/codec/runtime.d.ts.map +1 -0
  218. package/dist/core/codec/runtime.js +66 -0
  219. package/dist/core/codec/runtime.js.map +1 -0
  220. package/dist/core/codec.d.ts +43 -0
  221. package/dist/core/codec.d.ts.map +1 -0
  222. package/dist/core/codec.js +69 -0
  223. package/dist/core/codec.js.map +1 -0
  224. package/dist/core/codex-live-config.d.ts +92 -0
  225. package/dist/core/codex-live-config.d.ts.map +1 -0
  226. package/dist/core/codex-live-config.js +263 -0
  227. package/dist/core/codex-live-config.js.map +1 -0
  228. package/dist/core/config-service.d.ts +35 -0
  229. package/dist/core/config-service.d.ts.map +1 -0
  230. package/dist/core/config-service.js +87 -0
  231. package/dist/core/config-service.js.map +1 -0
  232. package/dist/core/config.d.ts +14 -0
  233. package/dist/core/config.d.ts.map +1 -0
  234. package/dist/core/config.js +45 -0
  235. package/dist/core/config.js.map +1 -0
  236. package/dist/core/db-schema.d.ts +30 -0
  237. package/dist/core/db-schema.d.ts.map +1 -0
  238. package/dist/core/db-schema.js +278 -0
  239. package/dist/core/db-schema.js.map +1 -0
  240. package/dist/core/db.d.ts +72 -0
  241. package/dist/core/db.d.ts.map +1 -0
  242. package/dist/core/db.js +192 -0
  243. package/dist/core/db.js.map +1 -0
  244. package/dist/core/doctor-fixes.d.ts +3 -0
  245. package/dist/core/doctor-fixes.d.ts.map +1 -0
  246. package/dist/core/doctor-fixes.js +102 -0
  247. package/dist/core/doctor-fixes.js.map +1 -0
  248. package/dist/core/doctor-format.d.ts +10 -0
  249. package/dist/core/doctor-format.d.ts.map +1 -0
  250. package/dist/core/doctor-format.js +45 -0
  251. package/dist/core/doctor-format.js.map +1 -0
  252. package/dist/core/doctor-report.d.ts +3 -0
  253. package/dist/core/doctor-report.d.ts.map +1 -0
  254. package/dist/core/doctor-report.js +174 -0
  255. package/dist/core/doctor-report.js.map +1 -0
  256. package/dist/core/doctor-scan.d.ts +7 -0
  257. package/dist/core/doctor-scan.d.ts.map +1 -0
  258. package/dist/core/doctor-scan.js +139 -0
  259. package/dist/core/doctor-scan.js.map +1 -0
  260. package/dist/core/doctor-types.d.ts +89 -0
  261. package/dist/core/doctor-types.d.ts.map +1 -0
  262. package/dist/core/doctor-types.js +14 -0
  263. package/dist/core/doctor-types.js.map +1 -0
  264. package/dist/core/doctor-utils.d.ts +3 -0
  265. package/dist/core/doctor-utils.d.ts.map +1 -0
  266. package/dist/core/doctor-utils.js +36 -0
  267. package/dist/core/doctor-utils.js.map +1 -0
  268. package/dist/core/doctor.d.ts +14 -0
  269. package/dist/core/doctor.d.ts.map +1 -0
  270. package/dist/core/doctor.js +127 -0
  271. package/dist/core/doctor.js.map +1 -0
  272. package/dist/core/events.d.ts +58 -0
  273. package/dist/core/events.d.ts.map +1 -0
  274. package/dist/core/events.js +88 -0
  275. package/dist/core/events.js.map +1 -0
  276. package/dist/core/journal.d.ts +23 -0
  277. package/dist/core/journal.d.ts.map +1 -0
  278. package/dist/core/journal.js +93 -0
  279. package/dist/core/journal.js.map +1 -0
  280. package/dist/core/lease-store.d.ts +22 -0
  281. package/dist/core/lease-store.d.ts.map +1 -0
  282. package/dist/core/lease-store.js +81 -0
  283. package/dist/core/lease-store.js.map +1 -0
  284. package/dist/core/migrate-bindings.d.ts +10 -0
  285. package/dist/core/migrate-bindings.d.ts.map +1 -0
  286. package/dist/core/migrate-bindings.js +98 -0
  287. package/dist/core/migrate-bindings.js.map +1 -0
  288. package/dist/core/migrate-fs.d.ts +11 -0
  289. package/dist/core/migrate-fs.d.ts.map +1 -0
  290. package/dist/core/migrate-fs.js +184 -0
  291. package/dist/core/migrate-fs.js.map +1 -0
  292. package/dist/core/model-cache-store.d.ts +27 -0
  293. package/dist/core/model-cache-store.d.ts.map +1 -0
  294. package/dist/core/model-cache-store.js +50 -0
  295. package/dist/core/model-cache-store.js.map +1 -0
  296. package/dist/core/model-discovery.d.ts +66 -0
  297. package/dist/core/model-discovery.d.ts.map +1 -0
  298. package/dist/core/model-discovery.js +127 -0
  299. package/dist/core/model-discovery.js.map +1 -0
  300. package/dist/core/model-policy.d.ts +40 -0
  301. package/dist/core/model-policy.d.ts.map +1 -0
  302. package/dist/core/model-policy.js +77 -0
  303. package/dist/core/model-policy.js.map +1 -0
  304. package/dist/core/model-roles.d.ts +9 -0
  305. package/dist/core/model-roles.d.ts.map +1 -0
  306. package/dist/core/model-roles.js +20 -0
  307. package/dist/core/model-roles.js.map +1 -0
  308. package/dist/core/mutation-lock.d.ts +31 -0
  309. package/dist/core/mutation-lock.d.ts.map +1 -0
  310. package/dist/core/mutation-lock.js +69 -0
  311. package/dist/core/mutation-lock.js.map +1 -0
  312. package/dist/core/paths.d.ts +49 -0
  313. package/dist/core/paths.d.ts.map +1 -0
  314. package/dist/core/paths.js +110 -0
  315. package/dist/core/paths.js.map +1 -0
  316. package/dist/core/plugin-loader.d.ts +40 -0
  317. package/dist/core/plugin-loader.d.ts.map +1 -0
  318. package/dist/core/plugin-loader.js +184 -0
  319. package/dist/core/plugin-loader.js.map +1 -0
  320. package/dist/core/plugin-service.d.ts +32 -0
  321. package/dist/core/plugin-service.d.ts.map +1 -0
  322. package/dist/core/plugin-service.js +110 -0
  323. package/dist/core/plugin-service.js.map +1 -0
  324. package/dist/core/plugin-store.d.ts +18 -0
  325. package/dist/core/plugin-store.d.ts.map +1 -0
  326. package/dist/core/plugin-store.js +50 -0
  327. package/dist/core/plugin-store.js.map +1 -0
  328. package/dist/core/pool-store.d.ts +44 -0
  329. package/dist/core/pool-store.d.ts.map +1 -0
  330. package/dist/core/pool-store.js +198 -0
  331. package/dist/core/pool-store.js.map +1 -0
  332. package/dist/core/preset-store.d.ts +29 -0
  333. package/dist/core/preset-store.d.ts.map +1 -0
  334. package/dist/core/preset-store.js +105 -0
  335. package/dist/core/preset-store.js.map +1 -0
  336. package/dist/core/profile-service.d.ts +50 -0
  337. package/dist/core/profile-service.d.ts.map +1 -0
  338. package/dist/core/profile-service.js +149 -0
  339. package/dist/core/profile-service.js.map +1 -0
  340. package/dist/core/profile-store.d.ts +20 -0
  341. package/dist/core/profile-store.d.ts.map +1 -0
  342. package/dist/core/profile-store.js +92 -0
  343. package/dist/core/profile-store.js.map +1 -0
  344. package/dist/core/profile-synth.d.ts +24 -0
  345. package/dist/core/profile-synth.d.ts.map +1 -0
  346. package/dist/core/profile-synth.js +30 -0
  347. package/dist/core/profile-synth.js.map +1 -0
  348. package/dist/core/project-root.d.ts +7 -0
  349. package/dist/core/project-root.d.ts.map +1 -0
  350. package/dist/core/project-root.js +23 -0
  351. package/dist/core/project-root.js.map +1 -0
  352. package/dist/core/proxy-hub-cli.d.ts +3 -0
  353. package/dist/core/proxy-hub-cli.d.ts.map +1 -0
  354. package/dist/core/proxy-hub-cli.js +80 -0
  355. package/dist/core/proxy-hub-cli.js.map +1 -0
  356. package/dist/core/proxy-hub-routes.d.ts +22 -0
  357. package/dist/core/proxy-hub-routes.d.ts.map +1 -0
  358. package/dist/core/proxy-hub-routes.js +92 -0
  359. package/dist/core/proxy-hub-routes.js.map +1 -0
  360. package/dist/core/proxy-hub-server.d.ts +59 -0
  361. package/dist/core/proxy-hub-server.d.ts.map +1 -0
  362. package/dist/core/proxy-hub-server.js +409 -0
  363. package/dist/core/proxy-hub-server.js.map +1 -0
  364. package/dist/core/proxy-hub-service.d.ts +97 -0
  365. package/dist/core/proxy-hub-service.d.ts.map +1 -0
  366. package/dist/core/proxy-hub-service.js +553 -0
  367. package/dist/core/proxy-hub-service.js.map +1 -0
  368. package/dist/core/proxy-hub-store.d.ts +28 -0
  369. package/dist/core/proxy-hub-store.d.ts.map +1 -0
  370. package/dist/core/proxy-hub-store.js +152 -0
  371. package/dist/core/proxy-hub-store.js.map +1 -0
  372. package/dist/core/proxy-lifecycle.d.ts +26 -0
  373. package/dist/core/proxy-lifecycle.d.ts.map +1 -0
  374. package/dist/core/proxy-lifecycle.js +33 -0
  375. package/dist/core/proxy-lifecycle.js.map +1 -0
  376. package/dist/core/proxy-ports.d.ts +50 -0
  377. package/dist/core/proxy-ports.d.ts.map +1 -0
  378. package/dist/core/proxy-ports.js +86 -0
  379. package/dist/core/proxy-ports.js.map +1 -0
  380. package/dist/core/proxy-service.d.ts +184 -0
  381. package/dist/core/proxy-service.d.ts.map +1 -0
  382. package/dist/core/proxy-service.js +860 -0
  383. package/dist/core/proxy-service.js.map +1 -0
  384. package/dist/core/quota-guard-policy.d.ts +8 -0
  385. package/dist/core/quota-guard-policy.d.ts.map +1 -0
  386. package/dist/core/quota-guard-policy.js +21 -0
  387. package/dist/core/quota-guard-policy.js.map +1 -0
  388. package/dist/core/realign-proxy-clients.d.ts +19 -0
  389. package/dist/core/realign-proxy-clients.d.ts.map +1 -0
  390. package/dist/core/realign-proxy-clients.js +40 -0
  391. package/dist/core/realign-proxy-clients.js.map +1 -0
  392. package/dist/core/refs.d.ts +84 -0
  393. package/dist/core/refs.d.ts.map +1 -0
  394. package/dist/core/refs.js +250 -0
  395. package/dist/core/refs.js.map +1 -0
  396. package/dist/core/registry.d.ts +46 -0
  397. package/dist/core/registry.d.ts.map +1 -0
  398. package/dist/core/registry.js +70 -0
  399. package/dist/core/registry.js.map +1 -0
  400. package/dist/core/resolve-source.d.ts +54 -0
  401. package/dist/core/resolve-source.d.ts.map +1 -0
  402. package/dist/core/resolve-source.js +148 -0
  403. package/dist/core/resolve-source.js.map +1 -0
  404. package/dist/core/runtime-service.d.ts +158 -0
  405. package/dist/core/runtime-service.d.ts.map +1 -0
  406. package/dist/core/runtime-service.js +422 -0
  407. package/dist/core/runtime-service.js.map +1 -0
  408. package/dist/core/service.d.ts +200 -0
  409. package/dist/core/service.d.ts.map +1 -0
  410. package/dist/core/service.js +643 -0
  411. package/dist/core/service.js.map +1 -0
  412. package/dist/core/store-snapshot.d.ts +10 -0
  413. package/dist/core/store-snapshot.d.ts.map +1 -0
  414. package/dist/core/store-snapshot.js +79 -0
  415. package/dist/core/store-snapshot.js.map +1 -0
  416. package/dist/core/store.d.ts +68 -0
  417. package/dist/core/store.d.ts.map +1 -0
  418. package/dist/core/store.js +159 -0
  419. package/dist/core/store.js.map +1 -0
  420. package/dist/core/tray-runtime.d.ts +15 -0
  421. package/dist/core/tray-runtime.d.ts.map +1 -0
  422. package/dist/core/tray-runtime.js +33 -0
  423. package/dist/core/tray-runtime.js.map +1 -0
  424. package/dist/core/tray-settings-service.d.ts +7 -0
  425. package/dist/core/tray-settings-service.d.ts.map +1 -0
  426. package/dist/core/tray-settings-service.js +24 -0
  427. package/dist/core/tray-settings-service.js.map +1 -0
  428. package/dist/core/update.d.ts +26 -0
  429. package/dist/core/update.d.ts.map +1 -0
  430. package/dist/core/update.js +128 -0
  431. package/dist/core/update.js.map +1 -0
  432. package/dist/index.d.ts +12 -0
  433. package/dist/index.d.ts.map +1 -0
  434. package/dist/index.js +7 -0
  435. package/dist/network/egress/allowlist.d.ts +2 -0
  436. package/dist/network/egress/allowlist.d.ts.map +1 -0
  437. package/dist/network/egress/allowlist.js +14 -0
  438. package/dist/network/egress/allowlist.js.map +1 -0
  439. package/dist/network/egress/direct.d.ts +17 -0
  440. package/dist/network/egress/direct.d.ts.map +1 -0
  441. package/dist/network/egress/direct.js +28 -0
  442. package/dist/network/egress/direct.js.map +1 -0
  443. package/dist/network/egress/errors.d.ts +4 -0
  444. package/dist/network/egress/errors.d.ts.map +1 -0
  445. package/dist/network/egress/errors.js +8 -0
  446. package/dist/network/egress/errors.js.map +1 -0
  447. package/dist/network/egress/index.d.ts +6 -0
  448. package/dist/network/egress/index.d.ts.map +1 -0
  449. package/dist/network/egress/index.js +11 -0
  450. package/dist/network/egress/index.js.map +1 -0
  451. package/dist/network/egress/types.d.ts +16 -0
  452. package/dist/network/egress/types.d.ts.map +1 -0
  453. package/dist/presentation/client-name.d.ts +14 -0
  454. package/dist/presentation/client-name.d.ts.map +1 -0
  455. package/dist/presentation/client-name.js +22 -0
  456. package/dist/presentation/client-name.js.map +1 -0
  457. package/dist/presentation/layout.d.ts +7 -0
  458. package/dist/presentation/layout.d.ts.map +1 -0
  459. package/dist/presentation/layout.js +10 -0
  460. package/dist/presentation/layout.js.map +1 -0
  461. package/dist/providers/auth-fingerprint.d.ts +56 -0
  462. package/dist/providers/auth-fingerprint.d.ts.map +1 -0
  463. package/dist/providers/auth-fingerprint.js +163 -0
  464. package/dist/providers/auth-fingerprint.js.map +1 -0
  465. package/dist/providers/claude.d.ts +43 -0
  466. package/dist/providers/claude.d.ts.map +1 -0
  467. package/dist/providers/claude.js +191 -0
  468. package/dist/providers/claude.js.map +1 -0
  469. package/dist/providers/codex-identity.d.ts +13 -0
  470. package/dist/providers/codex-identity.d.ts.map +1 -0
  471. package/dist/providers/codex-identity.js +69 -0
  472. package/dist/providers/codex-identity.js.map +1 -0
  473. package/dist/providers/codex-refresh.d.ts +30 -0
  474. package/dist/providers/codex-refresh.d.ts.map +1 -0
  475. package/dist/providers/codex-refresh.js +64 -0
  476. package/dist/providers/codex-refresh.js.map +1 -0
  477. package/dist/providers/codex-usage.d.ts +3 -0
  478. package/dist/providers/codex-usage.d.ts.map +1 -0
  479. package/dist/providers/codex-usage.js +42 -0
  480. package/dist/providers/codex-usage.js.map +1 -0
  481. package/dist/providers/codex.d.ts +61 -0
  482. package/dist/providers/codex.d.ts.map +1 -0
  483. package/dist/providers/codex.js +212 -0
  484. package/dist/providers/codex.js.map +1 -0
  485. package/dist/providers/gemini-antigravity-oauth.d.ts +83 -0
  486. package/dist/providers/gemini-antigravity-oauth.d.ts.map +1 -0
  487. package/dist/providers/gemini-antigravity-oauth.js +343 -0
  488. package/dist/providers/gemini-antigravity-oauth.js.map +1 -0
  489. package/dist/providers/gemini-antigravity-state.d.ts +35 -0
  490. package/dist/providers/gemini-antigravity-state.d.ts.map +1 -0
  491. package/dist/providers/gemini-antigravity-state.js +433 -0
  492. package/dist/providers/gemini-antigravity-state.js.map +1 -0
  493. package/dist/providers/gemini-env.d.ts +8 -0
  494. package/dist/providers/gemini-env.d.ts.map +1 -0
  495. package/dist/providers/gemini-env.js +78 -0
  496. package/dist/providers/gemini-env.js.map +1 -0
  497. package/dist/providers/gemini-identity.d.ts +2 -0
  498. package/dist/providers/gemini-identity.d.ts.map +1 -0
  499. package/dist/providers/gemini-identity.js +14 -0
  500. package/dist/providers/gemini-identity.js.map +1 -0
  501. package/dist/providers/gemini-proxy/main.d.ts +3 -0
  502. package/dist/providers/gemini-proxy/main.d.ts.map +1 -0
  503. package/dist/providers/gemini-proxy/main.js +176 -0
  504. package/dist/providers/gemini-proxy/main.js.map +1 -0
  505. package/dist/providers/gemini-proxy/server.d.ts +57 -0
  506. package/dist/providers/gemini-proxy/server.d.ts.map +1 -0
  507. package/dist/providers/gemini-proxy/server.js +1240 -0
  508. package/dist/providers/gemini-proxy/server.js.map +1 -0
  509. package/dist/providers/gemini-proxy-entry.d.ts +2 -0
  510. package/dist/providers/gemini-proxy-entry.d.ts.map +1 -0
  511. package/dist/providers/gemini-proxy-entry.js +16 -0
  512. package/dist/providers/gemini-proxy-entry.js.map +1 -0
  513. package/dist/providers/gemini-proxy-lifecycle.d.ts +11 -0
  514. package/dist/providers/gemini-proxy-lifecycle.d.ts.map +1 -0
  515. package/dist/providers/gemini-proxy-lifecycle.js +131 -0
  516. package/dist/providers/gemini-proxy-lifecycle.js.map +1 -0
  517. package/dist/providers/gemini.d.ts +137 -0
  518. package/dist/providers/gemini.d.ts.map +1 -0
  519. package/dist/providers/gemini.js +471 -0
  520. package/dist/providers/gemini.js.map +1 -0
  521. package/dist/providers/grok-proxy/auth.d.ts +27 -0
  522. package/dist/providers/grok-proxy/auth.d.ts.map +1 -0
  523. package/dist/providers/grok-proxy/auth.js +123 -0
  524. package/dist/providers/grok-proxy/auth.js.map +1 -0
  525. package/dist/providers/grok-proxy/main.d.ts +3 -0
  526. package/dist/providers/grok-proxy/main.d.ts.map +1 -0
  527. package/dist/providers/grok-proxy/main.js +111 -0
  528. package/dist/providers/grok-proxy/main.js.map +1 -0
  529. package/dist/providers/grok-proxy/server.d.ts +46 -0
  530. package/dist/providers/grok-proxy/server.d.ts.map +1 -0
  531. package/dist/providers/grok-proxy/server.js +595 -0
  532. package/dist/providers/grok-proxy/server.js.map +1 -0
  533. package/dist/providers/grok.d.ts +38 -0
  534. package/dist/providers/grok.d.ts.map +1 -0
  535. package/dist/providers/grok.js +250 -0
  536. package/dist/providers/grok.js.map +1 -0
  537. package/dist/providers/index.d.ts +14 -0
  538. package/dist/providers/index.d.ts.map +1 -0
  539. package/dist/providers/index.js +23 -0
  540. package/dist/providers/index.js.map +1 -0
  541. package/dist/providers/kiro-secret-store.d.ts +39 -0
  542. package/dist/providers/kiro-secret-store.d.ts.map +1 -0
  543. package/dist/providers/kiro-secret-store.js +168 -0
  544. package/dist/providers/kiro-secret-store.js.map +1 -0
  545. package/dist/providers/kiro.d.ts +50 -0
  546. package/dist/providers/kiro.d.ts.map +1 -0
  547. package/dist/providers/kiro.js +373 -0
  548. package/dist/providers/kiro.js.map +1 -0
  549. package/dist/providers/model-policy.d.ts +15 -0
  550. package/dist/providers/model-policy.d.ts.map +1 -0
  551. package/dist/providers/model-policy.js +26 -0
  552. package/dist/providers/model-policy.js.map +1 -0
  553. package/dist/providers/opencode-auth.d.ts +67 -0
  554. package/dist/providers/opencode-auth.d.ts.map +1 -0
  555. package/dist/providers/opencode-auth.js +146 -0
  556. package/dist/providers/opencode-auth.js.map +1 -0
  557. package/dist/providers/opencode-cli-entry.d.ts +36 -0
  558. package/dist/providers/opencode-cli-entry.d.ts.map +1 -0
  559. package/dist/providers/opencode-cli-entry.js +90 -0
  560. package/dist/providers/opencode-cli-entry.js.map +1 -0
  561. package/dist/providers/opencode-proxy/abort.d.ts +8 -0
  562. package/dist/providers/opencode-proxy/abort.d.ts.map +1 -0
  563. package/dist/providers/opencode-proxy/abort.js +42 -0
  564. package/dist/providers/opencode-proxy/abort.js.map +1 -0
  565. package/dist/providers/opencode-proxy/anthropic-handler.d.ts +4 -0
  566. package/dist/providers/opencode-proxy/anthropic-handler.d.ts.map +1 -0
  567. package/dist/providers/opencode-proxy/anthropic-handler.js +108 -0
  568. package/dist/providers/opencode-proxy/anthropic-handler.js.map +1 -0
  569. package/dist/providers/opencode-proxy/auth.d.ts +38 -0
  570. package/dist/providers/opencode-proxy/auth.d.ts.map +1 -0
  571. package/dist/providers/opencode-proxy/auth.js +128 -0
  572. package/dist/providers/opencode-proxy/auth.js.map +1 -0
  573. package/dist/providers/opencode-proxy/body.d.ts +9 -0
  574. package/dist/providers/opencode-proxy/body.d.ts.map +1 -0
  575. package/dist/providers/opencode-proxy/body.js +69 -0
  576. package/dist/providers/opencode-proxy/body.js.map +1 -0
  577. package/dist/providers/opencode-proxy/catalog-handlers.d.ts +7 -0
  578. package/dist/providers/opencode-proxy/catalog-handlers.d.ts.map +1 -0
  579. package/dist/providers/opencode-proxy/catalog-handlers.js +132 -0
  580. package/dist/providers/opencode-proxy/catalog-handlers.js.map +1 -0
  581. package/dist/providers/opencode-proxy/catalog.d.ts +41 -0
  582. package/dist/providers/opencode-proxy/catalog.d.ts.map +1 -0
  583. package/dist/providers/opencode-proxy/catalog.js +146 -0
  584. package/dist/providers/opencode-proxy/catalog.js.map +1 -0
  585. package/dist/providers/opencode-proxy/cli.d.ts +2 -0
  586. package/dist/providers/opencode-proxy/cli.d.ts.map +1 -0
  587. package/dist/providers/opencode-proxy/cli.js +162 -0
  588. package/dist/providers/opencode-proxy/cli.js.map +1 -0
  589. package/dist/providers/opencode-proxy/constants.d.ts +13 -0
  590. package/dist/providers/opencode-proxy/constants.d.ts.map +1 -0
  591. package/dist/providers/opencode-proxy/constants.js +15 -0
  592. package/dist/providers/opencode-proxy/constants.js.map +1 -0
  593. package/dist/providers/opencode-proxy/context-budget.d.ts +31 -0
  594. package/dist/providers/opencode-proxy/context-budget.d.ts.map +1 -0
  595. package/dist/providers/opencode-proxy/context-budget.js +165 -0
  596. package/dist/providers/opencode-proxy/context-budget.js.map +1 -0
  597. package/dist/providers/opencode-proxy/errors.d.ts +5 -0
  598. package/dist/providers/opencode-proxy/errors.d.ts.map +1 -0
  599. package/dist/providers/opencode-proxy/errors.js +45 -0
  600. package/dist/providers/opencode-proxy/errors.js.map +1 -0
  601. package/dist/providers/opencode-proxy/forwarders.d.ts +7 -0
  602. package/dist/providers/opencode-proxy/forwarders.d.ts.map +1 -0
  603. package/dist/providers/opencode-proxy/forwarders.js +214 -0
  604. package/dist/providers/opencode-proxy/forwarders.js.map +1 -0
  605. package/dist/providers/opencode-proxy/http.d.ts +11 -0
  606. package/dist/providers/opencode-proxy/http.d.ts.map +1 -0
  607. package/dist/providers/opencode-proxy/http.js +97 -0
  608. package/dist/providers/opencode-proxy/http.js.map +1 -0
  609. package/dist/providers/opencode-proxy/models.d.ts +42 -0
  610. package/dist/providers/opencode-proxy/models.d.ts.map +1 -0
  611. package/dist/providers/opencode-proxy/models.js +148 -0
  612. package/dist/providers/opencode-proxy/models.js.map +1 -0
  613. package/dist/providers/opencode-proxy/openai-handler.d.ts +5 -0
  614. package/dist/providers/opencode-proxy/openai-handler.d.ts.map +1 -0
  615. package/dist/providers/opencode-proxy/openai-handler.js +115 -0
  616. package/dist/providers/opencode-proxy/openai-handler.js.map +1 -0
  617. package/dist/providers/opencode-proxy/router.d.ts +4 -0
  618. package/dist/providers/opencode-proxy/router.d.ts.map +1 -0
  619. package/dist/providers/opencode-proxy/router.js +65 -0
  620. package/dist/providers/opencode-proxy/router.js.map +1 -0
  621. package/dist/providers/opencode-proxy/runtime.d.ts +23 -0
  622. package/dist/providers/opencode-proxy/runtime.d.ts.map +1 -0
  623. package/dist/providers/opencode-proxy/runtime.js +158 -0
  624. package/dist/providers/opencode-proxy/runtime.js.map +1 -0
  625. package/dist/providers/opencode-proxy/server.d.ts +13 -0
  626. package/dist/providers/opencode-proxy/server.d.ts.map +1 -0
  627. package/dist/providers/opencode-proxy/server.js +52 -0
  628. package/dist/providers/opencode-proxy/server.js.map +1 -0
  629. package/dist/providers/opencode-proxy/stream.d.ts +4 -0
  630. package/dist/providers/opencode-proxy/stream.d.ts.map +1 -0
  631. package/dist/providers/opencode-proxy/stream.js +71 -0
  632. package/dist/providers/opencode-proxy/stream.js.map +1 -0
  633. package/dist/providers/opencode-proxy/translate-stream.d.ts +3 -0
  634. package/dist/providers/opencode-proxy/translate-stream.d.ts.map +1 -0
  635. package/dist/providers/opencode-proxy/translate-stream.js +205 -0
  636. package/dist/providers/opencode-proxy/translate-stream.js.map +1 -0
  637. package/dist/providers/opencode-proxy/translate.d.ts +11 -0
  638. package/dist/providers/opencode-proxy/translate.d.ts.map +1 -0
  639. package/dist/providers/opencode-proxy/translate.js +250 -0
  640. package/dist/providers/opencode-proxy/translate.js.map +1 -0
  641. package/dist/providers/opencode-proxy/types.d.ts +110 -0
  642. package/dist/providers/opencode-proxy/types.d.ts.map +1 -0
  643. package/dist/providers/opencode-proxy/types.js +38 -0
  644. package/dist/providers/opencode-proxy/types.js.map +1 -0
  645. package/dist/providers/opencode-proxy-lifecycle.d.ts +11 -0
  646. package/dist/providers/opencode-proxy-lifecycle.d.ts.map +1 -0
  647. package/dist/providers/opencode-proxy-lifecycle.js +144 -0
  648. package/dist/providers/opencode-proxy-lifecycle.js.map +1 -0
  649. package/dist/providers/opencode.d.ts +40 -0
  650. package/dist/providers/opencode.d.ts.map +1 -0
  651. package/dist/providers/opencode.js +190 -0
  652. package/dist/providers/opencode.js.map +1 -0
  653. package/dist/providers/protocol/anthropic-convert.d.ts +12 -0
  654. package/dist/providers/protocol/anthropic-convert.d.ts.map +1 -0
  655. package/dist/providers/protocol/anthropic-convert.js +113 -0
  656. package/dist/providers/protocol/anthropic-convert.js.map +1 -0
  657. package/dist/providers/protocol/anthropic-helpers.d.ts +13 -0
  658. package/dist/providers/protocol/anthropic-helpers.d.ts.map +1 -0
  659. package/dist/providers/protocol/anthropic-helpers.js +179 -0
  660. package/dist/providers/protocol/anthropic-helpers.js.map +1 -0
  661. package/dist/providers/protocol/anthropic-stream-reader.d.ts +13 -0
  662. package/dist/providers/protocol/anthropic-stream-reader.d.ts.map +1 -0
  663. package/dist/providers/protocol/anthropic-stream-reader.js +46 -0
  664. package/dist/providers/protocol/anthropic-stream-reader.js.map +1 -0
  665. package/dist/providers/protocol/anthropic-stream.d.ts +7 -0
  666. package/dist/providers/protocol/anthropic-stream.d.ts.map +1 -0
  667. package/dist/providers/protocol/anthropic-stream.js +318 -0
  668. package/dist/providers/protocol/anthropic-stream.js.map +1 -0
  669. package/dist/providers/protocol/anthropic-types.d.ts +240 -0
  670. package/dist/providers/protocol/anthropic-types.d.ts.map +1 -0
  671. package/dist/providers/protocol/anthropic.d.ts +20 -0
  672. package/dist/providers/protocol/anthropic.d.ts.map +1 -0
  673. package/dist/providers/protocol/gemini/translate-anthropic.d.ts +15 -0
  674. package/dist/providers/protocol/gemini/translate-anthropic.d.ts.map +1 -0
  675. package/dist/providers/protocol/gemini/translate-anthropic.js +84 -0
  676. package/dist/providers/protocol/gemini/translate-anthropic.js.map +1 -0
  677. package/dist/providers/protocol/gemini/translate-chat.d.ts +5 -0
  678. package/dist/providers/protocol/gemini/translate-chat.d.ts.map +1 -0
  679. package/dist/providers/protocol/gemini/translate-chat.js +142 -0
  680. package/dist/providers/protocol/gemini/translate-chat.js.map +1 -0
  681. package/dist/providers/protocol/gemini/translate-models.d.ts +40 -0
  682. package/dist/providers/protocol/gemini/translate-models.d.ts.map +1 -0
  683. package/dist/providers/protocol/gemini/translate-models.js +186 -0
  684. package/dist/providers/protocol/gemini/translate-models.js.map +1 -0
  685. package/dist/providers/protocol/gemini/translate-responses.d.ts +6 -0
  686. package/dist/providers/protocol/gemini/translate-responses.d.ts.map +1 -0
  687. package/dist/providers/protocol/gemini/translate-responses.js +187 -0
  688. package/dist/providers/protocol/gemini/translate-responses.js.map +1 -0
  689. package/dist/providers/protocol/gemini/translate-schema.d.ts +9 -0
  690. package/dist/providers/protocol/gemini/translate-schema.d.ts.map +1 -0
  691. package/dist/providers/protocol/gemini/translate-schema.js +48 -0
  692. package/dist/providers/protocol/gemini/translate-schema.js.map +1 -0
  693. package/dist/providers/protocol/gemini/translate-shared.d.ts +8 -0
  694. package/dist/providers/protocol/gemini/translate-shared.d.ts.map +1 -0
  695. package/dist/providers/protocol/gemini/translate-shared.js +47 -0
  696. package/dist/providers/protocol/gemini/translate-shared.js.map +1 -0
  697. package/dist/providers/protocol/gemini/translate-thinking.d.ts +7 -0
  698. package/dist/providers/protocol/gemini/translate-thinking.d.ts.map +1 -0
  699. package/dist/providers/protocol/gemini/translate-thinking.js +65 -0
  700. package/dist/providers/protocol/gemini/translate-thinking.js.map +1 -0
  701. package/dist/providers/protocol/gemini/translate-types.d.ts +133 -0
  702. package/dist/providers/protocol/gemini/translate-types.d.ts.map +1 -0
  703. package/dist/providers/protocol/gemini/translate.d.ts +7 -0
  704. package/dist/providers/protocol/gemini/translate.d.ts.map +1 -0
  705. package/dist/providers/protocol/json-schema.d.ts +52 -0
  706. package/dist/providers/protocol/json-schema.d.ts.map +1 -0
  707. package/dist/providers/protocol/json-schema.js +189 -0
  708. package/dist/providers/protocol/json-schema.js.map +1 -0
  709. package/dist/providers/protocol/token-estimate.d.ts +15 -0
  710. package/dist/providers/protocol/token-estimate.d.ts.map +1 -0
  711. package/dist/providers/protocol/token-estimate.js +34 -0
  712. package/dist/providers/protocol/token-estimate.js.map +1 -0
  713. package/dist/providers/proxy-hub-backend.d.ts +4 -0
  714. package/dist/providers/proxy-hub-backend.d.ts.map +1 -0
  715. package/dist/providers/proxy-hub-backend.js +11 -0
  716. package/dist/providers/proxy-hub-backend.js.map +1 -0
  717. package/dist/providers/proxy-process.d.ts +35 -0
  718. package/dist/providers/proxy-process.d.ts.map +1 -0
  719. package/dist/providers/proxy-process.js +119 -0
  720. package/dist/providers/proxy-process.js.map +1 -0
  721. package/dist/providers/proxy-shared.d.ts +43 -0
  722. package/dist/providers/proxy-shared.d.ts.map +1 -0
  723. package/dist/providers/proxy-shared.js +128 -0
  724. package/dist/providers/proxy-shared.js.map +1 -0
  725. package/dist/providers/quota-guard.d.ts +49 -0
  726. package/dist/providers/quota-guard.d.ts.map +1 -0
  727. package/dist/providers/quota-guard.js +107 -0
  728. package/dist/providers/quota-guard.js.map +1 -0
  729. package/dist/providers/reasoning.d.ts +27 -0
  730. package/dist/providers/reasoning.d.ts.map +1 -0
  731. package/dist/providers/reasoning.js +61 -0
  732. package/dist/providers/reasoning.js.map +1 -0
  733. package/dist/providers/upstream-policy.d.ts +33 -0
  734. package/dist/providers/upstream-policy.d.ts.map +1 -0
  735. package/dist/providers/upstream-policy.js +97 -0
  736. package/dist/providers/upstream-policy.js.map +1 -0
  737. package/dist/public-types.d.ts +3 -0
  738. package/dist/public-types.d.ts.map +1 -0
  739. package/dist/public.d.ts +19 -0
  740. package/dist/public.d.ts.map +1 -0
  741. package/dist/public.js +16 -0
  742. package/dist/public.js.map +1 -0
  743. package/dist/sources/account-adapters.d.ts +64 -0
  744. package/dist/sources/account-adapters.d.ts.map +1 -0
  745. package/dist/sources/account-adapters.js +205 -0
  746. package/dist/sources/account-adapters.js.map +1 -0
  747. package/dist/sources/gateway-adapters.d.ts +26 -0
  748. package/dist/sources/gateway-adapters.d.ts.map +1 -0
  749. package/dist/sources/gateway-adapters.js +43 -0
  750. package/dist/sources/gateway-adapters.js.map +1 -0
  751. package/dist/sources/kiro-proxy-bin.d.ts +41 -0
  752. package/dist/sources/kiro-proxy-bin.d.ts.map +1 -0
  753. package/dist/sources/kiro-proxy-bin.js +140 -0
  754. package/dist/sources/kiro-proxy-bin.js.map +1 -0
  755. package/dist/sources/proxy-hub-adapters.d.ts +7 -0
  756. package/dist/sources/proxy-hub-adapters.d.ts.map +1 -0
  757. package/dist/sources/proxy-hub-adapters.js +26 -0
  758. package/dist/sources/proxy-hub-adapters.js.map +1 -0
  759. package/dist/testing.d.ts +9 -0
  760. package/dist/testing.d.ts.map +1 -0
  761. package/dist/testing.js +6 -0
  762. package/dist/tray/AnyPickTray.swift +3 -0
  763. package/dist/tray/activity.d.ts +18 -0
  764. package/dist/tray/activity.d.ts.map +1 -0
  765. package/dist/tray/activity.js +51 -0
  766. package/dist/tray/activity.js.map +1 -0
  767. package/dist/tray/app-icons/icon-1024.png +0 -0
  768. package/dist/tray/app-icons/icon-128.png +0 -0
  769. package/dist/tray/app-icons/icon-16.png +0 -0
  770. package/dist/tray/app-icons/icon-256.png +0 -0
  771. package/dist/tray/app-icons/icon-32.png +0 -0
  772. package/dist/tray/app-icons/icon-512.png +0 -0
  773. package/dist/tray/app-icons/icon-64.png +0 -0
  774. package/dist/tray/icons/claude.svg +1 -0
  775. package/dist/tray/icons/googlegemini.svg +1 -0
  776. package/dist/tray/icons/grok.svg +1 -0
  777. package/dist/tray/icons/kiro.svg +1 -0
  778. package/dist/tray/icons/openai.svg +1 -0
  779. package/dist/tray/icons/opencode.svg +1 -0
  780. package/dist/tray/icons/openrouter.svg +1 -0
  781. package/dist/tray/model-role-actions.d.ts +15 -0
  782. package/dist/tray/model-role-actions.d.ts.map +1 -0
  783. package/dist/tray/model-role-actions.js +41 -0
  784. package/dist/tray/model-role-actions.js.map +1 -0
  785. package/dist/tray/native/AccountsPanel.swift +434 -0
  786. package/dist/tray/native/AppEntry.swift +229 -0
  787. package/dist/tray/native/MainWindow.swift +300 -0
  788. package/dist/tray/native/ManageFormChrome.swift +332 -0
  789. package/dist/tray/native/ManageForms.swift +472 -0
  790. package/dist/tray/native/ManagePanel.swift +356 -0
  791. package/dist/tray/native/Models.swift +259 -0
  792. package/dist/tray/native/ModelsEditor.swift +390 -0
  793. package/dist/tray/native/ModelsOverview.swift +76 -0
  794. package/dist/tray/native/ModelsPickers.swift +273 -0
  795. package/dist/tray/native/ModelsRoutePickers.swift +718 -0
  796. package/dist/tray/native/MonitorPanel.swift +375 -0
  797. package/dist/tray/native/ProxyPanel.swift +326 -0
  798. package/dist/tray/native/QuickActivityRow.swift +40 -0
  799. package/dist/tray/native/QuickNav.swift +62 -0
  800. package/dist/tray/native/QuickPanel.swift +447 -0
  801. package/dist/tray/native/QuickRouteRow.swift +189 -0
  802. package/dist/tray/native/QuickServiceRows.swift +292 -0
  803. package/dist/tray/native/RoutingIssues.swift +293 -0
  804. package/dist/tray/native/SettingsPanel.swift +225 -0
  805. package/dist/tray/native/SharedUI.swift +681 -0
  806. package/dist/tray/native/Store.swift +540 -0
  807. package/dist/tray/native/Theme.swift +139 -0
  808. package/dist/tray/native/TrayChrome.swift +657 -0
  809. package/dist/tray/native/TrayControls.swift +475 -0
  810. package/dist/tray/native/TrayPreferences.swift +46 -0
  811. package/dist/tray/native/sources.txt +26 -0
  812. package/dist/tray/native-sources.d.ts +8 -0
  813. package/dist/tray/native-sources.d.ts.map +1 -0
  814. package/dist/tray/native-sources.js +19 -0
  815. package/dist/tray/native-sources.js.map +1 -0
  816. package/dist/tray/protocol.d.ts +79 -0
  817. package/dist/tray/protocol.d.ts.map +1 -0
  818. package/dist/tray/protocol.js +145 -0
  819. package/dist/tray/protocol.js.map +1 -0
  820. package/dist/tray/settings.d.ts +15 -0
  821. package/dist/tray/settings.d.ts.map +1 -0
  822. package/dist/tray/settings.js +72 -0
  823. package/dist/tray/settings.js.map +1 -0
  824. package/dist/tray/snapshot-client-routes.d.ts +11 -0
  825. package/dist/tray/snapshot-client-routes.d.ts.map +1 -0
  826. package/dist/tray/snapshot-client-routes.js +305 -0
  827. package/dist/tray/snapshot-client-routes.js.map +1 -0
  828. package/dist/tray/snapshot-helpers.d.ts +20 -0
  829. package/dist/tray/snapshot-helpers.d.ts.map +1 -0
  830. package/dist/tray/snapshot-helpers.js +74 -0
  831. package/dist/tray/snapshot-helpers.js.map +1 -0
  832. package/dist/tray/snapshot-hub.d.ts +7 -0
  833. package/dist/tray/snapshot-hub.d.ts.map +1 -0
  834. package/dist/tray/snapshot-hub.js +93 -0
  835. package/dist/tray/snapshot-hub.js.map +1 -0
  836. package/dist/tray/snapshot-resources.d.ts +19 -0
  837. package/dist/tray/snapshot-resources.d.ts.map +1 -0
  838. package/dist/tray/snapshot-resources.js +216 -0
  839. package/dist/tray/snapshot-resources.js.map +1 -0
  840. package/dist/tray/snapshot-types.d.ts +229 -0
  841. package/dist/tray/snapshot-types.d.ts.map +1 -0
  842. package/dist/tray/snapshot-usage.d.ts +9 -0
  843. package/dist/tray/snapshot-usage.d.ts.map +1 -0
  844. package/dist/tray/snapshot-usage.js +35 -0
  845. package/dist/tray/snapshot-usage.js.map +1 -0
  846. package/dist/tray/snapshot.d.ts +7 -0
  847. package/dist/tray/snapshot.d.ts.map +1 -0
  848. package/dist/tray/snapshot.js +48 -0
  849. package/dist/tray/snapshot.js.map +1 -0
  850. package/dist/tray/supervisor-actions.d.ts +19 -0
  851. package/dist/tray/supervisor-actions.d.ts.map +1 -0
  852. package/dist/tray/supervisor-actions.js +224 -0
  853. package/dist/tray/supervisor-actions.js.map +1 -0
  854. package/dist/tray/supervisor-activity.d.ts +5 -0
  855. package/dist/tray/supervisor-activity.d.ts.map +1 -0
  856. package/dist/tray/supervisor-activity.js +19 -0
  857. package/dist/tray/supervisor-activity.js.map +1 -0
  858. package/dist/tray/supervisor-errors.d.ts +9 -0
  859. package/dist/tray/supervisor-errors.d.ts.map +1 -0
  860. package/dist/tray/supervisor-errors.js +91 -0
  861. package/dist/tray/supervisor-errors.js.map +1 -0
  862. package/dist/tray/supervisor-logs.d.ts +6 -0
  863. package/dist/tray/supervisor-logs.d.ts.map +1 -0
  864. package/dist/tray/supervisor-logs.js +52 -0
  865. package/dist/tray/supervisor-logs.js.map +1 -0
  866. package/dist/tray/supervisor-mutations.d.ts +14 -0
  867. package/dist/tray/supervisor-mutations.d.ts.map +1 -0
  868. package/dist/tray/supervisor-mutations.js +218 -0
  869. package/dist/tray/supervisor-mutations.js.map +1 -0
  870. package/dist/tray/supervisor-native.d.ts +22 -0
  871. package/dist/tray/supervisor-native.d.ts.map +1 -0
  872. package/dist/tray/supervisor-native.js +227 -0
  873. package/dist/tray/supervisor-native.js.map +1 -0
  874. package/dist/tray/supervisor-proxies.d.ts +6 -0
  875. package/dist/tray/supervisor-proxies.d.ts.map +1 -0
  876. package/dist/tray/supervisor-proxies.js +37 -0
  877. package/dist/tray/supervisor-proxies.js.map +1 -0
  878. package/dist/tray/supervisor-tauri.d.ts +13 -0
  879. package/dist/tray/supervisor-tauri.d.ts.map +1 -0
  880. package/dist/tray/supervisor-tauri.js +36 -0
  881. package/dist/tray/supervisor-tauri.js.map +1 -0
  882. package/dist/tray/supervisor.d.ts +17 -0
  883. package/dist/tray/supervisor.d.ts.map +1 -0
  884. package/dist/tray/supervisor.js +372 -0
  885. package/dist/tray/supervisor.js.map +1 -0
  886. package/dist/tray/terminal-launcher.d.ts +12 -0
  887. package/dist/tray/terminal-launcher.d.ts.map +1 -0
  888. package/dist/tray/terminal-launcher.js +130 -0
  889. package/dist/tray/terminal-launcher.js.map +1 -0
  890. package/dist/tui/actions/ensure-proxy-up.d.ts +15 -0
  891. package/dist/tui/actions/ensure-proxy-up.d.ts.map +1 -0
  892. package/dist/tui/actions/ensure-proxy-up.js +41 -0
  893. package/dist/tui/actions/ensure-proxy-up.js.map +1 -0
  894. package/dist/tui/actions/use-account-actions.d.ts +35 -0
  895. package/dist/tui/actions/use-account-actions.d.ts.map +1 -0
  896. package/dist/tui/actions/use-account-actions.js +527 -0
  897. package/dist/tui/actions/use-account-actions.js.map +1 -0
  898. package/dist/tui/actions/use-app-bindings.d.ts +83 -0
  899. package/dist/tui/actions/use-app-bindings.d.ts.map +1 -0
  900. package/dist/tui/actions/use-app-bindings.js +472 -0
  901. package/dist/tui/actions/use-app-bindings.js.map +1 -0
  902. package/dist/tui/actions/use-gateway-actions.d.ts +45 -0
  903. package/dist/tui/actions/use-gateway-actions.d.ts.map +1 -0
  904. package/dist/tui/actions/use-gateway-actions.js +370 -0
  905. package/dist/tui/actions/use-gateway-actions.js.map +1 -0
  906. package/dist/tui/actions/use-home-filter.d.ts +24 -0
  907. package/dist/tui/actions/use-home-filter.d.ts.map +1 -0
  908. package/dist/tui/actions/use-home-filter.js +48 -0
  909. package/dist/tui/actions/use-home-filter.js.map +1 -0
  910. package/dist/tui/actions/use-model-role-editor.d.ts +44 -0
  911. package/dist/tui/actions/use-model-role-editor.d.ts.map +1 -0
  912. package/dist/tui/actions/use-model-role-editor.js +68 -0
  913. package/dist/tui/actions/use-model-role-editor.js.map +1 -0
  914. package/dist/tui/actions/use-provider-filter.d.ts +10 -0
  915. package/dist/tui/actions/use-provider-filter.d.ts.map +1 -0
  916. package/dist/tui/actions/use-provider-filter.js +22 -0
  917. package/dist/tui/actions/use-provider-filter.js.map +1 -0
  918. package/dist/tui/actions/use-proxy-actions.d.ts +31 -0
  919. package/dist/tui/actions/use-proxy-actions.d.ts.map +1 -0
  920. package/dist/tui/actions/use-proxy-actions.js +474 -0
  921. package/dist/tui/actions/use-proxy-actions.js.map +1 -0
  922. package/dist/tui/actions/use-text-input-submit.d.ts +16 -0
  923. package/dist/tui/actions/use-text-input-submit.d.ts.map +1 -0
  924. package/dist/tui/actions/use-text-input-submit.js +96 -0
  925. package/dist/tui/actions/use-text-input-submit.js.map +1 -0
  926. package/dist/tui/actions/use-tray-runtime-actions.d.ts +18 -0
  927. package/dist/tui/actions/use-tray-runtime-actions.d.ts.map +1 -0
  928. package/dist/tui/actions/use-tray-runtime-actions.js +78 -0
  929. package/dist/tui/actions/use-tray-runtime-actions.js.map +1 -0
  930. package/dist/tui/app-ui-helpers.d.ts +14 -0
  931. package/dist/tui/app-ui-helpers.d.ts.map +1 -0
  932. package/dist/tui/app-ui-helpers.js +48 -0
  933. package/dist/tui/app-ui-helpers.js.map +1 -0
  934. package/dist/tui/app-ui.d.ts +19 -0
  935. package/dist/tui/app-ui.d.ts.map +1 -0
  936. package/dist/tui/app-ui.js +98 -0
  937. package/dist/tui/app-ui.js.map +1 -0
  938. package/dist/tui/components/chrome/header.d.ts +39 -0
  939. package/dist/tui/components/chrome/header.d.ts.map +1 -0
  940. package/dist/tui/components/chrome/header.js +161 -0
  941. package/dist/tui/components/chrome/header.js.map +1 -0
  942. package/dist/tui/components/chrome/inputs.d.ts +34 -0
  943. package/dist/tui/components/chrome/inputs.d.ts.map +1 -0
  944. package/dist/tui/components/chrome/inputs.js +82 -0
  945. package/dist/tui/components/chrome/inputs.js.map +1 -0
  946. package/dist/tui/components/chrome/layout.d.ts +61 -0
  947. package/dist/tui/components/chrome/layout.d.ts.map +1 -0
  948. package/dist/tui/components/chrome/layout.js +119 -0
  949. package/dist/tui/components/chrome/layout.js.map +1 -0
  950. package/dist/tui/components/chrome/legacy.d.ts +84 -0
  951. package/dist/tui/components/chrome/legacy.d.ts.map +1 -0
  952. package/dist/tui/components/chrome/legacy.js +6 -0
  953. package/dist/tui/components/chrome/rows.d.ts +89 -0
  954. package/dist/tui/components/chrome/rows.d.ts.map +1 -0
  955. package/dist/tui/components/chrome/rows.js +151 -0
  956. package/dist/tui/components/chrome/rows.js.map +1 -0
  957. package/dist/tui/components/chrome/status.d.ts +50 -0
  958. package/dist/tui/components/chrome/status.d.ts.map +1 -0
  959. package/dist/tui/components/chrome/status.js +157 -0
  960. package/dist/tui/components/chrome/status.js.map +1 -0
  961. package/dist/tui/components/chrome.d.ts +7 -0
  962. package/dist/tui/components/chrome.d.ts.map +1 -0
  963. package/dist/tui/components/chrome.js +7 -0
  964. package/dist/tui/components.d.ts +26 -0
  965. package/dist/tui/components.d.ts.map +1 -0
  966. package/dist/tui/components.js +182 -0
  967. package/dist/tui/components.js.map +1 -0
  968. package/dist/tui/model/anypick.d.ts +106 -0
  969. package/dist/tui/model/anypick.d.ts.map +1 -0
  970. package/dist/tui/model/anypick.js +116 -0
  971. package/dist/tui/model/anypick.js.map +1 -0
  972. package/dist/tui/model/bindings.d.ts +39 -0
  973. package/dist/tui/model/bindings.d.ts.map +1 -0
  974. package/dist/tui/model/bindings.js +102 -0
  975. package/dist/tui/model/bindings.js.map +1 -0
  976. package/dist/tui/model/detail.d.ts +6 -0
  977. package/dist/tui/model/detail.d.ts.map +1 -0
  978. package/dist/tui/model/detail.js +85 -0
  979. package/dist/tui/model/detail.js.map +1 -0
  980. package/dist/tui/model/gateway.d.ts +46 -0
  981. package/dist/tui/model/gateway.d.ts.map +1 -0
  982. package/dist/tui/model/gateway.js +134 -0
  983. package/dist/tui/model/gateway.js.map +1 -0
  984. package/dist/tui/model/home-format.d.ts +52 -0
  985. package/dist/tui/model/home-format.d.ts.map +1 -0
  986. package/dist/tui/model/home-format.js +64 -0
  987. package/dist/tui/model/home-format.js.map +1 -0
  988. package/dist/tui/model/home-load.d.ts +8 -0
  989. package/dist/tui/model/home-load.d.ts.map +1 -0
  990. package/dist/tui/model/home-load.js +244 -0
  991. package/dist/tui/model/home-load.js.map +1 -0
  992. package/dist/tui/model/identity.d.ts +53 -0
  993. package/dist/tui/model/identity.d.ts.map +1 -0
  994. package/dist/tui/model/identity.js +176 -0
  995. package/dist/tui/model/identity.js.map +1 -0
  996. package/dist/tui/model/line-editor.d.ts +99 -0
  997. package/dist/tui/model/line-editor.d.ts.map +1 -0
  998. package/dist/tui/model/line-editor.js +186 -0
  999. package/dist/tui/model/line-editor.js.map +1 -0
  1000. package/dist/tui/model/names.d.ts +28 -0
  1001. package/dist/tui/model/names.d.ts.map +1 -0
  1002. package/dist/tui/model/names.js +42 -0
  1003. package/dist/tui/model/names.js.map +1 -0
  1004. package/dist/tui/model/pool.d.ts +11 -0
  1005. package/dist/tui/model/pool.d.ts.map +1 -0
  1006. package/dist/tui/model/pool.js +115 -0
  1007. package/dist/tui/model/pool.js.map +1 -0
  1008. package/dist/tui/model/provider-filter.d.ts +14 -0
  1009. package/dist/tui/model/provider-filter.d.ts.map +1 -0
  1010. package/dist/tui/model/provider-filter.js +46 -0
  1011. package/dist/tui/model/provider-filter.js.map +1 -0
  1012. package/dist/tui/model/proxy-hub.d.ts +23 -0
  1013. package/dist/tui/model/proxy-hub.d.ts.map +1 -0
  1014. package/dist/tui/model/proxy-hub.js +69 -0
  1015. package/dist/tui/model/proxy-hub.js.map +1 -0
  1016. package/dist/tui/model/proxy-labels.d.ts +5 -0
  1017. package/dist/tui/model/proxy-labels.d.ts.map +1 -0
  1018. package/dist/tui/model/proxy-labels.js +18 -0
  1019. package/dist/tui/model/proxy-labels.js.map +1 -0
  1020. package/dist/tui/model/proxy.d.ts +15 -0
  1021. package/dist/tui/model/proxy.d.ts.map +1 -0
  1022. package/dist/tui/model/proxy.js +214 -0
  1023. package/dist/tui/model/proxy.js.map +1 -0
  1024. package/dist/tui/model/root.d.ts +20 -0
  1025. package/dist/tui/model/root.d.ts.map +1 -0
  1026. package/dist/tui/model/root.js +126 -0
  1027. package/dist/tui/model/root.js.map +1 -0
  1028. package/dist/tui/model/route-builder.d.ts +25 -0
  1029. package/dist/tui/model/route-builder.d.ts.map +1 -0
  1030. package/dist/tui/model/route-builder.js +199 -0
  1031. package/dist/tui/model/route-builder.js.map +1 -0
  1032. package/dist/tui/model/screen.d.ts +260 -0
  1033. package/dist/tui/model/screen.d.ts.map +1 -0
  1034. package/dist/tui/model/types.d.ts +179 -0
  1035. package/dist/tui/model/types.d.ts.map +1 -0
  1036. package/dist/tui/model.d.ts +18 -0
  1037. package/dist/tui/model.d.ts.map +1 -0
  1038. package/dist/tui/model.js +17 -0
  1039. package/dist/tui/proxy-models-fetch.d.ts +34 -0
  1040. package/dist/tui/proxy-models-fetch.d.ts.map +1 -0
  1041. package/dist/tui/proxy-models-fetch.js +87 -0
  1042. package/dist/tui/proxy-models-fetch.js.map +1 -0
  1043. package/dist/tui/routes/account.d.ts +4 -0
  1044. package/dist/tui/routes/account.d.ts.map +1 -0
  1045. package/dist/tui/routes/account.js +327 -0
  1046. package/dist/tui/routes/account.js.map +1 -0
  1047. package/dist/tui/routes/apps.d.ts +3 -0
  1048. package/dist/tui/routes/apps.d.ts.map +1 -0
  1049. package/dist/tui/routes/apps.js +296 -0
  1050. package/dist/tui/routes/apps.js.map +1 -0
  1051. package/dist/tui/routes/common.d.ts +4 -0
  1052. package/dist/tui/routes/common.d.ts.map +1 -0
  1053. package/dist/tui/routes/common.js +117 -0
  1054. package/dist/tui/routes/common.js.map +1 -0
  1055. package/dist/tui/routes/context.d.ts +43 -0
  1056. package/dist/tui/routes/context.d.ts.map +1 -0
  1057. package/dist/tui/routes/gateway.d.ts +3 -0
  1058. package/dist/tui/routes/gateway.d.ts.map +1 -0
  1059. package/dist/tui/routes/gateway.js +199 -0
  1060. package/dist/tui/routes/gateway.js.map +1 -0
  1061. package/dist/tui/routes/proxy.d.ts +3 -0
  1062. package/dist/tui/routes/proxy.d.ts.map +1 -0
  1063. package/dist/tui/routes/proxy.js +234 -0
  1064. package/dist/tui/routes/proxy.js.map +1 -0
  1065. package/dist/tui/screens/account-detail.d.ts +14 -0
  1066. package/dist/tui/screens/account-detail.d.ts.map +1 -0
  1067. package/dist/tui/screens/account-detail.js +98 -0
  1068. package/dist/tui/screens/account-detail.js.map +1 -0
  1069. package/dist/tui/screens/accounts-home.d.ts +42 -0
  1070. package/dist/tui/screens/accounts-home.d.ts.map +1 -0
  1071. package/dist/tui/screens/accounts-home.js +321 -0
  1072. package/dist/tui/screens/accounts-home.js.map +1 -0
  1073. package/dist/tui/screens/add-account.d.ts +70 -0
  1074. package/dist/tui/screens/add-account.d.ts.map +1 -0
  1075. package/dist/tui/screens/add-account.js +323 -0
  1076. package/dist/tui/screens/add-account.js.map +1 -0
  1077. package/dist/tui/screens/anypick-home.d.ts +39 -0
  1078. package/dist/tui/screens/anypick-home.d.ts.map +1 -0
  1079. package/dist/tui/screens/anypick-home.js +253 -0
  1080. package/dist/tui/screens/anypick-home.js.map +1 -0
  1081. package/dist/tui/screens/anypick-preview.d.ts +13 -0
  1082. package/dist/tui/screens/anypick-preview.d.ts.map +1 -0
  1083. package/dist/tui/screens/anypick-preview.js +49 -0
  1084. package/dist/tui/screens/anypick-preview.js.map +1 -0
  1085. package/dist/tui/screens/app-route-preview.d.ts +14 -0
  1086. package/dist/tui/screens/app-route-preview.d.ts.map +1 -0
  1087. package/dist/tui/screens/app-route-preview.js +35 -0
  1088. package/dist/tui/screens/app-route-preview.js.map +1 -0
  1089. package/dist/tui/screens/app-route-source.d.ts +15 -0
  1090. package/dist/tui/screens/app-route-source.d.ts.map +1 -0
  1091. package/dist/tui/screens/app-route-source.js +97 -0
  1092. package/dist/tui/screens/app-route-source.js.map +1 -0
  1093. package/dist/tui/screens/apps-home.d.ts +22 -0
  1094. package/dist/tui/screens/apps-home.d.ts.map +1 -0
  1095. package/dist/tui/screens/apps-home.js +111 -0
  1096. package/dist/tui/screens/apps-home.js.map +1 -0
  1097. package/dist/tui/screens/confirm.d.ts +19 -0
  1098. package/dist/tui/screens/confirm.d.ts.map +1 -0
  1099. package/dist/tui/screens/confirm.js +42 -0
  1100. package/dist/tui/screens/confirm.js.map +1 -0
  1101. package/dist/tui/screens/credential-form.d.ts +30 -0
  1102. package/dist/tui/screens/credential-form.d.ts.map +1 -0
  1103. package/dist/tui/screens/credential-form.js +241 -0
  1104. package/dist/tui/screens/credential-form.js.map +1 -0
  1105. package/dist/tui/screens/gateway-connection-form.d.ts +16 -0
  1106. package/dist/tui/screens/gateway-connection-form.d.ts.map +1 -0
  1107. package/dist/tui/screens/gateway-connection-form.js +127 -0
  1108. package/dist/tui/screens/gateway-connection-form.js.map +1 -0
  1109. package/dist/tui/screens/gateway-pick-provider.d.ts +19 -0
  1110. package/dist/tui/screens/gateway-pick-provider.d.ts.map +1 -0
  1111. package/dist/tui/screens/gateway-pick-provider.js +62 -0
  1112. package/dist/tui/screens/gateway-pick-provider.js.map +1 -0
  1113. package/dist/tui/screens/gateways-home.d.ts +38 -0
  1114. package/dist/tui/screens/gateways-home.d.ts.map +1 -0
  1115. package/dist/tui/screens/gateways-home.js +247 -0
  1116. package/dist/tui/screens/gateways-home.js.map +1 -0
  1117. package/dist/tui/screens/health.d.ts +16 -0
  1118. package/dist/tui/screens/health.d.ts.map +1 -0
  1119. package/dist/tui/screens/health.js +109 -0
  1120. package/dist/tui/screens/health.js.map +1 -0
  1121. package/dist/tui/screens/help.d.ts +10 -0
  1122. package/dist/tui/screens/help.d.ts.map +1 -0
  1123. package/dist/tui/screens/help.js +213 -0
  1124. package/dist/tui/screens/help.js.map +1 -0
  1125. package/dist/tui/screens/manage-apps.d.ts +29 -0
  1126. package/dist/tui/screens/manage-apps.d.ts.map +1 -0
  1127. package/dist/tui/screens/manage-apps.js +165 -0
  1128. package/dist/tui/screens/manage-apps.js.map +1 -0
  1129. package/dist/tui/screens/proxy-board-helpers.d.ts +9 -0
  1130. package/dist/tui/screens/proxy-board-helpers.d.ts.map +1 -0
  1131. package/dist/tui/screens/proxy-board-helpers.js +70 -0
  1132. package/dist/tui/screens/proxy-board-helpers.js.map +1 -0
  1133. package/dist/tui/screens/proxy-board.d.ts +43 -0
  1134. package/dist/tui/screens/proxy-board.d.ts.map +1 -0
  1135. package/dist/tui/screens/proxy-board.js +351 -0
  1136. package/dist/tui/screens/proxy-board.js.map +1 -0
  1137. package/dist/tui/screens/proxy-hub.d.ts +21 -0
  1138. package/dist/tui/screens/proxy-hub.d.ts.map +1 -0
  1139. package/dist/tui/screens/proxy-hub.js +150 -0
  1140. package/dist/tui/screens/proxy-hub.js.map +1 -0
  1141. package/dist/tui/screens/proxy-models-utils.d.ts +13 -0
  1142. package/dist/tui/screens/proxy-models-utils.d.ts.map +1 -0
  1143. package/dist/tui/screens/proxy-models-utils.js +53 -0
  1144. package/dist/tui/screens/proxy-models-utils.js.map +1 -0
  1145. package/dist/tui/screens/proxy-models.d.ts +65 -0
  1146. package/dist/tui/screens/proxy-models.d.ts.map +1 -0
  1147. package/dist/tui/screens/proxy-models.js +252 -0
  1148. package/dist/tui/screens/proxy-models.js.map +1 -0
  1149. package/dist/tui/screens/proxy.d.ts +26 -0
  1150. package/dist/tui/screens/proxy.d.ts.map +1 -0
  1151. package/dist/tui/screens/text-input.d.ts +18 -0
  1152. package/dist/tui/screens/text-input.d.ts.map +1 -0
  1153. package/dist/tui/screens/text-input.js +67 -0
  1154. package/dist/tui/screens/text-input.js.map +1 -0
  1155. package/dist/tui/screens/tray-runtime.d.ts +19 -0
  1156. package/dist/tui/screens/tray-runtime.d.ts.map +1 -0
  1157. package/dist/tui/screens/tray-runtime.js +108 -0
  1158. package/dist/tui/screens/tray-runtime.js.map +1 -0
  1159. package/dist/tui/use-tui-nav.d.ts +40 -0
  1160. package/dist/tui/use-tui-nav.d.ts.map +1 -0
  1161. package/dist/tui/use-tui-nav.js +256 -0
  1162. package/dist/tui/use-tui-nav.js.map +1 -0
  1163. package/dist/tui/use-tui-shell.d.ts +46 -0
  1164. package/dist/tui/use-tui-shell.d.ts.map +1 -0
  1165. package/dist/tui/use-tui-shell.js +95 -0
  1166. package/dist/tui/use-tui-shell.js.map +1 -0
  1167. package/dist/types/account.d.ts +410 -0
  1168. package/dist/types/account.d.ts.map +1 -0
  1169. package/dist/types/account.js +7 -0
  1170. package/dist/types/account.js.map +1 -0
  1171. package/dist/types/bindings.d.ts +300 -0
  1172. package/dist/types/bindings.d.ts.map +1 -0
  1173. package/dist/types/catalog.d.ts +165 -0
  1174. package/dist/types/catalog.d.ts.map +1 -0
  1175. package/dist/types/clients.d.ts +174 -0
  1176. package/dist/types/clients.d.ts.map +1 -0
  1177. package/dist/types/clients.js +11 -0
  1178. package/dist/types/clients.js.map +1 -0
  1179. package/dist/types/plugins.d.ts +89 -0
  1180. package/dist/types/plugins.d.ts.map +1 -0
  1181. package/dist/types/plugins.js +14 -0
  1182. package/dist/types/plugins.js.map +1 -0
  1183. package/dist/types/proxy-hub.d.ts +109 -0
  1184. package/dist/types/proxy-hub.d.ts.map +1 -0
  1185. package/dist/types.d.ts +7 -0
  1186. package/dist/types.d.ts.map +1 -0
  1187. package/dist/types.js +1 -0
  1188. package/dist/utils/errors.d.ts +61 -0
  1189. package/dist/utils/errors.d.ts.map +1 -0
  1190. package/dist/utils/errors.js +119 -0
  1191. package/dist/utils/errors.js.map +1 -0
  1192. package/dist/utils/fs.d.ts +39 -0
  1193. package/dist/utils/fs.d.ts.map +1 -0
  1194. package/dist/utils/fs.js +126 -0
  1195. package/dist/utils/fs.js.map +1 -0
  1196. package/dist/utils/lock.d.ts +33 -0
  1197. package/dist/utils/lock.d.ts.map +1 -0
  1198. package/dist/utils/lock.js +95 -0
  1199. package/dist/utils/lock.js.map +1 -0
  1200. package/dist/utils/log.d.ts +10 -0
  1201. package/dist/utils/log.d.ts.map +1 -0
  1202. package/dist/utils/log.js +21 -0
  1203. package/dist/utils/log.js.map +1 -0
  1204. package/dist/utils/network.d.ts +3 -0
  1205. package/dist/utils/network.d.ts.map +1 -0
  1206. package/dist/utils/network.js +13 -0
  1207. package/dist/utils/network.js.map +1 -0
  1208. package/dist/utils/process/binary.d.ts +14 -0
  1209. package/dist/utils/process/binary.d.ts.map +1 -0
  1210. package/dist/utils/process/binary.js +29 -0
  1211. package/dist/utils/process/binary.js.map +1 -0
  1212. package/dist/utils/process/follow.d.ts +2 -0
  1213. package/dist/utils/process/follow.d.ts.map +1 -0
  1214. package/dist/utils/process/follow.js +90 -0
  1215. package/dist/utils/process/follow.js.map +1 -0
  1216. package/dist/utils/process/health.d.ts +43 -0
  1217. package/dist/utils/process/health.d.ts.map +1 -0
  1218. package/dist/utils/process/health.js +132 -0
  1219. package/dist/utils/process/health.js.map +1 -0
  1220. package/dist/utils/process/pid.d.ts +95 -0
  1221. package/dist/utils/process/pid.d.ts.map +1 -0
  1222. package/dist/utils/process/pid.js +243 -0
  1223. package/dist/utils/process/pid.js.map +1 -0
  1224. package/dist/utils/process.d.ts +5 -0
  1225. package/dist/utils/process.d.ts.map +1 -0
  1226. package/dist/utils/process.js +5 -0
  1227. package/dist/utils/slug.d.ts +18 -0
  1228. package/dist/utils/slug.d.ts.map +1 -0
  1229. package/dist/utils/slug.js +42 -0
  1230. package/dist/utils/slug.js.map +1 -0
  1231. package/package.json +121 -0
@@ -0,0 +1,28 @@
1
+ import type { ProxyHubConfig, ProxyHubRouteManifest, ProxyHubRuntimeState } from '../types.js';
2
+ import type { AnyPickDatabase } from './db.js';
3
+ export declare const DEFAULT_PROXY_HUB = "default";
4
+ export declare const DEFAULT_PROXY_HUB_PORT = 4680;
5
+ export interface ProxyHubRouteSecret {
6
+ routeId: string;
7
+ manifest: ProxyHubRouteManifest;
8
+ /** Keep this private to the Hub service/executor boundary. */
9
+ token: string;
10
+ }
11
+ export declare class ProxyHubStore {
12
+ private readonly db;
13
+ constructor(db: AnyPickDatabase);
14
+ get(name?: string): ProxyHubConfig | null;
15
+ getOrDefault(name?: string): ProxyHubConfig;
16
+ save(config: ProxyHubConfig): ProxyHubConfig;
17
+ getRuntime(name?: string): ProxyHubRuntimeState | null;
18
+ saveRuntime(state: ProxyHubRuntimeState): void;
19
+ clearRuntime(name?: string): void;
20
+ attachRoute(routeId: string, manifest: ProxyHubRouteManifest, token?: string): ProxyHubRouteSecret;
21
+ getRoute(routeId: string): ProxyHubRouteSecret | null;
22
+ getRouteByToken(token: string): ProxyHubRouteSecret | null;
23
+ /** Owner-only route records for the Hub server's constant-time auth check. */
24
+ listRouteSecrets(name?: string): ProxyHubRouteSecret[];
25
+ detachRoute(routeId: string): void;
26
+ countRoutes(name?: string): number;
27
+ }
28
+ //# sourceMappingURL=proxy-hub-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-hub-store.d.ts","sourceRoot":"","sources":["../../src/core/proxy-hub-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAE5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAE5C,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAmB3C,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,qBAAqB,CAAC;IAChC,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,eAAe,EAAI;IAEpD,GAAG,CAAC,IAAI,SAAoB,GAAG,cAAc,GAAG,IAAI,CAKnD;IAED,YAAY,CAAC,IAAI,SAAoB,GAAG,cAAc,CAErD;IAED,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAmB3C;IAED,UAAU,CAAC,IAAI,SAAoB,GAAG,oBAAoB,GAAG,IAAI,CAOhE;IAED,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAU7C;IAED,YAAY,CAAC,IAAI,SAAoB,GAAG,IAAI,CAE3C;IAED,WAAW,CACT,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,SAAkC,GACtC,mBAAmB,CAoBrB;IAED,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAcpD;IAED,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAczD;IAED,8EAA8E;IAC9E,gBAAgB,CAAC,IAAI,SAAoB,GAAG,mBAAmB,EAAE,CAYhE;IAED,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjC;IAED,WAAW,CAAC,IAAI,SAAoB,GAAG,MAAM,CAK5C;CACF"}
@@ -0,0 +1,152 @@
1
+ import { decode, decoders } from "./codec.js";
2
+ import { randomBytes } from "node:crypto";
3
+ //#region src/core/proxy-hub-store.ts
4
+ var DEFAULT_PROXY_HUB = "default";
5
+ var DEFAULT_PROXY_HUB_PORT = 4680;
6
+ var ProxyHubStore = class {
7
+ db;
8
+ constructor(db) {
9
+ this.db = db;
10
+ }
11
+ get(name = DEFAULT_PROXY_HUB) {
12
+ const row = this.db.prepare("SELECT name, config_json FROM proxy_hubs WHERE name = ?").get(name);
13
+ return row ? decode(row.config_json, decoders.proxyHubConfig, `proxy-hub/${name}`) : null;
14
+ }
15
+ getOrDefault(name = DEFAULT_PROXY_HUB) {
16
+ return this.get(name) ?? defaultConfig(name);
17
+ }
18
+ save(config) {
19
+ const now = (/* @__PURE__ */ new Date()).toISOString();
20
+ const previous = this.get(config.name);
21
+ const next = {
22
+ ...config,
23
+ revision: previous ? previous.revision + 1 : Math.max(1, config.revision),
24
+ createdAt: previous?.createdAt ?? config.createdAt ?? now,
25
+ updatedAt: now
26
+ };
27
+ this.db.prepare(`INSERT INTO proxy_hubs (name, config_json, created_at, updated_at)
28
+ VALUES (?, ?, ?, ?)
29
+ ON CONFLICT(name) DO UPDATE SET
30
+ config_json = excluded.config_json,
31
+ updated_at = excluded.updated_at`).run(next.name, JSON.stringify(next), next.createdAt, next.updatedAt);
32
+ return next;
33
+ }
34
+ getRuntime(name = DEFAULT_PROXY_HUB) {
35
+ const row = this.db.prepare("SELECT name, state_json FROM proxy_hub_runtime WHERE name = ?").get(name);
36
+ return row ? decode(row.state_json, decoders.proxyHubRuntimeState, `proxy-hub-runtime/${name}`) : null;
37
+ }
38
+ saveRuntime(state) {
39
+ this.db.prepare(`INSERT INTO proxy_hub_runtime (name, state_json, updated_at)
40
+ VALUES (?, ?, ?)
41
+ ON CONFLICT(name) DO UPDATE SET
42
+ state_json = excluded.state_json,
43
+ updated_at = excluded.updated_at`).run(state.name, JSON.stringify(state), (/* @__PURE__ */ new Date()).toISOString());
44
+ }
45
+ clearRuntime(name = DEFAULT_PROXY_HUB) {
46
+ this.db.prepare("DELETE FROM proxy_hub_runtime WHERE name = ?").run(name);
47
+ }
48
+ attachRoute(routeId, manifest, token = randomBytes(32).toString("hex")) {
49
+ this.db.prepare(`INSERT INTO proxy_hub_routes (route_id, hub_name, manifest_json, token_secret, created_at, updated_at)
50
+ VALUES (?, ?, ?, ?, ?, ?)
51
+ ON CONFLICT(route_id) DO UPDATE SET
52
+ hub_name = excluded.hub_name,
53
+ manifest_json = excluded.manifest_json,
54
+ token_secret = excluded.token_secret,
55
+ updated_at = excluded.updated_at`).run(routeId, manifest.hub, JSON.stringify(manifest), token, (/* @__PURE__ */ new Date()).toISOString(), (/* @__PURE__ */ new Date()).toISOString());
56
+ return {
57
+ routeId,
58
+ manifest,
59
+ token
60
+ };
61
+ }
62
+ getRoute(routeId) {
63
+ const row = this.db.prepare("SELECT route_id, hub_name, manifest_json, token_secret FROM proxy_hub_routes WHERE route_id = ?").get(routeId);
64
+ if (!row) return null;
65
+ return {
66
+ routeId: row.route_id,
67
+ manifest: decodeProxyHubManifest(row.manifest_json, `proxy-hub-route/${row.route_id}`),
68
+ token: row.token_secret
69
+ };
70
+ }
71
+ getRouteByToken(token) {
72
+ const row = this.db.prepare("SELECT route_id, hub_name, manifest_json, token_secret FROM proxy_hub_routes WHERE token_secret = ?").get(token);
73
+ if (!row) return null;
74
+ return {
75
+ routeId: row.route_id,
76
+ manifest: decodeProxyHubManifest(row.manifest_json, `proxy-hub-route/${row.route_id}`),
77
+ token: row.token_secret
78
+ };
79
+ }
80
+ /** Owner-only route records for the Hub server's constant-time auth check. */
81
+ listRouteSecrets(name = DEFAULT_PROXY_HUB) {
82
+ return this.db.prepare(`SELECT route_id, hub_name, manifest_json, token_secret
83
+ FROM proxy_hub_routes WHERE hub_name = ? ORDER BY route_id`).all(name).map((row) => ({
84
+ routeId: row.route_id,
85
+ manifest: decodeProxyHubManifest(row.manifest_json, `proxy-hub-route/${row.route_id}`),
86
+ token: row.token_secret
87
+ }));
88
+ }
89
+ detachRoute(routeId) {
90
+ this.db.prepare("DELETE FROM proxy_hub_routes WHERE route_id = ?").run(routeId);
91
+ }
92
+ countRoutes(name = DEFAULT_PROXY_HUB) {
93
+ const row = this.db.prepare("SELECT COUNT(*) AS count FROM proxy_hub_routes WHERE hub_name = ?").get(name);
94
+ return Number(row?.count ?? 0);
95
+ }
96
+ };
97
+ function defaultConfig(name) {
98
+ const now = (/* @__PURE__ */ new Date()).toISOString();
99
+ return {
100
+ name,
101
+ enabled: false,
102
+ host: "127.0.0.1",
103
+ port: DEFAULT_PROXY_HUB_PORT,
104
+ sources: [],
105
+ modelOwners: [],
106
+ revision: 1,
107
+ createdAt: now,
108
+ updatedAt: now
109
+ };
110
+ }
111
+ function decodeProxyHubManifest(json, key) {
112
+ const parsed = JSON.parse(json);
113
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) throw new Error(`corrupt proxy hub route: ${key}`);
114
+ const value = parsed;
115
+ if (value.version !== 1 || typeof value.hub !== "string" || typeof value.revision !== "number" || typeof value.client !== "string" || value.protocol !== "openai" && value.protocol !== "anthropic" || !Array.isArray(value.routes)) throw new Error(`corrupt proxy hub route: ${key}`);
116
+ const routes = value.routes.map((route, index) => {
117
+ if (!route || typeof route !== "object" || Array.isArray(route)) throw new Error(`corrupt proxy hub route: ${key}.routes[${index}]`);
118
+ const target = route;
119
+ if (typeof target.model !== "string" || typeof target.upstreamModel !== "string" || !target.source || typeof target.source !== "object" || Array.isArray(target.source)) throw new Error(`corrupt proxy hub route: ${key}.routes[${index}]`);
120
+ const source = target.source;
121
+ if (source.kind === "account" && typeof source.provider === "string" && typeof source.name === "string") return {
122
+ model: target.model,
123
+ upstreamModel: target.upstreamModel,
124
+ source: {
125
+ kind: "account",
126
+ provider: source.provider,
127
+ name: source.name
128
+ }
129
+ };
130
+ if (source.kind === "account-pool" && typeof source.provider === "string") return {
131
+ model: target.model,
132
+ upstreamModel: target.upstreamModel,
133
+ source: {
134
+ kind: "account-pool",
135
+ provider: source.provider
136
+ }
137
+ };
138
+ throw new Error(`corrupt proxy hub route: ${key}.routes[${index}].source`);
139
+ });
140
+ return {
141
+ version: 1,
142
+ hub: value.hub,
143
+ revision: value.revision,
144
+ client: value.client,
145
+ protocol: value.protocol,
146
+ routes
147
+ };
148
+ }
149
+ //#endregion
150
+ export { DEFAULT_PROXY_HUB, DEFAULT_PROXY_HUB_PORT, ProxyHubStore };
151
+
152
+ //# sourceMappingURL=proxy-hub-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-hub-store.js","names":[],"sources":["../../src/core/proxy-hub-store.ts"],"sourcesContent":["import { randomBytes } from 'node:crypto';\nimport type { ProxyHubConfig, ProxyHubRouteManifest, ProxyHubRuntimeState } from '../types';\nimport { decode, decoders } from './codec';\nimport type { AnyPickDatabase } from './db';\n\nexport const DEFAULT_PROXY_HUB = 'default';\nexport const DEFAULT_PROXY_HUB_PORT = 4680;\n\ninterface HubRow {\n name: string;\n config_json: string;\n}\n\ninterface HubRuntimeRow {\n name: string;\n state_json: string;\n}\n\ninterface HubRouteRow {\n route_id: string;\n hub_name: string;\n manifest_json: string;\n token_secret: string;\n}\n\nexport interface ProxyHubRouteSecret {\n routeId: string;\n manifest: ProxyHubRouteManifest;\n /** Keep this private to the Hub service/executor boundary. */\n token: string;\n}\n\nexport class ProxyHubStore {\n constructor(private readonly db: AnyPickDatabase) {}\n\n get(name = DEFAULT_PROXY_HUB): ProxyHubConfig | null {\n const row = this.db\n .prepare('SELECT name, config_json FROM proxy_hubs WHERE name = ?')\n .get(name) as HubRow | undefined;\n return row ? decode(row.config_json, decoders.proxyHubConfig, `proxy-hub/${name}`) : null;\n }\n\n getOrDefault(name = DEFAULT_PROXY_HUB): ProxyHubConfig {\n return this.get(name) ?? defaultConfig(name);\n }\n\n save(config: ProxyHubConfig): ProxyHubConfig {\n const now = new Date().toISOString();\n const previous = this.get(config.name);\n const next: ProxyHubConfig = {\n ...config,\n revision: previous ? previous.revision + 1 : Math.max(1, config.revision),\n createdAt: previous?.createdAt ?? config.createdAt ?? now,\n updatedAt: now,\n };\n this.db\n .prepare(\n `INSERT INTO proxy_hubs (name, config_json, created_at, updated_at)\n VALUES (?, ?, ?, ?)\n ON CONFLICT(name) DO UPDATE SET\n config_json = excluded.config_json,\n updated_at = excluded.updated_at`,\n )\n .run(next.name, JSON.stringify(next), next.createdAt, next.updatedAt);\n return next;\n }\n\n getRuntime(name = DEFAULT_PROXY_HUB): ProxyHubRuntimeState | null {\n const row = this.db\n .prepare('SELECT name, state_json FROM proxy_hub_runtime WHERE name = ?')\n .get(name) as HubRuntimeRow | undefined;\n return row\n ? decode(row.state_json, decoders.proxyHubRuntimeState, `proxy-hub-runtime/${name}`)\n : null;\n }\n\n saveRuntime(state: ProxyHubRuntimeState): void {\n this.db\n .prepare(\n `INSERT INTO proxy_hub_runtime (name, state_json, updated_at)\n VALUES (?, ?, ?)\n ON CONFLICT(name) DO UPDATE SET\n state_json = excluded.state_json,\n updated_at = excluded.updated_at`,\n )\n .run(state.name, JSON.stringify(state), new Date().toISOString());\n }\n\n clearRuntime(name = DEFAULT_PROXY_HUB): void {\n this.db.prepare('DELETE FROM proxy_hub_runtime WHERE name = ?').run(name);\n }\n\n attachRoute(\n routeId: string,\n manifest: ProxyHubRouteManifest,\n token = randomBytes(32).toString('hex'),\n ): ProxyHubRouteSecret {\n this.db\n .prepare(\n `INSERT INTO proxy_hub_routes (route_id, hub_name, manifest_json, token_secret, created_at, updated_at)\n VALUES (?, ?, ?, ?, ?, ?)\n ON CONFLICT(route_id) DO UPDATE SET\n hub_name = excluded.hub_name,\n manifest_json = excluded.manifest_json,\n token_secret = excluded.token_secret,\n updated_at = excluded.updated_at`,\n )\n .run(\n routeId,\n manifest.hub,\n JSON.stringify(manifest),\n token,\n new Date().toISOString(),\n new Date().toISOString(),\n );\n return { routeId, manifest, token };\n }\n\n getRoute(routeId: string): ProxyHubRouteSecret | null {\n const row = this.db\n .prepare(\n 'SELECT route_id, hub_name, manifest_json, token_secret FROM proxy_hub_routes WHERE route_id = ?',\n )\n .get(routeId) as HubRouteRow | undefined;\n if (!row) {\n return null;\n }\n return {\n routeId: row.route_id,\n manifest: decodeProxyHubManifest(row.manifest_json, `proxy-hub-route/${row.route_id}`),\n token: row.token_secret,\n };\n }\n\n getRouteByToken(token: string): ProxyHubRouteSecret | null {\n const row = this.db\n .prepare(\n 'SELECT route_id, hub_name, manifest_json, token_secret FROM proxy_hub_routes WHERE token_secret = ?',\n )\n .get(token) as HubRouteRow | undefined;\n if (!row) {\n return null;\n }\n return {\n routeId: row.route_id,\n manifest: decodeProxyHubManifest(row.manifest_json, `proxy-hub-route/${row.route_id}`),\n token: row.token_secret,\n };\n }\n\n /** Owner-only route records for the Hub server's constant-time auth check. */\n listRouteSecrets(name = DEFAULT_PROXY_HUB): ProxyHubRouteSecret[] {\n const rows = this.db\n .prepare(\n `SELECT route_id, hub_name, manifest_json, token_secret\n FROM proxy_hub_routes WHERE hub_name = ? ORDER BY route_id`,\n )\n .all(name) as unknown as HubRouteRow[];\n return rows.map((row) => ({\n routeId: row.route_id,\n manifest: decodeProxyHubManifest(row.manifest_json, `proxy-hub-route/${row.route_id}`),\n token: row.token_secret,\n }));\n }\n\n detachRoute(routeId: string): void {\n this.db.prepare('DELETE FROM proxy_hub_routes WHERE route_id = ?').run(routeId);\n }\n\n countRoutes(name = DEFAULT_PROXY_HUB): number {\n const row = this.db\n .prepare('SELECT COUNT(*) AS count FROM proxy_hub_routes WHERE hub_name = ?')\n .get(name) as { count?: number } | undefined;\n return Number(row?.count ?? 0);\n }\n}\n\nfunction defaultConfig(name: string): ProxyHubConfig {\n const now = new Date().toISOString();\n return {\n name,\n enabled: false,\n host: '127.0.0.1',\n port: DEFAULT_PROXY_HUB_PORT,\n sources: [],\n modelOwners: [],\n revision: 1,\n createdAt: now,\n updatedAt: now,\n };\n}\n\nfunction decodeProxyHubManifest(json: string, key: string): ProxyHubRouteManifest {\n const parsed = JSON.parse(json) as unknown;\n if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {\n throw new Error(`corrupt proxy hub route: ${key}`);\n }\n const value = parsed as Record<string, unknown>;\n if (\n value.version !== 1 ||\n typeof value.hub !== 'string' ||\n typeof value.revision !== 'number' ||\n typeof value.client !== 'string' ||\n (value.protocol !== 'openai' && value.protocol !== 'anthropic') ||\n !Array.isArray(value.routes)\n ) {\n throw new Error(`corrupt proxy hub route: ${key}`);\n }\n const routes = value.routes.map((route, index) => {\n if (!route || typeof route !== 'object' || Array.isArray(route)) {\n throw new Error(`corrupt proxy hub route: ${key}.routes[${index}]`);\n }\n const target = route as Record<string, unknown>;\n if (\n typeof target.model !== 'string' ||\n typeof target.upstreamModel !== 'string' ||\n !target.source ||\n typeof target.source !== 'object' ||\n Array.isArray(target.source)\n ) {\n throw new Error(`corrupt proxy hub route: ${key}.routes[${index}]`);\n }\n const source = target.source as Record<string, unknown>;\n if (\n source.kind === 'account' &&\n typeof source.provider === 'string' &&\n typeof source.name === 'string'\n ) {\n return {\n model: target.model,\n upstreamModel: target.upstreamModel,\n source: { kind: 'account' as const, provider: source.provider, name: source.name },\n };\n }\n if (source.kind === 'account-pool' && typeof source.provider === 'string') {\n return {\n model: target.model,\n upstreamModel: target.upstreamModel,\n source: { kind: 'account-pool' as const, provider: source.provider },\n };\n }\n throw new Error(`corrupt proxy hub route: ${key}.routes[${index}].source`);\n });\n return {\n version: 1,\n hub: value.hub,\n revision: value.revision,\n client: value.client,\n protocol: value.protocol,\n routes,\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Proxy process lifecycle ownership.
3
+ *
4
+ * Proxies are spawned as detached child processes so they survive the CLI
5
+ * command that started them. That means nothing in the original process
6
+ * reaps them — they linger across sessions and hold their ports. The lease
7
+ * table records the owning pid; on startup we release leases whose owner is
8
+ * no longer alive and stop the proxy process they reference.
9
+ */
10
+ import type { ProxyService } from './proxy-service.js';
11
+ import type { LeaseStore } from './lease-store.js';
12
+ import type { PoolStore } from './pool-store.js';
13
+ export interface ProxyLifecycleDeps {
14
+ proxy: ProxyService;
15
+ leases: LeaseStore;
16
+ pools?: PoolStore;
17
+ }
18
+ /**
19
+ * Release leases whose owning process has exited and stop any proxy process
20
+ * they reference. Returns the lease ids that were reaped.
21
+ *
22
+ * Best-effort: individual stop/release failures are swallowed so one dead
23
+ * lease cannot block reaping of the rest.
24
+ */
25
+ export declare function reapStaleLeases(deps: ProxyLifecycleDeps): Promise<string[]>;
26
+ //# sourceMappingURL=proxy-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-lifecycle.d.ts","sourceRoot":"","sources":["../../src/core/proxy-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA+CjF"}
@@ -0,0 +1,33 @@
1
+ import { isProcessRunning } from "../utils/process/pid.js";
2
+ //#region src/core/proxy-lifecycle.ts
3
+ /**
4
+ * Release leases whose owning process has exited and stop any proxy process
5
+ * they reference. Returns the lease ids that were reaped.
6
+ *
7
+ * Best-effort: individual stop/release failures are swallowed so one dead
8
+ * lease cannot block reaping of the rest.
9
+ */
10
+ async function reapStaleLeases(deps) {
11
+ const reaped = [];
12
+ const leases = deps.leases.list();
13
+ for (const lease of leases) {
14
+ const ownerAlive = typeof lease.ownerPid === "number" && lease.ownerPid > 0 ? isProcessRunning(lease.ownerPid) : false;
15
+ let legacySelfOwned = false;
16
+ if (ownerAlive) try {
17
+ legacySelfOwned = (lease.account ? await deps.proxy.proxyStatus(lease.provider, lease.account) : await deps.proxy.poolProxyStatus(lease.provider)).pid === lease.ownerPid;
18
+ } catch {}
19
+ if (ownerAlive && !legacySelfOwned) continue;
20
+ if (lease.account) try {
21
+ await deps.proxy.stopProxy(lease.provider, lease.account);
22
+ } catch {}
23
+ else try {
24
+ await deps.proxy.stopPoolProxy(lease.provider);
25
+ } catch {}
26
+ if (deps.leases.release(lease.leaseId)) reaped.push(lease.leaseId);
27
+ }
28
+ return reaped;
29
+ }
30
+ //#endregion
31
+ export { reapStaleLeases };
32
+
33
+ //# sourceMappingURL=proxy-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-lifecycle.js","names":[],"sources":["../../src/core/proxy-lifecycle.ts"],"sourcesContent":["/**\n * Proxy process lifecycle ownership.\n *\n * Proxies are spawned as detached child processes so they survive the CLI\n * command that started them. That means nothing in the original process\n * reaps them — they linger across sessions and hold their ports. The lease\n * table records the owning pid; on startup we release leases whose owner is\n * no longer alive and stop the proxy process they reference.\n */\n\nimport type { ProxyService } from './proxy-service';\nimport type { LeaseStore } from './lease-store';\nimport type { PoolStore } from './pool-store';\nimport { isProcessRunning } from '../utils/process';\n\nexport interface ProxyLifecycleDeps {\n proxy: ProxyService;\n leases: LeaseStore;\n pools?: PoolStore;\n}\n\n/**\n * Release leases whose owning process has exited and stop any proxy process\n * they reference. Returns the lease ids that were reaped.\n *\n * Best-effort: individual stop/release failures are swallowed so one dead\n * lease cannot block reaping of the rest.\n */\nexport async function reapStaleLeases(deps: ProxyLifecycleDeps): Promise<string[]> {\n const reaped: string[] = [];\n const leases = deps.leases.list();\n\n for (const lease of leases) {\n const ownerAlive =\n typeof lease.ownerPid === 'number' && lease.ownerPid > 0\n ? isProcessRunning(lease.ownerPid)\n : false;\n // v0.8.0 accidentally recorded the proxy child as its own owner. Detect\n // and reap that legacy shape; a child cannot supervise its own lifecycle.\n let legacySelfOwned = false;\n if (ownerAlive) {\n try {\n const status = lease.account\n ? await deps.proxy.proxyStatus(lease.provider, lease.account)\n : await deps.proxy.poolProxyStatus(lease.provider);\n legacySelfOwned = status.pid === lease.ownerPid;\n } catch {\n // Unknown/live owner is safer to preserve.\n }\n }\n if (ownerAlive && !legacySelfOwned) {\n continue;\n }\n\n // Pool leases have no concrete account; stop the pool process instead.\n if (lease.account) {\n try {\n await deps.proxy.stopProxy(lease.provider, lease.account);\n } catch {\n // proxy already stopped or account missing — proceed to release lease\n }\n } else {\n try {\n await deps.proxy.stopPoolProxy(lease.provider);\n } catch {\n // ignore\n }\n }\n\n if (deps.leases.release(lease.leaseId)) {\n reaped.push(lease.leaseId);\n }\n }\n\n return reaped;\n}\n"],"mappings":";;;;;;;;;AA4BA,eAAsB,gBAAgB,MAA6C;CACjF,MAAM,SAAmB,CAAC;CAC1B,MAAM,SAAS,KAAK,OAAO,KAAK;CAEhC,KAAK,MAAM,SAAS,QAAQ;EAC1B,MAAM,aACJ,OAAO,MAAM,aAAa,YAAY,MAAM,WAAW,IACnD,iBAAiB,MAAM,QAAQ,IAC/B;EAGN,IAAI,kBAAkB;EACtB,IAAI,YACF,IAAI;GAIF,mBAHe,MAAM,UACjB,MAAM,KAAK,MAAM,YAAY,MAAM,UAAU,MAAM,OAAO,IAC1D,MAAM,KAAK,MAAM,gBAAgB,MAAM,QAAQ,EAAA,CAC1B,QAAQ,MAAM;EACzC,QAAQ,CAER;EAEF,IAAI,cAAc,CAAC,iBACjB;EAIF,IAAI,MAAM,SACR,IAAI;GACF,MAAM,KAAK,MAAM,UAAU,MAAM,UAAU,MAAM,OAAO;EAC1D,QAAQ,CAER;OAEA,IAAI;GACF,MAAM,KAAK,MAAM,cAAc,MAAM,QAAQ;EAC/C,QAAQ,CAER;EAGF,IAAI,KAAK,OAAO,QAAQ,MAAM,OAAO,GACnC,OAAO,KAAK,MAAM,OAAO;CAE7B;CAEA,OAAO;AACT"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Listen-port allocation for account-backed and pool proxies.
3
+ *
4
+ * Extracted from `ProxyService`, which had grown to own lifecycle, pools, leases
5
+ * and allocation at once. Allocation is a cohesive unit with a narrow
6
+ * dependency surface — it needs only to enumerate proxy-capable providers and
7
+ * their saved port preferences — so it tests and evolves independently.
8
+ *
9
+ * Two deliberately different behaviours:
10
+ *
11
+ * - An **explicitly requested** port is validated and rejected if taken. Moving
12
+ * a port the user typed would turn `-p` from an instruction into a suggestion.
13
+ * - An **unspecified** port falls back to the provider default (or the saved
14
+ * preference) and walks upward past anything already reserved or bound.
15
+ */
16
+ import type { Provider } from '../types.js';
17
+ import type { ProviderRegistry } from './registry.js';
18
+ import type { AccountStore } from './store.js';
19
+ export declare function validatePort(port: number): number;
20
+ export interface ResolvePortRequest {
21
+ /** Port the caller asked for explicitly. Validated, never relocated. */
22
+ requested?: number;
23
+ /** Port already saved on this account's proxy config. */
24
+ existing?: number;
25
+ providerId: string;
26
+ accountName: string;
27
+ }
28
+ /** Enumerates reserved ports and picks free ones. */
29
+ export declare class ProxyPortAllocator {
30
+ private readonly registry;
31
+ private readonly store;
32
+ constructor(registry: ProviderRegistry, store: AccountStore);
33
+ /**
34
+ * Resolve the port a proxy should bind. Honors an explicit request (failing if
35
+ * unavailable) and otherwise finds the nearest free port at or above the
36
+ * provider's preference.
37
+ */
38
+ resolve(provider: Provider, opts: ResolvePortRequest): Promise<number>;
39
+ /** Ports already reserved by other anypick proxy configs. */
40
+ collectUsedPorts(excludeProvider?: string, excludeAccount?: string): Promise<Set<number>>;
41
+ /** First free port at or above `base`, skipping anypick-reserved ports. */
42
+ allocateFrom(base: number, providerId: string, accountName: string): Promise<number>;
43
+ /**
44
+ * Throw unless `port` is free, both in anypick's own config and on the machine.
45
+ * Names the conflicting account when anypick itself already reserved the port,
46
+ * because "used by codex/work" is actionable where a bare port number is not.
47
+ */
48
+ assertAvailable(port: number, providerId: string, accountName: string): Promise<void>;
49
+ }
50
+ //# sourceMappingURL=proxy-ports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-ports.d.ts","sourceRoot":"","sources":["../../src/core/proxy-ports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAK5C,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASjD;AAED,MAAM,WAAW,kBAAkB;IACjC,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qDAAqD;AACrD,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFxB,YACmB,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,YAAY,EAClC;IAEJ;;;;OAIG;IACG,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB3E;IAED,6DAA6D;IACvD,gBAAgB,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAkB9F;IAED,2EAA2E;IACrE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAezF;IAED;;;;OAIG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B1F;CACF"}
@@ -0,0 +1,86 @@
1
+ import { AnyPickError } from "../utils/errors.js";
2
+ import { isListenPortFree } from "../utils/process/health.js";
3
+ import { providerCanProxy } from "./capabilities.js";
4
+ //#region src/core/proxy-ports.ts
5
+ /**
6
+ * Listen-port allocation for account-backed and pool proxies.
7
+ *
8
+ * Extracted from `ProxyService`, which had grown to own lifecycle, pools, leases
9
+ * and allocation at once. Allocation is a cohesive unit with a narrow
10
+ * dependency surface — it needs only to enumerate proxy-capable providers and
11
+ * their saved port preferences — so it tests and evolves independently.
12
+ *
13
+ * Two deliberately different behaviours:
14
+ *
15
+ * - An **explicitly requested** port is validated and rejected if taken. Moving
16
+ * a port the user typed would turn `-p` from an instruction into a suggestion.
17
+ * - An **unspecified** port falls back to the provider default (or the saved
18
+ * preference) and walks upward past anything already reserved or bound.
19
+ */
20
+ /** Highest valid TCP port. 0 means "let the OS pick" (tests / advanced use). */
21
+ var MAX_PORT = 65535;
22
+ function validatePort(port) {
23
+ if (!Number.isInteger(port) || port < 0 || port > MAX_PORT) throw new AnyPickError(`Invalid port ${port}. Use an integer 0–${MAX_PORT} (0 = ephemeral).`, "PROXY_PORT_INVALID");
24
+ return port;
25
+ }
26
+ /** Enumerates reserved ports and picks free ones. */
27
+ var ProxyPortAllocator = class {
28
+ registry;
29
+ store;
30
+ constructor(registry, store) {
31
+ this.registry = registry;
32
+ this.store = store;
33
+ }
34
+ /**
35
+ * Resolve the port a proxy should bind. Honors an explicit request (failing if
36
+ * unavailable) and otherwise finds the nearest free port at or above the
37
+ * provider's preference.
38
+ */
39
+ async resolve(provider, opts) {
40
+ if (opts.requested != null) {
41
+ const port = validatePort(opts.requested);
42
+ await this.assertAvailable(port, opts.providerId, opts.accountName);
43
+ return port;
44
+ }
45
+ const preferred = opts.existing != null && Number.isInteger(opts.existing) ? validatePort(opts.existing) : provider.defaultProxyPort ?? 8080;
46
+ if (preferred === 0 || await isListenPortFree(preferred, "127.0.0.1") && !(await this.collectUsedPorts(opts.providerId, opts.accountName)).has(preferred)) return preferred;
47
+ return this.allocateFrom(preferred + 1, opts.providerId, opts.accountName);
48
+ }
49
+ /** Ports already reserved by other anypick proxy configs. */
50
+ async collectUsedPorts(excludeProvider, excludeAccount) {
51
+ const used = /* @__PURE__ */ new Set();
52
+ for (const p of this.registry.list().filter((x) => providerCanProxy(x))) for (const a of await this.store.listAccounts(p.id)) {
53
+ if (excludeProvider && excludeAccount && p.id === excludeProvider && a.meta.name === excludeAccount) continue;
54
+ if (a.proxy.port != null && Number.isInteger(a.proxy.port)) used.add(a.proxy.port);
55
+ }
56
+ return used;
57
+ }
58
+ /** First free port at or above `base`, skipping anypick-reserved ports. */
59
+ async allocateFrom(base, providerId, accountName) {
60
+ const used = await this.collectUsedPorts(providerId, accountName);
61
+ const start = validatePort(base);
62
+ for (let port = start; port <= MAX_PORT; port++) {
63
+ if (used.has(port)) continue;
64
+ if (await isListenPortFree(port, "127.0.0.1")) return port;
65
+ }
66
+ throw new AnyPickError(`No free proxy port found starting from ${start}.`, "PROXY_PORT_EXHAUSTED");
67
+ }
68
+ /**
69
+ * Throw unless `port` is free, both in anypick's own config and on the machine.
70
+ * Names the conflicting account when anypick itself already reserved the port,
71
+ * because "used by codex/work" is actionable where a bare port number is not.
72
+ */
73
+ async assertAvailable(port, providerId, accountName) {
74
+ if (port === 0) return;
75
+ if ((await this.collectUsedPorts(providerId, accountName)).has(port)) {
76
+ const owners = [];
77
+ for (const p of this.registry.list().filter((x) => providerCanProxy(x))) for (const a of await this.store.listAccounts(p.id)) if (a.proxy.port === port && !(p.id === providerId && a.meta.name === accountName)) owners.push(`${p.id}/${a.meta.name}`);
78
+ throw new AnyPickError(`Port ${port} is already used by ${owners.join(", ") || "another account"}. Pick another with -p.`, "PROXY_PORT_IN_USE");
79
+ }
80
+ if (!await isListenPortFree(port, "127.0.0.1")) throw new AnyPickError(`Port ${port} is already in use on this machine. Pick another with -p, or stop the process holding it.`, "PROXY_PORT_IN_USE");
81
+ }
82
+ };
83
+ //#endregion
84
+ export { ProxyPortAllocator, validatePort };
85
+
86
+ //# sourceMappingURL=proxy-ports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-ports.js","names":[],"sources":["../../src/core/proxy-ports.ts"],"sourcesContent":["/**\n * Listen-port allocation for account-backed and pool proxies.\n *\n * Extracted from `ProxyService`, which had grown to own lifecycle, pools, leases\n * and allocation at once. Allocation is a cohesive unit with a narrow\n * dependency surface — it needs only to enumerate proxy-capable providers and\n * their saved port preferences — so it tests and evolves independently.\n *\n * Two deliberately different behaviours:\n *\n * - An **explicitly requested** port is validated and rejected if taken. Moving\n * a port the user typed would turn `-p` from an instruction into a suggestion.\n * - An **unspecified** port falls back to the provider default (or the saved\n * preference) and walks upward past anything already reserved or bound.\n */\n\nimport { AnyPickError } from '../utils/errors';\nimport { isListenPortFree } from '../utils/process';\nimport { providerCanProxy } from './capabilities';\nimport type { Provider } from '../types';\nimport type { ProviderRegistry } from './registry';\nimport type { AccountStore } from './store';\n\n/** Highest valid TCP port. 0 means \"let the OS pick\" (tests / advanced use). */\nconst MAX_PORT = 65535;\n\nexport function validatePort(port: number): number {\n // 0 = OS ephemeral (tests / advanced); 1–65535 = explicit bind\n if (!Number.isInteger(port) || port < 0 || port > MAX_PORT) {\n throw new AnyPickError(\n `Invalid port ${port}. Use an integer 0–${MAX_PORT} (0 = ephemeral).`,\n 'PROXY_PORT_INVALID',\n );\n }\n return port;\n}\n\nexport interface ResolvePortRequest {\n /** Port the caller asked for explicitly. Validated, never relocated. */\n requested?: number;\n /** Port already saved on this account's proxy config. */\n existing?: number;\n providerId: string;\n accountName: string;\n}\n\n/** Enumerates reserved ports and picks free ones. */\nexport class ProxyPortAllocator {\n constructor(\n private readonly registry: ProviderRegistry,\n private readonly store: AccountStore,\n ) {}\n\n /**\n * Resolve the port a proxy should bind. Honors an explicit request (failing if\n * unavailable) and otherwise finds the nearest free port at or above the\n * provider's preference.\n */\n async resolve(provider: Provider, opts: ResolvePortRequest): Promise<number> {\n if (opts.requested != null) {\n const port = validatePort(opts.requested);\n await this.assertAvailable(port, opts.providerId, opts.accountName);\n return port;\n }\n const preferred =\n opts.existing != null && Number.isInteger(opts.existing)\n ? validatePort(opts.existing)\n : (provider.defaultProxyPort ?? 8080);\n // Prefer saved/default if free; otherwise walk upward\n if (\n preferred === 0 ||\n ((await isListenPortFree(preferred, '127.0.0.1')) &&\n !(await this.collectUsedPorts(opts.providerId, opts.accountName)).has(preferred))\n ) {\n return preferred;\n }\n return this.allocateFrom(preferred + 1, opts.providerId, opts.accountName);\n }\n\n /** Ports already reserved by other anypick proxy configs. */\n async collectUsedPorts(excludeProvider?: string, excludeAccount?: string): Promise<Set<number>> {\n const used = new Set<number>();\n for (const p of this.registry.list().filter((x) => providerCanProxy(x))) {\n for (const a of await this.store.listAccounts(p.id)) {\n if (\n excludeProvider &&\n excludeAccount &&\n p.id === excludeProvider &&\n a.meta.name === excludeAccount\n ) {\n continue;\n }\n if (a.proxy.port != null && Number.isInteger(a.proxy.port)) {\n used.add(a.proxy.port);\n }\n }\n }\n return used;\n }\n\n /** First free port at or above `base`, skipping anypick-reserved ports. */\n async allocateFrom(base: number, providerId: string, accountName: string): Promise<number> {\n const used = await this.collectUsedPorts(providerId, accountName);\n const start = validatePort(base);\n for (let port = start; port <= MAX_PORT; port++) {\n if (used.has(port)) {\n continue;\n }\n if (await isListenPortFree(port, '127.0.0.1')) {\n return port;\n }\n }\n throw new AnyPickError(\n `No free proxy port found starting from ${start}.`,\n 'PROXY_PORT_EXHAUSTED',\n );\n }\n\n /**\n * Throw unless `port` is free, both in anypick's own config and on the machine.\n * Names the conflicting account when anypick itself already reserved the port,\n * because \"used by codex/work\" is actionable where a bare port number is not.\n */\n async assertAvailable(port: number, providerId: string, accountName: string): Promise<void> {\n // Ephemeral port 0 is never \"in use\" in config terms\n if (port === 0) {\n return;\n }\n const used = await this.collectUsedPorts(providerId, accountName);\n if (used.has(port)) {\n const owners: string[] = [];\n for (const p of this.registry.list().filter((x) => providerCanProxy(x))) {\n for (const a of await this.store.listAccounts(p.id)) {\n if (a.proxy.port === port && !(p.id === providerId && a.meta.name === accountName)) {\n owners.push(`${p.id}/${a.meta.name}`);\n }\n }\n }\n throw new AnyPickError(\n `Port ${port} is already used by ${\n owners.join(', ') || 'another account'\n }. Pick another with -p.`,\n 'PROXY_PORT_IN_USE',\n );\n }\n // Also refuse ports held by foreign OS processes (other apps / zombie proxies)\n if (!(await isListenPortFree(port, '127.0.0.1'))) {\n throw new AnyPickError(\n `Port ${port} is already in use on this machine. Pick another with -p, or stop the process holding it.`,\n 'PROXY_PORT_IN_USE',\n );\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAwBA,IAAM,WAAW;AAEjB,SAAgB,aAAa,MAAsB;CAEjD,IAAI,CAAC,OAAO,UAAU,IAAI,KAAK,OAAO,KAAK,OAAO,UAChD,MAAM,IAAI,aACR,gBAAgB,KAAK,qBAAqB,SAAS,oBACnD,oBACF;CAEF,OAAO;AACT;;AAYA,IAAa,qBAAb,MAAgC;CAEX;CACA;CAFnB,YACE,UACA,OACA;EAFiB,KAAA,WAAA;EACA,KAAA,QAAA;CAChB;;;;;;CAOH,MAAM,QAAQ,UAAoB,MAA2C;EAC3E,IAAI,KAAK,aAAa,MAAM;GAC1B,MAAM,OAAO,aAAa,KAAK,SAAS;GACxC,MAAM,KAAK,gBAAgB,MAAM,KAAK,YAAY,KAAK,WAAW;GAClE,OAAO;EACT;EACA,MAAM,YACJ,KAAK,YAAY,QAAQ,OAAO,UAAU,KAAK,QAAQ,IACnD,aAAa,KAAK,QAAQ,IACzB,SAAS,oBAAoB;EAEpC,IACE,cAAc,KACZ,MAAM,iBAAiB,WAAW,WAAW,KAC7C,EAAE,MAAM,KAAK,iBAAiB,KAAK,YAAY,KAAK,WAAW,EAAA,CAAG,IAAI,SAAS,GAEjF,OAAO;EAET,OAAO,KAAK,aAAa,YAAY,GAAG,KAAK,YAAY,KAAK,WAAW;CAC3E;;CAGA,MAAM,iBAAiB,iBAA0B,gBAA+C;EAC9F,MAAM,uBAAO,IAAI,IAAY;EAC7B,KAAK,MAAM,KAAK,KAAK,SAAS,KAAK,CAAC,CAAC,QAAQ,MAAM,iBAAiB,CAAC,CAAC,GACpE,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,aAAa,EAAE,EAAE,GAAG;GACnD,IACE,mBACA,kBACA,EAAE,OAAO,mBACT,EAAE,KAAK,SAAS,gBAEhB;GAEF,IAAI,EAAE,MAAM,QAAQ,QAAQ,OAAO,UAAU,EAAE,MAAM,IAAI,GACvD,KAAK,IAAI,EAAE,MAAM,IAAI;EAEzB;EAEF,OAAO;CACT;;CAGA,MAAM,aAAa,MAAc,YAAoB,aAAsC;EACzF,MAAM,OAAO,MAAM,KAAK,iBAAiB,YAAY,WAAW;EAChE,MAAM,QAAQ,aAAa,IAAI;EAC/B,KAAK,IAAI,OAAO,OAAO,QAAQ,UAAU,QAAQ;GAC/C,IAAI,KAAK,IAAI,IAAI,GACf;GAEF,IAAI,MAAM,iBAAiB,MAAM,WAAW,GAC1C,OAAO;EAEX;EACA,MAAM,IAAI,aACR,0CAA0C,MAAM,IAChD,sBACF;CACF;;;;;;CAOA,MAAM,gBAAgB,MAAc,YAAoB,aAAoC;EAE1F,IAAI,SAAS,GACX;EAGF,KAAI,MADe,KAAK,iBAAiB,YAAY,WAAW,EAAA,CACvD,IAAI,IAAI,GAAG;GAClB,MAAM,SAAmB,CAAC;GAC1B,KAAK,MAAM,KAAK,KAAK,SAAS,KAAK,CAAC,CAAC,QAAQ,MAAM,iBAAiB,CAAC,CAAC,GACpE,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,aAAa,EAAE,EAAE,GAChD,IAAI,EAAE,MAAM,SAAS,QAAQ,EAAE,EAAE,OAAO,cAAc,EAAE,KAAK,SAAS,cACpE,OAAO,KAAK,GAAG,EAAE,GAAG,GAAG,EAAE,KAAK,MAAM;GAI1C,MAAM,IAAI,aACR,QAAQ,KAAK,sBACX,OAAO,KAAK,IAAI,KAAK,kBACtB,0BACD,mBACF;EACF;EAEA,IAAI,CAAE,MAAM,iBAAiB,MAAM,WAAW,GAC5C,MAAM,IAAI,aACR,QAAQ,KAAK,4FACb,mBACF;CAEJ;AACF"}
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Proxy lifecycle ownership (start/stop/status/logs) and multi-account pool
3
+ * management for account-backed proxies.
4
+ *
5
+ * This was extracted from AccountService so that proxy concerns live in their
6
+ * own collaborator: a Provider owns *where* live auth lives and how to
7
+ * snapshot/restore it; this service owns *how a running proxy for that account
8
+ * is orchestrated*. Client-config realignment (writing BASE_URL into bound
9
+ * clients) is injected as RealignProxyClientsDeps rather than imported, so the
10
+ * proxy service stays below the binding/runtime subsystems.
11
+ *
12
+ * Listen-port selection lives in `ProxyPortAllocator` (proxy-ports.ts), and the
13
+ * lease table is a constructor dependency — both were previously inlined here,
14
+ * which made this class impossible to construct in a test without also standing
15
+ * up the whole app graph.
16
+ */
17
+ import type { AccountProxyConfig, Provider, ProviderProxyPool, ProxyHandle, ProxyStatus } from '../types.js';
18
+ import type { ProviderRegistry } from './registry.js';
19
+ import type { AccountStore } from './store.js';
20
+ import type { LeaseStore } from './lease-store.js';
21
+ import { PoolStore } from './pool-store.js';
22
+ import { type RealignProxyClientsDeps } from './realign-proxy-clients.js';
23
+ import type { QuotaGuardPolicy } from '../types.js';
24
+ import { type QuotaGuardEvent } from '../providers/quota-guard.js';
25
+ /**
26
+ * Owns proxy lifecycle and multi-account pools.
27
+ * Constructed by the app composition root and exposed as `app.proxy`.
28
+ */
29
+ export declare class ProxyService {
30
+ private readonly store;
31
+ private readonly registry;
32
+ private readonly quotaGuardPolicy;
33
+ readonly pools: PoolStore;
34
+ /**
35
+ * Optional dependency used when a proxy starts: realign bound clients'
36
+ * BASE_URLs to the new endpoint. Injected at construction (composition time)
37
+ * rather than wired afterwards, so the service has no upward dependency on
38
+ * the app graph.
39
+ */
40
+ private readonly realign?;
41
+ /**
42
+ * Lease table. Every proxy started through this service records a lease keyed
43
+ * to the owning process, so `reapStaleLeases` can stop orphaned proxies on the
44
+ * next startup — not just proxies started by the activation pipeline.
45
+ *
46
+ * Optional so a caller can build a proxy service without lease bookkeeping,
47
+ * but supplied at construction: it used to be wired by `setLeaseStore()` after
48
+ * the fact, which meant the service was observably half-built between the two
49
+ * calls and could not be constructed in a test without replaying that dance.
50
+ */
51
+ private readonly leases?;
52
+ /** Listen-port allocation (see proxy-ports.ts). */
53
+ private readonly ports;
54
+ constructor(store: AccountStore, registry: ProviderRegistry, pools?: PoolStore, realign?: RealignProxyClientsDeps, leases?: LeaseStore, quotaGuardPolicy?: () => Promise<QuotaGuardPolicy>);
55
+ /**
56
+ * Optional re-publisher for the live Codex config block, wired in app.ts so this
57
+ * service does not depend on Hub/Codex services it was not constructed with.
58
+ */
59
+ private codexLiveConfigSync?;
60
+ setCodexLiveConfigSync(fn: () => Promise<void>): void;
61
+ private syncCodexLiveConfig;
62
+ /**
63
+ * Record a lease for a freshly started proxy owned by this process, replacing
64
+ * any prior lease for the same provider/account. No-op when no lease store is
65
+ * wired. Best-effort: lease bookkeeping must never fail a proxy start.
66
+ */
67
+ private recordLease;
68
+ /** Release the lease for a stopped proxy. No-op without a lease store. */
69
+ private releaseLease;
70
+ provider(id: string): Provider;
71
+ listProviders(): Provider[];
72
+ getPool(providerId: string): Promise<ProviderProxyPool>;
73
+ /** Opt-in multi-account pool for a provider. */
74
+ enablePoolMulti(providerId: string, opts?: {
75
+ port?: number;
76
+ host?: string;
77
+ start?: boolean;
78
+ }): Promise<{
79
+ pool: ProviderProxyPool;
80
+ started?: ProxyHandle;
81
+ }>;
82
+ /** Back to per-account proxies (default). Stops pool process if running. */
83
+ disablePoolMulti(providerId: string): Promise<ProviderProxyPool>;
84
+ setPoolMemberEnabled(providerId: string, account: string, enabled: boolean): Promise<ProviderProxyPool>;
85
+ startPoolProxy(providerId: string): Promise<ProxyHandle>;
86
+ /** Restart only pools that are currently serving, after changing a pool-wide policy. */
87
+ restartRunningPools(): Promise<void>;
88
+ /** Secret-free audit events written by an enabled compatibility proxy pool. */
89
+ quotaGuardEvents(): Promise<QuotaGuardEvent[]>;
90
+ stopPoolProxy(providerId: string): Promise<void>;
91
+ poolProxyStatus(providerId: string): Promise<ProxyStatus>;
92
+ requireProxyProvider(providerId: string): Provider;
93
+ enableProxy(providerId: string, name: string, opts?: {
94
+ port?: number;
95
+ host?: string;
96
+ start?: boolean;
97
+ /** Provider options merge (e.g. opencode plan: zen|go). */
98
+ options?: Record<string, unknown>;
99
+ }): Promise<{
100
+ config: AccountProxyConfig;
101
+ started?: ProxyHandle;
102
+ }>;
103
+ /** Restore a previously captured config without starting a process. Scoped
104
+ * ephemeral runs use this to avoid leaving an account auto-proxy enabled. */
105
+ restoreProxyConfig(providerId: string, name: string, config: AccountProxyConfig): Promise<void>;
106
+ /**
107
+ * Update proxy listen port/host without toggling enabled.
108
+ * Restarts the proxy if it is currently running.
109
+ */
110
+ configureProxy(providerId: string, name: string, opts?: {
111
+ port?: number;
112
+ host?: string;
113
+ restart?: boolean;
114
+ /** Provider options merge (e.g. opencode plan: zen|go). */
115
+ options?: Record<string, unknown>;
116
+ }): Promise<{
117
+ config: AccountProxyConfig;
118
+ restarted?: ProxyHandle;
119
+ wasRunning: boolean;
120
+ }>;
121
+ disableProxy(providerId: string, name: string): Promise<AccountProxyConfig>;
122
+ startProxy(providerId: string, name?: string, opts?: {
123
+ port?: number;
124
+ host?: string;
125
+ }): Promise<ProxyHandle>;
126
+ stopProxy(providerId: string, name?: string): Promise<void>;
127
+ proxyStatus(providerId: string, name?: string): Promise<ProxyStatus>;
128
+ proxyLogs(providerId: string, name?: string, lines?: number): Promise<string>;
129
+ /**
130
+ * Stream proxy logs live (tail -f style). Calls `onLine` for each new line
131
+ * and resolves when `signal` aborts. Returns immediately if no log file yet.
132
+ */
133
+ proxyLogsFollow(providerId: string, name: string | undefined, onLine: (line: string) => void, opts?: {
134
+ lines?: number;
135
+ signal?: AbortSignal;
136
+ }): Promise<void>;
137
+ /**
138
+ * List proxy-capable accounts (for `anypick proxy` / status).
139
+ * If provider omitted → all proxy providers. If name omitted → active or all enabled.
140
+ */
141
+ listProxyRows(providerId?: string): Promise<Array<{
142
+ provider: string;
143
+ name: string;
144
+ active: boolean;
145
+ status: ProxyStatus;
146
+ }>>;
147
+ /**
148
+ * Start proxies. No args → active account on each proxy provider (if enabled).
149
+ */
150
+ startProxies(providerId?: string, name?: string): Promise<Array<{
151
+ provider: string;
152
+ name: string;
153
+ ok: boolean;
154
+ endpoint?: string;
155
+ realignedClients?: string[];
156
+ error?: string;
157
+ }>>;
158
+ stopProxies(providerId?: string, name?: string): Promise<Array<{
159
+ provider: string;
160
+ name: string;
161
+ ok: boolean;
162
+ error?: string;
163
+ }>>;
164
+ /** Transfer all currently running proxy leases to a long-lived supervisor. */
165
+ adoptRunningProxies(ownerPid?: number): Promise<number>;
166
+ /** Stop a proxy during account lifecycle ops (switch/stash/delete). */
167
+ stopProxyForAccount(provider: Provider, accountName: string): Promise<void>;
168
+ /** Start a proxy as part of account switch (when enabled). */
169
+ startProxyForAccount(provider: Provider, accountName: string, config: AccountProxyConfig): Promise<{
170
+ endpoint?: string;
171
+ running: boolean;
172
+ error?: string;
173
+ }>;
174
+ private resolveProxyTargets;
175
+ private requireActiveName;
176
+ private buildProxyContext;
177
+ private startProxyInternal;
178
+ private startProxyInternalUnlocked;
179
+ /** Rewrite bound clients' BASE_URL to the live proxy endpoint. */
180
+ private realignBoundClients;
181
+ private stopProxyInternal;
182
+ private stopProxyInternalUnlocked;
183
+ }
184
+ //# sourceMappingURL=proxy-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-service.d.ts","sourceRoot":"","sources":["../../src/core/proxy-service.ts"],"names":[],"mappings":"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"}