crewly 1.13.1 → 1.14.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 (426) hide show
  1. package/config/constants.ts +8 -0
  2. package/config/roles/orchestrator/prompt.md +23 -0
  3. package/config/skills/agent/core/reply-channel/SKILL.md +6 -0
  4. package/config/skills/agent/core/reply-channel/execute.sh +14 -2
  5. package/config/skills/agent/core/slack-post/SKILL.md +126 -0
  6. package/config/skills/agent/core/slack-post/execute.sh +127 -0
  7. package/config/skills/agent/remote-browser/SKILL.md +178 -0
  8. package/config/skills/agent/xiaoyuzhoufm-transcript/SKILL.md +46 -22
  9. package/config/skills/agent/xiaoyuzhoufm-transcript/execute.sh +82 -214
  10. package/config/skills/agent/xiaoyuzhoufm-transcript/skill.json +3 -3
  11. package/config/skills/orchestrator/get-team-status/SKILL.md +5 -1
  12. package/config/skills/orchestrator/get-team-status/execute.sh +28 -2
  13. package/config/slack-app-manifest.json +7 -1
  14. package/dist/backend/backend/src/config/oauth.config.d.ts +93 -19
  15. package/dist/backend/backend/src/config/oauth.config.d.ts.map +1 -1
  16. package/dist/backend/backend/src/config/oauth.config.js +121 -19
  17. package/dist/backend/backend/src/config/oauth.config.js.map +1 -1
  18. package/dist/backend/backend/src/constants.d.ts +60 -0
  19. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  20. package/dist/backend/backend/src/constants.js +74 -0
  21. package/dist/backend/backend/src/constants.js.map +1 -1
  22. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  23. package/dist/backend/backend/src/controllers/chat/chat.controller.js +33 -4
  24. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  25. package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.d.ts.map +1 -1
  26. package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.js +27 -9
  27. package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.js.map +1 -1
  28. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  29. package/dist/backend/backend/src/controllers/slack/slack.controller.js +342 -0
  30. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  31. package/dist/backend/backend/src/index.d.ts.map +1 -1
  32. package/dist/backend/backend/src/index.js +31 -7
  33. package/dist/backend/backend/src/index.js.map +1 -1
  34. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts +10 -0
  35. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
  36. package/dist/backend/backend/src/services/agent/idle-detection.service.js +37 -0
  37. package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
  38. package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts.map +1 -1
  39. package/dist/backend/backend/src/services/browser/browser-bridge.service.js +13 -11
  40. package/dist/backend/backend/src/services/browser/browser-bridge.service.js.map +1 -1
  41. package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts +14 -0
  42. package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts.map +1 -1
  43. package/dist/backend/backend/src/services/browser/browser-proxy.service.js +56 -0
  44. package/dist/backend/backend/src/services/browser/browser-proxy.service.js.map +1 -1
  45. package/dist/backend/backend/src/services/browser/browser-services.registry.d.ts +63 -0
  46. package/dist/backend/backend/src/services/browser/browser-services.registry.d.ts.map +1 -0
  47. package/dist/backend/backend/src/services/browser/browser-services.registry.js +74 -0
  48. package/dist/backend/backend/src/services/browser/browser-services.registry.js.map +1 -0
  49. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +25 -1
  50. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  51. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +19 -7
  52. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  53. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +66 -0
  54. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  55. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +121 -1
  56. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  57. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +35 -0
  58. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  59. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +63 -0
  60. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  61. package/dist/backend/backend/src/services/core/storage.service.d.ts +6 -0
  62. package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
  63. package/dist/backend/backend/src/services/core/storage.service.js +1 -1
  64. package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
  65. package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts.map +1 -1
  66. package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js +6 -2
  67. package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js.map +1 -1
  68. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts.map +1 -1
  69. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js +14 -0
  70. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js.map +1 -1
  71. package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.d.ts +8 -0
  72. package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.d.ts.map +1 -1
  73. package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.js +31 -3
  74. package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.js.map +1 -1
  75. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +34 -0
  76. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
  77. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +99 -10
  78. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  79. package/dist/backend/backend/src/services/slack/slack-agent-identity.service.d.ts +209 -0
  80. package/dist/backend/backend/src/services/slack/slack-agent-identity.service.d.ts.map +1 -0
  81. package/dist/backend/backend/src/services/slack/slack-agent-identity.service.js +416 -0
  82. package/dist/backend/backend/src/services/slack/slack-agent-identity.service.js.map +1 -0
  83. package/dist/backend/backend/src/services/slack/slack-agent-post.service.d.ts +124 -0
  84. package/dist/backend/backend/src/services/slack/slack-agent-post.service.d.ts.map +1 -0
  85. package/dist/backend/backend/src/services/slack/slack-agent-post.service.js +243 -0
  86. package/dist/backend/backend/src/services/slack/slack-agent-post.service.js.map +1 -0
  87. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts +11 -0
  88. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
  89. package/dist/backend/backend/src/services/slack/slack-initializer.js +56 -0
  90. package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
  91. package/dist/backend/backend/src/services/slack/slack-mention-resolver.d.ts +103 -0
  92. package/dist/backend/backend/src/services/slack/slack-mention-resolver.d.ts.map +1 -0
  93. package/dist/backend/backend/src/services/slack/slack-mention-resolver.js +197 -0
  94. package/dist/backend/backend/src/services/slack/slack-mention-resolver.js.map +1 -0
  95. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  96. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +18 -0
  97. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  98. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +329 -0
  99. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -0
  100. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +821 -0
  101. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -0
  102. package/dist/backend/backend/src/services/slack/slack.service.d.ts +116 -1
  103. package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
  104. package/dist/backend/backend/src/services/slack/slack.service.js +297 -3
  105. package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
  106. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +22 -0
  107. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  108. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +71 -0
  109. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  110. package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.d.ts +20 -2
  111. package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.d.ts.map +1 -1
  112. package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.js +27 -2
  113. package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.js.map +1 -1
  114. package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.d.ts +36 -2
  115. package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.d.ts.map +1 -1
  116. package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.js +86 -10
  117. package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.js.map +1 -1
  118. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.d.ts +37 -0
  119. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.d.ts.map +1 -1
  120. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.js +74 -8
  121. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.js.map +1 -1
  122. package/dist/backend/backend/src/types/slack.types.d.ts +87 -0
  123. package/dist/backend/backend/src/types/slack.types.d.ts.map +1 -1
  124. package/dist/backend/backend/src/types/slack.types.js.map +1 -1
  125. package/dist/backend/build-info.json +2 -2
  126. package/dist/backend/config/constants.d.ts +8 -0
  127. package/dist/backend/config/constants.d.ts.map +1 -1
  128. package/dist/backend/config/constants.js +8 -0
  129. package/dist/backend/config/constants.js.map +1 -1
  130. package/dist/cli/backend/src/config/oauth.config.d.ts +93 -19
  131. package/dist/cli/backend/src/config/oauth.config.d.ts.map +1 -1
  132. package/dist/cli/backend/src/config/oauth.config.js +121 -19
  133. package/dist/cli/backend/src/config/oauth.config.js.map +1 -1
  134. package/dist/cli/backend/src/constants.d.ts +60 -0
  135. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  136. package/dist/cli/backend/src/constants.js +74 -0
  137. package/dist/cli/backend/src/constants.js.map +1 -1
  138. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +292 -0
  139. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -0
  140. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +420 -0
  141. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -0
  142. package/dist/cli/backend/src/services/chat-v2/chat-v2.mention-resolver.d.ts +134 -0
  143. package/dist/cli/backend/src/services/chat-v2/chat-v2.mention-resolver.d.ts.map +1 -0
  144. package/dist/cli/backend/src/services/chat-v2/chat-v2.mention-resolver.js +232 -0
  145. package/dist/cli/backend/src/services/chat-v2/chat-v2.mention-resolver.js.map +1 -0
  146. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +66 -0
  147. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  148. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +121 -1
  149. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  150. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts +35 -0
  151. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  152. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js +63 -0
  153. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  154. package/dist/cli/backend/src/services/core/storage.service.d.ts +6 -0
  155. package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
  156. package/dist/cli/backend/src/services/core/storage.service.js +1 -1
  157. package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
  158. package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts.map +1 -1
  159. package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js +6 -2
  160. package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js.map +1 -1
  161. package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.d.ts +8 -0
  162. package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.d.ts.map +1 -1
  163. package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.js +31 -3
  164. package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.js.map +1 -1
  165. package/dist/cli/backend/src/services/slack/slack-agent-identity.service.d.ts +209 -0
  166. package/dist/cli/backend/src/services/slack/slack-agent-identity.service.d.ts.map +1 -0
  167. package/dist/cli/backend/src/services/slack/slack-agent-identity.service.js +416 -0
  168. package/dist/cli/backend/src/services/slack/slack-agent-identity.service.js.map +1 -0
  169. package/dist/cli/backend/src/services/slack/slack-mention-resolver.d.ts +103 -0
  170. package/dist/cli/backend/src/services/slack/slack-mention-resolver.d.ts.map +1 -0
  171. package/dist/cli/backend/src/services/slack/slack-mention-resolver.js +197 -0
  172. package/dist/cli/backend/src/services/slack/slack-mention-resolver.js.map +1 -0
  173. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  174. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js +18 -0
  175. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  176. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +329 -0
  177. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -0
  178. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +821 -0
  179. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -0
  180. package/dist/cli/backend/src/services/slack/slack.service.d.ts +116 -1
  181. package/dist/cli/backend/src/services/slack/slack.service.d.ts.map +1 -1
  182. package/dist/cli/backend/src/services/slack/slack.service.js +297 -3
  183. package/dist/cli/backend/src/services/slack/slack.service.js.map +1 -1
  184. package/dist/cli/backend/src/types/slack.types.d.ts +87 -0
  185. package/dist/cli/backend/src/types/slack.types.d.ts.map +1 -1
  186. package/dist/cli/backend/src/types/slack.types.js.map +1 -1
  187. package/dist/cli/backend/src/utils/team.utils.d.ts +40 -0
  188. package/dist/cli/backend/src/utils/team.utils.d.ts.map +1 -0
  189. package/dist/cli/backend/src/utils/team.utils.js +66 -0
  190. package/dist/cli/backend/src/utils/team.utils.js.map +1 -0
  191. package/dist/cli/cli/src/index.js +0 -0
  192. package/dist/cli/config/constants.d.ts +8 -0
  193. package/dist/cli/config/constants.d.ts.map +1 -1
  194. package/dist/cli/config/constants.js +8 -0
  195. package/dist/cli/config/constants.js.map +1 -1
  196. package/frontend/dist/assets/{index-890d3f9d.js → index-190a957f.js} +294 -294
  197. package/frontend/dist/assets/{index-8205ea5e.css → index-88feb412.css} +1 -1
  198. package/frontend/dist/index.html +2 -2
  199. package/package.json +1 -1
  200. package/config/constants.d.ts.map +0 -1
  201. package/config/index.d.ts.map +0 -1
  202. package/dist/backend/backend/src/controllers/knowledge/index.d.ts +0 -7
  203. package/dist/backend/backend/src/controllers/knowledge/index.d.ts.map +0 -1
  204. package/dist/backend/backend/src/controllers/knowledge/index.js +0 -7
  205. package/dist/backend/backend/src/controllers/knowledge/index.js.map +0 -1
  206. package/dist/backend/backend/src/controllers/knowledge/knowledge.controller.d.ts +0 -71
  207. package/dist/backend/backend/src/controllers/knowledge/knowledge.controller.d.ts.map +0 -1
  208. package/dist/backend/backend/src/controllers/knowledge/knowledge.controller.js +0 -237
  209. package/dist/backend/backend/src/controllers/knowledge/knowledge.controller.js.map +0 -1
  210. package/dist/backend/backend/src/controllers/knowledge/knowledge.routes.d.ts +0 -24
  211. package/dist/backend/backend/src/controllers/knowledge/knowledge.routes.d.ts.map +0 -1
  212. package/dist/backend/backend/src/controllers/knowledge/knowledge.routes.js +0 -34
  213. package/dist/backend/backend/src/controllers/knowledge/knowledge.routes.js.map +0 -1
  214. package/dist/backend/backend/src/controllers/scheduler/unified-scheduler.controller.d.ts +0 -91
  215. package/dist/backend/backend/src/controllers/scheduler/unified-scheduler.controller.d.ts.map +0 -1
  216. package/dist/backend/backend/src/controllers/scheduler/unified-scheduler.controller.js +0 -290
  217. package/dist/backend/backend/src/controllers/scheduler/unified-scheduler.controller.js.map +0 -1
  218. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +0 -169
  219. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +0 -1
  220. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +0 -1779
  221. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +0 -1
  222. package/dist/backend/backend/src/index.js.orc-bak-20260529 +0 -3130
  223. package/dist/backend/backend/src/routes/modules/unified-scheduler.routes.d.ts +0 -27
  224. package/dist/backend/backend/src/routes/modules/unified-scheduler.routes.d.ts.map +0 -1
  225. package/dist/backend/backend/src/routes/modules/unified-scheduler.routes.js +0 -40
  226. package/dist/backend/backend/src/routes/modules/unified-scheduler.routes.js.map +0 -1
  227. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +0 -513
  228. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +0 -1
  229. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +0 -1568
  230. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +0 -1
  231. package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts +0 -86
  232. package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts.map +0 -1
  233. package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js +0 -147
  234. package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js.map +0 -1
  235. package/dist/backend/backend/src/services/agent/crewly-agent/api-client.d.ts +0 -68
  236. package/dist/backend/backend/src/services/agent/crewly-agent/api-client.d.ts.map +0 -1
  237. package/dist/backend/backend/src/services/agent/crewly-agent/api-client.js +0 -131
  238. package/dist/backend/backend/src/services/agent/crewly-agent/api-client.js.map +0 -1
  239. package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.d.ts +0 -130
  240. package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.d.ts.map +0 -1
  241. package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.js +0 -263
  242. package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.js.map +0 -1
  243. package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.d.ts +0 -74
  244. package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.d.ts.map +0 -1
  245. package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.js +0 -140
  246. package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.js.map +0 -1
  247. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts +0 -29
  248. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts.map +0 -1
  249. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js +0 -279
  250. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js.map +0 -1
  251. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts +0 -340
  252. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +0 -1
  253. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +0 -1176
  254. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +0 -1
  255. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts +0 -79
  256. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts.map +0 -1
  257. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js +0 -145
  258. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js.map +0 -1
  259. package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.d.ts +0 -79
  260. package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.d.ts.map +0 -1
  261. package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.js +0 -218
  262. package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.js.map +0 -1
  263. package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts +0 -16
  264. package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts.map +0 -1
  265. package/dist/backend/backend/src/services/agent/crewly-agent/index.js +0 -16
  266. package/dist/backend/backend/src/services/agent/crewly-agent/index.js.map +0 -1
  267. package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.d.ts +0 -135
  268. package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.d.ts.map +0 -1
  269. package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.js +0 -185
  270. package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.js.map +0 -1
  271. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts +0 -141
  272. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts.map +0 -1
  273. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js +0 -310
  274. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js.map +0 -1
  275. package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.d.ts +0 -91
  276. package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.d.ts.map +0 -1
  277. package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.js +0 -143
  278. package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.js.map +0 -1
  279. package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.d.ts +0 -103
  280. package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.d.ts.map +0 -1
  281. package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.js +0 -256
  282. package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.js.map +0 -1
  283. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts +0 -143
  284. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts.map +0 -1
  285. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js +0 -264
  286. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js.map +0 -1
  287. package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.d.ts +0 -13
  288. package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.d.ts.map +0 -1
  289. package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js +0 -91
  290. package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js.map +0 -1
  291. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts +0 -135
  292. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +0 -1
  293. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +0 -1937
  294. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +0 -1
  295. package/dist/backend/backend/src/services/autonomous/auto-assign.service.d.ts +0 -429
  296. package/dist/backend/backend/src/services/autonomous/auto-assign.service.d.ts.map +0 -1
  297. package/dist/backend/backend/src/services/autonomous/auto-assign.service.js +0 -852
  298. package/dist/backend/backend/src/services/autonomous/auto-assign.service.js.map +0 -1
  299. package/dist/backend/backend/src/services/knowledge/embedding-provider.d.ts +0 -78
  300. package/dist/backend/backend/src/services/knowledge/embedding-provider.d.ts.map +0 -1
  301. package/dist/backend/backend/src/services/knowledge/embedding-provider.js +0 -179
  302. package/dist/backend/backend/src/services/knowledge/embedding-provider.js.map +0 -1
  303. package/dist/backend/backend/src/services/knowledge/fts5-index.service.d.ts +0 -118
  304. package/dist/backend/backend/src/services/knowledge/fts5-index.service.d.ts.map +0 -1
  305. package/dist/backend/backend/src/services/knowledge/fts5-index.service.js +0 -241
  306. package/dist/backend/backend/src/services/knowledge/fts5-index.service.js.map +0 -1
  307. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.d.ts +0 -102
  308. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.d.ts.map +0 -1
  309. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.js +0 -118
  310. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.js.map +0 -1
  311. package/dist/backend/backend/src/services/knowledge/index.d.ts +0 -8
  312. package/dist/backend/backend/src/services/knowledge/index.d.ts.map +0 -1
  313. package/dist/backend/backend/src/services/knowledge/index.js +0 -8
  314. package/dist/backend/backend/src/services/knowledge/index.js.map +0 -1
  315. package/dist/backend/backend/src/services/knowledge/knowledge-search.service.d.ts +0 -241
  316. package/dist/backend/backend/src/services/knowledge/knowledge-search.service.d.ts.map +0 -1
  317. package/dist/backend/backend/src/services/knowledge/knowledge-search.service.js +0 -590
  318. package/dist/backend/backend/src/services/knowledge/knowledge-search.service.js.map +0 -1
  319. package/dist/backend/backend/src/services/knowledge/knowledge.service.d.ts +0 -153
  320. package/dist/backend/backend/src/services/knowledge/knowledge.service.d.ts.map +0 -1
  321. package/dist/backend/backend/src/services/knowledge/knowledge.service.js +0 -409
  322. package/dist/backend/backend/src/services/knowledge/knowledge.service.js.map +0 -1
  323. package/dist/backend/backend/src/services/knowledge/vector-store.service.d.ts +0 -331
  324. package/dist/backend/backend/src/services/knowledge/vector-store.service.d.ts.map +0 -1
  325. package/dist/backend/backend/src/services/knowledge/vector-store.service.js +0 -830
  326. package/dist/backend/backend/src/services/knowledge/vector-store.service.js.map +0 -1
  327. package/dist/backend/backend/src/services/knowledge/wiki-compiler.service.d.ts +0 -115
  328. package/dist/backend/backend/src/services/knowledge/wiki-compiler.service.d.ts.map +0 -1
  329. package/dist/backend/backend/src/services/knowledge/wiki-compiler.service.js +0 -215
  330. package/dist/backend/backend/src/services/knowledge/wiki-compiler.service.js.map +0 -1
  331. package/dist/backend/backend/src/services/memory/embedding-provider.d.ts +0 -78
  332. package/dist/backend/backend/src/services/memory/embedding-provider.d.ts.map +0 -1
  333. package/dist/backend/backend/src/services/memory/embedding-provider.js +0 -185
  334. package/dist/backend/backend/src/services/memory/embedding-provider.js.map +0 -1
  335. package/dist/backend/backend/src/services/memory/vector-store.service.d.ts +0 -331
  336. package/dist/backend/backend/src/services/memory/vector-store.service.d.ts.map +0 -1
  337. package/dist/backend/backend/src/services/memory/vector-store.service.js +0 -825
  338. package/dist/backend/backend/src/services/memory/vector-store.service.js.map +0 -1
  339. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts +0 -171
  340. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +0 -1
  341. package/dist/backend/backend/src/services/project/task-tracking.service.js +0 -725
  342. package/dist/backend/backend/src/services/project/task-tracking.service.js.map +0 -1
  343. package/dist/backend/backend/src/services/v3/project-task-watcher.service.d.ts +0 -118
  344. package/dist/backend/backend/src/services/v3/project-task-watcher.service.d.ts.map +0 -1
  345. package/dist/backend/backend/src/services/v3/project-task-watcher.service.js +0 -326
  346. package/dist/backend/backend/src/services/v3/project-task-watcher.service.js.map +0 -1
  347. package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.d.ts +0 -74
  348. package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.d.ts.map +0 -1
  349. package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.js +0 -154
  350. package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.js.map +0 -1
  351. package/dist/backend/backend/src/services/workflow/unified-scheduler.service.d.ts +0 -234
  352. package/dist/backend/backend/src/services/workflow/unified-scheduler.service.d.ts.map +0 -1
  353. package/dist/backend/backend/src/services/workflow/unified-scheduler.service.js +0 -636
  354. package/dist/backend/backend/src/services/workflow/unified-scheduler.service.js.map +0 -1
  355. package/dist/backend/backend/src/services/workflow/unified-scheduler.types.d.ts +0 -156
  356. package/dist/backend/backend/src/services/workflow/unified-scheduler.types.d.ts.map +0 -1
  357. package/dist/backend/backend/src/services/workflow/unified-scheduler.types.js +0 -81
  358. package/dist/backend/backend/src/services/workflow/unified-scheduler.types.js.map +0 -1
  359. package/dist/backend/backend/src/types/auto-assign.types.d.ts +0 -271
  360. package/dist/backend/backend/src/types/auto-assign.types.d.ts.map +0 -1
  361. package/dist/backend/backend/src/types/auto-assign.types.js +0 -136
  362. package/dist/backend/backend/src/types/auto-assign.types.js.map +0 -1
  363. package/dist/backend/backend/src/types/knowledge.types.d.ts +0 -195
  364. package/dist/backend/backend/src/types/knowledge.types.d.ts.map +0 -1
  365. package/dist/backend/backend/src/types/knowledge.types.js +0 -38
  366. package/dist/backend/backend/src/types/knowledge.types.js.map +0 -1
  367. package/dist/backend/backend/src/utils/esm-require.utils.d.ts +0 -111
  368. package/dist/backend/backend/src/utils/esm-require.utils.d.ts.map +0 -1
  369. package/dist/backend/backend/src/utils/esm-require.utils.js +0 -124
  370. package/dist/backend/backend/src/utils/esm-require.utils.js.map +0 -1
  371. package/dist/cli/backend/src/services/knowledge/embedding-provider.d.ts +0 -78
  372. package/dist/cli/backend/src/services/knowledge/embedding-provider.d.ts.map +0 -1
  373. package/dist/cli/backend/src/services/knowledge/embedding-provider.js +0 -179
  374. package/dist/cli/backend/src/services/knowledge/embedding-provider.js.map +0 -1
  375. package/dist/cli/backend/src/services/knowledge/fts5-index.service.d.ts +0 -118
  376. package/dist/cli/backend/src/services/knowledge/fts5-index.service.d.ts.map +0 -1
  377. package/dist/cli/backend/src/services/knowledge/fts5-index.service.js +0 -241
  378. package/dist/cli/backend/src/services/knowledge/fts5-index.service.js.map +0 -1
  379. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.d.ts +0 -102
  380. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.d.ts.map +0 -1
  381. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.js +0 -118
  382. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.js.map +0 -1
  383. package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.d.ts +0 -56
  384. package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.d.ts.map +0 -1
  385. package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.js +0 -91
  386. package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.js.map +0 -1
  387. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts +0 -241
  388. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts.map +0 -1
  389. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js +0 -590
  390. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js.map +0 -1
  391. package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts +0 -153
  392. package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts.map +0 -1
  393. package/dist/cli/backend/src/services/knowledge/knowledge.service.js +0 -409
  394. package/dist/cli/backend/src/services/knowledge/knowledge.service.js.map +0 -1
  395. package/dist/cli/backend/src/services/knowledge/learnings-index.service.d.ts +0 -159
  396. package/dist/cli/backend/src/services/knowledge/learnings-index.service.d.ts.map +0 -1
  397. package/dist/cli/backend/src/services/knowledge/learnings-index.service.js +0 -304
  398. package/dist/cli/backend/src/services/knowledge/learnings-index.service.js.map +0 -1
  399. package/dist/cli/backend/src/services/knowledge/vector-store.service.d.ts +0 -331
  400. package/dist/cli/backend/src/services/knowledge/vector-store.service.d.ts.map +0 -1
  401. package/dist/cli/backend/src/services/knowledge/vector-store.service.js +0 -830
  402. package/dist/cli/backend/src/services/knowledge/vector-store.service.js.map +0 -1
  403. package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.d.ts +0 -115
  404. package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.d.ts.map +0 -1
  405. package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.js +0 -215
  406. package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.js.map +0 -1
  407. package/dist/cli/backend/src/services/memory/embedding-provider.d.ts +0 -78
  408. package/dist/cli/backend/src/services/memory/embedding-provider.d.ts.map +0 -1
  409. package/dist/cli/backend/src/services/memory/embedding-provider.js +0 -179
  410. package/dist/cli/backend/src/services/memory/embedding-provider.js.map +0 -1
  411. package/dist/cli/backend/src/services/memory/vector-store.service.d.ts +0 -331
  412. package/dist/cli/backend/src/services/memory/vector-store.service.d.ts.map +0 -1
  413. package/dist/cli/backend/src/services/memory/vector-store.service.js +0 -814
  414. package/dist/cli/backend/src/services/memory/vector-store.service.js.map +0 -1
  415. package/dist/cli/backend/src/services/project/task-tracking.service.d.ts +0 -171
  416. package/dist/cli/backend/src/services/project/task-tracking.service.d.ts.map +0 -1
  417. package/dist/cli/backend/src/services/project/task-tracking.service.js +0 -725
  418. package/dist/cli/backend/src/services/project/task-tracking.service.js.map +0 -1
  419. package/dist/cli/backend/src/types/auto-assign.types.d.ts +0 -271
  420. package/dist/cli/backend/src/types/auto-assign.types.d.ts.map +0 -1
  421. package/dist/cli/backend/src/types/auto-assign.types.js +0 -136
  422. package/dist/cli/backend/src/types/auto-assign.types.js.map +0 -1
  423. package/dist/cli/backend/src/types/knowledge.types.d.ts +0 -195
  424. package/dist/cli/backend/src/types/knowledge.types.d.ts.map +0 -1
  425. package/dist/cli/backend/src/types/knowledge.types.js +0 -38
  426. package/dist/cli/backend/src/types/knowledge.types.js.map +0 -1
@@ -1,154 +0,0 @@
1
- /**
2
- * WikiChatSubscriberService — listens on chat-v2's `chat_message` event
3
- * and fires `WikiIngestService.ingest` for every user-authored message.
4
- *
5
- * Phase A (rules-only routing):
6
- * senderType === 'user' → ingest into the Crewly project vault.
7
- * senderType === 'agent' | 'system' → skip.
8
- *
9
- * Phase B (per spec §4.5) will replace the project-only routing with an
10
- * LLM-driven gate that picks team / project / global per source.
11
- *
12
- * Failure mode is FIRE-AND-FORGET: a malformed message, missing schema,
13
- * or filesystem error MUST NOT block the live chat flow. Errors are
14
- * logged at warn-level and swallowed.
15
- *
16
- * @module services/wiki/wiki-chat-subscriber.service
17
- */
18
- import * as path from 'path';
19
- import { LoggerService } from '../core/logger.service.js';
20
- import { WikiIngestService, detectMessageShape } from './wiki-ingest.service.js';
21
- /**
22
- * Process-singleton subscriber. Call `start()` once at server boot,
23
- * `stop()` at shutdown.
24
- */
25
- export class WikiChatSubscriberService {
26
- logger;
27
- chatService;
28
- projectVaultPath;
29
- ingestService;
30
- boundHandler = null;
31
- started = false;
32
- constructor(opts) {
33
- this.logger = LoggerService.getInstance().createComponentLogger('WikiChatSubscriber');
34
- this.chatService = opts.chatService;
35
- this.projectVaultPath = opts.projectVaultPath ?? resolveDefaultProjectVaultPath();
36
- this.ingestService = opts.ingestService ?? WikiIngestService.getInstance();
37
- }
38
- /**
39
- * Subscribe to `chat_message`. Idempotent — calling start() twice
40
- * leaves a single listener.
41
- */
42
- start() {
43
- if (this.started) {
44
- this.logger.debug('start() called twice — ignoring');
45
- return;
46
- }
47
- this.boundHandler = (dto) => {
48
- // Fire-and-forget; any thrown error is logged + swallowed in handle().
49
- void this.handle(dto);
50
- };
51
- this.chatService.on('chat_message', this.boundHandler);
52
- this.started = true;
53
- this.logger.info('WikiChatSubscriber started', {
54
- vaultPath: this.projectVaultPath,
55
- });
56
- }
57
- /** Detach. Safe to call when not started. */
58
- stop() {
59
- if (!this.started || !this.boundHandler)
60
- return;
61
- this.chatService.off('chat_message', this.boundHandler);
62
- this.boundHandler = null;
63
- this.started = false;
64
- this.logger.info('WikiChatSubscriber stopped');
65
- }
66
- /**
67
- * Handle a single chat message. Public for tests.
68
- */
69
- async handle(dto) {
70
- try {
71
- if (!this.isIngestable(dto)) {
72
- return;
73
- }
74
- const ingestInput = {
75
- vaultPath: this.projectVaultPath,
76
- sourceType: 'user_chat',
77
- sourceRef: `chat:${dto.channelId}:${dto.id}`,
78
- sourceBody: dto.content,
79
- callerSession: `user/${dto.senderId}`,
80
- };
81
- // Phase A rules-based promotion: decision-shaped chats land in
82
- // BOTH log.md (audit) and llm-curated/decisions/<date>-<slug>.md
83
- // (canonical). Phase B will replace `detectMessageShape` with an
84
- // LLM gate per v2.1 §4.
85
- const shape = detectMessageShape(dto.content);
86
- if (shape === 'decision') {
87
- const result = await this.ingestService.ingestDecision(ingestInput);
88
- if (!result.log.ok) {
89
- this.logger.warn('WikiChatSubscriber decision-log ingest refused', {
90
- reason: result.log.reason,
91
- messageId: dto.id,
92
- });
93
- }
94
- if (!result.decision.ok) {
95
- this.logger.warn('WikiChatSubscriber decisions/ promotion refused', {
96
- reason: result.decision.reason,
97
- messageId: dto.id,
98
- });
99
- }
100
- return;
101
- }
102
- const outcome = await this.ingestService.ingest(ingestInput);
103
- if (!outcome.ok) {
104
- this.logger.warn('WikiChatSubscriber ingest refused', {
105
- reason: outcome.reason,
106
- messageId: dto.id,
107
- });
108
- }
109
- }
110
- catch (err) {
111
- // Swallow — chat flow must not block on wiki write failures.
112
- this.logger.warn('WikiChatSubscriber.handle threw (swallowed)', {
113
- messageId: dto.id,
114
- error: err.message,
115
- });
116
- }
117
- }
118
- /**
119
- * Decide whether a chat-v2 message should drive a wiki write.
120
- * Public for tests; logic is conservative — only ingest user-authored
121
- * text messages, skip agents/system, mentions-only pings, and slash
122
- * commands.
123
- */
124
- isIngestable(dto) {
125
- if (dto.senderType !== 'user')
126
- return false;
127
- if (!dto.content || dto.content.trim().length === 0)
128
- return false;
129
- // Skip slash commands — they're orc-controls, not knowledge.
130
- if (dto.content.trimStart().startsWith('/'))
131
- return false;
132
- // chat-v2 defaults `contentType` to 'markdown' when sendMessage doesn't
133
- // supply one (chat-v2.service.ts ~line 1240). Accept the two readable
134
- // text-bearing types; reject binary/system flavors like 'system_note'.
135
- const acceptable = new Set(['text', 'markdown']);
136
- if (dto.contentType && !acceptable.has(dto.contentType))
137
- return false;
138
- return true;
139
- }
140
- }
141
- /**
142
- * Resolve a sensible default vault path:
143
- * 1. `CREWLY_PROJECT_VAULT_PATH` env var (explicit override)
144
- * 2. `<cwd>/.crewly/wiki` if it exists
145
- * 3. The Crewly repo's own project vault (the only one with SCHEMA.md today)
146
- */
147
- function resolveDefaultProjectVaultPath() {
148
- const fromEnv = process.env['CREWLY_PROJECT_VAULT_PATH'];
149
- if (fromEnv && path.isAbsolute(fromEnv)) {
150
- return fromEnv;
151
- }
152
- return path.join('/Users/yellowsunhy/Desktop/projects/crewly-projects/crewly', '.crewly/wiki');
153
- }
154
- //# sourceMappingURL=wiki-chat-subscriber.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wiki-chat-subscriber.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-chat-subscriber.service.ts"],"names":[],"mappings":"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"}
@@ -1,234 +0,0 @@
1
- /**
2
- * Unified Scheduler Service
3
- *
4
- * Consolidates cron, interval, and idle-based scheduling into a single
5
- * persistent service with agent auto-start capabilities.
6
- *
7
- * Features:
8
- * - Cron schedules: standard 5-field expressions
9
- * - Interval schedules: fixed-interval triggers
10
- * - Idle schedules: trigger when agent has been idle for N minutes
11
- * - Persistent storage in ~/.crewly/unified-schedules.json
12
- * - Auto-start agents that are offline when triggered
13
- * - Auto-pause after maxConsecutiveTriggers without agent response
14
- * - Manual trigger, pause, and resume
15
- *
16
- * Runs a 60-second evaluation loop that checks all active schedules
17
- * and triggers those that are due.
18
- *
19
- * @module services/workflow/unified-scheduler.service
20
- */
21
- import { EventEmitter } from 'events';
22
- import type { UnifiedSchedule, CreateScheduleRequest, UpdateScheduleRequest, SchedulerHealth } from './unified-scheduler.types.js';
23
- /**
24
- * UnifiedSchedulerService manages all schedule types (cron, interval, idle)
25
- * in a single persistent store with a 60-second evaluation loop.
26
- *
27
- * Uses sendMessageToAgent (via callback) for message delivery and
28
- * supports auto-starting offline agents.
29
- */
30
- export declare class UnifiedSchedulerService extends EventEmitter {
31
- private static instance;
32
- private readonly logger;
33
- private readonly storagePath;
34
- /** All schedules indexed by ID */
35
- private schedules;
36
- /** Evaluation loop timer */
37
- private evalTimer;
38
- /** Whether the eval loop is running */
39
- private running;
40
- /** Timestamp of last evaluation cycle */
41
- private lastEvaluatedAt;
42
- /** Total triggers since service start */
43
- private totalTriggersSinceStart;
44
- /**
45
- * Callback for sending messages to agents.
46
- * Set via setMessageCallback() — decouples from AgentRegistrationService.
47
- */
48
- private messageCallback;
49
- /**
50
- * Callback for checking if an agent is online.
51
- * Set via setAgentStatusCallback().
52
- */
53
- private agentStatusCallback;
54
- /**
55
- * Callback for starting an offline agent.
56
- * Set via setAgentStartCallback().
57
- */
58
- private agentStartCallback;
59
- /**
60
- * Callback for checking agent idle status.
61
- * Set via setIdleCheckCallback().
62
- */
63
- private idleCheckCallback;
64
- private constructor();
65
- /**
66
- * Get the singleton instance.
67
- *
68
- * @param crewlyHome - Override ~/.crewly path (for testing)
69
- * @returns Service instance
70
- */
71
- static getInstance(crewlyHome?: string): UnifiedSchedulerService;
72
- /**
73
- * Reset the singleton (for testing).
74
- */
75
- static resetInstance(): void;
76
- /**
77
- * Set the callback for sending messages to agents.
78
- *
79
- * @param callback - Function that sends a message to an agent by session name
80
- */
81
- setMessageCallback(callback: (sessionName: string, message: string) => Promise<{
82
- success: boolean;
83
- }>): void;
84
- /**
85
- * Set the callback for checking if an agent is online.
86
- *
87
- * @param callback - Returns true if the agent is currently active
88
- */
89
- setAgentStatusCallback(callback: (sessionName: string) => Promise<boolean>): void;
90
- /**
91
- * Set the callback for starting an offline agent.
92
- *
93
- * @param callback - Starts the agent and returns true if successful
94
- */
95
- setAgentStartCallback(callback: (sessionName: string) => Promise<boolean>): void;
96
- /**
97
- * Set the callback for checking agent idle status.
98
- *
99
- * @param callback - Returns idle status and idle duration
100
- */
101
- setIdleCheckCallback(callback: (sessionName: string) => Promise<{
102
- idle: boolean;
103
- idleMinutes: number;
104
- }>): void;
105
- /**
106
- * Start the scheduler evaluation loop.
107
- *
108
- * Loads persisted schedules from disk and begins the 60-second
109
- * evaluation cycle.
110
- */
111
- start(): void;
112
- /**
113
- * Stop the scheduler evaluation loop.
114
- */
115
- stop(): void;
116
- /**
117
- * Create a new schedule.
118
- *
119
- * @param request - Schedule creation request
120
- * @returns Created schedule
121
- * @throws Error if validation fails
122
- */
123
- create(request: CreateScheduleRequest): UnifiedSchedule;
124
- /**
125
- * Get a schedule by ID.
126
- *
127
- * @param id - Schedule ID
128
- * @returns Schedule or null
129
- */
130
- get(id: string): UnifiedSchedule | null;
131
- /**
132
- * List all schedules, optionally filtered by target session.
133
- *
134
- * @param target - Optional session name filter
135
- * @returns Array of schedules
136
- */
137
- list(target?: string): UnifiedSchedule[];
138
- /**
139
- * Update an existing schedule.
140
- *
141
- * @param id - Schedule ID
142
- * @param updates - Partial update fields
143
- * @returns Updated schedule or null if not found
144
- */
145
- update(id: string, updates: UpdateScheduleRequest): UnifiedSchedule | null;
146
- /**
147
- * Delete a schedule.
148
- *
149
- * @param id - Schedule ID
150
- * @returns True if deleted
151
- */
152
- delete(id: string): boolean;
153
- /**
154
- * Pause a schedule.
155
- *
156
- * @param id - Schedule ID
157
- * @returns Updated schedule or null
158
- */
159
- pause(id: string): UnifiedSchedule | null;
160
- /**
161
- * Resume a paused schedule.
162
- *
163
- * @param id - Schedule ID
164
- * @returns Updated schedule or null
165
- */
166
- resume(id: string): UnifiedSchedule | null;
167
- /**
168
- * Manually trigger a schedule now, regardless of timing.
169
- *
170
- * @param id - Schedule ID
171
- * @returns True if triggered successfully
172
- */
173
- triggerNow(id: string): Promise<boolean>;
174
- /**
175
- * Get scheduler health and statistics.
176
- *
177
- * @returns Health stats
178
- */
179
- getHealth(): SchedulerHealth;
180
- /**
181
- * Evaluate all active schedules and trigger those that are due.
182
- *
183
- * Called every 60 seconds by the eval timer. Checks each schedule
184
- * type against its timing criteria and executes if due.
185
- */
186
- evaluate(): Promise<void>;
187
- /**
188
- * Check if a schedule is due for triggering.
189
- *
190
- * @param schedule - Schedule to check
191
- * @returns True if the schedule should trigger now
192
- */
193
- private isScheduleDue;
194
- /**
195
- * Check if a cron schedule is due (within the current evaluation window).
196
- *
197
- * Compares the cron expression against the current time.
198
- * Uses minute-level granularity (matches eval loop frequency).
199
- *
200
- * @param schedule - Cron schedule to check
201
- * @returns True if the current minute matches the cron expression
202
- */
203
- private isCronDue;
204
- /**
205
- * Execute a schedule: send message to agent, handle auto-start,
206
- * track consecutive triggers, and auto-pause if limit reached.
207
- *
208
- * @param schedule - Schedule to execute
209
- * @returns True if message was delivered successfully
210
- */
211
- private executeSchedule;
212
- /**
213
- * Reset the consecutive trigger counter for a target agent.
214
- *
215
- * Called when an agent shows activity (e.g., sends a message, completes a task).
216
- * This prevents auto-pausing schedules for responsive agents.
217
- *
218
- * @param target - Agent session name
219
- */
220
- resetConsecutiveTriggers(target: string): void;
221
- /**
222
- * Save all schedules to disk.
223
- */
224
- private persist;
225
- /**
226
- * Load schedules from disk.
227
- */
228
- private loadFromDisk;
229
- /**
230
- * Get count of active schedules.
231
- */
232
- private getActiveCount;
233
- }
234
- //# sourceMappingURL=unified-scheduler.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unified-scheduler.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/workflow/unified-scheduler.service.ts"],"names":[],"mappings":"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"}