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,95 +0,0 @@
1
- export declare const PID_RECORD_VERSION: 1;
2
- /**
3
- * Structured ownership record replacing the old numeric PID file (PROC-01).
4
- *
5
- * A numeric PID is not verifiable: PID reuse (ABA) could make AnyPick signal an
6
- * unrelated live process. The structured record carries a random instance id,
7
- * so a process is only ever treated as owned after its health endpoint echoes
8
- * the matching instance id — not merely after the PID is alive.
9
- */
10
- export interface PidRecord {
11
- recordVersion: number;
12
- instanceId: string;
13
- pid: number;
14
- endpoint?: string;
15
- provider?: string;
16
- account?: string;
17
- command?: string;
18
- createdAt: string;
19
- }
20
- export interface SpawnDetachedOptions {
21
- cwd?: string;
22
- env?: NodeJS.ProcessEnv;
23
- /** Append stdout/stderr here. */
24
- logPath: string;
25
- /** Write the owner-only structured record here. */
26
- pidPath: string;
27
- /** Endpoint the child will serve a health check on (for identity verify). */
28
- endpoint?: string;
29
- /** Provider/account owning the process (recorded, never trusted as proof). */
30
- provider?: string;
31
- account?: string;
32
- }
33
- /**
34
- * Spawn a long-running process detached from the CLI.
35
- * stdout/stderr are appended to logPath; an owner-only structured record is
36
- * written to pidPath (mode 0o600). Returns the child pid and its instance id.
37
- */
38
- export declare function spawnDetached(command: string, args: string[], opts: SpawnDetachedOptions): Promise<{
39
- pid: number;
40
- instanceId: string;
41
- }>;
42
- /**
43
- * Write an owner-only (0o600) structured pid record. Any failure throws rather
44
- * than leaving a half-written, world-readable record.
45
- */
46
- export declare function writePidRecord(pidPath: string, record: Omit<PidRecord, 'recordVersion' | 'createdAt'>): void;
47
- /**
48
- * Read a structured pid record. Returns null when:
49
- * - the file is absent,
50
- * - it is not valid JSON or is missing required fields (corrupt/partial),
51
- * - it is a legacy numeric PID file (untrusted — fail closed so PID reuse
52
- * cannot make us signal an unrelated live process).
53
- */
54
- export declare function readPidRecord(pidPath: string): Promise<PidRecord | null>;
55
- /**
56
- * Backward-compatible pid reader. Prefers the structured record; returns its
57
- * pid. Legacy numeric files are UNTRUSTED and yield null (fail closed).
58
- */
59
- export declare function readPidFile(pidPath: string): Promise<number | null>;
60
- export declare function isProcessRunning(pid: number): boolean;
61
- export interface StopPidFileOptions {
62
- /** Time allowed for SIGTERM cleanup before SIGKILL. */
63
- graceMs?: number;
64
- /** Detached processes own a process group; signal it so grandchildren exit too. */
65
- processGroup?: boolean;
66
- /**
67
- * Verify the recorded instance id through the child's health endpoint before
68
- * signalling. Defaults to true; only supervisors with a separate ownership
69
- * channel (for example the macOS tray state file) may opt out explicitly.
70
- */
71
- verifyHealth?: boolean;
72
- /**
73
- * Whether the child echoes ANYPICK_INSTANCE_ID from /health. Defaults to true.
74
- *
75
- * A third-party binary cannot, so demanding it would leave every external
76
- * proxy unstoppable. Ownership is then proved from the process start time
77
- * instead: the record is written at spawn, so a live process whose start time
78
- * matches `createdAt` cannot be a recycled PID — reuse only happens after the
79
- * original exits, which is necessarily later. This is a different proof of
80
- * the same fact, not a relaxation of PROC-01.
81
- */
82
- expectInstanceId?: boolean;
83
- }
84
- /** Wall-clock start of a live process, or null if it cannot be determined. */
85
- export declare function processStartedAt(pid: number): Promise<number | null>;
86
- /**
87
- * Stop a process recorded in pidPath. Returns true if a signal was sent.
88
- * Waits until the process is gone (or force-kills) so the listen port can free.
89
- *
90
- * PROC-01 (fail closed): if the record is absent or unverifiable, stopPidFile
91
- * returns false and signals nothing — it must never kill a process it cannot
92
- * prove it owns (PID reuse / ABA).
93
- */
94
- export declare function stopPidFile(pidPath: string, opts?: StopPidFileOptions): Promise<boolean>;
95
- //# sourceMappingURL=pid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pid.d.ts","sourceRoot":"","sources":["../../../src/utils/process/pid.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,kBAAkB,EAAG,CAAU,CAAC;AAsB7C;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAgD9C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,GAAG,WAAW,CAAC,GACrD,IAAI,CASN;AAaD;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CA2B9E;AAiBD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGzE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOrD;AAED,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,8EAA8E;AAC9E,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAe1E;AA0CD;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,OAAO,CAAC,CAyGlB"}
@@ -1,243 +0,0 @@
1
- import { ensureDir, pathExists } from "../fs.js";
2
- import { sleep, verifyProcessHealth } from "./health.js";
3
- import { chmodSync, existsSync, renameSync, writeFileSync } from "node:fs";
4
- import { dirname } from "node:path";
5
- import { open, readFile, unlink } from "node:fs/promises";
6
- import { randomUUID } from "node:crypto";
7
- import { spawn } from "node:child_process";
8
- /**
9
- * How far a process start time may sit from the pid record's `createdAt` and
10
- * still count as the process we spawned. `ps` reports whole seconds, and the
11
- * record is written moments after the fork, so this only has to absorb spawn
12
- * latency — it is deliberately far smaller than any realistic PID-reuse gap.
13
- */
14
- var START_TIME_TOLERANCE_MS = 6e4;
15
- /**
16
- * Budget for one ownership proof: a loopback health probe plus, for a
17
- * third-party child, a `ps` fork.
18
- *
19
- * Deliberately not derived from `graceMs`. That is how long a caller will wait
20
- * for a cooperative exit; this is how long the *proof* may take, and on a loaded
21
- * machine the probe alone can exceed a second. Folding the two together let a
22
- * caller asking for a fast kill make ownership unprovable, and an unprovable
23
- * stop fails closed — leaking a live proxy that still holds its port.
24
- */
25
- var VERIFY_OWNERSHIP_TIMEOUT_MS = 5e3;
26
- /**
27
- * Spawn a long-running process detached from the CLI.
28
- * stdout/stderr are appended to logPath; an owner-only structured record is
29
- * written to pidPath (mode 0o600). Returns the child pid and its instance id.
30
- */
31
- async function spawnDetached(command, args, opts) {
32
- await ensureDir(dirname(opts.logPath));
33
- await ensureDir(dirname(opts.pidPath));
34
- const logFd = await open(opts.logPath, "a");
35
- const instanceId = randomUUID();
36
- const childEnv = {
37
- ...opts.env ?? process.env,
38
- ANYPICK_INSTANCE_ID: instanceId
39
- };
40
- const child = spawn(command, args, {
41
- cwd: opts.cwd,
42
- env: childEnv,
43
- detached: true,
44
- stdio: [
45
- "ignore",
46
- logFd.fd,
47
- logFd.fd
48
- ]
49
- });
50
- child.unref();
51
- await logFd.close();
52
- if (child.pid == null) throw new Error(`Failed to spawn ${command}`);
53
- try {
54
- writePidRecord(opts.pidPath, {
55
- instanceId,
56
- pid: child.pid,
57
- endpoint: opts.endpoint,
58
- provider: opts.provider,
59
- account: opts.account,
60
- command
61
- });
62
- } catch (err) {
63
- signalProcess(child.pid, "SIGTERM", true);
64
- throw err;
65
- }
66
- return {
67
- pid: child.pid,
68
- instanceId
69
- };
70
- }
71
- /**
72
- * Write an owner-only (0o600) structured pid record. Any failure throws rather
73
- * than leaving a half-written, world-readable record.
74
- */
75
- function writePidRecord(pidPath, record) {
76
- const full = {
77
- recordVersion: 1,
78
- createdAt: (/* @__PURE__ */ new Date()).toISOString(),
79
- ...record
80
- };
81
- writeFileSyncAtomic(`${pidPath}.${randomUUID()}.tmp`, JSON.stringify(full), pidPath);
82
- }
83
- function writeFileSyncAtomic(tmp, contents, target) {
84
- writeFileSync(tmp, contents, { mode: 384 });
85
- renameSync(tmp, target);
86
- try {
87
- chmodSync(target, 384);
88
- } catch {}
89
- }
90
- /**
91
- * Read a structured pid record. Returns null when:
92
- * - the file is absent,
93
- * - it is not valid JSON or is missing required fields (corrupt/partial),
94
- * - it is a legacy numeric PID file (untrusted — fail closed so PID reuse
95
- * cannot make us signal an unrelated live process).
96
- */
97
- async function readPidRecord(pidPath) {
98
- if (!await pathExists(pidPath)) return null;
99
- let raw;
100
- try {
101
- raw = (await readFile(pidPath, "utf8")).trim();
102
- } catch {
103
- return null;
104
- }
105
- if (!raw) return null;
106
- if (/^\d+\s*$/.test(raw)) return null;
107
- let parsed;
108
- try {
109
- parsed = JSON.parse(raw);
110
- } catch {
111
- return null;
112
- }
113
- if (!isPidRecord(parsed)) return null;
114
- return parsed;
115
- }
116
- function isPidRecord(v) {
117
- if (typeof v !== "object" || v === null) return false;
118
- const r = v;
119
- return typeof r.instanceId === "string" && r.instanceId.length > 0 && typeof r.pid === "number" && Number.isInteger(r.pid) && r.pid > 0 && typeof r.recordVersion === "number";
120
- }
121
- /**
122
- * Backward-compatible pid reader. Prefers the structured record; returns its
123
- * pid. Legacy numeric files are UNTRUSTED and yield null (fail closed).
124
- */
125
- async function readPidFile(pidPath) {
126
- const rec = await readPidRecord(pidPath);
127
- return rec ? rec.pid : null;
128
- }
129
- function isProcessRunning(pid) {
130
- try {
131
- process.kill(pid, 0);
132
- return true;
133
- } catch {
134
- return false;
135
- }
136
- }
137
- /** Wall-clock start of a live process, or null if it cannot be determined. */
138
- async function processStartedAt(pid) {
139
- if (process.platform === "win32") return null;
140
- try {
141
- const { execFile } = await import("node:child_process");
142
- const { promisify } = await import("node:util");
143
- const { stdout } = await promisify(execFile)("/bin/ps", [
144
- "-p",
145
- String(pid),
146
- "-o",
147
- "lstart="
148
- ], { timeout: 2e3 });
149
- const parsed = Date.parse(stdout.trim());
150
- return Number.isNaN(parsed) ? null : parsed;
151
- } catch {
152
- return null;
153
- }
154
- }
155
- function signalProcess(pid, signal, processGroup) {
156
- if (processGroup && process.platform !== "win32") try {
157
- process.kill(-pid, signal);
158
- return true;
159
- } catch {}
160
- try {
161
- process.kill(pid, signal);
162
- return true;
163
- } catch {
164
- return false;
165
- }
166
- }
167
- /**
168
- * Whether `pid` is still the process that was proven owned before SIGTERM.
169
- *
170
- * Prefers the start time captured while the child was demonstrably ours: it
171
- * stays valid through a shutdown that has already closed the health listener.
172
- * Falls back to the health proof only when the platform cannot report a start
173
- * time (Windows), and fails closed when neither is available (PROC-01).
174
- */
175
- async function stillSameProcess(pid, ownedStartedAt, verifyViaHealth) {
176
- if (ownedStartedAt == null) return verifyViaHealth();
177
- const current = await processStartedAt(pid);
178
- if (current == null) return false;
179
- return Math.abs(current - ownedStartedAt) <= START_TIME_TOLERANCE_MS;
180
- }
181
- /**
182
- * Stop a process recorded in pidPath. Returns true if a signal was sent.
183
- * Waits until the process is gone (or force-kills) so the listen port can free.
184
- *
185
- * PROC-01 (fail closed): if the record is absent or unverifiable, stopPidFile
186
- * returns false and signals nothing — it must never kill a process it cannot
187
- * prove it owns (PID reuse / ABA).
188
- */
189
- async function stopPidFile(pidPath, opts = {}) {
190
- const rec = await readPidRecord(pidPath);
191
- if (rec == null) return false;
192
- const pid = rec.pid;
193
- const byInstanceId = opts.expectInstanceId !== false;
194
- let healthEndpoint;
195
- const verifyOwned = async (timeoutMs) => {
196
- if (opts.verifyHealth === false) return true;
197
- if (!healthEndpoint) return false;
198
- const healthy = await verifyProcessHealth(healthEndpoint, {
199
- ...byInstanceId ? { expectInstanceId: rec.instanceId } : {},
200
- requirePid: pid,
201
- timeoutMs,
202
- intervalMs: 50
203
- });
204
- if (!healthy || byInstanceId) return healthy;
205
- const startedAt = await processStartedAt(pid);
206
- if (startedAt == null) return false;
207
- return Math.abs(startedAt - Date.parse(rec.createdAt)) <= START_TIME_TOLERANCE_MS;
208
- };
209
- if (opts.verifyHealth !== false) {
210
- if (!rec.endpoint || !rec.instanceId) return false;
211
- try {
212
- const url = new URL(rec.endpoint);
213
- if (url.pathname === "" || url.pathname === "/") url.pathname = "/health";
214
- else if (!url.pathname.endsWith("/health")) url.pathname = `${url.pathname.replace(/\/$/, "")}/health`;
215
- healthEndpoint = url.toString();
216
- } catch {
217
- return false;
218
- }
219
- if (!await verifyOwned(VERIFY_OWNERSHIP_TIMEOUT_MS)) return false;
220
- }
221
- let signaled = false;
222
- if (isProcessRunning(pid)) {
223
- if (!await verifyOwned(VERIFY_OWNERSHIP_TIMEOUT_MS)) return false;
224
- const ownedStartedAt = await processStartedAt(pid);
225
- signaled = signalProcess(pid, "SIGTERM", opts.processGroup ?? true);
226
- const deadline = Date.now() + (opts.graceMs ?? 3e3);
227
- while (isProcessRunning(pid) && Date.now() < deadline) await sleep(50);
228
- if (isProcessRunning(pid)) {
229
- if (!await stillSameProcess(pid, ownedStartedAt, () => verifyOwned(VERIFY_OWNERSHIP_TIMEOUT_MS))) return signaled;
230
- signalProcess(pid, "SIGKILL", opts.processGroup ?? true);
231
- const killDeadline = Date.now() + 1e3;
232
- while (isProcessRunning(pid) && Date.now() < killDeadline) await sleep(25);
233
- }
234
- }
235
- if (!isProcessRunning(pid) && existsSync(pidPath)) try {
236
- await unlink(pidPath);
237
- } catch {}
238
- return signaled;
239
- }
240
- //#endregion
241
- export { isProcessRunning, processStartedAt, readPidFile, readPidRecord, spawnDetached, stopPidFile, writePidRecord };
242
-
243
- //# sourceMappingURL=pid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pid.js","names":[],"sources":["../../../src/utils/process/pid.ts"],"sourcesContent":["import { spawn } from 'node:child_process';\nimport { open, readFile, unlink } from 'node:fs/promises';\nimport { writeFileSync, renameSync, chmodSync, existsSync } from 'node:fs';\nimport { randomUUID } from 'node:crypto';\nimport { ensureDir, pathExists } from '../fs';\nimport { dirname } from 'node:path';\nimport { sleep, verifyProcessHealth } from './health';\n\nexport const PID_RECORD_VERSION = 1 as const;\n\n/**\n * How far a process start time may sit from the pid record's `createdAt` and\n * still count as the process we spawned. `ps` reports whole seconds, and the\n * record is written moments after the fork, so this only has to absorb spawn\n * latency — it is deliberately far smaller than any realistic PID-reuse gap.\n */\nconst START_TIME_TOLERANCE_MS = 60_000;\n\n/**\n * Budget for one ownership proof: a loopback health probe plus, for a\n * third-party child, a `ps` fork.\n *\n * Deliberately not derived from `graceMs`. That is how long a caller will wait\n * for a cooperative exit; this is how long the *proof* may take, and on a loaded\n * machine the probe alone can exceed a second. Folding the two together let a\n * caller asking for a fast kill make ownership unprovable, and an unprovable\n * stop fails closed — leaking a live proxy that still holds its port.\n */\nconst VERIFY_OWNERSHIP_TIMEOUT_MS = 5000;\n\n/**\n * Structured ownership record replacing the old numeric PID file (PROC-01).\n *\n * A numeric PID is not verifiable: PID reuse (ABA) could make AnyPick signal an\n * unrelated live process. The structured record carries a random instance id,\n * so a process is only ever treated as owned after its health endpoint echoes\n * the matching instance id — not merely after the PID is alive.\n */\nexport interface PidRecord {\n recordVersion: number;\n instanceId: string;\n pid: number;\n endpoint?: string;\n provider?: string;\n account?: string;\n command?: string;\n createdAt: string;\n}\n\nexport interface SpawnDetachedOptions {\n cwd?: string;\n env?: NodeJS.ProcessEnv;\n /** Append stdout/stderr here. */\n logPath: string;\n /** Write the owner-only structured record here. */\n pidPath: string;\n /** Endpoint the child will serve a health check on (for identity verify). */\n endpoint?: string;\n /** Provider/account owning the process (recorded, never trusted as proof). */\n provider?: string;\n account?: string;\n}\n\n/**\n * Spawn a long-running process detached from the CLI.\n * stdout/stderr are appended to logPath; an owner-only structured record is\n * written to pidPath (mode 0o600). Returns the child pid and its instance id.\n */\nexport async function spawnDetached(\n command: string,\n args: string[],\n opts: SpawnDetachedOptions,\n): Promise<{ pid: number; instanceId: string }> {\n await ensureDir(dirname(opts.logPath));\n await ensureDir(dirname(opts.pidPath));\n\n const logFd = await open(opts.logPath, 'a');\n\n const instanceId = randomUUID();\n\n // Inject the instance id into the child's env so the proxy can echo it at\n // /health. Identity verification (not just pid liveness) is what lets us\n // treat a process as genuinely ours (PROC-01, ABA-safe).\n const childEnv: NodeJS.ProcessEnv = {\n ...(opts.env ?? process.env),\n ANYPICK_INSTANCE_ID: instanceId,\n };\n\n const child = spawn(command, args, {\n cwd: opts.cwd,\n env: childEnv,\n detached: true,\n stdio: ['ignore', logFd.fd, logFd.fd],\n });\n\n child.unref();\n await logFd.close();\n\n if (child.pid == null) {\n throw new Error(`Failed to spawn ${command}`);\n }\n\n try {\n writePidRecord(opts.pidPath, {\n instanceId,\n pid: child.pid,\n endpoint: opts.endpoint,\n provider: opts.provider,\n account: opts.account,\n command,\n });\n } catch (err) {\n // The caller cannot later discover an unrecorded detached child. This PID\n // came directly from this spawn, so cleanup is safe even without a health\n // endpoint/record verification.\n signalProcess(child.pid, 'SIGTERM', true);\n throw err;\n }\n\n return { pid: child.pid, instanceId };\n}\n\n/**\n * Write an owner-only (0o600) structured pid record. Any failure throws rather\n * than leaving a half-written, world-readable record.\n */\nexport function writePidRecord(\n pidPath: string,\n record: Omit<PidRecord, 'recordVersion' | 'createdAt'>,\n): void {\n const full: PidRecord = {\n recordVersion: PID_RECORD_VERSION,\n createdAt: new Date().toISOString(),\n ...record,\n };\n // Write atomically to a sibling, then rename over the target.\n const tmp = `${pidPath}.${randomUUID()}.tmp`;\n writeFileSyncAtomic(tmp, JSON.stringify(full), pidPath);\n}\n\nfunction writeFileSyncAtomic(tmp: string, contents: string, target: string): void {\n // Synchronous so the record is durable before spawnDetached returns.\n writeFileSync(tmp, contents, { mode: 0o600 });\n renameSync(tmp, target);\n try {\n chmodSync(target, 0o600);\n } catch {\n // best-effort; rename already applied 0o600 on POSIX\n }\n}\n\n/**\n * Read a structured pid record. Returns null when:\n * - the file is absent,\n * - it is not valid JSON or is missing required fields (corrupt/partial),\n * - it is a legacy numeric PID file (untrusted — fail closed so PID reuse\n * cannot make us signal an unrelated live process).\n */\nexport async function readPidRecord(pidPath: string): Promise<PidRecord | null> {\n if (!(await pathExists(pidPath))) {\n return null;\n }\n let raw: string;\n try {\n raw = (await readFile(pidPath, 'utf8')).trim();\n } catch {\n return null;\n }\n if (!raw) {\n return null;\n }\n // Legacy numeric record: never trust it as a pid.\n if (/^\\d+\\s*$/.test(raw)) {\n return null;\n }\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch {\n return null;\n }\n if (!isPidRecord(parsed)) {\n return null;\n }\n return parsed;\n}\n\nfunction isPidRecord(v: unknown): v is PidRecord {\n if (typeof v !== 'object' || v === null) {\n return false;\n }\n const r = v as Record<string, unknown>;\n return (\n typeof r.instanceId === 'string' &&\n r.instanceId.length > 0 &&\n typeof r.pid === 'number' &&\n Number.isInteger(r.pid) &&\n r.pid > 0 &&\n typeof r.recordVersion === 'number'\n );\n}\n\n/**\n * Backward-compatible pid reader. Prefers the structured record; returns its\n * pid. Legacy numeric files are UNTRUSTED and yield null (fail closed).\n */\nexport async function readPidFile(pidPath: string): Promise<number | null> {\n const rec = await readPidRecord(pidPath);\n return rec ? rec.pid : null;\n}\n\nexport function isProcessRunning(pid: number): boolean {\n try {\n process.kill(pid, 0);\n return true;\n } catch {\n return false;\n }\n}\n\nexport interface StopPidFileOptions {\n /** Time allowed for SIGTERM cleanup before SIGKILL. */\n graceMs?: number;\n /** Detached processes own a process group; signal it so grandchildren exit too. */\n processGroup?: boolean;\n /**\n * Verify the recorded instance id through the child's health endpoint before\n * signalling. Defaults to true; only supervisors with a separate ownership\n * channel (for example the macOS tray state file) may opt out explicitly.\n */\n verifyHealth?: boolean;\n /**\n * Whether the child echoes ANYPICK_INSTANCE_ID from /health. Defaults to true.\n *\n * A third-party binary cannot, so demanding it would leave every external\n * proxy unstoppable. Ownership is then proved from the process start time\n * instead: the record is written at spawn, so a live process whose start time\n * matches `createdAt` cannot be a recycled PID — reuse only happens after the\n * original exits, which is necessarily later. This is a different proof of\n * the same fact, not a relaxation of PROC-01.\n */\n expectInstanceId?: boolean;\n}\n\n/** Wall-clock start of a live process, or null if it cannot be determined. */\nexport async function processStartedAt(pid: number): Promise<number | null> {\n if (process.platform === 'win32') {\n return null;\n }\n try {\n const { execFile } = await import('node:child_process');\n const { promisify } = await import('node:util');\n const { stdout } = await promisify(execFile)('/bin/ps', ['-p', String(pid), '-o', 'lstart='], {\n timeout: 2000,\n });\n const parsed = Date.parse(stdout.trim());\n return Number.isNaN(parsed) ? null : parsed;\n } catch {\n return null;\n }\n}\n\nfunction signalProcess(pid: number, signal: NodeJS.Signals, processGroup: boolean): boolean {\n if (processGroup && process.platform !== 'win32') {\n try {\n process.kill(-pid, signal);\n return true;\n } catch {\n // The process may not be a group leader (legacy runtime); fall back to its PID.\n }\n }\n try {\n process.kill(pid, signal);\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Whether `pid` is still the process that was proven owned before SIGTERM.\n *\n * Prefers the start time captured while the child was demonstrably ours: it\n * stays valid through a shutdown that has already closed the health listener.\n * Falls back to the health proof only when the platform cannot report a start\n * time (Windows), and fails closed when neither is available (PROC-01).\n */\nasync function stillSameProcess(\n pid: number,\n ownedStartedAt: number | null,\n verifyViaHealth: () => Promise<boolean>,\n): Promise<boolean> {\n if (ownedStartedAt == null) {\n return verifyViaHealth();\n }\n const current = await processStartedAt(pid);\n if (current == null) {\n return false;\n }\n return Math.abs(current - ownedStartedAt) <= START_TIME_TOLERANCE_MS;\n}\n\n/**\n * Stop a process recorded in pidPath. Returns true if a signal was sent.\n * Waits until the process is gone (or force-kills) so the listen port can free.\n *\n * PROC-01 (fail closed): if the record is absent or unverifiable, stopPidFile\n * returns false and signals nothing — it must never kill a process it cannot\n * prove it owns (PID reuse / ABA).\n */\nexport async function stopPidFile(\n pidPath: string,\n opts: StopPidFileOptions = {},\n): Promise<boolean> {\n const rec = await readPidRecord(pidPath);\n if (rec == null) {\n return false;\n }\n const pid = rec.pid;\n\n // A syntactically valid PID record is not proof of ownership: the PID may\n // have been recycled since the record was written. Built-in proxies echo\n // ANYPICK_INSTANCE_ID from /health, so require that identity match before any\n // signal. If the endpoint/health check is unavailable, fail closed and leave\n // the record for doctor/recovery rather than risking an unrelated process.\n const byInstanceId = opts.expectInstanceId !== false;\n let healthEndpoint: string | undefined;\n const verifyOwned = async (timeoutMs: number): Promise<boolean> => {\n if (opts.verifyHealth === false) {\n return true;\n }\n if (!healthEndpoint) {\n return false;\n }\n const healthy = await verifyProcessHealth(healthEndpoint, {\n ...(byInstanceId ? { expectInstanceId: rec.instanceId } : {}),\n requirePid: pid,\n timeoutMs,\n intervalMs: 50,\n });\n if (!healthy || byInstanceId) {\n return healthy;\n }\n const startedAt = await processStartedAt(pid);\n if (startedAt == null) {\n return false;\n }\n return Math.abs(startedAt - Date.parse(rec.createdAt)) <= START_TIME_TOLERANCE_MS;\n };\n\n if (opts.verifyHealth !== false) {\n if (!rec.endpoint || !rec.instanceId) {\n return false;\n }\n try {\n const url = new URL(rec.endpoint);\n if (url.pathname === '' || url.pathname === '/') {\n url.pathname = '/health';\n } else if (!url.pathname.endsWith('/health')) {\n url.pathname = `${url.pathname.replace(/\\/$/, '')}/health`;\n }\n healthEndpoint = url.toString();\n } catch {\n return false;\n }\n const owned = await verifyOwned(VERIFY_OWNERSHIP_TIMEOUT_MS);\n if (!owned) {\n return false;\n }\n }\n\n let signaled = false;\n if (isProcessRunning(pid)) {\n // Re-check immediately before signalling. A process can exit and its PID\n // be recycled during the initial health probe.\n if (!(await verifyOwned(VERIFY_OWNERSHIP_TIMEOUT_MS))) {\n return false;\n }\n // Ownership is proven here, while the child is still serving. Capture its\n // start time now: escalation below cannot re-prove ownership through\n // /health, because a child that honors SIGTERM closes its listener first\n // and would then look unowned while it is still shutting down. Start time\n // is the same PROC-01 proof that survives that window — a recycled PID\n // necessarily starts later than the process it replaced.\n const ownedStartedAt = await processStartedAt(pid);\n signaled = signalProcess(pid, 'SIGTERM', opts.processGroup ?? true);\n // Wait for graceful exit\n const deadline = Date.now() + (opts.graceMs ?? 3000);\n while (isProcessRunning(pid) && Date.now() < deadline) {\n await sleep(50);\n }\n if (isProcessRunning(pid)) {\n // Never escalate to SIGKILL after a PID-reuse window without proving the\n // same instance still owns the endpoint.\n if (\n !(await stillSameProcess(pid, ownedStartedAt, () =>\n verifyOwned(VERIFY_OWNERSHIP_TIMEOUT_MS),\n ))\n ) {\n return signaled;\n }\n signalProcess(pid, 'SIGKILL', opts.processGroup ?? true);\n const killDeadline = Date.now() + 1000;\n while (isProcessRunning(pid) && Date.now() < killDeadline) {\n await sleep(25);\n }\n }\n }\n\n // Never discard the only ownership record while the process is still alive.\n if (!isProcessRunning(pid) && existsSync(pidPath)) {\n try {\n await unlink(pidPath);\n } catch {\n // ignore\n }\n }\n return signaled;\n}\n"],"mappings":";;;;;;;;;;;;;AAgBA,IAAM,0BAA0B;;;;;;;;;;;AAYhC,IAAM,8BAA8B;;;;;;AAwCpC,eAAsB,cACpB,SACA,MACA,MAC8C;CAC9C,MAAM,UAAU,QAAQ,KAAK,OAAO,CAAC;CACrC,MAAM,UAAU,QAAQ,KAAK,OAAO,CAAC;CAErC,MAAM,QAAQ,MAAM,KAAK,KAAK,SAAS,GAAG;CAE1C,MAAM,aAAa,WAAW;CAK9B,MAAM,WAA8B;EAClC,GAAI,KAAK,OAAO,QAAQ;EACxB,qBAAqB;CACvB;CAEA,MAAM,QAAQ,MAAM,SAAS,MAAM;EACjC,KAAK,KAAK;EACV,KAAK;EACL,UAAU;EACV,OAAO;GAAC;GAAU,MAAM;GAAI,MAAM;EAAE;CACtC,CAAC;CAED,MAAM,MAAM;CACZ,MAAM,MAAM,MAAM;CAElB,IAAI,MAAM,OAAO,MACf,MAAM,IAAI,MAAM,mBAAmB,SAAS;CAG9C,IAAI;EACF,eAAe,KAAK,SAAS;GAC3B;GACA,KAAK,MAAM;GACX,UAAU,KAAK;GACf,UAAU,KAAK;GACf,SAAS,KAAK;GACd;EACF,CAAC;CACH,SAAS,KAAK;EAIZ,cAAc,MAAM,KAAK,WAAW,IAAI;EACxC,MAAM;CACR;CAEA,OAAO;EAAE,KAAK,MAAM;EAAK;CAAW;AACtC;;;;;AAMA,SAAgB,eACd,SACA,QACM;CACN,MAAM,OAAkB;EACtB,eAAA;EACA,4BAAW,IAAI,KAAK,EAAA,CAAE,YAAY;EAClC,GAAG;CACL;CAGA,oBAAoB,GADL,QAAQ,GAAG,WAAW,EAAE,OACd,KAAK,UAAU,IAAI,GAAG,OAAO;AACxD;AAEA,SAAS,oBAAoB,KAAa,UAAkB,QAAsB;CAEhF,cAAc,KAAK,UAAU,EAAE,MAAM,IAAM,CAAC;CAC5C,WAAW,KAAK,MAAM;CACtB,IAAI;EACF,UAAU,QAAQ,GAAK;CACzB,QAAQ,CAER;AACF;;;;;;;;AASA,eAAsB,cAAc,SAA4C;CAC9E,IAAI,CAAE,MAAM,WAAW,OAAO,GAC5B,OAAO;CAET,IAAI;CACJ,IAAI;EACF,OAAO,MAAM,SAAS,SAAS,MAAM,EAAA,CAAG,KAAK;CAC/C,QAAQ;EACN,OAAO;CACT;CACA,IAAI,CAAC,KACH,OAAO;CAGT,IAAI,WAAW,KAAK,GAAG,GACrB,OAAO;CAET,IAAI;CACJ,IAAI;EACF,SAAS,KAAK,MAAM,GAAG;CACzB,QAAQ;EACN,OAAO;CACT;CACA,IAAI,CAAC,YAAY,MAAM,GACrB,OAAO;CAET,OAAO;AACT;AAEA,SAAS,YAAY,GAA4B;CAC/C,IAAI,OAAO,MAAM,YAAY,MAAM,MACjC,OAAO;CAET,MAAM,IAAI;CACV,OACE,OAAO,EAAE,eAAe,YACxB,EAAE,WAAW,SAAS,KACtB,OAAO,EAAE,QAAQ,YACjB,OAAO,UAAU,EAAE,GAAG,KACtB,EAAE,MAAM,KACR,OAAO,EAAE,kBAAkB;AAE/B;;;;;AAMA,eAAsB,YAAY,SAAyC;CACzE,MAAM,MAAM,MAAM,cAAc,OAAO;CACvC,OAAO,MAAM,IAAI,MAAM;AACzB;AAEA,SAAgB,iBAAiB,KAAsB;CACrD,IAAI;EACF,QAAQ,KAAK,KAAK,CAAC;EACnB,OAAO;CACT,QAAQ;EACN,OAAO;CACT;AACF;;AA2BA,eAAsB,iBAAiB,KAAqC;CAC1E,IAAI,QAAQ,aAAa,SACvB,OAAO;CAET,IAAI;EACF,MAAM,EAAE,aAAa,MAAM,OAAO;EAClC,MAAM,EAAE,cAAc,MAAM,OAAO;EACnC,MAAM,EAAE,WAAW,MAAM,UAAU,QAAQ,CAAC,CAAC,WAAW;GAAC;GAAM,OAAO,GAAG;GAAG;GAAM;EAAS,GAAG,EAC5F,SAAS,IACX,CAAC;EACD,MAAM,SAAS,KAAK,MAAM,OAAO,KAAK,CAAC;EACvC,OAAO,OAAO,MAAM,MAAM,IAAI,OAAO;CACvC,QAAQ;EACN,OAAO;CACT;AACF;AAEA,SAAS,cAAc,KAAa,QAAwB,cAAgC;CAC1F,IAAI,gBAAgB,QAAQ,aAAa,SACvC,IAAI;EACF,QAAQ,KAAK,CAAC,KAAK,MAAM;EACzB,OAAO;CACT,QAAQ,CAER;CAEF,IAAI;EACF,QAAQ,KAAK,KAAK,MAAM;EACxB,OAAO;CACT,QAAQ;EACN,OAAO;CACT;AACF;;;;;;;;;AAUA,eAAe,iBACb,KACA,gBACA,iBACkB;CAClB,IAAI,kBAAkB,MACpB,OAAO,gBAAgB;CAEzB,MAAM,UAAU,MAAM,iBAAiB,GAAG;CAC1C,IAAI,WAAW,MACb,OAAO;CAET,OAAO,KAAK,IAAI,UAAU,cAAc,KAAK;AAC/C;;;;;;;;;AAUA,eAAsB,YACpB,SACA,OAA2B,CAAC,GACV;CAClB,MAAM,MAAM,MAAM,cAAc,OAAO;CACvC,IAAI,OAAO,MACT,OAAO;CAET,MAAM,MAAM,IAAI;CAOhB,MAAM,eAAe,KAAK,qBAAqB;CAC/C,IAAI;CACJ,MAAM,cAAc,OAAO,cAAwC;EACjE,IAAI,KAAK,iBAAiB,OACxB,OAAO;EAET,IAAI,CAAC,gBACH,OAAO;EAET,MAAM,UAAU,MAAM,oBAAoB,gBAAgB;GACxD,GAAI,eAAe,EAAE,kBAAkB,IAAI,WAAW,IAAI,CAAC;GAC3D,YAAY;GACZ;GACA,YAAY;EACd,CAAC;EACD,IAAI,CAAC,WAAW,cACd,OAAO;EAET,MAAM,YAAY,MAAM,iBAAiB,GAAG;EAC5C,IAAI,aAAa,MACf,OAAO;EAET,OAAO,KAAK,IAAI,YAAY,KAAK,MAAM,IAAI,SAAS,CAAC,KAAK;CAC5D;CAEA,IAAI,KAAK,iBAAiB,OAAO;EAC/B,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,YACxB,OAAO;EAET,IAAI;GACF,MAAM,MAAM,IAAI,IAAI,IAAI,QAAQ;GAChC,IAAI,IAAI,aAAa,MAAM,IAAI,aAAa,KAC1C,IAAI,WAAW;QACV,IAAI,CAAC,IAAI,SAAS,SAAS,SAAS,GACzC,IAAI,WAAW,GAAG,IAAI,SAAS,QAAQ,OAAO,EAAE,EAAE;GAEpD,iBAAiB,IAAI,SAAS;EAChC,QAAQ;GACN,OAAO;EACT;EAEA,IAAI,CAAC,MADe,YAAY,2BAA2B,GAEzD,OAAO;CAEX;CAEA,IAAI,WAAW;CACf,IAAI,iBAAiB,GAAG,GAAG;EAGzB,IAAI,CAAE,MAAM,YAAY,2BAA2B,GACjD,OAAO;EAQT,MAAM,iBAAiB,MAAM,iBAAiB,GAAG;EACjD,WAAW,cAAc,KAAK,WAAW,KAAK,gBAAgB,IAAI;EAElE,MAAM,WAAW,KAAK,IAAI,KAAK,KAAK,WAAW;EAC/C,OAAO,iBAAiB,GAAG,KAAK,KAAK,IAAI,IAAI,UAC3C,MAAM,MAAM,EAAE;EAEhB,IAAI,iBAAiB,GAAG,GAAG;GAGzB,IACE,CAAE,MAAM,iBAAiB,KAAK,sBAC5B,YAAY,2BAA2B,CACzC,GAEA,OAAO;GAET,cAAc,KAAK,WAAW,KAAK,gBAAgB,IAAI;GACvD,MAAM,eAAe,KAAK,IAAI,IAAI;GAClC,OAAO,iBAAiB,GAAG,KAAK,KAAK,IAAI,IAAI,cAC3C,MAAM,MAAM,EAAE;EAElB;CACF;CAGA,IAAI,CAAC,iBAAiB,GAAG,KAAK,WAAW,OAAO,GAC9C,IAAI;EACF,MAAM,OAAO,OAAO;CACtB,QAAQ,CAER;CAEF,OAAO;AACT"}
@@ -1,5 +0,0 @@
1
- export * from './process/pid.js';
2
- export * from './process/health.js';
3
- export * from './process/binary.js';
4
- export * from './process/follow.js';
5
- //# sourceMappingURL=process.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/utils/process.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
@@ -1,5 +0,0 @@
1
- import { isListenPortFree, listenPidsOnPort, sleep, verifyProcessHealth, waitForHttp } from "./process/health.js";
2
- import { isProcessRunning, processStartedAt, readPidFile, readPidRecord, spawnDetached, stopPidFile, writePidRecord } from "./process/pid.js";
3
- import { resolveBinary } from "./process/binary.js";
4
- import { followFile } from "./process/follow.js";
5
- export { followFile, isListenPortFree, isProcessRunning, listenPidsOnPort, processStartedAt, readPidFile, readPidRecord, resolveBinary, sleep, spawnDetached, stopPidFile, verifyProcessHealth, waitForHttp, writePidRecord };
@@ -1,18 +0,0 @@
1
- /**
2
- * Normalize a slug used for account or profile directory names.
3
- *
4
- * Human-friendly input is accepted and auto-slugified instead of rejected:
5
- * "Kiro Key - 1k" → "kiro-key-1k"
6
- * "Work Team" → "work-team"
7
- *
8
- * Result is safe for filesystem paths: lowercase, [a-z0-9._-], no spaces.
9
- */
10
- export declare function normalizeSlug(raw: string, kind?: string): string;
11
- /**
12
- * Original display form of a name (trimmed), for use as a human label.
13
- * Returns undefined when it is empty or identical to the slug.
14
- */
15
- export declare function displayLabelFromName(raw: string, slug: string): string | undefined;
16
- export declare function normalizeAccountName(raw: string): string;
17
- export declare function normalizeProfileName(raw: string): string;
18
- //# sourceMappingURL=slug.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slug.d.ts","sourceRoot":"","sources":["../../src/utils/slug.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAS,GAAG,MAAM,CAsChE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMlF;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD"}
@@ -1,42 +0,0 @@
1
- //#region src/utils/slug.ts
2
- /**
3
- * Normalize a slug used for account or profile directory names.
4
- *
5
- * Human-friendly input is accepted and auto-slugified instead of rejected:
6
- * "Kiro Key - 1k" → "kiro-key-1k"
7
- * "Work Team" → "work-team"
8
- *
9
- * Result is safe for filesystem paths: lowercase, [a-z0-9._-], no spaces.
10
- */
11
- var MAX_SLUG_LEN = 64;
12
- function normalizeSlug(raw, kind = "name") {
13
- if (raw == null || String(raw).trim() === "") throw new Error(`${kind} is required.`);
14
- let name = String(raw).trim().normalize("NFKD").replace(/[\u0300-\u036f]/g, "").toLowerCase();
15
- name = name.replace(/[/\\]+/g, "-").replace(/\.\.+/g, ".");
16
- name = name.replace(/[^a-z0-9._-]+/g, "-");
17
- name = name.replace(/-+/g, "-").replace(/_+/g, "_").replace(/\.+/g, ".");
18
- name = name.replace(/^[-._]+|[-._]+$/g, "");
19
- if (!name) throw new Error(`${kind} "${raw}" has no usable characters. Use letters or digits.`);
20
- if (name.length > MAX_SLUG_LEN) name = name.slice(0, MAX_SLUG_LEN).replace(/[-._]+$/g, "");
21
- if (!/^[a-z0-9]/.test(name)) throw new Error(`${kind} "${raw}" must start with a letter or digit after normalization.`);
22
- return name;
23
- }
24
- /**
25
- * Original display form of a name (trimmed), for use as a human label.
26
- * Returns undefined when it is empty or identical to the slug.
27
- */
28
- function displayLabelFromName(raw, slug) {
29
- const label = String(raw).trim();
30
- if (!label || label === slug) return;
31
- return label;
32
- }
33
- function normalizeAccountName(raw) {
34
- return normalizeSlug(raw, "Account name");
35
- }
36
- function normalizeProfileName(raw) {
37
- return normalizeSlug(raw, "Profile name");
38
- }
39
- //#endregion
40
- export { displayLabelFromName, normalizeAccountName, normalizeProfileName, normalizeSlug };
41
-
42
- //# sourceMappingURL=slug.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slug.js","names":[],"sources":["../../src/utils/slug.ts"],"sourcesContent":["/**\n * Normalize a slug used for account or profile directory names.\n *\n * Human-friendly input is accepted and auto-slugified instead of rejected:\n * \"Kiro Key - 1k\" → \"kiro-key-1k\"\n * \"Work Team\" → \"work-team\"\n *\n * Result is safe for filesystem paths: lowercase, [a-z0-9._-], no spaces.\n */\n\nconst MAX_SLUG_LEN = 64;\n\nexport function normalizeSlug(raw: string, kind = 'name'): string {\n if (raw == null || String(raw).trim() === '') {\n throw new Error(`${kind} is required.`);\n }\n\n // Unicode normalize + strip combining marks so \"café\" → \"cafe\"\n let name = String(raw)\n .trim()\n .normalize('NFKD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .toLowerCase();\n\n // Path separators and parent refs must never survive\n name = name.replace(/[/\\\\]+/g, '-').replace(/\\.\\.+/g, '.');\n\n // Everything that is not a safe slug char → hyphen (spaces, punctuation, …)\n name = name.replace(/[^a-z0-9._-]+/g, '-');\n\n // Collapse runs of separators (keep dots as single dots when repeated)\n name = name.replace(/-+/g, '-').replace(/_+/g, '_').replace(/\\.+/g, '.');\n\n // Trim leading/trailing separators\n name = name.replace(/^[-._]+|[-._]+$/g, '');\n\n if (!name) {\n throw new Error(`${kind} \"${raw}\" has no usable characters. Use letters or digits.`);\n }\n\n if (name.length > MAX_SLUG_LEN) {\n name = name.slice(0, MAX_SLUG_LEN).replace(/[-._]+$/g, '');\n }\n\n // Must start with alphanumeric after cleanup\n if (!/^[a-z0-9]/.test(name)) {\n throw new Error(`${kind} \"${raw}\" must start with a letter or digit after normalization.`);\n }\n\n return name;\n}\n\n/**\n * Original display form of a name (trimmed), for use as a human label.\n * Returns undefined when it is empty or identical to the slug.\n */\nexport function displayLabelFromName(raw: string, slug: string): string | undefined {\n const label = String(raw).trim();\n if (!label || label === slug) {\n return undefined;\n }\n return label;\n}\n\nexport function normalizeAccountName(raw: string): string {\n return normalizeSlug(raw, 'Account name');\n}\n\nexport function normalizeProfileName(raw: string): string {\n return normalizeSlug(raw, 'Profile name');\n}\n"],"mappings":";;;;;;;;;;AAUA,IAAM,eAAe;AAErB,SAAgB,cAAc,KAAa,OAAO,QAAgB;CAChE,IAAI,OAAO,QAAQ,OAAO,GAAG,CAAC,CAAC,KAAK,MAAM,IACxC,MAAM,IAAI,MAAM,GAAG,KAAK,cAAc;CAIxC,IAAI,OAAO,OAAO,GAAG,CAAC,CACnB,KAAK,CAAC,CACN,UAAU,MAAM,CAAC,CACjB,QAAQ,oBAAoB,EAAE,CAAC,CAC/B,YAAY;CAGf,OAAO,KAAK,QAAQ,WAAW,GAAG,CAAC,CAAC,QAAQ,UAAU,GAAG;CAGzD,OAAO,KAAK,QAAQ,kBAAkB,GAAG;CAGzC,OAAO,KAAK,QAAQ,OAAO,GAAG,CAAC,CAAC,QAAQ,OAAO,GAAG,CAAC,CAAC,QAAQ,QAAQ,GAAG;CAGvE,OAAO,KAAK,QAAQ,oBAAoB,EAAE;CAE1C,IAAI,CAAC,MACH,MAAM,IAAI,MAAM,GAAG,KAAK,IAAI,IAAI,mDAAmD;CAGrF,IAAI,KAAK,SAAS,cAChB,OAAO,KAAK,MAAM,GAAG,YAAY,CAAC,CAAC,QAAQ,YAAY,EAAE;CAI3D,IAAI,CAAC,YAAY,KAAK,IAAI,GACxB,MAAM,IAAI,MAAM,GAAG,KAAK,IAAI,IAAI,yDAAyD;CAG3F,OAAO;AACT;;;;;AAMA,SAAgB,qBAAqB,KAAa,MAAkC;CAClF,MAAM,QAAQ,OAAO,GAAG,CAAC,CAAC,KAAK;CAC/B,IAAI,CAAC,SAAS,UAAU,MACtB;CAEF,OAAO;AACT;AAEA,SAAgB,qBAAqB,KAAqB;CACxD,OAAO,cAAc,KAAK,cAAc;AAC1C;AAEA,SAAgB,qBAAqB,KAAqB;CACxD,OAAO,cAAc,KAAK,cAAc;AAC1C"}