duron 0.3.0-beta.10 → 0.3.0-beta.11

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 (60) hide show
  1. package/dist/action-job.d.ts +31 -0
  2. package/dist/action-job.d.ts.map +1 -1
  3. package/dist/action-job.js +59 -0
  4. package/dist/action-manager.d.ts +42 -0
  5. package/dist/action-manager.d.ts.map +1 -1
  6. package/dist/action-manager.js +61 -0
  7. package/dist/action.d.ts +143 -0
  8. package/dist/action.d.ts.map +1 -1
  9. package/dist/action.js +131 -0
  10. package/dist/adapters/adapter.d.ts +359 -0
  11. package/dist/adapters/adapter.d.ts.map +1 -1
  12. package/dist/adapters/adapter.js +208 -0
  13. package/dist/adapters/postgres/base.d.ts +166 -0
  14. package/dist/adapters/postgres/base.d.ts.map +1 -1
  15. package/dist/adapters/postgres/base.js +268 -17
  16. package/dist/adapters/postgres/pglite.d.ts +37 -0
  17. package/dist/adapters/postgres/pglite.d.ts.map +1 -1
  18. package/dist/adapters/postgres/pglite.js +38 -0
  19. package/dist/adapters/postgres/postgres.d.ts +35 -0
  20. package/dist/adapters/postgres/postgres.d.ts.map +1 -1
  21. package/dist/adapters/postgres/postgres.js +42 -0
  22. package/dist/adapters/postgres/schema.js +11 -1
  23. package/dist/adapters/schemas.d.ts +9 -0
  24. package/dist/adapters/schemas.d.ts.map +1 -1
  25. package/dist/adapters/schemas.js +73 -1
  26. package/dist/client.d.ts +224 -0
  27. package/dist/client.d.ts.map +1 -1
  28. package/dist/client.js +311 -1
  29. package/dist/constants.js +6 -0
  30. package/dist/errors.d.ts +119 -0
  31. package/dist/errors.d.ts.map +1 -1
  32. package/dist/errors.js +111 -0
  33. package/dist/server.d.ts +44 -0
  34. package/dist/server.d.ts.map +1 -1
  35. package/dist/server.js +56 -0
  36. package/dist/step-manager.d.ts +83 -0
  37. package/dist/step-manager.d.ts.map +1 -1
  38. package/dist/step-manager.js +237 -5
  39. package/dist/telemetry/adapter.d.ts +322 -0
  40. package/dist/telemetry/adapter.d.ts.map +1 -1
  41. package/dist/telemetry/adapter.js +145 -0
  42. package/dist/telemetry/index.js +1 -0
  43. package/dist/telemetry/local.d.ts +48 -0
  44. package/dist/telemetry/local.d.ts.map +1 -1
  45. package/dist/telemetry/local.js +102 -0
  46. package/dist/telemetry/noop.d.ts +10 -0
  47. package/dist/telemetry/noop.d.ts.map +1 -1
  48. package/dist/telemetry/noop.js +43 -0
  49. package/dist/telemetry/opentelemetry.d.ts +23 -0
  50. package/dist/telemetry/opentelemetry.d.ts.map +1 -1
  51. package/dist/telemetry/opentelemetry.js +39 -0
  52. package/dist/utils/p-retry.d.ts +5 -0
  53. package/dist/utils/p-retry.d.ts.map +1 -1
  54. package/dist/utils/p-retry.js +8 -0
  55. package/dist/utils/wait-for-abort.d.ts +1 -0
  56. package/dist/utils/wait-for-abort.d.ts.map +1 -1
  57. package/dist/utils/wait-for-abort.js +1 -0
  58. package/package.json +1 -1
  59. package/src/adapters/postgres/base.ts +40 -17
  60. package/src/adapters/schemas.ts +11 -1
package/dist/action.js CHANGED
@@ -1,32 +1,104 @@
1
1
  import * as z from 'zod';
2
2
  import generateChecksum from './utils/checksum.js';
3
+ /**
4
+ * Retry configuration options for actions and steps.
5
+ */
3
6
  export const RetryOptionsSchema = z
4
7
  .object({
8
+ /**
9
+ * Maximum number of retry attempts.
10
+ *
11
+ * @default 4
12
+ */
5
13
  limit: z.number().default(4),
14
+ /**
15
+ * Exponential backoff factor.
16
+ * The delay between retries is calculated as: minTimeout * (factor ^ attemptNumber)
17
+ *
18
+ * @default 2
19
+ */
6
20
  factor: z.number().default(2),
21
+ /**
22
+ * Minimum delay in milliseconds before the first retry.
23
+ *
24
+ * @default 1000
25
+ */
7
26
  minTimeout: z.number().default(1000),
27
+ /**
28
+ * Maximum delay in milliseconds between retries.
29
+ * The calculated delay will be capped at this value.
30
+ *
31
+ * @default 30000
32
+ */
8
33
  maxTimeout: z.number().default(30000),
9
34
  })
10
35
  .default({ limit: 4, factor: 2, minTimeout: 1000, maxTimeout: 30000 })
11
36
  .describe('The retry options');
37
+ /**
38
+ * Options for configuring a step within an action.
39
+ */
12
40
  export const StepOptionsSchema = z.object({
41
+ /**
42
+ * Retry configuration for this step.
43
+ * If not provided, uses the default retry options from the action or Duron instance.
44
+ */
13
45
  retry: RetryOptionsSchema,
46
+ /**
47
+ * Timeout in milliseconds for this step.
48
+ * Steps that exceed this timeout will be cancelled.
49
+ *
50
+ * @default 300000 (5 minutes)
51
+ */
14
52
  expire: z
15
53
  .number()
16
54
  .default(5 * 60 * 1000)
17
55
  .describe('The expire time for the step (milliseconds)'),
56
+ /**
57
+ * Whether this step runs in parallel with siblings.
58
+ * Parallel steps are independent from siblings during time travel.
59
+ * When time traveling to a step, completed parallel siblings are preserved.
60
+ *
61
+ * @default false
62
+ */
18
63
  parallel: z.boolean().default(false).describe('Whether this step runs in parallel (independent from siblings)'),
19
64
  });
65
+ /**
66
+ * Creates a Zod schema for validating action definitions.
67
+ *
68
+ * @template TInput - Zod schema for the action input
69
+ * @template TOutput - Zod schema for the action output
70
+ * @template TVariables - Type of variables available to the action
71
+ * @returns Zod schema for action definitions
72
+ */
20
73
  export function createActionDefinitionSchema() {
21
74
  return z
22
75
  .object({
76
+ /**
77
+ * Unique name for this action.
78
+ * Used as the queue name and must be unique across all actions.
79
+ * Required.
80
+ */
23
81
  name: z.string().describe('The name of the action'),
82
+ /**
83
+ * Version of the action.
84
+ * Used to track changes to the action and generate the checksum.
85
+ */
24
86
  version: z.string().describe('The version of the action').optional(),
87
+ /**
88
+ * Zod schema for validating the action input.
89
+ * If provided, input will be validated before the handler is called.
90
+ * If not provided, any input will be accepted.
91
+ */
25
92
  input: z
26
93
  .custom((val) => {
27
94
  return !val || ('_zod' in val && 'type' in val && val.type === 'object');
28
95
  })
29
96
  .optional(),
97
+ /**
98
+ * Zod schema for validating the action output.
99
+ * If provided, output will be validated after the handler completes.
100
+ * If not provided, any output will be accepted.
101
+ */
30
102
  output: z
31
103
  .custom((val) => {
32
104
  return !val || ('_zod' in val && 'type' in val && val.type === 'object');
@@ -34,11 +106,28 @@ export function createActionDefinitionSchema() {
34
106
  .optional(),
35
107
  groups: z
36
108
  .object({
109
+ /**
110
+ * Function to determine the group key for a job.
111
+ * Jobs with the same group key will respect the group concurrency limit.
112
+ * If not provided, all jobs for this action will use the '@default' group key.
113
+ *
114
+ * @param ctx - Context containing the input and variables
115
+ * @returns Promise resolving to the group key string
116
+ */
37
117
  groupKey: z
38
118
  .custom((val) => {
39
119
  return !val || val instanceof Function;
40
120
  })
41
121
  .optional(),
122
+ /**
123
+ * Function to determine the concurrency limit for a job.
124
+ * The concurrency limit is stored with each job and used during fetch operations.
125
+ * When fetching jobs, the latest job's concurrency limit is used for each groupKey.
126
+ * If not provided, defaults to 10.
127
+ *
128
+ * @param ctx - Context containing the input and variables
129
+ * @returns Promise resolving to the concurrency limit number
130
+ */
42
131
  concurrency: z
43
132
  .custom((val) => {
44
133
  return !val || val instanceof Function;
@@ -48,6 +137,12 @@ export function createActionDefinitionSchema() {
48
137
  .optional(),
49
138
  steps: z
50
139
  .object({
140
+ /**
141
+ * Function to determine the concurrency limit for a step.
142
+ * The concurrency limit is stored with each step and used during fetch operations.
143
+ * When fetching steps, the latest step's concurrency limit is used for each stepKey.
144
+ * If not provided, defaults to 100.
145
+ */
51
146
  concurrency: z.number().default(100).describe('How many steps can run concurrently for this action'),
52
147
  retry: RetryOptionsSchema.describe('How to retry on failure for the steps of this action'),
53
148
  expire: z
@@ -65,6 +160,15 @@ export function createActionDefinitionSchema() {
65
160
  .number()
66
161
  .default(15 * 60 * 1000)
67
162
  .describe('How long a job can run for (milliseconds)'),
163
+ /**
164
+ * The handler function that executes the action logic.
165
+ * Receives a context object with input, variables, and a step function.
166
+ * Must return a Promise that resolves to the action output.
167
+ * Required.
168
+ *
169
+ * @param ctx - Action handler context
170
+ * @returns Promise resolving to the action output
171
+ */
68
172
  handler: z
69
173
  .custom((val) => {
70
174
  return val instanceof Function;
@@ -86,6 +190,33 @@ export const defineAction = () => {
86
190
  });
87
191
  };
88
192
  };
193
+ /**
194
+ * Creates a reusable step definition that can be executed within action handlers.
195
+ *
196
+ * @template TVariables - Type of variables available to the step handler
197
+ * @returns A curried function that accepts the step definition and returns a StepDefinition
198
+ *
199
+ * @example
200
+ * ```typescript
201
+ * const sendEmailStep = createStep<typeof variables>()({
202
+ * name: 'send-email',
203
+ * input: z.object({
204
+ * email: z.string().email(),
205
+ * body: z.string(),
206
+ * }),
207
+ * retry: { limit: 3 },
208
+ * expire: 60000,
209
+ * handler: async (ctx) => {
210
+ * // ctx.input is typed as { email: string, body: string }
211
+ * // ctx.var, ctx.logger, ctx.jobId are also available
212
+ * return { success: true }
213
+ * },
214
+ * })
215
+ *
216
+ * // In an action handler:
217
+ * const result = await ctx.run(sendEmailStep, { email: 'test@example.com', body: 'Hello' })
218
+ * ```
219
+ */
89
220
  export const createStep = () => {
90
221
  return (def) => {
91
222
  return {
@@ -35,66 +35,425 @@ export interface AdapterEvents {
35
35
  }
36
36
  ];
37
37
  }
38
+ /**
39
+ * Abstract base class for database adapters.
40
+ * All adapters must extend this class and implement its abstract methods.
41
+ */
38
42
  export declare abstract class Adapter extends EventEmitter<AdapterEvents> {
39
43
  #private;
44
+ /**
45
+ * Start the adapter.
46
+ * Performs any necessary initialization, such as running migrations or setting up listeners.
47
+ *
48
+ * @returns Promise resolving to `true` if started successfully, `false` otherwise
49
+ */
40
50
  start(): Promise<boolean>;
51
+ /**
52
+ * Stop the adapter.
53
+ * Performs cleanup, such as closing database connections.
54
+ *
55
+ * @returns Promise resolving to `true` if stopped successfully, `false` otherwise
56
+ */
41
57
  stop(): Promise<boolean>;
58
+ /**
59
+ * Set the unique identifier for this adapter instance.
60
+ * Used for multi-process coordination and job ownership.
61
+ *
62
+ * @param id - The unique identifier for this adapter instance
63
+ */
42
64
  setId(id: string): void;
65
+ /**
66
+ * Set the logger instance for this adapter.
67
+ *
68
+ * @param logger - The logger instance to use for logging
69
+ */
43
70
  setLogger(logger: Logger): void;
71
+ /**
72
+ * Get the unique identifier for this adapter instance.
73
+ *
74
+ * @returns The unique identifier for this adapter instance
75
+ */
44
76
  get id(): string;
77
+ /**
78
+ * Get the logger instance for this adapter.
79
+ *
80
+ * @returns The logger instance, or `null` if not set
81
+ */
45
82
  get logger(): Logger | null;
83
+ /**
84
+ * Create a new job in the database.
85
+ *
86
+ * @returns Promise resolving to the job ID, or `null` if creation failed
87
+ */
46
88
  createJob(options: CreateJobOptions): Promise<string | null>;
89
+ /**
90
+ * Mark a job as completed.
91
+ *
92
+ * @returns Promise resolving to `true` if completed, `false` otherwise
93
+ */
47
94
  completeJob(options: CompleteJobOptions): Promise<boolean>;
95
+ /**
96
+ * Mark a job as failed.
97
+ *
98
+ * @returns Promise resolving to `true` if failed, `false` otherwise
99
+ */
48
100
  failJob(options: FailJobOptions): Promise<boolean>;
101
+ /**
102
+ * Cancel a job.
103
+ *
104
+ * @returns Promise resolving to `true` if cancelled, `false` otherwise
105
+ */
49
106
  cancelJob(options: CancelJobOptions): Promise<boolean>;
107
+ /**
108
+ * Retry a failed job by creating a copy of it with status 'created' and cleared output/error.
109
+ *
110
+ * @returns Promise resolving to the job ID, or `null` if creation failed
111
+ */
50
112
  retryJob(options: RetryJobOptions): Promise<string | null>;
113
+ /**
114
+ * Time travel a job to restart from a specific step.
115
+ * The job must be in completed, failed, or cancelled status.
116
+ * Resets the job and ancestor steps to active status, deletes subsequent steps,
117
+ * and preserves completed parallel siblings.
118
+ *
119
+ * @returns Promise resolving to `true` if time travel succeeded, `false` otherwise
120
+ */
51
121
  timeTravelJob(options: TimeTravelJobOptions): Promise<boolean>;
122
+ /**
123
+ * Delete a job by its ID.
124
+ * Active jobs cannot be deleted.
125
+ *
126
+ * @returns Promise resolving to `true` if deleted, `false` otherwise
127
+ */
52
128
  deleteJob(options: DeleteJobOptions): Promise<boolean>;
129
+ /**
130
+ * Delete multiple jobs using the same filters as getJobs.
131
+ * Active jobs cannot be deleted and will be excluded from deletion.
132
+ *
133
+ * @returns Promise resolving to the number of jobs deleted
134
+ */
53
135
  deleteJobs(options?: DeleteJobsOptions): Promise<number>;
136
+ /**
137
+ * Fetch jobs from the database respecting concurrency limits per group.
138
+ *
139
+ * @returns Promise resolving to an array of fetched jobs
140
+ */
54
141
  fetch(options: FetchOptions): Promise<Job[]>;
142
+ /**
143
+ * Recover stuck jobs (jobs that were active but the process that owned them is no longer running).
144
+ *
145
+ * @returns Promise resolving to the number of jobs recovered
146
+ */
55
147
  recoverJobs(options: RecoverJobsOptions): Promise<number>;
148
+ /**
149
+ * Create or recover a job step by creating or resetting a step record in the database.
150
+ *
151
+ * @returns Promise resolving to the step, or `null` if creation failed
152
+ */
56
153
  createOrRecoverJobStep(options: CreateOrRecoverJobStepOptions): Promise<CreateOrRecoverJobStepResult | null>;
154
+ /**
155
+ * Mark a job step as completed.
156
+ *
157
+ * @returns Promise resolving to `true` if completed, `false` otherwise
158
+ */
57
159
  completeJobStep(options: CompleteJobStepOptions): Promise<boolean>;
160
+ /**
161
+ * Mark a job step as failed.
162
+ *
163
+ * @returns Promise resolving to `true` if failed, `false` otherwise
164
+ */
58
165
  failJobStep(options: FailJobStepOptions): Promise<boolean>;
166
+ /**
167
+ * Delay a job step.
168
+ *
169
+ * @returns Promise resolving to `true` if delayed, `false` otherwise
170
+ */
59
171
  delayJobStep(options: DelayJobStepOptions): Promise<boolean>;
172
+ /**
173
+ * Cancel a job step.
174
+ *
175
+ * @returns Promise resolving to `true` if cancelled, `false` otherwise
176
+ */
60
177
  cancelJobStep(options: CancelJobStepOptions): Promise<boolean>;
178
+ /**
179
+ * Internal method to create a new job in the database.
180
+ *
181
+ * @param options - Validated job creation options
182
+ * @returns Promise resolving to the job ID, or `null` if creation failed
183
+ */
61
184
  protected abstract _createJob(options: CreateJobOptions): Promise<string | null>;
185
+ /**
186
+ * Internal method to mark a job as completed.
187
+ *
188
+ * @param options - Validated job completion options
189
+ * @returns Promise resolving to `true` if completed, `false` otherwise
190
+ */
62
191
  protected abstract _completeJob(options: CompleteJobOptions): Promise<boolean>;
192
+ /**
193
+ * Internal method to mark a job as failed.
194
+ *
195
+ * @param options - Validated job failure options
196
+ * @returns Promise resolving to `true` if failed, `false` otherwise
197
+ */
63
198
  protected abstract _failJob(options: FailJobOptions): Promise<boolean>;
199
+ /**
200
+ * Internal method to cancel a job.
201
+ *
202
+ * @param options - Validated job cancellation options
203
+ * @returns Promise resolving to `true` if cancelled, `false` otherwise
204
+ */
64
205
  protected abstract _cancelJob(options: CancelJobOptions): Promise<boolean>;
206
+ /**
207
+ * Internal method to retry a failed job by creating a copy of it with status 'created' and cleared output/error.
208
+ *
209
+ * @param options - Validated job retry options
210
+ * @returns Promise resolving to the job ID, or `null` if creation failed
211
+ */
65
212
  protected abstract _retryJob(options: RetryJobOptions): Promise<string | null>;
213
+ /**
214
+ * Internal method to time travel a job to restart from a specific step.
215
+ * The job must be in completed, failed, or cancelled status.
216
+ * Resets the job and ancestor steps to active status, deletes subsequent steps,
217
+ * and preserves completed parallel siblings.
218
+ *
219
+ * @param options - Validated time travel options
220
+ * @returns Promise resolving to `true` if time travel succeeded, `false` otherwise
221
+ */
66
222
  protected abstract _timeTravelJob(options: TimeTravelJobOptions): Promise<boolean>;
223
+ /**
224
+ * Internal method to delete a job by its ID.
225
+ * Active jobs cannot be deleted.
226
+ *
227
+ * @param options - Validated job deletion options
228
+ * @returns Promise resolving to `true` if deleted, `false` otherwise
229
+ */
67
230
  protected abstract _deleteJob(options: DeleteJobOptions): Promise<boolean>;
231
+ /**
232
+ * Internal method to delete multiple jobs using the same filters as getJobs.
233
+ * Active jobs cannot be deleted and will be excluded from deletion.
234
+ *
235
+ * @param options - Validated deletion options (same as GetJobsOptions)
236
+ * @returns Promise resolving to the number of jobs deleted
237
+ */
68
238
  protected abstract _deleteJobs(options?: DeleteJobsOptions): Promise<number>;
239
+ /**
240
+ * Internal method to fetch jobs from the database respecting concurrency limits per group.
241
+ *
242
+ * @param options - Validated fetch options
243
+ * @returns Promise resolving to an array of fetched jobs
244
+ */
69
245
  protected abstract _fetch(options: FetchOptions): Promise<Job[]>;
246
+ /**
247
+ * Internal method to recover stuck jobs (jobs that were active but the process that owned them is no longer running).
248
+ *
249
+ * @param options - Validated recovery options
250
+ * @returns Promise resolving to the number of jobs recovered
251
+ */
70
252
  protected abstract _recoverJobs(options: RecoverJobsOptions): Promise<number>;
253
+ /**
254
+ * Internal method to create or recover a job step by creating or resetting a step record in the database.
255
+ *
256
+ * @param options - Validated step creation options
257
+ * @returns Promise resolving to the step, or `null` if creation failed
258
+ */
71
259
  protected abstract _createOrRecoverJobStep(options: CreateOrRecoverJobStepOptions): Promise<CreateOrRecoverJobStepResult | null>;
260
+ /**
261
+ * Internal method to mark a job step as completed.
262
+ *
263
+ * @param options - Validated step completion options
264
+ * @returns Promise resolving to `true` if completed, `false` otherwise
265
+ */
72
266
  protected abstract _completeJobStep(options: CompleteJobStepOptions): Promise<boolean>;
267
+ /**
268
+ * Internal method to mark a job step as failed.
269
+ *
270
+ * @param options - Validated step failure options
271
+ * @returns Promise resolving to `true` if failed, `false` otherwise
272
+ */
73
273
  protected abstract _failJobStep(options: FailJobStepOptions): Promise<boolean>;
274
+ /**
275
+ * Internal method to delay a job step.
276
+ *
277
+ * @param options - Validated step delay options
278
+ * @returns Promise resolving to `true` if delayed, `false` otherwise
279
+ */
74
280
  protected abstract _delayJobStep(options: DelayJobStepOptions): Promise<boolean>;
281
+ /**
282
+ * Internal method to cancel a job step.
283
+ *
284
+ * @param options - Validated step cancellation options
285
+ * @returns Promise resolving to `true` if cancelled, `false` otherwise
286
+ */
75
287
  protected abstract _cancelJobStep(options: CancelJobStepOptions): Promise<boolean>;
288
+ /**
289
+ * Get a job by its ID. Does not include step information.
290
+ *
291
+ * @param jobId - The ID of the job to retrieve
292
+ * @returns Promise resolving to the job, or `null` if not found
293
+ */
76
294
  getJobById(jobId: string): Promise<Job | null>;
295
+ /**
296
+ * Get steps for a job with pagination and fuzzy search.
297
+ * Steps are always ordered by created_at ASC.
298
+ * Steps do not include output data.
299
+ *
300
+ * @param options - Query options including jobId, pagination, and search
301
+ * @returns Promise resolving to steps result with pagination info
302
+ */
77
303
  getJobSteps(options: GetJobStepsOptions): Promise<GetJobStepsResult>;
304
+ /**
305
+ * Get jobs with pagination, filtering, and sorting.
306
+ * Does not include step information or job output.
307
+ *
308
+ * @param options - Query options including pagination, filters, and sort
309
+ * @returns Promise resolving to jobs result with pagination info
310
+ */
78
311
  getJobs(options?: GetJobsOptions): Promise<GetJobsResult>;
312
+ /**
313
+ * Get a step by its ID with all information.
314
+ *
315
+ * @param stepId - The ID of the step to retrieve
316
+ * @returns Promise resolving to the step, or `null` if not found
317
+ */
79
318
  getJobStepById(stepId: string): Promise<JobStep | null>;
319
+ /**
320
+ * Get job status and updatedAt timestamp.
321
+ *
322
+ * @param jobId - The ID of the job
323
+ * @returns Promise resolving to job status result, or `null` if not found
324
+ */
80
325
  getJobStatus(jobId: string): Promise<JobStatusResult | null>;
326
+ /**
327
+ * Get job step status and updatedAt timestamp.
328
+ *
329
+ * @param stepId - The ID of the step
330
+ * @returns Promise resolving to step status result, or `null` if not found
331
+ */
81
332
  getJobStepStatus(stepId: string): Promise<JobStepStatusResult | null>;
333
+ /**
334
+ * Get action statistics including counts and last job created date.
335
+ *
336
+ * @returns Promise resolving to action statistics
337
+ */
82
338
  getActions(): Promise<GetActionsResult>;
339
+ /**
340
+ * Internal method to get a job by its ID. Does not include step information.
341
+ *
342
+ * @param jobId - The validated ID of the job to retrieve
343
+ * @returns Promise resolving to the job, or `null` if not found
344
+ */
83
345
  protected abstract _getJobById(jobId: string): Promise<Job | null>;
346
+ /**
347
+ * Internal method to get steps for a job with pagination and fuzzy search.
348
+ * Steps are always ordered by created_at ASC.
349
+ * Steps do not include output data.
350
+ *
351
+ * @param options - Validated query options including jobId, pagination, and search
352
+ * @returns Promise resolving to steps result with pagination info
353
+ */
84
354
  protected abstract _getJobSteps(options: GetJobStepsOptions): Promise<GetJobStepsResult>;
355
+ /**
356
+ * Internal method to get jobs with pagination, filtering, and sorting.
357
+ * Does not include step information or job output.
358
+ *
359
+ * @param options - Validated query options including pagination, filters, and sort
360
+ * @returns Promise resolving to jobs result with pagination info
361
+ */
85
362
  protected abstract _getJobs(options?: GetJobsOptions): Promise<GetJobsResult>;
363
+ /**
364
+ * Internal method to get a step by its ID with all information.
365
+ *
366
+ * @param stepId - The validated ID of the step to retrieve
367
+ * @returns Promise resolving to the step, or `null` if not found
368
+ */
86
369
  protected abstract _getJobStepById(stepId: string): Promise<JobStep | null>;
370
+ /**
371
+ * Internal method to get job status and updatedAt timestamp.
372
+ *
373
+ * @param jobId - The validated ID of the job
374
+ * @returns Promise resolving to job status result, or `null` if not found
375
+ */
87
376
  protected abstract _getJobStatus(jobId: string): Promise<JobStatusResult | null>;
377
+ /**
378
+ * Internal method to get job step status and updatedAt timestamp.
379
+ *
380
+ * @param stepId - The validated ID of the step
381
+ * @returns Promise resolving to step status result, or `null` if not found
382
+ */
88
383
  protected abstract _getJobStepStatus(stepId: string): Promise<JobStepStatusResult | null>;
384
+ /**
385
+ * Internal method to get action statistics including counts and last job created date.
386
+ *
387
+ * @returns Promise resolving to action statistics
388
+ */
89
389
  protected abstract _getActions(): Promise<GetActionsResult>;
390
+ /**
391
+ * Insert multiple metric records in a single batch operation.
392
+ * Note: This method bypasses telemetry tracing to prevent infinite loops.
393
+ *
394
+ * @param metrics - Array of metric data to insert
395
+ * @returns Promise resolving to the number of metrics inserted
396
+ */
90
397
  insertMetrics(metrics: InsertMetricOptions[]): Promise<number>;
398
+ /**
399
+ * Get metrics for a job or step.
400
+ * Note: This method bypasses telemetry tracing to prevent infinite loops.
401
+ *
402
+ * @param options - Query options including jobId/stepId, filters, sort, and pagination
403
+ * @returns Promise resolving to metrics result with pagination info
404
+ */
91
405
  getMetrics(options: GetMetricsOptions): Promise<GetMetricsResult>;
406
+ /**
407
+ * Delete all metrics for a job.
408
+ * Note: This method bypasses telemetry tracing to prevent infinite loops.
409
+ *
410
+ * @param options - Options containing the jobId
411
+ * @returns Promise resolving to the number of metrics deleted
412
+ */
92
413
  deleteMetrics(options: DeleteMetricsOptions): Promise<number>;
414
+ /**
415
+ * Internal method to insert multiple metric records in a single batch.
416
+ *
417
+ * @param metrics - Array of validated metric data
418
+ * @returns Promise resolving to the number of metrics inserted
419
+ */
93
420
  protected abstract _insertMetrics(metrics: InsertMetricOptions[]): Promise<number>;
421
+ /**
422
+ * Internal method to get metrics for a job or step.
423
+ *
424
+ * @param options - Validated query options
425
+ * @returns Promise resolving to metrics result with pagination info
426
+ */
94
427
  protected abstract _getMetrics(options: GetMetricsOptions): Promise<GetMetricsResult>;
428
+ /**
429
+ * Internal method to delete all metrics for a job.
430
+ *
431
+ * @param options - Validated options containing the jobId
432
+ * @returns Promise resolving to the number of metrics deleted
433
+ */
95
434
  protected abstract _deleteMetrics(options: DeleteMetricsOptions): Promise<number>;
435
+ /**
436
+ * Start the adapter.
437
+ * Performs any necessary initialization, such as running migrations or setting up listeners.
438
+ *
439
+ * @returns Promise resolving to `void`
440
+ */
96
441
  protected abstract _start(): Promise<void>;
442
+ /**
443
+ * Stop the adapter.
444
+ * Performs cleanup, such as closing database connections.
445
+ *
446
+ * @returns Promise resolving to `void`
447
+ */
97
448
  protected abstract _stop(): Promise<void>;
449
+ /**
450
+ * Send a notification event.
451
+ * This is adapter-specific (e.g., PostgreSQL NOTIFY).
452
+ *
453
+ * @param event - The event name
454
+ * @param data - The data to send
455
+ * @returns Promise resolving to `void`
456
+ */
98
457
  protected abstract _notify(event: string, data: any): Promise<void>;
99
458
  }
100
459
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/adapter.ts"],"names":[],"mappings":"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"}