@package-broker/core 0.17.4 → 0.19.7

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 (346) hide show
  1. package/dist/cache/index.d.ts +0 -1
  2. package/dist/cache/index.d.ts.map +1 -1
  3. package/dist/cache/index.js +0 -1
  4. package/dist/cache/index.js.map +1 -1
  5. package/dist/cache/memory-driver.d.ts +1 -1
  6. package/dist/cache/memory-driver.d.ts.map +1 -1
  7. package/dist/cache/memory-driver.js +4 -2
  8. package/dist/cache/memory-driver.js.map +1 -1
  9. package/dist/db/create-database.d.ts +8 -0
  10. package/dist/db/create-database.d.ts.map +1 -0
  11. package/dist/db/create-database.js +13 -0
  12. package/dist/db/create-database.js.map +1 -0
  13. package/dist/db/index.d.ts +0 -1
  14. package/dist/db/index.d.ts.map +1 -1
  15. package/dist/db/index.js +0 -1
  16. package/dist/db/index.js.map +1 -1
  17. package/dist/db/schema.d.ts +557 -0
  18. package/dist/db/schema.d.ts.map +1 -1
  19. package/dist/db/schema.js +72 -2
  20. package/dist/db/schema.js.map +1 -1
  21. package/dist/factory.d.ts.map +1 -1
  22. package/dist/factory.js +22 -2
  23. package/dist/factory.js.map +1 -1
  24. package/dist/index.d.ts +2 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +2 -2
  27. package/dist/index.js.map +1 -1
  28. package/dist/jobs/processor.d.ts.map +1 -1
  29. package/dist/jobs/processor.js +16 -6
  30. package/dist/jobs/processor.js.map +1 -1
  31. package/dist/kernel/container.d.ts +12 -0
  32. package/dist/kernel/container.d.ts.map +1 -0
  33. package/dist/kernel/container.js +43 -0
  34. package/dist/kernel/container.js.map +1 -0
  35. package/dist/kernel/events.d.ts +17 -0
  36. package/dist/kernel/events.d.ts.map +1 -0
  37. package/dist/kernel/events.js +54 -0
  38. package/dist/kernel/events.js.map +1 -0
  39. package/dist/kernel/hooks.d.ts +14 -0
  40. package/dist/kernel/hooks.d.ts.map +1 -0
  41. package/dist/kernel/hooks.js +31 -0
  42. package/dist/kernel/hooks.js.map +1 -0
  43. package/dist/kernel/index.d.ts +5 -0
  44. package/dist/kernel/index.d.ts.map +1 -0
  45. package/dist/kernel/index.js +5 -0
  46. package/dist/kernel/index.js.map +1 -0
  47. package/dist/kernel/plugin.d.ts +21 -0
  48. package/dist/kernel/plugin.d.ts.map +1 -0
  49. package/dist/kernel/plugin.js +30 -0
  50. package/dist/kernel/plugin.js.map +1 -0
  51. package/dist/middleware/auth.d.ts +2 -0
  52. package/dist/middleware/auth.d.ts.map +1 -1
  53. package/dist/middleware/auth.js +20 -5
  54. package/dist/middleware/auth.js.map +1 -1
  55. package/dist/modules/admin/admin.handlers.d.ts +1 -1
  56. package/dist/modules/admin/admin.handlers.d.ts.map +1 -1
  57. package/dist/modules/artifacts/artifacts.handlers.d.ts +1 -1
  58. package/dist/modules/artifacts/artifacts.handlers.d.ts.map +1 -1
  59. package/dist/modules/auth/auth.handlers.js +1 -1
  60. package/dist/modules/auth/auth.handlers.js.map +1 -1
  61. package/dist/modules/composer/index.d.ts.map +1 -1
  62. package/dist/modules/composer/index.js +5 -0
  63. package/dist/modules/composer/index.js.map +1 -1
  64. package/dist/modules/composer/tenant-composer.d.ts +32 -0
  65. package/dist/modules/composer/tenant-composer.d.ts.map +1 -0
  66. package/dist/modules/composer/tenant-composer.js +198 -0
  67. package/dist/modules/composer/tenant-composer.js.map +1 -0
  68. package/dist/modules/import/import.handlers.d.ts +4 -0
  69. package/dist/modules/import/import.handlers.d.ts.map +1 -0
  70. package/dist/modules/import/import.handlers.js +16 -0
  71. package/dist/modules/import/import.handlers.js.map +1 -0
  72. package/dist/{routes/api/openapi/settings.d.ts → modules/import/import.routes.d.ts} +20 -35
  73. package/dist/modules/import/import.routes.d.ts.map +1 -0
  74. package/dist/modules/import/import.routes.js +63 -0
  75. package/dist/modules/import/import.routes.js.map +1 -0
  76. package/dist/modules/import/index.d.ts +8 -0
  77. package/dist/modules/import/index.d.ts.map +1 -0
  78. package/dist/modules/import/index.js +8 -0
  79. package/dist/modules/import/index.js.map +1 -0
  80. package/dist/modules/organizations/index.d.ts +8 -0
  81. package/dist/modules/organizations/index.d.ts.map +1 -0
  82. package/dist/modules/organizations/index.js +22 -0
  83. package/dist/modules/organizations/index.js.map +1 -0
  84. package/dist/modules/organizations/organizations.handlers.d.ts +24 -0
  85. package/dist/modules/organizations/organizations.handlers.d.ts.map +1 -0
  86. package/dist/modules/organizations/organizations.handlers.js +278 -0
  87. package/dist/modules/organizations/organizations.handlers.js.map +1 -0
  88. package/dist/modules/organizations/organizations.routes.d.ts +596 -0
  89. package/dist/modules/organizations/organizations.routes.d.ts.map +1 -0
  90. package/dist/modules/organizations/organizations.routes.js +263 -0
  91. package/dist/modules/organizations/organizations.routes.js.map +1 -0
  92. package/dist/modules/packages/packages.handlers.d.ts +1 -1
  93. package/dist/modules/packages/packages.handlers.d.ts.map +1 -1
  94. package/dist/modules/packages/packages.handlers.js +3 -69
  95. package/dist/modules/packages/packages.handlers.js.map +1 -1
  96. package/dist/modules/repositories/repositories.handlers.d.ts +1 -1
  97. package/dist/modules/repositories/repositories.handlers.d.ts.map +1 -1
  98. package/dist/modules/repositories/repositories.handlers.js +74 -3
  99. package/dist/modules/repositories/repositories.handlers.js.map +1 -1
  100. package/dist/modules/repositories/repositories.routes.d.ts +12 -0
  101. package/dist/modules/repositories/repositories.routes.d.ts.map +1 -1
  102. package/dist/modules/system/index.d.ts.map +1 -1
  103. package/dist/modules/system/index.js +2 -1
  104. package/dist/modules/system/index.js.map +1 -1
  105. package/dist/modules/system/system.handlers.d.ts +11 -1
  106. package/dist/modules/system/system.handlers.d.ts.map +1 -1
  107. package/dist/modules/system/system.handlers.js +31 -1
  108. package/dist/modules/system/system.handlers.js.map +1 -1
  109. package/dist/modules/system/system.routes.d.ts +34 -4
  110. package/dist/modules/system/system.routes.d.ts.map +1 -1
  111. package/dist/modules/system/system.routes.js +21 -1
  112. package/dist/modules/system/system.routes.js.map +1 -1
  113. package/dist/modules/tenants/index.d.ts +8 -0
  114. package/dist/modules/tenants/index.d.ts.map +1 -0
  115. package/dist/modules/tenants/index.js +21 -0
  116. package/dist/modules/tenants/index.js.map +1 -0
  117. package/dist/modules/tenants/tenants.handlers.d.ts +24 -0
  118. package/dist/modules/tenants/tenants.handlers.d.ts.map +1 -0
  119. package/dist/modules/tenants/tenants.handlers.js +268 -0
  120. package/dist/modules/tenants/tenants.handlers.js.map +1 -0
  121. package/dist/modules/tenants/tenants.routes.d.ts +486 -0
  122. package/dist/modules/tenants/tenants.routes.d.ts.map +1 -0
  123. package/dist/modules/tenants/tenants.routes.js +227 -0
  124. package/dist/modules/tenants/tenants.routes.js.map +1 -0
  125. package/dist/modules/tokens/tokens.handlers.d.ts +1 -1
  126. package/dist/modules/tokens/tokens.handlers.d.ts.map +1 -1
  127. package/dist/modules/users/users.handlers.d.ts +1 -1
  128. package/dist/modules/users/users.handlers.d.ts.map +1 -1
  129. package/dist/modules/users/users.handlers.js +1 -1
  130. package/dist/modules/users/users.handlers.js.map +1 -1
  131. package/dist/plugins/security-advisories/advisory-db.d.ts +85 -0
  132. package/dist/plugins/security-advisories/advisory-db.d.ts.map +1 -0
  133. package/dist/plugins/security-advisories/advisory-db.js +161 -0
  134. package/dist/plugins/security-advisories/advisory-db.js.map +1 -0
  135. package/dist/plugins/security-advisories/advisory-service.d.ts +44 -0
  136. package/dist/plugins/security-advisories/advisory-service.d.ts.map +1 -0
  137. package/dist/plugins/security-advisories/advisory-service.js +122 -0
  138. package/dist/plugins/security-advisories/advisory-service.js.map +1 -0
  139. package/dist/plugins/security-advisories/advisory.handlers.d.ts +13 -0
  140. package/dist/plugins/security-advisories/advisory.handlers.d.ts.map +1 -0
  141. package/dist/plugins/security-advisories/advisory.handlers.js +87 -0
  142. package/dist/plugins/security-advisories/advisory.handlers.js.map +1 -0
  143. package/dist/plugins/security-advisories/advisory.module.d.ts +4 -0
  144. package/dist/plugins/security-advisories/advisory.module.d.ts.map +1 -0
  145. package/dist/plugins/security-advisories/advisory.module.js +13 -0
  146. package/dist/plugins/security-advisories/advisory.module.js.map +1 -0
  147. package/dist/plugins/security-advisories/advisory.routes.d.ts +73 -0
  148. package/dist/plugins/security-advisories/advisory.routes.d.ts.map +1 -0
  149. package/dist/plugins/security-advisories/advisory.routes.js +76 -0
  150. package/dist/plugins/security-advisories/advisory.routes.js.map +1 -0
  151. package/dist/plugins/security-advisories/index.d.ts +31 -0
  152. package/dist/plugins/security-advisories/index.d.ts.map +1 -0
  153. package/dist/plugins/security-advisories/index.js +100 -0
  154. package/dist/plugins/security-advisories/index.js.map +1 -0
  155. package/dist/ports.d.ts +39 -21
  156. package/dist/ports.d.ts.map +1 -1
  157. package/dist/queue/consumer.d.ts +0 -8
  158. package/dist/queue/consumer.d.ts.map +1 -1
  159. package/dist/queue/consumer.js +2 -23
  160. package/dist/queue/consumer.js.map +1 -1
  161. package/dist/queue/index.d.ts +2 -0
  162. package/dist/queue/index.d.ts.map +1 -1
  163. package/dist/queue/index.js +2 -0
  164. package/dist/queue/index.js.map +1 -1
  165. package/dist/queue/memory-driver.d.ts +3 -2
  166. package/dist/queue/memory-driver.d.ts.map +1 -1
  167. package/dist/queue/memory-driver.js.map +1 -1
  168. package/dist/routes/composer.d.ts +7 -1
  169. package/dist/routes/composer.d.ts.map +1 -1
  170. package/dist/routes/composer.js +172 -70
  171. package/dist/routes/composer.js.map +1 -1
  172. package/dist/routes/dist.d.ts.map +1 -1
  173. package/dist/routes/dist.js +26 -80
  174. package/dist/routes/dist.js.map +1 -1
  175. package/dist/routes/index.d.ts +0 -1
  176. package/dist/routes/index.d.ts.map +1 -1
  177. package/dist/routes/index.js +0 -1
  178. package/dist/routes/index.js.map +1 -1
  179. package/dist/routes/package-revalidation.d.ts +38 -0
  180. package/dist/routes/package-revalidation.d.ts.map +1 -0
  181. package/dist/routes/package-revalidation.js +66 -0
  182. package/dist/routes/package-revalidation.js.map +1 -0
  183. package/dist/services/GitHubOrgImporter.d.ts +21 -0
  184. package/dist/services/GitHubOrgImporter.d.ts.map +1 -0
  185. package/dist/services/GitHubOrgImporter.js +51 -0
  186. package/dist/services/GitHubOrgImporter.js.map +1 -0
  187. package/dist/services/TokenScopeService.d.ts +15 -0
  188. package/dist/services/TokenScopeService.d.ts.map +1 -0
  189. package/dist/services/TokenScopeService.js +42 -0
  190. package/dist/services/TokenScopeService.js.map +1 -0
  191. package/dist/storage/index.d.ts +0 -1
  192. package/dist/storage/index.d.ts.map +1 -1
  193. package/dist/storage/index.js +0 -1
  194. package/dist/storage/index.js.map +1 -1
  195. package/dist/sync/repository-sync.d.ts.map +1 -1
  196. package/dist/sync/repository-sync.js +35 -23
  197. package/dist/sync/repository-sync.js.map +1 -1
  198. package/dist/sync/strategies/git-ssh.d.ts +17 -0
  199. package/dist/sync/strategies/git-ssh.d.ts.map +1 -0
  200. package/dist/sync/strategies/git-ssh.js +325 -0
  201. package/dist/sync/strategies/git-ssh.js.map +1 -0
  202. package/dist/{routes/api/types.d.ts → types/openapi.d.ts} +3 -4
  203. package/dist/types/openapi.d.ts.map +1 -0
  204. package/dist/{routes/api/types.js → types/openapi.js} +1 -1
  205. package/dist/types/openapi.js.map +1 -0
  206. package/dist/utils/background.d.ts +7 -0
  207. package/dist/utils/background.d.ts.map +1 -0
  208. package/dist/utils/background.js +11 -0
  209. package/dist/utils/background.js.map +1 -0
  210. package/dist/utils/environment.d.ts +15 -0
  211. package/dist/utils/environment.d.ts.map +1 -0
  212. package/dist/utils/environment.js +38 -0
  213. package/dist/utils/environment.js.map +1 -0
  214. package/dist/utils/index.d.ts +1 -0
  215. package/dist/utils/index.d.ts.map +1 -1
  216. package/dist/utils/index.js +1 -0
  217. package/dist/utils/index.js.map +1 -1
  218. package/dist/utils/package-filter.d.ts +7 -0
  219. package/dist/utils/package-filter.d.ts.map +1 -0
  220. package/dist/utils/package-filter.js +23 -0
  221. package/dist/utils/package-filter.js.map +1 -0
  222. package/dist/utils/package-validator.d.ts +3 -3
  223. package/dist/utils/package-validator.d.ts.map +1 -1
  224. package/dist/utils/package-validator.js +4 -37
  225. package/dist/utils/package-validator.js.map +1 -1
  226. package/dist/utils/upstream-fetch.d.ts +18 -0
  227. package/dist/utils/upstream-fetch.d.ts.map +1 -1
  228. package/dist/utils/upstream-fetch.js +76 -5
  229. package/dist/utils/upstream-fetch.js.map +1 -1
  230. package/dist/utils/zip-utils.d.ts +13 -0
  231. package/dist/utils/zip-utils.d.ts.map +1 -0
  232. package/dist/utils/zip-utils.js +66 -0
  233. package/dist/utils/zip-utils.js.map +1 -0
  234. package/dist/vcs/bitbucket-provider.d.ts +19 -0
  235. package/dist/vcs/bitbucket-provider.d.ts.map +1 -0
  236. package/dist/vcs/bitbucket-provider.js +249 -0
  237. package/dist/vcs/bitbucket-provider.js.map +1 -0
  238. package/dist/vcs/github-provider.d.ts +16 -0
  239. package/dist/vcs/github-provider.d.ts.map +1 -0
  240. package/dist/vcs/github-provider.js +117 -0
  241. package/dist/vcs/github-provider.js.map +1 -0
  242. package/dist/vcs/gitlab-provider.d.ts +17 -0
  243. package/dist/vcs/gitlab-provider.d.ts.map +1 -0
  244. package/dist/vcs/gitlab-provider.js +216 -0
  245. package/dist/vcs/gitlab-provider.js.map +1 -0
  246. package/dist/vcs/index.d.ts +10 -0
  247. package/dist/vcs/index.d.ts.map +1 -0
  248. package/dist/vcs/index.js +24 -0
  249. package/dist/vcs/index.js.map +1 -0
  250. package/dist/vcs/registry.d.ts +32 -0
  251. package/dist/vcs/registry.d.ts.map +1 -0
  252. package/dist/vcs/registry.js +47 -0
  253. package/dist/vcs/registry.js.map +1 -0
  254. package/dist/workflows/package-storage.d.ts.map +1 -1
  255. package/dist/workflows/package-storage.js +3 -3
  256. package/dist/workflows/package-storage.js.map +1 -1
  257. package/package.json +11 -8
  258. package/dist/cache/kv-driver.d.ts +0 -16
  259. package/dist/cache/kv-driver.d.ts.map +0 -1
  260. package/dist/cache/kv-driver.js +0 -23
  261. package/dist/cache/kv-driver.js.map +0 -1
  262. package/dist/db/d1-driver.d.ts +0 -3
  263. package/dist/db/d1-driver.d.ts.map +0 -1
  264. package/dist/db/d1-driver.js +0 -7
  265. package/dist/db/d1-driver.js.map +0 -1
  266. package/dist/routes/api/artifacts.d.ts +0 -27
  267. package/dist/routes/api/artifacts.d.ts.map +0 -1
  268. package/dist/routes/api/artifacts.js +0 -57
  269. package/dist/routes/api/artifacts.js.map +0 -1
  270. package/dist/routes/api/auth.d.ts +0 -52
  271. package/dist/routes/api/auth.d.ts.map +0 -1
  272. package/dist/routes/api/auth.js +0 -277
  273. package/dist/routes/api/auth.js.map +0 -1
  274. package/dist/routes/api/index.d.ts +0 -10
  275. package/dist/routes/api/index.d.ts.map +0 -1
  276. package/dist/routes/api/index.js +0 -11
  277. package/dist/routes/api/index.js.map +0 -1
  278. package/dist/routes/api/openapi/artifacts.d.ts +0 -80
  279. package/dist/routes/api/openapi/artifacts.d.ts.map +0 -1
  280. package/dist/routes/api/openapi/artifacts.js +0 -73
  281. package/dist/routes/api/openapi/artifacts.js.map +0 -1
  282. package/dist/routes/api/openapi/auth.d.ts +0 -187
  283. package/dist/routes/api/openapi/auth.d.ts.map +0 -1
  284. package/dist/routes/api/openapi/auth.js +0 -135
  285. package/dist/routes/api/openapi/auth.js.map +0 -1
  286. package/dist/routes/api/openapi/health.d.ts +0 -23
  287. package/dist/routes/api/openapi/health.d.ts.map +0 -1
  288. package/dist/routes/api/openapi/health.js +0 -25
  289. package/dist/routes/api/openapi/health.js.map +0 -1
  290. package/dist/routes/api/openapi/index.d.ts +0 -10
  291. package/dist/routes/api/openapi/index.d.ts.map +0 -1
  292. package/dist/routes/api/openapi/index.js +0 -16
  293. package/dist/routes/api/openapi/index.js.map +0 -1
  294. package/dist/routes/api/openapi/packages.d.ts +0 -172
  295. package/dist/routes/api/openapi/packages.d.ts.map +0 -1
  296. package/dist/routes/api/openapi/packages.js +0 -126
  297. package/dist/routes/api/openapi/packages.js.map +0 -1
  298. package/dist/routes/api/openapi/repositories.d.ts +0 -451
  299. package/dist/routes/api/openapi/repositories.d.ts.map +0 -1
  300. package/dist/routes/api/openapi/repositories.js +0 -238
  301. package/dist/routes/api/openapi/repositories.js.map +0 -1
  302. package/dist/routes/api/openapi/settings.d.ts.map +0 -1
  303. package/dist/routes/api/openapi/settings.js +0 -72
  304. package/dist/routes/api/openapi/settings.js.map +0 -1
  305. package/dist/routes/api/openapi/stats.d.ts +0 -59
  306. package/dist/routes/api/openapi/stats.d.ts.map +0 -1
  307. package/dist/routes/api/openapi/stats.js +0 -53
  308. package/dist/routes/api/openapi/stats.js.map +0 -1
  309. package/dist/routes/api/openapi/tokens.d.ts +0 -202
  310. package/dist/routes/api/openapi/tokens.d.ts.map +0 -1
  311. package/dist/routes/api/openapi/tokens.js +0 -132
  312. package/dist/routes/api/openapi/tokens.js.map +0 -1
  313. package/dist/routes/api/openapi/users.d.ts +0 -190
  314. package/dist/routes/api/openapi/users.d.ts.map +0 -1
  315. package/dist/routes/api/openapi/users.js +0 -126
  316. package/dist/routes/api/openapi/users.js.map +0 -1
  317. package/dist/routes/api/packages.d.ts +0 -50
  318. package/dist/routes/api/packages.d.ts.map +0 -1
  319. package/dist/routes/api/packages.js +0 -708
  320. package/dist/routes/api/packages.js.map +0 -1
  321. package/dist/routes/api/repositories.d.ts +0 -58
  322. package/dist/routes/api/repositories.d.ts.map +0 -1
  323. package/dist/routes/api/repositories.js +0 -321
  324. package/dist/routes/api/repositories.js.map +0 -1
  325. package/dist/routes/api/settings.d.ts +0 -29
  326. package/dist/routes/api/settings.d.ts.map +0 -1
  327. package/dist/routes/api/settings.js +0 -81
  328. package/dist/routes/api/settings.js.map +0 -1
  329. package/dist/routes/api/stats.d.ts +0 -21
  330. package/dist/routes/api/stats.d.ts.map +0 -1
  331. package/dist/routes/api/stats.js +0 -51
  332. package/dist/routes/api/stats.js.map +0 -1
  333. package/dist/routes/api/tokens.d.ts +0 -40
  334. package/dist/routes/api/tokens.d.ts.map +0 -1
  335. package/dist/routes/api/tokens.js +0 -187
  336. package/dist/routes/api/tokens.js.map +0 -1
  337. package/dist/routes/api/types.d.ts.map +0 -1
  338. package/dist/routes/api/types.js.map +0 -1
  339. package/dist/routes/api/users.d.ts +0 -6
  340. package/dist/routes/api/users.d.ts.map +0 -1
  341. package/dist/routes/api/users.js +0 -115
  342. package/dist/routes/api/users.js.map +0 -1
  343. package/dist/storage/r2-driver.d.ts +0 -16
  344. package/dist/storage/r2-driver.d.ts.map +0 -1
  345. package/dist/storage/r2-driver.js +0 -28
  346. package/dist/storage/r2-driver.js.map +0 -1
@@ -7,9 +7,11 @@ import { repositories } from '../../db/schema';
7
7
  import { eq } from 'drizzle-orm';
8
8
  import { buildAuthHeaders, COMPOSER_USER_AGENT } from '@package-broker/shared';
9
9
  import { encryptCredentials, decryptCredentials } from '../../utils/encryption';
10
- import { isGitHubUrl } from '../../utils/upstream-fetch';
10
+ import { isGitHubUrl, isSshGitUrl } from '../../utils/upstream-fetch';
11
+ import { isSshSupported } from '../../utils/environment';
11
12
  import { nanoid } from 'nanoid';
12
13
  import { getAnalytics } from '../../utils/analytics';
14
+ import { getVcsProviderRegistry } from '../../vcs/registry';
13
15
  export async function listRepositories(c) {
14
16
  const db = c.get('database');
15
17
  const allRepos = await db.select().from(repositories).orderBy(repositories.created_at);
@@ -29,6 +31,19 @@ export async function listRepositories(c) {
29
31
  }
30
32
  export async function createRepository(c) {
31
33
  const validated = c.req.valid('json');
34
+ // Validate SSH key support if SSH credential type is used
35
+ if (validated.credential_type === 'ssh_key') {
36
+ if (!isSshSupported()) {
37
+ return c.json({
38
+ error: 'Bad Request',
39
+ message: 'SSH key authentication is not supported in this environment. SSH keys are only available in Node.js/Docker environments, not in Cloudflare Workers.'
40
+ }, 400);
41
+ }
42
+ // Validate that private_key is provided
43
+ if (!validated.auth_credentials?.private_key) {
44
+ return c.json({ error: 'Bad Request', message: 'SSH private key is required for SSH authentication' }, 400);
45
+ }
46
+ }
32
47
  if (!c.env.ENCRYPTION_KEY || typeof c.env.ENCRYPTION_KEY !== 'string') {
33
48
  return c.json({ error: 'Internal Server Error', message: 'Server configuration error: ENCRYPTION_KEY is not set' }, 500);
34
49
  }
@@ -227,9 +242,9 @@ export async function syncRepositoryNow(c) {
227
242
  }
228
243
  async function validateRepositoryCredentials(repo, encryptionKey) {
229
244
  try {
230
- // Handle GitHub repositories differently
245
+ // Handle git repositories via VCS provider registry (supports GitHub, GitLab, Bitbucket)
231
246
  if (repo.vcs_type === 'git') {
232
- return validateGitHubRepository(repo, encryptionKey);
247
+ return validateGitRepository(repo, encryptionKey);
233
248
  }
234
249
  // Composer repository validation (existing logic)
235
250
  const credentialsJson = await decryptCredentials(repo.auth_credentials, encryptionKey);
@@ -264,11 +279,67 @@ async function validateRepositoryCredentials(repo, encryptionKey) {
264
279
  };
265
280
  }
266
281
  }
282
+ /**
283
+ * Validate a git repository using VCS provider registry.
284
+ * Supports GitHub, GitLab, and Bitbucket URLs.
285
+ */
286
+ async function validateGitRepository(repo, encryptionKey) {
287
+ // SSH key authentication is handled separately
288
+ if (repo.credential_type === 'ssh_key') {
289
+ if (!isSshSupported()) {
290
+ return {
291
+ success: false,
292
+ error: 'SSH key authentication is not supported in this environment. SSH keys are only available in Node.js/Docker environments.',
293
+ };
294
+ }
295
+ if (!repo.url || !isSshGitUrl(repo.url)) {
296
+ return { success: false, error: 'Invalid repository URL for SSH authentication.' };
297
+ }
298
+ return { success: true };
299
+ }
300
+ // Check if any VCS provider recognizes this URL
301
+ const registry = getVcsProviderRegistry();
302
+ const provider = registry.resolve(repo.url);
303
+ if (provider) {
304
+ // Decrypt credentials and verify with the provider
305
+ try {
306
+ const credentialsJson = await decryptCredentials(repo.auth_credentials, encryptionKey);
307
+ const valid = await provider.verifyCredentials(repo.url, repo.credential_type, credentialsJson);
308
+ if (!valid) {
309
+ return { success: false, error: 'Authentication failed. Please check your credentials.' };
310
+ }
311
+ return { success: true };
312
+ }
313
+ catch (error) {
314
+ return {
315
+ success: false,
316
+ error: error instanceof Error ? error.message : 'Unknown error during validation',
317
+ };
318
+ }
319
+ }
320
+ // Fallback to GitHub-specific validation for backward compatibility
321
+ return validateGitHubRepository(repo, encryptionKey);
322
+ }
267
323
  /**
268
324
  * Validate a GitHub repository by checking access to the repo and composer.json
269
325
  */
270
326
  async function validateGitHubRepository(repo, encryptionKey) {
271
327
  try {
328
+ // For SSH key authentication, skip GitHub API validation
329
+ // SSH validation will happen during actual sync
330
+ if (repo.credential_type === 'ssh_key') {
331
+ if (!isSshSupported()) {
332
+ return {
333
+ success: false,
334
+ error: 'SSH key authentication is not supported in this environment. SSH keys are only available in Node.js/Docker environments.'
335
+ };
336
+ }
337
+ // Validate SSH URL using proper hostname check (security)
338
+ if (!repo.url || !isSshGitUrl(repo.url)) {
339
+ return { success: false, error: 'Invalid repository URL for SSH authentication. Only GitHub URLs are supported.' };
340
+ }
341
+ return { success: true };
342
+ }
272
343
  // Validate GitHub URL using proper hostname check (security)
273
344
  if (!isGitHubUrl(repo.url)) {
274
345
  return { success: false, error: 'Invalid GitHub URL. Only github.com URLs are supported.' };
@@ -1 +1 @@
1
- {"version":3,"file":"repositories.handlers.js","sourceRoot":"","sources":["../../../src/modules/repositories/repositories.handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repositories.handlers.js","sourceRoot":"","sources":["../../../src/modules/repositories/repositories.handlers.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,8 @@ export declare const listRepositoriesRouteDef: {
28
28
  bitbucket_api_key: "bitbucket_api_key";
29
29
  bitbucket_server_pat: "bitbucket_server_pat";
30
30
  bearer_token: "bearer_token";
31
+ ssh_key: "ssh_key";
32
+ none: "none";
31
33
  }>;
32
34
  composer_json_path: z.ZodNullable<z.ZodString>;
33
35
  package_filter: z.ZodNullable<z.ZodString>;
@@ -78,6 +80,8 @@ export declare const createRepositoryRouteDef: {
78
80
  bitbucket_api_key: "bitbucket_api_key";
79
81
  bitbucket_server_pat: "bitbucket_server_pat";
80
82
  bearer_token: "bearer_token";
83
+ ssh_key: "ssh_key";
84
+ none: "none";
81
85
  }>;
82
86
  auth_credentials: z.ZodRecord<z.ZodString, z.ZodString>;
83
87
  composer_json_path: z.ZodOptional<z.ZodString>;
@@ -108,6 +112,8 @@ export declare const createRepositoryRouteDef: {
108
112
  bitbucket_api_key: "bitbucket_api_key";
109
113
  bitbucket_server_pat: "bitbucket_server_pat";
110
114
  bearer_token: "bearer_token";
115
+ ssh_key: "ssh_key";
116
+ none: "none";
111
117
  }>;
112
118
  composer_json_path: z.ZodNullable<z.ZodString>;
113
119
  package_filter: z.ZodNullable<z.ZodString>;
@@ -190,6 +196,8 @@ export declare const getRepositoryRouteDef: {
190
196
  bitbucket_api_key: "bitbucket_api_key";
191
197
  bitbucket_server_pat: "bitbucket_server_pat";
192
198
  bearer_token: "bearer_token";
199
+ ssh_key: "ssh_key";
200
+ none: "none";
193
201
  }>;
194
202
  composer_json_path: z.ZodNullable<z.ZodString>;
195
203
  package_filter: z.ZodNullable<z.ZodString>;
@@ -256,6 +264,8 @@ export declare const updateRepositoryRouteDef: {
256
264
  bitbucket_api_key: "bitbucket_api_key";
257
265
  bitbucket_server_pat: "bitbucket_server_pat";
258
266
  bearer_token: "bearer_token";
267
+ ssh_key: "ssh_key";
268
+ none: "none";
259
269
  }>>;
260
270
  auth_credentials: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
261
271
  composer_json_path: z.ZodOptional<z.ZodOptional<z.ZodString>>;
@@ -286,6 +296,8 @@ export declare const updateRepositoryRouteDef: {
286
296
  bitbucket_api_key: "bitbucket_api_key";
287
297
  bitbucket_server_pat: "bitbucket_server_pat";
288
298
  bearer_token: "bearer_token";
299
+ ssh_key: "ssh_key";
300
+ none: "none";
289
301
  }>;
290
302
  composer_json_path: z.ZodNullable<z.ZodString>;
291
303
  package_filter: z.ZodNullable<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"repositories.routes.d.ts","sourceRoot":"","sources":["../../../src/modules/repositories/repositories.routes.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAUnD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBnC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CnC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmChC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CnC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCnC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCnC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCjC,CAAC"}
1
+ {"version":3,"file":"repositories.routes.d.ts","sourceRoot":"","sources":["../../../src/modules/repositories/repositories.routes.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAUnD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBnC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CnC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmChC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CnC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCnC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCnC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/system/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI/D,QAAA,MAAM,YAAY;cAA+B,WAAW;eAAa,YAAY;WAAK,CAAC;AAK3F,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/system/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI/D,QAAA,MAAM,YAAY;cAA+B,WAAW;eAAa,YAAY;WAAK,CAAC;AAM3F,eAAe,YAAY,CAAC"}
@@ -7,7 +7,8 @@ import { OpenAPIHono } from '@hono/zod-openapi';
7
7
  import * as routes from './system.routes';
8
8
  import * as handlers from './system.handlers';
9
9
  const systemModule = new OpenAPIHono();
10
- // Public route (no auth required)
10
+ // Public routes (no auth required)
11
11
  systemModule.openapi(routes.healthRouteDef, handlers.healthHandler);
12
+ systemModule.openapi(routes.sshSupportRouteDef, handlers.sshSupportHandler);
12
13
  export default systemModule;
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/system/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAE9C,MAAM,YAAY,GAAG,IAAI,WAAW,EAAsD,CAAC;AAE3F,kCAAkC;AAClC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,aAAoB,CAAC,CAAC;AAE3E,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/system/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAE9C,MAAM,YAAY,GAAG,IAAI,WAAW,EAAsD,CAAC;AAE3F,mCAAmC;AACnC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,aAAoB,CAAC,CAAC;AAC3E,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,QAAQ,CAAC,iBAAwB,CAAC,CAAC;AAEnF,eAAe,YAAY,CAAC"}
@@ -1,9 +1,19 @@
1
1
  import type { Context } from 'hono';
2
+ import type { AppVariables } from '../../factory';
3
+ import type { OpenAPIContext } from '../../types/openapi';
2
4
  /**
3
5
  * Health check endpoint
4
6
  * Returns 200 OK if service is healthy
5
7
  */
6
8
  export declare function healthHandler(c: Context<{
7
- Variables: any;
9
+ Variables: AppVariables;
10
+ }>): Promise<Response>;
11
+ /**
12
+ * SSH support check endpoint
13
+ * Returns whether SSH key support is available in the current environment
14
+ */
15
+ export declare function sshSupportHandler(c: OpenAPIContext<{
16
+ Bindings: Record<string, unknown>;
17
+ Variables: Record<string, unknown>;
8
18
  }>): Promise<Response>;
9
19
  //# sourceMappingURL=system.handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system.handlers.d.ts","sourceRoot":"","sources":["../../../src/modules/system/system.handlers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC;;;GAGG;AACH,wBAAsB,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC;IAAE,SAAS,EAAE,GAAG,CAAA;CAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAWrF"}
1
+ {"version":3,"file":"system.handlers.d.ts","sourceRoot":"","sources":["../../../src/modules/system/system.handlers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D;;;GAGG;AACH,wBAAsB,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC;IAAE,SAAS,EAAE,YAAY,CAAA;CAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8B9F;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,cAAc,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAMvJ"}
@@ -3,7 +3,9 @@
3
3
  * Copyright (C) 2025 Łukasz Bajsarowicz
4
4
  * Licensed under AGPL-3.0
5
5
  */
6
+ import { users } from '../../db/schema';
6
7
  import { getLogger } from '../../utils/logger';
8
+ import { isSshSupported } from '../../utils/environment';
7
9
  /**
8
10
  * Health check endpoint
9
11
  * Returns 200 OK if service is healthy
@@ -14,9 +16,37 @@ export async function healthHandler(c) {
14
16
  method: c.req.method,
15
17
  url: c.req.url,
16
18
  });
19
+ const checks = {};
20
+ let overall = 'ok';
21
+ try {
22
+ const db = c.get('database');
23
+ if (db) {
24
+ await db.select().from(users).limit(0);
25
+ checks.database = 'ok';
26
+ }
27
+ else {
28
+ checks.database = 'unavailable';
29
+ overall = 'degraded';
30
+ }
31
+ }
32
+ catch {
33
+ checks.database = 'error';
34
+ overall = 'degraded';
35
+ }
17
36
  return c.json({
18
- status: 'ok',
37
+ status: overall,
19
38
  timestamp: Date.now(),
39
+ checks,
40
+ });
41
+ }
42
+ /**
43
+ * SSH support check endpoint
44
+ * Returns whether SSH key support is available in the current environment
45
+ */
46
+ export async function sshSupportHandler(c) {
47
+ const sshSupported = isSshSupported();
48
+ return c.json({
49
+ ssh_supported: sshSupported,
20
50
  });
21
51
  }
22
52
  //# sourceMappingURL=system.handlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"system.handlers.js","sourceRoot":"","sources":["../../../src/modules/system/system.handlers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,CAA8B;IAChE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;QACpC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;QACpB,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG;KACf,CAAC,CAAC;IAEH,OAAO,CAAC,CAAC,IAAI,CAAC;QACZ,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"system.handlers.js","sourceRoot":"","sources":["../../../src/modules/system/system.handlers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,CAAuC;IACzE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;QACpC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;QACpB,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG;KACf,CAAC,CAAC;IAEH,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,OAAO,GAAsB,IAAI,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE7B,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC;YAChC,OAAO,GAAG,UAAU,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC1B,OAAO,GAAG,UAAU,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,CAAC,IAAI,CAAC;QACZ,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,CAA4F;IAClI,MAAM,YAAY,GAAG,cAAc,EAAE,CAAC;IAEtC,OAAO,CAAC,CAAC,IAAI,CAAC;QACZ,aAAa,EAAE,YAAY;KAC5B,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { z } from '@hono/zod-openapi';
1
2
  export declare const healthRouteDef: {
2
3
  method: "get";
3
4
  path: "/";
@@ -7,10 +8,18 @@ export declare const healthRouteDef: {
7
8
  200: {
8
9
  content: {
9
10
  'application/json': {
10
- schema: import("zod").ZodObject<{
11
- status: import("zod").ZodString;
12
- timestamp: import("zod").ZodNumber;
13
- }, import("zod/v4/core").$strip>;
11
+ schema: z.ZodObject<{
12
+ status: z.ZodEnum<{
13
+ ok: "ok";
14
+ degraded: "degraded";
15
+ }>;
16
+ timestamp: z.ZodNumber;
17
+ checks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
18
+ error: "error";
19
+ ok: "ok";
20
+ unavailable: "unavailable";
21
+ }>>>;
22
+ }, z.core.$strip>;
14
23
  };
15
24
  };
16
25
  description: string;
@@ -20,4 +29,25 @@ export declare const healthRouteDef: {
20
29
  } & {
21
30
  getRoutingPath(): "/";
22
31
  };
32
+ export declare const sshSupportRouteDef: {
33
+ method: "get";
34
+ path: "/ssh-support";
35
+ summary: string;
36
+ description: string;
37
+ responses: {
38
+ 200: {
39
+ content: {
40
+ 'application/json': {
41
+ schema: z.ZodObject<{
42
+ ssh_supported: z.ZodBoolean;
43
+ }, z.core.$strip>;
44
+ };
45
+ };
46
+ description: string;
47
+ };
48
+ };
49
+ tags: string[];
50
+ } & {
51
+ getRoutingPath(): "/ssh-support";
52
+ };
23
53
  //# sourceMappingURL=system.routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system.routes.d.ts","sourceRoot":"","sources":["../../../src/modules/system/system.routes.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;CAkBzB,CAAC"}
1
+ {"version":3,"file":"system.routes.d.ts","sourceRoot":"","sources":["../../../src/modules/system/system.routes.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAGnD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBzB,CAAC;AAMH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;CAgB7B,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * Copyright (C) 2025 Łukasz Bajsarowicz
4
4
  * Licensed under AGPL-3.0
5
5
  */
6
- import { createRoute } from '@hono/zod-openapi';
6
+ import { createRoute, z } from '@hono/zod-openapi';
7
7
  import { healthResponseSchema } from '@package-broker/shared';
8
8
  export const healthRouteDef = createRoute({
9
9
  method: 'get',
@@ -24,4 +24,24 @@ export const healthRouteDef = createRoute({
24
24
  },
25
25
  tags: ['System'],
26
26
  });
27
+ const sshSupportResponseSchema = z.object({
28
+ ssh_supported: z.boolean().describe('Whether SSH key support is available in this environment'),
29
+ });
30
+ export const sshSupportRouteDef = createRoute({
31
+ method: 'get',
32
+ path: '/ssh-support',
33
+ summary: 'Check SSH support',
34
+ description: 'Returns whether SSH key support is available in the current environment',
35
+ responses: {
36
+ 200: {
37
+ content: {
38
+ 'application/json': {
39
+ schema: sshSupportResponseSchema,
40
+ },
41
+ },
42
+ description: 'SSH support status',
43
+ },
44
+ },
45
+ tags: ['System'],
46
+ });
27
47
  //# sourceMappingURL=system.routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"system.routes.js","sourceRoot":"","sources":["../../../src/modules/system/system.routes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;IACxC,MAAM,EAAE,KAAK;IACb,kDAAkD;IAClD,mDAAmD;IACnD,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,cAAc;IACvB,WAAW,EAAE,sCAAsC;IACnD,SAAS,EAAE;QACT,GAAG,EAAE;YACH,OAAO,EAAE;gBACP,kBAAkB,EAAE;oBAClB,MAAM,EAAE,oBAAoB;iBAC7B;aACF;YACD,WAAW,EAAE,oBAAoB;SAClC;KACF;IACD,IAAI,EAAE,CAAC,QAAQ,CAAC;CACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"system.routes.js","sourceRoot":"","sources":["../../../src/modules/system/system.routes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;IACxC,MAAM,EAAE,KAAK;IACb,kDAAkD;IAClD,mDAAmD;IACnD,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,cAAc;IACvB,WAAW,EAAE,sCAAsC;IACnD,SAAS,EAAE;QACT,GAAG,EAAE;YACH,OAAO,EAAE;gBACP,kBAAkB,EAAE;oBAClB,MAAM,EAAE,oBAAoB;iBAC7B;aACF;YACD,WAAW,EAAE,oBAAoB;SAClC;KACF;IACD,IAAI,EAAE,CAAC,QAAQ,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;CAChG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC;IAC5C,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,mBAAmB;IAC5B,WAAW,EAAE,yEAAyE;IACtF,SAAS,EAAE;QACT,GAAG,EAAE;YACH,OAAO,EAAE;gBACP,kBAAkB,EAAE;oBAClB,MAAM,EAAE,wBAAwB;iBACjC;aACF;YACD,WAAW,EAAE,oBAAoB;SAClC;KACF;IACD,IAAI,EAAE,CAAC,QAAQ,CAAC;CACjB,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { OpenAPIHono } from '@hono/zod-openapi';
2
+ import type { AppBindings, AppVariables } from '../../factory';
3
+ declare const tenantsModule: OpenAPIHono<{
4
+ Bindings: AppBindings;
5
+ Variables: AppVariables;
6
+ }, {}, "/">;
7
+ export default tenantsModule;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/tenants/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI/D,QAAA,MAAM,aAAa;cAA+B,WAAW;eAAa,YAAY;WAAK,CAAC;AAc5F,eAAe,aAAa,CAAC"}
@@ -0,0 +1,21 @@
1
+ /*
2
+ * PACKAGE.broker
3
+ * Copyright (C) 2025 Łukasz Bajsarowicz
4
+ * Licensed under AGPL-3.0
5
+ */
6
+ import { OpenAPIHono } from '@hono/zod-openapi';
7
+ import * as routes from './tenants.routes';
8
+ import * as handlers from './tenants.handlers';
9
+ const tenantsModule = new OpenAPIHono();
10
+ // Tenant CRUD
11
+ tenantsModule.openapi(routes.listTenantsRouteDef, handlers.listTenants);
12
+ tenantsModule.openapi(routes.createTenantRouteDef, handlers.createTenant);
13
+ tenantsModule.openapi(routes.getTenantRouteDef, handlers.getTenant);
14
+ tenantsModule.openapi(routes.updateTenantRouteDef, handlers.updateTenant);
15
+ tenantsModule.openapi(routes.deleteTenantRouteDef, handlers.deleteTenant);
16
+ // Tenant package patterns
17
+ tenantsModule.openapi(routes.listTenantPackagesRouteDef, handlers.listTenantPackages);
18
+ tenantsModule.openapi(routes.addTenantPackageRouteDef, handlers.addTenantPackage);
19
+ tenantsModule.openapi(routes.removeTenantPackageRouteDef, handlers.removeTenantPackage);
20
+ export default tenantsModule;
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/tenants/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAE/C,MAAM,aAAa,GAAG,IAAI,WAAW,EAAsD,CAAC;AAE5F,cAAc;AACd,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,QAAQ,CAAC,WAAkB,CAAC,CAAC;AAC/E,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC,YAAmB,CAAC,CAAC;AACjF,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,SAAgB,CAAC,CAAC;AAC3E,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC,YAAmB,CAAC,CAAC;AACjF,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC,YAAmB,CAAC,CAAC;AAEjF,0BAA0B;AAC1B,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,QAAQ,CAAC,kBAAyB,CAAC,CAAC;AAC7F,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,QAAQ,CAAC,gBAAuB,CAAC,CAAC;AACzF,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,2BAA2B,EAAE,QAAQ,CAAC,mBAA0B,CAAC,CAAC;AAE/F,eAAe,aAAa,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { OpenAPIContext } from '../../types/openapi';
2
+ import type { DatabasePort } from '../../ports';
3
+ interface TenantRouteEnv {
4
+ Bindings: Record<string, unknown>;
5
+ Variables: {
6
+ database: DatabasePort;
7
+ requestId?: string;
8
+ session?: {
9
+ userId: string;
10
+ email: string;
11
+ };
12
+ org_id?: string;
13
+ };
14
+ }
15
+ export declare function listTenants(c: OpenAPIContext<TenantRouteEnv>): Promise<Response>;
16
+ export declare function createTenant(c: OpenAPIContext<TenantRouteEnv>): Promise<Response>;
17
+ export declare function getTenant(c: OpenAPIContext<TenantRouteEnv>): Promise<Response>;
18
+ export declare function updateTenant(c: OpenAPIContext<TenantRouteEnv>): Promise<Response>;
19
+ export declare function deleteTenant(c: OpenAPIContext<TenantRouteEnv>): Promise<Response>;
20
+ export declare function listTenantPackages(c: OpenAPIContext<TenantRouteEnv>): Promise<Response>;
21
+ export declare function addTenantPackage(c: OpenAPIContext<TenantRouteEnv>): Promise<Response>;
22
+ export declare function removeTenantPackage(c: OpenAPIContext<TenantRouteEnv>): Promise<Response>;
23
+ export {};
24
+ //# sourceMappingURL=tenants.handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenants.handlers.d.ts","sourceRoot":"","sources":["../../../src/modules/tenants/tenants.handlers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMhD,UAAU,cAAc;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,EAAE;QACT,QAAQ,EAAE,YAAY,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AA4BD,wBAAsB,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqBtF;AAED,wBAAsB,YAAY,CAAC,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8CvF;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4BpF;AAED,wBAAsB,YAAY,CAAC,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAwCvF;AAED,wBAAsB,YAAY,CAAC,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAwBvF;AAGD,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAoC7F;AAED,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAyD3F;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmC9F"}