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 +0,0 @@
1
- {"version":3,"file":"primary.js","names":[],"sources":["../../src/cli/primary.ts"],"sourcesContent":["/**\n * Primary DX command surface (spec §5): use, run, current, list, add, link, unlink, reset.\n */\n\nimport { Command } from 'commander';\nimport type { AnyPickApp } from '../core/app';\nimport type { ResolvedTransport } from '../types';\nimport { parseNativeAccountShorthand, displayRef } from '../core/refs';\nimport { resolveProjectRoot } from '../core/project-root';\nimport { ExitCode, anypickError } from '../utils/errors';\nimport { formatModel, formatUseSuccess, handleCliError } from './errors';\nimport { MARK, info, success, warn } from './ux';\nimport pc from 'picocolors';\n\nexport interface GlobalOpts {\n json?: boolean;\n verbose?: boolean;\n dryRun?: boolean;\n reveal?: boolean;\n quiet?: boolean;\n /** Commander exposes a negated --no-input option as `input: false`. */\n input?: boolean;\n yes?: boolean;\n trace?: boolean;\n}\n\nfunction canPrompt(g: GlobalOpts): boolean {\n return (\n Boolean(process.stdin.isTTY && process.stderr.isTTY) &&\n !g.json &&\n g.input !== false &&\n !process.env.CI\n );\n}\n\nfunction printDryRun(\n g: GlobalOpts,\n action: string,\n detail: string,\n extra?: Record<string, unknown>,\n): void {\n if (g.json) {\n console.log(JSON.stringify({ dryRun: true, action, ...extra }));\n } else {\n info(`[dry-run] ${detail}`);\n }\n}\n\nconst API_KEY_INPUT = 'api-key';\n\n/**\n * Save an API key as an account. The key is credential material the user holds\n * rather than a login on this machine, so there is nothing to detect, stash, or\n * restore — the account exists only to be served through the provider's proxy.\n */\nasync function addApiKeyAccount(\n accounts: AnyPickApp['accounts'],\n provider: string,\n opts: {\n name?: string;\n current?: boolean;\n new?: boolean;\n apiKey?: string | boolean;\n region?: string;\n },\n g: GlobalOpts,\n): Promise<void> {\n if (opts.current || opts.new) {\n throw anypickError(\n '--api-key saves a key you already hold; drop --current and --new.',\n 'INVALID_USAGE',\n { exitCode: ExitCode.INVALID_USAGE },\n );\n }\n if (opts.apiKey == null) {\n throw anypickError('--region only applies together with --api-key.', 'INVALID_USAGE', {\n exitCode: ExitCode.INVALID_USAGE,\n });\n }\n\n const target = accounts.provider(provider);\n if (!target.credentialInputs?.includes(API_KEY_INPUT)) {\n throw anypickError(`Provider \"${provider}\" does not accept an API key.`, 'INVALID_USAGE', {\n exitCode: ExitCode.INVALID_USAGE,\n });\n }\n\n let secret = typeof opts.apiKey === 'string' ? opts.apiKey.trim() : '';\n if (!secret) {\n if (!canPrompt(g)) {\n throw anypickError(\n `An API key is required.\\n\\n anypick add account ${provider} --api-key <key> --name work`,\n 'INVALID_USAGE',\n { exitCode: ExitCode.INVALID_USAGE },\n );\n }\n const { isCancel, password } = await import('@clack/prompts');\n const entered = await password({ message: `${target.name} API key` });\n if (isCancel(entered) || !entered.trim()) {\n process.exit(ExitCode.CANCELLED);\n }\n secret = entered.trim();\n }\n\n const name = opts.name ?? API_KEY_INPUT;\n if (g.dryRun) {\n printDryRun(g, 'account.save', `Would save ${provider}/${name} from an API key`, {\n provider,\n name,\n mode: API_KEY_INPUT,\n });\n return;\n }\n\n const meta = await accounts.save(provider, name, {\n force: true,\n input: {\n kind: API_KEY_INPUT,\n secret,\n ...(opts.region ? { options: { region: opts.region } } : {}),\n },\n });\n if (g.json) {\n console.log(JSON.stringify({ saved: meta, mode: API_KEY_INPUT }));\n } else {\n success(`Saved ${provider}/${meta.name}`);\n }\n}\n\nfunction transportLabel(plan: {\n transport: {\n capability: string;\n endpoint?: string;\n managedProxy?: { port: number };\n };\n}): string {\n const t = plan.transport;\n switch (t.capability) {\n case 'direct':\n return t.endpoint ? `direct · ${t.endpoint}` : 'direct';\n case 'managed_builtin_proxy':\n return `managed proxy · ${t.endpoint ?? `127.0.0.1:${t.managedProxy?.port ?? '?'}`}`;\n case 'managed_external_proxy':\n return `managed external proxy · ${t.endpoint ?? ''}`;\n case 'external_manual_proxy':\n return 'external proxy (manual)';\n default:\n return t.capability;\n }\n}\n\n/** Serialize transport metadata without bearer/API secrets or lease internals. */\nfunction publicTransport(transport: ResolvedTransport): Omit<ResolvedTransport, 'managedProxy'> & {\n managedProxy?: Omit<NonNullable<ResolvedTransport['managedProxy']>, 'token' | 'leaseId'>;\n} {\n const { managedProxy, ...rest } = transport;\n return {\n ...rest,\n ...(managedProxy\n ? {\n managedProxy: {\n provider: managedProxy.provider,\n ...(managedProxy.account ? { account: managedProxy.account } : {}),\n port: managedProxy.port,\n },\n }\n : {}),\n };\n}\n\nexport function registerPrimaryCommands(\n program: Command,\n app: AnyPickApp,\n globals: () => GlobalOpts,\n): void {\n const { bindingService, clients, accounts, profiles, presets, bindings } = app;\n\n // ── use ────────────────────────────────────────────────────────\n program\n .command('use')\n .description('Set what a client uses by default')\n .argument('[client]', 'Client id (claude, codex, kiro)')\n .option('--with <source>', 'Account (provider/name), gateway, or @preset')\n .option('--current', 'Re-apply the stored global binding', false)\n .option('--model <model>', 'Explicit model id')\n .option('--save <name>', 'Also save as a named preset')\n .action(\n async (\n clientArg: string | undefined,\n opts: {\n with?: string;\n current?: boolean;\n model?: string;\n save?: string;\n },\n ) => {\n try {\n const g = globals();\n let client = clientArg;\n let withSource = opts.with;\n\n // Native shorthand: anypick use codex/personal\n if (client && !withSource && !opts.current && client.includes('/')) {\n const sh = parseNativeAccountShorthand(client, {\n accountProviders: new Set(app.accountRegistry.ids()),\n clientIds: new Set(clients.ids()),\n });\n if (sh) {\n client = sh.client;\n withSource = displayRef(sh.source);\n }\n }\n\n if (!client) {\n if (canPrompt(g)) {\n // Interactive: pick client then source — minimal for now\n const { select } = await import('@clack/prompts');\n const picked = await select({\n message: 'Which client?',\n options: clients.list().map((c) => ({\n value: c.id,\n label: c.name,\n })),\n });\n if (typeof picked !== 'string') {\n process.exit(ExitCode.CANCELLED);\n }\n client = picked;\n } else {\n throw anypickError(\n 'A client is required.\\n\\nTry:\\n anypick use claude --with grok/work',\n 'MISSING_CLIENT',\n {\n exitCode: ExitCode.INVALID_USAGE,\n suggestions: ['anypick use claude --with grok/work'],\n },\n );\n }\n }\n\n // TTY bare client: allow re-apply or picker via allowMissingSource\n const ttyBare = !withSource && !opts.current && canPrompt(g);\n\n let result;\n try {\n result = await bindingService.use(client, {\n with: withSource,\n current: opts.current,\n model: opts.model,\n save: opts.save,\n dryRun: g.dryRun,\n verbose: g.verbose,\n allowMissingSource: ttyBare,\n });\n } catch (err) {\n // TTY: no binding → open source picker then retry\n if (\n ttyBare &&\n err &&\n typeof err === 'object' &&\n 'details' in err &&\n (err as { details?: { needsPicker?: boolean } }).details?.needsPicker\n ) {\n const { select, text } = await import('@clack/prompts');\n const kind = await select({\n message: `What should ${clients.get(client).name} use?`,\n options: [\n { value: 'account', label: 'An account (provider/name)' },\n { value: 'gateway', label: 'A gateway' },\n { value: 'preset', label: 'A preset (@name)' },\n ],\n });\n if (typeof kind !== 'string') {\n process.exit(ExitCode.CANCELLED);\n }\n if (kind === 'preset') {\n const name = await text({ message: 'Preset name (without @)' });\n if (typeof name !== 'string') {\n process.exit(ExitCode.CANCELLED);\n }\n withSource = `@${name}`;\n } else {\n const raw = await text({\n message: kind === 'account' ? 'Account (provider/name)' : 'Gateway name',\n });\n if (typeof raw !== 'string') {\n process.exit(ExitCode.CANCELLED);\n }\n withSource = raw;\n }\n result = await bindingService.use(client, {\n with: withSource,\n model: opts.model,\n save: opts.save,\n dryRun: g.dryRun,\n verbose: g.verbose,\n });\n } else {\n throw err;\n }\n }\n\n if (g.json) {\n console.log(\n JSON.stringify({\n client,\n source: result.plan.resolvedSource.display,\n model: result.plan.model,\n transport: publicTransport(result.plan.transport),\n alreadyActive: result.alreadyActive,\n dryRun: result.dryRun,\n savedPreset: result.savedPreset,\n steps: g.verbose ? result.plan.steps.map((s) => s.kind) : undefined,\n }),\n );\n return;\n }\n\n if (result.dryRun) {\n info('Dry run — plan only:');\n for (const step of result.plan.steps) {\n console.log(` · ${step.kind}${step.detail ? ` — ${step.detail}` : ''}`);\n }\n return;\n }\n\n const clientName = clients.get(client).name;\n const endpoint = result.proxyEndpoint ?? result.plan.transport.endpoint ?? undefined;\n if (result.alreadyActive) {\n success(\n formatUseSuccess({\n clientName,\n sourceDisplay: result.plan.resolvedSource.display,\n alreadyActive: true,\n model: formatModel(result.plan.model),\n transport: transportLabel(result.plan),\n configEndpoint: endpoint,\n savedPreset: result.savedPreset,\n }),\n );\n return;\n }\n\n success(\n formatUseSuccess({\n clientName,\n sourceDisplay: result.plan.resolvedSource.display,\n model: formatModel(result.plan.model),\n transport: transportLabel(result.plan),\n configEndpoint: endpoint,\n scope: 'global default',\n savedPreset: result.savedPreset,\n }),\n );\n } catch (err) {\n handleCliError(err);\n }\n },\n );\n\n // ── run ────────────────────────────────────────────────────────\n program\n .command('run')\n .description('Launch a client with its effective AnyPick binding')\n .argument('[client]', 'Client id')\n .option('--with <source>', 'Temporary source override')\n .option('--model <model>', 'Explicit model id')\n .allowUnknownOption(true)\n .action(\n async (\n clientArg: string | undefined,\n opts: { with?: string; model?: string },\n cmd: Command,\n ) => {\n try {\n const g = globals();\n let client = clientArg;\n\n // Pass-through args after --\n const raw = cmd.args;\n // commander puts remainder differently; use process.argv after --\n const dd = process.argv.indexOf('--');\n const childArgs = dd >= 0 ? process.argv.slice(dd + 1) : [];\n\n if (!client) {\n if (canPrompt(g)) {\n const { select } = await import('@clack/prompts');\n const options = clients.list().map((c) => {\n const b = bindings.getGlobal(c.id);\n return {\n value: c.id,\n label: b ? `${c.name} · ${displayRef(b.spec.source)}` : `${c.name} · no binding`,\n };\n });\n const picked = await select({\n message: 'Which client?',\n options,\n });\n if (typeof picked !== 'string') {\n process.exit(ExitCode.CANCELLED);\n }\n client = picked;\n } else {\n throw anypickError(\n 'A client is required.\\n\\nTry:\\n anypick run claude\\n anypick run codex',\n 'MISSING_CLIENT',\n {\n exitCode: ExitCode.INVALID_USAGE,\n suggestions: ['anypick run claude', 'anypick run codex'],\n },\n );\n }\n }\n\n // Ignore unknown clientArg when it's actually a flag remnant\n void raw;\n\n const { launchClient } = await import('./launch-client');\n const code = await launchClient(app, client, {\n with: opts.with,\n model: opts.model,\n dryRun: g.dryRun,\n verbose: g.verbose,\n json: g.json,\n childArgs,\n });\n process.exit(code);\n } catch (err) {\n handleCliError(err);\n }\n },\n );\n\n // ── current ────────────────────────────────────────────────────\n program\n .command('current')\n .description('Show effective AnyPick bindings')\n .argument('[client]', 'Optional client filter')\n .action(async (clientArg: string | undefined) => {\n try {\n const g = globals();\n const rows = bindingService.current(clientArg);\n if (g.json) {\n console.log(\n JSON.stringify(\n {\n projectRoot: resolveProjectRoot(),\n clients: rows.map((r) => ({\n client: r.client,\n name: r.clientName,\n scope: r.scope,\n source: r.binding ? displayRef(r.binding.spec.source) : null,\n model: r.binding?.spec.model ?? null,\n provenance: r.binding?.provenance ?? null,\n })),\n },\n null,\n 2,\n ),\n );\n return;\n }\n\n if (rows.length === 0) {\n info('No clients registered.');\n return;\n }\n\n console.log(pc.bold('AnyPick current'));\n console.log(pc.dim(`Project root: ${resolveProjectRoot()}`));\n console.log();\n for (const r of rows) {\n console.log(pc.bold(r.clientName) + pc.dim(` (${r.client})`));\n if (!r.binding) {\n console.log(pc.dim(' No AnyPick binding'));\n console.log(pc.dim(` Set one: anypick use ${r.client} --with <source>`));\n } else {\n console.log(` Source ${displayRef(r.binding.spec.source)}`);\n console.log(` Model ${formatModel(r.binding.spec.model)}`);\n console.log(` Scope ${r.scope}`);\n }\n console.log();\n }\n } catch (err) {\n handleCliError(err);\n }\n });\n\n // ── list ───────────────────────────────────────────────────────\n program\n .command('list')\n .alias('ls')\n .description('List accounts, gateways, clients, or presets')\n .argument('[kind]', 'accounts | gateways | clients | presets')\n .action(async (kind: string | undefined) => {\n try {\n const g = globals();\n const k = (kind ?? 'all').toLowerCase();\n\n if (g.json) {\n const payload: Record<string, unknown> = {};\n if (k === 'all' || k === 'accounts') {\n payload.accounts = await accounts.list();\n }\n if (k === 'all' || k === 'gateways') {\n payload.gateways = (await profiles.list()).map((p) => ({\n name: p.meta.name,\n provider: p.meta.provider,\n endpoint: p.meta.endpoint,\n defaultModel: p.meta.defaultModel,\n }));\n }\n if (k === 'all' || k === 'clients') {\n payload.clients = clients.list().map((c) => ({\n id: c.id,\n name: c.name,\n binding: bindings.getGlobal(c.id)\n ? displayRef(bindings.getGlobal(c.id)!.spec.source)\n : null,\n }));\n }\n if (k === 'all' || k === 'presets') {\n payload.presets = presets.list().map((p) => ({\n name: p.name,\n client: p.spec.client,\n source: displayRef(p.spec.source),\n revision: p.revision,\n }));\n }\n console.log(JSON.stringify(payload, null, 2));\n return;\n }\n\n if (k === 'all' || k === 'accounts') {\n console.log(pc.bold('Accounts'));\n const list = await accounts.list();\n if (list.length === 0) {\n console.log(pc.dim(' (none)'));\n }\n for (const a of list) {\n const mark = a.active ? pc.green(MARK.live) : ' ';\n console.log(\n ` ${mark} ${a.provider}/${a.name}${a.identity ? pc.dim(` · ${a.identity}`) : ''}`,\n );\n }\n console.log();\n }\n if (k === 'all' || k === 'gateways') {\n console.log(pc.bold('Gateways'));\n const list = await profiles.list();\n if (list.length === 0) {\n console.log(pc.dim(' (none)'));\n }\n for (const p of list) {\n console.log(\n ` ${p.meta.name}${pc.dim(` · ${p.meta.provider}`)}${p.meta.defaultModel ? pc.dim(` · ${p.meta.defaultModel}`) : ''}`,\n );\n }\n console.log();\n }\n if (k === 'all' || k === 'clients') {\n console.log(pc.bold('Clients'));\n for (const c of clients.list()) {\n const b = bindings.getGlobal(c.id);\n console.log(\n ` ${c.name}${pc.dim(` (${c.id})`)}${b ? ` → ${displayRef(b.spec.source)}` : pc.dim(' · unbound')}`,\n );\n }\n console.log();\n }\n if (k === 'all' || k === 'presets') {\n console.log(pc.bold('Presets'));\n const list = presets.list();\n if (list.length === 0) {\n console.log(pc.dim(' (none)'));\n }\n for (const p of list) {\n console.log(\n ` @${p.name}${pc.dim(` · ${p.spec.client} · ${displayRef(p.spec.source)}`)}`,\n );\n }\n }\n } catch (err) {\n handleCliError(err);\n }\n });\n\n // ── add ────────────────────────────────────────────────────────\n const add = program.command('add').description('Add an account or gateway');\n\n add\n .command('account')\n .description('Add a saved account login')\n .argument('[provider]', 'Auth provider (codex, grok, …)')\n .option('--current', 'Save the currently live login', false)\n .option('--new', 'Start a new login flow', false)\n .option('--name <name>', 'Account name')\n .option('--source <source>', 'Gemini sign-in source: gemini-cli|antigravity')\n .option('--api-key [key]', 'Save an API key instead of a login; omit the value to be prompted')\n .option('--region <region>', 'API region for --api-key')\n .action(\n async (\n provider: string | undefined,\n opts: {\n current?: boolean;\n new?: boolean;\n name?: string;\n source?: string;\n apiKey?: string | boolean;\n region?: string;\n },\n ) => {\n try {\n const g = globals();\n if (!provider) {\n if (!canPrompt(g)) {\n throw anypickError(\n 'Provider required.\\n\\n anypick add account codex --current --name personal',\n 'INVALID_USAGE',\n { exitCode: ExitCode.INVALID_USAGE },\n );\n }\n const { select } = await import('@clack/prompts');\n const picked = await select({\n message: 'Provider?',\n options: accounts.listProviders().map((p) => ({\n value: p.id,\n label: p.name,\n })),\n });\n if (typeof picked !== 'string') {\n process.exit(ExitCode.CANCELLED);\n }\n provider = picked;\n }\n\n if (opts.current && opts.new) {\n throw anypickError('--current and --new are mutually exclusive.', 'INVALID_USAGE', {\n exitCode: ExitCode.INVALID_USAGE,\n });\n }\n\n if (opts.apiKey != null || opts.region != null) {\n await addApiKeyAccount(accounts, provider, opts, g);\n return;\n }\n\n if (opts.source && opts.source !== 'gemini-cli' && opts.source !== 'antigravity') {\n throw anypickError(\n `Unknown source \"${opts.source}\". Use gemini-cli or antigravity.`,\n 'INVALID_USAGE',\n { exitCode: ExitCode.INVALID_USAGE },\n );\n }\n const source = opts.source as 'gemini-cli' | 'antigravity' | undefined;\n if (source && !accounts.provider(provider).detectLiveSource) {\n throw anypickError(\n `Provider \"${provider}\" has a single sign-in source; drop --source.`,\n 'INVALID_USAGE',\n { exitCode: ExitCode.INVALID_USAGE },\n );\n }\n\n if (!opts.current && !opts.new) {\n if (!canPrompt(g)) {\n throw anypickError(\n `Choose how to add the ${provider} account.\\n\\nSave the current login:\\n anypick add account ${provider} --current --name personal\\n\\nAdd another login:\\n anypick add account ${provider} --new --name work`,\n 'INVALID_USAGE',\n { exitCode: ExitCode.INVALID_USAGE },\n );\n }\n const { select } = await import('@clack/prompts');\n const target = accounts.provider(provider);\n const live =\n source && target.detectLiveSource\n ? await target.detectLiveSource(source)\n : await target.detectLive();\n const label = source ?? provider;\n const choice = await select({\n message: live.present\n ? `${label} is currently logged in${live.identity ? ` as ${live.identity}` : ''}.\\nWhat do you want to do?`\n : `No live ${label} login detected. What do you want to do?`,\n options: [\n { value: 'new', label: 'Add another account' },\n ...(live.present ? [{ value: 'current', label: 'Save the current account' }] : []),\n { value: 'cancel', label: 'Cancel' },\n ],\n });\n if (choice === 'cancel' || typeof choice !== 'string') {\n process.exit(ExitCode.CANCELLED);\n }\n if (choice === 'current') {\n opts.current = true;\n } else {\n opts.new = true;\n }\n }\n\n if (opts.current) {\n // A non-default source has no ~/.gemini identity to derive a name from.\n const name = source\n ? (opts.name ?? source)\n : await accounts.resolveCurrentSaveName(provider, opts.name);\n if (g.dryRun) {\n printDryRun(\n g,\n 'account.save',\n `Would save ${provider}/${name} from the current login`,\n {\n provider,\n name,\n mode: 'current',\n ...(source ? { source } : {}),\n },\n );\n return;\n }\n const meta = source\n ? await accounts.save(provider, name, { force: true, source })\n : await accounts.saveCurrent(provider, name);\n if (g.json) {\n console.log(JSON.stringify({ saved: meta, mode: 'current' }));\n } else {\n success(`Saved ${provider}/${meta.name}`);\n }\n return;\n }\n\n if (opts.new) {\n const label = source ?? provider;\n const nextName = opts.name ?? (source === 'antigravity' ? 'antigravity-2' : 'work');\n const next = `anypick add account ${provider} --current --name ${nextName}${\n source ? ` --source ${source}` : ''\n }`;\n if (g.dryRun) {\n printDryRun(\n g,\n 'account.stash',\n `Would clear the live ${label} login and start a new flow`,\n {\n provider,\n name: nextName,\n mode: 'new',\n ...(source ? { source } : {}),\n },\n );\n return;\n }\n // stash current, clear, let user login externally, then save\n await accounts.stash(provider, { source });\n if (!g.json) {\n info(\n `Live ${label} auth cleared. Log in with the official tool, then re-run:\\n ${next}`,\n );\n } else {\n console.log(JSON.stringify({ mode: 'new', next }));\n }\n }\n } catch (err) {\n handleCliError(err);\n }\n },\n );\n\n add\n .command('gateway')\n .description('Add an API gateway')\n .argument('[name]', 'Gateway name')\n .option('--provider <id>', 'Catalog provider id')\n .option('--endpoint <url>', 'API endpoint')\n .option('--api-key <key>', 'API key')\n .option('--api-key-env <var>', 'Env var holding the API key')\n .option('--model <model>', 'Default model')\n .option('--models <id...>', 'Models to expose in Codex /model')\n .action(\n async (\n name: string | undefined,\n opts: {\n provider?: string;\n endpoint?: string;\n apiKey?: string;\n apiKeyEnv?: string;\n model?: string;\n models?: string[];\n },\n ) => {\n try {\n const g = globals();\n if (!name || !opts.provider) {\n if (!canPrompt(g)) {\n throw anypickError(\n 'Usage: anypick add gateway <name> --provider <id> --endpoint <url> --api-key <key>',\n 'INVALID_USAGE',\n { exitCode: ExitCode.INVALID_USAGE },\n );\n }\n // Fall through to interactive is partial — require non-interactive for now if missing\n if (!name || !opts.provider) {\n throw anypickError(\n 'Name and --provider are required for automation.',\n 'INVALID_USAGE',\n { exitCode: ExitCode.INVALID_USAGE },\n );\n }\n }\n\n let apiKey = opts.apiKey;\n if (!apiKey && opts.apiKeyEnv) {\n apiKey = process.env[opts.apiKeyEnv];\n }\n\n if (g.dryRun) {\n printDryRun(g, 'gateway.create', `Would create gateway ${name}`, {\n name,\n provider: opts.provider,\n endpoint: opts.endpoint,\n model: opts.model,\n models: opts.models,\n hasApiKey: Boolean(apiKey),\n });\n return;\n }\n\n const profile = await profiles.create(name, {\n provider: opts.provider,\n endpoint: opts.endpoint,\n apiKey,\n defaultModel: opts.model,\n models: modelMap(opts.models),\n });\n\n if (g.json) {\n console.log(\n JSON.stringify({\n gateway: profile.meta.name,\n provider: profile.meta.provider,\n }),\n );\n } else {\n success(`Gateway ${profile.meta.name} created`);\n info(`Use it: anypick use claude --with ${profile.meta.name}`);\n }\n } catch (err) {\n handleCliError(err);\n }\n },\n );\n\n // ── link / unlink ──────────────────────────────────────────────\n program\n .command('link')\n .description('Set a project-specific client source')\n .argument('<client>', 'Client id')\n .option('--with <source>', 'Source or @preset')\n .option('--model <model>', 'Explicit model')\n .action(async (client: string, opts: { with?: string; model?: string }) => {\n try {\n const g = globals();\n const result = await bindingService.link(client, {\n with: opts.with,\n model: opts.model,\n dryRun: g.dryRun,\n verbose: g.verbose,\n });\n if (g.json) {\n console.log(\n JSON.stringify({\n client,\n source: result.plan.resolvedSource.display,\n dryRun: result.dryRun,\n scope: 'project',\n }),\n );\n } else if (result.dryRun) {\n info('Dry run — project link plan:');\n for (const s of result.plan.steps) {\n console.log(` · ${s.kind}`);\n }\n } else {\n success(\n `Linked ${clients.get(client).name} → ${result.plan.resolvedSource.display} (project)`,\n );\n }\n } catch (err) {\n handleCliError(err);\n }\n });\n\n program\n .command('unlink')\n .description('Remove a project binding')\n .argument('[client]', 'Client id (omit for all in this project)')\n .action(async (client: string | undefined) => {\n try {\n const g = globals();\n if (g.dryRun) {\n const projectRoot = resolveProjectRoot();\n const existing = client\n ? bindings.getProject(projectRoot, client)\n ? 1\n : 0\n : bindings.listProject(projectRoot).length;\n printDryRun(g, 'binding.unlink', `Would remove ${existing} project binding(s)`, {\n client: client ?? null,\n removed: existing,\n });\n return;\n }\n const n = await bindingService.unlink(client);\n if (g.json) {\n console.log(JSON.stringify({ removed: n }));\n } else {\n success(n ? `Removed ${n} project binding(s)` : 'Nothing to unlink');\n }\n } catch (err) {\n handleCliError(err);\n }\n });\n\n // ── reset ──────────────────────────────────────────────────────\n program\n .command('reset')\n .description('Remove AnyPick-managed configuration for a client')\n .argument('[client]', 'Client id')\n .action(async (clientArg: string | undefined) => {\n try {\n const g = globals();\n let client = clientArg;\n if (!client) {\n if (!canPrompt(g)) {\n throw anypickError('Client required.\\n\\n anypick reset claude', 'INVALID_USAGE', {\n exitCode: ExitCode.INVALID_USAGE,\n });\n }\n const { select } = await import('@clack/prompts');\n const picked = await select({\n message: 'Reset which client?',\n options: clients.list().map((c) => ({\n value: c.id,\n label: c.name,\n })),\n });\n if (typeof picked !== 'string') {\n process.exit(ExitCode.CANCELLED);\n }\n client = picked;\n }\n const result = await bindingService.reset(client, {\n dryRun: g.dryRun,\n });\n if (g.json) {\n console.log(JSON.stringify(result));\n } else if (result.dryRun) {\n info(\n result.removedGlobal\n ? `Would remove global binding for ${client}`\n : `No global binding for ${client}`,\n );\n } else {\n success(`Reset AnyPick-managed state for ${client}`);\n }\n } catch (err) {\n handleCliError(err);\n }\n });\n\n // ── preset namespace ───────────────────────────────────────────\n const presetCmd = program.command('preset').description('Manage saved presets');\n\n presetCmd\n .command('list')\n .description('List presets')\n .action(async () => {\n const list = presets.list();\n if (globals().json) {\n console.log(JSON.stringify(list, null, 2));\n return;\n }\n for (const p of list) {\n console.log(\n `@${p.name} ${p.spec.client} → ${displayRef(p.spec.source)} rev ${p.revision}`,\n );\n }\n });\n\n presetCmd\n .command('show')\n .argument('<name>', 'Preset name (without @)')\n .action(async (name: string) => {\n const p = presets.getByName(name);\n if (!p) {\n handleCliError(\n anypickError(`Preset @${name} not found`, 'PRESET_NOT_FOUND', {\n exitCode: ExitCode.NOT_FOUND,\n mutated: false,\n }),\n );\n }\n console.log(JSON.stringify(p, null, 2));\n });\n\n presetCmd\n .command('remove')\n .alias('rm')\n .argument('<name>', 'Preset name')\n .action(async (name: string) => {\n if (globals().dryRun) {\n printDryRun(globals(), 'preset.remove', `Would remove preset @${name}`, { name });\n return;\n }\n const ok = presets.remove(name);\n if (globals().json) {\n console.log(JSON.stringify({ removed: ok }));\n } else if (ok) {\n success(`Removed @${name}`);\n } else {\n warn(`Preset @${name} not found`);\n }\n });\n}\n\nfunction modelMap(modelIds: readonly string[] | undefined): Record<string, string> | undefined {\n const models = [...new Set((modelIds ?? []).map((model) => model.trim()).filter(Boolean))];\n return models.length ? Object.fromEntries(models.map((model) => [model, model])) : undefined;\n}\n"],"mappings":";;;;;;;;AA0BA,SAAS,UAAU,GAAwB;CACzC,OACE,QAAQ,QAAQ,MAAM,SAAS,QAAQ,OAAO,KAAK,KACnD,CAAC,EAAE,QACH,EAAE,UAAU,SACZ,CAAC,QAAQ,IAAI;AAEjB;AAEA,SAAS,YACP,GACA,QACA,QACA,OACM;CACN,IAAI,EAAE,MACJ,QAAQ,IAAI,KAAK,UAAU;EAAE,QAAQ;EAAM;EAAQ,GAAG;CAAM,CAAC,CAAC;MAE9D,KAAK,aAAa,QAAQ;AAE9B;AAEA,IAAM,gBAAgB;;;;;;AAOtB,eAAe,iBACb,UACA,UACA,MAOA,GACe;CACf,IAAI,KAAK,WAAW,KAAK,KACvB,MAAM,aACJ,qEACA,iBACA,EAAE,UAAU,SAAS,cAAc,CACrC;CAEF,IAAI,KAAK,UAAU,MACjB,MAAM,aAAa,kDAAkD,iBAAiB,EACpF,UAAU,SAAS,cACrB,CAAC;CAGH,MAAM,SAAS,SAAS,SAAS,QAAQ;CACzC,IAAI,CAAC,OAAO,kBAAkB,SAAS,aAAa,GAClD,MAAM,aAAa,aAAa,SAAS,gCAAgC,iBAAiB,EACxF,UAAU,SAAS,cACrB,CAAC;CAGH,IAAI,SAAS,OAAO,KAAK,WAAW,WAAW,KAAK,OAAO,KAAK,IAAI;CACpE,IAAI,CAAC,QAAQ;EACX,IAAI,CAAC,UAAU,CAAC,GACd,MAAM,aACJ,oDAAoD,SAAS,+BAC7D,iBACA,EAAE,UAAU,SAAS,cAAc,CACrC;EAEF,MAAM,EAAE,UAAU,aAAa,MAAM,OAAO;EAC5C,MAAM,UAAU,MAAM,SAAS,EAAE,SAAS,GAAG,OAAO,KAAK,UAAU,CAAC;EACpE,IAAI,SAAS,OAAO,KAAK,CAAC,QAAQ,KAAK,GACrC,QAAQ,KAAK,SAAS,SAAS;EAEjC,SAAS,QAAQ,KAAK;CACxB;CAEA,MAAM,OAAO,KAAK,QAAQ;CAC1B,IAAI,EAAE,QAAQ;EACZ,YAAY,GAAG,gBAAgB,cAAc,SAAS,GAAG,KAAK,mBAAmB;GAC/E;GACA;GACA,MAAM;EACR,CAAC;EACD;CACF;CAEA,MAAM,OAAO,MAAM,SAAS,KAAK,UAAU,MAAM;EAC/C,OAAO;EACP,OAAO;GACL,MAAM;GACN;GACA,GAAI,KAAK,SAAS,EAAE,SAAS,EAAE,QAAQ,KAAK,OAAO,EAAE,IAAI,CAAC;EAC5D;CACF,CAAC;CACD,IAAI,EAAE,MACJ,QAAQ,IAAI,KAAK,UAAU;EAAE,OAAO;EAAM,MAAM;CAAc,CAAC,CAAC;MAEhE,QAAQ,SAAS,SAAS,GAAG,KAAK,MAAM;AAE5C;AAEA,SAAS,eAAe,MAMb;CACT,MAAM,IAAI,KAAK;CACf,QAAQ,EAAE,YAAV;EACE,KAAK,UACH,OAAO,EAAE,WAAW,YAAY,EAAE,aAAa;EACjD,KAAK,yBACH,OAAO,mBAAmB,EAAE,YAAY,aAAa,EAAE,cAAc,QAAQ;EAC/E,KAAK,0BACH,OAAO,4BAA4B,EAAE,YAAY;EACnD,KAAK,yBACH,OAAO;EACT,SACE,OAAO,EAAE;CACb;AACF;;AAGA,SAAS,gBAAgB,WAEvB;CACA,MAAM,EAAE,cAAc,GAAG,SAAS;CAClC,OAAO;EACL,GAAG;EACH,GAAI,eACA,EACE,cAAc;GACZ,UAAU,aAAa;GACvB,GAAI,aAAa,UAAU,EAAE,SAAS,aAAa,QAAQ,IAAI,CAAC;GAChE,MAAM,aAAa;EACrB,EACF,IACA,CAAC;CACP;AACF;AAEA,SAAgB,wBACd,SACA,KACA,SACM;CACN,MAAM,EAAE,gBAAgB,SAAS,UAAU,UAAU,SAAS,aAAa;CAG3E,QACG,QAAQ,KAAK,CAAC,CACd,YAAY,mCAAmC,CAAC,CAChD,SAAS,YAAY,iCAAiC,CAAC,CACvD,OAAO,mBAAmB,8CAA8C,CAAC,CACzE,OAAO,aAAa,sCAAsC,KAAK,CAAC,CAChE,OAAO,mBAAmB,mBAAmB,CAAC,CAC9C,OAAO,iBAAiB,6BAA6B,CAAC,CACtD,OACC,OACE,WACA,SAMG;EACH,IAAI;GACF,MAAM,IAAI,QAAQ;GAClB,IAAI,SAAS;GACb,IAAI,aAAa,KAAK;GAGtB,IAAI,UAAU,CAAC,cAAc,CAAC,KAAK,WAAW,OAAO,SAAS,GAAG,GAAG;IAClE,MAAM,KAAK,4BAA4B,QAAQ;KAC7C,kBAAkB,IAAI,IAAI,IAAI,gBAAgB,IAAI,CAAC;KACnD,WAAW,IAAI,IAAI,QAAQ,IAAI,CAAC;IAClC,CAAC;IACD,IAAI,IAAI;KACN,SAAS,GAAG;KACZ,aAAa,WAAW,GAAG,MAAM;IACnC;GACF;GAEA,IAAI,CAAC,QACH,IAAI,UAAU,CAAC,GAAG;IAEhB,MAAM,EAAE,WAAW,MAAM,OAAO;IAChC,MAAM,SAAS,MAAM,OAAO;KAC1B,SAAS;KACT,SAAS,QAAQ,KAAK,CAAC,CAAC,KAAK,OAAO;MAClC,OAAO,EAAE;MACT,OAAO,EAAE;KACX,EAAE;IACJ,CAAC;IACD,IAAI,OAAO,WAAW,UACpB,QAAQ,KAAK,SAAS,SAAS;IAEjC,SAAS;GACX,OACE,MAAM,aACJ,wEACA,kBACA;IACE,UAAU,SAAS;IACnB,aAAa,CAAC,qCAAqC;GACrD,CACF;GAKJ,MAAM,UAAU,CAAC,cAAc,CAAC,KAAK,WAAW,UAAU,CAAC;GAE3D,IAAI;GACJ,IAAI;IACF,SAAS,MAAM,eAAe,IAAI,QAAQ;KACxC,MAAM;KACN,SAAS,KAAK;KACd,OAAO,KAAK;KACZ,MAAM,KAAK;KACX,QAAQ,EAAE;KACV,SAAS,EAAE;KACX,oBAAoB;IACtB,CAAC;GACH,SAAS,KAAK;IAEZ,IACE,WACA,OACA,OAAO,QAAQ,YACf,aAAa,OACZ,IAAgD,SAAS,aAC1D;KACA,MAAM,EAAE,QAAQ,SAAS,MAAM,OAAO;KACtC,MAAM,OAAO,MAAM,OAAO;MACxB,SAAS,eAAe,QAAQ,IAAI,MAAM,CAAC,CAAC,KAAK;MACjD,SAAS;OACP;QAAE,OAAO;QAAW,OAAO;OAA6B;OACxD;QAAE,OAAO;QAAW,OAAO;OAAY;OACvC;QAAE,OAAO;QAAU,OAAO;OAAmB;MAC/C;KACF,CAAC;KACD,IAAI,OAAO,SAAS,UAClB,QAAQ,KAAK,SAAS,SAAS;KAEjC,IAAI,SAAS,UAAU;MACrB,MAAM,OAAO,MAAM,KAAK,EAAE,SAAS,0BAA0B,CAAC;MAC9D,IAAI,OAAO,SAAS,UAClB,QAAQ,KAAK,SAAS,SAAS;MAEjC,aAAa,IAAI;KACnB,OAAO;MACL,MAAM,MAAM,MAAM,KAAK,EACrB,SAAS,SAAS,YAAY,4BAA4B,eAC5D,CAAC;MACD,IAAI,OAAO,QAAQ,UACjB,QAAQ,KAAK,SAAS,SAAS;MAEjC,aAAa;KACf;KACA,SAAS,MAAM,eAAe,IAAI,QAAQ;MACxC,MAAM;MACN,OAAO,KAAK;MACZ,MAAM,KAAK;MACX,QAAQ,EAAE;MACV,SAAS,EAAE;KACb,CAAC;IACH,OACE,MAAM;GAEV;GAEA,IAAI,EAAE,MAAM;IACV,QAAQ,IACN,KAAK,UAAU;KACb;KACA,QAAQ,OAAO,KAAK,eAAe;KACnC,OAAO,OAAO,KAAK;KACnB,WAAW,gBAAgB,OAAO,KAAK,SAAS;KAChD,eAAe,OAAO;KACtB,QAAQ,OAAO;KACf,aAAa,OAAO;KACpB,OAAO,EAAE,UAAU,OAAO,KAAK,MAAM,KAAK,MAAM,EAAE,IAAI,IAAI,KAAA;IAC5D,CAAC,CACH;IACA;GACF;GAEA,IAAI,OAAO,QAAQ;IACjB,KAAK,sBAAsB;IAC3B,KAAK,MAAM,QAAQ,OAAO,KAAK,OAC7B,QAAQ,IAAI,OAAO,KAAK,OAAO,KAAK,SAAS,MAAM,KAAK,WAAW,IAAI;IAEzE;GACF;GAEA,MAAM,aAAa,QAAQ,IAAI,MAAM,CAAC,CAAC;GACvC,MAAM,WAAW,OAAO,iBAAiB,OAAO,KAAK,UAAU,YAAY,KAAA;GAC3E,IAAI,OAAO,eAAe;IACxB,QACE,iBAAiB;KACf;KACA,eAAe,OAAO,KAAK,eAAe;KAC1C,eAAe;KACf,OAAO,YAAY,OAAO,KAAK,KAAK;KACpC,WAAW,eAAe,OAAO,IAAI;KACrC,gBAAgB;KAChB,aAAa,OAAO;IACtB,CAAC,CACH;IACA;GACF;GAEA,QACE,iBAAiB;IACf;IACA,eAAe,OAAO,KAAK,eAAe;IAC1C,OAAO,YAAY,OAAO,KAAK,KAAK;IACpC,WAAW,eAAe,OAAO,IAAI;IACrC,gBAAgB;IAChB,OAAO;IACP,aAAa,OAAO;GACtB,CAAC,CACH;EACF,SAAS,KAAK;GACZ,eAAe,GAAG;EACpB;CACF,CACF;CAGF,QACG,QAAQ,KAAK,CAAC,CACd,YAAY,oDAAoD,CAAC,CACjE,SAAS,YAAY,WAAW,CAAC,CACjC,OAAO,mBAAmB,2BAA2B,CAAC,CACtD,OAAO,mBAAmB,mBAAmB,CAAC,CAC9C,mBAAmB,IAAI,CAAC,CACxB,OACC,OACE,WACA,MACA,QACG;EACH,IAAI;GACF,MAAM,IAAI,QAAQ;GAClB,IAAI,SAAS;GAGD,IAAI;GAEhB,MAAM,KAAK,QAAQ,KAAK,QAAQ,IAAI;GACpC,MAAM,YAAY,MAAM,IAAI,QAAQ,KAAK,MAAM,KAAK,CAAC,IAAI,CAAC;GAE1D,IAAI,CAAC,QACH,IAAI,UAAU,CAAC,GAAG;IAChB,MAAM,EAAE,WAAW,MAAM,OAAO;IAQhC,MAAM,SAAS,MAAM,OAAO;KAC1B,SAAS;KACT,SATc,QAAQ,KAAK,CAAC,CAAC,KAAK,MAAM;MACxC,MAAM,IAAI,SAAS,UAAU,EAAE,EAAE;MACjC,OAAO;OACL,OAAO,EAAE;OACT,OAAO,IAAI,GAAG,EAAE,KAAK,KAAK,WAAW,EAAE,KAAK,MAAM,MAAM,GAAG,EAAE,KAAK;MACpE;KACF,CAGE;IACF,CAAC;IACD,IAAI,OAAO,WAAW,UACpB,QAAQ,KAAK,SAAS,SAAS;IAEjC,SAAS;GACX,OACE,MAAM,aACJ,4EACA,kBACA;IACE,UAAU,SAAS;IACnB,aAAa,CAAC,sBAAsB,mBAAmB;GACzD,CACF;GAOJ,MAAM,EAAE,iBAAiB,MAAM,OAAO;GACtC,MAAM,OAAO,MAAM,aAAa,KAAK,QAAQ;IAC3C,MAAM,KAAK;IACX,OAAO,KAAK;IACZ,QAAQ,EAAE;IACV,SAAS,EAAE;IACX,MAAM,EAAE;IACR;GACF,CAAC;GACD,QAAQ,KAAK,IAAI;EACnB,SAAS,KAAK;GACZ,eAAe,GAAG;EACpB;CACF,CACF;CAGF,QACG,QAAQ,SAAS,CAAC,CAClB,YAAY,iCAAiC,CAAC,CAC9C,SAAS,YAAY,wBAAwB,CAAC,CAC9C,OAAO,OAAO,cAAkC;EAC/C,IAAI;GACF,MAAM,IAAI,QAAQ;GAClB,MAAM,OAAO,eAAe,QAAQ,SAAS;GAC7C,IAAI,EAAE,MAAM;IACV,QAAQ,IACN,KAAK,UACH;KACE,aAAa,mBAAmB;KAChC,SAAS,KAAK,KAAK,OAAO;MACxB,QAAQ,EAAE;MACV,MAAM,EAAE;MACR,OAAO,EAAE;MACT,QAAQ,EAAE,UAAU,WAAW,EAAE,QAAQ,KAAK,MAAM,IAAI;MACxD,OAAO,EAAE,SAAS,KAAK,SAAS;MAChC,YAAY,EAAE,SAAS,cAAc;KACvC,EAAE;IACJ,GACA,MACA,CACF,CACF;IACA;GACF;GAEA,IAAI,KAAK,WAAW,GAAG;IACrB,KAAK,wBAAwB;IAC7B;GACF;GAEA,QAAQ,IAAI,GAAG,KAAK,iBAAiB,CAAC;GACtC,QAAQ,IAAI,GAAG,IAAI,iBAAiB,mBAAmB,GAAG,CAAC;GAC3D,QAAQ,IAAI;GACZ,KAAK,MAAM,KAAK,MAAM;IACpB,QAAQ,IAAI,GAAG,KAAK,EAAE,UAAU,IAAI,GAAG,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;IAC5D,IAAI,CAAC,EAAE,SAAS;KACd,QAAQ,IAAI,GAAG,IAAI,sBAAsB,CAAC;KAC1C,QAAQ,IAAI,GAAG,IAAI,0BAA0B,EAAE,OAAO,iBAAiB,CAAC;IAC1E,OAAO;KACL,QAAQ,IAAI,cAAc,WAAW,EAAE,QAAQ,KAAK,MAAM,GAAG;KAC7D,QAAQ,IAAI,cAAc,YAAY,EAAE,QAAQ,KAAK,KAAK,GAAG;KAC7D,QAAQ,IAAI,cAAc,EAAE,OAAO;IACrC;IACA,QAAQ,IAAI;GACd;EACF,SAAS,KAAK;GACZ,eAAe,GAAG;EACpB;CACF,CAAC;CAGH,QACG,QAAQ,MAAM,CAAC,CACf,MAAM,IAAI,CAAC,CACX,YAAY,8CAA8C,CAAC,CAC3D,SAAS,UAAU,yCAAyC,CAAC,CAC7D,OAAO,OAAO,SAA6B;EAC1C,IAAI;GACF,MAAM,IAAI,QAAQ;GAClB,MAAM,KAAK,QAAQ,MAAA,CAAO,YAAY;GAEtC,IAAI,EAAE,MAAM;IACV,MAAM,UAAmC,CAAC;IAC1C,IAAI,MAAM,SAAS,MAAM,YACvB,QAAQ,WAAW,MAAM,SAAS,KAAK;IAEzC,IAAI,MAAM,SAAS,MAAM,YACvB,QAAQ,YAAY,MAAM,SAAS,KAAK,EAAA,CAAG,KAAK,OAAO;KACrD,MAAM,EAAE,KAAK;KACb,UAAU,EAAE,KAAK;KACjB,UAAU,EAAE,KAAK;KACjB,cAAc,EAAE,KAAK;IACvB,EAAE;IAEJ,IAAI,MAAM,SAAS,MAAM,WACvB,QAAQ,UAAU,QAAQ,KAAK,CAAC,CAAC,KAAK,OAAO;KAC3C,IAAI,EAAE;KACN,MAAM,EAAE;KACR,SAAS,SAAS,UAAU,EAAE,EAAE,IAC5B,WAAW,SAAS,UAAU,EAAE,EAAE,CAAC,CAAE,KAAK,MAAM,IAChD;IACN,EAAE;IAEJ,IAAI,MAAM,SAAS,MAAM,WACvB,QAAQ,UAAU,QAAQ,KAAK,CAAC,CAAC,KAAK,OAAO;KAC3C,MAAM,EAAE;KACR,QAAQ,EAAE,KAAK;KACf,QAAQ,WAAW,EAAE,KAAK,MAAM;KAChC,UAAU,EAAE;IACd,EAAE;IAEJ,QAAQ,IAAI,KAAK,UAAU,SAAS,MAAM,CAAC,CAAC;IAC5C;GACF;GAEA,IAAI,MAAM,SAAS,MAAM,YAAY;IACnC,QAAQ,IAAI,GAAG,KAAK,UAAU,CAAC;IAC/B,MAAM,OAAO,MAAM,SAAS,KAAK;IACjC,IAAI,KAAK,WAAW,GAClB,QAAQ,IAAI,GAAG,IAAI,UAAU,CAAC;IAEhC,KAAK,MAAM,KAAK,MAAM;KACpB,MAAM,OAAO,EAAE,SAAS,GAAG,MAAM,KAAK,IAAI,IAAI;KAC9C,QAAQ,IACN,KAAK,KAAK,GAAG,EAAE,SAAS,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,MAAM,EAAE,UAAU,IAAI,IAChF;IACF;IACA,QAAQ,IAAI;GACd;GACA,IAAI,MAAM,SAAS,MAAM,YAAY;IACnC,QAAQ,IAAI,GAAG,KAAK,UAAU,CAAC;IAC/B,MAAM,OAAO,MAAM,SAAS,KAAK;IACjC,IAAI,KAAK,WAAW,GAClB,QAAQ,IAAI,GAAG,IAAI,UAAU,CAAC;IAEhC,KAAK,MAAM,KAAK,MACd,QAAQ,IACN,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI,MAAM,EAAE,KAAK,UAAU,IAAI,EAAE,KAAK,eAAe,GAAG,IAAI,MAAM,EAAE,KAAK,cAAc,IAAI,IACrH;IAEF,QAAQ,IAAI;GACd;GACA,IAAI,MAAM,SAAS,MAAM,WAAW;IAClC,QAAQ,IAAI,GAAG,KAAK,SAAS,CAAC;IAC9B,KAAK,MAAM,KAAK,QAAQ,KAAK,GAAG;KAC9B,MAAM,IAAI,SAAS,UAAU,EAAE,EAAE;KACjC,QAAQ,IACN,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK,EAAE,GAAG,EAAE,IAAI,IAAI,MAAM,WAAW,EAAE,KAAK,MAAM,MAAM,GAAG,IAAI,YAAY,GACpG;IACF;IACA,QAAQ,IAAI;GACd;GACA,IAAI,MAAM,SAAS,MAAM,WAAW;IAClC,QAAQ,IAAI,GAAG,KAAK,SAAS,CAAC;IAC9B,MAAM,OAAO,QAAQ,KAAK;IAC1B,IAAI,KAAK,WAAW,GAClB,QAAQ,IAAI,GAAG,IAAI,UAAU,CAAC;IAEhC,KAAK,MAAM,KAAK,MACd,QAAQ,IACN,QAAQ,EAAE,OAAO,GAAG,IAAI,MAAM,EAAE,KAAK,OAAO,KAAK,WAAW,EAAE,KAAK,MAAM,GAAG,GAC9E;GAEJ;EACF,SAAS,KAAK;GACZ,eAAe,GAAG;EACpB;CACF,CAAC;CAGH,MAAM,MAAM,QAAQ,QAAQ,KAAK,CAAC,CAAC,YAAY,2BAA2B;CAE1E,IACG,QAAQ,SAAS,CAAC,CAClB,YAAY,2BAA2B,CAAC,CACxC,SAAS,cAAc,gCAAgC,CAAC,CACxD,OAAO,aAAa,iCAAiC,KAAK,CAAC,CAC3D,OAAO,SAAS,0BAA0B,KAAK,CAAC,CAChD,OAAO,iBAAiB,cAAc,CAAC,CACvC,OAAO,qBAAqB,+CAA+C,CAAC,CAC5E,OAAO,mBAAmB,mEAAmE,CAAC,CAC9F,OAAO,qBAAqB,0BAA0B,CAAC,CACvD,OACC,OACE,UACA,SAQG;EACH,IAAI;GACF,MAAM,IAAI,QAAQ;GAClB,IAAI,CAAC,UAAU;IACb,IAAI,CAAC,UAAU,CAAC,GACd,MAAM,aACJ,+EACA,iBACA,EAAE,UAAU,SAAS,cAAc,CACrC;IAEF,MAAM,EAAE,WAAW,MAAM,OAAO;IAChC,MAAM,SAAS,MAAM,OAAO;KAC1B,SAAS;KACT,SAAS,SAAS,cAAc,CAAC,CAAC,KAAK,OAAO;MAC5C,OAAO,EAAE;MACT,OAAO,EAAE;KACX,EAAE;IACJ,CAAC;IACD,IAAI,OAAO,WAAW,UACpB,QAAQ,KAAK,SAAS,SAAS;IAEjC,WAAW;GACb;GAEA,IAAI,KAAK,WAAW,KAAK,KACvB,MAAM,aAAa,+CAA+C,iBAAiB,EACjF,UAAU,SAAS,cACrB,CAAC;GAGH,IAAI,KAAK,UAAU,QAAQ,KAAK,UAAU,MAAM;IAC9C,MAAM,iBAAiB,UAAU,UAAU,MAAM,CAAC;IAClD;GACF;GAEA,IAAI,KAAK,UAAU,KAAK,WAAW,gBAAgB,KAAK,WAAW,eACjE,MAAM,aACJ,mBAAmB,KAAK,OAAO,oCAC/B,iBACA,EAAE,UAAU,SAAS,cAAc,CACrC;GAEF,MAAM,SAAS,KAAK;GACpB,IAAI,UAAU,CAAC,SAAS,SAAS,QAAQ,CAAC,CAAC,kBACzC,MAAM,aACJ,aAAa,SAAS,gDACtB,iBACA,EAAE,UAAU,SAAS,cAAc,CACrC;GAGF,IAAI,CAAC,KAAK,WAAW,CAAC,KAAK,KAAK;IAC9B,IAAI,CAAC,UAAU,CAAC,GACd,MAAM,aACJ,yBAAyB,SAAS,8DAA8D,SAAS,0EAA0E,SAAS,qBAC5L,iBACA,EAAE,UAAU,SAAS,cAAc,CACrC;IAEF,MAAM,EAAE,WAAW,MAAM,OAAO;IAChC,MAAM,SAAS,SAAS,SAAS,QAAQ;IACzC,MAAM,OACJ,UAAU,OAAO,mBACb,MAAM,OAAO,iBAAiB,MAAM,IACpC,MAAM,OAAO,WAAW;IAC9B,MAAM,QAAQ,UAAU;IACxB,MAAM,SAAS,MAAM,OAAO;KAC1B,SAAS,KAAK,UACV,GAAG,MAAM,yBAAyB,KAAK,WAAW,OAAO,KAAK,aAAa,GAAG,8BAC9E,WAAW,MAAM;KACrB,SAAS;MACP;OAAE,OAAO;OAAO,OAAO;MAAsB;MAC7C,GAAI,KAAK,UAAU,CAAC;OAAE,OAAO;OAAW,OAAO;MAA2B,CAAC,IAAI,CAAC;MAChF;OAAE,OAAO;OAAU,OAAO;MAAS;KACrC;IACF,CAAC;IACD,IAAI,WAAW,YAAY,OAAO,WAAW,UAC3C,QAAQ,KAAK,SAAS,SAAS;IAEjC,IAAI,WAAW,WACb,KAAK,UAAU;SAEf,KAAK,MAAM;GAEf;GAEA,IAAI,KAAK,SAAS;IAEhB,MAAM,OAAO,SACR,KAAK,QAAQ,SACd,MAAM,SAAS,uBAAuB,UAAU,KAAK,IAAI;IAC7D,IAAI,EAAE,QAAQ;KACZ,YACE,GACA,gBACA,cAAc,SAAS,GAAG,KAAK,0BAC/B;MACE;MACA;MACA,MAAM;MACN,GAAI,SAAS,EAAE,OAAO,IAAI,CAAC;KAC7B,CACF;KACA;IACF;IACA,MAAM,OAAO,SACT,MAAM,SAAS,KAAK,UAAU,MAAM;KAAE,OAAO;KAAM;IAAO,CAAC,IAC3D,MAAM,SAAS,YAAY,UAAU,IAAI;IAC7C,IAAI,EAAE,MACJ,QAAQ,IAAI,KAAK,UAAU;KAAE,OAAO;KAAM,MAAM;IAAU,CAAC,CAAC;SAE5D,QAAQ,SAAS,SAAS,GAAG,KAAK,MAAM;IAE1C;GACF;GAEA,IAAI,KAAK,KAAK;IACZ,MAAM,QAAQ,UAAU;IACxB,MAAM,WAAW,KAAK,SAAS,WAAW,gBAAgB,kBAAkB;IAC5E,MAAM,OAAO,uBAAuB,SAAS,oBAAoB,WAC/D,SAAS,aAAa,WAAW;IAEnC,IAAI,EAAE,QAAQ;KACZ,YACE,GACA,iBACA,wBAAwB,MAAM,8BAC9B;MACE;MACA,MAAM;MACN,MAAM;MACN,GAAI,SAAS,EAAE,OAAO,IAAI,CAAC;KAC7B,CACF;KACA;IACF;IAEA,MAAM,SAAS,MAAM,UAAU,EAAE,OAAO,CAAC;IACzC,IAAI,CAAC,EAAE,MACL,KACE,QAAQ,MAAM,gEAAgE,MAChF;SAEA,QAAQ,IAAI,KAAK,UAAU;KAAE,MAAM;KAAO;IAAK,CAAC,CAAC;GAErD;EACF,SAAS,KAAK;GACZ,eAAe,GAAG;EACpB;CACF,CACF;CAEF,IACG,QAAQ,SAAS,CAAC,CAClB,YAAY,oBAAoB,CAAC,CACjC,SAAS,UAAU,cAAc,CAAC,CAClC,OAAO,mBAAmB,qBAAqB,CAAC,CAChD,OAAO,oBAAoB,cAAc,CAAC,CAC1C,OAAO,mBAAmB,SAAS,CAAC,CACpC,OAAO,uBAAuB,6BAA6B,CAAC,CAC5D,OAAO,mBAAmB,eAAe,CAAC,CAC1C,OAAO,oBAAoB,kCAAkC,CAAC,CAC9D,OACC,OACE,MACA,SAQG;EACH,IAAI;GACF,MAAM,IAAI,QAAQ;GAClB,IAAI,CAAC,QAAQ,CAAC,KAAK,UAAU;IAC3B,IAAI,CAAC,UAAU,CAAC,GACd,MAAM,aACJ,sFACA,iBACA,EAAE,UAAU,SAAS,cAAc,CACrC;IAGF,IAAI,CAAC,QAAQ,CAAC,KAAK,UACjB,MAAM,aACJ,oDACA,iBACA,EAAE,UAAU,SAAS,cAAc,CACrC;GAEJ;GAEA,IAAI,SAAS,KAAK;GAClB,IAAI,CAAC,UAAU,KAAK,WAClB,SAAS,QAAQ,IAAI,KAAK;GAG5B,IAAI,EAAE,QAAQ;IACZ,YAAY,GAAG,kBAAkB,wBAAwB,QAAQ;KAC/D;KACA,UAAU,KAAK;KACf,UAAU,KAAK;KACf,OAAO,KAAK;KACZ,QAAQ,KAAK;KACb,WAAW,QAAQ,MAAM;IAC3B,CAAC;IACD;GACF;GAEA,MAAM,UAAU,MAAM,SAAS,OAAO,MAAM;IAC1C,UAAU,KAAK;IACf,UAAU,KAAK;IACf;IACA,cAAc,KAAK;IACnB,QAAQ,SAAS,KAAK,MAAM;GAC9B,CAAC;GAED,IAAI,EAAE,MACJ,QAAQ,IACN,KAAK,UAAU;IACb,SAAS,QAAQ,KAAK;IACtB,UAAU,QAAQ,KAAK;GACzB,CAAC,CACH;QACK;IACL,QAAQ,WAAW,QAAQ,KAAK,KAAK,SAAS;IAC9C,KAAK,qCAAqC,QAAQ,KAAK,MAAM;GAC/D;EACF,SAAS,KAAK;GACZ,eAAe,GAAG;EACpB;CACF,CACF;CAGF,QACG,QAAQ,MAAM,CAAC,CACf,YAAY,sCAAsC,CAAC,CACnD,SAAS,YAAY,WAAW,CAAC,CACjC,OAAO,mBAAmB,mBAAmB,CAAC,CAC9C,OAAO,mBAAmB,gBAAgB,CAAC,CAC3C,OAAO,OAAO,QAAgB,SAA4C;EACzE,IAAI;GACF,MAAM,IAAI,QAAQ;GAClB,MAAM,SAAS,MAAM,eAAe,KAAK,QAAQ;IAC/C,MAAM,KAAK;IACX,OAAO,KAAK;IACZ,QAAQ,EAAE;IACV,SAAS,EAAE;GACb,CAAC;GACD,IAAI,EAAE,MACJ,QAAQ,IACN,KAAK,UAAU;IACb;IACA,QAAQ,OAAO,KAAK,eAAe;IACnC,QAAQ,OAAO;IACf,OAAO;GACT,CAAC,CACH;QACK,IAAI,OAAO,QAAQ;IACxB,KAAK,8BAA8B;IACnC,KAAK,MAAM,KAAK,OAAO,KAAK,OAC1B,QAAQ,IAAI,OAAO,EAAE,MAAM;GAE/B,OACE,QACE,UAAU,QAAQ,IAAI,MAAM,CAAC,CAAC,KAAK,KAAK,OAAO,KAAK,eAAe,QAAQ,WAC7E;EAEJ,SAAS,KAAK;GACZ,eAAe,GAAG;EACpB;CACF,CAAC;CAEH,QACG,QAAQ,QAAQ,CAAC,CACjB,YAAY,0BAA0B,CAAC,CACvC,SAAS,YAAY,0CAA0C,CAAC,CAChE,OAAO,OAAO,WAA+B;EAC5C,IAAI;GACF,MAAM,IAAI,QAAQ;GAClB,IAAI,EAAE,QAAQ;IACZ,MAAM,cAAc,mBAAmB;IACvC,MAAM,WAAW,SACb,SAAS,WAAW,aAAa,MAAM,IACrC,IACA,IACF,SAAS,YAAY,WAAW,CAAC,CAAC;IACtC,YAAY,GAAG,kBAAkB,gBAAgB,SAAS,sBAAsB;KAC9E,QAAQ,UAAU;KAClB,SAAS;IACX,CAAC;IACD;GACF;GACA,MAAM,IAAI,MAAM,eAAe,OAAO,MAAM;GAC5C,IAAI,EAAE,MACJ,QAAQ,IAAI,KAAK,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QAE1C,QAAQ,IAAI,WAAW,EAAE,uBAAuB,mBAAmB;EAEvE,SAAS,KAAK;GACZ,eAAe,GAAG;EACpB;CACF,CAAC;CAGH,QACG,QAAQ,OAAO,CAAC,CAChB,YAAY,mDAAmD,CAAC,CAChE,SAAS,YAAY,WAAW,CAAC,CACjC,OAAO,OAAO,cAAkC;EAC/C,IAAI;GACF,MAAM,IAAI,QAAQ;GAClB,IAAI,SAAS;GACb,IAAI,CAAC,QAAQ;IACX,IAAI,CAAC,UAAU,CAAC,GACd,MAAM,aAAa,8CAA8C,iBAAiB,EAChF,UAAU,SAAS,cACrB,CAAC;IAEH,MAAM,EAAE,WAAW,MAAM,OAAO;IAChC,MAAM,SAAS,MAAM,OAAO;KAC1B,SAAS;KACT,SAAS,QAAQ,KAAK,CAAC,CAAC,KAAK,OAAO;MAClC,OAAO,EAAE;MACT,OAAO,EAAE;KACX,EAAE;IACJ,CAAC;IACD,IAAI,OAAO,WAAW,UACpB,QAAQ,KAAK,SAAS,SAAS;IAEjC,SAAS;GACX;GACA,MAAM,SAAS,MAAM,eAAe,MAAM,QAAQ,EAChD,QAAQ,EAAE,OACZ,CAAC;GACD,IAAI,EAAE,MACJ,QAAQ,IAAI,KAAK,UAAU,MAAM,CAAC;QAC7B,IAAI,OAAO,QAChB,KACE,OAAO,gBACH,mCAAmC,WACnC,yBAAyB,QAC/B;QAEA,QAAQ,mCAAmC,QAAQ;EAEvD,SAAS,KAAK;GACZ,eAAe,GAAG;EACpB;CACF,CAAC;CAGH,MAAM,YAAY,QAAQ,QAAQ,QAAQ,CAAC,CAAC,YAAY,sBAAsB;CAE9E,UACG,QAAQ,MAAM,CAAC,CACf,YAAY,cAAc,CAAC,CAC3B,OAAO,YAAY;EAClB,MAAM,OAAO,QAAQ,KAAK;EAC1B,IAAI,QAAQ,CAAC,CAAC,MAAM;GAClB,QAAQ,IAAI,KAAK,UAAU,MAAM,MAAM,CAAC,CAAC;GACzC;EACF;EACA,KAAK,MAAM,KAAK,MACd,QAAQ,IACN,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,OAAO,KAAK,WAAW,EAAE,KAAK,MAAM,EAAE,QAAQ,EAAE,UACxE;CAEJ,CAAC;CAEH,UACG,QAAQ,MAAM,CAAC,CACf,SAAS,UAAU,yBAAyB,CAAC,CAC7C,OAAO,OAAO,SAAiB;EAC9B,MAAM,IAAI,QAAQ,UAAU,IAAI;EAChC,IAAI,CAAC,GACH,eACE,aAAa,WAAW,KAAK,aAAa,oBAAoB;GAC5D,UAAU,SAAS;GACnB,SAAS;EACX,CAAC,CACH;EAEF,QAAQ,IAAI,KAAK,UAAU,GAAG,MAAM,CAAC,CAAC;CACxC,CAAC;CAEH,UACG,QAAQ,QAAQ,CAAC,CACjB,MAAM,IAAI,CAAC,CACX,SAAS,UAAU,aAAa,CAAC,CACjC,OAAO,OAAO,SAAiB;EAC9B,IAAI,QAAQ,CAAC,CAAC,QAAQ;GACpB,YAAY,QAAQ,GAAG,iBAAiB,wBAAwB,QAAQ,EAAE,KAAK,CAAC;GAChF;EACF;EACA,MAAM,KAAK,QAAQ,OAAO,IAAI;EAC9B,IAAI,QAAQ,CAAC,CAAC,MACZ,QAAQ,IAAI,KAAK,UAAU,EAAE,SAAS,GAAG,CAAC,CAAC;OACtC,IAAI,IACT,QAAQ,YAAY,MAAM;OAE1B,KAAK,WAAW,KAAK,WAAW;CAEpC,CAAC;AACL;AAEA,SAAS,SAAS,UAA6E;CAC7F,MAAM,SAAS,CAAC,GAAG,IAAI,KAAK,YAAY,CAAC,EAAA,CAAG,KAAK,UAAU,MAAM,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC;CACzF,OAAO,OAAO,SAAS,OAAO,YAAY,OAAO,KAAK,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,KAAA;AACrF"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Shared terminal rendering helpers for launcher + TUI.
3
- * Visible-length aware (ANSI-stripped) so colored columns align.
4
- */
5
- export type { LayoutWidth } from '../presentation/layout.js';
6
- export { layoutForColumns } from '../presentation/layout.js';
7
- export declare function noColor(): boolean;
8
- declare const identity: (s: string) => string;
9
- export declare function paint(enabled: boolean): {
10
- bold: typeof identity;
11
- dim: typeof identity;
12
- green: typeof identity;
13
- red: typeof identity;
14
- yellow: typeof identity;
15
- cyan: typeof identity;
16
- white: typeof identity;
17
- inverse: typeof identity;
18
- };
19
- export type Paint = ReturnType<typeof paint>;
20
- export declare function visibleLen(s: string): number;
21
- export declare function padEndVisible(s: string, n: number): string;
22
- export declare function truncate(s: string, n: number): string;
23
- export declare function shortCwd(cwd: string): string;
24
- //# sourceMappingURL=render-util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"render-util.d.ts","sourceRoot":"","sources":["../../src/cli/render-util.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AAED,QAAA,MAAM,QAAQ,MAAO,MAAM,WAAM,CAAC;AAElC,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO;;;;;;;;;EAuBrC;AAED,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AAI7C,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAQrD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAU5C"}
@@ -1,58 +0,0 @@
1
- import { layoutForColumns } from "../presentation/layout.js";
2
- import pc from "picocolors";
3
- //#region src/cli/render-util.ts
4
- /**
5
- * Shared terminal rendering helpers for launcher + TUI.
6
- * Visible-length aware (ANSI-stripped) so colored columns align.
7
- */
8
- function noColor() {
9
- return Boolean(process.env.NO_COLOR) || process.env.FORCE_COLOR === "0";
10
- }
11
- var identity = (s) => s;
12
- function paint(enabled) {
13
- if (!enabled) return {
14
- bold: identity,
15
- dim: identity,
16
- green: identity,
17
- red: identity,
18
- yellow: identity,
19
- cyan: identity,
20
- white: identity,
21
- inverse: identity
22
- };
23
- return {
24
- bold: pc.bold,
25
- dim: pc.dim,
26
- green: pc.green,
27
- red: pc.red,
28
- yellow: pc.yellow,
29
- cyan: pc.cyan,
30
- white: pc.white,
31
- inverse: pc.inverse
32
- };
33
- }
34
- var ANSI_RE = new RegExp(String.raw`\u001b\[[0-9;]*m`, "g");
35
- function visibleLen(s) {
36
- return s.replace(ANSI_RE, "").length;
37
- }
38
- function padEndVisible(s, n) {
39
- const len = visibleLen(s);
40
- if (len >= n) return s;
41
- return s + " ".repeat(n - len);
42
- }
43
- function truncate(s, n) {
44
- if (s.length <= n) return s;
45
- if (n <= 1) return s.slice(0, n);
46
- return s.slice(0, n - 1) + "…";
47
- }
48
- function shortCwd(cwd) {
49
- const home = process.env.HOME;
50
- if (home && (cwd === home || cwd.startsWith(home + "/"))) return "~" + cwd.slice(home.length);
51
- const parts = cwd.split("/").filter(Boolean);
52
- if (parts.length > 3 && cwd.length > 28) return "…/" + parts.slice(-2).join("/");
53
- return cwd;
54
- }
55
- //#endregion
56
- export { layoutForColumns, noColor, padEndVisible, paint, shortCwd, truncate, visibleLen };
57
-
58
- //# sourceMappingURL=render-util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"render-util.js","names":[],"sources":["../../src/cli/render-util.ts"],"sourcesContent":["/**\n * Shared terminal rendering helpers for launcher + TUI.\n * Visible-length aware (ANSI-stripped) so colored columns align.\n */\n\nimport pc from 'picocolors';\n\nexport type { LayoutWidth } from '../presentation/layout';\nexport { layoutForColumns } from '../presentation/layout';\n\nexport function noColor(): boolean {\n return Boolean(process.env.NO_COLOR) || process.env.FORCE_COLOR === '0';\n}\n\nconst identity = (s: string) => s;\n\nexport function paint(enabled: boolean) {\n if (!enabled) {\n return {\n bold: identity,\n dim: identity,\n green: identity,\n red: identity,\n yellow: identity,\n cyan: identity,\n white: identity,\n inverse: identity,\n };\n }\n return {\n bold: pc.bold,\n dim: pc.dim,\n green: pc.green,\n red: pc.red,\n yellow: pc.yellow,\n cyan: pc.cyan,\n white: pc.white,\n inverse: pc.inverse,\n };\n}\n\nexport type Paint = ReturnType<typeof paint>;\n\nconst ANSI_RE = new RegExp(String.raw`\\u001b\\[[0-9;]*m`, 'g');\n\nexport function visibleLen(s: string): number {\n return s.replace(ANSI_RE, '').length;\n}\n\nexport function padEndVisible(s: string, n: number): string {\n const len = visibleLen(s);\n if (len >= n) {\n return s;\n }\n return s + ' '.repeat(n - len);\n}\n\nexport function truncate(s: string, n: number): string {\n if (s.length <= n) {\n return s;\n }\n if (n <= 1) {\n return s.slice(0, n);\n }\n return s.slice(0, n - 1) + '…';\n}\n\nexport function shortCwd(cwd: string): string {\n const home = process.env.HOME;\n if (home && (cwd === home || cwd.startsWith(home + '/'))) {\n return '~' + cwd.slice(home.length);\n }\n const parts = cwd.split('/').filter(Boolean);\n if (parts.length > 3 && cwd.length > 28) {\n return '…/' + parts.slice(-2).join('/');\n }\n return cwd;\n}\n"],"mappings":";;;;;;;AAUA,SAAgB,UAAmB;CACjC,OAAO,QAAQ,QAAQ,IAAI,QAAQ,KAAK,QAAQ,IAAI,gBAAgB;AACtE;AAEA,IAAM,YAAY,MAAc;AAEhC,SAAgB,MAAM,SAAkB;CACtC,IAAI,CAAC,SACH,OAAO;EACL,MAAM;EACN,KAAK;EACL,OAAO;EACP,KAAK;EACL,QAAQ;EACR,MAAM;EACN,OAAO;EACP,SAAS;CACX;CAEF,OAAO;EACL,MAAM,GAAG;EACT,KAAK,GAAG;EACR,OAAO,GAAG;EACV,KAAK,GAAG;EACR,QAAQ,GAAG;EACX,MAAM,GAAG;EACT,OAAO,GAAG;EACV,SAAS,GAAG;CACd;AACF;AAIA,IAAM,UAAU,IAAI,OAAO,OAAO,GAAG,oBAAoB,GAAG;AAE5D,SAAgB,WAAW,GAAmB;CAC5C,OAAO,EAAE,QAAQ,SAAS,EAAE,CAAC,CAAC;AAChC;AAEA,SAAgB,cAAc,GAAW,GAAmB;CAC1D,MAAM,MAAM,WAAW,CAAC;CACxB,IAAI,OAAO,GACT,OAAO;CAET,OAAO,IAAI,IAAI,OAAO,IAAI,GAAG;AAC/B;AAEA,SAAgB,SAAS,GAAW,GAAmB;CACrD,IAAI,EAAE,UAAU,GACd,OAAO;CAET,IAAI,KAAK,GACP,OAAO,EAAE,MAAM,GAAG,CAAC;CAErB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI;AAC7B;AAEA,SAAgB,SAAS,KAAqB;CAC5C,MAAM,OAAO,QAAQ,IAAI;CACzB,IAAI,SAAS,QAAQ,QAAQ,IAAI,WAAW,OAAO,GAAG,IACpD,OAAO,MAAM,IAAI,MAAM,KAAK,MAAM;CAEpC,MAAM,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,OAAO,OAAO;CAC3C,IAAI,MAAM,SAAS,KAAK,IAAI,SAAS,IACnC,OAAO,OAAO,MAAM,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG;CAExC,OAAO;AACT"}
package/dist/cli/ux.d.ts DELETED
@@ -1,43 +0,0 @@
1
- /** Mirrors the TUI glyph set so both surfaces degrade the same way. */
2
- export declare const MARK: {
3
- readonly ok: 'OK';
4
- readonly info: 'i';
5
- readonly warn: '!';
6
- readonly fail: 'x';
7
- readonly done: '*';
8
- readonly live: '*';
9
- readonly open: 'o';
10
- readonly focus: '>';
11
- } | {
12
- readonly ok: '✔';
13
- readonly info: 'ℹ';
14
- readonly warn: '⚠';
15
- readonly fail: '✖';
16
- readonly done: '✓';
17
- readonly live: '●';
18
- readonly open: '○';
19
- readonly focus: '›';
20
- };
21
- export type UxMode = {
22
- json: boolean;
23
- quiet: boolean;
24
- verbose: boolean;
25
- /** No spinner when not a TTY or quiet/json */
26
- interactive: boolean;
27
- };
28
- export declare function setUxMode(partial: Partial<UxMode>): void;
29
- export declare function getUxMode(): UxMode;
30
- export declare function hintsForError(err: unknown): string[];
31
- export declare function printError(err: unknown): void;
32
- /** Suggest a follow-up command after success. */
33
- export declare function next(cmd: string, note?: string): void;
34
- /**
35
- * Run an async op with a spinner when interactive; plain otherwise.
36
- */
37
- export declare function withSpin<T>(label: string, fn: () => Promise<T>, opts?: {
38
- success?: string | ((result: T) => string);
39
- }): Promise<T>;
40
- export declare function success(msg: string): void;
41
- export declare function info(msg: string): void;
42
- export declare function warn(msg: string): void;
43
- //# sourceMappingURL=ux.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ux.d.ts","sourceRoot":"","sources":["../../src/cli/ux.ts"],"names":[],"mappings":"AAMA,uEAAuE;AACvE,eAAO,MAAM,IAAI;iBAEP,IAAI;mBACF,GAAG;mBACH,GAAG;mBACH,GAAG;mBACH,GAAG;mBACH,GAAG;mBACH,GAAG;oBACF,GAAG;;iBAGN,GAAG;mBACD,GAAG;mBACH,GAAG;mBACH,GAAG;mBACH,GAAG;mBACH,GAAG;mBACH,GAAG;oBACF,GAAG;CACD,CAAC;AAEhB,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AASF,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAKxD;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAuDD,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAKpD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAW7C;AAED,iDAAiD;AACjD,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAMrD;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC,CAAA;CAAE,GACpD,OAAO,CAAC,CAAC,CAAC,CAkBZ;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKzC;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKtC;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKtC"}
package/dist/cli/ux.js DELETED
@@ -1,114 +0,0 @@
1
- import { isAnyPickError } from "../utils/errors.js";
2
- import pc from "picocolors";
3
- import * as clack from "@clack/prompts";
4
- /** Mirrors the TUI glyph set so both surfaces degrade the same way. */
5
- var MARK = process.env.TERM === "dumb" ? {
6
- ok: "OK",
7
- info: "i",
8
- warn: "!",
9
- fail: "x",
10
- done: "*",
11
- live: "*",
12
- open: "o",
13
- focus: ">"
14
- } : {
15
- ok: "✔",
16
- info: "ℹ",
17
- warn: "⚠",
18
- fail: "✖",
19
- done: "✓",
20
- live: "●",
21
- open: "○",
22
- focus: "›"
23
- };
24
- var mode = {
25
- json: false,
26
- quiet: false,
27
- verbose: false,
28
- interactive: Boolean(process.stdout.isTTY && process.stdin.isTTY)
29
- };
30
- function setUxMode(partial) {
31
- mode = {
32
- ...mode,
33
- ...partial
34
- };
35
- if (mode.json || mode.quiet) mode.interactive = false;
36
- }
37
- function getUxMode() {
38
- return mode;
39
- }
40
- /** Map error codes → actionable next steps (Claude/Codex-style recovery). */
41
- var ERROR_HINTS = {
42
- NO_LIVE_AUTH: ["Log in with the tool first (e.g. codex login / grok login)", "Then: anypick add account <provider> --current --name <name>"],
43
- ACCOUNT_NOT_FOUND: ["List accounts: anypick list accounts", "Or save current: anypick add account <provider> --current --name <name>"],
44
- PROFILE_NOT_FOUND: ["List gateways: anypick list gateways", "Or create: anypick add gateway <name> --provider custom --endpoint …"],
45
- GATEWAY_NOT_FOUND: ["List gateways: anypick list gateways", "Or create: anypick add gateway <name> --provider openrouter --endpoint …"],
46
- PROFILE_EXISTS: ["Use --force to overwrite, or pick another name"],
47
- STASH_BACKUP_FAILED: ["Fix the backup error, or: anypick add account <provider> --new"],
48
- STASH_UNSUPPORTED: ["This provider cannot clear live auth for a new login"],
49
- REFRESH_UNSUPPORTED: ["Only codex/grok/opencode support refresh today", "Re-login if tokens expired: anypick add account <provider> --new"],
50
- REFRESH_EMPTY: ["Save an account first: anypick add account <provider> --current --name <name>", "Or refresh live: anypick account refresh <provider>"],
51
- UNKNOWN_PROVIDER: ["See: anypick providers"],
52
- UNKNOWN_CLIENT: ["See: anypick clients"],
53
- UNKNOWN_CATALOG_PROVIDER: ["See: anypick providers"],
54
- PROXY_UNSUPPORTED: ["This tool has no compatibility proxy", "Proxy is available for grok / kiro / opencode today"],
55
- PROXY_DISABLED: ["Enable first: anypick proxy enable <provider> <name> -p <port>", "Then: anypick proxy start"],
56
- PROXY_PORT_IN_USE: ["Pick another port: anypick proxy config <provider> <name> -p <port>", "Or: anypick proxy enable <provider> <name> -p <port>"],
57
- PROXY_PORT_INVALID: ["Port must be an integer between 1 and 65535"],
58
- PROXY_CONFIG_EMPTY: ["Example: anypick proxy config grok work -p 8081"],
59
- NO_ACTIVE_ACCOUNT: ["Pass an account name, or: anypick use <client> --with <provider>/<name>"],
60
- CLIENT_CONFIG_INVALID: ["Edit gateway: anypick gateway edit <name> --endpoint … --model …", "Or reset: anypick reset <client>"]
61
- };
62
- function hintsForError(err) {
63
- if (isAnyPickError(err) && err.code && ERROR_HINTS[err.code]) return ERROR_HINTS[err.code];
64
- return [];
65
- }
66
- function printError(err) {
67
- const msg = err instanceof Error ? err.message : String(err);
68
- if (!mode.quiet) {
69
- console.error(pc.red(MARK.fail), msg);
70
- for (const h of hintsForError(err)) console.error(pc.dim(` → ${h}`));
71
- if (mode.verbose && err instanceof Error && err.stack) console.error(pc.dim(err.stack));
72
- }
73
- }
74
- /** Suggest a follow-up command after success. */
75
- function next(cmd, note) {
76
- if (mode.json || mode.quiet) return;
77
- const line = note ? `${note} ${pc.cyan(cmd)}` : pc.cyan(cmd);
78
- console.log(pc.dim(" next"), line);
79
- }
80
- /**
81
- * Run an async op with a spinner when interactive; plain otherwise.
82
- */
83
- async function withSpin(label, fn, opts) {
84
- if (!mode.interactive || mode.json || mode.quiet) return fn();
85
- const s = clack.spinner();
86
- s.start(label);
87
- const t0 = Date.now();
88
- try {
89
- const result = await fn();
90
- const ms = Date.now() - t0;
91
- const ok = typeof opts?.success === "function" ? opts.success(result) : opts?.success ?? label;
92
- s.stop(mode.verbose ? `${ok} ${pc.dim(`${ms}ms`)}` : ok);
93
- return result;
94
- } catch (err) {
95
- s.stop(pc.red("Failed"));
96
- throw err;
97
- }
98
- }
99
- function success(msg) {
100
- if (mode.json || mode.quiet) return;
101
- console.log(pc.green(MARK.ok), msg);
102
- }
103
- function info(msg) {
104
- if (mode.json || mode.quiet) return;
105
- console.log(pc.cyan(MARK.info), msg);
106
- }
107
- function warn(msg) {
108
- if (mode.json || mode.quiet) return;
109
- console.log(pc.yellow(MARK.warn), msg);
110
- }
111
- //#endregion
112
- export { MARK, getUxMode, hintsForError, info, next, printError, setUxMode, success, warn, withSpin };
113
-
114
- //# sourceMappingURL=ux.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ux.js","names":[],"sources":["../../src/cli/ux.ts"],"sourcesContent":["import * as clack from '@clack/prompts';\nimport pc from 'picocolors';\nimport { isAnyPickError } from '../utils/errors';\n\nconst DUMB = process.env.TERM === 'dumb';\n\n/** Mirrors the TUI glyph set so both surfaces degrade the same way. */\nexport const MARK = DUMB\n ? ({\n ok: 'OK',\n info: 'i',\n warn: '!',\n fail: 'x',\n done: '*',\n live: '*',\n open: 'o',\n focus: '>',\n } as const)\n : ({\n ok: '✔',\n info: 'ℹ',\n warn: '⚠',\n fail: '✖',\n done: '✓',\n live: '●',\n open: '○',\n focus: '›',\n } as const);\n\nexport type UxMode = {\n json: boolean;\n quiet: boolean;\n verbose: boolean;\n /** No spinner when not a TTY or quiet/json */\n interactive: boolean;\n};\n\nlet mode: UxMode = {\n json: false,\n quiet: false,\n verbose: false,\n interactive: Boolean(process.stdout.isTTY && process.stdin.isTTY),\n};\n\nexport function setUxMode(partial: Partial<UxMode>): void {\n mode = { ...mode, ...partial };\n if (mode.json || mode.quiet) {\n mode.interactive = false;\n }\n}\n\nexport function getUxMode(): UxMode {\n return mode;\n}\n\n/** Map error codes → actionable next steps (Claude/Codex-style recovery). */\nconst ERROR_HINTS: Record<string, string[]> = {\n NO_LIVE_AUTH: [\n 'Log in with the tool first (e.g. codex login / grok login)',\n 'Then: anypick add account <provider> --current --name <name>',\n ],\n ACCOUNT_NOT_FOUND: [\n 'List accounts: anypick list accounts',\n 'Or save current: anypick add account <provider> --current --name <name>',\n ],\n PROFILE_NOT_FOUND: [\n 'List gateways: anypick list gateways',\n 'Or create: anypick add gateway <name> --provider custom --endpoint …',\n ],\n GATEWAY_NOT_FOUND: [\n 'List gateways: anypick list gateways',\n 'Or create: anypick add gateway <name> --provider openrouter --endpoint …',\n ],\n PROFILE_EXISTS: ['Use --force to overwrite, or pick another name'],\n STASH_BACKUP_FAILED: ['Fix the backup error, or: anypick add account <provider> --new'],\n STASH_UNSUPPORTED: ['This provider cannot clear live auth for a new login'],\n REFRESH_UNSUPPORTED: [\n 'Only codex/grok/opencode support refresh today',\n 'Re-login if tokens expired: anypick add account <provider> --new',\n ],\n REFRESH_EMPTY: [\n 'Save an account first: anypick add account <provider> --current --name <name>',\n 'Or refresh live: anypick account refresh <provider>',\n ],\n UNKNOWN_PROVIDER: ['See: anypick providers'],\n UNKNOWN_CLIENT: ['See: anypick clients'],\n UNKNOWN_CATALOG_PROVIDER: ['See: anypick providers'],\n PROXY_UNSUPPORTED: [\n 'This tool has no compatibility proxy',\n 'Proxy is available for grok / kiro / opencode today',\n ],\n PROXY_DISABLED: [\n 'Enable first: anypick proxy enable <provider> <name> -p <port>',\n 'Then: anypick proxy start',\n ],\n PROXY_PORT_IN_USE: [\n 'Pick another port: anypick proxy config <provider> <name> -p <port>',\n 'Or: anypick proxy enable <provider> <name> -p <port>',\n ],\n PROXY_PORT_INVALID: ['Port must be an integer between 1 and 65535'],\n PROXY_CONFIG_EMPTY: ['Example: anypick proxy config grok work -p 8081'],\n NO_ACTIVE_ACCOUNT: ['Pass an account name, or: anypick use <client> --with <provider>/<name>'],\n CLIENT_CONFIG_INVALID: [\n 'Edit gateway: anypick gateway edit <name> --endpoint … --model …',\n 'Or reset: anypick reset <client>',\n ],\n};\n\nexport function hintsForError(err: unknown): string[] {\n if (isAnyPickError(err) && err.code && ERROR_HINTS[err.code]) {\n return ERROR_HINTS[err.code];\n }\n return [];\n}\n\nexport function printError(err: unknown): void {\n const msg = err instanceof Error ? err.message : String(err);\n if (!mode.quiet) {\n console.error(pc.red(MARK.fail), msg);\n for (const h of hintsForError(err)) {\n console.error(pc.dim(` → ${h}`));\n }\n if (mode.verbose && err instanceof Error && err.stack) {\n console.error(pc.dim(err.stack));\n }\n }\n}\n\n/** Suggest a follow-up command after success. */\nexport function next(cmd: string, note?: string): void {\n if (mode.json || mode.quiet) {\n return;\n }\n const line = note ? `${note} ${pc.cyan(cmd)}` : pc.cyan(cmd);\n console.log(pc.dim(' next'), line);\n}\n\n/**\n * Run an async op with a spinner when interactive; plain otherwise.\n */\nexport async function withSpin<T>(\n label: string,\n fn: () => Promise<T>,\n opts?: { success?: string | ((result: T) => string) },\n): Promise<T> {\n if (!mode.interactive || mode.json || mode.quiet) {\n return fn();\n }\n const s = clack.spinner();\n s.start(label);\n const t0 = Date.now();\n try {\n const result = await fn();\n const ms = Date.now() - t0;\n const ok =\n typeof opts?.success === 'function' ? opts.success(result) : (opts?.success ?? label);\n s.stop(mode.verbose ? `${ok} ${pc.dim(`${ms}ms`)}` : ok);\n return result;\n } catch (err) {\n s.stop(pc.red('Failed'));\n throw err;\n }\n}\n\nexport function success(msg: string): void {\n if (mode.json || mode.quiet) {\n return;\n }\n console.log(pc.green(MARK.ok), msg);\n}\n\nexport function info(msg: string): void {\n if (mode.json || mode.quiet) {\n return;\n }\n console.log(pc.cyan(MARK.info), msg);\n}\n\nexport function warn(msg: string): void {\n if (mode.json || mode.quiet) {\n return;\n }\n console.log(pc.yellow(MARK.warn), msg);\n}\n"],"mappings":"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"}
package/dist/cli.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js DELETED
@@ -1,35 +0,0 @@
1
- #!/usr/bin/env node
2
- //#region src/cli.ts
3
- /**
4
- * Soften experimental node:sqlite warning for end users.
5
- * Must run before any module that imports node:sqlite (ESM hoist-safe via dynamic import).
6
- */
7
- function silenceSqliteExperimentalWarning() {
8
- const original = process.emitWarning.bind(process);
9
- process.emitWarning = (warning, ...rest) => {
10
- const message = typeof warning === "string" ? warning : String(warning?.message ?? warning);
11
- if ((typeof rest[0] === "string" ? rest[0] : typeof warning === "object" && warning && "name" in warning ? String(warning.name) : "") === "ExperimentalWarning" || message.includes("ExperimentalWarning")) {
12
- if (message.includes("SQLite") || message.includes("sqlite")) return;
13
- }
14
- if (message.includes("SQLite is an experimental feature")) return;
15
- return original(warning, ...rest);
16
- };
17
- }
18
- silenceSqliteExperimentalWarning();
19
- var earlyArgs = process.argv.slice(2);
20
- var openCodeProxyCommand = earlyArgs[0] === "proxy" && earlyArgs[1] === "serve" && earlyArgs[2] === "opencode";
21
- var proxyHubCommand = earlyArgs[0] === "proxy" && earlyArgs[1] === "serve" && earlyArgs[2] === "hub";
22
- if (openCodeProxyCommand) {
23
- const { runOpenCodeProxyCli } = await import("./providers/opencode-proxy/cli.js");
24
- await runOpenCodeProxyCli(earlyArgs.slice(3));
25
- } else if (proxyHubCommand) {
26
- const { runProxyHubCli } = await import("./core/proxy-hub-cli.js");
27
- await runProxyHubCli(earlyArgs.slice(3));
28
- } else {
29
- const { runAnyPickCli } = await import("./cli/bootstrap.js");
30
- await runAnyPickCli(earlyArgs);
31
- }
32
- //#endregion
33
- export {};
34
-
35
- //# sourceMappingURL=cli.js.map
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","names":[],"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\n\n/**\n * Soften experimental node:sqlite warning for end users.\n * Must run before any module that imports node:sqlite (ESM hoist-safe via dynamic import).\n */\nfunction silenceSqliteExperimentalWarning(): void {\n const original = process.emitWarning.bind(process);\n process.emitWarning = (warning: string | Error, ...rest: unknown[]) => {\n const message = typeof warning === 'string' ? warning : String(warning?.message ?? warning);\n const typeOrName =\n typeof rest[0] === 'string'\n ? rest[0]\n : typeof warning === 'object' && warning && 'name' in warning\n ? String((warning as { name?: string }).name)\n : '';\n if (typeOrName === 'ExperimentalWarning' || message.includes('ExperimentalWarning')) {\n if (message.includes('SQLite') || message.includes('sqlite')) {\n return;\n }\n }\n if (message.includes('SQLite is an experimental feature')) {\n return;\n }\n return (original as (...a: unknown[]) => void)(warning, ...rest);\n };\n}\n\nsilenceSqliteExperimentalWarning();\n\nconst earlyArgs = process.argv.slice(2);\nconst openCodeProxyCommand =\n earlyArgs[0] === 'proxy' && earlyArgs[1] === 'serve' && earlyArgs[2] === 'opencode';\nconst proxyHubCommand =\n earlyArgs[0] === 'proxy' && earlyArgs[1] === 'serve' && earlyArgs[2] === 'hub';\nif (openCodeProxyCommand) {\n const { runOpenCodeProxyCli } = await import('./providers/opencode-proxy/cli');\n await runOpenCodeProxyCli(earlyArgs.slice(3));\n} else if (proxyHubCommand) {\n const { runProxyHubCli } = await import('./core/proxy-hub-cli');\n await runProxyHubCli(earlyArgs.slice(3));\n} else {\n const { runAnyPickCli } = await import('./cli/bootstrap');\n await runAnyPickCli(earlyArgs);\n}\n"],"mappings":";;;;;;AAMA,SAAS,mCAAyC;CAChD,MAAM,WAAW,QAAQ,YAAY,KAAK,OAAO;CACjD,QAAQ,eAAe,SAAyB,GAAG,SAAoB;EACrE,MAAM,UAAU,OAAO,YAAY,WAAW,UAAU,OAAO,SAAS,WAAW,OAAO;EAO1F,KALE,OAAO,KAAK,OAAO,WACf,KAAK,KACL,OAAO,YAAY,YAAY,WAAW,UAAU,UAClD,OAAQ,QAA8B,IAAI,IAC1C,QACW,yBAAyB,QAAQ,SAAS,qBAAqB;OAC5E,QAAQ,SAAS,QAAQ,KAAK,QAAQ,SAAS,QAAQ,GACzD;EAAA;EAGJ,IAAI,QAAQ,SAAS,mCAAmC,GACtD;EAEF,OAAQ,SAAuC,SAAS,GAAG,IAAI;CACjE;AACF;AAEA,iCAAiC;AAEjC,IAAM,YAAY,QAAQ,KAAK,MAAM,CAAC;AACtC,IAAM,uBACJ,UAAU,OAAO,WAAW,UAAU,OAAO,WAAW,UAAU,OAAO;AAC3E,IAAM,kBACJ,UAAU,OAAO,WAAW,UAAU,OAAO,WAAW,UAAU,OAAO;AAC3E,IAAI,sBAAsB;CACxB,MAAM,EAAE,wBAAwB,MAAM,OAAO;CAC7C,MAAM,oBAAoB,UAAU,MAAM,CAAC,CAAC;AAC9C,OAAO,IAAI,iBAAiB;CAC1B,MAAM,EAAE,mBAAmB,MAAM,OAAO;CACxC,MAAM,eAAe,UAAU,MAAM,CAAC,CAAC;AACzC,OAAO;CACL,MAAM,EAAE,kBAAkB,MAAM,OAAO;CACvC,MAAM,cAAc,SAAS;AAC/B"}
@@ -1,8 +0,0 @@
1
- import type { ApplyContext } from '../types.js';
2
- export declare function settingsPath(home?: string): string;
3
- export declare function bareModelId(id: string | undefined): string | undefined;
4
- export declare function applyClaudeToHome(ctx: ApplyContext, targetHome: string): Promise<{
5
- managedPaths: string[];
6
- managedEnvKeys: string[];
7
- }>;
8
- //# sourceMappingURL=claude-client-apply.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-client-apply.d.ts","sourceRoot":"","sources":["../../src/clients/claude-client-apply.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAO7C,wBAAgB,YAAY,CAAC,IAAI,SAAgC,GAAG,MAAM,CAEzE;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAUtE;AAkBD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM;;;GA2J5E"}
@@ -1,108 +0,0 @@
1
- import { AnyPickError } from "../utils/errors.js";
2
- import { copyFileSafe, ensureDir, pathExists, readJsonFile, writeJsonFile } from "../utils/fs.js";
3
- import { clientBackupDir } from "../core/paths.js";
4
- import { resolveFromContext } from "./resolve.js";
5
- import { ANYPICK_MANAGED_KEY, managedMarker, writeClientEnvFiles } from "./env-files.js";
6
- import { join } from "node:path";
7
- import { homedir } from "node:os";
8
- //#region src/clients/claude-client-apply.ts
9
- function settingsPath(home = process.env.HOME ?? homedir()) {
10
- return join(home, ".claude", "settings.json");
11
- }
12
- function bareModelId(id) {
13
- if (!id) return;
14
- const trimmed = id.trim();
15
- if (!trimmed) return;
16
- const slash = trimmed.lastIndexOf("/");
17
- return slash >= 0 ? trimmed.slice(slash + 1) : trimmed;
18
- }
19
- function isOfficialAnthropicEndpoint(endpoint) {
20
- try {
21
- const host = new URL(endpoint).hostname.toLowerCase();
22
- return host === "api.anthropic.com" || host.endsWith(".anthropic.com");
23
- } catch {
24
- return false;
25
- }
26
- }
27
- function expectedEnvPaths(anypickRoot) {
28
- return [join(anypickRoot, "clients", "claude", "env.sh"), join(anypickRoot, "clients", "claude", "env.ps1")];
29
- }
30
- async function applyClaudeToHome(ctx, targetHome) {
31
- const settings = settingsPath(targetHome);
32
- const r = resolveFromContext(ctx);
33
- const apiKey = r.apiKey;
34
- const env = {};
35
- const official = isOfficialAnthropicEndpoint(r.endpoint);
36
- env.ANTHROPIC_BASE_URL = r.endpoint;
37
- if (official) env.ANTHROPIC_API_KEY = apiKey;
38
- else env.ANTHROPIC_AUTH_TOKEN = apiKey;
39
- const defaultModel = bareModelId(r.roles.default ?? r.defaultModel);
40
- const sonnet = bareModelId(r.roles.sonnet) ?? defaultModel;
41
- const opus = bareModelId(r.roles.opus) ?? defaultModel;
42
- const haiku = bareModelId(r.roles.haiku) ?? defaultModel;
43
- if (defaultModel) env.ANTHROPIC_MODEL = defaultModel;
44
- if (sonnet) env.ANTHROPIC_DEFAULT_SONNET_MODEL = sonnet;
45
- if (opus) env.ANTHROPIC_DEFAULT_OPUS_MODEL = opus;
46
- if (haiku) env.ANTHROPIC_DEFAULT_HAIKU_MODEL = haiku;
47
- const extraEnv = r.overlay.env;
48
- if (extraEnv && typeof extraEnv === "object" && !Array.isArray(extraEnv)) for (const [k, v] of Object.entries(extraEnv)) {
49
- if (typeof v !== "string") continue;
50
- if (k.startsWith("ANTHROPIC_") || k.startsWith("CLAUDE_") || k.startsWith("CLAUDE_CODE_")) env[k] = v;
51
- }
52
- if (ctx.dryRun) return {
53
- managedPaths: [settings, ...expectedEnvPaths(ctx.anypickRoot)],
54
- managedEnvKeys: Object.keys(env)
55
- };
56
- let doc = {};
57
- if (await pathExists(settings)) try {
58
- const parsed = await readJsonFile(settings);
59
- if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) throw new Error("root value is not an object");
60
- doc = parsed;
61
- } catch (err) {
62
- throw new AnyPickError(`Refusing to overwrite unreadable Claude settings at ${settings}: ${err instanceof Error ? err.message : String(err)}`, "CLIENT_CONFIG_INVALID");
63
- }
64
- const prevKeys = doc["_anypickManaged"]?.keys ?? [];
65
- const existingEnv = doc.env && typeof doc.env === "object" && !Array.isArray(doc.env) ? { ...doc.env } : {};
66
- for (const key of prevKeys) delete existingEnv[key];
67
- delete existingEnv.OPENAI_API_KEY;
68
- delete existingEnv.OPENAI_BASE_URL;
69
- delete existingEnv.OPENAI_MODEL;
70
- if (official) delete existingEnv.ANTHROPIC_AUTH_TOKEN;
71
- else delete existingEnv.ANTHROPIC_API_KEY;
72
- for (const k of [
73
- "ANTHROPIC_MODEL",
74
- "ANTHROPIC_DEFAULT_SONNET_MODEL",
75
- "ANTHROPIC_DEFAULT_OPUS_MODEL",
76
- "ANTHROPIC_DEFAULT_HAIKU_MODEL"
77
- ]) if (!(k in env)) delete existingEnv[k];
78
- Object.assign(existingEnv, env);
79
- const managedKeys = [...Object.keys(env), official ? "ANTHROPIC_AUTH_TOKEN" : "ANTHROPIC_API_KEY"];
80
- doc.env = existingEnv;
81
- doc[ANYPICK_MANAGED_KEY] = managedMarker([...new Set(managedKeys)]);
82
- let envPaths = [];
83
- if (!ctx.isolatedHome) {
84
- envPaths = await writeClientEnvFiles(ctx.anypickRoot, "claude", env);
85
- const backupDir = clientBackupDir(ctx.anypickRoot, "claude");
86
- await ensureDir(backupDir);
87
- const backupFile = join(backupDir, "settings.json");
88
- if (await pathExists(settings) && !await pathExists(backupFile)) await copyFileSafe(settings, backupFile);
89
- }
90
- await ensureDir(join(targetHome, ".claude"));
91
- await writeJsonFile(settings, doc, 384);
92
- try {
93
- const verify = await readJsonFile(settings);
94
- const venv = verify.env && typeof verify.env === "object" && !Array.isArray(verify.env) ? verify.env : {};
95
- if (venv.ANTHROPIC_BASE_URL !== r.endpoint) throw new AnyPickError(`Failed to write proxy into ${settings}: ANTHROPIC_BASE_URL is "${venv.ANTHROPIC_BASE_URL ?? ""}" (expected ${r.endpoint})`, "CLIENT_CONFIG_INVALID");
96
- } catch (err) {
97
- if (err instanceof AnyPickError) throw err;
98
- throw new AnyPickError(`Could not verify ${settings} after write: ${err instanceof Error ? err.message : String(err)}`, "CLIENT_CONFIG_INVALID");
99
- }
100
- return {
101
- managedPaths: [settings, ...envPaths],
102
- managedEnvKeys: managedKeys
103
- };
104
- }
105
- //#endregion
106
- export { applyClaudeToHome, bareModelId, settingsPath };
107
-
108
- //# sourceMappingURL=claude-client-apply.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-client-apply.js","names":[],"sources":["../../src/clients/claude-client-apply.ts"],"sourcesContent":["import { join } from 'node:path';\nimport { homedir } from 'node:os';\nimport type { ApplyContext } from '../types';\nimport { AnyPickError } from '../utils/errors';\nimport { copyFileSafe, ensureDir, pathExists, readJsonFile, writeJsonFile } from '../utils/fs';\nimport { clientBackupDir } from '../core/paths';\nimport { resolveFromContext } from './resolve';\nimport { managedMarker, ANYPICK_MANAGED_KEY, writeClientEnvFiles } from './env-files';\n\nexport function settingsPath(home = process.env.HOME ?? homedir()): string {\n return join(home, '.claude', 'settings.json');\n}\n\nexport function bareModelId(id: string | undefined): string | undefined {\n if (!id) {\n return undefined;\n }\n const trimmed = id.trim();\n if (!trimmed) {\n return undefined;\n }\n const slash = trimmed.lastIndexOf('/');\n return slash >= 0 ? trimmed.slice(slash + 1) : trimmed;\n}\n\nfunction isOfficialAnthropicEndpoint(endpoint: string): boolean {\n try {\n const host = new URL(endpoint).hostname.toLowerCase();\n return host === 'api.anthropic.com' || host.endsWith('.anthropic.com');\n } catch {\n return false;\n }\n}\n\nfunction expectedEnvPaths(anypickRoot: string): string[] {\n return [\n join(anypickRoot, 'clients', 'claude', 'env.sh'),\n join(anypickRoot, 'clients', 'claude', 'env.ps1'),\n ];\n}\n\nexport async function applyClaudeToHome(ctx: ApplyContext, targetHome: string) {\n const settings = settingsPath(targetHome);\n const r = resolveFromContext(ctx);\n const apiKey = r.apiKey;\n const env: Record<string, string> = {};\n const official = isOfficialAnthropicEndpoint(r.endpoint);\n\n env.ANTHROPIC_BASE_URL = r.endpoint;\n\n if (official) {\n env.ANTHROPIC_API_KEY = apiKey;\n } else {\n env.ANTHROPIC_AUTH_TOKEN = apiKey;\n }\n\n // Claude Code slots: default + sonnet/opus/haiku. When only default is set\n // (common for proxy model maps), fill all slots so UI model \"sonnet[…]\"\n // still hits the proxy model instead of a built-in Claude id.\n const defaultModel = bareModelId(r.roles.default ?? r.defaultModel);\n const sonnet = bareModelId(r.roles.sonnet) ?? defaultModel;\n const opus = bareModelId(r.roles.opus) ?? defaultModel;\n const haiku = bareModelId(r.roles.haiku) ?? defaultModel;\n\n if (defaultModel) {\n env.ANTHROPIC_MODEL = defaultModel;\n }\n if (sonnet) {\n env.ANTHROPIC_DEFAULT_SONNET_MODEL = sonnet;\n }\n if (opus) {\n env.ANTHROPIC_DEFAULT_OPUS_MODEL = opus;\n }\n if (haiku) {\n env.ANTHROPIC_DEFAULT_HAIKU_MODEL = haiku;\n }\n\n const extraEnv = r.overlay.env;\n if (extraEnv && typeof extraEnv === 'object' && !Array.isArray(extraEnv)) {\n for (const [k, v] of Object.entries(extraEnv)) {\n if (typeof v !== 'string') {\n continue;\n }\n if (k.startsWith('ANTHROPIC_') || k.startsWith('CLAUDE_') || k.startsWith('CLAUDE_CODE_')) {\n env[k] = v;\n }\n }\n }\n\n if (ctx.dryRun) {\n return {\n managedPaths: [settings, ...expectedEnvPaths(ctx.anypickRoot)],\n managedEnvKeys: Object.keys(env),\n };\n }\n\n // Never turn malformed user JSON into `{}`. Parse and validate before any\n // env/config write so a failed apply leaves the user's files untouched.\n let doc: Record<string, unknown> = {};\n if (await pathExists(settings)) {\n try {\n const parsed = await readJsonFile<unknown>(settings);\n if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {\n throw new Error('root value is not an object');\n }\n doc = parsed as Record<string, unknown>;\n } catch (err) {\n throw new AnyPickError(\n `Refusing to overwrite unreadable Claude settings at ${settings}: ${err instanceof Error ? err.message : String(err)}`,\n 'CLIENT_CONFIG_INVALID',\n );\n }\n }\n\n const prevManaged = doc[ANYPICK_MANAGED_KEY] as { keys?: string[] } | undefined;\n const prevKeys = prevManaged?.keys ?? [];\n const existingEnv =\n doc.env && typeof doc.env === 'object' && !Array.isArray(doc.env)\n ? { ...(doc.env as Record<string, string>) }\n : {};\n\n for (const key of prevKeys) {\n delete existingEnv[key];\n }\n\n delete existingEnv.OPENAI_API_KEY;\n delete existingEnv.OPENAI_BASE_URL;\n delete existingEnv.OPENAI_MODEL;\n if (official) {\n delete existingEnv.ANTHROPIC_AUTH_TOKEN;\n } else {\n delete existingEnv.ANTHROPIC_API_KEY;\n }\n for (const k of [\n 'ANTHROPIC_MODEL',\n 'ANTHROPIC_DEFAULT_SONNET_MODEL',\n 'ANTHROPIC_DEFAULT_OPUS_MODEL',\n 'ANTHROPIC_DEFAULT_HAIKU_MODEL',\n ]) {\n if (!(k in env)) {\n delete existingEnv[k];\n }\n }\n\n Object.assign(existingEnv, env);\n\n const managedKeys = [\n ...Object.keys(env),\n official ? 'ANTHROPIC_AUTH_TOKEN' : 'ANTHROPIC_API_KEY',\n ];\n doc.env = existingEnv;\n doc[ANYPICK_MANAGED_KEY] = managedMarker([...new Set(managedKeys)]);\n\n // Env files only for live (persistent) applies — not for isolated runtimes.\n // Keep the shell environment and settings.json in sync.\n let envPaths: string[] = [];\n if (!ctx.isolatedHome) {\n envPaths = await writeClientEnvFiles(ctx.anypickRoot, 'claude', env);\n const backupDir = clientBackupDir(ctx.anypickRoot, 'claude');\n await ensureDir(backupDir);\n const backupFile = join(backupDir, 'settings.json');\n if ((await pathExists(settings)) && !(await pathExists(backupFile))) {\n await copyFileSafe(settings, backupFile);\n }\n }\n\n await ensureDir(join(targetHome, '.claude'));\n await writeJsonFile(settings, doc, 0o600);\n\n // Hard guarantee: Claude Code reads settings.json env, not only env.sh\n try {\n const verify = await readJsonFile<Record<string, unknown>>(settings);\n const venv =\n verify.env && typeof verify.env === 'object' && !Array.isArray(verify.env)\n ? (verify.env as Record<string, string>)\n : {};\n if (venv.ANTHROPIC_BASE_URL !== r.endpoint) {\n throw new AnyPickError(\n `Failed to write proxy into ${settings}: ANTHROPIC_BASE_URL is \"${venv.ANTHROPIC_BASE_URL ?? ''}\" (expected ${r.endpoint})`,\n 'CLIENT_CONFIG_INVALID',\n );\n }\n } catch (err) {\n if (err instanceof AnyPickError) {\n throw err;\n }\n throw new AnyPickError(\n `Could not verify ${settings} after write: ${err instanceof Error ? err.message : String(err)}`,\n 'CLIENT_CONFIG_INVALID',\n );\n }\n\n return {\n managedPaths: [settings, ...envPaths],\n managedEnvKeys: managedKeys,\n };\n}\n"],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { ClientAdapter } from '../types.js';
2
- export { bareModelId } from './claude-client-apply.js';
3
- export declare function createClaudeCodeClient(home?: string): ClientAdapter;
4
- export declare const claudeCodeClient: ClientAdapter;
5
- //# sourceMappingURL=claude-code.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/clients/claude-code.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,aAAa,EAOd,MAAM,UAAU,CAAC;AAalB,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAMpD,wBAAgB,sBAAsB,CAAC,IAAI,SAAgC,GAAG,aAAa,CA2N1F;AAgBD,eAAO,MAAM,gBAAgB,eAA2B,CAAC"}