@package-broker/core 0.17.4 → 0.19.5

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 (334) 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.js +1 -1
  29. package/dist/jobs/processor.js.map +1 -1
  30. package/dist/kernel/container.d.ts +12 -0
  31. package/dist/kernel/container.d.ts.map +1 -0
  32. package/dist/kernel/container.js +43 -0
  33. package/dist/kernel/container.js.map +1 -0
  34. package/dist/kernel/events.d.ts +17 -0
  35. package/dist/kernel/events.d.ts.map +1 -0
  36. package/dist/kernel/events.js +54 -0
  37. package/dist/kernel/events.js.map +1 -0
  38. package/dist/kernel/hooks.d.ts +14 -0
  39. package/dist/kernel/hooks.d.ts.map +1 -0
  40. package/dist/kernel/hooks.js +31 -0
  41. package/dist/kernel/hooks.js.map +1 -0
  42. package/dist/kernel/index.d.ts +5 -0
  43. package/dist/kernel/index.d.ts.map +1 -0
  44. package/dist/kernel/index.js +5 -0
  45. package/dist/kernel/index.js.map +1 -0
  46. package/dist/kernel/plugin.d.ts +21 -0
  47. package/dist/kernel/plugin.d.ts.map +1 -0
  48. package/dist/kernel/plugin.js +30 -0
  49. package/dist/kernel/plugin.js.map +1 -0
  50. package/dist/middleware/auth.d.ts +2 -0
  51. package/dist/middleware/auth.d.ts.map +1 -1
  52. package/dist/middleware/auth.js +20 -5
  53. package/dist/middleware/auth.js.map +1 -1
  54. package/dist/modules/admin/admin.handlers.d.ts +1 -1
  55. package/dist/modules/admin/admin.handlers.d.ts.map +1 -1
  56. package/dist/modules/artifacts/artifacts.handlers.d.ts +1 -1
  57. package/dist/modules/artifacts/artifacts.handlers.d.ts.map +1 -1
  58. package/dist/modules/auth/auth.handlers.js +1 -1
  59. package/dist/modules/auth/auth.handlers.js.map +1 -1
  60. package/dist/modules/composer/index.d.ts.map +1 -1
  61. package/dist/modules/composer/index.js +5 -0
  62. package/dist/modules/composer/index.js.map +1 -1
  63. package/dist/modules/composer/tenant-composer.d.ts +32 -0
  64. package/dist/modules/composer/tenant-composer.d.ts.map +1 -0
  65. package/dist/modules/composer/tenant-composer.js +198 -0
  66. package/dist/modules/composer/tenant-composer.js.map +1 -0
  67. package/dist/modules/import/import.handlers.d.ts +4 -0
  68. package/dist/modules/import/import.handlers.d.ts.map +1 -0
  69. package/dist/modules/import/import.handlers.js +16 -0
  70. package/dist/modules/import/import.handlers.js.map +1 -0
  71. package/dist/{routes/api/openapi/settings.d.ts → modules/import/import.routes.d.ts} +20 -35
  72. package/dist/modules/import/import.routes.d.ts.map +1 -0
  73. package/dist/modules/import/import.routes.js +63 -0
  74. package/dist/modules/import/import.routes.js.map +1 -0
  75. package/dist/modules/import/index.d.ts +8 -0
  76. package/dist/modules/import/index.d.ts.map +1 -0
  77. package/dist/modules/import/index.js +8 -0
  78. package/dist/modules/import/index.js.map +1 -0
  79. package/dist/modules/organizations/index.d.ts +8 -0
  80. package/dist/modules/organizations/index.d.ts.map +1 -0
  81. package/dist/modules/organizations/index.js +22 -0
  82. package/dist/modules/organizations/index.js.map +1 -0
  83. package/dist/modules/organizations/organizations.handlers.d.ts +24 -0
  84. package/dist/modules/organizations/organizations.handlers.d.ts.map +1 -0
  85. package/dist/modules/organizations/organizations.handlers.js +278 -0
  86. package/dist/modules/organizations/organizations.handlers.js.map +1 -0
  87. package/dist/modules/organizations/organizations.routes.d.ts +596 -0
  88. package/dist/modules/organizations/organizations.routes.d.ts.map +1 -0
  89. package/dist/modules/organizations/organizations.routes.js +263 -0
  90. package/dist/modules/organizations/organizations.routes.js.map +1 -0
  91. package/dist/modules/packages/packages.handlers.d.ts +1 -1
  92. package/dist/modules/packages/packages.handlers.d.ts.map +1 -1
  93. package/dist/modules/packages/packages.handlers.js +3 -69
  94. package/dist/modules/packages/packages.handlers.js.map +1 -1
  95. package/dist/modules/repositories/repositories.handlers.d.ts +1 -1
  96. package/dist/modules/repositories/repositories.handlers.d.ts.map +1 -1
  97. package/dist/modules/repositories/repositories.handlers.js +74 -3
  98. package/dist/modules/repositories/repositories.handlers.js.map +1 -1
  99. package/dist/modules/repositories/repositories.routes.d.ts +12 -0
  100. package/dist/modules/repositories/repositories.routes.d.ts.map +1 -1
  101. package/dist/modules/system/index.d.ts.map +1 -1
  102. package/dist/modules/system/index.js +2 -1
  103. package/dist/modules/system/index.js.map +1 -1
  104. package/dist/modules/system/system.handlers.d.ts +11 -1
  105. package/dist/modules/system/system.handlers.d.ts.map +1 -1
  106. package/dist/modules/system/system.handlers.js +31 -1
  107. package/dist/modules/system/system.handlers.js.map +1 -1
  108. package/dist/modules/system/system.routes.d.ts +34 -4
  109. package/dist/modules/system/system.routes.d.ts.map +1 -1
  110. package/dist/modules/system/system.routes.js +21 -1
  111. package/dist/modules/system/system.routes.js.map +1 -1
  112. package/dist/modules/tenants/index.d.ts +8 -0
  113. package/dist/modules/tenants/index.d.ts.map +1 -0
  114. package/dist/modules/tenants/index.js +21 -0
  115. package/dist/modules/tenants/index.js.map +1 -0
  116. package/dist/modules/tenants/tenants.handlers.d.ts +24 -0
  117. package/dist/modules/tenants/tenants.handlers.d.ts.map +1 -0
  118. package/dist/modules/tenants/tenants.handlers.js +268 -0
  119. package/dist/modules/tenants/tenants.handlers.js.map +1 -0
  120. package/dist/modules/tenants/tenants.routes.d.ts +486 -0
  121. package/dist/modules/tenants/tenants.routes.d.ts.map +1 -0
  122. package/dist/modules/tenants/tenants.routes.js +227 -0
  123. package/dist/modules/tenants/tenants.routes.js.map +1 -0
  124. package/dist/modules/tokens/tokens.handlers.d.ts +1 -1
  125. package/dist/modules/tokens/tokens.handlers.d.ts.map +1 -1
  126. package/dist/modules/users/users.handlers.d.ts +1 -1
  127. package/dist/modules/users/users.handlers.d.ts.map +1 -1
  128. package/dist/modules/users/users.handlers.js +1 -1
  129. package/dist/modules/users/users.handlers.js.map +1 -1
  130. package/dist/plugins/security-advisories/advisory-db.d.ts +85 -0
  131. package/dist/plugins/security-advisories/advisory-db.d.ts.map +1 -0
  132. package/dist/plugins/security-advisories/advisory-db.js +161 -0
  133. package/dist/plugins/security-advisories/advisory-db.js.map +1 -0
  134. package/dist/plugins/security-advisories/advisory-service.d.ts +44 -0
  135. package/dist/plugins/security-advisories/advisory-service.d.ts.map +1 -0
  136. package/dist/plugins/security-advisories/advisory-service.js +122 -0
  137. package/dist/plugins/security-advisories/advisory-service.js.map +1 -0
  138. package/dist/plugins/security-advisories/advisory.handlers.d.ts +13 -0
  139. package/dist/plugins/security-advisories/advisory.handlers.d.ts.map +1 -0
  140. package/dist/plugins/security-advisories/advisory.handlers.js +87 -0
  141. package/dist/plugins/security-advisories/advisory.handlers.js.map +1 -0
  142. package/dist/plugins/security-advisories/advisory.module.d.ts +4 -0
  143. package/dist/plugins/security-advisories/advisory.module.d.ts.map +1 -0
  144. package/dist/plugins/security-advisories/advisory.module.js +13 -0
  145. package/dist/plugins/security-advisories/advisory.module.js.map +1 -0
  146. package/dist/plugins/security-advisories/advisory.routes.d.ts +73 -0
  147. package/dist/plugins/security-advisories/advisory.routes.d.ts.map +1 -0
  148. package/dist/plugins/security-advisories/advisory.routes.js +76 -0
  149. package/dist/plugins/security-advisories/advisory.routes.js.map +1 -0
  150. package/dist/plugins/security-advisories/index.d.ts +31 -0
  151. package/dist/plugins/security-advisories/index.d.ts.map +1 -0
  152. package/dist/plugins/security-advisories/index.js +100 -0
  153. package/dist/plugins/security-advisories/index.js.map +1 -0
  154. package/dist/ports.d.ts +39 -21
  155. package/dist/ports.d.ts.map +1 -1
  156. package/dist/queue/consumer.js +2 -2
  157. package/dist/queue/consumer.js.map +1 -1
  158. package/dist/queue/memory-driver.d.ts +3 -2
  159. package/dist/queue/memory-driver.d.ts.map +1 -1
  160. package/dist/queue/memory-driver.js.map +1 -1
  161. package/dist/routes/composer.d.ts.map +1 -1
  162. package/dist/routes/composer.js +71 -19
  163. package/dist/routes/composer.js.map +1 -1
  164. package/dist/routes/dist.d.ts.map +1 -1
  165. package/dist/routes/dist.js +26 -80
  166. package/dist/routes/dist.js.map +1 -1
  167. package/dist/routes/index.d.ts +0 -1
  168. package/dist/routes/index.d.ts.map +1 -1
  169. package/dist/routes/index.js +0 -1
  170. package/dist/routes/index.js.map +1 -1
  171. package/dist/services/GitHubOrgImporter.d.ts +21 -0
  172. package/dist/services/GitHubOrgImporter.d.ts.map +1 -0
  173. package/dist/services/GitHubOrgImporter.js +51 -0
  174. package/dist/services/GitHubOrgImporter.js.map +1 -0
  175. package/dist/services/TokenScopeService.d.ts +15 -0
  176. package/dist/services/TokenScopeService.d.ts.map +1 -0
  177. package/dist/services/TokenScopeService.js +42 -0
  178. package/dist/services/TokenScopeService.js.map +1 -0
  179. package/dist/storage/index.d.ts +0 -1
  180. package/dist/storage/index.d.ts.map +1 -1
  181. package/dist/storage/index.js +0 -1
  182. package/dist/storage/index.js.map +1 -1
  183. package/dist/sync/repository-sync.d.ts.map +1 -1
  184. package/dist/sync/repository-sync.js +35 -23
  185. package/dist/sync/repository-sync.js.map +1 -1
  186. package/dist/sync/strategies/git-ssh.d.ts +17 -0
  187. package/dist/sync/strategies/git-ssh.d.ts.map +1 -0
  188. package/dist/sync/strategies/git-ssh.js +325 -0
  189. package/dist/sync/strategies/git-ssh.js.map +1 -0
  190. package/dist/{routes/api/types.d.ts → types/openapi.d.ts} +3 -4
  191. package/dist/types/openapi.d.ts.map +1 -0
  192. package/dist/{routes/api/types.js → types/openapi.js} +1 -1
  193. package/dist/types/openapi.js.map +1 -0
  194. package/dist/utils/background.d.ts +7 -0
  195. package/dist/utils/background.d.ts.map +1 -0
  196. package/dist/utils/background.js +11 -0
  197. package/dist/utils/background.js.map +1 -0
  198. package/dist/utils/environment.d.ts +15 -0
  199. package/dist/utils/environment.d.ts.map +1 -0
  200. package/dist/utils/environment.js +38 -0
  201. package/dist/utils/environment.js.map +1 -0
  202. package/dist/utils/index.d.ts +1 -0
  203. package/dist/utils/index.d.ts.map +1 -1
  204. package/dist/utils/index.js +1 -0
  205. package/dist/utils/index.js.map +1 -1
  206. package/dist/utils/package-filter.d.ts +7 -0
  207. package/dist/utils/package-filter.d.ts.map +1 -0
  208. package/dist/utils/package-filter.js +23 -0
  209. package/dist/utils/package-filter.js.map +1 -0
  210. package/dist/utils/package-validator.d.ts +3 -3
  211. package/dist/utils/package-validator.d.ts.map +1 -1
  212. package/dist/utils/package-validator.js +4 -37
  213. package/dist/utils/package-validator.js.map +1 -1
  214. package/dist/utils/upstream-fetch.d.ts +8 -0
  215. package/dist/utils/upstream-fetch.d.ts.map +1 -1
  216. package/dist/utils/upstream-fetch.js +42 -0
  217. package/dist/utils/upstream-fetch.js.map +1 -1
  218. package/dist/utils/zip-utils.d.ts +13 -0
  219. package/dist/utils/zip-utils.d.ts.map +1 -0
  220. package/dist/utils/zip-utils.js +66 -0
  221. package/dist/utils/zip-utils.js.map +1 -0
  222. package/dist/vcs/bitbucket-provider.d.ts +19 -0
  223. package/dist/vcs/bitbucket-provider.d.ts.map +1 -0
  224. package/dist/vcs/bitbucket-provider.js +249 -0
  225. package/dist/vcs/bitbucket-provider.js.map +1 -0
  226. package/dist/vcs/github-provider.d.ts +16 -0
  227. package/dist/vcs/github-provider.d.ts.map +1 -0
  228. package/dist/vcs/github-provider.js +117 -0
  229. package/dist/vcs/github-provider.js.map +1 -0
  230. package/dist/vcs/gitlab-provider.d.ts +17 -0
  231. package/dist/vcs/gitlab-provider.d.ts.map +1 -0
  232. package/dist/vcs/gitlab-provider.js +216 -0
  233. package/dist/vcs/gitlab-provider.js.map +1 -0
  234. package/dist/vcs/index.d.ts +10 -0
  235. package/dist/vcs/index.d.ts.map +1 -0
  236. package/dist/vcs/index.js +24 -0
  237. package/dist/vcs/index.js.map +1 -0
  238. package/dist/vcs/registry.d.ts +32 -0
  239. package/dist/vcs/registry.d.ts.map +1 -0
  240. package/dist/vcs/registry.js +47 -0
  241. package/dist/vcs/registry.js.map +1 -0
  242. package/dist/workflows/package-storage.d.ts.map +1 -1
  243. package/dist/workflows/package-storage.js +3 -3
  244. package/dist/workflows/package-storage.js.map +1 -1
  245. package/package.json +11 -8
  246. package/dist/cache/kv-driver.d.ts +0 -16
  247. package/dist/cache/kv-driver.d.ts.map +0 -1
  248. package/dist/cache/kv-driver.js +0 -23
  249. package/dist/cache/kv-driver.js.map +0 -1
  250. package/dist/db/d1-driver.d.ts +0 -3
  251. package/dist/db/d1-driver.d.ts.map +0 -1
  252. package/dist/db/d1-driver.js +0 -7
  253. package/dist/db/d1-driver.js.map +0 -1
  254. package/dist/routes/api/artifacts.d.ts +0 -27
  255. package/dist/routes/api/artifacts.d.ts.map +0 -1
  256. package/dist/routes/api/artifacts.js +0 -57
  257. package/dist/routes/api/artifacts.js.map +0 -1
  258. package/dist/routes/api/auth.d.ts +0 -52
  259. package/dist/routes/api/auth.d.ts.map +0 -1
  260. package/dist/routes/api/auth.js +0 -277
  261. package/dist/routes/api/auth.js.map +0 -1
  262. package/dist/routes/api/index.d.ts +0 -10
  263. package/dist/routes/api/index.d.ts.map +0 -1
  264. package/dist/routes/api/index.js +0 -11
  265. package/dist/routes/api/index.js.map +0 -1
  266. package/dist/routes/api/openapi/artifacts.d.ts +0 -80
  267. package/dist/routes/api/openapi/artifacts.d.ts.map +0 -1
  268. package/dist/routes/api/openapi/artifacts.js +0 -73
  269. package/dist/routes/api/openapi/artifacts.js.map +0 -1
  270. package/dist/routes/api/openapi/auth.d.ts +0 -187
  271. package/dist/routes/api/openapi/auth.d.ts.map +0 -1
  272. package/dist/routes/api/openapi/auth.js +0 -135
  273. package/dist/routes/api/openapi/auth.js.map +0 -1
  274. package/dist/routes/api/openapi/health.d.ts +0 -23
  275. package/dist/routes/api/openapi/health.d.ts.map +0 -1
  276. package/dist/routes/api/openapi/health.js +0 -25
  277. package/dist/routes/api/openapi/health.js.map +0 -1
  278. package/dist/routes/api/openapi/index.d.ts +0 -10
  279. package/dist/routes/api/openapi/index.d.ts.map +0 -1
  280. package/dist/routes/api/openapi/index.js +0 -16
  281. package/dist/routes/api/openapi/index.js.map +0 -1
  282. package/dist/routes/api/openapi/packages.d.ts +0 -172
  283. package/dist/routes/api/openapi/packages.d.ts.map +0 -1
  284. package/dist/routes/api/openapi/packages.js +0 -126
  285. package/dist/routes/api/openapi/packages.js.map +0 -1
  286. package/dist/routes/api/openapi/repositories.d.ts +0 -451
  287. package/dist/routes/api/openapi/repositories.d.ts.map +0 -1
  288. package/dist/routes/api/openapi/repositories.js +0 -238
  289. package/dist/routes/api/openapi/repositories.js.map +0 -1
  290. package/dist/routes/api/openapi/settings.d.ts.map +0 -1
  291. package/dist/routes/api/openapi/settings.js +0 -72
  292. package/dist/routes/api/openapi/settings.js.map +0 -1
  293. package/dist/routes/api/openapi/stats.d.ts +0 -59
  294. package/dist/routes/api/openapi/stats.d.ts.map +0 -1
  295. package/dist/routes/api/openapi/stats.js +0 -53
  296. package/dist/routes/api/openapi/stats.js.map +0 -1
  297. package/dist/routes/api/openapi/tokens.d.ts +0 -202
  298. package/dist/routes/api/openapi/tokens.d.ts.map +0 -1
  299. package/dist/routes/api/openapi/tokens.js +0 -132
  300. package/dist/routes/api/openapi/tokens.js.map +0 -1
  301. package/dist/routes/api/openapi/users.d.ts +0 -190
  302. package/dist/routes/api/openapi/users.d.ts.map +0 -1
  303. package/dist/routes/api/openapi/users.js +0 -126
  304. package/dist/routes/api/openapi/users.js.map +0 -1
  305. package/dist/routes/api/packages.d.ts +0 -50
  306. package/dist/routes/api/packages.d.ts.map +0 -1
  307. package/dist/routes/api/packages.js +0 -708
  308. package/dist/routes/api/packages.js.map +0 -1
  309. package/dist/routes/api/repositories.d.ts +0 -58
  310. package/dist/routes/api/repositories.d.ts.map +0 -1
  311. package/dist/routes/api/repositories.js +0 -321
  312. package/dist/routes/api/repositories.js.map +0 -1
  313. package/dist/routes/api/settings.d.ts +0 -29
  314. package/dist/routes/api/settings.d.ts.map +0 -1
  315. package/dist/routes/api/settings.js +0 -81
  316. package/dist/routes/api/settings.js.map +0 -1
  317. package/dist/routes/api/stats.d.ts +0 -21
  318. package/dist/routes/api/stats.d.ts.map +0 -1
  319. package/dist/routes/api/stats.js +0 -51
  320. package/dist/routes/api/stats.js.map +0 -1
  321. package/dist/routes/api/tokens.d.ts +0 -40
  322. package/dist/routes/api/tokens.d.ts.map +0 -1
  323. package/dist/routes/api/tokens.js +0 -187
  324. package/dist/routes/api/tokens.js.map +0 -1
  325. package/dist/routes/api/types.d.ts.map +0 -1
  326. package/dist/routes/api/types.js.map +0 -1
  327. package/dist/routes/api/users.d.ts +0 -6
  328. package/dist/routes/api/users.d.ts.map +0 -1
  329. package/dist/routes/api/users.js +0 -115
  330. package/dist/routes/api/users.js.map +0 -1
  331. package/dist/storage/r2-driver.d.ts +0 -16
  332. package/dist/storage/r2-driver.d.ts.map +0 -1
  333. package/dist/storage/r2-driver.js +0 -28
  334. package/dist/storage/r2-driver.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitlab-provider.js","sourceRoot":"","sources":["../../src/vcs/gitlab-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export { GitHubProvider } from './github-provider';
2
+ export { GitLabProvider } from './gitlab-provider';
3
+ export { BitbucketProvider } from './bitbucket-provider';
4
+ export { VcsProviderRegistry, getVcsProviderRegistry, resetVcsProviderRegistry, type SyncableVcsProvider, } from './registry';
5
+ /**
6
+ * Initialize the VCS provider registry with all built-in providers.
7
+ * Call this once during application startup.
8
+ */
9
+ export declare function registerBuiltinVcsProviders(): void;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vcs/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AAOpB;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAKlD"}
@@ -0,0 +1,24 @@
1
+ /*
2
+ * PACKAGE.broker
3
+ * Copyright (C) 2025 Łukasz Bajsarowicz
4
+ * Licensed under AGPL-3.0
5
+ */
6
+ export { GitHubProvider } from './github-provider';
7
+ export { GitLabProvider } from './gitlab-provider';
8
+ export { BitbucketProvider } from './bitbucket-provider';
9
+ export { VcsProviderRegistry, getVcsProviderRegistry, resetVcsProviderRegistry, } from './registry';
10
+ import { getVcsProviderRegistry } from './registry';
11
+ import { GitHubProvider } from './github-provider';
12
+ import { GitLabProvider } from './gitlab-provider';
13
+ import { BitbucketProvider } from './bitbucket-provider';
14
+ /**
15
+ * Initialize the VCS provider registry with all built-in providers.
16
+ * Call this once during application startup.
17
+ */
18
+ export function registerBuiltinVcsProviders() {
19
+ const registry = getVcsProviderRegistry();
20
+ registry.register(new GitHubProvider());
21
+ registry.register(new GitLabProvider());
22
+ registry.register(new BitbucketProvider());
23
+ }
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vcs/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,GAEzB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,2BAA2B;IACzC,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { SyncResult } from '../sync/types';
2
+ /**
3
+ * Extended VCS provider interface that adds sync and URL-matching capabilities
4
+ * beyond the base VcsProviderPort.
5
+ */
6
+ export interface SyncableVcsProvider {
7
+ readonly name: string;
8
+ matchesUrl(url: string): boolean;
9
+ verifyCredentials(url: string, credentialType: string, credentials: string): Promise<boolean>;
10
+ syncRepository(url: string, credentials: Record<string, string>, credentialType: string, composerJsonPath?: string): Promise<SyncResult>;
11
+ }
12
+ /**
13
+ * Registry for VCS providers. Resolves the correct provider based on repository URL.
14
+ */
15
+ export declare class VcsProviderRegistry {
16
+ private readonly providers;
17
+ register(provider: SyncableVcsProvider): void;
18
+ /**
19
+ * Find a provider that can handle the given URL.
20
+ */
21
+ resolve(url: string): SyncableVcsProvider | null;
22
+ /**
23
+ * Get all registered provider names.
24
+ */
25
+ getProviderNames(): string[];
26
+ }
27
+ export declare function getVcsProviderRegistry(): VcsProviderRegistry;
28
+ /**
29
+ * Reset the registry (for testing).
30
+ */
31
+ export declare function resetVcsProviderRegistry(): void;
32
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/vcs/registry.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9F,cAAc,CACZ,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,cAAc,EAAE,MAAM,EACtB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IAEvD,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAQ7C;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAIhD;;OAEG;IACH,gBAAgB,IAAI,MAAM,EAAE;CAG7B;AAOD,wBAAgB,sBAAsB,IAAI,mBAAmB,CAK5D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
@@ -0,0 +1,47 @@
1
+ /*
2
+ * PACKAGE.broker
3
+ * Copyright (C) 2025 Łukasz Bajsarowicz
4
+ * Licensed under AGPL-3.0
5
+ */
6
+ /**
7
+ * Registry for VCS providers. Resolves the correct provider based on repository URL.
8
+ */
9
+ export class VcsProviderRegistry {
10
+ providers = [];
11
+ register(provider) {
12
+ // Avoid duplicate registration
13
+ if (this.providers.some((p) => p.name === provider.name)) {
14
+ return;
15
+ }
16
+ this.providers.push(provider);
17
+ }
18
+ /**
19
+ * Find a provider that can handle the given URL.
20
+ */
21
+ resolve(url) {
22
+ return this.providers.find((p) => p.matchesUrl(url)) || null;
23
+ }
24
+ /**
25
+ * Get all registered provider names.
26
+ */
27
+ getProviderNames() {
28
+ return this.providers.map((p) => p.name);
29
+ }
30
+ }
31
+ /**
32
+ * Singleton registry instance used across the application.
33
+ */
34
+ let registryInstance = null;
35
+ export function getVcsProviderRegistry() {
36
+ if (!registryInstance) {
37
+ registryInstance = new VcsProviderRegistry();
38
+ }
39
+ return registryInstance;
40
+ }
41
+ /**
42
+ * Reset the registry (for testing).
43
+ */
44
+ export function resetVcsProviderRegistry() {
45
+ registryInstance = null;
46
+ }
47
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/vcs/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACb,SAAS,GAA0B,EAAE,CAAC;IAEvD,QAAQ,CAAC,QAA6B;QACpC,+BAA+B;QAC/B,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF;AAED;;GAEG;AACH,IAAI,gBAAgB,GAA+B,IAAI,CAAC;AAExD,MAAM,UAAU,sBAAsB;IACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,gBAAgB,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAC/C,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,gBAAgB,GAAG,IAAI,CAAC;AAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"package-storage.d.ts","sourceRoot":"","sources":["../../src/workflows/package-storage.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOrF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,UAAU,CAAC;IACf,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,WAAW,EAAE,GAAG,CAAC;IACjB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,sBAAuB,SAAQ,kBAAkB,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;IAC/F,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,YAAY;;;;IA2ExE;;;OAGG;YACW,gBAAgB;CA4D/B"}
1
+ {"version":3,"file":"package-storage.d.ts","sourceRoot":"","sources":["../../src/workflows/package-storage.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAQrF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,UAAU,CAAC;IACf,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,WAAW,EAAE,GAAG,CAAC;IACjB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,sBAAuB,SAAQ,kBAAkB,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;IAC/F,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,YAAY;;;;IA2ExE;;;OAGG;YACW,gBAAgB;CA4D/B"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  // Package Storage Workflow - Durable background processing for D1 storage
7
7
  import { WorkflowEntrypoint } from 'cloudflare:workers';
8
- import { createD1Database } from '../db';
8
+ import { createDatabase } from '../db/create-database';
9
9
  import { repositories } from '../db/schema';
10
10
  import { eq } from 'drizzle-orm';
11
11
  import { encryptCredentials } from '../utils/encryption';
@@ -37,7 +37,7 @@ export class PackageStorageWorkflow extends WorkflowEntrypoint {
37
37
  },
38
38
  timeout: '30 seconds',
39
39
  }, async () => {
40
- const db = createD1Database(this.env.DB);
40
+ const db = createDatabase(this.env.DB);
41
41
  await this.ensureRepository(db, repoId);
42
42
  logger.debug('Repository ensured', { repoId });
43
43
  });
@@ -50,7 +50,7 @@ export class PackageStorageWorkflow extends WorkflowEntrypoint {
50
50
  },
51
51
  timeout: '10 minutes', // Package storage can take time for large packages
52
52
  }, async () => {
53
- const db = createD1Database(this.env.DB);
53
+ const db = createDatabase(this.env.DB);
54
54
  const { transformPackageDistUrls } = await import('../routes/composer');
55
55
  const { storedCount, errors } = await transformPackageDistUrls(packageData, repoId, proxyBaseUrl, db);
56
56
  logger.info('Stored package versions via workflow', {
@@ -1 +1 @@
1
- {"version":3,"file":"package-storage.js","sourceRoot":"","sources":["../../src/workflows/package-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-storage.js","sourceRoot":"","sources":["../../src/workflows/package-storage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@package-broker/core",
3
- "version": "0.17.4",
3
+ "version": "0.19.5",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -29,30 +29,30 @@
29
29
  "dependencies": {
30
30
  "@hono/zod-openapi": "^1.2.0",
31
31
  "@noble/hashes": "^2.0.1",
32
- "@package-broker/shared": "^0.13.0",
33
- "@types/nodemailer": "^7.0.4",
32
+ "@package-broker/shared": "^0.19.5",
33
+ "@types/nodemailer": "^8.0.1",
34
34
  "aws4fetch": "^1.0.20",
35
35
  "drizzle-orm": "^0.45.1",
36
36
  "fflate": "^0.8.2",
37
37
  "hono": "^4.12.7",
38
38
  "micromatch": "^4.0.8",
39
39
  "nanoid": "^5.1.6",
40
- "nodemailer": "^7.0.12",
40
+ "nodemailer": "^9.0.3",
41
41
  "otplib": "^12.0.1",
42
- "p-retry": "^7.1.1",
42
+ "p-retry": "^8.0.0",
43
43
  "qrcode": "^1.5.4",
44
44
  "semver": "^7.7.3",
45
45
  "zod": "^4.2.1"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@cloudflare/workers-types": "^4.20260108.0",
49
- "@eslint/js": "^9.18.0",
49
+ "@eslint/js": "^9.39.4",
50
50
  "@types/micromatch": "^4.0.10",
51
51
  "@types/qrcode": "^1.5.6",
52
52
  "@types/semver": "^7.7.1",
53
53
  "drizzle-kit": "^0.31.8",
54
- "eslint": "^9.18.0",
55
- "typescript": "^5.9.3",
54
+ "eslint": "^9.39.4",
55
+ "typescript": "^6.0.3",
56
56
  "typescript-eslint": "^8.20.0"
57
57
  },
58
58
  "repository": {
@@ -62,5 +62,8 @@
62
62
  },
63
63
  "publishConfig": {
64
64
  "access": "public"
65
+ },
66
+ "engines": {
67
+ "node": ">=22.0.0"
65
68
  }
66
69
  }
@@ -1,16 +0,0 @@
1
- import type { CachePort } from '../ports.js';
2
- /**
3
- * Cloudflare KV cache driver
4
- * Wraps KVNamespace to implement CachePort interface
5
- */
6
- export declare class KVCacheDriver implements CachePort {
7
- private kv;
8
- constructor(kv: KVNamespace);
9
- get(key: string): Promise<string | null>;
10
- getJson<T>(key: string): Promise<T | null>;
11
- put(key: string, value: string | ReadableStream | ArrayBuffer | FormData, options?: {
12
- expirationTtl?: number;
13
- }): Promise<void>;
14
- delete(key: string): Promise<void>;
15
- }
16
- //# sourceMappingURL=kv-driver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kv-driver.d.ts","sourceRoot":"","sources":["../../src/cache/kv-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;GAGG;AACH,qBAAa,aAAc,YAAW,SAAS;IACjC,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,WAAW;IAE7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIxC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAI1C,GAAG,CACP,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,WAAW,GAAG,QAAQ,EACvD,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GACnC,OAAO,CAAC,IAAI,CAAC;IAIV,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzC"}
@@ -1,23 +0,0 @@
1
- /**
2
- * Cloudflare KV cache driver
3
- * Wraps KVNamespace to implement CachePort interface
4
- */
5
- export class KVCacheDriver {
6
- kv;
7
- constructor(kv) {
8
- this.kv = kv;
9
- }
10
- async get(key) {
11
- return this.kv.get(key);
12
- }
13
- async getJson(key) {
14
- return this.kv.get(key, 'json');
15
- }
16
- async put(key, value, options) {
17
- await this.kv.put(key, value, options);
18
- }
19
- async delete(key) {
20
- await this.kv.delete(key);
21
- }
22
- }
23
- //# sourceMappingURL=kv-driver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kv-driver.js","sourceRoot":"","sources":["../../src/cache/kv-driver.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,aAAa;IACJ;IAApB,YAAoB,EAAe;QAAf,OAAE,GAAF,EAAE,CAAa;IAAG,CAAC;IAEvC,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO,CAAI,GAAW;QAC1B,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,GAAG,CACP,GAAW,EACX,KAAuD,EACvD,OAAoC;QAEpC,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,KAAY,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -1,3 +0,0 @@
1
- import type { Database } from './index';
2
- export declare function createD1Database(d1: D1Database): Database;
3
- //# sourceMappingURL=d1-driver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"d1-driver.d.ts","sourceRoot":"","sources":["../../src/db/d1-driver.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,UAAU,GAAG,QAAQ,CAEzD"}
@@ -1,7 +0,0 @@
1
- // Cloudflare D1 specific database driver
2
- import { drizzle } from 'drizzle-orm/d1';
3
- import * as schema from './schema';
4
- export function createD1Database(d1) {
5
- return drizzle(d1, { schema });
6
- }
7
- //# sourceMappingURL=d1-driver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"d1-driver.js","sourceRoot":"","sources":["../../src/db/d1-driver.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAGnC,MAAM,UAAU,gBAAgB,CAAC,EAAc;IAC3C,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACnC,CAAC"}
@@ -1,27 +0,0 @@
1
- import type { OpenAPIContext } from './types';
2
- import type { DatabasePort } from '../../ports';
3
- import type { StorageDriver } from '../../storage/driver';
4
- export interface ArtifactsRouteEnv {
5
- Bindings: {
6
- DB: D1Database;
7
- STORAGE: StorageDriver;
8
- };
9
- Variables: {
10
- database: DatabasePort;
11
- storage: StorageDriver;
12
- };
13
- }
14
- /**
15
- * DELETE /api/artifacts/:id
16
- * Delete an artifact (from storage and database)
17
- */
18
- export declare function deleteArtifact(c: OpenAPIContext<ArtifactsRouteEnv>): Promise<Response>;
19
- /**
20
- * POST /api/artifacts/cleanup
21
- * Clean up old artifacts (on-demand cleanup)
22
- * Deletes artifacts where last_downloaded_at is older than retention_days
23
- */
24
- export declare function cleanupArtifacts(c: OpenAPIContext<ArtifactsRouteEnv, {
25
- retention_days?: number;
26
- }>): Promise<Response>;
27
- //# sourceMappingURL=artifacts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../../src/routes/api/artifacts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU,CAAC;QACf,OAAO,EAAE,aAAa,CAAC;KACxB,CAAC;IACF,SAAS,EAAE;QACT,QAAQ,EAAE,YAAY,CAAC;QACvB,OAAO,EAAE,aAAa,CAAC;KACxB,CAAC;CACH;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmB5F;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,cAAc,CAAC,iBAAiB,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgC3H"}
@@ -1,57 +0,0 @@
1
- // Artifacts API routes
2
- import { artifacts } from '../../db/schema';
3
- import { eq, lt } from 'drizzle-orm';
4
- import { buildStorageKey } from '../../storage/driver';
5
- /**
6
- * DELETE /api/artifacts/:id
7
- * Delete an artifact (from storage and database)
8
- */
9
- export async function deleteArtifact(c) {
10
- const { id } = c.req.valid('param');
11
- const db = c.get('database');
12
- // Get artifact to find storage key
13
- const [artifact] = await db.select().from(artifacts).where(eq(artifacts.id, id)).limit(1);
14
- if (!artifact) {
15
- return c.json({ error: 'Not Found', message: 'Artifact not found' }, 404);
16
- }
17
- // Delete from storage
18
- const storageKey = buildStorageKey('private', artifact.repo_id, artifact.package_name, artifact.version);
19
- await c.env.STORAGE.delete(storageKey);
20
- // Delete from database
21
- await db.delete(artifacts).where(eq(artifacts.id, id));
22
- return c.json({ message: 'Artifact deleted' });
23
- }
24
- /**
25
- * POST /api/artifacts/cleanup
26
- * Clean up old artifacts (on-demand cleanup)
27
- * Deletes artifacts where last_downloaded_at is older than retention_days
28
- */
29
- export async function cleanupArtifacts(c) {
30
- const body = c.req.valid('json');
31
- const retentionDays = body.retention_days ?? 90; // Default 90 days
32
- const cutoffTimestamp = Math.floor(Date.now() / 1000) - retentionDays * 24 * 60 * 60;
33
- const db = c.get('database');
34
- // Find old artifacts
35
- const oldArtifacts = await db
36
- .select()
37
- .from(artifacts)
38
- .where(lt(artifacts.last_downloaded_at, cutoffTimestamp));
39
- let deletedCount = 0;
40
- // Delete each artifact from storage and database
41
- for (const artifact of oldArtifacts) {
42
- const storageKey = buildStorageKey('private', artifact.repo_id, artifact.package_name, artifact.version);
43
- try {
44
- await c.env.STORAGE.delete(storageKey);
45
- await db.delete(artifacts).where(eq(artifacts.id, artifact.id));
46
- deletedCount++;
47
- }
48
- catch (error) {
49
- console.error(`Error deleting artifact ${artifact.id}:`, error);
50
- }
51
- }
52
- return c.json({
53
- message: 'Cleanup completed',
54
- deleted_count: deletedCount,
55
- });
56
- }
57
- //# sourceMappingURL=artifacts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/routes/api/artifacts.ts"],"names":[],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- import type { Context } from 'hono';
2
- import type { OpenAPIContext } from './types';
3
- import { loginRequestSchema } from '@package-broker/shared';
4
- /**
5
- * POST /api/auth/login
6
- * Authenticate admin user and return session token
7
- */
8
- export declare function loginRoute(c: OpenAPIContext<any, ReturnType<typeof loginRequestSchema.parse>>): Promise<Response>;
9
- /**
10
- * POST /api/auth/logout
11
- * Invalidate session token
12
- */
13
- export declare function logoutRoute(c: OpenAPIContext): Promise<Response>;
14
- /**
15
- * GET /api/auth/me
16
- * Get current authenticated user
17
- */
18
- export declare function meRoute(c: Context): Promise<Response>;
19
- /**
20
- * POST /api/setup
21
- * Create initial admin user
22
- */
23
- export declare function setupRoute(c: Context): Promise<Response>;
24
- /**
25
- * POST /api/auth/2fa/setup
26
- * Start 2FA setup flow
27
- */
28
- export declare function setup2FARoute(c: Context): Promise<Response>;
29
- /**
30
- * POST /api/auth/2fa/enable
31
- * Confirm 2FA setup with code
32
- */
33
- export declare function enable2FARoute(c: Context): Promise<Response>;
34
- /**
35
- * POST /api/auth/2fa/disable
36
- * Disable 2FA
37
- */
38
- export declare function disable2FARoute(c: Context): Promise<Response>;
39
- /**
40
- * POST /api/auth/invite/accept
41
- * Accept invite and set password
42
- */
43
- export declare function acceptInviteRoute(c: Context): Promise<Response>;
44
- /**
45
- * Middleware to verify session token
46
- */
47
- export declare function sessionMiddleware(c: Context, next: () => Promise<void>): Promise<Response | void>;
48
- /**
49
- * Check if auth is required / setup is needed
50
- */
51
- export declare function checkAuthRequired(c: OpenAPIContext): Promise<Response>;
52
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/routes/api/auth.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAW5D;;;GAGG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAuEvH;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAUtE;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAuB3D;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqC9D;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAUjE;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAwBlE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAOnE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAuBrE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CA+BvG;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAS5E"}