bunqueue-client 0.1.8 → 0.2.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/CHANGELOG.md +162 -0
- package/LEGACY.md +460 -0
- package/README.md +204 -349
- package/dist/ack-batcher.js +7 -67
- package/dist/canonical-manifest.json +930 -0
- package/dist/chunk-b967v3w3.js +79 -0
- package/dist/chunk-fekm0ma6.js +110 -0
- package/dist/chunk-jxkszwqp.js +573 -0
- package/dist/embedded.js +16418 -0
- package/dist/frame.js +14 -57
- package/dist/index.d.ts +1 -27
- package/dist/index.js +10905 -16
- package/dist/legacy.d.ts +1 -0
- package/dist/legacy.js +2081 -0
- package/dist/{ack-batcher.d.ts → types/sdk/typescript/src/ack-batcher.d.ts} +3 -3
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/aging.d.ts +2 -2
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/batch.d.ts +2 -2
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/bunqueue-api.d.ts +5 -5
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/bunqueue.d.ts +13 -13
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/circuit-breaker.d.ts +2 -2
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/dedup-debounce.d.ts +2 -2
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/dlq-rate-limit.d.ts +2 -2
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/rate-gate.d.ts +1 -1
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/retry.d.ts +1 -1
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/triggers.d.ts +3 -3
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/ttl.d.ts +1 -1
- package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/types.d.ts +4 -4
- package/dist/types/sdk/typescript/src/canonical-transport/bun-sqlite-types.d.ts +21 -0
- package/dist/{connection-pool.d.ts → types/sdk/typescript/src/connection-pool.d.ts} +1 -1
- package/dist/{connection-types.d.ts → types/sdk/typescript/src/connection-types.d.ts} +1 -1
- package/dist/{connection.d.ts → types/sdk/typescript/src/connection.d.ts} +6 -19
- package/dist/{errors.d.ts → types/sdk/typescript/src/errors.d.ts} +3 -0
- package/dist/types/sdk/typescript/src/flow-commit.d.ts +5 -0
- package/dist/types/sdk/typescript/src/flow-plan-legacy.d.ts +13 -0
- package/dist/types/sdk/typescript/src/flow-plan.d.ts +29 -0
- package/dist/{flow-types.d.ts → types/sdk/typescript/src/flow-types.d.ts} +7 -4
- package/dist/{flow.d.ts → types/sdk/typescript/src/flow.d.ts} +6 -10
- package/dist/{frame.d.ts → types/sdk/typescript/src/frame.d.ts} +1 -1
- package/dist/types/sdk/typescript/src/index.d.ts +10 -0
- package/dist/{job.d.ts → types/sdk/typescript/src/job.d.ts} +4 -3
- package/dist/types/sdk/typescript/src/legacy.d.ts +27 -0
- package/dist/{observability.d.ts → types/sdk/typescript/src/observability.d.ts} +14 -0
- package/dist/{queue-admin.d.ts → types/sdk/typescript/src/queue-admin.d.ts} +3 -4
- package/dist/{queue-control.d.ts → types/sdk/typescript/src/queue-control.d.ts} +7 -6
- package/dist/{queue-query.d.ts → types/sdk/typescript/src/queue-query.d.ts} +3 -3
- package/dist/{queue.d.ts → types/sdk/typescript/src/queue.d.ts} +8 -8
- package/dist/{responses.d.ts → types/sdk/typescript/src/responses.d.ts} +2 -2
- package/dist/types/sdk/typescript/src/serialization.d.ts +10 -0
- package/dist/{socket-factory.d.ts → types/sdk/typescript/src/socket-factory.d.ts} +1 -1
- package/dist/types/sdk/typescript/src/terminal-outcome.d.ts +8 -0
- package/dist/{types.d.ts → types/sdk/typescript/src/types.d.ts} +5 -2
- package/dist/{worker-base.d.ts → types/sdk/typescript/src/worker-base.d.ts} +6 -6
- package/dist/types/sdk/typescript/src/worker-slot-signal.d.ts +6 -0
- package/dist/{worker-types.d.ts → types/sdk/typescript/src/worker-types.d.ts} +3 -3
- package/dist/{worker.d.ts → types/sdk/typescript/src/worker.d.ts} +3 -2
- package/dist/types/src/application/background/dlq.d.ts +2 -0
- package/dist/types/src/application/background/lifecycle.d.ts +4 -0
- package/dist/types/src/application/background/recovery/active.d.ts +5 -0
- package/dist/types/src/application/background/recovery/index.d.ts +2 -0
- package/dist/types/src/application/background/recovery/pending.d.ts +3 -0
- package/dist/types/src/application/background/recovery/restore.d.ts +5 -0
- package/dist/types/src/application/background/recovery/shared.d.ts +6 -0
- package/dist/types/src/application/background/timeouts.d.ts +25 -0
- package/dist/types/src/application/backgroundTasks.d.ts +7 -0
- package/dist/types/src/application/cleanupTasks.d.ts +10 -0
- package/dist/types/src/application/clientTracking.d.ts +44 -0
- package/dist/types/src/application/completedCleanup.d.ts +34 -0
- package/dist/types/src/application/completedRetry.d.ts +21 -0
- package/dist/types/src/application/contextFactory.d.ts +49 -0
- package/dist/types/src/application/dependencyCompletions.d.ts +63 -0
- package/dist/types/src/application/dependencyProcessor.d.ts +15 -0
- package/dist/types/src/application/dependencyResultTracker.d.ts +18 -0
- package/dist/types/src/application/dlqManager.d.ts +49 -0
- package/dist/types/src/application/dlqRetry.d.ts +12 -0
- package/dist/types/src/application/emptyQueueCleanup.d.ts +3 -0
- package/dist/types/src/application/eventsManager.d.ts +50 -0
- package/dist/types/src/application/flowFailureRecovery.d.ts +20 -0
- package/dist/types/src/application/flowParentBackpatch.d.ts +27 -0
- package/dist/types/src/application/jobLogsManager.d.ts +21 -0
- package/dist/types/src/application/latencyTracker.d.ts +39 -0
- package/dist/types/src/application/lockManager.d.ts +15 -0
- package/dist/types/src/application/lockOperations.d.ts +38 -0
- package/dist/types/src/application/metricsExporter.d.ts +27 -0
- package/dist/types/src/application/monitoringChecks.d.ts +36 -0
- package/dist/types/src/application/operations/ack/batch.d.ts +8 -0
- package/dist/types/src/application/operations/ack/completion.d.ts +3 -0
- package/dist/types/src/application/operations/ack/failure.d.ts +3 -0
- package/dist/types/src/application/operations/ack.d.ts +5 -0
- package/dist/types/src/application/operations/ackHelpers.d.ts +36 -0
- package/dist/types/src/application/operations/customId.d.ts +51 -0
- package/dist/types/src/application/operations/flowPush.d.ts +9 -0
- package/dist/types/src/application/operations/flowTopologyValidation.d.ts +3 -0
- package/dist/types/src/application/operations/flowValidation.d.ts +3 -0
- package/dist/types/src/application/operations/jobClaim.d.ts +17 -0
- package/dist/types/src/application/operations/jobManagement.d.ts +43 -0
- package/dist/types/src/application/operations/jobMoveOperations.d.ts +9 -0
- package/dist/types/src/application/operations/jobPromotion.d.ts +7 -0
- package/dist/types/src/application/operations/jobStateTransitions.d.ts +15 -0
- package/dist/types/src/application/operations/parentLink.d.ts +36 -0
- package/dist/types/src/application/operations/parentLinkInput.d.ts +8 -0
- package/dist/types/src/application/operations/pull.d.ts +20 -0
- package/dist/types/src/application/operations/pullFinalization.d.ts +6 -0
- package/dist/types/src/application/operations/pullStateTransition.d.ts +51 -0
- package/dist/types/src/application/operations/push.d.ts +13 -0
- package/dist/types/src/application/operations/pushAdmission.d.ts +36 -0
- package/dist/types/src/application/operations/pushBatch.d.ts +4 -0
- package/dist/types/src/application/operations/pushContext.d.ts +48 -0
- package/dist/types/src/application/operations/pushDeduplication.d.ts +42 -0
- package/dist/types/src/application/operations/pushInsert.d.ts +39 -0
- package/dist/types/src/application/operations/pushLocks.d.ts +15 -0
- package/dist/types/src/application/operations/query/collect.d.ts +12 -0
- package/dist/types/src/application/operations/query/jobLookup.d.ts +9 -0
- package/dist/types/src/application/operations/query/pagination.d.ts +8 -0
- package/dist/types/src/application/operations/query/state.d.ts +4 -0
- package/dist/types/src/application/operations/queryOperations.d.ts +5 -0
- package/dist/types/src/application/operations/queueControl.d.ts +50 -0
- package/dist/types/src/application/prometheusOperationalMetrics.d.ts +31 -0
- package/dist/types/src/application/queue-manager/ack.d.ts +23 -0
- package/dist/types/src/application/queue-manager/configuration.d.ts +27 -0
- package/dist/types/src/application/queue-manager/context.d.ts +5 -0
- package/dist/types/src/application/queue-manager/control.d.ts +20 -0
- package/dist/types/src/application/queue-manager/delivery.d.ts +33 -0
- package/dist/types/src/application/queue-manager/dependencies.d.ts +8 -0
- package/dist/types/src/application/queue-manager/dependency-runtime.d.ts +8 -0
- package/dist/types/src/application/queue-manager/flow-failures.d.ts +18 -0
- package/dist/types/src/application/queue-manager/flow-options.d.ts +8 -0
- package/dist/types/src/application/queue-manager/job-management.d.ts +17 -0
- package/dist/types/src/application/queue-manager/lifecycle.d.ts +4 -0
- package/dist/types/src/application/queue-manager/limits.d.ts +58 -0
- package/dist/types/src/application/queue-manager/locks.d.ts +21 -0
- package/dist/types/src/application/queue-manager/observability.d.ts +16 -0
- package/dist/types/src/application/queue-manager/queries.d.ts +24 -0
- package/dist/types/src/application/queue-manager/repeat.d.ts +4 -0
- package/dist/types/src/application/queue-manager/services.d.ts +19 -0
- package/dist/types/src/application/queue-manager/state.d.ts +96 -0
- package/dist/types/src/application/queue-manager/stats.d.ts +28 -0
- package/dist/types/src/application/queueManager.d.ts +5 -0
- package/dist/types/src/application/queueStatsAggregator.d.ts +23 -0
- package/dist/types/src/application/queueTelemetryJournal.d.ts +24 -0
- package/dist/types/src/application/repeatJobs.d.ts +7 -0
- package/dist/types/src/application/stallDetection.d.ts +10 -0
- package/dist/types/src/application/statsManager.d.ts +59 -0
- package/dist/types/src/application/taskErrorTracking.d.ts +22 -0
- package/dist/types/src/application/throughputTracker.d.ts +34 -0
- package/dist/types/src/application/types/ack.d.ts +136 -0
- package/dist/types/src/application/types/background.d.ts +18 -0
- package/dist/types/src/application/types/config.d.ts +41 -0
- package/dist/types/src/application/types/contextFactory.d.ts +87 -0
- package/dist/types/src/application/types/contexts.d.ts +114 -0
- package/dist/types/src/application/types/index.d.ts +7 -0
- package/dist/types/src/application/types/query.d.ts +23 -0
- package/dist/types/src/application/types/queueManager.d.ts +98 -0
- package/dist/types/src/application/webhookManager.d.ts +47 -0
- package/dist/types/src/application/workerManager.d.ts +61 -0
- package/dist/types/src/client/bunqueue/aging.d.ts +16 -0
- package/dist/types/src/client/bunqueue/batch.d.ts +16 -0
- package/dist/types/src/client/bunqueue/cancellation.d.ts +21 -0
- package/dist/types/src/client/bunqueue/circuitBreaker.d.ts +21 -0
- package/dist/types/src/client/bunqueue/dedupDebounce.d.ts +12 -0
- package/dist/types/src/client/bunqueue/dlqRateLimit.d.ts +26 -0
- package/dist/types/src/client/bunqueue/retry.d.ts +8 -0
- package/dist/types/src/client/bunqueue/runtime.d.ts +35 -0
- package/dist/types/src/client/bunqueue/triggers.d.ts +17 -0
- package/dist/types/src/client/bunqueue/ttl.d.ts +17 -0
- package/dist/types/src/client/bunqueue/types.d.ts +147 -0
- package/dist/types/src/client/bunqueue.d.ts +73 -0
- package/dist/types/src/client/dlqConversion.d.ts +5 -0
- package/dist/types/src/client/errors.d.ts +24 -0
- package/dist/types/src/client/events.d.ts +85 -0
- package/dist/types/src/client/flow.d.ts +70 -0
- package/dist/types/src/client/flowAtomic.d.ts +9 -0
- package/dist/types/src/client/flowJobCoreMethods.d.ts +28 -0
- package/dist/types/src/client/flowJobDependencies.d.ts +7 -0
- package/dist/types/src/client/flowJobFactory.d.ts +24 -0
- package/dist/types/src/client/flowJobMoveMethods.d.ts +16 -0
- package/dist/types/src/client/flowJobTypes.d.ts +29 -0
- package/dist/types/src/client/flowLegacyPlan.d.ts +16 -0
- package/dist/types/src/client/flowOptions.d.ts +10 -0
- package/dist/types/src/client/flowPlan.d.ts +16 -0
- package/dist/types/src/client/flowPush.d.ts +27 -0
- package/dist/types/src/client/flowReader.d.ts +10 -0
- package/dist/types/src/client/flowResults.d.ts +11 -0
- package/dist/types/src/client/flowTypes.d.ts +77 -0
- package/dist/types/src/client/forwarder.d.ts +74 -0
- package/dist/types/src/client/groupId.d.ts +1 -0
- package/dist/types/src/client/index.d.ts +46 -0
- package/dist/types/src/client/jobConversion.d.ts +10 -0
- package/dist/types/src/client/jobConversionHelpers.d.ts +28 -0
- package/dist/types/src/client/jobConversionTypes.d.ts +88 -0
- package/dist/types/src/client/jobDeduplication.d.ts +6 -0
- package/dist/types/src/client/jobHelpers.d.ts +31 -0
- package/dist/types/src/client/legacyConnectionOptions.d.ts +8 -0
- package/dist/types/src/client/manager.d.ts +15 -0
- package/dist/types/src/client/pro.d.ts +9 -0
- package/dist/types/src/client/queue/addBatcher.d.ts +59 -0
- package/dist/types/src/client/queue/bullmqCompat.d.ts +57 -0
- package/dist/types/src/client/queue/deduplication.d.ts +14 -0
- package/dist/types/src/client/queue/dlq.d.ts +61 -0
- package/dist/types/src/client/queue/dlqJobMethods.d.ts +9 -0
- package/dist/types/src/client/queue/dlqOps.d.ts +26 -0
- package/dist/types/src/client/queue/dlqStats.d.ts +3 -0
- package/dist/types/src/client/queue/failWire.d.ts +17 -0
- package/dist/types/src/client/queue/helpers.d.ts +19 -0
- package/dist/types/src/client/queue/job-proxy/dependencies.d.ts +9 -0
- package/dist/types/src/client/queue/job-proxy/reflection.d.ts +2 -0
- package/dist/types/src/client/queue/job-proxy/simple.d.ts +3 -0
- package/dist/types/src/client/queue/job-proxy/tcp.d.ts +4 -0
- package/dist/types/src/client/queue/jobMetadata.d.ts +10 -0
- package/dist/types/src/client/queue/jobMove.d.ts +32 -0
- package/dist/types/src/client/queue/jobProxy.d.ts +4 -0
- package/dist/types/src/client/queue/operations/add/bulk.d.ts +7 -0
- package/dist/types/src/client/queue/operations/add/payload.d.ts +25 -0
- package/dist/types/src/client/queue/operations/add/single.d.ts +3 -0
- package/dist/types/src/client/queue/operations/add.d.ts +2 -0
- package/dist/types/src/client/queue/operations/control.d.ts +42 -0
- package/dist/types/src/client/queue/operations/counts.d.ts +48 -0
- package/dist/types/src/client/queue/operations/groups.d.ts +24 -0
- package/dist/types/src/client/queue/operations/management.d.ts +51 -0
- package/dist/types/src/client/queue/operations/query.d.ts +50 -0
- package/dist/types/src/client/queue/operations/queryStates.d.ts +13 -0
- package/dist/types/src/client/queue/operations/queryTcpPages.d.ts +14 -0
- package/dist/types/src/client/queue/queue.d.ts +12 -0
- package/dist/types/src/client/queue/rateLimit.d.ts +46 -0
- package/dist/types/src/client/queue/runtime/compatibility.d.ts +13 -0
- package/dist/types/src/client/queue/runtime/configuration.d.ts +46 -0
- package/dist/types/src/client/queue/runtime/connection.d.ts +6 -0
- package/dist/types/src/client/queue/runtime/control.d.ts +41 -0
- package/dist/types/src/client/queue/runtime/queries.d.ts +66 -0
- package/dist/types/src/client/queue/runtime/scheduling.d.ts +33 -0
- package/dist/types/src/client/queue/runtime/state.d.ts +101 -0
- package/dist/types/src/client/queue/scheduler.d.ts +58 -0
- package/dist/types/src/client/queue/schedulerPagination.d.ts +7 -0
- package/dist/types/src/client/queue/stall.d.ts +20 -0
- package/dist/types/src/client/queue/types/add.d.ts +40 -0
- package/dist/types/src/client/queue/types/contexts.d.ts +33 -0
- package/dist/types/src/client/queue/types/index.d.ts +3 -0
- package/dist/types/src/client/queue/types/job.d.ts +50 -0
- package/dist/types/src/client/queue/types/runtime.d.ts +35 -0
- package/dist/types/src/client/queue/workers.d.ts +36 -0
- package/dist/types/src/client/queue-events/tcpSubscription.d.ts +23 -0
- package/dist/types/src/client/queue.d.ts +5 -0
- package/dist/types/src/client/queueGroup.d.ts +51 -0
- package/dist/types/src/client/resolveToken.d.ts +10 -0
- package/dist/types/src/client/sandboxed/index.d.ts +7 -0
- package/dist/types/src/client/sandboxed/queueOps.d.ts +24 -0
- package/dist/types/src/client/sandboxed/runtime/dispatch.d.ts +13 -0
- package/dist/types/src/client/sandboxed/runtime/lifecycle.d.ts +20 -0
- package/dist/types/src/client/sandboxed/runtime/log.d.ts +1 -0
- package/dist/types/src/client/sandboxed/runtime/pool.d.ts +11 -0
- package/dist/types/src/client/sandboxed/runtime/recovery.d.ts +11 -0
- package/dist/types/src/client/sandboxed/runtime/state.d.ts +39 -0
- package/dist/types/src/client/sandboxed/types/index.d.ts +2 -0
- package/dist/types/src/client/sandboxed/types/options.d.ts +27 -0
- package/dist/types/src/client/sandboxed/types/process.d.ts +39 -0
- package/dist/types/src/client/sandboxed/worker.d.ts +4 -0
- package/dist/types/src/client/sandboxed/wrapper.d.ts +12 -0
- package/dist/types/src/client/sandboxedWorker.d.ts +6 -0
- package/dist/types/src/client/tcp/client.d.ts +6 -0
- package/dist/types/src/client/tcp/commandQueue.d.ts +23 -0
- package/dist/types/src/client/tcp/connection.d.ts +4 -0
- package/dist/types/src/client/tcp/errors.d.ts +6 -0
- package/dist/types/src/client/tcp/health.d.ts +60 -0
- package/dist/types/src/client/tcp/index.d.ts +11 -0
- package/dist/types/src/client/tcp/reconnect.d.ts +47 -0
- package/dist/types/src/client/tcp/runtime/commands.d.ts +9 -0
- package/dist/types/src/client/tcp/runtime/connectivity.d.ts +13 -0
- package/dist/types/src/client/tcp/runtime/health.d.ts +14 -0
- package/dist/types/src/client/tcp/runtime/lifecycle.d.ts +8 -0
- package/dist/types/src/client/tcp/runtime/state.d.ts +50 -0
- package/dist/types/src/client/tcp/shared.d.ts +12 -0
- package/dist/types/src/client/tcp/transport.d.ts +18 -0
- package/dist/types/src/client/tcp/types/command.d.ts +9 -0
- package/dist/types/src/client/tcp/types/connection.d.ts +31 -0
- package/dist/types/src/client/tcp/types/index.d.ts +5 -0
- package/dist/types/src/client/tcp/types/socket.d.ts +8 -0
- package/dist/types/src/client/tcp/types/tls.d.ts +4 -0
- package/dist/types/src/client/tcp/types.d.ts +2 -0
- package/dist/types/src/client/tcpClient.d.ts +6 -0
- package/dist/types/src/client/tcpPool.d.ts +69 -0
- package/dist/types/src/client/types/connection.d.ts +30 -0
- package/dist/types/src/client/types/dlq.d.ts +45 -0
- package/dist/types/src/client/types/events.d.ts +54 -0
- package/dist/types/src/client/types/flow.d.ts +22 -0
- package/dist/types/src/client/types/index.d.ts +10 -0
- package/dist/types/src/client/types/job.d.ts +131 -0
- package/dist/types/src/client/types/metrics.d.ts +1 -0
- package/dist/types/src/client/types/options.d.ts +70 -0
- package/dist/types/src/client/types/worker.d.ts +54 -0
- package/dist/types/src/client/types.d.ts +2 -0
- package/dist/types/src/client/worker/ackBatcher.d.ts +55 -0
- package/dist/types/src/client/worker/ackFrontier.d.ts +21 -0
- package/dist/types/src/client/worker/ackOutcome.d.ts +8 -0
- package/dist/types/src/client/worker/batchExecution.d.ts +14 -0
- package/dist/types/src/client/worker/constants.d.ts +7 -0
- package/dist/types/src/client/worker/groupConcurrency.d.ts +49 -0
- package/dist/types/src/client/worker/handlers/completion.d.ts +29 -0
- package/dist/types/src/client/worker/handlers/dependencies.d.ts +11 -0
- package/dist/types/src/client/worker/handlers/mutations.d.ts +23 -0
- package/dist/types/src/client/worker/handlers/queries.d.ts +15 -0
- package/dist/types/src/client/worker/jobParser.d.ts +9 -0
- package/dist/types/src/client/worker/processor.d.ts +11 -0
- package/dist/types/src/client/worker/processorHandlers.d.ts +4 -0
- package/dist/types/src/client/worker/processorOutcome.d.ts +14 -0
- package/dist/types/src/client/worker/processorResult.d.ts +2 -0
- package/dist/types/src/client/worker/runtime/buffer.d.ts +8 -0
- package/dist/types/src/client/worker/runtime/control.d.ts +28 -0
- package/dist/types/src/client/worker/runtime/execution.d.ts +16 -0
- package/dist/types/src/client/worker/runtime/lifecycle.d.ts +7 -0
- package/dist/types/src/client/worker/runtime/manual.d.ts +10 -0
- package/dist/types/src/client/worker/runtime/options.d.ts +5 -0
- package/dist/types/src/client/worker/runtime/polling.d.ts +14 -0
- package/dist/types/src/client/worker/runtime/state.d.ts +121 -0
- package/dist/types/src/client/worker/types/index.d.ts +5 -0
- package/dist/types/src/client/worker/types/manual.d.ts +7 -0
- package/dist/types/src/client/worker/types/options.d.ts +26 -0
- package/dist/types/src/client/worker/types/outcome.d.ts +23 -0
- package/dist/types/src/client/worker/types/processor.d.ts +25 -0
- package/dist/types/src/client/worker/types/transport.d.ts +11 -0
- package/dist/types/src/client/worker/worker.d.ts +6 -0
- package/dist/types/src/client/worker/workerHeartbeat.d.ts +15 -0
- package/dist/types/src/client/worker/workerPull.d.ts +24 -0
- package/dist/types/src/client/worker/workerRateLimiter.d.ts +51 -0
- package/dist/types/src/client/worker.d.ts +6 -0
- package/dist/types/src/client/workflow/admission.d.ts +45 -0
- package/dist/types/src/client/workflow/clock.d.ts +60 -0
- package/dist/types/src/client/workflow/compensationChild.d.ts +33 -0
- package/dist/types/src/client/workflow/compensationClaim.d.ts +11 -0
- package/dist/types/src/client/workflow/compensationPass.d.ts +17 -0
- package/dist/types/src/client/workflow/compensationSupport.d.ts +24 -0
- package/dist/types/src/client/workflow/compensator.d.ts +34 -0
- package/dist/types/src/client/workflow/definitionGuard.d.ts +11 -0
- package/dist/types/src/client/workflow/emitter.d.ts +17 -0
- package/dist/types/src/client/workflow/engine.d.ts +66 -0
- package/dist/types/src/client/workflow/eventTypes.d.ts +44 -0
- package/dist/types/src/client/workflow/executionFence.d.ts +15 -0
- package/dist/types/src/client/workflow/executionTypes.d.ts +133 -0
- package/dist/types/src/client/workflow/executor.d.ts +52 -0
- package/dist/types/src/client/workflow/executorLifecycle.d.ts +19 -0
- package/dist/types/src/client/workflow/executorNodes.d.ts +18 -0
- package/dist/types/src/client/workflow/executorQueue.d.ts +9 -0
- package/dist/types/src/client/workflow/forEachRunner.d.ts +4 -0
- package/dist/types/src/client/workflow/identity.d.ts +48 -0
- package/dist/types/src/client/workflow/index.d.ts +23 -0
- package/dist/types/src/client/workflow/loops.d.ts +11 -0
- package/dist/types/src/client/workflow/mapRunner.d.ts +4 -0
- package/dist/types/src/client/workflow/recovery.d.ts +32 -0
- package/dist/types/src/client/workflow/rollbackControl.d.ts +37 -0
- package/dist/types/src/client/workflow/runner.d.ts +23 -0
- package/dist/types/src/client/workflow/runnerTiming.d.ts +14 -0
- package/dist/types/src/client/workflow/stepTypes.d.ts +171 -0
- package/dist/types/src/client/workflow/store.d.ts +83 -0
- package/dist/types/src/client/workflow/storeCodec.d.ts +7 -0
- package/dist/types/src/client/workflow/storeExecutionCodec.d.ts +11 -0
- package/dist/types/src/client/workflow/storeListing.d.ts +11 -0
- package/dist/types/src/client/workflow/storeMaintenance.d.ts +4 -0
- package/dist/types/src/client/workflow/storeSignals.d.ts +70 -0
- package/dist/types/src/client/workflow/subWorkflowRunner.d.ts +14 -0
- package/dist/types/src/client/workflow/types.d.ts +4 -0
- package/dist/types/src/client/workflow/unwindPlan.d.ts +87 -0
- package/dist/types/src/client/workflow/waitFor.d.ts +56 -0
- package/dist/types/src/client/workflow/workflow.d.ts +70 -0
- package/dist/types/src/client/workflow/workflowDecisions.d.ts +11 -0
- package/dist/types/src/client/workflow/workflowDefinition.d.ts +16 -0
- package/dist/types/src/client/workflow/workflowIntrospection.d.ts +5 -0
- package/dist/types/src/client/workflow/workflowValidation.d.ts +44 -0
- package/dist/types/src/config/index.d.ts +9 -0
- package/dist/types/src/config/loader.d.ts +7 -0
- package/dist/types/src/config/resolve.d.ts +59 -0
- package/dist/types/src/config/types.d.ts +88 -0
- package/dist/types/src/domain/job/constants.d.ts +12 -0
- package/dist/types/src/domain/job/create.d.ts +2 -0
- package/dist/types/src/domain/job/groupFifoOrder.d.ts +9 -0
- package/dist/types/src/domain/job/ids.d.ts +7 -0
- package/dist/types/src/domain/job/locks.d.ts +4 -0
- package/dist/types/src/domain/job/payload.d.ts +18 -0
- package/dist/types/src/domain/job/state.d.ts +8 -0
- package/dist/types/src/domain/job/terminal.d.ts +3 -0
- package/dist/types/src/domain/queue/dependencyTracker.d.ts +78 -0
- package/dist/types/src/domain/queue/dlqShard.d.ts +66 -0
- package/dist/types/src/domain/queue/groupLimiterManager.d.ts +30 -0
- package/dist/types/src/domain/queue/groupScheduler.d.ts +31 -0
- package/dist/types/src/domain/queue/groupSchedulerOrder.d.ts +6 -0
- package/dist/types/src/domain/queue/limiterManager.d.ts +68 -0
- package/dist/types/src/domain/queue/priorityQueue.d.ts +54 -0
- package/dist/types/src/domain/queue/priorityQueueOrder.d.ts +3 -0
- package/dist/types/src/domain/queue/shard/dependencies.d.ts +11 -0
- package/dist/types/src/domain/queue/shard/dlq.d.ts +26 -0
- package/dist/types/src/domain/queue/shard/keys.d.ts +19 -0
- package/dist/types/src/domain/queue/shard/lifecycle.d.ts +10 -0
- package/dist/types/src/domain/queue/shard/limits.d.ts +47 -0
- package/dist/types/src/domain/queue/shard/metrics.d.ts +32 -0
- package/dist/types/src/domain/queue/shard/state.d.ts +40 -0
- package/dist/types/src/domain/queue/shard.d.ts +7 -0
- package/dist/types/src/domain/queue/shardCounters.d.ts +35 -0
- package/dist/types/src/domain/queue/temporalIndex.d.ts +24 -0
- package/dist/types/src/domain/queue/temporalManager.d.ts +72 -0
- package/dist/types/src/domain/queue/uniqueKeyManager.d.ts +33 -0
- package/dist/types/src/domain/queue/waiterManager.d.ts +18 -0
- package/dist/types/src/domain/response/builders.d.ts +15 -0
- package/dist/types/src/domain/types/command.d.ts +2 -0
- package/dist/types/src/domain/types/commands/base.d.ts +5 -0
- package/dist/types/src/domain/types/commands/core.d.ts +110 -0
- package/dist/types/src/domain/types/commands/cron.d.ts +36 -0
- package/dist/types/src/domain/types/commands/dashboard.d.ts +13 -0
- package/dist/types/src/domain/types/commands/dlq.d.ts +44 -0
- package/dist/types/src/domain/types/commands/extended.d.ts +63 -0
- package/dist/types/src/domain/types/commands/index.d.ts +12 -0
- package/dist/types/src/domain/types/commands/limits.d.ts +108 -0
- package/dist/types/src/domain/types/commands/management.d.ts +73 -0
- package/dist/types/src/domain/types/commands/monitoring.d.ts +49 -0
- package/dist/types/src/domain/types/commands/protocol.d.ts +20 -0
- package/dist/types/src/domain/types/commands/query.d.ts +46 -0
- package/dist/types/src/domain/types/commands/union.d.ts +13 -0
- package/dist/types/src/domain/types/commands/workers.d.ts +39 -0
- package/dist/types/src/domain/types/cron.d.ts +91 -0
- package/dist/types/src/domain/types/deduplication.d.ts +43 -0
- package/dist/types/src/domain/types/dlq.d.ts +136 -0
- package/dist/types/src/domain/types/flow.d.ts +25 -0
- package/dist/types/src/domain/types/group.d.ts +26 -0
- package/dist/types/src/domain/types/job.d.ts +8 -0
- package/dist/types/src/domain/types/jobs/model.d.ts +153 -0
- package/dist/types/src/domain/types/metrics.d.ts +16 -0
- package/dist/types/src/domain/types/priorityQueue.d.ts +13 -0
- package/dist/types/src/domain/types/protocol.d.ts +5 -0
- package/dist/types/src/domain/types/queue.d.ts +110 -0
- package/dist/types/src/domain/types/response.d.ts +3 -0
- package/dist/types/src/domain/types/responses/model.d.ts +152 -0
- package/dist/types/src/domain/types/shard.d.ts +4 -0
- package/dist/types/src/domain/types/stall.d.ts +48 -0
- package/dist/types/src/domain/types/webhook.d.ts +42 -0
- package/dist/types/src/domain/types/worker.d.ts +40 -0
- package/dist/types/src/infrastructure/backup/backupTelemetry.d.ts +30 -0
- package/dist/types/src/infrastructure/backup/s3BackupConfig.d.ts +80 -0
- package/dist/types/src/infrastructure/cloud/types/config.d.ts +18 -0
- package/dist/types/src/infrastructure/cloud/types/event.d.ts +14 -0
- package/dist/types/src/infrastructure/cloud/types/snapshot.d.ts +52 -0
- package/dist/types/src/infrastructure/cloud/types/snapshotCore.d.ts +125 -0
- package/dist/types/src/infrastructure/cloud/types/snapshotJobs.d.ts +124 -0
- package/dist/types/src/infrastructure/cloud/types/snapshotTelemetry.d.ts +100 -0
- package/dist/types/src/infrastructure/cloud/types.d.ts +3 -0
- package/dist/types/src/infrastructure/persistence/batchInsert.d.ts +13 -0
- package/dist/types/src/infrastructure/persistence/completedJobCountSchema.d.ts +6 -0
- package/dist/types/src/infrastructure/persistence/dependencyCompletionSchema.d.ts +6 -0
- package/dist/types/src/infrastructure/persistence/dependencyCompletionStore.d.ts +40 -0
- package/dist/types/src/infrastructure/persistence/index.d.ts +5 -0
- package/dist/types/src/infrastructure/persistence/jobOptionsBlob.d.ts +19 -0
- package/dist/types/src/infrastructure/persistence/legacyNameMigration.d.ts +17 -0
- package/dist/types/src/infrastructure/persistence/migrationProgressSchema.d.ts +2 -0
- package/dist/types/src/infrastructure/persistence/migrations.d.ts +3 -0
- package/dist/types/src/infrastructure/persistence/schema.d.ts +8 -0
- package/dist/types/src/infrastructure/persistence/sqlite/admission.d.ts +9 -0
- package/dist/types/src/infrastructure/persistence/sqlite/completed.d.ts +17 -0
- package/dist/types/src/infrastructure/persistence/sqlite/control.d.ts +48 -0
- package/dist/types/src/infrastructure/persistence/sqlite/flows.d.ts +26 -0
- package/dist/types/src/infrastructure/persistence/sqlite/jobLifecycle.d.ts +17 -0
- package/dist/types/src/infrastructure/persistence/sqlite/jobs.d.ts +15 -0
- package/dist/types/src/infrastructure/persistence/sqlite/lifecycle.d.ts +6 -0
- package/dist/types/src/infrastructure/persistence/sqlite/mutations.d.ts +27 -0
- package/dist/types/src/infrastructure/persistence/sqlite/queries.d.ts +23 -0
- package/dist/types/src/infrastructure/persistence/sqlite/queueDeletionSql.d.ts +3 -0
- package/dist/types/src/infrastructure/persistence/sqlite/records.d.ts +24 -0
- package/dist/types/src/infrastructure/persistence/sqlite/state.d.ts +42 -0
- package/dist/types/src/infrastructure/persistence/sqlite/telemetry.d.ts +17 -0
- package/dist/types/src/infrastructure/persistence/sqlite/telemetryStore.d.ts +30 -0
- package/dist/types/src/infrastructure/persistence/sqlite/telemetryWrites.d.ts +47 -0
- package/dist/types/src/infrastructure/persistence/sqlite.d.ts +6 -0
- package/dist/types/src/infrastructure/persistence/sqliteBatch.d.ts +4 -0
- package/dist/types/src/infrastructure/persistence/sqliteMigration.d.ts +5 -0
- package/dist/types/src/infrastructure/persistence/sqliteSerializer.d.ts +50 -0
- package/dist/types/src/infrastructure/persistence/statements.d.ts +86 -0
- package/dist/types/src/infrastructure/persistence/types/admission.d.ts +8 -0
- package/dist/types/src/infrastructure/persistence/types/batch.d.ts +12 -0
- package/dist/types/src/infrastructure/persistence/types/sqlite.d.ts +27 -0
- package/dist/types/src/infrastructure/persistence/writeBuffer.d.ts +48 -0
- package/dist/types/src/infrastructure/persistence/writeBufferPending.d.ts +11 -0
- package/dist/types/src/infrastructure/scheduler/cron/execution.d.ts +12 -0
- package/dist/types/src/infrastructure/scheduler/cron/persisted.d.ts +5 -0
- package/dist/types/src/infrastructure/scheduler/cron/runtime.d.ts +31 -0
- package/dist/types/src/infrastructure/scheduler/cron/validation.d.ts +3 -0
- package/dist/types/src/infrastructure/scheduler/cronParser.d.ts +45 -0
- package/dist/types/src/infrastructure/scheduler/cronScheduler.d.ts +5 -0
- package/dist/types/src/infrastructure/scheduler/types/cronScheduler.d.ts +16 -0
- package/dist/types/src/infrastructure/server/protocol/commands.d.ts +8 -0
- package/dist/types/src/infrastructure/server/protocol/frameParser.d.ts +16 -0
- package/dist/types/src/infrastructure/server/protocol/lineBuffer.d.ts +6 -0
- package/dist/types/src/infrastructure/server/protocol/validation.d.ts +10 -0
- package/dist/types/src/infrastructure/server/protocol.d.ts +6 -0
- package/dist/types/src/infrastructure/server/socketWriteQueue.d.ts +66 -0
- package/dist/types/src/infrastructure/server/types/protocol.d.ts +4 -0
- package/dist/types/src/require-bun.d.ts +13 -0
- package/dist/types/src/shared/asyncLock.d.ts +13 -0
- package/dist/types/src/shared/boundedMap.d.ts +30 -0
- package/dist/types/src/shared/boundedSet.d.ts +26 -0
- package/dist/types/src/shared/hash.d.ts +30 -0
- package/dist/types/src/shared/histogram.d.ts +23 -0
- package/dist/types/src/shared/lock.d.ts +13 -0
- package/dist/types/src/shared/lockError.d.ts +3 -0
- package/dist/types/src/shared/lockTimeout.d.ts +2 -0
- package/dist/types/src/shared/logger.d.ts +48 -0
- package/dist/types/src/shared/lru.d.ts +9 -0
- package/dist/types/src/shared/lruMap.d.ts +42 -0
- package/dist/types/src/shared/lruSet.d.ts +36 -0
- package/dist/types/src/shared/minHeap.d.ts +43 -0
- package/dist/types/src/shared/msgpack.d.ts +3 -0
- package/dist/types/src/shared/pausedView.d.ts +19 -0
- package/dist/types/src/shared/rwLock.d.ts +22 -0
- package/dist/types/src/shared/serialization.d.ts +24 -0
- package/dist/types/src/shared/skipList.d.ts +97 -0
- package/dist/types/src/shared/skipListNodes.d.ts +6 -0
- package/dist/types/src/shared/storageHealth.d.ts +9 -0
- package/dist/types/src/shared/ttlMap.d.ts +81 -0
- package/dist/types/src/shared/types/lock.d.ts +7 -0
- package/dist/types/src/shared/types/skipList.d.ts +4 -0
- package/dist/types/src/shared/version.d.ts +4 -0
- package/dist/types/src/shared/webhookValidation.d.ts +6 -0
- package/package.json +27 -9
- package/src/ack-batcher.ts +8 -5
- package/src/bunqueue/bunqueue-api.ts +1 -1
- package/src/bunqueue/bunqueue.ts +2 -1
- package/src/canonical-transport/bun-sqlite-types.ts +22 -0
- package/src/canonical-transport/dlq.ts +12 -0
- package/src/canonical-transport/embedded.ts +55 -0
- package/src/canonical-transport/runtime.ts +49 -0
- package/src/canonical-transport/thread-worker.ts +83 -0
- package/src/canonical-transport/transport.ts +153 -0
- package/src/connection.ts +25 -30
- package/src/errors.ts +3 -0
- package/src/flow-commit.ts +45 -0
- package/src/flow-plan-legacy.ts +117 -0
- package/src/flow-plan.ts +209 -0
- package/src/flow-types.ts +4 -0
- package/src/flow.ts +31 -163
- package/src/frame.ts +5 -2
- package/src/index.ts +7 -75
- package/src/job.ts +43 -9
- package/src/legacy.ts +91 -0
- package/src/observability.ts +59 -1
- package/src/queue-admin.ts +5 -5
- package/src/queue-control.ts +12 -8
- package/src/queue.ts +10 -6
- package/src/serialization.ts +93 -0
- package/src/terminal-outcome.ts +58 -0
- package/src/types.ts +3 -6
- package/src/worker-base.ts +9 -6
- package/src/worker-slot-signal.ts +23 -0
- package/src/worker.ts +11 -5
- package/dist/backpressure.js +0 -39
- package/dist/bunqueue/aging.js +0 -53
- package/dist/bunqueue/batch.js +0 -60
- package/dist/bunqueue/bunqueue-api.js +0 -116
- package/dist/bunqueue/bunqueue.js +0 -194
- package/dist/bunqueue/cancellation.js +0 -48
- package/dist/bunqueue/circuit-breaker.js +0 -69
- package/dist/bunqueue/dedup-debounce.js +0 -37
- package/dist/bunqueue/dlq-rate-limit.js +0 -65
- package/dist/bunqueue/rate-gate.js +0 -61
- package/dist/bunqueue/retry.js +0 -56
- package/dist/bunqueue/triggers.js +0 -42
- package/dist/bunqueue/ttl.js +0 -31
- package/dist/bunqueue/types.js +0 -6
- package/dist/connection-pool.js +0 -60
- package/dist/connection-types.js +0 -2
- package/dist/connection.js +0 -281
- package/dist/errors.js +0 -25
- package/dist/flow-types.js +0 -2
- package/dist/flow.js +0 -212
- package/dist/job.js +0 -155
- package/dist/observability.js +0 -110
- package/dist/queue-admin.js +0 -158
- package/dist/queue-control.js +0 -105
- package/dist/queue-query.js +0 -187
- package/dist/queue.js +0 -92
- package/dist/responses.js +0 -10
- package/dist/socket-factory.js +0 -47
- package/dist/types.js +0 -50
- package/dist/worker-base.js +0 -159
- package/dist/worker-types.js +0 -5
- package/dist/worker.js +0 -211
- /package/dist/{backpressure.d.ts → types/sdk/typescript/src/backpressure.d.ts} +0 -0
- /package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/cancellation.d.ts +0 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stall Detection Types
|
|
3
|
+
* Configuration and handling for stalled jobs
|
|
4
|
+
*/
|
|
5
|
+
import type { Job } from "./job.js";
|
|
6
|
+
/** Stall detection configuration per queue */
|
|
7
|
+
export interface StallConfig {
|
|
8
|
+
/** Enable stall detection (default: true) */
|
|
9
|
+
enabled: boolean;
|
|
10
|
+
/** Stall timeout in ms - job is stalled if no heartbeat (default: 30s) */
|
|
11
|
+
stallInterval: number;
|
|
12
|
+
/** Max stalls before moving to DLQ (default: 3) */
|
|
13
|
+
maxStalls: number;
|
|
14
|
+
/** Grace period after job start before stall detection (default: 5s) */
|
|
15
|
+
gracePeriod: number;
|
|
16
|
+
}
|
|
17
|
+
/** Default stall configuration */
|
|
18
|
+
export declare const DEFAULT_STALL_CONFIG: StallConfig;
|
|
19
|
+
/** Stall check result */
|
|
20
|
+
export interface StallCheckResult {
|
|
21
|
+
/** Is the job stalled? */
|
|
22
|
+
isStalled: boolean;
|
|
23
|
+
/** Time since last heartbeat in ms */
|
|
24
|
+
stalledFor: number;
|
|
25
|
+
/** Should move to DLQ? (exceeded max stalls) */
|
|
26
|
+
shouldMoveToDlq: boolean;
|
|
27
|
+
/** Stall count after this check */
|
|
28
|
+
newStallCount: number;
|
|
29
|
+
}
|
|
30
|
+
/** Check if a job is stalled */
|
|
31
|
+
export declare function checkStall(job: Job, config?: StallConfig, now?: number): StallCheckResult;
|
|
32
|
+
/** Stalled job action */
|
|
33
|
+
export declare const enum StallAction {
|
|
34
|
+
/** Retry the job */
|
|
35
|
+
Retry = "retry",
|
|
36
|
+
/** Move to DLQ */
|
|
37
|
+
MoveToDlq = "move_to_dlq",
|
|
38
|
+
/** Keep active (still within grace) */
|
|
39
|
+
Keep = "keep"
|
|
40
|
+
}
|
|
41
|
+
/** Determine action for stalled job */
|
|
42
|
+
export declare function getStallAction(job: Job, config?: StallConfig, now?: number): StallAction;
|
|
43
|
+
/** Update job heartbeat */
|
|
44
|
+
export declare function updateHeartbeat(job: Job, now?: number): void;
|
|
45
|
+
/** Reset stall count (after successful retry) */
|
|
46
|
+
export declare function resetStallCount(job: Job): void;
|
|
47
|
+
/** Increment stall count */
|
|
48
|
+
export declare function incrementStallCount(job: Job): number;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Webhook domain types
|
|
3
|
+
*/
|
|
4
|
+
/** Webhook ID type */
|
|
5
|
+
export type WebhookId = string;
|
|
6
|
+
/**
|
|
7
|
+
* Canonical list of webhook events the server actually triggers — single
|
|
8
|
+
* source of truth for CLI/TCP/HTTP/MCP validation. job.pushed/started/
|
|
9
|
+
* completed/failed flow through eventsManager.mapEventToWebhook; job.progress
|
|
10
|
+
* is triggered directly by updateProgress (jobManagement).
|
|
11
|
+
*/
|
|
12
|
+
export declare const WEBHOOK_EVENTS: readonly ["job.pushed", "job.started", "job.completed", "job.failed", "job.progress"];
|
|
13
|
+
/**
|
|
14
|
+
* Webhook event types. Includes 'job.stalled' for backward compatibility with
|
|
15
|
+
* stored webhooks, but it is never emitted and not accepted on new ones.
|
|
16
|
+
*/
|
|
17
|
+
export type WebhookEvent = (typeof WEBHOOK_EVENTS)[number] | 'job.stalled';
|
|
18
|
+
/** Webhook configuration */
|
|
19
|
+
export interface Webhook {
|
|
20
|
+
id: WebhookId;
|
|
21
|
+
url: string;
|
|
22
|
+
events: WebhookEvent[];
|
|
23
|
+
queue: string | null;
|
|
24
|
+
secret: string | null;
|
|
25
|
+
createdAt: number;
|
|
26
|
+
lastTriggered: number | null;
|
|
27
|
+
successCount: number;
|
|
28
|
+
failureCount: number;
|
|
29
|
+
enabled: boolean;
|
|
30
|
+
}
|
|
31
|
+
/** Create a new webhook */
|
|
32
|
+
export declare function createWebhook(url: string, events: string[], queue?: string, secret?: string): Webhook;
|
|
33
|
+
/** Webhook payload */
|
|
34
|
+
export interface WebhookPayload {
|
|
35
|
+
event: WebhookEvent;
|
|
36
|
+
timestamp: number;
|
|
37
|
+
jobId: string;
|
|
38
|
+
queue: string;
|
|
39
|
+
data?: unknown;
|
|
40
|
+
error?: string;
|
|
41
|
+
progress?: number;
|
|
42
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worker domain types
|
|
3
|
+
*/
|
|
4
|
+
/** Worker ID type */
|
|
5
|
+
export type WorkerId = string;
|
|
6
|
+
/** Worker status */
|
|
7
|
+
export interface Worker {
|
|
8
|
+
id: WorkerId;
|
|
9
|
+
name: string;
|
|
10
|
+
queues: string[];
|
|
11
|
+
concurrency: number;
|
|
12
|
+
hostname: string;
|
|
13
|
+
pid: number;
|
|
14
|
+
registeredAt: number;
|
|
15
|
+
lastSeen: number;
|
|
16
|
+
activeJobs: number;
|
|
17
|
+
processedJobs: number;
|
|
18
|
+
failedJobs: number;
|
|
19
|
+
currentJob: string | null;
|
|
20
|
+
/** TCP client ID that registered this worker (for cleanup on disconnect) */
|
|
21
|
+
clientId: string | null;
|
|
22
|
+
}
|
|
23
|
+
/** Options for creating a worker */
|
|
24
|
+
export interface CreateWorkerOptions {
|
|
25
|
+
workerId?: string;
|
|
26
|
+
hostname?: string;
|
|
27
|
+
pid?: number;
|
|
28
|
+
startedAt?: number;
|
|
29
|
+
clientId?: string;
|
|
30
|
+
}
|
|
31
|
+
/** Create a new worker */
|
|
32
|
+
export declare function createWorker(name: string, queues?: string[], concurrency?: number, opts?: CreateWorkerOptions): Worker;
|
|
33
|
+
/** Job log entry */
|
|
34
|
+
export interface JobLogEntry {
|
|
35
|
+
timestamp: number;
|
|
36
|
+
level: 'info' | 'warn' | 'error';
|
|
37
|
+
message: string;
|
|
38
|
+
}
|
|
39
|
+
/** Create log entry */
|
|
40
|
+
export declare function createLogEntry(message: string, level?: 'info' | 'warn' | 'error'): JobLogEntry;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { BackupResult } from "./s3BackupConfig.js";
|
|
2
|
+
/** Bounded, label-free backup metrics exposed to Prometheus. */
|
|
3
|
+
export interface BackupMetrics {
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
schedulerRunning: boolean;
|
|
6
|
+
inProgress: boolean;
|
|
7
|
+
intervalSeconds: number;
|
|
8
|
+
retention: number;
|
|
9
|
+
attemptsTotal: number;
|
|
10
|
+
successesTotal: number;
|
|
11
|
+
failuresTotal: number;
|
|
12
|
+
overlapRejectionsTotal: number;
|
|
13
|
+
consecutiveFailures: number;
|
|
14
|
+
lastSuccessTimestampSeconds: number;
|
|
15
|
+
lastFailureTimestampSeconds: number;
|
|
16
|
+
lastDurationSeconds: number;
|
|
17
|
+
lastSizeBytes: number;
|
|
18
|
+
}
|
|
19
|
+
export declare const EMPTY_BACKUP_METRICS: BackupMetrics;
|
|
20
|
+
/** State machine for backup attempts; all transitions preserve counter conservation. */
|
|
21
|
+
export declare class BackupTelemetry {
|
|
22
|
+
private readonly metrics;
|
|
23
|
+
constructor(enabled: boolean, intervalMs: number, retention: number);
|
|
24
|
+
setSchedulerRunning(running: boolean): void;
|
|
25
|
+
tryStart(): boolean;
|
|
26
|
+
succeed(result: BackupResult, durationMs: number, nowMs?: number): void;
|
|
27
|
+
fail(durationMs: number, nowMs?: number): void;
|
|
28
|
+
snapshot(): BackupMetrics;
|
|
29
|
+
private finish;
|
|
30
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* S3 Backup Configuration
|
|
3
|
+
* Types and configuration factory
|
|
4
|
+
*/
|
|
5
|
+
/** S3 Backup configuration */
|
|
6
|
+
export interface S3BackupConfig {
|
|
7
|
+
/** Enable S3 backup */
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
/** S3 access key ID */
|
|
10
|
+
accessKeyId: string;
|
|
11
|
+
/** S3 secret access key */
|
|
12
|
+
secretAccessKey: string;
|
|
13
|
+
/** Temporary credential session token */
|
|
14
|
+
sessionToken?: string;
|
|
15
|
+
/** S3 bucket name */
|
|
16
|
+
bucket: string;
|
|
17
|
+
/** S3 endpoint (optional, for non-AWS S3-compatible services) */
|
|
18
|
+
endpoint?: string;
|
|
19
|
+
/** Use bucket-name-in-host S3 requests */
|
|
20
|
+
virtualHostedStyle?: boolean;
|
|
21
|
+
/** S3 region (optional, default: us-east-1) */
|
|
22
|
+
region?: string;
|
|
23
|
+
/** Backup interval in milliseconds (default: 6 hours) */
|
|
24
|
+
intervalMs: number;
|
|
25
|
+
/** Number of backups to retain (default: 7) */
|
|
26
|
+
retention: number;
|
|
27
|
+
/** Prefix for backup files (default: 'backups/') */
|
|
28
|
+
prefix: string;
|
|
29
|
+
/** Path to the SQLite database file */
|
|
30
|
+
databasePath: string;
|
|
31
|
+
/** Timeout for S3 operations in milliseconds (default: 30000) */
|
|
32
|
+
timeoutMs?: number;
|
|
33
|
+
}
|
|
34
|
+
/** Backup result */
|
|
35
|
+
export interface BackupResult {
|
|
36
|
+
success: boolean;
|
|
37
|
+
key?: string;
|
|
38
|
+
/** Uncompressed SQLite database size in bytes */
|
|
39
|
+
size?: number;
|
|
40
|
+
/** Uploaded gzip object size in bytes */
|
|
41
|
+
compressedSize?: number;
|
|
42
|
+
duration?: number;
|
|
43
|
+
error?: string;
|
|
44
|
+
}
|
|
45
|
+
/** Backup metadata stored in S3 */
|
|
46
|
+
export interface BackupMetadata {
|
|
47
|
+
timestamp: string;
|
|
48
|
+
version: string;
|
|
49
|
+
/** Original uncompressed size in bytes */
|
|
50
|
+
size: number;
|
|
51
|
+
/** Compressed size in bytes (if compressed) */
|
|
52
|
+
compressedSize?: number;
|
|
53
|
+
checksum: string;
|
|
54
|
+
/** Whether the backup is gzip compressed */
|
|
55
|
+
compressed?: boolean;
|
|
56
|
+
}
|
|
57
|
+
/** Backup list item */
|
|
58
|
+
export interface BackupItem {
|
|
59
|
+
key: string;
|
|
60
|
+
size: number;
|
|
61
|
+
lastModified: Date;
|
|
62
|
+
}
|
|
63
|
+
/** Default configuration values */
|
|
64
|
+
export declare const DEFAULTS: {
|
|
65
|
+
readonly intervalMs: number;
|
|
66
|
+
readonly retention: 7;
|
|
67
|
+
readonly prefix: "backups/";
|
|
68
|
+
readonly region: "us-east-1";
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Create configuration from environment variables
|
|
72
|
+
*/
|
|
73
|
+
export declare function configFromEnv(databasePath: string): S3BackupConfig;
|
|
74
|
+
/**
|
|
75
|
+
* Validate configuration
|
|
76
|
+
*/
|
|
77
|
+
export declare function validateConfig(config: S3BackupConfig): {
|
|
78
|
+
valid: boolean;
|
|
79
|
+
errors: string[];
|
|
80
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface CloudConfig {
|
|
2
|
+
readonly url: string;
|
|
3
|
+
readonly apiKey: string;
|
|
4
|
+
readonly instanceId: string;
|
|
5
|
+
readonly signingSecret: string | null;
|
|
6
|
+
readonly instanceName: string;
|
|
7
|
+
readonly intervalMs: number;
|
|
8
|
+
readonly includeJobData: boolean;
|
|
9
|
+
readonly redactFields: string[];
|
|
10
|
+
readonly eventFilter: string[];
|
|
11
|
+
readonly bufferSize: number;
|
|
12
|
+
readonly circuitBreakerThreshold: number;
|
|
13
|
+
readonly circuitBreakerResetMs: number;
|
|
14
|
+
readonly useWebSocket: boolean;
|
|
15
|
+
readonly useHttp: boolean;
|
|
16
|
+
readonly dataPath: string | null;
|
|
17
|
+
readonly remoteCommands: boolean;
|
|
18
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { CloudEvent } from "./event.js";
|
|
2
|
+
import type { SnapshotCollections, SnapshotConnections, SnapshotCron, SnapshotLatency, SnapshotMemory, SnapshotQueue, SnapshotRuntime, SnapshotSqliteStats, SnapshotStats, SnapshotStorage, SnapshotTaskErrors, SnapshotThroughput, SnapshotWorkers } from "./snapshotCore.js";
|
|
3
|
+
import type { SnapshotActiveLock, SnapshotDlqEntry, SnapshotJob, SnapshotJobLogEntry, SnapshotStallDetail, SnapshotWorkerDetail } from "./snapshotJobs.js";
|
|
4
|
+
import type { SnapshotDurationHistogram, SnapshotMcpOperation, SnapshotMcpSummary, SnapshotQueueBacklogVelocity, SnapshotQueueConfig, SnapshotQueueExtended, SnapshotQueueRetryRate, SnapshotQueueThroughput, SnapshotQueueWaitTime, SnapshotS3Backup, SnapshotTopError, SnapshotWebhook, SnapshotWorkerUtilization } from "./snapshotTelemetry.js";
|
|
5
|
+
export interface CloudSnapshot {
|
|
6
|
+
instanceId: string;
|
|
7
|
+
instanceName: string;
|
|
8
|
+
version: string;
|
|
9
|
+
hostname: string;
|
|
10
|
+
pid: number;
|
|
11
|
+
startedAt: number;
|
|
12
|
+
timestamp: number;
|
|
13
|
+
sequenceId: number;
|
|
14
|
+
shutdown?: boolean;
|
|
15
|
+
stats: SnapshotStats;
|
|
16
|
+
throughput: SnapshotThroughput;
|
|
17
|
+
latency: SnapshotLatency;
|
|
18
|
+
memory: SnapshotMemory;
|
|
19
|
+
collections: SnapshotCollections;
|
|
20
|
+
queues: SnapshotQueue[];
|
|
21
|
+
workers: SnapshotWorkers;
|
|
22
|
+
crons: SnapshotCron[];
|
|
23
|
+
storage: SnapshotStorage;
|
|
24
|
+
taskErrors: SnapshotTaskErrors;
|
|
25
|
+
recentJobs: SnapshotJob[];
|
|
26
|
+
dlqEntries: SnapshotDlqEntry[];
|
|
27
|
+
workerDetails: SnapshotWorkerDetail[];
|
|
28
|
+
queueConfigs: Record<string, SnapshotQueueConfig>;
|
|
29
|
+
connections: SnapshotConnections;
|
|
30
|
+
webhooks: SnapshotWebhook[];
|
|
31
|
+
topErrors: SnapshotTopError[];
|
|
32
|
+
queueThroughput: Record<string, SnapshotQueueThroughput>;
|
|
33
|
+
durationHistogram: SnapshotDurationHistogram;
|
|
34
|
+
workerUtilization: SnapshotWorkerUtilization[];
|
|
35
|
+
sqliteStats: SnapshotSqliteStats | null;
|
|
36
|
+
runtime: SnapshotRuntime;
|
|
37
|
+
queuePriorityDistribution: Record<string, Record<number, number>>;
|
|
38
|
+
queueWaitTime: Record<string, SnapshotQueueWaitTime>;
|
|
39
|
+
queueRetryRate: Record<string, SnapshotQueueRetryRate>;
|
|
40
|
+
queueBacklogVelocity: Record<string, SnapshotQueueBacklogVelocity>;
|
|
41
|
+
stallDetails: SnapshotStallDetail[];
|
|
42
|
+
events?: CloudEvent[];
|
|
43
|
+
mcpOperations?: SnapshotMcpOperation[];
|
|
44
|
+
mcpSummary?: SnapshotMcpSummary;
|
|
45
|
+
s3Backup: SnapshotS3Backup | null;
|
|
46
|
+
jobResults: Record<string, unknown>;
|
|
47
|
+
jobLogEntries: Record<string, SnapshotJobLogEntry[]>;
|
|
48
|
+
activeLocks: SnapshotActiveLock[];
|
|
49
|
+
queueExtended: Record<string, SnapshotQueueExtended>;
|
|
50
|
+
eventSubscribers: number;
|
|
51
|
+
pendingDepChecks: number;
|
|
52
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
export interface SnapshotStats {
|
|
2
|
+
waiting: number;
|
|
3
|
+
prioritized: number;
|
|
4
|
+
delayed: number;
|
|
5
|
+
active: number;
|
|
6
|
+
dlq: number;
|
|
7
|
+
completed: number;
|
|
8
|
+
'waiting-children': number;
|
|
9
|
+
totalPushed: string;
|
|
10
|
+
totalPulled: string;
|
|
11
|
+
totalCompleted: string;
|
|
12
|
+
totalFailed: string;
|
|
13
|
+
stalled: number;
|
|
14
|
+
paused: number;
|
|
15
|
+
uptime: number;
|
|
16
|
+
cronJobs: number;
|
|
17
|
+
cronPending: number;
|
|
18
|
+
}
|
|
19
|
+
export interface SnapshotThroughput {
|
|
20
|
+
pushPerSec: number;
|
|
21
|
+
pullPerSec: number;
|
|
22
|
+
completePerSec: number;
|
|
23
|
+
failPerSec: number;
|
|
24
|
+
}
|
|
25
|
+
export interface SnapshotLatency {
|
|
26
|
+
averages: {
|
|
27
|
+
pushMs: number;
|
|
28
|
+
pullMs: number;
|
|
29
|
+
ackMs: number;
|
|
30
|
+
};
|
|
31
|
+
percentiles: {
|
|
32
|
+
push: {
|
|
33
|
+
p50: number;
|
|
34
|
+
p95: number;
|
|
35
|
+
p99: number;
|
|
36
|
+
};
|
|
37
|
+
pull: {
|
|
38
|
+
p50: number;
|
|
39
|
+
p95: number;
|
|
40
|
+
p99: number;
|
|
41
|
+
};
|
|
42
|
+
ack: {
|
|
43
|
+
p50: number;
|
|
44
|
+
p95: number;
|
|
45
|
+
p99: number;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export interface SnapshotMemory {
|
|
50
|
+
heapUsed: number;
|
|
51
|
+
heapTotal: number;
|
|
52
|
+
rss: number;
|
|
53
|
+
external: number;
|
|
54
|
+
}
|
|
55
|
+
export interface SnapshotCollections {
|
|
56
|
+
jobIndex: number;
|
|
57
|
+
completedJobs: number;
|
|
58
|
+
jobResults: number;
|
|
59
|
+
jobLogs: number;
|
|
60
|
+
customIdMap: number;
|
|
61
|
+
jobLocks: number;
|
|
62
|
+
processingTotal: number;
|
|
63
|
+
queuedTotal: number;
|
|
64
|
+
temporalIndexTotal: number;
|
|
65
|
+
delayedHeapTotal: number;
|
|
66
|
+
}
|
|
67
|
+
export interface SnapshotQueue {
|
|
68
|
+
name: string;
|
|
69
|
+
waiting: number;
|
|
70
|
+
prioritized: number;
|
|
71
|
+
delayed: number;
|
|
72
|
+
active: number;
|
|
73
|
+
completed: number;
|
|
74
|
+
failed: number;
|
|
75
|
+
'waiting-children': number;
|
|
76
|
+
paused: boolean;
|
|
77
|
+
totalCompleted: number;
|
|
78
|
+
totalFailed: number;
|
|
79
|
+
}
|
|
80
|
+
export interface SnapshotWorkers {
|
|
81
|
+
total: number;
|
|
82
|
+
active: number;
|
|
83
|
+
totalProcessed: number;
|
|
84
|
+
totalFailed: number;
|
|
85
|
+
activeJobs: number;
|
|
86
|
+
}
|
|
87
|
+
export interface SnapshotCron {
|
|
88
|
+
name: string;
|
|
89
|
+
queue: string;
|
|
90
|
+
schedule: string | null;
|
|
91
|
+
repeatEvery: number | null;
|
|
92
|
+
nextRun: number;
|
|
93
|
+
executions: number;
|
|
94
|
+
maxLimit: number | null;
|
|
95
|
+
lastRun: number | null;
|
|
96
|
+
priority: number;
|
|
97
|
+
timezone: string | null;
|
|
98
|
+
data: unknown;
|
|
99
|
+
uniqueKey: string | null;
|
|
100
|
+
dedup: unknown;
|
|
101
|
+
}
|
|
102
|
+
export interface SnapshotStorage {
|
|
103
|
+
diskFull: boolean;
|
|
104
|
+
error: string | null;
|
|
105
|
+
}
|
|
106
|
+
export type SnapshotTaskErrors = Record<string, {
|
|
107
|
+
consecutiveFailures: number;
|
|
108
|
+
lastError?: string;
|
|
109
|
+
lastFailureAt?: number;
|
|
110
|
+
}>;
|
|
111
|
+
export interface SnapshotConnections {
|
|
112
|
+
tcp: number;
|
|
113
|
+
ws: number;
|
|
114
|
+
sse: number;
|
|
115
|
+
}
|
|
116
|
+
export interface SnapshotSqliteStats {
|
|
117
|
+
dbSizeBytes: number;
|
|
118
|
+
writeBufferPending: number;
|
|
119
|
+
}
|
|
120
|
+
export interface SnapshotRuntime {
|
|
121
|
+
bunVersion: string;
|
|
122
|
+
os: string;
|
|
123
|
+
arch: string;
|
|
124
|
+
cpus: number;
|
|
125
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
export interface SnapshotTimelineEntry {
|
|
2
|
+
state: string;
|
|
3
|
+
timestamp: number;
|
|
4
|
+
worker?: string;
|
|
5
|
+
error?: string;
|
|
6
|
+
attempt?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface SnapshotJob {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
queue: string;
|
|
12
|
+
state: string;
|
|
13
|
+
data?: unknown;
|
|
14
|
+
priority: number;
|
|
15
|
+
createdAt: number;
|
|
16
|
+
startedAt?: number;
|
|
17
|
+
completedAt?: number;
|
|
18
|
+
runAt: number;
|
|
19
|
+
failedReason?: string;
|
|
20
|
+
attempts: number;
|
|
21
|
+
maxAttempts: number;
|
|
22
|
+
backoff: number;
|
|
23
|
+
timeout?: number;
|
|
24
|
+
ttl?: number;
|
|
25
|
+
duration?: number;
|
|
26
|
+
waitTime?: number;
|
|
27
|
+
totalDuration?: number;
|
|
28
|
+
progress?: number;
|
|
29
|
+
progressMessage?: string;
|
|
30
|
+
customId?: string;
|
|
31
|
+
uniqueKey?: string;
|
|
32
|
+
tags?: string[];
|
|
33
|
+
groupId?: string;
|
|
34
|
+
parentId?: string;
|
|
35
|
+
childrenIds?: string[];
|
|
36
|
+
dependsOn?: string[];
|
|
37
|
+
childrenCompleted?: number;
|
|
38
|
+
lastHeartbeat?: number;
|
|
39
|
+
stallCount?: number;
|
|
40
|
+
stallTimeout?: number;
|
|
41
|
+
removeOnComplete?: boolean;
|
|
42
|
+
removeOnFail?: boolean;
|
|
43
|
+
lifo?: boolean;
|
|
44
|
+
backoffConfig?: unknown;
|
|
45
|
+
repeat?: unknown;
|
|
46
|
+
stackTraceLimit: number;
|
|
47
|
+
keepLogs?: number;
|
|
48
|
+
sizeLimit?: number;
|
|
49
|
+
failParentOnFailure?: boolean;
|
|
50
|
+
removeDependencyOnFailure?: boolean;
|
|
51
|
+
continueParentOnFailure?: boolean;
|
|
52
|
+
ignoreDependencyOnFailure?: boolean;
|
|
53
|
+
deduplicationTtl?: number;
|
|
54
|
+
deduplicationExtend?: boolean;
|
|
55
|
+
deduplicationReplace?: boolean;
|
|
56
|
+
debounceId?: string;
|
|
57
|
+
debounceTtl?: number;
|
|
58
|
+
timeline?: SnapshotTimelineEntry[];
|
|
59
|
+
}
|
|
60
|
+
export interface SnapshotDlqAttempt {
|
|
61
|
+
attempt: number;
|
|
62
|
+
startedAt: number;
|
|
63
|
+
failedAt: number;
|
|
64
|
+
reason: string;
|
|
65
|
+
error: string | null;
|
|
66
|
+
duration: number;
|
|
67
|
+
}
|
|
68
|
+
export interface SnapshotDlqEntry {
|
|
69
|
+
jobId: string;
|
|
70
|
+
queue: string;
|
|
71
|
+
reason: string;
|
|
72
|
+
error: string | null;
|
|
73
|
+
enteredAt: number;
|
|
74
|
+
retryCount: number;
|
|
75
|
+
lastRetryAt?: number;
|
|
76
|
+
nextRetryAt?: number;
|
|
77
|
+
expiresAt?: number;
|
|
78
|
+
jobAttempts: number;
|
|
79
|
+
jobMaxAttempts: number;
|
|
80
|
+
jobData?: unknown;
|
|
81
|
+
jobCreatedAt: number;
|
|
82
|
+
jobPriority: number;
|
|
83
|
+
attemptHistory: SnapshotDlqAttempt[];
|
|
84
|
+
}
|
|
85
|
+
export interface SnapshotWorkerDetail {
|
|
86
|
+
id: string;
|
|
87
|
+
name: string;
|
|
88
|
+
queues: string[];
|
|
89
|
+
concurrency: number;
|
|
90
|
+
hostname: string;
|
|
91
|
+
pid: number;
|
|
92
|
+
registeredAt: number;
|
|
93
|
+
lastSeen: number;
|
|
94
|
+
activeJobs: number;
|
|
95
|
+
processedJobs: number;
|
|
96
|
+
failedJobs: number;
|
|
97
|
+
currentJob: string | null;
|
|
98
|
+
uptime: number;
|
|
99
|
+
status: 'active' | 'idle' | 'stalled';
|
|
100
|
+
errorRate: number;
|
|
101
|
+
utilization: number;
|
|
102
|
+
}
|
|
103
|
+
export interface SnapshotStallDetail {
|
|
104
|
+
jobId: string;
|
|
105
|
+
queue: string;
|
|
106
|
+
workerId: string | null;
|
|
107
|
+
stalledAt: number;
|
|
108
|
+
stalledForMs: number;
|
|
109
|
+
}
|
|
110
|
+
export interface SnapshotJobLogEntry {
|
|
111
|
+
timestamp: number;
|
|
112
|
+
level: 'info' | 'warn' | 'error';
|
|
113
|
+
message: string;
|
|
114
|
+
}
|
|
115
|
+
export interface SnapshotActiveLock {
|
|
116
|
+
jobId: string;
|
|
117
|
+
owner: string;
|
|
118
|
+
token: string;
|
|
119
|
+
createdAt: number;
|
|
120
|
+
expiresAt: number;
|
|
121
|
+
lastRenewalAt: number;
|
|
122
|
+
renewalCount: number;
|
|
123
|
+
ttl: number;
|
|
124
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
export interface SnapshotQueueConfig {
|
|
2
|
+
paused: boolean;
|
|
3
|
+
rateLimit: number | null;
|
|
4
|
+
concurrencyLimit: number | null;
|
|
5
|
+
concurrencyActive: number;
|
|
6
|
+
stallConfig?: {
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
stallInterval: number;
|
|
9
|
+
maxStalls: number;
|
|
10
|
+
gracePeriod: number;
|
|
11
|
+
};
|
|
12
|
+
dlqConfig?: {
|
|
13
|
+
autoRetry: boolean;
|
|
14
|
+
autoRetryInterval: number;
|
|
15
|
+
maxRetries: number;
|
|
16
|
+
maxAge: number;
|
|
17
|
+
maxEntries: number;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export interface SnapshotWebhook {
|
|
21
|
+
id: string;
|
|
22
|
+
url: string;
|
|
23
|
+
events: string[];
|
|
24
|
+
queue: string | null;
|
|
25
|
+
enabled: boolean;
|
|
26
|
+
successCount: number;
|
|
27
|
+
failureCount: number;
|
|
28
|
+
lastTriggered: number | null;
|
|
29
|
+
}
|
|
30
|
+
export interface SnapshotTopError {
|
|
31
|
+
message: string;
|
|
32
|
+
count: number;
|
|
33
|
+
queue: string;
|
|
34
|
+
lastSeen: number;
|
|
35
|
+
}
|
|
36
|
+
export interface SnapshotQueueThroughput {
|
|
37
|
+
pushPerSec: number;
|
|
38
|
+
completePerSec: number;
|
|
39
|
+
failPerSec: number;
|
|
40
|
+
errorRate: number;
|
|
41
|
+
}
|
|
42
|
+
export interface SnapshotDurationHistogram {
|
|
43
|
+
lt100ms: number;
|
|
44
|
+
lt1s: number;
|
|
45
|
+
lt10s: number;
|
|
46
|
+
lt60s: number;
|
|
47
|
+
gt60s: number;
|
|
48
|
+
}
|
|
49
|
+
export interface SnapshotWorkerUtilization {
|
|
50
|
+
id: string;
|
|
51
|
+
name: string;
|
|
52
|
+
utilization: number;
|
|
53
|
+
}
|
|
54
|
+
export interface SnapshotQueueWaitTime {
|
|
55
|
+
avgMs: number;
|
|
56
|
+
maxMs: number;
|
|
57
|
+
minMs: number;
|
|
58
|
+
}
|
|
59
|
+
export interface SnapshotQueueRetryRate {
|
|
60
|
+
retryRate: number;
|
|
61
|
+
retrying: number;
|
|
62
|
+
total: number;
|
|
63
|
+
}
|
|
64
|
+
export interface SnapshotQueueBacklogVelocity {
|
|
65
|
+
deltaWaiting: number;
|
|
66
|
+
deltaPerMin: number;
|
|
67
|
+
trend: 'growing' | 'shrinking' | 'stable';
|
|
68
|
+
}
|
|
69
|
+
export interface SnapshotMcpOperation {
|
|
70
|
+
tool: string;
|
|
71
|
+
queue: string | null;
|
|
72
|
+
timestamp: number;
|
|
73
|
+
durationMs: number;
|
|
74
|
+
success: boolean;
|
|
75
|
+
error: string | null;
|
|
76
|
+
}
|
|
77
|
+
export interface SnapshotMcpSummary {
|
|
78
|
+
totalInvocations: number;
|
|
79
|
+
successCount: number;
|
|
80
|
+
failureCount: number;
|
|
81
|
+
avgDurationMs: number;
|
|
82
|
+
topTools: Array<{
|
|
83
|
+
tool: string;
|
|
84
|
+
count: number;
|
|
85
|
+
}>;
|
|
86
|
+
}
|
|
87
|
+
export interface SnapshotS3Backup {
|
|
88
|
+
enabled: boolean;
|
|
89
|
+
bucket: string;
|
|
90
|
+
endpoint: string;
|
|
91
|
+
intervalMs: number;
|
|
92
|
+
retention: number;
|
|
93
|
+
isRunning: boolean;
|
|
94
|
+
}
|
|
95
|
+
export interface SnapshotQueueExtended {
|
|
96
|
+
uniqueKeys: number;
|
|
97
|
+
activeGroups: number;
|
|
98
|
+
waitingDeps: number;
|
|
99
|
+
waitingChildren: number;
|
|
100
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Database } from "../../../sdk/typescript/src/canonical-transport/bun-sqlite-types.js";
|
|
2
|
+
import type { Job } from "../../domain/types/job.js";
|
|
3
|
+
import type { BatchInsertResult } from "./types/batch.js";
|
|
4
|
+
/** Multi-row SQLite insert manager with per-row failure isolation. */
|
|
5
|
+
export declare class BatchInsertManager {
|
|
6
|
+
private readonly db;
|
|
7
|
+
private readonly cache;
|
|
8
|
+
constructor(db: Database);
|
|
9
|
+
insertJobsBatch(jobs: Job[]): BatchInsertResult;
|
|
10
|
+
private insertRowByRow;
|
|
11
|
+
private getBatchInsertStmt;
|
|
12
|
+
private insertJobsChunk;
|
|
13
|
+
}
|