@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.
Files changed (228) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/LICENSE +21 -0
  3. package/README.md +335 -0
  4. package/dist/agent/Agent.d.ts +110 -0
  5. package/dist/agent/Agent.d.ts.map +1 -0
  6. package/dist/agent/Agent.js +291 -0
  7. package/dist/agent/Agent.js.map +1 -0
  8. package/dist/agent/index.d.ts +5 -0
  9. package/dist/agent/index.d.ts.map +1 -0
  10. package/dist/agent/index.js +11 -0
  11. package/dist/agent/index.js.map +1 -0
  12. package/dist/cli/CLI.d.ts +74 -0
  13. package/dist/cli/CLI.d.ts.map +1 -0
  14. package/dist/cli/CLI.js +255 -0
  15. package/dist/cli/CLI.js.map +1 -0
  16. package/dist/cli/InteractiveSetup.d.ts +104 -0
  17. package/dist/cli/InteractiveSetup.d.ts.map +1 -0
  18. package/dist/cli/InteractiveSetup.js +2225 -0
  19. package/dist/cli/InteractiveSetup.js.map +1 -0
  20. package/dist/cli/bin.d.ts +7 -0
  21. package/dist/cli/bin.d.ts.map +1 -0
  22. package/dist/cli/bin.js +35 -0
  23. package/dist/cli/bin.js.map +1 -0
  24. package/dist/cli/commands/ProjectCommands.d.ts +23 -0
  25. package/dist/cli/commands/ProjectCommands.d.ts.map +1 -0
  26. package/dist/cli/commands/ProjectCommands.js +504 -0
  27. package/dist/cli/commands/ProjectCommands.js.map +1 -0
  28. package/dist/cli/index.d.ts +7 -0
  29. package/dist/cli/index.d.ts.map +1 -0
  30. package/dist/cli/index.js +21 -0
  31. package/dist/cli/index.js.map +1 -0
  32. package/dist/credential/CredentialManager.d.ts +112 -0
  33. package/dist/credential/CredentialManager.d.ts.map +1 -0
  34. package/dist/credential/CredentialManager.js +343 -0
  35. package/dist/credential/CredentialManager.js.map +1 -0
  36. package/dist/credential/OAuth2Manager.d.ts +206 -0
  37. package/dist/credential/OAuth2Manager.d.ts.map +1 -0
  38. package/dist/credential/OAuth2Manager.js +463 -0
  39. package/dist/credential/OAuth2Manager.js.map +1 -0
  40. package/dist/credential/index.d.ts +6 -0
  41. package/dist/credential/index.d.ts.map +1 -0
  42. package/dist/credential/index.js +16 -0
  43. package/dist/credential/index.js.map +1 -0
  44. package/dist/error/ErrorHandler.d.ts +74 -0
  45. package/dist/error/ErrorHandler.d.ts.map +1 -0
  46. package/dist/error/ErrorHandler.js +279 -0
  47. package/dist/error/ErrorHandler.js.map +1 -0
  48. package/dist/index.d.ts +30 -0
  49. package/dist/index.d.ts.map +1 -0
  50. package/dist/index.js +100 -0
  51. package/dist/index.js.map +1 -0
  52. package/dist/integrations/DatabaseTool.d.ts +149 -0
  53. package/dist/integrations/DatabaseTool.d.ts.map +1 -0
  54. package/dist/integrations/DatabaseTool.js +900 -0
  55. package/dist/integrations/DatabaseTool.js.map +1 -0
  56. package/dist/integrations/EmailTool.d.ts +142 -0
  57. package/dist/integrations/EmailTool.d.ts.map +1 -0
  58. package/dist/integrations/EmailTool.js +259 -0
  59. package/dist/integrations/EmailTool.js.map +1 -0
  60. package/dist/integrations/FileSystemTool.d.ts +153 -0
  61. package/dist/integrations/FileSystemTool.d.ts.map +1 -0
  62. package/dist/integrations/FileSystemTool.js +835 -0
  63. package/dist/integrations/FileSystemTool.js.map +1 -0
  64. package/dist/integrations/GoogleWorkspaceTool.d.ts +125 -0
  65. package/dist/integrations/GoogleWorkspaceTool.d.ts.map +1 -0
  66. package/dist/integrations/GoogleWorkspaceTool.js +765 -0
  67. package/dist/integrations/GoogleWorkspaceTool.js.map +1 -0
  68. package/dist/integrations/HttpTool.d.ts +55 -0
  69. package/dist/integrations/HttpTool.d.ts.map +1 -0
  70. package/dist/integrations/HttpTool.js +209 -0
  71. package/dist/integrations/HttpTool.js.map +1 -0
  72. package/dist/integrations/MessagingTool.d.ts +136 -0
  73. package/dist/integrations/MessagingTool.d.ts.map +1 -0
  74. package/dist/integrations/MessagingTool.js +503 -0
  75. package/dist/integrations/MessagingTool.js.map +1 -0
  76. package/dist/integrations/SchedulerTool.d.ts +147 -0
  77. package/dist/integrations/SchedulerTool.d.ts.map +1 -0
  78. package/dist/integrations/SchedulerTool.js +471 -0
  79. package/dist/integrations/SchedulerTool.js.map +1 -0
  80. package/dist/integrations/WebhookTool.d.ts +97 -0
  81. package/dist/integrations/WebhookTool.d.ts.map +1 -0
  82. package/dist/integrations/WebhookTool.js +351 -0
  83. package/dist/integrations/WebhookTool.js.map +1 -0
  84. package/dist/integrations/index.d.ts +13 -0
  85. package/dist/integrations/index.d.ts.map +1 -0
  86. package/dist/integrations/index.js +60 -0
  87. package/dist/integrations/index.js.map +1 -0
  88. package/dist/llm/LLMProvider.d.ts +83 -0
  89. package/dist/llm/LLMProvider.d.ts.map +1 -0
  90. package/dist/llm/LLMProvider.js +370 -0
  91. package/dist/llm/LLMProvider.js.map +1 -0
  92. package/dist/llm/index.d.ts +5 -0
  93. package/dist/llm/index.d.ts.map +1 -0
  94. package/dist/llm/index.js +14 -0
  95. package/dist/llm/index.js.map +1 -0
  96. package/dist/payment/PaymentProvider.d.ts +157 -0
  97. package/dist/payment/PaymentProvider.d.ts.map +1 -0
  98. package/dist/payment/PaymentProvider.js +525 -0
  99. package/dist/payment/PaymentProvider.js.map +1 -0
  100. package/dist/payment/index.d.ts +5 -0
  101. package/dist/payment/index.d.ts.map +1 -0
  102. package/dist/payment/index.js +16 -0
  103. package/dist/payment/index.js.map +1 -0
  104. package/dist/plugin/PluginManager.d.ts +156 -0
  105. package/dist/plugin/PluginManager.d.ts.map +1 -0
  106. package/dist/plugin/PluginManager.js +288 -0
  107. package/dist/plugin/PluginManager.js.map +1 -0
  108. package/dist/plugin/index.d.ts +5 -0
  109. package/dist/plugin/index.d.ts.map +1 -0
  110. package/dist/plugin/index.js +10 -0
  111. package/dist/plugin/index.js.map +1 -0
  112. package/dist/runtime/AgentXRuntime.d.ts +90 -0
  113. package/dist/runtime/AgentXRuntime.d.ts.map +1 -0
  114. package/dist/runtime/AgentXRuntime.js +469 -0
  115. package/dist/runtime/AgentXRuntime.js.map +1 -0
  116. package/dist/security/SecurityManager.d.ts +245 -0
  117. package/dist/security/SecurityManager.d.ts.map +1 -0
  118. package/dist/security/SecurityManager.js +512 -0
  119. package/dist/security/SecurityManager.js.map +1 -0
  120. package/dist/security/index.d.ts +5 -0
  121. package/dist/security/index.d.ts.map +1 -0
  122. package/dist/security/index.js +14 -0
  123. package/dist/security/index.js.map +1 -0
  124. package/dist/tool/ToolRegistry.d.ts +58 -0
  125. package/dist/tool/ToolRegistry.d.ts.map +1 -0
  126. package/dist/tool/ToolRegistry.js +173 -0
  127. package/dist/tool/ToolRegistry.js.map +1 -0
  128. package/dist/tool/ToolValidator.d.ts +41 -0
  129. package/dist/tool/ToolValidator.d.ts.map +1 -0
  130. package/dist/tool/ToolValidator.js +158 -0
  131. package/dist/tool/ToolValidator.js.map +1 -0
  132. package/dist/tool/index.d.ts +6 -0
  133. package/dist/tool/index.d.ts.map +1 -0
  134. package/dist/tool/index.js +11 -0
  135. package/dist/tool/index.js.map +1 -0
  136. package/dist/transport/BaseTransport.d.ts +66 -0
  137. package/dist/transport/BaseTransport.d.ts.map +1 -0
  138. package/dist/transport/BaseTransport.js +103 -0
  139. package/dist/transport/BaseTransport.js.map +1 -0
  140. package/dist/transport/HttpTransport.d.ts +41 -0
  141. package/dist/transport/HttpTransport.d.ts.map +1 -0
  142. package/dist/transport/HttpTransport.js +160 -0
  143. package/dist/transport/HttpTransport.js.map +1 -0
  144. package/dist/transport/LocalTransport.d.ts +40 -0
  145. package/dist/transport/LocalTransport.d.ts.map +1 -0
  146. package/dist/transport/LocalTransport.js +157 -0
  147. package/dist/transport/LocalTransport.js.map +1 -0
  148. package/dist/transport/QueueTransport.d.ts +63 -0
  149. package/dist/transport/QueueTransport.d.ts.map +1 -0
  150. package/dist/transport/QueueTransport.js +194 -0
  151. package/dist/transport/QueueTransport.js.map +1 -0
  152. package/dist/transport/StdioTransport.d.ts +51 -0
  153. package/dist/transport/StdioTransport.d.ts.map +1 -0
  154. package/dist/transport/StdioTransport.js +216 -0
  155. package/dist/transport/StdioTransport.js.map +1 -0
  156. package/dist/transport/TransportFactory.d.ts +35 -0
  157. package/dist/transport/TransportFactory.d.ts.map +1 -0
  158. package/dist/transport/TransportFactory.js +100 -0
  159. package/dist/transport/TransportFactory.js.map +1 -0
  160. package/dist/transport/index.d.ts +10 -0
  161. package/dist/transport/index.d.ts.map +1 -0
  162. package/dist/transport/index.js +19 -0
  163. package/dist/transport/index.js.map +1 -0
  164. package/dist/types/agent.d.ts +66 -0
  165. package/dist/types/agent.d.ts.map +1 -0
  166. package/dist/types/agent.js +3 -0
  167. package/dist/types/agent.js.map +1 -0
  168. package/dist/types/config.d.ts +60 -0
  169. package/dist/types/config.d.ts.map +1 -0
  170. package/dist/types/config.js +6 -0
  171. package/dist/types/config.js.map +1 -0
  172. package/dist/types/credential.d.ts +38 -0
  173. package/dist/types/credential.d.ts.map +1 -0
  174. package/dist/types/credential.js +3 -0
  175. package/dist/types/credential.js.map +1 -0
  176. package/dist/types/error.d.ts +136 -0
  177. package/dist/types/error.d.ts.map +1 -0
  178. package/dist/types/error.js +223 -0
  179. package/dist/types/error.js.map +1 -0
  180. package/dist/types/index.d.ts +10 -0
  181. package/dist/types/index.d.ts.map +1 -0
  182. package/dist/types/index.js +27 -0
  183. package/dist/types/index.js.map +1 -0
  184. package/dist/types/llm.d.ts +43 -0
  185. package/dist/types/llm.d.ts.map +1 -0
  186. package/dist/types/llm.js +3 -0
  187. package/dist/types/llm.js.map +1 -0
  188. package/dist/types/payment.d.ts +129 -0
  189. package/dist/types/payment.d.ts.map +1 -0
  190. package/dist/types/payment.js +6 -0
  191. package/dist/types/payment.js.map +1 -0
  192. package/dist/types/runtime.d.ts +31 -0
  193. package/dist/types/runtime.d.ts.map +1 -0
  194. package/dist/types/runtime.js +3 -0
  195. package/dist/types/runtime.js.map +1 -0
  196. package/dist/types/tool.d.ts +72 -0
  197. package/dist/types/tool.d.ts.map +1 -0
  198. package/dist/types/tool.js +3 -0
  199. package/dist/types/tool.js.map +1 -0
  200. package/dist/types/transport.d.ts +53 -0
  201. package/dist/types/transport.d.ts.map +1 -0
  202. package/dist/types/transport.js +3 -0
  203. package/dist/types/transport.js.map +1 -0
  204. package/dist/types/workflow.d.ts +72 -0
  205. package/dist/types/workflow.d.ts.map +1 -0
  206. package/dist/types/workflow.js +6 -0
  207. package/dist/types/workflow.js.map +1 -0
  208. package/dist/utils/factory.d.ts +14 -0
  209. package/dist/utils/factory.d.ts.map +1 -0
  210. package/dist/utils/factory.js +146 -0
  211. package/dist/utils/factory.js.map +1 -0
  212. package/dist/workflow/StateManager.d.ts +93 -0
  213. package/dist/workflow/StateManager.d.ts.map +1 -0
  214. package/dist/workflow/StateManager.js +223 -0
  215. package/dist/workflow/StateManager.js.map +1 -0
  216. package/dist/workflow/WorkflowDefinition.d.ts +49 -0
  217. package/dist/workflow/WorkflowDefinition.d.ts.map +1 -0
  218. package/dist/workflow/WorkflowDefinition.js +264 -0
  219. package/dist/workflow/WorkflowDefinition.js.map +1 -0
  220. package/dist/workflow/WorkflowExecutor.d.ts +42 -0
  221. package/dist/workflow/WorkflowExecutor.d.ts.map +1 -0
  222. package/dist/workflow/WorkflowExecutor.js +372 -0
  223. package/dist/workflow/WorkflowExecutor.js.map +1 -0
  224. package/dist/workflow/index.d.ts +7 -0
  225. package/dist/workflow/index.d.ts.map +1 -0
  226. package/dist/workflow/index.js +17 -0
  227. package/dist/workflow/index.js.map +1 -0
  228. 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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=runtime.js.map
@@ -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":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;GAEG;AAEH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC7E;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC1E,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC9E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAC/E;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAEnC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAClD,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;CACnD;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tool.js.map
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=transport.js.map
@@ -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,6 @@
1
+ "use strict";
2
+ /**
3
+ * Workflow Definition and Execution Types
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=workflow.js.map
@@ -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":"AAAA;;GAEG;AAGH,OAAO,EACL,iBAAiB,EAEjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,cAAc,EAAE,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,kBAAmB,YAAW,UAAU;IACnD,OAAO,CAAC,KAAK,CAAmC;IAE1C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAK1C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7C,KAAK,IAAI,IAAI;CAGd;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAE,MAAa;IAMhF;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB7D;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAWzE;;OAEG;IACG,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkC9E;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1D;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAiBzD;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAK7E,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,kBAAkB;CAW3B;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;gBAEV,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAA4B;IAMlF;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM;IAKvD;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAsBzG;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxF;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/D,OAAO,CAAC,SAAS;CAWlB"}