anypick 1.0.0 → 1.1.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/README.md +16 -582
  2. package/bin/anypick.js +249 -0
  3. package/package.json +14 -106
  4. package/dist/adapters.d.ts +0 -4
  5. package/dist/adapters.d.ts.map +0 -1
  6. package/dist/adapters.js +0 -2
  7. package/dist/catalog/model-fetch.d.ts +0 -34
  8. package/dist/catalog/model-fetch.d.ts.map +0 -1
  9. package/dist/catalog/model-fetch.js +0 -99
  10. package/dist/catalog/model-fetch.js.map +0 -1
  11. package/dist/catalog/providers.d.ts +0 -42
  12. package/dist/catalog/providers.d.ts.map +0 -1
  13. package/dist/catalog/providers.js +0 -424
  14. package/dist/catalog/providers.js.map +0 -1
  15. package/dist/cli/bootstrap.d.ts +0 -3
  16. package/dist/cli/bootstrap.d.ts.map +0 -1
  17. package/dist/cli/bootstrap.js +0 -78
  18. package/dist/cli/bootstrap.js.map +0 -1
  19. package/dist/cli/commands.d.ts +0 -29
  20. package/dist/cli/commands.d.ts.map +0 -1
  21. package/dist/cli/commands.js +0 -1043
  22. package/dist/cli/commands.js.map +0 -1
  23. package/dist/cli/completion.d.ts +0 -6
  24. package/dist/cli/completion.d.ts.map +0 -1
  25. package/dist/cli/completion.js +0 -202
  26. package/dist/cli/completion.js.map +0 -1
  27. package/dist/cli/errors.d.ts +0 -20
  28. package/dist/cli/errors.d.ts.map +0 -1
  29. package/dist/cli/errors.js +0 -47
  30. package/dist/cli/errors.js.map +0 -1
  31. package/dist/cli/format.d.ts +0 -6
  32. package/dist/cli/format.d.ts.map +0 -1
  33. package/dist/cli/format.js +0 -75
  34. package/dist/cli/format.js.map +0 -1
  35. package/dist/cli/help.d.ts +0 -6
  36. package/dist/cli/help.d.ts.map +0 -1
  37. package/dist/cli/help.js +0 -66
  38. package/dist/cli/help.js.map +0 -1
  39. package/dist/cli/interactive-accounts.d.ts +0 -3
  40. package/dist/cli/interactive-accounts.d.ts.map +0 -1
  41. package/dist/cli/interactive-accounts.js +0 -86
  42. package/dist/cli/interactive-accounts.js.map +0 -1
  43. package/dist/cli/interactive-maintenance.d.ts +0 -4
  44. package/dist/cli/interactive-maintenance.d.ts.map +0 -1
  45. package/dist/cli/interactive-maintenance.js +0 -30
  46. package/dist/cli/interactive-maintenance.js.map +0 -1
  47. package/dist/cli/interactive.d.ts +0 -14
  48. package/dist/cli/interactive.d.ts.map +0 -1
  49. package/dist/cli/interactive.js +0 -242
  50. package/dist/cli/interactive.js.map +0 -1
  51. package/dist/cli/launch-client.d.ts +0 -18
  52. package/dist/cli/launch-client.d.ts.map +0 -1
  53. package/dist/cli/launch-client.js +0 -117
  54. package/dist/cli/launch-client.js.map +0 -1
  55. package/dist/cli/launcher-model.d.ts +0 -64
  56. package/dist/cli/launcher-model.d.ts.map +0 -1
  57. package/dist/cli/launcher-model.js +0 -200
  58. package/dist/cli/launcher-model.js.map +0 -1
  59. package/dist/cli/launcher-render.d.ts +0 -22
  60. package/dist/cli/launcher-render.d.ts.map +0 -1
  61. package/dist/cli/launcher-render.js +0 -113
  62. package/dist/cli/launcher-render.js.map +0 -1
  63. package/dist/cli/launcher.d.ts +0 -27
  64. package/dist/cli/launcher.d.ts.map +0 -1
  65. package/dist/cli/launcher.js +0 -93
  66. package/dist/cli/launcher.js.map +0 -1
  67. package/dist/cli/local-health.d.ts +0 -17
  68. package/dist/cli/local-health.d.ts.map +0 -1
  69. package/dist/cli/local-health.js +0 -31
  70. package/dist/cli/local-health.js.map +0 -1
  71. package/dist/cli/plugin-commands.d.ts +0 -4
  72. package/dist/cli/plugin-commands.d.ts.map +0 -1
  73. package/dist/cli/plugin-commands.js +0 -160
  74. package/dist/cli/plugin-commands.js.map +0 -1
  75. package/dist/cli/primary.d.ts +0 -18
  76. package/dist/cli/primary.d.ts.map +0 -1
  77. package/dist/cli/primary.js +0 -593
  78. package/dist/cli/primary.js.map +0 -1
  79. package/dist/cli/render-util.d.ts +0 -24
  80. package/dist/cli/render-util.d.ts.map +0 -1
  81. package/dist/cli/render-util.js +0 -58
  82. package/dist/cli/render-util.js.map +0 -1
  83. package/dist/cli/ux.d.ts +0 -43
  84. package/dist/cli/ux.d.ts.map +0 -1
  85. package/dist/cli/ux.js +0 -114
  86. package/dist/cli/ux.js.map +0 -1
  87. package/dist/cli.d.ts +0 -3
  88. package/dist/cli.d.ts.map +0 -1
  89. package/dist/cli.js +0 -35
  90. package/dist/cli.js.map +0 -1
  91. package/dist/clients/claude-client-apply.d.ts +0 -8
  92. package/dist/clients/claude-client-apply.d.ts.map +0 -1
  93. package/dist/clients/claude-client-apply.js +0 -108
  94. package/dist/clients/claude-client-apply.js.map +0 -1
  95. package/dist/clients/claude-code.d.ts +0 -5
  96. package/dist/clients/claude-code.d.ts.map +0 -1
  97. package/dist/clients/claude-code.js +0 -189
  98. package/dist/clients/claude-code.js.map +0 -1
  99. package/dist/clients/claude-settings-guard.d.ts +0 -18
  100. package/dist/clients/claude-settings-guard.d.ts.map +0 -1
  101. package/dist/clients/codex-desktop-catalog.d.ts +0 -67
  102. package/dist/clients/codex-desktop-catalog.d.ts.map +0 -1
  103. package/dist/clients/codex-desktop-catalog.js +0 -212
  104. package/dist/clients/codex-desktop-catalog.js.map +0 -1
  105. package/dist/clients/codex.d.ts +0 -181
  106. package/dist/clients/codex.d.ts.map +0 -1
  107. package/dist/clients/codex.js +0 -783
  108. package/dist/clients/codex.js.map +0 -1
  109. package/dist/clients/env-files.d.ts +0 -14
  110. package/dist/clients/env-files.d.ts.map +0 -1
  111. package/dist/clients/env-files.js +0 -50
  112. package/dist/clients/env-files.js.map +0 -1
  113. package/dist/clients/gemini-client-utils.d.ts +0 -4
  114. package/dist/clients/gemini-client-utils.d.ts.map +0 -1
  115. package/dist/clients/gemini-client-utils.js +0 -33
  116. package/dist/clients/gemini-client-utils.js.map +0 -1
  117. package/dist/clients/gemini.d.ts +0 -16
  118. package/dist/clients/gemini.d.ts.map +0 -1
  119. package/dist/clients/gemini.js +0 -233
  120. package/dist/clients/gemini.js.map +0 -1
  121. package/dist/clients/index.d.ts +0 -14
  122. package/dist/clients/index.d.ts.map +0 -1
  123. package/dist/clients/index.js +0 -18
  124. package/dist/clients/index.js.map +0 -1
  125. package/dist/clients/isolation.d.ts +0 -28
  126. package/dist/clients/isolation.d.ts.map +0 -1
  127. package/dist/clients/isolation.js +0 -131
  128. package/dist/clients/isolation.js.map +0 -1
  129. package/dist/clients/kiro.d.ts +0 -10
  130. package/dist/clients/kiro.d.ts.map +0 -1
  131. package/dist/clients/kiro.js +0 -168
  132. package/dist/clients/kiro.js.map +0 -1
  133. package/dist/clients/model-roles.d.ts +0 -58
  134. package/dist/clients/model-roles.d.ts.map +0 -1
  135. package/dist/clients/model-roles.js +0 -139
  136. package/dist/clients/model-roles.js.map +0 -1
  137. package/dist/clients/registry.d.ts +0 -7
  138. package/dist/clients/registry.d.ts.map +0 -1
  139. package/dist/clients/registry.js +0 -16
  140. package/dist/clients/registry.js.map +0 -1
  141. package/dist/clients/resolve.d.ts +0 -27
  142. package/dist/clients/resolve.d.ts.map +0 -1
  143. package/dist/clients/resolve.js +0 -49
  144. package/dist/clients/resolve.js.map +0 -1
  145. package/dist/core/account-codec.d.ts +0 -32
  146. package/dist/core/account-codec.d.ts.map +0 -1
  147. package/dist/core/account-codec.js +0 -134
  148. package/dist/core/account-codec.js.map +0 -1
  149. package/dist/core/account-transfer.d.ts +0 -20
  150. package/dist/core/account-transfer.d.ts.map +0 -1
  151. package/dist/core/account-transfer.js +0 -136
  152. package/dist/core/account-transfer.js.map +0 -1
  153. package/dist/core/activation-executor.d.ts +0 -72
  154. package/dist/core/activation-executor.d.ts.map +0 -1
  155. package/dist/core/activation-executor.js +0 -690
  156. package/dist/core/activation-executor.js.map +0 -1
  157. package/dist/core/activation-models.d.ts +0 -6
  158. package/dist/core/activation-models.d.ts.map +0 -1
  159. package/dist/core/activation-models.js +0 -33
  160. package/dist/core/activation-models.js.map +0 -1
  161. package/dist/core/activation-planner.d.ts +0 -38
  162. package/dist/core/activation-planner.d.ts.map +0 -1
  163. package/dist/core/activation-planner.js +0 -248
  164. package/dist/core/activation-planner.js.map +0 -1
  165. package/dist/core/activation-protocol.d.ts +0 -3
  166. package/dist/core/activation-protocol.d.ts.map +0 -1
  167. package/dist/core/activation-protocol.js +0 -9
  168. package/dist/core/activation-protocol.js.map +0 -1
  169. package/dist/core/activation-transport.d.ts +0 -15
  170. package/dist/core/activation-transport.d.ts.map +0 -1
  171. package/dist/core/activation-transport.js +0 -23
  172. package/dist/core/activation-transport.js.map +0 -1
  173. package/dist/core/app.d.ts +0 -149
  174. package/dist/core/app.d.ts.map +0 -1
  175. package/dist/core/app.js +0 -372
  176. package/dist/core/app.js.map +0 -1
  177. package/dist/core/binding-service.d.ts +0 -93
  178. package/dist/core/binding-service.d.ts.map +0 -1
  179. package/dist/core/binding-service.js +0 -281
  180. package/dist/core/binding-service.js.map +0 -1
  181. package/dist/core/binding-store.d.ts +0 -23
  182. package/dist/core/binding-store.d.ts.map +0 -1
  183. package/dist/core/binding-store.js +0 -154
  184. package/dist/core/binding-store.js.map +0 -1
  185. package/dist/core/brand.d.ts +0 -18
  186. package/dist/core/brand.d.ts.map +0 -1
  187. package/dist/core/brand.js +0 -22
  188. package/dist/core/brand.js.map +0 -1
  189. package/dist/core/capabilities.d.ts +0 -30
  190. package/dist/core/capabilities.d.ts.map +0 -1
  191. package/dist/core/capabilities.js +0 -27
  192. package/dist/core/capabilities.js.map +0 -1
  193. package/dist/core/client-state-store.d.ts +0 -17
  194. package/dist/core/client-state-store.d.ts.map +0 -1
  195. package/dist/core/client-state-store.js +0 -47
  196. package/dist/core/client-state-store.js.map +0 -1
  197. package/dist/core/codec/account.d.ts +0 -52
  198. package/dist/core/codec/account.d.ts.map +0 -1
  199. package/dist/core/codec/account.js +0 -69
  200. package/dist/core/codec/account.js.map +0 -1
  201. package/dist/core/codec/bindings.d.ts +0 -38
  202. package/dist/core/codec/bindings.d.ts.map +0 -1
  203. package/dist/core/codec/bindings.js +0 -79
  204. package/dist/core/codec/bindings.js.map +0 -1
  205. package/dist/core/codec/operations.d.ts +0 -36
  206. package/dist/core/codec/operations.d.ts.map +0 -1
  207. package/dist/core/codec/operations.js +0 -82
  208. package/dist/core/codec/operations.js.map +0 -1
  209. package/dist/core/codec/primitives.d.ts +0 -59
  210. package/dist/core/codec/primitives.d.ts.map +0 -1
  211. package/dist/core/codec/primitives.js +0 -123
  212. package/dist/core/codec/primitives.js.map +0 -1
  213. package/dist/core/codec/proxy-hub.d.ts +0 -43
  214. package/dist/core/codec/proxy-hub.d.ts.map +0 -1
  215. package/dist/core/codec/proxy-hub.js +0 -69
  216. package/dist/core/codec/proxy-hub.js.map +0 -1
  217. package/dist/core/codec/runtime.d.ts +0 -41
  218. package/dist/core/codec/runtime.d.ts.map +0 -1
  219. package/dist/core/codec/runtime.js +0 -66
  220. package/dist/core/codec/runtime.js.map +0 -1
  221. package/dist/core/codec.d.ts +0 -43
  222. package/dist/core/codec.d.ts.map +0 -1
  223. package/dist/core/codec.js +0 -69
  224. package/dist/core/codec.js.map +0 -1
  225. package/dist/core/codex-live-config.d.ts +0 -92
  226. package/dist/core/codex-live-config.d.ts.map +0 -1
  227. package/dist/core/codex-live-config.js +0 -263
  228. package/dist/core/codex-live-config.js.map +0 -1
  229. package/dist/core/config-service.d.ts +0 -35
  230. package/dist/core/config-service.d.ts.map +0 -1
  231. package/dist/core/config-service.js +0 -87
  232. package/dist/core/config-service.js.map +0 -1
  233. package/dist/core/config.d.ts +0 -14
  234. package/dist/core/config.d.ts.map +0 -1
  235. package/dist/core/config.js +0 -45
  236. package/dist/core/config.js.map +0 -1
  237. package/dist/core/db-schema.d.ts +0 -30
  238. package/dist/core/db-schema.d.ts.map +0 -1
  239. package/dist/core/db-schema.js +0 -278
  240. package/dist/core/db-schema.js.map +0 -1
  241. package/dist/core/db.d.ts +0 -72
  242. package/dist/core/db.d.ts.map +0 -1
  243. package/dist/core/db.js +0 -192
  244. package/dist/core/db.js.map +0 -1
  245. package/dist/core/doctor-fixes.d.ts +0 -3
  246. package/dist/core/doctor-fixes.d.ts.map +0 -1
  247. package/dist/core/doctor-fixes.js +0 -102
  248. package/dist/core/doctor-fixes.js.map +0 -1
  249. package/dist/core/doctor-format.d.ts +0 -10
  250. package/dist/core/doctor-format.d.ts.map +0 -1
  251. package/dist/core/doctor-format.js +0 -45
  252. package/dist/core/doctor-format.js.map +0 -1
  253. package/dist/core/doctor-report.d.ts +0 -3
  254. package/dist/core/doctor-report.d.ts.map +0 -1
  255. package/dist/core/doctor-report.js +0 -174
  256. package/dist/core/doctor-report.js.map +0 -1
  257. package/dist/core/doctor-scan.d.ts +0 -7
  258. package/dist/core/doctor-scan.d.ts.map +0 -1
  259. package/dist/core/doctor-scan.js +0 -139
  260. package/dist/core/doctor-scan.js.map +0 -1
  261. package/dist/core/doctor-types.d.ts +0 -89
  262. package/dist/core/doctor-types.d.ts.map +0 -1
  263. package/dist/core/doctor-types.js +0 -14
  264. package/dist/core/doctor-types.js.map +0 -1
  265. package/dist/core/doctor-utils.d.ts +0 -3
  266. package/dist/core/doctor-utils.d.ts.map +0 -1
  267. package/dist/core/doctor-utils.js +0 -36
  268. package/dist/core/doctor-utils.js.map +0 -1
  269. package/dist/core/doctor.d.ts +0 -14
  270. package/dist/core/doctor.d.ts.map +0 -1
  271. package/dist/core/doctor.js +0 -127
  272. package/dist/core/doctor.js.map +0 -1
  273. package/dist/core/events.d.ts +0 -58
  274. package/dist/core/events.d.ts.map +0 -1
  275. package/dist/core/events.js +0 -88
  276. package/dist/core/events.js.map +0 -1
  277. package/dist/core/journal.d.ts +0 -23
  278. package/dist/core/journal.d.ts.map +0 -1
  279. package/dist/core/journal.js +0 -93
  280. package/dist/core/journal.js.map +0 -1
  281. package/dist/core/lease-store.d.ts +0 -22
  282. package/dist/core/lease-store.d.ts.map +0 -1
  283. package/dist/core/lease-store.js +0 -81
  284. package/dist/core/lease-store.js.map +0 -1
  285. package/dist/core/migrate-bindings.d.ts +0 -10
  286. package/dist/core/migrate-bindings.d.ts.map +0 -1
  287. package/dist/core/migrate-bindings.js +0 -98
  288. package/dist/core/migrate-bindings.js.map +0 -1
  289. package/dist/core/migrate-fs.d.ts +0 -11
  290. package/dist/core/migrate-fs.d.ts.map +0 -1
  291. package/dist/core/migrate-fs.js +0 -184
  292. package/dist/core/migrate-fs.js.map +0 -1
  293. package/dist/core/model-cache-store.d.ts +0 -27
  294. package/dist/core/model-cache-store.d.ts.map +0 -1
  295. package/dist/core/model-cache-store.js +0 -50
  296. package/dist/core/model-cache-store.js.map +0 -1
  297. package/dist/core/model-discovery.d.ts +0 -66
  298. package/dist/core/model-discovery.d.ts.map +0 -1
  299. package/dist/core/model-discovery.js +0 -127
  300. package/dist/core/model-discovery.js.map +0 -1
  301. package/dist/core/model-policy.d.ts +0 -40
  302. package/dist/core/model-policy.d.ts.map +0 -1
  303. package/dist/core/model-policy.js +0 -77
  304. package/dist/core/model-policy.js.map +0 -1
  305. package/dist/core/model-roles.d.ts +0 -9
  306. package/dist/core/model-roles.d.ts.map +0 -1
  307. package/dist/core/model-roles.js +0 -20
  308. package/dist/core/model-roles.js.map +0 -1
  309. package/dist/core/mutation-lock.d.ts +0 -31
  310. package/dist/core/mutation-lock.d.ts.map +0 -1
  311. package/dist/core/mutation-lock.js +0 -69
  312. package/dist/core/mutation-lock.js.map +0 -1
  313. package/dist/core/paths.d.ts +0 -49
  314. package/dist/core/paths.d.ts.map +0 -1
  315. package/dist/core/paths.js +0 -110
  316. package/dist/core/paths.js.map +0 -1
  317. package/dist/core/plugin-loader.d.ts +0 -40
  318. package/dist/core/plugin-loader.d.ts.map +0 -1
  319. package/dist/core/plugin-loader.js +0 -184
  320. package/dist/core/plugin-loader.js.map +0 -1
  321. package/dist/core/plugin-service.d.ts +0 -32
  322. package/dist/core/plugin-service.d.ts.map +0 -1
  323. package/dist/core/plugin-service.js +0 -110
  324. package/dist/core/plugin-service.js.map +0 -1
  325. package/dist/core/plugin-store.d.ts +0 -18
  326. package/dist/core/plugin-store.d.ts.map +0 -1
  327. package/dist/core/plugin-store.js +0 -50
  328. package/dist/core/plugin-store.js.map +0 -1
  329. package/dist/core/pool-store.d.ts +0 -44
  330. package/dist/core/pool-store.d.ts.map +0 -1
  331. package/dist/core/pool-store.js +0 -198
  332. package/dist/core/pool-store.js.map +0 -1
  333. package/dist/core/preset-store.d.ts +0 -29
  334. package/dist/core/preset-store.d.ts.map +0 -1
  335. package/dist/core/preset-store.js +0 -105
  336. package/dist/core/preset-store.js.map +0 -1
  337. package/dist/core/profile-service.d.ts +0 -50
  338. package/dist/core/profile-service.d.ts.map +0 -1
  339. package/dist/core/profile-service.js +0 -149
  340. package/dist/core/profile-service.js.map +0 -1
  341. package/dist/core/profile-store.d.ts +0 -20
  342. package/dist/core/profile-store.d.ts.map +0 -1
  343. package/dist/core/profile-store.js +0 -92
  344. package/dist/core/profile-store.js.map +0 -1
  345. package/dist/core/profile-synth.d.ts +0 -24
  346. package/dist/core/profile-synth.d.ts.map +0 -1
  347. package/dist/core/profile-synth.js +0 -30
  348. package/dist/core/profile-synth.js.map +0 -1
  349. package/dist/core/project-root.d.ts +0 -7
  350. package/dist/core/project-root.d.ts.map +0 -1
  351. package/dist/core/project-root.js +0 -23
  352. package/dist/core/project-root.js.map +0 -1
  353. package/dist/core/proxy-hub-cli.d.ts +0 -3
  354. package/dist/core/proxy-hub-cli.d.ts.map +0 -1
  355. package/dist/core/proxy-hub-cli.js +0 -80
  356. package/dist/core/proxy-hub-cli.js.map +0 -1
  357. package/dist/core/proxy-hub-routes.d.ts +0 -22
  358. package/dist/core/proxy-hub-routes.d.ts.map +0 -1
  359. package/dist/core/proxy-hub-routes.js +0 -92
  360. package/dist/core/proxy-hub-routes.js.map +0 -1
  361. package/dist/core/proxy-hub-server.d.ts +0 -59
  362. package/dist/core/proxy-hub-server.d.ts.map +0 -1
  363. package/dist/core/proxy-hub-server.js +0 -409
  364. package/dist/core/proxy-hub-server.js.map +0 -1
  365. package/dist/core/proxy-hub-service.d.ts +0 -97
  366. package/dist/core/proxy-hub-service.d.ts.map +0 -1
  367. package/dist/core/proxy-hub-service.js +0 -553
  368. package/dist/core/proxy-hub-service.js.map +0 -1
  369. package/dist/core/proxy-hub-store.d.ts +0 -28
  370. package/dist/core/proxy-hub-store.d.ts.map +0 -1
  371. package/dist/core/proxy-hub-store.js +0 -152
  372. package/dist/core/proxy-hub-store.js.map +0 -1
  373. package/dist/core/proxy-lifecycle.d.ts +0 -26
  374. package/dist/core/proxy-lifecycle.d.ts.map +0 -1
  375. package/dist/core/proxy-lifecycle.js +0 -33
  376. package/dist/core/proxy-lifecycle.js.map +0 -1
  377. package/dist/core/proxy-ports.d.ts +0 -50
  378. package/dist/core/proxy-ports.d.ts.map +0 -1
  379. package/dist/core/proxy-ports.js +0 -86
  380. package/dist/core/proxy-ports.js.map +0 -1
  381. package/dist/core/proxy-service.d.ts +0 -184
  382. package/dist/core/proxy-service.d.ts.map +0 -1
  383. package/dist/core/proxy-service.js +0 -860
  384. package/dist/core/proxy-service.js.map +0 -1
  385. package/dist/core/quota-guard-policy.d.ts +0 -8
  386. package/dist/core/quota-guard-policy.d.ts.map +0 -1
  387. package/dist/core/quota-guard-policy.js +0 -21
  388. package/dist/core/quota-guard-policy.js.map +0 -1
  389. package/dist/core/realign-proxy-clients.d.ts +0 -19
  390. package/dist/core/realign-proxy-clients.d.ts.map +0 -1
  391. package/dist/core/realign-proxy-clients.js +0 -40
  392. package/dist/core/realign-proxy-clients.js.map +0 -1
  393. package/dist/core/refs.d.ts +0 -84
  394. package/dist/core/refs.d.ts.map +0 -1
  395. package/dist/core/refs.js +0 -250
  396. package/dist/core/refs.js.map +0 -1
  397. package/dist/core/registry.d.ts +0 -46
  398. package/dist/core/registry.d.ts.map +0 -1
  399. package/dist/core/registry.js +0 -70
  400. package/dist/core/registry.js.map +0 -1
  401. package/dist/core/resolve-source.d.ts +0 -54
  402. package/dist/core/resolve-source.d.ts.map +0 -1
  403. package/dist/core/resolve-source.js +0 -148
  404. package/dist/core/resolve-source.js.map +0 -1
  405. package/dist/core/runtime-service.d.ts +0 -158
  406. package/dist/core/runtime-service.d.ts.map +0 -1
  407. package/dist/core/runtime-service.js +0 -422
  408. package/dist/core/runtime-service.js.map +0 -1
  409. package/dist/core/service.d.ts +0 -200
  410. package/dist/core/service.d.ts.map +0 -1
  411. package/dist/core/service.js +0 -643
  412. package/dist/core/service.js.map +0 -1
  413. package/dist/core/store-snapshot.d.ts +0 -10
  414. package/dist/core/store-snapshot.d.ts.map +0 -1
  415. package/dist/core/store-snapshot.js +0 -79
  416. package/dist/core/store-snapshot.js.map +0 -1
  417. package/dist/core/store.d.ts +0 -68
  418. package/dist/core/store.d.ts.map +0 -1
  419. package/dist/core/store.js +0 -159
  420. package/dist/core/store.js.map +0 -1
  421. package/dist/core/tray-runtime.d.ts +0 -15
  422. package/dist/core/tray-runtime.d.ts.map +0 -1
  423. package/dist/core/tray-runtime.js +0 -33
  424. package/dist/core/tray-runtime.js.map +0 -1
  425. package/dist/core/tray-settings-service.d.ts +0 -7
  426. package/dist/core/tray-settings-service.d.ts.map +0 -1
  427. package/dist/core/tray-settings-service.js +0 -24
  428. package/dist/core/tray-settings-service.js.map +0 -1
  429. package/dist/core/update.d.ts +0 -26
  430. package/dist/core/update.d.ts.map +0 -1
  431. package/dist/core/update.js +0 -128
  432. package/dist/core/update.js.map +0 -1
  433. package/dist/index.d.ts +0 -12
  434. package/dist/index.d.ts.map +0 -1
  435. package/dist/index.js +0 -7
  436. package/dist/network/egress/allowlist.d.ts +0 -2
  437. package/dist/network/egress/allowlist.d.ts.map +0 -1
  438. package/dist/network/egress/allowlist.js +0 -14
  439. package/dist/network/egress/allowlist.js.map +0 -1
  440. package/dist/network/egress/direct.d.ts +0 -17
  441. package/dist/network/egress/direct.d.ts.map +0 -1
  442. package/dist/network/egress/direct.js +0 -28
  443. package/dist/network/egress/direct.js.map +0 -1
  444. package/dist/network/egress/errors.d.ts +0 -4
  445. package/dist/network/egress/errors.d.ts.map +0 -1
  446. package/dist/network/egress/errors.js +0 -8
  447. package/dist/network/egress/errors.js.map +0 -1
  448. package/dist/network/egress/index.d.ts +0 -6
  449. package/dist/network/egress/index.d.ts.map +0 -1
  450. package/dist/network/egress/index.js +0 -11
  451. package/dist/network/egress/index.js.map +0 -1
  452. package/dist/network/egress/types.d.ts +0 -16
  453. package/dist/network/egress/types.d.ts.map +0 -1
  454. package/dist/presentation/client-name.d.ts +0 -14
  455. package/dist/presentation/client-name.d.ts.map +0 -1
  456. package/dist/presentation/client-name.js +0 -22
  457. package/dist/presentation/client-name.js.map +0 -1
  458. package/dist/presentation/layout.d.ts +0 -7
  459. package/dist/presentation/layout.d.ts.map +0 -1
  460. package/dist/presentation/layout.js +0 -10
  461. package/dist/presentation/layout.js.map +0 -1
  462. package/dist/providers/auth-fingerprint.d.ts +0 -56
  463. package/dist/providers/auth-fingerprint.d.ts.map +0 -1
  464. package/dist/providers/auth-fingerprint.js +0 -163
  465. package/dist/providers/auth-fingerprint.js.map +0 -1
  466. package/dist/providers/claude.d.ts +0 -43
  467. package/dist/providers/claude.d.ts.map +0 -1
  468. package/dist/providers/claude.js +0 -191
  469. package/dist/providers/claude.js.map +0 -1
  470. package/dist/providers/codex-identity.d.ts +0 -13
  471. package/dist/providers/codex-identity.d.ts.map +0 -1
  472. package/dist/providers/codex-identity.js +0 -69
  473. package/dist/providers/codex-identity.js.map +0 -1
  474. package/dist/providers/codex-refresh.d.ts +0 -30
  475. package/dist/providers/codex-refresh.d.ts.map +0 -1
  476. package/dist/providers/codex-refresh.js +0 -64
  477. package/dist/providers/codex-refresh.js.map +0 -1
  478. package/dist/providers/codex-usage.d.ts +0 -3
  479. package/dist/providers/codex-usage.d.ts.map +0 -1
  480. package/dist/providers/codex-usage.js +0 -42
  481. package/dist/providers/codex-usage.js.map +0 -1
  482. package/dist/providers/codex.d.ts +0 -61
  483. package/dist/providers/codex.d.ts.map +0 -1
  484. package/dist/providers/codex.js +0 -212
  485. package/dist/providers/codex.js.map +0 -1
  486. package/dist/providers/gemini-antigravity-oauth.d.ts +0 -83
  487. package/dist/providers/gemini-antigravity-oauth.d.ts.map +0 -1
  488. package/dist/providers/gemini-antigravity-oauth.js +0 -343
  489. package/dist/providers/gemini-antigravity-oauth.js.map +0 -1
  490. package/dist/providers/gemini-antigravity-state.d.ts +0 -35
  491. package/dist/providers/gemini-antigravity-state.d.ts.map +0 -1
  492. package/dist/providers/gemini-antigravity-state.js +0 -433
  493. package/dist/providers/gemini-antigravity-state.js.map +0 -1
  494. package/dist/providers/gemini-env.d.ts +0 -8
  495. package/dist/providers/gemini-env.d.ts.map +0 -1
  496. package/dist/providers/gemini-env.js +0 -78
  497. package/dist/providers/gemini-env.js.map +0 -1
  498. package/dist/providers/gemini-identity.d.ts +0 -2
  499. package/dist/providers/gemini-identity.d.ts.map +0 -1
  500. package/dist/providers/gemini-identity.js +0 -14
  501. package/dist/providers/gemini-identity.js.map +0 -1
  502. package/dist/providers/gemini-proxy/main.d.ts +0 -3
  503. package/dist/providers/gemini-proxy/main.d.ts.map +0 -1
  504. package/dist/providers/gemini-proxy/main.js +0 -176
  505. package/dist/providers/gemini-proxy/main.js.map +0 -1
  506. package/dist/providers/gemini-proxy/server.d.ts +0 -57
  507. package/dist/providers/gemini-proxy/server.d.ts.map +0 -1
  508. package/dist/providers/gemini-proxy/server.js +0 -1240
  509. package/dist/providers/gemini-proxy/server.js.map +0 -1
  510. package/dist/providers/gemini-proxy-entry.d.ts +0 -2
  511. package/dist/providers/gemini-proxy-entry.d.ts.map +0 -1
  512. package/dist/providers/gemini-proxy-entry.js +0 -16
  513. package/dist/providers/gemini-proxy-entry.js.map +0 -1
  514. package/dist/providers/gemini-proxy-lifecycle.d.ts +0 -11
  515. package/dist/providers/gemini-proxy-lifecycle.d.ts.map +0 -1
  516. package/dist/providers/gemini-proxy-lifecycle.js +0 -131
  517. package/dist/providers/gemini-proxy-lifecycle.js.map +0 -1
  518. package/dist/providers/gemini.d.ts +0 -137
  519. package/dist/providers/gemini.d.ts.map +0 -1
  520. package/dist/providers/gemini.js +0 -471
  521. package/dist/providers/gemini.js.map +0 -1
  522. package/dist/providers/grok-proxy/auth.d.ts +0 -27
  523. package/dist/providers/grok-proxy/auth.d.ts.map +0 -1
  524. package/dist/providers/grok-proxy/auth.js +0 -123
  525. package/dist/providers/grok-proxy/auth.js.map +0 -1
  526. package/dist/providers/grok-proxy/main.d.ts +0 -3
  527. package/dist/providers/grok-proxy/main.d.ts.map +0 -1
  528. package/dist/providers/grok-proxy/main.js +0 -111
  529. package/dist/providers/grok-proxy/main.js.map +0 -1
  530. package/dist/providers/grok-proxy/server.d.ts +0 -46
  531. package/dist/providers/grok-proxy/server.d.ts.map +0 -1
  532. package/dist/providers/grok-proxy/server.js +0 -595
  533. package/dist/providers/grok-proxy/server.js.map +0 -1
  534. package/dist/providers/grok.d.ts +0 -38
  535. package/dist/providers/grok.d.ts.map +0 -1
  536. package/dist/providers/grok.js +0 -250
  537. package/dist/providers/grok.js.map +0 -1
  538. package/dist/providers/index.d.ts +0 -14
  539. package/dist/providers/index.d.ts.map +0 -1
  540. package/dist/providers/index.js +0 -23
  541. package/dist/providers/index.js.map +0 -1
  542. package/dist/providers/kiro-secret-store.d.ts +0 -39
  543. package/dist/providers/kiro-secret-store.d.ts.map +0 -1
  544. package/dist/providers/kiro-secret-store.js +0 -168
  545. package/dist/providers/kiro-secret-store.js.map +0 -1
  546. package/dist/providers/kiro.d.ts +0 -50
  547. package/dist/providers/kiro.d.ts.map +0 -1
  548. package/dist/providers/kiro.js +0 -373
  549. package/dist/providers/kiro.js.map +0 -1
  550. package/dist/providers/model-policy.d.ts +0 -15
  551. package/dist/providers/model-policy.d.ts.map +0 -1
  552. package/dist/providers/model-policy.js +0 -26
  553. package/dist/providers/model-policy.js.map +0 -1
  554. package/dist/providers/opencode-auth.d.ts +0 -67
  555. package/dist/providers/opencode-auth.d.ts.map +0 -1
  556. package/dist/providers/opencode-auth.js +0 -146
  557. package/dist/providers/opencode-auth.js.map +0 -1
  558. package/dist/providers/opencode-cli-entry.d.ts +0 -36
  559. package/dist/providers/opencode-cli-entry.d.ts.map +0 -1
  560. package/dist/providers/opencode-cli-entry.js +0 -90
  561. package/dist/providers/opencode-cli-entry.js.map +0 -1
  562. package/dist/providers/opencode-proxy/abort.d.ts +0 -8
  563. package/dist/providers/opencode-proxy/abort.d.ts.map +0 -1
  564. package/dist/providers/opencode-proxy/abort.js +0 -42
  565. package/dist/providers/opencode-proxy/abort.js.map +0 -1
  566. package/dist/providers/opencode-proxy/anthropic-handler.d.ts +0 -4
  567. package/dist/providers/opencode-proxy/anthropic-handler.d.ts.map +0 -1
  568. package/dist/providers/opencode-proxy/anthropic-handler.js +0 -108
  569. package/dist/providers/opencode-proxy/anthropic-handler.js.map +0 -1
  570. package/dist/providers/opencode-proxy/auth.d.ts +0 -38
  571. package/dist/providers/opencode-proxy/auth.d.ts.map +0 -1
  572. package/dist/providers/opencode-proxy/auth.js +0 -128
  573. package/dist/providers/opencode-proxy/auth.js.map +0 -1
  574. package/dist/providers/opencode-proxy/body.d.ts +0 -9
  575. package/dist/providers/opencode-proxy/body.d.ts.map +0 -1
  576. package/dist/providers/opencode-proxy/body.js +0 -69
  577. package/dist/providers/opencode-proxy/body.js.map +0 -1
  578. package/dist/providers/opencode-proxy/catalog-handlers.d.ts +0 -7
  579. package/dist/providers/opencode-proxy/catalog-handlers.d.ts.map +0 -1
  580. package/dist/providers/opencode-proxy/catalog-handlers.js +0 -132
  581. package/dist/providers/opencode-proxy/catalog-handlers.js.map +0 -1
  582. package/dist/providers/opencode-proxy/catalog.d.ts +0 -41
  583. package/dist/providers/opencode-proxy/catalog.d.ts.map +0 -1
  584. package/dist/providers/opencode-proxy/catalog.js +0 -146
  585. package/dist/providers/opencode-proxy/catalog.js.map +0 -1
  586. package/dist/providers/opencode-proxy/cli.d.ts +0 -2
  587. package/dist/providers/opencode-proxy/cli.d.ts.map +0 -1
  588. package/dist/providers/opencode-proxy/cli.js +0 -162
  589. package/dist/providers/opencode-proxy/cli.js.map +0 -1
  590. package/dist/providers/opencode-proxy/constants.d.ts +0 -13
  591. package/dist/providers/opencode-proxy/constants.d.ts.map +0 -1
  592. package/dist/providers/opencode-proxy/constants.js +0 -15
  593. package/dist/providers/opencode-proxy/constants.js.map +0 -1
  594. package/dist/providers/opencode-proxy/context-budget.d.ts +0 -31
  595. package/dist/providers/opencode-proxy/context-budget.d.ts.map +0 -1
  596. package/dist/providers/opencode-proxy/context-budget.js +0 -165
  597. package/dist/providers/opencode-proxy/context-budget.js.map +0 -1
  598. package/dist/providers/opencode-proxy/errors.d.ts +0 -5
  599. package/dist/providers/opencode-proxy/errors.d.ts.map +0 -1
  600. package/dist/providers/opencode-proxy/errors.js +0 -45
  601. package/dist/providers/opencode-proxy/errors.js.map +0 -1
  602. package/dist/providers/opencode-proxy/forwarders.d.ts +0 -7
  603. package/dist/providers/opencode-proxy/forwarders.d.ts.map +0 -1
  604. package/dist/providers/opencode-proxy/forwarders.js +0 -214
  605. package/dist/providers/opencode-proxy/forwarders.js.map +0 -1
  606. package/dist/providers/opencode-proxy/http.d.ts +0 -11
  607. package/dist/providers/opencode-proxy/http.d.ts.map +0 -1
  608. package/dist/providers/opencode-proxy/http.js +0 -97
  609. package/dist/providers/opencode-proxy/http.js.map +0 -1
  610. package/dist/providers/opencode-proxy/models.d.ts +0 -42
  611. package/dist/providers/opencode-proxy/models.d.ts.map +0 -1
  612. package/dist/providers/opencode-proxy/models.js +0 -148
  613. package/dist/providers/opencode-proxy/models.js.map +0 -1
  614. package/dist/providers/opencode-proxy/openai-handler.d.ts +0 -5
  615. package/dist/providers/opencode-proxy/openai-handler.d.ts.map +0 -1
  616. package/dist/providers/opencode-proxy/openai-handler.js +0 -115
  617. package/dist/providers/opencode-proxy/openai-handler.js.map +0 -1
  618. package/dist/providers/opencode-proxy/router.d.ts +0 -4
  619. package/dist/providers/opencode-proxy/router.d.ts.map +0 -1
  620. package/dist/providers/opencode-proxy/router.js +0 -65
  621. package/dist/providers/opencode-proxy/router.js.map +0 -1
  622. package/dist/providers/opencode-proxy/runtime.d.ts +0 -23
  623. package/dist/providers/opencode-proxy/runtime.d.ts.map +0 -1
  624. package/dist/providers/opencode-proxy/runtime.js +0 -158
  625. package/dist/providers/opencode-proxy/runtime.js.map +0 -1
  626. package/dist/providers/opencode-proxy/server.d.ts +0 -13
  627. package/dist/providers/opencode-proxy/server.d.ts.map +0 -1
  628. package/dist/providers/opencode-proxy/server.js +0 -52
  629. package/dist/providers/opencode-proxy/server.js.map +0 -1
  630. package/dist/providers/opencode-proxy/stream.d.ts +0 -4
  631. package/dist/providers/opencode-proxy/stream.d.ts.map +0 -1
  632. package/dist/providers/opencode-proxy/stream.js +0 -71
  633. package/dist/providers/opencode-proxy/stream.js.map +0 -1
  634. package/dist/providers/opencode-proxy/translate-stream.d.ts +0 -3
  635. package/dist/providers/opencode-proxy/translate-stream.d.ts.map +0 -1
  636. package/dist/providers/opencode-proxy/translate-stream.js +0 -205
  637. package/dist/providers/opencode-proxy/translate-stream.js.map +0 -1
  638. package/dist/providers/opencode-proxy/translate.d.ts +0 -11
  639. package/dist/providers/opencode-proxy/translate.d.ts.map +0 -1
  640. package/dist/providers/opencode-proxy/translate.js +0 -250
  641. package/dist/providers/opencode-proxy/translate.js.map +0 -1
  642. package/dist/providers/opencode-proxy/types.d.ts +0 -110
  643. package/dist/providers/opencode-proxy/types.d.ts.map +0 -1
  644. package/dist/providers/opencode-proxy/types.js +0 -38
  645. package/dist/providers/opencode-proxy/types.js.map +0 -1
  646. package/dist/providers/opencode-proxy-lifecycle.d.ts +0 -11
  647. package/dist/providers/opencode-proxy-lifecycle.d.ts.map +0 -1
  648. package/dist/providers/opencode-proxy-lifecycle.js +0 -144
  649. package/dist/providers/opencode-proxy-lifecycle.js.map +0 -1
  650. package/dist/providers/opencode.d.ts +0 -40
  651. package/dist/providers/opencode.d.ts.map +0 -1
  652. package/dist/providers/opencode.js +0 -190
  653. package/dist/providers/opencode.js.map +0 -1
  654. package/dist/providers/protocol/anthropic-convert.d.ts +0 -12
  655. package/dist/providers/protocol/anthropic-convert.d.ts.map +0 -1
  656. package/dist/providers/protocol/anthropic-convert.js +0 -113
  657. package/dist/providers/protocol/anthropic-convert.js.map +0 -1
  658. package/dist/providers/protocol/anthropic-helpers.d.ts +0 -13
  659. package/dist/providers/protocol/anthropic-helpers.d.ts.map +0 -1
  660. package/dist/providers/protocol/anthropic-helpers.js +0 -179
  661. package/dist/providers/protocol/anthropic-helpers.js.map +0 -1
  662. package/dist/providers/protocol/anthropic-stream-reader.d.ts +0 -13
  663. package/dist/providers/protocol/anthropic-stream-reader.d.ts.map +0 -1
  664. package/dist/providers/protocol/anthropic-stream-reader.js +0 -46
  665. package/dist/providers/protocol/anthropic-stream-reader.js.map +0 -1
  666. package/dist/providers/protocol/anthropic-stream.d.ts +0 -7
  667. package/dist/providers/protocol/anthropic-stream.d.ts.map +0 -1
  668. package/dist/providers/protocol/anthropic-stream.js +0 -318
  669. package/dist/providers/protocol/anthropic-stream.js.map +0 -1
  670. package/dist/providers/protocol/anthropic-types.d.ts +0 -240
  671. package/dist/providers/protocol/anthropic-types.d.ts.map +0 -1
  672. package/dist/providers/protocol/anthropic.d.ts +0 -20
  673. package/dist/providers/protocol/anthropic.d.ts.map +0 -1
  674. package/dist/providers/protocol/gemini/translate-anthropic.d.ts +0 -15
  675. package/dist/providers/protocol/gemini/translate-anthropic.d.ts.map +0 -1
  676. package/dist/providers/protocol/gemini/translate-anthropic.js +0 -84
  677. package/dist/providers/protocol/gemini/translate-anthropic.js.map +0 -1
  678. package/dist/providers/protocol/gemini/translate-chat.d.ts +0 -5
  679. package/dist/providers/protocol/gemini/translate-chat.d.ts.map +0 -1
  680. package/dist/providers/protocol/gemini/translate-chat.js +0 -142
  681. package/dist/providers/protocol/gemini/translate-chat.js.map +0 -1
  682. package/dist/providers/protocol/gemini/translate-models.d.ts +0 -40
  683. package/dist/providers/protocol/gemini/translate-models.d.ts.map +0 -1
  684. package/dist/providers/protocol/gemini/translate-models.js +0 -186
  685. package/dist/providers/protocol/gemini/translate-models.js.map +0 -1
  686. package/dist/providers/protocol/gemini/translate-responses.d.ts +0 -6
  687. package/dist/providers/protocol/gemini/translate-responses.d.ts.map +0 -1
  688. package/dist/providers/protocol/gemini/translate-responses.js +0 -187
  689. package/dist/providers/protocol/gemini/translate-responses.js.map +0 -1
  690. package/dist/providers/protocol/gemini/translate-schema.d.ts +0 -9
  691. package/dist/providers/protocol/gemini/translate-schema.d.ts.map +0 -1
  692. package/dist/providers/protocol/gemini/translate-schema.js +0 -48
  693. package/dist/providers/protocol/gemini/translate-schema.js.map +0 -1
  694. package/dist/providers/protocol/gemini/translate-shared.d.ts +0 -8
  695. package/dist/providers/protocol/gemini/translate-shared.d.ts.map +0 -1
  696. package/dist/providers/protocol/gemini/translate-shared.js +0 -47
  697. package/dist/providers/protocol/gemini/translate-shared.js.map +0 -1
  698. package/dist/providers/protocol/gemini/translate-thinking.d.ts +0 -7
  699. package/dist/providers/protocol/gemini/translate-thinking.d.ts.map +0 -1
  700. package/dist/providers/protocol/gemini/translate-thinking.js +0 -65
  701. package/dist/providers/protocol/gemini/translate-thinking.js.map +0 -1
  702. package/dist/providers/protocol/gemini/translate-types.d.ts +0 -133
  703. package/dist/providers/protocol/gemini/translate-types.d.ts.map +0 -1
  704. package/dist/providers/protocol/gemini/translate.d.ts +0 -7
  705. package/dist/providers/protocol/gemini/translate.d.ts.map +0 -1
  706. package/dist/providers/protocol/json-schema.d.ts +0 -52
  707. package/dist/providers/protocol/json-schema.d.ts.map +0 -1
  708. package/dist/providers/protocol/json-schema.js +0 -189
  709. package/dist/providers/protocol/json-schema.js.map +0 -1
  710. package/dist/providers/protocol/token-estimate.d.ts +0 -15
  711. package/dist/providers/protocol/token-estimate.d.ts.map +0 -1
  712. package/dist/providers/protocol/token-estimate.js +0 -34
  713. package/dist/providers/protocol/token-estimate.js.map +0 -1
  714. package/dist/providers/proxy-hub-backend.d.ts +0 -4
  715. package/dist/providers/proxy-hub-backend.d.ts.map +0 -1
  716. package/dist/providers/proxy-hub-backend.js +0 -11
  717. package/dist/providers/proxy-hub-backend.js.map +0 -1
  718. package/dist/providers/proxy-process.d.ts +0 -35
  719. package/dist/providers/proxy-process.d.ts.map +0 -1
  720. package/dist/providers/proxy-process.js +0 -119
  721. package/dist/providers/proxy-process.js.map +0 -1
  722. package/dist/providers/proxy-shared.d.ts +0 -43
  723. package/dist/providers/proxy-shared.d.ts.map +0 -1
  724. package/dist/providers/proxy-shared.js +0 -128
  725. package/dist/providers/proxy-shared.js.map +0 -1
  726. package/dist/providers/quota-guard.d.ts +0 -49
  727. package/dist/providers/quota-guard.d.ts.map +0 -1
  728. package/dist/providers/quota-guard.js +0 -107
  729. package/dist/providers/quota-guard.js.map +0 -1
  730. package/dist/providers/reasoning.d.ts +0 -27
  731. package/dist/providers/reasoning.d.ts.map +0 -1
  732. package/dist/providers/reasoning.js +0 -61
  733. package/dist/providers/reasoning.js.map +0 -1
  734. package/dist/providers/upstream-policy.d.ts +0 -33
  735. package/dist/providers/upstream-policy.d.ts.map +0 -1
  736. package/dist/providers/upstream-policy.js +0 -97
  737. package/dist/providers/upstream-policy.js.map +0 -1
  738. package/dist/public-types.d.ts +0 -3
  739. package/dist/public-types.d.ts.map +0 -1
  740. package/dist/public.d.ts +0 -19
  741. package/dist/public.d.ts.map +0 -1
  742. package/dist/public.js +0 -16
  743. package/dist/public.js.map +0 -1
  744. package/dist/sources/account-adapters.d.ts +0 -64
  745. package/dist/sources/account-adapters.d.ts.map +0 -1
  746. package/dist/sources/account-adapters.js +0 -205
  747. package/dist/sources/account-adapters.js.map +0 -1
  748. package/dist/sources/gateway-adapters.d.ts +0 -26
  749. package/dist/sources/gateway-adapters.d.ts.map +0 -1
  750. package/dist/sources/gateway-adapters.js +0 -43
  751. package/dist/sources/gateway-adapters.js.map +0 -1
  752. package/dist/sources/kiro-proxy-bin.d.ts +0 -41
  753. package/dist/sources/kiro-proxy-bin.d.ts.map +0 -1
  754. package/dist/sources/kiro-proxy-bin.js +0 -140
  755. package/dist/sources/kiro-proxy-bin.js.map +0 -1
  756. package/dist/sources/proxy-hub-adapters.d.ts +0 -7
  757. package/dist/sources/proxy-hub-adapters.d.ts.map +0 -1
  758. package/dist/sources/proxy-hub-adapters.js +0 -26
  759. package/dist/sources/proxy-hub-adapters.js.map +0 -1
  760. package/dist/testing.d.ts +0 -9
  761. package/dist/testing.d.ts.map +0 -1
  762. package/dist/testing.js +0 -6
  763. package/dist/tray/AnyPickTray.swift +0 -3
  764. package/dist/tray/activity.d.ts +0 -18
  765. package/dist/tray/activity.d.ts.map +0 -1
  766. package/dist/tray/activity.js +0 -51
  767. package/dist/tray/activity.js.map +0 -1
  768. package/dist/tray/app-icons/icon-1024.png +0 -0
  769. package/dist/tray/app-icons/icon-128.png +0 -0
  770. package/dist/tray/app-icons/icon-16.png +0 -0
  771. package/dist/tray/app-icons/icon-256.png +0 -0
  772. package/dist/tray/app-icons/icon-32.png +0 -0
  773. package/dist/tray/app-icons/icon-512.png +0 -0
  774. package/dist/tray/app-icons/icon-64.png +0 -0
  775. package/dist/tray/icons/claude.svg +0 -1
  776. package/dist/tray/icons/googlegemini.svg +0 -1
  777. package/dist/tray/icons/grok.svg +0 -1
  778. package/dist/tray/icons/kiro.svg +0 -1
  779. package/dist/tray/icons/openai.svg +0 -1
  780. package/dist/tray/icons/opencode.svg +0 -1
  781. package/dist/tray/icons/openrouter.svg +0 -1
  782. package/dist/tray/model-role-actions.d.ts +0 -15
  783. package/dist/tray/model-role-actions.d.ts.map +0 -1
  784. package/dist/tray/model-role-actions.js +0 -41
  785. package/dist/tray/model-role-actions.js.map +0 -1
  786. package/dist/tray/native/AccountsPanel.swift +0 -434
  787. package/dist/tray/native/AppEntry.swift +0 -229
  788. package/dist/tray/native/MainWindow.swift +0 -300
  789. package/dist/tray/native/ManageFormChrome.swift +0 -332
  790. package/dist/tray/native/ManageForms.swift +0 -472
  791. package/dist/tray/native/ManagePanel.swift +0 -356
  792. package/dist/tray/native/Models.swift +0 -259
  793. package/dist/tray/native/ModelsEditor.swift +0 -390
  794. package/dist/tray/native/ModelsOverview.swift +0 -76
  795. package/dist/tray/native/ModelsPickers.swift +0 -273
  796. package/dist/tray/native/ModelsRoutePickers.swift +0 -718
  797. package/dist/tray/native/MonitorPanel.swift +0 -375
  798. package/dist/tray/native/ProxyPanel.swift +0 -326
  799. package/dist/tray/native/QuickActivityRow.swift +0 -40
  800. package/dist/tray/native/QuickNav.swift +0 -62
  801. package/dist/tray/native/QuickPanel.swift +0 -447
  802. package/dist/tray/native/QuickRouteRow.swift +0 -189
  803. package/dist/tray/native/QuickServiceRows.swift +0 -292
  804. package/dist/tray/native/RoutingIssues.swift +0 -293
  805. package/dist/tray/native/SettingsPanel.swift +0 -225
  806. package/dist/tray/native/SharedUI.swift +0 -681
  807. package/dist/tray/native/Store.swift +0 -540
  808. package/dist/tray/native/Theme.swift +0 -139
  809. package/dist/tray/native/TrayChrome.swift +0 -657
  810. package/dist/tray/native/TrayControls.swift +0 -475
  811. package/dist/tray/native/TrayPreferences.swift +0 -46
  812. package/dist/tray/native/sources.txt +0 -26
  813. package/dist/tray/native-sources.d.ts +0 -8
  814. package/dist/tray/native-sources.d.ts.map +0 -1
  815. package/dist/tray/native-sources.js +0 -19
  816. package/dist/tray/native-sources.js.map +0 -1
  817. package/dist/tray/protocol.d.ts +0 -79
  818. package/dist/tray/protocol.d.ts.map +0 -1
  819. package/dist/tray/protocol.js +0 -145
  820. package/dist/tray/protocol.js.map +0 -1
  821. package/dist/tray/settings.d.ts +0 -15
  822. package/dist/tray/settings.d.ts.map +0 -1
  823. package/dist/tray/settings.js +0 -72
  824. package/dist/tray/settings.js.map +0 -1
  825. package/dist/tray/snapshot-client-routes.d.ts +0 -11
  826. package/dist/tray/snapshot-client-routes.d.ts.map +0 -1
  827. package/dist/tray/snapshot-client-routes.js +0 -305
  828. package/dist/tray/snapshot-client-routes.js.map +0 -1
  829. package/dist/tray/snapshot-helpers.d.ts +0 -20
  830. package/dist/tray/snapshot-helpers.d.ts.map +0 -1
  831. package/dist/tray/snapshot-helpers.js +0 -74
  832. package/dist/tray/snapshot-helpers.js.map +0 -1
  833. package/dist/tray/snapshot-hub.d.ts +0 -7
  834. package/dist/tray/snapshot-hub.d.ts.map +0 -1
  835. package/dist/tray/snapshot-hub.js +0 -93
  836. package/dist/tray/snapshot-hub.js.map +0 -1
  837. package/dist/tray/snapshot-resources.d.ts +0 -19
  838. package/dist/tray/snapshot-resources.d.ts.map +0 -1
  839. package/dist/tray/snapshot-resources.js +0 -216
  840. package/dist/tray/snapshot-resources.js.map +0 -1
  841. package/dist/tray/snapshot-types.d.ts +0 -229
  842. package/dist/tray/snapshot-types.d.ts.map +0 -1
  843. package/dist/tray/snapshot-usage.d.ts +0 -9
  844. package/dist/tray/snapshot-usage.d.ts.map +0 -1
  845. package/dist/tray/snapshot-usage.js +0 -35
  846. package/dist/tray/snapshot-usage.js.map +0 -1
  847. package/dist/tray/snapshot.d.ts +0 -7
  848. package/dist/tray/snapshot.d.ts.map +0 -1
  849. package/dist/tray/snapshot.js +0 -48
  850. package/dist/tray/snapshot.js.map +0 -1
  851. package/dist/tray/supervisor-actions.d.ts +0 -19
  852. package/dist/tray/supervisor-actions.d.ts.map +0 -1
  853. package/dist/tray/supervisor-actions.js +0 -224
  854. package/dist/tray/supervisor-actions.js.map +0 -1
  855. package/dist/tray/supervisor-activity.d.ts +0 -5
  856. package/dist/tray/supervisor-activity.d.ts.map +0 -1
  857. package/dist/tray/supervisor-activity.js +0 -19
  858. package/dist/tray/supervisor-activity.js.map +0 -1
  859. package/dist/tray/supervisor-errors.d.ts +0 -9
  860. package/dist/tray/supervisor-errors.d.ts.map +0 -1
  861. package/dist/tray/supervisor-errors.js +0 -91
  862. package/dist/tray/supervisor-errors.js.map +0 -1
  863. package/dist/tray/supervisor-logs.d.ts +0 -6
  864. package/dist/tray/supervisor-logs.d.ts.map +0 -1
  865. package/dist/tray/supervisor-logs.js +0 -52
  866. package/dist/tray/supervisor-logs.js.map +0 -1
  867. package/dist/tray/supervisor-mutations.d.ts +0 -14
  868. package/dist/tray/supervisor-mutations.d.ts.map +0 -1
  869. package/dist/tray/supervisor-mutations.js +0 -218
  870. package/dist/tray/supervisor-mutations.js.map +0 -1
  871. package/dist/tray/supervisor-native.d.ts +0 -22
  872. package/dist/tray/supervisor-native.d.ts.map +0 -1
  873. package/dist/tray/supervisor-native.js +0 -227
  874. package/dist/tray/supervisor-native.js.map +0 -1
  875. package/dist/tray/supervisor-proxies.d.ts +0 -6
  876. package/dist/tray/supervisor-proxies.d.ts.map +0 -1
  877. package/dist/tray/supervisor-proxies.js +0 -37
  878. package/dist/tray/supervisor-proxies.js.map +0 -1
  879. package/dist/tray/supervisor-tauri.d.ts +0 -13
  880. package/dist/tray/supervisor-tauri.d.ts.map +0 -1
  881. package/dist/tray/supervisor-tauri.js +0 -36
  882. package/dist/tray/supervisor-tauri.js.map +0 -1
  883. package/dist/tray/supervisor.d.ts +0 -17
  884. package/dist/tray/supervisor.d.ts.map +0 -1
  885. package/dist/tray/supervisor.js +0 -372
  886. package/dist/tray/supervisor.js.map +0 -1
  887. package/dist/tray/terminal-launcher.d.ts +0 -12
  888. package/dist/tray/terminal-launcher.d.ts.map +0 -1
  889. package/dist/tray/terminal-launcher.js +0 -130
  890. package/dist/tray/terminal-launcher.js.map +0 -1
  891. package/dist/tui/actions/ensure-proxy-up.d.ts +0 -15
  892. package/dist/tui/actions/ensure-proxy-up.d.ts.map +0 -1
  893. package/dist/tui/actions/ensure-proxy-up.js +0 -41
  894. package/dist/tui/actions/ensure-proxy-up.js.map +0 -1
  895. package/dist/tui/actions/use-account-actions.d.ts +0 -35
  896. package/dist/tui/actions/use-account-actions.d.ts.map +0 -1
  897. package/dist/tui/actions/use-account-actions.js +0 -527
  898. package/dist/tui/actions/use-account-actions.js.map +0 -1
  899. package/dist/tui/actions/use-app-bindings.d.ts +0 -83
  900. package/dist/tui/actions/use-app-bindings.d.ts.map +0 -1
  901. package/dist/tui/actions/use-app-bindings.js +0 -472
  902. package/dist/tui/actions/use-app-bindings.js.map +0 -1
  903. package/dist/tui/actions/use-gateway-actions.d.ts +0 -45
  904. package/dist/tui/actions/use-gateway-actions.d.ts.map +0 -1
  905. package/dist/tui/actions/use-gateway-actions.js +0 -370
  906. package/dist/tui/actions/use-gateway-actions.js.map +0 -1
  907. package/dist/tui/actions/use-home-filter.d.ts +0 -24
  908. package/dist/tui/actions/use-home-filter.d.ts.map +0 -1
  909. package/dist/tui/actions/use-home-filter.js +0 -48
  910. package/dist/tui/actions/use-home-filter.js.map +0 -1
  911. package/dist/tui/actions/use-model-role-editor.d.ts +0 -44
  912. package/dist/tui/actions/use-model-role-editor.d.ts.map +0 -1
  913. package/dist/tui/actions/use-model-role-editor.js +0 -68
  914. package/dist/tui/actions/use-model-role-editor.js.map +0 -1
  915. package/dist/tui/actions/use-provider-filter.d.ts +0 -10
  916. package/dist/tui/actions/use-provider-filter.d.ts.map +0 -1
  917. package/dist/tui/actions/use-provider-filter.js +0 -22
  918. package/dist/tui/actions/use-provider-filter.js.map +0 -1
  919. package/dist/tui/actions/use-proxy-actions.d.ts +0 -31
  920. package/dist/tui/actions/use-proxy-actions.d.ts.map +0 -1
  921. package/dist/tui/actions/use-proxy-actions.js +0 -474
  922. package/dist/tui/actions/use-proxy-actions.js.map +0 -1
  923. package/dist/tui/actions/use-text-input-submit.d.ts +0 -16
  924. package/dist/tui/actions/use-text-input-submit.d.ts.map +0 -1
  925. package/dist/tui/actions/use-text-input-submit.js +0 -96
  926. package/dist/tui/actions/use-text-input-submit.js.map +0 -1
  927. package/dist/tui/actions/use-tray-runtime-actions.d.ts +0 -18
  928. package/dist/tui/actions/use-tray-runtime-actions.d.ts.map +0 -1
  929. package/dist/tui/actions/use-tray-runtime-actions.js +0 -78
  930. package/dist/tui/actions/use-tray-runtime-actions.js.map +0 -1
  931. package/dist/tui/app-ui-helpers.d.ts +0 -14
  932. package/dist/tui/app-ui-helpers.d.ts.map +0 -1
  933. package/dist/tui/app-ui-helpers.js +0 -48
  934. package/dist/tui/app-ui-helpers.js.map +0 -1
  935. package/dist/tui/app-ui.d.ts +0 -19
  936. package/dist/tui/app-ui.d.ts.map +0 -1
  937. package/dist/tui/app-ui.js +0 -98
  938. package/dist/tui/app-ui.js.map +0 -1
  939. package/dist/tui/components/chrome/header.d.ts +0 -39
  940. package/dist/tui/components/chrome/header.d.ts.map +0 -1
  941. package/dist/tui/components/chrome/header.js +0 -161
  942. package/dist/tui/components/chrome/header.js.map +0 -1
  943. package/dist/tui/components/chrome/inputs.d.ts +0 -34
  944. package/dist/tui/components/chrome/inputs.d.ts.map +0 -1
  945. package/dist/tui/components/chrome/inputs.js +0 -82
  946. package/dist/tui/components/chrome/inputs.js.map +0 -1
  947. package/dist/tui/components/chrome/layout.d.ts +0 -61
  948. package/dist/tui/components/chrome/layout.d.ts.map +0 -1
  949. package/dist/tui/components/chrome/layout.js +0 -119
  950. package/dist/tui/components/chrome/layout.js.map +0 -1
  951. package/dist/tui/components/chrome/legacy.d.ts +0 -84
  952. package/dist/tui/components/chrome/legacy.d.ts.map +0 -1
  953. package/dist/tui/components/chrome/legacy.js +0 -6
  954. package/dist/tui/components/chrome/rows.d.ts +0 -89
  955. package/dist/tui/components/chrome/rows.d.ts.map +0 -1
  956. package/dist/tui/components/chrome/rows.js +0 -151
  957. package/dist/tui/components/chrome/rows.js.map +0 -1
  958. package/dist/tui/components/chrome/status.d.ts +0 -50
  959. package/dist/tui/components/chrome/status.d.ts.map +0 -1
  960. package/dist/tui/components/chrome/status.js +0 -157
  961. package/dist/tui/components/chrome/status.js.map +0 -1
  962. package/dist/tui/components/chrome.d.ts +0 -7
  963. package/dist/tui/components/chrome.d.ts.map +0 -1
  964. package/dist/tui/components/chrome.js +0 -7
  965. package/dist/tui/components.d.ts +0 -26
  966. package/dist/tui/components.d.ts.map +0 -1
  967. package/dist/tui/components.js +0 -182
  968. package/dist/tui/components.js.map +0 -1
  969. package/dist/tui/model/anypick.d.ts +0 -106
  970. package/dist/tui/model/anypick.d.ts.map +0 -1
  971. package/dist/tui/model/anypick.js +0 -116
  972. package/dist/tui/model/anypick.js.map +0 -1
  973. package/dist/tui/model/bindings.d.ts +0 -39
  974. package/dist/tui/model/bindings.d.ts.map +0 -1
  975. package/dist/tui/model/bindings.js +0 -102
  976. package/dist/tui/model/bindings.js.map +0 -1
  977. package/dist/tui/model/detail.d.ts +0 -6
  978. package/dist/tui/model/detail.d.ts.map +0 -1
  979. package/dist/tui/model/detail.js +0 -85
  980. package/dist/tui/model/detail.js.map +0 -1
  981. package/dist/tui/model/gateway.d.ts +0 -46
  982. package/dist/tui/model/gateway.d.ts.map +0 -1
  983. package/dist/tui/model/gateway.js +0 -134
  984. package/dist/tui/model/gateway.js.map +0 -1
  985. package/dist/tui/model/home-format.d.ts +0 -52
  986. package/dist/tui/model/home-format.d.ts.map +0 -1
  987. package/dist/tui/model/home-format.js +0 -64
  988. package/dist/tui/model/home-format.js.map +0 -1
  989. package/dist/tui/model/home-load.d.ts +0 -8
  990. package/dist/tui/model/home-load.d.ts.map +0 -1
  991. package/dist/tui/model/home-load.js +0 -244
  992. package/dist/tui/model/home-load.js.map +0 -1
  993. package/dist/tui/model/identity.d.ts +0 -53
  994. package/dist/tui/model/identity.d.ts.map +0 -1
  995. package/dist/tui/model/identity.js +0 -176
  996. package/dist/tui/model/identity.js.map +0 -1
  997. package/dist/tui/model/line-editor.d.ts +0 -99
  998. package/dist/tui/model/line-editor.d.ts.map +0 -1
  999. package/dist/tui/model/line-editor.js +0 -186
  1000. package/dist/tui/model/line-editor.js.map +0 -1
  1001. package/dist/tui/model/names.d.ts +0 -28
  1002. package/dist/tui/model/names.d.ts.map +0 -1
  1003. package/dist/tui/model/names.js +0 -42
  1004. package/dist/tui/model/names.js.map +0 -1
  1005. package/dist/tui/model/pool.d.ts +0 -11
  1006. package/dist/tui/model/pool.d.ts.map +0 -1
  1007. package/dist/tui/model/pool.js +0 -115
  1008. package/dist/tui/model/pool.js.map +0 -1
  1009. package/dist/tui/model/provider-filter.d.ts +0 -14
  1010. package/dist/tui/model/provider-filter.d.ts.map +0 -1
  1011. package/dist/tui/model/provider-filter.js +0 -46
  1012. package/dist/tui/model/provider-filter.js.map +0 -1
  1013. package/dist/tui/model/proxy-hub.d.ts +0 -23
  1014. package/dist/tui/model/proxy-hub.d.ts.map +0 -1
  1015. package/dist/tui/model/proxy-hub.js +0 -69
  1016. package/dist/tui/model/proxy-hub.js.map +0 -1
  1017. package/dist/tui/model/proxy-labels.d.ts +0 -5
  1018. package/dist/tui/model/proxy-labels.d.ts.map +0 -1
  1019. package/dist/tui/model/proxy-labels.js +0 -18
  1020. package/dist/tui/model/proxy-labels.js.map +0 -1
  1021. package/dist/tui/model/proxy.d.ts +0 -15
  1022. package/dist/tui/model/proxy.d.ts.map +0 -1
  1023. package/dist/tui/model/proxy.js +0 -214
  1024. package/dist/tui/model/proxy.js.map +0 -1
  1025. package/dist/tui/model/root.d.ts +0 -20
  1026. package/dist/tui/model/root.d.ts.map +0 -1
  1027. package/dist/tui/model/root.js +0 -126
  1028. package/dist/tui/model/root.js.map +0 -1
  1029. package/dist/tui/model/route-builder.d.ts +0 -25
  1030. package/dist/tui/model/route-builder.d.ts.map +0 -1
  1031. package/dist/tui/model/route-builder.js +0 -199
  1032. package/dist/tui/model/route-builder.js.map +0 -1
  1033. package/dist/tui/model/screen.d.ts +0 -260
  1034. package/dist/tui/model/screen.d.ts.map +0 -1
  1035. package/dist/tui/model/types.d.ts +0 -179
  1036. package/dist/tui/model/types.d.ts.map +0 -1
  1037. package/dist/tui/model.d.ts +0 -18
  1038. package/dist/tui/model.d.ts.map +0 -1
  1039. package/dist/tui/model.js +0 -17
  1040. package/dist/tui/proxy-models-fetch.d.ts +0 -34
  1041. package/dist/tui/proxy-models-fetch.d.ts.map +0 -1
  1042. package/dist/tui/proxy-models-fetch.js +0 -87
  1043. package/dist/tui/proxy-models-fetch.js.map +0 -1
  1044. package/dist/tui/routes/account.d.ts +0 -4
  1045. package/dist/tui/routes/account.d.ts.map +0 -1
  1046. package/dist/tui/routes/account.js +0 -327
  1047. package/dist/tui/routes/account.js.map +0 -1
  1048. package/dist/tui/routes/apps.d.ts +0 -3
  1049. package/dist/tui/routes/apps.d.ts.map +0 -1
  1050. package/dist/tui/routes/apps.js +0 -296
  1051. package/dist/tui/routes/apps.js.map +0 -1
  1052. package/dist/tui/routes/common.d.ts +0 -4
  1053. package/dist/tui/routes/common.d.ts.map +0 -1
  1054. package/dist/tui/routes/common.js +0 -117
  1055. package/dist/tui/routes/common.js.map +0 -1
  1056. package/dist/tui/routes/context.d.ts +0 -43
  1057. package/dist/tui/routes/context.d.ts.map +0 -1
  1058. package/dist/tui/routes/gateway.d.ts +0 -3
  1059. package/dist/tui/routes/gateway.d.ts.map +0 -1
  1060. package/dist/tui/routes/gateway.js +0 -199
  1061. package/dist/tui/routes/gateway.js.map +0 -1
  1062. package/dist/tui/routes/proxy.d.ts +0 -3
  1063. package/dist/tui/routes/proxy.d.ts.map +0 -1
  1064. package/dist/tui/routes/proxy.js +0 -234
  1065. package/dist/tui/routes/proxy.js.map +0 -1
  1066. package/dist/tui/screens/account-detail.d.ts +0 -14
  1067. package/dist/tui/screens/account-detail.d.ts.map +0 -1
  1068. package/dist/tui/screens/account-detail.js +0 -98
  1069. package/dist/tui/screens/account-detail.js.map +0 -1
  1070. package/dist/tui/screens/accounts-home.d.ts +0 -42
  1071. package/dist/tui/screens/accounts-home.d.ts.map +0 -1
  1072. package/dist/tui/screens/accounts-home.js +0 -321
  1073. package/dist/tui/screens/accounts-home.js.map +0 -1
  1074. package/dist/tui/screens/add-account.d.ts +0 -70
  1075. package/dist/tui/screens/add-account.d.ts.map +0 -1
  1076. package/dist/tui/screens/add-account.js +0 -323
  1077. package/dist/tui/screens/add-account.js.map +0 -1
  1078. package/dist/tui/screens/anypick-home.d.ts +0 -39
  1079. package/dist/tui/screens/anypick-home.d.ts.map +0 -1
  1080. package/dist/tui/screens/anypick-home.js +0 -253
  1081. package/dist/tui/screens/anypick-home.js.map +0 -1
  1082. package/dist/tui/screens/anypick-preview.d.ts +0 -13
  1083. package/dist/tui/screens/anypick-preview.d.ts.map +0 -1
  1084. package/dist/tui/screens/anypick-preview.js +0 -49
  1085. package/dist/tui/screens/anypick-preview.js.map +0 -1
  1086. package/dist/tui/screens/app-route-preview.d.ts +0 -14
  1087. package/dist/tui/screens/app-route-preview.d.ts.map +0 -1
  1088. package/dist/tui/screens/app-route-preview.js +0 -35
  1089. package/dist/tui/screens/app-route-preview.js.map +0 -1
  1090. package/dist/tui/screens/app-route-source.d.ts +0 -15
  1091. package/dist/tui/screens/app-route-source.d.ts.map +0 -1
  1092. package/dist/tui/screens/app-route-source.js +0 -97
  1093. package/dist/tui/screens/app-route-source.js.map +0 -1
  1094. package/dist/tui/screens/apps-home.d.ts +0 -22
  1095. package/dist/tui/screens/apps-home.d.ts.map +0 -1
  1096. package/dist/tui/screens/apps-home.js +0 -111
  1097. package/dist/tui/screens/apps-home.js.map +0 -1
  1098. package/dist/tui/screens/confirm.d.ts +0 -19
  1099. package/dist/tui/screens/confirm.d.ts.map +0 -1
  1100. package/dist/tui/screens/confirm.js +0 -42
  1101. package/dist/tui/screens/confirm.js.map +0 -1
  1102. package/dist/tui/screens/credential-form.d.ts +0 -30
  1103. package/dist/tui/screens/credential-form.d.ts.map +0 -1
  1104. package/dist/tui/screens/credential-form.js +0 -241
  1105. package/dist/tui/screens/credential-form.js.map +0 -1
  1106. package/dist/tui/screens/gateway-connection-form.d.ts +0 -16
  1107. package/dist/tui/screens/gateway-connection-form.d.ts.map +0 -1
  1108. package/dist/tui/screens/gateway-connection-form.js +0 -127
  1109. package/dist/tui/screens/gateway-connection-form.js.map +0 -1
  1110. package/dist/tui/screens/gateway-pick-provider.d.ts +0 -19
  1111. package/dist/tui/screens/gateway-pick-provider.d.ts.map +0 -1
  1112. package/dist/tui/screens/gateway-pick-provider.js +0 -62
  1113. package/dist/tui/screens/gateway-pick-provider.js.map +0 -1
  1114. package/dist/tui/screens/gateways-home.d.ts +0 -38
  1115. package/dist/tui/screens/gateways-home.d.ts.map +0 -1
  1116. package/dist/tui/screens/gateways-home.js +0 -247
  1117. package/dist/tui/screens/gateways-home.js.map +0 -1
  1118. package/dist/tui/screens/health.d.ts +0 -16
  1119. package/dist/tui/screens/health.d.ts.map +0 -1
  1120. package/dist/tui/screens/health.js +0 -109
  1121. package/dist/tui/screens/health.js.map +0 -1
  1122. package/dist/tui/screens/help.d.ts +0 -10
  1123. package/dist/tui/screens/help.d.ts.map +0 -1
  1124. package/dist/tui/screens/help.js +0 -213
  1125. package/dist/tui/screens/help.js.map +0 -1
  1126. package/dist/tui/screens/manage-apps.d.ts +0 -29
  1127. package/dist/tui/screens/manage-apps.d.ts.map +0 -1
  1128. package/dist/tui/screens/manage-apps.js +0 -165
  1129. package/dist/tui/screens/manage-apps.js.map +0 -1
  1130. package/dist/tui/screens/proxy-board-helpers.d.ts +0 -9
  1131. package/dist/tui/screens/proxy-board-helpers.d.ts.map +0 -1
  1132. package/dist/tui/screens/proxy-board-helpers.js +0 -70
  1133. package/dist/tui/screens/proxy-board-helpers.js.map +0 -1
  1134. package/dist/tui/screens/proxy-board.d.ts +0 -43
  1135. package/dist/tui/screens/proxy-board.d.ts.map +0 -1
  1136. package/dist/tui/screens/proxy-board.js +0 -351
  1137. package/dist/tui/screens/proxy-board.js.map +0 -1
  1138. package/dist/tui/screens/proxy-hub.d.ts +0 -21
  1139. package/dist/tui/screens/proxy-hub.d.ts.map +0 -1
  1140. package/dist/tui/screens/proxy-hub.js +0 -150
  1141. package/dist/tui/screens/proxy-hub.js.map +0 -1
  1142. package/dist/tui/screens/proxy-models-utils.d.ts +0 -13
  1143. package/dist/tui/screens/proxy-models-utils.d.ts.map +0 -1
  1144. package/dist/tui/screens/proxy-models-utils.js +0 -53
  1145. package/dist/tui/screens/proxy-models-utils.js.map +0 -1
  1146. package/dist/tui/screens/proxy-models.d.ts +0 -65
  1147. package/dist/tui/screens/proxy-models.d.ts.map +0 -1
  1148. package/dist/tui/screens/proxy-models.js +0 -252
  1149. package/dist/tui/screens/proxy-models.js.map +0 -1
  1150. package/dist/tui/screens/proxy.d.ts +0 -26
  1151. package/dist/tui/screens/proxy.d.ts.map +0 -1
  1152. package/dist/tui/screens/text-input.d.ts +0 -18
  1153. package/dist/tui/screens/text-input.d.ts.map +0 -1
  1154. package/dist/tui/screens/text-input.js +0 -67
  1155. package/dist/tui/screens/text-input.js.map +0 -1
  1156. package/dist/tui/screens/tray-runtime.d.ts +0 -19
  1157. package/dist/tui/screens/tray-runtime.d.ts.map +0 -1
  1158. package/dist/tui/screens/tray-runtime.js +0 -108
  1159. package/dist/tui/screens/tray-runtime.js.map +0 -1
  1160. package/dist/tui/use-tui-nav.d.ts +0 -40
  1161. package/dist/tui/use-tui-nav.d.ts.map +0 -1
  1162. package/dist/tui/use-tui-nav.js +0 -256
  1163. package/dist/tui/use-tui-nav.js.map +0 -1
  1164. package/dist/tui/use-tui-shell.d.ts +0 -46
  1165. package/dist/tui/use-tui-shell.d.ts.map +0 -1
  1166. package/dist/tui/use-tui-shell.js +0 -95
  1167. package/dist/tui/use-tui-shell.js.map +0 -1
  1168. package/dist/types/account.d.ts +0 -410
  1169. package/dist/types/account.d.ts.map +0 -1
  1170. package/dist/types/account.js +0 -7
  1171. package/dist/types/account.js.map +0 -1
  1172. package/dist/types/bindings.d.ts +0 -300
  1173. package/dist/types/bindings.d.ts.map +0 -1
  1174. package/dist/types/catalog.d.ts +0 -165
  1175. package/dist/types/catalog.d.ts.map +0 -1
  1176. package/dist/types/clients.d.ts +0 -174
  1177. package/dist/types/clients.d.ts.map +0 -1
  1178. package/dist/types/clients.js +0 -11
  1179. package/dist/types/clients.js.map +0 -1
  1180. package/dist/types/plugins.d.ts +0 -89
  1181. package/dist/types/plugins.d.ts.map +0 -1
  1182. package/dist/types/plugins.js +0 -14
  1183. package/dist/types/plugins.js.map +0 -1
  1184. package/dist/types/proxy-hub.d.ts +0 -109
  1185. package/dist/types/proxy-hub.d.ts.map +0 -1
  1186. package/dist/types.d.ts +0 -7
  1187. package/dist/types.d.ts.map +0 -1
  1188. package/dist/types.js +0 -1
  1189. package/dist/utils/errors.d.ts +0 -61
  1190. package/dist/utils/errors.d.ts.map +0 -1
  1191. package/dist/utils/errors.js +0 -119
  1192. package/dist/utils/errors.js.map +0 -1
  1193. package/dist/utils/fs.d.ts +0 -39
  1194. package/dist/utils/fs.d.ts.map +0 -1
  1195. package/dist/utils/fs.js +0 -126
  1196. package/dist/utils/fs.js.map +0 -1
  1197. package/dist/utils/lock.d.ts +0 -33
  1198. package/dist/utils/lock.d.ts.map +0 -1
  1199. package/dist/utils/lock.js +0 -95
  1200. package/dist/utils/lock.js.map +0 -1
  1201. package/dist/utils/log.d.ts +0 -10
  1202. package/dist/utils/log.d.ts.map +0 -1
  1203. package/dist/utils/log.js +0 -21
  1204. package/dist/utils/log.js.map +0 -1
  1205. package/dist/utils/network.d.ts +0 -3
  1206. package/dist/utils/network.d.ts.map +0 -1
  1207. package/dist/utils/network.js +0 -13
  1208. package/dist/utils/network.js.map +0 -1
  1209. package/dist/utils/process/binary.d.ts +0 -14
  1210. package/dist/utils/process/binary.d.ts.map +0 -1
  1211. package/dist/utils/process/binary.js +0 -29
  1212. package/dist/utils/process/binary.js.map +0 -1
  1213. package/dist/utils/process/follow.d.ts +0 -2
  1214. package/dist/utils/process/follow.d.ts.map +0 -1
  1215. package/dist/utils/process/follow.js +0 -90
  1216. package/dist/utils/process/follow.js.map +0 -1
  1217. package/dist/utils/process/health.d.ts +0 -43
  1218. package/dist/utils/process/health.d.ts.map +0 -1
  1219. package/dist/utils/process/health.js +0 -132
  1220. package/dist/utils/process/health.js.map +0 -1
  1221. package/dist/utils/process/pid.d.ts +0 -95
  1222. package/dist/utils/process/pid.d.ts.map +0 -1
  1223. package/dist/utils/process/pid.js +0 -243
  1224. package/dist/utils/process/pid.js.map +0 -1
  1225. package/dist/utils/process.d.ts +0 -5
  1226. package/dist/utils/process.d.ts.map +0 -1
  1227. package/dist/utils/process.js +0 -5
  1228. package/dist/utils/slug.d.ts +0 -18
  1229. package/dist/utils/slug.d.ts.map +0 -1
  1230. package/dist/utils/slug.js +0 -42
  1231. package/dist/utils/slug.js.map +0 -1
@@ -1,127 +0,0 @@
1
- import { withMutationLock } from "./mutation-lock.js";
2
- import { createDirectEgress } from "../network/egress/index.js";
3
- //#region src/core/model-discovery.ts
4
- /** How long a fetched list is trusted without asking the vendor again. */
5
- var MODEL_CACHE_TTL_MS = 3600 * 1e3;
6
- var FETCH_TIMEOUT_MS = 6e3;
7
- var ModelDiscoveryService = class {
8
- deps;
9
- constructor(deps) {
10
- this.deps = deps;
11
- }
12
- /**
13
- * Best available model list for a provider/endpoint pair.
14
- *
15
- * Never throws for a network or vendor error — inspect `source` to see which
16
- * step answered.
17
- */
18
- async list(req) {
19
- const policy = this.deps.policyFor(req.providerId);
20
- const fallback = staticModels(policy);
21
- const endpoint = normalizeEndpoint(req.endpoint ?? defaultEndpoint(policy));
22
- if (!endpoint || !policy?.fetchLiveModels) return {
23
- models: fallback,
24
- source: "catalog",
25
- note: "no live discovery for this provider"
26
- };
27
- const cached = await this.deps.cache.get(req.providerId, endpoint);
28
- const now = this.deps.now?.() ?? Date.now();
29
- if (!req.refresh && cached && isFresh(cached.fetchedAt, now)) return {
30
- models: cached.models,
31
- source: "cache",
32
- fetchedAt: cached.fetchedAt
33
- };
34
- let origin;
35
- try {
36
- origin = new URL(endpoint).origin;
37
- } catch {
38
- return {
39
- models: fallback,
40
- source: "catalog",
41
- note: `endpoint is not a URL: ${endpoint}`
42
- };
43
- }
44
- try {
45
- const fetchImpl = (this.deps.fetchImpl ?? allowlistedFetch)(origin);
46
- const models = [...await policy.fetchLiveModels({
47
- endpoint,
48
- apiKey: req.apiKey,
49
- fetch: fetchImpl
50
- })];
51
- if (models.length === 0) throw new Error("vendor returned no models");
52
- const fetchedAt = new Date(now).toISOString();
53
- await withMutationLock(this.deps.root, "model-cache", () => this.deps.cache.write({
54
- provider: req.providerId,
55
- endpoint,
56
- models,
57
- fetchedAt
58
- }));
59
- return {
60
- models,
61
- source: "live",
62
- fetchedAt
63
- };
64
- } catch (err) {
65
- const note = err instanceof Error ? err.message : String(err);
66
- if (cached) return {
67
- models: cached.models,
68
- source: "stale",
69
- fetchedAt: cached.fetchedAt,
70
- note
71
- };
72
- return {
73
- models: fallback,
74
- source: "catalog",
75
- note
76
- };
77
- }
78
- }
79
- /** Drop cached lists so the next `list` asks the vendor. */
80
- async clearCache(providerId) {
81
- await withMutationLock(this.deps.root, "model-cache", () => this.deps.cache.clear(providerId));
82
- }
83
- };
84
- /**
85
- * A fetch bound to exactly one origin.
86
- *
87
- * The transport is built per call rather than shared because the allowed origin
88
- * is the endpoint being asked about: that is what makes an endpoint the user did
89
- * not configure unable to receive their API key.
90
- */
91
- function allowlistedFetch(origin) {
92
- const egress = createDirectEgress([origin]);
93
- return async (target, init) => egress.fetch(target, {
94
- ...init,
95
- signal: AbortSignal.timeout(FETCH_TIMEOUT_MS)
96
- }, { operation: "catalog" });
97
- }
98
- function isFresh(fetchedAt, now) {
99
- const at = Date.parse(fetchedAt);
100
- return Number.isFinite(at) && now - at < 36e5;
101
- }
102
- function normalizeEndpoint(endpoint) {
103
- return endpoint?.trim().replace(/\/+$/, "") || void 0;
104
- }
105
- function defaultEndpoint(policy) {
106
- const candidate = policy?.defaultEndpoint;
107
- return typeof candidate === "string" ? candidate : void 0;
108
- }
109
- /** Everything the provider offers offline: friendly ids, then alias targets. */
110
- function staticModels(policy) {
111
- const out = [];
112
- const seen = /* @__PURE__ */ new Set();
113
- const push = (v) => {
114
- if (v && !seen.has(v)) {
115
- seen.add(v);
116
- out.push(v);
117
- }
118
- };
119
- for (const id of policy?.roleFriendlyModels?.() ?? []) push(id);
120
- for (const id of Object.values(policy?.suggestModels?.() ?? {})) push(id);
121
- for (const id of policy?.staticFallbackModels?.() ?? []) push(id);
122
- return out;
123
- }
124
- //#endregion
125
- export { MODEL_CACHE_TTL_MS, ModelDiscoveryService };
126
-
127
- //# sourceMappingURL=model-discovery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-discovery.js","names":[],"sources":["../../src/core/model-discovery.ts"],"sourcesContent":["/**\n * Live model discovery with a cached fallback chain.\n *\n * The static catalog in `src/catalog/providers.ts` goes stale the moment a\n * vendor ships a model, and a user should not need a AnyPick release to select\n * one. So the answer is resolved in order:\n *\n * 1. a cache row younger than `TTL_MS`,\n * 2. a live `fetchLiveModels()` on the provider,\n * 3. a stale cache row, if the fetch failed,\n * 4. the provider's static catalog — always non-empty for known vendors.\n *\n * Nothing here can fail a caller: a model list is advisory, and a screen that\n * cannot render because a vendor is down would be worse than an outdated list.\n * `refresh` is therefore the only way to force step 2.\n *\n * Egress is allowlisted per call (ADR 0006 keeps proxy traffic on loopback; this\n * is the opposite direction — outbound, with the user's key attached). The\n * allowlist is the vendor origins AnyPick ships plus the origin already stored\n * in the user's own profile, so a rewritten endpoint cannot quietly receive a\n * credential that was issued for somewhere else.\n */\n\nimport type { ModelDiscoveryContext, ModelPolicy } from '../types';\nimport { createDirectEgress } from '../network/egress';\nimport { withMutationLock } from './mutation-lock';\nimport type { ModelCacheStore } from './model-cache-store';\n\n/** How long a fetched list is trusted without asking the vendor again. */\nexport const MODEL_CACHE_TTL_MS = 60 * 60 * 1000;\n\nconst FETCH_TIMEOUT_MS = 6000;\n\nexport type ModelListSource = 'live' | 'cache' | 'stale' | 'catalog';\n\nexport interface ModelListResult {\n models: string[];\n source: ModelListSource;\n /** When the list was fetched, for `cache` and `stale`. */\n fetchedAt?: string;\n /** Why a live fetch did not happen or did not succeed. */\n note?: string;\n}\n\nexport interface ModelDiscoveryRequest {\n /** Catalog or account provider id. */\n providerId: string;\n /** Endpoint to query. Falls back to the provider's own default. */\n endpoint?: string;\n apiKey?: string;\n /** Ignore a fresh cache row and ask the vendor. */\n refresh?: boolean;\n}\n\nexport interface ModelDiscoveryDeps {\n root: string;\n cache: ModelCacheStore;\n policyFor: (providerId: string) => ModelPolicy | undefined;\n /** Overridden in tests; defaults to an allowlisted direct transport. */\n fetchImpl?: (origin: string) => ModelDiscoveryContext['fetch'];\n now?: () => number;\n}\n\nexport class ModelDiscoveryService {\n constructor(private readonly deps: ModelDiscoveryDeps) {}\n\n /**\n * Best available model list for a provider/endpoint pair.\n *\n * Never throws for a network or vendor error — inspect `source` to see which\n * step answered.\n */\n async list(req: ModelDiscoveryRequest): Promise<ModelListResult> {\n const policy = this.deps.policyFor(req.providerId);\n const fallback = staticModels(policy);\n const endpoint = normalizeEndpoint(req.endpoint ?? defaultEndpoint(policy));\n\n if (!endpoint || !policy?.fetchLiveModels) {\n return { models: fallback, source: 'catalog', note: 'no live discovery for this provider' };\n }\n\n const cached = await this.deps.cache.get(req.providerId, endpoint);\n const now = this.deps.now?.() ?? Date.now();\n if (!req.refresh && cached && isFresh(cached.fetchedAt, now)) {\n return { models: cached.models, source: 'cache', fetchedAt: cached.fetchedAt };\n }\n\n let origin: string;\n try {\n origin = new URL(endpoint).origin;\n } catch {\n return { models: fallback, source: 'catalog', note: `endpoint is not a URL: ${endpoint}` };\n }\n\n try {\n const fetchImpl = (this.deps.fetchImpl ?? allowlistedFetch)(origin);\n const models = [\n ...(await policy.fetchLiveModels({ endpoint, apiKey: req.apiKey, fetch: fetchImpl })),\n ];\n if (models.length === 0) {\n throw new Error('vendor returned no models');\n }\n const fetchedAt = new Date(now).toISOString();\n // Cache writes are the one persisted mutation here, so they go through the\n // coordinator like every other store write (ADR 0009).\n await withMutationLock(this.deps.root, 'model-cache', () =>\n this.deps.cache.write({ provider: req.providerId, endpoint, models, fetchedAt }),\n );\n return { models, source: 'live', fetchedAt };\n } catch (err) {\n const note = err instanceof Error ? err.message : String(err);\n if (cached) {\n return { models: cached.models, source: 'stale', fetchedAt: cached.fetchedAt, note };\n }\n return { models: fallback, source: 'catalog', note };\n }\n }\n\n /** Drop cached lists so the next `list` asks the vendor. */\n async clearCache(providerId?: string): Promise<void> {\n await withMutationLock(this.deps.root, 'model-cache', () => this.deps.cache.clear(providerId));\n }\n}\n\n/**\n * A fetch bound to exactly one origin.\n *\n * The transport is built per call rather than shared because the allowed origin\n * is the endpoint being asked about: that is what makes an endpoint the user did\n * not configure unable to receive their API key.\n */\nfunction allowlistedFetch(origin: string): ModelDiscoveryContext['fetch'] {\n const egress = createDirectEgress([origin]);\n return async (target, init) =>\n egress.fetch(\n target,\n { ...init, signal: AbortSignal.timeout(FETCH_TIMEOUT_MS) },\n { operation: 'catalog' },\n );\n}\n\nfunction isFresh(fetchedAt: string, now: number): boolean {\n const at = Date.parse(fetchedAt);\n return Number.isFinite(at) && now - at < MODEL_CACHE_TTL_MS;\n}\n\nfunction normalizeEndpoint(endpoint: string | undefined): string | undefined {\n const trimmed = endpoint?.trim().replace(/\\/+$/, '');\n return trimmed || undefined;\n}\n\nfunction defaultEndpoint(policy: ModelPolicy | undefined): string | undefined {\n // `defaultEndpoint` belongs to CatalogProvider, not to ModelPolicy; account\n // providers reach their models through a local proxy and pass an endpoint in.\n const candidate = (policy as { defaultEndpoint?: unknown } | undefined)?.defaultEndpoint;\n return typeof candidate === 'string' ? candidate : undefined;\n}\n\n/** Everything the provider offers offline: friendly ids, then alias targets. */\nfunction staticModels(policy: ModelPolicy | undefined): string[] {\n const out: string[] = [];\n const seen = new Set<string>();\n const push = (v: string) => {\n if (v && !seen.has(v)) {\n seen.add(v);\n out.push(v);\n }\n };\n for (const id of policy?.roleFriendlyModels?.() ?? []) {\n push(id);\n }\n for (const id of Object.values(policy?.suggestModels?.() ?? {})) {\n push(id);\n }\n for (const id of policy?.staticFallbackModels?.() ?? []) {\n push(id);\n }\n return out;\n}\n"],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- /**
2
- * Model-policy resolution across both id spaces.
3
- *
4
- * AnyPick has two kinds of "provider": account providers (`codex`, `gemini`,
5
- * `grok`, …) that front a local login plus optional proxy, and catalog providers
6
- * (`openrouter`, `anthropic`, `grok-api`, …) that describe a remote gateway.
7
- * Both carry a `ModelPolicy`, and callers such as the model pickers hold only an
8
- * id string, so this resolves an id against whichever registry knows it.
9
- *
10
- * Account providers win on collision: `gemini` names the local CLI provider,
11
- * while the gateway catalog spells the API-key variant `gemini-api`.
12
- */
13
- import type { ModelCatalogDescriptor, ModelMap, ModelPolicy } from '../types.js';
14
- import type { ProviderRegistry } from './registry.js';
15
- import type { CatalogRegistry } from '../catalog/providers.js';
16
- export interface ModelPolicySources {
17
- accountRegistry?: Pick<ProviderRegistry, 'has' | 'get'>;
18
- catalog?: Pick<CatalogRegistry, 'has' | 'get'>;
19
- }
20
- /**
21
- * Convert a saved alias map into the picker catalog it explicitly exposes.
22
- * Runtime role defaults are intentionally not an input: they decide which
23
- * model starts a client, not which models the client advertises in its picker.
24
- */
25
- export declare function configuredModelCatalog(models: ModelMap): ModelCatalogDescriptor[];
26
- /**
27
- * Merge picker catalogs by model id while preserving source order and the
28
- * first source's labels. Later sources only enrich fields that were unknown;
29
- * this lets a configured alias remain stable while live provider metadata adds
30
- * truthful limits or capabilities.
31
- */
32
- export declare function mergeModelCatalogs(...sources: readonly (readonly ModelCatalogDescriptor[])[]): ModelCatalogDescriptor[];
33
- /**
34
- * Build a lookup usable by `defaultModelRolesForProxy` and friends. Returns
35
- * `undefined` for ids neither registry knows, which callers treat as "no
36
- * opinion" rather than as an error — a model picker must still render for an
37
- * unrecognized id.
38
- */
39
- export declare function modelPolicyLookup(sources: ModelPolicySources): (providerId: string) => ModelPolicy | undefined;
40
- //# sourceMappingURL=model-policy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-policy.d.ts","sourceRoot":"","sources":["../../src/core/model-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC;CAChD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,GAAG,sBAAsB,EAAE,CAgBjF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,OAAO,EAAE,SAAS,CAAC,SAAS,sBAAsB,EAAE,CAAC,EAAE,GACzD,sBAAsB,EAAE,CAwC1B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,kBAAkB,GAC1B,CAAC,UAAU,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAUjD"}
@@ -1,77 +0,0 @@
1
- //#region src/core/model-policy.ts
2
- /**
3
- * Convert a saved alias map into the picker catalog it explicitly exposes.
4
- * Runtime role defaults are intentionally not an input: they decide which
5
- * model starts a client, not which models the client advertises in its picker.
6
- */
7
- function configuredModelCatalog(models) {
8
- const result = [];
9
- const seen = /* @__PURE__ */ new Set();
10
- for (const [rawAlias, rawId] of Object.entries(models)) {
11
- const id = rawId.trim();
12
- if (!id || seen.has(id)) continue;
13
- seen.add(id);
14
- const alias = rawAlias.trim();
15
- result.push({
16
- id,
17
- ...alias && alias !== id ? { displayName: `${alias} (${id})` } : {}
18
- });
19
- }
20
- return result;
21
- }
22
- /**
23
- * Merge picker catalogs by model id while preserving source order and the
24
- * first source's labels. Later sources only enrich fields that were unknown;
25
- * this lets a configured alias remain stable while live provider metadata adds
26
- * truthful limits or capabilities.
27
- */
28
- function mergeModelCatalogs(...sources) {
29
- const result = [];
30
- const indexById = /* @__PURE__ */ new Map();
31
- for (const source of sources) for (const descriptor of source) {
32
- const id = descriptor.id.trim();
33
- if (!id) continue;
34
- const index = indexById.get(id);
35
- if (index == null) {
36
- indexById.set(id, result.length);
37
- result.push({
38
- ...descriptor,
39
- id
40
- });
41
- continue;
42
- }
43
- const current = result[index];
44
- result[index] = {
45
- id,
46
- displayName: current.displayName ?? descriptor.displayName,
47
- description: current.description ?? descriptor.description,
48
- defaultReasoningLevel: current.defaultReasoningLevel ?? descriptor.defaultReasoningLevel,
49
- supportedReasoningLevels: current.supportedReasoningLevels ?? descriptor.supportedReasoningLevels,
50
- contextWindow: current.contextWindow ?? descriptor.contextWindow,
51
- maxContextWindow: current.maxContextWindow ?? descriptor.maxContextWindow,
52
- autoCompactTokenLimit: current.autoCompactTokenLimit ?? descriptor.autoCompactTokenLimit,
53
- inputModalities: current.inputModalities ?? descriptor.inputModalities,
54
- supportsParallelToolCalls: current.supportsParallelToolCalls ?? descriptor.supportsParallelToolCalls,
55
- supportsSearchTool: current.supportsSearchTool ?? descriptor.supportsSearchTool,
56
- supportsVerbosity: current.supportsVerbosity ?? descriptor.supportsVerbosity,
57
- supportsImageDetailOriginal: current.supportsImageDetailOriginal ?? descriptor.supportsImageDetailOriginal
58
- };
59
- }
60
- return result;
61
- }
62
- /**
63
- * Build a lookup usable by `defaultModelRolesForProxy` and friends. Returns
64
- * `undefined` for ids neither registry knows, which callers treat as "no
65
- * opinion" rather than as an error — a model picker must still render for an
66
- * unrecognized id.
67
- */
68
- function modelPolicyLookup(sources) {
69
- return (providerId) => {
70
- if (sources.accountRegistry?.has(providerId)) return sources.accountRegistry.get(providerId);
71
- if (sources.catalog?.has(providerId)) return sources.catalog.get(providerId);
72
- };
73
- }
74
- //#endregion
75
- export { configuredModelCatalog, mergeModelCatalogs, modelPolicyLookup };
76
-
77
- //# sourceMappingURL=model-policy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-policy.js","names":[],"sources":["../../src/core/model-policy.ts"],"sourcesContent":["/**\n * Model-policy resolution across both id spaces.\n *\n * AnyPick has two kinds of \"provider\": account providers (`codex`, `gemini`,\n * `grok`, …) that front a local login plus optional proxy, and catalog providers\n * (`openrouter`, `anthropic`, `grok-api`, …) that describe a remote gateway.\n * Both carry a `ModelPolicy`, and callers such as the model pickers hold only an\n * id string, so this resolves an id against whichever registry knows it.\n *\n * Account providers win on collision: `gemini` names the local CLI provider,\n * while the gateway catalog spells the API-key variant `gemini-api`.\n */\n\nimport type { ModelCatalogDescriptor, ModelMap, ModelPolicy } from '../types';\nimport type { ProviderRegistry } from './registry';\nimport type { CatalogRegistry } from '../catalog/providers';\n\nexport interface ModelPolicySources {\n accountRegistry?: Pick<ProviderRegistry, 'has' | 'get'>;\n catalog?: Pick<CatalogRegistry, 'has' | 'get'>;\n}\n\n/**\n * Convert a saved alias map into the picker catalog it explicitly exposes.\n * Runtime role defaults are intentionally not an input: they decide which\n * model starts a client, not which models the client advertises in its picker.\n */\nexport function configuredModelCatalog(models: ModelMap): ModelCatalogDescriptor[] {\n const result: ModelCatalogDescriptor[] = [];\n const seen = new Set<string>();\n for (const [rawAlias, rawId] of Object.entries(models)) {\n const id = rawId.trim();\n if (!id || seen.has(id)) {\n continue;\n }\n seen.add(id);\n const alias = rawAlias.trim();\n result.push({\n id,\n ...(alias && alias !== id ? { displayName: `${alias} (${id})` } : {}),\n });\n }\n return result;\n}\n\n/**\n * Merge picker catalogs by model id while preserving source order and the\n * first source's labels. Later sources only enrich fields that were unknown;\n * this lets a configured alias remain stable while live provider metadata adds\n * truthful limits or capabilities.\n */\nexport function mergeModelCatalogs(\n ...sources: readonly (readonly ModelCatalogDescriptor[])[]\n): ModelCatalogDescriptor[] {\n const result: ModelCatalogDescriptor[] = [];\n const indexById = new Map<string, number>();\n\n for (const source of sources) {\n for (const descriptor of source) {\n const id = descriptor.id.trim();\n if (!id) {\n continue;\n }\n const index = indexById.get(id);\n if (index == null) {\n indexById.set(id, result.length);\n result.push({ ...descriptor, id });\n continue;\n }\n\n const current = result[index];\n result[index] = {\n id,\n displayName: current.displayName ?? descriptor.displayName,\n description: current.description ?? descriptor.description,\n defaultReasoningLevel: current.defaultReasoningLevel ?? descriptor.defaultReasoningLevel,\n supportedReasoningLevels:\n current.supportedReasoningLevels ?? descriptor.supportedReasoningLevels,\n contextWindow: current.contextWindow ?? descriptor.contextWindow,\n maxContextWindow: current.maxContextWindow ?? descriptor.maxContextWindow,\n autoCompactTokenLimit: current.autoCompactTokenLimit ?? descriptor.autoCompactTokenLimit,\n inputModalities: current.inputModalities ?? descriptor.inputModalities,\n supportsParallelToolCalls:\n current.supportsParallelToolCalls ?? descriptor.supportsParallelToolCalls,\n supportsSearchTool: current.supportsSearchTool ?? descriptor.supportsSearchTool,\n supportsVerbosity: current.supportsVerbosity ?? descriptor.supportsVerbosity,\n supportsImageDetailOriginal:\n current.supportsImageDetailOriginal ?? descriptor.supportsImageDetailOriginal,\n };\n }\n }\n\n return result;\n}\n\n/**\n * Build a lookup usable by `defaultModelRolesForProxy` and friends. Returns\n * `undefined` for ids neither registry knows, which callers treat as \"no\n * opinion\" rather than as an error — a model picker must still render for an\n * unrecognized id.\n */\nexport function modelPolicyLookup(\n sources: ModelPolicySources,\n): (providerId: string) => ModelPolicy | undefined {\n return (providerId: string): ModelPolicy | undefined => {\n if (sources.accountRegistry?.has(providerId)) {\n return sources.accountRegistry.get(providerId);\n }\n if (sources.catalog?.has(providerId)) {\n return sources.catalog.get(providerId);\n }\n return undefined;\n };\n}\n"],"mappings":";;;;;;AA2BA,SAAgB,uBAAuB,QAA4C;CACjF,MAAM,SAAmC,CAAC;CAC1C,MAAM,uBAAO,IAAI,IAAY;CAC7B,KAAK,MAAM,CAAC,UAAU,UAAU,OAAO,QAAQ,MAAM,GAAG;EACtD,MAAM,KAAK,MAAM,KAAK;EACtB,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,GACpB;EAEF,KAAK,IAAI,EAAE;EACX,MAAM,QAAQ,SAAS,KAAK;EAC5B,OAAO,KAAK;GACV;GACA,GAAI,SAAS,UAAU,KAAK,EAAE,aAAa,GAAG,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC;EACrE,CAAC;CACH;CACA,OAAO;AACT;;;;;;;AAQA,SAAgB,mBACd,GAAG,SACuB;CAC1B,MAAM,SAAmC,CAAC;CAC1C,MAAM,4BAAY,IAAI,IAAoB;CAE1C,KAAK,MAAM,UAAU,SACnB,KAAK,MAAM,cAAc,QAAQ;EAC/B,MAAM,KAAK,WAAW,GAAG,KAAK;EAC9B,IAAI,CAAC,IACH;EAEF,MAAM,QAAQ,UAAU,IAAI,EAAE;EAC9B,IAAI,SAAS,MAAM;GACjB,UAAU,IAAI,IAAI,OAAO,MAAM;GAC/B,OAAO,KAAK;IAAE,GAAG;IAAY;GAAG,CAAC;GACjC;EACF;EAEA,MAAM,UAAU,OAAO;EACvB,OAAO,SAAS;GACd;GACA,aAAa,QAAQ,eAAe,WAAW;GAC/C,aAAa,QAAQ,eAAe,WAAW;GAC/C,uBAAuB,QAAQ,yBAAyB,WAAW;GACnE,0BACE,QAAQ,4BAA4B,WAAW;GACjD,eAAe,QAAQ,iBAAiB,WAAW;GACnD,kBAAkB,QAAQ,oBAAoB,WAAW;GACzD,uBAAuB,QAAQ,yBAAyB,WAAW;GACnE,iBAAiB,QAAQ,mBAAmB,WAAW;GACvD,2BACE,QAAQ,6BAA6B,WAAW;GAClD,oBAAoB,QAAQ,sBAAsB,WAAW;GAC7D,mBAAmB,QAAQ,qBAAqB,WAAW;GAC3D,6BACE,QAAQ,+BAA+B,WAAW;EACtD;CACF;CAGF,OAAO;AACT;;;;;;;AAQA,SAAgB,kBACd,SACiD;CACjD,QAAQ,eAAgD;EACtD,IAAI,QAAQ,iBAAiB,IAAI,UAAU,GACzC,OAAO,QAAQ,gBAAgB,IAAI,UAAU;EAE/C,IAAI,QAAQ,SAAS,IAAI,UAAU,GACjC,OAAO,QAAQ,QAAQ,IAAI,UAAU;CAGzC;AACF"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Core-side model-role extraction shared by core services (realign, runtime).
3
- *
4
- * Kept in core so `core` does not take value imports from the clients package.
5
- * Client-only role helpers remain in `src/clients/model-roles.ts`.
6
- */
7
- /** Extract modelRoles from binding clientOptions (best-effort). */
8
- export declare function modelRolesFromClientOptions(clientOptions: Record<string, unknown> | undefined): Record<string, string> | undefined;
9
- //# sourceMappingURL=model-roles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-roles.d.ts","sourceRoot":"","sources":["../../src/core/model-roles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,mEAAmE;AACnE,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAepC"}
@@ -1,20 +0,0 @@
1
- //#region src/core/model-roles.ts
2
- /**
3
- * Core-side model-role extraction shared by core services (realign, runtime).
4
- *
5
- * Kept in core so `core` does not take value imports from the clients package.
6
- * Client-only role helpers remain in `src/clients/model-roles.ts`.
7
- */
8
- /** Extract modelRoles from binding clientOptions (best-effort). */
9
- function modelRolesFromClientOptions(clientOptions) {
10
- if (!clientOptions || typeof clientOptions !== "object") return;
11
- const raw = clientOptions.modelRoles;
12
- if (!raw || typeof raw !== "object" || Array.isArray(raw)) return;
13
- const out = {};
14
- for (const [k, v] of Object.entries(raw)) if (typeof v === "string" && v.trim()) out[k] = v.trim();
15
- return Object.keys(out).length ? out : void 0;
16
- }
17
- //#endregion
18
- export { modelRolesFromClientOptions };
19
-
20
- //# sourceMappingURL=model-roles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-roles.js","names":[],"sources":["../../src/core/model-roles.ts"],"sourcesContent":["/**\n * Core-side model-role extraction shared by core services (realign, runtime).\n *\n * Kept in core so `core` does not take value imports from the clients package.\n * Client-only role helpers remain in `src/clients/model-roles.ts`.\n */\n\n/** Extract modelRoles from binding clientOptions (best-effort). */\nexport function modelRolesFromClientOptions(\n clientOptions: Record<string, unknown> | undefined,\n): Record<string, string> | undefined {\n if (!clientOptions || typeof clientOptions !== 'object') {\n return undefined;\n }\n const raw = clientOptions.modelRoles;\n if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {\n return undefined;\n }\n const out: Record<string, string> = {};\n for (const [k, v] of Object.entries(raw as Record<string, unknown>)) {\n if (typeof v === 'string' && v.trim()) {\n out[k] = v.trim();\n }\n }\n return Object.keys(out).length ? out : undefined;\n}\n"],"mappings":";;;;;;;;AAQA,SAAgB,4BACd,eACoC;CACpC,IAAI,CAAC,iBAAiB,OAAO,kBAAkB,UAC7C;CAEF,MAAM,MAAM,cAAc;CAC1B,IAAI,CAAC,OAAO,OAAO,QAAQ,YAAY,MAAM,QAAQ,GAAG,GACtD;CAEF,MAAM,MAA8B,CAAC;CACrC,KAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,GAA8B,GAChE,IAAI,OAAO,MAAM,YAAY,EAAE,KAAK,GAClC,IAAI,KAAK,EAAE,KAAK;CAGpB,OAAO,OAAO,KAAK,GAAG,CAAC,CAAC,SAAS,MAAM,KAAA;AACzC"}
@@ -1,31 +0,0 @@
1
- /**
2
- * Scoped mutation locks for anypick data root (spec §23.3, ADR 0009).
3
- *
4
- * Locks are re-entrant *within one async context*. Services own their locking
5
- * (ADR 0009: correctness must not depend on the caller), which means a service
6
- * that locks `account/grok/work` is routinely called from an activation already
7
- * holding that same scope. Without re-entrancy the inner acquisition would spin
8
- * against its own outer lock and fail with STATE_CONFLICT, so every nested call
9
- * would have to know whether it was already locked — exactly the
10
- * caller-supplied-lock design ADR 0009 rejected.
11
- */
12
- import { type WithFileLockOptions } from '../utils/lock.js';
13
- export declare function mutationLockPath(root: string, scope: string): string;
14
- /** Lock paths held by the current async context. Exposed for assertions and tests. */
15
- export declare function heldMutationLocks(): ReadonlySet<string>;
16
- /** True when the current async context already holds `scope`. */
17
- export declare function holdsMutationLock(root: string, scope: string): boolean;
18
- /**
19
- * Run a mutation under a scoped exclusive lock.
20
- * Scopes typically: `client/<id>`, `account/<provider>/<name>`, `db`, `proxy/<provider>/<name>`.
21
- */
22
- export declare function withMutationLock<T>(root: string, scope: string, fn: () => Promise<T>, opts?: WithFileLockOptions): Promise<T>;
23
- /**
24
- * Nested locks for multi-resource mutations (client + source).
25
- *
26
- * Scopes are de-duplicated and acquired in sorted order, so two mutations whose
27
- * scope sets overlap can never deadlock. Scopes already held by this async
28
- * context are skipped instead of re-acquired.
29
- */
30
- export declare function withMutationLocks<T>(root: string, scopes: string[], fn: () => Promise<T>, opts?: WithFileLockOptions): Promise<T>;
31
- //# sourceMappingURL=mutation-lock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutation-lock.d.ts","sourceRoot":"","sources":["../../src/core/mutation-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAWvE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED,sFAAsF;AACtF,wBAAgB,iBAAiB,IAAI,WAAW,CAAC,MAAM,CAAC,CAEvD;AAED,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtE;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,EAChB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,CAAC,CAAC,CAuBZ"}
@@ -1,69 +0,0 @@
1
- import { getAnyPickRoot } from "./paths.js";
2
- import { withFileLock } from "../utils/lock.js";
3
- import { join } from "node:path";
4
- import { AsyncLocalStorage } from "node:async_hooks";
5
- //#region src/core/mutation-lock.ts
6
- /**
7
- * Scoped mutation locks for anypick data root (spec §23.3, ADR 0009).
8
- *
9
- * Locks are re-entrant *within one async context*. Services own their locking
10
- * (ADR 0009: correctness must not depend on the caller), which means a service
11
- * that locks `account/grok/work` is routinely called from an activation already
12
- * holding that same scope. Without re-entrancy the inner acquisition would spin
13
- * against its own outer lock and fail with STATE_CONFLICT, so every nested call
14
- * would have to know whether it was already locked — exactly the
15
- * caller-supplied-lock design ADR 0009 rejected.
16
- */
17
- /**
18
- * Lock file paths held by the current async context. Identity is the resolved
19
- * path rather than the scope string, because scope sanitization is lossy.
20
- */
21
- var heldLocks = new AsyncLocalStorage();
22
- var NO_LOCKS = /* @__PURE__ */ new Set();
23
- function mutationLockPath(root, scope) {
24
- const safe = scope.replace(/[^a-zA-Z0-9._@/-]+/g, "_").replace(/\//g, "__");
25
- return join(getAnyPickRoot(root), "locks", `${safe}.lock`);
26
- }
27
- /** Lock paths held by the current async context. Exposed for assertions and tests. */
28
- function heldMutationLocks() {
29
- return heldLocks.getStore() ?? NO_LOCKS;
30
- }
31
- /**
32
- * Run a mutation under a scoped exclusive lock.
33
- * Scopes typically: `client/<id>`, `account/<provider>/<name>`, `db`, `proxy/<provider>/<name>`.
34
- */
35
- async function withMutationLock(root, scope, fn, opts) {
36
- return withMutationLocks(root, [scope], fn, opts);
37
- }
38
- /**
39
- * Nested locks for multi-resource mutations (client + source).
40
- *
41
- * Scopes are de-duplicated and acquired in sorted order, so two mutations whose
42
- * scope sets overlap can never deadlock. Scopes already held by this async
43
- * context are skipped instead of re-acquired.
44
- */
45
- async function withMutationLocks(root, scopes, fn, opts) {
46
- const held = heldMutationLocks();
47
- const pending = /* @__PURE__ */ new Map();
48
- for (const scope of [...new Set(scopes)].toSorted()) {
49
- const path = mutationLockPath(root, scope);
50
- if (!held.has(path) && !pending.has(path)) pending.set(path, scope);
51
- }
52
- if (pending.size === 0) return fn();
53
- const nextHeld = new Set(held);
54
- for (const path of pending.keys()) nextHeld.add(path);
55
- return acquire([...pending], nextHeld, fn, opts);
56
- }
57
- async function acquire(pending, held, fn, opts) {
58
- const head = pending[0];
59
- if (!head) return heldLocks.run(held, fn);
60
- const [path, scope] = head;
61
- return withFileLock(path, () => acquire(pending.slice(1), held, fn, opts), {
62
- resource: scope,
63
- ...opts
64
- });
65
- }
66
- //#endregion
67
- export { heldMutationLocks, mutationLockPath, withMutationLock, withMutationLocks };
68
-
69
- //# sourceMappingURL=mutation-lock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutation-lock.js","names":[],"sources":["../../src/core/mutation-lock.ts"],"sourcesContent":["/**\n * Scoped mutation locks for anypick data root (spec §23.3, ADR 0009).\n *\n * Locks are re-entrant *within one async context*. Services own their locking\n * (ADR 0009: correctness must not depend on the caller), which means a service\n * that locks `account/grok/work` is routinely called from an activation already\n * holding that same scope. Without re-entrancy the inner acquisition would spin\n * against its own outer lock and fail with STATE_CONFLICT, so every nested call\n * would have to know whether it was already locked — exactly the\n * caller-supplied-lock design ADR 0009 rejected.\n */\n\nimport { AsyncLocalStorage } from 'node:async_hooks';\nimport { join } from 'node:path';\nimport { withFileLock, type WithFileLockOptions } from '../utils/lock';\nimport { getAnyPickRoot } from './paths';\n\n/**\n * Lock file paths held by the current async context. Identity is the resolved\n * path rather than the scope string, because scope sanitization is lossy.\n */\nconst heldLocks = new AsyncLocalStorage<ReadonlySet<string>>();\n\nconst NO_LOCKS: ReadonlySet<string> = new Set<string>();\n\nexport function mutationLockPath(root: string, scope: string): string {\n const safe = scope.replace(/[^a-zA-Z0-9._@/-]+/g, '_').replace(/\\//g, '__');\n return join(getAnyPickRoot(root), 'locks', `${safe}.lock`);\n}\n\n/** Lock paths held by the current async context. Exposed for assertions and tests. */\nexport function heldMutationLocks(): ReadonlySet<string> {\n return heldLocks.getStore() ?? NO_LOCKS;\n}\n\n/** True when the current async context already holds `scope`. */\nexport function holdsMutationLock(root: string, scope: string): boolean {\n return heldMutationLocks().has(mutationLockPath(root, scope));\n}\n\n/**\n * Run a mutation under a scoped exclusive lock.\n * Scopes typically: `client/<id>`, `account/<provider>/<name>`, `db`, `proxy/<provider>/<name>`.\n */\nexport async function withMutationLock<T>(\n root: string,\n scope: string,\n fn: () => Promise<T>,\n opts?: WithFileLockOptions,\n): Promise<T> {\n return withMutationLocks(root, [scope], fn, opts);\n}\n\n/**\n * Nested locks for multi-resource mutations (client + source).\n *\n * Scopes are de-duplicated and acquired in sorted order, so two mutations whose\n * scope sets overlap can never deadlock. Scopes already held by this async\n * context are skipped instead of re-acquired.\n */\nexport async function withMutationLocks<T>(\n root: string,\n scopes: string[],\n fn: () => Promise<T>,\n opts?: WithFileLockOptions,\n): Promise<T> {\n const held = heldMutationLocks();\n\n // Sort by scope for a deterministic global acquisition order, then key by\n // resolved path so two scopes that sanitize to the same file lock once.\n const pending = new Map<string, string>();\n for (const scope of [...new Set(scopes)].toSorted()) {\n const path = mutationLockPath(root, scope);\n if (!held.has(path) && !pending.has(path)) {\n pending.set(path, scope);\n }\n }\n\n if (pending.size === 0) {\n return fn();\n }\n\n const nextHeld = new Set(held);\n for (const path of pending.keys()) {\n nextHeld.add(path);\n }\n\n return acquire([...pending], nextHeld, fn, opts);\n}\n\nasync function acquire<T>(\n pending: Array<[path: string, scope: string]>,\n held: ReadonlySet<string>,\n fn: () => Promise<T>,\n opts?: WithFileLockOptions,\n): Promise<T> {\n const head = pending[0];\n if (!head) {\n // Every scope is held: publish the set so nested service calls re-enter.\n return heldLocks.run(held, fn);\n }\n const [path, scope] = head;\n return withFileLock(path, () => acquire(pending.slice(1), held, fn, opts), {\n resource: scope,\n ...opts,\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAqBA,IAAM,YAAY,IAAI,kBAAuC;AAE7D,IAAM,2BAAgC,IAAI,IAAY;AAEtD,SAAgB,iBAAiB,MAAc,OAAuB;CACpE,MAAM,OAAO,MAAM,QAAQ,uBAAuB,GAAG,CAAC,CAAC,QAAQ,OAAO,IAAI;CAC1E,OAAO,KAAK,eAAe,IAAI,GAAG,SAAS,GAAG,KAAK,MAAM;AAC3D;;AAGA,SAAgB,oBAAyC;CACvD,OAAO,UAAU,SAAS,KAAK;AACjC;;;;;AAWA,eAAsB,iBACpB,MACA,OACA,IACA,MACY;CACZ,OAAO,kBAAkB,MAAM,CAAC,KAAK,GAAG,IAAI,IAAI;AAClD;;;;;;;;AASA,eAAsB,kBACpB,MACA,QACA,IACA,MACY;CACZ,MAAM,OAAO,kBAAkB;CAI/B,MAAM,0BAAU,IAAI,IAAoB;CACxC,KAAK,MAAM,SAAS,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,SAAS,GAAG;EACnD,MAAM,OAAO,iBAAiB,MAAM,KAAK;EACzC,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,GACtC,QAAQ,IAAI,MAAM,KAAK;CAE3B;CAEA,IAAI,QAAQ,SAAS,GACnB,OAAO,GAAG;CAGZ,MAAM,WAAW,IAAI,IAAI,IAAI;CAC7B,KAAK,MAAM,QAAQ,QAAQ,KAAK,GAC9B,SAAS,IAAI,IAAI;CAGnB,OAAO,QAAQ,CAAC,GAAG,OAAO,GAAG,UAAU,IAAI,IAAI;AACjD;AAEA,eAAe,QACb,SACA,MACA,IACA,MACY;CACZ,MAAM,OAAO,QAAQ;CACrB,IAAI,CAAC,MAEH,OAAO,UAAU,IAAI,MAAM,EAAE;CAE/B,MAAM,CAAC,MAAM,SAAS;CACtB,OAAO,aAAa,YAAY,QAAQ,QAAQ,MAAM,CAAC,GAAG,MAAM,IAAI,IAAI,GAAG;EACzE,UAAU;EACV,GAAG;CACL,CAAC;AACH"}
@@ -1,49 +0,0 @@
1
- /**
2
- * Resolve the AnyPick data root.
3
- *
4
- * AnyPick always keeps its state under ~/.anypick unless an explicit override
5
- * or ANYPICK_HOME is supplied.
6
- */
7
- export declare function getAnyPickRoot(override?: string): string;
8
- export declare function providerDir(root: string, providerId: string): string;
9
- export declare function accountsDir(root: string, providerId: string): string;
10
- export declare function accountDir(root: string, providerId: string, accountName: string): string;
11
- export declare function accountMetaPath(root: string, providerId: string, accountName: string): string;
12
- export declare function accountSnapshotDir(root: string, providerId: string, accountName: string): string;
13
- /** File holding the name of the currently active account for a provider. */
14
- export declare function activePointerPath(root: string, providerId: string): string;
15
- /** Per-account proxy configuration (enabled, port, options). */
16
- export declare function accountProxyConfigPath(root: string, providerId: string, accountName: string): string;
17
- /**
18
- * Writable runtime directory for an account's proxy process
19
- * (pid, logs, state). Isolated per provider + account.
20
- */
21
- export declare function accountProxyRuntimeDir(root: string, providerId: string, accountName: string): string;
22
- export declare function proxyPidPath(root: string, providerId: string, accountName: string): string;
23
- export declare function proxyLogPath(root: string, providerId: string, accountName: string): string;
24
- export declare function proxyStatePath(root: string, providerId: string, accountName: string): string;
25
- export declare function proxyHubRuntimeDir(root: string, name: string): string;
26
- export declare function proxyHubPidPath(root: string, name: string): string;
27
- export declare function proxyHubLogPath(root: string, name: string): string;
28
- export declare function configPath(root: string): string;
29
- /** Primary SQLite database for structured anypick data. */
30
- export declare function anypickDbPath(root: string): string;
31
- export declare function profilesDir(root: string): string;
32
- export declare function profileDir(root: string, profileName: string): string;
33
- export declare function profileMetaPath(root: string, profileName: string): string;
34
- export declare function profileSecretsPath(root: string, profileName: string): string;
35
- export declare function clientsDir(root: string): string;
36
- export declare function clientDir(root: string, clientId: string): string;
37
- export declare function clientStatePath(root: string, clientId: string): string;
38
- export declare function clientBackupDir(root: string, clientId: string): string;
39
- /**
40
- * Owner-only recovery directory for durable crash backups (TXN-01). Backups of
41
- * overwritten client config files live here — inside the AnyPick root, not the
42
- * system temp dir — so they survive a crash and are never world-readable.
43
- * Created with mode 0o700 (owner-only).
44
- */
45
- export declare function recoveryDir(root: string): string;
46
- export declare function clientRecoveryDir(root: string, clientId: string): string;
47
- export declare function clientEnvPath(root: string, clientId: string): string;
48
- export declare function clientEnvPs1Path(root: string, clientId: string): string;
49
- //# sourceMappingURL=paths.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/core/paths.ts"],"names":[],"mappings":"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"}
@@ -1,110 +0,0 @@
1
- import { expandHome } from "../utils/fs.js";
2
- import { join } from "node:path";
3
- import { homedir } from "node:os";
4
- //#region src/core/paths.ts
5
- /**
6
- * Resolve the AnyPick data root.
7
- *
8
- * AnyPick always keeps its state under ~/.anypick unless an explicit override
9
- * or ANYPICK_HOME is supplied.
10
- */
11
- function getAnyPickRoot(override) {
12
- if (override) return expandHome(override);
13
- if (process.env.ANYPICK_HOME) return expandHome(process.env.ANYPICK_HOME);
14
- return join(homedir(), ".anypick");
15
- }
16
- function providerDir(root, providerId) {
17
- return join(root, "providers", providerId);
18
- }
19
- function accountsDir(root, providerId) {
20
- return join(providerDir(root, providerId), "accounts");
21
- }
22
- function accountDir(root, providerId, accountName) {
23
- return join(accountsDir(root, providerId), accountName);
24
- }
25
- function accountMetaPath(root, providerId, accountName) {
26
- return join(accountDir(root, providerId, accountName), "meta.json");
27
- }
28
- function accountSnapshotDir(root, providerId, accountName) {
29
- return join(accountDir(root, providerId, accountName), "snapshot");
30
- }
31
- /** File holding the name of the currently active account for a provider. */
32
- function activePointerPath(root, providerId) {
33
- return join(providerDir(root, providerId), "active");
34
- }
35
- /** Per-account proxy configuration (enabled, port, options). */
36
- function accountProxyConfigPath(root, providerId, accountName) {
37
- return join(accountDir(root, providerId, accountName), "proxy.json");
38
- }
39
- /**
40
- * Writable runtime directory for an account's proxy process
41
- * (pid, logs, state). Isolated per provider + account.
42
- */
43
- function accountProxyRuntimeDir(root, providerId, accountName) {
44
- return join(accountDir(root, providerId, accountName), "runtime");
45
- }
46
- function proxyPidPath(root, providerId, accountName) {
47
- return join(accountProxyRuntimeDir(root, providerId, accountName), "proxy.pid");
48
- }
49
- function proxyLogPath(root, providerId, accountName) {
50
- return join(accountProxyRuntimeDir(root, providerId, accountName), "proxy.log");
51
- }
52
- function proxyHubRuntimeDir(root, name) {
53
- return join(root, "proxy-hub", name);
54
- }
55
- function proxyHubPidPath(root, name) {
56
- return join(proxyHubRuntimeDir(root, name), "hub.pid");
57
- }
58
- function proxyHubLogPath(root, name) {
59
- return join(proxyHubRuntimeDir(root, name), "hub.log");
60
- }
61
- function configPath(root) {
62
- return join(root, "config.json");
63
- }
64
- /** Primary SQLite database for structured anypick data. */
65
- function anypickDbPath(root) {
66
- return join(root, "anypick.db");
67
- }
68
- function profilesDir(root) {
69
- return join(root, "profiles");
70
- }
71
- function profileDir(root, profileName) {
72
- return join(profilesDir(root), profileName);
73
- }
74
- function profileMetaPath(root, profileName) {
75
- return join(profileDir(root, profileName), "profile.json");
76
- }
77
- function profileSecretsPath(root, profileName) {
78
- return join(profileDir(root, profileName), "secrets.json");
79
- }
80
- function clientsDir(root) {
81
- return join(root, "clients");
82
- }
83
- function clientDir(root, clientId) {
84
- return join(clientsDir(root), clientId);
85
- }
86
- function clientStatePath(root, clientId) {
87
- return join(clientDir(root, clientId), "state.json");
88
- }
89
- function clientBackupDir(root, clientId) {
90
- return join(clientDir(root, clientId), "backup");
91
- }
92
- /**
93
- * Owner-only recovery directory for durable crash backups (TXN-01). Backups of
94
- * overwritten client config files live here — inside the AnyPick root, not the
95
- * system temp dir — so they survive a crash and are never world-readable.
96
- * Created with mode 0o700 (owner-only).
97
- */
98
- function recoveryDir(root) {
99
- return join(root, "recovery");
100
- }
101
- function clientEnvPath(root, clientId) {
102
- return join(clientDir(root, clientId), "env.sh");
103
- }
104
- function clientEnvPs1Path(root, clientId) {
105
- return join(clientDir(root, clientId), "env.ps1");
106
- }
107
- //#endregion
108
- export { accountDir, accountMetaPath, accountProxyConfigPath, accountProxyRuntimeDir, accountSnapshotDir, accountsDir, activePointerPath, anypickDbPath, clientBackupDir, clientDir, clientEnvPath, clientEnvPs1Path, clientStatePath, clientsDir, configPath, getAnyPickRoot, profileDir, profileMetaPath, profileSecretsPath, profilesDir, providerDir, proxyHubLogPath, proxyHubPidPath, proxyHubRuntimeDir, proxyLogPath, proxyPidPath, recoveryDir };
109
-
110
- //# sourceMappingURL=paths.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.js","names":[],"sources":["../../src/core/paths.ts"],"sourcesContent":["import { join } from 'node:path';\nimport { homedir } from 'node:os';\nimport { expandHome } from '../utils/fs';\n\n/**\n * Resolve the AnyPick data root.\n *\n * AnyPick always keeps its state under ~/.anypick unless an explicit override\n * or ANYPICK_HOME is supplied.\n */\nexport function getAnyPickRoot(override?: string): string {\n if (override) {\n return expandHome(override);\n }\n if (process.env.ANYPICK_HOME) {\n return expandHome(process.env.ANYPICK_HOME);\n }\n return join(homedir(), '.anypick');\n}\n\nexport function providerDir(root: string, providerId: string): string {\n return join(root, 'providers', providerId);\n}\n\nexport function accountsDir(root: string, providerId: string): string {\n return join(providerDir(root, providerId), 'accounts');\n}\n\nexport function accountDir(root: string, providerId: string, accountName: string): string {\n return join(accountsDir(root, providerId), accountName);\n}\n\nexport function accountMetaPath(root: string, providerId: string, accountName: string): string {\n return join(accountDir(root, providerId, accountName), 'meta.json');\n}\n\nexport function accountSnapshotDir(root: string, providerId: string, accountName: string): string {\n return join(accountDir(root, providerId, accountName), 'snapshot');\n}\n\n/** File holding the name of the currently active account for a provider. */\nexport function activePointerPath(root: string, providerId: string): string {\n return join(providerDir(root, providerId), 'active');\n}\n\n/** Per-account proxy configuration (enabled, port, options). */\nexport function accountProxyConfigPath(\n root: string,\n providerId: string,\n accountName: string,\n): string {\n return join(accountDir(root, providerId, accountName), 'proxy.json');\n}\n\n/**\n * Writable runtime directory for an account's proxy process\n * (pid, logs, state). Isolated per provider + account.\n */\nexport function accountProxyRuntimeDir(\n root: string,\n providerId: string,\n accountName: string,\n): string {\n return join(accountDir(root, providerId, accountName), 'runtime');\n}\n\nexport function proxyPidPath(root: string, providerId: string, accountName: string): string {\n return join(accountProxyRuntimeDir(root, providerId, accountName), 'proxy.pid');\n}\n\nexport function proxyLogPath(root: string, providerId: string, accountName: string): string {\n return join(accountProxyRuntimeDir(root, providerId, accountName), 'proxy.log');\n}\n\nexport function proxyStatePath(root: string, providerId: string, accountName: string): string {\n return join(accountProxyRuntimeDir(root, providerId, accountName), 'state.json');\n}\n\n// ── Unified Proxy Hub ────────────────────────────────────────────\n\nexport function proxyHubRuntimeDir(root: string, name: string): string {\n return join(root, 'proxy-hub', name);\n}\n\nexport function proxyHubPidPath(root: string, name: string): string {\n return join(proxyHubRuntimeDir(root, name), 'hub.pid');\n}\n\nexport function proxyHubLogPath(root: string, name: string): string {\n return join(proxyHubRuntimeDir(root, name), 'hub.log');\n}\n\n// ── Global config / database ─────────────────────────────────────\n\nexport function configPath(root: string): string {\n return join(root, 'config.json');\n}\n\n/** Primary SQLite database for structured anypick data. */\nexport function anypickDbPath(root: string): string {\n return join(root, 'anypick.db');\n}\n\n// ── Runtime profiles ─────────────────────────────────────────────\n\nexport function profilesDir(root: string): string {\n return join(root, 'profiles');\n}\n\nexport function profileDir(root: string, profileName: string): string {\n return join(profilesDir(root), profileName);\n}\n\nexport function profileMetaPath(root: string, profileName: string): string {\n return join(profileDir(root, profileName), 'profile.json');\n}\n\nexport function profileSecretsPath(root: string, profileName: string): string {\n return join(profileDir(root, profileName), 'secrets.json');\n}\n\n// ── Client state ─────────────────────────────────────────────────\n\nexport function clientsDir(root: string): string {\n return join(root, 'clients');\n}\n\nexport function clientDir(root: string, clientId: string): string {\n return join(clientsDir(root), clientId);\n}\n\nexport function clientStatePath(root: string, clientId: string): string {\n return join(clientDir(root, clientId), 'state.json');\n}\n\nexport function clientBackupDir(root: string, clientId: string): string {\n return join(clientDir(root, clientId), 'backup');\n}\n\n/**\n * Owner-only recovery directory for durable crash backups (TXN-01). Backups of\n * overwritten client config files live here — inside the AnyPick root, not the\n * system temp dir — so they survive a crash and are never world-readable.\n * Created with mode 0o700 (owner-only).\n */\nexport function recoveryDir(root: string): string {\n return join(root, 'recovery');\n}\n\nexport function clientRecoveryDir(root: string, clientId: string): string {\n return join(recoveryDir(root), 'clients', clientId);\n}\n\nexport function clientEnvPath(root: string, clientId: string): string {\n return join(clientDir(root, clientId), 'env.sh');\n}\n\nexport function clientEnvPs1Path(root: string, clientId: string): string {\n return join(clientDir(root, clientId), 'env.ps1');\n}\n"],"mappings":"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"}