@shivaedev/jobs 0.31.0 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +75 -30
  3. package/dist/server/adapters/inspection.d.ts +5 -0
  4. package/dist/server/adapters/inspection.d.ts.map +1 -0
  5. package/dist/server/adapters/inspection.js +25 -0
  6. package/dist/server/adapters/inspection.js.map +1 -0
  7. package/dist/server/adapters/inspectionChanges.d.ts +7 -0
  8. package/dist/server/adapters/inspectionChanges.d.ts.map +1 -0
  9. package/dist/server/adapters/inspectionChanges.js +23 -0
  10. package/dist/server/adapters/inspectionChanges.js.map +1 -0
  11. package/dist/server/adapters/inspectionDeferrals.d.ts +10 -0
  12. package/dist/server/adapters/inspectionDeferrals.d.ts.map +1 -0
  13. package/dist/server/adapters/inspectionDeferrals.js +13 -0
  14. package/dist/server/adapters/inspectionDeferrals.js.map +1 -0
  15. package/dist/server/adapters/inspectionJobs.d.ts +50 -0
  16. package/dist/server/adapters/inspectionJobs.d.ts.map +1 -0
  17. package/dist/server/adapters/inspectionJobs.js +21 -0
  18. package/dist/server/adapters/inspectionJobs.js.map +1 -0
  19. package/dist/server/adapters/inspectionOperation.d.ts +3 -0
  20. package/dist/server/adapters/inspectionOperation.d.ts.map +1 -0
  21. package/dist/server/adapters/inspectionOperation.js +6 -0
  22. package/dist/server/adapters/inspectionOperation.js.map +1 -0
  23. package/dist/server/adapters/inspectionPlan.d.ts +3 -0
  24. package/dist/server/adapters/inspectionPlan.d.ts.map +1 -0
  25. package/dist/server/adapters/inspectionPlan.js +20 -0
  26. package/dist/server/adapters/inspectionPlan.js.map +1 -0
  27. package/dist/server/adapters/inspectionReads.d.ts +59 -0
  28. package/dist/server/adapters/inspectionReads.d.ts.map +1 -0
  29. package/dist/server/adapters/inspectionReads.js +44 -0
  30. package/dist/server/adapters/inspectionReads.js.map +1 -0
  31. package/dist/server/adapters/inspectionSnapshot.d.ts +6 -0
  32. package/dist/server/adapters/inspectionSnapshot.d.ts.map +1 -0
  33. package/dist/server/{internal/testingSnapshot.js → adapters/inspectionSnapshot.js} +9 -7
  34. package/dist/server/adapters/inspectionSnapshot.js.map +1 -0
  35. package/dist/server/adapters/jobEngine.d.ts.map +1 -1
  36. package/dist/server/adapters/jobEngine.js +0 -4
  37. package/dist/server/adapters/jobEngine.js.map +1 -1
  38. package/dist/server/adapters/payloadIdentity.d.ts +3 -0
  39. package/dist/server/adapters/payloadIdentity.d.ts.map +1 -0
  40. package/dist/server/adapters/payloadIdentity.js +14 -0
  41. package/dist/server/adapters/payloadIdentity.js.map +1 -0
  42. package/dist/server/{internal/testingSignal.d.ts → adapters/queueSignal.d.ts} +2 -2
  43. package/dist/server/adapters/queueSignal.d.ts.map +1 -0
  44. package/dist/server/{internal/testingSignal.js → adapters/queueSignal.js} +2 -2
  45. package/dist/server/adapters/queueSignal.js.map +1 -0
  46. package/dist/server/adapters/settleDeferral.d.ts.map +1 -1
  47. package/dist/server/adapters/settleDeferral.js +8 -2
  48. package/dist/server/adapters/settleDeferral.js.map +1 -1
  49. package/dist/server/adapters/testingClient.d.ts +1 -2
  50. package/dist/server/adapters/testingClient.d.ts.map +1 -1
  51. package/dist/server/adapters/testingClient.js +25 -45
  52. package/dist/server/adapters/testingClient.js.map +1 -1
  53. package/dist/server/adapters/testingController.d.ts +58 -12
  54. package/dist/server/adapters/testingController.d.ts.map +1 -1
  55. package/dist/server/adapters/testingController.js +40 -18
  56. package/dist/server/adapters/testingController.js.map +1 -1
  57. package/dist/server/adapters/testingDueNow.js +1 -1
  58. package/dist/server/adapters/testingDueNow.js.map +1 -1
  59. package/dist/server/adapters/testingEngine.d.ts.map +1 -1
  60. package/dist/server/adapters/testingEngine.js +0 -11
  61. package/dist/server/adapters/testingEngine.js.map +1 -1
  62. package/dist/server/adapters/testingInspectionClient.d.ts +5 -0
  63. package/dist/server/adapters/testingInspectionClient.d.ts.map +1 -0
  64. package/dist/server/adapters/testingInspectionClient.js +52 -0
  65. package/dist/server/adapters/testingInspectionClient.js.map +1 -0
  66. package/dist/server/adapters/testingTime.d.ts +10 -0
  67. package/dist/server/adapters/testingTime.d.ts.map +1 -0
  68. package/dist/server/adapters/testingTime.js +18 -0
  69. package/dist/server/adapters/testingTime.js.map +1 -0
  70. package/dist/server/client.d.ts +3 -0
  71. package/dist/server/client.d.ts.map +1 -1
  72. package/dist/server/clientOptions.d.ts +0 -1
  73. package/dist/server/clientOptions.d.ts.map +1 -1
  74. package/dist/server/definition.d.ts +12 -11
  75. package/dist/server/definition.d.ts.map +1 -1
  76. package/dist/server/definition.js +2 -1
  77. package/dist/server/definition.js.map +1 -1
  78. package/dist/server/engineClient.d.ts +0 -5
  79. package/dist/server/engineClient.d.ts.map +1 -1
  80. package/dist/server/enqueueOptions.d.ts +6 -0
  81. package/dist/server/enqueueOptions.d.ts.map +1 -1
  82. package/dist/server/error.d.ts +1 -1
  83. package/dist/server/error.d.ts.map +1 -1
  84. package/dist/server/error.js.map +1 -1
  85. package/dist/server/inspection.d.ts +102 -0
  86. package/dist/server/inspection.d.ts.map +1 -0
  87. package/dist/server/inspection.js +30 -0
  88. package/dist/server/inspection.js.map +1 -0
  89. package/dist/server/internal/adapters/deferralChanges.d.ts +3 -0
  90. package/dist/server/internal/adapters/deferralChanges.d.ts.map +1 -0
  91. package/dist/server/internal/adapters/deferralChanges.js +2 -0
  92. package/dist/server/internal/adapters/deferralChanges.js.map +1 -0
  93. package/dist/server/internal/adapters/testingFetches.d.ts +2 -2
  94. package/dist/server/internal/adapters/testingFetches.d.ts.map +1 -1
  95. package/dist/server/internal/adapters/testingFetches.js.map +1 -1
  96. package/dist/server/internal/deferral.d.ts +0 -2
  97. package/dist/server/internal/deferral.d.ts.map +1 -1
  98. package/dist/server/internal/deferral.js +0 -1
  99. package/dist/server/internal/deferral.js.map +1 -1
  100. package/dist/server/internal/engine.d.ts +0 -5
  101. package/dist/server/internal/engine.d.ts.map +1 -1
  102. package/dist/server/internal/engine.js.map +1 -1
  103. package/dist/server/internal/enqueueFor.d.ts.map +1 -1
  104. package/dist/server/internal/enqueueFor.js +11 -1
  105. package/dist/server/internal/enqueueFor.js.map +1 -1
  106. package/dist/server/internal/jobStorePlans.d.ts.map +1 -1
  107. package/dist/server/internal/jobStorePlans.js +2 -1
  108. package/dist/server/internal/jobStorePlans.js.map +1 -1
  109. package/dist/server/internal/makeService.d.ts.map +1 -1
  110. package/dist/server/internal/makeService.js +7 -6
  111. package/dist/server/internal/makeService.js.map +1 -1
  112. package/dist/server/internal/register.d.ts.map +1 -1
  113. package/dist/server/internal/register.js +0 -4
  114. package/dist/server/internal/register.js.map +1 -1
  115. package/dist/server/internal/testingIdle.d.ts +4 -3
  116. package/dist/server/internal/testingIdle.d.ts.map +1 -1
  117. package/dist/server/internal/testingIdle.js +7 -26
  118. package/dist/server/internal/testingIdle.js.map +1 -1
  119. package/dist/server/internal/testingOperation.d.ts +5 -0
  120. package/dist/server/internal/testingOperation.d.ts.map +1 -0
  121. package/dist/server/internal/testingOperation.js +12 -0
  122. package/dist/server/internal/testingOperation.js.map +1 -0
  123. package/dist/server/internal/testingSchedules.d.ts +8 -5
  124. package/dist/server/internal/testingSchedules.d.ts.map +1 -1
  125. package/dist/server/internal/testingSchedules.js +14 -9
  126. package/dist/server/internal/testingSchedules.js.map +1 -1
  127. package/dist/server/internal/testingWaits.d.ts +7 -4
  128. package/dist/server/internal/testingWaits.d.ts.map +1 -1
  129. package/dist/server/internal/testingWaits.js +7 -10
  130. package/dist/server/internal/testingWaits.js.map +1 -1
  131. package/dist/server/schema.d.ts.map +1 -1
  132. package/dist/server/schema.js +5 -0
  133. package/dist/server/schema.js.map +1 -1
  134. package/dist/server/service.d.ts +4 -4
  135. package/dist/server/service.d.ts.map +1 -1
  136. package/dist/server/service.js +1 -0
  137. package/dist/server/service.js.map +1 -1
  138. package/dist/server/testing.d.ts +63 -25
  139. package/dist/server/testing.d.ts.map +1 -1
  140. package/dist/server/testing.js.map +1 -1
  141. package/package.json +7 -7
  142. package/src/server/adapters/inspection.ts +31 -0
  143. package/src/server/adapters/inspectionChanges.ts +31 -0
  144. package/src/server/{internal/testingDeferrals.ts → adapters/inspectionDeferrals.ts} +10 -12
  145. package/src/server/adapters/inspectionJobs.ts +28 -0
  146. package/src/server/adapters/inspectionOperation.ts +6 -0
  147. package/src/server/adapters/inspectionPlan.ts +21 -0
  148. package/src/server/adapters/inspectionReads.ts +55 -0
  149. package/src/server/{internal/testingSnapshot.ts → adapters/inspectionSnapshot.ts} +15 -17
  150. package/src/server/adapters/jobEngine.ts +0 -4
  151. package/src/server/adapters/payloadIdentity.ts +15 -0
  152. package/src/server/{internal/testingSignal.ts → adapters/queueSignal.ts} +1 -1
  153. package/src/server/adapters/settleDeferral.ts +8 -2
  154. package/src/server/adapters/testingClient.ts +11 -30
  155. package/src/server/adapters/testingController.ts +49 -21
  156. package/src/server/adapters/testingDueNow.ts +1 -1
  157. package/src/server/adapters/testingEngine.ts +0 -13
  158. package/src/server/adapters/testingInspectionClient.ts +70 -0
  159. package/src/server/adapters/testingTime.ts +25 -0
  160. package/src/server/client.ts +3 -0
  161. package/src/server/clientOptions.ts +0 -1
  162. package/src/server/definition.ts +18 -12
  163. package/src/server/engineClient.ts +0 -2
  164. package/src/server/enqueueOptions.ts +5 -0
  165. package/src/server/error.ts +1 -0
  166. package/src/server/inspection.ts +50 -0
  167. package/src/server/internal/adapters/deferralChanges.ts +3 -0
  168. package/src/server/internal/adapters/testingFetches.ts +2 -2
  169. package/src/server/internal/deferral.ts +0 -2
  170. package/src/server/internal/engine.ts +0 -6
  171. package/src/server/internal/enqueueFor.ts +14 -1
  172. package/src/server/internal/jobStorePlans.ts +2 -1
  173. package/src/server/internal/makeService.ts +7 -6
  174. package/src/server/internal/register.ts +0 -4
  175. package/src/server/internal/testingIdle.ts +10 -31
  176. package/src/server/internal/testingOperation.ts +18 -0
  177. package/src/server/internal/testingSchedules.ts +28 -16
  178. package/src/server/internal/testingWaits.ts +11 -16
  179. package/src/server/schema.ts +5 -0
  180. package/src/server/service.ts +5 -2
  181. package/src/server/testing.ts +3 -12
  182. package/dist/server/adapters/observeTestingSettlements.d.ts +0 -6
  183. package/dist/server/adapters/observeTestingSettlements.d.ts.map +0 -1
  184. package/dist/server/adapters/observeTestingSettlements.js +0 -35
  185. package/dist/server/adapters/observeTestingSettlements.js.map +0 -1
  186. package/dist/server/internal/testingDeferrals.d.ts +0 -10
  187. package/dist/server/internal/testingDeferrals.d.ts.map +0 -1
  188. package/dist/server/internal/testingDeferrals.js +0 -15
  189. package/dist/server/internal/testingDeferrals.js.map +0 -1
  190. package/dist/server/internal/testingReadout.d.ts +0 -10
  191. package/dist/server/internal/testingReadout.d.ts.map +0 -1
  192. package/dist/server/internal/testingReadout.js +0 -13
  193. package/dist/server/internal/testingReadout.js.map +0 -1
  194. package/dist/server/internal/testingRegistrations.d.ts +0 -4
  195. package/dist/server/internal/testingRegistrations.d.ts.map +0 -1
  196. package/dist/server/internal/testingRegistrations.js +0 -8
  197. package/dist/server/internal/testingRegistrations.js.map +0 -1
  198. package/dist/server/internal/testingSignal.d.ts.map +0 -1
  199. package/dist/server/internal/testingSignal.js.map +0 -1
  200. package/dist/server/internal/testingSnapshot.d.ts +0 -6
  201. package/dist/server/internal/testingSnapshot.d.ts.map +0 -1
  202. package/dist/server/internal/testingSnapshot.js.map +0 -1
  203. package/src/server/adapters/observeTestingSettlements.ts +0 -36
  204. package/src/server/internal/testingReadout.ts +0 -25
  205. package/src/server/internal/testingRegistrations.ts +0 -10
@@ -0,0 +1,102 @@
1
+ import { type DateTime, Effect } from "effect";
2
+ import type { inspectionChanges } from "#server/adapters/inspectionChanges.ts";
3
+ import type { inspectionReads } from "#server/adapters/inspectionReads.ts";
4
+ import type { JobPayloadSchema, QueueDefinition } from "#server/definition.ts";
5
+ import { PgBoss } from "#server/PgBoss.ts";
6
+ import type { PgBossService } from "#server/service.ts";
7
+ export type SnapshotQueue = Pick<QueueDefinition<string, JobPayloadSchema>, "name" | "schema">;
8
+ export interface UnfinishedJob<TQueue extends SnapshotQueue> {
9
+ readonly data: TQueue["schema"]["Type"];
10
+ readonly id: string;
11
+ readonly queue: TQueue["name"];
12
+ readonly startAfter: DateTime.Utc;
13
+ readonly state: "active" | "created" | "deferred" | "failed" | "retry";
14
+ }
15
+ export declare const PgBossInspection: import("effect/Context").Service<"@shivaedev/jobs/PgBossInspection", Readonly<{
16
+ readonly busy: (queues: readonly Pick<QueueDefinition<string, JobPayloadSchema>, "name">[]) => Effect.Effect<boolean, import("./error.ts").PgBossError, never>;
17
+ readonly changes: (queue?: {
18
+ readonly name: string;
19
+ } | undefined) => Effect.Effect<{
20
+ revision: Effect.Effect<number, never, never>;
21
+ waitForChange: (after: number) => Effect.Effect<number>;
22
+ }, import("./error.ts").PgBossError, import("effect/Scope").Scope>;
23
+ readonly counts: (queue: Pick<QueueDefinition<string, JobPayloadSchema>, "name">) => Effect.Effect<import("./health.ts").QueueCounts, import("./error.ts").PgBossError, never>;
24
+ readonly deadLetteredJobs: <const TName extends string, const TPayload extends JobPayloadSchema | typeof import("effect/Schema").Null>(queue: {
25
+ readonly name: TName;
26
+ readonly schema: TPayload;
27
+ }, options: import("./health.ts").JobPageOptions) => Effect.Effect<import("./health.ts").JobPage<import("./health.ts").DeadLetteredJob<unknown>>, import("./error.ts").PgBossError | import("./error.ts").PgBossPayloadError | import("effect/Schema").SchemaError, TPayload["DecodingServices"]>;
28
+ readonly deferred: (queue: Pick<QueueDefinition<string, JobPayloadSchema>, "name">) => Effect.Effect<{
29
+ at: DateTime.Utc;
30
+ reason: string;
31
+ }[], import("./error.ts").PgBossError, never>;
32
+ readonly failedJobs: <const TName extends string, const TPayload extends JobPayloadSchema | typeof import("effect/Schema").Null>(queue: {
33
+ readonly name: TName;
34
+ readonly schema: TPayload;
35
+ }, options: import("./health.ts").JobPageOptions) => Effect.Effect<import("./health.ts").JobPage<import("./health.ts").ListedJob<unknown>>, import("./error.ts").PgBossError | import("./error.ts").PgBossPayloadError | import("effect/Schema").SchemaError, TPayload["DecodingServices"]>;
36
+ readonly getJob: <const TName extends string, const TPayload extends JobPayloadSchema | typeof import("effect/Schema").Null>(queue: {
37
+ readonly name: TName;
38
+ readonly schema: TPayload;
39
+ }, id: string) => Effect.Effect<import("effect/Option").Option<import("./job.ts").Job<unknown>>, import("./error.ts").PgBossError | import("./error.ts").PgBossPayloadError, TPayload["DecodingServices"]>;
40
+ readonly health: (queues: readonly {
41
+ readonly name: string;
42
+ }[]) => Effect.Effect<import("./health.ts").JobsHealth, import("./error.ts").PgBossError, never>;
43
+ readonly jobs: <TName extends string, TPayload extends JobPayloadSchema | typeof import("effect/Schema").Null>(queue: {
44
+ readonly name: TName;
45
+ readonly schema: TPayload;
46
+ }, options?: import("./client.ts").JobReadOptions) => Effect.Effect<{
47
+ expireInSeconds: number;
48
+ groupId?: string | null;
49
+ groupTier?: string | null;
50
+ heartbeatSeconds: number | null;
51
+ id: string;
52
+ name: string;
53
+ retryCount: number;
54
+ signal: AbortSignal;
55
+ blocked: boolean;
56
+ blocking: boolean;
57
+ completedOn: Date | null;
58
+ createdOn: Date;
59
+ deadLetter: string;
60
+ deleteAfterSeconds: number;
61
+ heartbeatOn: Date | null;
62
+ keepUntil: Date;
63
+ output: object | null;
64
+ pendingDependencies: number;
65
+ policy: string;
66
+ priority: number;
67
+ retryBackoff: boolean;
68
+ retryDelay: number;
69
+ retryDelayMax?: number;
70
+ retryLimit: number;
71
+ singletonKey: string | null;
72
+ singletonOn: Date | null;
73
+ sourceCreatedOn: Date | null;
74
+ sourceId: string | null;
75
+ sourceName: string | null;
76
+ sourceOutput: object | null;
77
+ sourceRetryCount: number | null;
78
+ sourceRootId: string | null;
79
+ startAfter: Date;
80
+ startedOn: Date | null;
81
+ state: import("./job.ts").JobState;
82
+ data: TPayload["Type"];
83
+ }[], import("./error.ts").PgBossError | import("./error.ts").PgBossPayloadError, TPayload["DecodingServices"]>;
84
+ readonly queue: (queue: Pick<QueueDefinition<string, JobPayloadSchema>, "name">) => Effect.Effect<import("./client.ts").ClientQueue | null, import("./error.ts").PgBossError, never>;
85
+ readonly schedules: (name?: string | undefined, key?: string | undefined) => Effect.Effect<import("./engineClient.ts").EngineSchedule[], import("./error.ts").PgBossError, never>;
86
+ readonly schemaVersion: () => Effect.Effect<number | null, import("./error.ts").PgBossError, never>;
87
+ readonly snapshot: <const TQueues extends readonly SnapshotQueue[]>(queues: TQueues) => Effect.Effect<readonly UnfinishedJob<TQueues[number]>[], import("./error.ts").PgBossPayloadError | import("./error.ts").PgBossError, TQueues[number]["schema"]["DecodingServices"]>;
88
+ readonly storedJobs: (queue: {
89
+ readonly name: string;
90
+ }, options?: import("./client.ts").JobReadOptions | undefined) => Effect.Effect<readonly import("./job.ts").Job<unknown>[], import("./error.ts").PgBossError, never>;
91
+ }>> & {
92
+ readonly layer: import("effect/Layer").Layer<"@shivaedev/jobs/PgBossInspection", never, PgBoss>;
93
+ };
94
+ export type PgBossInspectionService = ReturnType<typeof inspectionReads> & Pick<PgBossService, "counts" | "deadLetteredJobs" | "failedJobs" | "getJob"> & {
95
+ readonly health: (queues: readonly {
96
+ readonly name: string;
97
+ }[]) => ReturnType<PgBossService["health"]>;
98
+ readonly changes: (queue?: {
99
+ readonly name: string;
100
+ }) => ReturnType<typeof inspectionChanges>;
101
+ };
102
+ //# sourceMappingURL=inspection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../src/server/inspection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAI/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;AAE/F,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS,aAAa;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;CACvE;AAED,eAAO,MAAM,gBAAgB;;;uBA4BiB,MAAM;;;;;;;;;;;;;;;;;;;;;;;uBADE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAJ1D,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,GACvE,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,kBAAkB,GAAG,YAAY,GAAG,QAAQ,CAAC,GAAG;IAC9E,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvG,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;CAC9F,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { Effect } from "effect";
2
+ import { defineService } from "@shivaedev/service/defineService.ts";
3
+ import { genericMethod } from "@shivaedev/service/genericMethod.ts";
4
+ import { inspection } from "#server/adapters/inspection.ts";
5
+ import { PgBoss } from "#server/PgBoss.ts";
6
+ export const PgBossInspection = defineService({
7
+ id: "@shivaedev/jobs/PgBossInspection",
8
+ initialize: Effect.gen(function* () {
9
+ const acquired = yield* PgBoss;
10
+ return yield* inspection(acquired.client, acquired.schema);
11
+ }),
12
+ methods: (service) => ({
13
+ busy: service.busy,
14
+ changes: service.changes,
15
+ counts: service.counts,
16
+ deadLetteredJobs: genericMethod(service.deadLetteredJobs),
17
+ deferred: service.deferred,
18
+ failedJobs: genericMethod(service.failedJobs),
19
+ getJob: genericMethod(service.getJob),
20
+ health: service.health,
21
+ jobs: genericMethod(service.jobs),
22
+ queue: service.queue,
23
+ schedules: service.schedules,
24
+ schemaVersion: service.schemaVersion,
25
+ snapshot: genericMethod(service.snapshot),
26
+ storedJobs: service.storedJobs,
27
+ }),
28
+ requires: [PgBoss],
29
+ });
30
+ //# sourceMappingURL=inspection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspection.js","sourceRoot":"","sources":["../../src/server/inspection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAI5D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAa3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;IAC7C,EAAE,EAAE,kCAAkC;IACtC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;QAC/B,OAAO,KAAK,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC,CAAC;IACF,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,gBAAgB,EAAE,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACzD,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;QAC7C,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;QACrC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzC,UAAU,EAAE,OAAO,CAAC,UAAU;KAC9B,CAAC;IACF,QAAQ,EAAE,CAAC,MAAM,CAAU;CAC3B,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ClientDatabase } from "#server/ClientDatabase.ts";
2
+ export declare const deferralChanges: WeakMap<ClientDatabase, () => void>;
3
+ //# sourceMappingURL=deferralChanges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deferralChanges.d.ts","sourceRoot":"","sources":["../../../../src/server/internal/adapters/deferralChanges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,eAAO,MAAM,eAAe,gCAAqC,IAAI,CAAG,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const deferralChanges = new WeakMap();
2
+ //# sourceMappingURL=deferralChanges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deferralChanges.js","sourceRoot":"","sources":["../../../../src/server/internal/adapters/deferralChanges.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,EAA8B,CAAC"}
@@ -1,7 +1,7 @@
1
- import type { EngineClient } from "#server/engineClient.ts";
1
+ import type { ClientDatabase } from "#server/ClientDatabase.ts";
2
2
  export interface TestingFetches {
3
3
  readonly begun: (queue: string) => number;
4
4
  readonly passedSince: (queue: string, begun: number) => number;
5
5
  }
6
- export declare function testingFetches(db: ReturnType<EngineClient["getDb"]>, changed: () => void): TestingFetches;
6
+ export declare function testingFetches(db: ClientDatabase, changed: () => void): TestingFetches;
7
7
  //# sourceMappingURL=testingFetches.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testingFetches.d.ts","sourceRoot":"","sources":["../../../../src/server/internal/adapters/testingFetches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAM5D,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,cAAc,CAwBzG"}
1
+ {"version":3,"file":"testingFetches.d.ts","sourceRoot":"","sources":["../../../../src/server/internal/adapters/testingFetches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAMhE,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,cAAc,CAwBtF"}
@@ -1 +1 @@
1
- {"version":3,"file":"testingFetches.js","sourceRoot":"","sources":["../../../../src/server/internal/adapters/testingFetches.ts"],"names":[],"mappings":"AAEA,2IAA2I;AAC3I,MAAM,KAAK,GAAG,gDAAgD,CAAC;AAC/D,MAAM,YAAY,GAAG,oCAAoC,CAAC;AAO1D,MAAM,UAAU,cAAc,CAAC,EAAqC,EAAE,OAAmB;IACxF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3C,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1C,EAAE,CAAC,UAAU,GAAG,KAAK,EAAE,IAAY,EAAE,MAAkB,EAAE,EAAE;QAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACpF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1B,IAAI,CAAC;YACJ,OAAO,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;gBAAS,CAAC;YACV,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACzC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;QACX,CAAC;IACF,CAAC,CAAC;IACF,OAAO;QACN,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QACvC,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,MAAM;KAClG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"testingFetches.js","sourceRoot":"","sources":["../../../../src/server/internal/adapters/testingFetches.ts"],"names":[],"mappings":"AAEA,2IAA2I;AAC3I,MAAM,KAAK,GAAG,gDAAgD,CAAC;AAC/D,MAAM,YAAY,GAAG,oCAAoC,CAAC;AAO1D,MAAM,UAAU,cAAc,CAAC,EAAkB,EAAE,OAAmB;IACrE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3C,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1C,EAAE,CAAC,UAAU,GAAG,KAAK,EAAE,IAAY,EAAE,MAAkB,EAAE,EAAE;QAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACpF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1B,IAAI,CAAC;YACJ,OAAO,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;gBAAS,CAAC;YACV,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACzC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;QACX,CAAC;IACF,CAAC,CAAC;IACF,OAAO;QACN,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QACvC,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,MAAM;KAClG,CAAC;AACH,CAAC"}
@@ -1,8 +1,6 @@
1
1
  import { Schema } from "effect";
2
- import type { PgBossClient } from "#server/client.ts";
3
2
  import type { WorkerJob } from "#server/job.ts";
4
3
  export declare const deferredAttempt: unique symbol;
5
- export declare const deferralObservers: WeakMap<PgBossClient, () => void>;
6
4
  export declare const STATELY_DEFERRAL_POLICY = "effect-stately-deferred";
7
5
  export declare const Deferral: Schema.Struct<{
8
6
  readonly at: Schema.String;
@@ -1 +1 @@
1
- {"version":3,"file":"deferral.d.ts","sourceRoot":"","sources":["../../../src/server/internal/deferral.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,eAAO,MAAM,eAAe,eAA4B,CAAC;AACzD,eAAO,MAAM,iBAAiB,8BAAmC,IAAI,CAAG,CAAC;AACzE,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAEjE,eAAO,MAAM,QAAQ;;;EAGnB,CAAC;AAIH,wBAAgB,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC;;;cAGjD"}
1
+ {"version":3,"file":"deferral.d.ts","sourceRoot":"","sources":["../../../src/server/internal/deferral.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,eAAO,MAAM,eAAe,eAA4B,CAAC;AACzD,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAEjE,eAAO,MAAM,QAAQ;;;EAGnB,CAAC;AAIH,wBAAgB,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC;;;cAGjD"}
@@ -1,6 +1,5 @@
1
1
  import { Schema } from "effect";
2
2
  export const deferredAttempt = Symbol("deferredAttempt");
3
- export const deferralObservers = new WeakMap();
4
3
  export const STATELY_DEFERRAL_POLICY = "effect-stately-deferred";
5
4
  export const Deferral = Schema.Struct({
6
5
  at: Schema.String,
@@ -1 +1 @@
1
- {"version":3,"file":"deferral.js","sourceRoot":"","sources":["../../../src/server/internal/deferral.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAA4B,CAAC;AACzE,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAEjE,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM;CACrB,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;AAExD,MAAM,UAAU,UAAU,CAAC,GAAuB;IACjD,MAAM,MAAM,GAAY,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"deferral.js","sourceRoot":"","sources":["../../../src/server/internal/deferral.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAEjE,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM;CACrB,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;AAExD,MAAM,UAAU,UAAU,CAAC,GAAuB;IACjD,MAAM,MAAM,GAAY,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACnE,CAAC"}
@@ -16,13 +16,8 @@ declare const JobEngine_base: Context.ServiceClass<JobEngine, "@shivaedev/jobs/J
16
16
  }>;
17
17
  export declare class JobEngine extends JobEngine_base {
18
18
  }
19
- export interface TestingSettlements {
20
- readonly close: Effect.Effect<void>;
21
- readonly watch: (name: string) => Effect.Effect<void, PgBossTestingError>;
22
- }
23
19
  declare const TestingEngine_base: Context.ServiceClass<TestingEngine, "@shivaedev/jobs/TestingEngine", {
24
20
  readonly expireAttempt: (job: JobAttempt, cause?: "expiry" | "heartbeat") => Effect.Effect<void, PgBossTestingError>;
25
- readonly observeSettlements: (settled: (name: string) => void) => Effect.Effect<TestingSettlements>;
26
21
  }>;
27
22
  export declare class TestingEngine extends TestingEngine_base {
28
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/server/internal/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3F,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC;AACvE,MAAM,MAAM,OAAO,GAAG,kBAAkB,GAAG,YAAY,CAAC;;qBAKrC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,EAAE,WAAW,CAAC;oBACjF,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC;uBAC5D,CAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC5C,KAAK,EAAE,MAAM,KACT,MAAM,CAAC,MAAM,CAAC,SAAS,OAAO,EAAE,EAAE,WAAW,CAAC;6BAC1B,CACxB,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,KAChB,MAAM,CAAC,MAAM,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,WAAW,CAAC;;AAhB5F,qBAAa,SAAU,SAAQ,cAkBC;CAAG;AAEnC,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;CAC1E;;4BAKyB,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC;iCACvF,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;;AAJrG,qBAAa,aAAc,SAAQ,kBAMC;CAAG"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/server/internal/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3F,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC;AACvE,MAAM,MAAM,OAAO,GAAG,kBAAkB,GAAG,YAAY,CAAC;;qBAKrC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,EAAE,WAAW,CAAC;oBACjF,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC;uBAC5D,CAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC5C,KAAK,EAAE,MAAM,KACT,MAAM,CAAC,MAAM,CAAC,SAAS,OAAO,EAAE,EAAE,WAAW,CAAC;6BAC1B,CACxB,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,KAChB,MAAM,CAAC,MAAM,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,WAAW,CAAC;;AAhB5F,qBAAa,SAAU,SAAQ,cAkBC;CAAG;;4BAKT,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC;;AAHtH,qBAAa,aAAc,SAAQ,kBAKC;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/server/internal/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,QAAQ,CAAC;AAS9C,MAAM,OAAO,SAAU,SAAQ,OAAO,CAAC,OAAO,EAkB3C,CAAC,2BAA2B,CAAC;CAAG;AAOnC,MAAM,OAAO,aAAc,SAAQ,OAAO,CAAC,OAAO,EAM/C,CAAC,+BAA+B,CAAC;CAAG"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/server/internal/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,QAAQ,CAAC;AAS9C,MAAM,OAAO,SAAU,SAAQ,OAAO,CAAC,OAAO,EAkB3C,CAAC,2BAA2B,CAAC;CAAG;AAEnC,MAAM,OAAO,aAAc,SAAQ,OAAO,CAAC,OAAO,EAK/C,CAAC,+BAA+B,CAAC;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"enqueueFor.d.ts","sourceRoot":"","sources":["../../../src/server/internal/enqueueFor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,CAuBzE"}
1
+ {"version":3,"file":"enqueueFor.d.ts","sourceRoot":"","sources":["../../../src/server/internal/enqueueFor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAYxD,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,CAuBzE"}
@@ -1,7 +1,17 @@
1
1
  import { Effect, Option, Redacted, Schema } from "effect";
2
+ import { payloadJobId, payloadKey } from "#server/adapters/payloadIdentity.ts";
2
3
  import { transactionDb } from "#server/adapters/transactionDb.ts";
3
4
  import { PgBossPayloadError, toPgBossError } from "#server/error.ts";
4
5
  import { capturePayload } from "#server/internal/tracing.ts";
6
+ function identityOptions(queue, payload, options) {
7
+ return queue.id === undefined && queue.key === undefined
8
+ ? options
9
+ : {
10
+ ...options,
11
+ ...(queue.id === undefined ? {} : { id: payloadJobId(queue.name, queue.id, payload) }),
12
+ ...(queue.key === undefined ? {} : { singletonKey: payloadKey(queue.key, payload) }),
13
+ };
14
+ }
5
15
  export function enqueueFor(client) {
6
16
  return (queue, payload, options) => Effect.gen(function* () {
7
17
  const encoded = yield* Schema.encodeUnknownEffect(Schema.toCodecJson(queue.schema))(payload).pipe(Effect.mapError((error) => new PgBossPayloadError({ direction: "encode", original: Redacted.make(error), queue: queue.name })));
@@ -14,7 +24,7 @@ export function enqueueFor(client) {
14
24
  }
15
25
  const data = yield* capturePayload(encoded);
16
26
  const db = yield* transactionDb;
17
- const sendOptions = queue.key === undefined ? options : { ...options, singletonKey: queue.key(payload) };
27
+ const sendOptions = identityOptions(queue, payload, options);
18
28
  const send = Effect.tryPromise({
19
29
  catch: (error) => toPgBossError("enqueue", error, queue.name),
20
30
  try: () => client.send(queue.name, data, db === undefined ? sendOptions : { ...sendOptions, db }),
@@ -1 +1 @@
1
- {"version":3,"file":"enqueueFor.js","sourceRoot":"","sources":["../../../src/server/internal/enqueueFor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,MAAM,UAAU,UAAU,CAAC,MAAoB;IAC9C,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAChG,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAC9H,CAAC;QACF,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC,CAAC,IAAI,kBAAkB,CAAC;gBACpC,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;gBACjF,KAAK,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC;QAChC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACzG,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;YAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;YAC7D,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,EAAE,EAAE,CAAC;SACjG,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"enqueueFor.js","sourceRoot":"","sources":["../../../src/server/internal/enqueueFor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"jobStorePlans.d.ts","sourceRoot":"","sources":["../../../src/server/internal/jobStorePlans.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAE/D"}
1
+ {"version":3,"file":"jobStorePlans.d.ts","sourceRoot":"","sources":["../../../src/server/internal/jobStorePlans.ts"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAE/D"}
@@ -1,6 +1,7 @@
1
+ import { inspectionPlan } from "#server/adapters/inspectionPlan.ts";
1
2
  import { deadLetterResolutionPlan } from "#server/internal/deadLetterResolutionPlan.ts";
2
3
  import { deferralStorePlan } from "#server/internal/deferralStorePlan.ts";
3
4
  export function jobStorePlans(schema) {
4
- return [deferralStorePlan(schema), deadLetterResolutionPlan(schema)];
5
+ return [deferralStorePlan(schema), deadLetterResolutionPlan(schema), inspectionPlan(schema)];
5
6
  }
6
7
  //# sourceMappingURL=jobStorePlans.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobStorePlans.js","sourceRoot":"","sources":["../../../src/server/internal/jobStorePlans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,MAAM,UAAU,aAAa,CAAC,MAAc;IAC3C,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"jobStorePlans.js","sourceRoot":"","sources":["../../../src/server/internal/jobStorePlans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,MAAM,UAAU,aAAa,CAAC,MAAc;IAC3C,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"makeService.d.ts","sourceRoot":"","sources":["../../../src/server/internal/makeService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAKvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,eAAO,MAAM,WAAW,kHAgBtB,CAAC"}
1
+ {"version":3,"file":"makeService.d.ts","sourceRoot":"","sources":["../../../src/server/internal/makeService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,eAAO,MAAM,WAAW,kHAmBtB,CAAC"}
@@ -1,19 +1,20 @@
1
1
  import { Effect } from "effect";
2
- import { countsFor } from "#server/internal/countsFor.ts";
2
+ import { inspection } from "#server/adapters/inspection.ts";
3
3
  import { JobEngine } from "#server/internal/engine.ts";
4
4
  import { enqueueFor } from "#server/internal/enqueueFor.ts";
5
- import { healthFor } from "#server/internal/healthFor.ts";
6
5
  import { jobControl } from "#server/internal/jobControl.ts";
7
- import { jobListings } from "#server/internal/jobListings.ts";
8
6
  export const makeService = Effect.fnUntraced(function* (client, names, schema = "pgboss") {
9
7
  const engine = yield* JobEngine;
8
+ const reads = yield* inspection(client, schema);
10
9
  return {
11
- counts: (queue) => countsFor(client, schema, queue.name),
10
+ counts: (queue) => reads.counts(queue),
11
+ deadLetteredJobs: reads.deadLetteredJobs,
12
12
  deleteQueue: engine.deleteQueue,
13
- ...(yield* jobListings),
14
13
  enqueue: enqueueFor(client),
14
+ failedJobs: reads.failedJobs,
15
+ inspection: () => Effect.succeed(reads),
15
16
  ...(yield* jobControl),
16
- health: (queues) => healthFor(client, queues === undefined ? names : queues.map((queue) => queue.name)),
17
+ health: (queues) => reads.health(queues ?? names.map((name) => ({ name }))),
17
18
  refreshQueueStats: engine.refreshQueueStats,
18
19
  unschedule: engine.unschedule,
19
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"makeService.js","sourceRoot":"","sources":["../../../src/server/internal/makeService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EACrD,MAAoB,EACpB,KAAwB,EACxB,MAAM,GAAG,QAAQ;IAEjB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC;IAChC,OAAO;QACN,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;QACxD,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,GAAG,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;QACvB,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;QACtB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvG,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,UAAU,EAAE,MAAM,CAAC,UAAU;KAC7B,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"makeService.js","sourceRoot":"","sources":["../../../src/server/internal/makeService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EACrD,MAAoB,EACpB,KAAwB,EACxB,MAAM,GAAG,QAAQ;IAEjB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,OAAO;QACN,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC;QAC3B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QACvC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;QACtB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3E,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,UAAU,EAAE,MAAM,CAAC,UAAU;KAC7B,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/server/internal/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAoB,eAAe,EAAqE,MAAM,uBAAuB,CAAC;AAClJ,OAAO,EAAE,uBAAuB,EAAiB,MAAM,kBAAkB,CAAC;AAe1E,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,eAAe,GAAG,MAAM,CAEtE;AAkED,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,MAAM,EAAE,CAM9F;AAED,eAAO,MAAM,YAAY,GAAgC,CAAC,kUAyBxD,CAAC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/server/internal/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAoB,eAAe,EAAqE,MAAM,uBAAuB,CAAC;AAClJ,OAAO,EAAE,uBAAuB,EAAiB,MAAM,kBAAkB,CAAC;AAc1E,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,eAAe,GAAG,MAAM,CAEtE;AAkED,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,MAAM,EAAE,CAM9F;AAED,eAAO,MAAM,YAAY,GAAgC,CAAC,kUAsBxD,CAAC"}
@@ -4,7 +4,6 @@ import { workerDiagnostics } from "#server/adapters/workerDiagnostics.ts";
4
4
  import { PgBossQueueOptionsError, toPgBossError } from "#server/error.ts";
5
5
  import { ensureQueue } from "#server/internal/ensureQueue.ts";
6
6
  import { runQueueWorker } from "#server/internal/runQueueWorker.ts";
7
- import { registerTestingQueue } from "#server/internal/testingRegistrations.ts";
8
7
  function registrationDefinition(registration) {
9
8
  if (registration._tag === "QueueDefinition") {
10
9
  return registration;
@@ -55,9 +54,6 @@ export const registerJobs = Effect.fnUntraced(function* (client, registrations,
55
54
  const scope = yield* Scope.fork(yield* Effect.scope, "parallel");
56
55
  yield* Effect.try({ catch: (error) => toPgBossError("register", error), try: () => registrationNames(registrations) });
57
56
  yield* prepareQueues(client, registrations, replaceWorkers);
58
- for (const registration of registrations) {
59
- registerTestingQueue(client, registrationName(registration));
60
- }
61
57
  if (!startWorkers) {
62
58
  return;
63
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/server/internal/register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/server/internal/register.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { Effect } from "effect";
2
- import type { EngineClient } from "#server/engineClient.ts";
3
2
  import type { PgBossTestingError } from "#server/error.ts";
3
+ import type { PgBossInspectionService } from "#server/inspection.ts";
4
4
  export interface TestingBatch {
5
+ readonly jobs: ReadonlyMap<string, number>;
5
6
  readonly name: string;
6
7
  settled: boolean;
7
8
  }
@@ -9,8 +10,8 @@ export interface TestingWork {
9
10
  readonly batches: Set<TestingBatch>;
10
11
  readonly queues: Set<string>;
11
12
  }
12
- export declare function testingIdle(client: () => EngineClient, schema: () => string, work: TestingWork, signal: {
13
+ export declare function testingIdle(inspection: () => PgBossInspectionService, work: TestingWork, signal: {
13
14
  readonly revision: Effect.Effect<number>;
14
15
  readonly waitForChange: (after: number) => Effect.Effect<number>;
15
- }): Effect.Effect<void, PgBossTestingError>;
16
+ }, wake?: Effect.Effect<void>): Effect.Effect<void, PgBossTestingError>;
16
17
  //# sourceMappingURL=testingIdle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testingIdle.d.ts","sourceRoot":"","sources":["../../../src/server/internal/testingIdle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAU,MAAM,QAAQ,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAI3D,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC7B;AAID,wBAAgB,WAAW,CAC1B,MAAM,EAAE,MAAM,YAAY,EAC1B,MAAM,EAAE,MAAM,MAAM,EACpB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;CAAE,GACpH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAiCzC"}
1
+ {"version":3,"file":"testingIdle.d.ts","sourceRoot":"","sources":["../../../src/server/internal/testingIdle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGrE,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED,wBAAgB,WAAW,CAC1B,UAAU,EAAE,MAAM,uBAAuB,EACzC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;CAAE,EACtH,IAAI,GAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAe,GACrC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAczC"}
@@ -1,21 +1,7 @@
1
- import { Clock, Effect, Schema } from "effect";
2
- import { quotedSchema } from "#server/internal/storedRows.ts";
3
- import { testingOperation } from "#server/internal/testingReadout.ts";
4
- const Busy = Schema.Struct({ busy: Schema.Boolean });
5
- export function testingIdle(client, schema, work, signal) {
6
- const busy = testingOperation("waitForIdle", async () => {
7
- const quoted = quotedSchema(schema());
8
- const { rows } = await client()
9
- .getDb()
10
- .executeSql(`/* jobs testing idle */ SELECT EXISTS (
11
- SELECT 1 FROM ${quoted}.job
12
- WHERE name = ANY($1::text[]) AND (
13
- (state < 'active' AND NOT blocked AND start_after <= ${quoted}.job_now())
14
- OR state = 'active'
15
- )
16
- ) AS busy`, [[...work.queues]]);
17
- return (await Schema.decodeUnknownPromise(Busy)(rows[0])).busy;
18
- });
1
+ import { Effect } from "effect";
2
+ import { testingInspection } from "#server/internal/testingOperation.ts";
3
+ export function testingIdle(inspection, work, signal, wake = Effect.void) {
4
+ const busy = Effect.suspend(() => testingInspection("waitForIdle", inspection().busy([...work.queues].map((name) => ({ name })))));
19
5
  return Effect.gen(function* () {
20
6
  while (true) {
21
7
  const revision = yield* signal.revision;
@@ -24,14 +10,9 @@ export function testingIdle(client, schema, work, signal) {
24
10
  if (work.queues.size === 0 || !(unsettled || (yield* busy))) {
25
11
  return;
26
12
  }
27
- if (unsettled) {
28
- yield* signal.waitForChange(revision);
29
- }
30
- else {
31
- // Other clients have no local callback; PostgreSQL remains the source of idle state.
32
- yield* Effect.raceFirst(signal.waitForChange(revision), Effect.sleep("50 millis"));
33
- }
13
+ yield* wake;
14
+ yield* signal.waitForChange(revision);
34
15
  }
35
- }).pipe(Effect.provideService(Clock.Clock, Clock.Clock.defaultValue()));
16
+ });
36
17
  }
37
18
  //# sourceMappingURL=testingIdle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testingIdle.js","sourceRoot":"","sources":["../../../src/server/internal/testingIdle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAYtE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AAErD,MAAM,UAAU,WAAW,CAC1B,MAA0B,EAC1B,MAAoB,EACpB,IAAiB,EACjB,MAAsH;IAEtH,MAAM,IAAI,GAAG,gBAAgB,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,EAAE;aAC7B,KAAK,EAAE;aACP,UAAU,CACV;qBACiB,MAAM;;6DAEkC,MAAM;;;cAGrD,EACV,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAClB,CAAC;QACH,OAAO,CAAC,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC1B,OAAO,IAAI,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;YACxC,oGAAoG;YACpG,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC7D,OAAO;YACR,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACf,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACP,qFAAqF;gBACrF,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YACpF,CAAC;QACF,CAAC;IACF,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"testingIdle.js","sourceRoot":"","sources":["../../../src/server/internal/testingIdle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAazE,MAAM,UAAU,WAAW,CAC1B,UAAyC,EACzC,IAAiB,EACjB,MAAsH,EACtH,IAAI,GAAwB,MAAM,CAAC,IAAI;IAEvC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnI,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC1B,OAAO,IAAI,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;YACxC,oGAAoG;YACpG,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC7D,OAAO;YACR,CAAC;YACD,KAAK,CAAC,CAAC,IAAI,CAAC;YACZ,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Effect } from "effect";
2
+ import { PgBossError, PgBossTestingError } from "#server/error.ts";
3
+ export declare function testingOperation<A>(operation: string, run: () => Promise<A>, queue?: string): Effect.Effect<A, PgBossTestingError, never>;
4
+ export declare function testingInspection<A, E, R>(operation: string, effect: Effect.Effect<A, E | PgBossError, R>, queue?: string): Effect.Effect<A, PgBossTestingError | Exclude<E, PgBossError>, R>;
5
+ //# sourceMappingURL=testingOperation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testingOperation.d.ts","sourceRoot":"","sources":["../../../src/server/internal/testingOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,+CAK3F;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,qEAOzH"}
@@ -0,0 +1,12 @@
1
+ import { Effect, Redacted } from "effect";
2
+ import { PgBossError, PgBossTestingError } from "#server/error.ts";
3
+ export function testingOperation(operation, run, queue) {
4
+ return Effect.tryPromise({
5
+ catch: (original) => new PgBossTestingError({ operation, original: Redacted.make(original), queue }),
6
+ try: run,
7
+ });
8
+ }
9
+ export function testingInspection(operation, effect, queue) {
10
+ return effect.pipe(Effect.catchIf((error) => error instanceof PgBossError, (error) => Effect.fail(new PgBossTestingError({ operation, original: error.original, queue: queue ?? error.queue }))));
11
+ }
12
+ //# sourceMappingURL=testingOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testingOperation.js","sourceRoot":"","sources":["../../../src/server/internal/testingOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,MAAM,UAAU,gBAAgB,CAAI,SAAiB,EAAE,GAAqB,EAAE,KAAc;IAC3F,OAAO,MAAM,CAAC,UAAU,CAAC;QACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;QACpG,GAAG,EAAE,GAAG;KACR,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAU,SAAiB,EAAE,MAA4C,EAAE,KAAc;IACzH,OAAO,MAAM,CAAC,IAAI,CACjB,MAAM,CAAC,OAAO,CACb,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,YAAY,WAAW,EAC7D,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CACpH,CACD,CAAC;AACH,CAAC"}
@@ -1,11 +1,14 @@
1
+ import { Effect } from "effect";
2
+ import type { PgBossClient } from "#server/client.ts";
1
3
  import type { ScheduleDefinition } from "#server/definition.ts";
2
- import type { EngineClient } from "#server/engineClient.ts";
3
- export declare function testingSchedules(client: () => EngineClient, changed: () => void): {
4
- schedules: () => import("effect/Effect").Effect<{
4
+ import { PgBossTestingError } from "#server/error.ts";
5
+ import type { PgBossInspectionService } from "#server/inspection.ts";
6
+ export declare function testingSchedules(client: () => PgBossClient, inspection: () => PgBossInspectionService): {
7
+ schedules: () => Effect.Effect<{
5
8
  cron: string;
6
9
  name: string;
7
10
  timezone: string;
8
- }[], import("../error.ts").PgBossTestingError, never>;
9
- trigger: (schedule: Pick<ScheduleDefinition, "name" | "scheduleOptions">) => import("effect/Effect").Effect<void, import("../error.ts").PgBossTestingError, never>;
11
+ }[], PgBossTestingError, never>;
12
+ trigger: (schedule: Pick<ScheduleDefinition, "name" | "scheduleOptions">) => Effect.Effect<string | null, PgBossTestingError, never>;
10
13
  };
11
14
  //# sourceMappingURL=testingSchedules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testingSchedules.d.ts","sourceRoot":"","sources":["../../../src/server/internal/testingSchedules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,YAAY,EAAE,OAAO,EAAE,MAAM,IAAI;IAE9E,SAAS;;;;;IAET,OAAO,aAAa,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,iBAAiB,CAAC;EAczE"}
1
+ {"version":3,"file":"testingSchedules.d.ts","sourceRoot":"","sources":["../../../src/server/internal/testingSchedules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGrE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB;IAEpG,SAAS;;;;;IAIT,OAAO,aAAa,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,iBAAiB,CAAC;EAqBzE"}
@@ -1,15 +1,20 @@
1
- import { testingOperation } from "#server/internal/testingReadout.ts";
2
- export function testingSchedules(client, changed) {
1
+ import { Effect, Redacted } from "effect";
2
+ import { PgBossTestingError } from "#server/error.ts";
3
+ import { testingInspection, testingOperation } from "#server/internal/testingOperation.ts";
4
+ export function testingSchedules(client, inspection) {
3
5
  return {
4
- schedules: () => testingOperation("schedules", async () => (await client().getSchedules()).map(({ name, cron, timezone }) => ({ cron, name, timezone }))),
5
- trigger: (schedule) => testingOperation("trigger", async () => {
6
- const [registered] = await client().getSchedules(schedule.name, schedule.scheduleOptions.key ?? "");
6
+ schedules: () => Effect.suspend(() => testingInspection("schedules", inspection().schedules())).pipe(Effect.map((schedules) => schedules.map(({ name, cron, timezone }) => ({ cron, name, timezone })))),
7
+ trigger: (schedule) => Effect.gen(function* () {
8
+ const [registered] = yield* testingInspection("trigger", inspection().schedules(schedule.name, schedule.scheduleOptions.key ?? ""), schedule.name);
7
9
  if (registered === undefined) {
8
- throw new Error("Schedule is not registered");
10
+ return yield* new PgBossTestingError({
11
+ operation: "trigger",
12
+ original: Redacted.make(new Error("Schedule is not registered")),
13
+ queue: schedule.name,
14
+ });
9
15
  }
10
- await client().send(registered.name, registered.data, { ...registered.options, startAfter: 0 });
11
- changed();
12
- }, schedule.name),
16
+ return yield* testingOperation("trigger", () => client().send(registered.name, registered.data, { ...registered.options, startAfter: 0 }), schedule.name);
17
+ }),
13
18
  };
14
19
  }
15
20
  //# sourceMappingURL=testingSchedules.js.map