@jacques-ai/server 0.0.7-alpha.1

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 (384) hide show
  1. package/dist/config/config.d.ts +34 -0
  2. package/dist/config/config.d.ts.map +1 -0
  3. package/dist/config/config.js +32 -0
  4. package/dist/config/config.js.map +1 -0
  5. package/dist/connection/applescript.d.ts +46 -0
  6. package/dist/connection/applescript.d.ts.map +1 -0
  7. package/dist/connection/applescript.js +62 -0
  8. package/dist/connection/applescript.js.map +1 -0
  9. package/dist/connection/applescript.test.d.ts +5 -0
  10. package/dist/connection/applescript.test.d.ts.map +1 -0
  11. package/dist/connection/applescript.test.js +64 -0
  12. package/dist/connection/applescript.test.js.map +1 -0
  13. package/dist/connection/constants.d.ts +88 -0
  14. package/dist/connection/constants.d.ts.map +1 -0
  15. package/dist/connection/constants.js +110 -0
  16. package/dist/connection/constants.js.map +1 -0
  17. package/dist/connection/git-info.d.ts +30 -0
  18. package/dist/connection/git-info.d.ts.map +1 -0
  19. package/dist/connection/git-info.js +52 -0
  20. package/dist/connection/git-info.js.map +1 -0
  21. package/dist/connection/git-info.test.d.ts +5 -0
  22. package/dist/connection/git-info.test.d.ts.map +1 -0
  23. package/dist/connection/git-info.test.js +35 -0
  24. package/dist/connection/git-info.test.js.map +1 -0
  25. package/dist/connection/index.d.ts +19 -0
  26. package/dist/connection/index.d.ts.map +1 -0
  27. package/dist/connection/index.js +36 -0
  28. package/dist/connection/index.js.map +1 -0
  29. package/dist/connection/process-detection.d.ts +58 -0
  30. package/dist/connection/process-detection.d.ts.map +1 -0
  31. package/dist/connection/process-detection.js +239 -0
  32. package/dist/connection/process-detection.js.map +1 -0
  33. package/dist/connection/process-detection.test.d.ts +5 -0
  34. package/dist/connection/process-detection.test.d.ts.map +1 -0
  35. package/dist/connection/process-detection.test.js +43 -0
  36. package/dist/connection/process-detection.test.js.map +1 -0
  37. package/dist/connection/session-discovery.d.ts +55 -0
  38. package/dist/connection/session-discovery.d.ts.map +1 -0
  39. package/dist/connection/session-discovery.js +311 -0
  40. package/dist/connection/session-discovery.js.map +1 -0
  41. package/dist/connection/terminal-key.d.ts +126 -0
  42. package/dist/connection/terminal-key.d.ts.map +1 -0
  43. package/dist/connection/terminal-key.js +271 -0
  44. package/dist/connection/terminal-key.js.map +1 -0
  45. package/dist/connection/terminal-key.test.d.ts +5 -0
  46. package/dist/connection/terminal-key.test.d.ts.map +1 -0
  47. package/dist/connection/terminal-key.test.js +221 -0
  48. package/dist/connection/terminal-key.test.js.map +1 -0
  49. package/dist/connection/worktree.d.ts +114 -0
  50. package/dist/connection/worktree.d.ts.map +1 -0
  51. package/dist/connection/worktree.js +320 -0
  52. package/dist/connection/worktree.js.map +1 -0
  53. package/dist/connection/worktree.test.d.ts +5 -0
  54. package/dist/connection/worktree.test.d.ts.map +1 -0
  55. package/dist/connection/worktree.test.js +113 -0
  56. package/dist/connection/worktree.test.js.map +1 -0
  57. package/dist/focus-watcher.d.ts +51 -0
  58. package/dist/focus-watcher.d.ts.map +1 -0
  59. package/dist/focus-watcher.js +169 -0
  60. package/dist/focus-watcher.js.map +1 -0
  61. package/dist/handlers/event-handler.d.ts +93 -0
  62. package/dist/handlers/event-handler.d.ts.map +1 -0
  63. package/dist/handlers/event-handler.js +196 -0
  64. package/dist/handlers/event-handler.js.map +1 -0
  65. package/dist/handlers/event-handler.test.d.ts +5 -0
  66. package/dist/handlers/event-handler.test.d.ts.map +1 -0
  67. package/dist/handlers/event-handler.test.js +305 -0
  68. package/dist/handlers/event-handler.test.js.map +1 -0
  69. package/dist/handlers/session-handler.d.ts +23 -0
  70. package/dist/handlers/session-handler.d.ts.map +1 -0
  71. package/dist/handlers/session-handler.js +104 -0
  72. package/dist/handlers/session-handler.js.map +1 -0
  73. package/dist/handlers/session-handler.test.d.ts +5 -0
  74. package/dist/handlers/session-handler.test.d.ts.map +1 -0
  75. package/dist/handlers/session-handler.test.js +89 -0
  76. package/dist/handlers/session-handler.test.js.map +1 -0
  77. package/dist/handlers/settings-handler.d.ts +32 -0
  78. package/dist/handlers/settings-handler.d.ts.map +1 -0
  79. package/dist/handlers/settings-handler.js +127 -0
  80. package/dist/handlers/settings-handler.js.map +1 -0
  81. package/dist/handlers/settings-handler.test.d.ts +5 -0
  82. package/dist/handlers/settings-handler.test.d.ts.map +1 -0
  83. package/dist/handlers/settings-handler.test.js +105 -0
  84. package/dist/handlers/settings-handler.test.js.map +1 -0
  85. package/dist/handlers/window-handler.d.ts +30 -0
  86. package/dist/handlers/window-handler.d.ts.map +1 -0
  87. package/dist/handlers/window-handler.js +486 -0
  88. package/dist/handlers/window-handler.js.map +1 -0
  89. package/dist/handlers/window-handler.test.d.ts +8 -0
  90. package/dist/handlers/window-handler.test.d.ts.map +1 -0
  91. package/dist/handlers/window-handler.test.js +167 -0
  92. package/dist/handlers/window-handler.test.js.map +1 -0
  93. package/dist/handlers/worktree-handler.d.ts +28 -0
  94. package/dist/handlers/worktree-handler.d.ts.map +1 -0
  95. package/dist/handlers/worktree-handler.js +268 -0
  96. package/dist/handlers/worktree-handler.js.map +1 -0
  97. package/dist/handlers/worktree-handler.test.d.ts +8 -0
  98. package/dist/handlers/worktree-handler.test.d.ts.map +1 -0
  99. package/dist/handlers/worktree-handler.test.js +118 -0
  100. package/dist/handlers/worktree-handler.test.js.map +1 -0
  101. package/dist/handlers/ws-utils.d.ts +12 -0
  102. package/dist/handlers/ws-utils.d.ts.map +1 -0
  103. package/dist/handlers/ws-utils.js +16 -0
  104. package/dist/handlers/ws-utils.js.map +1 -0
  105. package/dist/http-api.d.ts +26 -0
  106. package/dist/http-api.d.ts.map +1 -0
  107. package/dist/http-api.js +148 -0
  108. package/dist/http-api.js.map +1 -0
  109. package/dist/logger.d.ts +42 -0
  110. package/dist/logger.d.ts.map +1 -0
  111. package/dist/logger.js +147 -0
  112. package/dist/logger.js.map +1 -0
  113. package/dist/logging/logger-factory.d.ts +51 -0
  114. package/dist/logging/logger-factory.d.ts.map +1 -0
  115. package/dist/logging/logger-factory.js +59 -0
  116. package/dist/logging/logger-factory.js.map +1 -0
  117. package/dist/mcp/search-tool.d.ts +65 -0
  118. package/dist/mcp/search-tool.d.ts.map +1 -0
  119. package/dist/mcp/search-tool.js +176 -0
  120. package/dist/mcp/search-tool.js.map +1 -0
  121. package/dist/mcp/server.d.ts +9 -0
  122. package/dist/mcp/server.d.ts.map +1 -0
  123. package/dist/mcp/server.js +152 -0
  124. package/dist/mcp/server.js.map +1 -0
  125. package/dist/process-scanner.d.ts +96 -0
  126. package/dist/process-scanner.d.ts.map +1 -0
  127. package/dist/process-scanner.js +194 -0
  128. package/dist/process-scanner.js.map +1 -0
  129. package/dist/routes/__tests__/archive-routes.test.d.ts +5 -0
  130. package/dist/routes/__tests__/archive-routes.test.d.ts.map +1 -0
  131. package/dist/routes/__tests__/archive-routes.test.js +158 -0
  132. package/dist/routes/__tests__/archive-routes.test.js.map +1 -0
  133. package/dist/routes/__tests__/config-routes.test.d.ts +5 -0
  134. package/dist/routes/__tests__/config-routes.test.d.ts.map +1 -0
  135. package/dist/routes/__tests__/config-routes.test.js +112 -0
  136. package/dist/routes/__tests__/config-routes.test.js.map +1 -0
  137. package/dist/routes/__tests__/http-utils.test.d.ts +5 -0
  138. package/dist/routes/__tests__/http-utils.test.d.ts.map +1 -0
  139. package/dist/routes/__tests__/http-utils.test.js +102 -0
  140. package/dist/routes/__tests__/http-utils.test.js.map +1 -0
  141. package/dist/routes/__tests__/notification-routes.test.d.ts +5 -0
  142. package/dist/routes/__tests__/notification-routes.test.d.ts.map +1 -0
  143. package/dist/routes/__tests__/notification-routes.test.js +91 -0
  144. package/dist/routes/__tests__/notification-routes.test.js.map +1 -0
  145. package/dist/routes/__tests__/project-routes.test.d.ts +5 -0
  146. package/dist/routes/__tests__/project-routes.test.d.ts.map +1 -0
  147. package/dist/routes/__tests__/project-routes.test.js +168 -0
  148. package/dist/routes/__tests__/project-routes.test.js.map +1 -0
  149. package/dist/routes/__tests__/session-routes.test.d.ts +5 -0
  150. package/dist/routes/__tests__/session-routes.test.d.ts.map +1 -0
  151. package/dist/routes/__tests__/session-routes.test.js +198 -0
  152. package/dist/routes/__tests__/session-routes.test.js.map +1 -0
  153. package/dist/routes/__tests__/source-routes.test.d.ts +5 -0
  154. package/dist/routes/__tests__/source-routes.test.d.ts.map +1 -0
  155. package/dist/routes/__tests__/source-routes.test.js +142 -0
  156. package/dist/routes/__tests__/source-routes.test.js.map +1 -0
  157. package/dist/routes/__tests__/sync-routes.test.d.ts +5 -0
  158. package/dist/routes/__tests__/sync-routes.test.d.ts.map +1 -0
  159. package/dist/routes/__tests__/sync-routes.test.js +77 -0
  160. package/dist/routes/__tests__/sync-routes.test.js.map +1 -0
  161. package/dist/routes/__tests__/test-helpers.d.ts +47 -0
  162. package/dist/routes/__tests__/test-helpers.d.ts.map +1 -0
  163. package/dist/routes/__tests__/test-helpers.js +97 -0
  164. package/dist/routes/__tests__/test-helpers.js.map +1 -0
  165. package/dist/routes/archive-routes.d.ts +15 -0
  166. package/dist/routes/archive-routes.d.ts.map +1 -0
  167. package/dist/routes/archive-routes.js +181 -0
  168. package/dist/routes/archive-routes.js.map +1 -0
  169. package/dist/routes/claude-routes.d.ts +9 -0
  170. package/dist/routes/claude-routes.d.ts.map +1 -0
  171. package/dist/routes/claude-routes.js +47 -0
  172. package/dist/routes/claude-routes.js.map +1 -0
  173. package/dist/routes/config-routes.d.ts +9 -0
  174. package/dist/routes/config-routes.d.ts.map +1 -0
  175. package/dist/routes/config-routes.js +56 -0
  176. package/dist/routes/config-routes.js.map +1 -0
  177. package/dist/routes/config-store.d.ts +41 -0
  178. package/dist/routes/config-store.d.ts.map +1 -0
  179. package/dist/routes/config-store.js +52 -0
  180. package/dist/routes/config-store.js.map +1 -0
  181. package/dist/routes/http-utils.d.ts +32 -0
  182. package/dist/routes/http-utils.d.ts.map +1 -0
  183. package/dist/routes/http-utils.js +123 -0
  184. package/dist/routes/http-utils.js.map +1 -0
  185. package/dist/routes/index.d.ts +19 -0
  186. package/dist/routes/index.d.ts.map +1 -0
  187. package/dist/routes/index.js +17 -0
  188. package/dist/routes/index.js.map +1 -0
  189. package/dist/routes/notification-routes.d.ts +10 -0
  190. package/dist/routes/notification-routes.d.ts.map +1 -0
  191. package/dist/routes/notification-routes.js +64 -0
  192. package/dist/routes/notification-routes.js.map +1 -0
  193. package/dist/routes/project-routes.d.ts +22 -0
  194. package/dist/routes/project-routes.d.ts.map +1 -0
  195. package/dist/routes/project-routes.js +415 -0
  196. package/dist/routes/project-routes.js.map +1 -0
  197. package/dist/routes/session-routes.d.ts +18 -0
  198. package/dist/routes/session-routes.d.ts.map +1 -0
  199. package/dist/routes/session-routes.js +609 -0
  200. package/dist/routes/session-routes.js.map +1 -0
  201. package/dist/routes/source-routes.d.ts +12 -0
  202. package/dist/routes/source-routes.d.ts.map +1 -0
  203. package/dist/routes/source-routes.js +119 -0
  204. package/dist/routes/source-routes.js.map +1 -0
  205. package/dist/routes/static-routes.d.ts +12 -0
  206. package/dist/routes/static-routes.d.ts.map +1 -0
  207. package/dist/routes/static-routes.js +52 -0
  208. package/dist/routes/static-routes.js.map +1 -0
  209. package/dist/routes/sync-routes.d.ts +9 -0
  210. package/dist/routes/sync-routes.d.ts.map +1 -0
  211. package/dist/routes/sync-routes.js +78 -0
  212. package/dist/routes/sync-routes.js.map +1 -0
  213. package/dist/routes/tile-routes.d.ts +10 -0
  214. package/dist/routes/tile-routes.d.ts.map +1 -0
  215. package/dist/routes/tile-routes.js +108 -0
  216. package/dist/routes/tile-routes.js.map +1 -0
  217. package/dist/routes/types.d.ts +17 -0
  218. package/dist/routes/types.d.ts.map +1 -0
  219. package/dist/routes/types.js +5 -0
  220. package/dist/routes/types.js.map +1 -0
  221. package/dist/routes/usage-routes.d.ts +8 -0
  222. package/dist/routes/usage-routes.d.ts.map +1 -0
  223. package/dist/routes/usage-routes.js +18 -0
  224. package/dist/routes/usage-routes.js.map +1 -0
  225. package/dist/server.d.ts +8 -0
  226. package/dist/server.d.ts.map +1 -0
  227. package/dist/server.js +173 -0
  228. package/dist/server.js.map +1 -0
  229. package/dist/services/branch-divergence-service.d.ts +48 -0
  230. package/dist/services/branch-divergence-service.d.ts.map +1 -0
  231. package/dist/services/branch-divergence-service.js +156 -0
  232. package/dist/services/branch-divergence-service.js.map +1 -0
  233. package/dist/services/broadcast-service.d.ts +68 -0
  234. package/dist/services/broadcast-service.d.ts.map +1 -0
  235. package/dist/services/broadcast-service.js +78 -0
  236. package/dist/services/broadcast-service.js.map +1 -0
  237. package/dist/services/broadcast-service.test.d.ts +5 -0
  238. package/dist/services/broadcast-service.test.d.ts.map +1 -0
  239. package/dist/services/broadcast-service.test.js +130 -0
  240. package/dist/services/broadcast-service.test.js.map +1 -0
  241. package/dist/services/chat-service.d.ts +72 -0
  242. package/dist/services/chat-service.d.ts.map +1 -0
  243. package/dist/services/chat-service.js +342 -0
  244. package/dist/services/chat-service.js.map +1 -0
  245. package/dist/services/chat-system-prompt.d.ts +14 -0
  246. package/dist/services/chat-system-prompt.d.ts.map +1 -0
  247. package/dist/services/chat-system-prompt.js +68 -0
  248. package/dist/services/chat-system-prompt.js.map +1 -0
  249. package/dist/services/notification-service.d.ts +115 -0
  250. package/dist/services/notification-service.d.ts.map +1 -0
  251. package/dist/services/notification-service.js +424 -0
  252. package/dist/services/notification-service.js.map +1 -0
  253. package/dist/services/notification-service.test.d.ts +5 -0
  254. package/dist/services/notification-service.test.d.ts.map +1 -0
  255. package/dist/services/notification-service.test.js +918 -0
  256. package/dist/services/notification-service.test.js.map +1 -0
  257. package/dist/session/cleanup-service.d.ts +51 -0
  258. package/dist/session/cleanup-service.d.ts.map +1 -0
  259. package/dist/session/cleanup-service.js +98 -0
  260. package/dist/session/cleanup-service.js.map +1 -0
  261. package/dist/session/cleanup-service.test.d.ts +5 -0
  262. package/dist/session/cleanup-service.test.d.ts.map +1 -0
  263. package/dist/session/cleanup-service.test.js +121 -0
  264. package/dist/session/cleanup-service.test.js.map +1 -0
  265. package/dist/session/process-monitor.d.ts +79 -0
  266. package/dist/session/process-monitor.d.ts.map +1 -0
  267. package/dist/session/process-monitor.js +270 -0
  268. package/dist/session/process-monitor.js.map +1 -0
  269. package/dist/session/process-monitor.test.d.ts +5 -0
  270. package/dist/session/process-monitor.test.d.ts.map +1 -0
  271. package/dist/session/process-monitor.test.js +367 -0
  272. package/dist/session/process-monitor.test.js.map +1 -0
  273. package/dist/session/session-factory.d.ts +29 -0
  274. package/dist/session/session-factory.d.ts.map +1 -0
  275. package/dist/session/session-factory.js +123 -0
  276. package/dist/session/session-factory.js.map +1 -0
  277. package/dist/session/session-factory.test.d.ts +5 -0
  278. package/dist/session/session-factory.test.d.ts.map +1 -0
  279. package/dist/session/session-factory.test.js +299 -0
  280. package/dist/session/session-factory.test.js.map +1 -0
  281. package/dist/session-registry.d.ts +168 -0
  282. package/dist/session-registry.d.ts.map +1 -0
  283. package/dist/session-registry.js +626 -0
  284. package/dist/session-registry.js.map +1 -0
  285. package/dist/session-registry.test.d.ts +5 -0
  286. package/dist/session-registry.test.d.ts.map +1 -0
  287. package/dist/session-registry.test.js +582 -0
  288. package/dist/session-registry.test.js.map +1 -0
  289. package/dist/start-server.d.ts +31 -0
  290. package/dist/start-server.d.ts.map +1 -0
  291. package/dist/start-server.js +408 -0
  292. package/dist/start-server.js.map +1 -0
  293. package/dist/terminal-activator.d.ts +29 -0
  294. package/dist/terminal-activator.d.ts.map +1 -0
  295. package/dist/terminal-activator.js +264 -0
  296. package/dist/terminal-activator.js.map +1 -0
  297. package/dist/terminal-activator.test.d.ts +9 -0
  298. package/dist/terminal-activator.test.d.ts.map +1 -0
  299. package/dist/terminal-activator.test.js +95 -0
  300. package/dist/terminal-activator.test.js.map +1 -0
  301. package/dist/terminal-launcher.d.ts +51 -0
  302. package/dist/terminal-launcher.d.ts.map +1 -0
  303. package/dist/terminal-launcher.js +298 -0
  304. package/dist/terminal-launcher.js.map +1 -0
  305. package/dist/terminal-launcher.test.d.ts +8 -0
  306. package/dist/terminal-launcher.test.d.ts.map +1 -0
  307. package/dist/terminal-launcher.test.js +222 -0
  308. package/dist/terminal-launcher.test.js.map +1 -0
  309. package/dist/types.d.ts +796 -0
  310. package/dist/types.d.ts.map +1 -0
  311. package/dist/types.js +15 -0
  312. package/dist/types.js.map +1 -0
  313. package/dist/unix-socket.d.ts +68 -0
  314. package/dist/unix-socket.d.ts.map +1 -0
  315. package/dist/unix-socket.js +180 -0
  316. package/dist/unix-socket.js.map +1 -0
  317. package/dist/usage-limits.d.ts +13 -0
  318. package/dist/usage-limits.d.ts.map +1 -0
  319. package/dist/usage-limits.js +112 -0
  320. package/dist/usage-limits.js.map +1 -0
  321. package/dist/watchers/handoff-watcher.d.ts +74 -0
  322. package/dist/watchers/handoff-watcher.d.ts.map +1 -0
  323. package/dist/watchers/handoff-watcher.js +124 -0
  324. package/dist/watchers/handoff-watcher.js.map +1 -0
  325. package/dist/watchers/handoff-watcher.test.d.ts +8 -0
  326. package/dist/watchers/handoff-watcher.test.d.ts.map +1 -0
  327. package/dist/watchers/handoff-watcher.test.js +142 -0
  328. package/dist/watchers/handoff-watcher.test.js.map +1 -0
  329. package/dist/websocket.d.ts +107 -0
  330. package/dist/websocket.d.ts.map +1 -0
  331. package/dist/websocket.js +268 -0
  332. package/dist/websocket.js.map +1 -0
  333. package/dist/window-manager/index.d.ts +28 -0
  334. package/dist/window-manager/index.d.ts.map +1 -0
  335. package/dist/window-manager/index.js +56 -0
  336. package/dist/window-manager/index.js.map +1 -0
  337. package/dist/window-manager/layouts.d.ts +42 -0
  338. package/dist/window-manager/layouts.d.ts.map +1 -0
  339. package/dist/window-manager/layouts.js +133 -0
  340. package/dist/window-manager/layouts.js.map +1 -0
  341. package/dist/window-manager/linux-manager.d.ts +45 -0
  342. package/dist/window-manager/linux-manager.d.ts.map +1 -0
  343. package/dist/window-manager/linux-manager.js +299 -0
  344. package/dist/window-manager/linux-manager.js.map +1 -0
  345. package/dist/window-manager/macos-manager.d.ts +103 -0
  346. package/dist/window-manager/macos-manager.d.ts.map +1 -0
  347. package/dist/window-manager/macos-manager.js +637 -0
  348. package/dist/window-manager/macos-manager.js.map +1 -0
  349. package/dist/window-manager/smart-layouts.d.ts +116 -0
  350. package/dist/window-manager/smart-layouts.d.ts.map +1 -0
  351. package/dist/window-manager/smart-layouts.js +188 -0
  352. package/dist/window-manager/smart-layouts.js.map +1 -0
  353. package/dist/window-manager/smart-layouts.test.d.ts +8 -0
  354. package/dist/window-manager/smart-layouts.test.d.ts.map +1 -0
  355. package/dist/window-manager/smart-layouts.test.js +311 -0
  356. package/dist/window-manager/smart-layouts.test.js.map +1 -0
  357. package/dist/window-manager/tile-state.d.ts +87 -0
  358. package/dist/window-manager/tile-state.d.ts.map +1 -0
  359. package/dist/window-manager/tile-state.js +136 -0
  360. package/dist/window-manager/tile-state.js.map +1 -0
  361. package/dist/window-manager/tile-state.test.d.ts +8 -0
  362. package/dist/window-manager/tile-state.test.d.ts.map +1 -0
  363. package/dist/window-manager/tile-state.test.js +179 -0
  364. package/dist/window-manager/tile-state.test.js.map +1 -0
  365. package/dist/window-manager/types.d.ts +104 -0
  366. package/dist/window-manager/types.d.ts.map +1 -0
  367. package/dist/window-manager/types.js +8 -0
  368. package/dist/window-manager/types.js.map +1 -0
  369. package/dist/window-manager/windows-manager.d.ts +44 -0
  370. package/dist/window-manager/windows-manager.d.ts.map +1 -0
  371. package/dist/window-manager/windows-manager.js +281 -0
  372. package/dist/window-manager/windows-manager.js.map +1 -0
  373. package/dist/window-manager/windows-manager.test.d.ts +8 -0
  374. package/dist/window-manager/windows-manager.test.d.ts.map +1 -0
  375. package/dist/window-manager/windows-manager.test.js +183 -0
  376. package/dist/window-manager/windows-manager.test.js.map +1 -0
  377. package/gui-dist/assets/index-BmYIHRYe.js +142 -0
  378. package/gui-dist/assets/index-D_N5RH8O.css +1 -0
  379. package/gui-dist/assets/vendor-icons-ByXNrcwf.js +336 -0
  380. package/gui-dist/assets/vendor-markdown-DWPYwU1x.js +22 -0
  381. package/gui-dist/assets/vendor-react-CpILBTDM.js +59 -0
  382. package/gui-dist/index.html +17 -0
  383. package/gui-dist/jacsub.png +0 -0
  384. package/package.json +67 -0
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Settings Handler
3
+ *
4
+ * Handles WebSocket requests for settings management:
5
+ * - toggle_autocompact
6
+ * - update_notification_settings
7
+ * - get_handoff_context
8
+ */
9
+ import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs';
10
+ import { dirname } from 'path';
11
+ import { sendWsResponse } from './ws-utils.js';
12
+ import { ServerConfig } from '../config/config.js';
13
+ import { getCompactContextForSkill } from '@jacques-ai/core/handoff';
14
+ export class SettingsHandler {
15
+ registry;
16
+ wsServer;
17
+ notificationService;
18
+ logger;
19
+ constructor(deps) {
20
+ this.registry = deps.registry;
21
+ this.wsServer = deps.wsServer;
22
+ this.notificationService = deps.notificationService;
23
+ this.logger = deps.logger;
24
+ }
25
+ handleToggleAutoCompact(ws) {
26
+ try {
27
+ let settings = {};
28
+ if (existsSync(ServerConfig.claudeSettingsPath)) {
29
+ try {
30
+ const content = readFileSync(ServerConfig.claudeSettingsPath, 'utf-8');
31
+ settings = JSON.parse(content);
32
+ }
33
+ catch {
34
+ // Start fresh if file is corrupted
35
+ }
36
+ }
37
+ const currentValue = settings.autoCompact !== false;
38
+ const newValue = !currentValue;
39
+ settings.autoCompact = newValue;
40
+ const dir = dirname(ServerConfig.claudeSettingsPath);
41
+ if (!existsSync(dir)) {
42
+ mkdirSync(dir, { recursive: true });
43
+ }
44
+ writeFileSync(ServerConfig.claudeSettingsPath, JSON.stringify(settings, null, 2));
45
+ const response = {
46
+ type: 'autocompact_toggled',
47
+ enabled: newValue,
48
+ warning: newValue ? undefined : 'Known bug: may still trigger at ~78%',
49
+ };
50
+ this.logger.log(`Auto-compact toggled to: ${newValue ? 'ON' : 'OFF'}`);
51
+ sendWsResponse(ws, response);
52
+ // Update all sessions with new autocompact status
53
+ const sessions = this.registry.getAllSessions();
54
+ for (const session of sessions) {
55
+ session.autocompact = {
56
+ enabled: newValue,
57
+ threshold: ServerConfig.autoCompactThreshold,
58
+ bug_threshold: newValue ? null : 78,
59
+ };
60
+ this.wsServer.broadcastSessionUpdate(session);
61
+ }
62
+ }
63
+ catch (err) {
64
+ this.logger.error(`Failed to toggle auto-compact: ${err}`);
65
+ }
66
+ }
67
+ async handleGetHandoffContext(ws, request) {
68
+ const session = this.registry.getSession(request.session_id);
69
+ if (!session) {
70
+ this.sendHandoffError(ws, request.session_id, `Session not found: ${request.session_id}`);
71
+ return;
72
+ }
73
+ if (!session.transcript_path) {
74
+ this.sendHandoffError(ws, request.session_id, 'Session has no transcript path');
75
+ return;
76
+ }
77
+ const projectDir = session.workspace?.project_dir || session.cwd;
78
+ try {
79
+ this.logger.log(`Extracting compact handoff context for session ${request.session_id}`);
80
+ const result = await getCompactContextForSkill(session.transcript_path, projectDir);
81
+ const response = {
82
+ type: 'handoff_context',
83
+ session_id: request.session_id,
84
+ context: result.context,
85
+ token_estimate: result.tokenEstimate,
86
+ data: {
87
+ title: result.data.title,
88
+ projectDir: result.data.projectDir,
89
+ filesModified: result.data.filesModified,
90
+ toolsUsed: result.data.toolsUsed,
91
+ recentMessages: result.data.recentMessages,
92
+ assistantHighlights: result.data.assistantHighlights,
93
+ decisions: result.data.decisions,
94
+ technologies: result.data.technologies,
95
+ blockers: result.data.blockers,
96
+ totalUserMessages: result.data.totalUserMessages,
97
+ totalToolCalls: result.data.totalToolCalls,
98
+ plans: result.data.plans,
99
+ },
100
+ };
101
+ this.logger.log(`Compact context extracted: ~${result.tokenEstimate} tokens`);
102
+ sendWsResponse(ws, response);
103
+ }
104
+ catch (err) {
105
+ this.logger.error(`Failed to extract handoff context: ${err}`);
106
+ this.sendHandoffError(ws, request.session_id, `Failed to extract context: ${err instanceof Error ? err.message : String(err)}`);
107
+ }
108
+ }
109
+ handleUpdateNotificationSettings(ws, request) {
110
+ const updated = this.notificationService.updateSettings(request.settings);
111
+ const response = {
112
+ type: 'notification_settings',
113
+ settings: updated,
114
+ };
115
+ sendWsResponse(ws, response);
116
+ this.logger.log(`Notification settings updated: desktop=${updated.enabled}`);
117
+ }
118
+ sendHandoffError(ws, sessionId, error) {
119
+ const errorResponse = {
120
+ type: 'handoff_context_error',
121
+ session_id: sessionId,
122
+ error,
123
+ };
124
+ sendWsResponse(ws, errorResponse);
125
+ }
126
+ }
127
+ //# sourceMappingURL=settings-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-handler.js","sourceRoot":"","sources":["../../src/handlers/settings-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Settings Handler Tests
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=settings-handler.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-handler.test.d.ts","sourceRoot":"","sources":["../../src/handlers/settings-handler.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Settings Handler Tests
3
+ */
4
+ import { SettingsHandler } from './settings-handler.js';
5
+ import { SessionRegistry } from '../session-registry.js';
6
+ import { createLogger } from '../logging/logger-factory.js';
7
+ // Mock WebSocket
8
+ function createMockWs() {
9
+ const sent = [];
10
+ return {
11
+ ws: {
12
+ readyState: 1,
13
+ send: (data) => { sent.push(data); },
14
+ },
15
+ sent,
16
+ };
17
+ }
18
+ // Mock NotificationService
19
+ class MockNotificationService {
20
+ lastSettings = null;
21
+ updateSettings(settings) {
22
+ this.lastSettings = settings;
23
+ return { enabled: settings.enabled ?? true, ...settings };
24
+ }
25
+ }
26
+ // Mock JacquesWebSocketServer
27
+ class MockWsServer {
28
+ broadcasts = [];
29
+ sessionUpdates = [];
30
+ broadcastSessionUpdate(session) { this.sessionUpdates.push(session); }
31
+ broadcast(msg) { this.broadcasts.push(msg); }
32
+ }
33
+ describe('SettingsHandler', () => {
34
+ let handler;
35
+ let registry;
36
+ let mockWsServer;
37
+ let mockNotificationService;
38
+ const silentLogger = createLogger({ silent: true });
39
+ beforeEach(() => {
40
+ registry = new SessionRegistry({ silent: true });
41
+ mockWsServer = new MockWsServer();
42
+ mockNotificationService = new MockNotificationService();
43
+ handler = new SettingsHandler({
44
+ registry,
45
+ wsServer: mockWsServer,
46
+ notificationService: mockNotificationService,
47
+ logger: silentLogger,
48
+ });
49
+ });
50
+ describe('handleUpdateNotificationSettings', () => {
51
+ it('should update settings and send response back', () => {
52
+ const { ws, sent } = createMockWs();
53
+ handler.handleUpdateNotificationSettings(ws, {
54
+ type: 'update_notification_settings',
55
+ settings: { enabled: false },
56
+ });
57
+ // Verify notification service was called with the settings
58
+ expect(mockNotificationService.lastSettings).toEqual({ enabled: false });
59
+ // Verify response was sent back to the client
60
+ expect(sent).toHaveLength(1);
61
+ const response = JSON.parse(sent[0]);
62
+ expect(response.type).toBe('notification_settings');
63
+ expect(response.settings.enabled).toBe(false);
64
+ });
65
+ });
66
+ describe('handleGetHandoffContext', () => {
67
+ it('should return error when session not found', async () => {
68
+ const { ws, sent } = createMockWs();
69
+ await handler.handleGetHandoffContext(ws, {
70
+ type: 'get_handoff_context',
71
+ session_id: 'nonexistent-session',
72
+ });
73
+ expect(sent).toHaveLength(1);
74
+ const response = JSON.parse(sent[0]);
75
+ expect(response.type).toBe('handoff_context_error');
76
+ expect(response.session_id).toBe('nonexistent-session');
77
+ expect(response.error).toContain('Session not found');
78
+ });
79
+ it('should return error when session has no transcript_path', async () => {
80
+ const { ws, sent } = createMockWs();
81
+ // Register a session without a transcript_path
82
+ registry.registerSession({
83
+ event: 'session_start',
84
+ timestamp: Date.now(),
85
+ session_id: 'test-session',
86
+ session_title: 'Test',
87
+ transcript_path: null,
88
+ cwd: '/test',
89
+ project: 'test',
90
+ terminal: null,
91
+ terminal_key: 'TTY:/dev/ttys001',
92
+ });
93
+ await handler.handleGetHandoffContext(ws, {
94
+ type: 'get_handoff_context',
95
+ session_id: 'test-session',
96
+ });
97
+ expect(sent).toHaveLength(1);
98
+ const response = JSON.parse(sent[0]);
99
+ expect(response.type).toBe('handoff_context_error');
100
+ expect(response.session_id).toBe('test-session');
101
+ expect(response.error).toContain('no transcript path');
102
+ });
103
+ });
104
+ });
105
+ //# sourceMappingURL=settings-handler.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-handler.test.js","sourceRoot":"","sources":["../../src/handlers/settings-handler.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Window Handler
3
+ *
4
+ * Handles WebSocket requests for window management:
5
+ * - tile_windows
6
+ * - maximize_window
7
+ * - position_browser_layout
8
+ * - smart_tile_add
9
+ */
10
+ import { WebSocket } from 'ws';
11
+ import type { SessionRegistry } from '../session-registry.js';
12
+ import type { Logger } from '../logging/logger-factory.js';
13
+ import type { TileStateManager } from '../window-manager/tile-state.js';
14
+ import type { TileWindowsRequest, MaximizeWindowRequest, PositionBrowserLayoutRequest, SmartTileAddRequest } from '../types.js';
15
+ export interface WindowHandlerDeps {
16
+ registry: SessionRegistry;
17
+ tileStateManager: TileStateManager;
18
+ logger: Logger;
19
+ }
20
+ export declare class WindowHandler {
21
+ private registry;
22
+ private tileStateManager;
23
+ private logger;
24
+ constructor(deps: WindowHandlerDeps);
25
+ handleTileWindows(ws: WebSocket, request: TileWindowsRequest): Promise<void>;
26
+ handleMaximizeWindow(ws: WebSocket, request: MaximizeWindowRequest): Promise<void>;
27
+ handlePositionBrowserLayout(ws: WebSocket, request: PositionBrowserLayoutRequest): Promise<void>;
28
+ handleSmartTileAdd(ws: WebSocket, request: SmartTileAddRequest): Promise<void>;
29
+ }
30
+ //# sourceMappingURL=window-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window-handler.d.ts","sourceRoot":"","sources":["../../src/handlers/window-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAE/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAKxE,OAAO,KAAK,EACV,kBAAkB,EAElB,qBAAqB,EAErB,4BAA4B,EAE5B,mBAAmB,EAEpB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,eAAe,CAAC;IAC1B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,MAAM,CAAS;gBAEX,IAAI,EAAE,iBAAiB;IAM7B,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8G5E,oBAAoB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4DlF,2BAA2B,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IAoHhG,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAoOrF"}