crewly 1.0.12 → 1.1.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 (244) hide show
  1. package/config/constants.ts +6 -0
  2. package/config/roles/_common/memory-instructions.md +10 -1
  3. package/config/roles/architect/prompt.md +7 -0
  4. package/config/roles/backend-developer/prompt.md +7 -0
  5. package/config/roles/content-strategist/prompt.md +69 -0
  6. package/config/roles/designer/prompt.md +7 -0
  7. package/config/roles/developer/prompt.md +7 -0
  8. package/config/roles/frontend-developer/prompt.md +7 -0
  9. package/config/roles/fullstack-dev/prompt.md +7 -0
  10. package/config/roles/generalist/prompt.md +8 -1
  11. package/config/roles/orchestrator/prompt.md +16 -1
  12. package/config/roles/orchestrator/self-evolution.md +72 -0
  13. package/config/roles/product-manager/prompt.md +7 -0
  14. package/config/roles/qa/prompt.md +7 -0
  15. package/config/roles/qa-engineer/prompt.md +7 -0
  16. package/config/roles/sales/prompt.md +7 -0
  17. package/config/roles/support/prompt.md +7 -0
  18. package/config/roles/tpm/prompt.md +7 -0
  19. package/config/skills/agent/core/register-self/instructions.md +1 -1
  20. package/config/skills/agent/core/remember/instructions.md +3 -3
  21. package/config/skills/orchestrator/delegate-task/execute.sh +21 -1
  22. package/config/skills/orchestrator/delegate-task/instructions.md +1 -0
  23. package/config/skills/orchestrator/read-session-logs/execute.sh +14 -0
  24. package/config/skills/orchestrator/read-session-logs/instructions.md +33 -0
  25. package/config/skills/orchestrator/read-session-logs/skill.json +20 -0
  26. package/config/skills/orchestrator/read-system-logs/execute.sh +18 -0
  27. package/config/skills/orchestrator/read-system-logs/instructions.md +30 -0
  28. package/config/skills/orchestrator/read-system-logs/skill.json +20 -0
  29. package/config/skills/orchestrator/remember/instructions.md +1 -1
  30. package/config/skills/orchestrator/reply-slack/execute.sh +45 -2
  31. package/config/skills/orchestrator/reply-slack/instructions.md +30 -2
  32. package/config/skills/orchestrator/report-bug/execute.sh +49 -0
  33. package/config/skills/orchestrator/report-bug/instructions.md +30 -0
  34. package/config/skills/orchestrator/report-bug/skill.json +20 -0
  35. package/config/slack-app-manifest.json +37 -0
  36. package/dist/backend/backend/src/constants.d.ts +38 -2
  37. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  38. package/dist/backend/backend/src/constants.js +44 -4
  39. package/dist/backend/backend/src/constants.js.map +1 -1
  40. package/dist/backend/backend/src/controllers/index.d.ts.map +1 -1
  41. package/dist/backend/backend/src/controllers/index.js +6 -0
  42. package/dist/backend/backend/src/controllers/index.js.map +1 -1
  43. package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts +3 -0
  44. package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts.map +1 -0
  45. package/dist/backend/backend/src/controllers/messaging/messenger.routes.js +80 -0
  46. package/dist/backend/backend/src/controllers/messaging/messenger.routes.js.map +1 -0
  47. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts +14 -0
  48. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
  49. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +74 -0
  50. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
  51. package/dist/backend/backend/src/controllers/oauth/oauth.routes.d.ts +3 -0
  52. package/dist/backend/backend/src/controllers/oauth/oauth.routes.d.ts.map +1 -0
  53. package/dist/backend/backend/src/controllers/oauth/oauth.routes.js +127 -0
  54. package/dist/backend/backend/src/controllers/oauth/oauth.routes.js.map +1 -0
  55. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.d.ts.map +1 -1
  56. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js +20 -34
  57. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js.map +1 -1
  58. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  59. package/dist/backend/backend/src/controllers/slack/slack.controller.js +29 -0
  60. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  61. package/dist/backend/backend/src/controllers/system/scheduler.controller.d.ts.map +1 -1
  62. package/dist/backend/backend/src/controllers/system/scheduler.controller.js +73 -6
  63. package/dist/backend/backend/src/controllers/system/scheduler.controller.js.map +1 -1
  64. package/dist/backend/backend/src/controllers/task-management/assignments.controller.d.ts.map +1 -1
  65. package/dist/backend/backend/src/controllers/task-management/assignments.controller.js +9 -5
  66. package/dist/backend/backend/src/controllers/task-management/assignments.controller.js.map +1 -1
  67. package/dist/backend/backend/src/controllers/user/user.routes.d.ts +3 -0
  68. package/dist/backend/backend/src/controllers/user/user.routes.d.ts.map +1 -0
  69. package/dist/backend/backend/src/controllers/user/user.routes.js +45 -0
  70. package/dist/backend/backend/src/controllers/user/user.routes.js.map +1 -0
  71. package/dist/backend/backend/src/index.d.ts.map +1 -1
  72. package/dist/backend/backend/src/index.js +1 -1
  73. package/dist/backend/backend/src/index.js.map +1 -1
  74. package/dist/backend/backend/src/routes/modules/terminal.routes.d.ts.map +1 -1
  75. package/dist/backend/backend/src/routes/modules/terminal.routes.js +2 -0
  76. package/dist/backend/backend/src/routes/modules/terminal.routes.js.map +1 -1
  77. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +24 -2
  78. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  79. package/dist/backend/backend/src/services/agent/agent-registration.service.js +222 -101
  80. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  81. package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts +5 -1
  82. package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts.map +1 -1
  83. package/dist/backend/backend/src/services/agent/codex-runtime.service.js +11 -17
  84. package/dist/backend/backend/src/services/agent/codex-runtime.service.js.map +1 -1
  85. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts +21 -0
  86. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -1
  87. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js +157 -11
  88. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js.map +1 -1
  89. package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts +33 -2
  90. package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts.map +1 -1
  91. package/dist/backend/backend/src/services/agent/gemini-runtime.service.js +388 -20
  92. package/dist/backend/backend/src/services/agent/gemini-runtime.service.js.map +1 -1
  93. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts +1 -1
  94. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  95. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +25 -2
  96. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  97. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +17 -2
  98. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  99. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +133 -16
  100. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  101. package/dist/backend/backend/src/services/core/config.service.d.ts.map +1 -1
  102. package/dist/backend/backend/src/services/core/config.service.js +3 -2
  103. package/dist/backend/backend/src/services/core/config.service.js.map +1 -1
  104. package/dist/backend/backend/src/services/core/logger.service.d.ts +1 -0
  105. package/dist/backend/backend/src/services/core/logger.service.d.ts.map +1 -1
  106. package/dist/backend/backend/src/services/core/logger.service.js +22 -8
  107. package/dist/backend/backend/src/services/core/logger.service.js.map +1 -1
  108. package/dist/backend/backend/src/services/mcp-client.d.ts.map +1 -1
  109. package/dist/backend/backend/src/services/mcp-client.js +9 -4
  110. package/dist/backend/backend/src/services/mcp-client.js.map +1 -1
  111. package/dist/backend/backend/src/services/mcp-server.d.ts +4 -2
  112. package/dist/backend/backend/src/services/mcp-server.d.ts.map +1 -1
  113. package/dist/backend/backend/src/services/mcp-server.js +77 -18
  114. package/dist/backend/backend/src/services/mcp-server.js.map +1 -1
  115. package/dist/backend/backend/src/services/memory/memory.service.d.ts +1 -1
  116. package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
  117. package/dist/backend/backend/src/services/memory/memory.service.js +10 -1
  118. package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
  119. package/dist/backend/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
  120. package/dist/backend/backend/src/services/memory/project-memory.service.js +11 -2
  121. package/dist/backend/backend/src/services/memory/project-memory.service.js.map +1 -1
  122. package/dist/backend/backend/src/services/messaging/adapters/discord-messenger.adapter.d.ts +13 -0
  123. package/dist/backend/backend/src/services/messaging/adapters/discord-messenger.adapter.d.ts.map +1 -0
  124. package/dist/backend/backend/src/services/messaging/adapters/discord-messenger.adapter.js +45 -0
  125. package/dist/backend/backend/src/services/messaging/adapters/discord-messenger.adapter.js.map +1 -0
  126. package/dist/backend/backend/src/services/messaging/adapters/slack-messenger.adapter.d.ts +13 -0
  127. package/dist/backend/backend/src/services/messaging/adapters/slack-messenger.adapter.d.ts.map +1 -0
  128. package/dist/backend/backend/src/services/messaging/adapters/slack-messenger.adapter.js +27 -0
  129. package/dist/backend/backend/src/services/messaging/adapters/slack-messenger.adapter.js.map +1 -0
  130. package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.d.ts +13 -0
  131. package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.d.ts.map +1 -0
  132. package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.js +43 -0
  133. package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.js.map +1 -0
  134. package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts.map +1 -1
  135. package/dist/backend/backend/src/services/messaging/message-queue.service.js +17 -0
  136. package/dist/backend/backend/src/services/messaging/message-queue.service.js.map +1 -1
  137. package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.d.ts +25 -0
  138. package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.d.ts.map +1 -0
  139. package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.js +2 -0
  140. package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.js.map +1 -0
  141. package/dist/backend/backend/src/services/messaging/messenger-registry.service.d.ts +14 -0
  142. package/dist/backend/backend/src/services/messaging/messenger-registry.service.d.ts.map +1 -0
  143. package/dist/backend/backend/src/services/messaging/messenger-registry.service.js +20 -0
  144. package/dist/backend/backend/src/services/messaging/messenger-registry.service.js.map +1 -0
  145. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts +3 -1
  146. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts.map +1 -1
  147. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js +15 -2
  148. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js.map +1 -1
  149. package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts +5 -0
  150. package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map +1 -1
  151. package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js +42 -2
  152. package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js.map +1 -1
  153. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts +39 -0
  154. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
  155. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js +121 -1
  156. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
  157. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.d.ts +4 -0
  158. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.d.ts.map +1 -1
  159. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.js +7 -3
  160. package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.js.map +1 -1
  161. package/dist/backend/backend/src/services/settings/settings.service.d.ts.map +1 -1
  162. package/dist/backend/backend/src/services/settings/settings.service.js +6 -0
  163. package/dist/backend/backend/src/services/settings/settings.service.js.map +1 -1
  164. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +2 -2
  165. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  166. package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
  167. package/dist/backend/backend/src/services/slack/slack.service.js +14 -0
  168. package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
  169. package/dist/backend/backend/src/services/user/user-identity.service.d.ts +42 -0
  170. package/dist/backend/backend/src/services/user/user-identity.service.d.ts.map +1 -0
  171. package/dist/backend/backend/src/services/user/user-identity.service.js +123 -0
  172. package/dist/backend/backend/src/services/user/user-identity.service.js.map +1 -0
  173. package/dist/backend/backend/src/services/workflow/message-scheduler.service.d.ts.map +1 -1
  174. package/dist/backend/backend/src/services/workflow/message-scheduler.service.js +8 -1
  175. package/dist/backend/backend/src/services/workflow/message-scheduler.service.js.map +1 -1
  176. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts +21 -2
  177. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
  178. package/dist/backend/backend/src/services/workflow/scheduler.service.js +109 -6
  179. package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
  180. package/dist/backend/backend/src/types/chat.types.d.ts.map +1 -1
  181. package/dist/backend/backend/src/types/chat.types.js +2 -3
  182. package/dist/backend/backend/src/types/chat.types.js.map +1 -1
  183. package/dist/backend/backend/src/types/index.d.ts +8 -0
  184. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  185. package/dist/backend/backend/src/types/index.js.map +1 -1
  186. package/dist/backend/backend/src/types/memory.types.d.ts +1 -1
  187. package/dist/backend/backend/src/types/memory.types.d.ts.map +1 -1
  188. package/dist/backend/backend/src/types/memory.types.js.map +1 -1
  189. package/dist/backend/backend/src/types/settings.types.d.ts +11 -0
  190. package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
  191. package/dist/backend/backend/src/types/settings.types.js +23 -1
  192. package/dist/backend/backend/src/types/settings.types.js.map +1 -1
  193. package/dist/backend/config/constants.d.ts +6 -0
  194. package/dist/backend/config/constants.d.ts.map +1 -1
  195. package/dist/backend/config/constants.js +6 -0
  196. package/dist/backend/config/constants.js.map +1 -1
  197. package/dist/backend/config/index.d.ts +3 -0
  198. package/dist/backend/config/index.d.ts.map +1 -1
  199. package/dist/cli/backend/src/constants.d.ts +38 -2
  200. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  201. package/dist/cli/backend/src/constants.js +44 -4
  202. package/dist/cli/backend/src/constants.js.map +1 -1
  203. package/dist/cli/backend/src/services/core/config.service.d.ts.map +1 -1
  204. package/dist/cli/backend/src/services/core/config.service.js +3 -2
  205. package/dist/cli/backend/src/services/core/config.service.js.map +1 -1
  206. package/dist/cli/backend/src/services/core/logger.service.d.ts +1 -0
  207. package/dist/cli/backend/src/services/core/logger.service.d.ts.map +1 -1
  208. package/dist/cli/backend/src/services/core/logger.service.js +22 -8
  209. package/dist/cli/backend/src/services/core/logger.service.js.map +1 -1
  210. package/dist/cli/backend/src/services/mcp-server.d.ts +4 -2
  211. package/dist/cli/backend/src/services/mcp-server.d.ts.map +1 -1
  212. package/dist/cli/backend/src/services/mcp-server.js +77 -18
  213. package/dist/cli/backend/src/services/mcp-server.js.map +1 -1
  214. package/dist/cli/backend/src/services/memory/memory.service.d.ts +1 -1
  215. package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
  216. package/dist/cli/backend/src/services/memory/memory.service.js +10 -1
  217. package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
  218. package/dist/cli/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
  219. package/dist/cli/backend/src/services/memory/project-memory.service.js +11 -2
  220. package/dist/cli/backend/src/services/memory/project-memory.service.js.map +1 -1
  221. package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -1
  222. package/dist/cli/backend/src/types/chat.types.js +2 -3
  223. package/dist/cli/backend/src/types/chat.types.js.map +1 -1
  224. package/dist/cli/backend/src/types/index.d.ts +8 -0
  225. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  226. package/dist/cli/backend/src/types/index.js.map +1 -1
  227. package/dist/cli/backend/src/types/memory.types.d.ts +1 -1
  228. package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -1
  229. package/dist/cli/backend/src/types/memory.types.js.map +1 -1
  230. package/dist/cli/backend/src/types/settings.types.d.ts +11 -0
  231. package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
  232. package/dist/cli/backend/src/types/settings.types.js +23 -1
  233. package/dist/cli/backend/src/types/settings.types.js.map +1 -1
  234. package/dist/cli/cli/src/index.js +1 -0
  235. package/dist/cli/cli/src/index.js.map +1 -1
  236. package/dist/cli/config/constants.d.ts +6 -0
  237. package/dist/cli/config/constants.d.ts.map +1 -1
  238. package/dist/cli/config/constants.js +6 -0
  239. package/dist/cli/config/constants.js.map +1 -1
  240. package/dist/cli/config/index.d.ts +3 -0
  241. package/dist/cli/config/index.d.ts.map +1 -1
  242. package/frontend/dist/assets/{index-0a245b0d.js → index-45eeea99.js} +2 -2
  243. package/frontend/dist/index.html +1 -1
  244. package/package.json +1 -1
@@ -16,12 +16,17 @@ Usage:
16
16
  # Upload an image with optional comment
17
17
  bash execute.sh --channel C0123 --image /path/to/screenshot.png --text "Here's the result"
18
18
 
19
+ # Upload any file type (PDF, CSV, etc.) with optional comment
20
+ bash execute.sh --channel C0123 --file /path/to/report.pdf --text "Daily report"
21
+
19
22
  Options:
20
23
  --channel | -c Slack channel ID (required unless JSON provided)
21
24
  --text | -t Message text (optional when piping stdin)
22
25
  --text-file Read message text from the specified file path
23
26
  --thread | -r Slack thread timestamp for replies
24
27
  --image | -i Path to image file to upload (uses /api/slack/upload-image)
28
+ --file | -f Path to file upload (uses /api/slack/upload-file)
29
+ --allow-new-thread Allow posting without --thread (disabled by default for safety)
25
30
  --json | -j Raw JSON payload (same as legacy usage)
26
31
  --help | -h Show this help
27
32
  EOF_USAGE
@@ -32,6 +37,8 @@ CHANNEL_ID=""
32
37
  TEXT=""
33
38
  THREAD_TS=""
34
39
  IMAGE_PATH=""
40
+ FILE_PATH=""
41
+ ALLOW_NEW_THREAD="false"
35
42
 
36
43
  # Detect legacy JSON argument as the first parameter
37
44
  if [[ $# -gt 0 && ${1:0:1} == '{' ]]; then
@@ -63,6 +70,14 @@ while [[ $# -gt 0 ]]; do
63
70
  IMAGE_PATH="$2"
64
71
  shift 2
65
72
  ;;
73
+ --file|-f)
74
+ FILE_PATH="$2"
75
+ shift 2
76
+ ;;
77
+ --allow-new-thread)
78
+ ALLOW_NEW_THREAD="true"
79
+ shift
80
+ ;;
66
81
  --conversation|-C)
67
82
  CONVERSATION_ID="$2"
68
83
  shift 2
@@ -117,11 +132,22 @@ if [ -n "$TEXT" ]; then
117
132
  TEXT="${TEXT//\\n/$_NL}"
118
133
  fi
119
134
 
120
- # When uploading an image, text is optional (serves as initial_comment)
121
- if [ -z "$IMAGE_PATH" ] && [ -z "$TEXT" ]; then
135
+ # Prevent ambiguous uploads.
136
+ if [ -n "$IMAGE_PATH" ] && [ -n "$FILE_PATH" ]; then
137
+ error_exit "Use either --image or --file, not both."
138
+ fi
139
+
140
+ # When uploading an image/file, text is optional (serves as initial_comment)
141
+ if [ -z "$IMAGE_PATH" ] && [ -z "$FILE_PATH" ] && [ -z "$TEXT" ]; then
122
142
  error_exit "Slack message text is required. Pass --text, --text-file, pipe stdin, or include it in the JSON payload."
123
143
  fi
124
144
 
145
+ # Safety default: require explicit thread targeting to avoid accidental
146
+ # top-level replies when a threaded reply was intended.
147
+ if [ -z "$THREAD_TS" ] && [ "$ALLOW_NEW_THREAD" != "true" ]; then
148
+ error_exit "threadTs is required to prevent accidental new-thread posts. Pass --thread <ts> (or --allow-new-thread to override)."
149
+ fi
150
+
125
151
  if [ -n "$IMAGE_PATH" ]; then
126
152
  # Image upload mode — use /api/slack/upload-image
127
153
  BODY=$(jq -n \
@@ -134,6 +160,18 @@ if [ -n "$IMAGE_PATH" ]; then
134
160
  (if $threadTs != "" then {threadTs: $threadTs} else {} end)')
135
161
 
136
162
  api_call POST "/slack/upload-image" "$BODY"
163
+ elif [ -n "$FILE_PATH" ]; then
164
+ # Generic file upload mode — use /api/slack/upload-file
165
+ BODY=$(jq -n \
166
+ --arg channelId "$CHANNEL_ID" \
167
+ --arg filePath "$FILE_PATH" \
168
+ --arg initialComment "${TEXT:-}" \
169
+ --arg threadTs "${THREAD_TS:-}" \
170
+ '{channelId: $channelId, filePath: $filePath} +
171
+ (if $initialComment != "" then {initialComment: $initialComment} else {} end) +
172
+ (if $threadTs != "" then {threadTs: $threadTs} else {} end)')
173
+
174
+ api_call POST "/slack/upload-file" "$BODY"
137
175
  else
138
176
  # Text-only mode — use /api/slack/send
139
177
  if [ -n "$THREAD_TS" ]; then
@@ -167,6 +205,11 @@ fi
167
205
  if [ -n "$TEXT" ]; then
168
206
  printf '%s\n' "$TEXT"
169
207
  fi
208
+ elif [ -n "$FILE_PATH" ]; then
209
+ printf 'File uploaded: %s\n' "$FILE_PATH"
210
+ if [ -n "$TEXT" ]; then
211
+ printf '%s\n' "$TEXT"
212
+ fi
170
213
  else
171
214
  printf '%s\n' "$TEXT"
172
215
  fi
@@ -27,9 +27,11 @@ bash config/skills/orchestrator/reply-slack/execute.sh '{"channelId":"C0123","te
27
27
  | Parameter | Required | Description |
28
28
  |-----------|----------|-------------|
29
29
  | `channelId` / `--channel` | Yes | Slack channel ID to send the message to |
30
- | `text` / `--text` / stdin | Yes* | Message text (supports Slack Markdown). You can pipe multi-line text via stdin with `--channel`. *Optional when `--image` is provided |
31
- | `threadTs` / `--thread` | No | Thread timestamp for threaded replies |
30
+ | `text` / `--text` / stdin | Yes* | Message text (supports Slack Markdown). You can pipe multi-line text via stdin with `--channel`. *Optional when `--image` or `--file` is provided |
31
+ | `threadTs` / `--thread` | Yes (default) | Thread timestamp for threaded replies. Required unless `--allow-new-thread` is set |
32
32
  | `--image` / `-i` | No | Path to an image file to upload to Slack. When provided, calls `/api/slack/upload-image` instead of `/api/slack/send`. The `--text` becomes an optional comment on the image |
33
+ | `--file` / `-f` | No | Path to any file type (PDF/CSV/ZIP/etc.) to upload via `/api/slack/upload-file`. The `--text` becomes an optional comment |
34
+ | `--allow-new-thread` | No | Explicitly allow posting without a thread (safety override) |
33
35
  | `conversationId` / `--conversation` | No | Conversation ID from the `[CHAT:...]` prefix so the queue can resolve instantly (falls back to the active conversation if omitted) |
34
36
 
35
37
  ## Image Upload
@@ -45,8 +47,34 @@ bash config/skills/orchestrator/reply-slack/execute.sh \
45
47
 
46
48
  Supported image types: PNG, JPEG, GIF, WebP, SVG. Max file size: 20 MB.
47
49
 
50
+ ## Generic File Upload
51
+
52
+ To send any file type (for example PDF/CSV):
53
+
54
+ ```bash
55
+ bash config/skills/orchestrator/reply-slack/execute.sh \
56
+ --channel C0123 \
57
+ --thread 1707430000.001234 \
58
+ --file /path/to/report.pdf \
59
+ --text "Daily report attached"
60
+ ```
61
+
48
62
  ## Output
49
63
 
50
64
  JSON confirmation with the Slack message timestamp (text) or file ID (image) on success.
51
65
 
52
66
  > **Heads up:** After a successful API call the script automatically emits a `[NOTIFY]` block so the backend logs the reply and unblocks any pending Slack messages. If you pass `--conversation`, that ID is embedded in the header. Otherwise TerminalGateway will associate the notify block with the active conversation.
67
+
68
+ ## Safety Behavior
69
+
70
+ By default, this skill **requires** `threadTs` and will fail fast if it is missing.
71
+ This prevents accidental top-level posts when the intent is to reply in an existing thread.
72
+
73
+ If you intentionally want a new top-level message, pass:
74
+
75
+ ```bash
76
+ bash config/skills/orchestrator/reply-slack/execute.sh \
77
+ --channel C0123 \
78
+ --allow-new-thread \
79
+ --text "Top-level announcement"
80
+ ```
@@ -0,0 +1,49 @@
1
+ #!/bin/bash
2
+ # Submit a bug report via GitHub Issues or save locally
3
+ set -euo pipefail
4
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ source "${SCRIPT_DIR}/../_common/lib.sh"
6
+
7
+ INPUT="${1:-}"
8
+ [ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"title\":\"...\",\"body\":\"...\",\"labels\":\"self-evolution,auto-triage\",\"repo\":\"owner/repo\"}'"
9
+
10
+ TITLE=$(echo "$INPUT" | jq -r '.title // empty')
11
+ BODY=$(echo "$INPUT" | jq -r '.body // empty')
12
+ LABELS=$(echo "$INPUT" | jq -r '.labels // "self-evolution,auto-triage"')
13
+ REPO=$(echo "$INPUT" | jq -r '.repo // empty')
14
+
15
+ require_param "title" "$TITLE"
16
+ require_param "body" "$BODY"
17
+
18
+ # Try gh CLI first for GitHub Issues submission
19
+ if command -v gh &>/dev/null && gh auth status &>/dev/null 2>&1; then
20
+ if [ -n "$REPO" ]; then
21
+ gh issue create --repo "$REPO" --title "$TITLE" --body "$BODY" --label "$LABELS" 2>&1
22
+ else
23
+ # Try to use the current repo
24
+ gh issue create --title "$TITLE" --body "$BODY" --label "$LABELS" 2>&1
25
+ fi
26
+ echo ""
27
+ echo "Bug report submitted to GitHub Issues."
28
+ else
29
+ # Fallback: save as local markdown file
30
+ REPORT_DIR="$HOME/.crewly/bug-reports"
31
+ mkdir -p "$REPORT_DIR"
32
+ SAFE_TITLE=$(echo "$TITLE" | tr ' /:' '-' | tr -d '"'"'" | head -c 50)
33
+ FILENAME="${REPORT_DIR}/$(date +%Y%m%d-%H%M%S)-${SAFE_TITLE}.md"
34
+
35
+ cat > "$FILENAME" <<REPORT_EOF
36
+ ---
37
+ title: "${TITLE}"
38
+ labels: ${LABELS}
39
+ date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")
40
+ status: open
41
+ ---
42
+
43
+ ${BODY}
44
+ REPORT_EOF
45
+
46
+ echo "Bug report saved to: $FILENAME"
47
+ echo "GitHub CLI (gh) not available or not authenticated."
48
+ echo "To submit manually, create an issue at your project's GitHub repo."
49
+ fi
@@ -0,0 +1,30 @@
1
+ # Report Bug
2
+
3
+ Submit a bug report either as a GitHub Issue (if `gh` CLI is installed and authenticated) or as a local markdown file in `~/.crewly/bug-reports/`.
4
+
5
+ ## Parameters
6
+
7
+ | Parameter | Type | Default | Description |
8
+ |-----------|--------|-----------------------------|--------------------------------------|
9
+ | `title` | string | (required) | Bug report title |
10
+ | `body` | string | (required) | Full bug report body (markdown) |
11
+ | `labels` | string | `self-evolution,auto-triage`| Comma-separated GitHub issue labels |
12
+ | `repo` | string | (current repo) | GitHub repo in `owner/repo` format |
13
+
14
+ ## Usage
15
+
16
+ ```bash
17
+ # Submit a bug report
18
+ bash config/skills/orchestrator/report-bug/execute.sh '{"title":"Agent crashes on startup","body":"## Description\nAgent dev1 crashes...\n\n## Steps to Reproduce\n1. Start agent\n2. Observe crash\n\n## Evidence\n[log excerpts]","labels":"self-evolution,auto-triage"}'
19
+ ```
20
+
21
+ ## Behavior
22
+
23
+ 1. **If `gh` CLI is available and authenticated:** Creates a GitHub Issue with the given title, body, and labels
24
+ 2. **If `gh` is not available:** Saves the report as a markdown file at `~/.crewly/bug-reports/YYYYMMDD-HHMMSS-title.md`
25
+
26
+ ## When to Use
27
+
28
+ - After completing self-evolution triage and identifying a real bug
29
+ - Only submit after getting user approval (ask before running this skill)
30
+ - Include evidence: log excerpts, timestamps, session names, error messages
@@ -0,0 +1,20 @@
1
+ {
2
+ "id": "orc-report-bug",
3
+ "name": "Report Bug",
4
+ "description": "Submit a bug report via GitHub Issues (gh CLI) or save locally as markdown.",
5
+ "category": "system",
6
+ "skillType": "claude-skill",
7
+ "promptFile": "instructions.md",
8
+ "execution": {
9
+ "type": "script",
10
+ "script": {
11
+ "file": "execute.sh",
12
+ "interpreter": "bash",
13
+ "timeoutMs": 30000
14
+ }
15
+ },
16
+ "assignableRoles": ["orchestrator"],
17
+ "triggers": ["report bug", "submit issue", "bug report"],
18
+ "tags": ["bug", "report", "issue", "github", "self-evolution"],
19
+ "version": "1.0.0"
20
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "display_information": {
3
+ "name": "Crewly",
4
+ "description": "AI Team Orchestrator"
5
+ },
6
+ "features": {
7
+ "bot_user": {
8
+ "display_name": "Crewly",
9
+ "always_online": true
10
+ }
11
+ },
12
+ "oauth_config": {
13
+ "scopes": {
14
+ "bot": [
15
+ "chat:write",
16
+ "files:read",
17
+ "files:write",
18
+ "app_mentions:read",
19
+ "channels:history",
20
+ "groups:history",
21
+ "im:history",
22
+ "mpim:history",
23
+ "users:read"
24
+ ]
25
+ }
26
+ },
27
+ "settings": {
28
+ "socket_mode_enabled": true,
29
+ "event_subscriptions": {
30
+ "bot_events": [
31
+ "message.im",
32
+ "message.channels",
33
+ "app_mention"
34
+ ]
35
+ }
36
+ }
37
+ }
@@ -205,6 +205,9 @@ export declare const CREWLY_CONSTANTS: {
205
205
  readonly MEMORY_DIR: "memory";
206
206
  readonly DOCS_DIR: "docs";
207
207
  readonly DOCS_INDEX_FILE: "docs-index.json";
208
+ readonly LOGS_DIR: "logs";
209
+ readonly SESSION_LOGS_DIR: "sessions";
210
+ readonly BUG_REPORTS_DIR: "bug-reports";
208
211
  };
209
212
  readonly AGENT_STATUSES: {
210
213
  readonly INACTIVE: "inactive";
@@ -413,7 +416,7 @@ export declare const TERMINAL_PATTERNS: {
413
416
  * Agent prompt indicators (characters that appear at input prompts).
414
417
  * Includes Claude Code (❯, >, ⏵), bash ($), and Gemini CLI (!).
415
418
  */
416
- readonly PROMPT_CHARS: readonly ["❯", ">", "⏵", "$", "!"];
419
+ readonly PROMPT_CHARS: readonly ["❯", ">", "›", "⏵", "$", "!"];
417
420
  /**
418
421
  * Claude Code idle prompt detection.
419
422
  * Matches:
@@ -430,6 +433,14 @@ export declare const TERMINAL_PATTERNS: {
430
433
  * - "Type your message …" or "YOLO mode …" textual prompts
431
434
  */
432
435
  readonly GEMINI_CLI_PROMPT: RegExp;
436
+ /**
437
+ * Codex CLI idle prompt detection.
438
+ * Matches:
439
+ * - `› ` prompt lines (Codex TUI prompt indicator)
440
+ * - Box-drawing border followed by `›` or `>`
441
+ * - Textual input placeholder shown by Codex
442
+ */
443
+ readonly CODEX_CLI_PROMPT: RegExp;
433
444
  /**
434
445
  * Combined prompt pattern for any runtime (union of Claude Code + Gemini CLI).
435
446
  * Use runtime-specific patterns when you need to distinguish between runtimes.
@@ -471,7 +482,9 @@ export declare const MESSAGE_QUEUE_CONSTANTS: {
471
482
  * delivery, the orchestrator is likely context-exhausted (ms) */
472
483
  readonly ACK_TIMEOUT: 15000;
473
484
  /** Maximum number of system events to batch into a single delivery */
474
- readonly MAX_SYSTEM_EVENT_BATCH: 5;
485
+ readonly MAX_SYSTEM_EVENT_BATCH: 100;
486
+ /** Max combined chars when coalescing pending system events in-queue */
487
+ readonly MAX_SYSTEM_EVENT_COALESCE_CHARS: 12000;
475
488
  /** Queue persistence file name (stored under crewly home) */
476
489
  readonly PERSISTENCE_FILE: "message-queue.json";
477
490
  /** Queue persistence directory name */
@@ -593,7 +606,30 @@ export declare const GEMINI_SHELL_MODE_CONSTANTS: {
593
606
  * `as const` produces a readonly tuple of regex literals, which complicates
594
607
  * usage with array methods like `.some()` and `.find()`.
595
608
  */
609
+ /**
610
+ * Constants for Gemini CLI failure retry with exponential backoff.
611
+ * When Gemini API errors (RESOURCE_EXHAUSTED, UNAVAILABLE, etc.) are detected,
612
+ * the system waits and retries before declaring the agent dead. Gemini CLI
613
+ * often recovers automatically from transient API errors.
614
+ */
615
+ export declare const GEMINI_FAILURE_RETRY_CONSTANTS: {
616
+ /** Maximum retry attempts before triggering exit/restart flow */
617
+ readonly MAX_RETRIES: 5;
618
+ /** Initial backoff delay (ms) — doubles each retry */
619
+ readonly INITIAL_BACKOFF_MS: 1000;
620
+ /** Maximum backoff delay cap (ms) */
621
+ readonly MAX_BACKOFF_MS: 30000;
622
+ /** Backoff multiplier per retry */
623
+ readonly BACKOFF_MULTIPLIER: 2;
624
+ /** Lines of terminal output to capture when checking for recovery */
625
+ readonly RECOVERY_CHECK_LINES: 50;
626
+ };
596
627
  export declare const GEMINI_FAILURE_PATTERNS: RegExp[];
628
+ /**
629
+ * Gemini update/upgrade markers that should trigger forced recovery.
630
+ * These indicate the CLI interrupted the current request for self-update.
631
+ */
632
+ export declare const GEMINI_FORCE_RESTART_PATTERNS: RegExp[];
597
633
  /**
598
634
  * Constants for runtime exit detection monitoring.
599
635
  * Used by RuntimeExitMonitorService to detect when an agent CLI exits.
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../backend/src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../backend/src/constants.ts"],"names":[],"mappings":"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"}
@@ -206,7 +206,7 @@ export const TERMINAL_PATTERNS = {
206
206
  * Agent prompt indicators (characters that appear at input prompts).
207
207
  * Includes Claude Code (❯, >, ⏵), bash ($), and Gemini CLI (!).
208
208
  */
209
- PROMPT_CHARS: ['❯', '>', '⏵', '$', '!'],
209
+ PROMPT_CHARS: ['❯', '>', '›', '⏵', '$', '!'],
210
210
  /**
211
211
  * Claude Code idle prompt detection.
212
212
  * Matches:
@@ -223,11 +223,19 @@ export const TERMINAL_PATTERNS = {
223
223
  * - "Type your message …" or "YOLO mode …" textual prompts
224
224
  */
225
225
  GEMINI_CLI_PROMPT: /(?:^|\n)\s*(?:[>!]\s|[│┃]\s*[>!]\s|.*?(?:Type\s+your\s+message|YOLO\s+mode))/i,
226
+ /**
227
+ * Codex CLI idle prompt detection.
228
+ * Matches:
229
+ * - `› ` prompt lines (Codex TUI prompt indicator)
230
+ * - Box-drawing border followed by `›` or `>`
231
+ * - Textual input placeholder shown by Codex
232
+ */
233
+ CODEX_CLI_PROMPT: /(?:^|\n)\s*(?:›\s|[│┃]\s*[›>]\s|.*?Type\s+your\s+message(?:\s+or\s+@path\/to\/file)?)/i,
226
234
  /**
227
235
  * Combined prompt pattern for any runtime (union of Claude Code + Gemini CLI).
228
236
  * Use runtime-specific patterns when you need to distinguish between runtimes.
229
237
  */
230
- PROMPT_STREAM: /(?:^|\n)\s*(?:[❯⏵$]\s*(?:\n|$)|❯❯(?:\s|$)|[>!]\s|[│┃]\s*[>!]\s|.*?(?:Type\s+your\s+message|YOLO\s+mode))/i,
238
+ PROMPT_STREAM: /(?:^|\n)\s*(?:[❯⏵$]\s*(?:\n|$)|❯❯(?:\s|$)|[>!]\s|[│┃]\s*[>!]\s|[›>]\s|[│┃]\s*[›>]\s|.*?(?:Type\s+your\s+message|YOLO\s+mode))/i,
231
239
  /**
232
240
  * Processing indicators including status text patterns.
233
241
  */
@@ -269,7 +277,9 @@ export const MESSAGE_QUEUE_CONSTANTS = {
269
277
  * delivery, the orchestrator is likely context-exhausted (ms) */
270
278
  ACK_TIMEOUT: 15000,
271
279
  /** Maximum number of system events to batch into a single delivery */
272
- MAX_SYSTEM_EVENT_BATCH: 5,
280
+ MAX_SYSTEM_EVENT_BATCH: 100,
281
+ /** Max combined chars when coalescing pending system events in-queue */
282
+ MAX_SYSTEM_EVENT_COALESCE_CHARS: 12000,
273
283
  /** Queue persistence file name (stored under crewly home) */
274
284
  PERSISTENCE_FILE: 'message-queue.json',
275
285
  /** Queue persistence directory name */
@@ -394,12 +404,42 @@ export const GEMINI_SHELL_MODE_CONSTANTS = {
394
404
  * `as const` produces a readonly tuple of regex literals, which complicates
395
405
  * usage with array methods like `.some()` and `.find()`.
396
406
  */
407
+ /**
408
+ * Constants for Gemini CLI failure retry with exponential backoff.
409
+ * When Gemini API errors (RESOURCE_EXHAUSTED, UNAVAILABLE, etc.) are detected,
410
+ * the system waits and retries before declaring the agent dead. Gemini CLI
411
+ * often recovers automatically from transient API errors.
412
+ */
413
+ export const GEMINI_FAILURE_RETRY_CONSTANTS = {
414
+ /** Maximum retry attempts before triggering exit/restart flow */
415
+ MAX_RETRIES: 5,
416
+ /** Initial backoff delay (ms) — doubles each retry */
417
+ INITIAL_BACKOFF_MS: 1_000,
418
+ /** Maximum backoff delay cap (ms) */
419
+ MAX_BACKOFF_MS: 30_000,
420
+ /** Backoff multiplier per retry */
421
+ BACKOFF_MULTIPLIER: 2,
422
+ /** Lines of terminal output to capture when checking for recovery */
423
+ RECOVERY_CHECK_LINES: 50,
424
+ };
397
425
  export const GEMINI_FAILURE_PATTERNS = [
398
426
  /Request cancelled/,
399
- /^Error: /m,
400
427
  /RESOURCE_EXHAUSTED/,
401
428
  /UNAVAILABLE/,
402
429
  /Connection error/,
430
+ /INTERNAL(?:\s*:|:)/,
431
+ /DEADLINE_EXCEEDED/,
432
+ /PERMISSION_DENIED/,
433
+ /UNAUTHENTICATED/,
434
+ ];
435
+ /**
436
+ * Gemini update/upgrade markers that should trigger forced recovery.
437
+ * These indicate the CLI interrupted the current request for self-update.
438
+ */
439
+ export const GEMINI_FORCE_RESTART_PATTERNS = [
440
+ /Gemini CLI update available!/i,
441
+ /Attempting to automatically update now/i,
442
+ /Gemini CLI is restarting to apply the trust changes/i,
403
443
  ];
404
444
  /**
405
445
  * Constants for runtime exit detection monitoring.
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../backend/src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../backend/src/constants.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../backend/src/controllers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAgB7C;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAkB3D;AAGD,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../backend/src/controllers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAmB7C;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAqB3D;AAGD,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
@@ -10,6 +10,9 @@ import { createSettingsRouter } from './settings/index.js';
10
10
  import { createChatRouter } from './chat/index.js';
11
11
  import { createSkillRouter } from './skill/index.js';
12
12
  import { createSlackRouter } from './slack/index.js';
13
+ import { createUserRouter } from './user/user.routes.js';
14
+ import { createOAuthRouter } from './oauth/oauth.routes.js';
15
+ import { createMessengerRouter } from './messaging/messenger.routes.js';
13
16
  import { selfImprovementRouter } from './self-improvement/index.js';
14
17
  import { createMemoryRouter } from './memory/index.js';
15
18
  /**
@@ -30,6 +33,9 @@ export function createApiRouter(context) {
30
33
  router.use('/chat', createChatRouter(context));
31
34
  router.use('/skills', createSkillRouter());
32
35
  router.use('/slack', createSlackRouter());
36
+ router.use('/users', createUserRouter());
37
+ router.use('/oauth', createOAuthRouter());
38
+ router.use('/messengers', createMessengerRouter());
33
39
  router.use('/self-improvement', selfImprovementRouter);
34
40
  router.use('/memory', createMemoryRouter());
35
41
  return router;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../backend/src/controllers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,wBAAwB;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAmB;IACjD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,wBAAwB;IACxB,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC3C,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;IACvD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAE5C,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../backend/src/controllers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,wBAAwB;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAmB;IACjD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,wBAAwB;IACxB,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC3C,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;IACvD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAE5C,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Router } from 'express';
2
+ export declare function createMessengerRouter(): Router;
3
+ //# sourceMappingURL=messenger.routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messenger.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/messaging/messenger.routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmC,MAAM,SAAS,CAAC;AAmFlE,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C"}
@@ -0,0 +1,80 @@
1
+ import { Router } from 'express';
2
+ import { promises as fs } from 'fs';
3
+ import path from 'path';
4
+ import os from 'os';
5
+ import { MessengerRegistryService } from '../../services/messaging/messenger-registry.service.js';
6
+ import { SlackMessengerAdapter } from '../../services/messaging/adapters/slack-messenger.adapter.js';
7
+ import { TelegramMessengerAdapter } from '../../services/messaging/adapters/telegram-messenger.adapter.js';
8
+ import { DiscordMessengerAdapter } from '../../services/messaging/adapters/discord-messenger.adapter.js';
9
+ const registry = MessengerRegistryService.getInstance();
10
+ if (!registry.get('slack'))
11
+ registry.register(new SlackMessengerAdapter());
12
+ if (!registry.get('telegram'))
13
+ registry.register(new TelegramMessengerAdapter());
14
+ if (!registry.get('discord'))
15
+ registry.register(new DiscordMessengerAdapter());
16
+ const router = Router();
17
+ function getCredentialPath(platform) {
18
+ return path.join(os.homedir(), '.crewly', `${platform}-credentials.json`);
19
+ }
20
+ router.get('/status', (_req, res) => {
21
+ res.json({ success: true, data: registry.list() });
22
+ });
23
+ router.post('/:platform/connect', async (req, res, next) => {
24
+ try {
25
+ const platform = req.params.platform;
26
+ const adapter = registry.get(platform);
27
+ if (!adapter) {
28
+ res.status(404).json({ success: false, error: `Unsupported platform: ${platform}` });
29
+ return;
30
+ }
31
+ await adapter.initialize(req.body || {});
32
+ await fs.mkdir(path.join(os.homedir(), '.crewly'), { recursive: true });
33
+ await fs.writeFile(getCredentialPath(platform), JSON.stringify(req.body || {}, null, 2) + '\n', 'utf8');
34
+ res.json({ success: true, data: adapter.getStatus(), message: `${platform} connected` });
35
+ }
36
+ catch (error) {
37
+ next(error);
38
+ }
39
+ });
40
+ router.post('/:platform/disconnect', async (req, res, next) => {
41
+ try {
42
+ const platform = req.params.platform;
43
+ const adapter = registry.get(platform);
44
+ if (!adapter) {
45
+ res.status(404).json({ success: false, error: `Unsupported platform: ${platform}` });
46
+ return;
47
+ }
48
+ await adapter.disconnect();
49
+ await fs.rm(getCredentialPath(platform), { force: true });
50
+ res.json({ success: true, message: `${platform} disconnected` });
51
+ }
52
+ catch (error) {
53
+ next(error);
54
+ }
55
+ });
56
+ router.post('/:platform/send', async (req, res, next) => {
57
+ try {
58
+ const platform = req.params.platform;
59
+ const adapter = registry.get(platform);
60
+ if (!adapter) {
61
+ res.status(404).json({ success: false, error: `Unsupported platform: ${platform}` });
62
+ return;
63
+ }
64
+ const channel = String(req.body?.channel || '');
65
+ const text = String(req.body?.text || '');
66
+ if (!channel || !text) {
67
+ res.status(400).json({ success: false, error: 'channel and text are required' });
68
+ return;
69
+ }
70
+ await adapter.sendMessage(channel, text, { threadTs: req.body?.threadTs });
71
+ res.json({ success: true, message: 'Message sent' });
72
+ }
73
+ catch (error) {
74
+ next(error);
75
+ }
76
+ });
77
+ export function createMessengerRouter() {
78
+ return router;
79
+ }
80
+ //# sourceMappingURL=messenger.routes.js.map