crewly 1.20.186 → 1.20.188

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/config/skills/agent/core/project-tickets/SKILL.md +3 -2
  2. package/config/skills/agent/core/project-tickets/execute.sh +4 -4
  3. package/config/skills/agent/core/project-tickets/execute.test.sh +2 -2
  4. package/config/skills/agent/core/remember/SKILL.md +1 -0
  5. package/config/skills/agent/core/remember/execute.sh +12 -0
  6. package/config/skills/agent/core/report-status/SKILL.md +7 -1
  7. package/config/skills/agent/core/report-status/execute.sh +41 -0
  8. package/config/skills/agent/core/slack-post/SKILL.md +1 -0
  9. package/config/skills/agent/core/slack-post/execute.sh +9 -2
  10. package/config/skills/team-leader/_common/lib.sh +45 -0
  11. package/config/skills/team-leader/start-agent/SKILL.md +6 -6
  12. package/config/skills/team-leader/start-agent/execute.sh +3 -12
  13. package/config/skills/team-leader/stop-agent/SKILL.md +6 -6
  14. package/config/skills/team-leader/stop-agent/execute.sh +3 -12
  15. package/dist/backend/backend/src/constants.d.ts +114 -2
  16. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  17. package/dist/backend/backend/src/constants.js +114 -2
  18. package/dist/backend/backend/src/constants.js.map +1 -1
  19. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
  20. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +62 -0
  21. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
  22. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts +1 -1
  23. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts.map +1 -1
  24. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js +5 -1
  25. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -1
  26. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.d.ts +1 -1
  27. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.js +1 -1
  28. package/dist/backend/backend/src/controllers/request/open-items.controller.js +1 -1
  29. package/dist/backend/backend/src/controllers/request/open-items.controller.js.map +1 -1
  30. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  31. package/dist/backend/backend/src/controllers/slack/slack.controller.js +4 -1
  32. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  33. package/dist/backend/backend/src/controllers/standing/standing.controller.d.ts +18 -1
  34. package/dist/backend/backend/src/controllers/standing/standing.controller.d.ts.map +1 -1
  35. package/dist/backend/backend/src/controllers/standing/standing.controller.js +77 -4
  36. package/dist/backend/backend/src/controllers/standing/standing.controller.js.map +1 -1
  37. package/dist/backend/backend/src/controllers/system/system.controller.d.ts +12 -0
  38. package/dist/backend/backend/src/controllers/system/system.controller.d.ts.map +1 -1
  39. package/dist/backend/backend/src/controllers/system/system.controller.js +28 -3
  40. package/dist/backend/backend/src/controllers/system/system.controller.js.map +1 -1
  41. package/dist/backend/backend/src/controllers/system/usage.controller.d.ts +46 -0
  42. package/dist/backend/backend/src/controllers/system/usage.controller.d.ts.map +1 -0
  43. package/dist/backend/backend/src/controllers/system/usage.controller.js +181 -0
  44. package/dist/backend/backend/src/controllers/system/usage.controller.js.map +1 -0
  45. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +7 -0
  46. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
  47. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +64 -1
  48. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  49. package/dist/backend/backend/src/index.d.ts +7 -0
  50. package/dist/backend/backend/src/index.d.ts.map +1 -1
  51. package/dist/backend/backend/src/index.js +115 -1
  52. package/dist/backend/backend/src/index.js.map +1 -1
  53. package/dist/backend/backend/src/routes/modules/system.routes.d.ts.map +1 -1
  54. package/dist/backend/backend/src/routes/modules/system.routes.js +3 -0
  55. package/dist/backend/backend/src/routes/modules/system.routes.js.map +1 -1
  56. package/dist/backend/backend/src/scripts/open-items-stale-followups.d.ts +51 -0
  57. package/dist/backend/backend/src/scripts/open-items-stale-followups.d.ts.map +1 -0
  58. package/dist/backend/backend/src/scripts/open-items-stale-followups.js +142 -0
  59. package/dist/backend/backend/src/scripts/open-items-stale-followups.js.map +1 -0
  60. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  61. package/dist/backend/backend/src/services/agent/agent-registration.service.js +32 -1
  62. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  63. package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts +28 -0
  64. package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
  65. package/dist/backend/backend/src/services/event-bus/event-bus.service.js +83 -2
  66. package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
  67. package/dist/backend/backend/src/services/memory/memory.service.d.ts +14 -2
  68. package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
  69. package/dist/backend/backend/src/services/memory/memory.service.js +12 -1
  70. package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
  71. package/dist/backend/backend/src/services/memory/project-memory.service.d.ts +18 -1
  72. package/dist/backend/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
  73. package/dist/backend/backend/src/services/memory/project-memory.service.js +38 -1
  74. package/dist/backend/backend/src/services/memory/project-memory.service.js.map +1 -1
  75. package/dist/backend/backend/src/services/memory/standing-answers.service.d.ts +11 -0
  76. package/dist/backend/backend/src/services/memory/standing-answers.service.d.ts.map +1 -1
  77. package/dist/backend/backend/src/services/memory/standing-answers.service.js +40 -2
  78. package/dist/backend/backend/src/services/memory/standing-answers.service.js.map +1 -1
  79. package/dist/backend/backend/src/services/messaging/offline-agent-message.d.ts +70 -0
  80. package/dist/backend/backend/src/services/messaging/offline-agent-message.d.ts.map +1 -0
  81. package/dist/backend/backend/src/services/messaging/offline-agent-message.js +92 -0
  82. package/dist/backend/backend/src/services/messaging/offline-agent-message.js.map +1 -0
  83. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.d.ts +7 -1
  84. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.d.ts.map +1 -1
  85. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.js +16 -2
  86. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.js.map +1 -1
  87. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.d.ts.map +1 -1
  88. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.js +2 -0
  89. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.js.map +1 -1
  90. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  91. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +9 -1
  92. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  93. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +41 -1
  94. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
  95. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js +87 -2
  96. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
  97. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts +30 -12
  98. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
  99. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +87 -15
  100. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  101. package/dist/backend/backend/src/services/monitoring/antigravity-usage-sync.service.d.ts +130 -0
  102. package/dist/backend/backend/src/services/monitoring/antigravity-usage-sync.service.d.ts.map +1 -0
  103. package/dist/backend/backend/src/services/monitoring/antigravity-usage-sync.service.js +274 -0
  104. package/dist/backend/backend/src/services/monitoring/antigravity-usage-sync.service.js.map +1 -0
  105. package/dist/backend/backend/src/services/monitoring/codex-rollout-sync.service.d.ts +152 -0
  106. package/dist/backend/backend/src/services/monitoring/codex-rollout-sync.service.d.ts.map +1 -0
  107. package/dist/backend/backend/src/services/monitoring/codex-rollout-sync.service.js +311 -0
  108. package/dist/backend/backend/src/services/monitoring/codex-rollout-sync.service.js.map +1 -0
  109. package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts +78 -1
  110. package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -1
  111. package/dist/backend/backend/src/services/monitoring/token-usage.service.js +96 -4
  112. package/dist/backend/backend/src/services/monitoring/token-usage.service.js.map +1 -1
  113. package/dist/backend/backend/src/services/open-items/open-item-extractor.d.ts +10 -1
  114. package/dist/backend/backend/src/services/open-items/open-item-extractor.d.ts.map +1 -1
  115. package/dist/backend/backend/src/services/open-items/open-item-extractor.js +86 -5
  116. package/dist/backend/backend/src/services/open-items/open-item-extractor.js.map +1 -1
  117. package/dist/backend/backend/src/services/open-items/open-items-backfill.d.ts +2 -1
  118. package/dist/backend/backend/src/services/open-items/open-items-backfill.d.ts.map +1 -1
  119. package/dist/backend/backend/src/services/open-items/open-items-backfill.js +17 -6
  120. package/dist/backend/backend/src/services/open-items/open-items-backfill.js.map +1 -1
  121. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts +62 -1
  122. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
  123. package/dist/backend/backend/src/services/open-items/open-items.service.js +203 -9
  124. package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -1
  125. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts +4 -4
  126. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts.map +1 -1
  127. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js +1 -1
  128. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js.map +1 -1
  129. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.d.ts +4 -3
  130. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.d.ts.map +1 -1
  131. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.js +7 -4
  132. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.js.map +1 -1
  133. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts +40 -9
  134. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts.map +1 -1
  135. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js +68 -20
  136. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js.map +1 -1
  137. package/dist/backend/backend/src/services/reconciler/idle-holder-surfacer.d.ts +40 -0
  138. package/dist/backend/backend/src/services/reconciler/idle-holder-surfacer.d.ts.map +1 -0
  139. package/dist/backend/backend/src/services/reconciler/idle-holder-surfacer.js +82 -0
  140. package/dist/backend/backend/src/services/reconciler/idle-holder-surfacer.js.map +1 -0
  141. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +29 -0
  142. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
  143. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +49 -0
  144. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
  145. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
  146. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +6 -11
  147. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  148. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts +23 -0
  149. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
  150. package/dist/backend/backend/src/services/reconciler/reconciler.service.js +55 -1
  151. package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
  152. package/dist/backend/backend/src/services/slack/slack-agent-post.service.d.ts.map +1 -1
  153. package/dist/backend/backend/src/services/slack/slack-agent-post.service.js +10 -4
  154. package/dist/backend/backend/src/services/slack/slack-agent-post.service.js.map +1 -1
  155. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts +13 -2
  156. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  157. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js +19 -5
  158. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  159. package/dist/backend/backend/src/services/spend/spend-cap-command.d.ts +129 -0
  160. package/dist/backend/backend/src/services/spend/spend-cap-command.d.ts.map +1 -0
  161. package/dist/backend/backend/src/services/spend/spend-cap-command.js +323 -0
  162. package/dist/backend/backend/src/services/spend/spend-cap-command.js.map +1 -0
  163. package/dist/backend/backend/src/services/spend/spend-cap.gate.d.ts +60 -0
  164. package/dist/backend/backend/src/services/spend/spend-cap.gate.d.ts.map +1 -0
  165. package/dist/backend/backend/src/services/spend/spend-cap.gate.js +66 -0
  166. package/dist/backend/backend/src/services/spend/spend-cap.gate.js.map +1 -0
  167. package/dist/backend/backend/src/services/spend/spend-cap.service.d.ts +340 -0
  168. package/dist/backend/backend/src/services/spend/spend-cap.service.d.ts.map +1 -0
  169. package/dist/backend/backend/src/services/spend/spend-cap.service.js +760 -0
  170. package/dist/backend/backend/src/services/spend/spend-cap.service.js.map +1 -0
  171. package/dist/backend/backend/src/services/spend/spend-cap.store.d.ts +126 -0
  172. package/dist/backend/backend/src/services/spend/spend-cap.store.d.ts.map +1 -0
  173. package/dist/backend/backend/src/services/spend/spend-cap.store.js +141 -0
  174. package/dist/backend/backend/src/services/spend/spend-cap.store.js.map +1 -0
  175. package/dist/backend/backend/src/services/spend/spend-cap.wiring.d.ts +52 -0
  176. package/dist/backend/backend/src/services/spend/spend-cap.wiring.d.ts.map +1 -0
  177. package/dist/backend/backend/src/services/spend/spend-cap.wiring.js +112 -0
  178. package/dist/backend/backend/src/services/spend/spend-cap.wiring.js.map +1 -0
  179. package/dist/backend/backend/src/services/spend/spend-ledger.service.d.ts +145 -0
  180. package/dist/backend/backend/src/services/spend/spend-ledger.service.d.ts.map +1 -0
  181. package/dist/backend/backend/src/services/spend/spend-ledger.service.js +214 -0
  182. package/dist/backend/backend/src/services/spend/spend-ledger.service.js.map +1 -0
  183. package/dist/backend/backend/src/services/task-pool/claim-target-waker.d.ts +51 -0
  184. package/dist/backend/backend/src/services/task-pool/claim-target-waker.d.ts.map +1 -0
  185. package/dist/backend/backend/src/services/task-pool/claim-target-waker.js +43 -0
  186. package/dist/backend/backend/src/services/task-pool/claim-target-waker.js.map +1 -0
  187. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +38 -0
  188. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  189. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +73 -1
  190. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  191. package/dist/backend/backend/src/services/task-pool/work-item-usage.d.ts +53 -0
  192. package/dist/backend/backend/src/services/task-pool/work-item-usage.d.ts.map +1 -0
  193. package/dist/backend/backend/src/services/task-pool/work-item-usage.js +39 -0
  194. package/dist/backend/backend/src/services/task-pool/work-item-usage.js.map +1 -0
  195. package/dist/backend/backend/src/services/usage/token-format.d.ts +49 -0
  196. package/dist/backend/backend/src/services/usage/token-format.d.ts.map +1 -0
  197. package/dist/backend/backend/src/services/usage/token-format.js +81 -0
  198. package/dist/backend/backend/src/services/usage/token-format.js.map +1 -0
  199. package/dist/backend/backend/src/services/usage/usage-stats.service.d.ts +132 -0
  200. package/dist/backend/backend/src/services/usage/usage-stats.service.d.ts.map +1 -0
  201. package/dist/backend/backend/src/services/usage/usage-stats.service.js +226 -0
  202. package/dist/backend/backend/src/services/usage/usage-stats.service.js.map +1 -0
  203. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
  204. package/dist/backend/backend/src/services/v3/v3-data.service.js +11 -14
  205. package/dist/backend/backend/src/services/v3/v3-data.service.js.map +1 -1
  206. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +25 -0
  207. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  208. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +50 -0
  209. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  210. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts +9 -1
  211. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
  212. package/dist/backend/backend/src/services/workflow/scheduler.service.js +16 -2
  213. package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
  214. package/dist/backend/backend/src/types/decision.types.d.ts +3 -1
  215. package/dist/backend/backend/src/types/decision.types.d.ts.map +1 -1
  216. package/dist/backend/backend/src/types/event-bus.types.d.ts +9 -1
  217. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  218. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  219. package/dist/backend/backend/src/types/review-reason.types.d.ts +3 -1
  220. package/dist/backend/backend/src/types/review-reason.types.d.ts.map +1 -1
  221. package/dist/backend/backend/src/types/review-reason.types.js +1 -0
  222. package/dist/backend/backend/src/types/review-reason.types.js.map +1 -1
  223. package/dist/backend/backend/src/types/ticket-autopilot.types.d.ts +24 -7
  224. package/dist/backend/backend/src/types/ticket-autopilot.types.d.ts.map +1 -1
  225. package/dist/backend/backend/src/types/ticket-autopilot.types.js +29 -13
  226. package/dist/backend/backend/src/types/ticket-autopilot.types.js.map +1 -1
  227. package/dist/backend/backend/src/types/v2/open-item.types.d.ts +5 -1
  228. package/dist/backend/backend/src/types/v2/open-item.types.d.ts.map +1 -1
  229. package/dist/backend/backend/src/types/v2/open-item.types.js +1 -1
  230. package/dist/backend/backend/src/types/v2/open-item.types.js.map +1 -1
  231. package/dist/backend/build-info.json +2 -2
  232. package/dist/cli/backend/src/constants.d.ts +114 -2
  233. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  234. package/dist/cli/backend/src/constants.js +114 -2
  235. package/dist/cli/backend/src/constants.js.map +1 -1
  236. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  237. package/dist/cli/backend/src/services/agent/agent-registration.service.js +32 -1
  238. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  239. package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts +28 -0
  240. package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
  241. package/dist/cli/backend/src/services/event-bus/event-bus.service.js +83 -2
  242. package/dist/cli/backend/src/services/event-bus/event-bus.service.js.map +1 -1
  243. package/dist/cli/backend/src/services/memory/memory.service.d.ts +14 -2
  244. package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
  245. package/dist/cli/backend/src/services/memory/memory.service.js +12 -1
  246. package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
  247. package/dist/cli/backend/src/services/memory/project-memory.service.d.ts +18 -1
  248. package/dist/cli/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
  249. package/dist/cli/backend/src/services/memory/project-memory.service.js +38 -1
  250. package/dist/cli/backend/src/services/memory/project-memory.service.js.map +1 -1
  251. package/dist/cli/backend/src/services/memory/standing-answers.service.d.ts +11 -0
  252. package/dist/cli/backend/src/services/memory/standing-answers.service.d.ts.map +1 -1
  253. package/dist/cli/backend/src/services/memory/standing-answers.service.js +40 -2
  254. package/dist/cli/backend/src/services/memory/standing-answers.service.js.map +1 -1
  255. package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.d.ts +7 -1
  256. package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.d.ts.map +1 -1
  257. package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.js +16 -2
  258. package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.js.map +1 -1
  259. package/dist/cli/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  260. package/dist/cli/backend/src/services/messaging/queue-processor.service.js +9 -1
  261. package/dist/cli/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  262. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +41 -1
  263. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
  264. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js +87 -2
  265. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
  266. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts +30 -12
  267. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
  268. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js +87 -15
  269. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  270. package/dist/cli/backend/src/services/monitoring/model-pricing.d.ts +97 -0
  271. package/dist/cli/backend/src/services/monitoring/model-pricing.d.ts.map +1 -0
  272. package/dist/cli/backend/src/services/monitoring/model-pricing.js +120 -0
  273. package/dist/cli/backend/src/services/monitoring/model-pricing.js.map +1 -0
  274. package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts +78 -1
  275. package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -1
  276. package/dist/cli/backend/src/services/monitoring/token-usage.service.js +96 -4
  277. package/dist/cli/backend/src/services/monitoring/token-usage.service.js.map +1 -1
  278. package/dist/cli/backend/src/services/open-items/open-item-extractor.d.ts +10 -1
  279. package/dist/cli/backend/src/services/open-items/open-item-extractor.d.ts.map +1 -1
  280. package/dist/cli/backend/src/services/open-items/open-item-extractor.js +86 -5
  281. package/dist/cli/backend/src/services/open-items/open-item-extractor.js.map +1 -1
  282. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts +13 -2
  283. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  284. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js +19 -5
  285. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  286. package/dist/cli/backend/src/services/spend/spend-cap.gate.d.ts +60 -0
  287. package/dist/cli/backend/src/services/spend/spend-cap.gate.d.ts.map +1 -0
  288. package/dist/cli/backend/src/services/spend/spend-cap.gate.js +66 -0
  289. package/dist/cli/backend/src/services/spend/spend-cap.gate.js.map +1 -0
  290. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +38 -0
  291. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  292. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +73 -1
  293. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  294. package/dist/cli/backend/src/services/task-pool/work-item-usage.d.ts +53 -0
  295. package/dist/cli/backend/src/services/task-pool/work-item-usage.d.ts.map +1 -0
  296. package/dist/cli/backend/src/services/task-pool/work-item-usage.js +39 -0
  297. package/dist/cli/backend/src/services/task-pool/work-item-usage.js.map +1 -0
  298. package/dist/cli/backend/src/services/usage/token-format.d.ts +49 -0
  299. package/dist/cli/backend/src/services/usage/token-format.d.ts.map +1 -0
  300. package/dist/cli/backend/src/services/usage/token-format.js +81 -0
  301. package/dist/cli/backend/src/services/usage/token-format.js.map +1 -0
  302. package/dist/cli/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
  303. package/dist/cli/backend/src/services/v3/v3-data.service.js +11 -14
  304. package/dist/cli/backend/src/services/v3/v3-data.service.js.map +1 -1
  305. package/dist/cli/backend/src/types/decision.types.d.ts +3 -1
  306. package/dist/cli/backend/src/types/decision.types.d.ts.map +1 -1
  307. package/dist/cli/backend/src/types/event-bus.types.d.ts +9 -1
  308. package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -1
  309. package/dist/cli/backend/src/types/event-bus.types.js.map +1 -1
  310. package/dist/cli/backend/src/types/ticket-autopilot.types.d.ts +24 -7
  311. package/dist/cli/backend/src/types/ticket-autopilot.types.d.ts.map +1 -1
  312. package/dist/cli/backend/src/types/ticket-autopilot.types.js +29 -13
  313. package/dist/cli/backend/src/types/ticket-autopilot.types.js.map +1 -1
  314. package/dist/cli/backend/src/types/v2/open-item.types.d.ts +5 -1
  315. package/dist/cli/backend/src/types/v2/open-item.types.d.ts.map +1 -1
  316. package/dist/cli/backend/src/types/v2/open-item.types.js +1 -1
  317. package/dist/cli/backend/src/types/v2/open-item.types.js.map +1 -1
  318. package/frontend/dist/assets/{index-a79c7852.css → index-20a67829.css} +1 -1
  319. package/frontend/dist/assets/{index-1ee8a9a2.js → index-49f50b45.js} +282 -282
  320. package/frontend/dist/index.html +2 -2
  321. package/package.json +1 -1
@@ -11,6 +11,11 @@
11
11
  * Validation lives in {@link StandingAnswersService.writeSection}; a
12
12
  * {@link StandingAnswersError} maps to 400 with its `code`, anything else to 500.
13
13
  *
14
+ * `projectPath` (both routes) must resolve — `path.resolve`, symlinks
15
+ * followed — to a project registered in `projects.json` or to CREWLY_HOME;
16
+ * anything else is 400 `unknown_project` (#822). Without this, a caller could
17
+ * create a `.crewly/wiki/...` tree in any directory the backend can write to.
18
+ *
14
19
  * @module controllers/standing/standing.controller
15
20
  */
16
21
  import { Router } from 'express';
@@ -42,11 +47,23 @@ export interface StandingPageStatusDto {
42
47
  * @returns DTO
43
48
  */
44
49
  export declare function toStatusDto(s: StandingPageStatus): StandingPageStatusDto;
50
+ /** Lists the directories a `projectPath` may name: registered projects and CREWLY_HOME. */
51
+ export type AllowedProjectPathsSource = () => Promise<string[]>;
52
+ /**
53
+ * Resolve a caller-supplied `projectPath` against the allow-list (#822).
54
+ *
55
+ * @param projectPath - Path from the request
56
+ * @param allowed - Allowed directories
57
+ * @returns The matching allowed directory (as registered), or null when the
58
+ * path is not a registered project or CREWLY_HOME
59
+ */
60
+ export declare function resolveAllowedProjectPath(projectPath: string, allowed: string[]): Promise<string | null>;
45
61
  /**
46
62
  * Create the standing-answers router.
47
63
  *
48
64
  * @param service - Page service (injectable for tests)
65
+ * @param allowedProjectPaths - Allow-list source for `projectPath` (injectable for tests)
49
66
  * @returns Express router, mounted at `/api/standing`
50
67
  */
51
- export declare function createStandingRouter(service?: StandingAnswersService): Router;
68
+ export declare function createStandingRouter(service?: StandingAnswersService, allowedProjectPaths?: AllowedProjectPathsSource): Router;
52
69
  //# sourceMappingURL=standing.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"standing.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/standing/standing.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAiD,MAAM,SAAS,CAAC;AAChF,OAAO,EACN,sBAAsB,EAEtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,MAAM,mDAAmD,CAAC;AAE3D,qCAAqC;AACrC,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACtD,kFAAkF;IAClF,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,kBAAkB,GAAG,qBAAqB,CAgBxE;AAOD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,sBAAqD,GAAG,MAAM,CAmD3G"}
1
+ {"version":3,"file":"standing.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/standing/standing.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,EAAE,MAAM,EAAiD,MAAM,SAAS,CAAC;AAGhF,OAAO,EACN,sBAAsB,EAEtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,MAAM,mDAAmD,CAAC;AAE3D,qCAAqC;AACrC,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACtD,kFAAkF;IAClF,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,kBAAkB,GAAG,qBAAqB,CAgBxE;AAOD,2FAA2F;AAC3F,MAAM,MAAM,yBAAyB,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AA4BhE;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO9G;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,GAAE,sBAAqD,EAC9D,mBAAmB,GAAE,yBAAsD,GACzE,MAAM,CAwER"}
@@ -11,9 +11,18 @@
11
11
  * Validation lives in {@link StandingAnswersService.writeSection}; a
12
12
  * {@link StandingAnswersError} maps to 400 with its `code`, anything else to 500.
13
13
  *
14
+ * `projectPath` (both routes) must resolve — `path.resolve`, symlinks
15
+ * followed — to a project registered in `projects.json` or to CREWLY_HOME;
16
+ * anything else is 400 `unknown_project` (#822). Without this, a caller could
17
+ * create a `.crewly/wiki/...` tree in any directory the backend can write to.
18
+ *
14
19
  * @module controllers/standing/standing.controller
15
20
  */
21
+ import path from 'path';
22
+ import { promises as fs } from 'fs';
16
23
  import { Router } from 'express';
24
+ import { StorageService } from '../../services/core/storage.service.js';
25
+ import { getCrewlyHomePath } from '../../services/core/crewly-home.utils.js';
17
26
  import { StandingAnswersService, StandingAnswersError, } from '../../services/memory/standing-answers.service.js';
18
27
  /**
19
28
  * Convert a status to its JSON shape (section bodies are omitted — read the file).
@@ -42,25 +51,86 @@ export function toStatusDto(s) {
42
51
  function str(value) {
43
52
  return typeof value === 'string' && value.trim() ? value.trim() : undefined;
44
53
  }
54
+ /**
55
+ * Default allow-list: every project in `projects.json` plus CREWLY_HOME.
56
+ *
57
+ * @returns Absolute directory paths
58
+ */
59
+ async function defaultAllowedProjectPaths() {
60
+ const projects = await StorageService.getInstance().getProjects();
61
+ return [...projects.map((p) => p.path).filter((p) => typeof p === 'string' && p.length > 0), getCrewlyHomePath()];
62
+ }
63
+ /**
64
+ * Canonical form of a path: absolute, normalized (no `..`), symlinks followed
65
+ * when the path exists.
66
+ *
67
+ * @param p - Path to canonicalize
68
+ * @returns Canonical absolute path
69
+ */
70
+ async function canonicalPath(p) {
71
+ const resolved = path.resolve(p);
72
+ try {
73
+ return await fs.realpath(resolved);
74
+ }
75
+ catch {
76
+ return resolved;
77
+ }
78
+ }
79
+ /**
80
+ * Resolve a caller-supplied `projectPath` against the allow-list (#822).
81
+ *
82
+ * @param projectPath - Path from the request
83
+ * @param allowed - Allowed directories
84
+ * @returns The matching allowed directory (as registered), or null when the
85
+ * path is not a registered project or CREWLY_HOME
86
+ */
87
+ export async function resolveAllowedProjectPath(projectPath, allowed) {
88
+ if (!path.isAbsolute(projectPath))
89
+ return null;
90
+ const target = await canonicalPath(projectPath);
91
+ for (const candidate of allowed) {
92
+ if ((await canonicalPath(candidate)) === target)
93
+ return candidate;
94
+ }
95
+ return null;
96
+ }
45
97
  /**
46
98
  * Create the standing-answers router.
47
99
  *
48
100
  * @param service - Page service (injectable for tests)
101
+ * @param allowedProjectPaths - Allow-list source for `projectPath` (injectable for tests)
49
102
  * @returns Express router, mounted at `/api/standing`
50
103
  */
51
- export function createStandingRouter(service = new StandingAnswersService()) {
104
+ export function createStandingRouter(service = new StandingAnswersService(), allowedProjectPaths = defaultAllowedProjectPaths) {
52
105
  const router = Router();
106
+ /**
107
+ * Check an optional `projectPath`; answers 400 `unknown_project` and
108
+ * returns false when it is not allowed.
109
+ */
110
+ const checkProjectPath = async (projectPath, res) => {
111
+ if (!projectPath)
112
+ return { ok: true, projectPath: undefined };
113
+ const match = await resolveAllowedProjectPath(projectPath, await allowedProjectPaths());
114
+ if (!match) {
115
+ res.status(400).json({ success: false, code: 'unknown_project', error: 'projectPath is not a registered project' });
116
+ return { ok: false };
117
+ }
118
+ return { ok: true, projectPath: match };
119
+ };
53
120
  /**
54
121
  * GET / — statuses for a project and/or an agent session.
55
122
  */
56
123
  router.get('/', async (req, res) => {
57
- const projectPath = str(req.query.projectPath);
58
124
  const sessionName = str(req.query.sessionName);
59
- if (!projectPath && !sessionName) {
125
+ if (!str(req.query.projectPath) && !sessionName) {
60
126
  res.status(400).json({ success: false, error: 'projectPath or sessionName is required' });
61
127
  return;
62
128
  }
63
129
  try {
130
+ const checked = await checkProjectPath(str(req.query.projectPath), res);
131
+ if (!checked.ok)
132
+ return;
133
+ const projectPath = checked.projectPath;
64
134
  const statuses = await service.listPageStatuses({ projectPath, sessionName });
65
135
  res.json({ success: true, data: { pagesExamined: statuses.length, pages: statuses.map(toStatusDto) } });
66
136
  }
@@ -79,9 +149,12 @@ export function createStandingRouter(service = new StandingAnswersService()) {
79
149
  }
80
150
  const cites = Array.isArray(b.cites) ? b.cites.filter((c) => typeof c === 'string') : typeof b.cites === 'string' ? b.cites.split(',') : [];
81
151
  try {
152
+ const checked = await checkProjectPath(str(b.projectPath), res);
153
+ if (!checked.ok)
154
+ return;
82
155
  const result = await service.writeSection({
83
156
  pageId: req.params.pageId,
84
- projectPath: str(b.projectPath),
157
+ projectPath: checked.projectPath,
85
158
  sessionName: str(b.sessionName),
86
159
  heading: b.heading,
87
160
  body: b.body,
@@ -1 +1 @@
1
- {"version":3,"file":"standing.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/standing/standing.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standing.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/standing/standing.controller.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,18 @@ export declare function getSystemLogs(this: ApiContext, req: Request, res: Respo
8
8
  export declare function getAlerts(this: ApiContext, req: Request, res: Response): Promise<void>;
9
9
  export declare function updateAlertCondition(this: ApiContext, req: Request, res: Response): Promise<void>;
10
10
  export declare function createDefaultConfig(this: ApiContext, req: Request, res: Response): Promise<void>;
11
+ /**
12
+ * `GET /api/health` — liveness of the Crewly server process (#826).
13
+ *
14
+ * The answer is 200 whenever this handler runs: the process is up and serving.
15
+ * Host resource pressure (CPU load, disk, memory) is reported in the body as
16
+ * `status: 'degraded'` plus a `resources` block, never as a 503 — a busy or
17
+ * nearly-full machine is not a down server, and the root `/health` already
18
+ * answers 200 in that state. 503 is reserved for the handler itself failing.
19
+ *
20
+ * @param req - Express request
21
+ * @param res - Express response
22
+ */
11
23
  export declare function healthCheck(this: ApiContext, req: Request, res: Response): Promise<void>;
12
24
  export declare function getClaudeStatus(this: ApiContext, req: Request, res: Response): Promise<void>;
13
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"system.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/system/system.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAkB9C,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAclG;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAcnG;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWzG;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAW5G;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhG;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU5F;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAYvG;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAStG;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAW9F;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAQlG;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCpG;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CAgFf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CAsDf"}
1
+ {"version":3,"file":"system.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/system/system.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAkB9C,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAclG;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAcnG;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWzG;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAW5G;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhG;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU5F;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAYvG;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAStG;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB9F;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAQlG;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCpG;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CAgFf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CAsDf"}
@@ -115,13 +115,38 @@ export async function createDefaultConfig(req, res) {
115
115
  res.status(500).json({ success: false, error: 'Failed to create default configuration' });
116
116
  }
117
117
  }
118
+ /**
119
+ * `GET /api/health` — liveness of the Crewly server process (#826).
120
+ *
121
+ * The answer is 200 whenever this handler runs: the process is up and serving.
122
+ * Host resource pressure (CPU load, disk, memory) is reported in the body as
123
+ * `status: 'degraded'` plus a `resources` block, never as a 503 — a busy or
124
+ * nearly-full machine is not a down server, and the root `/health` already
125
+ * answers 200 in that state. 503 is reserved for the handler itself failing.
126
+ *
127
+ * @param req - Express request
128
+ * @param res - Express response
129
+ */
118
130
  export async function healthCheck(req, res) {
119
131
  try {
120
132
  const monitoring = MonitoringService.getInstance();
121
- const overallHealth = monitoring.getOverallHealth();
133
+ const resourceHealth = monitoring.getOverallHealth();
134
+ const checks = {};
135
+ for (const [service, result] of monitoring.getHealthStatus() ?? new Map()) {
136
+ checks[service] = result.status;
137
+ }
122
138
  const uptime = process.uptime();
123
- const statusCode = overallHealth === 'unhealthy' ? 503 : 200;
124
- res.status(statusCode).json({ success: overallHealth !== 'unhealthy', data: { status: overallHealth, uptime: Math.round(uptime), timestamp: new Date().toISOString(), version: process.env.npm_package_version || '1.0.0' } });
139
+ res.status(200).json({
140
+ success: true,
141
+ data: {
142
+ status: resourceHealth === 'healthy' ? 'healthy' : 'degraded',
143
+ live: true,
144
+ resources: { status: resourceHealth, checks },
145
+ uptime: Math.round(uptime),
146
+ timestamp: new Date().toISOString(),
147
+ version: process.env.npm_package_version || '1.0.0',
148
+ },
149
+ });
125
150
  }
126
151
  catch (error) {
127
152
  logger.error('Error in health check', { error: error instanceof Error ? error.message : String(error) });
@@ -1 +1 @@
1
- {"version":3,"file":"system.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/system/system.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/system/system.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Token usage stats, daily token caps and temporary boosts
3
+ * (Settings → System → Usage).
4
+ *
5
+ * - `GET /api/system/usage?days=7&groupBy=agent|team|project|workItem|runtime|day`
6
+ * — tokens aggregated over the last N local days (groupBy may be a comma list)
7
+ * - `GET /api/system/usage/caps?days=7` — caps, boosts and today's usage per agent / team
8
+ * - `PUT /api/system/usage/caps` — change caps (owner only)
9
+ * `{ defaultAgentCapTokens?, totalCapTokens?, agents?: { "<session>": n|null|"default" }, teams?: { "<teamId>": n|null } }`
10
+ * - `POST /api/system/usage/boost` — temporary boost (owner only)
11
+ * `{ scope: "team"|"agent"|"all", id?, extraTokens? | unlimited: true, until? }`
12
+ * - `DELETE /api/system/usage/boost/:id` — end a boost early (owner only)
13
+ *
14
+ * Kept for older clients: `GET /api/system/spend` (= usage/caps),
15
+ * `GET|PUT /api/system/spend/caps`. `POST /api/system/spend/raise` answers
16
+ * 410 — raises are boosts now.
17
+ *
18
+ * Owner only: a request from an agent session gets 403 — an agent never
19
+ * raises its own budget.
20
+ *
21
+ * specs/2026-10-02-spend-cap.md
22
+ *
23
+ * @module controllers/system/usage.controller
24
+ */
25
+ import type { Router } from 'express';
26
+ import { type SpendCapService } from '../../services/spend/spend-cap.service.js';
27
+ import { UsageStatsService } from '../../services/usage/usage-stats.service.js';
28
+ /** Dependencies (tests inject fakes). */
29
+ export interface UsageControllerDeps {
30
+ caps: () => Pick<SpendCapService, 'view' | 'getConfig' | 'setCaps' | 'boost' | 'removeBoost'> | null;
31
+ stats: () => Pick<UsageStatsService, 'query'> | null;
32
+ }
33
+ /**
34
+ * The backend's stats service, built from the process singletons.
35
+ *
36
+ * @returns Service
37
+ */
38
+ export declare function getUsageStatsService(): UsageStatsService;
39
+ /**
40
+ * Register the routes.
41
+ *
42
+ * @param router - The /api router
43
+ * @param deps - Dependencies (default: the backend's)
44
+ */
45
+ export declare function registerUsageRoutes(router: Router, deps?: UsageControllerDeps): void;
46
+ //# sourceMappingURL=usage.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/system/usage.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,EAAqC,KAAK,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAEpH,OAAO,EAAgB,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAK9F,yCAAyC;AACzC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC;IACrG,KAAK,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACtD;AAMD;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CAgBxD;AAwBD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,mBAA+E,GAAG,IAAI,CAgG/I"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Token usage stats, daily token caps and temporary boosts
3
+ * (Settings → System → Usage).
4
+ *
5
+ * - `GET /api/system/usage?days=7&groupBy=agent|team|project|workItem|runtime|day`
6
+ * — tokens aggregated over the last N local days (groupBy may be a comma list)
7
+ * - `GET /api/system/usage/caps?days=7` — caps, boosts and today's usage per agent / team
8
+ * - `PUT /api/system/usage/caps` — change caps (owner only)
9
+ * `{ defaultAgentCapTokens?, totalCapTokens?, agents?: { "<session>": n|null|"default" }, teams?: { "<teamId>": n|null } }`
10
+ * - `POST /api/system/usage/boost` — temporary boost (owner only)
11
+ * `{ scope: "team"|"agent"|"all", id?, extraTokens? | unlimited: true, until? }`
12
+ * - `DELETE /api/system/usage/boost/:id` — end a boost early (owner only)
13
+ *
14
+ * Kept for older clients: `GET /api/system/spend` (= usage/caps),
15
+ * `GET|PUT /api/system/spend/caps`. `POST /api/system/spend/raise` answers
16
+ * 410 — raises are boosts now.
17
+ *
18
+ * Owner only: a request from an agent session gets 403 — an agent never
19
+ * raises its own budget.
20
+ *
21
+ * specs/2026-10-02-spend-cap.md
22
+ *
23
+ * @module controllers/system/usage.controller
24
+ */
25
+ import { ensureOwnerCaller } from './system-control.controller.js';
26
+ import { getSpendCapService, SpendCapError } from '../../services/spend/spend-cap.service.js';
27
+ import { SPEND_CAP_CONSTANTS } from '../../constants.js';
28
+ import { parseGroupBy, UsageStatsService } from '../../services/usage/usage-stats.service.js';
29
+ import { TokenUsageService } from '../../services/monitoring/token-usage.service.js';
30
+ import { StorageService } from '../../services/core/storage.service.js';
31
+ import { TaskPoolService } from '../../services/task-pool/task-pool.service.js';
32
+ const NOT_READY = 'Usage tracking is not ready yet — Crewly is still starting.';
33
+ let defaultStats = null;
34
+ /**
35
+ * The backend's stats service, built from the process singletons.
36
+ *
37
+ * @returns Service
38
+ */
39
+ export function getUsageStatsService() {
40
+ if (!defaultStats) {
41
+ defaultStats = new UsageStatsService({
42
+ ledger: TokenUsageService.getInstance(),
43
+ teams: async () => (await StorageService.getInstance().getTeams()).map((t) => ({
44
+ id: t.id,
45
+ name: t.name,
46
+ projectIds: t.projectIds ?? [],
47
+ members: (t.members ?? []).map((m) => ({ session: m.sessionName, name: m.name })),
48
+ })),
49
+ projects: async () => (await StorageService.getInstance().getProjects()).map((p) => ({ id: p.id, name: p.name })),
50
+ workItems: async () => TaskPoolService.getInstance().getAllItems(),
51
+ });
52
+ }
53
+ return defaultStats;
54
+ }
55
+ /**
56
+ * Send an error.
57
+ *
58
+ * @param res - Response
59
+ * @param err - Error
60
+ */
61
+ function fail(res, err) {
62
+ const status = err instanceof SpendCapError ? err.status : 500;
63
+ res.status(status).json({ success: false, error: err instanceof Error ? err.message : String(err) });
64
+ }
65
+ /**
66
+ * Days query value.
67
+ *
68
+ * @param req - Request
69
+ * @returns Days
70
+ */
71
+ function daysOf(req) {
72
+ const raw = Number(req.query.days ?? SPEND_CAP_CONSTANTS.DEFAULT_DAYS);
73
+ return Number.isFinite(raw) ? raw : SPEND_CAP_CONSTANTS.DEFAULT_DAYS;
74
+ }
75
+ /**
76
+ * Register the routes.
77
+ *
78
+ * @param router - The /api router
79
+ * @param deps - Dependencies (default: the backend's)
80
+ */
81
+ export function registerUsageRoutes(router, deps = { caps: getSpendCapService, stats: getUsageStatsService }) {
82
+ router.get('/system/usage', async (req, res) => {
83
+ const stats = deps.stats();
84
+ if (!stats) {
85
+ res.status(503).json({ success: false, error: NOT_READY });
86
+ return;
87
+ }
88
+ try {
89
+ res.json({ success: true, data: await stats.query(daysOf(req), parseGroupBy(req.query.groupBy)) });
90
+ }
91
+ catch (err) {
92
+ fail(res, err);
93
+ }
94
+ });
95
+ const capsView = async (req, res) => {
96
+ const caps = deps.caps();
97
+ if (!caps) {
98
+ res.status(503).json({ success: false, error: NOT_READY });
99
+ return;
100
+ }
101
+ try {
102
+ res.json({ success: true, data: await caps.view(daysOf(req)) });
103
+ }
104
+ catch (err) {
105
+ fail(res, err);
106
+ }
107
+ };
108
+ router.get('/system/usage/caps', capsView);
109
+ router.get('/system/spend', capsView);
110
+ router.get('/system/spend/caps', (_req, res) => {
111
+ const caps = deps.caps();
112
+ if (!caps) {
113
+ res.status(503).json({ success: false, error: NOT_READY });
114
+ return;
115
+ }
116
+ res.json({ success: true, data: caps.getConfig() });
117
+ });
118
+ const setCaps = async (req, res) => {
119
+ if (!ensureOwnerCaller(req, res, 'token cap change'))
120
+ return;
121
+ const caps = deps.caps();
122
+ if (!caps) {
123
+ res.status(503).json({ success: false, error: NOT_READY });
124
+ return;
125
+ }
126
+ try {
127
+ res.json({ success: true, data: await caps.setCaps(req.body ?? {}) });
128
+ }
129
+ catch (err) {
130
+ fail(res, err);
131
+ }
132
+ };
133
+ router.put('/system/usage/caps', setCaps);
134
+ router.put('/system/spend/caps', setCaps);
135
+ router.post('/system/usage/boost', async (req, res) => {
136
+ if (!ensureOwnerCaller(req, res, 'usage boost'))
137
+ return;
138
+ const caps = deps.caps();
139
+ if (!caps) {
140
+ res.status(503).json({ success: false, error: NOT_READY });
141
+ return;
142
+ }
143
+ const b = (req.body ?? {});
144
+ try {
145
+ const boost = await caps.boost({
146
+ scope: b.scope,
147
+ id: typeof b.id === 'string' ? b.id : undefined,
148
+ extraTokens: b.extraTokens,
149
+ unlimited: b.unlimited === true,
150
+ until: typeof b.until === 'string' ? b.until : undefined,
151
+ by: 'owner',
152
+ });
153
+ res.json({ success: true, data: boost });
154
+ }
155
+ catch (err) {
156
+ fail(res, err);
157
+ }
158
+ });
159
+ router.delete('/system/usage/boost/:id', async (req, res) => {
160
+ if (!ensureOwnerCaller(req, res, 'usage boost removal'))
161
+ return;
162
+ const caps = deps.caps();
163
+ if (!caps) {
164
+ res.status(503).json({ success: false, error: NOT_READY });
165
+ return;
166
+ }
167
+ try {
168
+ const removed = await caps.removeBoost(req.params.id);
169
+ res.status(removed ? 200 : 404).json(removed ? { success: true, data: { id: req.params.id } } : { success: false, error: 'No such boost' });
170
+ }
171
+ catch (err) {
172
+ fail(res, err);
173
+ }
174
+ });
175
+ router.post('/system/spend/raise', (req, res) => {
176
+ if (!ensureOwnerCaller(req, res, 'spend cap raise'))
177
+ return;
178
+ res.status(410).json({ success: false, error: 'Caps are in tokens now; raise one for today with POST /api/system/usage/boost { scope, id, extraTokens | unlimited }' });
179
+ });
180
+ }
181
+ //# sourceMappingURL=usage.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/system/usage.controller.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import type { Request, Response } from 'express';
13
13
  import { GiveUpRecoveryService } from '../../services/task-pool/give-up/give-up-recovery.service.js';
14
+ import { type AssigneeWaker } from '../../services/project-tickets/ticket-assignee-waker.js';
14
15
  /**
15
16
  * Replace the give-up recovery service (tests), or reset it with null.
16
17
  *
@@ -90,6 +91,12 @@ export declare function addItem(req: Request, res: Response): Promise<void>;
90
91
  * @param res - Express response
91
92
  */
92
93
  export declare function listAvailable(req: Request, res: Response): Promise<void>;
94
+ /**
95
+ * Replace the waker used for refused targeted claims (tests).
96
+ *
97
+ * @param waker - The waker, or null to restore the HTTP default
98
+ */
99
+ export declare function setClaimTargetWaker(waker: AssigneeWaker | null): void;
93
100
  /**
94
101
  * Agent claims a WorkItem from the pool.
95
102
  *
@@ -1 +1 @@
1
- {"version":3,"file":"task-pool.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/task-pool/task-pool.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-pool.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/task-pool/task-pool.controller.ts"],"names":[],"mappings":"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"}