hungry-ghost-hive 0.52.2 → 0.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/cli/commands/manager/agent-monitoring.d.ts +2 -2
  2. package/dist/cli/commands/manager/agent-monitoring.d.ts.map +1 -1
  3. package/dist/cli/commands/manager/agent-monitoring.js +10 -28
  4. package/dist/cli/commands/manager/agent-monitoring.js.map +1 -1
  5. package/dist/cli/commands/manager/auto-reject-comment-only-reviews.test.js +3 -2
  6. package/dist/cli/commands/manager/auto-reject-comment-only-reviews.test.js.map +1 -1
  7. package/dist/cli/commands/manager/escalation-handler.d.ts +1 -0
  8. package/dist/cli/commands/manager/escalation-handler.d.ts.map +1 -1
  9. package/dist/cli/commands/manager/escalation-handler.js +46 -17
  10. package/dist/cli/commands/manager/escalation-handler.js.map +1 -1
  11. package/dist/cli/commands/manager/escalation-handler.test.js +55 -1
  12. package/dist/cli/commands/manager/escalation-handler.test.js.map +1 -1
  13. package/dist/cli/commands/manager/handoff-recovery.d.ts.map +1 -1
  14. package/dist/cli/commands/manager/handoff-recovery.js +4 -15
  15. package/dist/cli/commands/manager/handoff-recovery.js.map +1 -1
  16. package/dist/cli/commands/manager/index.d.ts +1 -0
  17. package/dist/cli/commands/manager/index.d.ts.map +1 -1
  18. package/dist/cli/commands/manager/index.js +50 -0
  19. package/dist/cli/commands/manager/index.js.map +1 -1
  20. package/dist/cli/commands/manager/index.test.js +127 -14
  21. package/dist/cli/commands/manager/index.test.js.map +1 -1
  22. package/dist/cli/commands/manager/manager-utils.d.ts +1 -1
  23. package/dist/cli/commands/manager/manager-utils.d.ts.map +1 -1
  24. package/dist/cli/commands/manager/manager-utils.js +5 -18
  25. package/dist/cli/commands/manager/manager-utils.js.map +1 -1
  26. package/dist/config/schema.d.ts +8 -0
  27. package/dist/config/schema.d.ts.map +1 -1
  28. package/dist/config/schema.js +4 -0
  29. package/dist/config/schema.js.map +1 -1
  30. package/dist/context-files/index.test.js +1 -0
  31. package/dist/context-files/index.test.js.map +1 -1
  32. package/dist/tmux/manager.d.ts +9 -0
  33. package/dist/tmux/manager.d.ts.map +1 -1
  34. package/dist/tmux/manager.js +21 -0
  35. package/dist/tmux/manager.js.map +1 -1
  36. package/dist/tmux/manager.test.js +41 -0
  37. package/dist/tmux/manager.test.js.map +1 -1
  38. package/package.json +1 -1
  39. package/src/cli/commands/manager/agent-monitoring.ts +10 -52
  40. package/src/cli/commands/manager/auto-reject-comment-only-reviews.test.ts +3 -2
  41. package/src/cli/commands/manager/escalation-handler.test.ts +85 -0
  42. package/src/cli/commands/manager/escalation-handler.ts +52 -27
  43. package/src/cli/commands/manager/handoff-recovery.ts +4 -34
  44. package/src/cli/commands/manager/index.test.ts +149 -16
  45. package/src/cli/commands/manager/index.ts +59 -0
  46. package/src/cli/commands/manager/manager-utils.ts +5 -38
  47. package/src/config/schema.ts +4 -0
  48. package/src/context-files/index.test.ts +1 -0
  49. package/src/tmux/manager.test.ts +49 -0
  50. package/src/tmux/manager.ts +23 -0
@@ -298,6 +298,29 @@ export async function sendToTmuxSession(
298
298
  await execa('tmux', ['send-keys', '-t', sessionName, 'C-m']);
299
299
  }
300
300
 
301
+ /**
302
+ * Sends a message to a tmux session using the /btw slash command.
303
+ * This is non-interrupting: it does NOT clear existing input first.
304
+ * The /btw command injects context into the conversation without
305
+ * interrupting whatever the agent is currently doing.
306
+ * @param sessionName - The tmux session name
307
+ * @param message - The message to send via /btw
308
+ */
309
+ export async function sendBtwToTmuxSession(sessionName: string, message: string): Promise<void> {
310
+ const btwText = `/btw ${message}`;
311
+ const isMultiLine = btwText.includes('\n');
312
+
313
+ if (isMultiLine) {
314
+ const bufferName = `hive-btw-${Date.now()}`;
315
+ await execa('tmux', ['set-buffer', '-b', bufferName, btwText]);
316
+ await execa('tmux', ['paste-buffer', '-b', bufferName, '-t', sessionName, '-d']);
317
+ } else {
318
+ await execa('tmux', ['send-keys', '-t', sessionName, '-l', '--', btwText]);
319
+ }
320
+
321
+ await execa('tmux', ['send-keys', '-t', sessionName, 'C-m']);
322
+ }
323
+
301
324
  export async function sendEnterToTmuxSession(sessionName: string): Promise<void> {
302
325
  // C-m is equivalent to Enter/Return
303
326
  await execa('tmux', ['send-keys', '-t', sessionName, 'C-m']);