crewly 1.20.192 → 1.20.194

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 (525) hide show
  1. package/config/constants.ts +11 -0
  2. package/config/hooks/subagent-guard/subagent.sh +113 -0
  3. package/config/roles/architect/prompt.md +1 -1
  4. package/config/roles/auditor/prompt.md +1 -1
  5. package/config/roles/backend-developer/prompt.md +1 -1
  6. package/config/roles/content-strategist/prompt.md +2 -2
  7. package/config/roles/designer/prompt.md +1 -1
  8. package/config/roles/developer/prompt.md +2 -2
  9. package/config/roles/frontend-developer/prompt.md +1 -1
  10. package/config/roles/fullstack-dev/prompt.md +1 -1
  11. package/config/roles/generalist/prompt.md +1 -1
  12. package/config/roles/ops/prompt.md +1 -1
  13. package/config/roles/orchestrator/prompt.md +2 -2
  14. package/config/roles/product-manager/prompt.md +1 -1
  15. package/config/roles/qa/prompt.md +1 -1
  16. package/config/roles/qa-engineer/prompt.md +1 -1
  17. package/config/roles/researcher/prompt.md +1 -1
  18. package/config/roles/sales/prompt.md +1 -1
  19. package/config/roles/support/prompt.md +1 -1
  20. package/config/roles/team-leader/prompt.md +1 -1
  21. package/config/roles/tpm/prompt.md +1 -1
  22. package/config/roles/ux-designer/prompt.md +1 -1
  23. package/config/skills/_common/complete-body-shape.test.sh +17 -0
  24. package/config/skills/agent/core/complete-task/SKILL.md +27 -4
  25. package/config/skills/agent/core/complete-task/execute.sh +23 -3
  26. package/config/skills/agent/core/complete-task/execute.test.sh +34 -0
  27. package/config/skills/agent/core/experiment-card/SKILL.md +96 -0
  28. package/config/skills/agent/core/experiment-card/execute.sh +147 -0
  29. package/config/skills/agent/core/experiment-card/execute.test.sh +91 -0
  30. package/config/skills/agent/core/handoff-task/execute.sh +1 -1
  31. package/config/skills/agent/core/report-status/SKILL.md +27 -4
  32. package/config/skills/agent/core/report-status/execute.sh +104 -4
  33. package/config/skills/agent/core/todo-add/SKILL.md +16 -2
  34. package/config/skills/agent/core/todo-add/execute.sh +21 -5
  35. package/config/skills/agent/core/todo-add/execute.test.sh +14 -0
  36. package/config/skills/agent/core/todo-tasks/SKILL.md +4 -3
  37. package/config/skills/agent/core/todo-update/SKILL.md +13 -2
  38. package/config/skills/agent/core/todo-update/execute.sh +41 -3
  39. package/config/skills/agent/core/todo-update/execute.test.sh +7 -0
  40. package/config/skills/marketplace-registry.ts +4 -4
  41. package/config/skills/orchestrator/complete-task/SKILL.md +13 -6
  42. package/config/skills/orchestrator/complete-task/execute.sh +22 -3
  43. package/config/skills/orchestrator/delegate-task/execute.sh +2 -2
  44. package/config/skills/orchestrator/harness-login/SKILL.md +9 -1
  45. package/config/skills/orchestrator/harness-login/execute.sh +12 -4
  46. package/config/skills/orchestrator/harness-login/execute.test.sh +7 -0
  47. package/config/skills/registry.json +6 -5
  48. package/config/skills/team-leader/delegate-task/execute.sh +1 -1
  49. package/config/skills/team-leader/verify-output/SKILL.md +18 -1
  50. package/config/skills/team-leader/verify-output/execute.sh +28 -0
  51. package/config/skills/team-leader/verify-output/execute.test.sh +27 -0
  52. package/dist/backend/backend/src/constants.d.ts +192 -2
  53. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  54. package/dist/backend/backend/src/constants.js +196 -1
  55. package/dist/backend/backend/src/constants.js.map +1 -1
  56. package/dist/backend/backend/src/controllers/canva/canva.controller.d.ts +6 -0
  57. package/dist/backend/backend/src/controllers/canva/canva.controller.d.ts.map +1 -1
  58. package/dist/backend/backend/src/controllers/canva/canva.controller.js +13 -2
  59. package/dist/backend/backend/src/controllers/canva/canva.controller.js.map +1 -1
  60. package/dist/backend/backend/src/controllers/canva/canva.routes.d.ts.map +1 -1
  61. package/dist/backend/backend/src/controllers/canva/canva.routes.js +3 -1
  62. package/dist/backend/backend/src/controllers/canva/canva.routes.js.map +1 -1
  63. package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -1
  64. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +4 -1
  65. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -1
  66. package/dist/backend/backend/src/controllers/connector/connector.controller.d.ts +4 -0
  67. package/dist/backend/backend/src/controllers/connector/connector.controller.d.ts.map +1 -1
  68. package/dist/backend/backend/src/controllers/connector/connector.controller.js +32 -3
  69. package/dist/backend/backend/src/controllers/connector/connector.controller.js.map +1 -1
  70. package/dist/backend/backend/src/controllers/connector/grant-sharing.handler.d.ts +41 -0
  71. package/dist/backend/backend/src/controllers/connector/grant-sharing.handler.d.ts.map +1 -0
  72. package/dist/backend/backend/src/controllers/connector/grant-sharing.handler.js +75 -0
  73. package/dist/backend/backend/src/controllers/connector/grant-sharing.handler.js.map +1 -0
  74. package/dist/backend/backend/src/controllers/experiments/experiments.routes.d.ts +27 -0
  75. package/dist/backend/backend/src/controllers/experiments/experiments.routes.d.ts.map +1 -0
  76. package/dist/backend/backend/src/controllers/experiments/experiments.routes.js +96 -0
  77. package/dist/backend/backend/src/controllers/experiments/experiments.routes.js.map +1 -0
  78. package/dist/backend/backend/src/controllers/google/google.controller.d.ts +6 -0
  79. package/dist/backend/backend/src/controllers/google/google.controller.d.ts.map +1 -1
  80. package/dist/backend/backend/src/controllers/google/google.controller.js +19 -0
  81. package/dist/backend/backend/src/controllers/google/google.controller.js.map +1 -1
  82. package/dist/backend/backend/src/controllers/google/google.routes.d.ts.map +1 -1
  83. package/dist/backend/backend/src/controllers/google/google.routes.js +3 -1
  84. package/dist/backend/backend/src/controllers/google/google.routes.js.map +1 -1
  85. package/dist/backend/backend/src/controllers/harness/owner-login.controller.d.ts.map +1 -1
  86. package/dist/backend/backend/src/controllers/harness/owner-login.controller.js +22 -3
  87. package/dist/backend/backend/src/controllers/harness/owner-login.controller.js.map +1 -1
  88. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.controller.d.ts +19 -2
  89. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.controller.d.ts.map +1 -1
  90. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.controller.js +37 -4
  91. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.controller.js.map +1 -1
  92. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.routes.d.ts.map +1 -1
  93. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.routes.js +3 -1
  94. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.routes.js.map +1 -1
  95. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts +9 -0
  96. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
  97. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +26 -0
  98. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
  99. package/dist/backend/backend/src/controllers/people/people.routes.d.ts +25 -0
  100. package/dist/backend/backend/src/controllers/people/people.routes.d.ts.map +1 -0
  101. package/dist/backend/backend/src/controllers/people/people.routes.js +90 -0
  102. package/dist/backend/backend/src/controllers/people/people.routes.js.map +1 -0
  103. package/dist/backend/backend/src/controllers/request-types.d.ts +2 -0
  104. package/dist/backend/backend/src/controllers/request-types.d.ts.map +1 -1
  105. package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.d.ts +22 -1
  106. package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.d.ts.map +1 -1
  107. package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.js +143 -3
  108. package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.js.map +1 -1
  109. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +25 -3
  110. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
  111. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +125 -19
  112. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  113. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  114. package/dist/backend/backend/src/controllers/team/team.controller.js +14 -0
  115. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  116. package/dist/backend/backend/src/index.d.ts.map +1 -1
  117. package/dist/backend/backend/src/index.js +82 -3
  118. package/dist/backend/backend/src/index.js.map +1 -1
  119. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  120. package/dist/backend/backend/src/routes/api.routes.js +6 -0
  121. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  122. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +13 -0
  123. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  124. package/dist/backend/backend/src/services/agent/agent-registration.service.js +28 -3
  125. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  126. package/dist/backend/backend/src/services/agent/auditor-scheduler.service.d.ts.map +1 -1
  127. package/dist/backend/backend/src/services/agent/auditor-scheduler.service.js +3 -0
  128. package/dist/backend/backend/src/services/agent/auditor-scheduler.service.js.map +1 -1
  129. package/dist/backend/backend/src/services/agent/control-plane-guard.service.d.ts +3 -2
  130. package/dist/backend/backend/src/services/agent/control-plane-guard.service.d.ts.map +1 -1
  131. package/dist/backend/backend/src/services/agent/control-plane-guard.service.js +14 -3
  132. package/dist/backend/backend/src/services/agent/control-plane-guard.service.js.map +1 -1
  133. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.d.ts +28 -1
  134. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.d.ts.map +1 -1
  135. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.js +48 -4
  136. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.js.map +1 -1
  137. package/dist/backend/backend/src/services/agent/idle-detection.service.js +1 -1
  138. package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
  139. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +2 -1
  140. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  141. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js +17 -4
  142. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  143. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +14 -0
  144. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  145. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +38 -0
  146. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  147. package/dist/backend/backend/src/services/agent/runtime-session-recovery.d.ts +34 -0
  148. package/dist/backend/backend/src/services/agent/runtime-session-recovery.d.ts.map +1 -1
  149. package/dist/backend/backend/src/services/agent/runtime-session-recovery.js +49 -5
  150. package/dist/backend/backend/src/services/agent/runtime-session-recovery.js.map +1 -1
  151. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -1
  152. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js +8 -1
  153. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
  154. package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js +1 -1
  155. package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js.map +1 -1
  156. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  157. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -0
  158. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  159. package/dist/backend/backend/src/services/canva/canva-token.service.d.ts +17 -4
  160. package/dist/backend/backend/src/services/canva/canva-token.service.d.ts.map +1 -1
  161. package/dist/backend/backend/src/services/canva/canva-token.service.js +54 -17
  162. package/dist/backend/backend/src/services/canva/canva-token.service.js.map +1 -1
  163. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +35 -0
  164. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  165. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +77 -1
  166. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  167. package/dist/backend/backend/src/services/cloud/cloud-disconnect-notice.service.d.ts +17 -2
  168. package/dist/backend/backend/src/services/cloud/cloud-disconnect-notice.service.d.ts.map +1 -1
  169. package/dist/backend/backend/src/services/cloud/cloud-disconnect-notice.service.js +30 -6
  170. package/dist/backend/backend/src/services/cloud/cloud-disconnect-notice.service.js.map +1 -1
  171. package/dist/backend/backend/src/services/cloud/cloud-disconnect-notice.utils.d.ts +38 -2
  172. package/dist/backend/backend/src/services/cloud/cloud-disconnect-notice.utils.d.ts.map +1 -1
  173. package/dist/backend/backend/src/services/cloud/cloud-disconnect-notice.utils.js +63 -1
  174. package/dist/backend/backend/src/services/cloud/cloud-disconnect-notice.utils.js.map +1 -1
  175. package/dist/backend/backend/src/services/cloud/cloud-sync.service.d.ts +74 -4
  176. package/dist/backend/backend/src/services/cloud/cloud-sync.service.d.ts.map +1 -1
  177. package/dist/backend/backend/src/services/cloud/cloud-sync.service.js +204 -56
  178. package/dist/backend/backend/src/services/cloud/cloud-sync.service.js.map +1 -1
  179. package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts +19 -0
  180. package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts.map +1 -1
  181. package/dist/backend/backend/src/services/cloud/cloud-sync.types.js.map +1 -1
  182. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts.map +1 -1
  183. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js +3 -0
  184. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js.map +1 -1
  185. package/dist/backend/backend/src/services/experiments/experiment-verdict.d.ts +88 -0
  186. package/dist/backend/backend/src/services/experiments/experiment-verdict.d.ts.map +1 -0
  187. package/dist/backend/backend/src/services/experiments/experiment-verdict.js +226 -0
  188. package/dist/backend/backend/src/services/experiments/experiment-verdict.js.map +1 -0
  189. package/dist/backend/backend/src/services/experiments/experiment.service.d.ts +301 -0
  190. package/dist/backend/backend/src/services/experiments/experiment.service.d.ts.map +1 -0
  191. package/dist/backend/backend/src/services/experiments/experiment.service.js +754 -0
  192. package/dist/backend/backend/src/services/experiments/experiment.service.js.map +1 -0
  193. package/dist/backend/backend/src/services/experiments/experiment.wiring.d.ts +73 -0
  194. package/dist/backend/backend/src/services/experiments/experiment.wiring.d.ts.map +1 -0
  195. package/dist/backend/backend/src/services/experiments/experiment.wiring.js +142 -0
  196. package/dist/backend/backend/src/services/experiments/experiment.wiring.js.map +1 -0
  197. package/dist/backend/backend/src/services/experiments/seo-ops-metric.fetcher.d.ts +60 -0
  198. package/dist/backend/backend/src/services/experiments/seo-ops-metric.fetcher.d.ts.map +1 -0
  199. package/dist/backend/backend/src/services/experiments/seo-ops-metric.fetcher.js +113 -0
  200. package/dist/backend/backend/src/services/experiments/seo-ops-metric.fetcher.js.map +1 -0
  201. package/dist/backend/backend/src/services/google/google-workspace-token.service.d.ts +25 -2
  202. package/dist/backend/backend/src/services/google/google-workspace-token.service.d.ts.map +1 -1
  203. package/dist/backend/backend/src/services/google/google-workspace-token.service.js +53 -7
  204. package/dist/backend/backend/src/services/google/google-workspace-token.service.js.map +1 -1
  205. package/dist/backend/backend/src/services/harness/claude-accounts.d.ts +207 -0
  206. package/dist/backend/backend/src/services/harness/claude-accounts.d.ts.map +1 -0
  207. package/dist/backend/backend/src/services/harness/claude-accounts.js +306 -0
  208. package/dist/backend/backend/src/services/harness/claude-accounts.js.map +1 -0
  209. package/dist/backend/backend/src/services/harness/harness-credentials.store.d.ts +35 -0
  210. package/dist/backend/backend/src/services/harness/harness-credentials.store.d.ts.map +1 -1
  211. package/dist/backend/backend/src/services/harness/harness-credentials.store.js +48 -0
  212. package/dist/backend/backend/src/services/harness/harness-credentials.store.js.map +1 -1
  213. package/dist/backend/backend/src/services/harness/harness-relogin.service.d.ts +70 -1
  214. package/dist/backend/backend/src/services/harness/harness-relogin.service.d.ts.map +1 -1
  215. package/dist/backend/backend/src/services/harness/harness-relogin.service.js +156 -19
  216. package/dist/backend/backend/src/services/harness/harness-relogin.service.js.map +1 -1
  217. package/dist/backend/backend/src/services/harness/harness.types.d.ts +2 -0
  218. package/dist/backend/backend/src/services/harness/harness.types.d.ts.map +1 -1
  219. package/dist/backend/backend/src/services/harness/harness.types.js.map +1 -1
  220. package/dist/backend/backend/src/services/harness/login-broker.service.d.ts +19 -4
  221. package/dist/backend/backend/src/services/harness/login-broker.service.d.ts.map +1 -1
  222. package/dist/backend/backend/src/services/harness/login-broker.service.js +46 -7
  223. package/dist/backend/backend/src/services/harness/login-broker.service.js.map +1 -1
  224. package/dist/backend/backend/src/services/harness/owner-login-request.d.ts +18 -2
  225. package/dist/backend/backend/src/services/harness/owner-login-request.d.ts.map +1 -1
  226. package/dist/backend/backend/src/services/harness/owner-login-request.js +31 -7
  227. package/dist/backend/backend/src/services/harness/owner-login-request.js.map +1 -1
  228. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.d.ts +21 -0
  229. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.d.ts.map +1 -1
  230. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.js +39 -1
  231. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.js.map +1 -1
  232. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts +19 -0
  233. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  234. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +46 -0
  235. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  236. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +5 -0
  237. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
  238. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js +13 -0
  239. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
  240. package/dist/backend/backend/src/services/microsoft/microsoft-todo.service.d.ts +87 -5
  241. package/dist/backend/backend/src/services/microsoft/microsoft-todo.service.d.ts.map +1 -1
  242. package/dist/backend/backend/src/services/microsoft/microsoft-todo.service.js +151 -12
  243. package/dist/backend/backend/src/services/microsoft/microsoft-todo.service.js.map +1 -1
  244. package/dist/backend/backend/src/services/microsoft/microsoft-token.service.d.ts +17 -4
  245. package/dist/backend/backend/src/services/microsoft/microsoft-token.service.d.ts.map +1 -1
  246. package/dist/backend/backend/src/services/microsoft/microsoft-token.service.js +50 -17
  247. package/dist/backend/backend/src/services/microsoft/microsoft-token.service.js.map +1 -1
  248. package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.d.ts +53 -7
  249. package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.d.ts.map +1 -1
  250. package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.js +77 -14
  251. package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.js.map +1 -1
  252. package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.d.ts +53 -1
  253. package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.d.ts.map +1 -1
  254. package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.js +130 -29
  255. package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.js.map +1 -1
  256. package/dist/backend/backend/src/services/orc/orc-status-router.service.d.ts.map +1 -1
  257. package/dist/backend/backend/src/services/orc/orc-status-router.service.js +3 -2
  258. package/dist/backend/backend/src/services/orc/orc-status-router.service.js.map +1 -1
  259. package/dist/backend/backend/src/services/people/acting-for.service.d.ts +188 -0
  260. package/dist/backend/backend/src/services/people/acting-for.service.d.ts.map +1 -0
  261. package/dist/backend/backend/src/services/people/acting-for.service.js +299 -0
  262. package/dist/backend/backend/src/services/people/acting-for.service.js.map +1 -0
  263. package/dist/backend/backend/src/services/people/dedicated-agent.d.ts +89 -0
  264. package/dist/backend/backend/src/services/people/dedicated-agent.d.ts.map +1 -0
  265. package/dist/backend/backend/src/services/people/dedicated-agent.js +113 -0
  266. package/dist/backend/backend/src/services/people/dedicated-agent.js.map +1 -0
  267. package/dist/backend/backend/src/services/people/grant-sharing.d.ts +80 -0
  268. package/dist/backend/backend/src/services/people/grant-sharing.d.ts.map +1 -0
  269. package/dist/backend/backend/src/services/people/grant-sharing.js +143 -0
  270. package/dist/backend/backend/src/services/people/grant-sharing.js.map +1 -0
  271. package/dist/backend/backend/src/services/people/people-directory.service.d.ts +239 -0
  272. package/dist/backend/backend/src/services/people/people-directory.service.d.ts.map +1 -0
  273. package/dist/backend/backend/src/services/people/people-directory.service.js +454 -0
  274. package/dist/backend/backend/src/services/people/people-directory.service.js.map +1 -0
  275. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  276. package/dist/backend/backend/src/services/runtime-fallback/effective-runtime.d.ts +29 -1
  277. package/dist/backend/backend/src/services/runtime-fallback/effective-runtime.d.ts.map +1 -1
  278. package/dist/backend/backend/src/services/runtime-fallback/effective-runtime.js +40 -0
  279. package/dist/backend/backend/src/services/runtime-fallback/effective-runtime.js.map +1 -1
  280. package/dist/backend/backend/src/services/runtime-fallback/runtime-availability.d.ts +8 -1
  281. package/dist/backend/backend/src/services/runtime-fallback/runtime-availability.d.ts.map +1 -1
  282. package/dist/backend/backend/src/services/runtime-fallback/runtime-availability.js +16 -2
  283. package/dist/backend/backend/src/services/runtime-fallback/runtime-availability.js.map +1 -1
  284. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.d.ts +60 -1
  285. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.d.ts.map +1 -1
  286. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js +140 -8
  287. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js.map +1 -1
  288. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.store.js +1 -1
  289. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.store.js.map +1 -1
  290. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.types.d.ts +20 -7
  291. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.types.d.ts.map +1 -1
  292. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.types.js +24 -7
  293. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.types.js.map +1 -1
  294. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.d.ts.map +1 -1
  295. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js +12 -2
  296. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js.map +1 -1
  297. package/dist/backend/backend/src/services/runtime-fallback/runtime-usage-probe.d.ts +7 -1
  298. package/dist/backend/backend/src/services/runtime-fallback/runtime-usage-probe.d.ts.map +1 -1
  299. package/dist/backend/backend/src/services/runtime-fallback/runtime-usage-probe.js +18 -3
  300. package/dist/backend/backend/src/services/runtime-fallback/runtime-usage-probe.js.map +1 -1
  301. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  302. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +3 -0
  303. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  304. package/dist/backend/backend/src/services/slack/slack-bot-ids.d.ts +33 -0
  305. package/dist/backend/backend/src/services/slack/slack-bot-ids.d.ts.map +1 -0
  306. package/dist/backend/backend/src/services/slack/slack-bot-ids.js +56 -0
  307. package/dist/backend/backend/src/services/slack/slack-bot-ids.js.map +1 -0
  308. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +22 -0
  309. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  310. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +70 -0
  311. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  312. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +9 -0
  313. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  314. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +46 -0
  315. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  316. package/dist/backend/backend/src/services/slack/slack.service.d.ts +6 -0
  317. package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
  318. package/dist/backend/backend/src/services/slack/slack.service.js +8 -0
  319. package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
  320. package/dist/backend/backend/src/services/task-pool/completion-evidence.service.d.ts +105 -0
  321. package/dist/backend/backend/src/services/task-pool/completion-evidence.service.d.ts.map +1 -0
  322. package/dist/backend/backend/src/services/task-pool/completion-evidence.service.js +238 -0
  323. package/dist/backend/backend/src/services/task-pool/completion-evidence.service.js.map +1 -0
  324. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  325. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +4 -0
  326. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  327. package/dist/backend/backend/src/services/usage/usage-stats.service.d.ts +39 -12
  328. package/dist/backend/backend/src/services/usage/usage-stats.service.d.ts.map +1 -1
  329. package/dist/backend/backend/src/services/usage/usage-stats.service.js +61 -20
  330. package/dist/backend/backend/src/services/usage/usage-stats.service.js.map +1 -1
  331. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts +2 -0
  332. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
  333. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +9 -0
  334. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
  335. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +10 -0
  336. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  337. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +45 -2
  338. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  339. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts +3 -1
  340. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -1
  341. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.js.map +1 -1
  342. package/dist/backend/backend/src/services/workflow/message-scheduler.service.d.ts.map +1 -1
  343. package/dist/backend/backend/src/services/workflow/message-scheduler.service.js +3 -0
  344. package/dist/backend/backend/src/services/workflow/message-scheduler.service.js.map +1 -1
  345. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
  346. package/dist/backend/backend/src/services/workflow/scheduler.service.js +3 -0
  347. package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
  348. package/dist/backend/backend/src/types/experiment.types.d.ts +153 -0
  349. package/dist/backend/backend/src/types/experiment.types.d.ts.map +1 -0
  350. package/dist/backend/backend/src/types/experiment.types.js +32 -0
  351. package/dist/backend/backend/src/types/experiment.types.js.map +1 -0
  352. package/dist/backend/backend/src/types/index.d.ts +12 -1
  353. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  354. package/dist/backend/backend/src/types/index.js.map +1 -1
  355. package/dist/backend/backend/src/types/messaging.types.d.ts +11 -0
  356. package/dist/backend/backend/src/types/messaging.types.d.ts.map +1 -1
  357. package/dist/backend/backend/src/types/messaging.types.js.map +1 -1
  358. package/dist/backend/backend/src/types/v2/completion-evidence.types.d.ts +77 -0
  359. package/dist/backend/backend/src/types/v2/completion-evidence.types.d.ts.map +1 -0
  360. package/dist/backend/backend/src/types/v2/completion-evidence.types.js +119 -0
  361. package/dist/backend/backend/src/types/v2/completion-evidence.types.js.map +1 -0
  362. package/dist/backend/backend/src/types/v2/work-item.types.d.ts +13 -0
  363. package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  364. package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
  365. package/dist/backend/build-info.json +2 -2
  366. package/dist/backend/config/constants.d.ts +11 -0
  367. package/dist/backend/config/constants.d.ts.map +1 -1
  368. package/dist/backend/config/constants.js +11 -0
  369. package/dist/backend/config/constants.js.map +1 -1
  370. package/dist/cli/backend/src/constants.d.ts +192 -2
  371. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  372. package/dist/cli/backend/src/constants.js +196 -1
  373. package/dist/cli/backend/src/constants.js.map +1 -1
  374. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +13 -0
  375. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  376. package/dist/cli/backend/src/services/agent/agent-registration.service.js +28 -3
  377. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  378. package/dist/cli/backend/src/services/agent/auditor-scheduler.service.d.ts.map +1 -1
  379. package/dist/cli/backend/src/services/agent/auditor-scheduler.service.js +3 -0
  380. package/dist/cli/backend/src/services/agent/auditor-scheduler.service.js.map +1 -1
  381. package/dist/cli/backend/src/services/agent/control-plane-guard.service.d.ts +3 -2
  382. package/dist/cli/backend/src/services/agent/control-plane-guard.service.d.ts.map +1 -1
  383. package/dist/cli/backend/src/services/agent/control-plane-guard.service.js +14 -3
  384. package/dist/cli/backend/src/services/agent/control-plane-guard.service.js.map +1 -1
  385. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.d.ts +28 -1
  386. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.d.ts.map +1 -1
  387. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.js +48 -4
  388. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.js.map +1 -1
  389. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +2 -1
  390. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  391. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js +17 -4
  392. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  393. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.d.ts +14 -0
  394. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  395. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js +38 -0
  396. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  397. package/dist/cli/backend/src/services/agent/runtime-session-recovery.d.ts +34 -0
  398. package/dist/cli/backend/src/services/agent/runtime-session-recovery.d.ts.map +1 -1
  399. package/dist/cli/backend/src/services/agent/runtime-session-recovery.js +49 -5
  400. package/dist/cli/backend/src/services/agent/runtime-session-recovery.js.map +1 -1
  401. package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -1
  402. package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.js +8 -1
  403. package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
  404. package/dist/cli/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js +1 -1
  405. package/dist/cli/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js.map +1 -1
  406. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  407. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -0
  408. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  409. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +35 -0
  410. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  411. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +77 -1
  412. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  413. package/dist/cli/backend/src/services/cloud/cloud-sync.service.d.ts +74 -4
  414. package/dist/cli/backend/src/services/cloud/cloud-sync.service.d.ts.map +1 -1
  415. package/dist/cli/backend/src/services/cloud/cloud-sync.service.js +204 -56
  416. package/dist/cli/backend/src/services/cloud/cloud-sync.service.js.map +1 -1
  417. package/dist/cli/backend/src/services/cloud/cloud-sync.types.d.ts +19 -0
  418. package/dist/cli/backend/src/services/cloud/cloud-sync.types.d.ts.map +1 -1
  419. package/dist/cli/backend/src/services/cloud/cloud-sync.types.js.map +1 -1
  420. package/dist/cli/backend/src/services/harness/claude-accounts.d.ts +207 -0
  421. package/dist/cli/backend/src/services/harness/claude-accounts.d.ts.map +1 -0
  422. package/dist/cli/backend/src/services/harness/claude-accounts.js +306 -0
  423. package/dist/cli/backend/src/services/harness/claude-accounts.js.map +1 -0
  424. package/dist/cli/backend/src/services/harness/harness-credentials.store.d.ts +35 -0
  425. package/dist/cli/backend/src/services/harness/harness-credentials.store.d.ts.map +1 -1
  426. package/dist/cli/backend/src/services/harness/harness-credentials.store.js +48 -0
  427. package/dist/cli/backend/src/services/harness/harness-credentials.store.js.map +1 -1
  428. package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts +70 -1
  429. package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts.map +1 -1
  430. package/dist/cli/backend/src/services/harness/harness-relogin.service.js +156 -19
  431. package/dist/cli/backend/src/services/harness/harness-relogin.service.js.map +1 -1
  432. package/dist/cli/backend/src/services/harness/harness.types.d.ts +2 -0
  433. package/dist/cli/backend/src/services/harness/harness.types.d.ts.map +1 -1
  434. package/dist/cli/backend/src/services/harness/harness.types.js.map +1 -1
  435. package/dist/cli/backend/src/services/harness/login-broker.service.d.ts +19 -4
  436. package/dist/cli/backend/src/services/harness/login-broker.service.d.ts.map +1 -1
  437. package/dist/cli/backend/src/services/harness/login-broker.service.js +46 -7
  438. package/dist/cli/backend/src/services/harness/login-broker.service.js.map +1 -1
  439. package/dist/cli/backend/src/services/harness/owner-login-request.d.ts +18 -2
  440. package/dist/cli/backend/src/services/harness/owner-login-request.d.ts.map +1 -1
  441. package/dist/cli/backend/src/services/harness/owner-login-request.js +31 -7
  442. package/dist/cli/backend/src/services/harness/owner-login-request.js.map +1 -1
  443. package/dist/cli/backend/src/services/marketplace/marketplace-installer.service.d.ts +21 -0
  444. package/dist/cli/backend/src/services/marketplace/marketplace-installer.service.d.ts.map +1 -1
  445. package/dist/cli/backend/src/services/marketplace/marketplace-installer.service.js +39 -1
  446. package/dist/cli/backend/src/services/marketplace/marketplace-installer.service.js.map +1 -1
  447. package/dist/cli/backend/src/services/messaging/queue-processor.service.d.ts +19 -0
  448. package/dist/cli/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  449. package/dist/cli/backend/src/services/messaging/queue-processor.service.js +46 -0
  450. package/dist/cli/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  451. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +5 -0
  452. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
  453. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js +13 -0
  454. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
  455. package/dist/cli/backend/src/services/monitoring/claude-session-tokens.service.d.ts +197 -0
  456. package/dist/cli/backend/src/services/monitoring/claude-session-tokens.service.d.ts.map +1 -0
  457. package/dist/cli/backend/src/services/monitoring/claude-session-tokens.service.js +455 -0
  458. package/dist/cli/backend/src/services/monitoring/claude-session-tokens.service.js.map +1 -0
  459. package/dist/cli/backend/src/services/people/acting-for.service.d.ts +188 -0
  460. package/dist/cli/backend/src/services/people/acting-for.service.d.ts.map +1 -0
  461. package/dist/cli/backend/src/services/people/acting-for.service.js +299 -0
  462. package/dist/cli/backend/src/services/people/acting-for.service.js.map +1 -0
  463. package/dist/cli/backend/src/services/people/dedicated-agent.d.ts +89 -0
  464. package/dist/cli/backend/src/services/people/dedicated-agent.d.ts.map +1 -0
  465. package/dist/cli/backend/src/services/people/dedicated-agent.js +113 -0
  466. package/dist/cli/backend/src/services/people/dedicated-agent.js.map +1 -0
  467. package/dist/cli/backend/src/services/people/people-directory.service.d.ts +239 -0
  468. package/dist/cli/backend/src/services/people/people-directory.service.d.ts.map +1 -0
  469. package/dist/cli/backend/src/services/people/people-directory.service.js +454 -0
  470. package/dist/cli/backend/src/services/people/people-directory.service.js.map +1 -0
  471. package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.d.ts +29 -1
  472. package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.d.ts.map +1 -1
  473. package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.js +40 -0
  474. package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.js.map +1 -1
  475. package/dist/cli/backend/src/services/runtime-fallback/runtime-fallback.types.d.ts +20 -7
  476. package/dist/cli/backend/src/services/runtime-fallback/runtime-fallback.types.d.ts.map +1 -1
  477. package/dist/cli/backend/src/services/runtime-fallback/runtime-fallback.types.js +24 -7
  478. package/dist/cli/backend/src/services/runtime-fallback/runtime-fallback.types.js.map +1 -1
  479. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  480. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +3 -0
  481. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  482. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts +22 -0
  483. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  484. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js +70 -0
  485. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  486. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +9 -0
  487. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  488. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +46 -0
  489. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  490. package/dist/cli/backend/src/services/slack/slack.service.d.ts +6 -0
  491. package/dist/cli/backend/src/services/slack/slack.service.d.ts.map +1 -1
  492. package/dist/cli/backend/src/services/slack/slack.service.js +8 -0
  493. package/dist/cli/backend/src/services/slack/slack.service.js.map +1 -1
  494. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  495. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +4 -0
  496. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  497. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts +3 -1
  498. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -1
  499. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.js.map +1 -1
  500. package/dist/cli/backend/src/types/index.d.ts +12 -1
  501. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  502. package/dist/cli/backend/src/types/index.js.map +1 -1
  503. package/dist/cli/backend/src/types/messaging.types.d.ts +11 -0
  504. package/dist/cli/backend/src/types/messaging.types.d.ts.map +1 -1
  505. package/dist/cli/backend/src/types/messaging.types.js.map +1 -1
  506. package/dist/cli/backend/src/types/v2/work-item.types.d.ts +13 -0
  507. package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  508. package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
  509. package/dist/cli/cli/src/utils/marketplace.d.ts +21 -0
  510. package/dist/cli/cli/src/utils/marketplace.d.ts.map +1 -1
  511. package/dist/cli/cli/src/utils/marketplace.js +35 -1
  512. package/dist/cli/cli/src/utils/marketplace.js.map +1 -1
  513. package/dist/cli/config/constants.d.ts +11 -0
  514. package/dist/cli/config/constants.d.ts.map +1 -1
  515. package/dist/cli/config/constants.js +11 -0
  516. package/dist/cli/config/constants.js.map +1 -1
  517. package/dist/cli/config/skills/marketplace-registry.d.ts +4 -4
  518. package/dist/cli/config/skills/marketplace-registry.js +4 -4
  519. package/frontend/dist/assets/{index-fc715ec3.css → index-5e967795.css} +1 -1
  520. package/frontend/dist/assets/{index-5b7af029.js → index-800118ca.js} +296 -296
  521. package/frontend/dist/index.html +2 -2
  522. package/package.json +1 -1
  523. package/packages/crewly-agent/src/runtime/tool-registry.test.ts +45 -0
  524. package/packages/crewly-agent/src/runtime/tool-registry.ts +40 -5
  525. package/packages/crewly-agent/src/test/isolated-home.test.ts +24 -0
@@ -63,6 +63,7 @@ import { pickTeamLead } from '../../utils/team.utils.js';
63
63
  import { MEMBER_MODEL_DEFAULT_CONSTANTS, ORCHESTRATOR_SESSION_NAME } from '../../constants.js';
64
64
  import { defaultModelForMember } from '../../utils/member-default-model.utils.js';
65
65
  import { formatError } from '../../utils/format-error.js';
66
+ import { describeEvidenceForReviewer } from '../task-pool/completion-evidence.service.js';
66
67
  import { DEFAULT_MAX_RETRIES, } from '../../types/v2/work-item.types.js';
67
68
  import { isMissionExecutable } from '../../types/v2/mission.types.js';
68
69
  import { getMissionPath } from '../v3/mission-paths.js';
@@ -355,6 +356,8 @@ export class EventToWorkItemBridge {
355
356
  description: `Worker ${sourceWI.target ?? '(unknown)'} reported done on ${sourceWI.id}. Verify the deliverable.\n` +
356
357
  `Accept: complete this item normally. Send it back: complete it with ` +
357
358
  `output {"verdict":"rejected","feedback":"<what is wrong>"} — the worker gets a retry with your feedback.` +
359
+ // #873: the reviewer reads the evidence first.
360
+ `\n${describeEvidenceForReviewer(sourceWI.output)}` +
358
361
  (sourceWI.requestId ? `\nIt belongs to ticket ${sourceWI.requestId}: ticket-check --ticket ${sourceWI.requestId} shows its acceptance criteria.` : '') +
359
362
  (typeof sourceWI.metadata?.['reviewerNote'] === 'string' ? `\n${sourceWI.metadata['reviewerNote']}` : ''),
360
363
  sourceWI,
@@ -1 +1 @@
1
- {"version":3,"file":"event-to-workitem-bridge.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/event-bus/event-to-workitem-bridge.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-to-workitem-bridge.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/event-bus/event-to-workitem-bridge.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Experiment windows and verdicts (issue #986).
3
+ *
4
+ * Windows: the baseline is the `windowDays` days that had settled when the
5
+ * change shipped (ending `lag` days before the ship day); the observation
6
+ * window is the `windowDays` days after the ship day (the ship day itself is
7
+ * a partial day and is left out). The result is due once the observation
8
+ * window's last day has settled (`lag` days later).
9
+ *
10
+ * Verdicts use simple rules with a minimum volume:
11
+ * - counts (clicks, impressions, sessions, events): equal-length Poisson
12
+ * comparison, z = (b − a) / √(a + b), with at least MIN_COUNT_VOLUME events
13
+ * across both windows;
14
+ * - ctr: two-proportion z-test, with enough impressions in each window and
15
+ * enough clicks overall;
16
+ * - position: Welch's t on the daily positions, with enough days that had
17
+ * impressions in each window (lower is better).
18
+ * |z| ≥ SIGNIFICANCE_Z in the hypothesis's direction → worked; enough volume
19
+ * but no such change → didn't; too little volume → inconclusive.
20
+ *
21
+ * specs/experiment-cards.md
22
+ *
23
+ * @module services/experiments/experiment-verdict
24
+ */
25
+ import type { ExperimentDirection, ExperimentMeasure, ExperimentSource, ExperimentVerdict, Measurement } from '../../types/experiment.types.js';
26
+ /** A date range (inclusive, YYYY-MM-DD). */
27
+ export interface DateRange {
28
+ start: string;
29
+ end: string;
30
+ }
31
+ /** The two windows of an experiment and when it can be measured. */
32
+ export interface ExperimentWindows {
33
+ baseline: DateRange;
34
+ observation: DateRange;
35
+ /** ISO time the result can be fetched (observation end + lag, start of the next day UTC) */
36
+ dueAt: string;
37
+ }
38
+ /** A verdict with its numbers. */
39
+ export interface VerdictOutcome {
40
+ verdict: ExperimentVerdict;
41
+ /** One line with the numbers */
42
+ reason: string;
43
+ /** Test statistic (z or Welch t), when there was enough volume to compute it */
44
+ statistic?: number;
45
+ /** Relative change of the headline value (null when the baseline is 0 / unknown) */
46
+ lift?: number | null;
47
+ }
48
+ /**
49
+ * Baseline / observation windows and the due time for a shipped experiment.
50
+ *
51
+ * @param shippedAt - When the change went live (ISO)
52
+ * @param windowDays - Days per window
53
+ * @param source - Metric source (sets the lag)
54
+ * @returns Windows
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * experimentWindows('2026-10-10T15:00:00Z', 14, 'gsc');
59
+ * // baseline 2026-09-24..2026-10-07, observation 2026-10-11..2026-10-24, due 2026-10-28
60
+ * ```
61
+ */
62
+ export declare function experimentWindows(shippedAt: string, windowDays: number, source: ExperimentSource): ExperimentWindows;
63
+ /**
64
+ * The direction a hypothesis means when it doesn't say: lower is better for position.
65
+ *
66
+ * @param measure - Measure
67
+ * @returns Default direction
68
+ */
69
+ export declare function defaultDirection(measure: ExperimentMeasure): ExperimentDirection;
70
+ /**
71
+ * Format a number for a verdict line.
72
+ *
73
+ * @param v - Value
74
+ * @param measure - Measure (ctr as a percentage, position to one decimal)
75
+ * @returns Text
76
+ */
77
+ export declare function formatValue(v: number | null | undefined, measure: ExperimentMeasure): string;
78
+ /**
79
+ * Label a measured experiment.
80
+ *
81
+ * @param measure - What was measured
82
+ * @param direction - Which way the hypothesis says it moves
83
+ * @param baseline - Baseline window
84
+ * @param result - Observation window
85
+ * @returns Verdict, one-line reason and the statistic
86
+ */
87
+ export declare function decideVerdict(measure: ExperimentMeasure, direction: ExperimentDirection, baseline: Measurement, result: Measurement): VerdictOutcome;
88
+ //# sourceMappingURL=experiment-verdict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experiment-verdict.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/experiments/experiment-verdict.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAIhJ,4CAA4C;AAC5C,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,oEAAoE;AACpE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,SAAS,CAAC;IACvB,4FAA4F;IAC5F,KAAK,EAAE,MAAM,CAAC;CACf;AAED,kCAAkC;AAClC,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAyBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,iBAAiB,CAWpH;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,mBAAmB,CAEhF;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAK5F;AA+DD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,mBAAmB,EAC9B,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,WAAW,GAClB,cAAc,CA2DhB"}
@@ -0,0 +1,226 @@
1
+ /**
2
+ * Experiment windows and verdicts (issue #986).
3
+ *
4
+ * Windows: the baseline is the `windowDays` days that had settled when the
5
+ * change shipped (ending `lag` days before the ship day); the observation
6
+ * window is the `windowDays` days after the ship day (the ship day itself is
7
+ * a partial day and is left out). The result is due once the observation
8
+ * window's last day has settled (`lag` days later).
9
+ *
10
+ * Verdicts use simple rules with a minimum volume:
11
+ * - counts (clicks, impressions, sessions, events): equal-length Poisson
12
+ * comparison, z = (b − a) / √(a + b), with at least MIN_COUNT_VOLUME events
13
+ * across both windows;
14
+ * - ctr: two-proportion z-test, with enough impressions in each window and
15
+ * enough clicks overall;
16
+ * - position: Welch's t on the daily positions, with enough days that had
17
+ * impressions in each window (lower is better).
18
+ * |z| ≥ SIGNIFICANCE_Z in the hypothesis's direction → worked; enough volume
19
+ * but no such change → didn't; too little volume → inconclusive.
20
+ *
21
+ * specs/experiment-cards.md
22
+ *
23
+ * @module services/experiments/experiment-verdict
24
+ */
25
+ import { EXPERIMENT_CONSTANTS } from '../../constants.js';
26
+ const DAY_MS = 24 * 60 * 60 * 1000;
27
+ /**
28
+ * Format a UTC date as YYYY-MM-DD.
29
+ *
30
+ * @param ms - Epoch millis
31
+ * @returns Day string
32
+ */
33
+ function day(ms) {
34
+ return new Date(ms).toISOString().slice(0, 10);
35
+ }
36
+ /**
37
+ * Midnight UTC of the day an instant falls on.
38
+ *
39
+ * @param iso - ISO time
40
+ * @returns Epoch millis
41
+ * @throws Error on an invalid time
42
+ */
43
+ function dayStart(iso) {
44
+ const t = Date.parse(iso);
45
+ if (Number.isNaN(t))
46
+ throw new Error(`Invalid time: ${iso}`);
47
+ return Math.floor(t / DAY_MS) * DAY_MS;
48
+ }
49
+ /**
50
+ * Baseline / observation windows and the due time for a shipped experiment.
51
+ *
52
+ * @param shippedAt - When the change went live (ISO)
53
+ * @param windowDays - Days per window
54
+ * @param source - Metric source (sets the lag)
55
+ * @returns Windows
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * experimentWindows('2026-10-10T15:00:00Z', 14, 'gsc');
60
+ * // baseline 2026-09-24..2026-10-07, observation 2026-10-11..2026-10-24, due 2026-10-28
61
+ * ```
62
+ */
63
+ export function experimentWindows(shippedAt, windowDays, source) {
64
+ const ship = dayStart(shippedAt);
65
+ const lag = EXPERIMENT_CONSTANTS.SOURCE_LAG_DAYS[source] ?? 0;
66
+ const baseEnd = ship - lag * DAY_MS;
67
+ const obsStart = ship + DAY_MS;
68
+ const obsEnd = ship + windowDays * DAY_MS;
69
+ return {
70
+ baseline: { start: day(baseEnd - (windowDays - 1) * DAY_MS), end: day(baseEnd) },
71
+ observation: { start: day(obsStart), end: day(obsEnd) },
72
+ dueAt: new Date(obsEnd + (lag + 1) * DAY_MS).toISOString(),
73
+ };
74
+ }
75
+ /**
76
+ * The direction a hypothesis means when it doesn't say: lower is better for position.
77
+ *
78
+ * @param measure - Measure
79
+ * @returns Default direction
80
+ */
81
+ export function defaultDirection(measure) {
82
+ return EXPERIMENT_CONSTANTS.LOWER_IS_BETTER.includes(measure) ? 'decrease' : 'increase';
83
+ }
84
+ /**
85
+ * Format a number for a verdict line.
86
+ *
87
+ * @param v - Value
88
+ * @param measure - Measure (ctr as a percentage, position to one decimal)
89
+ * @returns Text
90
+ */
91
+ export function formatValue(v, measure) {
92
+ if (v === null || v === undefined || !Number.isFinite(v))
93
+ return 'n/a';
94
+ if (measure === 'ctr')
95
+ return `${(v * 100).toFixed(2)}%`;
96
+ if (measure === 'position')
97
+ return v.toFixed(1);
98
+ return String(Math.round(v * 100) / 100);
99
+ }
100
+ /**
101
+ * Relative change.
102
+ *
103
+ * @param from - Baseline
104
+ * @param to - Result
105
+ * @returns (to − from) / from, or null when from is 0 / missing
106
+ */
107
+ function liftOf(from, to) {
108
+ if (from === null || from === undefined || to === null || to === undefined || from === 0)
109
+ return null;
110
+ return (to - from) / from;
111
+ }
112
+ /**
113
+ * "+40%" / "−12%" / "".
114
+ *
115
+ * @param lift - Relative change
116
+ * @returns Text with a leading space, or empty
117
+ */
118
+ function liftText(lift) {
119
+ if (lift === null)
120
+ return '';
121
+ const pct = Math.round(lift * 1000) / 10;
122
+ return ` (${pct >= 0 ? '+' : ''}${pct}%)`;
123
+ }
124
+ /**
125
+ * Label from a statistic: worked when it is significant in the hypothesis's direction.
126
+ *
127
+ * @param stat - z or t (positive = the metric rose)
128
+ * @param direction - Hypothesis direction
129
+ * @returns worked / didnt and the wording
130
+ */
131
+ function judge(stat, direction) {
132
+ const z = EXPERIMENT_CONSTANTS.SIGNIFICANCE_Z;
133
+ const wanted = direction === 'increase' ? stat >= z : stat <= -z;
134
+ if (wanted)
135
+ return { verdict: 'worked', words: `a real ${direction}` };
136
+ const wrongWay = direction === 'increase' ? stat <= -z : stat >= z;
137
+ return { verdict: 'didnt', words: wrongWay ? 'it moved the wrong way' : 'no real change' };
138
+ }
139
+ /**
140
+ * Daily values of the days that had volume.
141
+ *
142
+ * @param m - Measurement
143
+ * @returns Values
144
+ */
145
+ function dailyValues(m) {
146
+ return m.days.filter((d) => d.volume > 0 && d.value !== null && Number.isFinite(d.value)).map((d) => d.value);
147
+ }
148
+ /**
149
+ * Mean and sample variance.
150
+ *
151
+ * @param xs - Values (at least 2)
152
+ * @returns Mean and variance
153
+ */
154
+ function meanVar(xs) {
155
+ const mean = xs.reduce((a, b) => a + b, 0) / xs.length;
156
+ const variance = xs.reduce((a, b) => a + (b - mean) ** 2, 0) / Math.max(1, xs.length - 1);
157
+ return { mean, variance };
158
+ }
159
+ /**
160
+ * Label a measured experiment.
161
+ *
162
+ * @param measure - What was measured
163
+ * @param direction - Which way the hypothesis says it moves
164
+ * @param baseline - Baseline window
165
+ * @param result - Observation window
166
+ * @returns Verdict, one-line reason and the statistic
167
+ */
168
+ export function decideVerdict(measure, direction, baseline, result) {
169
+ const C = EXPERIMENT_CONSTANTS;
170
+ if (measure === 'ctr') {
171
+ const n1 = baseline.impressions ?? baseline.volume;
172
+ const n2 = result.impressions ?? result.volume;
173
+ const c1 = baseline.clicks ?? 0;
174
+ const c2 = result.clicks ?? 0;
175
+ const head = `CTR ${formatValue(n1 ? c1 / n1 : null, measure)} → ${formatValue(n2 ? c2 / n2 : null, measure)}`;
176
+ const lift = liftOf(n1 ? c1 / n1 : null, n2 ? c2 / n2 : null);
177
+ if (n1 < C.MIN_IMPRESSIONS_PER_WINDOW || n2 < C.MIN_IMPRESSIONS_PER_WINDOW || c1 + c2 < C.MIN_CTR_CLICKS) {
178
+ return {
179
+ verdict: 'inconclusive',
180
+ reason: `${head}: too little data (${n1} / ${n2} impressions, ${c1 + c2} clicks; need ${C.MIN_IMPRESSIONS_PER_WINDOW} impressions per window and ${C.MIN_CTR_CLICKS} clicks)`,
181
+ lift,
182
+ };
183
+ }
184
+ const p = (c1 + c2) / (n1 + n2);
185
+ const se = Math.sqrt(p * (1 - p) * (1 / n1 + 1 / n2));
186
+ const stat = se > 0 ? (c2 / n2 - c1 / n1) / se : 0;
187
+ const j = judge(stat, direction);
188
+ return { verdict: j.verdict, reason: `${head}${liftText(lift)}, z = ${stat.toFixed(2)}: ${j.words}`, statistic: stat, lift };
189
+ }
190
+ if (measure === 'position') {
191
+ const a = dailyValues(baseline);
192
+ const b = dailyValues(result);
193
+ const head = `Average position ${formatValue(baseline.total, measure)} → ${formatValue(result.total, measure)}`;
194
+ const lift = liftOf(baseline.total, result.total);
195
+ const imps1 = baseline.impressions ?? baseline.volume;
196
+ const imps2 = result.impressions ?? result.volume;
197
+ if (a.length < C.MIN_POSITION_DAYS || b.length < C.MIN_POSITION_DAYS || imps1 < C.MIN_IMPRESSIONS_PER_WINDOW || imps2 < C.MIN_IMPRESSIONS_PER_WINDOW) {
198
+ return {
199
+ verdict: 'inconclusive',
200
+ reason: `${head}: too little data (${a.length} / ${b.length} days with impressions, ${imps1} / ${imps2} impressions; need ${C.MIN_POSITION_DAYS} days and ${C.MIN_IMPRESSIONS_PER_WINDOW} impressions per window)`,
201
+ lift,
202
+ };
203
+ }
204
+ const s1 = meanVar(a);
205
+ const s2 = meanVar(b);
206
+ const se = Math.sqrt(s1.variance / a.length + s2.variance / b.length);
207
+ const diff = s2.mean - s1.mean;
208
+ const stat = se > 0 ? diff / se : diff === 0 ? 0 : Math.sign(diff) * Infinity;
209
+ const j = judge(stat, direction);
210
+ const statText = Number.isFinite(stat) ? stat.toFixed(2) : stat > 0 ? '∞' : '−∞';
211
+ return { verdict: j.verdict, reason: `${head}, t = ${statText}: ${j.words}`, statistic: stat, lift };
212
+ }
213
+ // Counts: clicks, impressions, sessions, events.
214
+ const a = baseline.total ?? 0;
215
+ const b = result.total ?? 0;
216
+ const min = C.MIN_COUNT_VOLUME[measure] ?? 0;
217
+ const head = `${measure} ${formatValue(a, measure)} → ${formatValue(b, measure)}`;
218
+ const lift = liftOf(a, b);
219
+ if (a + b < min) {
220
+ return { verdict: 'inconclusive', reason: `${head}: too little data (${a + b} across both windows; need ${min})`, lift };
221
+ }
222
+ const stat = (b - a) / Math.sqrt(a + b);
223
+ const j = judge(stat, direction);
224
+ return { verdict: j.verdict, reason: `${head}${liftText(lift)}, z = ${stat.toFixed(2)}: ${j.words}`, statistic: stat, lift };
225
+ }
226
+ //# sourceMappingURL=experiment-verdict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experiment-verdict.js","sourceRoot":"","sources":["../../../../../../backend/src/services/experiments/experiment-verdict.ts"],"names":[],"mappings":"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"}