@phuetz/code-buddy 0.1.0 → 0.1.2

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 (305) hide show
  1. package/.codebuddy/skills/bundled/brave-search/SKILL.md +490 -0
  2. package/.codebuddy/skills/bundled/exa-search/SKILL.md +1122 -0
  3. package/.codebuddy/skills/bundled/perplexity/SKILL.md +748 -0
  4. package/.codebuddy/skills/bundled/playwright/SKILL.md +520 -0
  5. package/.codebuddy/skills/bundled/puppeteer/SKILL.md +708 -0
  6. package/.codebuddy/skills/bundled/web-fetch/SKILL.md +1003 -0
  7. package/README.md +56 -0
  8. package/dist/agent/agent-state.d.ts +3 -3
  9. package/dist/agent/agent-state.js +6 -6
  10. package/dist/agent/agent-state.js.map +1 -1
  11. package/dist/agent/base-agent.d.ts +4 -4
  12. package/dist/agent/base-agent.js +22 -9
  13. package/dist/agent/base-agent.js.map +1 -1
  14. package/dist/agent/cache-trace.d.ts +56 -0
  15. package/dist/agent/cache-trace.js +98 -0
  16. package/dist/agent/cache-trace.js.map +1 -0
  17. package/dist/agent/codebuddy-agent.js +4 -2
  18. package/dist/agent/codebuddy-agent.js.map +1 -1
  19. package/dist/agent/execution/agent-executor.d.ts +4 -4
  20. package/dist/agent/execution/agent-executor.js +46 -14
  21. package/dist/agent/execution/agent-executor.js.map +1 -1
  22. package/dist/agent/facades/agent-context-facade.js +1 -3
  23. package/dist/agent/facades/agent-context-facade.js.map +1 -1
  24. package/dist/agent/facades/message-history-manager.js +14 -12
  25. package/dist/agent/facades/message-history-manager.js.map +1 -1
  26. package/dist/agent/facades/session-facade.d.ts +3 -3
  27. package/dist/agent/facades/session-facade.js +6 -6
  28. package/dist/agent/facades/session-facade.js.map +1 -1
  29. package/dist/agent/history-repair.d.ts +37 -0
  30. package/dist/agent/history-repair.js +124 -0
  31. package/dist/agent/history-repair.js.map +1 -0
  32. package/dist/agent/index.d.ts +3 -3
  33. package/dist/agent/index.js +3 -3
  34. package/dist/agent/index.js.map +1 -1
  35. package/dist/agent/isolation/agent-workspace.d.ts +1 -0
  36. package/dist/agent/isolation/agent-workspace.js +10 -0
  37. package/dist/agent/isolation/agent-workspace.js.map +1 -1
  38. package/dist/agent/specialized/archive-agent.d.ts +3 -0
  39. package/dist/agent/specialized/archive-agent.js +71 -31
  40. package/dist/agent/specialized/archive-agent.js.map +1 -1
  41. package/dist/agent/specialized/index.d.ts +9 -8
  42. package/dist/agent/specialized/index.js +16 -8
  43. package/dist/agent/specialized/index.js.map +1 -1
  44. package/dist/agent/specialized/security-review/agent.js +19 -8
  45. package/dist/agent/specialized/security-review/agent.js.map +1 -1
  46. package/dist/agent/tool-executor.js +5 -0
  47. package/dist/agent/tool-executor.js.map +1 -1
  48. package/dist/agent/turn-diff-tracker.d.ts +79 -0
  49. package/dist/agent/turn-diff-tracker.js +195 -0
  50. package/dist/agent/turn-diff-tracker.js.map +1 -0
  51. package/dist/browser/controller.js +8 -4
  52. package/dist/browser/controller.js.map +1 -1
  53. package/dist/browser-automation/browser-manager.js +8 -1
  54. package/dist/browser-automation/browser-manager.js.map +1 -1
  55. package/dist/checkpoints/checkpoint-versioning.js +78 -20
  56. package/dist/checkpoints/checkpoint-versioning.js.map +1 -1
  57. package/dist/cli/config-loader.js +2 -4
  58. package/dist/cli/config-loader.js.map +1 -1
  59. package/dist/codebuddy/client.js +70 -11
  60. package/dist/codebuddy/client.js.map +1 -1
  61. package/dist/codebuddy/tools.d.ts +1 -7
  62. package/dist/codebuddy/tools.js +2 -30
  63. package/dist/codebuddy/tools.js.map +1 -1
  64. package/dist/commands/cli/daemon-commands.d.ts +14 -0
  65. package/dist/commands/cli/daemon-commands.js +166 -0
  66. package/dist/commands/cli/daemon-commands.js.map +1 -0
  67. package/dist/commands/cli/speak-command.d.ts +10 -0
  68. package/dist/commands/cli/speak-command.js +97 -0
  69. package/dist/commands/cli/speak-command.js.map +1 -0
  70. package/dist/commands/cli/utility-commands.d.ts +10 -0
  71. package/dist/commands/cli/utility-commands.js +88 -0
  72. package/dist/commands/cli/utility-commands.js.map +1 -0
  73. package/dist/commands/handlers/fcs-handlers.js +1 -1
  74. package/dist/commands/handlers/fcs-handlers.js.map +1 -1
  75. package/dist/commands/handlers/memory-handlers.js +2 -1
  76. package/dist/commands/handlers/memory-handlers.js.map +1 -1
  77. package/dist/commands/handlers/vibe-handlers.js +0 -1
  78. package/dist/commands/handlers/vibe-handlers.js.map +1 -1
  79. package/dist/commands/handlers/worktree-handlers.js +11 -0
  80. package/dist/commands/handlers/worktree-handlers.js.map +1 -1
  81. package/dist/commands/index.d.ts +8 -7
  82. package/dist/commands/index.js +10 -8
  83. package/dist/commands/index.js.map +1 -1
  84. package/dist/commands/mcp.d.ts +1 -0
  85. package/dist/commands/mcp.js +66 -7
  86. package/dist/commands/mcp.js.map +1 -1
  87. package/dist/commands/pipeline.js +25 -13
  88. package/dist/commands/pipeline.js.map +1 -1
  89. package/dist/config/hot-reload/watcher.js +4 -4
  90. package/dist/config/hot-reload/watcher.js.map +1 -1
  91. package/dist/config/model-tools.d.ts +41 -0
  92. package/dist/config/model-tools.js +194 -0
  93. package/dist/config/model-tools.js.map +1 -0
  94. package/dist/context/context-manager-v2.d.ts +2 -1
  95. package/dist/context/context-manager-v2.js +34 -5
  96. package/dist/context/context-manager-v2.js.map +1 -1
  97. package/dist/context/index.d.ts +12 -12
  98. package/dist/context/index.js +25 -12
  99. package/dist/context/index.js.map +1 -1
  100. package/dist/daemon/daemon-manager.js +23 -19
  101. package/dist/daemon/daemon-manager.js.map +1 -1
  102. package/dist/database/database-manager.d.ts +4 -0
  103. package/dist/database/database-manager.js +16 -7
  104. package/dist/database/database-manager.js.map +1 -1
  105. package/dist/desktop-automation/nutjs-provider.js +89 -0
  106. package/dist/desktop-automation/nutjs-provider.js.map +1 -1
  107. package/dist/errors/index.d.ts +4 -4
  108. package/dist/errors/index.js +8 -4
  109. package/dist/errors/index.js.map +1 -1
  110. package/dist/fcs/builtins.d.ts +2 -6
  111. package/dist/fcs/builtins.js +2 -568
  112. package/dist/fcs/builtins.js.map +1 -1
  113. package/dist/fcs/codebuddy-bindings.d.ts +3 -43
  114. package/dist/fcs/codebuddy-bindings.js +2 -606
  115. package/dist/fcs/codebuddy-bindings.js.map +1 -1
  116. package/dist/fcs/index.d.ts +2 -27
  117. package/dist/fcs/index.js +2 -53
  118. package/dist/fcs/index.js.map +1 -1
  119. package/dist/fcs/lexer.d.ts +2 -37
  120. package/dist/fcs/lexer.js +2 -459
  121. package/dist/fcs/lexer.js.map +1 -1
  122. package/dist/fcs/parser.d.ts +2 -68
  123. package/dist/fcs/parser.js +2 -893
  124. package/dist/fcs/parser.js.map +1 -1
  125. package/dist/fcs/runtime.d.ts +2 -59
  126. package/dist/fcs/runtime.js +2 -623
  127. package/dist/fcs/runtime.js.map +1 -1
  128. package/dist/fcs/script-registry.d.ts +3 -69
  129. package/dist/fcs/script-registry.js +2 -219
  130. package/dist/fcs/script-registry.js.map +1 -1
  131. package/dist/fcs/sync-bindings.d.ts +3 -101
  132. package/dist/fcs/sync-bindings.js +2 -410
  133. package/dist/fcs/sync-bindings.js.map +1 -1
  134. package/dist/fcs/types.d.ts +2 -285
  135. package/dist/fcs/types.js +2 -103
  136. package/dist/fcs/types.js.map +1 -1
  137. package/dist/hooks/index.d.ts +4 -4
  138. package/dist/hooks/index.js +4 -4
  139. package/dist/hooks/index.js.map +1 -1
  140. package/dist/hooks/use-input-handler.d.ts +1 -1
  141. package/dist/index.js +20 -330
  142. package/dist/index.js.map +1 -1
  143. package/dist/input/voice-control.js +11 -5
  144. package/dist/input/voice-control.js.map +1 -1
  145. package/dist/integrations/json-rpc/server.d.ts +9 -0
  146. package/dist/integrations/json-rpc/server.js +43 -13
  147. package/dist/integrations/json-rpc/server.js.map +1 -1
  148. package/dist/integrations/mcp/mcp-server.js +1 -1
  149. package/dist/integrations/mcp/mcp-server.js.map +1 -1
  150. package/dist/integrations/notification-integrations.d.ts +1 -0
  151. package/dist/integrations/notification-integrations.js +6 -1
  152. package/dist/integrations/notification-integrations.js.map +1 -1
  153. package/dist/mcp/client.js +2 -1
  154. package/dist/mcp/client.js.map +1 -1
  155. package/dist/mcp/config.js +89 -5
  156. package/dist/mcp/config.js.map +1 -1
  157. package/dist/mcp/mcp-client.js +65 -14
  158. package/dist/mcp/mcp-client.js.map +1 -1
  159. package/dist/mcp/transports.d.ts +0 -1
  160. package/dist/mcp/transports.js +1 -5
  161. package/dist/mcp/transports.js.map +1 -1
  162. package/dist/mcp/types.d.ts +2 -0
  163. package/dist/memory/index.d.ts +2 -2
  164. package/dist/memory/index.js +2 -2
  165. package/dist/memory/index.js.map +1 -1
  166. package/dist/persistence/session-lock.d.ts +42 -0
  167. package/dist/persistence/session-lock.js +165 -0
  168. package/dist/persistence/session-lock.js.map +1 -0
  169. package/dist/persistence/session-store.d.ts +18 -3
  170. package/dist/persistence/session-store.js +90 -21
  171. package/dist/persistence/session-store.js.map +1 -1
  172. package/dist/plugins/conflict-detection.js +2 -1
  173. package/dist/plugins/conflict-detection.js.map +1 -1
  174. package/dist/plugins/index.d.ts +3 -3
  175. package/dist/plugins/index.js +3 -3
  176. package/dist/plugins/index.js.map +1 -1
  177. package/dist/plugins/isolated-plugin-runner.d.ts +6 -0
  178. package/dist/plugins/isolated-plugin-runner.js +19 -1
  179. package/dist/plugins/isolated-plugin-runner.js.map +1 -1
  180. package/dist/providers/local-llm-provider.js +28 -8
  181. package/dist/providers/local-llm-provider.js.map +1 -1
  182. package/dist/sandbox/docker-sandbox.js +7 -4
  183. package/dist/sandbox/docker-sandbox.js.map +1 -1
  184. package/dist/scripting/builtins.d.ts +8 -3
  185. package/dist/scripting/builtins.js +506 -355
  186. package/dist/scripting/builtins.js.map +1 -1
  187. package/dist/scripting/codebuddy-bindings.d.ts +47 -0
  188. package/dist/scripting/codebuddy-bindings.js +488 -0
  189. package/dist/scripting/codebuddy-bindings.js.map +1 -0
  190. package/dist/scripting/index.d.ts +33 -30
  191. package/dist/scripting/index.js +41 -36
  192. package/dist/scripting/index.js.map +1 -1
  193. package/dist/scripting/lexer.d.ts +31 -13
  194. package/dist/scripting/lexer.js +379 -292
  195. package/dist/scripting/lexer.js.map +1 -1
  196. package/dist/scripting/parser.d.ts +63 -44
  197. package/dist/scripting/parser.js +700 -473
  198. package/dist/scripting/parser.js.map +1 -1
  199. package/dist/scripting/runtime.d.ts +55 -24
  200. package/dist/scripting/runtime.js +600 -288
  201. package/dist/scripting/runtime.js.map +1 -1
  202. package/dist/scripting/script-registry.d.ts +54 -0
  203. package/dist/scripting/script-registry.js +202 -0
  204. package/dist/scripting/script-registry.js.map +1 -0
  205. package/dist/scripting/sync-bindings.d.ts +105 -0
  206. package/dist/scripting/sync-bindings.js +353 -0
  207. package/dist/scripting/sync-bindings.js.map +1 -0
  208. package/dist/scripting/types.d.ts +297 -199
  209. package/dist/scripting/types.js +86 -60
  210. package/dist/scripting/types.js.map +1 -1
  211. package/dist/search/usearch-index.js +42 -7
  212. package/dist/search/usearch-index.js.map +1 -1
  213. package/dist/security/bash-parser.d.ts +51 -0
  214. package/dist/security/bash-parser.js +327 -0
  215. package/dist/security/bash-parser.js.map +1 -0
  216. package/dist/security/index.d.ts +7 -5
  217. package/dist/security/index.js +8 -7
  218. package/dist/security/index.js.map +1 -1
  219. package/dist/security/skill-scanner.d.ts +36 -0
  220. package/dist/security/skill-scanner.js +149 -0
  221. package/dist/security/skill-scanner.js.map +1 -0
  222. package/dist/security/trust-folders.d.ts +1 -0
  223. package/dist/security/trust-folders.js +19 -1
  224. package/dist/security/trust-folders.js.map +1 -1
  225. package/dist/server/auth/index.d.ts +2 -2
  226. package/dist/server/auth/index.js +2 -2
  227. package/dist/server/auth/index.js.map +1 -1
  228. package/dist/server/middleware/index.d.ts +5 -5
  229. package/dist/server/middleware/index.js +5 -5
  230. package/dist/server/middleware/index.js.map +1 -1
  231. package/dist/server/middleware/rate-limit.js +15 -3
  232. package/dist/server/middleware/rate-limit.js.map +1 -1
  233. package/dist/server/websocket/handler.js +54 -6
  234. package/dist/server/websocket/handler.js.map +1 -1
  235. package/dist/skills/eligibility.js +26 -4
  236. package/dist/skills/eligibility.js.map +1 -1
  237. package/dist/tasks/background-tasks.js +5 -1
  238. package/dist/tasks/background-tasks.js.map +1 -1
  239. package/dist/tools/apply-patch.d.ts +55 -0
  240. package/dist/tools/apply-patch.js +273 -0
  241. package/dist/tools/apply-patch.js.map +1 -0
  242. package/dist/tools/hooks/default-hooks.d.ts +1 -1
  243. package/dist/tools/hooks/default-hooks.js +2 -1
  244. package/dist/tools/hooks/default-hooks.js.map +1 -1
  245. package/dist/tools/index.d.ts +10 -10
  246. package/dist/tools/index.js +11 -11
  247. package/dist/tools/index.js.map +1 -1
  248. package/dist/tools/registry/bash-tools.js +6 -3
  249. package/dist/tools/registry/bash-tools.js.map +1 -1
  250. package/dist/tools/registry/misc-tools.js +1 -2
  251. package/dist/tools/registry/misc-tools.js.map +1 -1
  252. package/dist/tools/registry/search-tools.js +1 -1
  253. package/dist/tools/registry/search-tools.js.map +1 -1
  254. package/dist/tools/registry/text-editor-tools.js +1 -1
  255. package/dist/tools/registry/text-editor-tools.js.map +1 -1
  256. package/dist/tools/registry/todo-tools.js +37 -5
  257. package/dist/tools/registry/todo-tools.js.map +1 -1
  258. package/dist/tools/registry/tool-registry.js +5 -4
  259. package/dist/tools/registry/tool-registry.js.map +1 -1
  260. package/dist/tools/registry/web-tools.d.ts +1 -1
  261. package/dist/tools/registry/web-tools.js +28 -8
  262. package/dist/tools/registry/web-tools.js.map +1 -1
  263. package/dist/tools/text-editor.d.ts +1 -1
  264. package/dist/tools/text-editor.js +23 -5
  265. package/dist/tools/text-editor.js.map +1 -1
  266. package/dist/tools/web-search.d.ts +52 -37
  267. package/dist/tools/web-search.js +368 -163
  268. package/dist/tools/web-search.js.map +1 -1
  269. package/dist/types/errors.d.ts +1 -1
  270. package/dist/types/errors.js +2 -8
  271. package/dist/types/errors.js.map +1 -1
  272. package/dist/types/index.d.ts +2 -1
  273. package/dist/types/index.js +1 -2
  274. package/dist/types/index.js.map +1 -1
  275. package/dist/ui/components/ChatInterface.d.ts +1 -1
  276. package/dist/ui/index.d.ts +17 -21
  277. package/dist/ui/index.js +25 -22
  278. package/dist/ui/index.js.map +1 -1
  279. package/dist/utils/config-validation/schema.d.ts +15 -15
  280. package/dist/utils/head-tail-truncation.d.ts +34 -0
  281. package/dist/utils/head-tail-truncation.js +98 -0
  282. package/dist/utils/head-tail-truncation.js.map +1 -0
  283. package/dist/utils/logger.js +3 -9
  284. package/dist/utils/logger.js.map +1 -1
  285. package/dist/utils/sanitize.d.ts +5 -0
  286. package/dist/utils/sanitize.js +19 -0
  287. package/dist/utils/sanitize.js.map +1 -1
  288. package/dist/utils/settings-manager.js +4 -4
  289. package/dist/utils/settings-manager.js.map +1 -1
  290. package/dist/workflows/index.d.ts +4 -279
  291. package/dist/workflows/index.js +8 -822
  292. package/dist/workflows/index.js.map +1 -1
  293. package/dist/workflows/state-manager.d.ts +77 -0
  294. package/dist/workflows/state-manager.js +198 -0
  295. package/dist/workflows/state-manager.js.map +1 -0
  296. package/dist/workflows/step-manager.d.ts +39 -0
  297. package/dist/workflows/step-manager.js +196 -0
  298. package/dist/workflows/step-manager.js.map +1 -0
  299. package/dist/workflows/types.d.ts +87 -0
  300. package/dist/workflows/types.js +5 -0
  301. package/dist/workflows/types.js.map +1 -0
  302. package/dist/workflows/workflow-engine.d.ts +34 -0
  303. package/dist/workflows/workflow-engine.js +354 -0
  304. package/dist/workflows/workflow-engine.js.map +1 -0
  305. package/package.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgBH,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,gBAAgB;AAChB,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,kBAAkB;AAClB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAa9B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,2EAA2E;AAC3E,0GAA0G"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Workflow State Manager - Persists and manages workflow state
3
+ */
4
+ import type { WorkflowStatus, WorkflowState } from './types.js';
5
+ export declare class WorkflowStateManager {
6
+ private statesDir;
7
+ private states;
8
+ constructor(statesDir?: string);
9
+ /**
10
+ * Ensure the states directory exists
11
+ */
12
+ private ensureDir;
13
+ /**
14
+ * Load existing states from disk
15
+ */
16
+ private loadStates;
17
+ /**
18
+ * Serialize state for storage
19
+ */
20
+ private serializeState;
21
+ /**
22
+ * Deserialize state from storage
23
+ */
24
+ private deserializeState;
25
+ /**
26
+ * Generate unique instance ID
27
+ */
28
+ generateInstanceId(): string;
29
+ /**
30
+ * Create a new workflow state
31
+ */
32
+ createState(workflowId: string, initialContext?: Record<string, unknown>): WorkflowState;
33
+ /**
34
+ * Get a workflow state by instance ID
35
+ */
36
+ getState(instanceId: string): WorkflowState | undefined;
37
+ /**
38
+ * Update a workflow state
39
+ */
40
+ updateState(instanceId: string, updates: Partial<WorkflowState>): WorkflowState | undefined;
41
+ /**
42
+ * Save state to disk
43
+ */
44
+ saveState(state: WorkflowState): void;
45
+ /**
46
+ * Delete a workflow state
47
+ */
48
+ deleteState(instanceId: string): boolean;
49
+ /**
50
+ * Get all states
51
+ */
52
+ getAllStates(): WorkflowState[];
53
+ /**
54
+ * Get states by workflow ID
55
+ */
56
+ getStatesByWorkflow(workflowId: string): WorkflowState[];
57
+ /**
58
+ * Get states by status
59
+ */
60
+ getStatesByStatus(status: WorkflowStatus): WorkflowState[];
61
+ /**
62
+ * Clear completed states
63
+ */
64
+ clearCompleted(): number;
65
+ /**
66
+ * Get statistics
67
+ */
68
+ getStats(): {
69
+ total: number;
70
+ pending: number;
71
+ running: number;
72
+ paused: number;
73
+ completed: number;
74
+ failed: number;
75
+ cancelled: number;
76
+ };
77
+ }
@@ -0,0 +1,198 @@
1
+ /**
2
+ * Workflow State Manager - Persists and manages workflow state
3
+ */
4
+ import fs from 'fs';
5
+ import path from 'path';
6
+ import os from 'os';
7
+ export class WorkflowStateManager {
8
+ statesDir;
9
+ states = new Map();
10
+ constructor(statesDir) {
11
+ this.statesDir = statesDir || path.join(os.homedir(), '.codebuddy', 'workflows');
12
+ this.ensureDir();
13
+ this.loadStates();
14
+ }
15
+ /**
16
+ * Ensure the states directory exists
17
+ */
18
+ ensureDir() {
19
+ if (!fs.existsSync(this.statesDir)) {
20
+ fs.mkdirSync(this.statesDir, { recursive: true });
21
+ }
22
+ }
23
+ /**
24
+ * Load existing states from disk
25
+ */
26
+ loadStates() {
27
+ try {
28
+ const files = fs.readdirSync(this.statesDir);
29
+ for (const file of files) {
30
+ if (!file.endsWith('.json'))
31
+ continue;
32
+ try {
33
+ const statePath = path.join(this.statesDir, file);
34
+ const data = JSON.parse(fs.readFileSync(statePath, 'utf-8'));
35
+ const state = this.deserializeState(data);
36
+ this.states.set(state.instanceId, state);
37
+ }
38
+ catch {
39
+ // Skip invalid state files
40
+ }
41
+ }
42
+ }
43
+ catch {
44
+ // Directory doesn't exist or can't be read
45
+ }
46
+ }
47
+ /**
48
+ * Serialize state for storage
49
+ */
50
+ serializeState(state) {
51
+ return {
52
+ ...state,
53
+ context: {
54
+ ...state.context,
55
+ stepResults: Array.from(state.context.stepResults.entries()),
56
+ },
57
+ stepExecutions: Array.from(state.stepExecutions.entries()),
58
+ createdAt: state.createdAt.toISOString(),
59
+ startedAt: state.startedAt?.toISOString(),
60
+ completedAt: state.completedAt?.toISOString(),
61
+ pausedAt: state.pausedAt?.toISOString(),
62
+ };
63
+ }
64
+ /**
65
+ * Deserialize state from storage
66
+ */
67
+ deserializeState(data) {
68
+ const contextData = data.context;
69
+ return {
70
+ ...data,
71
+ context: {
72
+ ...contextData,
73
+ stepResults: new Map(contextData.stepResults),
74
+ },
75
+ stepExecutions: new Map(data.stepExecutions),
76
+ createdAt: new Date(data.createdAt),
77
+ startedAt: data.startedAt ? new Date(data.startedAt) : undefined,
78
+ completedAt: data.completedAt ? new Date(data.completedAt) : undefined,
79
+ pausedAt: data.pausedAt ? new Date(data.pausedAt) : undefined,
80
+ };
81
+ }
82
+ /**
83
+ * Generate unique instance ID
84
+ */
85
+ generateInstanceId() {
86
+ const timestamp = Date.now().toString(36);
87
+ const random = Math.random().toString(36).substring(2, 8);
88
+ return `wf_${timestamp}_${random}`;
89
+ }
90
+ /**
91
+ * Create a new workflow state
92
+ */
93
+ createState(workflowId, initialContext = {}) {
94
+ const instanceId = this.generateInstanceId();
95
+ const state = {
96
+ instanceId,
97
+ workflowId,
98
+ status: 'pending',
99
+ context: {
100
+ workflowId,
101
+ instanceId,
102
+ variables: { ...initialContext },
103
+ stepResults: new Map(),
104
+ metadata: {},
105
+ },
106
+ stepExecutions: new Map(),
107
+ currentStepIndex: 0,
108
+ createdAt: new Date(),
109
+ };
110
+ this.states.set(instanceId, state);
111
+ this.saveState(state);
112
+ return state;
113
+ }
114
+ /**
115
+ * Get a workflow state by instance ID
116
+ */
117
+ getState(instanceId) {
118
+ return this.states.get(instanceId);
119
+ }
120
+ /**
121
+ * Update a workflow state
122
+ */
123
+ updateState(instanceId, updates) {
124
+ const state = this.states.get(instanceId);
125
+ if (!state)
126
+ return undefined;
127
+ Object.assign(state, updates);
128
+ this.saveState(state);
129
+ return state;
130
+ }
131
+ /**
132
+ * Save state to disk
133
+ */
134
+ saveState(state) {
135
+ const statePath = path.join(this.statesDir, `${state.instanceId}.json`);
136
+ fs.writeFileSync(statePath, JSON.stringify(this.serializeState(state), null, 2));
137
+ }
138
+ /**
139
+ * Delete a workflow state
140
+ */
141
+ deleteState(instanceId) {
142
+ const existed = this.states.delete(instanceId);
143
+ if (existed) {
144
+ const statePath = path.join(this.statesDir, `${instanceId}.json`);
145
+ if (fs.existsSync(statePath)) {
146
+ fs.unlinkSync(statePath);
147
+ }
148
+ }
149
+ return existed;
150
+ }
151
+ /**
152
+ * Get all states
153
+ */
154
+ getAllStates() {
155
+ return Array.from(this.states.values());
156
+ }
157
+ /**
158
+ * Get states by workflow ID
159
+ */
160
+ getStatesByWorkflow(workflowId) {
161
+ return Array.from(this.states.values()).filter(s => s.workflowId === workflowId);
162
+ }
163
+ /**
164
+ * Get states by status
165
+ */
166
+ getStatesByStatus(status) {
167
+ return Array.from(this.states.values()).filter(s => s.status === status);
168
+ }
169
+ /**
170
+ * Clear completed states
171
+ */
172
+ clearCompleted() {
173
+ const completed = this.getStatesByStatus('completed');
174
+ const failed = this.getStatesByStatus('failed');
175
+ const cancelled = this.getStatesByStatus('cancelled');
176
+ const toDelete = [...completed, ...failed, ...cancelled];
177
+ for (const state of toDelete) {
178
+ this.deleteState(state.instanceId);
179
+ }
180
+ return toDelete.length;
181
+ }
182
+ /**
183
+ * Get statistics
184
+ */
185
+ getStats() {
186
+ const states = this.getAllStates();
187
+ return {
188
+ total: states.length,
189
+ pending: states.filter(s => s.status === 'pending').length,
190
+ running: states.filter(s => s.status === 'running').length,
191
+ paused: states.filter(s => s.status === 'paused').length,
192
+ completed: states.filter(s => s.status === 'completed').length,
193
+ failed: states.filter(s => s.status === 'failed').length,
194
+ cancelled: states.filter(s => s.status === 'cancelled').length,
195
+ };
196
+ }
197
+ }
198
+ //# sourceMappingURL=state-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-manager.js","sourceRoot":"","sources":["../../src/workflows/state-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Step Manager - Manages individual step execution
3
+ */
4
+ import { EventEmitter } from 'events';
5
+ import type { WorkflowStep, WorkflowContext, StepResult } from './types.js';
6
+ export declare class StepManager extends EventEmitter {
7
+ private actionHandlers;
8
+ constructor();
9
+ /**
10
+ * Register built-in action handlers
11
+ */
12
+ private registerBuiltInActions;
13
+ /**
14
+ * Register a custom action handler
15
+ */
16
+ registerAction(name: string, handler: (context: WorkflowContext) => Promise<StepResult>): void;
17
+ /**
18
+ * Check if an action is registered
19
+ */
20
+ hasAction(name: string): boolean;
21
+ /**
22
+ * Get all registered action names
23
+ */
24
+ getRegisteredActions(): string[];
25
+ /**
26
+ * Execute a step
27
+ */
28
+ executeStep(step: WorkflowStep, context: WorkflowContext, options?: {
29
+ timeout?: number;
30
+ }): Promise<StepResult>;
31
+ /**
32
+ * Execute with timeout
33
+ */
34
+ private executeWithTimeout;
35
+ /**
36
+ * Evaluate a condition
37
+ */
38
+ evaluateCondition(condition: string | ((context: WorkflowContext) => boolean), context: WorkflowContext): boolean;
39
+ }
@@ -0,0 +1,196 @@
1
+ /**
2
+ * Step Manager - Manages individual step execution
3
+ */
4
+ import { EventEmitter } from 'events';
5
+ export class StepManager extends EventEmitter {
6
+ actionHandlers = new Map();
7
+ constructor() {
8
+ super();
9
+ this.registerBuiltInActions();
10
+ }
11
+ /**
12
+ * Register built-in action handlers
13
+ */
14
+ registerBuiltInActions() {
15
+ // Log action
16
+ this.registerAction('log', async (context) => {
17
+ const message = context.variables.message || 'No message';
18
+ console.log(`[Workflow ${context.instanceId}] ${message}`);
19
+ return { success: true, output: message };
20
+ });
21
+ // Delay action
22
+ this.registerAction('delay', async (context) => {
23
+ const ms = context.variables.delay || 1000;
24
+ await new Promise(resolve => setTimeout(resolve, ms));
25
+ return { success: true, output: `Delayed ${ms}ms` };
26
+ });
27
+ // Set variable action
28
+ this.registerAction('setVariable', async (context) => {
29
+ const name = context.variables.varName;
30
+ const value = context.variables.varValue;
31
+ if (name) {
32
+ context.variables[name] = value;
33
+ }
34
+ return { success: true, output: { [name]: value } };
35
+ });
36
+ // Conditional action (always succeeds, used for branching)
37
+ this.registerAction('conditional', async (context) => {
38
+ return { success: true, output: context.variables };
39
+ });
40
+ // Noop action
41
+ this.registerAction('noop', async () => {
42
+ return { success: true, output: 'No operation performed' };
43
+ });
44
+ }
45
+ /**
46
+ * Register a custom action handler
47
+ */
48
+ registerAction(name, handler) {
49
+ this.actionHandlers.set(name, handler);
50
+ }
51
+ /**
52
+ * Check if an action is registered
53
+ */
54
+ hasAction(name) {
55
+ return this.actionHandlers.has(name);
56
+ }
57
+ /**
58
+ * Get all registered action names
59
+ */
60
+ getRegisteredActions() {
61
+ return Array.from(this.actionHandlers.keys());
62
+ }
63
+ /**
64
+ * Execute a step
65
+ */
66
+ async executeStep(step, context, options = {}) {
67
+ const startTime = Date.now();
68
+ this.emit('step:start', { stepId: step.id, stepName: step.name });
69
+ try {
70
+ // Check condition
71
+ if (step.condition) {
72
+ const shouldRun = this.evaluateCondition(step.condition, context);
73
+ if (!shouldRun) {
74
+ this.emit('step:skipped', { stepId: step.id, reason: 'Condition not met' });
75
+ return { success: true, output: 'Step skipped', metadata: { skipped: true } };
76
+ }
77
+ }
78
+ // Execute action
79
+ let result;
80
+ if (typeof step.action === 'function') {
81
+ result = await this.executeWithTimeout(step.action(context), options.timeout || step.timeout || 30000);
82
+ }
83
+ else if (typeof step.action === 'string') {
84
+ const handler = this.actionHandlers.get(step.action);
85
+ if (!handler) {
86
+ throw new Error(`Unknown action: ${step.action}`);
87
+ }
88
+ result = await this.executeWithTimeout(handler(context), options.timeout || step.timeout || 30000);
89
+ }
90
+ else {
91
+ throw new Error('Invalid action type');
92
+ }
93
+ result.duration = Date.now() - startTime;
94
+ this.emit('step:complete', {
95
+ stepId: step.id,
96
+ stepName: step.name,
97
+ success: result.success,
98
+ duration: result.duration,
99
+ });
100
+ return result;
101
+ }
102
+ catch (error) {
103
+ const duration = Date.now() - startTime;
104
+ const errorMessage = error instanceof Error ? error.message : String(error);
105
+ this.emit('step:error', {
106
+ stepId: step.id,
107
+ stepName: step.name,
108
+ error: errorMessage,
109
+ duration,
110
+ });
111
+ return {
112
+ success: false,
113
+ error: errorMessage,
114
+ duration,
115
+ };
116
+ }
117
+ }
118
+ /**
119
+ * Execute with timeout
120
+ */
121
+ async executeWithTimeout(promise, timeout) {
122
+ return new Promise((resolve, reject) => {
123
+ const timer = setTimeout(() => {
124
+ reject(new Error(`Step execution timed out after ${timeout}ms`));
125
+ }, timeout);
126
+ promise
127
+ .then((result) => {
128
+ clearTimeout(timer);
129
+ resolve(result);
130
+ })
131
+ .catch((error) => {
132
+ clearTimeout(timer);
133
+ reject(error);
134
+ });
135
+ });
136
+ }
137
+ /**
138
+ * Evaluate a condition
139
+ */
140
+ evaluateCondition(condition, context) {
141
+ if (typeof condition === 'function') {
142
+ return condition(context);
143
+ }
144
+ // Simple condition evaluation for string conditions
145
+ // Supports: "variable === value", "variable > value", etc.
146
+ try {
147
+ // Check for variable existence conditions
148
+ if (condition.match(/^[a-zA-Z_][a-zA-Z0-9_]*$/)) {
149
+ return !!context.variables[condition];
150
+ }
151
+ // Check for comparison conditions
152
+ const comparisonMatch = condition.match(/^(\w+)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/);
153
+ if (comparisonMatch) {
154
+ const [, variable, operator, valueStr] = comparisonMatch;
155
+ const actualValue = context.variables[variable];
156
+ let expectedValue = valueStr;
157
+ // Parse value
158
+ if (valueStr === 'true')
159
+ expectedValue = true;
160
+ else if (valueStr === 'false')
161
+ expectedValue = false;
162
+ else if (valueStr === 'null')
163
+ expectedValue = null;
164
+ else if (valueStr === 'undefined')
165
+ expectedValue = undefined;
166
+ else if (!isNaN(Number(valueStr)))
167
+ expectedValue = Number(valueStr);
168
+ else if (valueStr.startsWith('"') && valueStr.endsWith('"')) {
169
+ expectedValue = valueStr.slice(1, -1);
170
+ }
171
+ switch (operator) {
172
+ case '===':
173
+ case '==':
174
+ return actualValue === expectedValue;
175
+ case '!==':
176
+ case '!=':
177
+ return actualValue !== expectedValue;
178
+ case '>':
179
+ return actualValue > expectedValue;
180
+ case '<':
181
+ return actualValue < expectedValue;
182
+ case '>=':
183
+ return actualValue >= expectedValue;
184
+ case '<=':
185
+ return actualValue <= expectedValue;
186
+ }
187
+ }
188
+ // Default to true for unrecognized conditions
189
+ return true;
190
+ }
191
+ catch {
192
+ return true;
193
+ }
194
+ }
195
+ }
196
+ //# sourceMappingURL=step-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-manager.js","sourceRoot":"","sources":["../../src/workflows/step-manager.ts"],"names":[],"mappings":"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"}