@taskcast/core 0.1.2 → 0.2.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.
- package/dist/config.d.ts +5 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +48 -17
- package/dist/config.js.map +1 -1
- package/dist/engine.d.ts +15 -4
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +39 -22
- package/dist/engine.js.map +1 -1
- package/dist/state-machine.d.ts +2 -0
- package/dist/state-machine.d.ts.map +1 -1
- package/dist/state-machine.js +10 -1
- package/dist/state-machine.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/config.d.ts
CHANGED
|
@@ -52,5 +52,9 @@ export interface TaskcastConfig {
|
|
|
52
52
|
}
|
|
53
53
|
export declare function interpolateEnvVars(value: string): string;
|
|
54
54
|
export declare function parseConfig(content: string, format: 'json' | 'yaml'): TaskcastConfig;
|
|
55
|
-
export
|
|
55
|
+
export interface ConfigLoadResult {
|
|
56
|
+
config: TaskcastConfig;
|
|
57
|
+
source: 'explicit' | 'local' | 'global' | 'none';
|
|
58
|
+
}
|
|
59
|
+
export declare function loadConfigFile(configPath?: string, globalConfigDir?: string): Promise<ConfigLoadResult>;
|
|
56
60
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IAC9C,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAA;QAC/B,GAAG,CAAC,EAAE;YACJ,SAAS,CAAC,EAAE,MAAM,CAAA;YAClB,MAAM,CAAC,EAAE,MAAM,CAAA;YACf,SAAS,CAAC,EAAE,MAAM,CAAA;YAClB,aAAa,CAAC,EAAE,MAAM,CAAA;YACtB,MAAM,CAAC,EAAE,MAAM,CAAA;YACf,QAAQ,CAAC,EAAE,MAAM,CAAA;SAClB,CAAA;KACF,CAAA;IACD,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QAC9C,SAAS,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QAC9C,QAAQ,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAC9C,CAAA;IACD,MAAM,CAAC,EAAE;QACP,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,mBAAmB,CAAC,EAAE,OAAO,CAAA;QAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAA;QAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;QAChC,oBAAoB,CAAC,EAAE,OAAO,CAAA;QAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAA;QAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAA;QAChC,mBAAmB,CAAC,EAAE,OAAO,CAAA;QAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAC5B,CAAA;IACD,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE;YACb,OAAO,CAAC,EAAE,MAAM,CAAA;YAChB,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAA;YAC5C,cAAc,CAAC,EAAE,MAAM,CAAA;YACvB,UAAU,CAAC,EAAE,MAAM,CAAA;YACnB,SAAS,CAAC,EAAE,MAAM,CAAA;SACnB,CAAA;KACF,CAAA;IACD,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;KAClB,CAAA;CACF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIxD;AAcD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,CAgBpF;AAED,wBAAsB,cAAc,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IAC9C,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAA;QAC/B,GAAG,CAAC,EAAE;YACJ,SAAS,CAAC,EAAE,MAAM,CAAA;YAClB,MAAM,CAAC,EAAE,MAAM,CAAA;YACf,SAAS,CAAC,EAAE,MAAM,CAAA;YAClB,aAAa,CAAC,EAAE,MAAM,CAAA;YACtB,MAAM,CAAC,EAAE,MAAM,CAAA;YACf,QAAQ,CAAC,EAAE,MAAM,CAAA;SAClB,CAAA;KACF,CAAA;IACD,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QAC9C,SAAS,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QAC9C,QAAQ,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAC9C,CAAA;IACD,MAAM,CAAC,EAAE;QACP,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,mBAAmB,CAAC,EAAE,OAAO,CAAA;QAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAA;QAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;QAChC,oBAAoB,CAAC,EAAE,OAAO,CAAA;QAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAA;QAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAA;QAChC,mBAAmB,CAAC,EAAE,OAAO,CAAA;QAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAC5B,CAAA;IACD,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE;YACb,OAAO,CAAC,EAAE,MAAM,CAAA;YAChB,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAA;YAC5C,cAAc,CAAC,EAAE,MAAM,CAAA;YACvB,UAAU,CAAC,EAAE,MAAM,CAAA;YACnB,SAAS,CAAC,EAAE,MAAM,CAAA;SACnB,CAAA;KACF,CAAA;IACD,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;KAClB,CAAA;CACF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIxD;AAcD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,CAgBpF;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;CACjD;AAED,wBAAsB,cAAc,CAClC,UAAU,CAAC,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAmE3B"}
|
package/dist/config.js
CHANGED
|
@@ -35,33 +35,64 @@ export function parseConfig(content, format) {
|
|
|
35
35
|
}
|
|
36
36
|
return config;
|
|
37
37
|
}
|
|
38
|
-
export async function loadConfigFile(configPath) {
|
|
38
|
+
export async function loadConfigFile(configPath, globalConfigDir) {
|
|
39
39
|
const { readFileSync, existsSync } = await import('fs');
|
|
40
|
-
const { resolve, extname } = await import('path');
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
40
|
+
const { resolve, extname, join } = await import('path');
|
|
41
|
+
const { homedir } = await import('os');
|
|
42
|
+
// 1. Explicit path
|
|
43
|
+
if (configPath) {
|
|
44
|
+
const fullPath = resolve(configPath);
|
|
45
|
+
if (!existsSync(fullPath))
|
|
46
|
+
return { config: {}, source: 'explicit' };
|
|
47
|
+
const ext = extname(fullPath).toLowerCase();
|
|
48
|
+
/* v8 ignore next 4 -- dynamic import of .ts/.js/.mjs config files */
|
|
49
|
+
if (ext === '.ts' || ext === '.js' || ext === '.mjs') {
|
|
50
|
+
const mod = await import(fullPath);
|
|
51
|
+
return { config: mod.default ?? {}, source: 'explicit' };
|
|
52
|
+
}
|
|
53
|
+
const content = readFileSync(fullPath, 'utf8');
|
|
54
|
+
const format = ext === '.json' ? 'json' : 'yaml';
|
|
55
|
+
return { config: parseConfig(content, format), source: 'explicit' };
|
|
56
|
+
}
|
|
57
|
+
// 2. Local directory
|
|
58
|
+
const localCandidates = [
|
|
59
|
+
'taskcast.config.ts',
|
|
60
|
+
'taskcast.config.js',
|
|
61
|
+
'taskcast.config.mjs',
|
|
62
|
+
'taskcast.config.yaml',
|
|
63
|
+
'taskcast.config.yml',
|
|
64
|
+
'taskcast.config.json',
|
|
65
|
+
];
|
|
66
|
+
for (const candidate of localCandidates) {
|
|
52
67
|
const fullPath = resolve(candidate);
|
|
53
68
|
if (!existsSync(fullPath))
|
|
54
69
|
continue;
|
|
55
70
|
const ext = extname(fullPath).toLowerCase();
|
|
56
|
-
/* v8 ignore next 4 -- dynamic import of .ts/.js/.mjs config files
|
|
71
|
+
/* v8 ignore next 4 -- dynamic import of .ts/.js/.mjs config files */
|
|
57
72
|
if (ext === '.ts' || ext === '.js' || ext === '.mjs') {
|
|
58
73
|
const mod = await import(fullPath);
|
|
59
|
-
return mod.default ?? {};
|
|
74
|
+
return { config: mod.default ?? {}, source: 'local' };
|
|
60
75
|
}
|
|
61
76
|
const content = readFileSync(fullPath, 'utf8');
|
|
62
77
|
const format = ext === '.json' ? 'json' : 'yaml';
|
|
63
|
-
return parseConfig(content, format);
|
|
78
|
+
return { config: parseConfig(content, format), source: 'local' };
|
|
79
|
+
}
|
|
80
|
+
// 3. Global directory (~/.taskcast/) — only static formats
|
|
81
|
+
const globalDir = globalConfigDir ?? join(homedir(), '.taskcast');
|
|
82
|
+
const globalCandidates = [
|
|
83
|
+
'taskcast.config.yaml',
|
|
84
|
+
'taskcast.config.yml',
|
|
85
|
+
'taskcast.config.json',
|
|
86
|
+
];
|
|
87
|
+
for (const candidate of globalCandidates) {
|
|
88
|
+
const fullPath = join(globalDir, candidate);
|
|
89
|
+
if (!existsSync(fullPath))
|
|
90
|
+
continue;
|
|
91
|
+
const content = readFileSync(fullPath, 'utf8');
|
|
92
|
+
const ext = extname(fullPath).toLowerCase();
|
|
93
|
+
const format = ext === '.json' ? 'json' : 'yaml';
|
|
94
|
+
return { config: parseConfig(content, format), source: 'global' };
|
|
64
95
|
}
|
|
65
|
-
return {};
|
|
96
|
+
return { config: {}, source: 'none' };
|
|
66
97
|
}
|
|
67
98
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAA;AA8C1C,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAe,EAAE,EAAE;QACjE,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAY;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAC3D,sFAAsF;IACtF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IACzD,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1F,CAAA;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,MAAuB;IAClE,IAAI,GAAY,CAAA;IAChB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3B,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAChD,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAA;IAC9B,CAAC;IACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAmB,CAAA;IACvD,sEAAsE;IACtE,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACnC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAA;;YACzB,OAAQ,MAAkC,CAAC,MAAM,CAAC,CAAA;IACzD,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/engine.d.ts
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import type { Task, TaskStatus, TaskEvent, BroadcastProvider, ShortTermStore, LongTermStore, TaskcastHooks, EventQueryOptions } from './types.js';
|
|
2
|
-
|
|
3
|
-
shortTerm: ShortTermStore;
|
|
2
|
+
interface TaskEngineOptionsBase {
|
|
4
3
|
broadcast: BroadcastProvider;
|
|
5
|
-
longTerm?: LongTermStore;
|
|
6
4
|
hooks?: TaskcastHooks;
|
|
7
5
|
}
|
|
6
|
+
interface TaskEngineOptionsCanonical extends TaskEngineOptionsBase {
|
|
7
|
+
shortTermStore: ShortTermStore;
|
|
8
|
+
longTermStore?: LongTermStore;
|
|
9
|
+
}
|
|
10
|
+
interface TaskEngineOptionsLegacy extends TaskEngineOptionsBase {
|
|
11
|
+
shortTerm: ShortTermStore;
|
|
12
|
+
longTerm?: LongTermStore;
|
|
13
|
+
}
|
|
14
|
+
export type TaskEngineOptions = TaskEngineOptionsCanonical | TaskEngineOptionsLegacy;
|
|
8
15
|
export interface PublishEventInput {
|
|
9
16
|
type: string;
|
|
10
17
|
level: TaskEvent['level'];
|
|
@@ -23,7 +30,10 @@ export interface CreateTaskInput {
|
|
|
23
30
|
authConfig?: Task['authConfig'];
|
|
24
31
|
}
|
|
25
32
|
export declare class TaskEngine {
|
|
26
|
-
private
|
|
33
|
+
private shortTermStore;
|
|
34
|
+
private longTermStore;
|
|
35
|
+
private broadcast;
|
|
36
|
+
private hooks;
|
|
27
37
|
constructor(opts: TaskEngineOptions);
|
|
28
38
|
createTask(input: CreateTaskInput): Promise<Task>;
|
|
29
39
|
getTask(taskId: string): Promise<Task | null>;
|
|
@@ -36,4 +46,5 @@ export declare class TaskEngine {
|
|
|
36
46
|
subscribe(taskId: string, handler: (event: TaskEvent) => void): () => void;
|
|
37
47
|
private _emit;
|
|
38
48
|
}
|
|
49
|
+
export {};
|
|
39
50
|
//# sourceMappingURL=engine.d.ts.map
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,IAAI,EACJ,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,aAAa,EACb,iBAAiB,EAClB,MAAM,YAAY,CAAA;AAEnB,
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,IAAI,EACJ,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,aAAa,EACb,iBAAiB,EAClB,MAAM,YAAY,CAAA;AAEnB,UAAU,qBAAqB;IAC7B,SAAS,EAAE,iBAAiB,CAAA;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,UAAU,0BAA2B,SAAQ,qBAAqB;IAChE,cAAc,EAAE,cAAc,CAAA;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,UAAU,uBAAwB,SAAQ,qBAAqB;IAC7D,SAAS,EAAE,cAAc,CAAA;IACzB,QAAQ,CAAC,EAAE,aAAa,CAAA;CACzB;AAED,MAAM,MAAM,iBAAiB,GAAG,0BAA0B,GAAG,uBAAuB,CAAA;AAEpF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACzB,UAAU,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;CAChC;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,KAAK,CAA2B;gBAE5B,IAAI,EAAE,iBAAiB;IAiB7B,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBjD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAM7C,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,UAAU,EACd,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;KAAE,GAC3D,OAAO,CAAC,IAAI,CAAC;IAuCV,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC;IAU1E,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAI/E,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI;YAI5D,KAAK;CA2BpB"}
|
package/dist/engine.js
CHANGED
|
@@ -2,9 +2,26 @@ import { ulid } from 'ulidx';
|
|
|
2
2
|
import { canTransition, isTerminal } from './state-machine.js';
|
|
3
3
|
import { processSeries } from './series.js';
|
|
4
4
|
export class TaskEngine {
|
|
5
|
-
|
|
5
|
+
shortTermStore;
|
|
6
|
+
longTermStore;
|
|
7
|
+
broadcast;
|
|
8
|
+
hooks;
|
|
6
9
|
constructor(opts) {
|
|
7
|
-
|
|
10
|
+
if ('shortTermStore' in opts && 'shortTerm' in opts) {
|
|
11
|
+
throw new Error('Cannot specify both shortTermStore and shortTerm');
|
|
12
|
+
}
|
|
13
|
+
if ('longTermStore' in opts && 'longTerm' in opts) {
|
|
14
|
+
throw new Error('Cannot specify both longTermStore and longTerm');
|
|
15
|
+
}
|
|
16
|
+
this.shortTermStore = 'shortTermStore' in opts ? opts.shortTermStore : opts.shortTerm;
|
|
17
|
+
this.longTermStore = 'longTermStore' in opts
|
|
18
|
+
? opts.longTermStore
|
|
19
|
+
: 'longTerm' in opts
|
|
20
|
+
? opts.longTerm
|
|
21
|
+
: undefined;
|
|
22
|
+
this.broadcast = opts.broadcast;
|
|
23
|
+
if (opts.hooks !== undefined)
|
|
24
|
+
this.hooks = opts.hooks;
|
|
8
25
|
}
|
|
9
26
|
async createTask(input) {
|
|
10
27
|
const now = Date.now();
|
|
@@ -21,18 +38,18 @@ export class TaskEngine {
|
|
|
21
38
|
...(input.cleanup !== undefined && { cleanup: input.cleanup }),
|
|
22
39
|
...(input.authConfig !== undefined && { authConfig: input.authConfig }),
|
|
23
40
|
};
|
|
24
|
-
await this.
|
|
25
|
-
if (this.
|
|
26
|
-
await this.
|
|
41
|
+
await this.shortTermStore.saveTask(task);
|
|
42
|
+
if (this.longTermStore)
|
|
43
|
+
await this.longTermStore.saveTask(task);
|
|
27
44
|
if (task.ttl)
|
|
28
|
-
await this.
|
|
45
|
+
await this.shortTermStore.setTTL(task.id, task.ttl);
|
|
29
46
|
return task;
|
|
30
47
|
}
|
|
31
48
|
async getTask(taskId) {
|
|
32
|
-
const fromShort = await this.
|
|
49
|
+
const fromShort = await this.shortTermStore.getTask(taskId);
|
|
33
50
|
if (fromShort)
|
|
34
51
|
return fromShort;
|
|
35
|
-
return this.
|
|
52
|
+
return this.longTermStore?.getTask(taskId) ?? null;
|
|
36
53
|
}
|
|
37
54
|
async transitionTask(taskId, to, payload) {
|
|
38
55
|
const task = await this.getTask(taskId);
|
|
@@ -53,19 +70,19 @@ export class TaskEngine {
|
|
|
53
70
|
...(newResult !== undefined && { result: newResult }),
|
|
54
71
|
...(newError !== undefined && { error: newError }),
|
|
55
72
|
};
|
|
56
|
-
await this.
|
|
57
|
-
if (this.
|
|
58
|
-
await this.
|
|
73
|
+
await this.shortTermStore.saveTask(updated);
|
|
74
|
+
if (this.longTermStore)
|
|
75
|
+
await this.longTermStore.saveTask(updated);
|
|
59
76
|
await this._emit(taskId, {
|
|
60
77
|
type: 'taskcast:status',
|
|
61
78
|
level: 'info',
|
|
62
79
|
data: { status: to, result: updated.result, error: updated.error },
|
|
63
80
|
});
|
|
64
81
|
if (to === 'failed' && updated.error) {
|
|
65
|
-
this.
|
|
82
|
+
this.hooks?.onTaskFailed?.(updated, updated.error);
|
|
66
83
|
}
|
|
67
84
|
if (to === 'timeout') {
|
|
68
|
-
this.
|
|
85
|
+
this.hooks?.onTaskTimeout?.(updated);
|
|
69
86
|
}
|
|
70
87
|
return updated;
|
|
71
88
|
}
|
|
@@ -79,13 +96,13 @@ export class TaskEngine {
|
|
|
79
96
|
return this._emit(taskId, input);
|
|
80
97
|
}
|
|
81
98
|
async getEvents(taskId, opts) {
|
|
82
|
-
return this.
|
|
99
|
+
return this.shortTermStore.getEvents(taskId, opts);
|
|
83
100
|
}
|
|
84
101
|
subscribe(taskId, handler) {
|
|
85
|
-
return this.
|
|
102
|
+
return this.broadcast.subscribe(taskId, handler);
|
|
86
103
|
}
|
|
87
104
|
async _emit(taskId, input) {
|
|
88
|
-
const index = await this.
|
|
105
|
+
const index = await this.shortTermStore.nextIndex(taskId);
|
|
89
106
|
const raw = {
|
|
90
107
|
id: ulid(),
|
|
91
108
|
taskId,
|
|
@@ -97,12 +114,12 @@ export class TaskEngine {
|
|
|
97
114
|
...(input.seriesId !== undefined && { seriesId: input.seriesId }),
|
|
98
115
|
...(input.seriesMode !== undefined && { seriesMode: input.seriesMode }),
|
|
99
116
|
};
|
|
100
|
-
const event = await processSeries(raw, this.
|
|
101
|
-
await this.
|
|
102
|
-
await this.
|
|
103
|
-
if (this.
|
|
104
|
-
this.
|
|
105
|
-
this.
|
|
117
|
+
const event = await processSeries(raw, this.shortTermStore);
|
|
118
|
+
await this.shortTermStore.appendEvent(taskId, event);
|
|
119
|
+
await this.broadcast.publish(taskId, event);
|
|
120
|
+
if (this.longTermStore) {
|
|
121
|
+
this.longTermStore.saveEvent(event).catch((err) => {
|
|
122
|
+
this.hooks?.onEventDropped?.(event, String(err));
|
|
106
123
|
});
|
|
107
124
|
}
|
|
108
125
|
return event;
|
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/state-machine.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { TaskStatus } from './types.js';
|
|
2
2
|
export declare const TERMINAL_STATUSES: readonly TaskStatus[];
|
|
3
|
+
export declare const SUSPENDED_STATUSES: readonly TaskStatus[];
|
|
3
4
|
export declare function canTransition(from: TaskStatus, to: TaskStatus): boolean;
|
|
4
5
|
export declare function applyTransition(from: TaskStatus, to: TaskStatus): TaskStatus;
|
|
5
6
|
export declare function isTerminal(status: TaskStatus): boolean;
|
|
7
|
+
export declare function isSuspended(status: TaskStatus): boolean;
|
|
6
8
|
//# sourceMappingURL=state-machine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-machine.d.ts","sourceRoot":"","sources":["../src/state-machine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,eAAO,MAAM,iBAAiB,EAAE,SAAS,UAAU,EAKzC,CAAA;
|
|
1
|
+
{"version":3,"file":"state-machine.d.ts","sourceRoot":"","sources":["../src/state-machine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,eAAO,MAAM,iBAAiB,EAAE,SAAS,UAAU,EAKzC,CAAA;AAEV,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EAG1C,CAAA;AAaV,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,GAAG,OAAO,CAIvE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,GAAG,UAAU,CAK5E;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAEtD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAEvD"}
|
package/dist/state-machine.js
CHANGED
|
@@ -4,9 +4,15 @@ export const TERMINAL_STATUSES = [
|
|
|
4
4
|
'timeout',
|
|
5
5
|
'cancelled',
|
|
6
6
|
];
|
|
7
|
+
export const SUSPENDED_STATUSES = [
|
|
8
|
+
'paused',
|
|
9
|
+
'blocked',
|
|
10
|
+
];
|
|
7
11
|
const ALLOWED_TRANSITIONS = {
|
|
8
12
|
pending: ['running', 'cancelled'],
|
|
9
|
-
running: ['completed', 'failed', 'timeout', 'cancelled'],
|
|
13
|
+
running: ['paused', 'blocked', 'completed', 'failed', 'timeout', 'cancelled'],
|
|
14
|
+
paused: ['running', 'blocked', 'cancelled'],
|
|
15
|
+
blocked: ['running', 'paused', 'cancelled', 'failed'],
|
|
10
16
|
completed: [],
|
|
11
17
|
failed: [],
|
|
12
18
|
timeout: [],
|
|
@@ -27,4 +33,7 @@ export function applyTransition(from, to) {
|
|
|
27
33
|
export function isTerminal(status) {
|
|
28
34
|
return TERMINAL_STATUSES.includes(status);
|
|
29
35
|
}
|
|
36
|
+
export function isSuspended(status) {
|
|
37
|
+
return SUSPENDED_STATUSES.includes(status);
|
|
38
|
+
}
|
|
30
39
|
//# sourceMappingURL=state-machine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../src/state-machine.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAA0B;IACtD,WAAW;IACX,QAAQ;IACR,SAAS;IACT,WAAW;CACH,CAAA;AAEV,MAAM,mBAAmB,GAAqC;IAC5D,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;IACjC,OAAO,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../src/state-machine.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAA0B;IACtD,WAAW;IACX,QAAQ;IACR,SAAS;IACT,WAAW;CACH,CAAA;AAEV,MAAM,CAAC,MAAM,kBAAkB,GAA0B;IACvD,QAAQ;IACR,SAAS;CACD,CAAA;AAEV,MAAM,mBAAmB,GAAqC;IAC5D,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;IACjC,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC;IAC7E,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC;IAC3C,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;IACrD,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;CACd,CAAA;AAED,MAAM,UAAU,aAAa,CAAC,IAAgB,EAAE,EAAc;IAC5D,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,KAAK,CAAA;IAC7B,yGAAyG;IACzG,OAAO,mBAAmB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,CAAA;AACzD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAgB,EAAE,EAAc;IAC9D,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,MAAM,EAAE,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAkB;IAC3C,OAAO,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAkB;IAC5C,OAAO,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC5C,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type TaskStatus = 'pending' | 'running' | 'completed' | 'failed' | 'timeout' | 'cancelled';
|
|
1
|
+
export type TaskStatus = 'pending' | 'running' | 'paused' | 'blocked' | 'completed' | 'failed' | 'timeout' | 'cancelled';
|
|
2
2
|
export interface TaskError {
|
|
3
3
|
code?: string;
|
|
4
4
|
message: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|