crewly 1.0.6 → 1.0.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 (321) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +146 -40
  3. package/config/roles/architect/prompt.md +11 -0
  4. package/config/roles/backend-developer/prompt.md +11 -0
  5. package/config/roles/designer/prompt.md +11 -0
  6. package/config/roles/developer/prompt.md +18 -4
  7. package/config/roles/frontend-developer/prompt.md +11 -0
  8. package/config/roles/fullstack-dev/prompt.md +11 -0
  9. package/config/roles/generalist/prompt.md +11 -0
  10. package/config/roles/orchestrator/prompt.md +53 -10
  11. package/config/roles/product-manager/prompt.md +18 -4
  12. package/config/roles/qa/prompt.md +11 -0
  13. package/config/roles/qa-engineer/prompt.md +11 -0
  14. package/config/roles/sales/prompt.md +11 -0
  15. package/config/roles/support/prompt.md +11 -0
  16. package/config/roles/tpm/prompt.md +11 -0
  17. package/config/skills/orchestrator/complete-task/execute.sh +1 -0
  18. package/config/templates/agent-claude-md.md +16 -0
  19. package/config/templates/research-team.json +22 -0
  20. package/config/templates/startup-team.json +22 -0
  21. package/config/templates/web-dev-team.json +22 -0
  22. package/dist/backend/backend/src/constants.d.ts +61 -1
  23. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  24. package/dist/backend/backend/src/constants.js +65 -7
  25. package/dist/backend/backend/src/constants.js.map +1 -1
  26. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  27. package/dist/backend/backend/src/controllers/slack/slack.controller.js +7 -0
  28. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  29. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +7 -0
  30. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +1 -1
  31. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +174 -4
  32. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -1
  33. package/dist/backend/backend/src/index.d.ts.map +1 -1
  34. package/dist/backend/backend/src/index.js +34 -0
  35. package/dist/backend/backend/src/index.js.map +1 -1
  36. package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts.map +1 -1
  37. package/dist/backend/backend/src/routes/modules/task-management.routes.js +2 -0
  38. package/dist/backend/backend/src/routes/modules/task-management.routes.js.map +1 -1
  39. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +8 -0
  40. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  41. package/dist/backend/backend/src/services/agent/agent-registration.service.js +75 -17
  42. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  43. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts +222 -0
  44. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -0
  45. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js +621 -0
  46. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js.map +1 -0
  47. package/dist/backend/backend/src/services/index.d.ts +3 -0
  48. package/dist/backend/backend/src/services/index.d.ts.map +1 -1
  49. package/dist/backend/backend/src/services/index.js +5 -0
  50. package/dist/backend/backend/src/services/index.js.map +1 -1
  51. package/dist/backend/backend/src/services/mcp-client.d.ts +233 -0
  52. package/dist/backend/backend/src/services/mcp-client.d.ts.map +1 -0
  53. package/dist/backend/backend/src/services/mcp-client.js +297 -0
  54. package/dist/backend/backend/src/services/mcp-client.js.map +1 -0
  55. package/dist/backend/backend/src/services/mcp-server.d.ts +167 -0
  56. package/dist/backend/backend/src/services/mcp-server.d.ts.map +1 -0
  57. package/dist/backend/backend/src/services/mcp-server.js +586 -0
  58. package/dist/backend/backend/src/services/mcp-server.js.map +1 -0
  59. package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts +2 -0
  60. package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts.map +1 -1
  61. package/dist/backend/backend/src/services/messaging/message-queue.service.js +6 -1
  62. package/dist/backend/backend/src/services/messaging/message-queue.service.js.map +1 -1
  63. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts +10 -0
  64. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  65. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +94 -38
  66. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  67. package/dist/backend/backend/src/services/quality/index.d.ts +1 -0
  68. package/dist/backend/backend/src/services/quality/index.d.ts.map +1 -1
  69. package/dist/backend/backend/src/services/quality/index.js +1 -0
  70. package/dist/backend/backend/src/services/quality/index.js.map +1 -1
  71. package/dist/backend/backend/src/services/quality/task-output-validator.service.d.ts +84 -0
  72. package/dist/backend/backend/src/services/quality/task-output-validator.service.d.ts.map +1 -0
  73. package/dist/backend/backend/src/services/quality/task-output-validator.service.js +163 -0
  74. package/dist/backend/backend/src/services/quality/task-output-validator.service.js.map +1 -0
  75. package/dist/backend/backend/src/services/runtime-adapter.d.ts +234 -0
  76. package/dist/backend/backend/src/services/runtime-adapter.d.ts.map +1 -0
  77. package/dist/backend/backend/src/services/runtime-adapter.js +180 -0
  78. package/dist/backend/backend/src/services/runtime-adapter.js.map +1 -0
  79. package/dist/backend/backend/src/services/slack/slack-credentials.service.d.ts +33 -0
  80. package/dist/backend/backend/src/services/slack/slack-credentials.service.d.ts.map +1 -0
  81. package/dist/backend/backend/src/services/slack/slack-credentials.service.js +103 -0
  82. package/dist/backend/backend/src/services/slack/slack-credentials.service.js.map +1 -0
  83. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts +9 -1
  84. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
  85. package/dist/backend/backend/src/services/slack/slack-initializer.js +31 -2
  86. package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
  87. package/dist/backend/backend/src/types/event-bus.types.d.ts +2 -2
  88. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  89. package/dist/backend/backend/src/types/event-bus.types.js +2 -0
  90. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  91. package/dist/backend/backend/src/types/index.d.ts +1 -0
  92. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  93. package/dist/backend/backend/src/types/index.js +2 -0
  94. package/dist/backend/backend/src/types/index.js.map +1 -1
  95. package/dist/backend/backend/src/types/messaging.types.d.ts +9 -6
  96. package/dist/backend/backend/src/types/messaging.types.d.ts.map +1 -1
  97. package/dist/backend/backend/src/types/messaging.types.js +10 -3
  98. package/dist/backend/backend/src/types/messaging.types.js.map +1 -1
  99. package/dist/backend/backend/src/types/task-output.types.d.ts +78 -0
  100. package/dist/backend/backend/src/types/task-output.types.d.ts.map +1 -0
  101. package/dist/backend/backend/src/types/task-output.types.js +27 -0
  102. package/dist/backend/backend/src/types/task-output.types.js.map +1 -0
  103. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts +13 -0
  104. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
  105. package/dist/backend/backend/src/websocket/terminal.gateway.js +12 -0
  106. package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
  107. package/dist/cli/backend/src/constants.d.ts +751 -0
  108. package/dist/cli/backend/src/constants.d.ts.map +1 -0
  109. package/dist/cli/backend/src/constants.js +550 -0
  110. package/dist/cli/backend/src/constants.js.map +1 -0
  111. package/dist/cli/backend/src/models/Project.d.ts +18 -0
  112. package/dist/cli/backend/src/models/Project.d.ts.map +1 -0
  113. package/dist/cli/backend/src/models/Project.js +70 -0
  114. package/dist/cli/backend/src/models/Project.js.map +1 -0
  115. package/dist/cli/backend/src/models/ScheduledMessage.d.ts +27 -0
  116. package/dist/cli/backend/src/models/ScheduledMessage.d.ts.map +1 -0
  117. package/dist/cli/backend/src/models/ScheduledMessage.js +50 -0
  118. package/dist/cli/backend/src/models/ScheduledMessage.js.map +1 -0
  119. package/dist/cli/backend/src/models/Team.d.ts +20 -0
  120. package/dist/cli/backend/src/models/Team.d.ts.map +1 -0
  121. package/dist/cli/backend/src/models/Team.js +120 -0
  122. package/dist/cli/backend/src/models/Team.js.map +1 -0
  123. package/dist/cli/backend/src/models/Ticket.d.ts +24 -0
  124. package/dist/cli/backend/src/models/Ticket.d.ts.map +1 -0
  125. package/dist/cli/backend/src/models/Ticket.js +102 -0
  126. package/dist/cli/backend/src/models/Ticket.js.map +1 -0
  127. package/dist/cli/backend/src/models/index.d.ts +5 -0
  128. package/dist/cli/backend/src/models/index.d.ts.map +1 -0
  129. package/dist/cli/backend/src/models/index.js +5 -0
  130. package/dist/cli/backend/src/models/index.js.map +1 -0
  131. package/dist/cli/backend/src/services/core/config.service.d.ts +91 -0
  132. package/dist/cli/backend/src/services/core/config.service.d.ts.map +1 -0
  133. package/dist/cli/backend/src/services/core/config.service.js +246 -0
  134. package/dist/cli/backend/src/services/core/config.service.js.map +1 -0
  135. package/dist/cli/backend/src/services/core/logger.service.d.ts +70 -0
  136. package/dist/cli/backend/src/services/core/logger.service.d.ts.map +1 -0
  137. package/dist/cli/backend/src/services/core/logger.service.js +350 -0
  138. package/dist/cli/backend/src/services/core/logger.service.js.map +1 -0
  139. package/dist/cli/backend/src/services/core/storage.service.d.ts +269 -0
  140. package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -0
  141. package/dist/cli/backend/src/services/core/storage.service.js +1406 -0
  142. package/dist/cli/backend/src/services/core/storage.service.js.map +1 -0
  143. package/dist/cli/backend/src/services/core/teams-backup.service.d.ts +92 -0
  144. package/dist/cli/backend/src/services/core/teams-backup.service.d.ts.map +1 -0
  145. package/dist/cli/backend/src/services/core/teams-backup.service.js +120 -0
  146. package/dist/cli/backend/src/services/core/teams-backup.service.js.map +1 -0
  147. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts +125 -0
  148. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts.map +1 -0
  149. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js +247 -0
  150. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js.map +1 -0
  151. package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts +153 -0
  152. package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts.map +1 -0
  153. package/dist/cli/backend/src/services/knowledge/knowledge.service.js +409 -0
  154. package/dist/cli/backend/src/services/knowledge/knowledge.service.js.map +1 -0
  155. package/dist/cli/backend/src/services/mcp-server.d.ts +167 -0
  156. package/dist/cli/backend/src/services/mcp-server.d.ts.map +1 -0
  157. package/dist/cli/backend/src/services/mcp-server.js +586 -0
  158. package/dist/cli/backend/src/services/mcp-server.js.map +1 -0
  159. package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts +259 -0
  160. package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts.map +1 -0
  161. package/dist/cli/backend/src/services/memory/agent-memory.service.js +539 -0
  162. package/dist/cli/backend/src/services/memory/agent-memory.service.js.map +1 -0
  163. package/dist/cli/backend/src/services/memory/memory.service.d.ts +306 -0
  164. package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -0
  165. package/dist/cli/backend/src/services/memory/memory.service.js +517 -0
  166. package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -0
  167. package/dist/cli/backend/src/services/memory/project-memory.service.d.ts +252 -0
  168. package/dist/cli/backend/src/services/memory/project-memory.service.d.ts.map +1 -0
  169. package/dist/cli/backend/src/services/memory/project-memory.service.js +600 -0
  170. package/dist/cli/backend/src/services/memory/project-memory.service.js.map +1 -0
  171. package/dist/cli/backend/src/types/auto-assign.types.d.ts +271 -0
  172. package/dist/cli/backend/src/types/auto-assign.types.d.ts.map +1 -0
  173. package/dist/cli/backend/src/types/auto-assign.types.js +136 -0
  174. package/dist/cli/backend/src/types/auto-assign.types.js.map +1 -0
  175. package/dist/cli/backend/src/types/budget.types.d.ts +217 -0
  176. package/dist/cli/backend/src/types/budget.types.d.ts.map +1 -0
  177. package/dist/cli/backend/src/types/budget.types.js +82 -0
  178. package/dist/cli/backend/src/types/budget.types.js.map +1 -0
  179. package/dist/cli/backend/src/types/chat.types.d.ts +550 -0
  180. package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -0
  181. package/dist/cli/backend/src/types/chat.types.js +743 -0
  182. package/dist/cli/backend/src/types/chat.types.js.map +1 -0
  183. package/dist/cli/backend/src/types/continuation.types.d.ts +237 -0
  184. package/dist/cli/backend/src/types/continuation.types.d.ts.map +1 -0
  185. package/dist/cli/backend/src/types/continuation.types.js +10 -0
  186. package/dist/cli/backend/src/types/continuation.types.js.map +1 -0
  187. package/dist/cli/backend/src/types/index.d.ts +164 -0
  188. package/dist/cli/backend/src/types/index.d.ts.map +1 -0
  189. package/dist/cli/backend/src/types/index.js +25 -0
  190. package/dist/cli/backend/src/types/index.js.map +1 -0
  191. package/dist/cli/backend/src/types/knowledge.types.d.ts +195 -0
  192. package/dist/cli/backend/src/types/knowledge.types.d.ts.map +1 -0
  193. package/dist/cli/backend/src/types/knowledge.types.js +38 -0
  194. package/dist/cli/backend/src/types/knowledge.types.js.map +1 -0
  195. package/dist/cli/backend/src/types/memory.types.d.ts +587 -0
  196. package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -0
  197. package/dist/cli/backend/src/types/memory.types.js +47 -0
  198. package/dist/cli/backend/src/types/memory.types.js.map +1 -0
  199. package/dist/cli/backend/src/types/quality-gate.types.d.ts +171 -0
  200. package/dist/cli/backend/src/types/quality-gate.types.d.ts.map +1 -0
  201. package/dist/cli/backend/src/types/quality-gate.types.js +42 -0
  202. package/dist/cli/backend/src/types/quality-gate.types.js.map +1 -0
  203. package/dist/cli/backend/src/types/role.types.d.ts +260 -0
  204. package/dist/cli/backend/src/types/role.types.d.ts.map +1 -0
  205. package/dist/cli/backend/src/types/role.types.js +238 -0
  206. package/dist/cli/backend/src/types/role.types.js.map +1 -0
  207. package/dist/cli/backend/src/types/scheduler.types.d.ts +254 -0
  208. package/dist/cli/backend/src/types/scheduler.types.d.ts.map +1 -0
  209. package/dist/cli/backend/src/types/scheduler.types.js +32 -0
  210. package/dist/cli/backend/src/types/scheduler.types.js.map +1 -0
  211. package/dist/cli/backend/src/types/settings.types.d.ts +178 -0
  212. package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -0
  213. package/dist/cli/backend/src/types/settings.types.js +206 -0
  214. package/dist/cli/backend/src/types/settings.types.js.map +1 -0
  215. package/dist/cli/backend/src/types/skill.types.d.ts +515 -0
  216. package/dist/cli/backend/src/types/skill.types.d.ts.map +1 -0
  217. package/dist/cli/backend/src/types/skill.types.js +481 -0
  218. package/dist/cli/backend/src/types/skill.types.js.map +1 -0
  219. package/dist/cli/backend/src/types/sop.types.d.ts +224 -0
  220. package/dist/cli/backend/src/types/sop.types.d.ts.map +1 -0
  221. package/dist/cli/backend/src/types/sop.types.js +85 -0
  222. package/dist/cli/backend/src/types/sop.types.js.map +1 -0
  223. package/dist/cli/backend/src/types/task-output.types.d.ts +78 -0
  224. package/dist/cli/backend/src/types/task-output.types.d.ts.map +1 -0
  225. package/dist/cli/backend/src/types/task-output.types.js +27 -0
  226. package/dist/cli/backend/src/types/task-output.types.js.map +1 -0
  227. package/dist/cli/backend/src/utils/file-io.utils.d.ts +102 -0
  228. package/dist/cli/backend/src/utils/file-io.utils.d.ts.map +1 -0
  229. package/dist/cli/backend/src/utils/file-io.utils.js +214 -0
  230. package/dist/cli/backend/src/utils/file-io.utils.js.map +1 -0
  231. package/dist/cli/backend/src/utils/terminal-output.utils.d.ts +54 -0
  232. package/dist/cli/backend/src/utils/terminal-output.utils.d.ts.map +1 -0
  233. package/dist/cli/backend/src/utils/terminal-output.utils.js +97 -0
  234. package/dist/cli/backend/src/utils/terminal-output.utils.js.map +1 -0
  235. package/dist/cli/cli/src/commands/mcp-server.d.ts +38 -0
  236. package/dist/cli/cli/src/commands/mcp-server.d.ts.map +1 -0
  237. package/dist/cli/cli/src/commands/mcp-server.js +49 -0
  238. package/dist/cli/cli/src/commands/mcp-server.js.map +1 -0
  239. package/dist/cli/cli/src/commands/onboard.d.ts +61 -7
  240. package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
  241. package/dist/cli/cli/src/commands/onboard.js +192 -19
  242. package/dist/cli/cli/src/commands/onboard.js.map +1 -1
  243. package/dist/cli/cli/src/commands/publish.d.ts +27 -0
  244. package/dist/cli/cli/src/commands/publish.d.ts.map +1 -0
  245. package/dist/cli/cli/src/commands/publish.js +69 -0
  246. package/dist/cli/cli/src/commands/publish.js.map +1 -0
  247. package/dist/cli/cli/src/commands/start.d.ts.map +1 -1
  248. package/dist/cli/cli/src/commands/start.js +12 -2
  249. package/dist/cli/cli/src/commands/start.js.map +1 -1
  250. package/dist/cli/cli/src/index.js +14 -0
  251. package/dist/cli/cli/src/index.js.map +1 -1
  252. package/dist/cli/cli/src/utils/archive-creator.d.ts +82 -0
  253. package/dist/cli/cli/src/utils/archive-creator.d.ts.map +1 -0
  254. package/dist/cli/cli/src/utils/archive-creator.js +105 -0
  255. package/dist/cli/cli/src/utils/archive-creator.js.map +1 -0
  256. package/dist/cli/cli/src/utils/package-validator.d.ts +62 -0
  257. package/dist/cli/cli/src/utils/package-validator.d.ts.map +1 -0
  258. package/dist/cli/cli/src/utils/package-validator.js +122 -0
  259. package/dist/cli/cli/src/utils/package-validator.js.map +1 -0
  260. package/dist/cli/cli/src/utils/process-cleanup.d.ts +15 -0
  261. package/dist/cli/cli/src/utils/process-cleanup.d.ts.map +1 -0
  262. package/dist/cli/cli/src/utils/process-cleanup.js +76 -0
  263. package/dist/cli/cli/src/utils/process-cleanup.js.map +1 -0
  264. package/dist/cli/cli/src/utils/templates.d.ts +71 -0
  265. package/dist/cli/cli/src/utils/templates.d.ts.map +1 -0
  266. package/dist/cli/cli/src/utils/templates.js +91 -0
  267. package/dist/cli/cli/src/utils/templates.js.map +1 -0
  268. package/frontend/dist/assets/{index-523c7fce.js → index-68d1eb5a.js} +71 -71
  269. package/frontend/dist/assets/{index-4c050f52.css → index-c5043a83.css} +1 -1
  270. package/frontend/dist/assets/nunito-cyrillic-400-normal-e44e669f.woff2 +0 -0
  271. package/frontend/dist/assets/nunito-cyrillic-400-normal-ff8e8bdd.woff +0 -0
  272. package/frontend/dist/assets/nunito-cyrillic-500-normal-2159679b.woff +0 -0
  273. package/frontend/dist/assets/nunito-cyrillic-500-normal-61a3b80e.woff2 +0 -0
  274. package/frontend/dist/assets/nunito-cyrillic-600-normal-ac046097.woff +0 -0
  275. package/frontend/dist/assets/nunito-cyrillic-600-normal-e61eb97b.woff2 +0 -0
  276. package/frontend/dist/assets/nunito-cyrillic-700-normal-8fcefcc9.woff2 +0 -0
  277. package/frontend/dist/assets/nunito-cyrillic-700-normal-b9684104.woff +0 -0
  278. package/frontend/dist/assets/nunito-cyrillic-800-normal-40253beb.woff +0 -0
  279. package/frontend/dist/assets/nunito-cyrillic-800-normal-d80292de.woff2 +0 -0
  280. package/frontend/dist/assets/nunito-cyrillic-ext-400-normal-20d73ae7.woff2 +0 -0
  281. package/frontend/dist/assets/nunito-cyrillic-ext-400-normal-d48c37c9.woff +0 -0
  282. package/frontend/dist/assets/nunito-cyrillic-ext-500-normal-16197abd.woff +0 -0
  283. package/frontend/dist/assets/nunito-cyrillic-ext-500-normal-9dcfe9b5.woff2 +0 -0
  284. package/frontend/dist/assets/nunito-cyrillic-ext-600-normal-d53e9851.woff2 +0 -0
  285. package/frontend/dist/assets/nunito-cyrillic-ext-600-normal-e3d0201f.woff +0 -0
  286. package/frontend/dist/assets/nunito-cyrillic-ext-700-normal-5936f6ac.woff2 +0 -0
  287. package/frontend/dist/assets/nunito-cyrillic-ext-700-normal-c8c02775.woff +0 -0
  288. package/frontend/dist/assets/nunito-cyrillic-ext-800-normal-217b8f51.woff +0 -0
  289. package/frontend/dist/assets/nunito-cyrillic-ext-800-normal-796cf7bd.woff2 +0 -0
  290. package/frontend/dist/assets/nunito-latin-400-normal-a5906e15.woff2 +0 -0
  291. package/frontend/dist/assets/nunito-latin-400-normal-b51e7635.woff +0 -0
  292. package/frontend/dist/assets/nunito-latin-500-normal-23ae3083.woff2 +0 -0
  293. package/frontend/dist/assets/nunito-latin-500-normal-be14dbc6.woff +0 -0
  294. package/frontend/dist/assets/nunito-latin-600-normal-06a9c8b3.woff +0 -0
  295. package/frontend/dist/assets/nunito-latin-600-normal-45f437de.woff2 +0 -0
  296. package/frontend/dist/assets/nunito-latin-700-normal-ce9107dc.woff +0 -0
  297. package/frontend/dist/assets/nunito-latin-700-normal-fa89300b.woff2 +0 -0
  298. package/frontend/dist/assets/nunito-latin-800-normal-0ca02785.woff +0 -0
  299. package/frontend/dist/assets/nunito-latin-800-normal-2363d3ed.woff2 +0 -0
  300. package/frontend/dist/assets/nunito-latin-ext-400-normal-67250a41.woff2 +0 -0
  301. package/frontend/dist/assets/nunito-latin-ext-400-normal-d7e2415e.woff +0 -0
  302. package/frontend/dist/assets/nunito-latin-ext-500-normal-06f35d1c.woff +0 -0
  303. package/frontend/dist/assets/nunito-latin-ext-500-normal-343e7adc.woff2 +0 -0
  304. package/frontend/dist/assets/nunito-latin-ext-600-normal-5a8efd17.woff +0 -0
  305. package/frontend/dist/assets/nunito-latin-ext-600-normal-a7ba5f4f.woff2 +0 -0
  306. package/frontend/dist/assets/nunito-latin-ext-700-normal-0a4e4a02.woff2 +0 -0
  307. package/frontend/dist/assets/nunito-latin-ext-700-normal-0c607961.woff +0 -0
  308. package/frontend/dist/assets/nunito-latin-ext-800-normal-39f54b55.woff2 +0 -0
  309. package/frontend/dist/assets/nunito-latin-ext-800-normal-466d0211.woff +0 -0
  310. package/frontend/dist/assets/nunito-vietnamese-400-normal-2a755616.woff2 +0 -0
  311. package/frontend/dist/assets/nunito-vietnamese-400-normal-9c01ea9f.woff +0 -0
  312. package/frontend/dist/assets/nunito-vietnamese-500-normal-452e5e08.woff +0 -0
  313. package/frontend/dist/assets/nunito-vietnamese-500-normal-dc98d965.woff2 +0 -0
  314. package/frontend/dist/assets/nunito-vietnamese-600-normal-2ffbb85f.woff +0 -0
  315. package/frontend/dist/assets/nunito-vietnamese-600-normal-cf95b95d.woff2 +0 -0
  316. package/frontend/dist/assets/nunito-vietnamese-700-normal-0e29c28c.woff2 +0 -0
  317. package/frontend/dist/assets/nunito-vietnamese-700-normal-7793b75e.woff +0 -0
  318. package/frontend/dist/assets/nunito-vietnamese-800-normal-5baf507e.woff +0 -0
  319. package/frontend/dist/assets/nunito-vietnamese-800-normal-fac6740e.woff2 +0 -0
  320. package/frontend/dist/index.html +2 -2
  321. package/package.json +15 -5
@@ -0,0 +1,238 @@
1
+ /**
2
+ * Role Type Definitions
3
+ *
4
+ * Types for the Role system that powers agent personas with default prompts and assigned skills.
5
+ *
6
+ * @module types/role.types
7
+ */
8
+ import { randomUUID } from 'crypto';
9
+ /**
10
+ * Array of all valid role categories
11
+ */
12
+ export const ROLE_CATEGORIES = [
13
+ 'development',
14
+ 'management',
15
+ 'quality',
16
+ 'design',
17
+ 'sales',
18
+ 'support',
19
+ 'automation',
20
+ ];
21
+ // ============================================================================
22
+ // Utility Functions
23
+ // ============================================================================
24
+ /**
25
+ * Type guard to check if a string is a valid RoleCategory
26
+ *
27
+ * @param value - The string to check
28
+ * @returns True if the value is a valid RoleCategory
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * if (isValidRoleCategory(input)) {
33
+ * // input is typed as RoleCategory
34
+ * }
35
+ * ```
36
+ */
37
+ export function isValidRoleCategory(value) {
38
+ return ROLE_CATEGORIES.includes(value);
39
+ }
40
+ /**
41
+ * Create a new Role with default values
42
+ *
43
+ * @param input - Required name and displayName, with optional overrides for other fields
44
+ * @returns A complete Role object with generated ID and timestamps
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * const role = createDefaultRole({
49
+ * name: 'my-role',
50
+ * displayName: 'My Role',
51
+ * category: 'development',
52
+ * });
53
+ * ```
54
+ */
55
+ export function createDefaultRole(input) {
56
+ const now = new Date().toISOString();
57
+ return {
58
+ id: input.id ?? randomUUID(),
59
+ name: input.name,
60
+ displayName: input.displayName,
61
+ description: input.description ?? '',
62
+ category: input.category ?? 'development',
63
+ systemPromptFile: input.systemPromptFile ?? '',
64
+ assignedSkills: input.assignedSkills ?? [],
65
+ isDefault: input.isDefault ?? false,
66
+ isHidden: input.isHidden ?? false,
67
+ isBuiltin: input.isBuiltin ?? false,
68
+ createdAt: input.createdAt ?? now,
69
+ updatedAt: input.updatedAt ?? now,
70
+ };
71
+ }
72
+ /**
73
+ * Convert a Role to a RoleSummary (for list views)
74
+ *
75
+ * Strips out detailed information like timestamps and prompt file path,
76
+ * and replaces assignedSkills array with a count.
77
+ *
78
+ * @param role - The full Role object
79
+ * @returns A RoleSummary with essential fields only
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * const roles = await roleService.getAll();
84
+ * const summaries = roles.map(roleToSummary);
85
+ * ```
86
+ */
87
+ export function roleToSummary(role) {
88
+ return {
89
+ id: role.id,
90
+ name: role.name,
91
+ displayName: role.displayName,
92
+ description: role.description,
93
+ category: role.category,
94
+ skillCount: role.assignedSkills.length,
95
+ isDefault: role.isDefault,
96
+ isHidden: role.isHidden,
97
+ hasOverride: role.hasOverride,
98
+ isBuiltin: role.isBuiltin,
99
+ };
100
+ }
101
+ /**
102
+ * Validate CreateRoleInput and return an array of error messages
103
+ *
104
+ * @param input - The CreateRoleInput to validate
105
+ * @returns Array of error messages (empty if valid)
106
+ *
107
+ * @example
108
+ * ```typescript
109
+ * const errors = validateCreateRoleInput(input);
110
+ * if (errors.length > 0) {
111
+ * throw new ValidationError(errors.join(', '));
112
+ * }
113
+ * ```
114
+ */
115
+ export function validateCreateRoleInput(input) {
116
+ const errors = [];
117
+ if (!input.name || input.name.trim().length === 0) {
118
+ errors.push('Name is required');
119
+ }
120
+ else if (!/^[a-z0-9-]+$/.test(input.name)) {
121
+ errors.push('Name must contain only lowercase letters, numbers, and hyphens');
122
+ }
123
+ if (!input.displayName || input.displayName.trim().length === 0) {
124
+ errors.push('Display name is required');
125
+ }
126
+ if (!input.description || input.description.trim().length === 0) {
127
+ errors.push('Description is required');
128
+ }
129
+ if (!isValidRoleCategory(input.category)) {
130
+ errors.push(`Invalid category: ${input.category}`);
131
+ }
132
+ if (!input.systemPromptContent || input.systemPromptContent.trim().length === 0) {
133
+ errors.push('System prompt content is required');
134
+ }
135
+ if (input.assignedSkills && !Array.isArray(input.assignedSkills)) {
136
+ errors.push('Assigned skills must be an array');
137
+ }
138
+ return errors;
139
+ }
140
+ /**
141
+ * Validate UpdateRoleInput and return an array of error messages
142
+ *
143
+ * @param input - The UpdateRoleInput to validate
144
+ * @returns Array of error messages (empty if valid)
145
+ *
146
+ * @example
147
+ * ```typescript
148
+ * const errors = validateUpdateRoleInput(input);
149
+ * if (errors.length > 0) {
150
+ * throw new ValidationError(errors.join(', '));
151
+ * }
152
+ * ```
153
+ */
154
+ export function validateUpdateRoleInput(input) {
155
+ const errors = [];
156
+ if (input.displayName !== undefined && input.displayName.trim().length === 0) {
157
+ errors.push('Display name cannot be empty');
158
+ }
159
+ if (input.category !== undefined && !isValidRoleCategory(input.category)) {
160
+ errors.push(`Invalid category: ${input.category}`);
161
+ }
162
+ if (input.systemPromptContent !== undefined && input.systemPromptContent.trim().length === 0) {
163
+ errors.push('System prompt content cannot be empty');
164
+ }
165
+ if (input.assignedSkills !== undefined && !Array.isArray(input.assignedSkills)) {
166
+ errors.push('Assigned skills must be an array');
167
+ }
168
+ return errors;
169
+ }
170
+ /**
171
+ * Check if a Role matches the given filter criteria
172
+ *
173
+ * @param role - The role to check
174
+ * @param filter - The filter criteria
175
+ * @returns True if the role matches all filter criteria
176
+ *
177
+ * @example
178
+ * ```typescript
179
+ * const filteredRoles = roles.filter(role => matchesRoleFilter(role, filter));
180
+ * ```
181
+ */
182
+ export function matchesRoleFilter(role, filter) {
183
+ if (filter.category !== undefined && role.category !== filter.category) {
184
+ return false;
185
+ }
186
+ if (filter.isBuiltin !== undefined && role.isBuiltin !== filter.isBuiltin) {
187
+ return false;
188
+ }
189
+ if (filter.hasSkill !== undefined && !role.assignedSkills.includes(filter.hasSkill)) {
190
+ return false;
191
+ }
192
+ if (filter.search !== undefined && filter.search.trim().length > 0) {
193
+ const searchLower = filter.search.toLowerCase();
194
+ const matchesName = role.name.toLowerCase().includes(searchLower);
195
+ const matchesDisplayName = role.displayName.toLowerCase().includes(searchLower);
196
+ const matchesDescription = role.description.toLowerCase().includes(searchLower);
197
+ if (!matchesName && !matchesDisplayName && !matchesDescription) {
198
+ return false;
199
+ }
200
+ }
201
+ return true;
202
+ }
203
+ /**
204
+ * Convert a Role to RoleStorageFormat for persistence
205
+ *
206
+ * @param role - The role to convert
207
+ * @returns A RoleStorageFormat object ready for JSON serialization
208
+ */
209
+ export function roleToStorageFormat(role) {
210
+ return {
211
+ id: role.id,
212
+ name: role.name,
213
+ displayName: role.displayName,
214
+ description: role.description,
215
+ category: role.category,
216
+ systemPromptFile: role.systemPromptFile,
217
+ assignedSkills: role.assignedSkills,
218
+ isDefault: role.isDefault,
219
+ isHidden: role.isHidden,
220
+ createdAt: role.createdAt,
221
+ updatedAt: role.updatedAt,
222
+ };
223
+ }
224
+ /**
225
+ * Convert a RoleStorageFormat back to a Role
226
+ *
227
+ * @param stored - The stored role data
228
+ * @param isBuiltin - Whether this role is built-in
229
+ * @returns A complete Role object
230
+ */
231
+ export function storageFormatToRole(stored, isBuiltin) {
232
+ return {
233
+ ...stored,
234
+ isHidden: stored.isHidden ?? false,
235
+ isBuiltin,
236
+ };
237
+ }
238
+ //# sourceMappingURL=role.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.types.js","sourceRoot":"","sources":["../../../../../backend/src/types/role.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,254 @@
1
+ /**
2
+ * Scheduler Type Definitions
3
+ *
4
+ * Types for the enhanced scheduler service with PTY compatibility,
5
+ * continuation-aware scheduling, and adaptive scheduling.
6
+ *
7
+ * @module types/scheduler.types
8
+ */
9
+ /**
10
+ * Types of scheduled messages
11
+ */
12
+ export type ScheduledMessageType = 'check-in' | 'commit-reminder' | 'progress-check' | 'continuation' | 'custom';
13
+ /**
14
+ * Enhanced scheduled message with type information
15
+ */
16
+ export interface EnhancedScheduledMessage {
17
+ /** Unique message identifier */
18
+ id: string;
19
+ /** Target session name */
20
+ sessionName: string;
21
+ /** Message content (empty for continuation type) */
22
+ message: string;
23
+ /** Scheduled execution time */
24
+ scheduledFor: Date;
25
+ /** Type of scheduled message */
26
+ type: ScheduledMessageType;
27
+ /** Recurring configuration */
28
+ recurring?: RecurringConfig;
29
+ /** Additional metadata */
30
+ metadata?: ScheduledMessageMetadata;
31
+ /** ISO timestamp of creation */
32
+ createdAt: string;
33
+ /** Optional session name of the agent being monitored for status enrichment */
34
+ watchedSession?: string;
35
+ }
36
+ /**
37
+ * Information emitted when a stuck agent is detected by the scheduler
38
+ */
39
+ export interface StuckAgentAlert {
40
+ /** Session name of the stuck agent */
41
+ watchedSession: string;
42
+ /** Reason for the stuck detection */
43
+ reason: 'session_dead' | 'not_yet_active' | 'idle_too_long';
44
+ /** Current agent lifecycle status */
45
+ agentStatus: string;
46
+ /** Current working status */
47
+ workingStatus: string;
48
+ /** Number of consecutive checks where agent was idle */
49
+ consecutiveIdleChecks: number;
50
+ }
51
+ /**
52
+ * Configuration for recurring messages
53
+ */
54
+ export interface RecurringConfig {
55
+ /** Interval in minutes */
56
+ interval: number;
57
+ /** Maximum number of occurrences (undefined = unlimited) */
58
+ maxOccurrences?: number;
59
+ /** Current occurrence count */
60
+ currentOccurrence?: number;
61
+ }
62
+ /**
63
+ * Metadata for scheduled messages
64
+ */
65
+ export interface ScheduledMessageMetadata {
66
+ /** Associated task ID */
67
+ taskId?: string;
68
+ /** Current iteration number */
69
+ iteration?: number;
70
+ /** Whether to trigger continuation logic */
71
+ triggerContinuation?: boolean;
72
+ /** Agent ID */
73
+ agentId?: string;
74
+ /** Project path */
75
+ projectPath?: string;
76
+ /** Custom data */
77
+ [key: string]: unknown;
78
+ }
79
+ /**
80
+ * Configuration for adaptive scheduling
81
+ */
82
+ export interface AdaptiveScheduleConfig {
83
+ /** Base check interval in minutes */
84
+ baseInterval: number;
85
+ /** Minimum interval in minutes */
86
+ minInterval: number;
87
+ /** Maximum interval in minutes */
88
+ maxInterval: number;
89
+ /** Factor to adjust interval by */
90
+ adjustmentFactor: number;
91
+ }
92
+ /**
93
+ * Activity information for adaptive scheduling
94
+ */
95
+ export interface ActivityInfo {
96
+ /** Whether the agent is highly active */
97
+ isHighlyActive: boolean;
98
+ /** Whether the agent is idle */
99
+ isIdle: boolean;
100
+ /** Last activity timestamp */
101
+ lastActivityAt?: string;
102
+ /** Activity level (0-1) */
103
+ activityLevel?: number;
104
+ }
105
+ /**
106
+ * Parameters for scheduling a one-time check
107
+ */
108
+ export interface ScheduleCheckParams {
109
+ /** Target session name */
110
+ sessionName: string;
111
+ /** Delay in minutes */
112
+ delayMinutes: number;
113
+ /** Message to send */
114
+ message: string;
115
+ /** Type of scheduled message */
116
+ type?: ScheduledMessageType;
117
+ /** Additional metadata */
118
+ metadata?: ScheduledMessageMetadata;
119
+ }
120
+ /**
121
+ * Parameters for scheduling a recurring check
122
+ */
123
+ export interface ScheduleRecurringParams {
124
+ /** Target session name */
125
+ sessionName: string;
126
+ /** Interval in minutes */
127
+ interval: number;
128
+ /** Message to send */
129
+ message: string;
130
+ /** Type of scheduled message */
131
+ type?: ScheduledMessageType;
132
+ /** Maximum occurrences */
133
+ maxOccurrences?: number;
134
+ /** Additional metadata */
135
+ metadata?: ScheduledMessageMetadata;
136
+ }
137
+ /**
138
+ * Parameters for scheduling a continuation check
139
+ */
140
+ export interface ScheduleContinuationParams {
141
+ /** Target session name */
142
+ sessionName: string;
143
+ /** Delay in minutes */
144
+ delayMinutes: number;
145
+ /** Agent ID */
146
+ agentId?: string;
147
+ /** Project path */
148
+ projectPath?: string;
149
+ }
150
+ /**
151
+ * Default scheduling intervals
152
+ */
153
+ export declare const DEFAULT_SCHEDULES: {
154
+ /** Initial check-in delay in minutes */
155
+ readonly initialCheck: 5;
156
+ /** Progress check interval in minutes */
157
+ readonly progressCheck: 30;
158
+ /** Commit reminder interval in minutes */
159
+ readonly commitReminder: 25;
160
+ };
161
+ /**
162
+ * Default adaptive schedule configuration
163
+ */
164
+ export declare const DEFAULT_ADAPTIVE_CONFIG: AdaptiveScheduleConfig;
165
+ /**
166
+ * Interface for the enhanced SchedulerService
167
+ */
168
+ export interface ISchedulerService {
169
+ /**
170
+ * Schedule a one-time check
171
+ *
172
+ * @param targetSession - Target session name
173
+ * @param minutes - Delay in minutes
174
+ * @param message - Message to send
175
+ * @returns Check ID
176
+ */
177
+ scheduleCheck(targetSession: string, minutes: number, message: string): string;
178
+ /**
179
+ * Schedule a recurring check
180
+ *
181
+ * @param targetSession - Target session name
182
+ * @param intervalMinutes - Interval in minutes
183
+ * @param message - Message to send
184
+ * @returns Check ID
185
+ */
186
+ scheduleRecurringCheck(targetSession: string, intervalMinutes: number, message: string): string;
187
+ /**
188
+ * Schedule default check-ins for a session
189
+ *
190
+ * @param sessionName - Session name
191
+ * @returns Array of check IDs
192
+ */
193
+ scheduleDefaultCheckins(sessionName: string): string[];
194
+ /**
195
+ * Schedule a continuation check
196
+ *
197
+ * @param params - Continuation parameters
198
+ * @returns Check ID
199
+ */
200
+ scheduleContinuationCheck(params: ScheduleContinuationParams): string;
201
+ /**
202
+ * Schedule an adaptive check-in based on activity
203
+ *
204
+ * @param sessionName - Session name
205
+ * @param config - Adaptive configuration
206
+ * @returns Check ID
207
+ */
208
+ scheduleAdaptiveCheckin(sessionName: string, config?: AdaptiveScheduleConfig): Promise<string>;
209
+ /**
210
+ * Cancel a scheduled check
211
+ *
212
+ * @param checkId - Check ID to cancel
213
+ */
214
+ cancelCheck(checkId: string): void;
215
+ /**
216
+ * Cancel all checks for a session
217
+ *
218
+ * @param sessionName - Session name
219
+ */
220
+ cancelAllChecksForSession(sessionName: string): void;
221
+ /**
222
+ * Get scheduled checks for a session
223
+ *
224
+ * @param sessionName - Session name
225
+ * @returns Array of scheduled checks
226
+ */
227
+ getChecksForSession(sessionName: string): EnhancedScheduledMessage[];
228
+ /**
229
+ * Get scheduler statistics
230
+ *
231
+ * @returns Statistics object
232
+ */
233
+ getStats(): SchedulerStats;
234
+ /**
235
+ * Clean up all scheduled checks
236
+ */
237
+ cleanup(): void;
238
+ }
239
+ /**
240
+ * Scheduler statistics
241
+ */
242
+ export interface SchedulerStats {
243
+ /** Number of one-time checks */
244
+ oneTimeChecks: number;
245
+ /** Number of recurring checks */
246
+ recurringChecks: number;
247
+ /** Total unique sessions with active schedules */
248
+ totalActiveSessions: number;
249
+ /** Number of continuation checks */
250
+ continuationChecks?: number;
251
+ /** Number of adaptive checks */
252
+ adaptiveChecks?: number;
253
+ }
254
+ //# sourceMappingURL=scheduler.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/scheduler.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Scheduler Type Definitions
3
+ *
4
+ * Types for the enhanced scheduler service with PTY compatibility,
5
+ * continuation-aware scheduling, and adaptive scheduling.
6
+ *
7
+ * @module types/scheduler.types
8
+ */
9
+ // ============================================
10
+ // Default Schedules
11
+ // ============================================
12
+ /**
13
+ * Default scheduling intervals
14
+ */
15
+ export const DEFAULT_SCHEDULES = {
16
+ /** Initial check-in delay in minutes */
17
+ initialCheck: 5,
18
+ /** Progress check interval in minutes */
19
+ progressCheck: 30,
20
+ /** Commit reminder interval in minutes */
21
+ commitReminder: 25,
22
+ };
23
+ /**
24
+ * Default adaptive schedule configuration
25
+ */
26
+ export const DEFAULT_ADAPTIVE_CONFIG = {
27
+ baseInterval: 15,
28
+ minInterval: 5,
29
+ maxInterval: 60,
30
+ adjustmentFactor: 1.5,
31
+ };
32
+ //# sourceMappingURL=scheduler.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.types.js","sourceRoot":"","sources":["../../../../../backend/src/types/scheduler.types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA0KH,+CAA+C;AAC/C,oBAAoB;AACpB,+CAA+C;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,wCAAwC;IACxC,YAAY,EAAE,CAAC;IACf,yCAAyC;IACzC,aAAa,EAAE,EAAE;IACjB,0CAA0C;IAC1C,cAAc,EAAE,EAAE;CACV,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC7D,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,EAAE;IACf,gBAAgB,EAAE,GAAG;CACtB,CAAC"}