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.
- package/dist/server/_bunOnly.d.ts +1 -0
- package/dist/server/_bunOnly.js +12 -0
- package/dist/server/activity/index.d.ts +4 -4
- package/dist/server/activity/index.js +3 -3
- package/dist/server/activity/migrations.d.ts +1 -1
- package/dist/server/activity/shareSource.d.ts +1 -1
- package/dist/server/activity/shareSource.js +1 -1
- package/dist/server/activity/store.js +2 -2
- package/dist/server/analytics/index.d.ts +2 -2
- package/dist/server/analytics/index.js +2 -2
- package/dist/server/app.d.ts +4 -4
- package/dist/server/app.js +6 -6
- package/dist/server/audit/index.d.ts +2 -2
- package/dist/server/audit/index.js +2 -2
- package/dist/server/audit/migrations.d.ts +1 -1
- package/dist/server/audit/sqliteSink.js +2 -2
- package/dist/server/audit/sqliteSink.test.js +1 -1
- package/dist/server/auth/csrf.js +1 -1
- package/dist/server/auth/fileTokenSigner.d.ts +1 -1
- package/dist/server/auth/getOnly.d.ts +1 -1
- package/dist/server/auth/getOnly.js +1 -1
- package/dist/server/auth/index.d.ts +12 -12
- package/dist/server/auth/index.js +11 -11
- package/dist/server/auth/jwt.d.ts +1 -1
- package/dist/server/auth/middleware.d.ts +1 -1
- package/dist/server/auth/middleware.js +3 -3
- package/dist/server/auth/sessionStore.d.ts +2 -2
- package/dist/server/auth/types.d.ts +1 -1
- package/dist/server/bench/assert.d.ts +1 -1
- package/dist/server/bench/assert.js +1 -1
- package/dist/server/bench/cpuBudget.d.ts +4 -4
- package/dist/server/bench/cpuBudget.js +3 -3
- package/dist/server/bench/index.d.ts +6 -6
- package/dist/server/bench/index.js +6 -6
- package/dist/server/bench/recorder.d.ts +2 -2
- package/dist/server/bench/recorder.js +1 -1
- package/dist/server/bench/runBench.d.ts +2 -2
- package/dist/server/ctgr.d.ts +1 -1
- package/dist/server/ctgr.js +1 -1
- package/dist/server/d1/fakeD1.d.ts +1 -1
- package/dist/server/d1/fakeD1.js +1 -1
- package/dist/server/d1/index.d.ts +8 -8
- package/dist/server/d1/index.js +8 -8
- package/dist/server/d1/invocation.d.ts +1 -1
- package/dist/server/d1/invocation.js +2 -2
- package/dist/server/d1/kysely.d.ts +2 -2
- package/dist/server/d1/kysely.js +2 -2
- package/dist/server/d1/limits.d.ts +1 -1
- package/dist/server/d1/limits.js +1 -1
- package/dist/server/d1/local.d.ts +1 -1
- package/dist/server/d1/local.js +3 -3
- package/dist/server/d1/localBackup.d.ts +1 -1
- package/dist/server/d1/localBackup.js +2 -2
- package/dist/server/d1/remote.d.ts +1 -1
- package/dist/server/d1/remote.js +3 -3
- package/dist/server/d1/scheduling.d.ts +1 -1
- package/dist/server/d1/values.d.ts +1 -1
- package/dist/server/d1/values.js +1 -1
- package/dist/server/db/kysely.d.ts +1 -1
- package/dist/server/dropzone/index.d.ts +2 -2
- package/dist/server/dropzone/index.js +2 -2
- package/dist/server/guard/argon2Binding.js +1 -1
- package/dist/server/guard/index.d.ts +5 -5
- package/dist/server/guard/index.js +5 -5
- package/dist/server/guard/kdfWorker.d.ts +1 -1
- package/dist/server/guard/kdfWorker.js +3 -3
- package/dist/server/guard/kdfWorkerEntry.js +1 -1
- package/dist/server/guard/passwordVerifier.js +1 -1
- package/dist/server/guard/sessionSigner.d.ts +2 -2
- package/dist/server/guard/sessionSigner.js +1 -1
- package/dist/server/incidents/checks.d.ts +2 -2
- package/dist/server/incidents/index.d.ts +8 -8
- package/dist/server/incidents/index.js +8 -8
- package/dist/server/incidents/migrations.d.ts +1 -1
- package/dist/server/incidents/notifier.d.ts +3 -3
- package/dist/server/incidents/reporter.d.ts +1 -1
- package/dist/server/incidents/routes.d.ts +4 -4
- package/dist/server/incidents/routes.js +1 -1
- package/dist/server/incidents/store.d.ts +1 -1
- package/dist/server/incidents/store.js +3 -3
- package/dist/server/index.d.ts +26 -26
- package/dist/server/index.js +23 -23
- package/dist/server/jobs/fireQueue.d.ts +1 -1
- package/dist/server/jobs/fireQueue.js +3 -3
- package/dist/server/jobs/index.d.ts +7 -7
- package/dist/server/jobs/index.js +7 -7
- package/dist/server/jobs/logger.d.ts +1 -1
- package/dist/server/jobs/polling.d.ts +1 -1
- package/dist/server/jobs/polling.js +1 -1
- package/dist/server/jobs/runner.d.ts +1 -1
- package/dist/server/jobs/runner.js +5 -5
- package/dist/server/master-lock/accountsPage.d.ts +1 -1
- package/dist/server/master-lock/accountsPage.js +1 -1
- package/dist/server/master-lock/guard.d.ts +2 -2
- package/dist/server/master-lock/guard.js +2 -2
- package/dist/server/master-lock/index.d.ts +7 -7
- package/dist/server/master-lock/index.js +7 -7
- package/dist/server/master-lock/masterLock.js +1 -11
- package/dist/server/master-lock/principals.d.ts +1 -1
- package/dist/server/master-lock/principals.js +1 -1
- package/dist/server/master-lock/seed.d.ts +1 -1
- package/dist/server/master-lock/seed.js +1 -1
- package/dist/server/master-lock/store.d.ts +1 -1
- package/dist/server/media-bun/index.d.ts +3 -3
- package/dist/server/media-bun/index.js +3 -3
- package/dist/server/media-bun/video.d.ts +1 -1
- package/dist/server/media-bun/video.js +1 -1
- package/dist/server/metrics/telemetrySink.d.ts +1 -1
- package/dist/server/metrics/telemetrySink.js +1 -1
- package/dist/server/middleware/correlationId.d.ts +1 -1
- package/dist/server/middleware/errorEnvelope.d.ts +1 -1
- package/dist/server/middleware/errorEnvelope.js +1 -1
- package/dist/server/middleware/index.d.ts +10 -10
- package/dist/server/middleware/index.js +10 -10
- package/dist/server/middleware/rateLimit.js +1 -1
- package/dist/server/middleware/requestLogger.d.ts +3 -3
- package/dist/server/middleware/requestLogger.js +3 -3
- package/dist/server/middleware/zValidator.d.ts +1 -1
- package/dist/server/middleware/zValidator.js +1 -1
- package/dist/server/migration/runner.d.ts +1 -1
- package/dist/server/net/outboundGuard.js +1 -1
- package/dist/server/notifications/index.d.ts +7 -7
- package/dist/server/notifications/index.js +4 -4
- package/dist/server/notifications/migrations.d.ts +1 -1
- package/dist/server/notifications/routes.d.ts +1 -1
- package/dist/server/notifications/service.d.ts +1 -1
- package/dist/server/notifications/service.js +2 -2
- package/dist/server/resume/index.d.ts +2 -2
- package/dist/server/resume/index.js +2 -2
- package/dist/server/resume/routes.d.ts +1 -1
- package/dist/server/resume/routes.js +1 -1
- package/dist/server/retention/archive.js +1 -1
- package/dist/server/retention/fleet.d.ts +2 -2
- package/dist/server/retention/fleet.js +2 -2
- package/dist/server/retention/index.d.ts +6 -6
- package/dist/server/retention/index.js +6 -6
- package/dist/server/retention/store.d.ts +1 -1
- package/dist/server/retention/store.js +2 -2
- package/dist/server/retention/sweeper.d.ts +3 -3
- package/dist/server/retention/sweeper.js +2 -2
- package/dist/server/retention/target.d.ts +3 -3
- package/dist/server/retention/target.js +2 -2
- package/dist/server/search/index.d.ts +2 -2
- package/dist/server/search/index.js +2 -2
- package/dist/server/search/pgSearchProvider.js +2 -2
- package/dist/server/search/pgSearchProvider.pg.test.js +2 -2
- package/dist/server/sharing/index.d.ts +8 -8
- package/dist/server/sharing/index.js +5 -5
- package/dist/server/sharing/migrations.d.ts +1 -1
- package/dist/server/sharing/router.d.ts +1 -1
- package/dist/server/sharing/sql.js +1 -1
- package/dist/server/sharing/store.js +3 -3
- package/dist/server/sqlite/browse.js +1 -1
- package/dist/server/sqlite/export.js +1 -1
- package/dist/server/sqlite/import.js +1 -1
- package/dist/server/sqlite/index.d.ts +9 -9
- package/dist/server/sqlite/index.js +9 -9
- package/dist/server/sqlite/stats.js +1 -1
- package/dist/server/sqlite/viewer.js +2 -2
- package/dist/server/storage/binaryServerProcessing.d.ts +1 -1
- package/dist/server/storage/binaryServerProcessing.js +2 -2
- package/dist/server/storage/binaryServerStore.d.ts +2 -2
- package/dist/server/storage/binaryStore.d.ts +1 -1
- package/dist/server/storage/binaryStoreFake.d.ts +1 -1
- package/dist/server/storage/diskStore.d.ts +1 -1
- package/dist/server/storage/files/adapter.d.ts +4 -4
- package/dist/server/storage/files/adapter.js +1 -1
- package/dist/server/storage/files/catalogue.d.ts +3 -3
- package/dist/server/storage/files/catalogue.js +6 -6
- package/dist/server/storage/files/chunkedUpload.d.ts +3 -3
- package/dist/server/storage/files/chunkedUpload.js +1 -1
- package/dist/server/storage/files/fileRoutes.d.ts +4 -4
- package/dist/server/storage/files/fileRoutes.js +3 -3
- package/dist/server/storage/files/index.d.ts +9 -9
- package/dist/server/storage/files/index.js +8 -8
- package/dist/server/storage/files/migrations.d.ts +1 -1
- package/dist/server/storage/files/stack.d.ts +7 -7
- package/dist/server/storage/files/stack.js +10 -10
- package/dist/server/storage/files/storageOps.d.ts +1 -1
- package/dist/server/storage/files/types.d.ts +1 -1
- package/dist/server/storage/imageThumbnail.js +1 -1
- package/dist/server/storage/index.d.ts +15 -15
- package/dist/server/storage/index.js +14 -14
- package/dist/server/storage/mountMediaRoutes.d.ts +3 -3
- package/dist/server/storage/mountMediaRoutes.js +2 -2
- package/dist/server/storage/objectStoreMediaStore.d.ts +1 -1
- package/dist/server/storage/s3ObjectStore.js +1 -1
- package/dist/server/storage/sources.d.ts +2 -2
- package/dist/server/storage/sources.js +2 -2
- package/dist/server/storage/streamRange.d.ts +1 -1
- package/dist/server/storage/streamToken.js +1 -1
- package/dist/server/storage/videoProcessor.d.ts +1 -1
- package/dist/server/storage/videoProcessor.js +2 -2
- package/dist/server/sync/engine.d.ts +2 -2
- package/dist/server/sync/engine.js +1 -1
- package/dist/server/sync/http.d.ts +4 -4
- package/dist/server/sync/http.js +3 -3
- package/dist/server/sync/index.d.ts +11 -11
- package/dist/server/sync/index.js +11 -11
- package/dist/server/sync/opLog.d.ts +1 -1
- package/dist/server/sync/signal.d.ts +1 -1
- package/dist/server/sync/timer.d.ts +3 -3
- package/dist/server/sync/timer.js +1 -1
- package/dist/server/ws/eventBus.d.ts +1 -1
- package/dist/server/ws/hub.d.ts +1 -1
- package/dist/server/ws/hub.js +3 -3
- package/dist/server/ws/index.d.ts +5 -5
- package/dist/server/ws/index.js +4 -4
- package/dist/server/ws/presence.d.ts +1 -1
- package/dist/server/ws/room.d.ts +1 -1
- package/dist/server/ws/types.d.ts +1 -1
- package/package.json +9 -9
- package/src/publicSurface.spec.ts +1 -1
- package/src/server/_bunOnly.ts +15 -0
- package/src/server/activity/index.ts +4 -4
- package/src/server/activity/migrations.ts +1 -1
- package/src/server/activity/shareSource.ts +2 -2
- package/src/server/activity/store.spec.ts +3 -3
- package/src/server/activity/store.ts +2 -2
- package/src/server/analytics/index.ts +2 -2
- package/src/server/analytics/injectedScripts.spec.ts +3 -3
- package/src/server/analytics/webAnalytics.spec.ts +1 -1
- package/src/server/app.spec.ts +9 -9
- package/src/server/app.ts +7 -7
- package/src/server/audit/index.ts +2 -2
- package/src/server/audit/migrations.ts +1 -1
- package/src/server/audit/sqliteSink.test.ts +1 -1
- package/src/server/audit/sqliteSink.ts +2 -2
- package/src/server/auth/cookie.spec.ts +1 -1
- package/src/server/auth/csrf.spec.ts +1 -1
- package/src/server/auth/csrf.ts +1 -1
- package/src/server/auth/fileTokenSigner.ts +1 -1
- package/src/server/auth/getOnly.spec.ts +2 -2
- package/src/server/auth/getOnly.ts +2 -2
- package/src/server/auth/index.ts +12 -12
- package/src/server/auth/jwt.spec.ts +2 -2
- package/src/server/auth/jwt.ts +1 -1
- package/src/server/auth/loginThrottle.spec.ts +1 -1
- package/src/server/auth/middleware.spec.ts +7 -7
- package/src/server/auth/middleware.ts +4 -4
- package/src/server/auth/password.spec.ts +1 -1
- package/src/server/auth/sessionStore.spec.ts +3 -3
- package/src/server/auth/sessionStore.ts +3 -3
- package/src/server/auth/totp.spec.ts +1 -1
- package/src/server/auth/types.ts +1 -1
- package/src/server/auth/vault.spec.ts +1 -1
- package/src/server/bench/assert.ts +2 -2
- package/src/server/bench/budget.spec.ts +2 -2
- package/src/server/bench/cpuBudget.spec.ts +6 -6
- package/src/server/bench/cpuBudget.ts +5 -5
- package/src/server/bench/cpuClock.spec.ts +2 -2
- package/src/server/bench/index.ts +6 -6
- package/src/server/bench/recorder.ts +2 -2
- package/src/server/bench/runBench.ts +2 -2
- package/src/server/ctgr.spec.ts +2 -2
- package/src/server/ctgr.ts +2 -2
- package/src/server/d1/backup.spec.ts +2 -2
- package/src/server/d1/fakeD1.ts +2 -2
- package/src/server/d1/index.ts +8 -8
- package/src/server/d1/invocation.spec.ts +6 -6
- package/src/server/d1/invocation.ts +2 -2
- package/src/server/d1/kysely.spec.ts +5 -5
- package/src/server/d1/kysely.ts +3 -3
- package/src/server/d1/limits.spec.ts +3 -3
- package/src/server/d1/limits.ts +1 -1
- package/src/server/d1/local.ts +3 -3
- package/src/server/d1/localBackup.ts +3 -3
- package/src/server/d1/remote.ts +3 -3
- package/src/server/d1/sameShape.spec.ts +4 -4
- package/src/server/d1/scheduling.spec.ts +1 -1
- package/src/server/d1/scheduling.ts +1 -1
- package/src/server/d1/values.ts +1 -1
- package/src/server/db/kysely.spec.ts +1 -1
- package/src/server/db/kysely.ts +1 -1
- package/src/server/dropzone/index.ts +2 -2
- package/src/server/dropzone/scan.spec.ts +1 -1
- package/src/server/errors.spec.ts +1 -1
- package/src/server/guard/argon2Binding.spec.ts +1 -1
- package/src/server/guard/argon2Binding.ts +1 -1
- package/src/server/guard/argon2Kat.spec.ts +1 -1
- package/src/server/guard/guard.spec.ts +3 -3
- package/src/server/guard/index.ts +5 -5
- package/src/server/guard/kdfWorker.spec.ts +3 -3
- package/src/server/guard/kdfWorker.ts +3 -3
- package/src/server/guard/kdfWorkerEntry.ts +1 -1
- package/src/server/guard/passwordVerifier.spec.ts +1 -1
- package/src/server/guard/passwordVerifier.ts +1 -1
- package/src/server/guard/revocationStore.spec.ts +2 -2
- package/src/server/guard/sessionSigner.ts +3 -3
- package/src/server/incidents/checks.ts +2 -2
- package/src/server/incidents/incidents.spec.ts +7 -7
- package/src/server/incidents/index.ts +8 -8
- package/src/server/incidents/migrations.ts +1 -1
- package/src/server/incidents/notifier.ts +3 -3
- package/src/server/incidents/reporter.ts +1 -1
- package/src/server/incidents/routes.ts +5 -5
- package/src/server/incidents/store.ts +3 -3
- package/src/server/index.ts +26 -26
- package/src/server/jobs/fireQueue.spec.ts +1 -1
- package/src/server/jobs/fireQueue.ts +3 -3
- package/src/server/jobs/index.ts +7 -7
- package/src/server/jobs/logger.ts +1 -1
- package/src/server/jobs/plainjobAdapter.spec.ts +1 -1
- package/src/server/jobs/polling.spec.ts +1 -1
- package/src/server/jobs/polling.ts +2 -2
- package/src/server/jobs/runner.spec.ts +3 -3
- package/src/server/jobs/runner.ts +5 -5
- package/src/server/jobs/timeout.spec.ts +1 -1
- package/src/server/master-lock/accounts.spec.ts +2 -2
- package/src/server/master-lock/accountsPage.spec.ts +4 -4
- package/src/server/master-lock/accountsPage.ts +1 -1
- package/src/server/master-lock/beaconNeverReachesTheWall.spec.ts +4 -4
- package/src/server/master-lock/guard.spec.ts +3 -3
- package/src/server/master-lock/guard.ts +3 -3
- package/src/server/master-lock/index.ts +7 -7
- package/src/server/master-lock/lockPage.spec.ts +2 -2
- package/src/server/master-lock/masterLock.spec.ts +2 -2
- package/src/server/master-lock/masterLock.ts +1 -10
- package/src/server/master-lock/principals.spec.ts +4 -4
- package/src/server/master-lock/principals.ts +1 -1
- package/src/server/master-lock/seed.spec.ts +3 -3
- package/src/server/master-lock/seed.ts +1 -1
- package/src/server/master-lock/store.ts +1 -1
- package/src/server/media-bun/image.spec.ts +1 -1
- package/src/server/media-bun/index.ts +3 -3
- package/src/server/media-bun/streaming.spec.ts +1 -1
- package/src/server/media-bun/video.spec.ts +1 -1
- package/src/server/media-bun/video.ts +1 -1
- package/src/server/metrics/normalizeRoute.spec.ts +1 -1
- package/src/server/metrics/telemetrySink.spec.ts +3 -3
- package/src/server/metrics/telemetrySink.ts +1 -1
- package/src/server/middleware/bodyLimit.spec.ts +1 -1
- package/src/server/middleware/correlationId.ts +1 -1
- package/src/server/middleware/corsAllowlist.spec.ts +2 -2
- package/src/server/middleware/errorEnvelope.ts +2 -2
- package/src/server/middleware/index.ts +10 -10
- package/src/server/middleware/localOrigin.spec.ts +1 -1
- package/src/server/middleware/rateLimit.spec.ts +1 -1
- package/src/server/middleware/rateLimit.ts +1 -1
- package/src/server/middleware/requestLogger.ts +5 -5
- package/src/server/middleware/zValidator.spec.ts +4 -4
- package/src/server/middleware/zValidator.ts +2 -2
- package/src/server/migration/runner.spec.ts +2 -2
- package/src/server/migration/runner.ts +1 -1
- package/src/server/net/outboundGuard.spec.ts +1 -1
- package/src/server/net/outboundGuard.ts +1 -1
- package/src/server/notifications/index.ts +7 -7
- package/src/server/notifications/migrations.ts +1 -1
- package/src/server/notifications/routes.ts +1 -1
- package/src/server/notifications/service.spec.ts +3 -3
- package/src/server/notifications/service.ts +2 -2
- package/src/server/paths/appDataHome.spec.ts +1 -1
- package/src/server/resume/index.ts +2 -2
- package/src/server/resume/resume.spec.ts +2 -2
- package/src/server/resume/routes.ts +1 -1
- package/src/server/retention/archive.spec.ts +2 -2
- package/src/server/retention/archive.ts +1 -1
- package/src/server/retention/fleet.ts +4 -4
- package/src/server/retention/index.ts +6 -6
- package/src/server/retention/policy.spec.ts +1 -1
- package/src/server/retention/store.spec.ts +3 -3
- package/src/server/retention/store.ts +3 -3
- package/src/server/retention/sweeper.spec.ts +5 -5
- package/src/server/retention/sweeper.ts +5 -5
- package/src/server/retention/target.spec.ts +3 -3
- package/src/server/retention/target.ts +5 -5
- package/src/server/search/index.ts +2 -2
- package/src/server/search/pgSearchProvider.pg.test.ts +2 -2
- package/src/server/search/pgSearchProvider.ts +2 -2
- package/src/server/sharing/index.ts +8 -8
- package/src/server/sharing/migrations.ts +1 -1
- package/src/server/sharing/router.spec.ts +2 -2
- package/src/server/sharing/router.ts +1 -1
- package/src/server/sharing/sql.ts +1 -1
- package/src/server/sharing/store.spec.ts +2 -2
- package/src/server/sharing/store.ts +3 -3
- package/src/server/sqlite/backup.spec.ts +1 -1
- package/src/server/sqlite/browse.spec.ts +1 -1
- package/src/server/sqlite/browse.ts +1 -1
- package/src/server/sqlite/export.spec.ts +2 -2
- package/src/server/sqlite/export.ts +1 -1
- package/src/server/sqlite/fts5.spec.ts +1 -1
- package/src/server/sqlite/health.spec.ts +1 -1
- package/src/server/sqlite/import.spec.ts +3 -3
- package/src/server/sqlite/import.ts +1 -1
- package/src/server/sqlite/index.ts +9 -9
- package/src/server/sqlite/readonlySql.spec.ts +1 -1
- package/src/server/sqlite/stats.spec.ts +1 -1
- package/src/server/sqlite/stats.ts +1 -1
- package/src/server/sqlite/viewer.spec.ts +1 -1
- package/src/server/sqlite/viewer.ts +2 -2
- package/src/server/storage/binaryServerProcessing.integration.spec.ts +2 -2
- package/src/server/storage/binaryServerProcessing.spec.ts +2 -2
- package/src/server/storage/binaryServerProcessing.ts +3 -3
- package/src/server/storage/binaryServerStore.ts +3 -3
- package/src/server/storage/binaryStore.spec.ts +2 -2
- package/src/server/storage/binaryStore.ts +1 -1
- package/src/server/storage/binaryStoreFake.ts +1 -1
- package/src/server/storage/chunked.integration.spec.ts +4 -4
- package/src/server/storage/diskStore.ts +1 -1
- package/src/server/storage/fileUploadClient-chunked.integration.spec.ts +6 -6
- package/src/server/storage/fileUploadClient.integration.spec.ts +7 -7
- package/src/server/storage/files/adapter.photo.display.spec.ts +10 -10
- package/src/server/storage/files/adapter.photo.spec.ts +9 -9
- package/src/server/storage/files/adapter.spec.ts +8 -8
- package/src/server/storage/files/adapter.ts +5 -5
- package/src/server/storage/files/catalogue.media-host.spec.ts +6 -6
- package/src/server/storage/files/catalogue.orderings.spec.ts +6 -6
- package/src/server/storage/files/catalogue.recover.spec.ts +5 -5
- package/src/server/storage/files/catalogue.sort.spec.ts +6 -6
- package/src/server/storage/files/catalogue.spec.ts +7 -7
- package/src/server/storage/files/catalogue.trash-import.spec.ts +6 -6
- package/src/server/storage/files/catalogue.ts +6 -6
- package/src/server/storage/files/chunkedUpload.spec.ts +7 -7
- package/src/server/storage/files/chunkedUpload.ts +4 -4
- package/src/server/storage/files/collections.spec.ts +6 -6
- package/src/server/storage/files/fileRoutes.replace.spec.ts +8 -8
- package/src/server/storage/files/fileRoutes.spec.ts +8 -8
- package/src/server/storage/files/fileRoutes.ts +6 -6
- package/src/server/storage/files/index.ts +9 -9
- package/src/server/storage/files/migrations.ts +1 -1
- package/src/server/storage/files/stack.spec.ts +5 -5
- package/src/server/storage/files/stack.ts +12 -12
- package/src/server/storage/files/storageOps.spec.ts +4 -4
- package/src/server/storage/files/storageOps.ts +1 -1
- package/src/server/storage/files/types.ts +1 -1
- package/src/server/storage/imageThumbnail.spec.ts +2 -2
- package/src/server/storage/imageThumbnail.ts +1 -1
- package/src/server/storage/index.ts +15 -15
- package/src/server/storage/mountMediaRoutes.ts +4 -4
- package/src/server/storage/objectStore.spec.ts +1 -1
- package/src/server/storage/objectStoreMediaStore.ts +1 -1
- package/src/server/storage/s3ObjectStore.ts +1 -1
- package/src/server/storage/sources.ts +3 -3
- package/src/server/storage/storage.spec.ts +6 -6
- package/src/server/storage/streamRange.ts +1 -1
- package/src/server/storage/streamToken.ts +1 -1
- package/src/server/storage/transcodeJobs.spec.ts +1 -1
- package/src/server/storage/videoDerivativeKeys.spec.ts +1 -1
- package/src/server/storage/videoProcessor.posterOnly.spec.ts +4 -4
- package/src/server/storage/videoProcessor.ts +2 -2
- package/src/server/sync/alarm.spec.ts +1 -1
- package/src/server/sync/commands.spec.ts +1 -1
- package/src/server/sync/engine.spec.ts +4 -4
- package/src/server/sync/engine.ts +2 -2
- package/src/server/sync/http.ts +5 -5
- package/src/server/sync/httpRemote.spec.ts +1 -1
- package/src/server/sync/index.ts +11 -11
- package/src/server/sync/opLog.spec.ts +1 -1
- package/src/server/sync/opLog.ts +1 -1
- package/src/server/sync/planner.spec.ts +1 -1
- package/src/server/sync/signal.spec.ts +1 -1
- package/src/server/sync/signal.ts +1 -1
- package/src/server/sync/status.spec.ts +1 -1
- package/src/server/sync/timer.spec.ts +3 -3
- package/src/server/sync/timer.ts +3 -3
- package/src/server/sync/tokens.spec.ts +1 -1
- package/src/server/ws/eventBus.spec.ts +2 -2
- package/src/server/ws/eventBus.ts +1 -1
- package/src/server/ws/hub.integration.spec.ts +5 -5
- package/src/server/ws/hub.spec.ts +3 -3
- package/src/server/ws/hub.ts +4 -4
- package/src/server/ws/index.ts +5 -5
- package/src/server/ws/presence.spec.ts +3 -3
- package/src/server/ws/presence.ts +1 -1
- package/src/server/ws/room.spec.ts +2 -2
- package/src/server/ws/room.ts +1 -1
- package/src/server/ws/types.ts +1 -1
- 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";
|
|
@@ -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;
|
|
@@ -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,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,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
|