cursedbelt-server 4.12.0 → 4.13.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 (469) hide show
  1. package/dist/server/_bunOnly.d.ts +1 -0
  2. package/dist/server/_bunOnly.js +12 -0
  3. package/dist/server/activity/index.d.ts +4 -4
  4. package/dist/server/activity/index.js +3 -3
  5. package/dist/server/activity/migrations.d.ts +1 -1
  6. package/dist/server/activity/shareSource.d.ts +1 -1
  7. package/dist/server/activity/shareSource.js +1 -1
  8. package/dist/server/activity/store.js +2 -2
  9. package/dist/server/analytics/index.d.ts +2 -2
  10. package/dist/server/analytics/index.js +2 -2
  11. package/dist/server/app.d.ts +4 -4
  12. package/dist/server/app.js +6 -6
  13. package/dist/server/audit/index.d.ts +2 -2
  14. package/dist/server/audit/index.js +2 -2
  15. package/dist/server/audit/migrations.d.ts +1 -1
  16. package/dist/server/audit/sqliteSink.js +2 -2
  17. package/dist/server/audit/sqliteSink.test.js +1 -1
  18. package/dist/server/auth/csrf.js +1 -1
  19. package/dist/server/auth/fileTokenSigner.d.ts +1 -1
  20. package/dist/server/auth/getOnly.d.ts +1 -1
  21. package/dist/server/auth/getOnly.js +1 -1
  22. package/dist/server/auth/index.d.ts +12 -12
  23. package/dist/server/auth/index.js +11 -11
  24. package/dist/server/auth/jwt.d.ts +1 -1
  25. package/dist/server/auth/middleware.d.ts +1 -1
  26. package/dist/server/auth/middleware.js +3 -3
  27. package/dist/server/auth/sessionStore.d.ts +2 -2
  28. package/dist/server/auth/types.d.ts +1 -1
  29. package/dist/server/bench/assert.d.ts +1 -1
  30. package/dist/server/bench/assert.js +1 -1
  31. package/dist/server/bench/cpuBudget.d.ts +4 -4
  32. package/dist/server/bench/cpuBudget.js +3 -3
  33. package/dist/server/bench/index.d.ts +6 -6
  34. package/dist/server/bench/index.js +6 -6
  35. package/dist/server/bench/recorder.d.ts +2 -2
  36. package/dist/server/bench/recorder.js +1 -1
  37. package/dist/server/bench/runBench.d.ts +2 -2
  38. package/dist/server/ctgr.d.ts +1 -1
  39. package/dist/server/ctgr.js +1 -1
  40. package/dist/server/d1/fakeD1.d.ts +1 -1
  41. package/dist/server/d1/fakeD1.js +1 -1
  42. package/dist/server/d1/index.d.ts +8 -8
  43. package/dist/server/d1/index.js +8 -8
  44. package/dist/server/d1/invocation.d.ts +1 -1
  45. package/dist/server/d1/invocation.js +2 -2
  46. package/dist/server/d1/kysely.d.ts +2 -2
  47. package/dist/server/d1/kysely.js +2 -2
  48. package/dist/server/d1/limits.d.ts +1 -1
  49. package/dist/server/d1/limits.js +1 -1
  50. package/dist/server/d1/local.d.ts +1 -1
  51. package/dist/server/d1/local.js +3 -3
  52. package/dist/server/d1/localBackup.d.ts +1 -1
  53. package/dist/server/d1/localBackup.js +2 -2
  54. package/dist/server/d1/remote.d.ts +1 -1
  55. package/dist/server/d1/remote.js +3 -3
  56. package/dist/server/d1/scheduling.d.ts +1 -1
  57. package/dist/server/d1/values.d.ts +1 -1
  58. package/dist/server/d1/values.js +1 -1
  59. package/dist/server/db/kysely.d.ts +1 -1
  60. package/dist/server/dropzone/index.d.ts +2 -2
  61. package/dist/server/dropzone/index.js +2 -2
  62. package/dist/server/guard/argon2Binding.js +1 -1
  63. package/dist/server/guard/index.d.ts +5 -5
  64. package/dist/server/guard/index.js +5 -5
  65. package/dist/server/guard/kdfWorker.d.ts +1 -1
  66. package/dist/server/guard/kdfWorker.js +3 -3
  67. package/dist/server/guard/kdfWorkerEntry.js +1 -1
  68. package/dist/server/guard/passwordVerifier.js +1 -1
  69. package/dist/server/guard/sessionSigner.d.ts +2 -2
  70. package/dist/server/guard/sessionSigner.js +1 -1
  71. package/dist/server/incidents/checks.d.ts +2 -2
  72. package/dist/server/incidents/index.d.ts +8 -8
  73. package/dist/server/incidents/index.js +8 -8
  74. package/dist/server/incidents/migrations.d.ts +1 -1
  75. package/dist/server/incidents/notifier.d.ts +3 -3
  76. package/dist/server/incidents/reporter.d.ts +1 -1
  77. package/dist/server/incidents/routes.d.ts +4 -4
  78. package/dist/server/incidents/routes.js +1 -1
  79. package/dist/server/incidents/store.d.ts +1 -1
  80. package/dist/server/incidents/store.js +3 -3
  81. package/dist/server/index.d.ts +26 -26
  82. package/dist/server/index.js +23 -23
  83. package/dist/server/jobs/fireQueue.d.ts +1 -1
  84. package/dist/server/jobs/fireQueue.js +3 -3
  85. package/dist/server/jobs/index.d.ts +7 -7
  86. package/dist/server/jobs/index.js +7 -7
  87. package/dist/server/jobs/logger.d.ts +1 -1
  88. package/dist/server/jobs/polling.d.ts +1 -1
  89. package/dist/server/jobs/polling.js +1 -1
  90. package/dist/server/jobs/runner.d.ts +1 -1
  91. package/dist/server/jobs/runner.js +5 -5
  92. package/dist/server/master-lock/accountsPage.d.ts +1 -1
  93. package/dist/server/master-lock/accountsPage.js +1 -1
  94. package/dist/server/master-lock/guard.d.ts +2 -2
  95. package/dist/server/master-lock/guard.js +2 -2
  96. package/dist/server/master-lock/index.d.ts +7 -7
  97. package/dist/server/master-lock/index.js +7 -7
  98. package/dist/server/master-lock/masterLock.js +1 -11
  99. package/dist/server/master-lock/principals.d.ts +1 -1
  100. package/dist/server/master-lock/principals.js +1 -1
  101. package/dist/server/master-lock/seed.d.ts +1 -1
  102. package/dist/server/master-lock/seed.js +1 -1
  103. package/dist/server/master-lock/store.d.ts +1 -1
  104. package/dist/server/media-bun/index.d.ts +3 -3
  105. package/dist/server/media-bun/index.js +3 -3
  106. package/dist/server/media-bun/video.d.ts +1 -1
  107. package/dist/server/media-bun/video.js +1 -1
  108. package/dist/server/metrics/telemetrySink.d.ts +1 -1
  109. package/dist/server/metrics/telemetrySink.js +1 -1
  110. package/dist/server/middleware/correlationId.d.ts +1 -1
  111. package/dist/server/middleware/errorEnvelope.d.ts +1 -1
  112. package/dist/server/middleware/errorEnvelope.js +1 -1
  113. package/dist/server/middleware/index.d.ts +10 -10
  114. package/dist/server/middleware/index.js +10 -10
  115. package/dist/server/middleware/rateLimit.js +1 -1
  116. package/dist/server/middleware/requestLogger.d.ts +3 -3
  117. package/dist/server/middleware/requestLogger.js +3 -3
  118. package/dist/server/middleware/zValidator.d.ts +1 -1
  119. package/dist/server/middleware/zValidator.js +1 -1
  120. package/dist/server/migration/runner.d.ts +1 -1
  121. package/dist/server/net/outboundGuard.js +1 -1
  122. package/dist/server/notifications/index.d.ts +7 -7
  123. package/dist/server/notifications/index.js +4 -4
  124. package/dist/server/notifications/migrations.d.ts +1 -1
  125. package/dist/server/notifications/routes.d.ts +1 -1
  126. package/dist/server/notifications/service.d.ts +1 -1
  127. package/dist/server/notifications/service.js +2 -2
  128. package/dist/server/resume/index.d.ts +2 -2
  129. package/dist/server/resume/index.js +2 -2
  130. package/dist/server/resume/routes.d.ts +1 -1
  131. package/dist/server/resume/routes.js +1 -1
  132. package/dist/server/retention/archive.js +1 -1
  133. package/dist/server/retention/fleet.d.ts +2 -2
  134. package/dist/server/retention/fleet.js +2 -2
  135. package/dist/server/retention/index.d.ts +6 -6
  136. package/dist/server/retention/index.js +6 -6
  137. package/dist/server/retention/store.d.ts +1 -1
  138. package/dist/server/retention/store.js +2 -2
  139. package/dist/server/retention/sweeper.d.ts +3 -3
  140. package/dist/server/retention/sweeper.js +2 -2
  141. package/dist/server/retention/target.d.ts +3 -3
  142. package/dist/server/retention/target.js +2 -2
  143. package/dist/server/search/index.d.ts +2 -2
  144. package/dist/server/search/index.js +2 -2
  145. package/dist/server/search/pgSearchProvider.js +2 -2
  146. package/dist/server/search/pgSearchProvider.pg.test.js +2 -2
  147. package/dist/server/sharing/index.d.ts +8 -8
  148. package/dist/server/sharing/index.js +5 -5
  149. package/dist/server/sharing/migrations.d.ts +1 -1
  150. package/dist/server/sharing/router.d.ts +1 -1
  151. package/dist/server/sharing/sql.js +1 -1
  152. package/dist/server/sharing/store.js +3 -3
  153. package/dist/server/sqlite/browse.js +1 -1
  154. package/dist/server/sqlite/export.js +1 -1
  155. package/dist/server/sqlite/import.js +1 -1
  156. package/dist/server/sqlite/index.d.ts +9 -9
  157. package/dist/server/sqlite/index.js +9 -9
  158. package/dist/server/sqlite/stats.js +1 -1
  159. package/dist/server/sqlite/viewer.js +2 -2
  160. package/dist/server/storage/binaryServerProcessing.d.ts +1 -1
  161. package/dist/server/storage/binaryServerProcessing.js +2 -2
  162. package/dist/server/storage/binaryServerStore.d.ts +2 -2
  163. package/dist/server/storage/binaryStore.d.ts +1 -1
  164. package/dist/server/storage/binaryStoreFake.d.ts +1 -1
  165. package/dist/server/storage/diskStore.d.ts +1 -1
  166. package/dist/server/storage/files/adapter.d.ts +4 -4
  167. package/dist/server/storage/files/adapter.js +1 -1
  168. package/dist/server/storage/files/catalogue.d.ts +3 -3
  169. package/dist/server/storage/files/catalogue.js +6 -6
  170. package/dist/server/storage/files/chunkedUpload.d.ts +3 -3
  171. package/dist/server/storage/files/chunkedUpload.js +1 -1
  172. package/dist/server/storage/files/fileRoutes.d.ts +4 -4
  173. package/dist/server/storage/files/fileRoutes.js +3 -3
  174. package/dist/server/storage/files/index.d.ts +9 -9
  175. package/dist/server/storage/files/index.js +8 -8
  176. package/dist/server/storage/files/migrations.d.ts +1 -1
  177. package/dist/server/storage/files/stack.d.ts +7 -7
  178. package/dist/server/storage/files/stack.js +10 -10
  179. package/dist/server/storage/files/storageOps.d.ts +1 -1
  180. package/dist/server/storage/files/types.d.ts +1 -1
  181. package/dist/server/storage/imageThumbnail.js +1 -1
  182. package/dist/server/storage/index.d.ts +15 -15
  183. package/dist/server/storage/index.js +14 -14
  184. package/dist/server/storage/mountMediaRoutes.d.ts +3 -3
  185. package/dist/server/storage/mountMediaRoutes.js +2 -2
  186. package/dist/server/storage/objectStoreMediaStore.d.ts +1 -1
  187. package/dist/server/storage/s3ObjectStore.js +1 -1
  188. package/dist/server/storage/sources.d.ts +2 -2
  189. package/dist/server/storage/sources.js +2 -2
  190. package/dist/server/storage/streamRange.d.ts +1 -1
  191. package/dist/server/storage/streamToken.js +1 -1
  192. package/dist/server/storage/videoProcessor.d.ts +1 -1
  193. package/dist/server/storage/videoProcessor.js +2 -2
  194. package/dist/server/sync/engine.d.ts +2 -2
  195. package/dist/server/sync/engine.js +1 -1
  196. package/dist/server/sync/http.d.ts +4 -4
  197. package/dist/server/sync/http.js +3 -3
  198. package/dist/server/sync/index.d.ts +11 -11
  199. package/dist/server/sync/index.js +11 -11
  200. package/dist/server/sync/opLog.d.ts +1 -1
  201. package/dist/server/sync/signal.d.ts +1 -1
  202. package/dist/server/sync/timer.d.ts +3 -3
  203. package/dist/server/sync/timer.js +1 -1
  204. package/dist/server/ws/eventBus.d.ts +1 -1
  205. package/dist/server/ws/hub.d.ts +1 -1
  206. package/dist/server/ws/hub.js +3 -3
  207. package/dist/server/ws/index.d.ts +5 -5
  208. package/dist/server/ws/index.js +4 -4
  209. package/dist/server/ws/presence.d.ts +1 -1
  210. package/dist/server/ws/room.d.ts +1 -1
  211. package/dist/server/ws/types.d.ts +1 -1
  212. package/package.json +9 -9
  213. package/src/publicSurface.spec.ts +1 -1
  214. package/src/server/_bunOnly.ts +15 -0
  215. package/src/server/activity/index.ts +4 -4
  216. package/src/server/activity/migrations.ts +1 -1
  217. package/src/server/activity/shareSource.ts +2 -2
  218. package/src/server/activity/store.spec.ts +3 -3
  219. package/src/server/activity/store.ts +2 -2
  220. package/src/server/analytics/index.ts +2 -2
  221. package/src/server/analytics/injectedScripts.spec.ts +3 -3
  222. package/src/server/analytics/webAnalytics.spec.ts +1 -1
  223. package/src/server/app.spec.ts +9 -9
  224. package/src/server/app.ts +7 -7
  225. package/src/server/audit/index.ts +2 -2
  226. package/src/server/audit/migrations.ts +1 -1
  227. package/src/server/audit/sqliteSink.test.ts +1 -1
  228. package/src/server/audit/sqliteSink.ts +2 -2
  229. package/src/server/auth/cookie.spec.ts +1 -1
  230. package/src/server/auth/csrf.spec.ts +1 -1
  231. package/src/server/auth/csrf.ts +1 -1
  232. package/src/server/auth/fileTokenSigner.ts +1 -1
  233. package/src/server/auth/getOnly.spec.ts +2 -2
  234. package/src/server/auth/getOnly.ts +2 -2
  235. package/src/server/auth/index.ts +12 -12
  236. package/src/server/auth/jwt.spec.ts +2 -2
  237. package/src/server/auth/jwt.ts +1 -1
  238. package/src/server/auth/loginThrottle.spec.ts +1 -1
  239. package/src/server/auth/middleware.spec.ts +7 -7
  240. package/src/server/auth/middleware.ts +4 -4
  241. package/src/server/auth/password.spec.ts +1 -1
  242. package/src/server/auth/sessionStore.spec.ts +3 -3
  243. package/src/server/auth/sessionStore.ts +3 -3
  244. package/src/server/auth/totp.spec.ts +1 -1
  245. package/src/server/auth/types.ts +1 -1
  246. package/src/server/auth/vault.spec.ts +1 -1
  247. package/src/server/bench/assert.ts +2 -2
  248. package/src/server/bench/budget.spec.ts +2 -2
  249. package/src/server/bench/cpuBudget.spec.ts +6 -6
  250. package/src/server/bench/cpuBudget.ts +5 -5
  251. package/src/server/bench/cpuClock.spec.ts +2 -2
  252. package/src/server/bench/index.ts +6 -6
  253. package/src/server/bench/recorder.ts +2 -2
  254. package/src/server/bench/runBench.ts +2 -2
  255. package/src/server/ctgr.spec.ts +2 -2
  256. package/src/server/ctgr.ts +2 -2
  257. package/src/server/d1/backup.spec.ts +2 -2
  258. package/src/server/d1/fakeD1.ts +2 -2
  259. package/src/server/d1/index.ts +8 -8
  260. package/src/server/d1/invocation.spec.ts +6 -6
  261. package/src/server/d1/invocation.ts +2 -2
  262. package/src/server/d1/kysely.spec.ts +5 -5
  263. package/src/server/d1/kysely.ts +3 -3
  264. package/src/server/d1/limits.spec.ts +3 -3
  265. package/src/server/d1/limits.ts +1 -1
  266. package/src/server/d1/local.ts +3 -3
  267. package/src/server/d1/localBackup.ts +3 -3
  268. package/src/server/d1/remote.ts +3 -3
  269. package/src/server/d1/sameShape.spec.ts +4 -4
  270. package/src/server/d1/scheduling.spec.ts +1 -1
  271. package/src/server/d1/scheduling.ts +1 -1
  272. package/src/server/d1/values.ts +1 -1
  273. package/src/server/db/kysely.spec.ts +1 -1
  274. package/src/server/db/kysely.ts +1 -1
  275. package/src/server/dropzone/index.ts +2 -2
  276. package/src/server/dropzone/scan.spec.ts +1 -1
  277. package/src/server/errors.spec.ts +1 -1
  278. package/src/server/guard/argon2Binding.spec.ts +1 -1
  279. package/src/server/guard/argon2Binding.ts +1 -1
  280. package/src/server/guard/argon2Kat.spec.ts +1 -1
  281. package/src/server/guard/guard.spec.ts +3 -3
  282. package/src/server/guard/index.ts +5 -5
  283. package/src/server/guard/kdfWorker.spec.ts +3 -3
  284. package/src/server/guard/kdfWorker.ts +3 -3
  285. package/src/server/guard/kdfWorkerEntry.ts +1 -1
  286. package/src/server/guard/passwordVerifier.spec.ts +1 -1
  287. package/src/server/guard/passwordVerifier.ts +1 -1
  288. package/src/server/guard/revocationStore.spec.ts +2 -2
  289. package/src/server/guard/sessionSigner.ts +3 -3
  290. package/src/server/incidents/checks.ts +2 -2
  291. package/src/server/incidents/incidents.spec.ts +7 -7
  292. package/src/server/incidents/index.ts +8 -8
  293. package/src/server/incidents/migrations.ts +1 -1
  294. package/src/server/incidents/notifier.ts +3 -3
  295. package/src/server/incidents/reporter.ts +1 -1
  296. package/src/server/incidents/routes.ts +5 -5
  297. package/src/server/incidents/store.ts +3 -3
  298. package/src/server/index.ts +26 -26
  299. package/src/server/jobs/fireQueue.spec.ts +1 -1
  300. package/src/server/jobs/fireQueue.ts +3 -3
  301. package/src/server/jobs/index.ts +7 -7
  302. package/src/server/jobs/logger.ts +1 -1
  303. package/src/server/jobs/plainjobAdapter.spec.ts +1 -1
  304. package/src/server/jobs/polling.spec.ts +1 -1
  305. package/src/server/jobs/polling.ts +2 -2
  306. package/src/server/jobs/runner.spec.ts +3 -3
  307. package/src/server/jobs/runner.ts +5 -5
  308. package/src/server/jobs/timeout.spec.ts +1 -1
  309. package/src/server/master-lock/accounts.spec.ts +2 -2
  310. package/src/server/master-lock/accountsPage.spec.ts +4 -4
  311. package/src/server/master-lock/accountsPage.ts +1 -1
  312. package/src/server/master-lock/beaconNeverReachesTheWall.spec.ts +4 -4
  313. package/src/server/master-lock/guard.spec.ts +3 -3
  314. package/src/server/master-lock/guard.ts +3 -3
  315. package/src/server/master-lock/index.ts +7 -7
  316. package/src/server/master-lock/lockPage.spec.ts +2 -2
  317. package/src/server/master-lock/masterLock.spec.ts +2 -2
  318. package/src/server/master-lock/masterLock.ts +1 -10
  319. package/src/server/master-lock/principals.spec.ts +4 -4
  320. package/src/server/master-lock/principals.ts +1 -1
  321. package/src/server/master-lock/seed.spec.ts +3 -3
  322. package/src/server/master-lock/seed.ts +1 -1
  323. package/src/server/master-lock/store.ts +1 -1
  324. package/src/server/media-bun/image.spec.ts +1 -1
  325. package/src/server/media-bun/index.ts +3 -3
  326. package/src/server/media-bun/streaming.spec.ts +1 -1
  327. package/src/server/media-bun/video.spec.ts +1 -1
  328. package/src/server/media-bun/video.ts +1 -1
  329. package/src/server/metrics/normalizeRoute.spec.ts +1 -1
  330. package/src/server/metrics/telemetrySink.spec.ts +3 -3
  331. package/src/server/metrics/telemetrySink.ts +1 -1
  332. package/src/server/middleware/bodyLimit.spec.ts +1 -1
  333. package/src/server/middleware/correlationId.ts +1 -1
  334. package/src/server/middleware/corsAllowlist.spec.ts +2 -2
  335. package/src/server/middleware/errorEnvelope.ts +2 -2
  336. package/src/server/middleware/index.ts +10 -10
  337. package/src/server/middleware/localOrigin.spec.ts +1 -1
  338. package/src/server/middleware/rateLimit.spec.ts +1 -1
  339. package/src/server/middleware/rateLimit.ts +1 -1
  340. package/src/server/middleware/requestLogger.ts +5 -5
  341. package/src/server/middleware/zValidator.spec.ts +4 -4
  342. package/src/server/middleware/zValidator.ts +2 -2
  343. package/src/server/migration/runner.spec.ts +2 -2
  344. package/src/server/migration/runner.ts +1 -1
  345. package/src/server/net/outboundGuard.spec.ts +1 -1
  346. package/src/server/net/outboundGuard.ts +1 -1
  347. package/src/server/notifications/index.ts +7 -7
  348. package/src/server/notifications/migrations.ts +1 -1
  349. package/src/server/notifications/routes.ts +1 -1
  350. package/src/server/notifications/service.spec.ts +3 -3
  351. package/src/server/notifications/service.ts +2 -2
  352. package/src/server/paths/appDataHome.spec.ts +1 -1
  353. package/src/server/resume/index.ts +2 -2
  354. package/src/server/resume/resume.spec.ts +2 -2
  355. package/src/server/resume/routes.ts +1 -1
  356. package/src/server/retention/archive.spec.ts +2 -2
  357. package/src/server/retention/archive.ts +1 -1
  358. package/src/server/retention/fleet.ts +4 -4
  359. package/src/server/retention/index.ts +6 -6
  360. package/src/server/retention/policy.spec.ts +1 -1
  361. package/src/server/retention/store.spec.ts +3 -3
  362. package/src/server/retention/store.ts +3 -3
  363. package/src/server/retention/sweeper.spec.ts +5 -5
  364. package/src/server/retention/sweeper.ts +5 -5
  365. package/src/server/retention/target.spec.ts +3 -3
  366. package/src/server/retention/target.ts +5 -5
  367. package/src/server/search/index.ts +2 -2
  368. package/src/server/search/pgSearchProvider.pg.test.ts +2 -2
  369. package/src/server/search/pgSearchProvider.ts +2 -2
  370. package/src/server/sharing/index.ts +8 -8
  371. package/src/server/sharing/migrations.ts +1 -1
  372. package/src/server/sharing/router.spec.ts +2 -2
  373. package/src/server/sharing/router.ts +1 -1
  374. package/src/server/sharing/sql.ts +1 -1
  375. package/src/server/sharing/store.spec.ts +2 -2
  376. package/src/server/sharing/store.ts +3 -3
  377. package/src/server/sqlite/backup.spec.ts +1 -1
  378. package/src/server/sqlite/browse.spec.ts +1 -1
  379. package/src/server/sqlite/browse.ts +1 -1
  380. package/src/server/sqlite/export.spec.ts +2 -2
  381. package/src/server/sqlite/export.ts +1 -1
  382. package/src/server/sqlite/fts5.spec.ts +1 -1
  383. package/src/server/sqlite/health.spec.ts +1 -1
  384. package/src/server/sqlite/import.spec.ts +3 -3
  385. package/src/server/sqlite/import.ts +1 -1
  386. package/src/server/sqlite/index.ts +9 -9
  387. package/src/server/sqlite/readonlySql.spec.ts +1 -1
  388. package/src/server/sqlite/stats.spec.ts +1 -1
  389. package/src/server/sqlite/stats.ts +1 -1
  390. package/src/server/sqlite/viewer.spec.ts +1 -1
  391. package/src/server/sqlite/viewer.ts +2 -2
  392. package/src/server/storage/binaryServerProcessing.integration.spec.ts +2 -2
  393. package/src/server/storage/binaryServerProcessing.spec.ts +2 -2
  394. package/src/server/storage/binaryServerProcessing.ts +3 -3
  395. package/src/server/storage/binaryServerStore.ts +3 -3
  396. package/src/server/storage/binaryStore.spec.ts +2 -2
  397. package/src/server/storage/binaryStore.ts +1 -1
  398. package/src/server/storage/binaryStoreFake.ts +1 -1
  399. package/src/server/storage/chunked.integration.spec.ts +4 -4
  400. package/src/server/storage/diskStore.ts +1 -1
  401. package/src/server/storage/fileUploadClient-chunked.integration.spec.ts +6 -6
  402. package/src/server/storage/fileUploadClient.integration.spec.ts +7 -7
  403. package/src/server/storage/files/adapter.photo.display.spec.ts +10 -10
  404. package/src/server/storage/files/adapter.photo.spec.ts +9 -9
  405. package/src/server/storage/files/adapter.spec.ts +8 -8
  406. package/src/server/storage/files/adapter.ts +5 -5
  407. package/src/server/storage/files/catalogue.media-host.spec.ts +6 -6
  408. package/src/server/storage/files/catalogue.orderings.spec.ts +6 -6
  409. package/src/server/storage/files/catalogue.recover.spec.ts +5 -5
  410. package/src/server/storage/files/catalogue.sort.spec.ts +6 -6
  411. package/src/server/storage/files/catalogue.spec.ts +7 -7
  412. package/src/server/storage/files/catalogue.trash-import.spec.ts +6 -6
  413. package/src/server/storage/files/catalogue.ts +6 -6
  414. package/src/server/storage/files/chunkedUpload.spec.ts +7 -7
  415. package/src/server/storage/files/chunkedUpload.ts +4 -4
  416. package/src/server/storage/files/collections.spec.ts +6 -6
  417. package/src/server/storage/files/fileRoutes.replace.spec.ts +8 -8
  418. package/src/server/storage/files/fileRoutes.spec.ts +8 -8
  419. package/src/server/storage/files/fileRoutes.ts +6 -6
  420. package/src/server/storage/files/index.ts +9 -9
  421. package/src/server/storage/files/migrations.ts +1 -1
  422. package/src/server/storage/files/stack.spec.ts +5 -5
  423. package/src/server/storage/files/stack.ts +12 -12
  424. package/src/server/storage/files/storageOps.spec.ts +4 -4
  425. package/src/server/storage/files/storageOps.ts +1 -1
  426. package/src/server/storage/files/types.ts +1 -1
  427. package/src/server/storage/imageThumbnail.spec.ts +2 -2
  428. package/src/server/storage/imageThumbnail.ts +1 -1
  429. package/src/server/storage/index.ts +15 -15
  430. package/src/server/storage/mountMediaRoutes.ts +4 -4
  431. package/src/server/storage/objectStore.spec.ts +1 -1
  432. package/src/server/storage/objectStoreMediaStore.ts +1 -1
  433. package/src/server/storage/s3ObjectStore.ts +1 -1
  434. package/src/server/storage/sources.ts +3 -3
  435. package/src/server/storage/storage.spec.ts +6 -6
  436. package/src/server/storage/streamRange.ts +1 -1
  437. package/src/server/storage/streamToken.ts +1 -1
  438. package/src/server/storage/transcodeJobs.spec.ts +1 -1
  439. package/src/server/storage/videoDerivativeKeys.spec.ts +1 -1
  440. package/src/server/storage/videoProcessor.posterOnly.spec.ts +4 -4
  441. package/src/server/storage/videoProcessor.ts +2 -2
  442. package/src/server/sync/alarm.spec.ts +1 -1
  443. package/src/server/sync/commands.spec.ts +1 -1
  444. package/src/server/sync/engine.spec.ts +4 -4
  445. package/src/server/sync/engine.ts +2 -2
  446. package/src/server/sync/http.ts +5 -5
  447. package/src/server/sync/httpRemote.spec.ts +1 -1
  448. package/src/server/sync/index.ts +11 -11
  449. package/src/server/sync/opLog.spec.ts +1 -1
  450. package/src/server/sync/opLog.ts +1 -1
  451. package/src/server/sync/planner.spec.ts +1 -1
  452. package/src/server/sync/signal.spec.ts +1 -1
  453. package/src/server/sync/signal.ts +1 -1
  454. package/src/server/sync/status.spec.ts +1 -1
  455. package/src/server/sync/timer.spec.ts +3 -3
  456. package/src/server/sync/timer.ts +3 -3
  457. package/src/server/sync/tokens.spec.ts +1 -1
  458. package/src/server/ws/eventBus.spec.ts +2 -2
  459. package/src/server/ws/eventBus.ts +1 -1
  460. package/src/server/ws/hub.integration.spec.ts +5 -5
  461. package/src/server/ws/hub.spec.ts +3 -3
  462. package/src/server/ws/hub.ts +4 -4
  463. package/src/server/ws/index.ts +5 -5
  464. package/src/server/ws/presence.spec.ts +3 -3
  465. package/src/server/ws/presence.ts +1 -1
  466. package/src/server/ws/room.spec.ts +2 -2
  467. package/src/server/ws/room.ts +1 -1
  468. package/src/server/ws/types.ts +1 -1
  469. package/src/testTmpRoot.spec.ts +1 -1
@@ -34,7 +34,7 @@
34
34
  * a minute, which would change behaviour in production and nowhere else.
35
35
  */
36
36
 
37
- import type { D1LikeDatabase } from './types';
37
+ import type { D1LikeDatabase } from './types.js';
38
38
 
39
39
  /** The Workers primitive a piece of scheduled work maps onto. */
40
40
  export type WorkersPrimitive = 'cron-trigger' | 'queue' | 'durable-object-alarm' | 'unportable';
@@ -12,7 +12,7 @@
12
12
  * recalled: the probe wrote each type into a `CREATE TABLE t (v)` column and read it back.
13
13
  */
14
14
 
15
- import { D1BindError, type D1LikeBindable, type D1LikeMeta, type D1LikeValue } from './types';
15
+ import { D1BindError, type D1LikeBindable, type D1LikeMeta, type D1LikeValue } from './types.js';
16
16
 
17
17
  /**
18
18
  * The largest integer a JS number holds exactly. A `bigint` beyond this cannot survive the
@@ -1,6 +1,6 @@
1
1
  import { Database } from 'bun:sqlite';
2
2
  import { afterEach, beforeEach, describe, expect, test } from 'bun:test';
3
- import { createKysely, type PlumbingDb } from './kysely';
3
+ import { createKysely, type PlumbingDb } from './kysely.js';
4
4
 
5
5
  const AUTH_SESSIONS_DDL = `CREATE TABLE auth_sessions (
6
6
  session_id TEXT PRIMARY KEY, user_id TEXT NOT NULL, created_at TEXT NOT NULL,
@@ -1,7 +1,7 @@
1
1
  import type { Database } from 'bun:sqlite';
2
2
  import { Kysely } from 'kysely';
3
3
  import { BunSqliteDialect } from 'kysely-bun-sqlite';
4
- import type { PlumbingSchema } from './plumbingTypes';
4
+ import type { PlumbingSchema } from './plumbingTypes.js';
5
5
 
6
6
  /**
7
7
  * A Kysely query builder typed to the {@link PlumbingSchema} plumbing tables, on the
@@ -21,10 +21,10 @@ export {
21
21
  type DroppedFile,
22
22
  type ScanOptions,
23
23
  type SweepReport,
24
- } from "./scan";
24
+ } from "./scan.js";
25
25
  export {
26
26
  askBinaryServerAboutDuplicate,
27
27
  hashFile,
28
28
  type DuplicateVerdict,
29
29
  type DuplicateQuestion,
30
- } from "./duplicates";
30
+ } from "./duplicates.js";
@@ -10,7 +10,7 @@ import {
10
10
  sweepDropzone,
11
11
  type DropOutcome,
12
12
  type DroppedFile,
13
- } from "./scan";
13
+ } from "./scan.js";
14
14
 
15
15
  /**
16
16
  * The drop-folder scraper.
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, test } from 'bun:test';
2
- import { ApiError, isApiError, toErrorEnvelope } from './errors';
2
+ import { ApiError, isApiError, toErrorEnvelope } from './errors.js';
3
3
 
4
4
  /** ISO-8601 timestamp check + strip, so the dynamic field doesn't break equality. */
5
5
  const withoutTimestamp = (env: ReturnType<typeof toErrorEnvelope>) => {
@@ -21,7 +21,7 @@ import {
21
21
  resolveArgon2idDeriver,
22
22
  setArgon2idDeriver,
23
23
  } from 'cwip/guard';
24
- import { argon2idDeriverFrom, nodeRsArgon2idBinding, type RawArgon2idBinding, registerNodeRsArgon2id } from './argon2Binding';
24
+ import { argon2idDeriverFrom, nodeRsArgon2idBinding, type RawArgon2idBinding, registerNodeRsArgon2id } from './argon2Binding.js';
25
25
 
26
26
  /** Cheap parameters — this suite proves the WIRING, not the cost calibration. */
27
27
  const FAST = { m: 8_192, t: 1, p: 1 };
@@ -29,7 +29,7 @@ import {
29
29
  CC_ARGON2ID_VERSION,
30
30
  setArgon2idDeriver,
31
31
  } from 'cwip/guard';
32
- import { AppError } from '../errors';
32
+ import { AppError } from '../errors.js';
33
33
 
34
34
  /**
35
35
  * The shape of a raw, synchronous argon2id binding, in the REFERENCE
@@ -43,7 +43,7 @@ import { afterEach, describe, expect, it } from 'bun:test';
43
43
  import { deriveArgon2idKey, resolveArgon2idDeriver, setArgon2idDeriver } from 'cwip/guard';
44
44
  import { type Algorithm, hashRawSync, type Version } from '@node-rs/argon2';
45
45
 
46
- import { argon2idDeriverFrom, nodeRsArgon2idBinding, registerNodeRsArgon2id } from './argon2Binding';
46
+ import { argon2idDeriverFrom, nodeRsArgon2idBinding, registerNodeRsArgon2id } from './argon2Binding.js';
47
47
  /*
48
48
  * `Algorithm` and `Version` are declared as AMBIENT CONST ENUMS in the binding's
49
49
  * `.d.ts`, and `verbatimModuleSyntax` refuses to read a member off one — the
@@ -12,9 +12,9 @@
12
12
  import { generateKeyPairSync } from 'node:crypto';
13
13
  import { afterEach, describe, expect, it } from 'bun:test';
14
14
  import { deriveArgon2idKey, hasArgon2idDeriver, setArgon2idDeriver } from 'cwip/guard';
15
- import { ARGON2ID_ALGORITHM, argon2idDeriverFrom, registerArgon2idBinding, type RawArgon2idBinding } from './argon2Binding';
16
- import { createMemoryAsyncRevocationStore } from './revocationStore';
17
- import { createSessionSigner } from './sessionSigner';
15
+ import { ARGON2ID_ALGORITHM, argon2idDeriverFrom, registerArgon2idBinding, type RawArgon2idBinding } from './argon2Binding.js';
16
+ import { createMemoryAsyncRevocationStore } from './revocationStore.js';
17
+ import { createSessionSigner } from './sessionSigner.js';
18
18
 
19
19
  afterEach(() => {
20
20
  setArgon2idDeriver(null);
@@ -1,7 +1,7 @@
1
1
  // The GuardEngine server wiring (02 §4): the argon2id binding adapter that arms
2
2
  // cwip's KDF seam, and the Ed25519 session signer that mints and revokes.
3
- export * from './argon2Binding';
4
- export * from './passwordVerifier';
5
- export * from './verifier';
6
- export * from './revocationStore';
7
- export * from './sessionSigner';
3
+ export * from './argon2Binding.js';
4
+ export * from './passwordVerifier.js';
5
+ export * from './verifier.js';
6
+ export * from './revocationStore.js';
7
+ export * from './sessionSigner.js';
@@ -28,9 +28,9 @@ import {
28
28
  type KdfWorkerResponse,
29
29
  kdfWorkerEntryUrl,
30
30
  serveKdfWorker,
31
- } from './kdfWorker';
32
- import { createInProcessPasswordVerifier, verifyPasswordEnvelope } from './passwordVerifier';
33
- import { registerNodeRsArgon2id } from './argon2Binding';
31
+ } from './kdfWorker.js';
32
+ import { createInProcessPasswordVerifier, verifyPasswordEnvelope } from './passwordVerifier.js';
33
+ import { registerNodeRsArgon2id } from './argon2Binding.js';
34
34
 
35
35
  const password = (value: string): Uint8Array => new TextEncoder().encode(value);
36
36
 
@@ -41,14 +41,14 @@
41
41
  * `createMarshalWorkerClient` documents in `core/wire/marshalWorker.ts`; it is
42
42
  * repeated here deliberately in the same shape so both read alike.
43
43
  */
44
- import { AppError } from '../errors';
44
+ import { AppError } from '../errors.js';
45
45
  import {
46
46
  createInProcessPasswordVerifier,
47
47
  type PasswordVerifierPort,
48
48
  sealPasswordVerifier,
49
49
  verifyPasswordEnvelope,
50
- } from './passwordVerifier';
51
- import { registerNodeRsArgon2id } from './argon2Binding';
50
+ } from './passwordVerifier.js';
51
+ import { registerNodeRsArgon2id } from './argon2Binding.js';
52
52
 
53
53
  /** Raised when the worker thread dies, fails to start, or is disposed mid-flight. */
54
54
  export const GUARD_KDF_WORKER_FAILED = 'GUARD_KDF_WORKER_FAILED';
@@ -11,6 +11,6 @@
11
11
  * is not "start the loop" is code running on a thread with a live argon2id
12
12
  * binding and a plaintext password in scope.
13
13
  */
14
- import { serveKdfWorker } from './kdfWorker';
14
+ import { serveKdfWorker } from './kdfWorker.js';
15
15
 
16
16
  await serveKdfWorker();
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import { describe, expect, it } from 'bun:test';
10
10
  import type { Argon2idDeriver } from 'cwip/guard';
11
- import { sealPasswordVerifier, verifyPasswordEnvelope } from './passwordVerifier';
11
+ import { sealPasswordVerifier, verifyPasswordEnvelope } from './passwordVerifier.js';
12
12
 
13
13
  // A deterministic, PASSWORD-SENSITIVE stand-in for argon2id (the real seam mixes
14
14
  // far more): the output must depend on the password, or a "wrong password" would
@@ -38,7 +38,7 @@ import {
38
38
  serializeSecretEnvelope,
39
39
  zeroize,
40
40
  } from 'cwip/guard';
41
- import { isAppError } from '../errors';
41
+ import { isAppError } from '../errors.js';
42
42
 
43
43
  /**
44
44
  * The reserved AAD app namespace for password verifiers. `SecretEnvelope` forbids
@@ -4,7 +4,7 @@ import {
4
4
  createMemoryAsyncRevocationStore,
5
5
  createMemoryRevocationStore,
6
6
  createSqliteRevocationStore,
7
- } from './revocationStore';
7
+ } from './revocationStore.js';
8
8
 
9
9
  describe('sync memory revocation store', () => {
10
10
  it('records, answers, and sweeps by ms expiry', () => {
@@ -119,7 +119,7 @@ describe('async-backed revocation store (the cross-node bridge)', () => {
119
119
 
120
120
  it('a backing failure is reported, never thrown out of the request path', async () => {
121
121
  const ops: string[] = [];
122
- const boom: import('./revocationStore').AsyncRevocationStore = {
122
+ const boom: import('./revocationStore.js').AsyncRevocationStore = {
123
123
  set: () => Promise.reject(new Error('set failed')),
124
124
  get: () => Promise.reject(new Error('get failed')),
125
125
  prune: () => Promise.reject(new Error('prune failed')),
@@ -20,9 +20,9 @@
20
20
  */
21
21
  import { createPrivateKey, createPublicKey, generateKeyPairSync, type KeyObject, sign, verify } from 'node:crypto';
22
22
  import { type CCUserClaims, CCUserClaimsSchema } from 'cursedbelt-core/session/claims';
23
- import { AppError } from '../errors';
24
- import type { GuardVerification, GuardVerifier } from './verifier';
25
- import type { AsyncRevocationStore } from './revocationStore';
23
+ import { AppError } from '../errors.js';
24
+ import type { GuardVerification, GuardVerifier } from './verifier.js';
25
+ import type { AsyncRevocationStore } from './revocationStore.js';
26
26
 
27
27
  export interface SessionSignerOptions {
28
28
  /**
@@ -18,8 +18,8 @@
18
18
  * a sweep reports its own failures so the console can show a detector that has
19
19
  * stopped working, rather than showing an empty incident list and looking calm.
20
20
  */
21
- import type { IncidentStore } from "./store";
22
- import type { IncidentReport, IncidentTransitions } from "./types";
21
+ import type { IncidentStore } from "./store.js";
22
+ import type { IncidentReport, IncidentTransitions } from "./types.js";
23
23
 
24
24
  export interface IncidentCheck {
25
25
  /** Stable key. Owns every incident it has ever opened — see `reconcile`. */
@@ -14,13 +14,13 @@
14
14
  */
15
15
  import { Database } from "bun:sqlite";
16
16
  import { beforeEach, describe, expect, test } from "bun:test";
17
- import type { ChannelMessage, ChannelResult, IncidentChannel } from "./channels";
18
- import { createTextChannel } from "./channels";
19
- import { type IncidentCheck, runIncidentSweep } from "./checks";
20
- import { createIncidentNotifier, UNDELIVERED_RETRY_MS } from "./notifier";
21
- import { createIncidentReporter } from "./reporter";
22
- import { createIncidentStore, type IncidentStore } from "./store";
23
- import type { IncidentReport } from "./types";
17
+ import type { ChannelMessage, ChannelResult, IncidentChannel } from "./channels.js";
18
+ import { createTextChannel } from "./channels.js";
19
+ import { type IncidentCheck, runIncidentSweep } from "./checks.js";
20
+ import { createIncidentNotifier, UNDELIVERED_RETRY_MS } from "./notifier.js";
21
+ import { createIncidentReporter } from "./reporter.js";
22
+ import { createIncidentStore, type IncidentStore } from "./store.js";
23
+ import type { IncidentReport } from "./types.js";
24
24
 
25
25
  const stuckIngest = (failed = 42): IncidentReport => ({
26
26
  source: "station",
@@ -53,14 +53,14 @@ export {
53
53
  type IncidentChannel,
54
54
  type SendEmail,
55
55
  type TextChannelOptions,
56
- } from "./channels";
56
+ } from "./channels.js";
57
57
  export {
58
58
  type CheckOutcome,
59
59
  type IncidentCheck,
60
60
  runIncidentSweep,
61
61
  type SweepResult,
62
- } from "./checks";
63
- export { INCIDENT_MIGRATIONS, INCIDENTS_TABLE } from "./migrations";
62
+ } from "./checks.js";
63
+ export { INCIDENT_MIGRATIONS, INCIDENTS_TABLE } from "./migrations.js";
64
64
  export {
65
65
  type AnnounceResult,
66
66
  composeOpened,
@@ -68,23 +68,23 @@ export {
68
68
  type CreateNotifierOptions,
69
69
  createIncidentNotifier,
70
70
  type IncidentNotifier,
71
- } from "./notifier";
71
+ } from "./notifier.js";
72
72
  export {
73
73
  createIncidentReporter,
74
74
  type IncidentReporter,
75
75
  type IncidentReporterOptions,
76
- } from "./reporter";
76
+ } from "./reporter.js";
77
77
  export {
78
78
  type IncidentRoutesOptions,
79
79
  mountIncidentMachineRoutes,
80
80
  mountIncidentOwnerRoutes,
81
- } from "./routes";
81
+ } from "./routes.js";
82
82
  export {
83
83
  assertNoContent,
84
84
  createIncidentStore,
85
85
  type IncidentStore,
86
86
  type ReconcileOptions,
87
- } from "./store";
87
+ } from "./store.js";
88
88
  export {
89
89
  fingerprint,
90
90
  type Incident,
@@ -93,4 +93,4 @@ export {
93
93
  type IncidentSeverity,
94
94
  type IncidentState,
95
95
  type IncidentTransitions,
96
- } from "./types";
96
+ } from "./types.js";
@@ -1,5 +1,5 @@
1
1
  import type { Database } from "bun:sqlite";
2
- import type { Migration } from "../migration/types";
2
+ import type { Migration } from "../migration/types.js";
3
3
 
4
4
  /** The one table this primitive owns. */
5
5
  export const INCIDENTS_TABLE = "incidents";
@@ -28,9 +28,9 @@
28
28
  * the store (`assertNoContent`). A text message is the least private surface
29
29
  * this fleet has and several of its apps are private by construction.
30
30
  */
31
- import type { ChannelMessage, ChannelResult, IncidentChannel } from "./channels";
32
- import type { IncidentStore } from "./store";
33
- import type { Incident, IncidentTransitions } from "./types";
31
+ import type { ChannelMessage, ChannelResult, IncidentChannel } from "./channels.js";
32
+ import type { IncidentStore } from "./store.js";
33
+ import type { Incident, IncidentTransitions } from "./types.js";
34
34
 
35
35
  export interface IncidentNotifier {
36
36
  /** Send for every transition in `t`. Returns one result per message sent. */
@@ -28,7 +28,7 @@
28
28
  * than one with no alerting. Every failure here is logged and swallowed, and the
29
29
  * console notices the silence by other means (the service's own health probe).
30
30
  */
31
- import type { IncidentReport } from "./types";
31
+ import type { IncidentReport } from "./types.js";
32
32
 
33
33
  export interface IncidentReporterOptions {
34
34
  /** e.g. `http://127.0.0.1:3024/api/station/incidents/report`. */
@@ -35,11 +35,11 @@
35
35
  * correct.
36
36
  */
37
37
  import type { Hono } from "hono";
38
- import type { IncidentChannel } from "./channels";
39
- import type { IncidentNotifier } from "./notifier";
40
- import { assertNoContent, type IncidentStore } from "./store";
41
- import type { IncidentReport, IncidentSeverity } from "./types";
42
- import type { SweepResult } from "./checks";
38
+ import type { IncidentChannel } from "./channels.js";
39
+ import type { IncidentNotifier } from "./notifier.js";
40
+ import { assertNoContent, type IncidentStore } from "./store.js";
41
+ import type { IncidentReport, IncidentSeverity } from "./types.js";
42
+ import type { SweepResult } from "./checks.js";
43
43
 
44
44
  const noStore = { "cache-control": "no-store" } as const;
45
45
 
@@ -28,15 +28,15 @@
28
28
  * of all across the restart a deploy of the console itself performs.
29
29
  */
30
30
  import type { Database } from "bun:sqlite";
31
- import { runMigrations } from "../migration/runner";
32
- import { INCIDENT_MIGRATIONS, INCIDENTS_TABLE } from "./migrations";
31
+ import { runMigrations } from "../migration/runner.js";
32
+ import { INCIDENT_MIGRATIONS, INCIDENTS_TABLE } from "./migrations.js";
33
33
  import {
34
34
  fingerprint,
35
35
  type Incident,
36
36
  type IncidentFact,
37
37
  type IncidentReport,
38
38
  type IncidentTransitions,
39
- } from "./types";
39
+ } from "./types.js";
40
40
 
41
41
  interface Row {
42
42
  fingerprint: string;
@@ -19,7 +19,7 @@ export {
19
19
  type UploadedFile,
20
20
  } from 'cursedbelt-core/ctgr';
21
21
  // ── HTTP app ────────────────────────────────────────────────────────────────
22
- export { type CreateAppOpts, createApp, type ServeBunOpts, serveBun } from './app';
22
+ export { type CreateAppOpts, createApp, type ServeBunOpts, serveBun } from './app.js';
23
23
  // ── Auth toolkit (task 26): jose JWT, cookies, CSRF, getOnly, session store, ──
24
24
  // login throttle, argon2id passwords, TOTP, vault crypto, the composed middleware.
25
25
  export {
@@ -65,11 +65,11 @@ export {
65
65
  verifyRecoveryCode,
66
66
  verifyToken,
67
67
  verifyTotpCode,
68
- } from './auth';
69
- export type { CursedbeltEnv, CursedbeltVariables } from './context';
70
- export { buildRoutes, CTGR_ROUTE_PATTERN, getCtgrDecoded, unGETify } from './ctgr';
68
+ } from './auth/index.js';
69
+ export type { CursedbeltEnv, CursedbeltVariables } from './context.js';
70
+ export { buildRoutes, CTGR_ROUTE_PATTERN, getCtgrDecoded, unGETify } from './ctgr.js';
71
71
  // ── Kysely-typed plumbing tables ────────────────────────────────────────────
72
- export { createKysely, type PlumbingDb } from './db/kysely';
72
+ export { createKysely, type PlumbingDb } from './db/kysely.js';
73
73
  export type {
74
74
  AppConfigRow,
75
75
  AuthSessionRow,
@@ -81,7 +81,7 @@ export type {
81
81
  PlumbingSchema,
82
82
  RequestMetricRow,
83
83
  SystemSampleRow,
84
- } from './db/plumbingTypes';
84
+ } from './db/plumbingTypes.js';
85
85
  // ── Errors ──────────────────────────────────────────────────────────────────
86
86
  export {
87
87
  ApiError,
@@ -93,7 +93,7 @@ export {
93
93
  VALIDATION_ERROR_CODE,
94
94
  type ValidationIssue,
95
95
  validationEnvelope,
96
- } from './errors';
96
+ } from './errors.js';
97
97
  // ── Jobs & scheduler (task 29): plainjob-backed cron runner + restart-aware ───
98
98
  // pollers + the due-row fire queue. App job *definitions* stay business.
99
99
  export {
@@ -114,7 +114,7 @@ export {
114
114
  JobTimeoutError,
115
115
  type PollingJob,
116
116
  type PollingJobOpts,
117
- } from './jobs';
117
+ } from './jobs/index.js';
118
118
  // ── Media adapter (task 19): image rendering via sharp (lazy/optional peer) + ──
119
119
  // video trim / probe / thumbnail via native ffmpeg. Also at the dedicated
120
120
  // media-bun entry below; sharp is imported lazily inside renderImage,
@@ -135,15 +135,15 @@ export {
135
135
  trimVideo,
136
136
  type VideoCodecPlan,
137
137
  videoCodecPlan,
138
- } from './media-bun';
138
+ } from './media-bun/index.js';
139
139
  // ── Metrics ───────────────────────────────────────────────────────────────────
140
140
  export {
141
141
  createMetricsBuffer,
142
142
  type MetricRow,
143
143
  type MetricsBuffer,
144
144
  type MetricsBufferOptions,
145
- } from './metrics/metricsBuffer';
146
- export { normalizeRoute } from './metrics/normalizeRoute';
145
+ } from './metrics/metricsBuffer.js';
146
+ export { normalizeRoute } from './metrics/normalizeRoute.js';
147
147
  export {
148
148
  type AnalyticsEngineDataset,
149
149
  createTelemetrySink,
@@ -152,26 +152,26 @@ export {
152
152
  type TelemetrySink,
153
153
  type TelemetrySinkOptions,
154
154
  toDataPoint,
155
- } from './metrics/telemetrySink';
155
+ } from './metrics/telemetrySink.js';
156
156
  // ── Middleware ────────────────────────────────────────────────────────────────
157
- export { correlationId } from './middleware/correlationId';
158
- export { type CorsOpts, corsAllowlist, corsOptsFromEnv } from './middleware/corsAllowlist';
159
- export { errorEnvelope } from './middleware/errorEnvelope';
160
- export { crossOriginRefusal } from './middleware/localOrigin';
161
- export { clientIp, createRateLimiter, type RateLimitOpts } from './middleware/rateLimit';
162
- export { type RequestLoggerOpts, requestLogger } from './middleware/requestLogger';
157
+ export { correlationId } from './middleware/correlationId.js';
158
+ export { type CorsOpts, corsAllowlist, corsOptsFromEnv } from './middleware/corsAllowlist.js';
159
+ export { errorEnvelope } from './middleware/errorEnvelope.js';
160
+ export { crossOriginRefusal } from './middleware/localOrigin.js';
161
+ export { clientIp, createRateLimiter, type RateLimitOpts } from './middleware/rateLimit.js';
162
+ export { type RequestLoggerOpts, requestLogger } from './middleware/requestLogger.js';
163
163
  export {
164
164
  type CspDirectives,
165
165
  type SecurityHeadersOpts,
166
166
  securityHeaders,
167
- } from './middleware/securityHeaders';
167
+ } from './middleware/securityHeaders.js';
168
168
  // ── zod validation toolkit ────────────────────────────────────────────────────
169
169
  // (the `validationEnvelope`/`toValidationIssues`/`ValidationIssue` builders now
170
170
  // live with the canonical envelope in `./errors`, re-exported above.)
171
- export { type ZValidatorTarget, zValidator } from './middleware/zValidator';
171
+ export { type ZValidatorTarget, zValidator } from './middleware/zValidator.js';
172
172
  // ── Migration runner ──────────────────────────────────────────────────────────
173
- export { addColumnIfMissing, applyRecommendedPragmas, columnExists, runMigrations } from './migration/runner';
174
- export type { Migration } from './migration/types';
173
+ export { addColumnIfMissing, applyRecommendedPragmas, columnExists, runMigrations } from './migration/runner.js';
174
+ export type { Migration } from './migration/types.js';
175
175
  // ── Audit log: the SQLite-backed AuditSink cursedshell's service dispatch ─────
176
176
  // writes to (see `cwip/audit` for the storage-agnostic contract + the
177
177
  // zero-config in-memory default).
@@ -181,7 +181,7 @@ export {
181
181
  auditStateAtVersion,
182
182
  auditStep,
183
183
  createSqliteAuditSink,
184
- } from './audit';
184
+ } from './audit/index.js';
185
185
  // ── SQLite toolkit extras (task 30): FTS5 ranked search + DDL generator, the ───
186
186
  // read-only DB viewer middleware, the VACUUM-INTO backup service, DB health probes.
187
187
  export {
@@ -232,7 +232,7 @@ export {
232
232
  type TableExportFormat,
233
233
  type TableStat,
234
234
  UnknownTableError,
235
- } from './sqlite';
235
+ } from './sqlite/index.js';
236
236
  // ── WebSocket hub (task 28): Bun-native upgrade, channel registry, heartbeat, ──
237
237
  // presence-as-a-view, room helpers, and the push-only event-bus subset (ru).
238
238
  export {
@@ -254,9 +254,9 @@ export {
254
254
  type WsHub,
255
255
  type WsHubOpts,
256
256
  type WsMessage,
257
- } from './ws';
257
+ } from './ws/index.js';
258
258
 
259
259
  // The app-data root resolver. Exported at the root (2026-09-15, task 148) because
260
260
  // `cursedbelt-cc`'s localHost needs it and it answers a question about the HOST, not
261
261
  // about any one subsystem — so no subpath barrel is its natural home.
262
- export { resolveAppDataHome } from './paths/appDataHome';
262
+ export { resolveAppDataHome } from './paths/appDataHome.js';
@@ -1,6 +1,6 @@
1
1
  import { Database } from 'bun:sqlite';
2
2
  import { afterEach, beforeEach, describe, expect, test } from 'bun:test';
3
- import { createFireQueue } from './fireQueue';
3
+ import { createFireQueue } from './fireQueue.js';
4
4
 
5
5
  const JOB_STATE_DDL = `CREATE TABLE job_state (name TEXT PRIMARY KEY, last_run_at TEXT, meta TEXT)`;
6
6
  const sleep = (ms: number) => new Promise<void>((r) => setTimeout(r, ms));
@@ -1,6 +1,6 @@
1
- import { defaultJobLogger } from './logger';
2
- import { createPollingJob } from './polling';
3
- import { DEFAULT_FIRE_INTERVAL_MS, type FireQueue, type FireQueueOpts } from './types';
1
+ import { defaultJobLogger } from './logger.js';
2
+ import { createPollingJob } from './polling.js';
3
+ import { DEFAULT_FIRE_INTERVAL_MS, type FireQueue, type FireQueueOpts } from './types.js';
4
4
 
5
5
  /**
6
6
  * The "select due rows → deliver each → mark sent" pattern, as a {@link PollingJob}.
@@ -3,12 +3,12 @@
3
3
  // restart-aware pollers, the due-row fire queue, run auditing); app job
4
4
  // *definitions* stay business and consume these primitives.
5
5
 
6
- export { createFireQueue } from './fireQueue';
7
- export { defaultJobLogger } from './logger';
8
- export { createPlainjobConnection } from './plainjobAdapter';
9
- export { createPollingJob } from './polling';
10
- export { createJobRunner } from './runner';
11
- export { JobTimeoutError } from './timeout';
6
+ export { createFireQueue } from './fireQueue.js';
7
+ export { defaultJobLogger } from './logger.js';
8
+ export { createPlainjobConnection } from './plainjobAdapter.js';
9
+ export { createPollingJob } from './polling.js';
10
+ export { createJobRunner } from './runner.js';
11
+ export { JobTimeoutError } from './timeout.js';
12
12
  export {
13
13
  type CreateJobRunnerOptions,
14
14
  DEFAULT_FIRE_INTERVAL_MS,
@@ -24,4 +24,4 @@ export {
24
24
  type JobRunRecord,
25
25
  type PollingJob,
26
26
  type PollingJobOpts,
27
- } from './types';
27
+ } from './types.js';
@@ -1,4 +1,4 @@
1
- import type { JobLogger } from './types';
1
+ import type { JobLogger } from './types.js';
2
2
 
3
3
  /**
4
4
  * The default job logger: warn/info/error go to the console, `debug` is a no-op.
@@ -1,6 +1,6 @@
1
1
  import { Database } from 'bun:sqlite';
2
2
  import { afterEach, beforeEach, describe, expect, test } from 'bun:test';
3
- import { createPlainjobConnection } from './plainjobAdapter';
3
+ import { createPlainjobConnection } from './plainjobAdapter.js';
4
4
 
5
5
  describe('createPlainjobConnection', () => {
6
6
  let db: Database;
@@ -1,6 +1,6 @@
1
1
  import { Database } from 'bun:sqlite';
2
2
  import { afterEach, beforeEach, describe, expect, test } from 'bun:test';
3
- import { createPollingJob } from './polling';
3
+ import { createPollingJob } from './polling.js';
4
4
 
5
5
  const JOB_STATE_DDL = `CREATE TABLE job_state (
6
6
  name TEXT PRIMARY KEY,
@@ -1,5 +1,5 @@
1
- import { defaultJobLogger } from './logger';
2
- import type { JobContext, PollingJob, PollingJobOpts } from './types';
1
+ import { defaultJobLogger } from './logger.js';
2
+ import type { JobContext, PollingJob, PollingJobOpts } from './types.js';
3
3
 
4
4
  /**
5
5
  * A periodic, restart-aware poller — the engine behind ca's `setInterval`
@@ -1,8 +1,8 @@
1
1
  import { Database } from 'bun:sqlite';
2
2
  import { afterEach, beforeEach, describe, expect, test } from 'bun:test';
3
- import { ApiError } from '../errors';
4
- import { createJobRunner } from './runner';
5
- import { JobTimeoutError } from './timeout';
3
+ import { ApiError } from '../errors.js';
4
+ import { createJobRunner } from './runner.js';
5
+ import { JobTimeoutError } from './timeout.js';
6
6
 
7
7
  const JOB_RUNS_DDL = `CREATE TABLE job_runs (
8
8
  id TEXT PRIMARY KEY,