@bradygaster/squad-cli 0.8.5 → 0.8.17-preview

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 (153) hide show
  1. package/README.md +2 -2
  2. package/dist/cli/commands/copilot-bridge.d.ts +42 -0
  3. package/dist/cli/commands/copilot-bridge.d.ts.map +1 -0
  4. package/dist/cli/commands/copilot-bridge.js +191 -0
  5. package/dist/cli/commands/copilot-bridge.js.map +1 -0
  6. package/dist/cli/commands/import.js.map +1 -1
  7. package/dist/cli/commands/rc-tunnel.d.ts +30 -0
  8. package/dist/cli/commands/rc-tunnel.d.ts.map +1 -0
  9. package/dist/cli/commands/rc-tunnel.js +107 -0
  10. package/dist/cli/commands/rc-tunnel.js.map +1 -0
  11. package/dist/cli/commands/rc.d.ts +13 -0
  12. package/dist/cli/commands/rc.d.ts.map +1 -0
  13. package/dist/cli/commands/rc.js +270 -0
  14. package/dist/cli/commands/rc.js.map +1 -0
  15. package/dist/cli/commands/start.d.ts +18 -0
  16. package/dist/cli/commands/start.d.ts.map +1 -0
  17. package/dist/cli/commands/start.js +219 -0
  18. package/dist/cli/commands/start.js.map +1 -0
  19. package/dist/cli/commands/upstream.js.map +1 -1
  20. package/dist/cli/commands/watch.d.ts +10 -0
  21. package/dist/cli/commands/watch.d.ts.map +1 -1
  22. package/dist/cli/commands/watch.js +181 -65
  23. package/dist/cli/commands/watch.js.map +1 -1
  24. package/dist/cli/core/cast.d.ts +40 -0
  25. package/dist/cli/core/cast.d.ts.map +1 -0
  26. package/dist/cli/core/cast.js +442 -0
  27. package/dist/cli/core/cast.js.map +1 -0
  28. package/dist/cli/core/gh-cli.d.ts +25 -0
  29. package/dist/cli/core/gh-cli.d.ts.map +1 -1
  30. package/dist/cli/core/gh-cli.js +15 -1
  31. package/dist/cli/core/gh-cli.js.map +1 -1
  32. package/dist/cli/core/init.d.ts +9 -1
  33. package/dist/cli/core/init.d.ts.map +1 -1
  34. package/dist/cli/core/init.js +108 -13
  35. package/dist/cli/core/init.js.map +1 -1
  36. package/dist/cli/core/migrations.js.map +1 -1
  37. package/dist/cli/core/nap.d.ts +37 -0
  38. package/dist/cli/core/nap.d.ts.map +1 -0
  39. package/dist/cli/core/nap.js +528 -0
  40. package/dist/cli/core/nap.js.map +1 -0
  41. package/dist/cli/core/output.d.ts +5 -0
  42. package/dist/cli/core/output.d.ts.map +1 -1
  43. package/dist/cli/core/output.js +7 -0
  44. package/dist/cli/core/output.js.map +1 -1
  45. package/dist/cli/core/upgrade.d.ts +0 -1
  46. package/dist/cli/core/upgrade.d.ts.map +1 -1
  47. package/dist/cli/core/upgrade.js.map +1 -1
  48. package/dist/cli/core/version.js.map +1 -1
  49. package/dist/cli/shell/agent-status.d.ts +11 -0
  50. package/dist/cli/shell/agent-status.d.ts.map +1 -0
  51. package/dist/cli/shell/agent-status.js +26 -0
  52. package/dist/cli/shell/agent-status.js.map +1 -0
  53. package/dist/cli/shell/commands.d.ts +10 -0
  54. package/dist/cli/shell/commands.d.ts.map +1 -1
  55. package/dist/cli/shell/commands.js +143 -29
  56. package/dist/cli/shell/commands.js.map +1 -1
  57. package/dist/cli/shell/components/AgentPanel.d.ts +1 -4
  58. package/dist/cli/shell/components/AgentPanel.d.ts.map +1 -1
  59. package/dist/cli/shell/components/AgentPanel.js +88 -6
  60. package/dist/cli/shell/components/AgentPanel.js.map +1 -1
  61. package/dist/cli/shell/components/App.d.ts +11 -6
  62. package/dist/cli/shell/components/App.d.ts.map +1 -1
  63. package/dist/cli/shell/components/App.js +212 -35
  64. package/dist/cli/shell/components/App.js.map +1 -1
  65. package/dist/cli/shell/components/ErrorBoundary.d.ts +22 -0
  66. package/dist/cli/shell/components/ErrorBoundary.d.ts.map +1 -0
  67. package/dist/cli/shell/components/ErrorBoundary.js +31 -0
  68. package/dist/cli/shell/components/ErrorBoundary.js.map +1 -0
  69. package/dist/cli/shell/components/InputPrompt.d.ts +3 -0
  70. package/dist/cli/shell/components/InputPrompt.d.ts.map +1 -1
  71. package/dist/cli/shell/components/InputPrompt.js +155 -13
  72. package/dist/cli/shell/components/InputPrompt.js.map +1 -1
  73. package/dist/cli/shell/components/MessageStream.d.ts +17 -4
  74. package/dist/cli/shell/components/MessageStream.d.ts.map +1 -1
  75. package/dist/cli/shell/components/MessageStream.js +215 -23
  76. package/dist/cli/shell/components/MessageStream.js.map +1 -1
  77. package/dist/cli/shell/components/Separator.d.ts +17 -0
  78. package/dist/cli/shell/components/Separator.d.ts.map +1 -0
  79. package/dist/cli/shell/components/Separator.js +10 -0
  80. package/dist/cli/shell/components/Separator.js.map +1 -0
  81. package/dist/cli/shell/components/ThinkingIndicator.d.ts +21 -0
  82. package/dist/cli/shell/components/ThinkingIndicator.d.ts.map +1 -0
  83. package/dist/cli/shell/components/ThinkingIndicator.js +102 -0
  84. package/dist/cli/shell/components/ThinkingIndicator.js.map +1 -0
  85. package/dist/cli/shell/components/index.d.ts +3 -0
  86. package/dist/cli/shell/components/index.d.ts.map +1 -1
  87. package/dist/cli/shell/components/index.js +2 -0
  88. package/dist/cli/shell/components/index.js.map +1 -1
  89. package/dist/cli/shell/coordinator.d.ts +10 -0
  90. package/dist/cli/shell/coordinator.d.ts.map +1 -1
  91. package/dist/cli/shell/coordinator.js +99 -4
  92. package/dist/cli/shell/coordinator.js.map +1 -1
  93. package/dist/cli/shell/error-messages.d.ts +21 -0
  94. package/dist/cli/shell/error-messages.d.ts.map +1 -0
  95. package/dist/cli/shell/error-messages.js +61 -0
  96. package/dist/cli/shell/error-messages.js.map +1 -0
  97. package/dist/cli/shell/index.d.ts +24 -3
  98. package/dist/cli/shell/index.d.ts.map +1 -1
  99. package/dist/cli/shell/index.js +943 -34
  100. package/dist/cli/shell/index.js.map +1 -1
  101. package/dist/cli/shell/lifecycle.d.ts +2 -0
  102. package/dist/cli/shell/lifecycle.d.ts.map +1 -1
  103. package/dist/cli/shell/lifecycle.js +59 -6
  104. package/dist/cli/shell/lifecycle.js.map +1 -1
  105. package/dist/cli/shell/memory.d.ts +6 -1
  106. package/dist/cli/shell/memory.d.ts.map +1 -1
  107. package/dist/cli/shell/memory.js +12 -1
  108. package/dist/cli/shell/memory.js.map +1 -1
  109. package/dist/cli/shell/router.d.ts +16 -0
  110. package/dist/cli/shell/router.d.ts.map +1 -1
  111. package/dist/cli/shell/router.js +27 -0
  112. package/dist/cli/shell/router.js.map +1 -1
  113. package/dist/cli/shell/session-store.d.ts +47 -0
  114. package/dist/cli/shell/session-store.d.ts.map +1 -0
  115. package/dist/cli/shell/session-store.js +125 -0
  116. package/dist/cli/shell/session-store.js.map +1 -0
  117. package/dist/cli/shell/sessions.d.ts +2 -0
  118. package/dist/cli/shell/sessions.d.ts.map +1 -1
  119. package/dist/cli/shell/sessions.js +19 -5
  120. package/dist/cli/shell/sessions.js.map +1 -1
  121. package/dist/cli/shell/shell-metrics.d.ts +34 -0
  122. package/dist/cli/shell/shell-metrics.d.ts.map +1 -0
  123. package/dist/cli/shell/shell-metrics.js +98 -0
  124. package/dist/cli/shell/shell-metrics.js.map +1 -0
  125. package/dist/cli/shell/spawn.d.ts.map +1 -1
  126. package/dist/cli/shell/spawn.js +20 -6
  127. package/dist/cli/shell/spawn.js.map +1 -1
  128. package/dist/cli/shell/terminal.d.ts +26 -0
  129. package/dist/cli/shell/terminal.d.ts.map +1 -1
  130. package/dist/cli/shell/terminal.js +65 -2
  131. package/dist/cli/shell/terminal.js.map +1 -1
  132. package/dist/cli/shell/theme-colors.d.ts +39 -0
  133. package/dist/cli/shell/theme-colors.d.ts.map +1 -0
  134. package/dist/cli/shell/theme-colors.js +39 -0
  135. package/dist/cli/shell/theme-colors.js.map +1 -0
  136. package/dist/cli/shell/types.d.ts +2 -0
  137. package/dist/cli/shell/types.d.ts.map +1 -1
  138. package/dist/cli/shell/useAnimation.d.ts +42 -0
  139. package/dist/cli/shell/useAnimation.d.ts.map +1 -0
  140. package/dist/cli/shell/useAnimation.js +139 -0
  141. package/dist/cli/shell/useAnimation.js.map +1 -0
  142. package/dist/cli-entry.d.ts +0 -7
  143. package/dist/cli-entry.d.ts.map +1 -1
  144. package/dist/cli-entry.js +701 -96
  145. package/dist/cli-entry.js.map +1 -1
  146. package/package.json +18 -2
  147. package/templates/orchestration-log.md +1 -1
  148. package/templates/package.json +3 -0
  149. package/templates/ralph-triage.js +543 -0
  150. package/templates/scribe-charter.md +1 -1
  151. package/templates/squad.agent.md +10 -10
  152. package/templates/workflows/squad-heartbeat.yml +52 -196
  153. package/templates/workflows/squad-insider-release.yml +1 -1
@@ -0,0 +1,270 @@
1
+ /**
2
+ * Squad Remote Control — CLI Command
3
+ *
4
+ * `squad rc` or `squad remote-control`
5
+ * Starts the RemoteBridge, creates a devtunnel, shows QR code.
6
+ */
7
+ import path from 'node:path';
8
+ import fs from 'node:fs';
9
+ import { fileURLToPath } from 'node:url';
10
+ import { RemoteBridge } from '@bradygaster/squad-sdk';
11
+ import { isDevtunnelAvailable, createTunnel, destroyTunnel, getMachineId, getGitInfo, } from './rc-tunnel.js';
12
+ const BOLD = '\x1b[1m';
13
+ const RESET = '\x1b[0m';
14
+ const DIM = '\x1b[2m';
15
+ const GREEN = '\x1b[32m';
16
+ const CYAN = '\x1b[36m';
17
+ const YELLOW = '\x1b[33m';
18
+ export async function runRC(cwd, options) {
19
+ const { repo, branch } = getGitInfo(cwd);
20
+ const machine = getMachineId();
21
+ // Resolve squad directory
22
+ const squadDir = fs.existsSync(path.join(cwd, '.squad'))
23
+ ? path.join(cwd, '.squad')
24
+ : fs.existsSync(path.join(cwd, '.ai-team'))
25
+ ? path.join(cwd, '.ai-team')
26
+ : '';
27
+ console.log(`\n${BOLD}🎮 Squad Remote Control${RESET}\n`);
28
+ console.log(` ${DIM}Repo:${RESET} ${repo}`);
29
+ console.log(` ${DIM}Branch:${RESET} ${branch}`);
30
+ console.log(` ${DIM}Machine:${RESET} ${machine}`);
31
+ console.log(` ${DIM}Squad:${RESET} ${squadDir || 'not found'}\n`);
32
+ // Load team roster if squad dir exists
33
+ const agents = [];
34
+ if (squadDir) {
35
+ try {
36
+ const teamMd = fs.readFileSync(path.join(squadDir, 'team.md'), 'utf-8');
37
+ const memberLines = teamMd.split('\n').filter(l => l.startsWith('|') && l.includes('Active'));
38
+ for (const line of memberLines) {
39
+ const cols = line.split('|').map(c => c.trim()).filter(Boolean);
40
+ if (cols.length >= 2 && cols[0] !== 'Name') {
41
+ agents.push({ name: cols[0], role: cols[1] });
42
+ }
43
+ }
44
+ console.log(` ${GREEN}✓${RESET} Loaded ${agents.length} agents from team.md\n`);
45
+ }
46
+ catch {
47
+ console.log(` ${YELLOW}⚠${RESET} Could not read team.md\n`);
48
+ }
49
+ }
50
+ // Copilot passthrough will be set up after bridge starts
51
+ const { spawn: spawnChild } = await import('node:child_process');
52
+ const { createInterface: createRL } = await import('node:readline');
53
+ let copilotReady = false;
54
+ // Create bridge config (fallback when passthrough is NOT active)
55
+ const config = {
56
+ port: options.port || 0,
57
+ maxHistory: 500,
58
+ repo,
59
+ branch,
60
+ machine,
61
+ squadDir,
62
+ onPrompt: async (text) => {
63
+ console.log(` ${CYAN}←${RESET} ${DIM}Remote prompt:${RESET} ${text}`);
64
+ bridge.addMessage('user', text);
65
+ const agent = agents.length > 0 ? agents[0] : { name: 'Assistant', role: 'General' };
66
+ bridge.addMessage('agent', `[Copilot passthrough not active] Echo: ${text}`, agent.name);
67
+ },
68
+ onDirectMessage: async (agentName, text) => {
69
+ console.log(` ${CYAN}←${RESET} ${DIM}Remote @${agentName}:${RESET} ${text}`);
70
+ bridge.addMessage('user', `@${agentName} ${text}`);
71
+ bridge.addMessage('agent', `[Copilot passthrough not active] Echo: ${text}`, agentName);
72
+ },
73
+ onCommand: (name) => {
74
+ console.log(` ${CYAN}←${RESET} ${DIM}Remote /${name}${RESET}`);
75
+ if (name === 'status') {
76
+ bridge.addMessage('system', `Squad RC | Repo: ${repo} | Branch: ${branch} | Agents: ${agents.length} | Copilot: ${copilotReady ? 'passthrough' : 'off'} | Connections: ${bridge.getConnectionCount()}`);
77
+ }
78
+ else if (name === 'agents') {
79
+ const list = agents.map(a => `• ${a.name} (${a.role})`).join('\n');
80
+ bridge.addMessage('system', `Team Roster:\n${list || 'No agents loaded'}`);
81
+ }
82
+ else {
83
+ bridge.addMessage('system', `Unknown command: /${name}`);
84
+ }
85
+ },
86
+ };
87
+ // Start bridge
88
+ const bridge = new RemoteBridge(config);
89
+ // Serve PWA static files
90
+ bridge.setStaticHandler((req, res) => {
91
+ const uiDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../remote-ui');
92
+ // #18: Guard against malformed URI encoding
93
+ let decodedUrl;
94
+ try {
95
+ decodedUrl = decodeURIComponent(req.url || '/');
96
+ }
97
+ catch {
98
+ res.writeHead(400);
99
+ res.end();
100
+ return;
101
+ }
102
+ if (decodedUrl.includes('..')) {
103
+ res.writeHead(400);
104
+ res.end();
105
+ return;
106
+ }
107
+ let filePath = path.join(uiDir, decodedUrl === '/' ? 'index.html' : decodedUrl.replace(/^\//, ''));
108
+ // Security: prevent directory traversal
109
+ if (!filePath.startsWith(uiDir)) {
110
+ res.writeHead(403);
111
+ res.end('Forbidden');
112
+ return;
113
+ }
114
+ // #2: EISDIR guard — check if path is a directory before createReadStream
115
+ try {
116
+ const stat = fs.statSync(filePath);
117
+ if (stat.isDirectory()) {
118
+ filePath = path.join(filePath, 'index.html');
119
+ if (!fs.existsSync(filePath)) {
120
+ res.writeHead(404);
121
+ res.end();
122
+ return;
123
+ }
124
+ }
125
+ }
126
+ catch {
127
+ res.writeHead(404);
128
+ res.end();
129
+ return;
130
+ }
131
+ const ext = path.extname(filePath);
132
+ const mimeTypes = {
133
+ '.html': 'text/html',
134
+ '.js': 'application/javascript',
135
+ '.css': 'text/css',
136
+ '.json': 'application/json',
137
+ '.png': 'image/png',
138
+ '.svg': 'image/svg+xml',
139
+ '.ico': 'image/x-icon',
140
+ };
141
+ res.writeHead(200, {
142
+ 'Content-Type': mimeTypes[ext] || 'application/octet-stream',
143
+ 'X-Frame-Options': 'DENY',
144
+ 'X-Content-Type-Options': 'nosniff',
145
+ 'Referrer-Policy': 'no-referrer',
146
+ 'Cache-Control': 'no-store',
147
+ });
148
+ // #8: Handle createReadStream errors
149
+ const stream = fs.createReadStream(filePath);
150
+ stream.on('error', () => { if (!res.headersSent) {
151
+ res.writeHead(500);
152
+ } res.end(); });
153
+ stream.pipe(res);
154
+ });
155
+ const actualPort = await bridge.start();
156
+ const localUrl = `http://localhost:${actualPort}`;
157
+ // Initialize agent roster in bridge
158
+ const allAgents = copilotReady
159
+ ? [{ name: 'Copilot', role: 'AI Assistant', status: 'idle' }, ...agents.map(a => ({ name: a.name, role: a.role, status: 'idle' }))]
160
+ : agents.map(a => ({ name: a.name, role: a.role, status: 'idle' }));
161
+ if (allAgents.length > 0) {
162
+ bridge.updateAgents(allAgents);
163
+ }
164
+ console.log(` ${GREEN}✓${RESET} Bridge running on port ${BOLD}${actualPort}${RESET}`);
165
+ console.log(` ${DIM}Local:${RESET} ${localUrl}\n`);
166
+ // Spawn copilot --acp as transparent relay (dumb pipe)
167
+ // Copilot needs ~20s to load MCP servers before accepting ACP requests
168
+ // The native exe is used directly for reliable stdio piping on Windows
169
+ const copilotExePath = path.join('C:', 'ProgramData', 'global-npm', 'node_modules', '@github', 'copilot', 'node_modules', '@github', 'copilot-win32-x64', 'copilot.exe');
170
+ const copilotCmd = fs.existsSync(copilotExePath) ? copilotExePath : 'copilot';
171
+ console.log(` ${DIM}Spawning copilot --acp (MCP servers loading ~15-20s)...${RESET}`);
172
+ let copilotProc = null;
173
+ try {
174
+ copilotProc = spawnChild(copilotCmd, ['--acp'], {
175
+ cwd,
176
+ stdio: ['pipe', 'pipe', 'pipe'],
177
+ });
178
+ copilotProc.on('error', (err) => {
179
+ console.log(` ${YELLOW}⚠${RESET} Copilot error: ${err.message}`);
180
+ });
181
+ copilotProc.on('exit', (code) => {
182
+ console.log(` ${DIM}[copilot] exited with code ${code}${RESET}`);
183
+ copilotReady = false;
184
+ });
185
+ copilotProc.stderr?.on('data', (d) => {
186
+ const text = d.toString().trim();
187
+ if (text && !text.includes('[mcp server') && !text.includes('npm ')) {
188
+ console.log(` ${DIM}[copilot] ${text}${RESET}`);
189
+ }
190
+ });
191
+ // copilot stdout → all WebSocket clients (raw JSON-RPC)
192
+ const rl = createRL({ input: copilotProc.stdout, terminal: false });
193
+ rl.on('line', (line) => {
194
+ if (line.trim()) {
195
+ console.log(` ${GREEN}→${RESET} ${DIM}ACP out: ${line.substring(0, 100)}${RESET}`);
196
+ bridge.passthroughFromAgent(line);
197
+ }
198
+ });
199
+ // WebSocket → copilot stdin (raw JSON-RPC)
200
+ bridge.setPassthrough((msg) => {
201
+ if (copilotProc?.stdin?.writable) {
202
+ console.log(` ${CYAN}←${RESET} ${DIM}ACP in: ${msg.substring(0, 100)}${RESET}`);
203
+ copilotProc.stdin.write(msg.endsWith('\n') ? msg : msg + '\n');
204
+ }
205
+ });
206
+ copilotReady = true;
207
+ console.log(` ${GREEN}✓${RESET} Copilot ACP passthrough active\n`);
208
+ }
209
+ catch (err) {
210
+ console.log(` ${YELLOW}⚠${RESET} Copilot not available: ${err.message}\n`);
211
+ }
212
+ // Tunnel setup
213
+ if (options.tunnel) {
214
+ if (!isDevtunnelAvailable()) {
215
+ console.log(` ${YELLOW}⚠${RESET} devtunnel CLI not found. Install with:`);
216
+ console.log(` winget install Microsoft.devtunnel`);
217
+ console.log(` ${DIM}Then: devtunnel user login${RESET}\n`);
218
+ console.log(` ${DIM}Running in local-only mode.${RESET}\n`);
219
+ }
220
+ else {
221
+ console.log(` ${DIM}Creating tunnel...${RESET}`);
222
+ try {
223
+ const tunnel = await createTunnel(actualPort, { repo, branch, machine });
224
+ console.log(` ${GREEN}✓${RESET} Tunnel active: ${BOLD}${tunnel.url}${RESET}\n`);
225
+ // Show QR code
226
+ try {
227
+ // @ts-ignore - no type declarations for qrcode-terminal
228
+ const qrcode = (await import('qrcode-terminal'));
229
+ qrcode.default.generate(tunnel.url, { small: true }, (code) => {
230
+ console.log(code);
231
+ });
232
+ }
233
+ catch {
234
+ // qrcode-terminal not available, skip
235
+ }
236
+ console.log(` ${DIM}Scan QR code or open URL on your phone.${RESET}`);
237
+ console.log(` ${DIM}Auth: private — only your MS/GitHub account can connect.${RESET}\n`);
238
+ }
239
+ catch (err) {
240
+ console.log(` ${YELLOW}⚠${RESET} Tunnel failed: ${err.message}`);
241
+ console.log(` ${DIM}Running in local-only mode.${RESET}\n`);
242
+ }
243
+ }
244
+ }
245
+ else {
246
+ console.log(` ${DIM}No tunnel (local only). Use --tunnel for remote access.${RESET}\n`);
247
+ }
248
+ console.log(` ${DIM}Press Ctrl+C to stop.${RESET}\n`);
249
+ // Clean shutdown
250
+ const cleanup = async () => {
251
+ console.log(`\n ${DIM}Shutting down...${RESET}`);
252
+ copilotProc?.kill();
253
+ destroyTunnel();
254
+ await bridge.stop();
255
+ console.log(` ${GREEN}✓${RESET} Stopped.\n`);
256
+ process.exit(0);
257
+ };
258
+ process.on('SIGINT', cleanup);
259
+ process.on('SIGTERM', cleanup);
260
+ // Log connections
261
+ const checkInterval = setInterval(() => {
262
+ const count = bridge.getConnectionCount();
263
+ if (count > 0) {
264
+ process.stdout.write(`\r ${GREEN}●${RESET} ${count} client(s) connected `);
265
+ }
266
+ }, 5000);
267
+ // Keep process alive
268
+ await new Promise(() => { });
269
+ }
270
+ //# sourceMappingURL=rc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rc.js","sourceRoot":"","sources":["../../../src/cli/commands/rc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Squad Start — PTY Mirror Mode
3
+ *
4
+ * `squad start [--tunnel]`
5
+ * Spawns copilot in a PTY (pseudo-terminal) — you see the EXACT same
6
+ * TUI as running copilot directly. The raw terminal output is mirrored
7
+ * to a remote PWA via WebSocket + devtunnel.
8
+ *
9
+ * Bidirectional: keyboard input from terminal AND phone both go to copilot.
10
+ */
11
+ export interface StartOptions {
12
+ tunnel: boolean;
13
+ port: number;
14
+ copilotArgs?: string[];
15
+ command?: string;
16
+ }
17
+ export declare function runStart(cwd: string, options: StartOptions): Promise<void>;
18
+ //# sourceMappingURL=start.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqBH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAiMhF"}
@@ -0,0 +1,219 @@
1
+ /**
2
+ * Squad Start — PTY Mirror Mode
3
+ *
4
+ * `squad start [--tunnel]`
5
+ * Spawns copilot in a PTY (pseudo-terminal) — you see the EXACT same
6
+ * TUI as running copilot directly. The raw terminal output is mirrored
7
+ * to a remote PWA via WebSocket + devtunnel.
8
+ *
9
+ * Bidirectional: keyboard input from terminal AND phone both go to copilot.
10
+ */
11
+ import path from 'node:path';
12
+ import fs from 'node:fs';
13
+ import { fileURLToPath } from 'node:url';
14
+ import { RemoteBridge } from '@bradygaster/squad-sdk';
15
+ import { isDevtunnelAvailable, createTunnel, destroyTunnel, getMachineId, getGitInfo, } from './rc-tunnel.js';
16
+ const BOLD = '\x1b[1m';
17
+ const RESET = '\x1b[0m';
18
+ const DIM = '\x1b[2m';
19
+ const GREEN = '\x1b[32m';
20
+ const YELLOW = '\x1b[33m';
21
+ export async function runStart(cwd, options) {
22
+ const { repo, branch } = getGitInfo(cwd);
23
+ const machine = getMachineId();
24
+ const squadDir = fs.existsSync(path.join(cwd, '.squad'))
25
+ ? path.join(cwd, '.squad')
26
+ : fs.existsSync(path.join(cwd, '.ai-team'))
27
+ ? path.join(cwd, '.ai-team')
28
+ : '';
29
+ // ─── Setup remote bridge FIRST (before PTY takes over terminal) ───
30
+ let bridge = null;
31
+ let tunnelUrl = '';
32
+ const config = {
33
+ port: options.port || 0,
34
+ maxHistory: 500,
35
+ repo, branch, machine, squadDir,
36
+ };
37
+ bridge = new RemoteBridge(config);
38
+ // PWA static files
39
+ bridge.setStaticHandler((req, res) => {
40
+ const uiDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../remote-ui');
41
+ let decodedUrl;
42
+ try {
43
+ decodedUrl = decodeURIComponent(req.url || '/');
44
+ }
45
+ catch {
46
+ res.writeHead(400);
47
+ res.end();
48
+ return;
49
+ }
50
+ if (decodedUrl.includes('..')) {
51
+ res.writeHead(400);
52
+ res.end();
53
+ return;
54
+ }
55
+ let filePath = path.resolve(uiDir, decodedUrl === '/' ? 'index.html' : decodedUrl.replace(/^\//, ''));
56
+ if (!filePath.startsWith(uiDir)) {
57
+ res.writeHead(403);
58
+ res.end();
59
+ return;
60
+ }
61
+ try {
62
+ const stat = fs.statSync(filePath);
63
+ if (stat.isDirectory()) {
64
+ filePath = path.join(filePath, 'index.html');
65
+ if (!fs.existsSync(filePath)) {
66
+ res.writeHead(404);
67
+ res.end();
68
+ return;
69
+ }
70
+ }
71
+ }
72
+ catch {
73
+ res.writeHead(404);
74
+ res.end();
75
+ return;
76
+ }
77
+ const servePath = fs.existsSync(filePath) ? filePath : path.join(uiDir, 'index.html');
78
+ const ext = path.extname(servePath);
79
+ const mimes = { '.html': 'text/html', '.js': 'application/javascript', '.css': 'text/css', '.json': 'application/json' };
80
+ const headers = {
81
+ 'Content-Type': mimes[ext] || 'application/octet-stream',
82
+ 'X-Content-Type-Options': 'nosniff',
83
+ 'X-Frame-Options': 'DENY',
84
+ };
85
+ if (ext === '.html') {
86
+ headers['Content-Security-Policy'] = "default-src 'self'; script-src 'self' https://cdn.jsdelivr.net; style-src 'self' https://cdn.jsdelivr.net 'unsafe-inline'; connect-src 'self' ws: wss:; img-src 'self' data:; font-src 'self' https://cdn.jsdelivr.net";
87
+ }
88
+ res.writeHead(200, headers);
89
+ const stream = fs.createReadStream(servePath);
90
+ stream.on('error', () => { if (!res.headersSent) {
91
+ res.writeHead(500);
92
+ } res.end(); });
93
+ stream.pipe(res);
94
+ });
95
+ const actualPort = await bridge.start();
96
+ // Tunnel
97
+ if (options.tunnel && isDevtunnelAvailable()) {
98
+ try {
99
+ const tunnel = await createTunnel(actualPort, { repo, branch, machine });
100
+ const tunnelUrlWithToken = `${tunnel.url}?token=${bridge.getSessionToken()}`;
101
+ tunnelUrl = tunnelUrlWithToken;
102
+ console.log(`${GREEN}✓${RESET} Remote: ${BOLD}${tunnelUrlWithToken}${RESET}`);
103
+ try {
104
+ // @ts-ignore
105
+ const qrcode = (await import('qrcode-terminal'));
106
+ qrcode.default.generate(tunnelUrlWithToken, { small: true }, (code) => { console.log(code); });
107
+ }
108
+ catch { }
109
+ console.log(`${DIM}Scan QR or open URL on phone. Starting copilot...${RESET}\n`);
110
+ console.log(` ${DIM}Audit log:${RESET} ${bridge.getAuditLogPath()}`);
111
+ console.log(` ${DIM}Session expires:${RESET} ${new Date(bridge.getSessionExpiry()).toLocaleTimeString()}`);
112
+ }
113
+ catch (err) {
114
+ console.log(`${YELLOW}⚠${RESET} Tunnel failed: ${err.message}`);
115
+ }
116
+ }
117
+ else if (options.tunnel) {
118
+ console.log(`${YELLOW}⚠${RESET} devtunnel not installed. Local mirror on port ${actualPort}.`);
119
+ }
120
+ // ─── Spawn copilot in PTY ─────────────────────────────────
121
+ // Dynamic import node-pty (native module)
122
+ const nodePty = await import('node-pty');
123
+ const copilotExePath = path.join('C:', 'ProgramData', 'global-npm', 'node_modules', '@github', 'copilot', 'node_modules', '@github', 'copilot-win32-x64', 'copilot.exe');
124
+ const defaultCmd = fs.existsSync(copilotExePath) ? copilotExePath : 'copilot';
125
+ const copilotCmd = options.command || defaultCmd;
126
+ const cols = process.stdout.columns || 120;
127
+ const rows = process.stdout.rows || 30;
128
+ const copilotExtraArgs = options.copilotArgs || [];
129
+ if (copilotExtraArgs.length > 0) {
130
+ console.log(` ${DIM}Copilot flags:${RESET} ${copilotExtraArgs.join(' ')}\n`);
131
+ }
132
+ // F-07: Security — blocklist dangerous environment variables for PTY
133
+ const DANGEROUS_VARS = new Set(['NODE_OPTIONS', 'NODE_REPL_HISTORY', 'NODE_EXTRA_CA_CERTS',
134
+ 'NODE_PATH', 'NODE_REDIRECT_WARNINGS', 'NODE_PENDING_DEPRECATION',
135
+ 'UV_THREADPOOL_SIZE', 'LD_PRELOAD', 'DYLD_INSERT_LIBRARIES',
136
+ 'SSH_AUTH_SOCK', 'GPG_TTY',
137
+ 'PYTHONPATH', 'BASH_ENV', 'BASH_FUNC', 'JAVA_TOOL_OPTIONS', 'JAVA_OPTIONS', '_JAVA_OPTIONS',
138
+ 'PROMPT_COMMAND', 'ENV', 'ZDOTDIR', 'PERL5OPT', 'RUBYOPT']);
139
+ const sensitivePattern = /token|secret|key|password|credential|authorization|api_key|private_key|access_key|connection_string|db_pass|signing|kubeconfig|docker_host|docker_config/i;
140
+ const safeEnv = {};
141
+ for (const [k, v] of Object.entries(process.env)) {
142
+ if (v !== undefined && !DANGEROUS_VARS.has(k) && !sensitivePattern.test(k)) {
143
+ safeEnv[k] = v;
144
+ }
145
+ }
146
+ const pty = nodePty.spawn(copilotCmd, copilotExtraArgs, {
147
+ name: 'xterm-256color',
148
+ cols,
149
+ rows,
150
+ cwd,
151
+ env: safeEnv,
152
+ });
153
+ // Terminal output buffer for remote clients
154
+ let outputBuffer = '';
155
+ // PTY output → local terminal + remote
156
+ pty.onData((data) => {
157
+ // Write to local terminal (exact copilot output)
158
+ process.stdout.write(data);
159
+ // Buffer for remote clients
160
+ outputBuffer += data;
161
+ // Cap buffer at 100KB
162
+ if (outputBuffer.length > 100000) {
163
+ outputBuffer = outputBuffer.slice(-100000);
164
+ }
165
+ // Send to remote clients as raw terminal data
166
+ bridge?.passthroughFromAgent(JSON.stringify({ type: 'pty', data }));
167
+ });
168
+ pty.onExit(({ exitCode }) => {
169
+ console.log(`\n${DIM}Copilot exited (code ${exitCode}).${RESET}`);
170
+ destroyTunnel();
171
+ bridge?.stop();
172
+ process.exit(exitCode);
173
+ });
174
+ // Local keyboard → PTY (raw mode for full terminal experience)
175
+ if (process.stdin.isTTY) {
176
+ process.stdin.setRawMode(true);
177
+ }
178
+ process.stdin.resume();
179
+ process.stdin.on('data', (data) => {
180
+ pty.write(data.toString());
181
+ });
182
+ // Handle terminal resize
183
+ process.stdout.on('resize', () => {
184
+ pty.resize(process.stdout.columns || 120, process.stdout.rows || 30);
185
+ });
186
+ // Remote input → PTY (phone sends keystrokes + resize)
187
+ bridge.setPassthrough((msg) => {
188
+ try {
189
+ const parsed = JSON.parse(msg);
190
+ if (parsed.type === 'pty_input') {
191
+ pty.write(parsed.data);
192
+ }
193
+ if (parsed.type === 'pty_resize') {
194
+ const cols = Number(parsed.cols);
195
+ const rows = Number(parsed.rows);
196
+ if (Number.isFinite(cols) && Number.isFinite(rows)) {
197
+ pty.resize(Math.max(1, Math.min(500, cols)), Math.max(1, Math.min(200, rows)));
198
+ }
199
+ }
200
+ }
201
+ catch {
202
+ // Only log, do NOT write raw input to PTY
203
+ const auditPath = bridge?.getAuditLogPath();
204
+ if (auditPath) {
205
+ fs.appendFileSync(auditPath, `${new Date().toISOString()} [remote] [RAW] ${JSON.stringify(msg)}\n`);
206
+ }
207
+ }
208
+ });
209
+ // When remote client connects, send the buffer (full terminal history)
210
+ // This is handled by the bridge's acpEventLog replay
211
+ // Cleanup
212
+ process.on('SIGINT', () => {
213
+ pty.kill();
214
+ destroyTunnel();
215
+ bridge?.stop();
216
+ process.exit(0);
217
+ });
218
+ }
219
+ //# sourceMappingURL=start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"upstream.js","sourceRoot":"","sources":["../../../src/cli/commands/upstream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upstream.js","sourceRoot":"","sources":["../../../src/cli/commands/upstream.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,16 @@
1
1
  /**
2
2
  * Watch command — Ralph's standalone polling process
3
3
  */
4
+ export interface BoardState {
5
+ untriaged: number;
6
+ assigned: number;
7
+ drafts: number;
8
+ needsReview: number;
9
+ changesRequested: number;
10
+ ciFailures: number;
11
+ readyToMerge: number;
12
+ }
13
+ export declare function reportBoard(state: BoardState, round: number): void;
4
14
  /**
5
15
  * Run watch command — Ralph's local polling process
6
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAAA;;GAEG;AA2JH;;GAEG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DnF"}
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAkBlE;AA2LD;;GAEG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoHnF"}