ts-workflow-engine-lite 2.1.0 โ†’ 3.0.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.
Files changed (35) hide show
  1. package/README.md +140 -21
  2. package/README.zh.md +353 -0
  3. package/dist/src/api/docsPage.js +6 -1
  4. package/dist/src/api/docsPage.js.map +1 -1
  5. package/dist/src/cli.js +0 -4
  6. package/dist/src/cli.js.map +1 -1
  7. package/dist/src/engine/InstanceManager.d.ts +1 -0
  8. package/dist/src/engine/InstanceManager.js +4 -0
  9. package/dist/src/engine/InstanceManager.js.map +1 -1
  10. package/dist/src/engine/WorkflowInstanceControl.js +2 -4
  11. package/dist/src/engine/WorkflowInstanceControl.js.map +1 -1
  12. package/dist/src/storage/ArchiveManager.js +1 -0
  13. package/dist/src/storage/ArchiveManager.js.map +1 -1
  14. package/dist/src/storage/LocalFileStorage.d.ts +17 -0
  15. package/dist/src/storage/LocalFileStorage.js +205 -65
  16. package/dist/src/storage/LocalFileStorage.js.map +1 -1
  17. package/dist/src/storage/MemoryStorage.d.ts +29 -0
  18. package/dist/src/storage/MemoryStorage.js +205 -51
  19. package/dist/src/storage/MemoryStorage.js.map +1 -1
  20. package/dist/src/storage/StorageProvider.d.ts +2 -0
  21. package/dist/src/templates/AutoExtract.js +1 -1
  22. package/dist/src/templates/AutoExtract.js.map +1 -1
  23. package/dist/src/utils/concurrency.d.ts +1 -0
  24. package/dist/src/utils/concurrency.js +7 -0
  25. package/dist/src/utils/concurrency.js.map +1 -1
  26. package/package.json +4 -18
  27. package/dist/src/demo/demoWorkflow.d.ts +0 -3
  28. package/dist/src/demo/demoWorkflow.js +0 -82
  29. package/dist/src/demo/demoWorkflow.js.map +0 -1
  30. package/dist/src/demo/exampleWorkflow.d.ts +0 -36
  31. package/dist/src/demo/exampleWorkflow.js +0 -184
  32. package/dist/src/demo/exampleWorkflow.js.map +0 -1
  33. package/dist/src/demo/index.d.ts +0 -2
  34. package/dist/src/demo/index.js +0 -3
  35. package/dist/src/demo/index.js.map +0 -1
@@ -68,7 +68,7 @@ function extractTemplateFromFile(fileName, content) {
68
68
  },
69
69
  parameters: [],
70
70
  examples: [],
71
- author: "ts-runit",
71
+ author: "ts-workflow-engine-lite",
72
72
  version: "1.0.0",
73
73
  downloads: 0,
74
74
  rating: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"AutoExtract.js","sourceRoot":"","sources":["../../../src/templates/AutoExtract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutoExtract.js","sourceRoot":"","sources":["../../../src/templates/AutoExtract.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export declare const DEFAULT_CONCURRENCY = 16;
2
+ export declare function getRestoreConcurrency(): number;
2
3
  export declare function mapWithConcurrency<T, R>(items: readonly T[], worker: (item: T, index: number) => Promise<R>, concurrency?: number): Promise<R[]>;
3
4
  export declare function forEachWithConcurrency<T>(items: readonly T[], worker: (item: T, index: number) => Promise<void>, concurrency?: number): Promise<void>;
@@ -1,4 +1,11 @@
1
1
  export const DEFAULT_CONCURRENCY = 16;
2
+ export function getRestoreConcurrency() {
3
+ const raw = process.env.STORAGE_RESTORE_CONCURRENCY;
4
+ if (!raw)
5
+ return DEFAULT_CONCURRENCY;
6
+ const parsed = Number.parseInt(raw, 10);
7
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : DEFAULT_CONCURRENCY;
8
+ }
2
9
  export async function mapWithConcurrency(items, worker, concurrency = DEFAULT_CONCURRENCY) {
3
10
  if (items.length === 0)
4
11
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"concurrency.js","sourceRoot":"","sources":["../../../src/utils/concurrency.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAYtC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAmB,EACnB,MAA8C,EAC9C,cAAsB,mBAAmB;IAEzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAQ,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,IAAI,SAAS,GAAG,CAAC,CAAC;IAIlB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,IAAI,EAAE;QACvD,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;YAC1B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO;YAClC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAmB,EACnB,MAAiD,EACjD,cAAsB,mBAAmB;IAEzC,MAAM,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"concurrency.js","sourceRoot":"","sources":["../../../src/utils/concurrency.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAQtC,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;IACpD,IAAI,CAAC,GAAG;QAAE,OAAO,mBAAmB,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;AAC9E,CAAC;AAYD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAmB,EACnB,MAA8C,EAC9C,cAAsB,mBAAmB;IAEzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAQ,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,IAAI,SAAS,GAAG,CAAC,CAAC;IAIlB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,IAAI,EAAE;QACvD,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;YAC1B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO;YAClC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAmB,EACnB,MAAiD,EACjD,cAAsB,mBAAmB;IAEzC,MAAM,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACvD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-workflow-engine-lite",
3
- "version": "2.1.0",
3
+ "version": "3.0.0",
4
4
  "description": "Lightweight TypeScript workflow engine with a REST API and local file persistence for single-process applications.",
5
5
  "keywords": [
6
6
  "ai-workflow",
@@ -46,31 +46,17 @@
46
46
  },
47
47
  "scripts": {
48
48
  "clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
49
- "build": "pnpm clean && tsc -p tsconfig.build.json && node scripts/fix-esm-imports.mjs",
49
+ "build": "pnpm clean && tsc -p tsconfig.build.json && tsx scripts/fix-esm-imports.ts",
50
50
  "start": "pnpm build && node dist/src/cli.js",
51
51
  "dev": "tsx src/cli.ts",
52
52
  "dev:api": "cross-env START_API_SERVER=true tsx src/cli.ts",
53
53
  "start:api": "pnpm build && cross-env START_API_SERVER=true node dist/src/cli.js",
54
- "watch": "tsc -w",
54
+ "watch": "tsc -p tsconfig.build.json -w",
55
55
  "bench": "cross-env VITE_CJS_IGNORE_WARNING=true vitest run --config vitest.bench.config.ts",
56
56
  "test": "cross-env VITE_CJS_IGNORE_WARNING=true vitest run",
57
57
  "test:watch": "cross-env VITE_CJS_IGNORE_WARNING=true vitest",
58
58
  "test:coverage": "cross-env VITE_CJS_IGNORE_WARNING=true vitest run --coverage",
59
- "test:workflow": "tsx src/test/test-workflow.ts",
60
- "test:data-processing": "tsx src/test/data-processing-workflow.ts",
61
- "example:quickstart": "tsx examples/quickstart.ts",
62
- "example:order": "tsx examples/order-processing.ts",
63
- "example:embedded-express": "tsx examples/embedded-express-app.ts",
64
- "example:error-handling": "tsx examples/error-handling.ts",
65
- "example:multi-tenant": "tsx examples/multi-tenant-workflow.ts",
66
- "example:approval": "tsx examples/approval-pipeline.ts",
67
- "example:http": "tsx examples/http-orchestration.ts",
68
- "example:cron-sync": "tsx examples/cron-data-sync.ts",
69
- "example:parallel": "tsx examples/parallel-fan-out.ts",
70
- "example:degradation": "tsx examples/graceful-degradation.ts",
71
- "example:headless": "tsx examples/headless-engine.ts",
72
- "example:worker-pool": "tsx examples/worker-pool.ts",
73
- "example:headless-no-express": "tsx examples/headless-no-express.ts",
59
+ "example": "tsx scripts/run-example.ts",
74
60
  "typecheck": "tsc --noEmit",
75
61
  "lint": "oxlint .",
76
62
  "lint:fix": "oxlint --fix .",
@@ -1,3 +0,0 @@
1
- import type { WorkflowDefinition } from "../model/Workflow.js";
2
- export declare const demoWorkflow: WorkflowDefinition;
3
- export declare function runDemo(engine: any, eventBus: any): Promise<void>;
@@ -1,82 +0,0 @@
1
- import { Logger } from "../utils/Logger.js";
2
- export const demoWorkflow = {
3
- id: "user-onboarding",
4
- name: "User Onboarding Flow",
5
- startNode: "send-welcome-email",
6
- triggerEvents: ["email_confirmed"],
7
- nodes: {
8
- "send-welcome-email": {
9
- id: "send-welcome-email",
10
- type: "action",
11
- action: async () => {
12
- Logger.info("demo", "send-welcome-email", "--------------------");
13
- Logger.debug("demo", "send-welcome-email", "[ACTION] Sending welcome email...");
14
- return { sent: true };
15
- },
16
- next: ["wait-for-confirmation"],
17
- },
18
- "wait-for-confirmation": {
19
- id: "wait-for-confirmation",
20
- type: "event",
21
- onEvent: "email_confirmed",
22
- timeout: 5000,
23
- next: ["setup-account"],
24
- rollbackTo: "wait-for-confirmation",
25
- failureNext: ["wait-failed"],
26
- maxRetries: 2,
27
- },
28
- "wait-failed": {
29
- id: "wait-failed",
30
- type: "action",
31
- action: async () => {
32
- Logger.info("demo", "wait-failed", "=====================");
33
- Logger.debug("demo", "wait-failed", "[ACTION] Waiting failed...");
34
- return { waited: false };
35
- },
36
- next: ["send-failure-notification"],
37
- },
38
- "setup-account": {
39
- id: "setup-account",
40
- type: "action",
41
- action: async () => {
42
- Logger.info("demo", "setup-account", "=====================");
43
- Logger.debug("demo", "setup-account", "[ACTION] Setting up user account...");
44
- return { setup: true };
45
- },
46
- next: [],
47
- },
48
- "send-failure-notification": {
49
- id: "send-failure-notification",
50
- type: "action",
51
- action: async () => {
52
- Logger.info("demo", "send-failure-notification", "=====================");
53
- Logger.debug("demo", "send-failure-notification", "[ACTION] Sending failure notification...");
54
- return { notified: true };
55
- },
56
- next: [],
57
- },
58
- },
59
- };
60
- export async function runDemo(engine, eventBus) {
61
- try {
62
- await engine.register(demoWorkflow);
63
- Logger.info("demo", "register", "Demo workflow registered successfully");
64
- const instanceId = await engine.start("user-onboarding", {
65
- userId: "U-123",
66
- });
67
- Logger.info("demo", "engine", `Started workflow with instance ID: ${instanceId}`);
68
- setTimeout(() => {
69
- try {
70
- Logger.info("demo", "event", `[EVENT] Emitting email_confirmed for instance ${instanceId}...`);
71
- eventBus.emit("email_confirmed", { token: "xyz789", instanceId });
72
- }
73
- catch (err) {
74
- Logger.error("demo", "event", "Error emitting event", err instanceof Error ? err.stack : String(err));
75
- }
76
- }, 4000);
77
- }
78
- catch (error) {
79
- Logger.error("demo", "run", "Failed to run demo workflow", error instanceof Error ? error.stack : String(error));
80
- }
81
- }
82
- //# sourceMappingURL=demoWorkflow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"demoWorkflow.js","sourceRoot":"","sources":["../../../src/demo/demoWorkflow.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import type { WorkflowDefinition } from "../model/Workflow.js";
2
- export declare const exampleWorkflow: WorkflowDefinition;
3
- export declare const exampleScenarios: {
4
- smallOrder: {
5
- name: string;
6
- description: string;
7
- context: {
8
- orderId: string;
9
- orderAmount: number;
10
- email: string;
11
- items: string[];
12
- };
13
- };
14
- largeOrder: {
15
- name: string;
16
- description: string;
17
- context: {
18
- orderId: string;
19
- orderAmount: number;
20
- email: string;
21
- items: string[];
22
- };
23
- };
24
- boundaryOrder: {
25
- name: string;
26
- description: string;
27
- context: {
28
- orderId: string;
29
- orderAmount: number;
30
- email: string;
31
- items: string[];
32
- };
33
- };
34
- };
35
- export declare function runExample(engine: any, scenario?: keyof typeof exampleScenarios): Promise<string>;
36
- export default exampleWorkflow;
@@ -1,184 +0,0 @@
1
- import { Logger } from "../utils/Logger.js";
2
- function delay(ms) {
3
- return new Promise((resolve) => setTimeout(resolve, ms));
4
- }
5
- function logStep(step, message, data) {
6
- Logger.info("example", step, `\n${"โ•".repeat(50)}\n โ–ถ ${message}\n${"โ•".repeat(50)}`, data);
7
- }
8
- export const exampleWorkflow = {
9
- id: "order-processing-example",
10
- name: "่ฎขๅ•ๅค„็†็คบไพ‹ๆต็จ‹",
11
- description: "ๆผ”็คบๆกไปถๅˆ†ๆ”ฏใ€ๅคš่Š‚็‚นๆต่ฝฌ็š„ๅฎŒๆ•ด่ฎขๅ•ๅค„็†ๆต็จ‹",
12
- version: "1.0.0",
13
- startNode: "validate-order",
14
- nodes: {
15
- "validate-order": {
16
- id: "validate-order",
17
- type: "action",
18
- action: async (instance) => {
19
- logStep("STEP-1", "๐Ÿ“‹ ่ฎขๅ•้ชŒ่ฏไธญ...");
20
- await delay(800);
21
- const amount = instance?.context?.orderAmount ?? 150;
22
- const isValid = amount > 0 && amount < 100000;
23
- logStep("STEP-1", "โœ… ่ฎขๅ•้ชŒ่ฏๅฎŒๆˆ", {
24
- amount,
25
- isValid,
26
- orderId: instance?.context?.orderId ?? "ORD-001",
27
- });
28
- return {
29
- valid: isValid,
30
- amount,
31
- orderId: instance?.context?.orderId ?? "ORD-001",
32
- timestamp: new Date().toISOString(),
33
- };
34
- },
35
- next: ["check-amount"],
36
- },
37
- "check-amount": {
38
- id: "check-amount",
39
- type: "condition",
40
- config: {
41
- condition: "orderAmount > 100",
42
- trueBranch: "premium-process",
43
- falseBranch: "standard-process",
44
- },
45
- next: ["premium-process", "standard-process"],
46
- },
47
- "premium-process": {
48
- id: "premium-process",
49
- type: "action",
50
- action: async (_instance) => {
51
- logStep("STEP-2A", "๐ŸŒŸ ้ซ˜็บง่ฎขๅ•ๅค„็†้€š้“", {
52
- channel: "premium",
53
- priority: "high",
54
- });
55
- await delay(1000);
56
- logStep("STEP-2A", "โœจ ้ซ˜็บง้€š้“ๅค„็†ๅฎŒๆˆ", {
57
- discount: "10%",
58
- expressShipping: true,
59
- });
60
- return {
61
- channel: "premium",
62
- discount: 0.1,
63
- expressShipping: true,
64
- processedAt: new Date().toISOString(),
65
- };
66
- },
67
- next: ["send-notification"],
68
- },
69
- "standard-process": {
70
- id: "standard-process",
71
- type: "action",
72
- action: async (_instance) => {
73
- logStep("STEP-2B", "๐Ÿ“ฆ ๆ ‡ๅ‡†่ฎขๅ•ๅค„็†้€š้“", {
74
- channel: "standard",
75
- priority: "normal",
76
- });
77
- await delay(600);
78
- logStep("STEP-2B", "๐Ÿ“ฆ ๆ ‡ๅ‡†้€š้“ๅค„็†ๅฎŒๆˆ", {
79
- discount: "0%",
80
- expressShipping: false,
81
- });
82
- return {
83
- channel: "standard",
84
- discount: 0,
85
- expressShipping: false,
86
- processedAt: new Date().toISOString(),
87
- };
88
- },
89
- next: ["send-notification"],
90
- },
91
- "send-notification": {
92
- id: "send-notification",
93
- type: "action",
94
- action: async (instance) => {
95
- const premiumOutput = instance?.state?.nodes?.["premium-process"]
96
- ?.output;
97
- const standardOutput = instance?.state?.nodes?.["standard-process"]
98
- ?.output;
99
- const channel = premiumOutput?.channel ?? standardOutput?.channel ?? "unknown";
100
- logStep("STEP-3", "๐Ÿ“ง ๅ‘้€่ฎขๅ•้€š็Ÿฅ...", {
101
- channel,
102
- recipient: instance?.context?.email ?? "user@example.com",
103
- });
104
- await delay(500);
105
- logStep("STEP-3", "โœ… ้€š็Ÿฅๅ‘้€ๆˆๅŠŸ", {
106
- messageId: `MSG-${Date.now()}`,
107
- });
108
- return {
109
- notified: true,
110
- channel,
111
- messageId: `MSG-${Date.now()}`,
112
- sentAt: new Date().toISOString(),
113
- };
114
- },
115
- next: ["complete-order"],
116
- },
117
- "complete-order": {
118
- id: "complete-order",
119
- type: "action",
120
- action: async (instance) => {
121
- logStep("STEP-4", "๐ŸŽ‰ ่ฎขๅ•ๅค„็†ๅฎŒๆˆ๏ผ", {
122
- orderId: instance?.context?.orderId ?? "ORD-001",
123
- status: "completed",
124
- });
125
- return {
126
- success: true,
127
- completedAt: new Date().toISOString(),
128
- summary: "่ฎขๅ•ๅค„็†ๆต็จ‹ๅทฒ้กบๅˆฉๅฎŒๆˆ",
129
- };
130
- },
131
- next: [],
132
- },
133
- },
134
- };
135
- export const exampleScenarios = {
136
- smallOrder: {
137
- name: "ๅฐ้ข่ฎขๅ•ๆต‹่ฏ•",
138
- description: "่ฎขๅ•้‡‘้ข <= 100๏ผŒ่ตฐๆ ‡ๅ‡†ๅค„็†้€š้“",
139
- context: {
140
- orderId: "ORD-SMALL-001",
141
- orderAmount: 50,
142
- email: "small-order@example.com",
143
- items: ["ๅ•†ๅ“A"],
144
- },
145
- },
146
- largeOrder: {
147
- name: "ๅคง้ข่ฎขๅ•ๆต‹่ฏ•",
148
- description: "่ฎขๅ•้‡‘้ข > 100๏ผŒ่ตฐ้ซ˜็บงๅค„็†้€š้“",
149
- context: {
150
- orderId: "ORD-LARGE-001",
151
- orderAmount: 500,
152
- email: "vip@example.com",
153
- items: ["ๅ•†ๅ“A", "ๅ•†ๅ“B", "ๅ•†ๅ“C"],
154
- },
155
- },
156
- boundaryOrder: {
157
- name: "่พน็•Œๅ€ผๆต‹่ฏ•",
158
- description: "่ฎขๅ•้‡‘้ข = 100๏ผŒๆต‹่ฏ•ๆกไปถๅˆ†ๆ”ฏ่พน็•Œ",
159
- context: {
160
- orderId: "ORD-BOUNDARY-001",
161
- orderAmount: 100,
162
- email: "boundary@example.com",
163
- items: ["่พน็•Œๆต‹่ฏ•ๅ•†ๅ“"],
164
- },
165
- },
166
- };
167
- export async function runExample(engine, scenario) {
168
- await engine.register(exampleWorkflow);
169
- Logger.info("example", "register", "โœ… ็คบไพ‹ๅทฅไฝœๆตๆณจๅ†ŒๆˆๅŠŸ");
170
- const selectedScenario = scenario
171
- ? exampleScenarios[scenario]
172
- : exampleScenarios.largeOrder;
173
- Logger.info("example", "scenario", `๐Ÿ“‹ ไฝฟ็”จๅœบๆ™ฏ: ${selectedScenario.name}`, {
174
- description: selectedScenario.description,
175
- });
176
- const instanceId = await engine.start(exampleWorkflow.id, selectedScenario.context);
177
- Logger.info("example", "start", "๐Ÿš€ ๅทฅไฝœๆตๅทฒๅฏๅŠจ", {
178
- instanceId,
179
- workflowId: exampleWorkflow.id,
180
- });
181
- return instanceId;
182
- }
183
- export default exampleWorkflow;
184
- //# sourceMappingURL=exampleWorkflow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exampleWorkflow.js","sourceRoot":"","sources":["../../../src/demo/exampleWorkflow.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { demoWorkflow, runDemo } from "./demoWorkflow.js";
2
- export { exampleScenarios, exampleWorkflow, runExample, } from "./exampleWorkflow.js";
@@ -1,3 +0,0 @@
1
- export { demoWorkflow, runDemo } from "./demoWorkflow.js";
2
- export { exampleScenarios, exampleWorkflow, runExample, } from "./exampleWorkflow.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/demo/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,UAAU,GACX,MAAM,mBAAmB,CAAC"}