@betterinternship/core 2.5.4 → 2.5.5

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.
@@ -1,36 +1,36 @@
1
- import { Task } from '@betterinternship/db';
2
- import { JsonValue } from '@prisma/client/runtime/client';
3
- export declare class TaskRequest implements Pick<Task, 'inputs' | 'internal_id' | 'handler_id' | 'parent_id' | 'process_id' | 'timestamp'> {
4
- inputs: JsonValue;
5
- internal_id: string;
6
- handler_id: string;
7
- parent_id: string | null;
8
- process_id: string;
9
- timestamp: Date;
10
- }
11
- export declare class TaskResponse implements Pick<Task, 'result' | 'status' | 'error'> {
12
- result: JsonValue;
13
- error: JsonValue;
14
- status: string;
15
- }
16
- type BaseTaskResponseHandler = (response: TaskResponse) => Promise<void>;
17
- export declare class BaseTaskInitiator<TaskRequestInputs> {
18
- private handlerId;
19
- private requestQueueId;
20
- private responseQueueId;
21
- constructor(queueId: string, handler: BaseTaskResponseHandler);
22
- init(handler: BaseTaskResponseHandler): Promise<void>;
23
- sendTaskRequest(processId: string, inputs: TaskRequestInputs, options: {
24
- internalId?: string;
25
- parentId?: string;
26
- maxRetries?: number;
27
- }): Promise<boolean>;
28
- }
29
- type BaseTaskRequestHandler = (taskId: string) => Promise<TaskResponse>;
30
- export declare class BaseTaskRunner {
31
- private requestQueueId;
32
- private responseQueueId;
33
- constructor(queueId: string, handler: BaseTaskRequestHandler);
34
- private init;
35
- }
36
- export {};
1
+ import { Task } from '@betterinternship/db';
2
+ import { JsonValue } from '@prisma/client/runtime/client';
3
+ export declare class TaskRequest implements Pick<Task, 'inputs' | 'internal_id' | 'handler_id' | 'parent_id' | 'process_id' | 'timestamp'> {
4
+ inputs: JsonValue;
5
+ internal_id: string;
6
+ handler_id: string;
7
+ parent_id: string | null;
8
+ process_id: string;
9
+ timestamp: Date;
10
+ }
11
+ export declare class TaskResponse implements Pick<Task, 'result' | 'status' | 'error'> {
12
+ result: JsonValue;
13
+ error: JsonValue;
14
+ status: string;
15
+ }
16
+ type TaskResponseHandler = (response: TaskResponse) => Promise<void>;
17
+ export declare class BaseTaskInitiator<TaskInputs> {
18
+ private handlerId;
19
+ private requestQueueId;
20
+ private responseQueueId;
21
+ constructor(queueId: string, handler: TaskResponseHandler);
22
+ init(handler: TaskResponseHandler): Promise<void>;
23
+ sendTaskRequest(processId: string, inputs: TaskInputs, options: {
24
+ internalId?: string;
25
+ parentId?: string;
26
+ maxRetries?: number;
27
+ }): Promise<boolean>;
28
+ }
29
+ type TaskRequestHandler = (task: TaskRequest) => Promise<TaskResponse>;
30
+ export declare class BaseTaskRunner {
31
+ private requestQueueId;
32
+ private responseQueueId;
33
+ constructor(queueId: string, handler: TaskRequestHandler);
34
+ private init;
35
+ }
36
+ export {};
@@ -1,76 +1,77 @@
1
- import { BrokerAPI } from './broker.js';
2
- import { tasks } from '@betterinternship/db';
3
- import { v4 } from 'uuid';
4
- export class TaskRequest {
5
- inputs;
6
- internal_id;
7
- handler_id;
8
- parent_id;
9
- process_id;
10
- timestamp;
11
- }
12
- export class TaskResponse {
13
- result;
14
- error;
15
- status;
16
- }
17
- export class BaseTaskInitiator {
18
- handlerId;
19
- requestQueueId;
20
- responseQueueId;
21
- constructor(queueId, handler) {
22
- this.handlerId = queueId;
23
- this.requestQueueId = `request.${queueId}`;
24
- this.responseQueueId = `response.${queueId}`;
25
- void this.init(handler);
26
- }
27
- async init(handler) {
28
- const brokerAPI = await BrokerAPI.instance();
29
- return await brokerAPI.addQueueHandler(this.responseQueueId, async (taskId) => {
30
- const task = await tasks.findFirst({ where: { id: taskId } });
31
- await handler({
32
- result: task?.result ?? {},
33
- error: task?.error ?? '',
34
- status: task?.status ?? 'failed',
35
- });
36
- });
37
- }
38
- async sendTaskRequest(processId, inputs, options) {
39
- const brokerAPI = await BrokerAPI.instance();
40
- const task = await tasks.create({
41
- data: {
42
- internal_id: options.internalId ?? `${processId}.${v4()}`,
43
- parent_id: options.parentId,
44
- handler_id: this.handlerId,
45
- process_id: processId,
46
- inputs: inputs,
47
- },
48
- });
49
- return brokerAPI.addToQueue(this.requestQueueId, task.id, options);
50
- }
51
- }
52
- export class BaseTaskRunner {
53
- requestQueueId;
54
- responseQueueId;
55
- constructor(queueId, handler) {
56
- this.requestQueueId = `request.${queueId}`;
57
- this.responseQueueId = `response.${queueId}`;
58
- void this.init(handler);
59
- }
60
- async init(handler) {
61
- const brokerAPI = await BrokerAPI.instance();
62
- await brokerAPI.addQueueHandler(this.requestQueueId, async (taskId) => {
63
- const response = await handler(taskId);
64
- await tasks.update({
65
- where: { id: taskId },
66
- data: {
67
- result: response.result ?? {},
68
- error: response.error ?? '',
69
- status: response.status,
70
- },
71
- });
72
- await brokerAPI.addToQueue(this.responseQueueId, taskId);
73
- });
74
- }
75
- }
1
+ import { BrokerAPI } from './broker.js';
2
+ import { tasks } from '@betterinternship/db';
3
+ import { v4 } from 'uuid';
4
+ export class TaskRequest {
5
+ inputs;
6
+ internal_id;
7
+ handler_id;
8
+ parent_id;
9
+ process_id;
10
+ timestamp;
11
+ }
12
+ export class TaskResponse {
13
+ result;
14
+ error;
15
+ status;
16
+ }
17
+ export class BaseTaskInitiator {
18
+ handlerId;
19
+ requestQueueId;
20
+ responseQueueId;
21
+ constructor(queueId, handler) {
22
+ this.handlerId = queueId;
23
+ this.requestQueueId = `request.${queueId}`;
24
+ this.responseQueueId = `response.${queueId}`;
25
+ void this.init(handler);
26
+ }
27
+ async init(handler) {
28
+ const brokerAPI = await BrokerAPI.instance();
29
+ return await brokerAPI.addQueueHandler(this.responseQueueId, async (taskId) => {
30
+ const task = await tasks.findFirst({ where: { id: taskId } });
31
+ await handler({
32
+ result: task?.result ?? {},
33
+ error: task?.error ?? '',
34
+ status: task?.status ?? 'failed',
35
+ });
36
+ });
37
+ }
38
+ async sendTaskRequest(processId, inputs, options) {
39
+ const brokerAPI = await BrokerAPI.instance();
40
+ const task = await tasks.create({
41
+ data: {
42
+ internal_id: options.internalId ?? `${processId}.${v4()}`,
43
+ parent_id: options.parentId,
44
+ handler_id: this.handlerId,
45
+ process_id: processId,
46
+ inputs: inputs,
47
+ },
48
+ });
49
+ return brokerAPI.addToQueue(this.requestQueueId, task.id, options);
50
+ }
51
+ }
52
+ export class BaseTaskRunner {
53
+ requestQueueId;
54
+ responseQueueId;
55
+ constructor(queueId, handler) {
56
+ this.requestQueueId = `request.${queueId}`;
57
+ this.responseQueueId = `response.${queueId}`;
58
+ void this.init(handler);
59
+ }
60
+ async init(handler) {
61
+ const brokerAPI = await BrokerAPI.instance();
62
+ await brokerAPI.addQueueHandler(this.requestQueueId, async (taskId) => {
63
+ const task = await tasks.findFirst({ where: { id: taskId } });
64
+ const response = await handler(task);
65
+ await tasks.update({
66
+ where: { id: taskId },
67
+ data: {
68
+ result: response.result ?? {},
69
+ error: response.error ?? '',
70
+ status: response.status,
71
+ },
72
+ });
73
+ await brokerAPI.addToQueue(this.responseQueueId, taskId);
74
+ });
75
+ }
76
+ }
76
77
  //# sourceMappingURL=base.task.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.task.js","sourceRoot":"","sources":["../../../lib/broker/base.task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.task.js","sourceRoot":"","sources":["../../../lib/broker/base.task.ts"],"names":[],"mappings":"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"}