@proletariat/cli 0.3.58 → 0.3.59

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 (189) hide show
  1. package/dist/commands/{spec → dashboard}/index.d.ts +4 -4
  2. package/dist/commands/dashboard/index.js +117 -0
  3. package/dist/commands/dashboard/index.js.map +1 -0
  4. package/dist/commands/execution/config.js +5 -4
  5. package/dist/commands/execution/config.js.map +1 -1
  6. package/dist/commands/execution/stop.js +4 -2
  7. package/dist/commands/execution/stop.js.map +1 -1
  8. package/dist/commands/execution/view.js +3 -0
  9. package/dist/commands/execution/view.js.map +1 -1
  10. package/dist/commands/init.d.ts +1 -0
  11. package/dist/commands/init.js +40 -3
  12. package/dist/commands/init.js.map +1 -1
  13. package/dist/commands/mcp-server.js +1 -2
  14. package/dist/commands/mcp-server.js.map +1 -1
  15. package/dist/commands/{spec/link/index.d.ts → session/exec.d.ts} +5 -3
  16. package/dist/commands/session/exec.js +205 -0
  17. package/dist/commands/session/exec.js.map +1 -0
  18. package/dist/commands/session/index.js +12 -0
  19. package/dist/commands/session/index.js.map +1 -1
  20. package/dist/commands/{spec/delete.d.ts → session/inspect.d.ts} +3 -3
  21. package/dist/commands/session/inspect.js +316 -0
  22. package/dist/commands/session/inspect.js.map +1 -0
  23. package/dist/commands/session/peek.d.ts +15 -0
  24. package/dist/commands/session/peek.js +141 -8
  25. package/dist/commands/session/peek.js.map +1 -1
  26. package/dist/commands/session/poke.d.ts +4 -1
  27. package/dist/commands/session/poke.js +175 -20
  28. package/dist/commands/session/poke.js.map +1 -1
  29. package/dist/commands/{spec/link/depends.d.ts → session/restart.d.ts} +6 -4
  30. package/dist/commands/session/restart.js +320 -0
  31. package/dist/commands/session/restart.js.map +1 -0
  32. package/dist/commands/tools/add.d.ts +20 -0
  33. package/dist/commands/tools/add.js +129 -0
  34. package/dist/commands/tools/add.js.map +1 -0
  35. package/dist/commands/tools/check.d.ts +10 -0
  36. package/dist/commands/tools/check.js +75 -0
  37. package/dist/commands/tools/check.js.map +1 -0
  38. package/dist/commands/tools/detect.d.ts +11 -0
  39. package/dist/commands/tools/detect.js +107 -0
  40. package/dist/commands/tools/detect.js.map +1 -0
  41. package/dist/commands/tools/index.d.ts +11 -0
  42. package/dist/commands/tools/index.js +87 -0
  43. package/dist/commands/tools/index.js.map +1 -0
  44. package/dist/commands/tools/remove.d.ts +13 -0
  45. package/dist/commands/tools/remove.js +55 -0
  46. package/dist/commands/tools/remove.js.map +1 -0
  47. package/dist/commands/{spec/view.d.ts → trello/configure.d.ts} +6 -6
  48. package/dist/commands/trello/configure.js +259 -0
  49. package/dist/commands/trello/configure.js.map +1 -0
  50. package/dist/commands/{spec/plan.d.ts → trello/import.d.ts} +3 -5
  51. package/dist/commands/trello/import.js +241 -0
  52. package/dist/commands/trello/import.js.map +1 -0
  53. package/dist/commands/{spec/ticket.d.ts → trello/sync.d.ts} +5 -6
  54. package/dist/commands/trello/sync.js +190 -0
  55. package/dist/commands/trello/sync.js.map +1 -0
  56. package/dist/commands/work/start.d.ts +1 -0
  57. package/dist/commands/work/start.js +17 -39
  58. package/dist/commands/work/start.js.map +1 -1
  59. package/dist/lib/dashboard/data.d.ts +64 -0
  60. package/dist/lib/dashboard/data.js +259 -0
  61. package/dist/lib/dashboard/data.js.map +1 -0
  62. package/dist/lib/dashboard/html.d.ts +7 -0
  63. package/dist/lib/dashboard/html.js +682 -0
  64. package/dist/lib/dashboard/html.js.map +1 -0
  65. package/dist/lib/dashboard/server.d.ts +20 -0
  66. package/dist/lib/dashboard/server.js +114 -0
  67. package/dist/lib/dashboard/server.js.map +1 -0
  68. package/dist/lib/execution/config.d.ts +8 -0
  69. package/dist/lib/execution/config.js +83 -4
  70. package/dist/lib/execution/config.js.map +1 -1
  71. package/dist/lib/execution/runners.d.ts +36 -3
  72. package/dist/lib/execution/runners.js +216 -35
  73. package/dist/lib/execution/runners.js.map +1 -1
  74. package/dist/lib/execution/spawner.d.ts +2 -0
  75. package/dist/lib/execution/spawner.js +22 -31
  76. package/dist/lib/execution/spawner.js.map +1 -1
  77. package/dist/lib/execution/types.d.ts +26 -5
  78. package/dist/lib/execution/types.js +24 -0
  79. package/dist/lib/execution/types.js.map +1 -1
  80. package/dist/lib/external-issues/adapters.d.ts +17 -0
  81. package/dist/lib/external-issues/adapters.js +88 -0
  82. package/dist/lib/external-issues/adapters.js.map +1 -1
  83. package/dist/lib/external-issues/mapping-store.js +1 -1
  84. package/dist/lib/external-issues/trello.d.ts +80 -0
  85. package/dist/lib/external-issues/trello.js +266 -0
  86. package/dist/lib/external-issues/trello.js.map +1 -0
  87. package/dist/lib/external-issues/types.d.ts +3 -3
  88. package/dist/lib/external-issues/types.js +1 -1
  89. package/dist/lib/external-issues/types.js.map +1 -1
  90. package/dist/lib/linear/client.d.ts +4 -3
  91. package/dist/lib/linear/client.js +185 -122
  92. package/dist/lib/linear/client.js.map +1 -1
  93. package/dist/lib/mcp/tools/cli-passthrough.js +77 -0
  94. package/dist/lib/mcp/tools/cli-passthrough.js.map +1 -1
  95. package/dist/lib/mcp/tools/index.d.ts +0 -1
  96. package/dist/lib/mcp/tools/index.js +0 -1
  97. package/dist/lib/mcp/tools/index.js.map +1 -1
  98. package/dist/lib/onboarding/detect-tools.d.ts +15 -0
  99. package/dist/lib/onboarding/detect-tools.js +44 -0
  100. package/dist/lib/onboarding/detect-tools.js.map +1 -0
  101. package/dist/lib/onboarding/index.d.ts +2 -0
  102. package/dist/lib/onboarding/index.js +3 -0
  103. package/dist/lib/onboarding/index.js.map +1 -0
  104. package/dist/lib/onboarding/wizard.d.ts +25 -0
  105. package/dist/lib/onboarding/wizard.js +156 -0
  106. package/dist/lib/onboarding/wizard.js.map +1 -0
  107. package/dist/lib/pmo/schema.d.ts +2 -1
  108. package/dist/lib/pmo/schema.js +3 -1
  109. package/dist/lib/pmo/schema.js.map +1 -1
  110. package/dist/lib/runners/claude-code-runner.js +6 -0
  111. package/dist/lib/runners/claude-code-runner.js.map +1 -1
  112. package/dist/lib/tool-registry/detect.d.ts +20 -0
  113. package/dist/lib/tool-registry/detect.js +95 -0
  114. package/dist/lib/tool-registry/detect.js.map +1 -0
  115. package/dist/lib/tool-registry/index.d.ts +10 -0
  116. package/dist/lib/tool-registry/index.js +13 -0
  117. package/dist/lib/tool-registry/index.js.map +1 -0
  118. package/dist/lib/tool-registry/policy.d.ts +32 -0
  119. package/dist/lib/tool-registry/policy.js +97 -0
  120. package/dist/lib/tool-registry/policy.js.map +1 -0
  121. package/dist/lib/tool-registry/registry.d.ts +42 -0
  122. package/dist/lib/tool-registry/registry.js +120 -0
  123. package/dist/lib/tool-registry/registry.js.map +1 -0
  124. package/dist/lib/tool-registry/spawn.d.ts +50 -0
  125. package/dist/lib/tool-registry/spawn.js +103 -0
  126. package/dist/lib/tool-registry/spawn.js.map +1 -0
  127. package/dist/lib/tool-registry/types.d.ts +56 -0
  128. package/dist/lib/tool-registry/types.js +109 -0
  129. package/dist/lib/tool-registry/types.js.map +1 -0
  130. package/dist/lib/trello/client.d.ts +23 -0
  131. package/dist/lib/trello/client.js +114 -0
  132. package/dist/lib/trello/client.js.map +1 -0
  133. package/dist/lib/trello/config.d.ts +55 -0
  134. package/dist/lib/trello/config.js +127 -0
  135. package/dist/lib/trello/config.js.map +1 -0
  136. package/dist/lib/trello/index.d.ts +5 -0
  137. package/dist/lib/trello/index.js +5 -0
  138. package/dist/lib/trello/index.js.map +1 -0
  139. package/dist/lib/trello/mapper.d.ts +13 -0
  140. package/dist/lib/trello/mapper.js +71 -0
  141. package/dist/lib/trello/mapper.js.map +1 -0
  142. package/dist/lib/trello/sync.d.ts +13 -0
  143. package/dist/lib/trello/sync.js +38 -0
  144. package/dist/lib/trello/sync.js.map +1 -0
  145. package/dist/lib/trello/types.d.ts +53 -0
  146. package/dist/lib/trello/types.js +2 -0
  147. package/dist/lib/trello/types.js.map +1 -0
  148. package/dist/lib/work-source/client.js +17 -0
  149. package/dist/lib/work-source/client.js.map +1 -1
  150. package/dist/lib/work-source/config.d.ts +1 -1
  151. package/dist/lib/work-source/config.js +11 -1
  152. package/dist/lib/work-source/config.js.map +1 -1
  153. package/oclif.manifest.json +3460 -3476
  154. package/package.json +6 -2
  155. package/dist/commands/spec/create.d.ts +0 -20
  156. package/dist/commands/spec/create.js +0 -171
  157. package/dist/commands/spec/create.js.map +0 -1
  158. package/dist/commands/spec/delete.js +0 -112
  159. package/dist/commands/spec/delete.js.map +0 -1
  160. package/dist/commands/spec/edit.d.ts +0 -23
  161. package/dist/commands/spec/edit.js +0 -262
  162. package/dist/commands/spec/edit.js.map +0 -1
  163. package/dist/commands/spec/index.js +0 -88
  164. package/dist/commands/spec/index.js.map +0 -1
  165. package/dist/commands/spec/link/depends.js +0 -87
  166. package/dist/commands/spec/link/depends.js.map +0 -1
  167. package/dist/commands/spec/link/index.js +0 -93
  168. package/dist/commands/spec/link/index.js.map +0 -1
  169. package/dist/commands/spec/link/remove.d.ts +0 -18
  170. package/dist/commands/spec/link/remove.js +0 -91
  171. package/dist/commands/spec/link/remove.js.map +0 -1
  172. package/dist/commands/spec/list.d.ts +0 -14
  173. package/dist/commands/spec/list.js +0 -101
  174. package/dist/commands/spec/list.js.map +0 -1
  175. package/dist/commands/spec/plan.js +0 -102
  176. package/dist/commands/spec/plan.js.map +0 -1
  177. package/dist/commands/spec/ticket.js +0 -144
  178. package/dist/commands/spec/ticket.js.map +0 -1
  179. package/dist/commands/spec/view.js +0 -202
  180. package/dist/commands/spec/view.js.map +0 -1
  181. package/dist/lib/mcp/tools/spec.d.ts +0 -6
  182. package/dist/lib/mcp/tools/spec.js +0 -197
  183. package/dist/lib/mcp/tools/spec.js.map +0 -1
  184. package/dist/lib/pmo/spec-parser.d.ts +0 -25
  185. package/dist/lib/pmo/spec-parser.js +0 -206
  186. package/dist/lib/pmo/spec-parser.js.map +0 -1
  187. package/dist/lib/pmo/spec-types.d.ts +0 -43
  188. package/dist/lib/pmo/spec-types.js +0 -8
  189. package/dist/lib/pmo/spec-types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"poke.js","sourceRoot":"","sources":["../../../src/commands/session/poke.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poke.js","sourceRoot":"","sources":["../../../src/commands/session/poke.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
- import { PMOCommand } from '../../../lib/pmo/index.js';
2
- export default class SpecLinkDepends extends PMOCommand {
1
+ import { PMOCommand } from '../../lib/pmo/index.js';
2
+ export default class SessionRestart extends PMOCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static args: {
6
- spec: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
- target: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
6
+ target: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
8
7
  };
9
8
  static flags: {
9
+ fresh: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ resume: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
10
12
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
13
  machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
14
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
@@ -0,0 +1,320 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import * as path from 'node:path';
3
+ import { execSync } from 'node:child_process';
4
+ import Database from 'better-sqlite3';
5
+ import { styles } from '../../lib/styles.js';
6
+ import { getWorkspaceInfo } from '../../lib/agents/commands.js';
7
+ import { ExecutionStorage } from '../../lib/execution/index.js';
8
+ import { getHostTmuxSessionNames, getContainerTmuxSessionMap, findContainerSessionsByPrefix, findSessionForExecution, captureTmuxPane, } from '../../lib/execution/session-utils.js';
9
+ import { PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
10
+ import { shouldOutputJson, outputSuccessAsJson, outputErrorAsJson, createMetadata, } from '../../lib/prompt-json.js';
11
+ // =============================================================================
12
+ // Helpers
13
+ // =============================================================================
14
+ /**
15
+ * Send Ctrl-C to a tmux session to interrupt the current process.
16
+ */
17
+ function sendCtrlC(sessionId, containerId) {
18
+ try {
19
+ const sendCmd = `tmux send-keys -t "${sessionId}" C-c`;
20
+ if (containerId) {
21
+ execSync(`docker exec ${containerId} bash -c '${sendCmd}'`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 10000 });
22
+ }
23
+ else {
24
+ execSync(sendCmd, {
25
+ encoding: 'utf-8',
26
+ stdio: ['pipe', 'pipe', 'pipe'],
27
+ timeout: 5000,
28
+ });
29
+ }
30
+ return true;
31
+ }
32
+ catch {
33
+ return false;
34
+ }
35
+ }
36
+ /**
37
+ * Send a command to a tmux session.
38
+ */
39
+ function sendCommand(sessionId, command, containerId) {
40
+ try {
41
+ const escapedCommand = command.replace(/'/g, "'\\''");
42
+ const sendTextCmd = `tmux send-keys -l -t "${sessionId}" '${escapedCommand}'`;
43
+ const sendEnterCmd = `tmux send-keys -t "${sessionId}" Enter`;
44
+ if (containerId) {
45
+ execSync(`docker exec ${containerId} bash -c '${sendTextCmd}'`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 10000 });
46
+ execSync('sleep 0.1', { stdio: ['pipe', 'pipe', 'pipe'] });
47
+ execSync(`docker exec ${containerId} bash -c '${sendEnterCmd}'`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 10000 });
48
+ }
49
+ else {
50
+ execSync(sendTextCmd, {
51
+ encoding: 'utf-8',
52
+ stdio: ['pipe', 'pipe', 'pipe'],
53
+ timeout: 5000,
54
+ });
55
+ execSync('sleep 0.1', { stdio: ['pipe', 'pipe', 'pipe'] });
56
+ execSync(sendEnterCmd, {
57
+ encoding: 'utf-8',
58
+ stdio: ['pipe', 'pipe', 'pipe'],
59
+ timeout: 5000,
60
+ });
61
+ }
62
+ return true;
63
+ }
64
+ catch {
65
+ return false;
66
+ }
67
+ }
68
+ /**
69
+ * Check if the session is at a shell prompt (idle).
70
+ */
71
+ function isAtPrompt(sessionId, containerId) {
72
+ try {
73
+ const content = captureTmuxPane(sessionId, 5, containerId);
74
+ if (!content)
75
+ return false;
76
+ const lines = content.split('\n');
77
+ const lastNonEmpty = [...lines].reverse().find(l => l.trim().length > 0) || '';
78
+ return /[$❯#>]\s*$/.test(lastNonEmpty);
79
+ }
80
+ catch {
81
+ return false;
82
+ }
83
+ }
84
+ /**
85
+ * Wait for the session to reach a shell prompt.
86
+ */
87
+ async function waitForPrompt(sessionId, timeoutMs, containerId) {
88
+ const startTime = Date.now();
89
+ while (Date.now() - startTime < timeoutMs) {
90
+ if (isAtPrompt(sessionId, containerId))
91
+ return true;
92
+ await new Promise(resolve => setTimeout(resolve, 1000));
93
+ }
94
+ return false;
95
+ }
96
+ // =============================================================================
97
+ // Command
98
+ // =============================================================================
99
+ export default class SessionRestart extends PMOCommand {
100
+ static description = 'Gracefully restart a stuck or completed agent session';
101
+ static examples = [
102
+ '<%= config.bin %> session restart altman',
103
+ '<%= config.bin %> session restart TKT-123',
104
+ '<%= config.bin %> session restart altman --fresh',
105
+ '<%= config.bin %> session restart altman --resume',
106
+ '<%= config.bin %> session restart altman --timeout 30',
107
+ ];
108
+ static args = {
109
+ target: Args.string({
110
+ description: 'Agent name or ticket ID',
111
+ required: true,
112
+ }),
113
+ };
114
+ static flags = {
115
+ ...pmoBaseFlags,
116
+ fresh: Flags.boolean({
117
+ description: 'Reset worktree to branch HEAD before restarting',
118
+ default: false,
119
+ exclusive: ['resume'],
120
+ }),
121
+ resume: Flags.boolean({
122
+ description: 'Continue from where the agent left off (pass --resume flag to Claude Code)',
123
+ default: false,
124
+ exclusive: ['fresh'],
125
+ }),
126
+ timeout: Flags.integer({
127
+ description: 'Seconds to wait for clean exit before force restart',
128
+ default: 15,
129
+ }),
130
+ };
131
+ getPMOOptions() {
132
+ return { promptIfMultiple: false };
133
+ }
134
+ async execute() {
135
+ const { args, flags } = await this.parse(SessionRestart);
136
+ const jsonMode = shouldOutputJson(flags);
137
+ const { target } = args;
138
+ // Resolve the agent
139
+ let executionStorage = null;
140
+ let db = null;
141
+ try {
142
+ const workspaceInfo = getWorkspaceInfo();
143
+ const dbPath = path.join(workspaceInfo.path, '.proletariat', 'workspace.db');
144
+ db = new Database(dbPath);
145
+ executionStorage = new ExecutionStorage(db);
146
+ }
147
+ catch {
148
+ if (jsonMode) {
149
+ outputErrorAsJson('NOT_IN_WORKSPACE', 'Not in a workspace. Run from a proletariat HQ directory.', createMetadata('session restart', flags));
150
+ }
151
+ else {
152
+ this.log('');
153
+ this.log(styles.error('Not in a workspace. Run from a proletariat HQ directory.'));
154
+ this.log('');
155
+ }
156
+ return;
157
+ }
158
+ try {
159
+ // Get active executions
160
+ const runningExecutions = executionStorage.listExecutions({ status: 'running' });
161
+ const startingExecutions = executionStorage.listExecutions({ status: 'starting' });
162
+ const activeExecutions = [...runningExecutions, ...startingExecutions];
163
+ // Find matching execution
164
+ let match = activeExecutions.find(exec => exec.agentName === target || exec.ticketId === target);
165
+ if (!match) {
166
+ match = activeExecutions.find(exec => exec.agentName.includes(target) || exec.ticketId.includes(target.toUpperCase()));
167
+ }
168
+ if (!match) {
169
+ if (jsonMode) {
170
+ outputErrorAsJson('NO_ACTIVE_EXECUTION', `No active session found for "${target}".`, createMetadata('session restart', flags));
171
+ }
172
+ else {
173
+ this.log('');
174
+ this.log(styles.error(`No active session found for "${target}".`));
175
+ this.log(styles.muted('Use `prlt session list` to see running sessions.'));
176
+ this.log('');
177
+ }
178
+ return;
179
+ }
180
+ // Resolve tmux session
181
+ const isContainer = match.environment === 'devcontainer';
182
+ let actualSessionId = match.sessionId;
183
+ let containerId = isContainer ? match.containerId : undefined;
184
+ if (!match.sessionId) {
185
+ const hostTmuxSessions = getHostTmuxSessionNames();
186
+ const containerTmuxSessions = getContainerTmuxSessionMap();
187
+ if (isContainer && match.containerId) {
188
+ const containerSessions = findContainerSessionsByPrefix(containerTmuxSessions, match.containerId);
189
+ const found = findSessionForExecution(match.ticketId, match.agentName, containerSessions);
190
+ if (found) {
191
+ actualSessionId = found;
192
+ containerId = match.containerId;
193
+ }
194
+ }
195
+ else {
196
+ const found = findSessionForExecution(match.ticketId, match.agentName, hostTmuxSessions);
197
+ if (found)
198
+ actualSessionId = found;
199
+ }
200
+ }
201
+ if (!actualSessionId) {
202
+ if (jsonMode) {
203
+ outputErrorAsJson('SESSION_NOT_FOUND', `Could not find tmux session for agent "${match.agentName}".`, createMetadata('session restart', flags));
204
+ }
205
+ else {
206
+ this.log('');
207
+ this.log(styles.error(`Could not find tmux session for agent "${match.agentName}".`));
208
+ this.log('');
209
+ }
210
+ return;
211
+ }
212
+ // Step 1: Send Ctrl-C to interrupt current process
213
+ if (!jsonMode) {
214
+ this.log('');
215
+ this.log(styles.info(`Restarting agent ${match.agentName} (${match.ticketId})...`));
216
+ this.log(styles.muted(' Sending Ctrl-C to interrupt current process...'));
217
+ }
218
+ sendCtrlC(actualSessionId, containerId);
219
+ // Step 2: Wait for clean exit
220
+ const timeoutMs = flags.timeout * 1000;
221
+ const reachedPrompt = await waitForPrompt(actualSessionId, timeoutMs, containerId);
222
+ if (!reachedPrompt) {
223
+ // Send another Ctrl-C to force exit
224
+ if (!jsonMode) {
225
+ this.log(styles.muted(' Process did not exit cleanly, sending another Ctrl-C...'));
226
+ }
227
+ sendCtrlC(actualSessionId, containerId);
228
+ await waitForPrompt(actualSessionId, 5000, containerId);
229
+ }
230
+ // Step 3: If --fresh, reset worktree
231
+ if (flags.fresh) {
232
+ if (!jsonMode) {
233
+ this.log(styles.muted(' Resetting worktree to branch HEAD...'));
234
+ }
235
+ if (isContainer && containerId) {
236
+ const resetCmd = `git -C /workspace reset --hard HEAD && git -C /workspace clean -fd`;
237
+ sendCommand(actualSessionId, resetCmd, containerId);
238
+ await new Promise(resolve => setTimeout(resolve, 2000));
239
+ await waitForPrompt(actualSessionId, 5000, containerId);
240
+ }
241
+ else {
242
+ const workspaceInfo = getWorkspaceInfo();
243
+ const worktreePath = path.join(workspaceInfo.path, 'agents', 'temp', match.agentName);
244
+ try {
245
+ execSync(`git -C "${worktreePath}" reset --hard HEAD && git -C "${worktreePath}" clean -fd`, {
246
+ encoding: 'utf-8',
247
+ stdio: ['pipe', 'pipe', 'pipe'],
248
+ timeout: 10000,
249
+ });
250
+ }
251
+ catch {
252
+ // Best effort reset
253
+ }
254
+ }
255
+ }
256
+ // Step 4: Re-launch Claude Code
257
+ if (!jsonMode) {
258
+ this.log(styles.muted(' Re-launching Claude Code...'));
259
+ }
260
+ // Build the claude command with appropriate flags
261
+ let claudeCmd = 'claude';
262
+ if (flags.resume) {
263
+ claudeCmd += ' --resume';
264
+ }
265
+ // Add permission flags if the original execution used danger mode
266
+ if (match.permissionMode === 'danger') {
267
+ claudeCmd += ' --dangerously-skip-permissions';
268
+ }
269
+ sendCommand(actualSessionId, claudeCmd, containerId);
270
+ // Track restart — update execution status back to running
271
+ let newRestartCount = 1;
272
+ try {
273
+ const currentExec = executionStorage.getExecution(match.id);
274
+ if (currentExec?.errorMessage) {
275
+ try {
276
+ const parsed = JSON.parse(currentExec.errorMessage);
277
+ newRestartCount = (parsed.restartCount || 0) + 1;
278
+ }
279
+ catch {
280
+ // errorMessage is not JSON, just count as first restart
281
+ }
282
+ }
283
+ executionStorage.updateStatus(match.id, 'running');
284
+ }
285
+ catch {
286
+ // Best effort tracking
287
+ }
288
+ // Output results
289
+ if (jsonMode) {
290
+ outputSuccessAsJson({
291
+ agent: match.agentName,
292
+ ticketId: match.ticketId,
293
+ sessionId: actualSessionId,
294
+ environment: isContainer ? 'container' : 'host',
295
+ containerId,
296
+ restarted: true,
297
+ mode: flags.fresh ? 'fresh' : flags.resume ? 'resume' : 'default',
298
+ cleanExit: reachedPrompt,
299
+ restartCount: newRestartCount,
300
+ }, createMetadata('session restart', flags));
301
+ }
302
+ else {
303
+ this.log('');
304
+ this.log(styles.success(`Agent ${match.agentName} restarted successfully.`));
305
+ if (flags.fresh) {
306
+ this.log(styles.muted(' Mode: fresh (worktree reset to HEAD)'));
307
+ }
308
+ else if (flags.resume) {
309
+ this.log(styles.muted(' Mode: resume (continuing from last state)'));
310
+ }
311
+ this.log(styles.muted(` Clean exit: ${reachedPrompt ? 'yes' : 'no (forced)'}`));
312
+ this.log('');
313
+ }
314
+ }
315
+ finally {
316
+ db?.close();
317
+ }
318
+ }
319
+ }
320
+ //# sourceMappingURL=restart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restart.js","sourceRoot":"","sources":["../../../src/commands/session/restart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { PromptCommand } from '../../lib/prompt-command.js';
2
+ export default class ToolsAdd extends PromptCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ type: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
+ name: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
8
+ };
9
+ static flags: {
10
+ url: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ command: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ auth: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ detect: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ install: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ description: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
16
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ };
19
+ run(): Promise<void>;
20
+ }
@@ -0,0 +1,129 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import chalk from 'chalk';
3
+ import { PromptCommand } from '../../lib/prompt-command.js';
4
+ import { findHQRoot } from '../../lib/workspace.js';
5
+ import { shouldOutputJson, outputSuccessAsJson, outputErrorAsJson, createMetadata, } from '../../lib/prompt-json.js';
6
+ import { machineOutputFlags } from '../../lib/pmo/index.js';
7
+ import { addMcpServer, addCliTool, loadToolRegistry, } from '../../lib/tool-registry/index.js';
8
+ export default class ToolsAdd extends PromptCommand {
9
+ static description = 'Register an MCP server or CLI tool';
10
+ static examples = [
11
+ '<%= config.bin %> tools add mcp arcade --url https://api.arcade.dev/mcp --auth ARCADE_API_KEY --description "Arcade integrations"',
12
+ '<%= config.bin %> tools add cli gh --command gh --detect "which gh" --install "brew install gh" --description "GitHub CLI"',
13
+ ];
14
+ static args = {
15
+ type: Args.string({
16
+ description: 'Tool type (mcp or cli)',
17
+ required: true,
18
+ options: ['mcp', 'cli'],
19
+ }),
20
+ name: Args.string({
21
+ description: 'Tool name (unique identifier)',
22
+ required: true,
23
+ }),
24
+ };
25
+ static flags = {
26
+ ...machineOutputFlags,
27
+ url: Flags.string({
28
+ description: 'MCP server URL (for remote servers)',
29
+ }),
30
+ command: Flags.string({
31
+ description: 'Command to run (MCP server command or CLI tool binary)',
32
+ }),
33
+ auth: Flags.string({
34
+ description: 'Environment variable for authentication (e.g., ARCADE_API_KEY)',
35
+ }),
36
+ detect: Flags.string({
37
+ description: 'Shell command to detect if CLI tool is installed',
38
+ }),
39
+ install: Flags.string({
40
+ description: 'Shell command to install the CLI tool',
41
+ }),
42
+ description: Flags.string({
43
+ char: 'd',
44
+ description: 'Human-readable description',
45
+ required: true,
46
+ }),
47
+ };
48
+ async run() {
49
+ const { args, flags } = await this.parse(ToolsAdd);
50
+ const jsonMode = shouldOutputJson(flags);
51
+ const meta = () => createMetadata('tools add', flags);
52
+ const hqPath = findHQRoot();
53
+ if (!hqPath) {
54
+ if (jsonMode) {
55
+ outputErrorAsJson('NO_WORKSPACE', 'Not in a proletariat workspace', meta());
56
+ }
57
+ else {
58
+ this.error('Not in a proletariat workspace. Run `prlt init` first.');
59
+ }
60
+ return;
61
+ }
62
+ const registry = loadToolRegistry(hqPath);
63
+ if (args.type === 'mcp') {
64
+ if (!flags.url && !flags.command) {
65
+ if (jsonMode) {
66
+ outputErrorAsJson('MISSING_FLAG', 'MCP server requires --url or --command', meta());
67
+ }
68
+ else {
69
+ this.error('MCP server requires either --url (remote) or --command (local)');
70
+ }
71
+ return;
72
+ }
73
+ if (args.name in registry['mcp-servers']) {
74
+ if (jsonMode) {
75
+ outputErrorAsJson('DUPLICATE', `MCP server '${args.name}' already exists`, meta());
76
+ }
77
+ else {
78
+ this.error(`MCP server '${args.name}' already exists. Remove it first with: prlt tools remove ${args.name}`);
79
+ }
80
+ return;
81
+ }
82
+ const auth = flags.auth ? `\${${flags.auth}}` : undefined;
83
+ addMcpServer(hqPath, args.name, {
84
+ url: flags.url,
85
+ command: flags.command,
86
+ auth,
87
+ description: flags.description,
88
+ });
89
+ if (jsonMode) {
90
+ outputSuccessAsJson({ name: args.name, type: 'mcp', description: flags.description }, meta());
91
+ }
92
+ else {
93
+ this.log(chalk.green(`\nMCP server '${args.name}' registered successfully.`));
94
+ if (flags.url)
95
+ this.log(chalk.dim(` URL: ${flags.url}`));
96
+ if (flags.command)
97
+ this.log(chalk.dim(` Command: ${flags.command}`));
98
+ this.log('');
99
+ }
100
+ }
101
+ else if (args.type === 'cli') {
102
+ const command = flags.command || args.name;
103
+ if (args.name in registry['cli-tools']) {
104
+ if (jsonMode) {
105
+ outputErrorAsJson('DUPLICATE', `CLI tool '${args.name}' already exists`, meta());
106
+ }
107
+ else {
108
+ this.error(`CLI tool '${args.name}' already exists. Remove it first with: prlt tools remove ${args.name}`);
109
+ }
110
+ return;
111
+ }
112
+ addCliTool(hqPath, args.name, {
113
+ command,
114
+ description: flags.description,
115
+ detect: flags.detect,
116
+ install: flags.install,
117
+ });
118
+ if (jsonMode) {
119
+ outputSuccessAsJson({ name: args.name, type: 'cli', command, description: flags.description }, meta());
120
+ }
121
+ else {
122
+ this.log(chalk.green(`\nCLI tool '${args.name}' registered successfully.`));
123
+ this.log(chalk.dim(` Command: ${command}`));
124
+ this.log('');
125
+ }
126
+ }
127
+ }
128
+ }
129
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/tools/add.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class ToolsCheck extends Command {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ };
9
+ run(): Promise<void>;
10
+ }