@agentuity/opencode 0.1.41 → 0.1.43

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 (51) hide show
  1. package/README.md +3 -10
  2. package/dist/agents/lead.d.ts +1 -1
  3. package/dist/agents/lead.d.ts.map +1 -1
  4. package/dist/agents/lead.js +2 -3
  5. package/dist/agents/lead.js.map +1 -1
  6. package/dist/background/manager.d.ts +1 -0
  7. package/dist/background/manager.d.ts.map +1 -1
  8. package/dist/background/manager.js +6 -0
  9. package/dist/background/manager.js.map +1 -1
  10. package/dist/plugin/hooks/cadence.d.ts.map +1 -1
  11. package/dist/plugin/hooks/cadence.js +3 -1
  12. package/dist/plugin/hooks/cadence.js.map +1 -1
  13. package/dist/plugin/plugin.d.ts.map +1 -1
  14. package/dist/plugin/plugin.js +54 -11
  15. package/dist/plugin/plugin.js.map +1 -1
  16. package/dist/skills/frontmatter.js +1 -1
  17. package/dist/skills/frontmatter.js.map +1 -1
  18. package/dist/tmux/executor.d.ts +57 -6
  19. package/dist/tmux/executor.d.ts.map +1 -1
  20. package/dist/tmux/executor.js +676 -57
  21. package/dist/tmux/executor.js.map +1 -1
  22. package/dist/tmux/index.d.ts +1 -1
  23. package/dist/tmux/index.d.ts.map +1 -1
  24. package/dist/tmux/index.js +1 -1
  25. package/dist/tmux/index.js.map +1 -1
  26. package/dist/tmux/manager.d.ts +70 -0
  27. package/dist/tmux/manager.d.ts.map +1 -1
  28. package/dist/tmux/manager.js +357 -22
  29. package/dist/tmux/manager.js.map +1 -1
  30. package/dist/tmux/state-query.d.ts.map +1 -1
  31. package/dist/tmux/state-query.js +4 -1
  32. package/dist/tmux/state-query.js.map +1 -1
  33. package/dist/tmux/types.d.ts +11 -0
  34. package/dist/tmux/types.d.ts.map +1 -1
  35. package/dist/tmux/types.js.map +1 -1
  36. package/dist/tmux/utils.d.ts +17 -0
  37. package/dist/tmux/utils.d.ts.map +1 -1
  38. package/dist/tmux/utils.js +39 -0
  39. package/dist/tmux/utils.js.map +1 -1
  40. package/package.json +3 -3
  41. package/src/agents/lead.ts +2 -3
  42. package/src/background/manager.ts +6 -0
  43. package/src/plugin/hooks/cadence.ts +2 -1
  44. package/src/plugin/plugin.ts +67 -11
  45. package/src/skills/frontmatter.ts +1 -1
  46. package/src/tmux/executor.ts +748 -55
  47. package/src/tmux/index.ts +6 -0
  48. package/src/tmux/manager.ts +410 -21
  49. package/src/tmux/state-query.ts +4 -1
  50. package/src/tmux/types.ts +12 -0
  51. package/src/tmux/utils.ts +39 -0
@@ -1,8 +1,10 @@
1
+ import { spawnSync } from 'bun';
2
+ import { randomUUID } from 'node:crypto';
1
3
  import { POLL_INTERVAL_MS, SESSION_MISSING_GRACE_MS, SESSION_TIMEOUT_MS } from './types';
2
- import { getCurrentPaneId, getTmuxPath, isInsideTmux } from './utils';
4
+ import { canonicalizeServerUrl, getCurrentPaneId, getTmuxPath, getTmuxSessionId, isInsideTmux, } from './utils';
3
5
  import { queryWindowState } from './state-query';
4
6
  import { decideSpawnActions } from './decision-engine';
5
- import { executeActions, closeAgentsWindow, closeAgentsWindowSync, closePaneById, } from './executor';
7
+ import { executeActions, closeAgentsWindow, closeAgentsWindowSync, closePaneById, killProcessByPid, getPanePid, getPanePidSync, cleanupOwnedResources, cleanupOwnedResourcesSync, findOwnedAgentPanes, } from './executor';
6
8
  /**
7
9
  * Check if the OpenCode server is running by hitting the health endpoint
8
10
  */
@@ -35,12 +37,32 @@ export class TmuxSessionManager {
35
37
  pendingSessions = new Set();
36
38
  pollInterval;
37
39
  sourcePaneId;
40
+ tmuxSessionId;
41
+ instanceId = randomUUID().slice(0, 8);
42
+ ownerPid = process.pid;
43
+ serverKey;
44
+ statusMissingSince = new Map();
45
+ /**
46
+ * Operation queue to serialize tmux mutations.
47
+ * This prevents race conditions when multiple sessions are created rapidly.
48
+ */
49
+ tmuxOpQueue = Promise.resolve();
38
50
  constructor(ctx, config, callbacks) {
39
51
  this.ctx = ctx;
40
52
  this.config = config;
41
53
  this.callbacks = callbacks;
42
54
  this.sourcePaneId = getCurrentPaneId();
43
55
  }
56
+ /**
57
+ * Enqueue a tmux operation to ensure sequential execution.
58
+ * This prevents race conditions when multiple sessions are created/deleted rapidly.
59
+ */
60
+ enqueue(fn) {
61
+ const result = this.tmuxOpQueue.then(fn, fn); // Run even if previous failed
62
+ // Update queue but don't propagate errors to next operation
63
+ this.tmuxOpQueue = result.then(() => { }, () => { });
64
+ return result;
65
+ }
44
66
  /**
45
67
  * Check if tmux integration is enabled and available
46
68
  */
@@ -50,12 +72,26 @@ export class TmuxSessionManager {
50
72
  /**
51
73
  * Handle a new background session being created
52
74
  * This is called by BackgroundManager when a background task starts
75
+ *
76
+ * Operations are queued to prevent race conditions when multiple sessions
77
+ * are created rapidly.
53
78
  */
54
79
  async onSessionCreated(event) {
55
- if (!this.isEnabled())
80
+ return this.enqueue(() => this.doSessionCreated(event));
81
+ }
82
+ /**
83
+ * Internal implementation of session creation (runs within the queue)
84
+ */
85
+ async doSessionCreated(event) {
86
+ this.log(`onSessionCreated called for ${event.sessionId} (${event.title})`);
87
+ if (!this.isEnabled()) {
88
+ this.log(`Skipping - tmux not enabled (config: ${this.config.enabled}, insideTmux: ${isInsideTmux()})`);
56
89
  return;
57
- if (this.pendingSessions.has(event.sessionId) || this.sessions.has(event.sessionId))
90
+ }
91
+ if (this.pendingSessions.has(event.sessionId) || this.sessions.has(event.sessionId)) {
92
+ this.log(`Skipping - session ${event.sessionId} already pending or tracked`);
58
93
  return;
94
+ }
59
95
  this.pendingSessions.add(event.sessionId);
60
96
  try {
61
97
  const tmuxPath = await getTmuxPath();
@@ -70,6 +106,13 @@ export class TmuxSessionManager {
70
106
  this.log('Unable to determine source pane id.');
71
107
  return;
72
108
  }
109
+ // Get the tmux session ID for this pane (cached after first lookup)
110
+ if (!this.tmuxSessionId) {
111
+ this.tmuxSessionId = await getTmuxSessionId(this.sourcePaneId);
112
+ if (this.tmuxSessionId) {
113
+ this.log(`Resolved tmux session ID: ${this.tmuxSessionId}`);
114
+ }
115
+ }
73
116
  const state = await queryWindowState(this.sourcePaneId);
74
117
  if (!state) {
75
118
  this.log('Failed to query tmux window state.');
@@ -97,16 +140,26 @@ export class TmuxSessionManager {
97
140
  this.log(`Server not running at ${serverUrl}. Start opencode with --port flag to enable tmux integration.`);
98
141
  return;
99
142
  }
143
+ const serverKey = canonicalizeServerUrl(serverUrl);
144
+ this.serverKey = serverKey;
100
145
  const result = await executeActions(decision.actions, {
101
146
  config: this.config,
102
147
  serverUrl,
103
148
  windowState: state,
149
+ ownership: {
150
+ instanceId: this.instanceId,
151
+ ownerPid: this.ownerPid,
152
+ serverKey,
153
+ tmuxSessionId: this.tmuxSessionId,
154
+ },
104
155
  });
105
156
  if (!result.success) {
106
157
  this.log('Failed to execute tmux actions.');
107
158
  return;
108
159
  }
109
- this.applyActionResults(decision.actions, result.spawnedPaneId);
160
+ this.applyActionResults(decision.actions, result.results);
161
+ await this.refreshMissingPids();
162
+ this.log(`Successfully spawned pane for ${event.sessionId}. Tracking ${this.sessions.size} sessions. PIDs: ${this.getTrackedPids().join(', ') || 'none'}`);
110
163
  if (this.sessions.size > 0) {
111
164
  this.startPolling();
112
165
  }
@@ -115,27 +168,54 @@ export class TmuxSessionManager {
115
168
  this.pendingSessions.delete(event.sessionId);
116
169
  }
117
170
  }
171
+ /**
172
+ * Get all tracked PIDs for logging
173
+ */
174
+ getTrackedPids() {
175
+ return Array.from(this.sessions.values())
176
+ .map((s) => s.pid)
177
+ .filter((pid) => pid !== undefined);
178
+ }
118
179
  /**
119
180
  * Handle a session being deleted
120
181
  *
121
182
  * Explicitly kills the pane when a background session completes.
122
183
  * We can't rely on `opencode attach` exiting because it's an interactive
123
184
  * terminal that keeps running even after the session goes idle.
185
+ *
186
+ * Operations are queued to prevent race conditions.
124
187
  */
125
188
  async onSessionDeleted(event) {
126
- if (!this.isEnabled())
189
+ return this.enqueue(() => this.doSessionDeleted(event));
190
+ }
191
+ /**
192
+ * Internal implementation of session deletion (runs within the queue)
193
+ */
194
+ async doSessionDeleted(event) {
195
+ this.log(`onSessionDeleted called for ${event.sessionId}`);
196
+ if (!this.isEnabled()) {
197
+ this.log(`Skipping delete - tmux not enabled`);
127
198
  return;
199
+ }
128
200
  // Find the session in our mappings
129
201
  const session = this.sessions.get(event.sessionId);
130
- if (!session)
202
+ if (!session) {
203
+ this.log(`Session ${event.sessionId} not found in tracked sessions`);
131
204
  return;
205
+ }
206
+ this.log(`Closing pane ${session.paneId} (PID: ${session.pid}) for session ${event.sessionId}`);
132
207
  // Kill the pane explicitly - opencode attach won't exit on its own
133
- const result = await closePaneById(session.paneId);
208
+ const result = await closePaneById(session.paneId, session.pid);
134
209
  if (!result.success) {
135
210
  this.log(`Failed to close pane ${session.paneId}: ${result.error}`);
136
211
  }
212
+ else {
213
+ this.log(`Successfully closed pane ${session.paneId}`);
214
+ }
137
215
  // Update internal state
138
216
  this.sessions.delete(event.sessionId);
217
+ this.statusMissingSince.delete(event.sessionId);
218
+ this.log(`Removed session from tracking. Now tracking ${this.sessions.size} sessions.`);
139
219
  if (this.sessions.size === 0) {
140
220
  this.stopPolling();
141
221
  }
@@ -144,12 +224,37 @@ export class TmuxSessionManager {
144
224
  * Clean up all panes on shutdown
145
225
  *
146
226
  * Kills the entire "Agents" window, which closes all agent panes at once.
227
+ * Falls back to pkill if PID-based cleanup fails.
147
228
  */
148
229
  async cleanup() {
230
+ this.log('Starting cleanup...');
149
231
  this.stopPolling();
150
- // Kill the entire agents window - this closes all panes at once
151
- await closeAgentsWindow();
232
+ for (const session of this.sessions.values()) {
233
+ let pid = session.pid;
234
+ if (!pid) {
235
+ pid = await getPanePid(session.paneId);
236
+ if (pid) {
237
+ session.pid = pid;
238
+ }
239
+ }
240
+ if (!pid)
241
+ continue;
242
+ this.log(`Killing process ${pid} for session ${session.sessionId}`);
243
+ const success = await killProcessByPid(pid);
244
+ if (!success) {
245
+ this.log(`Failed to kill process ${pid} for session ${session.sessionId}`);
246
+ }
247
+ }
248
+ const serverKey = this.getServerKey();
249
+ if (serverKey) {
250
+ await cleanupOwnedResources(serverKey, this.instanceId);
251
+ }
252
+ else {
253
+ await closeAgentsWindow();
254
+ }
152
255
  this.sessions.clear();
256
+ this.statusMissingSince.clear();
257
+ this.log('Cleanup complete');
153
258
  }
154
259
  /**
155
260
  * Synchronous cleanup for shutdown (ensures completion before exit)
@@ -158,10 +263,31 @@ export class TmuxSessionManager {
158
263
  * process exits, which is necessary for signal handlers.
159
264
  */
160
265
  cleanupSync() {
266
+ this.log('Starting sync cleanup...');
161
267
  this.stopPolling();
162
- // Kill the entire agents window synchronously
163
- closeAgentsWindowSync();
268
+ for (const session of this.sessions.values()) {
269
+ let pid = session.pid;
270
+ if (!pid) {
271
+ pid = getPanePidSync(session.paneId);
272
+ if (pid) {
273
+ session.pid = pid;
274
+ }
275
+ }
276
+ if (!pid)
277
+ continue;
278
+ this.log(`Killing process ${pid} for session ${session.sessionId}`);
279
+ this.killProcessByPidSync(pid);
280
+ }
281
+ const serverKey = this.getServerKey();
282
+ if (serverKey) {
283
+ cleanupOwnedResourcesSync(serverKey, this.instanceId);
284
+ }
285
+ else {
286
+ closeAgentsWindowSync();
287
+ }
164
288
  this.sessions.clear();
289
+ this.statusMissingSince.clear();
290
+ this.log('Sync cleanup complete');
165
291
  }
166
292
  /**
167
293
  * Start polling for session status
@@ -186,6 +312,12 @@ export class TmuxSessionManager {
186
312
  * Poll active sessions for status changes
187
313
  */
188
314
  async pollSessions() {
315
+ return this.enqueue(() => this.doPollSessions());
316
+ }
317
+ /**
318
+ * Poll active sessions for status changes
319
+ */
320
+ async doPollSessions() {
189
321
  if (!this.isEnabled())
190
322
  return;
191
323
  if (!this.sourcePaneId)
@@ -193,22 +325,55 @@ export class TmuxSessionManager {
193
325
  const state = await queryWindowState(this.sourcePaneId);
194
326
  if (!state)
195
327
  return;
328
+ const statusMap = await this.fetchSessionStatuses();
196
329
  const now = Date.now();
330
+ const sessionsToClose = [];
197
331
  for (const session of this.sessions.values()) {
198
332
  const pane = findPane(state, session.paneId);
199
333
  if (pane) {
200
334
  session.lastSeenAt = new Date();
201
- continue;
335
+ if (!session.pid) {
336
+ const pid = await getPanePid(session.paneId);
337
+ if (pid) {
338
+ session.pid = pid;
339
+ }
340
+ }
202
341
  }
203
- const missingFor = now - session.lastSeenAt.getTime();
204
- if (missingFor > SESSION_MISSING_GRACE_MS) {
205
- this.sessions.delete(session.sessionId);
206
- continue;
342
+ else {
343
+ const missingFor = now - session.lastSeenAt.getTime();
344
+ if (missingFor > SESSION_MISSING_GRACE_MS) {
345
+ if (session.pid) {
346
+ await killProcessByPid(session.pid);
347
+ }
348
+ this.sessions.delete(session.sessionId);
349
+ this.statusMissingSince.delete(session.sessionId);
350
+ continue;
351
+ }
352
+ }
353
+ const status = statusMap[session.sessionId];
354
+ if (status) {
355
+ this.statusMissingSince.delete(session.sessionId);
207
356
  }
357
+ else if (!this.statusMissingSince.has(session.sessionId)) {
358
+ this.statusMissingSince.set(session.sessionId, now);
359
+ }
360
+ const statusMissingAt = this.statusMissingSince.get(session.sessionId);
361
+ const missingTooLong = statusMissingAt !== undefined && now - statusMissingAt > SESSION_MISSING_GRACE_MS;
208
362
  const age = now - session.createdAt.getTime();
209
- if (age > SESSION_TIMEOUT_MS) {
210
- this.sessions.delete(session.sessionId);
363
+ const isTimedOut = age > SESSION_TIMEOUT_MS;
364
+ const isIdle = status?.type === 'idle';
365
+ if (isIdle || missingTooLong || isTimedOut) {
366
+ sessionsToClose.push(session);
367
+ }
368
+ }
369
+ for (const session of sessionsToClose) {
370
+ this.log(`Closing idle session ${session.sessionId} (pane: ${session.paneId})`);
371
+ const result = await closePaneById(session.paneId, session.pid);
372
+ if (!result.success) {
373
+ this.log(`Failed to close pane ${session.paneId} for session ${session.sessionId}: ${result.error}`);
211
374
  }
375
+ this.sessions.delete(session.sessionId);
376
+ this.statusMissingSince.delete(session.sessionId);
212
377
  }
213
378
  if (this.sessions.size === 0) {
214
379
  this.stopPolling();
@@ -231,30 +396,50 @@ export class TmuxSessionManager {
231
396
  return undefined;
232
397
  return typeof serverUrl === 'string' ? serverUrl : serverUrl.toString();
233
398
  }
234
- applyActionResults(actions, spawnedPaneId) {
399
+ getServerKey() {
400
+ if (this.serverKey)
401
+ return this.serverKey;
402
+ const serverUrl = this.getServerUrl();
403
+ if (!serverUrl)
404
+ return undefined;
405
+ try {
406
+ const serverKey = canonicalizeServerUrl(serverUrl);
407
+ this.serverKey = serverKey;
408
+ return serverKey;
409
+ }
410
+ catch (error) {
411
+ this.log(`Failed to canonicalize server URL "${serverUrl}": ${error}`);
412
+ return undefined;
413
+ }
414
+ }
415
+ applyActionResults(actions, results) {
235
416
  const now = new Date();
236
- for (const action of actions) {
417
+ for (const [index, action] of actions.entries()) {
418
+ const actionResult = results[index]?.result;
237
419
  switch (action.type) {
238
420
  case 'close':
239
421
  this.sessions.delete(action.sessionId);
240
422
  break;
241
423
  case 'replace':
242
424
  this.sessions.delete(action.oldSessionId);
425
+ this.statusMissingSince.delete(action.oldSessionId);
243
426
  this.sessions.set(action.newSessionId, {
244
427
  sessionId: action.newSessionId,
245
428
  paneId: action.paneId,
429
+ pid: actionResult?.pid,
246
430
  description: action.description,
247
431
  createdAt: now,
248
432
  lastSeenAt: now,
249
433
  });
250
434
  break;
251
435
  case 'spawn': {
252
- const paneId = spawnedPaneId;
436
+ const paneId = actionResult?.paneId;
253
437
  if (!paneId)
254
438
  break;
255
439
  this.sessions.set(action.sessionId, {
256
440
  sessionId: action.sessionId,
257
441
  paneId,
442
+ pid: actionResult?.pid,
258
443
  description: action.description,
259
444
  createdAt: now,
260
445
  lastSeenAt: now,
@@ -264,13 +449,163 @@ export class TmuxSessionManager {
264
449
  }
265
450
  }
266
451
  }
452
+ async refreshMissingPids() {
453
+ for (const session of this.sessions.values()) {
454
+ if (session.pid)
455
+ continue;
456
+ const pid = await getPanePid(session.paneId);
457
+ if (pid) {
458
+ session.pid = pid;
459
+ }
460
+ }
461
+ }
462
+ async fetchSessionStatuses() {
463
+ try {
464
+ const result = await this.ctx.client.session.status({
465
+ path: undefined,
466
+ throwOnError: false,
467
+ });
468
+ const data = unwrapResponse(result);
469
+ if (!data || typeof data !== 'object')
470
+ return {};
471
+ return data;
472
+ }
473
+ catch {
474
+ return {};
475
+ }
476
+ }
477
+ /**
478
+ * Find and report orphaned processes (does NOT kill them by default).
479
+ * Call this manually if you need to identify orphaned processes after a crash.
480
+ *
481
+ * Note: This method only reports - it does not kill processes because we cannot
482
+ * reliably distinguish between processes we spawned vs user-initiated sessions.
483
+ * The shutdown cleanup (cleanup/cleanupSync) is safe because it only kills PIDs
484
+ * we explicitly tracked during this session.
485
+ */
486
+ async reportOrphanedProcesses() {
487
+ if (!this.isEnabled())
488
+ return [];
489
+ const serverKey = this.getServerKey();
490
+ if (!serverKey)
491
+ return [];
492
+ const trackedSessionIds = new Set(this.sessions.keys());
493
+ const panes = await findOwnedAgentPanes(serverKey);
494
+ const orphanedPanes = panes.filter((pane) => {
495
+ if (!pane.sessionId)
496
+ return false;
497
+ return !trackedSessionIds.has(pane.sessionId);
498
+ });
499
+ if (orphanedPanes.length > 0) {
500
+ const sessionIds = orphanedPanes
501
+ .map((pane) => pane.sessionId)
502
+ .filter((sessionId) => !!sessionId);
503
+ this.log(`Found ${orphanedPanes.length} potentially orphaned sessions: ${sessionIds.join(', ')}`);
504
+ this.log('These may be user-initiated sessions. Close their tmux panes manually if needed.');
505
+ }
506
+ return orphanedPanes
507
+ .map((pane) => pane.panePid)
508
+ .filter((pid) => typeof pid === 'number');
509
+ }
510
+ /**
511
+ * Kill a process and all its children synchronously.
512
+ *
513
+ * This is necessary because we spawn `bash -c "opencode attach ...; tmux kill-pane"`
514
+ * and #{pane_pid} returns the bash PID, not the opencode attach PID.
515
+ */
516
+ killProcessByPidSync(pid) {
517
+ if (!Number.isFinite(pid) || pid <= 0)
518
+ return;
519
+ // First, kill all child processes
520
+ try {
521
+ spawnSync(['pkill', '-TERM', '-P', String(pid)]);
522
+ }
523
+ catch {
524
+ // Ignore errors - children may not exist
525
+ }
526
+ // Then kill the parent
527
+ try {
528
+ process.kill(pid, 'SIGTERM');
529
+ }
530
+ catch (error) {
531
+ const code = error.code;
532
+ if (code === 'ESRCH')
533
+ return;
534
+ return;
535
+ }
536
+ // Wait for processes to die
537
+ try {
538
+ const buffer = new SharedArrayBuffer(4);
539
+ const view = new Int32Array(buffer);
540
+ Atomics.wait(view, 0, 0, 1000);
541
+ }
542
+ catch {
543
+ // ignore sleep errors
544
+ }
545
+ // Check if parent is dead
546
+ try {
547
+ process.kill(pid, 0);
548
+ }
549
+ catch (error) {
550
+ const code = error.code;
551
+ if (code === 'ESRCH')
552
+ return; // Dead, good
553
+ }
554
+ // Force kill children
555
+ try {
556
+ spawnSync(['pkill', '-KILL', '-P', String(pid)]);
557
+ }
558
+ catch {
559
+ // Ignore errors
560
+ }
561
+ // Force kill parent
562
+ try {
563
+ process.kill(pid, 'SIGKILL');
564
+ }
565
+ catch {
566
+ // ignore errors
567
+ }
568
+ }
267
569
  log(message) {
268
570
  this.callbacks?.onLog?.(`[tmux] ${message}`);
269
571
  }
572
+ /**
573
+ * Static method to clean up orphaned processes without needing an instance.
574
+ * This is useful for manual cleanup commands.
575
+ *
576
+ * @param serverUrl - Optional server URL to filter processes
577
+ * @param logger - Optional logging function
578
+ * @param instanceId - Ownership instance id to target cleanup
579
+ * @returns Object with cleanup results
580
+ */
581
+ static async cleanupOrphans(serverUrl, logger, instanceId) {
582
+ const log = logger ?? (() => { });
583
+ log('Starting orphan cleanup...');
584
+ let serverKey;
585
+ try {
586
+ serverKey = serverUrl ? canonicalizeServerUrl(serverUrl) : undefined;
587
+ }
588
+ catch {
589
+ serverKey = undefined;
590
+ }
591
+ if (!serverKey || !instanceId) {
592
+ log('No server URL or instance ID provided; skipping ownership cleanup.');
593
+ return { killed: 0, windowClosed: false };
594
+ }
595
+ const result = await cleanupOwnedResources(serverKey, instanceId);
596
+ log(`Orphan cleanup complete: ${result.panesClosed} panes closed, window closed: ${result.windowClosed}`);
597
+ return { killed: result.panesClosed, windowClosed: result.windowClosed };
598
+ }
270
599
  }
271
600
  function findPane(state, paneId) {
272
601
  if (state.mainPane?.paneId === paneId)
273
602
  return state.mainPane;
274
603
  return state.agentPanes.find((pane) => pane.paneId === paneId);
275
604
  }
605
+ function unwrapResponse(result) {
606
+ if (typeof result === 'object' && result !== null && 'data' in result) {
607
+ return result.data;
608
+ }
609
+ return result;
610
+ }
276
611
  //# sourceMappingURL=manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/tmux/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/tmux/manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"state-query.d.ts","sourceRoot":"","sources":["../../src/tmux/state-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,SAAS,CAAC;AAGzD;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAkExF"}
1
+ {"version":3,"file":"state-query.d.ts","sourceRoot":"","sources":["../../src/tmux/state-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,SAAS,CAAC;AAGzD;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAqExF"}
@@ -27,6 +27,9 @@ export async function queryWindowState(sourcePaneId) {
27
27
  const parts = line.split(',');
28
28
  if (parts.length < 9)
29
29
  continue;
30
+ const paneId = parts[0];
31
+ if (!paneId)
32
+ continue;
30
33
  const windowWidthValue = Number(parts[parts.length - 2]);
31
34
  const windowHeightValue = Number(parts[parts.length - 1]);
32
35
  const isActiveValue = parts[parts.length - 3] === '1';
@@ -39,7 +42,7 @@ export async function queryWindowState(sourcePaneId) {
39
42
  continue;
40
43
  }
41
44
  const paneInfo = {
42
- paneId: parts[0],
45
+ paneId,
43
46
  width,
44
47
  height,
45
48
  left,
@@ -1 +1 @@
1
- {"version":3,"file":"state-query.js","sourceRoot":"","sources":["../../src/tmux/state-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,YAAoB;IAC1D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QACnC,YAAY;QACZ,IAAI;QACJ,YAAY;QACZ,IAAI;QACJ,gIAAgI;KAChI,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM;SACzB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAE/B,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;QACtD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACrE,SAAS;QACV,CAAC;QAED,MAAM,QAAQ,GAAiB;YAC9B,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAChB,KAAK;YACL,MAAM;YACN,IAAI;YACJ,GAAG;YACH,KAAK;YACL,QAAQ,EAAE,aAAa;SACvB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAAE,WAAW,GAAG,gBAAgB,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAAE,YAAY,GAAG,iBAAiB,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,IAAI,IAAI,CAAC;IAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;IAExE,OAAO;QACN,WAAW;QACX,YAAY;QACZ,QAAQ;QACR,UAAU;KACV,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"state-query.js","sourceRoot":"","sources":["../../src/tmux/state-query.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,16 @@ export interface TmuxPaneInfo {
10
10
  title: string;
11
11
  isActive: boolean;
12
12
  }
13
+ /**
14
+ * Ownership tags stored in tmux user options
15
+ */
16
+ export interface TmuxOwnershipTags {
17
+ isOpencode: boolean;
18
+ serverKey: string;
19
+ ownerPid: number;
20
+ instanceId: string;
21
+ sessionId?: string;
22
+ }
13
23
  /**
14
24
  * Current state of the tmux window
15
25
  */
@@ -25,6 +35,7 @@ export interface WindowState {
25
35
  export interface TrackedSession {
26
36
  sessionId: string;
27
37
  paneId: string;
38
+ pid?: number;
28
39
  description: string;
29
40
  createdAt: Date;
30
41
  lastSeenAt: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tmux/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,UAAU,GACnB;IACA,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;CAC9B,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACpD;IACA,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACnB,CAAC;AAEL;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC1B;AAGD,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,eAAe,KAAK,CAAC;AAGlC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,eAAO,MAAM,kBAAkB,QAAiB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tmux/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,UAAU,GACnB;IACA,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;CAC9B,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACpD;IACA,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACnB,CAAC;AAEL;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC1B;AAGD,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,eAAe,KAAK,CAAC;AAGlC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,eAAO,MAAM,kBAAkB,QAAiB,CAAC"}