aicodeman 0.2.8

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 (246) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +403 -0
  3. package/dist/ai-checker-base.d.ts +175 -0
  4. package/dist/ai-checker-base.d.ts.map +1 -0
  5. package/dist/ai-checker-base.js +424 -0
  6. package/dist/ai-checker-base.js.map +1 -0
  7. package/dist/ai-idle-checker.d.ts +53 -0
  8. package/dist/ai-idle-checker.d.ts.map +1 -0
  9. package/dist/ai-idle-checker.js +141 -0
  10. package/dist/ai-idle-checker.js.map +1 -0
  11. package/dist/ai-plan-checker.d.ts +52 -0
  12. package/dist/ai-plan-checker.d.ts.map +1 -0
  13. package/dist/ai-plan-checker.js +103 -0
  14. package/dist/ai-plan-checker.js.map +1 -0
  15. package/dist/bash-tool-parser.d.ts +191 -0
  16. package/dist/bash-tool-parser.d.ts.map +1 -0
  17. package/dist/bash-tool-parser.js +598 -0
  18. package/dist/bash-tool-parser.js.map +1 -0
  19. package/dist/cli.d.ts +12 -0
  20. package/dist/cli.d.ts.map +1 -0
  21. package/dist/cli.js +460 -0
  22. package/dist/cli.js.map +1 -0
  23. package/dist/config/buffer-limits.d.ts +59 -0
  24. package/dist/config/buffer-limits.d.ts.map +1 -0
  25. package/dist/config/buffer-limits.js +74 -0
  26. package/dist/config/buffer-limits.js.map +1 -0
  27. package/dist/config/map-limits.d.ts +40 -0
  28. package/dist/config/map-limits.d.ts.map +1 -0
  29. package/dist/config/map-limits.js +52 -0
  30. package/dist/config/map-limits.js.map +1 -0
  31. package/dist/file-stream-manager.d.ts +148 -0
  32. package/dist/file-stream-manager.d.ts.map +1 -0
  33. package/dist/file-stream-manager.js +351 -0
  34. package/dist/file-stream-manager.js.map +1 -0
  35. package/dist/hooks-config.d.ts +31 -0
  36. package/dist/hooks-config.d.ts.map +1 -0
  37. package/dist/hooks-config.js +115 -0
  38. package/dist/hooks-config.js.map +1 -0
  39. package/dist/image-watcher.d.ts +86 -0
  40. package/dist/image-watcher.d.ts.map +1 -0
  41. package/dist/image-watcher.js +275 -0
  42. package/dist/image-watcher.js.map +1 -0
  43. package/dist/index.d.ts +11 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +54 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/mux-factory.d.ts +13 -0
  48. package/dist/mux-factory.d.ts.map +1 -0
  49. package/dist/mux-factory.js +19 -0
  50. package/dist/mux-factory.js.map +1 -0
  51. package/dist/mux-interface.d.ts +145 -0
  52. package/dist/mux-interface.d.ts.map +1 -0
  53. package/dist/mux-interface.js +9 -0
  54. package/dist/mux-interface.js.map +1 -0
  55. package/dist/plan-orchestrator.d.ts +123 -0
  56. package/dist/plan-orchestrator.d.ts.map +1 -0
  57. package/dist/plan-orchestrator.js +500 -0
  58. package/dist/plan-orchestrator.js.map +1 -0
  59. package/dist/prompts/index.d.ts +9 -0
  60. package/dist/prompts/index.d.ts.map +1 -0
  61. package/dist/prompts/index.js +9 -0
  62. package/dist/prompts/index.js.map +1 -0
  63. package/dist/prompts/planner.d.ts +14 -0
  64. package/dist/prompts/planner.d.ts.map +1 -0
  65. package/dist/prompts/planner.js +83 -0
  66. package/dist/prompts/planner.js.map +1 -0
  67. package/dist/prompts/research-agent.d.ts +10 -0
  68. package/dist/prompts/research-agent.d.ts.map +1 -0
  69. package/dist/prompts/research-agent.js +143 -0
  70. package/dist/prompts/research-agent.js.map +1 -0
  71. package/dist/push-store.d.ts +41 -0
  72. package/dist/push-store.d.ts.map +1 -0
  73. package/dist/push-store.js +168 -0
  74. package/dist/push-store.js.map +1 -0
  75. package/dist/ralph-config.d.ts +67 -0
  76. package/dist/ralph-config.d.ts.map +1 -0
  77. package/dist/ralph-config.js +134 -0
  78. package/dist/ralph-config.js.map +1 -0
  79. package/dist/ralph-loop.d.ts +124 -0
  80. package/dist/ralph-loop.d.ts.map +1 -0
  81. package/dist/ralph-loop.js +418 -0
  82. package/dist/ralph-loop.js.map +1 -0
  83. package/dist/ralph-tracker.d.ts +1081 -0
  84. package/dist/ralph-tracker.d.ts.map +1 -0
  85. package/dist/ralph-tracker.js +3343 -0
  86. package/dist/ralph-tracker.js.map +1 -0
  87. package/dist/respawn-controller.d.ts +1182 -0
  88. package/dist/respawn-controller.d.ts.map +1 -0
  89. package/dist/respawn-controller.js +2754 -0
  90. package/dist/respawn-controller.js.map +1 -0
  91. package/dist/run-summary.d.ts +123 -0
  92. package/dist/run-summary.d.ts.map +1 -0
  93. package/dist/run-summary.js +325 -0
  94. package/dist/run-summary.js.map +1 -0
  95. package/dist/session-lifecycle-log.d.ts +36 -0
  96. package/dist/session-lifecycle-log.d.ts.map +1 -0
  97. package/dist/session-lifecycle-log.js +101 -0
  98. package/dist/session-lifecycle-log.js.map +1 -0
  99. package/dist/session-manager.d.ts +97 -0
  100. package/dist/session-manager.d.ts.map +1 -0
  101. package/dist/session-manager.js +224 -0
  102. package/dist/session-manager.js.map +1 -0
  103. package/dist/session.d.ts +686 -0
  104. package/dist/session.d.ts.map +1 -0
  105. package/dist/session.js +2025 -0
  106. package/dist/session.js.map +1 -0
  107. package/dist/state-store.d.ts +189 -0
  108. package/dist/state-store.d.ts.map +1 -0
  109. package/dist/state-store.js +730 -0
  110. package/dist/state-store.js.map +1 -0
  111. package/dist/subagent-watcher.d.ts +345 -0
  112. package/dist/subagent-watcher.d.ts.map +1 -0
  113. package/dist/subagent-watcher.js +1469 -0
  114. package/dist/subagent-watcher.js.map +1 -0
  115. package/dist/task-queue.d.ts +108 -0
  116. package/dist/task-queue.d.ts.map +1 -0
  117. package/dist/task-queue.js +235 -0
  118. package/dist/task-queue.js.map +1 -0
  119. package/dist/task-tracker.d.ts +306 -0
  120. package/dist/task-tracker.d.ts.map +1 -0
  121. package/dist/task-tracker.js +488 -0
  122. package/dist/task-tracker.js.map +1 -0
  123. package/dist/task.d.ts +73 -0
  124. package/dist/task.d.ts.map +1 -0
  125. package/dist/task.js +177 -0
  126. package/dist/task.js.map +1 -0
  127. package/dist/team-watcher.d.ts +53 -0
  128. package/dist/team-watcher.d.ts.map +1 -0
  129. package/dist/team-watcher.js +313 -0
  130. package/dist/team-watcher.js.map +1 -0
  131. package/dist/templates/case-template.md +461 -0
  132. package/dist/templates/claude-md.d.ts +26 -0
  133. package/dist/templates/claude-md.d.ts.map +1 -0
  134. package/dist/templates/claude-md.js +74 -0
  135. package/dist/templates/claude-md.js.map +1 -0
  136. package/dist/tmux-manager.d.ts +181 -0
  137. package/dist/tmux-manager.d.ts.map +1 -0
  138. package/dist/tmux-manager.js +1405 -0
  139. package/dist/tmux-manager.js.map +1 -0
  140. package/dist/transcript-watcher.d.ts +110 -0
  141. package/dist/transcript-watcher.d.ts.map +1 -0
  142. package/dist/transcript-watcher.js +338 -0
  143. package/dist/transcript-watcher.js.map +1 -0
  144. package/dist/tunnel-manager.d.ts +54 -0
  145. package/dist/tunnel-manager.d.ts.map +1 -0
  146. package/dist/tunnel-manager.js +251 -0
  147. package/dist/tunnel-manager.js.map +1 -0
  148. package/dist/types.d.ts +1139 -0
  149. package/dist/types.d.ts.map +1 -0
  150. package/dist/types.js +215 -0
  151. package/dist/types.js.map +1 -0
  152. package/dist/utils/buffer-accumulator.d.ts +111 -0
  153. package/dist/utils/buffer-accumulator.d.ts.map +1 -0
  154. package/dist/utils/buffer-accumulator.js +172 -0
  155. package/dist/utils/buffer-accumulator.js.map +1 -0
  156. package/dist/utils/claude-cli-resolver.d.ts +26 -0
  157. package/dist/utils/claude-cli-resolver.d.ts.map +1 -0
  158. package/dist/utils/claude-cli-resolver.js +78 -0
  159. package/dist/utils/claude-cli-resolver.js.map +1 -0
  160. package/dist/utils/cleanup-manager.d.ts +165 -0
  161. package/dist/utils/cleanup-manager.d.ts.map +1 -0
  162. package/dist/utils/cleanup-manager.js +274 -0
  163. package/dist/utils/cleanup-manager.js.map +1 -0
  164. package/dist/utils/index.d.ts +19 -0
  165. package/dist/utils/index.d.ts.map +1 -0
  166. package/dist/utils/index.js +19 -0
  167. package/dist/utils/index.js.map +1 -0
  168. package/dist/utils/lru-map.d.ts +140 -0
  169. package/dist/utils/lru-map.d.ts.map +1 -0
  170. package/dist/utils/lru-map.js +234 -0
  171. package/dist/utils/lru-map.js.map +1 -0
  172. package/dist/utils/nice-wrapper.d.ts +13 -0
  173. package/dist/utils/nice-wrapper.d.ts.map +1 -0
  174. package/dist/utils/nice-wrapper.js +17 -0
  175. package/dist/utils/nice-wrapper.js.map +1 -0
  176. package/dist/utils/opencode-cli-resolver.d.ts +21 -0
  177. package/dist/utils/opencode-cli-resolver.d.ts.map +1 -0
  178. package/dist/utils/opencode-cli-resolver.js +67 -0
  179. package/dist/utils/opencode-cli-resolver.js.map +1 -0
  180. package/dist/utils/regex-patterns.d.ts +64 -0
  181. package/dist/utils/regex-patterns.d.ts.map +1 -0
  182. package/dist/utils/regex-patterns.js +74 -0
  183. package/dist/utils/regex-patterns.js.map +1 -0
  184. package/dist/utils/stale-expiration-map.d.ts +159 -0
  185. package/dist/utils/stale-expiration-map.d.ts.map +1 -0
  186. package/dist/utils/stale-expiration-map.js +277 -0
  187. package/dist/utils/stale-expiration-map.js.map +1 -0
  188. package/dist/utils/string-similarity.d.ts +108 -0
  189. package/dist/utils/string-similarity.d.ts.map +1 -0
  190. package/dist/utils/string-similarity.js +189 -0
  191. package/dist/utils/string-similarity.js.map +1 -0
  192. package/dist/utils/token-validation.d.ts +39 -0
  193. package/dist/utils/token-validation.d.ts.map +1 -0
  194. package/dist/utils/token-validation.js +59 -0
  195. package/dist/utils/token-validation.js.map +1 -0
  196. package/dist/utils/type-safety.d.ts +33 -0
  197. package/dist/utils/type-safety.d.ts.map +1 -0
  198. package/dist/utils/type-safety.js +35 -0
  199. package/dist/utils/type-safety.js.map +1 -0
  200. package/dist/web/public/app.js +491 -0
  201. package/dist/web/public/app.js.br +0 -0
  202. package/dist/web/public/app.js.gz +0 -0
  203. package/dist/web/public/index.html +1675 -0
  204. package/dist/web/public/index.html.br +0 -0
  205. package/dist/web/public/index.html.gz +0 -0
  206. package/dist/web/public/manifest.json +8 -0
  207. package/dist/web/public/mobile.css +1 -0
  208. package/dist/web/public/mobile.css.br +0 -0
  209. package/dist/web/public/mobile.css.gz +0 -0
  210. package/dist/web/public/ralph-wizard.js +1037 -0
  211. package/dist/web/public/ralph-wizard.js.br +0 -0
  212. package/dist/web/public/ralph-wizard.js.gz +0 -0
  213. package/dist/web/public/styles.css +1 -0
  214. package/dist/web/public/styles.css.br +0 -0
  215. package/dist/web/public/styles.css.gz +0 -0
  216. package/dist/web/public/sw.js +67 -0
  217. package/dist/web/public/sw.js.br +0 -0
  218. package/dist/web/public/sw.js.gz +0 -0
  219. package/dist/web/public/upload.html +155 -0
  220. package/dist/web/public/upload.html.br +0 -0
  221. package/dist/web/public/upload.html.gz +0 -0
  222. package/dist/web/public/vendor/xterm-addon-fit.min.js +1 -0
  223. package/dist/web/public/vendor/xterm-addon-fit.min.js.br +0 -0
  224. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  225. package/dist/web/public/vendor/xterm-addon-unicode11.min.js +1 -0
  226. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.br +0 -0
  227. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  228. package/dist/web/public/vendor/xterm-addon-webgl.min.js +2 -0
  229. package/dist/web/public/vendor/xterm-addon-webgl.min.js.br +0 -0
  230. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  231. package/dist/web/public/vendor/xterm.css +209 -0
  232. package/dist/web/public/vendor/xterm.css.br +0 -0
  233. package/dist/web/public/vendor/xterm.css.gz +0 -0
  234. package/dist/web/public/vendor/xterm.min.js +9 -0
  235. package/dist/web/public/vendor/xterm.min.js.br +0 -0
  236. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  237. package/dist/web/schemas.d.ts +479 -0
  238. package/dist/web/schemas.d.ts.map +1 -0
  239. package/dist/web/schemas.js +448 -0
  240. package/dist/web/schemas.js.map +1 -0
  241. package/dist/web/server.d.ts +207 -0
  242. package/dist/web/server.d.ts.map +1 -0
  243. package/dist/web/server.js +5784 -0
  244. package/dist/web/server.js.map +1 -0
  245. package/package.json +110 -0
  246. package/scripts/postinstall.js +390 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,215 @@
1
+ /**
2
+ * @fileoverview Type definitions for Codeman
3
+ *
4
+ * This module contains all TypeScript interfaces, types, and enums used
5
+ * throughout the Codeman application. It provides type safety for:
6
+ * - Session management
7
+ * - Task queue operations
8
+ * - Ralph Loop configuration
9
+ * - API requests/responses
10
+ * - Mux session handling
11
+ * - Inner loop tracking (Ralph Wiggum detection)
12
+ */
13
+ export const DEFAULT_NICE_CONFIG = {
14
+ enabled: false,
15
+ niceValue: 10,
16
+ };
17
+ // ========== API Error Handling ==========
18
+ /**
19
+ * Standard error codes for API responses
20
+ */
21
+ export var ApiErrorCode;
22
+ (function (ApiErrorCode) {
23
+ /** Resource not found */
24
+ ApiErrorCode["NOT_FOUND"] = "NOT_FOUND";
25
+ /** Invalid input provided */
26
+ ApiErrorCode["INVALID_INPUT"] = "INVALID_INPUT";
27
+ /** Session is currently busy */
28
+ ApiErrorCode["SESSION_BUSY"] = "SESSION_BUSY";
29
+ /** Operation failed */
30
+ ApiErrorCode["OPERATION_FAILED"] = "OPERATION_FAILED";
31
+ /** Resource already exists */
32
+ ApiErrorCode["ALREADY_EXISTS"] = "ALREADY_EXISTS";
33
+ /** Internal server error */
34
+ ApiErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
35
+ })(ApiErrorCode || (ApiErrorCode = {}));
36
+ /**
37
+ * User-friendly error messages for each error code
38
+ */
39
+ const ErrorMessages = {
40
+ [ApiErrorCode.NOT_FOUND]: 'The requested resource was not found',
41
+ [ApiErrorCode.INVALID_INPUT]: 'Invalid input provided',
42
+ [ApiErrorCode.SESSION_BUSY]: 'Session is currently busy',
43
+ [ApiErrorCode.OPERATION_FAILED]: 'The operation failed',
44
+ [ApiErrorCode.ALREADY_EXISTS]: 'Resource already exists',
45
+ [ApiErrorCode.INTERNAL_ERROR]: 'An internal error occurred',
46
+ };
47
+ /**
48
+ * Creates a standardized error response
49
+ * @param code Error code
50
+ * @param details Optional detailed error message
51
+ * @returns Formatted error response
52
+ */
53
+ export function createErrorResponse(code, details) {
54
+ return {
55
+ success: false,
56
+ error: details || ErrorMessages[code],
57
+ errorCode: code,
58
+ };
59
+ }
60
+ // ========== Default Configuration ==========
61
+ /**
62
+ * Default application configuration values
63
+ */
64
+ export const DEFAULT_CONFIG = {
65
+ pollIntervalMs: 1000,
66
+ defaultTimeoutMs: 300000, // 5 minutes
67
+ maxConcurrentSessions: 5,
68
+ stateFilePath: '',
69
+ respawn: {
70
+ idleTimeoutMs: 5000, // 5 seconds of no activity after prompt
71
+ updatePrompt: 'update all the docs and CLAUDE.md',
72
+ interStepDelayMs: 1000, // 1 second between steps
73
+ enabled: false, // disabled by default
74
+ sendClear: true, // send /clear after update prompt
75
+ sendInit: true, // send /init after /clear
76
+ },
77
+ lastUsedCase: null,
78
+ ralphEnabled: false,
79
+ };
80
+ /**
81
+ * Creates initial circuit breaker status.
82
+ */
83
+ export function createInitialCircuitBreakerStatus() {
84
+ return {
85
+ state: 'CLOSED',
86
+ consecutiveNoProgress: 0,
87
+ consecutiveSameError: 0,
88
+ consecutiveTestsFailure: 0,
89
+ lastProgressIteration: 0,
90
+ reason: 'Initial state',
91
+ reasonCode: 'normal_operation',
92
+ lastTransitionAt: Date.now(),
93
+ lastErrorMessage: null,
94
+ };
95
+ }
96
+ /**
97
+ * Creates initial Ralph tracker state
98
+ * @returns Fresh Ralph tracker state with defaults
99
+ */
100
+ export function createInitialRalphTrackerState() {
101
+ return {
102
+ enabled: false, // Disabled by default, auto-enables when Ralph patterns detected
103
+ active: false,
104
+ completionPhrase: null,
105
+ startedAt: null,
106
+ cycleCount: 0,
107
+ maxIterations: null,
108
+ lastActivity: Date.now(),
109
+ elapsedHours: null,
110
+ };
111
+ }
112
+ /**
113
+ * Creates initial Ralph session state
114
+ * @param sessionId Session ID this state belongs to
115
+ * @returns Fresh Ralph session state
116
+ */
117
+ export function createInitialRalphSessionState(sessionId) {
118
+ return {
119
+ sessionId,
120
+ loop: createInitialRalphTrackerState(),
121
+ todos: [],
122
+ lastUpdated: Date.now(),
123
+ };
124
+ }
125
+ /**
126
+ * Creates initial application state
127
+ * @returns Fresh application state with defaults
128
+ */
129
+ export function createInitialState() {
130
+ return {
131
+ sessions: {},
132
+ tasks: {},
133
+ ralphLoop: {
134
+ status: 'stopped',
135
+ startedAt: null,
136
+ minDurationMs: null,
137
+ tasksCompleted: 0,
138
+ tasksGenerated: 0,
139
+ lastCheckAt: null,
140
+ },
141
+ config: { ...DEFAULT_CONFIG },
142
+ globalStats: createInitialGlobalStats(),
143
+ };
144
+ }
145
+ /**
146
+ * Creates initial global stats object
147
+ * @returns Fresh global stats with zero values
148
+ */
149
+ export function createInitialGlobalStats() {
150
+ const now = Date.now();
151
+ return {
152
+ totalInputTokens: 0,
153
+ totalOutputTokens: 0,
154
+ totalCost: 0,
155
+ totalSessionsCreated: 0,
156
+ firstRecordedAt: now,
157
+ lastUpdatedAt: now,
158
+ };
159
+ }
160
+ // ========== Error Handling Utilities ==========
161
+ /**
162
+ * Type guard to check if a value is an Error instance
163
+ * @param value The value to check
164
+ * @returns True if the value is an Error instance
165
+ */
166
+ export function isError(value) {
167
+ return value instanceof Error;
168
+ }
169
+ /**
170
+ * Safely extracts an error message from an unknown caught value.
171
+ * Handles the TypeScript 4.4+ unknown error type in catch blocks.
172
+ *
173
+ * @param error The caught error (type unknown in strict mode)
174
+ * @returns A string error message
175
+ *
176
+ * @example
177
+ * ```typescript
178
+ * try {
179
+ * await riskyOperation();
180
+ * } catch (err) {
181
+ * console.error('Failed:', getErrorMessage(err));
182
+ * }
183
+ * ```
184
+ */
185
+ export function getErrorMessage(error) {
186
+ if (isError(error)) {
187
+ return error.message;
188
+ }
189
+ if (typeof error === 'string') {
190
+ return error;
191
+ }
192
+ if (error && typeof error === 'object' && 'message' in error) {
193
+ return String(error.message);
194
+ }
195
+ return 'An unknown error occurred';
196
+ }
197
+ /**
198
+ * Creates initial run summary stats.
199
+ */
200
+ export function createInitialRunSummaryStats() {
201
+ return {
202
+ totalRespawnCycles: 0,
203
+ totalTokensUsed: 0,
204
+ peakTokens: 0,
205
+ totalTimeActiveMs: 0,
206
+ totalTimeIdleMs: 0,
207
+ errorCount: 0,
208
+ warningCount: 0,
209
+ aiCheckCount: 0,
210
+ lastIdleAt: null,
211
+ lastWorkingAt: null,
212
+ stateTransitions: 0,
213
+ };
214
+ }
215
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * @fileoverview High-performance buffer accumulator for string data.
3
+ *
4
+ * This utility reduces GC pressure by avoiding repeated string concatenation (`+=`).
5
+ * Instead, chunks are pushed to an array and joined only when needed.
6
+ * Automatically trims when size limits are exceeded.
7
+ *
8
+ * @module utils/buffer-accumulator
9
+ */
10
+ import type { BufferConfig } from '../types.js';
11
+ /**
12
+ * High-performance buffer accumulator using array-based collection.
13
+ *
14
+ * Features:
15
+ * - Efficient append via array push (avoids O(n) string concat)
16
+ * - Lazy join on read (consolidates only when accessed)
17
+ * - Automatic trimming when max size exceeded
18
+ * - Optional callback on trim for logging/metrics
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const buffer = new BufferAccumulator({
23
+ * maxSize: 2 * 1024 * 1024, // 2MB
24
+ * trimSize: 1.5 * 1024 * 1024, // Trim to 1.5MB
25
+ * onTrim: (bytes) => console.log(`Trimmed ${bytes} bytes`)
26
+ * });
27
+ *
28
+ * buffer.append('chunk1');
29
+ * buffer.append('chunk2');
30
+ * console.log(buffer.value); // Joins and returns full content
31
+ * ```
32
+ */
33
+ export declare class BufferAccumulator {
34
+ private chunks;
35
+ private totalLength;
36
+ private readonly maxSize;
37
+ private readonly trimSize;
38
+ private readonly onTrim?;
39
+ /**
40
+ * Creates a new BufferAccumulator.
41
+ *
42
+ * @param config - Buffer configuration with max/trim sizes
43
+ */
44
+ constructor(config: BufferConfig);
45
+ /**
46
+ * Creates a new BufferAccumulator with simple size parameters.
47
+ *
48
+ * @param maxSize - Maximum buffer size before trimming
49
+ * @param trimSize - Size to trim to when max is exceeded
50
+ */
51
+ constructor(maxSize: number, trimSize: number);
52
+ /**
53
+ * Append data to the buffer.
54
+ * Automatically trims if maxSize is exceeded.
55
+ *
56
+ * @param data - String data to append
57
+ */
58
+ append(data: string): void;
59
+ /**
60
+ * Get the full buffer content.
61
+ * Consolidates chunks on access for efficient subsequent reads.
62
+ */
63
+ get value(): string;
64
+ /**
65
+ * Get current buffer length without joining chunks.
66
+ */
67
+ get length(): number;
68
+ /**
69
+ * Check if buffer is empty.
70
+ */
71
+ get isEmpty(): boolean;
72
+ /**
73
+ * Clear the buffer completely.
74
+ */
75
+ clear(): void;
76
+ /**
77
+ * Set buffer to a specific value, replacing all content.
78
+ *
79
+ * @param value - New buffer content
80
+ */
81
+ set(value: string): void;
82
+ /**
83
+ * Get the last N characters from the buffer.
84
+ * Useful for checking recent content without reading the entire buffer.
85
+ *
86
+ * @param n - Number of characters to get from the end
87
+ * @returns The last N characters (or entire buffer if smaller)
88
+ */
89
+ tail(n: number): string;
90
+ /**
91
+ * Check if buffer ends with a specific string.
92
+ *
93
+ * @param suffix - String to check for
94
+ * @returns True if buffer ends with the suffix
95
+ */
96
+ endsWith(suffix: string): boolean;
97
+ /**
98
+ * Search for a pattern in the buffer (from the end).
99
+ *
100
+ * @param pattern - String or RegExp to search for
101
+ * @param fromEnd - Number of characters from end to search within (default: entire buffer)
102
+ * @returns True if pattern is found
103
+ */
104
+ contains(pattern: string | RegExp, fromEnd?: number): boolean;
105
+ /**
106
+ * Trim buffer to keep only the most recent data.
107
+ * Called automatically when maxSize is exceeded.
108
+ */
109
+ private trim;
110
+ }
111
+ //# sourceMappingURL=buffer-accumulator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer-accumulator.d.ts","sourceRoot":"","sources":["../../src/utils/buffer-accumulator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAiC;IAEzD;;;;OAIG;gBACS,MAAM,EAAE,YAAY;IAChC;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAa7C;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAW1B;;;OAGG;IACH,IAAI,KAAK,IAAI,MAAM,CAQlB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKxB;;;;;;OAMG;IACH,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAQvB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAMjC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO;IAQ7D;;;OAGG;IACH,OAAO,CAAC,IAAI;CAmBb"}
@@ -0,0 +1,172 @@
1
+ /**
2
+ * @fileoverview High-performance buffer accumulator for string data.
3
+ *
4
+ * This utility reduces GC pressure by avoiding repeated string concatenation (`+=`).
5
+ * Instead, chunks are pushed to an array and joined only when needed.
6
+ * Automatically trims when size limits are exceeded.
7
+ *
8
+ * @module utils/buffer-accumulator
9
+ */
10
+ /**
11
+ * High-performance buffer accumulator using array-based collection.
12
+ *
13
+ * Features:
14
+ * - Efficient append via array push (avoids O(n) string concat)
15
+ * - Lazy join on read (consolidates only when accessed)
16
+ * - Automatic trimming when max size exceeded
17
+ * - Optional callback on trim for logging/metrics
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const buffer = new BufferAccumulator({
22
+ * maxSize: 2 * 1024 * 1024, // 2MB
23
+ * trimSize: 1.5 * 1024 * 1024, // Trim to 1.5MB
24
+ * onTrim: (bytes) => console.log(`Trimmed ${bytes} bytes`)
25
+ * });
26
+ *
27
+ * buffer.append('chunk1');
28
+ * buffer.append('chunk2');
29
+ * console.log(buffer.value); // Joins and returns full content
30
+ * ```
31
+ */
32
+ export class BufferAccumulator {
33
+ chunks = [];
34
+ totalLength = 0;
35
+ maxSize;
36
+ trimSize;
37
+ onTrim;
38
+ constructor(configOrMaxSize, trimSize) {
39
+ if (typeof configOrMaxSize === 'number') {
40
+ this.maxSize = configOrMaxSize;
41
+ this.trimSize = trimSize;
42
+ this.onTrim = undefined;
43
+ }
44
+ else {
45
+ this.maxSize = configOrMaxSize.maxSize;
46
+ this.trimSize = configOrMaxSize.trimSize;
47
+ this.onTrim = configOrMaxSize.onTrim;
48
+ }
49
+ }
50
+ /**
51
+ * Append data to the buffer.
52
+ * Automatically trims if maxSize is exceeded.
53
+ *
54
+ * @param data - String data to append
55
+ */
56
+ append(data) {
57
+ if (!data)
58
+ return;
59
+ this.chunks.push(data);
60
+ this.totalLength += data.length;
61
+ // Trim if exceeded max size
62
+ if (this.totalLength > this.maxSize) {
63
+ this.trim();
64
+ }
65
+ }
66
+ /**
67
+ * Get the full buffer content.
68
+ * Consolidates chunks on access for efficient subsequent reads.
69
+ */
70
+ get value() {
71
+ if (this.chunks.length === 0)
72
+ return '';
73
+ if (this.chunks.length === 1)
74
+ return this.chunks[0];
75
+ // Consolidate chunks on access
76
+ const result = this.chunks.join('');
77
+ this.chunks = [result];
78
+ return result;
79
+ }
80
+ /**
81
+ * Get current buffer length without joining chunks.
82
+ */
83
+ get length() {
84
+ return this.totalLength;
85
+ }
86
+ /**
87
+ * Check if buffer is empty.
88
+ */
89
+ get isEmpty() {
90
+ return this.totalLength === 0;
91
+ }
92
+ /**
93
+ * Clear the buffer completely.
94
+ */
95
+ clear() {
96
+ this.chunks = [];
97
+ this.totalLength = 0;
98
+ }
99
+ /**
100
+ * Set buffer to a specific value, replacing all content.
101
+ *
102
+ * @param value - New buffer content
103
+ */
104
+ set(value) {
105
+ this.chunks = value ? [value] : [];
106
+ this.totalLength = value?.length || 0;
107
+ }
108
+ /**
109
+ * Get the last N characters from the buffer.
110
+ * Useful for checking recent content without reading the entire buffer.
111
+ *
112
+ * @param n - Number of characters to get from the end
113
+ * @returns The last N characters (or entire buffer if smaller)
114
+ */
115
+ tail(n) {
116
+ if (n >= this.totalLength) {
117
+ return this.value;
118
+ }
119
+ const full = this.value;
120
+ return full.slice(-n);
121
+ }
122
+ /**
123
+ * Check if buffer ends with a specific string.
124
+ *
125
+ * @param suffix - String to check for
126
+ * @returns True if buffer ends with the suffix
127
+ */
128
+ endsWith(suffix) {
129
+ if (!suffix)
130
+ return true; // All strings end with empty string
131
+ if (suffix.length > this.totalLength)
132
+ return false;
133
+ return this.tail(suffix.length) === suffix;
134
+ }
135
+ /**
136
+ * Search for a pattern in the buffer (from the end).
137
+ *
138
+ * @param pattern - String or RegExp to search for
139
+ * @param fromEnd - Number of characters from end to search within (default: entire buffer)
140
+ * @returns True if pattern is found
141
+ */
142
+ contains(pattern, fromEnd) {
143
+ const searchIn = fromEnd ? this.tail(fromEnd) : this.value;
144
+ if (typeof pattern === 'string') {
145
+ return searchIn.includes(pattern);
146
+ }
147
+ return pattern.test(searchIn);
148
+ }
149
+ /**
150
+ * Trim buffer to keep only the most recent data.
151
+ * Called automatically when maxSize is exceeded.
152
+ */
153
+ trim() {
154
+ const full = this.chunks.join('');
155
+ const trimmedBytes = full.length - this.trimSize;
156
+ let trimmed = full.slice(-this.trimSize);
157
+ // Avoid starting mid-ANSI-escape: advance to first newline within 4KB.
158
+ // A partial escape at the buffer start causes xterm.js to misparse
159
+ // subsequent cursor movements, corrupting Ink's redraw rendering.
160
+ const firstNewline = trimmed.indexOf('\n');
161
+ if (firstNewline > 0 && firstNewline < 4096) {
162
+ trimmed = trimmed.slice(firstNewline + 1);
163
+ }
164
+ this.chunks = [trimmed];
165
+ this.totalLength = trimmed.length;
166
+ // Notify callback if configured
167
+ if (this.onTrim && trimmedBytes > 0) {
168
+ this.onTrim(trimmedBytes);
169
+ }
170
+ }
171
+ }
172
+ //# sourceMappingURL=buffer-accumulator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer-accumulator.js","sourceRoot":"","sources":["../../src/utils/buffer-accumulator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @fileoverview Shared Claude CLI binary resolution.
3
+ *
4
+ * Finds the `claude` binary across common installation paths and provides
5
+ * an augmented PATH string. Used by session.ts and tmux-manager.ts
6
+ * to locate the Claude CLI.
7
+ *
8
+ * @module utils/claude-cli-resolver
9
+ */
10
+ /**
11
+ * Finds the directory containing the `claude` binary.
12
+ * Checks `which claude` first, then falls back to common install locations.
13
+ * Result is cached for subsequent calls.
14
+ *
15
+ * @returns Directory path, or null if not found
16
+ */
17
+ export declare function findClaudeDir(): string | null;
18
+ /**
19
+ * Returns a PATH string that includes the directory containing `claude`.
20
+ *
21
+ * Finds the claude binary (via `which` or common install locations), then
22
+ * prepends its directory to the current PATH if not already present.
23
+ * Result is cached for subsequent calls.
24
+ */
25
+ export declare function getAugmentedPath(): string;
26
+ //# sourceMappingURL=claude-cli-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-cli-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/claude-cli-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAsBH;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAwB7C;AAKD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAazC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @fileoverview Shared Claude CLI binary resolution.
3
+ *
4
+ * Finds the `claude` binary across common installation paths and provides
5
+ * an augmented PATH string. Used by session.ts and tmux-manager.ts
6
+ * to locate the Claude CLI.
7
+ *
8
+ * @module utils/claude-cli-resolver
9
+ */
10
+ import { execSync } from 'node:child_process';
11
+ import { existsSync } from 'node:fs';
12
+ import { delimiter, dirname, join } from 'node:path';
13
+ import { homedir } from 'node:os';
14
+ /** Timeout for exec commands (5 seconds) */
15
+ const EXEC_TIMEOUT_MS = 5000;
16
+ /** Common directories where the Claude CLI binary may be installed */
17
+ const CLAUDE_SEARCH_DIRS = [
18
+ join(homedir(), '.local', 'bin'),
19
+ join(homedir(), '.claude', 'local'),
20
+ '/usr/local/bin',
21
+ join(homedir(), '.npm-global', 'bin'),
22
+ join(homedir(), 'bin'),
23
+ ];
24
+ /** Cached directory containing the claude binary (empty string = searched but not found) */
25
+ let _claudeDir = null;
26
+ /**
27
+ * Finds the directory containing the `claude` binary.
28
+ * Checks `which claude` first, then falls back to common install locations.
29
+ * Result is cached for subsequent calls.
30
+ *
31
+ * @returns Directory path, or null if not found
32
+ */
33
+ export function findClaudeDir() {
34
+ if (_claudeDir !== null)
35
+ return _claudeDir || null;
36
+ // Try `which` first (respects current PATH)
37
+ try {
38
+ const result = execSync('which claude', { encoding: 'utf-8', timeout: EXEC_TIMEOUT_MS }).trim();
39
+ if (result && existsSync(result)) {
40
+ _claudeDir = dirname(result);
41
+ return _claudeDir;
42
+ }
43
+ }
44
+ catch {
45
+ // Claude not in PATH, will check common locations
46
+ }
47
+ // Fallback: check common installation directories
48
+ for (const dir of CLAUDE_SEARCH_DIRS) {
49
+ if (existsSync(join(dir, 'claude'))) {
50
+ _claudeDir = dir;
51
+ return _claudeDir;
52
+ }
53
+ }
54
+ _claudeDir = ''; // mark as searched, not found
55
+ return null;
56
+ }
57
+ /** Cached augmented PATH string */
58
+ let _augmentedPath = null;
59
+ /**
60
+ * Returns a PATH string that includes the directory containing `claude`.
61
+ *
62
+ * Finds the claude binary (via `which` or common install locations), then
63
+ * prepends its directory to the current PATH if not already present.
64
+ * Result is cached for subsequent calls.
65
+ */
66
+ export function getAugmentedPath() {
67
+ if (_augmentedPath)
68
+ return _augmentedPath;
69
+ const currentPath = process.env.PATH || '';
70
+ const claudeDir = findClaudeDir();
71
+ if (claudeDir && !currentPath.split(delimiter).includes(claudeDir)) {
72
+ _augmentedPath = `${claudeDir}${delimiter}${currentPath}`;
73
+ return _augmentedPath;
74
+ }
75
+ _augmentedPath = currentPath;
76
+ return _augmentedPath;
77
+ }
78
+ //# sourceMappingURL=claude-cli-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-cli-resolver.js","sourceRoot":"","sources":["../../src/utils/claude-cli-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,4CAA4C;AAC5C,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B,sEAAsE;AACtE,MAAM,kBAAkB,GAAG;IACzB,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC;IAChC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC;IACnC,gBAAgB;IAChB,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;CACvB,CAAC;AAEF,4FAA4F;AAC5F,IAAI,UAAU,GAAkB,IAAI,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,UAAU,IAAI,IAAI,CAAC;IAEnD,4CAA4C;IAC5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAChG,IAAI,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;IAED,kDAAkD;IAClD,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACrC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YACpC,UAAU,GAAG,GAAG,CAAC;YACjB,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,UAAU,GAAG,EAAE,CAAC,CAAC,8BAA8B;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mCAAmC;AACnC,IAAI,cAAc,GAAkB,IAAI,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAE1C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAElC,IAAI,SAAS,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACnE,cAAc,GAAG,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,EAAE,CAAC;QAC1D,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,cAAc,GAAG,WAAW,CAAC;IAC7B,OAAO,cAAc,CAAC;AACxB,CAAC"}