@gravito/flux 1.0.0-alpha.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/README.md +295 -0
- package/dist/builder/WorkflowBuilder.d.ts +96 -0
- package/dist/builder/WorkflowBuilder.d.ts.map +1 -0
- package/dist/builder/index.d.ts +2 -0
- package/dist/builder/index.d.ts.map +1 -0
- package/dist/bun.d.ts +9 -0
- package/dist/bun.d.ts.map +1 -0
- package/dist/bun.js +7 -0
- package/dist/chunk-qjdtqchy.js +145 -0
- package/dist/core/ContextManager.d.ts +40 -0
- package/dist/core/ContextManager.d.ts.map +1 -0
- package/dist/core/StateMachine.d.ts +43 -0
- package/dist/core/StateMachine.d.ts.map +1 -0
- package/dist/core/StepExecutor.d.ts +34 -0
- package/dist/core/StepExecutor.d.ts.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/engine/FluxEngine.d.ts +66 -0
- package/dist/engine/FluxEngine.d.ts.map +1 -0
- package/dist/engine/index.d.ts +2 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +479 -0
- package/dist/index.node.d.ts +18 -0
- package/dist/index.node.d.ts.map +1 -0
- package/dist/logger/FluxLogger.d.ts +40 -0
- package/dist/logger/FluxLogger.d.ts.map +1 -0
- package/dist/logger/index.d.ts +2 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/node/index.cjs +651 -0
- package/dist/node/index.mjs +619 -0
- package/dist/orbit/OrbitFlux.d.ts +107 -0
- package/dist/orbit/OrbitFlux.d.ts.map +1 -0
- package/dist/orbit/index.d.ts +2 -0
- package/dist/orbit/index.d.ts.map +1 -0
- package/dist/storage/BunSQLiteStorage.d.ts +73 -0
- package/dist/storage/BunSQLiteStorage.d.ts.map +1 -0
- package/dist/storage/MemoryStorage.d.ts +28 -0
- package/dist/storage/MemoryStorage.d.ts.map +1 -0
- package/dist/storage/index.d.ts +3 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/types.d.ts +194 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrbitFlux.d.ts","sourceRoot":"","sources":["../../src/orbit/OrbitFlux.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,KAAK,EAAc,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAEvE;;;GAGG;AACH,UAAU,UAAU;IAClB,MAAM,EAAE;QACN,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;QAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;QAC/C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;QAC/C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;KACjD,CAAA;IACD,QAAQ,EAAE;QACR,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;QACtC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAA;KACnC,CAAA;IACD,KAAK,EAAE;QACL,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;KAChD,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,eAAe,CAAA;IAE/C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAA;IAEnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,SAAU,YAAW,YAAY;IAC5C,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,MAAM,CAAC,CAAY;gBAEf,OAAO,GAAE,gBAAqB;IAU1C;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS;IAI3D;;;;OAIG;IACG,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA8D9C;;OAEG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS;CAGpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orbit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Bun SQLite Storage Adapter
|
|
3
|
+
*
|
|
4
|
+
* High-performance storage using Bun's built-in SQLite.
|
|
5
|
+
*
|
|
6
|
+
* @module @gravito/flux/storage
|
|
7
|
+
*/
|
|
8
|
+
import { Database } from 'bun:sqlite';
|
|
9
|
+
import type { WorkflowFilter, WorkflowState, WorkflowStorage } from '../types';
|
|
10
|
+
/**
|
|
11
|
+
* SQLite Storage Options
|
|
12
|
+
*/
|
|
13
|
+
export interface BunSQLiteStorageOptions {
|
|
14
|
+
/** Database file path (default: ':memory:') */
|
|
15
|
+
path?: string;
|
|
16
|
+
/** Table name (default: 'flux_workflows') */
|
|
17
|
+
tableName?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Bun SQLite Storage
|
|
21
|
+
*
|
|
22
|
+
* High-performance storage adapter using Bun's built-in SQLite.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const engine = new FluxEngine({
|
|
27
|
+
* storage: new BunSQLiteStorage({ path: './data/flux.db' })
|
|
28
|
+
* })
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare class BunSQLiteStorage implements WorkflowStorage {
|
|
32
|
+
private db;
|
|
33
|
+
private tableName;
|
|
34
|
+
private initialized;
|
|
35
|
+
constructor(options?: BunSQLiteStorageOptions);
|
|
36
|
+
/**
|
|
37
|
+
* Initialize storage (create tables)
|
|
38
|
+
*/
|
|
39
|
+
init(): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Save workflow state
|
|
42
|
+
*/
|
|
43
|
+
save(state: WorkflowState): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Load workflow state by ID
|
|
46
|
+
*/
|
|
47
|
+
load(id: string): Promise<WorkflowState | null>;
|
|
48
|
+
/**
|
|
49
|
+
* List workflow states with optional filter
|
|
50
|
+
*/
|
|
51
|
+
list(filter?: WorkflowFilter): Promise<WorkflowState[]>;
|
|
52
|
+
/**
|
|
53
|
+
* Delete workflow state
|
|
54
|
+
*/
|
|
55
|
+
delete(id: string): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Close database connection
|
|
58
|
+
*/
|
|
59
|
+
close(): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* Convert SQLite row to WorkflowState
|
|
62
|
+
*/
|
|
63
|
+
private rowToState;
|
|
64
|
+
/**
|
|
65
|
+
* Get raw database (for advanced usage)
|
|
66
|
+
*/
|
|
67
|
+
getDatabase(): Database;
|
|
68
|
+
/**
|
|
69
|
+
* Run a vacuum to optimize database
|
|
70
|
+
*/
|
|
71
|
+
vacuum(): void;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=BunSQLiteStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunSQLiteStorage.d.ts","sourceRoot":"","sources":["../../src/storage/BunSQLiteStorage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE9E;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,gBAAiB,YAAW,eAAe;IACtD,OAAO,CAAC,EAAE,CAAU;IACpB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,WAAW,CAAQ;gBAEf,OAAO,GAAE,uBAA4B;IAKjD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC3B;;OAEG;IACG,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB/C;;OAEG;IACG,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAgBrD;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA2C7D;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACH,OAAO,CAAC,UAAU;IAgBlB;;OAEG;IACH,WAAW,IAAI,QAAQ;IAIvB;;OAEG;IACH,MAAM,IAAI,IAAI;CAGf"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview In-memory storage adapter
|
|
3
|
+
*
|
|
4
|
+
* Simple storage for development and testing.
|
|
5
|
+
*
|
|
6
|
+
* @module @gravito/flux/storage
|
|
7
|
+
*/
|
|
8
|
+
import type { WorkflowFilter, WorkflowState, WorkflowStorage } from '../types';
|
|
9
|
+
/**
|
|
10
|
+
* Memory Storage
|
|
11
|
+
*
|
|
12
|
+
* In-memory storage adapter for development and testing.
|
|
13
|
+
* Data is not persisted across restarts.
|
|
14
|
+
*/
|
|
15
|
+
export declare class MemoryStorage implements WorkflowStorage {
|
|
16
|
+
private store;
|
|
17
|
+
save(state: WorkflowState): Promise<void>;
|
|
18
|
+
load(id: string): Promise<WorkflowState | null>;
|
|
19
|
+
list(filter?: WorkflowFilter): Promise<WorkflowState[]>;
|
|
20
|
+
delete(id: string): Promise<void>;
|
|
21
|
+
init(): Promise<void>;
|
|
22
|
+
close(): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Get store size (for testing)
|
|
25
|
+
*/
|
|
26
|
+
size(): number;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=MemoryStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryStorage.d.ts","sourceRoot":"","sources":["../../src/storage/MemoryStorage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE9E;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,eAAe;IACnD,OAAO,CAAC,KAAK,CAAmC;IAE1C,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzC,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAI/C,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA0BvD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACH,IAAI,IAAI,MAAM;CAGf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Core type definitions for @gravito/flux
|
|
3
|
+
*
|
|
4
|
+
* Platform-agnostic workflow engine types.
|
|
5
|
+
*
|
|
6
|
+
* @module @gravito/flux
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Workflow execution status
|
|
10
|
+
*/
|
|
11
|
+
export type WorkflowStatus = 'pending' | 'running' | 'paused' | 'completed' | 'failed';
|
|
12
|
+
/**
|
|
13
|
+
* Step execution result
|
|
14
|
+
*/
|
|
15
|
+
export interface StepResult<T = unknown> {
|
|
16
|
+
success: boolean;
|
|
17
|
+
data?: T;
|
|
18
|
+
error?: Error;
|
|
19
|
+
duration: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Step execution history entry
|
|
23
|
+
*/
|
|
24
|
+
export interface StepExecution {
|
|
25
|
+
name: string;
|
|
26
|
+
status: 'pending' | 'running' | 'completed' | 'failed' | 'skipped';
|
|
27
|
+
startedAt?: Date;
|
|
28
|
+
completedAt?: Date;
|
|
29
|
+
duration?: number;
|
|
30
|
+
error?: string;
|
|
31
|
+
retries: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Step definition
|
|
35
|
+
*/
|
|
36
|
+
export interface StepDefinition<TContext = WorkflowContext> {
|
|
37
|
+
/** Step name (unique within workflow) */
|
|
38
|
+
name: string;
|
|
39
|
+
/** Step handler function */
|
|
40
|
+
handler: (ctx: TContext) => Promise<void> | void;
|
|
41
|
+
/** Number of retries on failure */
|
|
42
|
+
retries?: number;
|
|
43
|
+
/** Timeout in milliseconds */
|
|
44
|
+
timeout?: number;
|
|
45
|
+
/** Condition to skip this step */
|
|
46
|
+
when?: (ctx: TContext) => boolean;
|
|
47
|
+
/** Mark as commit step (always executes even on replay) */
|
|
48
|
+
commit?: boolean;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Workflow execution context
|
|
52
|
+
*
|
|
53
|
+
* Passed to each step handler with accumulated data.
|
|
54
|
+
*/
|
|
55
|
+
export interface WorkflowContext<TInput = unknown, TData = Record<string, unknown>> {
|
|
56
|
+
/** Unique workflow instance ID */
|
|
57
|
+
readonly id: string;
|
|
58
|
+
/** Workflow definition name */
|
|
59
|
+
readonly name: string;
|
|
60
|
+
/** Original input data */
|
|
61
|
+
readonly input: TInput;
|
|
62
|
+
/** Accumulated step data (mutable) */
|
|
63
|
+
data: TData;
|
|
64
|
+
/** Current workflow status */
|
|
65
|
+
readonly status: WorkflowStatus;
|
|
66
|
+
/** Current step index */
|
|
67
|
+
readonly currentStep: number;
|
|
68
|
+
/** Step execution history */
|
|
69
|
+
readonly history: StepExecution[];
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Serializable workflow state for persistence
|
|
73
|
+
*/
|
|
74
|
+
export interface WorkflowState {
|
|
75
|
+
id: string;
|
|
76
|
+
name: string;
|
|
77
|
+
status: WorkflowStatus;
|
|
78
|
+
input: unknown;
|
|
79
|
+
data: Record<string, unknown>;
|
|
80
|
+
currentStep: number;
|
|
81
|
+
history: StepExecution[];
|
|
82
|
+
createdAt: Date;
|
|
83
|
+
updatedAt: Date;
|
|
84
|
+
completedAt?: Date;
|
|
85
|
+
error?: string;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Workflow definition (immutable blueprint)
|
|
89
|
+
*/
|
|
90
|
+
export interface WorkflowDefinition<TInput = unknown> {
|
|
91
|
+
/** Workflow name */
|
|
92
|
+
name: string;
|
|
93
|
+
/** Step definitions in order */
|
|
94
|
+
steps: StepDefinition[];
|
|
95
|
+
/** Input schema validator (optional) */
|
|
96
|
+
validateInput?: (input: unknown) => input is TInput;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Workflow storage adapter interface
|
|
100
|
+
*/
|
|
101
|
+
export interface WorkflowStorage {
|
|
102
|
+
/**
|
|
103
|
+
* Save workflow state
|
|
104
|
+
*/
|
|
105
|
+
save(state: WorkflowState): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* Load workflow state by ID
|
|
108
|
+
*/
|
|
109
|
+
load(id: string): Promise<WorkflowState | null>;
|
|
110
|
+
/**
|
|
111
|
+
* List workflow states with optional filter
|
|
112
|
+
*/
|
|
113
|
+
list(filter?: WorkflowFilter): Promise<WorkflowState[]>;
|
|
114
|
+
/**
|
|
115
|
+
* Delete workflow state
|
|
116
|
+
*/
|
|
117
|
+
delete(id: string): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Initialize storage (create tables, etc.)
|
|
120
|
+
*/
|
|
121
|
+
init?(): Promise<void>;
|
|
122
|
+
/**
|
|
123
|
+
* Cleanup storage resources
|
|
124
|
+
*/
|
|
125
|
+
close?(): Promise<void>;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Workflow filter options
|
|
129
|
+
*/
|
|
130
|
+
export interface WorkflowFilter {
|
|
131
|
+
name?: string;
|
|
132
|
+
status?: WorkflowStatus | WorkflowStatus[];
|
|
133
|
+
limit?: number;
|
|
134
|
+
offset?: number;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Logger interface for FluxEngine
|
|
138
|
+
*
|
|
139
|
+
* Implement this to create custom loggers.
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```typescript
|
|
143
|
+
* const engine = new FluxEngine({
|
|
144
|
+
* logger: new FluxConsoleLogger()
|
|
145
|
+
* })
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
export interface FluxLogger {
|
|
149
|
+
debug(message: string, ...args: unknown[]): void;
|
|
150
|
+
info(message: string, ...args: unknown[]): void;
|
|
151
|
+
warn(message: string, ...args: unknown[]): void;
|
|
152
|
+
error(message: string, ...args: unknown[]): void;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Workflow engine configuration
|
|
156
|
+
*/
|
|
157
|
+
export interface FluxConfig {
|
|
158
|
+
/** Storage adapter */
|
|
159
|
+
storage?: WorkflowStorage;
|
|
160
|
+
/** Logger instance */
|
|
161
|
+
logger?: FluxLogger;
|
|
162
|
+
/** Default retry count for steps */
|
|
163
|
+
defaultRetries?: number;
|
|
164
|
+
/** Default timeout for steps (ms) */
|
|
165
|
+
defaultTimeout?: number;
|
|
166
|
+
/** Enable parallel execution for independent steps */
|
|
167
|
+
parallel?: boolean;
|
|
168
|
+
/** Event handlers */
|
|
169
|
+
on?: {
|
|
170
|
+
stepStart?: (step: string, ctx: WorkflowContext) => void;
|
|
171
|
+
stepComplete?: (step: string, ctx: WorkflowContext, result: StepResult) => void;
|
|
172
|
+
stepError?: (step: string, ctx: WorkflowContext, error: Error) => void;
|
|
173
|
+
workflowComplete?: (ctx: WorkflowContext) => void;
|
|
174
|
+
workflowError?: (ctx: WorkflowContext, error: Error) => void;
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Workflow execution result
|
|
179
|
+
*/
|
|
180
|
+
export interface FluxResult<TData = Record<string, unknown>> {
|
|
181
|
+
/** Workflow instance ID */
|
|
182
|
+
id: string;
|
|
183
|
+
/** Final status */
|
|
184
|
+
status: WorkflowStatus;
|
|
185
|
+
/** Accumulated data from all steps */
|
|
186
|
+
data: TData;
|
|
187
|
+
/** Step execution history */
|
|
188
|
+
history: StepExecution[];
|
|
189
|
+
/** Total execution duration (ms) */
|
|
190
|
+
duration: number;
|
|
191
|
+
/** Error if failed */
|
|
192
|
+
error?: Error;
|
|
193
|
+
}
|
|
194
|
+
//# 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/package.json
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@gravito/flux",
|
|
3
|
+
"version": "1.0.0-alpha.1",
|
|
4
|
+
"description": "Platform-agnostic workflow engine for Gravito",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/node/index.cjs",
|
|
7
|
+
"module": "./dist/node/index.mjs",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"bun": {
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"types": "./dist/index.d.ts"
|
|
14
|
+
},
|
|
15
|
+
"node": {
|
|
16
|
+
"import": "./dist/node/index.mjs",
|
|
17
|
+
"require": "./dist/node/index.cjs",
|
|
18
|
+
"types": "./dist/index.node.d.ts"
|
|
19
|
+
},
|
|
20
|
+
"import": "./dist/node/index.mjs",
|
|
21
|
+
"require": "./dist/node/index.cjs",
|
|
22
|
+
"types": "./dist/index.d.ts"
|
|
23
|
+
},
|
|
24
|
+
"./bun": {
|
|
25
|
+
"bun": {
|
|
26
|
+
"import": "./dist/bun.js",
|
|
27
|
+
"types": "./dist/bun.d.ts"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"dist",
|
|
33
|
+
"README.md"
|
|
34
|
+
],
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "bun run build.ts",
|
|
37
|
+
"typecheck": "tsc --noEmit",
|
|
38
|
+
"test": "bun test"
|
|
39
|
+
},
|
|
40
|
+
"peerDependencies": {
|
|
41
|
+
"gravito-core": "^1.0.0-beta.1"
|
|
42
|
+
},
|
|
43
|
+
"peerDependenciesMeta": {
|
|
44
|
+
"gravito-core": {
|
|
45
|
+
"optional": true
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"devDependencies": {
|
|
49
|
+
"bun-types": "latest",
|
|
50
|
+
"gravito-core": "workspace:*",
|
|
51
|
+
"typescript": "^5.0.0"
|
|
52
|
+
},
|
|
53
|
+
"keywords": [
|
|
54
|
+
"gravito",
|
|
55
|
+
"workflow",
|
|
56
|
+
"state-machine",
|
|
57
|
+
"pipeline",
|
|
58
|
+
"bun",
|
|
59
|
+
"node"
|
|
60
|
+
],
|
|
61
|
+
"author": "Gravito Team",
|
|
62
|
+
"license": "MIT",
|
|
63
|
+
"repository": {
|
|
64
|
+
"type": "git",
|
|
65
|
+
"url": "https://github.com/gravito-framework/gravito.git",
|
|
66
|
+
"directory": "packages/flux"
|
|
67
|
+
}
|
|
68
|
+
}
|