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
@@ -10,9 +10,9 @@
10
10
  import { Database } from "bun:sqlite";
11
11
  import { afterEach, beforeEach, describe, expect, test } from "bun:test";
12
12
  import { Hono } from "hono";
13
- import { createNotificationHub } from "./hub";
14
- import { NOTIFICATION_MIGRATIONS, NOTIFICATIONS_TABLE } from "./migrations";
15
- import { createNotificationService, type NotificationService } from "./service";
13
+ import { createNotificationHub } from "./hub.js";
14
+ import { NOTIFICATION_MIGRATIONS, NOTIFICATIONS_TABLE } from "./migrations.js";
15
+ import { createNotificationService, type NotificationService } from "./service.js";
16
16
 
17
17
  let db: Database;
18
18
  let service: NotificationService;
@@ -21,8 +21,8 @@ import {
21
21
  type NotificationStore,
22
22
  } from "cwip/notifications";
23
23
  import type { Context, Hono } from "hono";
24
- import { createNotificationHub, type NotificationHub } from "./hub";
25
- import { mountNotificationRoutes } from "./routes";
24
+ import { createNotificationHub, type NotificationHub } from "./hub.js";
25
+ import { mountNotificationRoutes } from "./routes.js";
26
26
 
27
27
  export interface CreateNotificationServiceOptions {
28
28
  /** The app's own database — the table lands beside its rows. */
@@ -1,7 +1,7 @@
1
1
  import { describe, expect, it } from "bun:test";
2
2
  import { homedir } from "node:os";
3
3
  import { join } from "node:path";
4
- import { APP_DATA_HOME_ENV, resolveAppDataHome, XDG_DATA_HOME_ENV } from "./appDataHome";
4
+ import { APP_DATA_HOME_ENV, resolveAppDataHome, XDG_DATA_HOME_ENV } from "./appDataHome.js";
5
5
 
6
6
  /**
7
7
  * The published-library defect this file is the gate for: a resolver that knows
@@ -4,5 +4,5 @@ export {
4
4
  type ResumeRecord,
5
5
  type ResumeStore,
6
6
  type ResumeStoreOptions,
7
- } from './store';
8
- export { mountResumeRoutes, RESUME_KEY_PATTERN, type ResumeRoutesOptions } from './routes';
7
+ } from './store.js';
8
+ export { mountResumeRoutes, RESUME_KEY_PATTERN, type ResumeRoutesOptions } from './routes.js';
@@ -1,8 +1,8 @@
1
1
  import { describe, expect, test } from 'bun:test';
2
2
  import { Database } from 'bun:sqlite';
3
3
  import { Hono } from 'hono';
4
- import { mountResumeRoutes } from './routes';
5
- import { createSqliteResumeStore, MAX_LOCATION_LENGTH } from './store';
4
+ import { mountResumeRoutes } from './routes.js';
5
+ import { createSqliteResumeStore, MAX_LOCATION_LENGTH } from './store.js';
6
6
 
7
7
  const storeOf = () => createSqliteResumeStore(new Database(':memory:'));
8
8
 
@@ -17,7 +17,7 @@
17
17
  * screen it names.
18
18
  */
19
19
  import type { Context, Hono } from 'hono';
20
- import { MAX_LOCATION_LENGTH, type ResumeStore } from './store';
20
+ import { MAX_LOCATION_LENGTH, type ResumeStore } from './store.js';
21
21
 
22
22
  export interface ResumeRoutesOptions {
23
23
  store: ResumeStore;
@@ -9,14 +9,14 @@ import { afterEach, describe, expect, test } from "bun:test";
9
9
  import { chmodSync, existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
10
10
  import { tmpdir } from "node:os";
11
11
  import { join } from "node:path";
12
- import { resolveAppDataHome } from "../paths/appDataHome";
12
+ import { resolveAppDataHome } from "../paths/appDataHome.js";
13
13
  import {
14
14
  archiveStamp,
15
15
  createJsonlArchive,
16
16
  resolveArchiveHome,
17
17
  verifyArchive,
18
18
  type ArchiveHome,
19
- } from "./archive";
19
+ } from "./archive.js";
20
20
 
21
21
  const temps: string[] = [];
22
22
  const tmp = (): string => {
@@ -58,7 +58,7 @@ import {
58
58
  writeSync,
59
59
  } from "node:fs";
60
60
  import { join } from "node:path";
61
- import { APP_DATA_HOME_ENV, resolveAppDataHome } from "../paths/appDataHome";
61
+ import { APP_DATA_HOME_ENV, resolveAppDataHome } from "../paths/appDataHome.js";
62
62
 
63
63
  /** One sealed archive file. */
64
64
  export interface ArchiveSegment {
@@ -9,10 +9,10 @@
9
9
  * up as data that vanished earlier than the screen said it would — which is the
10
10
  * one failure mode that would make the owner stop trusting the control.
11
11
  */
12
- import type { EffectiveRetentionPolicy, RetentionOverride } from "./policy";
13
- import { RETENTION_CATEGORIES, resolveRetentionPolicy } from "./policy";
14
- import type { PublishedResource, RetentionPublication } from "./store";
15
- import { readRetentionOverrides, readRetentionRegistry, resolveRetentionHome } from "./store";
12
+ import type { EffectiveRetentionPolicy, RetentionOverride } from "./policy.js";
13
+ import { RETENTION_CATEGORIES, resolveRetentionPolicy } from "./policy.js";
14
+ import type { PublishedResource, RetentionPublication } from "./store.js";
15
+ import { readRetentionOverrides, readRetentionRegistry, resolveRetentionHome } from "./store.js";
16
16
 
17
17
  export interface RetentionFleetRow extends PublishedResource {
18
18
  key: string;
@@ -40,7 +40,7 @@ export {
40
40
  type ArchiveSegment,
41
41
  type ArchiveSink,
42
42
  type JsonlArchiveOptions,
43
- } from "./archive";
43
+ } from "./archive.js";
44
44
  export {
45
45
  ARCHIVING_RETENTION_CATEGORIES,
46
46
  assertRetentionDeclaration,
@@ -65,7 +65,7 @@ export {
65
65
  type RetentionFieldSource,
66
66
  type RetentionOverride,
67
67
  type RetentionUnit,
68
- } from "./policy";
68
+ } from "./policy.js";
69
69
  export {
70
70
  publishRetention,
71
71
  readRetentionOverrides,
@@ -78,7 +78,7 @@ export {
78
78
  type RetentionOverridesFile,
79
79
  type RetentionPublication,
80
80
  type RetentionSweepReport,
81
- } from "./store";
81
+ } from "./store.js";
82
82
  export {
83
83
  createArchivingSqliteTableTarget,
84
84
  createFileDirTarget,
@@ -88,7 +88,7 @@ export {
88
88
  type RetentionPreview,
89
89
  type RetentionTarget,
90
90
  type SqliteTableTargetOptions,
91
- } from "./target";
91
+ } from "./target.js";
92
92
  export {
93
93
  createRetentionSweeper,
94
94
  DEFAULT_SWEEP_INTERVAL_MS,
@@ -97,5 +97,5 @@ export {
97
97
  type ResourceOutcome,
98
98
  type RetentionRunReport,
99
99
  type RetentionSweeper,
100
- } from "./sweeper";
101
- export { buildRetentionFleetView, type RetentionFleetRow, type RetentionFleetView } from "./fleet";
100
+ } from "./sweeper.js";
101
+ export { buildRetentionFleetView, type RetentionFleetRow, type RetentionFleetView } from "./fleet.js";
@@ -11,7 +11,7 @@ import {
11
11
  resolveRetentionPolicy,
12
12
  retentionKey,
13
13
  type RetentionDeclaration,
14
- } from "./policy";
14
+ } from "./policy.js";
15
15
 
16
16
  const decl = (over: Partial<RetentionDeclaration> = {}): RetentionDeclaration => ({
17
17
  app: "orch",
@@ -2,8 +2,8 @@ import { afterEach, beforeEach, describe, expect, test } from "bun:test";
2
2
  import { mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
3
3
  import { tmpdir } from "node:os";
4
4
  import { join } from "node:path";
5
- import { resolveAppDataHome } from "../paths/appDataHome";
6
- import type { RetentionDeclaration } from "./policy";
5
+ import { resolveAppDataHome } from "../paths/appDataHome.js";
6
+ import type { RetentionDeclaration } from "./policy.js";
7
7
  import {
8
8
  publishRetention,
9
9
  readRetentionOverrides,
@@ -11,7 +11,7 @@ import {
11
11
  resolveRetentionHome,
12
12
  setRetentionHomeForTests,
13
13
  writeRetentionOverride,
14
- } from "./store";
14
+ } from "./store.js";
15
15
 
16
16
  const decl = (app: string, id: string): RetentionDeclaration => ({
17
17
  app,
@@ -54,9 +54,9 @@ import {
54
54
  writeFileSync,
55
55
  } from "node:fs";
56
56
  import { join } from "node:path";
57
- import { APP_DATA_HOME_ENV, resolveAppDataHome } from "../paths/appDataHome";
58
- import type { RetentionDeclaration, RetentionOverride } from "./policy";
59
- import { retentionKey } from "./policy";
57
+ import { APP_DATA_HOME_ENV, resolveAppDataHome } from "../paths/appDataHome.js";
58
+ import type { RetentionDeclaration, RetentionOverride } from "./policy.js";
59
+ import { retentionKey } from "./policy.js";
60
60
 
61
61
  /** What one sweep of one resource did. Published so the UI can show it. */
62
62
  export interface RetentionSweepReport {
@@ -3,11 +3,11 @@ import { afterEach, beforeEach, describe, expect, test } from "bun:test";
3
3
  import { mkdtempSync, rmSync } from "node:fs";
4
4
  import { tmpdir } from "node:os";
5
5
  import { join } from "node:path";
6
- import { buildRetentionFleetView } from "./fleet";
7
- import { DAY_MS, type RetentionDeclaration } from "./policy";
8
- import { readRetentionRegistry, setRetentionHomeForTests, writeRetentionOverride } from "./store";
9
- import { createRetentionSweeper } from "./sweeper";
10
- import { createSqliteTableTarget, type RetentionTarget } from "./target";
6
+ import { buildRetentionFleetView } from "./fleet.js";
7
+ import { DAY_MS, type RetentionDeclaration } from "./policy.js";
8
+ import { readRetentionRegistry, setRetentionHomeForTests, writeRetentionOverride } from "./store.js";
9
+ import { createRetentionSweeper } from "./sweeper.js";
10
+ import { createSqliteTableTarget, type RetentionTarget } from "./target.js";
11
11
 
12
12
  const NOW = 1_800_000_000_000;
13
13
 
@@ -19,11 +19,11 @@
19
19
  */
20
20
  import { statSync } from "node:fs";
21
21
  import { join } from "node:path";
22
- import type { EffectiveRetentionPolicy } from "./policy";
23
- import { assertRetentionDeclaration, resolveRetentionPolicy, retentionKey } from "./policy";
24
- import type { PublishedResource, RetentionSweepReport } from "./store";
25
- import { publishRetention, readRetentionOverrides, resolveRetentionHome } from "./store";
26
- import type { RetentionTarget } from "./target";
22
+ import type { EffectiveRetentionPolicy } from "./policy.js";
23
+ import { assertRetentionDeclaration, resolveRetentionPolicy, retentionKey } from "./policy.js";
24
+ import type { PublishedResource, RetentionSweepReport } from "./store.js";
25
+ import { publishRetention, readRetentionOverrides, resolveRetentionHome } from "./store.js";
26
+ import type { RetentionTarget } from "./target.js";
27
27
 
28
28
  /** Default cadence. Diagnostic data is not urgent; four sweeps a day is plenty. */
29
29
  export const DEFAULT_SWEEP_INTERVAL_MS = 6 * 60 * 60 * 1000;
@@ -11,13 +11,13 @@ import {
11
11
  } from "node:fs";
12
12
  import { tmpdir } from "node:os";
13
13
  import { join } from "node:path";
14
- import { DAY_MS, resolveRetentionPolicy, type RetentionDeclaration } from "./policy";
15
- import { createJsonlArchive, verifyArchive } from "./archive";
14
+ import { DAY_MS, resolveRetentionPolicy, type RetentionDeclaration } from "./policy.js";
15
+ import { createJsonlArchive, verifyArchive } from "./archive.js";
16
16
  import {
17
17
  createArchivingSqliteTableTarget,
18
18
  createFileDirTarget,
19
19
  createSqliteTableTarget,
20
- } from "./target";
20
+ } from "./target.js";
21
21
 
22
22
  const NOW = 1_800_000_000_000;
23
23
  const daysAgo = (n: number): number => NOW - n * DAY_MS;
@@ -17,11 +17,11 @@
17
17
  import type { Database } from "bun:sqlite";
18
18
  import { readdirSync, rmSync, statSync } from "node:fs";
19
19
  import { join } from "node:path";
20
- import type { ArchiveSink } from "./archive";
21
- import { DEFAULT_PENDING_ARCHIVE_BUDGET_BYTES } from "./archive";
22
- import type { EffectiveRetentionPolicy, RetentionDeclaration } from "./policy";
23
- import { categoryArchivesBeforeDelete, cutoffFor, retentionKey } from "./policy";
24
- import type { RetentionMeasurement, RetentionSweepReport } from "./store";
20
+ import type { ArchiveSink } from "./archive.js";
21
+ import { DEFAULT_PENDING_ARCHIVE_BUDGET_BYTES } from "./archive.js";
22
+ import type { EffectiveRetentionPolicy, RetentionDeclaration } from "./policy.js";
23
+ import { categoryArchivesBeforeDelete, cutoffFor, retentionKey } from "./policy.js";
24
+ import type { RetentionMeasurement, RetentionSweepReport } from "./store.js";
25
25
 
26
26
  export interface RetentionPreview {
27
27
  /** Items the age rule would remove. */
@@ -2,11 +2,11 @@
2
2
  // Postgres. `createSaasHostServices` is the near side a deployment actually
3
3
  // calls; these are exported for a host that wires the tier by hand and for the
4
4
  // migration step that creates the schema.
5
- export { createPgSearchProvider, type PgSearchProviderOptions } from './pgSearchProvider';
5
+ export { createPgSearchProvider, type PgSearchProviderOptions } from './pgSearchProvider.js';
6
6
  export {
7
7
  ensureSaasSearchSchema,
8
8
  PG_RANK_WEIGHTS,
9
9
  PG_SEARCH_CHUNKS_DDL,
10
10
  PG_SEARCH_DDL,
11
11
  PG_SEARCH_DOCS_DDL,
12
- } from './pgSearchSchema';
12
+ } from './pgSearchSchema.js';
@@ -24,8 +24,8 @@
24
24
  import { SQL } from 'bun';
25
25
  import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'bun:test';
26
26
  import type { SaasConnection, SaasPool } from 'cwip/storage';
27
- import { createPgSearchProvider } from './pgSearchProvider';
28
- import { ensureSaasSearchSchema } from './pgSearchSchema';
27
+ import { createPgSearchProvider } from './pgSearchProvider.js';
28
+ import { ensureSaasSearchSchema } from './pgSearchSchema.js';
29
29
 
30
30
  const ADMIN_URL = process.env.CC_PG_URL;
31
31
 
@@ -87,8 +87,8 @@ import {
87
87
  type StatementExecutor,
88
88
  type WriteResult,
89
89
  } from 'cwip/storage';
90
- import { AppError } from '../errors';
91
- import { PG_RANK_WEIGHTS } from './pgSearchSchema';
90
+ import { AppError } from '../errors.js';
91
+ import { PG_RANK_WEIGHTS } from './pgSearchSchema.js';
92
92
 
93
93
  const DEFAULT_LIMIT = 20;
94
94
  const MAX_LIMIT = 200;
@@ -6,23 +6,23 @@
6
6
  * `./store.ts`'s header for the five properties it guarantees and `./sql.ts` for
7
7
  * why the row filter is a SQL fragment rather than a list of ids.
8
8
  */
9
- export { SHARE_MIGRATIONS } from "./migrations";
9
+ export { SHARE_MIGRATIONS } from "./migrations.js";
10
10
  export {
11
11
  SHARE_EVENTS_TABLE,
12
12
  SHARE_GRANTS_TABLE,
13
13
  SHARE_GROUPS_TABLE,
14
14
  SHARE_GROUP_MEMBERS_TABLE,
15
- } from "./migrations";
15
+ } from "./migrations.js";
16
16
  export {
17
17
  GROUP_SUBJECT_PREFIX,
18
18
  mountShareRoutes,
19
19
  parseSubjectParam,
20
20
  subjectParam,
21
- } from "./router";
22
- export type { ShareRouterOptions, ShareRouterViewer, ShareRoutesPayload } from "./router";
23
- export { sharedResourceSql, sqlColumn, sqlLiteral } from "./sql";
24
- export type { SharedResourceSqlOptions } from "./sql";
25
- export { createShareStore, group, user } from "./store";
21
+ } from "./router.js";
22
+ export type { ShareRouterOptions, ShareRouterViewer, ShareRoutesPayload } from "./router.js";
23
+ export { sharedResourceSql, sqlColumn, sqlLiteral } from "./sql.js";
24
+ export type { SharedResourceSqlOptions } from "./sql.js";
25
+ export { createShareStore, group, user } from "./store.js";
26
26
  export type {
27
27
  GrantInput,
28
28
  RevokeInput,
@@ -30,7 +30,7 @@ export type {
30
30
  ShareStore,
31
31
  ShareStoreOptions,
32
32
  ShareTarget,
33
- } from "./store";
33
+ } from "./store.js";
34
34
  // Re-exported so a server consumer needs ONE import for the whole contract; the
35
35
  // pure entry (`cursedbelt-core/sharing`) stays available for a browser or a test.
36
36
  export {
@@ -31,7 +31,7 @@
31
31
  * deleting a group deletes its membership and appends one per removal.
32
32
  */
33
33
  import type { Database } from "bun:sqlite";
34
- import type { Migration } from "../migration/types";
34
+ import type { Migration } from "../migration/types.js";
35
35
 
36
36
  export const SHARE_GRANTS_TABLE = "share_grants";
37
37
  export const SHARE_GROUPS_TABLE = "share_groups";
@@ -10,8 +10,8 @@
10
10
  import { Database } from "bun:sqlite";
11
11
  import { beforeEach, describe, expect, test } from "bun:test";
12
12
  import { Hono } from "hono";
13
- import { mountShareRoutes, parseSubjectParam, subjectParam } from "./router";
14
- import { createShareStore, user } from "./store";
13
+ import { mountShareRoutes, parseSubjectParam, subjectParam } from "./router.js";
14
+ import { createShareStore, user } from "./store.js";
15
15
 
16
16
  let db: Database;
17
17
  let shares: ReturnType<typeof createShareStore>;
@@ -44,7 +44,7 @@
44
44
  */
45
45
  import type { Context, Hono } from 'hono';
46
46
  import type { ShareEvent, ShareGrant, ShareLevel } from 'cursedbelt-core/sharing/model';
47
- import type { ShareStore } from './store';
47
+ import type { ShareStore } from './store.js';
48
48
 
49
49
  /** The `group:` prefix that lets a group subject travel in a path segment. Exported so a
50
50
  * client and a route cannot disagree about it. */
@@ -26,7 +26,7 @@
26
26
  * tested with hostile input; a consumer never quotes anything itself.
27
27
  */
28
28
  import { levelsMeeting, normalizeSubjectId, type ShareLevel } from "cursedbelt-core/sharing/model";
29
- import { SHARE_GRANTS_TABLE, SHARE_GROUP_MEMBERS_TABLE } from "./migrations";
29
+ import { SHARE_GRANTS_TABLE, SHARE_GROUP_MEMBERS_TABLE } from "./migrations.js";
30
30
 
31
31
  /**
32
32
  * Quote a string as a SQL literal.
@@ -11,8 +11,8 @@
11
11
  import { Database } from "bun:sqlite";
12
12
  import { beforeEach, describe, expect, test } from "bun:test";
13
13
  import { resolveAccess } from "cursedbelt-core/sharing/model";
14
- import { sharedResourceSql } from "./sql";
15
- import { createShareStore, group, user } from "./store";
14
+ import { sharedResourceSql } from "./sql.js";
15
+ import { createShareStore, group, user } from "./store.js";
16
16
 
17
17
  let db: Database;
18
18
  let ticks: number;
@@ -48,15 +48,15 @@ import {
48
48
  normalizeSubjectId,
49
49
  strongerAccess,
50
50
  } from "cursedbelt-core/sharing/model";
51
- import { runMigrations } from "../migration/runner";
51
+ import { runMigrations } from "../migration/runner.js";
52
52
  import {
53
53
  SHARE_EVENTS_TABLE,
54
54
  SHARE_GRANTS_TABLE,
55
55
  SHARE_GROUPS_TABLE,
56
56
  SHARE_GROUP_MEMBERS_TABLE,
57
57
  SHARE_MIGRATIONS,
58
- } from "./migrations";
59
- import { sharedResourceSql } from "./sql";
58
+ } from "./migrations.js";
59
+ import { sharedResourceSql } from "./sql.js";
60
60
 
61
61
  /** Shorthand for the common subject. `group(id)` is its sibling. */
62
62
  export const user = (id: string): ShareSubject => ({ type: "user", id });
@@ -3,7 +3,7 @@ import { afterEach, beforeEach, describe, expect, test } from 'bun:test';
3
3
  import { existsSync, mkdtempSync, readdirSync, rmSync } from 'node:fs';
4
4
  import { tmpdir } from 'node:os';
5
5
  import { join } from 'node:path';
6
- import { createSqliteBackupService, snapshotSqlite } from './backup';
6
+ import { createSqliteBackupService, snapshotSqlite } from './backup.js';
7
7
 
8
8
  describe('createSqliteBackupService', () => {
9
9
  let db: Database;
@@ -8,7 +8,7 @@ import {
8
8
  readSqliteTable,
9
9
  runReadonlySqlite,
10
10
  UnknownTableError,
11
- } from './browse';
11
+ } from './browse.js';
12
12
 
13
13
  function seed(): Database {
14
14
  const db = new Database(':memory:');
@@ -1,6 +1,6 @@
1
1
  import type { Database } from 'bun:sqlite';
2
2
  import { clampPageLimit } from 'cwip/math';
3
- import { isReadOnlySql } from './readonlySql';
3
+ import { isReadOnlySql } from './readonlySql.js';
4
4
 
5
5
  /**
6
6
  * Hono-free read-only SQLite browse primitives — the shared core beneath
@@ -1,7 +1,7 @@
1
1
  import { Database } from 'bun:sqlite';
2
2
  import { describe, expect, test } from 'bun:test';
3
- import { UnknownTableError } from './browse';
4
- import { exportSqliteSnapshot, exportSqliteTable } from './export';
3
+ import { UnknownTableError } from './browse.js';
4
+ import { exportSqliteSnapshot, exportSqliteTable } from './export.js';
5
5
 
6
6
  function seed(): Database {
7
7
  const db = new Database(':memory:');
@@ -3,7 +3,7 @@ import { readFileSync, rmSync } from 'node:fs';
3
3
  import { tmpdir } from 'node:os';
4
4
  import { join } from 'node:path';
5
5
  import { toCsv } from 'cwip/csv';
6
- import { isKnownTable, quoteIdent, UnknownTableError } from './browse';
6
+ import { isKnownTable, quoteIdent, UnknownTableError } from './browse.js';
7
7
 
8
8
  /**
9
9
  * Export primitives for `bun:sqlite` — the missing "get the data out" half of the
@@ -1,6 +1,6 @@
1
1
  import { Database } from 'bun:sqlite';
2
2
  import { beforeEach, describe, expect, test } from 'bun:test';
3
- import { applyFtsSchema, buildFtsSchema, createFts5Search, sanitizeFtsQuery } from './fts5';
3
+ import { applyFtsSchema, buildFtsSchema, createFts5Search, sanitizeFtsQuery } from './fts5.js';
4
4
 
5
5
  /** A representative content table + its FTS index, the way an app migration would. */
6
6
  function makeNotesDb(): Database {
@@ -3,7 +3,7 @@ import { afterEach, describe, expect, test } from 'bun:test';
3
3
  import { mkdtempSync, rmSync } from 'node:fs';
4
4
  import { tmpdir } from 'node:os';
5
5
  import { join } from 'node:path';
6
- import { createSqliteHealthChecks } from './health';
6
+ import { createSqliteHealthChecks } from './health.js';
7
7
 
8
8
  const find = (db: Database, opts: Parameters<typeof createSqliteHealthChecks>[1], name: string) =>
9
9
  createSqliteHealthChecks(db, opts).find((c) => c.name === name);
@@ -1,8 +1,8 @@
1
1
  import { Database } from 'bun:sqlite';
2
2
  import { describe, expect, test } from 'bun:test';
3
- import { UnknownTableError } from './browse';
4
- import { exportSqliteSnapshot } from './export';
5
- import { importRowsIntoSqliteTable, restoreSqliteSnapshot } from './import';
3
+ import { UnknownTableError } from './browse.js';
4
+ import { exportSqliteSnapshot } from './export.js';
5
+ import { importRowsIntoSqliteTable, restoreSqliteSnapshot } from './import.js';
6
6
 
7
7
  function seed(withRows = true): Database {
8
8
  const db = new Database(':memory:');
@@ -3,7 +3,7 @@ import { withForeignKeysOff } from 'cwip/sqlite';
3
3
  import { rmSync, writeFileSync } from 'node:fs';
4
4
  import { tmpdir } from 'node:os';
5
5
  import { join } from 'node:path';
6
- import { isKnownTable, quoteIdent, UnknownTableError } from './browse';
6
+ import { isKnownTable, quoteIdent, UnknownTableError } from './browse.js';
7
7
 
8
8
  /**
9
9
  * Write-side SQLite primitives — the counterpart to the read-only `browse.ts` /
@@ -12,7 +12,7 @@ export {
12
12
  type SqliteBackupOpts,
13
13
  type SqliteBackupS3Opts,
14
14
  type SqliteBackupService,
15
- } from './backup';
15
+ } from './backup.js';
16
16
  export {
17
17
  clampLimit,
18
18
  clampOffset,
@@ -25,14 +25,14 @@ export {
25
25
  type SqliteTableInfo,
26
26
  type SqliteTablePage,
27
27
  UnknownTableError,
28
- } from './browse';
28
+ } from './browse.js';
29
29
  export {
30
30
  exportSqliteSnapshot,
31
31
  exportSqliteTable,
32
32
  type SnapshotExport,
33
33
  type TableExport,
34
34
  type TableExportFormat,
35
- } from './export';
35
+ } from './export.js';
36
36
  export {
37
37
  applyFtsSchema,
38
38
  buildFtsSchema,
@@ -44,21 +44,21 @@ export {
44
44
  type FtsSnippetOpts,
45
45
  type FtsTableSpec,
46
46
  sanitizeFtsQuery,
47
- } from './fts5';
47
+ } from './fts5.js';
48
48
  export {
49
49
  createSqliteHealthChecks,
50
50
  type SqliteHealthCheck,
51
51
  type SqliteHealthOpts,
52
52
  type SqliteHealthResult,
53
53
  type SqliteHealthStatus,
54
- } from './health';
54
+ } from './health.js';
55
55
  export {
56
56
  type ImportMode,
57
57
  type ImportResult,
58
58
  importRowsIntoSqliteTable,
59
59
  type RestoreResult,
60
60
  restoreSqliteSnapshot,
61
- } from './import';
62
- export { isReadOnlySql } from './readonlySql';
63
- export { collectSqliteStats, type DbStats, type TableStat } from './stats';
64
- export { createSqliteViewerMiddleware } from './viewer';
61
+ } from './import.js';
62
+ export { isReadOnlySql } from './readonlySql.js';
63
+ export { collectSqliteStats, type DbStats, type TableStat } from './stats.js';
64
+ export { createSqliteViewerMiddleware } from './viewer.js';
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, test } from 'bun:test';
2
- import { isReadOnlySql } from './readonlySql';
2
+ import { isReadOnlySql } from './readonlySql.js';
3
3
 
4
4
  describe('isReadOnlySql', () => {
5
5
  test('allows SELECT and WITH … SELECT', () => {
@@ -1,6 +1,6 @@
1
1
  import { Database } from 'bun:sqlite';
2
2
  import { describe, expect, test } from 'bun:test';
3
- import { collectSqliteStats } from './stats';
3
+ import { collectSqliteStats } from './stats.js';
4
4
 
5
5
  describe('collectSqliteStats', () => {
6
6
  test('reports per-table rows, total rows, and a positive file size', () => {
@@ -1,5 +1,5 @@
1
1
  import type { Database } from 'bun:sqlite';
2
- import { listSqliteTables } from './browse';
2
+ import { listSqliteTables } from './browse.js';
3
3
 
4
4
  /**
5
5
  * DB usage stats for `bun:sqlite` — per-table row counts and on-disk byte sizes
@@ -1,7 +1,7 @@
1
1
  import { Database } from 'bun:sqlite';
2
2
  import { describe, expect, test } from 'bun:test';
3
3
  import { Hono } from 'hono';
4
- import { createSqliteViewerMiddleware } from './viewer';
4
+ import { createSqliteViewerMiddleware } from './viewer.js';
5
5
 
6
6
  function makeApp(): { app: Hono; db: Database } {
7
7
  const db = new Database(':memory:');
@@ -1,13 +1,13 @@
1
1
  import type { Database } from 'bun:sqlite';
2
2
  import { Hono } from 'hono';
3
- import { ApiError, toErrorEnvelope } from '../errors';
3
+ import { ApiError, toErrorEnvelope } from '../errors.js';
4
4
  import {
5
5
  listSqliteTables,
6
6
  NotReadOnlyError,
7
7
  readSqliteTable,
8
8
  runReadonlySqlite,
9
9
  UnknownTableError,
10
- } from './browse';
10
+ } from './browse.js';
11
11
 
12
12
  /**
13
13
  * A read-only SQLite browser as a Hono sub-app — a thin HTTP wrapper over the