@igniter-js/jobs 0.1.13 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/AGENTS.md +119 -243
  2. package/README.md +352 -158
  3. package/dist/{adapter-CXZxomI9.d.mts → adapter-DDyMVche.d.mts} +125 -20
  4. package/dist/{adapter-CXZxomI9.d.ts → adapter-DDyMVche.d.ts} +125 -20
  5. package/dist/adapters/bun.d.mts +101 -0
  6. package/dist/adapters/bun.d.ts +101 -0
  7. package/dist/adapters/bun.js +1048 -0
  8. package/dist/adapters/bun.js.map +1 -0
  9. package/dist/adapters/bun.mjs +1046 -0
  10. package/dist/adapters/bun.mjs.map +1 -0
  11. package/dist/adapters/{memory.adapter.d.ts → mock.d.mts} +7 -3
  12. package/dist/adapters/{memory.adapter.d.mts → mock.d.ts} +7 -3
  13. package/dist/adapters/{memory.adapter.js → mock.js} +122 -25
  14. package/dist/adapters/mock.js.map +1 -0
  15. package/dist/adapters/{memory.adapter.mjs → mock.mjs} +122 -25
  16. package/dist/adapters/mock.mjs.map +1 -0
  17. package/dist/adapters/{bullmq.adapter.d.mts → node.d.mts} +8 -3
  18. package/dist/adapters/{bullmq.adapter.d.ts → node.d.ts} +8 -3
  19. package/dist/adapters/{bullmq.adapter.js → node.js} +194 -40
  20. package/dist/adapters/node.js.map +1 -0
  21. package/dist/adapters/{bullmq.adapter.mjs → node.mjs} +194 -40
  22. package/dist/adapters/node.mjs.map +1 -0
  23. package/dist/index.d.mts +41 -38
  24. package/dist/index.d.ts +41 -38
  25. package/dist/index.js +145 -1856
  26. package/dist/index.js.map +1 -1
  27. package/dist/index.mjs +146 -1854
  28. package/dist/index.mjs.map +1 -1
  29. package/package.json +29 -41
  30. package/CHANGELOG.md +0 -13
  31. package/dist/adapters/bullmq.adapter.js.map +0 -1
  32. package/dist/adapters/bullmq.adapter.mjs.map +0 -1
  33. package/dist/adapters/index.d.mts +0 -143
  34. package/dist/adapters/index.d.ts +0 -143
  35. package/dist/adapters/index.js +0 -1891
  36. package/dist/adapters/index.js.map +0 -1
  37. package/dist/adapters/index.mjs +0 -1887
  38. package/dist/adapters/index.mjs.map +0 -1
  39. package/dist/adapters/memory.adapter.js.map +0 -1
  40. package/dist/adapters/memory.adapter.mjs.map +0 -1
@@ -0,0 +1,101 @@
1
+ import { a as IgniterJobsAdapter, X as IgniterJobsQueueManager, D as IgniterJobsBunSQLiteAdapterOptions, c as IgniterJobDefinition, r as IgniterCronDefinition, x as IgniterJobsAdapterDispatchParams, B as IgniterJobsAdapterScheduleParams, g as IgniterJobSearchResult, m as IgniterJobStatus, Q as IgniterJobsJobLog, h as IgniterJobsQueueInfo, w as IgniterJobCounts, l as IgniterJobsQueueCleanOptions, i as IgniterJobsWorkerHandle, d as IgniterJobsWorkerBuilderConfig, f as IgniterJobsEventHandler, A as IgniterJobsAdapterJobStreamWriteParams, y as IgniterJobsAdapterJobStreamReadParams, V as IgniterJobsJobStreamReadResult, S as IgniterJobsJobStreamEvent, z as IgniterJobsAdapterJobStreamSubscribeParams } from '../adapter-DDyMVche.js';
2
+ import 'ioredis';
3
+ import '@igniter-js/common';
4
+
5
+ /**
6
+ * @fileoverview Bun SQLite adapter for @igniter-js/jobs
7
+ * @module @igniter-js/jobs/adapters/bun-sqlite
8
+ */
9
+
10
+ /**
11
+ * Bun-native SQLite adapter for local, embedded, and desktop workloads.
12
+ */
13
+ declare class IgniterJobsBunSQLiteAdapter implements IgniterJobsAdapter {
14
+ readonly client: {
15
+ type: "bun-sqlite";
16
+ path: string;
17
+ };
18
+ readonly queues: IgniterJobsQueueManager;
19
+ private readonly options;
20
+ private bunqueueModulePromise;
21
+ private readonly queueRuntimes;
22
+ private readonly workers;
23
+ private readonly subscribers;
24
+ private readonly streamSubscribers;
25
+ private readonly registeredJobs;
26
+ private streamDatabasePromise;
27
+ private readonly registeredCrons;
28
+ private constructor();
29
+ static create(options: IgniterJobsBunSQLiteAdapterOptions): IgniterJobsAdapter;
30
+ registerJob(queueName: string, jobName: string, definition: IgniterJobDefinition<any, any, any>): void;
31
+ registerCron(queueName: string, cronName: string, definition: IgniterCronDefinition<any, any>): void;
32
+ dispatch(params: IgniterJobsAdapterDispatchParams): Promise<string>;
33
+ schedule(params: IgniterJobsAdapterScheduleParams): Promise<string>;
34
+ getJob(jobId: string, queue?: string): Promise<IgniterJobSearchResult | null>;
35
+ getJobState(jobId: string, queue?: string): Promise<IgniterJobStatus | null>;
36
+ getJobLogs(jobId: string, queue?: string): Promise<IgniterJobsJobLog[]>;
37
+ getJobProgress(jobId: string, queue?: string): Promise<number>;
38
+ retryJob(jobId: string, queue?: string): Promise<void>;
39
+ removeJob(jobId: string, queue?: string): Promise<void>;
40
+ promoteJob(jobId: string, queue?: string): Promise<void>;
41
+ moveJobToFailed(jobId: string, reason: string, queue?: string): Promise<void>;
42
+ retryManyJobs(jobIds: string[], queue?: string): Promise<void>;
43
+ removeManyJobs(jobIds: string[], queue?: string): Promise<void>;
44
+ getQueueInfo(queue: string): Promise<IgniterJobsQueueInfo | null>;
45
+ getQueueJobCounts(queue: string): Promise<IgniterJobCounts>;
46
+ listQueues(): Promise<IgniterJobsQueueInfo[]>;
47
+ pauseQueue(queue: string): Promise<void>;
48
+ resumeQueue(queue: string): Promise<void>;
49
+ drainQueue(queue: string): Promise<number>;
50
+ cleanQueue(queue: string, options: IgniterJobsQueueCleanOptions): Promise<number>;
51
+ obliterateQueue(queue: string, _options?: {
52
+ force?: boolean;
53
+ }): Promise<void>;
54
+ retryAllInQueue(queue: string): Promise<number>;
55
+ searchJobs(filter: Record<string, unknown>): Promise<IgniterJobSearchResult[]>;
56
+ searchQueues(filter: Record<string, unknown>): Promise<IgniterJobsQueueInfo[]>;
57
+ searchWorkers(filter: Record<string, unknown>): Promise<IgniterJobsWorkerHandle[]>;
58
+ createWorker(config: IgniterJobsWorkerBuilderConfig): Promise<IgniterJobsWorkerHandle>;
59
+ getWorkers(): Map<string, IgniterJobsWorkerHandle>;
60
+ publishEvent(channel: string, payload: unknown): Promise<void>;
61
+ subscribeEvent(channel: string, handler: IgniterJobsEventHandler): Promise<() => Promise<void>>;
62
+ writeJobStreamEvent(params: IgniterJobsAdapterJobStreamWriteParams): Promise<string>;
63
+ readJobStream(params: IgniterJobsAdapterJobStreamReadParams): Promise<IgniterJobsJobStreamReadResult<IgniterJobsJobStreamEvent<string, unknown>>>;
64
+ subscribeJobStream(params: IgniterJobsAdapterJobStreamSubscribeParams): Promise<() => Promise<void>>;
65
+ shutdown(): Promise<void>;
66
+ private loadBunqueue;
67
+ private getStreamDatabase;
68
+ private getQueue;
69
+ private getAllQueueNames;
70
+ private markQueueCronsDirty;
71
+ private syncCronSchedulers;
72
+ private createEnvelope;
73
+ private toJobOptions;
74
+ private processJob;
75
+ private processRegisteredDefinition;
76
+ private processRegisteredCron;
77
+ private createExecutionContext;
78
+ private attachWorkerEvents;
79
+ private toWorkerHandle;
80
+ private buildWorkerMetrics;
81
+ private closeWorkerState;
82
+ private requireJob;
83
+ private findQueueByJobId;
84
+ private getStreamKey;
85
+ private mapStreamRow;
86
+ private mapJob;
87
+ private mapJobSync;
88
+ private normalizeEnvelope;
89
+ private toPublicStatus;
90
+ private toBunqueueStatus;
91
+ private toBunqueueStates;
92
+ private distributeConcurrency;
93
+ private shouldExecuteScheduledJob;
94
+ private parseLogEntry;
95
+ private writeLog;
96
+ private writeQueueLog;
97
+ private invokeHook;
98
+ private invokeHandler;
99
+ }
100
+
101
+ export { IgniterJobsBunSQLiteAdapter, IgniterJobsBunSQLiteAdapterOptions };