@claude-flow/shared 3.0.0-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 (541) hide show
  1. package/.agentic-flow/intelligence.json +16 -0
  2. package/README.md +323 -0
  3. package/__tests__/coverage/base.css +224 -0
  4. package/__tests__/coverage/block-navigation.js +87 -0
  5. package/__tests__/coverage/coverage-final.json +50 -0
  6. package/__tests__/coverage/favicon.png +0 -0
  7. package/__tests__/coverage/index.html +326 -0
  8. package/__tests__/coverage/lcov-report/base.css +224 -0
  9. package/__tests__/coverage/lcov-report/block-navigation.js +87 -0
  10. package/__tests__/coverage/lcov-report/favicon.png +0 -0
  11. package/__tests__/coverage/lcov-report/index.html +326 -0
  12. package/__tests__/coverage/lcov-report/prettify.css +1 -0
  13. package/__tests__/coverage/lcov-report/prettify.js +2 -0
  14. package/__tests__/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  15. package/__tests__/coverage/lcov-report/sorter.js +210 -0
  16. package/__tests__/coverage/lcov-report/src/core/config/defaults.ts.html +706 -0
  17. package/__tests__/coverage/lcov-report/src/core/config/index.html +161 -0
  18. package/__tests__/coverage/lcov-report/src/core/config/loader.ts.html +898 -0
  19. package/__tests__/coverage/lcov-report/src/core/config/schema.ts.html +649 -0
  20. package/__tests__/coverage/lcov-report/src/core/config/validator.ts.html +712 -0
  21. package/__tests__/coverage/lcov-report/src/core/event-bus.ts.html +793 -0
  22. package/__tests__/coverage/lcov-report/src/core/index.html +116 -0
  23. package/__tests__/coverage/lcov-report/src/core/interfaces/event.interface.ts.html +886 -0
  24. package/__tests__/coverage/lcov-report/src/core/interfaces/index.html +116 -0
  25. package/__tests__/coverage/lcov-report/src/core/orchestrator/event-coordinator.ts.html +451 -0
  26. package/__tests__/coverage/lcov-report/src/core/orchestrator/health-monitor.ts.html +727 -0
  27. package/__tests__/coverage/lcov-report/src/core/orchestrator/index.html +176 -0
  28. package/__tests__/coverage/lcov-report/src/core/orchestrator/lifecycle-manager.ts.html +874 -0
  29. package/__tests__/coverage/lcov-report/src/core/orchestrator/session-manager.ts.html +922 -0
  30. package/__tests__/coverage/lcov-report/src/core/orchestrator/task-manager.ts.html +1036 -0
  31. package/__tests__/coverage/lcov-report/src/events/domain-events.ts.html +1837 -0
  32. package/__tests__/coverage/lcov-report/src/events/event-store.ts.html +1849 -0
  33. package/__tests__/coverage/lcov-report/src/events/example-usage.ts.html +964 -0
  34. package/__tests__/coverage/lcov-report/src/events/index.html +176 -0
  35. package/__tests__/coverage/lcov-report/src/events/projections.ts.html +1768 -0
  36. package/__tests__/coverage/lcov-report/src/events/state-reconstructor.ts.html +1132 -0
  37. package/__tests__/coverage/lcov-report/src/events.ts.html +1186 -0
  38. package/__tests__/coverage/lcov-report/src/hooks/example-usage.ts.html +1582 -0
  39. package/__tests__/coverage/lcov-report/src/hooks/executor.ts.html +1222 -0
  40. package/__tests__/coverage/lcov-report/src/hooks/index.html +191 -0
  41. package/__tests__/coverage/lcov-report/src/hooks/registry.ts.html +1084 -0
  42. package/__tests__/coverage/lcov-report/src/hooks/safety/bash-safety.ts.html +1897 -0
  43. package/__tests__/coverage/lcov-report/src/hooks/safety/file-organization.ts.html +1504 -0
  44. package/__tests__/coverage/lcov-report/src/hooks/safety/git-commit.ts.html +1954 -0
  45. package/__tests__/coverage/lcov-report/src/hooks/safety/index.html +146 -0
  46. package/__tests__/coverage/lcov-report/src/hooks/session-hooks.ts.html +1762 -0
  47. package/__tests__/coverage/lcov-report/src/hooks/task-hooks.ts.html +1624 -0
  48. package/__tests__/coverage/lcov-report/src/hooks/types.ts.html +1156 -0
  49. package/__tests__/coverage/lcov-report/src/index.html +176 -0
  50. package/__tests__/coverage/lcov-report/src/mcp/connection-pool.ts.html +1399 -0
  51. package/__tests__/coverage/lcov-report/src/mcp/index.html +176 -0
  52. package/__tests__/coverage/lcov-report/src/mcp/server.ts.html +2407 -0
  53. package/__tests__/coverage/lcov-report/src/mcp/session-manager.ts.html +1369 -0
  54. package/__tests__/coverage/lcov-report/src/mcp/tool-registry.ts.html +1783 -0
  55. package/__tests__/coverage/lcov-report/src/mcp/transport/http.ts.html +1756 -0
  56. package/__tests__/coverage/lcov-report/src/mcp/transport/index.html +146 -0
  57. package/__tests__/coverage/lcov-report/src/mcp/transport/stdio.ts.html +1057 -0
  58. package/__tests__/coverage/lcov-report/src/mcp/transport/websocket.ts.html +1537 -0
  59. package/__tests__/coverage/lcov-report/src/mcp/types.ts.html +1780 -0
  60. package/__tests__/coverage/lcov-report/src/plugin-interface.ts.html +2074 -0
  61. package/__tests__/coverage/lcov-report/src/plugin-loader.ts.html +1999 -0
  62. package/__tests__/coverage/lcov-report/src/plugin-registry.ts.html +1897 -0
  63. package/__tests__/coverage/lcov-report/src/plugins/official/hive-mind-plugin.ts.html +1075 -0
  64. package/__tests__/coverage/lcov-report/src/plugins/official/index.html +131 -0
  65. package/__tests__/coverage/lcov-report/src/plugins/official/maestro-plugin.ts.html +1609 -0
  66. package/__tests__/coverage/lcov-report/src/resilience/bulkhead.ts.html +916 -0
  67. package/__tests__/coverage/lcov-report/src/resilience/circuit-breaker.ts.html +1063 -0
  68. package/__tests__/coverage/lcov-report/src/resilience/index.html +161 -0
  69. package/__tests__/coverage/lcov-report/src/resilience/rate-limiter.ts.html +1345 -0
  70. package/__tests__/coverage/lcov-report/src/resilience/retry.ts.html +757 -0
  71. package/__tests__/coverage/lcov-report/src/security/index.html +131 -0
  72. package/__tests__/coverage/lcov-report/src/security/input-validation.ts.html +880 -0
  73. package/__tests__/coverage/lcov-report/src/security/secure-random.ts.html +562 -0
  74. package/__tests__/coverage/lcov-report/src/types/index.html +131 -0
  75. package/__tests__/coverage/lcov-report/src/types/swarm.types.ts.html +850 -0
  76. package/__tests__/coverage/lcov-report/src/types/task.types.ts.html +700 -0
  77. package/__tests__/coverage/lcov-report/src/types.ts.html +1186 -0
  78. package/__tests__/coverage/lcov-report/src/utils/index.html +116 -0
  79. package/__tests__/coverage/lcov-report/src/utils/secure-logger.ts.html +856 -0
  80. package/__tests__/coverage/lcov.info +19877 -0
  81. package/__tests__/coverage/prettify.css +1 -0
  82. package/__tests__/coverage/prettify.js +2 -0
  83. package/__tests__/coverage/sort-arrow-sprite.png +0 -0
  84. package/__tests__/coverage/sorter.js +210 -0
  85. package/__tests__/coverage/src/core/config/defaults.ts.html +706 -0
  86. package/__tests__/coverage/src/core/config/index.html +161 -0
  87. package/__tests__/coverage/src/core/config/loader.ts.html +898 -0
  88. package/__tests__/coverage/src/core/config/schema.ts.html +649 -0
  89. package/__tests__/coverage/src/core/config/validator.ts.html +712 -0
  90. package/__tests__/coverage/src/core/event-bus.ts.html +793 -0
  91. package/__tests__/coverage/src/core/index.html +116 -0
  92. package/__tests__/coverage/src/core/interfaces/event.interface.ts.html +886 -0
  93. package/__tests__/coverage/src/core/interfaces/index.html +116 -0
  94. package/__tests__/coverage/src/core/orchestrator/event-coordinator.ts.html +451 -0
  95. package/__tests__/coverage/src/core/orchestrator/health-monitor.ts.html +727 -0
  96. package/__tests__/coverage/src/core/orchestrator/index.html +176 -0
  97. package/__tests__/coverage/src/core/orchestrator/lifecycle-manager.ts.html +874 -0
  98. package/__tests__/coverage/src/core/orchestrator/session-manager.ts.html +922 -0
  99. package/__tests__/coverage/src/core/orchestrator/task-manager.ts.html +1036 -0
  100. package/__tests__/coverage/src/events/domain-events.ts.html +1837 -0
  101. package/__tests__/coverage/src/events/event-store.ts.html +1849 -0
  102. package/__tests__/coverage/src/events/example-usage.ts.html +964 -0
  103. package/__tests__/coverage/src/events/index.html +176 -0
  104. package/__tests__/coverage/src/events/projections.ts.html +1768 -0
  105. package/__tests__/coverage/src/events/state-reconstructor.ts.html +1132 -0
  106. package/__tests__/coverage/src/events.ts.html +1186 -0
  107. package/__tests__/coverage/src/hooks/example-usage.ts.html +1582 -0
  108. package/__tests__/coverage/src/hooks/executor.ts.html +1222 -0
  109. package/__tests__/coverage/src/hooks/index.html +191 -0
  110. package/__tests__/coverage/src/hooks/registry.ts.html +1084 -0
  111. package/__tests__/coverage/src/hooks/safety/bash-safety.ts.html +1897 -0
  112. package/__tests__/coverage/src/hooks/safety/file-organization.ts.html +1504 -0
  113. package/__tests__/coverage/src/hooks/safety/git-commit.ts.html +1954 -0
  114. package/__tests__/coverage/src/hooks/safety/index.html +146 -0
  115. package/__tests__/coverage/src/hooks/session-hooks.ts.html +1762 -0
  116. package/__tests__/coverage/src/hooks/task-hooks.ts.html +1624 -0
  117. package/__tests__/coverage/src/hooks/types.ts.html +1156 -0
  118. package/__tests__/coverage/src/index.html +176 -0
  119. package/__tests__/coverage/src/mcp/connection-pool.ts.html +1399 -0
  120. package/__tests__/coverage/src/mcp/index.html +176 -0
  121. package/__tests__/coverage/src/mcp/server.ts.html +2407 -0
  122. package/__tests__/coverage/src/mcp/session-manager.ts.html +1369 -0
  123. package/__tests__/coverage/src/mcp/tool-registry.ts.html +1783 -0
  124. package/__tests__/coverage/src/mcp/transport/http.ts.html +1756 -0
  125. package/__tests__/coverage/src/mcp/transport/index.html +146 -0
  126. package/__tests__/coverage/src/mcp/transport/stdio.ts.html +1057 -0
  127. package/__tests__/coverage/src/mcp/transport/websocket.ts.html +1537 -0
  128. package/__tests__/coverage/src/mcp/types.ts.html +1780 -0
  129. package/__tests__/coverage/src/plugin-interface.ts.html +2074 -0
  130. package/__tests__/coverage/src/plugin-loader.ts.html +1999 -0
  131. package/__tests__/coverage/src/plugin-registry.ts.html +1897 -0
  132. package/__tests__/coverage/src/plugins/official/hive-mind-plugin.ts.html +1075 -0
  133. package/__tests__/coverage/src/plugins/official/index.html +131 -0
  134. package/__tests__/coverage/src/plugins/official/maestro-plugin.ts.html +1609 -0
  135. package/__tests__/coverage/src/resilience/bulkhead.ts.html +916 -0
  136. package/__tests__/coverage/src/resilience/circuit-breaker.ts.html +1063 -0
  137. package/__tests__/coverage/src/resilience/index.html +161 -0
  138. package/__tests__/coverage/src/resilience/rate-limiter.ts.html +1345 -0
  139. package/__tests__/coverage/src/resilience/retry.ts.html +757 -0
  140. package/__tests__/coverage/src/security/index.html +131 -0
  141. package/__tests__/coverage/src/security/input-validation.ts.html +880 -0
  142. package/__tests__/coverage/src/security/secure-random.ts.html +562 -0
  143. package/__tests__/coverage/src/types/index.html +131 -0
  144. package/__tests__/coverage/src/types/swarm.types.ts.html +850 -0
  145. package/__tests__/coverage/src/types/task.types.ts.html +700 -0
  146. package/__tests__/coverage/src/types.ts.html +1186 -0
  147. package/__tests__/coverage/src/utils/index.html +116 -0
  148. package/__tests__/coverage/src/utils/secure-logger.ts.html +856 -0
  149. package/__tests__/hooks/bash-safety.test.ts +289 -0
  150. package/__tests__/hooks/file-organization.test.ts +335 -0
  151. package/__tests__/hooks/git-commit.test.ts +336 -0
  152. package/__tests__/hooks/index.ts +23 -0
  153. package/__tests__/hooks/session-hooks.test.ts +357 -0
  154. package/__tests__/hooks/task-hooks.test.ts +193 -0
  155. package/dist/core/config/defaults.d.ts +41 -0
  156. package/dist/core/config/defaults.d.ts.map +1 -0
  157. package/dist/core/config/defaults.js +186 -0
  158. package/dist/core/config/defaults.js.map +1 -0
  159. package/dist/core/config/index.d.ts +8 -0
  160. package/dist/core/config/index.d.ts.map +1 -0
  161. package/dist/core/config/index.js +12 -0
  162. package/dist/core/config/index.js.map +1 -0
  163. package/dist/core/config/loader.d.ts +45 -0
  164. package/dist/core/config/loader.d.ts.map +1 -0
  165. package/dist/core/config/loader.js +222 -0
  166. package/dist/core/config/loader.js.map +1 -0
  167. package/dist/core/config/schema.d.ts +1134 -0
  168. package/dist/core/config/schema.d.ts.map +1 -0
  169. package/dist/core/config/schema.js +158 -0
  170. package/dist/core/config/schema.js.map +1 -0
  171. package/dist/core/config/validator.d.ts +92 -0
  172. package/dist/core/config/validator.d.ts.map +1 -0
  173. package/dist/core/config/validator.js +147 -0
  174. package/dist/core/config/validator.js.map +1 -0
  175. package/dist/core/event-bus.d.ts +31 -0
  176. package/dist/core/event-bus.d.ts.map +1 -0
  177. package/dist/core/event-bus.js +197 -0
  178. package/dist/core/event-bus.js.map +1 -0
  179. package/dist/core/index.d.ts +15 -0
  180. package/dist/core/index.d.ts.map +1 -0
  181. package/dist/core/index.js +19 -0
  182. package/dist/core/index.js.map +1 -0
  183. package/dist/core/interfaces/agent.interface.d.ts +200 -0
  184. package/dist/core/interfaces/agent.interface.d.ts.map +1 -0
  185. package/dist/core/interfaces/agent.interface.js +6 -0
  186. package/dist/core/interfaces/agent.interface.js.map +1 -0
  187. package/dist/core/interfaces/coordinator.interface.d.ts +310 -0
  188. package/dist/core/interfaces/coordinator.interface.d.ts.map +1 -0
  189. package/dist/core/interfaces/coordinator.interface.js +7 -0
  190. package/dist/core/interfaces/coordinator.interface.js.map +1 -0
  191. package/dist/core/interfaces/event.interface.d.ts +224 -0
  192. package/dist/core/interfaces/event.interface.d.ts.map +1 -0
  193. package/dist/core/interfaces/event.interface.js +46 -0
  194. package/dist/core/interfaces/event.interface.js.map +1 -0
  195. package/dist/core/interfaces/index.d.ts +10 -0
  196. package/dist/core/interfaces/index.d.ts.map +1 -0
  197. package/dist/core/interfaces/index.js +15 -0
  198. package/dist/core/interfaces/index.js.map +1 -0
  199. package/dist/core/interfaces/memory.interface.d.ts +298 -0
  200. package/dist/core/interfaces/memory.interface.d.ts.map +1 -0
  201. package/dist/core/interfaces/memory.interface.js +7 -0
  202. package/dist/core/interfaces/memory.interface.js.map +1 -0
  203. package/dist/core/interfaces/task.interface.d.ts +185 -0
  204. package/dist/core/interfaces/task.interface.d.ts.map +1 -0
  205. package/dist/core/interfaces/task.interface.js +6 -0
  206. package/dist/core/interfaces/task.interface.js.map +1 -0
  207. package/dist/core/orchestrator/event-coordinator.d.ts +35 -0
  208. package/dist/core/orchestrator/event-coordinator.d.ts.map +1 -0
  209. package/dist/core/orchestrator/event-coordinator.js +101 -0
  210. package/dist/core/orchestrator/event-coordinator.js.map +1 -0
  211. package/dist/core/orchestrator/health-monitor.d.ts +60 -0
  212. package/dist/core/orchestrator/health-monitor.d.ts.map +1 -0
  213. package/dist/core/orchestrator/health-monitor.js +166 -0
  214. package/dist/core/orchestrator/health-monitor.js.map +1 -0
  215. package/dist/core/orchestrator/index.d.ts +46 -0
  216. package/dist/core/orchestrator/index.d.ts.map +1 -0
  217. package/dist/core/orchestrator/index.js +64 -0
  218. package/dist/core/orchestrator/index.js.map +1 -0
  219. package/dist/core/orchestrator/lifecycle-manager.d.ts +56 -0
  220. package/dist/core/orchestrator/lifecycle-manager.d.ts.map +1 -0
  221. package/dist/core/orchestrator/lifecycle-manager.js +195 -0
  222. package/dist/core/orchestrator/lifecycle-manager.js.map +1 -0
  223. package/dist/core/orchestrator/session-manager.d.ts +83 -0
  224. package/dist/core/orchestrator/session-manager.d.ts.map +1 -0
  225. package/dist/core/orchestrator/session-manager.js +193 -0
  226. package/dist/core/orchestrator/session-manager.js.map +1 -0
  227. package/dist/core/orchestrator/task-manager.d.ts +49 -0
  228. package/dist/core/orchestrator/task-manager.d.ts.map +1 -0
  229. package/dist/core/orchestrator/task-manager.js +253 -0
  230. package/dist/core/orchestrator/task-manager.js.map +1 -0
  231. package/dist/events/domain-events.d.ts +282 -0
  232. package/dist/events/domain-events.d.ts.map +1 -0
  233. package/dist/events/domain-events.js +165 -0
  234. package/dist/events/domain-events.js.map +1 -0
  235. package/dist/events/event-store.d.ts +126 -0
  236. package/dist/events/event-store.d.ts.map +1 -0
  237. package/dist/events/event-store.js +416 -0
  238. package/dist/events/event-store.js.map +1 -0
  239. package/dist/events/event-store.test.d.ts +8 -0
  240. package/dist/events/event-store.test.d.ts.map +1 -0
  241. package/dist/events/event-store.test.js +293 -0
  242. package/dist/events/event-store.test.js.map +1 -0
  243. package/dist/events/example-usage.d.ts +10 -0
  244. package/dist/events/example-usage.d.ts.map +1 -0
  245. package/dist/events/example-usage.js +193 -0
  246. package/dist/events/example-usage.js.map +1 -0
  247. package/dist/events/index.d.ts +19 -0
  248. package/dist/events/index.d.ts.map +1 -0
  249. package/dist/events/index.js +20 -0
  250. package/dist/events/index.js.map +1 -0
  251. package/dist/events/projections.d.ts +177 -0
  252. package/dist/events/projections.d.ts.map +1 -0
  253. package/dist/events/projections.js +421 -0
  254. package/dist/events/projections.js.map +1 -0
  255. package/dist/events/state-reconstructor.d.ts +101 -0
  256. package/dist/events/state-reconstructor.d.ts.map +1 -0
  257. package/dist/events/state-reconstructor.js +263 -0
  258. package/dist/events/state-reconstructor.js.map +1 -0
  259. package/dist/events.d.ts +80 -0
  260. package/dist/events.d.ts.map +1 -0
  261. package/dist/events.js +249 -0
  262. package/dist/events.js.map +1 -0
  263. package/dist/hooks/example-usage.d.ts +42 -0
  264. package/dist/hooks/example-usage.d.ts.map +1 -0
  265. package/dist/hooks/example-usage.js +351 -0
  266. package/dist/hooks/example-usage.js.map +1 -0
  267. package/dist/hooks/executor.d.ts +100 -0
  268. package/dist/hooks/executor.d.ts.map +1 -0
  269. package/dist/hooks/executor.js +264 -0
  270. package/dist/hooks/executor.js.map +1 -0
  271. package/dist/hooks/hooks.test.d.ts +9 -0
  272. package/dist/hooks/hooks.test.d.ts.map +1 -0
  273. package/dist/hooks/hooks.test.js +322 -0
  274. package/dist/hooks/hooks.test.js.map +1 -0
  275. package/dist/hooks/index.d.ts +52 -0
  276. package/dist/hooks/index.d.ts.map +1 -0
  277. package/dist/hooks/index.js +51 -0
  278. package/dist/hooks/index.js.map +1 -0
  279. package/dist/hooks/registry.d.ts +133 -0
  280. package/dist/hooks/registry.d.ts.map +1 -0
  281. package/dist/hooks/registry.js +277 -0
  282. package/dist/hooks/registry.js.map +1 -0
  283. package/dist/hooks/safety/bash-safety.d.ts +105 -0
  284. package/dist/hooks/safety/bash-safety.d.ts.map +1 -0
  285. package/dist/hooks/safety/bash-safety.js +481 -0
  286. package/dist/hooks/safety/bash-safety.js.map +1 -0
  287. package/dist/hooks/safety/file-organization.d.ts +144 -0
  288. package/dist/hooks/safety/file-organization.d.ts.map +1 -0
  289. package/dist/hooks/safety/file-organization.js +328 -0
  290. package/dist/hooks/safety/file-organization.js.map +1 -0
  291. package/dist/hooks/safety/git-commit.d.ts +158 -0
  292. package/dist/hooks/safety/git-commit.d.ts.map +1 -0
  293. package/dist/hooks/safety/git-commit.js +450 -0
  294. package/dist/hooks/safety/git-commit.js.map +1 -0
  295. package/dist/hooks/safety/index.d.ts +17 -0
  296. package/dist/hooks/safety/index.d.ts.map +1 -0
  297. package/dist/hooks/safety/index.js +17 -0
  298. package/dist/hooks/safety/index.js.map +1 -0
  299. package/dist/hooks/session-hooks.d.ts +234 -0
  300. package/dist/hooks/session-hooks.d.ts.map +1 -0
  301. package/dist/hooks/session-hooks.js +334 -0
  302. package/dist/hooks/session-hooks.js.map +1 -0
  303. package/dist/hooks/task-hooks.d.ts +163 -0
  304. package/dist/hooks/task-hooks.d.ts.map +1 -0
  305. package/dist/hooks/task-hooks.js +326 -0
  306. package/dist/hooks/task-hooks.js.map +1 -0
  307. package/dist/hooks/types.d.ts +267 -0
  308. package/dist/hooks/types.d.ts.map +1 -0
  309. package/dist/hooks/types.js +62 -0
  310. package/dist/hooks/types.js.map +1 -0
  311. package/dist/hooks/verify-exports.test.d.ts +9 -0
  312. package/dist/hooks/verify-exports.test.d.ts.map +1 -0
  313. package/dist/hooks/verify-exports.test.js +93 -0
  314. package/dist/hooks/verify-exports.test.js.map +1 -0
  315. package/dist/index.d.ts +19 -0
  316. package/dist/index.d.ts.map +1 -0
  317. package/dist/index.js +46 -0
  318. package/dist/index.js.map +1 -0
  319. package/dist/mcp/connection-pool.d.ts +98 -0
  320. package/dist/mcp/connection-pool.d.ts.map +1 -0
  321. package/dist/mcp/connection-pool.js +364 -0
  322. package/dist/mcp/connection-pool.js.map +1 -0
  323. package/dist/mcp/index.d.ts +69 -0
  324. package/dist/mcp/index.d.ts.map +1 -0
  325. package/dist/mcp/index.js +84 -0
  326. package/dist/mcp/index.js.map +1 -0
  327. package/dist/mcp/server.d.ts +166 -0
  328. package/dist/mcp/server.d.ts.map +1 -0
  329. package/dist/mcp/server.js +593 -0
  330. package/dist/mcp/server.js.map +1 -0
  331. package/dist/mcp/session-manager.d.ts +136 -0
  332. package/dist/mcp/session-manager.d.ts.map +1 -0
  333. package/dist/mcp/session-manager.js +335 -0
  334. package/dist/mcp/session-manager.js.map +1 -0
  335. package/dist/mcp/tool-registry.d.ts +178 -0
  336. package/dist/mcp/tool-registry.d.ts.map +1 -0
  337. package/dist/mcp/tool-registry.js +439 -0
  338. package/dist/mcp/tool-registry.js.map +1 -0
  339. package/dist/mcp/transport/http.d.ts +104 -0
  340. package/dist/mcp/transport/http.d.ts.map +1 -0
  341. package/dist/mcp/transport/http.js +476 -0
  342. package/dist/mcp/transport/http.js.map +1 -0
  343. package/dist/mcp/transport/index.d.ts +102 -0
  344. package/dist/mcp/transport/index.d.ts.map +1 -0
  345. package/dist/mcp/transport/index.js +238 -0
  346. package/dist/mcp/transport/index.js.map +1 -0
  347. package/dist/mcp/transport/stdio.d.ts +104 -0
  348. package/dist/mcp/transport/stdio.d.ts.map +1 -0
  349. package/dist/mcp/transport/stdio.js +263 -0
  350. package/dist/mcp/transport/stdio.js.map +1 -0
  351. package/dist/mcp/transport/websocket.d.ts +133 -0
  352. package/dist/mcp/transport/websocket.d.ts.map +1 -0
  353. package/dist/mcp/transport/websocket.js +396 -0
  354. package/dist/mcp/transport/websocket.js.map +1 -0
  355. package/dist/mcp/types.d.ts +438 -0
  356. package/dist/mcp/types.d.ts.map +1 -0
  357. package/dist/mcp/types.js +54 -0
  358. package/dist/mcp/types.js.map +1 -0
  359. package/dist/plugin-interface.d.ts +544 -0
  360. package/dist/plugin-interface.d.ts.map +1 -0
  361. package/dist/plugin-interface.js +23 -0
  362. package/dist/plugin-interface.js.map +1 -0
  363. package/dist/plugin-loader.d.ts +139 -0
  364. package/dist/plugin-loader.d.ts.map +1 -0
  365. package/dist/plugin-loader.js +434 -0
  366. package/dist/plugin-loader.js.map +1 -0
  367. package/dist/plugin-registry.d.ts +183 -0
  368. package/dist/plugin-registry.d.ts.map +1 -0
  369. package/dist/plugin-registry.js +457 -0
  370. package/dist/plugin-registry.js.map +1 -0
  371. package/dist/plugins/index.d.ts +10 -0
  372. package/dist/plugins/index.d.ts.map +1 -0
  373. package/dist/plugins/index.js +10 -0
  374. package/dist/plugins/index.js.map +1 -0
  375. package/dist/plugins/official/hive-mind-plugin.d.ts +106 -0
  376. package/dist/plugins/official/hive-mind-plugin.d.ts.map +1 -0
  377. package/dist/plugins/official/hive-mind-plugin.js +241 -0
  378. package/dist/plugins/official/hive-mind-plugin.js.map +1 -0
  379. package/dist/plugins/official/index.d.ts +10 -0
  380. package/dist/plugins/official/index.d.ts.map +1 -0
  381. package/dist/plugins/official/index.js +10 -0
  382. package/dist/plugins/official/index.js.map +1 -0
  383. package/dist/plugins/official/maestro-plugin.d.ts +121 -0
  384. package/dist/plugins/official/maestro-plugin.d.ts.map +1 -0
  385. package/dist/plugins/official/maestro-plugin.js +355 -0
  386. package/dist/plugins/official/maestro-plugin.js.map +1 -0
  387. package/dist/plugins/types.d.ts +93 -0
  388. package/dist/plugins/types.d.ts.map +1 -0
  389. package/dist/plugins/types.js +9 -0
  390. package/dist/plugins/types.js.map +1 -0
  391. package/dist/resilience/bulkhead.d.ts +105 -0
  392. package/dist/resilience/bulkhead.d.ts.map +1 -0
  393. package/dist/resilience/bulkhead.js +206 -0
  394. package/dist/resilience/bulkhead.js.map +1 -0
  395. package/dist/resilience/circuit-breaker.d.ts +132 -0
  396. package/dist/resilience/circuit-breaker.d.ts.map +1 -0
  397. package/dist/resilience/circuit-breaker.js +233 -0
  398. package/dist/resilience/circuit-breaker.js.map +1 -0
  399. package/dist/resilience/index.d.ts +19 -0
  400. package/dist/resilience/index.d.ts.map +1 -0
  401. package/dist/resilience/index.js +19 -0
  402. package/dist/resilience/index.js.map +1 -0
  403. package/dist/resilience/rate-limiter.d.ts +168 -0
  404. package/dist/resilience/rate-limiter.d.ts.map +1 -0
  405. package/dist/resilience/rate-limiter.js +314 -0
  406. package/dist/resilience/rate-limiter.js.map +1 -0
  407. package/dist/resilience/retry.d.ts +91 -0
  408. package/dist/resilience/retry.d.ts.map +1 -0
  409. package/dist/resilience/retry.js +159 -0
  410. package/dist/resilience/retry.js.map +1 -0
  411. package/dist/security/index.d.ts +10 -0
  412. package/dist/security/index.d.ts.map +1 -0
  413. package/dist/security/index.js +12 -0
  414. package/dist/security/index.js.map +1 -0
  415. package/dist/security/input-validation.d.ts +73 -0
  416. package/dist/security/input-validation.d.ts.map +1 -0
  417. package/dist/security/input-validation.js +201 -0
  418. package/dist/security/input-validation.js.map +1 -0
  419. package/dist/security/secure-random.d.ts +92 -0
  420. package/dist/security/secure-random.d.ts.map +1 -0
  421. package/dist/security/secure-random.js +142 -0
  422. package/dist/security/secure-random.js.map +1 -0
  423. package/dist/types/agent.types.d.ts +137 -0
  424. package/dist/types/agent.types.d.ts.map +1 -0
  425. package/dist/types/agent.types.js +6 -0
  426. package/dist/types/agent.types.js.map +1 -0
  427. package/dist/types/index.d.ts +11 -0
  428. package/dist/types/index.d.ts.map +1 -0
  429. package/dist/types/index.js +17 -0
  430. package/dist/types/index.js.map +1 -0
  431. package/dist/types/mcp.types.d.ts +266 -0
  432. package/dist/types/mcp.types.d.ts.map +1 -0
  433. package/dist/types/mcp.types.js +7 -0
  434. package/dist/types/mcp.types.js.map +1 -0
  435. package/dist/types/memory.types.d.ts +236 -0
  436. package/dist/types/memory.types.d.ts.map +1 -0
  437. package/dist/types/memory.types.js +7 -0
  438. package/dist/types/memory.types.js.map +1 -0
  439. package/dist/types/swarm.types.d.ts +186 -0
  440. package/dist/types/swarm.types.d.ts.map +1 -0
  441. package/dist/types/swarm.types.js +65 -0
  442. package/dist/types/swarm.types.js.map +1 -0
  443. package/dist/types/task.types.d.ts +178 -0
  444. package/dist/types/task.types.d.ts.map +1 -0
  445. package/dist/types/task.types.js +32 -0
  446. package/dist/types/task.types.js.map +1 -0
  447. package/dist/types.d.ts +197 -0
  448. package/dist/types.d.ts.map +1 -0
  449. package/dist/types.js +21 -0
  450. package/dist/types.js.map +1 -0
  451. package/dist/utils/secure-logger.d.ts +69 -0
  452. package/dist/utils/secure-logger.d.ts.map +1 -0
  453. package/dist/utils/secure-logger.js +208 -0
  454. package/dist/utils/secure-logger.js.map +1 -0
  455. package/docs/EVENTS_IMPLEMENTATION_SUMMARY.md +388 -0
  456. package/docs/EVENTS_QUICK_REFERENCE.md +470 -0
  457. package/docs/EVENTS_README.md +352 -0
  458. package/package.json +34 -0
  459. package/src/core/config/defaults.ts +207 -0
  460. package/src/core/config/index.ts +15 -0
  461. package/src/core/config/loader.ts +271 -0
  462. package/src/core/config/schema.ts +188 -0
  463. package/src/core/config/validator.ts +209 -0
  464. package/src/core/event-bus.ts +236 -0
  465. package/src/core/index.ts +22 -0
  466. package/src/core/interfaces/agent.interface.ts +251 -0
  467. package/src/core/interfaces/coordinator.interface.ts +363 -0
  468. package/src/core/interfaces/event.interface.ts +267 -0
  469. package/src/core/interfaces/index.ts +19 -0
  470. package/src/core/interfaces/memory.interface.ts +332 -0
  471. package/src/core/interfaces/task.interface.ts +223 -0
  472. package/src/core/orchestrator/event-coordinator.ts +122 -0
  473. package/src/core/orchestrator/health-monitor.ts +214 -0
  474. package/src/core/orchestrator/index.ts +89 -0
  475. package/src/core/orchestrator/lifecycle-manager.ts +263 -0
  476. package/src/core/orchestrator/session-manager.ts +279 -0
  477. package/src/core/orchestrator/task-manager.ts +317 -0
  478. package/src/events/domain-events.ts +584 -0
  479. package/src/events/event-store.test.ts +387 -0
  480. package/src/events/event-store.ts +588 -0
  481. package/src/events/example-usage.ts +293 -0
  482. package/src/events/index.ts +90 -0
  483. package/src/events/projections.ts +561 -0
  484. package/src/events/state-reconstructor.ts +349 -0
  485. package/src/events.ts +367 -0
  486. package/src/hooks/INTEGRATION.md +658 -0
  487. package/src/hooks/README.md +532 -0
  488. package/src/hooks/example-usage.ts +499 -0
  489. package/src/hooks/executor.ts +379 -0
  490. package/src/hooks/hooks.test.ts +421 -0
  491. package/src/hooks/index.ts +131 -0
  492. package/src/hooks/registry.ts +333 -0
  493. package/src/hooks/safety/bash-safety.ts +604 -0
  494. package/src/hooks/safety/file-organization.ts +473 -0
  495. package/src/hooks/safety/git-commit.ts +623 -0
  496. package/src/hooks/safety/index.ts +46 -0
  497. package/src/hooks/session-hooks.ts +559 -0
  498. package/src/hooks/task-hooks.ts +513 -0
  499. package/src/hooks/types.ts +357 -0
  500. package/src/hooks/verify-exports.test.ts +125 -0
  501. package/src/index.ts +190 -0
  502. package/src/mcp/connection-pool.ts +438 -0
  503. package/src/mcp/index.ts +183 -0
  504. package/src/mcp/server.ts +774 -0
  505. package/src/mcp/session-manager.ts +428 -0
  506. package/src/mcp/tool-registry.ts +566 -0
  507. package/src/mcp/transport/http.ts +557 -0
  508. package/src/mcp/transport/index.ts +294 -0
  509. package/src/mcp/transport/stdio.ts +324 -0
  510. package/src/mcp/transport/websocket.ts +484 -0
  511. package/src/mcp/types.ts +565 -0
  512. package/src/plugin-interface.ts +663 -0
  513. package/src/plugin-loader.ts +638 -0
  514. package/src/plugin-registry.ts +604 -0
  515. package/src/plugins/index.ts +34 -0
  516. package/src/plugins/official/hive-mind-plugin.ts +330 -0
  517. package/src/plugins/official/index.ts +24 -0
  518. package/src/plugins/official/maestro-plugin.ts +508 -0
  519. package/src/plugins/types.ts +108 -0
  520. package/src/resilience/bulkhead.ts +277 -0
  521. package/src/resilience/circuit-breaker.ts +326 -0
  522. package/src/resilience/index.ts +26 -0
  523. package/src/resilience/rate-limiter.ts +420 -0
  524. package/src/resilience/retry.ts +224 -0
  525. package/src/security/index.ts +39 -0
  526. package/src/security/input-validation.ts +265 -0
  527. package/src/security/secure-random.ts +159 -0
  528. package/src/types/agent.types.ts +144 -0
  529. package/src/types/index.ts +22 -0
  530. package/src/types/mcp.types.ts +300 -0
  531. package/src/types/memory.types.ts +263 -0
  532. package/src/types/swarm.types.ts +255 -0
  533. package/src/types/task.types.ts +205 -0
  534. package/src/types.ts +367 -0
  535. package/src/utils/secure-logger.d.ts +69 -0
  536. package/src/utils/secure-logger.d.ts.map +1 -0
  537. package/src/utils/secure-logger.js +208 -0
  538. package/src/utils/secure-logger.js.map +1 -0
  539. package/src/utils/secure-logger.ts +257 -0
  540. package/tsconfig.json +9 -0
  541. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,450 @@
1
+ /**
2
+ * V3 Git Commit Hook
3
+ *
4
+ * TypeScript conversion of V2 git-commit-hook.sh.
5
+ * Provides conventional commit formatting, JIRA ticket extraction,
6
+ * co-author addition, and commit message validation.
7
+ *
8
+ * @module v3/shared/hooks/safety/git-commit
9
+ */
10
+ import { HookEvent, HookPriority, } from '../types.js';
11
+ const COMMIT_TYPE_PATTERNS = [
12
+ {
13
+ keywords: ['add', 'implement', 'create', 'introduce', 'new'],
14
+ type: 'feat',
15
+ description: 'A new feature',
16
+ },
17
+ {
18
+ keywords: ['fix', 'resolve', 'repair', 'patch', 'correct', 'bug'],
19
+ type: 'fix',
20
+ description: 'A bug fix',
21
+ },
22
+ {
23
+ keywords: ['doc', 'docs', 'readme', 'comment', 'documentation'],
24
+ type: 'docs',
25
+ description: 'Documentation changes',
26
+ },
27
+ {
28
+ keywords: ['style', 'format', 'lint', 'whitespace', 'prettier'],
29
+ type: 'style',
30
+ description: 'Code style changes',
31
+ },
32
+ {
33
+ keywords: ['refactor', 'restructure', 'reorganize', 'extract', 'simplify'],
34
+ type: 'refactor',
35
+ description: 'Code refactoring',
36
+ },
37
+ {
38
+ keywords: ['perf', 'performance', 'optimize', 'speed', 'faster'],
39
+ type: 'perf',
40
+ description: 'Performance improvements',
41
+ },
42
+ {
43
+ keywords: ['test', 'tests', 'spec', 'coverage', 'unittest'],
44
+ type: 'test',
45
+ description: 'Adding or updating tests',
46
+ },
47
+ {
48
+ keywords: ['build', 'webpack', 'rollup', 'vite', 'esbuild', 'package'],
49
+ type: 'build',
50
+ description: 'Build system changes',
51
+ },
52
+ {
53
+ keywords: ['ci', 'github action', 'workflow', 'pipeline', 'travis', 'jenkins'],
54
+ type: 'ci',
55
+ description: 'CI/CD changes',
56
+ },
57
+ {
58
+ keywords: ['chore', 'update', 'upgrade', 'bump', 'dependency', 'deps'],
59
+ type: 'chore',
60
+ description: 'Maintenance tasks',
61
+ },
62
+ {
63
+ keywords: ['revert', 'rollback', 'undo'],
64
+ type: 'revert',
65
+ description: 'Reverting changes',
66
+ },
67
+ ];
68
+ /**
69
+ * Ticket patterns (JIRA, GitHub, etc.)
70
+ */
71
+ const TICKET_PATTERNS = [
72
+ {
73
+ name: 'JIRA',
74
+ pattern: /([A-Z]{2,10}-\d+)/,
75
+ format: (match) => match[1],
76
+ },
77
+ {
78
+ name: 'GitHub Issue',
79
+ pattern: /#(\d+)/,
80
+ format: (match) => `#${match[1]}`,
81
+ },
82
+ {
83
+ name: 'Linear',
84
+ pattern: /([A-Z]{2,10}-[A-Z0-9]+)/,
85
+ format: (match) => match[1],
86
+ },
87
+ ];
88
+ const DEFAULT_CO_AUTHOR = {
89
+ name: 'Claude Opus 4.5',
90
+ email: 'noreply@anthropic.com',
91
+ };
92
+ const DEFAULT_CONFIG = {
93
+ maxSubjectLength: 72,
94
+ maxBodyLength: 100,
95
+ requireConventional: true,
96
+ addCoAuthor: true,
97
+ coAuthor: DEFAULT_CO_AUTHOR,
98
+ addClaudeReference: true,
99
+ };
100
+ /**
101
+ * Git Commit Hook Manager
102
+ */
103
+ export class GitCommitHook {
104
+ registry;
105
+ config;
106
+ constructor(registry, config) {
107
+ this.registry = registry;
108
+ this.config = { ...DEFAULT_CONFIG, ...config };
109
+ this.registerHooks();
110
+ }
111
+ /**
112
+ * Register git commit hooks
113
+ */
114
+ registerHooks() {
115
+ // We use PreCommand hook since there's no specific commit hook event
116
+ // In practice, this would be called when detecting git commit commands
117
+ this.registry.register(HookEvent.PreCommand, this.handlePreCommit.bind(this), HookPriority.Normal, { name: 'git-commit:pre-commit' });
118
+ }
119
+ /**
120
+ * Handle pre-commit (when a git commit command is detected)
121
+ */
122
+ async handlePreCommit(context) {
123
+ const command = context.command?.command || '';
124
+ // Only process git commit commands
125
+ if (!command.includes('git commit')) {
126
+ return { success: true };
127
+ }
128
+ // Extract message from command if present
129
+ const messageMatch = command.match(/-m\s+["']([^"']+)["']/);
130
+ if (!messageMatch) {
131
+ return { success: true }; // No message to process
132
+ }
133
+ const message = messageMatch[1];
134
+ const branchName = context.metadata?.branchName;
135
+ const result = await this.processCommitMessage(message, branchName);
136
+ // Modify the command with the new message
137
+ if (result.success && result.modifiedMessage !== message) {
138
+ const modifiedCommand = command.replace(/-m\s+["'][^"']+["']/, `-m "${result.modifiedMessage.replace(/"/g, '\\"')}"`);
139
+ return {
140
+ ...result,
141
+ data: {
142
+ command: {
143
+ ...context.command,
144
+ command: modifiedCommand,
145
+ },
146
+ },
147
+ };
148
+ }
149
+ return result;
150
+ }
151
+ /**
152
+ * Process commit message
153
+ */
154
+ async processCommitMessage(message, branchName) {
155
+ const originalMessage = message;
156
+ let modifiedMessage = message;
157
+ const validationIssues = [];
158
+ const suggestions = [];
159
+ // Parse existing message structure
160
+ const { subject, body, footer } = this.parseMessage(message);
161
+ // Detect commit type
162
+ const commitType = this.detectCommitType(subject);
163
+ // Add commit type prefix if not present and type was detected
164
+ if (commitType && !this.hasConventionalPrefix(subject)) {
165
+ modifiedMessage = `${commitType}: ${this.lowercaseFirstLetter(subject)}`;
166
+ suggestions.push(`Added conventional commit prefix: ${commitType}`);
167
+ }
168
+ else if (!commitType && this.config.requireConventional && !this.hasConventionalPrefix(subject)) {
169
+ // No type detected but conventional commits are required - suggest adding a prefix
170
+ suggestions.push('Consider adding a conventional commit prefix (feat:, fix:, docs:, etc.)');
171
+ }
172
+ // Validate subject length
173
+ if (subject.length > this.config.maxSubjectLength) {
174
+ validationIssues.push({
175
+ type: 'length',
176
+ severity: 'warning',
177
+ description: `Subject line exceeds ${this.config.maxSubjectLength} characters`,
178
+ suggestedFix: 'Shorten the subject line',
179
+ });
180
+ }
181
+ // Extract ticket reference from branch name
182
+ let ticketReference;
183
+ if (branchName) {
184
+ ticketReference = this.extractTicket(branchName);
185
+ if (ticketReference && !modifiedMessage.includes(ticketReference)) {
186
+ modifiedMessage = this.addTicketReference(modifiedMessage, ticketReference);
187
+ suggestions.push(`Added ticket reference: ${ticketReference}`);
188
+ }
189
+ }
190
+ // Add Claude Code reference and co-author
191
+ let coAuthorAdded = false;
192
+ if (this.config.addClaudeReference || this.config.addCoAuthor) {
193
+ const additions = [];
194
+ if (this.config.addClaudeReference) {
195
+ additions.push('\n\nGenerated with [Claude Code](https://claude.com/claude-code)');
196
+ }
197
+ if (this.config.addCoAuthor) {
198
+ additions.push(`\n\nCo-Authored-By: ${this.config.coAuthor.name} <${this.config.coAuthor.email}>`);
199
+ coAuthorAdded = true;
200
+ }
201
+ // Only add if not already present
202
+ for (const addition of additions) {
203
+ const searchStr = addition.trim().split('\n')[0];
204
+ if (!modifiedMessage.includes(searchStr)) {
205
+ modifiedMessage += addition;
206
+ }
207
+ }
208
+ }
209
+ // Validate conventional commit format
210
+ if (this.config.requireConventional) {
211
+ const conventionalIssues = this.validateConventional(modifiedMessage);
212
+ validationIssues.push(...conventionalIssues);
213
+ }
214
+ return {
215
+ success: true,
216
+ originalMessage,
217
+ modifiedMessage,
218
+ commitType,
219
+ ticketReference,
220
+ coAuthorAdded,
221
+ validationIssues: validationIssues.length > 0 ? validationIssues : undefined,
222
+ suggestions: suggestions.length > 0 ? suggestions : undefined,
223
+ };
224
+ }
225
+ /**
226
+ * Parse commit message into parts
227
+ */
228
+ parseMessage(message) {
229
+ const parts = message.split('\n\n');
230
+ return {
231
+ subject: parts[0] || '',
232
+ body: parts[1],
233
+ footer: parts.slice(2).join('\n\n'),
234
+ };
235
+ }
236
+ /**
237
+ * Detect commit type from message
238
+ */
239
+ detectCommitType(message) {
240
+ const lowerMessage = message.toLowerCase();
241
+ // First check if message already has conventional prefix
242
+ const prefixMatch = lowerMessage.match(/^(feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(\(.+\))?:/);
243
+ if (prefixMatch) {
244
+ return prefixMatch[1];
245
+ }
246
+ // Score each commit type based on keyword matches
247
+ // More specific/unique keywords get higher weight
248
+ const scores = new Map();
249
+ // High-priority patterns (check these first as they're more specific)
250
+ const priorityPatterns = [
251
+ // Test patterns - high priority because "add tests" should be 'test' not 'feat'
252
+ { pattern: /\b(test|tests|spec|specs|unittest|unit test|testing)\b/i, type: 'test', weight: 3 },
253
+ // Docs patterns
254
+ { pattern: /\b(doc|docs|documentation|readme|comment|comments)\b/i, type: 'docs', weight: 3 },
255
+ // Revert patterns
256
+ { pattern: /\b(revert|rollback|undo)\b/i, type: 'revert', weight: 3 },
257
+ // Fix patterns (bug-specific)
258
+ { pattern: /\b(fix|bug|bugfix|resolve|patch|hotfix)\b/i, type: 'fix', weight: 2 },
259
+ // CI patterns
260
+ { pattern: /\b(ci|github action|workflow|pipeline|travis|jenkins|circleci)\b/i, type: 'ci', weight: 3 },
261
+ // Build patterns
262
+ { pattern: /\b(build|webpack|rollup|vite|esbuild|bundler|package\.json)\b/i, type: 'build', weight: 2 },
263
+ // Perf patterns
264
+ { pattern: /\b(perf|performance|optimize|speed|faster|slow)\b/i, type: 'perf', weight: 2 },
265
+ // Refactor patterns
266
+ { pattern: /\b(refactor|restructure|reorganize|extract|simplify|clean)\b/i, type: 'refactor', weight: 2 },
267
+ // Style patterns
268
+ { pattern: /\b(style|format|lint|whitespace|prettier|eslint)\b/i, type: 'style', weight: 2 },
269
+ // Chore patterns - specifically for dependencies
270
+ { pattern: /\b(dependency|dependencies|deps|bump|upgrade version)\b/i, type: 'chore', weight: 2 },
271
+ // Generic update is lower priority (could be chore or other)
272
+ { pattern: /\b(update)\b/i, type: 'chore', weight: 1 },
273
+ // Feat patterns (generic add/create/implement)
274
+ { pattern: /\b(add|implement|create|introduce|new feature)\b/i, type: 'feat', weight: 1 },
275
+ ];
276
+ // Calculate scores for each pattern
277
+ for (const { pattern, type, weight } of priorityPatterns) {
278
+ if (pattern.test(lowerMessage)) {
279
+ const currentScore = scores.get(type) || 0;
280
+ scores.set(type, currentScore + weight);
281
+ }
282
+ }
283
+ // Find highest scoring type
284
+ let maxScore = 0;
285
+ let detectedType;
286
+ for (const [type, score] of scores) {
287
+ if (score > maxScore) {
288
+ maxScore = score;
289
+ detectedType = type;
290
+ }
291
+ }
292
+ return detectedType;
293
+ }
294
+ /**
295
+ * Check if message has conventional commit prefix
296
+ */
297
+ hasConventionalPrefix(message) {
298
+ return /^(feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(\(.+\))?:/.test(message.toLowerCase());
299
+ }
300
+ /**
301
+ * Lowercase first letter of a string
302
+ */
303
+ lowercaseFirstLetter(str) {
304
+ // Don't lowercase if it's an acronym or proper noun
305
+ if (/^[A-Z]{2,}/.test(str)) {
306
+ return str;
307
+ }
308
+ return str.charAt(0).toLowerCase() + str.slice(1);
309
+ }
310
+ /**
311
+ * Extract ticket reference from branch name
312
+ */
313
+ extractTicket(branchName) {
314
+ for (const { pattern, format } of TICKET_PATTERNS) {
315
+ const match = pattern.exec(branchName);
316
+ if (match) {
317
+ return format(match);
318
+ }
319
+ }
320
+ return undefined;
321
+ }
322
+ /**
323
+ * Add ticket reference to message
324
+ */
325
+ addTicketReference(message, ticket) {
326
+ const parts = message.split('\n\n');
327
+ const subject = parts[0];
328
+ const rest = parts.slice(1).join('\n\n');
329
+ // Add refs line
330
+ if (rest) {
331
+ return `${subject}\n\nRefs: ${ticket}\n\n${rest}`;
332
+ }
333
+ return `${subject}\n\nRefs: ${ticket}`;
334
+ }
335
+ /**
336
+ * Validate conventional commit format
337
+ */
338
+ validateConventional(message) {
339
+ const issues = [];
340
+ const lines = message.split('\n');
341
+ const subject = lines[0] || '';
342
+ // Check for conventional prefix
343
+ if (!this.hasConventionalPrefix(subject)) {
344
+ issues.push({
345
+ type: 'format',
346
+ severity: 'warning',
347
+ description: 'Missing conventional commit prefix',
348
+ suggestedFix: 'Add a prefix like feat:, fix:, docs:, etc.',
349
+ });
350
+ }
351
+ // Check subject line starts with lowercase (after prefix)
352
+ const afterPrefix = subject.replace(/^[a-z]+(\(.+\))?: /, '');
353
+ if (afterPrefix && /^[A-Z]/.test(afterPrefix) && !/^[A-Z]{2,}/.test(afterPrefix)) {
354
+ issues.push({
355
+ type: 'format',
356
+ severity: 'info',
357
+ description: 'Subject should start with lowercase (conventional style)',
358
+ suggestedFix: 'Use lowercase for the first word after the prefix',
359
+ });
360
+ }
361
+ // Check for period at end of subject
362
+ if (subject.endsWith('.')) {
363
+ issues.push({
364
+ type: 'format',
365
+ severity: 'info',
366
+ description: 'Subject line should not end with a period',
367
+ suggestedFix: 'Remove the trailing period',
368
+ });
369
+ }
370
+ // Check body line lengths
371
+ for (let i = 1; i < lines.length; i++) {
372
+ const line = lines[i];
373
+ if (line.length > this.config.maxBodyLength && !line.startsWith('Co-Authored-By:')) {
374
+ issues.push({
375
+ type: 'body',
376
+ severity: 'info',
377
+ description: `Line ${i + 1} exceeds ${this.config.maxBodyLength} characters`,
378
+ suggestedFix: 'Wrap long lines in the commit body',
379
+ });
380
+ break; // Only report first occurrence
381
+ }
382
+ }
383
+ // Check for breaking change indicator
384
+ if (subject.includes('!:') || message.includes('BREAKING CHANGE:')) {
385
+ issues.push({
386
+ type: 'breaking',
387
+ severity: 'info',
388
+ description: 'Breaking change detected - ensure changelog is updated',
389
+ });
390
+ }
391
+ return issues;
392
+ }
393
+ /**
394
+ * Process commit message manually
395
+ */
396
+ async process(message, branchName) {
397
+ return this.processCommitMessage(message, branchName);
398
+ }
399
+ /**
400
+ * Format a commit message with heredoc-style for git
401
+ */
402
+ formatForGit(message) {
403
+ // Escape for heredoc usage
404
+ return `$(cat <<'EOF'
405
+ ${message}
406
+ EOF
407
+ )`;
408
+ }
409
+ /**
410
+ * Generate a commit command with formatted message
411
+ */
412
+ generateCommitCommand(message) {
413
+ return `git commit -m "${this.formatForGit(message)}"`;
414
+ }
415
+ /**
416
+ * Get commit type description
417
+ */
418
+ getCommitTypeDescription(type) {
419
+ const pattern = COMMIT_TYPE_PATTERNS.find(p => p.type === type);
420
+ return pattern?.description || 'Unknown commit type';
421
+ }
422
+ /**
423
+ * Get all available commit types
424
+ */
425
+ getAllCommitTypes() {
426
+ return COMMIT_TYPE_PATTERNS.map(p => ({
427
+ type: p.type,
428
+ description: p.description,
429
+ }));
430
+ }
431
+ /**
432
+ * Update configuration
433
+ */
434
+ setConfig(config) {
435
+ this.config = { ...this.config, ...config };
436
+ }
437
+ /**
438
+ * Get current configuration
439
+ */
440
+ getConfig() {
441
+ return { ...this.config };
442
+ }
443
+ }
444
+ /**
445
+ * Create git commit hook
446
+ */
447
+ export function createGitCommitHook(registry, config) {
448
+ return new GitCommitHook(registry, config);
449
+ }
450
+ //# sourceMappingURL=git-commit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-commit.js","sourceRoot":"","sources":["../../../src/hooks/safety/git-commit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * V3 Safety Hooks - Index
3
+ *
4
+ * TypeScript conversions of V2 shell hooks for:
5
+ * - Bash command safety
6
+ * - File organization enforcement
7
+ * - Git commit formatting
8
+ *
9
+ * @module v3/shared/hooks/safety
10
+ */
11
+ export { BashSafetyHook, createBashSafetyHook, } from './bash-safety.js';
12
+ export type { BashSafetyResult, CommandRisk, } from './bash-safety.js';
13
+ export { FileOrganizationHook, createFileOrganizationHook, } from './file-organization.js';
14
+ export type { FileOrganizationResult, FormatterRecommendation, LinterRecommendation, OrganizationIssue, } from './file-organization.js';
15
+ export { GitCommitHook, createGitCommitHook, } from './git-commit.js';
16
+ export type { GitCommitResult, CommitType, CommitValidationIssue, } from './git-commit.js';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/safety/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,cAAc,EACd,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,gBAAgB,EAChB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,aAAa,EACb,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,eAAe,EACf,UAAU,EACV,qBAAqB,GACtB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * V3 Safety Hooks - Index
3
+ *
4
+ * TypeScript conversions of V2 shell hooks for:
5
+ * - Bash command safety
6
+ * - File organization enforcement
7
+ * - Git commit formatting
8
+ *
9
+ * @module v3/shared/hooks/safety
10
+ */
11
+ // Bash safety hook
12
+ export { BashSafetyHook, createBashSafetyHook, } from './bash-safety.js';
13
+ // File organization hook
14
+ export { FileOrganizationHook, createFileOrganizationHook, } from './file-organization.js';
15
+ // Git commit hook
16
+ export { GitCommitHook, createGitCommitHook, } from './git-commit.js';
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/safety/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,mBAAmB;AACnB,OAAO,EACL,cAAc,EACd,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAO1B,yBAAyB;AACzB,OAAO,EACL,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAShC,kBAAkB;AAClB,OAAO,EACL,aAAa,EACb,mBAAmB,GACpB,MAAM,iBAAiB,CAAC"}