@cluesmith/codev 2.0.0-rc.72 → 2.0.0-rc.73

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 (50) hide show
  1. package/dashboard/dist/assets/{index-C7FtNK6Y.css → index-4n9zpWLY.css} +1 -1
  2. package/dashboard/dist/assets/{index-CDAINZKT.js → index-CH_utkcW.js} +32 -27
  3. package/dashboard/dist/assets/index-CH_utkcW.js.map +1 -0
  4. package/dashboard/dist/index.html +2 -2
  5. package/dist/agent-farm/commands/spawn-roles.d.ts +80 -0
  6. package/dist/agent-farm/commands/spawn-roles.d.ts.map +1 -0
  7. package/dist/agent-farm/commands/spawn-roles.js +278 -0
  8. package/dist/agent-farm/commands/spawn-roles.js.map +1 -0
  9. package/dist/agent-farm/commands/spawn-worktree.d.ts +96 -0
  10. package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -0
  11. package/dist/agent-farm/commands/spawn-worktree.js +305 -0
  12. package/dist/agent-farm/commands/spawn-worktree.js.map +1 -0
  13. package/dist/agent-farm/commands/spawn.d.ts +5 -1
  14. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  15. package/dist/agent-farm/commands/spawn.js +65 -725
  16. package/dist/agent-farm/commands/spawn.js.map +1 -1
  17. package/dist/agent-farm/servers/tower-instances.d.ts +82 -0
  18. package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -0
  19. package/dist/agent-farm/servers/tower-instances.js +441 -0
  20. package/dist/agent-farm/servers/tower-instances.js.map +1 -0
  21. package/dist/agent-farm/servers/tower-routes.d.ts +34 -0
  22. package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -0
  23. package/dist/agent-farm/servers/tower-routes.js +1445 -0
  24. package/dist/agent-farm/servers/tower-routes.js.map +1 -0
  25. package/dist/agent-farm/servers/tower-server.d.ts +5 -2
  26. package/dist/agent-farm/servers/tower-server.d.ts.map +1 -1
  27. package/dist/agent-farm/servers/tower-server.js +74 -2860
  28. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  29. package/dist/agent-farm/servers/tower-terminals.d.ts +119 -0
  30. package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -0
  31. package/dist/agent-farm/servers/tower-terminals.js +629 -0
  32. package/dist/agent-farm/servers/tower-terminals.js.map +1 -0
  33. package/dist/agent-farm/servers/tower-tunnel.d.ts +34 -0
  34. package/dist/agent-farm/servers/tower-tunnel.d.ts.map +1 -0
  35. package/dist/agent-farm/servers/tower-tunnel.js +299 -0
  36. package/dist/agent-farm/servers/tower-tunnel.js.map +1 -0
  37. package/dist/agent-farm/servers/tower-types.d.ts +85 -0
  38. package/dist/agent-farm/servers/tower-types.d.ts.map +1 -0
  39. package/dist/agent-farm/servers/tower-types.js +6 -0
  40. package/dist/agent-farm/servers/tower-types.js.map +1 -0
  41. package/dist/agent-farm/servers/tower-utils.d.ts +51 -0
  42. package/dist/agent-farm/servers/tower-utils.d.ts.map +1 -0
  43. package/dist/agent-farm/servers/tower-utils.js +161 -0
  44. package/dist/agent-farm/servers/tower-utils.js.map +1 -0
  45. package/dist/agent-farm/servers/tower-websocket.d.ts +25 -0
  46. package/dist/agent-farm/servers/tower-websocket.d.ts.map +1 -0
  47. package/dist/agent-farm/servers/tower-websocket.js +171 -0
  48. package/dist/agent-farm/servers/tower-websocket.js.map +1 -0
  49. package/package.json +1 -1
  50. package/dashboard/dist/assets/index-CDAINZKT.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tower-utils.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * WebSocket terminal handler for tower server.
3
+ * Spec 0105: Tower Server Decomposition — Phase 5
4
+ *
5
+ * Contains: bidirectional WS ↔ PTY frame bridging and
6
+ * WebSocket upgrade routing (direct + project-scoped).
7
+ */
8
+ import http from 'node:http';
9
+ import { WebSocketServer, WebSocket } from 'ws';
10
+ import type { PtySession } from '../../terminal/pty-session.js';
11
+ /**
12
+ * Handle WebSocket connection to a terminal session.
13
+ * Uses hybrid binary protocol (Spec 0085):
14
+ * - 0x00 prefix: Control frame (JSON)
15
+ * - 0x01 prefix: Data frame (raw PTY bytes)
16
+ */
17
+ export declare function handleTerminalWebSocket(ws: WebSocket, session: PtySession, req: http.IncomingMessage): void;
18
+ /**
19
+ * Set up the WebSocket upgrade handler on the HTTP server.
20
+ * Parses upgrade requests and routes them to the appropriate terminal session:
21
+ * - Direct route: /ws/terminal/:id
22
+ * - Project-scoped route: /project/:encodedPath/ws/terminal/:id
23
+ */
24
+ export declare function setupUpgradeHandler(server: http.Server, wss: WebSocketServer, port: number): void;
25
+ //# sourceMappingURL=tower-websocket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tower-websocket.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-websocket.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAQhE;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAsE3G;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,MAAM,GACX,IAAI,CAiFN"}
@@ -0,0 +1,171 @@
1
+ /**
2
+ * WebSocket terminal handler for tower server.
3
+ * Spec 0105: Tower Server Decomposition — Phase 5
4
+ *
5
+ * Contains: bidirectional WS ↔ PTY frame bridging and
6
+ * WebSocket upgrade routing (direct + project-scoped).
7
+ */
8
+ import { WebSocket } from 'ws';
9
+ import { encodeData, encodeControl, decodeFrame } from '../../terminal/ws-protocol.js';
10
+ import { getTerminalManager } from './tower-terminals.js';
11
+ import { normalizeProjectPath } from './tower-utils.js';
12
+ // ============================================================================
13
+ // Frame bridging — WS ↔ PTY
14
+ // ============================================================================
15
+ /**
16
+ * Handle WebSocket connection to a terminal session.
17
+ * Uses hybrid binary protocol (Spec 0085):
18
+ * - 0x00 prefix: Control frame (JSON)
19
+ * - 0x01 prefix: Data frame (raw PTY bytes)
20
+ */
21
+ export function handleTerminalWebSocket(ws, session, req) {
22
+ const resumeSeq = req.headers['x-session-resume'];
23
+ // Create a client adapter for the PTY session
24
+ // Uses binary protocol for data frames
25
+ const client = {
26
+ send: (data) => {
27
+ if (ws.readyState === WebSocket.OPEN) {
28
+ // Encode as binary data frame (0x01 prefix)
29
+ ws.send(encodeData(data));
30
+ }
31
+ },
32
+ };
33
+ // Attach client to session and get replay data
34
+ let replayLines;
35
+ if (resumeSeq && typeof resumeSeq === 'string') {
36
+ replayLines = session.attachResume(client, parseInt(resumeSeq, 10));
37
+ }
38
+ else {
39
+ replayLines = session.attach(client);
40
+ }
41
+ // Send replay data as binary data frame
42
+ if (replayLines.length > 0) {
43
+ const replayData = replayLines.join('\n');
44
+ if (ws.readyState === WebSocket.OPEN) {
45
+ ws.send(encodeData(replayData));
46
+ }
47
+ }
48
+ // Handle incoming messages from client (binary protocol)
49
+ ws.on('message', (rawData) => {
50
+ try {
51
+ const frame = decodeFrame(Buffer.from(rawData));
52
+ if (frame.type === 'data') {
53
+ // Write raw input to terminal
54
+ session.write(frame.data.toString('utf-8'));
55
+ }
56
+ else if (frame.type === 'control') {
57
+ // Handle control messages
58
+ const msg = frame.message;
59
+ if (msg.type === 'resize') {
60
+ const cols = msg.payload.cols;
61
+ const rows = msg.payload.rows;
62
+ if (typeof cols === 'number' && typeof rows === 'number') {
63
+ session.resize(cols, rows);
64
+ }
65
+ }
66
+ else if (msg.type === 'ping') {
67
+ if (ws.readyState === WebSocket.OPEN) {
68
+ ws.send(encodeControl({ type: 'pong', payload: {} }));
69
+ }
70
+ }
71
+ }
72
+ }
73
+ catch {
74
+ // If decode fails, try treating as raw UTF-8 input (for simpler clients)
75
+ try {
76
+ session.write(rawData.toString('utf-8'));
77
+ }
78
+ catch {
79
+ // Ignore malformed input
80
+ }
81
+ }
82
+ });
83
+ ws.on('close', () => {
84
+ session.detach(client);
85
+ });
86
+ ws.on('error', () => {
87
+ session.detach(client);
88
+ });
89
+ }
90
+ // ============================================================================
91
+ // WebSocket upgrade routing
92
+ // ============================================================================
93
+ /**
94
+ * Set up the WebSocket upgrade handler on the HTTP server.
95
+ * Parses upgrade requests and routes them to the appropriate terminal session:
96
+ * - Direct route: /ws/terminal/:id
97
+ * - Project-scoped route: /project/:encodedPath/ws/terminal/:id
98
+ */
99
+ export function setupUpgradeHandler(server, wss, port) {
100
+ server.on('upgrade', async (req, socket, head) => {
101
+ const reqUrl = new URL(req.url || '/', `http://localhost:${port}`);
102
+ // Phase 2: Handle /ws/terminal/:id routes directly
103
+ const terminalMatch = reqUrl.pathname.match(/^\/ws\/terminal\/([^/]+)$/);
104
+ if (terminalMatch) {
105
+ const terminalId = terminalMatch[1];
106
+ const manager = getTerminalManager();
107
+ const session = manager.getSession(terminalId);
108
+ if (!session) {
109
+ socket.write('HTTP/1.1 404 Not Found\r\n\r\n');
110
+ socket.destroy();
111
+ return;
112
+ }
113
+ wss.handleUpgrade(req, socket, head, (ws) => {
114
+ handleTerminalWebSocket(ws, session, req);
115
+ });
116
+ return;
117
+ }
118
+ // Phase 4 (Spec 0090): Handle project WebSocket routes directly
119
+ // Route: /project/:encodedPath/ws/terminal/:terminalId
120
+ if (!reqUrl.pathname.startsWith('/project/')) {
121
+ socket.write('HTTP/1.1 404 Not Found\r\n\r\n');
122
+ socket.destroy();
123
+ return;
124
+ }
125
+ const pathParts = reqUrl.pathname.split('/');
126
+ // ['', 'project', base64urlPath, 'ws', 'terminal', terminalId]
127
+ const encodedPath = pathParts[2];
128
+ if (!encodedPath) {
129
+ socket.write('HTTP/1.1 400 Bad Request\r\n\r\n');
130
+ socket.destroy();
131
+ return;
132
+ }
133
+ // Decode Base64URL (RFC 4648) - NOT URL encoding
134
+ // Wrap in try/catch to handle malformed Base64 input gracefully
135
+ let projectPath;
136
+ try {
137
+ projectPath = Buffer.from(encodedPath, 'base64url').toString('utf-8');
138
+ // Support both POSIX (/) and Windows (C:\) paths
139
+ if (!projectPath || (!projectPath.startsWith('/') && !/^[A-Za-z]:[\\/]/.test(projectPath))) {
140
+ throw new Error('Invalid project path');
141
+ }
142
+ // Normalize to resolve symlinks (e.g. /var/folders → /private/var/folders on macOS)
143
+ projectPath = normalizeProjectPath(projectPath);
144
+ }
145
+ catch {
146
+ socket.write('HTTP/1.1 400 Bad Request\r\n\r\n');
147
+ socket.destroy();
148
+ return;
149
+ }
150
+ // Check for terminal WebSocket route: /project/:path/ws/terminal/:id
151
+ const wsMatch = reqUrl.pathname.match(/^\/project\/[^/]+\/ws\/terminal\/([^/]+)$/);
152
+ if (wsMatch) {
153
+ const terminalId = wsMatch[1];
154
+ const manager = getTerminalManager();
155
+ const session = manager.getSession(terminalId);
156
+ if (!session) {
157
+ socket.write('HTTP/1.1 404 Not Found\r\n\r\n');
158
+ socket.destroy();
159
+ return;
160
+ }
161
+ wss.handleUpgrade(req, socket, head, (ws) => {
162
+ handleTerminalWebSocket(ws, session, req);
163
+ });
164
+ return;
165
+ }
166
+ // Unhandled WebSocket route
167
+ socket.write('HTTP/1.1 404 Not Found\r\n\r\n');
168
+ socket.destroy();
169
+ });
170
+ }
171
+ //# sourceMappingURL=tower-websocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tower-websocket.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-websocket.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cluesmith/codev",
3
- "version": "2.0.0-rc.72",
3
+ "version": "2.0.0-rc.73",
4
4
  "description": "Codev CLI - AI-assisted software development framework",
5
5
  "type": "module",
6
6
  "bin": {