@sudocode-ai/local-server 0.1.10 → 0.1.11

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 (129) hide show
  1. package/dist/execution/executors/agent-executor-wrapper.d.ts.map +1 -1
  2. package/dist/execution/executors/agent-executor-wrapper.js +57 -2
  3. package/dist/execution/executors/agent-executor-wrapper.js.map +1 -1
  4. package/dist/execution/process/builders/claude.d.ts.map +1 -1
  5. package/dist/execution/process/builders/claude.js +32 -1
  6. package/dist/execution/process/builders/claude.js.map +1 -1
  7. package/dist/execution/worktree/git-cli.d.ts +48 -0
  8. package/dist/execution/worktree/git-cli.d.ts.map +1 -1
  9. package/dist/execution/worktree/git-cli.js +81 -0
  10. package/dist/execution/worktree/git-cli.js.map +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +17 -4
  13. package/dist/index.js.map +1 -1
  14. package/dist/public/assets/index-Nz4IjDwB.css +1 -0
  15. package/dist/public/assets/index-Z8yftXvD.js +824 -0
  16. package/dist/public/assets/index-Z8yftXvD.js.map +1 -0
  17. package/dist/public/assets/{react-vendor-DiL5hC7l.js → react-vendor-5f1Wq1qs.js} +5 -5
  18. package/dist/public/assets/{react-vendor-DiL5hC7l.js.map → react-vendor-5f1Wq1qs.js.map} +1 -1
  19. package/dist/public/assets/{ui-vendor-B4WMPEfa.js → ui-vendor-BDDPoYki.js} +2 -2
  20. package/dist/public/assets/{ui-vendor-B4WMPEfa.js.map → ui-vendor-BDDPoYki.js.map} +1 -1
  21. package/dist/public/index.html +4 -4
  22. package/dist/routes/workflows.d.ts +8 -0
  23. package/dist/routes/workflows.d.ts.map +1 -0
  24. package/dist/routes/workflows.js +1729 -0
  25. package/dist/routes/workflows.js.map +1 -0
  26. package/dist/services/execution-event-callbacks.d.ts +73 -0
  27. package/dist/services/execution-event-callbacks.d.ts.map +1 -0
  28. package/dist/services/execution-event-callbacks.js +82 -0
  29. package/dist/services/execution-event-callbacks.js.map +1 -0
  30. package/dist/services/execution-lifecycle.d.ts +36 -0
  31. package/dist/services/execution-lifecycle.d.ts.map +1 -1
  32. package/dist/services/execution-lifecycle.js +87 -0
  33. package/dist/services/execution-lifecycle.js.map +1 -1
  34. package/dist/services/execution-service.d.ts +31 -3
  35. package/dist/services/execution-service.d.ts.map +1 -1
  36. package/dist/services/execution-service.js +161 -34
  37. package/dist/services/execution-service.js.map +1 -1
  38. package/dist/services/executions.d.ts +1 -0
  39. package/dist/services/executions.d.ts.map +1 -1
  40. package/dist/services/executions.js +4 -0
  41. package/dist/services/executions.js.map +1 -1
  42. package/dist/services/project-context.d.ts +25 -0
  43. package/dist/services/project-context.d.ts.map +1 -1
  44. package/dist/services/project-context.js +53 -3
  45. package/dist/services/project-context.js.map +1 -1
  46. package/dist/services/project-manager.d.ts +7 -0
  47. package/dist/services/project-manager.d.ts.map +1 -1
  48. package/dist/services/project-manager.js +90 -1
  49. package/dist/services/project-manager.js.map +1 -1
  50. package/dist/services/websocket.d.ts +10 -2
  51. package/dist/services/websocket.d.ts.map +1 -1
  52. package/dist/services/websocket.js +18 -0
  53. package/dist/services/websocket.js.map +1 -1
  54. package/dist/services/workflow-broadcast-service.d.ts +43 -0
  55. package/dist/services/workflow-broadcast-service.d.ts.map +1 -0
  56. package/dist/services/workflow-broadcast-service.js +145 -0
  57. package/dist/services/workflow-broadcast-service.js.map +1 -0
  58. package/dist/workflow/base-workflow-engine.d.ts +186 -0
  59. package/dist/workflow/base-workflow-engine.d.ts.map +1 -0
  60. package/dist/workflow/base-workflow-engine.js +549 -0
  61. package/dist/workflow/base-workflow-engine.js.map +1 -0
  62. package/dist/workflow/dependency-analyzer.d.ts +78 -0
  63. package/dist/workflow/dependency-analyzer.d.ts.map +1 -0
  64. package/dist/workflow/dependency-analyzer.js +264 -0
  65. package/dist/workflow/dependency-analyzer.js.map +1 -0
  66. package/dist/workflow/engines/orchestrator-engine.d.ts +237 -0
  67. package/dist/workflow/engines/orchestrator-engine.d.ts.map +1 -0
  68. package/dist/workflow/engines/orchestrator-engine.js +749 -0
  69. package/dist/workflow/engines/orchestrator-engine.js.map +1 -0
  70. package/dist/workflow/engines/sequential-engine.d.ts +276 -0
  71. package/dist/workflow/engines/sequential-engine.d.ts.map +1 -0
  72. package/dist/workflow/engines/sequential-engine.js +1110 -0
  73. package/dist/workflow/engines/sequential-engine.js.map +1 -0
  74. package/dist/workflow/index.d.ts +15 -0
  75. package/dist/workflow/index.d.ts.map +1 -0
  76. package/dist/workflow/index.js +22 -0
  77. package/dist/workflow/index.js.map +1 -0
  78. package/dist/workflow/mcp/api-client.d.ts +103 -0
  79. package/dist/workflow/mcp/api-client.d.ts.map +1 -0
  80. package/dist/workflow/mcp/api-client.js +193 -0
  81. package/dist/workflow/mcp/api-client.js.map +1 -0
  82. package/dist/workflow/mcp/index.d.ts +16 -0
  83. package/dist/workflow/mcp/index.d.ts.map +1 -0
  84. package/dist/workflow/mcp/index.js +114 -0
  85. package/dist/workflow/mcp/index.js.map +1 -0
  86. package/dist/workflow/mcp/server.d.ts +85 -0
  87. package/dist/workflow/mcp/server.d.ts.map +1 -0
  88. package/dist/workflow/mcp/server.js +520 -0
  89. package/dist/workflow/mcp/server.js.map +1 -0
  90. package/dist/workflow/mcp/tools/escalation.d.ts +36 -0
  91. package/dist/workflow/mcp/tools/escalation.d.ts.map +1 -0
  92. package/dist/workflow/mcp/tools/escalation.js +47 -0
  93. package/dist/workflow/mcp/tools/escalation.js.map +1 -0
  94. package/dist/workflow/mcp/tools/execution.d.ts +59 -0
  95. package/dist/workflow/mcp/tools/execution.d.ts.map +1 -0
  96. package/dist/workflow/mcp/tools/execution.js +67 -0
  97. package/dist/workflow/mcp/tools/execution.js.map +1 -0
  98. package/dist/workflow/mcp/tools/inspection.d.ts +82 -0
  99. package/dist/workflow/mcp/tools/inspection.d.ts.map +1 -0
  100. package/dist/workflow/mcp/tools/inspection.js +57 -0
  101. package/dist/workflow/mcp/tools/inspection.js.map +1 -0
  102. package/dist/workflow/mcp/tools/workflow.d.ts +59 -0
  103. package/dist/workflow/mcp/tools/workflow.d.ts.map +1 -0
  104. package/dist/workflow/mcp/tools/workflow.js +40 -0
  105. package/dist/workflow/mcp/tools/workflow.js.map +1 -0
  106. package/dist/workflow/mcp/types.d.ts +345 -0
  107. package/dist/workflow/mcp/types.d.ts.map +1 -0
  108. package/dist/workflow/mcp/types.js +7 -0
  109. package/dist/workflow/mcp/types.js.map +1 -0
  110. package/dist/workflow/services/prompt-builder.d.ts +36 -0
  111. package/dist/workflow/services/prompt-builder.d.ts.map +1 -0
  112. package/dist/workflow/services/prompt-builder.js +329 -0
  113. package/dist/workflow/services/prompt-builder.js.map +1 -0
  114. package/dist/workflow/services/wakeup-service.d.ts +262 -0
  115. package/dist/workflow/services/wakeup-service.d.ts.map +1 -0
  116. package/dist/workflow/services/wakeup-service.js +809 -0
  117. package/dist/workflow/services/wakeup-service.js.map +1 -0
  118. package/dist/workflow/workflow-engine.d.ts +221 -0
  119. package/dist/workflow/workflow-engine.d.ts.map +1 -0
  120. package/dist/workflow/workflow-engine.js +94 -0
  121. package/dist/workflow/workflow-engine.js.map +1 -0
  122. package/dist/workflow/workflow-event-emitter.d.ts +278 -0
  123. package/dist/workflow/workflow-event-emitter.d.ts.map +1 -0
  124. package/dist/workflow/workflow-event-emitter.js +259 -0
  125. package/dist/workflow/workflow-event-emitter.js.map +1 -0
  126. package/package.json +8 -6
  127. package/dist/public/assets/index-CQoCSnhl.css +0 -1
  128. package/dist/public/assets/index-iWE3gSYw.js +0 -758
  129. package/dist/public/assets/index-iWE3gSYw.js.map +0 -1
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Base Workflow Engine
3
+ *
4
+ * Abstract base class with shared logic for workflow engine implementations.
5
+ * Both SequentialWorkflowEngine and OrchestratorWorkflowEngine extend this class.
6
+ */
7
+ import type Database from "better-sqlite3";
8
+ import type { Workflow, WorkflowSource, WorkflowConfig, WorkflowStep, WorkflowStatus, DependencyGraph } from "@sudocode-ai/types";
9
+ import type { IWorkflowEngine } from "./workflow-engine.js";
10
+ import { WorkflowEventEmitter, type WorkflowEventListener } from "./workflow-event-emitter.js";
11
+ import type { ExecutionLifecycleService } from "../services/execution-lifecycle.js";
12
+ /**
13
+ * Abstract base class for workflow engine implementations.
14
+ *
15
+ * Provides shared functionality for:
16
+ * - Database CRUD operations
17
+ * - Source resolution (spec, issues, root_issue, goal)
18
+ * - Step creation from dependency graph
19
+ * - Ready step detection
20
+ * - Event subscription
21
+ *
22
+ * Subclasses must implement:
23
+ * - createWorkflow()
24
+ * - startWorkflow()
25
+ * - pauseWorkflow()
26
+ * - resumeWorkflow()
27
+ * - cancelWorkflow()
28
+ * - retryStep()
29
+ * - skipStep()
30
+ */
31
+ export declare abstract class BaseWorkflowEngine implements IWorkflowEngine {
32
+ protected db: Database.Database;
33
+ protected eventEmitter: WorkflowEventEmitter;
34
+ constructor(db: Database.Database, eventEmitter?: WorkflowEventEmitter);
35
+ abstract createWorkflow(source: WorkflowSource, config?: Partial<WorkflowConfig>): Promise<Workflow>;
36
+ /**
37
+ * Generate a title from the workflow source.
38
+ */
39
+ protected generateTitle(source: WorkflowSource): string;
40
+ abstract startWorkflow(workflowId: string): Promise<void>;
41
+ abstract pauseWorkflow(workflowId: string): Promise<void>;
42
+ abstract resumeWorkflow(workflowId: string, message?: string): Promise<void>;
43
+ abstract cancelWorkflow(workflowId: string): Promise<void>;
44
+ abstract retryStep(workflowId: string, stepId: string): Promise<void>;
45
+ abstract skipStep(workflowId: string, stepId: string, reason?: string): Promise<void>;
46
+ /**
47
+ * Get a workflow by ID.
48
+ */
49
+ getWorkflow(workflowId: string): Promise<Workflow | null>;
50
+ /**
51
+ * Get a workflow by ID, throwing if not found.
52
+ */
53
+ protected getWorkflowOrThrow(workflowId: string): Promise<Workflow>;
54
+ /**
55
+ * Get steps that are ready to execute.
56
+ * A step is ready if:
57
+ * - Its status is "pending" or "ready"
58
+ * - All its dependencies are "completed"
59
+ */
60
+ getReadySteps(workflowId: string): Promise<WorkflowStep[]>;
61
+ /**
62
+ * List all workflows with optional filtering.
63
+ */
64
+ listWorkflows(options?: {
65
+ status?: WorkflowStatus;
66
+ limit?: number;
67
+ offset?: number;
68
+ }): Promise<Workflow[]>;
69
+ /**
70
+ * Subscribe to workflow events.
71
+ */
72
+ onWorkflowEvent(listener: WorkflowEventListener): () => void;
73
+ /**
74
+ * Emit an escalation requested event.
75
+ */
76
+ emitEscalationRequested(workflowId: string, escalationId: string, message: string, options?: string[], context?: Record<string, unknown>): void;
77
+ /**
78
+ * Emit an escalation resolved event.
79
+ */
80
+ emitEscalationResolved(workflowId: string, escalationId: string, action: "approve" | "reject" | "custom", message?: string): void;
81
+ /**
82
+ * Emit a step started event.
83
+ */
84
+ emitStepStarted(workflowId: string, step: WorkflowStep): void;
85
+ /**
86
+ * Emit a step completed event.
87
+ */
88
+ emitStepCompleted(workflowId: string, step: WorkflowStep, executionId: string): void;
89
+ /**
90
+ * Emit a step failed event.
91
+ */
92
+ emitStepFailed(workflowId: string, step: WorkflowStep, error: string): void;
93
+ /**
94
+ * Emit a workflow completed event.
95
+ */
96
+ emitWorkflowCompleted(workflowId: string, workflow: Workflow): void;
97
+ /**
98
+ * Emit a workflow failed event.
99
+ */
100
+ emitWorkflowFailed(workflowId: string, error: string): void;
101
+ /**
102
+ * Save a new workflow to the database.
103
+ */
104
+ protected saveWorkflow(workflow: Workflow): void;
105
+ /**
106
+ * Update a workflow in the database.
107
+ * Uses dynamic field builder for partial updates.
108
+ */
109
+ protected updateWorkflow(workflowId: string, updates: Partial<{
110
+ title: string;
111
+ status: WorkflowStatus;
112
+ steps: WorkflowStep[];
113
+ worktreePath: string | null;
114
+ branchName: string | null;
115
+ currentStepIndex: number;
116
+ orchestratorExecutionId: string | null;
117
+ orchestratorSessionId: string | null;
118
+ config: WorkflowConfig;
119
+ startedAt: string | null;
120
+ completedAt: string | null;
121
+ }>): Workflow;
122
+ /**
123
+ * Update a specific step within a workflow.
124
+ */
125
+ protected updateStep(workflowId: string, stepId: string, updates: Partial<WorkflowStep>): void;
126
+ /**
127
+ * Delete a workflow from the database.
128
+ */
129
+ protected deleteWorkflow(workflowId: string): void;
130
+ /**
131
+ * Resolve a WorkflowSource to a list of issue IDs.
132
+ *
133
+ * @param source - The workflow source definition
134
+ * @returns Array of issue IDs
135
+ */
136
+ protected resolveSource(source: WorkflowSource): Promise<string[]>;
137
+ /**
138
+ * Resolve a spec source to issue IDs.
139
+ * Finds all issues that implement the spec.
140
+ */
141
+ private resolveSpecSource;
142
+ /**
143
+ * Resolve a root issue source to issue IDs.
144
+ * Returns the root issue plus all issues that block it (recursively).
145
+ */
146
+ private resolveRootIssueSource;
147
+ /**
148
+ * Create workflow steps from a dependency graph.
149
+ *
150
+ * @param graph - The analyzed dependency graph
151
+ * @returns Array of WorkflowStep objects
152
+ */
153
+ protected createStepsFromGraph(graph: DependencyGraph): WorkflowStep[];
154
+ /**
155
+ * Create a workflow object (without saving to database).
156
+ * Used by subclasses to build the workflow before saving.
157
+ */
158
+ protected buildWorkflow(options: {
159
+ source: WorkflowSource;
160
+ steps: WorkflowStep[];
161
+ config: Partial<WorkflowConfig>;
162
+ repoPath?: string;
163
+ }): Workflow;
164
+ /**
165
+ * Analyze dependencies for a set of issues.
166
+ * Convenience wrapper around analyzeDependencies().
167
+ */
168
+ protected analyzeDependencies(issueIds: string[]): DependencyGraph;
169
+ /**
170
+ * Create a workflow-level worktree.
171
+ *
172
+ * Creates a worktree that will be shared across all executions in the workflow.
173
+ * This ensures the orchestrator and all step executions run in the same isolated
174
+ * environment and can see each other's changes.
175
+ *
176
+ * @param workflow - The workflow to create the worktree for
177
+ * @param repoPath - Path to the git repository
178
+ * @param lifecycleService - Execution lifecycle service for worktree creation
179
+ * @returns Object with worktreePath and branchName
180
+ */
181
+ protected createWorkflowWorktreeHelper(workflow: Workflow, repoPath: string, lifecycleService: ExecutionLifecycleService): Promise<{
182
+ worktreePath: string;
183
+ branchName: string;
184
+ }>;
185
+ }
186
+ //# sourceMappingURL=base-workflow-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-workflow-engine.d.ts","sourceRoot":"","sources":["../../src/workflow/base-workflow-engine.ts"],"names":[],"mappings":"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"}