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
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
* a minute, which would change behaviour in production and nowhere else.
|
|
35
35
|
*/
|
|
36
36
|
|
|
37
|
-
import type { D1LikeDatabase } from './types';
|
|
37
|
+
import type { D1LikeDatabase } from './types.js';
|
|
38
38
|
|
|
39
39
|
/** The Workers primitive a piece of scheduled work maps onto. */
|
|
40
40
|
export type WorkersPrimitive = 'cron-trigger' | 'queue' | 'durable-object-alarm' | 'unportable';
|
package/src/server/d1/values.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* recalled: the probe wrote each type into a `CREATE TABLE t (v)` column and read it back.
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
import { D1BindError, type D1LikeBindable, type D1LikeMeta, type D1LikeValue } from './types';
|
|
15
|
+
import { D1BindError, type D1LikeBindable, type D1LikeMeta, type D1LikeValue } from './types.js';
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* The largest integer a JS number holds exactly. A `bigint` beyond this cannot survive the
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Database } from 'bun:sqlite';
|
|
2
2
|
import { afterEach, beforeEach, describe, expect, test } from 'bun:test';
|
|
3
|
-
import { createKysely, type PlumbingDb } from './kysely';
|
|
3
|
+
import { createKysely, type PlumbingDb } from './kysely.js';
|
|
4
4
|
|
|
5
5
|
const AUTH_SESSIONS_DDL = `CREATE TABLE auth_sessions (
|
|
6
6
|
session_id TEXT PRIMARY KEY, user_id TEXT NOT NULL, created_at TEXT NOT NULL,
|
package/src/server/db/kysely.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Database } from 'bun:sqlite';
|
|
2
2
|
import { Kysely } from 'kysely';
|
|
3
3
|
import { BunSqliteDialect } from 'kysely-bun-sqlite';
|
|
4
|
-
import type { PlumbingSchema } from './plumbingTypes';
|
|
4
|
+
import type { PlumbingSchema } from './plumbingTypes.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* A Kysely query builder typed to the {@link PlumbingSchema} plumbing tables, on the
|
|
@@ -21,10 +21,10 @@ export {
|
|
|
21
21
|
type DroppedFile,
|
|
22
22
|
type ScanOptions,
|
|
23
23
|
type SweepReport,
|
|
24
|
-
} from "./scan";
|
|
24
|
+
} from "./scan.js";
|
|
25
25
|
export {
|
|
26
26
|
askBinaryServerAboutDuplicate,
|
|
27
27
|
hashFile,
|
|
28
28
|
type DuplicateVerdict,
|
|
29
29
|
type DuplicateQuestion,
|
|
30
|
-
} from "./duplicates";
|
|
30
|
+
} from "./duplicates.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, test } from 'bun:test';
|
|
2
|
-
import { ApiError, isApiError, toErrorEnvelope } from './errors';
|
|
2
|
+
import { ApiError, isApiError, toErrorEnvelope } from './errors.js';
|
|
3
3
|
|
|
4
4
|
/** ISO-8601 timestamp check + strip, so the dynamic field doesn't break equality. */
|
|
5
5
|
const withoutTimestamp = (env: ReturnType<typeof toErrorEnvelope>) => {
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
resolveArgon2idDeriver,
|
|
22
22
|
setArgon2idDeriver,
|
|
23
23
|
} from 'cwip/guard';
|
|
24
|
-
import { argon2idDeriverFrom, nodeRsArgon2idBinding, type RawArgon2idBinding, registerNodeRsArgon2id } from './argon2Binding';
|
|
24
|
+
import { argon2idDeriverFrom, nodeRsArgon2idBinding, type RawArgon2idBinding, registerNodeRsArgon2id } from './argon2Binding.js';
|
|
25
25
|
|
|
26
26
|
/** Cheap parameters — this suite proves the WIRING, not the cost calibration. */
|
|
27
27
|
const FAST = { m: 8_192, t: 1, p: 1 };
|
|
@@ -43,7 +43,7 @@ import { afterEach, describe, expect, it } from 'bun:test';
|
|
|
43
43
|
import { deriveArgon2idKey, resolveArgon2idDeriver, setArgon2idDeriver } from 'cwip/guard';
|
|
44
44
|
import { type Algorithm, hashRawSync, type Version } from '@node-rs/argon2';
|
|
45
45
|
|
|
46
|
-
import { argon2idDeriverFrom, nodeRsArgon2idBinding, registerNodeRsArgon2id } from './argon2Binding';
|
|
46
|
+
import { argon2idDeriverFrom, nodeRsArgon2idBinding, registerNodeRsArgon2id } from './argon2Binding.js';
|
|
47
47
|
/*
|
|
48
48
|
* `Algorithm` and `Version` are declared as AMBIENT CONST ENUMS in the binding's
|
|
49
49
|
* `.d.ts`, and `verbatimModuleSyntax` refuses to read a member off one — the
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
import { generateKeyPairSync } from 'node:crypto';
|
|
13
13
|
import { afterEach, describe, expect, it } from 'bun:test';
|
|
14
14
|
import { deriveArgon2idKey, hasArgon2idDeriver, setArgon2idDeriver } from 'cwip/guard';
|
|
15
|
-
import { ARGON2ID_ALGORITHM, argon2idDeriverFrom, registerArgon2idBinding, type RawArgon2idBinding } from './argon2Binding';
|
|
16
|
-
import { createMemoryAsyncRevocationStore } from './revocationStore';
|
|
17
|
-
import { createSessionSigner } from './sessionSigner';
|
|
15
|
+
import { ARGON2ID_ALGORITHM, argon2idDeriverFrom, registerArgon2idBinding, type RawArgon2idBinding } from './argon2Binding.js';
|
|
16
|
+
import { createMemoryAsyncRevocationStore } from './revocationStore.js';
|
|
17
|
+
import { createSessionSigner } from './sessionSigner.js';
|
|
18
18
|
|
|
19
19
|
afterEach(() => {
|
|
20
20
|
setArgon2idDeriver(null);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// The GuardEngine server wiring (02 §4): the argon2id binding adapter that arms
|
|
2
2
|
// cwip's KDF seam, and the Ed25519 session signer that mints and revokes.
|
|
3
|
-
export * from './argon2Binding';
|
|
4
|
-
export * from './passwordVerifier';
|
|
5
|
-
export * from './verifier';
|
|
6
|
-
export * from './revocationStore';
|
|
7
|
-
export * from './sessionSigner';
|
|
3
|
+
export * from './argon2Binding.js';
|
|
4
|
+
export * from './passwordVerifier.js';
|
|
5
|
+
export * from './verifier.js';
|
|
6
|
+
export * from './revocationStore.js';
|
|
7
|
+
export * from './sessionSigner.js';
|
|
@@ -28,9 +28,9 @@ import {
|
|
|
28
28
|
type KdfWorkerResponse,
|
|
29
29
|
kdfWorkerEntryUrl,
|
|
30
30
|
serveKdfWorker,
|
|
31
|
-
} from './kdfWorker';
|
|
32
|
-
import { createInProcessPasswordVerifier, verifyPasswordEnvelope } from './passwordVerifier';
|
|
33
|
-
import { registerNodeRsArgon2id } from './argon2Binding';
|
|
31
|
+
} from './kdfWorker.js';
|
|
32
|
+
import { createInProcessPasswordVerifier, verifyPasswordEnvelope } from './passwordVerifier.js';
|
|
33
|
+
import { registerNodeRsArgon2id } from './argon2Binding.js';
|
|
34
34
|
|
|
35
35
|
const password = (value: string): Uint8Array => new TextEncoder().encode(value);
|
|
36
36
|
|
|
@@ -41,14 +41,14 @@
|
|
|
41
41
|
* `createMarshalWorkerClient` documents in `core/wire/marshalWorker.ts`; it is
|
|
42
42
|
* repeated here deliberately in the same shape so both read alike.
|
|
43
43
|
*/
|
|
44
|
-
import { AppError } from '../errors';
|
|
44
|
+
import { AppError } from '../errors.js';
|
|
45
45
|
import {
|
|
46
46
|
createInProcessPasswordVerifier,
|
|
47
47
|
type PasswordVerifierPort,
|
|
48
48
|
sealPasswordVerifier,
|
|
49
49
|
verifyPasswordEnvelope,
|
|
50
|
-
} from './passwordVerifier';
|
|
51
|
-
import { registerNodeRsArgon2id } from './argon2Binding';
|
|
50
|
+
} from './passwordVerifier.js';
|
|
51
|
+
import { registerNodeRsArgon2id } from './argon2Binding.js';
|
|
52
52
|
|
|
53
53
|
/** Raised when the worker thread dies, fails to start, or is disposed mid-flight. */
|
|
54
54
|
export const GUARD_KDF_WORKER_FAILED = 'GUARD_KDF_WORKER_FAILED';
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { describe, expect, it } from 'bun:test';
|
|
10
10
|
import type { Argon2idDeriver } from 'cwip/guard';
|
|
11
|
-
import { sealPasswordVerifier, verifyPasswordEnvelope } from './passwordVerifier';
|
|
11
|
+
import { sealPasswordVerifier, verifyPasswordEnvelope } from './passwordVerifier.js';
|
|
12
12
|
|
|
13
13
|
// A deterministic, PASSWORD-SENSITIVE stand-in for argon2id (the real seam mixes
|
|
14
14
|
// far more): the output must depend on the password, or a "wrong password" would
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
createMemoryAsyncRevocationStore,
|
|
5
5
|
createMemoryRevocationStore,
|
|
6
6
|
createSqliteRevocationStore,
|
|
7
|
-
} from './revocationStore';
|
|
7
|
+
} from './revocationStore.js';
|
|
8
8
|
|
|
9
9
|
describe('sync memory revocation store', () => {
|
|
10
10
|
it('records, answers, and sweeps by ms expiry', () => {
|
|
@@ -119,7 +119,7 @@ describe('async-backed revocation store (the cross-node bridge)', () => {
|
|
|
119
119
|
|
|
120
120
|
it('a backing failure is reported, never thrown out of the request path', async () => {
|
|
121
121
|
const ops: string[] = [];
|
|
122
|
-
const boom: import('./revocationStore').AsyncRevocationStore = {
|
|
122
|
+
const boom: import('./revocationStore.js').AsyncRevocationStore = {
|
|
123
123
|
set: () => Promise.reject(new Error('set failed')),
|
|
124
124
|
get: () => Promise.reject(new Error('get failed')),
|
|
125
125
|
prune: () => Promise.reject(new Error('prune failed')),
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*/
|
|
21
21
|
import { createPrivateKey, createPublicKey, generateKeyPairSync, type KeyObject, sign, verify } from 'node:crypto';
|
|
22
22
|
import { type CCUserClaims, CCUserClaimsSchema } from 'cursedbelt-core/session/claims';
|
|
23
|
-
import { AppError } from '../errors';
|
|
24
|
-
import type { GuardVerification, GuardVerifier } from './verifier';
|
|
25
|
-
import type { AsyncRevocationStore } from './revocationStore';
|
|
23
|
+
import { AppError } from '../errors.js';
|
|
24
|
+
import type { GuardVerification, GuardVerifier } from './verifier.js';
|
|
25
|
+
import type { AsyncRevocationStore } from './revocationStore.js';
|
|
26
26
|
|
|
27
27
|
export interface SessionSignerOptions {
|
|
28
28
|
/**
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
* a sweep reports its own failures so the console can show a detector that has
|
|
19
19
|
* stopped working, rather than showing an empty incident list and looking calm.
|
|
20
20
|
*/
|
|
21
|
-
import type { IncidentStore } from "./store";
|
|
22
|
-
import type { IncidentReport, IncidentTransitions } from "./types";
|
|
21
|
+
import type { IncidentStore } from "./store.js";
|
|
22
|
+
import type { IncidentReport, IncidentTransitions } from "./types.js";
|
|
23
23
|
|
|
24
24
|
export interface IncidentCheck {
|
|
25
25
|
/** Stable key. Owns every incident it has ever opened — see `reconcile`. */
|
|
@@ -14,13 +14,13 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { Database } from "bun:sqlite";
|
|
16
16
|
import { beforeEach, describe, expect, test } from "bun:test";
|
|
17
|
-
import type { ChannelMessage, ChannelResult, IncidentChannel } from "./channels";
|
|
18
|
-
import { createTextChannel } from "./channels";
|
|
19
|
-
import { type IncidentCheck, runIncidentSweep } from "./checks";
|
|
20
|
-
import { createIncidentNotifier, UNDELIVERED_RETRY_MS } from "./notifier";
|
|
21
|
-
import { createIncidentReporter } from "./reporter";
|
|
22
|
-
import { createIncidentStore, type IncidentStore } from "./store";
|
|
23
|
-
import type { IncidentReport } from "./types";
|
|
17
|
+
import type { ChannelMessage, ChannelResult, IncidentChannel } from "./channels.js";
|
|
18
|
+
import { createTextChannel } from "./channels.js";
|
|
19
|
+
import { type IncidentCheck, runIncidentSweep } from "./checks.js";
|
|
20
|
+
import { createIncidentNotifier, UNDELIVERED_RETRY_MS } from "./notifier.js";
|
|
21
|
+
import { createIncidentReporter } from "./reporter.js";
|
|
22
|
+
import { createIncidentStore, type IncidentStore } from "./store.js";
|
|
23
|
+
import type { IncidentReport } from "./types.js";
|
|
24
24
|
|
|
25
25
|
const stuckIngest = (failed = 42): IncidentReport => ({
|
|
26
26
|
source: "station",
|
|
@@ -53,14 +53,14 @@ export {
|
|
|
53
53
|
type IncidentChannel,
|
|
54
54
|
type SendEmail,
|
|
55
55
|
type TextChannelOptions,
|
|
56
|
-
} from "./channels";
|
|
56
|
+
} from "./channels.js";
|
|
57
57
|
export {
|
|
58
58
|
type CheckOutcome,
|
|
59
59
|
type IncidentCheck,
|
|
60
60
|
runIncidentSweep,
|
|
61
61
|
type SweepResult,
|
|
62
|
-
} from "./checks";
|
|
63
|
-
export { INCIDENT_MIGRATIONS, INCIDENTS_TABLE } from "./migrations";
|
|
62
|
+
} from "./checks.js";
|
|
63
|
+
export { INCIDENT_MIGRATIONS, INCIDENTS_TABLE } from "./migrations.js";
|
|
64
64
|
export {
|
|
65
65
|
type AnnounceResult,
|
|
66
66
|
composeOpened,
|
|
@@ -68,23 +68,23 @@ export {
|
|
|
68
68
|
type CreateNotifierOptions,
|
|
69
69
|
createIncidentNotifier,
|
|
70
70
|
type IncidentNotifier,
|
|
71
|
-
} from "./notifier";
|
|
71
|
+
} from "./notifier.js";
|
|
72
72
|
export {
|
|
73
73
|
createIncidentReporter,
|
|
74
74
|
type IncidentReporter,
|
|
75
75
|
type IncidentReporterOptions,
|
|
76
|
-
} from "./reporter";
|
|
76
|
+
} from "./reporter.js";
|
|
77
77
|
export {
|
|
78
78
|
type IncidentRoutesOptions,
|
|
79
79
|
mountIncidentMachineRoutes,
|
|
80
80
|
mountIncidentOwnerRoutes,
|
|
81
|
-
} from "./routes";
|
|
81
|
+
} from "./routes.js";
|
|
82
82
|
export {
|
|
83
83
|
assertNoContent,
|
|
84
84
|
createIncidentStore,
|
|
85
85
|
type IncidentStore,
|
|
86
86
|
type ReconcileOptions,
|
|
87
|
-
} from "./store";
|
|
87
|
+
} from "./store.js";
|
|
88
88
|
export {
|
|
89
89
|
fingerprint,
|
|
90
90
|
type Incident,
|
|
@@ -93,4 +93,4 @@ export {
|
|
|
93
93
|
type IncidentSeverity,
|
|
94
94
|
type IncidentState,
|
|
95
95
|
type IncidentTransitions,
|
|
96
|
-
} from "./types";
|
|
96
|
+
} from "./types.js";
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
* the store (`assertNoContent`). A text message is the least private surface
|
|
29
29
|
* this fleet has and several of its apps are private by construction.
|
|
30
30
|
*/
|
|
31
|
-
import type { ChannelMessage, ChannelResult, IncidentChannel } from "./channels";
|
|
32
|
-
import type { IncidentStore } from "./store";
|
|
33
|
-
import type { Incident, IncidentTransitions } from "./types";
|
|
31
|
+
import type { ChannelMessage, ChannelResult, IncidentChannel } from "./channels.js";
|
|
32
|
+
import type { IncidentStore } from "./store.js";
|
|
33
|
+
import type { Incident, IncidentTransitions } from "./types.js";
|
|
34
34
|
|
|
35
35
|
export interface IncidentNotifier {
|
|
36
36
|
/** Send for every transition in `t`. Returns one result per message sent. */
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
* than one with no alerting. Every failure here is logged and swallowed, and the
|
|
29
29
|
* console notices the silence by other means (the service's own health probe).
|
|
30
30
|
*/
|
|
31
|
-
import type { IncidentReport } from "./types";
|
|
31
|
+
import type { IncidentReport } from "./types.js";
|
|
32
32
|
|
|
33
33
|
export interface IncidentReporterOptions {
|
|
34
34
|
/** e.g. `http://127.0.0.1:3024/api/station/incidents/report`. */
|
|
@@ -35,11 +35,11 @@
|
|
|
35
35
|
* correct.
|
|
36
36
|
*/
|
|
37
37
|
import type { Hono } from "hono";
|
|
38
|
-
import type { IncidentChannel } from "./channels";
|
|
39
|
-
import type { IncidentNotifier } from "./notifier";
|
|
40
|
-
import { assertNoContent, type IncidentStore } from "./store";
|
|
41
|
-
import type { IncidentReport, IncidentSeverity } from "./types";
|
|
42
|
-
import type { SweepResult } from "./checks";
|
|
38
|
+
import type { IncidentChannel } from "./channels.js";
|
|
39
|
+
import type { IncidentNotifier } from "./notifier.js";
|
|
40
|
+
import { assertNoContent, type IncidentStore } from "./store.js";
|
|
41
|
+
import type { IncidentReport, IncidentSeverity } from "./types.js";
|
|
42
|
+
import type { SweepResult } from "./checks.js";
|
|
43
43
|
|
|
44
44
|
const noStore = { "cache-control": "no-store" } as const;
|
|
45
45
|
|
|
@@ -28,15 +28,15 @@
|
|
|
28
28
|
* of all across the restart a deploy of the console itself performs.
|
|
29
29
|
*/
|
|
30
30
|
import type { Database } from "bun:sqlite";
|
|
31
|
-
import { runMigrations } from "../migration/runner";
|
|
32
|
-
import { INCIDENT_MIGRATIONS, INCIDENTS_TABLE } from "./migrations";
|
|
31
|
+
import { runMigrations } from "../migration/runner.js";
|
|
32
|
+
import { INCIDENT_MIGRATIONS, INCIDENTS_TABLE } from "./migrations.js";
|
|
33
33
|
import {
|
|
34
34
|
fingerprint,
|
|
35
35
|
type Incident,
|
|
36
36
|
type IncidentFact,
|
|
37
37
|
type IncidentReport,
|
|
38
38
|
type IncidentTransitions,
|
|
39
|
-
} from "./types";
|
|
39
|
+
} from "./types.js";
|
|
40
40
|
|
|
41
41
|
interface Row {
|
|
42
42
|
fingerprint: string;
|
package/src/server/index.ts
CHANGED
|
@@ -19,7 +19,7 @@ export {
|
|
|
19
19
|
type UploadedFile,
|
|
20
20
|
} from 'cursedbelt-core/ctgr';
|
|
21
21
|
// ── HTTP app ────────────────────────────────────────────────────────────────
|
|
22
|
-
export { type CreateAppOpts, createApp, type ServeBunOpts, serveBun } from './app';
|
|
22
|
+
export { type CreateAppOpts, createApp, type ServeBunOpts, serveBun } from './app.js';
|
|
23
23
|
// ── Auth toolkit (task 26): jose JWT, cookies, CSRF, getOnly, session store, ──
|
|
24
24
|
// login throttle, argon2id passwords, TOTP, vault crypto, the composed middleware.
|
|
25
25
|
export {
|
|
@@ -65,11 +65,11 @@ export {
|
|
|
65
65
|
verifyRecoveryCode,
|
|
66
66
|
verifyToken,
|
|
67
67
|
verifyTotpCode,
|
|
68
|
-
} from './auth';
|
|
69
|
-
export type { CursedbeltEnv, CursedbeltVariables } from './context';
|
|
70
|
-
export { buildRoutes, CTGR_ROUTE_PATTERN, getCtgrDecoded, unGETify } from './ctgr';
|
|
68
|
+
} from './auth/index.js';
|
|
69
|
+
export type { CursedbeltEnv, CursedbeltVariables } from './context.js';
|
|
70
|
+
export { buildRoutes, CTGR_ROUTE_PATTERN, getCtgrDecoded, unGETify } from './ctgr.js';
|
|
71
71
|
// ── Kysely-typed plumbing tables ────────────────────────────────────────────
|
|
72
|
-
export { createKysely, type PlumbingDb } from './db/kysely';
|
|
72
|
+
export { createKysely, type PlumbingDb } from './db/kysely.js';
|
|
73
73
|
export type {
|
|
74
74
|
AppConfigRow,
|
|
75
75
|
AuthSessionRow,
|
|
@@ -81,7 +81,7 @@ export type {
|
|
|
81
81
|
PlumbingSchema,
|
|
82
82
|
RequestMetricRow,
|
|
83
83
|
SystemSampleRow,
|
|
84
|
-
} from './db/plumbingTypes';
|
|
84
|
+
} from './db/plumbingTypes.js';
|
|
85
85
|
// ── Errors ──────────────────────────────────────────────────────────────────
|
|
86
86
|
export {
|
|
87
87
|
ApiError,
|
|
@@ -93,7 +93,7 @@ export {
|
|
|
93
93
|
VALIDATION_ERROR_CODE,
|
|
94
94
|
type ValidationIssue,
|
|
95
95
|
validationEnvelope,
|
|
96
|
-
} from './errors';
|
|
96
|
+
} from './errors.js';
|
|
97
97
|
// ── Jobs & scheduler (task 29): plainjob-backed cron runner + restart-aware ───
|
|
98
98
|
// pollers + the due-row fire queue. App job *definitions* stay business.
|
|
99
99
|
export {
|
|
@@ -114,7 +114,7 @@ export {
|
|
|
114
114
|
JobTimeoutError,
|
|
115
115
|
type PollingJob,
|
|
116
116
|
type PollingJobOpts,
|
|
117
|
-
} from './jobs';
|
|
117
|
+
} from './jobs/index.js';
|
|
118
118
|
// ── Media adapter (task 19): image rendering via sharp (lazy/optional peer) + ──
|
|
119
119
|
// video trim / probe / thumbnail via native ffmpeg. Also at the dedicated
|
|
120
120
|
// media-bun entry below; sharp is imported lazily inside renderImage,
|
|
@@ -135,15 +135,15 @@ export {
|
|
|
135
135
|
trimVideo,
|
|
136
136
|
type VideoCodecPlan,
|
|
137
137
|
videoCodecPlan,
|
|
138
|
-
} from './media-bun';
|
|
138
|
+
} from './media-bun/index.js';
|
|
139
139
|
// ── Metrics ───────────────────────────────────────────────────────────────────
|
|
140
140
|
export {
|
|
141
141
|
createMetricsBuffer,
|
|
142
142
|
type MetricRow,
|
|
143
143
|
type MetricsBuffer,
|
|
144
144
|
type MetricsBufferOptions,
|
|
145
|
-
} from './metrics/metricsBuffer';
|
|
146
|
-
export { normalizeRoute } from './metrics/normalizeRoute';
|
|
145
|
+
} from './metrics/metricsBuffer.js';
|
|
146
|
+
export { normalizeRoute } from './metrics/normalizeRoute.js';
|
|
147
147
|
export {
|
|
148
148
|
type AnalyticsEngineDataset,
|
|
149
149
|
createTelemetrySink,
|
|
@@ -152,26 +152,26 @@ export {
|
|
|
152
152
|
type TelemetrySink,
|
|
153
153
|
type TelemetrySinkOptions,
|
|
154
154
|
toDataPoint,
|
|
155
|
-
} from './metrics/telemetrySink';
|
|
155
|
+
} from './metrics/telemetrySink.js';
|
|
156
156
|
// ── Middleware ────────────────────────────────────────────────────────────────
|
|
157
|
-
export { correlationId } from './middleware/correlationId';
|
|
158
|
-
export { type CorsOpts, corsAllowlist, corsOptsFromEnv } from './middleware/corsAllowlist';
|
|
159
|
-
export { errorEnvelope } from './middleware/errorEnvelope';
|
|
160
|
-
export { crossOriginRefusal } from './middleware/localOrigin';
|
|
161
|
-
export { clientIp, createRateLimiter, type RateLimitOpts } from './middleware/rateLimit';
|
|
162
|
-
export { type RequestLoggerOpts, requestLogger } from './middleware/requestLogger';
|
|
157
|
+
export { correlationId } from './middleware/correlationId.js';
|
|
158
|
+
export { type CorsOpts, corsAllowlist, corsOptsFromEnv } from './middleware/corsAllowlist.js';
|
|
159
|
+
export { errorEnvelope } from './middleware/errorEnvelope.js';
|
|
160
|
+
export { crossOriginRefusal } from './middleware/localOrigin.js';
|
|
161
|
+
export { clientIp, createRateLimiter, type RateLimitOpts } from './middleware/rateLimit.js';
|
|
162
|
+
export { type RequestLoggerOpts, requestLogger } from './middleware/requestLogger.js';
|
|
163
163
|
export {
|
|
164
164
|
type CspDirectives,
|
|
165
165
|
type SecurityHeadersOpts,
|
|
166
166
|
securityHeaders,
|
|
167
|
-
} from './middleware/securityHeaders';
|
|
167
|
+
} from './middleware/securityHeaders.js';
|
|
168
168
|
// ── zod validation toolkit ────────────────────────────────────────────────────
|
|
169
169
|
// (the `validationEnvelope`/`toValidationIssues`/`ValidationIssue` builders now
|
|
170
170
|
// live with the canonical envelope in `./errors`, re-exported above.)
|
|
171
|
-
export { type ZValidatorTarget, zValidator } from './middleware/zValidator';
|
|
171
|
+
export { type ZValidatorTarget, zValidator } from './middleware/zValidator.js';
|
|
172
172
|
// ── Migration runner ──────────────────────────────────────────────────────────
|
|
173
|
-
export { addColumnIfMissing, applyRecommendedPragmas, columnExists, runMigrations } from './migration/runner';
|
|
174
|
-
export type { Migration } from './migration/types';
|
|
173
|
+
export { addColumnIfMissing, applyRecommendedPragmas, columnExists, runMigrations } from './migration/runner.js';
|
|
174
|
+
export type { Migration } from './migration/types.js';
|
|
175
175
|
// ── Audit log: the SQLite-backed AuditSink cursedshell's service dispatch ─────
|
|
176
176
|
// writes to (see `cwip/audit` for the storage-agnostic contract + the
|
|
177
177
|
// zero-config in-memory default).
|
|
@@ -181,7 +181,7 @@ export {
|
|
|
181
181
|
auditStateAtVersion,
|
|
182
182
|
auditStep,
|
|
183
183
|
createSqliteAuditSink,
|
|
184
|
-
} from './audit';
|
|
184
|
+
} from './audit/index.js';
|
|
185
185
|
// ── SQLite toolkit extras (task 30): FTS5 ranked search + DDL generator, the ───
|
|
186
186
|
// read-only DB viewer middleware, the VACUUM-INTO backup service, DB health probes.
|
|
187
187
|
export {
|
|
@@ -232,7 +232,7 @@ export {
|
|
|
232
232
|
type TableExportFormat,
|
|
233
233
|
type TableStat,
|
|
234
234
|
UnknownTableError,
|
|
235
|
-
} from './sqlite';
|
|
235
|
+
} from './sqlite/index.js';
|
|
236
236
|
// ── WebSocket hub (task 28): Bun-native upgrade, channel registry, heartbeat, ──
|
|
237
237
|
// presence-as-a-view, room helpers, and the push-only event-bus subset (ru).
|
|
238
238
|
export {
|
|
@@ -254,9 +254,9 @@ export {
|
|
|
254
254
|
type WsHub,
|
|
255
255
|
type WsHubOpts,
|
|
256
256
|
type WsMessage,
|
|
257
|
-
} from './ws';
|
|
257
|
+
} from './ws/index.js';
|
|
258
258
|
|
|
259
259
|
// The app-data root resolver. Exported at the root (2026-09-15, task 148) because
|
|
260
260
|
// `cursedbelt-cc`'s localHost needs it and it answers a question about the HOST, not
|
|
261
261
|
// about any one subsystem — so no subpath barrel is its natural home.
|
|
262
|
-
export { resolveAppDataHome } from './paths/appDataHome';
|
|
262
|
+
export { resolveAppDataHome } from './paths/appDataHome.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Database } from 'bun:sqlite';
|
|
2
2
|
import { afterEach, beforeEach, describe, expect, test } from 'bun:test';
|
|
3
|
-
import { createFireQueue } from './fireQueue';
|
|
3
|
+
import { createFireQueue } from './fireQueue.js';
|
|
4
4
|
|
|
5
5
|
const JOB_STATE_DDL = `CREATE TABLE job_state (name TEXT PRIMARY KEY, last_run_at TEXT, meta TEXT)`;
|
|
6
6
|
const sleep = (ms: number) => new Promise<void>((r) => setTimeout(r, ms));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defaultJobLogger } from './logger';
|
|
2
|
-
import { createPollingJob } from './polling';
|
|
3
|
-
import { DEFAULT_FIRE_INTERVAL_MS, type FireQueue, type FireQueueOpts } from './types';
|
|
1
|
+
import { defaultJobLogger } from './logger.js';
|
|
2
|
+
import { createPollingJob } from './polling.js';
|
|
3
|
+
import { DEFAULT_FIRE_INTERVAL_MS, type FireQueue, type FireQueueOpts } from './types.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* The "select due rows → deliver each → mark sent" pattern, as a {@link PollingJob}.
|
package/src/server/jobs/index.ts
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
// restart-aware pollers, the due-row fire queue, run auditing); app job
|
|
4
4
|
// *definitions* stay business and consume these primitives.
|
|
5
5
|
|
|
6
|
-
export { createFireQueue } from './fireQueue';
|
|
7
|
-
export { defaultJobLogger } from './logger';
|
|
8
|
-
export { createPlainjobConnection } from './plainjobAdapter';
|
|
9
|
-
export { createPollingJob } from './polling';
|
|
10
|
-
export { createJobRunner } from './runner';
|
|
11
|
-
export { JobTimeoutError } from './timeout';
|
|
6
|
+
export { createFireQueue } from './fireQueue.js';
|
|
7
|
+
export { defaultJobLogger } from './logger.js';
|
|
8
|
+
export { createPlainjobConnection } from './plainjobAdapter.js';
|
|
9
|
+
export { createPollingJob } from './polling.js';
|
|
10
|
+
export { createJobRunner } from './runner.js';
|
|
11
|
+
export { JobTimeoutError } from './timeout.js';
|
|
12
12
|
export {
|
|
13
13
|
type CreateJobRunnerOptions,
|
|
14
14
|
DEFAULT_FIRE_INTERVAL_MS,
|
|
@@ -24,4 +24,4 @@ export {
|
|
|
24
24
|
type JobRunRecord,
|
|
25
25
|
type PollingJob,
|
|
26
26
|
type PollingJobOpts,
|
|
27
|
-
} from './types';
|
|
27
|
+
} from './types.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Database } from 'bun:sqlite';
|
|
2
2
|
import { afterEach, beforeEach, describe, expect, test } from 'bun:test';
|
|
3
|
-
import { createPlainjobConnection } from './plainjobAdapter';
|
|
3
|
+
import { createPlainjobConnection } from './plainjobAdapter.js';
|
|
4
4
|
|
|
5
5
|
describe('createPlainjobConnection', () => {
|
|
6
6
|
let db: Database;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Database } from 'bun:sqlite';
|
|
2
2
|
import { afterEach, beforeEach, describe, expect, test } from 'bun:test';
|
|
3
|
-
import { createPollingJob } from './polling';
|
|
3
|
+
import { createPollingJob } from './polling.js';
|
|
4
4
|
|
|
5
5
|
const JOB_STATE_DDL = `CREATE TABLE job_state (
|
|
6
6
|
name TEXT PRIMARY KEY,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { defaultJobLogger } from './logger';
|
|
2
|
-
import type { JobContext, PollingJob, PollingJobOpts } from './types';
|
|
1
|
+
import { defaultJobLogger } from './logger.js';
|
|
2
|
+
import type { JobContext, PollingJob, PollingJobOpts } from './types.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* A periodic, restart-aware poller — the engine behind ca's `setInterval`
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Database } from 'bun:sqlite';
|
|
2
2
|
import { afterEach, beforeEach, describe, expect, test } from 'bun:test';
|
|
3
|
-
import { ApiError } from '../errors';
|
|
4
|
-
import { createJobRunner } from './runner';
|
|
5
|
-
import { JobTimeoutError } from './timeout';
|
|
3
|
+
import { ApiError } from '../errors.js';
|
|
4
|
+
import { createJobRunner } from './runner.js';
|
|
5
|
+
import { JobTimeoutError } from './timeout.js';
|
|
6
6
|
|
|
7
7
|
const JOB_RUNS_DDL = `CREATE TABLE job_runs (
|
|
8
8
|
id TEXT PRIMARY KEY,
|