@workglow/task-graph 0.0.57 → 0.0.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +102 -51
- package/dist/browser.js.map +6 -6
- package/dist/bun.js +102 -51
- package/dist/bun.js.map +6 -6
- package/dist/node.js +102 -51
- package/dist/node.js.map +6 -6
- package/dist/task/JobQueueFactory.d.ts +27 -9
- package/dist/task/JobQueueFactory.d.ts.map +1 -1
- package/dist/task/JobQueueTask.d.ts +16 -5
- package/dist/task/JobQueueTask.d.ts.map +1 -1
- package/dist/task/Task.d.ts.map +1 -1
- package/dist/task/TaskJSON.test.d.ts +7 -0
- package/dist/task/TaskJSON.test.d.ts.map +1 -0
- package/dist/task/TaskQueueRegistry.d.ts +21 -12
- package/dist/task/TaskQueueRegistry.d.ts.map +1 -1
- package/package.json +7 -7
|
@@ -3,21 +3,39 @@
|
|
|
3
3
|
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { Job, JobConstructorParam,
|
|
6
|
+
import { Job, JobConstructorParam, JobQueueServerOptions } from "@workglow/job-queue";
|
|
7
|
+
import { IQueueStorage } from "@workglow/storage";
|
|
7
8
|
import type { JobQueueTask, JobQueueTaskConfig } from "./JobQueueTask";
|
|
9
|
+
import type { RegisteredQueue } from "./TaskQueueRegistry";
|
|
8
10
|
import type { TaskInput, TaskOutput } from "./TaskTypes";
|
|
9
11
|
export type JobClassConstructor<Input extends TaskInput, Output extends TaskOutput> = new (params: JobConstructorParam<Input, Output>) => Job<Input, Output>;
|
|
12
|
+
/**
|
|
13
|
+
* Options for creating a job queue via the factory
|
|
14
|
+
*/
|
|
15
|
+
export interface JobQueueFactoryOptions<Input, Output> {
|
|
16
|
+
readonly storage?: IQueueStorage<Input, Output>;
|
|
17
|
+
readonly limiter?: JobQueueServerOptions<Input, Output>["limiter"];
|
|
18
|
+
readonly workerCount?: number;
|
|
19
|
+
readonly pollIntervalMs?: number;
|
|
20
|
+
readonly deleteAfterCompletionMs?: number;
|
|
21
|
+
readonly deleteAfterFailureMs?: number;
|
|
22
|
+
readonly deleteAfterDisabledMs?: number;
|
|
23
|
+
readonly cleanupIntervalMs?: number;
|
|
24
|
+
}
|
|
10
25
|
export interface JobQueueFactoryParams<Input extends TaskInput, Output extends TaskOutput> {
|
|
11
|
-
queueName: string;
|
|
12
|
-
jobClass: JobClassConstructor<Input, Output>;
|
|
13
|
-
input?: Input;
|
|
14
|
-
config?: JobQueueTaskConfig;
|
|
15
|
-
task?: JobQueueTask<Input, Output>;
|
|
16
|
-
options?:
|
|
26
|
+
readonly queueName: string;
|
|
27
|
+
readonly jobClass: JobClassConstructor<Input, Output>;
|
|
28
|
+
readonly input?: Input;
|
|
29
|
+
readonly config?: JobQueueTaskConfig;
|
|
30
|
+
readonly task?: JobQueueTask<Input, Output>;
|
|
31
|
+
readonly options?: JobQueueFactoryOptions<Input, Output>;
|
|
17
32
|
}
|
|
18
|
-
export type JobQueueFactory = <Input extends TaskInput, Output extends TaskOutput>(params: JobQueueFactoryParams<Input, Output>) => Promise<
|
|
33
|
+
export type JobQueueFactory = <Input extends TaskInput, Output extends TaskOutput>(params: JobQueueFactoryParams<Input, Output>) => Promise<RegisteredQueue<Input, Output>> | RegisteredQueue<Input, Output>;
|
|
19
34
|
export declare const JOB_QUEUE_FACTORY: import("@workglow/util").ServiceToken<JobQueueFactory>;
|
|
20
35
|
export declare function registerJobQueueFactory(factory: JobQueueFactory): void;
|
|
21
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Creates a job queue factory from server options
|
|
38
|
+
*/
|
|
39
|
+
export declare function createJobQueueFactoryWithOptions(defaultOptions?: Partial<JobQueueFactoryOptions<unknown, unknown>>): JobQueueFactory;
|
|
22
40
|
export declare function getJobQueueFactory(): JobQueueFactory;
|
|
23
41
|
//# sourceMappingURL=JobQueueFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobQueueFactory.d.ts","sourceRoot":"","sources":["../../src/task/JobQueueFactory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"JobQueueFactory.d.ts","sourceRoot":"","sources":["../../src/task/JobQueueFactory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,GAAG,EACH,mBAAmB,EAGnB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAwB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,MAAM,mBAAmB,CAAC,KAAK,SAAS,SAAS,EAAE,MAAM,SAAS,UAAU,IAAI,KACpF,MAAM,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,KACvC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,KAAK,EAAE,MAAM;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;IACnE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB,CAAC,KAAK,SAAS,SAAS,EAAE,MAAM,SAAS,UAAU;IACvF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC1D;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,SAAS,SAAS,EAAE,MAAM,SAAS,UAAU,EAC/E,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,KACzC,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAE9E,eAAO,MAAM,iBAAiB,wDAAmE,CAAC;AAsClG,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAEtE;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,cAAc,GAAE,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAM,GACrE,eAAe,CAsCjB;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAKpD"}
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { Job, JobConstructorParam
|
|
6
|
+
import { Job, JobConstructorParam } from "@workglow/job-queue";
|
|
7
7
|
import { ArrayTask } from "./ArrayTask";
|
|
8
8
|
import { IExecuteContext } from "./ITask";
|
|
9
9
|
import { TaskEventListeners } from "./TaskEvents";
|
|
10
|
+
import { RegisteredQueue } from "./TaskQueueRegistry";
|
|
10
11
|
import { TaskConfig, TaskInput, TaskOutput } from "./TaskTypes";
|
|
11
12
|
/**
|
|
12
13
|
* Configuration interface for JobQueueTask.
|
|
@@ -49,13 +50,23 @@ export declare abstract class JobQueueTask<Input extends TaskInput = TaskInput,
|
|
|
49
50
|
constructor(input?: Input, config?: Config);
|
|
50
51
|
execute(input: Input, executeContext: IExecuteContext): Promise<Output | undefined>;
|
|
51
52
|
/**
|
|
52
|
-
*
|
|
53
|
+
* Get the input to submit to the job queue.
|
|
54
|
+
* Override this method to transform task input to job input.
|
|
55
|
+
* @param input - The task input
|
|
56
|
+
* @returns The input to submit to the job queue
|
|
57
|
+
*/
|
|
58
|
+
protected getJobInput(input: Input): Promise<unknown>;
|
|
59
|
+
/**
|
|
60
|
+
* Override this method to create the right job class for direct execution (without a queue).
|
|
61
|
+
* This is used when running the task directly without queueing.
|
|
62
|
+
* @param input - The task input
|
|
63
|
+
* @param queueName - The queue name (if any)
|
|
53
64
|
* @returns Promise<Job> - The created job
|
|
54
65
|
*/
|
|
55
|
-
createJob(input: Input,
|
|
56
|
-
protected resolveQueue(input: Input): Promise<
|
|
66
|
+
createJob(input: Input, queueName?: string): Promise<Job<any, Output>>;
|
|
67
|
+
protected resolveQueue(input: Input): Promise<RegisteredQueue<Input, Output> | undefined>;
|
|
57
68
|
protected getDefaultQueueName(_input: Input): Promise<string | undefined>;
|
|
58
|
-
protected createAndRegisterQueue(queueName: string, input: Input): Promise<
|
|
69
|
+
protected createAndRegisterQueue(queueName: string, input: Input): Promise<RegisteredQueue<Input, Output>>;
|
|
59
70
|
/**
|
|
60
71
|
* Aborts the task
|
|
61
72
|
* @returns A promise that resolves when the task is aborted
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobQueueTask.d.ts","sourceRoot":"","sources":["../../src/task/JobQueueTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"JobQueueTask.d.ts","sourceRoot":"","sources":["../../src/task/JobQueueTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAwB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,GAAG;IAC9E,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;CAC9F,CAAC;AAEF;;;;;;;GAOG;AACH,8BAAsB,YAAY,CAChC,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,CACtD,SAAQ,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IACxC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAkB;IAC9C,MAAM,CAAC,cAAc,UAAQ;IAE7B,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,0CAA0C;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IAElB,QAAQ,EAAE,KAAK,MAAM,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAE5E,KAAK,GAAE,KAAmB,EAAE,MAAM,GAAE,MAAqB;IAQ/D,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAoEzF;;;;;OAKG;cACa,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3D;;;;;;OAMG;IACG,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;cAQ5D,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;cAmC/E,mBAAmB,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;cAI/D,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IA4B1C;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAU7B"}
|
package/dist/task/Task.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../src/task/Task.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../src/task/Task.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskJSON.test.d.ts","sourceRoot":"","sources":["../../src/task/TaskJSON.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -3,7 +3,16 @@
|
|
|
3
3
|
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { JobQueueClient, JobQueueServer } from "@workglow/job-queue";
|
|
7
|
+
import { IQueueStorage } from "@workglow/storage";
|
|
8
|
+
/**
|
|
9
|
+
* Combined structure for a registered job queue containing server, client, and storage
|
|
10
|
+
*/
|
|
11
|
+
export interface RegisteredQueue<Input = unknown, Output = unknown> {
|
|
12
|
+
readonly server: JobQueueServer<Input, Output>;
|
|
13
|
+
readonly client: JobQueueClient<Input, Output>;
|
|
14
|
+
readonly storage: IQueueStorage<Input, Output>;
|
|
15
|
+
}
|
|
7
16
|
/**
|
|
8
17
|
* Registry for managing task queues in the application.
|
|
9
18
|
* Provides functionality to register, manage, and control job queues.
|
|
@@ -13,32 +22,32 @@ import { JobQueue } from "@workglow/job-queue";
|
|
|
13
22
|
*/
|
|
14
23
|
export declare class TaskQueueRegistry {
|
|
15
24
|
/**
|
|
16
|
-
* Map of queue names to their corresponding
|
|
25
|
+
* Map of queue names to their corresponding registered queue instances
|
|
17
26
|
*/
|
|
18
|
-
queues: Map<string,
|
|
27
|
+
readonly queues: Map<string, RegisteredQueue<unknown, unknown>>;
|
|
19
28
|
/**
|
|
20
29
|
* Registers a new job queue with the registry
|
|
21
30
|
*
|
|
22
|
-
* @param
|
|
31
|
+
* @param queue - The registered queue containing server, client, and storage
|
|
23
32
|
* @throws Error if a queue with the same name already exists
|
|
24
33
|
*/
|
|
25
|
-
registerQueue(
|
|
34
|
+
registerQueue<Input, Output>(queue: RegisteredQueue<Input, Output>): void;
|
|
26
35
|
/**
|
|
27
|
-
* Retrieves a
|
|
36
|
+
* Retrieves a registered queue by its name
|
|
28
37
|
*
|
|
29
|
-
* @param
|
|
30
|
-
* @returns The
|
|
38
|
+
* @param queueName - The name of the queue to retrieve
|
|
39
|
+
* @returns The registered queue or undefined if not found
|
|
31
40
|
*/
|
|
32
|
-
getQueue<
|
|
41
|
+
getQueue<Input, Output>(queueName: string): RegisteredQueue<Input, Output> | undefined;
|
|
33
42
|
/**
|
|
34
|
-
* Starts all registered job
|
|
43
|
+
* Starts all registered job queue servers
|
|
35
44
|
* This allows queues to begin processing their jobs
|
|
36
45
|
*
|
|
37
46
|
* @returns The registry instance for chaining
|
|
38
47
|
*/
|
|
39
48
|
startQueues(): this;
|
|
40
49
|
/**
|
|
41
|
-
* Stops all registered job
|
|
50
|
+
* Stops all registered job queue servers
|
|
42
51
|
* This pauses job processing but maintains the queued jobs
|
|
43
52
|
*
|
|
44
53
|
* @returns The registry instance for chaining
|
|
@@ -46,7 +55,7 @@ export declare class TaskQueueRegistry {
|
|
|
46
55
|
stopQueues(): this;
|
|
47
56
|
/**
|
|
48
57
|
* Clears all registered job queues
|
|
49
|
-
* This removes all queued jobs from the
|
|
58
|
+
* This removes all queued jobs from the storage
|
|
50
59
|
*
|
|
51
60
|
* @returns The registry instance for chaining
|
|
52
61
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskQueueRegistry.d.ts","sourceRoot":"","sources":["../../src/task/TaskQueueRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TaskQueueRegistry.d.ts","sourceRoot":"","sources":["../../src/task/TaskQueueRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO;IAChE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAChD;AAQD;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAC5B;;OAEG;IACH,SAAgB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAa;IAEnF;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI;IAQzE;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS;IAItF;;;;;OAKG;IACH,WAAW,IAAI,IAAI;IAOnB;;;;;OAKG;IACH,UAAU,IAAI,IAAI;IAOlB;;;;;OAKG;IACH,WAAW,IAAI,IAAI;CAMpB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CAKxD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAM7E"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workglow/task-graph",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.59",
|
|
5
5
|
"description": "Task graph management for Workglow, providing DAG construction, execution planning, and workflow orchestration.",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"watch": "concurrently -c 'auto' 'bun:watch-*'",
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"@workglow/job-queue": "0.0.
|
|
40
|
-
"@workglow/storage": "0.0.
|
|
41
|
-
"@workglow/util": "0.0.
|
|
39
|
+
"@workglow/job-queue": "0.0.59",
|
|
40
|
+
"@workglow/storage": "0.0.59",
|
|
41
|
+
"@workglow/util": "0.0.59"
|
|
42
42
|
},
|
|
43
43
|
"peerDependenciesMeta": {
|
|
44
44
|
"@workglow/job-queue": {
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@workglow/job-queue": "0.0.
|
|
56
|
-
"@workglow/storage": "0.0.
|
|
57
|
-
"@workglow/util": "0.0.
|
|
55
|
+
"@workglow/job-queue": "0.0.59",
|
|
56
|
+
"@workglow/storage": "0.0.59",
|
|
57
|
+
"@workglow/util": "0.0.59"
|
|
58
58
|
}
|
|
59
59
|
}
|