@sudocode-ai/local-server 0.1.5 → 0.1.7

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 (125) hide show
  1. package/dist/execution/process/builders/claude.d.ts +1 -1
  2. package/dist/execution/process/builders/claude.d.ts.map +1 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +70 -11
  5. package/dist/index.js.map +1 -1
  6. package/dist/public/assets/index-B3SEMufD.js +580 -0
  7. package/dist/public/assets/index-B3SEMufD.js.map +1 -0
  8. package/dist/public/assets/index-D2YGL3gX.css +1 -0
  9. package/dist/public/assets/react-vendor-ByUx1V_q.js +60 -0
  10. package/dist/public/assets/react-vendor-ByUx1V_q.js.map +1 -0
  11. package/dist/public/assets/ui-vendor-CotR6bx9.js +54 -0
  12. package/dist/public/assets/ui-vendor-CotR6bx9.js.map +1 -0
  13. package/dist/public/index.html +4 -4
  14. package/dist/routes/feedback.d.ts.map +1 -1
  15. package/dist/routes/feedback.js +20 -12
  16. package/dist/routes/feedback.js.map +1 -1
  17. package/dist/services/db.d.ts.map +1 -1
  18. package/dist/services/db.js +19 -14
  19. package/dist/services/db.js.map +1 -1
  20. package/dist/services/execution-service.d.ts.map +1 -1
  21. package/dist/services/execution-service.js +43 -22
  22. package/dist/services/execution-service.js.map +1 -1
  23. package/dist/services/executions.d.ts.map +1 -1
  24. package/dist/services/executions.js +15 -0
  25. package/dist/services/executions.js.map +1 -1
  26. package/dist/services/feedback.d.ts +16 -0
  27. package/dist/services/feedback.d.ts.map +1 -1
  28. package/dist/services/feedback.js +25 -1
  29. package/dist/services/feedback.js.map +1 -1
  30. package/dist/services/repo-info.d.ts +17 -0
  31. package/dist/services/repo-info.d.ts.map +1 -0
  32. package/dist/services/repo-info.js +53 -0
  33. package/dist/services/repo-info.js.map +1 -0
  34. package/dist/services/websocket.d.ts +25 -3
  35. package/dist/services/websocket.d.ts.map +1 -1
  36. package/dist/services/websocket.js +71 -7
  37. package/dist/services/websocket.js.map +1 -1
  38. package/package.json +8 -7
  39. package/dist/execution/engine/engine.d.ts +0 -103
  40. package/dist/execution/engine/engine.d.ts.map +0 -1
  41. package/dist/execution/engine/engine.js +0 -10
  42. package/dist/execution/engine/engine.js.map +0 -1
  43. package/dist/execution/engine/simple-engine.d.ts +0 -190
  44. package/dist/execution/engine/simple-engine.d.ts.map +0 -1
  45. package/dist/execution/engine/simple-engine.js +0 -611
  46. package/dist/execution/engine/simple-engine.js.map +0 -1
  47. package/dist/execution/engine/types.d.ts +0 -116
  48. package/dist/execution/engine/types.d.ts.map +0 -1
  49. package/dist/execution/engine/types.js +0 -10
  50. package/dist/execution/engine/types.js.map +0 -1
  51. package/dist/execution/process/index.d.ts +0 -15
  52. package/dist/execution/process/index.d.ts.map +0 -1
  53. package/dist/execution/process/index.js +0 -15
  54. package/dist/execution/process/index.js.map +0 -1
  55. package/dist/execution/process/manager.d.ts +0 -133
  56. package/dist/execution/process/manager.d.ts.map +0 -1
  57. package/dist/execution/process/manager.js +0 -10
  58. package/dist/execution/process/manager.js.map +0 -1
  59. package/dist/execution/process/simple-manager.d.ts +0 -102
  60. package/dist/execution/process/simple-manager.d.ts.map +0 -1
  61. package/dist/execution/process/simple-manager.js +0 -336
  62. package/dist/execution/process/simple-manager.js.map +0 -1
  63. package/dist/execution/process/types.d.ts +0 -105
  64. package/dist/execution/process/types.d.ts.map +0 -1
  65. package/dist/execution/process/types.js +0 -10
  66. package/dist/execution/process/types.js.map +0 -1
  67. package/dist/execution/process/utils.d.ts +0 -53
  68. package/dist/execution/process/utils.d.ts.map +0 -1
  69. package/dist/execution/process/utils.js +0 -97
  70. package/dist/execution/process/utils.js.map +0 -1
  71. package/dist/execution/resilience/circuit-breaker.d.ts +0 -170
  72. package/dist/execution/resilience/circuit-breaker.d.ts.map +0 -1
  73. package/dist/execution/resilience/circuit-breaker.js +0 -291
  74. package/dist/execution/resilience/circuit-breaker.js.map +0 -1
  75. package/dist/execution/resilience/executor.d.ts +0 -109
  76. package/dist/execution/resilience/executor.d.ts.map +0 -1
  77. package/dist/execution/resilience/executor.js +0 -10
  78. package/dist/execution/resilience/executor.js.map +0 -1
  79. package/dist/execution/resilience/index.d.ts +0 -14
  80. package/dist/execution/resilience/index.d.ts.map +0 -1
  81. package/dist/execution/resilience/index.js +0 -15
  82. package/dist/execution/resilience/index.js.map +0 -1
  83. package/dist/execution/resilience/resilient-executor.d.ts +0 -86
  84. package/dist/execution/resilience/resilient-executor.d.ts.map +0 -1
  85. package/dist/execution/resilience/resilient-executor.js +0 -261
  86. package/dist/execution/resilience/resilient-executor.js.map +0 -1
  87. package/dist/execution/resilience/retry.d.ts +0 -161
  88. package/dist/execution/resilience/retry.d.ts.map +0 -1
  89. package/dist/execution/resilience/retry.js +0 -234
  90. package/dist/execution/resilience/retry.js.map +0 -1
  91. package/dist/execution/resilience/types.d.ts +0 -226
  92. package/dist/execution/resilience/types.d.ts.map +0 -1
  93. package/dist/execution/resilience/types.js +0 -30
  94. package/dist/execution/resilience/types.js.map +0 -1
  95. package/dist/execution/workflow/index.d.ts +0 -13
  96. package/dist/execution/workflow/index.d.ts.map +0 -1
  97. package/dist/execution/workflow/index.js +0 -13
  98. package/dist/execution/workflow/index.js.map +0 -1
  99. package/dist/execution/workflow/linear-orchestrator.d.ts +0 -216
  100. package/dist/execution/workflow/linear-orchestrator.d.ts.map +0 -1
  101. package/dist/execution/workflow/linear-orchestrator.js +0 -683
  102. package/dist/execution/workflow/linear-orchestrator.js.map +0 -1
  103. package/dist/execution/workflow/memory-storage.d.ts +0 -54
  104. package/dist/execution/workflow/memory-storage.d.ts.map +0 -1
  105. package/dist/execution/workflow/memory-storage.js +0 -68
  106. package/dist/execution/workflow/memory-storage.js.map +0 -1
  107. package/dist/execution/workflow/orchestrator.d.ts +0 -158
  108. package/dist/execution/workflow/orchestrator.d.ts.map +0 -1
  109. package/dist/execution/workflow/orchestrator.js +0 -9
  110. package/dist/execution/workflow/orchestrator.js.map +0 -1
  111. package/dist/execution/workflow/types.d.ts +0 -172
  112. package/dist/execution/workflow/types.d.ts.map +0 -1
  113. package/dist/execution/workflow/types.js +0 -9
  114. package/dist/execution/workflow/types.js.map +0 -1
  115. package/dist/execution/workflow/utils.d.ts +0 -89
  116. package/dist/execution/workflow/utils.d.ts.map +0 -1
  117. package/dist/execution/workflow/utils.js +0 -152
  118. package/dist/execution/workflow/utils.js.map +0 -1
  119. package/dist/public/assets/index-CeD4U_lo.css +0 -1
  120. package/dist/public/assets/index-fLX6-3RP.js +0 -569
  121. package/dist/public/assets/index-fLX6-3RP.js.map +0 -1
  122. package/dist/public/assets/react-vendor-LX0UoTxg.js +0 -60
  123. package/dist/public/assets/react-vendor-LX0UoTxg.js.map +0 -1
  124. package/dist/public/assets/ui-vendor-_cxVHaqZ.js +0 -54
  125. package/dist/public/assets/ui-vendor-_cxVHaqZ.js.map +0 -1
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Repository info service - provides git repository information
3
+ */
4
+ import * as path from "path";
5
+ import { GitCli } from "../execution/worktree/git-cli.js";
6
+ /**
7
+ * Get repository information for a given repository path
8
+ *
9
+ * @param repoPath - Absolute path to the repository root
10
+ * @returns Repository information including name, branch, and path
11
+ * @throws Error if the path is not a valid git repository
12
+ */
13
+ export async function getRepositoryInfo(repoPath) {
14
+ const gitCli = new GitCli();
15
+ // Check if repoPath is a valid git repository
16
+ const isValidRepo = await gitCli.isValidRepo(repoPath);
17
+ if (!isValidRepo) {
18
+ throw new Error("Not a git repository");
19
+ }
20
+ // Get repository name from git remote URL
21
+ let repoName = path.basename(repoPath); // Fallback to directory name
22
+ try {
23
+ const remoteOutput = gitCli["execGit"]("git remote get-url origin", repoPath);
24
+ const remoteUrl = remoteOutput.trim();
25
+ // Extract repo name from various URL formats:
26
+ // - https://github.com/user/repo.git
27
+ // - git@github.com:user/repo.git
28
+ // - https://github.com/user/repo
29
+ const match = remoteUrl.match(/\/([^\/]+?)(\.git)?$/);
30
+ if (match && match[1]) {
31
+ repoName = match[1];
32
+ }
33
+ }
34
+ catch (error) {
35
+ // No remote or error getting remote - use directory name as fallback
36
+ console.log("No git remote found, using directory name as fallback");
37
+ }
38
+ // Get current branch
39
+ let branch = "(detached)";
40
+ try {
41
+ const output = gitCli["execGit"]("git rev-parse --abbrev-ref HEAD", repoPath);
42
+ branch = output.trim();
43
+ }
44
+ catch (error) {
45
+ console.error("Failed to get current branch:", error);
46
+ }
47
+ return {
48
+ name: repoName,
49
+ branch,
50
+ path: repoPath,
51
+ };
52
+ }
53
+ //# sourceMappingURL=repo-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-info.js","sourceRoot":"","sources":["../../src/services/repo-info.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAQ1D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB;IAEhB,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAE5B,8CAA8C;IAC9C,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,0CAA0C;IAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,6BAA6B;IACrE,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CACpC,2BAA2B,EAC3B,QAAQ,CACT,CAAC;QACF,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;QAEtC,8CAA8C;QAC9C,qCAAqC;QACrC,iCAAiC;QACjC,iCAAiC;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACtD,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,qEAAqE;QACrE,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACvE,CAAC;IAED,qBAAqB;IACrB,IAAI,MAAM,GAAG,YAAY,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAC9B,iCAAiC,EACjC,QAAQ,CACT,CAAC;QACF,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,MAAM;QACN,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC"}
@@ -1,9 +1,10 @@
1
+ import { WebSocketServer } from "ws";
1
2
  import * as http from "http";
2
3
  /**
3
4
  * Message types that the server sends to clients
4
5
  */
5
6
  export interface ServerMessage {
6
- type: "issue_created" | "issue_updated" | "issue_deleted" | "spec_created" | "spec_updated" | "spec_deleted" | "feedback_created" | "feedback_updated" | "feedback_deleted" | "relationship_created" | "relationship_deleted" | "pong" | "error" | "subscribed" | "unsubscribed";
7
+ type: "issue_created" | "issue_updated" | "issue_deleted" | "spec_created" | "spec_updated" | "spec_deleted" | "feedback_created" | "feedback_updated" | "feedback_deleted" | "relationship_created" | "relationship_deleted" | "execution_created" | "execution_updated" | "execution_status_changed" | "execution_deleted" | "pong" | "error" | "subscribed" | "unsubscribed";
7
8
  data?: any;
8
9
  message?: string;
9
10
  subscription?: string;
@@ -18,8 +19,11 @@ declare class WebSocketManager {
18
19
  private readonly HEARTBEAT_INTERVAL;
19
20
  /**
20
21
  * Initialize the WebSocket server
22
+ * @param server HTTP server instance
23
+ * @param path WebSocket path (default: "/ws")
24
+ * @param allowReinit Allow re-initialization after shutdown (default: false)
21
25
  */
22
- init(server: http.Server, path?: string): void;
26
+ init(server: http.Server, path?: string, allowReinit?: boolean): void;
23
27
  /**
24
28
  * Handle new WebSocket connection
25
29
  */
@@ -55,7 +59,7 @@ declare class WebSocketManager {
55
59
  /**
56
60
  * Broadcast a message to all subscribed clients
57
61
  */
58
- broadcast(entityType: "issue" | "spec", entityId: string, message: ServerMessage): void;
62
+ broadcast(entityType: "issue" | "spec" | "execution", entityId: string, message: ServerMessage): void;
59
63
  /**
60
64
  * Broadcast a relationship or feedback update
61
65
  * These don't have a specific entity type in the subscription, so we broadcast to 'all' subscribers
@@ -69,6 +73,10 @@ declare class WebSocketManager {
69
73
  * Stop the heartbeat mechanism
70
74
  */
71
75
  private stopHeartbeat;
76
+ /**
77
+ * Get the WebSocket server instance
78
+ */
79
+ getServer(): WebSocketServer | null;
72
80
  /**
73
81
  * Get statistics about connected clients
74
82
  */
@@ -107,6 +115,20 @@ export declare function broadcastFeedbackUpdate(action: "created" | "updated" |
107
115
  * Broadcast relationship updates to subscribed clients
108
116
  */
109
117
  export declare function broadcastRelationshipUpdate(action: "created" | "deleted", data?: any): void;
118
+ /**
119
+ * Broadcast execution updates to subscribed clients
120
+ * Also optionally broadcasts to parent issue subscribers
121
+ *
122
+ * @param executionId - ID of the execution
123
+ * @param action - The action performed on the execution
124
+ * @param data - Execution data to broadcast
125
+ * @param issueId - Optional issue ID to also broadcast to issue subscribers
126
+ */
127
+ export declare function broadcastExecutionUpdate(executionId: string, action: "created" | "updated" | "status_changed" | "deleted", data?: any, issueId?: string): void;
128
+ /**
129
+ * Get the WebSocket server instance
130
+ */
131
+ export declare function getWebSocketServer(): WebSocketServer | null;
110
132
  /**
111
133
  * Get WebSocket server statistics
112
134
  */
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/services/websocket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAyB7B;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EACA,eAAe,GACf,eAAe,GACf,eAAe,GACf,cAAc,GACd,cAAc,GACd,cAAc,GACd,kBAAkB,GAClB,kBAAkB,GAClB,kBAAkB,GAClB,sBAAsB,GACtB,sBAAsB,GACtB,MAAM,GACN,OAAO,GACP,YAAY,GACZ,cAAc,CAAC;IACnB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,cAAM,gBAAgB;IACpB,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAE5C;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAE,MAAc,GAAG,IAAI;IAarD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8BxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,UAAU;IAOlB;;OAEG;IACH,OAAO,CAAC,aAAa;IAwCrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAuCvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAgBpB;;OAEG;IACH,SAAS,CACP,UAAU,EAAE,OAAO,GAAG,MAAM,EAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,GACrB,IAAI;IAmCP;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IA6B9C;;OAEG;IACH,OAAO,CAAC,cAAc;IA4BtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,QAAQ,IAAI;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,KAAK,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;YACX,aAAa,EAAE,MAAM,EAAE,CAAC;YACxB,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,EAAE,OAAO,CAAC;SAClB,CAAC,CAAC;KACJ;IAYD;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CA2BhC;AAGD,eAAO,MAAM,gBAAgB,kBAAyB,CAAC;AAEvD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAE5E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,EACzC,IAAI,CAAC,EAAE,GAAG,GACT,IAAI,CAKN;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,EACzC,IAAI,CAAC,EAAE,GAAG,GACT,IAAI,CAKN;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,EACzC,IAAI,CAAC,EAAE,GAAG,GACT,IAAI,CAKN;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,SAAS,GAAG,SAAS,EAC7B,IAAI,CAAC,EAAE,GAAG,GACT,IAAI,CAKN;AAED;;GAEG;AACH,wBAAgB,iBAAiB;kBAtHf,MAAM;aACX,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;EAkHL;AAED;;GAEG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE7D"}
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/services/websocket.ts"],"names":[],"mappings":"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"}
@@ -11,16 +11,43 @@ class WebSocketManager {
11
11
  HEARTBEAT_INTERVAL = 30000; // 30 seconds
12
12
  /**
13
13
  * Initialize the WebSocket server
14
+ * @param server HTTP server instance
15
+ * @param path WebSocket path (default: "/ws")
16
+ * @param allowReinit Allow re-initialization after shutdown (default: false)
14
17
  */
15
- init(server, path = "/ws") {
18
+ init(server, path = "/ws", allowReinit = false) {
16
19
  if (this.wss) {
17
- console.warn("[websocket] WebSocket server already initialized");
18
- return;
20
+ if (allowReinit) {
21
+ console.warn("[websocket] WebSocket server already initialized, but re-initialization is allowed");
22
+ // Don't return, allow re-initialization
23
+ }
24
+ else {
25
+ console.warn("[websocket] WebSocket server already initialized");
26
+ return;
27
+ }
28
+ }
29
+ try {
30
+ this.wss = new WebSocketServer({ server, path });
31
+ // Verify the WebSocket server was created successfully
32
+ if (!this.wss) {
33
+ throw new Error("Failed to create WebSocket server");
34
+ }
35
+ // Add error handler to catch initialization issues
36
+ this.wss.on("error", (error) => {
37
+ console.error(`[websocket] WebSocket server error:`, error);
38
+ throw new Error(`WebSocket server error: ${error.message}`);
39
+ });
40
+ console.log(`[websocket] WebSocket server initialized on path: ${path}`);
41
+ this.wss.on("connection", this.handleConnection.bind(this));
42
+ this.startHeartbeat();
43
+ }
44
+ catch (error) {
45
+ const errorMessage = error instanceof Error ? error.message : String(error);
46
+ console.error(`[websocket] Failed to initialize WebSocket server:`, errorMessage);
47
+ // Clean up on failure
48
+ this.wss = null;
49
+ throw new Error(`Failed to initialize WebSocket server on path ${path}: ${errorMessage}`);
19
50
  }
20
- this.wss = new WebSocketServer({ server, path });
21
- console.log(`[websocket] WebSocket server initialized on path: ${path}`);
22
- this.wss.on("connection", this.handleConnection.bind(this));
23
- this.startHeartbeat();
24
51
  }
25
52
  /**
26
53
  * Handle new WebSocket connection
@@ -288,6 +315,12 @@ class WebSocketManager {
288
315
  console.log("[websocket] Heartbeat stopped");
289
316
  }
290
317
  }
318
+ /**
319
+ * Get the WebSocket server instance
320
+ */
321
+ getServer() {
322
+ return this.wss;
323
+ }
291
324
  /**
292
325
  * Get statistics about connected clients
293
326
  */
@@ -374,6 +407,37 @@ export function broadcastRelationshipUpdate(action, data) {
374
407
  data,
375
408
  });
376
409
  }
410
+ /**
411
+ * Broadcast execution updates to subscribed clients
412
+ * Also optionally broadcasts to parent issue subscribers
413
+ *
414
+ * @param executionId - ID of the execution
415
+ * @param action - The action performed on the execution
416
+ * @param data - Execution data to broadcast
417
+ * @param issueId - Optional issue ID to also broadcast to issue subscribers
418
+ */
419
+ export function broadcastExecutionUpdate(executionId, action, data, issueId) {
420
+ // Primary broadcast to execution subscribers
421
+ websocketManager.broadcast("execution", executionId, {
422
+ type: `execution_${action}`,
423
+ data,
424
+ });
425
+ // Secondary broadcast to issue subscribers if issueId provided
426
+ // This allows clients viewing an issue to see its execution updates
427
+ // without subscribing to each individual execution
428
+ if (issueId) {
429
+ websocketManager.broadcast("issue", issueId, {
430
+ type: `execution_${action}`,
431
+ data,
432
+ });
433
+ }
434
+ }
435
+ /**
436
+ * Get the WebSocket server instance
437
+ */
438
+ export function getWebSocketServer() {
439
+ return websocketManager.getServer();
440
+ }
377
441
  /**
378
442
  * Get WebSocket server statistics
379
443
  */
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/services/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/services/websocket.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudocode-ai/local-server",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Local backend server for sudocode - provides REST API and WebSocket endpoints",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -41,26 +41,27 @@
41
41
  },
42
42
  "dependencies": {
43
43
  "@ag-ui/core": "^0.0.39",
44
- "@sudocode-ai/cli": "^0.1.5",
45
- "@sudocode-ai/types": "^0.1.5",
44
+ "@sudocode-ai/cli": "^0.1.7",
45
+ "@sudocode-ai/types": "^0.1.7",
46
46
  "@types/ws": "^8.18.1",
47
+ "agent-execution-engine": "^0.0.4",
47
48
  "async-mutex": "^0.5.0",
48
- "better-sqlite3": "^11.8.1",
49
+ "better-sqlite3": "^11.10.0",
49
50
  "cors": "^2.8.5",
50
51
  "dotenv": "^16.4.5",
51
52
  "express": "^4.18.2",
52
- "glob": "^11.0.3",
53
+ "glob": "^10.4.5",
53
54
  "node-fetch": "^2.7.0",
54
55
  "ws": "^8.18.3",
55
56
  "zod": "^3.22.4"
56
57
  },
57
58
  "devDependencies": {
58
- "@types/better-sqlite3": "^7.6.8",
59
+ "@types/better-sqlite3": "^7.6.13",
59
60
  "@types/cors": "^2.8.17",
60
61
  "@types/express": "^4.17.21",
61
62
  "@types/node": "^20.11.19",
62
63
  "@types/supertest": "^6.0.3",
63
- "esbuild": "^0.24.2",
64
+ "esbuild": "^0.27.0",
64
65
  "supertest": "^7.1.4",
65
66
  "tsx": "^4.7.1",
66
67
  "typescript": "^5.3.3",
@@ -1,103 +0,0 @@
1
- /**
2
- * Execution Engine Interface
3
- *
4
- * Core abstraction for task execution engines. Provides methods for
5
- * submitting, controlling, monitoring, and waiting for task execution.
6
- *
7
- * @module execution/engine/engine
8
- */
9
- import type { ExecutionTask, ExecutionResult, TaskStatus, EngineMetrics, TaskCompleteHandler, TaskFailedHandler } from './types.js';
10
- /**
11
- * IExecutionEngine - Interface for task execution engines
12
- *
13
- * Defines the contract for engines that manage Claude Code agent execution.
14
- * Implementations may use different strategies (queue-based, pool-based, etc.)
15
- * but must provide these core capabilities.
16
- */
17
- export interface IExecutionEngine {
18
- /**
19
- * Submit a single task for execution
20
- *
21
- * @param task - The task to execute
22
- * @returns Promise resolving to the task ID
23
- */
24
- submitTask(task: ExecutionTask): Promise<string>;
25
- /**
26
- * Submit multiple tasks for execution
27
- *
28
- * @param tasks - Array of tasks to execute
29
- * @returns Promise resolving to array of task IDs
30
- */
31
- submitTasks(tasks: ExecutionTask[]): Promise<string[]>;
32
- /**
33
- * Cancel a queued or running task
34
- *
35
- * For queued tasks, removes from queue without execution.
36
- * For running tasks, terminates the process.
37
- *
38
- * @param taskId - ID of task to cancel
39
- * @returns Promise that resolves when cancellation complete
40
- */
41
- cancelTask(taskId: string): Promise<void>;
42
- /**
43
- * Get current status of a task
44
- *
45
- * @param taskId - ID of task to query
46
- * @returns Current task status or null if task not found
47
- */
48
- getTaskStatus(taskId: string): TaskStatus | null;
49
- /**
50
- * Wait for a task to complete
51
- *
52
- * Returns immediately if task already completed, otherwise
53
- * waits for completion and returns result.
54
- *
55
- * @param taskId - ID of task to wait for
56
- * @returns Promise resolving to execution result
57
- * @throws Error if task fails
58
- */
59
- waitForTask(taskId: string): Promise<ExecutionResult>;
60
- /**
61
- * Wait for multiple tasks to complete
62
- *
63
- * @param taskIds - IDs of tasks to wait for
64
- * @returns Promise resolving to array of execution results
65
- * @throws Error if any task fails
66
- */
67
- waitForTasks(taskIds: string[]): Promise<ExecutionResult[]>;
68
- /**
69
- * Get current engine metrics
70
- *
71
- * Returns real-time statistics about engine performance
72
- * and resource utilization.
73
- *
74
- * @returns Current engine metrics (defensive copy)
75
- */
76
- getMetrics(): EngineMetrics;
77
- /**
78
- * Register handler for task completion events
79
- *
80
- * Called when any task completes successfully.
81
- *
82
- * @param handler - Callback function to invoke on completion
83
- */
84
- onTaskComplete(handler: TaskCompleteHandler): void;
85
- /**
86
- * Register handler for task failure events
87
- *
88
- * Called when any task fails after all retries exhausted.
89
- *
90
- * @param handler - Callback function to invoke on failure
91
- */
92
- onTaskFailed(handler: TaskFailedHandler): void;
93
- /**
94
- * Gracefully shutdown the engine
95
- *
96
- * Stops accepting new tasks, cancels queued tasks,
97
- * terminates running tasks, and releases all resources.
98
- *
99
- * @returns Promise that resolves when shutdown complete
100
- */
101
- shutdown(): Promise<void>;
102
- }
103
- //# sourceMappingURL=engine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/execution/engine/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjD;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvD;;;;;;;;OAQG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAEjD;;;;;;;;;OASG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAEtD;;;;;;OAMG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE5D;;;;;;;OAOG;IACH,UAAU,IAAI,aAAa,CAAC;IAE5B;;;;;;OAMG;IACH,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAEnD;;;;;;OAMG;IACH,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAE/C;;;;;;;OAOG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Execution Engine Interface
3
- *
4
- * Core abstraction for task execution engines. Provides methods for
5
- * submitting, controlling, monitoring, and waiting for task execution.
6
- *
7
- * @module execution/engine/engine
8
- */
9
- export {};
10
- //# sourceMappingURL=engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/execution/engine/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -1,190 +0,0 @@
1
- /**
2
- * Simple Execution Engine
3
- *
4
- * Queue-based execution engine that spawns a process per task
5
- * with concurrency limits. Implements the "simple first" approach.
6
- *
7
- * @module execution/engine/simple-engine
8
- */
9
- import type { IExecutionEngine } from "./engine.js";
10
- import type { ExecutionTask, ExecutionResult, TaskStatus, EngineMetrics, TaskCompleteHandler, TaskFailedHandler, EngineConfig } from "./types.js";
11
- import type { IProcessManager } from "../process/manager.js";
12
- /**
13
- * SimpleExecutionEngine - Queue-based task execution with concurrency control
14
- *
15
- * Key features:
16
- * - FIFO queue for task ordering
17
- * - Configurable concurrency limit (default: 3)
18
- * - Automatic retry on failure
19
- * - Event emission for task lifecycle
20
- * - Promise-based waiting
21
- * - Graceful shutdown
22
- */
23
- export declare class SimpleExecutionEngine implements IExecutionEngine {
24
- private _processManager;
25
- private _config;
26
- private taskQueue;
27
- private runningTasks;
28
- private completedResults;
29
- private taskResolvers;
30
- private metrics;
31
- private completeHandlers;
32
- private failedHandlers;
33
- private pollingIntervals;
34
- /**
35
- * Create a new SimpleExecutionEngine
36
- *
37
- * @param processManager - Process manager for spawning Claude processes
38
- * @param config - Engine configuration options
39
- */
40
- constructor(_processManager: IProcessManager, _config?: EngineConfig);
41
- /**
42
- * Submit a single task for execution
43
- *
44
- * Adds task to queue and attempts to start execution if capacity available.
45
- *
46
- * @param task - The task to execute
47
- * @returns Promise resolving to the task ID
48
- */
49
- submitTask(task: ExecutionTask): Promise<string>;
50
- /**
51
- * Submit multiple tasks for execution
52
- *
53
- * @param tasks - Array of tasks to execute
54
- * @returns Promise resolving to array of task IDs
55
- */
56
- submitTasks(tasks: ExecutionTask[]): Promise<string[]>;
57
- /**
58
- * Process the task queue
59
- *
60
- * Dequeues tasks and starts execution while capacity is available.
61
- * Checks dependencies before execution and re-queues if not met.
62
- *
63
- * @private
64
- */
65
- private processQueue;
66
- /**
67
- * Check if all task dependencies are met
68
- *
69
- * @param task - Task to check
70
- * @returns True if all dependencies completed successfully
71
- * @private
72
- */
73
- private areDependenciesMet;
74
- /**
75
- * Check if any task dependency has failed
76
- *
77
- * @param task - Task to check
78
- * @returns True if any dependency failed
79
- * @private
80
- */
81
- private hasFailedDependency;
82
- /**
83
- * Track task as running and update capacity metrics
84
- *
85
- * @param task - Task to start tracking
86
- * @private
87
- */
88
- private trackTaskStart;
89
- /**
90
- * Track task completion and release capacity
91
- *
92
- * @param taskId - ID of completed task
93
- * @private
94
- */
95
- private trackTaskComplete;
96
- /**
97
- * Execute a task
98
- *
99
- * Acquires a process, sends the prompt, collects output, and builds the result.
100
- *
101
- * @param task - Task to execute
102
- * @private
103
- */
104
- private executeTask;
105
- /**
106
- * Wait for a process to exit
107
- *
108
- * @param process - The managed process to wait for
109
- * @param timeoutMs - Optional timeout in milliseconds
110
- * @private
111
- */
112
- private waitForProcessExit;
113
- /**
114
- * Parse metadata from stream-json output
115
- *
116
- * Extracts tools used, files changed, tokens, etc. from the output.
117
- *
118
- * @param output - Raw output from Claude Code
119
- * @returns Parsed metadata
120
- * @private
121
- */
122
- private parseMetadata;
123
- /**
124
- * Handle task failure
125
- *
126
- * Implements automatic retry logic if maxRetries is configured.
127
- * Re-queues failed tasks at front of queue for priority retry.
128
- *
129
- * @param taskId - ID of failed task
130
- * @param error - Error that occurred
131
- * @private
132
- */
133
- private handleTaskFailure;
134
- /**
135
- * Cancel a queued or running task
136
- *
137
- * Removes task from queue if still queued, or terminates process if running.
138
- * Idempotent - safe to call multiple times or for non-existent tasks.
139
- *
140
- * @param taskId - ID of task to cancel
141
- */
142
- cancelTask(taskId: string): Promise<void>;
143
- /**
144
- * Get current status of a task
145
- */
146
- getTaskStatus(taskId: string): TaskStatus | null;
147
- /**
148
- * Wait for a task to complete
149
- *
150
- * Returns a promise that resolves with the task result when complete.
151
- * Supports multiple concurrent waiters for the same task.
152
- *
153
- * @param taskId - ID of the task to wait for
154
- * @returns Promise resolving to the execution result
155
- */
156
- waitForTask(taskId: string): Promise<ExecutionResult>;
157
- /**
158
- * Wait for multiple tasks to complete
159
- *
160
- * Returns a promise that resolves when all tasks complete.
161
- *
162
- * @param taskIds - Array of task IDs to wait for
163
- * @returns Promise resolving to array of execution results
164
- */
165
- waitForTasks(taskIds: string[]): Promise<ExecutionResult[]>;
166
- /**
167
- * Get current engine metrics
168
- *
169
- * Returns defensive copy of current metrics.
170
- *
171
- * @returns Current engine metrics
172
- */
173
- getMetrics(): EngineMetrics;
174
- /**
175
- * Register handler for task completion events
176
- */
177
- onTaskComplete(handler: TaskCompleteHandler): void;
178
- /**
179
- * Register handler for task failure events
180
- */
181
- onTaskFailed(handler: TaskFailedHandler): void;
182
- /**
183
- * Gracefully shutdown the engine
184
- *
185
- * Cancels all running tasks, clears the queue, and shuts down the process manager.
186
- * Idempotent - safe to call multiple times.
187
- */
188
- shutdown(): Promise<void>;
189
- }
190
- //# sourceMappingURL=simple-engine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simple-engine.d.ts","sourceRoot":"","sources":["../../../src/execution/engine/simple-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EAGb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D;;;;;;;;;;GAUG;AACH,qBAAa,qBAAsB,YAAW,gBAAgB;IA8B1D,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,OAAO;IA7BjB,OAAO,CAAC,SAAS,CAAuB;IAGxC,OAAO,CAAC,YAAY,CAAkC;IAGtD,OAAO,CAAC,gBAAgB,CAAsC;IAG9D,OAAO,CAAC,aAAa,CAAqC;IAG1D,OAAO,CAAC,OAAO,CAAgB;IAG/B,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,cAAc,CAA2B;IAGjD,OAAO,CAAC,gBAAgB,CAAqC;IAE7D;;;;;OAKG;gBAEO,eAAe,EAAE,eAAe,EAChC,OAAO,GAAE,YAAiB;IAkBpC;;;;;;;OAOG;IACG,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAWtD;;;;;OAKG;IACG,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAW5D;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IA2CpB;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAmBtB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;;;;;OAOG;YACW,WAAW;IAyGzB;;;;;;OAMG;YACW,kBAAkB;IA+ChC;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAWrB;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IA6EzB;;;;;;;OAOG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C/C;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IA0BhD;;;;;;;;OAQG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAa3D;;;;;;;OAOG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAIjE;;;;;;OAMG;IACH,UAAU,IAAI,aAAa;IAK3B;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAIlD;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAI9C;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CA6BhC"}