@marktoflow/core 2.0.0-alpha.12 → 2.0.0-alpha.13
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/README.md +147 -4
- package/dist/built-in-operations.d.ts +140 -0
- package/dist/built-in-operations.d.ts.map +1 -0
- package/dist/built-in-operations.js +414 -0
- package/dist/built-in-operations.js.map +1 -0
- package/dist/engine.d.ts +11 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +76 -42
- package/dist/engine.js.map +1 -1
- package/dist/file-operations.d.ts +86 -0
- package/dist/file-operations.d.ts.map +1 -0
- package/dist/file-operations.js +363 -0
- package/dist/file-operations.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -1
- package/dist/index.js.map +1 -1
- package/dist/logging.d.ts +40 -2
- package/dist/logging.d.ts.map +1 -1
- package/dist/logging.js +166 -13
- package/dist/logging.js.map +1 -1
- package/dist/models.d.ts +144 -8
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +15 -1
- package/dist/models.js.map +1 -1
- package/dist/nunjucks-filters.d.ts +271 -0
- package/dist/nunjucks-filters.d.ts.map +1 -0
- package/dist/nunjucks-filters.js +648 -0
- package/dist/nunjucks-filters.js.map +1 -0
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +16 -2
- package/dist/parser.js.map +1 -1
- package/dist/prompt-loader.d.ts +8 -2
- package/dist/prompt-loader.d.ts.map +1 -1
- package/dist/prompt-loader.js +26 -89
- package/dist/prompt-loader.js.map +1 -1
- package/dist/scheduler.d.ts +22 -3
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +72 -73
- package/dist/scheduler.js.map +1 -1
- package/dist/script-executor.d.ts +65 -0
- package/dist/script-executor.d.ts.map +1 -0
- package/dist/script-executor.js +261 -0
- package/dist/script-executor.js.map +1 -0
- package/dist/template-engine.d.ts +51 -0
- package/dist/template-engine.d.ts.map +1 -0
- package/dist/template-engine.js +227 -0
- package/dist/template-engine.js.map +1 -0
- package/dist/templates.d.ts +10 -0
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +21 -17
- package/dist/templates.js.map +1 -1
- package/package.json +16 -2
package/dist/parser.js
CHANGED
|
@@ -161,9 +161,10 @@ function parseStepsFromMarkdown(markdown, warnings) {
|
|
|
161
161
|
try {
|
|
162
162
|
const stepRaw = parseYaml(yamlContent);
|
|
163
163
|
// Skip non-step code blocks
|
|
164
|
-
// Check for action, workflow,
|
|
164
|
+
// Check for action, workflow, control flow, or script fields
|
|
165
165
|
const isActionStep = !!stepRaw.action;
|
|
166
166
|
const isWorkflowStep = !!stepRaw.workflow;
|
|
167
|
+
const isScriptStep = stepRaw.type === 'script';
|
|
167
168
|
const isControlFlowStep = stepRaw.type === 'for_each' ||
|
|
168
169
|
stepRaw.type === 'if' ||
|
|
169
170
|
stepRaw.type === 'while' ||
|
|
@@ -178,7 +179,7 @@ function parseStepsFromMarkdown(markdown, warnings) {
|
|
|
178
179
|
(stepRaw.condition && (stepRaw.then || stepRaw.else)) || // if
|
|
179
180
|
(stepRaw.expression && stepRaw.cases) || // switch
|
|
180
181
|
stepRaw.branches; // parallel
|
|
181
|
-
if (!isActionStep && !isWorkflowStep && !isControlFlowStep) {
|
|
182
|
+
if (!isActionStep && !isWorkflowStep && !isScriptStep && !isControlFlowStep) {
|
|
182
183
|
continue;
|
|
183
184
|
}
|
|
184
185
|
const step = normalizeStep(stepRaw, stepIndex);
|
|
@@ -392,6 +393,13 @@ function normalizeStep(raw, index) {
|
|
|
392
393
|
? normalizeSteps(raw.finally)
|
|
393
394
|
: undefined,
|
|
394
395
|
};
|
|
396
|
+
case 'script':
|
|
397
|
+
return {
|
|
398
|
+
...base,
|
|
399
|
+
type: 'script',
|
|
400
|
+
inputs: raw.inputs || {},
|
|
401
|
+
errorHandling: normalizeErrorHandling(raw.error_handling || raw.errorHandling || raw.on_error),
|
|
402
|
+
};
|
|
395
403
|
default:
|
|
396
404
|
// Fallback for backward compatibility
|
|
397
405
|
return {
|
|
@@ -407,6 +415,9 @@ function normalizeStep(raw, index) {
|
|
|
407
415
|
* Normalize an array of steps recursively.
|
|
408
416
|
*/
|
|
409
417
|
function normalizeSteps(steps) {
|
|
418
|
+
if (!steps || !Array.isArray(steps)) {
|
|
419
|
+
return [];
|
|
420
|
+
}
|
|
410
421
|
return steps.map((step, index) => normalizeStep(step, index));
|
|
411
422
|
}
|
|
412
423
|
/**
|
|
@@ -425,6 +436,9 @@ function normalizeCases(cases) {
|
|
|
425
436
|
* Normalize parallel branches.
|
|
426
437
|
*/
|
|
427
438
|
function normalizeBranches(branches) {
|
|
439
|
+
if (!branches || !Array.isArray(branches)) {
|
|
440
|
+
return [];
|
|
441
|
+
}
|
|
428
442
|
return branches.map((branch, index) => ({
|
|
429
443
|
id: branch.id || `branch-${index + 1}`,
|
|
430
444
|
name: branch.name,
|
package/dist/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/prompt-loader.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Prompt Loader for marktoflow v2.0
|
|
3
3
|
*
|
|
4
4
|
* Loads external prompt files with optional YAML frontmatter for variable definitions.
|
|
5
|
-
* Supports template variable resolution using {{ prompt.variable }} syntax.
|
|
5
|
+
* Supports template variable resolution using Nunjucks ({{ prompt.variable }} syntax).
|
|
6
6
|
*/
|
|
7
7
|
import { ExecutionContext } from './models.js';
|
|
8
8
|
export interface PromptVariable {
|
|
@@ -33,7 +33,13 @@ export interface ResolvedPrompt {
|
|
|
33
33
|
*/
|
|
34
34
|
export declare function loadPromptFile(promptPath: string, basePath?: string): Promise<LoadedPrompt>;
|
|
35
35
|
/**
|
|
36
|
-
* Resolve {{ prompt.variable }} templates in a prompt.
|
|
36
|
+
* Resolve {{ prompt.variable }} templates in a prompt using Nunjucks.
|
|
37
|
+
*
|
|
38
|
+
* Features enabled by using Nunjucks:
|
|
39
|
+
* - Filters: {{ prompt.name | upper }}, {{ value | split('/') | first }}
|
|
40
|
+
* - Conditionals: {% if prompt.enabled %}...{% endif %}
|
|
41
|
+
* - Loops: {% for item in items %}...{% endfor %}
|
|
42
|
+
* - All custom filters from nunjucks-filters.ts
|
|
37
43
|
*/
|
|
38
44
|
export declare function resolvePromptTemplate(prompt: LoadedPrompt, inputs: Record<string, unknown>, context?: ExecutionContext): ResolvedPrompt;
|
|
39
45
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-loader.d.ts","sourceRoot":"","sources":["../src/prompt-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt-loader.d.ts","sourceRoot":"","sources":["../src/prompt-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAO/C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC3D,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAQD;;GAEG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,CA2DvB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE,gBAAgB,GACzB,cAAc,CAwChB;AAMD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,gBAAgB,CAmClB;AAyCD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAWhE"}
|
package/dist/prompt-loader.js
CHANGED
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
* Prompt Loader for marktoflow v2.0
|
|
3
3
|
*
|
|
4
4
|
* Loads external prompt files with optional YAML frontmatter for variable definitions.
|
|
5
|
-
* Supports template variable resolution using {{ prompt.variable }} syntax.
|
|
5
|
+
* Supports template variable resolution using Nunjucks ({{ prompt.variable }} syntax).
|
|
6
6
|
*/
|
|
7
7
|
import { readFile } from 'node:fs/promises';
|
|
8
8
|
import { resolve, dirname } from 'node:path';
|
|
9
9
|
import { parse as parseYaml } from 'yaml';
|
|
10
|
+
import { renderTemplate } from './template-engine.js';
|
|
10
11
|
// ============================================================================
|
|
11
12
|
// Prompt Loading
|
|
12
13
|
// ============================================================================
|
|
@@ -75,7 +76,13 @@ export async function loadPromptFile(promptPath, basePath) {
|
|
|
75
76
|
// Template Resolution
|
|
76
77
|
// ============================================================================
|
|
77
78
|
/**
|
|
78
|
-
* Resolve {{ prompt.variable }} templates in a prompt.
|
|
79
|
+
* Resolve {{ prompt.variable }} templates in a prompt using Nunjucks.
|
|
80
|
+
*
|
|
81
|
+
* Features enabled by using Nunjucks:
|
|
82
|
+
* - Filters: {{ prompt.name | upper }}, {{ value | split('/') | first }}
|
|
83
|
+
* - Conditionals: {% if prompt.enabled %}...{% endif %}
|
|
84
|
+
* - Loops: {% for item in items %}...{% endfor %}
|
|
85
|
+
* - All custom filters from nunjucks-filters.ts
|
|
79
86
|
*/
|
|
80
87
|
export function resolvePromptTemplate(prompt, inputs, context) {
|
|
81
88
|
// Build resolved variables with defaults
|
|
@@ -90,56 +97,28 @@ export function resolvePromptTemplate(prompt, inputs, context) {
|
|
|
90
97
|
for (const [name, value] of Object.entries(inputs)) {
|
|
91
98
|
resolvedVars[name] = value;
|
|
92
99
|
}
|
|
93
|
-
//
|
|
94
|
-
|
|
95
|
-
//
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
//
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
return serializeValue(value);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
// Try to resolve from prompt inputs
|
|
115
|
-
const value = getNestedValue(resolvedVars, trimmedPath);
|
|
116
|
-
if (value !== undefined) {
|
|
117
|
-
return serializeValue(value);
|
|
118
|
-
}
|
|
119
|
-
// Leave unresolved templates as-is (they may be resolved later)
|
|
120
|
-
return match;
|
|
121
|
-
});
|
|
100
|
+
// Build the template context
|
|
101
|
+
// 'prompt' namespace contains the resolved prompt variables
|
|
102
|
+
// Also include context variables if available
|
|
103
|
+
const templateContext = {
|
|
104
|
+
prompt: resolvedVars,
|
|
105
|
+
...resolvedVars, // Also expose at top level for backward compatibility
|
|
106
|
+
};
|
|
107
|
+
// Add context variables if available
|
|
108
|
+
if (context) {
|
|
109
|
+
templateContext.inputs = context.inputs;
|
|
110
|
+
templateContext.variables = context.variables;
|
|
111
|
+
// Merge context variables at top level for convenience
|
|
112
|
+
Object.assign(templateContext, context.variables);
|
|
113
|
+
}
|
|
114
|
+
// Render template using Nunjucks
|
|
115
|
+
const rendered = renderTemplate(prompt.content, templateContext);
|
|
116
|
+
const content = typeof rendered === 'string' ? rendered : String(rendered);
|
|
122
117
|
return {
|
|
123
118
|
content,
|
|
124
119
|
variables: resolvedVars,
|
|
125
120
|
};
|
|
126
121
|
}
|
|
127
|
-
/**
|
|
128
|
-
* Resolve a variable path from execution context.
|
|
129
|
-
*/
|
|
130
|
-
function resolveFromContext(path, context) {
|
|
131
|
-
// Handle inputs.* prefix
|
|
132
|
-
if (path.startsWith('inputs.')) {
|
|
133
|
-
const inputPath = path.slice(7);
|
|
134
|
-
return getNestedValue(context.inputs, inputPath);
|
|
135
|
-
}
|
|
136
|
-
// Check variables
|
|
137
|
-
const fromVars = getNestedValue(context.variables, path);
|
|
138
|
-
if (fromVars !== undefined) {
|
|
139
|
-
return fromVars;
|
|
140
|
-
}
|
|
141
|
-
return undefined;
|
|
142
|
-
}
|
|
143
122
|
// ============================================================================
|
|
144
123
|
// Validation
|
|
145
124
|
// ============================================================================
|
|
@@ -210,48 +189,6 @@ function validateType(value, type, name) {
|
|
|
210
189
|
}
|
|
211
190
|
return null;
|
|
212
191
|
}
|
|
213
|
-
// ============================================================================
|
|
214
|
-
// Helpers
|
|
215
|
-
// ============================================================================
|
|
216
|
-
/**
|
|
217
|
-
* Get a nested value from an object using dot notation.
|
|
218
|
-
*/
|
|
219
|
-
function getNestedValue(obj, path) {
|
|
220
|
-
if (obj === null || obj === undefined) {
|
|
221
|
-
return undefined;
|
|
222
|
-
}
|
|
223
|
-
const parts = path.split('.');
|
|
224
|
-
let current = obj;
|
|
225
|
-
for (const part of parts) {
|
|
226
|
-
if (current === null || current === undefined) {
|
|
227
|
-
return undefined;
|
|
228
|
-
}
|
|
229
|
-
if (typeof current === 'object') {
|
|
230
|
-
current = current[part];
|
|
231
|
-
}
|
|
232
|
-
else {
|
|
233
|
-
return undefined;
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
return current;
|
|
237
|
-
}
|
|
238
|
-
/**
|
|
239
|
-
* Serialize a value for template interpolation.
|
|
240
|
-
*/
|
|
241
|
-
function serializeValue(value) {
|
|
242
|
-
if (value === undefined || value === null) {
|
|
243
|
-
return '';
|
|
244
|
-
}
|
|
245
|
-
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
|
|
246
|
-
return String(value);
|
|
247
|
-
}
|
|
248
|
-
try {
|
|
249
|
-
return JSON.stringify(value, null, 2);
|
|
250
|
-
}
|
|
251
|
-
catch {
|
|
252
|
-
return String(value);
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
192
|
/**
|
|
256
193
|
* Extract all variable references from a prompt template.
|
|
257
194
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-loader.js","sourceRoot":"","sources":["../src/prompt-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt-loader.js","sourceRoot":"","sources":["../src/prompt-loader.ts"],"names":[],"mappings":"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"}
|
package/dist/scheduler.d.ts
CHANGED
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
* Scheduler for marktoflow v2.0
|
|
3
3
|
*
|
|
4
4
|
* Handles cron-based scheduling of workflow execution.
|
|
5
|
+
* Uses cron-parser for robust cron expression handling with proper
|
|
6
|
+
* DST handling, leap year support, and timezone awareness.
|
|
5
7
|
*/
|
|
8
|
+
import { type CronExpression } from 'cron-parser';
|
|
6
9
|
export interface ScheduledJob {
|
|
7
10
|
id: string;
|
|
8
11
|
workflowPath: string;
|
|
@@ -29,15 +32,31 @@ export declare class CronParser {
|
|
|
29
32
|
* Special values: * (any), * /N (every N), N-M (range), N,M (list)
|
|
30
33
|
*/
|
|
31
34
|
static parse(expression: string): CronFields;
|
|
32
|
-
private static parseField;
|
|
33
35
|
/**
|
|
34
36
|
* Check if a date matches a cron expression.
|
|
35
37
|
*/
|
|
36
38
|
static matches(expression: string, date: Date): boolean;
|
|
37
39
|
/**
|
|
38
40
|
* Calculate the next run time for a cron expression.
|
|
41
|
+
* Supports timezone-aware scheduling.
|
|
39
42
|
*/
|
|
40
|
-
static nextRun(expression: string, after?: Date): Date | null;
|
|
43
|
+
static nextRun(expression: string, after?: Date, timezone?: string): Date | null;
|
|
44
|
+
/**
|
|
45
|
+
* Calculate the previous run time for a cron expression.
|
|
46
|
+
*/
|
|
47
|
+
static prevRun(expression: string, before?: Date, timezone?: string): Date | null;
|
|
48
|
+
/**
|
|
49
|
+
* Validate a cron expression without throwing.
|
|
50
|
+
* Only accepts standard 5-field cron expressions.
|
|
51
|
+
*/
|
|
52
|
+
static isValid(expression: string): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Get the underlying cron-parser CronExpression for advanced usage.
|
|
55
|
+
*/
|
|
56
|
+
static getInterval(expression: string, options?: {
|
|
57
|
+
currentDate?: Date;
|
|
58
|
+
tz?: string;
|
|
59
|
+
}): CronExpression;
|
|
41
60
|
}
|
|
42
61
|
export declare class Scheduler {
|
|
43
62
|
private checkIntervalMs;
|
|
@@ -87,5 +106,5 @@ export declare class Scheduler {
|
|
|
87
106
|
*/
|
|
88
107
|
isRunning(): boolean;
|
|
89
108
|
}
|
|
90
|
-
export declare function createJob(id: string, workflowPath: string, schedule: string, inputs?: Record<string, unknown
|
|
109
|
+
export declare function createJob(id: string, workflowPath: string, schedule: string, inputs?: Record<string, unknown>, timezone?: string): ScheduledJob;
|
|
91
110
|
//# sourceMappingURL=scheduler.d.ts.map
|
package/dist/scheduler.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
|
package/dist/scheduler.js
CHANGED
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
* Scheduler for marktoflow v2.0
|
|
3
3
|
*
|
|
4
4
|
* Handles cron-based scheduling of workflow execution.
|
|
5
|
+
* Uses cron-parser for robust cron expression handling with proper
|
|
6
|
+
* DST handling, leap year support, and timezone awareness.
|
|
5
7
|
*/
|
|
8
|
+
import { CronExpressionParser } from 'cron-parser';
|
|
6
9
|
// ============================================================================
|
|
7
|
-
// Cron Parser
|
|
10
|
+
// Cron Parser (wrapper around cron-parser)
|
|
8
11
|
// ============================================================================
|
|
9
12
|
export class CronParser {
|
|
10
13
|
/**
|
|
@@ -17,57 +20,18 @@ export class CronParser {
|
|
|
17
20
|
if (parts.length !== 5) {
|
|
18
21
|
throw new Error(`Invalid cron expression: ${expression}. Expected 5 fields.`);
|
|
19
22
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
// Use cron-parser to validate and parse
|
|
24
|
+
const cronExpr = CronExpressionParser.parse(expression);
|
|
25
|
+
const fields = cronExpr.fields;
|
|
26
|
+
// Extract numeric values from cron fields
|
|
27
|
+
const extractNumbers = (values) => values.filter((v) => typeof v === 'number');
|
|
28
|
+
return {
|
|
29
|
+
minute: extractNumbers(fields.minute.values),
|
|
30
|
+
hour: extractNumbers(fields.hour.values),
|
|
31
|
+
day: extractNumbers(fields.dayOfMonth.values),
|
|
32
|
+
month: extractNumbers(fields.month.values),
|
|
33
|
+
weekday: extractNumbers(fields.dayOfWeek.values),
|
|
26
34
|
};
|
|
27
|
-
const fieldNames = ['minute', 'hour', 'day', 'month', 'weekday'];
|
|
28
|
-
const result = {
|
|
29
|
-
minute: [],
|
|
30
|
-
hour: [],
|
|
31
|
-
day: [],
|
|
32
|
-
month: [],
|
|
33
|
-
weekday: [],
|
|
34
|
-
};
|
|
35
|
-
for (let i = 0; i < fieldNames.length; i++) {
|
|
36
|
-
const name = fieldNames[i];
|
|
37
|
-
const [min, max] = ranges[name];
|
|
38
|
-
result[name] = this.parseField(parts[i], min, max);
|
|
39
|
-
}
|
|
40
|
-
return result;
|
|
41
|
-
}
|
|
42
|
-
static parseField(field, minVal, maxVal) {
|
|
43
|
-
const values = new Set();
|
|
44
|
-
for (const part of field.split(',')) {
|
|
45
|
-
if (part === '*') {
|
|
46
|
-
for (let i = minVal; i <= maxVal; i++) {
|
|
47
|
-
values.add(i);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
else if (part.includes('/')) {
|
|
51
|
-
const [base, stepStr] = part.split('/');
|
|
52
|
-
const step = parseInt(stepStr, 10);
|
|
53
|
-
const start = base === '*' ? minVal : parseInt(base, 10);
|
|
54
|
-
for (let i = start; i <= maxVal; i += step) {
|
|
55
|
-
values.add(i);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
else if (part.includes('-')) {
|
|
59
|
-
const [startStr, endStr] = part.split('-');
|
|
60
|
-
const start = parseInt(startStr, 10);
|
|
61
|
-
const end = parseInt(endStr, 10);
|
|
62
|
-
for (let i = start; i <= end; i++) {
|
|
63
|
-
values.add(i);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
values.add(parseInt(part, 10));
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return Array.from(values).sort((a, b) => a - b);
|
|
71
35
|
}
|
|
72
36
|
/**
|
|
73
37
|
* Check if a date matches a cron expression.
|
|
@@ -87,28 +51,63 @@ export class CronParser {
|
|
|
87
51
|
}
|
|
88
52
|
/**
|
|
89
53
|
* Calculate the next run time for a cron expression.
|
|
54
|
+
* Supports timezone-aware scheduling.
|
|
90
55
|
*/
|
|
91
|
-
static nextRun(expression, after) {
|
|
92
|
-
const start = after || new Date();
|
|
56
|
+
static nextRun(expression, after, timezone) {
|
|
93
57
|
try {
|
|
94
|
-
|
|
58
|
+
const cronExpr = CronExpressionParser.parse(expression, {
|
|
59
|
+
currentDate: after ?? new Date(),
|
|
60
|
+
tz: timezone ?? 'UTC',
|
|
61
|
+
});
|
|
62
|
+
return cronExpr.next().toDate();
|
|
95
63
|
}
|
|
96
64
|
catch {
|
|
97
65
|
return null;
|
|
98
66
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Calculate the previous run time for a cron expression.
|
|
70
|
+
*/
|
|
71
|
+
static prevRun(expression, before, timezone) {
|
|
72
|
+
try {
|
|
73
|
+
const cronExpr = CronExpressionParser.parse(expression, {
|
|
74
|
+
currentDate: before ?? new Date(),
|
|
75
|
+
tz: timezone ?? 'UTC',
|
|
76
|
+
});
|
|
77
|
+
return cronExpr.prev().toDate();
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Validate a cron expression without throwing.
|
|
85
|
+
* Only accepts standard 5-field cron expressions.
|
|
86
|
+
*/
|
|
87
|
+
static isValid(expression) {
|
|
88
|
+
if (!expression || typeof expression !== 'string') {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
const parts = expression.trim().split(/\s+/);
|
|
92
|
+
if (parts.length !== 5) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
try {
|
|
96
|
+
CronExpressionParser.parse(expression);
|
|
97
|
+
return true;
|
|
110
98
|
}
|
|
111
|
-
|
|
99
|
+
catch {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Get the underlying cron-parser CronExpression for advanced usage.
|
|
105
|
+
*/
|
|
106
|
+
static getInterval(expression, options) {
|
|
107
|
+
return CronExpressionParser.parse(expression, {
|
|
108
|
+
currentDate: options?.currentDate ?? new Date(),
|
|
109
|
+
tz: options?.tz ?? 'UTC',
|
|
110
|
+
});
|
|
112
111
|
}
|
|
113
112
|
}
|
|
114
113
|
// ============================================================================
|
|
@@ -127,8 +126,8 @@ export class Scheduler {
|
|
|
127
126
|
* Add a scheduled job.
|
|
128
127
|
*/
|
|
129
128
|
addJob(job) {
|
|
130
|
-
// Calculate next run time
|
|
131
|
-
job.nextRun = CronParser.nextRun(job.schedule);
|
|
129
|
+
// Calculate next run time with timezone support
|
|
130
|
+
job.nextRun = CronParser.nextRun(job.schedule, undefined, job.timezone);
|
|
132
131
|
this.jobs.set(job.id, job);
|
|
133
132
|
}
|
|
134
133
|
/**
|
|
@@ -203,7 +202,7 @@ export class Scheduler {
|
|
|
203
202
|
// Update job state
|
|
204
203
|
job.lastRun = now;
|
|
205
204
|
job.runCount++;
|
|
206
|
-
job.nextRun = CronParser.nextRun(job.schedule, now);
|
|
205
|
+
job.nextRun = CronParser.nextRun(job.schedule, now, job.timezone);
|
|
207
206
|
}
|
|
208
207
|
}
|
|
209
208
|
/**
|
|
@@ -228,7 +227,7 @@ export class Scheduler {
|
|
|
228
227
|
}
|
|
229
228
|
job.lastRun = now;
|
|
230
229
|
job.runCount++;
|
|
231
|
-
job.nextRun = CronParser.nextRun(job.schedule, now);
|
|
230
|
+
job.nextRun = CronParser.nextRun(job.schedule, now, job.timezone);
|
|
232
231
|
results.set(job.id, now);
|
|
233
232
|
}
|
|
234
233
|
return results;
|
|
@@ -243,15 +242,15 @@ export class Scheduler {
|
|
|
243
242
|
// ============================================================================
|
|
244
243
|
// Helper Functions
|
|
245
244
|
// ============================================================================
|
|
246
|
-
export function createJob(id, workflowPath, schedule, inputs = {}) {
|
|
245
|
+
export function createJob(id, workflowPath, schedule, inputs = {}, timezone = 'UTC') {
|
|
247
246
|
return {
|
|
248
247
|
id,
|
|
249
248
|
workflowPath,
|
|
250
249
|
schedule,
|
|
251
|
-
timezone
|
|
250
|
+
timezone,
|
|
252
251
|
enabled: true,
|
|
253
252
|
lastRun: null,
|
|
254
|
-
nextRun: CronParser.nextRun(schedule),
|
|
253
|
+
nextRun: CronParser.nextRun(schedule, undefined, timezone),
|
|
255
254
|
runCount: 0,
|
|
256
255
|
inputs,
|
|
257
256
|
};
|