@ggakila/agentx-framework 0.1.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/CHANGELOG.md +107 -0
- package/LICENSE +21 -0
- package/README.md +335 -0
- package/dist/agent/Agent.d.ts +110 -0
- package/dist/agent/Agent.d.ts.map +1 -0
- package/dist/agent/Agent.js +291 -0
- package/dist/agent/Agent.js.map +1 -0
- package/dist/agent/index.d.ts +5 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +11 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/cli/CLI.d.ts +74 -0
- package/dist/cli/CLI.d.ts.map +1 -0
- package/dist/cli/CLI.js +255 -0
- package/dist/cli/CLI.js.map +1 -0
- package/dist/cli/InteractiveSetup.d.ts +104 -0
- package/dist/cli/InteractiveSetup.d.ts.map +1 -0
- package/dist/cli/InteractiveSetup.js +2225 -0
- package/dist/cli/InteractiveSetup.js.map +1 -0
- package/dist/cli/bin.d.ts +7 -0
- package/dist/cli/bin.d.ts.map +1 -0
- package/dist/cli/bin.js +35 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/commands/ProjectCommands.d.ts +23 -0
- package/dist/cli/commands/ProjectCommands.d.ts.map +1 -0
- package/dist/cli/commands/ProjectCommands.js +504 -0
- package/dist/cli/commands/ProjectCommands.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +21 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/credential/CredentialManager.d.ts +112 -0
- package/dist/credential/CredentialManager.d.ts.map +1 -0
- package/dist/credential/CredentialManager.js +343 -0
- package/dist/credential/CredentialManager.js.map +1 -0
- package/dist/credential/OAuth2Manager.d.ts +206 -0
- package/dist/credential/OAuth2Manager.d.ts.map +1 -0
- package/dist/credential/OAuth2Manager.js +463 -0
- package/dist/credential/OAuth2Manager.js.map +1 -0
- package/dist/credential/index.d.ts +6 -0
- package/dist/credential/index.d.ts.map +1 -0
- package/dist/credential/index.js +16 -0
- package/dist/credential/index.js.map +1 -0
- package/dist/error/ErrorHandler.d.ts +74 -0
- package/dist/error/ErrorHandler.d.ts.map +1 -0
- package/dist/error/ErrorHandler.js +279 -0
- package/dist/error/ErrorHandler.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +100 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/DatabaseTool.d.ts +149 -0
- package/dist/integrations/DatabaseTool.d.ts.map +1 -0
- package/dist/integrations/DatabaseTool.js +900 -0
- package/dist/integrations/DatabaseTool.js.map +1 -0
- package/dist/integrations/EmailTool.d.ts +142 -0
- package/dist/integrations/EmailTool.d.ts.map +1 -0
- package/dist/integrations/EmailTool.js +259 -0
- package/dist/integrations/EmailTool.js.map +1 -0
- package/dist/integrations/FileSystemTool.d.ts +153 -0
- package/dist/integrations/FileSystemTool.d.ts.map +1 -0
- package/dist/integrations/FileSystemTool.js +835 -0
- package/dist/integrations/FileSystemTool.js.map +1 -0
- package/dist/integrations/GoogleWorkspaceTool.d.ts +125 -0
- package/dist/integrations/GoogleWorkspaceTool.d.ts.map +1 -0
- package/dist/integrations/GoogleWorkspaceTool.js +765 -0
- package/dist/integrations/GoogleWorkspaceTool.js.map +1 -0
- package/dist/integrations/HttpTool.d.ts +55 -0
- package/dist/integrations/HttpTool.d.ts.map +1 -0
- package/dist/integrations/HttpTool.js +209 -0
- package/dist/integrations/HttpTool.js.map +1 -0
- package/dist/integrations/MessagingTool.d.ts +136 -0
- package/dist/integrations/MessagingTool.d.ts.map +1 -0
- package/dist/integrations/MessagingTool.js +503 -0
- package/dist/integrations/MessagingTool.js.map +1 -0
- package/dist/integrations/SchedulerTool.d.ts +147 -0
- package/dist/integrations/SchedulerTool.d.ts.map +1 -0
- package/dist/integrations/SchedulerTool.js +471 -0
- package/dist/integrations/SchedulerTool.js.map +1 -0
- package/dist/integrations/WebhookTool.d.ts +97 -0
- package/dist/integrations/WebhookTool.d.ts.map +1 -0
- package/dist/integrations/WebhookTool.js +351 -0
- package/dist/integrations/WebhookTool.js.map +1 -0
- package/dist/integrations/index.d.ts +13 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +60 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/llm/LLMProvider.d.ts +83 -0
- package/dist/llm/LLMProvider.d.ts.map +1 -0
- package/dist/llm/LLMProvider.js +370 -0
- package/dist/llm/LLMProvider.js.map +1 -0
- package/dist/llm/index.d.ts +5 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +14 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/payment/PaymentProvider.d.ts +157 -0
- package/dist/payment/PaymentProvider.d.ts.map +1 -0
- package/dist/payment/PaymentProvider.js +525 -0
- package/dist/payment/PaymentProvider.js.map +1 -0
- package/dist/payment/index.d.ts +5 -0
- package/dist/payment/index.d.ts.map +1 -0
- package/dist/payment/index.js +16 -0
- package/dist/payment/index.js.map +1 -0
- package/dist/plugin/PluginManager.d.ts +156 -0
- package/dist/plugin/PluginManager.d.ts.map +1 -0
- package/dist/plugin/PluginManager.js +288 -0
- package/dist/plugin/PluginManager.js.map +1 -0
- package/dist/plugin/index.d.ts +5 -0
- package/dist/plugin/index.d.ts.map +1 -0
- package/dist/plugin/index.js +10 -0
- package/dist/plugin/index.js.map +1 -0
- package/dist/runtime/AgentXRuntime.d.ts +90 -0
- package/dist/runtime/AgentXRuntime.d.ts.map +1 -0
- package/dist/runtime/AgentXRuntime.js +469 -0
- package/dist/runtime/AgentXRuntime.js.map +1 -0
- package/dist/security/SecurityManager.d.ts +245 -0
- package/dist/security/SecurityManager.d.ts.map +1 -0
- package/dist/security/SecurityManager.js +512 -0
- package/dist/security/SecurityManager.js.map +1 -0
- package/dist/security/index.d.ts +5 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +14 -0
- package/dist/security/index.js.map +1 -0
- package/dist/tool/ToolRegistry.d.ts +58 -0
- package/dist/tool/ToolRegistry.d.ts.map +1 -0
- package/dist/tool/ToolRegistry.js +173 -0
- package/dist/tool/ToolRegistry.js.map +1 -0
- package/dist/tool/ToolValidator.d.ts +41 -0
- package/dist/tool/ToolValidator.d.ts.map +1 -0
- package/dist/tool/ToolValidator.js +158 -0
- package/dist/tool/ToolValidator.js.map +1 -0
- package/dist/tool/index.d.ts +6 -0
- package/dist/tool/index.d.ts.map +1 -0
- package/dist/tool/index.js +11 -0
- package/dist/tool/index.js.map +1 -0
- package/dist/transport/BaseTransport.d.ts +66 -0
- package/dist/transport/BaseTransport.d.ts.map +1 -0
- package/dist/transport/BaseTransport.js +103 -0
- package/dist/transport/BaseTransport.js.map +1 -0
- package/dist/transport/HttpTransport.d.ts +41 -0
- package/dist/transport/HttpTransport.d.ts.map +1 -0
- package/dist/transport/HttpTransport.js +160 -0
- package/dist/transport/HttpTransport.js.map +1 -0
- package/dist/transport/LocalTransport.d.ts +40 -0
- package/dist/transport/LocalTransport.d.ts.map +1 -0
- package/dist/transport/LocalTransport.js +157 -0
- package/dist/transport/LocalTransport.js.map +1 -0
- package/dist/transport/QueueTransport.d.ts +63 -0
- package/dist/transport/QueueTransport.d.ts.map +1 -0
- package/dist/transport/QueueTransport.js +194 -0
- package/dist/transport/QueueTransport.js.map +1 -0
- package/dist/transport/StdioTransport.d.ts +51 -0
- package/dist/transport/StdioTransport.d.ts.map +1 -0
- package/dist/transport/StdioTransport.js +216 -0
- package/dist/transport/StdioTransport.js.map +1 -0
- package/dist/transport/TransportFactory.d.ts +35 -0
- package/dist/transport/TransportFactory.d.ts.map +1 -0
- package/dist/transport/TransportFactory.js +100 -0
- package/dist/transport/TransportFactory.js.map +1 -0
- package/dist/transport/index.d.ts +10 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +19 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/types/agent.d.ts +66 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +3 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/config.d.ts +60 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +6 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/credential.d.ts +38 -0
- package/dist/types/credential.d.ts.map +1 -0
- package/dist/types/credential.js +3 -0
- package/dist/types/credential.js.map +1 -0
- package/dist/types/error.d.ts +136 -0
- package/dist/types/error.d.ts.map +1 -0
- package/dist/types/error.js +223 -0
- package/dist/types/error.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +27 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/llm.d.ts +43 -0
- package/dist/types/llm.d.ts.map +1 -0
- package/dist/types/llm.js +3 -0
- package/dist/types/llm.js.map +1 -0
- package/dist/types/payment.d.ts +129 -0
- package/dist/types/payment.d.ts.map +1 -0
- package/dist/types/payment.js +6 -0
- package/dist/types/payment.js.map +1 -0
- package/dist/types/runtime.d.ts +31 -0
- package/dist/types/runtime.d.ts.map +1 -0
- package/dist/types/runtime.js +3 -0
- package/dist/types/runtime.js.map +1 -0
- package/dist/types/tool.d.ts +72 -0
- package/dist/types/tool.d.ts.map +1 -0
- package/dist/types/tool.js +3 -0
- package/dist/types/tool.js.map +1 -0
- package/dist/types/transport.d.ts +53 -0
- package/dist/types/transport.d.ts.map +1 -0
- package/dist/types/transport.js +3 -0
- package/dist/types/transport.js.map +1 -0
- package/dist/types/workflow.d.ts +72 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +6 -0
- package/dist/types/workflow.js.map +1 -0
- package/dist/utils/factory.d.ts +14 -0
- package/dist/utils/factory.d.ts.map +1 -0
- package/dist/utils/factory.js +146 -0
- package/dist/utils/factory.js.map +1 -0
- package/dist/workflow/StateManager.d.ts +93 -0
- package/dist/workflow/StateManager.d.ts.map +1 -0
- package/dist/workflow/StateManager.js +223 -0
- package/dist/workflow/StateManager.js.map +1 -0
- package/dist/workflow/WorkflowDefinition.d.ts +49 -0
- package/dist/workflow/WorkflowDefinition.d.ts.map +1 -0
- package/dist/workflow/WorkflowDefinition.js +264 -0
- package/dist/workflow/WorkflowDefinition.js.map +1 -0
- package/dist/workflow/WorkflowExecutor.d.ts +42 -0
- package/dist/workflow/WorkflowExecutor.d.ts.map +1 -0
- package/dist/workflow/WorkflowExecutor.js +372 -0
- package/dist/workflow/WorkflowExecutor.js.map +1 -0
- package/dist/workflow/index.d.ts +7 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +17 -0
- package/dist/workflow/index.js.map +1 -0
- package/package.json +122 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { WorkflowDefinition, WorkflowExecution } from './workflow';
|
|
2
|
+
import { ToolSpec } from './tool';
|
|
3
|
+
import { TransportConfig } from './transport';
|
|
4
|
+
import { Agent, AgentConfig } from './agent';
|
|
5
|
+
import { Credential } from './credential';
|
|
6
|
+
/**
|
|
7
|
+
* Core AgentX Runtime Interface
|
|
8
|
+
* Main entry point for the agentx framework
|
|
9
|
+
*/
|
|
10
|
+
export interface AgentXRuntime {
|
|
11
|
+
registerWorkflow(definition: WorkflowDefinition): Promise<void>;
|
|
12
|
+
executeWorkflow(id: string, input?: unknown): Promise<WorkflowExecution>;
|
|
13
|
+
registerTool(spec: ToolSpec, transport: TransportConfig): Promise<void>;
|
|
14
|
+
listTools(): Promise<ToolSpec[]>;
|
|
15
|
+
createAgent(config: AgentConfig): Promise<Agent>;
|
|
16
|
+
setCredential(scope: string, credential: Credential): Promise<void>;
|
|
17
|
+
start(): Promise<void>;
|
|
18
|
+
stop(): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Runtime configuration and metadata
|
|
22
|
+
*/
|
|
23
|
+
export interface RuntimeMetadata {
|
|
24
|
+
version: string;
|
|
25
|
+
startedAt: Date;
|
|
26
|
+
uptime: number;
|
|
27
|
+
activeWorkflows: number;
|
|
28
|
+
registeredTools: number;
|
|
29
|
+
activeAgents: number;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/types/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;GAGG;AACH,MAAM,WAAW,aAAa;IAE5B,gBAAgB,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAGzE,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAGjC,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAGjD,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGpE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/types/runtime.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { JSONSchema7 } from 'json-schema';
|
|
2
|
+
/**
|
|
3
|
+
* Tool System Types
|
|
4
|
+
*/
|
|
5
|
+
export interface ToolSpec {
|
|
6
|
+
name: string;
|
|
7
|
+
version: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
inputSchema?: JSONSchema7;
|
|
10
|
+
outputSchema?: JSONSchema7;
|
|
11
|
+
metadata?: ToolMetadata;
|
|
12
|
+
}
|
|
13
|
+
export interface ToolMetadata {
|
|
14
|
+
category: string;
|
|
15
|
+
tags: string[];
|
|
16
|
+
author?: string;
|
|
17
|
+
documentation?: string;
|
|
18
|
+
requirements?: string[];
|
|
19
|
+
}
|
|
20
|
+
export interface ToolContext {
|
|
21
|
+
executionId: string;
|
|
22
|
+
workflowId: string;
|
|
23
|
+
stepId: string;
|
|
24
|
+
credentials: Record<string, unknown>;
|
|
25
|
+
logger: Logger;
|
|
26
|
+
metrics: MetricsCollector;
|
|
27
|
+
}
|
|
28
|
+
export interface ToolExecutor {
|
|
29
|
+
execute(input: unknown, context: ToolContext): Promise<ToolResult>;
|
|
30
|
+
}
|
|
31
|
+
export interface ToolResult {
|
|
32
|
+
success: boolean;
|
|
33
|
+
data?: unknown;
|
|
34
|
+
error?: string;
|
|
35
|
+
metadata?: Record<string, unknown>;
|
|
36
|
+
}
|
|
37
|
+
export interface Logger {
|
|
38
|
+
debug(message: string, meta?: Record<string, unknown>): void;
|
|
39
|
+
info(message: string, meta?: Record<string, unknown>): void;
|
|
40
|
+
warn(message: string, meta?: Record<string, unknown>): void;
|
|
41
|
+
error(message: string, error?: Error, meta?: Record<string, unknown>): void;
|
|
42
|
+
}
|
|
43
|
+
export interface MetricsCollector {
|
|
44
|
+
increment(metric: string, tags?: Record<string, string>): void;
|
|
45
|
+
gauge(metric: string, value: number, tags?: Record<string, string>): void;
|
|
46
|
+
histogram(metric: string, value: number, tags?: Record<string, string>): void;
|
|
47
|
+
timing(metric: string, duration: number, tags?: Record<string, string>): void;
|
|
48
|
+
}
|
|
49
|
+
export interface ToolRegistry {
|
|
50
|
+
tools: Map<string, RegisteredTool>;
|
|
51
|
+
register(spec: ToolSpec, transport: Transport): Promise<void>;
|
|
52
|
+
unregister(name: string): Promise<void>;
|
|
53
|
+
get(name: string): Promise<RegisteredTool | null>;
|
|
54
|
+
list(): Promise<RegisteredTool[]>;
|
|
55
|
+
search(query: ToolQuery): Promise<RegisteredTool[]>;
|
|
56
|
+
}
|
|
57
|
+
export interface RegisteredTool {
|
|
58
|
+
spec: ToolSpec;
|
|
59
|
+
transport: Transport;
|
|
60
|
+
registeredAt: Date;
|
|
61
|
+
lastUsed?: Date;
|
|
62
|
+
usageCount: number;
|
|
63
|
+
healthStatus: 'healthy' | 'unhealthy' | 'unknown';
|
|
64
|
+
}
|
|
65
|
+
export interface ToolQuery {
|
|
66
|
+
category?: string;
|
|
67
|
+
tags?: string[];
|
|
68
|
+
name?: string;
|
|
69
|
+
version?: string;
|
|
70
|
+
}
|
|
71
|
+
import { Transport } from './transport';
|
|
72
|
+
//# sourceMappingURL=tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/types/tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/types/tool.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ToolSpec, ToolContext, ToolResult } from './tool';
|
|
2
|
+
/**
|
|
3
|
+
* Transport System Types
|
|
4
|
+
*/
|
|
5
|
+
export interface Transport {
|
|
6
|
+
name: string;
|
|
7
|
+
initialize(config: TransportConfig): Promise<void>;
|
|
8
|
+
execute(tool: string, input: unknown, context: ToolContext): Promise<ToolResult>;
|
|
9
|
+
listTools(): Promise<ToolSpec[]>;
|
|
10
|
+
healthCheck(): Promise<boolean>;
|
|
11
|
+
shutdown(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
export interface TransportConfig {
|
|
14
|
+
type: 'local' | 'http' | 'stdio' | 'queue';
|
|
15
|
+
config: Record<string, unknown>;
|
|
16
|
+
}
|
|
17
|
+
export interface LocalTransportConfig extends TransportConfig {
|
|
18
|
+
type: 'local';
|
|
19
|
+
config: {
|
|
20
|
+
modulePath: string;
|
|
21
|
+
className?: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export interface HttpTransportConfig extends TransportConfig {
|
|
25
|
+
type: 'http';
|
|
26
|
+
config: {
|
|
27
|
+
baseUrl: string;
|
|
28
|
+
authentication?: AuthConfig;
|
|
29
|
+
timeout?: number;
|
|
30
|
+
retries?: number;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export interface StdioTransportConfig extends TransportConfig {
|
|
34
|
+
type: 'stdio';
|
|
35
|
+
config: {
|
|
36
|
+
command: string;
|
|
37
|
+
args?: string[];
|
|
38
|
+
env?: Record<string, string>;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export interface QueueTransportConfig extends TransportConfig {
|
|
42
|
+
type: 'queue';
|
|
43
|
+
config: {
|
|
44
|
+
queueUrl: string;
|
|
45
|
+
requestQueue: string;
|
|
46
|
+
responseQueue: string;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export interface AuthConfig {
|
|
50
|
+
type: 'bearer' | 'basic' | 'api_key' | 'oauth2';
|
|
51
|
+
credentials: Record<string, string>;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/types/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE3D;;GAEG;AAEH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACjF,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAGD,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAGD,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,UAAU,CAAC;QAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAGD,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC9B,CAAC;CACH;AAGD,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;IAChD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/types/transport.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow Definition and Execution Types
|
|
3
|
+
*/
|
|
4
|
+
export interface WorkflowDefinition {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
version: string;
|
|
8
|
+
trigger: TriggerConfig;
|
|
9
|
+
steps: WorkflowStep[];
|
|
10
|
+
errorHandling?: ErrorHandlingConfig;
|
|
11
|
+
retryPolicy?: RetryPolicy;
|
|
12
|
+
}
|
|
13
|
+
export interface WorkflowStep {
|
|
14
|
+
id: string;
|
|
15
|
+
type: 'tool' | 'agent' | 'condition' | 'loop' | 'parallel' | 'payment';
|
|
16
|
+
config: StepConfig;
|
|
17
|
+
dependencies?: string[];
|
|
18
|
+
timeout?: number;
|
|
19
|
+
retryPolicy?: RetryPolicy;
|
|
20
|
+
outputVariable?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface TriggerConfig {
|
|
23
|
+
type: 'webhook' | 'cron' | 'polling' | 'manual';
|
|
24
|
+
config: Record<string, unknown>;
|
|
25
|
+
}
|
|
26
|
+
export interface StepConfig {
|
|
27
|
+
[key: string]: unknown;
|
|
28
|
+
}
|
|
29
|
+
export interface ErrorHandlingConfig {
|
|
30
|
+
strategy: 'fail_fast' | 'continue' | 'retry';
|
|
31
|
+
maxRetries?: number;
|
|
32
|
+
retryDelay?: number;
|
|
33
|
+
continueOnError?: boolean;
|
|
34
|
+
fallbackValue?: unknown;
|
|
35
|
+
}
|
|
36
|
+
export interface RetryPolicy {
|
|
37
|
+
maxAttempts: number;
|
|
38
|
+
backoffStrategy: 'linear' | 'exponential' | 'fixed';
|
|
39
|
+
baseDelay: number;
|
|
40
|
+
maxDelay: number;
|
|
41
|
+
}
|
|
42
|
+
export interface WorkflowExecution {
|
|
43
|
+
id: string;
|
|
44
|
+
workflowId: string;
|
|
45
|
+
status: ExecutionStatus;
|
|
46
|
+
input?: unknown;
|
|
47
|
+
output?: unknown;
|
|
48
|
+
error?: string;
|
|
49
|
+
startedAt: Date;
|
|
50
|
+
completedAt?: Date;
|
|
51
|
+
steps: StepExecution[];
|
|
52
|
+
context: ExecutionContext;
|
|
53
|
+
}
|
|
54
|
+
export interface StepExecution {
|
|
55
|
+
id: string;
|
|
56
|
+
stepId: string;
|
|
57
|
+
status: ExecutionStatus;
|
|
58
|
+
input?: unknown;
|
|
59
|
+
output?: unknown;
|
|
60
|
+
error?: string;
|
|
61
|
+
startedAt: Date;
|
|
62
|
+
completedAt?: Date;
|
|
63
|
+
retryCount: number;
|
|
64
|
+
duration: number;
|
|
65
|
+
}
|
|
66
|
+
export type ExecutionStatus = 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
|
|
67
|
+
export interface ExecutionContext {
|
|
68
|
+
variables: Record<string, unknown>;
|
|
69
|
+
metadata: Record<string, unknown>;
|
|
70
|
+
traceId: string;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/types/workflow.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACvE,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE3F,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/types/workflow.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory functions for creating AgentX components
|
|
3
|
+
*/
|
|
4
|
+
import { AgentXConfig } from '../types/config';
|
|
5
|
+
import { AgentXRuntime as IAgentXRuntime } from '../types/runtime';
|
|
6
|
+
/**
|
|
7
|
+
* Create a new AgentX runtime instance with default configuration
|
|
8
|
+
*/
|
|
9
|
+
export declare function createRuntime(config?: Partial<AgentXConfig>): Promise<IAgentXRuntime>;
|
|
10
|
+
/**
|
|
11
|
+
* Default configuration for AgentX
|
|
12
|
+
*/
|
|
13
|
+
export declare const defaultConfig: AgentXConfig;
|
|
14
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/utils/factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAInE;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CA8B3F;AAwDD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,YAiD3B,CAAC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Factory functions for creating AgentX components
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.defaultConfig = void 0;
|
|
7
|
+
exports.createRuntime = createRuntime;
|
|
8
|
+
const AgentXRuntime_1 = require("../runtime/AgentXRuntime");
|
|
9
|
+
/**
|
|
10
|
+
* Create a new AgentX runtime instance with default configuration
|
|
11
|
+
*/
|
|
12
|
+
async function createRuntime(config) {
|
|
13
|
+
const finalConfig = {
|
|
14
|
+
...exports.defaultConfig,
|
|
15
|
+
...config,
|
|
16
|
+
runtime: {
|
|
17
|
+
...exports.defaultConfig.runtime,
|
|
18
|
+
...config?.runtime,
|
|
19
|
+
},
|
|
20
|
+
logging: {
|
|
21
|
+
...exports.defaultConfig.logging,
|
|
22
|
+
...config?.logging,
|
|
23
|
+
},
|
|
24
|
+
metrics: {
|
|
25
|
+
...exports.defaultConfig.metrics,
|
|
26
|
+
...config?.metrics,
|
|
27
|
+
},
|
|
28
|
+
security: {
|
|
29
|
+
...exports.defaultConfig.security,
|
|
30
|
+
...config?.security,
|
|
31
|
+
},
|
|
32
|
+
storage: {
|
|
33
|
+
...exports.defaultConfig.storage,
|
|
34
|
+
...config?.storage,
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
const logger = createLogger(finalConfig.logging);
|
|
38
|
+
const metrics = createMetrics(finalConfig.metrics);
|
|
39
|
+
return new AgentXRuntime_1.AgentXRuntime(finalConfig, logger, metrics);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Create a logger instance
|
|
43
|
+
*/
|
|
44
|
+
function createLogger(config) {
|
|
45
|
+
return {
|
|
46
|
+
debug: (message, meta) => {
|
|
47
|
+
if (config.level === 'debug') {
|
|
48
|
+
console.log(`[DEBUG] ${message}`, meta || '');
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
info: (message, meta) => {
|
|
52
|
+
if (['debug', 'info'].includes(config.level)) {
|
|
53
|
+
console.log(`[INFO] ${message}`, meta || '');
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
warn: (message, meta) => {
|
|
57
|
+
if (['debug', 'info', 'warn'].includes(config.level)) {
|
|
58
|
+
console.warn(`[WARN] ${message}`, meta || '');
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
error: (message, error, meta) => {
|
|
62
|
+
console.error(`[ERROR] ${message}`, error?.message || '', meta || '');
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Create a metrics collector instance
|
|
68
|
+
*/
|
|
69
|
+
function createMetrics(config) {
|
|
70
|
+
return {
|
|
71
|
+
increment: (metric, tags) => {
|
|
72
|
+
if (config.enabled) {
|
|
73
|
+
console.log(`[METRIC] ${metric} +1`, tags || '');
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
gauge: (metric, value, tags) => {
|
|
77
|
+
if (config.enabled) {
|
|
78
|
+
console.log(`[METRIC] ${metric} = ${value}`, tags || '');
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
histogram: (metric, value, tags) => {
|
|
82
|
+
if (config.enabled) {
|
|
83
|
+
console.log(`[METRIC] ${metric} histogram ${value}`, tags || '');
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
timing: (metric, duration, tags) => {
|
|
87
|
+
if (config.enabled) {
|
|
88
|
+
console.log(`[METRIC] ${metric} timing ${duration}ms`, tags || '');
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Default configuration for AgentX
|
|
95
|
+
*/
|
|
96
|
+
exports.defaultConfig = {
|
|
97
|
+
runtime: {
|
|
98
|
+
maxConcurrentWorkflows: 10,
|
|
99
|
+
defaultTimeout: 30000,
|
|
100
|
+
retryPolicy: {
|
|
101
|
+
maxAttempts: 3,
|
|
102
|
+
backoffStrategy: 'exponential',
|
|
103
|
+
baseDelay: 1000,
|
|
104
|
+
maxDelay: 10000,
|
|
105
|
+
},
|
|
106
|
+
rateLimiting: {
|
|
107
|
+
enabled: true,
|
|
108
|
+
requestsPerSecond: 100,
|
|
109
|
+
burstSize: 200,
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
logging: {
|
|
113
|
+
level: 'info',
|
|
114
|
+
format: 'json',
|
|
115
|
+
outputs: [
|
|
116
|
+
{
|
|
117
|
+
type: 'console',
|
|
118
|
+
config: {},
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
metrics: {
|
|
123
|
+
enabled: true,
|
|
124
|
+
provider: 'prometheus',
|
|
125
|
+
config: {},
|
|
126
|
+
},
|
|
127
|
+
security: {
|
|
128
|
+
encryption: {
|
|
129
|
+
algorithm: 'aes-256-gcm',
|
|
130
|
+
keySize: 256,
|
|
131
|
+
},
|
|
132
|
+
authentication: {
|
|
133
|
+
enabled: true,
|
|
134
|
+
providers: ['local'],
|
|
135
|
+
},
|
|
136
|
+
authorization: {
|
|
137
|
+
enabled: true,
|
|
138
|
+
defaultRole: 'user',
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
storage: {
|
|
142
|
+
type: 'memory',
|
|
143
|
+
config: {},
|
|
144
|
+
},
|
|
145
|
+
};
|
|
146
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/utils/factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow State Manager for persistence and recovery
|
|
3
|
+
*/
|
|
4
|
+
import { WorkflowExecution, ExecutionContext, ExecutionStatus } from '../types/workflow';
|
|
5
|
+
import { Logger } from '../types/tool';
|
|
6
|
+
export interface StateStore {
|
|
7
|
+
save(key: string, data: unknown): Promise<void>;
|
|
8
|
+
load(key: string): Promise<unknown | null>;
|
|
9
|
+
delete(key: string): Promise<void>;
|
|
10
|
+
list(prefix: string): Promise<string[]>;
|
|
11
|
+
}
|
|
12
|
+
export interface CheckpointData {
|
|
13
|
+
executionId: string;
|
|
14
|
+
workflowId: string;
|
|
15
|
+
status: ExecutionStatus;
|
|
16
|
+
input?: unknown;
|
|
17
|
+
context: ExecutionContext;
|
|
18
|
+
completedSteps: string[];
|
|
19
|
+
stepResults: Record<string, unknown>;
|
|
20
|
+
checkpointedAt: Date;
|
|
21
|
+
version: number;
|
|
22
|
+
}
|
|
23
|
+
export declare class InMemoryStateStore implements StateStore {
|
|
24
|
+
private store;
|
|
25
|
+
save(key: string, data: unknown): Promise<void>;
|
|
26
|
+
load(key: string): Promise<unknown | null>;
|
|
27
|
+
delete(key: string): Promise<void>;
|
|
28
|
+
list(prefix: string): Promise<string[]>;
|
|
29
|
+
clear(): void;
|
|
30
|
+
}
|
|
31
|
+
export declare class StateManager {
|
|
32
|
+
private store;
|
|
33
|
+
private logger;
|
|
34
|
+
private checkpointInterval;
|
|
35
|
+
constructor(store: StateStore, logger: Logger, checkpointInterval?: number);
|
|
36
|
+
/**
|
|
37
|
+
* Create a checkpoint for an execution
|
|
38
|
+
*/
|
|
39
|
+
checkpoint(execution: WorkflowExecution): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Load a checkpoint for recovery
|
|
42
|
+
*/
|
|
43
|
+
loadCheckpoint(executionId: string): Promise<CheckpointData | null>;
|
|
44
|
+
/**
|
|
45
|
+
* Restore execution from checkpoint
|
|
46
|
+
*/
|
|
47
|
+
restoreExecution(checkpoint: CheckpointData): Promise<WorkflowExecution>;
|
|
48
|
+
/**
|
|
49
|
+
* Delete checkpoint after successful completion
|
|
50
|
+
*/
|
|
51
|
+
deleteCheckpoint(executionId: string): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* List all pending checkpoints (for recovery on startup)
|
|
54
|
+
*/
|
|
55
|
+
listPendingCheckpoints(): Promise<CheckpointData[]>;
|
|
56
|
+
/**
|
|
57
|
+
* Get steps that need to be executed (not yet completed)
|
|
58
|
+
*/
|
|
59
|
+
getStepsToExecute(checkpoint: CheckpointData, allStepIds: string[]): string[];
|
|
60
|
+
private getCheckpointKey;
|
|
61
|
+
private extractStepResults;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Idempotency key manager for ensuring workflow idempotency
|
|
65
|
+
*/
|
|
66
|
+
export declare class IdempotencyManager {
|
|
67
|
+
private store;
|
|
68
|
+
private logger;
|
|
69
|
+
private ttlMs;
|
|
70
|
+
constructor(store: StateStore, logger: Logger, ttlMs?: number);
|
|
71
|
+
/**
|
|
72
|
+
* Generate idempotency key from workflow ID and input
|
|
73
|
+
*/
|
|
74
|
+
generateKey(workflowId: string, input: unknown): string;
|
|
75
|
+
/**
|
|
76
|
+
* Check if a workflow execution with this key already exists
|
|
77
|
+
*/
|
|
78
|
+
checkIdempotency(key: string): Promise<{
|
|
79
|
+
exists: boolean;
|
|
80
|
+
executionId?: string;
|
|
81
|
+
result?: unknown;
|
|
82
|
+
}>;
|
|
83
|
+
/**
|
|
84
|
+
* Record an execution for idempotency
|
|
85
|
+
*/
|
|
86
|
+
recordExecution(key: string, executionId: string, result?: unknown): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Update result for an existing idempotency record
|
|
89
|
+
*/
|
|
90
|
+
updateResult(key: string, result: unknown): Promise<void>;
|
|
91
|
+
private hashInput;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=StateManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StateManager.d.ts","sourceRoot":"","sources":["../../src/workflow/StateManager.ts"],"names":[],"mappings":"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"}
|