digital-tasks 2.0.1
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/.turbo/turbo-build.log +5 -0
- package/CHANGELOG.md +10 -0
- package/dist/function-task.d.ts +319 -0
- package/dist/function-task.d.ts.map +1 -0
- package/dist/function-task.js +286 -0
- package/dist/function-task.js.map +1 -0
- package/dist/index.d.ts +72 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +74 -0
- package/dist/index.js.map +1 -0
- package/dist/markdown.d.ts +112 -0
- package/dist/markdown.d.ts.map +1 -0
- package/dist/markdown.js +510 -0
- package/dist/markdown.js.map +1 -0
- package/dist/project.d.ts +259 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project.js +397 -0
- package/dist/project.js.map +1 -0
- package/dist/queue.d.ts +17 -0
- package/dist/queue.d.ts.map +1 -0
- package/dist/queue.js +347 -0
- package/dist/queue.js.map +1 -0
- package/dist/task.d.ts +69 -0
- package/dist/task.d.ts.map +1 -0
- package/dist/task.js +321 -0
- package/dist/task.js.map +1 -0
- package/dist/types.d.ts +292 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +15 -0
- package/dist/types.js.map +1 -0
- package/package.json +41 -0
- package/src/index.ts +161 -0
- package/src/markdown.ts +622 -0
- package/src/project.ts +571 -0
- package/src/queue.ts +424 -0
- package/src/task.ts +389 -0
- package/src/types.ts +403 -0
- package/test/markdown.test.ts +550 -0
- package/test/project.test.ts +562 -0
- package/test/queue.test.ts +482 -0
- package/test/task.test.ts +464 -0
- package/tsconfig.json +20 -0
package/dist/task.js
ADDED
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task - Core task creation and management functions
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
import { taskQueue } from './queue.js';
|
|
7
|
+
/**
|
|
8
|
+
* Generate a unique task ID
|
|
9
|
+
*/
|
|
10
|
+
function generateTaskId() {
|
|
11
|
+
return `task_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Create a new task from a function definition
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* const task = await createTask({
|
|
19
|
+
* function: {
|
|
20
|
+
* type: 'generative',
|
|
21
|
+
* name: 'summarize',
|
|
22
|
+
* args: { text: 'The text to summarize' },
|
|
23
|
+
* output: 'string',
|
|
24
|
+
* promptTemplate: 'Summarize: {{text}}',
|
|
25
|
+
* },
|
|
26
|
+
* input: { text: 'Long article content...' },
|
|
27
|
+
* priority: 'high',
|
|
28
|
+
* })
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export async function createTask(options) {
|
|
32
|
+
const now = new Date();
|
|
33
|
+
// Convert string dependencies to TaskDependency array
|
|
34
|
+
let dependencies;
|
|
35
|
+
if (options.dependencies && options.dependencies.length > 0) {
|
|
36
|
+
dependencies = options.dependencies.map((taskId) => ({
|
|
37
|
+
type: 'blocked_by',
|
|
38
|
+
taskId,
|
|
39
|
+
satisfied: false,
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
// Determine allowed workers from function type
|
|
43
|
+
let allowedWorkers = options.allowedWorkers;
|
|
44
|
+
if (!allowedWorkers) {
|
|
45
|
+
const funcType = options.function.type;
|
|
46
|
+
if (funcType === 'human') {
|
|
47
|
+
allowedWorkers = ['human'];
|
|
48
|
+
}
|
|
49
|
+
else if (funcType === 'agentic') {
|
|
50
|
+
allowedWorkers = ['agent'];
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
allowedWorkers = ['any'];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const task = {
|
|
57
|
+
id: generateTaskId(),
|
|
58
|
+
function: options.function,
|
|
59
|
+
status: options.scheduledFor ? 'pending' : 'queued',
|
|
60
|
+
priority: options.priority || 'normal',
|
|
61
|
+
input: options.input,
|
|
62
|
+
allowedWorkers,
|
|
63
|
+
dependencies,
|
|
64
|
+
scheduledFor: options.scheduledFor,
|
|
65
|
+
deadline: options.deadline,
|
|
66
|
+
timeout: options.timeout,
|
|
67
|
+
tags: options.tags,
|
|
68
|
+
parentId: options.parentId,
|
|
69
|
+
projectId: options.projectId,
|
|
70
|
+
metadata: options.metadata,
|
|
71
|
+
createdAt: now,
|
|
72
|
+
events: [],
|
|
73
|
+
};
|
|
74
|
+
// Auto-assign if specified
|
|
75
|
+
if (options.assignTo) {
|
|
76
|
+
task.assignment = {
|
|
77
|
+
worker: options.assignTo,
|
|
78
|
+
assignedAt: now,
|
|
79
|
+
};
|
|
80
|
+
task.status = 'assigned';
|
|
81
|
+
}
|
|
82
|
+
// Check if blocked by dependencies
|
|
83
|
+
if (dependencies && dependencies.length > 0) {
|
|
84
|
+
const hasPendingDeps = dependencies.some((d) => d.type === 'blocked_by' && !d.satisfied);
|
|
85
|
+
if (hasPendingDeps) {
|
|
86
|
+
task.status = 'blocked';
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Add to queue
|
|
90
|
+
await taskQueue.add(task);
|
|
91
|
+
return task;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get a task by ID
|
|
95
|
+
*/
|
|
96
|
+
export async function getTask(id) {
|
|
97
|
+
return taskQueue.get(id);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Start working on a task
|
|
101
|
+
*/
|
|
102
|
+
export async function startTask(taskId, worker) {
|
|
103
|
+
const task = await taskQueue.get(taskId);
|
|
104
|
+
if (!task)
|
|
105
|
+
return undefined;
|
|
106
|
+
// Claim the task if not already assigned
|
|
107
|
+
if (!task.assignment) {
|
|
108
|
+
const claimed = await taskQueue.claim(taskId, worker);
|
|
109
|
+
if (!claimed)
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
112
|
+
// Update status to in_progress
|
|
113
|
+
return taskQueue.update(taskId, {
|
|
114
|
+
status: 'in_progress',
|
|
115
|
+
event: {
|
|
116
|
+
type: 'started',
|
|
117
|
+
actor: worker,
|
|
118
|
+
message: `Started by ${worker.name || worker.id}`,
|
|
119
|
+
},
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Update task progress
|
|
124
|
+
*/
|
|
125
|
+
export async function updateProgress(taskId, percent, step) {
|
|
126
|
+
return taskQueue.update(taskId, {
|
|
127
|
+
progress: {
|
|
128
|
+
percent,
|
|
129
|
+
step,
|
|
130
|
+
updatedAt: new Date(),
|
|
131
|
+
},
|
|
132
|
+
event: {
|
|
133
|
+
type: 'progress',
|
|
134
|
+
message: step || `Progress: ${percent}%`,
|
|
135
|
+
data: { percent, step },
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Complete a task with output
|
|
141
|
+
*/
|
|
142
|
+
export async function completeTask(taskId, output) {
|
|
143
|
+
const task = await taskQueue.get(taskId);
|
|
144
|
+
if (!task) {
|
|
145
|
+
return {
|
|
146
|
+
taskId,
|
|
147
|
+
success: false,
|
|
148
|
+
error: {
|
|
149
|
+
code: 'TASK_NOT_FOUND',
|
|
150
|
+
message: `Task "${taskId}" not found`,
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
await taskQueue.complete(taskId, output);
|
|
155
|
+
return {
|
|
156
|
+
taskId,
|
|
157
|
+
success: true,
|
|
158
|
+
output,
|
|
159
|
+
metadata: {
|
|
160
|
+
duration: task.startedAt
|
|
161
|
+
? Date.now() - task.startedAt.getTime()
|
|
162
|
+
: 0,
|
|
163
|
+
startedAt: task.startedAt || new Date(),
|
|
164
|
+
completedAt: new Date(),
|
|
165
|
+
worker: task.assignment?.worker,
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Fail a task with error
|
|
171
|
+
*/
|
|
172
|
+
export async function failTask(taskId, error) {
|
|
173
|
+
const task = await taskQueue.get(taskId);
|
|
174
|
+
if (!task) {
|
|
175
|
+
return {
|
|
176
|
+
taskId,
|
|
177
|
+
success: false,
|
|
178
|
+
error: {
|
|
179
|
+
code: 'TASK_NOT_FOUND',
|
|
180
|
+
message: `Task "${taskId}" not found`,
|
|
181
|
+
},
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
const errorMessage = error instanceof Error ? error.message : error;
|
|
185
|
+
await taskQueue.fail(taskId, errorMessage);
|
|
186
|
+
return {
|
|
187
|
+
taskId,
|
|
188
|
+
success: false,
|
|
189
|
+
error: {
|
|
190
|
+
code: 'TASK_FAILED',
|
|
191
|
+
message: errorMessage,
|
|
192
|
+
details: error instanceof Error ? { stack: error.stack } : undefined,
|
|
193
|
+
},
|
|
194
|
+
metadata: {
|
|
195
|
+
duration: task.startedAt
|
|
196
|
+
? Date.now() - task.startedAt.getTime()
|
|
197
|
+
: 0,
|
|
198
|
+
startedAt: task.startedAt || new Date(),
|
|
199
|
+
completedAt: new Date(),
|
|
200
|
+
worker: task.assignment?.worker,
|
|
201
|
+
},
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Cancel a task
|
|
206
|
+
*/
|
|
207
|
+
export async function cancelTask(taskId, reason) {
|
|
208
|
+
const task = await taskQueue.get(taskId);
|
|
209
|
+
if (!task)
|
|
210
|
+
return false;
|
|
211
|
+
await taskQueue.update(taskId, {
|
|
212
|
+
status: 'cancelled',
|
|
213
|
+
event: {
|
|
214
|
+
type: 'cancelled',
|
|
215
|
+
message: reason || 'Task cancelled',
|
|
216
|
+
},
|
|
217
|
+
});
|
|
218
|
+
return true;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Add a comment to a task
|
|
222
|
+
*/
|
|
223
|
+
export async function addComment(taskId, comment, author) {
|
|
224
|
+
return taskQueue.update(taskId, {
|
|
225
|
+
event: {
|
|
226
|
+
type: 'comment',
|
|
227
|
+
actor: author,
|
|
228
|
+
message: comment,
|
|
229
|
+
},
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Create a subtask
|
|
234
|
+
*/
|
|
235
|
+
export async function createSubtask(parentTaskId, options) {
|
|
236
|
+
return createTask({
|
|
237
|
+
...options,
|
|
238
|
+
parentId: parentTaskId,
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Get subtasks of a task
|
|
243
|
+
*/
|
|
244
|
+
export async function getSubtasks(parentTaskId) {
|
|
245
|
+
return taskQueue.query({ parentId: parentTaskId });
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Wait for a task to complete
|
|
249
|
+
*/
|
|
250
|
+
export async function waitForTask(taskId, options) {
|
|
251
|
+
const timeout = options?.timeout ?? 5 * 60 * 1000; // 5 minutes
|
|
252
|
+
const pollInterval = options?.pollInterval ?? 1000; // 1 second
|
|
253
|
+
const startTime = Date.now();
|
|
254
|
+
while (Date.now() - startTime < timeout) {
|
|
255
|
+
const task = await taskQueue.get(taskId);
|
|
256
|
+
if (!task) {
|
|
257
|
+
return {
|
|
258
|
+
taskId,
|
|
259
|
+
success: false,
|
|
260
|
+
error: {
|
|
261
|
+
code: 'TASK_NOT_FOUND',
|
|
262
|
+
message: `Task "${taskId}" not found`,
|
|
263
|
+
},
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
if (task.status === 'completed') {
|
|
267
|
+
return {
|
|
268
|
+
taskId,
|
|
269
|
+
success: true,
|
|
270
|
+
output: task.output,
|
|
271
|
+
metadata: {
|
|
272
|
+
duration: task.completedAt && task.startedAt
|
|
273
|
+
? task.completedAt.getTime() - task.startedAt.getTime()
|
|
274
|
+
: 0,
|
|
275
|
+
startedAt: task.startedAt || task.createdAt,
|
|
276
|
+
completedAt: task.completedAt || new Date(),
|
|
277
|
+
worker: task.assignment?.worker,
|
|
278
|
+
},
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
if (task.status === 'failed') {
|
|
282
|
+
return {
|
|
283
|
+
taskId,
|
|
284
|
+
success: false,
|
|
285
|
+
error: {
|
|
286
|
+
code: 'TASK_FAILED',
|
|
287
|
+
message: task.error || 'Task failed',
|
|
288
|
+
},
|
|
289
|
+
metadata: {
|
|
290
|
+
duration: task.completedAt && task.startedAt
|
|
291
|
+
? task.completedAt.getTime() - task.startedAt.getTime()
|
|
292
|
+
: 0,
|
|
293
|
+
startedAt: task.startedAt || task.createdAt,
|
|
294
|
+
completedAt: task.completedAt || new Date(),
|
|
295
|
+
worker: task.assignment?.worker,
|
|
296
|
+
},
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
if (task.status === 'cancelled') {
|
|
300
|
+
return {
|
|
301
|
+
taskId,
|
|
302
|
+
success: false,
|
|
303
|
+
error: {
|
|
304
|
+
code: 'TASK_CANCELLED',
|
|
305
|
+
message: 'Task was cancelled',
|
|
306
|
+
},
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
// Wait before polling again
|
|
310
|
+
await new Promise((resolve) => setTimeout(resolve, pollInterval));
|
|
311
|
+
}
|
|
312
|
+
return {
|
|
313
|
+
taskId,
|
|
314
|
+
success: false,
|
|
315
|
+
error: {
|
|
316
|
+
code: 'TIMEOUT',
|
|
317
|
+
message: `Task did not complete within ${timeout}ms`,
|
|
318
|
+
},
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
//# sourceMappingURL=task.js.map
|
package/dist/task.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for digital-tasks
|
|
3
|
+
*
|
|
4
|
+
* Task = Function + metadata (status, progress, assignment, dependencies)
|
|
5
|
+
*
|
|
6
|
+
* Every task is a function call. The function can be:
|
|
7
|
+
* - Code: generates executable code
|
|
8
|
+
* - Generative: AI generates content (no tools)
|
|
9
|
+
* - Agentic: AI with tools in a loop
|
|
10
|
+
* - Human: requires human input
|
|
11
|
+
*
|
|
12
|
+
* @packageDocumentation
|
|
13
|
+
*/
|
|
14
|
+
import type { FunctionDefinition, CodeFunctionDefinition, GenerativeFunctionDefinition, AgenticFunctionDefinition, HumanFunctionDefinition } from 'ai-functions';
|
|
15
|
+
export type { FunctionDefinition, CodeFunctionDefinition, GenerativeFunctionDefinition, AgenticFunctionDefinition, HumanFunctionDefinition, };
|
|
16
|
+
/**
|
|
17
|
+
* Task lifecycle status
|
|
18
|
+
*/
|
|
19
|
+
export type TaskStatus = 'pending' | 'queued' | 'assigned' | 'in_progress' | 'blocked' | 'review' | 'completed' | 'failed' | 'cancelled';
|
|
20
|
+
/**
|
|
21
|
+
* Task priority levels
|
|
22
|
+
*/
|
|
23
|
+
export type TaskPriority = 'low' | 'normal' | 'high' | 'urgent' | 'critical';
|
|
24
|
+
/**
|
|
25
|
+
* Who can work on this task
|
|
26
|
+
*/
|
|
27
|
+
export type WorkerType = 'agent' | 'human' | 'team' | 'any';
|
|
28
|
+
/**
|
|
29
|
+
* Worker reference
|
|
30
|
+
*/
|
|
31
|
+
export interface WorkerRef {
|
|
32
|
+
type: WorkerType;
|
|
33
|
+
id: string;
|
|
34
|
+
name?: string;
|
|
35
|
+
role?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Task assignment
|
|
39
|
+
*/
|
|
40
|
+
export interface TaskAssignment {
|
|
41
|
+
worker: WorkerRef;
|
|
42
|
+
assignedAt: Date;
|
|
43
|
+
assignedBy?: string;
|
|
44
|
+
notes?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Dependency type
|
|
48
|
+
*/
|
|
49
|
+
export type DependencyType = 'blocks' | 'blocked_by' | 'related_to' | 'parent' | 'child';
|
|
50
|
+
/**
|
|
51
|
+
* Task dependency
|
|
52
|
+
*/
|
|
53
|
+
export interface TaskDependency {
|
|
54
|
+
type: DependencyType;
|
|
55
|
+
taskId: string;
|
|
56
|
+
satisfied?: boolean;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Task progress
|
|
60
|
+
*/
|
|
61
|
+
export interface TaskProgress {
|
|
62
|
+
percent: number;
|
|
63
|
+
step?: string;
|
|
64
|
+
totalSteps?: number;
|
|
65
|
+
currentStep?: number;
|
|
66
|
+
estimatedTimeRemaining?: number;
|
|
67
|
+
updatedAt: Date;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Task event for history
|
|
71
|
+
*/
|
|
72
|
+
export interface TaskEvent {
|
|
73
|
+
id: string;
|
|
74
|
+
type: 'created' | 'assigned' | 'started' | 'progress' | 'blocked' | 'unblocked' | 'completed' | 'failed' | 'cancelled' | 'comment';
|
|
75
|
+
timestamp: Date;
|
|
76
|
+
actor?: WorkerRef;
|
|
77
|
+
data?: unknown;
|
|
78
|
+
message?: string;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Task = Function + metadata
|
|
82
|
+
*
|
|
83
|
+
* A task wraps a function (code, generative, agentic, or human)
|
|
84
|
+
* with lifecycle management, assignment, and dependencies.
|
|
85
|
+
*/
|
|
86
|
+
export interface Task<TInput = unknown, TOutput = unknown> {
|
|
87
|
+
/** Unique task ID */
|
|
88
|
+
id: string;
|
|
89
|
+
/** The function this task executes */
|
|
90
|
+
function: FunctionDefinition<TInput, TOutput>;
|
|
91
|
+
/** Current status */
|
|
92
|
+
status: TaskStatus;
|
|
93
|
+
/** Priority level */
|
|
94
|
+
priority: TaskPriority;
|
|
95
|
+
/** Input value (resolved from function.args) */
|
|
96
|
+
input?: TInput;
|
|
97
|
+
/** Output value (when completed) */
|
|
98
|
+
output?: TOutput;
|
|
99
|
+
/** Error (when failed) */
|
|
100
|
+
error?: string;
|
|
101
|
+
/** Who can work on this */
|
|
102
|
+
allowedWorkers?: WorkerType[];
|
|
103
|
+
/** Current assignment */
|
|
104
|
+
assignment?: TaskAssignment;
|
|
105
|
+
/** Task dependencies */
|
|
106
|
+
dependencies?: TaskDependency[];
|
|
107
|
+
/** Current progress */
|
|
108
|
+
progress?: TaskProgress;
|
|
109
|
+
/** When created */
|
|
110
|
+
createdAt: Date;
|
|
111
|
+
/** Scheduled start time */
|
|
112
|
+
scheduledFor?: Date;
|
|
113
|
+
/** Deadline */
|
|
114
|
+
deadline?: Date;
|
|
115
|
+
/** When started */
|
|
116
|
+
startedAt?: Date;
|
|
117
|
+
/** When completed */
|
|
118
|
+
completedAt?: Date;
|
|
119
|
+
/** Timeout in ms */
|
|
120
|
+
timeout?: number;
|
|
121
|
+
/** Parent task ID */
|
|
122
|
+
parentId?: string;
|
|
123
|
+
/** Project ID */
|
|
124
|
+
projectId?: string;
|
|
125
|
+
/** Tags */
|
|
126
|
+
tags?: string[];
|
|
127
|
+
/** Custom metadata */
|
|
128
|
+
metadata?: Record<string, unknown>;
|
|
129
|
+
/** Event history */
|
|
130
|
+
events?: TaskEvent[];
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Any task (for collections)
|
|
134
|
+
*/
|
|
135
|
+
export type AnyTask = Task<any, any>;
|
|
136
|
+
/**
|
|
137
|
+
* Create task from a Code function
|
|
138
|
+
*/
|
|
139
|
+
export interface CodeTaskOptions<TInput = unknown, TOutput = unknown> {
|
|
140
|
+
function: CodeFunctionDefinition<TInput, TOutput>;
|
|
141
|
+
input?: TInput;
|
|
142
|
+
priority?: TaskPriority;
|
|
143
|
+
assignTo?: WorkerRef;
|
|
144
|
+
dependencies?: string[];
|
|
145
|
+
deadline?: Date;
|
|
146
|
+
tags?: string[];
|
|
147
|
+
parentId?: string;
|
|
148
|
+
projectId?: string;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Create task from a Generative function
|
|
152
|
+
*/
|
|
153
|
+
export interface GenerativeTaskOptions<TInput = unknown, TOutput = unknown> {
|
|
154
|
+
function: GenerativeFunctionDefinition<TInput, TOutput>;
|
|
155
|
+
input?: TInput;
|
|
156
|
+
priority?: TaskPriority;
|
|
157
|
+
assignTo?: WorkerRef;
|
|
158
|
+
dependencies?: string[];
|
|
159
|
+
deadline?: Date;
|
|
160
|
+
tags?: string[];
|
|
161
|
+
parentId?: string;
|
|
162
|
+
projectId?: string;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Create task from an Agentic function
|
|
166
|
+
*/
|
|
167
|
+
export interface AgenticTaskOptions<TInput = unknown, TOutput = unknown> {
|
|
168
|
+
function: AgenticFunctionDefinition<TInput, TOutput>;
|
|
169
|
+
input?: TInput;
|
|
170
|
+
priority?: TaskPriority;
|
|
171
|
+
assignTo?: WorkerRef;
|
|
172
|
+
dependencies?: string[];
|
|
173
|
+
deadline?: Date;
|
|
174
|
+
tags?: string[];
|
|
175
|
+
parentId?: string;
|
|
176
|
+
projectId?: string;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Create task from a Human function
|
|
180
|
+
*/
|
|
181
|
+
export interface HumanTaskOptions<TInput = unknown, TOutput = unknown> {
|
|
182
|
+
function: HumanFunctionDefinition<TInput, TOutput>;
|
|
183
|
+
input?: TInput;
|
|
184
|
+
priority?: TaskPriority;
|
|
185
|
+
assignTo?: WorkerRef;
|
|
186
|
+
dependencies?: string[];
|
|
187
|
+
deadline?: Date;
|
|
188
|
+
tags?: string[];
|
|
189
|
+
parentId?: string;
|
|
190
|
+
projectId?: string;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Generic task creation options
|
|
194
|
+
*/
|
|
195
|
+
export interface CreateTaskOptions<TInput = unknown, TOutput = unknown> {
|
|
196
|
+
function: FunctionDefinition<TInput, TOutput>;
|
|
197
|
+
input?: TInput;
|
|
198
|
+
priority?: TaskPriority;
|
|
199
|
+
allowedWorkers?: WorkerType[];
|
|
200
|
+
assignTo?: WorkerRef;
|
|
201
|
+
dependencies?: string[];
|
|
202
|
+
scheduledFor?: Date;
|
|
203
|
+
deadline?: Date;
|
|
204
|
+
timeout?: number;
|
|
205
|
+
tags?: string[];
|
|
206
|
+
parentId?: string;
|
|
207
|
+
projectId?: string;
|
|
208
|
+
metadata?: Record<string, unknown>;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Task update options
|
|
212
|
+
*/
|
|
213
|
+
export interface UpdateTaskOptions {
|
|
214
|
+
status?: TaskStatus;
|
|
215
|
+
progress?: Partial<TaskProgress>;
|
|
216
|
+
assignment?: TaskAssignment;
|
|
217
|
+
priority?: TaskPriority;
|
|
218
|
+
event?: Omit<TaskEvent, 'id' | 'timestamp'>;
|
|
219
|
+
metadata?: Record<string, unknown>;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Task query options
|
|
223
|
+
*/
|
|
224
|
+
export interface TaskQuery {
|
|
225
|
+
status?: TaskStatus | TaskStatus[];
|
|
226
|
+
priority?: TaskPriority | TaskPriority[];
|
|
227
|
+
functionType?: 'code' | 'generative' | 'agentic' | 'human';
|
|
228
|
+
assignedTo?: string;
|
|
229
|
+
tags?: string[];
|
|
230
|
+
projectId?: string;
|
|
231
|
+
parentId?: string;
|
|
232
|
+
search?: string;
|
|
233
|
+
sortBy?: 'createdAt' | 'priority' | 'deadline' | 'status';
|
|
234
|
+
sortOrder?: 'asc' | 'desc';
|
|
235
|
+
limit?: number;
|
|
236
|
+
offset?: number;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Task queue options
|
|
240
|
+
*/
|
|
241
|
+
export interface TaskQueueOptions {
|
|
242
|
+
name?: string;
|
|
243
|
+
concurrency?: number;
|
|
244
|
+
defaultTimeout?: number;
|
|
245
|
+
persistent?: boolean;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Task queue interface
|
|
249
|
+
*/
|
|
250
|
+
export interface TaskQueue {
|
|
251
|
+
add(task: AnyTask): Promise<void>;
|
|
252
|
+
get(id: string): Promise<AnyTask | undefined>;
|
|
253
|
+
update(id: string, options: UpdateTaskOptions): Promise<AnyTask | undefined>;
|
|
254
|
+
remove(id: string): Promise<boolean>;
|
|
255
|
+
query(options: TaskQuery): Promise<AnyTask[]>;
|
|
256
|
+
getNextForWorker(worker: WorkerRef): Promise<AnyTask | undefined>;
|
|
257
|
+
claim(taskId: string, worker: WorkerRef): Promise<boolean>;
|
|
258
|
+
complete(taskId: string, output: unknown): Promise<void>;
|
|
259
|
+
fail(taskId: string, error: string): Promise<void>;
|
|
260
|
+
stats(): Promise<TaskQueueStats>;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Task queue stats
|
|
264
|
+
*/
|
|
265
|
+
export interface TaskQueueStats {
|
|
266
|
+
total: number;
|
|
267
|
+
byStatus: Record<TaskStatus, number>;
|
|
268
|
+
byPriority: Record<TaskPriority, number>;
|
|
269
|
+
byFunctionType?: Record<string, number>;
|
|
270
|
+
avgWaitTime?: number;
|
|
271
|
+
avgCompletionTime?: number;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Task execution result
|
|
275
|
+
*/
|
|
276
|
+
export interface TaskResult<TOutput = unknown> {
|
|
277
|
+
taskId: string;
|
|
278
|
+
success: boolean;
|
|
279
|
+
output?: TOutput;
|
|
280
|
+
error?: {
|
|
281
|
+
code: string;
|
|
282
|
+
message: string;
|
|
283
|
+
details?: unknown;
|
|
284
|
+
};
|
|
285
|
+
metadata?: {
|
|
286
|
+
duration: number;
|
|
287
|
+
startedAt: Date;
|
|
288
|
+
completedAt: Date;
|
|
289
|
+
worker?: WorkerRef;
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for digital-tasks
|
|
3
|
+
*
|
|
4
|
+
* Task = Function + metadata (status, progress, assignment, dependencies)
|
|
5
|
+
*
|
|
6
|
+
* Every task is a function call. The function can be:
|
|
7
|
+
* - Code: generates executable code
|
|
8
|
+
* - Generative: AI generates content (no tools)
|
|
9
|
+
* - Agentic: AI with tools in a loop
|
|
10
|
+
* - Human: requires human input
|
|
11
|
+
*
|
|
12
|
+
* @packageDocumentation
|
|
13
|
+
*/
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
|