crewly 1.2.0 → 1.2.3

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 (91) hide show
  1. package/config/constants.ts +5 -0
  2. package/config/roles/architect/prompt.md +7 -5
  3. package/config/roles/backend-developer/prompt.md +8 -4
  4. package/config/roles/content-strategist/prompt.md +12 -4
  5. package/config/roles/designer/prompt.md +8 -4
  6. package/config/roles/developer/prompt.md +7 -4
  7. package/config/roles/frontend-developer/prompt.md +8 -4
  8. package/config/roles/fullstack-dev/prompt.md +8 -4
  9. package/config/roles/generalist/prompt.md +7 -4
  10. package/config/roles/ops/prompt.md +7 -4
  11. package/config/roles/orchestrator/prompt.md +22 -1
  12. package/config/roles/product-manager/prompt.md +8 -4
  13. package/config/roles/qa/prompt.md +8 -4
  14. package/config/roles/qa-engineer/prompt.md +8 -4
  15. package/config/roles/sales/prompt.md +8 -4
  16. package/config/roles/support/prompt.md +8 -4
  17. package/config/roles/tpm/prompt.md +8 -4
  18. package/config/skills/orchestrator/delegate-task/execute.sh +7 -5
  19. package/config/skills/orchestrator/delegate-task/instructions.md +22 -17
  20. package/config/templates/agent-claude-md.md +10 -5
  21. package/dist/backend/backend/src/constants.d.ts +18 -63
  22. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  23. package/dist/backend/backend/src/constants.js +17 -68
  24. package/dist/backend/backend/src/constants.js.map +1 -1
  25. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  26. package/dist/backend/backend/src/controllers/chat/chat.controller.js +39 -0
  27. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  28. package/dist/backend/backend/src/index.d.ts.map +1 -1
  29. package/dist/backend/backend/src/index.js +1 -0
  30. package/dist/backend/backend/src/index.js.map +1 -1
  31. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +2 -13
  32. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  33. package/dist/backend/backend/src/services/agent/agent-registration.service.js +105 -130
  34. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  35. package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts +1 -1
  36. package/dist/backend/backend/src/services/agent/gemini-runtime.service.js +8 -8
  37. package/dist/backend/backend/src/services/agent/gemini-runtime.service.js.map +1 -1
  38. package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts +30 -27
  39. package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
  40. package/dist/backend/backend/src/services/event-bus/event-bus.service.js +128 -53
  41. package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
  42. package/dist/backend/backend/src/services/messaging/message-queue.service.js +1 -1
  43. package/dist/backend/backend/src/services/messaging/message-queue.service.js.map +1 -1
  44. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  45. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +47 -10
  46. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  47. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts +35 -3
  48. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
  49. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +123 -25
  50. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  51. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts +6 -0
  52. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts.map +1 -1
  53. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js +25 -3
  54. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js.map +1 -1
  55. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js +1 -1
  56. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
  57. package/dist/backend/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  58. package/dist/backend/backend/src/services/session/session-command-helper.js +29 -2
  59. package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -1
  60. package/dist/backend/backend/src/utils/terminal-output.utils.d.ts +2 -1
  61. package/dist/backend/backend/src/utils/terminal-output.utils.d.ts.map +1 -1
  62. package/dist/backend/backend/src/utils/terminal-output.utils.js +2 -28
  63. package/dist/backend/backend/src/utils/terminal-output.utils.js.map +1 -1
  64. package/dist/backend/backend/src/utils/terminal-string-ops.d.ts +183 -0
  65. package/dist/backend/backend/src/utils/terminal-string-ops.d.ts.map +1 -0
  66. package/dist/backend/backend/src/utils/terminal-string-ops.js +717 -0
  67. package/dist/backend/backend/src/utils/terminal-string-ops.js.map +1 -0
  68. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
  69. package/dist/backend/backend/src/websocket/terminal.gateway.js +22 -27
  70. package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
  71. package/dist/backend/config/constants.d.ts +5 -0
  72. package/dist/backend/config/constants.d.ts.map +1 -1
  73. package/dist/backend/config/constants.js +5 -0
  74. package/dist/backend/config/constants.js.map +1 -1
  75. package/dist/cli/backend/src/constants.d.ts +18 -63
  76. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  77. package/dist/cli/backend/src/constants.js +17 -68
  78. package/dist/cli/backend/src/constants.js.map +1 -1
  79. package/dist/cli/backend/src/utils/terminal-output.utils.d.ts +2 -1
  80. package/dist/cli/backend/src/utils/terminal-output.utils.d.ts.map +1 -1
  81. package/dist/cli/backend/src/utils/terminal-output.utils.js +2 -28
  82. package/dist/cli/backend/src/utils/terminal-output.utils.js.map +1 -1
  83. package/dist/cli/backend/src/utils/terminal-string-ops.d.ts +183 -0
  84. package/dist/cli/backend/src/utils/terminal-string-ops.d.ts.map +1 -0
  85. package/dist/cli/backend/src/utils/terminal-string-ops.js +717 -0
  86. package/dist/cli/backend/src/utils/terminal-string-ops.js.map +1 -0
  87. package/dist/cli/config/constants.d.ts +5 -0
  88. package/dist/cli/config/constants.d.ts.map +1 -1
  89. package/dist/cli/config/constants.js +5 -0
  90. package/dist/cli/config/constants.js.map +1 -1
  91. package/package.json +2 -1
@@ -67,6 +67,8 @@ export const PTY_CONSTANTS = {
67
67
  FORCE_DESTROY_ESCALATION_DELAY: 1000,
68
68
  /** Minimum non-whitespace characters in stripped PTY output to count as meaningful activity */
69
69
  MIN_MEANINGFUL_OUTPUT_BYTES: 2,
70
+ /** Minimum time (ms) an agent must remain in_progress before emitting busy/idle events */
71
+ MIN_BUSY_DURATION_MS: 10000,
70
72
  };
71
73
  // Session command timing delays (in milliseconds)
72
74
  export const SESSION_COMMAND_DELAYS = {
@@ -84,6 +86,8 @@ export const SESSION_COMMAND_DELAYS = {
84
86
  MESSAGE_RETRY_DELAY: 1000,
85
87
  /** Additional delay for Claude Code to start processing after message sent */
86
88
  MESSAGE_PROCESSING_DELAY: 500,
89
+ /** Max idle time (ms) to consider an agent busy. If PTY output occurred within this window, skip delivery. */
90
+ AGENT_BUSY_IDLE_THRESHOLD_MS: 5000,
87
91
  /** Progressive re-check intervals for Claude Code delivery verification (ms).
88
92
  * Total window: 500ms (processing delay) + 1000 + 2000 + 3000 = 6.5s */
89
93
  CLAUDE_VERIFICATION_INTERVALS: [1000, 2000, 3000],
@@ -96,10 +100,6 @@ export const TERMINAL_CONTROLLER_CONSTANTS = {
96
100
  };
97
101
  // Chat routing constants (message markers and patterns for orchestrator communication)
98
102
  export const CHAT_ROUTING_CONSTANTS = {
99
- /** Regex pattern for extracting conversation ID from chat messages */
100
- CONVERSATION_ID_PATTERN: /\[CHAT:([^\]]+)\]/,
101
- /** Regex pattern for extracting conversation ID from response markers */
102
- RESPONSE_CONVERSATION_ID_PATTERN: /\[CHAT_RESPONSE:([^\]]+)\]/,
103
103
  /** Message format prefix for chat routing */
104
104
  MESSAGE_PREFIX: 'CHAT',
105
105
  };
@@ -109,8 +109,6 @@ export const CHAT_ROUTING_CONSTANTS = {
109
109
  * via a single `[NOTIFY]...[/NOTIFY]` block with a JSON payload.
110
110
  */
111
111
  export const NOTIFY_CONSTANTS = {
112
- /** Regex for extracting complete [NOTIFY]...[/NOTIFY] blocks from terminal output */
113
- MARKER_PATTERN: /\[NOTIFY\]([\s\S]*?)\[\/NOTIFY\]/g,
114
112
  /** Opening marker string for detection */
115
113
  OPEN_TAG: '[NOTIFY]',
116
114
  /** Closing marker string */
@@ -122,8 +120,6 @@ export const NOTIFY_CONSTANTS = {
122
120
  * processed for backward compatibility but new orchestrator output should use [NOTIFY].
123
121
  */
124
122
  export const SLACK_NOTIFY_CONSTANTS = {
125
- /** Regex for extracting complete [SLACK_NOTIFY]...[/SLACK_NOTIFY] blocks from terminal output */
126
- MARKER_PATTERN: /\[SLACK_NOTIFY\]([\s\S]*?)\[\/SLACK_NOTIFY\]/g,
127
123
  /** Opening marker string for detection */
128
124
  OPEN_TAG: '[SLACK_NOTIFY]',
129
125
  /** Closing marker string */
@@ -159,6 +155,12 @@ export const EVENT_DELIVERY_CONSTANTS = {
159
155
  USER_MESSAGE_TIMEOUT: 30000,
160
156
  /** Whether to force-deliver user messages after timeout instead of re-queuing */
161
157
  USER_MESSAGE_FORCE_DELIVER: true,
158
+ /** Shorter timeout for system events to reduce notification delay (ms) */
159
+ SYSTEM_EVENT_TIMEOUT: 60000,
160
+ /** Whether to force-deliver system events after timeout instead of re-queuing.
161
+ * System events are fire-and-forget (no response expected), so force-delivery
162
+ * is lower risk than for user messages. Prevents the 5×120s=10min retry loop. */
163
+ SYSTEM_EVENT_FORCE_DELIVER: true,
162
164
  /** Interval for polling agent prompt readiness (ms) */
163
165
  AGENT_READY_POLL_INTERVAL: 2000,
164
166
  /** Interval for deep-scan polling with larger buffer when fast poll misses prompt (ms) */
@@ -180,17 +182,9 @@ export const TERMINAL_FORMATTING_CONSTANTS = {
180
182
  */
181
183
  export const TERMINAL_PATTERNS = {
182
184
  /**
183
- * Braille spinner characters used by Claude Code to indicate processing.
184
- * Pattern: ⠦ ⠧ ⠇ ⠏
185
- */
186
- SPINNER: /⠋|⠙|⠹|⠸|⠼|⠴|⠦|⠧|⠇|⠏/,
187
- /**
188
- * Claude Code's "working" indicator (filled circle).
189
- */
190
- WORKING_INDICATOR: /⏺/,
191
- /**
192
- * Combined pattern for detecting any processing activity.
193
- * Includes spinner, working indicator, and status text.
185
+ * Combined pattern for detecting spinner/working processing activity.
186
+ * Simple single-char alternation O(n), no backtracking risk.
187
+ * Kept as RegExp for session-command-helper.ts waitForPattern() compatibility.
194
188
  */
195
189
  PROCESSING: /⏺|⠋|⠙|⠹|⠸|⠼|⠴|⠦|⠧|⠇|⠏/,
196
190
  /**
@@ -207,55 +201,6 @@ export const TERMINAL_PATTERNS = {
207
201
  * Includes Claude Code (❯, >, ⏵), bash ($), and Gemini CLI (!).
208
202
  */
209
203
  PROMPT_CHARS: ['❯', '>', '›', '⏵', '$', '!'],
210
- /**
211
- * Claude Code idle prompt detection.
212
- * Matches:
213
- * - ❯ or ⏵ or $ alone on a line (standard Claude Code prompt)
214
- * - ❯❯ or ⏵⏵ followed by space or end-of-line (bypass permissions prompt,
215
- * e.g. "⏵⏵ bypass permissions on (shift+tab to cycle)")
216
- */
217
- CLAUDE_CODE_PROMPT: /(?:^|\n)\s*(?:[❯⏵$]\s*(?:\n|$)|❯❯(?:\s|$))/,
218
- /**
219
- * Gemini CLI idle prompt detection.
220
- * Matches:
221
- * - > or ! followed by a space (TUI prompt, may have placeholder text)
222
- * - Box-drawing border (│, ┃) followed by > or ! (TUI bordered prompt)
223
- * - "Type your message …" or "YOLO mode …" textual prompts
224
- */
225
- GEMINI_CLI_PROMPT: /(?:^|\n)\s*(?:[>!]\s|[│┃]\s*[>!]\s|.*?(?:Type\s+your\s+message|YOLO\s+mode))/i,
226
- /**
227
- * Codex CLI idle prompt detection.
228
- * Matches:
229
- * - `› ` prompt lines (Codex TUI prompt indicator)
230
- * - Box-drawing border followed by `›` or `>`
231
- * - Textual input placeholder shown by Codex
232
- */
233
- CODEX_CLI_PROMPT: /(?:^|\n)\s*(?:›\s|[│┃]\s*[›>]\s|.*?Type\s+your\s+message(?:\s+or\s+@path\/to\/file)?)/i,
234
- /**
235
- * Combined prompt pattern for any runtime (union of Claude Code + Gemini CLI).
236
- * Use runtime-specific patterns when you need to distinguish between runtimes.
237
- */
238
- PROMPT_STREAM: /(?:^|\n)\s*(?:[❯⏵$]\s*(?:\n|$)|❯❯(?:\s|$)|[>!]\s|[│┃]\s*[>!]\s|[›>]\s|[│┃]\s*[›>]\s|.*?(?:Type\s+your\s+message|YOLO\s+mode))/i,
239
- /**
240
- * Processing indicators including status text patterns.
241
- */
242
- PROCESSING_INDICATORS: [
243
- /⠋|⠙|⠹|⠸|⠼|⠴|⠦|⠧|⠇|⠏/, // Spinner characters
244
- /Thinking|Processing|Analyzing|Running/i, // Status text
245
- /\[\d+\/\d+\]/, // Progress indicators like [1/3]
246
- /\.\.\.$/, // Trailing dots indicating activity
247
- ],
248
- /**
249
- * Pattern for detecting Claude Code processing with status text.
250
- * Includes spinner characters, working indicator (⏺), and common status verbs.
251
- */
252
- PROCESSING_WITH_TEXT: /thinking|processing|analyzing|running|calling|frosting|⏺|⠋|⠙|⠹|⠸|⠼|⠴|⠦|⠧|⠇|⠏/i,
253
- /**
254
- * Pattern for detecting Claude Code's "esc to interrupt" status bar text.
255
- * This text only appears when the agent is actively processing, making it
256
- * a reliable busy indicator. It's absent when the agent is idle at prompt.
257
- */
258
- BUSY_STATUS_BAR: /esc\s+to\s+interrupt/i,
259
204
  };
260
205
  /**
261
206
  * Patterns for detecting Claude Code plan mode in terminal output.
@@ -316,6 +261,10 @@ export const MESSAGE_QUEUE_CONSTANTS = {
316
261
  * Used by EventBusService for subscription management and notification delivery.
317
262
  */
318
263
  export const EVENT_BUS_CONSTANTS = {
264
+ /** Debounce window for batching event notifications (ms).
265
+ * Events within this window are deduplicated per agent and delivered
266
+ * as a single combined message to reduce orchestrator context consumption. */
267
+ EVENT_DEBOUNCE_WINDOW_MS: 5000,
319
268
  /** Default subscription time-to-live in minutes (2 hours) */
320
269
  DEFAULT_SUBSCRIPTION_TTL_MINUTES: 120,
321
270
  /** Maximum allowed subscription TTL in minutes (24 hours) */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../backend/src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../backend/src/constants.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  /**
10
10
  * Strip ANSI escape codes from PTY output for reliable pattern matching.
11
11
  *
12
+ * Delegates to the regex-free state-machine implementation in terminal-string-ops.
12
13
  * Handles color codes, cursor movements, OSC sequences, and other control
13
14
  * characters. Cursor forward movements are replaced with spaces to preserve
14
15
  * word boundaries in rendered output.
@@ -16,7 +17,7 @@
16
17
  * @param content - Raw PTY output containing ANSI codes
17
18
  * @returns Clean text with ANSI codes removed
18
19
  */
19
- export declare function stripAnsiCodes(content: string): string;
20
+ export { stripAnsiCodes } from './terminal-string-ops.js';
20
21
  /**
21
22
  * Generate a hash key for a chat response to detect duplicates.
22
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-output.utils.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/terminal-output.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA2BtD;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGpF;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC;;OAEG;gBACS,OAAO,GAAE,MAAW;IAIhC;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAclC,+BAA+B;IAC/B,KAAK,IAAI,IAAI;IAIb,uCAAuC;IACvC,IAAI,IAAI,IAAI,MAAM,CAEjB;CACD"}
1
+ {"version":3,"file":"terminal-output.utils.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/terminal-output.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;GAUG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGpF;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC;;OAEG;gBACS,OAAO,GAAE,MAAW;IAIhC;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAclC,+BAA+B;IAC/B,KAAK,IAAI,IAAI;IAIb,uCAAuC;IACvC,IAAI,IAAI,IAAI,MAAM,CAEjB;CACD"}
@@ -9,6 +9,7 @@
9
9
  /**
10
10
  * Strip ANSI escape codes from PTY output for reliable pattern matching.
11
11
  *
12
+ * Delegates to the regex-free state-machine implementation in terminal-string-ops.
12
13
  * Handles color codes, cursor movements, OSC sequences, and other control
13
14
  * characters. Cursor forward movements are replaced with spaces to preserve
14
15
  * word boundaries in rendered output.
@@ -16,34 +17,7 @@
16
17
  * @param content - Raw PTY output containing ANSI codes
17
18
  * @returns Clean text with ANSI codes removed
18
19
  */
19
- export function stripAnsiCodes(content) {
20
- return content
21
- // Replace cursor forward movements with a space (\d* is safe here because \x1b prefix
22
- // prevents false matches with text like [CHAT_RESPONSE]; orphaned CSI below uses \d+)
23
- .replace(/\x1b\[\d*C/g, ' ')
24
- // Remove private-mode CSI sequences (e.g. ESC[?25h, ESC[?2026l) used by TUI renderers
25
- .replace(/\x1b\[\?[0-9;]*[A-Za-z]/g, '')
26
- // Remove other CSI sequences (colors, cursor positioning, etc.)
27
- .replace(/\x1b\[[0-9;]*[A-Za-zH]/g, '')
28
- // Remove OSC sequences (title changes, hyperlinks, etc.)
29
- .replace(/\x1b\][^\x07]*\x07/g, '')
30
- // Remove other escape sequences
31
- .replace(/\x1b[^[\]].?/g, '')
32
- // Clean orphaned CSI fragments from PTY buffer boundary splits.
33
- // When ESC char lands in one chunk and the CSI params in the next,
34
- // artifacts like "[1C", "[22m", or "[38;2;249;226;175m" appear mid-word.
35
- // Note: \d+ (one or more digits) required to avoid matching [C in [CHAT_RESPONSE]
36
- .replace(/\[\d+C/g, ' ')
37
- .replace(/\[\d+(?:;\d+)*[A-BJKHfm]/g, '')
38
- // Clean orphaned private-mode fragments where ESC was lost at buffer boundary.
39
- // Examples: "[?25h", "[?25l", "[?2026h", "[?2026l"
40
- .replace(/\[\?[0-9;]*[A-Za-z]/g, '')
41
- // Replace carriage returns with newline (CR/LF normalization)
42
- .replace(/\r\n/g, '\n')
43
- .replace(/\r/g, '\n')
44
- // Remove remaining control characters but keep tabs and newlines
45
- .replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g, '');
46
- }
20
+ export { stripAnsiCodes } from './terminal-string-ops.js';
47
21
  /**
48
22
  * Generate a hash key for a chat response to detect duplicates.
49
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-output.utils.js","sourceRoot":"","sources":["../../../../../backend/src/utils/terminal-output.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC7C,OAAO,OAAO;QACb,sFAAsF;QACtF,sFAAsF;SACrF,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;QAC5B,sFAAsF;SACrF,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;QACxC,gEAAgE;SAC/D,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;QACvC,yDAAyD;SACxD,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;QACnC,gCAAgC;SAC/B,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;QAC7B,gEAAgE;QAChE,mEAAmE;QACnE,yEAAyE;QACzE,kFAAkF;SACjF,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;QACzC,+EAA+E;QAC/E,mDAAmD;SAClD,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;QACpC,8DAA8D;SAC7D,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;SACtB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;QACrB,iEAAiE;SAChE,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,cAAsB,EAAE,OAAe;IAC3E,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,OAAO,GAAG,cAAc,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACxB,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACxB,OAAO,CAAS;IAEjC;;OAEG;IACH,YAAY,UAAkB,EAAE;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,IAAY;QACvB,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACb,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACtD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,+BAA+B;IAC/B,KAAK;QACJ,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,uCAAuC;IACvC,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAC/B,CAAC;CACD"}
1
+ {"version":3,"file":"terminal-output.utils.js","sourceRoot":"","sources":["../../../../../backend/src/utils/terminal-output.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;GAUG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,cAAsB,EAAE,OAAe;IAC3E,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,OAAO,GAAG,cAAc,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACxB,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACxB,OAAO,CAAS;IAEjC;;OAEG;IACH,YAAY,UAAkB,EAAE;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,IAAY;QACvB,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACb,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACtD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,+BAA+B;IAC/B,KAAK;QACJ,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,uCAAuC;IACvC,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAC/B,CAAC;CACD"}
@@ -0,0 +1,183 @@
1
+ /**
2
+ * Terminal string operations — regex-free replacements for terminal processing.
3
+ *
4
+ * Every function in this module uses only string primitives (indexOf, includes,
5
+ * startsWith, charCodeAt, character iteration) — NO regex. This makes the
6
+ * codebase immune to ReDoS by construction.
7
+ *
8
+ * @module terminal-string-ops
9
+ */
10
+ import { type RuntimeType } from '../constants.js';
11
+ /**
12
+ * Strip ANSI escape codes from PTY output using a single-pass state machine.
13
+ *
14
+ * Handles CSI sequences, OSC sequences, single-char escapes, and orphaned
15
+ * CSI fragments from PTY buffer boundary splits. Cursor-forward (C) sequences
16
+ * are replaced with a space to preserve word boundaries.
17
+ *
18
+ * O(n) time, O(n) space. No regex.
19
+ *
20
+ * @param content - Raw PTY output containing ANSI codes
21
+ * @returns Clean text with ANSI codes removed
22
+ */
23
+ export declare function stripAnsiCodes(content: string): string;
24
+ /**
25
+ * Strip box-drawing characters and decorative borders from both ends of a line.
26
+ *
27
+ * @param line - A single terminal line
28
+ * @returns The line with leading/trailing box-drawing chars and whitespace removed
29
+ */
30
+ export declare function stripBoxDrawing(line: string): string;
31
+ /**
32
+ * Strip TUI line border characters (│ ┃ ║ |) and surrounding whitespace
33
+ * from both ends of a line.
34
+ *
35
+ * @param line - A single terminal line
36
+ * @returns The line with leading/trailing border chars removed
37
+ */
38
+ export declare function stripTuiLineBorders(line: string): string;
39
+ /**
40
+ * Check if a line matches the pattern of a TUI prompt line: optional border
41
+ * chars, then > followed by content. Returns the content after > prompt or null.
42
+ *
43
+ * Replaces the prompt line regex.
44
+ *
45
+ * @param line - A single terminal line
46
+ * @returns The content after > prompt, or null if not a prompt line
47
+ */
48
+ export declare function matchTuiPromptLine(line: string): string | null;
49
+ /**
50
+ * Check if a single line looks like an agent prompt.
51
+ *
52
+ * Claude Code: ❯, ⏵, $ alone (or with box-drawing), or ❯❯
53
+ * Gemini CLI: > or ! or bordered │ >, or "Type your message" / "YOLO mode"
54
+ * Codex CLI: › or bordered │ ›
55
+ *
56
+ * @param line - A single non-empty terminal line (already stripped of ANSI)
57
+ * @param runtimeType - The agent runtime type
58
+ * @returns true if the line looks like a prompt
59
+ */
60
+ export declare function isPromptLine(line: string, runtimeType?: RuntimeType): boolean;
61
+ /**
62
+ * Check if the agent appears to be at an input prompt by scanning terminal output.
63
+ *
64
+ * Scans the last 10 non-empty lines for prompt patterns, then checks for busy
65
+ * indicators to distinguish idle-at-prompt from actively-processing.
66
+ *
67
+ * @param output - Terminal output text (already stripped of ANSI codes)
68
+ * @param runtimeType - The agent runtime type
69
+ * @returns true if the agent appears idle at a prompt
70
+ */
71
+ export declare function isAgentAtPrompt(output: string, runtimeType?: RuntimeType): boolean;
72
+ /**
73
+ * Check if text contains spinner characters or the working indicator (⏺).
74
+ * This is the "spinner-only" check (no keyword matching).
75
+ *
76
+ * Replaces TERMINAL_PATTERNS.PROCESSING regex.
77
+ *
78
+ * @param text - Text to check
79
+ * @returns true if any spinner/working indicator character is found
80
+ */
81
+ export declare function containsSpinnerOrWorkingIndicator(text: string): boolean;
82
+ /**
83
+ * Check if text contains processing indicators including spinner chars,
84
+ * working indicator (⏺), AND status keywords.
85
+ *
86
+ * Replaces TERMINAL_PATTERNS.PROCESSING_WITH_TEXT regex.
87
+ *
88
+ * @param text - Text to check
89
+ * @returns true if any processing indicator is found
90
+ */
91
+ export declare function containsProcessingIndicator(text: string): boolean;
92
+ /**
93
+ * Check if text contains the "esc to interrupt" busy status bar.
94
+ *
95
+ * Replaces TERMINAL_PATTERNS.BUSY_STATUS_BAR regex.
96
+ * Manually matches "esc" then whitespace then "to" then whitespace then "interrupt".
97
+ *
98
+ * @param text - Text to check
99
+ * @returns true if the busy status bar text is found
100
+ */
101
+ export declare function containsBusyStatusBar(text: string): boolean;
102
+ /**
103
+ * Check if text contains Claude Code's Rewind mode.
104
+ *
105
+ * Replaces TERMINAL_PATTERNS.REWIND_MODE regex.
106
+ * Checks for "Rewind" then "Restore the code" appearing after it.
107
+ *
108
+ * @param text - Text to check
109
+ * @returns true if Rewind mode is detected
110
+ */
111
+ export declare function containsRewindMode(text: string): boolean;
112
+ /**
113
+ * Check if text contains Gemini CLI processing keywords.
114
+ *
115
+ * Replaces inline Gemini keyword regex in sendMessageWithRetry.
116
+ *
117
+ * @param text - Text to check
118
+ * @returns true if any Gemini processing keyword is found
119
+ */
120
+ export declare function containsGeminiProcessingKeywords(text: string): boolean;
121
+ /** A block extracted from terminal output bounded by open/close tags. */
122
+ export interface MarkerBlock {
123
+ /** The content between the open and close tags (trimmed) */
124
+ content: string;
125
+ /** Start index of the open tag in the original buffer */
126
+ startIndex: number;
127
+ /** End index (exclusive) of the close tag in the original buffer */
128
+ endIndex: number;
129
+ }
130
+ /**
131
+ * Extract all marker blocks bounded by open/close tag pairs from a buffer.
132
+ *
133
+ * Replaces NOTIFY/SLACK_NOTIFY marker regex patterns.
134
+ *
135
+ * @param buf - The text buffer to search
136
+ * @param openTag - Opening tag string (e.g., "[NOTIFY]")
137
+ * @param closeTag - Closing tag string (e.g., "[/NOTIFY]")
138
+ * @returns Array of extracted marker blocks
139
+ */
140
+ export declare function extractMarkerBlocks(buf: string, openTag: string, closeTag: string): MarkerBlock[];
141
+ /** A legacy [CHAT_RESPONSE] block with optional embedded conversation ID. */
142
+ export interface ChatResponseBlock {
143
+ /** Optional conversation ID from [CHAT_RESPONSE:convId] */
144
+ conversationId: string | null;
145
+ /** The response content between tags */
146
+ content: string;
147
+ /** Start index of the open tag in the original buffer */
148
+ startIndex: number;
149
+ /** End index (exclusive) of the close tag in the original buffer */
150
+ endIndex: number;
151
+ }
152
+ /**
153
+ * Extract all [CHAT_RESPONSE]...[/CHAT_RESPONSE] blocks from a buffer.
154
+ * Handles the optional :conversationId suffix: [CHAT_RESPONSE:abc123].
155
+ *
156
+ * Replaces the CHAT_RESPONSE regex pattern.
157
+ *
158
+ * @param buf - The text buffer to search
159
+ * @returns Array of extracted chat response blocks
160
+ */
161
+ export declare function extractChatResponseBlocks(buf: string): ChatResponseBlock[];
162
+ /**
163
+ * Extract conversation ID from a [CHAT:convId] marker in text.
164
+ *
165
+ * Replaces CHAT_ROUTING_CONSTANTS.CONVERSATION_ID_PATTERN regex.
166
+ *
167
+ * @param text - Text to search
168
+ * @returns The conversation ID or null if not found
169
+ */
170
+ export declare function extractConversationId(text: string): string | null;
171
+ /**
172
+ * Extract and remove the [CHAT:convId] prefix from a message.
173
+ *
174
+ * Replaces the CHAT prefix regex.
175
+ *
176
+ * @param message - Message that may start with [CHAT:...]
177
+ * @returns Object with the prefix length (0 if no prefix) and the content after prefix
178
+ */
179
+ export declare function extractChatPrefix(message: string): {
180
+ prefixLength: number;
181
+ content: string;
182
+ };
183
+ //# sourceMappingURL=terminal-string-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-string-ops.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/terminal-string-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA+ElE;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAqKtD;AAID;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqCpD;AAID;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA+BxD;AAID;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4B9D;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CA+C7E;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAqBlF;AAID;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CA6C3D;AASD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIxD;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMtE;AAID,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC3B,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAoBjG;AAID,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IACjC,2DAA2D;IAC3D,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAwC1E;AAID;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWjE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAoB5F"}